
Задумывались ли вы, как идеи инженеров 19 века вдруг становятся реальностью в мире современных чипов? Как вычислительная машина из огромных латунных шестерёнок — превратилась в FPGA.
То, что Чарльз Бэббидж мечтал построить, сегодня легко воссоздать на чипе размером с монету.
В этой статье разберём, как современные технологии соединили эпоху паровых машин с цифровым железом, а вопросы о том, что такое «компьютер», становятся ещё более захватывающими и… личными. Заходите, будет интересно.
Механическая революция: Difference и Analytical Engine
Окунаемся в начало XIX века, тогда вычисления были долгими, скучными и зачастую смертельно утомительными для армии клерков. Чарльз Бэббидж — английский математик, изобретатель и настоящий визионер, задался вопросом: неужели точные вычисления навсегда обречены оставаться тяжёлым ручным трудом?
Поначалу идея автоматизации рутинного ада показалась математическому сообществу весьма фантастической. Чарльз же, с самого начала смотрел широко и амбициозно: его Difference Engine, или по‑русски «разностная машина», была направлена на решение давней проблемы — освободить людей от ручной работы по составлению полиномиальных таблиц.

Сложная формула второго или даже седьмого порядка, это пустяк для Difference Engine. Зубчатые колёса и валики, вот что поможет вычислять, а именно, каждое следующее значение в таблице исключительно с помощью сложения, последовательно применяя метод конечных разностей Ньютона. Что-то вроде первой попытки сделать компьютер, но — механический, вращающийся и гремящий, а не электронный и тихий. Но как этот механизм вообще умел считать?

Механически колёса вычисляли «разности разностей», а перенос десятков происходил автоматически за счёт внутреннего переключающего механизма. Всё это выполнялось без единой операции умножения. Такой принцип был предельно прост и прозрачен, напоминая основы раннего программирования: вы задавали начальные данные, а при каждом повороте ручки машина выдавала следующий результат с высокой точностью, полностью устраняя ошибки, связанные с человеческим фактором.
Затем Бэббидж пошёл ещё дальше — попытался представить, что будет, если сделать машину не только для одного набора операций, а универсальной: так родилась Analytical Engine. Это уже настоящий механический прообраз программируемого компьютера: данные и программы задавались раздельно на перфокартах (идея, навеянная жаккардовыми ткацкими станками), операции и адресация были разделены по типам карточек, а сама архитектура предусматривала управление ходом исполнения, поддержку циклов и даже подпрограмм.

Удивительно, но система Analytical Engine с её «mills» (процессором) и «store» (памятью) настолько близка по принципам к архитектуре, которую позднее назовут архитектурой фон Неймана. Бэббидж вместе с Адой Лавлейс впервые представили процессор не просто как арифмометр, а как устройство, которое исполняет программу, управляя вычислениями по заданному коду, — то есть первый пример программируемой машины такого типа.
И всё же оба эти проекта — Difference и Analytical Engine — остались во многом мечтами. Почему? Техническая и социальная реальность того времени оказалась не готова к столь амбициозным идеям. Архаичная станочная база, отсутствие индустрии точного литья и механообработки — даже современная команда XXI века при повторе использовала детали, соответствующие возможностям XIX века, чтобы воссоздать Difference Engine №2, и не столкнулась с меньшими сложностями. Но не только в металле дело. Постоянный финансовый цейтнот, политические интриги, смена интересов правительства и не всегда простые отношения между изобретателем и производителями стали причиной остановки работ. Ведь государство хотело увидеть готовый продукт ради наглядной пользы — а Бэббидж всё время работал на перспективу, размышляя об эволюции идеи, а не завершении конкретного прототипа.

Итог: проект Difference Engine в XIX веке так и не увидел полного воплощения, огромное количество сложных деталей были пустой тратой средств и надежд.
И всё же именно эти попытки впервые заложили абстракции, которые до сих пор лежат в основе цифровой эпохи: разность как форма вычисления, перфолента как форма кода, и мечта о машине, выполняющей алгоритм.
Электромеханика и реле: путь к автоматике
Переход к электромеханике толкнул к новой революции в вычислениях, что пришлось на начало XX века. Герман Холлерит, он же инженер-изобретатель, он же отец современных автоматических вычислений, увидел в дырявых перфокартах не просто способ хранения данных, а настоящий универсальный инструмент. Меняя практику обработки больших данных и используя перфокарты как универсальную память и средство ввода/вывода. Его электрические табуляторы позволили впервые автоматизировать учёт информации в переписи США 1890 года, ускорив обработку результатов на годы вперёд и заново определив масштаб применимости вычислительных машин.

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

Перфокарты стали практически стандартом машинных данных — их 80-колоночная форма IBM сохранялась как индустриальная классика вплоть до электронных компьютеров 1960–1970-х. Важно, что память и программирование постепенно отделялись друг от друга, устройства научились выполнять операции по управляющему сценарию, пусть и реализованному с помощью проводных соединений или механических переключателей.
Следующий прорыв — машина Цузе. Его Z1, а позднее и релейные Z3, Z4 — наглядное воплощение мечты о «гибкой» программируемой архитектуре. Z1, построенная в 1938 году, была чуть ли не чудом инженерии — это был настоящие механический комп с памятью, арифметико-логическим блоком (АЛУ), бинарной логикой и даже двоичной плавающей точкой.
Только вот проблема — эта механика была очень «капризной»: часто сбои происходили. Работоспособность — «ну так себе», больше прототип, чем рабочая машина.

Как только Цузе переключился на электромеханические реле — эти щёлкающие переключатели — появился Z3, первая в мире реально рабочая программируемая машина. Важнейшей особенностью этих устройств стала возможность читать инструкции с перфоленты, что сделало программу — абстракцию, отделённую от железа — центральным понятием вычислений.
Но у механики всегда был естественный потолок: помимо ограниченной точности, массивности и надёжности компонентов скорость передачи сигналов стала «бутылочным горлышком» развития.
Пока электромеханические устройства работали на скоростях порядка герц или сотен герц, в релейных схемах частота переключения определялась временем срабатывания контактов. Да-да, именно: пару сотен щелчков в секунду — это максимум. Частота переключения в реле ограничивалась временем, пока контакты замыкаются и щёлкают — чистая физика: металл не любит спешить, в электронике сигналы могли продвигаться по цепям в миллионы раз быстрее.
Простейший закон природы: скорость сигнала ограничена не только скоростью света, но и инерцией физических элементов схемы. Всё, что связано с движением массы — будь то металл или даже реле — заведомо медленнее импульсов в полупроводнике. Именно это различие в скорости сделало электромеханику эволюционным тупиком. Как только пришли интегральные микросхемы и кремний, человечество махнуло рукой на эти ритуальные щелчки контактов и стопки перфокарт (а кто их сейчас вообще помнит?), пересев на микросхемы и кремний.
Транзисторы и интегральные схемы: миниатюризация вычислений
Что мы помним о транзисторной революции? Что это был такой момент, когда старые громоздкие лампы отправились на пенсию, а на их место пришли малютки — транзисторы, которые сделали компьютеры меньше, шустрее, практичнее и за размером которых сейчас гонятся производители.
Представьте: 1965-й год, и в руках у инженеров — чудо инженерной мысли с 12-битной архитектурой и жалкими (сегодня) 4 килобайтами памяти. Но даже это было круче, чем вы могли себе представить. Можно увеличить до 48 Кбайт — солидный запас по тем временам. Доступ к памяти? Мельком — всего 1,2 микросекунды, будто щёлкнул пальцами.
Если не поняли, то речь о мини-компьютере, разработанным компанией Digital Equipment Corporation (DEC). Продаваемым по цене чуть меньше 20 000 долларов.

Восемь страниц по 128 слов обеспечивали простое деление памяти, а сама машина, несмотря на относительную компактность, могла выполнять до 385 тыс. сложений или до 340 тыс. делений в секунду. Размер — что-то около холодильника. Да-да, не шутка: первый вариант занимал столько, что его можно было запросто заметить в любом офисе. Зато за пару лет именно PDP-8 заставил инженеров делать корпусы меньше — появились и настольные модели.
Инструкции были организованы так, что в ядре было всего три группы команд, среди которых — команды ввода/вывода и работы с памятью. Для ускорения операций умножения и деления выпускалась опциональная плата арифметического ускорителя. Благодаря поддержке языков высокого уровня (Фортран, FOCAL, DIBOL, макроассемблеры, Бейсик) и огромной базе утилит PDP-8 стал одной из самых популярных машин своего времени: за первую пятилетку было продано более 16 тыс. экземпляров (всего более 50 тыс. за историю), в том числе для вузов, НИИ, лабораторий.
С приходом интегральных схем компьютеры резко «усохли». Здесь ключевым моментом стала разработка Intel 4004 (1971) — первого коммерческого 4-битного процессора, объединившего на кристалле основные элементы управления. Вскоре вышли Intel 8008, 8080 и хрестоматийный 8086 (1978) — тот самый x86, который дал старт большинству архитектур персональных компьютеров. Первые PC, такие как Altair 8800 и Apple II, сразу стали востребованы энтузиастами и инженерами-интеграторами, поскольку стоимость компьютера наконец приблизилась к цене офисной техники. IBM PC (1981) окончательно стандартизировал платформу, отделив интерфейс пользователя от аппаратной части за счёт BIOS и модульных карт расширения.


Но всё это стало возможным только потому, что идеи Бэббиджа были доведены до практического воплощения: чёткое разделение функций — арифметико-логического устройства, памяти и устройства управления — стало ядром транзисторных и микропроцессорных дизайнов. Такая архитектура позволила не только увеличить производительность и сократить задержки передачи данных, но и практически мгновенно масштабировать системы, собирать из стандартных блоков компьютеры любой сложности.
Каждый следующий этап миниатюризации — от транзисторов к LSI и VLSI — сопровождался совершенствованием принципов модульности и независимости вычислительных узлов. В результате архитектура фон Неймана — наследие Analytical Engine Бэббиджа — стала доминирующей и для микропроцессоров, и для серверных комплексов, и для современных встраиваемых систем, потому что именно модульность обеспечивает масштабируемость, автономность и надёжность вычислений в любой современной среде.
FPGA-революция и программируемая логика
Что же такое FPGA, и почему про эту технологию сегодня говорят как про новую ступень в развитии вычислительной техники?
FPGA (Field-Programmable Gate Array) — это вид программируемых логических интегральных схем, уникальность которых в том, что их логика настраивается пользователем напрямую после включения питания, а не задана жёстко изначально. Архитектурно ПЛИС построены из конфигурируемых логических блоков (CLB), каждый из которых содержит LUT (Look-Up Table) — таблицы поиска, позволяющие реализовывать произвольную логику, а также триггеры для хранения состояний. Эти блоки соединяются между собой посредством матрицы программируемых маршрутизируемых соединений, которые управляются конфигурационной памятью на базе SRAM.

Помимо базовой логики, современные ПЛИС’ы оснащены встроенными цифровыми сигнальными процессорами (DSP) для быстрого выполнения мат. операций, таких как умножение и свёртка, что очень важно для обработки сигналов и задач искусственного интеллекта, при этом FPGA обходит GPU по эффективности в задачах с предсказуемой, жёстко заданной схемой вычислений. DSP-модуль представляет собой набор аппаратных умножителей-аккумуляторов (MAC), часто снабжённых Pipelining и SIMD-шириной до 48 × 48 бит, что даёт гигаоперации умножений на каждый такт. Обработка радиосигналов, кодирование видео, радарные и медицинские приложения, а также с задачами inferencing и оптимизация нейросетей в режиме реального времени, это всё FPGA.
Если честно, последние этапы развития FPGA — это, по сути, соперничество между Xilinx и Intel. Xilinx сначала запустил серию Spartan — совсем простые и дешёвые платы, с минимальным набором логики. А Intel почти одновременно толкала свои Cyclone, которые по задачам были очень похожи.
А потом, где-то в середине 2010-х, всё серьёзно усложнилось: Xilinx выпустил Virtex UltraScale, а Intel — Stratix 10. Эти ребята уже с HBM-памятью встроенной, поддержкой PCIe четвёртого и пятого поколений и даже аппаратной трассировкой PCIe — без всяких задержек из-за микрокода.
Xilinx не остановился на достигнутом и выпустил платформу Versal ACAP — систему, где FPGA работает рядом с ARM-процессорами, а сверху добавлены аппаратные AI-ускорители для мощной обработки задач ИИ.
Intel в ответ не отстала — выкатили свои FPGA с HBM-памятью (штука быстрая, прямо на кристалле) и замутили oneAPI — такую унифицированную среду, где можно и ресурсы подстраивать, и приложения писать, без беготни между разными тулчейнами.
По сути, уже давно не делают просто программируемые логические элементы, а преобразуют FPGA в настоящие дата-центры прямо на кремнии — с полной поддержкой PCIe Gen4/Gen5, железной трассировкой PCIe и топовым ускорением AI.
Современные FPGA — объединяют гибридные процессорные ядра ARM (например, Cortex-A72), сетевые интерфейсы (PCIe Gen4, 100-600 Гбит/с Ethernet), высокопроизводительные блоки памяти (DDR4, HBM) и спец. вычислительные модули, включая модули для криптографии и радиочастотной обработки. А значит, с такой архитектурой и задержки минимальные в обмене данными и возможность менять производительность под конкретные задачи.
FPGA не только выжили в век ASIC и быстрых микропроцессоров, но и заняли особую нишу. А именно, если нужно быстро собрать и проверить новую плату или устройство, легко «перенастроить» в процессе, поправить что-то, докрутить. То есть, их гибкость и повторяемость конфигураций — именно то, что инженеры любят.
DIY-FPGA и будущее пользовательской логики
В последние годы на рынке появились доступные DIY-FPGA-платы, которые стали подарком для энтузиастов желающих иметь свой «Analytical Engine» — программируемый мини-ПК.
Рассмотрим несколько популярных плат:
TinyFPGA, Arty и Papilio. TinyFPGA BX, например, оснащена чипом ICE40LP8K, который обеспечивает 7680 логических элементов LUT, 128 Кбит встроенной блоковой памяти и 6000 Кбит пользовательской флеш-памяти, ещё тут есть USB интерфейс с загрузчиком и поддержке open-source инструментов.

Arty базируется на мощном FPGA Xilinx Artix-7 XC7A35T с более чем 33 000 логических ячеек, 1800 Кб памяти и DSP-блоками, а также двойным Pmod-интерфейсом и разъёмом под Arduino UNO, по сути это значит, что к плате можно быстро накинуть кучу всякой периферии — например, датчиков или дисплеев, и пробовать разные идеи.

Papilio основан на FPGA Spartan 6 и популярен среди тех, кто хочет экспериментировать с собственными цифровыми процессорами и системами на кристалле.

Кроме аппаратных платформ, фокус внимания упал на soft-CPU и SoC-конфигурациям, которые можно реализовать прямо в ПЛИС. Типо MicroBlaze от Xilinx и Nios II от Intel, а также активно набирающий популярность RISC-V, который идеально вписывается в FPGA-архитектуру из-за модульности и открытости. Эти ядра настраиваются, оптимизируются и комбинируются с периферией для создания готовых к использованию вычислительных платформ, позволяя экспериментировать с архитектурами, разрабатывать специализированные вычислительные узлы или полнофункциональные одноплатные компьютеры с адаптивным железом.
Будущее пользовательской логики связано с технологиями упаковки. Например, Co-Packaged Optics — это когда оптические интерфейсы «прячут» прямо внутри самого кристалла. Что сокращает задержки при обмене данными между вычислительными узлами и ускоряет систему.
Или все мы любим торт, так вот кроме сладкого, такими же слоями, только вертикально складываются чипы при 3D-упаковке. Больше функционала в меньшем объёме. И, наконец, «полевая» прошивка вычислительных ядер — возможность не только конфигурировать FPGA на уровне логики, но и настраивать или заменить процессорные блоки и специализированные ускорители после развёртывания — станет новым шагом в динамичном и гибком использовании вычислительных платформ, расширяя возможности создания универсальных, адаптивных и масштабируемых систем прям на месте их эксплуатации.
Воссоздай Babbage-Engine на FPGA
Давайте представим, что вы энтузиаст, который мечтает воплотить машину Бэббиджа в современной цифровой логике — и есть несколько интересных кейсов, как это можно сделать.
Difference Engine №2 созданный Майком Филдом (Mike Field) на Verilog. Его проект — это копирование механизмов Бэббиджа, реализованное строка за строкой кода, который описывает вычислительные блоки и логику машины.
Код доступен на GitHub: можно скачать, скомпилировать и «запустить» эту историческую машину прямо на FPGA, а также посмотреть визуализацию её работы — это не просто механика под стеклом, а настоящая аппаратная реализация, работающая на уровне HDL. Автор также подготовил подробное видео с разбором работы проекта.

Существует также более игровой и творческий подход — объединить LEGO™ Mindstorms с TinyFPGA или похожими FPGA-платами. Представьте, что вы строите из LEGO™ механизм с движущимися зубчатыми колёсами, повторяющий работу машины Бэббиджа, а всю логику управления этим механизмом программируете на FPGA с использованием языков Verilog или VHDL.
Этот проект делится на этапы: сначала создаёте схемы на HDL, потом загружаете их на плату, а уже после запускаете механизм LEGO™, знакомитесь с цифровой логикой и буквально видите, как компьютер управляет механикой. Что-то для школьного или студенческого проекта.
А вы когда-нибудь задумывались, как бы выглядела машина Бэббиджа современном FPGA-проекте? Есть ли у вас ретро-устройства или необычные эксперименты с цифровой логикой? Делитесь своими историями, идеями и вопросами в комментариях — будет интересно обсудить!
© 2025 ООО «МТ ФИНАНС»