“А БЫЛ ЛИ МАЛЬЧИК?”
Юрий Полунов
История может быть написана
с разных точек зрения при полном
сохранении достоверности.
Макс фон Лауэ
Напомню, что предыдущая статья об истории ВТ (Электронная, универсальная...) кончалась словами: “…19 октября 1973 г. федеральный судья Эрл Ричард Ларсен в окружном суде Миннеаполиса после 135-дневных заседаний постановил: “Эккерт и Моучли не изобрели первыми автоматическую электронную цифровую вычислительную машину, а извлекли сущность концепции из изобретения д-ра Джона Винсента Атанасофф”. Были ли у судьи основания для принятия столь неожиданного для компьютерного мира решения?”. Постараюсь изложить свою точку зрения по этому вопросу, хотя, уверен, многие историки ВТ со мной не согласятся.
Поводом для судебного разбирательства стал иск корпорации Sperry Rand, приобретшей права на патент создателей ENIACа, к компании Honeywell. Дело в том, что этот патент перекрывал многие принципиальные и конструктивные особенности выпускавшихся тогда ЭВМ, и Sperry Rand получала определенный процент от доходов их производителей. Но Honeywell отказалась платить, и компания-патентодержатель обратилась в суд. В свою очередь, Honeywell подала встречный иск, обвинив оппонентов в нарушении антимонопольного законодательства и использовании недействительного патента на концепцию и устройство цифровой ЭВМ. Разбирательство, длившееся почти семь лет (!), завершилось упомянутым судом.
Джон В. Атанасофф (Атанасов)
Д. В. Атанасофф (1903-1995)1, болгарин по происхождению и американец во втором поколении, был профессором физики в расположенном в г. Эймсе государственном колледже штата Айова, получившем впоследствии статус университета. Вопросы теории упругости и физики кристаллов, которыми он занимался, требовали большого объема вычислений, что подтолкнуло профессора попытаться автоматизировать этот процесс. В 1933 г. он построил небольшую аналоговую машину, но вскоре убедился, что технике такого рода не хватает точности; затем обратился к табулятору Холлерита, но и здесь его ждало разочарование. И тогда Атанасов решил сконструировать вычислительную машину, основанную на совершенно новых принципах и использующую в качестве элементной базы электронные лампы. Спустя несколько лет он вспоминал: “В одну очень холодную ночь поздней осени 1937 г. я работал в своем кабинете над мучавшей меня проблемой. Старался настроиться на задачу, продумывая деталь за деталью, но ничего не выходило. Отчаявшись, я сел в автомобиль и промчался по автостраде свыше 300 км со скоростью 100 км/ч, остановившись наконец около какого-то бара или гостиницы… Было ужасно холодно, и на мне было тяжелое зимнее пальто. Я снял его, повесил, сделал заказ официанту и когда он принес спиртное, вдруг ощутил, что успокоился и могу опять обратиться к своим размышлениям о вычислительных машинах. Не знаю, почему моя голова вдруг заработала и почему этого не произошло раньше, но все как-то сразу прояснилось, я мыслил четко и спокойно... Наверное, я выпил две рюмки, прежде чем понял, что мне пришли в голову очень хорошие мысли и я существенно продвинулся вперед”.
Позднее Атанасов вспоминал: “Я рассматривал возможность применения системы счисления с основанием, отличным от десяти. Помню, я проделал некоторый расчет в связи с выбором оптимального основания системы для машинного счета. Результатом было иррациональное число е=2,71828... (Аналогичный расчет можно найти сейчас в любом учебнике по ВТ. — Ю. П.). Конечно, такое основание невозможно, так как им должно быть целое число... Практические соображения принудили меня выбрать двоичную систему счисления. Сначала мне казалось, что моя идея оригинальна, но в дальнейшем выяснилось, что один француз уже рекомендовал использовать такую же систему в механических счетных машинах”.
При финансовой поддержке своего колледжа (весьма и весьма скромной) Атанасов вместе с аспирантом Клиффордом Эдвардом Берри (1918—1963) приступил к созданию специализированной ЭВМ, предназначенной для решения системы линейных алгебраических уравнений с 29 неизвестными и впоследствии получившей в литературе название “Вычислительная машина Атанасова — Берри” (Atanasoff — Berry Computer, или АВС). Замысел авторов заключался в следующем.
Исходные данные в ЭВМ АВС вводились с помощью стандартных перфокарт IBM в десятичной форме со скоростью около 3 секунд на одно 15-разрядное десятичное число. Затем они преобразовывались в двоичные коды и записывались в память, основу которой составляли два бакелитовых цилиндра длиной 27,9 см и диаметром 20,3 см, вращавшихся на общей оси со скоростью 1,0 об/с. На каждом цилиндре было смонтировано 1632 бумажных конденсатора емкостью 1,5 мкФ, по 31 конденсатору на каждой из 32 дорожек. Конденсаторы располагались внутри цилиндра, несшего на своей внешней поверхности медные контакты; при вращении цилиндра они коммутировались щетками, через которые содержимое памяти передавалось в другие блоки машины. Значение двоичного разряда определялось полярностью заряда на конденсаторе, причем при обращении к памяти этот заряд менял знак. Если же обращения не происходило, то с каждым оборотом барабана заряд регенерировался (с целью предотвращения утечки).
Основными арифметическими операциями в машине были сложение и вычитание, а умножение и деление выполнялись через них. Кроме того, была еще операция сдвига числа влево и вправо на один разряд, что при использовании двоичной системы счисления равносильно умножению и делению на два. Эти операции реализовывались последовательно (поразрядно) с помощью 32 одноразрядных ламповых сумматоров, но параллельно для всех 30 пар чисел (таким образом, в машине был реализован прообраз так называемой “векторной обработки”, нашедший в дальнейшем широкое применение в ВТ).
Длительность операции сложения (вычитания) двух 50-разрядных двоичных чисел, составлявших машинное слово, определялась временем вращения барабанов, то есть равнялась одной секунде. При решении системы алгебраических уравнений на каждый запоминающий цилиндр записывалось по одному уравнению, а решение осуществлялось методом последовательного исключения одной из переменных из каждой пары уравнений. Промежуточные результаты вычислений запоминались на специальных перфокартах (в двоичном коде), перфорирование которых осуществлялось с помощью электрических разрядов. Проблемы программирования перед Атанасовым и Берри не стояли ввиду специализированного характера машины.
Весной 1942 г. работа над АВС была в основном завешена, не было готово только периферийное перфокарточное оборудование. Однако в то время США уже находились в состоянии войны с нацистской Германией, и связанные с этим проблемы отодвинули работу над ЭВМ на второй план. Создатели машины занялись выполнением оборонных заказов, об АВС забыли, и вскоре она была демонтирована. К работе над ЭВМ ее разработчики больше не возвращались, хотя после суда в Миннеаполисе Атанасов сожалел об этом: “Я не представлял тогда, что изобрел первую вычислительную машину. Знал бы, продолжил бы трудиться над нею”.
Реконструированная модель ЭВМ АBС
В декабре 1940 г. Атанасов познакомился с Моучли. Произошло это на организованной в Филадельфии конференции Американской ассоциации содействия научному прогрессу, где Моучли выступил с докладом об использовании аналоговых вычислительных машин для решения задач метеорологии. После его выступления Атанасов подошел к докладчику и сказал, что разрабатывает вычислительное устройство на электронных лампах, но не аналоговое, а цифровое. Моучли проявил столь большой интерес к рассказу никому не известного физика, что польщенный Атанасов пригласил его посетить Эймс и познакомиться с созданными узлами и описанием АВС. Ученый принял предложение и в июне 1941 г. провел шесть дней в колледже Айовы.
“Беседы Моучли с Атанасовым и Берри были свободными и открытыми, и никакая важная информация, касающаяся теории машины, ее проекта, конструкции, применения и работы, не была сокрыта”, — отмечалось в решении суда. В письме от 30 сентября 1941 г. Моучли спрашивал своего коллегу: “Не будете ли Вы возражать, если я займусь разработкой вычислительного устройства, содержащего некоторые особенности Вашей машины?.. Конечно, возможна и другая постановка вопроса: если Ваш проект нацелен на получение прав на определенный круг изобретений, то я бы убедил Муровскую школу поддержать Вас и мне был бы таким образом открыт путь для построения «Вычислительной машины Атанасова — Берри»”. Адресат ответил отказом, так как хотел сначала запатентовать свою ЭВМ. Впрочем, получить патент Атанасову не удалось,
Конечно, беседы в Эмсе были важны для Моучли, потому что укрепили его уверенность в возможности создания ЭВМ. Но какие “некоторые особенности” разработчики ENIACа хотели позаимствовать из “Вычислительной машины Атанасова — Берри”? Сравните: ее авторы намеревались создать специализированную, непрограммируемую вычислительную машину; ENIAC же при всех ее недостатках была универсальной программируемой ЭВМ, которая могла не только вычислять таблицы стрельб или решать системы алгебраических уравнений, но и справлялась со многими другими задачами. АВС в отличие от ENIACа не умела изменять последовательность выполнения операций и никогда не работала (да и кто может утверждать, что она бы надежно заработала, если бы авторы завершили ее постройку), а машина Моучли — Эккерта успешно эксплуатировалась в течение ряда лет (приходится повторять трюизм, что главное не родить, а воспитать ребенка); к тому же принципиальные и технические решения, использованные разработчиками, были совершенно различными.
К заслугам Атанасова нельзя отнести ни использование двоичной системы (вспомним Стибица — см. Щелкающие машины), ни применение электроники (ламповые счетные и логические устройства были известны с начала 1930-х годрв). Единственное, что объединяло обе машины, — цифровой метод автоматизации вычислений с помощью электронных средств (этот метод и составлял основу патентной заявки на ENIAC).
Но, может быть, встреча с Атанасовым натолкнула Моучли на мысль о постройке ЭВМ? Вряд ли. Во-первых, он еще в первой половине 1930-х задумал создать “электронный вычислитель”, а во-вторых, по утверждению Норберта Винера, “эти мысли носились тогда (в начале 1940-х — Ю. П.) в воздухе” (сам основоположник кибернетики подал летом 1940 г. докладную записку Ванневару Бушу, в которой описал принципы построения ЭВМ). В общем, решение миннеапольского суда не выглядит для меня убедительным. Возможно, некоторую неоднозначность ситуации чувствовали и оба выдающихся ученых, которые — по свидетельству очевидцев — давали показания неохотно, а после суда, как утверждал Атанасов, остались добрыми друзьями.
Ни в коей мере не стоит умалять заслуг Атанасова и его помощника хотя бы уже потому, что они работали лишь вдвоем, а в команде Моучли — Эккерта трудилось множество инженеров, техников и математиков (не говоря уже о размерах финансирования). Одним из первых Атанасов нащупал некоторые важные принципы организации автоматического электронного вычислителя и был близок к созданию действующей специализированной машины. В его актив следует, например, записать регенерируемую емкостную память (хотя подобные “барабанные” запоминающие устройства (ЗУ) впоследствии никогда не использовались), отделение ЗУ от арифметического, принцип векторной обработки.
Но Моучли и Эккерт смогли построить первую работавшую универсальную ЭВМ, применявшуюся в практических целях и наглядно продемонстрировавшую преимущества быстродействующих электронных схем перед их механическими и электромеханическими аналогами.
Поэтому, да простит меня читатель за высокопарные слова, можно сказать, что именно ENIAC была той искрой, из которой возгорелось пламя.
Примечание
1.В дальнейшем используется болгарское написание его фамилии.
Из Цикла статей Ю. Полунова "Исторические машины".
Статья опубликована в PCWeek/RE № 15-16 2006 г.
Статья помещена в музей 29.05.2006 года