论文部分内容阅读
近些年来,片上网络(Network-on-Chip,NoC)已成为多核系统中连接各种片上IP核的主流架构,譬如片上多核处理器和多核片上系统。与许多其它VLSI设计相似,能效问题已经成为当前NoC设计的关键限制因素之一。一般而言,片上网络总功耗包括动态翻转功耗和静态漏流功耗。其中,动态功耗消耗于报文在网络上的传输过程和时钟电路周期性地翻转过程之中,而漏流功耗则只要片上资源通电甚至在没有报文传输的情况下也会有消耗。随着工艺参数的缩小和工作频率的提升,静态漏流功耗已经成为片上网络设计中功耗开销的主要部分,且其比重会进一步增加。在众核系统的实际应用中,片上网络的吞吐率需求在大部分运行时间内可能非常低,且很少达到峰值/饱和点。由此,片上路由器和链路有很大几率处于空闲状态,可利用该特点解决片上网络所面临的漏流功耗危机。作为集成电路设计中一项有代表性的低功耗技术,电源门控技术(Power-Gating)早已应用于当前的片上网络设计中,以降低日益突显的漏流功耗。针对片上网络的静态漏流功耗问题,本文主要研究如何对片上路由器微结构及其Power-Gating方案进行优化设计,以在获得功耗降低的同时尽量保证片上通信性能。本文的主要研究成果及创新点如下:(1)低开销低功耗的单向Torus片上网络优化设计片上网络设计的挑战来自于在降低设计复杂性来节约面积和功耗的同时必须保持较高的通信性能,如低延迟和高吞吐率。尤其在网络规模增大时,设计复杂性和功耗会成为阻止网络扩展的瓶颈。在此,我们针对单向Torus网络设计一种低开销、低功耗的路由器结构,并采用一个改进的角缓存结构来实现无损网络性能的Power-Gating设计。同时,我们引进一种显式的饿死避免机制来保证网络节点注入的公平性,以此降低对网络吞吐率的负面影响。合成负载模拟的结果表明,该设计能够改善网络吞吐率平均达11.3%,且在低中负载区域能够获得显著的功耗节省。在SPLASH-2踪迹负载实验中,我们的设计与无角缓存Power-Gating的基准设计相比能够节省27.2%的功耗,而与基于角缓存Power-Gating的基准设计相比能够降低42.8%的平均延迟。(2)基于多虚通道自适应管理的片上网络细粒度Power-Gating优化在片上网络Power-Gating设计中,传统的路由器细粒度门控方法由于连续累积的唤醒等待延迟和线头阻塞会导致网络性能的严重降低。为此,我们针对路由器的细粒度Power-Gating技术提出一种多虚通道自适应管理机制来实现高吞吐率和低功耗,并且对基于超前路由计算的唤醒控制进行整合优化。对于合成负载模拟实验,我们的设计能够在中低负载区域有效改善片上网络性能,并且与传统优化设计相比在不同的合成负载下分别能提高15.7%~44.1%的饱和吞吐率,同时保持与传统Power-Gating优化设计相近的网络总体功耗。在基于Token协议的PARSEC程序踪迹模拟实验中,我们的设计相对于传统优化设计,能够显著降低报文平均延迟达20.3%,且仅增加不高于3.6%的峰值功耗。(3)基于比特位切分的片上网络Power-Gating优化在传统的片上网络Power-Gating设计中,节点间路由通道由于某些资源的休眠而出现暂时性失连问题。如若不及时唤醒处于休眠的资源,通道暂时性失连会导致网络通信出现显著的性能损失。为此,我们提出一种基于非对称比特位切分的部分资源Power-Gating方法来避免由于通道暂时性失连而带来的性能损失。由于路由器通道被切分,我们重定义报文格式来支持报文的切分和传输,并且提出两个必不可少的转换模块来实现报文的切分和重组过程。在合成负载模拟实验中,我们的设计在低负载时可获得相当可观的功耗节约,并比传统Power-Gating设计展现出更好的性能特性。程序踪迹模拟实验表明,我们的设计与基准设计相比平均可节省27.5%的总功耗,而与传统Power-Gating设计相比平均可减少45.0%的报文延迟。(4)基于通道方向切分的片上网络Power-Gating优化针对片上网络Power-Gating设计中所面临的路由通道暂时性失连问题,我们从另一个全新角度来研究部分资源Power-Gating方法,提出基于通道方向切分的网络切分方法来实现片上所有节点的全相连。在Mesh和Torus切分网络中,我们改进相应的路由算法来支持报文最短路径路由,并提出一个全新的死锁恢复机制来解决可能出现的死锁问题。此外,Clock-Gating也被应用于被门控的路由器切片来进一步降低功耗。在合成负载模拟实验中,我们的设计在低负载区能达到更佳的能效,且相对于传统Power-Gating设计有着更好的性能特性。虽然在低负载时会引入少量的额外延迟,但它相较于连续累积的唤醒延迟是可以接受的。对于程序踪迹模拟实验,与传统Power-Gating设计相比时,我们的Mesh/Torus切分网络虽会平均多消耗15.2%/18.9%的功耗,但是能平均获得45.0%/28.7%的性能改善。