[Из песочницы] Мультикристалл: от истории до спекуляций о будущем

[Из песочницы] Мультикристалл: от истории до спекуляций о будущем

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

 
Источник

#amd, intel, инженерные решения, процессоры, электроника

Читайте также