Система прерывания в МП IA-16


Архитектура МП IA-16 предусматривает (рис. 4.3) два входа приема сигналов прерывания:

· вход приема немаскируемых сигналов прерывания (NMI),

· вход приема маскируемых сигналов прерывания (INTR).

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

В МП IAпрерывания по сигналам на входах NMI и INTR определены как аппаратные прерывания, но по своей сущности сигналы по входу NMI являются исключениями, а по входу INTR– классическими прерываниями.

Кроме этого, в МП IA имеются ряд команд и признак TF в регистре флагов, вызывающие процедуру прерывания. Это программируемые прерывания, которые по своей сущности являются исключениями.

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

Рис. 4.3. Схема приема сигналов прерывания в МП IA-16

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

Прерывания по сигналам прерывания по входу INTR.Запросы на маскируемые сигналы прерываний поступают от отдельных периферийных устройств по индивидуальным проводам запроса. В контроллере прерываний они фиксируются на регистре прерываний, связанном со схемой приоритетного выбора сигнала прерывания. При этом в контроллере прерываний (8259А) формируется выходной сигнал прерывания, поступающий на вход приема маскируемых сигналов прерывания (INTR) и тип (n), где n– номер программы обработки прерывания.

По завершении очередной команды производится проверка исключений, в частности, сигнала на входе NMI процессора. Сигнал определяется по переднему фронту. При отсутствии сигнала на входе NMI процессор проверяет значение бита разрешения прерывания в регистре флагов. При IF=0 процессор производит выборку очередной команды текущей программы.

При единичном значении IF процессор реализует процедуру прерывания. Для этого процессор выставляет на шины системного интерфейса в двух смежных тактах сигналы подтверждения прерывания (inta).

В ответ на сигнал intaво втором такте подтверждения прерыванияконтроллер прерывания выставляет на шины данных тип (n) программы обработки прерывания.

Тип (n) программы обработки прерывания используется в качестве номера строки таблицы прерываний. Таблица прерываний содержит векторы прерываний: IP (адрес входа в программу) и CS(базовый адрес сегмента программы).

В МП Intel, как и во многих ЭВМ, количество программ обработки пре-

рываний ограничено числом 256. В соответствии с этим таблица прерываний содержит не более 256 векторов прерываний по 4 байта. Для МПIA-16таблица прерываний всегда занимает первый килобайт линейной (оперативной) памяти.

Для сохранения настройки и перехода на программу обработки прерывания процессор производит следующие действия:

· последовательно сохраняет в стеке содержимое CS, IP и регистра флагов (F),

· в регистре флагов сбрасываются флаги разрешения прерываний IF и пошаговой ловушки TF (запрещение прерывания и пошагового режима),

· делает обращение к таблице прерываний и производит последовательное заполнение регистров процессора IP и CSданными из таблицы прерывания по адресу 4n, где n– тип прерывания.

Сохранение содержимого РОН производится программой обработки прерывания.

После сохранения РОН программа обработки прерывания может сбросить флаг разрешения прерывания IF. Сброс флага IF открывает возможность прерывания программы обработки прерывания запросами прерывания с более высоким приоритетом, например, сигналом прерывания по входу NMI.

Программа обработки прерывания заканчивается командами восстановления данных в РОНах и командой IRET. По команде IRET производится восстановление регистров F, IP и CSзначениями, сохраненными в стеке.

В табл. 1 представлены основные параметры различных видов прерываний.

Таблица 1. Основные параметры различных видов прерываний  
Вид прерывания Тип Приор. Примечание.
По ошибке деления  
По команде INTn 5 – 31  
По команде INT0 Команда прерывания при переполнении
По команде INT3 Однобайтовая команда контрольной точки
По входу NMI  
По входу INTR 32 – 255  
По флагу TF Пошаговый режим

Вопросы для самопроверки:

1. Входы аппаратных прерываний.

2. Программируемые прерывания.

3. Назначение команд INTO и INT3.

4. Прерывания по входу NMI.

5. Механизм формирования сигналов прерывания на входе INTR.

6. Механизм передачи номера программы обработки прерывания от ПУ к процессору.

7. Механизм маскирования прерывания по входу INTR.

8. Последовательность действий процессора по передаче управления на программу обработки прерывания.

9. Последовательность выполнения команды IRET.



Дата добавления: 2021-01-26; просмотров: 384;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.