
Победоносное шествие информационных технологий за последние сорок лет имеет свои объективные причины, ранжировать которые непросто, но, я думаю, в первую тройку их наверняка входит относительная дешевизна этих технологий, причём скорость подешевления последнее время не убывает, а только прирастает с той или иной быстротой. Желающие могут сами погуглить цену килобайтов и производительности в MIPS для IBM System 360, IBM PC и современных образцов.
Одной из главных причин такого постоянного подешевления, кроме технологического роста, является «эффект масштаба» - так называют хорошо известное экономическое явление, заключающееся в том, что одна единица товара при оптовой покупке стоит тем меньше, чем больше партия. Этот эффект всеобщий, хотя и из него есть пара-другая исключений, если кому интересно, спрашивайте в личку или в комментах. Всё дело в том, что при росте партии капитальные затраты размазываются на всё большее число единиц товара, причём это явление имеет мульпликативный характер. О чём это я? Вот пример: если объём партии выпускаемых ИМС вырос в 10 раз, то и сверхчистого кремния для них понадобилось тоже в 10 раз больше, и эффект масштаба распространился и на поставщиков материалов. И на поставщиков электроэнергии. И упаковок. И транспортников. В общем, эффект масштаба – это хорошо и полезно. Предупреждаю упреки специалистов в экономике, что тут есть и свои сложности и тонкости в расчётах, но в первом приближении дело обстоит так, как я написал выше.
И вот в этот момент мы сталкиваемся с неочевидным на первый взгляд системным противоречием. В чём же оно? Чтобы заставить эффект масштаба играть на своей стороне, надо сделать как можно более универсальный продукт, чтобы им одним закрыть все потребности. С другой стороны, нужно постоянно расширять рынок продукта, втягивая в него всё новые и новые области применения – а для этого нужны специализированные, а не универсальные решения. То есть нужны универсальные и специализированные решения одновременно, а это чистое противоречие.
Всё вышесказанное касалось не только информационных, но и практически всех человеческих технологий. Как из этого противоречия выбрались айтишники? Очень элегантно – универсальный Hard, специальный Soft. Вот эта идея, осознанная и заложенная первыми учениками фон Неймана и Шеннона, и обеспечила в конечном итоге то бурное опережающее общие темпы прогресса развитие ИТ, которое мы видим (IMHO). Косвенным подтверждением моим словам служит тот факт, что сейчас топовые ИМС могут производить 3-5 компаний в мире, причём эти компании нежизнеспособны в условиях изоляции. В общем, дальше ехать на эффекте масштаба всё сложнее и сложнее.
А что тогда делать? Пробовать расширяться на те области, которые поначалу были отставлены в сторонку как малоперспективные. Например, уходить дальше в специализацию, поскольку эффект масштаба начинает проскальзывать. И вот мы начинаем видеть бурный рост разных специализированных и нишевых решений, тиражи которых конечно меньше, чем процессоров общего назначения, но зато дают возможности забраться туда, куда полноценные ПК не дотягиваются и не дотянутся в обозримом будущем. При этом сорок лет развития технологий не прошли даром, и микроконтроллер сегодняшних смарт-часов по своим техническим характеристикам легко уделывает ЕС-1020.
Итак, мы обратили своё внимание к специализированным решениям, решениям пока ещё голубого океана*. Теперь давайте немного развернёмся и посмотрим в другую сторону – вот у нас есть вполне себе серийный SoC (System on a Chip, все современные процессоры, строго говоря, процессорами не являются, а представляют собой SoC), ему для работы нужны как минимум RAM, ROM и USB-интерфейсы. К этому минимальному комплекту надо прикрутить уже то, что будет определять специализацию: беспроводные интерфейсы для мобильных устройств, камеру и/или небольшой экран, приёмник GPS и целый веер наших любимых интерфейсов типа LAN, RS485 и всяких датчиков, начиная хоть бы от детектора паров этанола в выдыхаемом воздухе :-)
Вся эта красота должна располагаться на печатной плате, которая удержит все компоненты механически и соединит их электрически. При этом печатная плата внесёт не меньший, а, скорее всего, и больший вклад в качество Вашего будущего изделия. Почему? Потому что, как правило, ИМС уже вылизаны достаточно тщательно, а вот накосячить в печатной плате гораздо проще, чем напороться на дефект кремния. Тем более, что кроме Вас и Ваших старших товарищей никто плату проверять не станет. Места для косяков тоже более чем достаточно – современные SoC используют сигналы с тактовой частотой в единицы Гигагерц, что уже есть микроволны, каждая соединительная линия является полосковой и требует согласования длины и импеданса и учёта перекрёстных помех. Свою лепту внесут и изготовители печатных плат – не зря же к серьёзным проектам они прикладывают рапорт (так называется полоска печатной платы с парой линий, для которых импеданс можно померить и убедиться, что и с самой остальной платой всё ОК).
Есть и ещё один момент – сегодня все более-менее серьёзные ИМС делаются в корпусах BGA (Ball Grid Array) – то есть точками пайки является массив шариков припоя под корпусом. Такие корпуса требуют многослойных плат, 6 слоёв – это минимум-миниморум, при условии, что Вы используете малую часть выводов BGA и расположены они на периферии корпуса. 10-12 слоёв – вполне обычное число для современных специализированных плат.
Итак, мы с Вами всё же решили рискнуть и развели свою печатную плату для специализированного устройства. И у нас получилось что-то вроде Raspberry Pi :-) Возможно, более сильно заточенного под наше применение. Изделие штучное, хотя на фоне каких-нибудь ПЛИС или нейроускорителей и недорогое. Внимание вопрос – а можно ли хоть как-нибудь реализовать эффект масштаба с этой платой? На первый взгляд нет. И на второй тоже. А вот если как следует задуматься?
Давайте обратим внимание на вот какой момент – наша плата чётко делится на два домена: домен высокоскоростных соединений с жёсткими требованиями к целости сигналов и на другой, в котором этих требований почти нет. Первый – это сам SoC, DDR3/4 около него, в меньшей степени eMMC или интерфейс SATA, возможно USB3, RGMII, HDMI и MIPI. Именно они требуют многослойной (6 и больше) печатной платы высокого класса точности. Второй домен содержит датчики, разъёмы, схемы согласования и питания и всё остальное прочее. Для него более, чем достаточно 4х слоёв и пятого класса точности, а иногда и четвёртого.
Нетрудно заметить, что вся основная специфика платы сосредоточилась во втором, низкоскоростном домене с недорогой печатной платой. До идеи остался один шаг – а давайте наше решение разобьём на две платы, как раз по линии, разделяющей домены. На мезонинный процессорный модуль и на несущую плату.
Что мы потеряем при этом? Общую стоимость вверх и часть надёжности вниз потянет за собой применение разъёма. Останется некоторая избыточность процессорного модуля, но за неё и так и этак придётся заплатить, что в монолитном решении, что в комбинированном, ведь SoC, RAM и eMMC нужны и там и там.
Что мы приобретаем взамен? Один раз проделанную работу по дизайну и оптимизации процессорного модуля не придётся повторять, для каждого нового специализированного устройства меняется только несущая плата. Снижается стоимость и растёт скорость отладки – изготовить несущую 4х слойную плату для тестов гораздо быстрее, чем новую 12-слойку для интегрированного решения. Рано или поздно наступает момент, когда Ваше устройство выходит в серию, и значение начинают иметь даже маленькие суммы в себестоимости. Вот тогда-то Вы и с радостью вспомните, что 12-слойная плата у Вас маленькая, а основная площадь занимается дешёвой 4х слойкой. Не последнюю роль играет и ремонтопригодность Вашего изделия, при всяких досадных случайностях в первую очередь страдает периферия и интерфейсы (хотя и могут быть варианты), и выгоднее заменить несущую, чем всё изделие. И самое последнее – сделанный Вами процессорный модуль может стать (при условии Вашей готовности его поддерживать) отдельным продуктом для других пользователей.
Если Вы думаете, что я только что поделился с Вами каким-то откровением, то это далеко не так. Все наблюдения и выводы лежат на поверхности и хорошо известны специалистам по Hardware много лет. Приведу только два примера.

Итак, Pentium2. Фактически это гибрид процессора и кеш-памяти, прототип процессорного модуля, устанавливаемый в специальный ламельный разъём на печатной плате. Делала сама Intel, и была уверена в качестве и согласованности критических параметров модуля, а материнки делали уже все, кому не лень.

Второй пример – я уже упоминал выше Raspberry Pi. Так вот RPi4 существует, как минимум в двух ипостасях: RPi4 и RPi CM4, где CM4 значит не что иное, Computing Module 4.

А коли так, зачем тогда вся эта простыня и лонгрид? Дело в том, что имея в виду первые четыре выгоды модульного решения для своих изделий, мы в компании: (1) приняли решение, (2) вложились людьми и деньгами, (3) совместно с Пензенским «Рубином» разработали дизайн и (4) изготовили опытные образцы собственных процессорных модулей.
Главный вопрос: «А зачем нам ещё один?», если их есть уже тьма? Ответ прост: мы специализируемся на решениях по защите информации, и нет такого существующего, который устраивал бы нас полностью. Основные наши требования, ведущие к разработке своего – нужен аппаратный корень доверия с отечественной криптографией, это раз, и мы должны обладать полным контролем над изделием для внесения его в реестр отечественной радиоэлектронной продукции, это два. Очень желательно использовать архитектуру RISC V, по понятным причинам деликатного свойства, вот в общем-то и всё.
«Всё это здорово, но автор не ответил на вопрос, который сам перед собой поставил – зачем статья» - скажете Вы и будете правы. Отвечаю: нам хочется попробовать реализовать пятое преимущество модульной архитектуры, а именно, отчуждаемость процессорного модуля. Чтобы рассказать об этом, я не знаю более подходящего места в Рунете, чем Хабр. Мы готовы делиться сведениями, поддерживать сообщество вокруг своего решения, для начала планируем опубликовать ряд статей с более подробным описанием, что почём и как. В перспективе готовы поставлять модули. Понятное дело, при условии Вашего интереса. Если интереса не будет, что поделать, мы останемся только с четырьмя преимуществами вместо пяти. По крайней мере мы пробуем…
Примечание:
*Бизнес-термин, означающий работу на только что возникшем и/или мало конкурентном рынке. Противопоставляется красному (от крови конкурентов) океану – сильно конкурентному рынку.
lelik363
Где процессорный модуль?
VladSMR Автор
Рендер - в заголовке, фото выложу в комменты или в следующую статью через пару-тройку дней. Я правильно понял вопрос?