【问题标题】:how direct mapped cache works直接映射缓存的工作原理
【发布时间】:2015-08-20 10:13:08
【问题描述】:

最近,我参加了有关缓存的讲座,并尝试解决教科书上的练习。

教科书中有关于直接映射缓存的问题。

给定条件:

 all with a total of 8 words of data: 

 C1 has 1-word blocks, 

 C2 has 2-word blocks, 

 C3 has 4-word blocks

给定单词地址:

3, 180, 43, 2, 191, 88, 190, 14, 181, 44, 186, 253

下图是我的答案。

Tag= QUOTIENT(Word Address,8) // total 8 word
Cache 1 index = MOD(QUOTIENT(Word Address,1),8) // 1 word per block, 8 block
Cache 2 index = MOD(QUOTIENT(Word Address,2),4) // 2 word per block, 4 block
Cache 3 index = MOD(QUOTIENT(Word Address,4),2) // 4 word per block, 2 block

我用上面的公式回答了tag,index

命中/未命中:如果相同的tag,index 已在表中显示。然后打 else 错过

这一个给出了解决方案。

我错过了什么吗? 请帮助我理解这一点...

【问题讨论】:

    标签: caching memory-management


    【解决方案1】:

    缓存的一种理解方式就像酒店的走廊,每个房间都有一个数字(索引)和一个客人(标签)。现在让我们获取地址列表并将它们放入我们的留言簿。首先,我们想沿着走廊跑到我们的房间(索引),一旦到了那里,我们想根据我们的留言簿检查客人的姓名(标签),如果它匹配得很好!这是一个打击!

    但是,如果我们到了房间,但那里的客人姓名与留言簿上的姓名不符(小姐),我们必须礼貌地驱逐他,让正确的客人填满房间。

    现在,因为这是一家愚蠢的酒店,我们必须在留言簿中逐个条目进行检查,一旦我们检查条目,它就不再重要了,如果一个新条目说要驱逐刚到那里的客人,你就去做.

    现在,如果我们有一家酒店的房间可以容纳两位客人,但他们的姓氏必须相同,我们会想要找到正确的房间(索引),检查两个人的姓氏(标签),然后检查名字(偏移量)。

    如果在任何时候姓氏不匹配,您会驱逐这对夫妇并在您的留言簿上引入具有相同姓氏的新夫妇。

    因此,如果我们查看您的回答,我们可以看到,您并没有忽略房间中的前一位客人,而是说如果某个特定客人在特定房间中的任何时候都会受到打击。

    【讨论】:

      猜你喜欢
      • 2013-04-02
      • 2018-06-24
      • 2018-05-24
      • 1970-01-01
      • 2014-06-04
      • 2020-04-18
      • 2012-07-09
      • 1970-01-01
      相关资源
      最近更新 更多