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

推荐订阅源

S
Secure Thoughts
T
Threatpost
V
Vulnerabilities – Threatpost
Recorded Future
Recorded Future
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Proofpoint News Feed
Spread Privacy
Spread Privacy
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
Engineering at Meta
Engineering at Meta
Project Zero
Project Zero
Jina AI
Jina AI
雷峰网
雷峰网
T
ThreatConnect
E
Exploit-DB.com RSS Feed
T
True Tiger Recordings
Y
Y Combinator Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
T
Tenable Blog
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
SegmentFault 最新的问题
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
M
MIT News - Artificial intelligence
M
Microsoft Research Blog - Microsoft Research
U
Unit 42
L
LINUX DO - 热门话题
C
Cybersecurity and Infrastructure Security Agency CISA
I
InfoQ
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Recent Commits to openclaw:main
Recent Commits to openclaw:main
WordPress大学
WordPress大学
人人都是产品经理
人人都是产品经理
F
Fortinet All Blogs
Google DeepMind News
Google DeepMind News
C
Check Point Blog
Malwarebytes
Malwarebytes
T
Threat Research - Cisco Blogs
The GitHub Blog
The GitHub Blog
D
Docker
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Blog — PlanetScale
Blog — PlanetScale
T
The Exploit Database - CXSecurity.com
SecWiki News
SecWiki News
B
Blog RSS Feed
F
Future of Privacy Forum
罗磊的独立博客
Scott Helme
Scott Helme

博客园 - yooooooo

ARM CCI-500 与 NI0700 的关系. - yooooooo claude code命令使用 【ARM Trace32(劳特巴赫) 使用介绍 2.2 -- TRACE32 进阶命令之 DIAG 弹框命令】 trace32 .cmm脚本和.t32文件的区别 【ARM Trace32(劳特巴赫) 使用介绍 1.1 - Veloce 环境中使用trace32 连接 Cortex-M33】 【ARM Trace32(劳特巴赫) 使用介绍 2.1 -- TRACE32 Practice 脚本 cmm 脚本学习】 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 详细介绍】 EDK II PCD的概念、类型、使用 UEFI:FDF文件及FD、FV、FFS edk2构建编译流程 PELT算法浅析 load_balance函数代码详解 - yooooooo UEFI Boot Manager Linux misfit task Linux 内核中sched_prio_to_weight转换关系 CFS任务放置代码详解 CFS任务的负载均衡(load balance)
ARM CoreLink 系列 4.3 -- NI-700 Component and interface identifiers
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宽度。