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

推荐订阅源

Hacker News: Ask HN
Hacker News: Ask HN
H
Help Net Security
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
Jina AI
Jina AI
Stack Overflow Blog
Stack Overflow Blog
量子位
博客园_首页
Vercel News
Vercel News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Forbes - Security
Forbes - Security
IT之家
IT之家
N
News and Events Feed by Topic
S
Security Affairs
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Webroot Blog
Webroot Blog
Recorded Future
Recorded Future
L
LangChain Blog
Y
Y Combinator Blog
AI
AI
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
Know Your Adversary
Know Your Adversary
AWS News Blog
AWS News Blog
Help Net Security
Help Net Security
Cyberwarzone
Cyberwarzone
L
Lohrmann on Cybersecurity
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google Online Security Blog
Google Online Security Blog
V2EX - 技术
V2EX - 技术
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
PCI Perspectives
PCI Perspectives
I
Intezer
T
Tenable Blog
G
Google Developers Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Troy Hunt's Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
CXSECURITY Database RSS Feed - CXSecurity.com
有赞技术团队
有赞技术团队
O
OpenAI News
P
Proofpoint News Feed
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Last Week in AI
Last Week in AI
S
Schneier on Security
Simon Willison's Weblog
Simon Willison's Weblog
Blog — PlanetScale
Blog — PlanetScale

博客园 - yooooooo

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的概念、类型、使用 PELT算法浅析 load_balance函数代码详解 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宽度。