一种突发数据传输方法、装置、设备及介质与流程
- 国知局
- 2024-11-06 14:58:14
本发明涉及计算机,特别是涉及一种突发数据传输方法、装置、设备及介质。
背景技术:
1、直接存储器访问(direct memory access,dma)引入了缓存机制,通常采用静态随机存取存储器(static random access memory,sram)乒乓操作的方式来处理连续数据的缓存。具体地,直接存储器访问控制器(dma controller,dmac)首先发送两笔读突发传输至从设备,分别存入sram0和sram1。第一笔数据被sram0接收后,dmac发送写突发传输并读取sram0中的数据并发送至从设备。第一笔数据发送完毕后,dmac发送第三笔读命令并存入sram0,同时dmac发送第二笔写命令读取sram1中的数据并发送。此过程循环进行,直至数据传输完成。
2、然而,根据乒乓操作机制,第一笔读突发传输完成后进行写突发传输。但若传输前sram中已存大量数据,会导致写传输延迟,增加传输时间并降低dma控制器带宽。在复杂系统中,由于路由等问题,命令与数据响应时间可能较长。若第二笔数据较短,可能出现数据接收完毕后需等待较长时间接收第三笔读数据的情况,对dma传输带宽产生负面影响。综上所述,由于乒乓操作机制中的写传输延迟以及复杂系统中的命令与数据响应时间较长等因素,可能导致dma传输带宽降低。
3、鉴于上述问题,如何解决当前乒乓操作机制中的写传输延迟,以及复杂系统中的命令与数据响应时间较长,导致dma传输带宽降低,是该领域技术人员亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种突发数据传输方法、装置、设备及介质,以解决当前乒乓操作机制中的写传输延迟,以及复杂系统中的命令与数据响应时间较长,导致dma传输带宽降低的问题。
2、为解决上述技术问题,本发明提供一种突发数据传输方法,应用于直接存储器访问控制器,所述方法包括:
3、获取各项突发传输的控制信息,将各所述控制信息分别存入静态随机存取存储器对应的读命令寄存器、写命令寄存器、读通道寄存器和写通道寄存器;
4、当检测到所述读命令寄存器非空时,通过读命令通道将所述读命令寄存器中的所述控制信息发送至从设备,以指示从设备发送数据;
5、将所述读通道寄存器中的所述控制信息发送至读控制寄存器,以通过所述读控制寄存器将从设备发送的数据存入所述静态随机存取存储器中;
6、当检测到所述静态随机存取存储器存入数据时,通过写命令通道将所述写命令寄存器中的所述控制信息发送至从设备,以指示从设备接收数据;
7、将所述写通道寄存器中的所述控制信息发送至写控制寄存器,以通过所述写控制寄存器读取所述静态随机存取存储器中的数据,并通过写数据通道将数据发送至从设备。
8、一方面,所述获取各项突发传输的控制信息,将各所述控制信息分别存入静态随机存取存储器对应的读命令寄存器、写命令寄存器、读通道寄存器和写通道寄存器,包括:
9、获取直接存储器访问命令描述符中的源地址、目的地址及数据传输大小;
10、根据所述源地址、所述目的地址及所述数据传输大小生成各项突发传输的所述控制信息。
11、另一方面,在所述通过所述读控制寄存器将从设备发送的数据存入所述静态随机存取存储器中之后,还包括:
12、设置所述静态随机存取存储器的写指针加1;
13、监测从设备发送的表征数据传输完毕的信号;
14、判断是否接收到从设备发送的表征数据传输完毕的信号;
15、若未接收到从设备发送的表征数据传输完毕的信号,则返回至所述监测从设备发送的表征数据传输完毕的信号的步骤;
16、若接收到从设备发送的表征数据传输完毕的信号,则停止所述静态随机存取存储器的写指针计数;
17、对应地,在所述通过所述写控制寄存器读取所述静态随机存取存储器中的数据,并通过写数据通道将数据发送至从设备之后,还包括:
18、监测所述静态随机存取存储器中的数据量;
19、根据所述静态随机存取存储器中的数据量,判断所述静态随机存取存储器中的数据是否全部被读取;
20、若所述静态随机存取存储器中的数据未全部被读取,则返回至所述监测所述静态随机存取存储器中的数据量的步骤;
21、若所述静态随机存取存储器中的数据全部被读取,则判断向写通道发送的数据量是否达到写命令指示的向所述从设备发送的数据量;
22、若向写通道发送的数据量达到写命令指示的向所述从设备发送的数据量,则对所述静态随机存取存储器的写指针进行清零处理,以便于所述静态随机存取存储器继续接收数据;
23、若向写通道发送的数据量未达到写命令指示的向所述从设备发送的数据量,则等待读通道数据接收并把数据存入所述静态随机存取存储器中,对应写指针加1。
24、另一方面,在所述停止所述静态随机存取存储器的写指针计数之后,还包括:
25、当从设备再次发送数据时,通过另一个静态随机存取存储器接收从设备发送的数据;
26、设置所述另一个静态随机存取存储器的写指针加1;
27、监测从设备发送的表征数据传输完毕的信号;
28、判断是否接收到从设备发送的表征数据传输完毕的信号;
29、若未接收到从设备发送的表征数据传输完毕的信号,则返回至所述监测从设备发送的表征数据传输完毕的信号的步骤;
30、若接收到从设备发送的表征数据传输完毕的信号,则停止所述另一个静态随机存取存储器的写指针计数。
31、另一方面,在所述通过写命令通道将所述写命令寄存器中的所述控制信息发送至从设备,以指示从设备接收数据之前,还包括:
32、判断读指针是否小于所述静态随机存取存储器的写指针;其中,所述静态随机存取存储器和所述另一个静态随机存取存储器共用一个读指针;
33、若确认读指针小于所述静态随机存取存储器的写指针,则确认当前所述静态随机存取存储器中存在从设备传输的数据,进入所述通过写命令通道将所述写命令寄存器中的所述控制信息发送至从设备,以指示从设备接收数据的步骤,以从所述静态随机存取存储器中读取数据发送至从设备;
34、对应地,所述通过写数据通道将数据发送至从设备,包括:
35、将写有效信号置为高电平;
36、通过写数据通道将高电平下的写有效信号和所述静态随机存取存储器中的数据发送至从设备。
37、另一方面,在所述通过写数据通道将高电平下的写有效信号和所述静态随机存取存储器中的数据发送至从设备之后,还包括:
38、判断当前的写突发传输是否完成;
39、若确认当前写突发传输完成,则将读指针和所述静态随机存取存储器的写指针进行清零处理。
40、另一方面,在所述通过所述读控制寄存器将从设备发送的数据存入所述静态随机存取存储器中之后,还包括:
41、监测从设备发送的最后一笔数据;
42、当确认接收到从设备发送的最后一笔数据时,设置所述静态随机存取存储器的写指针为最大传输数据量所对应的指针值。
43、为解决上述技术问题,本发明还提供一种突发数据传输装置,应用于直接存储器访问控制器,所述装置包括:
44、获取模块,用于获取各项突发传输的控制信息,将各所述控制信息分别存入静态随机存取存储器对应的读命令寄存器、写命令寄存器、读通道寄存器和写通道寄存器;
45、第一发送模块,用于当检测到所述读命令寄存器非空时,通过读命令通道将所述读命令寄存器中的所述控制信息发送至从设备,以指示从设备发送数据;
46、第二发送模块,用于将所述读通道寄存器中的所述控制信息发送至读控制寄存器,以通过所述读控制寄存器将从设备发送的数据存入所述静态随机存取存储器中;
47、第三发送模块,用于当检测到所述静态随机存取存储器存入数据时,通过写命令通道将所述写命令寄存器中的所述控制信息发送至从设备,以指示从设备接收数据;
48、第四发送模块,用于将所述写通道寄存器中的所述控制信息发送至写控制寄存器,以通过所述写控制寄存器读取所述静态随机存取存储器中的数据,并通过写数据通道将数据发送至从设备。
49、为解决上述技术问题,本发明还提供一种突发数据传输设备,包括:
50、存储器,用于存储计算机程序;
51、处理器,用于执行所述计算机程序时实现上述的突发数据传输方法的步骤。
52、为解决上述技术问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的突发数据传输方法的步骤。
53、本发明所提供的突发数据传输方法,应用于直接存储器访问控制器。具体获取各项突发传输的控制信息,将各控制信息分别存入静态随机存取存储器对应的读命令寄存器、写命令寄存器、读通道寄存器和写通道寄存器;当检测到读命令寄存器非空时,通过读命令通道将读命令寄存器中的控制信息发送至从设备,以指示从设备发送数据;将读通道寄存器中的控制信息发送至读控制寄存器,以通过读控制寄存器将从设备发送的数据存入静态随机存取存储器中;当检测到静态随机存取存储器存入数据时,通过写命令通道将写命令寄存器中的控制信息发送至从设备,以指示从设备接收数据;将写通道寄存器中的控制信息发送至写控制寄存器,以通过写控制寄存器读取静态随机存取存储器中的数据,并通过写数据通道将数据发送至从设备。本发明的有益效果在于,在获取并将各控制信息分别存入sram对应的读命令寄存器、写命令寄存器、读通道寄存器和写通道寄存器之后,具体将读通道寄存器中的控制信息和写通道寄存器中的控制信息,分别对应发送至读控制寄存器和写控制寄存器中,从而能够在读数据完毕之前和写数据完毕之前将sram对应的四个寄存器中的控制信息均发送出去,进而使寄存器有空间写入下一次突发传输的控制信息,避免了当前乒乓操作机制中读数据完毕和写数据完毕之后才可以把sram对应的各寄存器空间释放,才允许下一次传输控制信息的配置;解决了在当前乒乓操作机制中,接收到从设备发送表征数据传输完毕的信号后,才开始读sram并向写通道发送数据的响应时间较长的缺点;本发明能够在检测到sram中有未发送的数据时便开始读sram并向写通道发送数据,提前释放了寄存器空间,并提前了写操作时机。降低了复杂系统中的命令与数据响应时间,提高了传输效率。
54、此外,本发明还提供了一种突发数据传输装置、设备及介质,效果同上。
本文地址:https://www.jishuxx.com/zhuanli/20241106/324732.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表