Вычислительную машину с программным управлением, работающую полностью на механических элементах, сконструировал немецкий ученый К. Цузе (машина Ц-1). Работа над машиной была начата в 1936 г. и продолжалась два года. В следующем варианте (Ц-2), который не был завершен в связи с тем, что гитлеровская Германия развязала вторую мировую войну, Цузе использовал электромагнитные реле. В 1941 г. Цузе закончил работу, которая финансировалась военным министерством, над машиной Ц-3. Эта машина, выполненная полностью на электромагнитных реле, явилась первой универсальной автоматической ЦВМ с программным управлением. Но работы Цузе были неизвестны за пределами Германии, и ученые других стран ознакомились с ними только спустя некоторое время после окончания второй мировой войны.
Более известна вычислительная машина, разработанная в 1944 г. в вычислительной лаборатории Гарвардского университета под руководством Г. Айкена. Эта машина, которая впоследствии получила название МАРК-1, по принципу действия, своим функциям, применяемой десятичной системе счисления и другим показателям напоминала аналитическую машину Бэбиджа. Айкен утверждал, что он познакомился с машиной Бэбиджа только после трехлетних трудов по разработке МАРК-1.
По своей конструкции и использованию электромагнитных реле МАРК-1, естественно, отличалась от аналитической машины, созданной на чисто механических принципах. Это иногда вызывает недоумение: могут ли быть у МАРК-1 и аналитической машины одни и те же структурные принципы? Тьюринг по этому поводу замечает: «То, что аналитическая машина Бэбиджа была задумана как чисто механический аппарат, помогает нам избавиться от одного предрассудка. Часто придают значение тому обстоятельству, что современные цифровые машины являются электрическими устройствами. . . но поскольку машина Бэбиджа не была электрическим аппаратом и поскольку в известном смысле все цифровые вычислительные машины эквивалентны, становится ясно, что использование электричества в этом случае не может иметь теоретического значения» [101, с. 27].
Мы не будем останавливаться на подробной характеристике МАРК-1. Но отметим, что емкость памяти машины была на порядок меньше величины, запроектированной в свое время Бэбиджем. Кроме того, признак условного перехода в МАРК-1 вел к выбору перфолент с числами, соответствующими различным областям изменения аргумента, или к останову программ при увеличении числа в специальном регистре сверх заданного. Только впоследствии была введена команда условного перехода с выходом на продолжение операций или повторение цикла, как предусматривали Лавлейс и Бэбидж. Конечно, ряд показателей МАРК-1 был лучше, чем у машины Бэбиджа; в первую очередь это относится к скорости выполнения операций, затем к управлению, которое велось по программе, записанной на перфоленте, и др.
После работ Цузе, Айкена, Стибица и других были разработаны и испытаны первые машинные программы. Вначале использовали перфокарты с механическими щупами как у машины Бэбиджа. Впоследствии была введена электромеханическая система считывания, а затем и фотосчитывание.
Электромеханические машины быстро исчерпали свои возможности и перестали удовлетворять требованиям производства из-за ограниченной скорости вычислений и малой надежности. Недостаточная скорость объяснялась большой постоянной времени реле (обычно около 15 мсек), малая надежность — подгоранием контактов многочисленных реле, необходимостью их чистки, то есть техническими особенностями элементной базы машины. Принципиальные ограничения, органически присущие электромеханическим машинам, не могли быть разрешены с помощью новых конструктивных разработок, так как основные элементы при этом оставались теми же. Требовался переход к принципиально иной первичной ячейке машины. Он был подготовлен бурным развитием радиоэлектроники, которая к 50-м годам стала широко внедряться в различные отрасли техники.
Н. Винер писал: «Со всех точек зрения казалось желательным заменить механическую систему выбора, осуществляемую в старых цифровых машинах, электронной. Можно было ожидать, что в результате такой замены новые машины окажутся. . . более совершенными, чем старые» [94, с. 222].
Началось чрезвычайно широкое использование электронных ламп в различных областях промышленности. Это привело к внедрению электроники и в вычислительную технику. В результате оказалось возможным резко повысить быстродействие машин, так как скорость переключения практически безынерционных ламповых реле (триггеров) в 5000 раз превысила скорость переключения электромагнитных реле. Введение триггеров повысило также надежность схем (электромагнитные реле всего выдерживают около миллиона переключений, в то время как качественные электронные реле делают до 1 млн. переключений в секунду). Кроме того, использование триггеров уменьшило потребность в энергии, устранило механические движущие части в машине и т. п. Следует отметить, что применение ламповой электроники при разработке средств вычислительной техники оказалось возможным в результате изобретений схемы триггера советским ученым М. А. Бонч-Бруевичем в 1918 г. и американскими учеными У. Икклзом и Ф. Джорданом в 1919 г,-
Первая электронная вычислительная машина общего назначения ЭНИАК была разработана Дж. Маучли и Дж. Эккертом в Электротехнической школе Мура при Пенсильванском университете (США). Проект ЭНИАК был представлен в августе 1942 г. и около года лежал без движения. В 1943 г. проектом заинтересовалась Баллистическая исследовательская лаборатория Армии США, и были начаты работы по его осуществлению. В конце 1945 г. работы были завершены. В феврале 1946 г. состоялась первая публичная демонстрация машины, а в 1947 г. она была передана Баллистической лаборатории.
Создание электронной цифровой вычислительной машины ЭНИАК явилось переломным этапом в развитии вычислительной техники. Опыт эксплуатации первых машин привел к пониманию их огромных преимуществ, а способность машин быстро решать трудоемкие задачи позволила в дальнейшем совершить переворот в применении математики к важнейшим проблемам науки и техники.
Таблица 5. Характеристики аналитической машины Бэбиджа и первых универсальных вычислительных машин с программным управлением
Характеристики | Аналитическая машина Бэбиджа (1834-1871 гг.) | Ц-3 (1940— 1941 гг.) | МАРК-1 (1937— 1944 гг.) | ЭНИАК (1942— 1945 гг.) |
Тип используемых элементов | Механические | Электромеханические | Электронные |
Ёмкость запоминающего устройства, количество чисел | 1000 | 64 | 72 | 20 |
Система счисления | Десятичная | Двоична | Десятичная | Десятичная |
Длина числа, количество разрядов | 50 | 22 | 23 | 10 |
Время выполнения операций, сек.: |
сложение | 1 | 0,3 | 0,3 | 0,0002 |
умножение | 60 | 4,5 | 5,7 | 0,0028 |
деление | 60 | — | 15,3 | 0,006 |
Ввод управляющей программы | На перфокартах | На перфоленте | На перфоленте | Путем коммутации блоков |