1、PCI-E總線定義
????????????PCI-E(PCI-Express)是一種通用的總線規(guī)格撬槽,它由Intel所提倡和推廣寸宵,其最終的設(shè)計(jì)目的是為了取代現(xiàn)有電腦系統(tǒng)內(nèi)部的總線傳輸接口,這不只包括顯示接口厚骗,還囊括了CPU、PCI兢哭、HDD领舰、Network等多種應(yīng)用接口。
????????????PCIe總線與PCI最大的區(qū)別在工作原理上,PCIe是采用點(diǎn)到點(diǎn)的串行方式進(jìn)行傳輸?shù)某寤啵环Q為“串行PCI”舍咖,由于采用了串行方式傳輸使得其工作頻率可以達(dá)到2.5Ghz,大大增加了傳輸速率锉桑,同時(shí)采用全雙工的通信方式排霉,使得其傳輸速度提高了一倍,每一個(gè)PCIe總線設(shè)備與外部通信時(shí)有四根數(shù)據(jù)總線民轴,分別有兩個(gè)RX和TX攻柠,兩根用于發(fā)送,兩根由于接收后裸。
? ??????????當(dāng)前的Intel平臺(tái)CPU每顆最大支持40個(gè)通道(Lane)瑰钮,但是對(duì)于現(xiàn)在比較主流的GPU服務(wù)器需要插入多張高興能顯卡,每顆CPU提供x40個(gè)通道就顯得不夠用了微驶。另外浪谴,傳統(tǒng)存儲(chǔ)控制器之間需要做各種數(shù)據(jù)交換和同步,一般也是用PCI-E祈搜,這又增加了對(duì)通道數(shù)量的消耗。 對(duì)于一般的高端服務(wù)器士八,普遍都是雙路容燕、四路配置,雙路下提供x80通道婚度,理論上可連接10個(gè)x8的PCI-E設(shè)備蘸秘,去掉一些用于管理、內(nèi)部嵌入式PCI-E設(shè)備的通道占用之后蝗茁,連接8個(gè)設(shè)備不在話下醋虏,可以覆蓋幾乎所有應(yīng)用場(chǎng)景。
2哮翘、PCI-E的組成和分層結(jié)構(gòu)
? ??????????與大多數(shù)總線一樣颈嚼,PCIe總線也包括電氣屬性和協(xié)議組成兩部分。PCIe 規(guī)范對(duì)于設(shè)備的設(shè)計(jì)采用分層的結(jié)構(gòu)饭寺,有事務(wù)層阻课、數(shù)據(jù)鏈路層和物理層組成,各層有都分為發(fā)送和接收兩功能塊艰匙。在發(fā)送端限煞,應(yīng)用程序(設(shè)備核A)在事務(wù)層形成事務(wù)層包(TLP——Transaction Layer Package),儲(chǔ)存在發(fā)送緩沖器里员凝,等待推向下層署驻。在數(shù)據(jù)鏈路層,在TLP 包上再串接一些附加信息,這些信息是對(duì)方接收TLP 包時(shí)進(jìn)行錯(cuò)誤檢查要用到的旺上,形成數(shù)據(jù)鏈路層包(DLLP——Data Link Layer Package)瓶蚂;在物理層,對(duì)DLLP 包進(jìn)行編碼抚官,占用鏈路中的可用通道扬跋,從發(fā)送器發(fā)送出去。在接收端凌节,實(shí)際上是發(fā)送端的“逆”過(guò)程钦听。如果說(shuō)發(fā)送端是在不斷組包,那么接收端就是不斷的拆包倍奢,最后提取出有用的數(shù)據(jù)信息供B設(shè)備的應(yīng)用程序使用朴上。
3、PCI-E總線架構(gòu)圖
? ??????????PCIE體系架構(gòu)一般包含根組件RC(rootcomplex)卒煞,交換器switch痪宰,終端設(shè)備EP(endpoint)等類(lèi)型的PCIE設(shè)備組成。RC在總線架構(gòu)中只有一個(gè)畔裕,用于處理器和內(nèi)存子系統(tǒng)與I/O設(shè)備之間的連接衣撬,而switch的功能通常是以軟件形式提供的,它包括兩個(gè)或更多的邏輯PCI到PCI的連接橋(PCI-PCI Bridge)扮饶,以保持與現(xiàn)有PCI兼容具练,具體功能類(lèi)似現(xiàn)在的網(wǎng)絡(luò)交換機(jī)。
4甜无、PCIE SWITCH
????????提供擴(kuò)展或聚合能力扛点,并允許更多的設(shè)備連接到一個(gè)PCle端口。它們充當(dāng)包路由器岂丘,根據(jù)地址或其他路由信息識(shí)別給定包需要走哪條路徑陵究。是一種PCIe轉(zhuǎn)PCIe的橋。? ? ? ? ? ? ? ? ? ? ? ? ? ??