Найти в Дзене
TehnObzor

Вычислительные Машины Чарльза Бэббиджа – Предтечи Компьютеров

Оглавление

Чарльз Бэббидж (1791–1871), пионер вычислительной техники, разработал два класса машин: Разностные и Аналитические Машины.

Разностные машины названы так из-за математического принципа, на котором они основаны, а именно: метода конечных разностей (математический метод для вычисления последовательностей значений с использованием сложения).

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

Разностные машины — это сугубо калькуляторы. Они обрабатывают числа единственным доступным им способом — путём многократного сложения в соответствии с методом конечных разностей. И их нельзя использовать для общих арифметических вычислений.

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

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

Читайте: Антикитерский механизм – Первый компьютер древности и его тайны

Двоичная, десятичная системы и обнаружение ошибок

Вычислительные машины Бэббиджа являются десятичными цифровыми устройствами.

-2

Они десятичные в том смысле, что используют привычные десять цифр от «0» до «9», и цифровые в том смысле, что действительными считаются только целые числа. Значения чисел представляются зубчатыми колёсами, и каждая цифра числа имеет собственное колесо.

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

Бэббидж рассматривал возможность использования иных систем счисления, помимо десятичной, включая двоичную, а также системы с основаниями 3, 4, 5, 12, 16 и 100. Он остановился на десятичной системе из соображений инженерной эффективности — для уменьшения количества движущихся частей — а также из-за её повседневной привычности.

Разностная машина № 1

Бэббидж начал работу в 1821 году с Разностной Машины № 1, предназначенной для вычисления и табулирования полиномиальных функций (функций вида f(x) = a_n*x^n + a_{n-1}*x^{n-1} + ... + a_1*x + a_0, где a_i – коэффициенты, а n – наибольшая степень переменной).

-3

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

Разностная Машина № 1 — это первый завершённый проект автоматической вычислительной машины. Время от времени Бэббидж изменял производительность Машины. Проект 1830 года показывает машину, вычисляющую с 16-разрядами и 6-порядками разностей.

Для Машины требовалось около 25 000 деталей, поровну распределённых между вычислительной секцией и принтером. Если бы она была построена, то, по оценкам, весила 4 тонны и была бы в высоту примерно 2,4 метра.

-4

Работы по созданию Машины были остановлены в 1832 году после разногласий с инженером Джозефом Клементом. А государственное финансирование было окончательно прекращено в 1842 году.

Аналитическая машина

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

-5

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

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

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

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

-6
  • условные переходы (изменение последовательности выполнения команд в зависимости от выполнения некоторого условия),
  • циклы (итерации — многократное повторение блока команд),
  • микропрограммирование (реализация команд процессора на более низком, детальном уровне управления),
  • параллельная обработка (одновременное выполнение нескольких операций),
  • фиксация состояния (запоминание двоичного сигнала),
  • опрос состояния (периодическая проверка готовности или состояния устройства),
  • формирование импульсов (pulse-shaping – приведение электрических импульсов к стандартной форме).

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

-7

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

Называть Бэббиджа «первым компьютерным пионером» — это не просто дань уважения.

Разностная Машина № 2

Завершив к 1840 году основную новаторскую работу над Аналитической Машиной, Бэббидж начал обдумывать новую разностную машину.

-8

Между 1847 и 1849 годами он завершил проектирование Разностной Машины № 2, усовершенствованной версии оригинала. Эта Машина вычисляла с числами длиной в 31-разряд и могла табулировать любой полином до седьмого порядка.

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

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

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

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

Наследие Бэббиджа

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

-10

Основным узлом, который он завершил, была одна седьмая часть Разностной Машины № 1 — демонстрационный образец, состоящий примерно из 2000 деталей, собранный в 1832 году. Он безупречно работает и по сей день и является первым успешным автоматическим вычислительным устройством, воплотившим математическое правило в механизме.

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

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

Хочу первым узнавать о ТЕХНОЛОГИЯХ – ПОДПИСАТЬСЯ на Telegram

Читать свежие обзоры гаджетов на нашем сайте – TehnObzor.RU