问题 单项选择题

一般来说,Cache的功能 (40) 。某32位计算机的Cache容量为16kB,Cache块的大小为 16B,若主存与Cache的地址映射采用直接映射方式,则主存地址为1234E8F8(十六进制)的单元装入的Cache地址为 (41) 。在下列Cache替换算法中,平均命中率最高的是 (42)

A.先入后出(FILO)算法

B.随机替换(RAND)算法

C.先入先出(FIFO)算法

D.近期最少使用(LRU)算法

答案

参考答案:D

解析:(40)~(42)

[分析]: 一般而言,Cache的功能都是由硬件来实现的。Cache容量为16kB,即2(上标)14B,所以需要14位地址来表示。同理,Cache块的大小为16B,所以块内地址为4位,即Cache块号占10位地址。
14位地址直接映象为内存低位部分的14位地址。即:地址E8F8=1110 1000 1111 1000中,低14位为: 10 1000 1111 1000,其中Cache块号地址为高10位,所以块号为10 1000 1111。所以主存地址为1234E8F8 (十六进制)的单元装入的Cache地址为10 1000 1111 1000。
先进先出FIFO,这种方法选择最早调入的块作为被替换的块。其优点是容易实现。随机替换RAND算法:随机地选择被替换的块。这种方法的优点是简单、易于用硬件实现。LRU这种方法本来是指选择近期最少被访问的块作为被替换的块。但由于实现比较困难,现在实际上实现的LRU都只是选择最久没有被访问过的时间最长的块作为替换的块。这种方法能较好地反映程序的局部性,因而其失效率在上述3种方法中是最低的。

单项选择题
单项选择题