超线程如何使用

来源:百度知道 编辑:UC知道 时间:2024/06/15 00:48:39

一、线程的定义

程序是一组编译代码,可以执行相关的数据计算与操作,这些代码由一条条的指令组成,每一个代码组就是一条线程。在电脑中,无论做任何操作,都需要动用到线程,即使按一按键盘,电脑响应输入信号,也有相关的指令在运行。

现有主流电脑使用x86架构,每次只能执行一条线程,即单线程系统。单芯片计算环境中,在执行指令的时候,CPU先找出相应指令所在的内存位置,执行下一条指令,再转换到另一个位置,在同一时间内CPU只能对应一个指令。线程可以中断,并把中间结果暂存在另一个特殊位置(堆栈),不同的线程可以交叉运行,实现多任务,但每次运行的线程仍然仅有一条,千万不要把多任务和多线程混淆了。

既然一个CPU是多线程,那么两个CPU自然就可以双线程啦,如此类推,就会出现四路、八路系统。多CPU系统有利也有弊,利处是整体性能提升,弊处也有很多:

一,价格昂贵,无论是CPU还是主板,都必须是特殊的产品,很难用普通销售的单CPU组成多处理器系统,必须购买专用的MP类型芯片;

二、资源共享,多个处理器抢占总线带宽,普通的主板带宽无法应付,必须用带宽增加的主板。某些产品甚至共享CPU的总线,对处理器的速度造成很大影响;

三、支持较少,一般的操作系统和应用软件按照单线程来设计,多线程系统需要专门的版本。总总限制,压抑了多处理器的速度提升幅度,双处理器系统的性能并不能达到单处理器的两倍,通常只有33%的性能增益。很明显,单物理CPU的工作效率低下,在多处理器中表现更明显。为了提高多处理器的性能,必须先从单处理器做起。

超线程是一种特殊的多线程技术,它可以充分利用CPU的效率,发挥单个物理CPU的潜力。它不是代替多处理器,而是为了让多处理器的实力发挥得更加完美。

二、CPU工作效率 CPU由许多部分组成,新型芯片通常有多个执行单元,这些执行单元无法同时工作,大多数时间有一半执行单元是空闲状态。Office等商业软件使用整数运算和读写/存储单元,不涉及浮点运算单元,3D渲染软件使用浮点运算单元,不涉及整数运算单元,很明显,此种设计做成很大的浪费。如奔腾四有7个执行单元,每个时钟周期内,约有