Разностная машина чарльза бэббиджа год. Аналитическая машина чарльза бэббиджа и первый программист леди лавлейс

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

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

Основными частями Аналитической машины являлись:
1.«склад» - устройство для хранения чисел, то есть память в современной терминологии;
2.«мельница» - устройства для выполнения арифметических действий (Арифметическое устройство);
3.устройство, управляющее операциями машины;
4.устройства ввода и вывода;

(Элемент «мельницы». Рисунок Генри Бэббиджа. )

В такой архитектуре не сложно узреть прообраз современного компьютера с его памятью, процессором (мельница + устройство управления) и устройствами ввода вывода.

«Шину обмена» данными между АЛУ и памятью представлял собой набор зубчатых реек. Объём памяти должен был составлять тысячу чисел по 50 десятичных знаков. Для числа из 50-ти десятичных разрядов со знаком необходимо 168 бит, то есть объём ОЗУ был чуть больше двадцати килобайт. Для сравнения советую посмотреть объём ОЗУ первых компьютеров.

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

Как и в разностной машине, регистры, хранящие числа, представляли собой зубчатые колёса. Знак числа задавался отдельным зубчатым колесом. Если данное колесо отображало чётное число, то это интерпретировалось как положительный знак, иначе как отрицательный.

Операции умножения и деления предполагалось реализовать как последовательные сложения или вычитания.

Расчётное время выполнения операций должно было составлять одну секунду для сложения и вычитания и одну минуту для умножения и деления, что не так уж и плохо для 19го века.

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

(Ткацкий станок с картами Жаккара. )

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

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

Работая над аналитической машиной, Бэббидж сделал более 200 чертежей её различных узлов и около 30 вариантов компоновки машины. Однако размер замысла, и сложный характер изобретателя отсрочили рождение его изобретений на добрую сотню лет. Если взглянуть на разностную машину, которая по замыслу Бэббиджа должна был табулировать до 20-го знака функции с постоянными седьмыми разностями, то близкая по возможностям машина появилась в 1934-м году - она табулировала функции с постоянными разностями седьмого порядка и с точностью до 13 знаков. Что же говорить об исполинских возможностях задуманной аналитической машины…

(Часть печатающего механизма машины. )

После смерти Чарльза Бэббиджа, его сын, Генри, занялся аналитической машиной, решив сосредоточиться на двух узлах - «мельнице» и печатающем устройстве. В 1888-м году были готовы данные узла машины, которые смогли вычислить и напечатать произведение на числа натурального ряда с 29 знаками. При вычислении 32-го члена машина выдала неверный результат из-за сбоя в механизме переноса. Всю оставшуюся жизнь Генри продолжал работу над аналитической машиной отца, а также занимался популяризацией идей вычислительных машин.

Не смотря на то, что Бэббидж за свою жизнь написал немало книг и статей, он так и не создал подробного изложения принципов работы разностной и аналитической машины, так как считал создание машин более важным занятием, нежели их описание. Подробное описание разностной машины было дано Дионисием Ларднером, а аналитическая машина была описана в статье Луиджи Фредериго Менабреа. Именно эта статья и привела к тому, что на свет появилась первая в мире программа и первый программист. Честь носить такое звание имеет Ада Августа Лавлейс, дочь поэта Байрона. Чарльз Бэббидж был знаком с семьёй юной талантливой девушки и всячески поощрял её тягу к науке. Однажды Ада заинтересовалась вычислительными машинами Бэббиджа и взялась за перевод статьи Менабреа. Работая над переводом, Ада, дополнила её своими комментариями, примерами практического использования машин, а также составила «программу» вычисления чисел Бернулли. Имя Ады было увековечено в названии одного из языков программирования - Ада (Ada). Подробнее углубляться в биографию Ады я не буду, т.к. данная тема уже была раскрыта на хабре.

Судьба Чарльза Бэббиджа была не менее сложная, чем судьба его вычислительных машин. Отношение современников к этому учёному со временем менялось от гения до чудака и даже до изобретателя, повредившегося рассудком на почве вычислительных машин. За свою жизнь он создал большое количество разнообразных изобретений, таких как спидометр, динамометр, придумал единый почтовый тариф и прочее. Президент Королевского общества лорд Росс писал что «Бэббидж только своими изобретениями в области машиностроения вполне возместил те средства, которые правительство вложило в строительство его разностной машины».

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

PS: Всем кому интересны механические вычислительные машины, их история создания, описание конструкции и принципов работы и зарождение их электронных собратьев рекомендую найти и прочитать книгу «От абака до компьютера» за авторством Р. С. Гутера и Ю. Л. Полунова 1981 года издания.

На момент прекращения работ над созданием разностной машины деятельный мозг Бэббиджа был занят решением уже другой, более тяжелой задачи. Бэббидж пожелал создать новый прибор - Аналитическую машину (Analytical Engine). Ее главным отличием от разностной машины должно было стать то обстоятельство, что она была программируемой и могла выполнять любые заданные ей вычисления.

От арифмометра новая машина отличалась наличием регистров. В них сохранялся промежуточный результат вычисления, и с их же помощью выполнялись действия, предписанные программой. Вычислительные возможности, открывшиеся после изобретения регистров, поразили самого Бэббиджа. На этот счет сохранилась следующая реплика изобретателя: «Шесть месяцев я составлял проект машины, более совершенной, чем первая. Я сам совершенно поражен той вычислительной мощностью, которой она будет обладать. Еще год назад я не смог бы в такое поверить!»

Архитектура Аналитической машины Чарльза Бэббиджа уже практически соответствует современным ЭВМ. В ней присутствуют все три классических составляющих компьютера:

Control barrel - управляющий барабан (управляющее устройство - УУ), -store - хранилище (теперь мы называем это памятью - ЗУ) -mill - мельница (арифметическое устройство - АУ).

Регистровая память машины Бэббиджа была способна хранить как минимум сто десятичных чисел по 40 знаков, теоретически же могла быть расширена до тысячи 50-разрядных (для сравнения укажем, что запоминающее устройство одной из первых ЭВМ «Эниак» в 1945 г. сохраняло всего 20 десятиразрядных чисел). Арифметическое устройство имело, как мы бы сейчас сказали, аппаратную поддержку всех четырех действий арифметики. Машина производила сложение за 3 секунды, умножение и деление - за 2 минуты. Эта «мельница» состояла из трех основных регистров: два для операндов, а третий для результатов действий, относящихся к умножению. Имелись также таблица для хранения промежуточных результатов и счетчик числа итераций. Основная программа заносилась на барабан (Управляющее устройство), в дополнение к ней могли использоваться перфокарты, предложенные Жозефом Мари Жаккаром еще в 1801 г. для быстрого перехода с узора на узор в ткацких станках.

Большую помощь в разработке машины Бэббиджу оказала Ада Лавлейс (урожденная Байрон). Лавлейс была дочкой знаменитого английского поэта лорда Байрона, но так его никогда и не увидела, так как незадолго до ее рождения он уехал в Грецию, где и погиб в составе отряда повстанцев. Лавлейс бывала в гостях у Бэббиджа со своей подругой Мэри Соммервилл. Бэббидж всегда относился к ним приветливо и подолгу объяснял назначение всех устройств машины. А вскоре он обнаружил незаурядные математические способности Ады Лавлейс. Именно она впоследствии создаст первые в мире теоретические основы программирования, напишет первый учебник по программированию, и войдет в историю как «первая программистка».

Именно Лавлейс принадлежит идея использования для подачи на вход машины двух потоков перфокарт, которые были названы операционными картами и картами переменных: первые управляли процессом обработки данных, которые были записаны на вторых.

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

Бэббидж предлагал также создать механизм для перфорирования цифровых результатов на бланке или металлических пластинках. Для хранения информации в памяти ученый собирался использовать не только перфокарты, но и металлические диски, которые будут поворачиваться на оси. Металлические пластинки и металлические диски могут теперь рассматриваться нами как далекие прототипы магнитных карт и магнитных дисков.

Только в одном отношении аналитическая машина не была автоматической. Функции, записанные таблично, должны были быть заранее отперфорированы. Предвосхищая будущее вычислительных машин, Бэббидж писал: «Кажется наиболее вероятным, что она рассчитывает гораздо быстрее по соответствующим формулам, чем пользуясь своими же собственными таблицами». И действительно, в современных вычислительных машинах существует обширная библиотека стандартных подпрограмм, с помощью которой рассчитываются функции различной степени сложности. Интересно, что термин «библиотека» для данного применения также был впервые употреблен Чарльзом Бэббиджем!

Где-то в 1800-х годах Чарльз Бэббидж изобрел первый компьютер, тогда слово «компьютер» имело иное значение, и он назвал свое изобретение Разностной машиной или Аналитической машиной. Гениальный изобретатель опережал свое время, но, к сожалению, не завершил свое изобретение, и лишь спустя сто лет был изобретен первый настоящий компьютер, но это уже другая история. А сегодняшняя статья об Аналитической Машине Бэббиджа.

Согласно чертежам Бэббиджа машина должна была состоять из следующих частей:

1. Склад - жесткий диск, память; 2. Мельница - процессор; 3. Паровой двигатель - блок питания; 4. Принтер - принтер; 5. Карты операций - программы; 6. Карты переменных - система адресации; 7. Числовые карты - для ввода чисел; 8. Управляющие барабаны - микропрограммы.

Самовычисляющая машина

В этой статье мы попробуем выяснить устройство Аналитической Машины, но для начала следует отметить, что она принадлежала к распространенному с 1740-х годов семейству «автоматических» (само-) механизмов.

И хотя Бэббидж избегал использования этого понятия, в новостях и изданиях ее описывали именно так:

За завтраком я имела удовольствие сидеть рядом с мистером Бэббиджем, известным в наших кругах изобретателем самовычисляющей машины. Взгляд его кажется столь проницательным, будто он видит науку - или любой другой предмет, ставший объектом его внимания, - насквозь.
Эди Седжвик, 1841 г.
Центробежный регулятор - первый из «самодействующих» механизмов индустриальной эпохи. Кстати, именно он является одной из самых узнаваемых частей парового двигателя.


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

Сама же конструкция Разностной машины была схожа с арифмометрами, и, как арифмометры, Машина состояла из длинной череды зубчатых колес, которые складывают числа, а потом выдают сумму.

Где-то в 1834 году Бэббидж усовершенствовал конструкцию, и благодаря возврату суммы обратно в машину стали доступны более сложные вычисления.

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

Примерно все взаимодействовало так:

  1. Карты операций (А) указывают картам переменных (В), что нужно запросить числа для расчетов;
  2. Числа вводятся с числовых карт (С) или со склада (D) и поочередно поступают на ось ввода (Е);
  3. Ось ввода передает числа на центральные колеса (F);
  4. Карта операции дает команду сложения чисел или умножения или иную, а барабаны (G) поворачиваются до положения, в котором их штифты будут соответствовать операции.
  5. Барабаны активируют рычаги, соединяя шестерни мельницы (H) с центральными колесами. А уже в мельнице определенные устройства отвечают за сложение, умножение и иные действия;
  6. Шестерни выполняют умножение исходных чисел;
  7. Мельница при необходимости может зацикливать действия, передавая команды на разные участки перфокарты;
  8. Результат попадает на ось вывода (I).
  9. Ось вывода передает данные на принтер (D) или отправляет на склад согласно картам переменных;
  10. Карты операций подают команду на подачу звонка (J) и на остановку Машины. Всё!

Память: склад

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

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

Кроме зубчатых колес числа могли храниться на числовых картах в виде комбинаций отверстий:

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

Рейки и карты переменных для передачи данных

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


Колеса склада А подключено к рейке В с помощью шестеренки. Обнуляясь, колесо слада поворачивает ось ввода до позиции переданного числа.


Для передачи числа с дальнего конца склада требовалась зубчатая рейка длинной в несколько метров.

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


При отсутствии отверстия на перфокарте рычаг не задействован, но как только отверстие появлялось, рычаг соединял шестеренку со скобой. И шестеренка, поднимаясь вместе со скобой, соединяла колесо ввода с зубчатой рейкой.

Мельница вычислений

После попадания чисел в мельницу начинается главная часть работы Машины - арифметические действия, выполняемые снова и снова.

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

В своих публикациях Бэббидж очеловечивал Машину и про «сквозной перенос» писал:

В случае сквозного переноса Машина способна предвидеть и действовать в соответствии с предвидением.
Чарльз Бэббидж
Конечно, до переноса числа необходимо было сложить, и происходило это примерно так:

Колесо А обнуляется и на нем задается первое число. Второе число задается на колесе В, которое в сцепке с колесом А. Обнуление первого колеса прибавляет число, которое там содержалось, к значению на колесе В.

Возьмем для примера:

Вспомним школьную арифметику, а именно сложение в столбик и перенос единиц. Если расположить цифры обоих чисел по столбцам, как это сделано в Машине, и складывать их по разрядам, то в первом случае не будет переноса, во втором будет перенесена единица, а в третьем сумма будет равна 9, но перенесенная ранее единица инициирует перенос.

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


Эта штука переносит единицу снизу вверх по одной!

Программы

В то время программ не существовало, ну точнее они уже были придуманы, но тогда они назывались картами операций и выглядели примерно так:


Карта операций

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

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

И хотя барабаны напоминают валики шарманок, действуют они иначе. Вместо непрерывного вращения барабан поворачивается до определенной позиции и затем двигается вперед, толкая и активируя набор необходимых рычагов.

Карты операций управляют и барабанами, и картами переменных, и выглядят примерно так:

Перфокарты

Первой системой, построенной на перфокартах, был жаккардов станок, и именно им вдохновлялся Бэббидж.


Карта Жаккара, 1850 г.

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

Логика и циклы

Перфокарты и шестеренки - это великолепно, но не они делают Разностную машину компьютером. Из устройства для обсчета десятичной арифметики Машина превращается в компьютер благодаря небольшой детали - условному рычагу.

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

Таким образом, условный рычаг замыкает цикл, и Машина «поедает собственный хвост»: перфокарты управляют барабанами, барабаны Машиной, Машина барабанами, а барабаны перфокартами.

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

Всем хорошего дня и точных вычислений!

Литература:
«Невероятные приключения Лавлейс и Бэббиджа. Почти правдивая история первого компьютера»

В 1822 г. англичанин Чарльз Бэббидж построил счетное устройство, которое назвал разностной машиной. В эту машину вводилась информация на картах. Для выполнения ряда математических операций в машине применялись цифровые колеса с зубьями. Десять лет спустя Бэббидж спроектировал другое счетное устройство, гораздо более совершенное, которое назвал аналитической машиной. В первой половине XIX века английский математик Чарльз Бэббидж попытался построить универсальное вычислительное устройство - Аналитическую машину, которая должна была выполнять вычисления без участия человека. Для этого она должна была уметь выполнять программы, вводимые с помощью перфокарт (карт из плотной бумаги с информацией, наносимой с помощью отверстий, как в ткацких станках), и иметь “склад” для запоминания данных и промежуточных результатов (в современной терминологии - память). Бэббидж не смог довести до конца работу - она оказалась слишком сложной для техник того времени. Друг Бэббиджа, графиня Ада Августа Лавлейс, показала, как можно использовать аналитическую машину машину для выполнения ряда конкретных вычислений. Чарльза Бэббиджа считают изобретателем компьютера, а Аду Лавлейс называют первым программистом компьютера. Даже одини из компьютерных языков был официально назван в честь графини – ADA. В 1985 г. сотрудники Музея науки в Лондоне решили выяснить наконец, возможно ли на самом деле построить вычислительную машину Бэббиджа. После нескольких лет напряженной работы старания увенчались успехом. В ноябре 1991 г. незадолго до двухсотлетия со дня рождения знаменитого изобретателя, разностная машина впервые произвела серьезные вычисления. После смерти Бэббиджа умер и его сын, но перед этим он успел построить несколько миникопий разностной машины Бэббиджа и разослать их по всему миру, дабы увековечить эту машину. В октябре 1995 года одна из тех копий была продана на лондонском аукционе австралийскому музею электричества в Сиднее за $200,000.

1.2.5. Герман Холлерит

В конце XIX в. были созданы более сложные механические устройства. Самым важным из них было устройство, разработанное американцем Германом Холлеритом. Исключительность его заключалась в том, что в нем впервые была употреблена идея перфокарт и расчеты велись с помощью электрического тока. Это сочетание делало машину настолько работоспособной, что она получила широкое применение в своё время. Например, при переписи населения в США, проведенной в 1890 г., Холлерит, с помощью своих машин, смог выполнить за три года то, что вручную делалось бы в течении семи лет, причем гораздо большим числом людей.

1.2.6. Конрад Цузе

Лишь спустя 100 лет машина Бэбиджа привлекла внимание инженеров. В конце 30-х годов 20 века немецкий инженер Конрад Цузе разработал первую двоичную цифровую машину Z1. В ней широко использовались электромеханические реле, то есть механические переключатели, приводимые в действие электрическим током. В 1941 г. Конрад Цузе создал машину Z3, полностью управляемую с помощью программы.

1.2.7. Говард Айкен

Большой толчок в развитии вычислительной техники дала вторая мировая война: американским военным понадобился компьютер. В 1944 г. американец Говард Айкен на одном из предприятий фирмы ІВМ построил довольно мощную по тем временам вычислительную машину «Марк-1». В этой машине для представления чисел использовались механические элементы – счетные колеса, а для управления применялись электромеханические реле. Программа обработки данных вводилась с перфоленты. Размеры: 15 X 2,5 м., 750000 деталей. "Марк-1" мог перемножить два 23-х разрядных числа за 4 с.

2. Электронно-вычислительный период

Несмотря на неудачу с разностной машиной, Бэббидж в 1834 году задумался о создании программируемой вычислительной машины, которую он назвал аналитической (прообраз современного компьютера). В отличие от разностной машины, аналитическая машина позволяла решать более широкий ряд задач. Именно эта машина стала делом его жизни и принесла посмертную славу. Он предполагал, что построение новой машины потребует меньше времени и средств, чем доработка разностной машины, так как она должна была состоять из более простых механических элементов. С 1834 года Бэббидж начал проектировать аналитическую машину.

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

Склад предназначался для хранения как значений переменных, с которыми производятся операции, так и результатов операций. В современной терминологии это называется памятью.

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

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

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

Бэббидж разрабатывал конструкцию аналитической машины в одиночку. Он часто посещал промышленные выставки, где были представлены различные новинки науки и техники. Именно там состоялось его знакомство с Адой Августой Лавлейс (дочерью Джорджа Байрона), которая стала его очень близким другом, помощником и единственным единомышленником. В 1840 году Бэббидж ездил по приглашению итальянских математиков в Турин, где читал лекции о своей машине. Луиджи Менабреа, преподаватель туринской артиллерийской академии, создал и опубликовал конспект лекций на французском языке. Позже Ада Лавлейс перевела эти лекции на английский язык, дополнив их комментариями по объёму превосходящими исходный текст. В комментариях Ада сделала описание ЦВМ и инструкции по программированию к ней. Это были первые в мире программы. Именно поэтому Аду Лавлейс справедливо называют первым программистом. Однако, аналитическая машина так и не была закончена. Вот, что писал Бэббидж в 1851 году: «Все разработки, связанные с Аналитической машиной, выполнены за мой счёт. Я провёл целый ряд экспериментов и дошёл до черты, за которой моих возможностей не хватает. В связи с этим я вынужден отказаться от дальнейшей работы». Несмотря на то, что Бэббидж подробно описал конструкцию аналитической машины и принципы её работы, она так и не была построена при его жизни. Причин этому было много. Но основными стали полное отсутствие финансирования проекта по созданию аналитической машины и низкий уровень технологий того времени. Бэббидж не стал в этот раз просить помощи у правительства, так как понимал, что после неудачи с разностной машиной ему всё равно откажут.

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

В 1864 году Чарльз Бэббидж написал: «Пройдёт, вероятно, полстолетия, прежде чем люди убедятся, что без тех средств, которые я оставляю после себя, нельзя будет обойтись». В своём предположении он ошибся на 30 лет. Только через 80 лет после этого высказывания была построена машина МАРК-I, которую назвали «осуществлённой мечтой Бэббиджа». Архитектура МАРК-I была очень схожа с архитектурой аналитической машины. Говард Айкен на самом деле серьёзно изучал публикации Бэббиджа и Ады Лавлейс перед созданием своей машины, причём его машина идеологически незначительно ушла вперёд по сравнению с недостроенной аналитической машиной. Производительность МАРК-I оказалась всего в десять раз выше, чем расчётная скорость работы аналитической машины.