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

分區(qū)的共享高速緩存的制作方法

文檔序號:6570094閱讀:197來源:國知局
專利名稱:分區(qū)的共享高速緩存的制作方法
分區(qū)的共享高速緩存背景技術(shù)
為改進(jìn)性能, 一些計(jì)算系統(tǒng)利用多個(gè)處理器。這些計(jì)算系統(tǒng)還可包括能由多個(gè)處理器共享的高速緩存。然而,處理器可具有不 同的高速緩存使用行為。例如, 一些處理器可能正在使用共享高速緩 存用于高吞吐量數(shù)據(jù)。結(jié)果,這些處理器可能會過于頻繁地刷新共享高速緩存,從而使得剩余的處理器(其可能處理低吞吐量數(shù)據(jù))不能有 效地將他們的數(shù)據(jù)緩存在共享高速緩存中。


將參考附圖來提供具體描述。在圖中,參考標(biāo)號中的最左 邊數(shù)字標(biāo)識其中該參考標(biāo)號最先出現(xiàn)的圖。在不同圖中使用的相同參 考標(biāo)號表示相似或完全相同的項(xiàng)。
圖1、 3和5說明了根據(jù)本發(fā)明各種實(shí)施例的計(jì)算系統(tǒng)的 框圖。
圖2說明了利用分區(qū)的共享高速緩存的方法實(shí)施例的流程圖。
圖4說明了分布式處理平臺的實(shí)施例的框圖。
具體實(shí)施方式
在以下的描述中,陳述了許多特定細(xì)節(jié)以4更提供對各種實(shí) 施例的透徹理解。然而,本發(fā)明的各種實(shí)施例可以在沒有這些特定細(xì) 節(jié)的前提下實(shí)施。在其他實(shí)例中,并沒有詳細(xì)描述/>知的方法、過程、 部件和電路,以便不會使得本發(fā)明的具體實(shí)施例變得模糊。
本文中討論的一些實(shí)施例可在各種計(jì)算環(huán)境(如參考圖1 和圖3至5討論的那些計(jì)算環(huán)境)中利用共享高速緩存內(nèi)的分區(qū)。更具體而言,圖1說明了根據(jù)本發(fā)明實(shí)施例的多處理器計(jì)算系統(tǒng)100的一部分的框圖。系統(tǒng)100包括一個(gè)或多個(gè)處理器102(在本文中稱作"多 個(gè)處理器102"或更一般地稱作"處理器102")。處理器102可通過 總線(或互連網(wǎng)絡(luò))104與系統(tǒng)100的其他部件進(jìn)行通信,所述其他部件 例如為一個(gè)或多個(gè)核106-1至106-N(本文稱作"多個(gè)核106"或更一 般地稱作"核106")。
如將進(jìn)一步參考圖3和5所討論的,任何類型的多處理器 系統(tǒng)可包括處理器核106和/或處理器102。此外,處理器核106和/ 或處理器102可提供在相同的集成電路管芯上。而且,在一個(gè)實(shí)施例 中,至少一個(gè)處理器102可包括一個(gè)或多個(gè)處理器核。在一個(gè)實(shí)施例 中,處理器102中的核可與核106同類或異類。
在一個(gè)實(shí)施例中,系統(tǒng)100可處理通過計(jì)算機(jī)網(wǎng)絡(luò)108傳 遞的數(shù)據(jù)。例如,處理器核106中的每個(gè)核可執(zhí)行一個(gè)或多個(gè)線程以 便處理經(jīng)由網(wǎng)絡(luò)108傳遞的數(shù)據(jù)。在一個(gè)實(shí)施例中,處理器核106例 如可以是一個(gè)或多個(gè)微引擎(ME)、網(wǎng)絡(luò)處理器引擎(NPE)和/或流式處 理器(可處理與例如圖形、音頻或其他類型實(shí)時(shí)數(shù)據(jù)的數(shù)據(jù)流相對應(yīng)的 數(shù)據(jù))。此外,處理器102可以為通用處理器(如用來執(zhí)行系統(tǒng)100內(nèi) 的各種通用任務(wù))。在一個(gè)實(shí)施例中,處理器核106可提供與任務(wù)相關(guān) 的硬件加速,例如數(shù)據(jù)加密等。系統(tǒng)100還可包括一個(gè)或多個(gè)々某體才妄 口 110,其可為系統(tǒng)100的各種部件提供物理接口以便與網(wǎng)絡(luò)108進(jìn) 行通信。在一個(gè)實(shí)施例中,系統(tǒng)100可包括用于處理器核106和處理 器102中的每一個(gè)的一個(gè)媒體接口 110。
如圖1所示,系統(tǒng)IOO可包括存儲器控制120,其可與總 線104通信并提供對存儲器122的訪問。存儲器122可由處理器102、 處理器核106和/或通過總線104通信的其他部件共享。存儲器122可 存儲數(shù)據(jù),包括可由處理器102和/或處理器核106或系統(tǒng)100中包括 的其他設(shè)備執(zhí)行的指令序列。例如,存儲器122可存儲對應(yīng)于在網(wǎng)絡(luò) 108上傳遞的一個(gè)或多個(gè)數(shù)據(jù)分組的數(shù)^"。
在一個(gè)實(shí)施例中,存儲器122可包括一個(gè)或多個(gè)易失性存 儲(或存儲器)設(shè)備,例如參考圖3討論的那些。而且,存儲器122可 包括非易失性存儲器(外加或替代易失性存儲器),例如參考圖3討論 的那些。因此,系統(tǒng)100可包括易失性和/或非易失性存儲器(或存儲 裝置)。此外,多個(gè)存儲設(shè)備(包括易失性和/或非易失性存儲器)可耦合 到總線104(未示出)。在一個(gè)實(shí)施例中,存儲器控制器120可包括多個(gè) 存儲器控制120及相關(guān)聯(lián)的存儲器122。而且,在一個(gè)實(shí)施例中,總 線104可包括多種多樣的總線104或結(jié)構(gòu)。
另外,處理器102和核106可通過高速鄉(xiāng)爰存控制器132與 共享高速緩存130通信。如圖1所示,高速緩存控制器132可通過總 線104或直接地(例如通過用于處理器102和核106中的每一個(gè)的獨(dú)立 的高速緩存端口)與處理器102和核106通信。因此,高速緩存控制器 132可向第一存儲器訪問代理(如處理器102)和第二存儲器訪問代理 (如核106)提供對共享高速緩存130的訪問(如讀或?qū)?。在一個(gè)實(shí)施例 中,共享高速緩存130可以是2級(L2)高速緩存、高于2級(如3級或 4級)的高速緩存或最后一級高速纟爰存(LLC)。而且,在各種實(shí)施例中, 處理器102和核106中的一個(gè)或多個(gè)可包括一個(gè)或多個(gè)高速緩存,例 如1級高速緩存(如分別為高速緩存124和126-1至126-N (本文中稱 作"多個(gè)高速緩存126"或更一般地稱作"高速緩存126"》。在一 個(gè)實(shí)施例中,高速緩存(如高速緩存124和/或126)可代表單個(gè)統(tǒng)一的 高速緩存。在另一實(shí)施例中,高速緩存(如高速緩存124和/或126)可 包括配置在多級體系中的多個(gè)高速緩存。而且,該體系的級可包括多 個(gè)同類或異類的高速緩存(如數(shù)據(jù)高速緩存和指令高速緩存)。
如圖1所示,共享高速緩存130可包括一個(gè)或多個(gè)共享分 區(qū)134(如用來存儲在核106和/或處理器102(或處理器102中的一個(gè)或 多個(gè)核)的各種分組之間共享的數(shù)據(jù))和一個(gè)或多個(gè)私有分區(qū)136。例 如,私有分區(qū)中的一個(gè)或多個(gè)分區(qū)可存儲僅由核106中的一個(gè)或多個(gè) 核訪問的數(shù)據(jù);然而,其他私有分區(qū)可存儲僅由處理器102(或處理器102內(nèi)的核中一個(gè)或多個(gè)核)訪問的數(shù)據(jù)。因此,共享分區(qū)134可使得 核106能參與同處理器102的一致性高速緩存存儲器通信。而且,在 一個(gè)實(shí)施例中,分區(qū)134和136中的每個(gè)分區(qū)可代表獨(dú)立的一致性域。 另夕卜,系統(tǒng)100可包括一個(gè)或多個(gè)其他的高速》爰存(如高速緩存124和 126、其他中間級高速緩存或LLC(未示出)),所述一個(gè)或多個(gè)其他的 高速緩存同共享高速緩存130 —起參與高速緩存一致性協(xié)議。此外, 在一個(gè)實(shí)施例中,高速緩存中的每個(gè)高速緩存同分區(qū)134和/或136中 的一個(gè)或多個(gè)分區(qū) 一起參與高速緩存一致性協(xié)議,例如以便在系統(tǒng) 100內(nèi)提供一個(gè)或多個(gè)高速緩存一致性域。而且,即使圖1所示的分 區(qū)134和136看起來像具有相同大小,但這些分區(qū)也可具有不同的(可 調(diào)整的)大小,這將進(jìn)一步參考圖2討論。
圖2說明了利用分區(qū)的共享高速緩存的方法200的實(shí)施例 的流程圖。在各種實(shí)施例中,參考方法200討論的操作中的一個(gè)或多 個(gè)操作可由參考圖1、 3、 4和/或5討論的一個(gè)或多個(gè)部件執(zhí)行。例如, 方法200可使用圖1中的共享高速緩存130的分區(qū)134和136用于數(shù) 據(jù)存儲。
參考圖1和2,在操作202,高速緩存控制器132可從存 儲器訪問代理(如處理器102或核106之一)接收訪問(如讀或?qū)?共享高 速緩存130的存儲器訪問請求。在一個(gè)實(shí)施例中,分區(qū)134和136的 大小可以是靜態(tài)或固定的,如在系統(tǒng)初始化時(shí)祐:確定。例如,分區(qū)134 和136的大小可以是靜態(tài)的以便降低使用共享高速緩存分區(qū)134用于 不同類型的數(shù)據(jù)的影響(如其中一個(gè)處理器可能正在使用共享高速緩 存用于高吞吐量數(shù)據(jù),其過于頻繁地刷新共享高速緩存,使得剩余的 處理器不能有效地將其數(shù)據(jù)緩存在共享高速緩存中)。
在一個(gè)實(shí)施例中,在可選操作204,例如在操作202的存 儲器訪問請求所請求的存儲器部分比當(dāng)前在分區(qū)134或136之一中可 得到的存儲器部分更大時(shí),高速緩存控制器132可確定分區(qū)134和136 的大小是否要被調(diào)整。如果需要進(jìn)行分區(qū)大小調(diào)整,則高速緩存控制器132會可選地調(diào)整分區(qū)134和136的大小(在操作206)。在一個(gè)實(shí)施 例中,因?yàn)楣蚕砀咚貶存130的總大小可以是固定的, 一個(gè)分區(qū)中大 小的增加可導(dǎo)致剩余分區(qū)中的一個(gè)或多個(gè)分區(qū)的大小減小。因此,例 如由于高速緩存行為、存儲器訪問代理請求、數(shù)據(jù)流行為、時(shí)間考慮 (如延時(shí))或其他因素,分區(qū)134和/或136的大小會被動(dòng)態(tài)地調(diào)整(如在 才喿作204和/或206)。此外,系統(tǒng)100可包括對應(yīng)于分區(qū)134和136 如何或何時(shí)可被調(diào)整的一個(gè)或多個(gè)寄存器(或在存儲器122中存儲的 變量)。這種寄存器或變量可設(shè)置邊界、計(jì)數(shù)等。
在操作208,高速緩存控制器132可確定哪一個(gè)存儲器訪 問代理(如處理器102或核106)發(fā)起存儲器訪問請求。這可基于存儲器 訪問請求提供的標(biāo)記(如識別存儲器訪問請求的源的一個(gè)或多個(gè)位)或 在操作202接收存儲器訪問請求的高速緩存端口而祐_確定。
在一些實(shí)施例中,因?yàn)楹?06可具有與處理器102相比不 同的高速緩存使用行為(例如,核106可處理從緩存受益較少的高吞吐 量或流式數(shù)據(jù),因?yàn)閿?shù)據(jù)可能被寫入一次并可能^皮讀取一次,而在之 間有相對較長的延遲),所以對于處理器102與核106的存儲器訪問請 求,可執(zhí)行不同的高速緩存策略。 一般,高速緩存策略可指明響應(yīng)于 請求(例如來自請求者、系統(tǒng)或另一存儲器訪問代理)高速緩存130如 何將數(shù)據(jù)裝載、預(yù)取、存儲、共享和/或回寫到存儲器122。例如,如 果核106用作輸/v/輸出(I/0)代理(如,用來處理在網(wǎng)絡(luò)108上傳遞的 數(shù)據(jù)),這種存儲器訪問可對應(yīng)于比完整高速緩存行(如32個(gè)字節(jié))小 的數(shù)據(jù)塊(如一個(gè)雙字)。為此,在一個(gè)實(shí)施例中,核106中的至少一 個(gè)核可請求高速i爰存控制器132在私有分區(qū)136的至少一個(gè)中^l行部 分寫合并(如合并較小的數(shù)據(jù)塊)。在另一示例中,核106可例如為不 從緩存受益的數(shù)據(jù)識別選擇高速緩存策略(包括分配策略),該選擇高 速緩存策略被應(yīng)用于涉及共享高速緩存130的存儲器事務(wù),沒有寫分 配的寫事務(wù)可被執(zhí)行。這使得能夠?qū)?shù)據(jù)發(fā)送到存儲器122,而不是 為寫入一次而不被該代理再次讀取的數(shù)據(jù)占據(jù)共享高速緩存130中的高速緩存行。類似地,在其中待寫入的數(shù)據(jù)與能訪問共享高速緩存130的另 一代理時(shí)間上相關(guān)的實(shí)施例中,核106可識別在選擇共享分區(qū)134中將要執(zhí)行的寫分配的高速緩存策略。
因此,對于處理器102的(如操作202的)存儲器訪問請求, 在操作210,高速緩存控制器132可確定請求(如在操作202)涉及哪個(gè) 分區(qū)(如共享分區(qū)134或私有分區(qū)136中的一個(gè)私有分區(qū))。在一個(gè)實(shí) 施例中,存儲器訪問代理(如在該例中處理器102)可利用與存儲器訪問 請求(如在操作202)相對應(yīng)的標(biāo)記來指示存儲器訪問請求涉及哪個(gè)分 區(qū)。例如,存儲器訪問代理102可以用識別共享高速緩存130內(nèi)的特 定分區(qū)的一個(gè)或多個(gè)位來標(biāo)記存儲器訪問請求?;蛘?,高速緩存控制 器132可基于存儲器訪問請求的地址(如僅被存儲在共享高速緩存130 的分區(qū)(如134或136)的特定一個(gè)分區(qū)中的具體地址或地址的范圍)確 定共享高速緩存130的目標(biāo)分區(qū)。在操作212,高速緩存控制器132 可在目標(biāo)分區(qū)上執(zhí)行第一組高速緩存策略。在操作214,高速緩存控 制器132可將對應(yīng)于來自處理器102的存儲器訪問請求的數(shù)據(jù)存儲在 目標(biāo)分區(qū)中。在一個(gè)實(shí)施例中,比操作210的目標(biāo)高速緩存(如高速緩 存124或其他可由處理器102訪問的中間級高速鄉(xiāng)爰存)低級的一個(gè)或多 個(gè)高速緩存可窺探(snoop)涉及(如操作210的)目標(biāo)分區(qū)的一個(gè)或多個(gè) 存儲器事務(wù)。因此,與處理器102相關(guān)聯(lián)的高速緩存124不需要窺探 涉及核106的私有分區(qū)136的存儲器事務(wù)。在一個(gè)實(shí)施例中,例如對 于核106可處理高吞吐量數(shù)據(jù),其可能過于頻繁地刷新共享高速纟爰存 130,使得處理器102不能有效地將數(shù)據(jù)緩存在共享高速緩存130中 的情況,這改善了系統(tǒng)效率。
而且,對于多個(gè)核106中的一個(gè)核的存儲器訪問請求,在 操作216,高速緩存控制器132可確定存儲器訪問請求涉及哪一個(gè)分 區(qū)。如參考操作210所述,存儲器訪問代理可利用與(如操作202的) 存儲器訪問請求相對應(yīng)的標(biāo)記來指示存儲器訪問請求涉及哪個(gè)分區(qū) (如分區(qū)134或136)。例如,存卞者器訪問代理106可以用識別共享高速纟爰存130內(nèi)的特定分區(qū)的一個(gè)或多個(gè)位來標(biāo)記存儲器訪問請求?;蛘撸咚倬彺婵刂破?32可基于存儲器訪問請求的地址(如僅被存儲在共 享高速緩存130的分區(qū)(如134或136)的特定一個(gè)分區(qū)中的具體地址或 地址的范圍)確定共享高速緩存130的目標(biāo)分區(qū)。在一個(gè)實(shí)施例中,對 于特定事務(wù),處理器102內(nèi)的處理器核使訪問限制于分區(qū)134或136 中的一個(gè)分區(qū),結(jié)果,利用操作202的存儲器訪問請求,由處理器102 發(fā)送的任何存儲器訪問請求可不包括任何分區(qū)標(biāo)識信息。
在操作218,高速緩存控制器132可在共享高速緩存130 的一個(gè)或多個(gè)分區(qū)上執(zhí)行第二組高速緩存策略。在操作214,高速緩 存控制器132可將對應(yīng)于核106的存儲器訪問請求的數(shù)據(jù)存儲在(如操 作216的)目標(biāo)分區(qū)中。在一個(gè)實(shí)施例中,(如操作210的)第一組高速 緩存策略與(如操作218的)第二組高速緩存策略可以不同。在一個(gè)實(shí) 施例中,(如操作210的)第一組高速緩存策略可以是(如操作218的) 第二組高速緩存策略的子集。在一個(gè)實(shí)施例中,(如操作210的)第一 組高速緩存策略可以是暗示的而(如操作218的)第二組高速緩存策略 可以是明確的。明確的高速緩存策略一般是指其中高速緩存控制器 132接收有關(guān)哪個(gè)高速緩存策略在相應(yīng)的操作212或218被利用的信 息的實(shí)現(xiàn);然而,使用暗示的高速緩存策略,不會提供對應(yīng)于操作202 的請求的有關(guān)特定高速纟爰存策略選擇的信息。
圖3說明了根據(jù)本發(fā)明的實(shí)施例的計(jì)算系統(tǒng)300的框圖。 計(jì)算系統(tǒng)300可包括耦合到互連網(wǎng)絡(luò)(或總線)304的一個(gè)或多個(gè)中央 處理器單元(CPU)302或處理器(本文一般稱作"多個(gè)處理器302"或"處 理器302")。處理器302可以是任何合適的處理器,例如通用處理器、 網(wǎng)絡(luò)處理器(其處理在計(jì)算機(jī)網(wǎng)絡(luò)108上傳遞的數(shù)據(jù))或其他類型的處 理器,包括精簡指令集計(jì)算機(jī)(RISC)處理器或復(fù)雜指令集計(jì)算機(jī) (CISC))。而且,處理器302可具有單個(gè)或多個(gè)核設(shè)計(jì)。具有多個(gè)核設(shè) 計(jì)的處理器302可在相同的集成電路(IC)管芯上集成不同類型的處理 器核。此外,具有多個(gè)核設(shè)計(jì)的處理器302可實(shí)現(xiàn)為對稱或非對稱多處理器。而且,系統(tǒng)300可包括參考圖1-2討論的處理器核106、共 享高速緩存130和/或高速緩存控制器中的一個(gè)或多個(gè)。在一個(gè)實(shí)施例 中,處理器302可以與參考圖l-2討論的處理器102相同或相似。例 如,處理器302可包括圖1的高速緩存124。此外,參考圖1-2討論 的操作可由系統(tǒng)300的一個(gè)或多個(gè)部件執(zhí)行。
芯片組306也可耦合到互連網(wǎng)絡(luò)304。芯片組306可包括 存儲器控制集線器(MCH)308。 MCH 308可包括耦合到存儲器312的 存儲器控制器310。存儲器312可存儲數(shù)據(jù)(包括由處理器302和/或核 106、或包括在計(jì)算系統(tǒng)300中的任何其他設(shè)備執(zhí)行的指令序列)。在 一個(gè)實(shí)施例中,存儲器控制器310和存儲器312可分別與圖1的存儲 器控制器120和存儲器122相同或相似。在本發(fā)明的一個(gè)實(shí)施例中, 存儲器312可包括一個(gè)或多個(gè)易失性存儲(或存儲器)設(shè)備,例如隨機(jī) 訪問存儲器(RAM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM (SDRAM)、靜 態(tài)RAM(SRAM)等。非易失性存儲器還可例如用作硬盤。另外的設(shè)備 可耦合到互連網(wǎng)絡(luò)304,例如多個(gè)CPU和/或多個(gè)系統(tǒng)存儲器。
MCH 308還可包括耦合到圖形加速器316的圖形接口 314。 在本發(fā)明的一個(gè)實(shí)施例中,圖形接口 314可經(jīng)由加速圖形端口(AGP) 耦合到圖形加速器316。在本發(fā)明的實(shí)施例中,顯示器(例如平板顯示 器)可通過例如信號轉(zhuǎn)換器耦合到圖形接口 314,該信號轉(zhuǎn)換器將存儲 設(shè)備(如視頻存儲器或系統(tǒng)存儲器)中存儲的圖像的數(shù)字表示變換成由 顯示器解釋并顯示的顯示信號。由顯示器設(shè)備產(chǎn)生的顯示信號在^^示器解釋并隨后顯示在其上之前可通過各種控制設(shè)備。
集線器接口 318可將MCH308耦合到輸入/輸出控制集線 器(ICH) 320。 ICH 320可向耦合到計(jì)算系統(tǒng)300的I/O設(shè)備提供接口 。 ICH 320可通過諸如外圍設(shè)備互連(PCI)橋、通用串行總線(USB)控制 器等的外圍橋(或控制器)324耦合到總線322。橋324可提供CPU 302 和外圍設(shè)備之間的數(shù)據(jù)路徑??衫闷渌愋偷耐貥?。此外,多個(gè)總 線可例如通過多個(gè)橋或控制器耦合到ICH 320。此外,這些多個(gè)總線可以同類或異類。而且,在各種本發(fā)明的實(shí)施例中,其他耦合到ICH320的外圍設(shè)備可包括集成驅(qū)動(dòng)電子設(shè)備(IDE)或小型計(jì)算機(jī)系統(tǒng)接口 (SCSI)硬盤驅(qū)動(dòng)器、USB端口、鍵盤、鼠標(biāo)、并行端口、串行端口、 軟盤驅(qū)動(dòng)器、數(shù)字輸出支持(如數(shù)字視頻接口(DVI))等。
總線322可耦合到音頻i殳備326、 一個(gè)或多個(gè)盤驅(qū)動(dòng)器(或 盤接口 )328 、以及一個(gè)或多個(gè)網(wǎng)絡(luò)接口設(shè)備330(其耦合到計(jì)算機(jī)網(wǎng)絡(luò) 108)。在一個(gè)實(shí)施例中,網(wǎng)絡(luò)接口設(shè)備330可以是網(wǎng)^4妄口卡(NIC)。 在另一實(shí)施例中,網(wǎng)絡(luò)接口設(shè)備330可以是存儲主機(jī)總線適配器(HBA) (如用來連接到光纖通道盤)。其他設(shè)備可耦合到總線322。此外,在本 發(fā)明的一些實(shí)施例中,各種部件(如網(wǎng)絡(luò)接口設(shè)備330)可耦合到MCH 308。另外,處理器302和MCH308可被結(jié)合以形成單個(gè)集成電路芯 片。在一個(gè)實(shí)施例中,圖形加速器316、 ICH320、外圍橋324、音頻 設(shè)備326、盤或盤接口 328和/或網(wǎng)絡(luò)接口 330可按各種配置結(jié)合在單 個(gè)集成電路芯片中。此外,各種配置可與處理器302和MCH 308結(jié) 合在一起以形成單個(gè)集成電路芯片。而且,在本發(fā)明的其他實(shí)施例中, 圖形加速器316可包括在MCH308內(nèi)。
另外,計(jì)算系統(tǒng)300可包括易失性和/或非易失性存儲器 (或存儲裝置)。例如,非易失性存儲器可包括以下存儲器中的一個(gè)或 多個(gè)只讀存儲器(ROM)、可編程ROM (PROM)、可擦除PROM (EPROM)、電EPROM (EEPROM)、帶有電池的非易失性存儲器 (NVRAM)、盤驅(qū)動(dòng)器(如328)、軟盤、只讀光盤(CD-ROM)、數(shù)字化 視頻光盤(DVD)、閃存、磁光盤或適合存儲電子數(shù)據(jù)(包括指令)的其 他類型的非易失性機(jī)器可讀i某體。
對應(yīng)于圖1和圖3的系統(tǒng)100和300可使用在各種應(yīng)用中。 例如,在聯(lián)網(wǎng)應(yīng)用中,可能為在網(wǎng)絡(luò)處理器(如處理例如按數(shù)據(jù)分組形 式的在網(wǎng)絡(luò)上傳遞的數(shù)據(jù)的處理器)和控制和/或內(nèi)容處理元件之間的 最佳、高吞吐量通信而將分組處理與通用處理緊密地耦合。例如,如 圖4所示,分布式處理平臺400的實(shí)施例可包括通過底板406(如交換結(jié)構(gòu))互連的刀片(blade)402-A至402-M和線路卡404-A至404-P的集 合。交換結(jié)構(gòu)406例如可遵照公共交換接口 (CSIX)或其他結(jié)構(gòu)技術(shù), 如高級交換互連(ASI)、 HyperTransport、 Infmiband、外圍設(shè)備互連(PCI) (和/或PCI Express (PCI-e))、以太網(wǎng)、SONET(同步光網(wǎng)絡(luò))上的分組、 RapidIO和/或用于異步傳輸模式(ATM)的通用測試和操作PHY (物理) 接口 (UTOPIA)。
在一個(gè)實(shí)施例中,線路卡404可提供線路終止和輸^/輸出 (1/0)處理。線路卡404可包括數(shù)據(jù)面中的處理(分組處理)以及控制面 處理,以便進(jìn)行在數(shù)據(jù)面中執(zhí)行的策略的管理。刀片402-A至402-M 可包括用來進(jìn)行未分配給線路卡的控制面功能的控制刀片;用來執(zhí) 行諸如驅(qū)動(dòng)器枚舉、路由表管理、全局表管理、網(wǎng)絡(luò)地址翻譯以及向 控制刀片消息傳送等的系統(tǒng)管理功能的控制刀片;應(yīng)用及服務(wù)刀片; 和/或內(nèi)容處理刀片。交換結(jié)構(gòu)或多個(gè)結(jié)構(gòu)406還可駐留在一個(gè)或多個(gè) 刀片上。在網(wǎng)絡(luò)基礎(chǔ)設(shè)施中,內(nèi)容處理刀片可用來進(jìn)行標(biāo)準(zhǔn)線路卡功 能性以外的增強(qiáng)的基于內(nèi)容的處理,所述標(biāo)準(zhǔn)線路卡功能性包括語音 處理、加密清除以及在性能要求高時(shí)的侵入4全測。在一個(gè)實(shí)施例中, 控制、管理、內(nèi)容處理和/或?qū)iT應(yīng)用和服務(wù)處理的功能可按各種方式 結(jié)合在一個(gè)或多個(gè)刀片402上。
線路卡404中的至少一個(gè)線路卡(如線路卡404-A)M于 系統(tǒng)100和/或300的體系結(jié)構(gòu)實(shí)現(xiàn)的專門線路卡,用來將處理器(如 通用處理器或另 一類型的處理器)的處理智能緊密地耦合到網(wǎng)絡(luò)處理 器(如處理在網(wǎng)絡(luò)上傳遞的數(shù)據(jù)的處理器)的更為專門的能力。線路卡 404-A包括一個(gè)或多個(gè)々某體接口 110,用來處理在連接(如參考圖1-3 討論的網(wǎng)絡(luò)108或例如經(jīng)由光纖通道的其他類型的連接,例如存儲區(qū) 域網(wǎng)絡(luò)(SAN)連接)上的通信。 一個(gè)或多個(gè)i某體接口 110可耦合到處理 器,本文示為網(wǎng)絡(luò)處理器(NP) 410 (其在一個(gè)實(shí)施例中可以是處理器核 106中的一個(gè)或多個(gè))。盡管可使用單個(gè)NP,但是在該實(shí)現(xiàn)中, 一個(gè) NP用作入口處理器,而其他的NP用作出口處理器。或者, 一系列NP可配置為流水線以進(jìn)行不同級的入口業(yè)務(wù)或出口業(yè)務(wù)或兩者的處理。平臺400中的其他部件和互連示出在圖1中。本文中,總線104 可通過輸入/輸出(1/0)塊408耦合到交換結(jié)構(gòu)406。在一個(gè)實(shí)施例中, 總線104可通過存儲器控制器120耦合到I/O塊408。在一個(gè)實(shí)施例 中,1/O塊408可以是交換設(shè)備。而且, 一個(gè)或多個(gè)NP410和處理器 102可耦合到該1/0塊408?;蛘呋虼送?,基于圖l和圖3的系統(tǒng)的其 他應(yīng)用可由分布式處理平臺400采用。例如,對于優(yōu)化的存儲處理, 例如涉及企業(yè)服務(wù)器的應(yīng)用、網(wǎng)絡(luò)存儲、清除和存儲子系統(tǒng)應(yīng)用,處 理器410可實(shí)現(xiàn)為1/0處理器。對于另外其他的應(yīng)用,處理器410可 以是協(xié)處理器(例如用作加速器)或獨(dú)立的控制面處理器。在一個(gè)實(shí)施 例中,處理器410可包括一個(gè)或多個(gè)通用和/或?qū)iT處理器(或其他類 型的處理器)或協(xié)處理器。在一個(gè)實(shí)施例中,線路卡404可包括一個(gè)或 多個(gè)處理器102。取決于刀片402和線路卡404的配置,分布式處理 平臺400可實(shí)現(xiàn)交換設(shè)備(如交換機(jī)或路由器)、服務(wù)器、網(wǎng)關(guān)或其他 類型裝備。
在各種實(shí)施例中,共享高速緩存(如圖1的共享高速緩存 130)可被分區(qū)以便由參考圖1-3討論的平臺400的各種部件(如線路卡 404和/或刀片402的若干部分)使用。共享高速緩存130可通過高速緩 存控制器(如圖1和圖3的高速i爰存控制器132)耦合到平臺的各種部 件。此外,共享高速緩存可在平臺400的任何合適位置(例如在線路卡 404和/或刀片402內(nèi))提供,或耦合到交換結(jié)構(gòu)406。
圖5說明了根據(jù)本發(fā)明的實(shí)施例、按點(diǎn)對點(diǎn)(PtP)配置安排 的計(jì)算系統(tǒng)500。具體來說,圖5示出了其中處理器、存儲器和輸入/ 輸出設(shè)備通過許多點(diǎn)對點(diǎn)接口互連的系統(tǒng)。參考圖l-4討論的操作可 通過系統(tǒng)500的一個(gè)或多個(gè)部件而^皮執(zhí)行。
如圖5所示,系統(tǒng)500可包括幾個(gè)處理器,其中為清楚起 見僅僅示出了兩個(gè)處理器502和504。系統(tǒng)500可包括參考圖1-4討 論的處理器核106、共享高速緩存130和/或高速緩存控制器132中的一個(gè)或多個(gè),他們可通過PtP接口而與系統(tǒng)500的各種部件進(jìn)行通信(例如按圖5所示)。此外,處理器502和504可包括參考圖1討論的 高速^爰存124。在一個(gè)實(shí)施例中,處理器502和504可與參考圖1-4 討論的處理器102相似。處理器502包括與存儲器510耦合的本地存 儲器控制器集線器(MCH) 506,處理器504包括與存儲器512耦合的 本地存儲器控制器集線器(MCH)508 。在圖5所示的實(shí)施例中,核106 還可包括與存儲器耦合的本地MCH(未示出)。存儲器510和/或512 可存儲各種數(shù)據(jù),例如分別參考圖1和圖3的存儲器122和/或312討 論的那些數(shù)據(jù)。
處理器502和504可以;^任何合適的處理器,例如參考圖 3的處理器302討論的那些處理器。處理器502和504可分別使用PtP 接口電路516和518而經(jīng)由點(diǎn)對點(diǎn)(PtP)接口 514交換數(shù)據(jù)。處理器502 可使用點(diǎn)對點(diǎn)接口電路526、 530經(jīng)由單獨(dú)的PtP接口 522與芯片組 520交換數(shù)據(jù),處理器504可使用點(diǎn)對點(diǎn)接口電路528、 532經(jīng)由單獨(dú) 的PtP接口 524與芯片組520交換數(shù)據(jù)。芯片組520還可使用PtP接 口電路537經(jīng)由高性能圖形接口 536與高性能圖形電路534交換數(shù)據(jù)。
本發(fā)明的至少一個(gè)實(shí)施例可通過利用處理器502和504而 4是供。例如,處理器核106可位于處理器502和504內(nèi)。然而,本發(fā) 明的其他實(shí)施例可存在于圖5的系統(tǒng)500中的其他電i 各、邏輯單元或 設(shè)備內(nèi)。此外,本發(fā)明的其他實(shí)施例可分布在整個(gè)圖5所示的幾個(gè)電 路、邏輯單元或設(shè)備中。
芯片組520可使用PtP接口電路541耦合到總線540???線540可具有耦合到它的一個(gè)或多個(gè)設(shè)備,例如總線橋542和I/O設(shè) 備543。經(jīng)由總線544,總線橋543可耦合到其他設(shè)備,例如鍵盤/鼠 標(biāo)545、參考圖3討論的網(wǎng)絡(luò)接口設(shè)備330(如可耦合到計(jì)算機(jī)網(wǎng)絡(luò)108 的調(diào)制解調(diào)器、網(wǎng)絡(luò)接口卡(NIC)等)、音頻I/0設(shè)備、和/或數(shù)據(jù)存儲 設(shè)備或接口 548。數(shù)據(jù)存儲設(shè)備548可存儲可由處理器502和/或504 執(zhí)行的代碼549。
在本發(fā)明的各種實(shí)施例中,本文例如參考圖l-5討論的操 作可實(shí)現(xiàn)為硬件(如邏輯電路)、軟件、固件或其組合,他們可^皮提供 為計(jì)算機(jī)程序產(chǎn)品,例如包括計(jì)算機(jī)可讀介質(zhì)或具有指令(或軟件過程) 存儲在其上的計(jì)算機(jī)可讀介質(zhì),所述指令用來對計(jì)算機(jī)進(jìn)行編程以執(zhí) 行本文討論的過程。計(jì)算機(jī)可讀介質(zhì)可包括例如關(guān)于圖l-5討論的任 何合適的存儲設(shè)備。
此外,這種計(jì)算機(jī)可讀媒體可作為計(jì)算機(jī)程序產(chǎn)品下載, 其中可通過在載波或其他傳播介質(zhì)中體現(xiàn)的數(shù)據(jù)信號方式經(jīng)由通信 鏈路(如調(diào)制解調(diào)器或網(wǎng)絡(luò)連接)將程序從遠(yuǎn)程計(jì)算機(jī)(如服務(wù)器)傳送 到請求計(jì)算機(jī)(如客戶機(jī))。因此,在本文中,載波應(yīng)當(dāng)視為包括計(jì)算 機(jī)可讀介質(zhì)。
在說明書中對"一個(gè)實(shí)施例"或"實(shí)施例"的引用意味著 結(jié)合該實(shí)施例描述的具體特征、結(jié)構(gòu)或特性可包括在至少一個(gè)實(shí)現(xiàn) 中。在說明書中,在各處出現(xiàn)的詞組"在一個(gè)實(shí)施例中"可以都指相 同的實(shí)施例或可以不都指相同的實(shí)施例。
而且,在說明書和權(quán)利要求書中,可使用術(shù)語"耦合,,和 "連接"及其派生詞。在本發(fā)明的一些實(shí)施例中,可使用"連4lr"來 表明兩個(gè)或兩個(gè)以上元件彼此直接物理或電接觸。"耦合"可意味著 兩個(gè)或兩個(gè)以上元件直接物理或電接觸。然而,"耦合"還可意味著 兩個(gè)或兩個(gè)以上元件彼此并不直接接觸,但是彼此仍然協(xié)作并交互。
因此,盡管按照對于結(jié)構(gòu)特征和/或方法動(dòng)作特定的語言描 述了本發(fā)明的實(shí)施例,但是應(yīng)當(dāng)理解,所要求保護(hù)的主題不受限于所 描述的特定特征或動(dòng)作。相反,特定的特征和動(dòng)作是按照實(shí)現(xiàn)所要求 主題的樣本形式公開的。
權(quán)利要求
1.一種裝置,包括耦合到共享高速緩存的第一存儲器訪問代理;耦合到所述共享高速緩存的第二存儲器訪問代理,第二存儲器訪問代理包括多個(gè)處理器核;以及所述共享高速緩存包括共享分區(qū),用來存儲在第一存儲器訪問代理和第二存儲器訪問代理之間共享的數(shù)據(jù);以及至少一個(gè)私有分區(qū),用來存儲由所述多個(gè)處理器核中的一個(gè)或多個(gè)處理器核訪問的數(shù)據(jù)。
2. 如權(quán)利要求l所述的裝置,還包括高速緩存控制器,用來 對于第一存儲器訪問代理的存儲器訪問請求,在所述共享高速緩存的第一分區(qū)上執(zhí)行第一組高速緩存策略;以及對于第二存儲器訪問代理的存儲器訪問請求,在所述共享高速緩 存的第一分區(qū)和笫二分區(qū)中的一個(gè)或多個(gè)分區(qū)上執(zhí)行第二組高速緩 存策略。
3. 如權(quán)利要求2所述的裝置,其中第一組高速緩存策略是第二 組高速緩存策略的子集。
4. 如權(quán)利要求1所述的裝置,其中笫一存儲器訪問代理或第二 存儲器訪問代理中的至少一個(gè)識別存儲器訪問請求涉及的所述共享 高速緩存中的分區(qū)。
5. 如權(quán)利要求1所述的裝置,其中笫一存儲器訪問代理或第二 存儲器訪問代理中的至少 一個(gè)識別應(yīng)用于涉及所述共享高速緩存的 存儲器事務(wù)的高速緩存策略。
6. 如權(quán)利要求1所述的裝置,其中所述多個(gè)處理器核中的一個(gè) 或多個(gè)處理器核在所述共享高速緩存的一個(gè)或多個(gè)私有分區(qū)中執(zhí)行 部分寫合并。
7. 如權(quán)利要求1所述的裝置,還包括比所述共享高速緩存低級 的 一個(gè)或多個(gè)高速緩存,其中所述一個(gè)或多個(gè)高速緩存蔬探涉及所述 共享分區(qū)的一個(gè)或多個(gè)存儲器事務(wù)。
8. 如權(quán)利要求1所述的裝置,其中所述共享高速緩存是2級高 速緩存、高于2級的高速緩存或最后一級高速緩存之一。
9. 如權(quán)利要求1所述的裝置,其中第一代理包括一個(gè)或多個(gè)處 理器。
10. 如權(quán)利要求9所述的裝置,其中所述一個(gè)或多個(gè)處理器中的 至少一個(gè)處理器包括1級高速纟爰存。
11. 如權(quán)利要求9所述的裝置,其中所述一個(gè)或多個(gè)處理器中的 至少一個(gè)處理器包括多級體系中的多個(gè)高速緩存。
12. 如權(quán)利要求l所述的裝置,其中所述多個(gè)處理器核中的一個(gè) 或多個(gè)處理器核包括1級高速緩存。
13. 如權(quán)利要求l所述的裝置,其中所述多個(gè)處理器核中的至少 一個(gè)處理器核包括多級體系中的多個(gè)高速緩存。
14. 如權(quán)利要求l所述的裝置,還包括至少一個(gè)私有分區(qū),用來 存儲由第 一存儲器訪問代理訪問的數(shù)據(jù)。
15. 如權(quán)利要求l所述的裝置,其中笫一代理包括至少一個(gè)處理 器,所述處理器包括多個(gè)處理器核。
16. 如權(quán)利要求l所述的裝置,其中所述多個(gè)處理器核在相同的 集成電路管芯上。
17. 如權(quán)利要求l所述的裝置,其中第一代理包括一個(gè)或多個(gè)處 理器核,并且第 一存儲器訪問代理與第二存儲器訪問代理在相同的集 成電路管芯上。
18. —種方法,包括在共享高速緩存的共享分區(qū)中存儲在第一存儲器訪問代理和第 二存儲器訪問代理之間共享的數(shù)據(jù),笫二存儲器訪問代理包括多個(gè)處 理器核;以及在所述共享高速緩存的至少一個(gè)私有分區(qū)中存儲由所述多個(gè)處 理器核中的一個(gè)或多個(gè)處理器核訪問的數(shù)據(jù)。
19. 如權(quán)利要求18所述的方法,還包括在所述共享分區(qū)的一個(gè)或多個(gè)私有分區(qū)中存儲由第 一存儲器訪問代理訪問的數(shù)據(jù)。
20. 如權(quán)利要求18所述的方法,還包括識別存儲器訪問請求涉及 的所述共享高速緩存中的高速緩存分區(qū)。
21. 如權(quán)利要求18所述的方法,還包括對于第一存儲器訪問代理的存儲器訪問請求,在所述共享高速緩 存的第一分區(qū)上執(zhí)行第一組高速緩存策略;以及對于第二存儲器訪問代理的存儲器訪問請求,在所述共享高速多爰存的第一分區(qū)或第二分區(qū)中的一個(gè)或多個(gè)分區(qū)上執(zhí)行第二組高速纟爰 存策略。
22. 如權(quán)利要求18所述的方法,還包括識別應(yīng)用于涉及所迷共享 高速緩存的存儲器事務(wù)的高速緩存策略。
23. 如權(quán)利要求18所述的方法,還包括在所述共享高速緩存的至 少 一個(gè)私有分區(qū)中執(zhí)行部分寫合并。
24. 如權(quán)利要求18所述的方法,還包括動(dòng)態(tài)或靜態(tài)地調(diào)整所述共 享高速緩存中的一個(gè)或多個(gè)分區(qū)的大小。
25. 如權(quán)利要求18所述的方法,還包括窺探涉及所述共享高速緩 存的所述共享分區(qū)的一個(gè)或多個(gè)存儲器事務(wù)。
26. —種業(yè)務(wù)管理"i殳備,包括 交換結(jié)構(gòu);以及用來處理經(jīng)由所述交換結(jié)構(gòu)傳遞的數(shù)據(jù)的裝置,包括高速緩存控制器,用來響應(yīng)于存儲器訪問請求而在共享高速 緩存的一個(gè)或多個(gè)共享分區(qū)和一個(gè)或多個(gè)私有分區(qū)中的一個(gè)分區(qū)中 存儲所述數(shù)據(jù);第一存儲器訪問代理和第二存儲器訪問代理,用來發(fā)送所述 存儲器訪問請求,第二存儲器訪問代理包括多個(gè)處理器核;所述一個(gè)或多個(gè)共享分區(qū)中的至少一個(gè)共享分區(qū),用來存卡者在第 一存儲器訪問代理和第二存儲器訪問代理之間共享的數(shù)據(jù);以及 所述一個(gè)或多個(gè)私有分區(qū)中的至少一個(gè)私有分區(qū),用來存卡者 由所述多個(gè)處理器核中的一個(gè)或多個(gè)處理器核訪問的數(shù)椐。
27. 如權(quán)利要求26所述的業(yè)務(wù)管理設(shè)備,其中所述交換結(jié)構(gòu)遵 照公共交換接口 (CSIX)、高級交換互連(ASI) 、 HyperTransport 、 Infiniband、外圍設(shè)備互連(PCI)、PCI Express(PCI-e)、以太網(wǎng)、SONET(同 步光網(wǎng)絡(luò))上的分組、或用于ATM的通用測試及操作PHY(物理)接口 (UTOPIA)中的一個(gè)或多個(gè)。
28. 如權(quán)利要求26所述的業(yè)務(wù)管理設(shè)備,其中所述高速緩存控 制器對于第一存儲器訪問代理的存儲器訪問請求,在所述共享高速緩 存的第一分區(qū)上執(zhí)行第一組高速緩存策略;以及對于第二存儲器訪問代理的存儲器訪問請求,在所述共享高速》爰 存的第一分區(qū)和第二分區(qū)中的 一個(gè)或多個(gè)分區(qū)上執(zhí)行第二組高速緩 存策略。
29. 如權(quán)利要求26所述的業(yè)務(wù)管理設(shè)備,其中第一存儲器訪問 代理包括至少一個(gè)處理器,所述處理器含有多個(gè)處理器核。
30. 如權(quán)利要求26所述的業(yè)務(wù)管理設(shè)備,還包括至少一個(gè)私有 分區(qū),用來存儲由第一存儲器訪問代理訪問的數(shù)據(jù)。
全文摘要
本文討論的一些實(shí)施例可在各種計(jì)算環(huán)境中利用共享高速緩存內(nèi)的分區(qū)。在一個(gè)實(shí)施例中,在兩種存儲器訪問代理之間共享的數(shù)據(jù)可存儲在共享高速緩存的共享分區(qū)中。另外,由存儲器訪問代理之一訪問的數(shù)據(jù)可存儲在共享高速緩存的一個(gè)或多個(gè)私有分區(qū)中。
文檔編號G06F12/08GK101331465SQ200680047731
公開日2008年12月24日 申請日期2006年12月7日 優(yōu)先權(quán)日2005年12月21日
發(fā)明者C·納拉 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
阿坝| 寻乌县| 调兵山市| 晋中市| 偏关县| 建宁县| 治多县| 岱山县| 英德市| 千阳县| 怀仁县| 浑源县| 克山县| 河南省| 洞头县| 瑞金市| 伽师县| 比如县| 武冈市| 南城县| 汾西县| 东平县| 仁寿县| 集安市| 和田县| 封丘县| 白水县| 江华| 永胜县| 辽阳市| 郓城县| 临沂市| 上杭县| 英山县| 广汉市| 阳春市| 张家港市| 永嘉县| 惠东县| 利川市| 北京市|