Peripheral Component Interconnect — Änderungen 7263 → 7264

Zeile 12: Zeile 12:
 
{| {{Prettytable}}
 
{| {{Prettytable}}
 
|- align="center"
 
|- align="center"
−
! Register || width="22%" | 31-24 || width="22%" | 23-16 || width="22%" | 15-8 || width="22%" | 7-0
+
! Register !! width="22%" | 31-24 !! width="22%" | 23-16 !! width="22%" | 15-8 !! width="22%" | 7-0
 
|- align="center"
 
|- align="center"
 
| 0x000      || colspan="2" | Device ID      || colspan="2" | Vendor ID
 
| 0x000      || colspan="2" | Device ID      || colspan="2" | Vendor ID
Zeile 56: Zeile 56:
 
{| {{Prettytable}}
 
{| {{Prettytable}}
 
|- align="center"
 
|- align="center"
−
! Header Type || Kurze Beschreibung
+
! Header Type !! Kurze Beschreibung
 
|- align="center"
 
|- align="center"
 
| 0x00 || [[#Header_Type_0x00|Standard]]
 
| 0x00 || [[#Header_Type_0x00|Standard]]
Zeile 71: Zeile 71:
 
{| {{Prettytable}}
 
{| {{Prettytable}}
 
|- align="center"
 
|- align="center"
−
! Register || width="22%" | 31-24 || width="22%" | 23-16 || width="22%" | 15-8 || width="22%" | 7-0
+
! Register !! width="22%" | 31-24 !! width="22%" | 23-16 !! width="22%" | 15-8 !! width="22%" | 7-0
 
|- align="center"
 
|- align="center"
 
| 0x010    || colspan="4" | Base Address #0 (BAR0)
 
| 0x010    || colspan="4" | Base Address #0 (BAR0)
Zeile 190: Zeile 190:
  
 
==== Base-Address-Register ====
 
==== Base-Address-Register ====
−
Die Base-Address-Register dienen dem Zuweisen von Adressen an die Ressourcen des PCI-Gerätes. Ein PCI-Gerät kann bis zu 6, bei Bridges nur maximal 2, Ressourcen anbieten dehnen das BIOS oder OS eine Adresse zuweist über welche diese Ressource dann ansprechbar ist. Als Ressourcen können Speicherbereiche aber auch IO-Bereiche angeboten werden, der IO-Adress-Raum wird aber nicht auf jeder Plattform unterstützt, eigentlich nur beim PC. Die IO-Ressourcen haben verschiedene Nachteile, u.a. sind sie langsamer da es keine Burst-Zugriffe gibt und es gibt Einschränkungen bei der Adressenraumgröße. Speicher-Ressourcen können bis zu 64 Bit Adressen nutzen, wofür dann aber 2 hintereinander liegende BARs für eine Ressource benutzt werden müssen.
+
Die Base-Address-Register dienen dem Zuweisen von Adressen an die Ressourcen des PCI-Gerätes. Ein PCI-Gerät kann bis zu 6, bei Bridges nur maximal 2, Ressourcen anbieten dehnen das BIOS oder OS eine Adresse zuweist über welche diese Ressource dann ansprechbar ist. Als Ressourcen können Speicherbereiche aber auch IO-Bereiche angeboten werden, der IO-Adress-Raum wird aber nicht auf jeder Plattform unterstützt, eigentlich nur beim PC. Die IO-Ressourcen haben verschiedene Nachteile, u.a. sind sie langsamer da es keine Burst-Zugriffe gibt und es gibt Einschränkungen bei der Adressenraumgröße. Speicher-Ressourcen können bis zu 64 Bit Adressen nutzen, wofür dann aber 2 hintereinander liegende BARs für eine Ressource benutzt werden müssen, das folgende BAR enthält dann die oberen 32 Bit der Base-Adresse.
  
 
Nur alleine durch lesen eines BAR-Register kann man nicht auf die Größe der betreffenden Ressource schließen.
 
Nur alleine durch lesen eines BAR-Register kann man nicht auf die Größe der betreffenden Ressource schließen.
Zeile 201: Zeile 201:
 
| Base Address || P || Typ || 0
 
| Base Address || P || Typ || 0
 
|}
 
|}
−
Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt. Für die Bits 2-1 sind nur die Werte 00 und 01 erlaubt. Die Bits 31-4 geben die Basis-Adressbits 31-4 der Speicher-Ressource an.
+
Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt und die Werte 00 und 01 in den Bits 2-1 signalisieren das es sich um einen 32Bit-BAR handelt. Die Bits 31-4 geben die Basis-Adressbits 31-4 der Speicher-Ressource an.
  
 
===== Base-Address-Register für Speicher-Ressourcen mit 64 Bit Adresse =====
 
===== Base-Address-Register für Speicher-Ressourcen mit 64 Bit Adresse =====
Zeile 210: Zeile 210:
 
| Base Address || P || Typ || 0
 
| Base Address || P || Typ || 0
 
|}
 
|}
−
Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt. Für die Bits 2-1 ist nur der Wert 10 erlaubt. Die Bits 63-4 geben die Basis-Adressbits 63-4 der Speicher-Ressource an.
+
Das Bit 0 signalisiert mit seinem Wert 0 das es sich bei dem betreffenden BAR um eine Speicher-Ressource handelt und der Wert 10 in den Bits 2-1 signalisiert das es sich um einen 64-Bit-BAR handelt. Die Bits 63-4 geben die Basis-Adressbits 63-4 der Speicher-Ressource an.
  
 
===== Base-Address-Register für IO-Ressourcen =====
 
===== Base-Address-Register für IO-Ressourcen =====
Zeile 227: Zeile 227:
 
{| {{Prettytable}}
 
{| {{Prettytable}}
 
|- align="center"
 
|- align="center"
−
! 31         || 30-24     || 23-16     || 15-11       || 10-8           || 7-0
+
! 31 !! 30-24 !! 23-16 !! 15-11 !! 10-8 !! 7-0
 
|- align="center"
 
|- align="center"
−
| Enable Bit || bgcolor="#bbb" | Reserviert || Busnummer || Gerätenummer || Funktionsnummer || Registernummer<br /> bit0 u. bit1 sind 0
+
| Enable Bit || bgcolor="#bbb" | Reserviert || Busnummer || Gerätenummer || Funktionsnummer || Registernummer<br /> Bit 0 u. Bit 1 sind 0
 
|}
 
|}
  
Zeile 270: Zeile 270:
 
== Classcodes ==
 
== Classcodes ==
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Class     || Beschreibung
+
! Class !! Beschreibung
 
|-
 
|-
−
| 0x00     || [[#Class_0x00_-_Pre_2.0 | Alle Geräte die gebaut wurden bevor Classcodes eingeführt wurden ]]
+
| 0x00 || [[#Class_0x00_-_Pre_2.0 | Alle Geräte die gebaut wurden bevor Classcodes eingeführt wurden]]
 
|-
 
|-
−
| 0x01     || [[#Class_0x01_-_Massenspeicher | Massenspeicher]]
+
| 0x01 || [[#Class_0x01_-_Massenspeicher | Massenspeicher]]
 
|-
 
|-
−
| 0x02     || [[#Class_0x02_-_Netzwerk-Controller | Netzwerk-Controller]]
+
| 0x02 || [[#Class_0x02_-_Netzwerk-Controller | Netzwerk-Controller]]
 
|-
 
|-
−
| 0x03     || [[#Class_0x03_-_Bildschirm-Controller | Bildschirm-Controller]]
+
| 0x03 || [[#Class_0x03_-_Bildschirm-Controller | Bildschirm-Controller]]
 
|-
 
|-
−
| 0x04     || [[#Class_0x04_-_Multimedia-Geräte | Multimedia-Geräte]]
+
| 0x04 || [[#Class_0x04_-_Multimedia-Geräte | Multimedia-Geräte]]
 
|-
 
|-
−
| 0x05     || [[#Class_0x05_-_Speicher-Controller | Speicher-Controller]]
+
| 0x05 || [[#Class_0x05_-_Speicher-Controller | Speicher-Controller]]
 
|-
 
|-
−
| 0x06     || [[#Class_0x06_-_Bridge-Geräte | Bridge-Geräte]]
+
| 0x06 || [[#Class_0x06_-_Bridge-Geräte | Bridge-Geräte]]
 
|-
 
|-
−
| 0x07     || [[#Class_0x07_-_Controller_zur_einfachen_Kommunikation | Controller zur einfachen Kommunikation]]
+
| 0x07 || [[#Class_0x07_-_Controller_zur_einfachen_Kommunikation | Controller zur einfachen Kommunikation]]
 
|-
 
|-
−
| 0x08     || [[#Class_0x08_-_System-Peripherie | System-Peripherie]]
+
| 0x08 || [[#Class_0x08_-_System-Peripherie | System-Peripherie]]
 
|-
 
|-
−
| 0x09     || [[#Class_0x09_-_Input-Geräte | Input-Geräte]]
+
| 0x09 || [[#Class_0x09_-_Input-Geräte | Input-Geräte]]
 
|-
 
|-
−
| 0x0A     || [[#Class_0x0A_-_Docking-Stationen | Docking-Stationen]]
+
| 0x0A || [[#Class_0x0A_-_Docking-Stationen | Docking-Stationen]]
 
|-
 
|-
−
| 0x0B     || [[#Class_0x0B_-_Prozessoren | Prozessoren]]
+
| 0x0B || [[#Class_0x0B_-_Prozessoren | Prozessoren]]
 
|-
 
|-
−
| 0x0C     || [[#Class_0x0C_-_Serielle_Buscontroller | Serielle Buscontroller]]
+
| 0x0C || [[#Class_0x0C_-_Serielle_Buscontroller | Serielle Buscontroller]]
 
|-
 
|-
−
| 0x0D     || [[#Class_0x0D_-_Wireless-Controller | Wireless-Controller]]
+
| 0x0D || [[#Class_0x0D_-_Wireless-Controller | Wireless-Controller]]
 
|-
 
|-
−
| 0x0E     || [[#Class_0x0E_-_Intelligente_Controller | Intelligente Controller]]
+
| 0x0E || [[#Class_0x0E_-_Intelligente_Controller | Intelligente Controller]]
 
|-
 
|-
−
| 0x0F     || [[#Class_0x0F_-_Satelliten-Kommunikations-Controller | Satelliten-Kommunikations-Controller]]
+
| 0x0F || [[#Class_0x0F_-_Satelliten-Kommunikations-Controller | Satelliten-Kommunikations-Controller]]
 
|-
 
|-
−
| 0x10     || [[#Class_0x10_-_Encryption/Decryption-Controller | Encryption/Decryption-Controller]]
+
| 0x10 || [[#Class_0x10_-_Encryption/Decryption-Controller | Encryption/Decryption-Controller]]
 
|-
 
|-
−
| 0x11     || [[#Class_0x11_-_Datenerfassungs-_und_Signalprozessor-Controller | Datenerfassungs- und Signalprozessor-Controller]]
+
| 0x11 || [[#Class_0x11_-_Datenerfassungs-_und_Signalprozessor-Controller | Datenerfassungs- und Signalprozessor-Controller]]
 
|- bgcolor='#BBB'
 
|- bgcolor='#BBB'
 
| 0x12-0xFE || ''Reserviert''
 
| 0x12-0xFE || ''Reserviert''
 
|-
 
|-
−
| 0xFF     || Sonstige
+
| 0xFF || Sonstige
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x00 - Pre 2.0 ===
 
=== Class 0x00 - Pre 2.0 ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Alle nicht-[[Video Graphics Array | VGA]]-Geräte
+
| 0x00 || 0x00 || Alle nicht-[[Video Graphics Array | VGA]]-Geräte
 
|-
 
|-
−
| 0x01     || 0x00     || VGA-Geräte
+
| 0x01 || 0x00 || VGA-Geräte
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x01 - Massenspeicher ===
 
=== Class 0x01 - Massenspeicher ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || SCSI
+
| 0x00 || 0x00 || SCSI
 
|-
 
|-
−
| 0x01     || 0x??     || IDE
+
| 0x01 || 0x?? || IDE
 
|-
 
|-
−
| 0x02     || 0x00     || [[Floppy Disk Controller | Floppy]]
+
| 0x02 || 0x00 || [[Floppy Disk Controller | Floppy]]
 
|-
 
|-
−
| 0x03     || 0x00     || IPI
+
| 0x03 || 0x00 || IPI
 
|-
 
|-
−
| 0x04     || 0x00     || RAID
+
| 0x04 || 0x00 || RAID
 
|-
 
|-
−
| 0x05     || 0x20     || [[AT Attachment | ATA]]-Controller (Single [[Direct Memory Access | DMA]])
+
| 0x05 || 0x20 || [[AT Attachment | ATA]]-Controller (Single [[Direct Memory Access | DMA]])
 
|-
 
|-
−
| 0x05     || 0x30     || ATA-Controller (Chained DMA)
+
| 0x05 || 0x30 || ATA-Controller (Chained DMA)
 
|-
 
|-
−
| 0x80     || 0x00     || Anderer Massenspeicher
+
| 0x80 || 0x00 || Anderer Massenspeicher
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x02 - [[:Kategorie:Netzwerk | Netzwerk]]-Controller ===
 
=== Class 0x02 - [[:Kategorie:Netzwerk | Netzwerk]]-Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || [[Ethernet]]
+
| 0x00 || 0x00 || [[Ethernet]]
 
|-
 
|-
−
| 0x01     || 0x00     || Token Ring
+
| 0x01 || 0x00 || Token Ring
 
|-
 
|-
−
| 0x02     || 0x00     || FDDI
+
| 0x02 || 0x00 || FDDI
 
|-
 
|-
−
| 0x03     || 0x00     || ATM
+
| 0x03 || 0x00 || ATM
 
|-
 
|-
−
| 0x04     || 0x00     || ISDN
+
| 0x04 || 0x00 || ISDN
 
|-
 
|-
−
| 0x05     || 0x00     || World FIP (Feldbus)
+
| 0x05 || 0x00 || World FIP (Feldbus)
 
|-
 
|-
−
| 0x06     || 0x??     || PICMG 2.14, Multi-Computing
+
| 0x06 || 0x?? || PICMG 2.14, Multi-Computing
 
|-
 
|-
−
| 0x80     || 0x00     || Anderer Netzwerk-Controller
+
| 0x80 || 0x00 || Anderer Netzwerk-Controller
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x03 - Bildschirm-Controller ===
 
=== Class 0x03 - Bildschirm-Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || VGA
+
| 0x00 || 0x00 || VGA
 
|-
 
|-
−
| 0x00     || 0x01     || 8514
+
| 0x00 || 0x01 || 8514
 
|-
 
|-
−
| 0x01     || 0x00     || XGA
+
| 0x01 || 0x00 || XGA
 
|-
 
|-
−
| 0x02     || 0x00     || 3D
+
| 0x02 || 0x00 || 3D
 
|-
 
|-
−
| 0x80     || 0x00     || Anderer Bildschirm-Controller
+
| 0x80 || 0x00 || Anderer Bildschirm-Controller
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x04 - Multimedia-Geräte ===
 
=== Class 0x04 - Multimedia-Geräte ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Video-Gerät
+
| 0x00 || 0x00 || Video-Gerät
 
|-
 
|-
−
| 0x01     || 0x00     || Audio-Gerät
+
| 0x01 || 0x00 || Audio-Gerät
 
|-
 
|-
−
| 0x02     || 0x00     || Telefonie
+
| 0x02 || 0x00 || Telefonie
 
|-
 
|-
−
| 0x80     || 0x00     || Anderes Multimedia-Gerät
+
| 0x80 || 0x00 || Anderes Multimedia-Gerät
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x05 - Speicher-Controller ===
 
=== Class 0x05 - Speicher-Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || RAM
+
| 0x00 || 0x00 || RAM
 
|-
 
|-
−
| 0x01     || 0x00     || Flash-Speicher
+
| 0x01 || 0x00 || Flash-Speicher
 
|-
 
|-
−
| 0x80     || 0x00     || Anderer Speicher
+
| 0x80 || 0x00 || Anderer Speicher
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x06 - Bridge-Geräte ===
 
=== Class 0x06 - Bridge-Geräte ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Host/PCI-Bridge
+
| 0x00 || 0x00 || Host/PCI-Bridge
 
|-
 
|-
−
| 0x01     || 0x00     || PCI/ISA-Bridge
+
| 0x01 || 0x00 || PCI/ISA-Bridge
 
|-
 
|-
−
| 0x02     || 0x00     || PCI/EISA-Bridge
+
| 0x02 || 0x00 || PCI/EISA-Bridge
 
|-
 
|-
−
| 0x03     || 0x00     || PCI/MicroChannel-Bridge
+
| 0x03 || 0x00 || PCI/MicroChannel-Bridge
 
|-
 
|-
−
| 0x04     || 0x00     || PCI/PCI-Bridge (hat Header Type 0x01)
+
| 0x04 || 0x00 || PCI/PCI-Bridge (hat Header Type 0x01)
 
|-
 
|-
−
| 0x04     || 0x01     || PCI/PCI-Bridge (Subtractive Decode, hat Header Type 0x01)
+
| 0x04 || 0x01 || PCI/PCI-Bridge (Subtractive Decode, hat Header Type 0x01)
 
|-
 
|-
−
| 0x05     || 0x00     || PCI/PCMCIA-Bridge
+
| 0x05 || 0x00 || PCI/PCMCIA-Bridge
 
|-
 
|-
−
| 0x06     || 0x00     || PCI/NuBus-Bridge
+
| 0x06 || 0x00 || PCI/NuBus-Bridge
 
|-
 
|-
−
| 0x07     || 0x00     || PCI/CardBus-Bridge
+
| 0x07 || 0x00 || PCI/CardBus-Bridge
 
|-
 
|-
−
| 0x08     || 0x??     || Raceway, Switched Fabric
+
| 0x08 || 0x?? || Raceway, Switched Fabric
 
|-
 
|-
−
| 0x09     || 0x40     || Semitransparente PCI/PCI-Bridge
+
| 0x09 || 0x40 || Semitransparente PCI/PCI-Bridge (primär zum Host)
−
(primär zum Host)
 
 
|-
 
|-
−
| 0x09     || 0x80     || Semitransparente PCI/PCI-Bridge (sekundär zum Host)
+
| 0x09 || 0x80 || Semitransparente PCI/PCI-Bridge (sekundär zum Host)
 
|-
 
|-
−
| 0x0A     || 0x00     || InfiniBand/PCI-Brige
+
| 0x0A || 0x00 || InfiniBand/PCI-Brige
 
|-
 
|-
−
| 0x80     || Anderer Bridge-Typ
+
| 0x80 || 0x?? || Anderer Bridge-Typ
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x07 - Controller zur einfachen Kommunikation ===
 
=== Class 0x07 - Controller zur einfachen Kommunikation ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Serielle Schnittstelle
+
| 0x00 || 0x00 || Serielle Schnittstelle (XT-kompatibel)
−
(XT-kompatibel)
 
 
|-
 
|-
−
| 0x00     || 0x01     || Serielle Schnittstelle (16450)
+
| 0x00 || 0x01 || Serielle Schnittstelle (16450)
 
|-
 
|-
−
| 0x00     || 0x02     || Serielle Schnittstelle (16550)
+
| 0x00 || 0x02 || Serielle Schnittstelle (16550)
 
|-
 
|-
−
| 0x00     || 0x03     || Serielle Schnittstelle (16650)
+
| 0x00 || 0x03 || Serielle Schnittstelle (16650)
 
|-
 
|-
−
| 0x00     || 0x04     || Serielle Schnittstelle (16750)
+
| 0x00 || 0x04 || Serielle Schnittstelle (16750)
 
|-
 
|-
−
| 0x00     || 0x05     || Serielle Schnittstelle (16850)
+
| 0x00 || 0x05 || Serielle Schnittstelle (16850)
 
|-
 
|-
−
| 0x00     || 0x06     || Serielle Schnittstelle (16950)
+
| 0x00 || 0x06 || Serielle Schnittstelle (16950)
 
|-
 
|-
−
| 0x01     || 0x00     || Parallelport
+
| 0x01 || 0x00 || Parallelport (Standard)
−
(Standard)
 
 
|-
 
|-
−
| 0x01     || 0x01     || Parallelport (Bidirektional)
+
| 0x01 || 0x01 || Parallelport (Bidirektional)
 
|-
 
|-
−
| 0x01     || 0x02     || Parallelport (ECP 1.0)
+
| 0x01 || 0x02 || Parallelport (ECP 1.0)
 
|-
 
|-
−
| 0x01     || 0x03     || Parallelport (IEEE 1284)
+
| 0x01 || 0x03 || Parallelport (IEEE 1284)
 
|-
 
|-
−
| 0x01     || 0xFE     || IEEE-1284-Gerät, Target
+
| 0x01 || 0xFE || IEEE-1284-Gerät, Target
 
|-
 
|-
−
| 0x02     || 0x00     || Multiport Serial Controller
+
| 0x02 || 0x00 || Multiport Serial Controller
 
|-
 
|-
−
| 0x03     || 0x00     || Standard-Modem
+
| 0x03 || 0x00 || Standard-Modem
 
|-
 
|-
−
| 0x03     || 0x01     || Hayes-kompatibles Modem (16450)
+
| 0x03 || 0x01 || Hayes-kompatibles Modem (16450)
 
|-
 
|-
−
| 0x04     || 0x00     || GPIB (IEEE488.1/2) Controller
+
| 0x04 || 0x00 || GPIB (IEEE488.1/2) Controller
 
|-
 
|-
−
| 0x04     || 0x02     || Hayes-kompatibles Modem (16550)
+
| 0x04 || 0x02 || Hayes-kompatibles Modem (16550)
 
|-
 
|-
−
| 0x04     || 0x03     || Hayes-kompatibles Modem (16650)
+
| 0x04 || 0x03 || Hayes-kompatibles Modem (16650)
 
|-
 
|-
−
| 0x04     || 0x04     || Hayes-kompatibles Modem (16750)
+
| 0x04 || 0x04 || Hayes-kompatibles Modem (16750)
 
|-
 
|-
−
| 0x05     || 0x00     || SmartCard
+
| 0x05 || 0x00 || SmartCard
 
|-
 
|-
−
| 0x80     || 0x00     || Andere
+
| 0x80 || 0x00 || AnderemController
−
Controller
 
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x08 - System-Peripherie ===
 
=== Class 0x08 - System-Peripherie ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || 8259-[[Programmable Interrupt Controller | PIC]]
+
| 0x00 || 0x00 || 8259-[[Programmable Interrupt Controller | PIC]]
 
|-
 
|-
−
| 0x00     || 0x01     || ISA-PIC
+
| 0x00 || 0x01 || ISA-PIC
 
|-
 
|-
−
| 0x00     || 0x02     || EISA-PIC
+
| 0x00 || 0x02 || EISA-PIC
 
|-
 
|-
−
| 0x00     || 0x10     || IO-[[Advanced Programmable Interrupt Controller | APIC]] (EISA)
+
| 0x00 || 0x10 || IO-[[Advanced Programmable Interrupt Controller | APIC]] (EISA)
 
|-
 
|-
−
| 0x00     || 0x20     || IOx-APIC
+
| 0x00 || 0x20 || IOx-APIC
 
|-
 
|-
−
| 0x01     || 0x00     || 8237-DMA-Controller
+
| 0x01 || 0x00 || 8237-DMA-Controller
 
|-
 
|-
−
| 0x01     || 0x01     || ISA-DMA-Controller
+
| 0x01 || 0x01 || ISA-DMA-Controller
 
|-
 
|-
−
| 0x01     || 0x02     || EISA-DMA-Controller
+
| 0x01 || 0x02 || EISA-DMA-Controller
 
|-
 
|-
−
| 0x02     || 0x00     || Standard-8254-Timer
+
| 0x02 || 0x00 || Standard-8254-Timer
 
|-
 
|-
−
| 0x02     || 0x01     || ISA-System-Timer
+
| 0x02 || 0x01 || ISA-System-Timer
 
|-
 
|-
−
| 0x02     || 0x02     || EISA-System-Timer
+
| 0x02 || 0x02 || EISA-System-Timer
 
|-
 
|-
−
| 0x03     || 0x00     || Standard [[Real Time Clock]]
+
| 0x03 || 0x00 || Standard [[Real Time Clock]]
 
|-
 
|-
−
| 0x03     || 0x01     || ISA Real Time Clock
+
| 0x03 || 0x01 || ISA Real Time Clock
 
|-
 
|-
−
| 0x04     || 0x00     || PCI Hot Plug Controller
+
| 0x04 || 0x00 || PCI Hot Plug Controller
 
|-
 
|-
−
| 0x80     || 0x00     || Andere System-Peripherie
+
| 0x80 || 0x00 || Andere System-Peripherie
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x09 - Input-Geräte ===
 
=== Class 0x09 - Input-Geräte ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Tastatur
+
| 0x00 || 0x00 || Tastatur
 
|-
 
|-
−
| 0x01     || 0x00     || Digitizer (Stift)
+
| 0x01 || 0x00 || Digitizer (Stift)
 
|-
 
|-
−
| 0x02     || 0x00     || Maus
+
| 0x02 || 0x00 || Maus
 
|-
 
|-
−
| 0x03     || 0x00     || Scanner
+
| 0x03 || 0x00 || Scanner
 
|-
 
|-
−
| 0x04     || 0x00     || Standard-[[Gameport]]
+
| 0x04 || 0x00 || Standard-[[Gameport]]
 
|-
 
|-
−
| 0x04     || 0x10     || Gameport
+
| 0x04 || 0x10 || Gameport
 
|-
 
|-
−
| 0x80     || 0x00     || Anderes Input-Gerät
+
| 0x80 || 0x00 || Anderes Input-Gerät
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x0A - Docking-Stationen ===
 
=== Class 0x0A - Docking-Stationen ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Normale Docking-Station
+
| 0x00 || 0x00 || Normale Docking-Station
 
|-
 
|-
−
| 0x80     || 0x00     || Andere Docking-Station
+
| 0x80 || 0x00 || Andere Docking-Station
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x0B - Prozessoren ===
 
=== Class 0x0B - Prozessoren ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming-Interface || Beschreibung
+
! Subclass !! Programming-Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || 386
+
| 0x00 || 0x00 || 386
 
|-
 
|-
−
| 0x01     || 0x00     || 486
+
| 0x01 || 0x00 || 486
 
|-
 
|-
−
| 0x02     || 0x00     || Pentium
+
| 0x02 || 0x00 || Pentium
 
|-
 
|-
−
| 0x10     || 0x00     || Alpha
+
| 0x10 || 0x00 || Alpha
 
|-
 
|-
−
| 0x20     || 0x00     || PowerPC
+
| 0x20 || 0x00 || PowerPC
 
|-
 
|-
−
| 0x30     || 0x00     || MIPS
+
| 0x30 || 0x00 || MIPS
 
|-
 
|-
−
| 0x40     || 0x00     || Coprozessor
+
| 0x40 || 0x00 || Coprozessor
 
|-
 
|-
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x0C - Serielle Buscontroller ===
 
=== Class 0x0C - Serielle Buscontroller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Firewire (IEEE 1394)
+
| 0x00 || 0x00 || Firewire (IEEE 1394)
 
|-
 
|-
−
| 0x00     || 0x10     || Firewire (OHCI)
+
| 0x00 || 0x10 || Firewire (OHCI)
 
|-
 
|-
−
| 0x01     || 0x00     || ACCESS-Bus
+
| 0x01 || 0x00 || ACCESS-Bus
 
|-
 
|-
−
| 0x02     || 0x00     || SSA (Serial Storage Architecture)
+
| 0x02 || 0x00 || SSA (Serial Storage Architecture)
 
|-
 
|-
−
| 0x03     || 0x00     || [[Universal Serial Bus | USB]]-Host (UHCI)
+
| 0x03 || 0x00 || [[Universal Serial Bus | USB]]-Host (UHCI)
 
|-
 
|-
−
| 0x03     || 0x10     || USB-Host (OHCI)
+
| 0x03 || 0x10 || USB-Host (OHCI)
 
|-
 
|-
−
| 0x03     || 0x20     || USB-Host (EHCI)
+
| 0x03 || 0x20 || USB-Host (EHCI)
 
|-
 
|-
−
| 0x03     || 0x80     || USB-Host (kein HCI)
+
| 0x03 || 0x80 || USB-Host (kein HCI)
 
|-
 
|-
−
| 0x03     || 0xFE     || USB-Gerät
+
| 0x03 || 0xFE || USB-Device
 
|-
 
|-
−
| 0x04     || 0x00     || Fibre Channel
+
| 0x04 || 0x00 || Fibre Channel
 
|-
 
|-
−
| 0x05     || 0x00     || SMB (System Management Bus)
+
| 0x05 || 0x00 || SMB (System Management Bus)
 
|-
 
|-
−
| 0x06     || 0x00     || InfiniBand
+
| 0x06 || 0x00 || InfiniBand
 
|-
 
|-
−
| 0x07     || 0x00     || IPMI SMIC Interface
+
| 0x07 || 0x00 || IPMI SMIC Interface
 
|-
 
|-
−
| 0x07     || 0x01     || IPMI Keyboard Style Interface
+
| 0x07 || 0x01 || IPMI Keyboard Style Interface
 
|-
 
|-
−
| 0x07     || 0x02     || IPMI Block Transfer Device
+
| 0x07 || 0x02 || IPMI Block Transfer Device
 
|-
 
|-
−
| 0x08     || 0x00     || SERCOS Interface
+
| 0x08 || 0x00 || SERCOS Interface
 
|-
 
|-
−
| 0x09     || 0x00     || CANBus
+
| 0x09 || 0x00 || CAN-Bus
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x0D - Wireless-Controller ===
 
=== Class 0x0D - Wireless-Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || iRDA
+
| 0x00 || 0x00 || iRDA
 
|-
 
|-
−
| 0x01     || 0x00     || Consumer Infrared
+
| 0x01 || 0x00 || Consumer Infrared
 
|-
 
|-
−
| 0x10     || 0x00     || Radio Frequency
+
| 0x10 || 0x00 || Radio Frequency
 
|-
 
|-
−
| 0x11     || 0x00     || Bluetooth
+
| 0x11 || 0x00 || Bluetooth
 
|-
 
|-
−
| 0x12     || 0x00     || Broadband
+
| 0x12 || 0x00 || Broadband
 
|-
 
|-
−
| 0x80     || 0x00     || Anderer Wireless-Controller
+
| 0x80 || 0x00 || Anderer Wireless-Controller
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x0E - Intelligente Controller ===
 
=== Class 0x0E - Intelligente Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x??     || I²O-Architektur
+
| 0x00 || 0x?? || I²O-Architektur
 
|-
 
|-
−
| 0x00     || 0x00     || Message FIFO
+
| 0x00 || 0x00 || Message FIFO
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x0F - Satelliten-Kommunikations-Controller ===
 
=== Class 0x0F - Satelliten-Kommunikations-Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x01     || 0x00     || TV
+
| 0x01 || 0x00 || TV
 
|-
 
|-
−
| 0x02     || 0x00     || Audio
+
| 0x02 || 0x00 || Audio
 
|-
 
|-
−
| 0x03     || 0x00     || Sprache
+
| 0x03 || 0x00 || Sprache
 
|-
 
|-
−
| 0x04     || 0x00     || Daten
+
| 0x04 || 0x00 || Daten
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x10 - Encryption/Decryption-Controller ===
 
=== Class 0x10 - Encryption/Decryption-Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x01     || 0x00     || Netzwerk
+
| 0x01 || 0x00 || Netzwerk
 
|-
 
|-
−
| 0x10     || 0x00     || Entertainment
+
| 0x10 || 0x00 || Entertainment
 
|-
 
|-
−
| 0x80     || 0x00     || Anderer Controller
+
| 0x80 || 0x00 || Anderer Controller
 
|}
 
|}
−
<br />
 
  
 
=== Class 0x11 - Datenerfassungs- und Signalprozessor-Controller ===
 
=== Class 0x11 - Datenerfassungs- und Signalprozessor-Controller ===
 
{| {{Prettytable}}
 
{| {{Prettytable}}
−
! Subclass || Programming Interface || Beschreibung
+
! Subclass !! Programming Interface !! Beschreibung
 
|-
 
|-
−
| 0x00     || 0x00     || Digital Input/Output Module
+
| 0x00 || 0x00 || Digital Input/Output Module
 
|-
 
|-
−
| 0x01     || 0x00     || Zähler
+
| 0x01 || 0x00 || Zähler
 
|-
 
|-
−
| 0x10     || 0x00     || Synchronisation und Frequenzmessung
+
| 0x10 || 0x00 || Synchronisation und Frequenzmessung
 
|-
 
|-
−
| 0x20     || 0x00     || Management Card
+
| 0x20 || 0x00 || Management Card
 
|-
 
|-
−
| 0x80     || 0x00     || Anderer Controller
+
| 0x80 || 0x00 || Anderer Controller
 
|}
 
|}
−
<br />
 
  
 
== Weblinks ==
 
== Weblinks ==