В 2017 году AMD выпустила процессоры на архитектуре Zen, которые впервые за долгое время вернули компании звание достойного конкурента Intel. С того момента прошло уже больше семи лет, и сегодня мы говорим уже о пятом поколении популярной архитектуры — Zen 5. Рассмотрим, какие улучшения она принесла с собой, и какого прироста производительности ждать от новых процессоров на ее базе. 3 июля 2024 года компания AMD представила новую линейку процессоров Ryzen 9000 для десктопных компьютеров, а также Ryzen AI 300 для ноутбуков. В их основу легла архитектура Zen 5, пришедшая на смену четвертому поколению Zen. Какие улучшения и изменения получили новинки? Много ли в них отличий от процессоров на прошлой версии архитектуры? Разбираем по порядку.
Внутреннее устройство Ryzen 9000
Ранее уже было рассказано про устройство платформы AMD AM5 и процессоров Ryzen 7000. В новых Ryzen 9000 чип ввода-вывода (IOD), производящийся по техпроцессу 6 нм, остался неизменным с прошлого поколения. Как и прежде, в его коммуникационные возможности входит 28 линий PCI-E 5.0: 16 — для графики, восемь — для двух NVMe-накопителей, и еще четыре — для связи с чипсетом на плате. Среди дополнительных соединений — четыре порта USB 3.2 Gen 2 10 Гбит/с, и еще один порт USB 2.0 для прошивки BIOS.
Никуда не делась и встроенная графика на базе архитектуры RDNA2 с двумя вычислительными блоками CU. Единственное изменение, относящееся к IOD, относится к режимам работы контроллера оперативной памяти. Для него были проведены оптимизации, расширяющие возможности работы в режиме делителя 1:2. К тому же, теперь по умолчанию поддерживается частота ОЗУ в 5600 МГц, тогда как в прошлом поколении она составляла 5200 МГц.
Процессоры обзавелись новыми вычислительными чиплетами (CCD). Как и прежде, в каждой модели их один или два. Внутри одного CCD находится шесть или восемь активных ядер. То есть, общее количество ядер по сравнению с прошлыми линейками Ryzen не возросло — их может быть 6, 8, 12 или 16.
Вычислительные чиплеты производятся по более тонкой технологии — 4 нм против 5 нм у предшественников. По заявлениям AMD, это позволило понизить энергопотребление на значение до 22%. Плотность транзисторов при этом увеличилась на 6%. Но главное в CCD не это, а новая архитектура вычислительных ядер — Zen 5.
Системы выборки и кэширования
Самые заметные изменения получила подсистема выборки данных. В отличие от Intel, которая в 11 и 12 поколении Core расширила декодер сначала до пяти, а потом до шести полос, AMD пошла другим путем. В Zen 5 она впервые применила декодер с двумя четырехполосными конвейерами.
За счет такого решения появилась возможность заметно поднять эффективность предсказаний: заглянуть в предполагаемое будущее с двойными декодерами и предсказателями можно куда «глубже». Для этого эти блоки получили специальные оптимизации. В том числе новый механизм Zero-Bubble, предназначенный для минимизации потерь производительности при неверных предсказаниях.
Для эффективной работы двойного декодера был значительно увеличен буфер целей ветвлений (BTB): с 1.5 до 16 Кб для первого уровня, с 7 до 8 Кб — для второго. Одновременно подрос буфер трансляции второго уровня (TLB) — с 512 до 2048 записей, а также стек адресов возврата — с 32 до 56 записей.
Кэш инструкций (L1I) составляют все те же 32 Кб, что и в прошлом поколении. Но теперь им могут пользоваться одновременно оба декодера, поэтому его скорость увеличили вдвое. Параллельно этому был усовершенствован кэш микроопераций (L0): его ассоциативность была увеличена с 12- до 16-канальной, а пропускная способность возросла на треть.
Не менее «прокачана» была и подсистема кэшей для данных. Кэш первого уровня (L1) был увеличен с 32 до 48 Кб, а его ассоциативность — с 8 каналов до 12. Кэш второго уровня остался прежнего размера, но его ассоциативность была увеличена вдвое — с 8 каналов до 16. Кратно ассоциативности возросла и пропускная способность обоих кэшей.
Кэш третьего уровня существенных изменений не претерпел: и размер, и ассоциативность остались такими же, как у Zen 4. Однако AMD поработала над его задержкой — теперь она немного меньше, чем поколением ранее.
Целочисленный конвейер
Усовершенствованная система выборки не будет иметь особого смысла без расширения целочисленного конвейера. Поэтому здесь AMD поступила схоже с Intel, и расширила конвейер с восьми исполнительных портов до десяти. Количество арифметико-логических устройств (ALU) в ядре было увеличено с четырех до шести. Теперь три из них умеют ускорять операции умножения (Multiply), а оставшиеся три — исполнять переходы (Branch). Для сравнения: в Zen 4 первой разновидности не было, а переходами могли заниматься только два блока, из которых лишь один совмещен с ALU.
Возросло и количество блоков генерации адресов (AGU) — с трех до четырех. Благодаря этому новое ядро производит на одну операцию загрузки/выгрузки в кэш больше, чем ранее. А блок переименования целочисленных регистров вместо шести операций за такт теперь умеет выполнять восемь.
Количество планировщиков было сокращено с четырех до двух. Но взамен они стали более чем в два раза производительнее. Вдобавок были расширены их возможности. Для ALU теперь поддерживается 88 записей, для AGU — 56. В Zen 4 они были куда скромнее: до 72 записей (3х24) для ALU вместе с AGU, плюс еще 24 записи только для ALU. Объем регистрового файла тоже вырос — с 224/126 до 240/192 записей, а буфер очереди — с 320 записей до 448.
Блок вычислений с плавающей запятой
Целочисленный конвейер получил немало новшеств. Но еще больше был усовершенствован блок вычислений с плавающей запятой (FPU).
Главное улучшение — новый единый блок 512-битных вычислений, тогда как в прошлом поколении такие вычисления выполняли два 256-битных блока. За счет этого инструкции AVX512 и VNNI выполняются заметно быстрее. И хотя отдельных ускорителей искусственного интеллекта в десктопных процессорах не появилось, новый FPU теперь подходит для них заметно лучше, чем решение прошлого поколения.
Как и у Zen 4, у FPU Zen 5 шесть исполнительных портов. Однако и они получили усовершенствования. Вычислительную часть представляют четыре конвейера, два из которых могут выполнять умножения, сложения и накопления (Multiply, Add, Accumulate — MAC), а еще два — только сложения (Add). Компанию им составляют два порта сдвига (Shift, ST). За один такт они могут произвести две 512-битные загрузки или одну такую же выгрузку данных в кэш-память. Количество планировщиков было увеличено с двух до трех, а блок переименования плавающих регистров научился выполнять шесть операций за такт вместо четырех. Объем регистрового файла возрос вдвое — со 192 до 384 записей.
Заключение
За счет совокупности всех улучшений, IPC новой архитектуры должен был вырасти достаточно заметно. По заявлениям компании AMD, преимущество Zen 5 достигает в среднем 16% по сравнению с Zen 4 при меньшем энергопотреблении.
Первые тесты показывают, что новые процессоры действительно потребляют меньше. А вот рост производительности пока не всегда бывает таким высоким, как заявляет разработчик. Причина в том, что изменения в Zen 5 направлены не столько на увеличение производительности в уже имеющемся ПО, сколько на будущее. Хотя во многих играх они уже сейчас выступают заметно лучше своих предшественников.
Слабым местом архитектуры AMD Zen 4 по сравнению с конкурирующей Intel Golden Cove был четырехполосный декодер. У Zen 5 два таких декодера. Но это вовсе не означает, что новые ядра могут исполнять до восьми инструкций за такт. В некоторых случаях единственный шестиполосный декодер, как у Golden Cove, пока остается предпочтительнее. Ключевое слово — пока.
Если разработчики программного обеспечения подтянутся, и станут использовать особенности декодера Zen 5 и улучшения FPU, то у новой архитектуры есть шанс со временем заметно оторваться от предшественницы. Если же ПО будет продолжать создаваться с прицелом на Intel с его широким декодером и отсутствием спешки с AVX512, то высокий прирост в повседневных задачах новая архитектура по сравнению с Zen 4 вряд ли покажет.