[發(fā)明專利]陷阱處理期間的協(xié)作線程陣列的粒度上下文切換在審
| 申請?zhí)枺?/td> | 201310741943.5 | 申請日: | 2013-12-27 |
| 公開(公告)號: | CN103902369A | 公開(公告)日: | 2014-07-02 |
| 發(fā)明(設(shè)計(jì))人: | 格拉爾德·F·路易斯;菲利普·亞歷山大·夸德拉;盧克·杜蘭特;瑟利斯·加德雷;羅伯特·奧哈內(nèi)西安;蘭基·V·姍;王若凡;阿蒂爾·丹斯基 | 申請(專利權(quán))人: | 輝達(dá)公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/38 |
| 代理公司: | 北京市磐華律師事務(wù)所 11336 | 代理人: | 董巍;謝栒 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 陷阱 處理 期間 協(xié)作 線程 陣列 粒度 上下文 切換 | ||
技術(shù)領(lǐng)域
本發(fā)明總體上涉及并行處理器架構(gòu),尤其涉及陷阱處理期間的協(xié)作線程陣列的粒度上下文切換。
背景技術(shù)
在計(jì)算機(jī)架構(gòu)中,陷阱指令是一種中斷當(dāng)前運(yùn)行的程序的指令。程序會(huì)出于各種原因而發(fā)生中斷。常見的陷阱出現(xiàn)的示例可以包括針對更多信息的系統(tǒng)調(diào)用,或者指示計(jì)算機(jī)等待用戶輸入(例如,按壓鍵盤上的按鍵)。陷阱響應(yīng)于錯(cuò)誤出現(xiàn)的示例可以包括試圖執(zhí)行諸如除以零的非法計(jì)算機(jī)運(yùn)算,或者訪問無效存儲(chǔ)器位置。此外,陷阱指令可以由編程人員出于調(diào)試的目的而手工插入。
當(dāng)遇到陷阱指令時(shí),執(zhí)行被稱作陷阱處理例程(trap?handling?routine)的專用程序(例如,通過使得程序計(jì)數(shù)器指向陷阱處理例程,其也被稱作陷阱處理程序(trap?handler))。在執(zhí)行陷阱處理例程時(shí)通常執(zhí)行上下文切換。通常,上下文切換描述了存儲(chǔ)和恢復(fù)處理單元的狀態(tài)以使得稍后能夠從中斷點(diǎn)繼續(xù)運(yùn)行程序的執(zhí)行的計(jì)算處理。
在并行處理系統(tǒng)中,其中多個(gè)線程跨作為單個(gè)邏輯單元(被稱為協(xié)作線程陣列)的不同執(zhí)行單元而被同時(shí)處理,單個(gè)線程(此后稱作“陷阱線程(trapping?thread)”)中所遇到的陷阱導(dǎo)致了所有執(zhí)行線程的上下文切換。這樣的情形并不期望見到,原因在于陷阱線程以外的執(zhí)行線程中的上下文切換導(dǎo)致計(jì)算機(jī)資源被不必要地消耗并且使得非陷阱線程的執(zhí)行減速。
因此,本領(lǐng)域需要一種在并行處理器中高效操作的陷阱處理例程。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例給出了一種用于處理線程中遇到的陷阱的方法,該線程是在多個(gè)執(zhí)行單元中執(zhí)行的線程陣列的一部分。該方法包括利用與該線程相關(guān)聯(lián)的標(biāo)識(shí)符更新數(shù)據(jù)結(jié)構(gòu)以指示在該線程陣列的執(zhí)行期間出現(xiàn)的陷阱。而且在該方法中,線程執(zhí)行包括上下文切換的陷阱處理例程。作為該陷阱處理例程的一部分而針對該線程陣列中的至少一個(gè)線程執(zhí)行上下文切換,同時(shí)允許其余線程陣列在上下文切換之前退出該陷阱處理例程。
其它實(shí)施例包括但并不局限于一種包括使得處理單元能夠?qū)嵤┧_方法的一個(gè)或多個(gè)方面的指令的計(jì)算機(jī)可讀介質(zhì)以及被配置為實(shí)施所公開方法的一個(gè)或多個(gè)方面的系統(tǒng)。
所公開技術(shù)的一個(gè)優(yōu)勢在于,陷阱處理例程在并行處理器中高效地進(jìn)行操作。
附圖說明
因此,通過參考實(shí)施例,可以獲得本發(fā)明以上所引用的特征能夠被詳細(xì)理解的方式,以上簡要概括的本發(fā)明的更為特定的描述,一些實(shí)施例在附圖中進(jìn)行圖示。然而,所要提到的是,附圖僅圖示了本發(fā)明的典型實(shí)施例而因此并非要被理解為對其范圍進(jìn)行限制,對于本發(fā)明而言,可以認(rèn)可其它等同有效的實(shí)施例。
圖1是圖示被配置為實(shí)施本發(fā)明的一個(gè)或多個(gè)方面的計(jì)算機(jī)系統(tǒng)的框圖;
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的用于圖1的計(jì)算機(jī)系統(tǒng)的并行處理子系統(tǒng)的框圖;
圖3是根據(jù)本發(fā)明一個(gè)實(shí)施例的圖2的通用處理集群內(nèi)的流式多處理器的一部分的框圖;
圖4是圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的在流式多處理器中執(zhí)行的協(xié)作線程陣列(CTA)中的一系列線程束的框圖;
圖5是圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的在流式多處理器中執(zhí)行的協(xié)作線程陣列(CTA)中的一系列線程束的框圖;
圖6A是圖示根據(jù)本發(fā)明一個(gè)實(shí)施例的陷阱原因表格(TRT)的框圖;
圖6B給出了描繪根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行TRT條目更新的處理的方法步驟的流程圖;
圖6C-6D給出了描繪根據(jù)本發(fā)明一個(gè)實(shí)施例的用于執(zhí)行陷阱處理例程的處理的方法步驟的流程圖;和
圖7給出了描繪根據(jù)本發(fā)明一個(gè)實(shí)施例的用于處理陷阱的方法步驟的流程圖。
具體實(shí)施方式
在以下描述中,給出了多個(gè)具體細(xì)節(jié)以提供對本發(fā)明更為全面的理解。然而,對于本領(lǐng)域技術(shù)人員將會(huì)顯而易見的是,本發(fā)明可以在沒有這些具體細(xì)節(jié)中的一個(gè)或多個(gè)的情況下進(jìn)行實(shí)踐。
系統(tǒng)概述
該專利技術(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/201310741943.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種基于業(yè)務(wù)規(guī)則的跨部門流程協(xié)同方法
- 基站協(xié)作的動(dòng)態(tài)連接方法、基站和協(xié)作多輸入多輸出系統(tǒng)
- 一種協(xié)作多點(diǎn)傳輸系統(tǒng)的信號發(fā)送方法及其裝置
- 協(xié)作方法、網(wǎng)絡(luò)和用戶終端
- 應(yīng)用程序協(xié)作系統(tǒng)、應(yīng)用程序協(xié)作方法以及應(yīng)用程序協(xié)作程序
- 協(xié)作多點(diǎn)傳輸方法、裝置和系統(tǒng)
- 一種面向智能終端的內(nèi)容下載應(yīng)用激勵(lì)方法及其系統(tǒng)
- 一種協(xié)作多點(diǎn)傳輸調(diào)度方法及裝置
- 一種協(xié)作實(shí)現(xiàn)方法和裝置
- 一種區(qū)塊鏈及智能合約系統(tǒng)協(xié)作層設(shè)計(jì)





