一种高效dma控制器的制作方法

文档序号:6437739阅读:362来源:国知局
专利名称:一种高效dma控制器的制作方法
技术领域
本发明涉及集成电路技术领域,特别是一种直接存储器访问(DMA)的方法和装置,此DMA方法和装置可用于、但是不局限于数字信号处理装置中。
背景技术
处理器或者是数字信号处理器,主要用于数据的处理。处理器可以包括一个处理器核心,一个存储器,一个DMA控制器,一个外部总线接口,以及一个或者多个的外部接口用于实现芯片与外部的数据交互。处理器核心用于完成数据的处理操作,而数据的处理必然涉及数据源的读取和数据操作结果的储存操作。在数据的读写中,存在一类数据读写操作,即批量的数据读写,即将一个大块数据从一个存储区域搬移到令一个存储区域。处理器中,DMA控制器实现了上述的大块数据搬移操作,从而将处理器核心从繁重的数据搬移操作中解放出来,处理器核心可以直接利用DMA搬移的数据进行数据处理,也可以将数据完成的数据有DMA控制器搬移到指定的地址空间。在现有的DMA控制器实现方法中,当多个外设同事需要利用DMA控制器进行数据搬移时,DMA控制器的读写都采用固定的优先级或者优先级轮循的模式进行。一个外设在搬移数据时,可能导致另一个也需要利用DMA控制器进行数据搬移的外设一直处于等待状态,直到另一个外设完成了数据搬移后才可以进行数据搬移,因此,上述方法将导致数据的搬移具有很大延时,并且,也降低了系统的数据吞吐量。

发明内容
(一 )要解决的技术问题有鉴于此,本发明的主要目的在于提供一种实现有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,解决现有DMA控制器装置在总线存在多个主设备时,大负载情况下延时和吞吐量问题。( 二 )技术方案为达到上述目的,本发明提供了一种实现有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,包括:可配置DMA控制器和外设的处理器、DMA控制器、可动态优先级调度的总线、具有向DMA发送传输请求信号的外设。处理器核心可以根据处理器执行任务的需要配置启动DMA控制器,以及可以利用DMA控制器传输数据的外设的工作模式,可接受DMA完成数据传输后发送的中断请求。DMA可以根据处理器对其的配置,进行存储器不同区域间数据传递、存储器与外设间数据传递和进行不同外设间数据传递。DMA可以接受多个外设的数据传输请求,该请求包含了数据实时性等级信息,DMA控制器进一步根据外设的数据传输实时性需求,请求总线调度模块设置DMA控制器的总线调度优先级,DMA在获得总线的控制权后,进行数据搬移操作。处理器系统中的可动态调度优先级总线模块,则根据其他模块的请求,动态设置总线上各个主设备的总线优先级。最后,作为DMA控制器进行数据源或者数据目的的外设模块,可以根据处理器的配置,启动DMA操作模式,使其可以接受DMA控制器的数据搬移操作,在工作启动后,外设可以根据其内部有效数据缓冲区的大小,向DMA控制器发送包含数据实时性需求等级的数据传输请求。(三)有益效果从上述技术方案可以看出,本发明具有以下有益效果:1.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,可使处理器具备各个数据存储区域间的数据搬移功能,将处理器核心从搬移数据工作中释放出来。2.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,使得外设可以有效的获取数据,或者及时的将准备好的数据由DMA控制器搬移到指定区域。3.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,使得处理器在总线上存在多个主设备的情况下,降低了不同主设备(包括DMA控制器)抢占总线的可能性。4.本发明提供的有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器及传输方法,可以用DMA控制器根据数据的实时性需求,合理利用总线资源,在数据实时搬移数据时候,利用高优先级获取总线控制权,而在低数据实时性需求时候,则以较低的优先级获取总线的控制权。


下面通过举例和并非作为限制的附图来描述本发明,图中相同的标号所表示的意义相同。图1具备DMA控制器的处理器系统结构图
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。图1描述了包含本发明所描述的DMA控制器的处理器系统结构图。如图1所示,处理器核心101通过系统总线107和其他设备进行连接,从而实现访问其他设备的功能。存储器102同样通过系统总线107和其他设备进行连接,其作为总线上的从设备可以被处理器核心101和DMA控制器103等主设备进行存储器访问。DMA控制器103作为主设备可以利用总线107将数据从一个从设备搬移到另一个从设备。处理器系统中可以存在多个外设(104,105),这些外设同样挂在总线107上,接受主设备(101,103)的读写访问操作。可以被DMA控制器访问的外设(104,105)进行读写访问。而外设可以利用连接106向DMA控制器发送DMA操作请求信号,从而要求DMA实现DMA数据搬移。总线107上的总线优先级调度模块108可以接受DMA控制器103的优先级调度请求,设置DMA控制器具有一定的总线访问优先级。以上描述了处理器系统中包含DMA控制器在内的各个模块是如何连接的,进一步的,以下以将一块数据从存储器102搬移到外设104为例描述DMA如何实现数据搬移的全过程。首先,处理器核心101根据数据搬移的需求,通过总线107配置DMA控制器:配置数据源为存储器102的某一个地址;配置所需搬移的数据容量;配置数据搬移的目的地址为外设104的某一个地址;另外,根据需要还可配置每一次数据搬移的数据块大小等。处理器核心101根据数据搬移的需求,通过总线107配置外设104。使其可工作于DMA数据搬移模式。假设外设104内存在一个深度为16的FIFO由于接受DMA控制器发送的数据。那么可以是配置外设104可以向DMA控制器发送具备两个级别的传输请求信号。亦即当外设104的FIFO中有效数据深度只有4时,发送高级别的传输求情信号,请求DMA控制器尽快发送数据;当外设104的FIFO中有效数据深度为12时候,可以请求DMA控制器以低级别的操作发送数据。进一步的,可以配置上述DMA控制器每一次数据搬移的数据块大小为4,防止在FIFO有效数据深度为12时数据溢出的发生。进一步的,当DMA控制器在接收到高级别的传输请求信号时候,可以通过请求总线调度模块108使DMA控制器尽快获得总线的控制权,使其能够尽快的从存储器102中读取数据,然后向外设104发送数据。当DMA控制器在接受到低级别的传输请求信号时候,则可以请求总线调度模块以较低的优先级获取总线控制器,假如此时处理器核心101亦需要访问总线,由于外设104并不迫切需要获得数据,可以使处理器101优先访问总线,等到处理器101释放总线后,DMA控制器再获得总线的控制权,从存储器102中读取数据,然后向外设104发送数据。当所有DMA控制器完成了处理器核心101设定的数据搬移的容量后,利用中断的方式通知处理器101已经完成了此次数据搬移。
权利要求
1.一种实现有效利用总线吞吐率和降低时延的高效直接存储器访问DAM传输的DMA控制器,其特征为DMA控制器包含一个数据通路用于DMA数据源和数据目的之间的数据传输;包含一个通道控制逻辑用于配置DMA数据传输方式;DMA传输请求接口 ;DMA优先级调度请求接口。
2.根据权利要求1所述DMA控制器,其特征在于控制器的数据通路模块根据数据搬移的源地址、目的地址,利用数据总线实现内存和外设间、内存和内存间、外设和外设间的数据读写操作。
3.根据权利要求1所述DMA控制器,其特征在于控制器的数据通路模块,可以并发的执行从数据源地址执行读操作、向数据目的地址执行写操作。
4.根据权利要求1所述的DMA控制器,其特征在于通道控制逻辑用于保存DMA控制器工作方法的配置,配置可包括数据源地址、目的地址、读写操作模式、读写优先级、DMA数据搬移完成后的动作。
5.根据权利要求1所述的DMA控制器,其特征在于传输请求接口接收DMA操作数据源地址、目的地址所对应的外设或者内存对于数据传输的DMA操作请求;接受该DMA读写操作的实时性需求信息。
6.根据权利要求1所述的DMA控制器,其特征在于优先级调度请求接口根据DMA控制器接收的实时性等级信息,决定DMA数据传输在总线上的优先级,DMA控制器通过优先级调度请求接口向总线调度器申请DMA控制器数据搬移的总线控制权。
全文摘要
本发明公开了一种实现有效利用总线吞吐率和降低时延的高效DMA控制器。DMA控制器包括DMA控制模块,用于控制外设和内存间、不同外设间和不同内存区域间的高效批量数据传输;其数据传输中外设可以根据有效缓存空间大小的不同而向DMA控制器发送不同级别的传输请求信号,该级别信号表示了外设需要立即接受数据,或者可延缓一段时间接受数据;而DMA控制器可根据不同的外设要求向总线优先级调度模块修改DMA控制器在总线的调度优先级。采用了本发明的技术方案后,可以在DMA传输中完成外设与DMA控制器间的DMA传输,总线上存在多个主设备时候,DMA控制器这个主设备可以减少与其他设备抢占总线,提高了总线的吞吐率,也降低了总线上各个主设备由于抢占总线引起的时延。
文档编号G06F13/30GK103106164SQ20111035131
公开日2013年5月15日 申请日期2011年11月9日 优先权日2011年11月9日
发明者石伟 申请人:深圳市德赛微电子技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1