
- •Программируемый контроллер прерываний 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
Примеры управления пкп Инициализация пкп – master
MOV AL,11h ; ICW1: запуск по фронту (LTIM=0),
OUT ___,AL ;каскадное включение (SNLG=0)
;ICW4 присутствует (IC4=1), D4=1 – признак ICW1
JMP $+2 ; временная задержка
MOV AL,__h ; ICW2: номера векторов прерываний –
OUT ___,AL ; в диапазоне 08h-0Fh.
JMP $+2
MOV AL,___ ; ICW3: SLAVE подключен к IR2
OUT ___,AL
JMP $+2
MOV AL,01h ; ICW4: режим работы системы x86
OUT 21h,AL
JMP $+2
MOV AL, 00h
OUT ___,AL ; сброс регистра масок
Инициализация пкп – slave
MOV AL,15h ; ICW1: запуск по уровню (LTIM=1),
OUT ___,AL ;каскадное включение (SNLG=0)
;ICW4 присутствует (IC4=1), D4=1 – признак ICW1
JMP $+2 ; временная задержка
MOV AL,___ ; ICW2: номера векторов прерываний –
OUT ___,AL ; в диапазоне 70h-78h.
JMP $+2
MOV AL,___ ; ICW3: подключен к IR2 MASTER
OUT ___,AL
JMP $+2
MOV AL,01h ; ICW4: режим работы системы x86
OUT A1h,AL
JMP $+2
MOV AL, 00h
OUT ___,AL ; сброс регистра масок
Управление масками запросов
IN AL,21h ;чтение IMR
OR AL,___ ;запрет прерываний от клавиатуры
OUT 21h,AL ;запись IMR
. . .
IN AL,21h ;чтение IMR
AND AL,_____ ;разрешение прерываний от клавиатуры
OUT 21h,AL ;запись IMR
Завершение сервисной процедуры
MOV AL, 20h ;запись в AL кода команды EOI
OUT ____, AL ;выдача команды EOI в ведомый i8259A
OUT ____, AL ;выдача команды EOI в ведущий i8259A
IRET ;возврат в прерванную программу
Усовершенствованный контроллер прерываний apic
APIC – Advanced Programmable Interrupt Controller.
В многопроцессорной системе реализуется на основе ______________________________________. Включает два базовых функциональных модуля:
локальный (______________);
системный (_/________).
Модули APIC:
функционируют ______________________;
взаимодействуют _____________________:
специальной последовательной (Interrupt Controller Communications bus, ICC);
cистемной* (Front-Side bus).
Взаимодействие локальных и системных модулей apic
BSP (bootstrap processor) – главный процессор;
AP (application processor) – вспомогательный процессор
Назначение локального модуля apic
прием запросов на прерывание от:
______________________ микропроцессора;
_______________________________;
______________________ (или внешнего контроллера прерываний);
передача принятых запросов на обработку в ядро микропроцессора.
В многопроцессорных системах:
прием от других процессоров и передача им _______________________________________________________ (interprocessor interrupt, IPI). IPI-сообщения передаются по ____________________ или ___________.
Назначение системного модуля APIC
прием внешних запросов на прерывание от _____________________________;
передача запросов в виде сообщений о прерываниях _______________________________.
Является частью системной логики.
В многопроцессорных системах:
распределение внешних прерываний между ___________________________________ процессоров, подключенных к системной шине или шине ICC.
Варианты взаимодействия модулей APIC
Подключение системного модуля APIC без использования локальных запросов
Режимы подсистемы аппаратных прерываний
PIC Mode. Модули APIC _______________________. Система работает без _______________________________.
Virtual Wire Mode. Модуль APIC используется в качестве ___________________________________. В остальном режим подобен PIC Mode.
Symmetric I/O Mode. ____________________________________________________________ за счет использования всех возможностей APIC.
«PIC Mode»
«Virtual Wire Mode» без I/O APIC