Обзор и тестирование инженерного образца процессора с микроархитектурой AMD Zen. Краткое описание архитектуры

В 2017 году компания AMD представила процессоры Ryzen с новой микроархитектурой Zen. Сегодня редакция сайт детально разберет микроархитектуру Zen, проследив как изменились задержка и пропуск инструкций с K10.

Помимо привычных способов повышения производительности процессора (повышение тактовой частоты, увеличение ширины исполнительного тракта, расширение разрядности ИУ и векторизация инструкций), существует неочевидный способ - снижение таймингов инструкций, то есть сокращение времени выполнения инструкций. Например, снижение времени выполнения операции деления вдвое будет условно равно удвоению тактовой частоты процессора при выполнении деления (с большим количеством допущений). Таким образом, снижение таймингов выполнения инструкций может быть вполне действенным способом, хоть и весьма ограниченным и специфичным (так как для повышения быстройдествия всего процессора необходимо снизить тайминги всех инструкций, тогда как в реальности обычно происходит снижение таймингов лишь определенных инструкциий, что ускоряет процессор только в узком круге задач).
Всего существует два наиболее важных тайминга: задержка (latency) и пропуск (reciprocal throughput). Где задержка выражается в тактах, которые необходимы для выполнения инструкции, а пропуск - количество тактов, которые необходимо пропустить для выполнения следующей инструкции в данном ИУ. Сравним тайминги некоторых инструкций для K10, Bulldozer и Zen, используя справочные данные Agner Fog .

Таблицы будут построены следующим образом: в колонке «Инструкция» будет указана инструкция и операнды (m, m32, m64, m128, m256 - память; r, r32, r64 - РОН; mm - регистры MMX; xmm - регистры SSE; ymm - регистры AVX); в колонках K10, Bulldozer и Zen будут указаны непосредственно тайминги в тактах для данных микроархитектур по схеме «задержка (пропуск)».

Инструкции X86

Инструкция

MOV: перессылка данных из памяти в регистры у Zen на уровне K10 - 3 такта, в то время как у Bulldozer - 4 такта.
XCHG: обмен данными между регистрами у Zen «бесплатный» (с пропуском в 0.33 такта), в то время как у K10 и Bulldozer 2 и 1 такта соответственно. Обмен данными между регистром и памятью у Zen больше, чем у K10 - 30 тактов против 21, но меньше, чем у Bulldozer - 50.
PUSH: для помещения числа в стек всем участникам требуется 1 такт.
POP: извлечение числа из вершины стека у Zen происходит за полтакта, в то время как раньше это требовало 1 такт.
ADD: операция сложения чисел у K10, Bulldozer и Zen требует 1 такт, но необходимо отметить, что у K10 пропуск 1/3 такта, Bulldozer - 1/2, а у Zen - 1/4 такта.
Аналогичная ситуация и с вычитанием (SUB), изменением знака числа (NEG), инкрементом (INC), декрементом (DEC), логическим И (AND), логическим ИЛИ (OR), логическим исключающим ИЛИ (XOR), инверсией битов (NOT).
MUL: беззнаковое умножение на Zen стало вдвое быстрее, чем на Bulldozer - 3 такта против 6.
IMUL: умножение на Zen требует всего 3 такта, в то время как на Bulldozer - 6, а на K10 - 4.
DIV: деление беззнаковых чисел также ускорилось: Zen требует 14-46 тактов; Bulldozer - 16-75; K10 - 15-78.
IDIV: операция деления существенно ускорилась в Zen - 14-47 тактов против 22-79 у Bulldozer.
Подводя промежуточный итог, основные инструкции из набора Х86 стали выполняться на Zen быстрее, чем на предшественниках, то есть Zen даже на одинаковой частоте с предшественниками будет показывать большую производительность (при преобладании представленных инструкций в коде).

Инструкции X87

На сегодняшний день набор инструкций Х87 почти не используется в современных программах, а в процессорах он оставлен для совместивости (тот самый «+» архитектуры х86). Данный набор инструкций уже давно не разивается - не добавляются ни новые инструкции, ни регистры.

Инструкция

FLD: загрузка вещественного числа в стек в Zen стала быстрее - 1 такт против 2 тактов, но пропуск увеличился - в K10 и Bulldozer пропуск равнялся 0,5 такта, а в Zen - 1 такт.
FST: с копированием вещественного числа из стека ситуация аналогичная FLD.
FILD: загрузка целого числа в стек в Zen стала быстрее, чем в Bulldozer - 8 тактов против 12, но медленнее, чем в K10 (6 тактов).
FIST: с копированием целого числа из стека ситуация аналогичная FILD.
FISTP: со считыванием целого числа из стека ситуация аналогичная FILD.
FADD: сложение вещественных чисел в Zen происходит за 5 тактов, тогда как в Bulldozer - 5-6, а в K10 - 4.
FSUB: с вычитанием вещественных чисел ситуация аналогичная FADD.
FMUL: с умножением вещественных чисел ситуация аналогичная FADD.
FDIV: деление вещественных чисел действительно стало быстрее - как по задержке, так и по пропуску: Zen выполняет операцию за 8-15 тактов, а Bulldozer - 10-42 и K10 - 31.
FSQRT: извлечение квадратного корня также ускорилось: Zen выполняет операцию за 8-21 тактов, а Bulldozer - 10-53 и K10 - 35.
FXTRACT: извлечение экспоненты и мантиссы у Zen стало медленнее, чем в Bulldozer - увеличился пропуск на 2 такта, при сохранении задержки на прежнем уровне в 10 тактов.
FCOS: вычисление косинуса в Zen происходит быстрее, чем в Bulldozer - 50-115 тактов против 160.
FSIN: с вычислением синуса ситуация аналогичная FCOS.
Как отмечалось выше, набор инструкций Х87 не развивается и сохраняется для совместимости - это видно по времени исполнения инструкций в Zen, где скорость выполнения многих инструкций хоть и выше, чем в Bulldozer, но ниже, чем в K10, который вышел в 2007 году. Из рассмотренных инструкций существенное ускорение получили только деление вещественных чисел FDIV и извлечение квадратного корня FSQRT.

Инструкции MMX

Набор инструкций MMX был анонсирован 1997 году и предложил восемь 64-битных регистров mm и 57 инструкций. На сегодняшний день данный набор инструкций устарел и не развивается - оставлен в современных процессорах для совместимости.

Инструкция

MOVD: перессылка данных в Zen в зависимости от операндов стала либо быстрее, либо осталась на уровне K10, например: пересылка из РОН в регистры mm в Zen осуществляется за 3 такта, тогда как в K10 - за 6 тактов.
MOVQ: пересылка учетверенных слов между регистрами mm в Zen вдвое быстрее, чем в K10 - 1 такт против 2 (аналогично и пропуск - 0.25 такта против 0.5).

С логическим ИЛИ (POR), логическим И (PAND), побитовым логическим НЕ (PANDN) ситуация аналогичная PXOR.
PMADDWD: умножение четырех слов в Zen происходит с той же скоростью, что и в K10 (но быстрее, чем в Bulldozer).
PCMPEQB: проверка равенства байтов в Zen требует 1 такт, а в K10 и Bulldozer - 2 такта.
Как можно заметить, из рассмотренных инструкций значительная часть стала выполняться быстрее в Zen, чем у предшественников.

Инструкции SSE

Наборы инструкций SSE (SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2) получили широкое распространение и до последнего времени (до появления AVX) активно развивались. Данные наборы инструкций решили основные недостатки MMX (работа только с целыми числами и невозможность параллельной работы с MMX и X87) и предоставили восемь (в последствии 16) 128-битных регистров. Большое количество инструкций (около 300), 128-битные регистры, работа с вещественными числами и удобство работы (по сравнению со стеком в Х87) позволили отказаться от MMX и Х87. Рассматротрим некоторые инструкции из наборов SSE.

Инструкция

MOVD: перессылка данных в Zen в зависимости от операндов стала либо быстрее, либо осталась на уровне K10, например, пересылка из РОН в регистры xmm в Zen осуществляется за 3 такта, тогда как в K10 - за 6 тактов.
MOVQ: пересылка учетверенных слов между регистрами xmm в Zen в 2,5 раза быстрее, чем в K10 - 1 такт против 2.5.
PXOR: побитовое логическое исключающее ИЛИ в Zen осуществляется за 1 такт против 2 в K10.
ADDPS: параллельное сложение четырех пар чисел с плавающей точкой в Zen происходит за 3 такта, тогда как в K10 - 4, а в Bulldozer - 5-6.
Аналогично и с инструкциями сложения вещественных чисел (ADDSS), параллельного вычитания вещественных чисел (SUBPS) и параллельного умножения вещественных чисел (MULPS и MULSS).
DIVPS: параллельное деление вещественных чисел в Zen стало существенно быстрее, чем в K10 - 10 тактов против 18 (аналогично и с пропуском).
SQRTPS: извлечение квадратных корней из четырех чисел требует 9-10 тактов у Zen, в то время как у K10 - 21 такт, а у Bulldozer - 14-15.
ANDPS: операция побитового логического И в Zen осуществляется за 1 такт, а в в K10 и Bulldozer - за 2 такта.
Аналогично и с операциями побитового логического ИЛИ (ORPS) и побитового логического исключающего ИЛИ (XORPS).
Инструкции AVX Наша Редакция не включила по причине того, что они отсутствуют в K10, а следовательно, не получится проследить развитие микроархитектур.

Заключение

Как можно заметить, компания AMD основательно поработала над микроархитектурой Zen, изменив не только концепцию построения ядра, количество ИУ, декодеров и прочее, но и также сократила тайминги выполнения многих инструкций, что также положительно скажется на производительности в различных приложениях. При этом важно понимать, что «ускорились» далеко не все инструкции, так например, если классические инструкции Х86 в большей своей мере (из рассмотренных) стали выполняться в Zen быстрее по сравнению с предшественниками, то инструкции Х87 практически не получили какого-либо ускорения (что еще раз говорит о том, что набор инструкций Х87 устарел, хотя и остается необходимым для совместимости). Векторные инструкции (MMX и SSE) также стали выполняться быстрее. Таким образом, AMD не просто «скопировала» части K10 и Bulldozer в Zen, а существенно переработала ИУ, сделав их быстрее (интересно будет сравнить по таймингам Intel и AMD).

Остальные материалы по микроархитектуре Zen собраны .

Компания AMD уже давно пообещала, что после вывода на рынок полного модельного ряда Ryzen для настольных систем она примется за Ryzen Mobile — мобильные разновидности новых процессоров. Такие процессоры давно обсуждаются под кодовым именем Raven Ridge, и согласно предварительным данным, они получат четыре вычислительных ядра Zen и графическое ядро с архитектурой Vega. Теперь же, благодаря базе данных бенчмарка Ashes of Singularity, получено реальное подтверждение не только существования такой разработки, но и то, что она находится в стадии, близкой к финальной. Более того, зафиксированные результаты раскрывают имя будущего APU: он проходит под названием Ryzen 5 2500U.

Вероятно, AMD Ryzen 5 2500U окажется одной из старших моделей в перспективном семействе APU Raven Ridge, нацеленном на лёгкие и тонкие ноутбуки. Если данные бенчмарка верны, то такой процессор получит четыре ядра с поддержкой технологии SMT (многопоточности) и графическое ядро AMD 1500 Graphics, относящееся к поколению Vega. Иными словами, двухтысячная серия в номенклатуре Ryzen будет отдана для APU компании, базирующихся на микроархитектуре Zen.

Ранее компания AMD уже успела подтвердить, что процессоры Raven Ridge действительно получат графическое ядро, основанное на архитектуре Vega. Также, согласно официальной информации, первые ноутбуки с процессорами семейства Ryzen Mobile появятся на прилавках магазинов до конца года. Пилотные модели мобильных компьютеров на базе новых процессорах AMD, нацеленные на массовый сегмент, вероятно будут анонсированы в конце третьего квартала. Подобные же продукты для корпоративного рынка запланированы на первую половину 2018 года.

В сравнении с прошлым поколением APU, Bristol Ridge, перспективные гибридные процессоры AMD с новой архитектурой должны будут предложить как минимум 50-процентный рост вычислительной производительности и не менее чем 40-процентный прирост графического быстродействия при снижении энергопотребления более чем вдвое.

К сожалению, появившиеся в базе данных бенчмарка Ashes of Singularity скоростные показатели будущего APU пока не релевантны и не отражают реальное быстродействие Raven Ridge.

Новая процессорная архитектура 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, и другие особенности позволят разделить нагрузку равномерно, не создавая конфликта между потоками.

Сегодня именно тот случай, когда во вводной части статьи можно было бы написать тысячи слов. Ещё бы, ведь выходит Ryzen - самый многообещающий за последние пять лет x86-процессор, который к тому же имеет огромное значение для того, по какому пути индустрия персональных компьютеров пойдёт в ближайшей перспективе. Однако вы наверняка ждёте от нас не пространных рассуждений на тему того, насколько ожидаем новый продукт и как было бы хорошо, если бы на рынок процессоров вернулась полноценная конкуренция. Поэтому мы не будем откладывать самое интересное на потом, а сразу перейдём к техническим деталям, а потом и к тестам.

То, как разгоняется (а вернее, не разгоняется) Ryzen 7 1800X, очень хочется списать на сырость платформы. Добиться стабильной работы этого процессора на частотах, хоть немного превышающих номинальные значения, нам удалось с большим трудом. В разгоне прогресс по частоте идёт очень вяло, а дополнительно поднимать напряжение V CORE с учётом того, что оно уже в номинале превышает 1,4 В, да ещё и сильно «гуляет» в широких пределах, несколько боязно.

Стабильный максимум, которого удалось добиться, составил всего лишь 4,0 ГГц. Более же высокую частоту процессор уже не брал. Система загружалась вплоть до частоты 4,25 ГГц, однако ни о какой работе без вылетов и зависаний речь, к сожалению, не шла. Для проверки мы пользовались утилитой Prime 95 28.10, и ей удавалось обрушить систему буквально за несколько минут, даже если была выбрана частота 4,05 ГГц.

Впрочем, и работа Ryzen 7 1800X на частоте 4,0 ГГц внушала определённое беспокойство. Во-первых, для того, чтобы система проходила тесты стабильности, напряжение питания CPU пришлось поднять до 1,55 В. В том, что долговременная эксплуатация 14-нм чипа при таком напряжении не будет приводить к деградации полупроводникового кристалла, есть вполне обоснованные сомнения. Тем более что при каждой перезагрузке материнская плата ругалась на опасное превышение напряжения процессора.

Во-вторых, температура работающего с таким разгоном CPU, выдаваемая встроенным датчиком, зашкаливала за 100 градусов, несмотря на то, что для охлаждения в наших опытах использовался производительный кулер Noctua NH-U14S. Никакого троттлинга это не вызывало, но температуры порядка 105 градусов на безопасный нагрев похожи не сильно. Особенно если принять во внимание тот факт, что процессорная крышка у Ryzen к полупроводниковому кристаллу припаивается, а не сажается на пасту, как у LGA1151-процессоров конкурента.

В итоге разгон Ryzen 7 1800X смог принести увеличение частоты лишь на 8-10 процентов относительно номинала. Столь скромный результат не позволил нам выбраться за границы частот турборежима, но безопасность даже столь скромного повышения частоты в контексте постоянного использования системы находится под большим вопросом. Всё это приводит к неутешительному выводу о том, что оверклокерский потенциал у новых процессоров AMD откровенно низкий, и Ryzen проигрывает здесь процессорам конкурента. Например, тот же Core i7-6900K гонится от своей номинальной частоты на 20-25 процентов и способен при воздушном охлаждении брать планку в 4,2 ГГц, которая для Ryzen 7 1800X находится за пределами возможностей.

Впрочем, пока есть слабая надежда, что причиной таких оверклокерских страданий выступает «сырость» платформы. Например, сама AMD в части разгона обещала совсем иное. Согласно заявлениям представителей компании, её новые 14-нм процессоры должны быть способны разгоняться при воздушном охлаждении до 4,2-4,3 ГГц с напряжениями порядка 1,45 В. Наш опыт пока категорически опровергает эти обещания, но некоторая надежда на улучшение ситуации всё-таки остаётся. Поэтому мы ещё вернёмся к теме разгона процессора в наших будущих статьях.

Не смогли стать источником оптимизма и эксперименты по разгону подсистемы памяти Ryzen. Максимальный режим DDR4, который позволяет выставить контроллер памяти Ryzen 7 без увеличения частоты BCLK, - это DDR4-3200. Но даже в режиме DDR4-2933 с этим процессором работают далеко не любые модули. Например, комплект 2 x 8 Гбайт DDR4-3200 Corsair Vengeance LPX CMK16GX4M2B3200C16, который мы используем в тестах интеловских систем, запустился в Socket AM4-системе с Ryzen 7 1800X только в режиме DDR4-2400.

Взамен компания AMD предоставила нам другой, похожий комплект аналогичного объёма, Corsair Vengeance LPX CMK16GX4M2B3000C15. Он рассчитан на частоту DDR4-3000, и с ним мы смогли провести все тесты в режиме DDR4-2933. Однако любые попытки заставить его работать на большей скорости провалились. Иными словами, пока ситуация выглядит так, как будто для того, чтобы запустить подсистему памяти Ryzen на высоких частотах, нужны какие-то специальные «отборные» модули. Впрочем, и здесь остаётся надежда на то, что со временем сможет помочь оптимизация BIOS материнских плат.

В дополнение к сказанному следует упомянуть о специальной утилите AMD Ryzen Master, которую инженеры компании выпустили для управления оверклокингом новых процессоров из операционной системы. Впрочем, к большому сожалению, результаты разгона она улучшить не в состоянии и лишь добавляет некоторое удобство в этот процесс, позволяя в некоторых случаях обходиться без постоянных перезагрузок и утомительного подбора настроек в среде BIOS.

К тому же набор возможностей AMD Ryzen Master несколько ограничен. Она лишь позволяет менять частоту процессорных ядер, напряжение V CORE , а также частоту и тайминги памяти. Причём часто после изменения параметров перезагрузка системы всё-таки требуется для вступления их в силу. Кроме того, пока утилита находится в бета-статусе, а потому ряд параметров она искажает, а ряд не отображает вообще. Так что полноценно пользоваться ей можно будет лишь после того, как все недочёты и недоделки будут исправлены разработчиками.

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

AMD Zen

Прогнозирование, декодирование, очереди и выполнение

Прежде всего, давайте погрузимся прямо в блок-схему, как показано:

Если мы сосредоточимся только на левом, чтобы начать, мы можем увидеть большинство деталей микроархитектуры высокого уровня, включая базовые кэши, новое включение op-cache, некоторые подробности об декодерах и диспетчерах, планировщиках, портах выполнения и загрузке / хранении договоренности. Несколько слайдов позже в презентации говорят о пропускной способности кэша.

Во-первых, одно из больших отклонений от предыдущих архитектур микроархитектуры AMD - это наличие микро-операционного кеша (может быть, стоит отметить, что эти слайды иногда говорят о том, когда это означает микрооперацию, что создает небольшую путаницу). Дизайн Bulldozer AMD не имел кэша операций, требуя, чтобы он извлекал детали из других кешей для реализации часто используемых микроопераций. Intel реализовала аналогичную договоренность в течение нескольких поколений с большим эффектом (некоторые из них стали основным шагом для Conroe), поэтому увидеть ее здесь достаточно многообещающе для AMD. Нам не сообщили о масштабах или объеме этого буфера, и AMD, возможно, предоставит эту информацию со временем.

Помимо ожидаемых «усовершенствований предсказания ветвей», которые так же неопределенны, как они звучат, AMD пока не раскрыла устройства декодера в Zen, но указала, что они могут декодировать четыре команды за цикл для подачи в очередь операций, Эта очередь, с помощью op-cache, может доставлять 6 ops / cycle для планировщиков. Причины, по которым очередь может отправлять больше за цикл, - это то, что декодер может предоставить инструкцию, которая затем попадает в два микрооператора (что упрощает определение команд и микроопераций). Тем не менее, эта очередь микроопераций помогает подавать отдельные целые и сегменты с плавающей запятой CPU. В отличие от Intel, которая использует комбинированный планировщик для INT / FP, диаграмма AMD предполагает, что в это время они останутся отдельными со своими собственными планировщиками.

На стороне INT сердечника будут выполняться операции ALU, а также операции AGU / загрузки и хранения. Устройства загрузки / хранения могут выполнять 2 16-байтовые нагрузки и один магазин 16-Byte за цикл, используя 32 KB 8-путь, набор ассоциативной записи L1 Data cache. AMD явно сделала это кешем обратной записи, а не кешем записи, который мы видели в Bulldozer, который был источником большого количества времени простоя в определенных кодах. AMD также заявляет, что нагрузка / магазины будет иметь более низкую задержку в кэшах, но не объяснила, в какой степени они улучшились.

Сторона FP ядра обеспечит два порта с несколькими портами и два ADD-порта, что должно предусматривать две объединенные операции FMAC или один 256-бит AVX за цикл. Комбинация сегментов INT и FP означает, что AMD собирается для широкого ядра и хочет использовать значительное количество параллелизма на уровне инструкций. Насколько он будет зависеть от кэшей и буферов переупорядочения - реальных данных о буферах не было дано в настоящее время, за исключением того, что в ядрах будет добавлено окно планировщика команд большего размера + 75% для операций упорядочения и + 50 % более широкая ширина вопроса для потенциальной пропускной способности. Более широкие ядра, при прочих равных условиях, позволят AMD одновременно использовать многопоточность, чтобы потенциально использовать несколько потоков с линейным и, естественно, низким уровнем IPC.

Loading...Loading...