PCI Express (PCIe) Class Code 是一种标识符,用于在PCI和PCI Express设备中分类不同的设备类型。在PCI配置空间中,Class Code是一个16位的字段,分为三部分:Base Class、Subclass、Programming Interface,各占8位、8位和8位,共同定义了设备的类别和子类别,以及特定的编程接口或功能。 结构组成: Base Class (基础...
其中Device ID和Vendor ID是区分不同设备的关键,OS和UEFI在很多时候就是通过匹配他们来找到不同的设备驱动(Class Code有时也起一定作用)。为了保证其唯一性,Vendor ID应当向PCI特别兴趣小组(PCI SIG)申请而得到。 我们重点来了解一下这些Base Address Registers(BAR)。BAR是PCI配置空间中从0x10 到 0x24的6个regis...
(3)Class ID(r):用于将PIC设备分类,有三个字段组成,分别为Base Class Code、Sub Class Code、Inerface。Base Class Code代表设备类型,如显卡、网卡、PCI桥等。Sub Class Code则对这些设备进行进一步细分。Inerface表示编程接口。如一个正“正向译码”的桥设备Class ID这三个字段分别为0x06、0x04、0x01。 (4)...
Base Class Code代表设备类型,如显卡、网卡、PCI桥等。Sub Class Code则对这些设备进行进一步细分。Inerface表示编程接口。如一个正“正向译码”的桥设备Class ID这三个字段分别为0x06、0x04、0x01。 (4)Command (rw)寄存器:该寄存器是PCI设备的命令寄存器 (5)Status(rw)寄存器:该寄存器是PCI设备的状态寄存器 (...
Class Code:供系统软件识别当前PCIE设备的分类,共24bit,分为三个字节:Base class code(bit23:16将设备分类为显卡、网卡、桥设备等类型)、Sub class code(bit15:8进一步细分类)、interface(bit7:0定义编程接口)。 Header Type:8bit,只读,定义如下表:
PCI总线规定使用负向译码的PCI桥,其Base Class Code寄存器为0x06,Sub Class Code寄存器为0x04,而Interface寄存器为0x01;使用正向译码方式的PCI桥的Interface寄存器为0x00。 如笔记本在连接Dock插座时,也使用了PCI桥。因为在大多数情况下,笔记本与Dock插座是分离使用的,而且Dock插座上连接的设备多为慢速设备,此时用于...
Class Code:类代码。共三字节,分别是 类代码、子类代码、编程接口。类代码不仅用于区分设备类型,还是编程接口的规范,这就是为什么会有通用驱动程序。 IRQ Line:IRQ编号。PC机以前是靠两片8259芯片来管理16个硬件中断。现在为了支持对称多处理器,有了APIC(高级可编程中断控制器),它支持管理24个中断。
Class Code 8: Base System Peripherals Sub-Class Prog. I/F Description 0x00 0x00 Generic 8259 programmable interrupt controller (PIC) 0x01 ISA PIC 0x02 EISA PIC 0x01 0x00 Generic 8237 DMA controller 0x01 ISA DMA controller 0x02 EISA DMA controller 0x02 0x00 Generic 8254 timer 0x01 ISA ...
Class Code:类代码。共三字节,分别是 类代码、子类代码、编程接口。类代码不仅用于区分设备类型,还是编程接口的规范,这就是为什么会有通用驱动程序。 IRQ Line:IRQ编号。PC机以前是靠两片8259芯片来管理16个硬件中断。现在为了支持对称多处理器,有了APIC(高级可编程中断控制器),它支持管理24个中断。
PCI设备类别码