当前位置:文档之家› 第03章 存储系统(4cache及虚拟存储器)

第03章 存储系统(4cache及虚拟存储器)


二、 Cache及特点
•位于CPU与主存之间; •Cache容量小于主存容量; •Cache速度比主存速度快5~10倍 •Cache由快速半导体元件构成
(高速SRAM芯片) •Cache是主存部分内容的复制全部功能由 硬件实现,对程序员来说, Cache是透明的.
三、Cache存储器的构成
了解构成及工作原理必须首先了解“块”的概 念。
全相联映射
11位
主存块号
主存地址 9位
块内地址
相联存储器
0000 主存块号 0001
比较
1111 11位
Cache 块0 块1
块15
4位
9位
Cache块号 块内地址
Cache地址主存 块0 Nhomakorabea1块2047
2.直接映象 主存第j块和Cache第i块有如下函数关系:
i= j mod m (m为Cache中总块数)
3、组相联映象
Cache与主存均分组,主存再分区,主存中任一区 的某一组号与Cache的相应组号有固定的映象关系 (组间直接映射),但主存组内的块可自由映象到对 应的Cache组中任一块(组内全相联映射)
第三章 存储系统
•存储器概述 •随机读写存储器RAM •半导体只读存储器ROM •高速存储器 •cache存储器 •虚拟存储器
3.5 Cache 存储器
何谓程序访问的局部性原则?
程序对存储空间90%的访问局限于存储 空间的10%区域中,而另外10%的访问 则分布在存储空间其余90%的区域中, 这即为访存局部性规律。
Cache存储器中,把cache和主存各分成若干块。 主存与cache中块的数目不同但块的大小相等。 块的大小通常以在主存的一个读/写周期中能访 问的数据长度为限,常为几十字节。
1、Cache的基本工作原理
AB
CPU
主存 地址 寄存

MA
未满
不 已满 替换算法控制部件


(块)
主存— Cache Cache 地址变换 命 地址 机构 中 寄存器
8KB,划分为16块,每块512B

字0 字1
m位 Cache
标记 块0 标记 块1
主存
块0 块1

字511
标记 块15
块2047
1.全相联映射方式
允许主存中的每一个字块映象到Cache的任何一个字块位置上
Cache 块0 块1
块15
主存
块0 块1
块2047
优点:块冲突概率最低,只有当Cache中全部装满后,才有可能出现 块冲突,灵活 缺点:查找时间长,速度慢
4
16 18
块号 0
16 1
块分配#1 情况
6
#2
2 26 26 2 2
16 1 6
26 1
# 3
6
66
8
# 4
444
#5
# 6
22
22 22
22 22 22 22 22
# 7

操作 调 调 命 命 调 调 命 替
状态 进 进 中 中 进 进 中 换
作业
设有一个Cache的容量为2K字,每块16字,求: (1)该Cache可容纳多少个块? (2)如果主存的容量为256K字,则有多少个块? (3)在直接映象方式下,主存的地址格式? Cache的地址格式? (4)在直接映象方式下,主存中的第I块映象到 Cache中哪一块?
..
主存
块0 块1
块15 块0 块1
块15
0组 1组

.. … ..
127组
块15
例:设一个Cache中有8个块,访问主存进行读操作的块地址序列为
22、26、22、26、16、4、16、18,求每次访问后Cache中的
内容
直接映象下Cache访问情况
地址 22 26 22 26
命中与否 不命中 不命中
(3)当不命中时,CPU转去直接访问主存,若为读操作,CPU从主 存读取信息的同时,Cache控制部件把该地址所在那块存储内容 从主存一次调进Cache存储器.不命中时,若为写操作,许多计算机 系统只向主存写信息,不必同时把这个地址所在的整块存储内容 再调入Cache中.
注意:CPU与Cache之间的数据交换是以字为单位;而Cache 与主存之间的数据交换是以块为单位.
3.5.2 主存与cache的地址映射(映象)和地址变换
地址映象:将主存块按照某种规则或方法装入或定位在Cache中。
地址变换:是将主存地址变换成Cache地址,从而访问Cache。
在高速缓冲存储器当中,把Cache和主存机械等分为相同大小的块,每 一块是由若干个字(或字节)组成.
例:某机主存容量为1MB,划分为2048块,每块512B; Cache容量为
3.5.1 Cache 基本原理
解决CPU和主存之间速度不匹配采用的一项重要技术
一、Cache的工作机制
Cache的工作机制基于程序访问的局部性原则。一个 运行程序的代码大都顺序存放在地址连续的存储器中, 与程序相关的数据在存储器中也相对集中。所以程序 运行时,尤其有循环程序和子程序时,在较短时间区 间内,常会对局部范围的存储器频繁访问,而此范围 之外的地址访问甚少。这种现象称为程序访问的局部 性。把局部范围的主存内容从主存放到一个高速小容 量存储器中,使CPU在这一段时间内直接访问它,以 减少或不去访问慢速的主存,程序运行速度明显提高。
主存
Cache 块0 块1
块15
块0
块1
0组
..
块15
块0
块1
1组
块15

.. … ..
优点:硬件简单,成本低 缺点:块冲突率很高
127组
块15
直接映象
主存地址
主存组号
块号
7位
4位
9位 块内地址
比较 存储器 0000 主存组号 0001
1111
Cache 块0 块1
块15
7位
9位
块号
4位
块内地址
Cache地址
命中 命中
地址转换关系 22 MOD 8=6 26 MOD 8=2 22 MOD 8=6 26 MOD 8=2
16
不命中
16 MOD 8=0
4
不命中
4 MOD 8=4
16
命中
16 MOD 8=0
18
不命中
18 MOD 8=2
直接映象的块分配情况
访问顺序 1
23
4
5
6
7
8
地址 22 26 22
26
16
多主

宽存
Cache 存储器
DB
单字宽
2.Cache的工作过程
(1)CPU送出访问单元的地址由AB打入Cache存储器的MA,由 主存-Cache地址变换机构判断该单元内容是否已在Cache中存 有副本,如果副本已在Cache中,称为命中;否则,称为不命中.
(2)当命中时,把访问地址变换为它在Cache的地址,然后驱动 Cache存储体,当是读操作时,CPU从Cache中直接读取信息,若 为写操作,应注意Cache与主存数据的一致性
相关主题