в разговоре с администратором сети я упомянул, что моя машина была двухъядерной. Он сказал мне, что это не так. Я поднял диспетчер задач, пошел на вкладку perfomance и показал ему, что есть два отдельных графика использования процессора. У меня дома есть четырехъядерная машина, и у нее четыре графика. Он сказал, что было два графика на этой конкретной машине из-за гиперпоточности. Раньше у меня был процессор hyper-thread pentium 4, но я никогда полностью не понимал, что он имел в виду. Так в чем же разница между Hyper threading и dual-core? И как ты скажешь, какая у тебя есть?
В чем разница между Hyper-threading и несколькими ядрами?
3 ответа
Hyper-threading предоставляет несколько логическое ядер для одного физическая ядра процессора. Проще говоря, hyper-threading делает переключения контекста более эффективным для каждого ядра процессора.
двухъядерные чипы, с другой стороны, на самом деле имеют два физических ядра процессора, которые могут выполнять разные процессы одновременно.
есть также другие многоядерные чипы, которые имеют много более двух ядер,и -- as Svish упоминалось-последние многоядерные предложения Intel также поддерживают Hyper-threading на всех ядрах.
вы можете использовать утилиту идентификации процессора, как CPU-Z чтобы определить, сколько ядер у вас есть. Как вы можете видеть в нижней части экрана, процессор в этом случае имеет 2 физических ядра. Если количество потоков больше, чем количество ядер, гиперпоточность включена. На сегодняшний день все ориентированные на потребителя процессоры с Hyper-threading имеют 2 потока на ядро, так что если HT включено, количество потоков будет в 2 раза больше количества ядер.
Если у вас есть процессор Intel, вы можете скачать Intel CPU ID utility вместо.
Hyper-threading, где ваш процессор делает вид, что 2 физических процессорных ядер, но имеет только 1 и некоторые дополнительные нежелательной.
точка hyperthreading является то, что много раз, когда вы выполняете код в процессоре, есть части процессора, который простаивает. Включив дополнительный набор регистров процессора, процессор может действовать так, как будто у него два ядра, и, таким образом, использовать все части процессора параллельно. Когда 2 ядра оба должны использовать один компонент процессора, то одно ядро в конечном итоге ждет, конечно. Именно поэтому он не может заменить двухъядерные и такие процессоры.
Читайте также: этот вопрос
Hyperthreading является более дешевой и медленной альтернативой двухъядерным
TODO это медленнее на сколько процентов в среднем в реальных приложениях?
Hyperthreading возможно, потому что современные ядра с одним процессором уже выполняют несколько инструкций одновременно с конвейером командhttps://en.wikipedia.org/wiki/Instruction_pipelining
конвейер команд представляет собой разделение функций внутри одной сердечник для того чтобы обеспечить что каждая из частей цепи использована в любой момент времени: память чтения, расшифровывая инструкции, исполняя инструкции, etc.
Hyperthreading разделяет функции дальше с помощью:
один бэкэнд, который фактически запускает инструкции со своим конвейером.
Dual core имеет два движка, что объясняет большую стоимость и производительность.
два передних конца, которые принимают два потока инструкции и упорядочить их таким образом, чтобы максимизировать использование конвейерной одного бэкэнда, избегая опасности.
Dual core также будет иметь 2 передних конца, по одному для каждого бэкенда.
есть крайние случаи, когда переупорядочение команд не дает никакой пользы, что делает hyperthreading бесполезным. Но это дает значительное улучшение в среднем.
два потока в одном ядре доля дальнейшие уровни кэша (Тодо сколько? L1?) чем двух разных ядер, которые разделяют только П3: /q/ssh-to-a-host-with-known-but-non-static-variable-ip-156665/"https://www.youtube.com/watch?v=wnS50lJicXc в" rel="noreferrer на nofollow">https://www.youtube.com/watch?v=wnS50lJicXc
на руководство Intel Том 3 руководство по программированию системы-325384-056US сентябрь 2015 8.7 "многопоточности архитектуре" описывает ХТ кратко. Он содержит следующее диаграмма:
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]