Ретроспектива: аналитическая машина Бэббиджа

Чарльз Бэббидж вошел в историю как изобретатель аналитической машины Бэббиджа - первого прообраза компьютера. До него также создавались механические счетные машины: устройство Блеза Паскаля, машина Лейбница, арифмометр Кальмара. Но это были обычные "калькуляторы", в то время как аналитическое устройство Бэббиджа являлось полноценным компьютером: машина состояла из трех устройств ввода информации с перфокарт (с них считывались программа и данные, подлежащие обработке), запоминающего устройства, блока управления и устройства вывода результатов вычислений (принтер Бэббиджа). Объем памяти составлял 50 машинных слов по 40 цифр (разрядов) каждое. Компьютер имел 2 регистра-аккумулятора - "быструю" память, в которой "накапливался" результат арифметических действий. Количество деталей машины превышало 50.000. Устройство приводилось в действие при помощи энергии пара, то есть вычисления были полностью автоматизированы и не требовали присутствия человека. Причем на операцию сложения затрачивалось 3 секунды, умножения и деления - 2 минуты. Аналитическая машина выполняла определенный набор инструкций (программу), которые записывались на перфокартах (прямоугольниках из картона). Каждой инструкции аналитической машины соответствовала определенная последовательность отверстий, которые пробивались на перфокартах, а затем через устройство ввода поступали в блок управления.

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

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

И в 1833 году он пришел к идее создания еще более мощного, управляемого программой механического цифрового компьютера, названного им Аналитической машиной. В Аналитической машине Бэббиджа имелись все основные компоненты, из которых состоит современный компьютер. К 1840 году Бэббидж практически полностью завершил разработку Аналитической машины и тогда же понял, что воплотить ее на практике сразу не удастся из-за технологических проблем. А потому приступил к проектированию "Разностной машины №2" - промежуточной ступени между "Разностной машиной", ориентированной на выполнение строго определенной задачи, и вторым аппаратом (Аналитической машиной Бэббиджа), способным автоматически вычислять практически любые алгебраические функции. Попытавшись получить у правительства Британии грант на постройку новой машины, он встретил отказ, мотивированный тем, что предыдущее устройство так и не было завершено. И к 1851 году Бэббидж отчаялся воплотить свое изобретение в жизнь.

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

 

При жизни Бэббиджа его устройство так и не было построено. Однако позже, уже после смерти Бэббиджа, его сын Генри собрал центральный блок Аналитической машины Бэббиджа, арифметического устройства, которое в 1888 году вычислило произведения числа "пи" на числа натурального ряда от одного до 32 с точностью до 29 знаков! Машина Бэббиджа оказалась работоспособной, но Чарльз этого так и не увидел.

Однако вплоть до начала 1990-х годов существовало мнение, что идеи Чарльза Бэббиджа слишком опережали технические возможности его времени, а потому спроектированные вычислительные устройства, в принципе, невозможно было построить в ту эпоху. И лишь в 1991 году, к двухсотлетию со дня рождения ученого, сотрудники лондонского Музея науки воссоздали по его чертежам 2,6-тонную "Разностную машину №2", а в 2000 году - еще и 3,5-тонный принтер Бэббиджа. Оба устройства, созданные по технологиям середины XIX века, превосходно работают и наглядно демонстрируют, что история компьютеров вполне могла начаться сотней лет раньше.

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

Сергей БОНДАРЕНКО Aka WildCat,
tetravita@mail.ru

Версия для печатиВерсия для печати

Номер: 

48 за 2004 год

Рубрика: 

Вчера
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!