Организация микропроцессорных систем. Учебное пособие. Могнонов П.Б. - 53 стр.

UptoLike

Составители: 

процессор реагировал на запросы прерываний в начале каждой подпрограммы обслуживания
их необходимо разрешать командой 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. Укажите достоинства и недостатки программного и аппаратного полинга ?