ЕСТАТИСТИЧЕСКИЙ ИНЖЕНЕР»
Вооруженные карандашом и бумагой или в лучшем случае суммирующей машиной американские статистики прошлого века испытывали
острую необходимость в автоматизации длительной, утомительной и однообразной работы по обработке «Эвереста данных» — переписи в США проводятся каждые 10 лет. Именно здесь применил свои незаурядные способности изобретателя сын четы немецких эмигрантов Германн Холлерит.
Он родился 29 февраля 1860 года и умер 17 ноября 1929 года. В детстве Германн ничем не отличался от своих сверстников, разве только особой ненавистью к грамматике. Чтобы не присутствовать на этих уроках, он выпрыгивал из окна второго этажа и убегал домой. В 1919 году знаменитый изобретатель мистер Г. Холлерит скажет: «Жизнь слишком коротка, чтобы правильно писать», но за 50 лет до этого родители вынуждены были забрать его из школы.
Воспитание Германна было доверено пастору местной лютеранской церкви, который, видимо, сумел с этим справиться. Холлерит окончил Торную школу при Колумбийском университете и был принят на работу в статистическое управление при министерстве внутренних
дел США.
Случай свел его с доктором Дж. Биллингсом, возглавлявшим работы по составлению сводных данных. Однажды некая юная мисс обратила внимание на стройного черноволосого юношу, с энтузиазмом поглощавшего в министерском буфете салат из цыплят, и при-
8* |
163 |
гласила его отведать цыплячий салат, приготовленный ее матерью. Юная мисс была дочерью доктора Биллинг-са, а юный любитель цыплят — Германном Холлеритом. Приглашение было с благодарностью принято, и, как впоследствии вспоминал Холлерит, за обеденным столом хозяин дома обмолвился о том, что, вероятно, возможно построить машину, которая чисто механически выполняла бы утомительную работу клерков его оффиса.
Голливудского развития «история с салатом» не получила: мисс Биллинге не вышла замуж за Холлерита. Но слова шефа департамента сводных данных заставили 21-летнего Германна надолго задуматься.
В 1882 году он принял должность преподавателя машиностроения в Массачусетском технологическом институте, где и начал разрабатывать «машину для 'переписи населения». Преподавательская деятельность Хол-лериту вскоре наскучила, и он перешел в Вашингтонское бюро патентов. Здесь у Холлерита было больше времени для занятий машиной; кроме того, знание патентного права для изобретателя оказалось небесполезным. В течение 1884—1889 годов Холлерит получил свои четыре основных патента на перфокартные машины, к которым впоследствии прибавилось еще 30.
Первоначально он предполагал использовать в качестве носителя информации бумажную ленту с пробитыми в ней соответствующим образом отверстиями (перфоленту). Но для большого количества данных работа с лентой оказалась затруднительной: лента часто рвалась и требовала перемоток для отыскания нужных сведений.
Удачному решению помог случай. Однажды Холлерит обратил внимание на железнодорожного кондуктора, который с помощью ручного компостера заносил в какой-то бланк сведения о пассажирах. У него возникла идея разработки перфокарты, на которую могли быть нанесены в виде отверстий обрабатываемые данные и которая была бы более удобной «пищей» для машины, нежели лента. Неизвестно, был ли знаком Холлерит с идеями Жаккара и Бэббиджа, но то, что'он предложил, было, по существу, повторением, пройденного. Однако на «носителе информации» сходство кончалось. Все остальное оборудование Холлерита: простой пробойник (перфоратор), сложный пробойник, сортировальная машина и табулятор — было оригинальным.
164
Основная идея Холлерита состояла в том, чтобы представить подлежащие обработке данные отверстиями в фиксированных местах перфокарты и затем либо подсчитать отверстия на всех перфокартах, либо рассортировать перфокарты по тому же принципу.
Первые перфокарты (85/8 Х 3'/4 дюйма) имели 6 рядов по 32 позиции. Перфорация осуществлялась вручную на пробойнике, состоящем из чугунного корпуса с приемником для карты и собственно пробойника.
Над приемником помещалась пластинка с несколькими рядами отверстий; при нажиме рукоятки пробойника над одним из них карта под пластинкой пробивалась нужным образом. Сложный пробойник пробивал на группе карт общие данные одним нажатием ручки.
Сортировальная машина представляла собой несколько ящиков с крышками. Карты продвигались вручную между набором подпружиненных штырей и резервуарами, наполненными ртутью. Когда штырь попадал в отверстие, он касался ртути и замыкал электрическую цепь. При этом приподнималась крышка определенного ящика, и оператор опускал туда карту.
Табулятор работал аналогично сортировальной машине: число обнаруживаемых отверстий подсчитывалось счетчиком. Каждый счетчик имел циферблат со стрелкой, которая перемещалась на единицу шкалы после
каждого отверстия.
Система Холлерита была опробована в 1887 году при составлении статистики смертности в Балтиморе. Затем в 1896 году перфокартные машины были использованы во время очередной переписи населения, сократив время обработки данных почти в четыре раза.
В 1890 году Холлерит получил степень доктора философии от Колумбийского университета и несколько американских научных наград, а спустя три года его «электрический табулятор» был награжден бронзовой медалью Всемирной выставки в Париже.
В 1896 году Холлерит организует компанию табуляторов, которая начинает серийный выпуск машин. Они . проникают в Австрию, Норвегию, Швейцарию, Англию;
были они куплены и русским правительством. Постепенно расширяется сфера их применения: сельскохозяйственная перепись, железнодорожная статистика, начисление заработной платы и учет материалов на крупных предприятиях и т. д.
165
Между тем Холлерит продолжает совершенствовать свои машины и делает ряд новых изобретений. В 1902 году он создает автоматический табулятор, в котором карты подавались не вручную, а автоматически, и модернизирует свою сортировальную машину. Спустя 6 лет Холлернт предлагает конструкцию сумматора, которая оказалась столь удачной, что ее использовали впоследствии во многих счетно-аналитических машинах.
Сумматор управлялся картами, а наличие отверстий в них обнаруживалось контактными щетками. Цифровые колеса счетчика сумматора поворачивались через зубчатые зацепления от непрерывно вращающегося вала, который нес на себе скользящие кулачковые муфты, управляемые электромагнитами. Когда под контактной щеткой оказывалось отверстие, замыкалась электрическая цепь соответствующего электромагнита, и он включал муфту, которая подсоединяла цифровое колесо к вращающемуся валу; содержимое счетчика в данном разряде увеличивалось на число, пропорциональное углу поворота колеса. Все муфты автоматически выключались при прохождении под щетками ряда «синхронизирующих отверстий». Передача десятков осуществлялась в два приема, примерно так же, как и в разностной машине Бэббиджа.
В 1910—1920 годах появляется ряд других компаний по производству счетно-аналитических машин: в США — «Компания счетных машин Пауэрса»; во Франции — «Компания машин Бюлля», основанная норвежским инженером Фредериком Бюллем, который завещал все свои многочисленные патенты норвежскому-институту раковых исследований. Наличие конкурентов вынудило Хол-лерита в 1911 году продать свою компанию, которая, слившись с другими, образовала впоследствии международную корпорацию но производству вычислительных машин IBM.
Работы Холлерита подготовили дальнейшее развитие перфокартой техники на промышленной основе: в 1913 году появляется «печатающий табулятор» и «накапливающий табулятор» — разновидность специализированной суммирующей электромеханической машины;
в 1921 году к табулятору была присоединена коммутационная доска, позволявшая «направлять» в определенный регистр результат считывания с соответствующего столбца перфокарты; в 1931 году был изобретен вычи-
t6&
слительный (или множительный) перфоратор, а в 1936 году—алфавитно-цифровые перфокартные машины; наконец в 1946 году были созданы первые электронные счетно-аналитические машины.
Счетно-аналитические машины в настоящее время очень широко применяются для механизации учета, при обработке различных статистических данных и т. п. Комплект современных счетно-аналитических машин содержит перфораторы, сортировальные машины и табуляторы. Они автоматически выполняют именно ту работу, которую предназначил им в свое время Холлерит.
В 1895 году Холлерит выступал с лекциями о своих машинах в Европе. В Берне он был представлен собравшимся как «статистический инженер». «Я вовсе не удивлюсь, если это определение не станет общепринятым,— писал Холлерит жене.— Но если все же в будущем это случится, я буду счастлив от того, что был первым <ста-тистическим инженером».
Он действительно им был.
НАСЛЕДНИК ИЗ ДЕПАРТАМЕНТА МОРСКОГО КАЛЕНДАРЯ
Работа Хадсона по применению счетных машин для научных расчетов, о которой мы упоминали в предыду< щей главе, не нашла отклика среди специалистов-вычислителей. Основные научные вычисления, в частности составление таблиц, практически всю первую треть нашего столетия велись вручную. Первые энергичные попытки механизации, а затем и автоматизации табулирования связаны с именем Комри, астронома и вычислителя, которого заслуженно следует считать прямым наследником Бэббиджа в XX веке.
Лесли Джон Комри родился в 1893 году в Новой Зеландии, на ферме своего отца, выходца из Шотландии. Закончив Оклендский университетский колледж в Англии, он в 1916 году становится магистром химии. Несмотря на свою частичную глухоту, Комри добровольцем участвует в первой мировой войне в составе новозеландского экспедиционного корпуса и в боях теряет ногу.
После войны Комри решает заняться астрономией и поступает в колледж св. Иоанна в Кембридже. В 1924 году он получает степень доктора философии по астрономии, а с 1925 года работает в департаменте мор-
ского календаря, совсем недолго — рядовым сотрудником, затем—заместителем заведующего, с 1930 по 1936 год — заведующим департаментом.
Ознакомившись с работами Бэббиджа и Хадсона, Комри вознамерился механизировать табулирование, которое^ составляло основную часть деятельности сотрудников департамента. В 1928 году он использует счетную машину для табулирования функций с постоянными вторыми разностями. В 1931 году с помощью машины «Бэр-роуз» Комри вычисляет и печатает семизначные и восьмизначные таблицы основных тригонометрических функций с шагом в одну секунду дуги.
В том же 1931 году Комри обращается к английскому правительству с настоятельной просьбой о финансировании работ по созданию разностной машины. Ему повезло больше, чем Бэббиджу, да и 100 лет прошли, видимо, не зря: согласие правительства было получено всего лишь через два года, и уже к концу 1933 года разностная машина «Нейшнл» была построена. Это была • первая английская разностная машина (построенная в 1859 году машина Донкина была копией шведской машины Шютцев).
Машина «Нейшнл» могла табулировать с точностью до 13 знаков функции с постоянными шестыми разностями. Это значит, что построенная через 100 лет после Бэббиджа машина имела меньшие возможности, чем запроектированная Бэббиджем!
Благодаря усилиям Комри к середине 30-х годов в Англии применялись для научно-технических расчетов около 15 различных счетных машин. Ему же принадлежит инициатива успешного использования для этих целей счетно-аналитических машин Холлерита.
Сравнивая жизненные и творческие пути Бэббиджа и Комри, можно заметить, что между ними было много общего. Даже характеры их были схожи. Вот что писал, например, о Комри близко знавший его английский ученый Садлер: «Гордый, чувствительный, склонный быть нетерпимым и критиковать других, он не мог понять и простить недооценки его работ теми, кто не обладал его энергией, рвением и доскональностью... Но это лишь одна сторона; пунктуальный во всем, он необычайно щедро отдавал свое время и энергию, когда речь шла о помощи другим...»
168
В 1936 году Комри основывает собственную фирму, специализирующуюся на выполнении сложных научных расчетов.
В годы войны (1939—1945) фирма выполнила большое число научно-технических расчетов, в том числе и военного характера, по прямым заданиям английского правительства.
Напряженная работа сказалась на здоровье Комри:
в 1947 году он лишился речи, а спустя три года, в 1950 году, умер.
Комри хорошо знал и высоко ценил работы Бэббиджа и постоянно упоминал их в своих статьях. В 1944 году он опубликовал в английском научном журнале «Ней-чур» статью, посвященную описанию одной из первых в мире автоматических цифровых вычислительных машин — машины «Марк I», созданной группой американских инженеров под руководством Говарда Айкена. Статья называлась «Мечта Бэббиджа сбылась».
Часть IV
...и, наконец, компьютер...
К 2... году, в эпоху сплошной компьютеризации, скромный клерк, герой научно-фантастического рассказа А. Азимова сОсознан-ное могущество», обнаруживает, что операцию умножения можно выполнить без вычислительной машины, и изобретает таблицу умножения и способ перемножения многозначных чисел. Жизнь, однако, опережает самые дерзкие предвидения фантастов: уже в начале 70-х годов один американский журнал сообщал о езабастовке» токийских школьников, они потребовали вместо обучения письменному счету ввести обучение работе на карманных миникомпьютерах. А ведь еще каких-нибудь 36—40 лет назад не было ни термина, ни самих компьютеров...
НЕДОЛГИЙ ВЕК РЕЛЕЙНЫХ МАШИН
Бывало нечто, о чем говорят: Смотря, вот это ново, но это было уже в веках, бывших прежде нас.
сЭкклезиаст», 1, 10
МЕЧТА БЭББИДЖА СБЫЛАСЬ»
В 1937 году американский физик Говард Гатуэй Айкен начал работать в Гарвардском университете над тезисами своей диссертации. Айкену было около сорока — возраст, не типичный для диссертанта. Нетипичным был и его путь в науку.
Закончив военно-техническую школу в Индианопо-лисе, Айкен поступил в Висконслнский университет, где в 1923 году получил степень бакалавра в области электротехники. Но еще в 1919 году, будучи студентом, Айкен начал служить в Мэдисонской газовой компании, специализируясь на разработке и исследовании генераторов сильных токов.
Добившись некоторых успехов, он в 1928 году перешел в фирму «Вестингауз». Но молодого инженера тянуло к «основам науки» — математике и физике, и в 1931 году он снова становится студентом, на этот раз Чикагского университета. В следующем году, окончательно порвав с Вестингаузом, он переходит в Гарвард, где завершает свое научное образование.
Теоретическая часть диссертации Айкена содержала решение так называемых нелинейных обыкновенных дифференциальных уравнений. Чтобы сократить вычислительную работу, Айкен начал придумывать несложные машины для автоматического решения частных задач, например для вычисления полиномов. В конце концов он пришел к идее автоматической универсальной вычислительной машины, способной решать широкий круг научно-технических задач.
17U
Фирма IBM, согласившаяся финансировать создание машины, выделила в распоряжение Айкена четырех инженеров. Работа продолжалась около пяти лет, и в августе 1944 года была закончена и передана Гарвардскому университету «Вычислительная машина с автоматическим управлением последовательностью операций» (АСКК), известная под названием «Марк I».
Замечательно, что ее автором был человек, широтой своих интересов — инженер, математик, физик,— напоминавший Чарлза Бэббиджа. С идеями великого англичанина Айкен познакомился случайно, спустя три года после начала работы над «Марк I». Пораженный предвидением Бэббиджа, он писал: «Живи Бэббидж на 75 лет позже, я остался бы безработным!»
В «Марк I» использовались механические элементы для представления чисел и электромеханические — для управления работой машины. Как и в аналитической машине, числа хранились в регистрах, состоящих из де-сятизубых счетных колес. Каждый регистр содержал 24 колеса, причем 23 из них использовались для представления числа, а одно — для представления его знака. Регистр имел механизм передачи десятков и поэтому использовался не только для хранения чисел; находящееся в одном регистре могло быть передано в другой регистр, и добавлено к находящемуся там числу (или вычтено из него).
Эти операции выполнялись следующим образом. Через счетные колеса, образующие регистр, проходил непрерывно вращающийся вал, причем любое колесо с помощью электромеханических переключателей могло быть присоединено к этому валу на время, составляющее некоторую часть периода его оборота. К каждому колесу присоединялась щетка (считывающий контакт), которая при вращении колеса пробегала по неподвижному десятисегментному контакту. Это позволяло получить электрический эквивалент цифры, хранящейся в данном разряде регистра. Для выполнения операции суммирования устанавливались такие соединения между щетками первого регистра и механизмом переключения второго регистра, что колеса последнего связывались с валом на часть периода оборота, пропорциональную цифрам, находящимся в соответствующих разрядах первого регистра. Все переключатели автоматически выключались в конце фазы сложения, занимавшей не более
172
половины периода оборота. Таким образом, механизм суммирования, по существу, не отличался от сумматоров холлеритовских табуляторов. Регистры были снабжены системой сквозного переноса, аналогичной предлагавшейся Бэббиджем.
Всего в «Марк I» было 72 регистра и, кроме того, дополнительная память из 60 регистров, образованных механическими переключателями. В эту дополнительную память вручную вводились константы — числа, которые не изменялись в процессе вычислений *.
Умножение и деление производились в отдельном устройстве. Кроме того, машина имела встроенные релейные блоки для вычисления функций sin x, 10я и log x. Скорость выполнения арифметических операций в среднем составляла: сложение и вычитание — 0,3 секунды, умножение—5,7 секунды, деление—15,3 секунды. Таким образом, «Марк I» был «эквивалентен» примерно 20 операторам, работающим с ручными счетными машинами.
Работой «Марк I» управляли команды, вводимые с помощью перфорированной ленты. Каждая команда кодировалась посредством пробивки отверстий в 24 колонках, идущих вдоль ленты, и считывалась с помощью контактных щеток.
Совокупность электрических сигналов, полученных в результате «прощупывания» позиций дан ного ряда, определяла действие машины на данном шаге вычислений.
После завершения операции лента сдвигалась, и под контактные щетки попадал следующий ряд отверстий. В одной перфоленте Айкен объединил два типа бэббид-' жевских перфокарт — операционные карты и карты переменных.
Не останавливаясь на вопросах программирования для «Марк I», отметим лишь, что в первом варианте системы команд этой машины отсутствовала важная команда условного перехода, предложенная автором аналитической машины. Она была включена в систему команд «Марк I» позднее, возможно, вследствие знакомства Айкена с работами Чарлза Бэббиджа.
В качестве устройств вывода Айкен использовал пишущие машинки и перфораторы. «Марк I» содержал все
* Еще раз подчеркнем широту замыслов Бэббиджа: «Марк I» содержал 142 запоминающих регистра, а аналитическая машина — 1000.
173
основные блоки аналитический машины: устройства ввода и вывода, устройство управления, память («склад») и арифметическое устройство («мельница»).
«Мечта Бэббиджа сбылась!»
Вслед за пуском «Марк I» гарвардская группа, оформившаяся в вычислительную лабораторию университета во главе с все тем же Айкеном, начала работу над «Марк II». В этой машине для запоминания чисел, выполнения арифметических операций и операций управления должны были использоваться электромеханические реле. Законченная в 1947 году «Марк II» содержала около 13 000 таких реле и была, таким образом, чисто релейной вычислительной машиной.
Числа в «Марк II» представлялись в форме с плавающей запятой, то есть в виде а-10 , где а содержит до 10 значащих цифр, а порядок в заключен в пределах —15 s$ в ^ 15.
Каждая десятичная цифра представлена в двоичной форме и хранится в группе из четырех реле.
В двоичной системе счисления используются две цифры—0 и 1, и любое число поэтому представляется как Последовательность нулей и единиц.
Например, число 53 в двоичной системе выглядит как 110101. Широкое использование двоичной системы в вычислительной технике обусловлено существованием простых технических аналогов двоичной цифры — электромеханических реле и электронных триггеров, которые могут находиться в одном из двух устойчивых состояний. Тогда одному из них можно поставить в соответствие 0, а другому—1. Нетрудно видеть, что для представления одной десятичной цифры потребуется 4 двоичных разряда (скажем, цифра 9 выглядит как 1001). В «Марк II» используется не чисто двоичное, а двоично-десятичное представление чисел, поэтому для представления десятиразрядной десятичной мантиссы требуется 4 Х 10 двоичных разрядов (и реле соответственно). Еще 4 реле идут на представление показателя и 2 реле используются для хранения знака мантиссы и показателя. Таким образом, каждый из 100 регистров машины содержит 46 реле.
Для ввода чисел в регистр и вывода их (на эти операции уходит примерно 0,033 секунды) используется еще 16 реле. Короткие арифметические операции выполняются в сумматоре, который в отличие от «Марк I» отделен от памяти. Время выполнения операций сложения и вы-
174
читания занимает примерно 0,125 секунды. Умножение выполняется в отдельном устройстве и требует в среднем 0,25 секунды, а операция деления заменена операцией вычисления приближенных значений обратных величин. В машине предусмотрены специализированные устройства для вычисления функций 10*, cos x, sin x, log x. Так же как в «Марк I», для управления машиной используется перфолента, а вывод результатов осуществляется с помощью печатающих механизмов.