Аналоговые компьютеры решали уравнения мгновенно. Почему это их не спасло

от автора

«Мгновенно» — слово сильное, я к нему ещё вернусь и отниму примерно всё. Но начну с факта, который в этой истории определяющий.

В 1956 году в NASA делали пилотажный тренажёр для X-15 — того самого ракетоплана, который летал на семи махах и забирался на 100 километров. Тренажёр должен был считать динамику полёта в реальном времени, потому что за креслом сидел живой пилот. Ни один цифровой компьютер тогда этого не умел. Взяли три аналоговые машины EAI PACE 231R: 380 операционных усилителей, 101 функциональный генератор, 32 сервоусилителя, 5 множительных устройств. Диапазон модели — от 0,2 до 7 махов и от уровня моря до 1 056 000 футов, это примерно 322 км.

То есть человека готовили к полёту на край атмосферы на машине, в которой не было ни одной нулевой или единичной цифры.

Дальше обычно идёт текст про то, что аналоговые машины были в тысячи раз быстрее, что их зря похоронили, и что вот сейчас они возвращаются в виде чипов для нейросетей. Я такой текст читала много раз, и каждый раз спотыкалась в одном и том же месте: рядом со словами «в тысячи раз быстрее» всегда стоит строчка «точность порядка 0,1%», и никто никогда не показывает, что эти две цифры означают вместе.

Ну я и решила посчитать.

Как эта штука вообще работает

Для тех, кто зашёл по заголовку и аналоговых машин не видел.

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

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

И вот тут ключевое отличие от цифры Цифровая машина решает уравнение: разбивает время на шаги и на каждом шаге считает следующую точку. Аналоговая машина уравнение не решает. Она им является. Напряжения в схеме меняются по тем же законам, что и переменные в уравнении, потому что схему для этого и спаяли. Никакого такта нет, никаких шагов нет, решение просто течёт по проводам со скоростью, с которой успевают усилители.

Отсюда и «мгновенно». Правда, честнее говорить «в реальном времени»: машина идёт в том же темпе, что и моделируемый самолёт. Можно сжать или растянуть время масштабом — у МН-14, например, длительность процесса интегрирования задавалась от 1 до 10 000 секунд.

Арифметика, из-за которой всё кончилось

Теперь про точность, и это главные две минуты статьи.

У цифровой машины точность определяется количеством разрядов. Хотите вдвое точнее — добавьте один бит. Один триггер, один разряд в сумматоре. Цена растёт линейно: N бит стоят примерно N железа.

У аналоговой машины точность определяется точностью деталей. Резистор с допуском 0,1% даёт 0,1%, и никакие ухищрения ниже этого порога вас не пустят. Переведём проценты в биты, чтобы можно было сравнивать.

Погрешность

Во сколько раз шкала больше ошибки

Эквивалент в битах

1%

100

6,6

0,1%

1 000

10,0

0,01%

10 000

13,3

0,001%

100 000

16,6

Проверяем: 2¹⁰ = 1024, а 1/0,001 = 1000. Сходится.

Теперь смотрите, что получается. Реальные аналоговые машины жили в диапазоне 0,1–1%, лучшие — 0,01%. Выше 0,01% почти никто не забирался, это общее место в литературе по аналоговой технике. То есть потолок — тринадцать бит.

Для калибровки: интегратор МН-14 давал погрешность не более 0,3% от стовольтовой шкалы за 100 секунд. Это примерно 8,4 бита. Настольный калькулятор 1974 года считал с восемью-десятью десятичными знаками, а это 27–33 бита.

И чтобы добавить аналоговой машине один бит, нужны детали вдвое точнее. Ещё один бит — ещё вдвое. Цена точности растёт экспоненциально от числа бит, тогда как в цифре она растёт линейно. Две кривые, которые обязаны пересечься, и вопрос был только в том, в каком году.

Ради наглядности: представьте хороший современный резистор с температурным коэффициентом 10 ppm на градус. Комната нагрелась на десять градусов — сопротивление уехало на 100 ppm, то есть на 10⁻⁴. Это уже весь ваш тринадцатибитный бюджет, целиком, от одной открытой форточки. Поэтому прецизионные машины стояли в термостатированных залах, и поэтому там была отдельная должность человека, который всё это калибрует.

Кстати, цифрам в источниках тоже верить нельзя

Пока я собирала характеристики советских машин, наткнулась на знакомое по прошлым раскопкам.

МН-7, настольная машина 1955 года разработки СКБ-245 (главный конструктор В. Б. Ушаков). В одном источнике: решающий блок состоял из 16 операционных усилителей. В другом, тоже приличном: МН-7 с рабочим напряжением 100 В и шестью операционными усилителями. Шестнадцать или шесть — разница принципиальная, это машина другого класса.

Подозреваю, что кто-то у кого-то потерял единицу, но проверить мне нечем.

А общая линейка, по которой расхождений нет, выглядела так:

Машина

Год

Порядок уравнений

Заметка

МН-2

1954

6

секционная

МН-7

1955

6

настольная, для сложных задач машины объединяли

МН-8

1955

32

первая в СССР прецизионная большой мощности

МН-11

1959

9

автоматический поиск решения, периодизация до 100 Гц

МН-14

1960

20

прецизионная, ±100 В

Обратите внимание на строчку про МН-7: для сложных задач несколько машин объединялись воедино. Масштабирование в аналоговом мире выглядело именно так — привезти ещё одну машину и соединить шнурами. Как три EAI на тренажёре X-15.

А был ли цифровой заговор?

Любимая версия из комментариев: аналог задушили, потому что на цифре можно было продать больше железа.

Проверяем. Если дело в маркетинге, то где-то должна была остаться страна или контора, где аналог выжил. Рынок-то был мировой и вполне конкурентный: EAI в США, Solartron в Англии, Hitachi в Японии, у нас — пензенские и московские машины. Причём наши инженеры мерились с американцами: про комплекс АВК-2 написано, что по точности и стабильности он соответствовал лучшим зарубежным АВМ (EAI-8800, Hitachi-505, Solartron-7), хотя отечественные конденсаторы и резисторы в цепях обратной связи имели погрешности в 5–10 раз большие. Вот это, кстати, очень достойный результат: вытащить схемотехникой то, что провалено элементной базой.

И что в итоге?

В итоге аналоговые машины умерли везде и примерно одновременно. В семидесятых их вытеснили гибридные, где аналоговая часть считала, а цифровая ей управляла. В восьмидесятых гибриды дожили в обороне и авиации: Marconi собрала систему Starglow из трёх аналоговых EAI 8812 и цифровой EAI 8100. В голландском TNO гибридную машину использовали для доработки торпеды Mk37, а убрали примерно в 1992 году, когда почти все расчёты уже давно делались на цифре.

Никакого Госплана, никакого заговора. Просто в какой-то момент цифровая машина научилась считать полёт самолёта быстрее, чем самолёт летит, и единственное настоящее преимущество аналога испарилось. А второе преимущество, точность, у него было отрицательным с самого начала.

Почему аналог не лезет в кремний

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

Аналоговой машине нужны не транзисторы. Ей нужны точные резисторы, точные конденсаторы и усилители с маленьким дрейфом нуля. А теперь посмотрим, что делает с этими тремя вещами прогресс микроэлектроники.

Точность транзистора растёт как корень из площади. Это закон Пелгрома: разброс параметров двух одинаковых транзисторов на кристалле обратно пропорционален корню из их площади. Хотите уменьшить разброс вдвое, то есть выиграть один бит, — увеличивайте площадь вчетверо. Каждый следующий бит точности стоит в четыре раза больше кремния. В цифре тот же бит стоит один дополнительный разряд сумматора. Ровно та же развилка, что и в таблице выше, только теперь она выражена в квадратных микронах.

Напряжение питания падает. Аналоговые машины работали со шкалой ±100 В именно потому, что динамический диапазон — это отношение шкалы к шуму, и чем больше шкала, тем больше бит в неё влезает. Современный чип живёт на вольте с небольшим. Шум при этом никуда не делся, он определяется физикой. Время играет против аналога.

Точные R и C не масштабируются. Транзистор становится меньше и лучше. Резистор и конденсатор, уменьшаясь, становятся хуже: меньше площадь — больше разброс, тот же Пелгром.

Сложите три пункта и получите ответ, почему аналоговая машина общего назначения не вернётся ни при какой любви к ретро.

Аналог всё-таки вернулся. Но не туда, куда обещали

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

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

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

И вот что здесь важно. Работает это только на низкой точности: сети спокойно живут на 4–8 битах на вес. Возвращаемся к таблице в начале статьи: восемь бит — это примерно 0,4% погрешности. Тот самый диапазон, из которого аналоговые машины не смогли выбраться шестьдесят лет назад и из-за которого проиграли.

Аналог вернулся потому, что появилась задача, которой точность не нужна.

Заодно оцените масштабы. Чип IBM образца 2023 года кодировал 35 миллионов ячеек фазовой памяти, то есть модель максимум на 17 миллионов параметров. У GPT-3 их 175 миллиардов. Разрыв в десять тысяч раз. В 2026-м IBM продолжает публиковаться про раскладку MoE-слоёв на трёхмерную аналоговую память, Mythic в конце 2025-го подняла 125 миллионов долларов, EnCharge работает с TSMC и обещает порядка двадцатикратной экономии энергии. Обещает — это важное слово, до массового продукта пока никто не доехал.

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

Тупик, в который я упёрлась

Я хотела найти первоисточник фразы «аналоговый компьютер в тысячи раз быстрее цифрового». Она кочует по статьям без ссылки. Не нашла. Нашла только формулировку в духе «аналоговые машины чрезвычайно быстры, поскольку решают уравнение со скоростью прохождения сигнала по цепи», что верно по сути и бессмысленно как число: у этого сравнения нет второго конца. Быстрее какой цифровой машины? Какого года? На какой задаче?

Так что если вы ждали от меня фразы «аналог в 1000 раз быстрее, доказано» — её не будет. Корректное утверждение звучит скучнее: в 1956 году на задаче реального времени аналоговая машина была единственным вариантом, к середине семидесятых перестала им быть, и всё.

Что с этим делать

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

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

Аналоговая машина никогда ничего не вычисляла. Она была моделью: из усилителей собирали маленькую копию самолёта и смотрели, как она летает. Когда цифра научилась считать самолёт быстрее, чем он летит, копия стала не нужна.

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

И отдельно жду тех, кто делает АЦП для in-memory матриц: очень интересно, сколько там на практике остаётся от заявленного выигрыша.

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