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

2-1

Регистры ЦП

Данная глава описывает основные регистры ЦП TMS320C55x (C55x) DSP и idle регистры, которые используются для определения и мониторинга энергосберегающих idle конфигураций. В секции 2.2 представлена таблица, которая показывает, где регистры ЦП размещены в пространстве данных. Остальные секции содержат более детальную информацию о ЦП и о idle регистрах.

Тема

Страница

2.1

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

2-2

. . . . . . . . . . . . . . . . . . . . . . . . .

2.2

Регистры, отображенные в карте памяти

2-4

. . . . . . . . . . . . . . . . . .

2.3

Аккумуляторы (AC0-AC3)

2-9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4

Регистры перехода (TRN0, TRN1)

2-10

. . . . . . . . . . . . . . . . . . . . . . .

2.5

Буферные регистры (T0-T3)

2-11

. . . . . . . . . . . . . . . . . . . . . . . . . . .

2.6

Регистры, используемые для пространств I/O и данных

2-12

. . .

2.7

Регистры хода программ (PC, RETA, CFCT)

2-21

. . . . . . . . . . . . . . .

2.8

Регистры для управления прерываниями

2-23

. . . . . . . . . . . . . . . .

2.9

Регистры для управления циклами повторения

2-34

. . . . . . . . . .

2.10 Регистры состояния (st0_55-st3_55)

2-36

. . . . . . . . . . . . . . . . . .

Глава 2

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

2-2

2.1

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

Таблица 2-1 перечисляет регистры в алфавитном порядке. За более подробной информацией о конкретном регистре обращайтесь к последней колонке данной таблицы.

Таблица 2-1. Алфавитный список регистров

Аббревиатура

Название

Размер

Смотрите ...

AC0-AC3

Аккумуляторы с 0 по 3

40 бит каждый

Страница 2-9

AR0-AR7

Вспомогательные регистры с 0 по 7

16 бит каждый

Страница 2-12

BK03, BK47, BKC

Регистры длины кольцевого буфера

16 бит каждый

Страница 2-16

BRC0, BRC1

Счетчики блочного повторения 0 и 1

16 бит каждый

Страница 2-34

BRS1

BRC1 регистры сохранения

16 бит

Страница 2-34

BSA01, BSA23, BSA45, BSA67, BSAC

Регистры стартового адреса кольцевого буфера

16 бит каждый

Страница 2-15

CDP

Коэффициент указателя данных (нижняя часть XCDP)

16 бит

Страница 2-14

CDPH

Верхняя часть XCDP

7 бит

Страница 2-14

CFCT

Контекстные регистры управления потоком

8 бит

Страница 2-21

CSR

Регистр одиночного повторения

16 бит

Страница 2-34

DBIER0, DBIER1

Отладочные рег. разрешения прерыв. 0 и 1

16 бит каждый

Страница 2-30

DP

Регистр страницы данных (нижняя часть XDP)

16 бит

Страница 2-17

DPH

Верхняя часть XDP

7 бит

Страница 2-17

IER0, IER1

Регистры разрешения прерываний 0 и 1

16 бит каждый

Страница 2-28

IFR0, IFR1

Регистры флагов прерываний 0 и 1

16 бит каждый

Страница 2-25

IVPD, IVPH

Указатели векторов прерываний

16 бит каждый

Страница 2-23

PC

Счетчик команд

24 бита

Страница 2-21

PDP

Регистр страницы периферийных данных

9 бит

Страница 2-18

REA0, REA1

Рег. конечного адреса блочного повтор. 0 и 1

24 бит каждый

Страница 2-34

RETA

Регистр адреса возврата

24 бита

Страница 2-21

RPTC

Счетчик одиночного повторения

16 бит

Страница 2-34

RSA0, RSA1

Рег. стартового адреса блочного повтор. 0 и 1

24 бита каждый

Страница 2-34

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

2-3

Регистры ЦП

Таблица 2-1. Алфавитный список регистров (продолжение)

Аббревиатура

Смотрите ...

Размер

Название

SP

Указатель стека данных

16 бит

Страница 2-18

SPH

Верхняя часть XSP и XSSP

7 бит

Страница 2-18

SSP

Указатель стека системы

16 бит

Страница 2-18

ST0_55-ST3_55

Регистры состояния с 0 по 3

16 бит каждый

Страница 2-36

T0-T3

Буферные регистры

16 бит каждый

Страница 2-11

TRN0, TRN1

Регистры перехода 0 и 1

16 бит каждый

Страница 2-10

XAR0-XAR7

Расширенные вспомогат. регистры с 0 по 7

23 бит каждый

Страница 2-12

XCDP

Расширенный коэф. указателя данных

23 бита

Страница 2-14

XDP

Расширенный регистр страницы данных

23 бита

Страница 2-17

XSP

Расширенный указатель стека данных

23 бита

Страница 2-18

XSSP

Расширенный указатель стека системы

23 бита

Страница 2-18

Регистры, отображенные в карте памяти

2-4

2.2

Регистры, отображенные в карте памяти

Замечание:

1)

ST0_55, ST1_55 и ST3_55 доступны каждый по двум адресам. По одному адресу все TMS320C55x биты доступны. По другому адресу (защищенному) определенные биты не могут быть модифицированы. Защищенный адрес обеспечивает TMS320C54x кодом, который записывается в ST0, ST1 и PMST.

2)

T3, RSA0L, REA0L и SP доступны каждый по двум адресам. Для доступа через DP режим прямой адресации необходим доступ к регистрам, отображенным в карте памяти, ассемблер замещает старший из двух адресов: T3 = 23h (не 0Eh), RSA0L = 3Dh (не 1Bh), REA0L = 3Fh (не 1Ch), SP = 4Dh (не 18h).

3)

Любая C55x инструкция, которая загружает BRC1, загружает то же значение BRS1.

Таблица 2-2. Регистры, отображенные в карте памяти

Адреса

Регистр

Описание

Битовый диапазон

Смотрите ...

00 0000h

IER0

Регистр разрешения прерываний 0

15-2

Страница 2-28

00 0001h

IFR0

Регистр флага прерываний 0

15-2

Страница 2-25

00 0002h

(для C55x кода)

ST0_55

Регистр состояния 0

15-0

Страница 2-36

Замечание: Адрес 00 0002h является “родным” TMS320C55x кодом для доступа к ST0_55. TMS320C54x код, написанный для доступа к ST0, должен использовать адрес 00 0006h для доступа к ST0_55.

00 0003h

(для C55x кода)

ST1_55

Регистр состояния 1

15-0

Страница 2-36

Замечание: Адрес 00 0003h является “родным” TMS320C55x кодом для доступа к ST1_55. TMS320C54x код, написанный для доступа к ST1, должен применять адрес 00 0007h для доступа к ST1_55.

00 0004h

(для C55x кода)

ST3_55

Регистр состояния 3

15-0

Страница 2-36

Замечание: Адрес 00 0004h является “родным” TMS320C55x кодом для доступа к ST3_55. TMS320C54x код, написанный для доступа к регистру PMST, должен использовать адрес 00 001Dh для доступа к ST3_55.

00 0005h

-

Зарезервировано (не использовать данный адрес)

-

Регистры, отображенные в карте памяти

2-5

Регистры ЦП

Таблица 2-2. Регистры, отображенные в карте памяти (продолжение)

Адреса

Смотрите ...

Битовый диапазон

Описание

Регистр

00 0006h

(для C54x кода)

ST0 (ST0_55)

Регистр состояния 0

15-0

Страница 2-36

Замечание: Адрес 00 0006h является защищенным адресом ST0_55. Этот адрес предназначен для кода TMS320C54x, написанного для доступа к ST0. “Родной” TMS320C55x код должен применять адрес 00 0002h для доступа к ST0_55.

00 0007h

(для C54x кода)

ST1 (ST1_55)

Регистр состояния 1

15-0

Страница 2-36

Замечание: Адрес 00 0007h является защищенным адресом ST1_55. Этот адрес предназначен для кода TMS320C54x, написанного для доступа к ST1. “Родной” TMS320C55x код должен использовать адрес 00 0003h для доступа к ST1_55.

00 0008h

00 0009h

00 000Ah

AC0L

AC0H

AC0G

Аккумулятор 0

15-0

31-16

39-32

Страница 2-9

00 000Bh

00 000Ch

00 000Dh

AC1L

AC1H

AC1G

Аккумулятор 1

15-0

31-16

39-32

Страница 2-9

00 000Eh

T3

Буферный регистр 3

15-0

Страница 2-11

00 000Fh

TRN0

Регистр перехода 0

15-0

Страница 2-10

00 0010h

AR0

Вспомогательный регистр 0

15-0

Страница 2-12

00 0011h

AR1

Вспомогательный регистр 1

15-0

Страница 2-12

00 0012h

AR2

Вспомогательный регистр 2

15-0

Страница 2-12

00 0013h

AR3

Вспомогательный регистр 3

15-0

Страница 2-12

00 0014h

AR4

Вспомогательный регистр 4

15-0

Страница 2-12

00 0015h

AR5

Вспомогательный регистр 5

15-0

Страница 2-12

00 0016h

AR6

Вспомогательный регистр 6

15-0

Страница 2-12

00 0017h

AR7

Вспомогательный регистр 7

15-0

Страница 2-12

00 0018h

SP

Указатель стека данных

15-0

Страница 2-18

00 0019h

BK03

Регистр длины кольцевого буфера для AR0-AR3

15-0

Страница 2-16

Замечание: В TMS320C54x-совместимом режиме (C54CM = 1) BK03 используется для всех вспомогательных регистров. C54CM является битом в регистре состояния 1 (ST1_55). Регистры состояния описаны в начале страницы 2-36.

00 001Ah

BRC0

Счетчик блочного повторения 0

15-0

Страница 2-34

Регистры, отображенные в карте памяти

2-6

Таблица 2-2. Регистры, отображенные в карте памяти (продолжение)

Адреса

Смотрите ...

Битовый диапазон

Описание

Регистр

00 001Bh

RSA0L

Нижняя часть регистра стартового адреса блочного повторения 0

15-0

Страница 2-34

00 001Ch

REA0L

Нижняя часть регистра конечного адреса блочного повторения 0

15-0

Страница 2-34

00 001Dh

(для C54x кода)

PMST (ST3_55)

Регистр состояния 3

15-0

Страница 2-36

Замечание: Адрес 00 001Dh является защищенным адресом ST3_55. Этот адрес предназначен для кода TMS320C54x, написанного для доступа к регистру состояния режима процессора (PMST). “Родной” TMS320C55x код должен использовать адрес 00 0004h для доступа к ST3_55.

00 001Eh

XPC

Данный адрес установлен отдельно для совместимости с TMS320C54x кодом, который использует XPC.

7-0

-

00 001Fh

-

Зарезервирован (не использовать этот адрес)

-

00 0020h

T0

Буферный регистр 0

15-0

Страница 2-11

00 0021h

T1

Буферный регистр 1

15-0

Страница 2-11

00 0022h

T2

Буферный регистр 2

15-0

Страница 2-11

00 0023h

T3

Буферный регистр 3

15-0

Страница 2-11

00 0024h

00 0025h

00 0026h

AC2L

AC2H

AC2G

Аккумулятор 2

15-0

31-16

39-32

Страница 2-9

00 0027h

CDP

Коэффициент указателя данных

15-0

Страница 2-14

00 0028h

00 0029h

00 002Ah

AC3L

AC3H

AC3G

Аккумулятор 3

15-0

31-16

39-32

Страница 2-9

00 002Bh

DPH

Старшая часть расширенного регистра страницы данных

6-0

Страница 2-17

00 002Ch

00 002Dh

-

-

Зарезервирован (не использовать этот адрес)

-

-

00 002Eh

DP

Регистр страницы данных

15-0

Страница 2-17

00 002Fh

PDP

Регистр страницы периферийных данных

8-0

Страница 2-18

Регистры, отображенные в карте памяти

2-7

Регистры ЦП

Таблица 2-2. Регистры, отображенные в карте памяти (продолжение)

Адреса

Смотрите ...

Битовый диапазон

Описание

Регистр

00 0030h

BK47

Регистр длины кольцевого буфера для AR4-AR7

15-0

Страница 2-16

00 0031h

BKC

Регистр длины кольцевого буфера для CDP

15-0

Страница 2-16

00 0032h

BSA01

Регистр стартового адреса кольцевого буфера для AR0 и AR1

15-0

Страница 2-15

00 0033h

BSA23

Регистр стартового адреса кольцевого буфера для AR2 и AR3

15-0

Страница 2-15

00 0034h

BSA45

Регистр стартового адреса кольцевого буфера для AR4 и AR5

15-0

Страница 2-15

00 0035h

BSA67

Регистр стартового адреса кольцевого буфера для AR6 и AR7

15-0

Страница 2-15

00 0036h

BSAC

Регистр стартового адреса кольцевого буфера для CDP

15-0

Страница 2-15

00 0037h

-

Зарезервировано под BIOS, 16 - разр. регистр, который будет применяться при старте, как ячейка хранения указателя таблицы данных, необходимой для работы BIOS.

-

00 0038h

TRN1

Регистр перехода 1

15-0

Страница 2-10

00 0039h

BRC1

Счетчик блочного повторения 1

15-0

Страница 2-34

00 003Ah

BRS1

BRC1 регистр сохранения

15-0

Страница 2-34

00 003Bh

CSR

Регистр одиночного повторения

15-0

Страница 2-34

00 003Ch

00 003Dh

RSA0H

RSA0L

Регистр стартового адреса блочного повторения 0

23-16

15-0

Страница 2-34

00 003Eh

00 003Fh

REA0H

REA0L

Регистр конечного адреса блочного повторения 0

23-16

15-0

Страница 2-34

00 0040h

00 0041h

RSA1H

RSA1L

Регистр стартового адреса блочного повторения 1

23-16

15-0

Страница 2-34

00 0042h

00 0043h

REA1H

REA1L

Регистр конечного адреса блочного повторения 1

23-16

15-0

Страница 2-34

00 0044h

RPTC

Счетчик одиночного повторения

15-0

Страница 2-34

Регистры, отображенные в карте памяти

2-8

Таблица 2-2. Регистры, отображенные в карте памяти (продолжение)

Адреса

Смотрите ...

Битовыйдиапазон

Описание

Регистр

00 0045h

IER1

Регистр разрешения прерывания 1

10-0

Страница 2-28

00 0046h

IFR1

Регистр флага прерывания 1

10-0

Страница 2-25

00 0047h

DBIER0

Отладочный рег. разреш. прерыв. 0

15-2

Страница 2-30

00 0048h

DBIER1

Отладочный рег. разреш. прерыв. 1

10-0

Страница 2-30

00 0049h

IVPD

Указатель вектора прерывания для векторов DSP

15-0

Страница 2-23

00 004Ah

IVPH

Указатель вектора прерывания для хост векторов

15-0

Страница 2-23

00 004Bh

ST2_55

Регистр состояния 2

15-0

Страница 2-36

00 004Ch

SSP

Системный указатель стека

15-0

Страница 2-18

00 004Dh

SP

Указатель стека данных

15-0

Страница 2-18

00 004Eh

SPH

Старш. часть расшир. указателей стека

6-0

Страница 2-18

00 004Fh

CDPH

Старшая часть расширенного коэффициента указателя данных

6-0

Страница 2-14

00 0050h по

00 005Fh

-

Зарезервирован (не использовать этот адрес)

-

Аккумуляторы (AC0-AC3)

2-9

Регистры ЦП

2.3

Аккумуляторы (AC0-AC3)

ЦП содержит четыре 40 - разрядных аккумулятора: AC0, AC1, AC2 и AC3 (смотрите рисунок 2-1). Основной функцией данных регистров является содействие в операциях с данными в следующих частях блока D: арифметическом логическом устройстве (ALU), блоках умножителей-накопителей (MAC) и сдвигателе. Все четыре аккумулятора эквивалентны; любая инструкция, которую применяет аккумулятор, может быть запрограммирована для использования каждым из четырех аккумуляторов. Каждый аккумулятор разделен на младшее слово (ACxL) и старшее слово (ACxH), и восемь сторожевых разрядов (ACxG). Можно получить доступ к каждой из этих частей индивидуально, используя режимы адресации, которые обращаются к регистрам, отображенным в карте памяти.

В TMS320C54x-совместимом режиме (C54CM = 1) аккумуляторы AC0 и AC1 соответствуют аккумуляторам A и B TMS320C54x.

Рисунок 2-1. Аккумуляторы

39-32

31-16

15-0

AC0

AC0G

AC0H

AC0L

AC1

AC1G

AC1H

AC1L

AC2

AC2G

AC2H

AC2L

AC3

AC3G

AC3H

AC3L

Регистры перехода (TRN0, TRN1)

2-10

2.4

Регистры перехода (TRN0, TRN1)

Два регистра перехода (смотрите рисунок 2-2) используются в инструкциях сравнения и выбора экстремума:

 Синтаксис, который производит выбор двух 16 - разрядных экстремума, обновляет TRN0 и TRN1 на основе сравнения старших и младших слов двух аккумуляторов. TRN0 обновляется на основе сравнения старших слов аккумулятора; TRN1 – на основе сравнения младших слов.

 Синтаксис, который осуществляет выбор одного 40 - разрядного экстремума, обновляет выбранный регистр перехода (TRN0 или TRN1) на основе сравнения 40-ка бит двух аккумуляторов.

TRN0 и TRN1 способны удерживать решение перехода для новой метрики в реализациях алгоритма Виттерби.

Рисунок 2-2. Регистры перехода

15-0

TRN0

TRN1

Буферные регистры (T0-T3)

2-11

Регистры ЦП

2.5

Буферные регистры (T0-T3)

ЦП включает в себя четыре 16 - разрядных универсальных буферных регистра: T0-T3 (смотрите рисунок 2-3). Вот несколько действий, которые вы можете совершать при помощи буферных регистров:

 Удерживание одного множителя памяти для инструкций умножения, умножения-накопления, и умножения-вычитания.

 Удерживание числа сдвигов используемого в инструкциях сложения, вычитания и загрузки, производимых в блоке D.

 Отслеживание значений указателя путем обмена содержимого вспомогательных регистров (AR0-AR7) и буферных регистров (используя инструкцию обмена).

 Удерживание метрики перехода “бабочки” Виттерби для х 16 - разрядных операций, осуществляемых в ALU блока А.

Рисунок 2-3. Буферные регистры

15-0

T0

T1

T2

T3

Регистры, используемые для пространства адресных данных и пространства I/O (ввода/вывода)

2-12

2.6

Регистры, используемые для пространств адресных данных и I/O

Данная секция описывает следующие регистры:

Регистры

Функция

Смотрите...

XAR0-XAR7 и AR0-AR7

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

Страница 2-12

XCDP и CDP

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

Страница 2-14

BSA01, BSA23, BSA45, BSA67, BSAC

Определяет стартовый адрес кольцевого буфера, который будет добавлен к указателю

Страница 2-15

BK03, BK47, BKC

Определяет длину кольцевого буфера

Страница 2-16

XDP и DP

Определяет стартовый адрес для доступа через DP режим прямой адресации

Страница 2-17

PDP

Опред. страницу данных периферии для доступа к пространству I/O

Страница 2-18

XSP и SP

Указывает на значение в стеке данных

Страница 2-18

XSSP и SSP

Указывает на значение в системном стеке

Страница 2-18

2.6.1

Вспомогательные регистры (XAR0-XAR7 / AR0-AR7)

ЦП включает в себя восемь расширенных вспомогательных регистров XAR0-XAR7 (смотрите рисунок 2-4 и Таблицу 2-3). Каждая старшая часть (например, AR0H) используется для определения 7- разрядной главной страницы данных для доступа к пространству данных. Каждая младшая часть (например, AR0) может применяться как:

 16 - разрядное смещение к 7- разрядной главной странице данных (для формирования 23 - разрядного адреса).

 Адрес бита (в инструкциях, доступ к которым осуществляется индивидуальными битами или парами бит)

 Универсальный регистр или счетчик

Регистры, используемые для пространства адресных данных и пространства I/O

2-13

Регистры ЦП

Рисунок 2-4. Расширенные вспомогательные регистры и их части

Таблица 2-3. Расширенные вспомогательные регистры и их части

Регистр

Название

Доступность

XARn

Расширенный вспомогательный регистр n

Доступен только через выделенные инструкции. XARn не является регистром, отображенным в карте памяти.

ARn

Вспомогательный регистр n

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

ARnH

Старшая часть расширенного вспомогательного регистра n

Индивидуально не доступен. Для доступа к ARnH вы должны обратиться к XARn.

XAR0-XAR7 или AR0-AR7 применяются в AR режиме косвенной адресации и двойном AR режиме косвенной адресации. Базовые арифметические, логические и сдвиговые операции могут производиться в AR0-AR7 в ALU блока А. Данные операции могут осуществляться в параллель с модификацией адресов, происходящих во вспомогательных регистрах в блоке генерации адресных данных (DAGEN).

Регистры, используемые для пространства адресных данных и пространства I/O

2-14

2.6.2

Коэффициент указателя данных (coefficient data pointer) (XCDP / CDP)

ЦП включает в себя в карте памяти коэффициент указателя данных (coefficient data pointer) CDP и связанный регистр расширения CDPH:

15-0

CDP

15-7

6-0

Зарезервирован

CDPH

ЦП может соединить два для формирования расширенного CDP, который обозначается XCDP (смотрите рисунок 2-5 и Таблицу 2-4). Старшая часть (CDPH) применяется для определения 7 - разрядной главной страницы данных для доступа к пространству данных. Младшая часть (CDP) может использоваться как:

 16 - разрядное смещение к 7 - разрядной главной странице данных (для формирования 23- разрядного адреса).

 Адрес бита (в инструкциях, доступ к которым осуществляется индивидуальными битами или парами бит)

 Универсальный регистр или счетчик

Рисунок 2-5. Расширенный коэффициент указателя данных и его части

Таблица 2-4. Расширенный коэффициент указателя данных и его части

Регистр

Название

Доступность

XCDP

Расширенный коэффициент указателя данных

Доступен только через выделенные инструкции. XCDP не является регистром, отображенным в карте памяти.

CDP

Коэффициент указателя данных

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

CDPH

Старшая часть расширенного коэффициента указателя данных

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

Регистры, используемые для пространства адресных данных и пространства I/O

2-15

Регистры ЦП

XCDP или CDP используются в CDP режиме косвенной адресации. CDP может применяться в любой инструкции, которая предоставляет доступ к отдельным значениям пространства данных; хотя CDP преимущественно используется в инструкциях двойного умножения-накопления (MAC), потому что он обеспечивает третий, независимый операнд к оператору двойного MAC блока D.

2.6.3

Регистры стартового адреса кольцевого буфера (BSA01, BSA23, BSA45, BSA67, BSAC)

ЦП содержит пять 16 - разрядных регистров стартового адреса кольцевого буфера (смотрите рисунок 2-6) для возможности определения кольцевого буфера со стартового адреса, не связанного ограничением выравнивания.

Рисунок 2-6. Регистры стартового адреса кольцевого буфера

15-0

BSA01

BSA23

BSA45

BSA67

BSAC

Каждый регистр стартового адреса буфера связан с конкретным указателем или указателями (смотрите Таблицу 2-5). Стартовый адрес буфера добавляется к указателю только тогда, когда указатель сконфигурирован в регистре состояния ST2_55 для кольцевой адресации.

Таблица 2-5. Регистры стартового адреса кольцевого буфера и указатели

Регистр

Указатель

Главная страница данных ...

BSA01

AR0 или AR1

AR0H

BSA23

AR2 или AR3

AR2H

BSA45

AR4 или AR5

AR4H

BSA67

AR6 или AR7

AR6H

BSAC

CDP

CDPH

Регистры, используемые для пространства адресных данных и пространства I/O (ввода/вывода)

2-16

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

MOV *AR6, T2

; Загрузка T2 со значением из слов кольцевого буфера, ссылающихся на XAR6.

В данном примере при AR6, сконфигурированном для кольцевой адресации, адрес генерируется по нижеследующему выражению. Значение главной страницы данных (AR6H) соединяется с суммой AR6 и связанного стартового адреса буфера (BSA67).

AR6H:(BSA67 + AR6) = XAR6 + BSA67

Когда запускается TMS320C54x код в совместимом режиме (C54CM = 1), убедитесь, что регистры стартового адреса буфера содержат 0.

2.6.4

Регистры длины кольцевого буфера (BK03, BK47, BKC)

Три 16 - разрядных регистра длины кольцевого буфера (смотрите рисунок 2-7) определяют число слов (до 65535) в кольцевом буфере. Каждый регистр длины буфера связан с конкретным указателем или указателями (Смотрите Таблицу 2-6).

Рисунок 2-7. Регистры длины кольцевого буфера

15-0

BK03

BK47

BKC

Таблица 2-6. Регистры длины кольцевого буфера и указатели

Регистр

Указатель

Главная страница данных ...

BK03

AR0, AR1, AR2, или AR3

AR0H для AR0 или AR1 AR2H для AR2 или AR3

BK47

AR4, AR5, AR6, или AR7

AR4H для AR4 или AR5 AR6H для AR6 или AR7

BKC

CDP

CDPH

В TMS320C54x-совместимом режиме (C54CM = 1) BK03 применяется для всех вспомогательных регистров, а BK47 не используется.

Регистры, используемые для пространства адресных данных и пространства I/O

2-17

Регистры ЦП

2.6.5

Регистр страницы данных (XDP / DP)

ЦП содержит в карте памяти регистр страницы данных DP и связанный регистр расширения DPH:

15-0

DP

15-7

6-0

Зарезервирован

DPH

ЦП способен соединить два для формирования расширенного DP, который обозначается XDP (смотрите рисунок 2-8 и Таблицу 2-7). Старшая часть (DPH) применяется для определения 7 - разрядной главной страницы данных для доступа к пространству данных. Младшая часть определяет 16 - разрядное смещение (локальная страница данных), который объединяется с главной страницей данных для получения адреса в 23 бита.

Рисунок 2-8. Расширенный регистр страницы данных и его части

22-16

15-0

XDP

DPH

DP

Таблица 2-7. Расширенный регистр страницы данных и его части

Регистр

Название

Доступность

XDP

Расширенный регистр страницы данных

Доступен только через выделенные инструкции . XDP не является регистром, отображенным в карте памяти.

DP

Регистр страницы данных

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

DPH

Старшая часть расширенного регистра страницы данных

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

В DP режиме прямой адресации XDP определяет адрес в 23 бита, а в k16 режиме абсолютной адресации DPH объединяется с 16 - разрядным непосредственным значением для формирования адреса в 23 бита.

Регистры, используемые для пространства адресных данных и пространства I/O (ввода/вывода)

2-18

2.6.6

Регистр страницы периферийных данных (PDP)

Для PDP режима прямой адресации 9 - разрядный регистр страницы периферийных данных (PDP) выбирает страницу в 128 слов внутри 64K-словесного пространства I/O (ввода/вывода).

Как показано на рисунке 2-9, PDP обладает 9 - битовым полем внутри ячейки 16 - разрядного регистра. Биты 15-9 данной ячейки игнорируются ЦП.

Рисунок 2-9. Регистр страницы периферийных данных

15-9

8-0

Зарезервировано

PDP

2.6.7

Указатели стека (XSP / SP, XSSP / SSP)

ЦП содержит в карте памяти указатель стека данных (SP), системный указатель стека (SSP) и связанный регистр расширения (SPH):

15-0

SP

15-0

SSP

15-7

6-0

Зарезервировано

SPH

Смотрите рисунок 2-10 и Таблицу 2-8. При доступе к стеку данных ЦП объединяет SPH с SP для формирования расширенного SP, который обозначается XSP. XSP обладает адресом значения, продвинутого в стек данных последним. SPH содержит 7 - разрядную главную страницу данных памяти. SP указывает на конкретное слово в данной странице.

Аналогично, при доступе к системному стеку ЦП соединяет SPH с SSP для формирования XSSP. XSSP содержит адрес значения, продвинутого в системный стек последним.

Регистры, используемые для пространства адресных данных и пространства I/O

2-19

Регистры ЦП

Рисунок 2-10. Расширенные указатели стека

22-16

15-0

XSP

SPH

SP

XSSP

SPH

SSP

Таблица 2-8. Регистры указателя стека

Регистр

Название

Доступность

XSP

Расширенный указатель стека данных

Доступен только через выделенные инструкции. XSP не является регистром, отображенным в карте памяти.

SP

Указатель стека данных

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

XSSP

Расширенный системный указатель стека

Доступен только через выделенные инструкции. XSSP не является регистром, отображенным в карте памяти.

SSP

Системный указатель стека

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

SPH

Старшая часть XSP и XSSP

Доступен через выделенные инструкции и как регистр, отображенный в карте памяти. Замечание: SPH зависит от записи в XSP и в XSSP.

Регистры, используемые для пространства адресных данных и пространства I/O (ввода/вывода)

2-20

XSP применяется в SP режиме прямой адресации. Следующие инструкции используют и/или модифицируют SP и SSP:

Типы инструкций

Описание

Программные прерывания, захваты, сбросы, условные и безусловные вызовы

Эти инструкции проталкивают данные в стек данных и системный стек. SP и SSP декрементируют до проталкивания каждой пары значений данных.

Проталкивание в стек

Эта инструкция проталкивает данные в стек данных. SP декрементирует до проталкивания данных.

Условный и безусловный возврат, возврат из прерывания

Данные инструкции выталкивают данные из стека данных и системного стека. SP и SSP инкрементируют после выталкивания каждой пары значений данных.

Выталкивание из стека

Эта инструкция выталкивает данные только из стека данных. SP инкрементирует после выталкивания данных.

Регистры хода программ (PC, RETA, CFCT)

2-21

Регистры ЦП

2.7

Регистры хода программ (PC, RETA, CFCT)

Таблица 2-9 описывает три регистра, которые применяются ЦП для поддержания правильного хода программ.

Таблица 2-9. Регистры хода программ

Регистр

Описание

PC

Счетчик команд. Данный 24 - разрядный регистр содержит адрес от 1 до 6 байт кода декодируемого в блоке I. Когда ЦП производит прерывание или запрос, текущее значение PC (адрес возврата) запоминается, а затем PC загружается с новым адресом. Когда ЦП возвращается из обработчика прерываний или вызванной подпрограммы, адрес возврата восстанавливается в PC.

RETA

Регистр адреса возврата. Если выбранная конфигурация стека (см. стр. 4-4) использует процесс с быстрым возвратом, RETA временно удерживает место под адрес возврата, пока подпрограмма выполняется. RETA вместе с CFCT позволяет эффективное исполнение множества уровней подпрограмм. Есть возможность считывания из RETA и CFTC, и записи в них.

CFCT

Регистр контекста управляемого потока. ЦП ведет запись циклов повторения (контекст циклов). Если выбранная конфигурация стека (см. стр. 4-4) применяет процесс с быстрым возвратом, CFTC временно удерживает место под 8 - разрядный контекст циклов, пока подпрограмма выполняется. CFTC вместе с RETA позволяют эффективное исполнение множества уровней подпрограмм. Существует возможность считывания из RETA и CFTC, и записи в них.

2.7.1

Биты контекста, хранящиеся в CFCT

ЦП обладает внутренними битами для хранения контекста циклов – статуса (активного или неактивного) циклов повторения в подпрограмме. Когда ЦП следует за прерыванием или за вызовом, контекст циклов хранится в CFTC. Когда ЦП возвращается из прерывания или вызванной подпрограммы, контекст циклов восстанавливается из CFTC. Биты контекста циклов имеют следующую форму в 8 - разрядной CFTC.

Регистры хода программ (PC, RETA, CFCT)

2-22

Биты

Описание

7

Этот бит отражает активность цикла одиночного повторения.

0 Неактивен 1 Активен

6

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

0 Неактивен 1 Активен

5-4

Зарезервированы

3-0

Данный код в 4 бита отражает статус двух возможных уровней циклов с блочным повторением, внешнего (уровень 0) и внутреннего (уровень 1). В зависимости от типа выбранной инструкции блочного повторения, активный цикл может быть локальным (весь его код многократно исполняется из буфера инструкции) или внешним (код многократно выбирается и передается через буфер к ЦП).

Код блочного повторения

Цикл уровня 0 ...

Цикл уровня 1 ...

0

2

3

7

8

9

Другое: Зарезервировано

Неактивен Активен, внешний Активен, локальный Активен, внешний Активен, внешний Активен, локальный

-

Неактивен Неактивен Неактивен Активен, внешний Активен, локальный Активен, локальный

-

Регистры для управления прерываниями

2-23

Регистры ЦП

2.8

Регистры для управления прерываниями

Данная секция описывает следующие регистры:

Регистры

Функция

Смотрите ...

IVPD

Указывает на DSP вектора прерывания (IV0-IV15 и IV24-IV31)

Страница 2-23

IVPH

Указывает на таблицу векторов прерываний (IV16-IV23)

Страница 2-23

IFR0, IFR1

Показывает, какое маскируемое прерывание было запрошено

Страница 2-25

IER0, IER1

Разрешает или запрещает маскируемые прерывания

Страница 2-28

DBIER0, DBIER1

Конфигурирует выбор маскируемых прерываний как прерываний критичных по времени

Страница 2-30

2.8.1

Указатели вектора прерываний (IVPD, IVPH)

Два 16 - разрядных указателя вектора прерывания (смотрите рисунок 2-11) указывают на вектора прерываний в пространстве программ. DSP указатель вектора прерывания (IVPD) указывает на страницу программ в 256 байт, которая содержит DSP вектора прерывания (IV0-IV15 и IV24-IV31). Данные вектора могут быть распределены в памяти, которая размещена только в DSP.

Хост указатель вектора прерывания (IVPH) указывает на страницу программ в 256 байт, которая содержит хост вектора прерываний (IV16-IV23). Эти вектора могут быть распределены в памяти, разделяемой DSP и хост процессором таким образом, что хост - процессор может определять связанные обработчики прерываний.

Если IVPD и IVPH имеют одно и то же значение, все вектора прерываний будут в одной странице программ в 256 байт. Аппаратный сброс DSP загружает оба IVPs с FFFFh. IVPs не зависит от инструкции программного сброса.

Рисунок 2-11. Указатели векторов прерываний

15-0

IVPD

IVPH

Регистры для управления прерываниями

2-24

Перед модификацией IVPs убедитесь, что:

 Маскируемые прерывания глобально отключены (INTM = 1). Это предотвратит возникновение маскируемого прерывания перед тем, как IVPs модифицированы на указание к новым векторам.

 Каждое аппаратное немаскируемое прерывание имеет вектор и обработчик прерывания для старого и нового значений IVPD. Это предотвратит выборку недопустимого кода инструкции, если аппаратное немаскируемое прерывание произойдет в течение процесса модификации IVPD.

Таблица 2-10 показывает, как адреса векторов формируются для различных векторов прерываний. ЦП объединяет 16 - разрядный указатель вектора прерывания с номером вектора, закодированного в пяти битах (например, 00001 для IV1 и 10000 для IV16) и сдвинутого влево на 3 бита.

Таблица 2-10.

Векторы и структура векторных адресов

Векторные адреса

Векторы

Прерывания

Биты 23-8

Биты 7-3

Биты 2-0

IV0

Сброс

IVPD

00000

000

IV1

Немаскируемое аппаратное прерывание, NMI_

IVPD

00001

000

IV2-IV15

Маскируемые прерывания

IVPD

00010 по

01111

000

IV16-IV23

Маскируемые прерывания

IVPH

10000 по

10111

000

IV24

Прерывание ошибки шины (маск.), BERRINT

IVPD

11000

000

IV25

Прерывание регистрации данных (маскир.), DLOGINT

IVPD

11001

000

IV26

Прерывание работы системы в реальном времени (маск.), RTOSINT

IVPD

11010

000

IV27-IV31

Прерывания универсальных программ INT27-INT31

IVPD

11011 по

11111

000

Регистры для управления прерываниями

2-25

Регистры ЦП

2.8.2

Регистры флага прерывания (IFR0, IFR1)

16 - разрядные регистры флага прерывания IFR1 и IFR0 содержат биты флага для всех маскируемых прерываний. Когда запрос маскируемого прерывания достигает ЦП, соответствующий флаг устанавливается в 1 в одном из IFR. Это означает, что прерывание задерживается или ожидает подтверждения от ЦП. Рисунок 2-12 отражает картину C55x IFR. Для того, чтобы посмотреть, какое прерывание отображено в этих битах, обратитесь к справочной документации вашего C55x DSP.

Существует возможность как чтения из IFR для определения задерживаемых прерываний, так и записи в IFR для очищения данных прерываний. Для очищения запроса прерывания (и установки бита IFR в 0), запишите 1 в соответствующий IFR бит. Например:

; Очистка флагов IF14 и IF2:

MOV #0100000000000100b, mmap(@IFR0)

Все задерживаемые прерывания могут быть очищены записью текущего содержимого IFR назад в IFR. Подтверждение аппаратного запроса прерывания также очищает соответствующий бит IFR. Сброс устройства очищает все биты IFR.

Рисунок 2-12. Регистры флага прерывания

15-11

10

9

8

IFR1

Зарезервировано

RTOSINTF

DLOGINTF

BERRINTF

R/W1C - 0

R/W1C - 0

R/W1C - 0

7

6

5

4

3

2

1

0

IF23

IF22

IF21

IF20

IF19

IF18

IF17

IF16

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

15

14

13

12

11

10

9

8

IFR0

IF15

IF14

IF13

IF12

IF11

IF10

IF9

IF8

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

7

6

5

4

3

2

1-0

IF7

IF6

IF5

IF4

IF3

IF2

Зарезервировано

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

R/W1C - 0

Условные обозначения:

R Доступ чтения

W1C

Запись 1 в данный бит заставит ЦП установить этот бит в 0.

- X

X – это значение после сброса DSP.

Зарезервировано

Запись в данное битовое поле не имеет никакого эффекта, и биты в этом поле всегда имеют значение 0 в течение операции чтения.

Регистры для управления прерываниями

2-26

2.8.2.1

Бит RTOSINTF в IFR1

Бит

Имя

Описание

Доступность

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

10

RTOSINTF

Бит флага прерыв. для прерыв. операционной системы рельного времени, RTOSINT

Запись/чтение

0

При чтении бита RTOSINTF поступайте следующим образом:

RTOSINTF

Описание

0

RTOSINT не задерживается.

1

RTOSINT задерживается.

Для установки данного бита флага в 0 (и очистки соответствующего запроса прерывания) запишите 1 в бит.

2.8.2.2

Бит DLOGINTF в IFR1

Бит

Имя

Описание

Доступность

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

9

DLOGINTF

Бит флага прерыв. для прерыв. регистрации данных, DLOGINT

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

0

При чтении бита DLOGINTF поступайте следующим образом:

DLOGINTF

Описание

0

DLOGINT не задерживается.

1

DLOGINT задерживается.

Для установки данного бита флага в 0 (и очистки соответствующего запроса прерывания) запишите 1 в бит.

2.8.2.3

Бит BERRINTF в IFR1

Бит

Имя

Описание

Доступность

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

8

BERRINTF

Бит флага прерыв. для прерыв. ошибки шины, BERRINT

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

0

При чтении бита DLOGINTF поступайте следующим образом:

BERRINTF

Описание

0

BERRINT не задерживается.

1

BERRINT задерживается.

Для установки данного бита флага в 0 (и очистки соответствующего запроса прерывания) запишите 1 в бит.

Регистры для управления прерываниями

2-27

Регистры ЦП

2.8.2.4

Биты IF16-IF23 в IFR1

Бит

Имя

Описание

Доступность

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

0

IF16

Бит 16 флага прерывания

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

0

1

IF17

Бит 17 флага прерывания

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

0

2

IF18

Бит 18 флага прерывания

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

0

3

IF19

Бит 19 флага прерывания

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

0

4

IF20

Бит 20 флага прерывания

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

0

5

IF21

Бит 21 флага прерывания

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

0

6

IF22

Бит 22 флага прерывания

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

0

7

IF23

Бит 23 флага прерывания

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

0

При чтении данных бит поступайте следующим образом (x – это номер с 16 по 23):

IFx

Описание

0

Прерывание, связанное с вектором x прерывания, не задерживается.

1

Прерывание, связанное с вектором x прерывания, задерживается.

Для установки данного бита флага в 0 (и очистки соответствующего запроса прерывания) запишите 1 в бит.

2.8.2.5

Биты IF2-IF15 в IFR0

Бит

Имя

Описание

Доступность

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

2

IF2

Бит 2 флага прерывания

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

0

3

IF3

Бит 3 флага прерывания

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

0

4

IF4

Бит 4 флага прерывания

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

0

5

IF5

Бит 5 флага прерывания

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

0

6

IF6

Бит 6 флага прерывания

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

0

7

IF7

Бит 7 флага прерывания

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

0

8

IF8

Бит 8 флага прерывания

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

0

9

IF9

Бит 9 флага прерывания

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

0

10

IF10

Бит 10 флага прерывания

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

0

11

IF11

Бит 11 флага прерывания

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

0

12

IF12

Бит 12 флага прерывания

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

0

13

IF13

Бит 13 флага прерывания

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

0

14

IF14

Бит 14 флага прерывания

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

0

15

IF15

Бит 15 флага прерывания

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

0

При чтении данных бит поступайте следующим образом (x – это номер с 2 по 15):

IFx

Описание

0

Прерывание, связанное с вектором x прерывания, не задерживается.

1

Прерывание, связанное с вектором x прерывания, задерживается.

Для установки данного бита флага в 0 (и очистки соответствующего запроса прерывания) запишите 1 в бит.

Регистры для управления прерываниями

2-28

2.8.3

Регистры разрешения прерываний (IER0, IER1)

Для разрешения маскируемого прерывания установите соответствующий бит в IER0 или IER1 в 1. Для запрета маскируемого прерывания установите соответствующий бит в 0. При сбросе все биты IER сбрасываются в 0, запрещая все маскируемые прерывания. Рисунок 2-13 отражает картину C55x IER. Чтобы посмотреть какое прерывание связано с данными битами, обратитесь к технической документации C55x DSP.

Замечание:

IER1 и IER0 не зависят от инструкции программного сброса или аппаратного сброса DSP. Инициализируйте данные регистры до глобального разрешения маскируемых прерываний (INTM = 0).

Рисунок 2-13. Регистры разрешения прерываний

15-11

10

9

8

IER1

Зарезервировано

RTOSINTE

DLOGINTE

BERRINTE

R/W - NA

R/W - NA

R/W - NA

7

6

5

4

3

2

1

0

IE23

IE22

IE21

IE20

IE19

IE18

IE17

IE16

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

15

14

13

12

11

10

9

8

IER0

IE15

IE14

IE13

IE12

IE11

IE10

IE9

IE8

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

7

6

5

4

3

2

1-0

IE7

IE6

IE5

IE4

IE3

IE2

Зарезервировано

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

Условные обозначения:

R Доступ чтения

W

Доступ записи

- NA

Данный бит не зависит от сброса DSP.

Зарезервировано

Запись в данное битовое поле не имеет эффекта, и биты в этом поле всегда обладают значением 0 в течение операции чтения.

Регистры для управления прерываниями

2-29

Регистры ЦП

2.8.3.1

Бит RTOSINTE в IER1

Бит

Имя

Описание

Доступность

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

10

RTOSINTE

Бит разреш. для прерыв. операц. систем реал. времени, RTOSINT

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

Не зависит от сброса

Бит RTOSINTE разрешает или запрещает RTOSINT:

RTOSINTE

Описание

0

RTOSINT запрещен

1

RTOSINT разрешен

2.8.3.2

Бит DLOGINTE в IER1

Бит

Имя

Описание

Доступность

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

9

DLOGINTE

Бит разреш. для прерыв. регистр. данных, DLOGINT

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

Не зависит от сброса

Бит DLOGINTE разрешает или запрещает DLOGINT:

DLOGINTE

Описание

0

DLOGINT запрещен

1

DLOGINT разрешен

2.8.3.3

Бит BERRINTE в IER1

Бит

Имя

Описание

Доступность

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

8

BERRINTE

Бит разреш. для прерыв. ошибки шины, BERRINT

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

Не зависит от сброса

Бит BERRINTE разрешает или запрещает BERRINT:

BERRINTE

Описание

0

BERRINT запрещен

1

BERRINT разрешен

2.8.3.4

Биты IE16-IE23 в IER1

Бит

Имя

Описание

Доступность

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

0

IE16

Бит 16 разреш. прерыв.

Запись/чтение

Не зависит от сброса

1

IE17

Бит 17 разреш. прерыв.

Запись/чтение

Не зависит от сброса

2

IE18

Бит 18 разреш. прерыв.

Запись/чтение

Не зависит от сброса

3

IE19

Бит 19 разреш. прерыв.

Запись/чтение

Не зависит от сброса

4

IE20

Бит 20 разреш. прерыв.

Запись/чтение

Не зависит от сброса

5

IE21

Бит 21 разреш. прерыв.

Запись/чтение

Не зависит от сброса

6

IE22

Бит 22 разреш. прерыв.

Запись/чтение

Не зависит от сброса

7

IE23

Бит 23 разреш. прерыв.

Запись/чтение

Не зависит от сброса

Функции данных битов могут быть подытожены так, как следует далее, где x - это число с 16 по 23:

IEx

Описание

0

Прерывание, связанное с вектором x прерывания, запрещено.

1

Прерывание, связанное с вектором x прерывания, разрешено.

Регистры для управления прерываниями

2-30

2.8.3.5

Биты IE2-IE15 в IER0

Бит

Имя

Описание

Доступность

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

2

IE2

Бит 2 разреш. прерыв.

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

Не зависит от сброса

3

IE3

Бит 3 разреш. прерыв.

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

Не зависит от сброса

4

IE4

Бит 4 разреш. прерыв.

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

Не зависит от сброса

5

IE5

Бит 5 разреш. прерыв.

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

Не зависит от сброса

6

IE6

Бит 6 разреш. прерыв.

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

Не зависит от сброса

7

IE7

Бит 7 разреш. прерыв.

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

Не зависит от сброса

8

IE8

Бит 8 разреш. прерыв.

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

Не зависит от сброса

9

IE9

Бит 9 разреш. прерыв.

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

Не зависит от сброса

10

IE10

Бит 10 разреш. прерыв.

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

Не зависит от сброса

11

IE11

Бит 11 разреш. прерыв.

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

Не зависит от сброса

12

IE12

Бит 12 разреш. прерыв.

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

Не зависит от сброса

13

IE13

Бит 13 разреш. прерыв.

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

Не зависит от сброса

14

IE14

Бит 14 разреш. прерыв.

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

Не зависит от сброса

15

IE15

Бит 15 разреш. прерыв.

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

Не зависит от сброса

Функции данных битов могут быть подытожены так, как следует далее, где x - это число с 2 по 15:

IEx

Описание

0

Прерывание, связанное с вектором x прерывания, запрещено.

1

Прерывание, связанное с вектором x прерывания, разрешено.

2.8.4

Отладочные регистры разрешения прерывания (DBIER0, DBIER1)

16 - разрядные регистры разрешения прерывания DBIER1 и DBIER0 используются только тогда, когда ЦП приостанавливается в режиме эмуляции реального времени отладчика. Если ЦП работает в режиме реального времени, то применяется стандартный процесс обработки прерываний, а DBIERs игнорируется.

Маскируемое прерывание разрешено в DBIER как прерывание критичное по времени. Когда ЦП останавливается в режиме реального времени, обрабатываются только прерывания критичные по времени, которые также разрешены в регистре разрешения прерывания (IER1 или IER0).

Считывайте DBIERs для определения прерываний критичных по времени. Запись в DBIERs разрешает или запрещает прерывания критичные по времени. Для разрешения прерывания установите соответствующий бит. Для запрещения прерывания очистите соответствующий бит. Рисунок 2-14 отражает картину C55x DBIERs. Для просмотра того, какие прерывания относятся к данным битам, обратитесь к технической документации C55x DSP.

Замечание:

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

Регистры для управления прерываниями

2-31

Регистры ЦП

Рисунок 2-14. Отладочные регистры разрешения прерывания

15-11

10

9

8

DBIER1

Зарезервировано

RTOSINTD

DLOGINTD

BERRINTD

R/W - NA

R/W - NA

R/W - NA

7

6

5

4

3

2

1

0

DBIE23

DBIE22

DBIE21

DBIE20

DBIE19

DBIE18

DBIE17

DBIE16

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

15

14

13

12

11

10

9

8

DBIER0

DBIE15

DBIE14

DBIE13

DBIE12

DBIE11

DBIE10

DBIE9

DBIE8

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

7

6

5

4

3

2

1-0

DBIE7

DBIE6

DBIE5

DBIE4

DBIE3

DBIE2

Зарезервировано

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

R/W - NA

Условные обозначения:

R Доступ чтения

W

Доступ записи

- NA

Этот бит не зависит от сброса DSP

Зарезервировано

Запись в данное битовое поле не имеет эффекта, и биты в этом поле всегда обладают значением 0 в течение операции чтения.

2.8.4.1

Бит RTOSINTD в DBIER1

Бит

Имя

Описание

Доступность

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

10

RTOSINTD

Бит разреш. отладки для прерыв. операц. систем реального времени, RTOSINT

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

Не зависит от сброса

Бит RTOSINTD разрешает или запрещает RTOSINT, как прерывание критичное по времени:

RTOSINTD

Описание

0

RTOSINT запрещено.

1

RTOSINT разрешено. Конфигурируется, как прерывание критичное по времени.

Регистры для управления прерываниями

2-32

2.8.4.2

Бит DLOGINTD в DBIER1

Бит

Имя

Описание

Доступность

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

9

DLOGINTD

Бит разреш. отладки для прерыв. регистр. данных, DLOGINT

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

Не зависит от сброса

Бит DLOGINTD разрешает или запрещает DLOGINT как прерывание критичное по времени:

DLOGINTD

Описание

0

DLOGINT запрещено.

1

DLOGINT разрешено. Конфигурируется как прерывание критичное по времени.

.

2.8.4.3

Бит BERRINTD в DBIER1

Бит

Имя

Описание

Доступность

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

8

BERRINTD

Бит разреш. отладки для прерыв. ошибки шины, BERRINT

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

Не зависит от сброса

Бит BERRINTD разрешает или запрещает BERRINT как прерывание критичное по времени:

BERRINTD

Описание

0

BERRINT запрещено.

1

BERRINT разрешено. Конфигурируется как прерывание критичное по времени.

2.8.4.4

Биты DBIE16-DBIE23 в DBIER1

Бит

Имя

Описание

Доступность

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

0

DBIE16

Бит 16 разрешения прерывания отладки

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

Не зависит от сброса

1

DBIE17

Бит 17 разрешения прерывания отладки

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

Не зависит от сброса

2

DBIE18

Бит 18 разрешения прерывания отладки

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

Не зависит от сброса

3

DBIE19

Бит 19 разрешения прерывания отладки

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

Не зависит от сброса

4

DBIE20

Бит 20 разрешения прерывания отладки

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

Не зависит от сброса

5

DBIE21

Бит 21 разрешения прерывания отладки

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

Не зависит от сброса

6

DBIE22

Бит 22 разрешения прерывания отладки

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

Не зависит от сброса

7

DBIE23

Бит 23 разрешения прерывания отладки

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

Не зависит от сброса

Функции данных битов могут быть подытожены так, как следует далее, где x это число с 16 по 23:

DBIEx

Описание

0

Прерывание, связанное с вектором x прерывания,, запрещено.

1

Прерывание, связанное с вектором x прерывания, разрешено. Прерывание конфигурируется как критичное по времени.

Регистры для управления прерываниями

2-33

Регистры ЦП

2.8.4.5

Биты DBIE2-DBIE15 в DBIER0

Бит

Имя

Описание

Доступность

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

2

DBIE2

Бит 2 разрешения прерывания отладки

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

Не зависит от сброса

3

DBIE3

Бит 3 разрешения прерывания отладки

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

Не зависит от сброса

4

DBIE4

Бит 4 разрешения прерывания отладки

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

Не зависит от сброса

5

DBIE5

Бит 5 разрешения прерывания отладки

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

Не зависит от сброса

6

DBIE6

Бит 6 разрешения прерывания отладки

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

Не зависит от сброса

7

DBIE7

Бит 7 разрешения прерывания отладки

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

Не зависит от сброса

8

DBIE8

Бит 8 разрешения прерывания отладки

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

Не зависит от сброса

9

DBIE9

Бит 9 разрешения прерывания отладки

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

Не зависит от сброса

10

DBIE10

Бит 10 разрешения прерывания отладки

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

Не зависит от сброса

11

DBIE11

Бит 11 разрешения прерывания отладки

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

Не зависит от сброса

12

DBIE12

Бит 12 разрешения прерывания отладки

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

Не зависит от сброса

13

DBIE13

Бит 13 разрешения прерывания отладки

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

Не зависит от сброса

14

DBIE14

Бит 14 разрешения прерывания отладки

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

Не зависит от сброса

15

DBIE15

Бит 15 разрешения прерывания отладки

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

Не зависит от сброса

Функции данных битов могут быть подытожены так, как следует далее, где x - это число с 2 по 15:

DBIEx

Описание

0

Прерывание, связанное с вектором x прерывания, запрещено.

1

Прерывание, связанное с вектором x прерывания, разрешено.

Прерывание конфигурируется как критичное по времени.

Регистры для управления циклами повторения

2-34

2.9

Регистры для управления циклами повторения

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

2.9.1

Регистры одиночного повторения (RPTC, CSR)

Инструкции одиночного повторения позволяют повторять инструкцию, реализуемую за один цикл (или две инструкции, реализуемых за один цикл, которые исполняются параллельно). Число повторений N загружается в счетчик одиночного повторения (RPTC) до первого выполнения. После первого исполнения инструкция выполняется еще N раз; следовательно, полное число исполнений равно N+1 раз.

В некоторых синтаксисах безусловных инструкций одиночного повторения вы можете использовать регистр одиночного повторения (CSR) для определения числа N. Значение из CSR копируется в RPTC до первого выполнения инструкции или пары инструкций.

Как показано на рисунке 2-15, RPTC и CSR имеют по 16 бит, позволяющих до 65536 последовательных исполнений инструкции (первое выполнение плюс 65535 повторений).

Рисунок 2-15. Регистры одиночного повторения

15-0

RPTC

CSR

2.9.2

Регистры блочного повторения (BRC0-1, BRS1, RSA0-1, REA0-1)

Инструкции блочного повторения позволяют формировать циклы, которые повторяют блоки инструкций. Вы можете иметь один цикл блочного повторения вложенным в другом, создав внутренний (уровень 1) цикл и внешний цикл (уровень 0). Таблица 2-11 описывает регистры C55x, связанные с циклами уровня 0 и 1. Как представлено в следующих параграфах, применение этих регистров зависит от бита совместимого режима C54x (C54CM), который объясняется на странице 2-42.

Если C54CM = 0: C55x “родной” режим ...

ЦП ведет запись активных циклов повторения (смотрите описание для CFTC в секции 2.7 на странице 2-21). Когда ЦП декодирует инструкции блочного повторения, сначала он определяет, не исполняется ли уже цикл. Если ЦП определит активный цикл уровня 0, то он применит регистры цикла уровня 1, иначе, он использует регистры цикла уровня 0.

Регистры для управления циклами повторения

2-35

Регистры ЦП

Если C54CM = 1: C54x-совместимый режим ...

Инструкции блочного повторения активируют только регистры цикла уровня 0. Регистры цикла уровня 0 не используются. Вложенные операции блочного повторения могут быть реализованы на C54x DSP, применив сохранение/восстановление контекста и активный флаг блочного повторения (BRAF). Инструкции блочного повторения устанавливают BRAF. BRAF очищается к концу операции блочного повторения, когда BRC0 содержит 0. За более подробной информацией о BRAF обращайтесь к странице 2-41.

Таблица 2-11.

Описание регистров блочного повторения

Регистры цикла уровня 0

Регистры цикла уровня 1 (нельзя при C54CM = 1)

Регистр

Описание

Регистр

Описание

BRC0

Счетчик 0 блочного повторения. Этот 16 - разрядный регистр содержит число повторений блока инструкций после начального исполнения.

BRC1

Счетчик 1 блочного повторения. Этот 16 - разрядный регистр содержит число повторений блока инструкций после начального исполнения.

RSA0

Регистр 0 стартовых адресов блочного повторения. Данный 24 - разрядный регистр обладает адресом первой инструкции в блоке инструкций.

RSA1

Регистр 1 стартовых адресов блочного повторения. Данный 24 - разрядный регистр обладает адресом первой инструкции в блоке инструкций.

REA0

Регистр 0 конечных адресов блочного повторения. Этот 24 - разрядный регистр содержит адрес последней инструкции в блоке инструкций.

REA1

Регистр 0 конечных адресов блочного повторения. Этот 24 - разрядный регистр содержит адрес последней инструкции в блоке инструкций

BRS1

Регистр сохранения BRC1. Всякий раз когда BRC1 загружается, BRS1 загружается с тем же значением. Содержимое BRS1 не изменяемо в течение выполнения цикла уровня 1. Каждый раз при запуске цикла уровня 1, BRC1 реинициализируется из BRS1. Эта особенность дает возможность инициализации BRC1 вне цикла уровня 0, уменьшая время, необходимое для каждого повторения.

Замечание:

Значения 24 - разрядных регистров хранятся в двух последовательных 16 - разрядных ячейках. Биты 23-16 находятся в младшем адресе (восемь старших бит в данной ячейке игнорируются ЦП). Биты 15-0 располагаются в старшем адресе. Например, RSA0(23-16) доступен по адресу 00 003Ch и RSA0(15-0) доступен по адресу 00 003Dh.