[發(fā)明專利]基于預(yù)監(jiān)控的指令序列的并行執(zhí)行在審
| 申請(qǐng)?zhí)枺?/td> | 201580077699.4 | 申請(qǐng)日: | 2015-12-09 |
| 公開(公告)號(hào): | CN107430511A | 公開(公告)日: | 2017-12-01 |
| 發(fā)明(設(shè)計(jì))人: | 諾姆·米茲拉希;阿爾貝托·曼德勒;莎伊·科倫;喬納森·弗里德曼 | 申請(qǐng)(專利權(quán))人: | 森蒂彼得塞米有限公司 |
| 主分類號(hào): | G06F9/38 | 分類號(hào): | G06F9/38 |
| 代理公司: | 北京安信方達(dá)知識(shí)產(chǎn)權(quán)代理有限公司11262 | 代理人: | 楊明釗,周靖 |
| 地址: | 以色列*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 監(jiān)控 指令 序列 并行 執(zhí)行 | ||
發(fā)明領(lǐng)域
本發(fā)明總體上涉及處理器設(shè)計(jì),特別是涉及用于運(yùn)行時(shí)代碼并行化的方法和系統(tǒng)。
發(fā)明背景
已經(jīng)提出了用于在運(yùn)行時(shí)使軟件代碼動(dòng)態(tài)并行化的各種技術(shù)。例如,Akkary和Driscoll在通過引用并入本文的“A Dynamic Multithreading Processor”(Proceedings of the 31st Annual International Symposium on Microarchitectures,1998年12月)中描述了實(shí)現(xiàn)單個(gè)程序的動(dòng)態(tài)多線程執(zhí)行的處理器架構(gòu)。
例如,Marcuello等人在通過引用并入本文的“Speculative Multithreaded Processors”(Proceedings of the 12th International Conference on Supercomputing,1998年)中描述了一種處理器微架構(gòu),其借助于不需要編譯器或用戶支持的控制推測(cè)(control speculation)技術(shù)同時(shí)執(zhí)行從單個(gè)程序獲得的多個(gè)控制線程。
Marcuello和Gonzales在通過引用并入本文的“Clustered Speculative Multithreaded Processors”(Proceedings of the 13th International Conference on Supercomputing,1999年)中提出了在運(yùn)行時(shí)從單線程應(yīng)用產(chǎn)生推測(cè)性線程的微架構(gòu)。
在通過引用并入本文的“A Quantitative Assessment of Thread-Level Speculation Techniques”(Proceedings of the 14th International Parallel and Distributed Processing Symposium,2000年)中,Marcuello和Gonzales分析了不同線程推測(cè)技術(shù)的優(yōu)點(diǎn)和價(jià)值預(yù)測(cè)、分支預(yù)測(cè)、線程初始化開銷和在線程單元之間的連接的影響。
Ortiz-Arroyo和Lee在通過引用并入本文的“Dynamic Simultaneous Multithreaded Architecture”(Proceedings of the 16th International Conference on Parallel and Distributed Computing Systems(PDCS'03),2003年)中描述了在同時(shí)多線程處理器核心上執(zhí)行來自單個(gè)程序的多個(gè)線程的被稱為動(dòng)態(tài)同時(shí)多線程(DSMT)的多線程架構(gòu)。
美國專利申請(qǐng)公布2014/0282601(其公開通過引用并入本文)描述了用于通過塊組織的源視圖數(shù)據(jù)結(jié)構(gòu)進(jìn)行依賴性廣播的方法。該方法包括使用全局前端接收輸入指令序列,并將指令分組以形成指令塊。多個(gè)寄存器模板用于通過用對(duì)應(yīng)于指令塊的塊號(hào)填充寄存器模板來跟蹤指令目的地和指令源,其中對(duì)應(yīng)于指令塊的塊號(hào)指示在指令塊之間的相互依賴性。填充塊組織的源視圖數(shù)據(jù)結(jié)構(gòu),其中源視圖數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)與如由多個(gè)寄存器模板記錄的指令塊相對(duì)應(yīng)的源。在調(diào)度指令塊的一個(gè)塊時(shí),將屬于該一個(gè)塊的數(shù)字廣播到與該塊相關(guān)的源視圖數(shù)據(jù)結(jié)構(gòu)的列,并相應(yīng)地標(biāo)記該列。根據(jù)廣播來更新剩余指令塊的依賴性信息。
發(fā)明概述
一種方法包括在處理程序代碼的指令的處理器中通過第一硬件線程處理一個(gè)或更多個(gè)指令。在檢測(cè)到已經(jīng)為第一線程提取被定義為并行化點(diǎn)的指令時(shí),調(diào)用第二硬件線程以至少部分地與第一硬件線程對(duì)指令的處理并行地處理指令中的至少一個(gè)。
在一些實(shí)施例中,在處理器開始解析由第一線程處理的指令中的依賴性之前,執(zhí)行調(diào)用第二線程。在一個(gè)實(shí)施例中,檢測(cè)并行化點(diǎn)包括檢測(cè)后向分支指令。在另一個(gè)實(shí)施例中,檢測(cè)并行化點(diǎn)包括檢測(cè)函數(shù)調(diào)用。在另一個(gè)實(shí)施例中,并行化點(diǎn)用嵌入在程序代碼中的指示標(biāo)記。
在一些實(shí)施例中,調(diào)用第二線程包括在調(diào)用第二線程時(shí)向第二線程提供在提取指令用于由第二線程處理時(shí)待遍歷的流控制軌跡(flow-control trace)的至少部分。在一個(gè)實(shí)施例中,該方法還包括使用分支預(yù)測(cè)從一組可能的軌跡(trace)中選擇流控制軌跡。該組可能的軌跡可以存儲(chǔ)在處理器中、在處理器的高速緩存存儲(chǔ)器中或在由處理器訪問的存儲(chǔ)器中。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于森蒂彼得塞米有限公司,未經(jīng)森蒂彼得塞米有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201580077699.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種自動(dòng)收料機(jī)
- 下一篇:一種鋼帶收卷助卷裝置
- 多級(jí)校內(nèi)監(jiān)控系統(tǒng)
- 多級(jí)校內(nèi)監(jiān)控系統(tǒng)
- 一種范圍廣、力度大的校內(nèi)監(jiān)控系統(tǒng)
- 一種監(jiān)控的方法及系統(tǒng)
- 設(shè)備的監(jiān)控方法、裝置、系統(tǒng)和空調(diào)
- 多級(jí)校內(nèi)監(jiān)控系統(tǒng)
- 設(shè)備監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 風(fēng)險(xiǎn)雷達(dá)預(yù)警的監(jiān)控方法及系統(tǒng)
- 區(qū)塊鏈網(wǎng)絡(luò)監(jiān)控系統(tǒng)、裝置及方法
- 基于機(jī)器視覺的車站客流安全智能監(jiān)控系統(tǒng)





