Чарльз Бэббидж, проектируя аналитическую машину в 40-х годах 19 века (1840-ые), разработал основные идеи по созданию машины, которая могла бы работать по заранее заданной программе, без вмешательства человека.
Прошло 100 лет. Появились первые ЭВМ (электронно-вычислительные машины).
3.
4.
5.
Марк-1 на электромеханических реле
В 1943 г. американец Говард Эйкен с помощью на основе техники 20 века – электромеханических реле – на одном из предприятий фирмы IBM смог построить такую машину под названием «Марк-1».
«Если бы Бэббидж жил на 75 лет позже, – заявил впоследствии Эйкен, – я бы остался без работы».
Еще раньше идеи Бэббиджа были переоткрыты немецким инженером Конрадом Цузе, который в 1941 г. построил аналогичную машину. Но это никак не связано с известнейшей американской , поэтому является не столь распространенным фактом.
Эниак на электронных лампах
В первой половине 20 века бурно развивалась радиотехника. Основным элементом радиоприемников и радиопередатчиков в то время были электронно-вакуумные лампы.
Начиная с 1943 г. группа специалистов под руководством Джона Мочли и Преспера Экерта в США начали конструировать машину, подобную «Марк-1», уже на основе электронных ламп, а не реле.
Их машина называлась ENIAC (сокр. от Electronical Numerical Integrator and Calculator - Электронный числовой интегратор и вычислитель).
Скорость счета этой машины превосходила скорость «Марк-1» в тысячу раз. Когда ENIAC (произносится как ЭНИАК) продемонстрировали в 1946 году, американская пресса немедленно окрестила его “Гигантский мозг” (“Giant Brain”).
Масса системы составляла 27 тонн. ENIAC использовали, в частности, для вычислений, связанных с созданием водородной бомбы.
Однако для ввода программы, согласно которой ENIAC должен был производить вычисления, приходилось в течение нескольких часов или даже нескольких дней подсоединять нужным образом . Клавиатуры еще не было, монитора тоже не было.
Архитектура фон Неймана
Чтобы упростить процесс задания программ, Мочли и Экерт стали конструировать новую машину, которая могла бы хранить программу в своей памяти .
В 1945 г. к работе был привлечен знаменитый математик Джон фон Нейман совместно с другими учеными.
Журнал «Nature» в 1946 г. опубликовал статью Джона фон Неймана в соавторстве с другими менее известными учеными «Предварительное рассмотрение логической конструкции электронного вычислительного устройства». В этой статье ясно и просто были изложены общие принципы устройства и работы ЭВМ. Главный из них – принцип хранения в памяти программы, согласно которому данные и программа помещается в общую .
Принципиальное описание устройства и работы компьютера принято называть архитектурой ЭВМ. Идеи, изложенные в упомянутой выше статьи, получили название «принципы Джона фон Неймана » или «архитектура фон Неймана ».
Машина Эдвак
Совместной разработкой Мочли, Экерта и фон Неймана можно считать следующую модель после ENIAC – это машина Эдвак (EDVAC, сокр. от Electronic Discrete Automatic Variable Computer – электронный дискретный переменный компьютер). Ее более вместительная внутренняя память содержала не только данные, но и программу. В отличие от ENIAC это компьютер на , а не десятичной основе.
Как и ENIAC, EDVAC был разработан в Лаборатории баллистических исследований Армии США и является первым компьютером, построенным на основе принципов Джона фон Неймана.
Названные машины существовали в единственных экземплярах. А заводское, серийное производство ЭВМ началось в развитых странах мира в 50-х годах 20 века.
МЭСМ в СССР
В нашей стране (СССР) первая ЭВМ была создана в 1951 году. Называлась она МЭСМ – малая электронная счетная машина. Конструктором МЭСМ был Сергей Алексеевич Лебедев. Под его руководством в 50-х годах были построены серийные ламповые ЭВМ БЭСМ-2, М-20.
Ряд последующих машин и разработок С.А.Лебедева способствовали созданию более совершенных машин .
Когда компьютеры были большими
Жесткий диск (целая тумба), на который в начале 1960-ых годов мог поместиться всего один снимок, сделанный современным цифровым аппаратом
В заключение хочу предложить Вашему вниманию небольшой видеорепортаж из Музея информатики в Париже. Вы увидите своими глазами
- электровакуумную лампу,
- перфокарты,
- процессор,
- микропроцессор,
- модем,
- узнаете о двоичной системе счисления, принципах первого Интернета:
ENIAC состояла из 42 блоков размером примерно 2,75ґ0,7ґ0,3 м, в которых было расположены 30 отдельных устройств (units): система питания; устройство пуска и останова машины; тактовый генератор (cycling unit); центральное программирующее устройство - коммутационная доска (наборное поле), отдельные гнезда которой соединялись штекерами; 20 регистров-аккумуляторов, игравших роль оперативной памяти и суммирующего (вычитающего) устройства; умножитель; устройство деления/извлечения квадратного корня; три сменные функциональные таблицы; релейное буферное устройство, осуществлявшее связь между машиной и устройством считывания перфокарт; так называемый master programmer (“управляющий программатор”) и некоторые другие.
Устройства соединялись между собой двумя группами 11-проводных коаксиальных кабелей. Одна группа кабелей образовывала цифровую магистраль, по которой передавались последовательности импульсов, представляющих числовые данные. Отдельный проводник (жила) в кабеле соответствовал одному десятичному разряду (плюс жила знака числа), а значение передаваемой цифры равнялось числу импульсов, прошедших по данному проводнику. Вторая группа кабелей была программной магистралью и передавала импульсы, управляющие последовательностью операций в различных устройствах в зависимости от установок штекеров на коммутационной доске. Каждый проводник в кабеле представлял собой независимую программную линию (программный канал) и нес определенный управляющий сигнал от тактового генератора (ТГ).
ЭВМ ENIAC-2
ENIAC была синхронной машиной: ТГ, импульсы которого непрерывно и одновременно передавались во все устройства машины, координировал ее действия. Генератор работал на частоте 100 кГц и каждые 200 мкс выдавал набор импульсов, длительность которых равнялась примерно 2 мкс, а временной интервал между ними - 10 мкс. Первый из этих импульсов именовался центральным программным импульсом (central programming pulse, СРР) и задавал начало и окончание машинных операций (отдельное устройство, выполнив свойственную ему операцию, передавало СРР как свой выходной программный импульс другому устройству, инициируя его работу). Основной машинный цикл равнялся времени одного сложения, которое занимало 200 мкс (т. е. выполнялось 5000 сложений в секунду). Время выполнения остальных арифметических операций составляло целое число цикла сложения.
Посылаемые одновременно программные импульсы, каждый из которых имел свое назначение, позволяли до некоторой степени распараллелить выполнение операций: например, один аккумулятор выполнял сложение, другой - получал данные из функциональной таблицы, третий - передавал данные на перфорацию и т. д. (конечно, при условии, что результат вычислений, хранящийся в аккумуляторе, не требовался для следующей арифметической операции) .
Основными электронными схемами машины были триггеры, ячейки “и”, действовавшие как переключатели, и ячейки “или”, предназначенные для объединения на одном выходе импульсов, идущих от разных источников. Десять триггеров соединялись в кольцо, образуя десятичный (декадный) счетчик, который выполнял ту же роль, что и счетное колесо в механических счетных машинах (таким образом, для представления одной десятичной цифры требовалось 20 триодов). Десять таких колец плюс триггер для представления знака числа составляли запоминающий регистр (всего в ENIACе их было 20). Каждый из регистров был снабжен схемой передачи десятков и являлся аккумулятором, т. е. использовался не только как память, но и как сумматор-вычитатель . Эти операции выполнялись путем подсчета импульсов, поступающих на вход счетчиков.
Операция умножения выполнялась в быстродействующем множительном устройстве (умножителе). Он задействовал четыре аккумулятора и встроенную таблицу умножения 9ґ9, выполненную на резистивной матрице (в тех случаях, когда было необходимо получить 20-разрядное произведение, использовалось шесть аккумуляторов). Два аккумулятора служили для запоминания операндов, два - для хранения частных произведений. Когда на входах матрицы появлялись импульсы, соответствующие одному разряду множимого и одному разряду множителя, она вырабатывала импульсы, представлявшие их частное произведение. Цифры единиц этого произведения направлялись в один аккумулятор, цифры десятков - в другой. После окончания умножения на очередную цифру множителя, он сдвигался на разряд влево и вновь выполнялось умножение. Когда все цифры двух 10-разрядных чисел были перемножены, в одном из аккумуляторов осуществлялось суммирование накопленных частных произведений (метод разделения этих произведений на “единичную” и “десятичную” части был, следовательно, такой же, как в Harvard Mark I, - см. "Электромеханический колосс" ). Весь процесс перемножения двух 10-разрядных чисел занимал в ENIAC"е 2,8 мс (или 357 умножений в секунду).
Устройство деления и извлечения квадратного корня также состояло из четырех аккумуляторов: в первом помещалось делимое (или подкоренное выражение), во втором - делитель (или удвоенный квадратный корень), в третьем - частное, четвертый аккумулятор использовался для выполнения операции сдвига. В процессе деления делитель вычитался из делимого до тех пор, пока разность не становилась отрицательной. После этого процесс прерывался, остаток делимого отсылался в четвертый аккумулятор для сдвига на одну позицию влево и затем возвращался в первый аккумулятор и суммировался с делителем до тех пор, пока сумма не становилась положительной. При этом в соответствующий разряд аккумулятора частного посылалась либо +1, либо -1 (в зависимости от того, складывался или вычитался делитель). Процесс извлечения корня производился аналогичным образом. Оперируя с 10-разрядными числами, ЭНИАК выполняла в секунду 40 операций делений и 3 операции извлечения корня.
В функциональных таблицах также использовались резистивные матрицы и наборы переключателей, с помощью которых можно было установить 12 цифр и 2 знака для каждого из 104 независимых аргументов. Первоначально функциональные таблицы задумывались для хранения значений функций, но затем стали применяться для хранения констант, необходимых при вычислениях. При решении любой задачи к ENIAC"у была подсоединена лишь одна таблица, а две другие в это время подготавливались операторами для решения следующих задач (идея, заимствованная из конструкции табуляторов IBM).
Исходные данные вводились в машину с перфокарт. Для этого служило стандартное IBM"овское считывающее устройство. Поскольку скорость считывания (примерно 2 числа в секунду) во много раз уступала быстродействию арифметических операций, то, чтобы исключить простаивание аккумуляторов во время ввода данных, разработчики дополнили машину буфером, состоявшим из 1500 телефонных реле (его разработал Сэмюэл Уильямс, один из конструкторов машин Bell Labs). Буфер, или, как его называли, “передатчик констант” (constant transmitter), преобразовывал считанное число в последовательность импульсов, эквивалентную этому числу, и после получения СРР от ENIAC"а направлял данные в аккумуляторы. Буфер также принимал результаты вычислений от аккумуляторов, освобождая последние для выполнения свойственных им операций, и направлял полученные данные на итоговый перфоратор или (для печати) на табулятор. Кроме того, передатчик констант преобразовывал отрицательные числа, представленные десятичным дополнением, в обычную форму и имел на передней панели набор переключателей, с помощью которого в машину можно было ввести ряд констант.
Разумеется, создатели ENIAC"а предусмотрели комплекс мер для диагностики отдельных устройств машины. Один из них заключался в подаче на аккумуляторы одиночных импульсов от тактового генератора, что позволяло определить вышедший из строя триггер (по характерному свечению подключенных к аккумуляторам неоновых лампочек). Еще одним видом диагностики была пошаговая прогонка тестовой программы.
Программированием машины - разработчики называли этот процесс “установкой” (setting up) - занималась группа из семи молодых женщин-математиков (среди них были жены Моучли, Бёркса и Голдстайна). Выполнялось оно следующим образом. Во-первых, с помощью коммутационной доски и штекеров соединялись между собой устройства, которые должны были участвовать в решении конкретной задачи. Во-вторых, так называемые приемно-передающие переключатели (transceiver switches), расположенные на передней панели каждого из этих устройств, устанавливались в положение “включено” и образовывали местные программно-управляющие цепи (local program-control circuits). Включенное положение переключателей разрешало устройству выполнять его действия после прихода программного импульса от ТГ. Кроме того, на панели устройств был установлен многополюсный шаговый распределитель (stepper switches), который позволял осуществлять многократное (до девяти раз подряд) повторение одних и тех же операций.
Для организации заданного числа итерационных циклов, соединения отдельных последовательностей вычислений в единую цепь, изменения очередности выполнения этих последовательностей с помощью команды условного перехода в машину было введено устройство, названное авторами master programmer и содержавшее десять 6-разрядных счетчиков шагов (stepper counter), соединенных с несколькими декадными счетчиками.
Описанным выше действием предшествовала длительная бумажная работа. С помощью установочной таблицы (setup table) детально описывалась последовательность операций, необходимых для решения конкретной задачи. Таблица имела 27 колонок (по одной для каждого аккумулятора и функциональных таблиц, для управляющего программатора, передатчика констант и т. д.) и содержала временную последовательность программных установок, входных и выходных импульсов для каждой операции. Программирование машины являлось таким образом трудоемким и длительным процессом (он занимал порой дни и даже недели). Любая “установка” машины изменяла ее конфигурацию и превращала ее в специализированное устройство для решения конкретной задачи, а “программа” становилась внутренней, неотъемлемой частью ENIAC"а. Это было, конечно, недостатком по сравнению с электромеханическими машинами, управляемыми с помощью перфорированных лент.
Получили ли военные то, что хотели? Думается, да. На настольной счетной машине вычисления 60-секундной траектории полета снаряда занимали 20 ч, дифференциальный анализатор позволял получить тот же результат (приближенный) за 15 мин, ENIAC"у же требовалось всего 30 с - половина времени полета.
В течение всего 1946 г. машина оставалась в Муровской школе. Хотя война окончилась, ENIAC продолжали использовать в военных целях - при расчете таблиц стрельб и вычислениях, которые должны были подтвердить возможность создания водородной бомбы (машина успешно справилась с этой задачей, потребовавшей обработки около миллиона перфокарт). Впрочем, и мирными задачами она не пренебрегала. В начале 1947 г. ENIAC была передана в Эбердин и в августе вновь введена в действие. В ее дальнейшем активе были решения задач для метеорологов и физиков, изучавших космические лучи и исследовавших распространение ударных волн, и т. д.
Главная инженерная проблема, с которой столкнулись создатели и пользователи ENIAC"а, была проблема частых выходов из строя электронных ламп. Позднее историки подсчитали, что при наличии почти 17,5 тыс. ламп, не отличавшихся в то время высокой надежностью и работавших одновременно с частотой 100 кГц, каждую секунду возникало 1,7 млрд. ситуаций, при которых хотя бы одна из них “летела”, что приводило к сбою в работе всего колосса. Напомним, что тогда ни в радиотехнике, ни в радарах и дешифровальных устройствах6 такого “лампового изобилия” и близко не было, и многие оппоненты Моучли - Эккерта сомневались, что ENIAC сможет продержаться без сбоя хотя бы несколько часов (несмотря на то что электронные компоненты, предназначавшиеся для машины, тщательно тестировались, а качеству пайки уделялось особое внимание).
Первые годы эксплуатации машины почти подтвердили сомнения скептиков (в 1946 г. среднее время наработки ENIACа на отказ составляло 5,6 ч) . Позднее ситуация несколько выправилась, прежде всего благодаря тому, что по совету инженеров корпорации RCA напряжение питания ламп было сделано меньше стандартного, рекомендованного справочниками, а лампы длительное время “тренировали” перед тем, как установить в машину. Кроме того, инженеры-эксплуатационники установили, что наиболее массовые отказы ламп происходят при включении и выключении ENIAC"а (что вполне объяснимо физическими процессами, происходящими в них в переходном режиме). Отсюда - радикальный, хотя и недешевый способ повышения надежности машины: никогда не выключать ее! Следуя ему, удалось добиться, что ENIAC работала без сбоя несколько лет (рекордное время - 116 ч подряд машина проработала в 1954 г.).
Еще один источник головной боли эксплуатационников, состоявший во влиянии нестабильности промышленного сетевого напряжения на работу электронных блоков, был устранен в 1950 г., когда питание машины начали осуществлять от автономной системы мотор-генератор (так же запитывалась созданная много позже советская машина М-20, на которой работал автор).
Инженеры и программисты Эбердинской лаборатории внесли и другие полезные изменения в ENIAC. Например, в 1951 г. было разработано электронное устройство выборки информации из функциональных таблиц; в следующем году в состав машины было введено быстродействующее устройство сдвига, что существенно уменьшило время выполнения операций деления и извлечения квадратного корня; наконец, в июле 1953 г. в машину встроили память на ферритовых сердечниках емкостью в 100 слов, разработанную Burroughs Corp.
Но, пожалуй, самым важным нововведением, явилась модификация процесса программирования, предложенная в 1947 г. Джоном фон Нейманом и реализованная в следующем году сотрудником BRL д-ром Ричардом Г. Клиппингером (Richard. H. Clippinger, 1914-2003). Был изготовлен электронный блок, преобразовывавший в течение цикла сложения одно из шести десятков двухразрядных чисел, установленных на функциональной таблице, в соответствующее число импульсов СРР, которые посылались по программной магистрали и инициировали выполнение одной из 60 команд. Благодаря этому нововведению отпадала необходимость в штекерных наборах на коммутационной доске, что значительно (до нескольких часов) уменьшало время программирования и, кроме того, упрощало тестирование любого устройства машины. Таким образом, каждая функциональная таблица превращалась в постоянное запоминающее устройство небольшой емкости, а ENIAC становилась машиной последовательного действия с внутренне хранимой программой. При этом, однако, она лишалась возможности параллельного выполнения несколько программных шагов, а ее быстродействие снижалось примерно в шесть раз. Впоследствии Эккерт писал, что они с Моучли предполагали возможность такой модификации уже на начальной стадии конструирования машины (что подтверждается одним и тем же числом жил “цифровых” и “программных” кабелей).
Первая универсальная ЭВМ проработала в общей сложности 80 223 ч и закончила свой жизненный путь 2 октября 1955 г. в 23 ч 15 мин. Судьба же ее главных “строителей” сложилась непросто.
Моучли и Эккерт считали, что авторские права на машину принадлежат им, так как никто из руководителей MSEE не принимал участия в реализации “Проекта РХ”. Поэтому они обратились к президенту университета за разрешением подать заявку на патент от своего имени. Президент согласился, но при условии, что в тексте заявки будет сказано: “Авторы передадут правительству США и университету свободную от авторских отчислений лицензию на производство таких машин для некоммерческих целей”. Моучли и Эккерт отказались вносить какие-либо изменения в уже подготовленный текст и 31 марта 1946 г. ушли из университета, чтобы организовать собственную компанию (о ней будет сказано в одной из следующих статей).
Патент на ENIAC (№ 3120606 от 26 июня 1947 г.) они получили вместе с несколькими членами своей команды, но на том их злоключения не закончились.
Через 30 лет после начала работы над машиной, 19 октября 1973 г., федеральный судья Эрл Ричард Ларсен в окружном суде Миннеаполиса после 135-дневных заседаний постановил: “Эккерт и Моучли не изобрели первыми автоматическую электронную цифровую вычислительную машину, а извлекли сущность концепции из изобретения д-ра Джона Винсента Атанасофф”.
Были ли у Ларсена основания для принятия столь неожиданного для компьютерного мира решения? Об этом - в следующей статье.
Примечания
Основана в 1923 г. и названа в честь производителя кабелей Альфреда Фитлера Мура (Alfred Fitler Moorе), пожертвовавшего факультету электротехники отдельное здание.
В 2004 г. чип размером 0,5 кв. мм обеспечивал ту же производительность, что и ENIAC.
В полной мере задача распараллеливания программ была решена через много лет.
Вычитание выполнялось как сложение с десятичным добавлением.
В конце 1943 г. в Британии была введена в действие вычислительно-логическая машина “Колосс” (Colossus), предназначавшаяся для дешифровки радиоперехватов сообщений фашистских вооруженных сил. Машина содержала 1500 электронных ламп, однако сведения о ней были рассекречены только в 1970-е гг.
При этом нельзя не отметить, что благодаря своему быстродействию ЭНИАК могла за один час выполнить объем вычислений, с которым такая релейная машина, как белловская Model V, справилась бы за 15 дней непрерывной работы.
Из Цикла статей Ю. Полунова "Исторические машины" .
Статья опубликована в PCWeek/RE № 13 от 19.04.2006 г.
Машина Эниак (ENIAC, аббревиатура от Electronic Numerical Integrator and Computer - электронный цифровой интегратор и вычислитель), подобно Марк-1 Говарда Эйкена, также предназначалась для решения задач баллистики. Но в итоге она оказалась способной решать задачи из самых различных областей.
С самого начала войны сотрудники Лаборатории баллистических исследований министерства обороны США, расположенной в районе Абердинского полигона, шт. Мэриленд, трудились над созданием баллистических таблиц, столь необходимых артиллеристам на полях сражений. Значение этих таблиц трудно переоценить. С их помощью артиллеристы могли делать поправки при наводке орудия с учетом расстояния до цели, ее высоты над уровнем моря, а также метеорологических условий - ветра и температуры воздуха. Однако для построения таблиц требовались очень длинные и утомительные вычисления - для расчета лишь одной траектории приходилось выполнять минимум 750 операций умножения, а каждая таблица включала не менее 2000 траекторий. Правда, дифференциальный анализатор позволил несколько ускорить расчеты, но это устройство давало лишь приближенные результаты, для уточнения которых привлекались затем десятки людей, работавших с обычными настольными калькуляторами.
Война разрасталась, военные разработки требовали ускорения, лаборатория не справлялась с работой и в конце концов вынуждена была обратиться за помощью. В расположенном неподалеку Высшем техническом училище Пенсильванского университета был создан вспомогательный вычислительный центр. Училище располагало дифференциальным анализатором, однако двое сотрудников вычислительного центра, Джон У. Мочли и Дж. Преспер Экерт, вознамерились придумать кое-что получше.
Мочли, физик, увлекавшийся метеорологией, давно мечтал о создании устройства, которое позволило бы применить статистические методы для прогнозирования погоды. Перед войной он смастерил несколько простых цифровых счетных устройств на электронных лампах. Возможно, интерес к электронным вычислительным машинам возник у него под влиянием идей Джона Атанасоффа, работавшего в шт. Айова. В июне 1941 г. Мочли в течение пяти дней гостил у Атанасоффа, наблюдая, как тот вместе со своим помощником Клиффордом Берри трудился над прототипом компьютера, содержащим около З00 электронных ламп.
Существенным или нет оказалось влияние Атанасоффа - позже этот вопрос стал предметом судебной тяжбы, - но вдохновил Мочли на эту работу Прес Экерт. Моложе Мочли на 12 лет Экерт был поистине виртуозом в технике. В возрасте восьми лет он построил миниатюрный приемник. Как вспоминал позднее Мочли, Экерт убедил его, что «мечты О компьютере можно осуществить на практике».
В августе 1942 г. Мочли написал нечто вроде заявки на пяти страничках, где вкратце изложил их совместное с Экертом предложение о создании быстродействующего компьютера на электронных лампах. Заявка затерялась в инстанциях. Однако через несколько месяцев лейтенант Герман Голдстейн, прикомандированный к училищу военный представитель, случайно услышал об этой идее. В то время армия крайне нуждалась в новых баллистических таблицах. Артиллеристы сообщали из Северной Африки, что из-за очень мягкого грунта орудия далеко откатываются при отдаче и снаряды не достигают цели.
Голдстейн, до войны преподававший математику в Мичиганском университете, сразу же оценил значение предлагаемого проекта компьютера и начал хлопотать от имени военного командования, чтобы проект приняли к разработке. Наконец, 9 апреля 1943 г. - в день, когда Экерту исполнилось 24 года, - армия заключила с училищем контракт на 400 тыс. долл., предусматривающий создание компьютера Эниак.
Группа специалистов, работавшая над этим проектом, в конечном счете выросла до 50 человек. Мочли был главным консультантом проекта, Экерт - главным конструктором. Разные по своему характеру и привычкам эти два человека прекрасно дополняли друг друга. Быстрый и общительный Мочли генерировал идеи, а сдержанный, хладнокровный и осторожный Экерт подвергал эти идеи строгому анализу, желая убедиться, что они действенны. «Он обладал потрясающей способностью переводить все на практический уровень, пользуясь простыми техническими средствами, - так охарактеризовал Экерта один из членов группы. - Прес был не тем человеком, который мог бы потеряться в тысяче уравнений».
Конструкция машины выглядела фантастически сложной - предполагалось, что она будет содержать 17468 ламп. Такое обилие ламп отчасти объяснялось тем, что Эниак должен был работать с десятичными числами. Мочли предпочитал десятичную систему счисления, ибо хотел, чтобы «машина была понятна человеку». Однако столь большое количество ламп, которые, перегреваясь, выходили из строя, приводили к частым поломкам. При 17 тыс. ламп, одновременно работающих с частотой 100 тыс. импульсов в секунду, ежесекундно возникало 1,7 млрд. ситуаций, в которых хотя бы одна из ламп могла не сработать. Экерт разрешил эту проблему, позаимствовав прием, который широко использовался при эксплуатации больших электроорганов в концертных залах: на лампы стали подавать несколько меньшее напряжение, и количество аварий снизилось до одной-двух в неделю.
Экерт разработал также программу строгого контроля исправности аппаратуры. Каждый из более чем 100 тыс. электронных компонентов 30-тонной машины подвергался тщательной проверке, затем все они аккуратно расставлялись по местам и запаивались, а иногда и перепаивались не раз. Эта работа потребовала большого напряжения сил всех членов группы, включая Мочли, ее «мозговой центр».
В конце 1945 г., когда Эниак ENIAC был наконец собран и готов к проведению первого официального испытания, война, нуждам которой он был призван служить, окончилась. Однако сама задача, выбранная для проверки машины, - расчеты, которые должны были ответить на вопрос о принципиальной возможности создания водородной бомбы, - указывала на то, что роль компьютера в послевоенные годы и годы «холодной войны» не снижалась, а скорее возрастала.
Эниак успешно выдержал испытания, обработав около миллиона перфокарт фирмы IBM. Спустя два месяца машину продемонстрировали представителям прессы. По своим размерам (около 6 м в высоту и 26 м в длину) этот компьютер более чем вдвое превосходил Марк-1 Говарда Эйкена. Однако двойное увеличение в размерах сопровождалось тысячекратным увеличением в быстродействии. По словам одного восхищенного репортера, Эниак работал «быстрее мысли».
Не успел Эниак вступить в эксплуатацию, как Мочли и Экерт уже работали по заказу военных над новым компьютером. Главным недостатком компьютера Эниак были трудности, возникавшие при изменении вводимых в него инструкций, т. е. программы. Объема внутренней памяти машины едва хватало для хранения числовых данных, используемых в расчетах. Это означало, что программы приходилось буквально «впаивать» в сложные электронные схемы машины. Если требовалось перейти от вычислений баллистических таблиц к расчету параметров аэродинамической трубы, то приходилось бегать по комнате, подсоединяя и отсоединяя сотни контактов, как на ручном телефонном коммутаторе. В зависимости от сложности программы такая работа занимала от нескольких часов до двух дней. Это было достаточно веским аргументом, чтобы отказаться от попыток использовать Эниак в качестве универсального компьютера.
Следующая модель - машина Эдвак (EDVAC, от Electronic Discrete Automatic Variable Computer - электронный дискретный переменный компьютер) - была уже более гибкой. Ее более вместительная внутренняя память содержала не только данные, но и про грамму. Инструкции теперь не «впаивались» в схемы аппаратуры, а записывались электронным способом в специальных устройствах, о которых Экерт узнал, работая над созданием радара: это - заполненные ртутью трубки, называемые линиями задержки. Кристаллы, помещенные в трубку, генерировали импульсы, которые, распространяясь по трубке, сохраняли информацию, как ущелье «хранит» эхо. Существенно и то, что Эдвак кодировал данные уже не в десятичной системе, а в двоичной, что позволило значительно сократить количество электронных ламп.
В конце 1944 г., когда Мочли и Экерт трудились над машиной Эдвак, способной хранить про граммы в памяти, на помощь им был направлен консультант. Джону фон Нейману, который в 41 год уже обрел известность как блестящий математик, суждено было оказать огромное влияние на развитие вычислительной техники в послевоенные годы.
Джон Преспер Эккерт – один из «родителей» ENIAC
К моменту начала работы над первым полностью электронным компьютером, пригодным к практическому использованию, Джону Пресперу Эккерту было всего 24 года. К слову, на проекте он был в числе ведущих инженеров и одним из немногих, кто работал над ENIAC на полную ставку. Эккерт рассказывал, что всего над ENIAC трудились около 50 человек, из них инженеров и представителей технических направлений было 12. Джон Уильям Мокли, ещё один знаменитый «со-основатель» ENIAC, совмещал эту работу с другими проектами.Мы привыкли думать, что в 24 года большинство молодых людей только заканчивает учебу в университете, и уж никак не получает ведущую роль в важном и срочном проекте, который курирует военное ведомство. Сам Эккерт говорил, что, несмотря на довольно небольшой возраст, он был хорошо подготовлен к этой работе:
Эккерт говорил, что своеобразной «школой», которая помогла ему начать работу над компьютером, стало его увлечение электротехникой. Эккерт родился в Филадельфии, в дни его молодости называвшейся «Долиной электронных ламп» (Vacuum Tube Valley): именно там поначалу изготавливалась основная масса радиоприемников и телевизоров, производимых в США. Неудивительно, что ещё подростком Эккерт работал над проектом простенького телевизора в лаборатории Фарнсуорта (он присоединился к Филадельфийскому Клубу Инженеров), а, став немного старше, занимался проблемами радаров.
Первую собственную разработку Эккерт запатентовал в возрасте 21 года и впоследствии (как до, так и после ENIAC) работал над десятками изобретений. Однако, несмотря на все это, он не считает, что без него создание компьютера было бы невозможно:
Каждый изобретатель делает свою работу на основании результатов деятельности других учёных. И если бы не я построил ENIAC, это бы сделал кто-то другой. Всё, что делает изобретатель – ускоряет процесс.
Мифы и реальность
Разумеется, на заре пятидесятых никто и помыслить не мог, что современные компьютеры будут умещаться буквально на ладони. Эккерт вспоминает: Джон Мокли полагал, что всему миру потребуется не более шести компьютеров. Это неудивительно – в рабочем состоянии ENIAC занимал площадь порядка 1800 квадратных футов [ок. 167 кв.м.] и весил 27 тонн.В ENIAC было чуть менее 18 000 электронных ламп. По воспоминаниям Эккерта, в распоряжении проекта были все лампы, которые могли предоставить им поставщики. Разработчики использовали 10 типов ламп, «хотя [технически] хватило бы и четырёх типов» – просто их общего количества было недостаточно.
Сделано это было в надежде таким образом снизить вероятность поломки. Теоретически у ENIAC было огромное количество точек отказа (1,8 миллиарда вариантов отказа в секунду), из-за чего многим идея практического использования компьютера казалась невероятной. Тем не менее, ломался ENIAC не так уж часто – всего один раз в 20 часов.
Из-за того, что машина использовала просто огромное количество ламп (и была беспрецедентным изобретением по тем временам), вокруг ENIAC постоянно ходили разнообразные мифы и слухи. Например, популярностью пользуется история о том, что работающий ENIAC вырубал свет во всей Филадельфии – Эккерт в интервью её опроверг. Говорят еще, что кто-то должен был бегать у машины с коробкой ламп и заменять по одной лампе каждые несколько минут. Это ещё один миф.
Многие попросту не верили в возможности полностью электронного компьютера – отсюда и миф о том, что он мог выполнять только примитивные арифметические действия. Однако этого было бы явно недостаточно для того, чтобы радикально ускорить составление таблиц стрельбы – на самом деле ENIAC мог решать дифференциальные уравнения второго порядка. Точно такой же выдумкой является и преувеличенно почтительное отношение к компьютеру – Эккерт в своём интервью категорически отрицает якобы «факт» того, что военные отдавали машине честь.
По мнению Джона Эккерта, роль Джона фон Неймана в разработке ENIAC тоже сильно преувеличена. Тем не менее, забавные случаи в истории ENIAC все-таки происходили. Например, чистой правдой Эккерт называет «мышиный тест»:
Мы знали, что мыши будут грызть изоляционный слой проводов, поэтому взяли все образцы проводов, которые могли найти, и положили их в клетку с мышами, чтобы посмотреть, какую изоляцию они не станут есть. Мы использовали только те провода, которые прошли «мышиный тест».
Что было после
ENIAC стал родоначальником целого направления в ИТ. По отношению к сегодняшним компьютерам он занимает примерно такое же место, как лампочка Эдисона – к современным лампам.Несмотря на свою значимость для военных задач начала Холодной войны и для развития всей отрасли информационных технологий, ENIAC после окончания его работы (компьютер бы выключен 2 октября 1955 года) ждала незавидная судьба. Компьютер, представляющий историческую ценность, фактически сгнил на военных складах.
40 панелей компьютера, весом почти 390 килограмм каждая, после его торжественной остановки разделили. Часть панелей оказалась в руках университетов: одна была пожертвована Университету Мичигана, ещё пару приобрёл Смитсоновский Институт. Однако остальные панели просто отправили на склады – система записей на некоторых из них велась недостаточно тщательно, шли годы, и новое руководство, приходя к работе, уже не подозревало, что груда металла в том или ином ангаре представляет хоть какую-то ценность.
Поисками того, что осталось от ENIAC, занялась команда миллиардера Росса Перо, когда тот решил разыскать раритеты из мира технологий для декорирования своего офиса. Выяснилось, что часть панелей когда-то была перевезена с испытательного полигона в Абердине (штат Мериленд) в Форт Силл в Оклахоме в военный музей полевой артиллерии.
Куратор музея был в шоке, узнав, что в музее находился самый большой в мире блок ENIAC – в общей сложности девять панелей, все из которых хранились в безымянных деревянных ящиках, которые никто не открывал многие годы. Представители Форта Силл заявили, что им неизвестно, как у них оказалась практически четверть компьютера ENIAC.
Форт Силл согласился отдать Перо панели в обмен на обещание, что остатки ENIAC отреставрируют хотя бы внешне. Инженерам, которые взялись за дело, сразу стало ясно – в рабочее состояние компьютер привести не получится хотя бы потому, что для этого понадобились бы все 40 панелей, не говоря обо всех остальных компонентах и утраченных знаниях. Поэтому перед ними встала более простая задача: сделать то, что осталось от ENIAC, хотя бы внешне похожим на эпохальный компьютер в период его расцвета.
Панели очистили от пыли и ржавчины, обработали пескоструйным аппаратом и заново покрыли краской, после чего аккуратно припаяли к ним новые лампы (для вида, конечно). Какое-то время обновлённые панели находились в офисе Perot Systems, однако после её слияния с Dell руководство приняло решение вернуть отреставрированные блоки ENIAC в музей Форта Силл. К сожалению, от былого величия этого компьютера осталась только оболочка – да и та не полностью сохранилась.
Сотрудники Росса Перо сравнивают ENIAC с Ковчегом Завета из фильма об Индиане Джонсе – он точно так же оказался окончательно утрачен, несмотря на всю свою важность, потому что военные музеи и склады даже не подозревали о том, что именно столько лет хранилось в их запасниках. Тем не менее, несколько лет назад в Dell ещё говорили о попытках отыскать остальные не разрушившиеся окончательно панели ENIAC – остаётся надеяться, что они все ещё существуют.
P.S. Другие материалы о том, как мы улучшаем работу провайдера виртуальной инфраструктуры
Как благодаря артиллерии появился один из самых мощных компьютеров, на какой обман из-за этого пришлось пойти и почему с созданием вычислительной машины опоздали, рассказываем в очередном выпуске рубрики «История науки».
Как и очень многое в нашей жизни, электронные вычислительные машины появились благодаря военным. Заказ на создание машины, о которой пойдет речь в нашей статье, поступил от артиллеристов. Действительно, расчет траектории полета снаряда - дело очень непростое, для точного вычисления места, куда попадет снаряд гаубицы или обычного орудия, нужно учитывать очень много параметров: возвышение ствола орудия, калибр и аэродинамические показатели снаряда, скорость ветра, давление, температуру и влажность воздуха, тип заряда, который заложен в орудие.
В те времена в армии США такими расчетами занималась Лаборатория баллистических исследований, которая издавала таблицы стрельб для каждого снаряда. Для этого девушкам-вычислителям Лаборатории требовалось совершить на механических арифмометрах около 1000 действий для каждой траектории. Всего траекторий в таблицах было около трех тысяч. Поэтому в 1943 году Электротехническая школа (институт) Мура Пенсильванского университета получила заказ на создание вычислителя, который делал бы всю эту работу.
Создатели ENIAC (слева направо): Джон Эккерт, Джон Брейнерд, Сэм Фелтман, Герман Голдстайн, Джон Мокли, Дин Пендер, генерал Гладеон Барнс, полковник Пол Гиллон
Wikimedia Commons
Институт Мура уже располагал к тому времени механическим вычислителем («дифференциальным анализатором»), который умел делать часть расчетов, и Джоном Мокли, который еще в 1942 году представил руководству докладную записку The Use of High-Speed Vacuum Tube Devices for Calculation, в которой предложил создать машину на электронных лампах, что намного ускорило бы работу. Правда, руководство поступило с новаторским предложением по-своему: сдало его в архив «без движения», а потом просто потеряло. Кроме того, в Институте имелся студент Джон Эккерт с фантастическим талантом инженера. Эккерт с Мокли и стали разработчиками архитектуры нового вычислителя.
Чтобы не спугнуть боящихся всего нового военных, новый проект для начала назвали electronic diff. analyzer. Не слишком сведущее военное руководство решило, что это всего лишь улучшенный электронными лампами уже имеющийся дифференциальный анализатор, и «купилось» на уловку, выделив 61 700 долларов на первые полгода по контракту W-670-ORD-4926. Тем более что авторы проекта клялись, что одну траекторию машина будет считать всего пять минут.
После одобрения проект переименовали: он стал называться «электронный числовой интегратор». Потом добавилось «и вычислитель». Так появился ENIAC - Electronic Numerical Integrator And Computer.
Уже к февралю 1944 года теоретическая работа была завершена: продумана архитектура и прописаны электрические схемы. Началась работа по сборке 27-тонной машины, которая длилась полтора года. Увы, к несчастью для военных, Вторая мировая тогда уже завершилась, даже ядерное оружие было испытано. Однако это был первый настоящий компьютер, которому нашлось применение в расчетах термоядерной бомбы и таблиц стрельб ядерными боеприпасами. История сохранила нам имена шести девушек: Франсис Билас, Рут Лихтерман, Кэтлин Макналти, Франсис Снайдер, Бетти Дженнингс, Мерилин Мельцер. Так звали первых программистов первого компьютера.