本公開(kāi)的實(shí)施例關(guān)于計(jì)算領(lǐng)域;并且更具體地,實(shí)施例關(guān)于用于實(shí)現(xiàn)自適應(yīng)分支預(yù)測(cè)扼制(throttling)的裝置和方法。
背景技術(shù):
1、為了增加單線(xiàn)程性能,現(xiàn)代計(jì)算機(jī)處理器微體系結(jié)構(gòu)繼續(xù)朝著更寬且更深的管線(xiàn)進(jìn)展以利用指令級(jí)并行性。雖然這些設(shè)計(jì)選擇激進(jìn)地依賴(lài)于推測(cè)性執(zhí)行來(lái)改善總指令吞吐量,但是每當(dāng)處理器管線(xiàn)由于錯(cuò)誤的路徑執(zhí)行而需要被清除以將指令取得重定向到正確的路徑時(shí),這些設(shè)計(jì)選擇也引起高能量成本。該缺點(diǎn)在具有高分支誤預(yù)測(cè)率和/或長(zhǎng)分支解析等待時(shí)間的工作負(fù)載中尤其明顯。
2、先前的工作已提出用于對(duì)管線(xiàn)階段(例如,取得、解碼)進(jìn)行門(mén)控以減少被推測(cè)性地發(fā)出的指令的數(shù)量的技術(shù)。這些技術(shù)依賴(lài)于分支置信度估計(jì)以決定管線(xiàn)何時(shí)應(yīng)當(dāng)被門(mén)控。但是此類(lèi)技術(shù)在作出限制推測(cè)的決策時(shí)不考慮錯(cuò)誤路徑執(zhí)行的動(dòng)態(tài)操作條件和性能益處。
技術(shù)實(shí)現(xiàn)思路
1.一種方法,包括:
2.如權(quán)利要求1所述的方法,其中,當(dāng)所述處理器執(zhí)行分支預(yù)測(cè)時(shí),查找所述分支置信度數(shù)據(jù)結(jié)構(gòu)發(fā)生。
3.如權(quán)利要求1或2所述的方法,其中,所述分支置信度數(shù)據(jù)結(jié)構(gòu)包括用于所述當(dāng)前分支的條目,并且所述條目包括分支的標(biāo)識(shí)符和低置信度的指示。
4.如權(quán)利要求3所述的方法,其中,所述條目進(jìn)一步包括以下一項(xiàng)或多項(xiàng):
5.如權(quán)利要求1或2所述的方法,其中,扼制所述分支預(yù)測(cè)包括以下一項(xiàng)或多項(xiàng):
6.如權(quán)利要求1或2所述的方法,其中,扼制所述分支預(yù)測(cè)的水平是基于所述處理器的性能狀態(tài)的。
7.如權(quán)利要求6所述的方法,其中,所述處理器的所述性能狀態(tài)比默認(rèn)性能狀態(tài)低對(duì)應(yīng)于扼制水平比默認(rèn)扼制水平高。
8.如權(quán)利要求6所述的方法,其中,扼制水平基于所述處理器的所述性能狀態(tài)與所述扼制水平之間的映射被確定。
9.如權(quán)利要求1或2所述的方法,其中,所述單個(gè)線(xiàn)程的所述分支誤預(yù)測(cè)率基于每數(shù)個(gè)時(shí)鐘周期的被誤預(yù)測(cè)的微操作的數(shù)量被確定。
10.如權(quán)利要求1或2所述的方法,其中,所述單個(gè)線(xiàn)程的所述微指令損耗率基于所分配的微操作與被引退的微操作的比率被確定。
11.如權(quán)利要求1或2所述的方法,其中,所述單個(gè)線(xiàn)程的所述緩存未命中率基于每數(shù)個(gè)指令的緩存未命中的數(shù)量被確定。
12.如權(quán)利要求1或2所述的方法,進(jìn)一步包括:
13.一種處理器,包括:
14.如權(quán)利要求13所述的處理器,其中,當(dāng)所述處理器執(zhí)行分支預(yù)測(cè)時(shí),查找所述分支置信度數(shù)據(jù)結(jié)構(gòu)發(fā)生。
15.如權(quán)利要求13或14所述的處理器,其中,所述分支置信度數(shù)據(jù)結(jié)構(gòu)包括用于所述當(dāng)前分支的條目,并且所述條目包括分支的標(biāo)識(shí)符和低置信度的指示。
16.如權(quán)利要求13或14所述的處理器,其中,扼制所述分支預(yù)測(cè)包括:跳過(guò)分支預(yù)測(cè)達(dá)數(shù)個(gè)時(shí)鐘周期。
17.一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)指令,所述指令在由計(jì)算系統(tǒng)的處理器執(zhí)行時(shí)能夠使所述計(jì)算系統(tǒng)用于執(zhí)行以下步驟:
18.如權(quán)利要求17所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,扼制所述分支預(yù)測(cè)的水平是基于所述處理器的性能狀態(tài)的。
19.如權(quán)利要求17或18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述單個(gè)線(xiàn)程的所述分支誤預(yù)測(cè)率基于每數(shù)個(gè)時(shí)鐘周期的被誤預(yù)測(cè)的微操作的數(shù)量被確定。
20.如權(quán)利要求17或18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述單個(gè)線(xiàn)程的所述微指令損耗率基于所分配的微操作與被引退的微操作的比率被確定。
21.如權(quán)利要求17或18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,當(dāng)所述處理器執(zhí)行分支預(yù)測(cè)時(shí),查找所述分支置信度數(shù)據(jù)結(jié)構(gòu)發(fā)生。
22.如權(quán)利要求17或18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述分支置信度數(shù)據(jù)結(jié)構(gòu)包括用于所述當(dāng)前分支的條目,并且所述條目包括分支的標(biāo)識(shí)符和低置信度的指示。
23.如權(quán)利要求17或18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,扼制所述分支預(yù)測(cè)包括以下一項(xiàng)或多項(xiàng):
24.如權(quán)利要求17或18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述單個(gè)線(xiàn)程的所述緩存未命中率基于每數(shù)個(gè)指令的緩存未命中的數(shù)量被確定。
25.如權(quán)利要求17或18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述指令能夠使所述計(jì)算系統(tǒng)執(zhí)行以下步驟: