Информационные технологии в СССР. Создатели советской вычислительной техники
Шрифт:
Входное устройство, служащее для приготовления программной ленты, является переходным устройством между человеком-оператором и машиной и принципиально может работать только на небольших скоростях. Поэтому оно отделено от быстродействующей машины. Программная лента для решения данной задачи приготовляется заранее. Для устранения разрыва между производительностью машины и входного устройства можно предусмотреть несколько входных (приготовительных) устройств для одновременной подготовки к решению нескольких задач. Программная лента при использовании в машине практически не изнашивается и поэтому может быть сохранена для повторного использования при решении аналогичной задачи. В этом случае входные данные должны быть переписаны. При многократном повторении одной и той же последовательности вычислений программная
В машине возможен и другой способ введения числовых данных. Числа записываются не на программной ленте, а на специальной «числовой» ленте.
При этом способе числовые данные читаются с небольшого (по емкости) накопителя, который постоянно пополняется с «числовой» ленты при получении сигнала от главного программного датчика. Этот способ применяется и в устройстве для набора таблицы.
Программная лента, приготовленная по указанной выше логической схеме, закладывается в главный программный датчик, который «читает» программную ленту и, в соответствии с записью на ней, выбирает отдельные элементы машины, участвующие в данной операции, управляет последовательностью и видами отдельных операций.
Необходимо отметить, что хотя управление машиной полностью централизовано, главный программный датчик выбирает отдельный элемент машины и дает команду для начала операций. Сама операция проводится автоматически и независимо от главного программного датчика с помощью автономного программного датчика данного элемента. Например, главный программный датчик выбирает умножитель и дает сигнал «умножить». С этого момента местный программный датчик умножителя управляет последовательным сложением частичных произведений столько раз, сколько цифр в множителе, сдвигая частичное произведение каждый раз на один разряд влево. Самостоятельный цикл вычислений отдельных элементов заканчивается к началу следующего такта программы (за исключением интерполятора). Одновременно (в один и тот же такт) может работать только один элемент машины (за исключением интерполятора). АЦВМ работает вынужденными тактами, длительность которых целиком определяется скоростью движения программной ленты. Таким образом, скорость машины легко регулируется от очень малых значений до предельной, определяемой скоростью выполнения арифметических операций и достигающей 2000 тактов в секунду.
В тех случаях, когда необходимо в зависимости от знака или величины модуля промежуточного результата вычисления изменить ход решения задачи, на программной ленте наносятся оба или более ходов решения и в полосе «что делать» отмечается, в каком случае данный ход решения не должен быть использован («если=», «если—», «если+»). В определитель знака равенства и неравенства двух чисел посылается число, с которым сравнивается промежуточный результат, и сам промежуточный результат.
В зависимости от результата, полученного на выходе определителя, будет выбран необходимый ход решения.
В АЦВМ для каждой арифметической операции (кроме вычитания) и для интерполирования применяется отдельное устройство. Это значительно упрощает программирование, увеличивает скорость работы машины и сокращает необходимую емкость накопителя.
В машине применены два сумматора, один из которых может быть использован в качестве накапливающего для суммирования рядов.
Для «запоминания» числовых данных и промежуточных результатов вычислений числа посылаются в накопитель, составленный в виде таблицы. Выбор числа из накопителя производится записью на программной ленте двух ключей, соответствующих номерам дешифраторов строки и столбца, на пересечении которых находится данное число, поэтому занесение числа и получение из накопителя требуют двух тактов.
Как уже упоминалось выше, необходимая емкость накопителя зависит от характера решаемой задачи, плана решения и количества отдельных устройств, выполняющих арифметические операции. Не предрешая сейчас вопрос о емкости накопителя, заметим, что в АЦВМ емкость накопителя может быть небольшой, благодаря применению отдельных устройств для выполнения арифметических действий и интерполятора. Как видим из таблицы № 2 [50] , емкость накопителя американских и английских машин, находящихся в разработке, колеблется
50
Таблицу 2 cм. в конце данного приложения. — Прим. сост.
Для таких задач емкость накопителя должна достигать нескольких сот тысяч чисел. Если задаться целью вычислять с максимальной скоростью машины, то такая емкость едва ли осуществима из-за чрезвычайного усложнения и удорожания конструкции машины. Поэтому при решении задач, требующих большой емкости «памяти», следует работать на меньшей скорости и применять «ленточный» накопитель, емкость которого может быть весьма велика. Принцип действия «ленточного» накопителя заключается в следующем: промежуточные результаты вычислений записываются на ленту точно так же, как результаты вычислений в выходном устройстве, в том порядке, в каком они получаются, затем поступают в машину как во втором, описанном выше, способе введения числовых данных — в накопитель, который постоянно «заполняется» с этой ленты числами, снимаемыми в том порядке, в каком они участвуют в дальнейших вычислениях.
Весьма важным для цифровой вычислительной машины является возможность введения числовых данных в виде таблиц. Для этого должно быть устройство для чтения таблиц и, если нужно, интерполирования. В АЦВМ таблица может быть составлена двояко:
а) функция представляется в виде ряда
f(a + h) = С0 + C1h + С2h2 + С3h3 +…
б) в таблицу заносится аргумент и соответствующие значения коэффициентов. С0, Cl, С2, С3… Сn, в) в таблицу заносится аргумент и необходимое число табличных разностей. В задачах
с монотонно изменяющимся аргументом таблица может автоматически, по мере необходи
мости, обновляться с помощью устройства для набора таблицы. Чтение таблицы и интерполирование в АЦВМ производится отдельным интерполятором, представляющим собой упрощенную цифровую вычислительную машину с фиксированным программированием, работающую так же, как основная машина.
Для данной интерполяционной формулы программа не меняется и наносится не на ленту, а на барабан, непрерывно вращающийся с большой скоростью. В цепи пускового сигнала главного программного датчика интерполятора имеется клапанное устройство, управляемое главным программным датчиком машины. Если после передачи аргумента в таблицу открыть цепь пускового сигнала главного программного датчика интерполятора, то начнется цикл вычислений по интерполяционной формуле, нанесенной на барабане. После одного оборота барабана вычисления закончатся, результат получится во втором (накапливающем) сумматоре интерполятора, выход которого включен в цифровую магистраль машины. Для разных интерполяционных формул должны быть разные программные барабаны, которые могут заменяться перед пуском машины. Предусматривается возможность одновременного применения нескольких программных барабанов, выбор которых (интерполяционной формулы) производится главным программным датчиком. В интерполяторе могут быть несколько таблиц для различных функций, набираемых с помощью устройства для набора таблицы.
Кроме таблиц, набираемых извне, может быть таблица, которая набирается машиной по ходу вычислений. Чтение этой таблицы производится тем же самым интерполятором. Предусматривается интерполирование до 5-го порядка. Однако, при удвоении таблицы в ширину (присоединением такой же таблицы с нанесенными на ней следующими табличными разностями), порядок интерполирования может быть повышен. Длительность интерполирования зависит от применяемой интерполяционной формулы и может быть порядка нескольких десятков тактов машины. Так как интерполятор работает автономно, то он может проводить вычисления параллельно с другими операциями, выполняемыми машиной, и поэтому не замедляет процесс вычислений. Интерполятор может быть использован также для вычисления некоторых часто используемых функций, представленных в виде ряда.