Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПТ-5-ВН59.doc
Скачиваний:
2
Добавлен:
26.11.2019
Размер:
381.95 Кб
Скачать
    1. Режим циклического сдвига приоритетов

В отличие от предыдущего режима приоритеты могут быть динамически изменены. Циклический сдвиг приоритетов задается в слове приказа OCW2 разрядом DB7 (см. рис.4).

Возможны два варианта использования этого режима: автоматическое чередование приоритетов и программно-управляемое.

Вариант автоматического чередования приоритетов это: только что обслуженному запросу загрузкой слова OCW2=10100000 (см. рис. 4 и табл. 2) присваивается низший приоритет, и он становится последним в очередь на обслуживание, приоритеты же остальных уровней циклически сдвигаются.

Пример: распределение входов в порядке возрастания справа налево:

IRQ7 IRQ6 IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0

На входы IRQ2 и IRQ5 поступают запросы на прерывания

После первого обслуживания: IRQ2 IRQ1 IRQ0 IRQ7 IRQ6 IRQ5 IRQ4 IRQ3

После второго обслуживания: IRQ5 IRQ4 IRQ3 IRQ2 IRQ1 IRQ0 IRQ7 IRQ6

Для выполнения каждого сдвига приоритетов необходимо загружать управляющее слово OCW2 в ПКП после завершения выполнения каждой подпрограммы обработки прерываний. Режим циклического сдвига приоритетов позволяет избавиться от недостатка, который заключается в том, что при частых запросах на прерывание по входам с высшими приоритетами запросы по входам с низшими приоритетами могут не обслуживаться.

Применение этого режима целесообразно и в случае обслуживания устройств с одинаковыми приоритетами.

В программно-управляемом чередовании приоритетов пользователь может программно управлять назначением входа с низшим приоритетом. Приоритеты могут быть изменены в любой момент времени при помощи слов:

OCW2=1100L2L1L0 (см табл. 2. Режим циклического сдвига приоритетов. Назначение входу, определяемому полем L2-L0 низкого приоритета);

OCW2=1110L2L1L0 (см. табл. 2. Режим циклического сдвига приоритетов. Сброс бита РОЗПР определяемого полем L2-L0 и назначение ему низшего приоритета).

    1. Режим специального маскирования

Режим специального маскирования задается в слове приказа OCW3 разрядами DB6,DB5=11 (см. рис. 4).

Режим специального маскирования служит для того, чтобы разрешить прерывание по входам, имеющим более низкий приоритет, чем у входа, запрос по которому обслуживается в текущий момент.

В этом режиме запросы, поступающие на входы с более низкими приоритетами, обслуживаются до тех пор, пока на отменен режим специального маскирования.

Для отмены режима спецмаскирования необходимо в слове приказа OCW3 установить разряды DB6,DB5=10 (см. рис. 4).

    1. Режим последовательного опроса

В этом режиме микропроцессор блокирует свой вход INT, так как инициатором обслуживания является он сам. МП опрашивает не запрашивающие устройства, а контроллер. Выходной сигнал контроллера INT физически может не использоваться.

Режим последовательного опроса задается в слове приказа OCW3 при DB2=1 (бит Р устанавливается в «1», см. рис. 4).

Слово приказа OCW3 с битом Р=1 заносится МП в контроллер сигналом WR и следующим сигналом RD считывается на шину данных слово состояния в котором анализируются только разряды DB2-DB0 обозначающие код запроса IRQ с наибольшим приоритетом и разряд DB7 – наличие прерывания (наличие сигнала INT у ПКП).

Пример:

- на вход IRQ3 поступил запрос на прерывание;

- по сигналу WR загружаем слово OCW3=00001100;

- по сигналу RD читаем слово состояние 1ХХХХ011 (прерывание есть на третьем входе);

Если запроса на прерывание нет, то при считывании слово состояния будет содержать информацию: 0ХХХХ111.

Следовательно, микропроцессор в этом режиме определяет источники запросов путем многократной загрузки слова приказа OCW3 и чтением слова состояния контроллера.