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

5у = 9 и х + 2у = 4, где х и у - неизвестные переменные. Обозначим первое уравнение а, и второе - b.

Как известно всякому, кто изучал алгебру в школе, такая система уравнений решается так называемым методом исключения Гаусса: сложением или вычитанием одного уравнения из другого с предварительным умножением их на определенные коэффициенты, так чтобы в результирующем уравнении одна из переменных пропала. В данном примере, вычитая умноженное на 2 уравнение b из уравнения а, мы сводим коэффициент при х к 0 и получаем уравнение у = 1. Теперь, если подставить 1 вместо у в первое уравнение а, то в результате получим х = 2. Заметим, что мы могли бы дважды вычесть уравнение b из уравнения а, что экивалентно умножению уравнения b на 2 с последующим его вычитанием из а, в конце концов умножение - это лишь многократное сложение.

Атанасов, разумеется, нацелился на решение более сложной задачи: он хотел, чтобы машина решала n уравнений с n неизвестными, а именно 29 уравнений с 29 неизвестными от х до х29. Такие системы уравнений решаются тем же способом, который мы рассмотрели применительно к простенькому примеру из двух уравнений. Здесь также нужно взять два уравнения, например

2x1 + 5x2 - 3x3 + 7x4 + ... +6x29 = 9

и

x1 + 2x2 + 4x3 - 2x4 + ... +8x29 = 4

и вычесть одно уравнение, умноженное на какое-то подходящее число, из другого, так чтобы исключить одно из неизвестных. Скажем, для того чтобы исключить x1, мы должны умножить второе уравнение на 2 и вычесть его из первого, после чего мы получим уравнение с одним исключенным неизвестным:

x2 - 11x3 + 11x4 + ... +10x29 = 1.

Повторяя ту же процедуру с другими парами уравнений, можно получить 28 уравнений с исключенным неизвестным x1. Теперь все повторяется для этих 28 уравнений, из которых мы получим 27 уравнений с исключенными неизвестными x1 и x2 и т.д., пока не останется одно уравнение с одним неизвестным. Затем, имея значение этого неизвестного и возвращаясь по иерархии уравнений, легко определит значения остальных неизвестных.

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

Каждая логическая схема выполняла сложение двух чисел, как в рассмотренном здесь примере (а) в соответствии с правилами, представленными в таблице (b). Допустим, нужно сложить двоичный эквивалент числа 19 в счетчике с эквивалентомчисла 11 на клавиатуре. После того как эти числа преобразованы в двоичную форму, т.е. разложены по степеням двойки (20, 21, 22, 23, или 1,2,4,8), их можно записать как 10011(16+0+0+2+1) и 01011 (0+8+0+2+1). Логическая схема начнет выполнять операцию со сложения разрядов в крайнем правом столбце (2°). При этом она определит, что сочетание разрядов в счетчике, на клавиатуре и в бите переноса - 1,1,0 соответствует третьей от конца строчке в таблице. (Исходное значение бита переноса всегда равно 0.) Согласно графе "выход" в таблице, схема (с) пошлет сигнал 0 {черный) на счетчик (где фиксируются результаты), заменяя старое значение 1. Сигнал 1 {красный) будет послан в ячейку переноса. Эта процедура эквивалентна подсчету "1 плюс 1 равно 2" при условии, что это число 2 по основанию 2 записывается как 10. Аналогичным образом схема сложит затем последовательно разряды в остальных колонках, пока не будет получен окончательный результат.

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

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

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

Система ввода-вывода на перфокартах хорошо работала во время предварительных испытаний, но когда ее подсоединили к "АВС", стали возникать ошибки, приблизительно одна на каждые 10 000 операций чтения или перфорирования. Это означало, что эта машина без сложной системы перепроверок не могла быть надежным средством решения больших систем уравнений, хотя маленькие системы она решала хорошо. Атанасов и Берри пытались решить эту относительно несложную техническую проблему, но начавшаяся вторая мировая война заставила их бросить работу над компьютером. Берри был переведен на другую работу в ожидании призыва, а Атанасов поступил на военную службу в качестве сотрудника военно-морской артиллерийской лаборатории.

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

Если бы Атанасов и Берри смогли продолжить свою работу, то несомненно "АВС" был бы полностью готов к работе в 1943 г. Вместо этого его постигла участь большинства устаревших машин: через некоторое время он был разобран на детали и демонтирован без ведома самого Атанасова.

Но если компьютер "АВС" был так надолго забыт, то каким образом идеи Атанасова повлияли на дальнейшее развитие вычислительной техники? Ответ на этот вопрос заключается в работе Мочли, использовавшего новшества Атанасова в конструкции компьютера "ENIAC".

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

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

Как вспоминает Атанасов, к маю 1941 г. "мы уже знали, что можем построить машину, способную выполнять любые вычисления". Он решил тогда, что "АВС" можно преобразовать в цифровой электронный дифференциальный анализатор, после того как один из его коллег из Массачусетского технологического института сказал ему, что там группа сотрудников рассматривает возможность реализации новой аналоговой версии анализатора на основе электроники. Атанасов написал о своей идее Мочли, и они подробно обсудили ее, когда Мочли в июне 1941 г. приехал к Атанасову, пробыв у него около недели. Во время этого визита Атанасов продемонстрировал также свой компьютер "АВС", который к тому времени был почти готов к работе. Через четыре года идеи Атанасова нашли воплощение в компьютере "ENIAC".

"ENIAC" и "Colossus", который также был программируемым, подготовили почву для следующего шага в развитии вычислительной техники - размещения программы в памяти компьютера. Эта идея позволила не только облегчить программирование универсальных машин, но и дала тиможность программе менять дальнейший ход действий в зависимости от результатов, получаемых на промежуточных этапах решения задачи.

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

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

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

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

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

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

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

Список литературы

Arthur W. Burks and Alice E.Burks. The ENIAC: First general-purpose electronic computer. // In Annals of the Hystory of Computing, Vol. 3, No. 4, pages 310-399; October, 1981.

John Vinsent Atanasoff. Advent of electronic digital computing. // In Annals of the Hystory of Computing, Vol. 6, No. 3, pages 229-282; July, 1984.

Alice R. Burks and Arthur W. Burks. The first electronic computer: the atanasoff story. University of Michigan Press, 1988.

Dark R. Mollenhoff. Atanasoff: Forgotten farther of the computer, Iowa State University Press, 1988.

Allan R. Mackintosh. The first electronic computer. // In Physics Today, Vol. 40, No. 3, pages 25-32; March, 1988. 




3-11-2013, 01:27

Страницы: 1 2
Разделы сайта