本公开涉及数据传输,尤其涉及一种dma调度器、片上系统、电子组件、电子设备及dma调度方法。
背景技术:
1、为提高数据传输效率,soc(system on chip,片上系统)芯片上的数据传输往往通过dma(direct memory access,直接存储器访问)实现。为实现dma传输,需要由软件为dma传输进行配置。
2、片外设备无法直接访问片内模块,反之,片内模块也无法直接访问片外设备。因此,当soc芯片的片内模块需要对片外数据进行处理时,片外数据需要先暂存在soc芯片自有的外部存储器,再从该外部存储器搬运至片内模块。这一数据传输过程需要两次dma传输,需要软件分别进行配置。
3、目前的dma传输技术至少在数据传输效率上还存在可优化空间。
技术实现思路
1、本公开的目的是提供一种dma调度器、片上系统、电子组件、电子设备、及dma调度方法,实现数据传输效率的优化。
2、根据本公开的一个方面,提供一种dma调度器,应用于片上系统,该dma调度器被配置为:
3、响应于数据传输请求,从预先配置的多条传输路径中选择至少一条目标传输路径,至少一条目标传输路径构成从待传输数据在片上系统的源地址到待传输数据在片上系统的目标地址的数据传输通路;
4、为每条目标传输路径分配目标dma控制器,目标dma控制器的可用源地址包括对应的目标传输路径的源地址,目标dma控制器的可用目标地址包括对应的目标传输路径的目标地址;
5、向目标dma控制器发送数据传输指令,以便目标dma控制器按照对应的目标传输路径搬运待传输数据。
6、其中,若目标传输路径有两条或者两条以上,那么,分别向各个目标dma控制器发送数据传输指令。其中一种实现方式中,上级目标传输路径完成待传输数据的搬运,向为下级目标传输路径分配的dma控制器发送数据传输指令。在另一种实现方式中,待上述待传输数据在上级目标传输路径上的搬运进度达到预设条件,向为下级目标传输路径分配的目标dma控制器发送数据传输指令。
7、在上述任一dma调度器的实施例基础上,为了实现为每条目标传输路径分配目标dma控制器,dma调度器可以被配置为:至少根据dma控制器的数据传输性能,为每条目标传输路径分配目标dma控制器。其中,目标dma控制器的数据传输性能满足对应的目标传输路径的数据传输性能要求。
8、其中,数据传输性能可以但不仅限于包括数据传输带宽。
9、在上述任一dma调度器的实施例基础上,为了实现为每条目标传输路径分配目标dma控制器,dma调度器可以被配置为:根据dma控制器的数据传输性能和负载,为每条目标传输路径分配目标dma控制器。
10、在此基础上,可选地,目标dma控制器为空闲的dma控制器。
11、在上述任一dma调度器的实施例基础上,为优先级高的第一目标传输路径分配的dma控制器先于为优先级低的第一目标传输路径分配的dma控制器收到数据传输指令,第一目标传输路径包括目标地址相同且未完成传输任务的目标传输路径。
12、在此基础上,可选地,对应的第一目标传输路径优先级相同的情况下,对应在先传输请求的dma控制器先于对应在后传输请求的dma控制器收到数据传输指令。
13、在上述任一dma调度器的实施例基础上,数据传输指令中可以携带数据拆分信息,数据拆分信息用于指示单次搬运的拆分数据,拆分数据为待传输数据的一部分。
14、根据本公开的另一方面,还提供一种片上系统,该片上系统包括上述任一实施例中所述的dma调度器。
15、根据本公开的另一方面,还提供一种电子组件,该电子组件包括上述任一实施例中所述的片上系统。在一些使用场景下,该电子组件的产品形式体现为显卡;在另一些使用场景下,该电子组件的产品形式体现为cpu主板。
16、根据本公开的另一方面,还提供一种电子设备,该电子设备包括上述的电子组件。在一些使用场景下,该电子设备的产品形式是便携式电子设备,例如智能手机、平板电脑、vr设备等;在一些使用场景下,该电子设备的产品形式是个人电脑、游戏主机等。
17、根据本公开的另一方面,还提供一种dma调度方法,应用于片上系统中的dma调度器,该dma调度方法至少包括如下操作:
18、响应于数据传输请求,从预先配置的多条传输路径中选择至少一条目标传输路径,至少一条目标传输路径构成从待传输数据在片上系统的源地址到待传输数据在片上系统的目标地址的数据传输通路;
19、为每条目标传输路径分配目标dma控制器,目标dma控制器的可用源地址包括对应的目标传输路径的源地址,目标dma控制器的可用目标地址包括对应的目标传输路径的目标地址;
20、向目标dma控制器发送数据传输指令,以便目标dma控制器按照对应的目标传输路径搬运待传输数据。
21、其中,若目标传输路径有两条或者两条以上,那么,分别向各个目标dma控制器发送数据传输指令。其中一种实现方式中,上级目标传输路径完成待传输数据的搬运,向为下级目标传输路径分配的dma控制器发送数据传输指令。在另一种实现方式中,待上述待传输数据在上级目标传输路径上的搬运进度达到预设条件,向为下级目标传输路径分配的目标dma控制器发送数据传输指令。
22、在上述任一方法实施例的基础上,为每条目标传输路径分配目标dma控制器,其实现方式可以包括:至少根据dma控制器的数据传输性能,为每条目标传输路径分配目标dma控制器,目标dma控制器的数据传输性能满足对应的目标传输路径的数据传输性能要求。
23、其中,数据传输性能可以但不仅限于包括数据传输带宽。
24、在上述任一方法实施例的基础上,为每条目标传输路径分配目标dma控制器的具体实现方式可以包括:根据dma控制器的数据传输性能和负载,为每条目标传输路径分配目标dma控制器。
25、在此基础上,可选地,目标dma控制器为空闲的dma控制器。
26、在上述任一方法实施例的基础上,为优先级高的第一目标传输路径分配的dma控制器先于为优先级低的第一目标传输路径分配的dma控制器收到数据传输指令,第一目标传输路径包括目标地址相同且未完成传输任务的目标传输路径。
27、在此基础上,可选地,对应的第一目标传输路径优先级相同的情况下,对应在先传输请求的dma控制器先于对应在后传输请求的dma控制器收到数据传输指令。
28、在上述任一方法实施例的基础上,可选地,数据传输指令中携带数据拆分信息,数据拆分信息用于指示单次搬运的拆分数据,拆分数据为待传输数据的一部分。
1.一种dma调度器,应用于片上系统,其中,所述dma调度器被配置为:
2.根据权利要求1所述的dma调度器,其中,为了实现为每条目标传输路径分配目标dma控制器,所述dma调度器被配置为:
3.根据权利要求2所述的dma调度器,其中,数据传输性能包括数据传输带宽。
4.根据权利要求2所述的dma调度器,其中,为了实现为每条目标传输路径分配目标dma控制器,所述dma调度器被配置为:
5.根据权利要求4所述的dma调度器,其中,所述目标dma控制器为空闲的dma控制器。
6.根据权利要求1所述的dma调度器,其中,为优先级高的第一目标传输路径分配的dma控制器先于为优先级低的第一目标传输路径分配的dma控制器收到数据传输指令,所述第一目标传输路径包括目标地址相同且未完成传输任务的目标传输路径。
7.根据权利要求6所述的dma调度器,其中,对应的第一目标传输路径优先级相同的情况下,对应在先传输请求的dma控制器先于对应在后传输请求的dma控制器收到数据传输指令。
8.根据权利要求1所述的dma调度器,其中,为了实现向为下级目标传输路径分配的目标dma控制器发送数据传输指令,所述dma调度器被配置为:
9.根据权利要求1所述的dma调度器,其中,所述数据传输指令中携带数据拆分信息,所述数据拆分信息用于指示单次搬运的拆分数据,所述拆分数据为所述待传输数据的一部分。
10.一种片上系统,其中,包括权利要求1至9任一项所述的dma调度器。
11.一种电子组件,其中,包括权利要求10所述的片上系统。
12.一种电子设备,其中,包括权利要求11所述的电子组件。
13.一种dma调度方法,其中,应用于片上系统中的dma调度器,所述dma调度方法至少包括:
14.根据权利要求13所述的方法,其中,所述为每条目标传输路径分配目标dma控制器,包括:
15.根据权利要求14所述的方法,其中,数据传输性能包括数据传输带宽。
16.根据权利要求14所述的方法,其中,所述为每条目标传输路径分配目标dma控制器,包括:
17.根据权利要求16所述的方法,其中,所述目标dma控制器为空闲的dma控制器。
18.根据权利要求13所述的方法,其中,为优先级高的第一目标传输路径分配的dma控制器先于为优先级低的第一目标传输路径分配的dma控制器收到数据传输指令,所述第一目标传输路径包括目标地址相同且未完成传输任务的目标传输路径。
19.根据权利要求18所述的方法,其中,对应的第一目标传输路径优先级相同的情况下,对应在先传输请求的dma控制器先于对应在后传输请求的dma控制器收到数据传输指令。
20.根据权利要求13所述的方法,其中,所述向所述目标dma控制器发送数据传输指令,进一步包括:
21.根据权利要求13所述的方法,其中,所述数据传输指令中携带数据拆分信息,所述数据拆分信息用于指示单次搬运的拆分数据,所述拆分数据为所述待传输数据的一部分。