Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
razrabotka_ustroystv_na_osnove_tsifrovyih_signa...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.57 Mб
Скачать

Глава 4. Программно-логическая модель

В этой главе говорится о внутренней программно-логической модели процессора и его системе прерываний.

Прежде чем начать разрабатывать программы для сигнального процессора, необходимо познакомиться с его программно- логической моделью, системой команд и программными инструментами. Освоение данного материала потребует времени и терпения. Но без хорошего знания этих основ невозможно будет научиться программировать сигнальный процессор.

Итак, начнем с программно-логической модели процессора. Такая модель для ADSP-2181 приведена на рис. 4.1.

Рис. 4.1. Программно-логическая модель ADSP-2181

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

Главный блок регистров представлен на рисунке слева, в процессорном ядре. В первую очередь это блоки регистров программных генераторов адреса DAG1 и DAG2. Данные блоки регистров включают в себя индексные регистры I, регистры длины буфера L и регистры-модификаторы M.

Все перечисленные регистры имеют размерность 14 бит. Эти регистры позволяют организовывать в памяти процессора циклические и линейные буферы, с автоматическим инкрементом адреса слов в этих буферах и отслеживанием их длины. В каждом из блоков генераторов адресов присутствует по четыре группы таких регистров. Использование этих и других регистров будет рассмотрено позже на конкретных примерах.

Блок программного автомата содержит регистры, отвечающие за автоматические операции процессора. В их число входят:

• программный счетчик с 16-уровневым 14-разрядным стеком PC STACK, для организации вызова подпрограмм и обработки прерываний;

• счетчик циклов CNTR с 4-уровневым 14-разрядным стеком COUNT STACK, для организации вложенных программных циклов;

• псевдорегистр OWRCNTR, для обновления значения счетчика CNTR;

• цикловой компаратор LOOP STACK с 4-уровневым 18-разрядным стеком, для обеспечения выполнения программных циклов без тактов ожидания.

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

Таблица 4.1а Регистр состояния арифметико-логического устройства ASTAT

Таблица 4.1б Регистр состояния режима процессора MSTAT

Таблица 4.1в Регистр разрешения прерываний IMASK (0 — запрещено, 1 — разрешено)

Таблица 4.1г Регистр состояния стека SSTAT

Таблица 4.1д Регистр управления прерываниями ICNTL

Таблица 4.1е Регистр установки и сброса прерываний IFC (только запись)— произвольное состояние после сброса.

Блок арифметико-логического устройства ALU включает в себя:

• два 16-разрядных регистра операндов AX0 и AX1;

• два 16-разрядных регистра операндов AY0 и AY1;

• один 16-разрядный регистр результата AR;

• один 16-разрядный регистр обратной связи AF.

Все эти регистры имеют своих двойников — теневые регистры, изображенные на рисунке программно-логической модели процессора в виде теней. Переключение между основными и теневыми регистрами производится программно. Блок умножителя MAC включает в себя:

• два 16-разрядных регистра операндов MX0 и MX1;

• два 16-разрядных регистра операндов MY0 и MY1;

• два 16-разрядных регистра результата MR0 и MR1;

• один 8-разрядный регистра результата MR2;

• один 16-разрядный регистр обратной связи AMF.

Блок устройства сдвига SHIFTER включает в себя:

• два 16-разрядных регистра результата SR0 и SR1;

• один 5-разрядный регистр блочных операций SB;

• один 8-разрядный регистр экспоненты SE;

• один 16-разрядный регистр операнда SI.

Так же как и в ALU, в блоках MAC и SHIFTER все регистры имеют своих двойников — теневые регистры.

Устройство обмена между шинами представляет собой 8-разрядный регистр PX, участвующий в пересылках между шинами адреса и данных.

Остальные регистры процессора распределены между блоками таймера, интерфейсной памяти, портов SPORT0 и SPORT1, портов IDMA и BDMA и блоком программируемых флагов.

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

Всего в процессоре отведено тридцать две ячейки 16-разрядных слов с адреса 0x3FE0 по адрес 0x3FFF для регистров такого типа. Часть ячеек памяти для таких регистров не используется в рассматриваемом процессоре ADSP-2181, но используется в других процессорах семейства ADSP-21XX.

В табл. 4.2 приведено назначение разрядов всех регистров, отображенных на память процессора.

Таблица 4.2а Регистр управления системой SCR, адрес памяти данных = 0x3FFF

Таблица 4.2б Регистр тактов ожидания WSR, адрес памяти данных=0x3FFE

Таблица 4.2в Регистры таймера

Таблица 4.2г Регистры последовательного порта SPORT0

Таблица 4.2д Регистры последовательного порта SPORT1

Таблица 4.2е Регистры управления программируемыми флагами

Таблица 4.2ж Регистры управления портом байтовой памяти BDMA

Таблица 4.2з Регистр управления IDMACR— произвольное состояние после сброса.

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

Все перечисленные выше регистры позволяют осуществлять полный контроль и управление над процессором со стороны программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]