一级缓存和二级缓存有什么区别?

2024-01-09

我知道l1和l2缓存是多级缓存中的级别。
我想知道每一级缓存放置在哪里,以及允许的最大缓存级别是多少?


这两者都取决于CPU。有些CPU根本没有高速缓存,有些CPU在芯片上有L1高速缓存,而L2高速缓存在同一芯片上的单独芯片上,甚至在单独的芯片上,或者有些CPU同时具有L1和L2高速缓存与 CPU 核心位于同一芯片上。

存在多核、多芯片 CPU,其中每个核心在芯片上都有自己的 L1 缓存,一个多核芯片的 4 个核心共享芯片上的 L2 缓存,但位于单独的芯片上,并且 2 个芯片共享L3 缓存位于单独的芯片上,但位于同一封装中。有时,也有所谓的CPU书籍其中包含多个芯片封装,这些芯片封装可能有也可能没有自己的共享缓存,这将是一个 L4 缓存。

当然,多核芯片不必共享其二级缓存,它们也可以拥有私有二级缓存。

某个缓存是什么级别,甚至一块 RAM 是否是缓存,这些并不总是显而易见的。

例如,在后来的Intel 80486处理器上,芯片上有L1缓存,主板上有L2缓存。但随后 AMD 推出了一款兼容插槽的 CPU,芯片上同时具有 L1 和 L2 缓存。因此,主板上完全相同的缓存芯片要么是 L2 要么是 L3 缓存,具体取决于您使用的 CPU 类型。

在 Cell BE CPU 上,每个 SPE 具有 256 KiByte 的 RAM。除了该 RAM 的大小和速度与典型的 L2 缓存大致相同之外,并且由于 SPE 没有任何其他缓存,因此您也可以将其视为缓存。然而,缓存通常由 CPU 自动管理,而 RAM 通常由用户程序、语言运行时或操作系统而不是 CPU 管理。那么,这是 RAM 还是缓存?事实证明,为了获得最佳性能,您确实应该not将其视为 RAM,但更多地视为软件控制的缓存。

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

一级缓存和二级缓存有什么区别? 的相关文章

  • 返回导航缓存 - IE

    当我在 IE 11 上运行 Web 应用程序时 收到如下警告消息 DOM7011 此页面上的代码禁用了后退和前进缓存 为了 更多信息 请参阅 http go microsoft com fwlink LinkID 291337 http g
  • 新部署后,React 应用程序必须清除浏览器缓存

    我们正在使用 Jenkins 管道在 apache 服务器上部署 React 应用程序 当我们部署新代码时 大多数新功能都可以正常工作 但并非所有更改都反映浏览器中的最新内容 用户必须打开隐身窗口或清除缓存才能看到新功能 我见过一些相关的解
  • 在S3客户端android中制作私有图像的ImageGallery

    我正在尝试在 Android 应用程序中创建 S3 Bucket 的 imageGallery 我的图像是私人的 所以我不会为每个图像提供任何特定的链接 对于此类私人图像 亚马逊有一个链接生成器 s3Client generatePresi
  • 如何延长 django-redis 中的缓存 ttl(生存时间)?

    我正在使用 django 1 5 4 和 django redis 3 7 1 我想延长缓存的 ttl 生存时间 当我取回它时 这是示例代码 from django core cache import cache foo cache get
  • Java 中的 LRU 缓存实现

    我看过下面的代码 我认为addElement方法的实现中有一个无用的while循环 它永远不应该有比 size 1 更多的元素 因为已经有一个写锁 那么为什么 addElement 方法会删除元素直到它达到这个条件 真的 while con
  • 如何告诉 OkHttpClient 忽略缓存并强制从服务器刷新?

    在我的 Android 应用程序中 我将 Retrofit 与 OkHttpClient 结合使用 并启用缓存来访问某些 API 我们的一些 API 有时会返回空数据 我们在应用程序中提供了一个 刷新 按钮 供客户端从特定 API 重新加载
  • 使用 AFNetworking 的 setImageWithURL 时如何配置缓存

    我在用着setImageWithURL在我的应用程序中下载一些图像 是否可以 指定此图像必须在缓存中保存多长时间 例如 1 周 指定缓存的最大总大小有多大 例如 200 兆 查看图像缓存中有什么 清除缓存 文档 http engineeri
  • Django 不显示更新的 css 文件

    因此 我使用 sass 来更新我的 Django 站点 并使用 git 来对整个内容进行版本控制 我最近对 CSS 文件进行了更新 其中存在一些严重错误 Sass 编译了更改 然后我将新版本推送到服务器 我查看了服务器 新的 css 文件实
  • 使用 RSpec 进行 Rails 片段缓存测试

    我觉得这是一个没有太多记录的主题 至少我在这里找到最佳实践时遇到了很多麻烦 我使用 cache key 在视图中进行片段缓存 tbody employees each do employee cache employee do tr emp
  • ChangeState 之后重置/卸载控制器(调用注销)。 AngularJS

    我正在创建一个应用程序 用户可以从 Facebook 或 Twitter 登录 登录后 用户将被定向到某个主页 在这里 控制器加载并调用我的初始函数 该函数加载特定于该用户的数据 当用户单击 注销 时 令牌将被清除 用户将被定向到登录页面
  • Azure 函数和缓存

    我们计划开发一个 Azure 函数 其输入触发器是服务总线消息 输出是 blob 存储 服务总线消息将包含图像 url 该函数会将图像大小调整为预定义的分辨率 并将上传到 azure blob 存储 图像大小应调整到的分辨率存储在数据库中
  • 如何将 Hibernate 的二级缓存与 JPA 结合使用?

    我正在实现基于实体属性值的持久性机制 所有数据库访问都是通过 Hibernate 完成的 我有一个包含节点路径的表 它非常简单 只是一个id和一个路径 字符串 路径的数量很少 大约几千个 主表有数百万行 我没有重复路径 而是将路径标准化为它
  • ASP.Net 使用状态服务器和缓存增加 MaxProcesses(网络花园)

    我在 IIS7 上有一个 ASP Net 网站 我计划增加 MaxProcesses 以匹配服务器上的核心数量 4 核心 64 位 Windows Server 2008 根据我的阅读 如果我增加 MaxProcesses 来创建一个网络花
  • 如何使用 ASP.NET MVC 4.0 DonutOutputCache VaryByCustom 使缓存失效

    我正在为我的 ASP NET 应用程序使用 DevTrends MvcDonutCaching 包 它工作得很好 我目前遇到的一个问题是使我为子操作设置的 VaryByCustom 缓存无效 这是我用于 VaryByCustom 设置的一些
  • 当键具有不同的时间范围并且缓存已满时,memcached 过期行为是什么?

    我知道 redis 会自行使键过期 释放内存 并想知道 memcached 是否会有同样的行为 假设我有一种很少过期的缓存密钥 我们称之为 A 另一种每 5 分钟过期 使用 Ruby on Rails expires in 5 minute
  • Google Chrome 中不缓存动态加载的图像

    使用 jQuery 加载的图像未保存在 Google Chrome 的缓存中 每次都会从服务器下载 情况 我正在使用 jQuery slimbox2 在 灯箱 中加载图片 此时没有什么特别的 我添加了一些 jQuery 代码来检测鼠标光标何
  • 为什么 Rails 托管在 VM 上时会缓存视图文件并共享 Samba 上的代码库

    我有以下设置 我的本地计算机 OS X 上的代码作为 Samba 共享共享 在 Parallels 中运行的 Ubuntu VM 安装共享 在开发模式下运行 Rails 2 1 通过 Mongrel WEBrick 或乘客 如果我对视图进行
  • 咖啡因与番石榴缓存

    根据这些微观基准 https github com ben manes caffeine wiki Benchmarks事实证明Caffeine https static javadoc io com github ben manes ca
  • 如何为客户端和服务器缓存设置不同的缓存过期时间

    我想让某些页面为客户端提供 10 分钟缓存 为服务器提供 24 小时缓存 原因是如果页面发生变化 客户端将在 10 分钟内获取更新版本 但如果没有任何变化 服务器只需每天重建一次页面 问题在于输出缓存设置似乎覆盖了客户端设置 这是我的设置
  • 在apache中有条件地设置缓存头

    我想根据访问文件的路径有条件地设置缓存标头 基本上 访问http www example com cache cache key 应该为具有遥远未来缓存标头的文件提供服务 我使用重写规则来设置环境变量 然后尝试根据该变量设置缓存控制标头 然

随机推荐