当前位置:
文档之家› 第2章 ARM微处理器硬件结构 4
第2章 ARM微处理器硬件结构 4
更新 策略
简单
复杂
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