0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

驗證符合AXI/ACE標(biāo)準(zhǔn)的互連的策略:第三部分

星星科技指導(dǎo)員 ? 來源:synopsys ? 作者:Ray Varghese ? 2023-05-29 10:28 ? 次閱讀

這篇文章中,我將討論規(guī)范中與訪問重疊地址相關(guān)的一些細(xì)微差別。由于多個主站可能共享同一位置,并且數(shù)據(jù)可以分布在不同主站的緩存中,因此這是驗證相干系統(tǒng)的重要組成部分?;ミB在維護(hù)此類訪問的一致性方面起著非常重要的作用。

相對于對重疊事務(wù)的訪問,互連應(yīng)注意三個關(guān)鍵方面。

對事務(wù)進(jìn)行排序

窺探訪問的時間相對于對連貫事務(wù)的響應(yīng)

如果從內(nèi)存讀取的數(shù)據(jù)可能與所有相關(guān) snoop 事務(wù)完成后讀取的數(shù)據(jù)不同,則從內(nèi)存中“重新獲取”數(shù)據(jù)

對事務(wù)進(jìn)行排序

請考慮以下示例:

poYBAGR0DYqAA4HnAAB-WtPuSiA929.png

在這里,主站 1 和主 2 希望寫入同一位置,并將其大致同時存儲在其本地緩存中。為此,主節(jié)點 1 和主節(jié)點 2 發(fā)送 MakeUnique 事務(wù)(如圖 1a 和 2a 表示)。讓我們暫時考慮一下互連不正確的行為模式的影響。假設(shè)互連發(fā)送主站 1 和主 2 MakeInvalid 偵聽事務(wù)(由 1b 和 2b 表示),分別對應(yīng)于它從主站 2 和主 1 收到的 MakeUnique 事務(wù)。一旦主站響應(yīng) snoop 響應(yīng)(由 1c 和 2c 表示),互連將響應(yīng)發(fā)送回主站(由 1d 和 2d 表示)。當(dāng)事務(wù)在主服務(wù)器 1 和主服務(wù)器 2 中完成時,兩個主服務(wù)器都會將緩存更新為唯一狀態(tài)。這違反了協(xié)議,因為緩存行只能由主節(jié)點保持唯一狀態(tài)。此外,每個主節(jié)點可能會在其本地緩存中存儲不同的值,而兩個主節(jié)點都錯誤地認(rèn)為它們具有緩存行的唯一副本。顯然,未正確排序的影響是不連貫的,如圖所示,其中兩個主節(jié)點對數(shù)據(jù)有兩種不同的視圖。為了解決這個問題,規(guī)范要求對重疊地址的此類訪問進(jìn)行排序。規(guī)范指出:

“互連有責(zé)任確保有一個定義的順序,可以發(fā)生到同一緩存行的事務(wù),并且所有組件的定義順序都是相同的。如果兩個主站幾乎同時向同一緩存行發(fā)出事務(wù),則互連將確定哪些事務(wù)首先排序,哪個事務(wù)最后排序。互連使用的仲裁方法未由協(xié)議定義?;ミB通過對事務(wù)響應(yīng)和對主節(jié)點的偵聽事務(wù)進(jìn)行排序來指示到同一緩存行的事務(wù)順序。排序規(guī)則如下:

? 如果主服務(wù)器向緩存行發(fā)出事務(wù),并且在收到對其發(fā)出的事務(wù)的響應(yīng)之前,它在同一緩存行接收偵聽事務(wù),則偵聽事務(wù)定義為優(yōu)先排序。

? 如果主服務(wù)器向緩存行發(fā)出事務(wù),并且在收到到同一緩存行的偵聽事務(wù)之前收到對該事務(wù)的響應(yīng),則主服務(wù)器發(fā)出的事務(wù)被定義為優(yōu)先排序。[1]

在上面的例子中,讓我們假設(shè)互連優(yōu)先于主站1。如果是這樣,它必須向主站1發(fā)送一個窺探事務(wù)(2b),等待窺探響應(yīng)(1c)并將響應(yīng)發(fā)送回主站1(1d)。在此序列結(jié)束時,主 1 的緩存行將處于唯一狀態(tài),并可能在其緩存中寫入值。然后,互連可以對主站 2 進(jìn)行排序,并可以將偵聽事務(wù) (2b) 發(fā)送到主站 1,這將使主站 1 中的緩存行無效,等待偵聽響應(yīng) (2c) 并將響應(yīng)發(fā)送回主站 2 (2d)。在此序列結(jié)束時,主 1 的緩存行無效,主 2 的緩存行將分配給唯一狀態(tài)。

Snoop 訪問的時間相對于對連貫事務(wù)的響應(yīng)

該規(guī)范規(guī)定了對同一緩存行的一致性事務(wù)和偵聽事務(wù)的響應(yīng)順序的一些規(guī)則。這些給出如下:

“互連必須確保以下幾點:

? 如果互連為主站提供對事務(wù)的響應(yīng),則在收到來自該主站的相關(guān) RACK WACK 響應(yīng)之前,它不得將該主站發(fā)送偵聽事務(wù)到同一緩存行

? 如果互連將偵聽事務(wù)發(fā)送到主站,則在收到來自該主站的相關(guān) CRRESP 響應(yīng)之前,它不得向該主站提供對同一緩存行事務(wù)的響應(yīng)。

poYBAGR0DZCACBLvAACQC-HJHJA927.png

與協(xié)議的這一方面相比,需要注意的重要一點是,此要求不適用于 WriteBack 和 WriteClean 事務(wù),盡管規(guī)范中沒有明確說明。將上述規(guī)則應(yīng)用于 WriteBack 和 WriteClean 事務(wù)可能會導(dǎo)致死鎖。這是因為允許接收到緩存行的偵聽事務(wù)的主服務(wù)器將其停止,直到它啟動或即將啟動到同一緩存行的任何掛起的寫回或 WriteClean 事務(wù)完成。換句話說,必須允許此主服務(wù)器接收對 WriteBack 或 WriteClean 事務(wù)的響應(yīng),然后才能允許傳入的窺探繼續(xù)(即響應(yīng)它)。如果上述規(guī)則應(yīng)用于 WriteBack 或 WriteClean 事務(wù),則互連將無法向 WriteBack 或 WriteClean 事務(wù)發(fā)送響應(yīng),因為偵聽事務(wù)已發(fā)送到主服務(wù)器。因此,此規(guī)則不適用于寫回和寫清理事務(wù)非常重要。

從內(nèi)存中重新獲取數(shù)據(jù)

在某些情況下,可能必須從內(nèi)存中重新獲取數(shù)據(jù)。例如,假設(shè)主 1 發(fā)出 ReadShared 事務(wù),而具有緩存行臟副本的主 2 發(fā)出寫回事務(wù)。假設(shè)互連發(fā)出從主內(nèi)存讀取 ReadShared 事務(wù)。發(fā)送到主內(nèi)存的讀取事務(wù)完成后,讓我們假設(shè)寫回有進(jìn)展。在此之后,互連發(fā)送的任何窺探事務(wù)都不會返回數(shù)據(jù),因為寫回會使主 2 中的緩存行無效。但是,如果互連使用先前讀取內(nèi)存中接收的數(shù)據(jù),則該互連將過時,因為 WriteBack 事務(wù)在發(fā)出讀取內(nèi)存后更新了內(nèi)存。因此,有必要從內(nèi)存中重新獲取數(shù)據(jù),并使用該數(shù)據(jù)來響應(yīng)主 1。我們?nèi)绾?a target="_blank">檢測與此相關(guān)的問題?這些可以通過一致性檢查來檢測。在上面的示例中,ReadShared 事務(wù)將傳遞干凈的數(shù)據(jù),其內(nèi)容應(yīng)與內(nèi)存的內(nèi)容匹配。如果沒有,則可能意味著互連使用了過時的數(shù)據(jù)來響應(yīng) ReadShared 事務(wù)。

測試對重疊地址的訪問

測試與訪問重疊地址相關(guān)的所有方案可能會讓人不知所措。給定一個系統(tǒng),有多個不同接口類型的端口可以將事務(wù)發(fā)送到重疊的地址。但是,并非所有訪問給定地址的主節(jié)點組合都有效,因為某些主節(jié)點可能只允許訪問某些地址空間,而一組主節(jié)點可能只訪問一組有限的地址空間,而這些主節(jié)點組形成一個可共享性域。除此之外,對于給定地址的緩存行,具有不同初始狀態(tài)的主節(jié)點可以啟動許多不同的事務(wù)類型。隨機(jī)化和配置感知序列的強(qiáng)大功能可以滿足這些要求。對此進(jìn)行測試的序列可以執(zhí)行以下操作:

根據(jù)用戶給出的可共享性域,在該域中隨機(jī)選擇兩個主節(jié)點

根據(jù)這些主節(jié)點的接口類型,為每個主節(jié)點選擇一個隨機(jī)交易類型

將緩存行初始化為一組地址的有效隨機(jī)狀態(tài)

同時從兩個主服務(wù)器發(fā)送交易

關(guān)鍵驗證點

上一篇博客中提到的所有驗證點也適用于此處。除此之外,還需要檢查以下內(nèi)容:

事務(wù)順序:事務(wù)的順序必須與所有主節(jié)點看到的順序相同

與相干響應(yīng)和窺探訪問相關(guān)的排序要求

確保需要從內(nèi)存中重新獲取數(shù)據(jù)時的一致性

在這篇文章中,我描述了測試策略和測試相對于訪問重疊地址的關(guān)鍵方面。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8257

    瀏覽量

    149965
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    8701

    瀏覽量

    84563
收藏 人收藏

    評論

    相關(guān)推薦

    獨特的51單片機(jī)教程第三部分上—牛人經(jīng)驗,論壇獨家奉獻(xiàn)

    本帖最后由 eehome 于 2013-1-5 10:01 編輯 獨特的51單片機(jī)教程第三部分—牛人經(jīng)驗,論壇獨家奉獻(xiàn)指令系統(tǒng) 與 尋址方式 按照順序,今天該到說指令系統(tǒng)的時候了,要說指令系統(tǒng)
    發(fā)表于 11-17 11:18

    LabVIEW開發(fā)者必備技巧寶典第三部分

    LabVIEW開發(fā)者必備技巧寶典第三部分分享給大家,請叫我雷鋒。
    發(fā)表于 12-05 11:40

    LabVIEW開發(fā)者必備技巧寶典第三部分

    本帖最后由 jfzhangjin 于 2015-5-6 09:30 編輯 LabVIEW開發(fā)者必備技巧寶典第三部分由電子發(fā)燒友網(wǎng)論壇出品,集結(jié)眾多大牛、工程師的經(jīng)驗之作。為廣大LabVIEW
    發(fā)表于 12-05 14:19

    找不到任何基于PSoC4或Pro的第三部分模塊

    大家好,我似乎找不到任何基于PSoC4或Pro的第三部分模塊。例如,對話框的DA14580來自松下的PAN1740模塊。塞浦路斯IC有第三方供應(yīng)商嗎?提前感謝!克里斯托弗
    發(fā)表于 09-17 14:18

    接收機(jī)用晶體變換器設(shè)計及制作第三部分

    接收機(jī)用晶體變換器設(shè)計及制作第三部分 晶體變換器的印刷電路基板的制作與調(diào)整 圖26晶體變換器的印刷電路基板
    發(fā)表于 05-15 10:58 ?962次閱讀
    接收機(jī)用晶體變換器設(shè)計及制作<b class='flag-5'>第三部分</b>

    開關(guān)電源設(shè)計(第3版)第三部分

    電子發(fā)燒友網(wǎng)站提供《開關(guān)電源設(shè)計(第3版)第三部分.txt》資料免費下載
    發(fā)表于 09-12 15:04 ?0次下載

    2012年P(guān)SoC數(shù)模混合設(shè)計培訓(xùn)_第三部分

    2012年P(guān)SoC數(shù)?;旌显O(shè)計培訓(xùn)_第三部分
    發(fā)表于 10-27 09:30 ?8次下載
    2012年P(guān)SoC數(shù)?;旌显O(shè)計培訓(xùn)_<b class='flag-5'>第三部分</b>

    LTC2387驅(qū)動程序第三部分

    LTC2387驅(qū)動程序第三部分
    發(fā)表于 05-16 15:23 ?4次下載
    LTC2387驅(qū)動程序<b class='flag-5'>第三部分</b>

    用于激活設(shè)備的可編程定時器-第三部分

    電子發(fā)燒友網(wǎng)站提供《用于激活設(shè)備的可編程定時器-第三部分.zip》資料免費下載
    發(fā)表于 12-16 10:28 ?0次下載
    用于激活設(shè)備的可編程定時器-<b class='flag-5'>第三部分</b>

    驗證符合AXI/ACE標(biāo)準(zhǔn)互連策略

    用于片上系統(tǒng) (SoC) 中功能塊連接和管理的 AMBA 4 規(guī)范現(xiàn)在具有支持多核計算的高級可擴(kuò)展接口 (AXI) 一致性擴(kuò)展 (ACE)。ACE 規(guī)范支持跨多核處理器群集的系統(tǒng)級緩存一致性。對這種系統(tǒng)的核查提出了重大挑戰(zhàn)。
    的頭像 發(fā)表于 05-25 14:50 ?1448次閱讀
    <b class='flag-5'>驗證</b><b class='flag-5'>符合</b><b class='flag-5'>AXI</b>/<b class='flag-5'>ACE</b><b class='flag-5'>標(biāo)準(zhǔn)</b>的<b class='flag-5'>互連</b>的<b class='flag-5'>策略</b>

    驗證符合AXI/ACE標(biāo)準(zhǔn)互連策略:第一部分

    用于片上系統(tǒng) (SoC) 中功能塊連接和管理的 AMBA 4 規(guī)范現(xiàn)在具有支持多核計算的高級可擴(kuò)展接口 (AXI) 一致性擴(kuò)展 (ACE)。ACE 規(guī)范支持跨多核處理器群集的系統(tǒng)級緩存一致性。對這種
    的頭像 發(fā)表于 05-29 10:23 ?879次閱讀
    <b class='flag-5'>驗證</b><b class='flag-5'>符合</b><b class='flag-5'>AXI</b>/<b class='flag-5'>ACE</b><b class='flag-5'>標(biāo)準(zhǔn)</b>的<b class='flag-5'>互連</b>的<b class='flag-5'>策略</b>:第一<b class='flag-5'>部分</b>

    驗證符合AXI/ACE標(biāo)準(zhǔn)互連策略:第二部分

    的每一個都有一組與互連不同的響應(yīng)要求。此外,這些事務(wù)中的每一個都可以在多個配置中使用。我們需要驗證互連對于每種事務(wù)類型是否正常工作。我們將首先概述該協(xié)議,然后再進(jìn)行這些協(xié)議的測試策略
    的頭像 發(fā)表于 05-29 10:24 ?2733次閱讀
    <b class='flag-5'>驗證</b><b class='flag-5'>符合</b><b class='flag-5'>AXI</b>/<b class='flag-5'>ACE</b><b class='flag-5'>標(biāo)準(zhǔn)</b>的<b class='flag-5'>互連</b>的<b class='flag-5'>策略</b>:第二<b class='flag-5'>部分</b>

    硬件即代碼第三部分:空間與時間

    電子發(fā)燒友網(wǎng)站提供《硬件即代碼第三部分:空間與時間.zip》資料免費下載
    發(fā)表于 06-14 15:12 ?0次下載
    硬件即代碼<b class='flag-5'>第三部分</b>:空間與時間

    SensorTile.box第三部分:編程模式(Pro mode)介紹

    電子發(fā)燒友網(wǎng)站提供《SensorTile.box第三部分:編程模式(Pro mode)介紹.pdf》資料免費下載
    發(fā)表于 07-29 16:19 ?0次下載
    SensorTile.box<b class='flag-5'>第三部分</b>:編程模式(Pro mode)介紹

    用于高頻接收器和發(fā)射器的鎖相環(huán)——第三部分

    電子發(fā)燒友網(wǎng)站提供《用于高頻接收器和發(fā)射器的鎖相環(huán)——第三部分.pdf》資料免費下載
    發(fā)表于 11-23 10:18 ?0次下載
    用于高頻接收器和發(fā)射器的鎖相環(huán)——<b class='flag-5'>第三部分</b>