Архитектура ARM
Материал из Википедии — свободной энциклопедии
Архитектура ARM (ранее Advanced RISC Machine) архитектура 32-bit RISC процессоров разрабатываемая ARM Limited. Широко используется во для разработки встраиваемых решений. Благодаря своим энергосберегающим возможностям, процессоры ARM CPUs доминирует на рынке мобильной электроники, где низкое энергопотребление является критичным.
[править] Режимы
Процессор может находится в одном из следующих режимов выполнения операций:
- User mode – «обычный» режим выполнения ARM-программ. В этом режиме выполняется большинство программ.
- Fast Interrupt (FIQ) – режим, cоптимизированный для передачи данных.
- Interrupt (IRQ) – основной режим для управления прерываниями.
- Supervisor mode – защищенный режим для использования операционной системой.
- Abort mode – режим, в который процессор входит после ошибки доступа к памяти (доступ к данным или к инструкции на этапе prefetch конвейера).
- System mode – привилегированный пользовательский режим.
- Undefined mode – режим, в который процессор входит при попытке выполнить неизвестную ему инструкцию.
Переключение режима процессора предваряется возникновением соответствующего исключения или путем модификации статусного регистра.
[править] Регистры
В зависимости от режима и состояния процессора пользователь имеет доступ к строго определенному набору регистров. В ARM state разработчику постоянно доступны 17 регистров:
- 13 регистров общего назначения (r0..r12).
- Stack Pointer (r13) – содержит указатель стека выполняемой программы.
- Link register (r14)– содержит адрес возврата в инструкциях ветвления.
- Program Counter (r15) – биты [31:1] содержат адрес выполняемой инструкции.
- Current Program Status Register (CPSR) – содержит флаги, описывающие текущее состояние процессора. Модифицируется при выполнении многих инструкций: логических, арифметических, и др.
Во всех режимах кроме User mode и System mode доступен также Saved Program Status Register (SPSR). После возникновения исключения регистр CPSR сохраняется в SPSR. Тем самым фиксируется состояние процессора (режим, состояние; флаги арифметических, логических операций, разрешения прерываний) на момент сразу перед прерыванием [1].
[править] Источники
Для улучшения статьи желательно?:
|