CN117667793B - 一种多通道描述符管理系统、方法、设备、介质 - Google Patents
一种多通道描述符管理系统、方法、设备、介质 Download PDFInfo
- Publication number
- CN117667793B CN117667793B CN202410129138.5A CN202410129138A CN117667793B CN 117667793 B CN117667793 B CN 117667793B CN 202410129138 A CN202410129138 A CN 202410129138A CN 117667793 B CN117667793 B CN 117667793B
- Authority
- CN
- China
- Prior art keywords
- descriptor
- data
- module
- read
- write
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title abstract description 29
- 230000002776 aggregation Effects 0.000 claims abstract description 37
- 238000004220 aggregation Methods 0.000 claims abstract description 37
- 238000007726 management method Methods 0.000 claims description 50
- 238000004458 analytical method Methods 0.000 claims description 37
- 238000001914 filtration Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 28
- 238000004806 packaging method and process Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000003139 buffering effect Effects 0.000 claims description 9
- 238000007405 data analysis Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 17
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000000926 separation method Methods 0.000 abstract description 4
- 230000009471 action Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 101100456831 Caenorhabditis elegans sams-5 gene Proteins 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明涉及数据传输控制技术领域,公开了一种多通道描述符管理系统、方法、设备、介质,该系统通过解析上位机发送的协议事务包,利用PCIe标签将描述符命令转换为第一事务包,并通过PCIe标签对上位机返回的CplD事务包进行解析,解析为PCIe标签与描述符,并将描述符发送至对应数据搬移器,将解析后PCIe标签返回至tag管理模块,以使返回后的PCIe标签继续用于确定第一事务包,从而避免下位机没有可用描述符或没有相应存储数据问题的产生,并且在这一过程中,通过优先级聚合模块将表示描述符获取的第一事务包与表示数据读取的第二事务包分开,以预设优先级通过PCIe硬核上传至上位机,实现了描述符的获取与数据读取过程的分离,保证了DMA执行的效率。
Description
技术领域
本发明涉及数据传输控制技术领域,具体涉及一种多通道描述符管理系统、方法、设备、介质。
背景技术
数字IC/FPGA等数字电路设计中,经常需要DMA(Direct Memory Access,直接内存访问)模块来搬移数据,DMA本质上是接收总线控制权,执行读写描述符命令,搬移数据。在该模式下,数据传送不是由CPU负责处理,而是由一个特殊的处理器DMA控制器来完成,因此占用极少的CPU资源。
目前实现DMA的方式是有两种,链式DMA与块DMA方式。在DMA传输数据的过程中,要求源物理地址和目标物理地址必须是连续的。但是在某些计算机体系中,如IA架构,连续的存储器地址在物理上不一定是连续的,所以DMA传输要分成多次完成。如果在传输完一块物理上连续的数据后引起一次中断,然后再由主机进行下一块物理上连续的数据传输,那么这种方式就为块DMA方式。链式DMA方式则不同,它使用一个链表描述物理上不连续的存储空间,然后把链表首地址告诉DMA master。DMA master在传输完一块物理连续的数据后,不用发起中断,而是根据链表来传输下一块物理上连续的数据,直到传输完毕后再发起一次中断。很显然,链表DMA方式比块DMA方式更灵活,效率更高。
在相关技术中,块DMA的描述符一般由PCIe 的基地址寄存器下发,链式DMA的描述符一般通过描述符控制寄存器管理,在这一过程中,下位机从上位机获取描述符与进行数据读取是共同进行的,从而可能导致数据读取抢占了下位机获取描述符,使得下位机没有可用描述符或导致全部描述符同时读回,使得下位机没有相应存储数据,导致DMA无法执行。
发明内容
有鉴于此,本发明提供了一种多通道描述符管理系统、方法、设备、介质,以解决描述符的获取与数据读取共同进行导致DMA无法执行的问题。
第一方面,本发明提供了一种多通道描述符管理系统,系统与上位机连接,系统包括:PCIe硬核、协议解析模块、读取描述符命令模块、命令转事务包模块、tag管理模块、优先级聚合模块、数据拆分模块、CplD缓存模块、数据解析模块、描述符缓存模块、数据搬移器,其中,PCIe硬核,用于接收上位机发送的协议事务包、CplD事务包或向上位机发送第一事务包、第二事务包,协议事务包是指上位机准备描述符后,通过配置基地址寄存器,向系统发送的事务包,CplD事务包是指上位机在接收到系统发送的第一事务包后回传的事务包,第一事务包是指系统向上位机发送的包含描述读命令的事务包;协议解析模块,用于将协议事务包转化为通过APB总线读写数据;读取描述符命令模块,用于基于协议解析模块解析的数据,将数据写入或将数据读取,并封装为描述符命令;tag管理模块,用于接收数据解析模块返回的PCIe标签,并将空闲的PCIe标签提供至命令转事务包模块;命令转事务包模块,用于向tag管理模块获取PCIe标签,并在获取到PCIe标签后,将描述符命令转换为第一事务包,并将第一事务包发送至优先级聚合模块;数据拆分模块,用于根据PCIe标签对CplD事务包进行拆分,并将拆分后的CplD数据发送至CplD缓存模块;CplD缓存模块,用于缓存CplD数据;数据解析模块,用于解析CplD数据,确定PCIe标签与描述符,并将PCIe标签返回至tag管理模块;描述符缓存模块,用于缓存描述符,并将描述符发送至数据搬移器;数据搬移器,用于基于描述符形成第二事务包,并将第二事务包发送至优先级聚合模块;优先级聚合模块,按照预设优先级将接收的第一事务包、第二事务包通过PCIe硬核发送至上位机。
结合第一方面,在第一方面的一种可能的实现方式中,协议解析模块,包括:转换子模块,用于协议事务包转化为通过APB总线读写数据;分类子模块,用于根据与上位机约定的空间地址,将读写数据分类为读描述符数据与写描述符数据。
结合第一方面,在第一方面的一种可能的实现方式中,读取描述符命令模块,包括:读取读描述符命令子模块,用于解析读描述符数据,确定与读描述符数据对应的第一DMA通道;读取写描述符命令子模块,用于解析写描述符数据,确定与写描述符数据对应的第二DMA通道;轮询聚合子模块,用于将读取读描述符命令子模块与读取写描述符命令子模块的数据合并,封装为描述符命令。
结合第一方面,在第一方面的一种可能的实现方式中,读取读描述符命令子模块,包括:第一APB解析子单元,用于解析读描述符数据,并根据解析结果向第一寄存器与状态子单元写入数据或从第一寄存器与状态子单元读取数据;第一标识符缓存子单元,用于存储第一通道标识符,第一通道标识符用于标识对应第一DMA通道重新配置了描述符;第一寄存器与状态子单元,用于存储至少一个描述符控制寄存器,每个描述符控制寄存器与每个第一DMA通道具有一一对应关系,每个描述符控制寄存器用于基于第一APB解析子单元的解析结果,控制对应第一DMA通道配置第一通道标识符。
结合第一方面,在第一方面的一种可能的实现方式中,第一标识符缓存子单元,还包括:第一缓存深度计算子单元,用于基于第一DMA通道的数量,计算第一标识符缓存的深度。
结合第一方面,在第一方面的一种可能的实现方式中,读取写描述符命令子模块,包括:第二APB解析子单元,用于解析写描述符数据,并根据解析结果向第二寄存器与状态子单元写入数据或从第二寄存器与状态子单元读取数据;第二标识符缓存子单元,用于存储第二通道标识符,第二通道标识符用于标识对应第二DMA通道重新配置了描述符;第二寄存器与状态子单元,用于存储至少一个描述符控制寄存器,每个描述符控制寄存器与每个第二DMA通道具有一一对应关系,每个描述符控制寄存器用于基于第二APB解析子单元的解析结果,控制对应第二DMA通道配置第二通道标识符。
结合第一方面,在第一方面的一种可能的实现方式中,第二标识符缓存子单元,还包括:第二缓存深度计算子单元,用于基于第二DMA通道的数量,计算第二标识符缓存的深度。
结合第一方面,在第一方面的一种可能的实现方式中,轮询聚合子模块,包括:轮询聚合子单元,用于通过时分复用,聚合读取读描述符命令子模块与读取写描述符命令子模块的数据,将两路数据合并为一路;封装子单元,用于将合并后的数据封装为描述符命令。
结合第一方面,在第一方面的一种可能的实现方式中,CplD缓存模块,包括:CplD缓存子模块,用于缓存CplD数据;第三缓存深度计算模块,用于基于PCIe标签与预设参数,确定CplD缓存的深度。
结合第一方面,在第一方面的一种可能的实现方式中,描述符缓存模块,包括:读描述符缓存子模块,用于缓存读描述符,并对读描述符进行过滤,将过滤后的读描述符发送至数据搬移器;写描述符缓存子模块,用于缓存写描述符,并对写描述符进行过滤,将过滤后的写描述符发送至数据搬移器。
结合第一方面,在第一方面的一种可能的实现方式中,读描述符缓存子模块,包括:读描述符缓存子单元,用于缓存读描述符;读描述符过滤子单元,用于对读描述符进行过滤,将过滤后的读描述符发送至数据搬移器。
结合第一方面,在第一方面的一种可能的实现方式中,读描述符过滤子单元,包括:第一验证子单元,用于比对读描述符帧头,验证读描述符是否有效;第一判断子单元,用于根据读描述符的长度信息、地址信息,判断读描述符是否有误;第一过滤子单元,用于过滤无效、有误的读描述符,并将过滤后的读描述符发送至数据搬移器。
结合第一方面,在第一方面的一种可能的实现方式中,写描述符缓存子模块,包括:写描述符缓存子单元,用于缓存写描述符;写描述符过滤子单元,用于对写描述符进行过滤,将过滤后的写描述符发送至数据搬移器。
结合第一方面,在第一方面的一种可能的实现方式中,写描述符过滤子单元,包括:第二验证子单元,用于比对写描述符帧头,验证写描述符是否有效;第二判断子单元,用于根据写描述符的长度信息、地址信息,判断写描述符是否有误;第二丢弃子单元,用于过滤无效、有误的写描述符,并将过滤后的写描述符发送至数据搬移器。
结合第一方面,在第一方面的一种可能的实现方式中,数据搬移器,包括:读数据搬移器,用于基于读描述符形成第二事务包,并将第二事务包发送至优先级聚合模块;写数据搬移器,用于基于写描述符形成第二事务包,并将第二事务包发送至优先级聚合模块。
结合第一方面,在第一方面的一种可能的实现方式中,优先级聚合模块,包括:聚合模块,用于将接收的第一事务包、第二事务包合并为一路;优先级发送模块,用于基于预设优先级将聚合后的事务包通过PCIe硬核发送至上位机。
结合第一方面,在第一方面的一种可能的实现方式中,优先级发送模块,包括:第一优先级发送模块,用于基于第一优先级,通过PCIe硬核将第一事务包发送至上位机;第二优先级发送模块,用于基于第二优先级,通过PCIe硬核将第二事务包发送至上位机;其中,第一优先级高于第二优先级。
第二方面,本发明提供了一种多通道描述符管理方法,应用于上述第一方面或其对应的任一实施方式的系统,方法包括:基于PCIe硬核接收上位机发送的协议事务包;通过协议解析模块、读取描述符命令模块,解析协议事务包,并将解析结果封装为描述符命令;通过tag管理模块获取PCIe标签;基于命令转事务包模块,利用PCIe标签对描述符命令添加标签,转换为第一事务包,并通过PCIe硬核向上位机发送第一事务包;接收响应于第一事务包的CplD事务包;通过数据拆分模块、CplD缓存模块,缓存CplD数据;通过数据解析模块,将CplD数据解析为描述符与PCIe标签,并将PCIe标签返回tag管理模块;通过描述符缓存模块、数据搬移器,将描述符用于DMA。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第二方面或其对应的任一实施方式的多通道描述符管理方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第二方面或其对应的任一实施方式的多通道描述符管理方法。
本发明技术方案,具有如下优点:
本发明提供的一种多通道描述符管理系统、方法、设备、介质,该系统通过解析上位机发送的协议事务包,利用PCIe标签将描述符命令转换为第一事务包,并通过PCIe标签对上位机返回的CplD事务包进行解析,解析为PCIe标签与描述符,并将描述符发送至对应数据搬移器,将解析后PCIe标签返回至tag管理模块,以使返回后的PCIe标签继续用于确定第一事务包,从而避免下位机没有可用描述符或没有相应存储数据问题的产生,并且在这一过程中,通过优先级聚合模块将表示描述符获取的第一事务包与表示数据读取的第二事务包分开,以预设优先级通过PCIe硬核上传至上位机,实现了描述符的获取与数据读取过程的分离,保证了DMA执行的效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的应用场景示意图;
图2是根据本发明实施例提供的一种多通道描述符管理的结构示意图;
图3是根据本发明实施例提供的图2中A部分的结构示意图;
图4是根据本发明实施例提供的图2中B部分的结构示意图;
图5是根据本发明实施例提供的一种多通道描述符管理方法的流程示意图;
图6是本发明实施例的计算机设备的硬件结构示意图;
图7是本发明实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种多通道描述符管理系统的应用场景示意图,如图1所示,包括系统10与上位机20,其中,系统10包括PCIe硬核101,PCIe硬核101用于接收上位机20发送的事务包和系统10向上位机20发送事务包。在进行DMA时,上位机20准备描述符,通过配置描述符控制寄存器,启动DMA,系统10通过PCIe硬核101接收上位机20发送的协议事务包,系统10通过解析协议事务包,转化为APB总线操作,进而转为寄存器读写与通道标识符存储。系统10通过通过标识符获取对应通道控制寄存器信息,通过PCIe标签转化为第一事务包,并通过PCIe硬核101发送至上位机20,上位机20将描述符数据打包,并返回CplD事务包。系统10通过PCIe标签对CplD事务包进行解析,将PCIe标签返回至tag管理模块,以使PCIe标签再次用于确定第一事务包,并对描述符进行缓存、过滤,传给数据搬移器,以使数据搬移器根据描述符进行DMA。
本实施例提供了一种多通道描述符管理系统,如图2所示,系统与上位机相连,系统包括:PCIe硬核101、协议解析模块102、读取描述符命令模块103、命令转事务包模块104、tag管理模块105、优先级聚合模块106、数据拆分模块107、CplD缓存模块108、数据解析模块109、描述符缓存模块110、数据搬移器111,其中,
PCIe硬核101,用于接收上位机发送的协议事务包、CplD事务包或向上位机发送第一事务包、第二事务包,协议事务包是指上位机准备描述符后,通过配置基地址寄存器,向系统发送的事务包,CplD事务包是指上位机在接收到系统发送的第一事务包后回传的事务包,第一事务包是指系统向上位机发送的包含描述读命令的事务包。
应该理解的是,为方便画图,图2中左右两侧的两个PCIe硬核为同一个PCIe硬核,左侧的PCIe硬核用于表示系统接收上位机传输事务包,右侧的PCIe硬核用于表示系统向上位机传输事务包。
协议解析模块102,用于将协议事务包转化为通过APB总线读写数据。
具体地,协议事务包通常为上位机发送到PCIe硬核的Mwr 、Mrd 类型的事务包,其中,Mrd是指存储读类型事务包、Mwr是指存储写类型事务包,此类型事务包传输基于AXI--stream总线,协议解析模块102将AXI--stream总线转化为APB总线读写。
读取描述符命令模块103,用于基于协议解析模块解析的数据,将数据写入或将数据读取,并封装为描述符命令。
具体地,基于协议解析模块解析的数据,将数据写入或将数据读取是指解析读描述符数据与写描述符数据,并分别确定与读描述符数据、写描述符数据对应的DMA通道。
tag管理模块105,用于接收数据解析模块返回的PCIe标签,并将空闲的PCIe标签提供至命令转事务包模块。
具体地,PCIe标签是指PCIe协议规定的tag标签,其中,PCIe协议规定最多拥有256个tag,一般可以采用64个tag作为系统应用的PCIe标签,如tag0至tag63,在该种情况下,tag管理模块105用于管理tag总量的半数,例如tag32至tag63,在初始阶段,tag32至tag63均为空闲标签,空闲标签是指没有被命令转事务包模块104获取的标签,以tag32为例,在t1时刻tag32被命令转事务包模块104获取,随第一事务包通过PCIe硬核101发送至上位机,并通过PCIe硬核101接收的CplD事务包回到系统,在t2时刻,通过数据解析模块109解析后,tag32被返回至tag管理模块105,即在t2时刻tag32为空闲标签,等待被命令转事务包模块104获取。
命令转事务包模块104,用于向tag管理模块获取PCIe标签,并在获取到PCIe标签后,将描述符命令转换为第一事务包,并将第一事务包发送至优先级聚合模块。
具体地,命令转事务包模块104在向tag管理模块105获取PCIe标签后,将描述符命令转换为第一事务包,若未获取到PCIe标签,则等待空闲标签,即当有空闲标签且有描述符命令时组包,否则等待。
数据拆分模块107,用于根据PCIe标签对CplD事务包进行拆分,并将拆分后的CplD数据发送至CplD缓存模块。
具体地,根据PCIe标签对CplD事务包进行拆分是指根据预设的PCIe标签对CplD事务包进行拆分,同样以tag0至tag63,tag管理模块105用于管理tag32至tag63为例,携带tag32至tag63的CplD数据被发送至CplD缓存模块108,携带tag0至tag31的CplD数据被发送至数据搬移器111。其中,发送至数据搬移器111的CplD数据,待读数据搬移器获取到相应的读数据描述符之后,用于生成第二事务包。
CplD缓存模块108,用于缓存CplD数据。
数据解析模块109,用于解析CplD数据,确定PCIe标签与描述符,并将PCIe标签返回至tag管理模块。
具体地,解析CplD数据是指将CplD的原始数据解析为描述符数据,去除冗余,将返回的PCIe标签返回至tag管理模块。
描述符缓存模块110,用于缓存描述符,并将描述符发送至数据搬移器。
具体地,缓存描述符是指分别缓存读描述符与写描述符,并对读描述符与写描述符分别进行过滤。
数据搬移器111,用于基于描述符形成第二事务包,并将第二事务包发送至优先级聚合模块。
优先级聚合模块106,按照预设优先级将接收的第一事务包、第二事务包通过PCIe硬核发送至上位机。
具体地,预设优先级是指分别与第一事务包、第二事务包对应的第一优先级与第二优先级,其中,第一优先级高于第二优先级。
本实施例提供的一种多通道描述符管理系统,该系统通过解析上位机发送的协议事务包,利用PCIe标签将描述符命令转换为第一事务包,并通过PCIe标签对上位机返回的CplD事务包进行解析,解析为PCIe标签与描述符,并将描述符发送至对应数据搬移器,将解析后PCIe标签返回至tag管理模块,以使返回后的PCIe标签继续用于确定第一事务包,从而避免下位机没有可用描述符或没有相应存储数据问题的产生,并且在这一过程中,通过优先级聚合模块将表示描述符获取的第一事务包与表示数据读取的第二事务包分开,以预设优先级通过PCIe硬核上传至上位机,实现了描述符的获取与数据读取过程的分离,保证了DMA执行的效率。
在一种可选实施方式中,协议解析模块,包括:
转换子模块,用于协议事务包转化为通过APB总线读写数据。
具体地,协议事务包通常为上位机发送到PCIe硬核的Mwr 、Mrd 类型的事务包,此类型事务包传输基于AXI--stream总线,转换子模块将AXI--stream总线转化为APB总线读写。
分类子模块,用于根据与上位机约定的空间地址,将读写数据分类为读描述符数据与写描述符数据。
具体地,根据与上位机约定的空间地址,将读写数据分类为读描述符数据与写描述符数据是指按照与上位机约定的空间地址将APB一分为二,例如以第一组APB总线作为读描述符命令,以第二组APB总线作为写描述符命令,例如以0000-FFFF作为第一组APB总线,以10000-1FFFF作为第二组APB总线。
在一种可选实施方式中,如图3所示,读取描述符命令模块103,包括:
(1)读取读描述符命令子模块1031,用于解析读描述符数据,确定与读描述符数据对应的第一DMA通道。
在一种可选实施方式中,读取读描述符命令子模块1031,包括:
第一APB解析子单元,用于解析读描述符数据,并根据解析结果向第一寄存器与状态子单元写入数据或从第一寄存器与状态子单元读取数据。
第一标识符缓存子单元,用于存储第一通道标识符,第一通道标识符用于标识对应第一DMA通道重新配置了描述符。
具体地,第一通道标识符通过APB总线地址计算确定,第一通道标识符表示对应第一DMA通道重新配置了描述符,对于重新配置了描述符的第一DMA通道在执行读取动作时,需要从上位机返回相应数据,从而通过PCIe硬核向上位机发送第一事务包获取返回数据。
在一种可选实施方式中,第一标识符缓存子单元,还包括:
第一缓存深度计算子单元,用于基于第一DMA通道的数量,计算第一标识符缓存的深度。
具体地,第一标识符缓存的深度应根据第一DMA通道的个数设置,通常通道标识符缓存的深度为通道个数,深度低于通道个数可能导致数据丢失。
第一寄存器与状态子单元,用于存储至少一个描述符控制寄存器,每个描述符控制寄存器与每个第一DMA通道具有一一对应关系,每个描述符控制寄存器用于基于第一APB解析子单元的解析结果,控制对应第一DMA通道配置第一通道标识符。
具体地,每个描述符控制寄存器包括:上位机存储描述符的基地址、生产者索引、消费者索引、描述符帧头、描述完成状态、是否上报中断等设置、DMA开始。
具体地,具体地,寄存器通常采用双口RAM(Random Access Memory,随机存取存储器),寄存器共占用8x32bit,即32byte。对应第一DMA通道的描述符控制寄存器占用地址空间为0x00-0x1C。例如,通道1占用空间为0x00-0x1c,通道2占用空间为0x20-0x3c,以此类推,从而完成第一通道标识符通过APB总线地址的计算。所以,APB总线上的读动作,根据地址便可计算对应哪个通道,即通过寄存器,确定与读取命令动作相对应的读取动作。
(2)读取写描述符命令子模块1032,用于解析写描述符数据,确定与写描述符数据对应的第二DMA通道。
在一种可选实施方式中,读取写描述符命令子模块1032,包括:
第二APB解析子单元,用于解析写描述符数据,并根据解析结果向第二寄存器与状态子单元写入数据或从第二寄存器与状态子单元读取数据。
第二标识符缓存子单元,用于存储第二通道标识符,第二通道标识符用于标识对应第二DMA通道重新配置了描述符。
具体地,第二通道标识符通过APB总线地址计算确定,第二通道标识符表示对应第二DMA通道重新配置了描述符,对于重新配置了描述符的第二DMA通道在执行写入动作时,需要从上位机返回相应数据,从而通过PCIe硬核向上位机发送第一事务包获取返回数据。
在一种可选实施方式中,第二标识符缓存子单元,还包括:
第二缓存深度计算子单元,用于基于第二DMA通道的数量,计算第二标识符缓存的深度。
具体地,第二标识符缓存的深度应根据第二DMA通道的个数设置,通常通道标识符缓存的深度为通道个数,深度低于通道个数可能导致数据丢失。
第二寄存器与状态子单元,用于存储至少一个描述符控制寄存器,每个描述符控制寄存器与每个第二DMA通道具有一一对应关系,每个描述符控制寄存器用于基于第二APB解析子单元的解析结果,控制对应第二DMA通道配置第二通道标识符。
具体地,寄存器通常采用双口RAM,寄存器共占用8x32bit,即32byte。对应第二DMA通道的描述符控制寄存器占用地址空间为0x00-0x1C。例如,通道1占用空间为0x00-0x1c,通道2占用空间为0x20-0x3c,以此类推,从而完成第二通道标识符通过APB总线地址的计算。所以,APB总线上的写动作,根据地址便可计算对应哪个通道,即通过寄存器,确定与写入命令动作相对应的写入动作。
(3)轮询聚合子模块1033,用于将读取读描述符命令子模块与读取写描述符命令子模块的数据合并,封装为描述符命令。
在一种可选实施方式中,轮询聚合子模块1033,包括:
轮询聚合子单元,用于通过时分复用,聚合读取读描述符命令子模块与读取写描述符命令子模块的数据,将两路数据合并为一路。
具体地,通过时分复用,聚合读取读描述符命令子模块与读取写描述符命令子模块的数据,将两路数据合并为一路是指分别获取读取读描述符命令子模块与读取写描述符命令子模块的数据,并通过获取的时间先后顺序将两路数据合并为一路。
封装子单元,用于将合并后的数据封装为描述符命令。
通过实施本实例,分别通过第一标识符缓存子单元、第二标识符缓存子单元存储第一通道标识、第二通道标识符的方式,记录对应DMA通道被配置过,使得上位机可以任意使用各个DMA通道,系统将逐个读取每个DMA通道的描述符,避免了操作信息丢失,并且通过寄存器存储描述符控制器,在DMA通道数量极多时,减小了寄存器的使用,从而减少了寄存器资源,为后续保证DMA执行的效率提供数据基础。
在一种可选实施方式中,CplD缓存模块,包括:
CplD缓存子模块,用于缓存CplD数据。
第三缓存深度计算模块,用于基于PCIe标签与预设参数,确定CplD缓存的深度。
具体地,预设参数是指MaxpayloadReq,MaxpayloadReq是PCIe协议规定的参数,取值范围是128byte~4096byt,MaxpayloadReq的参数大小由上位机与系统训练协商确定,本实施例对此不做具体限定,可根据实际工况进行设定。根据标签与预设参数计算确定CplD缓存的深度是指通过Tag*MaxpayloadReq计算CplD缓存的深度。
在一种可选实施方式中,如图4所示,描述符缓存模块110,包括:
读描述符缓存子模块1101,用于缓存读描述符,并对读描述符进行过滤,将过滤后的读描述符发送至数据搬移器。
在一种可选实施方式中,读描述符缓存子模块110,包括:
读描述符缓存子单元,用于缓存读描述符。
读描述符过滤子单元,用于对读描述符进行过滤,将过滤后的读描述符发送至数据搬移器。
在一种可选实施方式中,读描述符过滤子单元,包括:
第一验证子单元,用于比对读描述符帧头,验证读描述符是否有效。
第一判断子单元,用于根据读描述符的长度信息、地址信息,判断读描述符是否有误。
第一过滤子单元,用于过滤无效、有误的读描述符,并将过滤后的读描述符发送至数据搬移器。
写描述符缓存子模块1102,用于缓存写描述符,并对写描述符进行过滤,将过滤后的写描述符发送至数据搬移器。
在一种可选实施方式中,写描述符缓存子模块,包括:
写描述符缓存子单元,用于缓存写描述符。
写描述符过滤子单元,用于对写描述符进行过滤,将过滤后的写描述符发送至数据搬移器。
在一种可选实施方式中,写描述符过滤子单元,包括:
第二验证子单元,用于比对写描述符帧头,验证写描述符是否有效;
第二判断子单元,用于根据写描述符的长度信息、地址信息,判断写描述符是否有误;
第二丢弃子单元,用于过滤无效、有误的写描述符,并将过滤后的写描述符发送至数据搬移器。
在一种可选实施方式中,数据搬移器,包括:
读数据搬移器,用于基于读描述符形成第二事务包,并将第二事务包发送至优先级聚合模块。
写数据搬移器,用于基于写描述符形成第二事务包,并将第二事务包发送至优先级聚合模块。
在一种可选实施方式中,优先级聚合模块,包括:
聚合模块,用于将接收的第一事务、第二事务包合并为一路;
优先级发送模块,用于基于预设优先级将聚合后的事务包通过PCIe硬核发送至上位机。
在一种可选实施方式中,优先级发送模块,包括:
第一优先级发送模块,用于基于第一优先级,通过PCIe硬核将第一事务包发送至上位机。
第二优先级发送模块,用于基于第二优先级,通过PCIe硬核将第二事务包发送至上位机。其中,第一优先级高于第二优先级。
具体地,读数据搬移器、写数据搬移器在获取到对应描述符后需要通过PCIe硬核向上位机发送第二事务包,在此基础上,将描述符命令对应的第一事务包添加第一优先级,从而使得在描述符获取与数据读取分离的同时,增加描述符获取的优先级,避免下位机没有可用描述符或没有相应存储数据的产生,从而保证DMA执行的效率。
通过实施本实施例,通过解析上位机发送的协议事务包,利用PCIe标签将描述符命令转换为第一事务包,并通过PCIe标签对上位机返回的CplD事务包进行解析,解析为PCIe标签与描述符,并将描述符发送至对应数据搬移器,将解析后PCIe标签返回至tag管理模块,以使返回后的PCIe标签继续用于确定第一事务包,从而避免下位机没有可用描述符或没有相应存储数据问题的产生,并且在这一过程中,通过优先级聚合模块将表示描述符获取的第一事务包与表示数据读取的第二事务包分开,以预设优先级通过PCIe硬核上传至上位机,实现了描述符的获取与数据读取过程的分离,保证了DMA执行的效率。
根据本发明实施例,提供了一种多通道描述符管理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一种可选实施方式中,本实施提供了一种多通道描述符管理方法,如图5所示,方法包括如下步骤:
S201、基于PCIe硬核接收上位机发送的协议事务包。具体过程可参见上述实施例中关于PCIe硬核101的相关描述,在此不再赘述。
S202、通过协议解析模块、读取描述符命令模块,解析协议事务包,并将解析结果封装为描述符命令。具体过程可参见上述实施例中关于协议解析模块102、读取描述符命令模块103以及命令转事务包模块104的相关描述,在此不再赘述。
S203、通过tag管理模块获取PCIe标签。具体过程可参见上述实施例中关于tag管理模块105的相关描述,在此不再赘述。
S204、基于命令转事务包模块,利用PCIe标签对描述符命令添加标签,转换为第一事务包,并通过PCIe硬核向上位机发送第一事务包。具体过程可参见上述实施例中关于命令转事务包模块106的相关描述,在此不再赘述。
S205、接收响应于第一事务包的CplD事务包。具体过程可参见上述实施例中关于PCIe硬核101的相关描述,在此不再赘述。
S206、通过数据拆分模块、CplD缓存模块,缓存CplD数据。具体过程可参见上述实施例中关于通过数据拆分模块107、CplD缓存模块108,的相关描述,在此不再赘述。
S207、通过数据解析模块,将CplD数据解析为描述符与PCIe标签,并将PCIe标签返回tag管理模块。具体过程可参见上述实施例中关于数据解析模块109、tag管理模块105的相关描述,在此不再赘述。
S208、通过描述符缓存模块、数据搬移器,将描述符用于DMA。具体过程可参见上述实施例中关于描述符缓存模块110、数据搬移器111的相关描述,在此不再赘述。
本发明实施例还提供一种计算机设备,请参阅图6,图6是本发明可选实施例提供的一种计算机设备的结构示意图,如图6所示,该计算机设备包括:一个或多个处理器301、存储器302,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图6中以一个处理器301为例。
处理器301可以是中央处理器,网络处理器或其组合。其中,处理器301还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器302存储有可由至少一个处理器301执行的指令,以使所述至少一个处理器301执行实现上述实施例示出的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器302可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器302还可以包括上述种类的存储器的组合。该计算机设备还包括通信接口303,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,如图7所示,本发明的实施例还提供了一种计算机可读存储介质401,计算机可读存储介质401存储有计算机指令4011,计算机指令4011被处理器执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (20)
1.一种多通道描述符管理系统,其特征在于,所述系统与上位机连接,所述系统包括:PCIe硬核、协议解析模块、读取描述符命令模块、命令转事务包模块、tag管理模块、优先级聚合模块、数据拆分模块、CplD缓存模块、数据解析模块、描述符缓存模块、数据搬移器,其中,
所述PCIe硬核,用于接收上位机发送的协议事务包、CplD事务包或向上位机发送第一事务包、第二事务包,所述协议事务包是指上位机准备描述符后,通过配置基地址寄存器,向系统发送的事务包,所述CplD事务包是指上位机在接收到系统发送的所述第一事务包后回传的事务包,所述第一事务包是指系统向上位机发送的包含描述读命令的事务包;
所述协议解析模块,用于将协议事务包转化为通过APB总线读写数据;
所述读取描述符命令模块,用于基于所述协议解析模块解析的数据,将所述数据写入或将所述数据读取,并封装为描述符命令;
所述tag管理模块,用于接收所述数据解析模块返回的PCIe标签,并将空闲的所述PCIe标签提供至所述命令转事务包模块;
所述命令转事务包模块,用于向所述tag管理模块获取PCIe标签,并在获取到所述PCIe标签后,将所述描述符命令转换为第一事务包,并将所述第一事务包发送至所述优先级聚合模块;
所述数据拆分模块,用于根据PCIe标签对所述CplD事务包进行拆分,并将拆分后的CplD数据发送至所述CplD缓存模块;
所述CplD缓存模块,用于缓存CplD数据;
所述数据解析模块,用于解析所述CplD数据,确定PCIe标签与描述符,并将所述PCIe标签返回至所述tag管理模块;
所述描述符缓存模块,用于缓存描述符,并将所述描述符发送至所述数据搬移器;
所述数据搬移器,用于基于所述描述符形成第二事务包,并将所述第二事务包发送至所述优先级聚合模块;
所述优先级聚合模块,按照预设优先级将接收的所述第一事务包、所述第二事务包通过所述PCIe硬核发送至所述上位机。
2.根据权利要求1所述的系统,其特征在于,所述协议解析模块,包括:
转换子模块,用于协议事务包转化为通过APB总线读写数据;
分类子模块,用于根据与上位机约定的空间地址,将所述读写数据分类为读描述符数据与写描述符数据。
3.根据权利要求2所述的系统,其特征在于,所述读取描述符命令模块,包括:
读取读描述符命令子模块,用于解析所述读描述符数据,确定与所述读描述符数据对应的第一DMA通道;
读取写描述符命令子模块,用于解析所述写描述符数据,确定与所述写描述符数据对应的第二DMA通道;
轮询聚合子模块,用于将所述读取读描述符命令子模块与所述读取写描述符命令子模块的数据合并,封装为描述符命令。
4.根据权利要求3所述的系统,其特征在于,所述读取读描述符命令子模块,包括:
第一APB解析子单元,用于解析所述读描述符数据,并根据解析结果向第一寄存器与状态子单元写入数据或从第一寄存器与状态子单元读取数据;
第一标识符缓存子单元,用于存储第一通道标识符,所述第一通道标识符用于标识对应第一DMA通道重新配置了描述符;
第一寄存器与状态子单元,用于存储至少一个描述符控制寄存器,每个所述描述符控制寄存器与每个所述第一DMA通道具有一一对应关系,每个所述描述符控制寄存器用于基于所述第一APB解析子单元的解析结果,控制对应第一DMA通道配置第一通道标识符。
5.根据权利要求4所述的系统,其特征在于,所述第一标识符缓存子单元,还包括:
第一缓存深度计算子单元,用于基于所述第一DMA通道的数量,计算第一标识符缓存的深度。
6.根据权利要求3所述的系统,其特征在于,所述读取写描述符命令子模块,包括:
第二APB解析子单元,用于解析所述写描述符数据,并根据解析结果向第二寄存器与状态子单元写入数据或从第二寄存器与状态子单元读取数据;
第二标识符缓存子单元,用于存储第二通道标识符,所述第二通道标识符用于标识对应第二DMA通道重新配置了描述符;
第二寄存器与状态子单元,用于存储至少一个描述符控制寄存器,每个所述描述符控制寄存器与每个所述第二DMA通道具有一一对应关系,每个所述描述符控制寄存器用于基于所述第二APB解析子单元的解析结果,控制对应第二DMA通道配置第二通道标识符。
7.根据权利要求6所述的系统,其特征在于,所述第二标识符缓存子单元,还包括:
第二缓存深度计算子单元,用于基于所述第二DMA通道的数量,计算第二标识符缓存的深度。
8.根据权利要求3所述的系统,其特征在于,所述轮询聚合子模块,包括:
轮询聚合子单元,用于通过时分复用,聚合所述读取读描述符命令子模块与所述读取写描述符命令子模块的数据,将两路所述数据合并为一路;
封装子单元,用于将合并后的数据封装为描述符命令。
9.根据权利要求1所述的系统,其特征在于,所述CplD缓存模块,包括:
CplD缓存子模块,用于缓存CplD数据;
第三缓存深度计算模块,用于基于PCIe标签与预设参数,确定CplD缓存的深度。
10.根据权利要求1所述的系统,其特征在于,所述描述符缓存模块,包括:
读描述符缓存子模块,用于缓存读描述符,并对所述读描述符进行过滤,将过滤后的读描述符发送至数据搬移器;
写描述符缓存子模块,用于缓存写描述符,并对所述写描述符进行过滤,将过滤后的写描述符发送至数据搬移器。
11.根据权利要求10所述的系统,其特征在于,所述读描述符缓存子模块,包括:
读描述符缓存子单元,用于缓存读描述符;
读描述符过滤子单元,用于对所述读描述符进行过滤,将过滤后的读描述符发送至数据搬移器。
12.根据权利要求11所述的系统,其特征在于,所述读描述符过滤子单元,包括:
第一验证子单元,用于比对读描述符帧头,验证所述读描述符是否有效;
第一判断子单元,用于根据所述读描述符的长度信息、地址信息,判断所述读描述符是否有误;
第一过滤子单元,用于过滤无效、有误的所述读描述符,并将过滤后的读描述符发送至数据搬移器。
13.根据权利要求10所述的系统,其特征在于,所述写描述符缓存子模块,包括:
写描述符缓存子单元,用于缓存写描述符;
写描述符过滤子单元,用于对所述写描述符进行过滤,将过滤后的写描述符发送至数据搬移器。
14.根据权利要求13所述的系统,其特征在于,所述写描述符过滤子单元,包括:
第二验证子单元,用于比对写描述符帧头,验证所述写描述符是否有效;
第二判断子单元,用于根据所述写描述符的长度信息、地址信息,判断所述写描述符是否有误;
第二丢弃子单元,用于过滤无效、有误的所述写描述符,并将过滤后的写描述符发送至数据搬移器。
15.根据权利要求10所述的系统,其特征在于,所述数据搬移器,包括:
读数据搬移器,用于基于所述读描述符形成第二事务包,并将所述第二事务包发送至所述优先级聚合模块;
写数据搬移器,用于基于所述写描述符形成第二事务包,并将所述第二事务包发送至所述优先级聚合模块。
16.根据权利要求1所述的系统,其特征在于,所述优先级聚合模块,包括:
聚合模块,用于将接收的第一事务、第二事务包合并为一路;
优先级发送模块,用于基于预设优先级将聚合后的事务包通过所述PCIe硬核发送至所述上位机。
17.根据权利要求16所述的系统,其特征在于,所述优先级发送模块,包括:
第一优先级发送模块,用于基于第一优先级,通过所述PCIe硬核将所述第一事务包发送至所述上位机;
第二优先级发送模块,用于基于第二优先级,通过所述PCIe硬核将所述第二事务包发送至所述上位机;
其中,所述第一优先级高于所述第二优先级。
18.一种多通道描述符管理方法,其特征在于,应用于如权利要求1至17中任一项所述的系统,所述方法,包括:
基于PCIe硬核接收上位机发送的协议事务包;
通过协议解析模块、读取描述符命令模块,解析所述协议事务包,并将解析结果封装为描述符命令;
通过tag管理模块获取PCIe标签;
基于命令转事务包模块,利用所述PCIe标签对所述描述符命令添加标签,转换为第一事务包,并通过所述PCIe硬核向上位机发送所述第一事务包;
接收响应于所述第一事务包的CplD事务包;
通过数据拆分模块、CplD缓存模块,缓存CplD数据;
通过数据解析模块,将所述CplD数据解析为描述符与所述PCIe标签,并将所述PCIe标签返回所述tag管理模块;
通过描述符缓存模块、数据搬移器,将所述描述符用于DMA。
19.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求18所述的多通道描述符管理方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求18所述的多通道描述符管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410129138.5A CN117667793B (zh) | 2024-01-30 | 2024-01-30 | 一种多通道描述符管理系统、方法、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410129138.5A CN117667793B (zh) | 2024-01-30 | 2024-01-30 | 一种多通道描述符管理系统、方法、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117667793A CN117667793A (zh) | 2024-03-08 |
CN117667793B true CN117667793B (zh) | 2024-04-09 |
Family
ID=90064410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410129138.5A Active CN117667793B (zh) | 2024-01-30 | 2024-01-30 | 一种多通道描述符管理系统、方法、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667793B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221543A (zh) * | 2007-01-10 | 2008-07-16 | 国际商业机器公司 | 执行dma块移动的方法、dma设备和数据处理系统 |
US9053093B1 (en) * | 2013-08-23 | 2015-06-09 | Altera Corporation | Modular direct memory access system |
CN109766296A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、系统和dma控制器 |
CN114443529A (zh) * | 2022-04-02 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 内存直接访问架构、系统、方法、电子设备和介质 |
CN116166581A (zh) * | 2023-02-24 | 2023-05-26 | 北京轩宇空间科技有限公司 | 用于pcie总线的队列式dma控制器电路及数据传输方法 |
CN116225534A (zh) * | 2023-05-10 | 2023-06-06 | 国仪量子(合肥)技术有限公司 | Dma数据传输控制系统 |
-
2024
- 2024-01-30 CN CN202410129138.5A patent/CN117667793B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101221543A (zh) * | 2007-01-10 | 2008-07-16 | 国际商业机器公司 | 执行dma块移动的方法、dma设备和数据处理系统 |
US9053093B1 (en) * | 2013-08-23 | 2015-06-09 | Altera Corporation | Modular direct memory access system |
CN109766296A (zh) * | 2019-01-08 | 2019-05-17 | 郑州云海信息技术有限公司 | 一种数据处理方法、装置、系统和dma控制器 |
CN114443529A (zh) * | 2022-04-02 | 2022-05-06 | 苏州浪潮智能科技有限公司 | 内存直接访问架构、系统、方法、电子设备和介质 |
WO2023185035A1 (zh) * | 2022-04-02 | 2023-10-05 | 苏州浪潮智能科技有限公司 | 内存直接访问架构、系统、方法、电子设备和介质 |
CN116166581A (zh) * | 2023-02-24 | 2023-05-26 | 北京轩宇空间科技有限公司 | 用于pcie总线的队列式dma控制器电路及数据传输方法 |
CN116225534A (zh) * | 2023-05-10 | 2023-06-06 | 国仪量子(合肥)技术有限公司 | Dma数据传输控制系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117667793A (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203484B (zh) | 一种基于FPGA的PCIe与SRIO总线桥接系统 | |
EP3110068A1 (en) | Device management method and apparatus | |
CN109558344B (zh) | 一种适用于网络传输的dma传输方法及dma控制器 | |
CN112839231B (zh) | 一种视频压缩传输方法和系统 | |
CN114048164B (zh) | 芯片互联方法、系统、设备及可读存储介质 | |
CN109698824B (zh) | 一种fc-ae-1553协议转换多协议多通道数据记录系统 | |
CN110532208B (zh) | 一种数据处理方法、接口转换结构及数据处理设备 | |
CN102841870B (zh) | 基于高速串行总线的通用dma结构及预读方法 | |
CN113179216B (zh) | 一种寄存器的远程配置方法、计算机设备及存储介质 | |
CN112328521A (zh) | 一种总线适配器和数据传输方法 | |
US8090893B2 (en) | Input output control apparatus with a plurality of ports and single protocol processing circuit | |
CN111124985A (zh) | 一种移动终端只读控制方法及装置 | |
CN117667793B (zh) | 一种多通道描述符管理系统、方法、设备、介质 | |
KR20110080524A (ko) | 프로토콜 인터페이스 변환장치 및 방법 | |
CN112256624A (zh) | 用于高速互连网络接口芯片的dma通信装置、芯片、设备及方法 | |
CN115827524A (zh) | 一种数据传输方法以及装置 | |
CN116932451A (zh) | 一种数据处理方法、主机及相关设备 | |
WO2021237513A1 (zh) | 数据压缩存储的系统、方法、处理器及计算机存储介质 | |
JP2014048810A (ja) | ホストシステム、ストレージデバイス、および通信方法 | |
US20110090924A1 (en) | System to connect a serial scsi array controller to a storage area network | |
CN112416564A (zh) | 一种中断处理方法及处理装置 | |
CN111200594B (zh) | 接收数据的方法、装置、数据接收设备和存储介质 | |
CN112732176B (zh) | 基于fpga的ssd访问方法及装置、存储系统及存储介质 | |
US20240069754A1 (en) | Computing system and associated method | |
CN114443400B (zh) | 信号测试方法、装置、片上系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |