虚拟内核和真实内核之间是否存在明显的性能差异?[重复]


5

可能重复:
超线程和双核,有什么区别?

大多数英特尔处理器都具有所谓的“超线程”功能,基本上是每个物理核心的另一个虚拟核心。

这些虚拟核心和物理核心之间是否有显着差异?例如,如果我在相同的时钟下同时购买了具有相似规格的8核机器和超线程四核,那么8物理核机器是否会比具有超线程的四核机器好?


Answers:


8

是,有一点不同。

显然,仅当程序实际使用物理内核时,物理内核才会胜过虚拟内核。:)

当CPU等待时,虚拟内核只是利用CPU停顿来处理另一个线程。但是,当一切停滞不前时,它们一次运行的指令不会比单个内核更多。

另一方面,物理核心实际上并行运行多个线程。它们与多个物理处理器非常相似,不同的是缓存和此类组件可能在某些级别上共享。


请注意,这个答案是在谈论一种与现代CPU所具有的超线程无关的超线程版本。
David Schwartz

@DavidSchwartz:不确定您的意思吗?
Mehrdad

2
该答案适用于奔腾4上可用的古老形式的超线程,但完全不适用于现代超线程,后者与利用CPU停顿无关,即使一次也没有停顿,一次也可以运行更多指令。例如,如果一个线程仅执行整数运算,则另一线程可以一直使用所有浮点单元。
David Schwartz

@DavidSchwartz:没错,我在写Pentium 4 HT时确实是在指它,但是我不确定我是否同意定义确实发生了变化。您确定要说的是“超线程”,而不是“超标量” CPU或“同时多线程”之类的术语吗?如果您真的是说超线程现在有所不同,可以给我提供一个链接,以解释您要说的详细信息吗?
Mehrdad

我说的是现代超线程。每个线程都可以平等地访问内核上的资源,并且只要它们在任何特定时间都不会耗尽执行单元的资源,它们就可以全速运行。当然,如果它们都尝试使用所有浮点乘法器,那么一个将不得不等待另一个。
David Schwartz

4

好吧,差异是如此之大,最终您可能在具有超线程的双核与常规双核之间没有性能差异。将超线程视为“回收”功能,它可能使用由于内存访问而无法使用的时钟。但是在简单的过程中,它根本无法改善。


+1,我相信您的意思是写“ 嗯,区别是如此微不足道 …… ”?
兰道夫·理查森

我认为这与它的销售方式在措辞上是准确的:-)
Psycogeek 2011年

抱歉,我的意思是物理双核与超线程核之间的区别
Martheen Cahya Paulo 2011
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.