欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于支持持久存儲(chǔ)器的方法和裝置的制造方法_3

文檔序號:9583642閱讀:來源:國知局
布僅一個(gè)優(yōu)化的沖洗或?qū)懟夭僮鳎緸椤癢B_3”。另外或可替代地,取決于實(shí)現(xiàn)方式或配置,MMS可以通過執(zhí)行來自高速緩存行的寫入而不使這些高速緩存行無效來優(yōu)化性能。這種優(yōu)化在存在對近期寫入數(shù)據(jù)的重新使用的場景中是有益的。
[0054]用于寫合并優(yōu)化的控制邏輯可以駐留在處理器22的微引擎中,在高速緩存控制器32的微引擎中、和/或在其它部件中的微代碼(或其它控制邏輯)中。
[0055]圖5A中的過程然后可以進(jìn)行到框520,MMS自動(dòng)判定處理設(shè)備20的當(dāng)前狀態(tài)是否呈現(xiàn)好的機(jī)會(huì)來執(zhí)行到MMC的渴望寫回。例如,MMS可以判定將數(shù)據(jù)從高速緩存34寫入到MMC 30所需的資源是否可用。在一個(gè)實(shí)施例中,MMS每當(dāng)允許寫入時(shí)和/或每當(dāng)讀取/寫入帶寬或利用率落到特定閾值之下時(shí)做出這種判定。例如,為了消除延遲問題,可以使用寫入信用(write credit)來跟蹤未完成(outstanding)寫入的數(shù)量,以免壓倒并發(fā)寫入能力或目標(biāo)目的地的緩沖能力,并且跟蹤信用可以消除在端點(diǎn)之間同步通信的需要。因此,麗S可以判定當(dāng)存在足夠可用的寫入信用時(shí)允許寫入。另外或可替代地,麗S可以判定(a)如果高速緩存控制器32自由或空閑和/或(b)如果當(dāng)前條件呈現(xiàn)機(jī)會(huì)來優(yōu)化電力預(yù)算,則存在好的機(jī)會(huì)來從高速緩存寫入數(shù)據(jù)。例如,MMS可以通過將高速緩存行粒度的寫入大小合并為持久存儲(chǔ)器的粗頁面-行粒度,來判定當(dāng)前條件呈現(xiàn)機(jī)會(huì)來優(yōu)化電力預(yù)算。例如,可以將這一合并作為批量操作在處理器掉落到較低功率狀態(tài)之前進(jìn)行。要考慮的因素可以包括空間局部性、持久存儲(chǔ)器的電力狀態(tài)、以及當(dāng)前核心和管芯的電力狀態(tài)標(biāo)準(zhǔn)。這些因素可以用于最小化電力狀態(tài)轉(zhuǎn)換。例如,在一些條件下,MMS可以選擇立即進(jìn)行寫回;而在其它條件下,MMS可以選擇延遲寫回以最終分配寫入,從而處理器能夠更經(jīng)常地掉落到較低電力狀態(tài),或更久地保持在較低電力狀態(tài)中。在可替代實(shí)施例中,MMS可以使用其它方法來控制何時(shí)做出判定,并且MMS可以在判定是否存在好的機(jī)會(huì)時(shí)考慮其它因素。
[0056]如框522所示,如果MMS已經(jīng)檢測到好的機(jī)會(huì),則MMS可以判定高速緩存34是否包含尚未寫入到MMC的WPB中的任何WB-E數(shù)據(jù)。出于本公開的目的,尚未寫入到MMC的WPB中的WB-E數(shù)據(jù)可以稱為“未決WB-E高速緩存數(shù)據(jù)”。
[0057]在一個(gè)實(shí)施例中,MMS通過維持指示未決渴望寫回的WB-E等待隊(duì)列來自動(dòng)跟蹤未決WB-E高速緩存數(shù)據(jù)。并且MMS通過查找所述隊(duì)列或通過考慮擴(kuò)展的高速緩存標(biāo)記來判定高速緩存34是否包含未決WB-E高速緩存數(shù)據(jù)。在可替代實(shí)施例中,MMS可以使用其它方法用于跟蹤未決WB-E高速緩存數(shù)據(jù)和/或判定是否存在未決WB-E高速緩存數(shù)據(jù)。例如,MMS可以擴(kuò)展高速緩存標(biāo)記來指示哪個(gè)高速緩存行正等待渴望寫回。
[0058]如果高速緩存34包含未決WB-E高速緩存數(shù)據(jù),則MMS可以自動(dòng)執(zhí)行渴望寫回,如框524所示。例如,如圖4A所示,MMS可以使用CLWB操作或指令來將未決WB-E高速緩存數(shù)據(jù)寫入到MMC 30。箭頭“WB_1 ”和“WB_2 ”示出了 MMS正根據(jù)前兩個(gè)存儲(chǔ)指令將WB-E數(shù)據(jù)寫回到MMC。而箭頭“WB_3”示出了麗S正根據(jù)組合的Store_3和Store_4指令寫回WB-E數(shù)據(jù)。
[0059]如框530所示,MMS然后可以判定處理設(shè)備20的當(dāng)前狀態(tài)是否呈現(xiàn)好的機(jī)會(huì)以執(zhí)行到持久存儲(chǔ)器域的渴望寫回。(MMS還可以響應(yīng)于在框520或框522處的否定判定而到達(dá)框530。)例如,MMS可以判定將數(shù)據(jù)從主存儲(chǔ)器控制器寫入到持久存儲(chǔ)器域所需的資源是否可用。在一個(gè)實(shí)施例中,每當(dāng)存在足夠的寫入資源可用于執(zhí)行從MMS域到PM域的渴望驅(qū)逐(evict1n)時(shí)麗S做出這種判定。如果MMC 30是空閑的且沒有寫入未決,則麗S可以判定存在好的機(jī)會(huì)。如果非常少的或沒有寫入資源正在被使用,則可以認(rèn)為MMC 30是空閑的。如果寫入未決緩沖器是空的,則MMS可以判定沒有寫入是未決的。在可替代實(shí)施例中,MMS可以使用其它方法來控制何時(shí)做出判定,并且MMS可以在判定是否存在好的機(jī)會(huì)時(shí)考慮其它因素。
[0060]如框532所示,如果麗S已經(jīng)檢測到好的機(jī)會(huì),則麗S可以判定WPB 36是否包含尚未寫入到持久存儲(chǔ)器域的任何WB-E數(shù)據(jù)。出于本公開的目的,尚未寫入到持久存儲(chǔ)器域的WB-E數(shù)據(jù)可以稱為“未決WPB數(shù)據(jù)”。此外,術(shù)語“未決WB-E數(shù)據(jù)”包括未決WB-E高速緩存數(shù)據(jù)和未決WPB數(shù)據(jù)。
[0061]在一個(gè)實(shí)施例中,MMS通過維持隊(duì)列;先入先出(FIFO)堆棧;或者任意其它適當(dāng)數(shù)據(jù)結(jié)構(gòu)來自動(dòng)跟蹤未決WPB數(shù)據(jù)。并且MMS通過檢查所述數(shù)據(jù)結(jié)構(gòu)來判定高速緩存34是否包含未決WPB數(shù)據(jù)。在可替代實(shí)施例中,MMS可以使用其它方法跟蹤未決WPB數(shù)據(jù)并用于判定存在未決WPB數(shù)據(jù)。例如,MMS可以實(shí)現(xiàn)自排水漏桶(self-draining leaky bucket)數(shù)據(jù)結(jié)構(gòu),其將取決于接受任何更多寫入的PM能力來自主地驅(qū)逐(evict)桶。
[0062]如果WPB 36包含未決WPB數(shù)據(jù),則麗S可以自動(dòng)執(zhí)行渴望寫回,如框534所示。這種寫回還可以稱為驅(qū)逐或沖洗。例如,如圖4A所示,麗S可以將未決WPB數(shù)據(jù)寫入到PMC。箭頭“PerSiStet_Write_A”示出了麗S正根據(jù)第一存儲(chǔ)指令將WB_E數(shù)據(jù)寫回到持久存儲(chǔ)器域。
[0063]該過程然后可以穿過頁面連接器A到框540,其示出了 MMS判定應(yīng)用44是否已經(jīng)執(zhí)行了串行化指令(例如,SFENCE)。如果應(yīng)用44尚未執(zhí)行串行化指令,則MMS可以判定應(yīng)用44是否已經(jīng)執(zhí)行了提交指令(例如,CMTPM),如框550所示。如果應(yīng)用44尚未執(zhí)行提交指令,則該過程可以穿過頁面連接器B到框510,MMS重復(fù)如上所述的操作。
[0064]然而,再返回參考框540,應(yīng)用44已經(jīng)執(zhí)行了串行化指令,則MMS可以判定是否在高速緩存34中存在來自應(yīng)用44的任意未決WB-E數(shù)據(jù),如框542所示。如果高速緩存包含這種數(shù)據(jù),則MMS可以執(zhí)行寫回操作以將未決數(shù)據(jù)寫入到MMC 30,如框544所示。如返回到框542的箭頭所示,MMS然后檢查在高速緩存34中是否還存在應(yīng)用44的任何未決WB-E數(shù)據(jù)。
[0065]例如,再參考圖4A,從應(yīng)用列引到核心列的“SFENCE”箭頭示出了在麗S已經(jīng)渴望地將所有未決WP-E高速緩存數(shù)據(jù)寫入到MMC 30之后由應(yīng)用44執(zhí)行的串行化指令。因此,從核心列返回到核心列的短的彎曲箭頭示出了 SFENCE指令需要花費(fèi)非常少的時(shí)間(如果存在的話)來等待臟的高速緩存行被寫回到MMC 30。
[0066]再參考圖5B,當(dāng)高速緩存34不再包含應(yīng)用44的未決WB_E數(shù)據(jù)時(shí),所述過程可以從框542轉(zhuǎn)到框546,其示出了 MMS判定有提交操作(例如,CMTPM)是否在進(jìn)行中。例如,如下文更詳細(xì)描述的,CMTPM可以在沖洗WPB 36的過程中。如果提交操作在進(jìn)行中,則串行化操作可以等待直到提交操作已經(jīng)結(jié)束了所有其工作。例如,如框547所示,MMS可以判定WPB 36是否是空的。并且如框548和返回到框547的箭頭所示,麗S可以將在WPB 36中剩余的任何數(shù)據(jù)沖洗到持久存儲(chǔ)器域。一旦WPB 36是空的,則CMTPM指令可以被認(rèn)為是完成的,并且所述過程可以從框547轉(zhuǎn)到框549。如框549所示,一旦提交操作已經(jīng)完成了所有其工作,或者如果沒有提交在進(jìn)行中,則MMS可以完成串行化指令。例如,再次參考圖4A,虛線“SFENCE_done”示出了當(dāng)沒有CMTPM在進(jìn)行中時(shí)SFENCE指令的完成。
[0067]然而,再次參考框550,如果應(yīng)用44已經(jīng)執(zhí)行了提交指令,則MMS可以自動(dòng)開始寫入、沖洗或驅(qū)逐所有未決WPB數(shù)據(jù)(如果存在的話)到持久存儲(chǔ)器域,如框552所示,且如以上關(guān)于框546、547、548和549所描述的。然而,在圖5B的實(shí)施例中,提交指令是非阻塞的。換言之,當(dāng)應(yīng)用執(zhí)行提交指令時(shí),控制可以返回到應(yīng)用,允許應(yīng)用在提交指令結(jié)束所有其工作之前繼續(xù)進(jìn)行另外的指令。
[0068]因此,如圖4B所示,應(yīng)用44可以執(zhí)行提交指令,之后是串行化指令,串行化指令將等待提交指令結(jié)束所有其工作。例如,SFENCE可以等待MMS將WPB數(shù)據(jù)從WB_2和WB_3驅(qū)逐到持久存儲(chǔ)器域,如箭頭“Persisten_Write_B”和“Persistent_Write_C”分別所示。因此,一旦圖4B中的SFENCE完成,如虛箭頭“SFENCE_done”所示,則應(yīng)用44可以確信WB-E數(shù)據(jù)通過到達(dá)持久存儲(chǔ)器域而已經(jīng)實(shí)現(xiàn)耐久性。
[0069]WB-E存儲(chǔ)器類型與如SFENCE和CMTPM之類的指令組合在存儲(chǔ)器在遠(yuǎn)程節(jié)點(diǎn)中或在遠(yuǎn)程節(jié)點(diǎn)之后的環(huán)境中、在使用系統(tǒng)結(jié)構(gòu)互連的環(huán)境中、以及在其它環(huán)境或場景中是有益的。
[0070]在一個(gè)實(shí)施例中,串行化指令是本地的,而提交指令是全局的。換言之,SFENCE提供針對執(zhí)行SFENCE的特定線程的串行化操作,而CMTPM提供針對來自所有存儲(chǔ)器控制器的所有線程的所有PM數(shù)據(jù)驅(qū)逐。
[0071]圖6是描繪用于支持持久存儲(chǔ)器的另一示例性操作序列的序列圖。在圖6的實(shí)施例中,如上所述,平臺(tái)支持WB-E存儲(chǔ)器。另外,平臺(tái)(例如,處理器微架構(gòu))支持如以上關(guān)于圖5B描述的組合串行化操作和提交操作的新指令。該新指令可以稱為“存儲(chǔ)柵欄與持久提交”(SFPC)指令。替代使用如以上關(guān)于圖4A和4B描述的指令序列,(例如,SFENCE,然后是CMTPM,然后是另一 SFENCE),應(yīng)用可以使用單個(gè)SFPC。例如,如圖6所示,如果應(yīng)用正在處理涉及兩個(gè)寫入或存儲(chǔ)的事務(wù),則應(yīng)用可以首先執(zhí)行所述兩個(gè)存儲(chǔ),如箭頭“store_i”和“Store_2”所示。為了完成事務(wù),應(yīng)用然后可以執(zhí)行SFPC。在圖6的實(shí)施例中,SFPC是阻塞指令。因此,應(yīng)用將不會(huì)重新獲得控制,直到SFPC結(jié)束所有其工作。在該例子中,如箭頭“WB_1 ”和“WB_2”所示,所述工作包括將未決WB-E數(shù)據(jù)從高速緩存寫入到MMC。并且如箭頭“Persistent_Write_l ”和“Persistent_Write_2”所不,所述工作還包括將所有未決WPB數(shù)據(jù)從WPB驅(qū)逐到持久存儲(chǔ)器域。一旦MMS已經(jīng)將WB-E數(shù)據(jù)寫入持久存儲(chǔ)器域,則控制返回到應(yīng)用,如箭頭“SFPC_done”所示。另外,如上所述,MMS可以支持對未決高速緩存數(shù)據(jù)和未決WPB數(shù)據(jù)的渴望寫回。
[0072]在不同的實(shí)施例中,SFPC指令可以基于通過應(yīng)用或操作系統(tǒng)傳遞給MMS以優(yōu)化應(yīng)用性能的變元(argument),以以下為目標(biāo):(a) —個(gè)MMC,(b) 一組MMC,或(c)所有MMC。例如,在處理設(shè)備中針對非均勻存儲(chǔ)器訪問(NUMA)很好劃分的應(yīng)用可以通過利用以特定MMC或特定一組MMC為目標(biāo)的靈活性,而享用顯著改進(jìn)的性能。
[0073]—個(gè)實(shí)施例的優(yōu)點(diǎn)在于所公開的技術(shù)使得軟件開發(fā)者更容易編寫有效處理原地修改PM數(shù)據(jù)、隨機(jī)寫入PM等的代碼。相比之下,例如計(jì)算機(jī)語言擴(kuò)展、編譯器固有函數(shù)、以及編譯器原語的替代例較不魯棒。例如,編譯器固有或原語可能僅適用于例如“memcpy”的塊操作。
[0074]另一優(yōu)點(diǎn)在于本教導(dǎo)可以用于簡化對于處理邏輯事務(wù)必需的軟件代碼。例如,當(dāng)處理設(shè)備特征在于以上所述技術(shù)時(shí),應(yīng)用可能不需要“打開”事務(wù)。
[0075]根據(jù)本文所描述和示出的原理和示例性實(shí)施例,可以認(rèn)識到,所示實(shí)施例可以在布置和細(xì)節(jié)方面進(jìn)行修改,而不脫離這種原理。例
當(dāng)前第3頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
钟祥市| 昆明市| 苍梧县| 开鲁县| 诸城市| 舞阳县| 冕宁县| 梅州市| 滦南县| 永顺县| 拉萨市| 绥阳县| 海盐县| 正镶白旗| 临邑县| 青河县| 兴城市| 沅陵县| 青冈县| 罗定市| 甘洛县| 竹北市| 安康市| 舟曲县| 瑞金市| 长乐市| 久治县| 清苑县| 盘山县| 梨树县| 嘉定区| 龙口市| 临猗县| 深州市| 岢岚县| 丰顺县| 济源市| 应城市| 治县。| 稷山县| 都昌县|