當(dāng)前位置:首頁 > 公眾號精選 > ZLG致遠電子
[導(dǎo)讀]乍一看,AMBAAXIexclusive很容易理解,當(dāng)時隨著你深入研究或者經(jīng)過項目的實踐,你會發(fā)現(xiàn)這其中還是有很多驚喜的。尤其是從驗證的角度來看,這里面涉及到不同場景的組合都是驗證中的挑戰(zhàn)。當(dāng)多個master試圖在系統(tǒng)中訪問共享內(nèi)存時,exclusive訪問起著關(guān)鍵作用。系統(tǒng)設(shè)計...

乍一看,AMBA AXI exclusive 很容易理解,當(dāng)時隨著你深入研究或者經(jīng)過項目的實踐,你會發(fā)現(xiàn)這其中還是有很多驚喜的。尤其是從驗證的角度來看,這里面涉及到不同場景的組合都是驗證中的挑戰(zhàn)。

當(dāng)多個master試圖在系統(tǒng)中訪問共享內(nèi)存時,exclusive 訪問起著關(guān)鍵作用。系統(tǒng)設(shè)計需要確保exclusive 訪問成功時,該地址空間中的數(shù)據(jù)不會被其他master覆蓋。簡單來說,exclusive 訪問是對相同地址讀取然后進行寫入的一個操作序列


硬件上exclusive 訪問機制就是為了支持軟件上semaphore 類型操作,同時又不希望某個master鎖定住總線。簡而言之,exclusive 訪問機制就是為了在不影響關(guān)鍵的總線訪問性能(延遲帶寬)的前提下支持semaphore 類型操作semaphore 類型操作是什么,暫不深究了,畢竟硬件就是為軟件服務(wù)的,人家要了,那就給唄)


exclusive 訪問序列必須始終從exclusive 讀取操作開始,然后假設(shè)讀取返回一個成功的EXOKAY響應(yīng),然后master可以用exclusive操作完成exclusive 訪問序列。成功的exclusive 訪問將收到一個EXOKAY響應(yīng),其他所有情況(包括失敗的exclusive 訪問),都將收到OKAY響應(yīng)。至于為什么是OKAY,而不是ERROR,大家可以思考下哈?


Exclusive 訪問序列中的Exclusive 讀寫之間的延遲是不固定的,并且master可能無法完成Exclusive 操作的寫部分,這會增加Exclusive 訪問的驗證空間。


在exclusive 訪問期間,如果沒有其他master對該地址寫入數(shù)據(jù),則exclusive 訪問成功;如果另一個master在期間對該地址寫入數(shù)據(jù),則exclusive 訪問失敗。在這種情況下,exclusive 訪問中的寫也不會更新該地址對應(yīng)的數(shù)據(jù)。

?

上述是exclusive 訪問在系統(tǒng)上的行為,那么從設(shè)計的角度,slave是如何支持這一特性的呢?假設(shè)在一個系統(tǒng)中有2個AXI Master 共享一個支持Exclusive 訪問的AXI slave(S1)的相同內(nèi)存。AXI Master1(M1)地址16h1000至16h100F啟動exclusive 讀取事務(wù)。Slave S1將開始監(jiān)視M1給出的ARID的這些地址,直到該位置發(fā)生寫入操作,或者直到另一個具有相同ARID值的exclusive 讀取操作,此時需要將監(jiān)視的地址重置更新為不同地址。


如果master M2在M1完成其exclusive 寫之前寫入同一地址,slave 將在M1的exclusive 寫事務(wù)期間給出exclusive 訪問失敗的指示,并且不允許M1更新該內(nèi)存地址的數(shù)據(jù)。


在上述場景中,slave S1為M1保留一些內(nèi)存資源。當(dāng)M1嘗試寫入該內(nèi)存位置時,slave S1只有在其他master不寫入該內(nèi)存資源時才允許Exclusive 寫入該內(nèi)存資源,否則數(shù)據(jù)不會寫入該內(nèi)存資源。通過這種方式,我們可以避免AXI Exclusive 訪問的共享內(nèi)存的內(nèi)存覆蓋問題。


如下是一些關(guān)于AXI Exclusive 訪問的corner case:

1、Exclusive 讀之后跟正常讀寫操作。

2、master發(fā)起Exclusive讀,但是不發(fā)起Exclusive 寫。

3、連續(xù)對相同地址相同ARID發(fā)起Exclusive讀,此時slave的監(jiān)視器會重置更新監(jiān)視地址。

4、有兩個Exclusive讀取來監(jiān)視同一地址區(qū)域。

5、對不支持Exclusive 訪問的slave發(fā)起Exclusive 訪問操作。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
關(guān)閉
關(guān)閉