Компьютер Атанасова — Берри (Atanasoff-Berry Computer, ABC) — первое цифровое вычислительное устройство, которое также является первой вычислительной машиной без движущихся частей.
Ещё в середине 1930-х, Джон Атанасов, американский учёный болгарского происхождения, задумывается над проблемой автоматизации решения больших систем линейных алгебраических уравнений. Главная причина заключалась в том, что он считал точность аналоговых методов решения при помощи дифференциального анализатора Вэнивара Буша недостаточной, а устройств, реализующих цифровой подход ещё не было. Джон пробовал модифицировать калькулятор фирмы IBM для решения систем уравнений, но из-за сложности работы в итоге отказался.
Идеи и принципы создания цифрового компьютера к нему пришли ещё перед Второй мировой, в 1937 году. Позднее Атанасов сформулировал эти принципы:
Для реализации его планов требовался хороший изобретатель, разбирающийся в электронике. Декан инженерного факультета, к которому обратился Атанасов, предложил Клиффорда Эдварда Берри, многообещающего трудолюбивого учёного, хорошо разбирающегося в электронике. Так появилась команда Атанасов – Берри.
Уже осенью 1939 года появились наброски компьютера Атанасова – Берри. Джон настоял, чтобы компьютер позже называли ABC (Atanasoff-Berry Computer). Проектирование и конструирование машины осуществлялось с конца 1939 года до середины 1942 года, когда она была успешно протестирована. Устройство для хранения промежуточных результатов на основе бумажных карт было довольно ненадёжным. Работа над машиной была приостановлена по причине того, что Атанасов покинул Университет штата Айова, т.к. был призван на военную службу в связи с той самой Второй мировой войной.
Что же из себя представлял компьютер ABC? Из письма Берри Р.Ричардсу:
«Машина была сконструирована только с одной целью – решения больших систем линейных алгебраических уравнений. В ней задействована двоичная арифметика, длина слова равна 50 битам. Основной метод решения (метод Гаусса) заключался в последовательном исключении коэффициентов» из пар уравнений, чтобы сократить первоначальную квадратную матрицу до треугольной. Из-за того, что внутренняя память компьютера одновременно сохраняла коэффициенты двух уравнений, промежуточные результаты хранились на специальных перфокартах, каждая из которых содержала тридцать 50-разрядных двоичных чисел.
Перфокарты, в свою очередь, снова считывались машиной на последующем этапе процедуры. Носитель информации перфорировался или считывался в течение секунды, однако вставлять его нужно было вручную. Максимальное время, требуемое машине для исключения переменной составляло не более 90 секунд, но это в наихудшем случае, в идеале – меньше в два раза.
В машину входило два запоминающих устройства – по одному для коэффициентов каждой из пар уравнений. Эти запоминающие устройства состояли вращающихся барабанов, к которым были прикреплены маленькие конденсаторы, каждый из этих конденсаторов был подключён к маленькому контакту из латуни, который был на поверхности барабана. Почти вся периферийная поверхность барабана была занята этими контактами (30 рядов Х 50 контактов), а примерно 1/6 поверхности оставалась пустой, предоставляя время для других операций. Сами барабаны приводились в движение редукторным синхронным двигателем со скоростью 1 оборот в минуту. Полярность заряда на конденсаторе указала «1» или «0», и каждый конденсатор после считывания перезаряжался, чтобы заряд не оставался на нём более 1 секунды. Все слова параллельно обрабатывались, но внутри каждого слова цифры обрабатывались последовательно. Прежде чем проектировать память на конденсаторах, нами было серьёзно рассмотрена идея использования магнитных барабанов. Идея была отвергнута по причине низкого уровня сигналов.
В наличии было 30 идентичных арифметических устройств, которые, в принципе, являлись двоичными сумматорами. Каждое из них состояло из ряда электровакуумных ламп с прямой связью (семь сдвоенных триодов), соединённых между собой так, чтобы выполнять двоичное сложение. Каждое устройство обладало 3 входами: 2 из них для складываемых или вычитаемых чисел и 1 для переноса с предыдущего места) и 2 выхода (1 для результата на то же месте, а второй – для переноса на другое место).
Начальный ввод данных в устройство осуществлялся при помощи карт, считываемых специальным устройством вышеописанной конструкции. Каждая карта содержала пять 15-разрядных десятичных чисел, которые считывались в течение 15 секунд. Компьютер выполнял преобразование десятичных чисел в двоичные с помощью вращающегося барабана, на котором были контакты. На выходе для обратного преобразования использовался этот же аппарат в обратном порядке и на механическом счётчике появлялся десятичный результат. Единственным крупным узлом, не законченным к моменту прекращения работы в 1942 году, была схема считывания двоичных карт. Основная вычислительная часть работы была завершена и машина работала более года, но этого было мало, ведь хранение промежуточных результатов отсутствовало».
Важно отметить, что в ABC впервые появились некоторые элементы близкие современным компьютерам, например, такие как двоичная арифметика и
триггеры (класс электронных устройств, обладающих способностью длительно находиться в одном из двух устойчивых состояний и чередовать их под воздействием внешних сигналов), при этом существенное различие заключалось в особой специализации машины и неспособность к изменяемости вычислений из-за отсутствия хранимой
программы.
Работа Джона Атанасова и Клиффорда Берри над вычислительной машиной долгое время широко известна не была до тех пор, пока в 1960-х годах она не всплыла в ходе конфликта на тему первого появления электронного компьютера. Считалось, что первым компьютером в современном смысле этого слова является
ENIAC, но в 1973 году Федеральный районный суд США постановил отозвать патент ENIAC и установил, что первым «компьютером» является ABC.
08.12.2014
© greenmile
В начало