- 37.50 KB
- 2022-08-30 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
专题课计算机新技术——多核处理器计算机科学与技术***指导教师***摘要:多核技术的开发源于工程师们认识到,仅仅提高单核芯片的速度会产生过多热量且无法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即便是没有热量问题,其性价比也令人难以接受,速度稍快的处理器价格要高很多。因此,多核成为处理器发展的必然趋势。最重要的飞跃之一就是“多核”处理器概念的引入,小小的一块芯片上有两个或更多的处理器(或称作“核”)。关键词:单核;多核;多核处理器;众核处理器;NewComputerTechnology—multi-coreprocessorStudentmajoringincomputerscienceandtechnology**Tutor**Abstract:So, multi-core willbetheinevitabletrendoftheprocessordevelopment.One ofthe most important leaps has been the introduction of “multi-core”processors, tiny chips with two or more processors, or “cores”, on them.Thedevelopmentofnucleartechnologyfromtheengineersrealizedthatonlyimprovethespeedofmononuclearchipproducestoomuchheatandcan'tbringthecorrespondingperformanceimprovement,thepreviousprocessorproductsissuch.Theyrealizethatinthepreviousproductatthatrate,heatgeneratedbytheprocessorwillsoonthanthesun.Evenifthereisnoheatproblem,thepriceisunacceptable,speedfasterprocessorpricemuchhigher.Keywords:Mononuclear;multi-core;multi-coreprocessor;Many-coreProcessor在计算机专题课上了解到了多核技术,使我对多核技术有了更大的兴趣,所以选择多核技术来写一篇自己的认识。一、多核技术定义:多核技术就是把多个处理器集成在一个芯片内,是对称多处理系统的延伸,设计的主要思想是通过简化超标量结构设计,将多个相对简单的超标量处理器核集成到一个芯片上,从而避免线延的影响,并充分开发线程级并行性,提高吞吐量。多核处理器定义:多核处理器,指的是在一个芯片内含有多个处理核心而构成的处理器。所谓“核心”,通常指包含指令部件、算术/逻辑部件、寄存器堆和一级或者二级缓存的处理单元。在芯片上,多个核心通过某种方式互联起来,使它们能够交换数据,从而可以对外表现为一个统一的多核处理器。多核处理器能通过划分任务,分配给多个内核并行执行线程,可以在相同的时间内完成更多的任务,从而大大提高了处理速度。目前的研究认为,多核处理器相比相同工艺、相同面积的单核处理器具有如下优势:4\n1、逻辑简单:相对超标量微处理器结构和超长指令字结构而言,单芯片多处理器结构的控制逻辑复杂性要明显低很多。相应的单芯片多处理器的硬件实现必然要简单得多。2、高主频:芯片多处理器结构的控制逻辑相对简单,包含极少的全局信号,因此线延迟对其影响比较小,因此,在同等工艺条件下,单芯片多处理器的硬件实现要获得比超标量微处理器和超长指令字微处理器更高的工作频率。3、低通信延迟:由于多个处理器集成在一块芯片上,且采用共享Cache或者内存的方式,多线程的通信延迟会明显降低,这样也对存储系统提出了更高的要求。4、低功耗:调节电压/频率、负载优化分布等,可有效降低CMP功耗。5、设计和验证周期短:微处理器厂商一般采用现有的成熟单核处理器作为处理器核心,从而可缩短设计和验证周期,节省研发成本。二、九大关键技术的挑战虽然多核能利用集成度提高带来了以上诸多好处,让芯片的性能成倍地增加,但很明显的是原来系统级的一些问题便引入到了处理器内部,多核处理器面临着九大关键技术的挑战。1、核结构研究:同构还是异构CMP的构成分成同构和异构两类,同构是指内部核的结构是相同的,而异构是指内部的核结构是不同的。为此,面对不同的应用研究核结构的实现对未来微处理器的性能至关重要。核本身的结构,关系到整个芯片的面积、功耗和性能。怎样继承和发展传统处理器的成果,直接影响多核的性能和实现周期。同时,根据Amdahl定理,程序的加速比决定于串行部分的性能,所以,从理论上来看似乎异构微处理器的结构具有更好的性能。核所用的指令系统对系统的实现也是很重要的,采用多核之间采用相同的指令系统还是不同的指令系统,能否运行操作系统等,也将是研究的内容之一。2、程序执行模型处理器设计的首要问题是选择程序执行模型。程序执行模型的适用性决定多核处理器能否以最低的代价提供最高的性能。程序执行模型是编译器设计人员与系统实现人员之间的接口。编译器设计人员决定如何将一种高级语言程序按一种程序执行模型转换成一种目标机器语言程序;系统实现人员则决定该程序执行模型在具体目标机器上的有效实现。当目标机器是多核体系结构时,产生的问题是:多核体系结构如何支持重要的程序执行模型?是否有其他的程序执行模型更适于多核的体系结构?这些程序执行模型能多大程度上满足应用的需要并为用户所接受?3、Cache设计:多级Cache设计与一致性问题处理器和主存间的速度差距对CMP来说是个突出的矛盾,因此必须使用多级Cache来缓解。目前有共享一级Cache的CMP、共享二级Cache的CMP以及共享主存的CMP。通常,CMP采用共享二级Cache的CMP结构,即每个处理器核心拥有私有的一级Cache,且所有处理器核心共享二级Cache。Cache自身的体系结构设计也直接关系到系统整体性能。但是在CMP结构中,共享Cache或独有Cache孰优孰劣、需不需要在一块芯片上建立多级Cache,以及建立几级Cache等等,由于对整个芯片的尺寸、功耗、布局、性能以及运行效率等都有很大的影响,因而这些都是需要认真研究和探讨的问题。另一方面,多级Cache又引发一致性问题。采用何种Cache一致性模型和机制都将对CMP整体性能产生重要影响。在传统多处理器系统结构中广泛采用的Cache一致性模型有:4\n顺序一致性模型、弱一致性模型、释放一致性模型等。与之相关的Cache一致性机制主要有总线的侦听协议和基于目录的目录协议。目前的CMP系统大多采用基于总线的侦听协议。4、核间通信技术CMP处理器的各CPU核心执行的程序之间有时需要进行数据共享与同步,因此其硬件结构必须支持核间通信。高效的通信机制是CMP处理器高性能的重要保障,目前比较主流的片上高效通信机制有两种,一种是基于总线共享的Cache结构,一种是基于片上的互连结构。总线共享Cache结构是指每个CPU内核拥有共享的二级或三级Cache,用于保存比较常用的数据,并通过连接核心的总线进行通信。这种系统的优点是结构简单,通信速度高,缺点是基于总线的结构可扩展性较差。基于片上互连的结构是指每个CPU核心具有独立的处理单元和Cache,各个CPU核心通过交叉开关或片上网络等方式连接在一起。各个CPU核心间通过消息通信。这种结构的优点是可扩展性好,数据带宽有保证;缺点是硬件结构复杂,且软件改动较大。也许这两者的竞争结果不是互相取代而是互相合作,例如在全局范围采用片上网络而局部采用总线方式,来达到性能与复杂性的平衡。5、总线设计传统微处理器中,Cache不命中或访存事件都会对CPU的执行效率产生负面影响,而总线接口单元(BIU)的工作效率会决定此影响的程度。当多个CPU核心同时要求访问内存或多个CPU核心内私有Cache同时出现Cache不命中事件时,BIU对这多个访问请求的仲裁机制以及对外存储访问的转换机制的效率决定了CMP系统的整体性能。因此寻找高效的多端口总线接口单元(BIU)结构,将多核心对主存的单字访问转为更为高效的猝发(burst)访问;同时寻找对CMP处理器整体效率最佳的一次Burst访问字的数量模型以及高效多端口BIU访问的仲裁机制将是CMP处理器研究的重要内容。6、操作系统设计:任务调度、中断处理、同步互斥对于多核CPU,优化操作系统任务调度算法是保证效率的关键。一般任务调度算法有全局队列调度和局部队列调度。前者是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开始在此核心上执行。这种方法的优点是CPU核心利用率较高。后者是指操作系统为每个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个CPU核心间切换,有利于提高CPU核心局部Cache命中率。目前多数多核CPU操作系统采用的是基于全局队列的任务调度算法。多核的中断处理和单核有很大不同。多核的各处理器之间需要通过中断方式进行通信,所以多个处理器之间的本地中断控制器和负责仲裁各核之间中断分配的全局中断控制器也需要封装在芯片内部。另外,多核CPU是一个多任务系统。由于不同任务会竞争共享资源,因此需要系统提供同步与互斥机制。而传统的用于单核的解决机制并不能满足多核,需要利用硬件提供的“读-修改-写”的原子操作或其他同步互斥机制来保证。7、低功耗设计4\n半导体工艺的迅速发展使微处理器的集成度越来越高,同时处理器表面温度也变得越来越高并呈指数级增长,每三年处理器的功耗密度就能翻一番。目前,低功耗和热优化设计已经成为微处理器研究中的核心问题。CMP的多核心结构决定了其相关的功耗研究是一个至关重要的课题。低功耗设计是一个多层次问题,需要同时在操作系统级、算法级、结构级、电路级等多个层次上进行研究。每个层次的低功耗设计方法实现的效果不同——抽象层次越高,功耗和温度降低的效果越明显。8、存储器墙为了使芯片内核充分地工作,最起码的要求是芯片能提供与芯片性能相匹配的存储器带宽,虽然内部Cache的容量能解决一些问题,但随着性能的进一步提高,必须有其他一些手段来提高存储器接口的带宽,如增加单个管脚带宽的DDR、DDR2、QDR、XDR等。同样,系统也必须有能提供高带宽的存储器。所以,芯片对封装的要求也越来越高,虽然封装的管脚数每年以20%的数目提升,但还不能完全解决问题,而且还带来了成本提高的问题,为此,怎样提供一个高带宽,低延迟的接口带宽,是必须解决的一个重要问题。9、可靠性及安全性设计随着技术革新的发展,处理器的应用渗透到现代社会的各个层面,但是在安全性方面却存在着很大的隐患。一方面,处理器结构自身的可靠性低下,由于超微细化与时钟设计的高速化、低电源电压化,设计上的安全系数越来越难以保证,故障的发生率逐渐走高。另一方面,来自第三方的恶意攻击越来越多,手段越来越先进,已成为具有普遍性的社会问题。现在,可靠性与安全性的提高在计算机体系结构研究领域备受注目。三、未来的发展多核的出现是技术发展和应用需求的必然产物。多核通过在一个芯片上集成多个简单的处理器核充分利用这些晶体管资源,发挥其最大的能效。由于CMP(单芯片多处理器)的分布式结构中全局信号较少,与集中式结构的超标量处理器结构相比,在克服线延迟影响方面更具优势,使门延迟逐渐缩短,而全局连线延迟却不断加长。此外多核处理器里单个核的速度较慢,处理器消耗较少的能量,产生较少的热量。同时,原来单核处理器里增加的晶体管可用于增加多核处理器的核。在满足性能要求的基础上,多核处理器通过关闭(或降频)一些处理器等低功耗技术,可以有效地降低能耗。随着处理器结构复杂性的不断提高,和人力成本的不断攀升,设计成本随时间呈线性甚至超线性的增长。多核处理器通过处理器IP等的复用,可以极大降低设计的成本。同时模块的验证成本也显著下降。随着操作系统及应用软件对多核处理器的进一步支持及优化、芯片制造工艺的成熟、AMD及Intel为代表的低功耗技术的发展、芯片级虚拟化技术的成熟等诸多因素,将推动服务器处理器多核化趋势的进一步彰显,多核技术将成为服务器技术的重要技术支点。应用需求的不断提高是计算机发展的根本动力。如目前的服务器应用,要求高的吞吐率和在多处理器上的多线程应用;Internet的应用、P2P和普适计算的应用都促使了计算机性能的不断提升,多核技术已经成为服务器技术的重要技术支点。大型企业的ERP、CRM等复杂应用,科学计算、政府的大型数据库管理系统、数字医疗领域、电信、金融等都需要高性能计算,多核技术可以满足这些应用的需求。从目前来看,多核处理器的推广还受到一定程度的限制,如一些桌面应用尚不支持多线程、多核处理器价格相对偏高、应用开发工具不成熟等。随着应用需求的扩大和技术的不断进步,多核必将展示出其强大的性能优势。但是多核处理器是处理器发展的必然趋势,无论是移动与嵌入式应用、桌面应用还是服务器应用,都将采用多核的架构,因此我们可以肯定地说:多核技术应用前景广阔。4