Upgrade to Pro — share decks privately, control downloads, hide ads and more …

История автоматических вычислителей: программи...

Anton
November 16, 2023

История автоматических вычислителей: программируемая механика

Лекция курса "Языки и методы программирования"
История автоматических вычислителей: программируемая механика
- Аль-Джазари
- Шарманки, музыкальные шкатулки, механическое пианино
- Граммофон
- Ткацкий станок на перфокартах - Бушон, Вокансон, Жаккард

4 октября 2023 (ранние версии: осень 2021, 2022)

Anton

November 16, 2023
Tweet

More Decks by Anton

Other Decks in Education

Transcript

  1. Материалы • Computing before computers, под редакцией William Aspray, 1990,

    в числе авторов Allan G. Bromley • От абака до компьютера, Р. С. ГУТЕР Ю.Л.ПОЛУНОВ, 1981 • A History of Mechanical Inventions, Revised Edition, Abbott Payson Usher, 1954
  2. Ресурсы • Archive.org • Library Genesis (LibGen): libgen.is, libgen.lc (через

    VPN, любое зеркало) • Скайхаб sci-hub.ru • Google Books books.google.com • Остальной интернет
  3. Арифмометр «Феликс» (отзыв пользователя) • А вообще у нас был

    последний курс, у которого были лабораторные по математике с Феликсом. Следующий год уже был без арифмометра, только Минск-32 и Фортран. • Все лабораторные не помню, но вот одна была вычисление определенного интеграла методом Лагранжа, что ли. И у меня всё время была ошибка, то в 32 знаке, то в 38, то в 40-м. И уже мне светила родная СА, когда товарищ мне дал совет : Вот тебе телефончик, ребята считают лабы на ЭВМ, 2 рубля за лабу. [...] • Феликс нормальный, сложности были при вычислении корней. Пять раз в одну сторону, восемь обратно, сдвинуть на разряд, шесть раз крутануть, сдвинуть на разряд, но в другую сторону,и так триста раз.....Это для наперсточников, а не для инженеров. Хотя в 90-е могло пригодиться. • interier, 1i7.livejournal.com/173231.html?thread=759471#t759471
  4. • Арифметические счетные машины позволяют автоматизировать выполнение математических операций •

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

    сохранение и ввод промежуточных значений для последующих действий, контроль последовательности действий • Как следствие: низкая производительность труда, высокая вероятность ошибиться • Вывод: для еще более глубокой автоматизации вычислений требуются новые механизмы автоматизации, которые позволят уменьшить (или полностью исключить) вовлечённость человека в процесс вычислений в том числе на промежуточных этапах
  6. • Devices for the automatic control of mechanisms have a

    much longer history, leading back to the ancient Greek civilizations. • Automatic mechanisms were extensively developed in the great astronomical clocks of the Renaissance and the automata of the eighteenth century. • Two devices of particular importance to our story, the pin barrel music box and the punched card Jacquard loom, were well established by the early nineteenth century. • Of considerable importance, but in a more abstract intellectual sense, was the development by Stephenson of the ball governor for the steam engine and the idea of feedback that it embodies.
  7. Аль-Джазари • механик-изобретатель, математик, астроном исламского возрождения (VIII-XIII век) •

    В 1206 году написал трактат «Китаб фи марифат аль- хиял аль-хандасийя» (Книга знаний об остроумных механических устройствах), • где описал конструкцию около 50 механизмов • ru.wikipedia.org/wiki/Аль-Джазари • en.wikipedia.org/wiki/Ismail_al-Jazari
  8. Группа «роботов»-музыкантов • четыре человекоподобных робота, которых Аль- Джазари усадил

    в лодку и заставил играть на барабанах и цимбалах. • Во время монарших вечеринок их обычно запускали в озеро, и те играли простую музыку. • Одна система, задействованная в этих устройствах, использовала зажимы и кулачки, помещённые в деревянный ящик в определённых местах, которые последовательно задействовали рычаги, которые, в свою очередь, управляли ударными инструментами.
  9. • The Book of Knowledge of Ingenious Mechanical Devices, by

    Ibn al-Razzaz aI-Jazari • Translated and annotated by Donald R. Hill Chartered Engineer, B.Sc., M.Litt., Ph.D., 2012 • archive.org/details/cover_20200113_2057/mode/2up • archive.org/details/content_202101/mode/2up
  10. • ru.wikipedia.org/wiki/Шарманка • Созданный во Франции в XVII веке примитивный

    экземпляр мог воспроизводить только одну мелодию • служил для обучения певчих птичек, и название было подходящее — «птичий органчик». • Наверное, это первый экземпляр, сохранившийся и дошедший до нас.
  11. • soundtimes.ru/starinnye-muzykalnye-instrumenty/sharmanka • О применении кулачковых устройств, которые служат для

    образования звука в шарманке, было известно еще с античных времен. • использовали в конструкциях различного рода развлекательных механизмах. • в Древней Греции были театры, представляющие самодвижущиеся фигурки, которые назывались андроидами и передвигались под сопровождение звуков, извлекаемых механическим способом.
  12. • soundtimes.ru/starinnye-muzykalnye-instrumenty/sharmanka • китайский философ Конфуций, живший в VI столетии

    до нашей эры, целую неделю, не прерываясь, слушал звучание мелодий, извлекаемых из устройства, называемого «ребрами тигра», и состоящего из пластин, издающих звуки разной высоты. Возможно, этот музыкальный механизм и был прародителем шарманки. • пневматический орган, изобретенный в III веке до рождества Христова знаменитым древнегреческим изобретателем Ктезибием, имел косвенное отношение к появлению шарманки.
  13. • soundtimes.ru/starinnye-muzykalnye- instrumenty/sharmanka • В эпоху Возрождения механизмы для извлечения

    звука продолжали совершенствоваться и для утехи знати уже создавались механические музыкальные инструменты, воспроизводящие мелодии: • шарманки, музыкальные шкатулки и табакерки.
  14. Шкатулка с секретом • Валик (барабан) с штырями • Штыри

    оттягивают молоточки • Молоточки бьют по колокольчикам • Порядок расположения штырей на валике определяет мелодию • Валик крутит пружина • Чтобы завести пружину, нужен храповик («лишняя деталь» в сюжете мультика)
  15. Мир дикого запада • Механическое пианино (в заставке и фон

    внутри серий) • Отсылка-1: антураж времени • Отсылка-2: философский подтекст • Пианино — это программируемый автомат • В контексте фильма — тоже робот, только из эпохи, в которую играют роботы будущего (которые тоже есть программируемые автоматы) • (т. е. в некотором роде потомки этого пианино)
  16. • Программа здесь: мелодия, последовательность нот (идея) • Носитель программы:

    валик с штырями, бумажная лента с отверстиями (перфолента) — материальный объект • Исполнительное устройство (механизм): остальная часть инструмента (молоточки, колокольчики, струны, меха, клапаны и т. п.)
  17. • Носитель программы подключается к исполнительному устройству в качестве составной

    детали • Изменять носитель программы легко, • изменять исполнительное устройство целиком сложно
  18. Граммофон • Патефон — портативный граммофон (по названию фирмы- производителя)

    • Носитель «программы»: пластинка с канавками • Рельеф канавок определяет колебания иголки, • колебания иголки определяют колебания мембраны динамика (раструб — рупор усиливает звук) • «Программа» не цифровая (о вычислениях речи не идет) и даже не дискретная (как в шарманке); можно назвать её непрерывной или аналоговой, пожалуй • Ручка заводит пружину, кстати
  19. • Первые конструкции — древние времена • (Египет — 2000

    до н.э., Древняя Греция, Древний Рим) • Свидетельства о продвинутых конструкциях — 6-й век н.э. • Станок, во-первых, должен сплести из ниток ткань • Во-вторых, хорошо, если цветные нитки получится сплести так, что на ткани появится узор
  20. • Чем сложнее узор, тем сложнее станок • В частности,

    сложность узора определяется тем, каким количеством отдельных нитей станок может управлять • Механика с ручным управлением • Элементы конструкции: рычаги, педали, гири на отдельных нитках • Формирование узора: вручную
  21. Базиль Бушон (Basile Bouchon) • ru.wikipedia.org/wiki/Бушон%2C_Базиль • Франция, Лион •

    Ткач или торговец • Даты жизни неизвестны • Упоминается в 1725-м году как изобретатель ткацкого станка
  22. Жан-Батист Фалькон • ru.wikipedia.org/wiki/Фалькон,_Жан-Батист • Франция, Лион • Ткач по

    шелку (master silk weaver) • Упоминается в 1727 (1737?) году как ассистент Базиля Бушона • Внес ряд улучшений в конструкцию Бушона
  23. • 1725: Базиль Бушон (Basile Bouchon), приставка к ткацкому станку,

    значительно облегчавшая процесс формирования узора • Жан-Батист Фалькон (Falcon, ткач по шелку), подключился к работе в 1737 (в 1727?) • Доработали конструкцию вместе • Вариант Бушона: перфолента (бумага с отверстиями) • Вариант Фалькона: перфокарты (картонки с отверстиями)
  24. • в 1755-м году проекту порезали государственное финансирование • Но

    нашли (по линии Фалькона) немного частных денег • В 1762-м году завершили, опять получили поддержку правительства • Оборудовали около 40 станков в течение нескольких лет
  25. • Главное экономическое преимущество лежит в упрощении процесса смены шаблона

    рисунка на ткацком станке • Механизм выбора узора управлялся последовательностью карт • Один и тот же станок можно было перенастроить на производство ткани с новым узором простой вставкой нового набора перфорированных карт (перфокарт) (перевод с англ.)
  26. Жак де Вокансон (1709 — 1782) • ru.wikipedia.org/wiki/Вокансон,_Жак_де • Франция,

    Гренобль — Париж • Механик и изобретатель • Конструировал механические игрушки — аниматроников (механическая утка) • (этим, в основном, прославился)
  27. • При том, что устройство Бушона и Фалькона было, в

    целом, работоспособное, у него был ряд конструкционных недостатков, которые мешали его внедрить совсем массово • В 1747-м году Жак де Вакансон предложил ряд значимых улучшений в рамках своей работы над механизмами шелковой промышленности • Однако и его предложения остались в статусе проектов и прототипов, законченное улучшенное устройство не было построено
  28. Жозе́ф Мари́ Жакка́р, 1752 — 1834 • ru.wikipedia.org/wiki/Жаккар,_Жозеф_ Мари •

    Франция, Лион • Торговец, ткач, изобретатель • Остался в истории как изобретатель программируемого ткацкого станка, который может плести узорчатую ткань
  29. Ткацкий станок Жаккара • Начал работать в 1800-м • Получил

    поддержку от республиканского правительства • Первая рабочая модель — 1804-й год • Основана на конструкциях Вакансона и Фалькона (значит и Бушона?) • Даёт возможность раздельно управлять каждой нитью основы или небольшой их группой, создавая тем самым узоры на ткани • Для формирования узора использует сменные перфокарты
  30. Принцип работы • Отверстие в перфокарте пропускает иголку-спицу, если отверстия

    нет — иголка упирается в картон • Геометрия спиц, вошедших внутрь и не прошедших в отверстия, определяет, какие из нитей будут подняты наверх специальным механизмом, а какие останутся в базовом горизонтальном положении • Между поднятыми и неподнятыми нитями пропускается перпендикулярная нитка, как при обычной операции плетения на ткацком станке • Конфигурация поднятых-неподнятых нитей на каждом шаге определяет узор
  31. • Ткацкие станки — не простое развлечение (как в случае

    с шарманкой) • Текстильная промышленность — важная часть экономики • Один из двигателей промышленной революции • Автоматизация, массовое производство, рынки сырья, рынки сбыта, мировая торговля • Повышение производительности труда здесь даёт эффект в масштабах мировой экономики • (к примеру, может обеспечивать экономический фундамент для сохранения или уничтожения института рабовладения)
  32. • Перфокарта — это носитель информации • Подключается к исполнительному

    механизму (ткацкому станку) в качестве составной детали • Определяет то, как будет работать станок (какой узор сплетёт) • Программа здесь — последовательность действий для получения желаемого узора (идея), закодированная (сформулированная на специальном языке) в отверстиях перфокарты (записанная на материальный носитель)
  33. • Станки с перфокартным управлением — программируемые станки, станки с

    программным управлением • Но это НЕ числовое управление, т. к. речь идет об управлении, но не о вычислениях • Программа из отверстий на карте дискретна — это делает её похожей на двоичный код современных вычислителей, но речи о двоичной логике (булевой алгебре), здесь всё еще не идёт • (от логики есть «да»/«нет», операций «и»/«или» нет)
  34. • Ткацкие станки Бушона/Жаккара иногда называют первыми программируемыми компьютерами (вычислительными

    устройствами) • Скорее всего потому, что в нашем мире сейчас программируемая техника ассоциируется с программируемыми вычислениями • Но, конечно, это не так • Станки не производили математических операций, поэтому это не вычислительные устройства • Но они управлялись программой, поэтому это был программируемый механизм
  35. • Первые устройства с программным управлением: аниматроники, шарманки — развлечения

    • Далее ткацкий станок с программным управлением (станок с ПУ), но без вычислений — это сразу промышленность и массовое производство • Механические вычисления уже были, но до программируемых вычислителей еще достаточно долго • После появления и распространения программируемой универсальной вычислительной техники (уже не механики) она вернулась в производство — станки с числовым программным управлением (промышленные роботы, станки с ЧПУ) • (механические куклы — аниматроники на числовом программном управлении тоже появились, см. Бостон Динамикс, которые сначала сделали ходячих кукол, но еще толком не придумали, куда применить)
  36. У нас есть • Технология вычислений на механике (арифмометры) •

    Технология программирования: неизменяемый исполнительный механизм (сложно изменять, производится один раз) + носитель программы (легко изменять, создаётся множество вариаций), соединяются вместе, работают как единое устройство • Осталось всего-навсего это всё соединить и получить программируемое вычислительное устройство...