
МПУЭВС. Лекции. Задания / pdf_ПрилПЦиПУ / Приложение_ К_РасширСистПрер
.pdf11
работу в любом из четырёх режимов, но другие режимы и учёт их специфики устанавливаются рабочими приказами OCW1-OCW3.
Загрузка рабочих приказов осуществляется после загрузки приказов инициализации по тем же адресам в расчёте на скрытую на аппаратном уровне переадресацию. В отличие от последовательности загрузки приказа инициализации первый рабочий приказ OCW1 загружается по нечётному адресу (A0=1), а два других (OCW2 и OCW3) по чётному адресу (A0=0).
Форматы рабочих приказов приведены на рисунке К.9. Рабочим приказом
OCW1 устанавливаются или сбрасываются маски на запросы от устройств,
запрещая или разрешая передачу запроса в МПУ.
Рабочий приказ OCW2 идентифицируется явно чётным адресом доступа (A0=0) и сочетанием (D4D3=002). Этим приказом задаются четыре операции сброса бита обслуживаемого запроса прерывания и одна операция установки низшего приоритета независимо от EOI (без изменения состояния регистра ISR ):
-неадресуемый EOI (End of Interruption) сброс бита ISR высшего приоритета (код 20h);
-сброс бита ISR, адресуемого полем L2-L0 (адресуемый EOI сброс)
высшего приоритета (код 6Lh);
- назначение низшего приоритета (установка приоритета) входу
запроса, адресуемому полем L2-L0 (код CLh); |
|
- сброс бита ISR c максимальным приоритетом (автоцикл) |
и |
назначение ему низшего приоритета (код A0h); |
|
- сброс бита адресуемого полем L2-L0 ISR (адресуемый цикл) |
и |
назначение ему низшего приоритета (код ELh).
Примечание. Тетрада, обозначенная символом «L» соответствует коду
(0 L2 L1 L0)2.
Приказ установки приоритета задаёт вход запроса (вход IR) с низшим приоритетом независимо от EOI, т.е. без изменения бита ISR. Очередь остальных входов назначается в круговом порядке.

12
Приказ автоцикла назначает входу запроса смену высшего приоритета после обслуживания прерывания на низший. Очередь остальных входов изменяется в круговом порядке. В адресуемом цикле после программы обслуживания выполняется операция подобная автоциклу, но с адресуемым
L-номером входа.
Процедуры обработки аппаратного прерывания должны завершаться приказом неадресуемого или адресуемого сброса, посылаемым контроллеру прерываний.
Рабочий приказ OCW3 идентифицируется явно чётным адресом доступа (A0=0) и сочетанием (D4D3=012). Этим приказом устанавливается
(код 68h) и отменяется (48h) режим SMM (Spechial Mask Mode- специальная маска), вводится режим опроса (код 0Сh), разрешается чтение слова ISR (код
0Bh), разрешается чтение слова регистра IRR (код 0Ah).
Рисунок К.9 - Формат рабочих приказов контроллера прерываний
Режим специальной маски SMM (Spechial Mask Mode) применяется для временного разрешения прерываний от всех устройств, возможно и с низким приоритетом, в фрагментах программ, когда необратимые изменения бита
ISR после выполнения фрагмента программы нежелательны. Для временного
13
отключения влияния бита ISR и применяется приказ с кодом 68h. Этот
режим может действовать до его сброса (код сброса 48h).
При загрузке рабочего приказа OCW3 установки режима опроса (06h) и
последующей загрузке приказов с соответствующим состоянием разрядов
D0, D1, в слово состояния переносится содержимое регистра запросов
IRR или регистра обслуживаемых запросов ISR. Последующим обращением по чтению состояние регистров ISR, IRR может быть опрошено для анализа.
Слово состояния масок IMR может быть прочитано без приказа OCW3 по нечётному адресу доступа к контроллеру (A0=1). Так, полагая, обозначения двух адресов портов контроллера в форме ADR1- чётный и ADR2 - нечётный
после инициализации фрагмент программы
…….
in adr2 ; загрузка в аккумулятор МП МПУ слова из регистра IMR,
реализует чтение регистра масок, а фрагменты программ
…….
mvi a, 06h;
out adr1 |
; режим опроса |
mvi a, 0b |
; |
out adr1 |
; приказ контроллеру готовить слово из регистра ISR |
in adr1 |
; загрузка в аккумулятор МП МПУ слова из регистра ISR |
………. |
|
mvi a, 06h; |
|
out adr1 |
; режим опроса |
mvi a, 0a |
; |
out adr1 |
; приказ контроллеру готовить слово из регистра IRR |
in adr1 |
; загрузка в аккумулятор МП МПУ слова из регистра IRR |
соответственно реализуют считывание состояний регистров ISR и IRR. В
словах состояния в разрядах D2-D0 фиксируется код запроса с наибольшим приоритетом, разряды D6-D3 не используются, а разряде D7 фиксируется наличие запроса прерывания.