Perf 事件:dTLB 加载和 dTLB 存储的含义是什么?

2023-12-10

我试图理解性能事件的含义:dTLB 加载和 dTLB 存储?


当启用虚拟内存时,每次内存访问的虚拟地址都需要在TLB中查找,以获得相应的物理地址并确定访问权限和特权(或者在映射无效的情况下引发异常)。这dTLB-loads and dTLB-stores事件分别表示数据存储器加载或存储访问的 TLB 查找。是perf这些事件的定义。但确切的含义取决于微架构。

在韦斯特米尔、斯凯湖、卡比湖、咖啡湖、坎农湖(可能还有冰湖),dTLB-loads and dTLB-stores被映射到MEM_INST_RETIRED.ALL_LOADS and MEM_INST_RETIRED.ALL_STORES, 分别。在 Sandy Bridge、Ivy Bridge、Haswell、Broadwell、Goldmont、Goldmont Plus 上,它们被映射到MEM_UOP_RETIRED.ALL_LOADS and MEM_UOP_RETIRED.ALL_STORES, 分别。在 Core2、Nehalem、Bonnell、Saltwell 上,它们被映射到L1D_CACHE_LD.MESI and L1D_CACHE_ST.MESI, 分别。 (请注意,在 Bonnell 和 Saltwell 上,事件的官方名称是L1D_CACHE.LD and L1D_CACHE.ST以及使用的事件代码perf仅记录在英特尔手册第 3 卷中,未记录在其他有关性能事件的英特尔来源中。)dTLB-loads and dTLB-storesSilvermont 和 Airmont 不支持事件。

在所有当前的 AMD 处理器上,dTLB-loads被映射到LsDcAccesses and dTLB-stores不支持。然而,LsDcAccesses计算加载和存储的 TLB 查找次数。在其他供应商的处理器上,dTLB-loads and dTLB-stores不支持。

See 硬件缓存事件和性能了解如何绘制地图perf核心事件到原生事件。

The dTLB-loads and dTLB-stores不同微架构上的同一程序的事件计数可能不同,不仅因为微架构的差异,而且因为事件的含义本身不同。因此,即使程序的微体系结构行为在微体系结构上是相同的,事件计数仍然可能不同。可以找到所有 Intel 微架构上本机事件的简要描述here可以找到一些微架构的更详细描述here.

有关的:如何解释 perf iTLB-loads,iTLB-load-misses.

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

Perf 事件:dTLB 加载和 dTLB 存储的含义是什么? 的相关文章

  • lldb 可以与 fortran 一起使用吗?

    我正在尝试对 Fortran 程序设置断点lldb在 Mac OS 10 12 5 系统上 我有 program badcall integer a b a 2 b 3 write a b end I have to 使用英特尔编译器进行编
  • 内存屏障和 TLB

    内存屏障保证数据缓存的一致性 但是 它能保证TLB的一致性吗 我发现一个问题 在线程之间传递 MappedByteBuffer 时 JVM java 7 update 1 有时会因内存错误 SIGBUS SIGSEG 而崩溃 e g fin
  • 将英特尔寄存器用于其“预期目的”是否会提高效率?

    本文 http www swansontec com sregisters html声称每个寄存器都有其预期目的 更重要的是 当英特尔的工程师设计 最初的 8086 处理器 他们有 每个人都有一个特殊的目的 登记 正如他们设计的 指令集 他
  • 为什么执行指针追踪时该跳转指令的开销如此之大?

    我有一个程序可以执行指针追逐 https en wikichip org wiki pointer chasing我正在尝试尽可能优化指针追逐循环 我注意到perf record检测到函数中约 20 的执行时间myFunction 用于执行
  • 在 Skylake 中使用 MSR 正确禁用硬件预取

    我正在尝试禁用我的机器上的硬件预取 CPU系列 6 型号 78 型号名称 Intel R Core TM i5 6200U CPU 2 30GHz 我已经检查过 gcc march native Q help target grep Mar
  • 如何在 Matlab 中将 PARFOR 与 Core i3 并行 4 工作

    我有适用于 Ubuntu 64 位的 Matlab R2012b 我有一个 Intel Core i3 CPU M 330 2 13GHz 4 我想用parfor同时并行化 4 个循环 因为 Intel Core i3 有 2 个核心和 4
  • 可以通过修改页表来移动内存页吗?

    是否有可能 在任何合理的操作系统上 最好是Linux 通过仅修改页表而不实际移动任何数据来交换两个内存页的内容 动机是密集矩阵转置 如果数据被页面 大小阻止 则可以在页面内转置数据 适合缓存 然后交换页面以将块移动到最终位置 一个大的矩阵会
  • 循环地址对齐如何影响 Intel x86_64 上的速度?

    我发现相同的 C 代码编译为完全相同的机器指令但位于不同对齐的地址时性能下降了 15 当我的小主循环从 0x415220 开始时 它比从 0x415250 开始时要快 我在 Intel Core2 Duo 上运行它 我在 x86 64 Ub
  • 现在 x86 上有多少指令? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 如何使用汇编程序从英特尔处理器中获取随机数?

    我需要从处理器 英特尔酷睿 i3 中的英特尔随机生成器获取随机数 我不想使用任何图书馆 我想在 C 中使用汇编程序粘贴 但我不知道应该使用哪些寄存器和指令 呼叫RDRAND支持的 CPU 目前仅 Ivy Bridge 和 Haswell I
  • 写组合缓冲区位于哪里? x86

    Write Combine 缓冲区在物理上是如何连接的 我见过说明许多变体的框图 L1 和内存控制器之间 CPU 的存储缓冲区和内存控制器之间 CPU 的 AGU 和 或存储单元之间 它依赖于微架构吗 写缓冲区在不同的处理器中可以有不同的目
  • x86_64:IMUL 比 2x SHL + 2x ADD 更快吗?

    当查看 Visual Studio 2015U2 生成的程序集时 O2 发布 模式我看到这段 手工优化 的 C 代码被翻译回乘法 int64 t calc int64 t a return a lt lt 6 a lt lt 16 a 集会
  • 测量 x86-64 中的 TLB 未命中处理成本

    我想估计运行 Linux 的 x86 64 Intel Nehalem 计算机上由于 TLB 未命中而导致的性能开销 我希望通过使用一些性能计数器来获得这个估计 有人知道估计这个的最佳方法是什么吗 谢谢 阿尔卡 如果您可以访问基于 West
  • Intel x86 与 AMD x86 CPU 上的访问性能不一致

    我已经实现了一个带有结构内存布局数组的简单线性探测哈希图 该结构包含键 值和指示条目是否有效的标志 默认情况下 该结构体由编译器填充 因为键和值是 64 位整数 但该条目仅占用 8 个布尔值 因此 我也尝试以未对齐访问为代价来打包结构 由于
  • 记录内存访问足迹

    I found mtrace https github com aclements mtrace克莱门茨博士 虽然很有用 但是在我需要的情况下却不能正常工作 我打算使用该记录来了解不同场景下的内存访问模式 有人可以分享相关经验吗 任何建议将
  • 混洗两个 __m128i 的 64 位部分的最佳方法

    我有两个 m128is a and b 我想进行洗牌 以便高 64 位a落在低 64 位dst和低 64 位b落在上64dst i e dst 0 63 a 64 127 dst 64 127 b 0 63 相当于 m128i dst mm
  • 假设没有非时间指令,“xchg”是否包含“mfence”?

    我已经看过了这个答案 https stackoverflow com a 50279772 391161 and 这个答案 https stackoverflow com a 19099164 391161 但似乎都没有清楚明确地说明等价或
  • 英特尔 SGX 开发者许可和开源软件

    是否可以获得许可的开发人员证书 用于在生产模式下签署经过安全审查 社区开发的开源 SGX 软件二进制文件 并将其发布到 apt 或 rpm 等开源存储库上 我刚刚询问了Intel SGX团队 他们说只有经过验证的供应商才能获得证书并在生产模
  • 在 MacOS 10.6 (Snow Leopard) 上安装 Intel 的 TBB 3.0 框架

    我在 MacOS 系统上安装英特尔线程构建模块 TBB 3 0 作为框架时遇到了一些问题 有谁知道一个好的教程吗 我尝试过使用 MacPorts 它有 TBB 2 2 它安装了我需要的所有库 但我没有得到框架 另外 Intel 网站上似乎没
  • perf 找不到外部模块符号

    跑步时perf它找到了我的程序的内核符号和符号 但没有找到外部模块符号 我已经编写了一个内核模块 我使用它加载insmod我怎么知道perf也找到它的符号 我正在运行 2 6 37 6 内核 无法升级 我的perf尚不支持矮人选项 但我认为

随机推荐

  • 异步/等待多核

    async await 是否应该与线程一起使用以利用多核 我不完全理解 async await 但看起来它不会创建新线程并且不使用线程池 因此它在当前线程上运行代码 这意味着不支持多核 async await与跨多个核心的负载平衡工作无关
  • ASP.NET Core RC2 和 .NET 4.5.1 应用程序之间的共享 cookie 身份验证

    我们有两个运行共享 cookie 身份验证的 NET 应用程序 一个是 ASP NET Core RC1 应用程序 另一个是经典的 NET 4 5 1 应用程序 目前这是使用过时的设置Microsoft Owin Security Cook
  • 单击 Gmail 中的链接是否会发送引用标头?

    这主要是出于隐私考虑 如果我在 Gmail 或任何其他电子邮件提供商 上打开一封包含网站链接的电子邮件 并且最终点击该链接 Gmail 是否会发送引用标头 即 目标网站会知道我来自 Gmail 他们会知道我点击链接时使用的电子邮件地址吗 最
  • JPanel 内部的半透明组件

    我有从 JPanel 扩展的类 MyPanel MyPanel 类有一个包含图标的 JLabel 组件 我的问题是如何绘制 渲染此 JLabel 组件以在 MyPanel 类中获得半透明效果 通过图标查看 而不是创建 xxxJLabel 扩
  • 将锚标记中的图像居中

    我的锚标记中有一张图像 我需要将其居中 我已经成功地使用了我刚刚在 DOM 检查器中遇到的这项技术来做到这一点 http jsfiddle net m6e3m it uses display table margin 0 auto 我尝试使
  • 设置SQLite v3数据库的密码

    我的应用程序使用存储在可通过网络获取的文件中的数据库 到目前为止 我一直在使用MS Access文件 accdb 但我正在尝试迁移到SQLite 版本 3 db3 我将 SQLite NuGet 包添加到我的项目中并使用创建了 SQLite
  • 如何让nbviewer显示本地文件?

    我已经安装了 nbviewer 并且可以工作 我看到它有一个 localfiles带有文件夹名称的选项 它说 在 home gb S14 inclass 中为本地笔记本提供服务 这可能存在安全风险 但我无法弄清楚 URL 格式让它在那里查找
  • 从表单中删除空输入元素

    我有一个简单的表单 可以继续创建 codeigniter 的所有表单和验证要求 我想要做的是在序列化之前过滤掉任何空输入 这样我就不会创建表单输入和表单验证集规则 我不知道该怎么做 Jquery 中出现警报的地方是我想要删除任何空输入的地方
  • 在 scala 控制台中打开和关闭 JavaFx 应用程序

    这是一个例子 Copyright 2013 ScalaFX Project All right reserved package scalafx ensemble example charts import scalafx applicat
  • 为什么 CreateProcess 给出错误 193(%1 不是有效的 Win32 应用程序)

    下面的代码无法启动文档 我收到错误 193 1 不是有效的 Win32 应用程序 启动可执行文件工作正常 这些文件已正确关联 双击时会启动相应的应用程序 我已经在 SO 和其他地方搜索了错误消息 createprocess 内容等 例如为什
  • HTML 仍然用 读取 php 代码

    我有以下问题 我在页面中使用了以下代码来忽略一些 php 代码 但似乎感恩节周末有更新 并且不再忽略代码 其余的 html 代码将被忽略
  • 禁用 JOptionPane.dialog 上的“确定”按钮,直到用户提供输入

    我需要用户输入名称 并且我想禁用 确定 按钮 直到给出一些输入 我怎样才能禁用它 JOptionPane允许您提供一个组件作为消息窗格以及可以在其上显示的控件 选项 如果将正确的侦听器添加到消息组件 那么您应该能够影响用作选项的控件 看一眼
  • 比较指针时不会调用重载的“==”运算符

    我有一个任务类 其中有一个string text私人会员 我访问变量槽const string getText const 我想要超载 运算符检查对象的不同实例是否具有相同的文本 我已宣布公开bool operator const Task
  • 如何在pyqt中使QRadioButton圆圈加粗?

    I have a qradiobutton and I want to make bold like this image 我尝试了这段代码 但我得到了一个正方形 并且无法选择 QradioButton import sys from Py
  • 带有 DOM / batik 的事件 clic :恢复引用符号的 use 标签

    晚上好 我目前正在Java中开发图形应用程序 处理svg文件 使用batik直接操作DOM文档svg 我的各种元素在 symbol 标签中声明 并由标签的 use 使用和 显示 这是文档 svg
  • 使用 Google Web 应用程序扩展 Google 电子表格 UI

    我为 Google 电子表格创建了一个脚本 该脚本只是添加了一个新的菜单项 如此处所述电子表格中的自定义菜单项 然后我将此脚本部署为 Web 应用程序 并且希望所有安装该应用程序的用户都能够看到新的菜单项 我现在被困住了 据我了解 当您将脚
  • 多线程环境下的 JDBC 事务

    开发一个在多个线程之间共享单个Connection的Java应用程序 就会出现并发问题 如果线程 A 更新表 T 中的记录 1 同时线程 B 对表 T 中的记录 1 发出 SELECT 如何确保线程 B 读取线程 A 的更新值 java s
  • 更改空闲状态下打印文本的颜色?

    有没有办法指定 Python 3 2 的 Idle 中打印文本的颜色 我正在寻找类似的东西 print foo fafafa print bar 4f4f4f http docs python org library idle html s
  • 资源解释为文档,但使用 MIME 类型 application/zip 进行传输

    对于 Chrome 12 0 742 112 如果我使用以下标头进行重定向 HTTP 1 1 302 Found Location http 0 0 0 0 3000 files download zip Content Type text
  • Perf 事件:dTLB 加载和 dTLB 存储的含义是什么?

    我试图理解性能事件的含义 dTLB 加载和 dTLB 存储 当启用虚拟内存时 每次内存访问的虚拟地址都需要在TLB中查找 以获得相应的物理地址并确定访问权限和特权 或者在映射无效的情况下引发异常 这dTLB loads and dTLB s