<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > PCIe總線的基礎(chǔ)知識

          PCIe總線的基礎(chǔ)知識

          作者: 時間:2016-12-15 來源:網(wǎng)絡(luò) 收藏
          與PCI總線不同,PCIe總線使用端到端的連接方式,在一條PCIe鏈路的兩端只能各連接一個設(shè)備,這兩個設(shè)備互為是數(shù)據(jù)發(fā)送端和數(shù)據(jù)接收端。PCIe總線除了總線鏈路外,還具有多個層次,發(fā)送端發(fā)送數(shù)據(jù)時將通過這些層次,而接收端接收數(shù)據(jù)時也使用這些層次。PCIe總線使用的層次結(jié)構(gòu)與網(wǎng)絡(luò)協(xié)議棧較為類似。

          4.1.1端到端的數(shù)據(jù)傳遞

          PCIe鏈路使用“端到端的數(shù)據(jù)傳送方式”,發(fā)送端和接收端中都含有TX(發(fā)送邏輯)和RX(接收邏輯),其結(jié)構(gòu)如圖4?1所示。

          本文引用地址:http://www.ex-cimer.com/article/201612/330484.htm

          由上圖所示,在PCIe總線的物理鏈路的一個數(shù)據(jù)通路(Lane)中,由兩組差分信號,共4根信號線組成。其中發(fā)送端的TX部件與接收端的RX部件使用一組差分信號連接,該鏈路也被稱為發(fā)送端的發(fā)送鏈路,也是接收端的接收鏈路;而發(fā)送端的RX部件與接收端的TX部件使用另一組差分信號連接,該鏈路也被稱為發(fā)送端的接收鏈路,也是接收端的發(fā)送鏈路。一個PCIe鏈路可以由多個Lane組成。

          高速差分信號電氣規(guī)范要求其發(fā)送端串接一個電容,以進行AC耦合。該電容也被稱為AC耦合電容。PCIe鏈路使用差分信號進行數(shù)據(jù)傳送,一個差分信號由D+和D-兩根信號組成,信號接收端通過比較這兩個信號的差值,判斷發(fā)送端發(fā)送的是邏輯“1”還是邏輯“0”。

          與單端信號相比,差分信號抗干擾的能力更強,因為差分信號在布線時要求“等長”、“等寬”、“貼近”,而且在同層。因此外部干擾噪聲將被“同值”而且“同時”加載到D+和D-兩根信號上,其差值在理想情況下為0,對信號的邏輯值產(chǎn)生的影響較小。因此差分信號可以使用更高的總線頻率。

          此外使用差分信號能有效抑制電磁干擾EMI(Electro Magnetic Interference)。由于差分信號D+與D-距離很近而且信號幅值相等、極性相反。這兩根線與地線間耦合電磁場的幅值相等,將相互抵消,因此差分信號對外界的電磁干擾較小。當然差分信號的缺點也是顯而易見的,一是差分信號使用兩根信號傳送一位數(shù)據(jù);二是差分信號的布線相對嚴格一些。

          PCIe鏈路可以由多條Lane組成,目前PCIe鏈路可以支持1、2、4、8、12、16和32個Lane,即×1、×2、×4、×8、×12、×16和×32寬度的PCIe鏈路。每一個Lane上使用的總線頻率與PCIe總線使用的版本相關(guān)。

          第1個PCIe總線規(guī)范為V1.0,之后依次為V1.0a,V1.1,V2.0和V2.1。目前PCIe總線的最新規(guī)范為V2.1,而V3.0正在開發(fā)過程中,預計在2010年發(fā)布。不同的PCIe總線規(guī)范所定義的總線頻率和鏈路編碼方式并不相同,如表4?1所示。

          表4?1PCIe總線規(guī)范與總線頻率和編碼的關(guān)系

          PCIe總線規(guī)范

          總線頻率[1]

          單Lane的峰值帶寬

          編碼方式

          1.x

          1.25GHz

          2.5GT/s

          8/10b編碼

          2.x

          2.5GHz

          5GT/s

          8/10b編碼

          3.0

          4GHz

          8GT/s

          128/130b編碼

          如上表所示,不同的PCIe總線規(guī)范使用的總線頻率并不相同,其使用的數(shù)據(jù)編碼方式也不相同。PCIe總線V1.x和V2.0規(guī)范在物理層中使用8/10b編碼,即在PCIe鏈路上的10 bit中含有8 bit的有效數(shù)據(jù);而V3.0規(guī)范使用128/130b編碼方式,即在PCIe鏈路上的130 bit中含有128 bit的有效數(shù)據(jù)。

          由上表所示,V3.0規(guī)范使用的總線頻率雖然只有4GHz,但是其有效帶寬是V2.x的兩倍。下文將以V2.x規(guī)范為例,說明不同寬度PCIe鏈路所能提供的峰值帶寬,如表4?2所示。

          表4?2PCIe總線的峰值帶寬

          PCIe總線的數(shù)據(jù)位寬

          ×1

          ×2

          ×4

          ×8

          ×12

          ×16

          ×32

          峰值帶寬(GT/s)

          5

          10

          20

          40

          60

          80

          160

          由上表所示,×32的PCIe鏈路可以提供160GT/s的鏈路帶寬,遠高于PCI/PCI-X總線所能提供的峰值帶寬。而即將推出的PCIe V3.0規(guī)范使用4GHz的總線頻率,將進一步提高PCIe鏈路的峰值帶寬。

          在PCIe總線中,使用GT(Gigatransfer)計算PCIe鏈路的峰值帶寬。GT是在PCIe鏈路上傳遞的峰值帶寬,其計算公式為總線頻率×數(shù)據(jù)位寬×2。

          在PCIe總線中,影響有效帶寬的因素有很多,因而其有效帶寬較難計算,這部分內(nèi)容詳見第8.4.1節(jié)。盡管如此,PCIe總線提供的有效帶寬還是遠高于PCI總線。PCIe總線也有其弱點,其中最突出的問題是傳送延時。

          PCIe鏈路使用串行方式進行數(shù)據(jù)傳送,然而在芯片內(nèi)部,數(shù)據(jù)總線仍然是并行的,因此PCIe鏈路接口需要進行串并轉(zhuǎn)換,這種串并轉(zhuǎn)換將產(chǎn)生較大的延時。除此之外PCIe總線的數(shù)據(jù)報文需要經(jīng)過事務(wù)層、數(shù)據(jù)鏈路層和物理層,這些數(shù)據(jù)報文在穿越這些層次時,也將帶來延時。本書將在第8.4節(jié)詳細討論PCIe總線的延時與帶寬之間的聯(lián)系。

          在基于PCIe總線的設(shè)備中,×1的PCIe鏈路最為常見,而×12的PCIe鏈路極少出現(xiàn),×4和×8的PCIe設(shè)備也不多見。Intel通常在ICH中集成了多個×1的PCIe鏈路用來連接低速外設(shè),而在MCH中集成了一個×16的PCIe鏈路用于連接顯卡控制器。而PowerPC處理器通常能夠支持×8、×4、×2和×1的PCIe鏈路。

          PCIe總線物理鏈路間的數(shù)據(jù)傳送使用基于時鐘的同步傳送機制,但是在物理鏈路上并沒有時鐘線,PCIe總線的接收端含有時鐘恢復模塊CDR(Clock Data Recovery),CDR將從接收報文中提取接收時鐘,從而進行同步數(shù)據(jù)傳遞。

          值得注意的是,在一個PCIe設(shè)備中除了需要從報文中提取時鐘外,還使用了REFCLK+和REFCLK-信號對作為本地參考時鐘,這個信號對的描述見下文。

          4.1.2PCIe總線使用的信號

          PCIe設(shè)備使用兩種電源信號供電,分別是Vcc與Vaux,其額定電壓為3.3V。其中Vcc為主電源,PCIe設(shè)備使用的主要邏輯模塊均使用Vcc供電,而一些與電源管理相關(guān)的邏輯使用Vaux供電。在PCIe設(shè)備中,一些特殊的寄存器通常使用Vaux供電,如Sticky Register,此時即使PCIe設(shè)備的Vcc被移除,這些與電源管理相關(guān)的邏輯狀態(tài)和這些特殊寄存器的內(nèi)容也不會發(fā)生改變。

          在PCIe總線中,使用Vaux的主要原因是為了降低功耗和縮短系統(tǒng)恢復時間。因為Vaux在多數(shù)情況下并不會被移除,因此當PCIe設(shè)備的Vcc恢復后,該設(shè)備不用重新恢復使用Vaux供電的邏輯,從而設(shè)備可以很快地恢復到正常工作狀狀態(tài)。

          PCIe鏈路的最大寬度為×32,但是在實際應(yīng)用中,×32的鏈路寬度極少使用。在一個處理器系統(tǒng)中,一般提供×16的PCIe插槽,并使用PETp0~15、PETn0~15和PERp0~15、PERn0~15共64根信號線組成32對差分信號,其中16對PETxx信號用于發(fā)送鏈路,另外16對PERxx信號用于接收鏈路。除此之外PCIe總線還使用了下列輔助信號。


          上一頁 1 2 3 下一頁

          關(guān)鍵詞: PCIe總線基礎(chǔ)知

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();