small 发表于 2013-1-19 10:23
一个核心的2个超线程单元应该是不分的吧?
只有一个工作时,他都是独占了这个物理核心的资源,没有说“单 ...
绝对是有区分的。
如果你看过i7的内核结构图就知道了,超线程技术的实现实际上是在CPU内部占用了3%左右的晶体管,用于虚拟出另一个的核心,然后跟原有的物理核心占用同样的运算资源。也就说,这个逻辑核心是通过某些物理电路模拟出来的,跟原有的物理核心还是有区分的,还是可以被系统识别出来的,并不是说在只有一个物理核心的情况下,两个线程都是逻辑线程,然后地位平等地使用物理资源。
至于这个逻辑核心独占整个物理核心的运算资源时,能不能达到原本物理核心该有的性嫩,这个不好说。
我打个比较具体的比方吧:假设CPU的一个物理内核就是你家的厨房,砧板、菜刀、铁锅、炉灶等等厨具都只有一个,线程就是做饭的人(假设是你或者你女王)。按照你的理解,超线程技术就是在同一个厨房里,你跟你女王两个同时一起做饭,然后平等地使用里面的厨具。而我对超线程的理解是,由始至终,在厨房里干活的都只有你或者你女王一个人,只是,你或者你女王用了一个很巧妙的工具(比如很科幻的机器手),装在身上,模拟出了另一双手,让人看起来就像有两个人一起干活一样,至于那双机器手能不能像真人的手一样灵巧,当机器手能独占所有厨具的时候,能不能跟用人的手达到一样的效果,不得而知。
当然,无论是你的理解还是我的理解,都有一个共同点:只能使用同样的厨具。所以,很容易让人搞混到底是一个人在干活还是两个人在干活。但是,不管两者效率如何,机器手跟人的手总是能区分的吧?
这就是我的理解,呵呵。 |