Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
При программном управлении во время работы контроллера ЦП не может работать, а должен отслеживать сигнал готовности в регистре состояния. Механизм прерываний изменяет ситуацию. При работе ЦП имеют место ситуации, когда выполнение вычисления невозможно. В таких случаях следует снять выполнение программы и запустить новую, предварительно зафиксировав обстоятельства, в которых произошло прерывание. Каждый тип прерывания обрабатывается по своему с помощью специальной программы “обработки прерываний”. Типы прерываний и соответствующей обработки пронумерованы и образуют библиотеку ПП. Каталог библиотеки называют таблицей векторов прерываний. Сам вектор – последовательность нескольких байтов. Вектор прерывания с номером М хранится в ячейке a[t] + (M - 1)xN, где Ат - адрес начала таблицы, N – число бай адреса вектора прерываний, М – номер вектора прерываний. В главной программе нет обращения к обработчику. Прерывание возникает внезапно, реализуется последовательность событий:
- Главная программа вызывает прерывание
- ЦП сохраняет указатель команд и регистр признаков, устанавливая новые значения УК. Обработчик выполняет работу прерывания и после ее окончания восстанавливает старые значения регистров и вызывает выход из прерывания
- Выход из прерывания
-ЦП восстанавливает значение УК и регистра признаков
- Главная программа продолжает работу
Большинство операций ввода/вывода носят групповой характер, т.е передаются группы данных. Удобно организовывать циклическую передачу данных с помощью обработчика прерываний. По окончанию работы контроллер выдает сигнал прерывания ЦП вместо ожидания конца работы.
//рисунок
Механизм прерываний позволяет перенести часть работы из главной программы на обработчика.
Дата публикования: 2014-11-26; Прочитано: 181 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!