CN117234980A - 数据处理系统、方法、装置、设备和存储介质 - Google Patents
数据处理系统、方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN117234980A CN117234980A CN202311245391.9A CN202311245391A CN117234980A CN 117234980 A CN117234980 A CN 117234980A CN 202311245391 A CN202311245391 A CN 202311245391A CN 117234980 A CN117234980 A CN 117234980A
- Authority
- CN
- China
- Prior art keywords
- interface
- interfaces
- processor
- ahb bus
- module
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title abstract description 23
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 10
- 238000003672 processing method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012544 monitoring process Methods 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
- 238000001514 detection method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Abstract
本申请公开了一种数据处理系统、方法、装置、设备和存储介质,属于计算机技术领域,该数据处理系统包括接口控制模组;其中,接口控制模组设置在电子设备的处理器和AHB总线之间;其中,接口控制模组的一端与处理器的至少两个接口连接,接口控制模组的另一端与AHB总线连接;接口控制模组,用于根据目标状态,从至少两个接口中选择第一接口,并向AHB总线传输第一接口输出的第一访问请求;目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态。如此,可以提高处理器访问AHB总线的效率。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种数据处理系统、方法、装置、设备和存储介质。
背景技术
数据芯片发展到系统级芯片(System on Chip,SoC)阶段,系统中包含的功能模块比较多,各模块之间一般通过总线的方式进行互连,模块之间可以通过总线相互通信。其中,高级高性能总线(Advanced High performance Bus,AHB)是一种比较常见的SoC总线,在数字芯片中被广泛使用。
在相关技术中,AHB总线访问机制是,系统中的多个主设备(master processor)只能分时使用总线,当其中的一个master在使用AHB总线时,其它的master只能等待,只有等到前面的master访问结束后,其它的master才能使用总线,导致总线访问效率低。
发明内容
本申请实施例的目的是提供一种数据处理方法、设备、系统和存储介质,能够提高处理器访问AHB总线的效率。
第一方面,本申请实施例提供了一种数据处理系统,包括:
接口控制模组;
接口控制模组设置在电子设备的处理器和AHB总线之间;其中,接口控制模组的一端与处理器的至少两个接口连接,接口控制模组的另一端与AHB总线连接;
接口控制模组,用于根据目标状态,从至少两个接口中选择第一接口,并向AHB总线传输第一接口输出的第一访问请求;目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态。
第二方面,本申请实施例提供了一种数据处理方法,应用于设置在电子设备的处理器和AHB总线之间的接口控制模组,该方法可以包括:
获取目标状态;目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态;
根据目标状态,从与处理器连接的至少两个接口中选择第一接口;
向AHB总线传输第一接口输出的第一访问请求。
第三方面,本申请实施例提供了一种数据处理装置,应用于设置在电子设备的处理器和AHB总线之间的接口控制模组,该装置可以包括:
获取模块,用于获取目标状态;目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态
选择模块,用于根据目标状态,从与处理器连接的至少两个接口中选择第一接口;
传输模块,用于向AHB总线传输第一接口输出的第一访问请求。
第四方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序或指令,程序或指令被处理器执行时实现如第二方面所示的数据处理方法的步骤。
第五方面,本申请实施例提供了一种可读存储介质,可读存储介质上存储程序或指令,程序或指令被处理器执行时实现如第二方面所示的数据处理方法的步骤。
第六方面,本申请实施例提供了一种芯片,芯片包括处理器和显示接口,显示接口和处理器耦合,处理器用于运行程序或指令,实现如第二方面所示的数据处理方法的步骤。
第七方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第二方面所示的数据处理方法的步骤。
在本申请实施例中,数据处理系统可以包括接口控制模组;接口控制模组设置在电子设备的处理器和AHB总线之间;其中,接口控制模组的一端与处理器的至少两个接口连接,接口控制模组的另一端与AHB总线连接;接口控制模组,用于根据目标状态,从至少两个接口中选择第一接口,并向AHB总线传输第一接口输出的第一访问请求;目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态。这样,可以在电子设备中处理器和AHB总线之间设置接口控制模组,以通过接口控制模组分析处理器的运行状态、AHB总线的被占用情况,从而确定与处理器连接的至少两个接口中的哪一个接口输出的访问请求更优先访问AHB总线,实现了调整和平衡多个接口对AHB总线的访问,提高了处理器访问AHB总线的效率,避免了由于多个接口独立工作导致处理器访问AHB总线的整体效率降低的问题。
附图说明
图1为一种数据处理系统的结构示意图;
图2为本申请实施例提供的一种数据处理系统的结构示意图;
图3为本申请实施例提供的一种数据处理系统中接口控制模组的结构示意图;
图4为本申请实施例提供的一种数据处理系统的具体结构示意图;
图5为本申请实施例提供的一种数据处理方法的流程图;
图6为本申请实施例提供的一种数据处理装置的结构示意图;
图7为本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
在相关技术中,图1是一个典型的基于AHB总线的SoC系统。在SoC中,处理器往往是最重要的总线设备。处理器的总线接口设计,对处理器的性能表现有着重要的影响。在SoC中系统,总线master可以为处理器、直接存储器访问(Direct Memory Access,DMA)等可以主动发起访问请求的模块,slave一般为存储指令或者数据的存储模块、接口模块、外设等。基于此,如图1所示,该系统中包括3个总线的主设备模块(masters)和4个总线的从设备模块(slaves)。总线的master和总线的slave通过总线相互连接在一起,总线的master可以发起访问slave的操作。由于SoC系统中有多个master和多个slave,所以,系统中的多个master只能分时使用总线,当其中的一个master在使用总线时,其它的master只能等待,只有等到前面的访问结束后,其它的master才能使用总线,访问slave,如此,导致总线访问效率低。
为了解决以上的问题,本申请实施例提供了一种数据处理系统、方法、装置、设备和存储介质,可以在电子设备中处理器和AHB总线之间设置接口控制模组,以通过接口控制模组分析处理器的运行状态、AHB总线的被占用情况,从而确定与处理器连接的至少两个接口中的哪一个接口输出的访问请求更优先访问AHB总线,实现了调整和平衡多个接口对AHB总线的访问,提高了处理器访问AHB总线的效率,避免了由于多个接口独立工作导致处理器访问AHB总线的整体效率降低的问题。
下面结合附图2至图3,通过具体的实施例及其应用场景对本申请实施例提供的数据处理系统进行详细地说明。
首先,结合图2对本申请实施例提供的一种数据处理系统进行详细说明。
图2为本申请实施例提供的一种数据处理系统的结构示意图。
如图2所示,本申请实施例提供的数据处理系统20可以设置在电子设备,基于此,该数据处理系统20可以包括:
接口控制模组;其中,
接口控制模组设置在电子设备的处理器和AHB总线之间;其中,接口控制模组的一端与处理器的至少两个接口连接,接口控制模组的另一端与AHB总线连接;
接口控制模组,用于根据目标状态,从至少两个接口中选择第一接口,并向AHB总线传输第一接口输出的第一访问请求;目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态。
示例性地,如图2所示,处理器对外有两个接口,比如接口1(即AHB M0接口)和接口2(即AHB M1接口),接口1和接口2为相互独立工作的两个接口,其中,接口1和接口2与接口控制模组连接,接口控制模组可以获取以下至少一项:处理器的运行状态、AHB总线的被占用状态,并根据获取到的数据确定让接口1和接口2中的其中一个接口输出的访问请求通过,让另一个接口的访问请求停滞。此时,向AHB总线传输的访问请求的接口为第一接口,其传输的访问请求为第一访问请求,以及未向AHB总线传输的访问请求的接口为第二接口,其未传输的访问请求为第二访问请求。
需要说明的是,在一些情况下,本申请实施例中的处理器还可以替换为电子设备中直接存储器访问(Direct Memory Access,DMA)等可以主动发起访问请求的模块。以及,本申请实施例中的从设备可以为数据的存储单元、接口模块、外设备等。
在一个示例中,本申请实施例中与处理器连接的至少两个接口为相互独立工作的接口,至少两个接口具体可以为指令接口和数据接口。
这样,可以通过设置在电子设备的处理器和AHB总线之间的接口控制模组分析处理器的运行状态、AHB总线的被占用情况,从而确定与处理器连接的至少两个接口中的哪一个接口输出的访问请求更优先访问AHB总线,实现了调整和平衡多个接口对AHB总线的访问,提高了处理器访问AHB总线的效率,避免了由于多个接口独立工作导致处理器访问AHB总线的整体效率降低的问题。
下面对上述数据处理系统进行详细说明,具体如下所示。
在一种或多种可能的实施例中,接口控制模组具体包括接口访问仲裁模块和选通模块;其中,
接口访问仲裁模块,用于根据目标状态,从至少两个接口中选择第一接口,并向选通模块发送控制信号;
选通模块,用于按照控制信号,向AHB总线传输第一接口输出的第一访问请求,并暂停传输至少两个接口中第二接口输出的第二访问请求。
示例性地,仍参照图2中的示例,如图3所示,接口访问仲裁模块用于判断AHB M0接口和AHB M1接口输出的访问AHB总线的请求是否可以通过或者需要暂停,如此,接口访问仲裁模块会产生相应的控制信号,并向选通模块发送控制信号,选通模块可以包括“选通0”模块和“选通1”模块,然后选通模块按照控制信号,控制“选通0”和“选通1”,让对应接口输出的访问请求通过,或者暂停。比如,接口访问仲裁模块根据目标状态,确定向AHB总线发送AHB M0接口输出的访问请求,且将AHB M1接口输出的访问请求暂停传输时,接口访问仲裁模块会向选通模块发送控制信号,选通模块基于控制信号开启选通0模块,关闭选通1模块,此时,AHB M0接口即为第一接口,选通模块可以通过接口控制模组的第一输出接口(即AHBM0’接口)向AHB总线传输AHB M0接口输出的第一访问请求。
同样地,接口访问仲裁模块根据目标状态,确定向AHB总线发送AHB M1接口输出的访问请求,且将AHB M0接口输出的访问请求暂停传输时,接口访问仲裁模块会向选通模块发送控制信号,选通模块基于控制信号可以开启选通1模块,关闭选通0模块,此时,AHB M1接口即为第一接口,选通模块可以通过接口控制模组的第二输出接口(即AHB M1’接口)向AHB总线传输AHB M1接口输出的第一访问请求。
需要说明的是,本申请实施例中,是将至少两个接口中可以向AHB总线传输访问请求对应的接口称为第一接口,将至少两个接口中暂停传输的访问请求对应的接口称为第二接口。
进一步地,接口控制模组还用于,根据第一接口,生成与第一接口对应的第一映射接口;以及,控制第一映射接口向AHB总线传输第一接口输出的第一访问请求。
示例性地,如图3所示,接口访问仲裁模块根据目标状态,确定向AHB总线发送AHBM0接口输出的访问请求,且将AHB M1接口输出的访问请求暂停传输时,可以开启选通0模块,关闭选通1模块,并通过接口控制模组的第一映射接口(即AHB M0’接口)向AHB总线传输AHB M0接口输出的第一访问请求。
同样地,接口访问仲裁模块根据目标状态,确定向AHB总线发送AHB M1接口输出的访问请求,且将AHB M0接口输出的访问请求暂停传输时,可以开启选通1模块,关闭选通0模块,并通过接口控制模组的第一映射接口(即AHB M1’接口)向AHB总线传输AHB M1接口输出的第一访问请求。
在另一种或多种可能的实施例中,接口访问仲裁模块还用于监测处理器,获取处理器的运行状态;
其中,处理器可以包括指令高速缓存(instructions cache,icache)和数据高速缓存(data cache,dcache);运行状态包括以下至少一种:
处理器的至少两个接口中输出访问请求的接口的数量、处理器从指令高速缓存中获取指令时处于缓存未命中状态、处理器访问数据高速缓存时处于缓存未命中状态。
进一步地,在一个示例中,运行状态包括处理器的至少两个接口中输出访问请求的接口的数量。
基于此,接口访问仲裁模块具体用于,在至少两个接口中输出访问请求的接口的数量为一个的情况下,将输出访问请求的接口确定为第一接口。
示例性地,如图3所示,如果只有AHB M0接口这一个接口发送访问请求访问AHB总线,此时,AHB M0接口为第一接口,则向AHB总线传输AHB M0接口发送的访问请求。同理,如果只有AHB M1接口这一个接口发送访问请求访问AHB总线,此时,AHB M1接口为第一接口,则向AHB总线传输AHB M1接口发送的访问请求。
在另一个示例中,在至少两个接口中输出访问请求的接口的数量为至少两个的情况下,从至少两个接口中选择一个随机接口作为第一接口,并将至少两个接口中除随机接口之外的接口作为第二接口。
示例性地,仍参照图3,如果AHB M0接口和AHB M1接口这两个接口同时发送访问请求访问AHB总线,那么,可以在AHB M0接口和AHB M1接口中选择一个随机接口比如AHB M0接口作为第一接口,这样,可以向AHB总线发送AHB M0接口输出的访问请求,并将AHB M1接口作为第二接口,这样,可以暂停传输AHB M1接口输出的访问请求,如此,等AHB M0接口访问完成后,再向AHB总线发送AHB M1接口输出的访问请求。
由此,可以防止访问的从设备(例如图中的存储单元AHB Slave)响应一个接口的访问请求,而不响应另一个接口的访问请求,造成另一个接口的操作停滞,影响另一个接口处理数据的效率。
在又一个示例中,接口访问仲裁模块具体用于,在处理器从指令高速缓存中获取指令且处于缓存未命中状态的情况下,从至少两个接口中选择指令接口作为第一接口。
示例性地,如图4所示,处理器内部流水线中的指令已经执行完了,处理器需要从icache获取指令,此时若处于缓存未命中(cache miss)状态,就需要通过处理器的指令接口访问AHB总线以读取存储单元中的指令,这种情况下,就需要将至少两个接口中的指令接口如AHB M0接口优先访问,这样,将指令接口如AHB M0接口作为第一接口。
在再一个示例中,接口访问仲裁模块具体用于,在处理器访问数据高速缓存时处于缓存未命中状态的情况下,从至少两个接口中选择数据接口作为第一接口。
示例性地,参照图4,处理器内部流水线中已经有了足够多的指令,而处理器执行级中的指令需要访问dcache,此时若处于cache miss状态,就需要通过处理器的数据接口如AHB M1接口优先访问AHB总线以读取存储单元,这种情况下,就需要将至少两个接口中的指令接口如AHB M0接口优先访问,这样,可以将数据接口如AHB M1接口作为第一接口。
在又一种或多种可能的实施例中,接口访问仲裁模块还用于监测AHB总线,获取AHB总线的被占用状态;
其中,AHB总线的被占用状态包括以下至少一种:AHB总线被至少两个接口中的指令接口占用且占用时长大于或等于预设时长、AHB总线被指令接口占用且处理器访问的从设备在预设时长内无响应。
由此,可以防止某一个接口长期占用总线,或者某一个从设备没有响应,造成处理器长时间等待,或者总线锁死的情况。
进一步地,在一个示例中,接口访问仲裁模块具体用于,在AHB总线被至少两个接口中的指令接口占用且占用时长大于或等于预设时长的情况下,从至少两个接口中选择数据接口作为第一接口,并将指令接口作为第二接口。
示例性地,参照图4,若指令接口如AHB M0接口长时间占用AHB总线,导致数据接口如AHB M1接口无法访问AHB总线,使得执行级的指令一直处于等待状态,程序就无法正常往下执行,这种情况下,就需要暂停AHB M0接口输出的访问请求,并向AHB总线发送数据接口如AHB M1接口输出的访问请求,以使数据接口先访问总线。
需要说明的是,在该示例中,接口访问仲裁模块具体用于,在AHB总线被至少两个接口中的数据接口占用且占用时长大于或等于预设时长的情况下,从至少两个接口中选择指令接口作为第一接口,并将数据接口作为第二接口。
在另一个示例中,接口访问仲裁模块具体用于,在AHB总线被指令接口占用且处理器访问的从设备在预设时长内无响应的情况下,从至少两个接口中选择数据接口作为第一接口,并将指令接口作为第二接口。
示例性地,参照图4,若AHB总线被指令接口占用,且访问的从设备(如图2中的存储单元AHB Slave)在预设时长内并未响应该指令接口时,接口访问仲裁模块可以暂停传输指令接口输出的访问请求,并将数据接口作为第一接口,将数据接口输出的访问请求向AHB总线发送。
综上,本申请实施例提供的数据处理系统,可以在电子设备中的处理器和AHB总线之间加入了接口控制模组,综合分析处理器的运行状态和AHB总线被占用的状态,判断出至少两个接口中哪一个接口的访问请求更优先向AHB总线发送,实现了调整和平衡多个接口对AHB总线的访问,提高了处理器访问AHB总线的效率,避免了由于多个接口独立工作导致处理器访问AHB总线的整体效率降低的问题。
其次,基于上述数据处理系统,结合图4对本申请实施例提供的一种数据处理系统进行详细说明。
图5为本申请实施例提供的一种数据处理方法的流程图。
如图5所示,本申请实施例提供的数据处理方法可以应用于设置在电子设备的处理器和AHB总线之间的接口控制模组,基于此,该数据处理方法可以包括如下步骤:
步骤510,获取目标状态,其中,目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态;步骤520,根据目标状态,从与处理器连接的至少两个接口中选择第一接口;步骤530,向AHB总线传输第一接口输出的第一访问请求。
这样,可以通过电子设备中处理器和AHB总线之间设置的接口控制模组分析处理器的运行状态、AHB总线的被占用情况,从而确定与处理器连接的至少两个接口中的哪一个接口输出的访问请求更优先访问AHB总线,实现了调整和平衡多个接口对AHB总线的访问,提高了处理器访问AHB总线的效率,避免了由于多个接口独立工作导致处理器访问AHB总线的整体效率降低的问题。
下面对上述步骤进行详细说明,具体如下所示。
首先,涉及步骤510,在一种或多种可能的实施例中,该步骤510具体可以包括:
监测处理器,获取处理器的运行状态;
其中,处理器包括指令高速缓存和数据高速缓存;运行状态包括以下至少一种:处理器的至少两个接口中输出访问请求的接口的数量、处理器从指令高速缓存中获取指令时处于缓存未命中状态、处理器访问数据高速缓存时处于缓存未命中状态。
在另一个或多种可能的实施例中,该步骤510具体可以包括:
监测AHB总线,获取AHB总线的被占用状态;
其中,AHB总线的被占用状态包括以下至少一种:AHB总线被至少两个接口中的指令接口占用且占用时长大于或等于预设时长、AHB总线被指令接口占用且处理器访问的从设备在预设时长内无响应。
接着,涉及步骤520,在一种或多种可能的实施例中,根据目标状态,从至少两个接口中选择第一接口,并向选通模块发送控制信号。
基于此,步骤530具体可以包括:
通过选通模块,按照控制信号,向AHB总线传输第一接口输出的第一访问请求,并暂停传输至少两个接口中第二接口输出的第二访问请求。
在另一种或多种可能的实施例中,基于步骤510中涉及的处理器的运行状态,可以通过如下至少一个示例确定第一接口(以及第二接口),具体如下所示。
在一个示例中,该步骤520具体可以包括:
在至少两个接口中输出访问请求的接口的数量为一个的情况下,将输出访问请求的接口确定为第一接口。
在另一个示例中,该步骤520具体可以包括:
在至少两个接口中输出访问请求的接口的数量为至少两个的情况下,从至少两个接口中选择一个随机接口作为第一接口,并将至少两个接口中除随机接口之外的接口作为第二接口。
在又一个示例中,该步骤520具体可以包括:
在处理器从指令高速缓存中获取指令且处于缓存未命中状态的情况下,从至少两个接口中选择指令接口作为第一接口。
在再一个示例中,该步骤520具体可以包括:
在处理器访问数据高速缓存时处于缓存未命中状态的情况下,从至少两个接口中选择数据接口作为第一接口。
在另一种或多种可能的实施例中,基于步骤510中涉及的AHB总线的被占用状态,可以通过如下至少一个示例确定第一接口(以及第二接口),具体如下所示。
在一个示例中,该步骤520具体可以包括:
在AHB总线被至少两个接口中的指令接口占用且占用时长大于或等于预设时长的情况下,从至少两个接口中选择数据接口作为第一接口,并将指令接口作为第二接口。
在另一个示例中,在AHB总线被指令接口占用且处理器访问的从设备在预设时长内无响应的情况下,从至少两个接口中选择数据接口作为第一接口,并将指令接口作为第二接口。
然后,涉及步骤530,在一种或多种可能的实施例中,该步骤530具体可以包括:
根据第一接口,生成与第一接口对应的第一映射接口;
控制第一映射接口向AHB总线传输第一接口输出的第一访问请求。
本申请实施例提供的数据处理方法,执行主体可以为数据处理装置。本申请实施例中以数据处理装置执行数据处理方法为例,说明本申请实施例提供的数据处理方法的装置。
基于相同的发明构思,本申请还提供了一种数据处理装置。具体结合图6进行详细说明。
图6为本申请实施例提供的一种数据处理装置的结构示意图。
如图6所示,该数据处理装置60可以应用于设置在电子设备的处理器和AHB总线之间的接口控制模组,基于此,该数据处理装置60具体可以包括:
获取模块601,用于获取目标状态;目标状态包括以下至少一项:处理器的运行状态、AHB总线的被占用状态
选择模块602,用于根据目标状态,从与处理器连接的至少两个接口中选择第一接口;
传输模块603,用于向AHB总线传输第一接口输出的第一访问请求。
下面对上述步骤进行详细说明,具体如下所示。
在一种或多种可能的实施例中,获取模块601还可以用于,监测处理器,获取处理器的运行状态;其中,运行状态包括以下至少一种:处理器的至少两个接口中输出访问请求的接口的数量、处理器从指令高速缓存中获取指令时处于缓存未命中状态、处理器访问数据高速缓存时处于缓存未命中状态。
在另一个或多种可能的实施例中,获取模块601还可以用于,监测AHB总线,获取AHB总线的被占用状态;其中,处理器包括指令高速缓存和数据高速缓存;AHB总线的被占用状态包括以下至少一种:AHB总线被至少两个接口中的指令接口占用且占用时长大于或等于预设时长、AHB总线被指令接口占用且处理器访问的从设备在预设时长内无响应。
在又一种或多种可能的实施例中,选择模块602具体可以用于,根据目标状态,从至少两个接口中选择第一接口;
传输模块603还可以用于向选通模块发送控制信号;以及,通过选通模块,按照控制信号,向AHB总线传输第一接口输出的第一访问请求,并暂停传输至少两个接口中第二接口输出的第二访问请求。
在再一种或多种可能的实施例中,选择模块602具体可以用于,在至少两个接口中输出访问请求的接口的数量为一个的情况下,将输出访问请求的接口确定为第一接口。
在再一种或多种可能的实施例中,选择模块602具体可以用于,在至少两个接口中输出访问请求的接口的数量为至少两个的情况下,从至少两个接口中选择一个随机接口作为第一接口,并将至少两个接口中除随机接口之外的接口作为第二接口。
在再一种或多种可能的实施例中,选择模块602具体可以用于,在处理器从指令高速缓存中获取指令且处于缓存未命中状态的情况下,从至少两个接口中选择指令接口作为第一接口。
在再一种或多种可能的实施例中,选择模块602具体可以用于,在处理器访问数据高速缓存时处于缓存未命中状态的情况下,从至少两个接口中选择数据接口作为第一接口。
在再一种或多种可能的实施例中,选择模块602具体可以用于,在AHB总线被至少两个接口中的指令接口占用且占用时长大于或等于预设时长的情况下,从至少两个接口中选择数据接口作为第一接口,并将指令接口作为第二接口。
在再一种或多种可能的实施例中,选择模块602具体可以用于,在AHB总线被指令接口占用且处理器访问的从设备在预设时长内无响应的情况下,从至少两个接口中选择数据接口作为第一接口,并将指令接口作为第二接口。
在再一种或多种可能的实施例中,本申请实施例中的数据处理装置60还可以包括生成模块;其中,
生成模块,用于根据第一接口,生成与第一接口对应的第一映射接口;
传输模块603,用于控制第一映射接口向AHB总线传输第一接口输出的第一访问请求。
本申请实施例中的数据处理装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtualreality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。
本申请实施例中的数据处理装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为IOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。
本申请实施例提供的数据处理装置能够实现图5所示的数据处理方法实施例实现的各个过程,达到相同的技术效果,为避免重复,这里不再赘述。
基于此,本申请实施例提供的数据处理装置,可以通过电子设备中处理器和AHB总线之间设置的接口控制模组分析处理器的运行状态、AHB总线的被占用情况,从而确定与处理器连接的至少两个接口中的哪一个接口输出的访问请求更优先访问AHB总线,实现了调整和平衡多个接口对AHB总线的访问,提高了处理器访问AHB总线的效率,避免了由于多个接口独立工作导致处理器访问AHB总线的整体效率降低的问题。
需要说明的是,本申请实施例中的电子设备包括上述的移动电子设备和非移动电子设备。
图7为本申请实施例提供的一种电子设备的硬件结构示意图。
该电子设备700包括但不限于:射频单元701、网络模块702、音频输出单元703、输入单元704、传感器705、显示单元706、用户输入单元707、接口单元708、存储器709、处理器710等部件。
本领域技术人员可以理解,电子设备700还可以包括给各个部件供电的电源(比如电池),电源可以通过电源管理系统与处理器710逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。图7中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,在此不再赘述。
应理解的是,输入单元704可以包括图形处理器(Graphics Processing Unit,GPU)7041和麦克风7042,图形处理器7041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图像或视频的图像数据进行处理。显示单元707可包括显示面板,可以采用液晶显示器、有机发光二极管等形式来配置显示面板。用户输入单元707包括触控面板7071以及其他输入设备7072中的至少一种。触控面板7071,也称为触摸屏。触控面板7071可包括触摸检测装置和触摸显示器两个部分。其他输入设备7072可以包括但不限于物理键盘、功能键(比如音量显示按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
存储器709可用于存储软件程序以及各种数据,存储器709可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器709可以包括易失性存储器或非易失性存储器,或者,存储器709可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。本申请实施例中的存储器709包括但不限于这些和任意其它适合类型的存储器。
处理器710可包括一个或多个处理单元;可选的,处理器710集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线显示信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器710中。
本申请实施例还提供一种可读存储介质,可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,处理器为上述实施例中的电子设备中的处理器。其中,可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
另外,本申请实施例另提供了一种芯片,芯片包括处理器和显示接口,显示接口和处理器耦合,处理器用于运行程序或指令,实现上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本申请实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述数据处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种数据处理系统,其特征在于,包括:接口控制模组;
所述接口控制模组设置在电子设备的处理器和AHB总线之间;其中,所述接口控制模组的一端与所述处理器的至少两个接口连接,所述接口控制模组的另一端与所述AHB总线连接;
所述接口控制模组,用于根据目标状态,从所述至少两个接口中选择第一接口,并向所述AHB总线传输所述第一接口输出的第一访问请求;所述目标状态包括以下至少一项:所述处理器的运行状态、所述AHB总线的被占用状态。
2.根据权利要求1所述的系统,其特征在于,所述接口控制模组具体包括接口访问仲裁模块和选通模块;其中,
所述接口访问仲裁模块,用于根据目标状态,从所述至少两个接口中选择第一接口,并向所述选通模块发送控制信号;
所述选通模块,用于按照所述控制信号,向所述AHB总线传输所述第一接口输出的第一访问请求,并暂停传输所述至少两个接口中第二接口输出的第二访问请求。
3.根据权利要求1或2所述的系统,其特征在于,所述接口控制模组还用于,根据所述第一接口,生成与所述第一接口对应的第一映射接口;以及,控制所述第一映射接口向所述AHB总线传输所述第一接口输出的第一访问请求。
4.根据权利要求2所述的系统,其特征在于,所述接口访问仲裁模块还用于监测所述处理器,获取所述处理器的运行状态;
其中,所述处理器包括指令高速缓存和数据高速缓存;所述运行状态包括以下至少一种:
所述处理器的至少两个接口中输出访问请求的接口的数量、所述处理器从所述指令高速缓存中获取指令时处于缓存未命中状态、所述处理器访问所述数据高速缓存时处于缓存未命中状态。
5.根据权利要求4所述的系统,其特征在于,所述接口访问仲裁模块具体用于,在所述至少两个接口中输出访问请求的接口的数量为一个的情况下,将输出访问请求的接口确定为所述第一接口;
在所述至少两个接口中输出访问请求的接口的数量为至少两个的情况下,从所述至少两个接口中选择一个随机接口作为所述第一接口,并将所述至少两个接口中除所述随机接口之外的接口作为所述第二接口。
6.根据权利要求4所述的系统,其特征在于,所述接口访问仲裁模块具体用于,在所述处理器从所述指令高速缓存中获取指令且处于缓存未命中状态的情况下,从所述至少两个接口中选择指令接口作为所述第一接口。
7.根据权利要求4所述的系统,其特征在于,所述接口访问仲裁模块具体用于,在所述处理器访问所述数据高速缓存时处于缓存未命中状态的情况下,从所述至少两个接口中选择数据接口作为所述第一接口。
8.根据权利要求2所述的系统,其特征在于,所述接口访问仲裁模块还用于监测所述AHB总线,获取所述AHB总线的被占用状态;
其中,所述AHB总线的被占用状态包括以下至少一种:所述AHB总线被所述至少两个接口中的指令接口占用且占用时长大于或等于预设时长、所述AHB总线被所述指令接口占用且所述处理器访问的从设备在预设时长内无响应。
9.根据权利要求8所述的系统,其特征在于,所述接口访问仲裁模块具体用于,在所述AHB总线被所述至少两个接口中的指令接口占用且占用时长大于或等于预设时长的情况下,从所述至少两个接口中选择数据接口作为所述第一接口,并将所述指令接口作为第二接口。
10.根据权利要求8所述的系统,其特征在于,所述接口访问仲裁模块具体用于,在所述AHB总线被所述指令接口占用且所述处理器访问的从设备在预设时长内无响应的情况下,从所述至少两个接口中选择数据接口作为所述第一接口,并将所述指令接口作为第二接口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245391.9A CN117234980A (zh) | 2023-09-25 | 2023-09-25 | 数据处理系统、方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311245391.9A CN117234980A (zh) | 2023-09-25 | 2023-09-25 | 数据处理系统、方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234980A true CN117234980A (zh) | 2023-12-15 |
Family
ID=89096484
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311245391.9A Pending CN117234980A (zh) | 2023-09-25 | 2023-09-25 | 数据处理系统、方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234980A (zh) |
-
2023
- 2023-09-25 CN CN202311245391.9A patent/CN117234980A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9043520B2 (en) | Interrupt control method and multicore processor system | |
CN111416756B (zh) | 协议测试方法、装置、计算机设备及存储介质 | |
EP3178006B1 (en) | Moving data between caches in a heterogeneous processor system | |
KR20090035580A (ko) | 이미지 데이터를 위한 cpu 모드-기반의 캐시 할당 | |
US20130162514A1 (en) | Gesture mode selection | |
US11249771B2 (en) | Terminal input invocation | |
US8667157B2 (en) | Hardware bus redirection switching | |
US20120306899A1 (en) | Serialization of Asynchronous Command Streams | |
CN110471870B (zh) | 多系统运行的方法、装置、电子设备及存储介质 | |
US9594684B2 (en) | Method for temporarily storing data and storage device | |
US20210020144A1 (en) | Image display device, method, medium and electronic device based on mobile terminal | |
CN117234980A (zh) | 数据处理系统、方法、装置、设备和存储介质 | |
US11275707B2 (en) | Multi-core processor and inter-core data forwarding method | |
CN113747043B (zh) | 图像处理器启动方法、电子设备和存储介质 | |
WO2022133053A1 (en) | Data placement with packet metadata | |
CN114070892A (zh) | 数据传输方法和装置 | |
US8875138B2 (en) | Computer system and control method thereof | |
CN117806857B (zh) | 故障定位信息生成方法、装置、电子设备及存储介质 | |
KR102577184B1 (ko) | 전자 장치 및 그의 동작 방법 | |
WO2024067348A2 (zh) | 内存分配器确定方法、装置、电子设备及存储介质 | |
EP3632084B1 (en) | Attention detection service | |
CN117786244A (zh) | 网页页面显示方法、装置、电子设备及可读存储介质 | |
CN116069693A (zh) | 批量处理命令的方法、装置、电子设备及存储介质 | |
KR20200083155A (ko) | 시각 기반의 메커니즘을 기반으로 스마트 표시 장치의 음성 명령을 활성화하는 방법 및 시스템 | |
CN116701142A (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 |