假定编译器将赋值语句“x=x+3;”转换为指令”add xaddr, 3”,其中 xaddr 是 x 对应的存储单元地址。若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的 TLB,且 Cache 使用直写(Write Through)方式,则完成该指令功能需要访问主存的次数至少是 。
A.0 B.1 C.2 D.3
取值,运算,写回:
取指令之后会根据x的地址去内存中取出x的数值。如果指令所在的页位于TLB中,则无需访问内存,直接根据TLB中的实页号去找相应的页;
因为有cache的存在,所以会先访问cache,此时如果要寻找的页位于cache,则无需访问内存,直接在cache中取出x的值; 取出x的值并运算完后,通过写直通法进行写入,因为写直通法是cache和内存一起写入,所以此时必须要访问一次内存,所以答案是1次。
B
用户登录可进行刷题及查看答案
登录后提交答案