中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

PCIE掃描過程-創(chuàng)新互聯(lián)

1. PCIE掃描過程

從按下PC的電源按鈕開始,BIOS就接管系統(tǒng)控制權開始工作,它會先進行一些內(nèi)存和設備的初始化工作(當然,也包括PCI設備),由于商業(yè)上的原因,Phoenix等廠商的BIOS代碼需要授權協(xié)議,下面以另外一款開源BIOS(openbios)為例,來剖析BIOS中,PCIe設備是如何被找到以及初始化的。

為江門等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及江門網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站建設、網(wǎng)站建設、江門網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

PCI設備的掃描是基于深度優(yōu)先搜索算法(DFS:Depth First Search),也就是說,下級分支最多的PCI橋?qū)⒆钕韧瓿善渥釉O備的掃描。下面以圖片來具體說明,BIOS是如何一步步完成PCI 設備掃描的。

第一步:PCI Host 主橋掃描Bus 0上的設備(在一個處理器系統(tǒng)中,一般將與HOST主橋直接相連的PCI總線被命名為PCI Bus 0),系統(tǒng)首先會忽略Bus 0上的D1,D2等不會掛接PCI橋的設備,主橋發(fā)現(xiàn)Bridge 1后,將Bridge1下面的PCI Bus定為 Bus 1,系統(tǒng)將初始化Bridge 1的配置空間,并將該橋的Primary Bus Number 和 Secondary Bus Number寄存器分別設置成0和1,以表明Bridge1的上游總線是0,下游總線是1,由于還無法確定Bridge1下掛載設備的具體情況,系統(tǒng)先暫時將Subordinate Bus Number設為0xFF。如圖 1.1所示:

PCIE掃描過程

圖 1.1  PCIE掃描第一步

第二步:系統(tǒng)開始掃描Bus 1,將會發(fā)現(xiàn)Bridge 2。系統(tǒng)將Bridge 2下面的PCI Bus定為Bus 2,并將該橋的Primary Bus Number 和 Secondary Bus Number寄存器分別設置成1和2,和上一步一樣暫時把Bridge 2的Subordinate Bus Number設為0xFF。如圖 1.2所示:

PCIE掃描過程

圖 1.2 PCIE掃描第二步

第三步:

系統(tǒng)繼續(xù)掃描Bus 2,將會發(fā)現(xiàn)Bridge 4。系統(tǒng)將Bridge 4下面的PCI Bus定為Bus 3,并將該橋的Primary Bus Number 和 Secondary Bus Number寄存器分別設置成2和3,此后

系統(tǒng)繼續(xù)掃描后發(fā)現(xiàn)Bus 3下面已經(jīng)沒有任何Bridge了,意味著該PCI總線下已經(jīng)沒有任何掛載下游總線了,因此Bridge 4的Subordinate Bus Number的值已經(jīng)可以確定為3了。

如圖 1.3所示:

PCIE掃描過程

圖 1.3 PCIE掃描第三步

第四步:

完成Bus 3的掃描后,系統(tǒng)返回到Bus 2繼續(xù)掃描,發(fā)現(xiàn)Bus 2下面已經(jīng)沒有其他Bridge了。此時Bridge 2的Subordinate Bus Number的值也已經(jīng)可以確定為3了。如圖 1.4所示:

PCIE掃描過程

圖 1.4 PCIE掃描第四步

第五步:

完成Bus 2的掃描后,系統(tǒng)返回到Bus1繼續(xù)掃描,會發(fā)現(xiàn)Bridge 3,系統(tǒng)將Bridge 3下面的PCI Bus定為Bus 4。并將Bridge 4的Primary Bus Number 和 Secondary Bus Number寄存器分別設置成1和4,此后系統(tǒng)繼續(xù)掃描后發(fā)現(xiàn)Bus 4下面已經(jīng)沒有任何Bridge了,意味著該PCI總線下已經(jīng)沒有掛載任何下游總線了,因此Bridge 3的Subordinate Bus Number的值已經(jīng)可以確定為4了。如圖 1.5所示:

PCIE掃描過程

圖 1.5 PCIE掃描第五步

第六步:

完成Bus 4的掃描后,系統(tǒng)返回到Bus 1繼續(xù)掃描, 發(fā)現(xiàn)Bus 1下面已經(jīng)沒有其他Bridge了。此時Bridge 1的Subordinate Bus Number的值已經(jīng)可以確定為4,系統(tǒng)返回Bus 0繼續(xù)掃描(Bus 0下如果有其他它Bridge,將重復上述的步驟進行掃描)。至此,本例中的整個PCI的設備掃描已經(jīng)完成了。最終的設備和總線的掃描結果如圖 1.6所示

PCIE掃描過程

圖 1.6 PCIE掃描第六步

一般來說,可以通過兩個寄存器來訪問PCI的配置空間(寄存器CONFIG_ADDRESS與CONFIG_DATA),在x86體系下,這兩個寄存器分別對應0xCF8和0xCFC端口,對配置空間的訪問都是通過對這兩個寄存器的讀寫來實現(xiàn)先。CONFIG_ADDRESS寄存器的具體位組成如圖 1.7所示:

PCIE掃描過程

圖 1.7 x86配置寄存器

Bus Number : 總線號(8 bit),范圍0--255。

Device Number: 設備號(5 bit),范圍0--31。

Function Number: 功能號(3 bit),范圍0--7。

Register Number: 寄存器號(6 bit),范圍0--63(配置空間一共256個字節(jié),分割成64個4字節(jié)的寄存器,從0--63編號)。

每個PCI設備可根據(jù)上圖所示的四個信息:Bus Number, Device Number, Function Number,Register Number來進行具體設備的定位并對其配置空間訪問。當訪問PCI設備的配置空間時,先根據(jù)以上格式設置CONFIG_ADDRESS寄存器,然后再讀取CONFIG_DATA寄存器即可得到相應的配置空間寄存器的值。通過以上這些步驟,BIOS就完成了所有PCI設備的掃描,并且為每個設備分配好了系統(tǒng)資源。

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

當前名稱:PCIE掃描過程-創(chuàng)新互聯(lián)
URL標題:http://www.rwnh.cn/article24/copcje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、搜索引擎優(yōu)化服務器托管、網(wǎng)站排名虛擬主機、面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
永城市| 乌拉特后旗| 泽普县| 潼南县| 滁州市| 舒城县| 鹿泉市| 喀喇沁旗| 铁岭市| 开平市| 鄂尔多斯市| 吉木萨尔县| 新建县| 丽水市| 呼和浩特市| 青岛市| 阳原县| 施甸县| 金乡县| 郎溪县| 吉首市| 南皮县| 大荔县| 榕江县| 临潭县| 甘洛县| 浙江省| 上虞市| 司法| 兴隆县| 个旧市| 大悟县| 连山| 平顶山市| 肥西县| 红原县| 河北区| 宝应县| 伊春市| 玉林市| 武宣县|