介绍了所有的MT多线程技术种类之后,我们可以来看Intel的HyperThreading超线程技术了,前面说过,Intel具有超线程技术的CPU有:Pentium 4(NetBurst架构)、Core i7(Nehalem架构)、Itanium 2(Mondecito)、Atom(Silverthorne)。我们已经知道具有超线程技术的Pentium 4/Pentium 4 Xeon(不是所有的P4都有超线程技术)采用的是SMT架构,Core i7的则是其改进版本。我们再来看看Itanium 2:
Itanium 2 Montecito采用了双核心设计,每核心两个线程
Itanium 2 Montecito的超线程技术采用了CMT架构
Itanium 2的超线程技术:在遇到如L3 cache missed的时候进行线程切换
可见,Itanium 2的超线程技术和Pentium 4的SMT不同,它实际上是CMT粗粒度多线程技术。这是因为Itanium 2是In-Order架构的,SMT的原始构想就是充分压榨OOOE(Out-Of-Order Execution)的能力,因此In-Order架构的Itanium 2就没有采用SMT的方式。因为要创建多个线程的代价太大。
那是否In-Order架构的处理器就不能实现SMT了呢?并不是,Intel的Atom就是一个典型的例子:
迷你处理器:Intel Atom(凌动),还有一种叫法是阿童木处理器……
除了Atom之外,IBM的怪物Power6(起始频率4.7GHz)也采用了基于In-Order架构的SMT技术(Power5的SMT是基于Out-Of-Order):
IBM Power6处理器,双核,每核两个线程