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

Циклическая адресация





Циклическая адресация представляет метод адресации, при котором происходит циклическое обращение к ячейкам некоторой области памяти (к ячейкам буфера), т.е. при достижении конца буфера автоматически происходит переход к его началу и наоборот. В пределах буфера для указания адреса используется вспомогательный регистр (т.е. косвенный принцип адресации). При инкременте содержимого регистра (увеличении адреса) при достижении последней ячейки буфера в этот регистр автоматически заносится начальный адрес буфера.

На рисунке 5.1 приведен алгоритм циклической адресации. Из рисунка 5.1 видно, как будет распределяться последовательность отсчетов входного сигнала в буфере длиной 6 ячеек. В таком буфере, например, можно организовать линию задержки на 5T, где T – интервал дискретизации. Для этого надо последовательно считывать отсчеты x(0) и x(5), x(1) и x(6) и т.д.

 

Рисунок 5.1 - Алгоритм циклической адресации

 

В процессорах семейства `C5x имеется аппаратный механизм реализации циклических буферов, которые позволяют организовать два одновременно действующих циклических буфера, управляемых с помощью вспомогательных регистров. Существует 5 регистров, с помощью которых осуществляется управление циклическими буферами:

· CBSR1 - регистр начального адреса первого циклического буфера;

· CBSR2 - регистр начального адреса второго циклического буфера;

· CBER1 - регистр конечного адреса первого циклического буфера;

· CBER2 - регистр конечного адреса второго циклического буфера;

· CBCR - регистр управления циклическими буферами.

Регистр управления (CBCR) определяет, какие вспомогательные регистры работают с данным буфером, разрешает/запрещает использование циклических буферов. Назначение отдельных битов этого регистра приведено в таблице 5.1.

Чтобы задать циклический буфер необходимо вначале загрузить адреса начала и конца в соответствующие регистры циклического буфера, затем определить вспомогательный регистр, который будет работать указателем на ячейку памяти внутри циклического буфера. И в завершение установить бит разрешения работы соответствующего циклического буфера в регистре CBCR.



Т а б л и ц а 5.1

Бит Наименование Функция
0-2 CAR1 Указывает, какой вспомогательный регистр работает с циклическим буфером 1
CENB1 Циклический буфер 1, разрешено=1, запрещено=0. При сбросе устанавливается в 0
4-6 CAR2 Указывает, какой вспомогательный регистр работает с циклическим буфером 2
CENB2 Циклический буфер 2, разрешено=1, запрещено=0. При сбросе устанавливается в 0

 

Алгоритм изменения адреса для циклического буфера следующий:

Если (ARn = CBER) и (любая модификация AR),

то ARn = CBSR;

иначе ARn = ARn + шаг.

В добавление заметим следующее.

- если ARn = CBER и не производится модификация AR, текущий AR не модифицируется и остаётся равным CBER;

- когда текущий вспомогательный регистр = CBER, и производится любая модификация AR (инкремент или декремент), текущий AR будет установлен = CBSR;

- процесс изменения адреса входа в циклический буфер показан на рисунке 5.1.

Пример циклической адресации:

splk #200h, CBSR1; задание начального адреса циклического буфера1

splk #203h, CBER1; задание конечного адреса циклического буфера1

splk #0Eh, CBCR; указание на адресацию буфера с помощью регистра AR6 и ;разрешение использования циклического буфера 1

;Вариант 1

Lar ar6, #200h

lacc * ;Загрузить в аккумулятор содержимое ячейки, указываемое AR6 = ;200h (начало циклического буфера), содержимое AR6 не меняется

;Вариант 2

Lar ar6, #203h

lacc * + ;Загрузить в аккумулятор содержимое ячейки, указываемое AR6 ;= 203h (конец циклического буфера), увеличить AR6 на 1, но AR6 = CBER1, поэтому ;выполняется переход на начало буфера и будет AR6=200h

;Вариант 3

Lar ar6, #203h

lacc * - ; AR6 указывает на конец буфера, в результате попытки ;модификации в AR6 будет занесён не адрес 202h, а адрес начала буфера AR6 = 200h

 





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




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


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



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