Четверг, 19.09.2024
Kober
Меню сайта
Поиск
Категории раздела
Шпоры Орг ЭВМ [42]
Шпоры ОС [22]
Главная » Статьи » Шпоры Орг ЭВМ

18. Приоритетное обслуживание прерываний

18. Приоритетное обслуживание прерываний

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

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

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

Схема циклического опроса запросов (источников) прерываний.

Опрос k линий запросов прерывания (или разрядов регистра запросов прерывания) производится последовательно (циклически) с помощью n-разрядного счетчика (2n >= k), на который с некоторой частотой поступают импульсы от генератора. Поиск приоритетного запроса прерывания начинается со сброса счетчика и одновременно триггера Т в нулевое состояние, при этом импульсы генератора начинают поступать на вход счетчика. При помощи дешифратора и элементов И в каждом такте поиска проверяется наличие запроса прерывания, номер которого совпадает с кодом счетчика. Если на данном входе нет запроса прерывания, то после прибавления 1 к счетчику проверяется следующий по порядку вход. Если имеется запрос, триггер Т перебрасывается в 1, при этом в процессор посылается общий сигнал прерывания ОСП и прекращается поступление импульсов на вход счетчика, т. е. завершается цикл просмотра входов системы прерывания.


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

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

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

Как и в предыдущих случаях, приоритет запросов прерывания возрастает с уменьшением их номера.

Процедура определения приоритетного запроса инициируется сигналом Приоритет, поступающим на цепочку последовательно включенных схем И. При отсутствии запросов этот сигнал пройдет через цепочку и сигнал общего запроса прерывания не сформируется. Если среди выставленных запросов прерывания наибольший приоритет имеет i-й запрос, то распространение сигнала Приоритет правее схемы И с номером i блокируется. На i-1 выходе цепочечной схемы будет сигнал yi = 1, на всех других 0. В процессор поступит общий сигнал прерывания, при этом шифратор по сигналу уi = 1 сформирует код номера i-го запроса, принятого к обслуживанию. По сигналу процессора Подтверждение прерывания (на рис. 1.8 не показан) этот код передается в процессор и используется для формирования начального адреса прерывающей программы.

Схемы, представленные на рис. 1.7, 1.8, производят поиск крайней левой единицы в наборе сигналов прерывания и формируют код номера i запроса, удовлетворяющего условию.

Векторное прерывание. Представленные на рис.1.6 - 1.8 способы определения запроса с наибольшим приоритетом включают в себя так или иначе выполняемую процедуру опроса источников прерывания (входов системы прерывания). Эта процедура, даже если она выполняется аппаратурными средствами, требует сравнительно больших временных затрат.

Более гибким и динамичным является векторное прерывание, при котором исключается опрос источников прерывания (флажков регистра прерывания).

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

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

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

Схема формирования вектора:

1. В простейшем случае там стоит счётчик, который последовательно опрашивает все входы и при достижении искомого входа, содержимое счётчика есть вектор.

 

 

2. Система с жёсткими приоритетами (приоритетный шифратор):


 


Приоритет устанавливаются порядками подключения устройств к PCD.  Если на схеме сигнал с 0-вым приоритетом, то остальные игнорируются, аналогично, если на входе i-ый сигнал, то сигналы от [i+1,n] отбрасываются.

Категория: Шпоры Орг ЭВМ | Добавил: Kober (10.06.2013)
Просмотров: 1261
Архив записей
Copyright MyCorp © 2024
Бесплатный хостинг uCoz