论文部分内容阅读
随着半导体制造工艺的进步,芯片特征尺寸逐渐进入深亚微米级。片上系统(SoC, System-on-Chip)的传统设计开始面临诸多问题和挑战,包括深亚微米效应、全局同步、片上通信以及设计生产力差距等。为解决SoC设计所面临的上述问题,片上网络(NoC, Network-on-Chip)应运而生,其核心思想是将基于包交换的网络技术移植到芯片设计中来。NoC将片上模块与IP核视为网络组件,通过网络层次结构来实现各组件间的互连通信。由于虫孔交换机制的实现简单,而且具有较好的时延性能,因此在NoC中获得了广泛地应用。本论文针对虫孔交换NoC设计中的关键问题进行了研究,这些问题包括:缓冲资源的分配、虚通道的分配以及容错路由算法。缓冲(Buffer)是NoC路由器的重要组成部分,影响整个网络的性能、面积和功耗。传统的均匀分配算法和贪婪分配算法都存在浪费系统资源的问题。因此,本文提出了一种基于遗传算法的缓冲分配算法。该算法首先通过路由器分析模型评估每个输入通道的负载大小,随后根据所有输入通道上负载的分布情况,利用遗传算法实现缓冲资源的分配。在系统总资源保持不变的情况下,该算法能有效地缓解网络拥塞的现象,减小数据包平均传输时延。在虫孔交换NoC中,虚通道(VC, Virtual Channel)的引入可以解决队列头阻塞的现象,但同时也给芯片设计带来极大的面积负担。因此,为在有限的面积上获得较好的网络性能,需要合理地分配虚通道资源。由于已有算法分配虚通道的效率相对较低,本文提出了一种定制化分配虚通道的算法,该算法能依据网络中的业务流量特征,计算出每个输入通道的带宽利用率,随后根据整个网络中带宽利用的总体情况来分配虚通道资源。在确保网络性能的前提下,本文算法具有更高的分配效率。为保证故障状态下系统的正常运行,本文还研究了NoC的容错问题。提出了一种适用于NoC的容错路由算法。当NoC局部发生故障时,该算法能实现绕道路由,寻找一条绕过故障的非最短路径到达目的节点。与此同时,该算法还对网络中的拥塞状况进行了分级,采用多级拥塞控制机制实现了对数据包的分流,缓解了网络中的拥塞。为验证所提出的算法的有效性,本文利用System C高级建模语言搭建了NoCSim片上网络性能仿真平台。仿真结果表明,上述算法显著地提高了片上资源的利用率,极大地改善了网络性能。