PCI基礎知識
PCI基礎知識
PCI總線(xiàn)的組成:HOST橋、PCI橋、PCI設備
PCI采用的是樹(shù)型拓撲結構,每一個(gè)PCI device相當于樹(shù)的一個(gè)結點(diǎn)或者葉子,對整個(gè)PCI Bus的遍歷可以采用遍歷樹(shù)的算法,在對樹(shù)進(jìn)行遍歷之后,可以獲得整個(gè)PCI Bus的資源需求情況,從而進(jìn)行統一的分配。
PCI總線(xiàn)上有多個(gè)設備,當他們需要通信時(shí),都必須向PCI總線(xiàn)仲裁器提出申請,當得到允許后才能在總線(xiàn)中發(fā)送數據
PCI總線(xiàn)上的設備可以通過(guò)四根中斷請求信號INTA INTB INTC INTD向處理器發(fā)出中斷請求;其中INTA是單功能設備,其他的是多功能設備
總線(xiàn)x1上的通訊和總線(xiàn)x2上的通訊無(wú)關(guān),同一條總線(xiàn)上的設備可以自由通訊
PCI總線(xiàn)操作的一具典型的特點(diǎn)就是支持BURST傳輸。什么是BURST傳輸呢?首先你得知道PCI的數據總線(xiàn)和地址總線(xiàn)是復用的。這就是說(shuō)在同樣的總線(xiàn)上,一段時(shí)間是地址,一段時(shí)間是傳輸數據。如果沒(méi)有BURST傳輸,那么完成一次數據傳輸之前都得發(fā)一次地址,這就是總線(xiàn)有一半的時(shí)間都在傳地址,這使得總線(xiàn)和利用率很低。有了BURST傳輸,可以先發(fā)一個(gè)起始地址和數據長(cháng)度N, 之后傳輸數據0~N-1就可以直接發(fā)數據,不用再發(fā)地址了。
PCI總線(xiàn)32位中,第一個(gè)16位表示域,第二個(gè)8位表示一個(gè)總線(xiàn)編號,第三個(gè)5位表示一個(gè)設備號,最后是3位,表示功能號。
在系統引導階段,PCI硬件設備保持未激活狀態(tài),但每個(gè)PCI主板均配備有能夠處理PCI的固件,固件通過(guò)讀寫(xiě)PCI控制器中的寄存器,提供了對設備配置地址空間的訪(fǎng)問(wèn)。
HOST橋
HOST主橋是用來(lái)隔離處理器的存儲器域與PCI總線(xiàn)域的特殊橋片,管理PCI總線(xiàn)域。在其所管理的PCI設備中所有設備的配置空間都由HOST主橋通過(guò)配置讀寫(xiě)總線(xiàn)周期訪(fǎng)問(wèn)的
PCI總線(xiàn)上的設備都有自己的設備地址,處理器空間地址和PCI總線(xiàn)地址通過(guò)HOST主橋進(jìn)行隔離。(HOST主橋中有很多的寄存器,可以使得處理器工作的頻率和總線(xiàn)工作的頻率不一樣,通過(guò)寄存器緩存數據,當處理器需要訪(fǎng)問(wèn)PCI設備時(shí),需要通過(guò)HOST主橋進(jìn)行地址轉換,把處理器地址轉換成PCI總線(xiàn)地址,然后才能訪(fǎng)問(wèn)PCI設備;同理,PCI設備中的數據要想往外走,也要通過(guò)HOST主橋進(jìn)行地址轉換。說(shuō)到底,HOST主橋就是一個(gè)橋梁)
同一HOST橋中的設備可以通訊(HOST主橋可以通過(guò)設置Inbound寄存器來(lái)讓不同的PCI總線(xiàn)域中的設備進(jìn)行通訊)
上游總線(xiàn)就是PCI橋靠近HOST主橋的一端總線(xiàn)、下游總線(xiàn)就是另外一端總線(xiàn)
在一個(gè)處理器系統中,有幾個(gè)HOST主橋,就有幾個(gè)PCI總線(xiàn)域。
PCI橋
PCI橋是PCI總線(xiàn)的一個(gè)重要組成部件,該部件的存在使得PCI總線(xiàn)極具拓展性。
PCI的可擴展性指的是PCI總線(xiàn)上可以?huà)靷€(gè)PCI橋,然后PCI橋會(huì )推出另一條PCI總線(xiàn),PCI總線(xiàn)上又可以?huà)燧dPCI橋,再推出PCI總線(xiàn)...(但是,PCI總線(xiàn)以HOST主橋為樹(shù)根,連接的設備上限為256,其中包括HOST橋和PCI橋
PCI橋的作用可以隔離PCI設備,不影響各條總線(xiàn)的帶寬
如果PCI橋出現問(wèn)題,那么PCI橋下的設備之間可以自由通訊但是無(wú)法將數據發(fā)送到外面
PCI設備
PCI Agent設備:一個(gè)PCI設備既可以是主設備也可以是從設備,但是在同一個(gè)時(shí)刻,這個(gè)PCI設備或者為主設備或者為從設備。PCI總線(xiàn)規范將PCI主從設備統稱(chēng)為PCI Agent設備。
PCI設備的地址可以由系統軟件動(dòng)態(tài)分配,解決了地址沖突。(每個(gè)PCI設備有一個(gè)獨立的配置空間,里面有設備在總線(xiàn)上的地址;注:PCI橋的配置空間中有其PCI子樹(shù)使用的地址范圍)
PCI設備與存儲器直接進(jìn)行數據交換的過(guò)程也被稱(chēng)為DMA。PCI總線(xiàn)進(jìn)行DMA操作時(shí),需要得到數據的大小和目的地址(PCI總線(xiàn)域的物理地址,HOST主橋會(huì )負責地址轉換)
PCI設備配置地址空間的前64字節是標準化的,它提供了廠(chǎng)商號,設備號,版本號等信息,唯一標識一個(gè)PCI設備。
PCIe基礎知識
pcie全稱(chēng)叫做:Peripheral Component Interconnect(外圍組件互聯(lián)),屬于局部總線(xiàn),主要功能就是連接外圍設備
pcie的組成有:RC(根節點(diǎn))、siwtch(pcie橋)、EP(設備)
pcie總線(xiàn)有獨立的地址空間,所以CPU想要通過(guò)pcie訪(fǎng)問(wèn)外圍設備,需要對pcie的地址空間進(jìn)行映射
pcie分多版本的,x1、x2、x4、x8、x16...各級之間傳輸速率呈倍數增加,但價(jià)格也呈倍增加。PCI-E的接口根據總線(xiàn)位寬不同而有所差異,包括X1、X4、X8以及X16,而X2模式將用于內部接口而非插槽模式。
pcie傳輸和網(wǎng)絡(luò )類(lèi)似封裝成包,有協(xié)議棧。
pcie使用端到端的連接方式,正常設備與設備之間只能連接一個(gè),但通過(guò)pcie橋可以擴展。
PCI是并行總線(xiàn);PCI-X是并行總線(xiàn);PCIe是高速差分總線(xiàn)
高速差分總線(xiàn)替代并行總線(xiàn)是大勢所趨。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。