Учебное пособие: Адресное пространство. Подсистемы ввода-вывода

Система прерываний – специальный набор действий (какой номер выставлять на шину, что делать, если несколько и т.д.).

Система прерываний радиального типа

Ножка запроса прерываний всегда опрашивается центральным процессором между выполнением машинных инструкций.

Аппаратно в ЦП можно блокировать опрос этого бита (CLI).

Если этот бит устанавливается в 1, начинается обработка прерываний:

1) ЦП должен спасти свой контекст.

2) ЦП должен получить номер дескриптора таблицы (для этого сгенерировать цикл шины – подтверждение прерывания).

Контроллер прерываний – программируемое через СШ устройство.

Необходимо указать контроллеру, какой номер события связан с каким ВУ.

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

Для каждой линии IRQx – одно событие. Устройства подключаются к таким линиям.

Приоритет предоставления прерываний – алгоритм, по которому контроллер прерываний определяет приоритеты ВУ, подключаемых к одной линии IRQx (?).

В MS-DOS и Windows используется линейная приоритетная схема: устройства имеют статические приоритеты, которые определяются номером линии IRQx.

Возможны и другие алгоритмы.

Например, циклическая схема: после завершения обработки прерываний устройство становится самым низкоприоритетным.

Наивысший приоритет предоставляется асинхронным устройствам, а также системным событиям. Низший – синхронным устройствам.

Главный недостаток – ограничено число линий запроса, а следовательно и устройств.

Можно построить иерархическую схему (расширяем вторым контроллером):

Третий контроллер подключить нельзя, т.к. не хватит линий прерываний. Шина тоже может накладывать ограничение на число прерываний (ISA – 15).

Если количество устройств очень большое, нельзя использовать эту схему!

Чтобы не потерять короткие прерывания используется маска запомненных прерываний.

EndofInterrupt – команда сброса масок блокировок и запомненных прерываний.

Нужно отправить ее контроллеру!

Нужно, чтобы на одну линию можно было подключить сколько угодно устройств – в этом случае нельзя использовать контроллер!

Приоритетная (параллельная) схема обработки прерываний

Производится программная или аппаратная привязка.

К-во Просмотров: 356
Бесплатно скачать Учебное пособие: Адресное пространство. Подсистемы ввода-вывода