Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
архитектура 2.docx
Скачиваний:
6
Добавлен:
28.10.2018
Размер:
583.61 Кб
Скачать

11. Инициализация контроллера прерываний.

CLI ; IF = 0

mov AL , 11h

out 20 , AL

; ICW2

mov Ah , 08h

out 21h , AL

; ICW3

mov AL , 04h

out 21h , AL

; ICW4

mov AL , 1Fh

out 21h , AL

STI

Инициализация контроллера прерывания.

Приказы инициализации ПКП:

ICW1 – конфигуратор контроллера 020h (0A0h):

  • показывает какое подключение ПКП (0-каскадное или 1-одиночное)

  • показывает какое прерывание (0-по перепаду или 1-по уровню)

ICW2 – указание базового адреса вектора прерывания 021h (0A1h):

Базовый адрес закрепляется за нулевым входом ПКП. ПКП имеет 8 входов, следовательно, три младших бита (2, 1, 0) базового адреса должны быть равны 0. Остальные адреса формирует ПКП, складывая базовый адрес с номером входа ПКП на который поступил запрос. Например, базовый адрес ПКП 08h, запрос поступил от клавиатуры, которая использует первый вход ведущего ПКП, следовательно адрес вектора – 08h + 01h = 09h

ICW3 – связь контроллеров прерываний:

Ведущий ПКП.

При инициализации ведущего ПКП (021h) сообщает, к каким его входам подсоединены ведомые контроллеры. Единичное значение разряда, если к входу ПКП подключен ведомый ПКП. Нулевое значение разряда, если к входу ПКП подключен контроллер внешнего устройства.

Ведомый ПКП:

При инициализации ведомого ПКП (0A1h) сообщает, к какому входу ведущего ПКП подключен ведомый ПКП. Номер входа ведущего ПКП указывается трехразрядным двоичным кодом (биты 2, 1, 0), остальные разряды равны 0.

ICW4 – режим работы ПКП 021h (0A1h):

Указывает тип микропроцессора, ведомый или ведущий ПКП, буферизирована ли системная шина.

12. Немаскируемые аппаратные прерывания.

Обрабатываются МП не зависимо от состояния флага разрешения прерывания IF, к ним относятся прерывания, поступающие на вход NMI и SMI МП.

Сигнал на входе NMI поступает от схем контроля паритета памяти, от схем контроля шины ISA (сигнал IOCHK), от схем контроля шины PCI (сигнал поступает по линиям SERR).

В компьютерной системе можно заблокировать маскируемые аппаратные преры- вания, обнулив 2 и 3 разряды системного порта 61h. Сигналы схем контроля не по- ступят на вход NMI МП.

Обработчик прерывания – 1, адрес вектора – 0.

Если во время обработки не маскируемого прерывания снова появится сигнал на входе NMI, то вложенности прерываний не будет. Повторный вызов обработчика прерываний NMI возможен только после выполнения команды IRET.

Обработчик прерывания может определить источник прерывания, проанализировав 6 и 7 разряды системного порта 61h.

Прерывания на входе SMI МП возникают от схем чипсетов, участвующих в управ- лении энергопотребления. По этому сигналу МП переходит в режим SMM.

В спец. памяти SM RAM (а не в стековой памяти) сохраняется словосостояние МП (адрес следующей команды и регистр флагов), после чего начинает выполняться обработчик прерываний, находящийся по определенному адресу в памяти SM RAM.

В режиме SMM прерывания запрещены.

Выход из режима SMM происходит при выполнении команды RSM.