300 likes | 462 Views
计算机体系结构专题研究学习报告. 报告人:刘晓莉 2006 年 6 月 26 日. 超线程专题. 作者:刘晓莉 033355 张雪莲 033354. 研究背景. CPU 生产商为了提高 CPU 性能,通常做法是提高 CPU 的时钟频率和增加缓存容量 目前 CPU 的频率越来越快,若依然采用以上方法来提高性能,必定会受到制造工艺上的限制以及成本过高的制约. 研究背景(续一). 目前大多数执行线程缺乏 ILP ( Instruction-Level Parallelism ,多种指令同时执行)支持,使得 CPU 的性能没有得到全部的发挥
E N D
计算机体系结构专题研究学习报告 报告人:刘晓莉 2006年6月26日
超线程专题 作者:刘晓莉 033355 张雪莲 033354
研究背景 • CPU生产商为了提高CPU性能,通常做法是提高CPU的时钟频率和增加缓存容量 • 目前CPU的频率越来越快,若依然采用以上方法来提高性能,必定会受到制造工艺上的限制以及成本过高的制约
研究背景(续一) • 目前大多数执行线程缺乏ILP(Instruction-Level Parallelism,多种指令同时执行)支持,使得CPU的性能没有得到全部的发挥 • 提高CPU性能的另一种途径——提高并行性 • Intel公司采用第二种途径
研究背景(续二) • 2002年初,Intel公司在为服务器领域提供的Xeon处理器中应用了超线程技术 • 其后,Intel公司在频率为3.06GHz或更高的奔腾四处理器中应用了超线程技术 • 超线程技术进入PC机领域
研究背景(续三) • WINDOWS 2000系列、WINDOWS XP以及较新版本的LINUX操作系统都能很好的支持超线程技术 • OFFICE 2000/XP、MAYA等多种软件均支持超线程技术
什么是超线程技术?——概念 • 通过在硬件上的微小改变 ——增加独立的一套指令指针、寄存器别名 表、返回栈指针、高级编程中断控制器 等一些硬件投入 • 利用特殊的硬件指令 • 从软件和操作系统的角度来看,单处理器CPU表现为两个或更多的逻辑CPU ——逻辑CPU间采用共享的Cache、总线等重要 资源,从而能保持较低的成本增加
什么是超线程技术?——概念(续) • 单处理器能使用线程级并行计算 • 兼容多线程操作系统和软件 • 减少了CPU的闲置时间,提高了CPU的运行效率
超线程如何工作?(续一) • 两个逻辑处理器都处于空闲等待状态,等待请求执行的线程; • 第一个线程到来,第一个逻辑处理器接受并跟踪执行此线程; • 第二个线程到来,CPU立即组织空闲的处理单元,第二个逻辑处理器利用这些单元在执行第一个线程的同时接受第二个线程并执行; • 当两个线程同时需要某一个共享资源(如加法器、总线等)时,通过一定的调度方式让其中一个逻辑处理器先使用此资源,而另一个逻辑处理器等待到资源可用为止。
超线程技术如何工作?(续二) 就这样,CPU总是能使用不同部分同时执行两个线程,只有两个逻辑处理器产生资源冲突时,两个正在执行的线程才感知“别人”的存在,而其它时间他们就犹如独占CPU一样顺利执行。这使得CPU得到充分的利用,从而达到了提高系统性能的目的
超线程技术的优点 • 由于线程级并行的实现,它能通过两种方式改进系统性能: ※每个逻辑CPU运行同一应用程序的不同线程,从而加速原本是多线程的应用程序的速度; ※每个逻辑CPU运行不同应用程序的线程,在这种方式下它能增加包含多个应用的多任务系统的工作量。
超线程技术的优点(续一) • 超线程技术的优点还在于,它通过添加少数的硬件以及软件支持的“小付出”做到了提高CPU的使用率、提高系统性能的“大回报” • 有数据表明,超线程技术的使用利用5%的硬件投入使系统性能提高了25%!
超线程技术的优点(续二) • 超线程技术在Web服务、SQL数据库等很多服务器领域的应用中表现优异; • 主流的桌面芯片组基本都已可以支持超线程技术,用户无需额外的花费; • WindowsXP已经针对超线程技术做出优化,在运行多个不支持多线程的程序时,性能也可能会获得提高。即便带来损失,也会显得比较轻微; • 在某些支持多线程的软件应用上能够得到30%左右的性能提升,如3dsmax、Maya、Office、Photoshop等。Intel甚至在一项测试中取得了90%的提高。
超线程技术的不足 • 超线程技术主要有以下两个缺点: ※单任务模式下逻辑处理器的闲置会造成资源浪费 ※解决两个逻辑处理器资源冲突时会产生延迟,冲突大量出现时会降低系统性能
超线程技术的不足(续一) • 当运行单线程应用软件时,超线程技术甚至会降低系统性能,尤其在多线程操作系统运行单线程软件时容易出现此问题 • 下面通过对英特尔P4 超线程技术的分析来讨论
超线程技术的不足(续二) • 英特尔P4 超线程技术有两个运行模式,Single Task Mode(单任务模式)及Multi Task Mode(多任务模式) • 当程序不支持Multi-Processing(多处理器作业)时,系统会停止其中一个逻辑CPU的运行 • 此时资源集中于单个逻辑CPU中,使单线程程序不会因其中一个逻辑CPU闲置而减低性能 • 然而,被停止运行的逻辑CPU还是会等待工作,占用一定的资源 因此具有超线程功能的CPU运行Single Task Mode程序模式时,有可能达不到不带超线程功能的CPU性能,虽然性能差距不会太大
超线程技术的不足(续三) 超线程技术还有一个由资源冲突引起的不可避免的缺陷 • 超线程技术并不像两个真正的CPU那样,各CPU都具有独立的资源 • 如果两个线程都同时需要某一个资源时就会出现资源冲突 • 解决冲突时会出现延迟或需要重新开始执行某个程序;尤其当冲突大量出现时,性能就会降低,甚至会比没有超线程技术时更差!
超线程技术与双核心技术的区别 • 很多普通用户可能分不清楚超线程技术与双核心技术。例如,开启了超线程技术的Pentium 4 530与Pentium D 530在操作系统中都同样被识别为两颗处理器 • 它们究竟是不是一样的呢?这个问题确实具有迷惑性
超线程技术与双核心技术的区别(续一) 从最简单的方面讲: • 双核心技术可以理解为两个“物理”处理器,是一种“硬”的方式 • 超线程技术只是两个“逻辑”处理器,是一种“软”的方式
超线程技术与双核心技术的区别(续二) 从实质上说,超线程技术和双核心技术是提高系统并行性的两种典型应用 • 超线程技术采用资源共享方法 • 双核心技术采用资源重复方法
超线程技术和双核心技术的区别(续三) • 从原理上来说,超线程技术属于Intel版本的多线程技术 • 超线程技术中的两个逻辑处理器没有独立的执行单元、整数单元、寄存器甚至缓存等资源。它们在运行过程中仍需要共用执行单元、缓存和系统总线接口 • 在执行多线程时,两个逻辑处理器交替工作 • 如果两个线程都同时需要某一个资源时,其中一个要暂停并要让出资源,要待那些资源闲置时才能继续 因此,超线程技术所带来的性能提升远不能等同于两个相同时钟频率处理器带来的性能提升。可以说Intel的超线程技术仅可以看做是对单个处理器运算资源的优化利用。
超线程技术和双核心技术的区别(续四) • 双核心技术是通过“硬”的物理核心实现多线程工作 • 每个核心拥有独立的指令集、执行单元,与超线程中所采用的模拟共享机制完全不一样 • 在操作系统看来,它是实实在在的双处理器,可以同时执行多项任务,能让处理器资源真正实现并行处理模式,其效率和性能提升要比超线程技术要高得多,不可同日而语 因此超线程技术是通过少量的硬件增加,实现大量资源共享,从而得到系统性能的提高。而双核心技术则是运用资源重复的原理在系统中设置两个处理器,来达到对系统性能的大幅度提高。
超线程技术的应用 • 对于PC而言,超线程技术无疑是一项革命性的技术,它将为个人电脑用户带来全新的体验 • 英特尔公司副总裁兼台式机平台事业部总经理Louis Burns先生说:“多任务应用在目前的生活和工作中随处可见,人们自然希望个人电脑也能够以同样的多任务方式运行。超线程技术是一项突破性的计算创新,它可以帮助家庭和商业用户在更短的时间里完成更多的工作。”
超线程技术的应用(续) • 已经出现四年之久的超线程技术现在已经在计算机领域得到了广泛的应用。尤其是在PC机领域,大有主导市场的趋势 • 然而,各种指责也是伴随着超线程技术一路走来。业内某些技术专家曾经指出,使用了超线程技术处理器的服务器性能出现了许多问题,例如SQL Server服务器和Citrix终端服务器环境下,启用了英特尔超线程技术的主板在大负荷运行状态下表现出性能的显著降低。 他们同时指出,如果禁用超线程技术,性能立即就会恢复到预期的水平。 甚至还有一些人曾经指出Intel超线程技术存在漏洞,会使Linux/Unix容易被黑客攻击!
超线程技术的发展方向 • 经过了四年的时间考验,随着相关软硬件的发展成熟、系统的完善,可以说超线程技术也已经充分地体现出了它的能力和价值 • 在迅速发展的计算机领域中,它能否笑到最后?
超线程技术的发展方向(续一) • 超线程技术原本的目的在于,通过资源共享提高对计算机的单个处理器的利用率 • 随着处理器制造工艺的发展,使得一台计算机拥有多个处理器的梦想成为可能 • Intel首席技术官Justin Rattner在今年三月份表示,鉴于多核心处理器时代即将到来,Intel原有的超线程技术即将走到末路
超线程技术的发展方向(续二) • 新兴的多核处理技术必将取代超线程技术 • 然而,超线程技术所使用的资源共享的思想却永远不会过时,因为不管什么时候,都会有一些部件的价格太高而需要各种方式的共享来获取合理的性能价格比例
超线程技术的发展方向(续三) 另一种声音 ——多核处理器,超线程技术的真正战场 • 未来处理器将进入多核心时代 • 核心内的资源是独立的 • 在多核技术的基础上采用超线程技术,从而不必共享ALU及Cache等资源,解决了资源冲突的问题 • 超线程技术的性能得到全部发挥
报告结束 谢谢