Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
конспект по АКС.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
280.29 Кб
Скачать

П

Контроллер

ЦП

t0

t1

t2

t3

t4

t

оследовательность работы ЦП и контроллера ПУ

t0 – t1 и t3 - t4 – ЦП выполняет цикл ожидания

t2 – t3 – передача символа на принтер

Достоинства программы управления ввода/вывода – его простота

Ввод/вывод по прерыванию

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

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

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

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

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

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

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

//рисунок

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

47