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

Комментарии (63)


  1. vlad1988_1
    15.11.2017 06:24

    К сожалению это оказался воздушный замок, не реализованный в железе. Сложность оказалась запредельной для 19 века.


    1. Nuwen
      15.11.2017 08:57

      Думаю, не сложнее сотни карманных часов. Сложность была в объяснении необходимости такой машины окружающим.


      1. norguhtar
        15.11.2017 13:43

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


        1. Zenitchik
          15.11.2017 15:23

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


  1. tormozedison
    15.11.2017 06:41

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


  1. super-guest
    15.11.2017 07:07

    Очень понравилась статья и иллюстрации, красиво, спасибо.


    1. Boomburum
      15.11.2017 12:01

      Ещё и свёрстано здорово :)


      1. Knjazh Автор
        15.11.2017 12:41

        Я рад, что мои старания были не напрасны)


        1. ru_vlad
          16.11.2017 00:38

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


          1. Knjazh Автор
            16.11.2017 02:55

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

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


    1. Knjazh Автор
      15.11.2017 12:41

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


  1. potan
    15.11.2017 08:01

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


    1. artskep
      15.11.2017 08:42

      А какую «более эффективную»?
      Двоичная хороша для микроэлектроники, где можно очень легко создавать одинаковые элементы. Для механической машины же это означало бы раза в 3 больше всяких шестеренок и рычажков.
      Можно было попробовать увеличить основание, но для снижения длины барабана (и количества деталей, соответственно) в 2 раза пришлось бы использовать 100ичную систему. Уже не очень удобно, а выгода не так уж и велика.


      1. Nuwen
        15.11.2017 09:01

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


        1. vlad1988_1
          15.11.2017 10:28
          +1

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


          1. Nuwen
            15.11.2017 11:17
            +1

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


            1. SvSh123
              15.11.2017 11:56
              +1

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


          1. potan
            15.11.2017 12:45

            С ростом сложности элементов надежность тоже падает.


            1. Zenitchik
              15.11.2017 15:24

              Увеличение количества зубцов на колесе — это не существенное увеличение сложности.


      1. potan
        15.11.2017 12:44

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


    1. A31F
      15.11.2017 15:09

      Тогда и результат выдавал бы в 2-ой.


  1. myldy
    15.11.2017 08:02

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

    Вот она, родная
    image


    1. GeMir
      15.11.2017 10:37

      Знакомая книжка :) Ещё была «Детская Энциклопедия» и серия «Иллюстрированная мировая история».


    1. tyomitch
      15.11.2017 10:42

      Тогда уж лучше «энциклопедию профессора Фортрана» вспоминать:


  1. begemot_sun
    15.11.2017 08:44

    А есть механические реализации (любительские) машин аналогичной Бэбиджа?
    Арифмометр не предлагать. Интересует именно программируемые устройства.


    1. tyomitch
      15.11.2017 10:44

      Конечно есть:

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

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


      1. APLe
        15.11.2017 10:51

        Разностные машины, насколько я знаю, это немного другое. Они то ли вообще не программируемые, то ли программируются крайне ограниченно.
        Я бы скорее компьютер Z-1 вспомнил.


        1. tyomitch
          15.11.2017 11:04

          Что по сравнению с чем «немного другое»?
          Разностные машины Шутца и Виберга по сравнению с разностной машиной Бэббиджа?


          1. APLe
            15.11.2017 11:15

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


            1. tyomitch
              15.11.2017 11:19

              Вы правы: их путают даже в самом первом предложении топика:

              он назвал свое изобретение Разностной машиной или Аналитической машиной


      1. OneOfUs
        15.11.2017 16:24

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

        Судя по первой картинке (чертежу) для работы оказалось необходимо не менее 3 котов )) Или наоборот, коты лишними оказались ))


    1. Keloraen
      15.11.2017 12:43
      +1

      На основе чертежей Бэббиджа в начале 90-х воспроизвели его «Разностную машину №2», и, как говорят, она работает. Выставлена в музее в Лондоне.


  1. Arxitektor
    15.11.2017 10:33

    А если переместить Аду Лавлейс из того времени в наше смогла бы она стать программистом?
    Её было бы интересно увидеть то что она предрекала.


  1. GeMir
    15.11.2017 10:34

    тогда слово «компьютер» имело иное значение
    Какое же?


    1. SvSh123
      15.11.2017 10:36

      Человек, занимающийся расчетами.


    1. Knjazh Автор
      15.11.2017 12:54

      Вам правильно ответили. Компьютеры — это название счетоводов того времени.
      А для иллюстрации оставлю это здесь:


      1. SvSh123
        15.11.2017 13:08

        <зануда>
        Счетовод = бухгалтер.
        Компьютер = расчетчик.
        </зануда>
        И в художественной литературе, и в мемуарах упоминаются расчетные бюро с «девушками, перемалывающими числа в ручных мельницах своих арифмометров».(с) кто-то из зарубежных классиков НФ


        1. Knjazh Автор
          15.11.2017 13:18

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


  1. olekl
    15.11.2017 11:11
    +1

    А круто бы выглядела эта штука, если бы ее сегодня сделали… Какой-нибудь большой музей вполне мог бы себе это позволить.


    1. MagisterLudi
      15.11.2017 19:09
      +1

      так сделали вроде


      1. Zenitchik
        15.11.2017 19:12

        Нет. На всю машину целиком он даже проектную документацию не выпустил. Там нечего воссоздавать.
        А отдельные элементы — да, по музеям стоят.


    1. hoegni
      15.11.2017 19:24

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


      1. Zenitchik
        15.11.2017 19:54

        Это не то. Это разностная машина. То, что он таки сумел построить.


        1. tyomitch
          16.11.2017 16:37
          +1

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


          1. Zenitchik
            16.11.2017 16:51

            Но она таки заработала. Видимо, бросил на высокой стадии готовности, и её закончили без него.


            1. tyomitch
              16.11.2017 17:05

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


              1. Zenitchik
                16.11.2017 17:19
                +1

                Тем не менее, разностные машины были созданы и использовались.
                Выходит, это была уже другая история?


                1. tyomitch
                  16.11.2017 18:33

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

                  Тут можно провести аналогию с Apple Newton и Apple iPad: когда идея на пару десятков лет опережает имеющиеся технологии, то она приносит лишь убытки; когда технологии её догоняют — она становится прибыльной.


  1. SvSh123
    15.11.2017 11:51

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


  1. vilka-vtyk
    15.11.2017 12:50

    Автор, спасибо за статью! Очень четко и подробно. И отдельный лайк за котиков :D


    1. Knjazh Автор
      15.11.2017 20:31

      И вам спасибо за отзыв!


  1. 1MK-Ultra
    15.11.2017 12:54

    Вот интересно, сколько бы мега хэшей в секунду год выдавал такой компьютер при майнинге биткойна? :)


    1. Knjazh Автор
      15.11.2017 12:55

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


  1. Ugrum
    15.11.2017 13:17

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


    1. megaultraseo
      16.11.2017 02:49

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


  1. dtBlack
    15.11.2017 15:08

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


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


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


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


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


    1. Knjazh Автор
      15.11.2017 15:15
      +1

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

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


      1. Zenitchik
        15.11.2017 15:28

        Лейбниц все же создал арифмометр

        Зато за свои деньги и в свободное от работы время (многие годы на это ушли, хотя, чистого времени, вероятно, немного).
        И нетехнологичен он у него был жутко. Что поделаешь Гаспар Монж ещё не родился.


      1. dtBlack
        15.11.2017 16:42

        Лейбниц все же создал арифмометр

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


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

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


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

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


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


        1. Zenitchik
          15.11.2017 18:07

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

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


  1. vasimv
    15.11.2017 21:43

    Вспомнилась манга с Бэббиджем и Адой Лавлейс в роли боргов. В ней он эту машину достроил, потом правда их победили. :)


  1. Jamato
    16.11.2017 15:34

    А куда это исчез идентичный полностью переведённый комикс с Авторского Комикса?


    1. Knjazh Автор
      16.11.2017 16:55

      Возможно, убрали в связи с вопросом об авторских правах.