Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по ВТ.docx
Скачиваний:
14
Добавлен:
26.09.2019
Размер:
1.46 Mб
Скачать

48. Цепочечная однотактная схема ("дейзи-цепочка")

Цепочечная однотактная схема ("дейзи-цепочка") позволяет определить номер выставленного запроса старшего приоритета за один такт:

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

При отсутствии запросов этот сигнал пройдёт через цепочку и ОСП не сформируется.

Если среди выставленных запросов прерывания наибольший приоритет имеет i-й запрос, то распространение сигнала "приоритет" правее схемы И с номером i блокируется. На i-ом выходе цепочечной схемы будет сигнал yi=1, на всех других 0.

В процессор поступит ОСП, при этом шифратор по сигналу yi=1 сформирует код номера i-го запроса, принятого к обслуживанию.

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

Дополнительную часть схемы, обозначенную пунктиром, мы обсудим чуть позже.

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

При векторном прерывании исключается опрос источников прерывания (флажков регистра запросов).

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

Программно-управляемый приоритет позволяет изменять по мере надобности приоритетные соотношения программным путём.

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

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

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

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

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

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

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

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

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

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

запроса.

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

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

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

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

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

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

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

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

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

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

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

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

операции);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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