- 参考链接1:https://blog.csdn.net/yang1573/article/details/128787167
- 参考链接2:https://shili2017.github.io/posts/NOC5/
- 参考文件:SE22_noc_flow_control.pdf
Circuit Switching 就是独占所有的链路,需要提前request和响应,bufferless也可以使用
store and forward 只有一个完整的packet传完才会传到下一个结点
cut-through 相比于store and forward可以流水线流起来
wormhole相比于cut-through,按照flit来分配buffer,也就是说即使buffer大小小于整个packet大小也没关系
- 题目:Design and Analysis of Hybrid Flow Control for Hierarchical Ring Network-on-Chip
- 时间:2016
- 期刊:TC
- 研究机构:KAIST
本文是面向Hierarchical Ring Network的混合流量控制:提出了一种新颖的混合流量控制方法,其中channel在flit粒度上分配,而buffer在packet粒度上分配
for a packet of S flits, the router needs to obtain S credits before the packet can be sent.
reorder buffer的设计可以简化一下:
- flits from a single packet will still arrive in-order but not necessarily in consecutive cycles
- there will not be multiple partial packets within a re-order buffer that are sent from the same source to the same destination.
- 题目:The Connection-Then-Credit Flow Control Protocol for Heterogeneous Multicore Systems-on-Chip
- 时间:2010
- 期刊:TCAD
- 研究机构:哥伦比亚大学
首先文章介绍了一种协议级死锁的情况,现在有两条数据流
- core3->core1->core4
- core6->core2->core0
其中core6->core2和core1->core4之间有重复链路,core2->core0与core3->core1之间有重复链路
core6->core2的packet阻塞了core1->core4,进而阻塞了core3->core1,进而阻塞了core2->core0,形成了依赖环
VC能保住解决问题,但VC的数量是硬件决定的,但message种类是应用决定的,有可能超过VC数量,而end-to-end flow control protocol想做的就是从硬件层面就解决协议级死锁
credit-based(CB)
虚通道需要NoC中的所有router都有多个虚通道,但CB只要求在network interface端有多个queue就行,每次发送后更新相应的credit counter
connection-then-credits(CTC)
CTC相比CB,减少了queue的数量和credit的数量,通过握手的机制实现
- 题目:Weighted Round Robin Configuration for Worst-Case Delay Optimization in Network-on-Chip
- 时间:2016
- 期刊:TVLSI
- 研究机构:KTH
本篇论文的主要贡献:
这篇论文考虑加权RR调度策略,对于不同的应用需要确定权重参数,那么这篇论文就是求权重参数,来满足QoS要求。
现有很多网络QoS的分析是基于排队论的,但是泊松分布不适合NoC,为此network calculus就是一种流量模型,可以模拟各种不同的通信模式
Network calculus is able to model all the traffic patterns with bounds defined by the arrival curves.