关于CACHE和主存地址之间的互转问题计算求HELP

wujuntao 2003-10-11 12:34:23
● 一般来说,Cache 的功能__(53)__。某 32 位计算机的 cache 容量为 16KB,cache 块的大小为 16B,若主存与 cache 的地址映射采用直接映射方式,则主存地址为 1234E8F8(十六进制)的单元装入的 cache 地址为__(54)__。在下列 cache 替换算法中,平均命中率最高的是__(55)__。

(53) A.全部由软件实现 B.全部由硬件实现
C.由硬件和软件相结合实现
D.有的计算机由硬件实现,有的计算机由软件实现
(54) A. 00 0100 0100 1101 (二进制) B. 01 0010 0011 0100 (二进制)
C. 10 1000 1111 1000 (二进制)
D. 11 0100 1110 1000 (二进制)
(55) A.先入后出(FILO)算法 B.随机替换(RAND)算法
C.先入先出(FIFO)算法
D.近期最少使用(LRU)算法
请解释一下54题。而且请推一推全相联和组全相联的计算方法
...全文
200 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
alpha064 2003-10-12
  • 打赏
  • 举报
回复
dui
wujuntao 2003-10-11
  • 打赏
  • 举报
回复
是不是就是BLOCK的位数+WORD的位数阿?
alpha064 2003-10-11
  • 打赏
  • 举报
回复
大B和小b一样,只是我前面写错了,抱歉!
算法就这样,哪里有问题?
smuwcwt 2003-10-11
  • 打赏
  • 举报
回复
不懂,觉得有问题
minjunjie 2003-10-11
  • 打赏
  • 举报
回复
千禧宝贝,大B与小b不是一样的把?
envoyofdis 2003-10-11
  • 打赏
  • 举报
回复
看地址最后几位,化成二进制后取后14位就是答案了。
alpha064 2003-10-11
  • 打赏
  • 举报
回复
那前面我的理解对吗?
feligli 2003-10-11
  • 打赏
  • 举报
回复
对阿,那样没根据
alpha064 2003-10-11
  • 打赏
  • 举报
回复
楼上的,你这样化出来有16位了。
Julian868 2003-10-11
  • 打赏
  • 举报
回复
看地址最后几位E8F8,化成二进制就是答案了。
alpha064 2003-10-11
  • 打赏
  • 举报
回复
答案为C
全相联没什么方法,应为取出的直接是数据,而不是地址。
而组全相联我不清楚

下面我来说一下直接映射:
1.将主存地址转成二进制为00010010001101001110100011111000
2.然后要知道直接映射的存储器地址被分为:tag,block,word 三部分。
block在转换时域长(指截取的长度)为log2(n),n为cache的总块数,该题中为16kb/16b=1k=1024,block域为10;
word在转换时域长为log2(k),k为每块包含的数据项,即块的大小,所以该题中为16B,word域为4
tag域长为[储器地址长度-log2(k)-log2(n)]
3.所以最后Cache的地址就是从右取(10+4)位。即10100011111000

2,959

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧