检测功能

[本文档仅供预览,并可能在以后的版本中更改。 Blank topics are included as placeholders.]

Microsoft 专用

适当地标识和使用 3DNow! 提高的 3DNow! 命令,应用程序必须确定该处理器是否支持它们。 CPUID 指令使程序员能够确定处理器支持的命令。 下面提供了必要步骤的摘要确定设置命令支持。 有关 CPUID 命令的详细说明,请参见 AMD 处理器标识应用备注,订单数字 20734。

  1. 建立该处理器为 CPUID 支持。

  2. 执行 CPUID 0 的功能,返回支持的处理器供应商字符串和最高的标准功能。 保存较高比较的供应商字符串。 (请参见步骤 9。)

  3. 如果步骤 2 表示最高的标准功能至少为 1,请执行 CPUID 1 的功能,返回在 EDX 注册的标准性能标志。

  4. 如果标准性能标志的 23 位设置为 1, MMX 支持。 MMX 指令支持是要求的基本最小的处理器功能以支持其他命令扩展。

  5. 或者,因此,如果标准性能标志的 25 位设置,该处理器具有流 SIMD 扩展 (SSE)功能。 SSE 的进一步评估通过监视完成操作系统支持。 SSE 支持可能存在该处理器,但是,无法使用由于缺少操作系统为不同的 architected 注册支持。

  6. 执行 CPUID 扩展的功能 8000_0000h。 此函数返回在 EAX 支持的最高的扩展功能。 如果 EAX=0,没有用于扩展的功能的支持。

  7. 如果支持的最高的扩展功能至少 8000_0001h,请执行 CPUID 功能 8000_0001h。 此函数返回在 EDX 的扩展功能标志。

  8. 如果扩展功能标志的 31 位设置为 1, 3DNow! 命令支持。

  9. 如果以前保存的供应商字符串 (请参见步骤 2) 包含 “AuthenticAMD”,继续下一步。

  10. 如果扩展功能标志的 30 位设置为 1,为添加的 3DNow! 设置命令支持。

  11. 如果扩展功能标志的 22 位设置为 1,扩展了设置的 MMX 指令的新多媒体提高命令支持。

请参见

参考

AMD 3DNow! 技术概述和内部