НЕДОЛГИЙ ВЕК РЕЛЕЙНЫХ МАШИН

Бывало нечто, о чем говорят: Смотря, вот это ново, но это было уже в веках, бывших прежде нас.

сЭкклезиаст», 1, 10

МЕЧТА БЭББИДЖА СБЫЛАСЬ»

В 1937 году американский физик Говард Гатуэй Айкен начал работать в Гарвардском универ­ситете над тезисами своей диссертации. Айкену было около сорока — возраст, не типичный для диссертанта. Нетипичным был и его путь в науку.

Закончив военно-техническую школу в Индианопо-лисе, Айкен поступил в Висконслнский университет, где в 1923 году получил степень бакалавра в области электротехники. Но еще в 1919 году, будучи студентом, Айкен начал служить в Мэдисонской газовой компании, специализируясь на разработке и исследовании гене­раторов сильных токов. Добившись некоторых успехов, он в 1928 году перешел в фирму «Вестингауз». Но мо­лодого инженера тянуло к «основам науки» — матема­тике и физике, и в 1931 году он снова становится сту­дентом, на этот раз Чикагского университета. В следу­ющем году, окончательно порвав с Вестингаузом, он переходит в Гарвард, где завершает свое научное обра­зование.

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

17U


Фирма IBM, согласившаяся финансировать созда­ние машины, выделила в распоряжение Айкена четырех инженеров. Работа продолжалась около пяти лет, и в августе 1944 года была закончена и передана Гарвард­скому университету «Вычислительная машина с автома­тическим управлением последовательностью операций» (АСКК), известная под названием «Марк I».

Замечательно, что ее автором был человек, широтой своих интересов — инженер, математик, физик,— напо­минавший Чарлза Бэббиджа. С идеями великого англи­чанина Айкен познакомился случайно, спустя три года после начала работы над «Марк I». Пораженный пред­видением Бэббиджа, он писал: «Живи Бэббидж на 75 лет позже, я остался бы безработным!»

В «Марк I» использовались механические элементы для представления чисел и электромеханические — для управления работой машины. Как и в аналитической ма­шине, числа хранились в регистрах, состоящих из де-сятизубых счетных колес. Каждый регистр содержал 24 колеса, причем 23 из них использовались для пред­ставления числа, а одно — для представления его зна­ка. Регистр имел механизм передачи десятков и поэто­му использовался не только для хранения чисел; нахо­дящееся в одном регистре могло быть передано в другой регистр, и добавлено к находящемуся там числу (или вычтено из него).

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


половины периода оборота. Таким образом, механизм суммирования, по существу, не отличался от суммато­ров холлеритовских табуляторов. Регистры были снаб­жены системой сквозного переноса, аналогичной пред­лагавшейся Бэббиджем.

Всего в «Марк I» было 72 регистра и, кроме того, дополнительная память из 60 регистров, образованных механическими переключателями. В эту дополнительную память вручную вводились константы — числа, которые не изменялись в процессе вычислений *.

Умножение и деление производились в отдельном устройстве. Кроме того, машина имела встроенные ре­лейные блоки для вычисления функций sin x, 10я и log x. Скорость выполнения арифметических операций в среднем составляла: сложение и вычитание — 0,3 се­кунды, умножение—5,7 секунды, деление—15,3 секун­ды. Таким образом, «Марк I» был «эквивалентен» при­мерно 20 операторам, работающим с ручными счетны­ми машинами.

Работой «Марк I» управляли команды, вводимые с помощью перфорированной ленты. Каждая команда ко­дировалась посредством пробивки отверстий в 24 колон­ках, идущих вдоль ленты, и считывалась с помощью кон­тактных щеток. Совокупность электрических сигналов, полученных в результате «прощупывания» позиций дан­ного ряда, определяла действие машины на данном ша­ге вычислений.

После завершения операции лента сдвигалась, и под контактные щетки попадал следующий ряд отверстий. В одной перфоленте Айкен объединил два типа бэббид-' жевских перфокарт — операционные карты и карты пе­ременных.

Не останавливаясь на вопросах программирования для «Марк I», отметим лишь, что в первом варианте си­стемы команд этой машины отсутствовала важная ко­манда условного перехода, предложенная автором ана­литической машины. Она была включена в систему ко­манд «Марк I» позднее, возможно, вследствие знаком­ства Айкена с работами Чарлза Бэббиджа.

В качестве устройств вывода Айкен использовал пи­шущие машинки и перфораторы. «Марк I» содержал все

* Еще раз подчеркнем широту замыслов Бэббиджа: «Марк I» содержал 142 запоминающих регистра, а аналитическая машина — 1000.


основные блоки аналитический машины: устройства вво­да и вывода, устройство управления, память («склад») и арифметическое устройство («мельница»).

«Мечта Бэббиджа сбылась!»

Вслед за пуском «Марк I» гарвардская группа, офор­мившаяся в вычислительную лабораторию университета во главе с все тем же Айкеном, начала работу над «Марк II». В этой машине для запоминания чисел, вы­полнения арифметических операций и операций управле­ния должны были использоваться электромеханические реле. Законченная в 1947 году «Марк II» содержала око­ло 13 000 таких реле и была, таким образом, чисто ре­лейной вычислительной машиной.

Числа в «Марк II» представлялись в форме с пла­вающей запятой, то есть в виде а-10 , где а содержит до 10 значащих цифр, а порядок в заключен в преде­лах —15s$ в^ 15.

Каждая десятичная цифра представлена в двоичной форме и хранится в группе из четырех реле.

В двоичной системе счисления используются две циф­ры—0 и 1, и любое число поэтому представляется как Последовательность нулей и единиц. Например, число 53 в двоичной системе выглядит как 110101. Широкое ис­пользование двоичной системы в вычислительной тех­нике обусловлено существованием простых технических аналогов двоичной цифры — электромеханических реле и электронных триггеров, которые могут находиться в одном из двух устойчивых состояний. Тогда одному из них можно поставить в соответствие 0, а другому—1. Нетрудно видеть, что для представления одной десятич­ной цифры потребуется 4 двоичных разряда (скажем, цифра 9 выглядит как 1001). В «Марк II» используется не чисто двоичное, а двоично-десятичное представление чисел, поэтому для представления десятиразрядной де­сятичной мантиссы требуется 4 Х 10 двоичных разрядов (и реле соответственно). Еще 4 реле идут на представ­ление показателя и 2 реле используются для хранения знака мантиссы и показателя. Таким образом, каждый из 100 регистров машины содержит 46 реле.

Для ввода чисел в регистр и вывода их (на эти опе­рации уходит примерно 0,033 секунды) используется еще 16 реле. Короткие арифметические операции выполняют­ся в сумматоре, который в отличие от «Марк I» отделен от памяти. Время выполнения операций сложения и вы-


читания занимает примерно 0,125 секунды. Умножение выполняется в отдельном устройстве и требует в сред­нем 0,25 секунды, а операция деления заменена опера­цией вычисления приближенных значений обратных ве­личин. В машине предусмотрены специализированные устройства для вычисления функций 10*, cos x, sin x, log x. Так же как в «Марк I», для управления машиной используется перфолента, а вывод результатов осу­ществляется с помощью печатающих механизмов.

«ЧИСТО» РЕЛЕЙНЫЕ МАШИНЫ

Примерно в то же время было построено еще не­сколько электромеханических вычислительных машин.

В 1941 году немецкий инженер К. Цузе построил спе­циализированную программно-управляемую релейную машину для решения задач строительной механики. В ней впервые использовалось двоинно-десятичное пред­ставление чисел с плавающей запятой. Цузе построил еще несколько машин. Его универсальная машина Z-4, пущенная в марте 1945 года, использовалась для науч­ных расчетов в Геттингенском университете.

В 1937 году работу над релейной машиной, способ­ной выполнять арифметические операции над комплекс­ными числами, начал сотрудник фирмы «Белл» матема­тик Джордж Штибитц. Его машина «Модель I» была закончена в 1939 году. Впервые работа машины была продемонстрирована в октябре 1940 года на заседании Американского математического общества. Комплексные числа вводились в машину Джорджа Штибитца, нахо­дившуюся в Нью-Йорке, с помощью расположенного в зале заседания телетайпа; результаты вычислений пере­давались из Нью-Йорка по телеграфному каналу и вос­производились печатающим устройством.

В машинах Штибитца использовалась двоично-пяте­ричная система представления чисел. Каждый десятич­ный разряд представляется здесь двумя цифрами; одна из них является цифрой пятеричной системы и принима­ет значения от 0 до 4, другая — цифровой двоичной си­стемы. Таким образом, для представления любой деся­тичной цифры требуются 7 реле, хотя включаются в каж­дый момент времени только 2. Еще 2 реле используют­ся для изображения знака. Двоично-пятеричная система


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

«Модель I» была специализированной вычислитель­ной машиной и не имела устройства автоматического управления вычислениями. Это устройство появилось в «Модели II»—релейном интерполяторе, управляемом программной перфолентой. Машина имела объем памяти в 5 пятиразрядных десятичных чисел. Вслед за «Мо­делью II», законченной в 1943 году, были построены еще 2 небольшие релейные машины: «Модель III» и «Мо­дель IV».

«Модель III», известная под названием «баллистиче­ской вычислительной машины», имела несколько боль­ший объем памяти, содержала 1300 реле и заменяла 25—40 девушек, вычислявших с помощью настольных счетных машин баллистические таблицы.

«Модель IV» отличалась от своей предшественницы тем, что могла вычислять еще и значения тригономет­рических функций.

Успех малых релейных машин привел к созданию в 1944—194& годах универсальной вычислительной маши­ны «Модель V». Машина содержала около 9000 реле и имела в своем составе все блоки, предусмотренные «классической» (бэббиджевской) структурой. Запоми­нающее устройство «Модели V» состояла из 44 восьми­разрядных регистров, в качестве устройств ввода исполь­зовались читающие (перфорационные) машины, а в ка­честве устройств вывода — перфораторы и телетайпы. Числа в машине представлялись в форме с плавающей запятой. Время выполнения арифметических операций «Модель V» характеризовалось следующими цифрами:

сложения — 0,3 секунды, умножения — 1 секунда, деле­ния — 2,2 секунды. Машина имела также специальные блоки, позволявшие вычислять функции sinx, log x, 10х и др. «Модель V» по своим возможностям немногим отличалась от предыдущей, хотя была значительно про­ще и имела более гибкие программные средства.