正确答案:C 解析:本题考查Cache地址映像方式。为了把信息放到Cache中,必须应用某种函数把主存地址映像到Cache中定位,称为地址映像。假设某机主存容量为1MB,被分为2048块,每块512B;Cache容量为8KB,被分为16块,每块也是512B。下面以此为例介绍3种基本的地址映像方式。直接映像是指主存中每一个块只能映像到某一固定的Cache块中,如主存的第0块、第16块、…、第2032块等,只能映像到Cache的第0块;而主存的第1块、第17块、…、第2033块等,只能映像到Cache的第1块。直接映像的关系可定义为K=I mod 29。式中: K为Cache的块号;I为主存的块号。直接映像是最简单的地址映像方式,它的地址变换速度快,而且不涉及其他两种映像方式中的替换算法问题。但是这种方式不够灵活,Cache的存储空间得不到充分利用。例如:如果要将主存第0块与第16块同时复制到Cache中,由于它们都只能复制到Cache的第O块中,即使Cache中别的存储空间空着也不能占用,所以将有一个主存块不能写入Cache,从而使块冲突概率较高。全相联映像是指主存中任何一块都可以映像到Cache中的任何一块位置上,这种方式比较灵活,主存的各块可映像到Cache的任一块中,Cache的利用率高,块冲突概率低,只要淘汰Cache中的某一块,即可调入主存的任一块,但是这种方式由于Cache标记太长,所以需要很长的时间才能判断出所需的主存字块是否在Cache中,实现起来比较困难。组相联映像实际上是直接映像和全相联映像的折中方案,主存和Cache都分组,主存中一个组内的块数与Cache中的分组数相同。组间采用直接映像方式,组内采用全相联映像方式。