L2 逐出时从 L1 缓存逐出缓存

2024-03-24

我有一个关于内存系统遵循的策略的基本问题。

考虑具有私有 L1 和 L2 缓存的核心。在二级缓存之后,我们有一个总线,一致性流量在该总线上运行。现在,如果地址(X)的缓存线从二级缓存中逐出,是否有必要从一级缓存中逐出该地址?

驱逐的原因可能是它有助于维持一致性协议的不变性[如果 l2 中的一行显示无效,则该核心不包含该地址]。


三种不同的设计 http://en.wikipedia.org/wiki/CPU_cache#Exclusive_versus_inclusive并且全部被使用。

  1. 独占:L1 缓存中的数据永远不会在 L2 缓存中。 L2 缓存中的数据永远不会在 L1 缓存中。

  2. 包容:L1缓存中的数据也必须在L2缓存中。

  3. 两者都不是:L1 缓存中的数据不一定在 L2 缓存中。

其中每一个都有优点和缺点。包容性方案允许缓存一致性协议忽略 L1 缓存——如果数据不在 L2 缓存中,则它也不在 L1 缓存中。但独占方案最有效地利用了宝贵的高速缓冲存储器。

包容性设计变得越来越流行,因为更快的核心间同步变得比拥有稍大的有效缓存大小更重要。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

L2 逐出时从 L1 缓存逐出缓存 的相关文章

  • x86 汇编中 cmove 指令的用途?

    反汇编可执行文件时我遇到了cmove操作说明 我已经在互联网上搜索过 但我只发现这是一个有条件的移动 如果源和目的地相等mov发生 我还不明白为什么我需要它 因为它不会改变操作数 它的目的是什么 The CMOVcc指令不比较源和目标 它们
  • aspnet Identity 中的实体框架缓存

    我正在 EF6 和 aspnet Identity 中构建一个项目 我面临以下问题 如果我打电话 var account await FindByNameAsync userName account IsConfirmed true 我得到
  • 连接 WCF 客户端缓存?

    我的应用程序使用客户端企业缓存 我想避免为每个可缓存调用编写代码 并想知道是否有一种解决方案可以缓存 WCF 客户端调用 即使对于异步调用也是如此 这可以通过 WCF 行为 或其他方式来完成吗 代码示例 前几天 我使用 WCF 服务客户端
  • 什么是微编码指令?

    我看过很多参考微编码指令的文献 这些是什么以及为什么使用它们 CPU 读取机器代码并将其解码为内部控制信号 将正确的数据发送到正确的执行单元 大多数指令映射到一个内部操作 并且可以直接解码 例如 在 x86 上 add eax edx只是将
  • 使用 Retrofit 2.0.x 进行 HTTP 缓存

    我正在尝试使用 Retrofit 2 0 在我的应用程序中缓存一些响应 但我遗漏了一些内容 我安装了一个缓存文件 如下 private static File httpCacheDir private static Cache cache
  • 使用 Spring beans 作为带有 @Cacheable 注释的键

    如何使以下工作发挥作用 一个 spring bean 该 bean 具有应使用 Cacheable 注释进行缓存的方法 另一个为缓存创建密钥的 spring bean KeyCreatorBean 所以代码看起来像这样 Inject pri
  • CPU缓存性能。存储未命中与加载未命中

    我使用 perf 作为基本事件计数器 我正在开发一个遭受数据缓存存储未命中的程序 其中比例高达80 我知道缓存原则上是如何工作的 它会在各种未命中情况下从内存加载 并在需要时从缓存中删除数据 我不明白的是 存储未命中和加载未命中之间有什么区
  • Android volley图片缓存问题

    在google自己的volley图像缓存教程中 Returns a cache size equal to approximately three screens worth of images public static int getC
  • 如何避免 codeigniter 缓存

    我们在 codeigniter 框架中开发了一个网站 我们面临 codeigniter 缓存问题 问题是这样的 当用户登录时 我们的标题栏信息应该是Welcome Mr xxxxx 如果用户注销 我们的标题信息应该是 Welcome Gue
  • 哪个对缓存最友好?

    我试图很好地掌握面向数据的设计以及如何在考虑缓存的情况下进行最佳编程 基本上有两种情况我无法完全确定哪个更好以及为什么 是拥有一个对象向量更好 还是拥有对象原子数据的多个向量更好 A 对象向量示例 struct A GLsizei mInd
  • Hibernate NoCacheRegionFactoryAvailableException

    我遇到了一个奇怪的 Hibernate 异常 我无法解释 它告诉我我正在使用二级缓存 但没有在哪里hibernate cfg xml我是否指定二级缓存 这是例外情况 org hibernate cache NoCacheRegionFact
  • 关闭 MAMP 中的缓存

    尝试关闭 MAMP 中的缓存进行开发 在进行小更改后等待缓存过期会降低我的工作效率 当我更改为 PHP 5 5 3 时出现问题 更改回来并不能解决问题 经过研究 我采取了以下步骤来 未成功 禁用缓存 注释掉 php ini 中的 OPcac
  • Caffeine Expiry 中如何设置多个过期标准?

    我正在使用 Caffeine v2 8 5 我想创建一个具有可变到期时间的缓存 基于 值的创建 更新以及 该值的最后一次访问 读取 无论先发生什么都应该触发该条目的删除 缓存将成为三层值解析的一部分 The key is present i
  • 如何在create-react-app中为index.html指定Cache-Control标头

    我正在尝试遵循 create react app dev 的指导生产构建文档 https create react app dev docs production build static file caching 为了向用户提供最佳性能
  • 如何测试我的 Redis 缓存是否正常工作?

    我已经安装了 django redis cache 和 redis py 我遵循了 Django 的缓存文档 据我所知 以下设置就是我所需要的 但我如何判断它是否正常工作 设置 py CACHES default BACKEND redis
  • HTML5 应用程序缓存与浏览器缓存

    当前浏览器中实现了 applicationCache 我的应用程序缓存清单文件更改版本号 然后触发 applicationCache 更新事件 强制浏览器从服务器下载清单文件中提到的新资源 假设我已经在这些资源上配置了远期到期标头 这些文件
  • Rails 缓存数据库查询和最佳实践

    我网站上的数据库负载变得非常高 因此我需要缓存每小时被调用 1000 次且结果不变的常见查询 例如 在我的城市模型上 我执行以下操作 def self fetch id Rails cache fetch city id City find
  • Flask:缓存静态文件(.js、.css)

    我真的找不到任何这方面的资源 那么如何将视图 函数的缓存与静态文件 即 css js 分开 我想将静态对象缓存一周 另一方面 我只需要缓存函数 视图几分钟 当我执行以下操作时 from flask ext cache import Cach
  • GitHub Actions:如何缓存测试容器的 Docker 映像?

    我使用 Testcontainers 在 GitHub Actions 中执行一些测试 Testcontainers 提取我的测试中使用的图像 不幸的是 每次构建时都会再次提取图像 如何在 GitHub Actions 中缓存图像 GitH
  • 请求标头与响应标头

    我正在尝试将图像缓存在网站上 该图像由 PHP 提供服务 其中我使用适当的值设置缓存控制的响应标头 但这不是缓存图像 我认为这可能与具有无缓存缓存控制的请求标头有关 标题如下 响应头 Access Control Allow Origin

随机推荐

  • Silverlight-DataGrid 控件-选择更改事件干扰排序

    我目前正在使用 Silverlight Beta 2 Datagrid 控件 在连接 SelectionChanged 事件之前 网格将通过单击标题完美排序 现在 当单击网格时 当我单击标题进行排序时 它将触发 SelectionChang
  • 从 panda 数据框中删除方括号

    我有一个数据框 我需要从中删除方括号才能输入到循环中 我尝试过使用 str strip 和 str commands 但是我收到错误消息 说我必须传递带有布尔值的数据帧 我的数据框中的值似乎是列表 m2 pd read csv newm2
  • Xamarin 中绑定 Jar 库时出现问题

    在绑定我的 jar 文件时 我不断在多个类中收到此错误 Error CS0534 path does not implement inherited abstract memberAndroid OS AsyncTask DoInBackg
  • SQL Server 数据库的大小有限制吗?

    我将用 C 开发一个系统 其中必须扫描和存储文档 我预计 dB 的大小将达到 3 4 TB 我的问题是可以将它们存储在数据库中还是数据库有限制 或者我是否必须将它们存储在文件夹中 提前致谢 是的 有一个限制 这取决于您使用的 SQL Ser
  • 与 CGAL 的链接错误

    我在 Mac OS X 10 8 4 上安装了 CGAL 我已成功地将 CGAL 的各个方面合并到以前的 C 程序中来计算 3D 点云的凸包 然而 现在我试图包含 CGAL 的其他部分来计算表面网格 将它们转换为多面体 等等 当我这样做时
  • 网格三角剖分和简化 C++ 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个 C 库来三角测量和简化 3D 网格 我的 3D 网格可能很大 大约 300 万个顶点
  • 将 Babel 添加到 HTML

    我是 ReactJS 新手 在将 babel 导入 html 时遇到问题 目前该项目托管在code pen上链接到代码笔 https codepen io davedaw pen JJgvGK editors 1010 我正在尝试在本地主机
  • 如何在 Rust 中返回字符串向量

    如何通过分割中间有空格的字符串来返回字符串向量 fn line to words line str gt Vec
  • 如何在Raku中逐行读取gz文件

    我正在尝试在 Raku 中逐行读取一个巨大的 gz 文件 我正在尝试做这样的事情 my file huge file gz for file IO lines gt line say line 但这给出了我的 UTF 8 格式错误的错误 我
  • OpenCV::dnn::readNet 抛出异常

    我正在关注本教程 https learnopencv com object detection using yolov5 and opencv dnn in c and python 加载yolov5 onnx使用 OpenCV DNN 模
  • CPU如何对指令重新排序

    我最近读到了有关 CPU 指令重新排序以提高效率的内容 但我无法理解CPU如何重新排序其指令 我的意思是编译时重新排序是可以想象的 因为编译器可以预见即将到来的代码 但是对于一个接一个地读取指令的CPU 它如何看到即将到来的指令并对它们重新
  • 计算实验室信息系统 (LIS) 帧的校验和

    我正在开发一个仪器驱动程序实验室信息系统 https www limswiki org index php Laboratory information system 我想知道如何计算帧的校验和 校验和算法说明 用字符 0 9 和 A F
  • 我应该在每个视图中都有一个 NSFetchedResultsController 吗?

    我在我的第一个 iPhone 应用程序中使用 Core Data 并尝试理解 NSFetchedResultsController 它在我的根视图中效果很好 我是否需要在每个视图控制器中实例化一个实例 如果是这样 是否有一个模板可以使这像在
  • Ruby on Rails 教程自定义 CSS 未显示在应用程序中

    我正在运行 Michael Hartl 的 Ruby on Rails 教程 我的 boostrap sass 正在工作 但是我无法显示任何自定义修改 在第 5 5 章中 我们添加了 bootstrap sass gem 这是我的 Gem
  • 删除 javascript 字符串中的元音变音或特殊字符

    以前从未在 javascript 字符串中使用变音符号或特殊字符 我的问题是如何删除它们 例如我在 javascript 中有这个 var oldstr Bayern M nchen var str oldstr split join 结果
  • PurgeCSS 不会从 NextJS 项目中删除未使用的 CSS

    我正在尝试使用 PurgeCSS 从我的 NextJS 项目中删除未使用的 css 然而 我很难将 PurgeCSS 最基本的集成到我的项目中来工作 我正在使用这个文档 https www purgecss com guides next
  • 以编程方式清除 win 7 中的图标缓存 - 使用 C# 或 Visual Basic 执行 ie4uinit.exe-ClearIconCache

    我们更改了 WPF 应用程序的徽标图标 然后更改了主可执行文件的图标 在我的 Win 7 电脑上 刷新图标缓存时出现问题 主可执行文件的桌面快捷方式以及可执行文件图标的预览在 Windows 资源管理器中仍然显示旧图标 即使重新启动系统 问
  • Scala:将数组放入集合或映射中的轻量级方法

    Since 不适用于数组 我无法有效地创建一组数组 或带有数组键的映射 我宁愿不承受将数组转换为向量或列表或其他东西的性能损失 是否有一种轻量级的方法来定义数组上的自然比较和哈希码 以便我可以将它们放在集合中 Use WrappedArra
  • 异步 CMIS 客户端:与 OpenCMIS 并行下载或上传多个文件

    The OpenCMIS 0 14 的变更日志 https www mail archive com announce apache org msg03240 html says 客户端添加了对异步操作的支持 图书馆 作为 CMIS 客户端
  • L2 逐出时从 L1 缓存逐出缓存

    我有一个关于内存系统遵循的策略的基本问题 考虑具有私有 L1 和 L2 缓存的核心 在二级缓存之后 我们有一个总线 一致性流量在该总线上运行 现在 如果地址 X 的缓存线从二级缓存中逐出 是否有必要从一级缓存中逐出该地址 驱逐的原因可能是它