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