当前位置: 移动技术网 > 网络运营>网络>协议 > 计组统考2015选择16

计组统考2015选择16

2020年07月20日  | 移动技术网网络运营  | 我要评论

复习计组存储系统这块时碰到了这个题

(2015.16)假定编译器将赋值语句”x = x+3”转换成指令”add xaddr,3”,其中xaddr是x对应的存储单元地址。若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写(Write Through)方式,则完成该指令功能需要访问主存的次数至少是()

我也是天真的选择了2次,但是正确的答案是1次

这个题迷惑性还是挺大的,我来谈谈我的对这个1次的答案的理解吧,如有不对还请指出。


首先我们先要明确这个指令要做什么。取数、运算、写回。

取指令之后会根据x的地址去内存中取出x的数值。此时如果指令所在的页位于TLB中,则无需访问内存,直接根据TLB中的实页号去找相应的页。

因为有cache的存在,所以会先访问cache,此时如果要寻找的页位于cache,则无需访问内存,直接在cache中取出x的值。

取出x的值并运算完后,通过写直通法进行写入,因为写直通法是cache和内存一起写入,所以此时必须要访问一次内存,所以答案是1次。

这里有人提到了写缓存,严格来讲这个题目不是非常严谨。题干里没有说写缓存是否能用,如果有写缓存,则执行这条指令的时候其实是不用访问内存的,但是这里应该是默认了不用写缓冲。

本文地址:https://blog.csdn.net/Boooooil/article/details/107433486

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网