天天看點

PCI總線介紹1

 PCI總線支援32位和64位兩種位寬,時鐘頻率為33MHz,總線帶寬:32bit*33MHz= 1056Mbps =132MB/s 或64bit*33MHz=2112Mbps=264MB/s。64位寬基本用不到。

PCI引腳共有2排共120個引腳,電氣信号分為以下幾組。位址/資料,共32位,為分時複用。

電氣信号

  • 第一組:系統信号, 時鐘信号(CLK)和複位信号(PCIRST#)

  • 第二組:位址/資料,指令/使能信号

  • 第三組:傳輸控制信号,FRAME#, TRDY#, IRDY#, STOP#, DEVSEL#, IDSEL

  • 第四組:仲裁請求和仲裁允許, REQ#, GNT#

  • 第五組:終端信号

  • 第六組:錯誤校驗信号

  • 第七組:P

    擴充性:

    PCI總線上存在若幹PCI裝置插槽,當PCI插槽無法滿足需求,就可以通過PCI橋擴充PCI裝置,一個PCI橋把一個PCI總線連在一個PCI插槽上,作為PCI的一個裝置。例如CPU通過“宿主-PCI橋與一條PCI總線相連,此總線成為“主PCI總線”,當通過PCI橋擴充PCI總線時,擴充的總線成為“從總線”,當然還可以通過其他的橋比如“PCI-ISA”橋擴充ISA總線,是以這樣通過PCI-PCI橋可以構築起一個層次的、樹狀的PCI系統結構,對于上層的總線而言,連接配接在這條總線上的PCI橋也是一個裝置,但是這是一種特殊的裝置。

  • PCI總線上隻允許有一個PCI主裝置,其他的均為PCI 從裝置,而且讀寫操作隻能在主從裝置之間進行,從裝置之間的資料交換需要通過主裝置中轉

    其PCI樹狀結構如圖所示

    PCI總線介紹1

    總線操作

    PCI總線操作的一具典型的特點就是支援BURST傳輸。什麼是BURST傳輸呢?首先你得知道PCI的資料總線和位址總線是複用的。這就是說在同樣的總線上,一段時間是位址,一段時間是傳輸資料。如果沒有BURST傳輸,那麼完成一次資料傳輸之前都得發一次位址,這就是總線有一半的時間都在傳位址,這使得總線和使用率很低。有了BURST傳輸,可以先發一個起始位址和資料長度N, 之後傳輸資料0~N-1就可以直接發資料,不用再發位址了。 

    PCI總線介紹1

  • PCI總線典型操作分為兩部分:

    位址相, 當FRAME#有效時,C/BE#上面出現4位交易碼,AD(0-31)上面是位址資料

    資料相,當DEVSEL#有效時,AD(0-31)上面出現傳輸資料 

    PCI總線的具體交易過程如下:

    主裝置發起#REQ, 申請總線的使用權

    得到仲裁允許,#GRT

    FRAME#信号拉低,交易位址放入AD, 交易碼放入C/BE#

    如果從裝置就在這個總線上,那麼位址譯碼成功後,從裝置會把DEVSEL#拉低,就可以開媽傳輸資料了

    如果從裝置不是直接連在總線上,而是跨過了PCI-PCI bridge。那麼bridge就會啟動一個請求重傳的機制。即通過控制信号通知主裝置重試,在此同時将自己作為主裝置向下一級總線轉發上級總線的交易請求,這樣,當下一次主裝置再次發起交易的時候,bridge上面已經有了從裝置擷取來的資料,交易就可以正常進行了。

     ———————————————— 

    版權聲明:本文為CSDN部落客「huangkangying」的原創文章,遵循CC 4.0 by-sa版權協定,轉載請附上原文出處連結及本聲明。

    原文連結:https://blog.csdn.net/huangkangying/article/details/50465443