[發(fā)明專利]用于并行處理器的高效斷言執(zhí)行有效
| 申請?zhí)枺?/td> | 201080053930.3 | 申請日: | 2010-09-28 |
| 公開(公告)號: | CN102640132A | 公開(公告)日: | 2012-08-15 |
| 發(fā)明(設(shè)計)人: | 理查德·克雷格·約翰遜;約翰·R·尼科爾斯;羅伯特·史蒂文·格蘭維爾 | 申請(專利權(quán))人: | 輝達(dá)公司 |
| 主分類號: | G06F15/00 | 分類號: | G06F15/00;G06F15/76 |
| 代理公司: | 北京市磐華律師事務(wù)所 11336 | 代理人: | 顧珊;魏寧 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 并行 處理器 高效 斷言 執(zhí)行 | ||
相關(guān)申請的交叉開關(guān)引用
本申請要求于2009年9月28日提交的序列號為61/246,509、名稱為“用于SIMT及SIMD處理器架構(gòu)的高效斷言執(zhí)行”的美國臨時專利申請的優(yōu)先權(quán),以及要求于2010年9月27日提交的序列號為12/891,629的美國專利申請的優(yōu)先權(quán)。
技術(shù)領(lǐng)域
本發(fā)明總體上涉及并行處理領(lǐng)域,并且,更具體地,涉及用于并行處理器的高效斷言(predicated)執(zhí)行。
背景技術(shù)
斷言執(zhí)行是用于有條件地執(zhí)行單獨的指令操作的機(jī)制,典型地,通過有條件地提交或忽略執(zhí)行指令的結(jié)果,從而為條件分支轉(zhuǎn)移(branch)提供選擇。在并行處理器中,例如其中并行的線程或數(shù)據(jù)通道組執(zhí)行共同的指令流的單指令多線程(SIMT)和SIMD并行處理器,每個線程或數(shù)據(jù)通道中的斷言執(zhí)行能夠極大地提高其中線程組的每個線程可獨立使用不同的執(zhí)行路徑的分散的分支轉(zhuǎn)移代碼的性能。
在現(xiàn)有的并行處理器設(shè)計中,每個線程或數(shù)據(jù)通道中的斷言執(zhí)行均采用一組4位(bit)的條件碼(CC)寄存器用于每個線程或通道實例(instance),并且指令具有包括若干指令位來選擇一個CC寄存器以及附加位以編碼比較條件的保護(hù)(guard);只有針對該線程或通道的條件求值為真(True),保護(hù)指令才會提交它的針對線程或者通道的結(jié)果,否則無效。此外,很多指令可選地為每個線程或數(shù)據(jù)通道對CC寄存器進(jìn)行寫入,需要若干指令位以編碼目標(biāo)CC寄存器,加上一個位以使能/無效所述寄存器寫操作。
作為示例,現(xiàn)有的SIMT并行線程處理器的每個線程均具有四個4位的CC寄存器,因此指令保護(hù)包括7個位:兩個位用于選擇四個CC寄存器中的一個,以及五個位用于編碼比較測試。存在24種可能的CC寄存器的測試。對于可選地寫CC寄存器的指令,需要三個個位以編碼目標(biāo)CC寄存器和寫使能。
現(xiàn)有方式的一個問題在于,每線程的狀態(tài)(每線程16位用于四個寄存器)以及指令編碼空間(每個指令7位用于保護(hù)條件,加上每指令3位用于寫CC寄存器的任意指令)方面的開銷。注意到,幾乎每個指令都必須具有保護(hù)域,因此減小編碼開銷是關(guān)注的重點。CC寄存器的每線程16位的開銷乘以并行線程或數(shù)據(jù)通道實例的數(shù)量,一般每個SIMT或SIMD并行處理器具有數(shù)百個,并且進(jìn)一步乘以每芯片數(shù)以十記的并行處理器的數(shù)量。每線程的寄存器狀態(tài)造成芯片面積和能耗的開銷。
如前所述,本技術(shù)領(lǐng)域需要的是一種機(jī)制,用于最小化與斷言執(zhí)行相關(guān)聯(lián)的每線程的狀態(tài),最小化編碼斷言執(zhí)行所需的位的指令,并最小化實現(xiàn)斷言執(zhí)行所需的指令和周期的數(shù)量。
發(fā)明內(nèi)容
本發(fā)明的一個實施例提供了用于訪問與線程組相關(guān)聯(lián)的斷言信息的方法。所述方法包括以下步驟:接收用于由所述線程組執(zhí)行的第一指令,其中所述第一指令指定第一源操作數(shù)標(biāo)識符、操作以及第一目標(biāo)斷言標(biāo)識符;對于所述線程組中的每一個線程,通過對由所述第一源操作數(shù)標(biāo)識符所標(biāo)識的第一源操作數(shù)中的數(shù)據(jù)應(yīng)用所述操作來計算斷言結(jié)果;以及,在第一斷言寄存器中存儲所述斷言結(jié)果,所述斷言寄存器與所述線程相關(guān)聯(lián)并且由所述第一目標(biāo)斷言標(biāo)識符所標(biāo)識,其中對于所述線程組中的每一個線程,所述第一源寄存器以及所述第一斷言寄存器不同。
有利地,本文所描述的發(fā)明提供一種用于開銷高效斷言執(zhí)行的機(jī)制,其使SIMT/SIMD并行處理器中的每線程狀態(tài)最小化。此外,斷言的可選否定進(jìn)一步節(jié)省了每線程的附加位,否則將需要其來存儲否定斷言。進(jìn)一步,可生成用于并行多線程程序的條件程序域的高效代碼。
附圖說明
因此,可以詳細(xì)地理解上述本發(fā)明的特征,并且可以參考實施例得到對如上面所概括的本發(fā)明更具體的描述,其中一些實施例在附圖中示出。然而,應(yīng)當(dāng)注意的是,附圖僅用于示意性地表示本發(fā)明的典型實施例,因此不應(yīng)被認(rèn)為是對本發(fā)明范圍的限制,本發(fā)明可以具有其他等效的實施方式。
圖1為示出了經(jīng)配置以實現(xiàn)本發(fā)明一個或多個方面的計算機(jī)系統(tǒng)的框圖;
圖2為根據(jù)本發(fā)明一個實施例的,用于圖1中計算機(jī)系統(tǒng)的并行處理子系統(tǒng)的框圖;
圖3A為根據(jù)本發(fā)明一個實施例的,圖2中一個PPU內(nèi)的GPC的框圖;
圖3B為根據(jù)本發(fā)明一個實施例的,圖2中一個PPU內(nèi)分區(qū)單元的框圖;
圖3C為根據(jù)本發(fā)明一個實施例的,圖3A中部分SPM的框圖;
圖4為根據(jù)本發(fā)明一個實施例的,圖3C中斷言寄存器堆(file)的較詳細(xì)示意圖;以及
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于輝達(dá)公司,未經(jīng)輝達(dá)公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201080053930.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種三用紫外線分析儀
- 下一篇:一種懸浮顆粒計數(shù)分析裝置的光源
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F15-00 通用數(shù)字計算機(jī)
G06F15-02 .通過鍵盤輸入的手動操作,以及應(yīng)用機(jī)內(nèi)程序的計算,例如,袖珍計算器
G06F15-04 .在引入被處理的數(shù)據(jù)的同時,進(jìn)行編制程序的,例如,在同一記錄載體上
G06F15-08 .應(yīng)用插接板編制程序的
G06F15-16 .兩個或多個數(shù)字計算機(jī)的組合,其中每臺至少具有一個運算器、一個程序器及一個寄存器,例如,用于數(shù)個程序的同時處理
G06F15-18 .其中,根據(jù)計算機(jī)本身在一個完整的運行期間內(nèi)所取得的經(jīng)驗來改變程序的;學(xué)習(xí)機(jī)器





