page44
приоритетами.
Уровень
результирующего
сигнала
анализируется
триггером
INT-FF
по
нарастающему фронту TL последнего цикла команды.
Приоритет
/BUSRQ
по
отношению
к
/NMI
и
/INT
состоит
в
следующем.
При
одновременном поступлении запроса шины и одного из запросов прерывания подтверждается
запрос /BUSRQ, и шина предоставляется для ПДП. Запрос шины может прервать обработку NMI-
SR или ISR на любой цикле. Во время ПДП прерывания от входов /NMI и /INT не обслуживаются.
Приоритет /NMI по отношению к /INT состоит в том, что если оба запроса поступили до
нараставшего фронта такта TL последнего цикла команды, то /INT не воспринимается внутренним
триггером INT-F/F и, следовательно, игнорируется до конца NMI-SR. Если же в течение одной
команды запрос INT поступил до нарастающего фронта TL, а NMI - после, то выполняется первая
команда программы обработки INT, и только потом - переход к программе обработки NMI.
При
подтверждении
одного
из
запросов
прерывания
(NMI
либо
INT)
процессор
вырабатывает соответствующий цикл подтверждения (см. в конце таблице 5.3).
Все реакция ЦП на сигналы управления /BUSRQ, /NMI и /INT с учётом граничных условий
представлены в таблице 6.2, а также в виде алгоритма на рисунке 6.2.
Таблица 6.2. Реакция ЦП на запросы /BUSRQ, /NMI, /INT
Сигнал
Поступление
сигнала
Приём сигнала
Действие
Примечание
/BUSRQ
До
нарастающего
фронта такта TL
При нарастающем
фронте такта TL
любого
машинного цикла
Подтверждение
(/BUSAK) в
следующем
машинном цикле
/BUSRQ имеет более
высокий приоритет,
чем /NMI и /INT
/NMI
Внутри цикла до
нарастающего
фронта такта TL
Сразу
фиксируется во
входном триггере
NMI (мин.
ширина импульса
80 мс)
Непосредственно
после обработки этой
команды – переход к
программе обработки
NMI (так же
непосредственно
после EI)
Для повторного
выполнения
программы обработки
NMI сигнала /NMI
должен быть выключен
на короткое время
-/-
Внутри цикла
после
нарастающего
фронта TL
--//--
После обработки этой
команды выполняется
следующая, потом
переход к программе
обработки NMI
--//--
/INT
До
нарастающего
фронта такта TL
Только при
нарастающем
фронте
последнего такта
команды (TL)
После обработки
команды, если
прерывания были
разрешены, переход к
ISR. Если прерывания
запрещены - /INT
игнорируется
При выполнении
команды EI /INT не
прерывается,
независимо от
состояния IFF1 и IFF2.
Он может быть принят
при выполнении
следующей за EI
команды (если будет
активен до
нарастающего фронта
TL этой команды)
-/-
После
нарастающего
фронта такта TL
--//--
Блокируется
независимо от
состояния IFF1 и IFF2
Может быть принят
при выполнении
следующей команды,
если будет активен до
нарастающего фронта
её последнего такта TL