|
发表于 2004-7-21 15:52:32
|
显示全部楼层
[php]超线程技术指一个物理处理器能够同时执行两个独立的代码流(称为线程)。从体系结构上讲,一个具有超线程技术的IA-32处理器包含两个逻辑处理器,其中每个逻辑处理器都有自己的IA-32架构中心。在加电初始化后,每个逻辑处理器都可单独被停止、中断或安排执行某一特定线程,而不会影响芯片上另一逻辑处理器的性能。与传统双路(DP)配置不同(使用两个独立的物理IA-32处理器,如两个英特尔至强处理器),在具有超线程技术的处理器中,两个逻辑处理器共享处理器内核的执行资源,其中包括执行引擎、高速缓存、系统总线接口和固件等。这种配置可使每个逻辑处理器都执行一个线程,来自两个线程的指令被同时发送到处理器内核来执行,处理器内核并发执行这两个线程,使用乱序指令调度以求在每个时钟周期内使尽可能多的执行单元投入运行。
事实证明,应用超线程技术的处理器具有更高的指令吞吐量,可以大幅度提升处理器的资源利用率。这主要得益于两个方面的因素:英特尔NetBurst微架构设计;多线程代码中经常含有的IA-32指令混合。
传统处理器一般被设计用于执行单指令流(执行一个线程),但是在每个时钟周期内通常(即便使用高度优化代码)都不会使用所有可用的执行单元,这样造成处理器执行资源的大量空闲。处理器性能越强大,这种资源空闲越严重,一般说来,当执行含有典型IA-32指令混合的代码时,英特尔NetBurst微架构仅会用到35%的执行资源。为了更有效地使用这些执行资源,超线程技术利用了多线程代码固有的并行性,为处理器内核提供第二个执行线程。这两个线程为指令调度程序提供了一组彼此没有多少关联性的指令,从而有更多机会使用处理器内核的可用执行资源。
目前,英特尔已经将该技术成功应用于至强处理器和最新发布的3.06GHz奔腾4处理器上,含超线程技术的IA-32处理器对软件来说是两个独立的IA-32处理器,类似于传统DP平台的两个物理处理器。传统DP或MP系统设计的操作系统和应用软件无需任何修改,即可在采用了一个或多个含有超线程技术的IA-32处理器的平台上运行。[
[/php] |
|