[发明专利]一种数据传输方法及系统在审
申请号: | 201710569724.1 | 申请日: | 2017-07-13 |
公开(公告)号: | CN107341063A | 公开(公告)日: | 2017-11-10 |
发明(设计)人: | 杨涛 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F13/28 |
代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据传输 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种数据传输方法,还涉及一种数据传输系统。
背景技术
DMA(Direct Memory Access,直接内存存取)是一种不经过CPU(Central Processing Unit,中央处理器),直接从内存存取数据的数据交换模式,CPU向DMA控制器发送命令,使DMA控制器进行数据传输,传输完毕后再把完成信息反馈给CPU。首先,CPU向DMA下达命令队列,该命令队列中可以存储若干个命令,命令参数包含数据的传输方向、数据传输的源地址、数据传输的目的地址以及数据传输的长度信息等。DMA控制器从命令队列中获取命令,根据获取的命令启动DMA进行数据传输,直到完成命令队列中的所有命令。当处理完该命令队列后,CPU继续发送下一个命令队列到DMA控制器,直到所有队列中的命令都完成。
当DMA控制器将从命令队列中获取的命令全部执行完毕后,再由CPU继续向命令队列发送命令,以便DMA控制器在此从命令队列中获取命令并执行,直到将所有的命令均处理完毕。可见,在CPU向命令队列发送命令的这段时间,对数据的处理是中断的,也就是说这段时间被浪费了。这种数据传输模式虽然能降低CPU的资源占有率,节省系统资源,但是整个过程消耗时间长,DMA数据传输的速率低。
综上所述,如何提供一种降低耗时的数据传输方式,是目前本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种数据传输的方法及系统,以降低数据传输消耗的时间,提高DMA的传输效率。
为了实现上述目的,本发明提供如下技术方案:
一种数据传输的方法,包括:
步骤1:CPU将当前需要被处理的命令发送到第一命令队列;
步骤2:DMA控制器获取并处理所述第一命令队列中的命令;在所述DMA控制器获取并处理所述第一命令队列中的命令的过程中,所述CPU将当前需要被处理的命令发送到第二命令队列中;
步骤3:所述DMA控制器处理完所述第一命令队列中的命令后,获取并处理所述第二命令队列中的命令;在所述DMA控制器获取并处理第二命令队列中命令的过程中,返回执行步骤1,直至不存在需要被处理的命令为止。
优选的,所述CPU将当前需要被处理的命令发送到第一命令队列或第二命令队列后,还包括:
所述CPU向所述DMA控制器发送已将需要被处理的命令发送至第一命令队列或第二命令队列的通知消息。
优选的,所述CPU向所述DMA控制器发送已将需要被处理的命令发送至第一命令队列或第二命令队列的通知消息,包括:
所述CPU通过寄存器向所述DMA控制器发送所述通知消息。
优选的,所述DMA控制器处理完所述第一命令队列或所述第二命令队列中的命令后,还包括:
所述DMA控制器向所述CPU发送已经处理完所述第一命令队列或所述第二命令队列中的命令的完成消息。
优选的,所述DMA控制器获取并处理所述第一命令队列或所述第二命令队列中的命令,包括:
所述DMA控制器控制第一DMA实现与所述第一命令队列或所述第二命令队列中的命令对应的命令搬移操作,控制第二DMA实现与所述第一命令队列或所述第二命令队列中的数据传输操作。
一种数据传输的系统,包括:
CPU,用于:将当前需要被处理的命令发送到第一命令队列;在DMA控制器获取并处理所述第一命令队列中的命令的过程中,将当前需要被处理的命令发送到第二命令队列;在所述DMA控制器获取并处理所述第二命令队列中的命令的过程中,将当前需要被处理的命令发送至第一命令队列中,直至不存在需要被处理的命令为止;
DMA控制器,用于:获取并处理所述第一命令队列中的命令;处理完所述第一命令队列中的命令后,获取并处理所述第二命令队列中的命令;处理完所述第二命令队列中的命令后,获取并处理所述第一命令队列中的命令,直至第一命令队列及第二命令队列中均不存在需要被处理的命令为止。
优选的,所述CPU还用于:
在所述CPU将当前需要被处理的命令发送到第一命令队列或第二命令队列后,向所述DMA控制器发送已将需要被处理的命令发送至第一命令队列或第二命令队列的通知消息。
优选的,所述CPU包括:
发送模块,用于:通过寄存器向所述DMA控制器发送所述通知消息。
优选的,所述DMA控制器还用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710569724.1/2.html,转载请声明来源钻瓜专利网。