Вопрос №10. Система прерывания. Типы прерываний, вектор прерываний.
рерывание (interrupt) – это сигнал, заставляющий ЭВМ менять обычный порядок выполнения команд процессором.
Возникновение подобных сигналов обусловлено такими событиями, как:
завершение операций ввода-вывода.
истечение заранее заданного интервала времени.
попытка деления на нуль.
сбой в работе аппаратного устройства и др.
Обработка прерывания
С каждым прерыванием связывают число, называемое номером типа прерывания или просто номером прерывания. Система умеет распознавать, какое прерывание, с каким номером оно произошло, и запускает соответствующую этому номеру программу обработки прерывания. Таким образом, при поступлении сигнала на прерывание происходит принудительная передача управления от выполняемой программы к системе, а через нее — к обработчику прерываний.
Прерывания:
внешние маскируемые прерывания — принимаются на выводе INTR# CPU, если флаг EFLAGS.IF установлен, маскируемые прерывания не проходят;
внешние немаскируемые прерывания — принимаются на выводе NMI# CPU, механизм запрета немаскируемых прерываний отсутствует.
Векторы прерываний
Адреса программ, соответствующих различным прерываниям, собраны в таблицу, которая называется таблицей векторов прерываний.
Для микропроцессора требуется простой способ определения местоположения программы обработки прерывания и это осуществляется путем использования таблицы векторов прерываний.Таблица векторов прерываний занимает первый килобайт оперативной памяти — адреса от 0000:0000 до 0000:03FF. Таблица состоит из 256 элементов — FAR-адресов обработчиков прерываний. Эти элементы называются векторами прерываний. В первом слове элемента таблицы записано смещение, а во втором — адрес сегмента обработчика прерывания. Векторами являются просто полные адреса памяти программы (в сегментированной форме), которая должна быть активизирована в случае возникновения прерывания.
|
|
Дата добавления: 2015-12-21; просмотров: 15; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!