Как частота процессора влияет на производительность? Если у нас будет два процессора с одинаковой архитектурой, но с разной скоростью, как они будут работать?
1) 8-ядерный процессор Ivy Bridge @ 2.4
2) 8-ядерный процессор Ivy Bridge @ 2.7
Как я могу математически рассчитать разницу в производительности?
Можно сказать: 2.7 & gt; 2,4 на 12%. Так будет ли процессор на 2,4% медленнее, чем на 2,7?
cpu
ivy-bridge
SkyRipper
источник
источник
Ответы:
Вы не можете определить производительность на основе частоты в общем случае. Если процессоры относятся к одному семейству (не только к одной и той же архитектуре) - под этим я подразумеваю идентичные во всех отношениях, кроме тактовой частоты, - тогда максимальная производительность более быстрой системы будет выше, так что да, в вашем примере МАКСИМАЛЬНАЯ скорость Процессор будет на 12% быстрее.
Но, конечно, это не что иное, как полная история. Большинство систем будут иметь узкие места из-за других вещей, кроме ЦП, в этом случае более быстрый ЦП не даст вам повышенной производительности (например, если вы ждете на диске, в сети или от пользователя).
Если процессоры не находятся на одной линии, лучшее, что вы можете сделать, это получить приблизительную оценку производительности, посмотрев «Passmark» в эталонном тесте CPU и вычислив на его основе. Это очень грубый, но лучший способ сравнить процессор, если вы понимаете, как ваше приложение будет обрабатывать потоки. Кроме того, сравнение процессоров в Intel Ark поможет вам определить, совпадают ли они во всех отношениях, кроме тактовой частоты. (Например, показывая поддержку различных наборов команд, кеш и т. Д.)
источник
Каждая инструкция процессора занимает несколько циклов для завершения. Время каждого цикла равно 1, деленному на скорость процессора.
Тем не менее, трудно линейно соотнести это с производительностью, потому что:
Инструкции ЦП потребляют разное количество циклов при разных условиях и способах их использования.
Современные ЦП в течение долгого времени были «конвейерными» и «суперскалярными» - по сути, то есть за цикл, ЦП может фактически работать над несколькими частями нескольких инструкций или даже нескольких инструкций одновременно.
Функции ускорения, которые «предварительно загружают» поток команд перед тем, где фактически выполняется процессор, могут влиять на производительность неизбежных инструкций - такие как предсказание ветвлений и переименование регистров.
Современные процессоры имеют кеш инструкций. То, что находится в кеше, сильно влияет на производительность. Ожидание загрузки инструкций из оперативной памяти занимает много-много циклов по сравнению со скоростью процессора.
Современные процессоры имеют кеш данных. Инструкции по чтению / записи памяти, что часто делает процессор, сильно зависят от состояния этого кэша аналогичным образом.
Вы можете сказать, что это технически верно - процессор A работает на 12% быстрее, чем процессор B. Но увеличение скорости процессора на 12% (даже при той же точной микроархитектуре) не означает увеличение производительности выполнения кода на 12%.
источник