多内核(multicore)指处理器(processor)集成两个或多个完整的计算引擎(内核)。多核系统更容易扩展,并可以将更强大的处理性能集成到更精致的外观中。该外观使用的功耗较低,计算功耗产生的热量较少。 英特尔工程师开发了多核芯片,以满足水平扩展(而不是垂直扩展)的要求,以提高性能。该架构实现了分治法战略。线程应用程序可以充分利用多个执行核,并在特定时间内执行更多的任务。多核处理器是一个单芯片(也称为硅核),可以直接插入单个处理器插槽,但操作系统将使用所有相关资源作为单独的逻辑处理器。多核处理器可以在特定的时钟周期内执行更多的任务。 多核架构可以使软件运行得更好,并创建一个更完美的架构,以促进未来的软件编写。虽然严肃的软件制造商仍在探索新的软件并发处理模式,但现有的软件可以支持多核平台,而无需修改。操作系统是专门为充分利用多个处理器而设计的,可以在不修改的情况下运行。为了充分利用多核技术,应用程序开发人员需要在程序设计中整合更多的想法,但设计过程和对称的多处理(SMP) 系统的设计程相同,单线程应用继续运行。 由于线程技术在多核处理器上的应用,它将显示出优异的性能可扩展性。该软件包括多媒体应用程序(内容创建、编辑、本地和数据流回放)、工程和其他技术计算应用程序,以及应用程序服务器和数据库等中后层服务器应用程序。 多核技术能够使服务器并行处理任务,此前,这可能需要使用多个处理器,多核系统更易于扩充,并且能够在更纤巧的外形中融入更强大的处理性能,这种外形所用的功耗更低、计算功耗产生的热量更少。多核技术是处理器发展的必然。 为什么单核设计不能满足用户不断提高处理器性能的要求?答案是功耗问题限制了单核处理器不断提高性能的发展方式。 作为计算机的核心处理器是处理和处理输入的数字数据和信息,然后输出结果。假设计算机的其他子系统没有瓶颈,影响计算机性能的核心部件是处理器。反映在指令上的是处理器执行指令的效率。 处理器性能 = 主频 x IPC 从上述公式可以看出,衡量处理器性能的主要指标是每个时钟周期内可执行的指令数(IPC: Instruction Per Clock)以及处理器的主频。事实上,频率是每秒做周期性变化的次数。一秒只有一次。周期的变化称为1Hz(赫兹)。主频1GHz 1秒有10亿个时钟周期。 因此,提高处理器性能有两种方法:提高每个时钟周期的主频和指令数(IPC)。可以改变处理器微架构的变化IPC,高效的微架构可以提高IPC从而提高处理器的性能。但是,对于同一代架构,改进架构来改进IPC范围非常有限,因此在单核处理器时代,通过提高处理器的主频来提高性能是唯一的手段。 不幸的是,提高处理器的主频并非没有尽头。从下面的推导可以看出,处理器的功耗与处理器内部的电流和电压平方成正比,而主频与电压成正比。 因为: 处理器的功耗与 电容器相当x 电压 x 电压 x 主频 因此:处理器功耗 与 主频的三次方成正比 如果通过提高主频来提高处理器的性能,处理器的功耗将以指数(三方)而不是线性(一方)的速度急剧上升,并很快触及所谓的频率墙(frequency wall)。随着能耗的快速上升,业内大多数厂商都在寻找另一个因素来提高处理器的性能IPC。 英特尔®酷睿 架构五大优势 英特尔®酷睿 架构五大优势 提高IPC通过提高指令执行的并行性,提高并行性有两种方法:一是提高处理器微架构的并行性;二是采用多核架构。 在使用相同的微架构时,为了实现处理器IPC我们可以采用多核方法,有效控制功耗的急剧上升。为什么?看下面的推导。 因为:“处理器功耗 正比于 核心数 x 主频 x 主频 x 主频IPC 与 核心数成正比IPC主频乘积, 因此,性能 与 核心数 相比x 主频x 主频 x 主频”。 从单核增加到双核时,如果性能保持不变,主频只需要单核的一半,处理器的功耗变为四分之一。这是理想情况。事实上,主频与电压之间仍存在非理想因素,如不严格的正比关系、电容不正常、并行程序有额外的通信费用、顺序程序不能100%并行化等。然而,多核处理器在同一性能下降低功耗。 可以看出,未来处理器的发展趋势是:为了实现更高的性能,在采用相同的微结构时,可以增加处理器的核心数量,同时保持较低的主频率。这种设计的效果是更平行的改进IPC,低主频能有效控制功耗上升。 除了采用多核技术外,采用更先进的高效微架构还可以进一步改进IPC降低功耗——提高能效。基于英特尔酷睿 结构的英特尔 酷睿 2双核处理器和最强处理器就是现实中的例子。与英特尔前一代相比NetBurst微架构(Intel? Pentium? 4 和Pentium? D),酷睿微架构采用英特尔宽区动态执行引擎和英特尔 高级数字媒体增强技术,即改进IPC创新技术;英特尔 智能功率特性是降低微架构功耗的技术。 一些芯片制造商指出,当处理器的频率达到一定程度时,处理器的工作量将大于速度,0.13微米含有高晶体管,未来65纳米和45纳米的成本将翻倍。然而,成本翻倍的增长并不会给制造商带来相应的收入增长。热量和干扰因素的干预使集成和处理器的频率越来越接近极限。 因此,技术和经济效益可能会使摩尔定律失效。 处理器的实际性能是处理器在单位时间内所能处理器指令的总数,因此增加一个核心,理论上,处理器在每个时钟周期内可执行的单元数量将翻倍。原因很简单,因为它可以并行执行指令,包含几个核心,单位时间可执行的指令数量上限将增加几倍。在芯片中嵌入更多的核心比增加核心的集成要容易得多。因此,多核可以在不提高生产难度的情况下,使用多个低频核心产生超过高频单核心的处理效率,特别是服务器产品需要面对大量的平行数据,多核心分配任务可以提高工作效率。可视为多处理器合作的微缩形式,实现更高的性能价格比,一套系统实现多系统的性能。 多核的介入,使得摩尔定律在另一个层面的意义上,避免了尴尬的局面。从单核到双核到多核的发展就证明了摩尔定律还是非常正确的。从单核到双核再到多核的发展,可能是摩尔定律问世以来在芯片发展历史上速度最快的性能提升过程。" 自20世纪80年代和90年代以来,促进微处理器性能持续提高的主要因素有两个:半导体技术的快速进步和系统结构的持续发展。半导体技术的每一个进步都为微处理器系统结构的研究提出了新的问题,开辟了新的领域;在半导体技术发展的基础上,系统结构的进步进一步提高了微处理器的性能。这两个因素相互影响和促进。一般来说,工艺和电路技术的发展使处理器性能提高了约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还能充分利用不同应用的指令级并行和线程级并行,具有较高线程级并行性的应用如商业应用等可以很好地利用这种结构来提高性能。单芯片多处理器已经成为处理器体系结构发展的一个重要趋势。