> > > > Zen 5: дополнительные подробности об архитектуре и структуре SoC

Zen 5: дополнительные подробности об архитектуре и структуре SoC

Опубликовано:

hardwareluxx news newНа прошлой неделе мы опубликовали некоторые подробности об архитектуре Zen 5 и чипах на ее основе, теперь AMD добавила новые данные в преддверии выхода процессоров Ryzen 9000 на следующей неделе.

Архитектура Zen 5 станет базовой для AMD на ближайшие годы. В предыдущих архитектурах Zen всегда происходили мелкие и крупные изменения. Теперь Zen 5 задает определенные ориентиры, которые будут поддерживаться в следующих поколениях и служить своего рода фундаментом.

AMD разработала как обычные ядра Zen 5, так и компактные Zen 5c, поэтому может гибко адаптировать архитектуру Zen 5 для определенных чипов. Архитектура получила 512-битный путь данных с плавающей запятой и использует его, в частности, для поддержки AVX512. Но AMD также может настроить ядра таким образом, чтобы путь данных с плавающей запятой имел ширину только 256 бит.

Подобную гибкость можно видеть в Strix Point и процессорах Ryzen AI 300. В Core Complex Zen 5 с ядрами Zen 5 и Zen 5c архитектура была изменена таким образом, чтобы в каждом случае был 256-битный путь данных с плавающей запятой. Для Granite Ridge и процессоров Ryzen 9000 AMD реализовала полную ширину 512 бит, что должно быть верно и для процессоров EPYC на базе архитектуры Zen 5.

Тот факт, что в Core Complex Zen 5 в Strix Point выбран 256-битный путь для обоих типов ядер, можно объяснить необходимой совместимостью ISA для всех ядер, к чему AMD всегда стремится.

В архитектуре CPU все начинается с предсказания переходов. В поколении Zen 5 блок предсказания переходов делает больше предсказаний за такт, точность также удалось улучшить. Причина кроется в буфере L1 BTB (Branche Target Buffer) размером с кэш L2 (16K) и более крупному адресному стеку возврата с 52 записями. За такт теперь поддерживаются до трех окон предсказания. Для некоторых вычислений кэш L1 слишком мал, и данные приходится извлекать из кэша L2. AMD расширила кэш L2 ITLB (Instruction Translation Lookaside Buffer) до 2.048 записей. Кроме того, теперь можно запрашивать 64 байт за такт вместо 32 байт.

В блоке декодирования 16-way кэш OpCache стал на 33% больше, пропускная способность инструкций также увеличилась до двух раз по шесть и, соответственно, двенадцать за такт. Два конвейера декодирования работают параллельно и могут обрабатывать четыре инструкции за такт каждый. В режиме SMT каждый поток имеет выделенный конвейер декодирования.

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

Целочисленный планировщик может выполнять восемь функций Dispatch, Rename и Retire. Для целочисленных вычислений архитектура Zen 5 теперь предлагает шесть ALU (Arithmetic Logic Unit) и четыре AGU (Address Generation Units). Планировщик расширен до 56 записей для AGU и 88 записей для ALU. Файл физических регистров PRG (Physical Register File) увеличен до 240 записей, а буфер ROB (Re-Order Buffer) - с 320 до 448 записей. В режиме SMT ROB уменьшается вдвое - до 224.

Кэш данных L1 теперь увеличил размер до 48 кбайт, в архитектуре Zen 4 он был ограничен 32 кбайт. Увеличение емкости сопровождается расширением до 12-way, благодаря чему задержка load-to-use сохранилась на уровне четырех тактов. Кэш L1D может выполнять четыре доступа на чтение и два на запись. Четыре конвейера загрузки целых чисел Integer Load Pipeline можно объединить в два конвейера с плавающей точкой.

Объем буфера DTLB (Data Translation Lookaside Buffer) теперь составляет 96 записей для кэша L1 (полностью ассоциативный для всех размеров страниц) и 4.096 записей для кэша L2. Предсказание переходов играет важную роль не только в угадывании инструкций, но и в том, чтобы по возможности заранее загрузить необходимые данные. Для этого AMD разработала так называемое предсказание «2D Stride», которое распознает определенные закономерности в рабочих нагрузках.

Что касается блоков с плавающей запятой, то здесь важнейшую роль, безусловно, играет путь передачи данных шириной 512 бит. Теперь доступны четыре конвейера вычислений с плавающей запятой, которые поддерживают векторы шириной 256 или 512 бит, а не три, как это было раньше в Zen 4. Возможны две загрузки Load за тактовый цикл или одно сохранение Store. Задержка сложения Floating Points Adds (FADD) уменьшена с трех до двух тактов.

Векторный регистр расширен с 192 до 384 записей, вполне логичный шаг, учитывая удвоение пути передачи данных.

В наборе инструкций (ISA) появилось несколько новых инструкций:

  • MOVDIRI/MOVD64B - move 4,8 or 64 bytes as a direct store, bypassing caches
  • VP2INTERSECTIDQ] - AVX512 vector pair intersection to a pair of mask registers
  • VNNI/VEX – extends AVX512 instruction to VEX encoding
  • PREFETCH[I*] – software prefetch of instruction lines into cache hierarchy

Иерархия кэша и дизайн SoC

Увеличение числа и ширины исполнительных блоков потребовало повышение пропускной способности различных уровней кэша. Для Core Complex с ядрами Zen 5 схема выглядит следующим образом:

Кэш данных L1 теперь имеет размер 48 кБ, а в архитектуре Zen 4 он составлял 32 кБ. Пропускная способность между кэшами L1 и L2 удвоена с 32 до 64 байт за такт. При тактовой частоте Infinity Fabric 1.800 МГц пропускная способность между кэшем L1 и L2 удваивается с 57,6 до 115,2 ГБ/с. Пропускная способность между кэшем L2 и L3, а также интерфейс с контроллером памяти не изменились. Здесь она остается на уровне 32 байт за такт и при частоте 1.800 МГц Infinity Fabric составляет 57,6 ГБ/с.

Внутренняя пропускная способность кэша инструкций L1 остается на уровне 8-way. Кэш L1D не только увеличили с 32 до 48 КБ, но и повысили внутреннюю пропускную способность с 8-way до 12-way.

Классический Core Complex используется в Granite Ridge и процессорах Ryzen 9000. Каждый из двух CCD (Core Complex Die) содержит до восьми ядер Zen 5 и 32 МБ кэша L3.

Для Strix Point, он же Ryzen AI 300, AMD использует Core Complex с четырьмя ядрами Zen 5 и 16 МБ кэша L3, а также второй Core Complex с восемью ядрами Zen 5c и 8 МБ кэша L3. Впервые в дизайне SoC AMD использует асимметричное соотношение объема кэша L3. Конечно, AMD пришлось сделать немного больше работы по диспетчеризации потоков, так как необходимо различать не только ядра Zen 5 и Zen 5c, но и объем кэша L3.

Для процессоров EPYC на базе архитектуры Zen 5 AMD будет опираться на дизайн CCX, который может быть как больше, так и меньше того, что мы уже официально знаем. По всей видимости, здесь также будут использоваться гетерогенные дизайны. До сих пор AMD делала различие между процессорами EPYC с классическими ядрами и процессорами с компактными ядрами. Что касается встраиваемых систем (Embedded), то пока здесь используют только процессоры с ядрами Zen 4, так что о гетерогенном дизайне здесь не может быть и речи.

В дизайне SoC для Strix Point два CCX подключены к Infinity Fabric с пропускной способностью 32 байт на такт для чтения и записи. GPU имеет четыре канала передачи данных, каждый по 32 байта на такт. NPU снова подключен к Infinity Fabric с пропускной способностью 32 байт на такт.

Если предположим, что тактовая частота Infinity Fabric составляет 1.600 МГц (именно такая частота была в Phoenix и Hawk Point), то CCX и NPU будут подключены со скоростью 51,2 ГБ/с, а GPU достигнет 204,8 ГБ/с. Контроллер памяти для DDR5 и LPDDR5 достигает 89,6 и 120 ГБ/с соответственно, поэтому при некоторых нагрузках пропускная способность памяти может стать «узким местом».

В Granite Ridge CCX/CCD также подключены к IOD через Infinity Fabric. На схеме не показано асимметричное подключение, которое также используют для процессоров Ryzen 7000. IOD может считывать данные с CCD со скоростью 32 байта за такт, но может записывать только 16 байт за такт. Это приводит к тому, что процессоры Ryzen с одним CCD (Ryzen 7 9700X и Ryzen 5 9600X) будут ограничены в пропускной способности чтения. Мы уже продемонстрировали подобные ограничения на примере процессоров Ryzen 7000. Причем на Strix Point это ограничение не распространяется, оба CCX подключены двунаправленно со скоростью 32 байта за такт.

AMD выбрала асимметричное соединение в дизайне чиплетов из-за занимаемого места и энергопотребления SerDes для Infinity Fabric. Для монолитного дизайна, такого как Strix Point, эти факторы не играют роли, поскольку интеграция происходит на уровне чипа.

Интегрированный GPU процессоров Ryzen 9000 подключен через два канала передачи данных, каждый из которых передает 32 байта за такт. IOD идентичен предшественнику, соответственно, никаких изменений в этой области нет.

Zen 5c на 25% меньше Zen 5

Анонсируя компактные ядра Zen 4c, AMD с гордостью заявила, что эти ядра вместе с соответствующим кэшем L2 примерно на 35% меньше, чем большие ядра Zen 4.

Экономия для компактных ядер на базе архитектуры Zen 5 не столь значительна. Вместо 35%, ядра Zen 5c лишь на 25% меньше своих больших собратьев Zen 5.

Сравнение техпроцесса, размера и количества транзисторов
Техпроцесс Площадь кристалла Число транзисторов Плотность
CCD (Durango, Ryzen 7000) 5 нм 71 мм² 6,5 млрд. 92,9 MTr/mm²
IOD (Ryzen 7000) 6 нм 122 мм² 3,4 млрд. 27,9 MTr/mm²
CCD (Eldora, Ryzen 9000) 4 nm (N4X) 70,6 мм² 8,315 млрд. 117,78 MTr/mm²
IOD (Ryzen 9000) 6 нм 122 мм² 3,4 млрд. 27,9 MTr/mm²
Сравнение техпроцесса и размеров
  Техпроцесс Площадь кристалла Конфигурация ядер Кэш L2 Кэш L3
Phoenix1 TSMC 4 нм 178 мм² 8x Zen 4 8 Мбайт 16 Мбайт
Phoenix2 TSMC 4 нм 137 мм² 2x Zen 4 + 4x Zen 4c 6 Мбайт 16 Мбайт
Hawk Point1 TSMC 4 нм 178 мм² 8x Zen 4 8 Мбайт 16 Мбайт
Hawk Point2* TSMC 4 нм 137 мм² 2x Zen 4 + 4x Zen 4c 6 Мбайт 16 Мбайт
Strix Point TSMC 4 нм (N4P) 232,5 мм² 4x Zen 5 + 8x Zen 5c 12 Мбайт 24 Мбайт

Менее компактный дизайн ядер Zen 5c и их количество по схеме 4+8 также станут одной из причин сравнительно большого размера чипа Strix Point – 232,5 мм², несмотря на производство по техпроцессу 4 нм.

Тесты отсутствуют

Процессоры Ryzen 9000 скоро должны показать, сможет ли AMD оправдать свои прогнозы по производительности. Мы повторно протестировали множество процессоров предыдущих поколений AMD и Intel, чтобы обновить базу данных бенчмарков свежими результатами. Процессоры Ryzen 9000 будут доступны с 31 июля. Однако AMD еще не объявила цены.

Подписывайтесь на группу Hardwareluxx ВКонтакте и на наш канал в Telegram (@hardwareluxxrussia).

Мы рекомендуем ознакомиться с нашим руководством по выбору лучшего процессора Intel и AMD на текущий квартал. Оно поможет выбрать оптимальный CPU за свои деньги и не запутаться в ассортименте моделей на рынке.