门铃事务格式和消息事务格式
门铃事务格式(FT=10)
类型10数据包格式是(DOORBELL)门铃事务格式,这类型事务没有载荷有效数据,结构非常简单,用于简单的消息传递。
3.2.6 消息事务格式(FT=11)
对消息事务的理解,首先要明白其应用场景。
如下图所示是消息事务格式,这与之前的有较大的不同,下面首先对比较陌生的几个字段进行阐述。
字段 | 值 | 含义 | |
Ftype | 4‘b1011 | Ftype=11表示这是一个MESSAGE事务 | |
Msglen | 包的个数 | 消息长度(Message Length):指的是组成该消息的包的总数。值为0时表明该包是一个单包消息,值为15(4’b1111)时,表明这是一个由16个包组成的消息。 | |
Ssize | 4’b0000~4’b1000 | 保留Reserved) | 标准消息包数据大小(Stardard message packet data size)。该字段告诉消息接收者一个单独消息操作除消息中最后一个包外组成消息的所有包的数据载荷大小。这样可以防止发送者过度延长最后一个包的数据字段并允许接收者正确的将包放入本地存储器 |
4’b1001 | 8字节(byte) | ||
4’b1010 | 16字节(byte) | ||
4’b1011 | 32字节(byte) | ||
4’b1100 | 64字节(byte) | ||
4’b1101 | 128字节(byte) | ||
4’b1110 | 256字节(byte) | ||
4’b1111 | 保留Reserved) | ||
Letter | 2bit信件。该字段用来识别信箱(MailBox)中的一个槽(SLOT)。该字段允许发送方同时发送最多4个消息到接收方的同一个信箱中 | ||
Mbox | 信箱的哪个格子 | 2bit信箱(MailBox)。该字段用来指定目标处理部件中的接收信箱 | |
Msgseg | 哪个信箱 | 4bit消息段(Message Segment)。该字段用来表明该包是组成消息的包中的第几个包。值为0表明该包是消息的第一个包。值为15(4’b1111)表明该包是消息的第16个包。 | |
Xmbox | 对于单包数据消息事务,该字段用来指明目标信箱的高四位。该字段与Msgseg占用相同的字段。 Xmbox字段和mbox字段组合使用的定义如下: xmbox || mbox : mailbox number 0000 00:mailbox0 0000 01:mailbox1 0000 10:mailbox2 0000 11:mailbox3 0001 00:mailbox4 1111 11:mailbox63 |
消息传递和I/O操作的区别是什么?为什么要单独将其拿出来?
RapidIO体系结构包括一种可以用于消息的包传输机制。RapidIO消息模型应满足下列目标:
1、消息由一个或多个事务组成,这些事务可以通过无序的互连发送和接收。
2、发送者可以有多个正在排队等待发送的未完成的消息。
3、发送者可以在低优先级消息前发送高优先级消息,也可以为了发送一个高优先级消息而抢占低优先级消息,并在高优先级消息完成后恢复低优先级消息(基于优先级的并发性)。
4、发送者无需了解接收者的内部结构或存储器映射。
5、消息接收者控制它本身的本地地址空间。
6、如果需要,接收者可以有多个未完成的正在排队等待服务的消息。
7、如果需要,接收者可以接收多个并发的多事务(multiple-transaction)消息。
RapidIO消息传递逻辑规范定义了两种不同的包格式用于消息事务。第10类包格式用来发送非常短的16位数据载荷,第10类包也称为门铃(DOORBELL)事务,门铃事务很适合发送处理器间的中断。多事务消息用第11类包发送最多4096字节的数据载荷。下面将分别介绍两种事务。
快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~
有建议、有需求、有疑问、联系我