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