STNoC是一项非常先进的低成本片上网络技术,因为能够提供优化的结构、出色的性能和模块化设计,这项技术将会在实现多处理器系统级芯片上发挥重要作用。STNoC拓扑(Spidergon)基于三个基本组件:一个标准化的网络接口、一个带少量缓存的高性能虫洞路由器和一个物理通信链路。Spidergon采用类似于OSI的由四个网络层组成的通信协议栈:物理层、数据层、网络层和传输层。
系统级芯片(SoC)技术为开发新的先进的工程产品和市场构想带来了令人兴奋的机会。摩尔定律表明,CMOS的集成度将会连续不断地提高。因此,提供新的设计方法和工具,满足日益提高的系统复杂性、优异的性价比和产品上市时间短的需求,是摆在电子设计自动化业者面前的一个巨大挑战。例如,半导体国际技术发展路线图组织估计,到2007年,多处理器系统级芯片(MPSoC)将集成多达数十亿个频率高达几个GHz、工作电压低于1V的晶体管。MPSoC包括多个存储组件、通用CPU和专用内核(如数字信号处理器或超长指令字内核)等处理器单元和嵌入式硬件(如FPGA或音视频编解码器等专用知识产权模块),这些组件通过一个复杂的通信结构相互连接在一起。
图1:ISO-OSI参考模型。
为了解决SoC日益提高的复杂性问题,传统的片上总线架构必须不断地改进。这意味每个IP模块的总线接口必须经常修改,而这会造成新的SoC解决方案上市时间延长。此外,尽管深亚微米技术提高了金属层的数量,但是典型金属线的阻容延时也随每一代制造工艺而提高。因为阻容延时、芯片工作频率、裸片大小和普通互连线的共同影响,SoC延时、功率和面积等各项要求中片上总线的影响最大。
片上网络模型
虽然长远看来片上光通信技术的前景很好,但就中短期而言,业内一致看好全新的片上互连架构,这种叫做片上网络(NoC)的技术能够降低SoC的价格和功耗,并能提高系统的性能和可伸缩性。NoC技术以成本低廉的点对点分组架构取代了传统的总线架构,分组架构整合了一个类似开放系统互连(OSI)的分层网络协议栈。如图1所示。
协议层通过详细定义的接口相互作用,为编程人员提供了一个通信框架的抽象概念。协议栈隐藏了下面的物理层的深亚微米技术问题,使网络服务如服务质量机制得以高效实现。在这种设计流程中,经过验证的IP模块经过配置,可以通过自己的NoC接口与其它SoC组件通信。
自2000年起,很多科研院所提出了各种各样的创新的片上网络架构,这些研究机构包括Bologna、KAIST、KTH、LIP-6、MIT、UCSD、Manchester、Stanford、Tampere和Technion以及飞利浦研究实验室、意法半导体和VTT技术研究中心等工业研究实验室。虽然当前的研究报告声称,新的片上网络架构对未来的MPSoC极具吸引力,但是有很多细节问题还尚未解决。例如,选择适合的拓扑、路由选择和流量控制策略、队列管理策略、数据包/消息格式和端到端的网络服务类型。
图2:STNoC实现ISO-OSI协议层的方法。
因为减少了网络缓存数量,数据包的延时与源端和目的端之间的距离无关,虫洞路由(wormhole routing)广泛用于NoC通信。数据包被分解成流量控制单位(flit),然后,流量控制以一个一个的flit为单位运行。像ISO-OSI参考模型一样,NoC设计采用了一个普通的通信分层方法。
1. 物理层是指传播和变换信息的电线和电路(驱动器、中继器和布线);
2. 数据链路层能确保即使在物理层不可靠的情况下也能可靠地传输数据,并处理媒介访问问题(共享或竞争);
3. 网络层与拓扑和路由机制相关;
4. 传输层负责端到端服务和数据分段与重组;
5. 最后,应用层作为适配层起到揭露硬件及操作系统的调用并实现可靠的网络服务的作用,例如,通过适合的并行编程模型,分布式共享内存或消息传递。
ST片上网络方法
ST的片上网络(STNoC)方法遵循普通的片上网络方法。通过采用规则的拓扑,挖掘IP的重复使用率,利用模块化方法以及网络分层实现的多个抽象层,ST的方法可望为现有的系统级芯片和未来的多处理器系统级芯片提供最佳的性价比。STNoC是目前ST系统级芯片正在使用的互连技术STBUS的换代产品。这意味着STNoC技术向后兼容STBUS,也就是我们可以融合匹配STBUS和STNoC技术,使客户可以完全重新使用现有的IP。如图2所示,STNoC利用三个普通组件构成了一个专利拓扑(Spidergon)。