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