两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

將經(jīng)修改的高速緩存數(shù)據(jù)寫入后備存儲(chǔ)器同時(shí)保留寫權(quán)限的方法及裝置的制造方法

文檔序號(hào):9650601閱讀:787來(lái)源:國(guó)知局
將經(jīng)修改的高速緩存數(shù)據(jù)寫入后備存儲(chǔ)器同時(shí)保留寫權(quán)限的方法及裝置的制造方法
【專利說(shuō)明】將經(jīng)修改的高速緩存數(shù)據(jù)寫入后備存儲(chǔ)器同時(shí)保留寫權(quán)限的方法及裝置發(fā)明領(lǐng)域
[0001]本發(fā)明的領(lǐng)域總體上涉及計(jì)算系統(tǒng)并且更確切地涉及用于將經(jīng)修改的高速緩存數(shù)據(jù)寫入后備存儲(chǔ)器(backing store)同時(shí)保留寫權(quán)限的方法和裝置。
[0002]背景
[0003]圖1示出具有多個(gè)處理單元101_1至101_N的計(jì)算系統(tǒng)100。處理單元101_1至101_N可對(duì)應(yīng)于其中系統(tǒng)100對(duì)應(yīng)于處理器的指令執(zhí)行流水線,或者處理單元101_1至101_N可對(duì)應(yīng)于其中系統(tǒng)100對(duì)應(yīng)于多處理器計(jì)算系統(tǒng)的處理器。
[0004]這些處理單元各自具有其自身的對(duì)應(yīng)的內(nèi)部一個(gè)或多個(gè)高速緩存級(jí)別102_1至102_N。這些處理單元還共享一個(gè)或多個(gè)公用高速緩存級(jí)別103和更深的系統(tǒng)存儲(chǔ)器104。高速緩存級(jí)別102_1至102_N、103的總體目標(biāo)是通過(guò)將傾向于由處理單元101_1至101_N調(diào)用的數(shù)據(jù)項(xiàng)和指令保持在高速緩存內(nèi)來(lái)最小化對(duì)共享存儲(chǔ)器104的訪問(wèn)。然而,因?yàn)榉浅?赡艿氖窃诓煌奶幚韱卧?01_1至101_N上運(yùn)行的對(duì)應(yīng)的程序代碼可能希望同時(shí)使用同一個(gè)數(shù)據(jù)項(xiàng),實(shí)現(xiàn)“一致性”協(xié)議以便確保該數(shù)據(jù)項(xiàng)在計(jì)算處理器/系統(tǒng)100內(nèi)作為整體保持“一致”。
[0005]常用的一致性協(xié)議是MESI協(xié)議。MESI協(xié)議向任何高速緩存數(shù)據(jù)項(xiàng)分配四種不同狀態(tài)中的一種:1)修改(M) ;2)專用(E) ;3)共享⑶;以及4)無(wú)效。處于Μ狀態(tài)下的高速緩存行對(duì)應(yīng)于具有尚未被更新到更深的高速緩存級(jí)別(即,朝向共享存儲(chǔ)器104)或直接更新到存儲(chǔ)器104的最近更新的數(shù)據(jù)的“臟”高速緩存行。在此,值得指出的是在典型的實(shí)現(xiàn)方式中,每個(gè)高速緩存級(jí)別可支持針對(duì)特定高速緩存行地址的Μ狀態(tài)。也就是,相同的高速緩存行地址可在每個(gè)高速緩存級(jí)別下處于Μ狀態(tài)下。在這種情況下,每個(gè)更高的級(jí)別(即,朝向處理單元)表示對(duì)高速緩存行的數(shù)據(jù)的更新近改變。
[0006]處于Ε狀態(tài)下的高速緩存行對(duì)應(yīng)于“干凈的”數(shù)據(jù)。也就是,其數(shù)據(jù)內(nèi)容與共享存儲(chǔ)器104內(nèi)的其相應(yīng)的條目(即,相同的地址)相同。當(dāng)將新數(shù)據(jù)寫入處于Ε狀態(tài)下的高速緩存行(例如,通過(guò)處理器器直接在最高的高速緩存級(jí)別,或者當(dāng)在中間高速緩存級(jí)別接收到從下一更高的級(jí)別逐出的高速緩存時(shí))時(shí),高速緩存行的狀態(tài)改變?yōu)棣瑺顟B(tài)。
[0007]當(dāng)高速緩存行處于Μ狀態(tài)下并且該高速緩存行被逐出時(shí),該高速緩存行的數(shù)據(jù)必須被寫回下一更深的高速緩存級(jí)別或?qū)懟毓蚕泶鎯?chǔ)器104。如果被寫回下一更深的高速緩存級(jí)別,其在下一更深的高速緩存級(jí)別保持在Μ狀態(tài)下。如果被寫回共享存儲(chǔ)器,其可轉(zhuǎn)變到Ε狀態(tài)。當(dāng)高速緩存行處于Μ狀態(tài)下時(shí),處理單元被允許訪問(wèn)該高速緩存行(例如,通過(guò)高速緩存監(jiān)聽)并且甚至更新它(將新值寫入該高速緩存行)。根據(jù)一種MESI實(shí)現(xiàn)方式,處于Μ狀態(tài)下的高速緩存行對(duì)簡(jiǎn)單讀取的監(jiān)聽致使高速緩存行狀態(tài)從Μ狀態(tài)轉(zhuǎn)變到S狀態(tài)。以對(duì)其進(jìn)行寫回(“讀擁有”)為目的的對(duì)該高速緩存行的讀取致使該高速緩存行從Μ狀態(tài)轉(zhuǎn)變到I狀態(tài)。
[0008]處于S狀態(tài)下的高速緩存行通常對(duì)應(yīng)于具有跨各個(gè)高速緩存102_1至102_Ν、103的多個(gè)副本的高速緩存行。在典型的情況下,高速緩存行的單個(gè)實(shí)例在特定處理器的高速緩存中駐留在E狀態(tài)下。如果另一個(gè)處理器期望相同的高速緩存行,該高速緩存行的第二副本被發(fā)送到請(qǐng)求處理器。該高速緩存行的狀態(tài)因此從Ε改變到S,因?yàn)楝F(xiàn)在在系統(tǒng)中存在該尚速緩存彳丁的兩個(gè)副本,每個(gè)副本針對(duì)相關(guān)聯(lián)的地址具有與共孚系統(tǒng)存儲(chǔ)器104內(nèi)駐留的數(shù)據(jù)相同的數(shù)據(jù)。然而,存在MESI協(xié)議的其他方面,這種特征是公知的并且無(wú)需在此討論。
[0009]圖2示出訪問(wèn)來(lái)自(例如,最高級(jí)別的)共享高速緩存203的經(jīng)修改高速緩存行的處理單元201_1的示例。如圖2所示,在第一周期內(nèi),該處理單元向共享高速緩存203發(fā)布1對(duì)該高速緩存行的請(qǐng)求。在第二周期期間,作為響應(yīng),高速緩存203從高速緩存203讀取2該高速緩存行。在第三周期內(nèi),該高速緩存行被呈現(xiàn)3給請(qǐng)求處理單元201_1。值得注意的是,該高速緩存行保持在Μ狀態(tài)下。
[0010]附圖
[0011]通過(guò)舉例而非通過(guò)限制在附圖的圖示中展示本發(fā)明,在附圖中,類似的參考標(biāo)記表示類似的元素,并且在附圖中:
[0012]圖1示出多個(gè)處理單元和共享高速緩存;
[0013]圖2示出訪問(wèn)高速緩存行的處理單元的示例;
[0014]圖3示出用于執(zhí)行加載操作的改進(jìn)方法;
[0015]圖4示出用于執(zhí)行存儲(chǔ)操作的改進(jìn)方法;
[0016]圖5a、圖5b示出涉及圖3和圖4的改進(jìn)方法的流程圖;
[0017]圖6示出另一種改進(jìn)方法;
[0018]圖7示出示例性處理器。
[0019]詳細(xì)描述
[0020]設(shè)計(jì)人員日益尋求擴(kuò)展特定處理器或系統(tǒng)內(nèi)的處理單元的能力。這樣,設(shè)計(jì)人員經(jīng)常向處理單元添加“推測(cè)”。因?yàn)樘幚韱卧蓤?zhí)行一個(gè)或多個(gè)程序代碼線程的邏輯電路,推測(cè)對(duì)應(yīng)于處理單元“猜測(cè)”程序代碼將采取哪個(gè)方向(例如,在條件分支指令時(shí))的能力。在處理單元猜測(cè)到程序代碼將采取哪個(gè)方向之后,處理單元繼續(xù)沿著“猜測(cè)”路徑執(zhí)行指令。最終,處理單元確定猜測(cè)是否正確。如果猜測(cè)正確,處理單元繼續(xù)沿著猜測(cè)路徑執(zhí)行程序代碼。如果猜測(cè)不正確,處理單元將其內(nèi)部狀態(tài)信息“回退”到猜測(cè)點(diǎn)。處理單元繼續(xù)從不正確的猜測(cè)點(diǎn)沿著正確的路徑執(zhí)行程序代碼。
[0021]圖3示出用于推測(cè)性地執(zhí)行代碼的改進(jìn)進(jìn)程。如圖3所示,改進(jìn)進(jìn)程將兩個(gè)進(jìn)程集成到在讀(也稱為“加載”)情況下處于Μ狀態(tài)下的高速緩存行的訪問(wèn)中。當(dāng)從高速緩存303讀取2該高速緩存行并且識(shí)別到該高速緩存行處于Μ狀態(tài)下時(shí),存在邏輯電路310:i)在將其提供給請(qǐng)求處理單元3a之前將該高速緩存行從Μ狀態(tài)轉(zhuǎn)變到E狀態(tài);以及ii)自動(dòng)地將該高速緩存行輸入3b到寫緩沖器305中。
[0022]在此,值得注意的是一旦進(jìn)入推測(cè)范圍的執(zhí)行已經(jīng)開始并且推測(cè)性代碼訪問(wèn)處于Μ狀態(tài)下的高速緩存行且可能改變?cè)摳咚倬彺嫘械臄?shù)據(jù),必須保存該高速緩存行的數(shù)據(jù)。如果該高速緩存行的數(shù)據(jù)未被保存并且推測(cè)性代碼改變了該高速緩存行內(nèi)的數(shù)據(jù),機(jī)器將不能在猜測(cè)點(diǎn)回退到其內(nèi)部狀態(tài)(因?yàn)樵谀屈c(diǎn)處該數(shù)據(jù)的針對(duì)高速緩存行的地址的唯一副本(如由其處于Μ狀態(tài)下所指示的)稍后由推測(cè)性代碼修改)。
[0023]在實(shí)施例中,將該高速緩存行輸入3a到寫緩沖器305中致使將該高速緩存行保存在更深的高速緩存級(jí)別306或系統(tǒng)存儲(chǔ)器304中。以此方式保存該高速緩存行本質(zhì)上在非推測(cè)性操作結(jié)束的時(shí)刻為該高速緩存行的相關(guān)聯(lián)系統(tǒng)存儲(chǔ)器地址保存該數(shù)據(jù)的狀態(tài)。如果機(jī)器稍后確定其猜測(cè)錯(cuò)誤,機(jī)器可通過(guò)引用已經(jīng)剛剛被保存的數(shù)據(jù)返回在針對(duì)該系統(tǒng)存儲(chǔ)器地址的不正確猜測(cè)點(diǎn)處的其狀態(tài)。
[0024]值得注意的是,認(rèn)為圖3的方法在可并發(fā)(同時(shí))執(zhí)行將該高速緩存行的數(shù)據(jù)輸入3b到寫緩沖器305中并且將其保存到更深的存儲(chǔ)設(shè)備306/304的過(guò)程的意義上增強(qiáng)性能,其中將該高速緩存行提供3a給請(qǐng)求處理單元301_1和/或處理單元使用該高速緩存行內(nèi)的數(shù)據(jù)。例如,在一個(gè)實(shí)施例中,該數(shù)據(jù)在與該數(shù)據(jù)被輸入寫緩沖器305內(nèi)的相同周期內(nèi)呈現(xiàn)給請(qǐng)求處理單元301_1。該數(shù)據(jù)隨后可由請(qǐng)求處理單元301_1操作,包括由請(qǐng)求處理單元(或者甚至隨后可訪問(wèn)該高速緩存行的其他處理單元)改變同時(shí)該高速緩存行的原始數(shù)據(jù)處于迀移通過(guò)寫緩沖器305到其在更深高速緩存306或系統(tǒng)存儲(chǔ)器304內(nèi)的存儲(chǔ)位置的過(guò)程中。
[0025]這樣,從請(qǐng)求處理單元301_1的角度而言,高速緩存行訪問(wèn)進(jìn)程內(nèi)部不存在明顯延遲,即使該高速緩存行內(nèi)的數(shù)據(jù)需要被保存到更深存儲(chǔ)306/304,因?yàn)樘幚韱卧?01_1正在執(zhí)行推測(cè)性代碼。推測(cè)性代碼因此可在訪問(wèn)時(shí)間方面與非推測(cè)性代碼基本上相同地從高速緩存命中受益。因?yàn)樗?qǐng)求的高速緩存行實(shí)際上被提供給請(qǐng)求處理單元301_1,本質(zhì)上允許完成從高速緩存讀取推測(cè)性代碼并且該讀取可因此被認(rèn)為是“非阻塞的”。
[0026]圖4示出由推測(cè)性代碼對(duì)處于Μ狀態(tài)下的高速緩存行內(nèi)的數(shù)據(jù)進(jìn)行的寫或“存儲(chǔ)”新信息的相應(yīng)進(jìn)程。如圖4所示,處理單元401_1通過(guò)
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
搜索| 通海县| 司法| 台中县| 桦川县| 宁河县| 井冈山市| 鹿邑县| 体育| 贵溪市| 当雄县| 蓝田县| 莒南县| 东平县| 团风县| 韶山市| 鄂伦春自治旗| 汪清县| 磐安县| 文成县| 普定县| 磐安县| 化德县| 泌阳县| 赤壁市| 理塘县| 潞城市| 达州市| 遵化市| 邓州市| 卢氏县| 麟游县| 嘉峪关市| 民勤县| 高邑县| 平潭县| 玛曲县| 遂平县| 新田县| 康马县| 苏尼特右旗|