Добавить в цитаты Настройки чтения

Страница 21 из 30



ENIAC

Война стимулирует развитие науки. На протяжении веков, и когда древние греки построили катапульту, и когда Леонардо да Винчи служил военным инженером у Чезаре Борджиа, военные задачи способствовали развитию технологий, и это особенно ярко проявилось в середине ХХ века. Многие из главных технологических прорывов этого периода — компьютеры, высвобожденная атомная энергия, радиолокация и интернет — возникли вследствие решения военных задач.

США вступили во Вторую мировую войну в декабре 1941 года, что послужило толчком для принятия решения о финансировании машины, сконструированной Мокли и Эккертом. Университету Пенсильвании и Абердинскому военному испытательному полигону было поручено составить справочник по выставлению углов при стрельбах из артиллерийских пушек, поставляемых в Европу. Для того чтобы прицельно стрелять из пушки, требовались баллистические таблицы, в которых были бы учтены сотни условий, в том числе температура, влажность, скорость ветра, высота и сорт пороха.

Создание таблицы только для одного вида артиллерийских зарядов, выпускаемых из одной пушки, потребовало бы вычисления трех тысяч траекторий с помощью системы дифференциальных уравнений. Эти вычисления часто проводились с помощью одного из дифференциальных анализаторов, сконструированных в Массачусетском технологическом институте Вэниваром Бушем. Расчеты на анализаторе требовали дополнительных расчетов вручную, чем и занимались более 170 человек, большинство из которых были женщинами. Их называли “расчетчиками”, и они сражались с уравнениями, стуча по клавишам и крутя ручки настольных арифмометров. Лучших женщин-математиков собирали по всей стране. Но несмотря на все эти усилия, потребовалось более месяца, чтобы составить только одну таблицу траекторий стрельб. К лету 1942 года стало ясно, что с каждой неделей составление таблиц все больше отстает и это обесценивает некоторые виды поставляемой США артиллерийской техники.

В августе Мокли предложил способ помочь армии решить эту проблему, увеличив скорость расчетов. В своей докладной записке, названной “Использование высокоскоростных ламповых устройств для расчетов”, он просил профинансировать создание машины, которую они с Эккертом спроектировали: цифровой электронной вычислительной машины, использующей схемы на электронных лампах, которая могла бы решать дифференциальные уравнения и выполнять другие математические задачи. Он писал: “Если использовать устройства, в которых применяются электронные компоненты, можно получить огромный выигрыш в скорости расчета”. Он даже подсчитал, что траектория снаряда могла бы быть рассчитана за “100 секунд”65.

Докладная записка Мокли была проигнорирована деканами Пенна, но ее довели до сведения офицера, прикомандированного к университету, — лейтенанта (вскоре ставшего капитаном) Германа Голдстайна, двадцатидевятилетнего профессора математики из Университета Мичигана. Его задача состояла в том, чтобы ускорить составление баллистических таблиц, и в какой-то момент он отправил свою жену Адель, также математика, в поездку через всю страну, чтобы набрать больше женщин в батальоны “расчетчиков” Пенна. Записка Мокли убедила его, что для этого есть лучший способ.

Решение военного министерства США профинансировать строительство электронного компьютера состоялось 9 апреля 1943 года. Накануне Мокли и Эккерт не спали всю ночь, работая над своим предложением, но так и не закончили его к тому моменту, когда нужно было садиться в автомобиль, который должен был за два часа доставить их из Пенна на полигон в Абердине (штат Мэриленд), где собрались чиновники отдела вооружений. Поскольку за рулем был лейтенант Голдстайн, они сидели на заднем сиденье и писали недописанные разделы, и они продолжили работать в маленькой комнате, даже когда прибыли в Абердин, а Голдстайн в это время пошел на совещание. Оно прошло под председательством Освальда Веблена, президента Института перспективных исследований в Принстоне, который консультировал военных по математическим проектам. Там присутствовал и полковник Лесли Саймон, директор баллистической научно-исследовательской лаборатории. Голдстайн вспоминал, как это происходило: “Веблен, послушав некоторое время мое выступление и качаясь на задних ножках своего стула, с грохотом опустил его, встал и сказал: «Саймон, дай Голдстайну деньги». С этими словами он вышел из комнаты, и встреча закончилась на этой радостной ноте”66.



Мокли и Эккерт включили свою докладную записку в статью, которую они озаглавили “Отчет об электронном дифф. анализаторе”. Использование сокращения “дифф.” (diff.) имело двойной смысл — оно обозначало и разности (differences), которые отражали цифровой характер предлагаемой машины, и дифференциальные (differential) уравнения, которые предполагалось решать. Вскоре ей было дано более запоминающееся имя: ENIAC, что в переводе означает “электронный цифровой интегратор и компьютер”. Несмотря на то, что ENIAC был разработан в первую очередь для решения дифференциальных уравнений, которые являются ключевыми в расчетах траекторий снарядов, Мокли написал в статье, что он может быть дополнен “программатором” и это позволит ему решать другие задачи, что сделает его компьютером более общего назначения67.

Строительство ENIAC началось в июне 1943 года. Мокли, который продолжал вести преподавательскую работу, работал в качестве консультанта и стратега. Голдстайн, как представитель военных, руководил производственным процессом и бюджетом. А Эккерт, с его страстью к деталям и перфекционизму, был главным инженером. Эккерт настолько погрузился в проект, что иногда оставался спать рядом с машиной. Однажды два инженера в шутку осторожно перенесли его раскладушку в такую же комнату этажом выше, и когда он проснулся, то на какое-то мгновение испугался, что машину украли68.

Зная, что и величайшие идеи мало чего стоят без точного воплощения (урок, который усвоил Атанасов), Эккерт взял на себя каждодневное управление процессом сборки. Он носился между инженерами и указывал им, где припаять соединение или закрутить проволоку. Сам он рассказывал: “Я контролировал работу каждого инженера и проверял расчет каждого резистора в машине, чтобы убедиться, что все сделано правильно”. Он презирал тех, кто отмахивался от скучных дел. “Жизнь состоит из целого набора мелочей, — сказал он однажды. — Безусловно, компьютер есть не что иное, как огромный набор тривиальных вещей”69.

Эккерт и Мокли дополняли друг друга, и подобные дуэты, которые обеспечивали два центра управления, были характерны для цифровой эры. Эккерт допекал исполнителей своим педантизмом, Мокли же, как правило, успокаивал их, давал им почувствовать свою ценность. “Он всегда шутил с людьми, — вспоминал Эккерт, — он умел обаять”. Эккерт, чьи технические таланты сочетались с нервозностью и неожиданными приступами рассеянности, очень нуждался в интеллектуальном собеседнике, и Мокли нравилась эта роль. Хотя Мокли и не был инженером, он умел так увязать научные теории с инженерными практическими вопросами, что это вдохновляло Эккерта. Позже он признался: “Мы сделали это вместе, и я не думаю, что кто-то из нас сделал бы это в одиночку”70.

ENIAC был цифровой машиной, но вместо двоичной системы, которая использовала только 0 и 1, ее счетчики были рассчитаны на десятичную систему. В этом смысле она была не похожа на современный компьютер. Но в остальном она была более продвинутой, чем машины, построенные Атанасовым, Цузе, Айкеном и Стибицем. В ней была заложена возможность так называемого условного ветвления (описанного Адой Лавлейс веком ранее), то есть возможности переходов в программе, зависящих от промежуточных результатов, и она могла повторять блоки команд (подпрограммы), что позволяло выполнять общие задачи. Эккерт объяснял: “У нас была возможность включать в программы подпрограммы и подпрограммы подпрограмм”. Он вспоминал, что, когда Мокли предложил заложить эту функцию в машину, он “сразу понял, что это идея, которая станет ключевой для всей конструкции”71.