Солонина А., Улахович Д. Алгоритмы и процессоры цифровой обработки сигналов (2002) (1095891), страница 42
Текст из файла (страница 42)
Очередной пнкремент при линейной арифметике привел бы к цспс,шясмому алрссу 225, который выходит за верхнюю границу буфера, олнако молульная арифметика заставляет содержимое КО оставаться внутри буфера, т. е. в действительности исполняемый адрес становится равным (210 — 128 + 15) пгог) 90 + 128 = 135 227 Лава б. Адресация КОМЯНДЯ МСЛСЕ А1, Х !Яо>ьио Инкремент яхтмяр Отомря ы = 90 ЯО 199 На 19 Память данных Границы Алгоритмы и процессоры цифровой обработки сигнапоо Рис.
5.26. Пример циклической адресации лри выполнении команд ноте Ат, хссво> +но 28. В команде пересылки из памяти данных во входной регистр Ахо дхс-ом по,мо> т процессора А!35Р218х фирмы Ава>оя ()ет!сез после выполнения коман- ды следуюший исполняемый адрес определяется как ((1О) — Вз + (МО)) >пос! >>т + ВО >!О, если ((Ю) — Вз+ (МО)) 20, илн как ((Ю) — Вз+ (МО)) п>ск1 дт+ Вз+ >>7> Ю, если ((10) Вз + (МО)) < 0 (сравните с примером !7), Пример организации циклического буфера привелен на рис.
5.27. Размер циклического буфера >>т'= 3 хранится в регистре !.О. Количество с(' младших разрялов, определенное из условия 29 ' < М < 2" (2' < 3 < 21) равно 2. База Вз (нижняя граница буфера). кратная 2з, выбрана равной 4. Верхняя граница равна 6 (Вз + М вЂ” !), а прелельная граница 7 (Вз + + (27 — 1)). Ячейка 7 своболна и может быть использована лля других целей. Исполняемый 16-разрялный начальный адрес равен 5 и хранится в регистре Ю, (1О) = 5.
Исполняемый относительный 2-разрядный начальный адрес равен 1= 01>з>. Постдекремент равен -1 и хранится в регистре МО, (МО) = — 1. После первого выполнения команды слелуюший исполняемый адрес вычисляется как ((10) — Вз + (МО)) п>ос> 3 + Вз = (5 — 4 — !) пкк1 3 + 4 = 0 + 4 = 4 Комяндадхо=вы!М,МО>; Ночольный адрес Докремонт размер Отсроро м Ю О МО -1 Ьо З Рис. 5.27. Пример циклической адресации лри выполнении команды АХО=ОМсто,ис>т Следуюший декремент при линейной арифлтетике привел бы к исполняемому алресу 3, который выхолит за нижнюю границу буфера (базу), однако молульная арифметика заставляет содержимое 10 перейти на верхнюю границу и исполняемый адрес становится равным (4 — 4 — 1) шсх1 3 + 4 + 3 = -! + 4 + 3 = 6.
Слелуюший исполняемый адрес определяется как (6 — 4 — 1) шод 3 + 4 = 1 + 4 = 5. Затем адреса циклически повторяются: 4, 6. 5, 4, 6, 5 и т. д. Как видно из этих примеров, в процессорах фирм Мосото!а и Апа!ов ()еи!сез указание операнлов в команде при циклической адресации такое же, как гга Трава б Адресация 228 Команда доп 'Айаьть А РазмеР буФЯРЯМ Начальный ядряс вк то Пизят$ дяииых Грянииы буФеРа Првдельиая 79 Верхняя 73 Циклическая адресация С лостлеьремеитом иа з С постдекремеитом на И С постинкре ментом на ! С лсстинкремвнтом на И Синтаксис косвенного указания адреса АП~~ О *Айп-Оть "Аттл+% *Ай п+ОИ всбадиые ячеики Начальный — з Нижняя(вя) 64 ядряс Алгоритмы и прлцесслрьз цифровой обработки сигналов прп пттстнтпкременте/постлекрсмснте алроса.
Признаком циклической адре- сации является соответствунзщее содержимое регистра типа арифметики. Синтаксис косвенного указания адреса при циклической алресации в про- цессорах фирмы Техах 1панппспа приведен в табл. 5.7. Таблица а7. Циклическая адресация в процессорах ТМВ320С54кх фирмы Т1 Прпвелем пример циклической адресации в процессорах фирмы Техаз !пагвптеппс Все адреса указаны в десятичной системе. 29. В коьтттпдс сложения процессора ТМ5320С54хх после выполнения команды слелующпй исполняемый адрес опрслсляется как ((АК2) — Вв + (АКО)) щтк! М+ Вз > АК2 (сравните с примером 18). Пример организации циклического буфера приведен на рис.
528. Размер циклического буфера М =!О; зто значение хранится в репютрс ВК. Количество )т млалшпх разрядов. определенное из условия 24 ' < М < 24 [23 < 10 < 24). равно 4. !лзю Вь (пт~жпня граница буфера), кратная 24, выбрана равной 64. Всрхн>т грюшца буфера равна 73 (Вз + 47 — !), а предельная грщшца — 79 (Вз + (24 — 1)). Ячейки с 74-ю по 79-ю свободны и могут быть ттспользоваз~ы для других цслсй.
Исполняемый 16-разрядный начальный адрес равен 64 н хранится в регистре АК2. Исполняемый относительнып 4-разрядный начальный алрес равен 0 = ООООЦ). После первого выполнения команды следующий исполняемый адрес вычисляет~я как ((АК2) — Вз + !) глот) ! О + Вз = (64 — 64 + 1) щи 10 + 64 = 65. Дальнейшие вычисления лавут последоватс зьно исполняемые алреса 66. 67, ..., 73. Следующий исполняемый адрес (73 — 64+ 1) шос! 10+ 64 = 64 обеспечит возврат па нижнюю границу циклического буфера Рис. 6.2В.
Пример циклической адресации лри выполнении команды дпп дкг+Ь, д 5.2.4. Бит-реверсивная адресация Адресацию операнда называют бит-рееерсиыной, если исполняемый атрее, вычисляется по правилам бит-реверсивной арифметики. Рассмотрим особенности бит-реверсивной арифметики.
азит-реверсивная арифметика Бит-реверсивная арифметика (арифметика с обратным переносом) используется только прн обработке положительных целых двоичных чисел. ре сел. В зультате выполнения операции бит-реверсии биты двоичного числя оказываются переставлснпыми в обратном порядке. Например, двои шос число О! 11 - 7пе) после операции бит-реверсии станет равным 1!!О - 140ор Бит-реверсивная арифметика применяется в алгоритмах БПФ по основанию 2, когда количество исходных отсчетов 6 равно 24, 6 = 2". В частности, прп реализации алгоритмов БПФ с прореживанием по времени последовательность исходных отсчетов лолжна быть расставлена в бит-реверсивном порядке, Пример такой расстановки для 8-точечного БПФ (4.
= 8) прпвслеп в табл. 5,8. ,'алела 5. Адресация гЗ1 Бит реверсивная адресация *Айс-ОВ (МОС---0100) *Айл+ОВ (Ь»00=0111) С постдекрвментом на И С псстинкремеитом на И Алгорилиы и процессоры цифровой об аботхи сигналоа Таблица 5.а Бит-реверсия исходных отсчетов в 8точечном Б!7Ф Порядок следования и исходи ык отсчетов х (и) Для сокрашения времени при вычислении БПФ в большинстве современных сигнальных процессоров предусмотрена аппаратная реализация операции бит-реверсии. Генерация бит-реверсивных послеловательностей в процессорах различных фирм может осуществляться по-разному. Например, в процессорах ТМ$320С64х фирмы Телах !пзтпппеп(з бит-реверсия выполняется по специальной команде вттв.
В процессорах АРБР-218х фирмы Апа)об Рехйсез предусмотрен режим бит-реверсии, задаваемый установкой специального бита в регистре режима. В этом режиме иа шину алреса выставляется исполняемый адрес, в котором порядок слелования битов изменен на обратный (выполнена операция бит-реверсии), при этом солержимое регистра адреса не меняется. В процессорах фирмы Могого)а, а также в процессорах ТМБ320С5ххх/ 62хх/67хх фирмы Техаз !пглшгпепа для выполнения операции бит-реверсии используют бит-реверсивную адресацию. Бит-реверсивная адресация Признаком бит-реверсивной арифметики является: (3 в процессорах РЬР5600х фирмы Ми!ого!а — запись кола бит-реверсивной арифметики в регистре типа арифметики (см.
табл. 5.1), (Мл) = $0000; ь3 в процессорах ТМБ320С54хх фирмы Тсхаз !имютепгз — установка 4-х битов модификации МОР в слове операции: состояние МОР = О!00 соответствует бит-реверсивной арифметике с постлекрементом адреса, а МОР = 0111 — с постинкрементом адреса. Исполняемый адрес при бит-реверсивной алресации в процессорах фирмы )у)огою!а указывается так же, как при постинкрегяенте/постдекременте.
Синтаксис указания исполняемого адреса при бит-реверсивной алресации в процессорах фирмы Техаз 1пзтпппепГз прИВЕден. в табл. 5.9. Таблица 5.9. Бит-реверсивная адресация в процессорах 7)ИЮг0С54хх фирмы Т! Синтаксис указания исполняемого адреса Рассмотрим процелуру расстановки последовательности исходных отсчетов в бит-реверсивном порядке при 6-точечном БПФ (2. = 2»). Эта процедура одинакова для процессоров РБР5600х фирмы Мотого!а и ТМ5320С54хх фирмы Техаз !пзгп»гпепгз. Действия пользователя должны быть следующими. (3 Установить признак бит-реверсивной арифметики. (3 Записать значение постинкременга И = 2И И в регистр смешения (табл. 5.1).
П Сформировать буфер лля послеловательности Е исходных отсчетов в прямом порядке: нижняя граница буфера (база Вз) выбирается кратной 2», верхняя граница равна Вз + (2» — 1). С3 Записать первый (начальный) исполняемый адрес (нижнюю границу Вз) в регистр алреса. В регистре адреса й младших битов хранят относительный исполняемый адрес в буфере.
Если адресация буфера начинается с нижней границы (относительныи исполняемый адрес равен О), то этот адрес указывает на первый отсчет послеловательности, как при прямом, так и при бятреверсивном порядке отсчетов. С( Использовать косвенную адресацию ячеек буфера с постмнкрементом на И. При косвенной адресации с постинкрементом иа И и йав-реверсивной арифлепиской в процессоре выполняются следуюшие лействия: ° бит-реверсия й младших битов в регистре адреса; ° инкремснт на 1 содержимою регистра адреса; ° повторная бит-реверсия х младших битов в регистре адреса. П Вычислить (Х вЂ” 1) следуюших исполняемых адресов (второй, третий...., (6 — 1)-й) с иостинкрементом иа И и бит-реверсивной арифметикой. Привелем пример реализации описанной процелуры в процессоре РБР5600х фирмы Могою(а для В-точечного БПФ (6 = 2" = 2з = 8).
233 Алгоритмы и процессоры циО<х>овей обработки сигпалое 232 10>вва 5. Адресация (ХО) = 0000000000000!00 = 4<ю>. 13 Нижняя граница буфера Вз выбрана равной 25х21 = 200. Верхняя граница — 200 + 21 — ! = 207. П Начальный исполняемый адрес хранится в КО и равен (КО) = 00000000! !00! 000 = 200по>. Жирным шрифтом выделены лшалшие три ревсрсируемых бита.