Малая разностная машина бэббиджа. Логика и циклы

Первая идея разностной машины была выдвинута немецким инженером Иоганном Мюллером в книге, изданной в 1788 году.

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

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

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

Влияние на культуру

В 1972 году Гарри Гаррисоном в рассказе «A Transatlantic Tunnel, Hurrah!», написанном в жанре стимпанк , была упомянута «компьютерная машина Бэббиджа, занимавшая почти четверть объёма субмарины», использовавшаяся для анализа состояния тросов и регулирования их натяжения во время транспортировки строительных секций Трансатлантического туннеля, а также для калибровки курса «Наутилуса II».

В 1990 году Майклом Флинном был написан фантастический роман «В стране слепых» (англ. In the Country of the Blind ). Некая тайная организация с помощью усовершенствованных аналитических машин Чарльза Бэббиджа математически рассчитывает возможное развитие событий и таким образом получает возможность влиять на ход истории.

В 1990 году Брюсом Стерлингом и Уильямом Гибсоном написан фантастический роман «Машина различий» (англ. The Difference Engine ). Роман выдержан в стилистике стимпанка и также описывает разностную машину .

В 2005 Джон Краули опубликовал книгу «Роман лорда Байрона». Это вымышленная история о находке и расшифровке рукописи единственного прозаического произведения Байрона - романа «Вечерняя земля» . Чтобы спасти роман от уничтожения, дочь Байрона Ада Лавлейс зашифровала его так, чтобы прочитать текст могли только потомки с помощью счётных машин, восходящих к разностной машине Бэббиджа.

В онлайн-проекте «Рука Ориона» описываются созданные на основе идей Бэббиджа полностью разумные и автономные величиной с крупный астероид.

Перфокарта

Карты РМ делятся на три типа

  1. Программируемые карты.
  2. Числовые карты
  3. Операторы

См. также

Напишите отзыв о статье "Разностная машина Чарльза Бэббиджа"

Литература

  • Пер. с англ. К. Г. Батаев, ред. В. М. Курочкин. Знакомьтесь: компьютер = Understanding computers. - М .: Мир, 1989. - 240 с. - (Знакомство с компьютером). - ISBN 5-03-001147-1.
  • Doron Swade. The difference engine: Charles Babbage and the quest to build the first computer. - ISBN 0-670-91020-1.

Ссылки

  • Georgi Dalakov. (англ.) . Проверено 25 января 2012. .
  • (англ.)
  • (англ.)
  • (англ.)

Отрывок, характеризующий Разностная машина Чарльза Бэббиджа

– Я его тело морю отдала, у них так принято было... А сама домой пошла... Только не дошла никогда... Сил не хватило. Так хотелось солнце наше увидеть, но не смогла... А может Тристан «не отпустил»...
– А как же в книгах говорят, что вы вместе умерли, или что вы убили себя?
– Не знаю, Светлая, не я эти книги писала... А люди всегда любили сказы друг другу сказывать, особенно красивые. Вот и приукрашивали, чтобы больше душу бередили... А я сама умерла через много лет, не прерывая жизни. Запрещено это было.
– Вам, наверное, очень грустно было так далеко от дома находиться?
– Да, как тебе сказать... Сперва, даже интересно было, пока мама была жива. А когда умерла она – весь мир для меня померк... Слишком мала я была тогда. А отца своего никогда не любила. Он войной лишь жил, даже я для него цену имела только ту, что на меня выменять можно было, замуж выдав... Он был воином до мозга костей. И умер таким. А я всегда домой вернуться мечтала. Даже сны видела... Но не удалось.
– А хотите, мы вас к Тристану отведём? Сперва покажем, как, а потом вы уже сама ходить будете. Это просто... – надеясь в душе, что она согласится, предложила я.
Мне очень хотелось увидеть «полностью» всю эту легенду, раз уж появилась такая возможность, и хоть было чуточку совестно, но я решила на этот раз не слушать свой сильно возмущавшийся «внутренний голос», а попробовать как-то убедить Изольду «прогуляться» на нижний «этаж» и отыскать там для неё её Тристана.
Я и правда очень любила эту «холодную» северную легенду. Она покорила моё сердце с той же самой минуты, как только попалась мне в руки. Счастье в ней было такое мимолётное, а грусти так много!.. Вообще-то, как и сказала Изольда – добавили туда, видимо, немало, потому что душу это и вправду зацепляло очень сильно. А может, так оно и было?.. Кто же мог это по-настоящему знать?.. Ведь те, которые всё это видели, уже давным-давно не жили. Вот потому-то мне так сильно и захотелось воспользоваться этим, наверняка единственным случаем и узнать, как же всё было на самом деле...
Изольда сидела тихо, о чём-то задумавшись, как бы не решаясь воспользоваться этим единственным, так неожиданно представившимся ей случаем, и увидеться с тем, кого так надолго разъединила с ней судьба...
– Не знаю... Нужно ли теперь всё это... Может быть просто оставить так? – растерянно прошептала Изольда. – Ранит это сильно... Не ошибиться бы...
Меня невероятно удивила такая её боязнь! Это было первый раз с того дня, когда я впервые заговорила с умершими, чтобы кто-то отказывался поговорить или увидеться с тем, кого когда-то так сильно и трагически любил...
– Пожалуйста, пойдёмте! Я знаю, что потом вы будете жалеть! Мы просто покажем вам, как это делать, а если вы не захотите, то и не будете больше туда ходить. Но у вас должен оставаться выбор. Человек должен иметь право выбирать сам, правда, ведь?
Наконец-то она кивнула:
– Ну, что ж, пойдём, Светлая. Ты права, я не должна прятаться за «спиной невозможного», это трусость. А трусов у нас никогда не любили. Да и не была я никогда одной из них...
Я показала ей свою защиту и, к моему величайшему удивлению, она сделала это очень легко, даже не задумываясь. Я очень обрадовалась, так как это сильно облегчало наш «поход».
– Ну что, готовы?.. – видимо, чтобы её подбодрить, весело улыбнулась Стелла.
Мы окунулись в сверкающую мглу и, через несколько коротких секунд, уже «плыли» по серебристой дорожке Астрального уровня...
– Здесь очень красиво...– прошептала Изольда, – но я видела его в другом, не таком светлом месте...
– Это тоже здесь... Только чуточку ниже, – успокоила её я. – Вот увидите, сейчас мы его найдём.
Мы «проскользнули» чуть глубже, и я уже готова была увидеть обычную «жутко-гнетущую» нижнеастральную реальность, но, к моему удивлению, ничего похожего не произошло... Мы попали в довольно таки приятный, но, правда, очень хмурый и какой-то печальный, пейзаж. О каменистый берег тёмно-синего моря плескались тяжёлые, мутные волны... Лениво «гонясь» одна за другой, они «стукались» о берег и нехотя, медленно, возвращались обратно, таща за собой серый песок и мелкие, чёрные, блестящие камушки. Дальше виднелась величественная, огромная, тёмно-зелёная гора, вершина которой застенчиво пряталась за серыми, набухшими облаками. Небо было тяжёлым, но не пугающим, полностью укрытым серыми, облаками. По берегу местами росли скупые карликовые кустики каких-то незнакомых растений. Опять же – пейзаж был хмурым, но достаточно «нормальным», во всяком случае, напоминал один из тех, который можно было увидеть на земле в дождливый, очень пасмурный день... И того «кричащего ужаса», как остальные, виденные нами на этом «этаже» места, он нам не внушал...
На берегу этого «тяжёлого», тёмного моря, глубоко задумавшись, сидел одинокий человек. Он казался совсем ещё молодым и довольно-таки красивым, но был очень печальным, и никакого внимания на нас, подошедших, не обращал.
– Сокол мой ясный... Тристанушка... – прерывающимся голосом прошептала Изольда.
Она была бледна и застывшая, как смерть... Стелла, испугавшись, тронула её за руку, но девушка не видела и не слышала ничего вокруг, а только не отрываясь смотрела на своего ненаглядного Тристана... Казалось, она хотела впитать в себя каждую его чёрточку... каждый волосок... родной изгиб его губ... тепло его карих глаз... чтобы сохранить это в своём исстрадавшемся сердце навечно, а возможно даже и пронести в свою следующую «земную» жизнь...
– Льдинушка моя светлая... Солнце моё... Уходи, не мучай меня... – Тристан испуганно смотрел на неё, не желая поверить, что это явь, и закрываясь от болезненного «видения» руками, повторял: – Уходи, радость моя... Уходи теперь...
Не в состоянии более наблюдать эту душераздирающую сцену, мы со Стеллой решили вмешаться...
– Простите пожалуйста нас, Тристан, но это не видение, это ваша Изольда! Притом, самая настоящая...– ласково произнесла Стелла. – Поэтому лучше примите её, не раньте больше...
– Льдинушка, ты ли это?.. Сколько раз я видел тебя вот так, и сколько терял!... Ты всегда исчезала, как только я пытался заговорить с тобой, – он осторожно протянул к ней руки, будто боясь спугнуть, а она, забыв всё на свете, кинулась ему на шею и застыла, будто хотела так и остаться, слившись с ним в одно, теперь уже не расставаясь навечно...
Я наблюдала эту встречу с нарастающим беспокойством, и думала, как бы можно было помочь этим двум настрадавшимся, а теперь вот таким беспредельно счастливым людям, чтобы хоть эту, оставшуюся здесь (до их следующего воплощения) жизнь, они могли бы остаться вместе...
– Ой, ты не думай об этом сейчас! Они же только что встретились!.. – прочитала мои мысли Стелла. – А там мы обязательно придумаем что-нибудь...
Они стояли, прижавшись друг к другу, как бы боясь разъединиться... Боясь, что это чудное видение вдруг исчезнет и всё опять станет по-старому...
– Как же мне пусто без тебя, моя Льдинушка!.. Как же без тебя темно...
И только тут я заметила, что Изольда выглядела иначе!.. Видимо, то яркое «солнечное» платье предназначалось только ей одной, так же, как и усыпанное цветами поле... А сейчас она встречала своего Тристана... И надо сказать, в своём белом, вышитом красным узором платье, она выглядела потрясающе!.. И была похожа на юную невесту...
– Не вели нам с тобой хороводов, сокол мой, не говорили здравниц... Отдали меня чужому, по воде женили... Но я всегда была женой тебе. Всегда была суженой... Даже когда потеряла тебя. Теперь мы всегда будем вместе, радость моя, теперь никогда не расстанемся... – нежно шептала Изольда.
У меня предательски защипало глаза и, чтобы не показать, что плачу, я начала собирать на берегу какие-то камушки. Но Стеллу не так-то просто было провести, да и у неё самой сейчас глаза тоже были «на мокром месте»...
– Как грустно, правда? Она ведь не живёт здесь... Разве она не понимает?.. Или, думаешь, она останется с ним?.. – малышка прямо ёрзала на месте, так сильно ей хотелось тут же «всё-всё» знать.
У меня роились в голове десятки вопросов к этим двоим, безумно счастливым, не видящим ничего вокруг, людям. Но я знала наверняка, что не сумею ничего спросить, и не смогу потревожить их неожиданное и такое хрупкое счастье...
– Что же будем делать? – озабочено спросила Стелла. – Оставим её здесь?
– Это не нам решать, думаю... Это её решение и её жизнь, – и, уже обращаясь к Изольде, сказала. – Простите меня, Изольда, но мы хотели бы уже пойти. Мы можем вам ещё как-то помочь?
– Ой, девоньки мои дорогие, а я и забыла!.. Вы уж простите меня!..– хлопнула в ладошки стыдливо покрасневшая девушка. – Тристанушка, это их благодарить надо!.. Это они привели меня к тебе. Я и раньше приходила, как только нашла тебя, но ты не мог слышать меня... И тяжело это было. А с ними столько счастья пришло!
Тристан вдруг низко-низко поклонился:
– Благодарю вас, славницы... за то, что счастье моё, мою Льдинушку мне вернули. Радости вам и добра, небесные... Я ваш должник на веки вечные... Только скажите.

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

Друзья, настал тот час, когда все мальчики меряются... Мощностью компьютера! Но вот сегодня мне бы хотелось вспомнить можно сказчать первый прототип сего чуда. Не многие знают, что именно Чарльз Бэббидж создал первую программируемую вычислительную машину, сделав попытку реализовать многие идеи, которые в XX веке найдут свое применение в вычислительной технике. Но знаете ли Вы ещё и то, что даже сегодняшний, современный компьютер по сути то так и остался усовершенствованной копией той самой Разностной машины Чарльза Бэббиджа? Давайте именно о этой машине и поговорим.

И так, для начала, дабы немного понять о чём речь- предлагаю не большую цитату Википедии :

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

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

Часть 1. Кто такой Чарлз Бэббидж?

Ну и конечно же, кто, как не Википедия Ивановна нам может рассказать лучше о данном человеке.

Где-то в 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 г.

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

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

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

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

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

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

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

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