Организация прерывания. Арбитраж

 

 

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

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

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

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

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

Одним из основных этапов прерывания является передача в МП адреса вектора прерывания. В зависимости от способа формирования адреса вектора прерывания различают:

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

2)векторный. Источник запросы прерывания вслед за запросом выставляет на шине данных адрес своего вектора прерывания. В этом случае работа осуществляется: устройство (оно же датчик), которое претендует на занятие интерфейса, выставляет запрос прерывания на одну из линий запросов. По данному запросу контроллер прерывания транслирует его в МП, на что МП отвечает 2-мя сигналами подтверждения:

--1-ый из них непосредственно подтверждает прием запроса прерывания, а также фиксирует состояние контроллера и оставляет за собой управление интерфейса.

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

Процедура арбитража производится по отношению к запросу прерывания, называется арбитром. МПС рассматривает 3 типа арбитража: параллельный, последовательный и комбинированный.

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

2)при последовательном арбитраже в схеме отсутствует арбитр. На входе самого приоритетного ПУ всегда присутствует входной сигнал разрешения, который последовательно программно-аппаратно транслируется ко всем входам устройств системы. При этом порядок подключения определяет приоритет. Недостаток: число подключаемых ПУ сильно ограничено временем распространения сигнала по линии разрешения ПДП.

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