История вычислительной техники в лицах - Борис Николаевич Малиновский
Шрифт:
Интервал:
Закладка:
Входное устройство, служащее для приготовления программной ленты, является переходным устройством между человеком-оператором и машиной и принципиально может работать только на небольших скоростях. Поэтому оно отделено от быстродействующей машины. Программная лента для решения данной задачи приготовляется заранее. Для устранения разрыва между производительностью машины и входного устройства можно предусмотреть несколько входных (приготовительных) устройств для одновременной подготовки к решению нескольких задач. Программная лента при использовании в машине практически не изнашивается и поэтому может быть сохранена для повторного использования при решении аналогичной задачи. В этом случае входные данные должны быть переписаны. При многократном повторении одной и той же последовательности вычислений программная лента может быть склеена в кольцо.
В машине возможен и другой способ введения числовых данных. Числа записываются не на программной ленте, а на специальной «числовой» ленте.
При этом способе числовые данные читаются с небольшого (по емкости) накопителя, который постоянно пополняется с «числовой» ленты при получении сигнала от главного программного датчика. Этот способ применяется и в устройстве для набора таблицы.
Программная лента, приготовленная по указанной выше логической схеме, закладывается в главный программный датчик, который «читает» программную ленту и, в соответствии с записью на ней, выбирает отдельные элементы машины, участвующие в данной операции, управляет последовательностью и видами отдельных операций.
Необходимо отметить, что хотя управление машиной полностью централизовано, главный программный датчик выбирает отдельный элемент машины и дает команду для начала операций. Сама операция проводится автоматически и независимо от главного программного датчика с помощью автономного программного датчика данного элемента. Например, главный программный датчик выбирает умножитель и дает сигнал «умножить». С этого момента местный программный датчик умножителя управляет последовательным сложением частичных произведений столько раз, сколько цифр в множителе, сдвигая частичное произведение каждый раз на один разряд влево. Самостоятельный цикл вычислений отдельных элементов заканчивается к началу следующего такта программы (за исключением интерполятора). Одновременно (в один и тот же такт) может работать только один элемент машины (за исключением интерполятора). АЦВМ работает вынужденными тактами, длительность которых целиком определяется скоростью движения программной ленты. Таким образом, скорость машины легко регулируется от очень малых значений до предельной, определяемой скоростью выполнения арифметических операций и достигающей 2000 тактов в секунду.
В тех случаях, когда необходимо в зависимости от знака или величины модуля промежуточного результата вычисления изменить ход решения задачи, на программной ленте наносятся оба или более ходов решения и в полосе «что делать» отмечается, в каком случае данный ход решения не должен быть использован («если*», «если*», «если+»). В определитель знака равенства и неравенства двух чисел посылается число, с которым сравнивается промежуточный результат, и сам промежуточный результат.
В зависимости от результата, полученного на выходе определителя, будет выбран необходимый ход решения.
В АЦВМ для каждой арифметической операции (кроме вычитания) и для интерполирования применяется отдельное устройство. Это значительно упрощает программирование, увеличивает скорость работы машины и сокращает необходимую емкость накопителя.
В машине применены два сумматора, один из которых может быть использован в качестве накапливающего для суммирования рядов.
Для «запоминания» числовых данных и промежуточных результатов вычислений числа посылаются в накопитель, составленный в виде таблицы. Выбор числа из накопителя производится записью на программной ленте двух ключей, соответствующих номерам дешифраторов строки и столбца, на пересечении которых находится данное число, поэтому занесение числа и получение из накопителя требуют двух тактов.
Как уже упоминалось выше, необходимая емкость накопителя зависит от характера решаемой задачи, плана решения и количества отдельных устройств, выполняющих арифметические операции. Не предрешая сейчас вопрос о емкости накопителя, заметим, что в АЦВМ емкость накопителя может быть небольшой, благодаря применению отдельных устройств для выполнения арифметических действий и интерполятора. Как видим из таблицы № 1 (См. Прилож. 1. — Прим. авт.), емкость накопителя американских и английских машин, находящихся в разработке, колеблется от 1000 до 5000 чисел. Необходимо отметить, что даже сравнительная большая емкость накопителя может оказаться недостаточной для решения некоторых задач, например, для решения системы алгебраических уравнений с несколькими сотнями неизвестных.
Для таких задач емкость накопителя должна достигать нескольких сот тысяч чисел. Если задаться целью вычислять с максимальной скоростью машины, то такая емкость едва ли осуществима из-за чрезвычайного усложнения и удорожания конструкции машины. Поэтому при решении задач, требующих большой емкости «памяти», следует работать на меньшей скорости и применять «ленточный» накопитель, емкость которого может быть весьма велика. Принцип действия «ленточного» накопителя заключается в следующем: промежуточные результаты вычислений записываются на ленту точно так же, как результаты вычислений в выходном устройстве, в том порядке, в каком они получаются, затем поступают в машину как во втором, описанном выше, способе введения числовых данных — в накопитель, который постоянно «заполняется» с этой ленты числами, снимаемыми в том порядке, в каком они участвуют в дальнейших вычислениях.
Весьма важным для цифровой вычислительной машины является возможность введения числовых данных в виде таблиц. Для этого должно быть устройство для чтения таблиц и, если нужно, интерполирования. В АЦВМ таблица может быть составлена двояко:
а) функция представляется в виде ряда
f(a + h) = C0 + C1h + C2h2 + С3h3 + …
б) в таблицу заносится аргумент и соответствующие значения коэффициентов. C0, C1, C2, С3… Сn
в) в таблицу заносится аргумент и необходимое число табличных разностей. В задачах с монотонно изменяющимся аргументом таблица может автоматически, по мере необходимости, обновляться с