最近,我参加了有关缓存的讲座,并试图解决教科书中的练习。
教科书中存在与直接映射缓存有关的问题。
给定条件:
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
已在表中显示。然后打别的小姐
并给出了解决方案。
我错过了什么?请帮助我理解这一点...
想到缓存的一种方法就像是酒店的走廊,每个房间都有一个数字(索引)和一个客人(标签)。现在,让我们获取地址列表并将其放入我们的留言簿中。首先,我们要沿着走廊一直走,直到到达房间(索引),一旦到达房间,我们就想对照留言簿检查客人的名字(标签),如果匹配的话就好了!太好了!
但是,如果我们进入房间,那里的客人姓名与留言簿上的姓名(未填写)不符,我们就必须礼貌地逐出他,让正确的客人填补那个房间。
现在,由于这是一家愚蠢的酒店,我们必须在留言簿中逐个输入条目,一旦我们取消了输入条目就不再重要,并且如果有新条目要求驱逐刚到达的客人,则可以这样做。
现在,如果我们的旅馆的房间可以容纳两位客人,但他们的姓氏必须相同,我们希望找到正确的房间(索引),检查两个人的姓氏(标签),然后检查名字(抵消)。
如果在任何时候姓氏都不匹配,则可以驱逐该对夫妇,并在留言簿中引入具有相同姓氏的新夫妇。
因此,如果我们查看您的回答,我们会发现,与其说忽略房间中的前一位客人,还不如说是有宾客在任何时间都在特定房间中都很受欢迎。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句