011-第5章存储体系-3教案分析.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 存储体系 5.1 存储体系概述 5.2 主存储器 5.3 主存储器与CPU的连接 5.4 高速存储器 5.5 高速缓冲存储器Cache 5.6 虚拟存储器 5.7 外存储器 5.8 存储保护 本章小结 作业 5.5 高速缓冲存储器Cache 一、Cache的基本原理 二、主存与Cache的地址映射方式 三、替换算法 四、Cache的多层次设计 五、Pentium Ⅱ的Cache 一、Cache的基本原理 1、Cache的特点 2、Cache的工作原理 3、Cache的命中率 1、Cache的特点 Cache是指位于CPU和主存之间的一个高速小容量的存储器,一般由SRAM构成。 Cache功能:用于弥补CPU和主存之间的速度差异,提高CPU访问主存的平均速度。 设置Cache的理论基础,是程序访问的局部性原理。 时间局部性:若某个地址被访问,则在不久的将来仍有可能被访问; 空间局部性:若某个地址被访问,则这个地址周围的单元也很可能被访问。 Cache的内容是主存部分内容的副本,Cache的功能均由硬件实现,对程序员是透明的。 2、Cache的工作原理 Cache的速度比主存快5-10倍。 Cache的原理图 Cache的读写操作 CPU在读写存储器时,Cache控制逻辑首先要依据地址来判断这个字是否在Cache中,若在Cache中,则称为“命中”;若不在,则称为“不命中”。 针对命中/不命中、读/写操作,Cache的处理是不同的: 读命中:立即从Cache读出送给CPU; 读不命中:通常有两种解决方法: A)将主存中该字所在的数据块复制到Cache中,然后再把这个字传送给CPU; B)把此字从主存读出送到CPU,同时,把包含这个字的数据块从主存中读出送到Cache中。 Cache的读写操作 写不命中:直接将该字写入主存中,且不再调入Cache; 写命中:通常也有两种方法进行处理: 写贯穿方法:同时对Cache和主存进行写操作; 写回:只写Cache,仅当此Cache块被替换时,才将该块写入主存 3、Cache的命中率 命中率指CPU访问主存数据时,命中Cache的次数,占全部访问次数的比率;失效率就指不命中Cache的次数,占全部访问次数的比率。命中率h取决于程序的行为、Cache的容量、组织方式、块大小。 在一个程序执行期间,设Nc表示Cache完成存取的总次数,Nm表示主存完成存取的总次数,则命中率: 由表达式可以看出,为提高访问效率,命中率h越接近1越好,r的值以5-10为宜,不宜太大。 命中率h与程序的行为、Cache的容量、组织方式、块的大小有关 例:CPU执行一段程序时,Cache完成存取的次数为1900次,主存完成存取的次数为100次,已知Cache存取周期为50ns,主存存取周期为250ns,求Cache/主存系统的效率和平均访问时间。 二、主存与Cache的地址映射方式 讨论的问题:如何根据主存地址,判断Cache有无命中并变换为Cache的地址,以便执行读写。有三种地址映射方式: 1、直接映射 2、全相联映射 3、块组相联映射 讨论前提:Cache的数据块称为行,主存的数据块称为块,行与块是等长的;主存容量为2m块,Cache容量为2c行,每个字块中含2b字。设i表示主存块号, j表示Cache行号,其中,i=0,1,2,..., 2m-1;j=0,1,2,..., 2c -1 。 1、直接映射 特点:是一种多对一的映射关系:主存的第i块一定映射到Cache的第j行,且: 2、全相联映射 特点:是多对多的映射关系:对于主存的任何一块均可以映射到Cache的任何一行。 优点:机制灵活,命中率高。 缺点:比较器电路难于设计和实现,因此只适合于小容量的Cache。 3、组相联映射 特点:将Cache的行分成2c-r组,每组2r行。主存的字块存放到Cache中的哪个组是固定的,至于映射到该组哪一行是灵活的,即有如下函数关系: 三、替换算法 1、随机替换算法 2、先进先出算法(FIFO) 3、最近最少使用算法(LRU) 该算法统计哪一个Cache行是近段时间使用次数最少的Cache行,需替换时就将它替换出去。 LRU替换算法可以通过为每个Cache行设置一个计数器来实现LRU替换算法,Cache每命中一次,命中行的计数器被清零,其他行的计数器加1,需要替换的话,就将计数器值最大的行替换出去。 四、Cache的多层次设计 设计Cache主要考虑五个问题: 第一,容量。 第二,Cache中行的大小。 第三,Cache的组织(地址映射方式)。 第四,指令和数据共用同一个Cache还是分享不同Cache。 第五,Cache的层次。 四、Cache的多层次设计 1、统一Cache和分离Cac

您可能关注的文档

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档