что означает 2 ядра 4 темы в процессоре?

22

Я хотел знать, что означает 2 ядра 4 темы о процессоре? Я говорю об этом процессоре, который у меня есть

http://ark.intel.com/products/47341/Intel-Core-i5-520M-Processor-3M-Cache-2_40-GHz

Сначала я думал, что у i5 4 ядра, но я ошибаюсь. Мое понимание потока - это кусок кода, который может выполняться одновременно (одновременно) с другими потоками. Итак, что означает 4 темы в этой спецификации? Отличается ли это от программных тем. Отличается ли количество потоков в нем от потока программы, который мы создаем. Если у него всего 2 ядра, то правильно ли, что вы можете запускать только 2 параллельные программы, даже если у него 4 потока?

user734861
источник
2
После того, как вы проведете некоторое предварительное исследование en.wikipedia.org/wiki/Hyper-threading, оно станет более понятным для вас. У вашего процессора действительно есть возможность выполнять 4 инструкции за раз. Вы должны понимать, что даже одноядерный процессор способен запускать несколько программ. Он просто НЕ имеет возможности делать 2 инструкции одновременно. Вам не ясно, как на самом деле работает программа.
Ramhound
@Ramhound Вы предположительно имели в виду 4 потока инструкций . Поскольку i5 является суперскалярным, он может выполнять несколько команд параллельно даже из одного потока команд. Одновременная многопоточность позволяет преобразовывать параллелизм на уровне потоков в параллелизм на уровне команд, увеличивая использование ресурсов выполнения.
Пол А. Клейтон
Я свел к минимуму свое утверждение: количество инструкций за такт - это разница между Pentium D и 4-м Core i5 за вычетом размера кристалла, а также требования к питанию, разумеется (снова упрощенные)
Ramhound
1
Возможные дубликаты Hyper-Threading и Dual-Core, в чем разница?
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件
Этот ответ может дать назидание: superuser.com/questions/1198459/…
Джейми Ханрахан,

Ответы:

15

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


источник
> «Помимо этого он переключается на высоких скоростях между процессами». Что делает переключение ч / б процесс быстрее?
Talespin_Kit 13.09.16
@Talespin_Kit Я думаю, что @ Slowki имел в виду способ использования CPU для работы с несколькими процессами, поэтому он не ограничен четырьмя вещами. Это 4 темы о многих вещах.
Мэтт Сефтон
3

Я не уверен в вашем уровне знаний в области компьютерной архитектуры, однако упомянутый вами Core i5 реализует форму многопоточности, известную как одновременная многопоточность (SMT). Торговая марка Intel для реализации SMT - гиперпоточность.

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

SMT отличается от философии переключения контекста для многопоточности тем, что на самом деле два или более потоков выполняются одновременно на одном процессоре. Хотя реализация может варьироваться, основная цель состоит в том, чтобы использовать функциональные блоки в процессоре, которые работают на холостом ходу, если выполнялся только один поток, а также использовать суперскалярную природу процессора. Вы можете представить себе временную многопоточность как временное разделение ресурсов процессоров, а SMT - как пространственное разделение ресурсов.

Подробный анализ можно найти в статье Туллсена за 1995 год:

http://dl.acm.org/citation.cfm?id=224449

оборот
источник
0

«Если у него всего 2 ядра, то правильно ли, что вы можете запускать только 2 параллельные программы, даже если у него 4 потока?» Если он имеет 2 ядра, вычисление делится на 2 = параллелизм. Однако если в вашей системе есть гиперпоточность, она может выполнять 2 вычисления в одном и том же ядре, поэтому одно и то же ядро ​​отображается для ОС как 2 ядра ... логические ядра.

Тисок
источник
0

Возьмите количество потоков и разделите его на количество ядер, и это даст вам количество потоков, которые могут быть запущены одновременно для каждого ядра процессора.

В более ранние времена [в более ранних моделях Intel] гиперпоточность была ограничена 1 ядром, работающим 2 потоками одновременно, ИЛИ несколькими ядрами, выполняющими 1 набор инструкций (иначе говоря, поток) на ядро ​​(довольно неэффективно, если вы спросите меня). Но с большей вычислительной мощностью и последующими разработками, такими как ваш процессор i5, у вас есть то, что я люблю называть, многоядерный гиперпоточный процессор, который имеет несколько ядер, выполняющих несколько наборов команд (иначе говоря, потоков) на ядро.

В вашем случае 1 ядро ​​получает 2 потока, поэтому, когда вы выполняете математику, у вас есть в общей сложности = 4 набора инструкций (потоков).

Другой пример: количество ядер = 4, количество потоков = 8 | 8/4 = 2, поэтому каждое ядро ​​обрабатывает 2 потока одновременно (не уверен, какая модель процессора это делает, но я почти уверен, что один существует).

Надеюсь, это поможет моему другу! Удачных вычислений!

Источник: PEARSON IT-сертификация CompTIA A + Examp Cram Cert. Руководство

khoreyrs
источник