Организация системы прерываний .

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

Прерывания могут быть вызваны следующими условиями :

1) сигнал готовности устройства к вводу или выводу информации

2) сигнал оповещающий об окончании операции ввода—вывода

3) сигнал оповещающий об ошибке

4) условие , определяемое внешним сигналом , поступившим от датчика или оператора

Переход к командам , которые реализуют обмен в системе ввода—вывода , осуществляется при получении сигнала от ПУ , называемого « запрос на прерывание » .

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

Формирование запроса на прерывание происходит в контроллерах соответствующих ПУ . Для предоставления прерывания процессор формирует сигнал разрешения прерывания для конкретного ПУ . Обычно сигнал запроса от всех ПУ поступают на один вход МП и возникает проблема определения ПУ , запросившего обслуживание и реализация заданного приоритета при одновременном поступлении .

Существует 2 способа определения ПУ :

1) программный опрос регистров состояния контроллеров всех ПУ

2) Использование векторов прерываний . При их использовании ПУ , запросившее прерывание , определяет себя само с помощью вектора прерывания – адреса ячейки памяти , в которой хранится первая команда подпрограммы обработки прерываний . Таким образом процессор , получив от контроллера ПУ вектор прерывания , сразу переходит на подпрограмму обработки прерывания . Выдача вектора прерывания осуществляется только после прихода от МП сигнала разрешения прерывания .

Для организации векторной системы прерываний могут использоваться специальные БИС (например БИС программируемого контроллера прерываний КР580ВН59).

КР580ВН59—является программируемым контроллером , обеспечивающим прием и обработку восьми сигналов прерываний . За счет каскадного объединения микросхем число уровней прерывания можно расширить до 64 . Структурная схема КР580ВН59 на рисунке 1 .

В состав БИС входят двунаправленный 8—разрядный буфер ШД , блок управления чтением /записью , принимающий сигналы от центрального процессора и задающий режим функционирования схемы .

Схема управления вырабатывает сигнал запроса к МП и по приходу сигнала разрешения формирует вектор , передаваемый МП по ШД .

Регистр запросов прерываний используется для хранения всех уровней прерываний , поступивших в контроллер .

Схема приоритетов определяет приоритеты поступивших запросов и вырабатывает наивысший .

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

Схема каскада обеспечивает объединения контроллеров и определяет статус контроллера (ведущий , ведомый)

Связь микросхемы с системным интерфейсом осуществляется по стандартному протоколу .

Процессор передает контроллеру управляющие слова , которые определяют один из 4 режимов работы :

1. Режим фиксированных приоритетов (IR0—высший , IR7—низший )

2. Режим вложенных прерываний (за уровнями прерывания закрепляются фиксированный приоритет , но приход запроса с более высоким приоритетом прерывает обслуживание прерываний с меньшим приоритетом)

3. Режим циклического приоритета , устанавливается сначала фиксированные приоритеты , но после обслуживания какого-либо запроса приоритеты изменяются циклически таким образом , что обслуживаемое прерывание имеет самый низкий (меньший) .

4. Режим адресуемых приоритетов аналогичен предыдущему , но самый низкий приоритет устанавливается программно .

 

Рг маскирования прерываний
Схема управления
Схема каскадов
Блок управления ЧТ/ЗП
IR7
IR0
INTA Подтверждение прерывания
SP
CAS2
CAS1
CAS0
E FAAGAAgAAAAhADMvBZ5BAAAAOQAAABUAAABkcnMvZ3JvdXBzaGFwZXhtbC54bWyysa/IzVEoSy0q zszPs1Uy1DNQUkjNS85PycxLt1UKDXHTtVBSKC5JzEtJzMnPS7VVqkwtVrK34+UCAAAA//8DAFBL AwQUAAYACAAAACEAgO7BQMMAAADbAAAADwAAAGRycy9kb3ducmV2LnhtbERPy2rCQBTdC/2H4Ra6 M5O0KG10FAlt6UIEk0Jxd8lck2DmTshM8/h7Z1Ho8nDe2/1kWjFQ7xrLCpIoBkFcWt1wpeC7+Fi+ gnAeWWNrmRTM5GC/e1hsMdV25DMNua9ECGGXooLa+y6V0pU1GXSR7YgDd7W9QR9gX0nd4xjCTSuf 43gtDTYcGmrsKKupvOW/RsHniOPhJXkfjrdrNl+K1ennmJBST4/TYQPC0+T/xX/uL63gLawPX8IP kLs7AAAA//8DAFBLAQItABQABgAIAAAAIQCi+E9TBAEAAOwBAAATAAAAAAAAAAAAAAAAAAAAAABb Q29udGVudF9UeXBlc10ueG1sUEsBAi0AFAAGAAgAAAAhAGwG1f7YAAAAmQEAAAsAAAAAAAAAAAAA AAAANQEAAF9yZWxzLy5yZWxzUEsBAi0AFAAGAAgAAAAhADMvBZ5BAAAAOQAAABUAAAAAAAAAAAAA AAAANgIAAGRycy9ncm91cHNoYXBleG1sLnhtbFBLAQItABQABgAIAAAAIQCA7sFAwwAAANsAAAAP AAAAAAAAAAAAAAAAAKoCAABkcnMvZG93bnJldi54bWxQSwUGAAAAAAQABAD6AAAAmgMAAAAA "> P VAy4LM8w09zU50C/9q7/6ZURE31X/kL8TKv1x6wXNXYPAAAA//8DAFBLAwQUAAYACAAAACEAMy8F nkEAAAA5AAAAEAAAAGRycy9zaGFwZXhtbC54bWyysa/IzVEoSy0qzszPs1Uy1DNQUkjNS85PycxL t1UKDXHTtVBSKC5JzEtJzMnPS7VVqkwtVrK34+UCAAAA//8DAFBLAwQUAAYACAAAACEA9dM+VMEA AADcAAAADwAAAGRycy9kb3ducmV2LnhtbERPS4vCMBC+C/sfwix402QXH7vVKMuK4ElRV2FvQzO2 xWZSmmjrvzeC4G0+vudM560txZVqXzjW8NFXIIhTZwrONPztl70vED4gGywdk4YbeZjP3jpTTIxr eEvXXchEDGGfoIY8hCqR0qc5WfR9VxFH7uRqiyHCOpOmxiaG21J+KjWSFguODTlW9JtTet5drIbD +vR/HKhNtrDDqnGtkmy/pdbd9/ZnAiJQG17ip3tl4vzBGB7PxAvk7A4AAP//AwBQSwECLQAUAAYA CAAAACEA8PeKu/0AAADiAQAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBL AQItABQABgAIAAAAIQAx3V9h0gAAAI8BAAALAAAAAAAAAAAAAAAAAC4BAABfcmVscy8ucmVsc1BL AQItABQABgAIAAAAIQAzLwWeQQAAADkAAAAQAAAAAAAAAAAAAAAAACkCAABkcnMvc2hhcGV4bWwu eG1sUEsBAi0AFAAGAAgAAAAhAPXTPlTBAAAA3AAAAA8AAAAAAAAAAAAAAAAAmAIAAGRycy9kb3du cmV2LnhtbFBLBQYAAAAABAAEAPUAAACGAwAAAAA= " filled="f" stroked="f">
RD
WR
AO
CS
INT Запрос прерывания
D0—D7
Чтение из Рг Запись в Рг Адрес Рг   Выбор кристалла (разрешение обмена с БИС)
Локальная шина каскадного соединения БИС   Определение контроллера (ведущий/ведомый)
Буфер ШД

 

 

Рисунок 1 – структурная схема КР580ВН59

 

 

Контроллер состоит из 4-х идентичных каналов, позволяющих подключить к системе до 4-х устройств, работающих в режиме ПДП. В состав каждого канала входят следующие регистры:

1. MR (Mode Register) – регистр режима

Определяются следующие параметры передачи:

 

- порядок изменения (увеличения или уменьшения) адреса ОП при передаче

- возможность авто инициализации

- режим обслуживания

- одиночная передача (контроллер возвращает магистраль к процессору после каждого цикла ПДП

- мощная передача (контроллер владеет магистралью в течении передачи всего массива

- по требованию (окончание передачи определяется снятием сигнала DRQ или подачей сигнала IEOP на внешний вход КПДП)

- каскадирование

2. CAR (Current Address Register) – регистр текущего адреса

3. BAR (Base Address Register) – базовый регистр адреса

4. CWR (Current Word Register) – текущий счетчик данных

5. WCR (Word Control Register) – базовый счетчик данных

Значение в регистрах BAR и WCR устанавливаются при инициализации и в ходе циклов в ПДП не меняются. В регистре CAR и CWR в начале выполнения ПДП заносит значения из регистров BAR и WCR соответственно. При выполнении ПДП эти регистры изменяются.

Управляющие регистры, общее для всего контроллера:

1. CR (Command Register) – регистр команд – определяют:

- Режим память-память или обычный. В режиме память-память осуществляется обмен по схеме ПДП между двумя областями ОП с использованием буферного регистра TR (Temp Register)

- запрет\разрешение ПДП

- порядок изменения приоритетов каналов

- фиксированный приоритет

- циклическое изменение приоритета после обработки запроса на ПДП по одному из каналов.

- явное указание наиболее приоритетного канала

- уровень сигналов DRQ и DACK (настройка на активный уровень сигналов особенности работы внешних устройств)

2. Регистр SR (Status Register) –регистр условий – используется для фиксации признаков обмена по каждому из каналов и программных запросов на ПДП

Во избежание ложных срабатываний внешних устройств, не использующих в данный момент режим прямого доступа, контроллер ПДП во время режима ПДП вырабатывает сигнал AEN, который блокирует работу остальных внешних устройств: