1

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

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

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

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

2 ответа2

2

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

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

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

0

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

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

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

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

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

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

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

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

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

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