Хронограф
181522
291623
3101724
4111825
5121926
6132027
7142128

<февраль>

Путеводители

Нас переехали колеса Бэббиджа

Первому компьютеру электричество не требовалось, он приводился в действие вращением рукоятки. Но построить его удалось только через двести лет после изобретения

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

Английский математик Чарльз Бэббидж (Charles Babbage, 1791–1871) был человеком увлекающимся. Прекрасно понимая, что главное дело его жизни — аналитическая машина — обессмертит его имя, он, тем не менее, то и дело отвлекался на, казалось бы, не приличествующие его научному авторитету занятия. Бэббидж погружался на дно озера в водолазном колоколе, поднимался с экспедицией на Везувий, участвовал в археологических раскопках, изучал залегание руд, спускаясь в шахты. Почти год он посвятил проблеме безопасности железнодорожного движения, для чего оборудовал вагон-лабораторию всевозможными датчиками, показания которых фиксировались самописцами. Изобрел спидометр. Бэббидж сконструировал поперечно-строгальный и токарно-револьверный станки, предложил новые методы заточки инструмента и литья под давлением…

Но все это за него мог бы сделать кто-нибудь другой. Чего нельзя сказать о произведенной им революции в области вычислительной техники. Тут Бэббидж был воистину велик и уникален.

Отец компьютера

Все началось с разностной машины, которая представляла собой механическое, на зубчатых колесах, устройство, предназначенное для обсчета самых разнообразных математических функций (логарифмических, тригонометрических, навигационных и т.д.) при создания таблиц с дискретным шагом аргумента. Несмотря на то, что машина выполняла четыре арифметических действия, к классу арифмометров отнести ее было нельзя. Потому что разностная машина при этом реализовывала определенный алгоритм, называющийся «методом конечных разностей», который используется при интерполяции функций.

  
Мозг великого Бэббиджа экспонируется в лондонском Музее науки. Фото (Creative Commons license): Karoly Lorentey 

Над разностной машиной Бэббидж работал с 1812 по 1833 год. В 1822 году была изготовлена предварительная модель, вполне работоспособная. Однако она имела недостаточную точность представления результатов. И в 1823 году английское правительство начало финансировать грандиозный проект по созданию вычислительного монстра, который позволял бы табулировать функции с точностью до 20 десятичных знаков. Для этого, по расчетам Бэббиджа, необходимо было разместить в объеме 2,4х2,1х0,9 м 25 000 деталей, преимущественно зубчатых колес. Прошло три года, запланированных на сдачу в эксплуатацию разностной машины, потом еще три… В результате Бэббидж, собрав лишь одну седьмую часть конструкции, разругался и с британским правительством, и с механиком Джозефом Клементом (Joseph Clement), который подковывал гигантскую «блоху». Однако главной причиной прекращения работ, несомненно, стало новое увлечение Бэббиджа, обессмертившее его имя.

Следует заметить, что его проект был все же реализован. В 1991 году разностная машина Бэббиджа была построена двумя инженерами-энтузиастами Р. Криком и Б. Холловеем. Она экспонируется в Лондонском научном музее, состоит из четырех тысяч деталей, имеет размеры 2,1х3,4х0,5 м и весит три тонны. Машина приводится в действие поворотом рукоятки. Следует отметить и то, что Бэббидж не был первым изобретателем разностной машины. Тридцатью годами раньше ее изготовил немецкий военный инженер Иоганн Мюллер (Johann Mueller, 1746-1830). Правда, его модель сильно уступает модели Бэббиджа по точности вычислений.

Ну, а потом Бэббидж занялся, что называется, чистой наукой, более чем на сто лет предвосхитив появление электронных вычислительных машин. Именно он разработал основополагающую структурную схему, по которой до сих пор строятся компьютеры. В 1834 году Бэббидж составил блок-схему цифровой вычислительной машины, которую он назвал аналитической машиной. Она состояла из оперативной памяти на регистрах из зубчатых колес (автор назвал ее «складом»), арифметического устройства, состоящего из сумматора и трех регистров для операндов, («мельница»), устройства управления («управляющий барабан»), и устройства ввода-вывода данных и программы. Затем он начал детально прорабатывать каждое из устройств, доводя блок-схему до уровня эскизных чертежей.

Однако аналитическая машина построена не была, хоть автор и прожил еще 35 лет. Ее созданию препятствовали как объективные причины, так и субъективные. К первым следует отнести несовершенство технологии металлообработки, не позволявшей реализовать столь «прецизионный» проект. Субъективная причина крылась в характере Бэббиджа: он был максималист, пытавшийся побороть объективную реальность. В запоминающее устройство он пытался запихнуть тысячу 50-разрядных регистров (зачем ему понадобилась такая разрядность – уму непостижимо!), то есть 25 килобайт. Такая емкость памяти была в диковинку даже 60-е годы прошлого века.

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

Если Бэббидж разработал компьютерное «железо», то появлению «софта» для него потомки обязаны графине Аде Лавлейс (Ada Lovelace, 1815–1852), дочери лорда Байрона. Это была также чисто теоретическая работа. Лавлейс, случайно попав на «представление» Бэббиджа, стала поклонницей его таланта. А вскоре и сподвижницей. Именно она, чьим именем назван один из современных алгоритмических языков высокого уровня, разработала принципы программирования, актуальные, как и классическая блок-схема ЭВМ, и по сей день.

За железным занавесом

Вполне понятно, что в середине XIX века, когда ни о какой электронике и речи не было, совместный проект Бэббиджа и Лавлейс не мог быть реализован. Казалось бы, с появлением более подходящей, чем прецизионная зубчато-колесная механика, элементной базы потомки осуществят гениальные замыслы Бэббиджа-Лавлейс. Однако немецкий инженер Конрад Цузе (Konrad Zuse, 1910–1995) начал в одиночку создавать в 1936 году программируемую вычислительную машину, не будучи знакомым с трудами английских первопроходцев. Но ее структура на удивление совпала со структурой аналитической машины Бэббиджа.

В 1938 году работа была закончена. Получилась чисто механическая машина, получившая название Z1. Она имела крохотную память на подвижных металлических рейках, запатентованную изобретателем, и «колесный» процессор, позволявший производить четыре арифметических действия и возводить числа в квадрат. Программа (управляющие команды) шаг за шагом вводилась в устройство управления с клавиатуры. Результат индицировался на панели из лампочек от карманного фонаря. Z1 была ненадежна и неудобна в работе. Но это была первая в мире программируемая вычислительная машина. (Правда, с существенным недостатком по сравнению с разработкой Ады Лавлейс — в ней не было команды условного перехода). Цузе, продемонстрировав свое детище специалистам из Исследовательского института аэродинамики (Aerodynamische Versuchsanstalt), убедил их в перспективности избранного им направления, и ему была предложена штатная должность и финансирование разработки последующих моделей.

Через год Цузе «выдал на-гора» Z2. В ней была использована та же самая память. Однако арифметическое устройство было сделано на электромагнитных реле. Цузе также первым в мире применил данную элементную базу, которая как нельзя лучше удовлетворяет требованиям Булевой алгебры, поскольку реле имеет два устойчивых состояния — «единичку» и «нолик». Для ввода программы вместо клавиатуры был применен считыватель со своеобразной перфоленты — в ее качестве применялась засвеченная отперфорированная кинопленка. За счет малой памяти Z2 также, как и Z1, была прелюдией к созданию «взрослой» машины. Однако шла война, и Цузе на год забрали в армию.

Вернувшись в лабораторию, он построил в 1941 году Z3, которая начала применяться для обсчетов конструкции ракет и военных самолетов. Z3 была полностью релейной машиной — 1600 реле ушло на память для хранения 64-х 22-битных слов и 600 – на процессор. Огромная заслуга Цузе заключается в том, что он первым использовал двоичное представление чисел с плавающей запятой.

  
Долгое время человек мог общаться с компьютером только с помощью таких бумажек с дырочками — перфолент. Фото (Creative Commons license): Daniel Sancho aka teclasorg 

Когда настало время приступать к созданию следующей, более совершенной модели, Цузе предложил использовать вместо реле значительно более быстродействующие и надежные вакуумные лампы — триоды. Однако руководство института сочло это пустым прожектерством… и Цузе опять направили на фронт. Через несколько месяцев он все же вернулся в лабораторию и занялся созданием релейной Z4. И она была продемонстрирована коллегам из аэродинамического института в подземном бункере в горах Гарца 28 апреля 1945 года — за 10 дней до капитуляции гитлеровской Германии. После войны компьютер 5 лет работал в Цюрихе, затем его переправили во Францию, где его след был потерян. Все предыдущие машины погибли в Берлине во время бомбардировок. Однако в 70-е годы были воссозданы действующие модели Z1 и Z3, которые сейчас находятся в «Немецком техническом музее» Берлина и «Немецком музее» Мюнхена соответственно.

В послевоенный период Конрад Цузе совершил еще один революционный прорыв. Он первым в мире, в 1946 году, создал алгоритмический язык высокого уровня, получивший название «Планкалкюль». Специалисты, изучавшие его, утверждают, что по гибкости он не уступает Алголу, появившемуся в конце 50-х годов.

Короток релейный век

Сотрудник компании «Белл» Джордж Штибитц (George Stibitz, 1904–1995), создавший семейство вычислителей Model I — Model V, в процессе разработки познакомился с наследием Бэббиджа, в связи с чем его третья и последующие модели приобрели каноническую структуру. Однако о деятельности Цузе в отгороженной от всего мира железным занавесом Германии знать он никак не мог. Поэтому он изобрел чрезвычайно изощренное и весьма неоптимальное двоично-пятиричное кодирование чисел (для хранения в памяти одной десятичной цифры требовалось 7 триггеров). Обрабатывавшая комплексные числа релейная машина Model I, появившаяся в 1939 году, не имела программного управления, в связи с чем ее следует отнести к классу калькуляторов.

Вторая модель (1943) уже управлялась вводимой при помощи перфоленты программой. А появившаяся в 1946 году Model V была уже вполне серьезной и универсальной вычислительной машиной Она содержала 9000 реле, занимала площадь 90 кв.м. и весила 10 тонн. Объем запоминающего устройства был равен 44 8-разрядных регистрам. Числа с плавающей запятой она складывала за 0,3 с, а перемножала за 1 с (соотношение прекрасное, не зря Штибитц был не инженером, а математиком). Model V имела блок, позволявший эффективно вычислять тригонометрические и логарифмические функции. Для ввода использовалась перфолента, для вывода — перфоратор и телетайп.

Следует отметить, что машина Конрада Цузе была эффективнее пятой модели Штибитца. Обладая примерно тем же быстродействием, она весила в 10 раз меньше. Не сумел «победить» Цузе и другой американец — профессор математики Гарвардского университета Говард Эйкен (Howard H. Aiken, 1900–1973), который был главным конструктором семейства компьютеров Mark. Первую модель он разрабатывал с группой из четырех инженеров с 1939 по 1944 год, используя опыт Бэббиджа. «Живи Бэббидж на 75 лет позже, я бы остался безработным», — признался он в одном из интервью). В результате получился гибрид, состоявший из механической, «колесной», памяти и релейного процессора. Машина, имевшая высоту 2,5 м и ширину 17 м, была передана в штаб ВМФ США для произведения сложных баллистических расчетов. Память машины имела 80 регистров по 24 десятичных разрядов каждый и 60 тумблерных регистров, в которые вручную вводились константы.

  
Для первых электронных счетнах машин приходилось строить отдельные здания. Американская ENIAC (Electronic Numerical Integrator and Calculator) повезло: она не только первой «научилась» считать, но и первой получила настоящий «софт», разработанный математиком Джоном фон Нейманом. Фото: US Army из архива US Information Agency

В 1947 году появился Mark II, в котором было 13 тыс. реле. Эта машина имела большое по тем временам быстродействие, операция сложения двух чисел выполнялась за 0,12 сек.

В заключение необходимо упомянуть Англию — родину великого Бэббиджа, и СССР — родину тех из нас, кто появился на свет до 1991 года. Во всем же остальном свете в рассматриваемый нами период истории никаких компьютерных разработок не существовало.

На британских островах в 1943 году наследники Бэббиджа сотворили чудо, о котором миру стало известно лишь в 1975 году, когда была рассекречена машина Colossus. Это был не релейный компьютер, а ламповый! В его создании принимали участие Алан Тьюринг (Alan Turing, 1912–1954), Макс Ньюмен (Max Newman, 1987–1984) и Томми Флауэрс (Tommy Flowers, 1905–1998). Эта специализированная машина, предназначенная для дешифровки перехваченных германских шифровок, имела фантастическое по тем временам быстродействие. Специфические задачи, на которые был сориентирован Colossus, «Пентиум» образца десятилетней давности решал вдвое медленнее. И это при том, что начинка компьютера состояла из 1500 ламп, а весил он всего лишь тонну. После войны все шесть изготовленных суперсекретных «Колоссов» были уничтожены. И лишь в 1996 году, когда срок секретности истек, одна машина была воссоздана и помещена в музее британского разведывательного центра Bletchley Park.

В СССР академик Сергей Алексеевич Лебедев (1902–1974) в 1951 году запустил в серию электронную МЭСМ (Малая счетная машина). В 1955 году им же была успешно сдана приемочной комиссии БЭСМ (Большая ЭСМ). И лишь в 1957 году появляется релейная машина РВМ-1 (главный конструктор Н.И.Бессонов, 1906–1963). Впрочем, машина получилась удачной. РВМ-1 была построена на 5500 реле. И при этом работала с 36-битными операндами. И быстродействие в сравнении с американскими аналогичными разработками было отменным — операция умножения занимала 0,05 сек. Машина эксплуатировалась до 1965 года. При этом на ней обрабатывались громадные объемы информации. Так, например, на РВМ-1 была обсчитана денежная реформа 1961 года, когда номинал рубля уменьшили в десять раз. При этом были пересчитаны цены на десятки, если ни сотни, миллионов всевозможных товаров, расценок, тарифов, нормативов. Так что в СССР компьютеры были!

Читайте также в журнале «Вокруг Света»:

 

Владимир Тучков, 27.03.2007

 

Новости партнёров