请问关于计算机组成原理cache计算的有关问题
请教关于计算机组成原理cache计算的问题
假设cache的一个字块的大小为32位,数据总线的宽度为32位,主存传送4个字节的数据用时30ns。cache的任一字块被换出前至少它已被写过一次。写策略可以回写式和写直达式。请问当一个cache字块被换出前被改写的平均次数超过多少次时,采用回写式比写直达式更有效。求大神指导解体方法。谢谢大侠啦,答后给分!
------解决思路----------------------
按他的意思,应该是整个块,只要其中任意一个字被写一次,就算一次。如果只是其中一个特定字被改写,那WB的效率会更高。
cache的里说的一行,cache line,就是指一个cache块。
------解决思路----------------------
WT 一次一般按数据总线宽度来算,也就是写 4 个字节的时间(假设为单位时间), WB 数据赃要换出内存,是按 cache line 的长度来计算,也就是 32 个字节,每次传输 4 字节,需要 8 个单位时间,也就是,也就是如果要换出,就要消耗 8 个单位时间,那么结论很简单了,如果一个 cache 被换出前,被改写超过 8 次时,就会比 WT 的效率更高,这也是被一个 cache 被频繁访问,采用 WB 可以提高效率的原因。虽不严谨,但大致是这样的。
假设cache的一个字块的大小为32位,数据总线的宽度为32位,主存传送4个字节的数据用时30ns。cache的任一字块被换出前至少它已被写过一次。写策略可以回写式和写直达式。请问当一个cache字块被换出前被改写的平均次数超过多少次时,采用回写式比写直达式更有效。求大神指导解体方法。谢谢大侠啦,答后给分!
------解决思路----------------------
按他的意思,应该是整个块,只要其中任意一个字被写一次,就算一次。如果只是其中一个特定字被改写,那WB的效率会更高。
cache的里说的一行,cache line,就是指一个cache块。
------解决思路----------------------
WT 一次一般按数据总线宽度来算,也就是写 4 个字节的时间(假设为单位时间), WB 数据赃要换出内存,是按 cache line 的长度来计算,也就是 32 个字节,每次传输 4 字节,需要 8 个单位时间,也就是,也就是如果要换出,就要消耗 8 个单位时间,那么结论很简单了,如果一个 cache 被换出前,被改写超过 8 次时,就会比 WT 的效率更高,这也是被一个 cache 被频繁访问,采用 WB 可以提高效率的原因。虽不严谨,但大致是这样的。