计算机组成与结构chap03培训讲学.ppt

  1. 1、本文档共84页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.4 cache存储器 3.4.1 cache基本原理 cache是介于CPU和主存之间的小容量存储器,存取速度比主存快。它能高速地向CPU提供指令和数据,加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。(演示) 3.4 cache存储器 3.4.1 cache基本原理 CPU与cache之间的数据交换是以字为单位,而cache与主存之间的数据交换是以块为单位。一个块由若干定长字组成的。当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。此时cache控制逻辑依据地址判断此字当前是否在 cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。由始终管理cache使用情况的硬件逻辑电路来实现LRU替换算法。 (演示) 3.4 cache存储器 3.4.1 cache基本原理 cache的命中率:CPU欲读取主存某字时,有两种可能,一是该数已在Cache中,称为CPU访问Cache命中,另一种是不在Cache内,此时需将该数所在的主存整个字块一次调入Cache中,此称为CPU访问Cache不命中,命中率是指CPU要访问的信息已在Cache内的比率。 3.4 cache存储器 3.4.1 cache基本原理 cache的命中率:在一个程序执行期间,设Nc表示cache完成存取的总次数,Nm表示主存完成存取的总次数,h定义为命中率,则有: h=Nc/(Nc+Nm) 3.4 cache存储器 3.4.1 cache基本原理 cache的命中率:若tc表示命中时的cache访问时间,tm表示未命中时的主存访问时间,1-h表示未命中率,则cache/主存系统的平均访问时间ta为:ta=htc+(1-h)tm 设r=tm/tc表示主存慢于cache的倍率,e表示访问效率,则有:e=tc/ta=1/[h+(1-h)r] 为提高访问效率,命中率h越接近1越好,r值以5至10为宜,不宜太大。命中率h与程序的行为、cache的容量、组织方式、块的大小有关。 (举例) 3.4 cache存储器 3.4.2 主存与cache的地址映射 cache的容量很小,它保存的内容只是主存内容的一个子集,且cache与主存的数据交换是以块为单位。 所谓地址映射即是应用某种方法把主存地址定位到cache中。 址映射方式有全相联方式、直接方式和组相联方式三种。 3.4 cache存储器 3.4.2 主存与cache的地址映射 全相联映射方式: 主存中一个块的地址与块的内容一起存于cache的行中,其中块地址存于cache行的标记部分中。 这种方法可使主存的一个块直接拷贝到cache中的任意一行上,非常灵活。 它的主要缺点是比较器电路难于设计和实现,因此只适合于小容量cache采用。 (演示) 3.4 cache存储器 3.4.2 主存与cache的地址映射 直接映射方式: 这也是一种多对一的映射关系,但一个主存块只能拷贝到cache的一个特定行位置上去。  cache的行号i和主存的块号j有如下函数关系: i=j mod m (m为cache中的总行数) 直接映射方式的优点是硬件简单,成本低。 缺点是每个主存块只有一个固定的行位置可存放,容易产生冲突。因此适合大容量cache采用。 (演示) 3.4 cache存储器 3.4.2 主存与cache的地址映射 组相联映射方式: 这种方式是前两种方式的折衷方案。它将cache分成u组,每组v行,主存块存放到哪个组是固定的,至于存到该组哪一行是灵活的。 组相联映射方式中的每组行数v一般取值较小,这种规模的v路比较器容易设计和实现。而块在组中的排放又有一定的灵活性,冲突减少。 (演示) 3.4 cache存储器 3.4.3 替换策略 cache工作原理要求它尽量保存最新数据,必然要产生替换。对直接映射的cache来说,只要把此特定位置上的原主存块换出cache即可。对全相联和组相联cache来说, 就要从允许存放新主存块的若干特定行中选取一行换出。 常用的替换算法有:最不经常使用(LFU)算法、近期最少使用(LRU)算法、随机替换。 3.4 cache存储器 3.4.3 替换策略 最不经常使用(LFU)算法: LFU算法将一段时间内被访问次数最少的那行数据换出。每行设置一个计数器。从0开始计数,每访问一次, 被访行的计数器增1。当需要替换时,将计数值最小的行换出,同时将这些行的计数器都清零。 这种算法将计数周期限定在对这些特定行

文档评论(0)

135****7705 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档