Компьютер Атанасова-Берри ( ABC ) был первым автоматическим электронным цифровым компьютером . [1] Ограниченное технологиями того времени и исполнением, устройство оставалось несколько неясным. Приоритет ABC обсуждается среди историков компьютерных технологий, поскольку он не был ни программируемым , ни полным по Тьюрингу . [2] Традиционно ABC можно считать первым электронным АЛУ ( арифметико-логическим устройством ), которое интегрировано в конструкцию каждого современного процессора.
Его уникальный вклад состоял в том, что он сделал вычисления быстрее, став первым, кто использовал электронные лампы для выполнения арифметических вычислений. До этого более медленные электромеханические методы использовались в компьютере Z1 Конрада Цузе и одновременно разработанном Harvard Mark I. Первая электронная, программируемая, цифровая машина, [3] компьютер Colossus с 1943 по 1945 год, использовала похожую ламповую технологию, как и ABC.
Задуманная в 1937 году, машина была построена профессором математики и физики колледжа штата Айова Джоном Винсентом Атанасоффом с помощью аспиранта Клиффорда Берри . Она была разработана только для решения систем линейных уравнений и была успешно испытана в 1942 году. Однако ее механизм хранения промежуточных результатов, устройство записи/считывания бумажных карт, не был усовершенствован, и когда Джон Винсент Атанасофф покинул колледж штата Айова для выполнения заданий во время Второй мировой войны, работа над машиной была прекращена. [4] ABC стала пионером важных элементов современных вычислений, включая двоичную арифметику и электронные коммутационные элементы, [5] но ее специализированная природа и отсутствие изменяемой, хранимой программы отличают ее от современных компьютеров. Компьютер был обозначен как Milestone IEEE в 1990 году. [6]
Компьютерная работа Атанасова и Берри не была широко известна, пока не была вновь открыта в 1960-х годах, на фоне патентных споров по поводу первого экземпляра электронного компьютера. В то время ENIAC , созданный Джоном Мокли и Дж. Преспером Экертом , [7] считался первым компьютером в современном смысле [ требуется ссылка ], но в 1973 году окружной суд США признал патент ENIAC недействительным и пришел к выводу, что изобретатели ENIAC заимствовали предмет электронного цифрового компьютера у Атанасова. Когда в середине 1970-х годов была снята секретность, окружающая разработку британцами во время Второй мировой войны компьютеров Colossus, которые предшествовали ENIAC, [8] [9] и Colossus был описан на конференции в Лос-Аламосе, штат Нью-Мексико , в июне 1976 года, Джон Мокли и Конрад Цузе , как сообщалось, были поражены. [10]
Согласно рассказу Атанасова, несколько ключевых принципов компьютера Атанасова–Берри были задуманы в результате внезапного озарения после долгой ночной поездки в Рок-Айленд, штат Иллинойс , зимой 1937–38 годов. Инновации ABC включали электронные вычисления, двоичную арифметику, параллельную обработку , регенеративную конденсаторную память и разделение функций памяти и вычислений. [11] Механическая и логическая конструкция были разработаны Атанасовым в течение следующего года. Заявка на грант для создания прототипа доказательства концепции была подана в марте 1939 года в отдел агрономии , который также был заинтересован в ускорении вычислений для экономического и исследовательского анализа. 5000 долларов дополнительного финансирования (что эквивалентно 110 000 долларов в 2023 году) для завершения машины поступили от некоммерческой Исследовательской корпорации Нью-Йорка. [ необходима цитата ]
ABC была построена Атанасоффом и Берри в подвале физического корпуса в колледже штата Айова с 1939 по 1942 год. Первоначальные средства были выделены в сентябре, а прототип с 11 лампами был впервые продемонстрирован в октябре 1939 года. Декабрьская демонстрация побудила выделить грант на строительство полномасштабной машины. [12] [13] ABC была построена и испытана в течение следующих двух лет. 15 января 1941 года в статье в Des Moines Register было объявлено, что ABC является «электрической вычислительной машиной» с более чем 300 электронными лампами, которые будут «вычислять сложные алгебраические уравнения» (но не было дано точного технического описания компьютера). Система весила более семисот фунтов (320 кг). Она содержала приблизительно 1 милю (1,6 км) провода, 280 двойных триодных электронных ламп , 31 тиратрон и была размером примерно со стол.
Он не был программируемым, что отличало его от более общих машин той же эпохи, таких как Z3 Конрада Цузе 1941 года (или более ранних версий) и компьютеров Colossus 1943–1945 годов. Он также не реализовал архитектуру хранимой программы , впервые реализованную в Manchester Baby 1948 года, необходимую для полностью универсальных практических вычислительных машин.
Однако эта машина была первой, в которой были реализованы:
Память компьютера Атанасова–Берри представляла собой систему, называемую регенеративной конденсаторной памятью , которая состояла из пары барабанов, каждый из которых содержал 1600 конденсаторов , вращавшихся на общем валу один раз в секунду. Конденсаторы на каждом барабане были организованы в 32 «полосы» по 50 (30 активных полос и две запасных на случай отказа конденсатора), что давало машине скорость 30 сложений/вычитаний в секунду. Данные были представлены в виде 50-битных двоичных чисел с фиксированной точкой . Электроника памяти и арифметических устройств могла хранить и обрабатывать 60 таких чисел одновременно (3000 бит).
Частота сети переменного тока 60 Гц была основной тактовой частотой для операций самого низкого уровня.
Арифметические логические функции были полностью электронными, реализованными с помощью вакуумных ламп. Семейство логических вентилей варьировалось от инверторов до двух- и трехвходовых вентилей. Уровни входных и выходных сигналов и рабочие напряжения были совместимы между различными вентилями. Каждый вентиль состоял из одного инвертирующего лампового усилителя, которому предшествовала входная сеть резисторного делителя, определяющая логическую функцию. Функции управляющей логики, которые должны были срабатывать только один раз за оборот барабана и, следовательно, не требовали электронной скорости, были электромеханическими, реализованными с помощью реле .
АЛУ работало только с одним битом каждого числа за раз ; оно сохраняло бит переноса/заимствования в конденсаторе для использования в следующем цикле переменного тока. [14]
Хотя компьютер Атанасова–Берри был важным шагом вперед по сравнению с более ранними вычислительными машинами, он не мог полностью автоматически пробежать через всю проблему. Оператор был нужен для управления переключателями управления, чтобы настроить его функции, во многом как электромеханические калькуляторы и оборудование для записи единиц того времени. Выбор операции для выполнения, чтение, запись, преобразование в двоичную или из двоичной системы в десятичную или сокращение набора уравнений производились переключателями на передней панели и, в некоторых случаях, перемычками.
Существовало две формы ввода и вывода: первичный пользовательский ввод и вывод и промежуточный вывод и ввод результатов. Хранилище промежуточных результатов позволяло работать с задачами, слишком большими, чтобы полностью уместить их в электронную память. (Самой большой задачей, которую можно было решить без использования промежуточного вывода и ввода, были два одновременных уравнения , тривиальная задача.)
Промежуточные результаты были двоичными, записанными на листах бумаги путем электростатического изменения сопротивления в 1500 местах для представления 30 из 50-битных чисел (одно уравнение). Каждый лист мог быть записан или прочитан за одну секунду. Надежность системы была ограничена примерно 1 ошибкой на 100 000 вычислений этими устройствами, в первую очередь из-за отсутствия контроля за характеристиками материала листов. Оглядываясь назад, решением могло бы быть добавление бита четности к каждому числу при написании. Эта проблема не была решена к тому времени, когда Атанасов покинул университет для работы, связанной с войной.
Основной пользовательский ввод был десятичным и осуществлялся с помощью стандартных 80-колоночных перфокарт IBM , а вывод также был десятичным и осуществлялся с помощью дисплея на передней панели.
ABC была разработана для определенной цели — решения систем одновременных линейных уравнений. Она могла обрабатывать системы с числом уравнений до 29, что было сложной задачей для того времени. Задачи такого масштаба становились обычным явлением в физике, на кафедре, где работал Джон Атанасов. Машине можно было ввести два линейных уравнения с числом переменных до 29 и постоянным членом и исключить одну из переменных. Этот процесс повторялся вручную для каждого из уравнений, что приводило к системе уравнений с числом переменных на одну меньше. Затем весь процесс повторялся для исключения еще одной переменной.
Джордж В. Снедекор , глава статистического департамента штата Айова, был, скорее всего, первым пользователем электронного цифрового компьютера, который решал реальные математические задачи. Он передал многие из этих задач Атанасову. [15]
26 июня 1947 года Дж. Преспер Экерт и Джон Мокли первыми подали заявку на патент на цифровое вычислительное устройство ( ENIAC ), к большому удивлению Атанасова. ABC был изучен Джоном Мокли в июне 1941 года, и Айзек Ауэрбах, [16] бывший студент Мокли, утверждал, что он повлиял на его более позднюю работу над ENIAC, хотя Мокли это отрицал. [17] Патент на ENIAC был выдан только в 1964 году, и к 1967 году Honeywell подала в суд на Sperry Rand , пытаясь нарушить патенты ENIAC, утверждая, что ABC представляет собой предшествующий уровень техники . Окружной суд США по округу Миннесота вынес свое решение 19 октября 1973 года, постановив в деле Honeywell против Sperry Rand , что патент на ENIAC был производным от изобретения Джона Атанасова.
Кэмпбелл-Келли и Аспрей приходят к выводу: [18]
Степень, в которой Мокли использовал идеи Атанасова, остается неизвестной, а доказательства огромны и противоречивы. ABC была довольно скромной технологией, и она не была полностью реализована. По крайней мере, мы можем сделать вывод, что Мокли видел потенциальное значение ABC, и что это могло побудить его предложить похожее электронное решение.
Дело было юридически решено 19 октября 1973 года, когда окружной судья США Эрл Р. Ларсон признал патент ENIAC недействительным, постановив, что ENIAC заимствовал многие основные идеи из компьютера Атанасова-Берри. Судья Ларсон прямо заявил:
Эккерт и Мокли не были первыми, кто изобрел автоматический электронный цифровой компьютер, а вместо этого позаимствовали эту тему у доктора Джона Винсента Атанасова.
Герман Голдстайн , один из первых разработчиков ENIAC, писал: [19]
Атанасов задумал хранить коэффициенты уравнения в конденсаторах, расположенных на периферии цилиндра. По-видимому, прототип его машины работал «в начале 1940 года». Следует подчеркнуть, что эта машина была, вероятно, первым применением электронных ламп для выполнения цифровых вычислений и была специализированной машиной. Эта машина так и не увидела свет как серьезный инструмент для вычислений, поскольку была несколько преждевременной в своей инженерной концепции и ограниченной в своей логической. Тем не менее, ее следует рассматривать как большое новаторское усилие. Возможно, ее главное значение заключалось в том, чтобы повлиять на мышление другого физика, который был очень заинтересован в вычислительном процессе, Джона В. Мокли. В период работы Атанасова над своим решателем линейных уравнений Мокли находился в колледже Урсинус, небольшой школе в окрестностях Филадельфии. Каким-то образом он узнал о проекте Атанасова и посетил его на неделю в 1941 году. Во время визита двое мужчин, по-видимому, подробно изучили идеи Атанасова. Эта дискуссия оказала большое влияние на Мокли и через него на всю историю электронных компьютеров.
Оригинальный ABC был окончательно демонтирован в 1948 году [20] , когда университет переоборудовал подвал в учебные классы, и все его части, за исключением одного барабана памяти, были выброшены.
В 1997 году группа исследователей под руководством Делвина Блюма и Джона Густафсона из лаборатории Эймса (расположенной в кампусе Университета штата Айова) завершила создание рабочей копии компьютера Атанасова-Берри стоимостью 350 000 долларов США (что эквивалентно 664 000 долларов США в 2023 году). [21] Копия ABC была выставлена в вестибюле первого этажа Центра вычислений и коммуникаций Дарема в Университете штата Айова, а затем была выставлена в Музее истории компьютеров . [22]