8、RapidIO系统通信与寻址机制解析

RapidIO系统通信与寻址机制解析

1. 消息操作

消息排队有一种更具扩展性的方法,即采用两级方法。若要实现并发操作,就需要多个结构。其中,FIFO 是一个固定大小的循环队列,消息帧的大小等于系统中接收器所能接受的最大消息操作大小。和接收端一样,出站插槽可以是虚拟的,任意字母编号都能由任意字母插槽处理。

当本地处理器要发送消息时,会按以下步骤操作:
1. 将消息存储在本地内存中。
2. 把消息帧描述符(MFD)写入出站邮箱端口,该端口会将其写入出站邮政 FIFO 头指针所指示的位置。
3. 增加头指针。

这种方法的优势在于软件可以在本地内存中存储一个或多个预设消息。当需要向特定端点传达事件时,只需将相应消息帧的地址写入出站邮箱,出站邮箱就会生成消息事务并完成操作。

如果出站头指针和尾指针不相等,就表示有消息等待发送。此时,出站邮箱端口会读取出站尾指针所指向的 MFD,然后减少该指针(这可能会引发一次内存读取,以预取下一 MFD)。接着,硬件会利用 MFD 中存储的信息读取消息帧,将其打包并传输给接收器。若有硬件支持,通过扩展出站消息队列中的字母插槽区分,就可以并发传输多条消息。

若空闲列表的头指针和尾指针相同,说明 FIFO 为空,没有更多 MFD 需要处理。下溢情况是致命的,因为这表明系统行为异常,该信息也可作为状态寄存器的一部分。

由于出站和入站硬件是独立的实体,更复杂的出站邮箱可以通过简化消息描述符的复杂度,与较简单的入站邮箱进行通信,反之亦然。软件可以在系统初始设置时确定设备的能力,设备消息硬件的能力存储在端口配置寄存器中。

2. RapidIO 系统的系统级
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值