Смотрим внутренности отечественного 28нм MIPS процессора — Baikal-T1
Думаю многие уже слышали про реализованный московскими разработчиками Байкал Электроникс процессор Байкал-Т1 — с двумя ядрами Imagination Technologies P5600 MIPS 32 r5 и набортным 10GbE. Байкал оказался первым, кто реализовал в кремнии это ядро.
Сами процессоры (всего их пришлось вскрыть 4 штуки):
BGA-подложка и теплораспределяющая/защитная крышка — как и у других современных процессоров (Intel и ко), чип перевернут контактами вниз (flip-chip BGA):
Сам кристалл — по всей площади имеет контакты, большая часть из которых — для подачи питания по всей площади чипа. Это необходимо не столько из-за высокого потребления энергии (оно как раз невысокое, ≤5Вт), сколько для снижения индуктивности цепей питания. Опять же, большинство современных процессоров имеют аналогичную систему питания:
В левой части — Ethernet контроллер (вероятно 10GbE KR/KX4), на кадре видна половина:
После снятия металлизации — видим автосинтезированную из стандартных ячеек логику (Мультиклет например аналогичными «волнами» синтезировался на 180нм), кучу сгенерированных инстансов памяти/регистровых файлов (их обычно поставляет фабрика), и по всей площади раскиданные идентичные блоки мониторинга (предположительно, мелкие бело-синие вертикальные прямоугольнички). Заметная часть чипа (около 25%) транзисторами не занята, и там просто заполнение пустыми ячейками.
Посмотрим чуть ближе:
Предположительно, блок мониторинга (температура/скорость генерации инверторной цепочки например). Вокруг — поле пустых ячеек:
Ряды стандартных ячеек в максимальном оптическом разрешении. Тут 1 пиксель = 28.5нм, 28 микрометров (0.03мм) на ширину кадра, но оптическое разрешение ограничено дифракцией на уровне порядка 200нм (потому кадр кажется и является нечетким). Видно, что в первом приближении тут подход тот же, что и на 180нм — те же ряды транзисторов «спина-к-спине» — [P N] [N P] [P N]… транзисторы (т.е. соседние ряды стандартных ячеек зеркально отражаются). Линия с P транзисторами чуть шире:
Один из мелких сгенерированных блоков памяти — собственно массив SRAM ячеек занимает небольшую часть блока (остальное — драйверы строк/колонок и усилители сигнала, логика внешнего интерфейса). Вокруг детальнее видно поле «пустых» ячеек (совсем ничего там рисовать нельзя — чип получится неравномерным по высоте, что недопустимо):
Напоследок — фотография Байкала в иммерсионном масле, сразу после последних кадров:
На мой взгляд Baikal-T1 — большой шаг вперед для отечественной гражданской микроэлектроники. Это современное ядро, разработанное и произведенное по современным массовым гражданским технологиям, которое решает поставленные задачи стандартными средствами — общепринятый в мировой индустрии маршрут разработки, всем понятный и открытый компилятор, всем понятная и открытая ОС. Изобретение своих велосипедов там, где без них можно обойтись — это настоящий бич отечественных разработок, и тут этого удалось избежать.