CN114416636A - 一种pcie设备链路速率匹配方法、片上系统和计算机设备 - Google Patents

一种pcie设备链路速率匹配方法、片上系统和计算机设备 Download PDF

Info

Publication number
CN114416636A
CN114416636A CN202111556414.9A CN202111556414A CN114416636A CN 114416636 A CN114416636 A CN 114416636A CN 202111556414 A CN202111556414 A CN 202111556414A CN 114416636 A CN114416636 A CN 114416636A
Authority
CN
China
Prior art keywords
pcie
value
link rate
rate
target
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.)
Pending
Application number
CN202111556414.9A
Other languages
English (en)
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.)
Phytium Technology Co Ltd
Original Assignee
Phytium Technology Co Ltd
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 Phytium Technology Co Ltd filed Critical Phytium Technology Co Ltd
Priority to CN202111556414.9A priority Critical patent/CN114416636A/zh
Publication of CN114416636A publication Critical patent/CN114416636A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种PCIE设备链路速率匹配方法,应用于集成了至少两个PCIE控制器的片上系统,每个PCIE控制器均连接有对应的寄存器,具体步骤包括:获取目标均衡值,分别对每个寄存器写入对应的目标均衡值并进行链路初始化,从而调整外设和片上系统通信时的链路速率,同时公开了一种片上系统,包括至少两个PCIE控制器以及与PCIE控制器一一对应的寄存器,还包括管理器,用于获取每个PCIE控制器的均衡值,分别对每个寄存器写入对应的均衡值并进行链路初始化,训练得到每个PCIE控制器的目标均衡值,使得外设和片上系统通信时达到目标速率。本发明可以避免使用默认均衡值初始化PCIE链路带来的掉速问题,能够实现PCIE设备链路速率动态均衡。

Description

一种PCIE设备链路速率匹配方法、片上系统和计算机设备
技术领域
本发明涉及芯片技术领域,尤其涉及一种PCIE设备链路速率匹配方法、片上系统和计算机设备。
背景技术
由于电子产品的传输速度不断提高,信号完整性的问题越来越严重,一方面由于链路通道走线距离较长,导致高速信号衰减过大,在接收端无法得到张开的眼图,另一方面,为了节约成本,电子产品普遍使用普通的FR4板材以及廉价的接插件,信号在经过多次连接和传输后衰竭严重。因此提出了均衡器(Equalization,EQ)技术,以补偿长链路时高速信号的衰减。
目前,对于PCIE设备,一般使用默认的均衡值初始化PCIE链路,补偿信号的传输通道对高速信号带来的损耗,以在接收端获得最好的信号质量。但是随着PCIE接口版本的进步,PCIE设备所支持的最大速率越来越大,因此使用默认的均衡值初始化PCIE链路之后,极有可能导致PCIE链路速率与PCIE设备所支持的最大速率不匹配,导致PCIE设备出现掉速的现象。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种PCIE设备链路速率匹配方法和芯片,可以避免使用默认均衡值初始化PCIE链路带来的掉速问题,能够实现PCIE设备链路速率动态均衡。
为解决上述技术问题,本发明提出的技术方案为:
一种PCIE设备链路速率匹配方法,所述方法应用于片上系统,所述片上系统集成了至少两个PCIE控制器,每个PCIE控制器均连接有对应的寄存器,所述片上系统与外设建立有通信连接;所述方法具体步骤包括:获取每个PCIE控制器的目标均衡值,将所述目标均衡值写入对应的寄存器,以调整所述片上系统与所述外设在通信时的链路速率。
进一步的,获取每个PCIE控制器的目标均衡值具体包括:对每个PCIE控制器的所有均衡值进行训练得到最优训练结果,并将最优训练结果对应的均衡值作为每个PCIE控制器的目标均衡值,基于所述目标均衡值,所述片上系统与所述外设在通信时的链路速率达到目标速率。
进一步的,所述方法还包括:
获取所述外设的设备信息,所述外设的设备信息指示了所述外设与所述片上系统支持的交互方式;
在所述外设与所述片上系统支持的交互方式为第一方式的情况下,执行获取每个PCIE控制器的目标均衡值,将所述目标均衡值写入对应的寄存器的步骤。
进一步的,所述方法还包括:
在所述外设与所述片上系统支持的交互方式为第二方式的情况下,将每个PCIE控制器的默认均衡值写入对应的寄存器,以设置所述片上系统与所述外设在通信时的链路速率。
进一步的,对每个PCIE控制器的所有均衡值进行训练得到最优训练结果具体包括以下步骤:
分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器,得到当前链路速率;
若当前链路速率小于所述目标速率,继续执行分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器的步骤,直到当前链路速率和所述目标速率相同,将当前链路速率对应的均衡值作为最优训练结果。
进一步的,对每个PCIE控制器的所有均衡值进行训练得到最优训练结果具体包括以下步骤:
获取至少两个预设的均衡值组合,所述均衡值组合包括与每个PCIE控制器一一对应的预设均衡值,依次将所述均衡值组合初始化PCIE控制器并写入寄存器,若得到和所述目标速率相同的链路速率,所述链路速率对应的均衡值为最优训练结果,停止将后续均衡值组合初始化PCIE控制器并写入寄存器;否则得到每个所述均衡值组合对应的链路速率后,选取最接近目标速率的链路速率对应的均衡值组合,作为目标均衡值组合,依次顺序或倒序改变目标均衡值组合中的预设均衡值,将修改后的均衡值组合初始化PCIE控制器并写入寄存器,直到链路速率和目标速率相同,将所述链路速率对应的均衡值作为最优训练结果。
进一步的,所述目标速率为预设的链路速率,或者为外设的配置空间数据中的速率信息。
本发明还提出一种片上系统,包括:
PCIE控制器,用于提供均衡值,所述PCIE控制器至少为两个;
寄存器,用于保存均衡值,所述寄存器和PCIE控制器一一对应,且与对应的PCIE控制器连接;
管理器,用于获取每个PCIE控制器的均衡值,并进行训练得到最优训练结果,将最优训练结果对应的每个PCIE控制器的目标均衡值写入对应的寄存器,使得片上系统与外设在通信时的链路速率为目标速率。
进一步的,所述管理器还用于:
分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器,得到当前链路速率;
若当前链路速率小于所述目标速率,继续执行分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器的步骤,直到当前链路速率和所述目标速率相同,将当前链路速率对应的均衡值作为最优训练结果;
或者,
获取至少两个预设的均衡值组合,所述均衡值组合包括与每个PCIE控制器一一对应的预设均衡值,依次将所述均衡值组合初始化PCIE控制器并写入寄存器,若得到和所述目标速率相同的链路速率,所述链路速率对应的均衡值为最优训练结果,停止将后续均衡值组合初始化PCIE控制器并写入寄存器;否则得到每个所述均衡值组合对应的链路速率后,选取最接近目标速率的链路速率对应的均衡值组合,
依次顺序或倒序改变该均衡值组合中的预设均衡值,将修改后的均衡值组合初始化PCIE控制器并写入寄存器,直到链路速率和目标速率相同,将所述链路速率对应的均衡值作为最优训练结果。
本发明还提出一种计算机设备,所述计算机设备内设置有片上系统,所述片上系统集成了至少两个PCIE控制器,每个PCIE控制器均连接有对应的寄存器,所述片上系统与外设建立有通信连接;所述片上系统用于执行任一项所述的PCIE设备链路速率匹配方法。
与现有技术相比,本发明的优点在于:
本发明针对集成多个PCIE控制器的片上系统进行链路速率匹配,根据外设的设备信息来确定PCIE设备支持第一方式或者第二方式,对于支持第二方式的外设采用默认均衡值进行链路初始化,默认均衡值进行链路初始化后的链路速率对于支持第二方式的外设来说不存在掉速的情况。对于支持第一方式的外设,分别向每个寄存器写入PCIE控制器的目标均衡值,来调整外设和片上系统通信时的链路速率,对于每个PCIE控制器,通过训练得到一个比较好的目标均衡值的情况下,写入对应的寄存器并进行链路初始化就能达到目标速率,采用动态均衡的方式,使得链路初始化后的链路速率与支持第一方式的外设匹配,从而解决PCIE设备掉速的问题。
附图说明
图1为本发明实施例一中片上系统的结构示意图。
图2为本发明实施例一中的流程图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
相关术语介绍:
PCIE控制器:PCIE控制器按照PCIE的协议,用硬件电路实现规范定义的事物层、链路层和物理层中的一部分功能(如指示链路训练和状态的状态机(LTSSM)、通道间去除偏移、特殊序列检测和生成等功能);
PHY(物理)寄存器:PCIE的PHY(物理)寄存器主要有物理编码子层(PCS)和电气子层(Electrical)。物理编码子层(PCS)主要功能是8b/10b的编码和解码(实现内嵌时钟,DC平衡)、Rx检测等,属于数字部分,功能属于物理层的逻辑子层的一部分。不同的PCIe协议,编码方式也不同;而电气子层(Electrical)的核心是串行/解串行器(SerDes)。在发送端(TX),将并行数据转变为串行数据,然后以差分的形式发送到物理信道上;在接收端(RX),要将收到的串行差分信号变成并行数据,然后送到上一级的PCS层;
PCIE协议:PCI-Express(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,是一项不断发展和完善的技术,包括以下版本:
2003年,PCI-SIG推出了PCIe 1.0a,每通道数据速率为250MB/s,传输速率为每秒2.5gigatransfer(GT/s)。传输速率表示为每秒传输量,而不是每秒位数,因为传输量包括不提供额外吞吐量的开销位;PCIe 1.x使用8b/10b编码方案,导致占用了20%(=2/10)的原始信道带宽;
PCI-SIG于2007年1月15日宣布推出PCI Express Base 2.0规范。PCIe 2.0标准将PCIe 1.0至5GT/s的传输速率提高了一倍,每通道吞吐量从250MB/s上升到500MB/s。因此,32通道PCIe连接器(×32)可支持高达16GB/s的总吞吐量,PCIe 2.0使用8b/10b编码方案,因此每通道提供5GT/s原始数据速率的有效4Gbit/s最大传输速率;
PCI Express3.0将编码方案从之前的8b/10b编码升级到128b/130b,将带宽开销从PCI Express 2.0的20%降低到大约1.54%(=2/130)。这通过称为“加扰”的技术来实现,该技术将已知的二进制多项式应用于反馈拓扑中的数据流。因为加扰多项式是已知的,所以可以通过使用反多项式的反馈拓扑运行数据来恢复数据。PCI Express 3.0的8GT/s比特率有效地提供每通道985MB/s,实际上相对于PCI Express 2.0的通道带宽翻倍。
实施例一
本方案为了实现某些采用特定CPU的硬件平台与PCIE设备之间的交互,设计了一种片上系统,如图1所示,该片上系统集成了多个PCIE控制器,每个PCIE控制器均连接有对应的PHY(物理)寄存器,片上系统与外设建立有通信连接,在该片上系统中,每个PCIE控制器分别管理PCIE总线中的部分通道,可以并行初始化,从而有效的提高了PCIE链路初始化的效率。
进行PCIE链路初始化时,使用PCIE控制器提供的均衡值来初始化PCIE控制器,并均衡值写入到对应的PHY(物理)寄存器,从而改变片上系统与外设之间的链路速率,可以使得片上系统和外设以初始化后的链路速率进行通信,能够补偿片上系统和外设之间通信时信号的传输损耗。
针对该片上系统,本方案提出一种PCIE设备链路速率匹配方法,具体步骤包括:
S1.获取外设的设备信息,根据所述设备信息判断该外设与所述片上系统通信连接时支持的交互方式,交互方式为第一方式则执行下一步来调整片上系统与外设在通信时的链路速率,交互方式为第二方式则分别对每个PCIE控制器以默认均衡值进行初始化,并向对应的寄存器写入默认均衡值来设置片上系统与外设在通信时的链路速率;
S2.对每个PCIE控制器的所有均衡值进行训练得到最优训练结果,并将最优训练结果对应的均衡值作为每个PCIE控制器的目标均衡值,对每个PCIE控制器以目标均衡值进行初始化,并将目标均衡值写入到每个PCIE控制器所对应的寄存器,使得片上系统与外设在通信时的链路速率到目标速率。
在本方案中,外设可以为PCIE设备,第一方式可以为PCIE3.0协议,第二方式为可以PCIE1.0协议或者PCIE2.0协议,目标速率可以为PCIE3.0协议下的最大PCIE链路速率,该最大链路速率可以为预设的目标值,也可以是从外设的设备信息中或者为外设分配的配置空间中读取到的该外设所支持的最大PCIE链路速率,此处不作过多限制,可以结合具体场景灵活设置。
本方案针对集成多个PCIE控制器的片上系统进行PCIE设备链路速率匹配,根据所获取的PCIE设备的设备信息来确定PCIE设备是否支持PCIE3.0,对于不支持PCIE3.0的PCIE设备采用默认均衡值进行链路初始化,这是因为PCIE3.0设备相对于PCIE1.0设备、PCIE2.0设备来说,最大的特点在于传输速率的不同,默认均衡值进行链路初始化后的链路速率对于PCIE1.0设备、PCIE2.0设备来说不存在掉速的情况。对于支持PCIE3.0的PCIE设备,遍历所有均衡值,分别对每个PCIE控制器以均衡值进行初始化,并向每个寄存器写入所获取的PCIE控制器的均衡值,直到得到最大PCIE链路速率,本申请所描述的技术方案通过采用动态均衡的方式,使得链路初始化后的链路速率与支持PCIE3.0的PCIE设备匹配,从而解决PCIE3.0设备掉速的问题。
对于本方案而言,目标均衡值为最优训练结果所对应的均衡值,对每个PCIE控制器的所有均衡值进行训练得到最优训练结果可以采取以下遍历的方式:
分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器,得到当前链路速率;
若当前链路速率小于目标速率,继续执行分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器的步骤,直到当前链路速率和目标速率相同,将当前链路速率对应的均衡值作为最优训练结果。
如图2所示,基于本方案,本实施例的实现步骤包括:
步骤S101、BIOS启动;
步骤S102、获取插入的PCIE设备的设备信息(比如,该PCIE设备的设备信息可以包括设备的属性信息、标识信息),其中包括PCIE设备可支持的最大PCIE链路速率;
步骤S103、基于获取到的设备信息,判断PCIE设备是否支持PCIE3.0,若否,则执行步骤S104;若是,则执行步骤S105;
步骤S104、获取每个PCIE控制器的默认均衡值,分别对每个PCIE控制器以默认均衡值进行初始化,并将默认均衡值写入PHY(物理)寄存器,从而得到片上系统与外设之间的链路速率,结束并退出;
步骤S105、通过遍历的方式,每次分别从每个PCIE控制器的均衡值区间中选取一个均衡值来确定一个均衡值组合,对每个PCIE控制器以该均衡值组合进行初始化,并将该均衡值组合写入PHY(物理)寄存器,重复本步骤直到得到PCIE3.0支持的最大链路速率,将对应的均衡值组合作为目标均衡值组合;
步骤S106、对每个PCIE控制器以目标均衡值组合进行初始化,并将目标均衡值组合写入PHY(物理)寄存器,以进行链路初始化,使得片上系统与外设之间的链路速率为PCIE3.0支持的最大链路速率。
在实际应用中,对于本实施例的步骤S103,判断PCIE设备是否支持PCIE3.0可以具体包括:
若PCIE设备的设备信息中可支持的最大速率小于或等于5GT/s,则该PCIE设备不支持PCIE3.0,若PCIE设备的设备信息中可支持的最大速率大于5GT/s,则该PCIE设备支持PCIE3.0,这是因为虽然PCIE3.0可以提供8GT/s的数据传输速率,但是其作为理论值,目前部分PCIE设备可能由于对于数据稳定性的考量,其设备信息中可支持的最大PCIE链路速率会小于8GT/s,因此本实施例中将PCIE2.0的最大数据速率作为判断阈值。需要说明的是,此处阐述只是一种示例,不应构成限定。
对于本实施例的步骤S104,PCIE设备不支持PCIE3.0时直接用默认均衡值进行链路初始化是因为PCIE3.0设备相对于PCIE1.0设备、PCIE2.0设备来说,最大的特点在于传输速率的不同。PCIE1.0只能提供2.5GT/s的最大数据速率,PCIE2.0只能提供5GT/s的最大数据速率,而PCIE3.0可以提供8GT/s的数据传输速率,而对于小于或等于5GT/s的数据速率,用默认均衡值进行链路初始化后PCIE链路数据传输速率不会发生改变,因此对PCIE1.0设备、PCIE2.0设备来说,用默认均衡值进行链路初始化不会存在掉速情况。
下面结合具体实例阐述本申请是如何获取目标均衡值的,例如,芯片中集成了6个PCIE控制器,每个PCIE控制器的均衡值为0~9,步骤S105的过程可以描述为:
A1)从每个PCIE控制器中分别选取一个均衡值,得到当前均衡值组合,例如0-0-0-0-0-1;
A2)用当前均衡值组合中的每个均衡值分别初始化对应的PCIE控制器,并将当前均衡值组合中的每个均衡值分别写入对应的PHY(物理)寄存器,得到当前PCIE链路速率;
A3)若当前PCIE链路速率小于PCIE设备可支持的最大PCIE链路速率,返回步骤A1)直到当前PCIE链路速率为PCIE设备可支持的最大PCIE链路速率,若当前PCIE链路速率为PCIE设备可支持的最大PCIE链路速率,对应的当前均衡值组合0-0-0-0-0-1即为目标均衡值组合。
实施例二
对于本方案而言,为了节省遍历的时间,对每个PCIE控制器的所有均衡值进行训练得到最优训练结果还可以采取以下从粗遍历到精遍历的方式:
获取至少两个预设的均衡值组合,所述均衡值组合包括与每个PCIE控制器一一对应的预设均衡值,依次将所述均衡值组合初始化PCIE控制器并写入寄存器,若得到和目标速率相同的链路速率,所述链路速率对应的均衡值为最优训练结果,停止将后续均衡值组合初始化PCIE控制器并写入寄存器;
否则得到每个所述均衡值组合对应的链路速率后,选取最接近目标速率的链路速率对应的均衡值组合,依次顺序或倒序改变该均衡值组合中的预设均衡值,将修改后的均衡值组合初始化PCIE控制器并写入寄存器,直到链路速率和目标速率相同,将所述链路速率对应的均衡值作为最优训练结果。
基于本方案,本实施例的实现步骤包括:
步骤S101、BIOS启动;
步骤S102、获取插入的PCIE设备的设备信息(比如,该PCIE设备的设备信息可以包括设备的属性信息、标识信息),其中包括PCIE设备可支持的最大PCIE链路速率;
步骤S103、基于获取到的设备信息,判断PCIE设备是否支持PCIE3.0,若否,则执行步骤S104;若是,则执行步骤S105;
步骤S104、获取每个PCIE控制器的默认均衡值,分别对每个PCIE控制器以默认均衡值进行初始化,并将默认均衡值写入PHY(物理)寄存器,从而得到片上系统与外设之间的链路速率,结束并退出;
步骤S105、依次用预设的均衡值组合来初始化每个PCIE控制器,并将预设的均衡值组合写入PHY(物理)寄存器,若存在PCIE设备支持的最大链路速率,停止将后续的均衡值组合来初始化每个PCIE控制器并写入PHY(物理)寄存器的过程,将最大链路速率对应的均衡值组合作为目标均衡值组合;
若不存在PCIE设备支持的最大链路速率,选取最接近最大链路速率的PCIE链路速率对应的均衡值组合,并依次调整该均衡值组合中的预设均衡值,用调整后的均衡值组合来初始化每个PCIE控制器,并写入PHY(物理)寄存器,直到得到PCIE3.0支持的最大链路速率,将对应的均衡值组合作为目标均衡值组合;
步骤S106、对每个PCIE控制器以目标均衡值组合进行初始化,并将目标均衡值组合写入PHY(物理)寄存器,以进行链路初始化,使得片上系统与外设之间的链路速率为PCIE3.0支持的最大链路速率。
在实际应用中,对于本实施例的步骤S103,判断PCIE设备是否支持PCIE3.0可以具体包括:
若PCIE设备的设备信息中可支持的最大速率小于或等于5GT/s,则该PCIE设备不支持PCIE3.0,若PCIE设备的设备信息中可支持的最大速率大于5GT/s,则该PCIE设备支持PCIE3.0,这是因为虽然PCIE3.0可以提供8GT/s的数据传输速率,但是其作为理论值,目前部分PCIE设备可能由于对于数据稳定性的考量,其设备信息中可支持的最大PCIE链路速率会小于8GT/s,因此本实施例中将PCIE2.0的最大数据速率作为判断阈值。需要说明的是,此处阐述只是一种示例,不应构成限定。
对于本实施例的步骤S104,PCIE设备不支持PCIE3.0时直接用默认均衡值进行链路初始化是因为PCIE3.0设备相对于PCIE1.0设备、PCIE2.0设备来说,最大的特点在于传输速率的不同。PCIE1.0只能提供2.5GT/s的最大数据速率,PCIE2.0只能提供5GT/s的最大数据速率,而PCIE3.0可以提供8GT/s的数据传输速率,而对于小于或等于5GT/s的数据速率,用默认均衡值进行链路初始化后PCIE链路数据传输速率不会发生改变,因此对PCIE1.0设备、PCIE2.0设备来说,用默认均衡值进行链路初始化不会存在掉速情况。
下面结合具体实例阐述本申请是如何获取目标均衡值的,例如,芯片中集成了6个PCIE控制器,每个PCIE控制器的均衡值为0~9,步骤S105的过程可以描述为:
B1)获取至少两个预设的均衡值组合,依次用所述均衡值组合初始化每个PCIE控制器并将均衡值组合写入寄存器,即对于当前均衡值组合,用当前均衡值组合中的每个均衡值分别初始化对应的PCIE控制器,并写入对应的PHY(物理)寄存器,若得到的链路速率为PCIE设备支持的最大链路速率,将对应的均衡值组合作为目标均衡值组合并退出,否则继续用后续均衡值组合初始化每个PCIE控制器并写入寄存器,直到得到每个预设的均衡值组合对应的链路速率;
B2)选取最接近最大链路速率的链路速率对应的均衡值组合,依次顺序或倒序改变该均衡值组合中的预设均衡值后,用调整后的预设均衡值分别来初始化对应的PCIE控制器,并写入对应的PHY(物理)寄存器,直到得到最大链路速率,此时调整后的预设均衡值的均衡值组合为目标均衡值组合。
本实施例通过预设的均衡值组合进行粗遍历,并确定了精遍历的起始位置,从而节省了遍历的时间,本实施例中,若步骤B1)所有预设的均衡值组合进行链路初始化得到的PCIE链路速率均小于PCIE设备支持的最大链路速率,但是最接近PCIE设备支持的最大链路速率的链路速率对应的均衡值组合为0-0-0-9-9-9,步骤B2)的过程可以描述为:
B21)通过预设的步长顺序或倒序改变当前均衡值组合,得到待处理均衡值组合,本实施例中,均衡值组合的每一位作为计量单位,因此均衡值组合0-0-0-9-9-9对应数字999,若步长为1,且按照顺序改变,则下一数字为1000,对应的待处理均衡值组合为0-0-1-0-0-0;
B22)用待处理均衡值组合中的每个均衡值初始化对应的PCIE控制器,分别写入对应的PHY(物理)寄存器,并进行链路初始化,得到当前链路速率;
B23)若当前链路速率为PCIE设备支持的最大链路速率,则均衡值组合0-0-1-0-0-0为目标均衡值组合,结束并退出,若当前链路速率小于PCIE设备支持的最大链路速率,将待处理均衡值组合作为当前均衡值组合,返回步骤B21)直到当前链路速率为PCIE设备支持的最大链路速率,或者当前均衡值组合中每一位均衡值均达到阈值。
实施例三
本实施例根据实施例一以及实施例二提出一种片上系统,包括:
PCIE控制器,用于提供均衡值,所述PCIE控制器至少为两个;
PHY(物理)寄存器,用于保存均衡值,所述PHY(物理)寄存器和PCIE控制器一一对应,且与对应的PCIE控制器连接;
管理器,用于获取PCIE设备的设备信息,根据所述设备信息判断该PCIE设备是否支持PCIE3.0,若支持则获取每个PCIE控制器的均衡值,并进行训练得到最优训练结果,将最优结果对应的每个PCIE控制器的目标均衡值写入对应的寄存器,使得片上系统与外设在通信时的链路速率为目标速率,若不支持则分别对每个PHY(物理)寄存器写入默认均衡值。
本实施例中的管理器还用于:
从每个PCIE控制器中分别选取一个均衡值,得到当前均衡值组合;
将当前均衡值组合中的每个均衡值分别初始化对应的PCIE控制器并写入对应的PHY(物理)寄存器,得到当前PCIE链路速率;
若当前PCIE链路速率小于PCIE设备支持的最大链路速率,继续从每个PCIE控制器中分别选取一个均衡值,得到当前均衡值组合,将当前均衡值组合中的每个均衡值分别初始化对应的PCIE控制器并写入对应的PHY(物理)寄存器,直到当前PCIE链路速率为PCIE设备支持的最大链路速率,此时当前PCIE链路速率对应的均衡值为最优训练结果。
本实施例中的管理器还用于:
获取至少两个预设的均衡值组合,所述均衡值组合包括与每个PCIE控制器一一对应的预设均衡值,依次将每个均衡值组合中的预设均衡值初始化对应的PCIE控制器并写入对应的PHY(物理)寄存器,若所得到的链路速率和PCIE设备支持的最大链路速率相同,该链路速率对应的均衡值为最优训练结果,停止将后续均衡值组合中的预设均衡值初始化PCIE控制器并写入PHY(物理)寄存器;
否则继续将后续均衡值组合中的预设均衡值初始化PCIE控制器并写入PHY(物理)寄存器直到得到每个的均衡值组合对应的PCIE链路速率;
选取最接近PCIE设备支持的最大链路速率的PCIE链路速率对应的均衡值组合,依次顺序或倒序改变该均衡值组合中每个均衡值,将修改后的均衡值组合初始化PCIE控制器并写入寄存器,直到链路速率为PCIE设备支持的最大链路速率,将该链路速率对应的均衡值作为最优训练结果。
本实施例还提出一种计算机设备,所述计算机设备内设置有片上系统,所述片上系统集成了至少两个PCIE控制器,每个PCIE控制器均连接有对应的寄存器,所述片上系统与外设建立有通信连接;所述片上系统用于执行如实施例一或者实施例二中所述的PCIE设备链路速率匹配方法。
本领域技术人员可以理解,上述计算机装置的描述仅仅是示例,并不构成对计算机装置的限定,可以包括比上述描述更多或更少的部件,或者组合某些部件,或者不同的部件,例如可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机装置的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个基于模板标注的分布式爬虫方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信号以及软件分发介质等。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

Claims (10)

1.一种PCIE设备链路速率匹配方法,其特征在于,所述方法应用于片上系统,所述片上系统集成了至少两个PCIE控制器,每个PCIE控制器均连接有对应的寄存器,所述片上系统与外设建立有通信连接;所述方法具体步骤包括:
获取每个PCIE控制器的目标均衡值,将所述目标均衡值写入对应的寄存器,以调整所述片上系统与所述外设在通信时的链路速率。
2.根据权利要求1所述的PCIE设备链路速率匹配方法,其特征在于,获取每个PCIE控制器的目标均衡值具体包括:对每个PCIE控制器的所有均衡值进行训练得到最优训练结果,并将最优训练结果对应的均衡值作为每个PCIE控制器的目标均衡值,基于所述目标均衡值,所述片上系统与所述外设在通信时的链路速率达到目标速率。
3.根据权利要求1所述的PCIE设备链路速率匹配方法,其特征在于,所述方法还包括:
获取所述外设的设备信息,所述外设的设备信息指示了所述外设与所述片上系统支持的交互方式;
在所述外设与所述片上系统支持的交互方式为第一方式的情况下,执行获取每个PCIE控制器的目标均衡值,将所述目标均衡值写入对应的寄存器的步骤。
4.根据权利要求3所述的PCIE设备链路速率匹配方法,其特征在于,所述方法还包括:
在所述外设与所述片上系统支持的交互方式为第二方式的情况下,将每个PCIE控制器的默认均衡值写入对应的寄存器,以设置所述片上系统与所述外设在通信时的链路速率。
5.根据权利要求2所述的PCIE设备链路速率匹配方法,其特征在于,对每个PCIE控制器的所有均衡值进行训练得到最优训练结果具体包括以下步骤:
分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器,得到当前链路速率;
若当前链路速率小于所述目标速率,继续执行分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器的步骤,直到当前链路速率和所述目标速率相同,将当前链路速率对应的均衡值作为最优训练结果。
6.根据权利要求2所述的PCIE设备链路速率匹配方法,其特征在于,对每个PCIE控制器的所有均衡值进行训练得到最优训练结果具体包括以下步骤:
获取至少两个预设的均衡值组合,所述均衡值组合包括与每个PCIE控制器一一对应的预设均衡值,依次将所述均衡值组合初始化PCIE控制器并写入寄存器,若得到和所述目标速率相同的链路速率,所述链路速率对应的均衡值为最优训练结果,停止将后续均衡值组合初始化PCIE控制器并写入寄存器;否则得到每个所述均衡值组合对应的链路速率后,选取最接近目标速率的链路速率对应的均衡值组合,作为目标均衡值组合,依次顺序或倒序改变目标均衡值组合中的预设均衡值,将修改后的均衡值组合初始化PCIE控制器并写入寄存器,直到链路速率和目标速率相同,将所述链路速率对应的均衡值作为最优训练结果。
7.根据权利要求5或6所述的PCIE设备链路速率匹配方法,其特征在于,所述目标速率为预设的链路速率,或者为外设的配置空间数据中的速率信息。
8.一种片上系统,其特征在于,包括:
PCIE控制器,用于提供均衡值,所述PCIE控制器至少为两个;
寄存器,用于保存均衡值,所述寄存器和PCIE控制器一一对应,且与对应的PCIE控制器连接;
管理器,用于获取每个PCIE控制器的均衡值,并进行训练得到最优训练结果,将最优训练结果对应的每个PCIE控制器的目标均衡值写入对应的寄存器,使得片上系统与外设在通信时的链路速率为目标速率。
9.根据权利要求8所述的片上系统,其特征在于,所述管理器还用于:
分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器,得到当前链路速率;
若当前链路速率小于所述目标速率,继续执行分别从每个PCIE控制器的均衡值区间中选取一个均衡值,用被选取的均衡值初始化对应的PCIE控制器并写入对应的寄存器的步骤,直到当前链路速率和所述目标速率相同,将当前链路速率对应的均衡值作为最优训练结果;
或者,
获取至少两个预设的均衡值组合,所述均衡值组合包括与每个PCIE控制器一一对应的预设均衡值,依次将所述均衡值组合初始化PCIE控制器并写入寄存器,若得到和所述目标速率相同的链路速率,所述链路速率对应的均衡值为最优训练结果,停止将后续均衡值组合初始化PCIE控制器并写入寄存器;否则得到每个所述均衡值组合对应的链路速率后,选取最接近目标速率的链路速率对应的均衡值组合,
依次顺序或倒序改变该均衡值组合中的预设均衡值,将修改后的均衡值组合初始化PCIE控制器并写入寄存器,直到链路速率和目标速率相同,将所述链路速率对应的均衡值作为最优训练结果。
10.一种计算机设备,其特征在于,所述计算机设备内设置有片上系统,所述片上系统集成了至少两个PCIE控制器,每个PCIE控制器均连接有对应的寄存器,所述片上系统与外设建立有通信连接;所述片上系统用于执行如权利要求1-7任一项所述的PCIE设备链路速率匹配方法。
CN202111556414.9A 2021-12-17 2021-12-17 一种pcie设备链路速率匹配方法、片上系统和计算机设备 Pending CN114416636A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111556414.9A CN114416636A (zh) 2021-12-17 2021-12-17 一种pcie设备链路速率匹配方法、片上系统和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111556414.9A CN114416636A (zh) 2021-12-17 2021-12-17 一种pcie设备链路速率匹配方法、片上系统和计算机设备

Publications (1)

Publication Number Publication Date
CN114416636A true CN114416636A (zh) 2022-04-29

Family

ID=81267667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111556414.9A Pending CN114416636A (zh) 2021-12-17 2021-12-17 一种pcie设备链路速率匹配方法、片上系统和计算机设备

Country Status (1)

Country Link
CN (1) CN114416636A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878540A (zh) * 2023-01-19 2023-03-31 苏州浪潮智能科技有限公司 一种PCIe器件链路训练管理方法、管理装置及服务器
CN118012812A (zh) * 2024-04-10 2024-05-10 芯瞳半导体技术(山东)有限公司 Pcie链路训练方法、装置、电子设备及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885911A (zh) * 2012-12-20 2014-06-25 辉达公司 用于实施信道均衡训练的多道方法
US20180331864A1 (en) * 2017-05-12 2018-11-15 Intel Corporation Bypassing equalization at lower data rates
US20190034376A1 (en) * 2017-08-22 2019-01-31 Intel Corporation Serdes link training
CN112737713A (zh) * 2020-12-30 2021-04-30 海光信息技术股份有限公司 PCIe链路均衡系数自动调节方法及装置
CN113722265A (zh) * 2021-08-19 2021-11-30 飞腾信息技术有限公司 一种用于多cpu系统中互联通道的调试优化方法及装置
WO2021244065A1 (zh) * 2020-05-30 2021-12-09 华为技术有限公司 一种均衡训练方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885911A (zh) * 2012-12-20 2014-06-25 辉达公司 用于实施信道均衡训练的多道方法
US20180331864A1 (en) * 2017-05-12 2018-11-15 Intel Corporation Bypassing equalization at lower data rates
US20190034376A1 (en) * 2017-08-22 2019-01-31 Intel Corporation Serdes link training
WO2021244065A1 (zh) * 2020-05-30 2021-12-09 华为技术有限公司 一种均衡训练方法、装置及系统
CN112737713A (zh) * 2020-12-30 2021-04-30 海光信息技术股份有限公司 PCIe链路均衡系数自动调节方法及装置
CN113722265A (zh) * 2021-08-19 2021-11-30 飞腾信息技术有限公司 一种用于多cpu系统中互联通道的调试优化方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
PCI-SIG: "Express Base Specification Revision 4.0 Version 1.0", pages 253 - 254, Retrieved from the Internet <URL:https://download.csdn.net/download/xlxlyu/10126787> *
PCI-SIG: "PCI Express Base Specification Revision 4.0 Version 1.0", pages 253 - 254, Retrieved from the Internet <URL:https://download.csdn.net/download/xlxlyu/10126787> *
胡冰;: "PCI-E 3.0简介及信号和协议测试方法", vol. 25, no. 12 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115878540A (zh) * 2023-01-19 2023-03-31 苏州浪潮智能科技有限公司 一种PCIe器件链路训练管理方法、管理装置及服务器
CN118012812A (zh) * 2024-04-10 2024-05-10 芯瞳半导体技术(山东)有限公司 Pcie链路训练方法、装置、电子设备及计算机存储介质

Similar Documents

Publication Publication Date Title
CN114416636A (zh) 一种pcie设备链路速率匹配方法、片上系统和计算机设备
US10356504B2 (en) Low latency transmission systems and methods for long distances in soundwire systems
US6934785B2 (en) High speed interface with looped bus
JP5657242B2 (ja) 半導体装置及びメモリシステム
CN108920173B (zh) 一种配置均衡时间的方法、芯片和通信系统
US6452927B1 (en) Method and apparatus for providing a serial interface between an asynchronous transfer mode (ATM) layer and a physical (PHY) layer
US8190796B2 (en) Hardware supported peripheral component memory alignment method
WO2015195612A1 (en) Link layer to physical layer (phy) serial interface
CN108521430A (zh) 双协议复用芯片和双协议复用方法
AU2004221088A1 (en) Pre-empting low-priority traffic with high-priority traffic
WO2005055068A2 (en) Tracking progress of data streamer
US7694044B2 (en) Stream under-run/over-run recovery
CN107852423A (zh) 用于usb 2.0带宽保留的方法及系统
EP2006777A1 (en) Bus inverting code generating apparatus and method of generating bus inverting code using the same
US20060106955A1 (en) Method for dynamically adjusting the data transfer order of PCI express root ports
US20060242334A1 (en) Information processor and information processing method
US20160292125A1 (en) Methods and systems for implementing high speed serial interface bus having inhomogeneous lane bundles and encodings
US20190207744A1 (en) System, Apparatus And Method For Low Overhead Communication Encoding
JPH07500960A (ja) 二重周波数動作を有するデータ転送方法および装置
TW200535621A (en) Method and system for high speed usb data routing
TW202306365A (zh) 用於互連協定的訊框接收的資料處理的方法以及儲存裝置
CN106527597A (zh) 基于lpc4357处理器的显示终端
Ranjula et al. Implementation techniques for IEEE 802.3 ba 40Gbps Ethernet Physical Coding Sublayer (PCS)
CN108833945B (zh) 一种使用单通道dma同时传输多路ts流的方法及装置
JP2004056376A (ja) 半導体装置及びデータ転送制御方法

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