PCIe设备识别深度解析

微信视频号:sph0RgSyDYV47z6
快手号:4874645212
抖音号:dy0so323fq2w
小红书号:95619019828

B站:UID:3546863642871878

1.PCIe每日一问简介
1.文章坚持实际工作中有所帮助---实际工作中遇到问题可查阅。
2.章节内容规划具有连贯性。lspci-setpci-PCIe Configuration Space--next。
3.文章以文字和视频形式发布,建议大家视频和文章结合查阅。
4.视频发布:公众号、B站、抖音,搜寻“芯塾科技”可观看。
5.文章发布: 公众号、CSDN、知乎、B站,搜寻“芯塾科技”可浏览。
2.概述
1.身份证,获取居民的基本信息。
 
 
添加图片注释,不超过 140 字(可选)
2.PCIe设备的信息,通过PCIe配置空间提供相应寄存器可获取PCIe设备信息。
3.获取PCIe类型
1.PCIe拓扑结构如下。
 
 
添加图片注释,不超过 140 字(可选)
2. PCIe类型根据PCIe设备在PCIe拓扑中充当的角色可分为
Root Port/RCiEP Switch USP/DSP /Endpoint
3.软件如何识别?????
4.PCIe能力寄存器获取PCIe设备类型。
 
 
添加图片注释,不超过 140 字(可选)
 
 
添加图片注释,不超过 140 字(可选)
4.获取PCIe Configuration Space header type
1.Type 0/1 配置空间头空间。
 
 
添加图片注释,不超过 140 字(可选)
 
 
添加图片注释,不超过 140 字(可选)
2.没有软件的硬件的犹如废铜烂铁。
3.硬件设备需要加载驱动才能工作,驱动设备有相应的硬件厂商提供。
4.如上获取了PCIe设备类型,如何获取具体的设备厂商。
5.获取PCIe设备厂商
1.PCIe配置空间提供vendor id/device id。
 
 
添加图片注释,不超过 140 字(可选)
2.Vendor ID
  • 指示PCIe硬件设备的研发厂商。
  • Vendor ID由PIC-SIG组织分配,每个用户都是唯一的。
  • 获取硬件厂商PCIe Vendor ID。
 
 
添加图片注释,不超过 140 字(可选)
  • Intel:8086h AMD:1022h
3.Device ID
  • 硬件厂商研发不同架构以及功能的芯片。
  • Device ID为硬件厂商提供的芯片产品编码。
 
 
添加图片注释,不超过 140 字(可选)
4.Subsystem Vendor ID
  • 芯片产品卡<PCB>厂商ID, 此ID也是由PCI-SIG组织分配。
  • 比如 “HP”是显卡的生产商,而“NVIDIA”设计了GPU芯片。
5.Subsystem Device ID
  • 芯片产品卡<PCB>厂商提供的Device ID。
6.获取PCIe设备类型
1.PCIe是什么,PCIe是数据通路,负责CPU和设备进行交互。
2.PCIe设备芯片,除了PCIe模块外内部还有其它功能模块,PCIe只是负责和CPU交互的物理通道。
3.如下三类比较常见的PCIe设备,PCIe模块逻辑差别不大。
 
 
添加图片注释,不超过 140 字(可选)
4.如何获取PCIe设备属于那种类型?比如SSD/Wifi/Ethernet。
1.Type 0/1 配置空间头空间。
 
 
添加图片注释,不超过 140 字(可选)
 
 
添加图片注释,不超过 140 字(可选)
2.没有软件的硬件的犹如废铜烂铁。 3.硬件设备需要加载驱动才能工作,驱动设备有相应的硬件厂商提供。 4.如上获取了PCIe设备类型,如何获取具体的设备厂商。 5.获取PCIe设备厂商 1.PCIe配置空间提供vendor id/device id。
 
 
添加图片注释,不超过 140 字(可选)
2.Vendor ID
  • 指示PCIe硬件设备的研发厂商。
  • Vendor ID由PIC-SIG组织分配,每个用户都是唯一的。
  • 获取硬件厂商PCIe Vendor ID。
 
 
添加图片注释,不超过 140 字(可选)
  • Intel:8086h AMD:1022h
3.Device ID
  • 硬件厂商研发不同架构以及功能的芯片。
  • Device ID为硬件厂商提供的芯片产品编码。
 
 
添加图片注释,不超过 140 字(可选)
4.Subsystem Vendor ID
  • 芯片产品卡<PCB>厂商ID, 此ID也是由PCI-SIG组织分配。
  • 比如 “HP”是显卡的生产商,而“NVIDIA”设计了GPU芯片。
5.Subsystem Device ID
  • 芯片产品卡<PCB>厂商提供的Device ID。 6.获取PCIe设备类型 1.PCIe是什么,PCIe是数据通路,负责CPU和设备进行交互。 2.PCIe设备芯片,除了PCIe模块外内部还有其它功能模块,PCIe只是负责和CPU交互的物理通道。 3.如下三类比较常见的PCIe设备,PCIe模块逻辑差别不大。
 
 
添加图片注释,不超过 140 字(可选)
4.如何获取PCIe设备属于那种类型?比如SSD/Wifi/Ethernet。 5.PCIe提供了Class code。
 
 
添加图片注释,不超过 140 字(可选)
6.Base Class Code获取设备大类(Memory controller、 Network controller、Display Controller)。 7.Sub Class Code获取设备更具体的子类。 8.Base Class code为Memory Controller其对应的Sub Class Code有 RAM memory、Flash memory、CXL、Memory Controller。
 
 
添加图片注释,不超过 140 字(可选)
9.获取PCIe Class Code。
 
 
添加图片注释,不超过 140 字(可选)
10.通过Class code可实现通用程序的加载
  • 操作系统内部通常都内置了常见设备的通用驱动程序。
  • 操作系统通过Class code可识别设备基本类型,通过Base class/Subclass/Programming interface加载其内置的通用驱动程序,让系统能够启动和使用关键硬件设备(硬盘、USB、基本输入输出)。
  • 用户后期可根据Vendor ID/Device ID 安装设备厂商专用驱动程序。
 
微信视频号:sph0RgSyDYV47z6
快手号:4874645212
抖音号:dy0so323fq2w
小红书号:95619019828

B站:UID:3546863642871878

参考文献链接
posted @ 2025-08-10 06:46  吴建明wujianming  阅读(8)  评论(0)    收藏  举报