确定处理器支持哪些指令

时间:2012-10-31 19:09:52

标签: c# .net wmi

CPU-Z能够确定处理器支持的说明。例如,以下链接显示了这些说明:

MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T

有没有办法使用.NETWMI或其他技术来实现这一目标?

1 个答案:

答案 0 :(得分:5)

kernel32.dll中,您可以使用IsProcessorFeaturePresent功能pInvoke

修改
关于EM64T扩展指令集,这仅适用于x64平台,因此您可以通过WMI检查存在哪种类型的CPU:

public static bool IsEM64TSupported()
{
  ManagementObject mo;
  mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
  ushort i = (ushort) mo["Architecture"];

  return i == 9;
}

但由于EM64T指令在32位操作系统中不可用,您还需要检查它。