Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KOMAROV.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.32 Mб
Скачать

1.15. Контроллер прямого доступа к байтовой памяти (bdma)

Байтовый КПДП (см. п. 1.2) обеспечивает пересылку данных и программных кодов между внутренними ПД, ПП и БП, поскольку для доступа к БП не существует специальных команд, например, как для доступа к адресным пространствам ввода/вывода или внешних ПД, ПП. Ниже рассматриваются наиболее важные аспекты использования байтового КПДП.

1.15.1. Общие сведения

На рис. 1.12 приведена схема подключения БП к процессору ADSP-2181. Как показывает рис. 1.12 шина адреса БП состоит из шины адреса процессора (ADDR[13:0]) и старшего байта шины данных (DATA[23:16]), поэтому имеет размерность 22 бита (ADDR[21:00]). Это дает возможность адресоваться к 4МБ байтовой памяти. Большой объем БП по сравнению с внутренними ПП и ПД, а также быстрота доступа через специальный узел (BDMA) делает БП похожей на жесткий диск персонального компьютера.

Шина данных состоит из среднего байта шины данных процессора (DATA[15:08]) и имеет размерность 8 битов, что и послужило названием этого вида памяти. Селектирующий сигнал BMS# процессора служит сигналом выбора микросхемы для БП. Следует отметить, что стробы записи и чтения процессора (WR# и RD# соответственно) на рис. 1.12 условно не показаны.

Для расчета продолжительности Т передачи (в циклах процессора) N слов с помощью байтового КПДП используется следующая формула:

T = N * (BPW * (WPB + 1) + 1) + HO (1.3)

где: BPW – число байт в передаваемом слове; WPB – число состояний ожидания при передаче байта; НО – число циклов останова работы байтового КПДП (обслуживание запроса захвата шины (см. п. 1.1), выполнение автобуферизации (см. п. 1.12.5) и т.п.).

Для примера подсчитаем длительность пересылки 100 слов (N = 100) программного кода (BPW = 3) с пятью состояниями ожидания (WPB = 5) без циклов останова работы байтового КПДП (НО = 0). По формуле (1.3) получаем Т = 100 * (3 * (5 + 1) + 1) = 1900 циклов или 1900 * 33 = 62,7 мкс.

1.15.2. Регистры управления bdma

Регистры управления BDMA приведены в ПРИЛОЖЕНИИ 1 (см. пп. П1.9 – П1.12). В регистр счетчика слов BDMA (см. п. П1.9) записывается число пересылаемых слов BWCOUNT. Этот регистр по разному инициализируется в зависимости от значений входных сигналов процессора MMAP и BMODE. Если MMAP = 0 и BMODE = 0 (загрузка программы при сбросе производится из БП, см. п. 1.14.1), то BWCOUNT = 0х20 (этот случай представлен в п. П1.9), в противном случае (MMAP = 1 или BMODE = 1), то BWCOUNT = 0.

В регистр управления BDMA Control Register (см. п. П1.10) записывается код режима работы байтового КПДП, который определяет: тип пересылаемых кодов (поле BTYPE), направление пересылки (поле BDIR), значение бита контекста сброса (поле BCR) и номер страницы БП (поле BMPAGE). Содержимое последнего поля во время пересылки устанавливается на линиях DATA[23:16] (см. п. 1.15.1).

В регистр внешнего адреса BDMA External Address Register (см. п. П1.11) записывается начальный адрес БП BEAD, с которого начнется пересылка кодов. Содержимое этого регистра во время пересылки устанавливается на линиях ADDR[13:00] (см. п. 1.15.1).

В регистр внутреннего адреса BDMA Internal Address Register (см. п. П1.12) записывается начальный адрес внутренней ПП или ПД BIAD, с которого начнется пересылка кодов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]