![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Любое прерывание текущей программы заключается в том, что.
1) Процессор прекращает ее выполнение
2) Запоминает информацию, нужную для продолжения выполнения программы с точки прерывания.
3) Переходит к выполнению специальной программы.
4) После исполнения специальной программы, управление возвращается исходной программе
Основная функция – формирование начального адреса прерывающей программы. Любому запросу соответствует своя прерывающая программа. Существует три различных способа, используемых при формировании адреса:
1) Размещение прерывающих программ по фиксированным адресам. В некоторой постоянно распределенной области основной памяти по фиксированным адресам размещаются прерывающие программы, это размещение не меняется. Вход реализуется аппаратно, то есть адрес формируется аппаратно – это самый быстрый способ. Но уданного способа существуют серьезные ограничения:
a) привязка к адресам
b) количество причин прерывания должно быть достаточно малым
Этот способ применяется при малых системах прерывания и для тех причин, которые требуют немедленной реакции.
2) вход на основании слов состояния программы (PSW).
3) Векторное прерывание – самый распространенный способ. Данный способ является программно-аппартным, т.е. для любого запроса (для любого выделенного запроса) аппаратно формируется адрес вектора прерывания. Чаще всего эти адреса фиксированы. Адреса векторных прерываний хранятся в системной области памяти. На основе адреса вектора из таблицы векторов прерывания извлекается начальный адрес прерывающей программы. Это приводит к тому, что код запроса может быть малобитным, но таблица векторов прерывания должна хранится в начальной области памяти. В качестве вектора прерывания используются:
a) адрес начала прерывающей программы (применяется в PC)
b) команда безусловного перехода к программе
Дата публикования: 2015-02-03; Прочитано: 391 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!