4. Режимы работы
Процессор ARM7TDMI поддерживает семь режимов работы:
- Режим пользователя - обычное состояние ARM при выполнении программы, также используется для выполнения большинства прикладных программ.
- Режим быстрого прерывания (FIQ), который поддерживает передачу данных или обработку канала.
- Режим прерывания (IRQ), который используется для обработки прерываний общего назначения.
- Супервизорный режим, который является защищенным режимом для операционной системы.
- Аварийный режим, который вводится после аварийной выборки данных или инструкции.
- Системный режим - привилегированный режим пользователя для операционной системы.
Прим.: Вы можете вводить системный режим из другого привилегированного режима только путем изменения бита режима в регистре текущего состояния программы (CPSR).
- Неопределенный режим вводится, когда выполняется неопределенная инструкция.
Все режимы, кроме режима пользователя, совместно называются привилегированными режимами. Привилегированные режимы используются для обслуживания прерываний и исключительных ситуаций, а также для доступа к защищенным ресурсам.
Каждый регистр имеет идентификатор режима (см. таблицу 2.1).
Таблица 2.1. Идентификаторы режима
Режим |
Идентификатор режима |
Режим пользователя |
usr |
Режим быстрого прерывания |
fiq |
Режим прерывания |
irq |
Режим супервизора |
svc |
Аварийный режим |
abt |
Системный режим |
sys |
Неопределенный режим |
und |
|