考研论坛

 
查看: 2703|回复: 10
打印 上一主题 下一主题

【讨论】cache 命中率的一道题 疑惑

[复制链接]

25

主题

556

帖子

1895

积分

中级战友

Rank: 3Rank: 3

精华
1
威望
320
K币
1575 元
注册时间
2010-4-20
楼主
发表于 2010-7-21 23:11 | |阅读模式
主存16MB, Cache 8KB,每块 8字,每字32位,4路组相连
Cache 初态为空,CPU依次从主存0,1,2,.....99单元读出100个字(主存一次读出一个字)重复10次,求命中率

我这里有本书的答案差不多是这样的,CPU读0号单元不命中,访存,同时将该字所在主存块调入Cache,然后1-7命中,同理8,16,。。。。96都不命中,所以第一次的100个字中共13次未命中,后9次全部命中,所以命中率是
(100*10-13)/(100*10)=98.7%

问题来了,还看到有个以前中科院的考研题有个基本相同的求命中率的题
他是分情况讨论,一种情况是主存一次读出一个字,第一次读的时候每个单元均没命中,但是后面每个单元都命中,命中率是9/10
另外一种情况是主存一次读出一个块,答案和上面那个98.7%的答案一样。。。

有点困惑呀,同样的两道题不同的答案,大家来讨论一下呀,我想是不是问题出在主存一次读出一个字还是块的理解上了,是不是应该理解为主存一次送入cache的是字还是块吧?如果是这样的话,那第一个题的答案就错了

[ 本帖最后由 lonelyskytaut 于 2010-7-29 18:42 编辑 ]

    评分

    参与人数 1威望 +10 收起 理由
    湖心涟漪 + 10 原创内容

    查看全部评分

    35

    主题

    2115

    帖子

    8226

    积分

    开国大老

    技术宅+间歇性整理控

    Rank: 5Rank: 5

    精华
    0
    威望
    1898
    K币
    6328 元
    注册时间
    2009-1-18
    沙发
    发表于 2010-7-22 00:19 |
    看过很多资料上都有这个例题,基本都是第1种算法,中科院的那部分我不太理解,等待高手

    22

    主题

    759

    帖子

    2381

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    0
    威望
    476
    K币
    1905 元
    注册时间
    2008-12-2
    板凳
    发表于 2010-7-22 09:18 |
    个人觉得中科院这个解法是对的

    76

    主题

    4185

    帖子

    2万

    积分

    荣誉会员

    路人甲

    Rank: 8Rank: 8

    精华
    8
    威望
    12110
    K币
    12532 元
    注册时间
    2008-4-5
    地板
    发表于 2010-7-22 12:57 |
    这道题难道不是唐硕飞那本教材上的例题么???或者,课后题?
    他日若有马蹄轻疾,长安花尽之时,犹记今朝乎?

    1

    主题

    352

    帖子

    1206

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    0
    威望
    103
    K币
    1103 元
    注册时间
    2009-4-11
    5
    发表于 2010-7-22 13:34 |
    我的理解:当CPU要与主存通信时,如果要访问的字在cache中,则CPU从cache中一次读出一个字;如果要访问的字不在cache,就把这个字所在的块写入cache,然后再读出所需的字。所以此题cache初态为空,不命中时主存和cache一次传送一个块,命中时则是读出一个字。
    不知道对不对,等高人。

    64

    主题

    1409

    帖子

    4371

    积分

    高级战友

    Rank: 4

    精华
    0
    威望
    1307
    K币
    3064 元
    注册时间
    2008-11-7
    6
    发表于 2010-7-22 15:54 |
    应该是第一种算法 中科院的没见过 而且唐硕飞的教材例题就是按照第一种方法解答的

    4

    主题

    260

    帖子

    1858

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    0
    威望
    675
    K币
    1183 元
    注册时间
    2007-8-8
    7
    发表于 2010-7-23 08:23 |

    回复 5楼 gr19820213 的帖子

    正解
    全是高科技

    25

    主题

    556

    帖子

    1895

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    1
    威望
    320
    K币
    1575 元
    注册时间
    2010-4-20
    8
     楼主| 发表于 2010-7-23 12:10 |
    原帖由 gr19820213 于 2010-7-22 13:34 发表
    我的理解:当CPU要与主存通信时,如果要访问的字在cache中,则CPU从cache中一次读出一个字;如果要访问的字不在cache,就把这个字所在的块写入cache,然后再读出所需的字。所以此题cache初态为空,不命中时主存和cache一次传送一个 ...


    这是课本上的理论肯定是没错的,但是这样的话,就没有必要讨论了,就一种情况了,但是2004年中科院的那道考题是确实存在的,而且清华出的一本组成原理的习题与解析也有同样解法的Cache命中题。我就是这点比较疑惑,按道理,他们这种院校的考研题是不可能出错的

    3

    主题

    33

    帖子

    201

    积分

    一般战友

    Rank: 2

    精华
    0
    威望
    0
    K币
    201 元
    注册时间
    2008-2-13
    9
    发表于 2010-7-23 14:17 |

    回复 楼主 二战2011 的帖子

    那题是cache 四路组相联。。。

    1

    主题

    352

    帖子

    1206

    积分

    中级战友

    Rank: 3Rank: 3

    精华
    0
    威望
    103
    K币
    1103 元
    注册时间
    2009-4-11
    10
    发表于 2010-7-23 16:59 |
    原帖由 二战2011 于 2010-7-23 12:10 发表


    这是课本上的理论肯定是没错的,但是这样的话,就没有必要讨论了,就一种情况了,但是2004年中科院的那道考题是确实存在的,而且清华出的一本组成原理的习题与解析也有同样解法的Cache命中题。我就是这点比较疑惑,按道理,他们 ...


    这东西就不好说了。举个例子,关于磁盘电梯调度算法我就见过3种不同的解释(当然是细节的部分),而且都是权威出版社的考研书籍和辅导资料。所以能不能出错的问题我不发表看法。我觉得还是严格按照课本来吧。
    关闭

    您还剩5次免费下载资料的机会哦~

    扫描二维码下载资料

    使用手机端考研帮,进入扫一扫
    在“我”中打开扫一扫,
    扫描二维码下载资料

    关于我们|商务合作|小黑屋|手机版|联系我们|服务条款|隐私保护|帮学堂| 网站地图|院校地图|漏洞提交|考研帮

    GMT+8, 2025-12-24 00:15 , Processed in 0.122147 second(s), Total 19, Slave 17(Usage:7M, Links:[2]1,1_1) queries , Redis On.

    Powered by Discuz!

    © 2001-2017 考研 Inc.

    快速回复 返回顶部 返回列表
    × 关闭