超线程技术——超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升,本质单核模拟双核!和异步编程的思想无异。

简介:
超线程Intel 所研发的一种 技术,于2002年发布。超线程的英文是HT技术,全名为 Hyper-Threading,中文又名超线程。 超线程技术原先只应用于Intel  Xeon 处理器中,当时称为Super-Threading。之后陆续应用在 Pentium 4中,将技术主流化。
 

基本简介

通过超线程技术,英特尔成为第一家实现在一个实体 处理器中,提供两个逻辑线程的公司。之后的 Pentium D纵使不 支持超线程技术,但就集成了两个实体核心,所以仍会见到两个逻辑线程。超线程的未来发展,是提升处理器的逻辑线程,英特尔有计划将8核心的处理器,加以配合 超线程技术,使之成为16个逻辑线程的产品。
英特尔表示, 超线程技术让(P4)处理器增加5%的裸晶面积,就可以换来15%~30%的效能提升。但实际上,在某些程序或未对多线程编译的程序而言,超线程反而会降低效能。除此之外,超线程技术亦要操作系统的配合,普通支持多处理器技术的系统亦未必能充分发挥该技术。例如 Windows 2000,英特尔并不鼓励使用者在此系统中利用超线程。原先不支持 多核心Windows XPHome Edition却 支持超线程技术

工作原理

尽管提高CPU的 时钟频率和增加缓存容量后的确可以改善性能,但这样的CPU性能提高在技术上存在较大的难度。实际上在应用中基于很多原因,CPU的执行单元都没有被充分使用。如果CPU不能正常读取数据(总线/内存的瓶颈),其执行单元利用率会明显下降。另外就是目前大
超线程芯片  超线程芯片
多数执行线程缺乏ILP(Instruction-Level Parallelism,指令级别并行)支持。这些都造成了目前CPU的性能没有得到全部的发挥。因此,Intel则采用另一个思路去提高CPU的性能, 让CPU可以同时执行多重线程,就能够让CPU发挥更大效率,即所谓“超线程( Hyper-Threading,简称“HT”)”技术。 超线程技术就是利用特殊的硬件指令,把一个物理内核模拟成两个逻辑内核,让单个 处理器都能使用线程级 并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的运行速度。
采用超线程即是可在同一时间里,应用程序可以使用芯片的不同部分。虽然 单线程芯片每秒钟能够处理成千上万条指令,但是在任一时刻只能够对一条线程进行操作。而超线程技术可以使芯片同时进行多线程处理,使芯片性能得到提升。
超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资 源,理论上要像两颗CPU一样在同一时间执行两个线程,P4处理器需要多加入一个Logical CPU Pointer(逻辑处理单元)。因此新一代的P4 HT的die的面积比以往的P4增大了5%。而其余部分如ALU(整数运算单元)、FPU(浮点运算单元)、L2 Cache(二级缓存)则保持不变,这些部分是被分享的。
虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每个CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。

 

技术优点

1. 超线程技术的优势在于同时进行多任务 批处理工作,尽管现在 支持超线程技术的软件不多,也只有少数的软件可以享受到由超线程技术带来的性能提升,但是这符合今后软件等技术的发展方向,今后更多的软件将受益于超线程技术。
2.从目前来看,部分客户可以发觉在运行某些特定软件时,超线程技术让系统有了30%的性能提升,为超线程技术优化的软件都能够享受到超线程技术的好处。
3.客户同时运行两个以上的软件时候,将可以明显的感受到这两个软件的性能都得到提升相比关闭超线程技术的情况下都有很大的提升,超线程技术的效率优势只有在多任务操作时候才能得到发挥。
4.目前 支持超线程技术的Windows XP操作系统,其中的很多系统软件都已经针对超线程技术优化过,因此在使用Windows 操作系统的时候可以很好的享受到超线程技术带来好处。

技术缺点

1.因为 超线程技术是对 多任务处理有优势,因此当运行 单线程运用软件时,超线程技术将会降低系统性能,尤其在多线程操作系统运行单线程软件时将容易出现此问题。



















本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6625778.html ,如需转载请自行联系原作者

相关文章
|
26天前
|
安全 Python
Python中的并发编程:多线程与多进程技术探究
本文将深入探讨Python中的并发编程技术,重点介绍多线程和多进程两种并发处理方式的原理、应用场景及优缺点,并结合实例分析如何在Python中实现并发编程,以提高程序的性能和效率。
|
1月前
|
Java 调度 Python
深入解析 Python asyncio 库:如何使用线程池实现高效异步编程
深入解析 Python asyncio 库:如何使用线程池实现高效异步编程
45 0
|
20天前
|
NoSQL 数据处理 调度
【Redis深度专题】「踩坑技术提升」探索Redis 6.0为何必须启用多线程以提升性能与效率
【Redis深度专题】「踩坑技术提升」探索Redis 6.0为何必须启用多线程以提升性能与效率
45 0
|
30天前
|
缓存 编译器 程序员
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
60 0
|
3月前
|
调度
多线程和异步编程:介绍 Operation 和 OperationQueue。
多线程和异步编程:介绍 Operation 和 OperationQueue。
15 0
|
3月前
|
安全
多线程和异步编程:什么是线程安全?如何确保在多线程环境下的数据安全性?
多线程和异步编程:什么是线程安全?如何确保在多线程环境下的数据安全性?
54 3
|
3月前
|
iOS开发
多线程和异步编程:解释 iOS 中的同步和异步任务的概念。
多线程和异步编程:解释 iOS 中的同步和异步任务的概念。
34 1
|
3月前
|
API 调度 iOS开发
多线程和异步编程:什么是 GCD(Grand Central Dispatch)?如何在 iOS 中使用 GCD?
多线程和异步编程:什么是 GCD(Grand Central Dispatch)?如何在 iOS 中使用 GCD?
28 1
|
4月前
|
设计模式 安全 Java
《Linux从练气到飞升》No.31 多线程编程实践与线程安全技术
《Linux从练气到飞升》No.31 多线程编程实践与线程安全技术
31 0

相关实验场景

更多