片上网络(NoC)是基于多处理器技术的一种新型的计算集成形式,涉及硬件通信结构、中间件、操作系统通信服务、设计方法及工具等。基于NoC的系统能很好地适应在现在复杂SoC设计中常使用的多异步时钟。
片上网络的存储结构
- 物理层(Wiring):主要解决通信通道的物理实现问题,包括互连结构、电气性能等,这时候的信号由于噪音的存在是不可靠的。
- 数据链路层(Data Link):通过数据分包(packetize)技术解决物理层信号不可靠的问题。在数据包中加入标准错误检测码(ECC)或者其他冗余信息来实现数据包的检错纠错功能。
网络层(Network):主要研究数据包如何在网络中传输,分为开关(Switching)算法或路由(Routing)算法,前者决定建立连接的类型,后者决定数据传输的路径。
传输层(Transport):主要研究在发送方如何将数据分解并建立数据包以及在接受方如何从数据包中获得数据信息。
系统层(System):系统软件负责提供一个抽象的物理平台。
- 应用层(Application)。
片上网络的性能
网络结构:在NOC中,普遍使用也是最适合的网络结构是包交换的直接网络。每个节点通过双向通道连接到相邻的节点。NOC的网络连接是异构的,需连接不同的处理部件和存储部件,通信量的分布也是不均匀的。
协议:在NOC巾,通信协议比总线协议要复杂得多,为了便于扩展,往往采用分层的网络协议。协议的每一层提供特定的功能和接口。
服务质量QOS:在NOC的路由决策时,可以提供服务质量,对关键部件的网络带宽或者延迟进行保证,没有被保证的通信采用尽力而为的路由策略。另外,由于中扰和电压降等问题使得部件之间的连线是不可靠的,为了保证可靠的数据传输,当遇到数据错误时,需要进行重传,NOC通过流控机制来保证服务质量。
片上网络的优缺点
优点
通过点对点传输获得低功耗
通过分层协议获得可靠的传输
通过分组交换获得更高的链路利用率
通过并发和非阻塞交换获得更高的带宽
全局异步或准同步的、模块化、可升级的结构
缺点
交换电路和接口增加了电路面积
缓冲和增加的逻辑造成了功耗增加
与原有IP核接口和协议的兼容问题
数据打包、缓冲、同步和接口增加了延迟
片上网络面临的问题
带宽限制:总线是一种共享介质的互连结构,某一时刻只允许一个设备使用总线。仲裁逻辑允许高优先级的设备获得总线的使用权,在总线被占用期间,所有其他的请求被阻塞,直到总线空闲。如果成百上千个组件争用一条总线,很难想象结果会是怎样。这还没考虑由于太多的组件连接到总线上而导致的总线频率降低等因素。
信号集成度:更低的电源电压,更小的线宽,使得整个VLSI系统对电流中的噪声更加敏感。而共享介质上的更多功能部件则进一步加重了噪声。
信号延迟:随着特征尺寸的下降,连线延迟成为影响信号延迟的主要因素。总线结构是全局控制的。在10亿晶体管时代,全局的线延迟会大于时钟周期。总线结构的全局连线使得时钟的偏移很难管理。
全局同步:全局连线上的信号延迟决定了系统的时钟周期,为了保持甚至提高系统时钟频率,只能对全局连线进行分布流水,或者采用区域同步全局异步(GALS)的时钟模式。
片上网络的发展趋势
片上网络的研究才刚刚起步,还没有在商业产品中广泛应用。片上网络的标准化可以增加组件的互连性,但会造成性能的损失,而对特定的片上系统,性能是片上系统的一个关键因素。片上网络的标准化与性能的权衡是一个重要的研究方向。另外,片上网络是一个全局异步、局部同步的系统,如何对片上网络系统进行模拟也是值得研究的问题。还有,不同应用领域对片上网络有不同的需求,研究面向特定应用领域(如多媒体、无线通信等)的片上网络,也是一个重要的研究方向。低功耗是片上系统的永恒话题,片上网络的低功耗研究当然也是一个重要的研究方向。由于片上网络涉及了从物理实现到体系结构、到操作系统、到应用的各个层次,这就需要对片上网络的各个层面进行研究。 尽管我们可以看到NOC在片上通信方面相比共享总线技术有着很大的优势,然而可以想象NOC并不会完全取代共享总线技术,事实上为了达到性能与复杂性的平衡,它们会相互结合并存在CMP系统中,比如在局部范围内仍然采用总线方式以达到较高的通信速度和较低的复杂度,而在全局范围内采用NOC以减少全局同步的需求、增加数据带宽并达到较高的信号可靠性。