logo search
Шпоры по ВТ

49.Два способа реализации программно-управляемого приоритета прерывающих программ, использующих порог и маски прерывания

Широко используются два способа реализации программно-управляемого приоритета прерывающих программ, в которых используются, соответственно, порог прерывания и маски прерывания.

Порог прерывания позволяет в ходе вычислительного процесса изменять (задавать) минимальный уровень приоритета запросов (порог прерывания), которым разрешается прерывать текущую программу.

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

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

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

Схема программного управления приоритетом на основе маски прерывания имеет вид:

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

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

запроса.

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

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

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

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

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

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

50.Рабочий цикл МП (алгоритм работы МП)

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

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

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

Рассмотрим обобщённую схему рабочего цикла процессора для четырёх групп команд:

1) основных (арифметические, логические и пересылочные

операции);

2) передачи управления (условные и безусловные переходы);

3) ввода-вывода;

4) системных (устанавливают состояние процессора, маску прерывания и др.).

На схеме символ Тi обозначает i-й этап.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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