Способы достижения технологической независимости в области ЭВМ

от автора

Быстров Дмитрий Михайлович, г. Рязань

Доклад на XXIV научно-технической конференции «Новые технологии в учебном процессе и производстве», Рязанский институт (филиал) Московского политехнического университета, 23 апреля 2026

Введение

Типичный настольный компьютер конца 90-х имел 8-16 мегабайт ОЗУ, работал на частоте 100-300 МГц и потреблял порядка 150 Вт, из которых половина приходилась на монитор. Типичная операционная система тех лет (Windows 98) официально требовала для своей работы 16 мегабайт ОЗУ. Это считалось несколько расточительным по сравнению с Windows 95, которая требовала 4 мегабайта ОЗУ вместе с браузером (и даже глянцевые журналы верстались на компьютерах с 4 мегабайтами ОЗУ, в среде PageMaker 5.0). В те же времена ещё оставались многочисленные пользователи ретро-машин, которые решали все свои задачи, имея от 128 килобайт до 1 мегабайта ОЗУ (математические и бухгалтерские расчёты, работа с текстовыми и графическими документами, переписка в Fido, чаты в BBS, компиляция ПО, трассировка печатных плат, написание курсовых и дипломных работ и разнообразные компьютерные игры).

Современный настольный компьютер имеет 8 и более гигабайт ОЗУ, работает на частоте 3 и более ГГц (4 и более ядер) и потребляет 300 Вт. Современная операционная система Ubuntu 26 официально требует не менее 6 гигабайт ОЗУ и 2 ядер по 2 ГГц [1]. При этом пользовательский функционал практически не расширился. Также известно, что на 2-3 порядка увеличились размеры отдельных программ (например, Microsoft Word, Adobe Photoshop, Adobe Reader, ACDSee, Opera, Nero, Skype и их аналоги) и окружений (Java, .NET, DirectX, OpenGL, причём речь не про видеопамять).

Также на 2-3 порядка увеличились и требования к жёсткому диску: Windows 95 требовала 50 МБ, Windows 98 – 200 МБ, а Ubuntu 26 – уже 25 ГБ. (Здесь надо учесть, что ключевые технологии жёстких дисков, включая SSD, сейчас есть только у США, Японии, Южной Кореи и Китая, а соответствующие заводы в Европе были закрыты в 2000-е годы.)

Рассмотрим некоторые технологии, которые увеличили системные требования (так называемое «software bloat» – раздувание ПО):

– В современных ОС одновременно запущены сотни драйверов и сервисов, большинство из которых не несут смысла для пользователя.

– Компиляторы увеличили размер выдаваемого кода. Абсолютно пустая программа, собранная в gcc, сейчас занимает 15 килобайт (в Windows десятки) и требует внешние библиотеки (при статической линковке с ними уже порядка мегабайта). Для сравнения, пустая программа в Turbo C весила меньше килобайта и не требовала библиотек, а программы на ассемблере были ещё компактнее1. Эти десятки лишних килобайт для каждой задачи дают кумулятивный эффект в связи с предыдущим пунктом.

– Внешние библиотеки содержат код, который не используется в конкретной программе. Но из-за несовместимости версий библиотек нужные файлы библиотек обычно лежат вместе с программой. Например, в случае Qt5 необходимые внешние библиотеки для консольной программы весят 8 мегабайт, для графической – 20 мегабайт, а с поддержкой сети – более 100 мегабайт.

– Драйверы устройств значительно увеличились в размерах (возможно, из-за предыдущих пунктов, но также заметно усложнение современных протоколов без особых причин). Даже драйвер мышки теперь может весить мегабайты.

– Установщики ПО (а в 90-е годы программы обычно запускались без установщика) требуют одновременно держать на жёстком диске не только само установленное ПО, но и дистрибутив, а также его копию в системном разделе. У ряда программ это копия не удаляется и после установки, не удаляются даже старые версии этой копии при установки новой версии (например, Microsoft Office, браузеры, iTunes, обновления Windows), в итоге системный диск постепенно переполняется и вынуждает пользователя покупать новый, большего объёма. Так же работает ОС Android от Google.

– Программы в контейнерах Snap, Flatpak и AppImage могут занимать в 5 раз больше места, чем обычные программы. Контейнеры сейчас стали стандартом по умолчанию для Ubuntu.

– Новые форматы данных. Например, формат .doc мог редактироваться даже на машине, имевшей ОЗУ меньше, чем весит сам документ. А появившиеся форматы .docx и .odt требуют распаковать архив, прочитать содержащиеся там .xml, а при сохранении запаковать обратно. В случае графики появились тяжёлые форматы JPEG2000 и WebP. В случае видео кодек H.264 в своё время вынудил пользователей, имевших кэш данных меньше 32 килобайт, сменить свой процессор. С тех пор появились кодеки H.265, H.266, VP8, VP9 и AV1, которые замедлили распаковку ещё на 2-3 порядка. В результате любой пользователь YouTube сейчас вынужден покупать процессоры с аппаратным ускорением этих кодеков (речь о десятках миллионов транзисторов). Сайт YouTube контролируется корпорацией Google (Alphabet).

– Графические библиотеки типа Electron (используются в современных мессенджерах) содержат внутри себя собой полноценный веб-браузер. Требуют сотни мегабайт ОЗУ и существенно замедляют отрисовку.

– Новые стандарты для самого Интернета, которые отменили и старые браузеры (для которых в 2000-е годы хватало 16 мегабайт ОЗУ), и старые процессоры. Здесь следует остановиться подробнее.

Сайты 2000-х годов обычно выглядели как текст с картинками и были довольно легковесными. Однако постепенно пришла мода на усложнение используемых скриптов и подключение целых движков на Javascript – до такой степени, что сайты просто перестали работать на старых версиях браузеров (и это не было связано с повышением функциональности этих сайтов). Например, так в своё время поступили сайты Habr.ru и Lichess.org. Новые версии браузеров постепенно переходили на тяжёлый движок Chromium, также контролируемый Google.

Шифрование (Transport Layer Security, TLS) – это существенный потребитель вычислительных ресурсов. Стандартом шифрования является алгоритм AES-128 с постепенным переходом на AES-256. Для обработки каждых 16 байт нужно выполнить около 1000 математических операций (одни и те же операции специально повторяются несколько раз). Поэтому внутри последних процессоров Intel и AMD имеются специальные инструкции AES-NI, которые ускоряют именно этот алгоритм шифрования не менее чем в 10 раз2.

Google Chrome и производные от него браузеры (то есть практически все современные браузеры) помечают сайты без TLS как «незащищённые» и требуют специальных действий для их открытия. Кроме того, поисковая система Google понижает в выдаче сайты, работающие по обычному HTTP. В результате на HTTPS вынужденно переходят даже сайты, выдающие простой текст. Протокол HTTP/2 (стандарт с 2015 года) уже не работает без TLS. Главными авторами протокола HTTP/2 были также работники Google3.

Кроме самого шифрования, очень затратным сделано «рукопожатие» (Handshake) при установке соединения. При этом происходит обмен ключами по алгоритму Elliptic Curve Diffie-Hellman Ephemeral (стандарт с 2018 года). Расчёт ключа занимает порядка миллиона элементарных математических операций, не считая вспомогательных4. На процессоре Pentium 100 для этого потребовалось бы порядка 15 секунд, а на Celeron 300 порядка пары секунд, но современные сайты устанавливают несколько соединений одновременно, так что результата на старых процессорах можно не дождаться.

Важно отметить, что менеджеры Google, Intel и AMD постоянно переходят из компании в компанию5, а у всех трёх компаний общие владельцы6.

Ряд пользователей рассматривает компьютеры в основном как инструмент для запуска видеоигр. Однако все технологии в области фотореализма и кинематографичности (не говорим даже об играбельности) уже были достигнуты 10 лет назад, а за последние годы в области игростроения действует тот же принцип раздувания ПО. Даже среди старых игр можно встретить достаточно современную картинку – например, на Playstation 2 игры Shadow of the Colossus, Gran Turismo 4 и Metal Gear Solid 3. Эта платформа имела всего 32 МБ ОЗУ и 4 МБ видеоОЗУ, а изготовлена была по технологии 250 нм, вполне доступной как в России, так и в Евросоюзе.

Европейский союз (ЕС) тратит около 80 миллиардов евро в год на покупку зарубежных ЭВМ7. Это сравнимо со стоимостью нескольких фабрик по производству микросхем даже с точностью 28 нм, чего достаточно для Playstation 4, тем более для офисных, военных и специальных компьютеров. В ЕС фабрики на 28 нм есть в Германии и Франции. ЕС также производит передовые станки для литографии, оптику и лазеры. Но при этом процессоры и память в ЕС не производятся с 2000-х годов, как и жёсткие диски. Таким образом, вся компьютерная инфраструктура ЕС, включая передачу секретных данных, завязана на США. Это является одним из инструментов политического давления на Евросоюз.

Россия тратит порядка 10 миллиардов долларов в год на покупку зарубежных ЭВМ и микросхем8. Это приблизительно 1 триллион рублей, но в данном случае речь идёт именно о валюте, которая получается за счёт продажи российских ресурсов. Для сравнения, годовой бюджет «Роскосмоса» в три раза меньше и имеет наполнение именно в рублях9.

Кроме железа, приобретается и иностранное ПО, а также соответствующие услуги (подписки, облачные хранилища, внутриигровые транзакции, техподдержка, консалтинг). Это частично отбивается продажей российского ПО в некоторые лояльные страны. В ЕС некоторые страны (например, Франция) даже имеют профицит по экспорту ПО, но этот профицит не окупает покупку оргтехники, на которой запускается это ПО.

Кроме того, дайствует фактор коммерческого риска. Иностранная архитектура может внезапно измениться так, что написанное под неё отечественное ПО или изготовленная под неё отечественная периферия перестанет работать. Например:

– появление нового стандарта автозагрузки (может быть даже только с поддержкой «доверенных» ОС);

– смена протоколов периферии (это может коснуться даже вывода на экран);

– исчезновение используемой периферии (например, портов COM, LPT, ISA, PCI);

– появление скрытых прерываний, что нарушает работу программ реального времени (это также реальный случай);

– прекращение поддержки старых ОС (а независимая ОС обязательно столкнётся с пунктами, перечисленными выше).

Помимо денежных факторов, существует также фактор безопасности. Внутри иностранных процессоров, чипсетов, сетевых коммутаторов и даже съёмных устройств уже действуют целые операционные системы, которые невозможно контролировать. А в иностранном ПО имеются закладки («backdoor») для слежения и нарушения или перехвата работы по внешней команде, причём их можно не найти годами даже при наличии исходников10. А «закладка Кена Томпсона» в компиляторе, который компилирует сам себя, может вообще отсутствовать в его исходном тексте.

Миллиарды долларов в год, коммерческие риски при разработке ПО и железа, потеря информационной безопасности и политическое давление со стороны – это стоимость технологической зависимости.

Постановка задачи

Следует различать технологическую независимость и импортозамещение. Импортозамещение может затрагивать отдельные компоненты системы, но при отсутствии контроля над ключевыми компонентами рассыпается вся технологическая цепочка. При технологической независимости вся технологическая цепочка находится внутри страны (например, как было в случае СССР, а сейчас наблюдается в КНР). Нас интересует именно второй вариант.

Для технологической независимости в области вычислительной техники требуется:

– Производство процессоров.

– Производство ОЗУ. Нельзя использовать ОС с гигабайтными требованиями, если мы не можем предоставить для них столько памяти. А иностранные интерфейсы ОЗУ для настольных компьютеров меняются каждые 6 лет, поэтому нельзя закладывать использование импортной памяти в долгосрочных проектах.

– Производство дисплеев. Если опираться только на иностранные дисплеи, то можно столкнуться с тем, что в очередной раз сменится их порт (на нашей памяти: TV, AV, SCART, CGA/EGA, VGA, DVI, HDMI, DisplayPort, Thunderbolt), включая, возможно, поддержку только «доверенных» ОС (ради соблюдения «авторского права» при показе контента).

– Производство видеоконтроллеров. Тесно связано с предыдущим пунктом.

– Полностью независимая экосистема ПО (в первую очередь нам требуются ОС, среда разработки с компилятором, офисный пакет, сетевое ПО и СУБД). Недостатки использования зарубежного ПО (в том числе «открытого») рассмотрены выше. Независимые экосистемы ПО имеют, в частности, Microsoft, Apple, IBM, Sony, Samsung, ZX Spectrum, Amiga и многие другие. То есть это нормально, особенно учитывая раздутость «открытого» американского ПО и американских протоколов.

– Производство периферии (клавиатуры, мыши, принтеры, сканеры и др.). Иностранные производители периферии могут снять с производства любую позицию в любой момент, особенно для «устаревших» интерфейсов (запланированное устаревание).

– Производство жёстких дисков и сменных носителей. Существовало в СССР и странах СЭВ, но уступало импортным образцам и было закрыто.

– Производство средств производства всего перечисленного.

– Производство расходных материалов для производства всего перечисленного.

– Производство метрологического оборудования и эталонов для всего перечисленного.

Предлагаемые решения

Надо отметить, что технологии типа 28 нм являются стратегическими и не продаются частным лицам или таким странам, как Россия и КНР. Поэтому все разработки в области технологической независимости в России должны вестись на освоенных технологиях: 350 нм (для которой производится собственное оборудование) и в перспективе 90 нм (для которой в России есть иностранное оборудование). Технология 90 нм при её полноценном освоении может использоваться неограниченно долго, поскольку она сравнительно дешёвая (в частности, не требует двойного экспонирования), а по возможностям соответствует гигабитным микросхемам DRAM или процессорам более чем со 100 миллионами транзисторов на частотах не менее 3 ГГц: например, 2-ядерному AMD Opteron или 8-ядерному Cell (Playstation 3). Разумеется, для достижения таких частот требуется проектировать процессоры не из готовых блоков, а на уровне физической топологии.

Центрами компетенций являются ПАО «Элемент» (куда входят НИИМЭ/«Микрон» (Зеленоград), НИИЭТ/ВЗПП (Воронеж), «Светлана-Полупроводники» (Санкт-Петербург) и др.) [2], а также «Зеленоградский нанотехнологический центр», разрабатывающий степперы, микросхемы и предлагающий услуги по корпусированию, включая 3D-сборки [3]. Также есть специалисты в фирмах «МЦСТ», «Миландр», МИФИ, ФИАН и НИИСИ РАН (там есть опытное производство на 250 нм [4]). «Элемент» также организует дообучение и стажировки для студентов и специалистов, а также услуги контрактной разработки и производства, в том числе по технологии 90 нм11.

Проходила информация о том, что в России есть образцы японских установок Minimal Fab, где можно дёшево изготовить единичную микросхему12, но неизвестно, где они установлены.

В рамках отдельных предприятий можно оборудовать свою лабораторию для прототипирования микросхем по бесмасочной технологии 300 нм, у всех компонентов есть российские поставщики:

состав лаборатории на 300 нм

состав лаборатории на 300 нм

С другой стороны, существует международное движение Hacker Fab, которое задокументировало домашнюю литографическую установку из обычного микроскопа и других серийных элементов. В России такая установка есть в ФИАН [5]. Точность изготовления – до 1,5 мкм [6]. Но все известные пользователи таких установок работают без чистого помещения и даже без элементарной камеры с перчатками («glovebox»), фокусировку подбирают на глаз и ещё не нашли оптимальные параметры для толщины фоторезиста, времени экспонирования и времени проявки. Сама оптика обеспечивает 1 мкм [7].

Обычным студентам доступна разработка на FPGA. Цены отладочных комплектов начинаются от 835 рублей13, также есть Altera, Xilinx и другие производители, включая отечественные ВЗПП [8] и «Миландр» [9]. Программа на Verilog при необходимости может быть перенесена в ASIC любым из перечисленных технологических центров. Есть также возможность изготовления чипов на отечественных базовых матричных кристаллах, в том числе с аналоговыми частями.

Студентам следует кооперироваться, чтобы реализовать интересные сложные проекты (например, в рамках движений NedoPC [10] и Tiny Tapeout [11]). Движение NedoPC как раз в основном российское, оно силами нескольких человек уже выпустило несколько моделей самодельных компьютеров, разработало для них операционные системы и множество программ [12].

Рассмотрим возможности реализации каждого из компонентов системы.

– Производство процессоров: в 2014 году на заводе «Микрон» (Зеленоград) была выпущена партия 2-ядерного процессора Эльбрус-2СМ на частоте 300 МГц (90 нм), разработка фирмы «МЦСТ» [13]. В НИИСИ РАН разрабатывались и изготавливались процессоры КОМДИВ с частотами до 66 МГц [4]. Также есть другие отечественные разработки, которые могут изготавливаться в России, в частности, «Мультиклет» [14] и микроконтроллеры фирмы «Миландр» [15].

Таким образом, Россия вполне может производить процессоры, хотя и не конкурирующие с импортными. Однако при развитии технологической школы и востребованности новых разработок можно получить процессоры на уровне серьёзных рабочих станций. В частности, можно ориентироваться на сравнительно малые ядра с массовым параллелизмом – путём создания портов между ядрами, минуя общую память (по аналогии с транспьютерами).

Типичное ядро может содержать 16 арифметических регистров, 2-4 блока FMA (умножение-сложение, из которых можно собирать остальные арифметические операции, включая деление по алгоритму Голдшмидта), 32-64 килобайта адресуемой быстрой памяти («scratchpad») и схему коммутации с логическими операциями и сдвигами. Устройство управления для ядра должно содержать отдельные регистры адреса, стека и счётчиков, иметь буфер («prefetch») на 32-64 операции, из которых одновременно может запускаться до 16 (учитывая операции с памятью и адресными регистрами, а также логические и сдвиговые операции, не затрагивающие FMA).

Выбор запускаемых операций должен производиться отслеживанием связей по данным (по аналогии с процессором «Мультиклет») и переименованием связей во время вызова функций и возврата из них (по аналогии с процессором SPARC). Желательно предусмотреть также автоматическое переименование регистров адреса при вызове методов другого класса и возврате из таких вызовов. Можно предусмотреть и другие ускорения для операций ООП (например, выравнивание объектов, префетч объектов по адресу в первом слове, кэширование виртуальных таблиц), а также ускорение других частых операций, в том числе типичных действий ОС: переключения задач и передачи данных между процессами через аппаратные пайпы. Важно предусмотреть аппаратные короткие циклы типа REP, REP2, REP3 и т.п. по числу следующих команд, чтобы не использовать в коротких циклах команду условного перехода и не сбрасывать конвейер. Можно сделать автоматическое переименование для переменных цикла (Ai = Ai-1). Также желательно предусмотреть аппаратную тернарную операцию для коротких ветвлений.

Внутренним представлением команд может быть широкий RISC, где отдельно задана операция и типы её параметров (входное данное, параметр вызова, переменная цикла, глобальная переменная, локальная переменная с уничтожением/без уничтожения, внутренняя память, внешняя память, порт, спецрегистр), а отдельно конкретные номера тэгов данных заданного типа (4-8 тэгов каждого типа). Для внешнего представления первая часть может быть свёрнута в 8 бит по сравнительно небольшой таблице, которая может быть загружаемой даже для каждого выполняемого процесса. Таким образом, можно хранить трёхадресные команды в 2-байтном представлении, только числовые или адресные параметры команд должны занимать дополнительные байты. Константы шире 8 бит будут встречаться редко, поскольку при аппаратной поддержке ООП можно вызывать методы по номеру. Можно учесть, что некоторые команды могут быть 8-битными без параметров (включая работу с предыдущим и предпредыдущим результатами). Так можно вычитывать больше команд за такт, например, через 64-битную шину.

Так или иначе, по увеличению числа команд на такт и эффективности отдельных команд есть огромное пространство возможных решений, даже с элементами, которые в иностранных процессорах никогда не встречались. Путь копирования – это тупиковый путь.

Предложенный дизайн принципиально невозможен для архитектур MIPS, ARM, SPARC, POWER и RISC-V даже в качестве расширения, хотя бы потому, что в них нет разделения на арифметические и адресные регистры. На архитектуре x86/amd64 адресные регистры и порты формально есть, но там уже система команд не позволяет описать триады связей по данным, а это означает, например, невозможность рано запускать вызовы и возвраты, а только потом досчитывать математику. Также традиционно объединены стек вызовов и стек данных, из-за этого на вызовах и возвратах тратятся лишние такты. Для коротких циклов есть поддержка только на x86, но это только циклы из одной команды. Кроме того, во всех этих архитектурах нет разделения на внутреннюю и внешнюю память, что не позволяет эффективно использовать Scratchpad.

Собственная архитектура позволит ускорить и саму базовую операцию умножения-сложения, например, за счёт хранения чисел вместе с переносами между битами. Можно хранить переносы не через каждый бит, а через 4 или 8 – в этом случае сборку чисел в обычный вид можно производить непосредственно на линиях, по которым эти числа передаются из блоков FMA в память и т.п.

В зависимости от разрядности и числа FMA описанная архитектура займёт от 100 до 400 тысяч транзисторов на ядро («горячая зона», устройство управления, контроллеры внешних связей и буферы) и 2-4 миллиона транзисторов на scratchpad. Для сравнения, современные большие ядра (которые содержат по 256 универсальных физических регистров, векторы, спекулятивное выполнение и ускорители для конкретных протоколов) занимают порядка 300 миллионов транзисторов, не считая кэшей, или порядка 20 миллионов транзисторов в так называемых «энергоэффективных» ядрах. Таким образом, мы легко можем выиграть в производительности на транзистор. Это позволит производить такие процессоры по грубым нормам (начиная от домашней лаборатории на 1 мкм, используя внешний SRAM для scratchpad) или размещать больше ядер на одном кристалле – на технологии 90 нм, доступной в России, можно получить более 100 ядер с частотой 3 ГГц. Имея 100 ядер с локальной памятью и межядерными связями, можно эффективно конвейеризовать такие вычисления, как обработка видео, аудио, СУБД, серверы и САПР. Даже при 90 нм на этих задачах достижимы скорости, опережающие существующие процессоры.

Разработка оптимальной компьютерной архитектуры – это важная и интересная задача, научная ценность которой осталась в тени коммерческих решений по бинарной совместимости, дутой производительности на такт с помощью векторных операций и оптимизации конкретных процессоров под конкретные протоколы (RSA, VP9 и т.п.).

Бинарная совместимость не имеет никакого значения при разработке на языках высокого уровня. Важна только конфигурация системы. Но есть наблюдения, что большие языковые модели на нейросетях, в том числе бесплатные, уже способны портировать программы под конкретное окружение. А при наличии политической воли можно не только перекомпилировать, но даже создать всё прикладное ПО заново. Например, в Microsoft в 1994 году работало всего 15257 человек14, а они одновременно разрабатывали Windows 95, Windows NT, Windows CE, офисный пакет, СУБД, визуальную среду разработки с компилятором C++, браузер, электронные справочные системы и несколько крупных и мелких игр. «Сбер», VK, Яндекс, сеть «1С:Франчайзинг» и АФК «Система» (куда входят МТС, Ozon и др.) каждая в отдельности перевешивают Microsoft 1994 года. Кроме того, есть ряд других российских фирм с тысячами программистов (Kaspersky, X5, Т-Банк, Альфа, Wildberries и другие).

Простые ядра легко пишутся на Verilog одним студентом, объём может быть меньше тысячи строк. Также есть ядра с открытыми исходниками на сайтах OpenCores и GitHub.

– Производство ОЗУ. Самая крупная микросхема ОЗУ российского производства содержит всего 2 мегабайта (это SRAM), но также разработана 72-мегабитная SRAM (с шиной 36 бит), которая пока не опробована на отечественных заводах. Микросхемы DRAM не производятся в России, но технология секретом не является (в том числе DDR2, которые используются совместно с процессором Эльбрус-2СМ). Имеющаяся технология 90 нм соответствует гигабитным микросхемам DDR2, из которых можно собирать стандартные планки на 1-2 ГБ, чего с запасом хватит для типичного офисного ПК. Таким образом, в России можно независимо производить ОЗУ. Со временем потребуется расширить производство по 90 нм, потому что ОЗУ – это очень массовый продукт. Старых запасов DDR2 не хватит на миллионы новых ЭВМ.

Собственное производство ОЗУ важно иметь также для изготовления специализированных ОЗУ: например, с оптимизацией работы нейросетей (аппаратная операция свёртки) и/или с оптимизацией ООП (списки, очереди, аппаратная куча).

– Производство дисплеев. Здесь технология не такая тонкая, как в случае процессоров и памяти. В СССР изготавливались электронно-лучевые (ЭЛТ), жидкокристаллические (ЖК) и плазменные дисплеи, но технология плазменных дисплеев была вывезена в 90-е годы, а производство ЭЛТ и ЖК свёрнуто в 2000-е. Сейчас в России производятся только миниатюрные светодиодные OLED-дисплеи [16]. Можно собирать панели из маленьких OLED, но границы между ними будут видны. Лучше выпускать полноценные матрицы с интерфейсом LVDS по доступным китайским образцам. В данный момент эта задача не решена, но существует завод «Рефлектор» в Саратове, который раньше производил ЖК-дисплеи, а сейчас выпускает светодиодные рекламные панели [17].

– Производство видеоконтроллеров. Для «Эльбруса» и «Багета» были разработаны собственные видеоконтроллеры. Разработка видеоконтроллеров является типичной задачей при обучении разработке на FPGA. Важно отметить, что скорость DRAM за прошедшие десятилетия увеличилась не так сильно, как скорость процессоров. Сейчас время цикла у лучших графических DRAM составляет 45 нс, при 260 нс у классических советских 565РУ7 и порядка 130 нс у 565РУ1515 или аналогичных чипов типа 44256 (1Mbit/4). Эти старые чипы по технологии 1,2 мкм (уровень нынешней домашней лаборатории) могли выполнять последовательное чтение каждые 60-70 нс, что соответствует одному телевизионному пикселю или двум пикселям на разрешениях до 800×600. Дополнительные такты добавляются при смене строки (каждые 512 байт) и при регенерации строки (примерно 1%). Если параллелить эти чипы, то для построения видеоконтроллеров их можно использовать до сих пор.

Для примера рассмотрим видеосистему с поддержкой 3D, наподобие Playstation 2 (в чём-то похуже, в чём-то получше). В отличие Playstation 2, мы отделим видеопамять от памяти текстур. При разрешении 640×400 (телевизионный сигнал, интерлейс) частота следования пикселей составит около 14 МГц (70 нс). Необходимо успевать отрисовывать 640×200 пикселей каждые 20 мс, с уровнем перерисовки не ниже 2-3 (например, фон, персонажи и передний план, причём фон для избегания перерисовки дожен быть заранее отсечён через BSP-деревья или порталы). Для простоты рассмотрим обработку 1 пикселя на такт (уровень перерисовки 2,2) и глубину цвета Y7I5Q4 (Y – яркость, I – оранжевость, Q – сиреневость). Визуально это лучше, чем R5G6B5, при том же числе битов и такой же линейности шкалы, а для компенсации отличия от R8G8B8 мы добавим на видеовыход программируемый цветовой фильтр. (При переходе на другую память можно будет увеличить и разрешение, и глубину цвета, и число пикселей на такт.)

Поскольку цветоразностные компоненты в телевизионном сигнале передаются в пониженном разрешении, можно их размыть. Но чтобы не работать со сложной разлиновкой 4:1:1, мы можем обработать младшие биты через сетку (diamond diffusion) при рендере, а при чтении из видеопамяти пропустить через фильтр. При этом каждый байт картинки будет содержать Y5I2Q1 и будет обрабатываться одинаково. Выходной фильтр будет с окном 2×2 для Y и 4×2 для цветоразностных составляющих, это даст небольшую полосатость, но в целом это будет обычная телевизионная картинка.

Будем использовать два экранных буфера (один показывается, другой заполняется). Поскольку в зависимости от задачи кадры могут формироваться не только на частоте 50 Гц, но и на частоте 25 Гц, выделим видеопамять под кадры полной высоты – 640×400. Один кадр займёт 256000 байт, и два экрана займут 4 микросхемы типа 44256. Получится 16-битная шина, у которой половина пропускной способности будет тратиться на чтение (вывод на телевизор, через описанные выше фильтры), а вторая половина – на однократную запись (поблочно). Сама обработка блоков картинки будет производиться внутри ASIC (или FPGA). Обработка блоков картинки должна оперировать не только цветом, но также глубиной (Z), stencil-буфером (для геометрических теней/лучей по методу Z-fail) и битом валидности пикселя (чтобы не тратить время на стирание блока).

Предположим, что при частоте 50 Гц один блок имеет размер 48*56 пикселей (с данными только для одного телевизионного полукадра, то есть с узкими пикселями), что соответствует 64 (16*4) блокам на экране, с перекрытием по 4 пикселя с каждой стороны. Это перекрытие даёт возможность добавлять размывку во время копирования в видеобуфер (anti-aliasing, blur, глубина резкости, засветка, скрытие сетки у отрисованных полупрозрачных объектов). В этой постобработке (она также будет включать туман и тени/лучи) мы будем использовать данные Z-буфера и stencil-буфера. Перекрытие блоков по вертикали нужно перерендеривать, а для перекрытия по горизонтали достаточно перенумеровывать X-координаты в буфере, по мере перебора горизонтальных блоков. Таким образом, общая отрисовываемая площадь равна 640*56*4 = 143360 пикселя (на 12% выше теоретической). При частоте обновления 25 Гц на экране будет уже 128 (16*8) блоков 48*56 пикселей, но теперь с квадратными пикселями. Возможен также режим без интерлейса, где на 25 Гц можно отрисовывать картинку 640×200 с 4-кратной перерисовкой каждого пикселя или 640×240 с уровнем перерисовки 3,3. Уровни перерисовки рассчитаны при работе текстуризатора на той же частоте 14 МГц, но возможна и другая частота внутри чипа.

Рассчитаем размер внутренней памяти. Пусть цвет хранится в том же формате (8 бит), Z-буфер логарифмический, с точностью 1 см на расстоянии 1 м (достаточно 8 бит), а stencil-буфер 4-битный (до 15 наложенных теней или 3 тени и 3 засветки в одной точке). Итого, включая бит валидности, надо 48*56*(8+8+4+1) = 56448 бит памяти, что даже при дублировании (одну рисуем, другую копируем в видеобуфер) займёт меньше половины ASIC, даже если она будет изготовлена в домашней лаборатории по технологии 1,2 мкм.

Для текстурирования нужен поток данных больше, чем поток пикселей на экране. Поэтому в следующих поколениях игровых систем появились упакованные текстуры. Рассмотрим упаковку блоками 4×4, где каждый блок занимает 32 бита. Учитывая возможность аппаратной реализации накладываемого шума (Perlin noise, чего пока нет в известных видеосистемах), мы можем свести текстуры к следующим типам:

– 4-цветные (например, текстура отражения – environment mapping). Для текстуры задаются 4 цвета, один из которых может быть прозрачным. Блоки 4×4 хранят по 2 бита на пиксель.

– градиентные с пиксельными пятнами (например, кожа). Для текстуры задаётся ось градиента и цвет пиксельного пятна. Блоки 4×4 хранятся как цвет центра, направление и сила градиента и битмаска пикселей.

– произвольные текстуры по 2 цвета на блок 4×4. Блоки 4×4 хранятся как 2 цвета и битмаска пикселей.

Средняя ширина треугольника на реальных сценах должна составлять 4-8 пикселей, иначе будет видно, что они плоские. Имея несколько копий текстур с разным масштабом, мы будем обычно получать одни и те же блоки 4×4 для соседних пикселей, а в объёме треугольника все прочитанные блоки (их будут единицы) почти всегда поместятся во внутренний буфер, а часть из них будут использоваться и соседним треугольником в цепочке. Таким образом, для каждого треугольника проводится всего несколько чтений памяти текстур, даже при билинейной фильтрации. Это позволяет хранить текстуры также в 4 микросхемах 44256, что составит 512 КБ (до 2048×1024 текселей, не считая описаний, которые могут поместиться даже во внутренней памяти ASIC/FPGA).

Текстуру для неровностей (bump mapping) можно не хранить, а генерировать через Perlin noise.

Ещё один набор из 4 микросхем 44256 (512 КБ) будет хранить геометрию. Мы ограничимся 65536 полигонами, чего при наличии bump mapping будет достаточно даже для сцен типа Shadow of the Colossus. Полигоны группируются в цепочки, а цепочки в подобъекты с общей текстурой. Потребуется плотное хранение: 32768 вершин по 6-8 байт (например, XYscr, 1/Z, UV (можно делённые на Z), свет или нормаль) + 65536 полигонов, собранных в цепочки по одной новой вершине на полигон (2 байта), итого порядка 384 КБ. Читать геометрию придётся гораздо активнее, чем писать, поскольку нужно обработать 64 окна. Для этого во время приёма данных от процессора нужно параллельно составлять списки полигонов для каждого окна в виде оборванных цепочек (1 байт номер текстуры, 1 байт число полигонов в оборванной цепочке, 2 байта ссылка на начало оборванной цепочки, 2 байта ссылка на следующий элемент, итого порядка 128 КБ). Возможны разные стратегии хранения геометрии: 1) один экземпляр, при обновлении отрисовка останавливается, всю память можно занять только при 25 Гц; 2) два экземпляра – один отображается, другой генерируется, в этом случае в памяти поместится только 32768 полигонов; 3) два экземпляра, но хранить меньше полигонов и проводить тесселяцию на лету, используя XYZ и нормаль.

Хотя здесь три блока DRAM, имитировать эту систему можно на любой отладочной плате с FPGA, имеющей SRAM. После отладки на FPGA можно изготовить плату с DRAM (для домашних лабораторий доступны дешёвые станки для фрезеровки плат, но при частоте 14 МГц можно даже соединять микросхемы проводами на макетной плате). После экспериментов на 14 МГц и телевизионном сигнале можно будет переделать систему на 30 МГц и VGA (уже с чипами SDRAM), и так далее.

– Полностью независимая экосистема ПО: Помимо упомянутой NedoPC, независимые операционные системы для разных компьютеров также разрабатывались в Москве (Фантом ОС [18], Kaspersky OS [19]), Санкт-Петербурге (iS-DOS [20], Embox [21]), Новосибирске (Excelsior [22]), Пензе (QP ОС [23]) и в других городах. То есть это обычная инженерная задача, многократно решённая в России. Привязка к зарубежным ядрам контрпродуктивна для технологической независимости.

– Производство периферии. Клавиатуры свободно производятся в России (например, в рязанской фирме «Мастер-ключ» [24]). Производством клавиатур и мышей занимается ГК «Бештау» [25]. Производятся матричные принтеры УД-М [26]. О производстве сканеров в России неизвестно, но похожие оптические датчики есть на спутниках, а механика у сканеров достаточно простая (в частности, в 90-е годы радиолюбители собирали сканеры на базе матричных принтеров [27]). Можно применять сравнительно простой интерфейс USB 1.1, но нужно наладить производство разъёмов для этого и других случаев. Так или иначе, в случае необходимости можно производить в России всю необходимую периферию.

– Производство жёстких дисков. Микродвигатели и головки для современных жёстких дисков можно купить только у фирм, подконтрольных США и Японии, поэтому проще переориентироваться на твердотельную память – SSD и SD/MMC. Важно отметить, что отечественные чипы не смогут конкурировать с зарубежными по объёму (достижимы только объёмы до 1 ГБ на чип) и цене, но независимое производство долговременной памяти важно для обеспечения защиты данных.

– Производство средств производства. В настоящий момент освоено производство лазеров, литографов, двигателей и датчиков, хотя не самых точных, но достаточных для производства микросхем. Установки плазмы и осаждения не сложнее инструментов, уже применяемых в ядерной физике. Под вопросом оборудование для корпусирования. Но в целом полное импортозамещение возможно в короткие сроки, за исключением прецизионных станков для 3D-монтажа чипов.

– Производство расходных материалов. Здесь у нас недостаточно информации, но все необходимые элементы в России как минимум добываются, есть признанная в мире школа выращивания кристаллов, а также имеется производство сверхчистых газов. Известно также о собственном производстве фоторезиста на «Микроне». Это тот случай, когда технологическая независимость является коммерчески выгодной.

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

Выводы

Приведённые данные показывают, что полная технологическая независимость в области ЭВМ в рамках России полностью достижима, но нерыночными методами.

Для этого требуется:

– создать единый проект отечественного компьютера (архитектура должна быть полностью открытой во избежание привязки к одному производителю («vendor lock») и патентного троллинга). Чтобы избежать коррупции, также необходимы условия: 1. Никакой оплаты, призов или патентных отчислений за принятие общего облика или конкретных решений. 2. Проект должен быть обозрим одним специалистом без ссылок на другие документы. 3. К проекту должен прилагаться том, аргументирующий выбранные технические решения («rationale», пояснительная записка). 4. Должно быть проведено сравнение представленных полных и неполных проектов техническими специалистами и выработка общего проекта (обязательно узкая группа с полным набором компетенций: проектировщик процессоров, проектировщик видеоконтронтроллеров, проектировщик интерфейсных чипов, проектировщик физической топологии микросхем, технолог по производству микросхем, технолог по производству станков, системный программист, программист компиляторов, прикладной программист). В совещаниях и выработке технических решений больше никто участвовать не должен, потому что 9 человек – это известная в социологии максимальная численность эффективной комиссии [28]. Именно эти специалисты должны будут возглавить разработку соответствующих частей ЭВМ и отвечать за неё при государственном финансировании, обеспечении и контроле (помимо государственной, аналогичную разработку можно провести и на базе отдельных концернов, таких как АФК «Система» или «Сбер»);

– определить стандарт отечественной ОС, чтобы писать под неё приложения. Стандарт должен быть полностью открытым. Стандарт должен обеспечивать работу в реальном времени. Стандарт должен обеспечивать доверенную обработку данных. Во избежание коррупции необходимы условия: 1-3 как выше. 4. Стандарт не должен быть совместим с иностранными ОС во избежание фальшивых «отечественных» продуктов и повторения давно известных недостатков стандарта POSIX [29] (при необходимости распространители «Линуксов» сами бесплатно внедрятся в отечественную архитектуру, они являются конкурентами);

– расширить школу топологической оптимизации с помощью лабораторий типа Hacker Fab. Наличие большого числа таких специалистов позволит максимально ускорить все части ЭВМ;

– разработать отечественную DRAM по доступным техпроцессам;

– разработать отечественную твердотельную память по доступным техпроцессам;

– построить линию по производству жидкокристаллических или светодиодных панелей взамен закрытой;

– составить перечень недостающих материалов и компонентов средств производства и начать их лабораторное изготовление;

– составить перечень недостающего метрологического оборудования и начать его лабораторное изготовление.

Для решения этих вопросов необходимо создать рабочую группу.

ЛИТЕРАТУРА

  1. Ubuntu 26.04 LTS release notes / Ubuntu release notes (Электронный ресурс) Режим доступа: https://documentation.ubuntu.com/release-notes/26.04/

  2. Группа компаний «Элемент» (Электронный ресурс) (Электронный ресурс) Режим доступа: https://gkelement.ru/

  3. Зеленоградский нанотехнологический центр (Электронный ресурс) Режим доступа: https://zntc.ru/

  4. Отделение микротехнологий / НИЦ «Курчатовский институт» — НИИСИ (Электронный ресурс) Режим доступа: https://www.niisi.ru/omt.htm; Разработка СБИС / НИЦ «Курчатовский институт» — НИИСИ (Электронный ресурс) Режим доступа: https://www.niisi.ru/devel.htm

  5. Galiullin, A.A.; Pugachev, M.V.; Duleba, A.I.; Kuntsevich, A.Y. Cost-Effective Laboratory Matrix Projection Micro-Lithography System. Micromachines 2024, 15, 39. https://doi.org/10.3390/mi15010039

  6. Pugachev, M.V.; Duleba, A.I.; Galiullin, A.A.; Kuntsevich, A.Y. Micromask Lithography for Cheap and Fast 2D Materials Microstructures Fabrication. Micromachines 2021, 12, 850. https://doi.org/10.3390/mi12080850

  7. Lithography Stepper V2.1 / Hacker Fab (Электронный ресурс) Режим доступа: https://docs.hackerfab.org/home/fab-toolkit/patterning/lithography-stepper-v2.1

  8. Программируемые логические интегральные схемы (ПЛИС) / ВЗПП-С (Электронный ресурс) Режим доступа: https://vzpp-s.ru/catalog/programmiruemye-logicheskie-integralnye-skhemy/programmiruemye-logicheskie-integralnye-skhemy-plis/

  9. В Зеленограде разработали новую программируемую логическую микросхему / ИА Красная Весна (Электронный ресурс) Режим доступа: https://rossaprimavera.ru/news/0d34e2b4

  10. NedoPC (Электронный ресурс) Режим доступа: http://nedopc.com/

  11. Tiny Tapeout (Электронный ресурс) Режим доступа: https://tinytapeout.com/

  12. NedoOS (Электронный ресурс) Режим доступа: http://nedoos.ru/

  13. На «Микроне» выпустили полностью отечественный процессор «Эльбрус» / Зеленоград — новости (Электронный ресурс) Режим доступа: https://www.zelenograd.ru/news/12250/

  14. MultiClet P1 / MultiClet (Электронный ресурс) Режим доступа: http://multiclet.com/products/mult-procces/517-multicletochnye-processory

  15. К1986ВЕ1Т / АО «ПКК Миландр» (Электронный ресурс) Режим доступа: https://ic.milandr.ru/products/mikrokontrollery_i_protsessory/32_razryadnye_mikrokontrollery/1986vekh_avia/k1986ve1t/

  16. В России создан крошечный OLED-экран размером с монетку. Аналогов у него в стране нет / CNews (Электронный ресурс) Режим доступа: https://www.cnews.ru/news/top/2022-04-04_v_rossii_sozdan_kroshechnyj

  17. Научно-производственное предприятие завод «Рефлектор» (Электронный ресурс) Режим доступа: https://electronica7.ru/

  18. Операционная система «Фантом» / DZ (электронный ресурс) Режим доступа: https://dz.ru/os-phantom

  19. KasperskyOS – микроядерная операционная система нового поколения / АО «Лаборатория Касперского» (Электронный ресурс) Режим доступа: https://os.kaspersky.ru/

  20. iS-DOS/TASiS / ATM turbo (Электронный ресурс) Режим доступа: http://atmturbo.nedopc.com/load_isdos.htm

  21. Embox: открытая ОС РВ для встраиваемых систем / Embox (Электронный ресурс) Режим доступа: https://emboxing.ru/

  22. История компании / Excelsior (Электронный ресурс) Режим доступа: https://www.excelsior.ru/node/7

  23. Защищенная операционная система QP ОС / КРИПТОСОФТ (Электронный ресурс) Режим доступа: https://cryptosoft.ru/qpos.html

  24. Мастер-ключ (Электронный ресурс) Режим доступа: https://master-kluch.ru/contacts/?ysclid=mnrq8kxygs784165706

  25. Бештау (Электронный ресурс) Режим доступа: https://beshtau.ru/

  26. «Принтер матричный УД-М серия 1» / ХОЛДИНГ «ЛЕНПОЛИГРАФМАШ» (Электронный ресурс) Режим доступа: https://pd.lpm.spb.ru/products/tekhnika-dlya-spetsialnykh-usloviy-ekspluatatsii/printer-matrichnyy-ud-m/

  27. Юдин В.В.; Иванищев Д.М.; Дремов А.П. Сканер-V1. / Spectrophoby #05 (Электронный ресурс) Режим доступа: https://zxpress.ru/article.php?id=12124

  28. Паркинсон, С. ПРЕДСЕДАТЕЛИ И КОМИТЕТЫ, или Коэффициент бесполезности / Законы Паркинсона / lib.ru (Электронный ресурс) Режим доступа: https://lib.ru/DPEOPLE/PARKINSON/parklaws.txt

  29. The UNIX-HATERS Handbook. Edited by Simson Garfinkel, Daniel Weise, and Steven Strassmann. San Mateo, CA: IDG Books Worldwide, 1994 (Электронный ресурс) Режим доступа: https://web.mit.edu/~simsong/www/ugh.pdf

1 Например, на платформе ZX Spectrum минимальный «Тетрис» весит 189 байт [Быстров Д. М. Tetris 189b / Info Guide #14 (Электронный ресурс) http://alonecoder.nedopc.com/zx/books/IG14.zip], а 15 килобайт соответствует размеру целого командера, текстового редактора или компилятора [Системный SOFT для настоящих синклеристов / Virtual TR-DOS (Электронный ресурс) http://vtrd.in/system.htm].

2 По сравнению с ускорением шифрования не по AES [AES-NI SSL Performance / CALOMEL (Электронный ресурс) https://calomel.org/aesni_ssl_performance.html].

3 Mike Belshe и Roberto Peon [Belshe, M., Peon, R. Hypertext Transfer Protocol Version 2 (HTTP/2) /  RFC Editor; https://doi.org/10.17487/rfc7540] [Belshe, M., Peon, R. SPDY Protocol — Draft 1 / Chromium (Электронный ресурс) https://www.chromium.org/spdy/spdy-protocol/spdy-protocol-draft1/].

4 Наиболее эффективная реализация, на остаточных классах, занимает 110 тысяч тактов на FPGA [Hung Nguyen, Trang Hoang, Linh Tran. Efficient Hardware Implementation of Elliptic-Curve Diffie–Hellman Ephemeral on Curve25519 / Electronics 2023, 12(21), 4480; https://doi.org/10.3390/electronics12214480].

5 Из топ-менеджеров, например, Jim Keller [btarunr. Ryzen Architect Jim Keller Joins Intel / www.techpowerup.com (Электронный ресурс) https://www.techpowerup.com/243673/ryzen-architect-jim-keller-joins-intel], Robert Hallock [kavagangga. Роберт Халлок присоединился к Intel / i2HARD (Электронный ресурс) https://i2hard.ru/publications/33315/], Uri Frank [Uri Frank / Google AI and Infrastructure (Электронный ресурс) https://techsysinfra.google/aboutus/tsi-leaders/uri-frank/], Dan McNamara [Dan McNamara / AMD (Электронный ресурс) https://www.amd.com/en/corporate/leadership/dan-mcnamara.html], Raja Koduri [Shilov, A. Legendary GPU architect Raja Koduri’s new startup leverages RISC-V and targets CUDA workloads — Oxmiq Labs supports running Python-based CUDA applications unmodified on non-Nvidia hardware / Tom’s Hardware (Электронный ресурс) https://www.tomshardware.com/tech-industry/artificial-intelligence/legendary-gpu-architect-raja-koduris-new-startup-leverages-risc-v-and-targets-cuda-workloads-oxmiq-labs-supports-running-python-based-cuda-applications-unmodified-on-non-nvidia-hardware].

6 За исключением основателей Google, главные держатели акций Google (Alphabet), Intel и AMD – это фонды Vanguard и BlackRock [https://finance.yahoo.com/quote/GOOG/holders/] [https://finance.yahoo.com/quote/INTC/holders/] [https://finance.yahoo.com/quote/AMD/holders/], как и в случае Seagate [https://finance.yahoo.com/quote/847.F/holders/], Western Digital [https://finance.yahoo.com/quote/WDC.F/holders], Microsoft [https://finance.yahoo.com/quote/MSFT/holders/], Apple [https://finance.yahoo.com/quote/AAPL/holders/] и ряда других американских компаний.

7 Считается из общей суммы через приведённые коэффициенты [Статистика по импорту и экспорту ЕС на 2024 год / ec.europa.eu (Электронный ресурс) https://ec.europa.eu/eurostat/web/products-eurostat-news/w/ddn-20241004-1].

8 Сумма всех категорий [Статистика по импорту высокотехнологической продукции в РФ / tadviser.ru (Электронный ресурс) https://www.tadviser.ru/index.php/%D0%A1%D1%82%D0%B0%D1%82%D1%8C%D1%8F:%D0%AD%D0%BA%D1%81%D0%BF%D0%BE%D1%80%D1%82_%D0%B8_%D0%B8%D0%BC%D0%BF%D0%BE%D1%80%D1%82_%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B8_%D0%B2_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8#.D0.98.D0.BC.D0.BF.D0.BE.D1.80.D1.82_.D1.8D.D0.BB.D0.B5.D0.BA.D1.82.D1.80.D0.BE.D0.BD.D0.B8.D0.BA.D0.B8_.D0.B2_.D0.A0.D0.BE.D1.81.D1.81.D0.B8.D1.8E_.D1.81.D0.BE.D0.BA.D1.80.D0.B0.D1.82.D0.B8.D0.BB.D1.81.D1.8F_.D0.BD.D0.B0_1.2C5-2.25].

9 Менее триллиона рублей на три года [Статецкий, Е. Россия планирует потратить на космос почти триллион рублей в 2025-2027 годах / Прокосмос (Электронный ресурс) https://prokosmos.ru/2024/09/30/rossiya-planiruet-potratit-na-kosmos-pochti-trillion-rublei-v-2025-2027-godakh].

10 Например, обнаружены в Linux [https://www.anti-?malware.ru/news/2022-02-24-111332/38233] [https://habr.com/ru/company/ruvds/blog/677662/] [https://www.linux.org.ru/news/security/17333365] [https://m.habr.com/ru/post/484436/comments/#comment_21153658], во FreeBSD [https://aftershock.news/?q=comment/15726311#comment-15726311], в sudo [https://m.habr.com/ru/company/mailru/blog/515134/], в vim [https://www.opennet.ru/opennews/art.shtml?num=50857], в PolarSSL [(https://polarssl.org/tech-updates/security-advisories/polarssl-security-advisory-2014-04], в liblzma [https://www.openwall.com/lists/oss-security/2024/03/29/4], в node-ipc [https://www.opennet.ru/opennews/art.shtml?num=56870].

11 Обучение и стажировки: [Карьера / Группа компаний «Элемент» (Электронный ресурс) https://gkelement.ru/career/], контрактная разработка: [Производственные и инжиниринговые услуги и работы / Mikron (Электронный ресурс) https://mikron.ru/services/], контрактное производство до 90 нм [Контрактное производство / Mikron (Электронный ресурс) https://mikron.ru/services/kontraktnoe-proizvodstvo/].

12 С точностью около 6 мкм [amartology, checkpoint. Комментарии / Российская микроэлектроника — два года спустя / Хабр (Электронный ресурс) https://habr.com/ru/articles/801931/#comment\_26645385 https://habr.com/ru/articles/801931/#comment_26648943].

13 Китайские микросхемы Gowin [Демонстрационные платы SIPEED TECHNOLOGY LIMITED TANG NANO 1K / Гамма плюс (Электронный ресурс) https://vyborg.icgamma.com/catalog/demonstratsionnye-platy/tang-nano-1k-sipeed-technology-limited-skl/].

14 Бухгалтерская численность, включая весь персонал и, возможно, убывших [The History of Microsoft — 1994 / Microsoft (Электронный ресурс) https://learn.microsoft.com/en-us/shows/history/history-of-microsoft-1994].

15 Выпущена в 1992 году; судя по обозначению, время доступа 60 нс [565ая серия / 155la3.ru (Электронный ресурс) http://www.155la3.ru/k565.htm]).

Здесь мы общаемся: https://max.ru/join/4hAV7XqCzLsVbHNNg75HMGEj0IFL8dCjPZqpve-LGZA

ссылка на оригинал статьи https://habr.com/ru/articles/1027184/