假定编译器将赋值语句“x=x+3;”转换为指令“add xaddr, 3”,其中xaddr是x对应的存储单元地址。若执行该指令的计算机采用页式虚拟存储管理方式,并配有相应的TLB,且Cache使用直写 (Write Trough) 方式,则完成该指令功能需要访问主存的次数至少是( )。
A. 0
B. 1
C. 2
D. 3
跟直写法和回写无关,只要快表命中就是1次,不命中就是2次。
上述指令包括三个步骤:取数、运算、写回。 如果xaddr已经在Cache中,则不需要访问主存,因此在取数阶段,可能访问主存次数为0。 运算利用的是CPU内部的算术逻辑单元,不需要主存的参与,该阶段也不需要访问主存。 因为Cache采用的是直写方式,因此在写回操作时,不仅要写到Cache中,还要写到内存中,因此此阶段至少要访问一次内存。 综上,至少需要访问内存:0+0+1=1次
上述指令的执行过程可划分为取数、运...
用户登录可进行刷题及查看答案
上述指令的执行过程可划分为取数、运算和写回过程,取数时读取xaddr可能不需要访问主存而直接访问Cache,而直写方式需要把数据同时写入Cache和主存,因此至少访问1次。
本题选B。
登录后提交答案