AMD这个指令集,走向灭亡

类别:名企新闻  出处:网络整理  发布于:2024-07-19 10:26:52 | 76 次阅读

  AMD 近乎古老的 3DNow! 指令已逐渐淡出人们的视线。开源编译器 LLVM终取消了对自 2011 年以来 AMD CPU 不再支持的指令集的支持。
  3DNow! 指令集于 1998 年推出,旨在与英特尔的 MMX 竞争。它在 AMD 的基础 x86 指令集中添加了单指令、多数据 (SIMD) 指令,帮助 CPU 使用矢量寄存器对浮点运算进行矢量处理。
  AMD于 2011 年用更新的 SSE 等效产品取代了 3DNow!,并从 K10 Bulldozer CPU 开始停止包含该功能标志位。不过,由于 CPU 仍在使用相当长一段时间,编译器确实花了一些时间才开始放弃对该指令集的支持。
  2021 年,Linux 从其内核中淘汰了该指令集,但 LLVM 在其他所有人都放弃它之后仍然长期保持支持。LLVM 编译器背后的开发人员还致力于从该工具中删除 MMX 类型和指令。
  LLVM 19 的提交预计将于九月或十月发布,证实了即将被删除。
  “这组指令仅受 K6-2(1998 年推出)及“Bulldozer”系列(2011 年)之前的 AMD 芯片支持。它们从未被广泛使用,因为它们实际上已被更广泛实施的 SSE(2001 年首次在 AMD 的 Athlon XP 中实施)所取代。
  这是为了全面移除 MMX 寄存器的使用而采取的措施。由于 3DNow! 内部函数几乎没有用处,而且现代硬件甚至都没有实现它们,因此简单的移除似乎是选择。”
  AMD 3DNow! 指令在 20 世纪 90 年代末和 21 世纪初非常流行,用于改进游戏、视频播放和 Adobe Photoshop 工作流程。随后,英特尔发布了 SSE 指令,该指令在整体上占据了主导地位。当英特尔发布 SSE2 时,AMD 采用了它并放弃了其较旧的 SIMD 指令集。
  需要为旧 AMD 处理器编写代码的开发人员仍可使用汇编语言中的 3DNow! 指令,包括使用 LLVM 的内联汇编代码。除此之外,与 3DNow! 相关的所有内容都应视为已弃用且不再使用。
  其实早在2010年,就有相关报道表示,AMD 告别 3DNow! 指令集。
  3DNow! 于 1998 年推出,是 AMD 为满足当时 K6-2 芯片日益增长的多媒体需求而推出的。但到了2010年左右,AMD 宣布该指令集将被弃用。
  AMD 在 K6-2 时代就引入了 3DNow! ?指令集来执行单指令多数据 (SIMD) 指令,也称为矢量化指令。这些指令主要用于图形密集型应用程序甚至音频处理。从那时起,我们在处理器中添加了许多 SIMD 指令集,例如广泛使用的流式 SIMD 扩展 (SSE) 指令集及其后续版本。
  3DNow! 指令已被弃用,某些即将推出的 AMD 处理器将不再支持这些指令。在这些处理器中,不会设置3DNow! 指令功能标志位。这由 CPUID 函数 8000_0001h 的 EDX 位 31 指示。现在是时候提醒开发人员在使用功能之前检查运行时支持的功能有多么重要了。我们一直建议在运行时检查此功能,这是实践,但现在,如果程序尝试执行此指令而不先检查该功能是否受支持,则检查此功能非常重要,有助于防止程序失败。在开发 3DNow! 指令的同时,程序员习惯于使用“尝试并捕获”模型来检查处理器是否支持指令或指令集。这是当应用程序“尝试”执行指令以查看它是否可用时。如果应用程序从处理器收到未定义异常 (#UD),则它认为指令集不可用。这些类型的应用程序在较新的虚拟机下可能运行得不太好。不过这是另一篇博客的主题。
  尽管 3DNow! 在当时具有革命性,但它并不十分流行,并且已被无数次迭代的 SSE 指令集所取代。然而,对于使用它的任何开发人员以及管理使用它的虚拟化环境的人来说,这则消息非常重要。
关键词:AMD

全年征稿 / 资讯合作

稿件以电子文档的形式交稿,欢迎大家砸稿过来哦!

联系邮箱:3342987809@qq.com

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

热点排行

广告