Изучение методов адресации процессора 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).
Читайте также: III. ИЗУЧЕНИЕ КЛАССНОГО КОЛЛЕКТИВА Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|