Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
схемотехника Конспект Лекций.doc
Скачиваний:
26
Добавлен:
07.09.2019
Размер:
17.25 Mб
Скачать

3.3. Одноуровневая процедура прерывания

При одноуровневой системе прерываний приоритет устройств задаётся аппаратно и определяется его положением на линии "Разрешение прерывания" /ПРР4 относительно других устройств. Приоритет устройства убывает по мере удаления устройства от процессора в направлении распространения сигнала /ПРР4 (рис. 2.8).

Рис. 3.7. Модуль вывода информации на периферийное устройство

Рис. 3.8. Схема организации одноуровневого прерывания в МПИ

Все устройства, которым необходимо прерывать работу процессора, подключаются к линии запроса прерывания /ЗПР4. Прерывание осуществляется в соответствии с временной диаграммой, представленной на рис. 3.9, в следующей последовательности:

- устройство, готовое прервать процессор, устанавливает сигнал /ЗПР4;

- процессор в каждом рабочем цикле анализирует состояние линии /ЗПР4. При появлении на ней сигнала и после завершения выполнения текущей команды устанавливает сигналы /ДЧТ и /ПРР4. Сигнал /ДЧТ поступает на все устройства, а /ПРР4 последовательно обходит устройства, подключённые к интерфейсу (рис. 3.8). На входе в устройство сигнал /ПРР4 обозначается /ПРРП (приёмник), а на выходе - /ПРРИ (источник);

- ближайшее по линии /ПРР4 устройство, имеющее наивысший приоритет из запросивших, при получении сигнала /ПРРП блокирует его дальнейшее распространение, сбрасывает сигнал /ЗПР4, устанавливает сигнал /ОТВ и адрес вектора прерывания на линиях АД;

- процессор читает адрес вектора прерывания с линий АД, сбрасывает сигналы /ДЧТ и /ПРР4 и приступает к обслуживанию прерывания;

-устройство, запросившее прерывание, снимает адрес вектора прерывания с линий АД и сбрасывает сигнал /ОТВ.

Рис. 3.9. Временная диаграмма одноуровневой процедуры прерывания

*- безразличное состояние

На рис. 3.10 приведена схема модуля, иллюстрирующего организацию одноуровневого прерывания.

Модуль предназначен для вывода информации на периферийное устройство по его готовности. В модуле имеется два адресуемых регистра: регистр данных (РД) и регистр состояния (РС). В состав регистра состояния входят триггер требования прерывания (ТТП), триггер разрешения прерывания (ТРП), триггер управления прерыванием (ТУП). Триггер ТРП предназначен для программного управления прерыванием. Если триггер ТРП не установлен, то запрос прерывания от периферийного устройства через схему &4 не пройдёт. Прерывание от данного устройства запрещено.

Работу модуля поясним тремя процедурами: процедурой установки триггера ТРП, процедурой прерывания, процедурой обслуживания прерывания. Процессор при начальной инициализации системы устанавливает сигнал /УСТ, который сбрасывает в данном модуле триггеры ТТП и ТРП.

Установка триггера ТРП осуществляется командой вывода по отношению к регистру состояния в соответствии с процедурой "запись" в следующей последовательности:

- процессор на линиях АД12-АД00 выставляет адрес регистра состояния и сигнал /ВУ. Адрес, прошедший через входной буфер, и сигнал /ВУ поступают на дешифратор адреса ДА. На выходе дешифратора формируются сигналы РС=1 и РД=0;

- процессор устанавливает сигнал /ОБМ, которым состояние сигналов РС и РД записывается в регистр РА. Сигнал РС=1 с выхода Q0 регистра адреса открывает схему &3;

- процессор на линии АД06 устанавливает активный уровень, который через буфер поступает на вход D триггера ТРП (линия АД06 взята в качестве примера, т.к. в стандарте не определена);

- процессор устанавливает сигнал /ДЗП. Он проходит через схему &2 на вход С триггера ТРП и устанавливает его. Одновременно сигнал с выхода схемы &3 проходит через схему ИЛИ (12), ИЛИ (11) и поступает на линию /ОТВ;

- процессор сбрасывает сигналы /ДЗП и АД06. Снимается сигнал /ОТВ;

- процессор, завершая процедуру установки триггера ТРП, сбрасывает /ОБМ. Сигнал с выхода Q триггера ТРП открывает схему &4. Прерывание разрешено.

Периферийное устройство, готовое принимать данные, формирует сигнал, который, поступая на вход С триггера ТТП, устанавливает его. Сигнал с выхода Q триггера ТТП проходит через схему &4 и поступает на вход D триггера ТУП и на линию /ЗПР4, запрашивая прерывание.

Процессор, получив /ЗПР4, реализует процедуру прерывания в соответствии с временной диаграммой рис. 3.9 для определения устройства запросившего прерывание. Результатом выполнения данной процедуры является чтение адреса вектора прерывания из схемы формирования.

Выполняется процедура в следующей последовательности:

- процессор выставляет сигнал /ДЧТ, который поступает на вход C триггера ТУПр, и устанавливает его. Сигнал с выхода Q триггера открывает схему &5, а с выхода /Q закрывает схему &2;

- процессор формирует сигнал /ПРР4. Сигнал последовательно обходит устройства, подключённые к интерфейсу. В устройстве, не запрашивавшем прерывание, сигнал /ПРРП проходит через схему &2 и поступает на линию /ПРРИ, т.к. триггер ТУПР не установлен. В устройстве, запросившем прерывание, сигнал /ПРРП проходит через схемы &5, ИЛИ (11) и поступает на линию /ОТВ. Одновременно сигнал с выхода схемы &5 поступает на вход EZ схемы формирования адреса вектора прерывания (СФАВП), а также проходит через схему ИЛИ (13), сбрасывая триггеры ТТП и ТРП (снимается сигнал /ЗПР4). Выходной буфер СФАВП открывается и адрес вектора прерывания поступает на линии АД07-АД00;

- процессор читает адрес вектора прерывания, сбрасывает сигналы /ДЧТ и /ПРР4. Соответственно снимается сигнал /ОТВ и выходной буфер СФАВП переводятся в исходное состояние. Адрес вектора прерывания снимается с линий АД07-АД00. Триггер ТУП будет сброшен при следующей установке сигнала /ДЧТ.

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