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体系结构

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(未定义指令中止模式):当未定义的指令执行时进入该 模式,可用于支持硬件协处理器的软件仿真。
ARM体系架构解析ppt课件

2)提供了较大的存储器带宽,各自有自己的
总线。
3)适合于数字信号处理.
4)大多数DSP都是哈佛结构.
5)ARM9是哈佛结构
6)取指和取数在同一周期进行,提高速度,
改进哈佛体系结构分成三个存储区:程序、数据、
程序和数据共用。
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
6)将结果回写到寄存器组(res)
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
流水线技术
❖
三级流水线技术
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
因此,把它称为流水线工作方式。
处理器按照一系列步骤来执行每一条指令。典
型的步骤为:
1)从存储器读取指令(fetch)
2)译码以鉴别它是哪一类指令(dec)
3)从寄存器组取得所需的操作数(reg)
4)将操作数进行组合以得到结果或存储器地址(exe)
5)如果需要,则访问存储器存取数据(mem)
冯·诺依曼体系的特点
1)数据与指令都存储在同一存储区中,取指
令与取数据利用同一数据总线。
❖ 2)被早期大多数计算机所采用
❖ 3)ARM7——冯诺依曼体系
❖
结构简单,但速度较慢。取指不能同时取数据
经营者提供商品或者服务有欺诈行为 的,应 当按照 消费者 的要求 增加赔 偿其受 到的损 失,增 加赔偿 的金额 为消费 者购买 商品的 价款或 接受服 务的费 用
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体系结构与编程
一、ARM体系结构
ARM(Advanced RISC Machine)是由英国ARM公司开发的一种低功耗、超低成本的处理器架构,是移动设备的首选处理器。
ARM架构的处理器有ARM7、ARM9、ARM11、 Cortex-A8 、Cortex-A15等,它们核心架构特点为以下几点:
1.保护模式。
ARM架构的处理器能够在用户模式和两个高级的保护模式之间来回切换。
2.对齐式存储。
ARM架构的处理器采用对齐方式,其二进制指令必须按照固定的位置排列,以便提高存储空间的利用率。
3.浮点处理单元。
ARM架构的处理器具有浮点数处理功能,使数值运算能够高效率地完成。
4.多级缓存。
ARM架构的处理器将原始数据复制到不同级别的快速缓存中,以便快速访问。
二、ARM程序的编程
1、ARM程序的编写
ARM程序的编写可以使用C语言编写,程序开发者需要掌握ARM架构各种中央处理器扩展指令集的使用方法,以便获得更好的效率。
2、编译ARM程序
ARM程序的编译是使用GNU的gcc编译器进行的,它可以将C语言编写的程序编译成ARM架构的机器码,并可以在ARM架构的处理器上运行。
3、调试ARM程序
ARM程序的调试使用GDB程序调试,它可以提供丰富的调试工具,可以跟踪程序执行的步骤,提供全面的程序反馈信息,可以帮助开发者快速定位程序运行出错的地方。
三、总结。
ARM体系结构

ARM9TDMI处理器一个显著的特点是采用 指令和数据分离访问的方式,即采用了指令 缓存(I-Cache)和数据缓存(D-Cache)。 这样可以把指令访问和数据访问单独安排1级 流水线。
2015/9/28
9
ARM9处理能力的提高是通过增加时钟频率和减少指令执行周期实 现的。 (1)时钟频率的提高 ARM9采用了五级流水线,而ARM7采用的是三级流水线,ARM9增 加的流水线设计提高了时钟频率和并行处理能力。五级流水线能够将各 条指令处理分配到5个时钟周期内,在每个时钟周期内同时有5条指令在 执行。在同样的加工工艺下,ARM9 TDMI处理器的时钟频率是ARM7 TDMI的2倍左右。 (2)指令周期的改进 指令周期的改进有助于处理器性能的提高。性能提高的幅度依赖于 代码执行时指令的重叠。 ① load指令和store指令 指令周期数改进最明显的是load指令和store指令。 ② 互锁(interlock)技术 当指令需要的数据因为以前的指令没有执行完,将产生管道互锁。管
操作系统的保护模式 指令或数据预取操作中止时的模 式,该模式下实现虚拟存储器或 存储器保护 当执行未定义的指令时进入该模 式 响应普通中断时的处理模式
未定义模式 IRQ模式
Und Irq
FIQ模式
Fiq
响应快速中断时的处理模式
2015/9/28
21
处理器工作模式
ARM微处理器的运行模式可以通过软件改变,也可以通 过外部中断或异常处理改变。 大多数的应用程序运行在用户模式下,当处理器运行在 用户模式下时,某些被保护的系统资源是不能被访问的。 除用户模式以外,其余的6种模式称为非用户模式或特 权模式; 除去用户模式和系统模式以外的5种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。
ARM体系架构

该例中用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—每条指令执行所有周期数
ARM架构

R13(SP)
R13
R13
R13_svc R13_svc R14_svc R14_svc
2-3-1 ARM状态下的寄存器组织
寄存器类别 寄存器在汇编中的名 称 用户 用户 R0(a1) R1(a2) R2(a3) R3(a4) R4(v1) R5(v2) R6(v3) 通用寄存器 和程序计数 器 R7(V4) R8(V4) R9(SB,v6) R0 R0 R1 R1 R2 R2 R3 R3 R4 R4 R5 R5 R6 R6 R7 R7 R8 R8 R9 R9 R10 R10 R11 R11 R8 R9 各模式下实际访问的寄存器 系统 系统 管理 管理 中止 中止 R0 R1 R2 R3 R4 R5 R6 R7 R8_fiq R8_fiq R9_fiq R9_fiq R10_fiq R10_fiq R11_fiq R11_fiq 未定义 未定义 中断 中断 快中断 快中断
1-4-1 常见ARM微处理器系列介绍
ARM9系列微处理器在高性能和低功耗特性方面提供 最佳的性能:
5级整数流水线,指令执行效率更高。 提供1.1MIPS/MHz的哈佛结构。 支持32位ARM指令集和16位Thumb指令集。 支持32位的高速AMBA总线接口。 全性能的MMU,支持Windows CE、Linux、Palm OS 等多种主流 嵌入式操作系统。 MPU支持实时操作系统。 支持数据Cache和指令Cache,具有更高的指令和数据处理能力。
2-1 ARM微处理器的工作状态
处理器状态: ARM9处理器内核使用V4T版本的ARM结构,具有 两种操作状态:
ARM状态:32位,这种状态下执行的是字方式的ARM指令 Thumb状态:16位,这种状态下执行半字方式的ARM指令。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TI公司的TMS320系列 Motorola公司的DSP5600系列
09.03.2020
嵌入式片上系统
从整个系统的功能和性能出发,用软硬 件结合的设计和验证方法,将微处理器 核和存储器等集成在单一芯片上。
SoC可分为2类
通用:Infineon公司的TriCore、Motorola公 司的M-Core,某些ARM系列器件及Echelon 公司和Motorola公司联合研制的Neuron芯片
1、ARM体系结构的特点
ARM内核采用RISC体系结构 主要特征:
大量的寄存器 Load/Store体系结构 每条指令都条件执行 多寄存器的Load/Store指令
09.03.2020
工用作户模模2式式、(UsAerR) M处简理u写sr器工作正常模程序式执行模式 描述
快速中断 模式 (FIQ)
专用:Philips公司的Smart XA
09.03.2020
2.2.2 嵌入式微处理器的选择原则
型号
处理器
主频(MHz)
卡西欧 Cassiopeia E-100 系列 MIPS-based NEC VR4121
131
康柏 Aero 2100 系列
MIPS-based NEC VR4111
70
备份程序状态寄存器(Saved Program Status Register,SPSR)在每种异常模式下都对应一 个物理寄存器,当有异常中断发生时,它用于 保存CPSR的内容,以便异常返回后恢复异常中 断发生前的工作状态。
存器外,其余模式都有各自的物理寄存器
R15 ,程序计数器PC,用于标识下一条将要执 行指令的地址
09.03.2020
(2)状态寄存器CPSR、SPSR
当前程序状态寄存器(Current Program Status Register ,CPSR )在任何模式下都可 以被访问,它包含了条件标志位、中断标志位、 当前处理器模式、以及其它的一些状态和控制 位
09.03.2020
2.2.3 典型的嵌入式微处理器
ARM处理器 PowerPC处理器 FPGA(Field Programmable Gate Array
现场可编程门阵列) SoC(System on Chip)
09.03.2020
2.3 ARM体系结构和指令集
2.3.1 ARM公司简介 2.3.2 ARM系列微处理器 2.3.3 ARM体系结构和指令集
嵌入式片上系统SOC
嵌入式微处理器
将微处理器装配在专门设计的印制电路板上, 只保留和嵌入式应用精密相关的功能硬件,去 除其它冗余的功能部件,配上必要的外围扩展 电路,大幅减少系统的体积和功耗。
主流的嵌入式微处理器
ARM MIPS PowerPC X86等
09.03.2020
级操作系统任务
3、寄存器组织 用户模式 系统模式 管理模式 中止模式 未定义指令中止模式 R0 R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R13_svc R13_abt
R13_und
R14
R14_svc R14_abt
R14_und
160
康柏 iPAQ H3650
Intel StrongARM SA-1110
206
部分掌上电脑处理器一览表
09.03.2020
2.2.2 嵌入式微处理器的选择原则
1、选择哪一类处理单元 2、选择哪个厂商的产品
09.03.2020
2.2.2 嵌入式微处理器的选择原则
低成本 低功耗 恰当的处理能力 技术指标 调查市场上已有的CPU供应商 合适的嵌入式操作系统支持 与原有产品的兼容 编程语言的限制 上市时间 处理器供应商是否提供开发板
09.03.2020
2.3.2 ARM系列微处理器
- ARM7系列 - ARM9/9E系列 - ARM10E系列 - SecurCore系列 - Intel的Xscale - Intel的Strong ARM
09.03.2020
ARM系列处理器属性比较
项目
ARM7 ARM9 ARM10 ARM11
fiq 一个高优先级中断产生时进入该 模式,用于高速数据传输和通道
外部中断模式
irq 一个低优先级中断产生时进入该
(IRQ除) 用户模式以外的其他6种处模理式器,模用式于称通为常特的权中模断处理 特权模式式,(其管中理快模速式中) 断模sv式c 、外复部位中或断软模中式断、指特令权执模行式时、进入该
哈佛结构
嵌入式RISC和CISC微处理器
RISC(Reduced Instruction Set Computer)精 简指令集计算机,重点是如何使计算机的结构 更加简单和如何使计算机的处理速度更加快速, 代表性的通用系列有Atmel公司的AT91系列、 三星公司的S3C系列、Marvell公司的PXA系列 等
指指标令集RISC和RC一ISI个CS周C期之执行间一主条指要令,的区指令别长度CI不SC固定,
通过简单指令的组合实现 执行需要多个周期
复杂操作,指令长度固定
流水线
流水线每周期前进一步
指令的执行需要调 用微代码的一个微 程序
寄存器
更多通用寄存器
专用寄存器
Load/Store结构 独立的Load和Store指令 处理器能够直接处 完成数据在寄存器和外部 理存储器中的数据
流水线深度
3级
5级
6级
8级
典型频率(MHz) 80
150
260
335
功耗(mw/MHz) 0.06
0.4(+cache)
0.19(+cache) 0.5(+cache)
MIPS/MHz 0.97
1.1
1.3
1.2
架构 佛
冯.诺依曼 哈佛
哈佛
哈
09.03.2020
哈佛总线体系结构
冯·诺依曼结构
09.03.2020
NOR Flash
在芯片内执行,可以直接读取芯片内储存的数据, 因而速度比较快。应用程序直接在Flash内运行, 不必把代码读到系统RAM中运行
地址线与数据线分开,可以以“字”为基本单位 操作
写操作需要擦除和写入两个过程,每次擦除只能 擦除一个扇区,不能逐个字节擦除
擦除速度慢,以64~128KB的块为单位 主要用于代码存储介质中 最大可擦写次数10万次
对嵌入式系统的应用项目来说,系统的关键并不单纯在于 微处理器的速度,而在于系统性能、功耗和成本。
09.03.2020
2.3.3 ARM体系结构和指令集
1、ARM体系结构的特点 2、ARM处理器工作模式 3、寄存器组织 4、ARM处理器的寻址方式 5、ARM处理器的指令集
09.03.2020
Flash
一种非易失闪存,它具有和ROM一样掉电后数 据不会丢失的特性。Flash是目前嵌入式系统中 广泛采用的主流存储器
主要特点是按整体/扇区擦除和按字节编程,具 有低功耗、高密度、小体积等优点
09.03.2020
Flash
NOR Flash NAND Flash
09.03.2020
1、嵌入式处理器
嵌入式处理器的组成
处理器内核 地址总线 数据总线 控制总线 片上I/O接口电路及辅助电路
09.03.2020
2、嵌入式系统中的存储设备
RAM、SRAM、DRAM
RAM即是我们通常所说的内存。RAM又可分为 SRAM(静态存储器)和DRAM(动态存储器)
存储器之间的传输
09.03.2020
ARM设计思想
(1)ARM微处理器被设计成较小的核,降低功耗,延长 电源的使用时间。
(2)存储量有限,这就要求嵌入式系统需要使用高密度 代码。
(3)嵌入式系统对成本敏感,一般选用速度不高,成本 较低的存储器,以降低系统成本。
(4)ARM内核不是一个纯粹的RISC体系结构,这是为使 它能够更好地适应其嵌入式的应用领域。
未备份寄存器(the unbanked register)R0~R7
没有被系统用于特殊的用途,而且在各模式下它们 对应同一个物理寄存器
备份寄存器(the banked register)R8~R14
R8~R12对应两组物理寄存器 R13、R14除了系统模式和用户模式共用一组物理寄
PC(R15)
CPSR
SPSR_svc SPSR_abt
SPSR_und
外部中断模式
R13_irq R14_irq SPSR_irq
快速中断模式
R8_fiq R9_fiq R10_fiq R11_fiq R12_fiq R13_fiq R14_fiq
SPSR_fiq
09.03.2020
(1)通用寄存器R0~R15
09.03.2020
2.2 嵌入式微处理器
2.2.1 嵌入式处理器的分类 2.2.2 嵌入式微处理器的选择原则 2.2.3 典型的嵌入式微处理器
09.03.2020
2.2.1 嵌入式处理器的分类
嵌入式微处理器MPU
嵌入式处理器
09.03.2020
嵌入式微控制器MCU 嵌入式DSP处理器
嵌入式微控制器
最初的表现形式是单片机 将整个计算机系统的主要硬件集成到一
块芯片上。 主流的MCU
MCS51 P51XA MCS-251等
09.03.2020
嵌入式数字信号处理器