Часть 1. Ликбез

Стоимость изделий микроэлектроники определяется в первую очередь объемами выпуска.

Если речь идёт о программируемых устройствах, то огромную роль играет совместимость новых изделий с уже имеющимся софтом — каким бы крутым не было новое устройство, его мало кто купит, если для его использования придётся писать огромное количество нового софта. По этой причине на рынке процессоров общего назначения лидируют устаревшие архитектуры x86, arm и др., не способные выжать потенциал с многих миллиардов транзисторов, которыми располагает современный чип (производительность на один транзистор современных CPU в ~1000 раз ниже чем 30-40 лет назад), но под которые создано огромное количество софта, переделка которого популярными в настоящее время методами создания софта обойдётся в сотни миллиардов долларов.

Поэтому рост производительности идёт другим путём — превращением CPU в SoC (систему на чипе), которая помимо CPU включает в себя некоторое количество программируемых нестандартным образом специализированных модулей, эффективно выполняющих различные задачи, выполнение которых силами CPU привело бы к диким тормозам в силу ущербности популярных архитектур CPU.

Специализированные модули (т.н. IP-ядра) разрабатываются сторонними организациями, разработка SoC заключается в интернировании IP-ядер — создании системы коммуникаций между ними, чем эффективнее коммуникации, тем лучше будут загружены IP-ядра при выполнении программы, тем быстрее будет выполняться программа. Чем меньше лишних действий необходимо для загрузки IP-ядер, тем меньше будет энергопотребление SoC. Поэтому различные SoC, в основе которых лежат одни и те же IP-ядра, могут отличаться по производительности и энергоэффективности даже если выполнены на одной и той же фабрике и одном и том же техпроцессе.

Разработчики SoC не имеют собственных мощностей для производства чипов — это т.н. fabless-компании, разработчики IP-ядер тем более не занимаются производством. Производители чипов не занимаются разработкой IP-ядер и SoC.

Разработка IP-ядер и SoC ведётся на специальных языках описания железа (HDL — Hardware Design Language), сам процесс разработки похож на обычное программирование сложных систем. Далее HDL-код можно либо залить в FPGA, либо перенести на кристалл под конкретный техпроцесс и произвести в виде чипа (переносом на кристалл занимается производитель чипа). В обеих случаях функционал будет одинаковым. FPGA используются при малых партиях изделий, когда не рентабельно производство чипов. Однако, FPGA имеют ограничения, не любое IP-ядро или SoC можно залить в FPGA, чем мощнее FPGA, тем она дороже, самые мощные FPGA по стоимости соизмеримы с производством мощных чипов под заказ. Кроме того, FPGA хуже по энергоэффективности чем чипы с аналогичным функционалом.

Т.о., разработка IP-ядер, разработка SoC на их основе и производство чипов — это по сути три разных сферы деятельности, осуществляемые различными организациями. Единственная в мире контора, самостоятельно осуществляющая все три стадии создания чипов — это Intel.

Эффективное программирование современной SoC сводится к распределению задач между специализированными модулями, собственно CPU выполняет это распределение и настройку специализированных модулей. Можно программировать CPU по-старинке, без использования доступных специализированных модулей. Но в этом случае скорость выполнения программы будет не намного выше чем у CPU двадцатилетней давности.

Получается парадокс — если хочешь писать легко переносимый на другие платформы код, то он будет тормозить, если хочешь чтобы без тормозов, то приходится использовать специализируемые модули, программирование которых осуществляется по-разному для каждой SoC, в итоге код будет непереносимым. А ведь именно ради переносимости был выбран подход сохранения устаревших архитектур CPU в сочетании с использованием специализированных модулей!

Можно использовать компромиссный вариант — выносить зависимый от платформы код отдельно от кроссплатформенного. При переходе на другую платформу необходимо переписать только платформозависимую часть кода. Яркий пример — «кроссплатформенный» Linux, ядро которого содержит ~200 тыс строчек кроссплатформенного кода и… десятки миллионов строчек зависимого от платформы (в основном это драйверы для различных платформ). Зачастую зависимость от платформы имеется в рамках процессоров одной серии, т.е., нельзя, например, перейти с 1-ядерного процессора на 4-ядерный без переписывания части кода.

Кроме того, сложность программирования резко увеличивается из-за того что специализированные модули приделаны к CPU так чтобы не нарушить его древнюю архитектуру, зачастую плохо продуманным образом вплоть до откровенных костылей, т.е., специализированные модули не всегда дружат с архитектурой CPU. Может доходить до того, что проще реализовать IP-ядро, чем запрограммировать использование аналогичного IP-ядра, содержащегося в SoC, и это вовсе не редкость. Если SoC используется во встраиваемых системах, то очень часто весь софт пишется с нуля или почти с нуля, поэтому совместимость с предшествующими архитектурами CPU не имеет большого значения. Многие разработчики с удовольствием перешли бы на новую продвинутую архитектуру вместо того чтобы испытывать мучения при программировании под имеющиеся.

Если же речь идёт о надежности софта, то в рамках популярных архитектур CPU создание по-настоящему надежного софта попросту невозможно. Помимо ненадёжности, порождаемой архитектурой собственно CPU, имеет место потенциальная ненадежность, связанная с глобальным доступом к специализированным модулям — это побочный эффект сопряжения устаревших архитектур CPU со специализированными модулями. Из-за программных ошибок драйвер одного специализированного модуля может влиять на поведение другого специализированного модуля, порождая нетривиальные глюки «магической» природы — искать их в коде глючащего драйвера бесполезно. Также открывается огромный простор для шпионажа. Например, любой драйвер может запросто считывать информацию с клавиатуры помимо воли драйвера работы с клавиатурой и тот об этом даже не узнает.

Однако, несмотря на все недостатки в условиях рынка современный подход к проектированию популярных SoC перевешивает здравый смысл, ведь с выходом новой модели SoC эффект есть здесь и сейчас, пусть и небольшой. Если же сложить затраты на создание софта за последние лет десять, то получается что этими же ресурсами можно было создать с нуля архитектуру CPU, способную эффективно использовать миллиарды транзисторов, и также с нуля весь спектр софта к ней. Ведь в современном софта по факту мало что осталось от софта десяти- и тем более 20-летней давности, кроме общей архитектуры.

Часть 2. Тактика

Исходя из вышеизложенного невозможно выйти на уже поделённый рынок микроэлектроники тем путём, который предписывают сторонники классического рыночного подхода — сначала выпустить малую партию товара, который лучше чем у конкурентов, потом расширять производство, отбирая рынок у конкурентов.

Ведь чтобы обеспечить стоимость изделий по ценам хотя бы на уровне конкурентов необходимо начинать с выпуска огромных партий. Наладка линянии для производства заказной SoC обходится ~$1-1,5 млн (65-100 млн рублей). Это означает что начинать выпуск изделий на основе оригинальных SoC, например, настольных компьютеров, необходимо партиями десятки тысяч экземпляров. Это при условии что SoC использует популярные архитектуры CPU и IP-ядра, на которые уже есть готовый софт, например, доработанный под новую SoC софт Linux.

Но ведь у нас в стране не десятки тысяч, а миллионы бюджетников, практически каждый из которых имеет на работе компьютер! Россия выделяет из бюджета каждый год многие миллиарды для покупки компьютеров и софта к ним у иностранных производителей! Кроме этого имеется огромное количество частных предприятий, существующих за счёт государственных заказов, практически у каждого сотрудника которых также есть компьютер.

Возможность купить готовые IP-ядра и произвести чипы на заказ на фабрике TSMC сильно облегчает выход на рынок. Вовсе не нужно, как утверждают различные некомпетентные личности, организовывать производство в России. Начать можно с малого — разработки эффективной SoC, на сколько это возможно в рамках используемых сторонних IP-ядер, и адаптировать под неё Linux, сделать материнскую плату. Уже этот шаг позволит выдавить иностранцев с госзакупок офисных компьютеров и софта к ним, сэкономив тем самым миллиарды долларов, которые и должны стать ресурсом для дальнейшего развития.

Т.о., тактика действий должна быть следующей:
1) Создание SoC на основе сторонних IP-ядер, адаптация под него Linux, создание материнских плат.
2) Производсто компьютеров на их основе в Китае для российских бюджетных учреждений и частных предприятий, существующих за счёт государственных заказов.
3) Развитие за счёт сэкономленных на закупке иностранных компьютеров и софта ресурсов.

В каком направлении должно осуществляться развитие — это отдельная тема, на которую необходима отдельная статья. Бесспорно только одно — должна быть создана оригинальная архитектура CPU, способная эффективно использовать миллиарды транзисторов, обеспечивать высочайшую безопасность данных и надёжность кода, а это также означает легкость и высокую скорость создания софта.

При развитии упор должен делаться в первую очередь на создание IP-ядер и SoC, на создании системного и пользовательского софта в России, на закупки в бюджетные организации исключительно российских (разработанных в России) компьютеров, а не на организацию производства в России, хотя производство корпусов и печатных плат можно организовать и в России. И только после того как все это будет сделано можно ставить вопрос о полной локализации производства в России, а затем о полном закрытии российского рынка от иностранцев (хотя если разработать и запустить на рынок SoC на современной архитектуре, способной эффективно использовать миллиарды транзисторов, и создать софт к ней, то ещё спорный вопрос кто от кого будет защищать рынок).

Т.е., залог развития — это приоритет локализации разработки над локализацией производства + государственные закупки исключительно отечественных разработок.

И все это возможно даже в условиях рынка, но это уже не свободный рынок, а с государственным регулированием, подобный тому что существует в Китае. Успехи китайцев в микроэлектронике налицо.

Часть 3. Результаты

В России существует организация, которая пытается идти в изложенном выше направлении, но пока ограничивается первыми двумя пунктами — «Байкал электроникс».

C9E4433B-2E99-48C3-9E56-4772510FE6ED

Она является дочерним предприятием «Т-Платформы», одном из самых известных результатов деятельности которой является кластер «Ломоносов», на момент создания занимавший 13-е место в рейтинге «Топ-500» самых высокопроизводительных суперкомпьютеров мира. Несколько суперкомпьютеров меньшего калибра были поставлены за границу (в США, Германию, Финляндию).

В марте 2013 года (за год до присоединения Крыма) компания и ее зарубежные филиалы попали в санкционные списки организаций, действующих вопреки национальной безопасности и внешнеполитическим интересам США, но спустя год судов санкции были сняты (как раз когда Крым присоединили), т.е., как и в случае с «Касперским» враг был разбит на его территории.

Летом 2018 года процессоры «Байкал-T1» поступили в свободную продажу по цене 3990 руб за штуку.

Это первая SoC российской разработки за адекватные деньги! Низкая стоимость обусловлена следованием тем пунктам, которые я привёл выше. Размер каждой партии выпущенных процессоров «Байкал-Т1» 100 тыс. штук. Большинство SoC устанавливаются в компьютеры для бюджетных учреждений, с которыми были заключены соответствующие контракты. Ну наконец-то, процесс развития отечественной элементной базы пошёл в стратегически верном направлении!

26 марта 2019 года владелец «Т-Платформ» и «Байкал электроникс» Всеволод Опанасенко был арестован судом по подозрению в злоупотреблении должностными полномочиями, повлекшем тяжкие последствия (ч. 3 ст. 285 УК РФ). Ему грозит до 10 лет лишения свободы.

FB027220-3E08-4C7E-963B-63B2093856F3

По данным СМИ, в основу уголовного дела лег контракт стоимостью 357 млн руб., заключенный между МВД и компанией «Т-Платформы» в ноябре 2016 года на поставку 9348 компьютеров на базе процессоров «Байкал». В августе 2017 года, когда истек срок действия контракта, ни одного АРМ в МВД так и не было поставлено. Впрочем, вскоре после этого министерство, якобы в лице именно господина Александрова, приняло у исполнителя 1837 компьютеров стоимостью 71 млн руб. По некоторым данным, именно в этом следствие и усмотрело превышение должностных полномочий со стороны фигурантов уголовного дела. При этом остальную партию оборудования МВД принимать отказалось, сославшись на срыв срока поставки. «Т-Платформа» подавала иск в Арбитражный суд Москвы, пожаловавшись на то, что не может исполнить госконтракт и осуществить поставку оставшихся компьютеров для МВД. Однако их доводы о том, что МВД необоснованно отказалось принимать оставшиеся компьютеры, суд счел необоснованными. В декабре 2018 года «Т-Платформы» заключили с МВД еще одно соглашение — теперь на 287 млн руб. на поставку АРМ.

Т.е., человека арестовали за то что его фирма поставила МВД компьютеры отечественной разработки по цене 25 837 рублей за штуку, а сотрудника МВД за то что он их принял! О причинах срыва сроков поставки не сообщается. Но мало ли какие проблемы могли возникнуть при производстве столь эксклюзивной техники.

А в это время:
«Власти не позволили МВД закупить свыше 30 тыс. настольных компьютеров, на которые министерство готово было потратить 1,07 млрд руб., из-за того, что в конкурсной документации была прописана необходимость поставки техники с предустановленной 64-разрядной ОС Microsoft Windows 7 Pro.»

Им не понравилось что в компьютерах была предустановленная Windows. Т.е., с точки зрения властей закупать иностранные компьютеры по цене 35 тыс руб за штуку вполне законно.

автор: Виталий Календарев

P.S.
Цены должны удивить тех, кто скептически относится к российским разработкам в области микроэлектроники. Подобные же картинки, сравнивающие стоимость голого процессора Intel и стоимость укомплектованного компьютера на безе процессора «Байкал»,  вводят людей в заблуждение:

B3523DF9-5F35-4AA8-8404-53D20E9EF30F