[发明专利]一种直接内存存取控制器的数据传输方法及装置有效
申请号: | 201410012698.9 | 申请日: | 2014-01-10 |
公开(公告)号: | CN103714027A | 公开(公告)日: | 2014-04-09 |
发明(设计)人: | 王恩东;胡雷钧;李仁刚 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F13/30 | 分类号: | G06F13/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;栗若木 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 直接 内存 存取 控制器 数据传输 方法 装置 | ||
技术领域
本发明涉及计算机系统设计领域和集成电路设计领域,具体涉及一种直接内存存取控制器的数据传输方法及装置。
背景技术
随着计算机技术以及集成电路技术的飞速发展,高性能的计算机系统越来越成为经济社会发展的需要。计算机系统的数据传输带宽达数十GB/s,同时计算机系统附件设备的数据处理和分析能力也越来越高,这就为数据的传输能力带来挑战。一方面需要提高系统到设备的传输数据量,即尽可能的提高系统数据传输带宽的利用率,另一方面需要尽可能的避免数据传输而消耗的CPU计算资源。这就需要采用先进的DMA(Direct Memory Access,存储器直接访问)传输技术,DMA(Direct Memory Access,存储器直接访问)是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据。
DMA传输技术既可以有效提高数据传输效率,又可以避免对CPU计算资源的消耗。
但是单DMA引擎传输效率低,数据处理系统的传输带宽利用率不高,影响了系统性能。
发明内容
本发明要解决的技术问题是克服单DMA引擎传输效率低的不足,采用多组并行DMA引擎同时工作,可以显著提高DMA设备接收和发送数据的效率,提升系统性能。
一种直接内存存取DMA控制器的数据传输方法,应用于包含多个DMA引擎的DMA控制器,所述DMA引擎包括系统到设备DMA引擎及设备到系统DMA引擎,所述方法包括:
当多个所述系统到设备DMA引擎通过仲裁机制向系统发送请求读命令时,系统将待发送给设备的第一报文或读操作命令发送到接收报文分配模块,所述接收报文分配模块解析所述第一报文或读操作命令的请求标识符,根据该请求标识将所述第一报文或读操作命令分发到相应的系统到设备DMA引擎;所述系统到设备DMA引擎获取所述第一报文后转发给相应设备;
当多个所述设备到系统DMA引擎同时工作时,设备将待发送给系统的第二报文发送到每一个设备到系统DMA引擎,多个设备到系统DMA引擎通过仲裁机制向系统发送请求写命令,系统收到所述请求写命令后,将写操作命令发送到接收报文分配模块,所述接收报文分配模块解析所述写操作命令的请求标识符,根据所述标识符将所述写操作命令分发到相应的设备到系统DMA引擎;设备到系统DMA引擎收到所述写操作命令后,通过仲裁机制发送所述第二报文给系统。
可选地,所述通过仲裁机制发送第二报文给系统的步骤包括:
对各个所述设备到系统DMA引擎发送的第二报文进行优先级排序仲裁;对经过仲裁的所述第二报文进行再次优先级排序仲裁;
所述通过仲裁机制向系统发送请求写命令的步骤包括:
对各个所述设备到系统DMA引擎发送的请求写命令进行优先级排序仲裁;对经过仲裁的所述请求写命令进行再次优先级排序仲裁;
所述通过仲裁机制发送请求读命令的步骤包括:
对各个所述系统到设备DMA引擎发送的请求读命令进行优先级排序仲裁,对经过仲裁的所述命令进行再次优先级排序仲裁。
可选地,还包括:根据内部中断和/或外部中断生成中断请求,对中断请求进行优先级仲裁,仲裁后生成中断报文,将所述中断报文发送给仲裁机制与所述第二报文一起再次进行优先级排序仲裁,仲裁后所述中断报文被发送到系统。
可选地,在所述系统到设备DMA引擎获取所述第一报文的步骤前还包括:所述系统到设备DMA引擎发起描述符信息,将所述描述符信息写入第一描述符寄存器,当收到系统返回的带描述符信息的读操作命令时,所述系统到设备DMA引擎根据所述描述符信息从系统进行所述获取所述第一报文的步骤。
可选地,在发送所述第二报文给系统的步骤前还包括:所述设备到系统DMA引擎发起描述符信息,将所述描述符信息写入第二描述符寄存器,当收到系统返回的带描述符信息的写操作命令时,所述设备到系统DMA根据所述描述符信息进行发送所述第二报文数据报文给系统的步骤。
一种直接内存存取控制器的数据传输装置,包括:接收报文分配模块、仲裁模块、多个DMA引擎模块;
所述多个DMA引擎模块包括多个系统到设备DMA引擎模块、多个设备到系统DMA引擎模块;
所述系统到设备DMA引擎模块用于通过仲裁模块向系统发送请求读命令;接收系统通过接收报文分配模块发送过来的第一报文或读操作命令;当获取系统待发送给设备的第一报文时转发给相应设备;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410012698.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种双进液口补偿式蒸发器
- 下一篇:热泵系统