Arm? AMBA? 協(xié)議中內(nèi)存事務(wù)的排序是一項(xiàng)重要要求,即內(nèi)存更新/訪問(wèn)的順序必須遵循規(guī)范中定義的順序。排序?qū)τ?a target="_blank">處理器與停用加載/存儲(chǔ)指令相關(guān)的同步事件非常重要。AMBA ACE 屏障事務(wù)用于維護(hù)整個(gè)系統(tǒng)的內(nèi)存順序。了解障礙事務(wù)的學(xué)習(xí)曲線(xiàn)可能會(huì)成為徹底驗(yàn)證設(shè)計(jì)的障礙。此博客提供了見(jiàn)解,使理解和驗(yàn)證障礙交易變得更加容易。該博客將介紹不同類(lèi)型的障礙事務(wù)、用法和域邊界。
屏障交易提供了一系列有助于解決訂購(gòu)要求的功能,包括:
—訂購(gòu)裝載/存儲(chǔ)指令
—完成跨適用域的加載/存儲(chǔ)指令
—上下文同步
障礙交易的類(lèi)型
有兩種類(lèi)型的屏障事務(wù):內(nèi)存和同步屏障。根據(jù) AMBA ACE 規(guī)范,內(nèi)存和同步屏障之間的區(qū)別最好通過(guò)查看它們的定義及其在處理器間通信方面的預(yù)期用途來(lái)理解。
內(nèi)存屏障的定義 – *如果*相應(yīng)域中的另一個(gè)主節(jié)點(diǎn)觀察到在屏障之后發(fā)出的事務(wù),則*則*該主節(jié)點(diǎn)必須能夠觀察在屏障之前發(fā)出的每筆事務(wù)。
同步屏障的定義 – 當(dāng)屏障完成時(shí),相應(yīng)域中的*每個(gè)*主節(jié)點(diǎn)必須能夠觀察在屏障之前發(fā)出的所有事務(wù)。
這兩個(gè)定義的不同之處在于,在同步屏障的情況下,屏障事務(wù)本身的完成保證了,對(duì)于原始主服務(wù)器來(lái)說(shuō),域中的*任何*其他代理將觀察之前發(fā)出的所有事務(wù)。這種差異對(duì)兩種類(lèi)型的通信障礙的預(yù)期用途有影響,ACE 規(guī)范在 Sect 中對(duì)此進(jìn)行了澄清。C8.1.
用法:
內(nèi)存屏障 – 用于基于內(nèi)存的通信。詳細(xì)地說(shuō),生產(chǎn)者在內(nèi)存中生成數(shù)據(jù),發(fā)出內(nèi)存屏障,然后寫(xiě)入內(nèi)存中的標(biāo)志。任何不斷輪詢(xún)標(biāo)志的使用者,一旦觀察到修改后的標(biāo)志,也將能夠觀察生成的數(shù)據(jù)。
同步屏障 – 用于基于事件的邊帶通信。因?yàn)槠琳辖灰椎耐瓿梢馕吨鄳?yīng)域中的*每個(gè)*主節(jié)點(diǎn)必須能夠觀察在屏障之前發(fā)出的每筆交易。一旦同步。屏障已經(jīng)完成,生產(chǎn)者可以使用邊帶信令機(jī)制(例如事件、中斷)明確地查明域中的任何主站,以發(fā)出所生成數(shù)據(jù)可用性的信號(hào)。
驗(yàn)證挑戰(zhàn)和解決方案:
創(chuàng)建準(zhǔn)確驗(yàn)證障礙交易的場(chǎng)景非常耗時(shí)且具有挑戰(zhàn)性,需要深厚的協(xié)議和方法專(zhuān)業(yè)知識(shí)。驗(yàn)證這些方案是一項(xiàng)挑戰(zhàn),因?yàn)?ACE 協(xié)議對(duì)屏障事務(wù)提出了許多注意事項(xiàng),尤其是內(nèi)存更新的正確排序及其可觀察性。觀察障礙響應(yīng)的順序并向觀察者提供標(biāo)志增強(qiáng)了復(fù)雜性。
如下圖所示,序列發(fā)送許多基于num_pre_barrier_stores的屏障前存儲(chǔ)事務(wù),然后是屏障對(duì)和屏障后標(biāo)志事務(wù)。有關(guān)障礙交易的考慮因素和交易流程將更深入地介紹將在即將發(fā)布的博客中介紹。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19103瀏覽量
228833 -
ARM
+關(guān)注
關(guān)注
134文章
9029瀏覽量
366502 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8965瀏覽量
85088
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論