CN101882126A - 多个HT总线到单个PCIe总线的桥接装置及其方法 - Google Patents

多个HT总线到单个PCIe总线的桥接装置及其方法 Download PDF

Info

Publication number
CN101882126A
CN101882126A CN 201010230714 CN201010230714A CN101882126A CN 101882126 A CN101882126 A CN 101882126A CN 201010230714 CN201010230714 CN 201010230714 CN 201010230714 A CN201010230714 A CN 201010230714A CN 101882126 A CN101882126 A CN 101882126A
Authority
CN
China
Prior art keywords
pcie
bag
module
request
post
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.)
Granted
Application number
CN 201010230714
Other languages
English (en)
Other versions
CN101882126B (zh
Inventor
刘锐
曹政
陈飞
胡涛
王凯
安学军
孙凝晖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN2010102307143A priority Critical patent/CN101882126B/zh
Publication of CN101882126A publication Critical patent/CN101882126A/zh
Application granted granted Critical
Publication of CN101882126B publication Critical patent/CN101882126B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

本发明多个HT总线到单个PCIe总线的桥接装置和方法,所述桥接装置包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口;所述桥接装置,用于均分PCIe请求序号,使用全局地址映射表和均分的请求序号实现HT端口和PCIe端口之间数据的传送;所述全局地址映射表记录每个HT端口和PCIe端口所占用的地址范围;所述均分PCIe请求序号为对于各HT端口,分配用于所述HT端口使用的PCIe请求序号数目相同,并且分配的PCIe请求序号不重叠。本发明能够实现多个处理器能够共享访问PCIe外设装置。

Description

多个HT总线到单个PCIe总线的桥接装置及其方法
技术领域
本发明涉及计算机领域,尤其涉及多个HT总线到单个PCIe总线的桥接装置及其方法。
背景技术
PCI Express总线技术简称PCIe,是当前主流的总线和接口标准,它原来的名称为“3GIO”,是由Intel提出,后交由PCI-SIG(PCI特殊兴趣组织)认证发布后才改名为“PCI-Express”。这个新标准将全面取代原来的PCI和AGP总线,成为新一代计算机设备的标准接口。
PCIe总线采用目前业内流行的点对点串行通信方式,基于包进行数据传输,从根本上解决了原来PCI并行总线的带宽和扩展性问题,在保证对PCI的兼容性的同时,还增加了很多新的特性,如完善的流控机制,链路可靠性,电源管理,多虚通道支持和复杂而灵活的错误管理。以PCIe Gen1为例,X1带宽为2.5Gbps(双向5Gbps),去掉8b/10b编码的开销,实际带宽达到了2Gbps,对应X8的链路总带宽为16Gbps,最大支持扩展到X32,在新的PCIeGen2协议中,X1带宽更是达到了5Gbps,其提供的带宽完全能够满足当前计算的绝大多数需求。
而Hyper Transport总线技术(简称HT),是由AMD公司提出的新一代总线技术。从技术层面讲,HT与PCIe都采用了点对点串行通信方式,也是基于包的数据传输,很多新特性,随着标准的不断演化,HT和PCIe都有相应的支持。但是HT与PCIe协议上也有很多大的区别,HT采用小包传输方式,最大支持传输64字节数据,而PCIe支持最大4K字节数据,另外,HT的回复包支持乱序,而PCIe规范要求回复包严格保序。
考虑到PCIe作为intel主推的新一代标准,采用PCIe作为接口的计算设备越来越多,有网卡,交换机,显卡(包括CUDA节点),各种数据采集卡等等。现在主流的计算机主板都提供了PCIe总线接口,可以通过主板上的南北桥芯片来配置和访问PCIe设备。在高性能计算环境下,单个节点内就会包含多个处理器,在这种情况下,需要一个更加灵活的装置使得多个处理器能够共享访问PCIe外设,充分发挥外设能力,并降低系统成本。
这样,如何高效的利用PCIe的高带宽低延迟特性,让多个HT接口总线处理器访问单个PCIe设备成为需要解决的技术问题。
发明内容
为了解决上述问题,本发明提供了多个HT总线到单个PCIe总线的桥接装置及其方法,能够实现多个处理器能够共享访问PCIe外设装置。
本发明公开了一种多个HT总线到单个PCIe总线的桥接装置,
所述桥接装置包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口;
所述桥接装置,用于均分PCIe请求序号,使用全局地址映射表和均分的请求序号实现HT端口和PCIe端口之间数据的传送;
所述全局地址映射表记录每个HT端口和PCIe端口所占用的地址范围;
所述均分PCIe请求序号为对于各HT端口,分配用于所述HT端口使用的PCIe请求序号数目相同,并且分配的PCIe请求序号不重叠。
所述HT端口包括一个主HT端口和多个从HT端口;
主HT端口相连的处理器使用PCIe设备并配置全局地址映射表中PCIe端口对应的地址空间和主HT端口对应的地址空间;从HT端口相连的处理器使用PCIe设备并配置全局地址映射表中从HT端口对应的地址空间;
PCIe端口连接PCIe总线的根设备。
所述桥接装置包括HT控制器模块,
所述HT控制器模块分为主HT控制器模块和从HT控制器模块,
主HT控制器模块同主HT端口连接,用于实现HT终端设备功能;
从HT控制器模块同从HT端口连接,用于实现HT终端设备功能。
所述桥接装置包括HT控制器模块、PCIe控制器模块、HT2PCIE转换模块、PCIE2HT转换模块、PCIE树形交换模块、以及全局地址映射表模块;每个HT控制器模块连接对应的HT2PCIE转换模块和PCIE2HT转换模块;
HT控制器模块,同HT端口连接,用于从所述HT端口接收数据包,将数据包发送给HT2PCIE转换模块,并将接收的由PCIE2HT转换模块发送的数据包从连接的HT端口发送到HT总线;
HT2PCIE转换模块,用于从HT控制器模块接收数据包,在接收的数据包为需要请求序号的请求时,从为连接的HT端口分配的PCIe请求序号中为所述请求分配PCIe请求序号,存储所述请求的HT请求序号,在PCIE2HT转换模块接收的数据包为Non-post请求时,从PCIE2HT转换模块获得并记录Non-post请求的包含PCIe请求序号的包头参数;然后完成所述数据包从HT协议到PCIe协议的转换,将转换后的数据包发送给PCIE树形交换模块;
PCIE2HT转换模块,用于从PCIE树形交换模块接收数据包,在接收的数据包为请求响应时,读取所述数据包的PCIe请求序号对应的HT请求序号,在接收的数据包为需要请求序号的请求时,为所述请求分配HT请求序号,通知HT2PCIE转换模块记录包头信息;然后完成所述数据包从PCIe协议到HT协议的转换,将转换后的数据包发送给所述HT控制器模块;
PCIE树形交换模块,用于将多个HT端口转换后的PCIe格式数据包进行仲裁,发送给PCIe控制器模块,并依据全局地址映射表将接收的PCIe控制器模块发送的数据包转发给对应HT端口的PCIE2HT转换模块;
PCIe控制器模块,用于将接收的数据包在PCIE树形交换模块和PCIe总线间交换;
全局地址映射表模块,用于存储所述全局地址映射表。
HT2PCIE转换模块进一步包括HT2PCIE完成包拼接存储模块、HT2PCIE完成包拼接控制模块、HT2PCIE完成包传输模块、HT2PCIE Post包生成模块、下行HT Srctag管理模块、PCIe Srctag管理模块、以及HT2PCIE Non-post包生成模块,
HT2PCIE完成包拼接存储模块,用于在接收的数据包为请求响应时,依据HT2PCIE完成包拼接控制模块记录的请求响应对应的原始请求的信息将请求响应的数据包拼合为一个完整的PCIe完成包的数据;
HT2PCIE完成包拼接控制模块,用于在PCIE2HT转换模块接收的数据包为读请求响应时,从PCIE2HT转换模块获得并记录读请求的包含PCIe请求序号的包头参数;
HT2PCIE完成包传输模块,用于从HT2PCIE完成包拼接存储模块中读取PCIe完成包的数据,从HT2PCIE完成包拼接控制模块中读取PCIe完成包头,生成PCIe完成数据包,发送给PCIE树形交换模块;
HT2PCIE Post包生成模块,用于将接收的HT总线的Post写请求转换为PCIe总线的Post写请求,并将PCIe总线的Post写请求发送给PCIE树形交换模块;
下行HT Srctag管理模块,用于在接收到HT Non-post请求时,存储所述请求携带的HT请求序号;
PCIe Srctag管理模块,用于分配需要的PCIe请求序号,回收使用完的PCIe请求序号;
HT2PCIE Non-post包生成模块,用于依据分配的PCIe请求序号,将HTNon-post读或写请求转换为PCIe Non-post读或写请求,发送给PCIE树形交换模块。
所述HT2PCIE完成包拼接存储模块包含PCIe完成包拼攒缓冲区,所述PCIe完成包拼攒缓冲区被划分为多个区域,区域的数目与PCIe请求序号数目相同,每个区域的大小为PCIe总线最大包长。
所述HT2PCIE完成包拼接控制模块包含拼接控制缓冲区和计数器堆,
拼接控制缓冲区由HT请求响应包的HT请求序号索引,记录该HT请求响应包对应的PCIe读请求序号,对应PCIe读请求被拆分成的HT读请求数目,对应的PCIe完成包头和所述HT请求响应包数据在PCIe完成包拼攒缓冲区中的存储位置;
计数器堆包括多个接收计数器,每个PCIe读请求序号对应一个接收计数器,接收计数器用于统计收到对应PCIe读请求序号的HT请求响应包的数目;
HT2PCIE完成包传输模块,还用于通知HT2PCIE完成包拼接控制模块对生成的PCIe完成数据包的PCIe读请求序号对应的接收计数器复位。
PCIE2HT转换模块进一步包括PCIE2HT响应包传输模块,PCIE2HT Post包生成模块,上行HT Srctag管理模块,以及PCIE2HT Non-post包生成模块,
PCIE2HT响应包传输模块,用于将PCI e完成包转换为HT请求响应包,发送给HT控制器模块;
PCIE2HT Post包生成模块,用于将PCIe Post写包转换为HT Post写包,发送给HT控制器模块;
上行HT Srctag管理模块,用于从HT2PCIE完成包拼接控制模块中回收HT请求序号,并提供可用的HT请求序号给PCIE2HT Non-post包生成模块;
PCIE2HT Non-post包生成模块,用于依据上行HT Srctag管理模块提供的HT请求序号,将PCIe Non-post读包转换为HT Non-post读包,发送给HT控制器模块,并通知HT2PCIE完成包拼接控制模块记录包头信息。
PCIE2HT响应包传输模块进一步用于使用下行HT Srctag管理模块存储的HT请求序号替换PCIe完成包中的PCIe请求序号,并通知PCIe Srctag管理模块记录PCIe完成包中的PCIe请求序号,将转换后的HT响应包传送给HT控制器模块。
PCIE2HT Post包生成模块进一步用于按HT协议最大包长和边界对齐要求,将PCIe Post写包分拆为多个HT Post写包,发送至HT控制器模块。
本发明还公开了一种多个HT总线到单个PCIe总线的桥接方法,
桥接装置包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口;
所述桥接装置均分PCIe请求序号,通过全局地址映射表和均分的请求序号实现HT端口和PCIe端口之间数据的传送;
所述全局地址映射表记录每个HT端口和PCIe端口所占用的地址范围;
所述均分PCIe请求序号为对于各HT端口,分配用于所述HT端口使用的PCIe请求序号数目相同,并且分配的PCIe请求序号不重叠。
所述HT端口包括一个主HT端口和多个从HT端口;
主HT端口相连的处理器使用PCIe设备并配置全局地址映射表中PCIe端口对应的地址空间和主HT端口对应的地址空间;从HT端口相连的处理器使用PCIe设备并配置全局地址映射表中从HT端口对应的地址空间;
PCIe端口连接PCIe总线的根设备。
所述桥接装置包括HT控制器模块,
所述HT控制器模块分为主HT控制器模块和从HT控制器模块,
主HT控制器模块同主HT端口连接,用于实现HT终端设备功能;
从HT控制器模块同从HT端口连接,用于实现HT终端设备功能。
所述桥接装置包括HT控制器模块、PCIe控制器模块、HT2PCIE转换模块、PCIE2HT转换模块、PCIE树形交换模块、以及存储所述全局地址映射表的全局地址映射表模块;每个HT控制器模块连接对应的HT2PCIE转换模块和PCIE2HT转换模块;
所述方法进一步为,
步骤1,HT控制器模块从所述HT端口接收数据包,将数据包发送给HT2PCIE转换模块;HT2PCIE转换模块从HT控制器模块接收数据包,在接收的数据包为需要请求序号的请求时,从为连接的HT端口分配的PCIe请求序号中为所述请求分配PCIe请求序号,存储所述请求的HT请求序号,在PCIE2HT转换模块接收的数据包为Non-post请求时,从PCIE2HT转换模块获得并记录Non-post请求的包含PCIe请求序号的包头参数;然后完成所述数据包从HT协议到PCIe协议的转换,将转换后的数据包发送给PCIE树形交换模块;PCIE树形交换模块将多个HT端口转换后的PCIe格式数据包进行仲裁,发送给PCIe控制器模块;PCIe控制器模块将接收的数据包发送到PCIe总线;
步骤2,PCIe控制器模块将接收的数据包发送到PCIE树形交换模块;PCIE树形交换模块依据全局地址映射表将接收的PCIe控制器模块发送的数据包转发给对应HT端口的PCIE2HT转换模块;PCIE2HT转换模块从PCIE树形交换模块接收数据包,在接收的数据包为请求响应时,读取所述数据包的PCIe请求序号对应的HT请求序号,在接收的数据包为需要请求序号的请求时,为所述请求分配HT请求序号,通知HT2PCIE转换模块记录包头信息;然后完成所述数据包从PCIe协议到HT协议的转换,将转换后的数据包发送给所述HT控制器模块;HT控制器模块将接收的由PCIE2HT转换模块发送的数据包从连接的HT端口发送到HT总线。
HT2PCIE转换模块进一步包括HT2PCIE完成包拼接存储模块、HT2PCIE完成包拼接控制模块、HT2PCIE完成包传输模块、HT2PCIE Post包生成模块、下行HT Srctag管理模块、PCIe Srctag管理模块、以及HT2PCIE Non-post包生成模块,
所述步骤1中HT控制器模块接收到请求响应包时,HT2PCIE完成包拼接存储模块依据HT2PCIE完成包拼接控制模块记录的请求响应对应的请求的信息将请求响应的数据包拼合为一个完整的PCIe完成包的数据;HT2PCIE完成包传输模块从HT2PCIE完成包拼接存储模块中读取PCIe完成包的数据,从HT2PCIE完成包拼接控制模块中读取PCIe完成包头,生成PCIe完成数据包,发送给PCIE树形交换模块;
所述步骤1中HT控制器模块接收到HT Post包时,HT2PCIE Post包生成模块将接收的HT总线的Post写请求转换为PCIe总线的Post写请求,并将PCIe总线的Post写请求发送给PCIE树形交换模块;
所述步骤1中HT控制器模块接收到HT Non-Post包时,下行HT Srctag管理模块存储HT Non-post读或写请求携带的HT请求序号;PCIe Srctag管理模块分配需要的PCIe请求序号;HT2PCIE Non-post包生成模块依据分配的PCIe请求序号,将HT Non-post读或写请求转换为PCIe Non-post读或写请求,发送给PCIE树形交换模块;
所述步骤2中在接收的数据包为请求响应时,PCIe Srctag管理模块回收使用完的PCIe请求序号。
PCIE2HT转换模块进一步包括PCIE2HT响应包传输模块,PCIE2HT Post包生成模块,上行HT Srctag管理模块,以及PCIE2HT Non-post包生成模块,
所述步骤2中接收到PCIe完成包时,PCIE2HT响应包传输模块将PCIe完成包转换为HT请求响应包,发送给HT控制器模块;
所述步骤2中接收到PCIe Post包时,PCIE2HT Post包生成模块将PCIe Post写包转换为HT Post写包,发送给HT控制器模块;
所述步骤2中接收到PCIe Non-post包时,PCIE2HT Non-post包生成模块依据上行HT Srctag管理模块提供的HT请求序号,将PCIe Non-post读包转换为HT Non-post读包,发送给HT控制器模块,并通知HT2PCIE完成包拼接控制模块记录包头信息;
所述步骤1中接收到请求响应包时,上行HT Srctag管理模块从HT2PCIE完成包拼接控制模块中回收HT请求序号。
所述步骤2中接收到PCIe完成包时,PCIE2HT响应包传输模块进一步使用下行HT Srctag管理模块存储的HT请求序号替换PCIe完成包中的PCIe请求序号,并通知PCIe Srctag管理模块记录PCIe完成包中的PCIe请求序号,将转换后的HT响应包传送给HT控制器模块。
所述步骤2中接收到PCIe Post包时,PCIE2HT Post包生成模块进一步按HT协议最大包长和边界对齐要求,将PCIe Post写包分拆为多个HT Post写包,发送至HT控制器模块。
本发明的有益效果在于,能够实现多个与主设备(如处理器)相连的HT总线到PCIe总线的桥接,在多HT总线与PCIe总线间提供高效的数据传输;通过全局地址映射表和均分PCIe总线Srctag(请求序号),实现多个主动设备(如处理器)对PCIe总线设备的直接访问;通过内部交换PCIe格式数据包,支持长包,因而有较低的包头开销,实现低带宽损耗的HT到PCIe数据传输。
附图说明
图1是本发明多HT总线到单PCIe总线的桥接装置结构图;
图2是本发明具体实施方式中桥接装置内部HT2PCIE转换模块结构图;
图3是本发明具体实施方式中桥接装置内部PCIE2HT转换模块结构图;
图4是所述桥接装置内部PCIE树形交换模块结构图;
图5是本发明的桥接装置发现配置示意图;
图6是PCIe请求拆分HT请求示意图,图6(a)是PCIe读请求拆分的示意图,图6(b)是PCIe写请求拆分的示意图;
图7是HT端口访问PCIe总线流程图,图7(a)为HT端口对PCIe总线的读操作流程图,图7(b)为HT端口对PCIe总线的写操作流程图;
图8是PCIe总线访问HT端口流程图,图8(a)PCIe总线读取HT端口的流程图,图8(b)是PCIe总线写入HT端口的流程图。
具体实施方式
下面结合附图对本发明的方法做进一步的说明。
本发明涉及的概念说明如下所述。
一次读操作指的是端口设备发起读操作,经过转换路由到目标设备,目标设备将读取数据段打包为回复包,再经过转换路由返回给端口设备的过程。
一次写操作指的是端口设备发起写操作,经过转换路由到达目标设备,并将包中数据写入目标设备中指定存储地址的过程。
HT总线中的“乱序”指的是HT规范中,对于读请求的回复不一定需要严格保序,可能读请求A比读请求B先收到,但是设备可以选择先回复读请求B,相应的,PCIe规范中要求回复必须严格保序,即按照读请求到达顺序进行回复。
“64-byte边界”指的是处理器的缓存线边界(cache line boundary),HT总线协议要求读写操作都不能跨越64-byte边界,而PCIe总线则要求回复包不能跨64-byte边界。
本发明一种多个HT总线到单个PCIe总线的桥接装置如下所述。
所述桥接装置包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口;
所述桥接装置,用于均分PCIe请求序号,通过全局地址映射表和均分的请求序号实现HT端口和PCIe端口之间数据的传送;
所述全局地址映射表记录每个HT端口和PCIe端口所占用的地址范围;
所述均分PCIe请求序号为对于各HT端口,分配用于所述HT端口使用的PCIe请求序号数目相同,并且分配的PCIe请求序号不重叠。
PCIe规范中约定Non-Post请求需要用Srctag区分,体现在包格式中的Srctag域。在本发明中,把PCIe端的Srctag均分给了多个HT端口,这样,通过对PCIe端发出的Non-Post请求包中的Srctag区间进行仲裁分发到对应HT端口,相应的从各HT端口发出的Non-Post请求所携带的PCIe Srctag也不会发生重叠。
一具体实施方式中,HT端口包括一个主HT端口和多个从HT端口;
主HT端口相连的处理器使用PCIe设备并配置全局地址映射表中PCIe端口对应的地址空间和主HT端口对应的地址空间;从HT端口相连的处理器使用PCIe设备并配置全局地址映射表中从HT端口对应的地址空间;
PCIe端口连接PCIe总线的根设备。
进一步的,桥接装置包括HT控制器模块,
所述HT控制器模块分为主HT控制器模块和从HT控制器模块,
主HT控制器模块同主HT端口连接,用于实现HT终端设备功能;
从HT控制器模块同从HT端口连接,用于实现HT终端设备功能。
具体的,桥接设备包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口。HT端口在逻辑功能上分为两类,一类称为主HT端口,主HT端口相连的处理器使用PCIe设备,并且负责对PCIe设备的发现和初始化过程,该类端口在具体实施方式的桥接设备中只有一个;一类称为从HT端口,从HT端口相连的处理器仅使用PCIe设备。桥接设备的PCIe端口是PCIe总线的根设备(PCI-Express Root Complex)。
本发明的一具体实施方式中,桥接装置结构如图1所示。
桥接装置包括HT控制器模块100、HT2PCIE转换模块200、PCIE2HT转换模块300、PCIE树形交换模块400、PCIe控制器模块500、以及全局地址映射表模块600。
其中,HT控制器模块100分为主HT控制器模块和从HT控制器模块,主HT控制器模块同主HT端口连接,用于实现HT终端设备功能;从HT控制器模块同从HT端口连接,用于实现HT终端设备功能。
具体的,从HT控制器模块,实现HT总线数据的收发,实现HT终端设备(HT Endpoint)功能。主HT控制器模块,实现HT总线数据的收发,还负责将主HT端口处理器发出的Type1的配置包转发至HT2PCIE转换模块200。在x86系统的配置过程中,会有两种配置包,一种是type0,另外一种是type0,对于桥设备,当收到type0的配置包,说明是对桥的配置,进入自身配置空间进行处理,而对于type1的配置包则需要进行转发,转发的时查看下方设备是否为目的配置设备,如果是,则转成type0配置包,如果不是,则保持type1格式。
PCIe控制器模块500,实现PCIe根设备(PCIe Root Complex)的功能。
每个HT控制器模块100连接对应的HT2PCIE转换模块200和PCIE2HT转换模块300。
HT控制器模块100,同HT端口连接,用于从所述HT端口接收数据包,将数据包发送给HT2PCIE转换模块200,并将接收的由PCIE2HT转换模块300发送的数据包从连接的HT端口发送到HT总线。
HT2PCIE转换模块200,用于从HT控制器模块100接收数据包,在接收的数据包为需要请求序号的请求时,从为连接的HT端口分配的PCIe请求序号中为所述请求分配PCIe请求序号,存储所述请求的HT请求序号,在PCIE2HT转换模块300接收的数据包为Non-post请求时,从PCIE2HT转换模块300获得并记录Non-post请求的包含PCIe请求序号的包头参数;然后完成所述数据包从HT协议到PCIe协议的转换,将转换后的数据包发送给PCIE树形交换模块400。
PCIE2HT转换模块300,用于从PCIE树形交换模块400接收数据包,在接收的数据包为请求响应时,读取所述数据包的PCIe请求序号对应的HT请求序号,在接收的数据包为需要请求序号的请求时,为所述请求分配HT请求序号,通知HT2PCIE转换模块200记录包头信息;然后完成所述数据包从PCIe协议到HT协议的转换,将转换后的数据包发送给所述HT控制器模块100。
PCIE树形交换模块400,用于将多个HT端口转换后的PCIe格式数据包进行仲裁,发送给PCIe控制器模块500,并依据全局地址映射表将接收的PCIe控制器模块500发送的数据包转发给对应HT端口的PCIE2HT转换模块300。
PCIe控制器模块500,用于将接收的数据包在PCIE树形交换模块400和PCIe总线间转换。
全局地址映射表模块600,用于存储所述全局地址映射表。
进一步的具体实施方式中,HT2PCIE转换模块的结构如图2所示。
HT2PCIE转换模块200进一步包括HT2PCIE完成包拼接存储模块211、HT2PCIE完成包拼接控制模块212、HT2PCIE完成包传输模块213、HT2PCIE Post包生成模块221、下行HT Srctag管理模块231、PCIe Srctag管理模块232、以及HT2PCIE Non-post包生成模块233。
HT2PCIE完成包拼接存储模块211、HT2PCIE完成包拼接控制模块212、和HT2PCIE完成包传输模块213用于处理HT响应包;HT2PCIE Post包生成模块221用于处理HT Post包,下行HT Srctag管理模块231、PCIe Srctag管理模块232、以及HT2PCIE Non-post包生成模块233共用用于处理HT Non-post包。
HT2PCIE完成包拼接存储模块211,用于在接收的数据包为请求响应时,依据HT2PCIE完成包拼接控制模块212记录的请求响应对应的原始请求的信息将请求响应的数据包拼合为一个完整的PCIe完成包的数据。
进一步的,HT2PCIE完成包拼接存储模块211包含PCIe完成包拼攒缓冲区,PCIe完成包拼攒缓冲区被划分为多个区域,区域的数目与PCIe总线请求序号数目相同,每个区域的大小为PCIe总线最大包长。
PCIe完成包拼攒缓冲区——拼接RAM,该缓冲区被静态划分为多个区域,区域的数目与PCIe总线请求序号数目相同,每个区域的大小为PCIe总线协商的最大包长MTU,因此每个区域的起始地址高位为PCIe请求序号,地址低位的数目为
Figure BSA00000197590500121
HT2PCIE完成包拼接控制模块212,用于在PCIE2HT转换模块300接收的数据包为读请求响应时,从PCIE2HT转换模块300获得并记录读请求的包含PCIe请求序号的包头参数。
HT2PCIE完成包拼接控制模块212,包含拼接控制缓冲区和计数器堆。
拼接控制缓冲区由HT请求响应包的HT请求序号索引,记录该HT请求响应包对应的PCIe读请求序号,对应PCIe读请求被拆分成的HT读请求数目,对应的PCIe完成包头和所述HT请求响应包数据在PCIe完成包拼攒缓冲区中的存储位置,
计数器堆包括多个接收计数器,每个PCIe读请求序号对应一个接收计数器,接收计数器用于统计收到对应PCIe读请求序号的HT请求响应包的数目。
HT2PCIE完成包传输模块213,还用于通知HT2PCIE完成包拼接控制模块212对生成的PCIe完成数据包的PCIe读请求序号对应的接收计数器复位。
HT2PCIE完成包传输模块213,用于从HT2PCIE完成包拼接存储模块211中读取PCIe完成包的数据,从HT2PCIE完成包拼接控制模块212中读取PCIe完成包头,生成PCIe完成数据包,发送给PCIE树形交换模块400。
具体的,转后的PCIe完成包进入HT2PCIE完成包接收FIFO中等待发送。
HT2PCIE Post包生成模块221,用于将接收的HT总线的Post写请求转换为PCIe总线的Post写请求,并将PCIe总线的Post写请求发送给PCIE树形交换模块400。
具体的,转后的PCIe Post包进入HT2PCIE Post包接收FIFO中等待发送。
HT2PCIE Post包生成模块221,将HT总线的Post写请求转换为PCIe的Post写请求.具体的,对于HT字节写(Byte Write)包:根据HT包中的mask(字节掩码)信息,对每8位mask对应的写数据进行判断并转化为相应长度为1个双字或2个双字的PCIe写包,若8位mask均为0,则转换后的PCIe写包丢弃。
下行HT Srctag管理模块231,用于在接收到HT Non-post读请求或写请求时,存储该请求携带的HT请求序号。
下行HT Srctag管理模块231存储HT Non-post读写请求所携带的请求序号,存储地址为PCIe Srctag管理模块提供的PCIe读写请求序号。
PCIe Srctag管理模块232,用于分配需要的PCIe请求序号,回收使用完的PCIe请求序号,还用于记录接收的PCIe请求的PCIe请求序号。
PCIe srctag管理模块232用于管理访问PCIe总线所需的PCIe请求序号。从PCIE2HT转换模块的PCIE2HT响应包传输模块回收PCIe请求序号,将回收的PCIe请求序号写入PCIe Srctag管理模块232,向HT2PCIE Non-post包生成模块提供PCIe请求序号。PCIe srctag管理模块232管理的PCIe请求序号数目=PCIe总线最大请求序号/HT端口数目。
HT2PCIE Non-post包生成模块233,用于依据分配的PCIe请求序号,将HT Non-post读或写请求转换为PCIe Non-post读或写请求,发送给PCIE树形交换模块。
具体的,转后的PCIe Non-post包进入HT2PCIE Non-post包接收FIFO中等待发送。
一具体实施方式,PCIE2HT转换模块300进一步包括PCIE2HT响应包传输模块311,PCIE2HT Post包生成模块321,上行HT Srctag管理模块331,以及PCIE2HT Non-post包生成模块332。
PCIE2HT响应包传输模块311用于处理PCIe完成包,PCIE2HT Post包生成模块321用于处理PCIe Post包,上行HT Srctag管理模块331和PCIE2HT Non-post包生成模块332用于处理PCIe Non-post包。
PCIE2HT响应包传输模块311,用于将PCIe完成包转换为HT请求响应包,发送给HT控制器模块100。
PCIE2HT响应包传输模块311进一步用于使用下行HT Srctag管理模块231存储的HT请求序号替换PCIe完成包中的PCIe请求序号,并通知PCIe Srctag管理模块232记录PCIe完成包中的PCIe请求序号,将转换后的HT响应包传送给HT控制器模块100。
具体实施例中,通知PCIe Srctag管理模块232记录PCIe完成包中的PCIe请求序号为将PCIe完成包中的请求序号写入到PCIe Srctag管理模块232中。
PCIE2HT Post包生成模块321,用于将PCIe Post写包转换为HT Post写包,发送给HT控制器模块100。
PCIE2HT Post包生成模块进一步用于按HT协议最大包长和边界对齐要求,将PCIe Post写包分拆为多个HT Post写包,发送至HT控制器模块。
上行HT Srctag管理模块331,用于从HT2PCIE完成包拼接控制模块212中回收HT请求序号,并提供可用的HT请求序号给PCIE2HT Non-post包生成模块332。
PCIE2HT Non-post包生成模块332,用于依据上行HT Srctag管理模块331提供的HT请求序号,将PCIe Non-post读包转换为HT Non-post读包,发送给HT控制器模块100,并通知HT2PCIE完成包拼接控制模块记录包头信息。
PCIE2HT Non-post包生成模块332进一步用于按HT协议最大包长和边界对齐要求,将PCIe Non-post读包分拆为多个HT Non-post读包,发送至HT控制器模块100。
HT Non-post读包所需的HT请求序号由上行HT Srctag管理模块331提供。
PCIE2HT Non-post包生成模块332还用于通知HT2PCIE完成包拼接控制模块212记录拆包信息。
PCIE树形交换模块400的结构如图4所示,它负责将多个HT端口转换后的PCIe包进行仲裁后,发送给PCIe总线,同时根据全局地址映射关系及PCIe总线序号分配,将PCIe总线获得的PCIe包分发给各HT端口。它包含PCIE完成包树形子模块、PCIE Post包树形子模块和PCIE Non-post包树形子模块,分别对应于PCIe完成包、PCIE Post包和PCIE Non-post包的仲裁和分发。每个子模块包括分发模块和仲裁模块。
PCIE树形交换模块400中的完成包树形仲裁模块,Post包树形仲裁模块和Non-post包树形仲裁模块分别轮询各HT端口的相应输出缓冲区,读入PCIe包,转发给PCIe控制器相应的接收缓冲区。
PCIE树形交换模块400中的Post包树形分发模块和Non-post包树形分发模块从PCIE控制器端对应缓冲区读入PCIe包,根据全局地址映射关系,判断高位地址所对应HT端口号,将该PCIe包分发给相应HT端口接收缓冲区,而PCIE完成包树形分发模块,根据读入PCIe完成包所携带PCIe Srctag所在区间进行判断,确定目标HT端口号,完成分发操作。
本发明的一种多个HT总线到单个PCIe总线的桥接方法如下所述。
桥接装置包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口。
所述桥接设备均分PCIe总线请求序号,通过全局地址映射表和均分的请求序号实现HT端口和PCIe端口之间数据的传送;
所述全局地址映射表记录每个HT端口和PCIe端口所占用的地址范围;
所述均分PCIe总线请求序号为对于各HT端口,分配用于所述HT端口使用的PCIe总线请求序号数目相同,并且分配的PCIe总线请求序号不重叠。
在一个较佳的实施方式中,所述HT端口包括一个主HT端口和多个从HT端口;主HT端口相连的处理器使用PCIe设备并配置全局地址映射表中PCIe端口对应的地址空间和主HT端口对应的地址空间;从HT端口相连的处理器使用PCIe设备并配置全局地址映射表中从HT端口对应的地址空间;PCIe端口连接PCIe总线的根设备。
在一个较佳的实施方式中,所述桥接装置包括HT控制器模块,
所述HT控制器模块分为主HT控制器模块和从HT控制器模块,
主HT控制器模块同主HT端口连接,用于实现HT终端设备功能;
从HT控制器模块同从HT端口连接,用于实现HT终端设备功能。
在一个较佳的实施方式中,所述桥接装置包括HT控制器模块、PCIe控制器模块、HT2PCIE转换模块、PCIE2HT转换模块、PCIE树形交换模块、以及存储所述全局地址映射表的全局地址映射表模块;每个HT控制器模块连接对应的HT2PCIE转换模块和PCIE2HT转换模块;
所述方法进一步为,
步骤S100,HT控制器模块从所述HT端口接收数据包,将数据包发送给HT2PCIE转换模块;HT2PCIE转换模块从HT控制器模块接收数据包,在接收的数据包为需要请求序号的请求时,从为连接的HT端口分配的PCIe请求序号中为所述请求分配PCIe请求序号,存储所述请求的HT请求序号,在PCIE2HT转换模块接收的数据包为Non-post请求时,从PCIE2HT转换模块获得并记录Non-post请求的包含PCIe请求序号的包头参数;然后完成所述数据包从HT协议到PCIe协议的转换,将转换后的数据包发送给PCIE树形交换模块;PCIE树形交换模块将多个HT端口转换后的PCIe格式数据包进行仲裁,发送给PCIe控制器模块;PCIe控制器模块将接收的数据包发送到PCIe总线;
步骤S200,PCIe控制器模块将接收的数据包发送到PCIE树形交换模块;PCIE树形交换模块依据全局地址映射表将接收的PCIe控制器模块发送的数据包转发给对应HT端口的PCIE2HT转换模块;PCIE2HT转换模块从PCIE树形交换模块接收数据包,在接收的数据包为请求响应时,读取所述数据包的PCIe请求序号对应的HT请求序号,在接收的数据包为需要请求序号的请求时,为所述请求分配HT请求序号,通知HT2PCIE转换模块记录包头信息;然后完成所述数据包从PCIe协议到HT协议的转换,将转换后的数据包发送给所述HT控制器模块;HT控制器模块将接收的由PCIE2HT转换模块发送的数据包从连接的HT端口发送到HT总线。
进一步较佳的实施方式中,HT2PCIE转换模块进一步包括HT2PCIE完成包拼接存储模块、HT2PCIE完成包拼接控制模块、HT2PCIE完成包传输模块、HT2PCIE Post包生成模块、下行HT Srctag管理模块、PCIe Srctag管理模块、以及HT2PCIE Non-post包生成模块,
所述步骤S100中HT控制器模块接收到请求响应包时,HT2PCIE完成包拼接存储模块依据HT2PCIE完成包拼接控制模块记录的请求响应对应的请求的信息将请求响应的数据包拼合为一个完整的PCIe完成包的数据;HT2PCIE完成包传输模块从HT2PCIE完成包拼接存储模块中读取PCIe完成包的数据,从HT2PCIE完成包拼接控制模块中读取PCIe完成包头,生成PCIe完成数据包,发送给PCIE树形交换模块;
所述步骤S100中HT控制器模块接收到HT Post包时,HT2PCIE Post包生成模块将接收的HT总线的Post写请求转换为PCIe总线的Post写请求,并将PCIe总线的Post写请求发送给PCIE树形交换模块;
所述步骤S100中HT控制器模块接收到HT Non-Post包时,下行HT Srctag 管理模块存储Non-post读请求或写请求携带的HT请求序号;PCIe Srctag管理模块分配需要的PCIe请求序号;HT2PCIE Non-post包生成模块依据分配的PCIe请求序号,将HT Non-post读或写请求转换为PCIe Non-post读或写请求,发送给PCIE树形交换模块;
所述步骤S200中在接收的数据包为请求响应时,PCIe Srctag管理模块回收使用完的PCIe请求序号。
在进一步较佳的实施方式中,PCIE2HT转换模块进一步包括PCIE2HT响应包传输模块,PCIE2HT Post包生成模块,上行HT Srctag管理模块,以及PCIE2HT Non-post包生成模块,
所述步骤S200中接收到PCIe完成包时,PCIE2HT响应包传输模块将PCIe完成包转换为HT请求响应包,发送给HT控制器模块;
所述步骤S200中接收到PCIe Post包时,PCIE2HT Post包生成模块将PCIe Post写包转换为HT Post写包,发送给HT控制器模块;
所述步骤S200中接收到PCIe Non-post包时,PCIE2HT Non-post包生成模块依据上行HT Srctag管理模块提供的HT请求序号,将PCIe Non-post读包转换为HT Non-post读包,发送给HT控制器模块,并通知HT2PCIE完成包拼接控制模块记录包头信息;
所述步骤S100中接收到请求响应包时,上行HT Srctag管理模块从HT2PCIE完成包拼接控制模块中回收HT请求序号。
在进一步较佳的实施方式中,所述步骤S200中接收到PCIe完成包时,PCIE2HT响应包传输模块进一步使用下行HT Srctag管理模块存储的HT请求序号替换PCIe完成包中的PCIe请求序号,并通知PCIe Srctag管理模块记录PCIe完成包中的PCIe请求序号,将转换后的HT响应包传送给HT控制器模块。
在进一步较佳的实施方式中,所述步骤S200中接收到PCIe Post包时,PCIE2HT Post包生成模块进一步按HT协议最大包长和边界对齐要求,将PCIe Post写包分拆为多个HT Post写包,发送至HT控制器模块。
在进一步较佳的实施方式中,所述步骤S200中接收到PCIe Non-post包时,PCIE2HT Non-post包生成模块进一步按HT协议最大包长和边界对齐要求,将PCIe Non-post读包分拆为多个HT Non-post读包,发送至HT控制器模块;
HT Non-post读包所需的HT请求序号由上行HT Srctag管理模块提供。
在进一步较佳的实施方式中,
所述步骤S100中,PCIE树形交换模块进一步分别轮询各HT端口的相应输出缓冲区,读入PCIe包,转发给PCIe控制器模块相应的接收缓冲区;
所述步骤S200中,PCIE树形交换模块进一步对于PCIe Post完成包和PCIe Non-post包,从PCIE控制器模块对应缓冲区读入PCIe包,根据全局地址映射关系,判断高位地址所对应HT端口号,将该PCIe包分发给相应HT端口接收缓冲区;对于PCIe完成包,根据所述PCIe完成包的PCIe请求序号,确定目标HT端口号,完成分发。
本发明的具体实施例如下所述。
桥接装置包括HT控制器模块、PCIe控制器模块、HT2PCIE转换模块、PCIE2HT转换模块、PCIE树形交换模块、以及存储所述全局地址映射表的全局地址映射表模块;每个HT控制器模块连接对应的HT2PCIE转换模块和PCIE2HT转换模块。
HT2PCIE转换模块进一步包括HT2PCIE完成包拼接存储模块、HT2PCIE完成包拼接控制模块、HT2PCIE完成包传输模块、HT2PCIE Post包生成模块、下行HT Srctag管理模块、PCIe Srctag管理模块、以及HT2PCIE Non-post包生成模块。
PCIE2HT转换模块进一步包括PCIE2HT响应包传输模块,PCIE2HT Post包生成模块,上行HT Srctag管理模块,以及PCIE2HT Non-post包生成模块。
PCIE树形交换模块包含PCIE完成包树形子模块、PCIE Post包树形子模块和PCIE Non-post包树形子模块,分别对应于PCIe完成包、PCIE Post包和PCIE Non-post包的仲裁和分发。每个子模块包括分发模块和仲裁模块。
本发明方法的具体实施例中包括三个实施过程:设备发现配置过程,HT端口访问PCIe总线过程和PCIe总线访问HT端口过程。
设备发现配置过程如如图5所示。
HT端口均挂接在各自处理器的总线0(Bus 0)上,从HT端口均作为总线0上的HT终端设备,而主HT端口则作为总线0上的HT桥设备。PCIe端口实现的PCIe根设备挂接在主HT端口HT桥设备的总线1(Bus 1)上,后续的其他PCIe设备挂接在PCIe根设备之后的PCIe总线(Bus 2)上。
具体发现和配置过程如下所述。
主HT端口对应的主设备,如处理器,扫描到HT总线上是一个HT桥设备,然后再由桥设备向下枚举到PCIe根设备,最后通过PCIe根设备枚举到后续的PCIe设备,完成主HT端口的设备枚举。
从HT端口对应的主设备,如处理器,扫描到HT总线上是一个HT终端设备,完成从HT端口的设备枚举。
主HT端口对应的主设备根据所有PCIe设备申请的空间,配置全局地址映射表中有关PCIe端口的地址空间;
主HT端口对应的主设备根据其挂接的本地内存大小,配置全局地址映射表中有关主HT端口的地址空间;
从HT端口对应的主设备根据其挂接的本地内存大小,配置全局地址映射表中有关从HT端口的地址空间。
HT端口对PCIe总线的访问过程如图7所示。
HT端口对PCIe总线的读操作过程如图7(a)所示。
步骤S71101,HT端口的HT端口控制器接收到HT读请求。
步骤S71102,PCIe Srctag管理模块提供读取可用的PCIe请求序号为ptag。
HT端口i(1~n,n为HT端口数目)可用的ptag范围是:(i-1)×PCIe总线请求序号数目/n~(i×PCIe总线请求序号数目/n)-1。
步骤S71103,下行HT Srctag模块使用ptag为地址,存储该HT读请求的HT请求序号,表示为htag。
步骤S71104,HT2PCIE Non-post包生成模块使用ptag将HT读请求转为PCIe读请求。
若HT读为字节读(Byte Read),则按照双字读(Double Word Read)处理,读取整个的双字。
步骤S71105,PCIE Non-post包树形子模块将生成的PCIe读请求转给PCIe控制器模块,再由PCIe控制器模块通过PCIe总线发出。
步骤S71106,PCIe控制器模块接收到PCIe总线返回的PCIe完成包,发送到PCIE完成包树形子模块。
步骤S71107,PCIE完成包树形子模块根据PCIe完成包的ptag所在区间将该完成包转发至目标HT端口的PCIE2HT转换模块。
步骤S71108,PCIE2HT响应包传输模块使用ptag从下行HT Srctag模块读取存储以ptag为地址的htag。
步骤S71109,PCIE2HT响应包传输模块将ptag回写到PCIe Srctag管理模块。
步骤S71110,PCIE2HT响应包传输模块使用htag将PCIe完成包转换为HT响应包,发送至HT控制器模块,读取操作完成。
HT端口对PCIe总线的写操作过程如图7(b)所示。
步骤S7201,HT端口的HT控制器模块接收到HT写请求。
步骤S7202,HT2PCIE转换模块判断该HT写请求是否为HT Non-post写请求,如果是则跳转至步骤S7205,否则跳转至步骤S7203。
步骤S7203,HT2PCIE Post包生成模块将HT写请求转换为PCIe写请求,发送给PCIE Post包树形子模块。
对于HT字节写(Byte Write)包:根据HT包中的mask(字节掩码)信息,对每8位mask对应的写数据进行判断并转化为相应长度为1个双字或2个双字的PCIe写包,若8位mask均为0,则转换后的PCIe写包丢弃。
步骤S7204,PCIE Post包树形子模块转发至PCIe总线,完成HTPost写操作。
步骤S7205,PCIe Srctag管理模块读取可用的PCIe请求序号,表示为ptag。
HT端口i(1~n,n为HT端口数目)可用的ptag范围是:(i-1)×PCIe总线请求序号数目/n~(i×PCIe总线请求序号数目/n)-1。
步骤S7206,下行HT Srctag模块使用ptag为地址,存储HT读请求的HT请求序号,表示为htag。
步骤S7207,HT2PCIE Non-post包生成模块使用ptag将HT写请求转为PCIe配置写请求,将该PCIe配置写请求发送给PCIE Non-post包树形子模块。
步骤S7208,PCIE Non-post包树形子模块将生成的PCIe配置写请求经PCIE控制器模块转发至PCIe总线。
步骤S7209,PCIe控制器模块接收到PCIe总线返回的PCIe完成包。
步骤S7210,PCIE完成包树形子模块根据PCIe完成包的ptag所在区间将该完成包转发至目标HT端口的PCIE2HT转换模块。
步骤S7211,PCIE2HT响应包传输模块使用ptag从下行HT Srctag模块读取以该ptag为地址存储的htag。
步骤S7212,PCIE2HT响应包传输模块将ptag回写到PCIe Srctag管理模块。
步骤S7213,PCIE2HT响应包传输模块使用htag将PCI e完成包转换为HT目标完成包,发送至HT控制器模块,HT Non-post写操作完成。
PCIe总线对HT端口的访问过程如下所述。
PCIe总线对HT端口的访问过程如图8所示,由于PCIe支持的最大包长为4K字节,而HT最大仅为64字节,因此PCIe总线对HT端口的访问过程需要将一个PCIe请求拆分成多个HT请求。
其中,PCIe读请求的拆分策略如图6(a)所示,拆分遵循如下规则。
当读取长度小于64字节时,将PCIe读请求转换为一个HT双字读请求;
当读取的长度大于64字节时,按照HT请求地址64字节边界对齐要求,将读请求地址按64字节进行边界划分,相应的,PCIe读请求被拆分为多个HT读请求。对于划分后长度不是双字整数倍的,仍然使用HT双字读请求进行读取。
其中,PCIe写请求的拆分策略如图6(b)所示,拆分遵循如下步骤。
步骤S611,若PCIe写请求中的FirstBE不为全1,把FirstBE作为HT字节写包中的count域,按照HT字节写包格式打包为一个字节写包;
步骤S612,若PCIe写请求中的FirstBE为全1,则按照HT请求地址64字节边界对齐要求,根据写请求起始地址,计算第一次拆分的写包数据长度,并按照HT双字写包格式打包为一个HT双字写包;
步骤S613,根据写请求长度判断是否步骤S611或步骤S612是否完成拆分,若未完成,且不为剩余写包长度大于一个双字,则根据HT请求地址64字节边界对齐要求,计算下一个拆分的写包数据长度,按照HT双字写包格式继续发送HT双字写包;若剩余写包长度小于等于一个双字,则跳转至步骤S614;
步骤S614,判断LastBE是否为全1,如果为全1,则跟随之前在同一个64字节边界内数据一起打包为一个HT双字写包,如果不为1,则要单独拆分为一个HT字节写包,HT字节写包的mask为LastBE值,至此,写请求拆分处理完成。
使用图6(a)的拆分策略,PCIe总线读取HT端口的流程如图8(a)所示。
步骤S8101,PCIe总线发出Srctag为ptag的读请求,请求的数据长度为plen,PCIe控制器模块接收到该读请求。
步骤S8102,PCIE Non-post包树形子模块根据读地址查询全局地址映射表,获取目标HT端口号i。
步骤S8103,PCIE Non-post包树形子模块将该读请求转发至目标HT端口i的PCIE2HT转换模块。
步骤S8104,上行HT Srctag管理模块获取一系列可用的HT请求序号htag_0~htag_n。
步骤S8105,按前述读请求的拆分策略,PCIE2HT Non-post包生成模块使用htag_0~htag_n将PCIe读请求拆分成一系列HT读请求,并发送至HT端口。
步骤S8106,PCIE2HT Non-post包生成模块向HT2PCIE完成包拼接控制模块提供拆包信息,HT2PCIE完成包拼接控制模块根据所述拆包信息计算出每个HT包在拼接RAM的起始存储地址haddr_i,并构造ptag对应的PCIe完成包包头phead。
步骤S8107,HT2PCIE完成包拼接控制模块使用htag_i为地址,存储拆包信息和包头。
将ptag,plen,phead,拆出的HT包数目pcnt,以及haddr_i,写入HT2PCIE完成包拼接控制模块中的拼接控制缓冲区。
步骤S8108,HT控制器模块接收对应的HT响应包,获取其请求序号htag_i。
步骤S8109,HT2PCIE完成拼接控制模块使用htag_i为地址,在HT2PCIE完成拼接控制模块的拼接控制缓冲区中,读取该HT响应包对应的phead,plen,pcnt和haddr_i。
步骤S8110,将HT响应包携带的数据负载写入拼接RAM。
以haddr_i为起始地址的存储区中,HT2PCIE完成拼接控制模块中对应ptag的接收计数器incnt加一。
步骤S8111,若incnt等于pcnt,则跳转至步骤S8112,否则跳转至步骤S8108。
步骤S8112,HT2PCIE完成包传输模块以{ptag,00…0}为地址在拼接RAM中读取plen长度的数据。
步骤S8113,HT2PCIE完成包传输模块从HT2PCIE完成包拼接控制模块中读取phead,作为PCIe完成包头拼接在步骤S8112获取的数据之前,构成完整的PCIe完成包。
步骤S8114,PCIE完成包树形子模块将PCIe完成包转发至PCIE端口,经PCIE控制器模块发送至PCIe总线,完成整个读取过程。
使用前述写请求的拆分策略,PCIe总线写HT端口的流程如图8(b)所示,其中,PCIe设备发起的MSI-X中断,在本发明的桥接设备中视为PCIe Post写,因此与写操作处理流程类似,只是MSI-X中断包格式到HT中断包格式的转换,与普通的写请求格式转换不同,具体格式转换遵照HT规范。
PCIe总线写HT端口的流成具体描述如下。
步骤S8201,PCIe总线发出写请求,请求长度为plen,PCIe控制器模块接收写请求。
PCIe设备发起写请求,由PCIe设备上的PCIe控制器模块发出PCIe写包,经过PCIe总线,该桥接装置上的PCIe控制器收到该写请求。
步骤S8202,PCIE Post包树形子模块根据写操作地址查询全局地址映射表,获取目标HT端口号i。
步骤S8203,PCIE Post包树形子模块将该PCIe写请求转发至目标HT端口i的PCIE2HT转换模块。
步骤S8204,PCIE2HT Post包生成模块根据图6(b)所示的拆分策略,将PCIe写请求拆分为一系列的HT写请求。
步骤S8205,HT控制器模块将一系列HT写请求发送至目的HT总线,写操作完成。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。

Claims (22)

1.一种多个HT总线到单个PCIe总线的桥接装置,其特征在于,
所述桥接装置包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口;
所述桥接装置,用于均分PCIe请求序号,使用全局地址映射表和均分的请求序号实现HT端口和PCIe端口之间数据的传送;
所述全局地址映射表记录每个HT端口和PCIe端口所占用的地址范围;
所述均分PCIe请求序号为对于各HT端口,分配用于所述HT端口使用的PCIe请求序号数目相同,并且分配的PCIe请求序号不重叠。
2.如权利要求1所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
所述HT端口包括一个主HT端口和多个从HT端口;
主HT端口相连的处理器使用PCIe设备并配置全局地址映射表中PCIe端口对应的地址空间和主HT端口对应的地址空间;从HT端口相连的处理器使用PCIe设备并配置全局地址映射表中从HT端口对应的地址空间;
PCIe端口连接PCIe总线的根设备。
3.如权利要求2所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
所述桥接装置包括HT控制器模块,
所述HT控制器模块分为主HT控制器模块和从HT控制器模块,
主HT控制器模块同主HT端口连接,用于实现HT终端设备功能;
从HT控制器模块同从HT端口连接,用于实现HT终端设备功能。
4.如权利要求1所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
所述桥接装置包括HT控制器模块、PCIe控制器模块、HT2PCIE转换模块、PCIE2HT转换模块、PCIE树形交换模块、以及全局地址映射表模块;每个HT控制器模块连接对应的HT2PCIE转换模块和PCIE2HT转换模块;
HT控制器模块,同HT端口连接,用于从所述HT端口接收数据包,将数据包发送给HT2PCIE转换模块,并将接收的由PCIE2HT转换模块发送的数据包从连接的HT端口发送到HT总线;
HT2PCIE转换模块,用于从HT控制器模块接收数据包,在接收的数据包为需要请求序号的请求时,从为连接的HT端口分配的PCIe请求序号中为所述请求分配PCIe请求序号,存储所述请求的HT请求序号,在PCIE2HT转换模块接收的数据包为Non-post请求时,从PCIE2HT转换模块获得并记录Non-post请求的包含PCIe请求序号的包头参数;然后完成所述数据包从HT协议到PCIe协议的转换,将转换后的数据包发送给PCIE树形交换模块;
PCIE2HT转换模块,用于从PCIE树形交换模块接收数据包,在接收的数据包为请求响应时,读取所述数据包的PCIe请求序号对应的HT请求序号,在接收的数据包为需要请求序号的请求时,为所述请求分配HT请求序号,通知HT2PCIE转换模块记录包头信息;然后完成所述数据包从PCI e协议到HT协议的转换,将转换后的数据包发送给所述HT控制器模块;
PCIE树形交换模块,用于将多个HT端口转换后的PCIe格式数据包进行仲裁,发送给PCIe控制器模块,并依据全局地址映射表将接收的PCIe控制器模块发送的数据包转发给对应HT端口的PCIE2HT转换模块;
PCIe控制器模块,用于将接收的数据包在PCIE树形交换模块和PCIe总线间交换;
全局地址映射表模块,用于存储所述全局地址映射表。
5.如权利要求4所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
HT2PCIE转换模块进一步包括HT2PCIE完成包拼接存储模块、HT2PCIE完成包拼接控制模块、HT2PCIE完成包传输模块、HT2PCIE Post包生成模块、下行HT Srctag管理模块、PCIe Srctag管理模块、以及HT2PCIE Non-post包生成模块,
HT2PCIE完成包拼接存储模块,用于在接收的数据包为请求响应时,依据HT2PCIE完成包拼接控制模块记录的请求响应对应的原始请求的信息将请求响应的数据包拼合为一个完整的PCIe完成包的数据;
HT2PCIE完成包拼接控制模块,用于在PCIE2HT转换模块接收的数据包为读请求响应时,从PCIE2HT转换模块获得并记录读请求的包含PCIe请求序号的包头参数;
HT2PCIE完成包传输模块,用于从HT2PCIE完成包拼接存储模块中读取PCIe完成包的数据,从HT2PCIE完成包拼接控制模块中读取PCIe完成包头,生成PCIe完成数据包,发送给PCIE树形交换模块;
HT2PCIE Post包生成模块,用于将接收的HT总线的Post写请求转换为PCIe总线的Post写请求,并将PCIe总线的Post写请求发送给PCIE树形交换模块;
下行HT Srctag管理模块,用于在接收到HT Non-post请求时,存储所述请求携带的HT请求序号;
PCIe Srctag管理模块,用于分配需要的PCIe请求序号,回收使用完的PCIe请求序号;
HT2PCIE Non-post包生成模块,用于依据分配的PCIe请求序号,将HTNon-post读或写请求转换为PCIe Non-post读或写请求,发送给PCIE树形交换模块。
6.如权利要求5所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
所述HT2PCIE完成包拼接存储模块包含PCIe完成包拼攒缓冲区,所述PCIe完成包拼攒缓冲区被划分为多个区域,区域的数目与PCIe请求序号数目相同,每个区域的大小为PCIe总线最大包长。
7.如权利要求6所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
所述HT2PCIE完成包拼接控制模块包含拼接控制缓冲区和计数器堆,
拼接控制缓冲区由HT请求响应包的HT请求序号索引,记录该HT请求响应包对应的PCIe读请求序号,对应PCIe读请求被拆分成的HT读请求数目,对应的PCIe完成包头和所述HT请求响应包数据在PCIe完成包拼攒缓冲区中的存储位置;
计数器堆包括多个接收计数器,每个PCIe读请求序号对应一个接收计数器,接收计数器用于统计收到对应PCIe读请求序号的HT请求响应包的数目;
HT2PCIE完成包传输模块,还用于通知HT2PCIE完成包拼接控制模块对生成的PCIe完成数据包的PCIe读请求序号对应的接收计数器复位。
8.如权利要求5所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
PCIE2HT转换模块进一步包括PCIE2HT响应包传输模块,PCIE2HT Post包生成模块,上行HT Srctag管理模块,以及PCIE2HT Non-post包生成模块,
PCIE2HT响应包传输模块,用于将PCIe完成包转换为HT请求响应包,发送给HT控制器模块;
PCIE2HT Post包生成模块,用于将PCIe Post写包转换为HT Post写包,发送给HT控制器模块;
上行HT Srctag管理模块,用于从HT2PCIE完成包拼接控制模块中回收HT请求序号,并提供可用的HT请求序号给PCIE2HT Non-post包生成模块;
PCIE2HT Non-post包生成模块,用于依据上行HT Srctag管理模块提供的HT请求序号,将PCIe Non-post读包转换为HT Non-post读包,发送给HT控制器模块,并通知HT2PCIE完成包拼接控制模块记录包头信息。
9.如权利要求8所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
PCIE2HT响应包传输模块进一步用于使用下行HT Srctag管理模块存储的HT请求序号替换PCIe完成包中的PCIe请求序号,并通知PCIe Srctag管理模块记录PCIe完成包中的PCIe请求序号,将转换后的HT响应包传送给HT控制器模块。
10.如权利要求8所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
PCIE2HT Post包生成模块进一步用于按HT协议最大包长和边界对齐要求,将PCIe Post写包分拆为多个HT Post写包,发送至HT控制器模块。
11.如权利要求8所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
PCIE2HT Non-post包生成模块进一步用于按HT协议最大包长和边界对齐要求,将PCIe Non-post读包分拆为多个HT Non-post读包,发送至HT控制器模块;
HT Non-post读包所需的HT请求序号由上行HT Srctag管理模块提供。
12.如权利要求4所述的多个HT总线到单个PCIe总线的桥接装置,其特征在于,
所述PCIE树形交换模块进一步用于在仲裁时分别轮询各HT端口的相应输出缓冲区,读入PCIe包,转发给PCIe控制器模块相应的接收缓冲区;在分发时,对于Post完成包和Non-post包,从PCIE控制器模块对应缓冲区读入PCIe包,根据全局地址映射关系,判断高位地址所对应HT端口号,将该PCIe包分发给相应HT端口接收缓冲区;对于PCIe完成包,根据所述PCIe完成包的PCIe请求序号,确定目标HT端口号,完成分发。
13.一种多个HT总线到单个PCIe总线的桥接方法,其特征在于,
桥接装置包括多个连接HT总线的HT端口和一个连接PCIe总线的PCIe端口;
所述桥接装置均分PCIe请求序号,通过全局地址映射表和均分的请求序号实现HT端口和PCIe端口之间数据的传送;
所述全局地址映射表记录每个HT端口和PCIe端口所占用的地址范围;
所述均分PCIe请求序号为对于各HT端口,分配用于所述HT端口使用的PCIe请求序号数目相同,并且分配的PCIe请求序号不重叠。
14.如权利要求13所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
所述HT端口包括一个主HT端口和多个从HT端口;
主HT端口相连的处理器使用PCIe设备并配置全局地址映射表中PCIe端口对应的地址空间和主HT端口对应的地址空间;从HT端口相连的处理器使用PCIe设备并配置全局地址映射表中从HT端口对应的地址空间;
PCIe端口连接PCIe总线的根设备。
15.如权利要求14所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
所述桥接装置包括HT控制器模块,
所述HT控制器模块分为主HT控制器模块和从HT控制器模块,
主HT控制器模块同主HT端口连接,用于实现HT终端设备功能;
从HT控制器模块同从HT端口连接,用于实现HT终端设备功能。
16.如权利要求13所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
所述桥接装置包括HT控制器模块、PCIe控制器模块、HT2PCIE转换模块、PCIE2HT转换模块、PCIE树形交换模块、以及存储所述全局地址映射表的全局地址映射表模块;每个HT控制器模块连接对应的HT2PCIE转换模块和PCIE2HT转换模块;
所述方法进一步为,
步骤1,HT控制器模块从所述HT端口接收数据包,将数据包发送给HT2PCIE转换模块;HT2PCIE转换模块从HT控制器模块接收数据包,在接收的数据包为需要请求序号的请求时,从为连接的HT端口分配的PCIe请求序号中为所述请求分配PCIe请求序号,存储所述请求的HT请求序号,在PCIE2HT转换模块接收的数据包为Non-post请求时,从PCIE2HT转换模块获得并记录Non-post请求的包含PCIe请求序号的包头参数;然后完成所述数据包从HT协议到PCIe协议的转换,将转换后的数据包发送给PCIE树形交换模块;PCIE树形交换模块将多个HT端口转换后的PCIe格式数据包进行仲裁,发送给PCIe控制器模块;PCIe控制器模块将接收的数据包发送到PCIe总线;
步骤2,PCIe控制器模块将接收的数据包发送到PCIE树形交换模块;PCIE树形交换模块依据全局地址映射表将接收的PCIe控制器模块发送的数据包转发给对应HT端口的PCIE2HT转换模块;PCIE2HT转换模块从PCIE树形交换模块接收数据包,在接收的数据包为请求响应时,读取所述数据包的PCIe请求序号对应的HT请求序号,在接收的数据包为需要请求序号的请求时,为所述请求分配HT请求序号,通知HT2PCIE转换模块记录包头信息;然后完成所述数据包从PCIe协议到HT协议的转换,将转换后的数据包发送给所述HT控制器模块;HT控制器模块将接收的由PCIE2HT转换模块发送的数据包从连接的HT端口发送到HT总线。
17.如权利要求16所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
HT2PCIE转换模块进一步包括HT2PCIE完成包拼接存储模块、HT2PCIE完成包拼接控制模块、HT2PCIE完成包传输模块、HT2PCIE Post包生成模块、下行HT Srctag管理模块、PCIe Srctag管理模块、以及HT2PCIE Non-post包生成模块,
所述步骤1中HT控制器模块接收到请求响应包时,HT2PCIE完成包拼接存储模块依据HT2PCIE完成包拼接控制模块记录的请求响应对应的请求的信息将请求响应的数据包拼合为一个完整的PCIe完成包的数据;HT2PCIE完成包传输模块从HT2PCIE完成包拼接存储模块中读取PCIe完成包的数据,从HT2PCIE完成包拼接控制模块中读取PCIe完成包头,生成PCIe完成数据包,发送给PCIE树形交换模块;
所述步骤1中HT控制器模块接收到HT Post包时,HT2PCIE Post包生成模块将接收的HT总线的Post写请求转换为PCIe总线的Post写请求,并将PCIe总线的Post写请求发送给PCIE树形交换模块;
所述步骤1中HT控制器模块接收到HT Non-Post包时,下行HT Srctag管理模块存储HT Non-post读或写请求携带的HT请求序号;PCIe Srctag管理模块分配需要的PCIe请求序号;HT2PCIE Non-post包生成模块依据分配的PCIe请求序号,将HT Non-post读或写请求转换为PCIe Non-post读或写请求,发送给PCIE树形交换模块;
所述步骤2中在接收的数据包为请求响应时,PCIe Srctag管理模块回收使用完的PCIe请求序号。
18.如权利要求17所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
PCIE2HT转换模块进一步包括PCIE2HT响应包传输模块,PCIE2HT Post包生成模块,上行HT Srctag管理模块,以及PCIE2HT Non-post包生成模块,
所述步骤2中接收到PCIe完成包时,PCIE2HT响应包传输模块将PCIe完成包转换为HT请求响应包,发送给HT控制器模块;
所述步骤2中接收到PCIe Post包时,PCIE2HT Post包生成模块将PCIePost写包转换为HT Post写包,发送给HT控制器模块;
所述步骤2中接收到PCIe Non-post包时,PCIE2HT Non-post包生成模块依据上行HT Srctag管理模块提供的HT请求序号,将PCIe Non-post读包转换为HT Non-post读包,发送给HT控制器模块,并通知HT2PCIE完成包拼接控制模块记录包头信息;
所述步骤1中接收到请求响应包时,上行HT Srctag管理模块从HT2PCIE完成包拼接控制模块中回收HT请求序号。
19.如权利要求18所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
所述步骤2中接收到PCIe完成包时,PCIE2HT响应包传输模块进一步使用下行HT Srctag管理模块存储的HT请求序号替换PCIe完成包中的PCIe请求序号,并通知PCIe Srctag管理模块记录PCIe完成包中的PCIe请求序号,将转换后的HT响应包传送给HT控制器模块。
20.如权利要求18所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
所述步骤2中接收到PCIe Post包时,PCIE2HT Post包生成模块进一步按HT协议最大包长和边界对齐要求,将PCIe Post写包分拆为多个HT Post写包,发送至HT控制器模块。
21.如权利要求18所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
所述步骤2中接收到PCIe Non-post包时,PCIE2HT Non-post包生成模块进一步按HT协议最大包长和边界对齐要求,将PCIe Non-post读包分拆为多个HT Non-post读包,发送至HT控制器模块;
HT Non-post读包所需的HT请求序号由上行HT Srctag管理模块提供。
22.如权利要求16所述的多个HT总线到单个PCIe总线的桥接方法,其特征在于,
所述步骤1中,PCIE树形交换模块进一步分别轮询各HT端口的相应输出缓冲区,读入PCIe包,转发给PCIe控制器模块相应的接收缓冲区;
所述步骤2中,PCIE树形交换模块进一步对于PCIe Post完成包和PCIeNon-post包,从PCIE控制器模块对应缓冲区读入PCIe包,根据全局地址映射关系,判断高位地址所对应HT端口号,将该PCIe包分发给相应HT端口接收缓冲区;对于PCIe完成包,根据所述PCIe完成包的PCIe请求序号,确定目标HT端口号,完成分发。
CN2010102307143A 2010-07-13 2010-07-13 多个HT总线到单个PCIe总线的桥接装置及其方法 Active CN101882126B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102307143A CN101882126B (zh) 2010-07-13 2010-07-13 多个HT总线到单个PCIe总线的桥接装置及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102307143A CN101882126B (zh) 2010-07-13 2010-07-13 多个HT总线到单个PCIe总线的桥接装置及其方法

Publications (2)

Publication Number Publication Date
CN101882126A true CN101882126A (zh) 2010-11-10
CN101882126B CN101882126B (zh) 2012-01-04

Family

ID=43054142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102307143A Active CN101882126B (zh) 2010-07-13 2010-07-13 多个HT总线到单个PCIe总线的桥接装置及其方法

Country Status (1)

Country Link
CN (1) CN101882126B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571609A (zh) * 2012-03-01 2012-07-11 重庆中天重邮通信技术有限公司 快速串行接口pci-e协议数据完成包的重组排序方法
CN102739490A (zh) * 2012-06-26 2012-10-17 国电南瑞科技股份有限公司 一种基于PCIe总线的多路同步以太网扩展系统
CN102870381A (zh) * 2012-06-29 2013-01-09 华为技术有限公司 一种pcie交换系统、装置及交换方法
CN103049240A (zh) * 2011-10-13 2013-04-17 北京同步科技有限公司 Pci-e设备及其接收数据重排序方法
CN103092797A (zh) * 2012-12-13 2013-05-08 中国航空无线电电子研究所 离散量接口同步控制装置、离散量采集及输出控制方法
CN103970687A (zh) * 2013-02-05 2014-08-06 中兴通讯股份有限公司 一种访问地址处理系统及方法
CN105721338A (zh) * 2016-01-29 2016-06-29 浪潮(北京)电子信息产业有限公司 一种接收数据的处理方法及装置
CN107851078A (zh) * 2015-06-29 2018-03-27 华为技术有限公司 一种PCIe设备的聚合友好型地址分配的方法和系统
CN109426299A (zh) * 2017-09-04 2019-03-05 原相科技股份有限公司 传感器装置、方法及多传感器装置
CN113297117A (zh) * 2020-10-30 2021-08-24 阿里巴巴集团控股有限公司 数据传输方法、设备、网络系统及存储介质
CN114143276A (zh) * 2021-11-23 2022-03-04 青芯半导体科技(上海)有限公司 一种PCI-e交换机及其配置分支模式的方法
CN114185720A (zh) * 2022-02-17 2022-03-15 浪潮(山东)计算机科技有限公司 服务器动态热备份的方法、装置、设备及存储介质
TWI759772B (zh) * 2020-06-19 2022-04-01 英業達股份有限公司 快速周邊組件互連資料傳輸控制系統
CN115576889A (zh) * 2022-11-15 2023-01-06 南京芯驰半导体科技有限公司 链式的多芯片系统及通讯方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1832488A (zh) * 2006-04-13 2006-09-13 杭州华为三康技术有限公司 实现SPI4设备与PCI Express设备互连的系统及方法
CN1936873A (zh) * 2005-09-20 2007-03-28 中国科学院计算技术研究所 一种控制两种不同速度总线间数据传送的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936873A (zh) * 2005-09-20 2007-03-28 中国科学院计算技术研究所 一种控制两种不同速度总线间数据传送的方法
CN1832488A (zh) * 2006-04-13 2006-09-13 杭州华为三康技术有限公司 实现SPI4设备与PCI Express设备互连的系统及方法

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049240B (zh) * 2011-10-13 2016-03-02 北京同步科技有限公司 Pci-e设备及其接收数据重排序方法
CN103049240A (zh) * 2011-10-13 2013-04-17 北京同步科技有限公司 Pci-e设备及其接收数据重排序方法
CN102571609B (zh) * 2012-03-01 2018-04-17 重庆中天重邮通信技术有限公司 快速串行接口pci‑e协议数据完成包的重组排序方法
CN102571609A (zh) * 2012-03-01 2012-07-11 重庆中天重邮通信技术有限公司 快速串行接口pci-e协议数据完成包的重组排序方法
CN102739490A (zh) * 2012-06-26 2012-10-17 国电南瑞科技股份有限公司 一种基于PCIe总线的多路同步以太网扩展系统
CN102870381A (zh) * 2012-06-29 2013-01-09 华为技术有限公司 一种pcie交换系统、装置及交换方法
WO2014000271A1 (zh) * 2012-06-29 2014-01-03 华为技术有限公司 一种pcie交换系统、装置及交换方法
CN102870381B (zh) * 2012-06-29 2015-09-09 华为技术有限公司 一种pcie交换系统、装置及交换方法
CN103092797A (zh) * 2012-12-13 2013-05-08 中国航空无线电电子研究所 离散量接口同步控制装置、离散量采集及输出控制方法
CN103092797B (zh) * 2012-12-13 2016-02-03 中国航空无线电电子研究所 离散量接口同步控制装置、离散量采集及输出控制方法
CN103970687B (zh) * 2013-02-05 2017-11-10 中兴通讯股份有限公司 一种访问地址处理系统及方法
CN103970687A (zh) * 2013-02-05 2014-08-06 中兴通讯股份有限公司 一种访问地址处理系统及方法
WO2014121639A1 (zh) * 2013-02-05 2014-08-14 中兴通讯股份有限公司 一种访问地址处理系统、方法及计算机存储介质
CN107851078B (zh) * 2015-06-29 2021-05-11 华为技术有限公司 一种PCIe设备的聚合友好型地址分配的方法和系统
CN107851078A (zh) * 2015-06-29 2018-03-27 华为技术有限公司 一种PCIe设备的聚合友好型地址分配的方法和系统
CN105721338B (zh) * 2016-01-29 2019-08-02 浪潮(北京)电子信息产业有限公司 一种接收数据的处理方法及装置
CN105721338A (zh) * 2016-01-29 2016-06-29 浪潮(北京)电子信息产业有限公司 一种接收数据的处理方法及装置
CN109426299A (zh) * 2017-09-04 2019-03-05 原相科技股份有限公司 传感器装置、方法及多传感器装置
CN109426299B (zh) * 2017-09-04 2021-12-03 原相科技股份有限公司 传感器装置及其方法
TWI759772B (zh) * 2020-06-19 2022-04-01 英業達股份有限公司 快速周邊組件互連資料傳輸控制系統
CN113297117A (zh) * 2020-10-30 2021-08-24 阿里巴巴集团控股有限公司 数据传输方法、设备、网络系统及存储介质
WO2022089352A1 (zh) * 2020-10-30 2022-05-05 阿里巴巴集团控股有限公司 数据传输方法、设备、网络系统及存储介质
CN113297117B (zh) * 2020-10-30 2024-02-27 阿里巴巴集团控股有限公司 数据传输方法、设备、网络系统及存储介质
CN114143276A (zh) * 2021-11-23 2022-03-04 青芯半导体科技(上海)有限公司 一种PCI-e交换机及其配置分支模式的方法
CN114185720A (zh) * 2022-02-17 2022-03-15 浪潮(山东)计算机科技有限公司 服务器动态热备份的方法、装置、设备及存储介质
CN115576889A (zh) * 2022-11-15 2023-01-06 南京芯驰半导体科技有限公司 链式的多芯片系统及通讯方法

Also Published As

Publication number Publication date
CN101882126B (zh) 2012-01-04

Similar Documents

Publication Publication Date Title
CN101882126B (zh) 多个HT总线到单个PCIe总线的桥接装置及其方法
CN111092773B (zh) 一种支持虚拟交换的pcie交换芯片端口配置系统和方法
EP3273358B1 (en) System and method for extended pci express fabrics
JP3641675B2 (ja) 分割バッファアーキテクチュア
US6622193B1 (en) Method and apparatus for synchronizing interrupts in a message passing queue oriented bus system
US7865654B2 (en) Programmable bridge header structures
US11954055B2 (en) Mapping high-speed, point-to-point interface channels to packet virtual channels
CN110083461B (zh) 一种基于fpga的多任务处理系统及方法
US20040151170A1 (en) Management of received data within host device using linked lists
US7240141B2 (en) Programmable inter-virtual channel and intra-virtual channel instructions issuing rules for an I/O bus of a system-on-a-chip processor
US20130151750A1 (en) Multi-root input output virtualization aware switch
KR101003102B1 (ko) 멀티 프로세싱 유닛에 대한 메모리 매핑방법, 및 장치
WO2002041155A2 (en) Method and apparatus for implementing pci dma speculative prefetching in a message passing queue oriented bus system
CN103117929A (zh) 一种基于PCIe数据交换的通信方法及系统
US10698849B2 (en) Methods and apparatus for augmented bus numbering
CN108984465A (zh) 一种消息传输方法及设备
US10942878B1 (en) Chunking for burst read transactions
US11789885B2 (en) Ordered delivery of data packets based on type of path information in each packet
CN105260332A (zh) 一种对cpld数据包进行有序存储的方法及系统
JP2014002545A (ja) データ転送装置、及びデータ転送方法
US11658922B2 (en) Optional path ordering in packet-based network
US20040151175A1 (en) Transparent data format within host device supporting differing transaction types
CN114661654A (zh) 访问处理装置和方法、处理设备、电子设备和存储介质
CN114238156A (zh) 处理系统以及操作处理系统的方法
CN112506824A (zh) 一种芯片和数据交互方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant