Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
69
Добавлен:
11.05.2015
Размер:
1.15 Mб
Скачать

Аппаратные прерывания

71

Аппаратные прерывания обеспечивают

реакцию процессора на события, происходящие асинхронно по отношению к программному коду.

Источники прерываний:

1)внутренние прерывания процессора и сопроцессора;

2)немаскируемые внешние прерывания;

3)маскируемые внешние прерывания;

4)программно-вызываемые прерывания (специфический способ вызова процедур – не по адресу, а по номеру в таблице).

Физика компьютеров 2011 Л.А. Золоторевич

Аппаратные прерывания

72

Условия возникновения прерываний проверяются процессором на границе инструкций.

Это означает, что шинные операции текущей инструкции будут завершены до обработки прерывания.

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

сохраняет в стеке слово состояния (регистры флагов,

кодового сегмента и указатель следующей инструкции),сбрасывает флаг разрешения прерываний и

вызывает процедуру обслуживания, точка входа в которую

описана в таблице прерываний, хранящейся в ОЗУ.

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

Прерывания могут быть вложенными.

Физика компьютеров 2011 Л.А. Золоторевич

Аппаратные прерывания

73

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

Под эти прерывания Intel зарезервировала первые 32 вектора

таблицы прерываний.

В таблице 256 элементов по 4 байта. Таблица занимает первые 1024 б с нулевого адреса.

Физика компьютеров 2011 Л.А. Золоторевич

Таблица векторов прерываний

74

Таблица векторов прерываний содержит адреса сервисных программ, входящих в состав операционной системы и BIOS, как то:

отображение символа на экране монитора,организация доступа к дисководу…

Эти программы обработки прерываний могут располагаться в различных местах стандартной памяти в зависимости от ОС и версии BIOS.

Физика компьютеров 2011 Л.А. Золоторевич

Области данных ROM BIOS

75

Кроме векторов прерываний BIOS в ОП имеет свою область данных (сразу за таблицей прерываний).

Здесь размещается, к примеру,счетчик таймера,область флагов ибуфер клавиатуры,

базовые адреса портов и др. внутренняя информация.

BIOS может также использовать и расширенную область

данных, которая обычно располагается над верхней границей (1Мб) стандартной памяти.

На ее положение указывает слово по адресу 40:0Еh, а первый байт этой области указывает ее размер в Кб.

Физика компьютеров 2011 Л.А. Золоторевич