"Архитектура ввода-вывода персональных ЭВМ IBM PC" - читать интересную книгу автора (Лукач Ю.С.)

масок ПДП. Для этого необходимо в битах 0 - 3 регистра AL
установить требуемое значение масок каналов 0 - 3 соответственно
и вывести это значение в порт.

Страничные регистры ПДП предназначены для задания параметра
страницы памяти, с которой будет производится обмен. Под номером
страницы понимаются старшие 4 бита полного 20-битового адреса
ОЗУ, т.е. начальные сегментные адреса страниц будут кратны 1000h
(0, 1000h, 2000h, ..., 9000h). Напомним, что архитектура ПДП
позволяет работать только со страницей памяти размером 64К, а
логика, обеспечивающая переключение страниц устроена так, что
страницы имеют жесткие границы, описанные выше. Из-за этой
особенности невозможно с помощью ПДП осуществить обмен с блоками
памяти, пересекающими границу между двумя такими страницами.


2.4.2. Организация и управление ПДП на AT-подобных ПЭВМ

IBM PC AT и AT-подобные ПЭВМ имеют два контроллера ПДП
8237А, работающиe в каскадном режиме.

Назначение каналов следующие:

0 - свободен;
1 - адаптер SDLC;
2 - контроллер накопителей на гибких дисках;
3 - контроллер накопителей на жестких дисках;
4 - каскад с первым контроллером ПДП;
5, 6, 7 - свободны.

Управление каналами 0 - 3 осуществляется аналогично PC/ХТ.
Каналы 4 - 7 предназначены для обмена 16-разрядными словами. В
связи с этим возникает ряд отличий в работе с этими каналами:

- бит 0 в данных, заносимых в регистры начального и
текущего адреса, всегда подразумевается равным 0, поэтому через
эти регистры передаются биты 1 - 16 полного 23-разрядного адреса
(а не биты 0 - 15 полного 20-разрядного адреса, как это
реализовано на ХТ-подобных ПЭВМ), по этой же причине в
страничные регистры каналов 4 - 7 заносятся биты 17 - 23 полного
адреса, а не биты 16 - 23, как это надо сделать при работе с
каналами 0 - 3;

- поскольку передача осуществляется 16-разрядными словами,
в регистры текущего и начального счетчика циклов заносится не
число байт, а число слов, уменьшенное на единицу;

- размеры страниц памяти, в пределах которых возможен обмен
в течение одной передачи составляют 2000h байтов.