CACHE 和虚拟存储器.pptVIP

  1. 1、本文档共22页,可阅读全部内容。
  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文档。上传文档
查看更多
CACHE 和虚拟存储器

* 3.5 高速缓冲存储器 3.5.1 高速缓冲存储器的工作原理 3.5.2 地址映像与变换方法 3.5.3 替换策略 3.5.4 Cache的写操作策略 退出 3.5.1 高速缓冲存储器的工作原理   高速缓冲存储器可以提高CPU访问存储器时的存取速度,减少处理器的等待时间,使程序员能使用一个速度与CPU相当而容量与主存相当的存储器。所以,这种方法对提高整个处理器的性能将起到非常重要的作用,比使全部主存都达到与CPU同样的速度要经济的多。 Cache的全部功能由硬件实现,并且对程序员来说是“透明”的,程序员不需要明确知道高速缓冲存储器的存在。Cache的存在,使得程序员面对一个既有Cache速度,又有主存容量的存储系统。CPU不仅和与Cache相连,而且和主存之间也要保持通路。 Cache和主存与CPU的关系 如右图所示。 1、程序局部性原理   对大量典型程序运行情况的分析结果表明,在一个较短的时间内,由程序使用的地址往往集中在存储器逻辑地址空间的很小范围内。这种在一个较小时间间隔内,程序所要用到的指令或数据的地址往往集中在一个局部区域内,因而对局部范围内的存储器地址频繁访问,而对此范围外的地址则访问甚少的现象称为程序访问的局部性原理。 如果把正在执行的指令地址附近的一小部分指令或数据,即当前最活跃的程序或数据从主存成批调入Cache,供CPU在一段时间内随时使用,就一定能大大减少CPU访问主存的次数,从而加速程序的运行。 2、Cache工作原理   在Cache存储系统中,把Cache和主存储器都划分成相同大小的块,因此,主存地址由块号B和块内地址W两部分组成。同样,Cache的地址也由块号b和块内地址w组成。 Cache的基本工作原理如右图所示。 4.5.2 地址映像与变换方法   全相联映像方式是指主存中的任意一块可以映像到Cache中的任意一块中,如右图所示。 如果Cache的块数为Cb,图中相联映像方式? 主存的块数为Mb,则主存与Cache之间的映像关系共有Cb×Mb种。 采用全相联映像方式的地址变换过程如下图所示 1、全相联映像方式及地址变换 3.5.2 地址映像与变换方法   直接映像方式是一种最简单的方法。主存中的一块只能映像到Cache中的一个确定块中。假设主存的块号为B,Cache的块号为b,则它们之间的映像关系可以表示为: h=B mod Cb 其中,Cb是Cache的块数。 直接映像方法的映像关系如右图所示。其中Mb是主存中的块数,Me是主存中的区数。 直接映像方式的地址变换过程如下图所示 2、直接映像方式及地址变换 3.5.2 地址映像与变换方法   组相联方式是目前在Cache中用得比较多的一种地址映像和变换方式,实际上,它是介于全相联和直接相联之间的一种折中方案。首先将主存以Cache为单位划分若干区,然后每一个区再划分为同样大小的若干组,例如,假设主存有64块,Cache有8块,2块为一组,则主存要划分8个区,每一个区划分为4组,而Cache划分为4组,组间采用直接映像方式,组内采用全相联映像。其映像方式如右图所示。 组相联映像方式的地址变换过程如下图所示。 3、组相联映像方式及地址变换 3.5.3 替换策略   Cache的工作原理要求它尽量保存必威体育精装版数据。当一个新的主存块需要拷贝到Cache,而允许存放此块的位置都被其他主存块占满时,就要产生替换。 替换问题与Cache的组织方式紧密相关。对直接映射的Cache来说,因一个主存块只有—个特定的块可以存放,所以问题解决起来很简单,只要把此特定位置上的原主存块换成此Cache块即可.对全相联和组相联Cache来说,就要从允许存放新主存块的若干特定块中选取一块换出,如何选取就涉及到替换策略,也称替换算法。 3.5.3 替换策略   替换算法很多,一个好的算法首先要看访问cache的命中率如何,其次要看是否容易实现。替换算法的目标是使Cache获得最高的命中率,就是让Cache中总是保持着使用频率高的数据,从而使CPU访问Cache的成功率最高。替换算法主要有4个: (1)随机替换算法:这是一种最简单的替换算法。当需要找替换的信息块时.它是用随机数发生器产生一个随机数,它就是被替换的块号。由于这种算法完全不反映程序的局部性特点,没有考虑信息块的历史情况和使用情况,故其命中率很低,已无人使用。 3.5.3 替换策略   (2)先进先出算法(FIFO):这种算法是把最早进入Cache的信息块给替换掉。为了实现这种算法,需要在地址变换表中设置一个历史位,每当有一个新块调入Cache时,就将已进入Cache的所有信息块的历史位加1。于是当需要进行替换时,只要挑选历史位中数值最大的信息块作为被替换

文档评论(0)

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

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

1亿VIP精品文档

相关文档