日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

总线通信协议-PCI

發布時間:2024/3/12 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 总线通信协议-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 總線特點

  • 并行總線,地址和數據共用一個總線。
  • 由于PCI總線是共享總線,所以需要特定的仲裁器(Arbiter)來決定當前時刻的總線的控制權。一般該仲裁器位于北橋中,而仲裁器(主機)則通過一對引腳,REQ#(request) 和GNT# (grant)來與各個從機連接。如下圖所示:
  • 最初的PCI總線的時鐘頻率為33MHz,但是隨著版本的更新,時鐘頻率也逐漸的提高。但是由于PCI采用的是一種Reflected-Wave Signaling信號模型(后面會詳細的介紹),導致了時鐘頻率越高,總線的最大負載越少
  • 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

  • Programmed I/O(PIO)
    PIO在早期的PC中被廣泛使用,因外當時的處理器的速度要遠遠大于任何其他外設的速度,所以PIO足以勝任所有的任務。比如說某一個PCI設備需要向內存(SDRAM)中寫入一些數據,該PCI設備會向CPU請求一個中斷,然后CPU首先先通過PCI總線把該PCI設備的數據讀取到CPU內部的寄存器中,然后再把數據從內部寄存器寫入到內存(SDRAM)中。
  • DMA,即Direct Memory Access
    DMA是一種在傳輸過程中,幾乎不需要CPU進行干預的數據傳輸方式。如上面的圖片所示,以太網可以直接向內存(SDRAM)中寫入數據,而幾乎不需要CPU的干預。
  • Peer-to-Peer
    我們介紹過PCI總線系統中的主機身份并不是固定不變的,而是可以切換的(借助仲裁器),但是同一時刻只能存在一個主機。完成Peer-to-Peer這一傳輸方式的前提是,PCI總線系統中至少存在一個有能力成為主機的設備。在仲裁器的控制下,完成主機身份的切換,進而獲得PCI總線的控制權,然后與總線上的其他PCI設備進行通信。
  • 2.2 時序圖

  • PCI總線是一種地址和數據復用的總線,即地址和數據占用同一組信號線AD。PCI總線的所有信號都與時鐘信號同步,及所有的信號的變化都發生在時鐘的上升沿,或者在時鐘上升沿進行采樣。
  • 除了時鐘信號CLK和數據地址復用信號AD之外,PCI總線至少還應包括FRAME#(用于表示一次數據傳輸的起始)、C/BE#(Command/Byte Enable)、IRDY#(Initiator Ready for data)、TRDY#(Target ready)、DESEL#(Device Selec,片選信號,用于選擇PCI設備)和GNT#(Grant)信號等。
  • 注:完整的信號時序圖,請參考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的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。