1)ARM体系结构特点:1.RISC型处理器结构 2.Thumb指令集 3.多处理状态模式 4.嵌入式在线仿真调试 5.灵活和方便的接口 6.低电压低功耗的设计
复杂指令集计算机(CISC)采用CISC型处理器结构:采用复杂的指令去实现相应的操作,这种结构不适用于嵌入式系统,因为有很多指令嵌入式系统是使用不到的,这样会造成CPU处理数据的速度变慢,吞吐量下降。
1.精简的RISC型处理器结构:减少复杂功能的指令,减少指令条件,选使用频率最高的指令,简化处理器结构,减少处理器的集成度;并使每一个指令都在一个机器周期内完成,以提高处理器速度。
RISC型处理器结构的特点:单周期指令,采用固定长度的指令格式,大量使用寄存器。
2.Thumb指令集:16位,比通常的8位和16位CISC/RISC处理器具有更好的代码密度,可以是程序存储器变小。
a)存储器为32位时,ARM指令集比Thumb 16位运行处理速度快40%,存储器位16位时,Thumb比ARM指令集代码快40%~50%。
b)所以32位ARM处理器采用ARM指令集和Thumb指令集的优点集成在一起形成RISC/Thumb处理器结构。
3.多处理状态模式:ARM支持用户,快中断,中断,管理,中止,系统和未定义7中处理模式,除了用户模式外,其它模式都是特权模式。
2)ARM体系结构的组成:由32位ALU,31个32位通用寄存器及6个状态寄存器,32X8位乘法器,32X32位桶形移位寄存器,指令译码和逻辑控制,指令流水线和数据、地址寄存器组成。
3)ARM流水线结构:1.取指(fetch) 2.译码(dec) 3.取操作数 (reg)4.执行运算(ALU)5.存储器访问(mem)6.结果写会寄存器(res)
a) ARM7——3级流水线 , ARM9——5级流水线。
b) 要求指令长度固定,单周期指令。
4) ARM存储器结构:支持最大寻址空间4GB,一般ARM架构的处理器一般片内无RAM和ROM,系统需要的RAM和ROM需通过总线外接,随着闪存flash的发展,目前ARM架构的处理器已用闪存逐步代替ROM。
5)寄存器组织:ARM处理器总共有37个处理器,31个通用处理器,包括程序计数器PC,这些寄存器都是32的,6个状态寄存器(这些寄存器32位,但只使用其中的12位)。
a) 通用寄存器
》不分组寄存器R0~R7
》分组寄存器R8~R14
》程序计数器R15
b)分组寄存器,除了用户模式外和系统模式外,其它模式R8~R14在不同模式下是不相同的。
R13~R14:在用户与系统模式下是通用的,在管理,中止,未定义,中断,快中断都不相同。
R8~R12:除了快中断模式,其它模式都是相同的。
PC所有模式都相同
CPSR:用户和系统模式相同,其它都不同。
c)寄存器R13通常用作堆栈指针,称SP,R14用作子程序链接寄存器LR。
e) 程序状态寄存器CPSR:28~31位表示条件代码标志(N,ZC,V),0~8位表示控制位(I,F,T,M4,M3,M2,M1,M0)
N——若结果为负数,则N=1,若结果为正数或0,则N=0
Z——若指令的结果为0,则置1,否则置0
C——加法,若加法产生进位,则C置1,否则置0。减法,若减法产生借位,则C置0,否则置1
V——对于加法或者减法指令,当发生带符号溢出时,V置1。对于非加法与减法指令,V通常不变。
d)控制位
》中断禁止位
I 置1则禁止IRQ中断
F 置1则禁止FIQ中断
》T位
T=0 指示ARM执行
T=1指示Thumb执行
》模式位
M0,M1,M2,M3,M4决定寄存器的工作方式。