多核技术

什么是多核技术多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核技术的开发源于工程师们认识到,仅仅提升单核芯片的速度会产生过多热量且没法带来相应的性能改善,先前的处理器产品就是如此。他们认识到,在先前产品中以那种速率,处理器产生的热量很快会超过太阳表面。即使是没有热量问题,其性价比也使人难以接受,速度稍快的处理器价格要高不少。 英特尔工程师们开发了多核芯片,使之知足“横向扩展”(而非“纵向扩充”)方法,从而提升性能。该架构实现了“分治法”战略。经过划分任务,线程应用可以充分利用多个执行内核,并可在特定的时间内执行更多任务。多核处理器是单枚芯片(也称为“硅核”),可以直接插入单一的处理器插槽中,但操做系统会利用全部相关的资源,将它的每一个执行内核做为分立的逻辑处理器。经过在两个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。多核架构可以使目前的软件更出色地运行,并建立一个促进将来的软件编写更趋完善的架构。尽管认真的软件厂商还在探索全新的软件并发处理模式,可是,随着向多核处理器的移植,现有软件无需被修改就可支持多核平台。操做系统专为充分利用多个处理器而设计,且无需修改就可运行。为了充分利用多核技术,应用开发人员须要在程序设计中融入更多思路,但设计流程与目前对称多处理 (SMP) 系统的设计流程相同,而且现有的单线程应用也将继续运行。如今,得益于线程技术的应用在多核处理器上运行时将显示出卓越的性能可扩充性。此类软件包括多媒体应用(内容建立、编辑,以及本地和数据流回放)、工程和其余技术计算应用以及诸如应用服务器和数据库等中间层与后层服务器应用。多核技术可以使服务器并行处理任务,而在之前,这可能须要使用多个处理器,多核系统更易于扩充,而且可以在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术 是处理器发展的必然近20年来,推进微处理器性能不断提升的因素主要有两个:半导体工艺技术的飞速进步和体系结构的不断发展。半导体工艺技术的每一次进步都为微处理器体系结构的研究提出了新的问题,开辟了新的领域;体系结构的进展又在半导体工艺技术发展的基础上进一步提升了微处理器的性能。这两个因素是相互影响,相互促进的。通常说来, 工艺和电路技术的发展使得处理器性能提升约20倍,体系结构的发展使得处理器性能提升约4倍,编译技术的发展使得处理器性能提升约1.4倍。可是今天,这种规律性的东西却很难维持。多核的出现是技术发展和应用需求的必然产物。这主要基于如下事实: 1.晶体管时代即将到来 根据摩尔定律,微处理器的速度以及单片集成度每18个月就会翻一番。通过多年的发展,目前通用微处理器的主频已经突破了4GHz,数据宽度也达到64位。在制造工艺方面也一样以惊人的速度在发展,0.13um工艺的微处理器已经批量生产,90nm工艺如下的下一代微处理器也已问世。照此下去,到2010年左右,芯片上集成的晶体管数目将超过10亿个。所以,体系结构的研究又遇到新的问题:如何有效地利用数目众多的晶体管?国际上针对这个问题的研究方兴未艾。多核经过在一个芯片上集成多个简单的处理器核充分利用这些晶体管资源,发挥其最大的能效。 2.门延迟逐渐缩短,而全局连线延迟却不断加长 随着VLSI工艺技术的发展,晶体管特征尺寸不断缩小,使得晶体管门延迟不断减小,但互连线延迟却不断变大。当芯片的制造工艺达到0.18微米甚至更小时,线延迟已经超过门延迟,成为限制电路性能提升的主要因素。在这种状况下,因为CMP(单芯片多处理器)的分布式结构中全局信号较少,与集中式结构的超标量处理器结构相比,在克服线延迟影响方面更具优点。 3.符合Pollack规则 按照Pollack规则,咱们知道处理器性能的提高与其复杂性的平方根成正比。 若是一个处理器的硬件逻辑提升一倍,至多能提升性能40%,而若是采用两个简单的处理器构成一个相同硬件规模的双核处理器,则能够得到70%~80%的性能提高。同时在面积上也同比缩小。 4.能耗不断增加 随着工艺技术的发展和芯片复杂性的增长,芯片的发热现象日益突出。多核处理器里单个核的速度较慢,处理器消耗较少的能量,产生较少的热量。同时,原来单核处理器里增长的晶体管可用于增长多核处理器的核。在知足性能要求的基础上,多核处理器经过关闭(或降频)一些处理器等低功耗技术,能够有效地下降能耗。 5.设计成本的考虑 随着处理器结构复杂性的不断提升,和人力成本的不断攀升,设计成本随时间呈线性甚至超线性的增加。多核处理器经过处理器IP等的复用,能够极大下降设计的成本。同时模块的验证成本也显著降低。 6.体系结构发展的必然 超标量(Superscalar)结构和超长指令字(VLIW)结构在目前的高性能微处理器中被普遍采用。可是它们的发展都遇到了难以逾越的障碍。Superscalar结构使用多个功能部件同时执行多条指令,实现指令级的并行(Instruction-Level Parallelism,ILP)。但其控制逻辑复杂,实现困难,研究代表,Superscalar结构的ILP通常不超过8。VLIW结构使用多个相同功能部件执行一条超长的指令,但也有两大问题:编译技术支持和二进制兼容问题。 将来的主流应用须要处理器具有同时执行更多条指令的能力,可是从单一线程中已经不太可能提取更多的并行性,主要有如下两个方面的缘由:一是不断增长的芯片面积提升了生产成本;二是设计和验证所花费的时间变得更长。在目前的处理器结构上,更复杂化的设计也只能获得有限的性能提升。 对单一控制线程的依赖限制了多数应用可提取的并行性,而主流商业应用,如在线数据库事务处理(Online Database Transaction)与网络服务(如Web服务器)等,通常都具备较高的线程级并行性(TLP,Thread Level Parallelism)。为此,研究人员提出了两种新型体系结构: 单芯片多处理器(CMP)与同时多线程处理器(Simultaneous Multithreading,SMT),这两种体系结构能够充分利用这些应用的指令级并行性和线程级并行性,从而显著提升了这些应用的性能。 从体系结构的角度看,SMT比CMP对处理器资源利用率要高,在克服线延迟影响方面更具优点。CMP相对SMT的最大优点还在于其模块化设计的简洁性。复制简单设计很是容易,指令调度也更加简单。同时SMT中多个线程对共享资源的争用也会影响其性能,而CMP对共享资源的争用要少得多,所以当应用的线程级并行性较高时,CMP性能通常要优于SMT。此外在设计上,更短的芯片连线使CMP比长导线集中式设计的SMT更容易提升芯片的运行频率,从而在必定程度上起到性能优化的效果。 总之,单芯片多处理器经过在一个芯片上集成多个微处理器核心来提升程序的并行性。每一个微处理器核心实质上都是一个相对简单的单线程微处理器或者比较简单的多线程微处理器,这样多个微处理器核心就能够并行地执行程序代码,于是具备了较高的线程级并行性。因为CMP采用了相对简单的微处理器做为处理器核心,使得CMP具备高主频、设计和验证周期短、控制逻辑简单、扩展性好、易于实现、功耗低、通讯延迟低等优势。此外,CMP还能充分利用不一样应用的指令级并行和线程级并行,具备较高线程级并行性的应用如商业应用等能够很好地利用这种结构来提升性能。目前单芯片多处理器已经成为处理器体系结构发展的一个重要趋势。

相关文章
相关标签/搜索