
當我打字時
$ lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G80 [GeForce 8800 GTS] [10de:0193] (rev a2)
我想起了這個奇怪的字串,01:00.0,我偶爾會看到它,但不知道它想告訴我什麼。特別是其中的 00.0 部分。
您如何向外行解釋該字串的含義?
答案1
該字串給出了裝置在 PCI 總線上的位置。在「01:00.0」中,「01」是 PCI 匯流排號(電腦可以有多個 PCI 匯流排),「00」是裝置號,「0」是裝置中的功能(裝置可以有多個功能,分別可在總線上尋址)。
PCI 總線是獨立的域,透過橋連接。一條總線上的設備不能直接與另一條總線上的設備通信,它們必須進行通信透過橋。橋接器在「普通」PCI 系統中並不常見,但 PCI Express 系統中有許多橋接器和匯流排;每個 PCI Express 插槽都有自己的匯流排。函數用於多種情況;例如,將兩個裝置整合在一個PCI 裝置中(我有一個ATTO SCSI HBA 可以做到這一點),或者使用單一PCI 裝置提供不同的功能(通常這樣多個裝置驅動程式可以輕鬆附加到各個功能;我有DVB-T 卡執行此操作,將其音訊、MPEG 和 IR 裝置作為同一 PCI 裝置中的單獨功能公開)。
某些系統具有多個 PCI 域,在這種情況下,錯誤編號之前會出現第四組數字(“0000:01:00.0”)。
這在本文的最後有描述lspci(8)
線上說明頁:
投幣口
設備所在插槽的名稱([領域:]公車:裝置。功能)。該標籤始終是記錄中的第一個。