https://mp.weixin.qq.com/s/ohBVNAXZUA538qSxfBGMKA
简单介绍Broadcaster的实现。
1. Broadcaster
广播即是把输入口的输入转发到每个输出口输出。
Takes in data on one decoupled interface and broadcasts it to N decoupled output interfaces.
2. io
a. in:输入口;
b. out: n个输出口;
3. idx
idx标识当前转发的输出端口号。
idx从0开始递增,增加到n-1反转为0:
这样就可以逐个转发到每一个输出端口。
4. save
save存储in的数据,以供后续转发使用。
5. io.out.head
io.in的值首先转发到io.out(0),即io.out.head:
当io.in输出到io.out.head的同时,io.in.bits也缓存到save中:
6. io.out(i)
随着idx的递增,逐个转发save中的数据。
7. 附录
略