- •Программируемый контроллер прерываний i8259a Общие сведения Основные функции, реализуемые микросхемой i8259а
- •Состояния программируемого контроллера прерываний
- •Режимы обслуживания запросов на прерывания
- •Структурная схема пкп I 8259a
- •Назначение сигналов пкп I 8259a
- •Назначение и форматы операционных слов пкп
- •Процедура формирования запроса и обработки прерывания
- •Подсистема пкп компьютера с шиной pci
- •Назначение и форматы управляющих слов пкп
- •Последовательность инициализации пкп
- •Управление командными словами
- •Доступ к регистрам контроллера пкп в ibm pc at
- •Способы завершения прерывания (eoi)
- •Режимы пкп Режим фиксированных приоритетов
- •Режим полной вложенности
- •Специальный режим полного вложения (sfnm)
- •Режим специального маскирования (smm)
- •Режим опроса источников прерываний (poll)
- •Примеры управления пкп Инициализация пкп – master
- •Инициализация пкп – slave
- •Управление масками запросов
- •Завершение сервисной процедуры
- •Усовершенствованный контроллер прерываний apic
- •Взаимодействие локальных и системных модулей apic
- •Назначение локального модуля apic
- •«Virtual Wire Mode» на основе I/o apic
- •Локальный модуль apic Источники прерываний локального модуля apic
- •Структурная схема локального модуля apic
- •Регистры локального apic
- •Особенности реализации apic Отличия apic от контроллера прерываний на базе двух i8259a
- •Трансляция сообщений msi системной шины
- •Запросы прерываний от шины pci / pci Express
- •Аппаратный интерфейс I/o apic
- •Последовательная схема запросов прерывания
- •Маршрутизация прерываний в I/o apic
- •Пример кс с использованием дискретных локальных модулей apic
- •Пример кс с использованием встроенных локальных модулей apic
Процедура формирования запроса и обработки прерывания
1. Системная периферия активизирует одну или несколько линий IRQx.
2. В IRR устанавливаются в 1 соответствующие разряды.
3. Незамаскированные запросы передаются в арбитр PR, замаскированные – блокируются.
4. Арбитр выделяет наиболее приоритетный запрос и сравнивает его уровень с текущим:
если приоритет запроса ниже, то обработка запроса откладывается;
в противном случае контроллер формирует сигнал запроса прерывания INT.
5. ЦП воспринимает запрос прерывания (при IF=1) по завершении текущей команды.
6. ЦП выполняет циклы подтверждения прерывания (с формированием сигнала INTA#):
цикл 1:
в IRR запрещается действие триггеров-защелок;
в ISR устанавливается соответствующий разряд одновременно со сбросом разряда в IRR;
с помощью регистра ICW2 вычисляется номер прерывания;
цикл 2:
сформированный номер вектора прерывания передается в ЦП по шине данных D0-D7.
Подсистема пкп компьютера с шиной pci
Назначение и форматы управляющих слов пкп
Управляющие слова инициализации задают:
конфигурацию ПКП;
порядок инициализации;
базовый номер вектора прерывания для входа IR0;
наличие или отсутствие каскадирования;
режимы обслуживания.
И
нициализация
ведущего и ведомого (ведомых) контроллеров
осуществляется индивидуально.
ICW1
1 – идентификатор IСW1
LTIM (Level-triggered Interrupt Mode) – тип сигнала запроса
1 – запуск уровнем;
0 – запуск фронтом
ADI (Address Interval) – диапазон адресов обработчиков прерываний. Игнорируется
IC4 – признак использования ICW4
0 – не используется;
1 – используется
SNGL (Single) – количество контроллеров прерываний
1 – единственный контроллер;
0 – каскадное включение
IСW2
Vx (Interrupt Vector) – старшие разряды номера вектора прерывания
IСW3
Ведущий ПКП:
S
x (Slave)
– признак подключения ведомого
контроллера к входу IRx
Ведомый ПКП:
I
D2-ID0
(Identifier) – адрес, назначенный данному
ведомому в системе
ICW4
SFNM (Special Fully Nested Mode) – специальный режим полной вложенности
1 – включен
0 – не используется
BUF (Buffered) – режим буферизации
M/S (Master/Slave) – ПКП ведущий или ведомый
0x – без буферизации
1x – в режиме буферизации:
10 – ведущий;
11 – ведомый
uPM – тип микропроцессора
1 – 8088/8086
0 – 8080/8085
AEOI – автоматическое завершение обслуживания прерывания
1 – включено
0 – стандартная процедура
Последовательность инициализации пкп
Назначение и форматы операционных слов пкп
В заданном режиме пользователь может:
маскировать и размаскировать аппаратные прерывания;
изменять приоритеты уровней;
выдавать команду завершения обработки аппаратного прерывания;
устанавливать/сбрасывать режим специальной маски;
переводить ПКП в режим опроса и считывания состояния регистров ISR и IRR.
OCW1
Назначение:
установка и сброс масок прерывания (IR0-IR7) в регистре IMR.
O
CW2
Назначение:
вывод команды завершения обработки аппаратного прерывания EOI;
циклический сдвиг приоритетов;
явное изменение приоритетов уровней.
SL (Specific Level) – разрешает использование разрядов L0-L2
L0-L2 (Level) – номер уровня прерывания
R (Rotation) – разрешение ротации приоритетов. Тип ротации определяется разрядами SL и EOI.
EOI (End of Interrupt) – признак команды окончания прерывания
EOI |
R |
SL |
Операции |
__ |
__ |
__ |
Обычное окончание прерывания |
__ |
__ |
__ |
Специальное окончание прерывания: L2-L0 содержит код сбрасываемого уровня в ISR. |
__ |
__ |
__ |
Обычное окончание прерывания. Циклический сдвиг приоритетов: обслуженному запросу присваивается низший приоритет. Сбрасывается соответствующий разряд в ISR. |
1 |
1 |
1 |
Специальное окончание прерывания: L2-L0 - код дна приоритетного кольца и номер сбрасываемого разряда ISR. |
__ |
__ |
__ |
Установка режима циклического сдвига приоритетов с автоматическим сбросом разрядов в ISR. |
0 |
0 |
0 |
Сброс режима циклического сдвига приоритетов с автоматическим сбросом разрядов в ISR. |
__ |
__ |
__ |
Циклический сдвиг приоритетов без автоматического окончания прерывания: L2-L0 - код дна приоритетного кольца. |
__ |
__ |
__ |
Нет операции. Код не используется |
OCW3
Назначение:
установка и отмена режима специальной маски;
перевод ПКП в режим опроса;
чтение содержимого IRR и ISR.
SMM (Special Mask Mode) – режим специального маскирования
ESMM (Enable SMM) – разрешение режима SMM
10 – установить специальную маску
11 – отменить специальную маску
P (Polling) – включение режима программного опроса
RR (Read Register) – чтение регистра (IRR или ISR)
RIS (Read RIS) – чтение регистра ISR
010 – чтение IRR
011 – чтение ISR
111 – режим опроса
