资讯动态

CMN-S3(一):关于 CMN

发布时间:2026/10/9 2:41:05 来源:尧图企业网站定制
1. 关于CMNCMN 是一款可扩展、可配置的一致性互连总线使用基于CHI协议的接口。旨在满足用于高端网络、企业计算和服务器级汽车应用的一致性mesh网络(Coherent Mesh Network)系统在功耗、性能和面积(PPA)方面的要求。CMN可扩展,可支持 1-256 个处理器计算簇。CMN 可使用 Arm® SocratesTM IP Tooling 平台进行配置。Socrates IP Tooling 平台是一个用于配置 Arm IP 的环境。使用Socrates IP Tooling 平台,可以配置以下 CMN 特性:• 自定义的互连规模和器件布局。• 可选的系统级缓存(System Level Cache,SLC)。CMN 支持 AMBA® CHI 架构规范。CMN 通过提供以下系统功能来实现系统级的协调统一:• 服务质量(Quality of Service,QoS)• 可靠性、可用性和可维护(Reliability, Availability, and Serviceability,RAS)• 调试与追踪(Debug and Trace,DT)CMN 与以下类型的 IP 兼容:• 动态内存控制器(Dynamic Memory Controller,DMC)• 通用中断控制器(Generic Interrupt Controller,GIC)• 内存管理单元(Memory Management Unit,MMU)• 诸如 CoreLinkTM NIC-450 Network Interconnect 之类的互连• Armv8.2、Armv8.4、Armv9.0 和 Armv9.2 处理器CMN 提供可选的一致性多芯片链路(Coherent Multichip Link,CML)特性。CML 符合以下规范:• 用于内存扩展和 Type 1 加速器的 CXL 2.0 和 CXL 3.0 标准• 同时支持 64B 和 256B flit 格式的 CML_SMP 连接• AMBA® CHI 芯片间(Chip-to-Chip,C2C)架构规范中规定的 C2C I/O 一致性支持CMN 由各种类型的协议节点和器件组成。包括RN-F,RN-I,RN-D,HN-F,HN-I,HN-S,HN-D,HN-V,HN-T,HN-V,HN-P,CCG,SBSX(CHI-ACE)1.2特性CMN 提供以下关键特性:• 高度可扩展的网格网络拓扑,最高可配置为 12×12 网格• 可自定义的网格规模和器件布局• 可编程的系统地址映射(System Address Map,SAM)• 最多 256 个 RN-F 接口,用于基于 CHI 的计算簇、加速器、图形处理单元或其他• 用于器件接口端口扩展的组件聚合层(Component Aggregation Layer,CAL)• 最多 64 个 SN 接口,使用CAL 时可达 128 个• 最多 90 个 RN-I,每个最多带 3 个 ACE5-Lite 端口,共计 270 个注可通过向系统添加更多层级的互连层次结构,可以支持更多器件。例如,可以使用 NIC-450添加更多层级的互连层次结构。• CMN 对每个方向支持单路或双路的 RSP、REQ、SNP 以及 256 位 DAT 通道配置。• (可选)支持非XY 路由算法。• 支持最大物理地址(Physical Address,PA)位宽为 52bit• requester 之间的 DVM 消息传输• 用于QoS动态调整流量。• 可配置的 QoS 覆盖(override),作用于发往特定内存区域的事务• 用于统计性能相关事件的性能监控单元(PerformanceMonitoring Unit,PMU)• 高性能的分布式 SLC 和 Snoop Filter(SF),最多支持 128 个 HN-F,缓存总大小为 0-512MB:◦ HN-F SLC 也称为敏捷系统缓(Agile System Cache),既可用于计算缓存,也可用于 I/O 缓存。◦ SF 的 tag RAM 最高可达 1024MB,由最多 128 个分区组成(每个HN-F1个分区),以提升一致性可扩展性。• 最多 48 种 HN-I 组合,包括 HN-T、HN-V、HN-P 和 HN-D,每种都带一个 ACE-Lite requester 端口• 一种称为 HN-P 的 HN-I,包含 PCIe 对等优化• CHI 内存标记扩展(Memory Tagging Extension,MTE)• 网格交叉点(Mesh Crosspoint,MXP)最多可支持 4 个器件:◦ 角落 MXP 上有 4 个器件端口◦ 边缘 MXP 上有 3 个器件端口• 用于 CHI RN-F、CHI SN-F 和 MXP 接口的 AXI Utility Bus(AXU)配置接口• 仅针对 GIC 流量的 AXI4-Stream(A4S)支持• 可选单一同步时域,或 4 个具有相同时钟频率的矩形异步时钟域• 器件接口处用于寄存器切片的器件信用切片(Device Credited Slice,DCS),使器件布局更灵活• 用于 X-Y 寄存器切片的网格信用切片(Mesh Credited Slice,MCS),使网格布局规划更灵活• 用于异步时钟域跨越的异步网格信用切片(Asynchronous Mesh Credited Slice,AMCS)• CAL 信用切片(CAL Credited Slice,CCS),在使用 CAL 的配置中使网格局规划更灵活• 片上内存(On-Chip Memory,OCM),允许构建不含物理 DDR 内存的 CMN 系统• RAS 特性,包括传输奇偶校验、可选的数据路径奇偶校验、单比特纠错(Single-Error Correction,SEC)和双比特检错(Double-Error Detection,DED) ECC,以及数据中毒(data poisoning)信号• 一致性网格链路 SMP(Coherent Mesh Link SMP,CML_SMP)接口支持 64B flit 格式或256B flit 格式• CHI 芯片间链路,支持用于裸片间(die to die)连接的 format X 和 format Y• 最多 32 个 CCG 器件:◦ CCG 器件 支持一致性网格链路 SMP(CML_SMP)或 CXL3.0,并具有 512 位 CXS Issue B 接口。CML_SMP 64B flit 格式支持 256 位 CXS 接口,用于希望减少 IO 的裸片间直接连接。• 基于地址的刷新(Address Based Flush,ABF)• 基于 way 的 SLC 分区 将slc划分为不同的区域比如分成4个区域通过way划分然后设置每个区域哪些节点可以分配使用。• 基于源的 way 锁定 基于source进行锁定锁定的SLC ways仅可用已编程的某些RN来分配新的cacheline 同理也可以基于addr锁定锁定后这些addr的slc就一定不能被替换出去• CML Subordinate Agent 对 CXL 内存扩展和 Type 1 器件的支持• 支持穿过互连、发往本地或远程芯片的 PCIe 对等流量上的 AXI 读写突发保持(burst preservation)• 直接 Subordinate 访问(Direct Subordinate Access,DSA),提供从请求节点(Request Node,RN)到 SN-F、SBSX 或 MTSX 的直接路径 猜测是non-snoopable也不需要保序• 用于 CXL-Type 主机的内存保护引擎(Memory Protection Engine,MPE)• 支持 MECID 的 RME 2.0• IO 一致性 CHI 芯片到芯片(Chip-2-Chip)• 用于 CML SMP 的端口到端口转发(Port to Port Forwarding)• 用于 PCIe 对等的 HN-P(Home Node IO PCIe 优化)中的写合并(Write Gathering)1.3 接口1.4 可配置选项CMN 的基本结构是一个可配置的矩形网格,由称为交叉点(Crosspoint,XP)的网络路由器以及符合 CHI 的器件组成。每个 XP 在水平方向和垂直方向上与其他 XP 相连,形成二维网格结构。在网格配置中,每个 XP 最多可有 4 个器件端口,用于连接符合CHI 的器件。CMN 使用以下步骤进行配置:1. 系统组件选择。在此步骤中,确定系统组件,包括: • 处理器的数量和类型 • I/O 接口 •HN-F 的数量 • SLC 的大小 • 内存接口2. 网格规模确定和顶层配置。此步骤包括指定以下内容:• 行数和列数 • 全局配置参数3. 器件布局和配置。此步骤涉及:• 根据布局规划要求在 XP 之间放置器件和信用中切片(credited repeater slice)• 器件的配置1.4.1 系统组件选择Request Nodes请求节点(Request Node,RN)位于网格外部,连接到 CMN 端口。带有一致性缓存的 requester(包括处理器、GPU,或带有内部一致性缓存的处理单元)称为 RN-F 器件。它们通过 CHI RN-F 端口直接连到 CMN 互连网格。不带一致性缓存的 I/O requester 使用 ACE-Lite 端口连接到 CMN 的 RN-I 桥接器件,或使用 ACE-Lite-with-DVM 端口连接到 CMN 的 RN-D 桥接器件。I/O requester 的示例包括 DMA 控制器、PCIe 控制器、不带内部缓存的处理单元,或带有非硬件一致性的内存缓存的处理单元。RN-I 和 RN-D 桥接器件位于 ACE-Lite 接口与内部 CHI 接口之间。每个 RN-I 或 RN-D 桥接器件最多具有 3 个 ACE-Lite接口。单个 I/O requester 可以直接连接到一个 CMN ACE-Lite 端口。或者,多个 requester 可以通过外部 AMBA® 互连组件共享单个ACE-Lite 端口。为了确定 I/O requester 是共享 1-3 个 ACE-Lite 端口还是使用一个 RN-I,设计人员必须权衡流量带宽需求和物理布局规划的取舍。Homeequest Nodes在 CHI 中,地址空间的每个字节都被分配给单个Home Node(HN)。该 HN 负责处理与该地址相关联的所有内存事务。CMN 系统中有 3 种类型的 HN 器件: HN-F、HNS、HN-IHN-F是所有一致性内存的 Home Node。HN-F 也支持非一致性内存访问。映射到 HN-F 的内存的最终目标是 DRAM。每个 HN-F 可以包含一个SF和一个可选的 SLC。所需的 SLC 大小决定了 HN-F 的数量。将所需的 SLC 总大小除以 HN-F 实例的数量,即可得到每个 HN-F 实例推荐的 SLC 大小。通常,每个 HN-F 分区具有相同的 SLC 大小。需要分别配置 SLC 的大小和 HN-F 的数量。注最佳的总 SF 大小是所有本地 RN-F 的 exclusive 缓存总大小的两倍。例如,对于 32MB 的本地 RN-F 缓存总大小,推荐的 SF 大小为64MB。HN-S注凡涉及全一致性 Home 节点(HN-F)的描述也同样适用于HN-S。HN-S对本地一致性内存充当 HN-F 节点,对远程一致性内存充当本地一致性节点(Local Coherency Node,LCN)。HN-S 还支持对本地内存的非一致性内存访问。映射到 HN-S 的内存的最终目标是本地和远程 DRAM。每个 HN-S 可以包含一个 SF 和一个 SLC,二者在HBT和LBT之间共享。注HBTHN bound traffic,HN自身管理的地址指向本地内存。LBT:LCN bound traffic非HN自身管理的地址指向远端内存。所需的 SLC 大小决定了 HN-S 的数量。将所需的 SLC 总大小除以 HN-S 实例的数量,即可得到每个 HN-S 实例推荐的 SLC 大小。通常每个 HN-S 分区具有相同的 SLC 大小。SLC 的大小和 HN-S 节点的数量是分别配置的。最佳的总 SF 大小是所有 RN-F 的 exclusive 缓存总大小与远程芯片上 LCC 总大小之和的两倍。例如,对于 32MB 的 RN-F 缓存总大小和16MB 的 LCC 缓存总大小,推荐的 SF 大小为 96MB。HN-I是所有以 ACE-Lite completer 器件或子系统为目标的内存的 HN。HN-I 不支持一致性内存。不过,Cacheable 事务可以发送到 HN-I。每个 HN-I 实例包含单个 ACE-Lite requester 端口,用于通过 AMBA 互连向一个或多个 completer 发送总线事务ACE-Lite requester 的总带宽需求以及 completer 外设的物理布局决定了所需的 HN-I 实例数量。当向 ACE-Lite 发出时,发往 HN-I 的Cacheable 事务会被降级为 WriteNoSnoop 和 ReadNoSnoop。默认情况下,会生成 RAS 错误,可以使用 por_hni_cfg_ctl.reqerr_cohreq_en 位将其禁用。存在具有额外功能的 HN-I 类型。这些类型包括:HN-T具有调试追踪控制和 DVM 节点的 HN-I。HN-D具有调试追踪控制器、DVM 节点和配置 Completer 的HN-I。CMN必须且只能有 1 个 HN-D。HN-P针对对等 PCIe 流量进行优化的 HN-I。HN-V一种包含 HN-I 和 DVM 节点(DN)的器件。CML interfacesCMN 互连最多支持 32 个 CXS(CXL/CML_SMP/CHI C2C)接口。每个 CCG 器件都有一个 CXS 接口,该接口符合 CXS Issue B 规范。CCG 器件在 CHI 与 CXS 之间进行桥接,并包含请求代理(Request Agent,RA)代理和 Home 代理(Home Agent,HA)代理功能CCG 器件还包含 CXS 链路代理(Link Agent,LA)功能,用于实现 CML_SMP、CXL 或 CHI C2C flit。Memory interfacesCMN 互连支持以下类型的内存接口端口:CHI SN-F port连接本地 CHI 内存控制器符合CHI C--- CHI GACE-Lite port 通过以下节点类型之一的 ACE-Lite 内存接口,将 AXI或 ACE-Lite 内存控制器连接到 CMN: ①SBSX在 CHI 和 ACE-Lite 协议之间进行桥接。每个 SBSX 具有单个 ACE-Lite 接口。②MTSX同样在 CHI 和 ACE-Lite 协议之间进行桥接,每个 MTSX 具有单个 ACE-Lite 接口。然而,仅当系统需要 MTE 支持,但 subordinate 的 AXI 或 ACE-Lite 内存控制器不支持MTE 时,才会实例化 MTSX。SBSX 和 MTSX 同时支持直接内存传输(Direct Memory Transfer,DMT)和直接 Subordinate 访问(Direct Subordinate Access DSA)。如果 AXI 数据总线宽度为 128 位,则下游 AXI 目标不得以小于 32 字节的边界交错读数据的 beat。1.4.2 网格规模确定和顶层配置CMN 网格的规模主要取决于所连接器件的数量。X 和 Y 网格维度的乘积必须大于或等于所需的 XP 数量。例如,如果需要 7 个 XP,则 2×4 或 4×2 的网格是可以接受的。注CMN 不支持 HN-F 和 HN-S 器件类型的混合配置。 再注那我直接按照HN-S的标准实现HN-F不就行了so你得到了两级HN架构...下表列出了 CMN 支持的器件类型。——略主要是CMN IP的使用配置不在我们介绍CMN功能的范围之内。1.4.3 器件布局和配置当器件被枚举且网格维度确定后,必须指定每个器件或节点在网格中的布局位置。虽然对器件的网格位置没有约束,但布局规划和性能约束决定了最优的器件布局。——略主要是CMN IP的使用配置不在我们介绍CMN功能的范围之内。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑