本篇接上一篇讨论几种流行的NoC设计方法,涉及如流量控制、路由、仲裁、服务质量、可靠性和任务调度。
一. 流量控制机制
NoC通信体系结构的性能取决于其流量控制机制。在网络中添加缓冲区可以显著提高流量控制机制的效率,因为缓冲区可以解耦相邻信道的分配。在没有缓冲区的情况下,两个信道必须在连续周期中分配给数据包(或flits),否则数据包就会丢失或发生错误路由。更具体地说,就缓冲流量控制而言,当数据包到达路由器时,它必须首先占用一些资源,如信道带宽和缓冲容量,这取决于流量控制方法。每个路由器必须在来自多个输入端口的多个输入数据流之间进行混合,并将它们路由到效率最高的输出端口。
基于缓冲分配粒度和信道带宽分配,缓冲流量控制方法可分为packet缓冲流量控制和flit缓冲流量控制。以flit为单位分配资源可以获得比以packet为单位更高的存储利用率, 因此两种类型的flit缓冲器流量控制结构在NoC中十分常用:虫洞(wormhole)流量控制以及虚拟通道(virtual-channel)流量控制。
packet缓冲流量控制
数据包缓冲器流量控制以逐包的方式分配网络资源。例如store-and-forward流控制和virtual-cut-through流控制。在store-and-forward方法中,每个节点必须确保它已经接收并存储了一个完整的数据包,然后将其转发到下游节点。而virtual-cut-through方案只要有足够的缓冲空间在下游节点接收数据包就可以进行转发。因此,与store-and-forward相比ÿ