- Архитектура ARM
-
(ранее Advanced RISC Machine — усовершенствованная ARM Limited. Эта архитектура широко используется в разработке встраиваемых систем. Это связанно с тем, что данные процессоры используют технологии энергосбережения. Процессоры ARM доминируют в мобильных устройствах, для которых важным качеством является их низкое энергопотребление.
На сегодняшней день семейство ARM по подсчетом достигает 75 % от всех «встроенных» 32-битных RISC процессоров, сделав тем самым его одной из самых широко распространенных 32-битных архитектур. Процессоры ARM нашли себе место во множестве электронных устройств — КПК (PDA), сотовые телефоны, медиа-плееры, карманные игровые устройства, калькуляторы, компьютерная периферия (роутеры) и т. д.
По лицензии британской корпорации микропроцессоры производят Intel (до 27 июня 2006 г. [1]), Marvell (en), xScale (en), NXP (en), Samsung, Sony Ericsson, Texas Instruments, nVidia.
Режимы
Процессор может находится в одном из следующих режимов выполнения операций:
- User mode — «обычный» режим выполнения программ. В этом режиме выполняется большинство программ.
- Fast Interrupt (FIQ) — режим, оптимизированный для передачи данных.
- Interrupt (IRQ) — основной режим для управления прерываниями.
- Supervisor mode — защищённый режим для использования операционной системой.
- Abort mode — режим, в который процессор переходит при возникновении ошибки доступа к памяти (доступ к данным или к инструкции на этапе prefetch конвейера).
- System mode — привилегированный пользовательский режим.
- Undefined mode — режим, в который процессор входит при попытке выполнить неизвестную ему инструкцию.
Переключение режима процессора происходит при возникновении соответствующего исключения или модификацией регистра статуса.
Регистры
ARM предоставляет 31 регистр общего назначения разрядностью 32 бит. В зависимости от режима и состояния процессора пользователь имеет доступ только к строго определенному набору регистров. В 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. Тем самым фиксируется состояние процессора (режим, состояние; флаги арифметических, логических операций, разрешения прерываний) на момент непосредственно перед прерыванием [2].
Источники
http://phrack.org/issues.html?issue=63&id=6#article
Микроконтроллеры Архитектура 8-bit MCS-51 • MCS-48 • AVR • Z8 • H8 • COP8 • 68HC08 • 68HC11 16-bit PIC24 • MAXQ • Nios • 68HC12 • 68HC16 32-bit ARM • PIC32MX • 683XX • M32R • Производители Analog Devices • Fujitsu • Holtek • Infineon • MicroChip • Maxim • Parallax • Texas Instruments • Zilog Компоненты Регистр • Прерывание • CPU • SRAM • Флеш-память • кварцевый резонатор • кварцевый генератор • RC-генератор • Корпус Периферия Таймер • АЦП • ЦАП • Компаратор • ШИМ контроллер • Счётчик • LCD • Датчик температуры • Watchdog Timer Интерфейс CAN • UART • SPI • I²C • ОС μClinux • BeRTOS • ChibiOS/RT • RTEMS • Unison • MicroC/OS-II • Программирование Программатор • Ассемблер • MPLAB • AVR Studio • MCStudio
Wikimedia Foundation. 2010.