ARM体系结构

合集下载

第2章 ARM体系结构

第2章  ARM体系结构

• 控制位

程序状态寄存器PSR(Program Status Register)的最低8位I、F、T和 M[4:0]用作控制位。当异常出现时改变控制位。处理器在特权模式 下时也可由软件改变。
• 中断禁止位 I:置1,则禁止IRQ中断; F:置1,则禁止FIQ中断。 • T位 T=0 指示ARM执行; T=1 指示Thumb执行。 • 模式控制位 M4、M3、M2、Ml和M0(M[4:0])是模式位,决定处理器 的工作模式,如表2.3.1所列。
6 (最低)
6 5
数据中止
IRQ (外部中断请求) FIQ (快速中断请求)
中止(数据)
IRQ FIQ
中止模式
IRQ FIQ
0x0000,0010
0x0000,0018 0x0000,001C
2
4 3
2.4.2 异常类型的含义
(1)复位
• • 处理器的复位电平有效时,产生复位异常 当ARM处理器或协处理器遇到不能处理的指令时,产生未定义指令异常
2.4 ARM微处理器的异常处理
• 异常:在一个正常的程序流程执行过程中,由内 部或外部源产生的一个事件使正常的程序产生暂 时的停止,称之为异常。
2.4.1 ARM体系结构的异常类型
• ARM体系结构支持7种类型的异常
• 异常出现后,强制从异常类型对应的固定存储器地址开始 执行程序。这些固定的地址称为异常向量(Exception Vectors)。
M[4:0]模式控制位
M[4: 0] 10000 10001 10010 10011 10111
处理器工作 模式 用户模式 FIQ模式 IRQ模式 管理模式 中止模式
可访问的寄存器 PC,CPSR,R14~R0 PC,R7~R0,CPSR, SPSR_fiq,R14_fiq~ R8_fiq PC,R12~R0,CPSR, SPSR_irq,R14_irq, R13_irq PC,R12~R0, CPSR, SPSR_svc,R14_svc, R13_svc PC,R12~R0, CPSR, SPSR_abt,R14_abt, R13_abt

单片机课件第二章 ARM体系结构

单片机课件第二章 ARM体系结构

2.5
ARM微处理器指令系统
2.5.1 基本寻址方式
寻址方式是根据指令中给出的地址码字段来实现寻找真实操作数地 址的方式,ARM处理器有9 种基本寻址方式。
1.寄存器寻址
操作数的值在寄存器中,指令中的地址码字段给出的是寄存器编 号,指令执行时直接取出寄存器值操作。
例如指令: MOV R1,R2 SUB R0,R1,R2
11111
系统模式
PC,R14~R0,CPSR(ARM v4及以上版本)
并非所有的模式位组合都能定义一种有效的处理器模式。其他组合的 结果不可预知。
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
2.2 ARM微处理器的寄存器结构
2.2.4 Thumb状态的寄存器集
Thumb 状态的寄存器在ARM 状态的寄存器上的映射


在Thumb状态下,程序计数器PC(Program Counter)使用位[1]选 择另一个半字。ARM处理器在两种工作状态之间可以切换。
Thumb状态:当操作数PSR控制位T为1时,执行BX指令进入Thumb 状态。如果处理器在Thumb状态进入异常,则当异常处理(IRQ、 FIQ、Undef、Abort和SWI)返回时,自动转换到Thumb状态。(异 常都是在ARM 状态中执行) ARM状态:当操作数PSR控制位T为0时,执行BX指令进入ARM状态 ;处理器发生异常(IRQ、FIQ、Reset、Undef、Abort和SWI)。在 此情况下,把PC内容复制到异常模式的链接寄存器中,并且异常处 理将从异常向量地址开始。
sys(系统模式):运行具有特权的操作系统任务。

und(未定义指令中止模式):当未定义的指令执行时进入该 模式,可用于支持硬件协处理器的软件仿真。

4 ARM体系结构

4 ARM体系结构

21
ARM7与CORTEX比较
22
ARM编程模型
扩展协处 指令缓存 理器接口 器 指令存储 管理单元
ARM硬件架构
跟踪 接口
ARM9TDMI32 RISC处理器
AMBA 总线
写缓 冲
数据缓 存器 JTAG
数据存储 管理单元
回写存 储单元
23
ARM微处理器的工作状态
从编程角度看,ARM微处理器的工作状态一般有两种, 并可在两种状态之间切换: ARM状态,此时处理器执行32位的字对齐的ARM指令, 开始执行代码时处于ARM状态。 Thumb状态,此时处理器执行16位的、半字对齐的 Thumb指令。
ADR r0,ThumbProg+1
.THUMB
ThumbProg:
... ADR r0,ARMProg
BX
.ARM
r0
/*跳转到ARMProg,程序切换到ARM状态*/
/*指示编译器后面的为ARM指令*/
ARMProg: MOV r4, #4
27
ARM微处理器的工作模式(7种)
用户模式(User,usr):正常程序执行
15
ARM11微处理器系列
ARM11系列主要用于消费电子、无线和网络应用领 域,如STB、数码相机、3G移动电话、VoIP基础设 备、宽带调制解调器、WLAN介入设备和安全设备 等。
ARM11系列包含ARM1136J-S和ARM1136JF-S两种 类型。
16
SecurCore微处理器系列
SecurCore系列专为安全需要设计,除了具有ARM体 系结构各种主要特点外,在系统安全方面的特点: 带有灵活的保护单元,确保操作系统和应用数据的安全。

ARM体系结构详解精

ARM体系结构详解精

ARM嵌入式系统第2章ARM体系结构ARM微处理器的编程模型♦ARM徴处理器的工作状态♦ARM体系结构的存储器格式♦ARM体系结构的指令长度及数据宽度♦ARM微处理器的处理器模式♦ARM体系结构的寄存器组织♦ARM微处理器的异常状态字、半字、字节字(Word)在ARM体系结构中,字的长度为32位半字(Half-Word)在ARM体系结构中,半字的长度为16位字节(Byg)在ARM体系结构中,字节的长度为8位。

ARM微处理器的工作状态(1)字对齐:四字节对齐半字对齐:两字节对齐两种状态:♦ARM状态:处理器执行32位的字对齐的令♦Thumb状态:处理器执行16位的、半字对齐的Thumb指令处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。

I ARM微处理器的工作状态(2 )状态切换:BX {<cond>} <Rm><cond>指令的条件码。

忽略时无条件执行。

<Rm>子存器中为跳转的目标地址,当<Rm><存器的bit[O]为0时, 目标地址处的指令为ARM指令;当<Rm>^存器的bit[O]为1时,目标地址处的指令为Thumb 指令。

伪代码:if ConditionPassed(cond) thenT Flag=Rm[O]PC=Rm AND OxFFFFFFFEARM微处理器在复位或上电时处于ARM状态,发生异常时处于ARM状态。

右ARM体系结构的存储器格式(1)ARM体系结构所支持的最大寻址空间为4GB (2^字节)♦大端格式(Big Endian)字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。

♦小端格式(Little Endian)低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。

字地址字地址右ARM 体系结构的存储器格式(2)(0H)=0123H (4H)=4567H (8H)=89ABHBig Endian(0H)=3210H (4H)=7654H (8H)=BA98HLittle Endian右ARM 体系结构的存储器格式(3)8 9 AB4 5 6 7 0123一 “A ・■ • rO= 0x11223344 I 11 I 22 33 : 44 ILittle endian Big endianR2 =异FI*右 ARM 体系结构的指令长度及数据宽度♦指令长度:32位(在ARM 状态下) 16位(在Thumb 状态下)♦数据宽度: 字节(8位) 半字(16位) 字(32位)三种数据宽度对存储器及外部设备的访问。

arm体系结构的特点

arm体系结构的特点

arm体系结构的特点ARM体系结构是一种基于RISC(精简指令集电脑)的微型计算机体系结构,它以其高效性和低功耗的特点,成为现代移动设备、智能家居、嵌入式系统等领域的首选芯片。

ARM体系结构的特点如下:1. RISC(精简指令集电脑)体系结构:ARM体系结构以RISC体系结构为基础,相对于CISC(复杂指令集电脑)体系结构而言,指令集更加精简,每个指令执行时间更短。

这种短指令集的优点是更易于实现,并且需要更少的晶体管,从而降低了芯片成本和能源消耗。

2.可扩展型:ARM芯片的内存和外设都可以进行扩展,这使得ARM芯片非常灵活。

用户可以根据实际需求自由添加外围设备和扩展内存,以满足具体的应用要求。

3.处理速度快:ARM芯片通常是多核心的,每个核心都可以执行多个指令,具有各自的缓存,这使得ARM芯片的速度非常快。

在一些高效的应用场合,ARM芯片的速度甚至可以与桌面计算机的处理器相媲美。

4.低功耗:ARM体系结构的低功耗性质也是其的一大特点。

ARM芯片处理器消耗的能量非常少,由于嵌入式系统、移动设备等对能源的限制,ARM低功率处理器在这些设备中应用广泛。

5.易于编程:ARM处理器可以执行任何基本的计算机操作,比如移位、逻辑操作等,这使得编写程序变得简单易行。

在一些专门为ARM芯片设计的编程平台上,开发者很容易编写出高效率的代码。

6.架构标准一致:ARM芯片的设计标准化非常高,这使得基于ARM芯片设计的设备之间的兼容性极高。

如果您在设计设备时使用ARM芯片,您可以放心,您的设备可以与大多数其他ARM芯片的设备以及开发板互通。

7.多种寄存器存储器模式:不同于其他流行的体系结构,ARM体系结构支持多种寄存器存储器模式,从而可以有效地存储更多数据。

这是ARM芯片与其他芯片最显著的不同之处之一。

总之,ARM体系结构作为一种低功耗、高效、易于编程的微型计算机体系结构,成为多种领域的首选芯片。

随着技术的不断发展,ARM芯片的性能和价格都在不断提升,这将进一步拓展ARM芯片的应用范围。

ARM体系架构

ARM体系架构
Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Fetch
该例中用6个时钟周期执行了6条指令 所有的操作都在寄存器中(单周期执行) 指令周期数 (CPI) = 1
高速缓存(CACHE)
1、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以提 高内存的平均性能。
2、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内容的
拷贝。
高 数据

CACHE
CPU
缓 存
主存


地址

数据
总线和总线桥
CPU
高速总线
低速设备
低速总线
软硬功能分配 复杂指令增加硬件的复杂度,使指令执行周期大大加长 ,直接访存次数增多,数据重复利用率低。
不利于先进指令级并行技术的采用 流水线技术
RISC基本设计思想
精简指令集:保留最基本的,去掉复杂、使用频度不高的指令 (选取运算指令、加载、存储指令和转移指令作主指令集) ,以减小CPI: CPUtime=Instr_Count * CPI * Clock_cycle
CISC的主要缺点
指令使用频度不均衡。 高频度使用的指令占据了绝大部分的执行时间,扩充的 复杂指令往往是低频度指令。
大量复杂指令的控制逻辑不规整,不适于VLSI工艺 VLSI的出现,使单芯片处理机希望采用规整的硬联逻辑 实现,而不希望用微程序,因为微程序的使用反而制约 了速度提高。(微码的存控速度比CPU慢5-10倍)。
IC—程序中指令数,CPI—每条指令执行所有周期数

1、ARM体系结构

1、ARM体系结构

ARM全球合作伙伴(合作模型)
ARM产品应用领域
Samsung ML5100A Diamond Multimedia Rio 600 JVC "Pixstar" GC-X1 Alba Bush Internet TV
3Com 10/100 PCI NIC
Nintendo Gameboy Advance Lexmark Z52 Color Jetprinter HP Jornado 820
5TE
XScale ARM1020E
6
Thumb-2 SIMD Instructions Multi-processing
7
CoreSight
Improved ARM/Thumb ARM9E-S Interworking ARM966E-S CLZ Saturated arithmetic DSP multiplyaccumulate instructions Extensions: Jazelle (5TEJ)
• •
该例中,用6周期执行了4条指令 指令周期数 (CPI) = 1.5
分支流水线举例
Cycle 1 2 L 3 4 5 6 7 8 9
Address
0x8000 0x8004 0x8008 0x8FEC 0x8FF0 0x8FF4
Operation
BL 0x8FEC SUB ORR AND ORR EOR
Iomega HipZip
Sony MZ-R90 MiniDisc
Ericsson R38Share
Nokia Mediamaster
Psion Revo Plus
ARM体系结构的发展
4T
Halfword and signed halfword / byte support System mode Thumb instruction set ARM7TDMI ARM720T ARM9TDMI ARM940T ARM920T

ARM体系架构解析

ARM体系架构解析
T: Thumb support

标志
含义
说明
支持Thumb指令集 Thumb指令集版本1:ARMv4T
Thumb指令集版本2:ARMv5T
Thumb-2:ARMv6T
D
片上调试
使处理器能够停止,以响应调试请求
M
支持长乘法
32位乘32位得到64位,32位的乘加得到64位
T
I
E
J
S
Embedded ICE 提供片上断点和调试点

流水线:是把一个重复的过程分解为若干个子过
程,每个子过程可以与其他子过程同时进行。

于这种工作方式与工厂中的生产流水线十分相似,
因此,把它称为流水线工作方式。
处理器按照一系列步骤来执行每一条指令。典
型的步骤为:
1 从存储器读取指令 fetch
2 译码以鉴别它是哪一类指令 dec
3 从寄存器组取得所需的操作数 reg
Reg
Read
Shift
ALU
Reg
Write
Reg Select
DECODE
EXECUTE
ARM9TDMI
Instruction
Fetch
FETCH
ARM or Thumb
Inst Decode
Reg
Decode
Shift + ALU
Reg
Read
DECODE
EXECUTE
Memory
Access
2 指令译码 Instruction Decode :TD
3 执行指令 Instruction Execute :TE
4 存储 Storage :TS

第2 章 ARM体系结构及编程模型(OBE)汇总

第2 章 ARM体系结构及编程模型(OBE)汇总

ARM9TDMI的五级流水线
2020/6/24
ARM7TDMI与ARM9TDMI流水线比较
3.ARM9TDMI的五级流水线
ARM7TDMI与ARM9TDMI流水线比较
2020/6/24
ARM7和ARM9流水线比较
• 5级流水线的ARM9内核是哈佛架构,拥有独立的 指令和数据总线;指令和数据的读取可以在同一周 期进行;
ARM1020E XScale ARM9E-S ARM966E-S
SIMD Instructions
6
Multi-processing
V6 Memory architecture (VMSA)
Unaligned data
support
ARM1136EJ-S
ARM系列产品命名规则
ARM 926EJ-S
ARM体系结构的特点
• 1) RISC型处理器结构
– (LOAD/STORD, I-cache, D-cache)
• 2)Thumb指令集 (32/16) • 3)多处理器状态模式 (7) • 4)两种处理器工作状态(2) • 5)嵌入式在线仿真调试(ICE-RT ,JTAG) • 6)灵活方便的协处理器接口 (16个) • 7)低电压功耗的设计
ARM体系结构的发展
Halfword
4
1
and signed halfword /
byte support
System
2
mode
SA-110 SA-1110
3
Early ARM architectures
Thumb instruction set
ARM7TDMI
4T
ARM9TDMI
ARM720T

第三节ARM体系结构

第三节ARM体系结构
SPSR_fiq
一般的通用寄存器
寄存器类别 寄存器在汇编中的名称
用户
系统
R0(a1)
R1(a2)
R2(a3)其中R0~R7为
R3(a4)
未R分4(v1) 组的寄存器,也
通用寄存器 和程序计数

就R是5(v2) 说对于任何处理 R6(v3)
器R模7(v4) 式,这些寄存器 都对应于相同的32位 R8(v5)
管理 (svc) 操作系下统保访护问代码用户模系统式复位的和寄软件存中器断响就应比时进较入方此模式
中止 (abt) 未定义 (und)
用或于存支储便 可持器虚 保,以拟护而使内存且用和操这/ 作个在A系模RM统式7TD的访MI一问没有些一大用特 些处权 受任 控务 的 支软持件硬仿资件真协源处。理器的 未定义指令异常响应时进入此模式
各模式下实际访问的寄存器
用户
系统
管理
中止
未定义
RR00
在汇编语言中寄存
R1
器R0~R13为保存数据
R2
或地址值的通用寄存器。
R3
它们是完全通用的寄存器, R4
不会被体系结构作为特殊
R5
用途,并且可用于任何使
R6
用通用寄存器的指令。
R7
R8
R9
R10
R11
R12
R13
RR1133__ssvc
R13_abt
SSPPSSRR__fifqiq
ARM状态各模式下可以访问的寄存器
寄存器类别 寄存器在汇编中的名称
通用寄存器和 程序计数器
状态寄存器
R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13(SP) R14(LR) R15(PC) CPSR SPSR

ARM体系结构

ARM体系结构

ARM体系结构
ARM作为一种微处理器体系结构,具有广泛应用范围、高性价比、低功耗等优势,在晶体管规模以及架构方面有着很大的节省,因而受到了越来越多应用者的青睐。

ARM体系结构包括处理器(Processor)、片外存储器(External Memory)、I/O接口(Input/Output Interface)、外围器件(Peripheral Devices)、软件支持(Software Support)等内容。

从处理器来说,ARM体系结构提供了一系列非常细分的机型,它们有不同的特性和操作速度,可以满足不同的性能需求,而且这些机型一般都有较高的可缩放性,所以在产品设计的过程中可以根据实际要求选择合适的特性和速度。

从片外存储器来说,ARM体系结构支持使用不同类型的存储器,比如SRAM、DRAM、Flash等,可以根据应用性能和耗电量的需求,来选择合适的存储器以满足不同应用场景的需求,而且存储器容量也比较可观,一般可以满足大部分应用场景的要求。

从I/O接口来说,ARM体系结构支持多种接口,如USB、I2C、SPI、UART等,通过这些接口可以与周边的外设进行连接,而这些接口的功耗和速度也比较低。

5ARM体系结构

5ARM体系结构

配备MMU和 最快 最高 Cache
合理
媒体播放器,产品举 例:MP3,机顶盒, iPOD,智能手机,
PAD
去除MMU, 较快 合理 备有Cache
较低
数字信号处理,产品 举例:汽车ABS系统, 路由器,交换机,航 电系统
没有存储子 系统,即不 含MMU。
5
体系结构版本V3
这个体系结构版本将寻址范围扩展到了32位。 当前程序状态信息由过去存于R15中移到一个 新的当前程序状态寄存器CPSR(Current Program Status Register)中。增加了程序状态 保存寄存器SPSR(Saved Program Status Registers),以便当异常出现时保留CPSR的 内容。增加了2个指令(MRS和MSR),允许 访问新的CPSR和SPSR寄存器。
ARM状态,运行32位的ARM指令集 Thumb状态,运行16位的Thumb指令集 在任何一种工作状态可以通过转移指令切换到另一种
工作状态。 ARM和Thumb之间的状态切换不影响处理器工作模式
和寄存器中的内容。 加电起动时处理器工作在ARM状态。
2024/2/22
12
指令集压缩
对于传统的微处理器体系结构,指令和数据具有同样 的宽度。 与16位体系结构相比,32位体系结构在操纵32位数 据时呈显了更高的性能,并可更有效地寻址更大的 空间。 一般来讲,16位体系结构比32位体系结构具有更高 的代码密度,但只有近似一半的性能。
提高了T变量中ARM/Thumb之间切换的效率; 让非T变量同T变量一样,使用相同的代码生成技 术。增加了一个前导零计数(count leading zeros) 指令,该指令允许更有效的整数除法和中断优先 程序;增加了软件断点指令;为协处理器设计者 增加了更多可选择指令;对由乘法指令如何设置 标志进行了定义。

arm体系结构特点

arm体系结构特点

arm体系结构特点
ARM 体系结构是一种广泛使用的 32 位微处理器体系结构,具有以下特点:
1. 简单的指令集:ARM 指令集是一种 RISC(精简指令集计算机)指令集,它具有固定长度的指令和简单的指令格式。

这种简单的指令集可以提高指令的执行速度和效率,同时也可以减少指令的解码时间。

2. 高效的流水线:ARM 体系结构采用了高效的流水线技术,可以在一个时钟周期内执行多条指令。

这种流水线技术可以提高指令的执行速度和效率,从而提高处理器的性能。

3. 低功耗设计:ARM 体系结构采用了低功耗设计,可以在不影响性能的情况下降低处理器的功耗。

这种低功耗设计对于移动设备和嵌入式系统非常重要,可以延长设备的电池寿命。

4. 可扩展性:ARM 体系结构具有很好的可扩展性,可以通过增加更多的寄存器和指令来扩展处理器的功能。

这种可扩展性可以满足不同应用的需求,例如多媒体处理、网络通信等。

5. 支持Thumb 指令集:ARM 体系结构还支持 Thumb 指令集,这是一种 16 位的指令集。

Thumb 指令集可以在不损失性能的情况下减少代码的大小,从而节省存储空间。

6. 强大的异常处理机制:ARM 体系结构具有强大的异常处理机制,可以处理各种硬件和软件异常。

这种异常处理机制可以提高系统的可靠性和稳定性。

总之,ARM 体系结构具有简单的指令集、高效的流水线、低功耗设计、可扩展性、支持Thumb 指令集和强大的异常处理机制等特点,这些特点使得 ARM 体系结构成为了移动设备和嵌入式系统领域的主流处理器体系结构。

简述arm体系结构分类(一)

简述arm体系结构分类(一)

简述arm体系结构分类(一)ARM体系结构分类1. ARMv6•简介: ARMv6是ARM体系结构的第六代版本。

它具有较低的功耗和成本,通常应用在低功耗设备中。

•特点: ARMv6体系结构采用了3阶流水线架构,拥有较低的指令集,并支持ARM和Thumb指令集。

•应用: ARMv6常用于便携式嵌入式设备,如智能手机、音乐播放器等。

2. ARMv7•简介: ARMv7是ARM体系结构的第七代版本。

它拥有强大的计算和浮点运算能力,通常应用在高性能嵌入式设备和移动设备中。

•特点: ARMv7体系结构具有多达13个流水级的流水线架构,支持Thumb-2指令集和NEON SIMD指令集,提供更高的性能和效率。

•应用: ARMv7广泛应用于智能手机、平板电脑、数字电视、游戏控制台等高性能嵌入式设备。

3. ARMv8•简介: ARMv8是ARM体系结构的第八代版本,也被称为ARM64或AArch64。

它是ARM架构的64位扩展,具有更大的内存寻址能力和更强的计算能力。

•特点: ARMv8体系结构采用了8阶流水线架构,支持ARM和Thumb指令集,并引入了AArch64指令集以支持64位应用程序。

•应用: ARMv8主要应用于高性能服务器、云计算、数据中心等场景,以及高端Android和iOS设备。

4. ARM Cortex-A系列•简介: ARM Cortex-A系列是面向高性能应用的ARM核心系列,拥有强大的处理能力和高级特性。

•特点: Cortex-A系列处理器采用了乱序执行架构,具有多核处理能力和大型高速缓存。

它们支持虚拟内存管理、大页表和多级缓存等高级特性。

•应用: Cortex-A系列广泛应用于高性能嵌入式系统、移动设备、智能电视以及网络设备等。

5. ARM Cortex-R系列•简介: ARM Cortex-R系列是面向实时应用的ARM核心系列,专注于高可靠性和可预测性。

•特点: Cortex-R系列处理器采用了内核锁定技术,确保可靠的实时响应。

ARM体系结构ARM简介

ARM体系结构ARM简介

;从Arm形状(xíngzhuàn)切换到 Thumb形状(xíngzhuàn)
LDR R0,=Lable+1
BX
R0
;从Thumb形状(xíngzhuàn)切换到 ARM形状(xíngzhuàn)
LDR R0,=Lable
BX
R0
Lable
ADD
R0,R1,第R二十2一页,共43页。
跳转地址标号(偶数〕
尾执行也可进入ARM外形
BX Rm
第二十二页,共43页。
;从ARM外形(wài xínɡ)转变为 Thumb外形(wài xínɡ)
;从Thumb ARM外形(wài xínɡ) 转变为ARM外形(wài xínɡ)
勇于开始,才能找到成功的路
CODE32 LDR R0,=Label+1 BX R0
第九页,共43页。
ARM体系结构还采用一些特别的技术(jìshù),在保证高功用的 前提下尽量添加芯片的面积,并降低功耗
一切的ARM指令都可以依据前面的执行结武断议能否被执行, 从而提高指令的执行效率
可用加载/存储指令批量传输数据,以提高数据的传输效率。 可在一条数据处置指令中同时完成逻辑处置和移位功用。 在循环处置中运用地址的自动增减来提高运转效率
ARM Thumb
PC
PC
Fetch
从存储器中读取指令(zhǐlìng)
PC - 4 PC-2
PC - 8
PC - 4
Decode
Execute
解码(jiěmǎ)指令
寄存器读〔从寄存器Bank〕 移位及ALU操作 寄存器写〔到寄存器Bank 〕
PC指向正被取指的指令(zhǐlìng),而非正在执行的指令(zhǐlìng)

ARM体系结构

ARM体系结构

ARM体系结构
ARM体系结构,简称ARM(英语:Advanced RISC Machines),是一
种处理器架构,是一种精简指令集计算机(RISC)架构的家族,该家族目
前拥有多种系列处理器,被广泛应用于各种嵌入式应用,尤其是智能手机
和平板电脑的设备中,ARM架构是英国ARM公司的商标。

ARM架构拥有强
大的硬件设计灵活性,可以无需改变软件就可以调节硬件的特性,线条的
优化可以为系统提供更加高性能和更低的成本,使得ARM体系结构能够被
全球众多的计算机厂商和平台支持,并被广泛的应用在智能手机和平板电
脑上。

ARM架构系统的特色是具有节省空间和能耗的RISC体系结构,它支
持低功耗、体积小的设计。

其中,超标量处理器让系统中的微处理器可以
一次性处理多个指令,从而提高了执行效率;Branch prediction和容错
处理器,可以帮助系统快速解决复杂的冲突状况;Jazelle技术,基于
Java虚拟机技术,为系统提供了双重处理器架构,实现Java的加速运行;Multi-mode前沿技术,支持多核心处理,系统可以多个核心一起工作,
实现更高性能和能效的处理。

ARM架构针对不同的应用程序定制了不同的处理器体系结构,可根据
实际情况进行调整和灵活配置,满足不同系统的需求。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



25
2.程序状态寄存器



ARM9体系结构包含1个当前程序状态寄存器CPSR和5 个备份的程序状态寄存器SPSR CPSR又称为R16。在任何工作模式下,CPSR都是同 一个物理寄存器,它保存了程序运行的当前状态, 每种异常模式都有一个备份的程序状态寄存器SPSR; 当异常发生时,SPSR用于保留CPSR的状态。

BX指令 异常处理
15
2.2 ARM9存储器组织结构

ARM9体系结构采用32位长度地址,存储器地 址空间的字节地址范围是0~2^32-1(16进制 地址范围:0x00000000~0xffffffff,存储容量: 2^32=4GB字节)。
16
2.2.1 大端存储和小端存储

ARM9体系结构可以有两种格式存储字数据, 分别称为大端格式(big-endian)和小端格式 (low-endian),见下图所示。



对于分组寄存器,它们每一次所访问的物理寄存器与处 理器当前的工作模式有关。 对于R8~R12寄存器,每个寄存器对应两个不同的物理 寄存器。fiq模式下访问R8_fiq~R12_fiq;其他模式下访 问寄存器R8_usr~R12_usr。 R13、R14寄存器分别对应6个不同的物理寄存器,其中 的1个是用户模式与系统模式共用;另外5个物理寄存器 对应于其他5种不同的工作模式,采用R13_<mode>或 R14_<mode>记号来区分不同的物理寄存器,其中, <mode> 为usr、fiq、irq、svc、abt、und之一。
8
2.1.2 ARM9指令集特点


ARM9的指令集是依据RISC原理而设计的,指 令集和相关译码机制较为简单。 ARM9的指令系统中有一种16位的指令集Thumb指令集。在32位体系结构中实现了16 位指令集,以提供比16位体系结构更高的性能 和更高的代码密度。
9
2.1.2 ARM9指令集特点
12
2.1.3 ARM9工作模式

ARM9 TDMI处理器核共支持7种工作模式:


用户模式(usr) 系统模式(sys) 快速中断模式(fiq) 外部中断模式(irq) 异常 管理模式(svc) 模式 指令/数据访问终止模式(abt) 未定义指令中止模式(und) 。
普通模式
28
条件码标志位
N:正负号/大小 标志位
0表示:正数/大于;1表示:负数/小于
Z:零标志位
0表示:结果不为零;1表示:结果为零
C:进位/借位/移出位
加法运算有进位时,c=1, 减法运算有借位时c=0 移位运算时,c为移出值的最后一位
V:溢出标志位
0表示:结果未溢出;1表示:结果溢出
29
(2)控制位(控制域 C )


CPSR寄存器的低8位是I、F、T和M[4:0],称 为控制位。 当发生异常时,这些位可以被改变;当处理器 运行在特权模式时,这些位也可以由程序修改。


中断禁止位:包括I和F,用来禁止或允许IRQ和FIQ 两类中断。1表示禁止,0表示允许。 T标志位:T标志位用于标识/设置处理器的工作状态 工作模式位:工作模式位(M[4:0])用于标识或设置 处理器的工作模式。
11
2.1.3 ARM9工作模式

ARM9 TDMI处理用户模式(usr):ARM处理器正常执行程序时的处理。 快速中断模式(fiq):用于高速数据传输或通道处理。 外部中断模式(irq):用于通用的中断处理。 管理模式(svc):操作系统使用的保护模式。 指令/数据访问终止模式(abt):当数据或指令预取终止 时进入该模式,可用于虚拟存储及存储保护。 系统模式(sys):运行具有特权的操作系统任务时的模式。 未定义指令中止模式(und):当未定义的指令执行时进 入该模式,可用于支持硬件协处理器的软件仿真。
17
2.2.1 大端存储和小端存储



小端存储格式是ARM9默认的格式。可以通过 硬件输入引脚来配置它。若要求ARM9目标系 统支持小端存储格式,则将引脚BIGEND接低 电平,否则接高电平。 ARM9体系结构对于存储器单元的访问需要适 当地对齐,即访问字存储单元时,字地址应该 是字对齐(地址能被4整除);访问半字存储单 元时,半字地址应该半字对齐(地址能被2整 除)。 非对齐的存储器访问可能会导致不可预知的状 态。


1.Thumb指令集概况
ARM指令集为32位指令集,可以实现ARM架构下所 有功能。Thumb指令集是对32位ARM指令集的扩充, 它的目标是为了实现更高的代码密度。 它仅仅把常用的ARM指令压缩成16位的指令编码方 式。在指令的执行阶段,16位的指令被重新解码,完 成对等的32位指令所实现的功能。
14
2.1.3 ARM9工作模式


从程序代码的角度来看,有ARM状态和 Thumb状态两种工作状态。在ARM状态下, 处理器核执行32位的、字对齐的ARM指令; 在Thumb状态下,处理器核执行16位的、半字 对齐的Thumb指令。 在程序的执行过程中,随时可以在两种工作状 态之间切换,并且处理器工作状态的改变不影 响处理器的工作模式和相应寄存器中的内容。
30
例2.2:设在程序运行某时刻, CPSR寄存器的值如图2.7所 示。试说明处理器的条件标志、中断允许情况、工作状态以 及工作模式。
图2.7 CPSR的值 上述条件标志用符号可表示为nzCvq, 即C标志位置1, 其他标志位为0。 bit[7-6]为I、F,所以IRQ中断被使能,即允许CPU响应 IRQ中断,FIQ中断被禁止。
D M I E
片上调试 支持增强型乘法器 嵌入式ICE部件 DSP指令
J
Java加速器Jazelle
S
可综合
提供VHDL或Verilog HDL硬件描述 语言设计文件
5
ARM9通过增加时钟频率和减少指令执行 周期提高处理能力:
(1)时钟频率的提高
ARM9采用了五级流水线,ARM9增加的流水线设 计提高了时钟频率和并行处理能力。在同样的加工工艺 下,ARM9 TDMI处理器的时钟频率是ARM7 TDMI的2 倍左右。
bit[5]为t,所以处理器工作在ARM状态。
bit[4-0]为10011,由P29表2.3可知系统工作于管理模 式(svc)。
31
(3)保留位 CPSR寄存器中的其余位是保留位,保留位主要用于 ARM版本的扩展。
(2)指令周期的改进
指令周期的改进有助于处理器性能的提高。指令周 期数改进最明显的是load指令和store指令。
6
2.ARM9体系结构的五级流水线
图2.2 ARM9的流水线 (1)取指 (2)译码 (3)执行 (4)访存 (5)回写
7
3.AMBA总线接口

AMBA(advanced Microcontroller Bus Architecture) 是ARM公司颁布的总线标准,可以方便地扩充各 种处理器及I/O,可以把DSP、其他处理器和I/O (如UART、定时器和接口等)都集成在一块芯片 中。该标准定义了如下三种总线:
21
1.通用寄存器

通用寄存器包括R0~R15寄存器,可分成未分 组寄存器、分组寄存器及程序计数器三种。

(1)未分组寄存器R0~R7

在所有工作模式下,它们在物理上是同一个寄存器。 不管在哪种工作模式下,若访问Ri寄存器,访问到的 是同一个32位的物理寄存器Ri。
22
1.通用寄存器

(2)分组寄存器R8~R14
18
2.2.2 I/O端口的访问方式

一般来说I/O端口的访问有存储器映射方式 (端口地址和存储器统一编址),以及I/O映 射方式(I/O端口地址与存储器分开独立编址) 两种。



存储映射:对端口的访问使用访存指令,访问 端口即可以实现I/O操作,并可以直接对端口内 容进行运算。缺点是占用了存储空间。 I/O映射:使用专门的I/O指令,不占用存储空间。 I/O操作和存储操作层次清晰,程序可读性强。 ARM9采用存储映射方式。
特权 模式
13
2.1.3 ARM9工作模式

ARM9 TDMI处理器核共支持7种工作模式:


处理器核的运行(工作)模式可以通过软件的 控制改变,也可以通过外部中断或异常处理改 变。 当某种异常发生时,ARM9 TDMI处理器核即进 入相应的工作模式。每种工作模式下均有其附 加的某些寄存器,因此,即使有异常情况发生, 异常模式下的处理程序也不至于破坏用户模式 的数据及状态。
26

CPSR分为四个位域:

C:控制域,[7:0],CPSR_c X:扩展域,[15:8],CPSR_x S:状态域,[23:16],CPSR_s F:条件域,[31:24],CPSR_f
27
(1)条件码标志(条件域 f )
CPSR寄存器的高4位是N、Z、C、V(Negative、 Zero、Carry、Overflow),称为条件码标志位。它们的内 容可被算术或逻辑运算的结果所改变,并且可以决定某条指 令是否被执行。CPSR中的条件码标志可由大多数指令检测 以决定指令是否执行。在ARM状态下,绝大多数的指令都 是有条件执行的。通常条件码标志可以通过执行比较指令 (CMN、CMP、TEQ、TST)、一些算术运算、逻辑运算 和传送指令进行修改。
19
2.2.3 内部寄存器

ARM9处理器内部共有37个32位寄存器,可分 成通用寄存器和状态寄存器两大类。

通用寄存器用于保存数据或地址;状态寄存器 用来标识或设置存储器的工作模式或工作状态 等功能。

37个寄存器中,31个用作通用寄存器,6个用 作状态寄存器。
相关文档
最新文档