Лекция: Ввод/вывод по прерыванию

При программном управлении во время работы контроллера ЦП не может работать, а должен отслеживать сигнал готовности в регистре состояния. Механизм прерываний изменяет ситуацию. При работе ЦП имеют место ситуации, когда выполнение вычисления невозможно. В таких случаях следует снять выполнение программы и запустить новую, предварительно зафиксировав обстоятельства, в которых произошло прерывание. Каждый тип прерывания обрабатывается по своему с помощью специальной программы “обработки прерываний”. Типы прерываний и соответствующей обработки пронумерованы и образуют библиотеку ПП. Каталог библиотеки называют таблицей векторов прерываний. Сам вектор – последовательность нескольких байтов. Вектор прерывания с номером М хранится в ячейке a[t] + (M — 1)xN, где Ат — адрес начала таблицы, N – число бай адреса вектора прерываний, М – номер вектора прерываний. В главной программе нет обращения к обработчику. Прерывание возникает внезапно, реализуется последовательность событий:

— Главная программа вызывает прерывание

— ЦП сохраняет указатель команд и регистр признаков, устанавливая новые значения УК. Обработчик выполняет работу прерывания и после ее окончания восстанавливает старые значения регистров и вызывает выход из прерывания

— Выход из прерывания

-ЦП восстанавливает значение УК и регистра признаков

— Главная программа продолжает работу

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

 

//рисунок

Механизм прерываний позволяет перенести часть работы из главной программы на обработчика.

 

еще рефераты
Еще работы по информатике