Опрос ВУ.


Идентификация путем опроса предполагает последовательный опрос ВУ, пока не обнаружится то ВУ, которое послало ЗП, дальше выполняется программа его обслуживания. По окончании обслуживания может быть запрограммировано одно из следующих действий:

1. Управление возвращается в основную программу без проверки запросов остальных устройств.

2. Управление возвращается к программе опроса.

Рис. 6.2 Блок-схема опроса ВУ.

 

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

2. Идентификация ВУ по векторупозволяет существенно сократить время на идентификацию устройства за счет аппаратного перехода к прерывающей программе.

Когда ВУ посылает сигнал ЗП в центральный процессор, процессор выдает сигнал разрешения прерывания (РП) на шину управления.

ВУ в ответ передает код по шине данных – адрес вектора прерывания (АВП).

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

Пример:

В ЭВМ семейства Macintosh вектор прерывания занимает два машинных слова по 16 разрядов. В первом слове хранится адрес программы обслуживания внешнего устройства, во втором – новое слово состояния процессора, в котором указывается приоритет прерывающей программы.

R7- вектор прерывания АВП
P4 P2 P1 PSW
       

Для векторов прерывания отводится 256 байт ОЗУ на ВП, начиная с адреса 0, что позволяет разместить 64 ВП.

В ЭВМ семейства IBM PC под ВП отводится 1024 байта оперативной памяти, что позволяет разместить 256 ВП

АВП:

0000:0000h – 0
0000:0004h- -1-й ВП  
0000:0008h – 2-й ВП
0000:03FCh – 255-й ВП

 

В семейства IBM PC, ВУ передает не АВП, а код номера типа прерывания, номер типа прерывания = АВП/4, т.е. число длиной один байт в диапазоне 0…255.