- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第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表示主存完成存取的总次数,则命中率: 二、主存与Cache的地址映射方式 讨论的问题:如何根据主存地址,判断Cache有无命中并变换为Cache的地址,以便执行读写。有三种地址映射方式: 1、直接映射 2、全相联映射 3、块组相联映射 讨论前提:Cache的数据块称为行,主存的数据块称为块,行与块是等长的;主存容量为2m块,Cache容量为2c行,每个字块中含2b字。 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和分离Cache 统一Cache:只有一个Cache,指令和数据混放。 分离Cache:分为指令Cache和数据Cache。它消除了流水线中指令处理器和执行单元间的竞争,因此,特别适用于Pentium Ⅱ和Power PC这样的超标量流水线中;是Cache结构发展的趋势。 2、单级Cache与两级Cache 一级Cache()和二级Cache 采用两级Cache结构可以提高性能 五、Pentium Ⅱ的Cache 5.7 外存储器 常见的外存储器有磁盘、磁带、光盘等 特点: 大都采用磁性和光学材料制成。 与内存相比,容量大,价格低,速度慢。 在断电的情况下可以长期保存信息,所以称为永久性存储器。 一般为顺序存
文档评论(0)