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



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
Поделиться публикацией
Комментарии 29
    +6
    Самый важный то и забыли!
    image
      +3
      какое расточительное использование объёма!
        +5
        Уверен, что это для лучшего охлаждения, в Кибердайн не дураки работают!
          0
          Можно контур охлаждения вынести в рога!
            +2
            Ну и зачем нам облегчать жизнь этим «кожаным мешкам» из сопротивления!?
          +5
          это — для создания бОльшей зоны деформации при ударах по затылку ;)
            +2
            Военное исполнение-с.
            0
            15ти ядерный…
            0
            Некоторые микросхемы (например DRAM) состоят из двух кристаллов (die) один на другом (со сдвигом, для доступа к контактным площадкам). Правда пластиковый корпус не позволяет этого увидеть.

            А еще есть установка уже корпусированных микросхем в стек друг на друга. Например — чип DRAM поверх SoC в Raspberry Pi Zero.
              0
              Когда я говорил «от одноплатных компьютеров за 10$», именно Zero и вспоминал. Благо он у меня под боком валяется.

              Тут тоже вопрос, считать ли это MCM — я не знаю, ставится ли микросхема DRAM во время пайки платы, или уже MCM-сборку из двух микросхем на нее припаивают.
                0
                Package over Package (PoP) это не MCM. Потому что это два отдельных чипа.
                0
                состоят из двух кристаллов (die) один на другом

                Все к этому идет. AMD публиковали свое видение будущих процессоров и там был бутербродик из кристаллов. Как только решат проблему с охлаждением, мы увидим многослойные процессоры :)
                  +1
                  Давно задаюсь вопросом, почему производители CPU не делают бутерброд из чипов в котором сразу бы были отверстия под тепловые трубки или водяное охлаждение.
                    +1
                    Чем тоньше трубка, тем сложнее через неё прокачивать засоряется легче.
                    А очень жидкая вода да ещё ультрафильтрованная — экзотика, зачастую и агрессивная (из-за присадок уменьшающих поверхностное натяжение).
                    Бутерброды очень хорошо греются внутри и энергию надо оттуда как-то выводить, и про минимальную длину связей не забывать.
                    Такие штуки лабораторно делают давно, весь затык что в тонкие капиляры любые жидкости лезут медленно, а использовать экзотическую экзотику сводит на нет весь смысл — толку от микрочипа, если к нему холодильник с немалый холодильник?
                0
                Читал как то давно вроде как Sony предоставляло для игровой приставке решение в виде модуля из 10-ти чипов, причем фишка была в том, что при выходе одного из строя следовала операция реконфигурации и исключала вышедший из строя чип и система продолжала работу далее, даже высказывалось предположение, что такое решение может найти применение в космосе.
                  0
                  IBM Cell? Но там вроде много ядер на одной подложке
                  0
                  Можно было еще упомянуть ARM. Там SoC уже давно используется.
                    0
                    SoC — не всегда MCM. Да и в смартфонах MCM чаще встречается в виде микросхем памяти DRAM+eMMC, DRAM+NAND. (если не считать Spreadtrum, которые не стесняются паковать AP + BB + RF + RAM + ROM в один корпус)

                    В спойлере с картинками, кстати, GD32 присутствует — забавная вещица, да и пошустрее STM32. Можно так же упомянуть ESP8266 и ESP32 — у них в линейке тоже есть модели с NOR-флешкой в одном корпусе, но с ними я особо не сталкивался.
                    К слову, все описанное в посте, кроме EPYC Rome, я держал в своих руках, а за исключением EPYC и Threadripper — все у меня в коллекции.

                    Пост, по идее, пятнично-развлекательный, этакий вольный экскурс в историю, написанный после анонса новых эпиков, когда я в честь праздника перебрал свою коллекцию барахла.
                  0
                  Как известно IBM восемь кристаллов больше 10 лет назад прикручивала. Девять — это новый рекорд или ещё больше бывает?
                    +1
                    Посмотрите под спойлером в конце поста на IBM CPU 9121/311
                    Вот это — настоящий рекордсмен.
                    Хотя точный рекорд мне все-таки неизвестен.
                    IBM z800
                    На z900 были сборки аж на 35 кристаллов, но фотографий в интернете не найти…
                    0
                    Честно говоря всегда думал что у квадов кристалл был не порезанным, то бишь склейкой а не реально двумя кристаллами на одной подложке.
                      +2
                      И самые невероятные котопесы: Intel Core i7-8705G и i7-8809G (Kaby Lake-G) с графикой Radeon.
                      image
                        +2
                        Ой, да. Забыл про них. Самое интересное, что там четыре чипа — один из них внутри платы, является переходником между HBM2 и кристаллом Vega. Называется этот чип EMIB (Embedded Multi-Die Interconnect Bridge, встраиваемый связующий мультикристальный мост), и нужен лишь потому, что современные печатные платы не могут обеспечить достаточную плотность проводников.
                          0
                          Меня всегда удивляло, почему на ноутбуках и части видеокарт делают такую металлическую рамку, а для ЦП обычных ПК чаще всего идет металлическая крышка(под которой портится термохрень или сама крышка кривая) или вовсе голый кристалл без какой либо защиты.
                          Ведь такая рамка уменьшает шанс сколоть кристалл до минимума и при этом не создаёт проблем с охлаждением.
                        0
                        Кстати ещё APU под FM1 забыли:
                        image
                          +2
                          Это процессор от Xbox Slim, к FM1 он ну никакого отношения не имеет, как и вообще к x86 архитектуре.
                          Саоме интересное — второй (меньший) кристалл — это часть GPU — блоки растеризации и 10МБ кэш. И это при том, что основная часть GPU на одном кристалле с остальными ядрами, и для соединения кристаллов пришлось тянуть 512-bit шину между ними. Тут я не понимаю причину такого решения, увы…
                            0
                            Упс, напутал. Но кстати тоже мультичип которого в статье не было притом весьма распространённый)

                        Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                        Самое читаемое