Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Перевод CPU Reference Guide часть 1.doc
Скачиваний:
6
Добавлен:
21.09.2019
Размер:
1.4 Mб
Скачать

Регистры состояния (ST0_55-ST3_55)

2-40

Замечание:

Если вы хотите загрузить ST0_55, но не хотите доступа на изменение содержимого регистра страницы данных, используйте операции И или ИЛИ cо значением маски, которое не изменяет 9 младших битов (LSB) в ST0_55. Для операции ИЛИ поместите значение маски 0 в 9 LSB. Для операции И поместите значение маски 1 в 9 LSB.

2.10.1.4

Биты TC1 и TC2 в ST0_55

Бит

Имя

Описание

Доступность

Значение сброса

12

TC2

Флаг 2 теста/контроля

Чтение/запись

1

13

TC1

Флаг 1 теста/контроля

Чтение/запись

1

Главной функцией битов теста/контроля является содержание результатов тестирования,, произведенного с помощью конкретных инструкций. Далее приводится главная информация о данных битах:

 Все инструкции, которые влияют на флаги теста/контроля, позволяют вам выбрать, на какой флаг, TC1 или TC2, воздействовать.

 TCx (где x = 1 или 2) или булево выражение TCx могут быть использованы как триггер в условной инструкции.

 Вы можете очищать и устанавливать TC1 и TC2 при помощи следующих инструкций:

BCLR TC1 ; Очистка TC1 BSET TC1 ; Установка TC1 BCLR TC2 ; Очистка TC2 BSET TC2 ; Установка TC2

2.10.2 Биты st1_55

Данная секция описывает биты ST1_55 в алфавитном порядке.

2.10.2.1

Битовое поле ASM в ST1_55

Биты

Имя

Описание

Доступность

Значение сброса

4-0

ASM

Бит режима сдвига аккумулятора

Чтение/запись

00000b

В TMS320C54x-совместимом режиме (C54CM = 1) ASM обеспечивает значение сдвига в диапазоне от -16 до 15. Значение сдвига в пять бит закодировано как поразрядное дополнение до номера 2.

Если C54CM = 1: ASM обеспечивает TMS320C54x кодом, передающимся на TMS320C55x DSP. Конкретные C54x инструкции определяют сдвиг значения аккумулятора, а ASM содержит число сдвигов данных инструкций.

Регистры состояния (ST0_55-ST3_55)

2-41

Регистры ЦП

Если C54CM = 0: ASM игнорируется. Число сдвигов для операции сдвига аккумулятора поступает из буферного регистра (T0, T1, T2 или T3), указанного в C55x инструкции, или из константы, сложенной в C55x инструкции.

2.10.2.2

Бит BRAF в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

15

BRAF

Активный флаг блочного повторения

Чтение/запись

0

В TMS320C54x-совместимом режиме (C54CM = 1) BRAF отображает/контролирует состояние операции блочного повторения.

Если C54CM = 1: BRAF сохраняется и восстанавливается с ST1_55 в течение переключения контекста, вызванного запросами, прерываниями и возвратами. Считывайте BRAF для определения активности операции блочного повторения. Очищайте BRAF, если вы хотите остановить операцию блочного повторения. BRAF автоматически очищается, когда инструкции отдаленного перехода (FB) или отдаленного запроса (FCALL) выполняются.

BRAF

Активность блочного повторения

0

Нет активности. Когда значение счетчика блочного повторения 0 (BRC0) становится меньше нуля, ЦП очищает BRAF.

1

Операция активна. Когда ЦП исполняет инструкцию блочного повторения, ЦП устанавливает BRAF.

Если C54CM = 0: BRAF не используется. Состояние операций повторения поддерживается автоматически с помощью ЦП (смотрите описание для CFCT в секции 2.7 на странице 2-21).

Для остановки активной операции блочного повторения в C54x-совместимом режиме можно очистить BRAF с помощью данных инструкций:

BCLR BRAF

; Очистка BRAF

Вы можете установить BRAF через следующую инструкцию:

BSET BRAF

; Установка BRAF

Регистры состояния (ST0_55-ST3_55)

2-42

2.10.2.3

Бит C16 в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

7

C16

Бит двойного 16 - разр. арифметического режима

Чтение/запись

0

В TMS320C54x-совместимом режиме (C54CM = 1) выполнение некоторых инструкций зависит от C16. C16 определяет выполнение инструкции в одиночной 32 - разрядной операции (арифметика с удвоенной точностью) или в двойной 16 - разрядой операции (двойная 16 - разрядная арифметика).

Если C54CM = 1: Арифметика осуществляется в ALU блока D в зависимости от C16:

C16

Двойной 16 - разрядный режим ...

0

Отключен. Для инструкции, которая зависит от C16, ALU блока D производит 32 - разрядную операцию.

1

Включен. Для инструкции, которая зависит от C16, ALU блока D производит две 16 - разрядные операции.

Если C54CM = 0: ЦП игнорирует C16. Синтаксис инструкции определяет использование либо двойной 16 - разрядной инструкции, либо 32 - разрядной инструкции.

Вы можете установить и очистить C16 при помощи следующих инструкций:

BCLR C16

; Очистка C16

BSET C16

; Установка C16

2.10.2.4

Бит C54CM в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

5

C54CM

TMS320C54x бит совместимого режима

Чтение/запись

1

Бит C54CM определяет, будет ли ЦП поддерживать код, разработанный для TMS320C54x DSP:

C54CM

C54x-совместимый режим ...

0

Запрещен. ЦП поддерживает код, написанный для TMS320C55x (C55x) DSP.

1

Разрешен. Данный режим должен быть установлен, когда вы используете код, который первоначально был разработан для TMS320C54x (C54x) DSP. Все ресурсы ЦП C55x остаются доступными; следовательно, при трансляции кода можно использовать преимущество дополнительных возможностей C55x для оптимизации вашего кода.

Изменяйте режимы посредством данных инструкций и директив ассемблера:

BCLR C54CM

; Очистка C54CM (осущ. во времени выполнения программы)

.C54CM_off

; Указать ассемблеру C54CM = 0

BSET C54CM

; Установить C54CM (осущ. во времени выполнения)

.C54CM_on

; Указать ассемблеру C54CM = 1

Регистры состояния (ST0_55-ST3_55)

2-43

Регистры ЦП

2.10.2.5

Бит CPL в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

14

CPL

Бит режима компилятора

Чтение/запись

0

Бит CPL определяет, какой из двух режимов прямой адресации активен:

CPL

Выбранный режим прямой адресации

0

DP режим прямой адресации. Прямой доступ к пространству данных производится относительно регистра страницы данных (DP).

1

SP режим прямой адресации. Прямой доступ к пространству данных осуществляется относительно указателя стека данных (SP). DSP указывает работать в режиме компилятора.

Замечание:

Прямой доступ к пространству I/O всегда совершается относительно регистра страницы периферийных данных (PDP).

Изменяйте режимы посредством данных инструкций и директив ассемблера:

BCLR CPL

; Очистка CPL (во времени выполнения программы)

.CPL_off

; Указать ассемблеру CPL = 0

BSET CPL

; Установка CPL (во времени выполнения программы)

.CPL_on

; Указать ассемблеру CPL = 1

2.10.2.6

Бит FRCT в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

6

FRCT

Бит дробного режима

Чтение/запись

0

Бит FRCT включает или отключает дробный режим:

FRCT

Дробный режим ...

0

Отключен. Результаты операции умножения не сдвигаются.

1

Включен. Результаты операций умножения сдвигаются влево на 1 бит для десятичной точки. Это необходимо, когда вы перемножаете два знаковых значения Q15, и вам нужен результат Q31.

Вы можете очищать и устанавливать FRCT через данные инструкции:

BCLR FRCT

; Очистка FRCT

BSET FRCT

; Установка FRCT

Регистры состояния (ST0_55-ST3_55)

2-44

2.10.2.7

Бит HM в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

12

HM

Бит режима фиксации

Чтение/запись

0

Когда DSP подтверждает активный HOLD_ сигнал, DSP помещает свой внешний интерфейс в высокоимпедансное состояние. В зависимости от HM DSP может также останавливать исполнение внутренних программ:

HM

Режим фиксации

0

DSP продолжает выполнение инструкций из внутренней памяти программ.

1

DSP останавливает выполнение инструкций из внутренней памяти программ.

Вы можете использовать следующие инструкции для установки и очистки HM:

BCLR HM

; Очистка HM

BSET HM

; Установка HM

2.10.2.8

Бит INTM в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

11

INTM

Бит режима прерывания

Чтение/запись

1

Бит INTM глобально разрешает или запрещает маскируемые прерывания как это показано в следующей таблице. Данный бит не влияет на немаскируемые прерывания (те, которые не могут быть блокированы программно).

INTM

Описание

0

Все немаскируемые прерывания разрешены

1

Все маскируемые прерывания запрещены

Далее приведена основная информация о бите INTM:

 Модифицируйте бит INTM очищением бита состояния и установкой инструкций (смотрите пример ниже). Только другие инструкции, влияющие на INTM, являются инструкциями программного прерывания и программного сброса, которые устанавливают INTM до перехода к обработчику прерывания.

BCLR INTM

; Очистка INTM

BSET INTM

; Установка INTM

 Состояние бита INTM автоматически сохраняется, когда ЦП подтверждает запрос прерывания. В частности, бит INTM сохраняется, когда ЦП сохраняет ST1_55 в стек данных.

 До исполнения обработчика прерывания (ISR) ЦП автоматически устанавливает бит INTM на глобальный запрет маскируемых прерываний. ISR может переразрешить маскируемые прерывания очищением бита INTM.

 Инструкция возврата из прерывания восстанавливает бит INTM из стека данных.

Регистры состояния (ST0_55-ST3_55)

2-45

Регистры ЦП

 Когда ЦП останавливается в режиме эмуляции реального времени отладчика, INTM игнорируется, и только прерывания, критичные по времени, могут быть обработаны (смотрите описание регистров разрешения прерывания отладки на странице 2-30).

2.10.2.9

Бит M40 в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

10

M40

Бит режима вычисления для блока D

Чтение/запись

0

Бит M40 выбирает один из двух режимов вычисления для блока D:

M40

Режим вычисления блока D ...

0

32 - разрядный режим. В данном режиме:

 Знаковый бит извлекается из позиции 31 бита.

 В течение арифметики бит переноса определяется в позицию 31 бита.

 Переполнение детектируется в позиции 31 бита.

 При насыщении значением насыщения является 00 7FFF FFFFh (положительное переполнение) или FF 8000 0000h (отрицательное переполнение).

 Сравнения аккумуляторов с 0 совершаются посредством битов 31-0.

 Операции сдвига (циклического сдвига) производятся на 32 - разрядных значениях.

 При сдвиге влево аккумуляторов, сдвинутые биты извлекаются из позиции 31 бита.

 При сдвиге вправо аккумуляторов, сдвинутые биты вносятся в позицию 31 бита.

 При знаковых сдвигах аккумуляторов, если SXMD = 0, 0 копируется в сторожевые биты аккумуляторов; если SXMD = 1, бит 31 копируется в сторожевые биты аккумуляторов. При любых логических или циклических сдвигах аккумуляторов сторожевые биты аккумулятора назначения очищаются.

Замечание: В TMS320C54x-совместимом режиме (C54CM = 1) существуют несколько исключений : знаковый бит аккумулятора извлекается из позиции бита 39. Сравнение аккумуляторов с 0 осуществляется через биты 39-0. Знаковые сдвиги производятся при условии M40 = 1.

1

40 - разрядный режим. В данном режиме:

 Знаковый бит извлекается из позиции бита 39.

 В течение арифметики бит переноса определяется в позицию бита 39.

 Переполнение детектируется в позиции бита 39.

 При насыщении значением насыщения является 7F FFFF FFFFh (положительное переполнение) или 80 0000 0000h (отрицательное переполнение)

 Сравнения аккумуляторов с 0 совершаются посредством битов 39-0.

 Операции сдвига (циклического сдвига) производятся на 40 - разрядных значениях.

 При сдвиге влево аккумуляторов, сдвинутые биты извлекаются из позиции бита 39.

 При сдвиге вправо аккумуляторов, сдвинутые биты вносятся в позицию бита 39.

Регистры состояния (ST0_55-ST3_55)

2-46

Вы можете установить и очистить M40 при помощи следующих инструкций:

BCLR M40

; Очистка M40

BSET M40

; Установка M40

2.10.2.10

Бит SATD в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

9

SATD

Бит режима насыщения для блока D

Чтение/запись

0

Бит SATD определяет, произошло ли насыщение ЦП результатов переполнения в блоке D:

SATD

Режим насыщения в блоке D ...

0

Отключен. Насыщение не производится.

1

Включен. Если операция, совершаемая в блоке, D привела к переполнению, то результат насыщен. Насыщение зависит от значения бита M40.

M40 = 0 ЦП насыщает результат до 00 7FFF FFFFh (положительное переполнение) или до FF 8000 0000h (отрицательное).

M40 = 1

ЦП насыщает результат до 7F FFFF FFFFh (положительное переполнение) или 80 0000 0000h (отрицательное).

Если вы хотите совместимости с кодом TMS320C54x, убедитесь, что M40 = 0.

Вы можете устанавливать и очищать SATD посредством данных инструкций:

BCLR SATD

; Очистка SATD

BSET SATD

; Установка SATD

Регистры состояния (ST0_55-ST3_55)

2-47

Регистры ЦП

2.10.2.11

Бит SXMD в ST1_55

Бит

Имя

Описание

Доступность

Значение сброса

8

SXMD

Бит режима знакового расширения для блока D

Чтение/запись

1

Бит SXMD включает или отключает режим знакового расширения, который влияет на загрузку аккумулятора, а также воздействует на операции знакового сдвига, сложения и вычитания, осуществляемых в блоке D:

SXMD

Режим знакового расширения ...

0

Отключен. Когда режим знакового расширения отключен:

 Для 40 - разрядных операций операнды в 16 бит или меньше дополняются нулями до 40 бит.

 Для инструкции условного вычитания любой 16 - разр. делитель производит ожидаемый результат.

 Когда арифметическое логическое устройство (ALU) блока D локально сконфигурировано в двойной 16 - разрядный режим (через двойную 16 - разрядную арифметическую инструкцию):

 16 - разр. значения, применяемые в старшей части ALU блока D, дополняются нулями до 24 бит.

 16 - разрядные аккумуляторы, деленные на два, дополняются нулями, если они сдвинуты вправо.

 При знаковом сдвиге аккумулятора при 32 - разрядной операции (M40 = 0) 0 копируется в сторожевые биты аккумулятора (39-32).

 При знаковом правом сдвиге аккумулятора сдвинутая величина дополняется нулями.

1

Включен. В данном режиме:

 Для 40 - разр. операций операнды в 16 бит или меньше дополняются знаковым разрядом до 40 бит.

 Для инструкции условного вычитания любой 16 - разр. делитель должен быть положительной величиной (старший бит (MSB) должен быть равен 0).

 Когда арифметическое логическое устройство (ALU) блока D локально сконфигурировано в двойной 16 - разрядный режим (через двойную 16 - разрядную арифметическую инструкцию):

 16 - разр. значения, применяемые в старшей части ALU блока D, дополн. знаковым разр. до 24 бит.

 16 - разр. аккумуляторы, деленные на два, дополн. знаковым разрядом, если они сдвинуты вправо.

 При знаковом сдвиге аккумулятора при 32- разрядной операции (M40 = 0) 31 копируется в сторожевые биты аккумулятора (39-32).

 При знаковом правом сдвиге аккумулятора сдвинутая величина дополняется знаковым разр., пока выражение uns() не используется для обозначения значения аккумулятора, как беззнаковое.

 Для беззнаковых операций (операции булевой логики, циклического и логического сдвига) операнды входа всегда дополняются нулями до 40 бит независимо от значения SXMD.

 Для операций, производимых в блоке умножителя-накопителя (MAC), 16 - разрядные входные операнды дополняются знаковым разрядом до 17 бит независимо от значения SXMD.

 Если операнд в инструкции вложен в uns(), то он рассматривается, как беззнаковый, независимо от значения SXMD.