ARMv8系统寄存器-0

- System registers

In AArch64, system configuration is controlled through system registers, and accessed using MSR and MRS instructions. This contrasts with ARMv7-A, where such registers were typically accessed through coprocessor 15 (CP15) operations. The name of a register tells you the lowest

Exception level that it can be accessed from.

For example:

  • TTBR0_EL1 is accessible from EL1, EL2, and EL3.
  • TTBR0_EL2 is accessible from EL2 and EL3.

Registers that have the suffix _ELn have a separate, banked copy in some or all of the levels,though usually not EL0. Few system registers are accessible from EL0, although the Cache Type Register (CTR_EL0) is an example of one that can be accessible.

Code to access system registers takes the following form:

复制代码
	MRS x0, TTBR0_EL1 // Move TTBR0_EL1 into x0
	MSR TTBR0_EL1, x0 // Move x0 into TTBR0_EL1

Previous versions of the ARM architecture have used coprocessors for system configuration.However, AArch64 does not include support for coprocessors. Table 4-5 lists only the system registers mentioned in this book.

For a complete list, see Appendix J of the ARM Architecture Reference Manual - ARMv8, for ARMv8-A architecture profile.

The table shows the Exception levels that have separate copies of each register. For example,separate Auxiliary Control Registers (ACTLRs) exist as ACTLR_EL1, ACTLR_EL2 and ACTLR_EL3.

相关推荐
森G2 小时前
2二、u-boot移植
linux·arm开发
GilgameshJSS5 小时前
STM32H743-ARM例程22-USB_CDC
arm开发·stm32·嵌入式硬件
凉、介5 小时前
ARM 总线技术 —— AMBA 入门
arm开发·笔记·学习
rechol8 小时前
ARM 架构核心知识笔记(整理与补充版)
arm开发·笔记·架构
szxinmai主板定制专家11 小时前
【NI测试方案】基于ARM+FPGA的整车仿真与电池标定
arm开发·人工智能·yolo·fpga开发
森G2 天前
2一、u-boot下载编译
linux·arm开发
GilgameshJSS2 天前
STM32H743-ARM例程23-USB_HID
arm开发·stm32·嵌入式硬件
半夏微凉半夏殇2 天前
除了arm 还有那些开源的芯片架构
arm开发·架构·开源
XINVRY-FPGA2 天前
XC7A100T-2FGG484I Xilinx Artix-7 FPGA
arm开发·嵌入式硬件·fpga开发·硬件工程·信息与通信·信号处理·fpga
文火冰糖的硅基工坊3 天前
[嵌入式系统-123]:中高端图形处理器RM Mali-G610 MP4 GPU 是 ARM 公司推出的基于 Valhall 架构 的移动 GPU
arm开发·ai·架构·嵌入式·gpu