没有合适的资源?快使用搜索试试~ 我知道了~
第五章 存储器层次结构.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 118 浏览量
2022-07-06
14:21:00
上传
评论
收藏 204KB DOC 举报
温馨提示
试读
36页
第五章 存储器层次结构
资源推荐
资源详情
资源评论
第五章 存储器层次结构
5-1
第五章 存储器层次结构
存储器是计算机系统的核心组成部分。本章介绍存储器层次结构(memory hierarchy)的基本
概念和原理,讨论和分析如何利用局部性原理提高 Cache/主存存储器层次结构、虚拟存储器(主
存/辅存存储层次)的性能。最后以 Alpha 机的存储系统为实例综合介绍存储体系的工作过程。
5.1 存储器层次结构的基本概念
5.1.1 存储器的基本性能参数
评价存储器性能的参数主要有三个方面:容量、速度与价格。
存储器容量用 S=W×l×m 表示,W 为存储器字长,l 为存储器字数,m 则为存储器体数。
评价存储器的速度一般有以下几个参数:
访问时间(access time)Ta:从存储器接到读请求到所读的字传送到数据总线上的时间间隔。
存储周期 Tm:连续两次访问存储器之间所必需的最小时间间隔。一般 Tm > Ta。
存储带宽 Bm:存储器被连续访问时所提供的数据传输速流,单位是位(或字节)/秒。
存储器的价格通常用单位字节价格来表示。若总容量为 S 的存储器的总价格为 C,则单位
字节价格 c=C/S。
5.1.2 存储器层次结构的基本原理
程序设计人员总是希望存储器的速度尽可能的高,以与处理器的速度相匹配;存储器的容
量尽可能的大,以装下可能极大的程序;因此,高速度、大容量、低价格始终是存储体系的设
计目标。
一方面,经过几十年的发展,存储器的工艺实现技术有了突飞猛进的发展,高速、大容量、
低价的存储器件以惊人的速度生产出来。尽管如此,存储技术的发展证明单一工艺的单一存储
器很难同时满足容量、价格、速度三方面的性能要求(见图 5.1 存储器的速度与价格的关系曲
线)。事实上,对容量与速度、速度与价格、容量与价格的性能要求是相互有矛盾的。而且,存
储器速度的改进始终跟不上 CPU 速度的提高 。
图 5.1 存储器的速度与价格的关系曲线
另一方面,第一章中我们已介绍了局部性原理,即所有程序都具有这样的行为特性:程序
倾向于再次使用最近刚用过的数据和指令。这样的局部性反映在空间和时间两个方面。
空间局部性(spatial locality)((如果某个数据或指令被引用,那么地址邻近的数据或指令不久
很可能也将被引用。
时间局部性(temporal locality)((如果某个数据或指令被引用,那么不久它可能还将再次被引
用。
为了满足对存储器的性能要求,随着存储技术的不断发展,根据程序本身这种局部性的行
为特性以及小硬件速度更快的设计原则,基于不同容量和速度的多种存储器所构成的存储器层
第五章 存储器层次结构
5-2
次结构很自然地就产生了,如图 5.2。一个存储器层次结构由多级不同类型的存储器构成;越靠
近 CPU 的存储器容量越小、速度越快、价格越高,离 CPU 越远的存储器容量越大、速度越慢、
价格越低;第i级存储器存储的信息是第i-1级存储信息的子集(根据时间局部性),相邻两
级存储器之间以块为单位进行信息交换(根据空间局部性);各级存储器借助辅助软硬件构成一
个整体,使得该存储体系具有接近于第n级存储器速度、接近于第1级存储器容量和单位字节
价格的性能。
图 5.2 存储器层次结构
存储器层次结构是由多级存储器构成的,但管理是以两级存储器为单位来进行的,而且一
般只有在相邻两级存储器之间可以进行信息交换。下面以两级存储器层次结构(简称存储层次,
如图 5.3 为例介绍存储器层次结构的一些基本概念。
块(block):相邻两级存储器之间信息交换的最小单位。块大小一般是固定的,也可以是可
变的。若块大小固定,则两级存储器的容量为块大小的整数倍。
图 5.3 两级存储器层次结构
命中率(hit rate)H:CPU 产生的有效地址可以直接在高层存储器中访问到的概率。
失效率(miss rate)M:CPU 产生的有效地址直接在高层存储器中访问不到的概率。M=1-
H。
命中时间(hit time):访问高层存储器所需的时间,其中包括本次访问是命中还是失效的判
定时间。
失效损失(miss penalty):用低层存储器中相应的块替换高层存储器中的块,并将该块传送
到请求访问的设备(通常是 CPU)的时间。它又可细分为访问时间和传送时间(transfer time)两
部分。其中前者指访问高层存储器失效时,在低层存储器中访问到块中第一个字的时间,又称
访问延迟(access latency)。后者则是传送块内其它字的附加时间。访问时间与低层存储器的延迟
有关,而传送时间则依赖于两级存储器之间的传输带宽和块大小。
5.1.3 存储器层次结构的性能
由于存储器层次结构的设计目标之一是使其速度接近于高层存储器的速度,因此容易根据
命中率的高低来评价存储器层次结构性能的好坏。由于命中率或失效率与硬件速度无关,因而
这样的评价是很片面的。更好的评价存储器层次结构的性能参数是平均存储访问时间(average
memory-access time),其定义如下:
平均存储访问时间=命中时间 + 失效率 × 失效损失
应该注意的是尽管用平均存储访问时间评价存储器层次结构的速度性能比简单的用命中率
来评价要好,平均存储访问时间仍然是性能的一种间接测度,它无法完全替代执行时间这个最
准确的性能参数。
图 5.4 给出了块大小与失效率、失效损失之间的关系曲线(假设高层存储器的容量保持不
变)。
图 5.4 块大小与失效率、失效损失之间的关系
第五章 存储器层次结构
5-3
由图 5.4(a)可见失效率与块大小之间的关系呈现三种不同性质:(1)当块大小过小时,
失效率很高。随着块大小的增加,由于有效地利用了程序的空间局部性,失效率呈现下降趋势;
(2)当高层存储器容量保持不变时,失效率有一最低限值,此时块大小的变化对失效率没有
影响;(3)当块大小超过某定值后,(这一定值又称为污染点),失效率呈现随块大小增加而上
升的趋势,这是由于在高层存储器容量不变的情况下,增加块大小使高层存储器中的块数减少,
对利用程序的时间局部性不利:有用的信息(不久将再次被使用的信息)被大块中的无用信息
替换出去,造成失效率上升。
由于失效损失中的访问延迟部分与块大小无关,传送时间随块大小的增加而线性增长,因
此失效损失也将随块大小的增加而线性增长,如图书 5.4(b)。当访问延迟很大时,增加块大小
对失效损失的影响不大。综合考虑块大小对失效率及失效损失的影响后,块大小与平均存储访
问时间的关系见图 5.5。
图 5.5 块大小与平均存储访问时间的关系
设计存储器层次结构的根本目标是为了减少执行时间,因此在确定块大小时,不能以失效
率为标准,而应选择使平均访问时间最小的块大小。
5.1.4 存储器层次结构对 CPU 设计的影响
处理器的性能是计算机设计的最终依据,所以在选择降低平均存储访问时间的策略时应考
虑对 CPU 性能的影响,保证设计方案不仅能降低平均存储访问时间,还能有益于改进 CPU 的
性能,如同时提高 CPI。下面讨论一下存储器层次结构设计对 CPU 设计的影响。
在不支持存储器层次结构的系统中,由于所有的存储访问都需要相同的时间,所以处理器
的设计相对简单。而在存储器层次结构中对高层存储器的访问存在失效问题,这意味着 CPU 必
须能够处理可变的存储访问时间。当失效损失较小,只有几十个时钟周期时,CPU 通常采用等
待块传输结束的策略。而当失效损失很大,达到 CPU 时钟的几千倍时,仍让 CPU 空闲着等待
传输结束就太浪费了。一般采用中断使 CPU 切换到其它进程去执行的办法。但用这种方法来避
免失效损失带来的额外开销意味着任何存储访问都可能导致 CPU 中断。这样 CPU 还必须能够
恢复引起这种中断的存储地址,使系统在失效处理时知道要传送哪一块。当存储传送结束时,
恢复原来被中断的进程,重新执行引起访问失效的那条指令。
处理器还必须设有一些机制以确定所需信息是否在存储器层次结构的最高层存储器中。在
每次存储访问时都要作这种判定检查,因而会影响命中时间。为了保证达到可接受的性能,这
种检测机制通常用硬件实现。要实现存储器层次结构,处理机还必须有在相邻两级存储器之间
传送信息块的机制。如果块传送只需几十个时钟周期,那么这种传送机制一般用硬件来控制;
如果需要几千个时钟周期,则可以用软件方法实现。
5.1.5 存储器层次结构设计的基本问题
由于所有的存储器层次结构几乎都有相同的设计目标,遵循相同的设计原则,所以在考虑
设计某二级存储器构成的存储器层次结构时所需考虑的基本问题是一致的。下面是存储器层次
结构设计中的四大基本问题:
(1)映象方式:在低层存储器中的块以什么方式与高层存储器中的块相对应,即每个低
层存储器的块按什么规则装入高层存储器。
第五章 存储器层次结构
5-4
(2)映象机构:是映象方式的实现。如果某信息块在高层存储器中,如何识别与查找它。
(3)替换策略:发生访问失效而高层存储器所有可能对应块中不存在无效的块,此时根
据什么规则选择有效信息块将之淘汰出高层存储器,而换之以从低层存储器中传送来的新块。
(4)写策略:写操作时采用何种策略以保持相邻两级存储器中数据的一致性,发生写操
作失效时是否将被写的块从低层存储器取入高层存储器。
我们将从这四个方面来介绍 Cache/主存存储器层次结构和虚拟存储器,以及由它们在存
储体系中所处的层次所决定的一些特性和性能优化方法。
5.2 Cache/主存存储器层次结构
在现代计算机设计中几乎全部采用了 Cache 技术,这是因为在 CPU 与主存之间引入 Cache,
有效地解决了 CPU 与主存之间的速度匹配问题。由 Cache 与主存构成的存储器层次结构具有两
级存储器层次结构的一般特点,在5.1.2中介绍的基本概念在此也同样适用,只是在 Cache
/主存存储器层次结构中块的概念常用行(line)来表示。有关 Cache/主存存储器层次结构的一
些基本结构参数的典型范围见表5.1。
表5.1 Cache 基本结构参数
5.2.1 Cache/主存的映象方式
最基本的 Cache/主存映象方式有三种:
(1)直接映象(direct mapped):这是最简单的一种映象方式。主存中的一信息块只能对应
Cache 的一个特定行,如图 5.6。设 Cache 中共有
m
C
b
� 2
行,主存共分为Mb块,通常按下列
规则将主存中的第i块映象到 Cache 中的第j行:
j=i mod
2
C
b
图 5.6 直接映象
(2)全相关映象(fully associative):主存中的一信息块可对应 Cache 中的任意一行,如图
5.7 所示。
图 5.7 全相关映象
(3)组相关映象(set associative):将 Cache 的行分成若干组,不妨设为S组,S=
2
q
,
则每组中有n=
2
C
b
/S=
2
( )C q
b
�
=
2
e
行。主存中的第i块可以对应 Cache 中的某一特定组
(一般是第(i mod S)组)中的任意一行。若组中有n行,则称之为n路组相关映象。
组相关映象方式示意图见图 5.8。
第五章 存储器层次结构
5-5
图 5.8 组相关映象
容易看出,直接映象与全相关映象都是组相关映象方式的特例:直接映象即1路组相联,
而全相关映象为m路组相联(m=
2
C
b
)。
5.2.2 Cache/主存的映象机构
映象机构的功能是根据 CPU 送来的有效主存地址确定要访问的信息是否在 Cache 中,并找
到该信息块,也即它是映象方式的具体实现。
由于无论采用哪种映象方式,Cache 中的某一行总是对应于主存的多个块,即 Cache 中的
某信息行其来源可以是主存中的多个块。因此,Cache 中的每行都带有一个标志(tag)以确定该行
所对应的主存块。Cache 中存放标志的那部分存储器称为标志存储器。每个 Cache 的标志中可
以包含一些特定信息,根据这些特定信息可以检测他们是否和来自 CPU 的块帧地址相匹配。存
放标志的那部分存储器称为标志存储器。由于主存中的某一块可映象到 Cache 中的多个块(除
直接映象外),而且对 Cache/主存存储器层次结构来说,速度性能是至关重要的,因而来自 CPU
的主存地址是和 Cache 中所有可能对应行的标志同时作相联比较,以快速找出相匹配的块,如
图 5.9 所示。
图 5.9 映象机构示意图
为确定 Cache 行中所含信息是否有效,通常还在行标志中添加一个有效位(valid bit),指明
行中信息是否有效。如果未置有效位,则该行的标志不能与主存地址匹配。
在估算 Cache 成本时,标志存储器的成本容易被忽略。因为每个 Cache 行都带有一个标志,
所以增加块大小有益于减少标志成本在 Cache 总成本中所占的比例。
下面,我们考虑如何由 CPU 地址在 Cache 中判定其要访问的信息块。如图 5.10,来自 CPU
的主存物理地址由两部分组成:居地址高端的块帧地址(block-frame address)和低端部分的块内
偏移地址(block-offset address)。其中块内偏移地址用于从块内选取所需字节(设块大小为
2
w
字节);块帧地址(Mb位)在组相联方式下又分成二部分:索引(index)用于选取组,标志(tag)
用于和 Cache 中的行标志进行比较。当 CPU 给出一地址后,首先由索引确定
2
q
组之一,然后
地址标志和该组中的所有行标志(共
2
e
个,每个Mb-q位)进行相联比较。若有相同的且有
效位被置位,则表示相应信息块在 Cache 中,命中 Cache 后由块内偏移地址确定要访问的具体
字节。否则 Cache 失效。
图 5.10 CPU 地址组成
如果 Cache 的容量、块大小保持不变,增加相联度意味着增加组内行数,此时组数减少,
引起索引位数减少而标志位数增加,在图 5.10 中表现为标志/索引界限向右移动。极端情况下
即为全相联方式的映象机构:此时参与相联比较的共有
2
C
b
个行标志,标志宽度为Mb位。相
剩余35页未读,继续阅读
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功