ВУЗ:
Составители:
Рубрика:
Формат первой команды обслуживания прерываний OCW1,
которая при чтении позволяет получить состояние маски, а при
записи — наложить маску на прерывания, выглядит так:
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 ║ M7 M6 M5 M4
M3
M2 M1 M0
Единичное значение одного из битов М0 —М7 означает, что
прерывания соответствующего уровня (IR0 —IR7) маскируются и не
будут обрабатываться контроллером.
Вторая команда обслуживания прерываний OCW2 предназначено
для вывода команды завершения обработки аппаратного прерывания
(EOI), циклического сдвига и прямого изменения приоритетов уровней.
Назначение битов OCW2 следующее:
A0 D7 D6 D5 D4 D3 D2 D1 D0
┌──╥──┬──┬──┬─┬─┬──┬──┬──┐
0 R SL EOI 0 0 L2 L1 L0
└──╨──┴──┴──┴─┴─┴──┴──┴──┘
│ │ │ │ │ └── Номер уровня прерывания
│ │ │ │ └───── в двоичном коде, если он
│ │ │ └─────── требуется в команде.
│ │ └─ 1 – Завершение обработки аппаратного прерывания
│ │
│ │ Используются вместе с EOI=1
┌────┐ Безличный EOI (сбрасывается бит РОЗП с максималь-
0 │ 0 ным приоритетом обрабатываемого прерывания)
├────┤ Персонифицированный EOI (сбрасывает бит, определя-
0 │ 1 емый кодом L0 —L2 в РОЗП)
├────┤
1 │ 0 Циклический сдвиг приоритетов влево на одну позицию
├────┤ Назначение низшего приоритета уровню, определяе-
1 │ 1 мому кодом L0 — L2
└────┘
Как уже говорилось, процедура обработки аппаратного прерывания
должна перед своим завершением очистить свой бит в РОЗП выводом
команды завершения обработки прерывания (EOI). Существует два
варианта команды EOI: безличный (обычный) EOI и
персонифицированный EOI.
Обычный EOI очищает бит в РОЗП, соответствующий прерыванию
с максимальным приоритетом.
Персонифицированный EOI (R=0, SL=1, EOI=1, L0 —L2 равно
номеру уровня прерывания) очищает в РОЗП бит, соответствующий
78
Формат первой команды обслуживания прерываний OCW1,
которая при чтении позволяет получить состояние маски, а при
записи — наложить маску на прерывания, выглядит так:
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 ║ M7 M6 M5 M4 M3 M2 M1 M0
Единичное значение одного из битов М0 —М7 означает, что
прерывания соответствующего уровня (IR0 —IR7) маскируются и не
будут обрабатываться контроллером.
Вторая команда обслуживания прерываний OCW2 предназначено
для вывода команды завершения обработки аппаратного прерывания
(EOI), циклического сдвига и прямого изменения приоритетов уровней.
Назначение битов OCW2 следующее:
A0 D7 D6 D5 D4 D3 D2 D1 D0
┌──╥──┬──┬──┬─┬─┬──┬──┬──┐
0 R SL EOI 0 0 L2 L1 L0
└──╨──┴──┴──┴─┴─┴──┴──┴──┘
│ │ │ │ │ └── Номер уровня прерывания
│ │ │ │ └───── в двоичном коде, если он
│ │ │ └─────── требуется в команде.
│ │ └─ 1 – Завершение обработки аппаратного прерывания
│ │
│ │ Используются вместе с EOI=1
┌────┐ Безличный EOI (сбрасывается бит РОЗП с максималь-
0│ 0 ным приоритетом обрабатываемого прерывания)
├────┤ Персонифицированный EOI (сбрасывает бит, определя-
0│ 1 емый кодом L0 —L2 в РОЗП)
├────┤
1│ 0 Циклический сдвиг приоритетов влево на одну позицию
├────┤ Назначение низшего приоритета уровню, определяе-
1│ 1 мому кодом L0 — L2
└────┘
Как уже говорилось, процедура обработки аппаратного прерывания
должна перед своим завершением очистить свой бит в РОЗП выводом
команды завершения обработки прерывания (EOI). Существует два
варианта команды EOI: безличный (обычный) EOI и
персонифицированный EOI.
Обычный EOI очищает бит в РОЗП, соответствующий прерыванию
с максимальным приоритетом.
Персонифицированный EOI (R=0, SL=1, EOI=1, L0 —L2 равно
номеру уровня прерывания) очищает в РОЗП бит, соответствующий
78
Страницы
- « первая
- ‹ предыдущая
- …
- 76
- 77
- 78
- 79
- 80
- …
- следующая ›
- последняя »
