跳转至

外设篇 - 总线

任务说明

请先阅读 外设篇 - 概述总线 - 概述

任务实现

总线节点接受信息采用多生产者单消费者结构,从每个任务末端获取指令,然后通过总线发送给外设,外设返回的状态也通过总线返回给任务末端。

总线是全局节点的一种。

总线执行逻辑中,需要完成以下部分:

  1. 等待指令
  2. 收到新指令,检查合法性,根据指令标签发给对应的外设(指令类型检查交给泛型的静态检查)

信号不应该在总线上滞留太多时间.jpg

完成本模块需要做的事情:

  1. 修改 Node 实现,为每个 Node 节点增加一个生产者,在 Exp 中新建节点时为每个节点分配一个生产者对象
  2. 在每个任务节点中检查 is_end 属性,如果为假,则向 output 发送指令, 如果为真,则使用任务生产者发送指令
  3. 总线节点中掌握所有外设,同时保留消费者对象。
  4. 实现总线节点逻辑