Страница 2: Подробности архитектуры Zen 4

На первой странице мы упомянули некоторые изменения по сравнению с Zen 3, однако к ним стоит присмотреться более детально.

Как и с любой архитектурой CPU, у разработчиков были определенные цели, которые необходимо достичь. С Zen 4 планировалось увеличить IPC, а также снизить задержки. Вместе с тем объем кэша L2 должен быть удвоен, а кэш L3 оставлен прежним. Помимо увеличения производительности, речь шла о повышении эффективности.

С архитектурой Zen 4 было значительно улучшено предсказание ветвлений. Теперь каждый такт могут выполняться два предсказания ветвлений. Кэш операций стал на 68% больше, он может выдавать девять макроопераций вместо восьми за такт в очередь. Функциональные блоки по вычислениям в целых числах и с плавающей запятой не изменились. Но регистровые файлы стали больше. Блоки вычислений с плавающей запятой отвечают, в том числе, за инструкции AVX-512.

В задней части конвейера произошли оптимизации блоков load/store, которые получили на 22% большую очередь загрузки. Оптимизации были внесены и в кэш данных, что привело к снижению количества конфликтов.

Иерархия кэшей почти не изменилась, разве что кэш L2 удвоился до 1 Мбайт. Кэш L1 по-прежнему вмещает по 32 кбайт инструкций и данных. Обе области кэша L1 могут обмениваться с кэшем L2 со скоростью 32 байт данных за такт. Такая же пропускная способность гарантируется и для связи между кэшем L2 и L3.

В таблицах выше приведены изменения в числах. Можно видеть более крупный кэш микро-операций, кэш L2, L2 TLB, целочисленный регистр, регистр FP, L1 BTB и L2 BTB.

Но также есть моменты, по которым Zen 4 теоретически хуже Zen 3. например, задержки L2 увеличились с 12 до 14 тактов. Кэш L3 теперь доступен за 50 тактов против 46 ранее.

Важным преимуществом будет интеграция поддержки AVX-512 в архитектуру Zen 4. Как мы упоминали ранее, AMD реализовала поддержку через 256-битные операции, которые выполняются два раза, что и дает 512 бит. Если верить AMD, при выполнении инструкций AVX-512 никаких последствий по тактовой частоте ядер не ожидается. С процессорами Intel обычно все иначе.

Поддерживаются следующие инструкции AVX-512:

  • AVX512F
  • AVX512DQ
  • AVX512_IFMA
  • AVX512CD
  • AVX512BW
  • AVX512VL
  • AVX512_VBMI
  • AVX512_VBMI2
  • GFNI
  • AVX512_VNNI
  • AVX512_BITALG
  • AVX512_VPOPCNTDQ
  • AVX512_BF16

Вероятно, AMD сможет раскрыть потенциал поддержки инструкций AVX-512 только на процессорах EPYC. Для настольных Ryzen 7000 поддержка не так важна. Но мы все равно провели тесты, чтобы показать влияние на производительность.