Принципы авторазгона современных процессоров, или как нас обманывают Intel и AMD

Егор

Скорее всего, про технологию Intel Turbo Boost слышали многие (а вот про AMD PBO — нет, но о ней будет ниже): дескать, это волшебная функция, позволяющая процессорам самостоятельно разгоняться и работать быстрее. Отчасти это действительно правда — технология волшебная, вот только волшебство здесь работает скорее в сторону компаний-производителей CPU, чем в сторону обычных пользователей. И с учетом того, что информации о работе функций авторазгона в интернете крайне мало, особенно на официальных сайтах (по очевидным уже причинам), приходится по крупицам собирать ее, смотря как работают различные процессоры в разных условиях.

А разгон-то ненастоящий!

Современные процессоры от Intel (про AMD поговорим отдельно, ибо там все еще запутаннее) имеют множество ограничений — которые, сюрприз, могут не выполняться, если производитель материнской платы отключит их по умолчанию в BIOS. Первое и самое важное ограничение — по максимальной температуре, порядка 100-105 градусов для различных дестопных процессоров. При приближении к ней CPU начнет троттлить, иными словами — серьезно снижать частоту, дабы удерживать температуру в допустимых рамках. Если же даже на минимальной рабочей частоте в 800 МГц процессору не удается справиться с перегревом, он или аварийно отключается (в этот момент зависает картинка на мониторе), или же плата перезагружается.

Казалось бы — отличное ограничение, идеально работающее и не позволяющее процессору раньше времени попасть в кремниевую вальгаллу. На деле все несколько сложнее. Во-первых, датчики температур внутри кристалла CPU есть не везде, и если максимальный фиксируемый нагрев, например, 80 градусов, то в процессоре вполне может быть место, которое греется до 85. Во-вторых, кристалл сам по себе греется неравномерно: самые горячие места, разумеется, это ядра. А вот интегрированная графика, различные контроллеры и кэш могут греться слабее на десяток-другой градусов — особенно если ядра греются под сотню градусов. Конечно, кремнию такие перепады температур в рамках одного кристалла далеко не полезны.

Так что нет ничего удивительного в том, что Intel решила вводить новые лимиты. Самый известный из них — это TDP, или Thermal Design Power. Эта очень хитрая цифра: дескать, именно столько тепла должна отводить от процессора система охлаждения. На практике все еще интереснее: именно к этой цифре стремится тепловыделение процессора при длительной нагрузке. И тут случается первый «упс»: возьмем, например, популярный мобильный Core i5-8250U. Он имеет родную частоту всего 1.6 ГГц, однако Turbo Boost позволяет ему разгоняться до 3.4 ГГц. Он имеет TDP 15 Вт, что позволяет ставить его в ультрабуки — что ж, давайте проведем стресс-тест и проверим, какая будет реальная частота при долгой нагрузке:



2.4 ГГц. Формально, все хорошо — частота же выше родных 1.6 ГГц, причем в полтора раза. Но, с другой стороны, это не 3.4 ГГц: теряется процентов 20-25%, что тоже достаточно значительно. Ладно, запустим теперь игру — она нагружает процессор слабее, он «укладывается» в 15 Вт и работает на максимальной частоте в 3.4 ГГц.

Так что мы видим первое лукавство, которое скрывается во фразе «до 3.4 ГГц»: ведь и 2 ГГц — «до». И 2.5 тоже «до». Но это только начало — большинство производителей десктопных материнских плат делают вид, что они не знают про TDP и банально отключают этот лимит! К чему это приводит? Да к тому, что 6-ядерный Core i5-8400T, который формально имеет тепловыделение в 35 Вт, начинает в некоторых задачах потреблять и 60, и 70, при этом не снижая частот. Казалось бы — вот оно счастье, производительность не падает? Так-то да, но не совсем: если 35 Вт легко отведет боксовый алюминиевый кулер, то вот с 70 Вт он может и не справиться. Конечно, как я уже писал выше, от перегрева процессор едва ли сгорит, но вряд ли вас будут устраивать постоянные подтормаживания в работе. Выхода тут, очевидно, два — или включить ограничение по TDP в BIOS, или купить более мощный кулер.

Конечно, это слегка надуманная проблема: в большинстве своем все наоборот отключают в BIOS различные лимиты и энергосберегающие функции, чтобы процессор мог работать на максимально возможной частоте. Но это отлично показывает, что производителям плат чихать хотели на спецификации Intel (да и AMD тоже).

Второе лукавство еще интереснее: так, в некоторых процессорах указанная частота Turbo Boost достигается лишь... при работе одного ядра. Так, тот же i7-8550U при нагрузке на одно ядро может работать на частоте до 4.0 ГГц, двух — уже только 3.8 ГГц, ну а все четыре не могут «буститься» выше 3.7 ГГц. Так что даже если этому процессору создать идеальные условия — 4 ГГц при серьезной нагрузке вы никогда не увидите. Вообще говоря — вы вообще эту цифру никогда не увидите, потому что в современном мире задачу, которая будет грузить только одно ядро, еще нужно поискать, и в реалистичных задачах при высокой нагрузке и при отсутствии сдерживающих факторов реальная частота будет на уровне 3.7-3.8 ГГц. Причем формально к Intel опять же не придраться: эта частота выше родных 1.8 ГГц? Выше. Ну а то, что одноядерную нагрузку сделать не можете — ваши проблемы.



Но вернемся к ноутбукам и ультрабукам. В Intel отлично понимают, что большая часть серьезных нагрузок — короткие: сколько займет по времени открытие программы? Секунд 5-10, не больше. На загрузку страницы в браузере требуется и того меньше. При этом система охлаждения обладает большой тепловой инертностью: чтобы ее разогреть до сотни градусов потребуется никак не меньше нескольких десятков секунд, а то и целых минут. Вывод — на какой-то небольшой срок можно «забыть» про ограничение по TDP и позволить процессору работать на максимальной частоте: очевидно, это здорово повышает отзывчивость системы в реальных задачах.

В цифрах это сделано так: так называемый Turbo Time Limit обычно длится 28 секунд, и в это время работает Short TDP, который может достигать 30-50 Вт: это гарантированно позволяет процессору использовать максимальную частоту даже при серьезной нагрузке с векторными инструкциями. После этих 28 секунд в ход вступает Long TDP — те самые 15 Вт, и частота CPU серьезно снижается. И если система охлаждения справляется, то в таком режиме ноутбук будет работать, образно говоря, вечно.



Ладно, вроде все хорошо: работает Long TDP, процессор не перегревается — идиллия? Увы, нет. Большинство ноутбуков имеют общую систему охлаждения для процессора и дискретной видеокарты. И, очевидно, достаточно часто бывают задачи (например, игры), которые серьезно грузят оба компонента системы. При этом, обычно, максимальная температура GPU все же ниже, чем у CPU, то есть троттлить видеокарта начинает раньше: а это, разумеется, негативно сказывается на частоте кадров в играх. Выход? Раз система охлаждения у процессора и видеокарты общая, то почему бы не замедлить процессор — редко когда в играх он работает на 100%, так что некоторое снижение его частоты и тепловыделения, в теории, не должны сказаться на производительности в играх, и при этом видеокарта не будет троттлить. 

Эта функция называется BD Prochot, и, к сожалению, это действительно «просчет». Проблема в том, что если она активирована, то процессор реагирует на перегрев видеокарты так же, как и на свой — иными словами, роняет частоту вплоть до 800 МГц. Очевидно, это приводит к резкому снижению тепловыделения и температуры GPU, так что частота процессора из-за этого быстро восстанавливается до прежнего уровня в несколько гигагерц. И сия катавасия начинает происходить раз в несколько секунд: при этом нужно понимать, что падение частоты до 800 МГц ощущается не иначе, как фриз. То есть игры начинают стабильно подтормаживать раз в несколько секунд — как говорится, приятной игры. К счастью, эта функция легко отключается в бесплатной утилите ThrottleStop: конечно, при этом будет перегреваться и троттлить видеокарта, но вот она это обычно делает более плавно, снижая частоту лишь на небольшую величину. Так что да, это приведет к некоторому падению fps, но это все еще приятнее, чем постоянные подлагивания.

А вот дальше становится забавнее и страшнее одновременно. Разумеется, процессоры уже не один десяток лет умеют работать в огромном диапазоне частот, зачастую снижая ее ниже родной для энергосбережения. При этом также очевидно, что чем ниже частота — тем ниже можно подать на CPU напряжение и он останется стабильным, а потреблять энергии будет меньше. Так называемая таблица частот-напряжения для каждого совместимого с платой процессора есть в ее BIOS, и, к счастью, производители плат обычно ее придерживаются.

То есть, напряжения, мощности и частоты заданы достаточно жестко — что же меняется? Правильно, это ток (напомню, что мощность это ток, умноженный на напряжение). И, разумеется, на него Intel тоже задает лимит: в случае с i5-8250U это 64 А (параметр IccMax). С учетом того, что напряжение при работе на 3.4 ГГц порядка 1 В, мы получаем максимальное тепловыделение не более 64 Вт: процессор, очевидно, никак не сможет его достичь (Short TDP обычно ниже 50 Вт), отсюда возникает вполне логичный вопрос — ну и зачем нужно было вводить IccMax, если он никогда не будет ограничивать процессор? Причем, к слову, в десктопных платах этот параметр зачастую установлен вообще на 255 А — при напряжении в 1.2-1.3 В это даст умопомрачительные 330 Вт: очевидно, это мягко говоря далековато от реального потребления десктопных CPU.



А дальше еще интереснее. Мне стало интересно, какие MOSFET используются в цепи питания моего i5-8250U. Оказалось, что это Sic634 — а у них максимальный ток 50 А и пиковый 55. То есть ниже, чем нужно по спецификации Intel. Разумеется, я решил, что это сэкономила Xiaomi, но потом обнаружил, что ровно такие же транзисторы используются и в дорогих Dell XPS 13 с точно таким же CPU. Конечно, 50 А при напряжении в 1 В даст нам целых 50 Вт — это несколько больше Short TDP, которое в моем случае 44 Вт, и в разы больше Long TDP в 15 Вт, но все еще то, что производители «забывают» про спецификации Intel при планировании силовой части плат, мягко говоря, пугает. 

Ну и вишенка на торте: разумеется, речь пойдет о Intel Turbo Boost 3.0. Современное процессоростроение можно очень точно описать одной фразой: «третий сорт — не брак». Топовые решения под сокет LGA2066 могут иметь аж 18 ядер, да и еще все в одном кристалле. Разумеется, шанс того, что все ядра будут разгоняться одинаково хорошо, крайне низкий — всегда будет 1-2 более удачных ядра, способных брать более высокие частоты. Так что если Turbo Boost 2.0 разгоняет все ядра или же любое из попавшихся до указанных в нем частот, то после установки мощного HEDT-процессора в плату технология Turbo Boost 3.0 определяет лучшие ядра в нем и позволяет только им «буститься» сильнее других. Разницу сложно назвать значительной, она обычно находится на уровне 200 МГц, но все еще мы видим, как Intel пускает в ход «полубракованные» кристаллы, где разные ядра разгоняются по-разному.



Так как же на самом деле работает авторазгон процессоров Intel?

Сказать честно — так, как решит производитель материнской платы, и, я думаю, вы уже это поняли сами. Но в среднем все происходит так:
  1. Появилась нагрузка — тепловыделение процессора превысило Long TDP. Плата начинает использовать лимит Short TDP и запускает таймер Turbo Time Limit. Если при этом превышен лимит IccMax, то процессор начнет снижать частоту, дабы уложиться в его рамки, но на деле это происходит чуть чаще, чем никогда. Если есть поддержка Turbo Boost 3.0, то пара ядер «бустится» сильнее других.
  2. Тепловыделение стало меньше Long TDP до того момента, как прошли 28 секунд работы Turbo Time Limit? Отлично, сбрасываем этот таймер и ждем нового скачка нагрузки. Если же нет — срабатывает ограничение Long TDP, процессор здорово теряет в частоте и начинает так работать «вечно».
  3. Ой нет, не вечно — у нас неплохо разогрелась видеокарта, ее нужно остудить. Включается BD Prochot и частота процессора устремляется к уровню в 800 МГц, вас приветствуют лаги. К счастью, как я уже писал выше, эта функция работает не на всех устройствах и легко отключается.
  4. Ой, производитель сэкономил на системе охлаждения, у нас перегрев CPU — да, как вы уже поняли, частота снова падает. Но все же худо-бедно 15 Вт отвести могут большинство СО, так что до этого обычно не доходит.
Итог — в мобильном сегменте вместо максимальных частот Turbo Boost в 3.5-4 ГГц чаще всего при реальной работе можно наблюдать лишь 2-2.5 ГГц: конечно, это все еще выше родных частот, которые Intel опустила ниже плинтуса, но, разумеется, это далеко не тот уровень, который ожидают большинство пользователей.
 
AMD Precision Boost Override — кручу, мучу, разгонять не хочу

Как мы помним, после «бульдозерных» FX 2011-2013 годов, которые были не способны конкурировать с Core i7, AMD решила прекратить такие серьезные эксперименты и вернуться в архитектуре Zen к обычным ядрам с поддержкой гиперпоточности, которая в данном случае называется SMT. Что ж, идея, как мы знаем, хорошая, и процессоры Ryzen пользователи расхватывают как горячие пирожки, быстро сдвинув Intel с лидера по продажам (>80% в начале 2017) на уровень догоняющего (порядка трети продаж на данный момент).

При этом AMD отлично понимала две вещи: во-первых, она не в том положении, чтобы не продавать «полубрак» (тем более, что этим занимается Intel), так что более дешевые Ryzen без литеры X работают на частотах в 150-200 МГц ниже, чем их «иксовые» собратья, даже под разгоном. Во-вторых, с одноядерной производительностью у Zen и Zen+ все было не очень хорошо, так что ее нужно было поднимать всеми силами. Так и родилась технология PBO, которая, с одной стороны, сильно похожа на Turbo Boost, а с другой — кардинально отличается.

Картинки по запросу amd pbo zen 2

В общем и целом, в случае с десктопными процессорами Intel оказывается важен лишь один лимит — по температуре, все остальные или никогда не достигаются, или обычно по умолчанию отключены в BIOS, так что процессор стабильно работает на своей максимальной частоте Turbo Boost для всех ядер, то есть на разных платах CPU будет в общем и целом показывать одинаковый уровень производительности.

В случае с AMD технология авторазгона имеет целых четыре активно работающих параметра:
  • PPT Limit (Package Power Tracking) – ограничение на потребление процессором энергии в ваттах.
  • TDC Limit (Thermal Design Current) – ограничение на максимальный ток, подаваемый на процессор. Определяется эффективностью охлаждения VRM на материнской плате.
  • EDC Limit (Electrical Design Current) – ограничение на максимальный ток, подаваемый на процессор. Определяется электрической схемой VRM на материнской плате.
  • Precision Boost Overide Scalar – коэффициент зависимости подаваемого на процессор напряжения от его частоты.
Первый параметр, в принципе, понятен: это ограничение на TDP, тут все логично. Второй и третий уже интереснее: если у Intel есть просто ограничение по току со стороны процессора, то тут учитывается еще и эффективность элементов питания на плате. Четвертый параметр еще веселее: есть внутренний коэффициент, принцип получения которого AMD не раскрывает. 
В итоге наблюдаем несколько неожиданную картину: Ryzen 7 3800X, имеющий максимальную частоту на бумаге в 4.5 ГГц, на деле может работать как на более высокой (4.55 ГГц), так и на куда более низкой (4.375 ГГц), причем, что самое забавное, никакой зависимости от VRM платы нет, дешевое решение от ASRock отнюдь не в самом конце списка:
Оказывается, максимальная частота процессоров Ryzen 3000 очень сильно зависит от системной платы
Также следует понимать, что такие частоты достижимы лишь при близкой к однопоточной нагрузке. Попытка нагрузить все ядра приводит к тому, что частоты проваливаются на уровень в 4.1-4.3 ГГц — как мы помним, у Intel такая же ситуация, за одним но: в случае с десктопными процессорами у «синих» любое ядро может разгоняться до максимальной частоты Turbo Boost, так что, в общем и целом, в разгоне практически всегда эта частота достижима и для всех ядер — это мы и видим, если не брать экстремальные бенчмарки.

А вот у AMD это не так: как я уже писал выше, чтобы держать низкие цены, они решили использовать ту же уловку, что и Intel в Hi-End процессорах — а именно маркировать хорошие ядра, и лишь они «бустятся» до указанных в спецификациях высоких частот в 4.5+ ГГц. Очевидно, что все ядра в таком случае до такой частоты не доберутся — для этого понадобятся слишком высокие напряжения, так что получается неприятная ситуация: если у Intel указанная максимальная Turbo Boost частота не достигается только в мобильных процессорах, которые не всегда используют для серьезной нагрузки, то у AMD это происходит даже у десктопных процессоров, что делает теоретические максимальные частоты фикцией и только.

Причем в утилите Ryzen Master указываются звездочками лучшие ядра — как оказалось, эта официальная программа от AMD ставит их случайным образом, на деле оказываются лучшими абсолютно другие ядра:

Картинки по запросу ryzen master ryzen 7 3800x

Выводы

Лично я могу охарактеризовать происходящее сейчас на рынке процессоров только одним словом — жесть. Липовые частоты, неработающие лимиты, невыполняющиеся спецификации — складывается серьезное ощущение того, что индусы кодят, а китайцы паяют. Так что при покупке нового ноутбука или же платы с процессором внимательно изучайте именно их реальную производительность и частоты, ибо в даже в десктопном сегменте может быть крайне разительная разница при работе, на секундочку, в полностью дефолтном режиме.
22

Будь в курсе последних новостей из мира гаджетов и технологий

Мы в соцсетях

Комментарии

+19
Все сказанное ни что иное как: "Товарищи, нас обманывают!" или "Тиграм не докладывают мяса!!!". А пользы от статьи ноль.
8 сентября 2019 в 17:21
#
Егор Морозов
+1764
Мне вот интересно — вы работаете на AMD или на Intel?)
8 сентября 2019 в 18:04
#
+145
Дурак чтоли? Попробуй купи новый игровой ноутбук. Топовой видеокартой, не знаю как с процессорами 9 серии, но у 8 на процессоре 8750H вместо 4,1 ГГц он разгоняется максимум до 3,8 и при этом когда достигает 90 градусов поцелуи б начинает троттлить до 2,1-2,2 ГГц после чего повторяет все вышеперечисленное. Из-за всего этого играть по-сути невозможно и приходится либо играть с урезанным процессором в 2,1ГГц, либо терпеть периодические лаги в играх. При чем видеокарта чувствует себя нормально всегда и даже при 2,1 ГГц она работает под максимальной нагрузкой, но из-за того что процессор работает хуже в 2 раза чем заявлено — возникает ситуация что в играх у тебя нет того FPS который ты хотел бы видеть. Из-за этого приходится колдовать с настройками в играх и т.п.
9 сентября 2019 в 09:43
#
Егор Морозов
+1764
Через ThrottleStop снизьте на процессоре напряжение, на -0.1 В где-то: это позволит отыграть 300-400 мгц, что для вас будет достаточно значительно. Ну и плюс с bd prochot поиграйтесь в этой же утилите.
9 сентября 2019 в 09:54
#
+19
Пользы от статьи — ноль!
Бла-бла, тиграм не докладывают мяса, бла-бла-бла...
8 сентября 2019 в 17:22
#
Олег Воронин
+2311
«Вооон от нашей коровы какая поооольза! А от тебя, Шарик, никакой пользы. Может нам из тебя ездовую собаку сделать, а?»
(с) кот Матроскин

Это вы об этой пользе?
8 сентября 2019 в 19:34
#
+229
Фух, я уж испугался, что авторазгон митингов
8 сентября 2019 в 19:07
#
Олег Воронин
+2311
Автору спасибо, теории почерпнул для себя
8 сентября 2019 в 19:32
#
Лазарь Баукин
+737
Такой серьёзный текст лучше на профильный сайтах, вроде overclockers, публиковать.
8 сентября 2019 в 21:29
#
mystique_man
+1586
«индусы кодят, а китайцы паяют»
Поздравляю, вы познали современную компьютерную сферу)
9 сентября 2019 в 07:14
#
+8
только осенью продал свой q9650
9 сентября 2019 в 10:32
#
0
Наконец-то мои мысли перевели "на бумагу" техническими словами.Когда то намучался с ноутом от acer и его intel 2430m. Поначалу грешил именно на acer и слабый кулер потом наткнулся на ThrottleStop и прогу разгоняющую кулер на максимум оборотов и вдохнул новую жизнь в это "дерево". Хотя температуры всеравно долбились под 100°,но 800гц я больше не наблюдал. И маленький совет: мажьте правильно термопасту на чип.
Теперь об amd 2700x
В игрулях или рендере где загружены все ядра частота скачет 4.0 — 4.2ггц или того меньше. Отключение лишних и разгон отдельных ядер не имеет смысла Проц теряет больше от отключения ядер чем от приобретения лишних 200мгц. Разгон 4х ядер прошел удачно до 4.3ггц. В играх разницы никакой,а в многопоточности сильно проигрывает. Всё это на боксе.
Спасибо за Ryzen Master,как то упустил её из виду. Будет интересно поэкспериментировать.
12 сентября 2019 в 14:59
#
Олег Маслов
+1
интересная статейка.от части я знал эту инфу контролируя работу ноута по прогам.всё так.короче бери что дали или как повезёт.но иметь информацию это уже часть дела.
19 ноября 2019 в 11:36
#