Машина Чарльза Бэббиджа — первая в мире программируемая вычислительная машина. 1822 год
Модель аналитической машины фактически можно считать прообразом современного компьютера. Первая в мире программируемая вычислительная машина Чарльза Бэббиджа — 1822.
Чарльз Беббидж считается основателем современной вычислительной техники. В работе Чарльза Бэббиджа прослеживается два направления: разностная и аналитическая вычислительная машины. Аналитическая машина Чарльза Бэббиджа использует принцип программного управления и является предшественницей современных ЭВМ.
Первый компьютер в мире – какой он?
В 40-х годах прошлого столетия функционировало сразу несколько компьютеров, которые можно назвать первыми. Однако еще в 1822 году изобретатель Чарльз Бэббидж выпустил счетную машину, которую с большой натяжкой можно назвать компьютером. Уже в 1941 году компанией IBM при участии математика Говарда Эйксона была разработана и выпущена усовершенствованная машина «Марк 1» (по чертежам Чарльза Бэббиджа). Это первый в США программируемый аппарат, который применялся для разработки военного оборудования.
- Конрад Цузе – немецкий разработчик, в 1939 году создавший машину, которая имела название Z1. Это первое электромеханическое устройство, предназначенное для вычисления аэродинамических характеристик самолета.
- Алан Тьюринг – разработал знаменитую машину, способную расшифровать коды немецкого аппарата «Энигма». Англичане построили более 200 таких компьютеров, каждый весил 2,5 тонны.
- Джон Атанасов – американскому инженеру удалось изобрести первую полностью электронную установку в 1942 году. Машина была способна решать линейные уравнения, ее даже признала «первым компьютером» судебная власть США в 1973 году.
- Джон Мокли – в 1946 г. разработал мощный электронный компьютер ЭНИАК, предназначенный для расчета баллистических таблиц. Данные операции ранее выполнялись людьми вручную. Машина была способна совершать аналогичные вычисления в 2600 раз быстрее.
Именно ЭНИАК считается первым полноценным компьютером, который является полностью вычислительным устройством. Аналоги были у британцев, однако по приказу Черчилля, информация о них была засекречена, а сами машины уничтожены. Компьютер ЭНИАК был громоздким и неудобным в работе, программирование осуществлялось путем переключения кабелей.
ЭНИАК
Личная жизнь
25 июля 1814 года в тинмутской церкви Святого Михаила Чарльз Бэббидж сочетался браком с Джорджианой Уитмор. Вначале пара жила в Шропшире, затем в 1815 году переехала на Девоншир-стрит в Лондон.
Джорджиана Уитмор, жена Чарльза Бэббиджа
В браке у Чарльза и Джорджианы родились 8 детей, однако младенчество пережили только четверо — Бенджамин, Джорджиана, Дугалд и Генри. Самым трудным периодом в личной жизни Чарльза стал 1827 год, тогда умерли отец, жена и двое сыновей ученого.
Интересный факт: за заслуги Бэббиджу предлагали как баронский, так и рыцарский титулы, однако из-за своих политических воззрений он отказался и от того, и от другого.
Личная жизнь
В возрасте Чарлз Бэббидж взял в жены Джорджиану Витмор. В этом браке, который продолжался 13 лет, родилось 8 детей – пятеро из которых умерли еще в детстве. 1827 год стал самым трудным в биографии ученого, поскольку тогда умерли его отец, супруга и двое сыновей.
Чарлз был очень общительным человеком. Почти каждую неделю в его доме собиралось много друзей и знакомых. Иногда, количество приглашенных достигало 300 гостей. Он поддерживал дружбу с такими знаменитостями, как Фуко, Чарльз Дарвин, Александр Гумбольдт, Чарльз Диккенс, Фурье и многими другими выдающимися личностями.
Часть 4. Аналитическая машина Чарльза Бэббиджа.
Но не смотря на то, что при жизни изобретателю так и не удалось построить рабочий образец своей самой лучшей разработки- история на этом не закончилась. Ведь как я уже упоминал в начале- именно этими разработками мы пользуемся и до сих пор! Как это часто бывает- ввесь гений был признан только после смерти. После смерти Чарлза Бэббиджа его сын, Генри Бэббидж, продолжил начатое отцом дело. В 1888 году Генри сумел построить по чертежам отца центральный узел аналитической машины. А в 1906 году Генри совместно с фирмой Монро построил действующую модель аналитической машины, включающую арифметическое устройство и устройство для печатания результатов. Машина Бэббиджа оказалась работоспособной!
Кстати говоря, именно центральный узел, построенный сыном Генри Бэббидж, вы можете видеть на картинке левее.
В принципе как саму историю создания, так и общие принципы мы уже разобрали выше. Теперь хотелось бы поговорить, в чём принципиальное отличие этой машины и в чём её гениальность в отличии от предыдущих? Главное отличие аналитической машины заключается именно в том, что принцип её работы оказался продуман до мелочей! Он оказался на только хорош, что по сути используется в вычислительной технике и на сегодняшний день. В ней присутствуют все три классических составляющих компьютера: control barrel — управляющий барабан (управляющее устройство — УУ), store — хранилище (теперь мы называем это памятью — ЗУ) и mill — мельница (арифметическое устройство — АУ). Регистровая память машины Бэббиджа была способна хранить как минимум сто десятичных чисел по 40 знаков, теоретически же могла быть расширена до тысячи 50-разрядных (для сравнения укажем, что ЗУ одной из первых ЭВМ «Эниак» в 1945 г. сохраняло всего 20 десятиразрядных чисел). АУ имело, как мы бы сейчас сказали, аппаратную поддержку всех четырех действий арифметики. Машина производила сложение за 3 секунды, умножение и деление — за 2 минуты. Эта «мельница» состояла из трех основных регистров: два для операндов, а третий для результатов действий, относящихся к умножению. Имелись также таблица для хранения промежуточных результатов и счетчик числа итераций. Основная программа заносилась на барабан (УУ), в дополнение к ней могли использоваться перфокарты, предложенные Жозефом Мари Жаккаром еще в 1801 г. для быстрого перехода с узора на узор в ткацких станках.
Ну вот кажется и всё, что я хотел рассказать вам на сегодняшний день! Конечно, в попытке рассказать всё и во всех подробностях- публикация снова оказалась немного растянутой, но хочется верить, что интерес к истории переломил лень к чтению и вы смогли это осилить! 😉
Аналитическая машина — прототип первого компьютера
Бэббидж не очень расстроился неудаче с большой разностной машиной. Уже тогда он понимал, что дело будет за программируемыми машинами. В 1834 году Чарльз начал разрабатывать программируемую аналитическую машину, прообраз современной ЭВМ.
Аналитическая машина Бэббиджа должна была состоять из нескольких частей:
• Склада – хранение результатов операций и значения переменных. Современная память.
• Мельницы – отвечала за операции с переменными, хранения значения переменных участвующих в вычислении в данный момент. Современный процессор.
• Третьего устройства (в чертежах Бэббиджа его названия не называлось) – управление последовательностью операций, перемещение и извлечение переменных в склад, вывод результатов.
Аналитическая машина Бэббиджа программировалась с помощью двух видов перфокарт: операционных карт и карт переменных.
Чарльз Бэббидж умер в 1871 году. После себя он оставил чертежи аналитической машины Первый программист — Ада Лавлейс и конспекты лекций, которые записал преподаватель туринской артиллерийской академии Луиджи Менабреа. На английский язык конспекты перевела друг и соратник Бэббиджа – Ада Лавлейс (дочь Джорджа Байрона). Она снабдила конспекты своими комментариями, которые по объему превосходили основной текст.
Ада Лавлейс в своих комментариях к лекциям Бэббиджа составила и первые инструкции по программированию аналитической машины. После этих инструкций Аду Лавлейс стали считать первым программистом.
В 1888 году сын Чарльза – Генри Бэббидж, создал по чертежам отца основной узел аналитической машины. Полностью машину Бэббиджа удалось создать только в 1906 году усилиями компании Монро.
Программы на перфокартах позволят автоматизировать работу
В 1834 году Чарльз Бэббидж описал свою аналитическую машину (Analytical Engine). Это был проект компьютера общего назначения с применением перфокарт, а также парового двигателя в качестве источника энергии.
Перфокарты — так назывались картонные карточки с пробитыми в них отверстиями, использовавшиеся для программного управления аналитической машиной Бэббиджа. Перфокарты представляли из себя куски перфорированного картона.
Впервые перфокарты были применены в 1804 г. французом Жаккаром для механического ткацкого станка, управляемого последовательностями таких карт. В соответствии с положениями отверстий на карте челнок совершал определенные движения, придавая ткани соответствующую структуру.
Кстати, в начале 1980-х свои программы все пользователи-программисты того времени набивали именно на перфокарты.
Перфокарты были необходимы для автоматизации работы аналитической машины, которая достигается за счет работы по заранее составленной человеком программе. Именно Чарльз Бэббидж является родоначальником идеи механической машины с программным управлением.
Действительно, без автоматического программного управления вычислительным процессом каждую последующую операцию машине должен «подсказывать» человек, нажимая на соответствующие кнопки. А осмысленно человек в самом лучшем случае может делать это 1-2 раза в секунду из-за инерционности своей нервной системы.
Следовательно, сколь бы быстро не работали блоки машины, она, выполняя каждую операцию по указанию человека, будет работать медленно – в темпе работы своего хозяина. А что, если заранее ввести в машину программу решения задачи и тем самым«научить» ее решать самостоятельно ту или иную задачу? Вот тогда можно добиться, чтобы машина считала «без оглядки на человека», со свойственной ей, машине, скоростью.
От Difference Engine к Analytical Engine
Неудачная попытка создания машины не остановила Бэббиджа. С середины 30-х годов он начал работать над своим следующим детищем — программируемой машиной Analytical Engine, которая стала делом его жизни и принесла ему посмертную славу. Это было воистину революционное изобретение, позже всякого рода арифмометров наизобретали немереное количество, но к идеям Analytical Engine смогли вернуться чуть ли не через 100 лет. Это была первая машина, управляемая внешней программой, в период с 1930 по 1950 год такие аппараты широко использовались в бизнесе, в СССР они назывались машиносчетными станциями и просуществовали до конца 60-х, в вузах преподавали специальность «Механизация вычислительных работ».
Для создания компьютера в современном понимании оставалось всего лишь придумать схему с хранимой программой, что и было сделано много лет спустя Эккертом, Мочли и фон Ньюманом. Новая машина отличалась от арифмометра наличием регистров, в них сохранялся промежуточный результат вычисления и с их помощью выполнялись действия, предписанные программой. Вычислительные возможности, открывшиеся с изобретением регистров, поразили самого автора. В мае 1835 года он писал: «Шесть месяцев я составлял проект машины, более совершенной, чем первая. Я сам поражен той вычислительной мощностью, которой она будет обладать, еще год назад я не смог бы в это поверить».
В ней присутствовали все три классических элемента компьютера: store — хранилище (теперь мы называем его памятью), mill — мельница (арифметическое устройство) и control barrel — управляющий барабан (управляющее устройство), для сравнения стоит посмотреть проект новейшего микропроцессора Crusoe. Регистровая память способна была хранить как минимум 100 десятичных чисел по 40 знаков, но теоретически могла быть расширена до 1000 50-разрядных чисел. Мельница состояла из трех основных регистров: два для операндов, а третий для результатов действий, относящихся к умножению. Еще имелась таблица для хранения промежуточных результатов и счетчик числа итераций. Основная программа заносилась на барабан, в дополнение к ней могли быть использованы перфокарты, предложенные в 1805 году французским инженером Жокардом для ткацких машин.
Машина не только выполняла линейные вычисления, в ней были заложены условный и безусловный переходы и циклы. На вход должны были поступать два потока карт, которые Бэббидж назвал операционными картами (operation card) и картами переменных (variable card): первые управляли процессом обработки данных, записанных на вторых. На тех и на других информация записывалась путем пробивки отверстий. Из операционных карт можно было составить библиотеку функций. Помимо этого, Analytical Engine, по замыслу Бэббиджа, должна была содержать устройство печати и устройство вывода результатов на перфокарты для последующего использования.
Все делалось в одиночку, британские ученые мужи его не поддерживали, где искать поддержку? Стоит представить обстановку, в которой работал Бэббидж. Новыми технологиями увлекались все, вошла в моду шляпа-цилиндр, придуманная кутюрье под явным влиянием паровой машины. Промышленные выставки в ту пору были сродни салонам, куда представители высшего света приходили знакомиться с новинками науки и техники. Постоянным их посетителем был Бэббидж, там он пропагандировал свою идею, искал и находил покровительство у членов королевской фамилии, но самое главное — там состоялось знакомство с Адой Лавлейс, ставшей его почитательницей. Нередко ее изображают как спонсора безумных идей, это неверно, сотрудничество было исключительно творческим.
Особое значение имели контакты с итальянскими учеными. В 1840 году Бэббидж был с визитом в Турине, его пригласили туда для чтения лекций о своей машине. Итальянские математики отнеслись к нему с большим пониманием, чем на родине, лекции имели шумный успех. По-видимому, они читались по-французски, поскольку один из слушателей, Луиджи Менабреа, бывший в ту пору преподавателем в Туринской артиллерийской академии, составил и издал конспект на французском языке. Много позже Менабреа стал министром иностранных дел Италии, а 1867 году даже премьер-министром.
Менабреа был глубоким мыслителем, он писал об экономике интеллекта (economy of intelligence). Занятно, что об интеллектуальном капитале заговорили только в середине 90-х годов XX века. Менабреа закончил свое эссе удивительными словами, которые стоило бы услышать тем, кто наделял и наделяет машины сверхчеловеческими способностями. Он написал, интерпретируя слова Бэббиджа (в 1842 году!): «Машина — не мыслящее существо, это просто автомат, выполняющий заложенное в него».
Получив труд Менабреа, Лавлейс перевела его на английский и снабдила пространными комментариями, по объему явно превосходящими исходный текст. Ознакомившись с ним, Бэббидж счел необходимым его опубликовать (перевод с комментариями нетрудно найти в Internet). Это самый интересный документ, посвященный алгоритмической основе Analytical Engine.
Ада Лавлейс перевела замыслы Бэббиджа на математический и технологический языки. Вот несколько фрагментов: «Машину нельзя наделить разумом, она только реализует предложенные представления. Эти представления зафиксированы на картах (перфокартах, тогда не было такого слова. — Прим. авт.), они передаются различным механизмам, выполняющим последовательность действий. Весь интеллектуальный труд ограничен подготовкой необходимых для вычисления выражений. Машину можно рассматривать как настоящую фабрику чисел».
Говард Рейнголд, один из ведущих специалистов в области истории компьютеров, с которым я имею честь быть лично знакомым, в своей книге Whole Earth назвал записки Ады Лавлейс классическими основополагающими документами в теории вычислительных машин (computer science), написанными за век до появления ENIAC.
Analytical Engine так и не была построена. Вот, что писал сам Бэббидж в 1851 году: «Все разработки, связанные с Analytical Engine, выполнены за мой счет. Я провел целый ряд экспериментов и дошел до черты, за которой моих возможностей не хватает. В связи с этим я вынужден отказаться от дальнейшей работы».
В 1851 году Чарльз Бэббидж предпринял попытку построить Difference Engine 2, но и она не была удачной.
Если бы Чарльз Бэббидж был просто математиком, он не смог бы выйти на тот понятийный уровень, который позволил ему ощутить потребность в машине для автоматических вычислений. Он был и философом, и экономистом и даже политэкономом. Еще в 1833 году Чарльз Бэббидж написал книгу «Экономика технологий и производств» (On the Economy of Machinery and Manufactures). Его вполне можно назвать и одним из первых промышленных шпионов, он объездил всю Европу в поисках подходящих для своей цели научных и технических решений.
Последние годы жизни Бэббидж посвятил философии и политической экономии.
Большое влияние на посмертную судьбу машин оказал сын изобретателя генерал Бэббидж. Выйдя в отставку в 1874 году, он несколько лет посвятил изучению имеющегося наследия, в 1880 году начал работу по восстановлению его в «железе», которая продолжалась с переменным успехом до 1896 года. После десятилетнего перерыва она была возобновлена, и появился действующий образец аналитической мащины, способный печатать результаты вычислений.