[發明專利]用于在單指令多數據SIMD處理系統中控制發散分支指令的方法和設備有效
| 申請號: | 201380046580.1 | 申請日: | 2013-08-08 |
| 公開(公告)號: | CN104603749B | 公開(公告)日: | 2017-09-19 |
| 發明(設計)人: | 陳琳 | 申請(專利權)人: | 高通股份有限公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京律盟知識產權代理有限責任公司11287 | 代理人: | 宋獻濤 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 多線程 處理 系統 執行 例程 | ||
技術領域
本發明涉及多線程處理,且更特定來說涉及用于在多線程處理系統中執行子例程的技術。
背景技術
單指令多數據(SIMD)處理系統是一種類型的并行計算系統,其包含在多個數據塊上執行相同指令的多個處理元件。SIMD系統可為獨立計算機或計算系統的子系統。舉例來說,一或多個SIMD執行單元可用于圖形處理單元(GPU)中以實施支持可編程著色的可編程著色單元。
SIMD處理系統允許以并行方式在多個處理元件上同步地執行程序的多個執行線程,借此增加其中需要對多個數據塊執行相同一組操作的程序的通過量。由于每一線程對不同數據產生作用,所以如果程序包含條件性分支指令,那么有可能針對執行于系統中的一些線程而滿足分支條件且針對執行于系統中的其它線程而不滿足分支條件。此條件可稱作發散分支條件且導致SIMD系統不能夠以同步方式在多個處理元件上執行所有線程。
發明內容
本發明是針對用于在經受發散線程條件的單指令多數據(SIMD)處理系統中執行子例程的技術。特別地說,描述用于管理發散線程的基于恢復計數器的方法,其利用程序模塊特定型最小恢復計數器(MINRC)來有效處理控制流指令。如本文中所使用,程序模塊可指主程序模塊(例如,頂級程序模塊)或子例程程序模塊。因而,在處理系統中執行的每一子例程可使用子例程特定型MINRC來控制對所述子例程中包含的控制流指令的處理。程序模塊特定型MINRC的使用允許實施基于MINRC的控制流的系統支持執行子例程程序指令。
在一個實例中,本發明描述一種方法,所述方法包含通過一或多個處理器基于第一 MINRC來控制對程序的執行。第一MINRC指定指示與所述程序的多個執行線程相關聯的多個恢復計數器值中的最小恢復計數器值的值。所述方法進一步包含通過一或多個處理器基于與所述程序的子例程相關聯的第二MINRC來控制對所述子例程的執行。第二 MINRC指定指示來自多個恢復計數器值的子集的最小恢復計數器值的值,所述多個恢復計數器值對應于在起始對子例程的執行時為有效的所有線程。
在另一實例中,本發明描述包含一或多個處理器的系統,所述一或多個處理器經配置以基于第一MINRC來控制對程序的執行且基于與所述程序的子例程相關聯的第二 MINRC來控制對所述子例程的執行。第一MINRC指定指示與所述程序的多個執行線程相關聯的多個恢復計數器值中的最小恢復計數器值的值。第二MINRC指定指示來自多個恢復計數器值的子集的最小恢復計數器值的值,所述多個恢復計數器值對應于在起始對子例程的執行時為有效的所有線程。
在另一實例中,本發明描述包含用于基于第一MINRC來控制對程序的執行的裝置的設備。第一MINRC指定指示與所述程序的多個執行線程相關聯的多個恢復計數器值中的最小恢復計數器值的值。所述設備進一步包含用于基于與所述程序的子例程相關聯的第二MINRC來控制對所述子例程的執行的裝置。第二MINRC指定指示來自多個恢復計數器值的子集的最小恢復計數器值的值,所述多個恢復計數器值對應于在起始對子例程的執行時為有效的所有線程。
在另一實例中,本發明描述存儲指令的計算機可讀存儲媒體,所述指令在執行時致使一或多個處理器基于第一MINRC來控制對程序的執行。第一MINRC指定指示與所述程序的多個執行線程相關聯的多個恢復計數器值中的最小恢復計數器值的值。所述指令進一步致使一或多個處理器基于與所述程序的子例程相關聯的第二MINRC來控制對所述子例程的執行。第二MINRC指定指示來自多個恢復計數器值的子集的最小恢復計數器值的值,所述多個恢復計數器值對應于在起始對子例程的執行時為有效的所有線程。
在附圖及以下描述中闡述本發明的一或多個實例的細節。本發明的其它特征、目標和優勢將從描述和附圖以及從權利要求書顯而易見。
附圖說明
圖1是說明可用于實施本發明的子例程執行技術的實例處理系統的框圖。
圖2是根據本發明的更詳細地說明圖1的實例處理系統中的控制單元的框圖。
圖3是說明可用于實施本發明的子例程執行技術的實例控制流模塊的框圖。
圖4是說明本發明的子例程執行技術的實例控制流的概念圖。
圖5是說明本發明的子例程執行技術的另一實例控制流的概念圖。
圖6是根據本發明的技術的說明實例程序空間布置的概念圖。
圖7到18是說明利用本發明的子例程執行技術的實例指令處理技術的流程圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于高通股份有限公司,未經高通股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380046580.1/2.html,轉載請聲明來源鉆瓜專利網。





