- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 高速缓冲存储器Cache CPU、内存之间的存取速度 ? 如500MHz的PⅢ,一次指令执行时间为2ns,与其相配的内存(SDRAM)存取时间为10ns,比前者慢5倍,CPU和PC的性能怎么发挥出来? 如何减少CPU与内存之间的速度差异? 一种是在基本总线周期中插入等待 一种方法是采用存取时间较快的SRAM作存储器 第3种方法是Cache法。 还有一种方法,采用新型存储器。 高速缓冲存储器Cache是位于CPU和主存储器DRAM之间,规模较小,但速度很高的存储器,通常由SRAM组成。它根据程序的局部性原理,把正在执行的指令地址附近的一部分指令或者数据从主存调入这个存储器,供CPU在一段时间内使用,这对提高程序的运行速度有很大的影响。它的工作速度数倍于主存,全部功能由硬件实现,并且对程序员是透明的。 图5-1 在CPU与主存之间设置Cache 5.1高速缓冲存储器的工作原理 缓存的工作原理是怎样的? cache更加有效,要求程序有高度的暂时性和局部性。 程序访问的局部性 :当执行的程序在对存储器寻址时,其地址总是在最近刚被访问过的存储单元的附近,这种现象被称之为程序访问的局部性。 图5-3 缓存一个循环子程序 命中率(Hit rate) CPU在任一时刻从Cache中可靠获取数据的几率。命中率越高,正确获取数据的可靠性就越大 。 一般规定Cache与内存的空间比为4:1000,即128kB Cache可映射32MB内存;256kB Cache可映射64MB内存。 5.2高速缓冲存储器的基本结构 ?行组:内容是数据或程序。 每个行组由若干行组成 “行”中存放的是16字节或32字节的数据或程序。 在一个时间段内,Cache的某块中放着主存某块的全部信息,即Cache的某一块是主存某块的副本(或叫映像) 。 5.2.1全相联Cache 图5-8 全相联地址转换 主要优点是,它能够在给定的时间内去存储主存器中的不同的块,命中率高。 缺点有两个: 由于需要记录主存块块地址的全部信息,因此标记位数增加了,使得Cache的电路规模变大,成本变高; 通常采用“按内容寻址的”方式设计相联存储器,比较器难于设计和实现。 例5-1某机主存容量为1M,Cache的容量为32KB, 每块的大小为16个字(或字节)。 画出主、缓存的地址格式、目录表格式及其容量。 5.2.2直接映像Cache 优点:直接映像Cache优于全相联Cache,能进行快速查找,硬件简单、成本低; 缺点:不够灵活,主存的若干块只能对应惟一的Cache块,即使Cache中还有空位,也不能利用,当主存储器的组之间做频繁调用时,Cache控制器必须做多次转换。 例5-2上例中,主存容量为1M, Cache的容量为32KB,每块的大小为16个字(或字节)。画出主、缓存的地址格式、目录表格式及其容量。 5.2.3组相联Cache 组相联的映象规则: (1) 主存和Cache按同样大小划分成块。 (2) 主存和Cache按同样大小划分成组。 (3) 主存容量是缓存容量的整数倍,将主存空间按缓冲区的大小分成区,主存中每一区的组数与缓存的组数相同。 (4) 当主存的数据调入缓存时,主存与缓存的组号应相等,也就是各区中的某一块只能存入缓存的同组号的空间内,但组内各块地址之间则可以任意存放, 即从主存的组到Cache的组之间采用直接映象方式;在两个对应的组内部采用全相联映象方式。 组相联映像的性能及复杂性介于直接映像和全相联映像之间。 通常将每组K个块的Cache称为k路组相联(K-Way?Set Associative?Mapping) Cache。 5.3高速缓冲存储器的性能分析 1.Cache系统的加速比 其中:Tm为主存储器的访问周期,Tc为Cache的访问周期,T则为Cache存储系统的等效访问周期,H为命中率。 2.Cache的命中率 例如,将主存空间分成4?096块,块编号应是地址码的高12位,写成十六进制为000H~0FFFH。按同样大小,将Cache分成16块,块编号为0H~0FH。 2.Cache的命中率 设当前010号主存块在Cache中,即它和Cache的第0块建立起映像关系。现要对两个主存地址单元进行读操作,第一个地址的高3位(十六进制)为0l0H,第二个地址的高3位(十六进制)为020H。 将访问的数据在Cache中的次数与总的访问次数之比称为命中率。 影响Cache命中率的因素很多,如Cache的容量,块的大小,映象方式,替换策略以及程序执行中地址流的分布情况等等。 已知64KB的Cache可以缓冲4MB的主存,且命中率都在90%以上。
文档评论(0)