高速外围组件互连设备间数据传输方法、装置及设备与流程

摘要: 本技术涉及处理器微架构设计,尤其涉及一种高速外围组件互连设备间数据传输方法、装置及设备。背景技术:1、随着核心复合芯片(ccd:corecomplexdie)与...
高速外围组件互连设备间数据传输方法、装置及设备与流程

本技术涉及处理器微架构设计,尤其涉及一种高速外围组件互连设备间数据传输方法、装置及设备。

背景技术:

1、随着核心复合芯片(ccd:core complex die)与输入输出芯片(iod:i/o die)构成的异构集成架构在高性能处理器中的普及,挂载于高速外围组件互连(pcie:peripheralcomponent interconnect express)根复合体(rc:root complex)端口上的设备类型和数量持续增加,设备间的点对点(p2p:peer-to-peer)数据交换需求随之增长。

2、在现有的输入输出芯片内部架构中,所有高速外围组件互连根复合体均通过一条主互连总线连接至一致性点(poc:point of coherence)和双倍数据率内存控制器(ddrcontroller:double data rate memory controller),点对点传输的数据需要依次经过根复合体、主互连总线和目标根复合体才能到达目的地。该主互连总线同时承载核心复合芯片访问高速外围组件互连设备的流量、核心复合芯片读写双倍数据率内存的流量以及设备间的点对点流量,点对点数据在主互连总线上需要经历仲裁、路由和缓冲环节。

3、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

1、本技术的主要目的在于提供一种高速外围组件互连设备间数据传输方法、装置及设备,旨在解决如何避免不同数据在传输过程中相互干扰的技术问题。

2、为实现上述目的,本技术提出一种高速外围组件互连设备间数据传输方法,所述的方法包括:

3、获取来自高速外围组件互连设备的事务层包;解析所述事务层包的头部字段,得到事务类型和目标地址;在所述事务类型为内存读写事务时,根据所述目标地址,确定流量类别;在所述流量类别为点对点流量时,根据预设点对点直通交换矩阵将所述事务层包转发至所述目标地址对应的目标高速外围组件互连设备。

4、在一实施例中,所述在所述事务类型为内存读写事务时,根据所述目标地址,确定流量类别,包括:

5、在所述事务类型为内存读写事务时,获取多个高速外围组件互连设备的基地址寄存器的第一空间地址范围和双倍数据率内存的第二空间地址范围;

6、在所述目标地址位于所述第一空间地址范围内时,确定流量类别为点对点流量;

7、在所述目标地址位于所述第二空间地址范围内时,确定流量类别为中央处理器流量或双倍数据率内存流量。

8、在一实施例中,所述在所述流量类别为点对点流量时,根据预设点对点直通交换矩阵将所述事务层包转发至所述目标地址对应的目标高速外围组件互连设备,包括:

9、根据所述目标地址,确定目标高速外围组件互连设备;

10、在所述流量类别为点对点流量时,根据所述高速外围组件互连设备的端口地址和所述目标高速外围组件互连设备的端口地址从预设点对点直通交换矩阵中确定传输路径和目标端口负载;

11、根据所述传输路径和所述目标端口负载将所述事务层包转发至所述目标高速外围组件互连设备。

12、在一实施例中,所述根据所述传输路径和所述目标端口负载将所述事务层包转发至所述目标高速外围组件互连设备,包括:

13、在所述目标端口负载大于等于预设端口负载阈值时,根据所述传输路径将所述事务层包缓存至所述预设点对点直通交换矩阵的缓冲区;

14、在缓存完成后,根据所述传输路径将所述事务层包转发至所述目标高速外围组件互连设备。

15、在一实施例中,所述根据所述传输路径和所述目标端口负载将所述事务层包转发至所述目标高速外围组件互连设备,包括:

16、在所述目标端口负载小于预设端口负载阈值时,根据所述传输路径将所述事务层包转发至所述目标高速外围组件互连设备。

17、在一实施例中,所述根据所述传输路径和所述目标端口负载将所述事务层包转发至所述目标高速外围组件互连设备之前,还包括:

18、获取各高速外围组件互连设备的端口带宽权重和所述预设点对点的总可用带宽;

19、根据各高速外围组件互连设备的端口负载调整对应的端口带宽权重;

20、根据所述总可用带宽和调整后的端口带宽权重,确定各所述高速外围组件互连设备的端口可用带宽;

21、根据所述高速外围组件互连设备的端口可用带宽,执行所述根据所述传输路径和所述目标端口负载将所述事务层包转发至所述目标高速外围组件互连设备的步骤。

22、在一实施例中,所述在所述流量类别为点对点流量时,根据预设点对点直通交换矩阵将所述事务层包转发至所述目标地址对应的目标高速外围组件互连设备之后,还包括:

23、获取主互连总线和所述预设点对点直通交换矩阵的当前流量负载,其中,所述主互连总线为中央处理器流量、双倍数据率内存流量、控制流量和配置流量对应的传输路径;

24、根据所述当前流量负载,确定所述预设点对点直通交换矩阵的空闲带宽量;

25、在所述空闲带宽量大于预设带宽阈值时,将所述空闲带宽量分配至所述主互连总线;

26、在所述当前流量负载大于预设矩阵负载阈值时,收回已分配至所述主互连总线的所述空闲带宽量,并将所述空闲带宽量恢复为所述预设点对点直通交换矩阵的专用带宽。

27、此外,为实现上述目的,本技术还提出一种高速外围组件互连设备间数据传输装置,所述高速外围组件互连设备间数据传输装置包括:

28、输入模块,用于获取来自高速外围组件互连设备的事务层包;

29、解析模块,用于解析所述事务层包的头部字段,得到事务类型和目标地址;

30、确定模块,用于在所述事务类型为内存读写事务时,根据所述目标地址,确定流量类别;

31、转发模块,用于在所述流量类别为点对点流量时,根据预设点对点直通交换矩阵将所述事务层包转发至所述目标地址对应的目标高速外围组件互连设备。

32、此外,为实现上述目的,本技术还提出一种高速外围组件互连设备间数据传输设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上文所述的高速外围组件互连设备间数据传输方法的步骤。

33、此外,为实现上述目的,本技术还提出一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的高速外围组件互连设备间数据传输方法的步骤。

34、此外,为实现上述目的,本技术还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现如上文所述的高速外围组件互连设备间数据传输方法的步骤。

35、本技术提出的一个或多个技术方案,至少具有以下技术效果:

36、获取来自高速外围组件互连设备的事务层包;解析所述事务层包的头部字段,得到事务类型和目标地址;在所述事务类型为内存读写事务时,根据所述目标地址,确定流量类别;在所述流量类别为点对点流量时,根据预设点对点直通交换矩阵将所述事务层包转发至所述目标地址对应的目标高速外围组件互连设备。由于采用了流量分类器根据事务层包的目标地址和事务类型将点对点流量与内存访问流量分流、并将点对点流量引导至预设点对点直通交换矩阵进行转发的技术手段,点对点流量不再经过主互连总线且无需在该总线上经历仲裁和路由,从而避免了点对点流量与核心复合芯片访问高速外围组件互连设备或双倍数据率内存的流量共享主互连总线所导致的相互干扰,解决了如何避免不同数据在传输过程中相互干扰的技术问题。