Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
Общие сведения о системе прерываний МПСистема прерываний в микроЭВМ предназначена для того, чтобы заставить микропроцессор обратить внимание на особые условия, возникающие в нем самом или другом оборудовании микроЭВМ, и переключиться на выполнение какой-то более важной или нужной в данный момент другой программы или процедуры. Непосредственной причиной переключения микропроцессора с одной программы на другую является сигнал прерывания. Причины прерываний могут быть различными: сбои и отказы в работе технических средств, запросы на обмен информацией от внешних устройств, программные ошибки и т.д. Прерывания возникают при работе микроЭВМ постоянно, например, все процедуры ввода-вывода информации выполняются по прерываниям. Программа, которую микропроцессор начинает выполнять в результате воздействия сигналов прерывания, называется программой обработки прерывания. Прерывание позволяет микроЭВМ приостановить любое свое действие и временно переключиться на другое, как заранее запланированное, так и неожиданное, вызванное непредсказуемой ситуацией в работе микроЭВМ или ее компонентов. В большинстве случаев возникновение сигналов прерывания не планируется в выполняемой в данный момент текущей программе, а является по отношению к ней независимым, или внешним событием. Такие сигналы могут появиться на любом шаге выполнения программы. Возобновление прерванной программы должно быть произведено так, будто прерывание отсутствовало. Для этого в стеке запоминается адрес возврата (CS и IP) и содержимое регистра флагов F, а также содержимое тех регистров, которые потребуются для выполнения подпрограммы обработки прерывания. Содержимое регистров CS, IP и F запоминается и восстанавливается автоматически, а для запоминания и последующего восстановления содержимого других регистров микропроцессора должны быть предусмотрены соответствующие команды в начале и в конце подпрограммы обработки прерываний. Следует отметить, что в стек включается скорректированное содержимое указателя команд IP, соответствующее адресу команды, перед которой микропроцессор начал обслуживать прерывание. Необходимость коррекции вызвана тем, что IP адресует команды с опережением из-за существования внутренней очереди команд. Прерывания могут генерироваться 1. микропроцессором, 2. аппаратурой, входящей в состав микроЭВМ, 3. программой. Разница между прерываниями и исключительными ситуациями состоит в различии их назначения в системе прерываний:
С точки зрения архитектуры микропроцессора программное прерывание также является исключительной ситуацией, но с точки зрения организации системы прерываний программное прерывание является самостоятельным средством, при помощи которого пользователь получает возможность доступа к системным и пользовательским ресурсам. Важная особенность каждой системы прерывания – возможность автоматически или по желанию программиста запретить (замаскировать) прерывания микропроцессора. Маскирование прерываний осуществляется флагом IF в регистре признаков микропроцессора. При IF=1 микропроцессор принимает и соответственно реагирует на запросы прерывания. При IF=0 прерывания запрещены (замаскированы), микропроцессор игнорирует поступающие запросы прерываний и переходит к следующей команде. Прерывания можно разделить на маскируемые и немаскируемые. Обработка маскируемых прерываний зависит от значения признака разрешения прерывания IF. Немаскируемый запрос прерывания обычно используется для прерывания работы микропроцессора при катастрофических событиях: пропадание питания, аппаратурный сбой, обнаружение ошибки памяти и т.д. Обработка немаскируемых прерываний не зависит от значения признака IF. Немаскируемое прерывание имеет самый высокий приоритет.
Дата добавления: 2014-08-04; просмотров: 330; Нарушение авторских прав Мы поможем в написании ваших работ! |