Комбинированный способ идентификации ВУ.
Несколько ВУ могу иметь один и тот же ВП и № типа прерывания, т.е. обслуживается одной оперативной программой. Идентификация по вектору дополняется программой опроса внутри ВУ.
Третий шаг – переход на программу обслуживания и обмен данными. Выполняется путем загрузки содержимого ВП в регистры ЦП и перехода к программе обслуживания ВУ. Оперативная программа должна сохранить состояние тех внутренних регистров ЦП, которые будут модифицированы, а по завершению – восстановить их прежние значения.
Последний шаг – возврат в фоновую программу, требует выборки из стека и загрузки в регистр процессора содержимого СК и РСП.
Ассемблерная команда возврат из прерывания: Mac: RTI, IBM PC: IRET должна завершать любую программу обслуживания прерывания от ВУ.
Время реакции системы на ЗП будет существенно больше времени реакции на запрос по готовности. Время реакции системы на запрос прерывания определяется:
- Временем выполнения самой длинной команды основной программы.
- Временем идентификации ВУ.
- Временем я записи в стек регистров процессора.
Обмен с прерыванием предпочтителен для низкоскоростных устройств.
6.3 Блок-схема алгоритма обслуживания ВУ с прерыванием.
Рис. 6.3 Блок-схема алгоритма обслуживания ВУ с прерыванием.
6.4 Механизм приоритетов. Вложенные прерывания.
Механизм приоритетов (МП) показывает какие устройства нужно обслужить первыми. МП решает следующие задачи:
1. Фиксирует приоритет любой выполняемой процессором программы.
2. Идентифицирует ЗП от ВУ с максимальным приоритетом.
3. Разрешает прерывание программы при возникновении запроса с большим приоритетом.
Прерывание программы обслуживания прерываний называется вложенным прерыванием.
Рис. 6.4 Пример работы ЦП в режиме вложенных прерываний.
На рис 6.4 показан пример вложенного прерывания:
- До t1 нет ЗП
- t1 → ЗП от ВУ4
- t2 → ЗП от ВУ3
- t3 → ЗП от ВУ2
- t4 → закончено обслуживание ВУ2
- t5 → ЗП от ВУ1
- t6 → закончено обслуживание ВУ1
- t7 → закончено обслуживание ВУ3
- t8 → закончено обслуживание ВУ4
Недостаток: При большой частоте поступления ЗП ЦП работает неэффективно, т.к. много времени ЦП расходуется на ЗП, восстановление регистров процессора, переход от одной программы к другой.
Можно уменьшить частоту ЗП путем включения буферных ЗУ.
При присвоении приоритетов ВУ учитываются следующие условия:
- Чем больше быстродействие устройства, тем выше приоритет ему присваивается.
- Наивысший приоритет присваивается устройству, данные от которого не могут быть восстановлены (обычно таймер).
- В ЭВМ семейства Macintosh приоритет программы указывается во втором слове ВП.
- В ЭВМ семейства IBM PC приоритет программы устанавливается с помощью специальной БИС (большая интегральная схема) – программируемый контроллер прерываний.
6.5 Принципы построения интерфейса обмена данных с прерыванием программы.
Содержит все компоненты обмена данными по готовности. Дополнительные элементы:
1. Схема формирования сигнала ЗП:
Регистр управления содержит триггер разрешения прерывания (ТРП). Установить ТРП в 1 может только ЦП, т.е. основная или фоновая программа.
В регистре состояния интерфейса имеется триггер флага готовности, который может быть установлен в единицу только ВУ, когда оно готово к обмену. Запрос прерывания появится на выходе интерфейса, если оба триггера будут установлены в единицу.
Рис. 6.5 Схема формирования ЗП.
2. Схема учета приоритетов.
Указывает ЦП когда надо реагировать на прерывание.
3. Схема формирования адреса ВП.
Должна передавать в ЦП уникальный для каждого ВУ код (АВП).
Техническая реализация 2 и 3 элементов интерфейса различается для ЭВМ с разной архитектурой.
6.6 Техническая реализация интерфейса обмена данными с прерыванием программы.
Существует 2 варианта:
- Приоритетная цепочка (Macintosh)
- Программируемая логика управления приоритетами прерывания (IBM PC).
1. Приоритетная цепочка:
Рис. 6.6 Схема работы приоритетной цепочки.
Устройство, которое посылало ЗП, поглощает РП и выдает АВП на ШД с формирователя АВП и сбрасывает триггер РП.
В ЭВМ семейства Macintosh имеется 7 пар линий ЗПi – РПi
ЗП7-РП7 | Линии запросов прерывания. ЗП7 – РП7 – самый высокий приоритет, линии ЗП1-РП1- самый низкий приоритет обслуживания. При поступлении ЗП ЦП сравнивает приоритет линии приоритетом, указанным в РС (ЦП). При равенстве приоритетов прерывания не происходит. Уровни приоритетов и адреса ВП устанавливаются аппаратными средствами. | |
ЗП6-РП6 | ||
ЗП5-РП5 | ||
ЗП4-РП4 | ||
… ЗП1-РП1 |