Смотрим внутренности отечественного 28нм MIPS процессора — Baikal-T1

693bd912aae5b1a0f28e8d274169e18a.jpgДумаю многие уже слышали про реализованный московскими разработчиками Байкал Электроникс процессор Байкал-Т1 — с двумя ядрами Imagination Technologies P5600 MIPS 32 r5 и набортным 10GbE. Байкал оказался первым, кто реализовал в кремнии это ядро.

Терзал этот процессор я с перерывами больше года —, но наконец под катом могу поделиться результатами.

Внимание, картинки кликабельны —, но местами довольно тяжелы (до 100Мб).

Сами процессоры (всего их пришлось вскрыть 4 штуки):
4c2b287c8dabea682e88996ce4356a1c.jpg

BGA-подложка и теплораспределяющая/защитная крышка — как и у других современных процессоров (Intel и ко), чип перевернут контактами вниз (flip-chip BGA):
53926a81e4c698636f63f8f8ffc864f0.jpg

Сам кристалл — по всей площади имеет контакты, большая часть из которых — для подачи питания по всей площади чипа. Это необходимо не столько из-за высокого потребления энергии (оно как раз невысокое, ≤5Вт), сколько для снижения индуктивности цепей питания. Опять же, большинство современных процессоров имеют аналогичную систему питания:
38a2f644a5dc0095a8611702b1edd2fe.jpg

В левой части — Ethernet контроллер (вероятно 10GbE KR/KX4), на кадре видна половина:
4c2f3006f8fafddf96bb96aa01ec23f6.jpg

После снятия металлизации — видим автосинтезированную из стандартных ячеек логику (Мультиклет например аналогичными «волнами» синтезировался на 180нм), кучу сгенерированных инстансов памяти/регистровых файлов (их обычно поставляет фабрика), и по всей площади раскиданные идентичные блоки мониторинга (предположительно, мелкие бело-синие вертикальные прямоугольнички). Заметная часть чипа (около 25%) транзисторами не занята, и там просто заполнение пустыми ячейками.
b6da64e957f924daad638e166d578516.jpg

Посмотрим чуть ближе:
Предположительно, блок мониторинга (температура/скорость генерации инверторной цепочки например). Вокруг — поле пустых ячеек:
cce73382ee10fed51b0572c535736d87.jpg

Ряды стандартных ячеек в максимальном оптическом разрешении. Тут 1 пиксель = 28.5нм, 28 микрометров (0.03 мм) на ширину кадра, но оптическое разрешение ограничено дифракцией на уровне порядка 200нм (потому кадр кажется и является нечетким). Видно, что в первом приближении тут подход тот же, что и в 180нм — те же ряды транзисторов «спина-к-спине» — P P N N транзисторы (т.е. соседние ряды стандартных ячеек зеркально отражаются). Линия с P транзисторами чуть шире:
24aa6287c024491ef8d8e424285b4530.jpg

Один из мелких сгенерированных блоков памяти — собственно массив SRAM ячеек занимает небольшую часть блока (остальное — драйверы строк/колонок и усилители сигнала, логика внешнего интерфейса). Вокруг детальнее видно поле «пустых» ячеек (совсем ничего там рисовать нельзя — чип получится неравномерным по высоте, что недопустимо):
925c6aa328281b972738e3b18f2cfc36.jpg

Напоследок — фотография Байкала в иммерсионном масле, сразу после последних кадров:
97f24f88796022bf1de1dac0a9ab9b80.jpg

На мой взгляд Baikal-T1 — большой шаг вперед для отечественной гражданской микроэлектроники. Это современное ядро, разработанное и произведенное по современным массовым гражданским технологиям, которое решает поставленные задачи стандартными средствами — общепринятый в мировой индустрии маршрут разработки, всем понятный и открытый компилятор, всем понятная и открытая ОС. Изобретение своих велосипедов там, где без них можно обойтись — это настоящий бич отечественных разработок, и тут этого удалось избежать.

На этом пока все — надеюсь в обозримом будущем чаще выходить с публикациями. Если работы такого рода вам нравятся — теперь вы можете поддержать их на Patreon или другими способами (а там глядишь и до электронного микроскопа/FIB доберемся).

Комментарии (1)

  • 28 февраля 2017 в 18:52

    +1

    Барс, как обычно, снимаю шляпу…

© Habrahabr.ru