Caching 如何计算三级缓存的有效CPI
我被一道作业题难住了,我希望有人能帮助我更好地理解它。我得到的是:Caching 如何计算三级缓存的有效CPI,caching,architecture,cpu-architecture,cpu-cache,hit,Caching,Architecture,Cpu Architecture,Cpu Cache,Hit,我被一道作业题难住了,我希望有人能帮助我更好地理解它。我得到的是: CPU基本CPI=2,时钟频率=2GHz 主缓存,未命中率/指令=7% L-2缓存访问时间=15ns L-2缓存,本地未命中率/指令=30% L-3缓存访问时间=30ns L-3缓存,全局未命中率/指令=3%,主存访问时间=150ns 什么是有效消费物价指数 我的理解是,我需要计算每个缓存级别的未命中惩罚 L1未命中惩罚=L2的访问时间=15ns/(1ns/2cc)=30个时钟周期 二级未命中惩罚=三级访问时间=30ns/(
什么是有效消费物价指数 我的理解是,我需要计算每个缓存级别的未命中惩罚
- L1未命中惩罚=L2的访问时间=15ns/(1ns/2cc)=30个时钟周期
- 二级未命中惩罚=三级访问时间=30ns/(1ns/2cc)=60个时钟周期
- L3未命中惩罚=访问时间MM=150ns/(1ns/2cc)=300个时钟周期
在给我的老师发电子邮件后,因为班上没有人理解1-2分钟的全球和本地解释,我被告知我的答案很接近,但错了。如果有人能提供一些见解,甚至能给我一个好的教程,我将不胜感激。我能理解如何计算1级和2级缓存的有效CPI。跳到3让我很困惑 从另一个角度考虑可能会有所帮助。如果我们假设我们将执行1000000条指令,给定您的主缓存命中率,其中93%将命中,并且只需要2CPI。7%或70000将需要达到较低的缓存级别。在这70000中,70%(49000)将在L2中命中,需要15N(或30CPI)。剩下的21000个需要来自L3或更低级别。97%(20370)将在L3中命中,需要60CPI。其余630将需要300CPI的内存访问 因此,整个堆栈的总时钟数为930000*2+49000*30+20370*60+630*300,总计为4741200,如果指令计数为1000000,则有效CPI为4.7412
这可能仍然不正确,因为我不完全确定在这个特定问题中,全球/本地未命中率之间的差异是什么,以及如何在这里应用它,但这至少显示了一种不同的方法来帮助理解这个问题。它还假设,例如,L2中60个时钟的未命中惩罚是整个惩罚-换句话说,在主时钟和L2中未命中并且必须从L3获取的访问是否只需要60个时钟,或者从L3获取到L2需要60个时钟,然后再额外30个时钟将其从L2获取到主时钟,然后是通常的2个时钟,L2未命中时总共92个时钟?也许这就是本地/全局的区别?WCU问题,对吗?我有同样的课 检查D2L。提供的完整第5章pdf第18-20页。必修的《计算机组织与设计》教科书对这类问题进行了相当详细的阐述。快速看一眼,我想你可能做了一些不正确的操作。正确的数字…错误的操作。我自己也在解决这个问题。如果我找到我的答案,我将在这里发布
嘿,所以我给他发了电子邮件询问这个解决方案 有效消费物价指数=2.0+.07 x 30+.30 x 60+.03 x 300=31.1
他的回答是L1和L3是正确的,但我必须考虑L2的本地未命中率。我还不确定这意味着什么,但希望这一点信息能有所帮助。在与教授交谈后,他说这个公式是正确的,但告诉我他不能告诉我答案是否正确。他似乎暗示这是正确的,但这可能只是一个语言障碍的误解 如果是这样的话怎么办: 对于两级缓存,有效CPI为: CPi=CPi(正常)+误判率1*误判率2+全球误判率*总误判率 对于三级缓存,它可能是: CPI=CPI+误判率1*误判率2+(误判率2/误判率1)(误判率1+误判率2)+全球误判率(误判率1+误判率2+误判率3) 消费物价指数=2+7%x60+(7%/30%)x(60+30)+3%x(300+60+90)
首先,谢谢你的回复。我做了一些和你一开始建议的相似的事情。在和我的教授再次交谈后,他说我的公式是正确的。我认为我的问题在于罚失点球。如果我读对了你的帖子,那也是你想要表达的。回到分析一些数字。相关讨论: