Cтраница 1
Сложение команд понимается здесь в том смысле, что складываются числа, изображаемые теми же кодами. Важно то, что для преобразования кодов команд можно воспользоваться операцией сложения чисел. Однако уже в этом простом примере мы столкнулись с той трудностью, что для изменения адреса команды на одну и ту же величину я нужно складывать ее с различными кодами в зависимости от кода операции преобразуемой команды. [1]
Операция сложения команд предусмотрена в машине как самостоятельная операция, а не как обычное сложение двух чисел. Это вызвано, в первую очередь, тем, что количество разрядов кода команды превышает количество разрядов у кода числа. Код числа имеет 16 разрядов и 1 разряд для знака. Код команды имеет 16 разрядов для адресов и 4 разряда для кода операции. Арифметические действия требуется производить лишь с кодами адресов команды, с кодом же операций никаких действий не производится. Таким образом, количество разрядов кода числа и кодов адресов команды соответствует друг другу. [2]
При сложении команд никогда не происходит автоматической остановки. [3]
Рассмотрим команду сложение команд Ее код обозначим сокращенно буквами СК. [4]
При операции сложения команд в первом адресе указывается номер числа, которое требуется прибавить к коду команды. Номер команды задается в третьем адресе. Это вызвано тем, что количество разрядов второго адреса недостаточно, чтобы выбрать любую команду. Это ограничение не является существенным, так как в большинстве случаев требуется именно такой закон изменения кодов команд. [5]
Наличие в системе команд ЭВМ-I команды сложения команд позволяет при линейной зависимости адресов от параметров не хранить в памяти ЭВМ значения параметров, а учитывать их путем изменения команд, зависящих от параметров. Однако в описании ЭВМ-I индексные регистры не указаны. [6]
Увеличение адресов и кодов операции достигается с помощью команд сложения команд, а их уменьшение происходит под действием команд вычитания команд. Модификация команд связана с подбором специальных чисел - модификаторов и организацией их хранения в ячейках ОЗУ. [7]
Это производится для операций сложения, вычитания, сравнения с учетом знака и сложения команд. [8]
Из приведенных примеров видно, что, подбирая различные константы переадресации и используя циклы с командой сложения команд, можно составлять весьма компактные программы. [9]
При операциях сложения, вычитания и сравнения с учетом знаков во время импульсов И2 и ИЗ, а при операции сложения команд лишь при И2, должны поступать импульсы 4 или - Ч в зависимости от кода в ячейке знака БЗАУ. При наличии потенциала СлК, С23 заперты, а при отсутствии его открыты. [10]
Импульсы сдвига в цепь СдвБЗАУ и импульсы кода от КШ в цепь ПЧБЗАУ поступают для всех операций при наличии потенциала ПЧ1 и при наличии потенциала ПЧ2 для операций сложения, вычитания, деления, сравнения и сложения команд. [11]
В машине предусмотрены следующие операции: сложение, вычитание, умножение, деление, сдвиг числа на заданное количество разрядов, сравнение двух чисел с учетом их знаков, сравнение двух чисел по их абсолютной величине, передача с центрального управления на местное и обратно, передача чисел с магнитного запоминающего устройства, сложение команд, останов машины. [12]
Для сокращения объема программ весьма целесообразно иметь возможность автоматически изменять номера в адресах команд по заданному закону. Для этой цели в машине предусмотрена операция сложения команд. В коде операции данной команды указывается, что необходимо произвести действие с кодом команды. Этот код соответствующим импульсом ЦУ передается на УКОп и коммутатор операций ( КОп) подготовляет соответствующие цепи для выполнения сложения кодов команд. В первом адресе команды указывается номер ячейки запоминающего устройства, в которой хранится число, прибавляемое к коду команды. Соответствующим импульсом ЦУ код номера из первого адреса БЗК передается на УЦК, открывается цепь ЦК и требуемое число по кодовой шине поступает на арифметическое устройство. Номер команды, к которой следует прибавить число, указывается в третьем адресе. Соответствующим импульсом ЦУ код номера команды передается с третьего адреса БЗК на УККОп. Коммутатор команд ( КК) выбирает соответствующую ячейку на ЭЗК и код изменяемой команды по КШ поступает на арифметическое устройство. На арифметическом устройстве происходит сложение кода команды с кодом числа. Следующий импульс ЦУ вновь открывает ячейку ЭЗК, из которой была взята команда, и измененный код команды направляется с арифметического устройства в эту ячейку. [13]
Циклическая передача импульса переноса берется от первой ячейки знака. Циклическая передача требуется лишь при операциях сложения, вычитания, деления и сложения команд. При операции умножения циклическая передача с первой ячейки знака вызывает ошибку, так как сумматор работает с In разрядами. Этот управляющий потенциал возникает при операциях, для которых требуется циклическая передача. [14]
Обычно же в универсальных цифровых машинах эти операции разделяются, вторая из них носит название операции переадресации, или сложения команд. [15]