关键词:
能耗优化
MPSoC
能耗模型
高速缓存
通信优化
摘要:
近年来仅仅依赖于制造工艺改进的集成电路已不能满足市场的需求,设计者们以复杂度和集成度更高的片上系统(SOC)来应对。多处理器片上系统(MPSoC)己成为嵌入式系统的主流芯片解决方案,其极高的复杂度和集成度带来严重的能耗问题,给设计者带来重大挑战。在SoC的设计流程中,既要需要对各系统模块进行能耗评估,并根据评估结果调整架构;同时还要基于各种高能效方法设计系统策略,设计相应的软硬件来使得系统运行时达到最优的能效。很多研究都集中在低功耗策略上,比如动态电压频率调整(DVFS)和时钟门控(Clock Gate)技术的研究。但是,低功耗并不意味着高能效,能效体现了能量的使用效率,体现了系统在单位能量下所能做的工作量。单纯的低功耗技术往往导致系统运行时间的延长,在延时超过一定程度则反而降低了系统能效。为此,在考虑系统能效的时候需要将应用的执行时间考虑进去,对系统中的各个模块的能耗做定量的分析。其次,这些低功耗技术都基于较低层次的电路,比如寄存器转换级(RTL)和门级(Gate),属于SoC设计的后期阶段。随着MPSoC的设计复杂度提高,其开发周期加长,在RTL级和门级的能耗评估和设计更加耗时。由于这两方面的原因,如果SoC设计后期阶段的能耗评估指标不满足规格要求,那么系统架构调整将十分的棘手,因此需要研究更早期的能耗评估与能耗优化技术。为此,本文深入研究MPSoC系统的高能效技术,结合MPSoC中各个子系统自身特点,将复杂问题局部化,根据各子系统的特点来制定相应的高能效方案。本文的研究包含以下三个方面:1)处理器子系统能耗评估和优化技术研究。为了早期能对处理器子系统在执行系统应用时的能耗进行评估,本文首先提出一种改进的指令层次的处理器能耗模型,并给出综合使用剖析和标注技术的能耗评估方法,该方法的MPSoC建模在虚拟架构(VA)层和传输精确(TA)层进行,兼顾评估的快速性和准确性。使用通用的代码分析工具GNU gcov来剖析VA层仿真时的统计数据,利用VA层仿真的速度,快速得到分析系统应用能耗的所需信息。然后,将VA层得到的信息标注到TA层模型,利用TA层模型的更高精确度来进一步评估处理器子系统能耗。最后,基于能耗分析结果,对以H.264/AVC解码应用驱动的MPSoC处理器子系统进行了优化,将运算复杂度过高的逻辑硬化成硬件加速器,在加速器的硬件实现过程中充分应用能耗优化架构和技术。2)存储子系统能耗优化技术研究。片上高速缓存(Cache)在存储子系统中扮演着重要角色,贡献了MPSoC的大部分能耗。本文提出一种对访问能自适应和线程感知相结合的Cache分割策略。该策略中,针对多核处理器的数据类型,本文提出将Cache中的数据区分为独享和共享,并根据数据类型区分访问类型。然后提出一种支持Cache分割的软硬件架构,并综合考虑访问类型、应用程序量和数据量,通过分割Cache给系统应用分配和使用适量的存储资源。进一步地,本文将应用线程数纳入分析模型,使用整数线性规划(ILP)的方法获取最优能耗结果和各处理器核心(Core)对应的Cache分配。3)通信子系统能耗优化技术研究。为了避免任务映射、线程划分及调度对通信子系统能耗的影响,本文首先提出一种综合使用消息聚合和通信流水线技术的策略。该策略中,本文采用消息聚合技术来减少通信次数,从而减少因启动通信而产生的能耗。本文还采用通信流水线技术来隐蔽通信开销,从而减少因等待通信而产生的能耗。进一步的,本文对消息聚合和通信流水线技术进行了量化分析,并采用基于ILP的方法确定通信流水线技术和消息聚合技术的使用,利用ILP方法的特性进行通信优化并获得最优能耗结果。其次,本文针对多核之间的通信协议,提出一种对称多核的高效一致性侦听过滤技术和装置,该技术通过分析和过滤冗余的Cache一致性操作,从而减少通信系统的拥塞和冗余通信,进一步可以减少通信子系统的能耗。