Автор: Александр Нитусов
К 100-летию его создателя - Мориса Уилкса
6 мая 1949 г. профессор Кембриджского университета Морис Уилкс (1913--2010) вычислил квадраты чисел от 0 до 99 на своей "первой в мире полностью электронной" ЭВМ EDSAC (Electronic Delay Storage Automatic Calculator) с "фон-Ноймановской архитектурой", управлявшейся хранимой в памяти программой, что можно считать "днем рождения электронных компьютеров".
Строго говоря, "самый первый компьютер" с управляющей программой и памятью - это Z-3 Конрада Цузе (Берлин, 1941 г.), но его основными элементами были телефонные реле.
В 1934 г. Уилкс окончил Кембриджский колледж Св. Джона (основан в 1511 г.), где учились поэт-романтик Вильям Вордсфорт (William Wordsworth, 1770--1850), математик Брук Тейлор (1685--1731, ряд Тейлора), физик Поль Дирак (1902--1984) и еще девять Нобелевских лауреатов.
Потом он поступил в легендарную Кавендишскую лабораторию (физфак Кембриджа), где в 1937-м защитил диссертацию о распространении радиоволн в ионосфере и остался ассистентом в лаборатории математики, а потом в новой лаборатории вычислительной техники. В 1939--1945 гг. служил в армии инженером по радиолокации и вернулся уже на должность заведующего.
В мае 1946 г. знакомый Уилкса астроном Лесли Джон Комри (1893--1950) привез доклад знаменитого математика Яноша фон Ноймана (с 1931 г. работал в США; известен как Джон фон Нойман) о начавшемся в США проекте ЭВМ EDVAC (First Draft of a Report on the EDVAC). Комри одолжил его Уилксу на одну ночь (!).
Л. Дж. Комри, в 1918 г. молодой новозеландский доброволец, на фронте лишился ноги и страдал сильной глухотой; потеряв подвижность, он еще в госпитале увлекся счетной машиной. Потом занялся астрономией, математикой и вычислительной техникой и в 1938 г. создал первую британскую машинно-счетную станцию (первая в СССР - 1926 г.). В годы войны во главе 30 сотрудников рассчитывал таблицы для Королевских ВВС (как и группа И. Я. Акушского в Москве, при штабе ВВС).
Увлекшись концепциями фон Ноймана о записи и хранении программы в ЭВМ, Уилкс сумел попасть на лекции "Теория и методы конструирования электронных цифровых компьютеров" в Школе Мура при Пенсильванском университете (август 1946 г.). Опоздав к началу, он успел к детальному описанию ENIAC и обсуждению принципов создания EDVAC, познакомился с математиками Дугласом Р. Хэртри (численный анализ в атомной физике) и Германом Х. Гольдштайном, конструкторами Джоном У. Мокли, Джоном Пр. Экертом и Ховардом Х. Айкеном и обсуждал с ними проблемы развития ЭВМ
Уилкс писал: "Главное событие моей жизни - в 1946 г. удалось прослушать уникальный учебный курс по компьютерам, который произвел на меня сильнейшее впечатление; о достижениях школы Мура и других зачинателей компьютерной техники тогда знали немногие. Слушателями этого курса были 28 человек из 20 организаций. Основные преподаватели -- Дж. Мокли и Пр. Экерт, успешные разработчики ENIAC (первая большая ЭВМ, но без программ в памяти) и принципов конструирования EDVAC, они научили нас принципам построения цифрового компьютера ".
В Кембридже ЭВМ EDSAC Уилкса с хранимой программой сделали силами математической лаборатории к 6 мая 1949 г. Судьба явно наградила его научное бескорыстие - он, сам того не ожидая, "пришел к финишу" первым, не имея "производственных мощностей", чтобы соперничать с авторами EDVAC, казалось, бывшими "в пяти минутах" от успеха. Казалось
Авторитет вошедшего в 1944 г. в "команду ЭВМ ENIAC" фон Ноймана привлек деньги военных на улучшенный проект - EDVAC. Однако в июне 1945 г. он сам обобщил результаты коллективных работ по ЭВМ в "том самом" отчете (101 стр.), где упоминал и принцип хранения программы в памяти компьютера вместе с данными (потому и названый "архитектура фон Ноймана"), и передал этот отчет куратору от армии по разработкам ЭВМ математику Г. Гольдштайну. Тот разослал его 24 ученым в США и Британии, поставив автором одного лишь фон Ноймана, что крайне разозлило Экерта и Мокли, фактически лишавшихся прав на собственные идеи и патенты.
Вдобавок ради "только что появившегося новичка" Гольдштайн грубо нарушил военную секретность, из-за которой они сами не могли опубликовать свои изобретения. Экерт так возненавидел Гольдштайна, что и три десятилетия спустя не желал находиться в одном с ним помещении.
Из-за патентного конфликта администрация требовала лишить разработчиков прав на личные финансовые выгоды. Мокли и Экерт возмутились такой постановкой вопроса и в марте 1946 г. ушли из института Мура, открыв свою фирму, а вскоре из проекта ушли и фон Нойман с Гольдштайном. Финальная смета EDVAC в пять раз (!) превысила проектную; работы затянулись на три года.
Десять лет труда над ЭВМ принесли Мокли и Экерту по 300 000 долл., но получены эти деньги были лишь от продажи их фирмы и за патенты на ENIAC, однако в 1973 г. Федеральный суд аннулировал их авторские права на ENIAC, так как они использовали идеи Джона Атанасова создавшего электронное устройство-прототип еще в начале 1940-х (даже не упомянув его).
Взгляды Уилкса и его европейских коллег позже выразил профессор Том Килбурн - автор ЭВМ "Манчестер МАРК-1" (1948--1950): "Тогда деньги не имели никакого отношения к нашей работе. Нас интересовала только наука - такие, как Гейтс, живут уже в другом мире".
В 1949 г. Уилкс не знал, что работы по созданию ЭВМ ведутся не только в США -- в разрушенном войной Киеве группа академика С. А. Лебедева уже детально разработала ЭВМ МЭСМ, а годом ранее, в 1948-м, в Москве академик И. С. Брук и Б. И. Рамеев запатентовали полный проект современной ЭВМ.
О своем "иностранном опыте" С. А. Лебедев докладывал госкомиссии: "Я имею данные по 18 американским машинам, это реклама без каких-либо сведений о том, как машины устроены. В вопросе постройки ЭВМ мы должны догонять заграницу (своими силами) и должны сделать это быстро. По данным заграничной литературы, проектирование и постройка машины ведется 5-10 лет, мы хотим построить ее за два года. Американские показатели следующие: время умножения на ENIAC - 5,5 мс, на EDVAC - 4 мс, на нашей машине 8-9 мс ".
EDSAC почти повторял EDVAC - перфоленты ввода-вывода, 3000 электронных ламп, 32 ртутные ультразвуковые линии задержки (РУЛЗ), в каждой - 32 слова по 17 бит (с битом знака), всего 1024 знака (работали 512 двоичных слов). Дополнительные линии задержки поддерживали слова по 35 двоичных разрядов (включая бит знака), скорость 100-15 000 двоичных опс, мощность - 12 кВт, площадь - 20 м².
Но вот в программной части Уилкс стал первопроходцем. "Архаичное" двоичное кодирование команд он заменил кодами из букв и коротких английских слов и добавил мнемонику, отображая каждую команду заглавной буквой: S - "вычитание", Т - "передать в память", Z - "остановка машины" и т. д.
Этапным новшеством стала библиотека подпрограмм. Первые программисты записывали рутинные подпрограммы в блокноты, чтобы не составлять их заново, но в зависимости от места размещения подпрограммы в памяти изменялись адреса расположения ее команд и переменных, что было проблемой.
Уилкс автоматизировал настройку подпрограмм на точное место в памяти, написав несколько десятков унифицированных подпрограмм и собрав их в библиотеку: вычисления с плавающей запятой, комплексными числами, векторами и матрицами, логарифмы, функции, корни и т. д.
Теперь по короткой команде компьютер сам настраивал и размещал подпрограммы внутри основной программы. Библиотеку подпрограмм и мнемоническую схему, собиравшую их последовательности, он назвал assembly system (собирающая система) отсюда - "ассемблер".
Еще одно, принципиально важное, изобретение Уилкса - микрокод (целая последовательность инструкций записывалась одной программной командой/строкой) позже названный "микропрограммированием", придал ЭВМ дополнительную гибкость - система управления изменялась без изменения конструкции. Он же основал в 1957 г. Британское компьютерное общество и был его первым президентом.
EDSAC много использовали; в 1952 г. А. Сэнди Дуглас даже сделал на нем (возможно, первую) игру в "крестики-нолики" - "OXO" с выводом на экран. В СССР в начале 1950-х ее же и шахматные задачки придумал персонал Лебедевской БЭСМ.
С 1965-го Уилкс был профессором (и до 1980 г. директором) института.
В 1998 г. его ждал сюрприз - участие в симпозиуме "Компьютер в Европе" (Киев), там ветераны-ассистенты С. А. Лебедева (Б. Н. Малиновский, З. Л. Рабинович и др.) возили его в "ту самую лабораторию" и институт, где в 1948-1951 гг. рождалась МЭСМ. Впечатлили старика Уилкса и прогулки по Киевскому художественному рынку на Андреевском спуске (у Дома Булгакова) в окружении ровесников - создателей первых советских ЭВМ.