惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
V
Vulnerabilities – Threatpost
GbyAI
GbyAI
P
Proofpoint News Feed
L
LINUX DO - 热门话题
P
Palo Alto Networks Blog
A
About on SuperTechFans
T
Tenable Blog
M
MIT News - Artificial intelligence
IT之家
IT之家
I
Intezer
D
DataBreaches.Net
爱范儿
爱范儿
T
Threatpost
C
CERT Recently Published Vulnerability Notes
云风的 BLOG
云风的 BLOG
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
K
Kaspersky official blog
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Y
Y Combinator Blog
Cyberwarzone
Cyberwarzone
酷 壳 – CoolShell
酷 壳 – CoolShell
D
Darknet – Hacking Tools, Hacker News & Cyber Security
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
Spread Privacy
Spread Privacy
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
AWS News Blog
AWS News Blog
博客园 - 聂微东
C
Check Point Blog
S
Securelist
有赞技术团队
有赞技术团队
雷峰网
雷峰网
aimingoo的专栏
aimingoo的专栏
Last Week in AI
Last Week in AI
Stack Overflow Blog
Stack Overflow Blog
MongoDB | Blog
MongoDB | Blog
D
Docker
G
GRAHAM CLULEY
T
The Exploit Database - CXSecurity.com
C
Cybersecurity and Infrastructure Security Agency CISA
T
Tailwind CSS Blog
L
Lohrmann on Cybersecurity
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
L
LangChain Blog

博客园 - yooooooo

ARM CoreLink 系列 4.3 -- NI-700 Component and interface identifiers ARM CCI-500 与 NI0700 的关系. ARM NIC-400 与 NI-700 的区别 claude code命令使用 【ARM Trace32(劳特巴赫) 使用介绍 2.2 -- TRACE32 进阶命令之 DIAG 弹框命令】 trace32 .cmm脚本和.t32文件的区别 【ARM Trace32(劳特巴赫) 使用介绍 2.1 -- TRACE32 Practice 脚本 cmm 脚本学习】 【ARM Trace32(劳特巴赫) 使用介绍 1.1 - Veloce 环境中使用trace32 连接 Cortex-M33】 PCIe 总线的 ASPM 和 链路状态机制总结 fw_devlink 功能 I3C协议详解 UART 协议规范 BPF 调度器 sched_ext 实现机制、调度流程及样例 Android Camera性能分析 录像Buffer Path详解 【UEFI基础】Protocol介绍 【UEFI实战】在库中使用全局变量 sched feature TTWU_QUEUE 【ARM CoreLink 系列 4.2 -- NI-700 Function units 详细介绍】 edk2构建编译流程 UEFI:FDF文件及FD、FV、FFS EDK II PCD的概念、类型、使用 PELT算法浅析 load_balance函数代码详解 - yooooooo UEFI Boot Manager Linux misfit task Linux 内核中sched_prio_to_weight转换关系 CFS任务放置代码详解 CFS任务的负载均衡(load balance)
【ARM CoreLink 系列 5 -- CI-700 控制器介绍 】
yooooooo · 2026-05-30 · via 博客园 - yooooooo

1.1 什么是 CI-700?

CI-700是一种AMBA
® 5 CHI互连,具有可定制的网状拓扑结构,采用 Armv9 处理器设计,可提供全面计算解决方案。它可以从主流智能手机扩展到高端智能手机,再到笔记本电脑级设备。设计与 CoreLink 网络互连和 CoreLink MMU-700 内存管理单元配对使用。

image

图 1-1

1.1.1 关于 CI-700

Feature Details
Designed and optimized for premium smartphones and laptops. * Based on high-performance AMBA CHI mesh interconnect technology * Fully coherent interconnect supports from one to eight coherency clusters over AMBA CHI interface
High bandwidth and low latency from high frequency implementation Supports low power implementations from 1GHz to high performance implementations up to 2GHz in 5nm processes
Configurable Unified System Level Cache * System level cache may be shared with GPU and other accelerators * MPAM partitioning enables control of how System level cache resources are allocated and increases predictability * Exclusive System level cache: data cached in the CPU cluster is not duplicated in the System level cache * Snoop filter avoids the need to broadcast snoops to all CPU clusters * Exclusive System level cache: data cached in the CPU cluster is not duplicated in the System level cache
Security * Adopts latest Armv9 architecture features * Interface standards focus on security, performance, reliability, and virtualization * Memory Tagging Extensions (MTE) for increased security * AMBA CHI.E and AMBA AXI.H for Armv9 architecture, security, and virtualization support
Direct System Attach (DSA-F) configuration * Removes System Level Cache and snoop filter from CI-700, uses L3 in DynamIQ Shared Unit * Implements MTE tag splitter and tag cache
  • CI-700是一种可扩展的网状互连,支持1-8个处理器的计算集群。
  • 可选的系统级缓存(SLC)。

CI-700支持AMBA® 5 CHI Issue E,包括以下功能:

  • MakeReadUnique、带可选数据的写入和无数据交易的写零
  • 增强的排他性事务(Enhanced exclusive transactions)
  • 各种交易的优化和增强(Various transaction optimizations and enhancements)
  • 连接具有多个接口的设备(Connection of devices with multiple interfaces)
  • 扩展的TxnID和GroupID
  • DVM更新(DVM updates)
  • 内存标记(Memory tagging)

CI-700通过提供以下系统功能,提供系统级的调整:

  • 服务质量(Quality of Service (QoS))
  • 可靠性、可用性和可服务性(Reliability, Availability, and Serviceability (RAS))
  • 调试跟踪(Debug Trace (DT))

CI-700与以下类型的IP兼容:

  • 动态内存控制器(Dynamic Memory Controller (DMC))
  • 通用中断控制器(Generic Interrupt Controller (GIC))
  • 内存管理单元(Memory Management Unit (MMU))
  • 互连
  • ARMv8.0, Armv8.2, Armv8.4和Armv9处理器

1.1.2 CI-700 特点

CI-700 产品提供以下主要功能:

  • 高度可扩展的网状网络拓扑结构,最多可配置为12个交叉点的网状网络

  • 自定义网状大小和设备放置

  • 可编程的系统地址图(SAM)。

  • 多达8个RN-F接口,用于基于
    CHI
    的计算集群、加速器、图形处理单元或其他缓存相干的设备。单元,或其他高速缓存相干主站

  • 可选的组件聚合层(CAL),用于设备接口端口扩展

  • 最多八个SN接口

  • 多达八个RN-I,每个最多三个ACE5-Lite端口(共24个)。

  • 可选支持指定源-目标对之间的非XY路由算法

  • 所有数据包的TxnID为12位

  • 最大物理地址(PA)宽度为40位

  • 主站之间的DVM消息传输

  • 用于塑造流量配置文件的QoS调节

  • 可配置的QoS覆盖到针对特定内存区域的交易

  • 性能监测单元(PMU)用于统计与性能有关的事件

  • 高性能的分布式 SLC 和 Snoop Filter(SF),多达8个HN-F,缓存大小为 0-32MB的总量。

    • HN-F包括一个集成的序列化点(PoS)和相干性点(PoC)。HN-F SLC(也被称为Agile System Cache)可用于计算和I/O缓存。
    • SF高达64MB的标签RAM,以提高一致性的可扩展性,包括多达8个分区(每个HN-F一个)。
  • 最多四个HN-I,每个都有一个ACE-Lite主端口

  • CHI内存标签的增强(CHI Memory Tagging Enhancements (MTE))

  • 可选择支持MXPs上的额外设备端口。CI-700最多支持四个 额外的设备端口,这取决于你的系统配置。

  • 在设备接口处用于寄存器切片的设备信用切片(DCS),允许灵活地在 设备放置的灵活性

  • 网格积分片(MCS)用于X-Y寄存器片,允许灵活地进行网格平面规划

  • CAL积分片(CCS),允许在使用CAL的配置中灵活地进行网格平面规划。的配置中灵活地进行网格平面规划。

  • 片上存储器(OCM)允许创建没有物理DDR存储器的CI-700系统。存储器。

  • RAS功能包括传输奇偶校验、可选的数据路径奇偶校验、单次错误纠正和 双重错误检测(SECDED)ECC,以及数据中毒信令

  • 基于地址的刷新(ABF)

  • 基于方式的SLC分区

  • 基于源的方式锁定

  • 支持AXI4-流(A4S)(仅用于GIC流量)

  • 支持AXI环回信令

  • RN-F直接从属访问(DSA-F),提供从RN-F到MTSX的直接路径

  • 支持下游专用缓存(DSC)功能

  • 内存标签从属接口(MTSX)分片通道配置

1.2 全局配置参数

CI-700 提供了一系列的全局配置参数,通过这些参数可以配置互联的属性和行为,也可以通过这些参数来设置或者配置可选功能选项。全局参数表1-1如下:

image

表 1-1

1.2.1 寻址能力

CI-700 支持34-bit 或者 40-bit的物理地址宽度,可以通过在RTL中设置 PA_WIDTH来进行配置。

CI-700中的 CHI 接口对 REQ channel flits 的地址宽度支持 可以为44-bit 或者 48-bit ,可以通过REQ_ADDR_WIDTH进行配置。

1.3 组件和配置

1.3.1 CI-700 互联的结构

一个CI-700互连的构成是由 “
交叉点 Crosspoints
”(XPs)和符合CHI规范的设备组层。XPs 相互连接形成一个网状结构,而符合CHI规范的设备则连接到XPs上的设备端口。在配置CI-700时,可以根据具体的系统需求,从这些构建块中创建一个拓扑。

如上文所述,CI-700互连是由两种组件构成的网络:
CHI设备

XPs
。CHI设备生成和接收网络请求和响应,并处理数据。 CHI设备通过XP设备端口连接到XPs。XPs 可以理解为“网络路由器( network routers)”,它们在一个XP上的设备之间发送请求、响应和数据包,或者对网络中其它XP上的设备发送请求、响应和数据包。

一个CI-700配置可以有多个XPs或一个XP。我们把有多个XP的配置称为网状配置,有一个XP的配置称为单一XP配置。在网状配置中,XPs通过水平和垂直连接,形成一个二维的网状结构。XPs有用于连接外部符合CHI规范的设备,或内部CI-700设备的设备端口。

如下图1-1 为一个
4x2
的网路配置,其包含了各种类型的 external 或者 internal CHI devices。

image

图 1-2 4×2 mesh configuration

DSU上出来的信号通过 CHI 连到 RN-F,RN-F再通过 CHI 连到 HN-F,DSU和RN-F之间的就叫 external device,再往后走的就叫 internal device

CI-700 内部的东西,比如:HN-F MTSX 这些都叫 internal device

关于每个XP上有多少个 device port 这个是取决于对于 CI-700的配置,如果配置为 single-MXP 结构那么一个XP 上最多可以有6个 device port:

image

图 1-3

Internal CI-700 devices 有很多功能,这些设备比如会有 AXI 和 ACE-Lite 等接口,通过这些接口可以连接外部带有 AXI 和 ACE-Lite接口的硬件。外部硬件与CI-700的连接就构成了CHI 总线的互联, 如下图:

image

图 1-4

DSU上出来的信号通过CHI 连到 RN-F,RN-F再通过CHI连到 HN-F,HN-F再接到 MTSX上,这里 DSU 和 RN-F之间的就叫
external device

MTSX(Memory Tag Slave Interface)节点连接 AXI slave 设备 TZC400上,这里 MTSX就是
internal device
,TZC400再连接到内存控制器上:

image

图 1-5

1.3.2 Crosspoint(XP)

XP 通常是具有开关和路由的功能,是构成CI-700 的基本元素。CI-700 网络互联通常是由多个XPs组层。 默认情况下,每个XP 最多可以和临近的4个XPs通过 mesh port 相连,如下图所示:

image

图 1-6

上图中的虚线代表 mesh ports,默认情况下,每个 XP 带有两个 device ports, P0和P1用于连接设备。CI-700 同时也支持额外的device ports 在 Mesh Crosspoint (MXP)中,在 MXP中可以有4个device port:

image

图 1-7

每个 XP 支持4个CHI channel:

  • Request (REQ)
  • Response (RSP)
  • Snoop (SNP)
  • Data (DAT)

如前文所示,XP 模块可以配置为矩形的网络拓扑结构,在CI-700中最多可以有12个XPs, 下图为3x4的网络配置结构:

image

图 1-8

1.3.3 外部接口

CI-700 可以通过XP上的 device port 连接外部带有CHI 总线接口的设备,比如 处理器簇,memory 控制器。如上文所述CI-700 内部也有许多带有非CHI 协议接口的设备,可以通过这些设备接口连接外部的非CHI 协议的设备。下图展示了CI-700带有的外部接口类型:

image

图 1-9