System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及芯片,尤其涉及一种直接内存访问系统及数据搬运方法。
技术介绍
1、直接内存访问(direct memory access,dma)系统又称直接数据搬运硬件单元,其能够在不需要中央处理器(central processing unit,cpu)参与的情况下实现数据搬运。dma传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。
2、众所周知,cpu具有转移数据、计算、控制程序转移等诸多功能,是系统运作的核心,cpu时刻处理着大量的事务,但有些事务没有那么重要,比如数据的复制和存储数据,如果能够把这部分的cpu资源节约出来,用于cpu处理其他的复杂事务,便能够更好地利用cpu的资源。
3、其中,转移数据(尤其是转移大量数据)是可以不需要cpu参与的。比如希望外设a的数据拷贝到外设b,只要外设a和外设b提供一条dma数据通道,就能够直接将数据由外设a拷贝到外设b,该过程不需要经过cpu的处理。因此,dma能够在一定程度上解放cpu,对于实现高效嵌入式系统与加速网络数据处理有极其重要的作用。
4、一个完整的dma传输过程通常需要经过dma请求、dma响应、dma传输、dma结束4个步骤。在实现dma传输时,已有的系统皆是实现了在现有dma传输完成之后然后再处理其他dma传输请求,因此新的dma传输请求的处理存在较大延迟。已有的dma在传输数据过程中一旦开始便只能等到数据完全传输完成之后才会释放总线,对于在传输过程中接收到的高优先级dm
技术实现思路
1、本专利技术提供了一种直接内存访问系统及数据搬运方法,解决相关技术中存在的新的dma传输请求的处理存在较大延迟的问题。
2、作为本专利技术的第一个方面,提供一种直接内存访问系统,包括:传输信息存储器、优先级仲裁模块和传输控制模块,所述传输信息存储器通过总线与cpu相连,所述传输信息存储器与所述传输控制模块相连,所述优先级仲裁模块分别与所述传输信息存储器和所述传输控制模块相连,通过所述直接内存访问系统将源设备中的dma数据搬运到目标设备中;
3、所述传输信息存储器,用于存储从所述cpu或dma描述符接收到的dma传输配置信息,以及存储所述传输控制模块产生的反馈信息;
4、所述优先级仲裁模块,用于当接收到多个dma传输请求时,按照所述传输信息存储器中的dma传输配置信息判定所述多个dma传输请求的响应顺序;
5、所述传输控制模块,用于依据所述dma传输配置信息和所述多个dma传输请求的响应顺序控制dma数据的传输;其中,在所述dma数据传输过程中,所述传输控制模块能够产生反馈信息。
6、进一步地,所述dma传输配置信息用于配置所述直接内存访问系统如何进行dma数据搬运;所述dma传输配置信息包括dma数据传输的源设备地址、目标设备地址、地址变化模式、传输数据总数量、传输数据块大小和传输数据总块数。
7、进一步地,所述源设备地址为dma数据传输的起始地址,所述目标设备地址为dma数据传输的目的地址,所述地址变化模式指dma数据在传输过程中源设备地址及目标设备地址是保持不变或者按照数据宽度进行地址自增,所述传输数据总数量指一次dma数据传输所要搬运的数据总量,所述传输数据总块数指所述传输数据总数量和所述传输数据块大小的比值;
8、其中,在使能传输间隙检测功能情况下,每传输块大小个数据,则进行一次传输间隙检测。
9、进一步地,所述传输信息存储器包括由寄存器组构成的存储单元。
10、进一步地,所述传输控制模块包括第一判决器、第二判决器、第三判决器和第四判决器;
11、所述第一判决器,用于依据所述多个dma传输请求的响应顺序检测出当前最高优先级的dma传输请求,以及依据所述dma传输配置信息判断当前最高优先级的dma数据是否符合开始传输的条件;其中,若所述当前最高优先级的dma数据符合开始传输的条件,则控制所述当前最高优先级的dma数据进行传输;
12、所述第二判决器,用于判断所述当前最高优先级的dma数据是否传输完成,即已传输数据量是否达到传输数据总数量;
13、所述第三判决器,用于当所述当前最高优先级的dma数据未传输完成时,判断是否使能了传输间隙检测功能,即判断所述传输信息存储器的相关控制比特位的数值是0还是1;
14、所述第四判决器,用于当使能了传输间隙检测功能时,判断是否符合传输间隙插入的条件;其中,当符合传输间隙插入的条件时,在所述当前最高优先级的dma数据传输过程中插入所述传输间隙;
15、其中,在插入的传输间隙中,如果所述第一判决器检测到更高优先级的dma传输请求,且符合更高优先级的dma数据开始传输的条件,则暂停所述当前最高优先级的dma数据的传输,并提前结束所述传输间隙,对更高优先级的dma数据进行传输;当更高优先级的dma数据传输结束之后,回到所述当前最高优先级的dma数据传输的断点,继续进行未完成的所述当前最高优先级的dma数据的传输,直到所述当前最高优先级的dma数据全部传输完成;
16、其中,在插入的传输间隙中,如果所述第一判决器未检测到更高优先级的dma传输请求,且计数器在相应时钟频率下计数到指定数值时,所述传输间隙结束,继续所述当前最高优先级的dma数据的传输。
17、进一步地,所述传输间隙插入的条件为已传输数据块的个数未达到传输数据总块数,但传输间隙之间的传输数据量达到传输数据块大小。
18、进一步地,所述传输控制模块还包括地址管理单元、缓冲单元、总线控制单元、计数单元、读数据接口和写数据接口,所述第一判决器、第二判决器、第三判决器、第四判决器、地址管理单元、缓冲单元、计数单元、读数据接口和写数据接口均与所述总线控制单元连接;所述读数据接口还连接源设备的总线接口,用于读取所述源设备中的dma数据,所述写数据接口还连接目标设备的总线接口,用于将所述dma数据写入到目标设备中;
19、所述总线控制单元,用于实现dma数据传输的总线控制逻辑;
20、所述地址管理单元,用于实现dma数据传输过程中源设备地址及目标设备地址的保持、变化及暂存;
21、所述缓冲单元,用于对读数据通路的dma数据进行缓存,以及对写数据通路的dma数据进行缓存;
22、所述计数单元,用于对dma数据传输过程中已传输数据块的个数进行计数及暂存。
23、作为本专利技术的另一个方面,提供一种数据搬运方法,应用于前文所述的直接内存访问系统,其中,所述方法包括:
24、步骤s1:通过传输信息存储器存储dma传输配置信息,以及存储在dma数据传输过程中所产生的反馈信息;
25、步骤s2:当接收到多个dma传输请求时,通过优先级仲裁模块本文档来自技高网...
【技术保护点】
1.一种直接内存访问系统,其特征在于,包括:传输信息存储器、优先级仲裁模块和传输控制模块,所述传输信息存储器通过总线与CPU相连,所述传输信息存储器与所述传输控制模块相连,所述优先级仲裁模块分别与所述传输信息存储器和所述传输控制模块相连,通过所述直接内存访问系统将源设备中的DMA数据搬运到目标设备中;
2.根据权利要求1所述的直接内存访问系统,其特征在于,所述DMA传输配置信息用于配置所述直接内存访问系统如何进行DMA数据搬运;所述DMA传输配置信息包括DMA数据传输的源设备地址、目标设备地址、地址变化模式、传输数据总数量、传输数据块大小和传输数据总块数。
3.根据权利要求2所述的直接内存访问系统,其特征在于,所述源设备地址为DMA数据传输的起始地址,所述目标设备地址为DMA数据传输的目的地址,所述地址变化模式指DMA数据在传输过程中源设备地址及目标设备地址是保持不变或者按照数据宽度进行地址自增,所述传输数据总数量指一次DMA数据传输所要搬运的数据总量,所述传输数据总块数指所述传输数据总数量和所述传输数据块大小的比值;
4.根据权利要求1所述的
5.根据权利要求1所述的直接内存访问系统,其特征在于,所述传输控制模块包括第一判决器、第二判决器、第三判决器和第四判决器;
6.根据权利要求5所述的直接内存访问系统,其特征在于,所述传输间隙插入的条件为已传输数据块的个数未达到传输数据总块数,但传输间隙之间的传输数据量达到传输数据块大小。
7.根据权利要求5所述的直接内存访问系统,其特征在于,所述传输控制模块还包括地址管理单元、缓冲单元、总线控制单元、计数单元、读数据接口和写数据接口,所述第一判决器、第二判决器、第三判决器、第四判决器、地址管理单元、缓冲单元、计数单元、读数据接口和写数据接口均与所述总线控制单元连接;所述读数据接口还连接源设备的总线接口,用于读取所述源设备中的DMA数据,所述写数据接口还连接目标设备的总线接口,用于将所述DMA数据写入到目标设备中;
8.一种数据搬运方法,应用于权利要求1至7中任意一项所述的直接内存访问系统,其特征在于,所述数据搬运方法包括:
9.根据权利要求8所述的数据搬运方法,其特征在于,所述通过传输控制模块依据所述DMA传输配置信息和所述多个DMA传输请求的响应顺序控制DMA数据的传输,还包括:
10.根据权利要求9所述的数据搬运方法,其特征在于,所述步骤S35中,还包括:
...【技术特征摘要】
1.一种直接内存访问系统,其特征在于,包括:传输信息存储器、优先级仲裁模块和传输控制模块,所述传输信息存储器通过总线与cpu相连,所述传输信息存储器与所述传输控制模块相连,所述优先级仲裁模块分别与所述传输信息存储器和所述传输控制模块相连,通过所述直接内存访问系统将源设备中的dma数据搬运到目标设备中;
2.根据权利要求1所述的直接内存访问系统,其特征在于,所述dma传输配置信息用于配置所述直接内存访问系统如何进行dma数据搬运;所述dma传输配置信息包括dma数据传输的源设备地址、目标设备地址、地址变化模式、传输数据总数量、传输数据块大小和传输数据总块数。
3.根据权利要求2所述的直接内存访问系统,其特征在于,所述源设备地址为dma数据传输的起始地址,所述目标设备地址为dma数据传输的目的地址,所述地址变化模式指dma数据在传输过程中源设备地址及目标设备地址是保持不变或者按照数据宽度进行地址自增,所述传输数据总数量指一次dma数据传输所要搬运的数据总量,所述传输数据总块数指所述传输数据总数量和所述传输数据块大小的比值;
4.根据权利要求1所述的直接内存访问系统,其特征在于,所述传输信息存储器包括由寄存器组构成的存储单元。
5.根据权利要求1所述的直...
【专利技术属性】
技术研发人员:刘杰,肖时茂,
申请(专利权)人:南京中科微电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。