《ARM体系结构》word版
合集下载
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体系结构

CPSR(Current Program Status Register)
CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处 理器模式标志位,以及其他一些相关的控制和状态位。 备份的程序状态寄存器SPSR(Saved Program Status Register) , 当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来 恢复CPSR。 用户模式和系统模式不属于异常模式,他们没有SPSR,当在这两种模式下访 问SPSR,结果是未知的。
ARM体系结构的存储器格式(1)
ARM体系结构所支持的最大寻址空间为4GB(232字节)
大端格式(Big Endian) 字数据的高字节存储在低地址中,而字数据的低字节则存 放在高地址中。 小端格式(Little Endian) 低地址中存放的是字数据的低字节,高地址存放的是字数 据的高字节。
特 权 异 模 常 式 模 式
7种处理器模式: 用户模式(usr): 用户应用程序 系统模式(sys): 特权模式 快速中断模式(fiq):用于快速数据传输 中断模式(irq): 通用的中断处理 管理模式(svc): 操作系统使用的保护模式 终止模式(abt): 数据访问中止或指令预取中止 未定义指令模式(und):未定义的指令执行时
Example: User to FIQ mode
Registers in use
Registers in use
User Mode
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r8_fiq r9_fiq r10_fiq r11_fiq r12_fiq r13_fiq r14_fiq
CPSR可在任何运行模式下被访问,它包括条件标志位、中断禁止位、当前处 理器模式标志位,以及其他一些相关的控制和状态位。 备份的程序状态寄存器SPSR(Saved Program Status Register) , 当异常发生时,SPSR用于保存CPSR的当前值,从异常退出时则可由SPSR来 恢复CPSR。 用户模式和系统模式不属于异常模式,他们没有SPSR,当在这两种模式下访 问SPSR,结果是未知的。
ARM体系结构的存储器格式(1)
ARM体系结构所支持的最大寻址空间为4GB(232字节)
大端格式(Big Endian) 字数据的高字节存储在低地址中,而字数据的低字节则存 放在高地址中。 小端格式(Little Endian) 低地址中存放的是字数据的低字节,高地址存放的是字数 据的高字节。
特 权 异 模 常 式 模 式
7种处理器模式: 用户模式(usr): 用户应用程序 系统模式(sys): 特权模式 快速中断模式(fiq):用于快速数据传输 中断模式(irq): 通用的中断处理 管理模式(svc): 操作系统使用的保护模式 终止模式(abt): 数据访问中止或指令预取中止 未定义指令模式(und):未定义的指令执行时
Example: User to FIQ mode
Registers in use
Registers in use
User Mode
r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r8_fiq r9_fiq r10_fiq r11_fiq r12_fiq r13_fiq r14_fiq
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体 系结构各种主要特点外,在系统安全方面的特点: 带有灵活的保护单元,确保操作系统和应用数据的安全。
第06讲_第4章ARM体系结构 85页-3

V4T
StrongRAM、ARM8、ARM810
2019/11/22
合肥工业大学计算机与信息学院
5
体系结构版本V1
这种版本在原型机ARM1上实现过,从未用于商 用产品。
它包含:基本的数据处理指令(不包括乘法); 字节、字和多字的加载/存储(load/store)指令; 分支(branch)指令,包括设计用于子程序调用 的分支与链接指令;软件中断指令SWI。
其中花括号的内容表示可有可无。前三个参数含义在下 面说明: {x}表示系列号,例如:ARM7,ARM9,ARM10 {y}表示内部存储管理和保护单元,例如:ARM72, ARM92 {z}表示含有高速缓存(Cache),例如:ARM720, ARM940 其余体系结构版本变量已经在前面幻灯片给出。
此外还有基于这些体系结构版本的变种版本。 目前主要在用的ARM处理器的体系结构是V4、
V5、V6和V7。 每一个版本都继承了前一个版本的基本设计,
指令集向下兼容。
2019/11/22
合肥工业大学计算机与信息学院
4
当前在用的ARM核概况
目前实际使用的ARM处理器核有二十多种
每一种处理器核依据一个体系结构版本设计
2019/11/22
合肥工业大学计算机与信息学院
10
体系结构版本V6
平均取指令和取数据延时减少,因Cache未命中 造成的等待时间减少,总的内存管理性能提高达 到30%左右;适应多处理器核的需要;增加了 SIMD指令集。支持混合端序,能够处理大端序 和小端序混合的数据;异常处理和中断处理得以 改进,实时任务处理能力增强。
Java Bytecodes 为了执行Java字节码,需要Jazelle技术外加一个
ARM体系结构与结构---第三章精品文档

跳转指令B,仅仅跳转; 带返回地址的跳转指令BL,跳转同时还将BL指令 的下一条指令的地址(返回地址)放入LR;
使用PC实现长跳转
MOV LR,PC 取指 译码 执行
MOV PC,#0XFF000000 取指 译码 执行
ADD R0,R1,R2
取指 译码 执行
P?C-8
PC-4 PC指针
数据传送指令: MOV MVN;
算术运算指令: ADD ADC SUB SBC RSB RSC;
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可选择 使用S后缀,并影响状态标志。
• ARM指令集——ARM数据处理指令
数据处理指令大致可分为4类:
数据传送指令: MOV MVN;
算术运算指令: ADD ADC SUB SBC RSB RSC;
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可选择 使用S后缀,并影响状态标志。
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可 选择使用S后缀,并影响cpsr状态标志。
3.2 指令集介绍
• ARM指令集——ARM数据处理指令
数据处理指令大致可分为4类:
跳转指令中的实际值(signed_immed_24)是相对PC值的一个偏 移量;它的值由汇编器来计算,它是 24 位有符号数,左移两位后 (去掉一位符号位后,有效偏移为 25 位(+/- 32 M)) ,由符号扩展 到 32 位。
使用PC实现长跳转
MOV LR,PC 取指 译码 执行
MOV PC,#0XFF000000 取指 译码 执行
ADD R0,R1,R2
取指 译码 执行
P?C-8
PC-4 PC指针
数据传送指令: MOV MVN;
算术运算指令: ADD ADC SUB SBC RSB RSC;
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可选择 使用S后缀,并影响状态标志。
• ARM指令集——ARM数据处理指令
数据处理指令大致可分为4类:
数据传送指令: MOV MVN;
算术运算指令: ADD ADC SUB SBC RSB RSC;
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可选择 使用S后缀,并影响状态标志。
逻辑运算指令: AND ORR EOR BIC;
比较指令:
CMP CMN TST TEQ。
数据处理指令只能对寄存器的内容进行操作,而不能对 内存中的数据进行操作。数据处理指令中除比较指令外均可 选择使用S后缀,并影响cpsr状态标志。
3.2 指令集介绍
• ARM指令集——ARM数据处理指令
数据处理指令大致可分为4类:
跳转指令中的实际值(signed_immed_24)是相对PC值的一个偏 移量;它的值由汇编器来计算,它是 24 位有符号数,左移两位后 (去掉一位符号位后,有效偏移为 25 位(+/- 32 M)) ,由符号扩展 到 32 位。
第章ARM体系结构

存储器的存储方式
如果一个数据是从偶地址开始的连续存储,那么它就 是半字对齐,否则就是非半字对齐;
如果一个数据是以能被4整除的地址开始的连续存储, 那么它就是字对齐,否则就是非字对齐。
方式 地址 特征
半字对齐
…… 0x4002 0x4004 ……
Bit0=0 其他位为任意值
字对齐
…… 0x4004 0x4008 …… Bit1=0,Bit0=0 其他位为任意值
10
ARM内核分类与系列
ARMv6
ARMv6 cores
ARMv4
ARMv5 ARM7TDMI
Xscale ARM1022E
ARM10
ARM926EJ
ARM9E
ARM10EJ
ARM720T
Strong ARM
ARM920T
1994
1996
1998
2000
2002
2004
1994-2004年发布的ARM内核 11
16
2.1 ARM简介
ARM10E系列简介
该系列包括ARM1020E和ARM1020E处理器核,其核心在 于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决 方案,从而极大提高了处理器的整型和浮点运算性能。
可以用于视频游戏机和高性能打印机等场合。
Xscale简介
Intel Xscale微控制器则提供全性能、高性价比、低功耗 的解决方案,支持16位Thumb指令并集成数字信号处理 (DSP)指令。
RISC:精简指令集(Reduced Instruction Set Computer) 在通道中只包含最有用的指令 确保数据通道快速执行每一条指令 使CPU硬件结构设计变得更为简单
ARM体系结构清华第一章精品文档

个人音频设备(MP3播放器、WMA播放器、AAC播 放器)。 接入级的无线无线设备。 喷墨打印机。 数字照相机。 PDA。
21
1.3.1 ARM7系列
ARM7系列处理器具有以下主要特点:
成熟的大批量的32位RICS芯片。 最高主频达到130 MIPS。 功耗很低。
代码密度很高,兼容16位的微处理器。 得到广泛的操作系统和实时操作系统支持,包括Window CE、Palm OS、 Symbian OS、Linux以及业界领先的实时 操作系统。
ARM11
预取
预取
发送
译码
转换
执行
访存
写入
(Fetch) (Fetch) (Issue) (Decode) (Snny) (Execute) (Memory) (Write)
19
项目
ARM7
ARM9
ARM10
ARM11
流水线
3
ቤተ መጻሕፍቲ ባይዱ
5
6
8
典型频率(MHz)
80
150
260
335
功耗(mW/MHz) 0.06 0.19(+cache)
众多的开发工具。
EDA仿真模型。 优秀的调试机制。
业界众多领先的IC制造商生产这类芯片。 提供0.25µm、0.18µm及0.13µm的生产工艺。 代码于ARM9系列、ARM9E、ARM10E兼容。
22
1.3.2 ARM9系列
ARM9系列包括ARM920T、ARM922T和 ARM940T 3种类型,主要用于适应不同的市场 需求。
除此之外,ARM体系采用了一些特别的技术,在保证高性能的 同时尽量减小芯片体积,减低芯片的功耗。这些技术包括:
21
1.3.1 ARM7系列
ARM7系列处理器具有以下主要特点:
成熟的大批量的32位RICS芯片。 最高主频达到130 MIPS。 功耗很低。
代码密度很高,兼容16位的微处理器。 得到广泛的操作系统和实时操作系统支持,包括Window CE、Palm OS、 Symbian OS、Linux以及业界领先的实时 操作系统。
ARM11
预取
预取
发送
译码
转换
执行
访存
写入
(Fetch) (Fetch) (Issue) (Decode) (Snny) (Execute) (Memory) (Write)
19
项目
ARM7
ARM9
ARM10
ARM11
流水线
3
ቤተ መጻሕፍቲ ባይዱ
5
6
8
典型频率(MHz)
80
150
260
335
功耗(mW/MHz) 0.06 0.19(+cache)
众多的开发工具。
EDA仿真模型。 优秀的调试机制。
业界众多领先的IC制造商生产这类芯片。 提供0.25µm、0.18µm及0.13µm的生产工艺。 代码于ARM9系列、ARM9E、ARM10E兼容。
22
1.3.2 ARM9系列
ARM9系列包括ARM920T、ARM922T和 ARM940T 3种类型,主要用于适应不同的市场 需求。
除此之外,ARM体系采用了一些特别的技术,在保证高性能的 同时尽量减小芯片体积,减低芯片的功耗。这些技术包括:
ARM体系结构

2015/9/288源自ARM920T系统结构分析
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种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。
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种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。
第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 后缀的)
3 ARM体系结构

(在ARM状态下),也可以为16位(在 Thumb状态下)。 ARM微处理器中支持字节(8位, char)、半字(16位,short)、字(32 位,int)三种数据类型。 字需要4字节对齐(地址的低两位为0)、 半字需要2字节对齐(地址的最低位为0)
ARM体系结构
3.5 处理器模式
• • • • • • •
ARM体系结构
堆栈指针—R13
• • •
R13在ARM指令中常用作堆栈指针,但这只是一 种习惯用法,用户也可使用其他的寄存器作为堆 栈指针。 在Thumb指令集中,某些指令强制性的要求使用 R13作为堆栈指针。 由于处理器的每种运行模式均有自己独立的物理 寄存器R13,在初始化部分,都要初始化每种模 式下的R13,这样,当程序的运行进入异常模式 时,可以将需要保护的寄存器放入R13所指向的 堆栈,而当程序从异常模式返回时,则从对应的 堆栈中恢复。
ARM体系结构
ARM状态下的寄存器组织(1)
•
通用寄存器:通用寄存器包括R0~R15,可以 分为三类:
未分组寄存器R0~R7 分组寄存器R8~R14 程序计数器PC(R15)
ARM体系结构
ARM状态下的寄存器组织(2)
ARM体系结构
未分组寄存器R0~R7
• •
在所有的运行模式下,未分组寄存器都指向同 一个物理寄存器,他们未被系统用作特殊用途。 在中断或异常处理进行运行模式转换时,由于 不同的处理器运行模式均使用相同的物理寄存 器,可能会造成寄存器中数据的破坏,这一点 在进行程序设计时应引起注意。
ARM体系结构
子程序连接寄存器—R14
• •
子程序连接寄存器或连接寄存器LR。 当执行BL子程序调用指令时,可以从R14中得到R15(程 序计数器PC)的备份。在每一种运行模式下,都可用R14 保存子程序的返回地址,当用BL或BLX指令调用子程序 时,将PC的当前值拷贝给R14,执行完子程序后,又将 R14的值拷贝回PC,即可完成子程序的调用返回。
ARM体系结构
3.5 处理器模式
• • • • • • •
ARM体系结构
堆栈指针—R13
• • •
R13在ARM指令中常用作堆栈指针,但这只是一 种习惯用法,用户也可使用其他的寄存器作为堆 栈指针。 在Thumb指令集中,某些指令强制性的要求使用 R13作为堆栈指针。 由于处理器的每种运行模式均有自己独立的物理 寄存器R13,在初始化部分,都要初始化每种模 式下的R13,这样,当程序的运行进入异常模式 时,可以将需要保护的寄存器放入R13所指向的 堆栈,而当程序从异常模式返回时,则从对应的 堆栈中恢复。
ARM体系结构
ARM状态下的寄存器组织(1)
•
通用寄存器:通用寄存器包括R0~R15,可以 分为三类:
未分组寄存器R0~R7 分组寄存器R8~R14 程序计数器PC(R15)
ARM体系结构
ARM状态下的寄存器组织(2)
ARM体系结构
未分组寄存器R0~R7
• •
在所有的运行模式下,未分组寄存器都指向同 一个物理寄存器,他们未被系统用作特殊用途。 在中断或异常处理进行运行模式转换时,由于 不同的处理器运行模式均使用相同的物理寄存 器,可能会造成寄存器中数据的破坏,这一点 在进行程序设计时应引起注意。
ARM体系结构
子程序连接寄存器—R14
• •
子程序连接寄存器或连接寄存器LR。 当执行BL子程序调用指令时,可以从R14中得到R15(程 序计数器PC)的备份。在每一种运行模式下,都可用R14 保存子程序的返回地址,当用BL或BLX指令调用子程序 时,将PC的当前值拷贝给R14,执行完子程序后,又将 R14的值拷贝回PC,即可完成子程序的调用返回。
第2章-ARM体系结构

• 由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺 寸又较大,因此擦除和编程操作所花费的时间很长,在纯 数据存储和文件存储的应用中,NOR技术显得力不从心。
39
第2章 ARM体系结构
NAND技术
• NAND技术 Flash Memory具有以下特点: – 以页为单位进行读和编程操作,1页为256或512字 节;以块为单位进行擦除操作,1块为4K、8K或 16K字节。具有快编程和快擦除的功能,其块擦除 时间是2ms;而NOR技术的块擦除时间达到几百ms
这样,5级流水线分为:取指、 指令译码、执行、数据缓存和 写回。
第2章 ARM体系结构
34
第2章 ARM体系结构
2.1.2 ARM处理器结构
1 ARM的体系结构 2 冯诺依曼结构 与哈佛结构 3 ARM的流水线结构 4 ARM存储器结构
5 ARM I/O结构 6 ARM协处理器接口 7 ARM AMBA接口 8 ARM JTAG 调试接口
闪速存储器(FLASH)
• 相对传统的EPROM芯片,这种芯片可以 用电气的方法快速地擦写
• 由于快擦写存储器不需要存储电容器, 故其集成度更高,制造成本低于DRAM
• 它使用方便,既具有SRAM读写的灵活 性和较快的访问速度,又具有ROM在断 电后可不丢失信息的特点,所以快擦写 存储器技术发展十分迅速
30
第2章 ARM体系结构
ARM9 架构采用5级流水线:
增加了I-Cache和D-Cache,把存储器的取指与数 据存取分开;
➢ 增加了数据写回的专门通路和寄存器; ➢ 把指令的执行过程分割为5阶段:
取指令; 指令译码、寄存器读、分支目标计算及执行; 移位和ALU操作; 数据Cache访问; 结果写回到寄存器。
39
第2章 ARM体系结构
NAND技术
• NAND技术 Flash Memory具有以下特点: – 以页为单位进行读和编程操作,1页为256或512字 节;以块为单位进行擦除操作,1块为4K、8K或 16K字节。具有快编程和快擦除的功能,其块擦除 时间是2ms;而NOR技术的块擦除时间达到几百ms
这样,5级流水线分为:取指、 指令译码、执行、数据缓存和 写回。
第2章 ARM体系结构
34
第2章 ARM体系结构
2.1.2 ARM处理器结构
1 ARM的体系结构 2 冯诺依曼结构 与哈佛结构 3 ARM的流水线结构 4 ARM存储器结构
5 ARM I/O结构 6 ARM协处理器接口 7 ARM AMBA接口 8 ARM JTAG 调试接口
闪速存储器(FLASH)
• 相对传统的EPROM芯片,这种芯片可以 用电气的方法快速地擦写
• 由于快擦写存储器不需要存储电容器, 故其集成度更高,制造成本低于DRAM
• 它使用方便,既具有SRAM读写的灵活 性和较快的访问速度,又具有ROM在断 电后可不丢失信息的特点,所以快擦写 存储器技术发展十分迅速
30
第2章 ARM体系结构
ARM9 架构采用5级流水线:
增加了I-Cache和D-Cache,把存储器的取指与数 据存取分开;
➢ 增加了数据写回的专门通路和寄存器; ➢ 把指令的执行过程分割为5阶段:
取指令; 指令译码、寄存器读、分支目标计算及执行; 移位和ALU操作; 数据Cache访问; 结果写回到寄存器。
第二章 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