Электронные компьютеры, часть 1: пролог

Электронные компьютеры, часть 1: пролог

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

С 1939 по 1945 года на базе этих новых электронных компонентов было создано три компьютера. Даты их постройки не случайно совпадают с периодом Второй Мировой войны. Этот конфликт — не имевший аналогов в истории по тому, как он впрягал людей в ярмо колесницы войны — навсегда изменил взаимоотношения как между государствами, так и между наукой и технологией, а также принёс в мир большое количество новых устройств.

Истории трёх первых электронных компьютеров переплетены с войной. Первый был посвящён расшифровке немецких сообщений, и оставался под покровом секретности вплоть до 1970-х, когда он не представлял уже никакого интереса, кроме исторического. Вторым, о котором большинство читателей должны были слышать, был ENIAC, военный калькулятор, который достроили слишком поздно для того, чтобы он помог в войне. Но здесь мы рассмотрим самую раннюю из трёх этих машин, детище Джона Винсента Атанасова.

Атанасов

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


Джон Атанасов в юности

К 1935 году, уже устроившись в должности профессора в Университете штата Айова, Атанасов решил что-нибудь сделать с этим бременем. Он начал прикидывать возможные пути постройки новой, более мощной вычислительной машины. Отвергнув аналоговые методы (такие, как дифференциальный анализатор MIT) по причинам ограниченности и неточности, он решил построить цифровую машину, работавшую с числами как с дискретными значениями, а не как с непрерывными измерениями. Он с юности был знаком с двоичной системой счисления и понимал, что она гораздо лучше ложится на структуру вида вкл/выкл цифрового переключателя, чем привычные десятичные числа. Поэтому он решил делать двоичную машину. И, наконец, он решил, что чтобы она была наиболее быстрой и гибкой, она должна быть электронной, и использовать электронные лампы для вычислений.

Атанасову необходимо было определиться и с пространством задач — для каких именно подсчётов должен был подойти его компьютер? В итоге он решил, что он будет заниматься решением систем линейных уравнений, низводя их до единственной переменной (при помощи метода Гаусса) — таких же вычислений, что преобладали в его диссертации. Он будет поддерживать до тридцати уравнений, до тридцати переменных в каждом. Такой компьютер мог бы решать важные для учёных и инженеров задачи, и при этом вроде бы не был неимоверно сложным.

Произведение искусства

К середине 1930-х электронная технология достигла чрезвычайного разнообразия по сравнению с истоками, появившимися за 25 лет до этого. Две разработки особенно хорошо подходили к проекту Атанасова: реле-триггер и электронный счётчик.

С XIX века инженеры телеграфа и телефона имели в своём распоряжении удобное устройство под названием переключатель. Переключатель — это бистабильное реле, использующее постоянные магниты для удержания его в том состоянии, в котором вы его оставили — открытом или закрытом — до тех пор, пока оно не получит электрический сигнал на переключение состояний. Но электронные лампы не были на это способны. У них не было механического компонента, и они могли быть «открыты» или «закрыты» пока электричество текло или не текло по контуру. В 1918 году два британских физика, Уильям Эклз и Фрэнк Джордан связали проводами две лампы так, что получилось «реле-триггер» — электронное реле, постоянно остающееся включённым после включения от начального импульса. Эклз и Джордан создали свою систему для телекоммуникационных целей для Британского адмиралтейства в конце Первой Мировой войны. Но контур Эклза-Джордана, позднее ставший известным, как триггер [англ. flip-flop] можно было рассматривать и как устройство для хранения двоичной цифры — 1, если сигнал передаётся, и 0 в другом случае. Таким способом через n триггеров можно было представить двоичное число n разрядов.

Лет через десять после триггера произошёл второй серьёзный прорыв в электронике, столкнувшийся с миром вычислений: электронные счётчики. И снова, как это часто случалось в ранней истории вычислений, скука стала матерью изобретения. Физикам, изучавшим излучение субатомных частиц, приходилось либо слушать щелчки, либо часами изучать фотографические записи, подсчитывая количество обнаружений для измерения скорости излучения частиц различными веществами. Механические или электромеханические счётчики представляли соблазнительную возможность облегчить эти действия, но они двигались слишком медленно: они не могли зарегистрировать множество событий, происходивших с разницей в миллисекунды.

Ключевой фигурой в решении этой проблемы стал Чарльз Эрил Уинн-Уильямс, работавший под началом Эрнеста Резерфорда в Лаборатории Кавендиша в Кембридже. Уинн-Уильямс ловко обращался с электроникой, и уже использовал лампы (или клапаны, как их называли в Британии) для создания усилителей, благодаря которым можно было слышать происходящие с частицами события. В начале 1930-х он понял, что клапаны можно использовать для создания счётчика, который он назвал «счётчиком двоичной шкалы» — то есть, двоичного счётчика. По сути, это был набор триггеров, которые могли передавать переключения вверх по цепочке (на практике он использовал тиратроны, типы ламп, содержащих не вакуум, а газ, которые могли оставаться во включённом положении после полной ионизации газа).

Счётчик Уинна-Уильямса быстро вошёл в набор необходимых лабораторных устройств для всех, кто занимался физикой частиц. Физики строили очень маленькие счётчики, часто содержавшие по три знака (то есть, способные считать до семи). Этого было достаточно для создания буфера для медленного механического счётчика, и для записи событий, происходящих быстрее, чем их мог зарегистрировать счётчик с медленно движущимися механическими частями.

Но в теории такие счётчики можно было расширить до чисел произвольного размера или точности. Это были, строго говоря, первые цифровые электронные счётные машины.

Компьютер Атанасова-Берри

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

К 1939 году Атанасов закончил проектировать свой компьютер. Теперь ему требовался человек с подходящими знаниями для его постройки. Он нашёл такого человека в лице выпускника инженерного департамента Института штата Айова по имени Клиффорд Берри. К концу года Атанасов и Берри построили небольшой прототип. В следующем году они закончили полную версию компьютера на тридцать коэффициентов. В 1960-х писатель, раскопавший их историю, назвал его компьютером Атанасова-Берри (Atanasoff-Berry Computer, ABC), и имя прижилось. Однако всех недостатков устранить не удалось. В частности, ABC давал ошибку примерно в одной двоичной цифре на 10000, что для любого крупного вычисления было бы фатальным.


Клиффорд Берри и ABC в 1942-м

Тем не менее, в Атанасове и его ABC можно найти корни и источник всех современных компьютеров. Разве не создал он (при умелой помощи Берри) первый двоичный электронный цифровой компьютер? Разве это не основные характеристики миллиардов устройств, формирующих и управляющих экономикой, обществом и культурой по всему миру?

Но вернёмся назад. Прилагательные цифровой и двоичный не являются прерогативой ABC. К примеру, вычислитель комплексных чисел Белла (Bell Complex Number Computer, CNC), разработанный примерно в то же время, был цифровым, двоичным, электромеханическим компьютером, способным вести вычисления на комплексной плоскости. Также ABC и CNC были похожи в том, что решали задачи в ограниченной области, и не могли, в отличие от современных компьютеров, принимать произвольную последовательность инструкций.

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

Атанасов и Берри совершили героическую работу над тем, чтобы считывать и записывать данные на перфокарты с огромной скоростью, прожигая их электричеством вместо того, чтобы делать в них отверстия механически. Но это привело к своим проблемам: именно аппарат для прожигания был в ответе за 1 ошибку на 10000 чисел. Более того, даже при наибольших их усилиях машина не могла «пробивать» быстрее одной строки в секунду, поэтому ABC мог проводить лишь одно вычисление в секунду каждым из тридцати арифметических устройств. Оставшееся время электронные лампы сидели без дела, в нетерпении «барабаня пальцами по столу», пока вся эта машинерия мучительно медленно вращалась вокруг них. Атанасов и Берри пристегнули породистого скакуна к телеге с сеном. (Руководитель проекта по воссозданию ABC в 1990-х годах оценивал максимальную скорость машины, с учётом всех трат времени, включая работу оператора по заданию задачи, в пять сложений или вычитаний в секунду. Это, конечно, быстрее человека-вычислителя, но не та скорость, которую мы связываем с электронными компьютерами.)


Схема ABC. Барабаны хранили временный ввод и вывод на конденсаторах. Тиратроновая схема пробивания карточек и считыватель карт записывали и считывали результаты целого шага работы алгоритма (устраняя одну из переменных из системы уравнений).

Работы над ABC застопорились в середине 1942 года, когда Атанасов и Берри записались в быстро растущую военную машину США, где требовались не только тела, но и мозги. Атанасова призвали в Морскую артиллерийскую лабораторию в Вашингтоне, чтобы он руководил командой, разрабатывавшей акустические мины. Берри женился на секретарше Атанасова и нашёл себе работу в работавшей на военных по контракту компании в Калифорнии, чтобы его не призвали на войну. Атанасов какое-то время пытался запатентовать своё творение в штате Айова, но безуспешно. После войны он занялся другими вещами, и больше уже не занимался компьютерами всерьёз. Сам компьютер отправили на свалку в 1948, чтобы освободить в офисе место для нового выпускника института.

Возможно, Атанасов просто начал работать слишком рано. Он основывался на скромных университетских грантах, и мог потратить всего несколько тысяч долларов на создание ABC, поэтому экономность вытеснила все остальные проблемы в его проекте. Если бы он подождал до начала 1940-х, он мог бы получить правительственный грант на полноценное электронное устройство. И в таком состоянии — с ограниченным применением, со сложным управлением, ненадёжный, не очень быстрый — ABC не стал многообещающей рекламой пользы электронных вычислений. Американская военная машина, несмотря на весь вычислительный голод, бросила ABC ржаветь в городке Эймс штата Айова.

Вычислительные машины войны

Первая Мировая война создала и запустила систему массивной накачки инвестиций в науку и технологию, и подготовила её ко Второй Мировой. Всего за несколько лет практика ведения войны на земле и на море перешла к использованию отравляющих газов, магнитных мин, воздушной разведки и бомбардировки, и проч. Ни один политический и военный лидер не мог не заметить таких быстрых преобразований. Они были настолько быстрыми, что достаточно рана начатые исследования могли склонить чашу весов в ту или другую сторону.

В США хватало материалов и умов (многие из которых бежали из гитлеровской Германии), и они находились в стороне от непосредственных боёв за выживание и доминирование, коснувшихся других стран. Это позволило стране выучить этот урок особенно чётко. Это проявилось в том, что обширные индустриальные и интеллектуальные ресурсы были брошены на создание первого атомного оружие. Менее известной, но не менее важной или меньшей по объёму инвестицией стало вложение в создание радарной технологии, центр которой находился в MIT в «Rad Lab».

Так и зарождающаяся область автоматических вычислений получила свою долю военного финансирования, пусть и в гораздо меньших масштабах. Мы уже отмечали разнообразие электромеханических вычислительных проектов, порождённых войной. Компьютеры на базе реле были известной величиной, поскольку телефонные станции с тысячами реле к тому времени работали уже много лет. Электронные компоненты ещё не доказали своей работоспособности на таких масштабах. Большая часть экспертов считала, что электронный компьютер неминуемо будет ненадёжным (ABC служил примером), или его постройка отнимет слишком много времени. Несмотря на внезапный приток государственных денег, военных проектов по электронным вычислениям было мало, и они были редки. Запущено было всего три, и всего два из них привели к появлению работоспособных машин.

В Германии инженер по телекоммуникациям Гельмут Шрейер доказал своему другу Конраду Зюсу ценность электронной машины перед электромеханическим «V3», который Зюс строил для воздушной индустрии (впоследствии он стал известен, как Z3). Зюс в итоге согласился работать над вторым проектом вместе со Шрейером, и Исследовательский институт авиации предложил финансировать прототип на 100 ламп в конце 1941 года. Но двое мужчин сначала занялись более приоритетной военной работой, а затем их работу сильно замедлили повреждения, вызванные бомбёжками, в результате они так и не смогли заставить свою машину надёжно работать.


Зюс (справа) и Шрейер (слева) работают над электромеханическим компьютером в берлинской квартире родителей Зюса

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

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

• Alice R. Burks and Arthur W. Burks, The First Electronic Computer: The Atansoff Story (1988)
• David Ritchie, The Computer Pioneers (1986)
• Jane Smiley, The man Who Invented the Computer (2010)

 
Источник

Читайте также