Новая статья: Микроархитектура Zen 2: вот почему мы ждём Ryzen 3000
Нo дaжe сaмыe смeлыe выскaзывaния o тoм, будтo бы вo втoрoй пoлoвинe гoдa нa рынкe прoцeссoрoв для ПК нaс ждёт смeнa лидeрa (пo прoизвoдитeльнoсти), нeльзя нaзвaть пoлнoстью бeспoчвeнными. Eщё в нaчaлe гoдa, нa выстaвкe CES 2019, кoмпaния AMD пooбeщaлa, чтo eё прoцeссoры нoвoгo пoкoлeния увeличaт удeльнoe быстрoдeйствиe (при нeизмeннoй тaктoвoй чaстoтe) кaк минимум нa 15 %. A тeпeрь мы узнaли, чтo к этoму прилoжится зaмeтный рoст тaктoвыx чaстoт, кaрдинaльнoe увeличeниe числa вычислитeльныx ядeр и снижeниe тeплoвыдeлeния. Кaждoe из этиx oбeщaний в oтдeльнoсти ужe кaжeтся кaк минимум oчeнь смeлым. Нo чтoбы всё срaзу?! Тeм нe мeнee всё этo вoзмoжнo. С мoмeнтa выxoдa пeрвыx прoцeссoрoв с микрoaрxитeктурoй Zen прoшлo чуть бoлee двуx лeт. Зa этo врeмя AMD ужe успeлa выпустить прoмeжутoчнoe пoкoлeниe микрoaрxитeктуры, Zen+. Oднaкo в нём мы нe увидeли прaктичeски никaкиx улучшeний. Суть прoшлoгo oбнoвлeния фaктичeски свeлaсь к переходу с 14-нм на 12-нм производственную технологию, да и только. Но это далеко не всё: вместе с техпроцессом кардинально меняется и масса других вещей. Чтобы понять, насколько Ryzen 3000 будут непохожими на своих предшественников, достаточно посмотреть на любую фотографию этих процессоров со снятой теплорассеивающей крышкой. Ядра в них распределены по нескольким полупроводниковым кристаллам – чиплетам, также в отдельный чиплет будут вынесены и все контроллеры ввода-вывода. Кроме того, с приходом Ryzen 3000 изменения затронут и всю экосистему, в которой будут работать такие процессоры. Все многочисленные улучшения и оптимизации, сделанные в процессорах поколения Zen 2, заслуживают явно большего, чем простого перечисления. Поэтому по итогам мероприятия AMD Next Horizon, на котором смог побывать представитель нашего сайта, мы решили подготовить отдельный обстоятельный материал и подробно проанализировать, почему Zen 2 – это действительно круто. ⇡#Технология 7 нм – ключ ко всему
Цели, которые ставила перед собой компания AMD во время работы над новой микроархитектурой Zen 2, были вполне очевидными. Основная задача состояла в улучшении производительности процессоров какдля десктопов, так и в серверном сегменте, при обязательном сохранении преемственности и совместимости с имеющимися платформами. Иными словами, речь шла о дальнейшей масштабируемости имеющихся процессорных семейств Ryzen и EPYC и комплексном улучшении их потребительских качеств. Прочный фундамент под дизайн Zen 2 должен был подвести новый технологический процесс. При переходе от 14- к 12-нм нормам, который произошел в апреле прошлого года, процессоры Ryzen лишь немного выиграли в тактовых частотах и смогли довольно незначительно нарастить свою удельную производительность. Но свежий техпроцесс с разрешением 7-нм должен был катализировать куда более существенный прогресс в улучшении всего набора потребительских характеристик. В силу того, что давний производственный партнёр AMD, компания GlobalFoundries, отказался от освоения 7-нм технологии, чипмейкеру пришлось переориентироваться на сотрудничество с TSMC. В пользу этого говорят числа: базовый процессорный строительный блок— четырёхъядерный комплекс CCX (Core Complex) с L3-кешем объёмом 8 Мбайт— при производстве по 12-нм техпроцессу GlobalFoundries имел площадь 60 мм2. Полный процессорный кристалл (чиплет) в Zen 2, как и раньше, формируется из двух CCX. То есть он содержит восемь ядер и кеш-память третьего уровня объёмом 32 Мбайт. При этом суммарная площадь такого кристалла составляет всего 74 мм2, что существенно меньше 213 мм2, которые занимает кристалл процессора с дизайном Zen/Zen+, например, того же Ryzen 7 2700X. Столь заметный выигрыш в плотности размещения транзисторов открыл перед разработчиками AMD широкие возможности по усовершенствованию микроархитектуры, которое могло бы быть проведено без какого-либо существенного ущерба для себестоимости новых процессоров. Однако массу преимуществ дал и новый прогрессивный полупроводниковый процесс. Например, при одинаковом энергопотреблении для Zen 2 обещана как минимум в 1,25 раза более высокая производительность, чем у предшественников, а при одинаковом быстродействии новые процессоры должны быть чуть ли не вдвое экономичнее. Более того, AMD не стесняется даже говорить о том, что в отдельных ситуациях преимущество новых процессоров Zen 2 будет составлять более 75 % по сравнению с прошлыми Zen+ того же класса и более 45 % по сравнению с равноценными решениями конкурента. Безусловно, все эти выкладки ещё должны будут пройти проверку на прочность независимыми тестами и обзорами, которые выйдут 7 июля. В рамках же своего мероприятия AMD активно оперировала показателями Cinebench R20, которые говорят о том, что если сравнивать Zen 2 и процессоры Intel с аналогичным количеством ядер, то предложения AMD выигрывают как по однопоточной, так и по многопоточной производительности, а также по энергопотреблению и по цене. ⇡#Ядра Zen 2: «тик» и «так» одновременно
Согласно первоначальному плану, микроархитектура Zen 2 должна была представлять собой простой перенос старого дизайна Zen на новый техпроцесс. Несмотря на то, что в Zen 2 нет никаких кардинальных переделок, рост IPC (среднего числа выполняемых за такт инструкций) на 15 % — прекрасная иллюстрация того, что всё было сделано правильно. В то же время нужно понимать, что Zen 2 — микроархитектура, очень похожая на оригинальную Zen/Zen+. Соответственно, внутренняя конфигурация ядра не изменилась: оно способно декодировать до четырёх инструкций и исполнять до шести инструкций за такт. Кроме того, осталась неизменной и поддержка технологии SMT: каждое ядро Zen 2 может исполнять по два потока одновременно. Впрочем, здесь изменения не очень явные, поскольку в основе этого блока продолжает лежать «нейронный» алгоритм, основанный на использовании перцептрона. Хотя в целом такая схема даёт не очень впечатляющие результаты, при работе с буфером целей ветвления первого уровня она обеспечивает хорошую энергоэффективность, поэтому AMD не стала от неё отказываться и просто добавила к ней дополнительный многоступенчатый статистический механизм TAGE (Tagged geometric), работающий с буфером целей ветвления второго уровня. Одновременно были увеличены и размеры буферов целей ветвления. Таблица первого уровня в Zen 2 включает 512 записей вместо 256, а второго уровня – 7К записей вместо 4К. Иными словами, в новой микроархитектуре переходы прогнозируются явно лучше, чем в первоначальных Zen/Zen+. А это значит, что ситуации, когда процессор должен полностью сбрасывать исполнительный конвейер из-за неправильно предсказанного перехода, будут случаться гораздо реже. Другим усовершенствованием Zen 2 стало то, что AMD решила существенно перераспределить ресурсы, занятые кешированием инструкций. Кеш микроопераций, в котором хранятся уже декодированные x86-инструкции, был увеличен вдвое – до 4096 записей. В то время как раньше его объём составлял 64 Кбайт при 4-канальной ассоциативности, в Zen 2 он был урезан до 32 Кбайт с одновременным увеличением степени ассоциативности до 8. Моделирование, проведённое AMD, показало, что такие изменения положительно сказываются на производительности. И если судить по произошедшему росту IPC, это действительно так. Любопытно, что в результате изменений в размерах кеш-памяти, Zen 2 стали процессорами с самым вместительным кешем микроопераций. Например, в микроархитектуре Skylake этот кеш рассчитан на 1,5К операций, в то время как в Sunny Cove инженеры Intel расширили его всего до 2,25К операций. Изменения во входной части исполнительного конвейера не повлекли за собой никаких существенных перемен в организации работы планировщиков. Как и раньше, декодер Zen 2 способен поставлять по четыре инструкции за такт и вместе с кешем микроопераций, из которого может поступать до восьми связанных инструкций, они заполняют очередь микроопераций, из которой инструкции выбирают два планировщика: один для целочисленных операций, другой—для операций с числами с плавающей точкой. Если говорить об исполнении целочисленных инструкций, то тут — впридачу к увеличению размера буферов (как самого планировщика, так регистрового файла и буфера переупорядочивания) примерно на 10-15 %— появился дополнительный блок генерации адресов (AGU). В сумме это означает, что число исполнительных портов в Zen 2 выросло с шести до семи: четыре порта для арифметико-логических операций (ALU) и три порта – для операций генерации адресов (AGU). Но что ещё важнее, в Zen 2 компания AMD удвоила пропускную способность блока операций с плавающей точкой. Теперь он стал полностью 256-битным, что означает возможность прямого исполнения им AVX2-инструкций. В первоначальной архитектуре Zen/Zen+ такие команды, работающие с 256-битными регистрами, перед выполнением разбивались на пару 128-битных инструкций и обрабатывались в два приёма, следовательно, от Zen 2 можно ожидать двукратного увеличения темпа работы с AVX2-кодом. Состав же исполнительных устройств в FPU при этом остался старым. Здесь же очень пригождается способность новой микроархитектуры инициировать 256-битные операции пересылки данных: в результате исполнение AVX2-кода может происходить без каких-либо задержек. К тому же в Zen 2 AMD смогла добиться того, что обработка AVX2-инструкций может проводиться без какого-либо снижения тактовой частоты, как это происходит в процессорах Intel. Попутно AMD сообщила и о том, что ей удалось увеличить скорость умножений чисел с плавающей точкой с четырёх до трёх тактов. Как следует из сказанного, микроархитектура Zen 2 стала немного «шире» Zen в смысле способностей параллельного исполнения инструкций. Хотя подсистема кеш-памяти, работающей с данными, структурно не изменилась, она получила шины с большей пропускной способностью, которые позволяют получать необходимые данные, не задерживая выполнение AVX2-команд. Если конкретнее, то это означает, что L1-кеш данных сохранил размер 32 Кбайт на ядро с 8-канальной ассоциативностью, а L2-кеш, как и раньше, имеет объём 512 Кбайт на ядро с 8-канальной ассоциативностью, но теперь кеш-память может обслуживать по две 256-битных операции чтения и по одной 256-битной операции записи за такт на уровне L1, а также по одной 256-битной операции чтения и записи за такт на уровне L2. Латентность кеш-памяти не изменилась и составляет 4 такта для L1 и 12 тактов для L2. Несмотря на неизменность структуры кеш-памяти, в Zen 2 была улучшена работа L2 TLB (буфера трансляции адресов). Но самое главное, теперь L2 TLB поддерживает страницы объёмом 1 Гбайт, чего в прошлых версиях микроархитектуры реализовано не было. Так AMD попыталась компенсировать расчленение процессора на несколько независимых кристаллов. И она у L3-кеша в Zen 2 действительно выросла до 40 тактов, в то время как в процессорах Zen L3-кеш имел латентность примерно на 5 тактов ниже. ⇡#От ядра – к CCX и CCD, и далее – к CPU
Выше уже говорилось о том, что конструкция процессоров Ryzen 3000 заметно отличается от того, как были устроены все прошлые Ryzen. Пара CCX располагается на одном 7-нм полупроводниковом кристалле и формирует процессорный чиплет, получивший аббревиатуру CCD (Core Complex Die). В чиплете ввода-вывода (I/O) процессоров поколения Zen 2 располагаются так называемые внеядерные компоненты, а также элементы северного моста и SoC. В нём, помимо всего прочего, находятся контроллер памяти и контроллер шины PCI Express 4.0. Также в I/O-чиплете реализованы и две шины Infinity Fabric, необходимые для соединения с CCD-чиплетами. В зависимости от того, о каком процессоре семейства Ryzen 3000 идёт речь, он может состоять либо из двух, либо из трёх чиплетов. В процессорах с числом ядер восемь и менее применяется один CCD-чиплет и один I/O-чиплет. В процессорах с числом ядер более восьми CCD-чиплетов становится уже два. Стоит напомнить, что Zen 2 – далеко не первая попытка перейти на многокристальную компоновку процессоров. Однако новые Ryzen 3000, в состав которых входит два или три чиплета, – отнюдь не шаг назад. Напротив, это переход на следующий уровень, поскольку AMD в новом поколении процессоров идёт не простым экстенсивным методом, наращивая количество вычислительных ядер за счёт добавления дополнительных кристаллов, а применяет куда более интеллектуальный подход, вводя в обиход чиплеты с различной функциональностью и объединяя их в единое целое специализированной высокоскоростной шиной Infinity Fabric. Выигрыш, который даёт использование многокристальной компоновки, вполне очевиден. В первую очередь она позволяет снизить себестоимость. Производство чиплетов, имеющих сравнительно небольшую площадь кристалла, заметно проще, чем изготовление крупного монолитного процессора. Распределение функций процессора по различным чиплетам позволило AMD сэкономить и ещё в одном аспекте. Новый техпроцесс оказалось совсем необязательно применять при производстве всех частей процессоров. Именно поэтому I/O-чиплет в Ryzen 3000 производится по-старинке – на фабриках GlobalFoundries по 12-нм техпроцессу, который использовался при изготовлении процессоров Ryzen второго поколения. Впрочем, нужно иметь в виду, что чиплетная конструкция порождает и определённые трудности. Например, в современных процессорах очень высокие требования предъявляются к тому, как соединяются и взаимодействуют друг с другом различные части CPU. Реализовать такую шину при многочиповой компоновке оказывается несколько сложнее. Впрочем, эта задача была успешно решена инженерами AMD. Процессоры Ryzen первого и второго поколений, хотя они и были основаны на монолитном ядре, использовали для соединения CCX и контроллера памяти, северного моста и элементов SoC специализированную шину Infinity Fabric. Откровенно говоря, к тому, как работает Infinity Fabric, ранее высказывались вполне обоснованные претензии: она не всегда могла обеспечить должный уровень быстродействия при взаимодействии процессорных ядер с L3-кешем и с контроллером памяти. В процессорах Ryzen 3000 компания AMD постаралась исправить основные недостатки Infinity Fabric. Во-вторых, Infinity Fabric теперь «развязана» с контроллером памяти по частоте. Раньше частота работы этой шины была синхронизирована с частотой памяти, что, с одной стороны, приводило к сильной зависимости производительности процессоров Ryzen от скорости установленных в системе модулей DDR4 SDRAM, а с другой – препятствовало разгону памяти выше 3466-3600 МГц. Теперь же шина Infinity Fabric сможет работать с контроллером памяти не только синхронно, но и на вдвое меньшей относительно него частоте – с применением делителя 2:1. Это— по крайней мере теоретически— означает гораздо большую свободу в выборе скорости памяти, хотя AMD продолжает настаивать на том, что синхронный режим для Infinity Fabric всё равно будет обеспечивать лучшую производительность, и оптимальнее с Ryzen 3000 использовать модули памяти DDR4-3600 с низкими таймингами. Тем не менее уже сейчас известно о том, что память в Socket AM4-системах, оснащённых процессорами Ryzen 3000, действительно можно будет сильно разгонять. Например, AMD показала работу модулей памяти в режиме DDR4-5100 в системе, построенной на Socket AM4-материнской плате MSI MEG X570 Godlike. Следующая страница→
⇣Содержание Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER. Материалы по теме