Чарльз Бэббидж (1791–1871) – пионер создания вычислительной техники, который разработал 2 класса вычислительных машин – разностные и аналитические. Первый из них свое название получил благодаря математическому принципу, на котором основан - методу конечных разностей. Его красота заключается в исключительном использовании арифметического сложения без необходимости прибегать к умножению и делению, которые сложно реализовать механически.
Больше чем калькулятор
Разностная машина Бэббиджа представляет собой счетное устройство. Она оперирует числами единственным способом, на который способна, постоянно складывая их в соответствии с методом конечных разностей. Ее нельзя использовать для общих арифметических расчетов. Аналитическая же машина Бэббиджа гораздо больше, чем просто калькулятор. Она знаменует переход от механизированной арифметики к полномасштабным вычислениям общего назначения. На разных этапах эволюции идей Бэббиджа насчитывалось по меньшей мере 3 проекта. Поэтому на его аналитические машины лучше ссылаться во множественном числе.
Удобство и инженерная эффективность
Вычислительные машины Бэббиджа являются десятеричными устройствами в том смысле, что они используют 10 цифр от 0 до 9, и цифровыми потому, что оперируют только с целыми числами. Значения представлены шестернями, а каждому разряду отведено свое колесо. Если оно останавливается в промежуточном положении между целыми значениями, то результат считается неопределенным, а работа машины блокируется, чтобы показать нарушение целостности расчетов. Это является своеобразной формой обнаружения ошибок.
Бэббидж также рассматривал использование систем счисления, отличных от десятеричной, в т. ч. двоичной и с основанием 3, 4, 5, 12, 16 и 100. Он остановился на десятеричной по причине ее привычности и инженерной эффективности, поскольку благодаря ей значительно уменьшается количество движущихся частей.
Разностная машина №1
В 1821 г. Бэббидж начал разработки с механизма, предназначенного для расчета и табуляции полиномиальных функций. Автор описывает его как устройство для автоматического вычисления последовательности значений с автоматической печатью результатов в виде таблицы. Интегральной частью конструкции является принтер, механически связанный с расчетной секцией. Разностная машина №1 представляет собой первую полноценную конструкцию для автоматического выполнения расчетов.
Время от времени Бэббидж менял функциональные возможности устройства. Дизайн 1830 г. изображает машину, рассчитанную на 16 цифр и 6 порядков разности. Модель состояла из 25 тыс. частей, разделенных поровну между вычислительной секцией и принтером. Если бы устройство было построено, то весило бы, по оценкам, 4 т и имело бы высоту 2,4 м. Работа по созданию разностной машины Бэббиджа была остановлена в 1832 г., после спора с инженером Джозефом Клементом. Государственное финансирование окончательно прекратилось в 1842 г.
Аналитическая машина
Когда работа над разностным аппаратом застопорилась, в 1834 году Бэббидж задумал более амбициозное устройство, которое позже получило название аналитического универсального программируемого вычислительного механизма. Структурные свойства машины Бэббиджа во многом соответствуют основным блокам современного цифрового компьютера. Программирование производится с помощью перфокарт. Эта идея была заимствована у жаккардового ткацкого станка, где они служат для создания сложных текстильных узоров.
Логическая структура аналитической машины Бэббиджа в основном соответствует доминирующему дизайну компьютеров электронной эры, который подразумевает наличие памяти («магазина»), отделенной от центрального процессора («мельницы»), последовательное выполнение операций и средства для ввода и вывода данных и инструкций. Поэтому звание пионера вычислительной техники автор разработки получил вполне заслуженно.
Память и центральный процессор
У машины Бэббиджа есть «магазин», где хранятся числа и промежуточные результаты, а также отдельная «мельница», где выполнялась арифметическая обработка. Она имела набор из 4 арифметических функций и могла выполнять прямое умножение и деление. Кроме того, устройство было способно производить операции, которые теперь получили названия условного разветвления, цикла (итерации), микропрограммирования, параллельной обработки, фиксации, формирования импульсов и т. п. Сам автор такую терминологию не использовал.
ЦПУ аналитической машины Чарльза Бэббиджа, которое он называл «мельницей», обеспечивает:
- хранение чисел, операции над которыми производятся немедленно, в регистрах;
- имеет аппаратные средства для произведения с ними основных арифметических операций;
- передачу ориентированных на пользователя внешних инструкций в детальное внутреннее управление;
- систему синхронизации (такт) для выполнения инструкций в тщательно подобранной последовательности.
Механизм управления аналитической машины выполняет операции автоматически и состоит из двух частей: нижнего уровня, контролируемого массивными барабанами, называемыми бочками, и высокого уровня, использующего перфокарты, разработанными Жаккардом для ткацких станков, широко применявшихся в начале 1800-х годов.
Устройства вывода
Результат вычислений выводится различными способами, включая печать, перфокарты, построение графиков и автоматическое производство стереотипов – лотков из мягкого материала, на которых производится оттиск результата, способных служить формой для отливки пластин для печати.
Новая конструкция
Новаторскую работу над аналитической машиной Бэббидж в основном завершил к 1840 г. и начал разрабатывать новое устройство. В период с 1847 по 1849 год он закончил разработку разностной машины №2, представлявшей собой улучшенную версию оригинала. Эта модификация была рассчитана на операции с 31-разрядными числами и могла привести в табличную форму любой полином 7-го порядка. Дизайн был изящно простым и требовал лишь третью часть от количества деталей первоначальной модели, обеспечивая равную с ней вычислительную мощность.
В разностной и аналитической машинах Чарльза Бэббиджа использовалась одна и та же конструкция устройства вывода, которое не только делало распечатку на бумаге, но и автоматически создавало стереотипы и самостоятельно производило форматирование согласно заданному оператором макету страницы. При этом предусматривалась возможность настройки высоты строки, числа столбцов, ширины полей, обеспечивались автоматическое сворачивание строк или столбцов и расстановка пустых строк для удобства чтения.
Наследие
Помимо нескольких частично созданных механических сборок и тестовых моделей небольших рабочих секций, ни одна из конструкций не была реализована полностью в течение жизни Бэббиджа. Основная собранная в 1832 г. модель была 1/7 частью разностной машины №1, которая состояла примерно из 2 тыс. деталей. Она безупречно работает по сей день и является первым успешным автоматическим вычислительным устройством, которое реализует математические расчеты в механизме. Бэббидж умер, когда собиралась небольшая экспериментальная часть аналитической машины. Многие детали конструкции сохранились, как и полный архив чертежей и записок.
Проекты огромных механических вычислительных машин Бэббиджа считаются одним из потрясающих интеллектуальных достижений XIX века. Только в последние десятилетия его работа была детально изучена, и степень важности того, что он совершил, становится все более очевидной.