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

6100
SkyRipper

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

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

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

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

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

2 ответа на вопрос

2
davidgo

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

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

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

0
LawrenceC

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

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

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

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

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

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

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

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

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

Похожие вопросы