什么是超线程技术呀?

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:32:39

众所周知,高端服务器平台通常会采用多个处理器,可并发执行多个线程,从而获得极大的性能提升。在消费级PC中使用类似于SMP技术一直以来是无数人的梦想,但高昂的价格和复杂的技术架构一直阻碍着多线程技术在低端市场的普及。
??业界在处理器结构的问题上存在着两种不同的方案——同时多线程处理器(SMT处理器)和单芯片多处理器(CMP)。先讲讲CMP,Chip Mulitprocessor。随着大规模集成电路技术的发展以及半导体制造工艺的提高,人们逐渐产生了将大规模并行处理器中的SMP(对称多处理器)集成到同一芯片内,各个处理器并行执行不同的进程。SMP技术已经相当成熟,因此CMP结构设计起来比较容易,但是两个物理核心整合在同一块芯片之中,晶体管数量,芯片面积以及芯片发热量都是突出的问题,造成后端设计和芯片制造工艺的要求较高。正因为这些原因,SMP技术在流行了一段时间之后慢慢失去了发展的动力,厂商们纷纷转向另一种方案——SMT处理器的研发工作。

??多线程处理器对线程的调度与传统意义上由操作系统负责的线程调度是有区别的。它完全由处理器硬件负责线程间的切换。由于采用了大量的硬件支持,所以线程的切换效率更高。线程高效调度的目的就是要尽可能减少处理器处于闲置状态,通过有效的线程切换来获取处理器在相同工作时间内更高的工作效率。而SMT最具吸引力的是它只需小规模改变处理器核心的设计,几乎不用增加额外的成本就可以获得显著的效能提升。这对于桌面低端系统来说无疑十分具有吸引力。因为价格始终是桌面系统的关键因素之一,像高端平台那样去换取高性能显然是不合适的。因此,SMT比起CMP显然更适合于桌面市场。

??虽然Intel并不是多线程技术的主导力量,但多线程技术获得大众广泛关注却源于Intel。在其新一代基于奔腾4的Xeon处理器中,Intel使用了超线程(Hyperthreading)技术,而这一技术的核心就是同时多线程(SMT)。其实Intel一直都想将多线程技术逐步融入到自己的产品当中,在Itanium的EPIC核心身上,我们看到了ILP(Instruction-Level Parallelism)——指令级并行技术的身影。

??对于处理器的并行处理而言,将并行处理“贯彻”到指令级无疑是最好的选择,因为分得越