ВУЗ:
Составители:
Следовательно, непосредственное использование команд ввода-вывода
представляется невозможным, а для этого необходимо микропроцессору придать
дополнительные аппаратные и программные средства, совокупность которых получила
название системы прерывания.
Основное назначение системы прерывания - это автоматическое прерывание
программ с целью увеличения его скоростью переключения.
Основные функции системы прерывания:
1)
приостановка и сохранение состояния прерываемой программы;
2)
идентификация прерывающего устройства и организация перехода к
прерывающей программе.
3)
восстановление состояния прерванной программы и возврат к ней;
4)
программное изменение приоритетов запросов.
Программа обслуживания прерывания (прерывающая программа) непосредственно
выполняется в микропроцессоре и разрабатывается системным программистом для каждого
конкретного ПУ.
Подпрограмме обслуживания потребуются внутренние регистры микропроцессора:
аккумулятор, программный счетчик, некоторые РОН, содержимое которых могут быть
модифицированы. С другой стороны прерываемая программа должна быть возобновлена с
точки прерывания, т.е. должны восстановиться программный счетчик и все внутренние
регистры микропроцессора. Кроме как увеличения времени выполнения, факт обслуживания
прерывания не должен влиять на прерываемую программу.
Для сохранения содержимого внутренних регистров микропроцессора удобно
использовать в качестве такого временного хранилища стек.
Практически в каждом микропроцессоре реализована особая структура системы
прерываний, а программируемые БИС управления прерываниями еще более увеличивают
число разновидностей этой структуры.
Однако общая последовательность реакции различных микропроцессоров на сигнал
прерывания примерно одинакова и содержит следующие действия:
-
ПУ генерирует сигнал прерывания, который подается на вход прерывания
микропроцессора (INT); на этой линии по схеме ИЛИ объединяются запросы всех ПУ,
работающих в режиме прерывания;
-
микропроцессор завершает текущую команду и, если прерывания разрешены (не
замаскированы), формируют сигнал INTA (INT ACK) подтверждения прерывания; до
получения этого сигнала ПУ сохраняет активный уровень сигнала INT;
-
осуществляется запоминание содержимого программного счетчика и некоторых
РОН в стеке;
-
микропроцессор идентифицирует прерывающее ПУ для перехода к
соответствующей подпрограмме обслуживания;
-
выполняется короткая (30-50 байт) подпрограмма обслуживания прерывания, в
которой запрограммированы действия по передаче данных, модификации указателей,
проверке окончания операций ВВ и др.;
-
восстанавливается состояние прерванной программы, для чего запомненное
содержимое регистров извлекаются из стека;
-
возобновляется выполнение прерываемой программы; это действие инициируется
командой возврата из прерывания RTI, являющейся последней командой подпрограммы
обслуживания прерывания.
Процессы запоминания содержимого внутренних регистров после восприятия сигнала
прерывания называются контекстным переключением микропроцессора.
Скорость контекстного переключения оказывает заметное влияние на
производительность ЭВМ, особенно в условиях интенсивных прерываний. Поэтому во
многих микропроцессорах предусматриваются средства ускорения контекстного
переключения. Например, команды, которые загружают в стек и извлекают из стека
Следовательно, непосредственное использование команд ввода-вывода представляется невозможным, а для этого необходимо микропроцессору придать дополнительные аппаратные и программные средства, совокупность которых получила название системы прерывания. Основное назначение системы прерывания - это автоматическое прерывание программ с целью увеличения его скоростью переключения. Основные функции системы прерывания: 1) приостановка и сохранение состояния прерываемой программы; 2) идентификация прерывающего устройства и организация перехода к прерывающей программе. 3) восстановление состояния прерванной программы и возврат к ней; 4) программное изменение приоритетов запросов. Программа обслуживания прерывания (прерывающая программа) непосредственно выполняется в микропроцессоре и разрабатывается системным программистом для каждого конкретного ПУ. Подпрограмме обслуживания потребуются внутренние регистры микропроцессора: аккумулятор, программный счетчик, некоторые РОН, содержимое которых могут быть модифицированы. С другой стороны прерываемая программа должна быть возобновлена с точки прерывания, т.е. должны восстановиться программный счетчик и все внутренние регистры микропроцессора. Кроме как увеличения времени выполнения, факт обслуживания прерывания не должен влиять на прерываемую программу. Для сохранения содержимого внутренних регистров микропроцессора удобно использовать в качестве такого временного хранилища стек. Практически в каждом микропроцессоре реализована особая структура системы прерываний, а программируемые БИС управления прерываниями еще более увеличивают число разновидностей этой структуры. Однако общая последовательность реакции различных микропроцессоров на сигнал прерывания примерно одинакова и содержит следующие действия: - ПУ генерирует сигнал прерывания, который подается на вход прерывания микропроцессора (INT); на этой линии по схеме ИЛИ объединяются запросы всех ПУ, работающих в режиме прерывания; - микропроцессор завершает текущую команду и, если прерывания разрешены (не замаскированы), формируют сигнал INTA (INT ACK) подтверждения прерывания; до получения этого сигнала ПУ сохраняет активный уровень сигнала INT; - осуществляется запоминание содержимого программного счетчика и некоторых РОН в стеке; - микропроцессор идентифицирует прерывающее ПУ для перехода к соответствующей подпрограмме обслуживания; - выполняется короткая (30-50 байт) подпрограмма обслуживания прерывания, в которой запрограммированы действия по передаче данных, модификации указателей, проверке окончания операций ВВ и др.; - восстанавливается состояние прерванной программы, для чего запомненное содержимое регистров извлекаются из стека; - возобновляется выполнение прерываемой программы; это действие инициируется командой возврата из прерывания RTI, являющейся последней командой подпрограммы обслуживания прерывания. Процессы запоминания содержимого внутренних регистров после восприятия сигнала прерывания называются контекстным переключением микропроцессора. Скорость контекстного переключения оказывает заметное влияние на производительность ЭВМ, особенно в условиях интенсивных прерываний. Поэтому во многих микропроцессорах предусматриваются средства ускорения контекстного переключения. Например, команды, которые загружают в стек и извлекают из стека
Страницы
- « первая
- ‹ предыдущая
- …
- 45
- 46
- 47
- 48
- 49
- …
- следующая ›
- последняя »