Ta=Tc*(H)+Tm*(1-H)
做模拟题遇到说Tm是访问主存和cache的时间之和,自己之前理解是Tm表示访问主存的时间,现在很懵逼;
第一种类型:真题有一道题形式是给出三句程序:
for(int k = 0; k < 1000; k++){ a[k] = a[k]+32;}
让你先思考核心程序的含义,表示几次读写访问cache,然后这几次访问中又有几次是未命中的
a[k]的访问步骤是:先访问cache,cache缺失,之后从主存中取出一个块调入cache,这个块中的后几个数据都是命中的,本题中一个数据占4B,一个块大小是16B,这说明一个块中有4个数据,关键是后面还有一次写,这说明一次循环要八次访问cache,其中只有第一次是缺失的,后面七次都是命中的,所以缺失率是12.5%;
第二种类型:直接给你时间次数什么的,让你计算:
假设CPU执行某段程序时,共访问Cache命中2000次,访问主存50次。已知:Cache的存取周期为50ns,主存的存取周期为200ns,求Cache – 主存系统的命中率、效率和平均访问时间;
这一个是很容易计算得,关键还是在Tm上面,这里Tm取200ns!!!后面遇到类似的题目再进行补充
本文通过两个实例解析了缓存系统中的命中率及效率计算方法,包括如何确定访问缓存与主存的次数,并进一步计算缓存系统的平均访问时间。
2万+

被折叠的 条评论
为什么被折叠?



