Amd cpu zen execution engine microarchitecture schema

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

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

Наверняка многие знают, что в рамках крупных выставок проходят закрытые презентации определенных продуктов, куда пускают далеко не всех гостей и только по приглашениям. Одну из них на CeBIT 2016 организовала компания AMD, продемонстрировав ключевым партнерам и инвесторам свои новые продукты. Как нам сообщили, одной из изюминок этой закрытой презентации стал инженерный образец нового десктопного процессора с 14-нм микроархитектурой AMD Zen. Надеемся, в рамках грядущей Computex 2016 у AMD точно по плану будет возможность продемонстрировать и полноценный финальный образец.

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

Поэтому когда нам предложили отложить все свои текущие тесты и на пару часов получить в распоряжение инженерный образец процессора AMD Zen для тестирования (хотя и с рядом ограничений), то мы ни минуты не колебались с ответом – ведь случай поистине уникальный. Да и ограничения оказались достаточно мягкими: не показывать обратную сторону самого процессора и используемую материнскую плату, а также не пробовать проводить разгон. В остальном же никаких запретов по используемым бенчмаркам не было.

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

Спецификация:

Инженерный образец AMD Zen

Техпроцесс производства, нм

Количество физических ядер / потоков

Номинальная тактовая частота, МГц

Кэш-память L2, КБ

Кэш-память L3, МБ

Поддерживаемая оперативная память

Показатель TDP, Вт

SMT vs СMT: возвращение к классике

Если проследить за развитием ситуации на рынке традиционных процессоров за прошедшие 12 лет, то можно увидеть, что переломный момент наступил во втором квартале 2006 года. По результатам первого рыночная доля AMD поднялась до 48,4%, а Intel – опустилась до 51,6%. Но затем Intel представила свою успешную и знаменитую микроархитектуру Intel Core, преемники которой и по сей день позволяют ей доминировать на рынке традиционных компьютерных систем. У AMD в то время была довольно хорошая, но все же недостаточно конкурентная микроархитектура AMD K8. В сентябре 2007 года вышла микроархитектура AMD K10, но и она не помогла компании AMD отвоевать ранее отданные позиции. Тем не менее в недрах уже кипела работа над обновлением – AMD Bulldozer, которая должна была ознаменовать переход на качественно новый уровень и стать достойным ответом для Intel Westmere и будущей Intel Sandy Bridge. Презентация платформы AMD Scorpius и первых процессоров линейки AMD FX состоялась в октябре 2011 года. Но уже первые тесты 8-ядерных моделей были сущим разочарованием для публики – они не только не принесли существенного прироста производительности, но и в некоторых бенчмарках даже немного проигрывали предыдущему поколению ЦП компании AMD. Что уже говорить о новых процессорах Intel.

Ключевую роль в таком фиаско сыграл переход к технологии CMT (Clustered Multi-Thread). Не вдаваясь в глубокий анализ, мы лишь кратко напомним, что вместе с микроархитектурой AMD Bulldozer было введено понятие процессорного модуля, который объединяет в себе два блока целочисленных вычислений и один блок вещественных вычислений, использующий технологию SMT (Simultaneous Multithreading) для одновременной обработки двух потоков. То есть с точки зрения целочисленных вычислений – в одном модуле присутствует два физических процессорных ядра, а с точки зрения вещественных – одно физическое ядро и два виртуальных. В свою очередь Intel использует исключительно SMT-подход: есть полноценное физическое ядро с необходимым количеством блоков целочисленных и вещественных вычислений, а уже к нему применяется технология SMT для параллельной обработки двух потоков.

Идея AMD была неплохая, но компания упустила из виду очень существенный момент – необходимость оптимизации программного кода конкретных приложений под многопоточную модульную систему. Ведь в 2011 года большинство программ работали в однопоточном режиме, поэтому для них важнее было наличие в процессоре одного полноценного физического ядра, чем четырех модулей. В последствии AMD тесно сотрудничала с Microsoft для оптимизации программного кода ОС семейства Windows и с другими разработчиками для активной интеграции идеи параллельных вычислений, но на оптимизацию программного кода нужны время и деньги, а AMD теряла покупателей и финансовые ресурсы.

Осознав масштабы ситуации, руководство компании решило создавать полностью новую микроархитектуру. Подобный процесс занимает несколько лет, в течение которых AMD могла лишь немного улучшать концепцию AMD Bulldozer. На пост ведущего архитектора был приглашен Джим Келлер (Jim Keller) – очень авторитетный и уважаемый в индустрии специалист. Именно он был причастен к созданию микроархитектуры AMD K7 и работал на должности ведущего архитектора при создании AMD K8, которая смогла максимально приблизить AMD к Intel в первом квартале 2006 года. После завершения работы над AMD K8 Джим Келлер присоединился к Apple, и уже под его руководством вышли легендарные чипы Apple A4 и Apple A5.

С 2012 по 2015 годы Джим Келлер с командой инженеров трудился над созданием микроархитектуры AMD Zen, которая лишь во второй половине 2015 года была анонсирована широкой публике. Первое, на чем было акцентировано внимание при анонсе, − отказ от CMT и переход к полноценной SMT. Это означает, что в AMD Zen будут использоваться отдельные физические ядра с необходимым набором всех структурных блоков: 4 ALU для целочисленных вычислений, 4 FPU со 128-битной шиной (объединены в два 256-битных модуля FMAC) для вещественных вычислений и 4 декодера. А благодаря SMT-подходу каждое ядро сможет параллельно обрабатывать два потока данных (аналогично технологии Intel Hyper-Threading). Максимальное количество физических ядер для десктопных процессоров достигнет 8-ми, а для серверных – 32-х.

Из неофициальных источников также известно, что каждое ядро использует 512 КБ кэш-памяти L2, а каждые 4 ядра делят между собой общие 8 МБ кэш-памяти L3. Также оговаривалась оптимизация микроархитектуры AMD Zen под популярные современные компиляторы, то есть новые процессоры уже не потребуют какой-либо оптимизации программного кода со стороны разработчиков, а сразу же могут предложить оптимальный уровень производительности. В результате такой важный показатель, как IPS (Instructions per Clock) должен возрасти на 40%. Интересно, сможем ли мы получить аналогичный прирост?

От теории к практике

А теперь давайте перейдем к рассмотрению тестового образца 14-нм процессора с микроархитектурой AMD Zen. На момент его рассмотрения утилита CPU-Z официально не поддерживала данных решений, поэтому для анализа данных мы использовали AIDA64, в которую поддержку AMD Zen добавили с версии 5.60.3700.

Номинальная частота инженерного образца оказалась на уровне 3,3 ГГц. Вполне возможно, что в финальной версии частота немного увеличится (в пределах 100 МГц), но более существенного прироста ждать не стоит – все же 8 ядер и 16 потоков не могут работать на более высоких скоростях, сохраняя при этом 95-ваттный тепловой пакет. Кстати, именно использование энергоэффективного 14-нм техпроцесса FinFET LPP позволило достичь таких показателей. Для контраста вспомним, что у 22-нм 8-ядерного процессора Intel Core i7-5960X Extreme Edition базовая частота составляет 3,0 ГГц, а показатель TDP – 140 Вт.

Для охлаждения инженерного образца AMD Zen мы использовали кулер AMD Wraith. Который способен справиться со 125-ваттными процессорами. Как видим, температура держалась на уровне 57°С. Критическое значение этого параметра для AMD Zen нам неизвестно, но сам процессор работал стабильно, без каких-либо ошибок.

Точную структуру кэш-памяти установить не удалось, поскольку CPU-Z пока еще не знает о существовании AMD Zen. Поэтому повторимся, что согласно предварительным данным, мы имеем 512 КБ кэш-памяти L2 на ядро и 8 МБ L3 на каждых четыре процессорных ядра. То есть общий объем кэша L3 достигает 16 МБ. Если продолжить сравнение с тем же Intel Core i7-5960X Extreme Edition, то видим двойной прирост кэш-памяти L2 (512 КБ против 256 КБ), но отставание по объему L3 (16 МБ против 20 МБ).

Встроенный контроллер оперативной памяти поддерживает работу с модулями стандарта DDR4-2400 МГц. Была информация, что в разгоне частота памяти может достигать DDR4-2933 МГц, но нам было запрещено проверять подобную теорию.

Интегрированной графики инженерный образец AMD Zen лишен. Не будет ее и в финальной версии. Однако уже в следующем году новое поколение APU обещают перевести на 14-нм микроархитектуру AMD Zen, добавив 14-нм iGPU серии AMD Polaris.

Тестирование

При тестировании использовался Стенд для тестирования Процессоров №2

Материнские платы (AMD) ASUS F1A75-V PRO (AMD A75, Socket FM1, DDR3, ATX), GIGABYTE GA-F2A75-D3H (AMD A75, Socket FM2, DDR3, ATX), ASUS SABERTOOTH 990FX (AMD 990FX, Socket AM3+, DDR3, ATX)
Материнские платы (AMD) ASUS SABERTOOTH 990FX R2.0 (AMD 990FX, Socket AM3+, DDR3, ATX), ASRock Fatal1ty FM2A88X+ Killer (AMD A88X, Socket FM2+, DDR3, ATX)
Материнские платы (Intel) ASUS P8Z77-V PRO/THUNDERBOLT (Intel Z77, Socket LGA1155, DDR3, ATX), ASUS P9X79 PRO (Intel X79, Socket LGA2011, DDR3, ATX), ASRock Z87M OC Formula (Intel Z87, Socket LGA1150, DDR3, mATX)
Материнские платы (Intel) ASUS MAXIMUS VIII RANGER (Intel Z170, Socket LGA1151, DDR4, ATX) / ASRock Fatal1ty Z97X Killer (Intel Z97, Socket LGA1150, DDR3, mATX), ASUS RAMPAGE V EXTREME (Intel X99, Socket LGA2011-v3, DDR4, E-ATX)
Кулеры Scythe Mugen 3 (Socket LGA1150/1155/1366, AMD Socket AM3+/FM1/ FM2/FM2+), ZALMAN CNPS12X (Socket LGA2011), Noctua NH-U14S (LGA2011-3)
Оперативная память 2 х 4 ГБ DDR3-2400 TwinMOS TwiSTER 9DHCGN4B-HAWP, 4 x 4 ГБ DDR4-3000 Kingston HyperX Predator HX430C15PBK4/16 (Socket LGA2011-v3)
Видеокарта AMD Radeon HD 7970 3 ГБ GDDR5, ASUS GeForce GTX 980 STRIX OC 4 GB GDDR5 (GPU-1178 МГц / RAM-1279 МГц)
Жесткий диск Western Digital Caviar Blue WD10EALX (1 ТБ, SATA 6 Гбит/с, NCQ), Seagate Enterprise Capacity 3.5 HDD v4 (ST6000NM0024, 6 ТБ, SATA 6 Гбит/с)
Блок питания Seasonic X-660, 660 Вт, Active PFC, 80 PLUS Gold, 120 мм fan
Операционная система Microsoft Windows 8.1 64-bit

Сравнить AMD Zen Eng Sample с

Честно говоря, мы не были готовы к получению подобных результатов, ведь в последние годы новые поколения процессоров в лучшем случае на 10% – 15% превосходят предыдущие, даже при смене техпроцесса или микроархитектуры. Да, AMD Zen на бумаге выглядят впечатляюще. Да, AMD уже упоминала о 40% приросте в IPC, но несколько последних поколений процессоров AMD приучили нас скептически относиться к официальным данным.

И вот реальность преподносит нам замечательный сюрприз: по факту 8-ядерный AMD FX-8370 отстает в среднем на 39%. В некоторых бенчмарках преимущество инженерного образца AMD Zen доходило и до 60%. Более горячий AMD FX-9370 отстал в среднем на 37%. А ведь мы сравниваем модели с номинальной частотой 4,4 ГГц и 3,3 ГГц!

Еще более приятно нам видеть возродившуюся конкуренцию с компанией Intel: 4-ядерный процессор Intel Core i7-6700K в среднем отстал на 18%, а флагманский 8-ядерный Intel Core i7-5960X Extreme Edition оказался впереди всего лишь на 4%. Более чем достойные результаты.

Особое внимание хочется уделить энергопотреблению всей тестовой системы. По этому показателю ПК с 8-ядерным AMD Zen вплотную приблизился к Intel Core i7-6700K: разница составляет 13 Вт (148 Вт против 135 Вт). Потребление остальных систем превысило 200 Вт. То есть новинка не только демонстрирует отличный уровень производительности, но и прекрасную энергоэффективность. Переход на 14-нм техпроцесс сполна себя оправдал.

Выводы

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

И хотя мы протестировали лишь инженерный образец нового процессора, но и он показал отличную вычислительную мощь: AMD FX-8370 остался позади в среднем на 39%, а Intel Core i7-6700K – на 18%. Триумфатором в схватке с AMD Zen вышел лишь Intel Core i7-5960X Extreme Edition, но и его перевес в среднем на 4% не кажется уж таким высоким, особенно с точки зрения энергоэффективности. Разница в энергопотреблении между тестовыми системами на основе этих ЦП оказалась очень существенной: 148 Вт против 207 Вт. А это в свою очередь снижает требования к процессорному охладителю и блоку питания.

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

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

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

Микроархитектура Zen3

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

Но для того чтобы рассказать про отличия надо вначале рассказать как это вообще все работает.

Как работает конвейер в современных AMD процессорах

Напомню, что на сайте есть отдельный материал про Zen2 и отличие его от Zen+ где подробнее рассказана работа процессора.

Очень коротко напомню суть.

Схема процессорного конвейера Zen2

Суть в том, что в AMD в ядрах есть две зоны для исполнения микроопераций.

Одна для целочисленных операций,

вторая для операций с плавающей точкой.

И чтобы выполнить эти операции процессор должен в эти зоны исполнения передать сведения о самой задачи, то есть что делать и с чем надо что-то делать. Этим занимается конвейер процессора в верхней половине схемы. Микрооперации в очередь поступают из двух направлений — первое направление — декодер.

Второе — кеш микроопераций, куда помещаются прошлые уже декодированние микрооперации.

Далее из этих двух источников микрооперации формируются в единую очередь

и разделяются уже на две области — для целочисленных вычислений и вычислений с плавающей точкой где свои планировщики в свои регистры формируют уже финальные очереди для передачи микроопераций на выполнение, с другой стороны — при поступлении микроопераций на выполнение из кеша должны прийти значения для используемых операндов. То есть конкретные цифры с которыми надо выполнять те или иные операции.

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

И ещё раз напомню, что это схема Zen+ и Zen2 в которой красным выделено то что появилось только в Zen2, а AMD представили сейчас Zen3.

Ну и теперь переходим к тому что AMD рассказали про Zen3.

Откуда прирост в Zen3?

Первое что стоит отметить, что AMD заявили о приросте в 19% выполняемых инструкций за такт.

В эти 19 включены совокупно все изменения в микроархитеткуре, и к сожалению не указано что именно менялось.

В целом — чистая теоретическая производительность определяется только исполнительными блоками.

Это вот эти жёлтые штуки, в которых встречаются микрооперации и данные для них и происходит исполнение микроопераций.

Очевидно, что увеличив их количество на две штуки мы и получим те самые 19%. Но так как 19% взяты не только исполнениями, а совокупно, то очевидно, что два исполнительных блока добавлено точно не было. Более того, не было заявлено об увеличении теоретической производительности для вычислений с плавающей точкой или целочисленных. Допустим в Zen2 AMD для вычислений с плавающей точкой заявили двукратный прирост производительности для вычислений с плавающей точкой.

2x производительности с плавающей точкой в Zen2

Сказали они это из-за того что раньше 256 битные инструкции делились на два такта, а с Zen2 исполнительные блоки стали 256 битными. В этот раз — никаких ускорений для вычислений не заявлено.

Но заявлено увеличение производительности в чтении и записи. Так что на основе сказанного наиболее вероятно, что вслед за одним новым AGU в прошлом обновлении AMD добавили ещё один, либо заявленные улучшения связаны с изменением логистических особенностей процессора, так как формально части связанные с работой с данными относятся к целочисленной ветви конвейера процессора.

Intel в «тигер лейк» в общем-то сделали примерно тоже самое, то есть добавили портов именно для работы с данными, а не для вычислений, которые были расширены по сути новыми 512 битными инструкциями без изменения ширины по числу портов.

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

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

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

Кроме того заявлены некие изменения в части предсказаний. Для современных процессоров это одна из самых сложных и важных областей и она довольно сильно влияет на реальную производительность.

На слайдах эти изменения в кавычках ещё названы “Zero Bubble” (перев. «Ноль пузырей»). И называется это так не спроста.

Дело в том, что вы видя схему понимаете, что от поступления задачи до её выполнения процессору надо сделать много разных действий.

То есть каждая задача должна пройти определённый путь от начала до конца, и ступеней этих довольно много. То есть если следить всего за одной операцией из-за того что ступеней много — на выполнение каждой операции нужно несколько тактов.

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

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

Так же и с процессорами — если процессор не смог в какой-то из тактов в самом начале в достаточной мере использовать все свои возможности, то с каждым тактом спускаясь по конвейеру эта пустота волной пройдёт через весь конвейер и именно эта пустота и количество этих пустот влияют на реальную производительность.

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

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

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

Именно в этот момент очень важна длинна этого эскалатора. Для длинного эскалатора обнуление намного дольше будет приносить негативный эффект в производительности. Есть примеры когда очень длинный конвейер сыграл злую шутку для процессоров.

Так например pentium 4 имел 20 ступеней, то есть операции надо было пройти 20 тактов по конвейеру. Тогда как 3-ий Pentium и Athlon от AMD имели по 10 ступеней и именно из-за длины конвейера и бОльшего влияния обнулений — реальная производительность на такт у pintium 4 была сильно ниже, чем у третьего «пентиума» и «атлонов» (4-ые пентиумы имели при этом высокие для того времени частоты и сейчас бы эту частоту называли бы «кукурузной»).

Но мы возвращаемся к Zen3. AMD внесли некие изменения в часть отвечающую за предсказания, которая должна предотвращать появление пузырей в конвейере. И назвали этот комплекс изменений “Zero Bubble”.

Тем не менее было показано из чего состоят имеющиеся 19% прироста на такт.

«Макро» изменения в микроархитектуре

Но давайте отодвинемся от конвейера и рассмотрим процессоры целиком.

Как и с Zen2 они будут состоять из чиплетов.

Рдин из чиплетов заменяет северный и половину южного моста, то есть половину той штуки, которую мы на материнских платах сейчас называем чипсетом.

Схематично 3 чиптела (Zen2) Два верхних с ядрами — нижнее с внешними контроллерами и контроллером памяти.

Судя по всему этот чиплет не особо поменялся, про него не было сказано ни единого слова.

А вот чиплеты с ядрами — изменились.

Ещё со времён первых процессоров на архитектуре Zen процессоры состояли из пары 4-х ядерных модулей, соединенных шиной Infinity Fabric.

Начиная с Zen 2 старшие процессоры на AM4 стали содержать два набора пар 4-х ядерных модулей. То есть уже в сумме 4-ре 4-х ядерные модуля.

Проблема с ними заключается в том, что они могут обращаться только к своему кешу L3. Что создаёт сложности когда одна задача распаралеливается на разные 4-х ядерные сборки. То есть, допустим, процессор решает какую-то задачу, а решение этой задачи нужно другому ядру в другом модуле. И приходиться эта данные передавать в другой модуль. Образуются дублированные записи, куча устаревших записей за которыми надо следить. Отдельная головная боль — игры. Дело в том, что многопоточность в играх — штука капризная. Часть задач реально можно распаралелить, Но далеко не все, вернее многие можно, но все, что хорошо параллелиться с каждым годом всё сильнее и сильнее отдаётся на вычисление видеокартой, а процессору остаётся всё то, что параллелиться плохо. Поэтому зачастую для игры важны моменты синхронизации потоков. То есть в какой-то момент поочерёдно ядра уже заканчивают свою часть работы, условно до некого чек пойнта где нужно синхронизировать результаты с другими ядрами и в итоге все ждут одно которому досталась самая сложная задача, к слову динамические бусты процессора как раз и должны за считанные такты выявлять такие вот ядра и передавать им весь TDP, над этим активно работает и intel и AMD.

Но с разделением на блоки там и так все ждали и простаивали, так ещё потом начинаются ещё и синхронизации кешей через несколько уровней инфинити фабрик.

Всё это только увеличивает задержки и простои до того как процессор вновь сможет начать следующие вычисления.

Поэтому пусть у процессоров Zen2 и высокая производительность на такт и в Cinebench они обходили intel на микроархитектуре Skylake, но в играх из-за лишних простоев — процессоры не могли быть столь же эффективными как intel с общей кольцевой шиной.

Естественно межчиплетный кеш у процессоров так и будет разделённым, но внутри чиптела у Zen3 теперь весь кеш L3, а это целых 32 МБ, общий на все 8 ядер.

То есть проблема сильно уменьшается. Скорее всего задержки самого кеша L3 чуть увеличатся, так как не меняя иерархию памяти от увеличения объёма — увеличиваются задержки на обращение к нему. Но если сравнивать с реальными задержками учитывая и Inter-core data Latency, то естественно задержки сильно снизятся, что и принесёт прирост производительности в играх, а так же в софте который очень активно работает с подсистемой памяти, это и системы работающие с данными, а также софт для вычислений и многие другое.

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

Как изменения сказались на практике?

Ну и теперь перейдём к тому что AMD показали на практике.

Естественно стоит учитывать, что показанные цифры — это то что показала сама компания, то есть это не независимые тесты и выборка скорее всего предвзятая, для того чтобы показать продукт с лучшей стороны.

Что касается производительность на такт, то AMD показали результаты одного потока в сенбенч R20.

12 ядерный R9 5900X на один поток показывал 631 балл, сравнили AMD свой продукт с i9 10900k и ему дали 544 балла, а словами называли цифру о том, что у него около 530.

В этом сравнении, естественно не хватает данных о Zen2.

В качестве данных предлагаю взять результаты с сайта Hardwareluxx.

Данные с Hardwareluxx

Используя эти данные и данные от AMD из презентации получается вот такая диаграмма. Прирост очень уверенный, и очень сильно превышающий показатели текущей intel платформы.

Из игр — в основном были показаны только соотношения, а не конкретные цифры.

Цифры были показаны только для одной игры — Shadow of the Tomb Raider.

Для 12 ядерного Zen2 141 FPS, для 12 ядерного Zen3 181 FPS.

Опять же — не хватает сравнений с intel.

Для этого сравнения воспользуемся уже данными с 3D News где 12 ядерный Zen2 набрал 140 FPS, что довольно близко к заявленным 141 FPS.

Данные с 3D News

i9 10900k у редакции 3D News показал результат 166 FPS.

В общем — если AMD нас не обманули, то мы и вправду увидим нового короля для игровых десктопов.

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

По чём будет продаваться?

AMD будет продавать свои процессоры с равным количеством ядер дороже, чем intel. Было бы глупо пытаться продавать продукт с худшими характеристиками дороже конкурента. intel так пару последних лет делали, и получалось у них это не так чтобы очень хорошо, и то во многом только из-за игр.

6 ядерный 5600X будет иметь рекомендуемый ценник — 300 долларов. Старший 6-ти ядерник от intel — 260 долларов.

8 ядер от AMD — 450 долларов, старшие 8 ядер от intel около 380.

12 ядер от AMD — 550 долларов, 16 ядер — 800 долларов. У intel нет аналогов для обычной платформы, но 10 ядер intel оценивает в 500 долларов.

Цены нп процессоры Intel и AMD

Именно ценовая политика явно указывает на то, что AMD ничуть нигде не обманывали, а сделали лучший на текущий момент процессор с x86 совместимой архитектурой. Другой вопрос, что через несколько месяцев intel на это ответит первым обновлением микроархитектур для настольных процессоров со времён скайлейка представив процессоры на основе Willow Cove. Отобъёт или нет intel себе обратно титул лучшего игрового процессора покажет время, но в любом случае — верхний предел ценников для текущей платформы у intel сможет подняться до ценников AMD, если процессоры будут не хуже, чем у AMD.

Что касается выхода процессоров, которые AMD отнести к пятому поколению, то появляться они начнут в ноябре.

Касаемо материнских плат сокет остался прежним — AM4. Обещана поддержка процессоров платами с чипсетами X570 и B550. Свежие биосы на них выйдут в ближайшее время.

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

SERVERSTECH

Микроархитектура AMD ZEN: шаг вперед или назад? Часть 2

В 2017 году компания AMD представила процессоры Ryzen с новой микроархитектурой Zen. Сегодня редакция ServersTech.ru детально разберет микроархитектуру Zen на примере кэш-памяти и TLB.

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

Кэш инструкций первого уровня L1I

*общий для двух ядер

По абсолютным показателям емкость кэша инструкций не менялась с K10, но необходимо помнить, что у Bulldozer кэш инструкций общий для двух ядер, поэтому при пересчете емкости на одно ядро Bulldozer явный аутсайдер. Что касается ассоциативности, то в Zen кэш сделали 4-путным (что должно снизить количество промахов), тогда как ранее использовался 2-путный.

Кэш инструкций первого уровня L1D

Пропускная способность, байт/такт

С кэшем данных ситуация еще интереснее: самый емкий кэш был у K10 — 64 КБ, в последующем за ним Bulldozer объем кэша вчетверо сократился — до 16 КБ, а в новом Zen объем кэша увеличили до 32 КБ (такой же объем использует Intel в своих процессорах с микроархитектурой Core). При этом стоит заметить, что вне зависимости от объема ассоциативность кэша постоянно росла с 2 в K10 до 8 в Zen (что должно положительно сказаться на количестве промахов). Пропускную способность в Zen увеличили до 48 байт/такт (стоит отметить, что при расширении FPU до 256 бит потребуется более скоростной кэш, как например, в Skylake – 96 байт/такт). Латентность кэша осталась на том же уровне, что и у Bulldozer — 4 такта, тогда как у K10 — 3 такта.

Кэш второго уровня L2

Пропускная способность, байт/такт

*общий для двух ядер

Объем кэш-памяти второго уровня в Zen AMD аналогичен K10 — 512 КБ — в какой-то мере это выглядит шагом назад, ведь у Bulldozer на лицо существенно больший объем 2048 КБ (1024КБ в пересчете на одно ядро). Помимо емкости изменения коснулись ассоциативности, латентности и пропускной способности кэша: AMD снизила в Zen ассоциативность кэша второго уровня с 16 до 8; латентность кэша L2 в Zen хоть и ниже, чем у Bulldozer, но выше, чем у K10; пропускная способность кэша в Zen подросла с 16 до 64 байт/такт (достигнув уровня Skylake).

Кэш третьего уровня L3

Пропускная способность, байт/такт

Емкость кэша третьего уровня росла с каждой новой микроархитектурой: K10 — 512КБ на ядро; Bulldozer – 1024 КБ на ядро; Zen – 2048 КБ на ядро. При этом ассоциативность сначала вдвое увеличили с 32 до 64 при переходе с K10 на Bulldozer, а затем при переходе с Bulldozer на Zen вчетверо сократили – с 64 до 16. Пропускная способность кэша третьего уровня уже долгие годы не меняется и находится на уровне 32 байт/такт – аналогичная ситуация у Интел, где с Nehalem ПС кэша L3 находится на уровне 32 байт/такт. Чего не скажешь про латентность, которая сократилась с 65 до 36-37 тактов (если сравнивать Bulldozer с Zen).

(формат: количество записей, ассоциативность)

В Zen появился µOP-кэш, в котором хранятся декодированные инструкции, что позволяет исключить стадию декодирования и выборки, если необходимая инструкция находится в кэше. Аналогичный кэш достаточно давно используется Intel в процессорах Core (правда с чуть меньшей емкостью — 1536 инструкций против 2048).

(формат записи: размер страницы, количество записей, ассоциативность)

В микроархитектуре Zen добавили буфер ассоциативной трансляции ITLB L0.

(формат записи: размер страницы, количество записей, ассоциативность)

Емкость ITLB кэша первого уровня росла от архитектуры к архитектуре – с 32 до 64 записей, при этом начиная с Bulldozer появилась поддержка гигабайтных страниц.

(формат записи: размер страницы, количество записей, ассоциативность)

Емкость DTLB в Zen также увеличилась с 32 до 64 записей относительно предшественника.

(формат записи: размер страницы, количество записей, ассоциативность)

Емкость ITLB кэша второго уровня не меняется на протяжении 10 лет – правда стоит отметить, что в Zen появилась поддержка 2-мегабайтных страниц.

4KB, 2MB, 1GB: 1024

(формат записи: размер страницы, количество записей, ассоциативность)

Емкость DTLB кэша второго уровня растет с каждой новой микроархитектурой – если в K10 она была 512 записей для 4-килобайтных страниц, то в Zen – 1536.

Подводя промежуточный итог, можно отметить следующие моменты:
— Емкость кэша L1I в Zen сохранилась на уровне K10;
— Емкость кэша L1D от архитектуре к архитектуры постоянно менялась и установилась на уровне 32 КБ в Zen (именно такой объем Интел использует уже много лет в своих процессорах с архитектурой Core);
— Емкость кэша L2 в Zen аналогична K10 — 512 КБ;
— Емкость кэша третьего уровня постоянно росла — с 512 КБ до 2048 КБ на ядро;
— AMD добавила OP-кэш в Zen (еще одно удачное решение Интел перекочевало к конкуренту);
— в Zen был добавлен ITLB L0;
— Если емкость ITLB L1 росла из поколения в поколение, то таковая ITLB L2 не изменялась с K10;
— Емкость DTLB L1 и DTLB L2 постоянно росла.
Таким образом, можно отметить, что компания AMD, разрабатывая Zen, взяла не только свои удачные наработки из K10, но и из решений конкурента.

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


источники:

http://pc-01.tech/zen3-2/

http://serverstech.ru/obzory/hardware/cpu/97-mikroarkhitektura-amd-zen-shag-vpered-ili-nazad-chast-2.html