Страница 3: Информация, известная с лета

Мы также собрали всю известную информацию, опубликованную летом.

Более высокая однопоточная производительность и улучшенные структуры кэша

Сразу же отметим, что концепция архитектуры Zen довольно близка к спецификациям архитектуры Intel Broadwell. Это будет ясно чуть ниже, когда мы поговорим о Zen подробнее. Отметим схожий конвейер и конфигурацию кэша, как у Broadwell, а также 14-нм техпроцесс FinFET, соответствующий процессорам Skylake.

Чтобы достичь высокой многопоточной производительности AMD в процессорах Zen добавила поддержку SMT (Simultaneous Multithreading), как и Intel. Также имеются улучшения в блоке предсказания ветвлений, что увеличивает шанс выполнения правильных инструкций в соответствующие моменты времени. AMD добавила к трем уровням кэша еще и кэш микро-операций, улучшила возможности обмена данными между кэшами и внесла ряд оптимизаций. Принятые меры позволили увеличить число выполняемых инструкций за такт (IPC) на 40%, но тому также способствовали улучшенный диспетчер и оптимизация ресурсов работы с памятью.

Конечно, ядра должны давать высокую вычислительную производительность, но и обмен данными не должен упираться в ограничения пропускной способности интерконнекта. AMD улучшила блок Pre-Fetcher и структуру кэша L3 объемом 16 Мбайт. Свой вклад вносит более крупный кэш L2 (512 кбайт на ядро) для инструкций и данных. Кэш L1 составляет 64 кбайт для инструкций и 32 кбайт для данных, он также был ускорен в плане задержек. Все это позволило AMD заявить о приросте пропускной способности кэша в пять раз по сравнению с Bulldozer.

Внутренняя структура кэша позволяет обмениваться данными между кэшами L1 и L2 в ядре с пропускной способностью 32 байта за такт. В случае инструкций возможна передача только из кэша L2 в L1. Данные могут передаваться между двумя кэшами в двух направлениях. Пропускная способность 32 байта за такт как раз обеспечивается в двух направлениях. Между кэшем L2 и L3 мы получаем тоже обмен в двух направлениях с пропускной способностью 32 байта за такт.

Кроме изменений внутренней структуры важное влияние на увеличение производительности оказала поддержка SMT. Как и у процессоров Intel, технология SMT превращает физическое ядро в два логических, что позволяет одновременно выполнять два потока. Похоже, что AMD во многом скопировала работу SMT у Intel, но ничего зазорного в этом мы не видим.

Повышение эффективности благодаря оптимизации техпроцесса и архитектуры

Кроме увеличения производительности AMD смогла добиться увеличения эффективности благодаря снижению энергопотребления. Причина кроется не только в новом техпроцессе, но и в улучшениях архитектуры. Например, важную роль играет стробирование (clock gating), когда разные области процессора могут работать с разными частотами и напряжениями. Также работа кэша L1 Write Back, кэша Micro-Op и Stack Engine была оптимизирована, чтобы снизить энергопотребление. В частности, AMD попыталась минимизировать число операций чтения и записи данных и инструкций.

Увеличение эффективности AMD обуславливает и переходом на 14-нм техпроцесс FinFET. Процессоры изготавливаются на мощностях Globalfoundries. Потенциал для роста в будущем тоже имеется. Globalfoundries планирует отказаться от 10-нм техпроцесса, чтобы сразу перейти на технологию 7 нм.

AMD сравнивает усилия, затраченные на разработку архитектуры Zen, со своими прошлыми архитектурами, в том числе Bulldozer, Piledriver, Steamroller и Excavator. Похоже, что компания довольна результатом. Но архитектура Zen – это только первый шаг, причем первые продукты появятся на рынке лишь в начале 2017 года. Но AMD уже говорит о дальнейшем прогрессе с архитектурой Zen+.

Но есть и другие инновации. Первая область – кэш микроопераций, представляющий важную инновацию в архитектуре Zen. В кэше хранится уже декодированный код. Команды из декодеров или кэша микроопераций затем передаются в очередь микроопераций. К сожалению, AMD не раскрыла объем кэша микроопераций и очереди. В очереди, скорее всего, как и у Intel, идет анализ циклов. Если циклы будут найдены, то можно их выделить и избежать обращения к фронтальной части конвейера.

После диспетчера у Zen конвейер вновь несколько отличается от Intel. У Intel используется общий Reorder Buffer для целочисленных инструкций и инструкций с плавающей запятой. Но AMD разделяет их после диспетчера. За такт диспетчер Zen может распределять 6 микроопераций с целыми числами. Что касается операций с плавающей запятой, то здесь за такт могут распределяться 4 микрооперации. Доступно 168 регистров для целых чисел и 160 для чисел с плавающей запятой.

Вычисления с плавающей запятой выполняются двумя блоками 128-bit FP-MUL и двумя блоками FP-ADD. При необходимости, они могут объединяться в 256-bit AVX2. Пока нет информации о том, может ли AMD выполнять операции Fused Multiply Add (FMA) за такт. Intel использовала два подобных блока в Haswell. Если таких блоков у AMD нет, то Zen ближе к поколению Sandy Bridge, нежели Haswell.

AMD ранее раскрыла часть подробностей о кэшах, теперь была дана более детальная информация. Кэш L1 составляет 96 кбайт, из которых 64 кбайт выделено на инструкции, а 32 кбайт – на данные. По крайней мере, для инструкций мы получаем в два раза больший кэш, чем у Skylake, для данных размер идентичен. Кэш L2 в два раза больше – 512 кбайт. Но важен не только размер, но и скорость работы кэшей. По сравнению с Bulldozer кэши L1 и L2 работают примерно в два раза быстрее, кэш L3 ускорился до пяти раз.

Чтобы упростить структуру процессоров, AMD объявила новый компонент: CPU Complex. CPU Complex состоит из четырех ядер вместе с кэшами L1 и L2, а также с двумя сегментами кэша L3 по 1 Мбайт на ядро. В результате мы получаем 8 Мбайт кэша L3 в CPU Complex. Чип Zeppelin, судя по слухам, будет содержать два таких CPU Complex, кроме CPU на нем будут присутствовать два канала памяти DDR4 и 32 линии PCI Express. Официально AMD пока не рассказала о части Uncore в архитектуре Zen.

CPU Naples содержит 32 ядра, то есть четыре Zeppelin. Связь между четырьмя блоками Zeppelin выполняется через Hyper-Transport. Соответственно, будут доступны 128 линий PCI Express и восемь каналов памяти DDR4. Чип будет устанавливаться в сокет с более чем 5.000 контактами.

Выше приведена информация, которую AMD опубликовала летом. Но оценивать процессоры Zen по-прежнему сложно. Конечно, AMD раскрыла довольно много информации, но до проведения первых независимых тестов вряд ли получится сделать выводы о производительности. В любом случае, архитектура Zen стала значимым шагом для AMD.

Два новых теста позволяют надеяться на высокие результаты AMD. После дополнительных оптимизаций процессоры Zen вполне могут обойти поколение Broadwell-E от Intel. Но здесь многое зависит от действий Intel и возможностей новых процессоров Kaby Lake.