PC北橋端高速采集存儲系統(tǒng)研究
引言
本文引用地址:http://2s4d.com/article/187432.htm 由于現(xiàn)在的PCI、CPCI、VME等系統(tǒng)的持續(xù)傳輸速度很難超越400MB/s,因此要完成實時、長時間的采集存儲功能,本設(shè)計選擇實現(xiàn)一種基于PCI-E的系統(tǒng),PCI-E是第三代接口通信協(xié)議(3GPIO)。傳統(tǒng)的PC主機(jī)北橋只有一個高速的PCI-E X16接口,本文使用帶G31北橋的芯片組的技嘉主板GA-G31M-ES2C為例來進(jìn)行討論,雖然G31-ICH7芯片組在南橋上可提供4個PCI-E ×1接口,但是由于其他I/O端口資源的占用,該主板在北橋上僅提供了一個PCI-E ×16的插槽,南橋也只提供一個PCI-E ×1插槽。因此如果只采用G31/ICH7芯片組的電腦建立一個PCI-E采集存儲系統(tǒng),它只能實現(xiàn)PCI-E 1.0 單通道的采集存儲系統(tǒng),帶寬就被限制在200MB/s內(nèi)。而這種格局主要是由于計算機(jī)北橋只提供一個PCI-E插槽,不能同時滿足高速采集和存儲的連接需要,因此擴(kuò)展主機(jī)北橋上的PCI-E接口,將整個采集存儲都建立在北橋上變得至關(guān)重要。
系統(tǒng)結(jié)構(gòu)分析
Intel(英特爾)公司最新的雙通道DDR3內(nèi)存以及下一代雙×16 PCI-E 2.0的計算機(jī)芯片組技術(shù)提供了一種更新的個人電腦的架構(gòu),這些技術(shù)被應(yīng)用到X38、X48和X58等計算機(jī)芯片組中。本文以X58為例,圖1為X58芯片組的系統(tǒng)架構(gòu)。
圖1 X58芯片組的系統(tǒng)架構(gòu)
X58芯片組搭配新南橋ICH10或ICH10R,可支持四條PCI-E ×16插槽(其中兩條符合PCI-E 2.0規(guī)范),根據(jù)通道數(shù)的要求可組成四種不同模式,當(dāng)然它只支持雙圖形處理器(GPU)協(xié)同運(yùn)行的技術(shù)CrossFire,仍不支持Scalable Link Interface(SLI)技術(shù)。SLI技術(shù)是主板能夠同時使用兩塊同型號PCI-E顯卡的一種技術(shù),同時芯片間通信通過類似AMD HyperTransport總線技術(shù)的QPI總線技術(shù)完成,借助PCI-E通道可帶來最高25.6GB/s的雙向帶寬,而現(xiàn)在的前端總線Front Side Bus(FSB)則被徹底棄用。我們可以直接運(yùn)用X58芯片組構(gòu)建一個高速實時的系統(tǒng),但由于現(xiàn)階段很少有能夠完全利用PCI-E ×16帶寬的采集卡,因此將資源進(jìn)行分割,利用多塊采集模塊組成一個采集系統(tǒng),通過PCI-E Switch擴(kuò)展接口的方法可以將X58芯片組擴(kuò)展成為一個更高速、兼容更多模塊的采集存儲系統(tǒng)。
DMI(Direct Media Interface)直接媒體接口是Intel公司開發(fā)用于連接主板南北橋的總線,取代了以前的Hub-Link總線。DMI采用點對點的連接方式,時鐘頻率為100MHz,由于它基于PCI-E總線,因此具有PCI-E總線的優(yōu)勢。DMI實現(xiàn)了上行與下行各1GB/s的數(shù)據(jù)傳輸率,總帶寬達(dá)到2GB/s,但DMI還要與其他I/O設(shè)備進(jìn)行通信,因此如果選擇南橋的PCI-E端口進(jìn)行傳輸,傳輸速度將受到很大的限制,理想情況下至多只能實現(xiàn)1GB/s的傳輸存儲速度。因此,本系統(tǒng)在計算機(jī)中DMI以上的結(jié)構(gòu)中完成數(shù)據(jù)的傳輸和存儲。我們可以將連接在芯片G31 GMCH的PCI-E ×16端口通過一個PCI-E Switch進(jìn)行擴(kuò)展,擴(kuò)展后的結(jié)構(gòu)相當(dāng)于主機(jī)北橋提供了多個高速的PCI-E接口,形成一個類似于圖1中的X58架構(gòu),從而使整個傳輸存儲過程不受DMI雙向2GB/s速度的影響。
利用北橋PCI-E擴(kuò)展技術(shù),將所有的采集卡和存儲卡都連接到主機(jī)的北橋端,可使整個數(shù)據(jù)傳輸不受主機(jī)DMI等的速度瓶頸限制,如果只是使用PCI-E ×4對系統(tǒng)進(jìn)行擴(kuò)展,理想的有效數(shù)據(jù)傳輸速度也可達(dá)800MB/s,而且由于PCI-E協(xié)議是雙向同時傳輸?shù)模虼藢⒉杉ê痛鎯ㄍ瑫r連接到一個端口并不會影響其傳輸和存儲的效率。
系統(tǒng)設(shè)計
PCI-E Switch
PCI-E Switch為整個系統(tǒng)提供擴(kuò)展端口,系統(tǒng)中所有的PCI-E接口都是通過PCI-E Switch芯片擴(kuò)展出來的,類似的可以看成將多個PCI-E插槽直接連接到主機(jī)的北橋上。圖2為含PCI-E的拓?fù)浣Y(jié)構(gòu)圖,通過Switch可以將一個上游設(shè)備口擴(kuò)展多個下游端口,此外PCI-E Switch還可以級聯(lián)。通過一個多通道的PCI-E Switch可擴(kuò)展構(gòu)建一個多采集卡多存儲設(shè)備的實時高速采集存儲系統(tǒng)。
圖2 含PCI-E Switch的拓?fù)浣Y(jié)構(gòu)圖
本方案采用的是PLX公司的一塊PCI-E Switch芯片PEX8616,它是一款可以設(shè)置4個接口并擁有16個通道的PCI-E Switch芯片,并可設(shè)置每個接口的通道數(shù)。其支持透明橋(TB)、非透明橋(NTB)兩種方式,即可以支持兩個及以上的多主機(jī)系統(tǒng)和多智能I/O端口的模塊。PEX8616每個通道含有兩個虛擬端口,且支持熱插拔。由于主要目的是將北橋上的PCI-E ×16插槽擴(kuò)展成為多個PCI-E接口。因此,本系統(tǒng)中將其分為四個PCI-E ×4的接口。端口號為0、1、5和6,將與主機(jī)連接的端口0設(shè)置為上游端口,其余三個端口則為下游端口,連接采集卡和RAID存儲卡。
PCI-E數(shù)據(jù)傳輸方式包含地址路由和ID路由等方式,PCI-E設(shè)備在系統(tǒng)中都有一個ID,根據(jù)所處的PCI總線號、設(shè)備號和功能號來確定。一個PCI-E Switch可以看成多個P2P橋的集合,并且在上游設(shè)備和下游設(shè)備之前還虛擬了一條總線。
p2p機(jī)相關(guān)文章:p2p原理
評論