外设篇 - 总线
任务说明
任务实现
总线节点接受信息采用多生产者单消费者结构,从每个任务末端获取指令,然后通过总线发送给外设,外设返回的状态也通过总线返回给任务末端。
总线是全局节点的一种。
总线执行逻辑中,需要完成以下部分:
- 等待指令
- 收到新指令,检查合法性,根据指令标签发给对应的外设(指令类型检查交给泛型的静态检查)
信号不应该在总线上滞留太多时间.jpg
完成本模块需要做的事情:
- 修改 Node 实现,为每个 Node 节点增加一个生产者,在 Exp 中新建节点时为每个节点分配一个生产者对象
- 在每个任务节点中检查 is_end 属性,如果为假,则向 output 发送指令, 如果为真,则使用任务生产者发送指令
- 总线节点中掌握所有外设,同时保留消费者对象。
- 实现总线节点逻辑