Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

ИЗУЧЕНИЕ МЕТОДОВ АДРЕСАЦИИ ПРОЦЕССОРА TMS320С5x





Цель работы: изучение основных методов адресации данных, используемых в процессоре TMS320C50

 

Краткая теоретическая справка

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

Прямая адресация

Вся область памяти данных процессора объёмом 64К разделена на 512 страниц размером 128 16-ти разрядных слов каждая. Например, адресное пространство нулевой страницы составляет в десятичном коде 0 – 127d, а в шестнадцатеричном 0 – 7F, первой страницы 128d – 255d (80h – FFh), второй страницы 256d – 383d (100h – 17Fh) и так далее.

В режиме прямой адресации, команда содержит только младшие 7 бит адреса ячейки памяти. Это поле при обработке адреса дополняется 9 битами регистра указателя страницы (DP) до полного 16-ти разрядного адреса. Таким образом, регистр DP указывает на одну из 512 возможных страниц памяти размером 128 слов, а 7-ми битовый адрес в слове команды указывает на определённую ячейку памяти на данной странице памяти. Регистр DP может быть загружен при помощи команды LDP (load data memory page pointer).

Пример прямой адресации:

LDP #2; загрузить в DP число 2, вторая страница - текущая;

ADD 9h,5; прибавить к содержимому аккумулятора содержимое ячейки памяти с адресом 9h, сдвинутое на 5 разрядов влево, абсолютный адрес ячейки памяти 109h.

5.1.2 Косвенная адресация

Восемь вспомогательных регистров (AR0 - AR7) обеспечивают гибкую и удобную косвенную адресацию в процессорах семейства `C5x. В случае косвенной адресации адрес операнда находится в текущем вспомогательном регистре. Для выбора текущего вспомогательного регистра необходимо загрузить в регистр указателя вспомогательного регистра (ARP) значение в диапазоне от 0 до 7.

Над содержимым вспомогательных регистров можно производить ряд арифметических операций с помощью арифметического устройства вспомогательных регистров - ARAU(Auxiliary Register Arithmetic Unit), которое выполняет арифметические операции над содержимом вспомогательных регистров в фазе декодирования команды. Это позволяет сформировать адрес перед фазой декодирования следующей команды. Использование ARAU позволяет модифицировать содержимое ARn после использования его содержимого в текущей команде, например, регистр может быть инкрементирован или декрементирован.



С помощью косвенной адресации может быть адресована любая ячейка памяти в пределах 64К при помощи полного 16-ти разрядного значения содержащегося во вспомогательном регистре. Адрес может быть загружен в регистр, используя команду LAR.

Существуют два основных вида модификации адреса при косвенной адресации:

- косвенная адресация с инкрементом и декрементом на 1;

- косвенная адресация с индексацией (изменением) на величину, содержащуюся в регистре INDX.

После выполнения любой команды с косвенной адресацией в ARP может быть загружено новое значение. Если в ARP загружается новая величина, то старая величина загружается в буфер вспомогательного регистра состояния ST1.

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

Косвенная адресация может быть использована во всех командах, кроме команд с непосредственными операндами или без операндов.

Примеры, иллюстрирующие использование косвенной адресации:

1)ADD *+, 8 ;сложение содержимого аккумулятора с содержимым ячейки памяти, адрес которой определяется содержимым текущего вспомогательного регистра. Перед сложением данные из ячейки памяти сдвигаются влево на восемь разрядов. После выполнения команды содержимое текущего вспомогательного регистра увеличивается на 1;

2)ADD *0+, 8 ;тоже, что и в примере 1, но к содержимому текущего вспомогательного регистра после выполнения команды прибавляется содержимое регистра INDX;

3)ADD *+, 8, AR3 ; тоже, что и примере 1, но в регистр ARP после выполнения команды загружается новое значение - 3 (т. е. текущим вспомогательным регистром будет AR3).





Рекомендуемые страницы:




Читайте также:


Воспользуйтесь поиском по сайту:



©2015- 2021 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.