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

ввода-вывода. Порт с четным адресом (обычно это порт 20h) и порт
с нечетным адресом (обычно 21h). Через эти порты могут быть
переданы 4 слова инициализации (Initialization Control Word,
ICW1 - ICW4), задающие режим работы ПКП, и 3 операционных
управляющих слова (слова рабочих приказов, Operation Control
Words, OCW1 - OCW3). В порт с четным адресом выводятся ICW1,
OCW2 и OCW3. OCW2 отличается от OCW3 тем, что бит 3 в ocw2 равен
0, а в OCW3 равен 1. В то же время бит 4 в OCW2 и OCW3 равен 0,
а в ICW1 равен 1. Таким образом по значению, выводимому в порт с
четным адресом, однозначно определяется, в какой регистр (ICW1,
OCW2 или OCW3) заносятся данные.

Порт с нечетным адресом используется для вывода ICW2, ICW3,
ICW4 и OCW1. Неоднозначности интерпретации данных в этом случае
так же не возникает, т. к. слова инициализации ICW2 - ICW4
должны непосредственно следовать за ICW1, выведенным в порт с
четным адресом и выводить в промежутке между ними OCW1 не
следует, онo не будет опознанo контроллером.

Выводом в порт с четным адресом управляющего слова
инициализации ICW1 начинается инициализация ПКП. В процессе
инициализации контроллер последовательно принимает управляющие
слова ICW1 - ICW4. При наличии в системе одного контроллера ICW3
не выводится. Наличие ICW4 определяется содержанием ICW1. При
наличии каскада из нескольких ПКП каждый из них инициализируется
отдельно.

Формат ICW1 следующий:

A0 7 6 5 4 3 2 1 0
+————+————+————+————+————+————+————+————+————+
| 0 | -- | -- | -- | 1 |LTIM| ADI|SNGL| IC4|
+————+————+————+————+————+—+——+—+——+—+——+—+——+
| | | |
| | | +—> 1=будет вывод ICW4
| | | 0=не будет
| | +——————> 1=один контроллер
| | 0=каскад
| +———————————> игнорируется
+————————————————> 0=запуск запросов
фронтом
1=запуск запросов
уровнем

Бит 4, равный 1, определяет, что выводится ICW1, а не OCW2
или OCW3.
Бит 3 (LTIM), равный 0, задает запуск запросов фронтом, при
этом действует описанная выше схема: бит в IRR сбрасывается при
установке соответствующего бита в ISR.