System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,具体而言,涉及一种响应dma请求的方法及程序产品、存储介质、电子设备。
技术介绍
1、芯片数据传输过程通常需要中央处理器(central processing unit,简称为cpu)的控制和处理,这不仅限制了数据传输速率,还增加了cpu的运行时间和资源占用,导致cpu性能下降,进而影响整个系统的性能。虽然直接存储器访问(direct memory access,简称为dma)类型的数据传送可以不需要cpu参与而直接访问存储器,但当系统中有多个dma发起者同时发起dma请求时,相关技术采用固定dma通道优先级的方式响应这些请求,但存在无法及时响应dma请求的问题。
技术实现思路
1、本申请实施例提供了一种响应dma请求的方法及程序产品、存储介质、电子设备,以至少解决相关技术中无法及时响应dma请求的问题。
2、根据本申请的一个实施例,提供了一种响应dma请求的方法,应用于dma控制装置,上述dma控制装置中包括多个dma控制器,上述dma控制装置与数据处理设备连接,上述方法包括:对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列,其中,上述第一请求队列与上述第二请求队列均是针对上述第一数据处理对象创建的请求队列,且上述第一请求队列的排列方式不同于上述第二请求队列的排序方式,上述第一仲裁操作用于对上述第一请求队列中的dma请求与上述第二请求队列中的dma请求进行排序,上述第一数据处理对象是上述数据处理设备中包括
3、在一个示例性实施例中,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列之前,上述方法还包括:接收上述第一数据处理对象发送的第一dma请求;根据上述第一dma请求中包括的第一请求信息将上述第一dma请求缓存至上述第一请求队列中或第三请求队列中,其中,上述第一请求信息包括上述第一数据处理对象的标识信息、上述第一dma请求的优先级信息和上述第一dma请求的目标地址信息,上述第三请求队列中的dma请求和上述第一请求队列中的dma请求的优先级信息是不同的;对上述第三请求队列中的dma请求执行第三仲裁操作,以将上述第三请求队列中的dma请求缓存至上述第二请求队列中,其中,上述第三仲裁操作用于根据上述目标地址信息和上述优先级信息对上述第三请求队列中的dma请求进行筛选。
4、在一个示例性实施例中,根据上述第一dma请求中包括的第一请求信息将上述第一dma请求缓存至上述第一请求队列中或第三请求队列中,包括:在上述优先级信息是插队信息的情况下,根据上述目标地址信息将上述第一dma请求缓存至上述第一请求队列中与上述插队信息中的插队位置对应的位置处,并将上述第一请求队列中与上述插队位置对应的位置的有效位设置为有效;或者,在上述优先级信息是预设优先级的情况下,根据上述预设优先级将上述第一dma请求缓存至上述第三请求队列中与上述预设优先级对应的位置处,并将上述第三请求队列中与上述预设优先级对应的位置的有效位设置为有效。
5、在一个示例性实施例中,对上述第三请求队列中的dma请求执行第三仲裁操作,以将上述第三请求队列中的dma请求缓存至上述第二请求队列中,包括:根据上述目标地址信息,对上述第三请求队列中的dma请求执行筛选操作,得到多个第二dma请求,其中,多个上述第二dma请求的目标地址信息均相同;在上述第二请求队列中包括与上述第二dma请求具有相同目标地址信息的dma请求的情况下,将多个上述第二dma请求继续缓存在上述第三请求队列中;在上述第二请求队列中不存在与上述第二dma请求具有相同目标地址信息的dma请求的情况下,将多个上述第二dma请求中优先级最高的dma请求缓存至上述第二请求队列中与上述目标地址信息对应的位置处,并将上述第二请求队列中与上述目标地址信息对应的位置的有效位设置为有效。
6、在一个示例性实施例中,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列,包括:在上述第一请求队列中的dma请求和上述第二请求队列中的dma请求中包括具有相同目标地址信息的第一目标dma请求,且上述第一目标请求队列中对应上述目标地址信息的位置处中不包括有效的dma请求的情况下,将上述第一目标dma请求缓存至上述第一目标请求队列中对应上述目标地址信息的位置处,并将上述第一目标请求队列中对应上述目标地址信息的位置的有效位设置为有效;或者,在上述第一请求队列中的dma请求和上述第二请求队列中的dma请求中包括具有相同目标地址信息的第二目标dma请求,且上述第一目标请求队列中对应上述目标地址信息的位置处包括有效的dma请求的情况下,将上述第二目标dma请求分别继续缓存在上述第一请求队列和上述第二请求队列中。
7、在一个示例性实施例中,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列,包括:在上述第一请求队列中的dma请求和上述第二请求队列中的dma请求中不包括目标地址信息相同的dma请求,且上述第一目标请求队列中对应上述目标地址信息的位置处不包括有效的dma请求的情况下,将上述第一请求队列中dma请求和上述第二请求队列中的dma请求分别缓存至上述第一目标请求队列中与上述目标地址信息对应的位置处,并将上述第一目标请求队列中与上述目标地址信息对应的位置的有效位设置为有效;或者,在上述第一请求队列中的dma请求和上述第二请求队列中的dma请求不包括具有相同目标地址信息的dma请求,且上述第一目标请求队列中对应上述目标地址信息的位置处包括有效的dma请求的情况下,将上述第一请求队列中的dma请求继续缓存在上述第一请求队列中,和/或,将上述第二请求队列中的dma请求继续缓存在上述第二请求队列中。
8、在一个示例性实施例中,对上述第一目标请求队列与第二目标请求队列执行第二仲裁操作,得到第三目标请求队列,包括:根据上述dma请求的目标地址信息,对上述第一目标请求队列中的dma请求与上述第二目标请求队列中的dma请求执行筛选操作,得到多个第三dma请求,其中,上述第三dma请求对应的目标地址信息均相同;根据本文档来自技高网...
【技术保护点】
1.一种响应DMA请求的方法,其特征在于,应用于DMA控制装置,所述DMA控制装置中包括多个DMA控制器,所述DMA控制装置与数据处理设备连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第一DMA请求中包括的第一请求信息将所述第一DMA请求缓存至所述第一请求队列中或第三请求队列中,包括:
4.根据权利要求2或3所述的方法,其特征在于,对所述第三请求队列中的DMA请求执行第三仲裁操作,以将所述第三请求队列中的DMA请求缓存至所述第二请求队列中,包括:
5.根据权利要求1所述的方法,其特征在于,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列,包括:
6.根据权利要求1所述的方法,其特征在于,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列,包括:
7.根据权利要求1所述
8.根据权利要求7所述的方法,其特征在于,根据所述数据处理对象的标识信息和/或优先级信息,对多个所述第三DMA请求执行所述第二仲裁操作,并将执行完所述第二仲裁操作后的多个所述第三DMA请求缓存至所述第三目标请求队列中,包括:
9.根据权利要求1所述的方法,其特征在于,将所述第三目标请求队列发送至目标DMA控制器,以指示所述目标DMA控制器按照所述第三目标请求队列中包括的多个DMA请求的排列顺序响应多个所述DMA请求,包括:
10.根据权利要求1或9所述的方法,其特征在于,所述DMA控制装置还包括存储设备,所述DMA控制装置与所述数据处理设备和所述存储设备连接,将所述第三目标请求队列发送至目标DMA控制器,以指示所述目标DMA控制器按照所述第三目标请求队列中包括的多个DMA请求的排列顺序响应多个所述DMA请求之后,所述方法还包括:
11.根据权利要求1所述的方法,其特征在于,所述数据处理设备中包括多个数据处理对象,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列之前,所述方法还包括:
12.一种DMA控制装置,其特征在于,所述DMA控制装置中包括多个DMA控制器,所述DMA控制装置与数据处理设备连接,所述DMA控制装置用于实现所述权利要求1至11任一项中所述的方法的步骤。
13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述权利要求1至11任一项中所述的方法的步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至11任一项中所述的方法的步骤。
15.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至11任一项中所述的方法的步骤。
...【技术特征摘要】
1.一种响应dma请求的方法,其特征在于,应用于dma控制装置,所述dma控制装置中包括多个dma控制器,所述dma控制装置与数据处理设备连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第一dma请求中包括的第一请求信息将所述第一dma请求缓存至所述第一请求队列中或第三请求队列中,包括:
4.根据权利要求2或3所述的方法,其特征在于,对所述第三请求队列中的dma请求执行第三仲裁操作,以将所述第三请求队列中的dma请求缓存至所述第二请求队列中,包括:
5.根据权利要求1所述的方法,其特征在于,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列,包括:
6.根据权利要求1所述的方法,其特征在于,对第一数据处理对象的第一请求队列与第二请求队列执行第一仲裁操作,得到第一目标请求队列,包括:
7.根据权利要求1所述的方法,其特征在于,对所述第一目标请求队列与第二目标请求队列执行第二仲裁操作,得到第三目标请求队列,包括:
8.根据权利要求7所述的方法,其特征在于,根据所述数据处理对象的标识信息和/或优先级信息,对多个所述第三dma请求执行所述第二仲裁操作,并将执行完所述第二仲裁操作后的多个所述第三dma请求缓存至所述第三目标请求队列中,包括:
9.根据权利要求1所述的方法,其特征在于,将所述第三目标...
【专利技术属性】
技术研发人员:程希光,刘奇浩,孟凡兴,王帅,葛胜涛,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。