Разностная машина чарльза бэббиджа. Разностная машина бэббиджа

В истории вычислительной техники самыми длительными были : домеханический и механический. Они продолжались вплоть до середины 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 г. мультимиллионер и бывший технический директор Натан Мирвольд заказал специалистам музея вторую копию знаменитого механического вычислителя. Она была доставлена в США.

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

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

Такую машину он назвал аналитической. Более 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, выполнены за мой счет. Я провел целый ряд экспериментов и дошел до черты, за которой моих возможностей не хватает. В связи с этим я вынужден отказаться от дальнейшей работы».

В конце 1791 года в семье Бенджамина и Элизабет Бэббидж родился мальчик. При рождении его назвали Чарльз. По достижению восьмилетия, Бэнджамин Бэббидж определил своего отпрыска в частную школу в Альфингтоне. Слабое здоровье Чарльза не позволило ему посещать обычное, для детей его возраста, учебное заведение. В качестве учителя, будущий знаменитый изобретатель получил священника, который не мог дать полное образование. Поэтому когда в 1810 году Чарльз Бэббидж поступил в колледж, он заметно отставал от своих сверстников.

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

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

Благодаря надомному обучению, а именно так учился будущий изобретатель “Аналитической машины” в школе Альфингтона и академии в Энфильде, знаний Бэббиджу явно недоставало. Его отец после академии нанял репетиторов. Один из них смог дать Чарльзу необходимые для поступления в колледж знания.

В 1810 году Бэббидж поступил в Тринити-колледж в Кембридже. Все свободное время Чарльз посвятил самостоятельному изучению математики. Он изучал труды Лагранжа, Лейбница, Эйлера, Ньютона и других “великих математических умов”. Кроме того, молодой человек имел доступ к работам математиков Парижской, Берлинской и Санкт-Петербургской академий.

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

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

В 1815 году Чарльз с молодой супругой (в год окончания колледжа св. Петра он женился на Джорджиане Витмур) перебрались в столицу Англии, где через год Бэббидж стал Членом Королевского общества Лондона.

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

Малая разностная машина.

Первым изобретением, которое сделало Бэббиджа знаменитым, стала вычислительная машина, которую Чарльз назвал “разностная машина”. В 1812 году Бэббидж был занят за изучением логарифмических таблиц. Занятия его так утомили, что молодой математик заснул прямо за письменным столом. Когда его разбудил друг с вопросом: “Чем занят?”, Чарльз ответил, что хочет создать машину, которая сможет проводить сложные математические расчеты.


Семь лет ушло у математика для того, чтоб он смог сформировать идеи и принципы вычисления при помощи машины. Еще через три года в 1822 Бэббидж начал создавать свою “разностную машину”. Она состояла из множества шестеренок и рычагов. Разностная машина оперировала 18-ти разрядными числами, с точностью до восьмого знака после запятой. Она могла сосчитать значение многочленов 7-й степени. За свое изобретение Чарльз Бэббидж получил медаль Астрономического общества.

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

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

С 1822 по 1834 на изготовление большой разностной машины было выделены 17000 фунтов от государства, и еще 6000 Чарльз потратил из своего кармана. Но низкая технологическая база того времени не позволила создать машину при жизни изобретателя.

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

Аналитическая машина — прототип первого компьютера

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

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

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

Чарльз Бэббидж умер в 1871 году. После себя он оставил чертежи аналитической машины Первый программист - Ада Лавлейс и конспекты лекций, которые записал преподаватель туринской артиллерийской академии Луиджи Менабреа. На английский язык конспекты перевела друг и соратник Бэббиджа – Ада Лавлейс (дочь Джорджа Байрона). Она снабдила конспекты своими комментариями, которые по объему превосходили основной текст.

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

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

Личность Чарльза Бэббиджа и его заслуги.

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


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

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

Чарльз Бэббидж был очень разносторонним человеком. Среди его друзей значились Жан Фуко, Чарльз Дарвин, Юнг, Фурье и Пьер Лаплас. В истории талантливый изобретатель и математик оставил огромный след, недаром Бэббиджа называют изобретателем первого компьютера.

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

Первая небольшая модель аппарата Чарльза Бэббиджа

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

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

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

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

Основные части аналитической машины

Аналитическая машина состояла из следующих четырех основных частей:

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

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

Большое влияние на посмертную судьбу машины оказал генерал Бэббидж, сын изобретателя. Выйдя в отставку в 1874 году, он несколько лет посвятил изучению отцовского наследия, а в 1880 году начал работу по восстановлению Difference Engine в «железе». Работа продолжалась с переменным успехом до 1896 г. В конце концов к 1904 году был создан небольшой фрагмент машины, который печатал результаты вычислений. Кроме того, Бэббидж-младший сделал несколько мини-копий Difference Engine и разослал их по всему миру.

В 1991 году, к двухсотлетию со дня рождения ученого, сотрудники лондонского Музея науки воссоздали по его чертежам 2,6-тонную «разностную машину № 2», а в 2000 году - еще и 3,5-тонный принтер Бэббиджа. Оба устройства, изготовленные по технологиям середины XIX века, превосходно работают - в расчётах Бэббиджа было найдено всего две ошибки.

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

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

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

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

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

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

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

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

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

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