4.1. Контролер за директен достъп до паметта (DMA)
DSP:
'C6201, 'C6202, 'C6701
Контролерът за DMA прехвърля данни между области от картата на паметта без намесата на процесора
CPU. Директният достъп до паметта позволява движението на данни от и към вътрешна памет, вътрешни периферни устройства и външни устройства да се извършва без ангажиране на CPU-то.
DMA има четири независимо програмируеми канала, което позволява извършване на четири различни
операции. Допълнителен пети канал позволява на DMA-то да обслужва заявки от host-port
интерфейса (HPI) или магистралата за разширение (XB).
При разглеждането на DMA ще използваме следните термини:
-
Четене (Read transfer): DMA-то чете елемент данни от място в паметта.
-
Запис (Write transfer): DMA-то записва елемент данни, който е бил прочетен, на определено място в паметта.
-
Трансфер на елемент (Element transfer): Комбинация от четене и запис на един елемент данни.
-
Трансфер на фрейм (Frame transfer): Всеки DMA канал има независимо програмируем брой елементи за фрейм. При изпълнение на трансфер на фрейм DMA-то премества всички елементи в един фрейм.
-
Трансфер на блок (Block transfer): Всеки DMA канал има и независимо програмируем брой фреймове за блок. За извършване на блоков трансфер DMA-то премества всички фреймове в един блок.
DMA има следните особености:
-
Работи във фонов режим: DMA работи независимо от CPU.
-
Висока скорост на обмен: Елементите могат да се прехвърлят със скоростта на тактовия генератор на CPU-то.
-
Четири канала: DMA може да следи състоянието на четири независими блокови трансфера.
-
Допълнителен канал: Този канал позволява host порта да прави обръщения към адресното пространство на CPU-то.
-
Работа по два обмена: Един канал може да се използва за едновременно реализиране на приемане и предаване на елемент към или от две периферни устройства и памет, така сякаш се извършват от две DMA.
-
Многофреймов трансфер: Всеки блок за трансфер може да се състои от множество фреймове с програмируем размер.
-
Програмируем приоритет: Всеки канал има независимо програмируем приоритет спрямо CPU-то.
-
Програмируемо генериране на адрес: Адресните регистри на всеки канал могат да имат изменяеми индекси за всяко четене и запис. Адресът може да остане постоянен, да се увеличи, намали или да се промени с едно програмируемо число. Програмируемото число
позволява обособяването на индекс за последния трансфер в един фрейм и за предходните трансфери. Тази особеност се използва за многоканално сортиране.
-
32-битово адресиране: DMA-то може да има достъп до коя да е област в картата на паметта:
-вътрешната памет за данни
-вътрешната програмна памет, когато е включена в картата на паметта
-вътрешната периферия
-интерфейса към външна памет.
-
Трансфер с програмируема дължина на думата: Всеки канал може да бъде независимо конфигуриран за трансфер на байтове, 16-битови полудуми или 32-битови думи.
-
Автоинициализация: След приключване на блоков трансфер DMA каналът може автоматично да се преинициализира за следващ блоков трансфер.
-
Синхронизация по събития: Всяко четене, запис или трансфер на фрейм може да се стартира от избрани събития.
-
Генериране на прекъсвания: При приключване на всеки трансфер на фрейм или блок, както и при различни грешки, всеки DMA канал може да изпрати прекъсване към
CPU.
Структура на DMA контролер
Фиг. 4-1 показва вътрешните пътища за движение на данни на DMA контролера, включващи
магистрали за данни и вътрешни задържащи регистри.
Фиг.4-1. Блокова схема на магистралата за данни на DMA
контролер
Магистрали за четене и
запис
Всеки DMA канал може независимо да избира един от четири източника и приемника:
1)EMIF
2) Вътрешна програмна памет
3) Вътрешна памет за данни
4) Вътрешна периферна магистрала.
Магистралите за четене и запис от всеки източник се свързват с DMA контролера. Допълнителният
канал също има магистрали за четене и запис. Той осигурява генериране на адреси за DMA. Запис на данни от допълнителния канал на DMA се извършва по допълнителната магистрала за запис. По подобен начин четене на данни от допълнителния канал на DMA се извършва по допълнителна магистрала за четене.
Предходна страница
Следваща страница