Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора з романова.docx
Скачиваний:
6
Добавлен:
22.11.2019
Размер:
6.65 Mб
Скачать
  1. Обработка прерываний на уровне технических средств компьютера. Основные понятия и определения. Поддержка прерываний командами процессора.

Прерывание – аппаратный сигнал, который инициируется наступлением события.

Прерывания могут быть инициированы внешними средствами компьютера или внутренними если архитектура ЦП поддерживает такую возможность. Внешние прерывания вызваны внешними устройствами такими как генератор импульсов и коммутаторами и в большинстве ОС такие прерывания используются планировщиком. Внутренние прерывания или ловушки генерируются исключительными ситуациями при выполнении задач: деление на ноль. Системные прерывания не используют внешние аппаратные сигналы, а генерируются исключительными ситуациями и рассматриваются на уровне обработки микрокоманд. Процессоры обеспечивают две команды: одна для включения прерываний EPI, а другая для их выключений DPI. Это простейшие команды которые используются для простейший целей в том числе для буферизации при обработке прерываний и для передачи параметров.

  1. Процесс обработки прерывания в системе с единственным прерыванием.

После получения прерывания процессор завершает текущую команду. Затем содержимое счетчика команд сохраняется по соответствующему адресу памяти, называемом адресом возврата из прерываний. Также сохраняется флаговый регистр ЦП или регистр состояния (SR), так что любая информация о предыдущей команде (команде проверки условия, указывающей нужное ветвление также сохраняется), содержимое адреса памяти, называемое адресом обработки прерывания загружается в счетчик команд, затем выполнение задачи продолжается с этого адреса.

При получении прерывания i схема определяет является ли прерывание допустимым с учетом нынешнего состояния ЦП и содержимого регистра маски. Если прерывание разрешено ЦП завершает текущую команду и затем сохраняет счетчик команд по адресу i возврата из прерывания. Затем в счетчик команд загружается содержимое (адрес обработчика прерываний i). Для некоторых архитектур ЦП адрес возврата сохраняется в системном стеке, что позволяет легко вернутся из последовательности прерываний. Для возврата из прерывания содержимое счетчика команд, а момент прерывания вновь загружается в счетчик команд и возобновляется типичная последовательность выборки выполнения.

Управляемый прерываниями ввод-вывод является разновидностью программного ввода-вывода, ввод-вывод с использованием выделенной памяти. В нем прерывания используются для указания завершения процесса передачи при вводе-выводе либо инициализацией одного из трех упомянутых выше способов ввода-вывода.

  1. Программируемый контроллер прерываний.

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

Такое дополнительное оборудование включает специальные регистры:

  • регистр вектора прерываний

  • регистр состояния

  • регистр маски.

Вектор прерывания содержит идентификационные данные запроса на прерывание наивысшего приоритета. Регистр состояние содержит прерывание с наинизшим приоритетом, которое будет в настоящий момент выполнятся, а регистр маски содержит битовую карту, которая либо разрешает либо запрещает определенные прерывания. Еще один специализированный регистр- регистр прерываний, который содержит битовую карту всех отложенных (ждущих обработки) прерываний. Программируемые контроллеры прерываний могут поддерживать большое количество устройств.

ЦП с возможностью обрабатывать одно прерывание совместно с контроллером прерываний может обработать несколько прерываний.