ДОКДАД
ПО ДИСЦИПЛИНЕ:
«СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ»
НА ТЕМУ:
«ПРЕРЫВАНИЕ»
Содержание
Прерывание и его природа
Контролер прерываний
Обработка прерываний в реальном режиме
Характеристики реального режима работы микропроцессора
Общая схема обработки прерываний в реальном режиме
Написание собственного прерывания
Пример разработки прерывания в общем случае
Прерывание и его природа
Прерывание – инициируемый определенным образом процесс, временно переключающий микропроцессор на выполнение другой программы с последующим возобновлением выполнения прерванной программы.
Механизм прерываний позволяет обеспечить наиболее эффективное управление не только внешними устройствами, но и программами. Нажимая клавишу на клавиатуре, вы тем самым инициируете посредством прерывания немедленный вызов программы, которая распознает нажатую клавишу, заносит ее код в буфер клавиатуры, откуда он в дальнейшем считывается некоторой другой программой или операционной системой. На время такой обработки микропроцессор прекращает выполнение некоторой программы и переключается на так называемую процедуру обработки прерывания. После того как данная процедура выполнит необходимые действия, прерванная программа продолжит выполнение с точки, где было приостановлено ее выполнение. Некоторые операционные системы используют механизм прерываний не только для обслуживания внешних устройств, но и для представления своих «услуг». Так, операционная система MS-DOS взаимодействует с системными и прикладными программами преимущественно через систему прерываний.
Исходя из вышеприведенных рассуждений, можно сказать, что прерывания могут быть внешними и внутренними.
Внешние прерывания вызываются внешними по отношению к микропроцессору событиями. На приведенном ниже рис.1 схематически изображена подсистема прерываний компьютера на базе микропроцессора Intel.
Рис.1. Подсистема прерываний компьютера
На рис.1 видно, что у микропроцессора есть два физических контакта – INTR и NMI. На них и формируются внешние по отношению к микропроцессору сигналы, возрастающие фронты которых извещают микропроцессор о том, что некоторое внешнее устройство просит уделить ему внимание. Вход INTR (Interrupt Request) предназначен для фиксации запросов от периферийных различных устройств, например таких, как системные часы, клавиатура, жесткий диск и т.д. Вход NM1 (NonMaskeable Interrupt) – немаскируемое прерывание. Этот вход используют для того чтобы сообщить микропроцессору о некотором событии, требующем безотлагательной обработки, или катастрофической ошибке. Внешние прерывания относятся, естественно, к не планируемым прерываниям.
Внутренние прерывания возникают внутри микропроцессора во время вычислительного процесса. К их появлению приводит одна их двух причин:
o Ненормальное внутреннее состояние процессора, возникшее при обработке некоторой команды программы. Такие события принято называть исключительными ситуациями, или просто исключениями. Этот вид прерываний отчасти также можно отнести к не планируемым;
o Обработка машинной команды int xx. Этот тип прерываний называется программным. ............