[發(fā)明專利]用于保持使用釋放一致性存儲器排序模型的多核心計算高速緩存相干性的方法及裝置有效
| 申請?zhí)枺?/td> | 201380041399.1 | 申請日: | 2013-08-05 |
| 公開(公告)號: | CN104520825B | 公開(公告)日: | 2018-02-02 |
| 發(fā)明(設(shè)計)人: | B·雷赫利克;T·R·曾;A·E·格魯貝爾;A·V·布爾德;C·C·夏普;E·德默斯 | 申請(專利權(quán))人: | 高通股份有限公司 |
| 主分類號: | G06F12/0877 | 分類號: | G06F12/0877 |
| 代理公司: | 北京律盟知識產(chǎn)權(quán)代理有限責(zé)任公司11287 | 代理人: | 宋獻濤 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 使用 釋放 一致性 存儲器 排序 模型 多核 心計 高速緩存 相干性 | ||
本申請案主張2012年8月6日申請的第61/680,201號美國臨時專利申請案以及2013年3月15日申請的第61/800,441號美國臨時專利申請案的權(quán)益,這些申請案的全部內(nèi)容通過引用的方式并入本文中。
技術(shù)領(lǐng)域
本發(fā)明涉及異構(gòu)計算中所涉及的技術(shù),且更確切地說,涉及異構(gòu)計算中的高速緩存相干性所涉及的技術(shù)。
背景技術(shù)
最近已有趨勢朝向所謂的異構(gòu)計算,在所述異構(gòu)計算中將多個處理器互連為一個系統(tǒng)。在一些情況下,可在若干處理器之中共享任務(wù)。一些作業(yè)可較佳適合特定類型的處理器,例如中央處理單元(CPU)、圖形處理單元(GPU)或數(shù)字信號處理器(DSP)。執(zhí)行異構(gòu)任務(wù)所涉及的每一處理器可具有一或多個高速緩沖存儲器。每一高速緩沖存儲器可含有在多個處理器中共享的可變數(shù)據(jù)的副本。高速緩沖存儲器可允許處理器通過使高速緩存的數(shù)據(jù)對于處理器的一或多個執(zhí)行單元較快速地可存取而加速程序執(zhí)行。當(dāng)一個處理器存取在系統(tǒng)的處理器的兩個或兩個以上高速緩沖存儲器中共享的共享可變數(shù)據(jù)時,被稱作“高速緩存相干性系統(tǒng)”的機制確保存儲在處理器高速緩沖存儲器中的共享可變數(shù)據(jù)的副本在所述系統(tǒng)的所有處理器中一致,且以及時及一致的方式使對所述共享可變數(shù)據(jù)的改變對于共享這些變量的所有處理器為可觀測的。
發(fā)明內(nèi)容
大體來說,本發(fā)明中描述的技術(shù)涉及用于在包含可能不同類型的多個處理器核心的多核心(例如,異構(gòu))計算系統(tǒng)中維持多個高速緩沖存儲器及系統(tǒng)存儲器當(dāng)中的高速緩存相干性(即,數(shù)據(jù)一致性)的技術(shù)。根據(jù)本發(fā)明的技術(shù)中的一者,中央處理單元(CPU)、圖形處理單元(GPU)、數(shù)字信號處理器(DSP)或另一類型的處理核心可在獲取或?qū)懭攵嗪诵挠嬎阆到y(tǒng)的所有處理器中共享的變量時執(zhí)行指令。當(dāng)處理器核心(被稱為“處理器”)嘗試存取共享可變數(shù)據(jù)時,處理器核心可執(zhí)行同步操作,例如具有獲取的加載及/或具有釋放的存儲操作,以便確保應(yīng)用于共享可變數(shù)據(jù)的任何操作以有序及相干方式發(fā)生。
多核心系統(tǒng)中的處理器中的一些或全部可包含高速緩沖存儲器。高速緩沖存儲器可包括頻繁使用數(shù)據(jù)的本地工作集合。在一些情況下,高速緩沖存儲器可包含在多核心系統(tǒng)的一或多個其它處理器中共享的共享可變數(shù)據(jù)的本地副本。根據(jù)本發(fā)明的技術(shù),其它處理器中的每一者可同樣包含高速緩沖存儲器,其包含共享可變數(shù)據(jù)的本地副本。
在具有多個處理器(例如,第一處理器及第二處理器)的多核心系統(tǒng)中,第一處理器可改變一些共享可變數(shù)據(jù)的值。第一處理器接著可清空共享可變數(shù)據(jù)的值。清空共享可變數(shù)據(jù)可致使第一處理器將更新的共享可變數(shù)據(jù)值例如寫入到系統(tǒng)存儲器。為確保其它處理器看見共享可變數(shù)據(jù)的更新值,響應(yīng)于所述高速緩存清空,第一或第二處理器可使對應(yīng)于第二處理器的高速緩沖存儲器中的共享可變數(shù)據(jù)的高速緩存條目無效。當(dāng)?shù)诙幚砥髯x取先前含有共享可變數(shù)據(jù)的值的高速緩存行時,將高速緩存行標(biāo)記為無效。因為第二處理器的高速緩存行標(biāo)記為無效,所以第二處理器從系統(tǒng)存儲器檢索共享可變數(shù)據(jù)的最新值,及更新對應(yīng)于共享可變數(shù)據(jù)的第二處理器的高速緩沖存儲器,而非從第二處理器的高速緩沖存儲器讀取共享可變數(shù)據(jù)的過時值。以此方式,本發(fā)明的技術(shù)確保共享可變數(shù)據(jù)經(jīng)由使用高速緩存無效及清空而相干。
在一個實例中,一種方法包含:使用第一可編程處理器將共享可變數(shù)據(jù)存儲到第一處理器的第一高速緩沖存儲器的高速緩存行;使用第一可編程處理器執(zhí)行具有釋放的存儲操作;使用第二可編程處理器執(zhí)行具有獲取的加載操作;及使用第二可編程處理器加載來自第二可編程處理器的高速緩沖存儲器的共享可變數(shù)據(jù)的值。
在另一實例中,本發(fā)明描述一種裝置,其包含:具有第一高速緩沖存儲器的第一可編程處理器;具有第二高速緩沖存儲器的第二可編程處理器,其中所述裝置經(jīng)配置以使用第一可編程處理器將共享可變數(shù)據(jù)存儲到第一處理器的第一高速緩沖存儲器的高速緩存行,使用第一可編程處理器執(zhí)行具有釋放的存儲操作,使用第二可編程處理器執(zhí)行具有獲取的加載操作,及使用第二可編程處理器加載來自第二可編程處理器的高速緩沖存儲器的共享可變數(shù)據(jù)的值。
在另一實例中,本發(fā)明描述一種裝置,其包含:用于使用第一可編程處理器將共享可變數(shù)據(jù)存儲到第一處理器的第一高速緩沖存儲器的高速緩存行的裝置;用于使用第一可編程處理器執(zhí)行具有釋放的存儲操作的裝置;用于使用第二可編程處理器執(zhí)行具有獲取的加載操作的裝置;及用于使用第二可編程處理器加載來自第二可編程處理器的高速緩沖存儲器的共享可變數(shù)據(jù)的值的裝置。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于高通股份有限公司,未經(jīng)高通股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380041399.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





