《MPSoC系统架构和高性能低功耗技术研究》由会员分享,可在线阅读,更多相关《MPSoC系统架构和高性能低功耗技术研究(23页珍藏版)》请在金锄头文库上搜索。
1、MPSoC系统架构和高性能低功耗技术研究目录1. MPSoC概述31.1. SoC 概述31.2. SoC 危机31.3. MPSoC概述42. MPSoC架构52.1. 微处理器体系结构演化52.2. MPSoC架构设计72.3. 基于平铺方法的架构(Tilebased MPSoC) 82.4. 基于网络的架构102.4.1. 传统的基于网络的架构102.4.2. 改进型基于网络的设计112.5. 基于组件的架构123. MPSoC高性能低功耗技术研究143.1. 性能提高策略143.1.1. 静态策略143.1.2. 动态策略1532 功耗降低策略153.2.1. 动态功耗153.2.2.
2、 静态功耗163.3.MPSoC系统Cache性能功耗研究163.3.1. 基于体系结构的Cache分析163.3.1.1. MPSoC 系统 Cache 结构163.3.12基于重用率的Cache存储共享技术173.32基于一致性实现方法的Cache分析193.3.2.1. 基于软件的一致性实现方式193.322. 基于操作系统的一致性实现方式193.323. 基于硬件的一致性实现方式204. 总结和展望214总结214.2. 展望214.2.1. 多核集群224.2.2. 统一分布计算结构224.2.3. 分布处理子系统225. 参考文献22摘要:本文通过对SoC以及MPSoC的概述,着重
3、点明了 SoC的危机和MPSoC的发展前景。 从微处理器体系结构演化、MPSoC架构、性能和功耗等方血对MPSoC进行的详细说明。 MPSoC的架构不仅仅要解决对上层应用的要求,还要兼顾性能的提高和功耗的降低。尤其 是针对MPSoC系统中的Cache性能功耗技术展开研究,对采用不同体系结构和一致性协议 的Cache性能和功耗进行了分析。最后总结MPSoC现在面临的机遇和挑战,指出了有待进 一步攻克的问题。关键字: MPSoC、多核、架构、性能、功耗、Cache1. MPSoC 概述1.1. SoC 概述SoC (System on a Chip)通常指在单一芯片上实现的数字计算机系统,对所有或
4、部分必 要的电子电路进行包分组的技术。该系统应包含两个基木部分:硬件部分和软件部分。硬件 部分包括UP、BUS、ROM/RAM. I/O等计算机系统的基本部件;软件部分主要指操作系统, 也可以包插重要的应用软件。SoC中包含了微处理器/微控制器、存储器以及其他专用功能逻辑,但并不是包含了微 处理器、存储器以及其他专用功能逻辑的芯片就是SoC。SoC技术被广泛认同的根本原因, 并不在于SoC可以集成多少个晶体管,而在于SoC可以用较短时间被设计出来。这是SoC 的主要价值所在一一缩短产品的上市周期,因此,SoC更合理的定义为:SoC是在一个芯片 上由于广泛使用预定制模块IPdntellectua
5、l Property)而得以快速开发的集成电路。总的来说,SoC具有如下四个特征: 实现复杂系统功能的VLSI; 采用超深亚微米工艺技术; 使用一个以上嵌入式CPU/数字信号处理器(DSP); 外部可以对芯片进行编程;1.2. SoC 危机硅芯片技术的飞速发展给SOC设计带来新的危机。为了保持产品的竞争力,芯片设计人 员而临的压力是在H益减少的时间内设计开发更多的复杂硬件系统。新的通信产品、消费产 品和计算机产品设计必须在功能、可靠性和带宽方面有显著增长,而在成本和功耗方面有显 著的下降。尽管SoC能够处理许多任务,但是计算能力不强,只能用于控制,通常缺少执行复杂数 据处理任务所需要的带宽,例
6、如网络数据包处理、视频处理和加密。同时,单个的处理器已 经无法满足日益增加的需求,而且在性能和功耗方面都遇到了无法逾越的瓶颈。如何提高 Soc的通用计算能力或数据处理能力将是继Soc Z后的主流设计技术的核心任务。如果一味 的增加频率乂造成了大量的功耗问题和其他附带影响,比如辐射、噪音、降温等等多种问题。 这个时候,科学家开始从多处理器方面寻求突破,给行业带来了信息的活力。1.3. MPSOC 概述基于上述的思考,2002年提出了多系统芯片(Multi-Soc, MSoC)的概念,即提高性能的 任务将由多个Soc组成的联合体來完成。MS0C中的所有Soc并行工作,井互相交换信息, 共同完成大型
7、任务。集成电路制造技术的持续发展和电路功能复杂度的持续提高支持了这种 设想.此后,学术界进一步把这种“多系统”概念演化为“多核S0C”。这个时候MPSoC孕育 而生,给整个SoC产业带来了第二次春天。多核的架构随着核的增加也逐渐成为关注的重点, 架构直接影响着的整个系统的性能和功耗,对上层的软件的开发和调试都带来了深刻的影 响。下面是从2000到2016年的统计和预测数量:1000010001002000 2002 2004 2006 2008 2010 2012 2014 2016简单处理器离性能处理務图11每芯片处理器数MPSoC指的是在单一芯片上集成多个处理器的复杂SoC,由计算节点和通
8、讯节点组成。 计算节点完成广义的计算任务,它们既可以是微处理器或SoC,也可以是单一功能的IP:通 讯节点及其连线负责计算节点之I可的数据通讯,可以是总线,也可以是网络或其他通讯工具。在探索后Soc时代集成电路主流设计技术的过程中,从MSoC到MPS0C,再到NoC,是一个螺 旋上升、不断深入的过程。MSoC的研究工作主耍是一些基础概念的探讨,到2002年,NoC的 概念在学术界开始为人们所普遍接受,然而片上Network毕竟是全新的事物,理论上还很不 成熟,于是产业界从总线结构切入到多核芯片的设计,因此随后的研究重心乂转移到了基于 总线结构的MPS0C技术的研究。但随着工艺水平的快速提高,更
9、多的处理器核将被集成到单 芯片中,总线结构固有的局限性越來越明显了,因此基于Network的MPS再次受到更多的关注。 接下来我们将从架构、性能和功耗特别是Cache等多个方面来讨论MPSoCo2. MPSoC 架构21微处理器体系结构演化以MPSoC为代表的多核技术将成为下一代集成电路的主流设计技术。集成电路制造工艺技术的不断进步提供了越来越多的资源,如何将这些资源转变为芯片 的功能和性能是IC设计的持久话题。从根本上讲,利用这些资源(如:更多的晶体管)提 高性能的主要途径有两个:并行性和局部性。简单地说,并行性尽可能将一个复杂的功能分 解为多个并行执行的子功能;而局部性则尽可能多地将多个子
10、功能集成到一块。两者对资源 的占有是一种竞争关系。一方面,多个操作的并行执行,可以使得程序执行周期降低,但是 需要更多资源的支持。另一方面,数据的引用越接近处理器,访问深层次存储器的时延就越 短。同时也需要更多的资源来支持这种局部性。因此,性能提高的最佳策略是使用适当的折 中方法:既有一定的并行性,也有一定的局部性。纵观微处理器技术的发展历史,我们可以发现并行技术的演化是其中的一条主线。下面 简单回顾一下并行性技术的发展历史,井以此推断下一代集成电路主流技术的基本走向。Year图2-1微处理器并行结构发展趋势11图2-1将25年來微处理器体系结构大体分为三个阶段:位级并行阶段(Bit Leve
11、l parallelism)指令级并行阶段(Instructional Level Parallelism)和线程级并行阶段(Thread Level Parallelism) o直到1986年以前,位级并行一直是提升性能的主要方法,如处理器从4位发展到8位、 16位和32位。自32位处理器出现后,位级并行有所减缓,直到现在64位处理器在许多领 域还都不是很适用。指令级并行风行于20世纪80年代中期到90年代中期。流水技术将一条指令的执行分 解成多个步骤(取指、译码、整数运算、地址计算、回写等),使得多条指令的不同部分同时 执行,保证每个周期几乎可以完成一条指令。此外,超标量技术同时读取多条指
12、令,并把它 们发送到不同的功能单元(整数运算、存储操作、转移操作、浮点运算等独立硬件),这样 不仅降低了通信开销,而且提高了并行执行效率。随着流水深度的增大,以及每个周期发送指令数目的增多.一旦出现控制转移或高速缓 存(Cache)扑空,整体性能所受的影响将会越来越大。一个控制转移可能会引起处理器等待 英流水线排空的吋I可称为吋延。为了降低或容忍吋延,人们使用转移猜测、乱序执行等算法, 使用容量更大、操作更复杂的缓存技术。这些技术都是局部性的体现,每种技术都需要大量 的硬件支持。通过对计算机体系结构的模拟和对程序固有性质的分析,人们发现在一个单线程控制内 的指令级并行仅在一定范围内有显著效果。
13、使用第一种方法的研究表明,由于平均每5条指 令就有一次控制转移,当每个周期发送2条或者4条指令吋,系统性能有较为明显的改善; 而超过8条以后,性能提升不仅很少,而且设计复杂度也急剧增长。正因如此,处理器性能 的提升己经开始放缓。有统计预测表明,在90年代,芯片的性能每年提高607,但是从2000 年到2004年,这一速度已降低到每年40%,之后每年将仅提高20%o由此可见,通过指令级并行提升性能的途径在一定程度上遇到了瓶颈。人们自然而然地 想到是否向更高的并行级别一一线程级并行上发展。在计算机领域,面向线程级和进程级开 发并行性由來己久,如SynapseEncoreFlex、Sequentl等
14、都是上世纪八十年代出现的较早的多处理器系统:将10个到20个徽处理器组织在一起,通过共享总线互连,在分时应用负 载上有较好的吞吐量。1994年,Intel定义的基于Pentium处理器的多处理器PC系统的标准 更是为板级多处理器设计即线程级并行铺平了道路。2004MulticoreSingle core2008图2-2单核与多核的性能提升比较基于Intel公司采用SPECint2000和SPECfp2000基准所做的测试随着微电子工艺技术的进步和体系结构的演化,单芯片多核处理器出现了,如Power. Cell、Niagara Core2 Duo、Athlonn64 Vega、MPCORE 等。
15、这些芯片的出现宣告了片上 多核时代的到来.这些多核处理器普遍使用线程级或者任务级并行来提升芯片的性能。如图 22所示,单核模式下的利用局部性追求性能提升的脚步已经放缓,而塞于多核的线程级并 行技术却为性能提高提供了新的动力,以MPSOC-SoC为代表的多核设计技术也将成为后 Soc时代的主流设计技术。2.2.MPSOC架构设计这里我们将重点介绍MPSoC设计中的各种挑战。首先是应用级别的挑战,在这个级别里 面,必须保证编程模块和交互APIs可以很方便的进行配置。另外任务的同步和控制也是在 实时操作系统上的一个头痛问题。MPSoC也对以前串行调试造成了极大的冲击,MP调试也是 开发过程中急需解决的问题。这里我们主要从性能和功耗两个方面阐述对架构设计需考虑的两个方面,同时也说明架 构是如何在两个方面折中: 多核的性能是一个各方关注的方面。在降低单个处理器处理能力的同时,怎么让多 核同步工作达到或者超过单核的工作效率,是这个时期讨论比较多的话题。这里主 要涉及到同构多核之间共享内存或者cache的方法和消息总线的策略。 在设计和性能的同时,功耗也是一个关注的问题。单个处理器的处理能力降低,当 然功耗也随之降低,其噪音和辐射都远远小于传统单核,这样可以使多核产品用户 对环境要求比较苛刻的条件下,比如医