PCI 裝置解析(一)

2021-08-07 08:46:16 字數 1063 閱讀 4462

pci匯流排在目前計算機匯流排系統中佔據舉足輕重的地位,其良好的擴充套件性,位址統一分配和匯流排競爭的處理相對於其他匯流排而言都具有絕對優勢。

reference:

擴充套件性

pci匯流排上存在若干pci裝置插槽,當pci插槽無法滿足需求,就可以通過pci橋擴充套件pci裝置,乙個pci橋把乙個pci匯流排連在乙個pci插槽上,作為pci的乙個裝置。例如cpu通過「宿主-pci橋與一條pci匯流排相連,此匯流排成為「主pci匯流排」,當通過pci橋擴充套件pci匯流排時,擴充套件的匯流排成為「從匯流排」,當然還可以通過其他的橋比如「pci-isa」橋擴充套件isa匯流排,所以這樣通過pci-pci橋可以構築起乙個層次的、樹狀的pci系統結構,對於上層的匯流排而言,連線在這條匯流排上的pci橋也是乙個裝置,但是這是一種特殊的裝置。

其pci樹狀結構如圖所示:

一條pci匯流排一般有32個介面,即可以連線32個pci介面卡,而乙個介面卡對應乙個外部裝置–dev,注意這裡的外部裝置可以有多個功能–function(最多八個),每乙個功能稱為邏輯裝置, 也就是說每個pci插槽最多支援32*8=256個裝置。

通過lspci命令,可以檢視系統中的所有pci裝置(邏輯裝置)。

下面是此命令的輸出結果的一行,顯示了一塊網絡卡的資訊:1號匯流排,1號裝置,0號功能。

01:01.0 ethernet controller: realtek semiconductor co., ltd. rtl-8139/8139c/8139c+ (rev 10)

每乙個邏輯裝置對應乙個pci配置空間。對於邏輯裝置後面還會詳細解釋,這裡先說配置空間的問題。pci配置空間可以說是記錄了關於此裝置的詳細資訊。pci配置空間最大256個位元組,其中起先的64個位元組的格式是預定義好的。當然並非所有的項都必須填充,位置是固定了,沒有用到可以填充0。而前16個位元組的格式是一定的。包含頭部的型別、裝置的總類、裝置的性質以及製造商等。

遍歷PCI裝置

pc機在啟動的時候,都會看到乙個pci裝置清單,可以看到機器中的所有pci裝置,其實搜尋pci裝置的程式並不難編,本文通過乙個例項說明如何遍歷pci裝置。工作環境 ms dos 6.22,djgpp rhide 1 了解pci裝置 pci的含義是外設部件互連 peripheral component...

遍歷PCI裝置

原文 該文在2011年3月11日做過修改,其中 已為完整 pc機在啟動的時候,都會看到乙個pci裝置清單,可以看到機器中的所有pci裝置,其實搜尋pci裝置的程式並不難編,本文通過乙個例項說明如何遍歷pci裝置。工作環境 ms dos 6.22,djgpp rhide 1 了解pci裝置 pci的含...

PCI裝置驅動

pci匯流排 一種將系統外部裝置連線起來的匯流排標準。如isa usb匯流排都掛載在pci匯流排上。開發pci裝置驅動,需要獲取pci配置空間的各個資料。基礎pci區域性匯流排與主處理器相連線的host pci稱為北橋 基礎pci匯流排與中斷控制器 ide控制器 usb控制器 dma控制器和isa匯...