前面的文章中介紹過(guò),每一個(gè)PCIe設(shè)備可以只有一個(gè)功能(Function),即Fun0。也可以擁有最多8個(gè)功能,即多功能設(shè)備(Multi-Fun)。不管這個(gè)PCIe設(shè)備擁有多少個(gè)功能,其每一個(gè)功能都有一個(gè)唯一獨(dú)立的配置空間(Configuration Space)與之對(duì)應(yīng)。
和PCI總線一樣,PCIe總線中的每一個(gè)功能(Function)都有一個(gè)唯一的標(biāo)識(shí)符與之對(duì)應(yīng)。這個(gè)標(biāo)識(shí)符就是BDF(Bus,Device,F(xiàn)unction),PCIe的配置軟件(即Root的應(yīng)用層,一般是PC)應(yīng)當(dāng)有能力識(shí)別整個(gè)PCIe總線系統(tǒng)的拓?fù)溥壿嫞约捌渲械拿恳粭l總線(Bus),每一個(gè)設(shè)備(Device)和每一項(xiàng)功能(Function)。
在BDF中,Bus Number占用8位,Device Number占用5位,F(xiàn)unction Number占用3位。顯然,PCIe總線最多支持256個(gè)子總線,每個(gè)子總線最多支持32個(gè)設(shè)備,每個(gè)設(shè)備最多支持8個(gè)功能。
PCIe總線采用的是一種深度優(yōu)先(Depth First Search)的拓?fù)?a href="http://www.qldv.cn/v/tag/2562/" target="_blank">算法,且Bus0總是分配給Root Complex。Root中包含有集成的Endpoint和多個(gè)端口(Port),每個(gè)端口內(nèi)部都有一個(gè)虛擬的PCI-to-PCI橋(P2P),并且這個(gè)橋也應(yīng)有設(shè)備號(hào)和功能號(hào)。
需要注意的是,每個(gè)設(shè)備必須要有功能0(Fun0),其他的7個(gè)功能(Fun1~Fun7)都是可選的。
一個(gè)簡(jiǎn)單的例子如下圖所示:
注:關(guān)于PCIe總線的拓?fù)溥壿嫊?huì)在后面的文章中進(jìn)行詳細(xì)地介紹。
前面的關(guān)于PCI總線的文章介紹過(guò)PCI總線的配置空間,PCIe總線為了兼容這些PCI設(shè)備,幾乎完整的保留了PCI總線的配置空間。并將配置空間擴(kuò)展到4KB,用于支持一些PCIe總線中新的功能,如PCI Express Capability、Power Management和MSI/MSI-X等。
下圖是從PCI總線中繼承過(guò)來(lái)的配置空間:
下圖是PCIe新增的配置空間的示意圖:
-
總線
+關(guān)注
關(guān)注
10文章
2903瀏覽量
88399 -
PCIe
+關(guān)注
關(guān)注
15文章
1262瀏覽量
83195
原文標(biāo)題:【博文連載】PCIe掃盲——BDF與配置空間
文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
請(qǐng)問(wèn)Quartus Ⅱ中怎么把.vhd文件加到.bdf文件(.bdf文件放在頂層)中?
ALTERA FPGA 配置芯片剩余空間使用的問(wèn)題
VHDL由.bdf文件轉(zhuǎn)換成.bsf文件出錯(cuò)
關(guān)于qutartus中bdf文件的問(wèn)題,求解!
quratus對(duì)bdf文件做時(shí)序分析。
Quartus II 9.0 Bdf 無(wú)法打開(kāi)
重啟TouchGFX后,.bdf字體不起作用怎么解決?
PCI設(shè)備配置空間研究
![PCI設(shè)備<b class='flag-5'>配置</b><b class='flag-5'>空間</b>研究](https://file.elecfans.com/web2/M00/48/C5/pYYBAGKhtCKAZI3EAAD8MOUP9l4329.jpg)
基于BDF溫度場(chǎng)計(jì)算優(yōu)化
![基于<b class='flag-5'>BDF</b>溫度場(chǎng)計(jì)算優(yōu)化](https://file.elecfans.com/web1/M00/4B/70/o4YBAFqw1sSAdUOaAABrVkf8WNI030.jpg)
Device Studio應(yīng)用實(shí)例之BDF(上)
Device Studio應(yīng)用實(shí)例之BDF(下)
STM32CubeIDE實(shí)用技巧之配置堆空間
![STM32CubeIDE實(shí)用技巧之<b class='flag-5'>配置</b>堆<b class='flag-5'>空間</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論