Linux对超线程技术支持

字体: | 打印

超线程技术(Hyperthreading Technology)是Intel公司的创新设计。HT技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,从而兼容多线程操作系统和软件,并提高处理器的性能。

操作系统或应用软件的多线程可以同时运行于一个处理器上,两个逻辑处理器共享一组处理器执行单元,并行完成加、乘、负载等操作。在同一时间里,应用程序可以使用芯片的不同部分。虽然单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条指令进行操作。

而HT技术可以使芯片同时进行多线程处理,当在支持多处理器的Windows XP或Linux等操作系统之下运行时,同时运行多个不同的软件程序可以获得更高的运行效率。这两种方式都可使计算机用户获得更优异的性能和更短的等待时间。
Linux是第一个把超线程特性引入市场的操作系统,它在发布2.4.17内核时,就开始包含对Intel P4处理器的超线程的支持(Linux 2.4内核最初的发布版本中不支持),它包括以下增强技术:

◆128字节锁对齐。

◆螺旋等待循环优化。

◆基于非执行的延迟循环 。

◆检测支持超线程的处理器,并启动逻辑处理器,如同该机器是SMP(多处理器构架)。

◆MTRR和微码更新(Microcode Update)驱动程序中的串行化,因为它们影响共享状态。

◆在逻辑处理器调度发生之前,当系统空闲时对物理处理器上的调度进行优先级排序时,对调度程序进行优化。

◆偏移用户堆栈以避免64K混叠。