CN117331872B - 防止总线死锁的方法及相关装置 - Google Patents
防止总线死锁的方法及相关装置 Download PDFInfo
- Publication number
- CN117331872B CN117331872B CN202311618756.8A CN202311618756A CN117331872B CN 117331872 B CN117331872 B CN 117331872B CN 202311618756 A CN202311618756 A CN 202311618756A CN 117331872 B CN117331872 B CN 117331872B
- Authority
- CN
- China
- Prior art keywords
- master
- target
- devices
- chip
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000009467 reduction Effects 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 24
- 239000000725 suspension Substances 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 11
- 230000007423 decrease Effects 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000011084 recovery Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 8
- 230000003993 interaction Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种防止总线死锁的方法及相关装置,方法包括:向多个主设备发送第一指令,基于参考值将多个主设备划分为关键主设备和非关键主设备;当检测到关键主设备访问从设备执行写入操作时,向非关键主设备发送带宽降低指令;当检测到关键主设备完成写入操作时,向非关键主设备发送带宽恢复指令。采用本申请实施例通过区分出关键主设备和非关键主设备,在关键主设备访问从设备执行写入操作时,降低非关键主设备的输入带宽,从而实现多个从设备的总带宽大于多个主设备的带宽,保证了各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量。
Description
技术领域
本申请属于总线技术领域,具体涉及一种防止总线死锁的方法及相关装置。
背景技术
目前,在一种多主设备master-多从设备slave的拓扑架构中,来自master的单个写任务会拆分成多个slave的写任务,以降低单个slave的数据吞吐压力,或者是单个slave数据吞吐速率存在上限,但单个slave不能满足单个master的吞吐速率,因此需要并联多个slave以满足master的吞吐速率。这种情况下,多个slave对写任务的处理并非同步,可能会造成总线死锁。
死锁情况如图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是本申请实施例提供的一种第二防止总线死锁的装置的功能单元组成框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例中的“和/或”,描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示如下三种情况:单独存在A;同时存在A和B;单独存在B。其中,A、B可以是单数或者复数。
本申请实施例中,符号“/”可以表示前后关联对象是一种“或”的关系。另外,符号“/”也可以表示除号,即执行除法运算。例如,A/B,可以表示A除以B。
本申请实施例中的“至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合,是指一个或多个,多个指的是两个或两个以上。例如,a、b或c中的至少一项(个),可以表示如下七种情况:a,b,c,a和b,a和c,b和c,a、b和c。其中,a、b、c中的每一个可以是元素,也可以是包含一个或多个元素的集合。
本申请实施例中的“等于”可以与大于连用,适用于大于时所采用的技术方案,也可以与小于连用,适用于与小于时所采用的技术方案。当等于与大于连用时,不与小于连用;当等于与小于连用时,不与大于连用。
为了更好地理解本申请实施例的方案,下面先对本申请实施例可能涉及的电子设备进行介绍。
本申请实施例所涉及到的电子设备可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其他处理设备,以及各种形式的用户设备(user equipment,UE),移动台(mobile station,MS),电子设备(terminaldevice)等等。为方便描述,上面提到的设备统称为电子设备。电子设备可以包括芯片调试设备。
请参阅图2,图2是本申请实施例提供的一种防止总线死锁的系统的架构示意图。如图2所示,所述系统包括芯片调试设备101和目标芯片102,目标芯片102包括多个主设备和多个从设备,芯片调试设备101分别与目标芯片102的多个主设备连接。
其中,主设备可以是中央处理器(Central Processing Unit,CPU),从设备可以是存储器和寄存器等,多个主设备和多个从设备之间通过总线实现数据交换,总线可以是axi4-full总线。其中,主设备下发一个访问请求是平分到多个从设备的,且多个从设备的存储空间完全相同的。
其中,主设备与从设备交互确认从设备的先进先出缓存空间的剩余空间。
其中,如图3所示,图3是本申请实施例提供的另一种防止总线死锁的系统的架构示意图,目标芯片102包括第一主设备103、第二主设备104、第一从设备105和第二从设备106,芯片调试设备101分别与第一主设备103和第二主设备104连接,第一主设备103分别与第一从设备105和第二从设备106连接,第二主设备104分别与第一从设备105和第二从设备106连接。
在一个可能的示例中,芯片调试设备101先向多个主设备发送第一指令,第一指令用于指示目标芯片102确定每一主设备对目标芯片102性能影响的参考值,参考值为主设备以预设方式降低输入带宽时目标芯片102执行预设业务程序的时长,目标芯片102用于向芯片调试设备101发送参考值,芯片调试设备101接着当判断出多个主设备中存在两个主设备的参考值不相同,则基于参考值将多个主设备划分为关键主设备和非关键主设备,芯片调试设备101接着当检测到关键主设备访问从设备执行写入操作时,向非关键主设备发送带宽降低指令,带宽降低指令用于指示非关键主设备以预设方式降低目标宽度的输入带宽,最后,芯片调试设备101当检测到关键主设备完成所述写入操作时,向非关键主设备发送带宽恢复指令,带宽恢复指令用于指示非关键主设备恢复输入带宽。通过区分出关键主设备和非关键主设备,在关键主设备访问从设备执行写入操作时,降低非关键主设备的输入带宽,从而实现多个从设备的总带宽大于多个主设备的带宽,保证了各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量。
请参阅图4,图4是本申请实施例提供的一种防止总线死锁的方法的流程示意图,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备,所述方法包括:
步骤S401,向所述多个主设备发送第一指令,所述第一指令用于指示所述目标芯片确定每一主设备对所述目标芯片性能影响的参考值,所述参考值为所述主设备以预设方式降低输入带宽时所述目标芯片执行预设业务程序的时长,所述目标芯片的所述多个主设备用于向所述芯片调试设备发送所述参考值。
其中,预设业务程序可以是人为设定或者系统默认。
其中,可通过逐个降低主设备的输入带宽,目标芯片逐个记录降低带宽后目标芯片运行预设业务程序的处理时长,即主设备对目标芯片性能影响的参考值,处理时长越长,说明该主设备对整个目标芯片的工作性能影响越大。
其中,预设方式包括:降低时钟频率、关闭时钟和降低超前传输能力。
步骤S402,当判断出所述多个主设备中存在两个主设备的参考值不相同,则基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备。
其中,关键主设备只有一个,非关键主设备为一个或者多个。
其中,划分标准为关键主设备为多个主设备中对整个芯片的工作性能影响最大的主设备。
其中,多个主设备的数量大于两个时,逐个以预设方式降低主设备的相同输入带宽,目标芯片记录降低带宽后目标芯片运行预设业务程序的处理时长,即对目标芯片性能影响的参考值,将处理时长最大的主设备作为关键主设备,其他主设备作为非关键主设备。
步骤S403,当检测到所述关键主设备访问所述多个从设备执行写入操作时,向所述非关键主设备发送带宽降低指令,所述带宽降低指令用于指示所述非关键主设备以所述预设方式降低目标宽度的输入带宽。
其中,关键主设备在访问从设备执行写入操作时,会向芯片调试设备发送访问从设备执行写入操作的交互信息,告诉芯片调试设备其正在访问从设备执行写入操作。
其中,考虑到前述死锁情况产生的条件是Ma、Mb、S0和S1之间的四种数据交互组合中空状态和满状态同时发生,若某一个条件不发生,将不会产生死锁,因此针对两个full满状态入手,若能实现两个full满状态或者其中一个full状态永远不会发生,则死锁现象永远不会发生,基于此在检测到关键主设备访问从设备执行写入操作时,通过降低多个非关键主设备的输入带宽,使得多个主设备的带宽小于多个从设备的带宽,此时多个从设备能够处理多个主设备的下发任务,不会出现与关键主设备存在数据交互的从设备的先进先出缓存空间fifo的数据堵塞,因此不会处于满状态,不会造成死锁。
其中,非关键主设备降低输入带宽的预设方式包括以下至少一种:非关键主设备降低时钟频率、非关键主设备关闭时钟和非关键主设备降低超前传输能力。
步骤S404,当检测到所述关键主设备完成所述写入操作时,向所述非关键主设备发送带宽恢复指令,所述带宽恢复指令用于指示所述非关键主设备恢复输入带宽。
其中,关键主设备完成写入操作时,会向芯片调试设备发送完成写入操作的交互信息,告诉芯片调试设备其完成写入操作。
可以看出,本申请实施例中,芯片调试设备先向多个主设备发送第一指令,第一指令用于指示目标芯片确定每一主设备对目标芯片性能影响的参考值,参考值为主设备以预设方式降低输入带宽时目标芯片执行预设业务程序的时长,目标芯片用于向芯片调试设备发送参考值,接着当判断出多个主设备中存在两个主设备的参考值不相同,则基于参考值将多个主设备划分为关键主设备和非关键主设备,进一步,向非关键主设备发送带宽降低指令,带宽降低指令用于指示非关键主设备以预设方式降低目标宽度的输入带宽,最后,当检测到关键主设备完成写入操作时,向非关键主设备发送带宽恢复指令,带宽恢复指令用于指示非关键主设备恢复输入带宽。通过区分出关键主设备和非关键主设备,在关键主设备访问从设备执行写入操作时,降低非关键主设备的输入带宽,从而实现多个从设备的总带宽大于多个主设备的带宽,保证了各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量,有利于提高总线的数据传输效率。
在一个可能的示例中,在向所述多个主设备发送第一指令之后,上述方法还可包括如下步骤:当判断出所述多个主设备中任意两个主设备的参考值相同,则向所述多个主设备发送第二指令,所述第二指令用于指示目标主设备监测所述多个从设备的先入先出缓存空间的剩余空间,所述目标主设备用于向所述芯片调试设备发送包括所述剩余空间的剩余空间信息。
其中,目标主设备为多个主设备中的任意一个。
其中,当判断出多个主设备中任意两个主设备的参考值相同,则说明多个主设备对目标芯片性能影响相同,则无法通过参考值将多个主设备划分为关键主设备和非关键主设备,此时通过向目标主设备下发第二指令,实现目标主设备监测多个从设备先入先出缓存空间的剩余空间。
其中,目标主设备在接收到第二指令后,实时检测多个从设备的先进先出缓存空间的剩余空间,并每隔预设时间段向芯片调试设备发送包括剩余空间的剩余空间信息。
可见,在本示例中,芯片调试设备通过主设备监控从设备的先进先出缓存空间的状态,有利于后续在检测到目标任务对应的数据量超出剩余空间时,与目标主设备交互暂停目标主设备下发目标任务,保证各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量,有利于提高总线的数据传输效率。
在一个可能的示例中,当在向所述多个主设备发送第二指令之后,上述方法可包括如下步骤:接收来自所述目标主设备的所述剩余空间信息;确定目标任务所需适配到目标从设备存储的目标数据量;若判断出所述目标数据量超出所述目标从设备的所述剩余空间,则向所述目标主设备发送任务暂停指令,所述任务暂停指令用于指示所述目标主设备暂停下发所述目标任务。
其中,目标主设备为多个主设备中的任意一个,目标从设备为多个从设备中任意一个。
其中,目标任务所需多个从设备中每一从设备存储的数据量是相同的,也就是说主设备下发的写任务数据会均分到多个从设备。
其中,目标任务可以是目标主设备下发的写数据任务,目标主设备下发目标任务时,会向芯片调试设备发送包括目标任务的任务信息。
其中,目标主设备暂停向目标从设备下发目标任务要满足目标数据量超出剩余空间条件,即下发目标任务会造成目标从设备的先进先出缓存空间处于满状态。
可选地,在向所述目标主设备发送任务暂停指令之后,还包括以下步骤:接收来自主设备的目标剩余空间信息,目标剩余空间信息包括目标从设备当前的目标剩余空间,当检测到目标数据量未超出目标剩余空间,则向目标主设备发送任务执行指令,任务执行指令用于指示目标主设备恢复下发目标任务。
可见,在本示例中,芯片调试设备通过监控从设备的先进先出缓存空间的状态,在检测到目标任务适配到目标从设备的目标数据量超出剩余空间时,与目标主设备交互暂停目标主设备下发目标任务,保证各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量,有利于提高总线的数据传输效率。
在一个可能的示例中,当所述多个主设备包括第一主设备和第二主设备,所述参考值包括所述第一主设备对应的第一参考值和所述第二主设备对应的第二参考值,所述基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备,上述方法可包括如下步骤:当检测到所述第二参考值大于预设参考值且所述第一参考值小于所述预设参考值时,则将所述第一主设备作为所述非关键主设备,以及将所述第二主设备作为所述关键主设备;当检测到所述第一参考值大于所述预设参考值且所述第二参考值小于所述预设参考值时,则将所述第一主设备作为所述关键主设备,以及将所述第二主设备作为所述非关键主设备。
其中,参考值越大,说明该主设备对整个目标芯片的工作性能影响越大。
其中,预设参考值可以人为设定或者系统默认,在此不做限定。
举例来说,在不降低主设备的带宽时,预设业务程序是计算110+131=241,目标芯片计算110+131=241需要10ms,预设参考值为10.5ms,以预设方式降低第一主设备预设宽度的输入带宽,第二主设备的输入带宽不变之后,目标芯片计算110+131=241变成了10.1ms,第一参考值为10.1ms,以预设方式降低第二主设备的输入带宽,第一主设备的输入带宽不变之后,目标芯片计算110+131=241变成了11ms,第二参考值为11ms,第二参考值大于预设参考值且第一参考值小于预设参考值,则说明第二主设备对芯片的工作性能影响更大,确定第二主设备为关键主设备。
可见,在本示例中,芯片调试设备区分出关键主设备和非关键主设备,有利于后续在关键主设备访问从设备执行写入操作时,降低非关键主设备的输入带宽,从而实现多个从设备的总带宽大于多个主设备的带宽,保证了各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量,有利于提高总线的数据传输效率。
在一个可能的示例中,在所述向所述非关键主设备发送带宽降低指令之前,上述方法可包括如下步骤:确定所述多个主设备当前的第一总带宽和所述多个从设备当前的第二总带宽;根据所述第一总带宽、所述第二总带宽和预设带宽,确定所述目标宽度。
其中,第一总带宽大于第二总带宽。
其中,目标宽度=第一总带宽-第二总带宽+预设带宽,预设带宽可以人为设定或者系统默认,在此不做限定。
其中,当非关键主设备为一个时,非关键主设备降低目标宽度的输入带宽后,实现多个主设备的带宽小于多个从设备的带宽;当非关键主设备为多个时,可基于目标宽度确定每一非关键主设备需要降低的第一带宽,每个非关键主设备需要降低的第一带宽相同或者不同,例如:可确定非关键主设备的第一数量,进一步根据第一带宽=目标宽度/第一数量求得每一主设备所需降低的第一带宽;还可有其他方式确定每一非关键主设备所需降低的第一带宽,在此不做限定。
可见,在本示例中,芯片调试设备可确定非关键主设备所需降低输入带宽的目标宽度,实现多个从设备的总带宽大于多个主设备的带宽,保证了各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量。
请参阅图5,图5是本申请实施例提供的另一种防止总线死锁的方法的流程示意图,应用于目标芯片中的目标主设备,所述目标主设备与芯片调试设备连接,所述目标芯片包括多个主设备和多个从设备,所述目标主设备为所述多个主设备中的任意一个,所述方法包括:
步骤S501,当接收到来自所述芯片调试设备的第二指令时,检测所述多个从设备的先进先出缓存空间的剩余空间。
其中,目标主设备通过与多个从设备交互实时监测多个从设备的先进先出缓存空间的剩余空间,并每隔预设时间段向芯片调试设备发送包括剩余空间的剩余空间信息。
步骤S502,向所述芯片调试设备发送包括所述剩余空间的剩余空间信息。
其中,剩余空间信息包括多个从设备的先进先出缓存空间的剩余空间。
步骤S503,当接收到来自所述芯片调试设备的任务暂停指令时,暂停下发目标任务。
可选地,在当接收到来自所述芯片调试设备的任务暂停指令时,暂停下发目标任务之后,还包括以下步骤:向芯片调试设备发送目标剩余空间信息,目标剩余空间信息包括目标从设备当前的目标剩余空间。可以看出,本申请实施例中,目标芯片中的目标主设备当接收到来自芯片调试设备的第二指令时,检测多个从设备的先进先出缓存空间的剩余空间,接着向芯片调试设备发送剩余空间信息,最后,当接收到来自芯片调试设备的任务暂停指令时,暂停下发目标任务。通过监控从设备的先进先出缓存空间的状态,在检测到目标任务对应的数据量超出剩余空间时,与芯片调试设备交互暂停目标主设备下发目标任务,保证各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量,有利于提高总线的数据传输效率。
请参阅图6,图6是本申请实施例提供的一种第一电子设备的结构示意图,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;如图6所示,该第一电子设备包括第一处理器、第一存储器、第一通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述第一存储器中,上述一个或多个程序被配置由上述第一处理器执行以下步骤的指令:
向所述多个主设备发送第一指令,所述第一指令用于指示所述目标芯片确定每一主设备对所述目标芯片性能影响的参考值,所述参考值为所述主设备以预设方式降低输入带宽时所述目标芯片执行预设业务程序的时长,所述目标芯片的所述多个主设备用于向所述芯片调试设备发送所述参考值;
当判断出所述多个主设备中存在两个主设备的参考值不相同,则基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备;
当检测到所述关键主设备访问所述多个从设备执行写入操作时,向所述非关键主设备发送带宽降低指令,所述带宽降低指令用于指示所述非关键主设备以所述预设方式降低目标宽度的输入带宽;
当检测到所述关键主设备完成所述写入操作时,向所述非关键主设备发送带宽恢复指令,所述带宽恢复指令用于指示所述非关键主设备恢复输入带宽。
可以看出,本申请实施例中,第一电子设备先向多个主设备发送第一指令,第一指令用于指示目标芯片确定每一主设备对目标芯片性能影响的参考值,参考值为主设备以预设方式降低输入带宽时目标芯片执行预设业务程序的时长,目标芯片用于向芯片调试设备发送参考值,接着当判断出多个主设备中存在两个主设备的参考值不相同,则基于参考值将多个主设备划分为关键主设备和非关键主设备,进一步,当检测到关键主设备访问从设备执行写入操作时,向非关键主设备发送带宽降低指令,带宽降低指令用于指示非关键主设备以预设方式降低目标宽度的输入带宽,最后,当检测到关键主设备完成写入操作时,向非关键主设备发送带宽恢复指令,带宽恢复指令用于指示非关键主设备恢复输入带宽。通过区分出关键主设备和非关键主设备,在关键主设备访问从设备执行写入操作时,降低非关键主设备的输入带宽,从而实现多个从设备的总带宽大于多个主设备的带宽,保证了各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量。
在一个可能的示例中在向所述多个主设备发送第一指令之后,上述程序包括用于执行以下步骤的指令:
当判断出所述多个主设备中任意两个主设备的参考值相同,则向所述多个主设备发送第二指令,所述第二指令用于指示目标主设备监测所述多个从设备的先入先出缓存空间的剩余空间,所述目标主设备用于向所述芯片调试设备发送包括所述剩余空间的剩余空间信息。
在一个可能的示例中,当所述目标指令为所述第二指令时,在所述向所述多个主设备发送目标指令之后,上述程序包括还用于执行以下步骤的指令:
接收来自所述目标主设备的剩余空间信息;
确定目标任务所需适配到目标从设备存储的目标数据量;
若判断出所述目标数据量超出所述目标从设备的所述剩余空间,则向所述目标主设备发送任务暂停指令,所述任务暂停指令用于指示所述目标主设备暂停下发所述目标任务。
在一个可能的示例中,当所述多个主设备包括第一主设备和第二主设备,所述参考值包括所述第一主设备对应的第一参考值和所述第二主设备对应的第二参考值,所述基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备,上述程序包括用于执行以下步骤的指令:
当检测到所述第二参考值大于预设参考值且所述第一参考值小于所述预设参考值时,则将所述第一主设备作为所述非关键主设备,以及将所述第二主设备作为所述关键主设备;
当检测到所述第一参考值大于所述预设参考值且所述第二参考值小于所述预设参考值时,则将所述第一主设备作为所述关键主设备,以及将所述第二主设备作为所述非关键主设备。
在一个可能的示例中,在所述向所述非关键主设备发送带宽降低指令之前,上述程序包括还用于执行以下步骤的指令:
确定所述多个主设备当前的第一总带宽和所述多个从设备当前的第二总带宽;
根据所述第一总带宽、所述第二总带宽和预设带宽,确定所述目标宽度。
请参阅图7,图7是本申请实施例提供的一种第二电子设备的结构示意图,应用于目标芯片中的目标主设备,所述目标主设备与芯片调试设备连接,所述目标芯片包括多个主设备和多个从设备,所述目标主设备为所述多个主设备中的任意一个;如图7所示,该第二电子设备包括第二处理器、第二存储器、第二通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述第二存储器中,上述一个或多个程序被配置由上述第二处理器执行以下步骤的指令:
当接收到来自所述芯片调试设备的第二指令时,检测所述多个从设备的先进先出缓存空间的剩余空间;
向所述芯片调试设备发送包括所述剩余空间的剩余空间信息;
当接收到来自所述芯片调试设备的任务暂停指令时,暂停下发目标任务。
可以看出,本申请实施例中,第二电子设备当接收到来自芯片调试设备的第二指令时,检测多个从设备的先进先出缓存空间的剩余空间,接着向芯片调试设备发送剩余空间信息,最后,当接收到来自芯片调试设备的任务暂停指令时,暂停下发目标任务。通过监控从设备的先进先出缓存空间的状态,在检测到目标任务对应的数据量超出剩余空间时,与芯片调试设备交互暂停目标主设备下发目标任务,保证各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量,有利于提高总线的数据传输效率。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所提供的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图8是本申请实施例提供的一种第一防止总线死锁的装置的功能单元组成框图,如图8所示,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;所述第一防止总线死锁的装置,包括:第一传输单元801、划分单元802和第一处理单元803,其中,
所述第一传输单元801,用于向所述多个主设备发送第一指令,所述第一指令用于指示所述目标芯片确定每一主设备对所述目标芯片性能影响的参考值,所述参考值为所述主设备以预设方式降低输入带宽时所述目标芯片执行预设业务程序的时长,所述目标芯片的所述多个主设备用于向所述芯片调试设备发送所述参考值;
所述划分单元802,用于当判断出所述多个主设备中存在两个主设备的参考值不相同,则基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备;
所述第一传输单元801,还用于当检测到所述关键主设备访问所述多个从设备执行写入操作时,向所述非关键主设备发送带宽降低指令,所述带宽降低指令用于指示所述非关键主设备以所述预设方式降低目标宽度的输入带宽;
所述第一传输单元801,还用于当检测到所述关键主设备完成所述写入操作时,向所述非关键主设备发送带宽恢复指令,所述带宽恢复指令用于指示所述非关键主设备恢复输入带宽。
可以看出,本申请实施例描述的第一防止总线死锁的装置,先向多个主设备发送第一指令,第一指令用于指示目标芯片确定每一主设备对目标芯片性能影响的参考值,参考值为主设备以预设方式降低输入带宽时目标芯片执行预设业务程序的时长,目标芯片用于向芯片调试设备发送参考值,接着当判断出多个主设备中存在两个主设备的参考值不相同,则基于参考值将多个主设备划分为关键主设备和非关键主设备,进一步,当检测到关键主设备访问从设备执行写入操作时,向非关键主设备发送带宽降低指令,带宽降低指令用于指示非关键主设备以预设方式降低目标宽度的输入带宽,最后,当检测到关键主设备完成写入操作时,向非关键主设备发送带宽恢复指令,带宽恢复指令用于指示非关键主设备恢复输入带宽。通过区分出关键主设备和非关键主设备,在关键主设备访问从设备执行写入操作时,降低非关键主设备的输入带宽,从而实现多个从设备的总带宽大于多个主设备的带宽,保证了各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量。
在一个可能的示例中,在向所述多个主设备发送第一指令之后,所述第一传输单元801具体用于:
当判断出所述多个主设备中任意两个主设备的参考值相同,则向所述多个主设备发送第二指令,所述第二指令用于指示目标主设备监测所述多个从设备的先入先出缓存空间的剩余空间,所述目标主设备用于向所述芯片调试设备发送包括所述剩余空间的剩余空间信息。
在一个可能的示例中,当所述目标指令为所述第二指令时,在所述向所述多个主设备发送目标指令之后,所述第一处理单元803具体用于:
接收来自所述目标主设备的剩余空间信息;
确定目标任务所需适配到目标从设备存储的目标数据量;
若判断出所述目标数据量超出所述目标从设备的所述剩余空间,则向所述目标主设备发送任务暂停指令,所述任务暂停指令用于指示所述目标主设备暂停下发所述目标任务。
在一个可能的示例中,当所述多个主设备包括第一主设备和第二主设备,所述参考值包括所述第一主设备对应的第一参考值和所述第二主设备对应的第二参考值,所述基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备,所述划分单元802具体用于:
当检测到所述第二参考值大于预设参考值且所述第一参考值小于所述预设参考值时,则将所述第一主设备作为所述非关键主设备,以及将所述第二主设备作为所述关键主设备;
当检测到所述第一参考值大于所述预设参考值且所述第二参考值小于所述预设参考值时,则将所述第一主设备作为所述关键主设备,以及将所述第二主设备作为所述非关键主设备。
在一个可能的示例中,在所述向所述非关键主设备发送带宽降低指令之前,所述第一处理单元803具体用于:
确定所述多个主设备当前的第一总带宽和所述多个从设备当前的第二总带宽;
根据所述第一总带宽、所述第二总带宽和预设带宽,确定所述目标宽度。
请参阅图9,图9是本申请实施例提供的一种第二防止总线死锁的装置的功能单元组成框图,如图9所示,应用于目标芯片中的目标主设备,所述目标主设备与芯片调试设备连接,所述目标芯片包括多个主设备和多个从设备,所述目标主设备为所述多个主设备中的任意一个;所述第二防止总线死锁的装置,包括:接收单元901、第二传输单元902和第二处理单元903,其中,
所述接收单元901,用于当接收到来自所述芯片调试设备的第二指令时,检测所述多个从设备的先进先出缓存空间的剩余空间;
所述第二传输单元902,用于向所述芯片调试设备发送包括所述剩余空间的剩余空间信息;
所述第二处理单元903,用于当接收到来自所述芯片调试设备的任务暂停指令时,暂停下发目标任务。
可以看出,本申请实施例描述的第二防止总线死锁的装置,当接收到来自芯片调试设备的第二指令时,检测多个从设备的先进先出缓存空间的剩余空间,接着向芯片调试设备发送剩余空间信息,进一步,当接收到来自芯片调试设备的数据处理速度确定指令时,与目标从设备交互确定目标从设备的当前数据处理速度,以及向芯片调试设备发送包括当前数据处理速度的处理速度信息,最后,当接收到来自芯片调试设备的任务暂停指令时,暂停下发目标任务。通过监控从设备的先进先出缓存空间的状态,在检测到当前数据处理速度小于预设速度阈值且目标任务对应的数据量超出所述剩余空间时,与芯片调试设备交互暂停目标主设备下发目标任务,保证各个从设备的先进先出缓存空间始终处于非满状态,避免出现总线死锁的情况,提高芯片的质量,有利于提高总线的数据传输效率。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述防止总线死锁的方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理,例如,可以用于支持电子设备执行上述功能单元执行的步骤。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括控制平台。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器、随机存取器、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种防止总线死锁的方法,其特征在于,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;所述方法包括:
向所述多个主设备发送第一指令,所述第一指令用于指示所述目标芯片确定每一主设备对所述目标芯片性能影响的参考值,所述参考值为所述主设备以预设方式降低输入带宽时所述目标芯片执行预设业务程序的时长,所述目标芯片的所述多个主设备用于向所述芯片调试设备发送所述参考值;
当判断出所述多个主设备中存在两个主设备的参考值不相同,则基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备;
当检测到所述关键主设备访问所述多个从设备执行写入操作时,向所述非关键主设备发送带宽降低指令,所述带宽降低指令用于指示所述非关键主设备以所述预设方式降低目标宽度的输入带宽;
当检测到所述关键主设备完成所述写入操作时,向所述非关键主设备发送带宽恢复指令,所述带宽恢复指令用于指示所述非关键主设备恢复输入带宽;
当判断出所述多个主设备中任意两个主设备的参考值相同,则向所述多个主设备发送第二指令,所述第二指令用于指示目标主设备监测所述多个从设备的先入先出缓存空间的剩余空间,所述目标主设备用于向所述芯片调试设备发送剩余空间信息;
接收来自所述目标主设备的所述剩余空间信息;
确定目标任务所需适配到目标从设备存储的目标数据量;
若判断出所述目标数据量超出所述目标从设备的所述剩余空间,则向所述目标主设备发送任务暂停指令,所述任务暂停指令用于指示所述目标主设备暂停下发所述目标任务。
2.根据权利要求1所述的方法,其特征在于,当所述多个主设备包括第一主设备和第二主设备,所述参考值包括所述第一主设备对应的第一参考值和所述第二主设备对应的第二参考值,所述基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备,包括:
当检测到所述第二参考值大于预设参考值且所述第一参考值小于所述预设参考值时,则将所述第一主设备作为所述非关键主设备,以及将所述第二主设备作为所述关键主设备;
当检测到所述第一参考值大于所述预设参考值且所述第二参考值小于所述预设参考值时,则将所述第一主设备作为所述关键主设备,以及将所述第二主设备作为所述非关键主设备。
3.根据权利要求1所述的方法,其特征在于,在所述向所述非关键主设备发送带宽降低指令之前,所述方法还包括:
确定所述多个主设备当前的第一总带宽和所述多个从设备当前的第二总带宽;
根据所述第一总带宽、所述第二总带宽和预设带宽,确定所述目标宽度。
4.根据权利要求1所述的方法,其特征在于,所述非关键主设备降低输入带宽的所述预设方式包括以下至少一种:所述非关键主设备降低时钟频率、所述非关键主设备关闭时钟和所述非关键主设备降低超前传输能力。
5.一种防止总线死锁的装置,其特征在于,应用于芯片调试设备,所述芯片调试设备分别与目标芯片的多个主设备连接,所述目标芯片包括所述多个主设备和多个从设备;所述防止总线死锁的装置,包括:划分单元、传输单元和处理单元,其中,
所述传输单元,用于向所述多个主设备发送第一指令,所述第一指令用于指示所述目标芯片确定每一主设备对所述目标芯片性能影响的参考值,所述参考值为所述主设备以预设方式降低输入带宽时所述目标芯片执行预设业务程序的时长,所述目标芯片的所述多个主设备用于向所述芯片调试设备发送所述参考值;
所述划分单元,用于当判断出所述多个主设备中存在两个主设备的参考值不相同,则基于所述参考值将所述多个主设备划分为关键主设备和非关键主设备;
所述传输单元,还用于当检测到所述关键主设备访问所述多个从设备执行写入操作时,向所述非关键主设备发送带宽降低指令,所述带宽降低指令用于指示所述非关键主设备以所述预设方式降低目标宽度的输入带宽;
所述传输单元,还用于当检测到所述关键主设备完成所述写入操作时,向所述非关键主设备发送带宽恢复指令,所述带宽恢复指令用于指示所述非关键主设备恢复输入带宽;
所述传输单元,还用于当判断出所述多个主设备中任意两个主设备的参考值相同,则向所述多个主设备发送第二指令,所述第二指令用于指示目标主设备监测所述多个从设备的先入先出缓存空间的剩余空间,所述目标主设备用于向所述芯片调试设备发送剩余空间信息;
所述处理单元,用于接收来自所述目标主设备的所述剩余空间信息;还用于确定目标任务所需适配到目标从设备存储的目标数据量;还用于若判断出所述目标数据量超出所述目标从设备的所述剩余空间,则向所述目标主设备发送任务暂停指令,所述任务暂停指令用于指示所述目标主设备暂停下发所述目标任务。
6.一种芯片调试设备,其特征在于,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-4任一项所述的方法中的步骤的指令。
7.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311618756.8A CN117331872B (zh) | 2023-11-30 | 2023-11-30 | 防止总线死锁的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311618756.8A CN117331872B (zh) | 2023-11-30 | 2023-11-30 | 防止总线死锁的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117331872A CN117331872A (zh) | 2024-01-02 |
CN117331872B true CN117331872B (zh) | 2024-02-09 |
Family
ID=89279579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311618756.8A Active CN117331872B (zh) | 2023-11-30 | 2023-11-30 | 防止总线死锁的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117331872B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107658A1 (zh) * | 2016-12-15 | 2018-06-21 | 深圳市中兴微电子技术有限公司 | 一种防止总线死锁的方法、装置及存储介质 |
CN115599617A (zh) * | 2022-12-01 | 2023-01-13 | 苏州浪潮智能科技有限公司(Cn) | 总线检测方法、装置、服务器及电子设备 |
WO2023056752A1 (zh) * | 2021-10-08 | 2023-04-13 | 苏州浪潮智能科技有限公司 | 通信总线的挂死修复方法、装置、电子设备及存储介质 |
CN116627873A (zh) * | 2023-04-26 | 2023-08-22 | 上海天数智芯半导体有限公司 | 一种环形总线结构及防止死锁的方法、ai芯片及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180107648A (ko) * | 2017-03-22 | 2018-10-02 | 삼성전자주식회사 | 데드락 검출기, 이를 포함하는 시스템 및 데드락 검출 방법 |
US20190020586A1 (en) * | 2017-07-14 | 2019-01-17 | Qualcomm Incorporated | Selective insertion of a deadlock recovery buffer in a bus interconnect for deadlock recovery |
-
2023
- 2023-11-30 CN CN202311618756.8A patent/CN117331872B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107658A1 (zh) * | 2016-12-15 | 2018-06-21 | 深圳市中兴微电子技术有限公司 | 一种防止总线死锁的方法、装置及存储介质 |
CN108228503A (zh) * | 2016-12-15 | 2018-06-29 | 深圳市中兴微电子技术有限公司 | 一种防止总线死锁的方法及装置 |
WO2023056752A1 (zh) * | 2021-10-08 | 2023-04-13 | 苏州浪潮智能科技有限公司 | 通信总线的挂死修复方法、装置、电子设备及存储介质 |
CN115599617A (zh) * | 2022-12-01 | 2023-01-13 | 苏州浪潮智能科技有限公司(Cn) | 总线检测方法、装置、服务器及电子设备 |
CN116627873A (zh) * | 2023-04-26 | 2023-08-22 | 上海天数智芯半导体有限公司 | 一种环形总线结构及防止死锁的方法、ai芯片及电子设备 |
Non-Patent Citations (1)
Title |
---|
基于关键路径与无死锁的DSP代码并行设计方法;初耀军;;电脑与信息技术(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117331872A (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8725893B2 (en) | Method and system for configuring a plurality of network interfaces that share a physical interface | |
CN102075401B (zh) | 在pcie总线上传输报文的方法、设备和系统 | |
CN102223416B (zh) | 一种媒体文件的传输方法及系统 | |
JP3127523B2 (ja) | 通信制御装置およびデータ送信方法 | |
CN102388583B (zh) | 一种串口波特率配置方法及相关设备、系统 | |
CN107967227A (zh) | 一种基于spi的通信方法及spi主机、spi从机 | |
US20020178310A1 (en) | USB transmission control circuit | |
US7353300B2 (en) | Apparatus to improve the firmware efficiency for a multiframe serial interface | |
CN117331872B (zh) | 防止总线死锁的方法及相关装置 | |
CN107066413A (zh) | 一种用于处理多个总线设备数据的方法、及其总线系统 | |
CN105718396B (zh) | 一种大数据主设备传输的i2c总线装置及其通讯方法 | |
EP1454242B1 (en) | Asynchronous serial data interface | |
EP3018849A1 (en) | Link layer signal synchronization | |
CN102638403B (zh) | 用于处理报文的方法及装置 | |
CN111385219B (zh) | 借用硬件中断实现高性能高精度软件tcp限速的方法 | |
WO2019127925A1 (zh) | 一种神经网络的数据传输方法及计算装置、电子装置、计算机可读存储介质以及计算机程序产品 | |
KR102669925B1 (ko) | PCIe 인터페이스 장치 및 그 동작 방법 | |
CN109086208B (zh) | 一种数据处理方法及系统 | |
CN115884229B (zh) | 传输时延的管理方法、电子设备和存储介质 | |
CN109165099B (zh) | 一种电子设备、内存拷贝方法及装置 | |
JP5070609B2 (ja) | 通信装置、通信システム及び通信方法 | |
CN109150359B (zh) | 一种空调机组的时间同步方法及装置 | |
CN115629918B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN106603290A (zh) | 一种网管软件性能调优处理方法及装置 | |
CN103514126A (zh) | 一种数据的接收方法、系统以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |