
Als ich tippte
$ lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G80 [GeForce 8800 GTS] [10de:0193] (rev a2)
Ich musste an diese seltsame Zeichenfolge denken, 01:00.0, die ich gelegentlich gesehen habe, ohne jemals zu wissen, was sie mir sagen wollte. Insbesondere der 00.0-Teil davon.
Wie würden Sie einem Laien erklären, was diese Zeichenfolge bedeutet?
Antwort1
Diese Zeichenfolge gibt die Position des Geräts auf dem PCI-Bus an. In „01:00.0“ ist „01“ die PCI-Busnummer (Computer können mehrere PCI-Busse haben), „00“ die Gerätenummer und „0“ die Funktion im Gerät (Geräte können mehrere Funktionen haben, die auf dem Bus separat adressierbar sind).
PCI-Busse sind separate Domänen, die durch Brücken verbunden sind. Geräte auf einem Bus können nicht direkt mit Geräten auf einem anderen Bus kommunizieren, sie müssen kommunizierenüberdie Brücke. Brücken waren in „einfachen“ PCI-Systemen ungewöhnlich, aber in PCI-Express-Systemen gibt es viele Brücken und Busse; jeder PCI-Express-Steckplatz ist sein eigener Bus. Funktionen werden in einer Vielzahl von Situationen verwendet; zum Beispiel, um zwei Geräte in einem einzigen PCI-Gerät zu integrieren (ich habe einen ATTO SCSI HBA, der dies tut) oder um verschiedene Funktionen mit einem einzigen PCI-Gerät bereitzustellen (normalerweise, damit mehrere Gerätetreiber problemlos an einzelne Funktionen angeschlossen werden können; ich habe eine DVB-T-Karte, die dies tut und ihre Audio-, MPEG- und IR-Geräte als separate Funktionen im selben PCI-Gerät bereitstellt).
Einige Systeme haben mehrere PCI-Domänen. In diesem Fall erscheint vor der Fehlernummer eine vierte Ziffernfolge („0000:01:00.0“).
Dies wird am Ende deslspci(8)
manpage:
Slot
Der Name des Steckplatzes, in dem sich das Gerät befindet ([Domain:]Bus:Gerät.Funktion). Dieses Tag ist immer das erste in einem Datensatz.