ARM架构(二)—— arm v7-a/v8/v9寄存器介绍

1、ARM v7-A寄存器

1.1 通用寄存器

在这里插入图片描述
V7 V8开始 FIQ个IRQ优先级一样,
通用寄存器:31个

1.2 程序状态寄存器

CPSR是程序状态毒存器,保存条件标志位,中断禁止位,当前处理器模式等控制和状态位。每种异常模式下还存在SPSR,保存进入异常模式前的CPSR寄存器值,用于异常处理完成后恢复CPSR的状态。User和Sys不属于异常模式,没有CPSR寄存器,在User模式下,受限的CPSR存器称谓APSR(Application Program Status Register)。ARMV7-A中CPSR寄存器的信息如下图所示。
在这里插入图片描述

Field 作用
N ALU返回运算结果是否为负数
Z ALU返回运算结果是否为0
C ALU运算是否发生进位
V ALU运算是否发生溢出
Q cumulative saturation
J ARM是否处于 Jazelle 状态
E 控制load/store字节序
A disables asynchronous aborts,User模式不能操作
I 使能/去使能IRQ,User模式不能操作
F 使能/去使能FIQ,User模式不能操作
T ARM和Thumb状态标志位
GE 用于某些SIMD(Single Instruction, Multiple Data)指令
M[4:0] 处理器模式:FIQ,IRQ,ABT,SVC,UND,MON,HYP。User模式不能操作

1.3 Coprocessor 15(CP15)寄存器

在ARM v7 上所有的系统寄存器都是按CP15寄存器操作,使用MRC 和MCR指令操作。【ARM V8和ARM V9之后可以直接操作系统寄存器,通过MRS指令操作。】
————————————————————————————————————————————————
MRC p15,0,r0,c1,c0,0; Read System Contril Register configuration data 读协处理器到通用寄存器
ORR r0,r0,#(1<<2) ;set C bit
ORR r0,r0,#(1<<12) ;set I bit
ORR r0,r0,#(1<<11) ;set Z bit
MCR p15 ,0, r0,c1,c0,0 ; Write System Contril Register configuration data 从通用寄存器写回到协处理器
————————————————————————————————————————————————
思考:
1.协处理器是做什么的?
它是Core中,专门用来操作系统寄存器的,所有系统寄存器通过co-processor操作的。
2.aarch64中有没有协处理器?
没有了,后面V8,V9架构之后直接对系统寄存器进行操作。

1.4 系统控制寄存器(cp15.sctlr)

系统控制寄存器SCTLR(System Control Register )用于控制内存,系统功能以及提供状态信息。

2 ARM v8 & ARMv9寄存器介绍

本节内容来自网上
这里介绍的都是AArch64的寄存器。
寄存器分类:
1.general purpose
2.PSTATE Special
3.Other(如sctlr)
4.ID
5.Memory
6.Cache,Address,TLB
7. pmu
8. Exception,Reset
9. Root
10.Secure
11.Virt
12.Timer
13.Thread
14.IMP DEF
15.Debug
16.Trace
17.CTI
18.Float
19.Legacy
20.RAS
21.MPAM
22.Pointer authentication
23.AMU
24.GIC,GICD,GICR,GICC,GICV.GICH,GITS

2.1 AArch64 general-purpose registers

AArch64执行状态提供了32个在任

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值