一种基于PCIe接口的数据传输系统及方法技术方案

技术编号:17779645 阅读:36 留言:0更新日期:2018-04-22 08:07
一种基于PCIe接口的数据传输系统及方法,包括数据源、数据终端和处理器,数据源、数据终端分别与数据传输装置的输入存储器的输入接口、输出存储器的输出接口连接,处理器和数据传输装置的PCIe接口连接;数据传输装置包括发送模块、接收模块、命令解析模块、数据读写控制单元和基地址状态寄存器;本发明专利技术的系统及方法,首先,采取了数据传输装置,而非处理器作为主动的DMA传输方式,其次,采用了基于命令缓冲机制的DMA传输方式,再次,通过读取缓冲命令,并动态拼接的方式提升DMA传输性能。因此,可在实现数据传输过程的高速、扩展灵活的优点,同时也可较好的降低数据传输对处理器资源的占用,显著提高计算机系统的运行效率。

【技术实现步骤摘要】
一种基于PCIe接口的数据传输系统及方法
本专利技术涉及一种服务器数据处理装置,尤其涉及一种基于PCIe接口的数据传输系统及方法。
技术介绍
随着信息化和大数据时代的来临,人们对于实时数据的采集和处理需求越来越多元化,需要处理的数据规模呈倍数增长,因此,对数据传输性能提出了更高的要求。在服务器等计算机系统中,PCIe总线具有带宽高、扩展灵活的优点,因而广泛应用于数据存储、交互和传输领域。对数据的直接存储访问又简称为DMA,该方式能有效降低数据传输对处理器资源的占用,可显著提高系统运行效率,因此,结合两者优势的数据传输类型的研究和应用也在逐步开展。目前的数据传输方式中,要么以处理器端作为主动端,待处理数据只能被动地等待处理器发起DMA操作,无法有效地利用系统带宽;或者DMA操作只能按照既定顺序访问外部空间,灵活性差。
技术实现思路
本专利技术的目的是提供一种基于PCIe接口的数据传输系统及方法,用以解决现有技术中的问题,通过数据传输装置结合命令缓冲机制、动态拼接的调度方式提升DMA传输性能。本专利技术的数据传输系统通过以下技术方案予以实现:一种基于PCIe接口的数据传输系统,包括数据源、数据终端和处理器,其特征在于,所述数据源、数据终端分别与数据传输装置的输入存储器的输入接口、输出存储器的输出接口连接,所述处理器和数据传输装置的PCIe接口连接;所述数据传输装置包括发送模块、接收模块、命令解析模块、数据读写控制单元和基地址状态寄存器;所述PCIe接口的输入端和输出端分别与发送模块的数据输出端、接收模块的数据输入端连接;所述命令解析模块的命令输出端分别连接发送模块、数据读写控制单元的命令输入端,命令解析模块的命令输入端连接接收模块的命令输出端,发送模块的数据输入端、接收模块的数据输出端分别连接输入存储器的输出接口、输出存储器的输入接口,所述数据读写单元的命令输出端分别连接输入存储器、输出存储器控制接口,基地址状态存储器与发送模块、接收模块的基地址接口连接。本专利技术中的发送模块用于组织和传输转发事务、非转发事务和完成事务的数据包,接收模块用于支持完成事务、存储器读事务和存储器写事务的数据包;命令解析模块将处理器端发送的DMA读或写命令顺序存储在读命令或写命令缓存FIFO中,命令解析模块分别从FIFO中读取命令,并解析命令后通过发送模块组织事务数据包向处理器端发起DMA存储器访问请求;数据读写控制单元根据命令解析模块的指令读取输入FIFO中数据或将数据写入输出FIFO中;所述基地址状态寄存器用于发送模块或接收模块的读写基地址配置。如上所述的一种基于PCIe接口的数据传输系统,所述处理器设有用于读或写命令的数据缓冲区,数据缓冲区划分为N部分,处理器对每部分按生长顺序编号,并将对每部分读或写就绪命令按预先设定的规则包装成符合PCIe的操作命令。如上所述的一种基于PCIe接口的数据传输系统,所述解析模块用于缓存处理器发送的DMA读或写的操作命令。如上所述的一种基于PCIe接口的数据传输系统,所述N为2的指数。本专利技术还提供了一种基于PCIe接口的数据传输方法,包括如上任一所述的数据传输系统,所述方法包括以下步骤:所述处理器通过数据传输装置准备DMA传输;从所述命令解析模块的命令存储器中读取一个命令;判断命令存储器的状态,当为空状态时,则开始DMA传输;当为使用状态时,若令存储器中仍有待处理命令,则进入下一步;读取下一个命令的地址编号,并判断与当前已读取的命令的地址编号是否相邻,当地址编号相邻,则取出命令并拼接,然后返回上一步;当地址编号不相邻,则不拼接直接进行DMA传输。如上所述的一种基于PCIe接口的数据传输方法,所述处理器发送的DMA请求命令由地址编号和读写标志构成,地址编号为n字节,读写标志为1字节。如上所述的一种基于PCIe接口的数据传输方法,其特征在于,所述处理器设有用于读或写命令的数据缓冲区,数据缓冲区划分为N部分,N为n的2倍。与现有技术相比,本专利技术的优点是:本专利技术的数据传输系统及方法,首先,采取了数据传输装置,而非处理器作为主动的DMA传输方式,其次,采用了基于命令缓冲机制的DMA传输方式,再次,通过读取缓冲命令,并动态拼接的方式提升DMA传输性能。因此,可在实现数据传输过程的高速、扩展灵活的优点,同时也可较好的降低数据传输对处理器资源的占用,显著提高计算机系统的运行效率。附图说明为了更清楚的说明本专利技术实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的系统原理图;图2为图1中所述数据传输装置的内部系统原理图;图3为本专利技术所述处理器发送的DMA请求命令示意图;图4为本专利技术的流程图。附图标记:100-数据源,102-处理器,103-数据终端,200-数据传输装置,201-发送模块,202-接收模块,203-命令解析模块,204-数据读写控制单元,205-基地址状态寄存器,206-输入FIFO,207-输出FIFO,208-PCIe接口,300-读写标志,301-地址ID。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面以实施例对技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。如图1、图2所示,本实施例公开的一种基于PCIe的数据传输系统,可以较好的提升数据传输性能。该数据传输系统包括数据源、数据终端和处理器,所述数据源、数据终端分别与数据传输装置的输入存储器的输入接口、输出存储器的输出接口连接,所述处理器和数据传输装置的PCIe接口连接;所述数据传输装置包括发送模块、接收模块、命令解析模块、数据读写控制单元和基地址状态寄存器;所述PCIe接口的输入端和输出端分别与发送模块的数据输出端、接收模块的数据输入端连接;所述命令解析模块的命令输出端分别连接发送模块、数据读写控制单元的命令输入端,命令解析模块的命令输入端连接接收模块的命令输出端,发送模块的数据输入端、接收模块的数据输出端分别连接输入存储器的输出接口、输出存储器的输入接口,所述数据读写单元的命令输出端分别连接输入存储器、输出存储器控制接口,基地址状态存储器与发送模块、接收模块的基地址接口连接。具体而能言,本实施例的数据传输过程是通过命令缓冲机制和动态拼接调度方式实现,将数据传输装置200作为DMA操作的发起者,对处理器102端的数据缓冲区进行读写操作。而非现有的数据传输方式中,以处理器作为主动的DMA传输。但对于处理器102端数据缓冲区的就绪,需要处理器102端发出就绪命令。发送模块用于组织和传输转发事务、非转发事务和完成事务的数据包,接收模块用于支持完成事务、存储器读事务和存储器写事务的数据包;命令解析模块将处理器端发送的DMA读或写命令顺序存储在读命令或写命令缓存FIFO中,命令解析模块分别从FIFO中读取命令,并解析命令后通过发送模块组织事务数据包向处理器端发起DMA存储器访问请求;所述数据读写控制单元根据命令解析模块的指令读取输入FIFO中数据或将数据写入输出FIFO中;所述基地址状态寄存器用于发本文档来自技高网...
一种基于PCIe接口的数据传输系统及方法

【技术保护点】
一种基于PCIe接口的数据传输系统,包括数据源、数据终端和处理器,其特征在于,所述数据源、数据终端分别与数据传输装置的输入存储器的输入接口、输出存储器的输出接口连接,所述处理器和数据传输装置的PCIe接口连接;所述数据传输装置包括发送模块、接收模块、命令解析模块、数据读写控制单元和基地址状态寄存器;所述PCIe接口的输入端和输出端分别与发送模块的数据输出端、接收模块的数据输入端连接;所述命令解析模块的命令输出端分别连接发送模块、数据读写控制单元的命令输入端,命令解析模块的命令输入端连接接收模块的命令输出端,发送模块的数据输入端、接收模块的数据输出端分别连接输入存储器的输出接口、输出存储器的输入接口,所述数据读写单元的命令输出端分别连接输入存储器、输出存储器控制接口,基地址状态存储器与发送模块、接收模块的基地址接口连接。

【技术特征摘要】
1.一种基于PCIe接口的数据传输系统,包括数据源、数据终端和处理器,其特征在于,所述数据源、数据终端分别与数据传输装置的输入存储器的输入接口、输出存储器的输出接口连接,所述处理器和数据传输装置的PCIe接口连接;所述数据传输装置包括发送模块、接收模块、命令解析模块、数据读写控制单元和基地址状态寄存器;所述PCIe接口的输入端和输出端分别与发送模块的数据输出端、接收模块的数据输入端连接;所述命令解析模块的命令输出端分别连接发送模块、数据读写控制单元的命令输入端,命令解析模块的命令输入端连接接收模块的命令输出端,发送模块的数据输入端、接收模块的数据输出端分别连接输入存储器的输出接口、输出存储器的输入接口,所述数据读写单元的命令输出端分别连接输入存储器、输出存储器控制接口,基地址状态存储器与发送模块、接收模块的基地址接口连接。2.根据权利要求1所述的一种基于PCIe接口的数据传输系统,其特征在于,所述处理器设有用于读或写命令的数据缓冲区,数据缓冲区划分为N部分,处理器对每部分按生长顺序编号,并将对每部分读或写就绪命令按预先设定的规则包装成符合PCIe的操作命令。3.根据权利要求2所...

【专利技术属性】
技术研发人员:刘强
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1