Смекни!
smekni.com

Компьютер Атанасова (стр. 2 из 4)

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

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

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

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

В наши дни цифровые вычисления основаны на двоичной системе счисления. Разумеется, Атанасов был не единственным человеком, кому пришла в голову эта идея; несколько первых электромеханических компьютеров были также двоичными, однако Атанасов был первым, кто решил воспользоваться электронными устройствами для операций над двоичными разрядами. Как выглядит число по основанию 2? В десятичной системе каждый разряд числа представляет справа налево определенное цифрой в "том разряде количество единиц, десятков сотен, тысяч и т.д. Следовательно, обозначение 237 представляет 2 раза по 102, плюс 3 раза по 101, плюс 7 раз по 100 (всякое число в степени 0 равно 1). В двоичном представлении каждый разряд, или бит, как его называют, означает определенное число (нуль или один) единиц, двоек (21), четверок (22), восьмерок (23), 16 (24) и т.д. Таким образом, десятичное число 237 в двоичной системе счисления будет представлено как 11101101. Подсчитаем это число слева направо. Оно "содержит" по одному числу 27 (т.е. 128 в десятичной системе), 26 (64), 25 (32), 23 (8), 23 (4) и 20 (1) и ни одного числа 24 или 21.

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

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

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

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

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

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

В качестве первого шага они решили построить маленький прототип машины, на котором можно было бы практически проверить основные положения концепции Атанасова: электронную логическую схему и регенерируемую двоичную память. С этой задачей они справились, на удивление, быстро. К октябрю 1939 г. опытный образец уже работал. У него было два запоминающих устройства, расположенные на противоположных сторонах пластмассового диска. Каждое устройство памяти состояло из 25 конденсаторов и поэтому могло хранить число, состоящее из 25 двоичных разрядов, что эквивалентно 8-разрядному десятичному числу. Атанасов и Берри вводили двоичные числа в запоминающие устройства вручную, заряжая конденсаторы, представлявшие цифру 1, и оставляя незаряженными те, которые представляли 0. При нажатии кнопки диск поворачивался на одну позицию. При этом электронная логическая схема, состоявшая из 8 электронных ламп, считывала данные с конденсаторов памяти. С учетом сигнала от конденсатора, хранившего разряд переноса, схема складывала очередные два числа и помещала ответ в запоминающее устройство, называемое счетчиком, которое хранило результат. Одновременно число, хранящееся на "клавишном" запоминающем устройстве, регенерировалось при помощи специальной электрической схемы.

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