Dma控制器、移动终端以及数据搬运方法

文档序号:6512357阅读:283来源:国知局
Dma控制器、移动终端以及数据搬运方法
【专利摘要】本发明提供了一种DMA控制器、配置有该DMA控制器的移动终端以及基于该DMA控制器的数据搬运方法,该DMA控制器包括:配置接口,与外部的系统总线相连,用于配置DMA控制器的指令区地址和数据区地址,其中,指令区为存储在系统内存中的一段预先编程的微程序;处理引擎,与配置接口相连,用于根据指令区地址和数据区地址解释执行微程序。在本发明中,通过可编程的微程序来配置DMA控制器的执行,从而可实现复杂的数据搬运,同时降低DMA控制器中断对主处理器的影响,达到了提高系统效率的效果。
【专利说明】DMA控制器、移动终端以及数据搬运方法

【技术领域】
[0001] 本发明涉及IC设计领域,具体而言,涉及一种DM控制器、配置有该DM控制器的 移动终端以及基于该DM控制器的数据搬运方法。

【背景技术】
[0002] 随着移动终端设备技术发展,终端对系统功耗要求越来越严苛,而对数据处理性 能要求越来越高。对于处理器技术而言,高性能意味着高功耗。各家处理器设备厂商在功 耗和性能间不断进行优化设计,最终选择一种相对平衡的折中方案。这种严格要求,也推动 了 IC设计技术的发展。
[0003] 在当前的处理器系统架构中,增加了 DMA控制器用来辅助主处理器完成数据搬运 和处理工作。在移动设备中,DMA控制器占据了数据处理的很大比重,具有很大的应用需求。 DM控制器主要工作是搬运数据,涉及内存与内存间数据搬运、内存和设备间数据搬运,以 及某些控制器提供的设备与设备间的数据搬运。DM控制器的加入,解放了主处理器的数据 搬运束缚。同时DM控制器专注于数据搬运,与通用处理器相比具有较高的性能,也有很低 的功耗表现。
[0004] 但是,随着移动终端设备越来越丰富,以及对数据处理的需求越来越复杂,对主处 理器的性能要求越来越高,而带来的功耗也越来越高。如何降低主处理器的处理时间,尽快 让主处理器进入睡眠状态,成为降低系统功耗的有效手段。现在的DM控制器虽提高了系 统性能,但频繁的DMA中断处理仍然需要主处理器响应,对系统的性能和功耗有较大影响。
[0005] 针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。


【发明内容】

[0006] 本发明提供了一种DM控制器、配置有该DM控制器的移动终端以及基于该DM 控制器的数据搬运方法,以解决上述现有DMA控制需要频繁向主处理器上报中断,影响系 统性能和功耗的问题。
[0007] 根据本发明的一个方面,提供了一种DM控制器,该DM控制器包括:配置接口,与 外部的系统总线相连,用于配置DM控制器的指令区地址和数据区地址,其中,指令区为存 储在系统内存中的一段预先编程的微程序;处理引擎,与配置接口相连,用于根据指令区地 址和数据区地址解释执行微程序。
[0008] 优选地,DMA控制器还包括:DMA通道,与处理引擎相连,用于所需搬运数据的传 输;中断接口,与处理引擎相连,用于向主处理器上报中断;内部总线,与外部的系统总线 相连,用于处理引擎对系统内存和外部设备的访问。
[0009] 优选地,微程序为可重复编程的指令段,可存储于系统内存的任意位置。
[0010] 优选地,处理引擎为多个,每个处理引擎具有独立对应的配置接口和DMA通道。
[0011] 优选地,DM控制器还包括:源地址寄存器、目的地址寄存器、数据搬运长度寄存 器。
[0012] 根据本发明的另一方面,提供了一种基于该DM控制器的数据搬运方法,包括:主 处理器配置DM控制器的指令区地址和数据区地址,其中,指令区为存储在系统内存中的 一段预先编程的微程序;DM控制器根据指令区地址和数据区地址解释执行微程序,以进 行数据的搬运。
[0013] 优选地,微程序为可重复编程的指令段,可存储于系统内存的任意位置。
[0014] 优选地,主处理器配置DM控制器的指令区地址和数据区地址之前,还包括:主处 理器接收DMA请求,并选择相应的微程序。
[0015] 优选地,主处理器配置DMA控制器的指令区地址和数据区地址,包括:主处理器根 据DM请求配置微程序对应的数据区;主处理器将数据区和微程序的内存地址配置给DM 控制器的相应通道,并启动DM控制器。
[0016] 根据本发明的再一方面,提供了一种移动终端,包括前文的DM控制器。
[0017] 在本发明实施例中,通过可编程的微程序来配置DM控制器的执行,从而可实现 复杂的数据搬运,同时降低DM控制器中断对主处理器的影响,达到了提高系统效率的效 果。

【专利附图】

【附图说明】
[0018] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019] 图1是根据本发明实施例的DM控制器结构示意图;
[0020] 图2是根据本发明实施例一的DM控制器内部结构示意图;
[0021] 图3是根据本发明实施例一的DM控制器配置流程图;
[0022] 图4是根据相关技术的DM接收数据流程图;
[0023] 图5是根据本发明实施例二的USB缓冲区管理示意图;
[0024] 图6是根据本发明实施例二的DM接收数据流程图。

【具体实施方式】
[0025] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0026] 图1是根据本发明实施例的DM控制器结构示意图。如图1所示,该DM控制器包 括:配置接口 10和处理引擎20。配置接口 10与外部的系统总线相连,用于配置DMA控制器 的指令区地址和数据区地址,其中,指令区为存储在系统内存中的一段预先编程的微程序。 处理引擎20与配置接口相连,用于根据指令区地址和数据区地址解释执行微程序。
[0027] 在本实施例中,通过可编程的微程序来配置DM控制器的执行,从而可实现复杂 的数据搬运,同时降低DM控制器中断对主处理器的影响,达到了提高系统效率的效果。
[0028] 其中,微程序为可重复编程的指令段,可存储于系统内存的任意位置。
[0029] 其中,DMA控制器还包括:DMA通道,与处理引擎相连,用于所需搬运数据的传输; 中断接口,与处理引擎相连,用于向主处理器上报中断;内部总线,与外部的系统总线相连, 用于处理引擎对系统内存和外部设备的访问。
[0030] 其中,处理引擎为多个,每个处理引擎具有独立的配置接口和DMA。
[0031] 其中,DM控制器还包括:源地址寄存器、目的地址寄存器、数据搬运长度寄存器。
[0032] 实施例一
[0033] 为了进一步提高DM控制器的性能和降低系统功耗,需要减少中断产生,降低主 处理器的响应时间,为此,本发明实例一提供了一种实际应用的DM控制器。
[0034] 本实施例提供的DM控制器具有如下特征:
[0035] LDMA控制器以每一个通道作为编程单元。各个DMA通道间无相互影响。
[0036] 2. DMA控制器可读写访问系统内存空间。
[0037] 3. DM控制器内部具有计算比较等逻辑运算单元。
[0038] 4. DMA控制器可解释识别运算指令,有一套自己的指令集。
[0039] 5. DM控制器指令的操作寄存器含较少通用寄存器,主要寄存器为DM相关配置 寄存器,如源地址寄存器、目的地址寄存器、搬运长度寄存器、及其他辅助寄存器。
[0040] 6.系统主处理器可将系统内存中的指令区配置给DMA控制器解释执行。
[0041] 7.除指令区外,系统主处理器可选择配置输入数据区,用于配置DM数据搬运信 肩、。
[0042] 图2是根据本实施例的DM控制器内部结构示意图。如图2所示:
[0043] 该DMA控制器包括3个处理引擎(20),每一个处理引擎(20)对应一个DMA通道 (40 ),通过该通道可独立完成本通道数据搬运处理工作。
[0044] 每个处理引擎(20)还有一个独立的配置通道接口(10),用于配置处理引擎(20) 的指令区和数据区在系统内存的地址。
[0045] 处理引擎(20)接收设备的DMA处理请求,在数据处理完毕后,DMA控制器通过中断 接口(30)通知主处理器。
[0046] 控制器内部有高速数据传输总线(50)与外部系统总线相接,完成处理引擎(20) 对外部内存和设备的访问。
[0047] 除内部数据总线外,配置接口(10)也与外部的系统总线相接,此系统总线接口用 于主处理器对配置接口(10)的访问。
[0048] 在本实施例的系统框架下,处理引擎(20)可根据配置的指令区的指令解释执行, 完成用户定制的DMA动作。该指令区的指令简短精炼,在此称为微程序。
[0049] 图3是根据本发明实施例一的DM控制器配置流程图。如图3所示,该DM控制 器配置流程包括以下步骤:
[0050] 步骤S301,主处理器接收上层用户请求。
[0051] 步骤S302,主处理器根据DMA请求,选择不同的DMA控制器微程序。
[0052] 步骤S303,主处理器根据DMA请求的内容,配置微程序对应的输入数据区。
[0053] 步骤S304,主处理器将输入数据区的地址配置给DMA控制器相应通道。
[0054] 步骤S305,主处理器将微程序的地址配置给DMA控制器相应通道。
[0055] 步骤S306,以上配置完成后,主处理器启动DMA控制器开始工作。
[0056] 步骤S307, DMA控制器通过微程序地址,获取微程序并执行。
[0057] 步骤S308, DMA控制器根据微程序要求,当完成任务后,上报中断通知主处理器。
[0058] 步骤S309,主处理器接收到DMA控制器中断,完成DMA流程。
[0059] 在本发明实施例中,DM控制器需要执行微程序,微程序由DM控制器可识别的指 令组成。DM控制器的指令使用伪代码的形式可表示如下:

【权利要求】
1. 一种DMA控制器,其特征在于,包括: 配置接口,与外部的系统总线相连,用于配置所述DMA控制器的指令区地址和数据区 地址,其中,所述指令区为存储在系统内存中的一段预先编程的微程序; 处理引擎,与所述配置接口相连,用于根据所述指令区地址和所述数据区地址解释执 行所述微程序。
2. 根据权利要求1所述的DMA控制器,其特征在于,还包括: DMA通道,与所述处理引擎相连,用于所需搬运数据的传输; 中断接口,与所述处理引擎相连,用于向所述主处理器上报中断; 内部总线,与外部的所述系统总线相连,用于所述处理引擎对系统内存和外部设备的 访问。
3. 根据权利要求1所述的DMA控制器,其特征在于,所述微程序为可重复编程的指令 段,可存储于系统内存的任意位置。
4. 根据权利要求1所述的DMA控制器,其特征在于,所述处理引擎为多个,每个所述处 理引擎具有独立的所述配置接口和所述DMA通道。
5. 根据权利要求1所述的DMA控制器,其特征在于,还包括: 源地址寄存器、目的地址寄存器、数据搬运长度寄存器。
6. -种基于DMA控制器的数据搬运方法,其特征在于,包括: 主处理器配置所述DMA控制器的指令区地址和数据区地址,其中,所述指令区为存储 在系统内存中的一段预先编程的微程序; 所述DMA控制器根据所述指令区地址和所述数据区地址解释执行所述微程序,W进行 数据的搬运。
7. 根据权利要求6所述的数据搬运方法,其特征在于,所述微程序为可重复编程的指 令段,可存储于系统内存的任意位置。
8. 根据权利要求6所述的数据搬运方法,其特征在于,主处理器配置所述DMA控制器的 指令区地址和数据区地址之前,还包括: 所述主处理器接收DMA请求,并选择相应的微程序。
9. 根据权利要求8所述的数据搬运方法,其特征在于,主处理器配置所述DMA控制器的 指令区地址和数据区地址,包括: 所述主处理器根据所述DMA请求配置所述微程序对应的数据区; 所述主处理器将所述数据区和微程序的内存地址配置给所述DMA控制器的相应通道, 并启动DM控制器。
10. -种移动终端,其特征在于,包括权利要求1至5中任意一项所述的DMA控制器。
【文档编号】G06F13/32GK104461970SQ201310430556
【公开日】2015年3月25日 申请日期:2013年9月18日 优先权日:2013年9月18日
【发明者】葛安峰, 于翔 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1