Структура коммуникационного процессорного модуля, страница 14

Адрес

Название

Размер, бит

Описание

DSP base+00

FDBASE

32

Базовый адрес таблицы RX FD или ТХ FD

DSP base+04

FD_ptr

32

Указатель на обрабатываемую ячейку FD-таблицы

DSP base+08

DSTATE

32

Состояние DSP

DSP base+10

DSTATUS

16

Текущий FD-статус

DSP base+12

I

16

Текущее число итераций

DSP base+14

TAP

16

Текущее число повторов (TAPs)

DSP base+16

CBASE

16

Текущий указатель на таблицу коэффициентов

DSP base+18

16

Текущий размер буфера исходных данных минус 1

DSP base+1А

XPTR

16

Текущий указатель на ячейку таблицы входных данных

DSP base+1С

16

Текущий размер буфера результатов минус 1

DSP base+1Е

YPTR

16

Текущий указатель на ячейку таблицы выходных результатов

DSP base+20

М

16

Текущий размер буфера исходных данных минус 1

DSP base+22

16

Указатель на обрабатываемую ячейку таблицы входных данных

DSP base+24

N

16

Текущий размер буфера результатов минус 1

DSP base+26

16

Указатель на обрабатываемую ячейку таблицы  выходных результатов

DSP base+28

К

16

Текущий размер таблицы коэффициентов минус 1

DSP base+2А

16

Указатель на обрабатываемую ячейку таблицы коэффициентов

Примечание. Термин "текущий", применяемый при описании ячеек, означает, что их содержи­мое используется при работе только с текущим дескриптором FD и может изменяться при нача­ле работы со следующим дескриптором.

Перед началом работы пользователю требуется задать в таблице только один параметр — FDBASE, который определяет месторасположение таблицы де­скрипторов FD в памяти. Далее для инициализации таблицы дескрипторов FD контроллеру необходимо передать команду INIT DSP CHAIN. По этой команде в ячейку текущего указателя на таблицу FDptr записывается стар­товый адрес таблицы FD из ячейки FDBASE.

Каждый дескриптор FD состоит из восьми 16-битных ячеек (рис. 11). Первое слово — это регистр состояний. Слова со второго по восьмое опре­деляют параметры функций, тип (номер) которой задан в битах OPCODE слова состояния.

Назначение бит слова состояния для большинства функций одинаково. Если бит S (Stop) равен 1, то RISC-процессор остановит вычисления (обработку) дескрипторов этой функции после обработки текущего дескриптора FD. Ес­ли бит S=0, то процессор перейдет к обработке следующего дескриптора из таблицы.

Бит W (Wrap) определяет последний дескриптор FD в таблице. Если бит W=1, то после обработки данного дескриптора процессор перейдет к про­верке готовности первого дескриптора в таблице. Если бит W=0, то после обработки дескриптора процессор перейдет к проверке следующего деск­риптора в таблице.

Если бит I=1 (Interrupt), то после завершения обработки текущего дескрип­тора будет выработан запрос на прерывание, но только если это прерывание не замаскировано пользователем. Если бит I=0, то запрос на прерывание не вырабатывается.

Бит IALL определяет правило изменения указателя входного аргумента по­сле выполнения очередной итерации. Если бит IALL=1, то указатель вход­ного аргумента Х (или, другими словами, адрес ячейки, содержащей пара­метр X) увеличивается по модулю (М+1) на число, заданное в битах INDEX после каждой итерации. Если бит IALL=0, то указатель входного аргумента Х увеличивается по модулю (М+1) на число INDEX, заданное в битах, толь­ко после последней итерации.

Биты INDEX задают приращение указателя ячейки Х переменной. Если INDEX=00, то указатель не изменяется. Если INDEX=01, то указатель из­меняется на 1. Если INDEX=10, то указатель изменяется на 2. Если INDEX=11, то указатель изменяется на 4.

Бит PC определяет правило изменения значения указателя на ячейку табли­цы коэффициентов. Если бит РС=0, то указатель не меняет свое значение при переходе к новому этапу итерации. Если бит РС=1, то после каждой итерации в ячейку указателя заносится содержимое ячейки CBASE памяти параметров, т. е. указатель устанавливается на начало таблицы коэффициентов.

Бит X определяет тип выходных переменных. Если бит Х=0, то в память записывается только вещественная часть результата. Если бит Х=1, то в вы­ходной буфер будут записаны и вещественная и мнимая часть результата.