4.2.3 流量控制
流量控制决定了如何分配资源,例如缓冲区和信道带宽,以及如何解决数据包冲突[1]。每当数据包被缓冲、阻塞、丢弃或错误路由时,这取决于流量控制策略。一个好的流量控制策略应该在减少延迟的同时避免通道拥塞。ON/OFF、基于信用和ACK/NACK 是 NoC 中常用的控制流,本小节将对其进行解释。
4.2.3.1 ON/OFF 流量控制
ON/OFF 流量控制[28] 具有可以管理来自上游路由器的数据流的协议,同时发出最少量的控制信号。它之所以能够做到这一点,是因为它只有两种状态:ON 或 OFF。该控制流具有阈值,该阈值取决于下游路由器中空闲缓冲区的数量。阈值用于决定控制信号的状态。当空闲缓冲区的数量超过阈值时,下游路由器会向上游路由器发出 OFF 信号,停止 flit 的流动。同时,下游路由器向其他节点发送flits,空闲缓冲区的数量变得小于阈值,下游路由器向上游路由器发出 ON 信号,重新启动flit 流。由于ON/OFF 信号只是发送给开关,因此计算时间很短。图 4.7显示了一个带有 ON/OFF 流量控制的传输示例。
图 4.7 ON/OFF 流量控制
4.2.3.2 基于信用的流量控制
在基于信用的流量控制(CB)中,上游节点拥有关于下游缓冲区中空槽数量的信息。我们称此信息为 CN(信用编号)。每当上游节点向下游缓冲区发送一个迁移时,该数字就会减 1。当下游缓冲区向其他节点发送一些flit时,它们也会向上游路由器发送信用控制信号,当上游路由器收到该信号时,与该路径关联的CN适当增加。图 4.8 说明了数据流和传输示例。在此示例中,最初路由器 2 被阻塞,并且 CN 递减。接下来 Router 2 开始发送flits 和 credit 信号被发送到路由器1,路由器 1 接收信号并重新开始向路由器 2 发送 flits。

文章详细介绍了网络-on-chip(NoC)中的流量控制策略,包括ON/OFF、基于信用和ACK/NACK方法,并探讨了如何避免死锁和活锁问题,以及路由算法的基本概念,如单播、多播、分布式和源路由等。
最低0.47元/天 解锁文章
5753

被折叠的 条评论
为什么被折叠?



