【ARM】CCI缓存一致性整理

目录

1.CCI500提供的功能

2.CCI500在SOC系统中所处的位置​编辑

3.CCI500内部结构​编辑

4.功能描述


1.CCI500提供的功能

2.CCI500在SOC系统中所处的位置

3.CCI500内部结构

Transaction Tracker(TT)是用来解决一致性和ordering问题的,它是non-blocking的并且可以根据QoS的需求来reorder requests。

TT使用一个snoop filter来决定发送snoop requests的位置。为了最大化吞吐量:

  • snoop filter有四个partitions。
  • 读数据和写数据的interconnects是fully-connected的crossbars。
  • 写响应也使用crossbar interconnect,并且reorder buffer帮助CCI-500在不stalling requests的情况下满足ordering requirements。
  • 每个interface都有一个可配置的number of register stages,每个interface至少有一个stage。

4.功能描述

CCI-500 是一种一致性互连,它能够实现硬件一致性。在硬件一致性系统中,操作系统可以在多个处理器集群上运行,而无需复杂的缓存维护软件。这是高级 ARM big.LITTLE 处理模型(如全局任务调度,GTS)的基本要求。

除了 AXI 和 ACE 接口外,CCI-500 提供了用于各种系统操作的接口,例如:

  • 使用 APB4 接口对 CCI-500 内部寄存器进行编程、调试和性能监控。
  • 使用 P-Channel 和 Q-Channel 控制时钟和电源状态,以在低带宽时最小化功耗。
  • 用于制造测试的逻辑和 RAM 测试。

CCI-500 包括了窥探功能,允许对 ACE 接口进行窥探。窥探过滤器通过记录附加的 ACE 主机缓存中存储的地址,提供高效的窥探事务管理。这意味着窥探过滤器通常可以解决一致性消息,而不是向所有 ACE 接口广播。这种机制可以提供系统功耗节省,并在数据不在任何上游缓存中时减少延迟。

性能监控单元(PMU)提供了指示 CCI-500 运行时性能的事件和计数器。PMU 寄存器提供互连状态的信息,您可以使用这些寄存器帮助调试系统死锁。此外,CCI-500 提供了一组服务质量(QoS)调节和控制机制。

CCI-500 支持安全和非安全操作,可以在使用 ARM TrustZone 提供安全、非安全和受保护状态的系统中使用。

CCI-500 还支持缓存维护操作和独占访问。

内部包含Performance Monitor Unit和DBG monitor用来检测传输和做debug用。

可以通过将non-TrustZone aware master的AxPROT[1] tie low,来允许这样的master访问secure的数据。

CCI的error可以分为precise的error和imprecise的error。

CCI有单独的QoS regulation和control机制。

5.QoS机制

CCI-500 使用服务质量(QoS)值作为请求仲裁的优先级指示器。QoS 值可以来自一个从属接口的输入,也可以被一个编程值覆盖。

CCI-500 在选择要放入主事务队列的请求时使用 QoS 值。具有最高 QoS 值的请求具有最高优先级,除非激活了反饥饿机制。

当两个或更多事务共享最高优先级时,CCI-500 使用最近最少授予(LRG)方案。仲裁器具有避免饥饿的机制,以防止高带宽请求无限期地阻塞低优先级请求。

CCI-500 传播 QoS 值。这决定了当下游互连和从属设备对 QoS 值敏感时的服务速率。NIC-400 网络互连对 QoS 值敏感。

注意: 确保您平衡所有从属接口的相对优先级。例如,将每个接口设置为最高 QoS 值将仲裁降低到 LRG,并且使用 QoS 值没有优势。

拓展阅读:
扩展系统一致性 - 第 3 部分 - 性能提升和 CoreLink CCI-500 简介 - 中文社区博客 - 中文社区 - Arm Community

【ARM】CCI500_execution_tb-****博客

上一篇:设计模式原则——迪米特法则原则


下一篇:Golang | Leetcode Golang题解之第228题汇总区间-题解: