AXI Deadlock死锁解析

AXI Rules

  1. 来自不同master的transcation没有ordering的要求
  2. 读写的transcation没有ordering的要求
  3. AXI3协议支持写数据Inteleave:但要求不同transcation的写数据第一笔数据必须和master发送地址(不同ID)的顺序一致
  4. 如果是相同的ID,则master端口按照顺序发送数据
    在这里插入图片描述

死锁怎么发生的?

提示:协议中ordering 及re-ordering rule在系统不同组件中发生了不同的作用,难以自洽

死锁发生案例1

Using the AXI protocol, a deadlock can occur if an interconnect stalls a slave at the slave port in order to comply with ordering rules at the master port.
为了满足master端口协议规定的ordering 规则,总线互联stall了slave端口。
For reads, a deadlock can occur if an interconnect needs to re-order read data from multiple slaves to the same master.
For writes, a deadlock can

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在计算机网络中,axi(Advanced eXtensible Interface)是一种高性能、低功耗的总线协议,常用于连接处理器、内存和外设等片内外设备。而乱序发送是指发送方无需按照顺序发送数据,而是根据一定的算法将数据乱序发送。 在axi实现乱序发送的过程中,首先需要发送方和接收方协商好支持乱序传输的协议。然后,发送方需要根据乱序传输协议的规定,在发送数据之前对数据进行编号和排序。 具体的实现过程可以如下: 1. 发送方将要发送的数据按照一定的规则进行编号,并对数据进行排序。可通过插入排序、快速排序或堆排序等算法来实现排序。 2. 发送方使用一个发送缓冲区来暂时存放已排序的数据。在发送数据之前,将数据存放在发送缓冲区中,并标记数据的顺序。 3. 发送方根据乱序传输协议的规定,选择适当的时机将已标记好顺序的数据发送出去。可以根据数据的优先级或其他条件来确定发送的优先顺序。 4. 接收方按照接收顺序收取数据,并根据编号将数据按照正确的顺序恢复。接收方可以使用一个接收缓冲区来存放乱序传输的数据,并按照编号顺序将数据正确还原。 5. 在数据发送和接收完成后,发送方和接收方需要进行必要的协商和确认,确保数据的正确传输。 通过以上步骤,axi可以实现乱序发送。乱序发送可以提高数据传输的效率,在某些情况下可以减少传输延迟,提高系统的性能。同时,乱序发送也需要发送方和接收方之间进行一定的协商和配合,以确保数据的正确传输和顺序恢复。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值