Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методический материал по ЭВМ.doc
Скачиваний:
80
Добавлен:
22.09.2019
Размер:
2.38 Mб
Скачать

6.2 Классы и иерархия обработки прерываний

Все запросы на прерывание делятся на 5 классов:

обработка программ обработка запросов на прерывание

прерывания

max приоритет min приоритет

  • А ппаратное прерывание.

  • В/в

  • Внешние прерывания.

  • Супервизор.

  • Программное прерывания.

min приоритет max приоритет

6.3 Механизм реализации прерываний с помощью «старых» и «новых» ячеек

Механизм введён фирмой IBM.

Все запросы разбиваются на 5 классов:

  1. Аппаратные прерывания;

  2. Прерывания по вводу/выводу;

  3. Внешние прерывания;

  4. Супервизоры;

  5. Класс программных прерываний (прерывания по разрядной сетке).

Обработка одного запроса на прерывание.

В оперативной памяти выделяются «старые» и «новые» ячейки, их количество соответствует числу классов прерывания (по 5 шт.)

  1. Код причины прерывания заносится на регистр ССП.

  2. Содержимое регистра ССП будет записано в «старую» ячейку для этого класса прерывания. (I)

  3. Содержимое «новой» ячейки для данного класса заносится на регистр ССП (II). В «новой» ячейке содержится адрес первой команды обработки прерывания и маски для обработки прерывания.

4. Выполнение программы обработки прерывания:

  1. сохранение РОНов,

  2. непосредственное выполнение программы обработки прерывания (анализируется код причины прерывания и в соответствии с кодом выполняется нужная подпрограмма),

  3. восстановление РОНов.

5. Содержимое «старой» ячейки помещается на ССП (восстановление основных параметров) (III).

При выполнении одной команды приходят одновременно 2 запроса на прерывание от различных классов.

Пример: в/в и внешнее прерывание

  1. На регистр ССП поступает запрос внешних прерываний.

  2. В «старую» ячейку внешних прерываний записывается содержимое регистра ССП.

  3. Содержимое «новой» ячейки внешних прерываний заносится на регистр ССП. Регистр ССП содержит адрес первой команды программ обработки прерывания для внешних прерываний.

  4. Запрос по в/в заносится на регистр ССП. Содержимое регистра ССП заносится в «старую» ячейку по в/в. В старой ячейки по в/в будет занесен адрес первой команды внешних прерываний.

  5. Содержимое из «новой» ячейки по в/в записывается на регистр ССП (адрес первой команды программы обработки прерывания по в/в).

  6. Выполнение программы обработки прерывания по в/в.

  7. Содержимое «старой» ячейки по в/в заносится на регистр ССП (На регистре ССП будет содержаться адрес первой команды программы обработки внешних прерываний).

  8. Выполнение программы обработки внешних прерываний.

  9. Содержимое «старой» ячейки внешних прерываний записывается на регистр ССП (содержит адрес следующей команды прерванной программы).

Если программа обработки прерывания по в/в уже начала обрабатываться, и приходит запрос от внешних прерываний, то эта система приоритетов не действует, а возможность прерывания определяется маской: если внешнее прерывание не замаскировано , то запрос от внешних прерываний будет обрабатываться.