ARM представляет собой 32-разрядную архитектуру набора команд (ISA) с сокращенным набором команд (ISA), разработанную ARM Holdings. Он назывался Advanced RISC Machine, а до этого - Acorn RISC Machine. Архитектура ARM является наиболее широко используемой 32-битной архитектурой набора команд в создаваемых числах.

Вступление

ARM представляет собой 32-разрядную архитектуру набора команд (ISA) с сокращенным набором команд (ISA), разработанную ARM Holdings. Он назывался Advanced RISC Machine, а до этого - Acorn RISC Machine. Архитектура ARM является наиболее широко используемой 32-битной архитектурой набора команд в создаваемых числах.

Архитектура ARM обычно описывается как архитектура компьютера с сокращенным набором команд (RISC), поскольку она включает в себя следующие типичные функции архитектуры RISC:

  • Единая архитектура загрузки / хранения файлов регистров, в которой обработка данных осуществляется только для содержимого регистров, а не непосредственно для содержимого памяти.
  • Простые режимы адресации, все адреса загрузки / хранения определяются только из содержимого регистра и полей инструкций.

введите описание здесь

Режимы процессора

Архитектура ARM определяет следующие режимы процессора. В любой момент времени процессор может находиться только в одном режиме, но он может переключать режимы из-за внешних событий (прерываний) или программно. Режим пользователя Единственный непривилегированный режим. Системный режим Единственный привилегированный режим, в который не входит исключение. Его можно ввести, только выполнив инструкцию, которая явно записывает в биты режима CPSR.

  • Режим супервизора (svc). Привилегированный режим включается при каждом сбросе ЦП или при выполнении инструкции SWI.
  • Режим отмены Привилегированный режим, который вводится всякий раз, когда происходит прерывание предварительной выборки или исключение прерывания данных.
  • Неопределенный режим Привилегированный режим, который вводится всякий раз, когда возникает неопределенное исключение для инструкции.
  • Режим прерывания Привилегированный режим, который включается всякий раз, когда процессор принимает прерывание IRQ.
  • Режим быстрого прерывания Привилегированный режим, который включается всякий раз, когда процессор принимает прерывание FIQ.

Поддержка 64 бит

ARMv8, выпущенный в конце 2011 года, представляет собой первое фундаментальное изменение в архитектуре ARM. Он добавляет 64-битную архитектуру, получившую название "AArch64", и новый набор команд "A64". В контексте ARMv8 32-битная архитектура и набор команд называются "AArch32" и "A32" соответственно. Наборы команд Thumb называются "T32" и не имеют 64-битного аналога. ARMv8 позволяет выполнять 32-разрядные приложения в 64-разрядной ОС, а 32-разрядная ОС - под управлением 64-разрядного гипервизора. По состоянию на март 2012 года только ARMv8-A ("приложение") профиль был определен, и никакие реализации не были объявлены.

Как для AArch32, так и для AArch64 ARMv8 делает стандарт VFP и расширенный SIMD (NEON). Также добавлены криптографические инструкции, поддерживающие AES и SHA-1/SHA-256.

Особенности AArch64:

  • Новый набор инструкций, A64
  • 31 универсальный 64-битный регистр
  • Инструкции по-прежнему 32-битные и в основном такие же, как A32
  • Большинство инструкций могут принимать 32-битные или 64-битные аргументы
  • Адреса считаются 64-битными
  • Новая система исключений
  • Меньше банковских регистров и режимов
  • Трансляция памяти с 48-битных виртуальных адресов на основе существующего LPAE, который был легко расширен до 64-битных

Источники: arm.com и википедия