Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
54
Добавлен:
03.06.2014
Размер:
2.63 Mб
Скачать

Инициализация канала dma

Для инициализации канала программа должна выполнить следующие шаги:

  • сбросить триггер байтов командой записи в регистр 0Ch;

  • задать режим работы канала, выполнив запись по адресу 0Bh в регистр режима MR;

  • записать младшие 16 бит 20-битового адреса области памяти, которая будет использована для передачи данных, в регистр базового адреса. Адрес порта зависит от номера канала: канал 0 использует адрес 00h, канал 1 - 02h, канал 2 - 04h, канал 3 - 06h;

  • записать номер страницы (старшие 4 бита 20-битового адреса) в регистр страниц 81h;

  • загрузить регистр циклов прямого доступа к памяти CWR значением, на 1 меньшим требуемого количества передаваемых байт. Адреса соответствующих портов для каналов 0-3, равны, соответственно, 01h, 03h, 05h и 07h;

  • разрешить работу канала, выполнив запись в регистр маски каналов по адресу 0Ah.

Сразу после разрешения канал начинает передачу данных. После окончания передачи устройство обычно вырабатывает прерывание, которое служит признаком окончания операции ввода или вывода данных.

Контроллер прямого доступа ibm at

Контроллер DMA компьютера IBM PC/AT совместим снизу вверх с контролером IBM PC/XT. Он состоит из двух каскадно включенных микросхем Intel 8237A-5. Второй контроллер обслуживает каналы DMA с номерами 4-7.

Приведем назначение каналов DMA для IBM AT:

Поле

Описание

0

Зарезервировано

1

Зарезервировано

2

Адаптер накопителя на гибком магнитном диске (НГМД)

3

Адаптер накопителя на магнитном диске (НМД)

4

Используется для каскадного соединения с первым контроллером DMA

5-7

Зарезервировано

В разных моделях компьютеров назначение каналов DMA могут различаться. Кроме того, современные компьютеры допускают изменение назначения каналов с помощью программыBIOS Setup.

Каналы 0-3 являются 8-разрядными, а каналы 4-7 - 16-разрядными.

В связи с этим используются все 8 бит регистров страниц. Формируется 24-битовый адрес из 16 младших бит адреса, которые записываются в базовые регистры и 8 старших бит адреса, которые записываются в регистры страниц.

Размер страницы составляет 128 Кбайт, поэтому при передаче данных с использованием DMA не должна пересекаться граница 128 Кбайт.

Регистры каналовDma

Приведем описание регистров каналов DMA дляIBM PC/AT.

Регистры страниц

Приведем назначение и адреса регистров страниц контроллера для IBM AT:

Порт

Описание

81h

Регистр страниц канала 2

82h

Регистр страниц канала 3

83h

Регистр страниц канала 1

87h

Регистр страниц канала 0

89h

Регистр страниц канала 6

8Bh

Регистр страниц канала 5

8Ah

Регистр страниц канала 7

8Fh

Регенерация динамической памяти

Для 16-разрядных каналов 4-7 передача данных начинается с границы слова и все адреса относятся к 16-разрядным словам.

Соседние файлы в папке несколько программ