- •Цель и содержание работы
- •Базовая архитектура семейства adsp-21xx
- •2.1. Особенности структуры
- •Вычислительные модули
- •Генераторы адресов данных. Программный автомат
- •Оперативная память
- •Внутренние периферийные устройства
- •Программно-логическая модель
- •Команды алу
- •Система команд
- •Команды умножителя-накопителя
- •Команды устройства сдвига
- •Команды пересылки данных
- •Команды передачи управления в программе
- •Многофункциональные команды
- •Другие команды
- •Форматы представления чисел
- •Запуск среды разработки программ
- •Создание проекта
- •Создание файлов кода программы
- •Компиляция и компоновка
- •Тестирование и отладка
- •Лабораторное задание
- •Контрольные вопросы
Программно-логическая модель
Для программирования процессора следует представлять его программно-логическую модель. Ядро процессоров семейства ADSP-21xx, с точки зрения программиста, состоит из трех вычислительных устройств, двух генераторов адреса и программного автомата (рис. 3). На рисунке возле регистров указана их разрядность. Обращение к регистрам этих устройств из программы производится по их логическим именам.
У каждого из регистров вычислителя есть теневой регистр-двойник. Переключение между основными и теневыми регистрами производится программно с помощью команд ENA SEG_REG (выбрать вторичный набор регистров, т.е. установить в 1 соответствующий бит в регистре статуса MSTAT) и DIS SEG_REG (сбросить этот бит).
Регистры ASTAT, SSTAT, MSTAT содержат информацию о состоянии процессора. Регистр ASTAT содержит флаги арифметических условий. Значения этих флагов приведены в табл. 1.
Таблица 1
Флаги регистра ASTAT
-
Номер бита
Флаг
Назначение
0
AZ
Нулевой результат АЛУ
1
AN
Отрицательный результат АЛУ
2
AV
Переполнение АЛУ
3
AC
Перенос АЛУ
4
AS
Знак входа Х АЛУ
5
AQ
Признак частного от деления
6
MV
Переполнение умножителя
7
SS
Знак сдвига данных
Рис. 3. Регистры процессоров ADSP-218x, доступные для программирования
Регистр SSTAT служит для хранения состояний 4 внутренних стеков программного автомата (табл. 2).
Таблица 2
Назначение битов регистра SSTAT
-
Номер бита
Назначение
0
Стек счетчика команд пуст
1
Стек счетчика команд переполнен
2
Стек счетчика пуст
3
Стек счетчика переполнен
4
Стек состояний пуст
5
Стек состояний переполнен
6
Стек циклов пуст
7
Стек циклов переполнен
Регистр MSTAT (табл. 3) содержит информацию о модификации режима работы процессора.
Таблица 3
Назначение битов регистра MSTAT
-
Номер бита
Назначение
0
Выбор ряда регистров данных: 0 – главный, 1 − теневой
1
Разрешение бит-реверсной адресации (генератор адреса данных 1)
2
Разрешение режима фиксации состояния переполнения в АЛУ
3
Разрешение режима насыщения регистра AR
4
Представление результата умножителя: 0 – режим умножения дробных чисел, 1 – режим умножения целых чисел
5
Разблокирование таймера
6
Разрешение режима GO
Для выбора конфигурации прерываний в процессоре задействованы регистры IMASK, ICNTL, IFC. Регистр IMASK (табл. 4) предназначен для маскирования или разрешения каждого отдельного вида прерывания процессора.
Таблица 4
Назначение битов регистра IMASK
-
Номер бита
Назначение
0
Разрешение прерываний от таймера: 1 − разрешено, 0 − запрещено
1
Прием SPORT1 или IRQ0
2
Передача SPORT1 или IRQ1
3
Прерывание BDMA
4
IRQE
5
Прием SPORT0
6
Передача SPORT0
7
IRQL0
8
IRQL1
9
IRQ2
Регистр ICNTL (табл. 5) конфигурирует внешние прерывания по фронту либо по уровню сигнала. Кроме того, определяется возможность использования вложенных прерываний.
Таблица 5
Назначение битов регистра ICNTL
-
Номер бита
Назначение
0
Прерывания IRQ0: 1 – по фронту, 0 – по уровню
1
Прерывания IRQ1: 1 – по фронту, 0 – по уровню
2
Прерывания IRQ2: 1 – по фронту, 0 – по уровню
4
Вложенные прерывания: 1 − разрешены, 0 − запрещены
Регистр IFC (табл. 6) осуществляет принудительное прерывание или сброс задержанного чувствительного по фронту прерывания. В этот регистр может осуществляться только запись числа.
Таблица 6
Назначение битов регистра IFC
-
Номер бита
Назначение
0
Сброс прерываний от таймера
1
Сброс прерываний прием SPORT1 или IRQ0
2
Сброс прерываний передача SPORT1 или IRQ1
3
Сброс прерываний BDMA
4
Сброс прерываний IRQE
5
Сброс прерываний прием SPORT0
6
Сброс прерываний передача SPORT0
7
Сброс прерываний IRQ2
8
Принудительная установка прерываний от таймера
9
Принудительная установка прерываний прием SPORT1 или IRQ0
10
Принудительная установка прерываний передача SPORT1 или IRQ1
11
Принудительная установка прерываний BDMA
12
Принудительная установка прерываний IRQE
13
Принудительная установка прерываний прием SPORT0
14
Принудительная установка прерываний передача SPORT0
15
Принудительная установка прерываний IRQ2
Самостоятельный 8-разрядный регистр РХ служит для буферизации данных при обмене между 16-разрядными регистрами процессора и 24-разряд-ной шиной данных памяти программ.
Кроме указаний регистров, некоторые процессоры семейства ADSP-21хх содержат регистры управления внутреннего таймера и интерфейсные регистры для организации ввода/вывода данных.
