多核处理器的发展趋势
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多核处理器的发展趋势
摘要:多核处理器以其高性能、低功耗优势正逐步取代传统的单处理器成为市场的主流。介绍了 Hydra、Cell、RAW 这 3 种典型的多核处理器结构,重点讨论了核心结构选择、存储结构设计、低功耗等 4个影响当前多核处理器发展的关键技术,最后得出多核处理器的未来将呈现众核、低功耗和异构结构 3 种发展趋势。
Abstract:Multi-core processor has replaced single processor as the mainstream in the market for its high performance and low power.
Three typical structures of multi-core processor: Hydra, Cell, RAW is introduced, and then four key techniques is presented, such
as core architecture, memory architecture design, low power and finally thedevelopmenttrends of multi-coreprocessor isdiscussed, whichare manycore, low power and heterogeneous.
多核处理器也称为片上多处理器 (chip multi-processor,CMP),或单芯片多处理器。自 1996 年美国斯坦福大学首次提出片上多处理器(CMP)思想和首个多核结构原型,到 2001 年IBM 推出第一个商用多核处理器 POWER4,再到 2005 年 Intel和AMD多核处理器的大规模应用,最后到现在多核成为市场主流,多核处理器经历了十几年的发展。在这个过程中,多核处理器的应用范围已覆盖了多媒体计算、嵌入式设备、个人计算机、商用服务器和高性能计算机等众多领域,多核技术及其相关研究也迅速发展,比如多核结构设计方法、片上互连技术、可重构技术、下一代众核技术等。然而,多核处理器的技术并未成熟,多核的潜力尚未完全挖掘,仍然存在许多待研究的问题。
多核处理器将多个完全功能的核心集成在同一个芯片内,整个芯片作为一个统一的结构对外提供服务,输出性能。多核处理器首先通过集成多个单线程处理核心或者集成多个同时多线程处理核心,使得整个处理器可同时执行的线程数或任务数是单处理器的数倍,这极大地提升了处理器的并行性能。其次,多个核集成在片内,极大地缩短了核间的互连线,核间通信延迟变低,提高了通信效率,数据传输带宽也得到提高。再者,多核结构有效共享资源,片上资源的利用率得到了提高,功耗也随着器件的减少得到了降低。最后,多核结构简单,易于优化设计,扩展性强。这些优势最终推动了多核的发展并逐渐取代单处理器成为主流。
在整体结构设计上多核处理器与传统的单处理器相比,多核内部结构没有固定的组织形式,可以有很多种实现方式。各个研究机构和厂商根据自己的应用目标设计出结构完全不同的多核结构。虽然如此,但在已有的多核处理器中仍存在几种比较典型的结构,它们分别代表了多核处理器结构中的某一类特点,而 Hydra、Cell 和 RAW 处理器就是 3 种典型的结构。
Hydra处理器是 1996 年美国斯坦福大学研制得一个集成了 4 个核心的处理器,这在当时是一种新型的处理器结构。Hydra在一个芯片上集成了 4 个核心,核心间通过总线结构共享片上二级缓存、存储器端口和 I/O 访问端口。4 个核心采用了通用的百万指令级(MIPS)处理器,每个独立的处理核心有私有的一级缓存,其中指令缓存和数据缓存相互分离。
4 个核心共享的二级缓存,采用 DRAM 存储。核心之间、核心到二级缓存、主存与片内以及I/O 设备与片内的通信都是由总线结构来实现的。Hydra 被认为是一种典型的多核结构,不仅在于它是第一个多核处理器设计原型,还因为它采用了共享二级缓存的同构对称设计和高速总线的核间通信方式。
2001 年 3 月,IBM 与 Sony、Toshiba 合作,着手开发一种全新的微处理器结构——Cell 处理器,旨在以高效率、低功耗来处理下一代宽带多媒体与图形应用。Cell 处理器主要包含 9 个核心、一个存储器控制器和一个 IO 控制器,片上的部件互联总线将它们连接在一起。核心间通信和访问外部端口均是通过内部总线进行,而且为了便于核间通信,整
个Cell 内部采用统一编址。这 9 个核心由一个 PowerPC 通用处理器(power processing element,PPE)和 8 个协处理器(synergisticprocessing element,SPE)组成。PPE 是一个有二级缓存结构的64 位 PowerPC 处理核心。SPE 是一个使用本地存储器的 32 位微处理器,它没有采用缓存结构。PPE 与 SPE 除了在结构上不同外,它们的功能也有差别:PPE 是通用微处理器,拥有完整的功能,主要职能是负责运行基本程序和协调 SPE 间任务的运行;SPE 则是结构较简单,只用来从事浮点运算。Cell 的这种不对称结构被认为是一种典型的异构多核结构。
美国麻省理工学院研究的可重构 RAW 处理器芯片采用了一种 Tile 结构的多核处理器发展思路。RAW 处理器结构主要由 16 个 Tile 单元和片上网络构成。片上的每个Tile 单元是一个完整的计算核心,负责处理各种运算,它包含了处理器、浮点运算单元、指令和数据缓存、静态和动态路由结构。片上网络是由可编程的、高度集成的互连结构构成。互连结构中的同步网络端口,让Tile 间的访问通信延迟很小,性能接近寄存器的访问存取。RAW 中的 Tile 单元还能通过片上网络和芯片边缘的逻辑通道,高速简单地连接到外部存储器资源和各种 IO 设备,可直接执行存储器存取。由于 RAW处理器结构简单,功耗小,可扩展,而且片上网络通信效率高,因此 RAW 结构被认为是片上网络多核结构的代表。
多核处理器结构不仅有性能潜力大、集成度高、并行度高、结构简单和设计验证方便等诸多优势,而且它还能继承传统单处理器研究中的某些成果,例如同时多线程、宽发射指令、降压低功耗技术等。但多核处理器毕竟是一种新的结构,在多核结构设计和应用开发中出现了以前未曾遇到的新问题,这些问题给多核处理器的未来提出了挑战。
目前多核处理器的核心结构主要有同构和异构两种。同构结构采用对称设计,原理简单,硬件上较易实现。当前主流的双核和四核处理器基本上都采用同构结构。同构设计的问题在于:随着核心数量的不断增多,如何保持各个核心的数据一致;如何满足核心的存储访问和I/O 访问需求;如何选择一个各方面性能均衡、面积较小以及功耗较低的处理器;如何平衡若干处理器的负载和任务协调等。
与同构结构相比,异构的优势是通过组织不同特点的核心来优化处理器内部结构,实现处理器性能的最佳化,而且能有效地降低功耗。但是异构结构也存在着一些难点。首先,搭配哪几种不同的核,核心间任务如何分工以及如何实现。其次,结构是否具有良好的扩展性,还是受到核心数量的限制。再者,处理器指令系统设计和实现也是问题。因为不同核所用的指令系统对系统的实现也是很重要的,那么采用这些不同的核,是采用相同的指令系统还是不同的指令系统,能否运行操作系统等,也是需要考虑的内容。
处理器与主存储器之间的速度差距一直是处理器结构设计中必须考虑的问题,因为存储系统自身的体系结构设计直接关系到系统整体性能,会对整个芯片的尺寸、功耗、布局、性能以及运行效率等各方面产生很大的影响。以往在单处理器中通过采用缓存结构基本上能较好地解决这个问题,能保证处理器性能得到发挥。可是,发展到了多核处理器时代,核心和主存之间因速度差距而带来的问题变得严重了。由于处理器内部核心数目增多,对主存的访问需求增加,而单处理器时代的缓存层次和访问带宽已经不能跟上多核处理器的访问需求,必须针对多核处理器进行相应的存储结构设计,并解决好存储系统的效率问题。
当前对存储系统设计,绝大多数处理器采用缓存设计,也有些处理器采用了片上存储器结构。缓存结构设计的优点是硬件设计与实现容易,易于应用开发与编程,缺点是需要保证缓存数据的一致,而且结构扩展不易。针对缓存数据一致性问题,其解决策略主要有总线侦听协议和基于目录的目录协议。侦听协议是每块缓存通过缓存侦听器时刻侦听总线,以接受一致性命令,不足的是它只适合核心数目较少的情况。目录协议是通过目录表记录自身存储块在其他缓存中的状态,以便维持一致性时使用点对点的通信,缺点是实现代价太大,并发访问目录时存在性能瓶颈。除了上述的硬件一致性算法,还有基于多处理机的软件一致性算