欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

2016-408-计组-有如下c语言程序段

发布时间:2023/12/31 35 豆豆
生活随笔 收集整理的这篇文章主要介绍了 2016-408-计组-有如下c语言程序段 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
有如下C语言程序段:for(int k = 0; k < 1000; k++) {a[k] = a[k]+32; }


 
若数组a以及变量k均为int型,int型数据占4B,数据Cache采用直接映射 方式,数据区大小是1KB,块大小是16B,该程序段执行前Cache为空,则该程序段执行过程中,访问数组a的Cache的缺失率是:C 
A. 1.25% 
B. 2.5% 
C. 12.5% 
D. 25%

 a[k]的访问步骤是:先访问cache,cache缺失,之后从主存中取出一个块(有4个int)调入cache,这个块中的后几个数据都是命中的,本题中一个数据占4B,一个块大小是16B,这说明一个块中有4个数据,关键是后面还有一次写,每个数据都有一次访问(数组)和一次写(赋值),这说明一次循环要2*4=8次访问cache,其中只有第一次访问(数组)是缺失的,后面七次都是命中的,所以缺失率是12.5%;

映射cache总结:

全映射了解即可,随机映射,考的不多。

直接映射:有一位有效位标记(增,易失考虑)+高位为标记(一般为cache容量倍数)+块号+块内地址;高位为标记(一般为cache容量倍数)+块号+块内地址=物理地址

n路组相联映射:高位为标记+组号+块内地址=物理地址,组号+块内地址位数=cache容量/n路

总结

以上是生活随笔为你收集整理的2016-408-计组-有如下c语言程序段的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。