PCIe VSC、VSEC、DVSEC

本文详细介绍了PCIe协议中的Vendor-SpecificCapability(VSC),Vendor-SpecificExtendedCapability(VSEC),和DesignatedVendor-SpecificExtendedCapability(DVSEC)。这些自定义能力结构在PCIe配置空间的应用和区别进行了阐述,包括它们的布局、使用场景和举例说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



🔥点击查看精选 PCIe 系列文章🔥
🔥点击进入【芯片设计验证】社区,查看更多精彩内容🔥


📢 声明

  • 🥭 作者主页:【MangoPapa的CSDN主页】。
  • ⚠️ 本文首发于CSDN,转载或引用请注明出处【https://mangopapa.blog.csdn.net/article/details/132179674】。
  • ⚠️ 本文目的为 个人学习记录知识分享。因个人能力受限,存在协议解读不正确的可能。若您参考本文进行产品设计或进行其他事项并造成了不良后果,本人不承担相关法律责任。
  • ⚠️ 若本文所采用图片或相关引用侵犯了您的合法权益,请联系我进行删除。
  • 😄 欢迎大家指出文章错误,欢迎同行与我交流 ~
  • 📧 邮箱:mangopapa@yeah.net
  • 💬 直达博主:loveic_lovelife(搜索或点击扫码)


  PCIe 定义了三类可由供应商 Vendor 自行指定的能力结构:Vendor-Specific Capability (VSC)、Vendor-Specific Extended Capability (VSEC) 及 Designated Vendor-Specific Extended Capability (DVSEC)。其中,VSC 兼容 PCI,VSEC 及 DVSEC 不兼容 PCI。VSEC 由单个 Vendor 独立使用,DVSEC 由多个相关的 Vendor 共同使用。



1. Vendor-Specific Capability (VSC)

  Vendor-Specific Capability (VSC),供应商指定能力,是一种兼容 PCI 配置空间的能力结构,其结构如下图所示。该能力结构位于 PCIe 配置空间的前 256B 内,其前 3B 格式固定,Capability Length、Next Capability Pointer 及 Capability ID 各占 1B。
在这里插入图片描述



2. Vendor-Specific Extended Capability (VSEC)

  Vendor-Specific Extended Capability (VSEC),是一种可选的供应商指定扩展能力,供单个供应商使用,可以实现在 PCIe Function 或 RCRB 中。VSEC 能力结构如下图所示。
在这里插入图片描述
  跟 VSC 相比,VSEC 位于 PCIe 配置空间 257B~4KB 的区域,其前 8B 格式固定,Capability Header 及 Vendor-Specific Header 如下图所示。

在这里插入图片描述
  值得说明的是,单个 PCIe Function 或 RCRB 内可以实现多个 VSEC 结构,从而支持多个自定义的扩展能力。多个 VSEC 通过 Vendor-Specific Header 中的 VSEC ID 来区分。



3. Designated Vendor-Specific Extended Capability (DVSEC)

  Designated Vendor-Specific Extended Capability (DVSEC),特定的供应商指定扩展能力,可选,供多个供应商使用,单个 PCIe Function 或 RCRB 内可以实现多个 DVSEC 结构。DVSEC 结构如下图所示。
在这里插入图片描述

  跟 VSEC 相比,DVSEC Header 中多了 2B Vendor-Specific Header。原 VSEC ID 挪到 Byte[9:8]的位置,原来的位置替换为 DVSEC Vendor ID。如下图所示。

在这里插入图片描述
  举个例子,

  • 对于 UCIe 协议,DVSEC Vendor ID=TBD(还没分配),DVSEC ID=0x00h 表示 UCIe Link DVSEC,DVSEC ID=0x01 表示 CiSRB DVSEC。
  • 对于 CXL,DVSEC Vendor ID=0x8086 @CXL 1.1, 0x1E98 @CXL 2.0,DVSEC ID=0x00 表示 PCIe DVSEC for CXL Devices,0x02 表示 Non-CXL Function Map DVSEC,0x03 表示 CXL Extensions DVSEC for Ports,0x05 表示 GPF DVSEC,0x07 表示 PCIe DVSEC for Flex Bus Port,等等。


4. 参考

  1. PCI Express Base Spec 6.0.1
  2. pci - Difference between DVSEC, VSEC and RCRB - Stack Overflow

— END —


🔥 精选往期 PCIe 协议系列文章,请查看【 PCIe 专栏🔥

⬆️ 返回顶部 ⬆️

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MangoPapa

请作者喝瓶可乐吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值