- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我问过类似的问题:Can a lower level cache have higher associativity and still hold inclusion?
假设我们有 2 级缓存。 (L1离CPU最近(内部/下层),L2在CPU之外,离主存最近)L1缓存可以写回吗?
我的尝试)
我认为我们必须只有直写式缓存,而不能在 L1 中拥有回写式缓存。如果 L1 缓存中的 block 被替换,则必须将其写回 L2 以及主内存以保留包含内容。因此它必须是写透而不是写回。
所有这些疑问都源于下面的考题。 :P
Question) For inclusion to hold between two cache levels L1 and L2 in a multi-level cache hierarchy which of the following are necessary?
I) L1 must be write-through cache
II) L2 must be a write-through cache
III) The associativity of L2 must be greater than that of L1
IV) The L2 cache must be at least as large as the L1 cacheA) IV only
B) I and IV only
C) I, II and IV only
D) I, II, III and IV
根据我的理解,答案应该是选项(B)
最佳答案
现实生活中的反例:Intel i7 系列(自 Nehalem 以来)具有包容性的大型共享(核心之间)L3。所有级别都是回写式(包括每核私有(private) L2 和 L1d),以减少外部缓存的带宽需求。
包含仅意味着对于任何内部缓存中处于有效状态的每一行,外部缓存标记都具有除“无效”之外的状态。数据不一定也保持同步。 <强> https://en.wikipedia.org/wiki/Cache_inclusion_policy称之为“值包含”,是的,它确实需要直写(或只读)内部缓存。这是选项 B,甚至比“包容性”更强。
我对定期包含(特别是在英特尔 i7 中)的理解是,数据可能会过时,但标签始终包含在内。此外,由于这是一个多核 CPU,L3 标记会告诉您哪个核心的私有(private) L2/L1d 缓存拥有处于独占或修改状态的行(如果有)。因此,如果另一个核心想要读取或写入该行,您就知道该与哪个核心交谈。即,它充当那些多核 CPU 的窥探过滤器。
相反,如果包含的 L3 缓存中没有标签匹配,则该行肯定不会出现在芯片上的任何位置。 (因此无效消息不需要传递到每个核心。)另请参阅 Which cache mapping technique is used in intel core i7 processor?了解更多详情。
要写入一行,内部缓存必须通过外部缓存获取/RFO,这样它就有机会以这种方式保持包含,因为它处理来自 L1d/L2 写入未命中的 RFO(读取所有权)(不是处于独占或修改状态)。
显然这不被称为“包含标签”;该术语可能有其他一些技术含义。我想我看到了它的使用并对它的含义做出了错误的(?)假设。 What is tag-only forced cache inclusion called?建议“包含标签”并不意味着标签,也不意味着没有数据。
<小时/>内部缓存 (L1) 中有一行处于修改状态意味着包容性外部缓存将具有与该行匹配的标记,即使外部缓存中的实际数据已过时。 (我不确定在这种情况下通常使用什么状态缓存;根据评论中的@Hadi,它不是无效的。我认为它也不是共享的,因为它需要避免使用这个过时的数据来满足来自其他核心的读取请求。)
当数据最终从 L1 写回时,它只能在外部缓存中处于修改状态,从 L1 中逐出。
关于caching - 内层缓存可以写回包容性外层缓存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59450056/
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 8 年前。 Improve t
我卡在了一个点上,我无法进步,很抱歉这个愚蠢的问题。我为此进行了很多搜索,但我不知道我错过了什么。请帮助我。 我研究了 python 中的模块和类。现在我想使用 python 和 apt 进行一些操作
我在 Kong 有服务,我已经为该服务设置了代理缓存插件。 curl -X POST http://localhost:8001/plugins --data "name=proxy-cache"--
ASP.NET Core 提供内存缓存和响应缓存。 假设该应用程序是 ASP.NET Core WebAPI,它通过配置的响应缓存中间件将 SQL 数据库中的数据传送给用户。 在什么情况下也使用内存缓
我最近遇到了以下面试问题: You need to design a system to provide answers to factorials for between 1 and 100. Yo
我的 Javascript (JS) 代码遇到了一些麻烦,因为我有时需要在同一个函数中多次访问相同的 DOM 元素。还提供了一些推理here . 从性能的角度来看,是一次性创建一个 jQuery 对象
仅使用 Cache 终端,我使用或查看什么实用程序函数或 Global 来查找存在于 Cache 数据库中的所有 Globals 的列表? 再次仅在缓存终端中使用,我使用或查看什么实用程序功能或全局以
我的 Javascript (JS) 代码遇到了一些麻烦,因为有时我需要在同一个函数中多次访问同一个 DOM 元素。还提供了一些推理here . 从性能的角度来看,是先创建一个jQuery对象然后缓存
来自 RFC 2616 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.1 no-cache If the no-cach
大多数 CDN 服务器对经常访问的内容使用缓存。 场景:假设有人上传了一张非常热门的图片,并且来自同一位置的许多用户 (1000) 试图访问该图片。 问题:假设网络服务器收到一个请求,首先检查它的缓存
我的 Javascript (JS) 代码遇到了一些麻烦,因为有时我需要在同一个函数中多次访问同一个 DOM 元素。还提供了一些推理here . 从性能的角度来看,是先创建一个jQuery对象然后缓存
如果我将服务器响应设置为:Cache-Control: private,no-cache,max-age=900 ? 如果标题是这样的,会发生什么:Cache-Control: public,no-c
我有一个类需要在缓存中存储数据。最初我在 ASP.NET 应用程序中使用它,所以我使用了 System.Web.Caching.Cache。 现在我需要在 Windows 服务中使用它。现在,据我了解
我遇到了和这个人一样的问题:X-Drupal-Cache for Drupal 7 website always hits MISS ,并且找不到出路。 我正在运行 Drupal 7 - 新闻流 和
我已将 Laravel 设置为使用 Redis 作为缓存。当我使用 Cache::('my_var', 'my_val'); 然后通过 CLI 检查 Redis 以查看 key 是否已创建时,我可以验
我在 Windows Azure 云上有一个应用程序,并且正在使用 Windows Azure 共置缓存。 有时,当我发布网站/web服务时,调用DataCacheFactory.GetCache方法
我正在阅读 documentation for Apollo server-side caching ,但看不到任何关于缓存通常如何加密的内容。 我需要的是一个以响应中包含的对象 ID 为键的缓存,而
Hibernate\Grails 中最好的缓存策略是什么?是否缓存所有实体和查询以及如何找到最佳解决方案? 这是我的 hibernate 配置。 hibernate { cache.use_sec
我收到错误 'Nuget.Proxy Cache' 的类型初始化器抛出异常 尝试连接到 Nuget 官方包源时。我在公司网络后面,但是我怀疑问题是连接性。 有任何想法吗? 最佳答案 我有同样的问题。我
我是一名优秀的程序员,十分优秀!