Компьютер Атанасова: предтеча фон Неймана

Часть 1


Вспомнить все

Прародителем современных электронных компьютеров традиционно считается ENIAC, представленный публике 14 февраля 1946 года. Колоссальная по размерам машина содержала в центральном процессорном устройстве 17468 вакуумных ламп, занимала площадь более 200 квадратных метров, потребляла 174 киловатт электроэнергии и стоила миллион долларов (на нынешние деньги эта сумма равна десяткам миллионов). ENIAC мог выполнять 5000 сложений, 50 умножений или 5 делений в секунду, то есть по функциональности соответствовал современному программируемому калькулятору. Но мало кто знает, что в 1973 году американский суд постановил считать патент на компьютер ENIAC недействительным. Судья заявил, что его создатели "не были первыми изобретателями автоматического электронного цифрового компьютера, они лишь воспользовались идеями некоего д-ра Джона Атанасова".

Однако изменения в большинство учебников и справочников так и не были внесены. И до сих пор вычислительное устройство ABC Джона Атанасова известно лишь довольно узкому кругу специалистов. Между тем, история создания и устройство действительно первого электронного компьютера заслуживают намного большего внимания.


Предыстория: 1930-е

 

В конце 30-х годов делалось много взаимно дополнявших и стимулировавших друг друга попыток автоматизировать и ускорить инженерные расчеты, требовавшие неоправданно большого объема ручных вычислений. В то время Ванневар Буш построил механический компьютер, в котором вычисления выполнялись посредством вращающихся шестеренок и валиков. Конрад Цузе в Германии, Джон Стибиц из компании Bell Telephone Laboratories и Говард Эйкен из Гарвардского университета независимо друг от друга создали "электромеханические вычислители", основанные на использовании реле. Были и другие разработки: наступление ядерной эры порождало огромный спрос на вычислительные мощности. И вот, наконец, в 1945 году Джон Мочли и Преспер Эккерт с группой сотрудников из Пенсильванского университета приступили к строительству "Электронного численного интегратора и компьютера" - ENIAC. Однако к тому моменту уже существовали - и работали! - два небольших электронных компьютера, созданных Джоном Атанасовым. Так что создатели ENIAC уже опирались на чужие разработки.


Дао Атанасова

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

Однако цельное понимание того, какой должна быть ЭВМ, никак не выкристаллизовывалось в сознании ученого. До одного странного зимнего вечера. Десятилетия спустя Атанасов вспоминал:

"Я был так раздосадован неудачами, что, покинув лабораторию, сел в машину и поехал на большой скорости по шоссе, целиком сконцентрировав свое внимание на вождении, чтобы развеяться и отвлечься от неприятных переживаний. Через несколько часов я очутился в 200 милях от дома, в штате Иллинойс. Остановил машину у ярко освещенного придорожного бара, чтобы чего-нибудь выпить. Я снял пальто, повесил, сделал заказ официанту и, когда он принес спиртное, я вдруг ощутил, что успокоился и обратился опять к своим размышлениям о вычислительных машинах. Я не знаю, почему моя голова вдруг заработала и почему она не работала до этого, но все как-то прояснилось, я думал четко и спокойно... Наверное, я выпил две рюмки, прежде чем понял, что мне приходили в голову очень хорошие мысли и я существенно продвинулся вперед".

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


Первая попытка

Прототип компьютера АВС был построен в 1939 году. Целью его создания была проверка инженерных решений - регенерации конденсаторов памяти и возможности проводить вычисления посредством логических схем - набора электронных ламп, который складывает или вычитает двоичные числа в соответствии с логическими правилами. Прототип сразу заработал! При повороте диска памяти, на каждой стороне которого конденсаторы хранили по одному 25-разрядному двоичному числу, одна логическая схема складывала или вычитала числа, записанные в памяти на противоположных сторонах диска. Одновременно с тем, как логическая схема выполняла вычисления над очередным разрядом чисел (запоминая в процессе разряд переноса или заема или считывая его из конденсатора переноса), схема регенерации обновляла содержимое памяти.

Уже тот, первый, цифровой компьютер Атанасова легко достигал точности в 1000 раз большей, по сравнению с точностью дифференциального анализатора Ванневара Буша. К тому же точность компьютера можно было легко повысить, просто добавив еще несколько разрядов. Это было сенсацией, ведь у аналоговых компьютеров повышение точности достигается с большим трудом и затратами. (Например, чтобы повысить точность логарифмической линейки в 10 раз, во столько же раз придется увеличить ее длину.)

Ключевой разработкой Атанасова было создание сложного электронного переключателя - логической схемы. Изначально он мысленно представил себе две ячейки памяти, которые назвал счетами, и некий "черный ящик" - логическую схему, в которую поступают числа, хранящиеся в памяти. В "черный ящик" закладываются (как говорил Атанасов, "запаиваются") логические правила, в соответствии с которыми он выдает на свои выводы правильные результаты при операциях над числами. Атанасов решил построить свой "черный ящик" из электронных ламп, получающих сигналы от конденсаторов блока памяти.

Кстати, еще до решения использовать конденсаторы Атанасов изучал другие варианты - например, использование электронных вакуумных ламп или ферромагнитных материалов. Конденсаторы были выбраны по двум причинам: дешевизна и возможность посылать сигналы арифметическому устройству без дополнительного усиления. Ученый объединил конденсаторы блока памяти в два устройства, которые назвал "клавиатурной памятью" и "памятью счетчика". Это было сделано по аналогии с клавишами и движущейся кареткой-счетчиком распространенного тогда механического калькулятора. Лампы получали сигналы от конденсаторов, хранивших разряды переноса (при сложении) или разряды заема (при вычитании). Логическая схема выбирала правильный ответ и заменяла содержимое счетчика результатом операции. Причем электронные лампы обрабатывали данные с очень высокой скоростью - это их свойство в те годы было наиболее важным.

Система ввода-вывода, центральный процессор и память - все эти элементы современного компьютера присутствовали в прототипе Джона Атанасова.

(Окончание следует)

Виктор ДЕМИДОВ


Джон Винсент Атанасов родился 4 октября 1903 года в США в семье болгарского эмигранта. Он рано проявил значительные способности к математике: уже в девять лет научился пользоваться логарифмической линейкой, а курс высшей школы прошел за два года. В 1925 году он получил степень бакалавра в области электротехники, а в 1926 - магистра математики. В 1930 году Джон Винсент стал доктором философии в области теоретической физики и приступил к самостоятельным исследованиям. В 1936 году Атанасов разработал аналоговый калькулятор, а в 1939 году совместно с Клиффордом Берри создал вычислительную машину ABC. В основу ее работы были положены принципы бинарной математики и булева алгебра. В начале 40-х Атанасов познакомился с Преспером Эккертом, а в 1945 году они работали в одном проекте для лаборатории Военно-морских сил США. Именно это обстоятельство впоследствии стало основанием для судебных разбирательств по вопросам интеллектуальной собственности. После Второй мировой войны Атанасов занимался вопросами сейсмографии, основал несколько компаний. Умер Джон Винсент Атанасов 15 июня 1995 года.

Версия для печатиВерсия для печати

Номер: 

12 за 2008 год

Рубрика: 

Вчера
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!
 

Комментарии

Аватар пользователя mike
А не забивал бы автор головы молодёжи трескотнёй типа "предтеча фон Неймана". Комп Атанасова гораздо ближе к т.н. "гарвардской" структуре, а не к неймановской. Кстати, "гарвардская" структура не умерла, а живёт в микроконтроллерах, обеспечивая устойчивость софта, недостижимую ни в офисных, ни в промышленных компах.