Комбинированный способ идентификации ВУ.


Несколько ВУ могу иметь один и тот же ВП и № типа прерывания, т.е. обслуживается одной оперативной программой. Идентификация по вектору дополняется программой опроса внутри ВУ.

Третий шаг – переход на программу обслуживания и обмен данными. Выполняется путем загрузки содержимого ВП в регистры ЦП и перехода к программе обслуживания ВУ. Оперативная программа должна сохранить состояние тех внутренних регистров ЦП, которые будут модифицированы, а по завершению – восстановить их прежние значения.

Последний шаг – возврат в фоновую программу, требует выборки из стека и загрузки в регистр процессора содержимого СК и РСП.

Ассемблерная команда возврат из прерывания: 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