Zen: новая надежда AMD
С помощью процессоров Zen компания AMD хочет потеснить Intel. Благодаря обновленной архитектуре они должны производить вычисления быстрее конкурентов.
Когда ПК стали появляться в каждом доме, вокруг «сердца» этого устройства развернулось серьезное соперничество между компаниями Intel и AMD. Примерно пять лет назад AMD невольно выпала из гонки, осуществив, как выяснилось позднее, ошибочный переход к архитектуре Bulldozer. С тех пор у многих категорий пользователей нет выбора: при необходимости сборки мощного ПК они не могут пройти мимо процессоров Intel Core. Производительность этих чипов находится на высшем уровне. Однако теперь, благодаря своей новой архитектуре Zen, компания AMD возвращается в соревнование и «сокращает отрыв» от процессоров Intel Core.
Это обеспечивают два фактора. Первый — до сих пор процессоры AMD отставали от соперников из стана Intel по технологии производства. Компания Globalfoundries, занимающаяся выпуском разработанных AMD чипов, еще до самого недавнего времени производила процессоры с размером транзисторов 32 нанометра. Intel же уже в 2012 году производил процессоры по технологии 22 нм, а в наши дни — 14 нм. Каждый переход к новой более тонкой технологии производства на рынке процессоров теоретически увеличивает быстродействие примерно на 40%. На практике этой цифры удается добиться далеко не всегда, однако корпорация Intel долгое время пользовалась этим преимуществом. Но его больше не существует: в этом году компания Globalfoundries также начала производство процессоров поколения 14 нм.
AMD: назад в будущее
Вторым фактором стало умение учиться на собственных ошибках: в 2013 году Эндрю Фельдман, в то время вице-президент AMD, заявил, что архитектура Bulldozer «стала полным провалом». Вместе с ней компания AMD распрощалась с концепцией нескольких полноценных ядер в одном CPU и разделила процессор на модули ядра. Подобный модуль состоит из двух ядер, выполняющих операции с целыми числами и совместно использующих один блок для обработки чисел с плавающей запятой. При этом существует проблема: оба ядра «борются» за ресурсы блока обработки чисел с плавающей занятой, что приводит к снижению производительности, например, в мультимедийных приложениях.
Внедряя архитектуру Zen, компания AMD отказывается от модульной концепции. Вместо этого в каждом ядре процессора Zen существует блок обработки целых чисел и чисел с плавающей запятой. Кроме того, AMD также внедряет технологию симметричной многопоточности. Подобно ядрам процессоров Core-i, ядра Zen способны одновременно обрабатывать два потока данных. AMD также адаптировала промежуточную память, которая передает данные в ядро и принимает их обратно.
Оба L1-кеша увеличиваются; кеш данных L1 сохраняет данные по принципу обратной записи. Его содержимое не «зеркалится» в более медленном L2-кеше (как в архитектуре Bulldozer), который служит только в качестве резерва, если в кеше данных заканчивается место. Здесь Bulldozer также имела проблему с производительностью, несмотря на то, что оба ядра одного модуля Bulldozer разделял между собой L1-кеш.
Кеш инструкций L1 (I-Cache) и L2-кеш у Zen вдвое больше, чем в процессорах Skylake. Из этого следует, что ядро Zen должно реже обращаться к самой медленной промежуточной памяти L3. Однако здесь AMD жертвует площадью процессора, которую можно было бы «инвестировать» в большее число вычислительных блоков. При этом, поданным AMD, время доступа к кеш L1 и L2 должно существенно уменьшиться по сравнению с Excavator — последним поколением архитектуры Bulldozer. Кеш L3 доступен для всех ядер; его объем (2 Мбайт на каждое ядро) точно такой же, как и в Skylake. Zen объединяет четыре ядра в единый базовый модуль. К нему могут подключаться либо графическое ядро, либо дополнительные четыре ядра, что превращает Zen в конкурента Skylake 6700 или Broadwell-E с восемью ядрами.
Копировать Intel и превзойти ее
В производстве процессоров компания AMD ориентируется на важный момент, реализованный в продукции Intel: речь идет о микрокомандах. Длины инструкций, поступающих из I-кеша, больше длин, которые могут обрабатывать вычислительные устройства. Декодер должен преобразовывать их в более короткие микрокоманды. AMD впервые применила кеш микроопераций, в котором сохраняются уже декодированные микрокоманды; Intel реализует подобную архитектуру начиная с Sandy Bridge. Если эти микрокоманды из улучшенной системы предсказания перехода требуются повторно, то они не подвергаются вновь процессу декодирования, а немедленно поступают в очередь микроопераций. Данная очередь обеспечивает оба вычислительных устройства по отдельности. В каждом такте она обеспечивает их шестью операциями, причем четыре из них могут «загружать» устройство обработки чисел с плавающей запятой. Как и Skylake, Zen выполняет простые команды сдвига, такие как MOV, уже при переименовании регистров.
Самый большой недостаток процессоров Zen состоит в устройствах обработки чисел с плавающей запятой. Они могут обрабатывать инсгрукции длиной лишь 128 бит. Длина внедренных компанией Intel AVX2-команд составляет 256 бит, таким образом Zen должен разделять их на два блока, a Skylake — нет. В ходе тестирования специалисты AMD продемонстрировали, что восьмиядерный процессор Zen с одинаковой тактовой частотой является таким же быстрым, как и Broadwell-E. Точно мы узнаем об этом в январе, когда AMD представит новые процессоры. AMD уже осуществила переход на новый разъем AM4. Это сопровождается и переходом на DDR4-RAM.
Процессор Zen в деталях
Новый процессор AMD стал результатом работы над ошибками: в нем исправлены недостатки предшественника (Bulldozer) и реализованы хорошие идеи архитектуры Intel Core i (например, кеш микроопераций). Многие инновации направлены на сокращение отставания от лидера рынка, компании Intel, в области однопоточной производительности.
Четыре ядра образуют один блок
Процессор Zen состоит из 4 ядер и их промежуточных запоминающих устройств. В то время как L2-кеши всегда взаимодействуют только с соответствующими ядрами, кеш L3 осуществляет обмен данными между ядрами. К четырем ядрам можно «подключить» дополнительный модуль ядер или графический модуль.
Процессоры Zen подходят к новому разъему AM4, а в материнских платах для них применяется память DDR4 и современные порты (M.2, USB 3.1)
Новое в ядре
Ввод
После загрузки (1) осуществляется декодирование команд в микрокоманды для передачи их в вычислительные устройства. Новая память для часто используемых микрокоманд (2) действует в обход декодера и ускоряет загрузку.
Вычисления
В ядре Zen работают два полноценных вычислительных устройства для операций с целым числами и числами с плавающей запятой (3). Очередь отставки (4) может обрабатывать вдвое больше предварительно рассчитанных результатов в течение такта, чем Intel Core i.
Вывод
Наряду с кешем данных AMD увеличила очереди (5), принимающие расчет адреса для операций загрузки и сохранения.
Сравнение памяти
Большая и быстрая кеш-память обеспечивает данными CPU Zen и конкурирует с концепцией памяти Intel. В архитектуре Bulldozer два ядра делят между собой один модуль L1-кеш, малая ассоциативность которого часто требует обращения к медленной памяти L2.