ABC — Первый компьютер?


Если вас вообще интересует история компьютера, вы не можете не обсудить вопрос о том, кто на самом деле изобрел первую машину?

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

A = Атанасов

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

Джон Винсент Атанасов (1903-1995)

Отец Атанасова был болгарским иммигрантом в США. Он работал горным инженером во Флориде, и он и его жена, школьная учительница, поощряли ранний интерес своего сына к математике. В девять лет Джон обнаружил логарифмическую линейку, которую только что купил его отец, и стал играть с ней как с самой увлекательной игрушкой. Конечно, логарифмическая линейка была простым аналоговым компьютером.

Логарифмическая линейка

Мальчиком Атанасов изучал физику и химию и читал все, что попадалось под руку. К тому времени, когда он достиг средней школы, он решил стать физиком-теоретиком. В конце концов он поступил в Университет Флориды и изучал электротехнику. Затем он поступил в аспирантуру Университета Айовы и получил степень магистра математики. Затем он поступил в Университет Висконсина, чтобы защитить докторскую диссертацию. Его диссертация была посвящена диэлектрической проницаемости гелия — настолько далека от вычислений, насколько это возможно, — но в свободное время он изучал электронику ради развлечения. В конце концов он стал адъюнкт-профессором математики и физики в Государственном колледже Айовы.

Машина для решения уравнений

Как и у многих ученых того времени, у Атанасова были большие проблемы с расчетами. Он организовал своих аспирантов в команды, работающие с механическими калькуляторами Монро, но решение уравнений все еще было слишком медленной задачей. Он думал об использовании механических аналоговых компьютеров, которые становились важными благодаря работе Ванневара Буша, но они могли решать только обыкновенные дифференциальные уравнения, а Атанасов хотел решать системы уравнений в частных производных. Короче говоря, ему нужен был мощный цифровой компьютер. Он подумал об использовании механических калькуляторов и даже начал модифицировать калькулятор IBM, но IBM пожаловалась на повреждение арендованной машины! Его самая безумная схема заключалась в том, чтобы использовать тридцать калькуляторов Монро, приводимых в движение одним валом, а не вручную проворачивать каждый по очереди!

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

«Я пошел, чтобы облегчить свои внутренние мучения на компьютере», — вспоминал он много лет спустя. Путешествие в восемьдесят миль его не беспокоило. «Я был очень расстроен … Двигаясь быстро, я мог заставить себя уделять внимание вождению, а не размышлениям».

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

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

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

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

B = Ягода

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

Клиффорд Берри (1918-1963)

Атанасов и Берри начали совместную работу над прототипом машины весной 1939 года, и к декабрю того же года он заработал достаточно, чтобы продемонстрировать чиновникам колледжа штата Айова грант в размере 850 долларов на создание полномасштабной машины, способной решать системы уравнений. Работа над этой машиной началась еще до конца года.

ABC

ABC для Atanasoff Berry Computer была потрясающей машиной. В логике использовалось 300 клапанов, а память была построена с использованием бакелитовых барабанов диаметром примерно 8 дюймов и длиной 11 дюймов. На каждом барабане рядами были установлены конденсаторы. Заряд на каждом считывался или обновлялся по мере вращения барабана. Емкость хранилища составляла тридцать пятидесятиразрядных чисел на барабан, то есть примерно 1,5 Кбайт. Для сопоставления тридцатигитовых чисел было тридцать единиц сложения/вычитания. Ввод осуществлялся через перфокарты — пять 15-значных чисел на карту, закодированных в десятичной системе. Еще одним нововведением стало использование искрохранилища на картах. Искра была устроена так, чтобы она могла обжечь карту в нужных местах. Обугленные пятна уменьшили сопротивление карты, так что ее можно было прочитать с помощью простого зонда.


Добавить комментарий