Как частота процессора влияет на производительность?

1

Как частота процессора влияет на производительность? Если у нас будет два процессора с одинаковой архитектурой, но с разной скоростью, как они будут работать?

1) 8-ядерный процессор Ivy Bridge @ 2.4
2) 8-ядерный процессор Ivy Bridge @ 2.7

Как я могу математически рассчитать разницу в производительности?

Можно сказать: 2.7 & gt; 2,4 на 12%. Так будет ли процессор на 2,4% медленнее, чем на 2,7?

SkyRipper
источник
частота является лишь одним фактором производительности процессора. Да, процессор с частотой 2,7 ГГц «быстрее», но это не значит, что все программы, работающие на нем, будут быстрее.
Keltari
Процессор с частотой 2,7 ГГц на 11,111111111111111111111111111111% быстрее, чем процессор с частотой 2,4 ГГц. Все это означает, что тактовый сигнал будет срабатывать 11,111111111111111111111111111111% так часто. Я не собираюсь пытаться подсчитать, сколько тактовых сигналов происходит за одну минуту, но это действительно даст представление. Это НЕ означает, что 2,7 ГГц может выполнять 11,111111111111111111111111111111% дополнительных команд x86. Единственное, что это означает, это то, что тактовый сигнал происходит на 11,1% чаще.
Ramhound

Ответы:

2

Вы не можете определить производительность на основе частоты в общем случае. Если процессоры относятся к одному семейству (не только к одной и той же архитектуре) - под этим я подразумеваю идентичные во всех отношениях, кроме тактовой частоты, - тогда максимальная производительность более быстрой системы будет выше, так что да, в вашем примере МАКСИМАЛЬНАЯ скорость Процессор будет на 12% быстрее.

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

Если процессоры не находятся на одной линии, лучшее, что вы можете сделать, это получить приблизительную оценку производительности, посмотрев «Passmark» в эталонном тесте CPU и вычислив на его основе. Это очень грубый, но лучший способ сравнить процессор, если вы понимаете, как ваше приложение будет обрабатывать потоки. Кроме того, сравнение процессоров в Intel Ark поможет вам определить, совпадают ли они во всех отношениях, кроме тактовой частоты. (Например, показывая поддержку различных наборов команд, кеш и т. Д.)

davidgo
источник
0

Каждая инструкция процессора занимает несколько циклов для завершения. Время каждого цикла равно 1, деленному на скорость процессора.

Тем не менее, трудно линейно соотнести это с производительностью, потому что:

  • Инструкции ЦП потребляют разное количество циклов при разных условиях и способах их использования.

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

  • Функции ускорения, которые «предварительно загружают» поток команд перед тем, где фактически выполняется процессор, могут влиять на производительность неизбежных инструкций - такие как предсказание ветвлений и переименование регистров.

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

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

Можно сказать: 2.7 & gt; 2,4 на 12%. Так будет ли процессор на 2,4% медленнее, чем на 2,7?

Вы можете сказать, что это технически верно - процессор A работает на 12% быстрее, чем процессор B. Но увеличение скорости процессора на 12% (даже при той же точной микроархитектуре) не означает увеличение производительности выполнения кода на 12%.

LawrenceC
источник