Смекни!
smekni.com

Чарльз Бэббидж – человек, который опередил свою эпоху (стр. 5 из 8)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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