Cтраница 3
По командам CDR и CD первый операнд, который находится в регистре гь алгебраически сравнивается со вторым операндом, который находится либо в регистре га, либо в памяти по адресу s2 в длинном формате, и устанавливается признак результата. Алгоритм выполнения команд CER и СЕ аналогичен алгоритму выполнения команд CDR и CD за исключением того, что второй операнд находится в коротком формате. Адрес второго операнда в команде CD должен находиться в формате двойного слова, а в команде СЕ - в формате слова. Два числа с нулевыми мантиссами считаются равными, даже если они различаются знаками и характеристиками. В результате выполнения операции сравнения оба операнда не изменяются. В операциях с короткими операндами 32 младших разряаа регистра с плавающей точкой участия не принимают. [31]
По командам CDR и CD первый операнд, который находится в регистре п, алгебраически сравнивается со вторым операндом, который находится либо в регистре г %, либо в памяти по адресу s2 в длинном формате, и устанавливается признак результата. Алгоритм выполнения команд CER и СЕ аналогичен алгоритму выполнения команд CDR и CD за исключением того, что второй операнд находится в коротком формате. Адрес второго операнда в команде CD должен находиться в формате двойного слова, а в команде СЕ - в формате слова. Два числа с нулевыми мантиссами считаются равными, даже если они различаются знаками и характеристиками. В результате выполнения операции сравнения оба операнда не изменяются. В операциях с короткими операндами 32 младших разряда регистра с плавающей точкой участия не принимают. [32]
По командам CDR и CD первый операнд, находящийся в регистре, алгебраически сравнивается со вторым операндом, который помещен либо в регистре ( команда CDR), либо в памяти ( команда CD) в длинном формате. Содержимое ячеек, указанных по первому и второму адресам, не меняется. [33]
![]() |
Представление чисел с плавающей точкой в ЕС ЭВМ. [34] |
Наличие в ЭВМ нескольких длин форматов для представления чисел позволяет с учетом требований задачи выбирать или короткие форматы для чисел и тем самым экономить емкость памяти, занимаемую данными, и снижать продолжительность отдельных операций ЭВМ, или использовать более длинные форматы для получения большей точности. [35]
Наличие в ЭВМ нескольких длин форматов для представления чисел позволяет с учетом требований задачи выбирать или короткие форматы для чисел и тем самым экономить объем памяти, занимаемый данными, и снижать продолжительность отдельных операций ЭВМ, или использовать более длинные форматы для получения большей точности. [36]
Короткие и длинные форматы с плавающей точкой могут размещаться в регистрах с плавающей точкой. Длинные форматы занимают все 64 бит, короткие - старшие 32 бит такого регистра. [37]
Все необходимые при этом величины рассматриваются как числа в дополнительном двоичном коде. После модификации при длинном формате команды в зависимости от первого разряда смещения, называемого IA-разрядом, возможна косвенная адресация. Так как имеется только три аппаратных индексных регистра, одно из состояний двух признаковых разрядов ( Т00) не соответствует никакому индексному регистру. Наличие при длинном формате признака Т00 показывает, что адрес должен использоваться без модификации как прямой или как косвенный в зависимости от содержимого IA-разряда. В результате обеспечивается возможность косвенной адресации, поскольку смещение при получении действительного адреса прибавляется к содержимому счетчика команд. Следовательно, всего для большинства команд, которые обращаются к главной памяти, имеется 12 возможных способов генерирования действительного адреса ( фиг. [38]
Программист должен производить выбор команд для решения данной задачи, исходя из выбранного типа формата данных и необходимости выполнения нормализации результатов вычисления. Если данные находятся в длинном формате, то используются команды, мнемонические коды которых содержат буквы D или W. Если данные находятся в коротком формате, то используются команды, мнемонические коды которых имеют буквы Е или U. Мнемонические коды в табл. 2.1 расположены с учетом этого фактора и помогут произвести нужный выбор команд. [39]
Очередь команд представляет собой набор байтовых регистров и выполняет роль регистра команд, в котором хранятся коды, выбранные из программной памяти. Длина очереди составляет 6 байт, что соответствует максимально длинному формату команд. Наличие очереди команд, а также способность операционного устройства и шинного интерфейса работать параллельно позволяют совместить во времени фазы выборки команды и выполнения заданной операции: пока одна команда исполняется в операционном устройстве, шинный интерфейс осуществляет выборку следующей команды. [40]
Внутреннее представление двоичных констант с плавающей точкой аналогично представлению десятичных констант с плавающей точкой. При р 21 для размещения константы в памяти применяется короткий формат, при р2 - длинный формат. [41]
Операции с плавающей точкой, обеспечивающие повышенную точность, включают сложение, вычитание и умножение чисел, мантисса которых состоит из 28 шестнадцате-ричных цифр. Кроме того, имеется команда для округления чисел, представленных в формате для операций повышенной точности, в числа длинного формата, и чисел длинного формата в числа обычного формата. [42]
Этот 18-разрядный регистр служит счетчиком командных слов. В каждом 60-разрядном командном слове могут располагаться либо четыре команды короткого формата ( 15 разрядов), либо две команды длинного формата, либо смесь из длинных и коротких команд, не выходящих за размер слова. [43]
Операции с плавающей точкой, обеспечивающие повышенную точность, включают сложение, вычитание и умножение чисел, мантисса которых состоит из 28 шестнадцате-ричных цифр. Кроме того, имеется команда для округления чисел, представленных в формате для операций повышенной точности, в числа длинного формата, и чисел длинного формата в числа обычного формата. [44]
Таким образом, получим группу команд для пересылки данных из памяти в регистры и обратно, причем команды предназначены для работы с данными в длинном формате в операциях с плавающей точкой. [45]