从我的英特尔系统检测 CPU 和核心信息

Detecting CPU and Core information from my Intel System

我目前正在使用 Windows 8 Pro OS,以及处理器:Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz,RAM 8国标。 我想知道我的系统有多少个物理处理器和多少个实际内核。根据我对硬件和本次讨论的非常基本的了解 here, when I am searching Intel Information for this processor at this Intel site here,它说:

# of Cores 4 
# of Threads 8

在我的 CPU 系统的任务管理器中,它显示:

Maximum Speed:      3.60 GHz
Sockets:        1
Cores:          4
Physical processors:    8

假设我有 1 个物理处理器和 4 个实际物理内核,并且每个物理内核有 2 个虚拟内核(= 2 个线程),我是否正确?因此,如我的任务管理器中所述,物理处理器总数为 8 个。但是,如果我的假设是正确的,那为什么说物理处理器 =8 而不是虚拟处理器呢? 我需要知道我的机器的核心细节,因为我需要编写低延迟程序,可能使用 OpenMP。 感谢您的宝贵时间...

从您的操作系统的角度来看,即使是超线程处理器也是 "real" 处理器 - 它们存在于 CPU 中。他们使用真实的物理资源,如指令解码器和 ALU。仅仅因为这些资源在 HT 核心之间共享并不意味着它们不是 "real".

通用计算将通过使用超线程实现加速,因为各种线程正在做不同种类的事情,利用共享资源。然而,由于共享资源的压力,并行 CPU-intensive 任务 运行 可能看不到那么高的性能。例如,如果只有一个 ALU,让两个线程竞争它就没有意义。

运行 基准测试并为您的应用程序确定适当的设置,关于是否启用 HT。这么宽泛的问题,我们无法给你一个明确的答案。