Что использовала разностная машина бэббиджа. Вычислительная машина Чарльза Бэббиджа

В истории вычислительной техники самыми длительными были : домеханический и механический. Они продолжались вплоть до середины 20 века.

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

Мысль о создании такой машины, которая работала бы без участия человека, впервые была высказана английским математиком Чарльзом Бэббиджем (1791-1871).

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

Как решить проблему ошибок людей в вычислениях

В 18 веке возникла большая потребность в вычислениях для составления различных таблиц, которые широко использовались в астрономии, землемерном, страховом и банковском деле, мореплавании, кораблестроении, строительстве и т.д.

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

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

С 1812 г. профессор Кембриджского университета Чарльз Бэббидж приступил к работе над созданием разностной машины.

Почему машина называется разностной

Название «разностная машина» связано с тем, что в основу ее работы положен метод разностей, разработанный Исааком Ньютоном. Он основан на получении последовательности промежуточных величин.

По существу, метод разностей основывается на том, что уже вычислено значение произведения 5 на 5, и этот результат может быть использован для получения произведения 5 и следующих чисел (6, 7) путем прибавления 5 к известной сумме. Выглядит это следующим образом:

5 x 6 = 30
5 x 7 = 35 получается путем прибавления 5 к полученному произведению (30+5),
5 x 8 = 40 получается путем прибавления 5 к предыдущему произведению (35+5).

Таким образом, умножения заменяются на последовательные сложения.

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

Трудности Беббиджа при создании машины

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

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

Не было станков, соответствующих инструментов. Найти квалифицированных рабочих и инженеров было трудно и дорого. Проблемой было и соблюдение требуемой точности обработки металла.

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

Большая разностная машина

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

Эта машина по замыслу Бэббиджа должна была состоять из 25000 деталей, ее высота 2,4 метра, длина 2,1 метра, вес несколько тонн.

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

В 1832 году ученый посетил ряд промышленных центров в Англии и Шотландии. Постоянно изучая новое в промышленности, он посещал все, какие только мог, заводы и фабрики в Британии и на континенте.

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

Однако из-за разногласий с исполнителем, выпускающим детали для разностной машины, проект закрылся в 1833 г. с прекращением государственного финансирования.

Разностная машина Ч.Бэббиджа, 1991 г.

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

Заработала через 200 лет

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

Она состоит из 4000 деталей и весит около 3 тонн; выполнена из бронзы, стали и железа, может вычислять разности 7 порядка.

Машина работает при помощи поворота рукоятки, является действующим экспонатом Лондонского научного музея.

В 2000 году к экспозиции добавилось спроектированное Бэббиджем печатающее устройство – принтер весом 3,5 тонны. Оба устройства, изготовленные по технологиям середины XIX века, превосходно работают - в расчётах Бэббиджа было найдено всего две ошибки. Так что, если будете в Лондоне, можете зайти в музей полюбоваться на это чудо техники.

Разностная машина Бэббиджа, США

Если Вы думаете, что лондонская разностная машина является единственной во всем мире, то Вы ошибаетесь.

В 2005 г. мультимиллионер и бывший технический директор Натан Мирвольд заказал специалистам музея вторую копию знаменитого механического вычислителя. Она была доставлена в США.

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

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

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

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

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

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

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

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

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

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

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

Чарльз Бэббидж (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 века. Только в последние десятилетия его работа была детально изучена, и степень важности того, что он совершил, становится все более очевидной.

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

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

В 1834 году Чарльз Бэббидж описал свою аналитическую машину (Analytical Engine). Это был проект компьютера общего назначения с применением перфокарт, а также парового двигателя в качестве источника энергии.

Перфокарта

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

Кстати, в начале 1980-х свои программы все пользователи-программисты того времени набивали именно на перфокарты.

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

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

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

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

  1. регистры памяти (по терминологии Бэббиджа store - хранилище, склад) – это аналог современного запоминающегося устройства (ЗУ) для хранения исходных данных и результатов;
  2. арифметический блок (по терминологии Бэббиджа mill - мельница) – это аналог современного устройства для вычислений;
  3. барабан, управляющий операциями машины (control barrel) - прообраз современного устройства управления (УУ);
  4. перфокарты – прототип ввода/вывода информации.

Такая схема Вам ничего не напоминает? Ведь это уже практически архитектура электронно-вычислительных машин (ЭВМ). Остается лишь придумать схему совместного хранения программ и данных в памяти компьютера. Это было сделано 100 лет спустя коллективом ученых во главе с американским математиком Джоном фон Нейманом.

Вернемся в 1834 год. Еще не изобретены фотография и электричество, нет телефона и радио. По морям плавают исключительно парусные судна, а на суше лошадь – друг человека. И вдруг – аналитическая машина, то есть, механическое устройство с идеями автоматического программного управления! Человечество смогло это реализовать спустя более 100 лет благодаря появлению электроники.

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

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

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

  1. операционные карты (англ. operation card) служили для переключения машины между режимами сложения, вычитания, деления и умножения;
  2. карты переменных (англ. variable card) управляли передачей информации со «склада» на «мельницу» и обратно;
  3. числовые перфокарты могли быть использованы для ввода данных в машину, а также для сохранения промежуточных результатов вычислений, если место на «складе» было ограничено.

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

Аналитическая машина не была построена. Изобретатель писал в 1851 г.: «Все разработки, связанные с Analytical Engine, выполнены за мой счет. Я провел целый ряд экспериментов и дошел до черты, за которой моих возможностей не хватает. В связи с этим я вынужден отказаться от дальнейшей работы».

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

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

Начиная постройку машины, Бэббидж не представлял всех предстоящих трудностей и спустя девять лет вынужден был приостановить работу. Однако часть машины могла функционировать и производила вычисления с большей точностью, чем ожидалось. Конструкция разностной машины основывалась на десятичной системе. Когда финансирование разностной машины прекратилось, Бэббидж занялся проектированием более общей аналитической машины, затем снова вернулся к первоначальной разработке. Новый проект, над которым он работал между 1847 и 1849 годами, назывался Разностной машиной номер 2 (Difference Engine No. 2).

Основываясь на опыте Бэббиджа, шведский изобретатель Пер Георг Шойц (Georg Scheutz) с 1854 года приступил к постройке разностных машин и даже сумел продать одну из них канцелярии британского правительства в 1859 году. В 1855 году разностная машина Шойца получила золотую медаль Всемирной выставки в Париже. Позднее шведский изобретатель Мартин Виберг (Martin Wiberg) улучшил конструкцию машины Шойца и использовал ее для расчета и публикации печатных логарифмических таблиц.

В 1989-1991 годах к двухсотлетию со дня рождения Чарльза Бэббиджа на основе его работ в Лондонском музее науки была собрана работающая копия Разностной машины номер 2. В 2000 году в том же музее был собран принтер, сконструированный Бэббиджем для своей машины. Эти эксперименты подвели черту под дебатами о работоспособности конструкций Чарльза Бэббиджа.

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