24

Возможный дубликат:
В чем разница между многоядерными и многопроцессорными системами?

В чем разница между MultiCore и MultiProcessor, пожалуйста?

7 ответов7

28

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

Многопроцессорная система содержит более одного такого процессора, что позволяет им работать параллельно. Это называется SMP или Symmetric MultiProcessing.

Многоядерный процессор имеет несколько исполнительных ядер на одном процессоре. Теперь, это может означать разные вещи в зависимости от конкретной архитектуры, но в основном это означает, что определенное подмножество компонентов ЦП дублируется, так что несколько "ядер" могут работать параллельно в отдельных операциях. Это называется CMP, многопроцессорная обработка на уровне чипа.

Например, многоядерный процессор может иметь отдельный кэш L1 и модуль выполнения для каждого ядра, тогда как он имеет общий кэш L2 для всего процессора. Это означает, что, хотя процессор имеет один большой пул более медленной кэш-памяти, он имеет отдельные модули быстрой памяти и арифметические / логические блоки для каждого из нескольких ядер. Это позволило бы каждому ядру выполнять операции одновременно с другими.

Существует еще одно подразделение, называемое SMT, одновременная многопоточность. Вот где дублируется еще меньшее подмножество компонентов процессора или ядра. Например, ядро SMT может иметь дублированные ресурсы планирования потоков, так что ядро выглядит как две отдельные "процессоры" для операционной системы, даже если оно имеет только один набор исполнительных блоков. Одна из распространенных реализаций этого - Intel Hyperthreading.

Таким образом, вы могли бы иметь многопроцессорную, многоядерную, многопоточную систему. Что-то вроде двухъядерных, многопоточных процессоров даст вам 2x4x2 = 16 логических процессоров с точки зрения операционной системы.

Разные рабочие нагрузки выигрывают от разных настроек. Однопоточная рабочая нагрузка, выполняемая в основном на одноцелевой машине, выигрывает от очень быстрой одноядерной системы / процессора. Рабочие нагрузки, которые получают преимущества от систем с высокой степенью параллелизации, таких как установки SMP / CMP / SMT, включают в себя те, которые имеют множество мелких деталей, с которыми можно работать одновременно, или системы, которые используются для множества вещей одновременно, например, рабочий стол, используемый для просматривайте веб-страницы, играйте во флэш-игры и смотрите видео одновременно. В целом, в наши дни аппаратное обеспечение все больше склоняется к высокопараллельным архитектурам, так как большинство исходных скоростей для одного процессора / ядра "достаточно быстрые" для обычных рабочих нагрузок большинства моделей.

18

Все дали достаточно объяснений. Тем не менее, если вы не понимаете. Посмотри на это:

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

2

многоядерный процессор содержит два или более ядер в одном физическом пакете.

Многопроцессорная система - это система, которая содержит более одного физического процессора. каждый из этих процессоров может содержать несколько ядер (как ответил WoodE).

Что касается того, как они сравнивают:
в многоядерном процессоре каждое из ядер, как правило, медленнее (в необработанном виде), чем быстрый одноядерный процессор. Кроме того, все ядра в этом процессоре имеют одинаковую системную шину и основную память. Однако для большинства ежедневных задач это не является заметной проблемой, и для большинства пользователей система будет чувствовать себя быстрее, поскольку они могут выполнять более простые задачи одновременно.

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

Многопроцессорная многоядерная система была бы смесью плюсов и минусов каждого.

Кроме того, по мере того, как будет разрабатываться больше многопоточных программ (программ, способных заставить процессор работать одновременно над несколькими задачами), преимущества многоядерного процессора будут уменьшаться.

2

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

Многоядерный процессор имеет несколько процессорных ядер на одном чипе, по сути, несколько процессоров на одном бите кремния. Чтобы считаться многоядерным, каждое ядро должно быть по сути полноценным процессором - тот факт, что даже самые ранние чипы Pentium имели несколько целочисленных вычислительных блоков (что позволяет более эффективную конвейеризацию), не учитывается.

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

Плюсы и минусы могут быть сложными, так как нужно учитывать множество переменных, но есть некоторые заметные различия:

  • охлаждение: двухъядерный процессор часто будет производить меньше отработанного тепла, чем два отдельных одноядерных блока одной и той же спецификации, и для него потребуется только один радиатор и вентилятор, который обычно будет дешевле (хотя все тепло находится в одном месте, а не распространяется по всей поверхности). два, которые могут потребовать более высокотехнологичных решений для охлаждения)
  • скорость из-за локальности кэша: находясь на одном чипе, можно повысить эффективность когерентности / совместного использования кэша L2 (или L3), так как ядрам не требуется координировать работу на большем расстоянии по внешней шине памяти
  • разница в стоимости из-за простоты: многоядерное решение не требует нескольких разъемов на материнской плате и т. д.
1

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

1

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

Когда дело доходит до плюсов и минусов каждого, это становится немного сложнее.

Изменить: исправление орфографии.

1

Multicore - это несколько ядер всего за один кристалл. Мультипроцессоры - это несколько матриц.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .