论文部分内容阅读
片上网络(Network on Chip,NoC)具有可重用可扩展以及支持并发通信等特点,已经成为大规模片上系统SoC设计中解决全局互连与通信问题的有效方案之一。由于基于NoC通信架构的SoC系统规模巨大,随着半导体器件特征尺寸的缩小,功耗几乎是系统设计中最重要的约束,功耗的增加会导致芯片发热量的增大和可靠性的下降。因此在NoC研究内容中,低功耗设计技术的研究具有重要的理论和现实意义。本文针对NoC通信架构的SoC系统中功耗的主要来源部分:通信节点通信功耗以及资源节点计算功耗,在系统级与体系结构级层次上,进行低功耗设计方法研究。重点解决了NoC路由节点中虚通道与缓冲区资源的分配、面向能耗的NoC电压岛划分以及基于电压岛的NoC路径分配等关键问题,以指导片上网络低功耗设计方法学的研究。本文主要创新点如下:针对片上网络中虚通道资源平均分配所导致的面积与功耗开销巨大的问题,提出了一种基于模拟退火算法的虚通道资源分配方法(Simulated Annealing based Virtual Channels Allocation,SAVCA)。该方法在建立了二维网格结构片上网络通信数学模型的基础上,以传输延时性能为约束条件对虚通道资源进行合理分配,通过提高虚通道利用率来减少其数目,达到最小化路由节点功耗开销的目标。采用均匀流量及热点流量通信方式下的多组仿真实验,验证了SAVCA算法的有效性。实验结果表明,在保证传输延时性能的同时,经过SAVCA算法对虚通道资源进行合理分配后,可有效减少虚通道总数,最高可降低29.9%的路由节点功耗。针对NoC路由节点中缓冲区资源平均分配导致其利用率较低或传输延时较长等缺点,研究了缓冲区资源非平均分配方案,分别提出了传输延时性能优化的缓冲区资源分配算法MP(Multi-Path)和传输延时性能约束的缓冲区资源分配算法SP(Single-Path)。MP算法采用多路径传输方式来优化通信负载分布,达到传输延时性能最优,缓冲区资源需求最少;SP算法采用单路径传输方式,以传输延时性能为约束条件,最小化缓冲区大小。基于这两种算法,论文运用排队论理论建立了相应的缓冲区资源分配问题数学模型,并采用模拟退火算法进行缓冲区资源分配。通过均匀流量和热点流量通信方式下的多组仿真实验,验证了两种方法的有效性。实验结果表明,经过这两种方法对缓冲区资源进行合理分配后,可在传输延时性能最优或者满足传输延时性能约束条件的同时,提高缓冲区利用率,最小化缓冲区大小,达到优化路由节点功耗的目标。为解决因为电压岛的划分结果会影响系统可靠性、传输延时以及能耗等性能指标,并且电压岛数目过多会增加系统复杂性等问题,提出了一种基于整数线性规划(Integer Linear Programming,ILP)算法的电压岛划分方法(ILP based Voltage Island Partition,ILPVIP)。在保证网络性能指标(延时和可靠性等)的同时,完成了电压岛划分,达到优化NoC系统中计算能耗的目标。通过嵌入式系统综合评测E3S测试基准中的多组应用实例、随机基础测试用例以及一个多媒体系统实例进行仿真实验,验证了ILPVIP算法的有效性。实验结果表明,在满足多重约束条件的同时,ILPVIP算法最高可降低33.6%的系统总能耗。针对电压岛岛间通信会影响到数据传输延时和通信能耗、网络链路负载不均衡易造成网络拥塞等问题,研究了基于电压岛的NoC低能耗路径分配问题,提出了一种基于电压岛的NoC路径分配方法(Genetic Algorithm based Routing,GAR)。在保证通信延时和网络链路负载均衡的同时,为应用中的每条通信踪迹生成一条确定性的、能耗最小的最短路由路径。通过E3S测试基准中的多组应用实例、随机基础测试用例以及一个多媒体系统实例进行仿真实验,验证了该方法的有效性,与现有的VFI-aware和GLR算法相比,GAR算法可平均节省21.7%的能耗和21.8%的链路带宽需求。