專利名稱:偽高速緩沖存儲器系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及多核處理器(MCP)。具體而言,本發(fā)明涉及MCP中偽高速緩沖存 儲器單元的指定。
背景技術(shù):
具有層級架構(gòu)的多核處理器(MCP)是尖端數(shù)字系統(tǒng)的發(fā)展趨勢。典型地,MCP用 極度縮放的納米CMOS技術(shù)來實現(xiàn),以具有高的器件密度和多核設(shè)計。另一方面,產(chǎn)率故障 由過程的可變性和納米CMOS制造中的缺陷所造成。利用層級架構(gòu),部分故障對樹形層級和 架構(gòu)中的部件造成延伸破壞。因此,用以拯救操作部件塊的系統(tǒng)設(shè)計和操作方法對于提高 產(chǎn)率以及增加可靠性都是至關(guān)重要的。
發(fā)明內(nèi)容
本發(fā)明描述了一種用于多核處理器的裝置、計算機(jī)架構(gòu)、存儲器結(jié)構(gòu)、存儲器控制 和高速緩沖存儲器操作方法。具體而言,在本發(fā)明中,可以將高速緩沖存儲器單元指定為用 于共同層級之內(nèi)的另一高速緩沖存儲器單元的偽高速緩沖存儲器單元。例如,在層級的高 速緩存級L2上的高速緩沖存儲器單元"X"處出現(xiàn)高速緩存不命中的情況下,向高速緩存級 L3 (外部)上的高速緩沖存儲器單元以及高速緩存級L2上的一個或多個其它高速緩沖存儲 器單元發(fā)送請求。L2級高速緩沖存儲器單元將命中或不命中作為搜索結(jié)果返回。它們通 常并不搜索L3,甚至也不將L3結(jié)果寫回(例如,如果結(jié)果是不命中)。就此來說,如果所有 的L2不命中,僅僅將該請求的直接源頭與L3結(jié)果一起寫回。如此,其它L2級高速緩沖存 儲器單元將原始的L2高速緩沖存儲器單元作為偽高速緩存來服務(wù)。這個功能通過高速緩 存管理器來啟動,所述高速緩存管理器遮蔽L2高速緩存的輸出和輸入。該方法提高片上高 速緩存的命中率,高速緩沖存儲器效率以及計算性能。 本發(fā)明的第一方面提供一種偽存儲器系統(tǒng),包括第一存儲器單元,裝配于總線 上;第一管理器,耦合至所述第一存儲器單元;以及第二存儲器單元,裝配于所述總線上, 所述第二存儲器單元與所述第一存儲器單元位于共同層級上,所述第一高速緩存管理器被 配置用于接收請求,將所述請求發(fā)送給所述第二存儲器單元,并指定所述第二存儲器單元 作為用于所述第一存儲器單元的偽存儲器單元。 本發(fā)明第二方面提供一種偽存儲器系統(tǒng),包括偽高速緩沖存儲器系統(tǒng),其包括第 一高速緩沖存儲器單元,耦合至總線;第一高速緩存管理器,耦合至所述第一高速緩沖存儲 器單元的輸入和輸出;第一組子高速緩沖存儲器單元,耦合至所述第一高速緩存管理器; 第二高速緩沖存儲器單元,耦合至所述總線,所述第二高速緩沖存儲器單元與所述第一高 速緩沖存儲器單元位于共同層級上;第二高速緩存管理器,耦合至所述第二高速緩沖存儲 器單元的輸入和輸出;以及第二組子高速緩沖存儲器單元,耦合至所述第二高速緩存管理 器,所述第一高速緩存管理器可操作用于接收請求,指定所述第二高速緩沖存儲器單元作 為所述第一高速緩沖存儲器單元的偽高速緩沖存儲器單元,并將所述請求發(fā)送給所述偽高速緩沖存儲器單元。 本發(fā)明的第三方面提供一種偽存儲器系統(tǒng),包括一種偽高速緩沖存儲器方法,其 包括在第一高速緩存管理器上接收請求,所述第一高速緩存管理器耦合至第一高速緩沖 存儲器單元,所述第一高速緩沖存儲器單元耦合至總線;指定第二高速緩沖存儲器單元作 為所述第一高速緩沖存儲器單元的偽高速緩沖存儲器單元,所述第二高速緩存管理器也耦 合至總線;以及,將所述請求發(fā)送給所述偽高速緩沖存儲器單元。
通過以下參照附圖對本發(fā)明各個方面的詳細(xì)描述,本發(fā)明的上述和其他特征將得 到更好的理解 圖1描繪根據(jù)本發(fā)明的偽高速緩沖存儲器系統(tǒng)的對比。 圖2-3描繪根據(jù)本發(fā)明的一個實例,使用圖1的偽高速緩沖存儲器系統(tǒng)處理請求 中所涉及的事件的進(jìn)展。 應(yīng)該理解,附圖并不必然按照比例繪制。附圖僅僅是示意性表示,并不意圖刻畫發(fā) 明的具體參數(shù)。附圖旨在僅描繪本發(fā)明的典型實施例,因此不應(yīng)考慮作為對本發(fā)明范圍的 限制。在附圖中,相同的標(biāo)號表示相同的元素。
具體實施例方式為了方便起見,具體實施方式
包含下面的部分 I.概述 II.說明性示例 I.概述 如上所述,本發(fā)明描述了一種用于多核處理器的裝置、計算機(jī)架構(gòu)、存儲器結(jié)構(gòu)、 存儲器控制和高速緩沖存儲器操作方法。具體而言,在本發(fā)明中,可以將高速緩沖存儲器單 元指定為用于共同層級之內(nèi)的另一高速緩沖存儲器單元的偽高速緩沖存儲器單元。例如, 在層級的高速緩存級L2上的高速緩沖存儲器單元"X"處出現(xiàn)高速緩存不命中的情況下,向 高速緩存級L3 (外部)上的高速緩沖存儲器單元以及高速緩存級L2上的一個或多個其它 高速緩沖存儲器單元發(fā)送請求。L2級高速緩沖存儲器單元將命中或不命中作為搜索結(jié)果返 回。它們通常并不搜索L3,甚至也不將L3結(jié)果寫回(例如,如果結(jié)果是不命中)。就此來 說,如果所有的L2不命中,僅僅將該請求的直接源頭與L3結(jié)果一起寫回。如此,其它L2級 高速緩沖存儲器單元將原始的L2高速緩沖存儲器單元作為偽高速緩存來服務(wù)。這個功能 通過高速緩存管理器來啟動,所述高速緩存管理器遮蔽L2高速緩存的輸出和輸入。該方法 提高片上高速緩存的命中率,高速緩沖存儲器效率以及計算性能。 應(yīng)該預(yù)先理解,本文的教導(dǎo)典型地適用于多核處理器(MCP),盡管并不必須如此。 此外,應(yīng)該理解,盡管本公開文本討論了存儲器單元作為(虛擬)高速緩存和子高速緩沖存 儲器單元,但是這僅僅是本文記載的教導(dǎo)所能實施的方式的示例。因此,應(yīng)該理解,這些教 導(dǎo)可以結(jié)合任意類型的現(xiàn)在公知的或以后開發(fā)的存儲器來實施。 尖端數(shù)字系統(tǒng)采用多核處理器架構(gòu)。它們被分層級安排用于進(jìn)行有效操作、計算 管理和設(shè)計的可擴(kuò)展性。由于它們假定層級中所有組件都是健全的,因此一個微小的故障
5會導(dǎo)致對樹形架構(gòu)中剩余組件的災(zāi)難性故障。本發(fā)明致力于這樣的情況,即,存儲器塊完好 無損,而邏輯組件在制造、老化過程中,或因為其他原因受損。在傳統(tǒng)設(shè)計中,層級和樹形中 所有組件被廢棄,這導(dǎo)致MCP產(chǎn)品中非常昂貴的損失。本發(fā)明提出,通過將存儲器裝配到諸 如數(shù)字邏輯核心或其它存儲器塊之類的其它功能塊而重新使用操作的存儲器塊。此外,對 裝配的高速緩沖存儲器單元的重新使用提高了芯片性能和對制造缺陷的恢復(fù)力。該方法可 以適用于片上高速緩沖存儲器的許多不同級。 高速緩沖存儲器單元基于地址索引和標(biāo)簽存儲數(shù)據(jù)。當(dāng)邏輯核心要求存儲器地址 處的特定數(shù)據(jù)集時,它向第一級高速緩沖存儲器單元(例如,L1高速緩存)發(fā)送請求,來查 看它是否具有該內(nèi)容。如果L1高速緩沖存儲器單元不命中,邏輯核心推遲當(dāng)前指令的執(zhí) 行,以等待數(shù)據(jù)。因此高速緩存單元不命中造成微處理器性能的顯著損失。 一旦L1高速緩 沖存儲器單元不命中,向下一級高速緩存(L2)請求內(nèi)容,如此等等。高速緩存響應(yīng)時間隨 著其沿高速緩存級的移動而指數(shù)增加。如果請求結(jié)果返回為命中,那么高速緩沖存儲器單 元將把該新內(nèi)容寫入自身,并將數(shù)據(jù)返回到邏輯核心(在Ll的情況下),或更低級的高速緩 沖存儲器單元(對于L2的L1,對于L3的L2)。由于隨著高速緩存不命中而指數(shù)增加的時 間損失,高速緩存設(shè)計(大小和算法)對于高性能MCP設(shè)計變得至關(guān)重要。
利用MCP架構(gòu),存在多個邏輯核心,同一級中的高速緩沖存儲器單元來支持分配 的邏輯核心。如上所述,高速緩沖存儲器單元不命中導(dǎo)致產(chǎn)生下一級高速緩存搜索請求。當(dāng) 存在小數(shù)目的核心和高速緩沖存儲器單元時,將這作為一種策略來使用。在MCP中,盡管高 速緩存未命中請求,但是多個同一級的高速緩沖存儲器單元都可能具有所請求的內(nèi)容。此 外,同一級高速緩沖存儲器單元的響應(yīng)時間通常比下一級高速緩存快得多。例如,如果L2 高速緩沖存儲器單元未命中一個請求,那么芯片中其它L2高速緩沖存儲器單元可以比芯 片外的L3高速緩沖存儲器單元快得多地做出響應(yīng)。考慮外部L3高速緩沖存儲器單元內(nèi)容 是基于芯片中L2,那么有很大的可能性如果L3具有請求的內(nèi)容則其它L2可能也具有該請 求內(nèi)容。 因此,本發(fā)明提出MCP中的偽高速緩存。在此方案中,與另一高速緩沖存儲器單元 共享共同層級的高速緩沖存儲器單元有資格成為請求發(fā)起高速緩沖存儲器單元的偽高速 緩沖存儲器單元。偽高速緩沖存儲器單元(例如,L2)對于命中或者不命中都比層級之外 的高速緩沖存儲器單元(例如,L3)響應(yīng)快得多。在命中的情況下,發(fā)起高速緩沖存儲器單 元寫回命中結(jié)果,忽略L3返回。如果所有的偽高速緩沖存儲器單元都未命中,那么發(fā)起高 速緩沖存儲器單元等候L3高速緩沖存儲器的結(jié)果。所有其它的偽高速緩沖存儲器單元參 與搜索和命中/不命中,但是在不命中的情況下它們并不寫回(正是使其成為偽高速緩沖 存儲器單元的一部分)。偽高速緩沖存儲器單元提高M(jìn)CP中的高速緩存命中率,因此同樣多 地提高計算性能。 現(xiàn)在參照圖I,示出了根據(jù)本發(fā)明的偽高速緩沖存儲器系統(tǒng)IO。如圖描繪,系統(tǒng)IO 包括主控制器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促進(jìn)圖1的組件之間的通信。通過使用高速緩存管理器,兩 個高速緩沖存儲器單元16A-N都可以從邏輯核心隔離。在高速緩沖存儲器單元16A中,將 故障存儲器隔離。在高速緩沖存儲器單元16N中,可以利用高速緩存管理器在不同邏輯核 心之間共享存儲器。這種通信的一種類型是存儲器請求。這在下面的情況下尤其有用,即, 當(dāng)一個存儲器單元"不命中"或者不能滿足請求時,可以這樣請求另一個存儲器單元(層級 中豎直地或者相鄰)。通過尋找MCP中壞死的邏輯和活動的存儲器,完成高速緩沖存儲器裝 配操作。任何具有壞死邏輯核心的活動存儲器塊都可以專用于另一存儲器或邏輯核心,作 為高速緩存或存儲器緩沖器。其并不必具有一對一的關(guān)系。處于頂部層級的主控制器通過 對存儲器和核心進(jìn)行診斷來管理裝配過程。高速緩存管理器從主控制器接收(1)正常高速 緩存,(2)裝配,或(3)被裝配指令。主控制器12通過總線14與高速緩存管理器18A-N通 信。 因此,高速緩存管理器作用為高速緩沖存儲器單元周圍的遮蔽器,并使得能夠啟 用所提出的高速緩存操作。具體而言,高速緩存管理器配置與層級中同一級的其它高速緩 沖存儲器單元的關(guān)系。然而,應(yīng)該理解,并不是所有的同一級高速緩存都必須成為原始高速 緩存的偽高速緩存。如果在高速緩存級處(例如,L2)發(fā)生不命中,高速緩存管理器發(fā)出L3 搜索請求。同樣的請求還被復(fù)制給偽高速緩沖存儲器單元,該偽高速緩沖存儲器單元駐留 在與原始接收到該請求的高速緩沖存儲器單元同樣的層級上。偽高速緩沖存儲器單元處的 高速緩存管理器將偽高速緩存操作與正常高速緩存操作區(qū)分開。如此,搜索,命中和不命中 是相同的,但是結(jié)果被返回給原始高速緩存。同樣,即使搜索是不命中的,偽操作并不進(jìn)一 步到L3進(jìn)行搜索。也就是,僅有發(fā)起L2高速緩沖存儲器單元保持對于原始高速緩存請求 的L3通信。 II.說明性示例 圖2和3示出用于這種示例的事件進(jìn)展。在步驟1,高速緩沖存儲器單元16A從子 高速緩沖存儲器單元20A接收高速緩存請求。在步驟2,高速緩沖存儲器單元16A將其結(jié)果 返回給子高速緩沖存儲器單元20A(命中或不命中)。在步驟3和4,在高速緩沖存儲器單 元16A不命中的情況下,將偽高速緩存請求發(fā)送給高速緩沖存儲器單元16N,并將額外請求 發(fā)送給L3高速緩沖存儲器單元(未示出)。偽高速緩沖存儲器單元請求使得高速緩沖存儲 器單元16N被指定為高速緩沖存儲器單元16A的偽高速緩沖存儲器單元。在步驟5,高速緩 存管理器18N將偽高速緩存請求區(qū)別于正常高速緩存請求進(jìn)行管理。具體而言,使偽高速 緩沖存儲器請求排隊等待對高速緩沖存儲器單元16N的搜索。在步驟中,(偽)高速緩沖 存儲器單元16N返回其結(jié)果(命中/不命中)。由于它作用為偽高速緩沖存儲器單元,即使 結(jié)果是不命中,高速緩沖存儲器單元16N也不再執(zhí)行進(jìn)一步的操作(下一級搜索和寫回,等 等)。在最后步驟中,高速緩沖存儲器單元16A安排偽高速緩存結(jié)果和L3結(jié)果。如果在偽 高速緩沖存儲器單元結(jié)果中存在命中,那么就忽略L3結(jié)果。如果偽高速緩沖存儲器單元中 沒有命中,高速緩沖存儲器單元16A等待L3結(jié)果以執(zhí)行正常的高速緩存操作(命中/不命 中/寫回)。 出于說明和描述的目的,給出了對本發(fā)明各個方面的前述描述。這些描述并不意圖 枚舉,或者將本發(fā)明限制為公開的具體形式,明顯地,可能會有許多改進(jìn)和變體。旨在將那些 本領(lǐng)域技術(shù)人員顯而易見的改進(jìn)和變體包括在如權(quán)利要求所限定的本發(fā)明的范圍之內(nèi)。
權(quán)利要求
一種偽存儲器系統(tǒng),包括第一存儲器單元,裝配于總線上;第一管理器,耦合至所述第一存儲器單元;以及第二存儲器單元,裝配于所述總線上,所述第二存儲器單元與所述第一存儲器單元位于共同層級上,所述第一高速緩存管理器被配置用于接收請求,將所述請求發(fā)送給所述第二存儲器單元,并指定所述第二存儲器單元作為用于所述第一存儲器單元的偽存儲器單元。
2. 根據(jù)權(quán)利要求l的偽存儲器系統(tǒng),所述第一存儲器單元和所述第二存儲器單元包括虛擬化的高速緩沖存儲器單元,所述第一管理器是高速緩存管理器。
3. 根據(jù)權(quán)利要求l的偽存儲器系統(tǒng),還包括第二管理器,耦合至所述第二存儲器單元,所述第二管理器可操作用于從所述第一高速緩存管理器接收請求,將該請求發(fā)送給所述第二存儲器單元,并配置所述第二存儲器單元以用作用于所述第一存儲器單元的偽存儲器單元。
4. 根據(jù)權(quán)利要求3的偽存儲器系統(tǒng),還包括第一組子存儲器單元,耦合至所述第一管理器;以及第一組子處理元件,耦合至所述第一組子存儲器單元。
5. 根據(jù)權(quán)利要求4的偽存儲器系統(tǒng),還包括第二組子存儲器單元,耦合至所述第二管理器;以及第二組子處理元件,耦合至所述第二組子存儲器單元。
6. 根據(jù)權(quán)利要求l的偽存儲器系統(tǒng),所述總線耦合至主控制器。
7. 根據(jù)權(quán)利要求1的偽存儲器系統(tǒng),所述第一管理器耦合至所述第一存儲器單元的輸入和輸出。
8. 根據(jù)權(quán)利要求8的偽存儲器系統(tǒng),所述第一管理器還耦合至所述總線。
9. 根據(jù)權(quán)利要求8的偽存儲器系統(tǒng),還包括第三存儲器單元,所述第三存儲器單元也通過所述第一管理器從所述第一存儲器單元接收請求。
10. —種偽高速緩沖存儲器系統(tǒng),包括第一高速緩沖存儲器單元,耦合至總線;第一高速緩存管理器,耦合至所述第一高速緩沖存儲器單元的輸入和輸出;第一組子高速緩沖存儲器單元,耦合至所述第一高速緩存管理器;第二高速緩沖存儲器單元,耦合至所述總線,所述第二高速緩沖存儲器單元與所述第一高速緩沖存儲器單元位于共同層級上;第二高速緩存管理器,耦合至所述第二高速緩沖存儲器單元的輸入和輸出;以及第二組子高速緩沖存儲器單元,耦合至所述第二高速緩存管理器,所述第一高速緩存管理器可操作用于接收請求,指定所述第二高速緩沖存儲器單元作為所述第一高速緩沖存儲器單元的偽高速緩沖存儲器單元,并將所述請求發(fā)送給所述偽高速緩沖存儲器單元。
11. 根據(jù)權(quán)利要求10的偽高速緩沖存儲器系統(tǒng),還包括第一組子處理元件,耦合至所述第一組子高速緩沖存儲器單元。
12. 根據(jù)權(quán)利要求10的偽高速緩沖存儲器系統(tǒng),還包括第二組子處理元件,耦合至所述第二組子高速緩沖存儲器單元。
13. 根據(jù)權(quán)利要求10的偽高速緩沖存儲器系統(tǒng),所述總線耦合至主控制器。
14. 根據(jù)權(quán)利要求10的偽高速緩沖存儲器系統(tǒng),所述第二高速緩存管理器可操作用于將共同層級中的另一高速緩沖存儲器單元指定為所述第二高速緩沖存儲器單元的偽高速緩沖存儲器單元。
15. —種偽高速緩沖存儲器方法,包括在第一高速緩存管理器上接收請求,所述第一高速緩存管理器耦合至第一高速緩沖存儲器單元,所述第一高速緩沖存儲器單元耦合至總線;指定第二高速緩沖存儲器單元作為所述第一高速緩沖存儲器單元的偽高速緩沖存儲器單元,所述第二高速緩存管理器也耦合至總線;以及,將所述請求發(fā)送給所述偽高速緩沖存儲器單元。
16. 根據(jù)權(quán)利要求15的偽高速緩沖存儲器方法,所述第二高速緩沖存儲器單元與所述第一高速緩沖存儲器單元在共同層級中。
17. 根據(jù)權(quán)利要求15的偽高速緩沖存儲器方法,從耦合至所述第一高速緩沖存儲器單元的第一組子存儲器單元接收所述請求。
18. 根據(jù)權(quán)利要求15的偽高速緩沖存儲器方法,還包括在第二高速緩存管理器上接收第二請求,所述第二高速緩存管理器耦合至所述偽高速緩沖存儲器單元;以及使用所述偽高速緩沖存儲器單元對結(jié)果進(jìn)行處理。
19. 根據(jù)權(quán)利要求16的偽高速緩沖存儲器方法,還包括將處理的結(jié)果發(fā)送給所述第一高速緩沖存儲器單元。
20. 根據(jù)權(quán)利要求15的偽高速緩沖存儲器方法,還包括將所述請求發(fā)送給耦合至所述總線的第三高速緩沖存儲器單元。
全文摘要
具體地,在本發(fā)明中,可以將高速緩沖存儲器單元指定為用于共同層級之內(nèi)的另一高速緩沖存儲器單元的偽高速緩沖存儲器單元。例如,在層級的高速緩存級L2上的高速緩沖存儲器單元“X”處出現(xiàn)高速緩存不命中的情況下,向高速緩存級L3(外部)上的高速緩沖存儲器單元以及高速緩存級L2上的一個或多個其它高速緩沖存儲器單元發(fā)送請求。L2級高速緩沖存儲器單元將命中或不命中作為搜索結(jié)果返回。它們通常并不搜索L3,甚至也不將L3結(jié)果寫回(例如,如果結(jié)果是不命中)。就此來說,如果所有的L2不命中,僅僅將該請求的直接源頭與L3結(jié)果一起寫回。如此,其它L2級高速緩沖存儲器單元將原始的L2高速緩沖存儲器單元作為偽高速緩存來服務(wù)。
文檔編號G06F13/16GK101739355SQ20091020836
公開日2010年6月16日 申請日期2009年11月12日 優(yōu)先權(quán)日2008年11月21日
發(fā)明者D·金, K·J·杜瓦圣, M·J·金 申請人:國際商業(yè)機(jī)器公司