存储器-3资料.pptVIP

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储器-3资料.ppt

第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的处理是不同的: 1、 读操作: 读命中:立即从Cache读出送给CPU; 读不命中:通常有两种解决方法: A)将主存中该字所在的数据块复制到Cache中,然后再把这个字传送给CPU; B)把此字从主存读出送到CPU,同时,把包含这个字的数据块从主存中读出送到Cache中。 Cache的读写操作 2、写操作 写贯穿策略: 命中:同时对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。 主存容量16MB,cache容量16KB,采用全相连映射,4个字节为1块。问: 1、主存和cache各多少块? 2、主存地址的标记字段和字字段个多少位? 3、组相联映射 特点:将Cache的行分成2c-r组,每组2r行。主存的字块存放到Cache中的哪个组是固定的,至于映射到该组哪一行是灵活的,即有如下函数关系: 例5.6 当cache组地址为3位,每组有两个数据块时,问主存字块15可映射到cache的哪一块? 解: 解: 2、主存地址共24位,组字段13位,字节地址字段2位,剩余9位为标记字段。 例题 Cache容量为8k字节,采用4路组相联结构,块的大小为4个字(一个字为32位,即4字节),假定主存的容量为16M字节. (1)cache共分几组? (2)写出主存的字节地址的格式,并说明地址格式中的不同字段的作用和位数. 解: (1)8kB/(4*4*4B)=128. (2)主存地址共24位, 三、替换算法 1、随机替换算法 2、先进先出算法(FIFO) 3、最近最少使用算法(LRU) 该算法统计哪一个Cache行是近段时间使用次数最少的Cache行,需替换时就将它替换出去。 LRU替换算法可以通过为每个Cache行设置一个计数器来实现LRU替换算法,Cache每命中一次,命中行的计数器被清零,其他行的计数器加1,需要替换的话,就将计数器值最大的行替换出去。 四、Cache的多层次设计 设计Cache主要考虑五个问题: 第一,容量。 第二,Cache中行的大小。 第三,Cache的组织(地址映射方式)。 第四

文档评论(0)

love + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档