大数跨境

技术洞见 | UCIe链路初始化与相关参数解释

技术洞见 | UCIe链路初始化与相关参数解释 牛芯半导体
2025-10-31
2
导读:本文转载自CSDN论坛作者Hug Freedom.的博客,转载文章仅供学习和研究使用。

本文转载自CSDN论坛作者weixin_45260499的博客,转载文章仅供学习和研究使用。

可以把UCIe系统想象成一个“快递运输网络”,帮助理解Die-to-Die Adapter(D2D适配器)的作用:
1. 可靠数据传输:把数据比作“包裹”。D2D适配器就像快递中转站,会检查包裹有没有损坏(类似执行CRC计算,检查数据是否完整)。如果包裹损坏,就重新发送(Retry)。比如,PCIe或CXL协议的数据包裹经过时,适配器会确保它们完整无缺地传输,就像中转站确保快递完好送达。
2. 仲裁和复用(Arbitration and Muxing):假设“协议层”是不同的快递公司(如PCIe快递、CXL快递),都要使用同一条“运输道路”(物理链路)。D2D适配器这个中转站要决定哪个公司的包裹先运输、怎么分配道路资源,避免混乱。比如,当多个协议的数据同时要传输时,适配器会协调它们的顺序,确保高效利用链路。
3. 链路状态管理:如同中转站监控运输道路是否畅通(链路是否正常)。如果道路(链路)出问题,适配器会管理链路状态,比如重新初始化或切换到备用路径,保证整个运输网络(UCIe系统)稳定。
4. 协议和参数协商:D2D适配器像中转站的“调度员”,会和远程的中转站(远程链路伙伴)商量运输规则。比如,确定包裹大小(数据格式)、运输速度(传输速率)等参数,确保双方按一致的规则运行。
接口方面:
  • FDI(Flit - aware Die - to - Die interface):如同中转站和快递公司的“对接窗口”。协议层(快递公司)按规定把包裹(数据)交给适配器(中转站),适配器通过这个接口接收数据。
  • RDI(raw Die - to - Die interface):如同中转站和实际运输道路的 “连接口”。适配器把包裹(数据)放到物理层(道路)上运输。
最后,“UCIe允许两个协议栈复用同一物理链路”,就像同一条运输道路上,同时有PCIe快递和CXL快递的包裹在运输,由D2D适配器这个中转站统一调度,合理分配资源,实现成本和效率的平衡。这样,即使多个协议的数据共用一条链路,也能有序传输。

1. Stack Multiplexing
Multi_Protocol_Enable =1,两个协议栈复用同一物理链路。比如物理链路带宽是100单位,每个协议栈需要50单位,就可以共用。而且两个协议栈得是同协议同能力。适配器不能发连续同协议栈的Flit,比如协议栈0发一个 Flit,不能接着再发,得插NOP Flit。NOP Flit就像空包裹,头部标识是适配器,内容全0。接收方适配器不把NOP给协议层。协议层得能接收最大速度的连续相同Flit块,但不会收到连续Flit。
Enhanced Multi_Protocol_Enable=1,支持动态复用,协议栈可以同或不同,得共用Flit格式。适配器要告知接收方每个协议层能接受的最大带宽百分比。发送方得支持100%或降到50%。比如适配器说某协议栈最多50%,对方就不能发连续Flit,必要时插NOP。接收协议层得能按广告带宽接收。适配器得能让每个协议层独立用100%带宽,仲裁按每个Flit,若都用100%,得轮询仲裁。Flit头部有一位标识栈,链路状态消息有唯一码标识影响哪个栈。
2. Link Initialization
链路初始化有四个阶段,在主带传输协议Flit前完成。图中展示了流程。阶段0是芯片特定的,每个芯片独立进行,图中框大小不同表示时间不同。阶段1是边带初始化,阶段2是主带训练和修复。阶段3是适配器间参数交换,协商协议和Flit格式。
链路初始化阶段3是适配器初始化。阶段2完成后,适配器要确定本地能力,和远程伙伴交换参数。
  • 阶段2结束后,RDI状态机到Active。然后适配器要确定本地能力,比如物理层训练结果,是否需要Retry。如果能支持Retry,交换参数时要告诉对方。UCIe Retimers的适配器还要确定Retimer Receiver Buffer的 credits,每个credit对应256B主带数据存储。
  • 然后和远程伙伴交换参数,表格里的能力要协商,用边带消息传输,“advertised”就是对应位在消息里是1b。
下列表格是链路伙伴必须协商的能力。比如“Raw Format”,如果UCIe链路控制寄存器对应位是1b就宣传。还有“68B Flit Mode”等,每个能力都有描述和要求。这些规格(若启用)通过边带消息告知对方。表格中“advertised(宣传)”表示在{AdvCap.Adapter}边带消息中对应位设为1b。


假设场景


想象有两个快递中心(链路伙伴)要建立合作,共同完成货物(数据)的运输。在合作之前,它们需要确定一系列的运输规则和能力,就像UCIe链路在传输数据前要协商各种协议参数一样。


各参数解释


1. “Raw Format”
原理:这就好比是一种最基础的运输方式。如果UCIe链路控制寄存器里对应的位被设置为1b,软件或固件会根据系统的使用场景来决定是否启用它。如果不支持PCIe或CXL这两种“高级运输协议”,并且要采用“流式运输协议”,但又没有特定的扩展功能,也不支持流式数据单元格式能力,那么就必须使用这种基础运输方式。如果支持流式数据单元格式能力或者增强多协议能力,只有当打算使用这种基础运输方式时才会通告。
举例:假如两个快递中心不采用常见的“标准运输套餐”(PCIe或CXL协议),而是想用“流水式运输”(流式协议),但又没有特殊的运输工具(无特定扩展和流式数据单元格式能力),那就只能用最基础的“裸运”(Raw Format)方式,并且要告诉对方自己用的是这种方式。
2. “68B Flit Mode”
原理:这是一种特定的运输协议参数。如果快递中心的调度员(适配器)和运输团队(协议层)支持“CXL 68B数据单元运输模式”或者“PCIe非数据单元运输模式”,就必须告知对方。如果最终确定采用“PCIe非数据单元运输模式”,那么运输规则就按照“CXL.io 68B数据单元运输模式”的标准来。在支持并启用 “增强多协议能力”时,这是第一个运输套餐(Stack 0)要通告的运输协议。
举例:如果两个快递中心的调度和运输团队都掌握了“CXL 68B包裹运输模式” 或者“PCIe非包裹运输模式”,那就得告诉对方自己有这种运输能力。要是最后决定用“PCIe非包裹运输模式”,那就按照“CXL.io 68B包裹运输模式”的规则来包装和运输货物。当支持多种运输套餐同时运行时,这个运输模式就是第一个套餐要通告的。
3. “CXL 256B Flit Mode”
原理:同样是运输协议参数。当调度员和运输团队支持“CXL 256B数据单元运输模式”时,要告知对方。在支持增强多协议能力时,它是第一个运输套餐要通告的协议。
举例:若快递中心的调度和运输团队能够进行“CXL 256B大包裹运输模式”,就需要通告给合作的快递中心。在多套餐运输模式下,它属于第一个套餐的运输协议。
4. “PCIe Flit Mode”
原理:当调度员和运输团队支持“PCIe数据单元运输模式”时,必须通告。在支持增强多协议能力时,是第一个运输套餐要通告的协议。
举例:如果快递中心掌握了“PCIe包裹运输模式”,就要告诉对方。在多套餐运输中,它是第一个套餐的运输协议选项。
5. “Streaming”
原理:这是一种流式运输协议参数。如果调度员和运输团队支持以基础方式进行“流式运输”,或者支持流式数据单元格式能力且相关功能已启用,就需要通告。在支持增强多协议能力时,它是第一个运输套餐要通告的协议。而且,如果某个运输团队通告使用流式运输,就不能再通告使用PCIe或CXL协议。
举例:如果快递中心支持“流水式不间断运输”,无论是用最基础的方式,还是有特定的运输工具(流式数据单元格式能力),都要告诉对方。在多套餐运输中,它是第一个套餐的一种运输协议。但如果选择了这种流水式运输,就不能再同时使用“标准运输套餐”(PCIe或CXL协议)。
6. “Retry”
原理:如果调度员支持“重新运输”机制(即发现货物有问题可以重新运输),就必须通告。除了采用基础运输方式(Raw Format)外,如果调度员判断需要重新运输,但没有通告或协商这个机制,运输合作就无法正常进行。
举例:如果快递中心的调度员有能力在货物运输出错时安排重新运输,就需要告知对方。但如果采用的是最基础的“裸运”方式,对重新运输的要求可能没那么严格。要是在其他运输方式下,明明需要重新运输却没和对方说,那合作就进行不下去了。
7. “Multi_Protocol_Enable”
原理:只有当调度员连接到多个不同的运输小组(对应多个FDI实例和两组协议层),并且确定UCIe链路要采用多协议运输模式时,才需要通告。而且,当通告这个参数时,第一个和第二个运输小组(Stack0和Stack1)都必须处于启用状态。
举例:如果快递中心的调度员同时管理着多个不同的运输小组,并且决定采用多种运输协议同时运行的模式,就需要告诉对方。同时,这两个主要的运输小组都得准备好工作。
8. “Stack0_Enable” 和 “Stack1_Enable”
原理:如果第一个运输小组(Stack 0)存在并且支持已通告的运输协议,就必须通告其启用状态;同理,第二个运输小组(Stack 1)也是如此。
举例:如果第一个快递运输小组存在并且能够按照已确定的运输协议进行工作,就需要告诉对方这个小组已准备好。第二个小组也是一样。
9. “CXL_LatOpt_Fmt5” 和 “CXL_LatOpt_Fmt6”
原理:这两个参数分别对应特定的运输格式。如果调度员和运输团队支持 “Section 3.3.4”中定义的格式5,就需要通告,但前提是要支持CXL协议和 “CXL 256B数据单元运输模式”;格式6同理,只是格式6的运输团队会利用额外的空间(备用字节)。
举例:如果快递中心的调度和运输团队掌握了某种特定的“CXL 256B包裹运输格式5”,并且支持CXL协议和这种运输模式,就需要通告给对方。对于格式6也是如此,只是格式6的运输方式会利用包裹里额外的空间来装更多东西。
10. “Retimer”
原理:如果一个快递中转站(UCIe Retimer)的调度员正在和包裹处理中心(UCIe Die)协商运输参数,就需要通告这个信息。
举例:当一个快递中转站的调度员和包裹处理中心沟通运输规则时,要告诉对方自己是中转站。
11. “Retimer_Credits”
原理:这是一个9位的数值,用于通告中转站的接收缓冲区能容纳多少货物。每个“信用点”对256B的数据量。只有当“Retimer”参数被设置为1b(即表明是中转站)时,这个参数才有效。
举例:如果快递中转站表明自己的身份后,就需要告诉对方自己的仓库能容纳多少个256B大小的包裹。
12. “DP” 和 “UP”
原理:“DP”由下游运输点设置,用于告知对方自己是下游点,方便中转站识别连接的是否是下游快递中心;“UP”由上游运输点设置,用于告知对方自己是上游点。目前这两个参数主要适用于PCIe和CXL协议,但流式运输协议也可以使用。在支持增强多协议能力时,如果任何一个运输小组采用PCIe或 CXL协议,这两个参数就适用。但如果表明是中转站(“Retimer”为1b),这两个参数要设置为0b。
举例:如果一个快递中心是货物运输的下游站点,就告诉对方自己是下游点,方便中转站知道自己的位置。上游站点也是如此。不过,如果是快递中转站,就不能使用这两个标记。
13. “68B Flit Format”
原理:满足以下两个条件之一就需要通告:一是支持并启用增强多协议能力,并且支持和启用“68B数据单元格式”;二是支持和启用流式协议的“68B数据单元格式”能力。否则,设置为0b。
举例:如果快递中心支持多种运输协议同时运行,并且掌握了“68B包裹格式”的运输方式,或者支持流式运输协议的“68B包裹格式”,就需要告诉对方。不然就说自己不采用这种格式。
14. “Standard 256B End Header Flit Format”
原理:满足以下两个条件之一就需要通告:一是支持并启用增强多协议能力,并且支持和启用“标准256B末尾头数据单元格式”;二是支持和启用流式协议的“标准256B末尾头数据单元格式”能力。否则,设置为0b。
举例:如果快递中心在多协议运输模式下支持“标准256B末尾头包裹格式”,或者支持流式运输协议的这种包裹格式,就通告给对方,不然就表示不采用。
15. “Standard 256B Start Header Flit Format”
原理:满足以下三个条件之一就需要通告:一是通告了“PCIe数据单元运输模式”,并且支持和启用PCIe协议的标准起始头能力;二是支持并启用增强多协议能力,并且支持和启用“标准256B起始头数据单元格式”;三是支持和启用流式协议的“标准256B起始头数据单元格式”能力。否则,设置为0b。
举例:如果快递中心采用“PCIe包裹运输模式”,并且支持PCIe协议的标准起始头包装方式,或者在多协议运输模式下支持“标准256B起始头包裹格式”,又或者支持流式运输协议的这种包裹格式,就需要通告给对方,不然就说不采用。
16 “Latency - Optimized 256B without Optional Bytes Flit Format”(无可选字节的延迟优化256B数据单元格式)
原理:这种格式就像一种固定规格的快递包裹,没有额外的空间(无可选字节)。如果满足以下两个条件之一,快递公司(适配器)就需要向合作方通告使用这种格式:快递公司支持并启用了“同时处理多种运输协议”(Enhanced Multi - Protocol capability,增强多协议能力),并且也支持和启用了这种“无额外空间的256B包裹格式”(Latency - Optimized 256B without Optional Bytes Flit Format)。对于“流式运输协议”(Streaming Protocol),支持和启用了这种“无额外空间的256B包裹格式”。如果不满足以上条件,就设置为0b(即不采用这种格式)。
举例:假设一家快递公司既能处理“快递A协议”,又能处理“快递B协议”(增强多协议能力),而且它有一批固定规格、没有额外空间的256B大包裹(无可选字节的延迟优化256B数据单元格式),这时就要告诉合作方自己有这种包裹可用。或者,如果是专门走“流水式运输”(流式运输协议)的公司,也有这种固定规格的大包裹,也要通告。如果没有这些情况,就表示自己不用这种包裹。
17. “Latency - Optimized 256B with Optional Bytes Flit Format”(有可选字节的延迟优化256B数据单元格式)
原理:这种格式如同带有额外空间(可选字节)的快递包裹。当满足以下三个条件之一时,快递公司需要通告使用这种格式:通告了使用“PCIe运输模式”(PCIe Flit Mode),并且支持和启用了“PCIe协议中带额外空间的延迟优化包裹格式”(Latency - Optimized Flit with Optional Bytes for PCIe protocol capability)。支持并启用了“同时处理多种运输协议”(Enhanced Multi - Protocol capability),并且支持和启用了这种 “带额外空间的256B包裹格式”(Latency - Optimized 256B with Optional Bytes Flit Format)。对于“流式运输协议”,支持和启用了这种 “带额外空间的256B包裹格式”。若不满足这些条件,就设置为0b(即不采用这种格式)。
举例:如果快递公司采用了“PCIe包裹运输模式”,而且这种模式下有带额外空间的256B大包裹(有可选字节的延迟优化256B数据单元格式),就要告诉合作方。或者,快递公司能同时处理多种运输协议,并且有这种带额外空间的大包裹,也要通告。又或者,走“流水式运输”的公司有这种带额外空间的大包裹,同样要通告。如果没有这些情况,就表示自己不用这种包裹。
18. “Enhanced Multi - Protocol_Enable”(增强多协议启用)
原理:只有当快递公司的调度员(适配器)连接到多个不同的运输小组(对应多个FDI实例和两组协议层),并且这两组运输小组可以使用不同的运输协议,但至少有一种共同的包裹格式(Flit Format)时,才通告启用“增强多协议”。而且,必须是支持并启用了“增强多协议能力”才通告,否则设置为0b。同时,当通告这个参数时,第一个运输小组(Stack0)和第二个运输小组(Stack1)都必须处于启用状态(即“Stack0_Enable”和“Stack1_Enable” 都为1b)。
举例:假设一家快递公司有两个运输小组,一个小组擅长“快递A协议”,另一个小组擅长“快递B协议”,但他们都能处理一种共同规格的包裹(至少一种共同Flit格式)。当快递公司确定要同时使用这两个小组的不同协议来运输货物(支持并启用增强多协议能力)时,才告诉合作方自己启用了“增强多协议”。并且,这两个小组都要准备好工作(Stack0和Stack1都启用)。如果不满足这些条件,就不启用这个参数。
19. “Stack 0 Maximum Bandwidth_Limit”(Stack0最大带宽限制)
原理:如果通告了“增强多协议启用”(Enhanced Multi_Protocol_Enable),并且第一个运输小组(Stack0协议的 Receiver)接收货物的能力被限制在最大带宽的50%,这时就要通告这个参数;否则,设置为0b(即不限制或不符合条件)。
举例:在启用“增强多协议”的情况下,快递公司发现第一个运输小组处理货物的速度最多只能达到最大运输能力(带宽)的50%,比如原本每小时能运100件货物,现在只能运50件,这时就要告诉合作方这个限制。如果没有这种限制或者不满足“增强多协议启用”的前提,就不通告。
20. “Stack 1 Maximum Bandwidth_Limit”(Stack1最大带宽限制)
原理:与“Stack 0 Maximum Bandwidth_Limit”类似,如果通告了“增强多协议启用”(Enhanced Multi_Protocol_Enable),并且第二个运输小组(Stack1协议的Receiver)接收货物的能力被限制在最大带宽的50%,就要通告这个参数;否则,设置为0b。
举例:同样在启用“增强多协议”的情况下,若第二个运输小组处理货物的速度最多只能达到最大运输能力的50%,比如每小时能运100件货物,现在只能运50件,就要告诉合作方这个限制。如果没有这种限制或者不满足“增强多协议启用”的前提,就不通告。

往期推荐

01

牛芯基于UB协议,以IP筑牢生态根基

▲ 点击阅读

02

牛芯半导体亮相ICDIA 2025展会,斩获“2025中国创新IC-强芯评选”生态贡献奖

▲ 点击阅读

03

牛芯半导体成功入围2024年度深圳高成长企业TOP100

▲ 点击阅读


牛芯半导体(深圳)有限公司(简称“牛芯半导体”)成立于2020年,聚焦提供IP授权与定制、IP代理服务、依托IP技术为客户提供芯片整体解决方案及芯片设计服务。


牛芯半导体在主流先进工艺布局SerDes、DDR等高中端接口IP,产品广泛应用于人工智能、消费电子、网络通信、数据存储、汽车电子、医疗电子等领域。


未来,牛芯半导体持续响应IP市场需求,适应不断演进的接口技术和日益拓展的接口互联场景,赋能数智时代下的千行百业。


【声明】内容源于网络
0
0
牛芯半导体
牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
内容 0
粉丝 0
牛芯半导体 牛芯半导体,专注于高速互联技术的研发和持续创新,拥有完全自主可控的知识产权,提供全栈式接口IP授权和高速互联芯片的定制方案,赋能芯片国产化;已服务客户超百家,涵盖智能驾驶、人工智能、特种计算等领域,致力成为全球领先的高速互联半导体公司。
总阅读0
粉丝0
内容0