Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Апокин, И. А. Развитие вычислительных машин

.pdf
Скачиваний:
30
Добавлен:
23.10.2023
Размер:
23.91 Mб
Скачать

Часть машины Бэббиджа

рая группа вычисляла значение функции, отстоящих по значению

аргумента на 5 или 10 интервалов. Эти значения входили в окон­

чательную таблицу как ее основные значення.

Затем формулы передавались третьей, наиболее многочислен­

ной группе, состоящей примерно из 100 человек. Сотрудники тре­ тьей группы получали от второй вместе с формулами и исходные

числа. Используя только сложение и вычитание в той последова­

тельности, какая была указана в формулах, переданных пз второй группы, третья группа получала окончательные числовые резуль­ таты. Таков был путь расчета таблиц.

Следует отметить, что 90 % сотрудников третьей группы не зна­

ли математики далее двух первых действий арифметики. Но в рас­

четах они ошибались значительно реже, чем те, кто лучше знал

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

Умея довольно хорошо складывать и вычитать, они работали меха­ нически.

НО

Таблицы, подсчитанные под руководством Прони, никогда пе были опубликованы. Они были изготовлены в двух экземплярах. Каждый экземпляр содержал 17 рукописных томов большого фор­ мата.

После ознакомления с организацией работы над составлением

таблиц под руководством Проии у Бэббиджа возникла идея соз­

дать машину, которая вычисляла бы таблицы так же, как это де­

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

всю счетную работу.

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

членов соответствующих порядков (зависящие от степени много­

члена) равны нулю. Машину, которая будет работать на этом прин­

ципе, он назвал разностной.

Бэббидж предполагал использовать разностную машину для

вычисления любых функций, у которых разности высших поряд­

ков постоянны, а также для проверки ранее составленных таблиц.

Характеризуя возможности машины, он писал: «Все таблицы чи­

сел, которые следуют любому закону, хотя бы и сложному, могут быть получены в большей или меньшей степени только соответ­

ственными операциями последовательного сложения и вычитания

чисел, входящих в каждую таблицу» [51, стр. 8].

В разностной машине для каждого порядка разности необхо­ дим отдельный регистр, в котором хранились бы числа и который

содержал бы устройство для последовательного складывания чисел

в соседних регистрах. Например, разностная машина, предназна­

ченная для табулирования полиномов второй степени, должна

иметь три регистра. Предположим, что табулируемая функция y≈xt, т. е. необходимо составить таблицу квадратов. Для этого вычислим несколько квадратов последовательных целых чисел, на­ чиная с нуля: 0, 1, 4, 9; составим первые разности Δ' : 1, 3, 5, за­ тем вторые: 2, 2, т. е. все вторые разности равны двум. Введем в регистры первые значащие числа из трех полученных рядов: 1, 1,

2. Во время первого цикла к числу во втором регистре прибавили число из третьего регистра. В результате получим в регистрах чис­

ла 1, 3, 2. Во втором цикле к числу в первом регистре — единице —

прибавили число из второго регистра и числа в регистрах станут

4, 3, 2. После повторения двух циклов числа станут 9, 5, 2, затем

16, 7, 2 и т. д. Числа, полученные таким образом в первом регист­

ре, образуют последовательность квадратов чисел натурального

ряда. Если взять соответствующие начальные данные, то таким

образом можно табулировать любой многочлен.

Разностная машина предназначалась для расчета полинома

и (ж), n-я конечная разность которого равна нулю (∆nu(τ) =0).

Такой полином был п — 1 степени. Для получения значения функ­ ции u(xj∙) необходимо было знать ее предыдущее значение u,(xi-l~)

и диагональ конечных разностей ∆1, 2,.∙∙, Δ"-1. Все эти значенияIll

Ill

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

Принцип, положенный в основу разностной машины, мог быть

использован для расчета кубов чисел, логарифмических, тригоно­

метрических и многих других таблиц. При этом во многих случаях

следовало брать довольно большое число разностей, прежде чем до­

стигнуть их постоянного значения, а это в свою очередь означало,

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

ных значений функций при помощи полинома и конечных разно­ стей называется табулированием.

Бэббидж считал, что разностную машину можно использовать

для расчета таблиц с неизвестными аналитическими законами; он

высказывал также мысль о том, что па разностной машине можно

рассчитывать некоторые ряды, не имеющие постоянных разно­

стей.

Работать пад созданием разпостиой машины Бэббидж начал

вскоре после 1812 г. Разработка и постройка механической вычис­

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

получить было трудно. При всех этих сложностях Бэббидж сумел к

1822 г. построить небольшую действующую разностную машину с тремя регистрами, каждый из которых имел шесть секций. В каж­

дой секции находилось по одному цифровому колесу, которые, в соответствии с числом зубьев, имели по периметру числа от 0 до 9.

На нижнем колесе отмечались единицы, на следующем — десятки

и т. д. На этой машине можно было производить расчеты до

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

квадратов, таблицу зпачений функции y=x2- -x+41 и ряд дру­

гих таблиц.

После окончания первой разпостпой машппы Бэббидж в 1822 г.

обратился с письмом к президенту Лондонского королевского об­

щества Г. Деви, в котором предлагал построить разностную маши­

ну значительно больших размеров, чем первая, для расчета глав­ ным образом астрономических и навигационных таблиц. В частно­ сти, в своем письме он пишет о причинах, которые побудили его к работе над созданием вычислительных машин: «Невыносимая мо­

нотонная работа и усталость при непрерывном повторении простых арифметических действий сначала вызвали желание, а затем под­

сказали идею машины, которая при помощи силы тяжести пли лю­

бой другой движущей силы должна была заменпть человека в вы­

полнении одной из самых медленных операций его ума» [43].

Новая машина должна была работать с 20-разрядными числами

и разностями шестого порядка (в ней должно было быть семь

20-разрядных регистров) и иметь печатающее устройство. При со­ действии Королевского общества Бэббидж получил от правитель­

ства финансовую помощь и в 1823 г. начал работать над созданием

112

машины. Он считал, что машина должна была весить после изго­ товления примерно 2 т, построена в течение двух-трех лет, стои­ мость ее составит 3—5 тыс. фунтов стерлингов. Но прошло 10 лет,

а машина еще не была построена, хотя на ее изготовление было

истрачено 17 тыс. фунтов казенных и 13 тыс. собственных денег.

В основном это произошло потому, что развитие техники того времени и, в частности, производство точных механизмов, необхо­ димых при изготовлении разностпой машины, были на достаточно

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

В процессе работы пад машиной Бэббидж выдвигал много но­

вых проблем перед машиностроением. Временами ему удавалось

привлечь к работе пад разностной машиной высококвалифициро­

ванных и способных ппженеров. Так, например, одно время над

разностной машиной работал один из крупнейших английских ин­

женеров Дж. Витворт.

При разработке разностной машины Бэббидж очень много вни­ мания уделял отдельным важным вопросам. Так, например, он пе-

одпократпо перерабатывал узлы машины, чтобы сократить время

переноса при сложепип (соответственно и умножении). В резуль­ тате он добился, что время перепоса было уменьшено в четыре раза

по сравнению с первой машиной.

Нехватка механизмов, квалифицированных людей, денег, бес­

конечные поправки и изменения в конструкции машины — все это привело к многочисленным конфликтам, и работа пад созданием

машины продвигалась вперед крайне медленно. Энтузиазм окру­

жающих, в том числе и ученых, сменился недоверием. От его ра­ боты почти все отвернулись. К 1832 г. Бэббидж, по существу, ос­ тался один с неоконченной машиной. C этого времени работа над

машиной продвигалась медленно.

Вначале 1833 г. небольшая часть машины была построена, и она работала с запланированной точностью. Несмотря на это, даль­ нейшая работа над машиной прекратилась.

В1834 г. Бэббпдж обратился к премьер-министру Ч. Грею за дополнительной финансовой помощью. Но прежде чем Грей вы­

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

восьми лет Бэббпдж еще надеялся получить поддержку от прави­

тельства, по в 1842 г. премьер-министр Р. Пиль сообщил, что пра­ вительство не может оказать ему финансовой поддержки.

Незаконченная разпостпая машина вместе со всеми чертежами

была сдана иа хранение в 1843 г. в музей Королевского колледжа

вЛондоне. Часть машины была закончена в 1862 г., она хранится

внаучном музее в Лондоне. Кроме того, из частей разностной ма­

шины была построена демонстрационная модель, находящаяся в

настоящее время в Кембридже.

Таким образом Бэббиджем впервые была предложена машина, которая могла, в отличие от всех предшествующих машин, не толь­

113

ко производить один раз заданное действие, по и осуществлять це­ лую программу вычислений.

Имя Бэббиджа связано в первую очередь с разработкой идеи

автоматической вычислительной машины общего назначения с

программным устройством. Работая пад разностпой машиной, ои

увидел возможность создать новую машину, которая должпа была

значительно превзойти разностную. Эту будущую машину он на­

звал аналитической машиной.

Первый рисупок аналитической машппы Бэббидж сделал в сен­

тябре 1834 г. Эта матпппа была задумала им как чисто механиче­

ское устройство. Несмотря на это, мы говорим, что аналитическая

машина Бэббиджа явилась предшественником современных элект-

роппых вычислительных машин. Применение электрических и электронных средств не изменило теоретических построений и ос­

новных установок Бэббиджа. То, что машина Бэббиджа была ме­

ханической, мы пп в коей мерс не можем ставить ему в упрек.

В то время работы в области электричества только начинались, в

частности, электромеханическое реле, без которого пельзя предста­

вить развитие вычислительных машин, было изобретено Д. Генри

только в 1835 г. и Бэббиджу было неизвестно.

Поражает то, что Бэббидж сумел предвидеть все основные части современных вычислительных машин и все основные задачи, кото­

рые она может решать, хотя осуществлено это было только через

100лет.

Внастоящее время цифровые вычислительные машипы с про­

граммным управлением связывают с электрическими средствами,

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

В 1835 г. Бэббидж в письме президенту Брюссельской акаде­ мии наук Стассарту останавливается па возможностях своей ма­

шины. Это письмо было представлено па общее собраппе акаде­

мии 7—8 мая 1835 г. Приведем выдержку из этого письма (в пере­

воде В. Я. Буняковского) :

«Я сам удивляюсь могуществу составляемой мною машипы, за год перед сим я не поверил бы возможности такого результата.

Эта машина может производить действия над ста переменными

(числами, которые могут изменяться) ; каждое число может состо­

ять из 25 цифр. Если изобразить через vɪ, V2,..., vπ какие угодно

числа, где п менее ста, и предположим, что имеем какую ни есть функцию / (vɪ, v2.∙., ѵ„), которая составляется посредством сложе­

ния, вычитания, умножения, деления, извлечения корней и возвы­ шения в степени, то машина определит численную величину этой функции. Она произведет подставление ».сей величины на место

V или иной переменной н вычислит новую фупкцню относительно vɪ. При пособии этой машины почти все уравнения в конечных раз­

ностях могут быть приведены в таблицы. Положим, что посредст­ вом наблюдений получили до тысячи величии а, Ь, с, d, и желаем

114

вычислить их ио формуле P =J/ ʃ-- ; сперва приготовляют ма­

шину к вычислению этой формулы и располагают первый ряд ве­ личин а, Ь, с, d; потом машина вычислит их, напечатает и уравнит

пулю; наконец зазвонит колокольчик и тем самым даст знать, что надобно расположить второй ряд постоянных. Когда, между ка­ ким ни есть числом последовательных коэффициентов ряда суще­

ствует отношение, выражающееся, как сказано было выше, то ма­

шина вычислит их п определит последовательно члены того ряда;

после того можно будет расположить машину так, что она даст

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

ичто чертежи машины будут закопчены через несколько месяцев.

В1840 г. Бэббидж едет в Италию, где он читает лекции и прово­

дит (в Турине) ряд заседаний, на которых впервые подробно изла­ гает своп взгляды па вычислительные машины.

Один из участников этих заседаний Л. Ф. Menaopea подробно

записывал содержания лекций и бесед Бэббиджа. Будучи способ­

ным математиком, Мепабреа усвоил и оценил новаторские идеи

Бэббиджа, разобрался в устройстве его машины. В октябре 1842 г.

появилась статья Меиабреа, в которой впервые дано описание ма­ шины Бэббиджа и изложение его идей («Bibliothèque Universelle de Généve», 1842, N 82). Впоследствии Менабреа получил звание

профессора прикладной математики. Участвуя в освободитель­ ной борьбе, он стал одним из генералов Д. Гарибальди и сыграл

существенную роль в объединении Италии. В 1867 г. он был изб­ ран премьер-министром объединенной Италии.

Вскоре после появления статьп Мепабреа графиня Лавлейс,

единственная дочь поэта Дж. Байропа, сообщила Бэббпджу, что

опа се перевела на английский язык. В беседе с Лавлейс, в конце

июня 1843 г., Бэббидж посоветовал ей, чтобы она наряду с перево­

дом написала и свою оригинальную работу. Следуя этому совету,

Лавлейс сделала примечания к тексту Менабреа, и в конце августа

1843 г. перевод с примечаниями был издан под названием «Замет­

ки об аналитической машине, изобретенной г. Бэббиджем» [46]. В своих примечаниях Лавлейс отмечала особенности структу­ ры и возможности аналитической машпны, попутно высказывая много глубоких п интересных мыслей, относящихся к общим воп­

росам теории вычислительных машин. Но основная ее заслуга

состоит в том, что она разработала первые программы для анали­ тической машины, заложив основы программирования. Лавлейс

принадлежала к тем немногочисленным современникам Бэббиджа,

которые разобрались в его идеях и оценили их значение.

Из примечаний Лавлейс часто приводят следующее высказыва­ ние: «Аналитическая машина не претендует на то, чтобы созда­

вать что-то действительно новое. Машина может выполнять все то, что мы умеем ей предписать» [48, стр. 43]. Мы не будем

115

останавливаться на этом вопросе, он неоднократно обсуждался в ли­

тературе. Приведем только соображения А. Тьюринга: «Мнение о

том, что машины не могут чем-либо удивить человека, основывает­

ся, как я полагаю, па одном заблуждешш, которому в особенности

подвержены математики и философы. Я имею в виду предположе­

ние о том, что коль скоро какой-то факт стал достоянном разума,

тотчас же достоянием разума становятся все следствия из этого

факта. Во многих случаях это предположение может быть весьма

полезно, ио слишком часто забывают, что оно ложно. Естественным

следствием из него является взгляд, что якобы нет ничего особен­

ного в умении выводить следствия из имеющихся

данных,

руко­

водствуясь общими принципами» [48, стр. 45].

Вначале

она

Остановимся кратко на примечаниях Лавлейс.

сравппвает разностную и аналитическую машины,

говоря

о

том,

что аналитическая машина по отношению к разностной играет та­ кую же роль, какую играет анализ по отношению к арифметике. Характеризуя разностную машину, Лавлейс говорит, что фактичес­

ки

машина может

быть

описана

как материальное выражение

функций

любой степени

общности и

сложности, например

I,

(.τ,

у, г,

log

х,

sin

у,

xp,

...), где

F

является функцией всевозмож­

ных

 

функций

любого

числа переменных.

Лавлейс очепь высоко

оценивала значение перфокарт, которые ранее использовались в ткацком производстве Жаккаром при получении сложных рисун­ ков. Лавлейс подробно описывает использование перфокарт раз­ личных типов: карт данных, рабочих карт и карт результатов.

Затем Лавлейс переходит к расчету на машине различных

функций. Менабреа для расчета функции

(a-]rbx)

cos

х)

приводит почти без пояснений таблицу. Лавлейс дает

подробные

объяснения этого примера. Затем она приводит примеры вычисле­

ния тригонометрического ряда и умножений таких рядов. Наиболее сложным примером, который рассматривает Лавлейс, является

расчет чисел Бернулли. Для всех этих примеров она не только

составляет программы, по и вводит для ппх ряд усовершенствова­ ний, поступая как опытный и искусный программист.

Даже при использовании современных методов программирова­

ния на трехадресной машине, какой была аналитическая машина,

не представляется возможным сократить более длину программы,

составленную Лавлейс.

В своих примечаниях Лавлейс касается многих вопросов,

относящихся как к расчетам на машине, так п к общим проблемам,

связанным с задачами и возможностями машины.

Эти примечания Лавлейс были первой работой по программи­

рованию, в пей были заложены многие идеи современного про­

граммирования.

C 1842 по 1848 г. Бэббидж занимался исключительно конструи­ рованием аналитической машины. В эти годы он разработал ее

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

116

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

машиной Бэббидж все время ставил эксперименты и вносил бес­

конечные изменения в конструкции машины.

Описание машины Бэббиджа ие сохранилось, но по его запис­

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

Аналитическая машина должна была включать три основных блока:

1. Устройство, в котором цифровая информация должна была

храниться на регистрах из колес.

В современных машинах аналогичный блок называется запо­

минающим устройством, иногда ои называется накопителем или памятью. Бэббидж назвал эту часть машины «складом». Числа,

которые хранились и регистрировались на складе, вводились (на­

бирались) при помощи счетчиков, состоящих из зубчатых колес.

2.Устройство, в котором могут осуществляться различные

операции с числами, взятыми из склада. В настоящее время такая

часть машины называется арифметическим устройством. Бэббидж назвал эту часть «фабрикой».

3.Устройство для управления последовательностью операций,

выборкой чисел, с которыми производятся операции, и выводом

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

Вконструкцию аналитической машины входило также устрой­ ство для ввода и вывода.

Boe устройства в машине Бэббиджа были задуманы как чисто

механические с использованием перфокарт.

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

каждой колонке, т. е. на 100 чисел длиной в 50 десятичных разря­ дов, что соответствует 150 000 двоичных знаков — величина, впол­

не приемлемая и для современных машин. Машины с таким объе­

мом памяти начали выпускать только с 1946 г. Кроме того, маши­

на должна была содержать логарифмические и другие таблицы.

Позже Бэббидж предполагал иметь в памяти 200 чисел по 25 де­ сятичных знаков.

Для памяти Бэббидж предложил использовать регистр из зуб­

чатых колес, каждое из них могло останавливаться в одном из де­ сяти положений, т. е. «запомнить» один десятичный знак. Для пе­ реноса чисел из памяти в другие части машины предполагалось применить зубчатые рейки и перфокарты.

В арифметическое устройство для ускорения вычислений Бэб­

бидж ввел специальный механизм предварительного переноса. On

117

считал его одной из наиболее важных частей аналитической маши­ ны, начертил около 30 различных вариантов его конструкции.

В случае последовательного переноса, если ои, например, имеется

во всех пятидесяти разрядах, время, затрачеииое на эту операцию,

может на много

превысить время основного цикла — сложения.

В современных

арифмометрах требуется в среднем столько же

времени для фазы переноса, сколько и для фазы сложения.

C помощью механизма предварительного переноса при сложе­

нии 90% времени затрачивается на чистое сложение и только

'10% — па перенос.

Считая, что скорость движущихся частей машины не превыша­

ет 40 фут/мин (12 м/Minij, Бэббидж дал такую оценку быстродей­ ствия своей машины. Сложение пли вычитание — 60 операций в минуту или 1 операция в секунду; умножение двух 50-разрядных чисел — 1 операция в минуту; деление 100-разрядпого числа на

50-разрядиое — 1 операция в минуту. Это примерно в 100 раз

медленпее, чем в первых электронных вычислительных машинах.

Время на производство умножения и деления резко уменьшалось,

если числа содержали меньше знаков.

Для устройства управления Бэббидж использовал разновид­

ность карт Жаккара ”, применяемых в ткацком станке для произ­

водства тканей со сложным узором. Наличие большого числа пер­

фокарт, идущих одна за другой, дает возможность изготовлять до­ вольно сложные узоры. Так, например, знамя с двуглавым орлом

изготовлялось па станке с 14 000 карт. Следует отметить, что сама операция изготовления карт довольно сложная. При большом ко­

личестве карт на их изготовление уходило очень много времени.

Идея управления работой ткацкого станка при помощи перфо­

карт высказывалась и ранее (в 1728 г.— Фальконом, в 1745 г.—

ІЗокансопом и др.). Но только Жаккару удалось осуществить эту

идею в работающем ткацком етапне. Его конструкция станка

(1804 г.) быстро получила широкое распространение во Франции;

с 1824 г. она вошла в употребление в Англии [50].

После изобретения Жаккара перфорационный принцип управле­ ния (при помощи отверстий на карточке или лепте) получил ши­

рокое распростраиенпе в тех машинах, где требовалось согласо­ вание различных действий многих механизмов. Этот принцип ис­

пользовали в музыкальных аппаратах, наборных машинах и в не­

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

в счетных машинах.

Все применяемые в машине перфокарты Бэббидж разделил по назначению на несколько массивов. Карты для записи перемен­

ных предпазпачались для выборки чисел из памяти в арифмети­

ческое устройство и соответственно для обратного переноса (уп-

9Ж. Μ. Жаккар — французский ткач и механик, внесший мпого усовершен­ ствований в ткацкое дело. В 1799 г. он построил свой первый ткацкий станок, который па выставке в Париже в 1801 г. получил бронзовую ме­

даль.

118

Ж. Μ. Жаккар

равняющие карты), карты операций — для определения типа опе­

раций її подготовки арифметического устройства (операционные

карты). Щупы, проходящие в отверстия перфокарт, должны были приводить в движение механизмы.

Бэббидж предполагал операционные карты пробивать следую­

щим образом. Для сложения карта должна была иметь

ООО »

Для вычитания ,1OO О > умножения O OO

, деления

ООО• Предусматривалось, что ввод чисел в машину будет

также происходить при помощи перфокарт. Таким образом в ма­ шину могли подаваться различные таблицы (например, логариф­

мические и др.).

Вписьме к Лавлейс от 2 июня 1843 г. Бэббидж указывал, что

спомощью одной карты нельзя заказать более одной переменной

или одной операции, так как механизм не приспособлен для этого. Интересно отметить, что практически только с 60-х годов XX в. стало возможным вести многопрограммную обработку данных;

ранее в машине одновременно выполнялась только одна команда.

119

Соседние файлы в папке книги из ГПНТБ