简述减小Cache失效开销的几种方法。

题目

简述减小Cache失效开销的几种方法。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

从主存的角度讲,减少cache失效开销的方法是什么?


正确答案: 减少主存延迟,提高主存带宽。

第2题:

容量为128KB的8路组相联Cache命中时间为1.14ns,失效率为0.6%,失效开销为50ns,则其平均访存时间为()。


正确答案:1.44

第3题:

在Cache中,只要增加块容量,一定可以减小失效率。


正确答案:错误

第4题:

在减少Cache失效开销的方法中,请求字处理技术在以下两种情况下效果不大:一是(),另一个是()。


正确答案:Cache块较小;下一条指令正好访问同一Cache块的另一部分

第5题:

简述通过编译优化降低cache失效率的基本思想。


正确答案: 在编译时,对程序中的指令和数据进行重新组织,是连续访问的指令或数据能够具有根号的时间和空间局部性,以降低Cache失效率。

第6题:

在减少Cache失效开销的方法中,Cache失效时仍允许CPU进行其它的命中访问,这种技术称为()技术。


正确答案:非阻塞Cache

第7题:

一些降低失效率的方法会增加命中时间或失效开销。


正确答案:正确

第8题:

降低Cache失效率有哪几种方法?简述其基本思想。


正确答案: 常用的降低Cache失效率的方法有下面几种:
(1)增加Cache块大小。增加块大小利用了程序的空间局部性。
(2)增加Cache的容量。
(3)提高相联度,降低冲突失效。
(4)伪相联Cache,降低冲突失效。当对伪相联Cache进行访问时,首先是按与直接映象相同的方式进行访问。如果命中,则从相应的块中取出所访问的数据,送给CPU,访问结束。如果不命中,就将索引字段的最高位取反,然后按照新索引去寻找“伪相联组”中的对应块。如果这一块的标识匹配,则称发生了“伪命中”。否则,就访问下一级存储器。
(5)硬件预取技术。在处理器提出访问请求前预取指令和数据。
(6)由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据被用到之前发出预取请求。
(7)编译器优化,通过对软件的优化来降低失效率。
(8)“牺牲”Cache。在Cache和其下一级存储器的数据通路之间增设一个全相联的小Cache,存放因冲突而被替换出去的那些块。每当发生不命中时,在访问下一级存储器之前,先检查“牺牲”Cache中是否含有所需的块。如果有,就将该块与Cache中某个块做交换,把所需的块从“牺牲”Cache调入Cache。

第9题:

通过编译器对程序优化来改进Cache性能的方法有哪几种?简述其基本思想。


正确答案: (1)数组合并,通过提高空间局部性来减少失效次数。有些程序同时用相同的索引来访问若干个数组的同一维,这些访问可能会相互干扰,导致冲突失效,可以将这些相互独立的数组合并成一个复合数组,使得一个Cache块中能包含全部所需元素。
(2)内外循环交换。循环嵌套时,程序没有按数据在存储器中的循序访问。只要简单地交换内外循环,就能使程序按数据在存储器中的存储循序进行访问。
(3)循环融合。有些程序含有几部分独立的程序断,它们用相同的循环访问同样的数组,对相同的数据作不同的运算。通过将它们融合成一个单一循环,能使读入Cache的数据被替换出去之前得到反复的使用。
(4)分块。通过改进时间局部性来减少失效。分块不是对数组的整行或整列进行访问,而是对子矩阵或块进行操作。

第10题:

简述降低Cache失效率的几种方法。


正确答案: 常用的降低Cache失效率的方法有下面几种:
(1)增加Cache块大小。增加块大小利用了程序的空间局部性。
(2)提高相联度,降低冲突失效。
(3)VictimCache,降低冲突失效。
(4)伪相联Cache,降低冲突失效。
(5)硬件预取技术,指令和数据都可以在处理器提出访问请求前进行预取。
(6)由编译器控制的预取,硬件预取的替代方法,在编译时加入预取的指令,在数据被用到之前发出预取请求。
(7)编译器优化,通过对软件的优化来降低失效率。