Скачиваний:
28
Добавлен:
01.05.2014
Размер:
7.32 Mб
Скачать

4.2. Описание работы Контроллера Прерывания

Контроллер Прерываний обслуживает прерывания посредством подпрограмм обработки прерываний. Когда аппаратные средства обнаруживают прерывание, он генерирует и выполняет специальный вызов по прерыванию. Он помещает содержимое программного счетчика в стек и затем загружает PC содержимом соответствующего вектора прерывания.

Старшие и младшие Вектора Прерываний в памяти специального назначения содержат адреса программ обработки прерывания. CPU выполняет программу обработки прерывания. После завершения сервисной программы, счетчик программ

перезагружается из стека и выполнение программы продолжается.

4.3. Описание работы Периферийной Станции Транзакций(pts)

Периферийная Станция Транзакции (PTS) - микропрограммный драйвер аппаратного прерывания. Она может использоваться вместо стандартной программы обработки прерывания для каждого из маскируемых прерываний. PTS обслуживает прерывания с меньшим количеством непроизводительных затрат; она не изменяет стек и PSW, что позволяет продолжаться нормальному потоку команд.

По этим причинам, PTS может обслуживать прерывание за время, требуемое для выполнения одной команды.

PTS функционирует в пяти специальных микропрограммных режимах, которые дают возможность PTS выполнять специфические задачи за еще меньшее время, чем использование программ обработки прерываний. См. раздел "PTSCON" где приведено описание PTS режимов.Каждое PTS прерывание требует блока данных, называемых Управляющим Блоком PTS (PTS Control Block - PTSCB). Когда происходит PTS прерывание, приоритетный шифратор выбирает соответствующий вектор и выбирает Управляющий Блок PTS (PTSCB).

PTSCB определяет режим, общее число передач ( если необходимо ),общее число циклов, которые будут выполнены перед тем, как PTS прерывание будет обслужено, и источник

и/или адресат передачи данных ( если необходимо).

Каждое PTS прерывание генерирует один PTS цикл.

На рис.9 приведён алгоритм PTS цикла .

Рис.9 Блок-схема PTS Цикла

4.4. Приоритеты Прерывания

Прерывания по Невыполняемому Коду Операций и Ловушкам(Trap) не различаются по приоритетам; они идут для обслуживания непосредственно в Контроллер Прерываний . Контроллер Прерываний выбирает соответствующую ячейку вектора в памяти специального назначения. Вектор содержит начальный адрес программы обработки прерывания.

Приоритет поступившего прерывания относительно всех других отложенных запросов прерывания определяет Приоритетный шифратор. В табл.1 приведены приоритеты прерываний по умолчанию ( 15 самый высокий и 1 самый низкий ).

Немаскируемые прерывания (NMI) имеют самый высокий приоритет относительно всех располагаемых по приоритетам прерываний. Если NMI отложено, Приоритетный шифратор выбирает его как самый высокий приоритетный запрос, и Контроллер Прерываний выбирает соответствующую ячейку вектора в памяти специального назначения.

Любой запрос PTS прерывания имеет более высокий приоритет чем все маскируемые стандартные запросы прерывания. Если никакой запрос NMI не отложен, Приоритетный шифратор определяет, что самый высокий приоритет имеют PTS запросы и Контроллер Прерывания выбирает соответствующую ячейку вектора PTS в памятиспециального назначения .Вектор содержит начальный адрес соответствующего управляющего блока PTS (PTSCB).

Если никакие NMI или PTS запросы не отложены, Приоритетный шифратор определяет самый высокий приоритет стандартным запросам прерывания, и Контроллер Прерывания выбирает соответствующую ячейку вектора в памяти специального назначения. Вектор содержит начальный адрес соответствующей программы обработки прерывания.

Соседние файлы в папке Лабораторные работы по МПС