Топология Threadripper 3970X
Подобно Ryzen 3000 для десктопной платформы, Ryzen Threadripper 3000 тоже «переехали» на чиплетный дизайн. Под огромной крышкой соседствуют CCD-комплексы, содержащие x86-ядра на архитектуре Zen 2, а также центральный кристалл ввода-вывода IOD. Первые производятся по передовому 7-нм техпроцессу TSMC, а IOD-кристалл – по 12-нм техпроцессу GlobalFoundries. Таким образом, процессоры получились интернациональными как никогда: часть компонентов производится в Америке, часть – на Тайване, и окончательная сборка в Малайзии. Длинный жизненный путь Threadripper отображен прямо на крышке.
Каждый CCD-комплекс имеет порядка 3,9 млрд. транзисторов (74 мм2), а центральный IOD-кристалл около 8,34 млрд (416 мм2). Итого суммарно транзисторный бюджет Threadripper 3970X порядка 24 млрд., а площадь – 712 мм2. Можно было создать и единый большой кремний такого размера, это отнюдь не рекорд. К примеру, графический процессор NVIDIA TU102 (RTX 2080, Titan RTX) имеет площадь 754 мм2. Но мультичиповая конфигурация, применяемая AMD, гораздо выгоднее из экономической точки зрения. Проще и дешевле произвести 5 некрупных кристаллов, и после соединить их сверхскоростной шиной, чем один монструозных размеров. И этот постулат возводится в степень при применении передовых техпроцессов.
7-нм CCD-комплекс. Источник изображения: Fritzchens Fritz
8-ядерные CCD-комплексы в точности аналогичны тем, что применяются в десктопных Ryzen 3000. Только если у Ryzen их в лучшем случае 2, то у Threadripper 3970X и 3960X их по 4 штуки, а у 3990X и вовсе 8 единиц. Кроме того, сами ядра на архитектуре Zen 2 по показателю IPC (инструкций за такт) стали на 15-18% производительнее за счёт архитектурных оптимизаций.
12-нм кристалл IOD. Источник изображения: Fritzchens Fritz
Кристалл IOD унаследован от серверных процессоров Epyc, но в урезанном виде. В составе Threadripper он урезан ровно вдвое: два двухканальных контроллера DDR4-3200 + два контроллера PCI-Express 4.0 на 32 линии каждый.
Технически AMD могла реализовать 8-канальный доступ к памяти вместо 4-канального. Почему нет? – сама AMD говорит, что 4 канала с Threadripper работают лучше. Но скорее здесь дело в экономической составляющей. Кристалл площадью 416 мм2 – самый большой, что сходил с конвейера GlobalFoundries в рамках 12-нм. Вероятно, не все они получаются годными, рабочими целиком. Целые-годные – в серверные Epyc, чуть битые – урезаются в половину и ставятся в Threadripper. Кроме того, 8-канальный доступ требует больше слоёв в подложке, а это тоже затраты. Истина, скорее всего, как обычно посередине: лепту вносят и разные экономические составляющие, и отсутствие сопоставимого прироста пропускной способности памяти.
Иная топология в корне изменила процесс доступа к внутрикремниевой памяти. У Threadripper первого и второго поколений чиплеты с ядрами были полнофункциональными. Помимо самих ядер, в них содержался кэш, шины PCI-Express, ряд вспомогательных блоков и контроллеров. Теперь все это переместилось в центральный кристалл ввода-вывода IOD, а CCD теперь содержит ядра и только их.
Топология Threadripper 2990X
Такой подход принес ряд дивидендов, а точнее избавил от «бутылочного горлышка». Ранее ССD-комплекс мог обращаться к памяти другого CCD через шину Infinity Fabric, что лишний раз засоряло трафик шины, не говоря уже о лишних задержках. Хуже того, часть ядер Threadripper 2970WX и 2990WX вообще не имела собственной памяти. При надобности они обращались к соседним, что вызывало рост задержек в 1,5 раза и сильно сказывалась на производительности в специфических задачах. Теперь же подход в корне иной: памяти в ядрах нет (вся она в центральном кристалле), лишние задержки искоренены, ядра напрямую меж собой общаться не могут, шина Infinity Fabric гоняет кратно меньше трафика, а прямо лишнего – так и вовсе нисколько.
Кратко говоря, наиважнейшее топологическое изменение в том, что Threadripper перешли от распределённой схемы реализации памяти и вспомогательных контроллеров к централизованной. Важно понимать, что это не идеальное решение, а выбор меньшего из зол. В случае с действительно многоядерными процессорами делается либо так, либо как было в Threadripper 2000 (с дополнительными задержками), либо на едином монолитном кристалле. В последнем случае задержек не будет, но стоимость и % выхода годной продукции, особенно вспоминая дороговизну 7-нм техпроцесса TSMC, получится нецелесообразной.