直接映射的缓存如何工作

eclipse0922

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

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

给定条件:

 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已在表中显示。然后打别的小姐

并给出了解决方案。 从解决方案

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

TrippyTurtle

想到缓存的一种方法就像是酒店的走廊,每个房间都有一个数字(索引)和一个客人(标签)。现在,让我们获取地址列表并将其放入我们的留言簿中。首先,我们要沿着走廊一直走,直到到达房间(索引),一旦到达房间,我们就想对照留言簿检查客人的名字(标签),如果匹配的话就好了!太好了!

但是,如果我们进入房间,那里的客人姓名与留言簿上的姓名(未填写)不符,我们就必须礼貌地逐出他,让正确的客人填补那个房间。

现在,由于这是一家愚蠢的酒店,我们必须在留言簿中逐个输入条目,一旦我们取消了输入条目就不再重要,并且如果有新条目要求驱逐刚到达的客人,则可以这样做。

现在,如果我们的旅馆的房间可以容纳两位客人,但他们的姓氏必须相同,我们希望找到正确的房间(索引),检查两个人的姓氏(标签),然后检查名字(抵消)。

如果在任何时候姓氏都不匹配,则可以驱逐该对夫妇,并在留言簿中引入具有相同姓氏的新夫妇。

因此,如果我们查看您的回答,我们会发现,与其说忽略房间中的前一位客人,还不如说是有宾客在任何时间都在特定房间中都很受欢迎。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

直接映射的缓存示例

来自分类Dev

MIPS阵列直接映射缓存

来自分类Dev

直接映射的缓存和完全关联的缓存之间的区别

来自分类Dev

位图缓存如何工作?

来自分类Dev

OkHttp 缓存如何工作?

来自分类Dev

Android HTTP缓存如何工作?

来自分类Dev

Commons VFS缓存如何工作?

来自分类Dev

细枝缓存如何正确工作?

来自分类Dev

iOS-缓存如何工作?

来自分类Dev

Firebase离线缓存如何工作?

来自分类Dev

Spark中的缓存如何工作

来自分类Dev

Android HTTP缓存如何工作?

来自分类Dev

Rails默认缓存如何工作

来自分类Dev

iOS-缓存如何工作?

来自分类Dev

Symfony配置缓存如何工作?

来自分类Dev

Webpack长期缓存如何工作?

来自分类Dev

直接映射指令高速缓存VS使用LRU替换的完全关联指令高速缓存

来自分类Dev

如何计算完整关联映射缓存的标签?

来自分类Dev

如何直接映射/扩展对象以流式传输?

来自分类Dev

此JPA映射如何工作?

来自分类Dev

具有16个单字块的直接映射缓存与具有8个二字块的直接映射缓存有何不同

来自分类Dev

对于动态文件/ URL,缓存如何工作?

来自分类Dev

GAE /端点缓存如何/为什么工作?

来自分类Dev

Gmap.net缓存如何工作?

来自分类Dev

如何检查Varnish缓存是否正常工作?

来自分类Dev

更新缓存的记录时,@ Cacheable如何工作

来自分类Dev

Gmap.net缓存如何工作?

来自分类Dev

GAE /端点缓存如何/为什么工作?

来自分类Dev

ASE 15.0.3中的缓存过程如何工作