引言
在系統(tǒng)設(shè)計中,設(shè)計師們面臨的重要挑戰(zhàn)是既要支持高可靠性(HA,High Availability),又要使系統(tǒng)盡可能簡單、有效。而PCI Express、基于PCI Express的高級交換架構(gòu)(Advanced SwitchingArchitecture)、基于PCI Express的QOS(Quality-Of-Service)特性以及PCI-Express非透明橋的出現(xiàn),共同為這樣的系統(tǒng)設(shè)計提供了一個非常有發(fā)展?jié)摿Φ慕鉀Q方案。
1、PCI Express技術(shù)簡介
PCI Express技術(shù)是一個比較新的互連標(biāo)準(zhǔn)。該技術(shù)適用于高性能的芯片到芯片、板子到板子、背板和機(jī)箱之間的互連。它是PCI標(biāo)準(zhǔn)的一個演進(jìn)版本,因此,在軟件結(jié)構(gòu)上仍保持著對PCI的兼容性。
PCI Express是基于層次化的、高速的串行通信技術(shù)。其協(xié)議??煞譃槲锢韺?、數(shù)據(jù)鏈路層和傳輸層。
其中,物理層包括低電壓差分信號的高速串行接口、8B/10B編碼以及AC耦合差分信號。通常把一組LVDS雙絞線稱為一個通道(lane),而且PCI Express允許將多個通道合并成一個更大更寬的端口,如x1,x2…直到x32。物理層接口可支持熱插拔(hot-plugging)。
數(shù)據(jù)鏈路層可支持與臨近PCI Express實體交換數(shù)據(jù)包,同時支持?jǐn)?shù)據(jù)完整性(data integrity)和順序性檢查,以及數(shù)據(jù)包的確認(rèn)和流量控制的能力。
PCI Express技術(shù)系統(tǒng)中的傳輸層可在主機(jī)和終端設(shè)備間傳送讀/寫請求,并可選擇性的提供傳輸層的端到端(end-to-end)數(shù)據(jù)包的完整性檢查(CRC-32)。
一直以來,PCI Express傳輸系統(tǒng)中的物理層的速度一直在不斷的提高,但是,分層結(jié)構(gòu)使物理層的變化不會影響到它的上層。如PCI Express1.x標(biāo)準(zhǔn)的時鐘頻率是1.25 GHz,2.0標(biāo)準(zhǔn)的則為2.5 GHz,3.0標(biāo)準(zhǔn)的是4 GHz。圖l所示是PCI Ex-press協(xié)議棧結(jié)構(gòu)。
PCI Express的QOS可通過定義8個運輸?shù)燃墸═C-Traffic Classes)、八個虛擬通道(VC-VirtualChannel)、TC到VC的映射以及VC的仲裁機(jī)制來實現(xiàn)。
PCI-SIG組織則定義了從PCI Express串行接口到PCI/PCI-X的橋接規(guī)范。該規(guī)范可以使得當(dāng)前使用PCI/PCI-X的應(yīng)用系統(tǒng)能夠平滑的轉(zhuǎn)移到PCI Express。圖2所示是一個典型的PCI Express系統(tǒng),其中包含有根復(fù)合體(root complex)、PCIExpress交換開關(guān)(switch)、橋(bridge,PCI Expressto PCI-X,PCI Express to PCI)以及端點(end-point)等設(shè)備。
2、PCI Express非透明橋
與PCI/PCI-X一樣,PCI Express本身也是開發(fā)維護(hù)一個以單一主機(jī)為中心的系統(tǒng)架構(gòu),但是人們一直使用非透明橋把他們用在多主機(jī)的環(huán)境中。
非透明橋的功能和透明橋很相似,其主要差別只有一點,即在非透明橋的兩邊都有智能設(shè)備或處理器,并且他們擁有獨立的地址空間。而且,非透明橋一邊的主機(jī)不能看到橋另一邊的完整地址或I/O空間。每個處理器把非透明橋的另一邊看做一個端點(endpoint),并把它映射到自己的地址空間。
2.1 地址翻譯
在非透明橋環(huán)境中,PCI Express系統(tǒng)需要在從一個內(nèi)存地址空間穿越到另一個地址空間時進(jìn)行地址翻譯。每一個非透明橋(NTB)端口都有兩套基地址寄存器(BAR),一套是給主設(shè)備端用的,另一套是給從設(shè)備端用的?;刂芳拇嫫骺捎脕矶x在非透明橋另一端的內(nèi)存地址空間的地址翻譯窗口,并允許這個翻譯被映射到本地的內(nèi)存或I/O空間。每個BAR定義了一個設(shè)置寄存器(setup register),可用來定義窗口的大小、類型以及一個地址翻譯寄存器。與透明橋基于總線號轉(zhuǎn)發(fā)所有CSRs不同,非透明橋設(shè)備只接受針對本設(shè)備的CSR事務(wù)。其地址翻譯技術(shù)有直接地址翻譯和查表地址翻譯兩種。
在直接地址翻譯模式下,地址翻譯的過程是基于事務(wù)終結(jié)的BAR基址加上一個偏移量。BARs中的基址翻譯寄存器可被用來設(shè)置這樣的翻譯。圖3所示給出了從主設(shè)備端地址映射到從設(shè)備端地址的偏移過程。
BARs則用一種特別的查找表來為落在它窗口中的事務(wù)進(jìn)行地址翻譯。因為地址中的索引域可通過編程來調(diào)節(jié)窗口大小,因此,這種方法在本地地址到主機(jī)地址的映射中具有更高的靈活性。通常索引被用來提供新內(nèi)存地址的高位比特(bits)。
2.2 處理器間的通信
非透明橋允許橋兩邊的主機(jī)通過便箋寄存器、門鈴寄存器和心跳消息來交換一些狀態(tài)信息。
便箋寄存器在非透明橋的兩端都是可讀寫的,但是,便箋寄存器的數(shù)量在具體的實現(xiàn)中是可以不同的。他們可以被橋兩邊的設(shè)備用來傳送一些狀態(tài)信息,也可作為通用的可讀可寫寄存器使用。
門鈴寄存器被用來從非透明橋的一邊向另一邊發(fā)送中斷。非透明橋的兩邊一般都有軟件可以控制的中斷請求寄存器和相應(yīng)的中斷屏蔽寄存器。這些寄存器在非透明橋的兩邊都是可以被訪問的。
心跳消息一般來自主設(shè)備端往從設(shè)備端的主機(jī),可用來指示它還活著。從設(shè)備主機(jī)可監(jiān)控主設(shè)備主機(jī)的狀態(tài),如果發(fā)現(xiàn)出錯,它就可以采取一些必要的措施。通過門鈴寄存器可以傳送心跳消息。當(dāng)從設(shè)備主機(jī)沒有收到一定數(shù)量預(yù)先規(guī)定好的心跳消息時,就可以認(rèn)為主設(shè)備的主機(jī)出錯了。
3、基于PCI Express非透明橋的多主機(jī)系統(tǒng)
3.1 智能插卡
在智能卡模式下,智能插卡上的PCI Express非透明橋可以將IOP和Host CPU隔離開來,但仍允許這兩個CPU通過一些特殊的寄存器進(jìn)行通信。圖4所示是智能插卡模式下的非透明橋的通信結(jié)構(gòu)。
3.2 雙主機(jī)模式
非透明橋也可用在雙主機(jī)(Dual Host)、主機(jī)故障轉(zhuǎn)移(Host Failover)和負(fù)載分擔(dān)(Load-shar-ing)等應(yīng)用中。圖5所示是將兩個Host CPU被非透明橋隔離開的結(jié)構(gòu)示意圖。
3.3 多主機(jī)模式
在多主機(jī)系統(tǒng)中,每一個主機(jī)都可以通過非透明橋接入到系統(tǒng)之中,并且可以訪問所有的端點。在PCI的枚舉過程中,每個端點都要和某個特定的CPU關(guān)聯(lián),但在正常的操作過程中,依賴于非透明橋的地址翻譯能力。所有的CPU都可以訪問所有的端點。圖6所示是主機(jī)系統(tǒng)的非透明橋結(jié)構(gòu)。
4、結(jié)束語
非透明橋技術(shù)在PCI時代就已被應(yīng)用?,F(xiàn)在,在PCI Express系統(tǒng)中也有類似的實現(xiàn)。相信在不遠(yuǎn)的將來,從簡單的智能插卡到復(fù)雜的、帶虛擬輸入輸出技術(shù)的多主機(jī)系統(tǒng),人們都將看到PCIExpress非透明橋的廣泛應(yīng)用。
責(zé)任編輯:gt
-
接口
+關(guān)注
關(guān)注
33文章
9005瀏覽量
153759 -
PCI
+關(guān)注
關(guān)注
5文章
679瀏覽量
132077 -
主機(jī)
+關(guān)注
關(guān)注
0文章
1038瀏覽量
35988
發(fā)布評論請先 登錄
CPU如何通過PCI Express訪問板上的系統(tǒng)?
針對可編程PCI Express解決方案的評估方法
PCI Express 至PCI 橋設(shè)計原理及應(yīng)用
基于PCI Express總線高速數(shù)據(jù)采集卡的設(shè)計與實現(xiàn)
基于PCI Express實時視頻采集系統(tǒng)的設(shè)計
PCI Express交換及橋接芯片的展望

PCI Express插槽,什么是PCI Express插槽
PCI Express總線
PCI Express解決方案的介紹
如何創(chuàng)建和使用Xilinx的UltraScale PCI Express解決方案

PCI Express系統(tǒng)中DMA的基本功能介紹
FPGA中實施PCI Express橋接解決方案

PCI Express橋:指南上游內(nèi)存讀取性能優(yōu)化

QDMA Subsystem for PCI Express v5.0產(chǎn)品指南

評論