Подсистема ПКП компьютера с шиной PCI. Процедура формирования запроса и обработки прерывания

Процедура формирования запроса и обработки прерывания

Назначение сигналов ПКП i 8259A

А0 (Address 0). Служит для указания порта i8259A, к которому производится обращение. В IBM PC AT для каждого контроллера резервируется два адреса: для ведущего - 20h и 21h, для ведомого - A0h и A1h. В этом случае вход А0 должен быть подсоединен к разряду 0 шины адреса системного интерфейса.

D0-D7 (bidirectional Data bus) – двунаправленная шина данных. Служит для взаимодействия с ЦПУ.

CS# (Chip Select). Идентифицирует обращение к контроллеру.

RD# (ReaD). Совместно с CS и A0 управляет выдачей на D0-D7 содержимого регистров IMR, ISR и IRR или уровня приоритета.

WR# (WRite). Управляет записью слов инициализации и команд в регистры управления.

INTA# (INTerrupt Acknowlege). Вход подтверждения прерывания от ЦПУ.

IR0-IR7 (Interrupt Request). Входы для запросов прерывания от устройств ввода-вывода или ведомых контроллеров

CASx (Cascade) – Линии каскадирования. Служат для идентификации ведомого контроллера. Для ведущего контроллера являются выходными сигналами, для ведомого – входными

SP#/EN# (Slave Program/ENable buffer). Мультифункциональный: в режиме буфера используется как выходной сигнал для управления приемопередатчиками; в не буферном режиме – как входной сигнал для указания назначения контроллера (SP=0 ведомый, SP=1 ведущий)

1. Системная периферия активизирует одну или несколько линий IRQx.

2. В IRR устанавливаются в 1 соответствующие разряды.

3. Незамаскированные запросы передаются в арбитр PR, замаскированные – блокируются.

4. Арбитр выделяет наиболее приоритетный запрос и сравнивает его уровень с текущим:

– если приоритет запроса ниже, то обработка запроса откладывается;

– в противном случае контроллер формирует сигнал запроса прерывания INT.

5. ЦП воспринимает запрос прерывания (при IF=1) по завершении текущей команды.

6. ЦП выполняет циклы подтверждения прерывания (с формированием сигнала INTA#):

– цикл 1:

– в IRR запрещается действие триггеров-защелок;

– в ISR устанавливается соответствующий разряд одновременно со сбросом разряда в IRR;

– с помощью регистра ICW2 вычисляется номер прерывания;

– цикл 2:

– сформированный номер вектора прерывания передается в ЦП по шине данных D0-D7.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: