stringtranslate.com

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

Часть счетной машины с печатающим механизмом аналитической машины, построенной Чарльзом Бэббиджем, экспонируемая в Музее науки (Лондон) [1]

Аналитическая машина была предложена как цифровой механический компьютер общего назначения, разработанный английским математиком и пионером вычислительной техники Чарльзом Бэббиджем . [2] [3] Впервые она была описана в 1837 году как преемник разностной машины Бэббиджа , которая была проектом более простого механического калькулятора. [4]

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

Бэббидж так и не смог завершить строительство ни одной из своих машин из-за конфликтов с главным инженером и недостаточного финансирования. [7] [8] Только в 1941 году Конрад Цузе построил первый универсальный компьютер Z3 , более чем через столетие после того, как Бэббидж предложил новаторскую аналитическую машину в 1837 году. [3]

Дизайн

Два типа перфокарт, используемых для программирования машины. Передний план: «операционные карты», для ввода инструкций ; задний план: «переменные карты», для ввода данных

Первая попытка Бэббиджа создать механическое вычислительное устройство, Difference Engine , была специальной машиной, предназначенной для табулирования логарифмов и тригонометрических функций путем оценки конечных разностей для создания аппроксимирующих полиномов . Строительство этой машины так и не было завершено; у Бэббиджа были конфликты с его главным инженером Джозефом Клементом , и в конечном итоге британское правительство прекратило финансирование проекта. [9] [10] [11]

В ходе этого проекта Бэббидж понял, что возможна гораздо более общая конструкция — аналитическая машина. [9] Работа над проектом аналитической машины началась около 1833 года. [12] [4]

Входные данные, состоящие из программ («формул») и данных, [13] [9] должны были быть предоставлены машине через перфокарты , метод, который использовался в то время для управления механическими ткацкими станками, такими как ткацкий станок Жаккарда . [14] Для вывода машина должна была иметь принтер, криволинейный плоттер и звонок. [9] Машина также могла бы набивать числа на карты для последующего считывания. Она использовала обычную арифметику с фиксированной точкой и основанием 10. [9]

Должен был быть магазин (то есть память), способный хранить 1000 чисел по 50 десятичных цифр [15] каждое (около 16,6  кБ ). Арифметическое устройство («мельница») могло бы выполнять все четыре арифметические операции , а также сравнения и, при необходимости, квадратные корни . [16] Первоначально (1838) оно было задумано как разностная машина, изогнутая назад, в общем круговом макете, с длинным хранилищем, выходящим в одну сторону. [17] Более поздние чертежи (1858) изображают регуляризованную сетевую компоновку. [18] [19] Подобно центральному процессору (ЦП) в современном компьютере, мельница должна была полагаться на свои собственные внутренние процедуры, примерно эквивалентные микрокоду в современных ЦП, которые должны были храниться в виде штифтов, вставленных во вращающиеся барабаны, называемые «бочками», для выполнения некоторых из более сложных инструкций, которые могла указать программа пользователя. [7]

Язык программирования, который должен был использоваться пользователями, был похож на современные языки ассемблера . Циклы и условные переходы были возможны, и поэтому язык в том виде, в котором он был задуман, был бы полным по Тьюрингу, как позже определил Алан Тьюринг . Использовались три различных типа перфокарт: одна для арифметических операций, одна для числовых констант и одна для операций загрузки и сохранения, перенося числа из хранилища в арифметическое устройство или обратно. Было три отдельных считывателя для трех типов карт. Бэббидж разработал около двух десятков программ для аналитической машины между 1837 и 1840 годами и одну программу позже. [14] [20] Эти программы обрабатывают полиномы, итерационные формулы, исключение Гаусса и числа Бернулли . [14] [21]

В 1842 году итальянский математик Луиджи Федерико Менабреа опубликовал описание машины на французском языке [22] , основанное на лекциях, которые Бэббидж читал во время своего визита в Турин в 1840 году. [23] В 1843 году описание было переведено на английский язык и подробно прокомментировано Адой Лавлейс , которая заинтересовалась машиной восемью годами ранее. [13] В знак признания ее дополнений к статье Менабреа, которые включали способ вычисления чисел Бернулли с помощью машины (широко признанной первой полной компьютерной программой), ее называют первым компьютерным программистом .

Строительство

В конце своей жизни Бэббидж искал способы построить упрощенную версию машины и собрал небольшую ее часть перед своей смертью в 1871 году. [1] [7] [24]

В 1878 году комитет Британской ассоциации содействия развитию науки описал аналитическую машину как «чудо механической изобретательности», но рекомендовал не строить ее. Комитет признал полезность и ценность машины, но не смог оценить стоимость ее создания и не был уверен, будет ли машина правильно функционировать после того, как будет построена. [25] [26]

Аналитическая машина-мельница Генри Бэббиджа , построенная в 1910 году [27] в Музее науки (Лондон)

С перерывами с 1880 по 1910 год [28] сын Бэббиджа Генри Превост Бэббидж конструировал часть мельницы и печатного аппарата. В 1910 году он смог вычислить (неправильный) список кратных числу пи . [29] Это составляло лишь малую часть всей машины; она не была программируемой и не имела памяти. (Популярные изображения этого раздела иногда неправильно маркировались, подразумевая, что это была вся мельница или даже весь двигатель.) «Аналитическая машина мельница» Генри Бэббиджа выставлена ​​в Музее науки в Лондоне. [27] Генри также предложил построить демонстрационную версию полной машины с меньшей емкостью памяти: «возможно, для первой машины хватит десяти (колонок) с пятнадцатью колесами в каждой». [30] Такая версия могла бы манипулировать 20 числами по 25 цифр в каждом, и то, что ей можно было бы сказать, чтобы делать с этими числами, все еще могло бы быть впечатляющим. «Это только вопрос карт и времени», — писал Генри Бэббидж в 1888 году, «... и нет никаких причин, по которым (двадцать тысяч) карт не могли бы быть использованы при необходимости в аналитической машине для целей математики». [30]

В 1991 году Лондонский музей науки построил полный и рабочий образец разностной машины Бэббиджа № 2 , конструкции, включавшей усовершенствования, обнаруженные Бэббиджем во время разработки аналитической машины. [5] Эта машина была построена с использованием материалов и технических допусков , которые были доступны Бэббиджу, что опровергло предположение о том, что конструкции Бэббиджа не могли быть изготовлены с использованием производственных технологий его времени. [31]

В октябре 2010 года Джон Грэхем-Камминг начал кампанию «План 28» по сбору средств путем «публичной подписки», чтобы провести серьезное историческое и академическое исследование планов Бэббиджа с целью затем построить и протестировать полностью работающую виртуальную конструкцию, которая затем, в свою очередь, позволит построить физическую аналитическую машину. [32] [33] [34] По состоянию на май 2016 года фактическое строительство не было предпринято, поскольку из оригинальных чертежей Бэббиджа еще не удалось получить последовательного понимания. В частности, было неясно, сможет ли он обрабатывать индексированные переменные, которые требовались для программы Бернулли Лавлейс. [35] К 2017 году усилия «Плана 28» сообщили, что была доступна поисковая база данных всех каталогизированных материалов, и был завершен первоначальный обзор объемных «Книг записок» Бэббиджа. [36]

Многие из оригинальных рисунков Бэббиджа были оцифрованы и доступны для всеобщего ознакомления в Интернете. [37]

Набор инструкций

Схема аналитической машины 1840 года

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

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

...карты можно было бы заставить двигаться вперед и назад (и, следовательно, зацикливаться)... [14]

Введение впервые в 1845 году пользовательских операций для различных сервисных функций, включая, что наиболее важно, эффективную систему для пользовательского управления циклами в пользовательских программах. Нет никаких указаний на то, как указывается направление поворота карт операций и переменных. В отсутствие других доказательств мне пришлось принять минимальное предположение по умолчанию, что и карты операций и переменных могут быть повернуты только назад, как это необходимо для реализации циклов, используемых в примерах программ Бэббиджа. Не было бы никаких механических или микропрограммных трудностей в передаче направления движения под контроль пользователя. [38]

В своем эмуляторе движка Fourmilab сообщает:

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

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

№ 6Н1 1Н2 1×Л1Л0С1Л0Л2С0Л2Л0КБ?11

где CB — это инструкция условного перехода или «комбинационная карта», используемая для перехода потока управления, в данном случае назад на 11 карт.

Влияние

Прогнозируемое влияние

Бэббидж понимал, что существование автоматического компьютера вызовет интерес к области, ныне известной как алгоритмическая эффективность , и писал в своих «Отрывках из жизни философа» : «Как только появится аналитическая машина, она обязательно будет определять будущее направление науки. Всякий раз, когда с ее помощью будет получен какой-либо результат, возникнет вопрос: каким путем вычисления машина может получить эти результаты в кратчайшие сроки[39]

Информатика

С 1872 года Генри усердно продолжал работу отца, а затем, в 1875 году, вышел на пенсию. [40]

Перси Ладгейт писал о двигателе в 1914 году [41] и опубликовал свой собственный проект аналитического двигателя в 1909 году. [42] [43] Он был детально разработан, но никогда не был построен, и чертежи никогда не были найдены. Двигатель Ладгейта был бы намного меньше (около 8 кубических футов (230  л ), что соответствует кубу со стороной 2 фута (61 см)), чем двигатель Бэббиджа, и гипотетически мог бы умножать два 20-значных числа примерно за шесть секунд. [44]

В своей работе Essays on Automatics (1914) Леонардо Торрес Кеведо , вдохновленный Бэббиджем, спроектировал теоретическую электромеханическую вычислительную машину, которая должна была управляться программой только для чтения. В работе также содержится идея арифметики с плавающей точкой . [45] [46] [47] В 1920 году, чтобы отпраздновать 100-летие изобретения арифмометра , Торрес представил в Париже электромеханический арифмометр, который состоял из арифметического устройства, подключенного к (возможно, удаленной) пишущей машинке, на которой можно было набирать команды и автоматически распечатывать результаты. [48] [49]

В статье Ванневара Буша «Инструментальный анализ» (1936) содержалось несколько ссылок на работу Бэббиджа. В том же году он начал проект «Быстрая арифметическая машина» для исследования проблем построения электронного цифрового компьютера. [50]

Несмотря на эту основу, работа Бэббиджа оказалась в исторической безвестности, а аналитическая машина была неизвестна создателям электромеханических и электронных вычислительных машин в 1930-х и 1940-х годах, когда они начали свою работу, что привело к необходимости заново изобретать многие архитектурные инновации, предложенные Бэббиджем. Говард Эйкен , который построил быстро устаревший электромеханический калькулятор Harvard Mark I в период с 1937 по 1945 год, восхвалял работу Бэббиджа, вероятно, как способ повысить свой собственный статус, но ничего не знал об архитектуре аналитической машины во время строительства Mark I и считал свой визит к построенной части аналитической машины «величайшим разочарованием в моей жизни». [51] Mark I не показал никакого влияния аналитической машины и не имел самой провидческой архитектурной особенности аналитической машины — условного ветвления . [51] Дж. Преспер Экерт и Джон В. Мочли также не были осведомлены о подробностях работы Бэббиджа над аналитической машиной до завершения ими проектирования первого электронного компьютера общего назначения ENIAC . [52] [53]

Сравнение с другими ранними компьютерами

Если бы аналитическая машина была построена, она была бы цифровой , программируемой и полной по Тьюрингу . Однако она была бы очень медленной. Луиджи Федерико Менабреа сообщил в «Наброске аналитической машины» : «Мистер Бэббидж считает, что с помощью своей машины он может сформировать произведение двух чисел, каждое из которых содержит двадцать цифр, за три минуты». [54] Для сравнения, Гарвардский Марк I мог выполнить ту же задачу всего за шесть секунд (хотя спорно, является ли компьютер полным по Тьюрингу; ENIAC, который является полным по Тьюрингу, также был бы быстрее). Современный процессор мог бы сделать то же самое менее чем за миллиардную долю секунды.

В популярной культуре

Ссылки

  1. ^ ab "Babbage's Analytical Engine, 1834–1871. (Пробная модель)". Science Museum . Получено 23 августа 2017 г. .
  2. ^ Грэм-Камминг, Джон (4 октября 2010 г.). «Скачок на 100 лет». O'Reilly Radar . Получено 1 августа 2012 г.
  3. ^ abc "The Babbage Engine: The Engines". Музей истории компьютеров . 2016. Получено 7 мая 2016 .
  4. ^ ab Bromley 1982, стр. 196.
  5. ^ ab "Бэббидж". Интернет-материалы . Музей науки. 19 января 2007 г. Получено 1 августа 2012 г.
  6. ^ "Давайте построим конечный механический компьютер Бэббиджа". мнение. New Scientist . 23 декабря 2010 г. Получено 1 августа 2012 г.
  7. ^ abc Robinson, Tim (28 мая 2007 г.). «Разностные машины – аналитическая машина». Meccano.us. Архивировано из оригинала 5 октября 2020 г. Получено 1 августа 2012 г.
  8. ^ Вебер, Алан С. (10 марта 2000 г.). Наука 19-го века, антология. Broadview Press. ISBN 9781551111650. Получено 1 августа 2012 г.
  9. ^ abcde Collier 1970, стр. глава 3.
  10. ^ Ли, Джон Ан (1995). Международный биографический словарь пионеров компьютерной техники. Тейлор и Фрэнсис. ISBN 9781884964473. Получено 1 августа 2012 г.
  11. ^ Балчин, Джон (2003). Наука: 100 ученых, которые изменили мир . Enchanted Lion Books. стр. 105. ISBN 9781592700172. Получено 1 августа 2012 г.
  12. ^ Дубби, Дж. М.; Дубби, Джон Майкл (12 февраля 2004 г.). Математические работы Чарльза Бэббиджа. Cambridge University Press. стр. 197. ISBN 9780521524766.
  13. ^ Менабреа и Лавлейс, 1843.
  14. ^ abcd Бромли 1982, стр. 215.
  15. ^ Бромли 1982, стр. 198.
  16. ^ Бромли 1982, стр. 211.
  17. ^ Бромли 1982, стр. 209.
  18. ^ "Babbage's Analytical Engine: The First True Digital Computer". Аналитическая машина . Архивировано из оригинала 21 августа 2008 года . Получено 21 августа 2008 года .
  19. ^ "The Babbage Pages: Calculating Engines". Projects.exeter.ac.uk. 8 января 1997 г. Архивировано из оригинала 12 марта 2008 г. Получено 23 апреля 2024 г.
  20. ^ Бромли 1990, стр. 89.
  21. Бромли 2000, стр. 11.
  22. ^ Менабреа, г-н Л.-Ф. (1842). «Представления о аналитической машине М. Чарльза Бэббиджа». Всемирная библиотека Женевы . 41 : 352–376 – через Бибнума.
  23. ^ Стерлинг, Брюс (14 мая 2017 г.). «Чарльз Бэббидж оставил компьютерную программу в Турине в 1840 году. Вот она». Wired . ISSN  1059-1028 . Получено 10 июня 2021 г. .
  24. Ежемесячные уведомления Королевского астрономического общества. Пристли и Уил. 1910. С. 517.
  25. Отчет сорок восьмого заседания Британской ассоциации содействия развитию науки (Отчет). Лондон: Джон Мюррей. 1879. С. 92–102 . Получено 20 декабря 2015 г.
  26. ^ "Аналитическая машина (Отчет 1879)". Fourmilab.ch . Получено 20 декабря 2015 г. .
  27. ^ ab "Аналитическая машина Генри Бэббиджа Mill, 1910". Музей науки. 16 января 2007 г. Получено 1 августа 2012 г.
  28. ^ Британия), Институт актуариев (Великобритания (1950). Труды столетнего собрания Института актуариев. Напечатано для Института актуариев в University Press. стр. 178.
  29. ^ Рэнделл, Брайан (21 декабря 2013 г.). "2.3. Аналитическая машина Бэббиджа. HP Babbage (1910)". Происхождение цифровых компьютеров: избранные статьи . Springer. ISBN 9783642618123.
  30. ^ ab "Аналитическая машина (Генри П. Бэббидж 1888)". Fourmilab.ch . Получено 1 августа 2012 г. .
  31. ^ "Современное продолжение — Машина Бэббиджа". Музей истории компьютеров . Получено 1 августа 2012 г.
  32. ^ "Кампания строится для создания аналитической машины Бэббиджа". BBC News . 14 октября 2010 г.
  33. ^ "Building Charles Babbage's Analytical Engine". План 28. 27 июля 2009 г. Получено 1 августа 2012 г.
  34. ^ Маркофф, Джон (7 ноября 2011 г.). «It Started Digital Wheels Turning». The New York Times . ISSN  0362-4331. Архивировано из оригинала 1 января 2022 г. Получено 10 июня 2021 г.
  35. ^ "Весенний отчет 2016 года для Общества сохранения компьютеров". План 28. Получено 29 октября 2016 года .
  36. ^ "Весенний отчет 2017 года для Общества сохранения компьютеров". blog.plan28.org . Получено 13 июня 2017 г. .
  37. ^ "The Babbage Papers". Science Museum Group . 1821–1905. Архивировано из оригинала 13 апреля 2020 г.
  38. ^ Бромли 2000.
  39. Бэббидж 1864, стр. 137.
  40. ^ "The Babbage Engine – Key People – Henry Provost Babbage". Computer History Museum. Архивировано из оригинала 20 февраля 2011 года . Получено 8 февраля 2011 года .
  41. ^ Хорсбург, Э. М. (Эллис Мартин); Выставка трехсотлетия Нейпира (1914). «Автоматические вычислительные машины П. Э. Ладгейта». Современные приборы и методы расчета: справочник выставки трехсотлетия Нейпира . Герштейн – Университет Торонто. Лондон: Г. Белл. стр. 124–127.
  42. ^ Ладгейт, Перси Э. (апрель 1909 г.). «О предложенной аналитической машине». Научные труды Королевского Дублинского общества . 12 (9): 77–91. Доступно онлайн на сайте: Fano.co.UK Архивировано 7 августа 2019 г. на Wayback Machine
  43. ^ "The John Gabriel Byrne Computer Science Collection" (PDF) . Архивировано из оригинала 16 апреля 2019 . Получено 8 августа 2019 .
  44. ^ Рэнделл 1982, стр. 4–5.
  45. ^ Торрес Кеведо, Леонардо. Automática: Complemento de la Teoría de las Máquinas, (pdf), стр. 575–583, Revista de Obras Públicas, 19 ноября 1914 г.
  46. ^ Торрес Кеведо. Л. (1915). «Essais sur l'Automatique – Sa définition. Etendue theorique de ses application», Revue Génerale des Sciences Pures et Appliquées , vol. 2, стр. 601–611.
  47. ^ Рональд Т. Кнойзель. Числа и компьютеры, Springer, стр. 84–85, 2017. ISBN 978-3319505084 
  48. ^ Рэнделл 1982, стр. 6, 11–13.
  49. ^ Бромли 1990.
  50. ^ "Percy Ludgate's Analytical Machine". fano.co.uk . От аналитической машины к электронному цифровому компьютеру: вклад Ludgate, Torres и Bush Брайана Рэнделла, 1982, Ludgate: стр. 4–5, Quevedo: стр. 6, 11–13, Bush: стр. 13, 16–17 . Получено 29 октября 2018 г. .
  51. ^ Коэн 2000.
  52. ^ "Интервью с Дж. Преспером Экертом 28 октября 1977 г.". Архивировано из оригинала 24 июля 2010 г. Получено 9 февраля 2011 г.
  53. ^ "Computer Oral History Collection, 1969–1973, 1977" (PDF) . Архивировано из оригинала (PDF) 11 ноября 2010 г. . Получено 9 февраля 2011 г. .
  54. Менабреа и Лавлейс 1843, стр. 688.
  55. ^ "The Mark I Computer". Коллекция исторических научных приборов . Гарвардский университет . Архивировано из оригинала 10 июля 2015 г. Получено 7 мая 2016 г.
  56. ^ Уэллс, Бенджамин (18 ноября 2010 г.). «Раскручивание производительности и мощности на Колоссе, необычном компьютере». Natural Computing . 10 (4). Springer Science and Business Media LLC: 1383–1405. doi :10.1007/s11047-010-9225-x. ISSN  1567-7818. S2CID  7492074.
  57. ^ "Конрад Цузе — первый релейный компьютер". История компьютеров . Получено 7 мая 2016 г.
  58. ^ "The Manchester Small Scale Experimental Machine – "The Baby"". Кафедра компьютерных наук, Манчестерский университет . Апрель 1999 г. Получено 7 мая 2016 г.
  59. ^ Нимерсхайм, Джек (1995). «Мориарти по модему». Шерлок Холмс на орбите . DAW Books . стр. 287–302. ISBN 9780886776367. Архивировано из оригинала 20 июня 2003 . Получено 11 ноября 2023 .
  60. ^ "Опасные эксперименты в комиксах". 2D Goggles . Получено 1 августа 2012 г.
  61. ^ "Эксперименты в комиксах с Сидни Падуа". Tor.com. 26 октября 2009 г. Получено 1 августа 2012 г.
  62. ^ "Клиент | 2D-очки". Sydneypadua.com . Получено 1 августа 2012 г.
  63. ^ "Machina Babbagenseii". Orion's Arm . 2014. Получено 7 мая 2016 .

Библиография

Внешние ссылки