第4章储存体系2.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章储存体系2

2.直接映象及其变换 1)规则:主存中每一块只能映像到Cache中唯一一个特定位置。 如图所示,主存的第i块只能映像到第i mod2ncb块位置上。如图4.35所示: 2)变换过程 快速度的直接相联地址变换 3)优缺点 优点: a)所需硬件简单,只需要容量较小的按地址访问的区号标志表存贮器和少量外比较电路,因此成本低。 b)访问Cache与访问区号表、比较区号是否相符的操作是同时进行的。当Cache命中时就意味着省去了地址变换所花费的时间。 缺点:直接映象法最致命的缺点就是Cache的块冲突率很高。只要有两个或两个以上经常使用的块恰好被映象到Cache的同一个块位置时,就会使得Cache的命中率急剧下降。而且,即使此时Cache中有大量的空闲块存在,仍然会发生块失效和块冲突,无法使用Cache中的空闲块,所以,Cache的利用率很低。正是因为这个原因才使得目前采用直接映象的Cache存贮器很少了。 3.组相联映象及其变换 组相联方式是目前在Cache中用得比较多的一种地址映象和变换方式。它是介于全相联和直接相联之间的一种折中方案。 思想:简要说明如下图4.37所示,将Cache空间和主存空间都分组,每组S块(S=2s)。Cache一共2ncb个块,分成Q组(Q= 2q),整个Cache是一区。主存分成与Cache一样大小的2nd个区,其地址按区号、组号、组内块号、块内地址分成对应的4个字段。主存地址的组号、组内块号分别用q、s 字段表示,它们的宽度和位置与Cache地址的q、s是一致的。 规则:组相联映象指的是各组之间直接映象,但组内各块间则是全相联映象。如图4.37所示。 为了实现主存块号到Cache块号的变换,需要一个由高速小容量存储器做成的块表存储器。块表存储器采用按地址访问和按相联访问两种方式工作。在组内采用相联方式访问,在组之间采用按地址方式访问。块表的容量与Cache的块容量相等,字长为主存地址中的区号E、组内块号B与Cache地址中的组内块号b的长度之和。 为了提高Cache的访问速度,可以把Cache的地址变换与访问Cache并行进行,并采用流水线方式工作。 3)讨论 当组相联映象的S值大到等于Cache的块数(即s= ncb) 时就变成了全相联映象,而当S值小到只有1块(即无s 字段)时就变成了直接映象。因此全相联映象和直接映 象只是组相联映象的两个极端。在Cache空间大小及 块的大小都已经确定的情况下,Cache的总块数就定 了,但结构设计者仍可以对S和Q值进行选择。Q和S 的选取主要依据对块冲突概率、块失效率、映象表复 杂性和成本、查表速度等的折衷权衡。组内块数S愈 多,块冲突概率和块失效率愈低,映象表愈复杂、成 本愈高,查表速度愈慢。所以通常采用在典型工作负 荷下进行模拟而定。 4)地址变换 组相联映象方式与直接映象方式相比,最明显的优点是块的冲突概率大大降低。 组相联映象方式与全相联映象方式相比,实现起来要容易得多,但Cache的命中率与全相联映象方式很接近。因此,组相联映象方式在许多机器中得到广泛的应用。 在Cache的容量和每块的大小确定之后,可以通过选择每组的块容量和Cache的组容量,即分配Cache地址中组号q和组内块号s两个字段的长度,来优化Cache的性能。主要包括块冲突概率,块的失效率,查表的速度,实现的复杂性和成本等。一般来说,每组的块容量s越大,块的冲突概率和Cache的失效率就越低,但由于映象关系复杂,查表的速度就越慢,实现的成本也越越高。 表3.5 采用组相联映象方式的典型机器的Cache分组情况 当每个组的块容量增大时,需要进行相联访问的存储器的容量将增加,造成查表的速度降低,实现成本增加。但是,当每个组的块数太少时,块的冲突概率和Cache的失效率就会增大。例如,当每组的块容量为2时,主存的各个分区中相对块号相同那些块只能映象到Cache的两个特定块中,当这些块中有两个以上是当前的常用块时,就会出现所谓的颠簸现象。 4.段相联映象 在全相联、直接相联、组相联映象的基础上还可 以有各种变形,段相联就是一例。段相联实质上是 组相联的特例。他是采用组间全相联、组内直接映 象。为了与组相联加以区别,将这种映象方式称为 段相联。就是说,段相联映象是把主存和Cache分 成具有相同的Z块的若干段,段与段之间采用全相 联映象,而段内各块之间采用直接映象。如图4.42 所示: 4.3.3替换算法的实现 当访存发生Cache块失效,需要把主存块按所采 用的映象规则装入Cache时,如果又出现Cache块冲 突,就必须按某种策略选择将Cache中的哪一块替 换出去。 直接映象及变换方式实

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档