FMT——Fine-Grained MultiThreading随时可以在每个时钟周期内切换多个线程,以追求最大的输出能力——当然,随时可以切换也是有代价的,它拉长了每个执行线程的平均执行时间。Fine-Grained MultiThreading有时也叫Interleaved MultiThreading交错多线程或者Pre-emptive MultiThreading抢先多线程。
Sun UltraSPARC T1处理器,8核心,每核4个线程
Sun UltraSPARC T2处理器,8核心,每核8个线程
最后一段表明UltraSPARC T2使用了FMT
和CMT比起来,FMT要复杂一些,因此相应的处理器就没有那么多,例:
2005年Sun UltraSPARC T1「Niagara」(8核心/32线程)
2007年Sun UltraSPARC T2「Niagara 2」(8核心/64线程)
其实UltraSPARC T2同时还使用了其他的MT技术,才实现了比T1多了一倍的多线程能力,仔细看看上图,T2还使用了什么MT技术(注意第一段的CMT是Chip MultiThreading的意思而不是Coarse-Grained MultiThreading的意思)?
虽然CPU上使用FMT技术的并不多,不过我们可以看看另一个领域:GPU,现在NVIDIA和ATI的GPU,都使用了FMT技术:
|