專利名稱:多內(nèi)核處理器中共享的高速緩存存儲器及方法
技術領域:
本發(fā)明總體上涉及多內(nèi)核處理器(MCP)。更具體地說,本發(fā)明涉及MCP中的低產(chǎn)率 (yield)或壞的(dead)高速緩存存儲器單元的旁通(bypassing)。
背景技術:
具有分級(hierarchical)體系結構(architecture)的多內(nèi)核處理器(MCP)是當 今技術的數(shù)字系統(tǒng)的趨勢。典型地,用尺度積極進展的納米CMOS技術實現(xiàn)MCP,以具有高的 器件密度和多內(nèi)核設計。另一方面,由納米CMOS制造中的工藝變化和缺陷引起產(chǎn)率降低。 對于分級體系結構,局部故障對樹形分級體系(hierarchy)和體系結構中的部件造成廣泛 的損害。因此,對于提高產(chǎn)品產(chǎn)率以及增加可靠性來說,用以搶救利用(salvage)可工作的 部件塊的系統(tǒng)設計和操作方法是必要的。
發(fā)明內(nèi)容
本發(fā)明描述了用于多內(nèi)核處理器的設備、計算機體系結構、存儲器結構、存儲器控 制以及高速緩存存儲器操作方法。當面臨直接的具有低產(chǎn)率或致命性能的高速緩存存儲器 單元時,邏輯內(nèi)核共享請求。該內(nèi)核掛載(mount)可能已經(jīng)被其他邏輯內(nèi)核使用的高速緩 存單元或多個該高速緩存單元。所選擇的高速緩存存儲器單元以相同內(nèi)容服務多個邏輯內(nèi) 核。該共享的高速緩存存儲器單元或多個高速緩存存儲器單元以高速緩存搜索(search)、 命中、未中以及回寫(write back)功能服務所有掛載內(nèi)核。該方法通過共享可能已經(jīng)忙于 其他邏輯內(nèi)核的高速緩存存儲器塊,恢復其高速緩存存儲器塊不可工作的邏輯內(nèi)核。該方 法用來提高剩余系統(tǒng)的可靠性和性能。 本發(fā)明的第一方面提供一種共享的高速緩存存儲器系統(tǒng),包括掛載在總線上的 第一存儲器單元;耦合到第一存儲器單元的第一高速緩存管理器;以及掛載在總線上的第 二存儲器單元,該第一高速緩存管理器可操作用于接收請求,以及將該請求共享給第二存
4儲器單元。 本發(fā)明的第二方面提供一種共享的高速緩存存儲器系統(tǒng),包括掛載在總線上的 第一高速緩存存儲器單元;耦合到第一高速緩存存儲器單元的輸入和輸出的第一高速緩存 管理器;耦合到第一高速緩存管理器的第一組子高速緩存存儲器單元;掛載在總線上的第 二高速緩存存儲器單元;耦合到第二高速緩存存儲器單元的輸入和輸出的第二高速緩存管 理器;以及耦合到第二高速緩存管理器的第二組子高速緩存存儲器單元,第一高速緩存管 理器和第二高速緩存管理器每個可操作用于接收請求,與不同的高速緩存存儲器單元共 享該請求。 本發(fā)明的第三方面提供一種高速緩存存儲器共享方法,包括在高速緩存管理器 上接收第一請求,該第一高速緩存管理器被耦合到第一存儲器單元,該第一存儲器單元被 耦合到總線;通過發(fā)送該請求到第二高速緩存管理器,與第二存儲器單元共享該請求,該第 二高速緩存管理器被耦合到第二存儲器單元,該第二存儲器單元被耦合到總線。
從下面結合附圖對本發(fā)明的各個方面的詳細描述,將更容易地理解本發(fā)明的這些 及其他特點,在附圖中 圖1描繪了根據(jù)本發(fā)明的共享的高速緩存存儲器系統(tǒng)對常規(guī)方法的比較。
圖2描繪了根據(jù)本發(fā)明的高速緩存存儲旁通系統(tǒng)。 圖3描繪了根據(jù)本發(fā)明一個例子的涉及使用圖1的高速緩存存儲器旁通系統(tǒng)來處 理請求的事件的進程。 應當理解,附圖不必按比例。附圖僅僅是示意性表示,并不意圖用于描繪本發(fā)明的 具體參數(shù)。附圖僅僅用來描繪本發(fā)明的典型實施例,因此不應被認為是限制本發(fā)明的范圍。 在圖中,相同的編號表示相同的元件。
具體實施例方式
為了方便起見,本發(fā)明的具體實施方式
具有以下部分
I. —般描述
II.說明性例子
I. —般描述 如上面所指出的,本公開描述了用于多內(nèi)核處理器的設備、計算機體系結構、存儲 器結構、存儲器控制以及高速緩存存儲操作方法。具體地,根據(jù)本發(fā)明,使用一組高速緩存 管理器,將可用的片上存儲器耦合到另一邏輯內(nèi)核或存儲器(例如,高速緩存)單元。具體 地,每個高速緩存管理器被耦合到高速緩存存儲器單元的輸入和輸出。這允許被分配的存 儲器變?yōu)橄嗤瑢蛹壍母咚倬彺娴臄U展、下一層級的高速緩存存儲器、或存儲器緩存器。這還 允許恢復其邏輯內(nèi)核不可工作的存儲器塊,并用來提高系統(tǒng)的高速緩存存儲器性能。應預 先理解,這里的教導典型地應用于多內(nèi)核處理器(MCP),但是不必限于這種情況。此外,應理 解,盡管本公開討論了存儲器單元作為(虛擬的)高速緩存存儲器單元或子高速緩存存儲 器單元,但是這僅僅是可以實現(xiàn)在此敘述的教導中的方式的一個例子。因而,應當理解,這 些教導可以結合現(xiàn)在已知的或后來開發(fā)的任意類型的存儲器來實現(xiàn)。
5
具有分級體系結構的多內(nèi)核處理器(MCP)是當今技術的數(shù)字系統(tǒng)的趨勢。這些實 現(xiàn)方式典型地利用尺度積極進展的納米CMOS技術來實現(xiàn),以具有高的器件密度和多內(nèi)核 設計。另一方面,由納米CMOS制造中的工藝變化和缺陷引起產(chǎn)率降低。對于分級體系結構, 局部故障對樹形分級體系和體系結構中的部件造成廣泛的損害。本發(fā)明提高MCP的產(chǎn)率和 可靠性。本設計包括體系結構、存儲器結構、存儲器控制以及高速緩存存儲器操作方法。
當今技術的數(shù)字系統(tǒng)采用多內(nèi)核處理器體系結構。為了有效操作和計算管理 以及設計可放縮性,它們被分級地布置。由于它們假定分級體系中的所有部件是完好的 (sound),因此一個輕微的故障將引起該樹形體系結構中的其余部件的災難性故障。本發(fā)明 針對其中存儲器塊是原樣完好的(intact),但是在制造、老化及其他原因的過程中邏輯部 件被損壞的情況。在常規(guī)設計中,該分級體系和樹中的所有部件被拋棄,這導致MCP產(chǎn)品中 的非常昂貴的損失。本發(fā)明提出通過將該存儲器掛載到其他功能塊,如數(shù)字邏輯內(nèi)核或其 他存儲器塊,來再使用可工作的存儲器塊。此外,所掛載的高速緩存存儲器單元的再使用提 高了芯片性能和對制造缺陷的適應力(resilience)。該方法可以被應用于許多不同層級的 片上高速緩存存儲器。 圖1描繪了根據(jù)本發(fā)明的共享的高速緩存存儲器系統(tǒng)對常規(guī)方法的比較。根據(jù)常 規(guī)方法,當M^壞掉或產(chǎn)生低產(chǎn)率時,由于M^的故障,所有子處理元件被拋棄。反之,根據(jù)本 發(fā)明,當iV壞掉或產(chǎn)生低產(chǎn)率時,M^被旁通,同時允許其子處理元件保持起作用。在旁通 M^中,入站(inbound)請求將經(jīng)由如下所述的高速緩存管理器被重定向到MA2MB2。
現(xiàn)在參考圖2,示出了根據(jù)本發(fā)明的共享的高速緩存存儲器系統(tǒng)10。如圖所示,系 統(tǒng)10包括主控制器12、總線14、耦合到總線14的高速緩存存儲器單元16A-N的組(至少 一個)、耦合到高速緩存存儲器單元16A-N的組的子高速緩存存儲器單元20A-N的組(至少 一個),以及耦合到子高速緩存存儲器單元20A-N的子處理元件22A-N的組(至少一個)。 圖1還示出了高速緩存管理器18A-N的組。如圖所示,每個高速緩存管理器18A-N被耦合 到一個高速緩存存儲器單元16A-N的輸入24A-N和輸出26A-N。 高速緩存管理器18A-N促進(foster)圖1的部件之間的通信。通過使用高速緩 存管理器,高速緩存存儲器單元16A-N都可以與邏輯內(nèi)核隔離。在高速緩存存儲器單元16A 中,有故障的存儲器被隔離。在高速緩存存儲器單元16N中,利用高速緩存管理器可以在 不同的邏輯內(nèi)核之間共享存儲器。這種通信的一種類型是存儲器請求。當一個存儲器單 元"未中"或不能滿足該請求時,這種類型可以是特別有用的,另一存儲器單元(垂直地在 該分級體系內(nèi)或相鄰的)可以被如此請求。通過發(fā)現(xiàn)MCP中的壞的邏輯和好的(live)存 儲器,執(zhí)行高速緩存存儲掛載操作。任何具有壞的邏輯內(nèi)核的好的存儲器塊可以專用于另 一存儲器或邏輯內(nèi)核,作為高速緩存或存儲器緩存器。這無須是一對一關系。在頂級(top hierarchy)的主控制器通過對存儲器和內(nèi)核執(zhí)行診斷來管理掛載處理。高速緩存管理器接 收來自主控制器的(1)正常高速緩存、(2)掛載、或(3)被掛載指令。主控制器12通過總 線14與高速緩存管理器18A-N通信。高速緩存管理器18A-N記憶它們的狀態(tài),并執(zhí)行下列 的高速緩存操作步驟包裹(wrapping)高速緩存存儲器單元輸入和輸出;配置高速緩存存 儲器單元旁通;配置高速緩存掛載信息;以及布置高速緩存輸入和輸出以用于共享。
II.說明性例子 圖2示出了對于該例子的事件的進程。在該例子中,假定高速緩存存儲器單元16A是不可工作的。在步驟1中,子處理元件22A發(fā)送請求到子高速緩存存儲器單元20A以求 得存儲器內(nèi)容。子高速緩存存儲器單元20A不能實現(xiàn)該請求(即,高速緩存未中)。然后子 高速緩存存儲器單元20A產(chǎn)生請求(例如,有意于高速緩存存儲器單元16A):高速緩存管 理器18A重定向到高速緩存存儲器單元16N,完全地旁通高速緩存存儲器單元16A。在步驟 2中,高速緩存管理器18A經(jīng)由總線14執(zhí)行該旁通/重定向。在步驟3中,接收器側的高 速緩存管理器18N將進入的請求重定向到高速緩存存儲器單元16N的輸入。在步驟4中, 高速緩存存儲器單元16N下的子處理元件22N還進行搜索,以試圖實現(xiàn)該請求,在高速緩存 未中的情況下,接著進行高速緩存存儲器單元16N'的搜索。高速緩存管理器18N布置來自 MO和Ml的進入的高速緩存請求。在步驟5中,結果被返回到高速緩存管理器18N。在步驟 6中,響應被發(fā)送回高速緩存管理器18N。如果存在命中,該處理可以結束。如果未命中,在 步驟7中,可以經(jīng)由高速緩存管理器18N發(fā)布請求到第三高速緩存存儲器單元(未示出)。 這種請求將由高速緩存存儲器單元的高速緩存管理器接收。如果接收的高速緩存存儲器單 元壞掉或產(chǎn)生低產(chǎn)率,可以以類似于步驟2的方式重定向該請求。 為了圖示和描述給出本發(fā)明的各個方面的上述描述。其意圖不是窮舉或將本發(fā)明 限制于所公開的精確形式,并且顯然,許多修改和改變是可能的。意圖將對于所屬領域的技 術人員顯而易見的這些修改和改變包括在由所附權利要求定義的本發(fā)明的范圍內(nèi)。
權利要求
一種共享的高速緩存存儲器系統(tǒng),包括掛載在總線上的第一存儲器單元;耦合到第一存儲器單元的第一高速緩存管理器;以及掛載在總線上的第二存儲器單元,該第一高速緩存管理器可操作用于接收請求,以及將該請求共享到第二存儲器單元。
2. 權利要求l的共享的高速緩存存儲器系統(tǒng),該第一存儲器單元和第二存儲器單元包 括虛擬化的高速緩存存儲器單元。
3. 權利要求l的共享的高速緩存存儲器系統(tǒng),還包括耦合到第二存儲器單元的第二高 速緩存管理器,該第二高速緩存管理器可操用于接收來自第一高速緩存管理器的請求以及 發(fā)送該請求到第二存儲器單元。
4. 權利要求3的共享的高速緩存存儲器系統(tǒng),該第二高速緩存管理器還可操作用于 接收附加的請求,并將所述附加的請求共享到以下中的至少一個第一存儲器單元;或第 三存儲器單元。
5. 權利要求3的共享的高速緩存存儲器系統(tǒng),還包括 耦合到第一高速緩存管理器的第一組子存儲器單元;以及 耦合到第一組子存儲器單元的第一組子處理元件。
6. 權利要求5的共享高速緩存存儲器系統(tǒng),還包括 耦合到第二高速緩存管理器的第二組子存儲器單元;以及 耦合到第二組子存儲器單元的第二組子處理元件。
7. 權利要求l的共享的高速緩存存儲器系統(tǒng),該總線被耦合到主控制器。
8. 權利要求1的共享的高速緩存存儲器系統(tǒng),當?shù)谝淮鎯ζ鲉卧且韵虑樾沃械闹辽?一種時,第一高速緩存管理器共享所述請求顯示出低于預定閾值的產(chǎn)率;或不可工作。
9. 權利要求1的共享的高速緩存存儲器系統(tǒng),第一掛載單元被耦合到第一存儲器單元 的輸入和輸出。
10. —種共享的高速緩存存儲器系統(tǒng),包括 掛載在總線上的第一高速緩存存儲器單元;耦合到第一高速緩存存儲器單元的輸入和輸出的第一高速緩存管理器; 耦合到第一高速緩存管理器的第一組子高速緩存存儲器單元; 掛載在總線上的第二高速緩存存儲器單元;耦合到第二高速緩存存儲器單元的輸入和輸出的第二高速緩存管理器;以及 耦合到第二高速緩存管理器的第二組子高速緩存存儲器單元,第一高速緩存管理器和第二高速緩存管理器每個可操作用于接收請求,與不同的高速緩存存儲器單元共享該請求。
11. 權利要求10的共享的高速緩存存儲器系統(tǒng),還包括耦合到第一組子高速緩存存儲 器單元的第一組子處理元件。
12. 權利要求10的共享的高速緩存存儲器系統(tǒng),還包括耦合到第二組子高速緩存存儲 器單元的第二組子處理元件。
13. 權利要求10的共享的高速緩存存儲器系統(tǒng),該總線被耦合到主控制器。
14. 一種高速緩存存儲器共享方法,包括在高速緩存管理器上接收第一請求,該第一高速緩存管理器被耦合到第一存儲器單 元,第一存儲器單元被耦合到總線;以及通過發(fā)送該請求到第二高速緩存管理器來與第二存儲器單元共享該請求,第二高速緩 存管理器被耦合到第二存儲器單元,第二存儲器單元被耦合到所述總線。
15. 權利要求14的高速緩存存儲器共享方法,從耦合到第一存儲器單元的第一組子存 儲器單元接收該第一請求。
16. 權利要求14的高速緩存存儲共享方法,還包括 在第二高速緩存管理器上接收第二請求;以及通過發(fā)送來自第二高速緩存管理器的第二請求到以下中的至少一個來共享該第二請 求第一高速緩存管理器;或第三高速緩存管理器。
17. 權利要求15的高速緩存存儲共享方法,從耦合到第二存儲器單元的第二組子存儲 器單元接收該第二請求。
18. 權利要求17的高速緩存存儲共享方法,第一存儲器單元、第一組子存儲器單元、第 二存儲器單元以及第二組子存儲器單元是高速緩存存儲器單元。
19. 權利要求14的高速緩存存儲共享方法,還包括發(fā)送對來自第二存儲器單元的第一 請求的響應到該請求的發(fā)起方。
20. 權利要求19的高速緩存存儲共享方法,經(jīng)由第二高速緩存管理器發(fā)送該響應。
全文摘要
本發(fā)明描述了一種用于多內(nèi)核處理器的設備、計算機體系結構、存儲器結構、存儲器控制以及高速緩存存儲器操作方法。當面臨直接的具有低產(chǎn)率或致命性能的高速緩存存儲器單元時,邏輯內(nèi)核共享請求。該內(nèi)核掛載可能已經(jīng)被其他邏輯內(nèi)核使用的高速緩存單元或多個高速緩存單元。所選的高速緩存存儲器單元以相同內(nèi)容服務多個邏輯內(nèi)核。該共享的高速緩存存儲器單元以高速緩存搜索、命中、未中以及回寫功能服務所有的掛載的內(nèi)核。該方法通過共享可能已經(jīng)忙于其他邏輯內(nèi)核的高速緩存存儲器塊,恢復其高速緩存存儲器塊不可工作的邏輯內(nèi)核。該方法被用來提高剩余系統(tǒng)的可靠性和性能。
文檔編號G06F12/08GK101739356SQ20091022201
公開日2010年6月16日 申請日期2009年11月13日 優(yōu)先權日2008年11月21日
發(fā)明者K·J·杜瓦爾桑特, 金大益, 金文柱 申請人:國際商業(yè)機器公司