[发明专利]直接内存访问控制器和直接内存访问控制方法在审
申请号: | 201310454912.1 | 申请日: | 2013-09-29 |
公开(公告)号: | CN103500149A | 公开(公告)日: | 2014-01-08 |
发明(设计)人: | 王渝;牟澄磊;覃婕 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F13/16 | 分类号: | G06F13/16 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 直接 内存 访问 控制器 控制 方法 | ||
技术领域
本发明涉及电子技术,尤其涉及一种直接内存访问控制器和直接内存访问控制方法。
背景技术
随着系统级芯片(System On Chip,SOC)芯片的发展,片内存储器(Memory)所占比例越来越高,其面积通常占整个芯片面积的50%以上。而系统上电以后,Memory空间存储的值处于未知状态,而处理器如果读取到未知的值可能引起错误操作,因此需要将Memory的空间初始化为已知数据。同时,在某些业务场景下,需要将Memory的存储空间初始化为业务相关的初始值,这样可以方便业务模块或者处理器直接读取Memory的初始值开始计算,提高系统的处理效率。
初始化存储器的一种方法是处理器直接写Memory完成初始化,例如,处理器通过STORE命令直接对Memory进行写初始化的值,完成Memory所有空间的初始化。然而,这种方式的缺陷是由处理器执行初始化任务,导致处理器不能并行处理其他任务,并行处理其他任务的能力下降。为克服以上缺陷,提出了处理器通过启动直接内存访问控制器(Direct Memory Access Controller,DMAC)搬移完成对Memory的初始化,控制流程如下:DMAC被启动以后通过Read Process读取任务;任务解析逻辑(Task Parse)将获取到的任务数据(Task data)进行解析,得到任务参数,例如搬移的源地址、目的地址、搬移的数据量等等;Task Parse启动读写主控制(Read Write Ctrl)逻辑启动搬移;Read Write Ctrl启动读处理(Read Process)逻辑从数据缓存单元(Data Buffer)读取数据;读取的数据进入数据缓存单元过程中,写处理(Write Process)逻辑监控Data Buffer的状态,如果数据已经被读回,则启动写操作;Read Write Ctrl监控读写状态确定数据是否搬移完成。
然而,传统DMAC只能执行数据搬移,即需要从源地址读取数据以后才能向目的地址写数据,这样会占用读总线的带宽,造成总线拥塞导致系统效率降低。
发明内容
本发明实施例提供一种直接内存访问控制器和直接内存访问控制方法,解决了初始化内存过程中占用读总线带宽的技术问题。
第一方面,本发明实施例提供一种直接内存访问控制器,包括:
读取模块,用于通过总线读取直接内存访问控制任务的描述符,所述描述符携带有任务标识和任务参数;
控制模块,用于解析所述读取模块读取到的所述描述符中的任务标识,获取所述直接内存访问控制任务的类型,若所述直接内存访问控制任务的类型为初始化内存任务,则启动写模块;
所述写模块,用于在所述控制模块的控制下,根据所述描述符中的任务参数,通过所述总线将所述描述符中的初始化数据写入内存。
结合第一方面,在第一种可能的实现方式中,所述控制模块,还用于若所述直接内存访问控制任务的类型为数据搬移任务,则启动所述读模块和所述写模块;
所述读取模块,还用于在所述控制模块的控制下,根据所述描述符中的任务参数,通过所述总线读取所述源数据;
所述写模块,还用于在所述控制模块的控制下,根据所述描述符中的任务参数,将所述读取模块读取的源数据写入目标存储空间。
结合第一方面,或第一种可能的实现方式,在第二种可能的实现方式中,所述控制模块包括:解析单元、初始化缓存单元、搬移缓存单元、选通单元和读写控制单元;
所述解析单元,用于解析所述读取模块读取到的所述描述符中的任务标识,获取所述直接内存访问控制任务的类型,若识别出所述直接内存访问控制任务控制为初始化内存任务,将所述描述符中的初始化数据缓存到所述初始化缓存单元,控制所述选通单元导通所述初始化缓存单元与所述写模块的连接并切断所述搬移缓存单元与所述写模块的连接。并启动所述读写控制单元;
所述读写控制单元,用于若所述解析单元识别出所述直接内存访问控制任务控制为初始化内存任务,启动所述写模块;
所述写模块,还用于在所述读写控制单元的控制下,根据所述描述符中的任务参数将所述初始化缓存单元中的所述初始化数据写入所述内存;
所述解析单元,还用于若识别出所述直接内存访问控制任务控制为数据搬移任务,控制所述选通单元切断所述初始化缓存单元与所述写模块的连接并导通所述搬移缓存单元与所述写模块的连接,并启动读写控制单元;
所述读写控制单元,用于若所述解析单元识别出所述直接内存访问控制任务为数据搬移任务,启动所述读取模块和所述写模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310454912.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种轿车化摩托的转向机构
- 下一篇:一种向多图形处理器分配数据的方法和系统