电子科技大学系统结构2015-复习学案.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* SPEC92程序的强制失效率很小。 1. 冲突失效似乎是最容易减少的,只要采用全相联,就不会发生冲突失效。但是,用硬件实现全相联是很昂贵的,而且可能会降低处理器的时钟频率(见前面的例子),从而导致整体性能的下降。 2. 至于容量失效,可以增大Cache的容量。 3. 增加块的大小,以减少强制性失效。但在下面我们将看到,块大小增加可能会增加其他类型的失效。 下面我们介绍7种降低失效率的方法。需要强调的是,许多降低失效率的方法会增加命中时间或失效开销。因此,在具体使用时,要综合考虑,保证降低失效率确能使整个系统速度提高。 * 5.3.1 增加Cache块容量 降低失效率最简单的方法是增加块容量。图5.12中对于一组不同的Cache容量,给出了失效率和块大小的关系(在与表5.5类似的情况下测得)。表5.6列出了图5.9的具体数据。从中可以看出: ②Cache容量越大,使失效率达到最低的块大小就越大。例如在本例中,对于大小分别为1KB、4KB、16KB、64KB和256KB的Cache,使失效率达到最低的块大小分别为32 B、64B、64B、128B、128B(或256B)。 ①对于给定的Cache容量,当块容量增加(从16B开始)时,失效率开始是下降,后来反而上升了。 * 增加块大小会产生双重作用: 减少了强制性失效,利用了空间局部性; 减少Cache中块的数目,所以有可能会增加冲突失效。在Cache容量较小时,甚至还会增加容量失效。 刚开始增加块大小时,由于块大小还不是很大,上述的第一种作用超过第二种作用,从而使失效率下降。但等到块大小较大时,第二种作用超过第一种作用,使失效率上升。 此外,增加块大小同时也会增加失效开销,如果这个负面效应超过了失效率下降所带来的好处,就会使平均访存时间增加。这时,即使降低失效率也是得不偿失。 例5.4 假定存储系统在延迟40个时钟周期后,每两个时钟周期能送出16 B。即,经过42个时钟周期,它可提供16 B;经过44个时钟周期,可提供32 B;依此类推。请问对于表5.6中列出的各种容量的Cache,在块大小分别为多少时,平均访存时间最小? 解 平均访存时间=命中时间+失效率×失效开销 假设命中时间与块大小无关,为一个时钟,那么对于一个块大小为16 B,容量为1 KB的Cache来说,平均访存时间为平均访存时间=1+(15.05%×42)个时钟周期=7.321个时钟周期 而对于块大小为256 B、容量为256 KB的Cache来说,平均访存时间为 平均访存时间=1+(0.49%×72)个时钟周期=1.353个时钟周期 * 5.3.2 提高相联度 前面已经说明了提高相联度会使失效率下降。从中可以得出两条经验规则: 8路组相联在降低失效率方面的作用已经基本和全相联一样有效。也就是说,采用相联度超过8的方法实际意义不大。 2:1 Cache经验规则,它是指容量为N 的直接映象Cache的失效率与容量为N/2的两路组相联Cache的失效率差不多相同。 许多例子都说明(包括前面的例子),改进平均访存时间的某一方面是以损失另一方面为代价的。增加块大小的方法会在降低失效率的同时增加失效开销,而提高相联度则是以增加命中时间为代价。经验说明,为了实现很高的处理器时钟频率,就需要设计结构简单的Cache;但时钟频率越高,失效开销就越大(所需的时钟周期数越多)。为减少失效开销,又要求提高相联度。 * 5.3.3 Victim Cache(牺牲缓存) 下面是近几年提出的几种方法,这些方法能在不影响时钟周期和失效开销的前提下降低Cache失效率。 一种能减少冲突失效次数而又不影响时钟频率的方法是:在Cache和它与下一级存储器的数据通路之间增设一个全相联的小Cache,称为Victim Cache。图5.13为其结构框图。 Victim Cache中存放由于失效而被丢弃(替换)的那些块(即victim)。每当发生失效时,在访问下一级存储器之前,先检查Victim Cache中是否含有所需的块。如果有,就将该块与Cache中某个块做交换。 * 5.3.4 硬件预取技术 指令和数据都可在处理器提出访问请求之前进行预取。预取内容可以直接放入Cache,也可以放在一个访问速度比主存快的外部缓冲器中。指令预取通常由Cache之外的硬件完成。 例如,Alpha AXP 21064微处理器在发生指令失效时取两个块:被请求指令块和顺序的下一指令块。被请求指令块返回时放入Cache,而预取指令块则放在缓冲器中;如果某次被请求的指令块正好在缓冲器里,则取消对该块的访存请求

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档