System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请属于总线,具体涉及一种防止总线死锁的方法及相关装置。
技术介绍
1、目前,在一种多主设备master-多从设备slave的拓扑架构中,来自master的单个写任务会拆分成多个slave的写任务,以降低单个slave的数据吞吐压力,或者是单个slave数据吞吐速率存在上限,但单个slave不能满足单个master的吞吐速率,因此需要并联多个slave以满足master的吞吐速率。这种情况下,多个slave对写任务的处理并非同步,可能会造成总线死锁。
2、死锁情况如图1所示,芯片包括主设备ma、主设备mb、从设备s0和从设备s1,来自ma和mb的写任务会平均分发到s0和s1,且轮流访问s0和s1。axi总线规定写任务命令可以提前派发,对应的写任务数据随后传输。当ma和mb的任务同时到来时,s0和s1处理行为并非完全同步,导致一段时间之内,s0处理来自ma的数据远多于mb,而s1正好相反,导致ma-s1和mb-s0两条数据路径发生拥塞(s1和s0的先进先出缓存空间fifo均处于full满状态),而ma-s0和mb-s1路径出现数据亏损(fifo处于empty空状态)。如果当前s0处于向ma索取数据阶段但是路径上无数据供应,s1处于向mb索取数据阶段但是路径上无数据供应;ma正在向s1发送写任务但是数据路径上已经被塞满,mb正在向s0发送写任务但是数据路径上已经被塞满,此时四条路径进入到互相等待阶段,造成死锁。
技术实现思路
1、本申请实施例提供了一种防止总线死锁的方法及
2、第一方面,本申请实施例提供了一种防止总线死锁的方法,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;所述方法包括:
3、向所述多个主设备发送第一指令,所述第一指令用于指示所述目标芯片确定每一主设备对所述目标芯片性能影响的参考值,所述参考值为所述主设备以预设方式降低输入带宽时所述目标芯片执行预设业务程序的时长,所述目标芯片的所述多个主设备用于向所述芯片调试设备发送所述参考值;
4、当判断出所述多个主设备中存在两个主设备的参考值不相同,则基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备;
5、当检测到所述关键主设备访问所述多个从设备执行写入操作时,向所述非关键主设备发送带宽降低指令,所述带宽降低指令用于指示所述非关键主设备以所述预设方式降低目标宽度的输入带宽;
6、当检测到所述关键主设备完成所述写入操作时,向所述非关键主设备发送带宽恢复指令,所述带宽恢复指令用于指示所述非关键主设备恢复输入带宽。
7、第二方面,本申请实施例提供了一种防止总线死锁的方法,应用于目标芯片中的目标主设备,所述目标主设备与芯片调试设备连接,所述目标芯片包括多个主设备和多个从设备,所述目标主设备为所述多个主设备中的任意一个;所述方法包括:
8、当接收到来自所述芯片调试设备的第二指令时,检测所述多个从设备的先进先出缓存空间的剩余空间;
9、向所述芯片调试设备发送包括所述剩余空间的剩余空间信息;
10、当接收到来自所述芯片调试设备的任务暂停指令时,暂停下发目标任务。
11、第三方面,本申请实施例提供了一种防止总线死锁的装置,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;所述防止总线死锁的装置,包括:传输单元和划分单元,其中,
12、所述传输单元,用于向所述多个主设备发送第一指令,所述第一指令用于指示所述目标芯片确定每一主设备对所述目标芯片性能影响的参考值,所述参考值为所述主设备以预设方式降低输入带宽时所述目标芯片执行预设业务程序的时长,所述目标芯片的所述多个主设备用于向所述芯片调试设备发送所述参考值;
13、所述划分单元,用于当判断出所述多个主设备中存在两个主设备的参考值不相同,则基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备;
14、所述传输单元,还用于当检测到所述关键主设备访问所述多个从设备执行写入操作时,向所述非关键主设备发送带宽降低指令,所述带宽降低指令用于指示所述非关键主设备以所述预设方式降低目标宽度的输入带宽;
15、所述传输单元,还用于当检测到所述关键主设备完成所述写入操作时,向所述非关键主设备发送带宽恢复指令,所述带宽恢复指令用于指示所述非关键主设备恢复输入带宽。
16、第四方面,本申请实施例提供了一种防止总线死锁的装置,应用于目标芯片中的目标主设备,所述目标主设备与芯片调试设备连接,所述目标芯片包括多个主设备和多个从设备,所述目标主设备为所述多个主设备中的任意一个,包括:接收单元、传输单元和处理单元,其中,
17、所述接收单元,用于当接收到来自所述芯片调试设备的第二指令时,检测所述多个从设备的先进先出缓存空间的剩余空间;
18、所述传输单元,用于向所述芯片调试设备发送包括所述剩余空间的剩余空间信息;
19、所述处理单元,用于当接收到来自所述芯片调试设备的任务暂停指令时,暂停下发目标任务。
20、第五方面,本申请实施例提供了一种电子设备,包括处理器、存储器以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本申请实施例第一方面中的步骤的指令。
21、第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序/指令,所述计算机程序/指令被处理器执行时实现本申请实施例第一方面中的步骤。
22、第七方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
23、可以看出,本申请实施例中,芯片调试设备先向多个主设备发送第一指令,第一指令用于指示目标芯片确定每一主设备对目标芯片性能影响的参考值,参考值为主设备以预设方式降低输入带宽时目标芯片执行预设业务程序的时长,目标芯片用于向芯片调试设备发送参考值,接着当判断出多个主设备中存在两个主设备的参考值不相同,则基于参考值将多个主设备划分为关键主设备和非关键主设备,进一步,当检测到关键主设备访问从设备执行写入操作时,向非关键主设备发送带宽降低指令,带宽降低指令用于指示非关键主设备以预设方式降低目标宽度的输入带宽,最后,当检测到关键主设备完成写入操作时,向非关键主设备发送带宽恢复指令,带宽恢复指令用于指示非关键主设备恢复输入带宽。通过区分出关键主本文档来自技高网...
【技术保护点】
1.一种防止总线死锁的方法,其特征在于,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在向所述多个主设备发送第一指令之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在向所述多个主设备发送第二指令之后,所述方法包括:
4.根据权利要求1所述的方法,其特征在于,当所述多个主设备包括第一主设备和第二主设备,所述参考值包括所述第一主设备对应的第一参考值和所述第二主设备对应的第二参考值,所述基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备,包括:
5.根据权利要求1所述的方法,其特征在于,在所述向所述非关键主设备发送带宽降低指令之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述非关键主设备降低输入带宽的所述预设方式包括以下至少一种:所述非关键主设备降低时钟频率、所述非关键主设备关闭时钟和所述非关键主设备降低超前传输能力。
7.一种防止总线死锁的装置
8.一种芯片调试设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-6任一项所述的方法中的步骤的指令。
9.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-6任一项所述的方法。
...【技术特征摘要】
1.一种防止总线死锁的方法,其特征在于,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在向所述多个主设备发送第一指令之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在向所述多个主设备发送第二指令之后,所述方法包括:
4.根据权利要求1所述的方法,其特征在于,当所述多个主设备包括第一主设备和第二主设备,所述参考值包括所述第一主设备对应的第一参考值和所述第二主设备对应的第二参考值,所述基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备,包括:
5.根据权利要求1所述的方法,其特征在于,在所述向所述非关键主设备发送带宽降低指令之前,所述方法还包括:
6.根据权利要求1所述...
【专利技术属性】
技术研发人员:戴林颖,朱建斌,曹祎,
申请(专利权)人:珠海市芯动力科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。