История электронных компьютеров, часть 4: электронная революция
14 апреля 2019, 12:00

Пока что мы последовательно вспомнили о каждой из первых трёх попыток построить цифровой электронный компьютер: компьютер Атанасова-Берри ABC, задуманный Джоном Атанасовым; проект британского Колосса, возглавляемый Томми Флауэрсом, и ENIAC, созданный в школе Мура при Пенсильванском университете. Все эти проекты были, по сути, независимыми. Хотя Джон Моучли, главная движущая сила проекта ENIAC, знал о работе Атанасова, схема ENIAC ничем не напоминала ABC. Если и существовал некий общий предок электронного вычислительного устройства, то это был скромный счётчик Уинна-Уильямса, первое устройство, использовавшее электронные лампы для цифрового хранения, и позволившее Атанасову, Флауэрсу и Моучли встать на путь создания электронных компьютеров.

Но лишь одна из трёх этих машин, однако, сыграла свою роль в последовавших событиях. ABC никогда не производила полезной работы, и, по большому счёту, те немногие люди, что знали о ней, забыли её. Две военных машины доказали, что способны обойти по чистому быстродействию любой другой из существовавших компьютеров, однако "Колосс" оставался секретным даже после победы над Германией и Японией. Только ENIAC стал широко известен, и поэтому стал держателем стандарта электронных вычислений. И теперь каждый, кто хотел создать вычислительное устройство на основе электронных ламп, мог для подтверждения указать на успех школы Мура. Закоренелый скептицизм инженерного сообщества, которым встречали все подобные проекты до 1945 года, исчез; скептики либо поменяли своё мнение, либо умолкли.

Отчёт по EDVAC

Выпущенный в 1945 году документ, основанный на опыте создания и использования ENIAC, задал тон направлению развития вычислительной техники в мире после Второй мировой. Он назывался "первый черновик отчёта по EDVAC" [Electronic Discrete Variable Automatic Computer], и обеспечивал шаблон архитектуры первых компьютеров, программируемых в современном смысле – то есть, выполнявших команды, извлекаемые из высокоскоростной памяти. И хотя точное происхождение перечисленных в нём идей остаётся предметом дискуссий, подписан он был именем математика Джона фон Неймана (урождённого Янош Лайош Нейман). Что характерно для разума математика, в документе также была сделана первая попытка абстрагировать схему работы компьютера от спецификаций конкретной машины; он попытался отделить саму суть структуры компьютера от различных вероятных и случайных его воплощений.

Фон Нейман, родившийся в Венгрии, попал в ENIAC через Принстон (Нью-Джерси) и Лос-Аламос (Нью-Мексико). В 1929 году он, как состоявшийся молодой математик, с заметными вкладами в теорию множеств, квантовую механику и теорию игр, покинул Европу с тем, чтобы занять должность в Принстонском университете. Четыре года спустя близлежащий Институт передовых исследований (IAS) предложил ему пожизненное место в штате. Из-за роста нацизма в Европе фон Нейман с радостью ухватился за шанс бессрочно оставаться на другой стороне Атлантики – и стал, постфактум, одним из первых еврейских интеллектуалов-беженцев из гитлеровской Европы. После войны он сокрушался: "Мои чувства к Европе противоположны ностальгии, поскольку каждый знакомый мне уголок напоминает об исчезнувшем мире и о руинах, не приносящих утешения", и вспоминал "своё полное разочарование в гуманности людей в период с 1933 по 1938".

Отвращённый от потерянной многонациональной Европы свой молодости, фон Нейман направил весь свой интеллект на помощь военной машине, принадлежавшей приютившей его стране. В следующие пять лет он колесил по стране, давая советы и консультируя по широкому спектру проектов нового оружия, одновременно каким-то образом сумев стать соавтором плодовитой книги по теории игр. Самой секретной и важной его работой в качестве консультанта стала позиция при Манхэттенском проекте – попытке создания атомной бомбы – исследовательской коллектив которого находился в Лос-Аламосе (Нью-Мексико). Роберт Оппенгеймер завербовал его летом 1943 года, чтобы помочь с математическим моделированием проекта, и его расчёты убедили остальных членов группы двигаться в направлении бомбы со взрывом, направленным внутрь. Такой взрыв, благодаря взрывчатке, двигающей расщепляющийся материал внутрь, должен был позволить достичь самоподдерживающейся цепной реакции. В результате потребовалось провести огромное количество расчётов с тем, чтобы достичь идеального сферического взрыва, направленного внутрь с нужным давлением – и любая ошибка привела бы к прерыванию цепной реакции и фиаско бомбы.

Фон Нейман во время работы в Лос-Аламосе

В Лос-Аламосе работала группа из двадцати людей-вычислителей, имевших в своём распоряжении настольные калькуляторы, но они не справлялись с вычислительной нагрузкой. Учёные дали им оборудование от IBM для работы с перфокартами, но они всё равно не успевали. Они потребовали улучшенного оборудования от IBM, получили его в 1944, но всё равно не успевали.

К тому времени фон Нейман добавил ещё один набор мест для посещения к своему постоянному круизу по стране: он объезжал все возможные места нахождения компьютерного оборудования, которое могло бы пригодиться в Лос-Аламосе. Он написал письмо Уоррену Уиверу, главе отдела прикладной математики национального исследовательского оборонного комитета (NDRC), и получил несколько хороших наводок. Он съездил в Гарвард посмотреть на Mark I, но тот был уже полностью загружен работой на флот. Он беседовал с Джорджем Стибицем и рассматривал возможность заказать релейный компьютер Белла для Лос-Аламоса, но отказался от этой идеи, узнав, сколько времени это бы заняло. Он посетил группу из Колумбийского университета, объединившую несколько компьютеров IBM в более крупную автоматическую систему под управлением Уолласа Экерта, однако никаких заметных улучшений по сравнению с теми компьютерами IBM, которые уже были в Лос-Аламосе, видно не было.

Однако Уивер не включил один проект в список, который он дал фон Нейману: ENIAC. Он определённо знал о нём: на своей должности директора прикладной математики он был обязан отслеживать прогресс всех вычислительных проектов страны. Уивер и NDRC определённо могли иметь сомнения по поводу жизнеспособности и сроков создания ENIAC, однако весьма удивительно, что он даже не упомянул об его существовании.

Какой бы ни была причина этого, но в результате фон Нейман узнал об ENIAC лишь благодаря случайной встрече на железнодорожной платформе. Эту историю рассказал Герман Голдштейн, посредник испытательной лаборатории школы Мура, в которой строили ENIAC. Голдштейн столкнулся с фон Нейманом на ж/д станции Абердина в июне 1944 года – фон Нейман уезжал с одной из своих консультаций, которую он, как член научного консультационного комитета давал в Баллистической исследовательской лаборатории Абердина. Голдштейну была известна репутация фон Неймана, как великого человека, и он завязал с ним разговор. Желая произвести впечатление, он не мог не упомянуть о новом и интересном проекте, развивающемся в Филадельфии. Подход фон Неймана мгновенно сменился с благодушного коллеги на жёсткого контролёра, и он засыпал Голдштейна вопросами, связанными с подробностями нового компьютера. Он нашёл новый интересный источник потенциальных компьютерных мощностей для Лос-Аламоса.

Впервые фон Нейман посетил Преспера Экерта, Джона Моучли и других членов команды ENIAC в сентябре 1944. Он тотчас же влюбился в этот проект и добавил ещё один пункт в свой длинный список организаций для консультирования. Обе стороны от этого выигрывали. Легко видеть, чем потенциал скоростных электронных вычислений привлёк фон Неймана. ENIAC, или подобная ему машина, имела возможность преодолеть все вычислительные ограничения, тормозившие прогресс Манхэттенского проекта и множества других существующих или потенциальных проектов (однако, закон Сэя, действующий и по сей день, гарантировал, что появление вычислительных возможностей вскоре вызовет равный спрос на них). Для школы Мура благословление такого признанного специалиста, как фон Нейман, означало окончание скептического отношения к ним. Более того, учитывая его живой разум и богатый опыт работы по всей стране, ему не было равных в широте и глубине познаний в области автоматических вычислений.

Вот так фон Нейман и включился в план Экерта и Моучли по созданию последователя ENIAC. Вместе с Германом Голдштейном и другим математиком из ENIAC, Артуром Бёрксом, они начали делать наброски параметров для второго поколения электронного компьютера, и идеи именно этой группы фон Нейман суммировал в отчёте "первого черновика". Новая машина должна была стать более мощной, получить более плавные обводы, и, главное – преодолеть крупнейший барьер использования ENIAC – многочасовую настройку на каждую новую задачу, во время которой эта могучая и чрезвычайно дорогая вычислительная машина просто сидела без дела. Разработчики электромеханических машин последних поколений, гарвардского Mark I и релейного компьютера Белла избегали этого, вводя в компьютер инструкции при помощи бумажной ленты с пробитыми в ней отверстиями – оператор мог готовить бумагу, пока машина решала другие задачи. Однако подобный ввод данных свёл бы на нет преимущество электроники в скорости; никакая бумага не могла бы подавать данные так быстро, как ENIAC мог их принимать. ("Колосс" работал с бумагой при помощи фотоэлектрических сенсоров и каждый из пяти его вычислительных модулей поглощал данные со скоростью 5000 символов в секунду, однако это было возможно только благодаря максимально быстрой прокрутке бумажной ленты. Переход на произвольное место на ленте требовал задержки в 0,5 с на каждые 5000 строк).

Решение проблемы, описанное в "первом черновике", состояло в перемещении хранения инструкций из "внешнего записывающего носителя" в "память" – это слово по отношению к компьютерному хранению данных употреблялось впервые (фон Нейман специально использовал этот и другие биологические термины в работе – он очень интересовался работой мозга и процессами, происходящими в нейронах). Эту идею потом назвали "хранением программ". Однако это сразу привело к другой проблеме – поставившей в тупик ещё Атанасова – чрезмерной дороговизне электронных ламп. В "первом черновике" оценивалось, что компьютеру, способному на выполнение широкого спектра вычислительных задач, потребуется память из 250 000 двоичных чисел для хранения инструкций и временных данных. Память на электронных лампах такого размера стоила бы миллионы долларов и была бы совершенно ненадёжной.

Решение дилеммы предложил Экерт, работавший в начале 1940-х над исследованиями радаров в рамках контракта между школой Мура и "Рад лаб" из MIT, центрального исследовательского центра радарных технологий в США. Конкретно Экерт работал над радарной системой под названием "индикатор движущейся цели" (Moving Target Indicator, MTI), решавшей проблему "засветки от земли": всякого шума на экране радара, создаваемого зданиями, холмами и другими неподвижными объектами, усложнявшими для оператора задачу вычленения важной информации – размера, местоположения и скорости движущихся воздушных судов.

В MTI проблему засветки решили при помощи устройства под названием линия задержки. Он преобразовывал электрические импульсы радара в звуковые волны, а потом отправлял эти волны по ртутной трубке так, чтобы звук приходил на другой конец и превращался обратно в электрический импульс в тот момент, когда радар повторно сканировал ту же самую точку в небе (линии задержки для распространения звука также могут использовать и другие среды: иную жидкость, твёрдые кристаллы и даже воздух. По некоторым данным, их идею придумал физик из лабораторий Белла Уильям Шокли, о котором позже). Любой сигнал, приходивший с радара в то же время, что и сигнал по трубке, считался сигналом от стационарного объекта, и удалялся.

Экерт понял, что звуковые импульсы в линии задержки можно считать двоичными числами – 1 обозначает наличие звука, 0 – его отсутствие. В одной ртутной трубке может содержаться сотни таких цифр, каждая из которых проходит через линию по нескольку раз в миллисекунду, то есть, компьютеру для доступа к цифре нужно было бы ждать пару сотен микросекунд. При этом доступ к последовательным цифрам в трубке был бы быстрее, поскольку цифры разделяли лишь несколько микросекунд.

Ртутные линии задержки в британском компьютере EDSAC

После разрешения основных проблем в схеме работы компьютера фон Нейман собрал идеи всей группы в 101-страничном отчёте "первого черновика" весной 1945 и распространил его среди ключевых фигур проекта EDVAC второго поколения. Довольно скоро он проник и в другие круги. Математик Лесли Комри, к примеру, взял копию с собой домой, в Британию, после визита в школу Мура в 1946, и поделился ею с коллегами. Распространение отчёта вызывало возмущение у Экерта и Моучли по двум причинам: во-первых, большую часть заслуг по разработке приписали автору черновика, фон Нейману. Во-вторых, все основные идеи, содержавшиеся в системе, оказались, по факту, опубликованными с точки зрения патентного бюро, что помешало их планам коммерциализации электронного компьютера.

Само основание обиды Экерта и Моучли вызвало, в свою очередь, негодование математиков: фон Неймана, Голдштейна и Бёркса. С их точки зрения, отчёт был важным новым знанием, которое необходимо было распространить так широко, как это возможно, согласно духу научного прогресса. Кроме того, всё это предприятие финансировалось за счёт правительства, а значит, за счёт американских налогоплательщиков. Их отталкивала меркантильность попытки Экерта и Моучли заработать на войне. Фон Нейман писал: "Я никогда бы не заступил на должность консультанта при университете, зная, что консультирую коммерческую группу".

Пути фракций разошлись в 1946: Экерт и Моучли открыли собственную компанию на базе вроде бы более безопасного патента на основе технологии ENIAC. Сначала они назвали своё предприятие Electronic Control Company, но в следующем году переименовали в Eckert-Mauchly Computer Corporation. Фон Нейман вернулся в IAS для создания компьютера на базе EDVAC, и к нему присоединился Голдштайн и Бёркс. Для предотвращения повторения ситуации с Экертом и Моучли, они позаботились, чтобы вся интеллектуальная собственность нового проекта стала общественным достоянием.

Фон Нейман перед компьютером IAS, построенном в 1951.

Отступление, посвящённое Алану Тьюрингу

Среди людей, увидевших отчёт по EDVAC окольными путями, был британский математик Алан Тьюринг. Тьюринг не был в числе первых учёных, создавших или придумавших автоматический компьютер, электронный или любой другой, и некоторые авторы сильно преувеличили его роль в истории вычислительной техники. Однако мы должны отдать ему должное, как первому человеку, догадавшемуся, что вычислительные машины могут не просто "вычислять" что-либо, банально обрабатывая большие последовательности чисел. Его главной идеей было то, то информацию, обрабатываемую человеческим разумом, можно представлять в виде чисел, поэтому любой умственный процесс можно превратить в вычисление.

Алан Тьюринг в 1951

В конце 1945 года Тьюринг опубликовал свой собственный отчёт, где упоминал фон Неймана, под названием "предложение электронного вычислителя", и предназначенный для британской государственной физической лаборатории (NPL). Он не так сильно углублялся в конкретные детали конструкции предлагаемого электронного компьютера. Его схема отражала разум специалиста по логике. У него не предполагалось специального оборудования для функций высокого уровня, поскольку их можно составлять из низкоуровневых примитивов; это был бы уродливый нарост на красивой симметрии машины. Также Тьюринг не выделял никакой линейной памяти для компьютерной программы – данные и инструкции могли совместно существовать в памяти, поскольку это были просто цифры. Инструкция становилась инструкцией только когда её так интерпретировали (работа Тьюринга 1936 года "о вычисляемых числах" уже исследовала взаимосвязь статических данных и динамических инструкций. Он описал то, что позже стали называть "машиной Тьюринга", и показал, как её можно превратить в число и скормить в качестве входных данных универсальной машине Тьюринга, способной интерпретировать и исполнять любую другую машину Тьюринга). Поскольку Тьюринг знал, что числа могут обозначать любую форму аккуратно заданной информации, в список задач для решения на этом вычислителе он включил не только построение артиллерийских таблиц и решение систем линейных уравнений, но и решение головоломок и шахматных этюдов.

Автоматическая вычислительная машина Тьюринга (ACE) никогда не была создана в изначальном варианте. Он был слишком медленным, и ему приходилось конкурировать с более рьяными британскими вычислительными проектами за лучшие таланты. Проект буксовал несколько лет, а потом Тьюринг потерял к нему интерес. В 1950-м NPL сделали Pilot ACE — машину меньшего размера и немного другой конструкции, кроме того, в начале 1950-х от архитектуры ACE черпали вдохновение несколько других проектов компьютеров. Но ей не удалось расширить своё влияние, и она быстра ушла в небытие.

Но всё это не преуменьшает заслуг Тьюринга, просто помогает поместить его в нужный контекст. Важность его влияния на историю компьютеров основана не на конструкциях компьютеров 1950-х, а на теоретическом базисе, подготовленном им для информатики, появившейся в 1960-х. Его ранние работы по математической логике, изучавшие границы вычислимого и невычислимого, стали фундаментальными текстами новой дисциплины.

Неторопливая революция

С распространением новостей об ENIAC и отчёте EDVAC школа Мура стала местом паломничества. Множество посетителей прибывало, чтобы учиться "у ног мастеров", особенно из США и Британии. Чтобы упорядочить поток просителей, декану школы в 1946 пришлось организовать летнюю школу по автоматическим вычислительным машинам, работающую по приглашениям. Лекции давали такие светила, как Экерт, Моучли, фон Нейман, Бёркс, Голдштейн и Говард Айкен (разработчик гарвардского электромеханического компьютера Mark I).

Теперь почти все хотели создавать машины по инструкции из отчёта EDVAC (по иронии, первой машиной, запустившей хранящуюся в памяти программу, стал сам ENIAC, который в 1948 году переделали для использования хранящихся в памяти инструкций. Только после этого он стал успешно работать в своём новом доме, Абердинском испытательном полигоне). Даже в названиях проектов новых компьютеров, созданных в 1940-е и 50-е годы, прослеживалось влияние ENIAC и EDVAC. Даже если не учитывать UNIVAC и BINAC (созданные в новой компании Экерта и Моучли) и сам EDVAC (законченный в школе Мура после того, как её покинули её основатели), всё равно остаются AVIDAC, CSIRAC, EDSAC, FLAC, ILLIAC, JOHNNIAC, ORDVAC, SEAC, SILLIAC, SWAC и WEIZAC. Многие из них напрямую копировали свободно публикуемую конструкцию IAS (с небольшими изменениями), пользуясь политикой открытости фон Неймана касаемо интеллектуальной собственности.

Однако электронная революция развивалась постепенно, шаг за шагом меняя существовавший порядок. Первая машина стиля EDVAC появилась только в 1948-м, и это был лишь небольшой проект, доказывающий работоспособность концепции, манчестерский "малыш", разработанный для подтверждения жизнеспособности памяти на трубках Уильямса (большая часть вычислительных машин переключилась с ртутных трубок на другой вид памяти, который своим происхождением также обязан радарным технологиям. Только вместо трубок в ней использовался ЭЛТ-экран. Британский инженер Фредерик Уильямс первым додумался, как решить проблему со стабильностью этой памяти, в результате чего накопители получили его имя). В 1949 году были созданы ещё четыре машины: полноразмерный Manchester Mark I, EDSAC в Кембриджском университете, CSIRAC в Сиднее (Австралия) и американский BINAC – хотя последний так и не заработал. Небольшой, но стабильный поток компьютеров продолжался в последующие пять лет.

Некоторые авторы описывали ENIAC так, будто он покрыл прошлое завесой и мгновенно привёл нас в эру электронных вычислений. Из-за этого реальные свидетельства сильно искажались. "Появление полностью электронного ENIAC почти сразу же сделало Mark I устаревшим (хотя он ещё пятнадцать лет после этого успешно работал)" – писала Кэтрин Фишман [Katherine Davis Fishman, The Computer Establishment (1982)]. Это заявление настолько очевидно противоречит само себе, что можно подумать, будто левая рука мисс Фишман не знала, что делает правая. Можно, конечно, списать это на записки простого журналиста. Однако мы обнаруживаем, как пара настоящих историков снова выбирает Mark I в качестве мальчика для битья, и пишет: "Гарвардский Mark I был не только техническим тупиком, он вообще не делал ничего очень полезного за пятнадцать лет своей работы. Он использовался в нескольких проектах военного флота, и там машина показала себя достаточно полезной для того, чтобы флот заказал ещё несколько вычислительных машин для лаборатории Айкена" [Aspray and Campbell-Kelly]. Опять-таки явное противоречие.

На самом же деле у релейных компьютеров были свои преимущества, и они продолжали работать одновременно со своими электронными кузенами. Несколько новых электромеханических компьютеров было создано после Второй мировой, и даже в начале 1950-х в Японии. Релейные машины было легче разрабатывать, создавать и поддерживать, и им не требовалось столько электричества и кондиционирования (для рассеивания огромного количества тепла, испускаемого тысячами электронных ламп). ENIAC использовал 150 КВт электричества, 20 из которых шло на его охлаждение.

Американские военные продолжали оставаться основным потребителем вычислительных мощностей и не пренебрегали "устаревшими" электромеханическими моделями. В конце 1940-х в распоряжении армии было четыре релейных компьютера, а у флота – пять. В баллистической исследовательской лаборатории в Абердине скопилась крупнейшая концентрация вычислительных мощностей в мире, ведь там работали ENIAC, релейные калькуляторы от Белла и IBM, и старый дифференциальный анализатор. В сентябрьском отчёте 1949 года каждому было отведено своё место: ENIAC лучше всего работал с длинными простыми вычислениями; калькулятор Белла модели V лучше обрабатывал сложные вычисления благодаря практически неограниченной по длине плёнке с инструкциями и возможности работать с плавающей запятой, а IBM мог обрабатывать очень большие количества информации, хранящейся в перфокартах. Тем временем определённые операции, вроде извлечения кубических корней, всё ещё было проще выполнять вручную (комбинируя использование таблиц и настольных калькуляторов) и экономить машинное время.

Лучшей отметкой завершения электронной вычислительной революции будет не 1945 год, когда родился ENIAC, а 1954-й, когда появились компьютеры IBM 650 и 704. Это были не первые коммерческие электронные компьютеры, но они стали первыми, выпускавшимися сотнями, и определили доминирующее положение IBM в индустрии компьютеров, продержавшееся тридцать лет. В терминологии Томаса Куна, электронные компьютеры перестали быть странной аномалией 1940-х, существующих только в мечтах таких изгоев, как Атанасов и Моучли; они стали нормальной наукой.

Один из множества компьютеров IBM 650 – в данном случае это экземпляр Техасского университета A&M. Память на магнитном барабане (внизу) делала его относительно медленным, но и относительно недорогим.

Покидая гнездо

К середине 1950-х схема и конструкция цифрового вычислительного оборудования отвязалась от её истоков, лежащих в переключателях и усилителях аналоговых систем. Схемы работы компьютеров 1930-х и начала 40-х сильно полагались на идеи из лабораторий физики и радаров, и особенно идеи инженеров телекоммуникаций и исследовательских отделов. Теперь компьютеры организовали свою собственную область, и специалисты в этой области вырабатывали собственные идеи, словарь и инструменты для решения собственных проблем.

Появился компьютер в его современном смысле, и поэтому наша история реле подходит к завершению. Однако у мира телекоммуникаций был ещё один интересный козырь в рукаве. Электронная лампа превзошла реле благодаря отсутствию подвижных частей. А у последнего реле в нашей истории преимущество было в полном отсутствии каких бы то ни было внутренних частей. Безобидно выглядящий комочек материи, из которого торчит несколько проводов, появился благодаря новой ветви электроники, известной, как "твердотельная".

Хоть электронные лампы и были скоростными, они оставались дорогими, крупными, горячими и не особенно надёжными. На них нельзя было сделать, допустим, ноутбук. Фон Нейман в 1948 году писал, что "маловероятно, что мы сможем превзойти количество переключателей в 10 000 (или, возможно, несколько десятков тысяч), пока будем вынуждены применять текущие технологии и философию)". Твердотельное реле дало компьютерам возможность снова и снова выходить за эти пределы, преодолевая их многократно; войти в обиход малого бизнеса, школ, домов, бытовой техники и поместиться в карманы; создать волшебную цифровую страну, пронизывающую наше сегодняшнее существование. И чтобы найти его истоки, нам нужно отмотать часы на пятьдесят лет назад, и вернуться к интересным ранним дням беспроводных технологий.

Что ещё почитать:

  • David Anderson, "Was the Manchester Baby conceived at Bletchley Park?", British Computer Society (June 4th, 2004)
  • William Aspray, John von Neumann and the Origins of Modern Computing (1990)
  • Martin Campbell-Kelly and William Aspray, Computer: A History of the Information Machine (1996)
  • Thomas Haigh, et. al., Eniac in Action (2016)
  • John von Neumann, "First Draft of a Report on EDVAC" (1945)
  • Alan Turing, "Proposed Electronic Calculator" (1945)

habr.com
© ФГУП «ГосНИИПП», 1989-2024