(流)写事务包格式
写事务包格式(FT=5)
写类型格式包包括NWRITE、NWRITE_R、ATOMIC_swap、compare-and-swap、test-and-swap这几种类型。这一类事务包括有效数据,对于有效数据等于或小于一个双字的数据组合方式由Wrsize、Wdptr生成的查找表来确定,对于整数倍的双字数据,wrsize字段指定多个双字事务的数据有效负载的最大大小。对于NWRITE,是不需要响应的写事务,故srcID是任意值。NWRITE_R是需要接收方响应的两种操作,这两种操作对于请求放指示TT的不同,请求方可以用这两种事务往目标方指定的地址写入数据。
对于原子操作的test-and-swap模式和swap,只允许1个双字的数据载荷。而compare-and-swap模式允许两个双字的有效数据载荷。
它们的协议如下所示。
各个字段的含义与3.2.1一致,只不过多了数据段。
流写事务包格式(FT=6)
事务类型6只有一种事务,就是流写(swrite streaming write)。这可以看做NWRITE的一种特殊形式,它没有表示数据长度的字段(即Wrsize、Wdptr),所以只能通过包内的数据长度来判断,数据字段的长度可以在8到256之间,且必须双字对齐,长度是双字的整数倍。这种模式一般用来迁移DMA类操作的大量数据,传输效率很高。
快来扫描下方二维码关注公众号,领取站内所有相关资料,所有哦~
有建议、有需求、有疑问、联系我