当前位置:
首页 >
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语言程序段的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 金格插件WebOffice2015使用体
- 下一篇: node2vec代码实现及详细解析