stringtranslate.com

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

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

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

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

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

Дизайн

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

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

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

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

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

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

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

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

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

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

Аналитический двигатель Генри Бэббиджа , построенный в 1910 году, [26] в Музее науки (Лондон).

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

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

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

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

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

План-схема аналитической машины 1840 г.

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

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

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

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

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

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

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

№0 6№1 1Н2 1×Л1Л0С1Л0Л2S0Л2Л0CB?11

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

Влияние

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

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

Информатика

С 1872 года Генри усердно продолжал работу своего отца, а затем в 1875 году периодически выходил на пенсию .

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

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

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

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

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

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

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

Рекомендации

  1. ^ ab «Аналитическая машина Бэббиджа, 1834–1871. (Пробная модель)». Музей науки . Проверено 23 августа 2017 г.
  2. ^ Джон Грэм-Камминг (4 октября 2010 г.). «100-летний скачок». О'Рейли Радар . Проверено 1 августа 2012 г.
  3. ^ abc «Паровоз Бэббиджа: Двигатели». Музей истории компьютеров . 2016 . Проверено 7 мая 2016 г.
  4. ^ аб Бромли 1982, с. 196.
  5. ^ аб "Бэббидж". Интернет-штуки . Музей науки. 19 января 2007 года . Проверено 1 августа 2012 г.
  6. ^ «Давайте построим идеальный механический компьютер Бэббиджа» . мнение. Новый учёный . 23 декабря 2010 года . Проверено 1 августа 2012 г.
  7. ^ abc Тим Робинсон (28 мая 2007 г.). «Разностные машины». Meccano.us . Проверено 1 августа 2012 г.
  8. ^ Вебер, Алан С. (10 марта 2000 г.). Наука XIX века, антология. Бродвью Пресс. ISBN 9781551111650. Проверено 1 августа 2012 г.
  9. ^ abcde Collier 1970, с. Глава 3.
  10. ^ Ли, Джон Ан (1995). Международный биографический словарь пионеров компьютеров. Тейлор и Фрэнсис. ISBN 9781884964473. Проверено 1 августа 2012 г.
  11. ^ Балчин, Джон (2003). Наука: 100 учёных, изменивших мир . Книги зачарованного льва. п. 105. ИСБН 9781592700172. Проверено 1 августа 2012 г.
  12. ^ Дубби, Дж. М.; Дубби, Джон Майкл (12 февраля 2004 г.). Математическая работа Чарльза Бэббиджа. Издательство Кембриджского университета. п. 197. ИСБН 9780521524766.
  13. ^ аб Менабреа и Лавлейс 1843.
  14. ^ abcd Бромли 1982, с. 215.
  15. ^ Бромли 1982, с. 198.
  16. ^ Бромли 1982, с. 211.
  17. ^ Бромли 1982, с. 209.
  18. ^ «Страницы Бэббиджа: Вычислительные машины» . Projects.ex.ac.uk. 8 января 1997 года . Проверено 1 августа 2012 г.
  19. ^ Бромли 1990, с. 89.
  20. ^ Бромли 2000, с. 11.
  21. ^ Менабреа, г-н Л.-Ф. (1842). «Представления о аналитической машине М. Чарльза Бэббиджа». Всемирная библиотека Женевы . 41 : 352–376 – через Бибнума.
  22. Стерлинг, Брюс (14 мая 2017 г.). «Чарльз Бэббидж оставил компьютерную программу в Турине в 1840 году. Вот она». Проводной . ISSN  1059-1028 . Проверено 10 июня 2021 г.
  23. ^ Ежемесячные уведомления Королевского астрономического общества. Пристли и Уил. 1910. с. 517.
  24. ^ Отчет сорок восьмого собрания Британской ассоциации развития науки (Отчет). Лондон: Джон Мюррей. 1879. стр. 92–102 . Проверено 20 декабря 2015 г.
  25. ^ «Аналитическая машина (отчет 1879 г.)» . Fourmilab.ch . Проверено 20 декабря 2015 г.
  26. ^ ab «Завод по производству аналитических машин Генри Бэббиджа, 1910». Музей науки. 16 января 2007 года . Проверено 1 августа 2012 г.
  27. ^ Великобритания), Институт актуариев (Great (1950). Материалы столетней ассамблеи Института актуариев. Напечатано для Института актуариев в University Press. стр. 178.
  28. Рэнделл, Брайан (21 декабря 2013 г.). «2.3. Аналитическая машина Бэббиджа. Г. П. Бэббидж (1910)». Происхождение цифровых компьютеров: избранные статьи . Спрингер. ISBN 9783642618123.
  29. ^ ab «Аналитическая машина (Генри П. Бэббидж, 1888)». Fourmilab.ch . Проверено 1 августа 2012 г.
  30. ^ «Современное продолжение — Двигатель Бэббиджа». Музей истории компьютеров . Проверено 1 августа 2012 г.
  31. ^ «Кампания строится для создания аналитической машины Бэббиджа» . Новости BBC . 14 октября 2010 г.
  32. ^ «Создание аналитической машины Чарльза Бэббиджа». План 28. 27 июля 2009 г. Проверено 1 августа 2012 г.
  33. Маркофф, Джон (7 ноября 2011 г.). «Цифровые колеса начали вращаться». Нью-Йорк Таймс . ISSN  0362-4331. Архивировано из оригинала 1 января 2022 года . Проверено 10 июня 2021 г.
  34. ^ «Весенний отчет 2016 года для Общества охраны компьютеров» . План 28 . Проверено 29 октября 2016 г.
  35. ^ «Весенний отчет 2017 года для Общества охраны компьютеров» . blog.plan28.org . Проверено 13 июня 2017 г.
  36. ^ "Записки Бэббиджа". Группа музеев науки . 1821–1905. Архивировано из оригинала 13 апреля 2020 года.
  37. ^ Бромли 2000.
  38. ^ Бэббидж 1864, с. 137.
  39. ^ «Двигатель Бэббиджа - Ключевые люди - Генри Провост Бэббидж» . Музей истории компьютеров. Архивировано из оригинала 20 февраля 2011 года . Проверено 8 февраля 2011 г.
  40. ^ Хорсбург, EM (Эллис Мартин); Выставка, посвященная 300-летию Нейпира (1914). «Счетные машины PE Ludgate». Современные инструменты и методы расчета: справочник Трехсотлетней выставки Нейпира . Герштейн – Университет Торонто. Лондон: Дж. Белл. стр. 124–127.
  41. ^ Ладгейт, Перси Э. (апрель 1909 г.). «О предлагаемой аналитической машине». Научные труды Королевского Дублинского общества . 12 (9): 77–91. Доступно онлайн по адресу: Fano.co.UK. Архивировано 7 августа 2019 г. на Wayback Machine.
  42. ^ "Коллекция компьютерных наук Джона Гэбриэла Бирна" (PDF) . Архивировано из оригинала 16 апреля 2019 года . Проверено 8 августа 2019 г.
  43. ^ Рэнделл 1982, с. 4–5.
  44. ^ Л. Торрес Кеведо. Ensayos sobre Automática – Ваше определение. Extension teórica de sus aplicaciones, Revista de la Academia de Ciencias Exacta, Revista 12, стр. 391–418, 1914.
  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. ^ Рэнделл 1982, с. 6, 11–13.
  48. ^ Бромли 1990.
  49. ^ "Аналитическая машина Перси Ладгейта". fano.co.uk.От аналитической машины к электронному цифровому компьютеру: вклад Ладгейта, Торреса и Буша Брайан Рэнделл, 1982, Ладгейт: стр. 4–5, Кеведо: стр. 6, 11–13, Буш: стр. 13, 16–17 . Проверено 29 октября 2018 г.
  50. ^ Аб Коэн 2000.
  51. ^ "Интервью Дж. Преспера Эккерта, 28 октября 1977 г." . Архивировано из оригинала 24 июля 2010 года . Проверено 9 февраля 2011 г.
  52. ^ «Компьютерный сборник устной истории, 1969–1973, 1977» (PDF) . Архивировано из оригинала (PDF) 11 ноября 2010 года . Проверено 9 февраля 2011 г.
  53. ^ Менабреа и Лавлейс 1843, с. 688.
  54. ^ "Компьютер Mark I" . Коллекция исторических научных инструментов . Гарвардский университет . Архивировано из оригинала 10 июля 2015 года . Проверено 7 мая 2016 г.
  55. ^ «Конрад Цузе — первый релейный компьютер». История компьютеров . Проверено 7 мая 2016 г.
  56. ^ «Маломасштабная экспериментальная машина Манчестера - «Младенец»» . Кафедра компьютерных наук Манчестерского университета . Апрель 1999 года . Проверено 7 мая 2016 г.
  57. ^ Нимершайм, Джек (1995). «Мориарти от модема». Шерлок Холмс на орбите . Книги DAW . стр. 287–302. ISBN 9780886776367. Архивировано из оригинала 20 июня 2003 года . Проверено 11 ноября 2023 г.
  58. ^ «Опасные эксперименты в комиксах». 2D-очки . Проверено 1 августа 2012 г.
  59. ^ «Эксперименты в комиксах с Сиднеем Падуей». Тор.ком. 26 октября 2009 года . Проверено 1 августа 2012 г.
  60. ^ «Клиент | 2D-очки» . Сиднейпадуа.com . Проверено 1 августа 2012 г.
  61. ^ "Машина Баббагенсейи". Рука Ориона . 2014 . Проверено 7 мая 2016 г.

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

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