Платим блогерам
Редакция
Новости Hardware Sozi
Двойные планировщики, кэш микроопераций и новая иерархия кэш-памяти.

реклама

Новая процессорная архитектура Zen компании AMD имеет множество отличий от предыдущей архитектуры. О некоторых особенностях процессоров Zen мы уже писали, но изменения коснулись большинства составляющих процессоров, и в этом материале мы достаточно подробно разберём некоторые "тонкости" новой архитектуры, основываясь на материале, подготовленном нашими коллегами из AnandTech.

Значительным отличием от предыдущих архитектур стало появление кэш микроопераций (micro-op cache). Архитектура Bulldozer не предусматривала данный кэш, вместо чего детали для реализации часто используемых микроопераций извлекались из других кэшей. Intel использует подобную кэш-память уже на протяжении нескольких поколений процессоров, и появление этого кэша в процессорах AMD сулит им лишь увеличение скорости работы. К сожалению, объём кэша микроопераций пока что не уточняется, но говорится что он "большой".

реклама

Нажмите для увеличения

AMD не стала распространяться о механизмах работы декодера, уточнив лишь, что процессоры Zen получат "усовершенствование прогнозирования ветвлений" (branch prediction), а также что сами процессоры смогут декодировать четыре инструкции за такт, загружая их из очереди операций. Эта очередь с помощью кэша микроопераций, сможет загружать в планировщик 6 операций за цикл. Возможна будет загрузка и большего числа операций за цикл, если декодер сможет подать команду, которая потом разделится на две микрокоманды. Очередь микроопераций сможет подавать отдельно операции с целыми числами (INT) и с числами с плавающей запятой (FP). То есть AMD будет использовать отдельные планировщики, тогда как Intel использует общий INT/FP планировщик.

Целочисленная часть (INT) отвечает за работу с операциями в арифметико-логических устройствах (ALU), а также с инструкциями загрузки и сохранения в блоках генерации адреса (AGU). AGU сможет выполнять две загрузки по 16 Байт и одно сохранение на 16 Байт за цикл, используя 32 Кбайт 8-канального множественно-ассоциативного кэша перового уровня (L1) с обратной записью. Процессоры предыдущего поколения использовали кэш со сквозной записью, который являлся причиной значительных задержек при обработке частей кода. Также AMD утверждает, что операции загрузки/сохранения будут иметь значительно меньшее время ожидания в пределах кэшей, по сравнению с предшественниками.

FP-часть включает по два умножителя (MUL) и сумматора (ADD), которые обеспечат одновременную обработку двух команд умножения-сложения с однократным округлением (FMAC), и одной 256-битной AVX-команды за цикл. Сочетание частей INT и FP указывает, что AMD создала в Zen "большие" ядра и будет использовать много параллельных вычислений на уровне команд. Насколько хорошо это всё покажет себя на практике, зависит от кэша и буферов восстановления последовательности, ибо по буферам пока что нет точных данных.

Устройство кэш-памяти также претерпело изменения в архитектуре Zen. Объём и ассоциативность кэша данных первого уровня (L1-D) по сравнению с архитектурой Bulldozer были удвоены. Кэш инструкций первого уровня (L1-I) в новой архитектуре не разделён между двумя ядрами, и у него удвоена ассоциативность, что снижает количество промахов. Также AMD заявляет, что были уменьшены задержки и у кэша L1-D, и у L1-I.

На каждое ядро приходится по 512 Кбайт кэша второго уровня (L2) и он имеет 8-канальную (8-way) ассоциативность, что вдвое больше по сравнению с процессорами Intel Skylake (256 Кбайт/ядро и 4 канала). Что касается кэш-памяти третьего уровня (L3), то здесь возникла некоторая неопределённость. На слайде чётко указано, что объём кэша L3 равен 8 Мбайт, но не уточняется, на сколько ядер рассчитан этот кэш. По неофициальным данным 8-ядерные процессоры Zen получат по два набора кэша L3 по 8 Мбайт, предназначенные для каждой четвёрки ядер. То есть на одно ядро будет приходиться 2 Мбайт 16-канального L3-кэша, но в процессоре фактически не будет общего LLC-кэша, как это реализовано у Intel. Потенциально это может повысить производительность отдельного потока, но не приведёт ли это к снижению многопоточной производительности. Отметим, что AMD обещает пятикратный рост пропускной способности кэшей по сравнению с предыдущими архитектурами.

Также в новой архитектуре AMD плотно занялась вопросом энергопотребления. Сообщается, что в первую очередь достаточно низкое энергопотребление у процессоров Zen обеспечит использования 14-нм техпроцесса FinFET. Кроме того, для уменьшения энергопотребления и улучшения эффективности работы использованы некоторые методы и технологии (доработанные и улучшенные), зарекомендовавшие в процессорах Carrizo и Bristol Ridge для ноутбуков.

Нажмите для увеличения

Разработчики AMD отмечают, что снижению энергопотребления способствует агрессивный Clock gating (запрет подачи тактовых сигналов на неиспользуемые части процессора), кэш перового уровня с обратной записью, использование "большого" объёма кэша микроопераций и другие новшества архитектуры.

Каждое ядро процессора Zen, как давно известно, будет поддерживать два потока или одновременную многопоточность (Simultaneous multithreading или SMT). Главная сложность в реализации данной технологии заключается в том, что потоки не должны блокировать друг друга, загружая весь кэш и буферы. Именно здесь и пригодится собственный для каждого ядра кэш L2, разделение блоков INT и FP, и другие особенности позволят разделить нагрузку равномерно, не создавая конфликта между потоками.

Показать комментарии (90)

Сейчас обсуждают