当前位置: 首页 > 专利查询>复旦大学专利>正文

一种加速内存中数据搬移的三维DMA电路制造技术

技术编号:19009082 阅读:80 留言:0更新日期:2018-09-22 08:58
本发明专利技术属于集成电路设计技术领域,具体为一种加速内存中数据搬移的三维DMA电路。该三维DMA电路由五部分组成:参数配置模块、用于生成临时地址的临时读地址模块以及临时写地址模块,用于生成AXI总线形式的源空间地址和目标空间地址并且传输数据的读数据模块与写数据模块。该电路通过参数配置模块向两个临时地址生成模块传递参数,实现以三维立体的形式在内存中两个独立的地址空间之间进行数据搬移的功能,其中与三维DMA地址空间分配相关的参数分别是源地址的线步长和面步长、目标地址的线步长和面步长、线条数量、平面数量、线条尺寸、源基地址以及目标基地址。该电路用更灵活的方式分配DMA在访问内存时的地址,极大提高了DMA进行数据搬移时的速度,提高了电路的工作效率。

A three dimensional DMA circuit to accelerate data migration in memory

The invention belongs to the technical field of integrated circuit design, in particular to a three-dimensional DMA circuit for accelerating data transfer in memory. The three-dimensional DMA circuit is composed of five parts: parameter configuration module, temporary read address module for generating temporary address and temporary write address module. It is used to generate source and target spatial address in the form of AXI bus and transmit data to read data module and write data module. The circuit transfers parameters to two temporary address generation modules by parameter configuration module to realize data transfer between two independent address spaces in memory in three-dimensional form. The parameters related to the allocation of three-dimensional DMA address space are the line step size of source address, the area step size and the target address, respectively. Line step and area step, line number, plane number, line size, source base address and target base address. This circuit uses a more flexible way to allocate the address of DMA when accessing memory, which greatly improves the speed of data transfer and the efficiency of the circuit.

【技术实现步骤摘要】
一种加速内存中数据搬移的三维DMA电路
本专利技术属于集成电路设计
,具体涉及一种针对将对内存中的数据在三维空间中进行加速搬移的DMA电路。
技术介绍
DMA(DirectMemoryAccess,直接内存存取)是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。相对于传统的CPU直接传输数据的方式,DMA控制器采取的传输方式为作用于存储器之间、存储器与外设之间、外设与外设之间直接交换数据,DMA传输将数据从一个地址空间复制到另一个地址空间,完全不需要CPU的干预。当CPU初始化这个传输动作,传输动作本身是由DMA控制器来实现和完成。在实现DMA传输时,是由DMA直接掌管总线,即DMA传输前,CPU要把总线控制权交给DMA控制器,外设和存储器直接进行数据交换而不需要CPU的干预,在数据传送完毕后,设备接口会向CPU发送DMA结束信号,DMA控制器立即把总线的控制权再交还给CPU。一个完整的DMA传输过程必须经过DAM请求、DMA响应、DMA传输、DMA结束4个步骤。DMA技术的出现,使得外围设备可以通过DMA控制器直接访问内存,与此同时,CPU可以继续执行程序。由于CPU根本不参加数据传送操作,因此就省去了CPU取指令、取数、送数等操作。内存地址的修改、传送字的个数的技术等等也不是由软件实现,而是用硬件线路直接实现的。所以DMA方式能满足高速I/O设备的要求,也有利于提高CPU的效率。本专利技术提出了一种三维DMA结构,三维代表所要搬移的数据的源地址以及要搬移到的目标地址在内存空间内是以三维的形式进行地址分配的,不需要反复调用DMA或者配置DMA的基地址以及传输长度等参数,并且地址的分配方式更加灵活。在传统DMA的基础上使DMA传输数据的效率得到进一步提高,从而进一步提高了CPU的工作效率,提高了整个电路的工作效率。
技术实现思路
为了克服现有技术的不足,本专利技术的目的在于提供一种可以以三维的形式分配地址空间,因而可加速内存中数据搬移的三维DMA电路。本专利技术提供的加速内存中数据搬移的三维DMA电路,通过配置组成一个三维空间的线条、平面所需要的多种参数,完成配置源地址空间与目标地址空间的地址,并通过AXI总线进行读取数据,提高DMA工作的效率。本专利技术提供的加速内存中数据搬移的三维DMA电路,其包括参数配置模块、临时读地址模块、临时写地址模块、读数据模块以及写数据模块;其中:所述参数配置模块,用于配置DMA在进行三维地址空间分配时所需要的全部参数,所述参数包括:源地址与目标地址的线步长、面步长,线条数量,平面数量,线条尺寸以及源地址与目标地址的基地址,每个参数存放在特定的寄存器中;所述临时读地址模块,用于生成源空间的临时地址,该模块接收参数配置模块所配置的参数,根据这些参数,生成需要进行数据搬移的源地址空间的临时值,即得到源空间的临时地址;该模块中,对临时地址空间的分配以类似于生成二维平面的形式进行;所述临时写地址模块,用于生成目标空间的临时地址,该模块接收临时读地址模块传递来的参数,以及读数据模块读取的AXI总线上的数据,根据参数生成需要搬移的目标地址空间的地址,并将需要搬移的数据与生成的目标空间临时地址一起输出给写数据模块;该模块中,对临时地址空间的分配同样以类似于生成二维平面的形式进行;所述读数据模块,用于接收来自临时读地址模块的数据输出,并将临时读地址转换成AXI总线形式的读地址,并且将通过总线在源内存空间中找到的数据读入到电路中,该模块中,地址空间按照三维立体的形式进行分配;所述写数据模块,用于接收来自临时写地址模块的数据输出,并将临时写地址转换成AXI总线形式写地址,然后将需要搬移的数据写到目标地址空间中;该模块中,地址空间同样按照三维立体的形式进行分配。本专利技术中,所述对临时地址空间的分配以类似于生成二维平面的形式进行,具体方式如下:二维的地址空间平面的长由所配置参数中的线步长以及线条数量组成,即在源空间的基地址的基础上,每次将地址增加源空间线步长的长度,总共增加线条数量L次;二维的地址空间平面的高是由面步长以及平面数量决定的,每次都是在上一个地址线条的基础上进行地址增加,地址增加的长度为面步长的大小,总共增加平面次数S次;由此就形成一个二维的地址空间平面,这个地址平面的长为L+1,宽为S+1。本专利技术中,所述地址空间按照三维立体的形式进行分配,具体方式如下:将临时地址模块输出的二维地址平面进行处理,将平面中每个地址根据线条尺寸的大小进行扩展,设线条尺寸大小为n(n>1),则在原有临时地址的基础上以一定的长度进行迭代增加,总共增加⌊n/2⌋次。由于平面内每个地址都可以再扩展⌊n/2⌋次,由此可以在二维平面的基础上形成一个三维立体的地址空间,这个立体空间的长为L+1,高为S+1,宽为⌊n/2⌋+1。通过这样的方式生成最终传送给AXI总线的地址,每个地址都对应了一个地址空间,每个地址空间内都存放了一个数据,这样生成地址空间的方式更加灵活,并且不需要反复调用DMA,极大提高了DMA的访存效率。本专利技术中,通过参数配置模块配置参数,然后通过两个临时地址生成模块得到源空间以及目标空间的临时地址,最后通过读数据模块和写数据模块与AXI总线连接,完成在两个相互独立的内存空间之间搬移数据的过程。整个数据搬移的过程是以三维立体的形式进行的。其中,只要在参数配置模块配置好形成一个三维空间所需要的线条、平面的相关参数,就可以完成在三维空间内进行地址分配的功能,不需要反复调用DMA或者配置DMA的基地址以及传输长度,并且地址的分配方式更加灵活,极大地提高了DMA在内存中的读取数据效率。本专利技术的有益效果在于:源空间和目标空间的地址的分配是以三维形式进行的,分配方式更加灵活,并且减少了不断调用DMA或者不断配置DMA的基地址以及传输长度等参数的次数,使得操作更加简单,DMA访问内存存取数据的效率更高,从而进一步提升了电路的工作效率。附图说明图1为三维DMA电路工作基本框图。图2为临时地址分配二维平面图。图3为三维地址扩充过程示意图。图4为三维DMA临时地址分配立体图。具体实施方式本专利技术中,三维DMA电路的工作基本框图如图1所示。该设计的工作过程如下:首先通过参数配置模块配置一个三维DMA电路中所需要的全部参数。其中参数包括:目标地址的面步长、目标地址的线步长、源地址的面步长、源地址的线步长、平面数量、线条数量、线条尺寸、源空间基地址以及目标空间基地址。这几个参数决定了需要搬移数据的源地址以及目标地址的地址空间的分配情况,每个参数都对应参数配置模块中特定的寄存器,只要配置好每个寄存器上的值就可以完成参数的配置。将以上几个参数配置成功之后,两个临时地址生成模块就会生成源地址空间的临时地址以及目标地址空间的临时地址和要进行搬移的数据。源地址空间的临时地址的实现方法为:首先源地址空间临时地址的长度为79bits,其中高15bits代表了线条尺寸这个参数所对应的寄存器上的值,后64bits代表了在不考虑线条尺寸的情况下的临时地址空间,每次发生地址变化的时候代表线条尺寸的前15bits不变,后64bits的地址根据源基地址、源地址面步长、线步长、平面数量以及线条数量确定源空间本文档来自技高网
...
一种加速内存中数据搬移的三维DMA电路

【技术保护点】
1.一种加速内存中数据搬移的三维DMA电路,其特征在于,包括参数配置模块、临时读地址模块、临时写地址模块、读数据模块以及写数据模块;其中:所述参数配置模块,用于配置DMA在进行三维地址空间分配时所需要的全部参数,所述参数包括:源地址与目标地址的线步长、面步长,线条数量,平面数量,线条尺寸以及源地址与目标地址的基地址,每个参数存放在特定的寄存器中;所述临时读地址模块,用于生成源空间的临时地址,该模块接收参数配置模块所配置的参数,根据这些参数,生成需要进行数据搬移的源地址空间的临时值,即得到源空间的临时地址;该模块中,对临时地址空间的分配以类似于生成二维平面的形式进行;所述临时写地址模块,用于生成目标空间的临时地址,该模块接收临时读地址模块传递来的参数,以及读数据模块读取的AXI总线上的数据,根据参数生成需要搬移的目标地址空间的地址,并将需要搬移的数据与生成的目标空间临时地址一起输出给写数据模块;该模块中,对临时地址空间的分配同样以类似于生成二维平面的形式进行;所述读数据模块,用于接收来自临时读地址模块的数据输出,并将临时读地址转换成AXI总线形式的读地址,并且将通过总线在源内存空间中找到的数据读入到电路中,该模块中,地址空间按照三维立体的形式进行分配;所述写数据模块,用于接收来自临时写地址模块的数据输出,并将临时写地址转换成AXI总线形式写地址,然后将需要搬移的数据写到目标地址空间中;该模块中,地址空间同样按照三维立体的形式进行分配。...

【技术特征摘要】
1.一种加速内存中数据搬移的三维DMA电路,其特征在于,包括参数配置模块、临时读地址模块、临时写地址模块、读数据模块以及写数据模块;其中:所述参数配置模块,用于配置DMA在进行三维地址空间分配时所需要的全部参数,所述参数包括:源地址与目标地址的线步长、面步长,线条数量,平面数量,线条尺寸以及源地址与目标地址的基地址,每个参数存放在特定的寄存器中;所述临时读地址模块,用于生成源空间的临时地址,该模块接收参数配置模块所配置的参数,根据这些参数,生成需要进行数据搬移的源地址空间的临时值,即得到源空间的临时地址;该模块中,对临时地址空间的分配以类似于生成二维平面的形式进行;所述临时写地址模块,用于生成目标空间的临时地址,该模块接收临时读地址模块传递来的参数,以及读数据模块读取的AXI总线上的数据,根据参数生成需要搬移的目标地址空间的地址,并将需要搬移的数据与生成的目标空间临时地址一起输出给写数据模块;该模块中,对临时地址空间的分配同样以类似于生成二维平面的形式进行;所述读数据模块,用于接收来自临时读地址模块的数据输出,并将临时读地址转换成AXI总线形式的读地址,并且将通过总线在源内存空间中找到的数据读入到电路中,该模块中,地址空间按照三维立体的形式进行分配;所述写数据模块,用于接收来自临...

【专利技术属性】
技术研发人员:韩军李晨露曾晓洋
申请(专利权)人:复旦大学
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1