Развитие механики в 17 веке стало предпосылкой создания вычислительных устройств и приборов, использующих механический принцип вычислений. Такие устройства строились на механических элементах и обеспечивали автоматический перенос старшего разряда.
Первая механическая машина была описана в 1623 г. В. Шиккардом, изготовлена в единственном экземпляре и предназначалась для выполнения четырех арифметических операций над 6-разрядными числами. Машина Шиккарда состояла из трех независимых устройств: суммирующего, множительного и записи чисел. Сложение производилось последовательным вводом слагаемых посредством наборных дисков, а вычитание – последовательным вводом уменьшаемого и вычитаемого. Вводимые числа и результат сложения/вычитания отображались в окошках считывания. Для выполнения операции умножения использовалась идея умножения решеткой. Третья часть машины использовалась для записи числа длиною не более 6 разрядов. Использованная принципиальная схема машины Шиккарда явилась классической – она (или ее модификации) использовалась в большинстве последующих механических счетных машин вплоть до замены механических деталей электромагнитными. Однако из-за недостаточной известности машина Шиккарда и принципы ее работы не оказали существенного влияния на дальнейшее развитие ВТ, но она по праву открывает эру механической вычислительной техники.
В машине Б. Паскаля использовалась более сложная схема переноса старших разрядов, в дальнейшем редко используемая; но построенная в 1642 г. первая действующая модель машины, а затем серия из 50 машин способствовали достаточно широкой известности изобретения и формированию общественного мнения о возможности автоматизации умственного труда. До нашего времени дошло только 8 машин Паскаля, из которых одна является 10-разрядной. Именно машина Паскаля положила начало механическому этапу развития ВТ.
В 17-18 веках предлагался целый ряд различного типа и конструкции суммирующих устройств и арифмометров, пока в 19 в. растущий объем вычислительных работ не определил устойчивого спроса на механические счетные устройства и не способствовал их серийному производству на коммерческой основе.
Рис.1. Машина Блеза Паскаля
Первый арифмометр, позволяющий
производить все четыре арифметические операции, был создан
Готфридом Лейбницем в результате многолетнего труда. Венцом этой работы стал
арифмометр Лейбница, позволяющий использовать 8-разрядное множимое и
9-разрядный множитель с получением 16-разрядного произведения. По сравнению с
машиной Паскаля было создано принципиально новое вычислительное устройство,
существенно ускоряющее выполнение операций умножения и деления. Однако
арифмометр Лейбница не получил распространения по двум основным причинам:
отсутствию на него устойчивого спроса и конструкционной неточности,
сказывающейся при перемножении предельных для него чисел. В 17-18 в.в. был
предложен целый ряд вычислительных инструментов по образцу Паскаля и Лейбница
(с той или иной степенью модернизации), на основе палочек Непера либо
оригинальные разработки. Предложенные конструкции являлись отдельными
множительными устройствами или комбинациями суммирующей и множительной частей.
Рис. 2. Арифмометр Готфрида Лейбница
Начало 19 в. (подобно предыдущему столетию) характеризуется развитием вычислительных средств в трех основных направлениях: (1) суммирующие и (2) множительные устройства, а также (3) арифмометры; при этом преобладающим становится развитие арифмометров. В 1881 г. Л. Томас организовывает в Париже серийное производство арифмометров. Конструкция его арифмометра основана на использовании ступенчатого валика Лейбница и явилась дальнейшим развитием арифмометра Лейбница, отличаясь рядом полезных конструкторских решений: удобной формой ввода числа, наличием противоинерционного устройства, механизма гашения числа и др. Такой арифмометр получил название томас-машины, и его серийность была невелика – за весь 19 в. было выпущено около 2000 томас-машин. Однако важным достоинством томас-машин была их долговечность – арифмометр использовался даже при расчетах, связанных с подготовкой плана ГОЭЛРО в 1920 г. Вместе с тем арифмометр Томаса имел ряд существенных недостатков, ограничивающих масштабы его серийного производства; на протяжении 19 в. и начала 20 в. он претерпел целый ряд усовершенствований по многим направлениям, что позволило ему даже конкурировать с появившимися арифмометрами Однера с рычажным вводом чисел.
Важной вехой в развитии арифмометров следует считать создание в 1888 г. машины Балле, которая операцию умножения выполняла втрое быстрее существующих на то время арифмометров (именно поэтому машину называли множительной). Дальнейшие ее модификации привели к серийному выпуску этой машины с электроприводом под названием Миллионер, а заложенный в ней принцип стал использоваться и в других моделях механических вычислительных машин.
Увеличение во второй половине 19 в. вычислительных работ в целом ряде областей человеческой деятельности выдвинуло настоятельную потребность в ВТ и повышенные требования к ней. Существующие на тот момент различного типа вычислительные устройства решить эту задачу не могли. И только создание в 1874 г. В. Однером (Россия) своей модели арифмометра, в основе которой лежало специальной конструкции зубчатое колесо Однера, можно считать началом математического машиностроения. На всем протяжении своего существования арифмометр Однера совершенствовался и выпускался в нескольких вариантах, получив целый ряд высоких наград, включая золотую медаль на международной выставке в Париже в 1900 г. Рост производства арифмометров Однера продолжался как в СССР, так и за рубежом; в 1931 г. он получает название Феликс, под которым хорошо известен и ныне существующим поколениям отечественных вычислителей.
Рис. 3. Арифмометр «Феликс»
После 1945 г. в СССР были созданы модели арифмометра с клавишным вводом (ВК-1) и электроприводом (ВК-2), в 1969 г. выпуск арифмометров в СССР достиг максимума (300 тыс. шт.); при этом на модель BК-1 приходилось порядка 60 тыс. шт., а на Феликс – почти все остальное количество.
Особое место среди разработок механического этапа развития ВТ занимают работы Ч. Бэббиджа, с полным основанием считающегося родоначальником и идеологом современной ВТ. Вполне естественно, что именно в Англии 20-30-х годов 19 века, находившейся на острие промышленной революции, имелись все предпосылки для появления подобных проектов, оказавших большое влияние на последующее развитие точного машиностроения. Среди работ Бэббиджа явно просматриваются два основных направления: разностная и аналитическая вычислительные машины.
Проект разностной машины был разработан в 20-х годах 19 века и предназначался для табулирования полиномиальных функций методом конечных разностей. Основным стимулом в данной работе была настоятельная необходимость в табулировании функций и проверке существующих математических таблиц, изобилующих ошибками. Однако данный проект не был завершен и только публикация о нем в 1834 г. явилась для шведских изобретателей Шейцев (отца и сына) импульсом к реализации такой машины, которая была завершена в 1853 г. и подобно машине Ч. Бэббиджа состояла из двух частей: вычислительной и печатающей; она позволяла табулировать функции с постоянными разностями 4-го порядка (т.е. полиномы 4-й степени) с точностью до 15 десятичных знаков, выводя на печать только первые 8 знаков. Впоследствии машина была продана в США и использовалась для вычисления астрономических таблиц. Из последующих машин разностного типа можно отметить разработки Виберга (Швеция, 1863 г.), Дж. Гранта (США, 1876 г.) и Л. Комри (Англия, 1933 г.). Однако после появления ЭВМ необходимость в специализированных разностных машинах полностью отпала.
Совершенно иная судьба ожидала второй проект Бэббиджа – его аналитическую машину, использующую принцип программного управления и явившуюся предшественницей современных ЭВМ. Данный проект был предложен в 30-е годы 19 в., а в 1843 г. Адой Лавлейс для машины Бэббиджа была написана первая в мире достаточно сложная программа вычисления чисел Бернулли. Оба эти достижения можно считать выдающимися, опередившими свою эпоху более чем на столетие. Проект аналитической машины не был реализован, но получил весьма широкую известность и заслужил высокую оценку целого ряда ученых, в первую очередь математиков. Ч. Бэббидж разработал множество чертежей самой машины, изготовил ряд ее блоков; его сын Генри пытался реализовать проект, но полностью он остался лишь на уровне эскизного проекта. Идея аналитической машины возникла у Бэббиджа в процессе работы над разностной машиной и первый эскизный чертеж такой машины появился уже в 1834 г. Аналитическая машина предназначалась для вычисления любого алгоритма (в нашей терминологии) и была задумана чисто механической. К тому времени (1831 г.) появившиеся электромеханические реле были недостаточно надежными и Бэббидж их забраковал. Однако им рассматривался вопрос использования парового двигателя в качестве источника энергии для приведения в действие механизмов машины.
Рис. 47. Бэббидж и его аналитическая машина
В начале 1836 г. Бэббидж уже четко представлял себе основную конструкцию машины, а в 1837 г. в статье «О математической производительности счетной машины» он достаточно подробно описывает свой проект. Аналитическая машина состояла из следующих четырех основных частей:
(1) – блок хранения исходных, промежуточных данных и результатов вычислений. Он состоял из набора зубчатых колес, идентифицирующих цифры подобно арифмометру. Колеса объединялись в регистры для хранения многоразрядных десятичных чисел. Этот блок Бэббидж называл складом (в современной терминологии – это оперативная память ЭВМ) и определял его емкость в 1000 50-разрядных десятичных чисел;
(2) – блок обработки чисел из склада, названный мельницей (в современной терминологии – это арифметическое устройство). Быстродействие данного блока Бэббидж оценивал так: сложение/вычитание – 1 с; умножение (двух 50-разрядных чисел) и деление (100-разрядное число на 50-разрядное) – 1 мин; организация блока была аналогична первому блоку;
(3) – блок управления последовательностью вычислений (в современной терминологии – это устройство управления); проектировалось на основе двух жаккардовых механизмов, описанных ниже;
(4) – блок ввода исходных данных и печати результатов (в современной терминологии – это устройство ввода/вывода).
Для устройства управления Ч. Бэббидж предложил механизм, аналогичный механизму ткацкого станка Жаккарда, использующему специальные управляющие перфокарты. По идее Бэббиджа управление должно осуществляться парой жаккардовских механизмов с набором перфокарт в каждом. Один механизм с картами операций должен быть соединен с арифметическим устройством и настраивать его на выполнение арифметических операций согласно кодам перфокарт. Второй должен был управлять переносом чисел из оперативной памяти в арифметическое устройство и обратно. Более того устройство управления было снабжено устройствами, обеспечивающими обратный ход механизмов, необходимый для организации условной передачи управления (условного перехода в вычислениях). Следовательно, с помощью карт Жаккарда – прообраза современных перфокарт – предполагалось реализовать автоматическое управление процессом механических вычислений в машине Бэббиджа. В качестве основного способа вывода данных из аналитической машины планировалось использование перфокарт. Наряду с этим машина должна была обеспечивать вывод промежуточных и конечных результатов на бумажный носитель в одном или двух экземплярах (по требованию). В качестве еще одного устройства планировалось использование графопостроителя, обеспечивающего вывод графиков кривых по результатам вычислений. Бэббидж планировал создание устройств для вывода результатов на металлические пластинки, а для хранения информации – специальных металлических дисков, вращающихся на оси; оба типа носителей можно рассматривать как первые прототипы современных магнитных карт и дисков,
Машина Бэббиджа использовала десятеричную систему счисления, однако он рассматривал и другие системы с основаниями 2-5 и 100. Но возрастание габаритов машины заставило отказаться от двоичной системы. Базовой операцией арифметического устройства машины Ч. Бэббиджа являлась операция сложения, общий принцип реализации которой явился модификацией принципа, использованного в разностной машине, но со сквозным переносом десятков. Остальные арифметические операции проектировались на основе сложения.
Для функционирования аналитической
машины была необходима программа, первый пример которой был написан Адой
Лавлейс (1843 г.) под руководством самого Бэббиджа, у которого с первой были
весьма тесные творческие отношения. В 1842 г. на итальянском языке была
опубликована статья Л.Ф. Менебреа по аналитической машине Бэббиджа, переводом
которой на английский язык и занялась А. Лавлейс. В августе
1843 г. вышел перевод статьи Менебреа, но с примечаниями переводчика, которые
не только в 2,5 раза превзошли по объему оригинал, но и, по сути дела, заложили
основы программирования на ЭВМ за столетие до начала действительного развития
этого базового раздела компьютерной информатики.
Рис. 5. Ада Лавлейс
Основная заслуга А. Лавлейс состоит не только в создании первой программы для машины Бэббиджа, но и в полном и доступном описании машины, а также анализе ее возможностей для решения различных вычислительных задач. Наряду с этим Лавлейс проводит широкую популяризацию идей Ч. Бэббиджа, сама проектирует некоторые узлы машины и исследует вопросы применения двоичной системы счисления, а также высказывает ряд идей, получивших широкое применение только в наше время. Главным результатом работы Ады Лавлейс можно считать создание основ программирования для универсальных цифровых ЭВМ, который был отмечен современными программистами присвоением ее имени ADA одному из наиболее мощных универсальных языков программирования.
Несомненно, на последующее
развитие ВТ было определенное влияние работ и идей Ч. Бэббиджа и
А. Лавлейс, были и попытки осуществить аналогичные проекты аналитической
машины, однако ни один из них так и не был осуществлен на практике. Однако
влияние этих разработок нельзя преувеличивать, что, на наш взгляд, можно
объяснить не только отсутствием необходимых предпосылок (общественная
потребность, уровень технологий и др.), но и самим фактом отсутствия реально
работающих машин. Ведь именно конкретная реализация того или иного проекта в
области техники позволяет наиболее адекватно оценить его потребность и
активизировать дальнейшее его развитие. В противном случае, даже нужное в
данное время устройство, не реализованное хотя бы в опытных образцах, может
долго ждать своего практического воплощения, а то и вовсе не быть реализованным
как морально устаревшее. История науки и техники знает немало подобных примеров
и проект аналитической машины Бэббиджа – один из таких примеров.
© ООО «Знанио»
С вами с 2009 года.