确定没有处理器和核心

时间:2013-09-27 00:20:07

标签: multithreading processors

我有戴尔Inspiron 620.系统控制面板显示1英特尔i3-2100。英特尔称(http://ark.intel.com/products/53422/)它有2个内核和4个线程。三个问题:在系统环境变量中,no_of_processors = 4; 4线程也是如此?

关于核心,当我运行此代码时:

               // get a list of all processor devices
                deviceList = SetupDiGetClassDevs(ref processorGuid, "ACPI", IntPtr.Zero, (int)DIGCF.PRESENT);
                // attempt to process each item in the list
                for (int deviceNumber = 0; ; deviceNumber++)
                {
                    SP_DEVINFO_DATA deviceInfo = new SP_DEVINFO_DATA();
                    deviceInfo.cbSize = Marshal.SizeOf(deviceInfo);

                    // attempt to read the device info from the list, if this fails, we're at the end of the list
                    if (!SetupDiEnumDeviceInfo(deviceList, deviceNumber, ref deviceInfo))
                    {
                        deviceCount = deviceNumber - 1;
                        break;
                    }
                }

我得到3个核心数,而不是2.

此外,就系统将充分支持的线程数而言,核心x处理器是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

这是纯粹的假设,但可能是:

  1. 2个4线程的核心意味着超线程
  2. 系统属性指的是4个处理器=>它读取可用作“逻辑单线程处理器”的超线程数量
  3. 你的循环从0开始,所以你仍然看到4。