Чтение онлайн

на главную - закладки

Жанры

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++

Вальпа Олег Дмитриевич

Шрифт:

Из структурной схемы устройства видно, что данные между шинами передаются двумя путями. Первый путь позволяет осуществлять прямую пересылку старших 16 разрядов данных между шинами через буферные регистры. Второй путь служит для пересылки младших 8 разрядов данных между шинами.

Рассмотрим механизм обмена данными с использованием регистра PX.

Когда данные считываются из памяти программ в любой регистр, происходит автоматическая загрузка регистра PX младшими 8 разрядами 24-разрядного слова. Например:

AX0 = PM(I7,M7);

При выполнении этой

команды старшие 16 разрядов 24-разрядного слова памяти программы загружаются в регистр AX0, а младшие 8 разрядов автоматически загружаются в регистр PX.

При записи данных в память программ содержимое регистра PX автоматически считывается в младшие 8 разрядов памяти программ. Например:

PM(I7,M7) = AX0;

Здесь данные регистра AX0 записываются в старшие 16 разрядов 24-разрядного слова памяти программы, а 8 разрядов, хранящиеся в регистре PX от предыдущей команды, автоматически записываются в младшие 8 разрядов этого же слова. Таким образом, достигается автоматическая пересылка данных между 16- и 24-разрядными шинами.

Кроме того, существуют команды прямого доступа к регистру PX с шины памяти данных. При этом используются только младшие 8 разрядов шины данных, а старшие 8 разрядов данных отбрасываются или заполняются нулями. Например:

PX = AX0;

Эта команда передает в регистр PX 8 младших разрядов из регистра AX0 через шину данных. Восемь старших разрядов 16-разрядного слова при этом отбрасываются.

Следующая команда передает содержимое регистра PX в 8 младших разрядов регистра AX0. При этом старшие 8 разрядов регистра AX0 заполняются нулями.

AX0 = PX;

Каждый раз, когда содержимое какого-либо регистра записывается в память программ, из этого регистра передаются 16 старших разрядов, а содержимое регистра PX автоматически добавляется в качестве младших 8 разрядов данных. Если эти 8 младших разрядов регистра PX должны иметь определенное значение, они должны быть предварительно загружены в регистр PX соответствующей командой.

Ниже приведен модуль программы, предназначенной для пересылки 24-разрядных данных из одной области памяти программ в другую при помощи 16-разрядного регистра.

.MODULE copy_pdm;

{

 Входные данные:

I4= адрес источника данных

L4 = длина буфера данных

I5= адрес приемника данных

 Выходные данные:

 Перемещенные данные

 Изменяемые регистры:

AR, M4

}

.ENTRY COPY_PMDAT;

COPY_PMDAT:

 M4=1;

 CNTR = L4;

 DO COPY_MEM UNTIL СЕ;

AR=PM(I4, M4);

PM(I5, M4)=AR;

 COPY_MEM:

 RTS;

.ENDMOD;

Обратите

внимание, что в этой программе регистр PX не используется явным образом в командах, тем не менее, пересылка 24-разрядных данных через 16-разрядный регистр AR осуществляется корректно, благодаря автоматическому режиму работы устройства обмена данными с применением регистра PX.

Глава 18. Программный автомат

В этой главе говорится о программном автомате сигнального процессора и выполняемых с его помощью командах.

Программный автомат управляет последовательностью выполнения программы. Он содержит контроллер прерываний и логическое устройство состояний. Программный автомат позволяет осуществлять последовательное выполнение команд, условные и безусловные переходы в программе, обработку прерываний и подпрограмм. Структурная схема этого устройства приведена на рис. 18.1.

Рис. 18.1. Программный автомат сигнального процессора

Основным блоком программного автомата является программный счетчик (PC-program counter). Он представляет собой 14- разрядный регистр, в котором постоянно содержится адрес текущей выполняемой команды. Это значение инкрементируется (увеличивается на 1) каждый раз при выполнении очередной последовательной команды.

Стек программного счетчика служит для временного хранения адреса очередной команды при переходе на обработку подпрограммы, цикловой операции или прерывания. Он позволяет хранить до шестнадцати 14-разрядных слов. Таким образом, уровень вложенности подпрограмм не должен превышать 16.

Контроллер прерываний формирует адрес подпрограммы обработчика прерывания. Он использует данные регистров статуса и влияет на выбор источника следующего адреса.

Блоки счетчика циклов, стека счетчика, компаратора циклов и стека циклов позволяют организовать цикловые операции в программе, не привлекая для этого другие регистры процессора.

Логика выбора формирует сигнал для выбора источника следующего адреса команды.

Команды управления программой

Ниже приводится полный список команд, выполняемых программным автоматом в соответствии с принятыми ранее условными сокращениями. Назначение команд приводится в тексте описания этих команд и комментариях для некоторых из команд.

Выполнять цикл до определенного условия:

DO <addr> [UNTIL term];

Условный (безусловный) переход:

[IF cond] JUMP |(I4) |;

|(I5) |

|(I6) |

|(I7) |

|<addr>|

Вызов подпрограммы:

[IF cond] CALL |(I4) |;

|(I5) |

|(I6) |

Поделиться:
Популярные книги

Дракон - не подарок

Суббота Светлана
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Дракон - не подарок

Бастард Императора. Том 8

Орлов Андрей Юрьевич
8. Бастард Императора
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бастард Императора. Том 8

Чужая дочь

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Чужая дочь

Эра Мангуста. Том 2

Третьяков Андрей
2. Рос: Мангуст
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эра Мангуста. Том 2

Идеальный мир для Лекаря 14

Сапфир Олег
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 14

Один на миллион. Трилогия

Земляной Андрей Борисович
Один на миллион
Фантастика:
боевая фантастика
8.95
рейтинг книги
Один на миллион. Трилогия

Помещицы из будущего

Порохня Анна
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Помещицы из будущего

Шлейф сандала

Лерн Анна
Фантастика:
фэнтези
6.00
рейтинг книги
Шлейф сандала

Черный маг императора 2

Герда Александр
2. Черный маг императора
Фантастика:
юмористическая фантастика
попаданцы
аниме
6.00
рейтинг книги
Черный маг императора 2

Император

Рави Ивар
7. Прометей
Фантастика:
фэнтези
7.11
рейтинг книги
Император

Бандит 2

Щепетнов Евгений Владимирович
2. Петр Синельников
Фантастика:
боевая фантастика
5.73
рейтинг книги
Бандит 2

На границе империй. Том 9. Часть 2

INDIGO
15. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 2

Князь Серединного мира

Земляной Андрей Борисович
4. Страж
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Князь Серединного мира

Чайлдфри

Тоцка Тала
Любовные романы:
современные любовные романы
6.51
рейтинг книги
Чайлдфри