Cтраница 1
Автоматическое знаковое расширение 56-битовых аккумуляторов выполняется в случае записи небольших операндов. [1]
Устройство MAC. [2] |
При использовании регистра расширения аккумулятора бит переполнения в регистре кодов условий всегда установлен в единицу. Расширения знака обеспечивается автоматически при записи в 56-битный аккумулятор А или В 48-битного или 24-битного операнда. Если записывается 24-битный операнд, LSP автоматически заполняется нулями для представления операнда в 56-битной форме. [3]
Регистр В служит расширением аккумулятора А, необходимым для осуществления операций умножения и деления, причем он является как источником, так и приемником операндов. Во всех других операциях регистр В выполняет функции, определяемые пользователем. [4]
Регистр данных DX ( Data) служит расширением аккумулятора до 32 разрядов, выполняя при этом функции старшего слова. Такое расширение необходимо при осуществлении операций 16-разрядного умножения и деления. В ряде команд ВВ DX может использоваться в качестве регистра косвенного адреса порта ВВ. [5]
По команде DIV происходит деление без знака операнда двойной длины, находящегося в аккумуляторе и регистре, используемом для расширения аккумулятора ( в AL и АН в случае 8-разрядных операндов или в АХ и DX в случае 16-разрядных операндов) на операнд из заданного источника. При выполнении операции деления флаги принимают произвольные значения. [6]
Аккумуляторные регистры А и В служат буферными регистрами между арифметическим блоком и XDB и / или YDB. Эти регистры используются и как операнды-источники, и как операнды-приемники АЛУ данных. Автоматическое знаковое расширение 40-битовых аккумуляторов выполняется в случае записи небольших операндов. Если слово операнда должно быть записано в аккумуляторный регистр А или В, то MSP-часть ( А1 или В1) заполняется словом операнда, LSP-часть ( АО или ВО) заполняется нулями, а ЕХТ ( А2 или В2) - знаковым расширением MSP. Длинное слово операнда записывается в MSP: LSP, а ЕХТ ( А2 или В2) заполняется знаковым расширением MSP. Тестовая логика включается в каждый аккумуляторный регистр для поддержки операций сдвига / ограничения данных. Она используется также для определения переполнения при сдвиге. [7]
Механизм денормализации.| Определение целой части результата. [8] |
Бит расширения сброшен в нуль, если все биты целой части 56-битного результата - нули или единицы, иначе бит установлен. Если бит расширения равен 0, то младшая часть числа содержит все значащие биты, а старшая часть числа является расширением знака. В этом случае регистр расширения аккумулятора игнорируется. Если бит расширения равен 1, то регистр расширения аккумулятора используется. [9]
Оно не может быть сохранено, как 24-битное слово, поскольку требует более 24 битов для представления. Значение регистра состояния, SR, 0320 -бит Е установлен. Содержимое В1 представлено десятичным числом 131.0, поскольку регистр состояния сигнализирует об использовании битов расширения аккумулятора В - бит 47 аккумулятора В является не знаком, а частью смешанного числа. [10]
Числа для сложения должны быть пересланы в любые из приемлемых регистров источника ( X, Y, А, В) и регистров приемника ( А, В) для 48-битного сложения. Если сумма дробных частей больше, чем единица, выполняется перенос в целую часть. Если после сложения двух вещественных чисел целый результат не может быть представлен в 24 битах, используется расширение аккумулятора. Бит 5 в регистре состояния указывает на использование битов расширения. [11]
Если бит установлен в 1, выбирается автоматическое насыщение результатов в аккумуляторе до 48 бит. Эта функция выполняется с помощью специального устройства внутри модуля MAC. Назначение этого бита состоит в том, чтобы обеспечить режим арифметического насыщения для алгоритмов, которые не умеют или не могут воспользоваться возможностями расширения аккумулятора. Бит FSM может быть сброшен аппаратным или программным сбросом. [12]
Бит расширения сброшен в нуль, если все биты целой части 56-битного результата - нули или единицы, иначе бит установлен. Если бит расширения равен 0, то младшая часть числа содержит все значащие биты, а старшая часть числа является расширением знака. В этом случае регистр расширения аккумулятора игнорируется. Если бит расширения равен 1, то регистр расширения аккумулятора используется. [13]