CHI(Coherent Hub Interface)总线用于根据系统性能、功耗、面积的设计需求,来构建片内互连的小型、中型和大型系统。
基于CHI系统上的组件包括单CPU、CPU簇、GPU、存控、IO桥、PCIe子系统,和内部互连本身。
基于CHI系统的基本特征:
- 可扩展的模块化设计;
- 功能明确且独立的层次化设计,包括协议层、网络层和链路层三层;
- 基于数据包的通信;
- 内部互连上的HN节点之间相互协同处理侦听、缓存和内存访问等所有的事务;
- CHI一致性协议
- 数据粒度为64字节
- 基于侦听过滤器和目录
- MESI和MOESI缓存模型
- 给缓存块可选增加“部分”和“空”两种状态
- CHI事务集合包括
- 根据性能、面积和功耗的设计需求,增加了事务类型
- 支持原子操作和同步操作
- 高效实现数据移动和放置的事务
- 支持DVM操作来实现虚存管理(主要用于IOMMU)
- 请求重传
- 支持端到端的QoS管理
- 数据宽度可配置
- 支持TrustZone
- 消费者-生产者顺序模型中的一致性写优化
- 跨组件和内部互连的错误报告和传播
- 支持缓存块中部分数据错误处理,包括数据污染和字节错误指示
- 给组件接口提供功耗感知信号
- 提供flit级时钟门控
- 为实现时钟门控和电源门控,提供组件有效和失效时序
- 为实现时钟控制和电源控制,提供协议有效指示
层 数据粒度 主要功能 协议层 事务
/消息
再协议点上产生和处理请求消息和响应消息
定义协议节点上允许的缓存状态转移
为每个请求类型定义事务流
协议级流控
网络层 数据包 将协议消息切分成数据包
计算源/目的的节点ID号,并将其封装到数据包
链路层 FLit 点到点之间的流控
管理链路通道,提供网络上的免死锁交换
拓朴结构
-
crossbar,小型芯片系统,保序、低延迟
-
ring,中型芯片系统
-
mesh,大型芯片系统,高带宽,两维行列结构