Страница 3: Новые CCX: 8x ядер Zen 3 и 32 MB кэша L3

В деталях CCX произошли некоторые изменения, некоторые весьма существенные. Если рассматривать процессор в целом, как совокупность ядер, то все вроде бы смотрится прежним. Но и здесь не все так просто.

Ранее кристалл CCD содержал два блока CCX по четыре ядра. И четыре ядра использовали 16 Мбайт общего кэша L3, что приводило к 2x 16 Мбайт кэша L3 на CCD. С архитектурой Zen 3 AMD переходить на CCX с восемью ядрами, которые используют 32 Мбайт общего кэша L3. В конце концов, теперь уже не требуется crossbar-коммутатор между двумя кластерами кэша L3, а также в случае, если ядра из одного CCX желают обратиться к памяти другого. Что снижает задержки работы с кэшем L3. Однако чем больше ядер будут обращаться в общий кэш, тем задержки будут больше. И восемь ядер для 32 Мбайт кэша можно назвать золотой серединой. Все ядра в комплексе CCX теперь напрямую соединены друг с другом.

В иерархии кэшей все начинается с 32 кбайт кэша инструкций L1. С помощью блоков Load и Store данные могут считываться или записываться с кэша данных L1 (тоже 32 кбайт). За такт можно считать или записать 32 байт. Между кэшами L1 и L2 обмен данными тоже идет со скоростью 32 байт за такт. У каждого ядра есть 512 кбайт собственного кэша L2, который можно использовать для данных и инструкций.

Между кэшами L2 и L3 обмен данных ведется со скоростью 32 байт за такт, поэтому данная пропускная способность сохраняется при передаче информации из кэша L3 в L2 и затем в L1. Кэш L3 содержит Shadow Tags для обмена данными между ядрами.

Как и в случае процессоров Ryzen 3000, кристаллы Ryzen 5000 в корпусировке соединяются по определенной топологии, но здесь как раз изменений мало. Но CCD теперь состоит из одного CCX, а не двух ранее. Но каждый CCD по-прежнему содержит восемь ядер и 32 Мбайт кэша L3. Ключевым фактором стало слияние двух CCX в один кластер. На уровне выше дизайн чипа не изменился, подключение к IOD осталось прежним. Infinite Fabric позволяет передавать данные с CCD на IOD со скоростью 16 байт за такт, а с IOD на CCD - 32 байта за такт. Здесь мы получаем хорошо известную особенность: с одним CCD (что верно для Ryzen 7 5800X и Ryzen 5 5600X) скорость записи на IOD в два раза ниже, чем скорость чтения с IOD. Интерфейс Infinite Fabric работает с контроллером памяти со скоростью 32 байт за такт, но процессоры с одним CCD просто не получат достаточно информации с CCD для загрузки данной пропускной способности.

Если же используются два CCD (Ryzen 9 5900X и Ryzen 9 5950X), то они записывают на контроллер памяти со скоростью 2x 16 байт за такт. Несмотря на теоретическую пропускную способность чтения 2x 32 байт за такт, на самом деле скорость чтения ограничивается 32 байт за такт.

IOD полностью идентичен линейке Ryzen 3000, хотя в деталях могут быть оптимизации техпроцесса. Кроме того, IOD должен работать более экономично, поскольку теперь между CCX/CCD нужно передавать меньше данных. И тепловой бюджет IOD (пусть и небольшой), теперь распределен в пользу CCD. Впрочем, остается открытым вопрос, будет ли меньшее энергопотребление IOD как-то проявлять себя на практике.

+19 % IPC

AMD получила прирост IPC 19% благодаря улучшениям архитектуры. На двух страницах мы как раз детально их описывали. Мы постарались доступно разъяснить, какие именно изменения AMD внесла в архитектуру Zen 3.

AMD рассчитала прирост 19% IPC на основе среднего по различным тестам, сравнивая на 4 ГГц восемь ядер Zen 2 и Zen 3. На графике показано, на какие исходные данные опиралась AMD. Интересен и разброс прироста по долям улучшениям кэша, исполнительного движка, блока предсказания ветвлений, кэша микро-операций, фронтальной части конвейера и блоков Load/Store. Конечно, какая-либо одна мера не дает точно указанный процент, все они работают вместе, обеспечивая в синергии заявленный эффект.

Если посмотреть по категориям, то можно лучше разузнать, где преимущества архитектуры Zen 3 проявляют себя сильнее. Некоторые приложения выигрывают всего на 10%, в другим мы получаем прирост больше 20%. И вы легко поймете, на какую категорию приложений фокусировалась AMD при разработке Zen 3.