[發(fā)明專利]通過指令不確定度的多線程處理器指令平衡有效
| 申請?zhí)枺?/td> | 201380008222.1 | 申請日: | 2013-01-24 |
| 公開(公告)號: | CN104094223A | 公開(公告)日: | 2014-10-08 |
| 發(fā)明(設(shè)計(jì))人: | B.R.普拉斯基;A.布尤克托蘇諾格盧;V.斯里尼瓦桑 | 申請(專利權(quán))人: | 國際商業(yè)機(jī)器公司 |
| 主分類號: | G06F9/38 | 分類號: | G06F9/38 |
| 代理公司: | 北京市柳沈律師事務(wù)所 11105 | 代理人: | 黃玫 |
| 地址: | 美國紐*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 通過 指令 不確定 多線程 處理器 平衡 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及多線程處理,更具體地說,涉及用于通過指令不確定度在多線程處理器內(nèi)的指令平衡的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù)
在多線程流水線設(shè)計(jì)中存在很多目標(biāo),包括但不限于盡可能快地運(yùn)行每個單獨(dú)線程以及優(yōu)化每瓦特的工作單元。流水線是并行性的一種具體形式,其中,可以在同一硬件上交錯若干指令的執(zhí)行。無論流水線設(shè)計(jì)的目標(biāo)如何,對于程序的每個線程,都可能遇到多分支指令。當(dāng)線程經(jīng)歷分支時,預(yù)測分支將采取哪個方向,然后沿著所預(yù)測的路徑來執(zhí)行線程。典型地按每分支預(yù)測表項(xiàng)2比特飽和計(jì)數(shù)器來實(shí)現(xiàn)分支預(yù)測,其中,狀態(tài)是:00(強(qiáng)不采用),弱不采用(01)、弱采用(10)和強(qiáng)采用(11)。在已判決的所采用的分支上,計(jì)數(shù)器增加;然而,在到達(dá)“11”的狀態(tài)時,計(jì)數(shù)器在該值飽和。在已判決的不采用的分支上,計(jì)數(shù)器減少;然而,在到達(dá)狀態(tài)“00”時,計(jì)數(shù)器在該值飽和。對于狀態(tài)“10”和狀態(tài)“11”,將分支預(yù)測為采用,而對于狀態(tài)“00”和“01”,將分支預(yù)測為不采用。該飽和計(jì)數(shù)器為分支提供方向;然而,關(guān)于分支的精度沒有聲明。例如,在for循環(huán)上,除了失敗情況之外,每次都采用分支。在失敗迭代時,置信度計(jì)數(shù)器從“11”降級為“10”。下一次遇到for循環(huán),將再次采用該分支。故此,在“11”的狀態(tài)下,對于遇到除了失敗之外的所有情況采用分支。在“10”的狀態(tài)時,將再次采用分支。故此,強(qiáng)狀態(tài)并不指示比弱狀態(tài)更置信的預(yù)測。在這種進(jìn)行預(yù)測的方案中未考慮的是分支預(yù)測的精度。在多線程處理環(huán)境中,多線程可以同時執(zhí)行工作。故此,多線程可以運(yùn)行在流水線中,每個線程遇到多分支,并且通過流水線傳輸所預(yù)測的狀態(tài)(強(qiáng)/弱采用/不采用),從而在分支判決時,可以更新分支表內(nèi)的預(yù)測狀態(tài)。此外,在多線程處理器中,存在各線程之間所共享的資源。這些動態(tài)劃分的資源是基于先到先服務(wù)的。雖然動態(tài)資源允許硅面積和功率優(yōu)化,但存在動態(tài)資源的很多性能限制,例如線程掛起(hogging),其產(chǎn)生性能限制因素。例如,當(dāng)一個線程X停止(stall)時,另一線程Y有能力用上大量流水線資源。線程Y可能正創(chuàng)建扔掉(throw-away)工作(例如,下行到所確定的分支錯誤路徑)并且從X獲取X可能對于未扔掉的工作而在近期未來中使用的資源。
發(fā)明內(nèi)容
示例性實(shí)施例包括一種用于指令執(zhí)行的計(jì)算機(jī)系統(tǒng),所述系統(tǒng)包括:處理器,具有流水線,其中,所述系統(tǒng)被配置為:執(zhí)行包括以下步驟的方法:在所述流水線中取回多條指令,其中,所述多條指令包括多條分支指令;對于所述多條分支指令中的每一條,將分支不確定度分配給所述多條分支指令中的每一條;對于所述多條指令中的每一條,分配指令不確定度,其為較舊的未判決的分支的分支不確定度的總和;以及在所述流水線中基于指令不確定度的當(dāng)前總和來平衡所述指令。
附加示例性實(shí)施例包括一種用于流水線中的指令執(zhí)行的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括:在所述流水線中獲取多條指令,其中,所述多條指令包括多條分支指令;對于所述多條分支指令中的每一條,將分支不確定度分配給所述多條分支指令中的每一條;對于所述多條指令中的每一條,分配指令不確定度,其為較舊的未判決的分支的分支不確定度的總和;以及在所述流水線中基于指令不確定度的當(dāng)前總和來平衡所述指令。
其它示例性實(shí)施例包括一種用于流水線中的指令執(zhí)行的計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品包括:有形存儲介質(zhì),可由處理電路讀取,并且存儲用于所述處理電路執(zhí)行的指令,以用于執(zhí)行方法。所述方法包括:在所述流水線中取回多條指令,其中,所述多條指令包括多條分支指令;對于所述多條分支指令中的每一條,將分支不確定度分配給所述多條分支指令中的每一條;對于所述多條指令中的每一條,分配指令不確定度,其為較舊的未判決的分支的分支不確定度的總和;以及在所述流水線中基于指令不確定度的當(dāng)前總和來平衡所述指令。
通過本發(fā)明的的技術(shù)來實(shí)現(xiàn)附加特征和優(yōu)點(diǎn)。本發(fā)明的其它實(shí)施例和方面在此詳細(xì)描述并且被看作一部分所要求的本發(fā)明。為了更好地理解本發(fā)明的優(yōu)點(diǎn)和特征,參照描述和附圖。
附圖說明
在說明書的結(jié)尾處的權(quán)利要求中特定地指出并且獨(dú)特地要求被看作本發(fā)明的主題內(nèi)容。從結(jié)合附圖的以下詳細(xì)描述,本發(fā)明的以上和其它特征和優(yōu)點(diǎn)是清楚的,其中:
圖1示出用于通過指令不確定度在多線程處理器內(nèi)進(jìn)行指令平衡的系統(tǒng)100的框圖;
圖2示出根據(jù)示例性實(shí)施例的可以實(shí)現(xiàn)示例性指令平衡方法的處理器指令流水線系統(tǒng)的框圖;
圖3示出用于通過指令不確定度在多線程處理器內(nèi)進(jìn)行指令平衡的方法的流程圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國際商業(yè)機(jī)器公司,未經(jīng)國際商業(yè)機(jī)器公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380008222.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 多線程應(yīng)用系統(tǒng)的異常處理方法和異常處理裝置
- 一種面向片上網(wǎng)絡(luò)的多線程調(diào)度實(shí)現(xiàn)方法
- 基于計(jì)算機(jī)多線程多核顯微鏡細(xì)胞圖像快速掃描處理方法
- 一種基于同步鎖的多線程處理方法、終端以及存儲介質(zhì)
- 多線程并發(fā)處理系統(tǒng)及方法
- 海外控股估值流程控制方法、裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì)
- 讀數(shù)方法、電子裝置、計(jì)算機(jī)設(shè)備及存儲介質(zhì)
- 一種基于云平臺多線程調(diào)度的方法、系統(tǒng)、設(shè)備及介質(zhì)
- 一種基于云平臺的前端多線程調(diào)度方法和系統(tǒng)
- 多線程調(diào)度方法、裝置、電子設(shè)備及存儲介質(zhì)





