ВУЗ:
Составители:
процессор реагировал на запросы прерываний в начале каждой подпрограммы обслуживания
их необходимо разрешать командой EI.
Для организации вложенных прерываний в каждой подпрограмме обслуживания
прерываний необходимо выполнить следующие действия:
-
разрешить прерывание;
-
временно запомнить приоритет прерванной программы;
-
загрузить в схему приоритетных прерываний новый текущий приоритет;
-
собственно обслужить прерывание;
-
восстановить прежний приоритет;
-
возобновить прерванную программу с помощью команды RTI.
Приоритетное прерывание программ
При определении приоритета прерывания программ различают два его значения:
приоритет между запросами прерывания и приоритет между прерывающими программами.
Приоритет между запросами прерываний устанавливает очередность восприятия
запросов, поступивших одновременно от различных уровней. Такой приоритет может быть
реализован в виде аппаратного полинга или способами, которые указаны выше при
организации векторного приоритетного прерывания.
Приоритет между прерывающими программами устанавливает старшинство в
выполнении прерывающих программ разных уровней. Он определяет фактический порядок,
в котором программы будут использоваться. Обычно этот приоритет реализуется как
программно-управляемый на основе маски прерывания.
Маска прерывания представляет собой двоичный код, разряды которого поставлены в
соответствие уровням или источникам прерывания. Маска загружается командой программы
в регистр маски. Состояние "1" в данном разряде регистра маски разрешает, а "0" запрещает
(маскирует) прерывание текущей программы от запросов соответствующего уровня или
источника прерывания. Порядок расположения разрядов в регистре маски и нумерация
уровней не имеют значения. Для каждой прерывающей программы может быть установлена
своя маска. И, наконец, программа, изменяя биты в регистре маски, может устанавливать
произвольные приоритетные соотношения между уровнями с любыми номерами без
коммутации линий, по которым поступают запросы прерывания.
Таким образом, используя различные виды и способы организации прерываний,
можно строить гибкие в то же время сложные системы многоуровневых прерываний,
которые позволят подключать значительное число периферийных устройств с различным
быстродействием.
Контрольные вопросы
1. Назовите основные отличительные черты программного ввода-вывода.
2.
За счет чего повышается скорость передачи данных в режиме прямого доступа к
памяти?
3.
Почему уменьшается производительность процессора в режиме ПДП?
4.
В каких случаях используют ввод-вывод в режиме прерывания ?
5.
Укажите основные действия, производимые микропроцессором при
прерываниях?
6.
Что такое контекстное переключение микропроцессора ?
7.
Назовите основные характеристики системы прерывания ?
8.
Укажите основные виды прерываний ?
9.
Что определяет вектор прерывания и как он формируется ?
10.
Укажите основные способы идентификации прерывающего устройства ?
11.
Укажите достоинства и недостатки программного и аппаратного полинга ?
процессор реагировал на запросы прерываний в начале каждой подпрограммы обслуживания их необходимо разрешать командой EI. Для организации вложенных прерываний в каждой подпрограмме обслуживания прерываний необходимо выполнить следующие действия: - разрешить прерывание; - временно запомнить приоритет прерванной программы; - загрузить в схему приоритетных прерываний новый текущий приоритет; - собственно обслужить прерывание; - восстановить прежний приоритет; - возобновить прерванную программу с помощью команды RTI. Приоритетное прерывание программ При определении приоритета прерывания программ различают два его значения: приоритет между запросами прерывания и приоритет между прерывающими программами. Приоритет между запросами прерываний устанавливает очередность восприятия запросов, поступивших одновременно от различных уровней. Такой приоритет может быть реализован в виде аппаратного полинга или способами, которые указаны выше при организации векторного приоритетного прерывания. Приоритет между прерывающими программами устанавливает старшинство в выполнении прерывающих программ разных уровней. Он определяет фактический порядок, в котором программы будут использоваться. Обычно этот приоритет реализуется как программно-управляемый на основе маски прерывания. Маска прерывания представляет собой двоичный код, разряды которого поставлены в соответствие уровням или источникам прерывания. Маска загружается командой программы в регистр маски. Состояние "1" в данном разряде регистра маски разрешает, а "0" запрещает (маскирует) прерывание текущей программы от запросов соответствующего уровня или источника прерывания. Порядок расположения разрядов в регистре маски и нумерация уровней не имеют значения. Для каждой прерывающей программы может быть установлена своя маска. И, наконец, программа, изменяя биты в регистре маски, может устанавливать произвольные приоритетные соотношения между уровнями с любыми номерами без коммутации линий, по которым поступают запросы прерывания. Таким образом, используя различные виды и способы организации прерываний, можно строить гибкие в то же время сложные системы многоуровневых прерываний, которые позволят подключать значительное число периферийных устройств с различным быстродействием. Контрольные вопросы 1. Назовите основные отличительные черты программного ввода-вывода. 2. За счет чего повышается скорость передачи данных в режиме прямого доступа к памяти? 3. Почему уменьшается производительность процессора в режиме ПДП? 4. В каких случаях используют ввод-вывод в режиме прерывания ? 5. Укажите основные действия, производимые микропроцессором при прерываниях? 6. Что такое контекстное переключение микропроцессора ? 7. Назовите основные характеристики системы прерывания ? 8. Укажите основные виды прерываний ? 9. Что определяет вектор прерывания и как он формируется ? 10. Укажите основные способы идентификации прерывающего устройства ? 11. Укажите достоинства и недостатки программного и аппаратного полинга ?
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »