[發明專利]發散操作的分批重播有效
| 申請號: | 201210548669.5 | 申請日: | 2012-12-17 |
| 公開(公告)號: | CN103218253A | 公開(公告)日: | 2013-07-24 |
| 發明(設計)人: | 邁克爾·費特曼;杰克·希萊爾·肖凱特;奧姆卡爾·帕蘭杰佩;阿杰納·拉杰卓;埃里克·萊爾·希爾;斯圖爾特·格倫·卡爾頓;拉杰史沃拉·塞爾瓦桑;道格拉斯·J·哈恩;史蒂文·詹姆斯·海因里希 | 申請(專利權)人: | 輝達公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 北京市磐華律師事務所 11336 | 代理人: | 徐丁峰;魏寧 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 發散 操作 分批 重播 | ||
技術領域
本發明總體上涉及計算機架構,更具體地,涉及發散操作的分批重播。
背景技術
設計同時執行一定數量線程的處理器是并行處理系統中的常見做法。每個線程均可以在處理器內的單獨執行管線中執行。當這類線程全部需要執行相同指令序列(通常每個線程使用不同的數據)時,分享線程的控制結構有切實的好處。例如,僅須獲取一個指令,并且之后所有線程都執行該同一指令。在單指令多線程(SIMT)處理器和單指令多數據(SIMD)處理器上可以發現這類操作。
當執行并行進行時,不同線程可以按照可導致線程遭遇資源沖突的方式來訪問共同資源,諸如共享存儲器。例如,線程可執行存儲器訪問操作,諸如加載指令,其中存儲器位置的集合跨越兩個或兩個以上緩存線。因為各線程所需的存儲器位置在發散的高速緩存線上,所以這類加載指令可以稱為“發散(divergent)”操作。在這種情況下,管線傳送某些線程正在訪問的高速緩存線之一,并且那些線程能夠完成存儲器訪問操作。然而,指向在不同高速緩存線內位置的其他線程不能完成存儲器訪問操作并保留未服務狀態。因此,在單次通過管線的情況下,某些線程能夠完成存儲器訪問操作而其他線程不能。如果沒有處理多個執行周期的手段,則操作不能成功完成。
實現多個執行周期的一種方法是將指令重新插入處理管線的前一級并對于不能從其目標存儲器地址位置來訪問數據的線程再次執行加載指令。這類技術稱為“重播(replay)”操作。基本上,在管線中的級實施在當前周期中不能完成的操作的情況下,管線對于包含至少一個目標地址的每個高速緩存線均“重播”一次加載指令直到每個線程均實施了相關存儲器訪問操作為止。在該過程中,利用一部分管線來完成重播操作。因此,管線是停滯的以防止新的指令進入管線直到所有重播操作均已完成為止。該方法的一個缺點是管線是停滯的直到所有重播操作完成。上游指令可能無法在管線中推進直到釋放管線停滯,這降低了整體系統性能。附加缺點是并行處理系統可能無法在一個管線級延遲內停滯所有管線級。如果并行處理系統不能及時停滯管線級,則進入管線的一個或多個新指令可能被錯誤地丟棄或者重播操作也被丟棄。在任一情況下,新指令或重播操作都沒有正確完成。
實現多個執行周期的另一方法是在管線的更后面重新插入指令。使用該方法,正在被“重播”的指令在管線中與新指令交錯在一起,這減小了管線停滯的頻率,從而增強了管線性能。然而,該方法的一個缺點是增加正在被重播的指令的延遲。例如,考慮具有32個同時執行的線程的處理器。在發散加載操作中,用于該32個線程的目標地址位置可跨32個不同的高速緩存線而發散。如果將重播插回一個管線級,那么當31個重播操作執行時管線可停滯31個管線周期。將重播插回六個管線級對于正在被重播的指令而言延遲增加到六個管線級乘以31個重播操作或186個管線周期。
如前述所示,本領域需要的是更有效的方式來執行用于發散操作的重播操作。
發明內容
本發明的一個實施例闡述用于重播存儲器訪問操作的計算機實現方法。加載-存儲單元從配置為在多級管線中執行指令的一組線程中選擇第一線程和第二線程,其中所述第一線程和所述第二線程都尚未執行所述指令。之后所述加載-存儲單元選擇第一線程集以與所述第一線程相關聯。所述加載-存儲單元選擇第二線程集以與所述第二線程相關聯。所述加載-存儲單元將與所述第一線程和所述第一線程集相關聯的第一重播操作插入所述多級管線以執行所述指令。之后所述加載-存儲單元將與所述第二線程和所述第二線程集相關聯的重播操作插入所述多級管線以執行所述指令,其中所述第二線程和所述第二線程集相對于所述第一線程和所述第一線程集串行插入所述多級管線。
所公開的技術的一個優勢是在線程需要跨存儲器中一個以上高速緩存線訪問數據的情況下減小完成發散操作的延遲。進一步地,與在將隨后的重播操作插回到管線中之前等待重播以清除管線相反,當將兩個或兩個以上的重播操作作為分批組一個接一個插入時管線被更有效地使用。
附圖說明
因此,可以詳細地理解上述本發明的特征,并且可以參考實施例得到對如上面所簡要概括的本發明更具體的描述,其中一些實施例在附圖中示出。然而,應當注意的是,附圖僅示出了本發明的典型實施例,因此不應被認為是對其范圍的限制,本發明可以具有其他等效的實施例。
圖1為示出了配置為實現本發明一個或多個方面的計算機系統的框圖;
圖2為根據本發明一個實施例的,用于圖1的計算機系統的并行處理子系統的框圖;
圖3A為根據本發明一個實施例的,圖2的前端的框圖;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于輝達公司,未經輝達公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210548669.5/2.html,轉載請聲明來源鉆瓜專利網。





