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

推荐订阅源

云风的 BLOG
云风的 BLOG
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
TaoSecurity Blog
TaoSecurity Blog
Attack and Defense Labs
Attack and Defense Labs
SecWiki News
SecWiki News
M
MIT News - Artificial intelligence
N
News and Events Feed by Topic
Help Net Security
Help Net Security
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
The Last Watchdog
The Last Watchdog
Martin Fowler
Martin Fowler
Hacker News: Ask HN
Hacker News: Ask HN
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
H
Heimdal Security Blog
B
Blog
Blog — PlanetScale
Blog — PlanetScale
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
T
Threat Research - Cisco Blogs
I
InfoQ
腾讯CDC
L
LangChain Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Know Your Adversary
Know Your Adversary
Cloudbric
Cloudbric
Project Zero
Project Zero
T
Tor Project blog
小众软件
小众软件
博客园 - 司徒正美
www.infosecurity-magazine.com
www.infosecurity-magazine.com
H
Help Net Security
Webroot Blog
Webroot Blog
量子位
NISL@THU
NISL@THU
Schneier on Security
Schneier on Security
Google Online Security Blog
Google Online Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
月光博客
月光博客
宝玉的分享
宝玉的分享
V
V2EX
T
Tailwind CSS Blog
Spread Privacy
Spread Privacy
G
Google Developers Blog
K
Kaspersky official blog

博客园 - 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宽度。