亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

存儲(chǔ)器內(nèi)、頁面內(nèi)目錄高速緩存一致性配置的制作方法

文檔序號(hào):6468999閱讀:164來源:國知局
專利名稱:存儲(chǔ)器內(nèi)、頁面內(nèi)目錄高速緩存一致性配置的制作方法
技術(shù)領(lǐng)域
本發(fā)明的實(shí)施例涉及一種存儲(chǔ)器內(nèi)、頁面內(nèi)目錄高速緩存一致性 配置。
背景技術(shù)
使用多個(gè)處理器或多核的處理器作為增加新型計(jì)算機(jī)系統(tǒng)計(jì)算 能力的方法已經(jīng)變得日益普遍。多處理器以及多核系統(tǒng)共享例如系統(tǒng) 存儲(chǔ)器以及存儲(chǔ)設(shè)備等的系統(tǒng)資源。多個(gè)處理器或核經(jīng)常訪問存儲(chǔ)器 或存儲(chǔ)設(shè)備中相同的數(shù)據(jù)以及試圖同時(shí)使用該數(shù)據(jù)。為了實(shí)現(xiàn)這點(diǎn), 多處理器以及多核系統(tǒng)管理對(duì)數(shù)據(jù)的使用以保持?jǐn)?shù)據(jù)的一致性。保持 多處理器系統(tǒng)中數(shù)據(jù)一致性的一個(gè)方面是確保各個(gè)處理器中高速緩 存的數(shù)據(jù)是一致的。例如,每個(gè)處理器可在寫回系統(tǒng)存儲(chǔ)器之前獲得 對(duì)其高速緩存內(nèi)高速緩存行的所有權(quán)。如果另 一個(gè)處理器要求將這個(gè) 數(shù)據(jù)寫入系統(tǒng)存儲(chǔ)器,它必須服從一致性協(xié)議要求在它寫回之前獲得 該高速緩存行的所有權(quán)。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供一種一致性協(xié)議方法,其包括從 多個(gè)處理器中的處理器接收對(duì)要求的高速緩存行的存儲(chǔ)器訪問請(qǐng)求; 通過從存儲(chǔ)所述要求的高速緩存行的存儲(chǔ)器頁面帶入來從存儲(chǔ)單元 訪問與所述要求的高速緩存行相關(guān)聯(lián)的 一致性信息,所述存儲(chǔ)器頁面 還包括具有與所述要求的高速緩存行對(duì)應(yīng)的一致性信息的目錄行;根 據(jù)所述一致性信息讀取與所述要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù);以及 向所述處理器返回所述數(shù)據(jù)。
7根據(jù)本發(fā)明的另一方面,還提供一種一致性協(xié)議裝置,包括屬 地代理,其用于從多個(gè)處理器中的處理器接收對(duì)要求的高速緩存行的 存儲(chǔ)器訪問請(qǐng)求;以及存儲(chǔ)控制器,其用于通過從存儲(chǔ)所述要求的 高速緩存行的存儲(chǔ)器頁面帶入來從存儲(chǔ)單元訪問與所述要求的高速 緩存行相關(guān)聯(lián)的一致性信息,所述存儲(chǔ)器頁面還包括具有與所述要求 的高速緩存行對(duì)應(yīng)的一致性信息的目錄行;根據(jù)所述一致性信息讀取 與所述要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù);以及向所述處理器返回所述 數(shù)據(jù)。
根據(jù)本發(fā)明的又另一方面,還提供一種一致性協(xié)議系統(tǒng),包括 存儲(chǔ)單元;與所述存儲(chǔ)單元耦合的存儲(chǔ)器總線;以及與所述存儲(chǔ)器總 線耦合的集線器控制器,所述集線器控制器具有屬地代理,其用于 從多個(gè)處理器中的處理器接收對(duì)要求的高速緩存行的存儲(chǔ)器訪問請(qǐng) 求;以及存儲(chǔ)控制器,其用于通過從存儲(chǔ)所述要求的高速緩存行的 存儲(chǔ)器頁面帶入來從所述存儲(chǔ)單元訪問與所述要求的高速緩存行相 關(guān)聯(lián)的一致性信息,所述存儲(chǔ)器頁面還包括具有與所述要求的高速緩 存行對(duì)應(yīng)的一致性信息的目錄行;根據(jù)所述一致性信息讀取與所述要 求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù);以及向所述處理器返回所述數(shù)據(jù)。


本發(fā)明的實(shí)施例在附圖的圖中以舉例方式且不被限制的方式來 說明,以及其中相同的標(biāo)號(hào)是指相同的元件,其中 圖1示出根據(jù)本發(fā)明實(shí)施例的系統(tǒng)。 圖2示出根據(jù)本發(fā)明另一個(gè)實(shí)施例的系統(tǒng)。 圖3示出根據(jù)本發(fā)明實(shí)施例的方法。 圖4示出根據(jù)本發(fā)明實(shí)施例的方法。
圖5示出根據(jù)本發(fā)明實(shí)施例的用于插入高速緩存行空洞的裝置。 圖6示出根據(jù)本發(fā)明另一個(gè)實(shí)施例的方法。
具體實(shí)施例方式
下面說明的例子只是用作說明的目的,以及決不是意在限定本發(fā)明的實(shí)施例。因此,在詳細(xì)說明示例的地方,或提供了一個(gè)或一個(gè)以上示例的地方,應(yīng)該理解這些示例不能被當(dāng)成是窮舉的,以及不是對(duì)本發(fā)明實(shí)施例的限制在所說明以A/或圖示的示例。
圖1是系統(tǒng)的一個(gè)實(shí)施例的圖。系統(tǒng)IOO可是包括個(gè)人電腦、大
型計(jì)算機(jī)、手持計(jì)算機(jī)、消費(fèi)電子設(shè)備(便攜式電話、手持游戲設(shè)備、機(jī)頂盒或類似設(shè)備)、網(wǎng)絡(luò)設(shè)備、汽車/航空電子控制器或其他類似設(shè)備的任何類型的多處理器或多核系統(tǒng)。
系統(tǒng)100可具有任意數(shù)量的處理器102A、 102B、 102C,其各具有至少一個(gè)與處理器102A、 102B、 102C關(guān)聯(lián)的高速緩存104A、 104B、104C。在一個(gè)實(shí)施例中,系統(tǒng)100可具有可變數(shù)量的處理器102A、102B、 102C,其中處理器的數(shù)量可以根據(jù)用于不同細(xì)分市場(chǎng)的不同系統(tǒng)配置而變化。在另一個(gè)實(shí)施例中,系統(tǒng)IOO可具有用于任何數(shù)量的處理器的插槽或接口 。處理器的數(shù)量可通過向系統(tǒng)增加或從系統(tǒng)移出處理器的方式改變。
在一個(gè)實(shí)施例中,處理器102A、 102B、 102C可為帶有不同的核以及在不同的襯底上以及在不同的封裝中的處理器。在另 一個(gè)實(shí)施例中,處理器102A、 102B、 102C可含有在單個(gè)襯底上的以及單個(gè)芯片封裝中的或其組合的多個(gè)核。為了說明方便,舉例說明的系統(tǒng)是多核個(gè)人計(jì)算機(jī)系統(tǒng)。每個(gè)處理器102A、 102B、 102C可對(duì)應(yīng)一個(gè)或一個(gè)以上的高速緩存104A、 104B、 104C。例如,處理器102A、 102B、 102C可具有一級(jí)高速緩存以及二級(jí)高速緩存。級(jí)別最高的高速緩存可被稱為終極高速緩存(LLC)。
每個(gè)處理器102A、 102B、 102C可通過各自總線110、 112與集線器控制器108通訊。集線器控制器108可以是包括存儲(chǔ)控制器114的設(shè)備或芯片組以管理在處理器102A、 102B、 102C與系統(tǒng)存儲(chǔ)器106以及系統(tǒng)100中其他設(shè)備(沒有顯示)之間數(shù)據(jù)的移動(dòng)。在一個(gè)實(shí)施
9例中,系統(tǒng)100可以有單個(gè)集線器控制器108。在另一個(gè)實(shí)施例中,可以有多個(gè)集線器控制器或者集線器控制器108細(xì)分為多個(gè)組件。例如,某些個(gè)人計(jì)算機(jī)系統(tǒng)具有兩個(gè)集線器控制器被稱為北橋和南橋。此外,另一個(gè)例子,帶有多個(gè)插接口以及多個(gè)存儲(chǔ)控制器的系統(tǒng)可具有不同的集線器控制器。
在圖1的實(shí)施例中,集線器控制器108還可包含屬地代理(homeagent) 116以及目錄高速緩存118,其可與存儲(chǔ)控制器114配合操作用于管理處理器102A、 102B、 102C之間的數(shù)據(jù)一致性。屬地代理116可管理存儲(chǔ)器的讀、寫、特殊讀以及寫、存儲(chǔ)器一致性以及排序,以及還可管理用于存儲(chǔ)器訪問的系統(tǒng)一致性協(xié)議。目錄高速緩存118可存儲(chǔ)對(duì)應(yīng)于存儲(chǔ)器106地址的項(xiàng)目。在實(shí)施例中,目錄高速緩存118的大小可與在存儲(chǔ)控制器114中開頁的數(shù)量相等,以確保每個(gè)存儲(chǔ)器106的頁命中訪問也引起目錄高速緩存118命中。
在圖2中系統(tǒng)200示出的另一個(gè)實(shí)施例中,屬地代理116以及目錄高速緩存118可與集成存儲(chǔ)控制器208A —起位于處理器202管芯上。在這個(gè)實(shí)施例中,處理器202A、 202B、 202C各還可以包含集成存儲(chǔ)控制器208A、 208B、 208C。集成存儲(chǔ)控制器208A、 208B、 208C可訪問存儲(chǔ)器106的專用部分(專用部分沒有顯示),每個(gè)存儲(chǔ)控制器208A、208B、208C使用各自專用的存儲(chǔ)器總線112A、 112B、 112C。
系統(tǒng)存儲(chǔ)器106可以是任何類型的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM )設(shè)備或存儲(chǔ)器設(shè)備組。例如系統(tǒng)存儲(chǔ)器106可包括同步DRAM、雙數(shù)據(jù)速率DRAM、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),以及類似類型的存儲(chǔ)器設(shè)備。此外,系統(tǒng)存儲(chǔ)器106可被封裝為模塊,例如SIMM(單列直插式存儲(chǔ)模塊)或DIMM (雙列直插式存儲(chǔ)模塊)等。系統(tǒng)存儲(chǔ)器106可用于存儲(chǔ)處理器102A、 102B、 102C所要使用的數(shù)據(jù)以及程序指令。在實(shí)施例中,系統(tǒng)存儲(chǔ)器106可根據(jù)預(yù)先確定的分組來存儲(chǔ)數(shù)據(jù),以便數(shù)據(jù)可以使用該分組檢索到。例如,數(shù)據(jù)可存儲(chǔ)在存儲(chǔ)器106中以便以每次頁的方式來檢索它。在另一個(gè)實(shí)施例中,系統(tǒng)存儲(chǔ)
10器106可以是靜態(tài)存儲(chǔ)器設(shè)備、閃存設(shè)備或類似的存儲(chǔ)器設(shè)備例如電可擦可編程只讀存儲(chǔ)器(EEPROM)、記憶棒或類似設(shè)備等。
圖3示出根據(jù)本發(fā)明實(shí)施例的方法。在實(shí)施例中,圖3的框302由屬地代理116執(zhí)行,圖3其他的框由存儲(chǔ)控制器114、 208A執(zhí)行。
此方法從框300開始以及繼續(xù)到框302,其中此方法可包含從多個(gè)處理器中的處理器接收對(duì)要求的高速緩存行的存儲(chǔ)器訪問請(qǐng)求。在實(shí)施例中,如圖2所示,存儲(chǔ)控制器208A、 208B、 208C可集成在帶有處理器202A、 202B、 202C的芯片上,以及每個(gè)處理器202A、 202B、202C可包括高速緩存104A、 104B、 104C。
在這個(gè)實(shí)施例中,如果到存儲(chǔ)控制器208A的存儲(chǔ)器訪問請(qǐng)求是來自于其他的處理器202B、 202C中的一個(gè),存儲(chǔ)器訪問請(qǐng)求被稱為遠(yuǎn)程的。在這種情況下,因?yàn)槟夸浉咚倬彺?18不追蹤本地高速緩存104A,可發(fā)出對(duì)本地高速緩存104A的窺探。例如,屬地代理116可以與對(duì)存儲(chǔ)器106的請(qǐng)求并行地發(fā)出對(duì)本地高速緩存104A的窺探。如果屬地代理116隨后判斷窺探不是必要的,它可等待窺探響應(yīng)返回,然后完成存儲(chǔ)器讀取。
同樣地,如果到存儲(chǔ)控制器208A的存儲(chǔ)器訪問請(qǐng)求是來自于處理器202A,存儲(chǔ)器訪問請(qǐng)求被稱為本地的。在這種情況下,在存儲(chǔ)器訪問請(qǐng)求被發(fā)送到存儲(chǔ)控制器208A之前執(zhí)行本地高速緩存104A上的窺探。
在框304,此方法可包括通過從存儲(chǔ)所要求的高速緩存行的存儲(chǔ)器頁面將與所要求的高速緩存行相關(guān)聯(lián)的 一致性信息帶入來訪問來
自存儲(chǔ)單元的與所要求的高速緩存行相關(guān)聯(lián)的一致性信息,存儲(chǔ)器頁面也包括具有與要求的高速緩存行對(duì)應(yīng)的一致性信息的目錄行。本文所用的"帶入"可包含使用行地址從例如系統(tǒng)存儲(chǔ)器106等的存儲(chǔ)單元訪問存儲(chǔ)器的頁面,以及讀取存儲(chǔ)器頁面到目錄高速緩存118內(nèi)。在本發(fā)明的實(shí)施例中,"存儲(chǔ)器頁面"可包括具有對(duì)應(yīng)于至少一個(gè)高速緩存行的一致性信息的目錄高速緩存行,該至少一個(gè)高速緩存行包
ii括所要求的高速緩存行。具體地,例如,存儲(chǔ)器頁面的一部分可包括 目錄高速緩存行,其保存該存儲(chǔ)器頁面內(nèi)存儲(chǔ)的所要求的高速緩存行 以及其他高速緩存行的 一致性信息。
圖4示出在存儲(chǔ)器頁面目錄高速緩存行內(nèi)存儲(chǔ)一致性信息的方 法。此方法從框400開始,以及繼續(xù)到框402其中此方法可包含轉(zhuǎn)換 接收到的系統(tǒng)地址為連續(xù)通道地址空間(通道地址解碼)。使用接收 到的系統(tǒng)地址,將區(qū)域、屬地、以及線路交錯(cuò)解碼,以及然后重新計(jì) 算。在實(shí)施例中,這可通過首先去除插接口交^"位,以及然后去除通 道交錯(cuò)位(或在3通道系統(tǒng)的情況下執(zhí)行div3)來實(shí)現(xiàn)。減去基本區(qū) 地址,以及從線路交錯(cuò)去除細(xì)粒度間隙以獲得每個(gè)通道的連續(xù)地址空 間(例如,使用減法和移位)。
在框404,此方法可包含應(yīng)用映射函數(shù)以對(duì)每個(gè)目錄高速緩存行 插入空洞。例如,如圖5所示,下列函數(shù)可被用于插入高速緩存行空 洞
Anew504=A。ld502+(( A。ld〉〉6) & mask-lower-x-bits),其中Anew=$ 映射的通道地址,以及A。ld =輸入到映射函數(shù)的解碼的通道地址。 不同地賦予 Anew[n-l:0]=Aold[n-l:0]; Anew [63:n]=Aold [63:n]+ Aold [63:n]》n 其中n^n (高速緩存行大小)。
這個(gè)映射函數(shù)的效果是重新映射的地址在它們映射到的物理頁 面內(nèi)漂移以及在物理地址間范圍內(nèi)生成目錄行的空間。這個(gè)操作可以 以單個(gè)加法器506實(shí)現(xiàn)-移位以及屏蔽(mask)不需要任何另外的硬 件。在實(shí)施例中,移位的大小是固定的,但可以為不同的地址解碼技 術(shù)改變。
在框406,此方法可包含從內(nèi)存列(rank)交錯(cuò)去除細(xì)粒度間隙。 在框408,此方法可包含轉(zhuǎn)換內(nèi)存列地址為實(shí)際存儲(chǔ)器地址。例 如在DRAM中,內(nèi)存列地址可被轉(zhuǎn)換為實(shí)際DIMM、內(nèi)存列、存儲(chǔ)
12體(bank)、行以及列。行可被用于訪問目錄高速緩存,以及列可被 用于發(fā)出讀取請(qǐng)求。
圖4的方法可在框410結(jié)束。
例如,可在存儲(chǔ)器(例如DRAM)地址空間到處存儲(chǔ)目錄信息。 在這個(gè)例子中,在DRAM中在當(dāng)列位[4:8]為0時(shí)的DRAM地址處存 儲(chǔ)目錄數(shù)據(jù)的64B塊。可使用列位[3:0]選擇64B行內(nèi)的塊。這實(shí)際上 從DRAM空間從DRAM空間的每4KB中獲得64B。該算法則可以容 易地適應(yīng)目錄行的大小和頻率。例如,可以使運(yùn)算法則適應(yīng)以便從每 8KB dram空間中荻取64B以及當(dāng)列位[4:9]為0時(shí)具有目錄行。
在實(shí)施例中,某些數(shù)的列地址位可以是連續(xù)的。在這個(gè)例子中, 每4KB插入空洞(字節(jié)可尋址系統(tǒng)中的12個(gè)地址位)。高速緩存行 是64B ( 6個(gè)地址位),所以可以有6個(gè)連續(xù)列地址位用于映射函數(shù) 進(jìn)行。對(duì)于插接口或通道交錯(cuò)位將系統(tǒng)地址空間分開在這些6個(gè)列位 之間是可接受的。
為了說明遍及存儲(chǔ)器地址空間插入的小空洞,在每個(gè)SAD/TAD 區(qū)域(系統(tǒng)地址解碼器,目標(biāo)地址解碼器)的頂部可回收系統(tǒng)地址的 大塊。系統(tǒng)地址解碼器提供系統(tǒng)存儲(chǔ)器配置的要求以及規(guī)則。目標(biāo)地 址解碼器提供在插接口內(nèi)DRAM與它的屬地代理連接的要求以及規(guī) 則。這阻止地址從一個(gè)區(qū)域漂移到另一個(gè)區(qū)域,這是非法的因?yàn)檗D(zhuǎn)換 過程是在SAD/TAD解碼后進(jìn)行。物理地址空間中的這些大空洞被 BIOS回收以及通過預(yù)先存在的基礎(chǔ)結(jié)構(gòu)被傳送給操作系統(tǒng)通訊以便 操作系統(tǒng)不會(huì)映射虛擬地址到這些物理地址。
由于存儲(chǔ)器地址解碼器不生成目錄行地址,為測(cè)試/可見性訪問目 錄行可能有困難。因此,可使用指示符(例如,l-bit)使屬地代理116 能夠讀取與屬地代理116給出的輸入地址對(duì)應(yīng)的目錄行,以及作為數(shù) 據(jù)將其返回。這在存儲(chǔ)器地址解碼器執(zhí)行解碼之前使得地址的6個(gè)低 階列位為"0"。
此外,訪問一致性信息可包含在目錄高速緩存118分配一致性信息。在目錄高速緩存118分配一致性信息可包含將目錄行帶入目錄高 速緩存118以便對(duì)應(yīng)存儲(chǔ)器頁面內(nèi)的高速緩存行的一致性信息能夠在 目錄高速緩存118可用。為了減少開銷可用頁面關(guān)閉策略跳過分配一 致性信息?;蛘?,目錄高速緩存可擴(kuò)展超出頁表,以便每次可以存儲(chǔ) 很多高速緩存行,以及在這種情況下,可以分配一致性信息。
在框306,此方法可包含根據(jù)一致性信息讀取與所要求的高速緩 存行相關(guān)聯(lián)的數(shù)據(jù)。數(shù)據(jù)可以從高速緩存104A、 104B、 104C中的任 一個(gè)或直接從存儲(chǔ)器106讀取。本文所用的"一致性信息"涉及關(guān)于 高速緩存行的一致性狀態(tài)的信息。 一致性狀態(tài)可取決于使用的特定一 致性協(xié)議。例如,在MESI (已修改,獨(dú)占,共享,無效)協(xié)議中, 一致性信息可包含"處理器獨(dú)占"、"共享"、"無效"、或"已被 修改"。
如果一致性信息指出沒有其他處理器202A、 202B、 202C有所要 求的高速緩存行,那么數(shù)據(jù)可從存儲(chǔ)器106直接讀取而不需要窺探遠(yuǎn) 程高速緩存。
如果一致性信息指出一個(gè)或一個(gè)以上其他處理器202A、 202B、 202C可有所要求的高速緩存行,那么可向處理器插接口發(fā)出窺探以檢 查所要求的高速緩存行。如果高速緩存104A、 104B、 104C中之一擁 有所要求的高速緩存行,數(shù)據(jù)可從那個(gè)處理器讀取。該處理器可被稱 為"所有者處理器"。
在框308,此方法可包含將數(shù)據(jù)返回到請(qǐng)求處理器。
此方法可在框310結(jié)束。
在實(shí)施例中,上述方法可與使用目錄高速緩存118配合執(zhí)行。根
據(jù)此實(shí)施例的方法在圖6中示出,從框600開始。它繼續(xù)到框602其
中可首先確定目錄高速緩存118是否包括與所要求的高速緩存行對(duì)應(yīng)
的高速緩存項(xiàng)目。與所要求的高速緩存行對(duì)應(yīng)的高速緩存項(xiàng)目可包含
關(guān)于所要求的高速緩存行的一致性信息。如果目錄高速緩存118不包 括與所要求的高速緩存行對(duì)應(yīng)的高速緩存項(xiàng)目,那么此方法繼續(xù)到框604。如果目錄高速緩存118包括與所要求的高速緩存行對(duì)應(yīng)的高速 緩存項(xiàng)目,那么此方法繼續(xù)到框606。
在框604,此方法可包含通過從存儲(chǔ)所要求的高速緩存行的存儲(chǔ) 器頁面將其帶入來從存儲(chǔ)單元訪問與所要求的高速緩存行相關(guān)聯(lián)的 一致性信息,存儲(chǔ)器頁面也包括具有與所要求的高速緩存行對(duì)應(yīng)的一 致性信息的目錄行。
此外,在一些實(shí)施例中,可派出擇機(jī)窺探到其他處理器202A、 202B、 202C,大致上與訪問一致性信息并發(fā)。這里所用的"大致上并 發(fā),,是指在同時(shí)或大約同時(shí)發(fā)生。特別地,可與在目錄高速緩存118 分配一致性信息大致上并發(fā)地派出擇機(jī)窺探。由于不知道是否以及哪 個(gè)處理器202A、 202B、 202C可具有要求的高速緩存行(在它們各自 的高速緩存104A、 104B、 104C),窺探可被擇機(jī)地派出到處理器202A、 202B、 202C以確定是否處理器202A、 202B、 202C中有任何有要求 的高速緩存行。
例如,如果目錄高速緩存118指出處理器202A、 202B、 202C中 的一個(gè)或一個(gè)以上處理器可具有要求的高速緩存行,屬地代理116可 等待擇機(jī)窺探的結(jié)果然后再返回?cái)?shù)據(jù)。相反地,如果目錄高速緩存118 指出處理器202A、 202B、 202C中沒有處理器具有要求的高速緩存行, 那么要求的高速緩存行可直接從存儲(chǔ)器106返回。此外,如果派出了 擇機(jī)窺探,就沒有必要在直接從存儲(chǔ)器106返回要求的高速緩存行之 前等待擇機(jī)窺探的結(jié)果。因此,讀取與要求的高速緩存行相關(guān)聯(lián)的數(shù) 據(jù)可至少部分基于擇機(jī)窺探的結(jié)果。
由于在某些實(shí)施例中將高速緩存行拉入目錄高速緩存118可需要 一些時(shí)間,窺探業(yè)務(wù)可被擇機(jī)派出以使用時(shí)間間隙。然而,生成擇機(jī) 窺探可也取決于插接口間連接器通信量以及利用率。如果插接口間連 接器的利用率很高,可不在目錄高速緩存U8處分配一致性信息之前 派出擇機(jī)窺探。
在框606,此方法可包含訪問目錄高速緩存中目錄項(xiàng)目,其中目
15錄項(xiàng)目包括要求的高速緩存行的項(xiàng)目。
在框608,此方法可包含確定是否需要生成窺探業(yè)務(wù)(或是否已 經(jīng)生成了一個(gè))。例如,如果目錄項(xiàng)目?jī)?nèi)的一致性信息指出處理器 202A、 202B、 202C中的有任何可具有行的副本或如果存儲(chǔ)器訪問請(qǐng) 求指出需要獨(dú)占的所有權(quán),可需要生成窺探業(yè)務(wù)。如果不需要生成窺 探業(yè)務(wù),此方法繼續(xù)到框610。如果需要生成窺探業(yè)務(wù)(或已經(jīng)生成 了一個(gè)),此方法繼續(xù)到框612。
在框610,如果不需要生成窺探業(yè)務(wù),與要求的高速緩存行對(duì)應(yīng) 的數(shù)據(jù)可直接從存儲(chǔ)器讀取。
在框612,如果需要生成窺探業(yè)務(wù),那么屬地代理116可根據(jù)系 統(tǒng)的一致性協(xié)議要求生成窺探業(yè)務(wù)(如果還沒有生成一個(gè)的話)。如 果窺探業(yè)務(wù)之前已經(jīng)生成,此方法可繼續(xù)到框614。
在框614, 一旦返回窺探業(yè)務(wù)的結(jié)果,數(shù)據(jù)可從存儲(chǔ)器以及所有 者高速緩存中之一讀取。如果窺探業(yè)務(wù)指出高速緩存中沒有擁有所要 求的高速緩存行,數(shù)據(jù)可直接從存儲(chǔ)器提供;否則,數(shù)據(jù)可由擁有的 高速緩存提供。
在實(shí)施例中,屬地代理116可發(fā)送數(shù)據(jù)發(fā)送完成指示符以指示窺 探已經(jīng)完成所以標(biāo)識(shí)符以及其他變量可被解分配。同樣,如果擇機(jī)窺 探被派出以及是沒有必要的,那么在擇機(jī)窺探返回前讀取數(shù)據(jù)以及發(fā) 送數(shù)據(jù),屬地代理116可與完成指示符分開地發(fā)送數(shù)據(jù)發(fā)送指示符。 此外,如果存儲(chǔ)器訪問請(qǐng)求是遠(yuǎn)程請(qǐng)求,屬地代理116可在發(fā)出數(shù)據(jù) 發(fā)送完成指示符或完成指示符之前等待本地窺探完成。
此方法可在框616結(jié)束。
當(dāng)向存儲(chǔ)器106發(fā)送頁面關(guān)閉(預(yù)充電)命令時(shí),可向目錄高速 緩存118發(fā)送驅(qū)逐提示。該策略允許在對(duì)要關(guān)聯(lián)的存儲(chǔ)器106內(nèi)數(shù)據(jù) 的頁面命中與目錄高速緩存118命中相關(guān),而同時(shí)仍然保留小尺寸目 錄高速緩存118。當(dāng)接收到頁面關(guān)閉命令時(shí),如果目錄高速緩存已被 修改則目錄高速緩存118可向存儲(chǔ)控制器114、208A發(fā)送記錄式寫入。目錄行可位于存儲(chǔ)控制器114、 208A的寫緩沖隊(duì)列(WPQ)直到它被 清除。以這種方式,WPQ充當(dāng)目錄高速緩存118的犧牲緩沖器,以 及也向WPQ施加更多的壓力以增加寫入主模式的頻率。結(jié)果可需要 增加WPQ的大小。臟的目錄高速緩存118數(shù)據(jù)可也在頁面關(guān)閉之前 被寫回,減少要求打開額外頁面以寫回目錄數(shù)據(jù)的可能性。
可以完成進(jìn)一步的優(yōu)化。例如,目錄高速緩存也使用另一個(gè)處理 器內(nèi)特定高速緩存行的副本的MESI狀態(tài)信息以細(xì)化最佳(最小通信 量和延遲) 一致執(zhí)行以獲得最佳表現(xiàn)。例如,讀取訪問不需要具有獨(dú) 占的狀態(tài),因?yàn)樾薷牡臄?shù)據(jù)已經(jīng)處于獨(dú)占的狀態(tài)以及可以直接向請(qǐng)求 者發(fā)送。
本發(fā)明的實(shí)施例具有良好的可擴(kuò)展性來增加處理器或處理器核 的數(shù)量。例如,當(dāng)系統(tǒng)加入更多處理器時(shí),屬地代理以及附加的存儲(chǔ) 器可使存儲(chǔ)器內(nèi)的目錄信息相應(yīng)增加。
在前面的說明中,描述了本發(fā)明及其具體的實(shí)施例。然而,很明 顯可以對(duì)這些實(shí)施例做出改動(dòng)以及變化而不會(huì)由此偏離。說明和附圖 相應(yīng)地應(yīng)該被認(rèn)為是說明性的而不是限制性意義上的。
權(quán)利要求
1.一種一致性協(xié)議方法,包括從多個(gè)處理器中的處理器接收對(duì)要求的高速緩存行的存儲(chǔ)器訪問請(qǐng)求;通過從存儲(chǔ)所述要求的高速緩存行的存儲(chǔ)器頁面帶入來從存儲(chǔ)單元訪問與所述要求的高速緩存行相關(guān)聯(lián)的一致性信息,所述存儲(chǔ)器頁面還包括具有與所述要求的高速緩存行對(duì)應(yīng)的一致性信息的目錄行;根據(jù)所述一致性信息讀取與所述要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù);以及向所述處理器返回所述數(shù)據(jù)。
2. 如權(quán)利要求1所述的一致性協(xié)議方法,其中所述一致性信息 指出所述多個(gè)處理器中無其他處理器具有所述要求的高速緩存行,且 所述讀取與所述要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù)包括從所述存儲(chǔ)器 頁面讀取所述數(shù)據(jù)。
3. 如權(quán)利要求1所述的一致性協(xié)議方法,其中所述一致性信息 指出所述多個(gè)處理器中一個(gè)或一個(gè)以上其他處理器可具有所述要求 的高速緩存行,且所述讀取與所述要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù)包 括從所述存儲(chǔ)器頁面和從所有者高速緩存其中之一讀取所述數(shù)據(jù)。
4. 如權(quán)利要求1所述的一致性協(xié)議方法,還包括在從所述存儲(chǔ) 單元訪問與所述要求的高速緩存行相關(guān)聯(lián)的一致性信息之前,確定目 錄高速緩存不包括與所述要求的高速緩存行對(duì)應(yīng)的項(xiàng)目。
5. 如權(quán)利要求4所述的一致性協(xié)議方法,還包括向所述多個(gè)處 理器中的其他處理器派出擇機(jī)窺探,所述派出大致上與所述訪問一致 性信息并發(fā)地執(zhí)行。
6. 如權(quán)利要求5所述的一致性協(xié)議方法,其中所述讀取與所述 要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù)至少部分地基于所述擇機(jī)窺探的結(jié)果。
7. 如權(quán)利要求4所述的一致性協(xié)議方法,還包括如果所述目錄高速緩存包括與所述要求的高速緩存行對(duì)應(yīng)的項(xiàng) 目,訪問所述目錄高速緩存內(nèi)的所述項(xiàng)目,所述項(xiàng)目包括與所述要求 的高速緩存行相關(guān)聯(lián)的 一致性信息;以及如果所述一致性信息指出需要窺探業(yè)務(wù),對(duì)所有者處理器生成窺 探業(yè)務(wù)。
8. 如權(quán)利要求7所述的一致性協(xié)議方法,其中所述通過從存儲(chǔ) 單元將存儲(chǔ)所述要求的高速緩存行的存儲(chǔ)器頁面帶入來從所述存儲(chǔ) 單元訪問與所述要求的高速緩存行相關(guān)聯(lián)的所述一致性信息,還包括 在所述目錄高速緩存分配所述一致性信息。
9. 一種一致性協(xié)議裝置,包括屬地代理,其用于從多個(gè)處理器中的處理器接收對(duì)要求的高速緩 存行的存儲(chǔ)器訪問請(qǐng)求;以及 存儲(chǔ)控制器,其用于通過從存儲(chǔ)所述要求的高速緩存行的存儲(chǔ)器頁面帶入來從存 儲(chǔ)單元訪問與所述要求的高速緩存行相關(guān)聯(lián)的一致性信息,所述 存儲(chǔ)器頁面還包括具有與所述要求的高速緩存行對(duì)應(yīng)的 一致性信 息的目錄行;根據(jù)所述一致性信息讀取與所述要求的高速緩存行相關(guān)聯(lián) 的數(shù)據(jù);以及向所述處理器返回所述數(shù)據(jù)。
10. 如權(quán)利要求9所述的一致性協(xié)議裝置,其中所述一致性信息 指出所述多個(gè)處理器中無其他處理器具有所述要求的高速緩存行,并 且所述存儲(chǔ)控制器讀取與所述要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù)包括所述存儲(chǔ)控制器vMv所述存儲(chǔ)器頁面讀取所述數(shù)據(jù)。
11. 如權(quán)利要求9所述的一致性協(xié)議裝置,其中所述一致性信息 指出所述多個(gè)處理器中一個(gè)或一個(gè)以上其他處理器可具有所述要求的高速緩存行,并且所述存儲(chǔ)控制器讀取與所述要求的高速緩存行相 關(guān)聯(lián)的數(shù)據(jù)包括所述存儲(chǔ)控制器從所述存儲(chǔ)器頁面和從所有者高速 緩存其中之一讀取所述數(shù)據(jù)。
12. 如權(quán)利要求9所述的一致性協(xié)議裝置,所述存儲(chǔ)控制器還用 于在所述存儲(chǔ)控制器從所述存儲(chǔ)單元訪問與所述要求的高速緩存行 相關(guān)聯(lián)的一致性信息之前,確定目錄高速緩存不包括與所述要求的高 速緩存行對(duì)應(yīng)的項(xiàng)目。
13. 如權(quán)利要求12所述的一致性協(xié)議裝置,所述存儲(chǔ)控制器還 用于向所述多個(gè)處理器中的其他處理器派出擇機(jī)窺探,所述存儲(chǔ)控制 器用于與所述存儲(chǔ)控制器訪問一致性信息大致上并發(fā)地執(zhí)行所述派 出。
14. 如權(quán)利要求12所述的一致性協(xié)議裝置,所述存儲(chǔ)控制器還 用于如果所述目錄高速緩存包括與所述要求的高速緩存行對(duì)應(yīng)的項(xiàng) 目,訪問所述目錄高速緩存內(nèi)的所述項(xiàng)目,所述項(xiàng)目包括與所述要求 的高速緩存行相關(guān)聯(lián)的一致性信息;以及如果所述一致性信息指出需要窺探業(yè)務(wù),則對(duì)所述所有者處理器 生成窺探業(yè)務(wù)。
15. 如權(quán)利要求14所述的一致性協(xié)議裝置,其中當(dāng)通過從存儲(chǔ) 單元將存儲(chǔ)所述要求的高速緩存行的存儲(chǔ)器頁面帶入來從所述存儲(chǔ) 單元訪問與所述要求的高速緩存行相關(guān)聯(lián)的一致性信息時(shí),所述存 儲(chǔ)控制器還在所述目錄高速緩存分配所述一致性信息。
16. 如權(quán)利要求9所述的一致性協(xié)議裝置,其中所述裝置包含在 所述處理器管芯上。
17. —種一致性協(xié)議系統(tǒng),包括 存儲(chǔ)單元;與所述存儲(chǔ)單元耦合的存儲(chǔ)器總線;以及 與所述存儲(chǔ)器總線耦合的集線器控制器,所述集線器控制器具有屬地代理,其用于從多個(gè)處理器中的處理器接收對(duì)要求的高速緩存行的存儲(chǔ)器訪問請(qǐng)求;以及 存儲(chǔ)控制器,其用于通過從存儲(chǔ)所述要求的高速緩存行的存儲(chǔ)器頁面帶入來 從所述存儲(chǔ)單元訪問與所述要求的高速緩存行相關(guān)聯(lián)的一致 性信息,所述存儲(chǔ)器頁面還包括具有與所述要求的高速緩存 行對(duì)應(yīng)的一致性信息的目錄行;根據(jù)所述一致性信息讀取與所述要求的高速緩存行相 關(guān)聯(lián)的凝3居;以及向所述處理器返回所述數(shù)據(jù)。
18. 如權(quán)利要求17所述的一致性協(xié)議系統(tǒng),其中所述一致性信 息指出所述多個(gè)處理器中無其他處理器具有所述要求的高速緩存行, 并且所述存儲(chǔ)控制器讀取與所述要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù)包 括所述存儲(chǔ)控制器從所述存儲(chǔ)器頁面讀取所述數(shù)據(jù)。
19. 如權(quán)利要求17所述的一致性協(xié)議系統(tǒng),其中所述一致性信 息指出所述多個(gè)處理器中一個(gè)或一個(gè)以上其他處理器可具有所述要 求的高速緩存行,并且所述存儲(chǔ)控制器讀取與所述要求的高速緩存行 相關(guān)聯(lián)的數(shù)據(jù)包括所述存儲(chǔ)控制器從所述存儲(chǔ)器頁面和從所有者高 速緩存其中之一讀取所述數(shù)據(jù)。
20. 如權(quán)利要求17所述的一致性協(xié)議系統(tǒng),所述存儲(chǔ)控制器還 用于在所述存儲(chǔ)控制器從所述存儲(chǔ)單元訪問與所述要求的高速緩存 行相關(guān)聯(lián)的 一致性信息之前確定目錄高速緩存不包括與所述要求的 高速緩存行對(duì)應(yīng)的項(xiàng)目。
21. 如權(quán)利要求20所述的一致性協(xié)議系統(tǒng),所述存儲(chǔ)控制器還 用于向所述多個(gè)處理器中的其他處理器派出擇機(jī)窺^:,所述存儲(chǔ)控制 器與所述存儲(chǔ)控制器訪問 一致性信息大致上并發(fā)地執(zhí)行所述派出。
22. 如權(quán)利要求20所述的一致性協(xié)議系統(tǒng),所述存儲(chǔ)控制器還用于如果所述目錄高速緩存包括與所述要求的高速緩存行對(duì)應(yīng)的項(xiàng) 目,訪問所述目錄高速緩存內(nèi)的所述項(xiàng)目,所述項(xiàng)目包括與所述要求 的高速緩存行相關(guān)聯(lián)的 一致性信息;以及如果所述一致性信息指出需要窺探業(yè)務(wù),對(duì)所有者處理器生成窺 探業(yè)務(wù)。
23.如權(quán)利要求22所述的一致性協(xié)議系統(tǒng),其中當(dāng)通過從所述 存儲(chǔ)單元將存儲(chǔ)所述要求的高速緩存行的存儲(chǔ)器頁面帶入來從所述 存儲(chǔ)單元訪問與所述要求的高速緩存行相關(guān)聯(lián)的一致性信息時(shí),所述 存^f渚控制器還在所述目錄高速緩存分配所述一致性信息。
全文摘要
本發(fā)明名稱為存儲(chǔ)器內(nèi)、頁面內(nèi)目錄高速緩存一致性配置。在實(shí)施例中,本方法提供從多個(gè)處理器中的處理器接收對(duì)要求的高速緩存行的存儲(chǔ)器訪問請(qǐng)求;通過從存儲(chǔ)所要求的高速緩存行的存儲(chǔ)器頁面帶入來從存儲(chǔ)單元訪問與所要求的高速緩存行相關(guān)聯(lián)的一致性信息,存儲(chǔ)器頁面還包括具有與所要求的高速緩存行對(duì)應(yīng)的一致性信息的目錄行;根據(jù)一致性信息讀取與所要求的高速緩存行相關(guān)聯(lián)的數(shù)據(jù);以及向處理器返回?cái)?shù)據(jù)。
文檔編號(hào)G06F12/08GK101493796SQ20081018975
公開日2009年7月29日 申請(qǐng)日期2008年12月30日 優(yōu)先權(quán)日2007年12月31日
發(fā)明者I·施泰納, K·程, S·蒂沃里, 喬治 Z·-N·蔡 申請(qǐng)人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1