I/O Address Space的空間很有限(64KB),所以一般在I/O Space中都有兩個寄存器,第一個指向要操作的內部地址,第二個存放讀或者寫的數據。因此,對于PCI的配置周期來說,包含了兩個步驟:
Step1:CPU先對IO Address中的0xCF8~0xCFB寫入要操作的配置寄存器的地址。如下圖所示,其中包括了總線號(Bus Number)、設備號(Device Number)、功能號(Function Number)和寄存器指針。
Step2:CPU向IO Address中的0xCFC~0xCFF中寫入讀或者寫的數據。
前面介紹過,每一個PCI功能(Function)都包含256個字節的配置空間(Configuration Space),其中前64個字節被稱為Header,剩余的192個字節用于一些可選的功能。PCI Spec規定了兩種類型的Header:Type1 和Type0。其中,Type1 Header表示該PCI設備功能為橋(Brige),而Type0 Header則表示該PCI設備功能不是橋。兩種Header的結構圖分別如下所示:
注:因為PCIe完整的繼承了PCI Header相關的內容,所以關于Header的詳細介紹和操作會放在后面關于PCIe的介紹中。
-
寄存器
+關注
關注
31文章
5253瀏覽量
119212 -
pci總線
+關注
關注
1文章
202瀏覽量
31691
原文標題:【博文連載】PCIe掃盲——PCI總線配置周期產生和配置寄存器
文章出處:【微信號:ChinaAET,微信公眾號:電子技術應用ChinaAET】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論