Intel Core 2 Duo 预取

2024-02-10

有人有过在 Core 2 Duo 处理器上使用预取指令的经验吗?

我一直在使用(标准?)预取集(prefetchnta, prefetcht1等)在一系列 P4 机器上取得了成功,但是当在 Core 2 Duo 上运行代码时,似乎prefetcht(i)指令什么也不做,并且prefetchnta指导效果较差。

我评估性能的标准是当向量大小足够大以实现缓存外行为时,BLAS 1 向量-向量 (axpy) 操作的计时结果。

英特尔推出了新的预取指令吗?


From an 英特尔参考文档 http://www.intel.com/Assets/PDF/manual/248966.pdf关于 Intel 64 和 IA-32 架构,请查看第 163 和 77 页:

Pentium 4 和 Intel Xeon 处理器 基于英特尔NetBurst 微架构引入硬件 除了软件之外的预取 预取。硬件预取器 透明地操作以获取数据 和来自内存的指令流 无需程序员 干涉。随后的 微架构持续改进 并向硬件添加功能 预取机制。早些时候 硬件的实现 预取机制重点关注 预取数据和指令 内存到L2;更近 实现提供了额外的 将数据从 L2 预取到的功能 L1。在英特尔 NetBurst 中 微架构、硬件 预取器可以跟踪8个独立的 溪流。

Pentium M 处理器还提供 数据的硬件预取器。它可以 跟踪 12 个独立的流 前进方向和 4 个流 向后的方向。处理器的 PREFETCHNTA 指令也取 64字节进入第一级数据 缓存而不污染 二级缓存。

英特尔酷睿单核和英特尔酷睿双核 处理器提供更先进的 数据的硬件预取器 奔腾 M 处理器。主要差异 总结于表 2-10 中。

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

Intel Core 2 Duo 预取 的相关文章

  • 一条指令可以同时处于两种寻址模式吗?

    我在书中读到了以下内容从头开始编程 处理器有多种不同的访问数据的方式 称为 寻址模式 最简单的模式是立即模式 其中 要访问的数据嵌入在指令本身中 例如 如果我们想将寄存器初始化为 0 而不是给出 计算机要从中读取 0 的地址 我们将指定立即
  • 遍历内存编辑每个字节

    我正在编写汇编代码 提示用户输入一串小写字符 然后输出包含所有大写字符的相同字符串 我的想法是迭代从特定地址开始的字节 并从每个字节中减去 20H 将小写变为大写 直到到达具有特定值的字节 我对 Assembly 相当缺乏经验 所以我不确定
  • 什么时候汇编比C更快? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • orpd等SSE2指令有什么意义?

    The orpd指令是 压缩双精度浮点值的按位逻辑或 这不是做完 全相同的事情吗por 按位逻辑或 如果是这样 拥有它还有什么意义呢 请记住 SSE1orps https www felixcloutier com x86 orps首先 实
  • 取消的分支与常规分支有何不同?

    特别是对于 SPARC Assembly 取消的分支与常规分支有何不同 我一直认为 当我需要填充分支指令的 nop 延迟槽时 需要取消分支指令 但是 我认为我在这一部分上是不正确的 因为您可以在不取消分支的情况下填充 nop 如果不采用分支
  • 在linux x86平台上学习ARM所需的工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 x86 linux 机器 在阅读一些关于 ARM 的各种信息时 我很好奇 现在我想花一些时间学
  • 汇编8086监听键盘中断

    我有与此完全相同的问题 边画边听键盘 https stackoverflow com questions 13970325 8086 listen to keyboard while drawing 但第一个答案 接受的答案 只听键盘一次
  • 68HC11计算sin(x)的汇编代码

    68HC11 使用泰勒级数或查找表计算正弦值的汇编代码是什么 显示值只能是整数 查找表如何工作 在这种情况下 如何使用它来实现泰勒级数 http en wikipedia org wiki Taylor series 如果您正在寻找浮点解决
  • “rep stos”x86 汇编指令序列有什么作用?

    我最近偶然发现了以下汇编指令序列 rep stos dword ptr edi For ecx重复 存储内容eax到哪里edi指向 递增或递减edi 取决于方向标志 每次 4 个字节 通常 这用于memset型操作 通常 该指令简单地写成r
  • 如何知道寄存器是否是“通用寄存器”?

    我试图了解寄存器必须具备什么标准才能被称为 通用寄存器 我相信通用寄存器是一个可以用于任何用途的寄存器 用于计算 将数据移入 移出等 并且是一个没有特殊用途的寄存器 现在我读到了ESP寄存器是通用寄存器 我猜是ESP寄存器可以用于任何事情
  • 如何在 Debian 上编译 DOS 程序?

    在我的汇编语言课程中 我们使用 DPMI 编写 DOS 程序 不幸的是 我无法一直使用 32 位 Windows 机器 我在我使用的几乎每台计算机上都安装了 Debian 虚拟机 我已经安装了 DOSBox 和 DOSEMU 有什么办法可以
  • “mov (%ebx,%eax,4),%eax”如何工作? [复制]

    这个问题在这里已经有答案了 一直在从事装配作业 并且在很大程度上我对装配非常了解 或者至少对于这项任务来说足够好 但这个 mov 的声明让我很困惑 如果有人能解释这个 mov 语句如何操作寄存器值 我将非常感激 mov ebx eax 4
  • 使用 NEON 优化 Cortex-A8 颜色转换

    我目前正在执行颜色转换例程 以便从 YUY2 转换为 NV12 我有一个相当快的函数 但没有我预期的那么快 主要是由于缓存未命中 void convert hd uint8 t orig uint8 t result uint32 t wi
  • 使用 MIPS 从 Big Endian 到 Little Endian 无需逻辑运算?

    我正在使用 MIPS QtSpim 将 32 位字从 Big Endian 转换为 Little Endian 我下面显示的内容已检查且正确 不过我想知道还有什么其他方法可以让我进行转换 我虽然只使用了旋转和移位 但如果没有逻辑运算 我就无
  • AVX-512 指令编码 - {er} 含义

    在 Intel x86 指令集参考中 有许多 AVX 512 指令在指令中具有可选的 er 例如 VADDPD 的一种形式定义为 EVEX NDS 512 66 0F W1 58 r VADDPD zmm1 k1 z zmm2 zmm3 m
  • 设置 IRQ 映射

    我正在遵循一些教程和参考文献来尝试设置我的内核 我在教程中遇到了一些不熟悉的代码 但根本没有解释它 这是我被告知映射的代码16 IRQs 0 15 到 ISR 地点32 47 void irq remap void outportb 0x2
  • 为什么 clang 使用 -O0 生成低效的 asm(对于这个简单的浮点和)?

    我正在 llvm clang Apple LLVM 版本 8 0 0 clang 800 0 42 1 上反汇编此代码 int main float a 0 151234 float b 0 2 float c a b printf f c
  • 在 x86 程序集中存储大量布尔值的最佳方法是什么?

    最近我一直在处理充满布尔值的大型数组 目前 我将它们存储在 bss部分有一个 space指令 它允许我创建字节数组 但是 由于我只需要存储布尔值 因此我希望从数组中逐位读取和写入数据 目前 我能想到的最好方法是有一个 space指令所需存储
  • 高效memcspn

    有谁知道 memcspn 函数的有效实现吗 它的行为应该类似于 strcspn 但在内存缓冲区中查找跨度 而不是在以 null 结尾的字符串中查找跨度 目标编译器是 VisualC 谢谢 卢卡 一种近乎最佳的实现 size t memcsp
  • NASM 中的 equ 和 db 有什么区别?

    len equ 2 len db 2 它们是否相同 产生可以用来代替的标签2 如果不是 那么每种申报表的优点或缺点是什么 它们可以互换使用吗 第一个是equate 与 C 类似 define len 2 因为它实际上并没有在最终代码中分配任

随机推荐

  • 在 Excel VBA 项目中匹配相似但不完全相同的文本字符串

    好吧 我一直在努力寻找解决方案 但似乎找不到解决方案 我什至无法正确分解问题 这就是想法 我有两张有很多行的表 一张有 800 另一张有 300 000 每行包含一个名称列 然后包含有关该名称的信息的几列 每张纸都有不同种类的信息 我想根据
  • 如何在离子模拟器中观看console.logs?

    我正在使用以下方式构建一个应用程序离子框架 http ionicframework com 到目前为止我已经在浏览器中完成了 因为我现在想使用cordovaOauth 插件 https github com nraboy ng cordov
  • React Native 选择器未在 Android 中显示

    我正在尝试在 React Native Android 中添加选择器 但它没有在 Android 中显示 我将我的位置日期映射到选择器项目 但我在屏幕上没有看到选择器
  • mySQL 查询在数据库中的所有表中搜索字符串?

    是否有一个 mySQL 查询来搜索数据库中的所有表 如果没有 您可以从 mySQL 工作台 GUI 搜索数据库中的所有表吗 phpmyadmin 有一个搜索面板 您可以使用选择所有表来搜索 我发现这非常有效 因为我正在使用的电子商务包 ma
  • 如何在本地打开经典 ASP 网站并在 Visual Studio 中附加到它?

    也许我还没有找到合适的帖子 但我一直无法为 ASP 网站设置调试 该网站正在我们的服务器上运行 但我被告知要在本地附加到它 不幸的是 我不知道如何做到这一点 我在源代码管理中有该网站的本地副本 可以在 Visual Studio 中打开它
  • 在存储库中添加 .gitconfig 会覆盖我的全局 .gitconfig 文件配置吗?

    我的项目托管在 TFS GIT 服务器中 我在 TFS 上合并拉取请求时遇到问题 一种选择是更新 TFS 服务器本身上的 git 配置以进行 合并 no ff 因为时间紧迫和其他无法尽快完成的问题 我正在寻找解决此问题的方法 如果我将 gi
  • 如何在选择文本时触发事件,例如启动应用程序

    我想知道当在浏览器 消息等任何应用程序中选择文本时是否可以启动活动或应用程序 就像当我们在任何地方选择一个文本时 会出现一个小弹出窗口 提到剪切 复制 粘贴选项 我可以在那里添加另一个按钮吗 启动我的应用程序 如果可以 请指导我如何做到这一
  • 如何告诉 gzip_static 不寻找图像文件?

    我安装了 nginx 并激活了 gzip static 它适用于 CSS 和 JavaScript 文件 但它也会查找图像文件的 gzip 压缩版本 例如 png 和 gif 尽管这些文件不在要压缩的文件列表中 strace p 25044
  • 如何在 Flutter 中创建圆形 CheckBox?或者改变CheckBox的样式,比如Flutter中选中的图片?

    我想创建一个像这样的圆形复选框 我尝试过多种变体 但似乎都不起作用 包括我尝试使用 ClipRRect 由于代码较多 这里只选取部分展示 new Row children
  • 使用Spring注入EntityManager(空指针异常)[重复]

    这个问题在这里已经有答案了 这是我的 ApplicationContext xml 中的代码
  • 实体框架迁移错误 - 序列不包含元素

    command 添加迁移等等 详细 error 序列不包含元素 在出现此错误之前我做了一些事情 我对代码优先模型进行了更改 但没有运行add migration然而 然后我添加了一个 EDMX 模型来直观地发挥一个想法 我意识到 EDMX
  • Vue JS 3:如何将数据从一个组件传递到另一个组件?

    我正在尝试共享存储在变量中的数据favorite count在收藏夹组件中Favorites vue文件 我想与应用程序组件共享该数据App vue文件 但我无法 我希望如果我改变的值favorite count在收藏夹组件中 它在应用程序
  • OpenERP 6.1中创建菜单项时访问规则禁止的操作

    当我尝试创建新的菜单项以在 OpenERP 6 1 中打开窗口时 出现以下错误 访问错误 访问规则禁止的操作 或对已删除的文档执行的操作 操作 创建 文档类型 ir values 我总是可以使用绕过所有安全检查的神奇管理员帐户 但如果可能的
  • Java 小程序 --> ClassNotFound 异常

    我正在学习Java并阅读这本书 在本书中 我有一个Java applet 练习 我可以在 Eclipse 的 appletviewer 中运行它并且运行良好 但我在将小程序集成到 HTML 中时遇到问题 这是我的java代码 package
  • 如何在 Decision Manager 中导出和导入本地项目?

    我正在使用红帽决策管理器 我已经完成了我的项目 我想将其部署到另一台电脑上 我所能得到的只是一个 jar 文件 但是当我导入它时 决策管理器响应 未找到项目 希望有任何帮助 Thanks 从 Red Hat Decision Manager
  • 在类模板实例化中显式使用某些参数的默认值

    一个类模板可以有多个参数 这些参数都有默认值 template
  • 绘制两个 xts 对象

    我在用着xtsExtra绘制两个 xts 对象 考虑以下对plot xts的调用 plot xts merge a b screens c 1 2 它用于在两个单独的面板中绘制 xts 对象 a 和 b 如何控制 y 轴的间距 具体来说 我
  • 安卓蓝牙连接错误

    我在堆栈跟踪中收到以下消息 我可以找到蓝牙设备 但是当我尝试打开套接字时会发生这种情况 10 30 22 23 08 901 ERROR BTL CFG 8633 WARNING service brcm bt INQ FILTER BDA
  • 以 DirectX 编程方式创建纹理

    我试图通过提供 rgba 值数组 使用该数组创建 ID3D11Texture2D 资源 然后将其映射到我的 20 x 20 正方形 在屏幕上创建一个白色 20 x 20 像素正方形 以下是创建方形纹理和着色器资源视图的代码 void Squ
  • Intel Core 2 Duo 预取

    有人有过在 Core 2 Duo 处理器上使用预取指令的经验吗 我一直在使用 标准 预取集 prefetchnta prefetcht1等 在一系列 P4 机器上取得了成功 但是当在 Core 2 Duo 上运行代码时 似乎prefetch