
CPU
Микроархитектура AMD ZEN: шаг вперед или назад? Часть 1
- Информация о материале
- Категория: CPU
- Опубликовано: 14.10.2017, 18:56
- Автор: ServersTech.ru

В 2017 году компания AMD представила процессоры Ryzen с новой микроархитектурой Zen. Сегодня редакция ServersTech.ru детально разберет микроархитектуру Zen на примере различных буферов и очередей и сравнит их с предшествующими микроархитектурами Bulldozer и K10.
Остальные материалы по микроархитектуре Zen собраны здесь.
В процессоре существует много различных буферов и очередей, но несмотря на разное расположение их в ядре задача у них, как правило, одна - обеспечить максимальную загрузку исполнительных устройств, так например, большая емкость буфера переупорядочивания инструкций позволяет эффективно загрузить исполнительные устройства процессора, благодаря внеочередному исполнению инструкций. Как правило, каждая новая микроархитектура (как у Intel, так и у AMD) увеличивает размеры буферов и очередей относительно предшественника. Обратимся к справочной информации и проверим это.
K10 |
Bulldozer |
Zen |
|
Очередь планировщика (integer) |
3х8 |
40 (+67%) |
6х14 (+110%) |
Очередь планировщика (FP) |
3х12 |
60 (-17%) |
96 (+220%) |
Физический регистровый файл для целочисленных операндов |
40 |
96 (+140%) |
168 (+75%) |
Физический регистровый файл для операндов с плавающей точкой |
120 |
160 (-34%) |
160 (+100%) |
Буфер загрузки |
32 |
40 (+25%) |
72 (+80%) |
Буфер выгрузки |
12 |
24 (+100%) |
44 (+83%) |
Среднеарифметический процент прироста: |
+47% |
+111% |
Очередь планировщика целочисленной арифметики
Микроархитектуры K10 и Zen схожи тем, что используют несколько очередей - 3 и 6 очередей соответственно; Bulldozer стоит в стороне - у планировщика одна емкая очередь. Что касается емкости, то она росла с течением лет: K10 - 24 записи, Bulldozer - 40, Zen - 84.
Очередь планировщика арифметики с плавающей точкой
Микроархитектуры Zen и Bulldozer используют одну емкую очередь, а K10 - три маленьких. Что касается емкости, то здесь ситуация неоднозначная: несмотря на то, что очередь планировщика FP в Bulldozer имеет емкость в 60 записей, а K10 - 36, необходимо помнить, что у K10 каждое ядро располагает блоком FPU со своим планировщиком, а в Bulldozer FPU и планировщик одни на два ядра, то есть в пересчете на одно ядро очередь планировщика FP у Bulldozer меньше, чем у K10. Что касается Zen, то здесь колоссальный рост емкости по сравнению с предшествующим Bulldozer (в пересчете на одно ядро).
Физический регистровый файл для целочисленных операндов
Здесь на лицо рост регистрового файла с течением времени, причем переход с K10 на Bulldozer обеспечивает больший относительный прирост, чем с Bulldozer на Zen.
Физический регистровый файл для операндов с плавающей точкой
С регистровым файлом FPU ситуация аналогичная с очередью планировщика FP Bulldozer - в пересчете на одно ядро при переходе с K10 на Bulldozer емкость снизилась на 34%. Что касается сравнения Zen с Bulldozer, при пересчете емкости на одно ядро Zen явно лидирует.
Буфер загрузки
Новоиспеченная микроархитектура Zen почти вдвое (+80%) увеличила буфер загрузки по сравнению с предшествующим Bulldozer.
Буфер выгрузки
Буфер выгрузки растет интенсивнее, чем буфер загрузки - Bulldozer увеличил его вдвое по сравнению с K10, а Zen в свою очередь на 83% по сравнению с первым.
Если посчитать среднеарифметический прирост, то Zen «вырос» на 111% по сравнению с Bulldozer (основная причина такого роста заключается в том, что ресурсы FPU у Bulldozer являются общими для двух ядер. Если пересчитать проценты по абсолютным значениям, то прирост будет на уровне 68%).
Подытоживая, объемы буферов росли от архитектуры к архитектуре, что вполне закономерно – аналогичное происходит и у Интел - при переходе с Nehalem на Skylake среднеарифметический прирост составил 71% (подробнее здесь).
Подводя итог по данному материалу, планировщик ALU Zen ближе к K10, так как использует несколько небольших очередей, тогда как в Bulldozer - одна емкая очередь. Что касается планировщика FP, то всё наоборот - Zen и Bulldozer используют одну емкую очередь, а K10 - несколько маленьких. Таким образом, Zen использует различные подходы в организации буферов, взяв от предшественников наиболее удачные решения.
Остальные материалы по микроархитектуре Zen собраны здесь.