Бит-реверсивная адресация
Адресацию операнда
называют бит-реверсивной (bit-reversed),
если исполнительный адрес вычисляется
по правилам бит-реверсивной арифметики.
Эта арифметика используется только при
обработке целых положительных чисел.
В результате выполнения операции
бит-реверсии биты двоичного числа
оказываются переставленными в обратном
порядке. Например, 0111(2)=7(10)после операции бит-реверсии станет
равным 1110(2)=14(10).
Бит-реверсивная
арифметика применяется в алгоритмах
быстрого преобразования Фурье (БПФ) по
основанию 2, когда количество исходных
отсчётов L=2k.
В частности, при реализации алгоритмов
БПФ с прореживанием по времени,
последовательность исходных отсчётов
должна быть расставлена в бит-реверсивном
порядке. Пример, для 8-точечного БПФ
(L=8) приведен в табл. $.1.
Таблица $.1.
Бит-реверсия исходных отсчётов в 8-точечном бпф.
Номер отсчёта |
Очередь в выборке |
Десятичная |
Двоичная |
0
(000) |
0 |
000 |
1
(001) |
4 |
100 |
2
(010) |
2 |
010 |
3
(011) |
6 |
110 |
4
(100) |
1 |
001 |
5
(101) |
5 |
101 |
6
(110) |
3 |
011 |
7
(111) |
7 |
111 |
Таким образом, при
бит-реверсивной адресации с инкрементом,
в процессоре выполняются следующие
действия:
Бит-реверсия kмладших битов в регистре адреса.
Инкремент содержимого
регистра адреса.
Повторная
бит-реверсия kмладших
битов в регистре адреса.
7