Страница 17 из 30
Определившись с блоком памяти, Атанасов сосредоточился на том, как построить арифметический и логический блок, который он назвал “вычислительным механизмом”. Он решил, что он должен быть полностью электронным, что означало применение электронных ламп, хотя они и были дорогими. Лампы должны были выполнять функцию двухпозиционных переключателей с функциями “включить/выключить”, то есть служить логическими вентилями в схемах, которые могут складывать, вычитать, а также выполнять любые команды булевой алгебры.
В связи с этим возник теоретический вопрос из тех, что он любил с детства в математике: должна ли его цифровая машина использовать десятичную, двоичную или какую-либо другую систему счисления? Истинный любитель повозиться с разными системами счисления, Атанасов изучил много вариантов. “На короткое время система счисления с основанием сто показалась мне многообещающей, — писал он в неопубликованной работе. — Этот же расчет показал, что основание, которое теоретически дает высокую скорость расчета, это число е”30. Но поиски компромисса между теорией и практикой привели его в конце концов к выбору двойки в качестве основания, то есть к двоичной системе счисления. В конце 1937 года эти и другие идеи крутились в его голове, это была “сборная солянка” из мыслей, которые никак друг с другом не “склеивались”.
Атанасов любил автомобили; он старался по возможности покупать каждый год по новому и в декабре 1937 года купил новый “форд” с мощным двигателем V8. Чтобы проветриться, он отправился на прогулку, и эта поездка стала важной вехой в истории вычислительной техники. Вот его воспоминания об этом вечере:
“Однажды зимним вечером 1937 года я почувствовал, что совершенно измучен невозможностью найти решение проблем, связанных с конструкцией машины. Я сел в автомобиль, разогнался и ехал так долгое время, пока не стал контролировать свои эмоции. Это было моей привычкой — у меня получалось восстанавливать контроль над собой после того, как проедусь по дороге, сосредоточившись на управлении автомобилем. Но в ту ночь я был слишком измучен и продолжал мчаться, пока не пересек реку Миссисипи и не оказался в штате Иллинойс в 300 километрах от того места, где я сел в машину”31.
Он съехал со скоростного шоссе и завернул в придорожную забегаловку. В штате Иллинойс, в отличие от Айовы, можно было по крайней мере купить спиртного, и он заказал себе порцию бурбона с содовой, потом еще одну. “Я почувствовал, что уже не так нервничаю, и мои мысли снова обратились к вычислительным машинам, — вспоминал он. — Я не знаю, почему моя голова тогда заработала и почему она не работала раньше, но там было симпатично, прохладно и тихо”. Официантка не обращала на него внимания, и Атанасов смог спокойно обдумать свою проблему32.
Он набросал свои идеи на бумажной салфетке, а затем начал перебирать какие-то практические вопросы. Главное — было непонятно, как пополнить заряд в конденсаторах, которые разряжались через пару минут. Он придумал поместить их на вращающиеся цилиндрические барабаны, сделанные из банок сока V8 (емкостью примерно 1,5 литра), чтобы они каждую секунду вступали в контакт с щетками, сделанными из кабелей, и их заряды восстанавливались. “В тот вечер я представил в голове возможную конструкцию регенеративной памяти, — вспоминал он. — В тот момент я называл ее «дискретной»”. С каждым поворотом вращающегося цилиндра щетки должны “встряхивать” память, состоящую из конденсаторов, а также при необходимости снимать старые данные с конденсаторов и вводить новые. Он также придумал схему, которая позволяла считывать числа с двух разных цилиндров с конденсаторами, а затем использовать схему на электронных лампах, чтобы их складывать и вычитать, после чего результат отправлять в блок памяти. Как он вспоминал, после нескольких часов обдумывания всех этих проблем он “сел в машину и поехал домой, уже не так быстро”33.
К маю 1939 года Атанасов был готов начать создание прототипа. Ему нужен был помощник, предпочтительно аспирант с инженерными навыками. Однажды друг, работавший на том же факультете, сказал ему: “У меня есть как раз такой человек, который тебе нужен”. Так у него началось сотрудничество с Клиффордом Берри — тоже сыном электрика-самоучки34.
Прототип был разработан и собран, его единственной целью было решение системы линейных уравнений. Машина Атанасова могла работать с системами, содержащими до двадцати девяти переменных. На каждом шагу она обрабатывала два уравнения и убирала одну из переменных, а затем распечатывала получившиеся уравнения на двоичных перфокартах размером 8 х 11, после чего набор карт с более простой системой уравнений подавался обратно в машину, и процесс начинался заново, а затем убиралась еще одна переменная. Это требовало много времени. Чтобы найти решение системы из двадцати девяти уравнений, машине потребовалось бы (если бы они могли заставить ее работать как нужно) считать почти неделю. Но если те же самые расчеты выполняли бы люди с помощью настольных калькуляторов, они потратили бы на это по крайней мере десять недель.
Атанасов продемонстрировал прототип в конце 1939 года и, надеясь получить финансирование на строительство полноценной машины, напечатал на машинке тридцатипятистраничное ее описание и сделал с него несколько копий через копирку. Начинался текст следующими словами: “Главная цель этого предложения — представить описание устройства и работы вычислительной машины, которая была разработана в основном для решения больших систем линейных алгебраических уравнений”. Как будто для того, чтобы ответить критикам, считавшим недостатком, что назначение большой машины было ограничено только решением систем уравнений со многими неизвестными, Атанасов перечислил длинный список проблем, для которых требуется решение таких систем: “аппроксимация кривой… колебательные задачи… анализ электрических схем. упругие материалы”. В заключение он представил подробный перечень предполагаемых расходов, которые в сумме давали грандиозную цифру — 5330 долларов, и эти деньги он в конечном итоге получил от частного фонда35. Затем он послал одну из печатных копий своего предложения в Чикаго патентному адвокату, нанятому Университетом Айовы, который в нарушение служебного долга не удосужился подать заявку на патент, и из-за его просчета правовой спор затянулся на десять лет.
К сентябрю 1942 года полноценная модель машины Атанасова была почти закончена. Она была размером с письменный стол, и в ней использовалось до трехсот электронных ламп. Была, однако, проблема: механизм для прожигания отверстий в перфокартах с помощью искры никогда не работал должным образом, и не было никакой команды механиков и инженеров в Университете Айовы, к которым можно было обратиться за помощью.
В этот момент работа остановилась. Атанасов был призван на службу во флот и послан в исследовательскую артиллерийскую лабораторию ВМС в Вашингтоне, где он работал над проблемами акустических мин, а затем принял участие в испытаниях атомной бомбы на атолле Бикини. В этот период он переключил внимание с компьютеров на инженерные проблемы, связанные с боеприпасами, но он остался изобретателем, подготовил тридцать патентов, в том числе на устройство для траления мин. Но его адвокат из Чикаго так никогда и не подал патентную заявку на его компьютер.
Компьютер Атанасова мог бы стать важной вехой в развитии вычислительной техники, но он был и в прямом, и в переносном смысле отправлен на свалку истории. Почти работающая машина была оставлена на хранении в подвале физического факультета Университета Айовы, и несколько лет спустя никто, казалось, не помнил, что она существовала. Когда в 1948 году занимаемое ею место понадобилось для других целей, некий аспирант разобрал ее, не поняв, что это было, и выбросил большую часть деталей36. Во многих тогдашних историях, рассказывавших о начале компьютерной революции, Атанасов даже не упоминается.
Даже если бы компьютер Атанасова заработал должным образом, у него были бы ограниченные возможности. Схемы с электронными лампами производили молниеносные расчеты, но механически поворачивающиеся ячейки памяти многократно замедляли процесс. И система прожигания отверстий в перфокартах, даже когда она работала, тормозила работу. Для того чтобы стать по-настоящему быстродействующими, современные компьютеры должны были стать полностью, а не частично электронными. Кроме того, модель Атанасова не была программируемой. Она была спроектирована только для того, чтобы решать линейные уравнения.