2017-01-30 77 views
1

我目前使用Windows 8 Pro OS以及处理器:Intel(R)Core(TM)i7-4790 CPU @ 3.60GHz,RAM 8 GB。 我想知道我的系统有多少个物理处理器和多少个实际内核。随着我对硬件非常基本的理解和讨论here,当我搜索英特尔信息在此英特尔网站here这款处理器,它说:从我的英特尔系统检测CPU和核心信息

# 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编写Low Latency程序。 感谢您的支持......

+0

我认为您应该为语言/框架添加至少一个标签,以便给出简明的答案。 ['OpenMP'](https://stackoverflow.com/questions/tagged/openmp)或['C++'](https://stackoverflow.com/questions/tagged/c%2b%2b)? –

+0

它实际上是否在任务管理器中显示“物理处理器”?我说“逻辑处理器”,休息类似于我的。只是检查.. –

+0

谢谢@ John..have添加了C++作为语言 – XMarshall

回答

0

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

通用计算将使用超线程技术来加速,因为各种线程都在利用共享资源来做各种不同的事情。由于共享资源的压力,并行运行的CPU密集型任务的性能可能不会很高。例如,如果只有一个ALU,那么让两个线程竞争它是没有意义的。

运行基准测试并针对您的应用程序确定适当的设置,关于HT是否启用。有了这个广泛的问题,我们不能给你一个明确的答案。

+0

谢谢@Jonathon。您的评论 - “运行基准并针对您的应用程序确定适当的设置,关于HT是否启用”。我猜测HT代表超线程。如果是的话如何检查它是否启用?我正在使用C++ – XMarshall

+0

检查您的BIOS设置。如果您拥有4个核心和8个逻辑处理器,则启用超线程。我的推测是,当线程的数量等于物理内核的数量时,应用程序运行得最好,而不是逻辑处理器的数量。 –

+0

谢谢@Jonathon。我猜测Windows任务管理器的CPU部分反映了BIOS设置。虽然我不确定。在我目前的读数之后,我还得出结论:当线程数量等于物理内核数量时,最佳应用性能为 – XMarshall

相关问题