嵌入式系统设计中的建模与通信机制
在嵌入式系统设计中,建模和通信机制是至关重要的环节。不同的建模和通信方式适用于不同的应用场景,了解它们的特点和适用范围,有助于我们设计出更高效、更可靠的系统。
1. 通信与计算模型分类
通信和计算模型(MoCs)可以根据通信模型(由任务图中的边反映)和组件内的计算模型(由任务图中的节点反映)进行分类。下面将详细介绍这些模型。
1.1 通信模型
通信模型主要分为共享内存和消息传递两种范式。
- 共享内存 :所有组件通过访问相同的内存进行通信。对共享内存的访问需要进行保护,特别是在涉及写操作时,必须保证组件在访问共享内存时具有独占访问权。保证资源独占访问的机制包括信号量、条件临界区和监视器等。共享内存通信速度快,但在没有物理公共内存的多处理器系统中难以实现。
- 消息传递 :通过发送和接收消息进行通信。即使没有公共内存,消息传递也很容易实现,但通常比基于共享内存的通信慢。消息传递又可分为以下三种技术:
- 异步消息传递(非阻塞通信) :组件通过可缓冲消息的通道发送消息进行通信,发送者无需等待接收者准备好接收消息。这种方式类似于发送信件或电子邮件,但可能存在消息存储和缓冲区溢出的问题。相关的模型包括通信有限状态机和数据流模型。
- 同步消息传递(阻塞通信,基于会合的通信) :可用组件通过称为“会合”的原子、瞬时动作进行通信。先到达通信点的组件必须等待伙伴也到达通信点。这种方式类似于物理会议或电话通话,没有溢出风险,但性能可能会受到影响。采用