IBM Power处理器的SMT、HMT、HT技术介绍
IBM Power处理器的SMT、HMT、HT技术
SMT并发多线程是Power5以后芯片的新技术,它支持一个CPU内核同时处理两条指令,因此可以最高达到单一CPU两倍的处理速度。平均而言,打开SMT支持比关闭SMT能提升30%的CPU处理能力。SMT的能力来源于CPU中有许多寄存器,但是由于CPU通常每一时间点只能执行一条指令,即使是流水线方式,某个时间点真正执行占据运算器的也只有一条指令,其他并行的指令只能处于解码、寻址等状态。因此大部分寄存器都没有工作,处于闲置。
针对这种情况,IBM特别设计了一种寄存器结构,能够对CPU的处理状态进行跟踪,当发现有闲置的寄存器,而此时另一个线程又可以使用它的时候,就在保持当前进程的前提下,让另一个线程同时执行,就这样在同一时间,一个CPU可以处理两个线程的指令。实际上并非如此简单,因为一个RISC CPU通常用超流水线的方式同时执行多条指令,因此实现SMT需要进行比较复杂的判断,而且也并不能保证CPU永远可以执行两个线程。所以通常SMT并不能将性能翻倍,而只是提高30%左右。
与SMT类似,HMT硬件多线程技术,也是试图同时实行多条指令线程的一种技术,但与SMT不同的是,在HMT必须等当前指令流空闲下来,才能切换到另一条指令线程执行。在CPU 执行指令发生中断的时候,就是当前指令流空闲的时候,通常可能原因是指令/数据缓存未命中(由于跳转和地址越界,缓存中,没有当前需要执行的指令)。由于HMT对指令是否并行执行的要求更为苛刻,对性能的提高并不十分显著。
IBM的Power系列CPU支持HMT,到Power5开始增添了对SMT的支持,其中HMT是无条件使用,而SMT则可能通过操作系统开关控制使用和关闭。
本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!