Выбрать главу

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

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

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

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

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

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

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

В письме к Лавлейс от 2 июля 1843 г. Бэбидж отмечал, что с помощью карт переменных нельзя заказать более одной переменной одновременно, так как механизм не приспособлен для этого. Практически только с 60-х годов XX в. в ЭВМ стала применяться параллельная обработка данных, т. е. совмещение во времени выполнения команд.

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

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

Важно отметить, что применение перфокарт не только обеспечивало автоматическое решение задачи на аналитической машине, но и существенно облегчало подготовительную работу для решения другой однотипной или сходной задачи. «За исключением цифровых карт, — писал Бэбидж, — все карты, однажды использованные и изготовленные для одной задачи, могут быть использованы для решения тех же задач с другими данными, поэтому нет необходимости готовить их во второй раз — они могут быть тщательно сохранены для будущего использования. Каждая формула требует своего массива карт и со временем машина будет иметь собственную библиотеку» [87, с. 173]. Иными словами, Бэбидж высказал идею создания библиотеки подпрограмм, реализованную только в начале 50-х годов ХХв.

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

Карта проходит над призмой только перед каждым ходом челнока. Те карты, что прошли, падают вниз, пока не достигнут пустого ящика для сбора карт, в котором они располагаются одна над другой. При заполнении одной коробки становится другая пустая коробка для приема поступающих карт, а новая полная коробка на противоположной стороне заменяет только что опустевшую. Когда число карт на входной стороне точно соответствует числу карт на выходной, они полностью уравновешивают друг друга, так что вне зависимости от рассчитываемой формулы, крайне сложной или очень простой, сила, которая должна быть приложена, всегда остается почти той же самой» [85, с. 63].

В качестве иллюстрации процесса управления аналитической машиной с помощью перфокарт рассмотрим последовательность операций (программу работы) при расчете выражения (ab + c)d (табл. 4). Как видно из таблицы, для проведения расчета используются 14 управляющих перфокарт и 3 операционные.

Таблица 4. Последовательность операций в аналитической машине для определения значения х = (a x b + с) d
Управляющие карты Существо операций 
1 Установить а на колонке 1 памяти
2 » b » 2 »
3 » е » 3 »
4 » d » 4 »
5 Вызвать а из памяти в арифметическое устройство
6 То же для b
  Операционная карта 1 (а x b = р)
7 Установить р на колонке 5 памяти, где хранить для дальнейшего пользования
8 Вызвать р в арифметическое устройство
9 То же для c
  Операционная карта 2 (р + с = k)
10 Установить к на колонке 6 памяти
11 Вызвать d в арифметическое устройство
12 То же для k
  Операционная кв рта 3 (d x k = p2)
13 Установить р2 на колонке 7 памяти
14 Вывести р2 на печать или аппарат для изготовления стереотипных отпечатков
1  
Примечание. Ввод исходных данных осуществляется управляющими картами 1—4.