Борис Малиновский - Информационные технологии в СССР. Создатели советской вычислительной техники
Интерполятор содержит устройство для автоматического набора таблицы.
9). Выходного устройства для записи результатов вычислений на ленту (в двоичном представлении).
10). Устройства для перевода результатов вычислений из двоичной системы в десятичную и печатания их на бумаге.
11). Цифровых и программных магистралей для связей между элементами машины и передачи программных сигналов.
Блок-схема АЦВМ показана на рис. № 1.
План (программа) решения задачи в виде определенной последовательности действий над числами с помощью входного устройства записывается на программную ленту по логической схеме: «откуда» — «куда» — «что делать». Это соответствует вычислительной схеме при численном (разностном) методе решения задачи.
Для того чтобы машина могла работать по такой схеме, все ее элементы имеют общую структуру входных и выходных цепей, показанную на рис. 2. (Рисунок опущен. — Прим. авт.)
Все цифры числа (и знак числа) от одного элемента машины к другому переходят одновременно. Через всю машину проходит одна цифровая магистраль (33 линии для цифр и одна для знака), к которой через «клапанные» устройства подключены цифровые входы и выходы всех элементов машины.
Клапанные устройства управляются главным программным датчиком; выбор их производится с помощью дешифраторов программного сигнала, подключенных к программной магистрали, проходящей также через всю машину. Каждому дешифратору присвоено число, двоичное представление которого является ключом для данного дешифратора. Таким образом, если на программной ленте в полосе «откуда» записан номер (ключ) дешифратора выхода умножителя, а в полосе «куда» — номер дешифратора входа сумматора № 1, то число из умножителя перейдет в сумматор. В полосе программной ленты «что делать» указывается действие, которое должно быть произведено в данном элементе машины (например, принять, передать, «стереть», умножить и т. д.). На программной ленте, кроме номеров дешифраторов и командных сигналов, наносится в каждой строке (для каждого такта) пусковой сигнал, запускающий элементы машины, участвующие в вычислении в данном такте и в тех тактах программы, где это необходимо, в полосе «цифры» записываются входные данные, заранее переведенные в двоичную систему.
Входное устройство, служащее для приготовления программной ленты, является переходным устройством между человеком-оператором и машиной и принципиально может работать только на небольших скоростях. Поэтому оно отделено от быстродействующей машины. Программная лента для решения данной задачи приготовляется заранее. Для устранения разрыва между производительностью машины и входного устройства можно предусмотреть несколько входных (приготовительных) устройств для одновременной подготовки к решению нескольких задач. Программная лента при использовании в машине практически не изнашивается и поэтому может быть сохранена для повторного использования при решении аналогичной задачи. В этом случае входные данные должны быть переписаны. При многократном повторении одной и той же последовательности вычислений программная лента может быть склеена в кольцо.
В машине возможен и другой способ введения числовых данных. Числа записываются не на программной ленте, а на специальной «числовой» ленте.
При этом способе числовые данные читаются с небольшого (по емкости) накопителя, который постоянно пополняется с «числовой» ленты при получении сигнала от главного программного датчика. Этот способ применяется и в устройстве для набора таблицы.
Программная лента, приготовленная по указанной выше логической схеме, закладывается в главный программный датчик, который «читает» программную ленту и, в соответствии с записью на ней, выбирает отдельные элементы машины, участвующие в данной операции, управляет последовательностью и видами отдельных операций.
Необходимо отметить, что хотя управление машиной полностью централизовано, главный программный датчик выбирает отдельный элемент машины и дает команду для начала операций. Сама операция проводится автоматически и независимо от главного программного датчика с помощью автономного программного датчика данного элемента. Например, главный программный датчик выбирает умножитель и дает сигнал «умножить». С этого момента местный программный датчик умножителя управляет последовательным сложением частичных произведений столько раз, сколько цифр в множителе, сдвигая частичное произведение каждый раз на один разряд влево. Самостоятельный цикл вычислений отдельных элементов заканчивается к началу следующего такта программы (за исключением интерполятора). Одновременно (в один и тот же такт) может работать только один элемент машины (за исключением интерполятора). АЦВМ работает вынужденными тактами, длительность которых целиком определяется скоростью движения программной ленты. Таким образом, скорость машины легко регулируется от очень малых значений до предельной, определяемой скоростью выполнения арифметических операций и достигающей 2000 тактов в секунду.
В тех случаях, когда необходимо в зависимости от знака или величины модуля промежуточного результата вычисления изменить ход решения задачи, на программной ленте наносятся оба или более ходов решения и в полосе «что делать» отмечается, в каком случае данный ход решения не должен быть использован («если=», «если—», «если+»). В определитель знака равенства и неравенства двух чисел посылается число, с которым сравнивается промежуточный результат, и сам промежуточный результат.
В зависимости от результата, полученного на выходе определителя, будет выбран необходимый ход решения.
В АЦВМ для каждой арифметической операции (кроме вычитания) и для интерполирования применяется отдельное устройство. Это значительно упрощает программирование, увеличивает скорость работы машины и сокращает необходимую емкость накопителя.
В машине применены два сумматора, один из которых может быть использован в качестве накапливающего для суммирования рядов.
Для «запоминания» числовых данных и промежуточных результатов вычислений числа посылаются в накопитель, составленный в виде таблицы. Выбор числа из накопителя производится записью на программной ленте двух ключей, соответствующих номерам дешифраторов строки и столбца, на пересечении которых находится данное число, поэтому занесение числа и получение из накопителя требуют двух тактов.
Как уже упоминалось выше, необходимая емкость накопителя зависит от характера решаемой задачи, плана решения и количества отдельных устройств, выполняющих арифметические операции. Не предрешая сейчас вопрос о емкости накопителя, заметим, что в АЦВМ емкость накопителя может быть небольшой, благодаря применению отдельных устройств для выполнения арифметических действий и интерполятора. Как видим из таблицы № 2[50], емкость накопителя американских и английских машин, находящихся в разработке, колеблется от 1000 до 5000 чисел. Необходимо отметить, что даже сравнительная большая емкость накопителя может оказаться недостаточной для решения некоторых задач, например, для решения системы алгебраических уравнений с несколькими сотнями неизвестных.
(adsbygoogle = window.adsbygoogle || []).push({});