我目前正在使用Windows 8 Pro OS,以及处理器:Intel(R)Core(TM)i7-4790 CPU @ 3.60GHz,内存为8 GB。 我想知道我的系统有多少物理处理器和多少实际核心。根据我对硬件及此讨论的基本了解here,当我在此英特尔网站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来编写低延迟程序。 谢谢你的时间......
答案 0 :(得分:0)
从操作系统的角度来看,即使是HyperThreaded处理器也是“真正的”处理器 - 它们存在于CPU中。他们使用实际的物理资源,如指令解码器和ALU。仅仅因为这些资源在HT核心之间共享并不意味着它们不是“真实的”。
通用计算将通过使用超线程来加快速度,因为各种线程正在利用共享资源执行不同类型的操作。然而,由于共享资源的压力,并行运行的CPU密集型任务可能看不到高性能。例如,如果只有一个ALU,那么让两个线程竞争它是没有意义的。
运行基准测试并确定适合的应用程序,关于是否启用HT。对于这个问题,我们无法给出明确的答案。