Паровой компьютер или разностная машина Бэббиджа 1840 года

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

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



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


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



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

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





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

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



    Литература:
    «Невероятные приключения Лавлейс и Бэббиджа. Почти правдивая история первого компьютера»
    Автор: Сидни Падуа
    Издательство: Манн, Иванов и Фербер, 2017 г.
    ISBN: 978-5-00100-943-6
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 63
    • +2
      К сожалению это оказался воздушный замок, не реализованный в железе. Сложность оказалась запредельной для 19 века.
      • +4
        Думаю, не сложнее сотни карманных часов. Сложность была в объяснении необходимости такой машины окружающим.
        • +1
          Там проблема была в недостаточной точности изготовления. Если для часов это еще могли сделать, да и просто на коленке подогнать детали к друг к другу, то вот в случае машины, требовалось очень большое количество одинаковых деталей. Машину не построили потому что Бэббидж был перфекционистом и требовал переделывать детали по много раз. Из-за этого возник существенный перерасход средств и сдвиг сроков.
          • +1
            Проблема была ещё в том, что тогда даже теории зубчатого колеса толком не существовало. Привычная нам эвольвента тогда ещё не завоевала популярность. Каждую шестерёнку надо было приспосабливать к её паре — подобрать по номенклатуре было невозможно, за отсутствием номенклатуры.
      • +2

        Интересно, а если бы машину построили, какая бы у неё получилась наработка на отказ?

        • +1
          Очень понравилась статья и иллюстрации, красиво, спасибо.
          • +2
            Ещё и свёрстано здорово :)
            • +1
              Я рад, что мои старания были не напрасны)
              • 0

                Спасибо большое!
                А можно где скачать в электронном виде?

                • 0
                  Конечно!
                  Специально для заинтересовавшихся источником иллюстраций в конце статьи есть вся информация.

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

            • +1
              Всегда пожалуйста!
            • 0
              Эх, если бы он додумался вместо десятичной системы использовать более эффективную, смог бы до ума систему довести и на том уровне развития технологий.
              • +4
                А какую «более эффективную»?
                Двоичная хороша для микроэлектроники, где можно очень легко создавать одинаковые элементы. Для механической машины же это означало бы раза в 3 больше всяких шестеренок и рычажков.
                Можно было попробовать увеличить основание, но для снижения длины барабана (и количества деталей, соответственно) в 2 раза пришлось бы использовать 100ичную систему. Уже не очень удобно, а выгода не так уж и велика.
                • –1
                  Ну, на основе двоичных колёс можно было бы делать модульные заменяемые логические элементы, если бы первая машина взлетела, то до этого могли додуматься очень быстро.
                  • +4

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

                    • +1
                      Судя по иллюстрациям, машина обеспечивала лёгкий доступ к любой её части. Искать неисправности в шестерёночных механизмах можно просто визуально, либо расцепляя передачи между модулями и вручную проверяя проходимость. В то время уже существовали арифмометры, разностная машина была логическим их продолжением.
                      • +1
                        Двоичная система больше подходит для механизмов типа реле.
                        Теоретически, уже тогда можно было создать пневматический или гидравлический вычислитель. Булеву алгебру Бэббидж вполне мог знать, и попадись ему на глаза не станок Жаккара, а шарманка, например…
                      • +1
                        С ростом сложности элементов надежность тоже падает.
                        • +1
                          Увеличение количества зубцов на колесе — это не существенное увеличение сложности.
                    • +1
                      Шестеренки с большим количеством зубчиков сложнее в изготовлении и менее надежны.
                      Надо выбирать из двоичной, троичной и четверичной. Шестеренок больше, но каждая из них проще, а в то время были проблемы с точностью изготовления сложных деталей.
                    • 0
                      Тогда и результат выдавал бы в 2-ой.
                    • 0
                      У меня (как и у многих) в детстве была серия детских энциклопедий от «Росмэна»: «Наука», «География» и т.д. Так вот там были такие же потрясающие иллюстрации, как в статье (только цветные). Очень они мне нравились, статья погрузила меня в пучину ностальгии:)

                      Вот она, родная
                      image
                      • 0
                        Знакомая книжка :) Ещё была «Детская Энциклопедия» и серия «Иллюстрированная мировая история».
                        • +5
                          Тогда уж лучше «энциклопедию профессора Фортрана» вспоминать:

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

                            В период с 1989 по 1991 год к двухсотлетию со дня рождения Чарльза Бэббиджа на основе его оригинальных работ в лондонском Музее науки была собрана работающая копия разностной машины № 2. В 2000 году в том же музее заработал принтер, также придуманный Бэббиджем для своей машины. После устранения обнаруженных в старых чертежах небольших конструктивных неточностей обе конструкции заработали безупречно. Эти эксперименты подвели черту под долгими дебатами о принципиальной работоспособности конструкций Чарльза Бэббиджа
                            • 0
                              Разностные машины, насколько я знаю, это немного другое. Они то ли вообще не программируемые, то ли программируются крайне ограниченно.
                              Я бы скорее компьютер Z-1 вспомнил.
                              • 0
                                Что по сравнению с чем «немного другое»?
                                Разностные машины Шутца и Виберга по сравнению с разностной машиной Бэббиджа?
                                • 0
                                  Насколько я понимаю, в статье, на самом деле, описана не разностная машина Беббиджа (аналог инженерного калькулятора; одну разностную машину даже сам Беббидж достроил в 1822 году), а аналитическая (которая настоящий программируемый компьютер).
                                  Их часто путают.
                                  • +1
                                    Вы правы: их путают даже в самом первом предложении топика:
                                    он назвал свое изобретение Разностной машиной или Аналитической машиной
                              • 0
                                После устранения обнаруженных в старых чертежах небольших конструктивных неточностей обе конструкции заработали безупречно.

                                Судя по первой картинке (чертежу) для работы оказалось необходимо не менее 3 котов )) Или наоборот, коты лишними оказались ))
                              • +1
                                На основе чертежей Бэббиджа в начале 90-х воспроизвели его «Разностную машину №2», и, как говорят, она работает. Выставлена в музее в Лондоне.
                              • +1
                                А если переместить Аду Лавлейс из того времени в наше смогла бы она стать программистом?
                                Её было бы интересно увидеть то что она предрекала.
                                • 0
                                  тогда слово «компьютер» имело иное значение
                                  Какое же?
                                  • +4
                                    Человек, занимающийся расчетами.
                                    • +3
                                      Вам правильно ответили. Компьютеры — это название счетоводов того времени.
                                      А для иллюстрации оставлю это здесь:
                                      • +1
                                        <зануда>
                                        Счетовод = бухгалтер.
                                        Компьютер = расчетчик.
                                        </зануда>
                                        И в художественной литературе, и в мемуарах упоминаются расчетные бюро с «девушками, перемалывающими числа в ручных мельницах своих арифмометров».(с) кто-то из зарубежных классиков НФ
                                        • 0
                                          Думаю, зачастую бухгалтера и расчетчики совмещали деятельность.
                                          Все же смежные области, хотя все зависит от масштабов компании, в которой они работали.
                                    • +1
                                      А круто бы выглядела эта штука, если бы ее сегодня сделали… Какой-нибудь большой музей вполне мог бы себе это позволить.
                                      • +1
                                        так сделали вроде
                                        • 0
                                          Нет. На всю машину целиком он даже проектную документацию не выпустил. Там нечего воссоздавать.
                                          А отдельные элементы — да, по музеям стоят.
                                        • +1

                                          Собственно, вот.
                                          Видео ее работы. Правда, с ручным приводом. Таки да, впечатляет.

                                          • 0
                                            Это не то. Это разностная машина. То, что он таки сумел построить.
                                            • +1
                                              Нет, разностную машину он сам тоже не достроил, поскольку увлёкся созданием аналитической.
                                              • 0
                                                Но она таки заработала. Видимо, бросил на высокой стадии готовности, и её закончили без него.
                                                • +1
                                                  Заработал «прототип» (1/7 вычислительного модуля), демонстрацией которого в Парламенте Бэббидж сопроводил свою просьбу профинансировать постройку машины целиком.
                                                  Бюджетные деньги Бэббидж получил, но машину так и не достроил. Такое вот Сколково двухсотлетней давности.
                                                  • +1
                                                    Тем не менее, разностные машины были созданы и использовались.
                                                    Выходит, это была уже другая история?
                                                    • 0
                                                      Были созданы, но уже без участия Бэббиджа, и на пару десятков лет позднее, когда производственные технологии достаточно развились.

                                                      Тут можно провести аналогию с Apple Newton и Apple iPad: когда идея на пару десятков лет опережает имеющиеся технологии, то она приносит лишь убытки; когда технологии её догоняют — она становится прибыльной.
                                        • +1
                                          Получается, архитектуру ЭВМ с раздельной памятью для программ и данных можно называть архитектурой Бэббиджа. :)
                                          • +1
                                            Автор, спасибо за статью! Очень четко и подробно. И отдельный лайк за котиков :D
                                            • 0
                                              И вам спасибо за отзыв!
                                            • 0
                                              Вот интересно, сколько бы мега хэшей в секунду год выдавал такой компьютер при майнинге биткойна? :)
                                              • +1
                                                Не много, насколько я помню, на одну операцию сложения уходило около двух-трех минут.
                                                Она была реально времязатратной.
                                              • 0

                                                Долго втуплял на вторую иллюстрацию, не мог понять, что она мне напоминает (стиль). Вспомнил-вот оно!
                                                image

                                                • 0
                                                  Зав отделом линейного счастья)
                                                • 0

                                                  Отличная статья, спасибо.


                                                  Но… несогласие вызывает самая первая строчка…
                                                  Почему именно это устройство Вы посчитали первым компьютером?
                                                  Почему не Лейбниц? Или Мюллер? или Жаккар?


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


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


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

                                                  • +1
                                                    Всегда пожалуйста!

                                                    Бэббидж не закончил постройку компьютера из-за своего перфекционизма и, возможно, он скорее не создатель, а проектировщик первого компьютера.
                                                    Лейбниц все же создал арифмометр, а наработки Бэббиджа ближе к современному понятию «компьютер», чем к арифмометру.
                                                    • 0
                                                      Лейбниц все же создал арифмометр

                                                      Зато за свои деньги и в свободное от работы время (многие годы на это ушли, хотя, чистого времени, вероятно, немного).
                                                      Только нетехнологичен он у него был жутко, и с ошибками, которые можно было бы исключить, если бы делались нормальные чертежи. Но, что поделаешь, Гаспар Монж ещё не родился.
                                                      • 0
                                                        Лейбниц все же создал арифмометр

                                                        Кроме арифмометра, он описал первый двоичный компьютер. Вот что в вики пишут (там с отсылками к источникам)


                                                        Он пытался применить двоичный код в механике и даже сделал чертёж вычислительной машины, работавшей на основе его новой математики, но вскоре понял, что технологические возможности его времени не позволяют создать такую машину[61]. Про­ект вычислительной машины, работающей в двоичной си­стеме, в которой использовался прообраз перфокарты, Лейбниц изложил в труде, написанном ещё в 1679 году

                                                        Надо будет посмотреть на чертежи на досуге, если они доступны в интернете…


                                                        проектировщик первого компьютера

                                                        Полностью согласен, тем более с первенством идеи он опоздал, использовать подобный метод счисления раньше него предлагал Мюллер, работая над доработкой арифмометра Лейбница :) Санта-барбара целая выходит, тем более что Бэббидж не знал о работах Мюллера.


                                                        Хотя Жаккар вне конкуренции с первым "ЧПУ" станком...

                                                        • 0
                                                          Кроме арифмометра, он описал первый двоичный компьютер.

                                                          Нет так. Он описал методы двоичных вычислений и предложил схему их механической реализации (кажется, на падающих дробинках, уже плохо помню).
                                                          Увы, преобразования между десятичной и двоичной системами сами по себе сложнее, чем большинство вычислений того времени. Поэтому не зашло.
                                                    • 0
                                                      Вспомнилась манга с Бэббиджем и Адой Лавлейс в роли боргов. В ней он эту машину достроил, потом правда их победили. :)
                                                      • +1
                                                        А куда это исчез идентичный полностью переведённый комикс с Авторского Комикса?
                                                        • 0
                                                          Возможно, убрали в связи с вопросом об авторских правах.

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