Cтраница 1
Структурная схема АЛУ данных. [1] |
Аккумуляторные регистры А и В служат буферными регистрами между арифметическим блоком и XDB и / или YDB. Эти регистры используются и как операнды-источники, и как операнды-приемники АЛУ данных. [2]
Аккумуляторные регистры А и В служат буферными регистрами между арифметическим блоком и XDB и / или YDB. Эти регистры используются и как операнды-источники, и как операнды-приемники АЛУ данных. Автоматическое знаковое расширение 40-битовых аккумуляторов выполняется в случае записи небольших операндов. Если слово операнда должно быть записано в аккумуляторный регистр А или В, то MSP-часть ( А1 или В1) заполняется словом операнда, LSP-часть ( АО или ВО) заполняется нулями, а ЕХТ ( А2 или В2) - знаковым расширением MSP. Длинное слово операнда записывается в MSP: LSP, а ЕХТ ( А2 или В2) заполняется знаковым расширением MSP. Тестовая логика включается в каждый аккумуляторный регистр для поддержки операций сдвига / ограничения данных. Она используется также для определения переполнения при сдвиге. [3]
Тестовая логика включается в каждый аккумуляторный регистр для поддержки операций сдвига / ограничения данных. Она используется также для определения переполнения при сдвиге. [4]
Сдвигатель / ограничитель данных обеспечивает специальный постпроцесс по чтению данных из аккумуляторных регистров А или В в XDB или YDB. Имеется два независимых сдвигателя / ограничителя ( один для XDB, другой для YDB), каждый из которых состоит из сдвигателя, находящегося после цепи ограничителя. [5]
Схема алгоритма операции сложения. [6] |
Микрокоманды МК1 и МК2 путем передачи 1-го слагаемого из регистра R в аккумуляторный регистр АС и последующего сдвига влева содержимого АС выдвигают знаковый разряд слагаемого в триггер Ф БМУ, из которого он затем принимается в триггер С регистра признаков БМУ. [7]
Когда SA установлен, он разрешает выполнение операций в 16-битном арифметическом режиме. В этом режиме округление происходит в бите 15 аккумуляторного регистра А1 или В1 вместо бита 23 в АО или ВО. Здесь используются как операции масштабирования, так и операции сдвига / ограничения АЛУ данных. SA очищается во время процессорного сброса. В начале процедуры обслуживания длительного прерывания, SR заносится в стек и бит SA сбрасывается. [8]
Аккумуляторные регистры А и В служат буферными регистрами между арифметическим блоком и XDB и / или YDB. Эти регистры используются и как операнды-источники, и как операнды-приемники АЛУ данных. Автоматическое знаковое расширение 40-битовых аккумуляторов выполняется в случае записи небольших операндов. Если слово операнда должно быть записано в аккумуляторный регистр А или В, то MSP-часть ( А1 или В1) заполняется словом операнда, LSP-часть ( АО или ВО) заполняется нулями, а ЕХТ ( А2 или В2) - знаковым расширением MSP. Длинное слово операнда записывается в MSP: LSP, а ЕХТ ( А2 или В2) заполняется знаковым расширением MSP. Тестовая логика включается в каждый аккумуляторный регистр для поддержки операций сдвига / ограничения данных. Она используется также для определения переполнения при сдвиге. [9]
Защита от переполнения производится после того, как содержимое аккумулятора было сдвинуто в соответствии с существующим масштабирующим режимом. Сдвиг и ограничение будут произведены только тогда, когда полный 56-битовый регистр А или В определяется как источник для перемещения параллельных данных через XDB или YDB. Когда в качестве источника для перемещения параллельных данных определяются регистры АО, А1, А2, ВО, В1 или В2, то сдвиг и ограничение не выполняются. Если в качестве источника для перемещения параллельных данных определяется 8-битовое расширение аккумуляторного регистра А2 или В2, то оно считается знаковым расширением для формирования полного 24-битового расширенного слова. [10]
Защита от переполнения производится после того, как содержимое аккумулятора было сдвинуто в соответствии с существующим масштабирующим режимом. Сдвиг и ограничение будут произведены только тогда, когда полный 40-битовый регистр А или В определяется как источник для перемещения параллельных данных через XDB или YDB. Когда в качестве источника для перемещения параллельных данных определяются регистры АО, А1, А2, ВО, В1 или В2, то сдвиг и ограничение не выполняются. Если в качестве источника для перемещения параллельных данных определяется 8-битовое расширение аккумуляторного регистра А2 или В2, то оно считается знаковым расширением для формирования полного 16-битового расширенного слова. [11]
Структурная схема кэш-памяти команд. [12] |
За счет наличия двух ограничителей можно независимо ограничивать операнды размером в двойное слово в одном и том же командном цикле. Если содержимое выбранного аккумулятора-источника может быть представлено без переполнения в размере операнда-приемника, то ограничение данных запрещается, и операнд не модифицируется. Если содержимое выбранного аккумулятора источника не может быть представлено без переполнения в размере операнда-приемника, то ограничитель будет подставлять ограниченные значения данных, имеющих максимальное насыщение и тот же знак, что и содержимое источника: 7FFFFF для 24-битовых или 7FFFFF FFFFFF для 48-битовых положительных чисел, 800000 для 24-битовых или 800000 000000 для 48-битовых отрицательных чисел. Этот процесс называется насыщением передачи. Значение в аккумуляторном регистре не сдвигается, не ограничивается и может быть повторно использовано через АЛУ данных. Когда выполняется ограничение, то флаг устанавливается и защелкивается в регистре статуса. [13]
Аккумуляторные регистры А и В служат буферными регистрами между арифметическим блоком и XDB и / или YDB. Эти регистры используются и как операнды-источники, и как операнды-приемники АЛУ данных. Автоматическое знаковое расширение 40-битовых аккумуляторов выполняется в случае записи небольших операндов. Если слово операнда должно быть записано в аккумуляторный регистр А или В, то MSP-часть ( А1 или В1) заполняется словом операнда, LSP-часть ( АО или ВО) заполняется нулями, а ЕХТ ( А2 или В2) - знаковым расширением MSP. Длинное слово операнда записывается в MSP: LSP, а ЕХТ ( А2 или В2) заполняется знаковым расширением MSP. Тестовая логика включается в каждый аккумуляторный регистр для поддержки операций сдвига / ограничения данных. Она используется также для определения переполнения при сдвиге. [14]
В ядре DSP56600 аккумуляторы А и В в АЛУ данных имеют восемь дополнительных бит. Ограничение будет происходить, когда задействованы дополнительные биты и если А или В являются источниками, содержимое которых читается через XDB или YDB. Ограничители в DSP56600 размещают сдвинутые или ограниченные значения на XDB или YDB без изменения содержимого регистров А или В. За счет наличия двух ограничителей можно независимо ограничивать операнды размером в двойное слово в одном и том же командном цикле. Если содержимое выбранного аккумулятора-источника может быть представлено без переполнения в размере операнда-приемника, то ограничение данных запрещается, и операнд не модифицируется. Если содержимое выбранного аккумулятора источника не может быть представлено без переполнения в размере операнда-преемника, то ограничитель будет подставлять ограниченные значения данных, имеющих максимальное насыщение и тот же знак, что и содержимое источника: 7FFF для 16-битовых или 7FFF FFFF для 32-битовых положительных чисел, 8000 для 16-битовых или 8000 0000 для 32-битовых отрицательных чисел. Этот процесс называется насыщением передачи. Значение в аккумуляторном регистре не сдвигается, не ограничивается и может быть повторно использовано через АЛУ данных. Когда выполняется ограничение, то флаг устанавливается и защелкивается в регистре статуса. [15]