Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л-3СС и СК.doc
Скачиваний:
15
Добавлен:
16.09.2019
Размер:
1.37 Mб
Скачать

Запросы прерывания

. . .

РгЗП

. . .

&

&

&

. . .

РгМ

. . .

Код маски

Схема вы-деления незамаскированного зап-роса стар-шего приоритета

ОСП

Код приоритетного запроса

Маска загружается командой программы в регистр маски (РгМ).

Состояние 1 в данном раз- ряде регистра маски разрешает, а состояние 0 запрещает (маски- рует) прерывание текущей про- граммы от соответствующего запроса.

Таким образом, программа, изменяя маску в регистре мас- маски, может устанавливать произвольные приоритетные соотношения между програм- мами без перекоммутации ли- ний, по которым поступают запросы прерывания.

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

Логические элементы И выделяют поступившие незамаскированные запросы прерывания, из которых схема, аналогичная цепочечной, выделяет наиболее приоритетный и формирует код его номера.

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

Например, если прерывание вызвано окончанием операции в периферийном устройстве, то его следует запомнить. В противном случае процессор останется неосведомлённым о том, что это устройство освободилось.

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

8.8. Процесс выполнения команд. Рабочий цикл мп.

Функционирование микропроцессора состоит из последовательности рабочих циклов.

Каждый цикл соответствует выполнению одной команды программы и содержит от трёх до пяти этапов (операций), каждый из которых может состоять из нескольких тактов (микрокоманд).

О бщее число тактов отдельного цикла зависит от типа соответствующей ему команды.

Рассмотрим обобщённую схему рабочего цикла процессора для четырёх групп команд: 1) основных (арифметические, логические и пересылочные операции); 2) передачи управления (условные и безусловные переходы); 3) ввода-вывода; 4) системных (устанавливают состояние процессора, маску прерывания и др.). На схеме символ Тi обозначает i-й этап.

Начало

Режим

Счёт

Ожидание

Есть

Есть

Нет

Запрос прер.

Запрос прер.

Нет

Т1

Выборка коман.

Т2

Формир. адреса

Основные команды

Кома нды перед ачи управл ения

Команды ввода-вывода

Формирование исполнительных адресов

Формирование номера канала и периф. уст.(ПУ)

Т4

Т5

К обработке запросов прерывания

Анализ кода операции в команде

Систем ные коман ды

рехода

Да

Да

Передача в ка-

нал КОП ввода-

вывода и № ПУ

Перевод МП в

режим

ожидания

Выполнение

операций в АЛУ

Формирование

признака результата

Передача адре- са перехода в счётчик ком.

Запоминание результата.

Рабочий цикл начинается с распознавания состояния процессора. Устанавливается одно из альтернативных состояний «счет» или «ожидание»

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

В состоянии "ожидание" никакие программы не выполняются. Процессор ждёт прихода запроса прерывания, после чего управление переходит к соответствующей прерывающей программе, переводящей процессор в состояние "счёт".

В состоянии "счёт" при наличии незамаскированных прерываний происходит выход из нормального рабочего цикла и переход к процедуре обработки запросов прерывания.

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

На этапе выборки очередной команды образуется адрес следующей команды согласно естественному порядку следования. При этом содержимое счётчика команд увеличивается на число, равное числу байт в очередной команде.

При выполнении основных команд производится подготовка операндов (формирование исполнительных адресов и выборка операндов из памяти), их обработка в АЛУ и запоминание результата.

Кроме того, формируется признак результата операции, который используется командами условного перехода при организации ветвлений в программах.

При выполнении команд передачи управления проверяется заданное командой (например, её полем маски) условие.

Если условие не выполняется, то следующую команду указывает адрес, установленный в счётчике команд согласно естественному порядку следования.

В случае выполнения условия или наличия одного из вариантов команд безусловного перехода в счётчик команд передаётся адрес, задаваемый командой передачи управления.

Команды ввода-вывода инициируют операцию обмена информацией между МП и внешней памятью или периферийным устройством.

Сама операция выполняется каналом под управлением его собственной программы. Поэтому на долю МП остаётся только процедура опроса состояний канала и периферийного устройства – свободны они для операции ввода-вывода или нет.

Если свободны, МП выдаёт в канал информацию, необходимую для начала операции ввода-вывода.

В противном случае МП переключается в состояние "ожидание" и ждёт сигнала прерывания от этого канала.

Системные команды осуществляют переключения состояния процессора путём загрузки нового вектора состояния или его части.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]