CSR配置字典之CPUPortConfig类
更新时间: 2026/06/22
在Gitcode上查看源码

📋 文档信息

项目内容
文档标题CPUPortConfig类配置字典
版本v1.0
创建日期2026-06-22
最后更新2026-06-22
维护状态✅ 活跃维护

📋 变更历史记录

文档变更记录

版本发布日期变更类型变更内容影响范围维护人员
v1.02026-06-22初始版本创建CPUPortConfig类配置字典全新文档系统管理员

🎯 类概览

CPUPortConfig 类

属性
类名称CPUPortConfig
功能描述CPU端口配置对象
所属SIG组system
所属组件处理器端口管理
权限ConfigureSelf
责任人系统架构组
最后更新2026-06-22
状态🟢 正常运行

📊 属性定义详表

必选属性

属性名类型默认值取值范围动态关联描述使用场景举例来源分类
CPUIdU8--CPU ID标识端口所属的CPU1CSR配置软件
PortIdString--端口ID标识CPU端口"Port0"CSR配置软件
IdU8--端口逻辑ID端口逻辑标识0CSR配置软件
IODieIdU8--IO Die ID标识端口所属的IO Die1CSR配置软件
SystemIdU8--系统Id标识端口所属的系统1CSR配置软件

可选属性


🔗 动态关联机制

语法规范

使用 #/xxx<=/xxx 格式实现属性间的动态关联:

yaml
# CPUPortConfig类当前无动态关联属性
# 所有属性均为直接配置值

关联说明

  • 直接配置: 所有属性均通过CSR配置直接设置,无需动态关联
  • ID体系: CPUId、PortId、Id、IODieId、SystemId构成完整的端口标识体系

📂 分类标准

软件属性

  • 定义:用于软件层面的CPU端口管理和配置
  • 特点:包含标识、配置等功能
  • 示例CPUId, PortId, Id, IODieId, SystemId

📝 配置示例

标准单端口配置

json
{
  "CPUPortConfig": {
    "CPUId": 1,
    "PortId": "Port0",
    "Id": 0,
    "IODieId": 1,
    "SystemId": 1
  }
}

多Host场景配置

json
{
  "CPUPortConfig_Host2": {
    "CPUId": 3,
    "PortId": "Port0",
    "Id": 0,
    "IODieId": 1,
    "SystemId": 2
  }
}

🔧 使用指南

配置步骤

  1. 设置CPU标识:配置CPUId,指定端口所属的CPU
  2. 设置端口标识:配置PortId和Id,标识具体端口
  3. 设置IO Die标识:配置IODieId,指定端口所属的IO Die
  4. 设置系统标识:配置SystemId,指定端口所属的系统

注意事项

  • ID唯一性:CPUId在多Host间必须唯一,IODieId在单CPU内唯一
  • 端口标识:PortId为字符串类型,需确保命名规范一致性
  • 多Host配置:SystemId用于区分不同的Host
  • IO Die配置:IODieId用于区分同一CPU的不同IO Die

性能建议

  • ID体系规范:合理规划CPUId、IODieId、SystemId的编号体系
  • 端口命名:建议采用统一的端口命名规范

ID体系说明

  • CPUId (U8): 全局唯一标识,跨Host识别CPU
  • PortId (String): 端口标识,标识具体端口
  • Id (U8): 端口逻辑ID,用于软件内部管理
  • IODieId (U8): IO Die标识,单CPU内唯一
  • SystemId (U8): 系统标识,区分不同主机

常见问题

  • Q: PortId为什么使用String类型?
    • A: 端口ID需要支持灵活的命名方式,如"Port0"、"ETH0"等,String类型更适应实际场景
  • Q: IODieId的作用是什么?
    • A: IODieId用于标识同一CPU内的不同IO Die,在多IO Die架构中区分端口所属的IO Die
  • Q: 多Host场景如何配置?
    • A: 通过SystemId区分不同Host,CPUId保持全局唯一,IODieId在各CPU内独立编号