多核技术概述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多核技术进展
辅导教师
学生姓名
学号
院系计算机科学与技术
【摘要】本文以多核技术的发展简史为线索,简略的描述分析了日前多核技术的概念、与相似技术的比较、多核技术未来的发展前景和将面临的挑战。
【关键词】多核技术超线程
【正文】
众所周知,评价计算机性能好坏最重要的两个指标即是CPU主频和RAM大小,两者相辅相成。然而,RAM的大小早已可随意增减,但CPU的主频却往往填不满RAM 的“胃口”,在对计算机似乎永无止境的“提速”研发中,结构已经精密得不能再精密的CPU其主频速率能否有飞跃性的提升,无疑成为了继续提高计算机性能的一个研究瓶颈。Microsoft公司主管Carlson指出,CPU核心主频在未来的几年中很难有大幅的增长,而多核技术是唯一可以提升性能的方法。
2005年4月,英特尔的第一款双核处理器平台诞生了,此款处理器平台包括采用英特尔955X 高速芯片组、主频为3.2 GHz 的两枚英特尔奔腾处理器至尊版840,该产品的问世标志着一个新时代来临了。5月,带有两个处理内核的英特尔奔腾D处理器随英特尔945高速芯片组家族一同推出,从此,我们熟知的计算机体系结构在不知不觉中发生了变化——由单处理器系统逐步发展成为了多处理器系统,乃至多核系统。
从2006年开始,消费者和市场都将焦点目光放在了“双核”“多核”上,“双核”逐渐成为市场的主流,曾经风光无限的“奔腾”系列产品也将逐渐退出历史的舞台。到07年底,40%的英特尔台式CPU、70%的笔记本电脑CPU和85%的服务器CPU都已向多内核设计发展。酷睿,酷睿2,奔腾双核,AMD三核速龙,最新的词汇更是几乎同时来自于Intel和AMD公司的四核处理器,但如果你关注高端服务器,就不能不提到Sun的产品,在2008年8月6日发布的八核心64线程Niagara 2处理器,也就是UltraSparc T2即将揭开面纱。2009年移动通信世界大会上,重量级手机芯片厂商ARM已展示了一款代号为Sparrow的Cortex A9多核处理器,据称其性能“至少相当于目前iPhone 和T-Mobile G1手机上所采用的ARM11处理器的三倍计算性能”。
世界正在走入一个“双核”“多核”的时代,那么,多核究竟是什么呢?
<一>多核,多核技术
多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核),多核处理器是单枚芯片(也称为“硅核”),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为分立的逻辑处理器。通过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。
多核技术能够使服务器并行处理任务,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核架构能够使目前的软件更出色地运行,并创建一个促进未来的软件编写更趋完善的架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,随着向多核处理器的移植,现有软件无需被修改就可支持多核平台。
操作系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员需要在程序设计中融入更多思路,但设计流程与目前对称多处理(SMP) 系统的设计流程相同,并且现有的单线程应用也将继续运行。得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性,此类软件包括多媒体应用(内容创建、编辑,以及本地和数据流回放)、工程和其他技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应用。
<二>多核技术与超线程技术的区别
多核处理器即是基于单个半导体的一个处理器上拥有两个乃至多个一样功能的处理器核心。换句话说,将两个物理处理器核心整合入一个核中。因而能够增进性能而不用提高实际硬件覆盖区的方法。
多核处理器主要具有以下几个显著的优点:
控制逻辑简单:相对超标量微处理器结构和超长指令字结构而言,单芯片多处理器结构的控制逻辑复杂性要明显低很多。相应的单芯片多处理器的硬件实现必然要简单得多。
高主频:由于单芯片多处理器结构的控制逻辑相对简单,包含极少的全局信号,因此线延迟对其影响比较小,因此,在同等工艺条件下,单芯片多处理器的硬件实现要获得比超标量微处理器和超长指令字微处理器更高的工作频率。
低通信延迟:由于多个处理器集成在一块芯片上,且采用共享Cache或者内存的方式,多线程的通信延迟会明显降低,这样也对存储系统提出了更高的要求。
低功耗:通过动态调节电压/频率、负载优化分布等,可有效降低CMP功耗。
设计和验证周期短:微处理器厂商一般采用现有的成熟单核处理器作为处理器核心,从而可缩短设计和验证周期,节省研发成本。
超线程技术,即Hyper-Threading的做法是复制一颗处理器的架构指挥中心(architectural state)变成两个,使得Windows(或其他)操作系统认为是在与两颗处理器沟通,但这两个架构指挥中心共享该处理器的工作资源(execution resources)。架构指挥中心追踪每个程序或执行绪的执行状况;工作资源指的则是“处理器用来进行加、乘、加载等工作的单元(execution unit)”。如此一来,操作系统把工作线程安排好以后,就分派给这两个逻辑上的处理器执行,而这颗CPU的每个执行单元等于在同样的时间内要服务两个“指令处理中心”,当然它的效率就高多了,操作系统就把一颗实体的处理器认定为两个逻辑处理器作工作指派,当然整体工作效能就比没有具备Hyper-Threading 的处理器高出许多,性价比自然高出许多。但除了硬件支持之外,超线程技术的实现还需要软件的支持才能够发挥出应有的威力。首先是操作系统的支持,我们必须使用支持双处理器的操作系统,如Win2000等才能完全发挥出超线程技术的性能。至于软件方面,目前很多专业的应用程序对于双处理器都提供了支持,如著名的图形处理软件3Dmax、Maya等。
采用超线程技术在条件符合的情况下能使得系统效能大幅提升,但就目前的现状来说,支持双处理器技术的软件毕竟还在少数。因为超线程技术是在线程级别上并行处理命令,按线程动态分配处理器等资源。该技术的核心理念是“并行度(Parallelism)”,也就是提高命令执行的并行度、提高每个时钟的效率。这就需要软件在设计上线程化,提高并行处理的能力。而目前PC上的应用程序几乎没有为此作出相应的优化,采用超线程技术并没不能获得效能的大幅提升。
而操作系统在这个方面则没有太大的问题,毕竟Windows的某些版本、Linux都是支持多处理器的操作系统。并且随着Intel支持超线程技术的处理器面世之后,凭借Intel处理器的号召力,必然会引起目前应用程序设计上的改变,必然会有更多的支持并行线程处理的软件面世,届时,当然是支持超线程处理器大显身手的时候了。那时候,普通用户才能够从超线程技术中得到最直接的好处。
<三>多核技术的应用前景
随着操作系统及应用软件对多核处理器的进一步支持及优化、芯片制造工艺的成熟、AMD及Intel为代表的低功耗技术的发展、芯片级虚拟化技术的成熟等诸多因素,将推动服务器处理器多核化趋势的进一步彰显。多核技术将成为服务器技术的重要技术支点,更多的多核服务器处理器将陆续登场,包括Intel和安腾、AMD的4核Opteron、Sun的UltraSPARC和Negara八核T1芯片、IBM 的Cell BE芯片和Power5多核、HP的PA-RISC多核、使得整个市场充斥着各种多核的技术。此外,国内的龙芯3也是专门面向服务器系统的CPU,目前也在进行多核的研发,国内厂商曙光将在其新品中搭栽龙芯多核处理器。
应用需求的不断提高是计算机发展的根本动力。如目前的服务器应用,要求高的吞吐率和在多处理器上的多线程应用;Internet的应用、P2P和普适计算的应用都促使了计算机性能的不断提升,多核技术已经成为服务器技术的重要技术支点。大型企业的ERP、CRM等复杂应用,科学计算、政府的大型数据库管理系统、数字医疗领域、电信、金融等都需要高性能计算,多核技术可以满足这些应用的需求。