久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

PCIE進(jìn)階之PCIE ordering下篇

 mzsm 2022-05-26 發(fā)布于湖北

這一篇解決最后一個(gè)問(wèn)題:在實(shí)際設(shè)計(jì)或者應(yīng)用中,,axi如何適配pcie ordering的?

在基于ARM cpu的SOC中PCIE controller通過(guò)axi連接到NOC(network on chip),,簡(jiǎn)單的示意圖如下:

圖片

這個(gè)時(shí)候就會(huì)存在一個(gè)問(wèn)題:axi ordering和pcie ordering是不匹配的,。如何做到讓axi去滿足pcie ordering呢?

首先看看基于axi 接口的PCIE控制器的原理:

PCIE控制器有inbound和outbound方向,,在inbound方向上面有axi master,,在outbound方向上面有axi slave。axi master和axi slave連接到NOC上面,。axi master和axi slave組成了axi brdige. PCIE Core這個(gè)就是PCIE協(xié)議規(guī)定實(shí)現(xiàn),,在tx方向有三個(gè)queue,,分別放NP,P和CPL TLP;在rx方向也有桑格queue,,分別放入NP, P和CPL,。在rx queue和axi bridge之間有一個(gè)PCIE order 模塊,這個(gè)模塊的功能就是按照pcie ordering的規(guī)則從rx queue中選取一定順序的NP, P或者CPL 傳入axi bridge,。NP, P, CPL的數(shù)據(jù)流圖如下圖所示,,注意queue的顏色和數(shù)據(jù)流顏色是一致的。

圖片

其次我們看看axi bridge是如何保證 PCIE ordering的,,我們忽略ID ordering=1的情況, 只考慮root complex和endpoint直接互聯(lián)的情況,。下面中篇中出現(xiàn)的圖,我們一個(gè)一個(gè)的拆解,,看axi bridge如何適配PCIE ordering,。

圖片

(1) P 必須允許超過(guò)前面的NP: AXI write address 和 read address channel 分開(kāi),axi 天然支持,。

(2)P不能超過(guò)前面的P,,除非后面P 的relaxed ordering(RO)=1:在實(shí)現(xiàn)上面axi bridge為了保證后面的MSI不能超過(guò)前面的P(如果MSI超過(guò)前面的P的話,會(huì)出現(xiàn)中斷已經(jīng)打起,,但是數(shù)據(jù)還沒(méi)有完全寫(xiě)入DDR的情況),,所以不管有沒(méi)有設(shè)置relaxed ordering,都會(huì)保證P不能超越前面的P,。axi bridge只有一條wirte通路,,write address ID恒為0,保證了ordering,。

(3)P 可以選擇性的超越前面的CPL:axi  write address 和 read response不同的channel, axi 天然支持。

(4) CPL 必須允許超越前面的NP:  axi master和axi slae,,沒(méi)有任何依賴關(guān)系axi slave的read response channel和axi master的read address channel分開(kāi)的,,支持這條rule。

(5) CPL 不能超過(guò)前面的P,,除非CPL的RO=1:如果CPL的RO=0,,如果axi master需要等待outstanding 的wirte的response全部返回之前,PCIE order 才去rx queue中取出CPL送給axi slave,。

如果CPL的RO=1,,CLP和P之間就沒(méi)有前后依賴關(guān)系了。

(6)  CPL optionally pass 前面帶有不同tag的CPL:axi bridge不支持超越,,注意CPL是一個(gè)queue. 這個(gè)也是optionally的,,所以沒(méi)有違反pcie ordering。

(7)  NP optionally pass前面的NP:  axi bridge不支持超越,,NP都在同一個(gè)queue,。沒(méi)有違反,,是optionally。

(8) NP optionally pass 前面的CPL:axi slave的read response channel和 axi master的read address channel沒(méi)有依賴關(guān)系,。支持,。

(9) NP 不能超過(guò)前面的P,除非NP的RO=1,。

RO=0: axi master 對(duì)于read address channel和write address channel沒(méi)有依賴,,這個(gè)時(shí)候需要axi bridge必須等待所有的outstanding write都返回response了,pcie order才會(huì)取出NP,。

如果設(shè)置后面NP的RO=1,,后面的P不會(huì)擋住前面的NP。注意只支持NP write超越前面P,。抱著保守的態(tài)度,,是不支持NP memory read可以超越前面的P,假設(shè)那么會(huì)出現(xiàn)這種情況:軟件對(duì)于同一地址先寫(xiě)后讀,,硬件有可能先讀后寫(xiě)了,。

最后我們延展到DMA操作, 從DMA的數(shù)據(jù)流可以看到 axi brdige對(duì)于PCIE 的性能的利用達(dá)到最大:遵循PCIE ordering,同時(shí)NP/P/CPL之間都沒(méi)有相互block住的情況,,你看只有CPL需要從rx queue中取出,,完全沒(méi)有NP/P/CPL之間順序的考慮。

圖片

總結(jié):

(1) 可以發(fā)現(xiàn)由于PCIE是X86體系結(jié)構(gòu)下面而生的,,在amba體系結(jié)構(gòu)中,,雖然使用axi適配了PCIE ordering,但是最后也只有(5)和(9)使用到了relaxed ordering,,并且(9)只局限在NP write超越P,。使用axi適配PCIE ordering之后,總線性能其實(shí)和pcie傳統(tǒng)的strong ordering稍微好一點(diǎn)點(diǎn),。由于axi ordering和PCIE ordering還有有一些不同,,在適配的過(guò)程中沒(méi)有辦法將PCIE 性能提高到最大。

(2) 幸虧有DMA的存在,,將axi bridge對(duì)pcie ordering的性能影響降低到最低,。

(3) 從axi bridge出來(lái)的axi transaction送入NOC中,如果axi bridge做得確實(shí)適配pcie ordering的,,那么可以消除PCIE deadlock的顧慮了,。

關(guān)于pcie ordering這個(gè)問(wèn)題,有點(diǎn)復(fù)雜,。我也只能理解到這里了,,請(qǐng)多多包涵。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多