Микропроцессорные системы - Александров Е.К.
ISBN 5-7325-0516-4
Скачать (прямая ссылка):
Каждое АЛУ адресов может модифицировать один регистр адреса в течение
одного командного цикла, Содержимое регистра модификации определяет тип
арифметики для модификации адреса. Величина модификатора декодируется в
АЛУ адресов.
Адресация. DSP56000/DSP56001 обеспечивают три различных типа адресации:
прямая регистровая, косвенная регистровая и специальная (табл. 6.4). При
прямой регистровой адресации и специальных режимах использование AGU не
является обязательным (эти режимы описаны в Приложении).
Косвенная регистровая адресация. Если регистр адреса используется для
указания ячейки памяти, адресация называется косвенной регистровой, т.е.
содержимое регистра указывает не на сам операнд, а на адрес операнда.
Поле "перемещение по шине данных" в инструкции указывает пространство
памяти, на которое идет ссылка. Содержимое регистров AGU определяет
эффективный адрес и его модификацию.
Без модификации. Адрес операнда содержится в регистре адреса Rn.
Содержимое регистра не изменяется при выполнении инструкции.
Постинкремент. Адрес операнда содержится в регистре адреса Rn. После
использования содержимое регистра инкрементируется. Этот режим адресации
используется для работы с памятью X, Y и для модификации содержимого
регистра адреса без пересылки соответствующих данных.
679
ПРОЦЕССОРЫ ЦИФРОВОЙ ОБРАБОТКИ СИГНАЛОВ
Таблица 6.4
Косвенная регистровая адресация
Режим Использование модификатора Ссылка на
операнд Синтаксис
эдрвсэции S с D А Р X Y L XY
Вез модификации Нет X X X X X
(Rn)
Постинкремент с 1 Да X X X X
X (Rn)+
Постдекремент с 1 Да X X X X
X (Rn)-
Постинкремент со смещением Nn Да X X
X X X (Rn)+(Nn)
Постдекремент со смещением Nn Да X X
X X (Rn)-(Nn)
Индексация со смещением Nn Да X X X
X (Rn+Nn)
Предекремент с 1 Да X X X X
-(Rn)
Примечание: S = ссылка на системный стек; С = ссылка на регистр
программного контроллера; D = ссылка на регистр АЛУ данных; А = ссылка на
регистр АЛУ адресов; Р = ссылка на память программ; X = ссылка на память
данных; XY = ссылка на память данных Y; L = ссылка на память L; ХУ=ссылка
на память XY.
Постдекремент. Адрес операнда содержится в регистре адреса Rn. После
использования содержимое регистра декрементируется. Этот режим адресации
используется для работы с памятью X, Y и для модификации содержимого
регистра адреса без пересылки соответствующих данных.
Постинкремент со смещением Nn. Адрес операнда содержится в регистре
адреса Rn. После использования содержимое регистра суммируется с
содержимым регистра смещения Nn и сохраняется в регистре адреса.
Содержимое регистра смещения не изменяется. Этот режим адресации
используется для работы с памятью X, Y и для модификации содержимого
регистра адреса без пересылки соответствующих данных.
Постдекремент со смещением Nn. Адрес операнда содержится в регистре
адреса Rn. После использования из содержимого регистра адреса вычитается
содержимое регистра смещения Nn и результат сохраняется в регистре
адреса. Содержимое регистра смещения не изменяется. Этот режим адресации
используется для работы с памятью X, Y и для модификации содержимого
регистра адреса без пересылки соответствующих данных.
Индексный со смещением Nn. Адрес операнда - сумма содержимого регистра
адреса Rn и содержимого регистра смещения Nn. Содержимое регистра адреса
и регистра смещения не изменяется. Этот режим адресации не может
использоваться для работы с памятью X, Y.
Предекремент. Адрес операнда - содержимое регистра адреса Rn,
декрементированное на единицу перед выборкой операнда. Содержимое
регистра адреса декрементируется и сохраняется. Этот режим адресации
используется для работы с памятью X, Y, но не может использоваться для
модификации содержимого регистра адреса без пересылки соответствующих
данных.
Типы модификации адреса. АЛУ адресов поддерживает линейную, модульную
арифметику и арифметику с реверсивным переносом для всех режимов
косвенной адресно-регистровой адресации. Эти типы арифметики упрощают
создание структур данных в памяти для очередей, линии задержки,
циклических буферов, стеков. Содержимое регистров модификации определяет
тип арифметики для вычисления адреса; для модульной арифметики содержимое
регистра модификации также определяет модуль. Каждому регистру адреса
соответствует свой регистр модификации.
680
ПРОЦЕССОРЫ СЕМЕЙСТВА DSP56000
Таблица 6.5
Линейная модификация адресов
Величина модификатора Мп Арифметика режима адресации
0 Реверсивный перенос (реверсия бита)
1 Модуль 2
2 Модуль 3
Модуль (Мп+1)
32766 Модуль 32767
32767 Модуль 37768
Резерв
65535 Линейная
Линейный модификатор (Мп = $FFFF). Используется нормальная 16-битная
линейная арифметика (табл. 6.5). При вычислении адреса используется 16-
битное смещение Nn, инкремент и декремент. Диапазон величин Nn для чисел
со знаком - от -32,768 до +32,767, для беззнаковых чисел - от 0 до
+65,535.
Модульный модификатор (Мп = Модуль - 1). Модификация адреса использует