Оверклокинг под микроскопом

Знакомя публику с новым гей­мер­ским но­ут­бу­ком ASUS Zen­Book Pro Duo, ук­ра­ин­ское пред­ста­ви­тель­ст­во ком­па­нии ак­цен­ти­ро­ва­ло вни­ма­ние на про­из­во­ди­тель­но­с­ти цен­т­раль­но­го про­цес­со­ра иг­ро­вой плат­фор­мы. Тем бо­лее, что по раз­гон­но­му по­тен­ци­а­лу «до­зво­лен­ны­ми сред­ст­ва­ми» чип Intel Core i9-9980HK яв­ля­ет­ся сво­е­го ро­да ре­корд­с­ме­ном. Зна­чи­мость со­бы­тия под­чер­к­нул при­гла­шен­ный гость — Алек­сандр Паш­ке­вич, ме­не­д­жер Intel по ра­бо­те с роз­нич­ны­ми кли­ен­та­ми.

Александр Пашкевич, менеджер Intel по работе с розничными клиентами

 

Времени на исследование всех талантов Core i9-9980HK у нас не было, но экспериментальным путем все же уда­лось про­ве­рить информацию о заявленном разгонном потенциале процессора. Убедиться в том, что чип в со­сто­я­нии более, чем вдвое повысить частоту так­ти­ро­ва­ния — с штатных 2,4 GHz до 5 GHz — мы смогли, вос­поль­зо­вав­шись ус­лу­га­ми ути­лит Ja­va CPUID и NCRB.

Максимальная тактовая частота — это константа «прошитая» в процессоре, которую можно легко получить, бла­го­да­ря фун­к­ции 00000016h из набора CPUID. Выполняем ее на платформе ASUS Zen­Book Pro Duo, ос­на­щен­ной сис­тем­ной пла­той UX581GV с набором логики  Intel Cannon Point HM370.

Результат функции CPUID 00000016h: базовая и максимальная тактовые частоты Intel Core i9-9980HK CPU @ 2.40GHz

Результат функции CPUID 00000016h:
базовая и максимальная тактовые частоты Intel Core i9-9980HK CPU @ 2.40GHz

Оценка масштабируемости

Как известно, особенность схем тер­мо­кон­т­ро­ля процессоров Intel — некоторое снижение тактовой частоты при вы­со­кой нагрузке. Оценим уровень мас­шта­би­ру­е­мос­ти на примере мно­го­по­точ­но­го теста кэш-памяти L1, в ре­жи­ме чте­ния 256-бит­ны­ми AVX-инструкциями.

Чтение кэш-памяти L1, набор инструкций AVX-256, один поток

Чтение кэш-памяти L1, набор инструкций AVX-256, один поток
Maximum = 287239.61 MBPS

Чтение кэш-памяти L1, набор инструкций AVX-256, 8 потоков по количеству ядер

Чтение кэш-памяти L1, набор инструкций AVX-256, 8 потоков по количеству ядер
Maximum = 1946280.89 MBPS

Графики отражают зависимость скорости чтения блока (ось Y) от объема блока (ось X). Показанная в правом верх­нем уг­лу статистика вычисляется для всего графика, в том числе, после падения скорости при выходе раз­ме­ра бло­ка за пре­де­лы ис­сле­ду­е­мо­го уровня кэш-памяти. В контексте свойств L1 актуален левый участок графика при X<32KB, а зна­чит уме­ст­но опе­ри­ро­вать максимумами.

Минимальное значение CPI (Clocks per Instruction или тактов TSC на инструкцию) соответствует мак­си­маль­но до­сти­га­е­мой ско­рос­ти чтения. Вычислим частное максимальных скоростей 8-поточной и од­но­по­точ­ной об­ра­бот­ки, ори­ен­ти­ру­ясь на 8 — теоретическое значении, равное количеству ядер:

1946280.89 / 287239.61 = около 6.77

Резюме

Сделаем небольшое теоретическое отступление и рассмотрим факторы, ограничивающие уровень мас­шта­би­ру­е­мос­ти. Почему наличие 8 вычислительных ядер, не гарантирует рост производительности ровно в 8 раз?

  • Алгоритмические ограничения: не каждый вычислительный алгоритм хорошо поддается распараллеливанию — в ряде случаев может потребоваться интенсивный обмен информацией между потоками, выполняемыми на раз­лич­ных процессорных ядрах, в том числе ситуации, когда один поток должен ожидать результаты ра­бо­ты дру­го­го.
  • Доступ к общим ресурсам: типовые реализации современных процессоров используют приватные уровни кэш-памяти L1 и L2, в свою очередь, кэш L3 обслуживает группы ядер — это означает, что если объем об­ра­ба­ты­ва­е­мых дан­ных превышает объем L2, то потребуется ожидание данных из L3 или DRAM, вре­мя ко­то­ро­го мо­жет воз­рас­ти под нагрузкой.
  • Электрофизические ограничения: одновременная высокая загрузка всех или большого числа вычислительных ядер приводит к росту энергопотребления и рабочей температуры кристалла (кристаллов), вследствие чего схе­ма уп­рав­ле­ния вынуждена понижать тактовую частоту, во избежание повреждения микросхемы CPU и си­ло­вых тран­зис­то­ров регулятора VRM.

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