Уолтер Айзексон - Инноваторы. Как несколько гениев, хакеров и гиков совершили цифровую революцию
Атанасов собирался построить аналоговое устройство; его любовь к логарифмическим линейкам привела его к попыткам сконструировать огромные устройства, подобные ей и использующие длинные полоски пленки. Но он понял: чтобы решать линейные алгебраические уравнения с достаточной точностью, длина пленки должна составлять сотни метров. Он также построил хитроумное устройство, которое могло находить решение дифференциального уравнения в частных производных путем придания соответствующей формы блоку из парафина. Ограничения, присущие этим аналоговым устройствам, привели его к решению сосредоточиться на создании цифровой версии.
Первая задача, которую он решал, состояла в том, как сохранить числа в машине. Для описания этой функции машины он использовал термин «память»: «В то время я имел только поверхностные представления о работе Бэббиджа и поэтому не знал, что он назвал то же самое понятие „запоминающим устройством“… Мне нравится его название, и если бы я знал о нем, я, возможно, использовал бы его. Мне нравится и термин „память“ за его аналогию с функцией мозга»[93].
Атанасов перебрал разные виды возможных устройств памяти: механические штырьки, электромагнитные реле, небольшой кусочек магнитного материала, который мог быть намагничен электрическим зарядом, электронные лампы и электрическим конденсатор. Самыми быстрыми были электронные лампы, но они были дороги. Тогда он решил вместо них использовать конденсаторы — небольшие и недорого стоящие компоненты, которые могут сохранять, по крайней мере на короткое время, электрический заряд. Это решение было понятно, но оно означало, что машина будет медлительной и громоздкой. Даже если сложение и вычитание могло происходить с электронными скоростями, процесс переноса числа в блок памяти и из него замедлял скорость счета, поскольку она определялась скоростью вращающегося барабана.
Вверху слева: Джордж Стибиц (1904–1995), ок. 1945 г. Вверху справа: Конрад Цузе (1910–1995) со своим компьютером Z4, 1944 г. Слева: Джон Атанасов (1903–1995) в Университете штата Айова, 1940 г. Реконструкция компьютера АтанасоваОпределившись с блоком памяти, Атанасов сосредоточился на том, как построить арифметический и логический блок, который он назвал «вычислительным механизмом». Он решил, что он должен быть полностью электронным, что означало применение электронных ламп, хотя они и были дорогими. Лампы должны были выполнять функцию двухпозиционных переключателей с функциями «включить/выключить», то есть служить логическими вентилями в схемах, которые могут складывать, вычитать, а также выполнять любые команды булевой алгебры.
В связи с этим возник теоретический вопрос из тех, что он любил с детства в математике: должна ли его цифровая машина использовать десятичную, двоичную или какую-либо другую систему счисления? Истинный любитель повозиться с разными системами счисления, Атанасов изучил много вариантов. «На короткое время система счисления с основанием сто показалась мне многообещающей, — писал он в неопубликованной работе. — Этот же расчет показал, что основание, которое теоретически дает высокую скорость расчета, это число е»[94]. Но поиски компромисса между теорией и практикой привели его в конце концов к выбору двойки в качестве основания, то есть к двоичной системе счисления. В конце 1937 года эти и другие идеи крутились в его голове, это была «сборная солянка» из мыслей, которые никак друг с другом не «склеивались».
Атанасов любил автомобили; он старался по возможности покупать каждый год по новому и в декабре 1937 года купил новый «форд» с мощным двигателем V8. Чтобы проветриться, он отправился на прогулку, и эта поездка стала важной вехой в истории вычислительной техники. Вот его воспоминания об этом вечере:
«Однажды зимним вечером 1937 года я почувствовал, что совершенно измучен невозможностью найти решение проблем, связанных с конструкцией машины. Я сел в автомобиль, разогнался и ехал так долгое время, пока не стал контролировать свои эмоции. Это было моей привычкой — у меня получалось восстанавливать контроль над собой после того, как проедусь по дороге, сосредоточившись на управлении автомобилем. Но в ту ночь я был слишком измучен и продолжал мчаться, пока не пересек реку Миссисипи и не оказался в штате Иллинойс в 300 километрах от того места, где я сел в машину»[95].
Он съехал со скоростного шоссе и завернул в придорожную забегаловку. В штате Иллинойс, в отличие от Айовы, можно было по крайней мере купить спиртного, и он заказал себе порцию бурбона с содовой, потом еще одну. «Я почувствовал, что уже не так нервничаю, и мои мысли снова обратились к вычислительным машинам, — вспоминал он. — Я не знаю, почему моя голова тогда заработала и почему она не работала раньше, но там было симпатично, прохладно и тихо». Официантка не обращала на него внимания, и Атанасов смог спокойно обдумать свою проблему[96].
Он набросал свои идеи на бумажной салфетке, а затем начал перебирать какие-то практические вопросы. Главное — было непонятно, как пополнить заряд в конденсаторах, которые разряжались через пару минут. Он придумал поместить их на вращающиеся цилиндрические барабаны, сделанные из банок сока V8 (емкостью примерно 1,5 литра), чтобы они каждую секунду вступали в контакт с щетками, сделанными из кабелей, и их заряды восстанавливались. «В тот вечер я представил в голове возможную конструкцию регенеративной памяти, — вспоминал он. — В тот момент я называл ее „дискретной“». С каждым поворотом вращающегося цилиндра щетки должны «встряхивать» память, состоящую из конденсаторов, а также при необходимости снимать старые данные с конденсаторов и вводить новые. Он также придумал схему, которая позволяла считывать числа с двух разных цилиндров с конденсаторами, а затем использовать схему на электронных лампах, чтобы их складывать и вычитать, после чего результат отправлять в блок памяти. Как он вспоминал, после нескольких часов обдумывания всех этих проблем он «сел в машину и поехал домой, уже не так быстро»[97].
К маю 1939 года Атанасов был готов начать создание прототипа. Ему нужен был помощник, предпочтительно аспирант с инженерными навыками. Однажды друг, работавший на том же факультете, сказал ему: «У меня есть как раз такой человек, который тебе нужен». Так у него началось сотрудничество с Клиффордом Берри — тоже сыном электрика-самоучки[98].