总线通信协议-PCI
文章目錄
- 1. 簡介
- 1.1 總線特點
- 1.2 總線接口
- 1.3 拓撲模式
- 2. 傳輸協議
- 2.1 傳輸模式
- 2.2 時序圖
- 2.3 PCI-X總線基本概念
- 2.4 PCI傳輸速率
- 3. 小結
1. 簡介
PCI(Peripheral Component Interconnect)總線協議由Intel在1992年提出,是一種局部并行總線,PCI常見的時鐘頻率為33MHz,32bit位寬,速率為133MB/s,作為擴展接口,主要用于外圍設備的連接和擴展,是以前將聲音,視頻和網卡連接到主板的通用功能方法,但由于這些外設的速度越來越快,CPI總線的傳輸速度已經不能滿足需求了,所以目前都是PCIe接口
1.1 總線特點
1.2 總線接口
1.3 拓撲模式
PCI總線是一種樹型結構,并且獨立于CPU總線,可以和CPU總線并行操作。PCI總線上可以掛接PCI設備和PCI橋,PCI總線上只允許有一個PCI主設備(同一時刻),其他的均為PCI 從設備,而且讀寫操作只能在主從設備之間進行,從設備之間的數據交換需要通過主設備中轉。
注:這并不意味著所有的讀寫操作都需要通過北橋中轉,因為PCI總線上的主設備和從設備屬性是可以變化的。
處理器通過FSB與北橋相連接
北橋上掛載著圖形加速器(顯卡)、SDRAM(內存)和PCI總線
PCI總線上掛載著南橋、北橋、以太網、SCSI總線(一種老式的小型機總線)和若干個PCI插槽
CD和硬盤則通過IDE連接至南橋,音頻設備以及打印機、鼠標和鍵盤等也連接至南橋,此外南橋還提供若干的USB接口
2. 傳輸協議
2.1 傳輸模式
PCI Spec規定的三種數據傳輸模型:Programmed I/O(PIO),Peer-to-Peer和DMA
PIO在早期的PC中被廣泛使用,因外當時的處理器的速度要遠遠大于任何其他外設的速度,所以PIO足以勝任所有的任務。比如說某一個PCI設備需要向內存(SDRAM)中寫入一些數據,該PCI設備會向CPU請求一個中斷,然后CPU首先先通過PCI總線把該PCI設備的數據讀取到CPU內部的寄存器中,然后再把數據從內部寄存器寫入到內存(SDRAM)中。
DMA是一種在傳輸過程中,幾乎不需要CPU進行干預的數據傳輸方式。如上面的圖片所示,以太網可以直接向內存(SDRAM)中寫入數據,而幾乎不需要CPU的干預。
我們介紹過PCI總線系統中的主機身份并不是固定不變的,而是可以切換的(借助仲裁器),但是同一時刻只能存在一個主機。完成Peer-to-Peer這一傳輸方式的前提是,PCI總線系統中至少存在一個有能力成為主機的設備。在仲裁器的控制下,完成主機身份的切換,進而獲得PCI總線的控制權,然后與總線上的其他PCI設備進行通信。
2.2 時序圖
注:完整的信號時序圖,請參考PCI Spec。信號名后面的#表示該信號低電平有效。
1、在第一個時鐘上升沿,FRAME#和IRDY#都為inactive,表明總線當前處于空閑狀態。與此同時,某個設備的GNT#信號處于active,表明總線總裁器已經選定當前設備為下一個initiator(可以理解為主機)。
2、在第二個時鐘上升沿,FRAME#被initiator拉低,表明新的事務(Transaction)已經開始。與此同時,地址和命令被依次發送到AD上,總線上面的所有其他設備(從機)都會鎖存這些信息,并檢查地址和命令是否與自己匹配。
3、在第三個時鐘上升沿,IRDY#處于active狀態,表明主機準備就緒,可以接收數據了。AD信號上的旋轉的箭頭表示AD信號目前處于三態狀態(處于輸出和輸入的轉換狀態),即Turn‐around cycle。需要注意的是,此時的TRDY#應當處于inactive狀態,以保證Turn‐around cycle順利進行。
4、在第四個時鐘上升沿,PCI總線上的某個從機確認身份,并依次將DEVSEL#信號和TRDY#拉低,并將相應的數據輸出到AD上。此時,FRAME#信號為active狀態,表明這并不是最后一個數據。
5、在第五個時鐘上升沿,TRDY#處于inactive狀態,表明從機尚未就緒,因此所有的操作暫緩一個時鐘周期(或者說插入了一個Wait State)。PCI總線最多允許8個這樣的Wait State。
6、在第六個時鐘上升沿,從機向主機發送第二個數據。此時,FRAME#信號依舊為active狀態,表明這并不是最后一個數據。
7、在第七個時鐘上升沿,IRDY#處于inactive狀態,表明主機尚未就緒,再次插入一個Wait State。但是此時從機依舊可以向AD上發送數據。
8、在第八個時鐘上升沿,AD上的第三個數據被發送至主機,由于此時FRAME#信號被拉高,即inactive,表明這是本次事務(Transaction)的最后一個數據。此后,所有的控制信號均被拉高,處于inactive狀態,AD、FRAME#和C/BE#處于三態狀態。
2.3 PCI-X總線基本概念
從硬件層面上來說,PCI-X繼承了PCI總線中的Reflected-Wave Signaling,但是在信號的輸入端加入了輸入寄存器以增強時序性能,提高了總線的時鐘頻率。
然而,有意思的是,PCI-X2.0似乎生不逢時,雖然它顯著地提高了PCI總線的帶寬,但依舊無法掩蓋并行總線在高速總線數據傳輸中劣勢。PCI-X2.0總線雖然性能優異,但是卻幾乎很少得到應用,由于其高功耗高成本,且并行總線的引腳過多,需要極其復雜的PCB設計,導致PCI-X2.0只在極少數高端的市場中得到了應用(如服務器市場等)。導致PCI-X2.0未能達到大規模應用的另一個因素就是PCI Express(PCIe)總線時代的到來,其標志著高速串行總線取代傳統的并行總線的時代的開端。
2.4 PCI傳輸速率
3. 小結
PCI總線是一種并行總線,獨立于系統總線,PCI空間與處理器空間隔離,處理器需要通過Host bridge才能訪問PCI設備,而PCI設備需要通過Host bridge才能主存儲器。并且在Host bridge中含有許多緩沖,這些緩沖使得處理器總線與PCI總線工作在各自的時鐘頻率中。
參考鏈接:
https://zhuanlan.zhihu.com/p/26172972
總結
以上是生活随笔為你收集整理的总线通信协议-PCI的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sa结构组网方式_关于 SA/NSA 两
- 下一篇: 关于这些年做的 图片上传下载做的处理总结