数据传输方法技术

技术编号:39663020 阅读:6 留言:0更新日期:2023-12-11 18:25
本申请公开了一种涉及数据传输方法

【技术实现步骤摘要】
数据传输方法、装置、设备及介质


[0001]本专利技术涉及计算机
,特别涉及数据传输方法

装置

设备及介质


技术介绍

[0002]DPU(Data Processing Unit
,即数据处理器
)
场景下,为了使
DPU

HOST(
主机
)
模拟出多个不同类型的标准
PCIE(Peripheral Component Interconnect
,即外围器件互联
)
设备,
ECPU(
嵌入式中央处理器,即
embedded CPU)
侧软件需要模拟出整个
PCIE
拓扑结构和不同类型的
PCIE
设备,
HOST
侧操作系统则枚举
PCIE
拓扑和
PCIE
设备,最后
HOST
侧不同类型驱动不同类型
PCIE
设备
。PCIE
设备在被创建时,会在其配置空间中指定其所需要的
BAR(Base Address Register
,即基地址寄存器
)
空间大小,
HOST
侧驱动加载
PCIE
设备时,会根据其
BAR
空间大小来分配相应的基地址,每个
PCIE
设备的基地址不会重合;
Host
侧驱动在准备好数据之后,需要通知后端
PCIE
设备来做数据的
DMA(Direct Memory Access
,即直接内存访问
)
搬运

[0003]目前的技术方案中,网卡在收到主机驱动下发的队列通知消息时,可以循环遍历整个队列通知表项,来确定具体的硬件队列,进而触发相应的硬件队列去发送数据

现有的技术方案中,只适合硬件队列数量比较有限的情况,效率会非常低,进而造成数据传输的时延增加

[0004]综上可见,如何提高硬件队列的确定速度以降低数据传输的时延是本领域有待解决的问题


技术实现思路

[0005]有鉴于此,本专利技术的目的在于提供一种数据传输方法

装置

设备及介质,提高硬件队列的确定速度以降低数据传输的时延

其具体方案如下:
[0006]第一方面,本申请公开了一种数据传输方法,应用于数据处理器,包括:
[0007]接收主机驱动侧发送的当前事务层数据包报文,并对所述当前事务层数据包报文进行解析,以得到待传输设备的目标基地址

待传输队列的目标队列号;
[0008]基于主备表选择寄存器的当前标识确定目标寄存器;其中,所述目标寄存器为主表寄存器或备表寄存器;
[0009]根据所述待传输设备的目标基地址和所述待传输队列的目标队列号对所述目标寄存器的当前队列通知表进行二分检索,以得到对应的目标硬件队列;
[0010]利用所述目标硬件队列将所述主机驱动侧的目标数据进行传输

[0011]可选的,所述根据所述待传输设备的目标基地址和所述待传输队列的目标队列号对所述目标寄存器的当前队列通知表进行二分检索之前,还包括:
[0012]通过嵌入式中央处理器的模拟器对上一外围器件互联拓扑结构进行更新,以得到当前外围器件互联拓扑结构的当前队列通知表,将所述当前队列通知表写入目标寄存器,并将主备表选择寄存器的上一标识更新为与所述目标寄存器对应的当前标识

[0013]可选的,所述将所述当前队列通知表写入目标寄存器,包括:
[0014]基于主表寄存器的工作状态和备表寄存器的工作状态确定目标寄存器;
[0015]将所述当前队列通知表写入目标寄存器

[0016]可选的,所述通过嵌入式中央处理器的模拟器对上一外围器件互联拓扑结构进行更新,以得到当前外围器件互联拓扑结构的当前队列通知表,包括:
[0017]通过嵌入式中央处理器的模拟器创建第一目标外围器件互联设备,并将所述第一目标外围器件互联设备添加至上一外围器件互联拓扑结构,以得到当前外围器件互联拓扑结构,根据所述当前外围器件互联拓扑结构建立初始队列通知表,然后对所述初始队列通知表的所有表项进行排序,以得到当前队列通知表

[0018]可选的,所述通过嵌入式中央处理器的模拟器对上一外围器件互联拓扑结构进行更新,以得到当前外围器件互联拓扑结构的当前队列通知表,包括:
[0019]通过嵌入式中央处理器的模拟器从上一外围器件互联拓扑结构中删除第二目标外围器件互联设备,以得到当前外围器件互联拓扑结构,根据所述当前外围器件互联拓扑结构建立初始队列通知表,然后对所述初始队列通知表的所有表项进行排序,以得到当前队列通知表

[0020]可选的,所述根据所述当前外围器件互联拓扑结构建立初始队列通知表,包括:
[0021]确定当前外围器件互联拓扑结构中各个当前外围器件互联设备的基地址

队列号以及硬件队列之间的映射关系,并根据所述映射关系建立初始队列通知表

[0022]可选的,所述接收主机驱动侧发送的当前事务层数据包报文之前,还包括:
[0023]通过主机驱动侧确定出待传输设备及其待传输队列,并将所述待传输队列的目标队列号写入所述待传输设备的目标基地址,以生成当前事务层数据包报文

[0024]第二方面,本申请公开了一种数据传输装置,应用于数据处理器,包括:
[0025]报文解析模块,用于接收主机驱动侧发送的当前事务层数据包报文,并对所述当前事务层数据包报文进行解析,以得到待传输设备的目标基地址

待传输队列的目标队列号;
[0026]寄存器确定模块,用于基于主备表选择寄存器的当前标识确定目标寄存器;其中,所述目标寄存器为主表寄存器或备表寄存器;
[0027]硬件队列确定模块,用于根据所述待传输设备的目标基地址和所述待传输队列的目标队列号对所述目标寄存器的当前队列通知表进行二分检索,以得到对应的目标硬件队列;
[0028]数据传输模块,用于利用所述目标硬件队列将所述主机驱动侧的目标数据进行传输

[0029]第三方面,本申请公开了一种电子设备,包括:
[0030]存储器,用于保存计算机程序;
[0031]处理器,用于执行所述计算机程序,以实现前述公开的数据传输方法的步骤

[0032]第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的数据传输方法的步骤

[0033]本申请有益效果为:本申请应用于本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据传输方法,其特征在于,应用于数据处理器,包括:接收主机驱动侧发送的当前事务层数据包报文,并对所述当前事务层数据包报文进行解析,以得到待传输设备的目标基地址

待传输队列的目标队列号;基于主备表选择寄存器的当前标识确定目标寄存器;其中,所述目标寄存器为主表寄存器或备表寄存器;根据所述待传输设备的目标基地址和所述待传输队列的目标队列号对所述目标寄存器的当前队列通知表进行二分检索,以得到对应的目标硬件队列;利用所述目标硬件队列将所述主机驱动侧的目标数据进行传输
。2.
根据权利要求1所述的数据传输方法,其特征在于,所述根据所述待传输设备的目标基地址和所述待传输队列的目标队列号对所述目标寄存器的当前队列通知表进行二分检索之前,还包括:通过嵌入式中央处理器的模拟器对上一外围器件互联拓扑结构进行更新,以得到当前外围器件互联拓扑结构的当前队列通知表,将所述当前队列通知表写入目标寄存器,并将主备表选择寄存器的上一标识更新为与所述目标寄存器对应的当前标识
。3.
根据权利要求2所述的数据传输方法,其特征在于,所述将所述当前队列通知表写入目标寄存器,包括:基于主表寄存器的工作状态和备表寄存器的工作状态确定目标寄存器;将所述当前队列通知表写入目标寄存器
。4.
根据权利要求2所述的数据传输方法,其特征在于,所述通过嵌入式中央处理器的模拟器对上一外围器件互联拓扑结构进行更新,以得到当前外围器件互联拓扑结构的当前队列通知表,包括:通过嵌入式中央处理器的模拟器创建第一目标外围器件互联设备,并将所述第一目标外围器件互联设备添加至上一外围器件互联拓扑结构,以得到当前外围器件互联拓扑结构,根据所述当前外围器件互联拓扑结构建立初始队列通知表,然后对所述初始队列通知表的所有表项进行排序,以得到当前队列通知表
。5.
根据权利要求2所述的数据传输方法,其特征在于,所述通过嵌入式中央处理器的模拟器对上一外围器件互联拓扑结构进行更新,以得到当前外围器件互联拓扑结构的当前队列通知表,包括:通...

【专利技术属性】
技术研发人员:胡培培
申请(专利权)人:珠海星云智联科技有限公司
类型:发明
国别省市:

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

1