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

推荐订阅源

GbyAI
GbyAI
WordPress大学
WordPress大学
D
DataBreaches.Net
腾讯CDC
小众软件
小众软件
B
Blog RSS Feed
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
The Blog of Author Tim Ferriss
MongoDB | Blog
MongoDB | Blog
U
Unit 42
Y
Y Combinator Blog
V
V2EX
I
InfoQ
D
Docker
量子位
N
Netflix TechBlog - Medium
Recent Announcements
Recent Announcements
A
About on SuperTechFans
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
Blog
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - yooooooo

I3C协议Single Data Rate(SDR)模式研读(一):总线配置Bus Configuration I3C总线技术概述(二) I3C 总线技术概述(一) PCIe扫盲——物理层逻辑部分基础(三) PCIe扫盲——Ack Nak 机制详解(二) PCIE 的 per-vector masking ftraceoption irq-info MPAM BE/ FE 的区别及功能 IPI与CPU唤醒机制 【ARM CoreLink 系列 5 -- CI-700 控制器介绍 】 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的概念、类型、使用
ARM CoreLink 系列 4.3 -- NI-700 Component and interface i...
yooooooo · 2026-05-23 · via 博客园 - yooooooo

文章目录


Component and interface identifiers

在CoreLink NI-700中,每个网络接口和外部接口都有一个独特的标识符,用于确保数据包正确路由。NI-700组件和外部接口使用不同类型的标识符。

节点ID

当您构建NI-700配置时,每个完成者和请求者网络接口节点都被分配一个唯一的节点ID。NI-700使用这些节点ID进行数据包路由。节点ID也被软件发现过程用来检测每个节点的编程区域。由于每个节点还通过其节点类型进行标识,因此完成者和请求者网络接口节点的节点ID空间可以重叠。

接口ID

每个外部接口包含一个唯一的接口ID。NI-700使用这些接口ID将每个数据包路由到正确的外部接口目标或CFGNI。交易请求包括一个目标ID(TgtID),用于识别目标节点,和一个源ID(SrcID),用于识别源节点。接口ID在NI-700内部的数据包中是SrcID和TgtID。

接口ID值分配在两个独特的池中:

  • 下游网络接口(XSNI)
  • 目标网络接口(XMNI)

下面的图表展示了NI-700中代表性的接口ID,仅供说明目的。

image

在请求者网络接口上,输出ID是从另外两个值派生的。请求者接口输出ID的宽度始终根据完成者接口所使用的最大ID宽度进行缩减。

Calculation of output IDs

在CoreLink NI-700中,请求者接口上的输出ID是基于完成者接口上的输入AXID值和完成者接口的数量的函数。SrcID与ASNI的数量有关。输入ID宽度是配置在ASNI上的最大AXID宽度。NI-700不修改传入的AXID值。每个NI-700完成者接口都被分配了一个SrcID,用于标识发起事务的接口。SrcID与输入AXID串联。传入请求的SrcID被捕获在 ASNI_NODE_TYPE 寄存器的 node_id 字段中。

asni_node_type 寄存器:

image

ID reduction

CoreLink NI-700在请求者接口发出的输出ID上总是应用ID缩减,而不是使用系统中最大的AXID和SRCID值。在AMNI上的输出ID宽度是由 <AXID><SRCID> 组成的。ID缩减基于有有效路径到特定请求者接口的完成者接口。

NI-700工具决定了访问请求者接口的完成者接口所使用的最大AXID宽度。这个宽度变成了用于设置输出ID宽度一部分的缩减后的AXID宽度。对于同一个请求者接口,工具也决定了可以访问请求者接口的完成者接口所使用的最大SRCID宽度。这个值设置了用于计算输出ID宽度的SRCID宽度。