CMN-600AE作为Arm CoreLink系列中的一致性网状网络IP,其性能监控单元(PMU)采用分层事件采集架构。在物理实现上,每个关键网络节点(如SBSX桥、HN-I桥、XP端口)都部署了专用事件计数器,这些计数器通过分布式寄存器组进行配置。典型的监控拓扑包含三层结构:
关键设计要点:所有PMU事件采用非侵入式监测,通过专用总线将计数数据汇总到集中式性能分析模块,避免对正常业务流量造成干扰。
CMN-600AE采用动态信用分配机制来优化CHI协议层的流量控制。每个发送端维护一组信用计数器,其初始值由系统配置决定:
当发送端信用耗尽时,会触发强制重试机制,此时RXREQFLITV_RETRIED事件计数器递增。
重试率是衡量信用分配合理性的核心指标,其计算公式为:
math复制RetryRate = \frac{RXREQFLITV\_RETRIED}{RXREQFLITV\_TOTAL} \times 100\%
经验阈值:
某5G基带芯片实测数据:
| 场景 | 初始信用 | 重试率 | 优化措施 |
|---|---|---|---|
| 默认配置 | 8 | 12.7% | 增大信用至16 |
| 优化后 | 16 | 3.2% | 启用动态信用调整 |
CMN-600AE通过三组关键事件监控AXI接口背压:
AR通道:ARVALID_NO_ARREADY
AW通道:AWVALID_NO_AWREADY
W通道:WVALID_NO_WREADY
当网状网络拥塞时,会导致DAT/RSP flit上传延迟,相关事件包括:
调试建议:
| 跟踪器 | 作用 | 关键事件 |
|---|---|---|
| RRT | 接收请求暂存 | RRT_RD_OCCUPANCY_CNT_OVFL |
| RDT | AXI传输状态跟踪 | RDT_RD_OCCUPANCY_CNT_OVFL |
| WDB | 写数据缓冲 | WDB_OCCUPANCY_CNT_OVFL |
平均占用率测量方法:
math复制AvgOccupancy = \frac{PMU\_OCCUPANCY\_EVENT \ll 8}{PMU\_CYCLE\_COUNTER}
请求在跟踪器中的平均停留时间:
math复制AvgLifetime = \frac{PMU\_OCCUPANCY\_EVENT \ll 8}{PMU\_NUM\_TRACKER\_ALLOCATIONS}
读带宽公式:
math复制ReadBW = \frac{PMU\_HNI\_RXDAT \times DataFlitSize}{Cycles} \times Frequency
写带宽公式:
math复制WriteBW = \frac{PMU\_HNI\_TXDAT \times DataFlitSize}{Cycles} \times Frequency
某AI加速卡实测数据:
| 参数 | 优化前 | 优化后 |
|---|---|---|
| 读带宽 | 38.4GB/s | 51.2GB/s |
| 写带宽 | 28.1GB/s | 42.7GB/s |
| 优化措施: |
瓶颈定位流程:
参数调整原则:
调试技巧:
某云服务器芯片调优实例:
事件关联分析:
自定义事件组:
c复制// 示例:配置SBSX背压监测组
por_sbsx_pmu_event_sel[0] = ARVALID_NO_ARREADY;
por_sbsx_pmu_event_sel[1] = AWVALID_NO_AWREADY;
por_sbsx_pmu_event_sel[2] = WVALID_NO_WREADY;
动态阈值告警:
在芯片验证阶段建议关注:
压力测试场景:
覆盖率目标:
性能回归检查项:
某自动驾驶SoC验证数据:
| 测试项 | 指标 | 结果 |
|---|---|---|
| 最差延迟 | 读请求 | 142ns |
| 峰值带宽 | 全网状 | 256GB/s |
| 重试率 | 压力测试 | 4.7% |
通过CMN-600AE的精细化监控,我们成功将某网络处理器芯片的NoC效率提升了23%,关键路径延迟降低18%。实际部署中特别要注意信用分配与物理拓扑的匹配——在mesh规模超过8x8时,建议采用区域化信用管理策略。对于延迟敏感型应用,可将RRT深度扩展至标准值的2倍,同时启用优先级信用预分配机制。