Почему производители процессоров перестали увеличивать тактовые частоты своих процессоров? [закрыто]


63

Я читал, что производители перестали концентрироваться на более высоких тактовых частотах и ​​сейчас работают над другими вещами, чтобы улучшить производительность.

С участием

  • старый настольный компьютер с процессором Intel® Xeon® E3110 с тактовой частотой 3,0 ГГц
  • и новый сервер с процессором AMD Opteron ™ 6272 с тактовой частотой 2,1 ГГц

когда выполняется простое сравнение с использованием шифрования (однопоточное)

 openssl aes256c

рабочий стол работал намного лучше, чем сервер.

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


57
Настольный чип представляет собой двухъядерный процессор; Сервер представляет собой 16-ядерный процессор. Использование однопоточного бенчмарка НЕ ​​подходит вообще.
MSalters

@learner - потому что скорость процессоров не может увеличиваться с увеличением требуемого напряжения, что снижает нагрев. Концентрируясь на энергопотреблении, они смогут теоретически увеличить скорость процессора в будущем.
Ramhound

1
Приведите, пожалуйста, фактические случаи, когда «производители» «даже снижали» тактовые частоты (не сравнивая яблоки и апельсины) или ограничивая название вопроса «не увеличивается».
Ян Догген

8
Частота AMD против Intel не была честным сравнением со времен K6 / Pentium. AMD продала процессоры Athlon как 2500+ или 3000+, когда их тактовые частоты ядра могли быть 1,8 или 2,1 соответственно, но они, как правило, сравнивались с чипами Intel с тактовой частотой 2,5 или 3 ГГц. Есть просто способ слишком много различий между архитектурами сейчас , чтобы сделать сравнение просто на высоких тактовых частотах.
KeithS

Ответы:


72

Причина, по которой производители перестали концентрироваться на повышении тактовой частоты, заключается в том, что мы больше не можем охлаждать процессоры достаточно быстро, чтобы это было жизнеспособным. Чем выше тактовая частота, тем больше выделяется тепла, и мы сейчас находимся на этапе, когда более неэффективно увеличивать частоту процессора из-за количества энергии, которое идет на его охлаждение.

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


1
+1 Я, кажется, купил свою машину именно тогда, когда эта стена была поражена, мой 8-летний P4 3,4 ГГц, вероятно, самый быстрый с точки зрения тактовой частоты, если смотреть на подавляющее большинство рынка (не OC).
Karthik T

2
обратите внимание, что энергопотребление также будет проблемой. Если бы у вас было 16 ядер с частотой 3,0 ГГц, это, вероятно, потребляло бы 200+ ватт, которые наиболее распространенные источники питания едва поддерживают в сочетании с остальной частью системы.
Mixxiphoid

9
@Mixxiphoid Вам также нужно как-то подключить эти 200 Вт к процессору при напряжении, которое может выдержать схема. Это нетривиальная задача сама по себе.
CVn

1
Не только для того, чтобы увеличить тактовую частоту процессора, они должны увеличить конвейер, но каждый раз, когда вам нужно раскошелиться, изменить контекст, перейти или очистить память, вы очищаете весь конвейер, и вам нужно заполнить его снова, чтобы дать результат для этой инструкции, поэтому лучше уменьшить конвейер и частоту ЦП, поэтому каждый раз, когда вам нужно выполнить разветвление, изменить контекст, перейти, вам не нужно долго ждать, чтобы снова заполнить конвейер.
Лефслер

1
@demonofnight: Было бы слишком много говорить «каждый раз, когда вам нужно (...) прыгать». Безусловные прямые ответвления не представляют опасности для контроля, поэтому они не считаются из условных ответвлений ~ 95% -99% прогнозируются различными методами (данные основаны на некоторых работах, основанных на SPEC). Прямые ветви создают проблему, если цель еще не зарегистрирована в реестре и существует ее неправильное предсказание. Я не уверен, что вы подразумеваете под «разветвлением кода» или «очисткой памяти», но переключатели контекстов не должны выполняться так часто (прерывания и, возможно, ввод / вывод).
Мацей Пехотка

37

Скорость обработки намного больше, чем тактовая частота.

  • Разные процессоры могут делать разное количество за одно и то же количество тактов из-за разных вариантов компоновки конвейера и наличия нескольких компонентов (сумматоров и т. Д.) В каждом ядре. Хотя в вашем тесте это не так, вы часто обнаруживаете, что «более медленный» чип может делать больше, чем быстрый (измеряемый только тактовой частотой) из-за возможности делать больше за такт.

  • Тест, который вы выполнили, может быть очень чувствительным к различиям в архитектуре процессора: он может быть оптимизирован для конкретной архитектуры, вы можете обнаружить, что он работает по-разному не только между чипами Intel и AMD, но и между чипами Intel (или AMD) разных семейств. Вероятно, он также использует один поток, поэтому не использует преимущества нескольких ядер ЦП.

  • Существует движение к снижению тактовых частот по причинам управления мощностью и теплом: увеличение тактовой частоты не оказывает линейного влияния на энергопотребление и тепловую мощность.

  • Из-за вышеуказанных нелинейных отношений для современных требований гораздо эффективнее иметь несколько блоков обработки, чем когда-либо увеличивать скорость на один блок. Это также позволяет использовать хитрые приемы для экономии энергии, такие как отключение отдельных ядер, когда они не используются, и восстановление их резервных копий по мере увеличения спроса. Конечно, одноядерные алгоритмы, конечно, не помогают однопоточному алгоритму, хотя это было бы так, если бы вы запускали два или более его экземпляров одновременно.


Итак, какова связь между тактовой частотой и энергопотреблением?
user84207

$ P = CV ^ 2f $. Вы также можете прочитать это .
Заккак

19

Как вы думаете, почему производители фактически снижают тактовую частоту, сравнивая только два процессора?

  1. У 6272 есть турбо скорость 3Ghz. Более низкая базовая скорость предназначена только для снижения средней мощности и поддержания приемлемого TDP для рабочей станции, когда все ядра нагружены.
  2. Следующий высокопроизводительный чип AMD для настольных ПК FX-9590 будет работать с частотой 5 ГГц.

Кроме того, тактовая частота отличается от производительности за такт. У вас может быть 3,8 ГГц P4 против одного 3,2 ГГц ядра от i7-3930K, но это не значит, что ядро ​​P4 работает быстрее.

Все сказанное здесь о потреблении энергии также совершенно справедливо и верно для 16-ядерного дизайна, где вы, естественно, должны быть более обеспокоены проблемами TDP.

Кроме того, ваш метод тестирования, просто тестирующий openssl, немного прост, чтобы дать реальные цифры. Может быть, вам стоит попробовать какой-нибудь криптографический пакет.


3
Просто чтобы добавить аналогию с тактовой частотой = ошибка производительности. Представьте, что один человек делает очень маленькие шаги, но очень быстро (высокая тактовая частота), а другой человек делает очень большие шаги с немного меньшей скоростью (более низкая тактовая частота). Человек, делающий большие шаги, может двигаться намного быстрее.
Мартин Конечни,

@MartinKonecny: отличная визуализация!
Зак Латта

2
@MartinKonecny ​​Насколько я понимаю, большинство инструкций на ассемблере (ADD, MOV, IMUL и т. Д.) Выполняются за один цикл. Итак, с этими новыми процессорами выполняются ли несколько команд за один цикл?
Ниалш

4
@nialsh Это совсем не так для компьютеров CISC (на самом деле одним из определяющих элементов CISC является то, что инструкции занимают несколько циклов), если все инструкции занимают один цикл, то самая медленная инструкция будет выполняться столько же времени, сколько и самая быстрая инструкция.
Скотт Чемберлен

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

13

Ваш тестовый пример (шифрование aes-256) очень чувствителен к оптимизации для конкретного процессора.

Существуют различные процессоры, которые имеют специальные инструкции, предназначенные для ускорения операций шифрования / дешифрования. Эти специальные инструкции могут присутствовать не только только на вашем рабочем столе, но и в том, что у процессора AMD другие специальные инструкции. Кроме того, openssl может поддерживать эти специальные инструкции только для процессора Intel. Вы проверили, так ли это?

Чтобы выяснить, какая система быстрее, попробуйте использовать «правильный» набор тестов - или, что лучше, просто используйте свою обычную рабочую нагрузку.


Где происходит перевод этой специальной инструкции? Я не уверен, есть ли разные компиляторы для разных наборов команд.
Шубхам

У компиляторов есть опции для нацеливания на разные наборы команд и / или специальные «встроенные функции», которые тесно связаны с инструкциями, специфичными для процессора. Для одного исполняемого файла возможно проверить, на каком семействе ЦП он работает, и выбрать другой путь к коду на основе этого.
Рассел Борогове

10

Просто: чип AMD намного, намного быстрее, потому что это 16-ядерный чип. При 115 Вт это означает, что каждое ядро ​​производит ~ 7 Вт. Это было бы недостижимо, если бы каждое ядро ​​работало с частотой 3 ГГц. Чтобы достичь этого показателя 7 Вт, AMD снизила тактовую частоту. Снижение тактовой частоты на 10% снижает энергопотребление на 20%, что, в свою очередь, позволяет разместить на чипе 25% дополнительных ядер.


10

Как уже говорили другие, мы больше не сможем эффективно охлаждать процессоры, если будем подталкивать напряжение, требуемое для того же относительного увеличения тактовой частоты в прошлом. Было время (эпоха P4 и ранее), когда можно было купить новый процессор и увидеть «немедленный» выигрыш в скорости, потому что тактовая частота была значительно увеличена по сравнению с предыдущим поколением. Теперь мы попали в тепловую стену, что-то вроде.

У каждого нового современного поколения процессоров очень немного увеличивается тактовая частота, но это также связано со способностью их охлаждать соответствующим образом. Производители микросхем, такие как Intel, постоянно фокусируются на уменьшении размера кристалла ЦП, чтобы сделать их более энергоэффективными и производить меньше тепла при одинаковых тактовых частотах. В качестве дополнительного примечания, этот уменьшающийся размер матрицы делает современные процессоры более склонными к гибели от перенапряжения, а не от перегрева. Это означает, что он также ограничивает максимальную тактовую частоту любого процессора текущего поколения без других оптимизаций, производимых производителем микросхем.

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

Эти две области внимания производителей микросхем неразрывно связаны. Уменьшая как размер кристалла, так и энергопотребление микросхемы, они могут увеличить количество ядер в микросхеме. В конечном счете, это также ударит в стену, вызывая еще один, более радикальный, сдвиг парадигмы.

Причиной такого изменения парадигмы является то, что мы приближаемся к пределам кремния как основного материала для производства чипов. Это то, что Intel и другие работали над решением в течение некоторого времени. Intel заявила, что у нее есть альтернатива кремнию в процессе разработки, и мы, вероятно, начнем ее видеть после 2017 года. В дополнение к этому новому материалу, Intel также изучает 3D-транзисторы, которые могли бы «утроить мощность процессора». Вот статья, в которой упоминаются обе эти идеи: http://apcmag.com/intel-looks-beyond-silicon-for-processors-past-2017.htm


2
  • Тепловые потери H равны 4-й степени частоты f.

    H ~ f ^ 4

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

  • Дальше миниатюризация

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


2
-1 Четвертая силовая часть не права. Мощность (тепловыделение в секунду) в процессорах (приблизительно) линейно пропорциональна тактовой частоте, такой как P ~ f CV ^ 2 + P0 ( en.wikipedia.org/wiki/CPU_power_dissipation ). Предоставленное напряжение зависит от тактовой частоты (хотя и не обязательно линейной). См: physics.stackexchange.com/questions/34766 BottomLine, мощность , генерируемая CPU примерно линейной квадратичной по тактовой в диапазоне 1,6 ГГц - 5 ГГц. (Не подпорка к е ^ 4).
Доктор Джимбоб

2

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

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

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

Наиболее ярким примером этого в эволюции Intel является Pentium 4, который сильно отличался по тактовой частоте, но не работал пропорционально. Команды сдвига битов, которые в предыдущих микросхемах могли сдвигать 32 бита за один цикл, использовали гораздо более простую схему в Pentium 4, для которой требовался один цикл для каждого сдвига битов. Ожидалось, что архитектура Pentium 4 будет масштабируема до гораздо более высоких тактовых частот из-за своей простоты, но это не сработало, и быстрая, сложная схема переключения вернулась в ядре и последующих архитектурах.


2

Из IEEE:

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

http://spectrum.ieee.org/computing/hardware/why-cpu-frequency-stalled

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.