Теоретические возможности машины




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

Часть «Аналитической машины»

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

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

Блок-схема аналитической машины

Первое устройство, которое Бэббидж называет «store» предназначено для хранения цифровой информации на регистрах из колес; в современных машинах это—запоми­нающее устройство.

Во втором устройстве с числами, взятыми из памяти, проводятся цифровые операции; у Бэббиджа оно носит на­звание «mill», в настоящее время — арифметическое ус­тройство.

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

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

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

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

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

С помощью управляющих перфокарт осуществлялась передача чисел как внутри машины (из памяти в арифмети­ческое устройство и обратно), так и в системе — «человек-машина» (ввод оператором новых чисел в память машины и вывод результатов вычислений на печать).

Для обозначения управляющих перфокарт, с помощью которых осуществлялась передача чисел между памятью и арифметическим устройством, Бэббидж использовал тер­мин «карты переменных». В письме к Лавлейс от 30 июня 1843 г. Бэббидж писал, что в аналитической машине «ис­пользуются только три вида карт переменных:

1) карты, с помощью которых переменные выводятся из памяти в счетное устройство, на колонках при этом остается нуль;

2) карты, с помощью которых переменные выводятся из памяти в счетное устройство, при этом величина их в памяти сохраняется;

3) карты, с помощью которых можно вызвать любую нулевую переменную с целью получения результата из счетного устройства».

Лавлейс предложила следующие названия данных трех разновидностей карт переменных:

1) «нулевая карта» (для вызова числа из регистра па­мяти с одновременной установкой нуля в регистре — по современной терминологии «считывание с разрушением информации»);

2) «удерживающая карта» (для вызова числа из регистра памяти без изменения содержания регистра — по совре­менной терминологии «неразрушающее считывание»);

3) «доставляющая карта» (для передачи числа из ариф­метического устройства в память).

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

Для решения некоторой задачи в аналитическую ма­шину вводятся исходные числа, записанные на циф­ровые перфокарты. Каждое число занимает один ре­гистр памяти (колонку из десятичных цифровых колес), где оно хранится и используется по требованию. По ок­ружности дисков колес выгравированы цифры от 0 до 9; каждый из дисков, насаженных на общую ось колонки, может совершать независимое вращательное движение. Результат операции также передается в память. Управляю­щие карты вводят колеса колонки в зацепление с зубча­тыми рейками, через которые данное число (записанное на перфокарте или представляющее на колонке промежуточ­ный результат) вводится в память. Одного оборота главного овала достаточно, чтобы установить число на колонке па­мяти или передать его из памяти к другой части машины.

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

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

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

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

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

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

Вычитание в машине обеспечивается введением допол­нительной шестерни, которая осуществляет реверс (об­ратный поворот) цифровых дисков: при этом, проходя перед окошком, цифры последовательно уменьшаются, и всякий раз, когда 0 проходит и появляется 9, про­исходит перенос. При вычитании производятся те же самые операции и используется тот же самый принцип зацепления. Таким образом, один и тот же механизм слу­жит для сложения и вычитания; смена операций произво­дится перемещением одного рычага.

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

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

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

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

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

Введение операции условного перехода знаменовало собой начало замены логических, а не только вычисли­тельных, возможностей человека машинами. С кодом ус­ловного перехода в вычислительных машинах связан и прин­цип обратной связи. Информационная обратная связь осуществляется между арифметическим устройством и устройством управления: изменение результата в ариф­метическом устройстве обуславливает выбор устройством управления той или иной команды для дальнейшего вы­полнения. Рассмотрим простой пример. Необходимо вы­брать из двух чисел большее и продолжать с ним работать дальше. Числа должны быть помещены в двух колонках памяти, заранее подготовленных для их принятия; для этого перфокарты должны быть поставлены так, чтобы числа вычитались друг из друга. В одном случае должен получиться остаток, в другом — перенос, связанный с дви­жением рычага. При переносе рычаг перемещается в самое высокое положение, соответствующее отрицательному ре­зультату, что в свою очередь позволяет ввести в работу массив предварительно подготовленных карт.

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

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

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

Предвосхищая будущее вычислительных машин, Бэббидж писал: «Кажется наиболее вероятным, что она рассчитывает гораздо быстрее по соответствующим формулам, чем пользуясь своими же собственными таблицами». И действительно, в современных вычислительных машинах существует об­ширная библиотека стандартных подпрограмм, с помощью которой рассчитываются функции различной степени слож­ности. Интересно, что термин «библиотека» для данного применения также был впервые употреблен Чарльзом Бэббиджем. О результатам разработки аналитической машины было сделано свыше 200 весьма подробных, выполненных в масштабе, чертежей машины и ее отдельных узлов, в об­щей сложности включающих 50 000 деталей. Некоторые из этих чертежей были выгравированы на деревянных дос­ках, и с них по методу, предложенному Бэббиджем, были сделаны оттиски. Среди этих оттисков, получивших не­которое распространение, отметим следующие: план за­цепления цифровых колес для выполнения операции сло­жения; разрез колес и осей; разрез корпуса машины; узел сложения; план механизма переноса десятков; часть разреза блока предварительного переноса и другие. Все эти рисунки были выполнены в середине 30-х годов. В 1840 г. Бэббидж составил один из наиболее общих планов аналитической машины, который был литографи­рован. На этой литографии стоит дата 6 ав­густа 1840 г. С чертежами аналитической машины Бэббидж ознакомил ученых Великобритании и других стран.

Возможности аналитической машины в «Примечаниях переводчика» А. Лавлейс. Она отмечает, что вычис­лительные машины представляют собой совершенно но­вую область науки и техники и много внимания уделяет выработке соответствующей терминологии. Лавлейс ука­зывает, что аналитическая машина может работать не только с числами: «Предположим, например, что основ­ные соотношения о высоте звуков в науке о гармонии и музыкальной композиции достигли бы большой вырази­тельности и поддавались бы такой обработке, что машина смогла бы соединять искусно написанные музыкальные отрывки любой степени сложности или длины».

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

Потом Лавлейс рассматривает запоминающее устройство аналитической машины и пред­лагает систему графического обозначения данных, содержащихся в регистре памяти. Например, кружок предлагается для записи в нем знака числа, квадрат — для записи символа переменной, значение которой хра­нится в регистре и т. д.

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

В примечании Р содержится, в частности, интересное замечание Лавлейс о возможностях аналитической ма­шины получить решение такой задачи, которую из-за трудности вычислений практически невозможно решить вручную. Новизна мысли заключается в том, что машина рассматривается не как устройство, заменяющее чело­века, а как устройство, способное выполнить работу, превышающую практические возможности человека. За­метим что значение современных ЭВМ для научно-тех­нического прогресса основано именно на том, что они в ряде случаев выполняют работу, которую без ЭВМ выполнить невозможно.

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

Широкую известность получило замечание Лавлейс о принципиальных возможностях аналитической машины: «Аналитическая машина не претендует на то, чтобы создавать что-то действительно новое. Машина может выполнить все то, что мы умеем ей предписать. Она мо­жет следовать анализу, но она не может предугадать какие-либо аналитические зависимости или истины. Функции машины заключаются в том, чтобы помочь нам получить то, с чем мы уже знакомы».

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

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-10-17 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: