第2章 ARM微处理器硬件结构 4
第二章 ARM9体系结构ppt课件

ARM9E-S ARM10TDMI,ARM1020E ARM11,ARM1156T2-S,ARM1156T2F-S, ARM1176JZ-S,ARM11JZF-S
.
2.1.1 ARM公司简介
ARM公司是知识产权IP ( Intellectual Property ) 公司,本身不生产芯片,只转让设计许可,由合 作伙伴公司来生产各具特色的芯片。
目前,全世界有几十家著名的半导体公司都使用 ARM公司的授权,其中包括Intel、IBM、 MOTOROLA、SONY、NEC、LG 、 ATMEL 等, 从而保证了大量的开发工具和丰富的第三方资源, 它们共同保证了基于ARM处理器核的设计可以很 快投入市场。
灵活方便的协处理器接口
ARM体系结构具有协处理器接口,允许接16 个协处理器。既可以使基本的ARM处理器内核尽 可能小,方便地扩充ARM指令集,也可以通过未 定义指令来支持协处理器的软件仿真。
低电压功耗的设计
考虑到ARM处理器主要用于手持式嵌入式系 统中,在设计中. 就十分注意功耗的设计。
2.1.3 ARM指令系统版本
难以优化编译成高效目标 代码
能优化编译成高效目标代码
.
2.1.2 ARM体系结构的特点
多种处理器模式 ARM体系结构定义了7种处理器模式:用户、 快 中断、中断、管理、终止、未定义和系统模式, 大大提高了ARM处理器的效率。
两种处理器工作状态 ARM状态(32位指令)和Thumb状态(16位指
令) 。 虽然ARM处理器本身是32位设计,但考虑到
第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(未定义指令中止模式):当未定义的指令执行时进入该 模式,可用于支持硬件协处理器的软件仿真。
嵌入式系统2012作业

嵌入式系统2011作业第1章嵌入式系统概述1、什么是嵌入式系统?答:嵌入式系统指的是以应用为中心和以计算机技术为基础的,并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等指标严格要求的专用计算机系统。
2、与通用计算机相比,嵌入式系统有哪些特点?答:1:嵌入式系统通常是面向特定应用的;2:嵌入式系统功耗低、体积小、集成度高、成本低;3:嵌入式系统具有较长的生命周期;4:嵌入式系统具有固化的代码;5:嵌入式系统开发需要专用开发工具和环境;6:嵌入式系统软件需要RTOS开发平台;7:嵌入式系统开发人员以应用专家为主;8:嵌入式系统是知识集成系统。
3、根据嵌入式系统的复杂程度,嵌入式系统可分为哪4类?答:1:单个微处理器;2:嵌入式处理器可扩展的系统;3:复杂的嵌入式系统;4:在制造或过程控制中使用的计算机系统。
4、嵌入式微处理器有哪几类?试举例说明。
答:嵌入式微处理器,例如:Am186/88、386EX、SC-400.嵌入式微控制器,例如:8051、P51XA、MCS-251.嵌入式DSP处理器,例如:TMS320系列、DSP56000系列.嵌入式片上系统,例如:TriCore、M-Core、Smarrt-XA。
5、从硬件系统来看,嵌入式系统由哪几部份组成?画出简图。
答:P11图1-46、嵌入式微处理器和嵌入式微控制器分别由哪些部件组成?两者有何区别?答:(1)组成:嵌入式微处理器:包括指令执行部件与总线接口部件。
嵌入式微控制器(单片机):将整个系统集成到一个芯片上。
(2)两者区别:嵌入式微处理器: 如果要构成一个系统,完成特定功能必须扩展Rom、RAM、总线接口等器件.并且将系统集成在一块板上。
嵌入式微控制器:一个芯片就是一个系统,芯片包括Rom、RAM、I/O接口、通用接口(比如UART)特殊接口(比如网络接口、Can接口).不用外扩接口电路,即可完成一定功能。
第2章ARM微处理器硬件结构2.1哈佛体系结构和冯·诺依曼体系结构有何不同?答:冯·诺依曼结构:处理器使用一组总线(数据总线、地址总线、控制总线)连接程序存储器、数据存储器、接口器件。
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种又称为异常模式, 常用于处理中断或异常,以及访问受保护的系统资源等情 况。
第2章 ARM微处理器概述

工业控制领域:
作为32位 的RISC 架构,基于ARM 核的微控制器芯片不
但占据了高端微控制器市场的大部分市场份额,同时也 逐渐向低端微控制器应用领域扩展,ARM 微控制器的低 功耗、高性价比,向传统的8 位/16 位微控制器提出了挑 战。
无线通讯领域:
目前已有超过85%的无线通讯设备采用了ARM 技术,
ARM体系结构的变种
(4)J变种(Java加速器Jazelle)
ARM的Jazelle技术将Java的优势和先进的32位RISC芯
片完美地结合在一起。Jazelle技术提供了Java加速功能, 可以得到比普通Java虚拟机高得多的性能。与普通的 Java虚拟机相比,Jazelle使Java代码运行速度提高了8 倍,而功耗降低了80%。 Jazelle技术使得程序员可以在一个独立的处理器上同时 运行Java应用程序、已经建立好的操作系统、中间件以 及其他的应用程序。与使用协处理器和双处理器相比, 使用单独的处理器可以在提供高性能的同时保证低功耗 和低成本。 J变种首先在ARM体系版本4TEJ中使用,用字母J表示。
使用电池供电的高性能的便携式设备。这些 设备一方面需要处理器提供高性能,另一方 面又需要功耗很低。SIMD功能扩展为包括音 频/视频处理在内的应用相同提供了优化功能。 它可以使音频/视频处理性能提高4倍。 Version 6首先在2002年春季发布的ARM11 处理器中使用。
2.2.3 ARM体系结构的变种及版本 命名格式
Version 4(v4)
该版本增加了下列指令:
半字加载和存储指令; 加载带符号的字节和半字数据的指令; 增加mb状态; 增加了处理器的特权模式。 该版本不再强制要求与以前的26位地址空间 兼容。
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)。
更新 策略
简单
复杂
28
练习
Cache常用的写回策略有写直达法和写回法。当采用写回法 时,一个Cache数据块在( )时写回主存。 A.任何一次写操作数时 B.第一次写操作数时 C.数据块被换出时 D.以上都有可能
B个字
23
命中与未命中
Cache命中:CPU每次读取主存时,Cache控制器都要检查
CPU送出的地址,判断CPU要读取的数据是否在Cache中, 如果在就称为命中。→可直接访问Cache
Cache未命中:读取的数据不在Cache中,则对主存储器 进行操作,并将有关内容置入Cache(作为常用的数据/
第2章 ARM微处理器硬件结构
计 算 机 体 系 结 构
2
1
ARM处理器结构和技术特征
3
ARM7硬件结构图
ARM 存 储 系 统 机 制
4
1
1 存储器的存储体系
(1)存储器形式
单体单字存储器 单体多字存储器
多体单字交叉存取存储器 多体多字交叉存取存储器
一般把这些能并行 读出多个CPU字的 单体多字和多体单 字及多体多字的交 叉存取系统,统称 为并行主存系统。
CPU
总线控制
IOP
M …… 0
M …… 1
M …… 2
M …… 3
地址寄存器0 地址寄存器1 地址寄存器2 地址寄存器3
主控(主存控制部件)
多体(m=4)交叉存储器
返回
5
多体多字存储器
把多体单字的并行存取与单体多字结合,构成多体 多字交叉存储器,进一步提高频宽。 存储器由多个存储体构成,但数据总线是每个存储 体字长的整数倍。
word a=0x f6 73 4b cd
低地址
cd
f6
73 4b 地址A+3 地址A+2 地址A+1 地址A 字节地址
4b
73
f6
cd
高地址
14
练习
存储一个32位数0x2168465到2000H~2003H四个字节单元 中,若以大端模式存储,则2000H存储单元的内容为__。 A、0x21 B、0x68 C、0x65 D、0x02
最低有效字节的地址就 是该word的地址
最低有效字节位于 最低地址
低地址
f6
73
4b
cd
cd
4b 73
地址A
地址A+1 地址A+2 地址A+3 高地址
13
word a=0x f6 73 4b cd
f6
(4) ARM数据存储格式
大端的数据存放格式
(Big Endian)
最低有效字节 位于最高地址
最高有效字节的地址 就是该word的地址
10
当从存储器调入一个字节和半字 时,根据指令对数据的操作类型, 将其无符号0或有符号“符号位” 扩展为32位,进而作为32位数据 在内部进行处理。
边界对齐
各种类型的数据按照一定的规则在空间上排列,而不是顺 序的一个接一个的排放——对齐 对齐的作用和原因:
平台原因(移植原因):各个硬件平台对存储空间的处理上有很 大的不同,某些硬件平台只能从某些特定地址开始存取,否则会 出现硬件异常,这种架构下编程必须保证字节对齐。 性能原因:如果不按照适合其平台要求对数据存放进行对齐,为 了访问未对齐的内存,处理器要作两次内存访问,而对齐的内存 访问只需一次。会在存取效率上带来损失。
每访问一次存储器,可同时读/写多个字。
多个存储体按流水线的方式启动,提高了存储器的 整体速度。
返回
6
练习
多体交叉存储器主要是为了解决扩充容量问题。 ( )
错,由于CPU的速度比主存快,如果能同时从主存取出n条指令 ,必然会提高机器的运行速度,多模块交叉存储器就是基于这 种思想提出来的。 采用多体交叉存储器可以实现主存储器多模块流水式并行存 取,所以大大提高了存储器的数据传输率。 多体交叉存储器主要解决的问题是(B )。 A. 扩充主存储器的容量 B. 提高主存储器数据传输率 C. 减少主存储器芯片数量 D. 简化路线结构
21
2 ARM的高速缓冲存储器Cache
高速缓存Cache
高速缓冲存储器中存放的是当前使用得最多的程序 代码和数据,即主存中部分内容的副本。
在嵌入式系统中Cache全部都集成在嵌入式微处理器 内。
可分为数据Cache、指令Cache或混合Cache。
不同的处理器其Cache的大小不一样。
低地址
位 于 地 址 A+2 的 半 字 包 含的字节位于地址 A+2 和 A+3; 位于地址 A 的半字包含的 字节位于地址A和A+1;
……
A A+1 A+2 A+3
高地址
字节 字节 字节 字节
…… 存储器
半字
字 半字
12
(4) ARM数据存储格式
小端的数据格式(Little Endian)
S周期
顺序周期
0
1
I周期
不执行存储器访问;可广播下一次 注意:总线周期使用nMREQ 1 nMREQ 0 访问的地址以便开始译码,与 S周期 内部周期 和SEQ信号编码, 、 SEQ 为 CPU引脚。 配合实现总线上的突发传送。 通过数据总线向或从协处理器传送 数据;传送期间,不需存储周期,存 储系统不允许驱动数据总线。
周期
对很慢– 几十个时钟周期
造成CPU大量时间都在空转以等待数据
Cache由访问速度较快的SRAM组成,一次 把最近或经常需要访问的数据放在Cache
ready
访问大概只需几个-十几个时钟周期
SDRAM 主存 价格便宜, 容量可以做的很大
而不是主存中
20
2 ARM的高速缓冲存储器Cache
地址转换
命中 块号m 块内地址n
工 作 原 理 图
替换块
装入块
Cache
25
(2) Cache的读写操作
读操作:
开始 CPU发出访问地址 是 命中? 否 Cache满? 访问Cache 取出信息送CPU 访问主存 取出信息送CPU 是
否 将新的主存块 调入Cache中
执行替换算法 腾出空位
结束
26
南桥 (标准总线桥路 )
ISA设备
19
2 ARM的高速缓冲存储器Cache
处理器内核的Cache
Cache的作用 CPU算得很快—一条指令只用1-几个时钟 而从基于SDRAM的主内存取、存操作数相
CPU核
较快的数据 存取通道 Cache 价格贵 , 所以容量 只能做的较小 较慢的数据 存取通道
指令)。
24
(1) Cache的工作原理:
在cache存储系统中,把主存储器和cache都划分成相同大小的块。 主存地址可以由块号M和块内地址N两部分组成。同样,cache的地 址也由块号m和块内地址n组成。
块号M 块内地址N 虚拟地址(来自CPU) 未命中 主存->cache 地址变换 已满 cache替换 策略 未满 主存储器
存储一个32位数876165到2000H~2003H四个字节单元中, 若以小端模式存储,则2000H存储单元的内容为( )。 A、0x00 B、0x87 C、0x65 D、0x61
15
(5) ARM4种存储周期
总线周期 类型 说明 nMREQ SEQ 特 点
N周期
非顺序周期
0
0
最简单的总线周期,存储控制器必 须启动存储器访问来满足这个请求 ;该方式存储系统常需要较长的访 问时间。 多用于实现总线上的突发传送,第 一个周期必须是一个内部周期。
写通Cache
27
(2) Cache的读写操作
写操作:
写入方法/写策略:
写通法 主存和Cache一致
“写” 时间 读操 作时
写回法 主存和Cache不一致 短(访问Cache时间)
长
若读Cache失效,且Cache 若读Cache失效,且Cache 满,不需对主存的写操作 满,需要对主存写操作
18
(6) 系统总线配置
处理器 Cache 前端总线 (FSB) 100 MHz 显卡 北桥 (主桥 ) 存储控制器 存储器
PCI总线标准
外围组件互连;
支持多种外设, 为PC广泛采用;
32位传输(可扩 展64位); 突发模式传输; 地址/数据总线复 用,减小总线规 模。
PCI 总线 33MHz PCI 声卡 USB1 USB2 IDE1 IDE2 ISA 总线8MHz
ARM支持的数据类型 ARM处理器支持以下六种数据类型:
8位有符号和无符号字节。 16位有符号和无符号半字,以2字节的边界对齐。 Thumb状态下,最低位不为0b0——非半字对齐。 32位有符号和无符号字,以4字节的边界对齐。 ARM状态下,最低位不为0b00——非字对齐。
在内部,所有ARM操作 都是面向32位的操作数 ;只有数据传送指令支 持较短的字节和半字的 数据类型。
7
(2) 存储器层次结构
通用寄存器
高速缓冲存储器
主存储器 辅助存储器 脱机大容 量存储器
8
ARM存储器存储层次
ARM存储器采用层次存储结构,其目的在于以低速存储器的 价格得到高速存储器的性能。 ARM架构的处理器的存储器寻址空间为4GB,一般系统所需 RAM/ROM经总线外接。 存储层次: 顶层 • 微处理器达到最佳性 寄存器 片上RAM