Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
143
Добавлен:
01.05.2014
Размер:
9.49 Mб
Скачать

Регистры Е управления/состояния

Е.1. Обзор

В этом приложении описываются биты регистров управления и состояния ADSP 2106x. Некоторые из регистров находятся в ядре процессора, они называются системными регистрами. Системными регистрами ядра процессора являются MODE1, MODE2, ASTAT, STKY, IRPTL, IMASK, IMASKP, USTAT1 и USTAT2.

Оставшиеся регистры управления находятся в устройстве ввода вывода (IOP – Input Output Processor). Они включают регистры SISCON и SYSTAT. Эти регистры отображаются в карте внутренней памяти ADSP 2106х.

Регистр

Функция

Инициализация после сброса

MODE1

Управление режимом 1

0х0000 (очищен)

MODE2

Управление режимом 2

n000 0000*

ASTAT

Арифметическое состояние

0х00nn 0000**

STKY

«Залипшее» состояние

0х0540 0000

IRPTL

Фиксирование прерывания

0х0000 (очищен)

IMASK

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

0х0003

IMASKP

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

0х0000 (очищен)

USTAT1

Определяемое пользователем состояние 1

0х0000 (очищен)

USTAT2

Определяемое пользователем состояние 2

0х0000 (очищен)

*биты 28 31 MODE1 являются идентификатором процессора и версией кристалла х.х. **биты 19 22 ASTAT равны значениям входных сигналов на выводах FLAG0 3 после сброса.

выводы флага сконфигурированы после сброса как входы.

Таблица Е.1. Системные регистры (ядро процессора)

Регистр

Функция

Инициализация после сброса

SYSCON

Конфигурация системы

0х0000

0000

SYSTAT

Состояние системы

0х0000

0nn0*

*биты 4 11 SYSTAT зависят от значений на входах ID2 0.

Таблица Е.2. Регистры IOP

601

E Регистры управления/состояния

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

Е.2. Системные регистры

Список системных регистров ядра процессора приведен в табл. Е.1. Системные регистры являются подмножеством набора универсальных регистров. Их содержимое может изменяться путем записи из непосредственного поля в команде или загружаться из памяти данных и сохраняться в памяти, а также пересылаться в любой универсальный регистр или из него за один цикл.

Е.2.1. Время срабатывания и задержка считывания

Запись в любой системный регистр, кроме USTAT1 и USTAT2, имеет задержку в один цикл перед тем, как любое изменение вступит в силу. Эта задержка называется временем срабатывания (effect latency). Если за записью в системный регистр сразу следует считывание, то считывается всегда новое значение, исключением является IMASK, для обновления значения которого требуется дополнительный цикл. Эта задержка называется задержкой считывания (read latency).

Время срабатывания и задержка считывания для системных регистров ADSP 2106x приведены ниже. «0» означает, что запись вступает в силу в следующем после выполнения команды записи цикле, «1» означает задержку в один цикл.

Регистр

Содержимое

Время

 

Задержка

 

 

срабаты считывания

 

 

вания

 

 

MODE1

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

0

1

MODE2

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

0

1

IRPTL

Фиксирование прерывания

0

1

IMASK

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

0

1

IMASKP Указатель маски прерывания (для вложенности)

1

1

ASTAT

Флаги арифметического состояния

0

1

STKY

Флаги «залипшего» состояния

0

1

USTAT1

Флаги определяемого пользователем состояния

0

0

USTAT2

Флаги определяемого пользователем состояния

0

0

602

Регистры Е управления/состояния

Е.2.2. Операции с битами системных регистров

Команды операции с битами системного регистра могут использоваться для установки, обнуления, изменения состояния или проверки определенных битов в системных регистрах. Непосредственное поле в команде операции с битом определяет обрабатываемый бит. Эти команды описаны в разделе «Группа IV. Прочие команды» в Приложении А.

Примеры:

BIT SET MODE2 0x00000070;

BIT TST ASTAT 0x00002000; {приводит к изменению флага BTF}

Хотя устройство сдвига и ALU способны обрабатывать биты, эти устройства работают только с регистрами регистрового файла. Команды операции с битами системного регистра устраняют потери времени на передачу содержимого системных регистров в регистровый файл и из него:

Команда операции с битом

Операция устройства сдвига

(системный регистр)

(регистровый файл данных)

BIT SET регистр данных

Rn = BSET Rx BY Ry | данные

BIT CLR регистр данных

Rn = BCLR Rx BY Ry | данные

BIT TGL регистр данных

Rn = BTGL Rx BY Ry | данные

BIT TST регистр данных

BTST Rx BY Ry | данные

(приводит к изменению

(приводит к изменению флага состояния SZ)

флага BTF)

 

Е.2.2.1. Флаг проверки бита

При выполнении команд операции с битами системного регистра, такими как проверка и «исключающее ИЛИ» (XOR), результат записывается во флаг проверки бита (BTF – bit test flag, бит 18 в регистре ASTAT). Состояние бита BTF может использоваться в качестве условия в условных командах. После выполнения операции проверки BTF устанавливается, если все определенные биты в системном регистре установлены. После выполнения операции XOR BTF устанавливается, если все биты в системном регистре соответствуют определенной маске.

Е.2.3. Регистры определяемого пользователем состояния

Назначение двух 32 разрядных регистров состояния USTAT1 и USTAT2 может определяться пользователем. Биты в этих регистрах могут устанавливаться и проверяться с использованием команд операции с битами системного регистра.

603

E Регистры управления/состояния

Вы можете использовать эти регистры для задания программных флагов или временного хранения данных.

Е.3. Регистры IOP

Регистры IOP ADSP 2106x – это отдельный набор отображенных в карте памяти регистров управления и регистров данных. Регистры IOP используются для конфигурирования функций управления системой, таких как ввод вывод через последовательный порт, через линк порт и передачи по прямому доступу к памяти (DMA). Операции ввода вывода обрабатываются встроенным в кристалл IOP независимо от ядра процессора и незаметно для него. Регистры IOP программируются путем записи по соответствующему адресу памяти. Они могут программироваться ядром ADSP 2106x или внешним устройством, например, хост процессором или другим ADSP 2106x. Символические имена регистров и отельных битов могут использоваться в программах ADSP 2106x. Определения #define для этих символов содержатся в файле def21060.h, который находится в директории INCLUDE программного обеспечения процессоров серии ADSP 21000. Файл def21060.h приведен в конце этого приложения.

Е.3.1. Резюме регистров IOP

Список регистров IOP, используемых для управления процессором и системой, операциями линк порта и последовательного порта, передачами по DMA приводится в табл.Е.3, Е.4, Е.5 и Е.6. В табл. Е.7 указываются отображенный в карте памяти адрес, функциональная группа и значение инициализации после сброса для каждого регистра IOP. Отображенные в карте памяти регистры IOP могут быть доступны для любого внешнего устройства, которое является ведущим (другой ADSP 2106x или хост процессор). Это позволяет внешнему устройству инициализировать передачу по DMA к внутренней памяти ADSP 2106x без вмешательства процессора. Если ядро процессора ADSP 2106x и внешний ведущий пытаются обратиться к одной группе регистров IOP в одно и то же время, то возникает конфликт. В этом случае применяется следующее правило:

Если ядро процессора ADSP 2106x и внешний ведущий пытаются одновременно обратиться к одной группе регистров IOP, то внешнее устройство всегда имеет приоритет. Ядро процессора ADSP 2106x будет находиться в состоянии ожидания, пока внешнее устройство не закончит операцию.

В табл. Е.7 приведены различные группы регистров IOP.

604

Регистры Е управления/состояния

Название регистра

Разрядность Описание

SYSCON

32

Регистр конфигурации системы

SYSTAT

32

Регистр состояния системы

WAIT

32

Регистр конфигурации состояний ожидания для

 

 

памяти

VIRPT

32

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

MSGR0

32

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

MSGR1

32

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

MSGR2

32

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

MSGR3

32

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

MSGR4

32

Регистр сообщения 4

MSGR5

32

Регистр сообщения 5

MSGR6

32

Регистр сообщения 6

MSGR7

32

Регистр сообщения 7

BMAX

16

Максимальное число циклов управления шиной

BCNT

16

Счетчик циклов управления шиной

ELAST

32

Адрес последнего внешнего обращения к Банку 0

 

 

памяти (используется для определения изменения

 

 

сигнала PAGE)

Таблица Е.3. Регистры IOP (управление системой)

Название регистра

Разрядность Описание

EPB0

48

Буфер 0 FIFO внешнего порта

EPB1

48

Буфер 1 FIFO внешнего порта

EPB2

48

Буфер 2 FIFO внешнего порта

EPB3

48

Буфер 3 FIFO внешнего порта

DMAC6

16

Регистр управления 6 каналом DM

 

 

(буфер 0 внешнего порта или буфер 4 линк портов)1,2

DMAC7

16

Регистр управления 7 каналом DMA

 

 

(буфер 1 внешнего порта или буфер 5 линк портов)1,2

DMAC8

16

Регистр управления 8 каналом DMA (буфер 2 внешнего

 

 

порта)3

DMAC9

16

Регистр управления 9 каналом DMA (буфер 3 внешнего

 

 

порта)3

DMASTAT

32

Регистр состояния каналов DMA

II0, IM0, C0, CP0

 

 

GP0, DB0, DA0

16 18

Регистры параметров 0 канала DMA (прием через

 

 

SPORT0)4

II1, IM1, C1, CP1

 

 

GP1, DB1, DA1

16 18

Регистры параметров 1 канала DMA (прием через

 

 

SPORT1 или буфер 0 линк портов)1,2,4,5

II2, IM2, C2, CP2

 

 

GP2, DB2, DA2

16 18

Регистры параметров 2 канала DMA (передача через

 

 

SPORT0)4,5

II3, IM3, C3, CP3

 

 

GP3, DB3, DA3

16 18

Регистры параметров 3 канала DMA (передача через

 

 

SPORT1 или буфер 1 линк портов)1,2,4,5

605

E Регистры управления/состояния

II4, IM4, C4, CP4

GP4, DB4, DA4 16 18 Регистры параметров 4 канала DMA (буфер 2 линк портов)1,5

II5, IM5, C5, CP5

GP5, DB5, DA5 16 18 Регистры параметров 5 канала DMA (буфер 3 линк портов)1,5

II6, IM6, C6, CP6

GP6, EI6, EM6, EC616 32 Регистры параметров 6 канала DMA (буфер 0 внешнего порта или буфер 4 линк портов)1,2

II7, IM7, C7, CP7

GP7, EI7, EM7, EC716 32 Регистры параметров 7 канала DMA (буфер 1 внешнего порта или буфер 5 линк портов)1,2

II8, IM8, C8, CP8

GP8, EI8, EM8, EC816 32 Регистры параметров 8 канала DMA (буфер 2 внешнего порта)3

II9, IM9, C9, CP9

GP9, EI9, EM9, EC916 32 Регистры параметров 9 канала DMA (буфер 3 внешнего порта)3

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

нет в ADSP 21061.

2

Нет совместно используемых каналов в ADSP 21061.

 

3

Регистров управления, параметров и буферных регистров, связанных с 8 и 9 каналами

 

 

DMA, нет в ADSP 21061.

4Содержимое регистров IM0, IM1, IM2 и IM3 зафиксировано в 1 в ADSP 21061.

5Регистров DBx и DAx нет в ADSP 21061, потому что в нем нет 2 D DMA.

Таблица Е.4. Регистры IOP (DMA)

Название регистра

Разрядность

Описание

LBUF0

48/32

Буфер данных 0 линк портов

LBUF1

48/32

Буфер данных 1 линк портов

LBUF2

48/32

Буфер данных 2 линк портов

LBUF3

48/32

Буфер данных 3 линк портов

LBUF4

48/32

Буфер данных 4 линк портов

LBUF5

48/32

Буфер данных 5 линк портов

LCTL

32

Регистр управления буферами линк портов

LCOM

32

Регистр общего управления линк портом

LAR

18

Регистр назначения линк порта

LSRQ

32

Регистр запроса обслуживания линк порта

LPATH1

32

1 регистр пути линк порта (многопроцессорная сеть)

LPATH2

32

2 регистр пути линк порта (многопроцессорная сеть)

LPATH3

32

3 регистр пути линк порта (многопроцессорная сеть)

LPCNT

32

Счетчик пути линк порта (многопроцессорная сеть)

CNTS1

48/32

Константа 1 линк порта (многопроцессорная сеть)

CNTS2

48/32

Константа 2 линк порта (многопроцессорная сеть)

Таблица Е.5. Регистры IOP (линк-порты)

Замечание: Регистров IOP, которые относятся к линк портам, нет в ADSP 21061.

606

Регистры Е управления/состояния

Название регистра

Разрядность

Описание

STCTL0

32

Регистр управления передачей SPORT0

SRCTL0

32

Регистр управления приемом SPORT0

TX0

32

Буфер передачи данных SPORT0

RX0

32

Буфер приема данных SPORT0

TDIV0

32

Коэффициент деления частот тактовой и кадровой

 

 

синхронизации при передаче через SPORT0

RDIV0

32

Коэффициент деления частот тактовой и кадровой

 

 

синхронизации при приеме через SPORT0

MTCS0

32

Выбор режима многоканальной передачи SPORT0

MRCS0

32

Выбор режима многоканального приема SPORT0

MTCCS0

32

Выбор компандирования в режиме многоканальной

 

 

передачи через SPORT0

MRCCS0

32

Выбор компандирования в режиме многоканального

 

 

приема через SPORT0

SPATH0

16

Длина пути SPORT0 (для многопроцессорной сети)1

KEYWD0

32

Сравнение при приеме через SPORT02

KEYMASK0

32

Маска сравнения при приеме через SPORT02

STCTL1

32

Регистр управления передачей SPORT1

SRCTL1

32

Регистр управления приемом SPORT1

TX1

32

Буфер передачи данных SPORT1

RX1

32

Буфер приема данных SPORT1

TDIV1

32

Коэффициент деления частот тактовой и кадровой

 

 

синхронизации при передаче через SPORT1

RDIV1

32

Коэффициент деления частот тактовой и кадровой

 

 

синхронизации при приеме через SPORT1

MTCS1

32

Выбор режима многоканальной передачи SPORT1

MRCS1

32

Выбор режима многоканального приема SPORT1

MTCCS1

32

Выбор компандирования в режиме многоканальной

 

 

передачи через SPORT1

MRCCS1

32

Выбор компандирования в режиме многоканального

 

 

приема через SPORT1

SPATH1

16

Длина пути SPORT1 (для многопроцессорной сети)

KEYWD1

32

Сравнение при приеме через SPORT12

KEYMASK1

32

Маска сравнения при приеме через SPORT12

1

2

Нет в ADSP 21061.

Доступны только в ADSP 21061.

Таблица Е.5. Регистры IOP (последовательные порты)

Е.3.2. Ограничения при обращении к регистрам IOP

Из за того, что регистры IOP отображаются в карте памяти, в них не могут записываться данные, приходящие прямо из памяти. Запись или чтение этих регистров должны выполняться с использованием регистров ядра ADSP 2106x,

607

E Регистры управления/состояния

обычно одного из регистров общего назначения в регистровом файле (R15 R0). Регистры IOP также могут записываться или считываться внешним устройством (другим ADSP 2106x и/или хост процессором).

Для передач по DMA могут использоваться только те регистры IOP, которые являются буферами DMA. При выполнении передач по DMA буферные регистры записываются и считываются во внутреннюю память по шине данных I/O. Эти передачи управляются контроллером DMA ADSP 2106x; однако, адреса не генерируются по шине адреса I/O. В ADSP 21060 и ADSP 21062 буферными регистрами DMA являются ЕРВ0 ЕРВ3 (буферы данных внешнего порта), LBUF0 LBUF5 (буферы данных линк портов) и TX0, RX0, TX1, RX1 (буферы данных последовательных портов). В ADSP 21061 буферными регистрами DMA являются ЕРВ0, ЕРВ1, TX0, RX0, TX1 и RX1.

Е.3.3. Конкуренция при обращении к группе регистров IOP

ADSP 2106х имеет четыре отдельных шины на кристалле, по которым можно независимо обращаться к отображенным в карте памяти регистрам IOP: шина памяти программы (РМ), шина памяти данных (DM), шина ввода вывода (I/O) и шина внешнего порта. Шина внешнего порта соединяет внешнюю шину DATA47 0 со всеми внутренними шинами. Шина I/O соединяет буферы данных внешнего порта с памятью и с внутренним устройством I/O. По шине I/O в буферные регистры IOP и из них пересылаются данные, которые будут передаваться по DMA.

Регистры IOP могут считываться или записываться по любой из этих шин в любое время. Когда к одной и той же группе регистров IOP выполняется доступ по нескольким шинам, то происходит конкуренция обращений (см. табл. Е.7). Существует одно исключение: по шине I/O и шине внешнего порта можно одновременно обращаться к группе регистров DB (буфер DMA), что позволяет выполнять передачи по DMA во внутреннюю память с полной скоростью.

Конфликты при обращении к группе регистров IOP решаются на основании схемы фиксированных приоритетов:

Внешний порт«регистр IOP»

Первый приоритет

Шины PM или DM«регистр IOP»

Второй приоритет

Шина I/O « регистр IOP»

Третий приоритет

Доступ к регистрам IOP по шине с высшим приоритетом выполняется в первую очередь, а любое обращение с более низким приоритетом будет задерживаться

608

Регистры Е управления/состояния

(дополнительные циклы будут генерироваться ядром процессора и/или IOP). Если сигнал предоставления DMA был выдан для доступа по шине I/O, то этот доступ будет выполнен до того, как будет разрешен доступ по любой другой шине.

Буферы данных DMA внешнего порта (EPB0 EPB3) состоят из 6 ячеек, образующих FIFO. Ввод данных в буферы может происходить одновременно с выводом. Шина внешнего порта имеет свой собственный независимый доступ к этим буферам. Если по шине PM, шине DM и/или шине I/O выполняется обращение к этим буферам данных одновременно, то происходит конкуренция обращений. В этом случае обращение по шине I/O выполнится первым. Последующие обращения по шине I/O будут задержаны до тех пор, пока не будут выполнены обращения по шинам РМ и/или DM.

Е.3.4. Задержка записи в регистры IOP

Внутренняя запись в регистр IOP заканчивается в конце цикла, в котором она происходит. Поэтому новое значение регистра может быть считано в следующем цикле.

Однако не все записи оказывают влияние в следующем цикле. Изменение битов режима и управления оказывает влияние во втором цикле после выполнения записи. Исключением являются биты управления упаковкой внешнего порта и биты очистки буфера, запись в которые оказывает влияние в третьем цикле после ее завершения.

Обращения внешнего порта и ядра процессора к одной и той же группе регистров IOP могут вызывать конфликт. В этом случае обращение ядра будет задержано до тех пор, пока не будут выполнены все обращения внешнего порта.

Адрес

Название

Инициализация Группа

Описание

 

регистра

после сброса

регистров

 

0x0000

SYSCON

0x0000

0010

SC

Конфигурация системы

0x0001

VIRPT

0x0002

0014

SC

Многопроцессорное векторное прерывание

0x0002

WAIT

0x21AD 6B5A

SC

Конфигурация состояний ожидания для

 

 

 

 

 

внешней памяти

0x0003

SYSTAT

0x0000

0nn0*

SC

Состояние системы

0x0004

EPB0

ni

 

DB

Буфер 0 DMA внешнего порта

0x0005

EPB1

ni

 

DB

Буфер 1 DMA внешнего порта

0x0006

EPB2

ni

 

DB

Буфер 2 DMA внешнего порта1

609

E Регистры управления/состояния

Адрес

Название Инициализация Группа

Описание

 

регистра

после сброса

регистров

 

0x0007

EPB3

ni

DB

Буфер 3 DMA внешнего порта1

0x0008

MSGR0

ni

SC

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

0x0009

MSGR1

ni

SC

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

0x000A

MSGR2

ni

SC

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

0x000B

MSGR3

ni

SC

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

0x000C

MSGR4

ni

SC

Регистр сообщения 4

0x000D

MSGR5

ni

SC

Регистр сообщения 5

0x000E

MSGR6

ni

SC

Регистр сообщения 6

0x000F MSGR7

ni

SC

Регистр сообщения 7

0x0010 0x0017

 

 

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

0x0018

BMAX

0x0000 0000

SC

Максимальное число циклов управления

 

 

 

 

шиной

0x0019

BCNT

0x0000 0000

SC

Счетчик циклов управления шиной

0x001A

 

 

 

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

0x001B ELAST

ni

SC

Адрес последнего внешнего доступа к Банку 0

 

 

 

 

памяти

0x001C DMAC6

DB

Регистр управления 6 каналом DMA (буфер 0

 

 

 

 

внешнего порта или буфер 4 линк портов)

0x001D DMAC7

0x0000 0000

DB

Регистр управления 7 каналом DMA (буфер 1

 

 

 

 

внешнего порта или буфер 5 линк портов)

0x001E DMAC8

0x0000 0000

DB

Регистр управления 8 каналом DMA (буфер 2

 

 

 

 

внешнего порта)1

0x001F DMAC9

0x0000 0000

DB

Регистр управления 9 каналом DMA (буфер 3

 

 

 

 

внешнего порта)1

0x0020 0x002F

 

 

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

0x0030

II4

ni

DA

Индекс 4 канала DMA (буфер 2 линк

 

 

 

 

портов)1

0x0031

IM4

ni

DA

Модификатор 4 канала DMA (буфер 2 линк

 

 

 

 

портов)1

0x0032

C4

ni

DA

Счетчик 4 канала DMA (буфер 2 линк

 

 

 

 

портов)1

0x0033

CP4

ni

DA

Указатель цепочки 4 канала DMA (буфер 2

 

 

 

 

линк портов)1

0x0034

GP4

ni

DA

Общее назначение/2 D DMA 4 канала DMA

 

 

 

 

(буфер 2 линк портов)1

0x0035

DB4

ni

DA

Общее назначение/2 D DMA 4 канала DMA

 

 

 

 

(буфер 2 линк портов)1

0x0036

DA4

ni

DA

Общее назначение/2 D DMA 4 канала DMA

 

 

 

 

(буфер 2 линк портов)1

0x0037

DMASTATni

DA

Регистр состояния канала DMA

0x0038

II5

ni

DA

Индекс 5 канала DMA (буфер 3 линк

 

 

 

 

портов)1

0x0039

IM5

ni

DA

Модификатор 5 канала DMA (буфер 3 линк

 

 

 

 

портов)1

0x003A

C5

ni

DA

Счетчик 5 канала DMA (буфер 3 линк портов)1

610