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结构,三维代表所要搬移的数据的源地址以及要搬移到的目标地址在内存空间内是以三维的形式进行地址分配 ...
【技术保护点】
1.一种加速内存中数据搬移的三维DMA电路,其特征在于,包括参数配置模块、临时读地址模块、临时写地址模块、读数据模块以及写数据模块;其中:所述参数配置模块,用于配置DMA在进行三维地址空间分配时所需要的全部参数,所述参数包括:源地址与目标地址的线步长、面步长,线条数量,平面数量,线条尺寸以及源地址与目标地址的基地址,每个参数存放在特定的寄存器中;所述临时读地址模块,用于生成源空间的临时地址,该模块接收参数配置模块所配置的参数,根据这些参数,生成需要进行数据搬移的源地址空间的临时值,即得到源空间的临时地址;该模块中,对临时地址空间的分配以类似于生成二维平面的形式进行;所述临时写地址模块,用于生成目标空间的临时地址,该模块接收临时读地址模块传递来的参数,以及读数据模块读取的AXI总线上的数据,根据参数生成需要搬移的目标地址空间的地址,并将需要搬移的数据与生成的目标空间临时地址一起输出给写数据模块;该模块中,对临时地址空间的分配同样以类似于生成二维平面的形式进行;所述读数据模块,用于接收来自临时读地址模块的数据输出,并将临时读地址转换成AXI总线形式的读地址,并且将通过总线在源内存空间中找到 ...
【技术特征摘要】
1.一种加速内存中数据搬移的三维DMA电路,其特征在于,包括参数配置模块、临时读地址模块、临时写地址模块、读数据模块以及写数据模块;其中:所述参数配置模块,用于配置DMA在进行三维地址空间分配时所需要的全部参数,所述参数包括:源地址与目标地址的线步长、面步长,线条数量,平面数量,线条尺寸以及源地址与目标地址的基地址,每个参数存放在特定的寄存器中;所述临时读地址模块,用于生成源空间的临时地址,该模块接收参数配置模块所配置的参数,根据这些参数,生成需要进行数据搬移的源地址空间的临时值,即得到源空间的临时地址;该模块中,对临时地址空间的分配以类似于生成二维平面的形式进行;所述临时写地址模块,用于生成目标空间的临时地址,该模块接收临时读地址模块传递来的参数,以及读数据模块读取的AXI总线上的数据,根据参数生成需要搬移的目标地址空间的地址,并将需要搬移的数据与生成的目标空间临时地址一起输出给写数据模块;该模块中,对临时地址空间的分配同样以类似于生成二维平面的形式进行;所述读数据模块,用于接收来自临时读地址模块的数据输出,并将临时读地址转换成AXI总线形式的读地址,并且将通过总线在源内存空间中找到的数据读入到电路中,该模块中,地址空间按照三维立体的形式进行分配;所述写数据模块,用于接收来自临...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。