[發明專利]對于基于存儲資歷實現從不同線程進行轉發的線程不可知的加載存儲緩沖器有效
| 申請號: | 201380043004.1 | 申請日: | 2013-06-10 |
| 公開(公告)號: | CN104620223B | 公開(公告)日: | 2018-11-16 |
| 發明(設計)人: | M·阿布達拉 | 申請(專利權)人: | 英特爾公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46;G06F9/38 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 黃嵩泉 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 加載 掩碼 線程 高速緩存線 訪問 存儲 隊列 存儲器資源 統一存儲 存儲器一致性模型 轉發 共享存儲器資源 存儲器一致性 跟蹤高速緩存 存儲緩沖器 隊列條目 信號發送 語義 寄存器 處理器 亂序 統一 共享 預測 檢查 | ||
在處理器中,一種用于在使用共享存儲器資源的存儲器一致性模型中的亂序加載的線程不可知統一存儲隊列和統一加載隊列方法。該方法包括:實現能夠由多個異步核心訪問的存儲器資源,其中所述多個核心共享統一存儲隊列和統一加載隊列;以及實現訪問掩碼,該訪問掩碼通過跟蹤高速緩存的哪些字經由加載被訪問來運行,其中高速緩存線包括存儲器資源,其中加載在訪問高速緩存線的字時設置訪問掩碼內的掩碼位,并且其中掩碼位阻止從多個核心的來自其他加載的訪問。該方法還包括:在執行從多個核心到高速緩存線的后續存儲時檢查訪問掩碼,其中來自不同線程的存儲能夠在仍保持按序存儲器一致性語義的同時向不同線程的加載進行轉發;以及當到高速緩存線的部分的后續存儲在訪問掩碼中見到來自加載的在先標記時引發缺失預測,其中后續存儲將通過使用跟蹤符寄存器和線程ID寄存器來用信號發送對應于該加載的加載隊列條目。
本申請要求2012年6月15日由Mohammad A.Abdallah提交的題為“A LOAD STOREBUFFER AGNOSTIC TO THREADS IMPLEMENTING FORWARDING FROM DIFFERENT THREADSBASED ON STORE SENIORITY”的共同待決共同轉讓的美國臨時專利申請序號61/660,526的權益,并且該申請被整體地并入到本文中。
技術領域
本發明總體涉及數字計算機系統,更具體地涉及用于選擇指令(包括指令序列)的系統和方法。
背景技術
要求處理器來處理相關或完全獨立的多個任務。此類處理器的內部狀態通常由在程序執行的每個特定時刻可能保持不同的值的寄存器組成。在程序執行的每個時刻,將內部狀態圖像稱為處理器的架構狀態。
當架構代碼執行切換成運行另一功能(例如,另一線程、進程或程序)時,然后必須保存機器/處理器的狀態,使得新功能可以利用內部寄存器以構建其新狀態。一旦新功能已終止,則可以丟棄其狀態,并且先前情境的狀態將被恢復且該執行又繼續。此類切換過程稱為情境切換,并且通常包括10個或數百個循環,尤其是在采用大量寄存器(例如,64、128、256)和/或亂序執行的現代架構的情況下。
在線程感知硬件架構中,硬件支持用于有限數目的硬件支持線程的多個情境狀態是正常的。在這種情況下,硬件復制用于每個所支持線程的所有架構狀態元素。這消除了在執行新線程時的情境切換的需要。然而,這仍具有多個缺點,即復制用于用硬件中所支持的每個附加線程的所有架構狀態元素(即,寄存器)的面積、功率和復雜性。另外,如果軟件線程的數目超過明確支持的硬件線程的數目,則仍必須執行情境切換。
這變得常見,因為在要求大量線程的細粒度基礎上需要并行性。具有復制情境狀態硬件存儲的硬件線程感知架構無助于非線程軟件代碼,并且僅僅減少了用于被線程化的軟件的情境切換的次數。然而,那些線程通常是針對粗粒并行性而構造的,并且導致用于發起和同步、離開細粒并行性的沉重軟件開銷,諸如函數調用和回路并行執行,而沒有高效的線程化發起/自動生成。此類所述開銷伴隨著針對非明確/容易并行化/線程化軟件代碼而使用現有技術編譯程序或用戶并行化技術進行此類代碼的自動并行化的困難。
發明內容
在一個實施例中,將本發明實現為一種用于在使用共享存儲器資源的存儲器一致性模型中的亂序加載的線程不可知統一存儲隊列和統一加載隊列方法。該方法包括:實現能夠由多個異步核心訪問的存儲器資源,其中所述多個核心共享統一存儲隊列和統一加載隊列;以及實現訪問掩碼,該訪問掩碼通過跟蹤高速緩存的哪些字經由加載被訪問來運行,其中高速緩存線包括存儲器資源,其中加載在訪問高速緩存線的字時設置訪問掩碼內的掩碼位,并且其中掩碼位阻止從多個核心的來自其他加載的訪問。該方法還包括:在執行從多個核心到高速緩存線的后續存儲時檢查訪問掩碼,其中來自不同線程的存儲能夠在仍保持按序存儲器一致性語義的同時向不同線程的加載進行轉發;以及當到高速緩存線的部分的后續存儲在訪問掩碼中見到來自加載的在先標記時導致缺失預測,其中后續存儲將通過使用跟蹤符寄存器和線程ID寄存器來用信號發送對應于該加載的加載隊列條目。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英特爾公司,未經英特爾公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380043004.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:GhGL3基因啟動子、載體及其應用
- 下一篇:用于治療癌癥的單克隆抗體





