專利名稱:一種測(cè)試PCIe總線帶寬的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)測(cè)試領(lǐng)域,具體涉及一種測(cè)試PCIe總線帶寬的裝置和方法。
背景技術(shù):
夕卜部設(shè)備互聯(lián)高速(Peripheral Component Interconnect Express,簡(jiǎn)稱 PCIe) 總線是外部設(shè)備互聯(lián)(Peripheral Component Interconnect ;簡(jiǎn)稱PCI)總線的一種,PCIe 總線沿用了現(xiàn)有的PCI總線編程概念以及通訊標(biāo)準(zhǔn),只需修改物理層而無(wú)需修改軟件就可將現(xiàn)有PCI系統(tǒng)轉(zhuǎn)換為PCIe系統(tǒng)。PCIe總線采用收發(fā)分開(kāi)的串行物理層替代了 PCI總線的并行物理層信號(hào),PCIe總線擁有更快的速率,可以取代幾乎全部的現(xiàn)有內(nèi)部總線。PCIe 總線上的數(shù)據(jù)傳輸是以報(bào)文(Packet)為單位的,報(bào)文的長(zhǎng)度最小為lbyte,不同設(shè)備支持的最大報(bào)文長(zhǎng)度不同,PCIe規(guī)范定義的報(bào)文最大長(zhǎng)度為4096bytes。PCIe總線的連接是建立在一個(gè)雙向的序列的點(diǎn)對(duì)點(diǎn)連接基礎(chǔ)之上,這稱之為“傳輸通道”,傳送及接收不同數(shù)據(jù)會(huì)使用不同的傳輸通道;兩個(gè)PCIe設(shè)備之間的連接稱為“鏈接”,這形成了 1組或更多的傳輸通道,各個(gè)設(shè)備最少支持1傳輸通道(Xl)的鏈接,也可以有2、4、8、16、32個(gè)通道的鏈接,PCIe總線接口根據(jù)設(shè)備之間鏈路寬度的不同可以分為XI、 X2、X4、X8、X16、X32這幾種類型,Xl表示PCIe總線接口上只有一個(gè)傳輸通道,X2、X4、X8、 X16、X32的含義以此類推。不同鏈路寬度的PCIe總線的單向有效帶寬為鏈路寬度Xl的帶寬為2(ib/S、鏈路寬度X2的帶寬為4(ib/S、鏈路寬度X4的帶寬為8(ib/S、鏈路寬度X8的帶寬為16(ib/S、鏈路寬度X16的帶寬為32(ib/S以及鏈路寬度X32的帶寬為64(ib/S。單向有效帶寬是指PCIe總線接口上只有一個(gè)方向(數(shù)據(jù)接收方向和數(shù)據(jù)發(fā)送方向)存在數(shù)據(jù)流的最大帶寬,雙向有效帶寬是指PCIe總線接口上有兩個(gè)方向(數(shù)據(jù)接收方向和數(shù)據(jù)發(fā)送方向)都存在數(shù)據(jù)流的最大帶寬。現(xiàn)有技術(shù)中PCIe總線接口測(cè)試方法主要有兩種第一種方法是使用專門(mén)的PCIe總線接口測(cè)試設(shè)備進(jìn)行測(cè)試,這種方法可以對(duì) PCIe總線接口進(jìn)行科學(xué)系統(tǒng)的測(cè)試,但是成本比較高。第二種方法是使用直接存儲(chǔ)器存取(Direct Memory Access ;簡(jiǎn)稱DMA)方法,這種方法可以簡(jiǎn)單方便地測(cè)試PCIe接口的實(shí)際最大帶寬上。但是在測(cè)試PCIe接口的可靠性和穩(wěn)定性方面存在不足。因?yàn)闇y(cè)試PCIe接口的可靠性和穩(wěn)定性的時(shí)候,需要在PCIe接口上長(zhǎng)時(shí)間傳輸隨機(jī)長(zhǎng)度的報(bào)文數(shù)據(jù),且傳榆的數(shù)據(jù)流量要達(dá)到PCIe接口的最大帶寬。DMA 方式下,每個(gè)隨機(jī)長(zhǎng)度的PCIe報(bào)文數(shù)據(jù)都需要CPU來(lái)生成,由于CPU的運(yùn)算能力有限,這種情況下PCIe接口上傳輸?shù)臄?shù)據(jù)流量無(wú)法達(dá)其最大帶寬,這樣就不能測(cè)出PCIe接口的可靠性和穩(wěn)定性。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種測(cè)試PCIe總線帶寬的裝置和方法,在增加了 DMA方式下的測(cè)試效率的同時(shí)提高了數(shù)據(jù)測(cè)試結(jié)果的準(zhǔn)確性。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種測(cè)試PCIe總線帶寬的裝置,所述裝置包括 PCIe設(shè)備和主機(jī)設(shè)備,其改進(jìn)之處在于,所述主機(jī)設(shè)備包括內(nèi)存;所述PCIe設(shè)備包括報(bào)文構(gòu)造模塊、DMA寫(xiě)引擎模塊、DMA讀引擎模塊、報(bào)文解析模塊和帶寬計(jì)算模塊;所述報(bào)文構(gòu)造模塊、所述DMA寫(xiě)引擎模塊、所述內(nèi)存、所述DMA讀引擎模塊、所述報(bào)文解析模塊和所述帶寬計(jì)算模塊依次連接。本發(fā)明提供的優(yōu)選技術(shù)方案中,所述主機(jī)設(shè)備中的內(nèi)存為從所述DMA寫(xiě)引擎模塊寫(xiě)入的報(bào)文數(shù)據(jù)預(yù)留有相應(yīng)的DMA寫(xiě)地址,并為所述DMA讀引擎模塊預(yù)留有相應(yīng)的從所述主機(jī)內(nèi)存讀取報(bào)文數(shù)據(jù)的DMA讀地址。本發(fā)明提供的第二優(yōu)選技術(shù)方案中,所述報(bào)文構(gòu)造模塊用于在所述PCIe設(shè)備上構(gòu)造報(bào)文數(shù)據(jù);所述DMA寫(xiě)引擎模塊用于將所述構(gòu)造的報(bào)文數(shù)據(jù)上傳到所述主機(jī)內(nèi)存;所述DMA讀引擎模塊將從所述主機(jī)內(nèi)存讀取的報(bào)文數(shù)據(jù)傳輸?shù)剿鰣?bào)文解析模塊;所述報(bào)文解析模塊將報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;所述報(bào)文構(gòu)造模塊將報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;所述帶寬計(jì)算模塊根據(jù)得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息進(jìn)行報(bào)文帶寬的計(jì)算。本發(fā)明提供的第三優(yōu)選技術(shù)方案中,所述DMA寫(xiě)地址和所述DMA讀地址均為固定地址。本發(fā)明提供的第四優(yōu)選技術(shù)方案中,所述帶寬計(jì)算模塊得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息包括所述報(bào)文數(shù)據(jù)的總字節(jié)數(shù)和傳輸時(shí)間。本發(fā)明提供的第五優(yōu)選技術(shù)方案中,提供一種測(cè)試PCIe總線帶寬的方法,其改進(jìn)之處在于,所述測(cè)試PCIe總線帶寬的方法的具體步驟如下1.在PCIe設(shè)備的所述報(bào)文構(gòu)造模塊中構(gòu)造報(bào)文;2.將構(gòu)造好的報(bào)文通過(guò)所述 DMA寫(xiě)引擎模塊上傳到所述主機(jī)內(nèi)存的所述DMA寫(xiě)地址;3.利用所述DMA讀引擎模塊從所述主機(jī)內(nèi)存的所述DMA讀地址中讀取報(bào)文數(shù)據(jù),并將讀取的報(bào)文數(shù)據(jù)傳輸?shù)剿鰣?bào)文解析模塊;4.將所述報(bào)文解析模塊中的報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;5.所述報(bào)文構(gòu)造模塊將報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;6.根據(jù)得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息,所述帶寬計(jì)算模塊進(jìn)行報(bào)文帶寬的計(jì)算。本發(fā)明提供的第六優(yōu)選技術(shù)方案中,在所述步驟5中,所述帶寬計(jì)算模塊使用的報(bào)文數(shù)據(jù)的長(zhǎng)度信息包括所述報(bào)文數(shù)據(jù)的總字節(jié)數(shù)和傳輸時(shí)間。與現(xiàn)有技術(shù)比,本發(fā)明的有益效果是,所述測(cè)試PCIe總線帶寬的裝置和方法,測(cè)試結(jié)果的準(zhǔn)確性高;避免了使用專門(mén)的PCIe總線接口測(cè)試設(shè)備進(jìn)行帶寬的測(cè)試,降低了使用成本;而且在DMA方式下,每個(gè)隨機(jī)長(zhǎng)度的PCIe報(bào)文數(shù)據(jù)都由PCIe設(shè)備中的報(bào)文構(gòu)造模塊生成,無(wú)需CPU生成PCIe報(bào)文數(shù)據(jù),避免了由于CPU的運(yùn)算能力有限,導(dǎo)致PCIe接口上傳輸?shù)臄?shù)據(jù)流量無(wú)法達(dá)其最大帶寬的問(wèn)題;DMA的地址采用固定地址,這樣就節(jié)省了 DMA的地址計(jì)算時(shí)間;并且在測(cè)試過(guò)程中也不需要其他設(shè)備的參與。
圖1為測(cè)試PCIe總線帶寬的裝置的結(jié)構(gòu)圖。
具體實(shí)施例方式如圖1所示,測(cè)試PCIe總線帶寬的裝置包括位于所述主機(jī)設(shè)備中的內(nèi)存;位于所述PCIe設(shè)備中的報(bào)文構(gòu)造模塊、DMA寫(xiě)引擎模塊、DMA讀引擎模塊、報(bào)文解析模塊、帶寬計(jì)算模塊;所述測(cè)試PCIe總線帶寬的裝置通過(guò)在所述PCIe設(shè)備的所述報(bào)文構(gòu)造模塊上構(gòu)造報(bào)文,然后通過(guò)所述DMA寫(xiě)引擎模塊將構(gòu)造好的報(bào)文上傳到所述主機(jī)內(nèi)存的所述DMA寫(xiě)地址,所述DMA讀引擎模塊通過(guò)所述主機(jī)內(nèi)存的所述DMA讀地址從所述主機(jī)內(nèi)存地址中讀取數(shù)據(jù)并將讀取的數(shù)據(jù)傳輸?shù)剿鰣?bào)文解析模塊,所述報(bào)文解析模塊將報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;最后所述帶寬計(jì)算模塊根據(jù)得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息計(jì)算報(bào)文的帶寬來(lái)完成對(duì)PCIe總線帶寬的測(cè)試。其中,報(bào)文數(shù)據(jù)的長(zhǎng)度信息包括所述報(bào)文數(shù)據(jù)的總字節(jié)數(shù)和傳輸時(shí)間。而且在增加了 DMA方式下的測(cè)試效率的同時(shí)提高了數(shù)據(jù)測(cè)試的準(zhǔn)確性,其中DMA的地址可以采用固定地址,這樣就可以去掉DMA的地址計(jì)算時(shí)間,使測(cè)試結(jié)果更準(zhǔn)確。其中,所述報(bào)文解析模塊和所述DMA讀引擎是用來(lái)測(cè)量DMA讀帶寬的;搜索出報(bào)文構(gòu)造模塊和所述DMA寫(xiě)引擎是用來(lái)計(jì)算DMA寫(xiě)帶寬的;兩者相互獨(dú)立。測(cè)試PCIe總線帶寬的方法包括如下具體步驟1.在PCIe設(shè)備的所述報(bào)文構(gòu)造模塊中構(gòu)造報(bào)文;2.將構(gòu)造好的報(bào)文通過(guò)所述DMA寫(xiě)引擎模塊上傳到所述主機(jī)內(nèi)存的所述 DMA寫(xiě)地址;3.利用所述DMA讀引擎模塊從所述主機(jī)內(nèi)存的所述DMA讀地址中讀取報(bào)文數(shù)據(jù),并將讀取的報(bào)文數(shù)據(jù)傳輸?shù)剿鰣?bào)文解析模塊;4.將所述報(bào)文解析模塊中的報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;5.根據(jù)得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息,所述帶寬計(jì)算模塊進(jìn)行報(bào)文帶寬的計(jì)算,其中,所述帶寬計(jì)算模塊使用的報(bào)文數(shù)據(jù)的長(zhǎng)度信息包括所述報(bào)文數(shù)據(jù)的總字節(jié)數(shù)和傳輸時(shí)間。本發(fā)明中測(cè)試PCIe總線帶寬的裝置和方法對(duì)PCIe總線進(jìn)行的總線帶寬測(cè)試具體是指對(duì)PCIe接口上單向?qū)懖僮?、單向讀操作、雙向?qū)懖僮鳌㈦p向讀操作所能達(dá)到的最大總線帶寬進(jìn)行測(cè)試。需要聲明的是,本發(fā)明內(nèi)容及具體實(shí)施方式
意在證明本發(fā)明所提供技術(shù)方案的實(shí)際應(yīng)用,不應(yīng)解釋為對(duì)本發(fā)明保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員在閱讀本申請(qǐng)說(shuō)明書(shū)后,在其精神和原理啟發(fā)下,可作各種修改、等同替換、或改進(jìn)。但這些變更或修改均在申請(qǐng)待批的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種測(cè)試PCIe總線帶寬的裝置,所述裝置包括PCIe設(shè)備和主機(jī)設(shè)備,其特征在于, 所述主機(jī)設(shè)備包括內(nèi)存;所述PCIe設(shè)備包括報(bào)文構(gòu)造模塊、DMA寫(xiě)引擎模塊、DMA讀引擎模塊、報(bào)文解析模塊和帶寬計(jì)算模塊;所述報(bào)文構(gòu)造模塊、所述DMA寫(xiě)引擎模塊、所述內(nèi)存、所述DMA讀引擎模塊、所述報(bào)文解析模塊和所述帶寬計(jì)算模塊依次連接。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述主機(jī)設(shè)備中的內(nèi)存為從所述DMA寫(xiě)引擎模塊寫(xiě)入的報(bào)文數(shù)據(jù)預(yù)留有相應(yīng)的DMA寫(xiě)地址,并為所述DMA讀引擎模塊預(yù)留有相應(yīng)的從所述主機(jī)內(nèi)存讀取報(bào)文數(shù)據(jù)的DMA讀地址。
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述報(bào)文構(gòu)造模塊用于在所述PCIe設(shè)備上構(gòu)造報(bào)文數(shù)據(jù);所述DMA寫(xiě)引擎模塊用于將所述構(gòu)造的報(bào)文數(shù)據(jù)上傳到所述主機(jī)內(nèi)存;所述DMA讀引擎模塊將從所述主機(jī)內(nèi)存讀取的報(bào)文數(shù)據(jù)傳輸?shù)剿鰣?bào)文解析模塊;所述報(bào)文解析模塊將報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;所述報(bào)文構(gòu)造模塊將報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;所述帶寬計(jì)算模塊根據(jù)得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息進(jìn)行報(bào)文帶寬的計(jì)算。
4.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述DMA寫(xiě)地址和所述DMA讀地址均為固定地址。
5.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述帶寬計(jì)算模塊得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息包括所述報(bào)文數(shù)據(jù)的總字節(jié)數(shù)和傳輸時(shí)間。
6.一種測(cè)試PCIe總線帶寬的方法,其特征在于,所述測(cè)試PCIe總線帶寬的方法的具體步驟如下1.在PCIe設(shè)備的所述報(bào)文構(gòu)造模塊中構(gòu)造報(bào)文;2.將構(gòu)造好的報(bào)文通過(guò)所述DMA寫(xiě)引擎模塊上傳到所述主機(jī)內(nèi)存的所述DMA寫(xiě)地址;3.利用所述DMA讀引擎模塊從所述主機(jī)內(nèi)存的所述DMA讀地址中讀取報(bào)文數(shù)據(jù),并將讀取的報(bào)文數(shù)據(jù)傳輸?shù)剿鰣?bào)文解析模塊; 4.將所述報(bào)文解析模塊中的報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;5.所述報(bào)文構(gòu)造模塊將報(bào)文數(shù)據(jù)的長(zhǎng)度信息提交到所述帶寬計(jì)算模塊;6.根據(jù)得到的報(bào)文數(shù)據(jù)的長(zhǎng)度信息,所述帶寬計(jì)算模塊進(jìn)行報(bào)文帶寬的計(jì)算。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述步驟5中,所述帶寬計(jì)算模塊使用的報(bào)文數(shù)據(jù)的長(zhǎng)度信息包括所述報(bào)文數(shù)據(jù)的總字節(jié)數(shù)和傳輸時(shí)間。
全文摘要
本發(fā)明提供了一種測(cè)試PCIe總線帶寬的裝置,包括位于主機(jī)設(shè)備中的內(nèi)存;位于PCIe設(shè)備中的報(bào)文構(gòu)造模塊、DMA寫(xiě)引擎模塊、DMA讀引擎模塊、報(bào)文解析模塊、帶寬計(jì)算模塊;本發(fā)明還提供了一種測(cè)試PCIe總線帶寬的方法,通過(guò)在PCIe設(shè)備的報(bào)文構(gòu)造模塊上構(gòu)造報(bào)文,然后通過(guò)DMA寫(xiě)引擎模塊將構(gòu)造的報(bào)文上傳到主機(jī)內(nèi)存地址,以及通過(guò)DMA讀引擎模塊從主機(jī)內(nèi)存地址讀取存儲(chǔ)的報(bào)文數(shù)據(jù),最后在帶寬計(jì)算模塊中基于報(bào)文數(shù)據(jù)的總字節(jié)數(shù)和傳輸時(shí)間計(jì)算總線帶寬;本發(fā)明提供的測(cè)試PCIe總線帶寬的裝置和方法,在增加了DMA方式下的測(cè)試效率的同時(shí)提高了數(shù)據(jù)測(cè)試結(jié)果的準(zhǔn)確性。
文檔編號(hào)H04L12/26GK102420719SQ20111038314
公開(kāi)日2012年4月18日 申請(qǐng)日期2011年11月28日 優(yōu)先權(quán)日2011年11月28日
發(fā)明者劉燦, 張磊, 張英文, 李靜, 白宗元, 竇曉光, 紀(jì)奎 申請(qǐng)人:曙光信息產(chǎn)業(yè)股份有限公司