首页 > 试题广场 >

假定编译器将赋值语句“x=x+3;”转换为指令”addxad

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

发表于 2021-12-13 13:19:19 回复(0)
一次,快表中取出,在执行,最后写入主存,只有最后一步访问
发表于 2024-06-14 19:49:24 回复(0)
上述指令的执行过程可划分为取数、运算和写回过程,取数时读取xaddr 可能不需要访问主存而直接访问Cache, 而写直通方式需要把数据同时写入Cache 和主存,因此至少访问l 次。
发表于 2024-03-02 16:44:42 回复(0)
写的一坨屎
发表于 2023-04-27 15:20:45 回复(0)