您的位置  > 互联网

超线程技术实现的必要条件

超线程技术允许一个CPU同时执行多个程序并共享CPU内部的资源。 理论上,要像两个CPU一样同时执行两个线程,P4处理器需要再增加一个CPU(逻辑处理)。 单元)。 因此,新一代P4 HT的die面积比之前的P4大5%。 其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)保持不变,这些部分是共享的。

超线程技术虽然可以同时执行两个线程,但它并不像两个真正的CPU,每个CPU都有独立的资源。 当两个线程同时需要资源时,必须暂时停止其中一个线程并放弃资源,直到这些资源空闲后才能继续。 因此,超线程的性能并不等于两个CPU的性能。

超线程和性能改进

一般很多人都认为使用超线程技术可以大幅度提升系统性能,但事实真的是这样吗? 不要忘记我们前面提到的超线程技术实现的必要条件。 这就是超线程技术可以发挥作用的地方。 先决条件。 除了操作系统的支持之外,软件的支持也是必要的。 从这一点我们可以看出,就目前的软件现状而言,支持双处理器技术的软件仍然屈指可数。 对于大多数软件来说,目前由于设计原理的不同,无法从超线程技术中获得直接的好处。 因为超线程技术是在线程级别并行处理命令,并根据线程动态分配处理器等资源。 这项技术的核心概念是“并行度()”,意味着提高命令执行的并行度,提高每个时钟的效率。 这就需要软件在设计上进行线程化,以提高并行处理能力。 目前PC上的应用程序几乎没有相应的优化,而超线程技术的使用也没有未能实现性能的显着提升。

HT技术出现的必然性

需要提高CPU性能

虽然提高CPU时钟频率、增加缓存容量确实可以提升CPU性能,但这种CPU性能的提升在技术上是有难度的。 事实上,由于应用中的诸多原因,CPU的执行单元并没有得到充分利用。 如果CPU无法正常读取数据(总线/内存瓶颈),其执行单元利用率将大幅下降。 另外,目前大多数执行线程都缺乏ILP(-Level,多条指令同时执行)支持。 所有这些都导致了当前CPU性能没有得到充分利用。 因此,Intel采用了另一种思路来提高CPU的性能,让CPU同时执行多个线程,从而让CPU获得更大的效率,这就是所谓的“超线程(Hyper-,简称称为“HT”)”技术。 超线程技术利用特殊的硬件指令将两个逻辑核心模拟成两个物理芯片,允许单个处理器使用线程级并行计算,使其兼容多线程操作系统和软件,并减少CPU空闲时间。 提高了CPU运行效率。

通过超线程,应用程序可以同时使用芯片的不同部分。 虽然单线程芯片每秒可以处理数千条指令,但任何时候只能操作一条指令。 超线程技术可以让芯片同时进行多线程处理,提高芯片性能。

超线程技术

Intel P4超线程有两种工作模式,Task Mode(单任务模式)和Multi Task Mode(多任务模式)。 当程序不支持Multi-(多处理器操作)时,系统将停止其中一个逻辑CPU的操作。 ,将资源集中在单个逻辑CPU上,这样单线程程序的性能就不会因为其中一个逻辑CPU空闲而降低。 但由于停止的逻辑CPU仍会等待工作并占用一定的资源,Hyper-CPU运行Task Mode程序模式,可能达不到不带超线程功能的CPU性能,但性能差距不会太大太大。 也就是说,在运行单线程应用软件时,超线程技术甚至可能会降低系统性能。 当多线程操作系统运行单线程软件时,特别容易出现此问题。

应该注意的是,包含超线程技术的 CPU 需要芯片组和软件支持才能理想地利用该技术。 操作系统如:XP、2003以及之后的2.4.x版本也支持超线程技术。