论文部分内容阅读
随着集成电路制造工艺的进步,芯片特征尺寸不断缩小。片上系统(SoC,System-on-Chip)的设计面临诸多挑战,包括克服深亚微米效应、设计可扩展的片上通信架构及减小设计生产力差距等问题。传统的基于共享总线式的片上通信结构,由于其内在的不可扩展性、功耗较大等缺点,已不能满足未来复杂SoC的设计要求。片上网络(NoC, Network-on-Chip)被认为是未来替代共享式总线的片上通信架构。它采用基于包交换的网络来实现SoC内部各IP核之间的互连通信,从体系结构上彻底解决了基于总线的SoC架构所带来的问题。本论文对虫孔交换NoC系统设计中的几个关键问题进行了研究,这些问题包括:缓冲资源的分配、虚通道的分配、路由算法以及NoC网络性能分析。缓冲(Buffer)是NoC路由器中非常重要的组成部分,它对网络的性能、面积和功耗均影响巨大。传统的均匀分配缓冲的方法会带来资源浪费。因此本文建立了一个有限长缓冲队列的虫孔路由器分析模型来评估网络性能,并利用此分析模型,提出了一种可应用于虫孔交换NoC的缓冲分配算法。在满足系统总缓冲资源大小不变的情况下,该算法可以依据业务流量的特征在各个路由器的输入通道间分配缓冲资源,从而使网络性能最大化。虚通道(VC, Virtual Channel)为NoC设计提供了一种有效的实现机制,可以减小虫孔交换NoC的队头阻塞,提高网络性能。但是均匀分配虚通道会带来面积和功耗的上升。因此本文提出了一种定制化分配虚通道资源的算法,该算法依据业务流量的特征,计算路由器各输入通道的带宽利用率,仅给带宽利用率最高的输入通道分配虚通道资源。与均匀分配虚通道的方法相比,该算法能以较小的面积达到相同的性能指标。此外,本文还研究了NoC的路由问题。提出了一种新的应用于虫孔交换NoC的无死锁动态路由算法。该算法将多级拥塞的思想引入DyAD路由算法中,使相邻节点可以反馈提供更加详细的拥塞信息,并针对不同的网络拥塞状况来选择相应的路由机制,从而可以实现更好的性能。网络性能分析在NoC设计中起到了关键作用。本文分析和比较不同片上网络性能分析方法和建模语言的优缺点,使用System C语言设计并实现了NoCSim片上网络性能分析平台。利用该平台,验证了本文提出的各种算法的有效性,仿真结果表明,它们能改善网络性能或提高资源/功耗的利用效率。