Реферат: Сигнальні мікропроцесори
- регістр HMASK, призначений для маскування переривань, сгенерованих ХИП.
Керуючий блок забезпечує керування записом регістрів хост-машини і зчитуванням з них. Два регістри стану представляють статусну інформацію, як хост-машині так і цифровому сигнальному процесору.
Регістри даних можна представити як блок двухпортовой пам'яті. Ні для одного з цих регістрів не заданий напрямок роботи: як хост-машина так і цифровий сигнальний процесор можуть зчитувати і записувати інформацію в ці регістри. Коли хост-машина зчитує дані з регістрів даних, генерується маскуєме переривання зчитування ХИП. Коли здійснюється операція запису від хост-машины, генерується маскуємий сигнал переривання запису.
Стану зчитування/запису зберігаються в регістрах стану. Формат регістрів стану наступний:
HSR6 – з 0 по 5 розряди – відображення стану запису з хост-машины у відповідний буфер даних ХИП Приклад – 0 розряд = 1 – проведена операція запису в буфер HDR0 c хост-машини; 1 розряд = 1 – проведена операція запису в буфер HDR1 з хост-машини і т.д. З 8 по 15 розряди – відображення стану запису з цифрового сигнального процесора у відповідний буфер даних ХИП.
Тому що ХИП, як правило, сполукається з більш повільною хост-машиною, сигнальний процесор виконує свої команди незалежно від роботи хип-порта.
Тому що хост-машина, для якої потрібно квитирування встановлення зв'язку, повинна очікувати підтвердження від сигнального процесора, то вона може зависнути. Якщо перезапуск сигнального процесора відбувається, коли хост-машина инициалізувала передачу, але ще не одержала підтвердження, то таке підтвердження не може бути потім сгенеровано, і, таким чином, хост-машина може знаходитися в стані чекання невизначений час.
У ХИП не передбачено ніякого апаратного забезпечення для запобігання ситуації, коли хост-машина здійснює запис у регістр, стан якого в цей момент зчитується цифровим сигнальним процесором ( і навпаки). Коли хост-машина і сигнальний процесор намагаються одночасно записати дані в той самий регістр, перевагою в такій операції користається хост-машина.
Опитування є одним з методів передачі даних між хост-машиной і сигнальним процесором. Щораз, коли хост-машина записує дані в регістр HDR, встановлюється один біт у молодшому байті регістра HSR6. Цей біт залишається встановленим доти, поки цифровий сигнальний процесор не зчитує вміст даного регістра HDR. Подібним чином, коли сигнальний процесор записує дані в регістр HDR, у старшому байті регістра HSR6 (і в молодшому байті регістра HSR7) установлюється відповідний біт. Цей біт автоматично скидається при зчитуванні вмісту регістра HDR хост-машиной.
Наприклад: сигнальний процесор може очікувати в циклі під час зчитування біта HSR, щоб упевнитися, що хост-машина записала нові дані. Коли сигнальний процесор виявляє, що відповідний біт установлений, він виходить з циклу по команді умовного переходу, обробляє нові дані, а потім повертається в цикл. При передачі даних на хост-машину сигнальний процесор очікує, поки та не вважає останні записані дані, щоб можна було передавати нові дані. Хост-машина опитує біти регістра HSR, щоб упевнитися, що нові дані є доступними.
Використання протоколу з керуванням по перериваннях звільняє хост-машину і сигнальний процесор від опитування стану регістрів стану. Для керованих перериваннями передач на сигнальний процесор хост-машина записує дані в регістри даних, а ХИП автоматично генерує при цьому внутрішнє переривання. Обслуговування цього переривання аналогічно всім іншим.
Для передачі на хост-машину сигнальний процесор записує дані в регістри даних, потім установлює висновок прапора, зв'язаний із входом переривань хост-машины, повідомляючи в такий спосіб останню про те, що дані готові для передачі . Якщо сигнальний процесор передає дані на хост-машину тільки через один регістр даних, то вміст цього регістра може бути безпосередньо злічено хост-машиной при одержанні нею сигналу переривання. Якщо для пересилання даних використовуються кілька регістрів даних, хост-машина повинна прочитати регістр стану, щоб визначити через які регістри передається інформація.
Крім передачі інформації для хост-машины існує ще режим завантаження через ХИП. При цьому можна завантажити внутрішнє ОЗУ програмою функціонування сигнального процесора.
Початкове завантаження здійснюється двома способами:
- із зовнішньої пам'яті (звичайно ППЗУ ) з використанням інтерфейсу пам'яті;
- з хост-машины з використанням ХИП.
При використанні якого-небудь конкретного способу необхідно формувати відповідні файли завантаження, користаючись відповідними утилітами програмного забезпечення.
3.3 Функціонування циклічних буферів
Для більш повного визначення поняття обертового (циклічного) буфера (регістра) необхідно розглянути функціонування циклічних буферів у сигнальних процесорах фірми ADSP.
Є три реєстрових файли:
1.Файл регістрів модифікації (М);
2.Файл індексних регістрів (I);
3.Файл регістрів довжини (L).
Зчитування і запис даних здійснюється через окрему шину,називаний шиною дані пам'яті даних. Індексні регістри містять дійсні адреси, використовувані для доступу до пам'яті ( як до пам'яті даних так і до пам'яті програм). Крім прямої адресації використовується також битреверсна адресація, при якій біти адреси на виході генератора адреси можуть бути переставлені в зворотному порядку за рахунок установки відповідного біта режиму в регістрі станів чи режиму з використанням спеціальної команди асемблера сигнального процесора. Цей особливий вид адресації полегшує виконання операцій швидкого перетворення Фур'є. Генератори адреси даних використовують так названу пост-модифікацію, а саме після доступу до даних при використанні непрямої адресації вміст заданого регістра М додається до вмісту заданого регістра I. У межах пар I0-I3, M0-M3 ( генератор адреси - даних 1) і пара I4-I7, M4-M7 (генератор адреси – даних 2) можливі будь-які комбінації індексних регістрів і регістрів модифікації. Адресація генератора адреси – даних 1 поширюється на пам'ять даних, а адресація генератора адреси - даних 2 – на пам'ять програм. Це також є особливістю архітектури сигнальних процесорів, тому що в пам'яті даних зберігаються перемінні значення одержуваних сигналів у дискретному еквіваленті, а в пам'яті програм – коефіцієнти для обчислення формули Фур'є.
Значення, що містяться в регістрах модифікації М є цілими числами зі знаком, так що наступна адреса може бути більше чи менше попереднього.
Генератори адреси – даних підтримують адресацію як з лінійним так і з циклічним буфером. Цей режим забезпечується регістром L, що відповідає номеру регістра I. Для нециклічного буфера вміст L = 0, а для циклічного буфера дорівнює довжині буфера. Розглянемо використання такої адресації на прикладах.
Ініціалізація регістрів довжини L для здійснення нециклічної адресації (лінійної непрямої адресації):
I3 = 0 x 3800;
M2 = 0;
L3 = 0;