[發(fā)明專利]虛擬化事務存儲器的全局溢出方法有效
| 申請?zhí)枺?/td> | 200710129007.3 | 申請日: | 2007-06-30 |
| 公開(公告)號: | CN101097544A | 公開(公告)日: | 2008-01-02 |
| 發(fā)明(設計)人: | J·巴恩斯;R·拉瓦 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F12/08 | 分類號: | G06F12/08 |
| 代理公司: | 中國專利代理(香港)有限公司 | 代理人: | 曾祥夌;張志醒 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 虛擬 事務 存儲器 全局 溢出 方法 | ||
1.一種虛擬化事務存儲器的全局溢出裝置,包括處理器,該處理器包括:
執(zhí)行包括事務存儲器訪問操作的事務的執(zhí)行模塊;
耦合到所述執(zhí)行模塊的高速緩存,所述高速緩存包括多個存儲器行,其中,所述多個存儲器行中的存儲器行將響應于在所述事務執(zhí)行期間所述事務存儲器訪問操作被執(zhí)行而與保存所述存儲器行的當前事務狀態(tài)信息的對應的跟蹤字段關聯(lián);以及
溢出邏輯,響應于在所述事務執(zhí)行期間與所述存儲器行關聯(lián)的溢出事件,支持高速緩存到共享的系統(tǒng)存儲器的擴充。
2.如權利要求1所述的裝置,其特征在于,所述處理器進一步包括表示位于集成電路上的能夠保持獨立體系結構狀態(tài)的邏輯的第一核心和第二核心。
3.?如權利要求1所述的裝置,其特征在于,所述溢出邏輯包括:
溢出存儲元件,響應所述溢出事件而保存溢出位;
基址存儲元件,保存所述共享的系統(tǒng)存儲器中的全局溢出表的基址的表示,其中所述全局溢出表將存儲與所述存儲器行關聯(lián)的事務狀態(tài)信息。
4.?如權利要求3所述的裝置,其特征在于,跟蹤在所述事務執(zhí)行期間對所述存儲器行的訪問的所述對應的跟蹤字段包括:
跟蹤在所述事務執(zhí)行期間從所述存儲器行的加載的第一位;
跟蹤在所述事務執(zhí)行期間對所述存儲器行的存儲的第二位。
5.?如權利要求4所述的裝置,其特征在于,所述全局溢出表的溢出條目包括:
保存與所述存儲器行關聯(lián)的元素的元素字段;
保存物理地址的地址字段;
保存所述對應的跟蹤字段的所述第一位的狀態(tài)的事務讀取狀態(tài)字段;以及
保存所述對應的跟蹤字段的所述第二位的狀態(tài)的事務寫入狀態(tài)字段。
6.?如權利要求5所述的裝置,其特征在于,所述共享的系統(tǒng)存儲器至少在所述處理器的第一核心和第二核心之間進行共享,所述第一核心和第二核心中的每個核心響應于正被設置的所述溢出存儲元件中的溢出位而在驗證期間利用物理地址檢查所述全局溢出表以查找沖突。
7.?如權利要求4所述的裝置,其特征在于,溢出事件包括,當所述第一位跟蹤到在所述事務執(zhí)行期間從所述存儲器行的先前加載時或者所述第二位跟蹤到在所述事務執(zhí)行期間對所述存儲器行的先前存儲時,選擇所述存儲器行供逐出。
8.?如權利要求1所述的裝置,其特征在于,溢出事件包括執(zhí)行作為所述事務的一部分的第二事務的開始事務指令。
9.?一種虛擬化事務存儲器的全局溢出裝置,包括:
執(zhí)行組合為事務的多個操作的全局溢出裝置的多個處理器核心中的第一處理器核心的執(zhí)行模塊;
耦合到所述執(zhí)行模塊的事務存儲器,所述事務存儲器包括多個行;
耦合到所述執(zhí)行模塊、存儲事務溢出標記的存儲元件,如果組合為事務的多個操作之一使所述存儲器溢出,則設置所述事務溢出標記;
其中在檢查沖突時,如果設置了事務溢出標記,則多個核心中的每個核心訪問全局溢出表以檢查沖突,
其中當全局溢出表中的最后條目被釋放時,所述事務溢出標記被清除。
10.?如權利要求9所述的裝置,其特征在于,所述事務溢出標記對多個核心中的每個核心是可見的。
11.?如權利要求10所述的裝置,其特征在于,所述多個核心中的每個核心響應于正被設置的所述存儲元件中的事務溢出標記而在驗證期間利用物理地址檢查所述全局溢出表以查找沖突。
12.?如權利要求11所述的裝置,其特征在于,響應于所述全局溢出表中的最后條目被釋放,將所述溢出標記重置為缺省狀態(tài)。
13.?如權利要求9所述的裝置,其特征在于,所述存儲元件是機器特定寄存器MSR。
14.?如權利要求9所述的裝置,其特征在于,使所述存儲器溢出的、組合成事務的所述操作包括在執(zhí)行時選擇先前在所述事務的執(zhí)行期間被訪問的行以供逐出。
15.?一種虛擬化事務存儲器的全局溢出裝置,包括:
處理器,所述處理器包括:
執(zhí)行事務的執(zhí)行單元;
耦合到所述執(zhí)行單元的高速緩存;以及
響應與事務中的多個操作中的操作關聯(lián)的溢出事件而保存全局溢出表的基址的表示的基址寄存器,其中所述全局溢出表被保存在比高速緩存更高級的存儲器中。
16.?如權利要求15所述的裝置,其特征在于,所述全局溢出表存儲事務的狀態(tài)包括:所述全局溢出表將保存與在所述事務的執(zhí)行期間溢出的所述高速緩存的高速緩存行關聯(lián)的條目,所述條目包括與所述高速緩存行關聯(lián)的物理地址和事務狀態(tài)信息。
17.?如權利要求16所述的裝置,其特征在于,所述事務狀態(tài)信息包括:與所述高速緩存行關聯(lián)的第一位的狀態(tài)和第二位的狀態(tài),在所述事務的執(zhí)行期間,所述第一位跟蹤從所述高速緩存行的讀取,以及所述第二位跟蹤對所述高速緩存行的寫入。
18.?如權利要求17所述的裝置,其特征在于,如果所述高速緩存行處于修改狀態(tài),則所述條目還包括與所述高速緩存行關聯(lián)的數(shù)據(jù)元素的副本。
19.?如權利要求17所述的裝置,其特征在于,所述條目還包括:操作系統(tǒng)OS控制字段。
20.?如權利要求15所述的裝置,其特征在于,所述全局溢出表的下一頁面的基址被存儲在全局溢出表的先前頁面。
21.?一種虛擬化事務存儲器的全局溢出裝置,包括:
執(zhí)行事務的執(zhí)行模塊;
耦合到所述執(zhí)行模塊的存儲器,所述存儲器包括多個塊,其中,訪問跟蹤字段將跟蹤在所述事務執(zhí)行期間對所述多個塊中的塊的訪問;
包括溢出標記的第一存儲元件,響應于所述塊被選擇以供逐出且所述訪問跟蹤字段指明在所述事務執(zhí)行期間發(fā)生的對所述塊的先前訪問,在對所述塊進行當前訪問時,所述溢出標記被設置;以及
響應于所述溢出標記被設置而保存全局溢出表的基址的第二存儲元件;以及
存儲所述第二存儲元件中的全局溢出表的基址的表示的溢出邏輯,其中如果設置了所述溢出標記則全局溢出表將存儲與所述塊關聯(lián)的條目。
22.?如權利要求21所述的裝置,還包括:
在所述事務執(zhí)行期間響應從所述塊的加載而設置所述訪問跟蹤字段的第一位的邏輯;
在所述事務執(zhí)行期間響應對所述塊的存儲而設置所述訪問跟蹤字段的第二位的邏輯;以及
如果在所述事務執(zhí)行期間設置了所述第一位,在提交所述事務時清除所述訪問跟蹤字段的第一位和第二位的邏輯。
23.?如權利要求22所述的裝置,其特征在于,所述條目包括:
與所述塊關聯(lián)的物理地址;
如果所述塊處于第一狀態(tài)則與所述塊關聯(lián)的數(shù)據(jù)元素,其中所述第一狀態(tài)是修改狀態(tài);
所述訪問跟蹤字段的第一位的邏輯值;
所述訪問跟蹤字段的第二位的邏輯值;以及
操作系統(tǒng)OS控制字段。
24.?如權利要求23所述的裝置,其特征在于,所述存儲器是高速緩存。
25.?如權利要求21所述的裝置,其特征在于,所述第一和第二存儲元件是機器特定寄存器MSR。
26.?如權利要求21所述的裝置,其特征在于,所述第一存儲元件是溢出寄存器,以及所述第二存儲元件是基址寄存器。
27.?如權利要求21所述的裝置,其特征在于,所述存儲器是高速緩沖存儲器,以及所述全局溢出表的所述基址是存儲器分級結構中比所述高速緩沖存儲器更高級的存儲器中的物理基址。
28.?一種虛擬化事務存儲器的全局溢出系統(tǒng),包括:
微處理器,所述微處理器包括:
執(zhí)行包括事務存儲器訪問操作的事務的執(zhí)行單元;
耦合到所述執(zhí)行單元的第一存儲器,所述第一存儲器包括與跟蹤字段關聯(lián)的第一存儲器行;
溢出邏輯,用于將至少所述第一存儲器行的物理地址與事務狀態(tài)存儲進保存在第二存儲器中的全局溢出表的條目;以及
其中在存儲器分級結構中所述第二存儲器處于比所述第一存儲器更高的層級。
29.?如權利要求28所述的系統(tǒng),其特征在于,所述溢出邏輯包括:
響應在所述事務執(zhí)行期間發(fā)生的溢出事件而存儲要設置的溢出位的第一寄存器;
存儲所述第二存儲器中的溢出表的物理基址的第二寄存器。
30.?如權利要求29所述的系統(tǒng),其特征在于,保存在所述第二存儲器中的所述溢出表包括多個頁面,所述多個頁面中的各頁面將保存所述溢出表的下一頁面的物理基址。
31.?如權利要求29所述的系統(tǒng),其特征在于,所述第一存儲器是數(shù)據(jù)高速緩沖存儲器,以及所述第二存儲器是系統(tǒng)存儲器,以及溢出事件包括選擇要逐出的所述數(shù)據(jù)高速緩沖存儲器的先前在所述事務執(zhí)行期間被訪問的高速緩存行。
32.?如權利要求31所述的系統(tǒng),其特征在于,選擇要逐出的高速緩存行由高速緩存控制器來完成,以及響應于選擇要逐出的先前在所述事務執(zhí)行期間被訪問的所述高速緩存行而設置所述溢出位包括:
響應于選擇要逐出的所述高速緩存行而產(chǎn)生中斷;以及
采用被調用以處理所述中斷的處理機來設置所述溢出位。
33.?一種虛擬化事務存儲器的全局溢出方法,包括:
檢測與將作為事務的一部分被執(zhí)行的操作關聯(lián)的溢出事件,所述操作引用事務存儲器中的存儲器行;
如果當前沒有設置溢出位,則響應所述溢出事件而設置所述溢出位;以及
響應設置所述溢出位而把所述事務存儲器擴充到第二存儲器。
34.?如權利要求33所述的方法,其特征在于,響應設置所述溢出位而把所述事務存儲器擴充到第二存儲器包括:響應設置所述溢出位而把所述事務的狀態(tài)存儲在全局溢出表中。
35.?如權利要求33所述的方法,其特征在于,檢測與將作為事務的一部分被執(zhí)行的操作關聯(lián)的溢出事件包括:
選擇要逐出的存儲器行;
從與所述存儲器行關聯(lián)的訪問跟蹤字段中確定先前在所述事務執(zhí)行期間是否訪問了所述存儲器行;以及
如果確定先前在所述事務執(zhí)行期間已經(jīng)訪問所述存儲器行,則檢測溢出事件的出現(xiàn)。
36.?如權利要求33所述的方法,其特征在于,所述溢出位存儲在多個核心可查看的機器特定寄存器MSR中。
37.?如權利要求34所述的方法,其特征在于,在所述全局溢出表中存儲所述事務的狀態(tài)包括:
把條目寫入所述全局溢出表,其中所述條目包括
與所述存儲器行關聯(lián)的物理地址;
用于跟蹤在所述事務執(zhí)行期間從所述存儲器行的加載的第一跟蹤字段的狀態(tài);
用于跟蹤在所述事務執(zhí)行期間對所述存儲器行的存儲的第二跟蹤字段的狀態(tài);以及
當所述存儲器行處于修改狀態(tài)時與所述物理地址關聯(lián)的數(shù)據(jù)元素。
38.?一種虛擬化事務存儲器的全局溢出方法,包括:
執(zhí)行組合為事務的多個操作中的操作;
根據(jù)所述操作選擇高速緩存中要逐出的高速緩存行;以及
如果先前在所述事務未決期間訪問了所選高速緩存行:
響應于當前沒有設置全局溢出而設置全局溢出位;
響應于當前沒有分配用于全局溢出表的第一頁面而為所述全局溢出表分配第二存儲器中的第一頁面,其中,所述全局溢出表存儲與所述事務關聯(lián)的狀態(tài)信息;以及
在為所述全局溢出表分配所述第一頁面時,把第二存儲器中的所述第一頁面的基址寫入基址寄存器。
39.?如權利要求38所述的方法,其特征在于,還包括:
如果先前在所述事務未決期間訪問了所選高速緩存行,則產(chǎn)生中斷;以及
采用處理機來處理所述中斷,其中,所述全局溢出位根據(jù)對所述中斷的處理來設置。
40.?如權利要求39所述的方法,其特征在于,與所述事務關聯(lián)的狀態(tài)信息包括跟蹤在所述事務未決期間對所述高速緩存行的訪問的訪問跟蹤字段的狀態(tài)。
41.?如權利要求40所述的方法,其特征在于,所述全局溢出表還存儲:
與所述高速緩存行關聯(lián)的物理地址;以及
操作系統(tǒng)OS控制字段信息。
42.?如權利要求41所述的方法,其特征在于,所述OS將根據(jù)所述中斷來為全局溢出表分配所述第二存儲器中的第一頁面。
43.?如權利要求38所述的方法,其特征在于,還包括:
如果發(fā)生溢出頁面錯誤,并且當前為所述全局溢出表分配了至少所述第一頁面,則為所述全局溢出表分配所述第二存儲器中的附加頁面;以及
把所述第二存儲器中的所述附加頁面的附加基址寫入所述第二存儲器中的前一頁面,在所述全局溢出表中所述前一頁面在邏輯上處于所述附加頁面之前。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710129007.3/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。





