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

Cort ex-M35P
Cort ex-M7
Cort ex-M4
Cort ex-M33
Cort ex-M38 Cort ex-M0
C ort ex-M1
Cortex-M0+ Cortex-M23
嵌入式系统设计
图2-1 Cortex系列处理器发展历程简图
1
4
2.2 ARM指令集体系结构的发展
网络应用: 随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步
基于ARM技术的微处理器应用约占据了32位RISC微 处理器75%以上的市场份额,ARM技术正在逐步渗 入到我们生活的各个方面。
嵌入式系统设计
4
2.1 ARM简介
世界各大半导体生产商从ARM公司购买其设计 的ARM微处理器核,根据各自不同的应用领域,加 入适当的外围电路,从而形成自己的ARM微处理器 芯片进入市场。
指令的强弱是CPU的重要指标,指令集是提高微处理器效率的最有效工具 之一。从现阶段的主流体系结构来讲,指令集可分为复杂指令集(CISC) 和精简指令集(RISC)两部分。
1.CISC机器 CISC体系的指令特征为使用微代码,计算机性能的提高往往是通过增加 硬件的复杂性来获得的。
优点:指令丰富,功能强大,寻址方式灵活,能够有效缩短新指令的微 代码设计时间,允许设计师实现CISC体系机器的向上相容。 缺点:指令集及晶片的设计比上一代产品更复杂,不同的指令需要不同 的时钟周期来完成,执行较慢的指令,将影响整台机器的执行效率。
➢ 符号化和非符号化半字及符号化字节的存/取指令;
➢ 增加了16位Thumb指令集;
➢ 完善了软件中断SWI指令的功能;
➢ 处理器系统模式引进特权方式时使用用户寄存器操作;

ARM嵌入式系统 第2章 ARM体系结构.ppt

ARM嵌入式系统 第2章  ARM体系结构.ppt
读写总
数 据 总
数据线总线
线
扫扫
描链描链1 扫描11 链
CPU
EmbeddedICE-RT TAP 控制器
协处理器 信号接口
CPU协处 理接口信

DBGTCKEN DBGTMS
DBGnTRST DBGTDI DBGTDO
片上调试系 统
ARM功能框图
时钟 中断 总线控制 仲裁
调试
CLK CLKEN
nIRQ nFIQ nRESET
处理器模式说明备注用户usr正常程序运行的工作模式不能直接从用户模式切换到其它模式特权模式系统sys用于支持操作系统的特权任务等与用户模式类似但具有可以直接切换到其它模式等特权异常模式快中断fiq快速中断请求处理只有在fiq异常响应时才进入此模式中断irq中断请求处理只有在irq异常响应时才进入此模式管理svc供操作系统使用的一种保护模式只有在系统复位和软件中断响应时才进入此模式中止abt用于虚拟内存和或存储器保护在arm7内核中没有多大用处未定义und支持软件仿真的硬件协处理器只有在未定义指令异常响应时才进入此模式?处理器模式?处理器复位之后进入管理模式操作系统内核通常处于管理模式
取指 译码 执行
取指 译码 执行
取指 译码 执行
1234 在第1234个个周周期期,,PP指CC令指指1向向执指指行令令完123成,,,此此指时时令指指2令令和1 进 1指进入 令入3三三流级级水流流线水水推线线进的的一取译 执级指码 行,阶阶同段段时。,开同指始时令指取2令进出4入的指译 令 码 取2阶 指。段 处, 理取 。出指令3。
下面主要对ARM7系列核做简单介绍。
ARM7系列简介
该系列包括ARM7TDMI、ARM7TDMI-S、 带有高速缓存处理器宏单元的ARM720T和扩充 了Jazelle的ARM7EJ-S。该系列处理器提供 Thumb 16位压缩指令集和EmbededICE软件调试 方式,适用于更大规模的SoC设计中。

单片机课件第二章 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(未定义指令中止模式):当未定义的指令执行时进入该 模式,可用于支持硬件协处理器的软件仿真。

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—每条指令执行所有周期数

第2章ARM体系结构

第2章ARM体系结构

除法和中断优先级排队操作更为有效;

3、增加了BKPT(软件断点)指令;

4、为协处理器设计提供了更多的可供选择的指令;

5、更加严格地定义了乘法指令对条件码标志位的
影响。
六、版本V6 ARM体系版本6是2001年发布的。新架构V6
在降低耗电量的同时,还强化了图形处理性能。 通过追加有效进行多媒体处理的SIMD功能,将 语音及图象的处理功能提高到了原机型的4倍。 V6还支持微处理器内核。 七、版本V7-Cortex 前所未有的低成本实现
处理器 PC
存储器 指令
数据
2.1.1 计算机体系结构(2)
2. 哈佛体系结构
为数据和程序提供了各自独立的存储器。 程序计数器只指向程序存储器而不指向
数据存储器 两组数据线允许同时访问指令和数据
(访问指令和数据互不干扰)
2.1.2 RISC技术
CISC:复杂指令集计算机(Complex Instruction Set Computer)
3、对于FIQ模式,提供了额外的影子寄存器;
4、SWP指令及SWPB指令。
三、版本V3

版本3较以前的版本发生了大的变化,具体的改进如下:

1、地址空间扩展到了32位,但除了版本3G外的其他版本是
向前兼容的,也支持26位的地址空间;

2、分开的当前程序状态寄存器CPSR(Current Program
练习:
2. ARM7TDMI中的T、D、M、I的含义是什么? ARM7TDMI采用几级流水线?使用何种体系结构?
高密度 16 位的Thumb指令机扩展(带T 后缀的) 支持片上调试(带D 后缀的)、 64 位乘法指令(带M 后缀的)、 嵌入式ICE,支持片上点和调试点(带I 后缀的)

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体系结构与指令集(PPT152页)

ARM体系结构与指令集(PPT152页)
(1)N (2)Z (3)C (4)V
19
2.Q标志位
在带DSP指令扩展的ARM v5及更高版本中, bit[27]被指定用于指示增强的DAP指令是否发 生了溢出,因此也就被称为Q标志位。同样, 在SPSR中bit[27]也被称为Q标志位,用于在异 常中断发生时保存和恢复CPSR中的Q标志位。
20
(7)如果把Thumb指令集也当作ARM体系 结构的一部分,那么还可以加上:在Thumb体 系结构中以高密度16位压缩形式表示指令集。
6
2.2 ARM处理器工作模式
表2-1
ARM处理器的工作模式
处理器工作模式
简写
描述
用户模式(User)
usr 正常程序执行模式,大部分任务执行在这种模式下
快速中断模式(FIQ)
15
(2)当异常中断发生时,该异常模式特 定的物理寄存器R14被设置成该异常模式的返 回地址,对于有些模式R14的值可能与返回地 址有一个常数的偏移量(如数据异常使用SUB PC,LR,#8返回)。
R14也可以被用做通用寄存器使用。
16
2.3.2 状态寄存器
当前程序状态寄存器(Current Program Status Register,CPSR)可以在任何处理器 模式下被访问,它包含下列内容:
(1)R13_<mode> (2)R14_<mode>
其中,<mode>可以是以下几种模式之一: usr、svc、abt、und、irp及fiq。
14
寄存器R14又被称为连接寄存器(Link Register,LR),在ARM体系结构中具有下面 两种特殊的作用。
(1)每一种处理器模式用自己的R14存放 当前子程序的返回地址。

ARM课件第2章 ARM技术与ARM体系结构(2)

ARM课件第2章 ARM技术与ARM体系结构(2)

Fetch
Decode
Execute
Decode
Execute
Fetch
Decode
Fetch
Fetch
LDR 流水线举例
从数据异常返回
异常发生在 PC 被更新之后. 需要重新执行导致异常的指令 ARM Thumb www pc - 12 pc - 6 Data abort occurred here xxx pc - 8 pc - 4 yyy pc - 4 pc - 2 ARM lr = two instructions ahead zzz pc pc aaa pc + 4 pc + 2 Thumb lr = four instructions ahead 因此返回指令为: SUBS pc,lr,#8 Note : 表示异常返回后将执行的那条指令
从SWI 和 Undef异常返回 MOVS pc,lr 从FIQ, IRQ 和 预取异常(Prefect Abort)返回 SUBS pc,lr,#4 从数据异常( Data Abort)返回 SUBS pc,lr,#8 如果 LR之前被压栈的话使用LDM “ ^” LDMFD sp!,{pc}^
SVC
1
0x00000000
未定义指令
UND
6
0x00000004
软件中断SWI
SVC
6
0x00000008
预取指中止
ABT
5
0x0000000c
数据中止
ABT
2
0x00000010
保留
/
/
0x00000014
IRQ中断
IRQ
4
0x00000018
FIQ中断
FIQ

第2章 ARM体系结构

第2章  ARM体系结构

当前程序状态寄存器
CPSR CPSR SPSR_ fiq
ARM状态 程序状态寄存器
CPSR SPSR_svc CPSR SPSR_abt CPSR SPSR_irq CPSR SPSR_ und
程 序 计 数 器
备份程序状态寄存器
堆栈指针—R13

R13在ARM指令中常用作堆栈指针SP,但 这只是一种习惯用法,用户也可使用其他 的寄存器作为堆栈指针。 在Thumb指令集中,某些指令强制性的要 求使用R13作为堆栈指针。 由于处理器的每种运行模式均有自己独立 的物理寄存器R13,在初始化部分,都要 初始化每种模式下的R13,这样,当程序 的运行进入异常模式时,可以将需要保护 的寄存器放入R13所指向的堆栈,而当程 序从异常模式返回时,则从对应的堆栈中 恢复。
Thumb状态的寄存器组织
Thumb状态 通用寄存器和程序计数器
系统和用户 R0 R1 R2 R3 R4 R5 R6 R7 SP LR PC FIQ R0 R1 R2 R3 R4 R5 R6 R7 SP_ fiq LR_ fiq PC
管理
R0 R1 R2 R3 R4 R5 R6 R7 SP_ svc LR_ svc PC
在处理器进行异常处理时,把PC指 针放入异常模式链接寄存器中,并从 异常向量地址开始执行程序,也可以 使处理器切换到ARM状态。
进入Thumb状态
当操作数寄存器的状态位(位0)为1时, 可以采用执行跳转指令BX的方法,使微处 理器从ARM状态切换到Thumb状态。
当处理器处于Thumb状态时发生异常(如 IRQ、FIQ、Undef、Abort、SWI等), 则异常处理返回时,自动切换到Thumb状 态。 在开始执行代码时,微处理器应该处于ARM状态!

ARM课件第2章 ARM技术与ARM体系结构(1)

ARM课件第2章 ARM技术与ARM体系结构(1)

V7
ARM Cortex
ARM Cortex-A、ARM Cortex-R、ARM Cortex-M
TM
11
11
2.2 ARM内核模块
ARM处理器一般都带有嵌入式追踪宏单元 ETM(Embedded Trace Macro),它是 ARM公司自己推出的调试工具
TM
12
12
ARM调试结构
TM
13
TM
15
15
ARM7TDMI 内核
ABE A[31:0]
地址寄存器
P C
A
L
A
U
B
B
u
u
s
s
寄存器
乘法器
桶形 移位器
32 位 ALU
地址 自增器
Incrementer
PC Update
解码站
B 指令
解码
B
u
读数据
s
寄存器
写数据 寄存器
DBE
D[31:0]
TM
指令MCLK nWAIT
ARM9EJ-S
ARM7EJ-S
Saturated maths
ARM926EJ-S
DSP multiply-accumulate
instructions
SIMD SISIMDMD
S
6
ARM1020E
ARM9E-S
ARM11
XScale
ARM966E-S
SIMD
7
ARM Cortex
TM
8
8
2.1.2 ARM内核版本命名规则
TM
25
25
在这7种工作模式中,除了用户模式以外,其他6种 处理器模式可以称为特权模式,在这些模式下,程 序可以访问所有的系统资源,也可以任意地进行处 理器模式的切换。

ARM体系结构

ARM体系结构

Profile R是针对实时系统的
Profile M是针对低成本应用的优化的微控制器的。
•所有ARMv7 profiles实现Thumb-2技术,比纯32位 代码少使用31%的内存,高出38%的性能。同时还包 括了NEON™技术的扩展提高DSP和多媒体处理吞吐 量400% ,并提供浮点支持以满足下一代3D图形和 游戏以及传统嵌入式控制应用的需要。
ARM公司
Chengdu University of Information Technology
3
成立于1990年11月
前身为 Acorn计算机公司
主要设计ARM系列RISC处理器内 核
授权ARM内核给生产和销售半导 体的合作伙伴
ARM 公司不生产芯片
另外也提供基于ARM架构的开发 设计技术
ARM/Thumb的命名规范(Classic命名)
Chengdu University of Information Technology
14
由于ARM的每个版本都有一系列的可变版本,其命名 规范(Classic命名)如下:
1. 以A5)
3. 可变功能标识(T—表示支持Thumb指令,M---表示支 持乘法指令,E — 增强型DSP指令,J — Java加速器 Jazelle,SIMD — ARM媒体功能扩展),但是ARMv4和 其上的版本缺省都支持M功能,因此ARMv4和其上的版 本的标识中可以不用标识M.
11
•2001年推出ARMv6,它在许多方面做了改进如内存
系统、异常处理和较好地支持多处理器。
•SIMD扩展使得广大的软件应用如Video和Audio
codec的性能提高了4倍。
•Thumb-2和TrustZone 技术也用于ARMv6中。

ARM体系结构

ARM体系结构
Extensions: Jazelle (5TEJ)
SIMD Instructions Multi-processing v6 Memory architecture Unaligned data support
Extensions: Thumb-2 (6T2) TrustZone® (6Z) Multicore (6K) Thumb only (6-M)
17
Embedded Processors
Chengdu University of Information Technology
18
Which architecture is your processor?
Chengdu University of Information Technology
---ARM V4
Chengdu University of Information Technology
7
•ARMV4是目前支持的最老的架构,是基于32-bit地址 空间的32-bit指令集。ARMv4除了支持ARMv3的指 令外还扩展了:
支持halfword的存取 支持byte和halfword的符号扩展读 支持Thumb指令 提供Thumb和Normal状态的转换指令 进一步的明确了会引起Undefined异常的指令 对以前的26bits体系结构的CPU不再兼容
4. 如果3中描述的功能不存在,则在该功能标识符前加x
ARM处理器命名(Classic命名)
Chengdu University of Information Technology
15
采用上述的架构,形成一系列的处理器。有时候还要区
分处理器核和处理器系列。不过,在这里其实不用区分太细,

第二章 ARM体系结构

第二章 ARM体系结构

流水线操作
流水线技术:几个指令可以并行执行 内部信息流要求通畅流动 提高了CPU的运行效率
Add Sub Cmp
取指
译码 取指
执行add 译码 取指 执行sub 译码 执行cmp
时间
19
2.1.4 初始ARM 结构
20
ARM 体系结构的演变发展
version ARM1136J(F) V6 XScaleTM V5TE V5TEJ ARM1022E
17
LOAD –STORE 结构

RISC结构 CPU 仅处理寄存器中的数据,
采用独立的、专用的LOAD –STORE 指令 来完成数据在寄存器和外存之间的传送。 (访存费时,处理和存储分开,可以反 复的使用保存在寄存器中的数据,而避 免多次访问外存)。

CISC结构 能直接处理存储器中的数据。
18
38
2.3 流水线(pipeline)
39




流水线方式是把一个重复的过程分解为若干个子过程,每个 子过程可以与其他子过程同时进行。由于这种工作方式与工 厂中的生产流水线十分相似,因此,把它称为流水线工作方 式。 随着流水线的级数增加(深度),每一级的工作量减少这样 处理器的工作在更高频率,同时也改善了性能。 但同时增加了延迟,因为在内核执行一条指令前,需要更多 的周期来充填流水线。 流水线的级数增加也意味着在某些数据段之间产生数据相关。
Protection Unit
流水线 级别 5 5 5 5
Thumb 有 有 有 有
DSP 无 无 无 无
Jazelle 无 无 无 无
30
2.2.1.2 ARM9系列的升级
31
2.2.1.3 ARM9E Family
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.2.2 ARM体系结构的特点
(5)、嵌入式在线仿真调试; ARM体系结构的处理器芯片都嵌入了在线仿真ICE-RT逻辑,便于通过 JTAG来仿真调试芯片,省去了价格昂贵的在线仿真器。
(6)、灵活方便的接口; ARM体系结构具有协处理器接口,允许接16个协处理器。既可以使基 本的ARM处理器内核尽可能小,方便地扩充ARM指令集,也可以通过未定 义指令来支持协处理器的软件仿真。
CISC与RISC的比较
2.2.2 ARM体系结构的特点
(2)、Thumb指令集; 虽然ARM处理器本身是32位设计, 但考虑到 RISC型处理器的指令功能相对较弱,新型的ARM 体系结构中定义了16位的Thumb指令集。 Thumb指令集比通常的8/16位CISC/RISC处理 器有更好的代码密度,而芯片面积只增加6%,却 可以使程序存储器更小。
ARM体系结构概述 2.2 ARM体系结构概述
2.2.1 ARM体系结构的总体思想
总体思想:在不牺牲性能的同时,尽量简化处理 器。同时从体系结构的层面上灵活支持处理器扩 展。这种简化和开放的思路使得ARM处理器采用 了很简单的结构来实现。 目前,ARM32位体系机构被公认为业界领先的32 位嵌入式RISC微处理器核,所有ARM处理器都共 享这一体系结构。
ARM7微处理器
ARM7采用冯·诺依曼(Von-Neumann)结构,数据存储器和程序存储器重合在一起。 同时,此结构也被大多数计算机所采用。 ARM7为三级流水线结构(取指,译码,执行),平均功耗为0.6mW/MHz,时钟 速度为66MHz,每条指令平均执行1.9个时钟周期。 ARM7系列微处理器包括如下几种类型的核:ARM7TDMI、ARM7TDMI-S、 ARM720T、ARM7EJ。 ARM7TMDI是目前使用最广泛的32位嵌入式RISC处理器,属低端ARM处理器核。 TDMI的基本含义为: T: 支持16为压缩指令集Thumb; D: 支持片上Debug; M:内嵌硬件乘法器(Multiplier) I: 嵌入式ICE,支持片上断点和调试点;
ARM概述 第二章 ARM概述
ARM技术随处可见
第二章 ARM概述
主要内容: ARM简介 ARM体系结构概述 ARM微处理器的应用选型
ARM简介 2.1 ARM简介
2.2.1 ARM公司简介
ARM于1990年11月在英国伦敦成立 前身为Acorn计算机公司 Advance RISC Machine (ARM) 全球领先的16/32位嵌入式RISC微处理器解决方案供应商。 ARM公司是知识产权(IP)公司,本身不生产芯片,靠转让设计许可,由合 作伙伴公司来生产各具特色的芯片。 目前,全世界有几十家著名的半导体公司都使用ARM公司的授权,其中包括 摩托罗拉、IBM、Intel、SONY、NEC、LG、ATMEL等,从而保证了大量的 开发工具和丰富的第三方资源,它们共同保证了基于ARM处理器核的设计可 以很快投入市场。 ARM公司已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的 RISC标准。
ARM微处理器的应用
1、工业控制领域:作为32的RISC架构,基于ARM核的微控制器芯片不但占 据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用 领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器 提出了挑战。 2、无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术, ARM以其高性能和低成本,在该领域的地位日益巩固。 3、网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得 竞争优势。此外,ARM在语音及视频处理上行了优化,并获得广泛支持,也 对DSP的应用领域提出了挑战。 4、消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒 和游戏机中得到广泛采用。 5、成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技 术。手机中的32位SIM智能卡也采用了ARM技术。
2.2.3 ARM的流水线结构
ARM微处理器的 2.3 ARM微处理器的 应用选型
2.3 ARM微处理器的应用选型
ARM微处理器包含一系列的内核结构,应正确选型以适 应不同的应用领域; 如果希望使用WinCE或标准Linux等操作系统以减少软件 开发时间,就需要选择ARM720T以上带有MMU (Memory Management Unit)功能的ARM芯片, ARM720T、ARM920T、ARM922T、ARM946T、StrongARM都带有MMU功能; 如果希望使用ucLinux等不需要MMU支持的操作系统,就 可以选择诸如ARM7TDMI这一没有MMU功能的ARM微处 理器系列。
(7)、低电压功耗的设计。 考虑到ARM体系结构的处理器主要用于手持式嵌入式系统中,ARM体 系结构在设计中就十分注意功耗的设计。
2.2.3 ARM的流水线结构
2.2.3 ARM的流水线结构
随着流水线深度(级数)的增加,每一段的工作量被 削减了,这使得处理器可以工作在更高的频率,同时改进了 处理器的性能; 负面作用是增加了系统的延时,即内核在执行一条指令前, 需要更多的周期来填充流水线; 流水线级数的增加也意味着在某些段之间会产生数据相关。
课后作业
1、ARM英文原意是什么?它是怎样的一个公司? 其处理器有何特点? 2、ARM体系结构的总体思想和特点是什么? 2、ARM7和ARM9有何不同?
2.2.2 ARM体系结构的特点
(1)、RISC型处理器结构;
ARM采用RISC结构,在简化处理器结构,减少复杂功能指令的 同时,提高了处理器的速度。 考虑到处理器与存储器打交道的指令执行时间远远大于在寄存器 内操作的指令执行时间,RISC型处理器采用了Load/Store(加载/存储) 结构,即只有Load/Store指令可与存储器打交道,其余指令都不允许 进行存储器操作。 同时,为了进一步提高指令和数据的存取速度,RISC型处理器 增加了指令高速缓冲I-Cache和数据高速缓冲D-Cache及多处理器结构, 使指令的操作尽可能在寄存器之间进行。
典型的嵌入式处理器
MIPS处理器 处理器
MIPS是世界上很流行的一种RISC处理器。 MIPS的意思是“无内部互锁流水级的微处理 器”(Microprocessor without interlocked piped stages),其机制 是尽量利用软件办法避免流水线中的数据相关问题。 MIPS的定位很广。有MIPS 32和MIPS 64两种体系结构。
PowerPC处理器 处理器
IBM推出的 推出的PowerPC处理器,应用范围很广,主要面向大型 处理器, 推出的 处理器 应用范围很广, 通信设备、高端的工作站。 通信设备、高端的工作站。
8/16/32位嵌入式微处理器销售额比较
ARM微处理器特点
小体积、低功耗、低成本而高性能; 16/32位双指令集; 全球众多的合作伙伴。
2.2.2 ARM体系结构的特点
(3)、多处理器状态模式; ARM体系结构定义了7种处理器模式:用户(usr)、快 中断(fiq)、中断(irq)、管理(svc)、终止(abt)、未定义(und) 和系统(sys),大大提高了ARM处理器的效率。

(4)、两种处理器工作状态; ARM状态(执行32位ARM指令)和Thumb状态(执 行16位Thumb指令)。
ARM微处理器系列
ARM微处理器目前包括下面几个系列,除了具有ARM体系结构的共同特 点以外,每一个系列的ARM微处理器都有各自的特点和应用领域。 - ARM7系列 - ARM9系列 - ARM9E系列 - ARM10E系列 - SecurCore系列 - Inter的Xscale - Inter的StrongARM 其中,ARM7、ARM9、ARM9E和ARM10为4个通用处理器系列,每一个 系列提供一套相对独特的性能来满足不同应用领域的需求。SecurCore系 列专门为安全要求较高的应用而设计。
2004年全球半导体IP供应商排名
ARM的发展历程
1991年,ARM推出第一款 RISC嵌入式微处理器核 ARM6; 1993年,ARM推出ARM7核; 1995年,ARM的Thumb指令 为16位系统增加了32位的性 能,ARM提供了业界领先的 代码密度。
ARM的业务模型
2.2.2 ARM微处理器
ARM9微处理器
ARM7采用的Neumann结构,取指令和取操作数都是通过一条总线分 时进行,这样,在高速运算时,不但不能同时取指令和取操作数,而 且还会造成传输通道上的瓶颈现象。 ARM9采用哈佛(Harvard)结构,程序存储器与数据存储器分开,提 供了较大的存储器带宽。同时,大多数DSP都采用此结构。 ARM9为五级流水(取指,译码,执行,缓冲/数据,回写),平均功 耗为0.7mW/MHz。时钟速度为120MHz-200MHz,每条指令平均执行 1.5个时钟周期。 ARM9系列微处理器包含ARM920T、ARM922T和ARM940T三种类型, 以适用于不同的应用场合。
相关文档
最新文档