Arm和新思科技继续就AMBA协议系列的最新扩展密切合作

描述

 

Arm最近发布了AMBA CHI C2C(芯片到芯片)规范。这是AMBA CHI架构在(小)芯片到(小)芯片层面的扩展,称为“AMBA CHI C2C协议”。本文将深入探讨AMBA CHI C2C协议的细节,并介绍新思科技为满足行业需求而量身打造的相关验证解决方案。

AMBA CHI C2C协议还可扩展到即将发布的AMBA CHI标准的重大修订版本,而不仅仅是针对CHI Issue F(CHI-F)。

CHI C2C协议支持使用CHI协议构建包含多个CPU、加速器或其他器件芯片或小芯片的系统。

 

CHI C2C协议的主要用例

CHI C2C协议涵盖的两个主要用例如下:

多芯片对称多处理器(SMP)拓扑结构:将少量功能相似的芯片紧密相连。通常情况下,每个芯片都是一个SoC,带有多个处理内核和附加内存,芯片上的所有处理内核一致地共享其中的附加内存。

多芯片相干加速器连接拓扑结构:一个或多个全相干或I/O相干加速器与主机芯片连接。

AMBA协议

 

CHI C2C概念图

下面的概念图说明了两个小芯片通过UCIe连接的情况。每个小芯片都展示了从片上CHI到相应CHI C2C层的逻辑流,在功能上遵循UCIe串流协议层标准。C2C接口(如AMBA CXS)在串流协议层和UCIe传输层之间建立连接。

AMBA协议

片上CHI接口与消息经过的芯片引脚之间的功能逻辑由多个功能层组成。可选用新思科技验证IP组件来构建下文提到的每一层,具体可根据目标DUT和所需的验证拓扑结构灵活调整。例如:新思科技的验证IP可以搭建“小芯片0”的UCIe串流协议层、C2C I/F TxRx、UCIe传输层。而“小芯片0”上的片上CHI逻辑和整个“小芯片1”则可以使用DUT组件来构建。

CHI C2C协议层

— 从片上CHI逻辑接收CHI FLIT,将它们转化为适当的传出C2C消息,并将这些C2C消息发送到C2C分组层。

— 接收来自C2C分组层的传入C2C消息,随后将其转换为CHI FLIT,并将这些CHI FLIT传输到片上CHI逻辑。

— 对于每个片上信道,都存在一个相应的C2C消息类,即REQ、RSP、DAT、SNP。此外,还有一个杂项C2C消息类,用于管理C2C协议的其他方面,如初始化、流量控制、属性交换等。

CHI C2C分组层

— 接受来自C2C协议层的传出C2C消息,将其封装为固定大小的出站容器,并通过C2C接口将这些容器发送到链路层。

— 通过C2C接口接收来自链路层的固定大小传入容器,从中提取C2C消息,并将这些C2C消息传输到C2C协议层。

C2C接口

— 在本文中,链路层和物理层合称为“传输层”。当传输层可用时,它会在CHI C2C层和传输的链路层之间建立连接。

— 在基于Arm的系统中,常用的C2C接口是AMBA CXS接口。

— 在没有传输层的情况下,它将本地CHI C2C层连接到远程C2C组件的C2C层。

传输层:链路层和物理层

— 链路层负责以FLIT粒度传输消息,确保数据完整性和错误检测,并通过重试机制促进恢复。物理层负责确保两个互连芯片或小芯片之间形成可靠的电气连接。

— 小芯片到小芯片之间指定采用UCIe传输数据。

— 而芯片到芯片或路到路之间则指定采用CXL来传输。

有传输层时,C2C分组层可根据具体的传输层,为打包和解包C2C消息提供两种容器格式:

格式X:与UCIe传输一起用于小芯片到小芯片拓扑结构,与UCIe 256B延迟优化模式兼容,提供可选字节。

格式Y:与CXL传输一起用于芯片到芯片拓扑结构,与CXL 256B延迟优化FLIT格式兼容。

 

C2C协议初始化

在下图中,两个小芯片通过UCIe在系统级封装(SiP)内相互连接。该图说明了C2C协议的初始化流程,其中以AMBA CXS作为C2C接口。 

AMBA协议

 

C2C接口初始化

必须进行C2C接口初始化,才能发送和接收C2C协议消息。其中包括:

与链路层协调,以启动C2C接口,并检查远程链路伙伴C2C协议层是否启动。

使用适当的C2C消息来交换接口属性,设置接口以开始交换消息信用,然后交换协议消息。 

 

C2C流量控制

本地和远程C2C协议层采用信用交换机制来控制C2C消息流。这种机制对于本地发射器至关重要,它可以管理相关的远程接收器缓冲区大小,类似于片上CHI的每个信道信用机制。

C2C协议还引入了“资源平面(Resource Plane,RP)”的概念,以进一步对消息类中的消息进行分类。每个RP都被分配了一个独立的消息类信用池,允许继续推进来自一个RP的消息,而来自另一个RP的消息则可能无法推进。这种方法有助于满足系统对服务质量(QoS)的要求,类似于PCIe协议中的TC-VC映射。

接口初始化完成后,在发送任何协议消息之前,必须双向交换每个逻辑链路的接口属性。这些属性包括:

片上CHI有效载荷字段的存在性/宽度,例如:MEC_Support_Rx、MEC_Support_Tx、RSVDC_REQ_Rx、RSVDC_REQ_Tx

片上CHI操作码/流,例如:RME_Support_Rx、RME_Support_Tx

针对C2C,例如:Container_Format、NUM_RP_REQ_Rx、NUM_RP_REQ_Tx

 

其他主要功能

C2C协议提供硬件流量来管理接口的连接状态,从而管理以下消息流的链路:全相干消息、DVM消息、所有协议消息。

RME-DA、RME-CDA:在多芯片相干加速器连接配置中,I/O相干和全相干器件加速器连接到主机。RME-DA、RME-CDA是Realm管理扩展(RME)架构的一部分,可用于安全分配此类可分配的器件接口。此功能与即将发布的CHI协议版本相一致,可支持基于CHI接口的加速器。

通过C2C接口来支持片上CHI DVM事务,借助经优化的信息流来减少C2C消息的数量。

 

总结

Arm和新思科技继续就AMBA协议系列的最新扩展密切合作,以确保双方的共同客户能够从使用AMBA CHI C2C协议中获益,同时确保小芯片和Multi-Die设计符合协议标准。

新思科技针对基于CHI主机的SMP拓扑结构和CHI主机到CXL高速缓存/内存器件的拓扑结构开发了多款AMBA验证IP及多芯片验证解决方案,帮助多位HPC和数据中心客户顺利完成了流片。

 

审核编辑:刘清
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分