Почему мой Intel i7-920 отображает 8 ядер вместо 4 ядер?

20

Когда я иду в диспетчер задач, я вижу 8 процессоров, но я знаю, что у меня есть 4. Почему?

альтернативный текст

Патрик Дежарден
источник

Ответы:

39

Гиперпоточность .

Гиперпоточность отвлекает переключение задач из операционных систем. Обычно операционная система имеет дело с планированием процессов на разных процессорах, а также с гарантией того, что каждая задача, выполняемая в системе, имеет свою долю, но не слишком много (если что-то еще этого хочет) ЦП.

Гиперпоточность - это способ отвлечь второй процесс совместного использования задач от операционной системы, по крайней мере, на некоторое время. Причина в том, что процессор может переключаться между задачами гораздо быстрее, чем операционная система может сказать это. Таким образом, представив два логических процессора, когда фактически имеется только один, операционная система должна выполнять вдвое меньше операций переключения задач, но больше планировать ЦП. Но в результате якобы получилась более быстрая машина в многозадачных операциях.

Фактические преимущества этого сильно различаются в зависимости от рабочей нагрузки, которую вы делаете. Большинству людей не вредно оставлять его или выключать. 4 темы против 8 - все равно что выбирать между Ferrari или Lamborghini для домашних пользователей.

Однако в серверных сценариях это может иметь большое значение. Например, гипервизоры часто могут значительно увеличить скорость за счет использования гиперпоточности, поскольку у них очень строгие требования к планированию ЦП.

Однако SQL-серверы часто не получают этого увеличения, потому что зачастую лучше иметь четыре «больших» потока, чем 8 «средних» потоков.

Марк Хендерсон
источник
3
Как высококвалифицированный Супер Пользователь, я предлагаю вам вернуться к этому ответу и добавить больше деталей . Ссылка не помогает объяснить, что такое Hyperthreading или что он делает.
Джеймс Мерц
11

То, что мой друг гиперпоточен .

Гиперпоточность - это форма одновременной многопоточности, которая использует суперскалярную архитектуру. Несколько инструкций, работающих на отдельных данных параллельно. Они представляются ОС как два процессора, поэтому ОС может планировать два процесса одновременно . Кроме того, два или более процессов могут использовать одни и те же ресурсы. В случае сбоя одного процесса ресурсы могут быть легко перераспределены. ОС должна поддерживать одновременную многопоточность (SMT).

Джеймс Мерц
источник
1
«Красота» спорна. В некоторых случаях гиперпоточность разрушает производительность.
MDMarra
Все зависит от того, что вы делаете
предзнаменование
Вы, ребята, счастливы сейчас? : D (не пытался вызвать войну троллей или что-то еще)
1
"Это, мой друг, пронизывает всю красоту!" :)
Я пойду с версией красоты. Хотя я слышал сообщения о негативном влиянии на производительность в некоторых обстоятельствах, я не смог повторить. Гиперпоточность всегда была быстрее для меня. Даже в его старых формах.
Брайан Кноблаух
6

Семейство i7 - это четырехъядерный процессор с 8 потоками. Обычные четырехъядерные процессоры имеют 4 потока, и, поскольку включена поддержка многопоточности, ваш компьютер распознает эти 8 потоков как процессоры.

tcables
источник