- •Организация интерфейса
- •Методы обмена данными
- •Синхронный обмен
- •Асинхронный обмен
- •Обмен по прерыванию
- •Характеристики системы прерывания
- •Время перехода к подпрограмме прерываний (см. Рис.4.5.).
- •Время издержки переключения .
- •Глубина прерываний .
- •Организация перехода к прерывающей подпрограмме
- •Программный метод.
- •Аппаратный многотактовый метод.
- •Аппаратный однотактовый метод
- •Обмен в режиме прямого доступа в память
Характеристики системы прерывания
Основными характеристиками системы прерывания являются следующие показатели.
-
Количество источников запроса прерывания. Определяет общее количество возможных источников запроса прерывания. Как правило, данная характеристика зависит от контроллера прерываний или от их количества.
-
Количество классов источников прерывания. Все источники запросов прерывания объединяются в классы. При этом, источники, составляющие один класс, вызывают одну и ту же подпрограмму прерываний, то есть характеризуются одним и тем же уровнем прерывания.
-
Время перехода к подпрограмме прерываний (см. Рис.4.5.).
Время переключения характеризует (определяет) действие процессора, связанное с подготовкой к выполнению подпрограммы обработки прерывания. За это время происходит запоминание в стеке слова состояния процессора и, в случае необходимости, содержимого регистров. Время восстановления определяет время, за которое процессор восстанавливает содержимое регистров, слова состояние и возвращается к выполнению основной программы.
-
Время издержки переключения .
(4.1)
-
Глубина прерываний .
Определяет максимальное количество прерываемых программ. Если , то ни один из источников запроса не может прерывать подпрограмму обработки прерывания предыдущего запроса. В случае, когда устройства с высоким приоритетом могут прервать одну подпрограмму (см. рис.4.6.) и т.д.
Организация перехода к прерывающей подпрограмме
При наличии множества источников прерывания существует задача подключения этих источников к процессору. Задача осложняется тем, что источников прерывания множество, а линий IR (Interrupt Request – запрос на прерывание), к которым подключаются внешние устройства значительно меньше. Может оказаться, что к одной линии IR подключено несколько источников запроса. Особенно остро задача стоит тогда, когда в МПС отсутствует контроллер прерываний.
В общем случае процессору требуется определить номер (код) источника пославшего запрос с целью определения адреса обслуживающей данное устройство подпрограммы обработки прерывания.
Используется ряд методов (способов) определения номера источника прерывания.
-
Программный метод.
Процессор после получения запроса на прерывание под управлением программы последовательно обращается ко всем внешним устройствам и получает положительный ответ в случае обнаружения активного устройства. Таким образом адрес текущего источника запроса позволяет определить адрес подпрограммы обслуживания данного запроса. Алгоритм определения номера источника прерывания программным методом представлен на рис.4.7. К недостаткам данного метода следует отнести достаточно длительное время определения номера источника запроса, что обуславливает низкое быстродействие системы в режиме обмена по прерыванию.
-
Аппаратный многотактовый метод.
Для определения кода источника запроса используется специальная схема (см. рис.4.8.). В начальном состоянии триггер T сброшен, счетчик CT обнулен.
На счетчик поступают тактовые импульсы от генератора G через вентиль лог. И. Двоичный код с выходов счетчика поступает на входы дешифратора DC, декодируется в соответствии с унитарным кодированием, тем самым активируя поочередно логические схемы, через которые источники запроса подключается к схеме формирования общего сигнала запроса на прерывание INTR. В случае, если на линию IR активной в данный момент схемы поступает запрос на прерывание от внешнего устройства, то он проходит на вход схемы формирования общего сигнала запроса. На выходе данной схемы появляется активный уровень сигнала, поступающий в процессор и устанавливающий триггер в единичное состояние.
Сигнал с выхода триггера закрывает вентиль, что не позволяет проходить тактовым импульсам на вход счетчика, а двоичный код с его выхода считывается процессором и интерпретируется как код источника прерывания.
Таким образом за один цикл пересчета счетчика будет обнаружен активный источник и определен его номер. К недостаткам данного метода следует отнести также невысокое быстродействие, так как с момента появления сигнала запроса на одной из линий IR и до момента формирования общего сигнала запроса на прерывание INTR проходит несколько машинных тактов.