12. Прерывания и программируемый многоуровневый контроллер прерываний
12.1. Отличительные особенности
- Отдельный вектор у каждого прерывания
- Малое и предсказуемое время реагирования на прерывания
- Программируемый многоуровневый контроллер прерываний
- 3 программируемых уровня прерываний
- Выборочная схема обработки приоритета низкоуровневых прерываний (фиксированная или карусельная)
- Немаскируемые прерывания (NMI)
- Векторы прерываний могут перемещены в начало загрузочного сектора
12.2. Обзор
Прерывания сигнализируют об изменении состояния в УВВ и могут использоваться для управления ходом выполнения программы. Каждое из УВВ может поддерживать одно или несколько прерываний и каждое из этих прерываний может быть раздельно разрешено или запрещено. Запрос на прерывание генерируется в том случае, если в какой-либо момент после его разрешения обнаруживается соответствующее ему условие. У каждого прерывания имеется отдельный вектор прерывания.
Программируемый многоуровневый контроллер прерываний (PMIC-контроллер) отвечает за обработку запросов прерываний с учетом их приоритетов и уровней. После того, как запрос прерывания подтверждается PMIC-контроллером, в счетчик программы загружается адрес вектора прерывания, а затем выполняется процедура обработки прерывания.
Каждое из прерываний поддерживает возможность настройки уровня его приоритета: низкий, средний и высокий. Прерывания среднего уровня способны прерывать выполнение процедуры обработки прерывания низкого уровня. В свою очередь, прерывания высокого уровня могут прерывать процедуры обработки прерываний низкого и среднего уровней. Приоритетность обработки прерываний равного уровня зависит от числового значения адреса вектора прерывания: чем меньше адрес вектора прерывания, тем выше его приоритет. Опционально, приоритетность прерываний низкого уровня может определяться карусельным методом (round-robin), который гарантирует обработку каждого из прерываний за определенное количество времени.
Также предусмотрена поддержка немаскируемых прерываний (NMI).
|