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

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


3.1.Описание основных элементов ПКП

Схема управления чтением/записью (Read/Write Control
Logic). Основной функцией этого блока является прием команд от
микропроцессора и передача ему информации о состоянии ПКП. Обмен
с микропроцессором осуществляется через специальный 8-разрядный
буфер данных (Data Bus Buffer), являющийся интерфейсом между ПКП
и шиной данных. В состав блока входят регистры управляющих слов
ICW и OCW. Схема управляется входами CS, RD, WR и A0. Вход CS
(Chip select) отвечает за выбор микросхемы. Низкий уровень
сигнала на входе CS разрешает выполнение обмена с ПКП. Низкий
уровень сигнала на входе WR (Write) разрешает микропроцессору
выводить управляющие слова ICW и OCW для приема их ПКП. Низкий
уровень сигнала на входе RD (Read) разрешает ПКП передать
микропроцессору информацию о состоянии специальных регистров
IRR, ISR и IMR, которые описаны ниже.

Все управляющие слова ICW и OCW принимаются контроллером в
виде 9-разрядных значений. Разряды 0 - 7 передаются через
8-разрядный буфер данных. Старший разряд (восьмой, считая с
нуля) носит название А0 и устанавливается в 0 или 1 в
зависимости от того, через какой из двух возможных портов
ввода-вывода (четный или нечетный) было передано управляющее
слово. Если для вывода значения использовался порт с четным
адресом, А0 будет равен 0, если использовался порт с нечетным
адресом на единицу большим, чем предыдущий, тогда А0 будет равен
1.

Регистр запросов на прерывания (Interrupt Request Register,
IRR) обслуживается через входы IR0 - IR7 контроллера. Сигнал на
одном входов IR0 - IR7 - это запрос на прерывание
соответствующего уровня (0 - 7). В соответствии с сигналом
запроса на прерывание схемой управления устанавливается
соответствующий бит в регистре IRR.

Регистр состояния (регистр обрабатываемых запросов,
In-Service Register, ISR) описывает в битах 0 - 7 прерывания
каких уровней (0 - 7) в данный момент обрабатываются.

Регистр маскирования запросов на прерывания (Interrupt Mask
Register, IMR) описывает, прерывания каких уровней в настоящий
момент замаскированы. Единичное значение бита в IMR указывает на
то, что прерывание соответствующего уровня при появлении запроса
в IRR блокируется.