Компьютерное железо
Процессоры
8 ноября

Мультикристалл: от истории до спекуляций о будущем

Из песочницы


MCM: многокристальная компоновка


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

Этот пост рассказывает о истории ее использования применительно к процессорам общего назначения.

Заранее предупреждаю: я не претендую на абсолютные знания и академичность изложения, рассказываю по большей части о том, с чем сталкивался, работал и держал в руках.
Traffic Warning! Под катом много картинок!

Что это?


MCM (Multi-chip module, многокристальный модуль) или MCP (Multi-chip package, многокристальная компоновка) — инженерное решение разнести функционал микросхемы на несколько чипов, объединенных в один корпус. От модулей отличается тем, что микросхемы обычно «голые», без компаунда, и припаяны напрямую кристаллами на плату. Используется для увеличения выхода годных чипов (уменьшая размер отдельного кристалла), компактного соединения кристаллов выполненных по разным техпроцессам и технологиям.

Ну что, начнем?


1995: Когда кэш ни в какие ворота не влазит

(aka Pentium Pro)


Кэш — штука жручая, габаритная и быстрая. Отсюда и вырастает парочка проблем: с повышением скорости его работы, узким местом становится пропускная способность его шины, да и он сам греться начинает. Надо как-то это исправлять. Самый логичный путь — перенести L2 в процессор, где уже давно пасется L1. Но есть проблема, и не одна: с увеличением размера кристалла увеличивается % брака чипов, причем едва ли не экспоненциально. Что делать? Конечно же делать кэш отдельным чипом, но поближе к основному. В итоге мы можем любоваться на сей кирпичик:



Решение хорошее, но порядочно усложнило корпусировку.

1997: А теперь на бис, хоть и не то же

(aka Pentium II)


Большой керамический корпус это, конечно, хорошо, но дорого. Попробуем переиграть? А почему бы и нет. Задача — сделать дешевле, причем все. Переносить кеш обратно на плату не вариант — это был бы шаг назад. Да и ширина шины кэша тоже выросла… Может объединить все вместе с охлаждением в один модуль? Так и родился Pentium II:



Можно, конечно, не считать это MCM, но раз уж я это вспомнил — будет тут.

(к слову, без этого бессменного и бессмертного старичка ваш покорный слуга и не писал бы эту статью — PII-400 который год работает мне шлюзом и WiFi-роутером, пережив многих своих потомков)

2005: Д — значит Дважды Дно

(aka Pentium D)


Когда план «Одно ядро, но ГНАТЬ!» ощутимо начал трещать по швам, а конкуренты, посмеиваясь, уже собирались выпускать двуядерные процессоры на одном кристалле, пришлось что-то делать, причем быстро. Так и появился сей атавизм, коим заткнули дырку на рынке, пока основные силы были брошены на более перспективную архитектуру «Core». Вероятно, главной причиной использования такого решения было именно сокращение времени на разработку — размер кристаллов был не настолько велик, чтобы его удвоение вызвало проблемы. Ну, тут уж как вышло:



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

2007: А почему бы и да

(aka Core 2 Quad)


Раз мы осилили в 2006 двуядерные кристаллы, то зачем напрягаться? Используем проверенное временем решение — воткнем два кристала в один корпус и нет проблем! Говорить особо не о чем, картинка не сильно изменилась:



Xeon той эпохи тоже такими были, кроме шестиядерной модели — там один большой кристалл.

2010: До прихода песка

(aka first gen Core i3/5/7 )


На двуядерных процессорах Core i первого поколения решили обкатать 32 нм процесс, сделав довольно забавную вещь — на проверенном временем 45 нм процессе сделали интегрированное видеоядро и контроллер памяти, а на отдельном 32 нм кристалле разместилась пара ядер с кэшем. В то время как их старшие четырехядерные собратья использовали 45 нм процесс! Забавны так же и размеры кристаллов:



(Впрочем, видеоядро у двуядерных процессоров и сейчас часто больше чем оба ядра вместе взятые)

2011: Один бульдозер — хорошо, а два — лучше

(aka Opteron 6000)


Кристалл и так большой, технология их выпуска налажена, в чем, собственно, проблемы? NUMA? Но мы и так делаем эти процессоры для серверов, причем многосокетных. Раз проблем нет, собираем два кристала под одной крышкой:



(Ага, а потом людям весело — процессор один, а NUMA нод — две)

2013: Ириска, но несъедобная

(aka eDRAM L4 GPU/CPU cache)


С поколения Haswell процессоры оснащенные встроенной графикой Iris Pro/Iris Plus (а в поколении Skylake — и те, что с обычной Iris) идут в одном корпусе с 64/128МБ чипом памяти, работающим как L4 кэш и довольно серьезно поднимающим производительность встроенной графики. А чип-то не маленький (хотя память всегда много места занимает):



2017: Year when Intel shit brix

(aka Ryzen Threadripper & EPYC)


Игрались инженеры AMD с Infinity Fabric, игрались… А потом — упс! Четыре кристалла под одной крышкой соединенные с помощью IF каждый с каждым (в случае серверных EPYC) или пара между собой (Threadripper с двумя активными кристаллами). Все хорошо, одна только проблема — NUMA (аж 4 ноды на один процессор!), но проблемой она является исключительно для неприспособленного к ней софта. Так что вышло очень даже хорошо:



2018: Удваивая количество — удваиваем веселье

(aka Zen 2 & Cascade Lake AP)


Вот мы и добрались до текущих событий. 5 ноября Intel быстро анонсировала 48-ядерные двухкристальные процессоры (даже картинки не успели нафотошопить), а 6 ноября AMD на своем мероприятии Next Horizon показала новые EPYC. Тысячу слов заменит картинка:



Девять кристаллов. Девять, черт побери! Причины такого решения мне понятны, и они очень просты: ради повышения выхода целых чипов, понижения общей стоимости процессора и ускорения разработки. 7 нм — еще сырой процесс. Intel, с ее 10 нм (+- равен 7 нм процессу TSMC) уже от этого огребла. Да так, что 10 нм процессоры мы до сих пор в живую видели лишь в виде одной модели ноутбучного огрызка i3.

Центральный кристалл сделан на проверенном 14 нм процессе и работает контроллером памяти и всего ввода-вывода кроме PCIe 4.0, 16 линий которого обеспечивает каждый из кристаллов-сателлитов с восемью ядрами на каждом.

Один общий контроллер памяти обеспечивает главное — однородный доступ к памяти (UMA). А он никогда не будет лишним.

Время спекуляций


Центральный кристалл соединяется с сателлитами с помощью Infinity Fabric, что в свою очередь дает огромное количество возможностей использования компонент как вместе, так и по отдельности. Нужен десктопный процессор с 16 ядрами? Пилим кристалл с двухканальным контроллером памяти и соединяем с двумя ядерными комплексами под одной крышкой. Нужен процессор с встроенной графикой? Выкидываем один ядерный комплекс, вместо него ставим чип GPU. Затраты на расширение номенклатуры процессоров уменьшатся на порядок. А уменьшение размеров отдельных кристаллов уменьшает процент брака, что в свою очередь положительно сказывается на стоимости.

MOAR geek porn


То, о чем я не написал, но стоит упомянуть:

Via Nano QuadCore, совсем про нее забыл. Дел с ней не имел, рассказывать нечего.


IBM CPU 9121/311


IBM Power 5


И боле новый Power 7


Микроконтроллер GD32, сверху чип flash-памяти. Фото от товарища BarsMonster
+31
8,1k 30
Комментарии 29
Похожие публикации
Популярное за сутки