【正确答案】
C
【答案解析】[分析]
Cache是界于CPU和主存之间的存储器,虚拟存储器是界于主存和辅存之间的存储器。Cache由全硬件实现,虚拟存储器由主/辅存之间的软件实现。
Cache的命中率必须很高,一般要达到90%以上,才能使访存的速度跟得上CPU的速度。在CPU和Cache之间通常一次传送一个字块,字块的长度是一个主存周期内能调出的信息的长度。如果访问Cache不命中,则从主存中取出需要的字块,同时送 CPU和Cache,下次就可以从Cache中读出需要的信息了。如果程序执行过程中要对某字块进行写操作,这时就遇到如何保持Cache与主存一致性的问题。通常有2种写入方式:一种是只写Cache,并用标志加以说明,直到经过重写的字块被从Cache中替换出来时再写入主存,叫做写回法;另一种方式是写Cache时也同时写入主存,使Cache与主存时刻保持一致,称之为直写法。然而,如果被重写的单元不在Cache中,那就只写入主存,而不写入Cache。因此,不是所有的情况下都可以保持Cache中的信息与主存中的信息完全一致。