<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在嵌入式多核集群中利用OCP處理高速緩沖器一致流量

          在嵌入式多核集群中利用OCP處理高速緩沖器一致流量

          作者:Matthias Knoth MIPS科技公司 時(shí)間:2008-08-14 來(lái)源:電子產(chǎn)品世界 收藏

          一致消息

          本文引用地址:http://www.ex-cimer.com/article/86946.htm

            系統(tǒng)可能執(zhí)行四個(gè)一致消息,這四個(gè)消息是由CPU負(fù)載/存儲(chǔ)活動(dòng)產(chǎn)生的L1高速緩沖器行狀態(tài)變化導(dǎo)致的。發(fā)起的CPU將這個(gè)消息以主端口命令發(fā)送。系統(tǒng)的同級(jí)CPU接收基于該行狀態(tài)變化的干預(yù),并以其本地高速緩沖器行狀態(tài)進(jìn)行響應(yīng)。

            第一種消息類型是CohReadOwn,表示在嘗試修改高速緩沖器行時(shí)發(fā)生的高速緩沖器的不命中。同級(jí)內(nèi)核遇到處于“修改”狀態(tài)的該行時(shí),會(huì)強(qiáng)制回寫到存儲(chǔ)器子系統(tǒng)中,并執(zhí)行本地失效。作為優(yōu)化,本地遇到的行數(shù)據(jù)將被轉(zhuǎn)發(fā)到請(qǐng)求方 CPU,以降低存取延遲。請(qǐng)求方CPU將使該行作為“專有”行,并執(zhí)行行修改指令。然后,高速緩沖器行狀態(tài)將變成“修改過(guò)的”。在等待行重新填滿的時(shí)候,請(qǐng)求方CPU將繼續(xù)另一個(gè)線程的執(zhí)行。

            一致讀取共享(CohReadShared)消息表明在讀行操作過(guò)程中發(fā)生的高速緩沖器不命中。不需要行修改。遇到“已修改”狀態(tài)的該行的同級(jí)內(nèi)核將強(qiáng)制回寫到存儲(chǔ)器子系統(tǒng)。命中的同級(jí)行將轉(zhuǎn)換到“共享”狀態(tài)。命中數(shù)據(jù)將被轉(zhuǎn)發(fā)到請(qǐng)求方內(nèi)核,并以“共享”狀態(tài)安裝。然后執(zhí)行讀行操作。在等待行重新填滿的時(shí)候,請(qǐng)求方CPU將繼續(xù)另外一個(gè)線程的執(zhí)行。

            一致升級(jí)(CohUpgrade)消息表明遇到命中“共享”行的一個(gè)高速緩沖器行修改指令。同級(jí)內(nèi)核將收到通知取消命中行。在修改指令執(zhí)行完以后,“共享”行會(huì)隨之升級(jí)為“修改”行。

            最終,一致回寫(CohWriteBack)消息表示驅(qū)逐了一個(gè)一致高速緩沖器行。一致管理器將通過(guò)干預(yù)端口發(fā)起數(shù)據(jù)移動(dòng),并將數(shù)據(jù)轉(zhuǎn)發(fā)到存儲(chǔ)器子系統(tǒng)。被驅(qū)逐的高速緩沖器行隨后便由一個(gè)新的—可能是一致的—地址取代。在這種情況下,CohReadOwn或CohReadShared導(dǎo)致了這個(gè)驅(qū)逐。
            
          一致高速緩沖器操作指令

            為了響應(yīng)高速緩沖器操作,需要發(fā)起一致消息,并發(fā)送到同級(jí)內(nèi)核。

            ·CohCopyBack—將一致高速緩沖器行回寫到存儲(chǔ)子系統(tǒng)。
            ·CohInvalidate—清除一致高速緩沖器行,而不是將其內(nèi)容回寫到存儲(chǔ)子系統(tǒng)。
            ·CohWriteInvalidate—I/O一致單元在一個(gè)新的高速緩沖器行注入一致域。
            ·CohReadInvalidate — I/O一致單元通知系統(tǒng),高速緩沖器行將離開(kāi)一致域。
            ·CohCompletionSync—無(wú)數(shù)據(jù)的命令可以保持排序。

          非一致命令

            傳統(tǒng)的命令,如“讀取”和“寫入”命令是由整個(gè)系統(tǒng)支持的,以處理非一致存儲(chǔ)器存取的數(shù)據(jù)存取。當(dāng)高速緩存的、非一致地址內(nèi)的命中失敗,或者非高速緩存存取引發(fā)存儲(chǔ)子系統(tǒng)內(nèi)的讀取操作時(shí),就會(huì)發(fā)出讀命令。如果響應(yīng)數(shù)據(jù)是作為非一致高速緩存安裝的話,那么非高速緩存數(shù)據(jù)就會(huì)直接被消耗掉。提取和負(fù)載/存儲(chǔ)活動(dòng)可導(dǎo)致讀取處理。當(dāng)高速緩存的、非一致逐出數(shù)據(jù)或非高速緩存地址范圍存儲(chǔ)被寫入存儲(chǔ)子系統(tǒng)時(shí),即發(fā)出寫入命令。內(nèi)核的 主端口執(zhí)行命令和數(shù)據(jù)階段的處理。

          實(shí)例—一致讀取共享消息

            CPU0 在一致高速緩存行上遇到負(fù)載不命中,并發(fā)起 cohReadShared 消息(無(wú)修改意圖)。一致管理器將干預(yù)消息發(fā)送到所有內(nèi)核,在此內(nèi)核 1 將響應(yīng)“修改”的命中。一致管理器現(xiàn)在發(fā)起了一個(gè)修改行回寫,將行數(shù)據(jù)從內(nèi)核 1 中的干預(yù)端口移動(dòng)到存儲(chǔ)子系統(tǒng)。命中的內(nèi)核 1 高速緩存行轉(zhuǎn)移到“共享”狀態(tài)(見(jiàn)圖2)。行數(shù)據(jù)移動(dòng)也會(huì)轉(zhuǎn)發(fā)到內(nèi)核 0,在此它可在“共享”狀態(tài)下安裝。


          圖2  一致讀取共享消息

          結(jié)語(yǔ)

            OCP互連有助于支持基于消息的一致方案。集中的一致管理器可以串化從單獨(dú)內(nèi)核發(fā)出的一致消息,并詢問(wèn)同級(jí)內(nèi)核的一致?tīng)顟B(tài)。內(nèi)核之間的數(shù)據(jù)轉(zhuǎn)發(fā)可減少存取延遲和對(duì)更高級(jí)別的存儲(chǔ)器層的流量。單個(gè)內(nèi)核支持OCP主端口發(fā)起數(shù)據(jù)存取和OCP從端口接收來(lái)自一致管理器的詢問(wèn)。

          參考文獻(xiàn):

            1.  OCP規(guī)范2.2,2006 OCP-IP協(xié)會(huì),版權(quán)所有
            2.  OCP一致擴(kuò)展,第二部分:信號(hào)和解碼(未發(fā)表、初稿)
            3.  MIPS32 系統(tǒng)用戶手冊(cè),MIPS科技公司

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();