←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
сброс контроллера. При программном сбросе очищаются регистры команд, состояния, запросов и рабочий регистр. Так же сбрасывается триггер-защелка и устанавливается все биты масок в регистре масок. После программного сброса контроллер переходит в цикл ожидания.
Вывод любого байта в порт 0Eh очищает регистр масок сбрасывает биты масок всех 4-х каналов ПДП и таким образом разрешает прием запросов на ПДП по всем каналам.
Через порт 0Fh можно задать произвольное значение регистра масок ПДП. Для этого необходимо в битах 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 байтов.
В таблице приведено описание портов ввода-вывода, предназначенных для управления вторым контроллером ПДП.
-------T--------T---------------------------------------------¬ ¦ Порт ¦ Режим ¦ Назначение ¦
+------+--------+---------------------------------------------+ ¦ 0C0h ¦ запись ¦ Запись начального адреса в регистр начально-¦ ¦ ¦ ¦ го адреса и регистр текущего адреса канала 4¦
¦ ¦ ¦ ¦
¦ 0C4h ¦ запись ¦ то же для канала 5 ¦
¦ ¦ ¦ ¦
¦ 0C8h ¦ запись ¦ то же для канала 6 ¦
¦ ¦ ¦ ¦
¦ 0CCh ¦ запись ¦ то же для канала 7 ¦
¦ ¦ ¦ ¦
¦ 0C0h ¦ чтение ¦ Чтение начального адреса из регистра началь-¦ ¦ ¦ ¦ ного адреса канала 4 ¦
¦ ¦ ¦ ¦
¦ 0C4h ¦ чтение ¦ то же для канала 5 ¦
¦ ¦ ¦ ¦
¦ 0C8h ¦ чтение ¦ то же для канала 6 ¦
¦ ¦ ¦ ¦
¦ 0CCh ¦ чтение ¦ то же для канала 7 ¦
¦ ¦ ¦ ¦
¦ 0C2h ¦ запись ¦ Запись в регистр начального счетчика циклов ¦ ¦ ¦ ¦и в регистр текущего счетчика циклов канала 4¦
¦ ¦ ¦ ¦
¦ 0C6h ¦ запись ¦ то же для канала 5 ¦
¦ ¦ ¦ ¦
¦ 0CAh ¦ запись ¦ то же для канала 6 ¦
¦ ¦ ¦ ¦
¦ 0CEh ¦ запись ¦ то же для канала 7 ¦
¦ ¦ ¦ ¦
¦ 0C2h ¦ чтение ¦ Чтение текущего значения из регистра теку- ¦ ¦ ¦ ¦ щего счетчика циклов канала 4 ¦
¦ ¦ ¦ ¦
¦ 0C6h ¦ чтение ¦ то же для канала 5 ¦
¦ ¦ ¦ ¦
¦ 0Cah ¦ чтение ¦ то же для канала 6 ¦
¦ ¦ ¦ ¦
¦ 0CCh ¦ чтение ¦ то же для канала 7 ¦
¦ ¦ ¦ ¦
¦ 89h ¦ запись ¦ Задание номера страницы для канала 6 ¦
¦ ¦ ¦ ¦
¦ 8Bh ¦ запись ¦ то же для канала 5 ¦
¦ ¦ ¦ ¦
¦ 8Ah ¦ запись ¦ то же для канала 7 ¦
¦ ¦ ¦ ¦
¦ 8Fh ¦ запись ¦ то же для канала 4 ¦
L------+--------+----------------------------------------------
В следующей таблице приведено описание назначения портов второго контроллера ПДП с указанием аналогичных портов первого контроллера. Форматы данных, вводимых/выводимых через эти порты совпадают с форматами данных аналогичных портов первого контроллера. При работе с этими портами следует только учитывать, что нумерация каналов начинается не с 0, как у первого контроллера, а с 4 (канал 4 - это канал 0 второго
контроллера, канал 5 - это его канал 1 и т. д.).
-------T--------T-----------------------------------T---------¬ ¦ Порт ¦ ¦ ¦ Аналог. ¦
¦ ¦ Режим ¦ Назначение ¦ порт ¦
¦ ПДП-2¦ ¦ ¦ ПДП-1 ¦
+------+--------+-----------------------------------+---------+ ¦ 0D0h ¦ запись ¦ Запись регистра команд ПДП ¦ 8h ¦
¦ ¦ ¦ ¦ ¦
¦ 0D0h ¦ чтение ¦ Чтение регистра состояния ПДП ¦ 8h ¦
¦ ¦ ¦ ¦ ¦
¦ 0D2h ¦ запись ¦ Запись в регистр запросов ПДП ¦ 9h ¦
¦ ¦ ¦ ¦ ¦
¦ 0D4h ¦ запись ¦ Запись бита маски для одного из ка¦ 0Ah ¦
¦ ¦ ¦ каналов ПДП ¦ ¦
¦ ¦ ¦ ¦ ¦
¦ 0D6h ¦ запись ¦ Запись регистра режимов для
←предыдущая следующая→
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
|
|