Многоядерные процессоры: работает ли каждое ядро ​​с полной тактовой частотой или с некоторой долей полной тактовой частоты?

Допустим, у вас есть один (1) 8-ядерный процессор Intel / AMD x86-64 bit 2 ГГц.

Каждое из 8 ядер работает на полной частоте 2 ГГц или каждое ядро ​​работает на некоторой части полной тактовой частоты 2 ГГц (например, 250 МГц)?


person GregH    schedule 12.04.2010    source источник


Ответы (4)


При полной загрузке (то есть, когда у вас есть программы, которые работают, занимая все доступное процессорное время на всех ядрах), все ядра будут работать с номинальной скоростью (например, 8-ядерный процессор 2 ГГц работает со всеми 8 ядрами на 2 ГГц).

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

  1. Технология энергосбережения может индивидуально отключать бездействующие ядра для экономии энергии при низкой нагрузке (как это часто бывает на 8-ядерных машинах).
  2. Технология энергосбережения может также "разогнать" весь процессор для экономии энергии.
  3. Intel TurboBoost и будущий Turbo CORE от AMD позволяют одному из ядер динамически разгоняться в очень распространенном случае, когда один поток или процесс привязывает процессор.

Таким образом, в целом процессор будет работать на полной скорости, но скорость может меняться динамически.

person Daniel G    schedule 12.04.2010

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

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

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

person Jack    schedule 12.04.2010
comment
тактовая частота распределяется между всем чипом, на самом деле звучит так, как будто каждый из них должен получить по кусочку :-) Возможно, сигнал 2 ГГц, подаваемый в каждое ядро, было бы лучше, но +1 в любом случае, поскольку вы правы. Мне нравится концепция №2 - в чем будет реальный смысл многоядерных процессоров, если каждое новое будет тормозить другие? - person paxdiablo; 12.04.2010
comment
Но если он также ДЕЛЯЕТ часы, это означает, что всякий раз, когда вы увеличиваете количество ядер, вы также увеличиваете задержку переключения контекста ... что также хуже. Нет? - person GregH; 12.04.2010
comment
Часы - это не шина, это не что-то, что используется или потребляется ядрами, это электрический сигнал, используемый для синхронизации всех блоков внутри ЦП. - person Jack; 12.04.2010
comment
Я хотел бы получить объяснения по поводу отрицательных голосов, а не только о троллинге. - person Jack; 12.04.2010
comment
Кто-то проголосовал против. С моей сверхспособностью видеть голоса как за, так и против, я вижу это как + 4 / -1. Что касается того, почему, боюсь, мои сверхспособности не простираются так далеко :-) - person paxdiablo; 12.04.2010
comment
Я предполагаю, что из-за того, что вопрос явно касался скорости, а не физического тактового сигнала, люди проголосовали против, потому что на это ответила только ваша боковая заметка. Я не говорю, что вам нужно читать между строк, но я думаю, что здесь преобладает контекст / разговорный язык. - person underscore_d; 06.10.2015

Я полагаю, что на полной мощности они все должны работать на частоте 2 ГГц. Однако это не создает точно процессор с тактовой частотой 16 ГГц, поскольку однопоточная однопроцессная программа, работающая на 100% ЦП, сможет использовать только один. Тем не менее, 8 ядер 2 ГГц могут быть лучше, чем одно ядро ​​16 ГГц, когда рабочая нагрузка хорошо разделена, поскольку каждое ядро ​​получает свой собственный кэш и т. Д. С более практической точки зрения наличие 8 ядер 2 ГГц означает, что если одна программа работает на 100%, она не замедлит вашу систему до обхода (если она не использует все 8 ядер).

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

person Joey Adams    schedule 12.04.2010
comment
Итак, если у вас, по сути, 8 процессоров по 2 ГГц, но они ДЕЛАЮТ одинаковую частоту, разве тогда, когда вы увеличиваете количество ядер, вы также увеличиваете задержку переключения контекста? - person GregH; 12.04.2010
comment
Не уверен, что понимаю вопрос. Одним из преимуществ наличия нескольких ядер / процессоров является то, что требуется меньше переключений контекста (или они разбросаны больше). Имейте в виду, что я ни в коем случае не эксперт в этом вопросе. - person Joey Adams; 12.04.2010
comment
@GregH, не уверен в переключении контекста, но да, ввод-вывод между ядрами становится узким местом, когда вы увеличиваете количество ядер, поэтому было так сложно выйти за пределы 16 ядер. - person Michael Aaron Safyan; 12.04.2010

В Sandy Bridge и Ivy Bridge разные ядра не могут одновременно работать с разной скоростью. Кэш-шина L3 работает с той же тактовой частотой, что и ядра, поэтому для предотвращения проблем с синхронизацией все они должны либо работать с этой скоростью, либо отключаться.

Источник: http://www.anandtech.com/show/3922/intels-sandy-bridge-architecture-exposed/4

person Pr0methean    schedule 07.10.2014