用于在時鐘源的時鐘網(wǎng)格的自動時鐘門控的方法和系統(tǒng)的制作方法
【專利摘要】公開了用于在時鐘源的時鐘網(wǎng)格的自動時鐘門控的方法和系統(tǒng)。用于通過在時鐘源實施時鐘門控來進(jìn)行功率管理的系統(tǒng)和方法。在方法中,在處理單元的核心的經(jīng)鐘控部件內(nèi)檢測關(guān)鍵停頓情形。核心包括通過由時鐘網(wǎng)格所分配的時鐘信號在操作中進(jìn)行同步的一個或多個經(jīng)鐘控部件。在關(guān)鍵停頓情形期間時鐘網(wǎng)格被時鐘門控以中止時鐘信號分配到核心。
【專利說明】用于在時鐘源的時鐘網(wǎng)格的自動時鐘門控的方法和系統(tǒng)
【背景技術(shù)】
[0001]高頻微處理器以及其他計算引擎通常使用時鐘網(wǎng)格(代替時鐘樹)作為全局時鐘 分配機(jī)制以減少時鐘不確定性并使更多額定時鐘周期可用于計算。
[0002]另一方面,當(dāng)時鐘樹用于時鐘分配時,大部分全局時鐘分配網(wǎng)絡(luò)可被相對容易地 門控,從而以相對局部的方式大量消除全局時鐘分配(有功/動態(tài))功率。
[0003]然而在另一方面,出于功率管理的目的,當(dāng)與時鐘樹相比較時,時鐘網(wǎng)格不易被門 控。盡管當(dāng)活動時時鐘網(wǎng)格具有頻率優(yōu)勢并因此具有概念上的能量效率優(yōu)勢,但是當(dāng)微處 理器不活動時,諸如當(dāng)?shù)却幚砥鳑]有其則不可繼續(xù)的、來自存儲器的信息時,時鐘網(wǎng)格具 有一些功率缺點。也就是說,功率被時鐘的分配和處理器電路部分地消耗。
[0004]時鐘網(wǎng)格依靠其全局地處于“on (打開)”來減少偏差(skew)。由于其配置,比起 當(dāng)使用時鐘樹時可能的情況,傳統(tǒng)的時鐘門控被迫時鐘門控得更接近“葉”。由于比起相 應(yīng)生成樹,網(wǎng)格典型地具有更多電容和晶體管,所以針對由時鐘網(wǎng)格所鐘控的電路,較多功 率被潛在地消耗和/或浪費(fèi)。在這種不活動的情況下,即使所有單元被局部時鐘門控,全 局時鐘網(wǎng)格可能消耗數(shù)百毫瓦,然而處理器由于這種對存儲器未命中的性質(zhì)或等同的停頓 (stalling)情形仍無法取得進(jìn)展。
[0005]在一些情況下,可使用功率管理軟件控制來管理時鐘網(wǎng)格。例如,針對受限的關(guān)鍵 (critical)情形,可通過使用顯式軟件功率管理指令和序列來處置時鐘網(wǎng)格的有功時鐘功 率。例如,可通過顯式地進(jìn)入軟件控制之下的低功率狀態(tài)來達(dá)成通過軟件控制的功率管理。 經(jīng)軟件控制的低功率狀態(tài)可在源處門控時鐘網(wǎng)格。
[0006]然而,經(jīng)軟件控制的功率管理解決方案不幫助在動態(tài)和/或關(guān)鍵情形下節(jié)省功 率,因為當(dāng)存在關(guān)鍵情形時軟件無法以及時的方式識別。例如,經(jīng)軟件控制的管理解決方案 無法確定指令分支何時將進(jìn)行誤預(yù)測并隨后在較低級高速緩存或底層的存儲器系統(tǒng)中搜 索適當(dāng)?shù)闹噶詈?或數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0007]公開了用于實施功率管理的方法和系統(tǒng)。方法包括在時鐘源實施時鐘門控。具體 來講,在處理單元的核心的基于硬件的經(jīng)鐘控部件內(nèi)檢測關(guān)鍵停頓情形。核心包括通過由 時鐘網(wǎng)格所分配的時鐘信號在操作中進(jìn)行同步的一個或多個經(jīng)鐘控部件。在關(guān)鍵停頓情形 期間,時鐘網(wǎng)格在供應(yīng)時鐘信號給核心的根分支處被時鐘門控以中止時鐘信號遍及核心的 分配。
[0008]在另一個實施例中,公開了用于功率管理的另一個方法。方法包括檢測指令何時 從處理單元的核心的經(jīng)鐘控部件發(fā)送。指令與響應(yīng)相關(guān)聯(lián),其中在等待響應(yīng)的接收之際,核 心中的數(shù)據(jù)的處理是中止的或不活動的。在一些示例中,響應(yīng)從存儲器系統(tǒng)返回。核心包括 通過由時鐘網(wǎng)格所分配的時鐘信號在操作中進(jìn)行同步的一個或多個經(jīng)鐘控部件。方法包括 開始計數(shù)器。計數(shù)器增加,諸如,每個時鐘周期計數(shù)器增加一。針對響應(yīng),事務(wù)經(jīng)監(jiān)視。例 如,針對對指令的響應(yīng),來自存儲器系統(tǒng)的事務(wù)經(jīng)監(jiān)視。方法包括確定在檢測到響應(yīng)之前計數(shù)器何時達(dá)到閾值。如果在響應(yīng)的檢測之前計數(shù)器達(dá)到閾值,方法包括在關(guān)鍵停頓情形期 間時鐘門控時鐘網(wǎng)格以中止時鐘信號分配到核心。
[0009]在又一個實施例中,公開了用于功率管理的設(shè)備。設(shè)備包括用于提供時鐘信號的 時鐘源。設(shè)備還包括用于將時鐘信號分配到處理單元的核心的時鐘網(wǎng)格。核心包括通過由 時鐘信號在操作中進(jìn)行同步的一個或多個經(jīng)鐘控部件。包括基于硬件的監(jiān)視器,用于檢測 核心的經(jīng)鐘控部件內(nèi)的關(guān)鍵停頓情形。在一個實施例中,經(jīng)鐘控部件包括基于硬件的監(jiān)視 器。設(shè)備包括時鐘網(wǎng)格控制單元,用于在關(guān)鍵停頓情形期間在時鐘網(wǎng)格的根分支處時鐘門 控時鐘網(wǎng)格以中止時鐘信號遍及核心的分配。根分支將時鐘信號分配到核心。
[0010]在閱讀接下來各種附圖中所示出的實施例的詳細(xì)描述之后,本領(lǐng)域普通技術(shù)人員 將理解本公開的各種實施例的這些和其他目的和優(yōu)點。
【專利附圖】
【附圖說明】
[0011]附圖被包括在本說明書中并形成本說明書的一部分,其中類似數(shù)字描繪類似元 素,附圖示出本公開的實施例,并且與描述一起用來解釋本公開的原理。
[0012]圖1描繪根據(jù)本公開的一個實施例的、適合于實現(xiàn)所呈現(xiàn)的方法的示例性計算機(jī) 系統(tǒng)的框圖。
[0013]圖2是根據(jù)本公開的一個實施例的、用于將指令處理為一系列非獨(dú)立步驟的處理 器的示例性核心的示例性指令管線的圖。
[0014]圖3是根據(jù)本公開的一個實施例的、配置為通過當(dāng)檢測關(guān)鍵停頓情形時時鐘門控 時鐘源以中止時鐘信號的分配來實施功率管理的設(shè)備的框圖。
[0015]圖4是根據(jù)本公開的一個實施例的、示出用于通過當(dāng)檢測關(guān)鍵停頓情形時時鐘門 控時鐘源以中止時鐘信號的分配來實施功率管理的方法的流程圖。
[0016]圖5是根據(jù)本公開的一個實施例的、示出用于通過當(dāng)在指令已發(fā)送之后并且在已 檢測或接收對指令的響應(yīng)之前計數(shù)器已達(dá)到閾值時時鐘門控時鐘源以中止時鐘信號的分 配來實施功率管理的方法的流程圖。
【具體實施方式】
[0017]現(xiàn)在將對本公開的各種實施例進(jìn)行詳細(xì)參考,其示例在附圖中示出。雖然結(jié)合這 些實施例加以描述,但應(yīng)理解其并不意圖將本公開限定于這些實施例。相反,本公開意在涵 蓋可包括在如所附的權(quán)利要求所定義的本公開的精神和范圍內(nèi)的替代、修改以及等同物。 此外,在本公開接下來的詳細(xì)描述中,闡述了大量具體細(xì)節(jié)以提供對本公開的徹底理解。然 而,應(yīng)理解的是本公開可在沒有這些具體細(xì)節(jié)的情況下加以實施。在其他實例中,未詳細(xì)描 述公知的方法、過程、部件和電路以避免對本公開的各方面內(nèi)容造成不必要的混淆。
[0018]接下來的一些詳細(xì)描述部分以過程、邏輯塊、處理以及對計算機(jī)存儲器內(nèi)的數(shù)據(jù) 位的操作的其他象征性表示來呈現(xiàn)。這些描述和表示是由數(shù)據(jù)處理領(lǐng)域技術(shù)人員用來向本 領(lǐng)域的其他技術(shù)人員最有效地傳達(dá)他們工作的實質(zhì)所使用的手段。在本申請中,過程、邏輯 塊、進(jìn)程等等,被設(shè)想為得出期望結(jié)果的步驟或指令的自洽序列。步驟利用物理量的物理操 縱。通常,盡管不是必要地,這些量采用能在計算機(jī)系統(tǒng)中被存儲、轉(zhuǎn)移、組合、比較和另外 操縱的電或磁信號的形式。已經(jīng)證明,主要是出于共同使用的原因,將這些信號稱為事務(wù)、位、值、元素、符號、字符、樣本、像素等等有時是方便的。
[0019]然而,要牢記的是,所有的這些和類似的術(shù)語都要與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián),且僅僅 是應(yīng)用于這些量的便捷標(biāo)簽。除非特別聲明,否則在下面的論述中很明顯,應(yīng)意識到貫穿本 公開,利用術(shù)語諸如“識別”、“確定”、“監(jiān)視”、“門控”等等的討論,指的是計算機(jī)系統(tǒng)或類似 的電子計算設(shè)備或處理器(如圖1的系統(tǒng)100和圖3的微架構(gòu)300)的動作與處理(分別如圖 4和5的流程400和500)。計算機(jī)系統(tǒng)或類似的電子計算設(shè)備對計算機(jī)系統(tǒng)存儲器、寄存 器或其他這類信息存儲、傳輸或顯示設(shè)備內(nèi)以物理(電子)量表示的數(shù)據(jù)進(jìn)行操縱和轉(zhuǎn)換。
[0020]圖4和5是根據(jù)本發(fā)明的實施例的、用于處理數(shù)據(jù)的計算機(jī)實現(xiàn)的方法的示例的 流程圖。雖然在流程圖中公開了具體步驟,但這種步驟是示例性的。也就是說,本發(fā)明的實 施例適合于實施各種其他步驟或在流程圖中所敘述的步驟的變形。
[0021]本文所描述的本發(fā)明的實施例在配置為用于監(jiān)視和執(zhí)行指令的基于硬件的部件 的上下文內(nèi)經(jīng)討論。也就是說,本發(fā)明的實施例在硬件設(shè)備或微架構(gòu)內(nèi)實現(xiàn),并配置為出于 功率管理的目的監(jiān)視關(guān)鍵停頓情形以及實施適當(dāng)?shù)臅r鐘門控。
[0022]本文描述的其他實施例可一般圍繞著存在于某形式的計算機(jī)可讀存儲介質(zhì)上的 計算機(jī)可執(zhí)行指令加以討論,諸如由一臺或多臺計算機(jī)或其他設(shè)備執(zhí)行的程序模塊。以示 例的方式但非限制,計算機(jī)可讀存儲介質(zhì)可以包括非暫時性計算機(jī)存儲介質(zhì)和通信介質(zhì)。 通常,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,其執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的 抽象數(shù)據(jù)類型。程序模塊的功能可以在各種實施例按照期望加以組合或分配。
[0023]計算機(jī)存儲介質(zhì)包括易失性和非易失性、可移動的和不可移動的以任意方法或技 術(shù)實現(xiàn)的介質(zhì),用于存儲信息諸如計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。計算 機(jī)存儲介質(zhì)包括但不限于,隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦可編程ROM (EEPR0M)、閃速存儲器或其他存儲器技術(shù)、壓縮光盤ROM (⑶-ROM)、數(shù)字多用盤(DVD)或其 他光學(xué)存儲、盒式磁帶、磁帶、磁盤存儲或其他磁性存儲設(shè)備、或任意其他可用來存儲期望 信息并可訪問以檢索該信息的介質(zhì)。
[0024]通信介質(zhì)可體現(xiàn)計算機(jī)可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)及程序模塊,并包括任意信息遞送 介質(zhì)。以示例的方式而非限制,通信介質(zhì)包括有線介質(zhì)諸如有線網(wǎng)絡(luò)或直接有線連接,以及 無線介質(zhì)諸如聲、射頻(RF)、紅外及其他無線介質(zhì)。以上的任意組合也可包括在計算機(jī)可讀 介質(zhì)范圍內(nèi)。
[0025]圖1是能夠?qū)崿F(xiàn)本公開的實施例的計算系統(tǒng)100的示例的框圖。計算系統(tǒng)100廣 泛地表示能夠執(zhí)行計算機(jī)可讀指令的任意單或多處理器計算設(shè)備或系統(tǒng)。計算系統(tǒng)100的 示例包括但不限于,工作站、膝上型計算機(jī)、客戶端終端、服務(wù)器、分布式計算系統(tǒng)、手持設(shè) 備或任意其他計算系統(tǒng)或設(shè)備。在其最基本配置中,計算系統(tǒng)100可包括至少一個處理器 110以及系統(tǒng)存儲器140。
[0026]中央處理單元(CPU) 110和圖形處理單元(GPU) 120均耦連到存儲器140。系統(tǒng)存 儲器140總地表示能夠存儲數(shù)據(jù)和/或其他計算機(jī)可讀指令的任意類型或形式的易失性或 非易失性存儲設(shè)備或介質(zhì)。系統(tǒng)存儲器140的示例包括但不限于,RAM、ROM、閃速存儲器或 任意其他合適的存儲器設(shè)備。在圖1的示例中,存儲器140是共享存儲器,存儲器靠其存儲 指令和數(shù)據(jù)用于CPUl 10和GPU120??商娲?,可以分別有專用于CPUl 10和GPU120的分開 的存儲器。存儲器可包括幀緩沖區(qū)用于存儲驅(qū)動顯示屏130的像素數(shù)據(jù)。[0027]系統(tǒng)100包括用戶接口 160,在一個實現(xiàn)方案中,該用戶接口包括屏上光標(biāo)控制設(shè) 備。用戶接口可包括鍵盤、鼠標(biāo)和/或觸摸屏設(shè)備(觸摸板)。
[0028]CPUllO和/或GPU120總地表示能夠處理數(shù)據(jù)或翻譯和執(zhí)行指令的任意類型或形 式的處理單元。在某些實施例中,處理器110和/或120可從軟件應(yīng)用或硬件模塊接收指 令。這些指令可使處理器110和/或120實施本文所描述和/或所示出的一個或多個示范 性實施例的功能。例如,處理器110和/或120可單獨(dú)地或與其他元件組合地實施監(jiān)視、確 定、選通以及檢測或本文所描述的等等中的一個或多個和/或是用于單獨(dú)地或與其他元件 組合地實施上述操作的裝置。處理器110和/或120還可實施本文所描述的和/或所示出 的任意其他步驟、方法或過程和/或是用于實施本文所描述的和/或所示出的任意其他步 驟、方法或過程的裝置。
[0029]在一些實施例中,可將包括計算機(jī)程序的計算機(jī)可讀介質(zhì)加載到計算系統(tǒng)100。存 儲在計算機(jī)可讀介質(zhì)上的計算機(jī)程序的所有或一部分可隨后存儲在系統(tǒng)存儲器140和/或 存儲設(shè)備的各部分中。當(dāng)由處理器110和/或120所執(zhí)行時,被加載到計算系統(tǒng)100的計 算機(jī)程序可使處理器110和/或120實施本文所描述的和/或所示出的示范性實施例的功 能和/或是用于實施上述功能的裝置。附加地或可替代地,可在固件和/或硬件中實現(xiàn)本 文所描述的和/或所示出的示范性實施例。
[0030]圖2是根據(jù)本公開的一個實施例的、用于將指令處理為一系列非獨(dú)立步驟的處理 器的示例性核心的示例性指令管線200的圖。管線200配置為執(zhí)行指向特定特征或功能性 的高級指令。如圖2中所示,管線200示出單個指令路徑,盡管針對增加的性能,管線200 可包括多個并行的同時操作的數(shù)據(jù)路徑。
[0031]總而言之,管線200包括一個或多個非獨(dú)立階段(stage)用于實施多個指令,其中 每個階段實施特定指令。也就是說,階段以具體順序執(zhí)行,因為一個階段的輸出是接下來階 段的輸入。每個指令和/或階段在一個時鐘周期中執(zhí)行。如圖2中所示,階段通常由相應(yīng)執(zhí) 行單元所表示。例如,管線200包括一個或多個執(zhí)行單元,包括執(zhí)行單元210、220、230等。 更具體地,執(zhí)行單元210位于管線200的前端,并且執(zhí)行單元230位于管線200的后端。
[0032]在高級別,管線200的執(zhí)行單元可包括但不限于指令獲取單元(IFU)、指令解碼單 元、執(zhí)行單元、分支預(yù)測單元、算術(shù)邏輯單元(ALU)、加載存儲單元、存儲器管理單元、單指令 多數(shù)據(jù)(SMID)單元以及寫回單元。這些執(zhí)行單元實施被設(shè)計為執(zhí)行特定功能的微架構(gòu)的 操作和/或計算。
[0033]此外,執(zhí)行單元可能經(jīng)歷停頓情形。例如,在管線200中的處理可能停頓在具體執(zhí) 行單元,其中在當(dāng)前時鐘周期期間在執(zhí)行單元的指令無法得到處理。這樣,在執(zhí)行單元經(jīng)歷 停頓情形的同時,管線200部分地停頓直到相應(yīng)執(zhí)行單元能夠完成其指令并解決其被停頓 的情形為止。更具體地,管線200針對經(jīng)停頓的執(zhí)行單元之前的階段停頓。如圖2中所示, 在停頓情形中的執(zhí)行單元由停頓情形循環(huán)所表示,其中指令循環(huán)回來以由執(zhí)行單元再次進(jìn) 行處理。具體地,執(zhí)行單元210包括相應(yīng)停頓情形循環(huán)215,執(zhí)行單元220包括相應(yīng)停頓情 形循環(huán)225,并且執(zhí)行單元230包括相應(yīng)停頓情形循環(huán)235。
[0034]停頓情形可在微架構(gòu)之間改變。本發(fā)明的實施例配置為監(jiān)視由特定微架構(gòu)所經(jīng)歷 的一個或多個停頓情形。更特別地,本發(fā)明的實施例配置為監(jiān)視一個或多個關(guān)鍵或動態(tài)停 頓情形。例如,在管線200的執(zhí)行單元中觸發(fā)停頓的一個關(guān)鍵或動態(tài)停頓情形是轉(zhuǎn)譯后備緩沖區(qū)(translation lookaside buffer TLB)未命中,其中對應(yīng)于所請求的虛擬地址的物 理地址未位于TLB高速緩存中,并且也未位于TLB L-2高速緩存中。這樣,轉(zhuǎn)譯處理必須實 施相對應(yīng)頁面表的漫游(walk-through)以確定適當(dāng)?shù)奈锢淼刂?。在管線200的執(zhí)行單元 中觸發(fā)停頓的另一個動態(tài)停頓情形是屏障指令,經(jīng)實現(xiàn)以在存儲器操作上強(qiáng)制實行排序約 束和/或確保在屏障指令之前所要求的所有存儲器訪問的完成。在屏障指令的執(zhí)行期間, 在等待屏障指令的完成之際,諸如當(dāng)?shù)却齺碜院苈拇鎯ζ飨到y(tǒng)的返回或確認(rèn)時,相應(yīng)執(zhí) 行單元停頓。在管線200的執(zhí)行單元中觸發(fā)停頓的又一個動態(tài)停頓情形是分支的誤預(yù)測, 諸如當(dāng)分支預(yù)測在條件分支上未命中時,其觸發(fā)管線200的清洗(flush)。當(dāng)正在獲取的適 當(dāng)?shù)闹噶罨驍?shù)據(jù)未位于呈現(xiàn)在芯片上的指令高速緩存(1-高速緩存或L-1高速緩存)中并 且也未位于其他片外較高級高速緩存(例如L-2高速緩存)上時,停頓情形轉(zhuǎn)到長時延未命 中,這樣,為了得到適當(dāng)?shù)男畔?,正在獲取的適當(dāng)?shù)闹噶罨驍?shù)據(jù)必須去其他較低級高速緩存 (例如主存儲器)。在管線200的執(zhí)行單元中觸發(fā)停頓的另一個動態(tài)停頓情形是對非高速緩 存的加載的請求,其中信息必須從主存儲器系統(tǒng)而非從高速緩存中檢索。在某種意義上,對 非高速緩存的加載的請求類似于TLB未命中。針對可被識別用于實施用于功率管理的時鐘 門控的目的的各種微架構(gòu),還考慮其他關(guān)鍵或動態(tài)停頓情形。
[0035]圖3是根據(jù)本公開的一個實施例的、配置為通過當(dāng)檢測關(guān)鍵停頓情形時時鐘門控 時鐘源以中止時鐘信號的分配來實施功率管理的計算資源的微架構(gòu)300的框圖。例如,微 架構(gòu)300可配置為檢測諸如圖2的管線200的管線內(nèi)指令的執(zhí)行內(nèi)的關(guān)鍵停頓情形。
[0036]如圖3中所示,微架構(gòu)300包括配置為提供時鐘信號的時鐘源360。例如,在一個 實現(xiàn)方案中,時鐘源360是生成時鐘信號的鎖相環(huán)(PLL)電路。此外,時鐘信號經(jīng)由分配網(wǎng) 絡(luò)被分配遍及微架構(gòu)300。例如,時鐘分配網(wǎng)絡(luò)包括用于分配時鐘信號到處理器的核心305 的時鐘網(wǎng)格310,其中雖然圖3中僅示出處理器的核心305,但處理器可包括一個或多個核 心。更特別地,核心305包括一個或多個經(jīng)鐘控的部件(例如部件330、340等),其中每個通 過由時鐘網(wǎng)格315所分配的時鐘信號在操作中進(jìn)行同步。
[0037]時鐘網(wǎng)格315是若干分配網(wǎng)絡(luò)或模式中的任何一個的代表??偠灾瑫r鐘網(wǎng)格 配置為:諸如隨著時鐘信號的分配,在某種程度上通過最小化時鐘信號的偏差,同時將時鐘 信號分配遍及核心305。時鐘網(wǎng)格315的示例包括二進(jìn)制樹、H樹、X樹等。
[0038]如圖3中所示,分配遍及核心305的時鐘信號由一個或多個經(jīng)鐘控部件所接收,包 括經(jīng)鐘控部件330和經(jīng)鐘控部件340。經(jīng)鐘控部件配置為實施一個或多個功能,并且在一個 實施例中是基于硬件的。在一個實現(xiàn)方案中,經(jīng)鐘控部件包括先前在圖2中所引入的執(zhí)行 單元、或與執(zhí)行單元相關(guān)聯(lián)的或配置為監(jiān)視執(zhí)行單元的部件。
[0039]例如,在一個實施例中,經(jīng)鐘控部件330包括監(jiān)視器335,用于在核心305的經(jīng)鐘控 部件內(nèi)檢測關(guān)鍵停頓情形。在一個實現(xiàn)方案中,監(jiān)視器335是基于硬件的并配置為監(jiān)視經(jīng) 鐘控部件330的預(yù)定義的情形或狀態(tài)。作為示例,監(jiān)視器335配置為監(jiān)視高速緩存未命中, 其中經(jīng)鐘控部件包括L-21-高速緩存,并且配置為檢測指令何時與1-高速緩存未命中、以 及L-21-高速緩存未命中相關(guān)聯(lián),從而引起核心305的管線內(nèi)的長時延期。
[0040]在另一個實施例中,經(jīng)鐘控部件330主要包括并且起監(jiān)視器335的作用。也就是 說,監(jiān)視器335配置為監(jiān)視對于經(jīng)鐘控部件330是遠(yuǎn)程的另一個設(shè)備的狀態(tài)。例如,監(jiān)視器 335可配置為監(jiān)視先前在圖2中所引入的執(zhí)行單元的活動和響應(yīng)。以先前所提供的示例繼續(xù),監(jiān)視器335可正監(jiān)視分開放置的諸如L-21-高速緩存的經(jīng)鐘控部件的狀態(tài)。
[0041]此外,微架構(gòu)300包括時鐘網(wǎng)格控制單元320,用于管理源自時鐘源360的時鐘信 號的分配。具體來講,時鐘網(wǎng)格控制單元320電氣地耦連到核心305,并且更具體地,耦連到 核心305的一個或多個監(jiān)視器(例如監(jiān)視器335和345)。這樣,時鐘網(wǎng)格控制單元320能夠 接收來自核心305中的監(jiān)視器中的每一個的消息,該消息指導(dǎo)時鐘網(wǎng)格控制單元320在時 鐘網(wǎng)格310的根分支317處時鐘門控時鐘網(wǎng)格310。根分支317分配源自時鐘源360的時 鐘信號。通過門控根分支317,時鐘網(wǎng)格控制單元320配置為在由相應(yīng)監(jiān)視器所識別的關(guān)鍵 停頓情形期間中止時鐘信號分配到核心305。
[0042]如圖3中所示,時鐘網(wǎng)格控制單元320未位于將時鐘信號供應(yīng)到核心305的時鐘 網(wǎng)格310的部分上。具體來講,當(dāng)相比于從時鐘源360經(jīng)由根分支317時鐘門控核心305 時,時鐘網(wǎng)格控制單元320從時鐘源360單獨(dú)經(jīng)門控。通過該方式,即使根分支317經(jīng)時鐘 門控,時鐘網(wǎng)格控制單元320也不經(jīng)時鐘門控,并且仍接收來自時鐘源360的時鐘信號。此 夕卜,時鐘源360、時鐘網(wǎng)格控制單元320、外部單元370 (例如存儲器系統(tǒng))以及響應(yīng)監(jiān)視器 325和370位于核心305外部,如界限350所示。
[0043]還如圖3中所示,微架構(gòu)300包括響應(yīng)監(jiān)視器,用于監(jiān)視對應(yīng)于關(guān)鍵或動態(tài)停頓情 形的響應(yīng)的目的。例如,響應(yīng)監(jiān)視器配置為監(jiān)視對從停頓情形(例如由于TLB未命中而訪問 物理地址)所生成的指令的響應(yīng),以包括來自外部單元380 (例如存儲器系統(tǒng))的訪問信息。 更特別地,在一個實施例中,響應(yīng)監(jiān)視器325位于時鐘網(wǎng)格控制單元320內(nèi)。在另一個實施 例中,響應(yīng)監(jiān)視器370是與時鐘網(wǎng)格控制單元320分開的獨(dú)立單元,并且電氣地耦連到時鐘 網(wǎng)格控制單元320。此外,響應(yīng)監(jiān)視器325和370位于核心305外部,其中其位于與將時鐘 信號供應(yīng)到核心305的根分支317不同的分支(例如根分支)上。通過該方式,即使時鐘信 號在根分支317處經(jīng)門控,到響應(yīng)監(jiān)視器325和/或370的時鐘信號也不被抑制,即使時鐘 信號未傳遞到核心305。通過該方式,一旦響應(yīng)被識別為與關(guān)鍵或動態(tài)停頓情形相關(guān)聯(lián),相 應(yīng)響應(yīng)監(jiān)視器配置為告知時鐘網(wǎng)格控制單元320在時鐘網(wǎng)格310的根分支317處對時鐘網(wǎng) 格310解除時鐘門控。這樣,當(dāng)響應(yīng)返回時,由于核心305再次接收時鐘信號,起接收作用 的經(jīng)鐘控部件被供電回到打開(on )。
[0044]在一個實施例中,響應(yīng)監(jiān)視器325和/或370配置為識別對應(yīng)于生成自停頓情形 的和/或強(qiáng)制造成停頓情形的指令的唯一事務(wù)標(biāo)識符,以及對該指令的響應(yīng)。例如,事務(wù)標(biāo) 識符是存儲器地址。在另一個示例中,事務(wù)標(biāo)識符是經(jīng)生成用于事務(wù)的多位數(shù),典型地比存 儲器地址所要求的位使用更少的位。這樣,響應(yīng)監(jiān)視器能夠針對事務(wù)標(biāo)識符結(jié)合來自外部 單元(例如存儲器系統(tǒng))380的時鐘網(wǎng)格控制單元響應(yīng)進(jìn)行監(jiān)視。在識別外部單元380中所 使用的術(shù)語“外部”表明單元380在核心305外部,并且更具體地在與將時鐘供應(yīng)到核心305 的根分支317不同的分支(例如根分支)上。通過該方式,即使時鐘信號在根分支317處經(jīng) 門控,到外部單兀380的時鐘信號也不被抑制,即使時鐘信號未傳遞到核心305。一旦確定 響應(yīng)包括事務(wù)標(biāo)識符,那么響應(yīng)監(jiān)視器(例如監(jiān)視器325和370)配置為指導(dǎo)時鐘網(wǎng)格控制 單元320對時鐘網(wǎng)格解除門控或解除時鐘門控以使能時鐘信號分配到核心305,為接收核 心305的相應(yīng)經(jīng)鐘控部件(例如執(zhí)行單元)中的響應(yīng)做準(zhǔn)備。
[0045]圖4是根據(jù)本公開的一個實施例的、描述用于通過當(dāng)檢測關(guān)鍵停頓情形時時鐘門 控時鐘源以中止時鐘信號的分配來實施功率管理的方法的流程圖400。在一個實施例中,流程圖400中所概述的方法可在圖3的微架構(gòu)300內(nèi)實現(xiàn),該微架構(gòu)300配置為確定關(guān)鍵和 /或動態(tài)停頓情形并發(fā)起包括門控時鐘源的功率管理序列。
[0046]在410,檢測其中預(yù)計長時延期的關(guān)鍵和/或動態(tài)停頓情形。例如,位于處理器的 核心內(nèi)的、基于硬件的監(jiān)視器配置為監(jiān)視硬件設(shè)備的特定狀態(tài)情形,如先前所描述的(例如 TLB未命中等)。核心包括通過由時鐘網(wǎng)格所分配的時鐘信號在操作中進(jìn)行同步的一個或多 個經(jīng)鐘控部件或硬件設(shè)備。這些經(jīng)鐘控部件包括可能遭受長時延關(guān)鍵停頓情形的各種單元 (例如IFU、存儲器管理單元、加載存儲單元等)。監(jiān)視器配置為監(jiān)視經(jīng)鐘控部件內(nèi)的那些關(guān) 鍵和/或動態(tài)停頓情形。在一個實施例中,監(jiān)視器包括在被監(jiān)視的相應(yīng)經(jīng)鐘控部件內(nèi)。在 另一個實施例中,監(jiān)視器在正被監(jiān)視的相應(yīng)經(jīng)鐘控部件外部。并且,在一個實現(xiàn)方案中,基 于硬件的監(jiān)視器可包括圖3的監(jiān)視器335和345。
[0047]關(guān)鍵停頓情形通過其長時延特性所識別,如在一個或多個微架構(gòu)中所經(jīng)歷的。例 如,檢測關(guān)鍵停頓情形可包括一個或多個以下情形的檢測:1)管線的清洗,諸如當(dāng)分支誤預(yù) 測發(fā)生時;2) 1-高速緩存未命中;以及L-2高速緩存未命中。在管線清洗的情況中,核心 包括管線,其中管線包括經(jīng)鐘控部件中的一個或多個。在一個實施例中,監(jiān)視器位于1-高 速緩存中,其能夠檢測上面經(jīng)識別情形中的一個或多個。其他關(guān)鍵停頓情形包括但不限于 以下內(nèi)容:1)以下情形中的一個或多個,諸如1-高速緩存未命中和L-2高速緩存未命中; 2)TLB未命中和L-2高速緩存未命中;非高速緩存加載的獲??;以及屏障指令。在一個實施 例中,存儲器系統(tǒng)配置為當(dāng)未命中是長時延未命中時(例如未命中末級高速緩存)告知監(jiān)視 器。
[0048]在420,在關(guān)鍵停頓情形期間時鐘網(wǎng)格經(jīng)時鐘門控以中止時鐘信號分配到核心。也 就是說,通過門控時鐘信號,使得時鐘信號的分配被防止遍及核心來達(dá)成功率管理。這樣, 核心中的經(jīng)鐘控部件將不會抽運(yùn)功率,或?qū)⒆畹拖薅鹊爻檫\(yùn)功率。
[0049]更特別地,配置為監(jiān)視相應(yīng)經(jīng)鐘控部件的監(jiān)視器能夠告知時鐘網(wǎng)格控制單元何時 時鐘門控時鐘網(wǎng)格,諸如在檢測關(guān)鍵停頓之后。也就是說,基于掛起的、到諸如存儲器系統(tǒng) 的外部單元的事務(wù),監(jiān)視器能夠告知時鐘網(wǎng)格控制單元在根分支時鐘門控時鐘網(wǎng)格。更特 別地,根分支配置為將時鐘信號分配到核心,使得門控根分支也防止時鐘信號被分配遍及 核心。通過該方式,面對長時延未命中或其他關(guān)鍵停頓情形,對于足夠關(guān)鍵的存儲器,在停 頓期期間,核心處理器將實施很少或不實施有用的工作,與核心相關(guān)聯(lián)的時鐘網(wǎng)格在根分 支經(jīng)門控。這通過各種空閑的經(jīng)鐘控部件節(jié)省了有功功率的使用,而且時鐘的動態(tài)功率被 分配遍及時鐘網(wǎng)格。
[0050]時鐘網(wǎng)格控制單元耦連到對掛起的事務(wù)提供響應(yīng)的外部單元(例如存儲器系統(tǒng))。 此外,時鐘網(wǎng)格控制單元位于將不會被中止的時鐘網(wǎng)格的分支上,并且在關(guān)鍵停頓情形中 自始至終是活動的。例如,與時鐘網(wǎng)格控制單元相關(guān)聯(lián)的響應(yīng)監(jiān)視器配置為監(jiān)視掛起的事 務(wù)流中的響應(yīng),并且以及時的方式對時鐘網(wǎng)格解除時鐘門控,使得相應(yīng)響應(yīng)到達(dá)通過時鐘 信號的分配適當(dāng)?shù)鼗顒拥木W(wǎng)格中的相應(yīng)經(jīng)鐘控部件。對時鐘網(wǎng)格解除時鐘門控的經(jīng)協(xié)調(diào)的 定時在存儲器和核心之間的同步接口中尤其重要,使得時鐘網(wǎng)格在響應(yīng)傳遞到核心之前被 解除時鐘門控。更特別地,一旦響應(yīng)由響應(yīng)監(jiān)視器和/或時鐘網(wǎng)格控制單元所識別,那么指 令被發(fā)送到時鐘門控控制單元以對時鐘網(wǎng)格解除時鐘門控(例如對根分支解除時鐘門控)。
[0051]在一個實施例中,通過事務(wù)標(biāo)識符的使用識別響應(yīng)。具體來講,事務(wù)標(biāo)識符結(jié)合諸如強(qiáng)制造成關(guān)鍵停頓情形的指令的掛起的事務(wù)所生成。作為示例,指令可以是一個在誤預(yù) 測的情況下檢索適當(dāng)?shù)臄?shù)據(jù)或指令的指令。在關(guān)鍵停頓情形期間,來自存儲器的響應(yīng)由與 時鐘網(wǎng)格控制單元相關(guān)聯(lián)的響應(yīng)監(jiān)視器所監(jiān)視。具體地,響應(yīng)被監(jiān)視以識別具有事務(wù)標(biāo)識 符的響應(yīng)何時返回。當(dāng)確定具有適當(dāng)事務(wù)標(biāo)識符的響應(yīng)已從存儲器系統(tǒng)返回時,時鐘網(wǎng)格 經(jīng)解除時鐘門控以及時使能時鐘信號分配到核心用于由現(xiàn)在活動的適當(dāng)經(jīng)鐘控部件將要 接收的響應(yīng)。
[0052]在本發(fā)明的實施例中,時鐘網(wǎng)格被臨時地解除時鐘門控以臨時地使能時鐘信號 分配到核心,用于處理指向核心的經(jīng)選擇的傳入事務(wù)。例如,時鐘網(wǎng)格控制單元配置為當(dāng) 接收響應(yīng)時退出自動功率管理狀態(tài),如先前所描述的,但還配置為臨時地重新使能時鐘網(wǎng) 格以處理傳入的請求。例如,時鐘網(wǎng)格被臨時地重新使能以處置一致性(coherence)窺探 (snoop),并且接受對在時鐘網(wǎng)格經(jīng)門控時是未解決的(例如未解決的預(yù)獲取)非關(guān)鍵事務(wù) 的響應(yīng)。
[0053]圖5是根據(jù)本公開的一個實施例的、示出用于通過當(dāng)在指令已發(fā)送之后并且在已 檢測或接收對指令的響應(yīng)之前計數(shù)器已達(dá)到閾值時時鐘門控時鐘源以中止時鐘信號的分 配來實施功率管理的方法的流程圖500。在一個實施例中,在流程圖500中所概述的方法在 圖3的微架構(gòu)300內(nèi)實現(xiàn),該微架構(gòu)300配置為確定關(guān)鍵和/或動態(tài)停頓情形并發(fā)起包括 門控時鐘源的功率管理序列。
[0054]在510,方法包括檢測指令何時從處理單元的核心的經(jīng)鐘控部件發(fā)送,其中指令與 掛起的事務(wù)有關(guān)。核心包括通過由時鐘網(wǎng)格所分配的時鐘信號在操作中進(jìn)行同步的一個或 多個經(jīng)鐘控部件或硬件設(shè)備。這些經(jīng)鐘控部件包括可能遭受長時延關(guān)鍵停頓情形的各種單 元(例如IFU、存儲器管理單元、加載存儲單元等)。在一個實施例中,所檢測的指令可被預(yù)定 義,或在經(jīng)選擇用于經(jīng)鐘控部件內(nèi)的檢測的指令組內(nèi),已知指令組中的所有在一點處易受 長時延停頓的影響。在其他實施例中,指令可以是源自經(jīng)鐘控部件的任何指令。也就是說, 任何指令被假定易受長時延停頓的影響,并且受制于針對出于功率管理目的時鐘門控時鐘 源的考慮。
[0055]在一個實施例中,指令由基于硬件的監(jiān)視器所檢測,其位于核心處理器內(nèi),并配置 為監(jiān)視通用或特定指令。例如監(jiān)視器配置為監(jiān)視和與處理器核心中的經(jīng)鐘控部件相關(guān)聯(lián)的 掛起的事務(wù)有關(guān)的指令。在一個實施例中,監(jiān)視器包括在被監(jiān)視的相應(yīng)經(jīng)鐘控部件內(nèi),諸如 經(jīng)鐘控部件330的監(jiān)視器335,以及經(jīng)鐘控部件340的監(jiān)視器345。在另一個實施例中,監(jiān) 視器在正被監(jiān)視的相應(yīng)經(jīng)鐘控部件外部。
[0056]在520,當(dāng)檢測到指令時,計數(shù)器開始。計數(shù)器給出指令和與該指令相關(guān)聯(lián)的任何 響應(yīng)是否是關(guān)鍵或動態(tài)停頓情形的特性的指示。計數(shù)器在每個新時鐘周期增加。在一個實 施例中,計數(shù)器包括在被監(jiān)視的相應(yīng)經(jīng)鐘控部件內(nèi),諸如部件330的計數(shù)器337,以及部件 340的計數(shù)器347。在又一個實施例中,計數(shù)器在正被監(jiān)視的相應(yīng)經(jīng)鐘控部件外部。在又一 個實施例中,計數(shù)器包括在相應(yīng)監(jiān)視器內(nèi),或在相應(yīng)監(jiān)視器外部。
[0057]在530,監(jiān)視與指令有關(guān)的事物。例如,耦連到計數(shù)器的事務(wù)和/或響應(yīng)監(jiān)視器配 置為監(jiān)視與掛起的事務(wù)流中的指令有關(guān)的事務(wù)和響應(yīng)。在另一個實施例中,監(jiān)視實現(xiàn)在核 心之外,使得即使已出于功率管理的目的時鐘門控核心,事務(wù)(例如響應(yīng))的監(jiān)視也可發(fā)生。 也就是說,事務(wù)或響應(yīng)監(jiān)視器位于當(dāng)將時鐘信號供應(yīng)到核心的根分支已被門控時不會中止的時鐘網(wǎng)格的分支上。此外,事務(wù)或響應(yīng)監(jiān)視器配置為監(jiān)視掛起的事務(wù)流中的事務(wù)和響應(yīng)。 在一個實施例中,出于監(jiān)視掛起的事務(wù)流中的事務(wù)和響應(yīng)的目的,事務(wù)或響應(yīng)監(jiān)視器耦連 到存儲器系統(tǒng)。
[0058]在540,計數(shù)器能夠確定在檢測到與掛起的事務(wù)流中的指令有關(guān)的事務(wù)或響應(yīng)之 前計數(shù)器何時達(dá)到閾值。也就是說,當(dāng)計數(shù)器達(dá)到閾值時,掛起的事務(wù)流正經(jīng)歷關(guān)鍵和/ 或動態(tài)停頓情形是很有可能的。另一方面,如果在計數(shù)器達(dá)到閾值之前檢測到與掛起的事 務(wù)流中的指令有關(guān)的事務(wù)或響應(yīng),那么計數(shù)器重置用于與另一個經(jīng)檢測的指令相關(guān)聯(lián)的使 用。也就是說,在掛起的事務(wù)流之下,微架構(gòu)或微架構(gòu)的經(jīng)鐘控部件當(dāng)前沒經(jīng)歷關(guān)鍵和/或 動態(tài)停頓情形。
[0059]在550,當(dāng)在檢測到與指令有關(guān)的事務(wù)或響應(yīng)之前計數(shù)器達(dá)到閾值時,通過在關(guān)鍵 停頓情形期間在根分支處時鐘門控時鐘網(wǎng)格以中止時鐘信號分配到核心來采用功率管理 技術(shù)。換句話說,通過門控時鐘信號,使得時鐘信號的分配被防止遍及核心來達(dá)成功率管 理。通過該方式,核心中的經(jīng)鐘控部件將不會抽運(yùn)功率或?qū)⒆畹拖薅鹊爻檫\(yùn)功率。更特別 地,計數(shù)器配置為告知時鐘網(wǎng)格控制單元何時在根分支處時鐘門控時鐘網(wǎng)格,諸如當(dāng)計數(shù) 器達(dá)到閾值時。這樣,面對關(guān)鍵停頓情形,由于有功功率的使用由核心中的各種空閑的經(jīng)鐘 控部件所最小化,并且還通過門控與分配遍及時鐘網(wǎng)格的時鐘信號有關(guān)的動態(tài)功率的使用 所最小化,所以停頓期期間核心處理器將實施很少或不實施有用的工作。
[0060]如先前所描述的,時鐘網(wǎng)格控制單元耦連到對與指令有關(guān)的掛起的事務(wù)提供事務(wù) 和響應(yīng)的外部單元(例如存儲器系統(tǒng))。此外,時鐘網(wǎng)格控制單元位于將不會被中止的、時鐘 網(wǎng)格的分支上,并且在關(guān)鍵停頓情形中自始至終是活動的。此外,事務(wù)和響應(yīng)監(jiān)視器類似地 經(jīng)配置,使得其位于將不會被中止的、時鐘網(wǎng)格的分支上,并且在關(guān)鍵停頓期中自始至終是 活動的。這樣,一旦檢測到與掛起的事務(wù)流中的指令有關(guān)的事務(wù)或響應(yīng),監(jiān)視器配置為指導(dǎo) 時鐘網(wǎng)格控制單元以及時的方式對時鐘網(wǎng)格解除時鐘門控(例如對根分支解除時鐘門控)。 通過該方式,在相應(yīng)的事務(wù)或響應(yīng)到達(dá)網(wǎng)格中的相應(yīng)經(jīng)鐘控部件之前,核心處理器是活動 的。對時鐘網(wǎng)格解除時鐘門控的經(jīng)協(xié)調(diào)的定時在存儲器和核心之間的同步接口中尤其重 要,使得時鐘網(wǎng)格在響應(yīng)傳遞到核心之前被解除時鐘門控。
[0061]在一個實施例中,通過事務(wù)標(biāo)識符的使用,識別與掛起的事務(wù)流中的指令有關(guān)的 事務(wù)或響應(yīng)。具體來講,事務(wù)標(biāo)識符結(jié)合掛起的事務(wù)所生成,諸如與強(qiáng)制造成關(guān)鍵停頓情形 的指令有關(guān)。在關(guān)鍵停頓情形期間,來自存儲器或任何其他外部單元的事務(wù)和響應(yīng)由與時 鐘網(wǎng)格控制單元相關(guān)聯(lián)的響應(yīng)監(jiān)視器所監(jiān)視。具體地,響應(yīng)被監(jiān)視以識別何時檢測到具有 相同事務(wù)標(biāo)識符的事務(wù)或響應(yīng)。
[0062]因此,根據(jù)本公開的實施例描述了系統(tǒng)和方法,其中出于對處于經(jīng)識別的關(guān)鍵和 動態(tài)停頓情形之下的處理器的核心進(jìn)行功率管理的目的,時鐘網(wǎng)格在根分支被自動地門 控。本發(fā)明的實施例包括確定微架構(gòu)的核心面對關(guān)鍵和/或動態(tài)停頓情形,并且自動地/ 自主地發(fā)起功率管理序列。
[0063]同時,前述公開闡述了使用具體框圖、流程圖和示例的各種實施例,每個框圖部 件、流程圖步驟、操作和/或本文描述和/或示出的部件均可單獨(dú)地和/或共同地,通過使 用各種不同的硬件、軟件或固件(或其任意組合)配置來實現(xiàn)。另外,對包含在其他部件內(nèi)的 部件的任何公開應(yīng)視為示例,因為可實現(xiàn)許多其他架構(gòu)來達(dá)到相同的功能性。[0064]本文描述和/或示出的工藝參數(shù)和步驟順序僅以示例方式給出并可按期望進(jìn)行 變化。舉例來說,雖然本文示出和/或描述的步驟可能以特定的順序顯示或論述,但這些步 驟不必按所示出或論述的順序來實施。本文描述和/或示出的各種示范性方法也可以省略 一個或多個本文描述或示出的步驟,或包括附加步驟作為那些所公開步驟的補(bǔ)充。
[0065]雖然本文已圍繞全功能計算系統(tǒng)描述和/或示出了各種實施例,但這些示范性實 施例中的一個或多個可分配為各種各樣的形式的程序產(chǎn)品,而與用來實際執(zhí)行分配的計算 機(jī)可讀介質(zhì)的特定類型無關(guān)。本文公開的實施例也可使用實施某些任務(wù)的軟件模塊來實 現(xiàn)。這些軟件模塊可包括腳本、批處理或其他可被存儲在計算機(jī)可讀存儲介質(zhì)上或計算系 統(tǒng)內(nèi)的可執(zhí)行文件。這些軟件模塊可以配置計算系統(tǒng)來實施一個或多個本文公開的示范性 實施例。本文公開的軟件模塊中的一個或多個可在云計算環(huán)境中實現(xiàn)。云計算環(huán)境可經(jīng)由 因特網(wǎng)提供各種服務(wù)和應(yīng)用。這些基于云的服務(wù)(例如,軟件即服務(wù)、平臺即服務(wù)、基礎(chǔ)設(shè)施 即服務(wù)等等)可通過Web瀏覽器或其他遠(yuǎn)程接口訪問。本文描述的各種功能可通過遠(yuǎn)程桌 面環(huán)境或任何其他基于云計算的環(huán)境提供。
[0066]前述的描述,出于解釋的目的,已參考特定實施例進(jìn)行了描述。然而,上述說明性 的論述不旨在窮舉或?qū)⒈景l(fā)明限制在所公開的明確形式上。鑒于以上教導(dǎo),許多修改和變 形是可能的。實施例被選擇和描述以最好地解釋本發(fā)明的原理及其實際應(yīng)用,從而使其他 的本領(lǐng)域技術(shù)人員采用各種適用于特定預(yù)期用途的修改來最好地利用本發(fā)明和各種實施 例。
[0067]根據(jù)本公開的實施例因此被描述。雖然本公開已在特定實施例中加以描述,但應(yīng) 理解本公開不應(yīng)被解釋為限于這些實施例,而應(yīng)根據(jù)以下的權(quán)利要求來進(jìn)行解釋。
【權(quán)利要求】
1.一種用于功率管理的方法,包括:在處理單元的核心的經(jīng)鐘控部件內(nèi)檢測關(guān)鍵停頓情形,其中所述核心包括通過由時鐘網(wǎng)格所分配的時鐘信號在操作中進(jìn)行同步的一個或多個經(jīng)鐘控部件;以及在所述關(guān)鍵停頓情形期間,時鐘門控所述時鐘網(wǎng)格以中止所述時鐘信號分配到所述核心。
2.根據(jù)權(quán)利要求1所述的方法,其中所述檢測包括:在基于硬件的監(jiān)視器處檢測所述關(guān)鍵停頓情形,其中所述經(jīng)鐘控部件包括所述基于硬件的監(jiān)視器。
3.根據(jù)權(quán)利要求2所述的方法,其中所述檢測關(guān)鍵停頓情形包括:在所述監(jiān)視器處檢測管線的清洗,其中所述核心包括包括所述經(jīng)鐘控部件中的一個或多個的所述管線,并且其中所述經(jīng)鐘控部件包括1-高速緩存;檢測1-高速緩存未命中;以及檢測L-2未命中。
4.根據(jù)權(quán)利要求1所述的方法,其中所述時鐘門控包括:在所述時鐘網(wǎng)格的根分支處門控所述時鐘信號,其中所述根分支將所述時鐘信號分配到所述核心。
5.根據(jù)權(quán)利要求1所述的方法,其中所述時鐘門控包括:發(fā)送指令到時鐘控制單元 以時鐘門控所述時鐘信號,其中所述時鐘控制單元位于所述時鐘網(wǎng)格的未中止的分支上。
6.根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括:確定強(qiáng)制造成所述關(guān)鍵停頓情形的指令的事務(wù)標(biāo)識符;結(jié)合來自存儲器的所述時鐘網(wǎng)格控制單元響應(yīng),監(jiān)視所述事務(wù)標(biāo)識符;確定響應(yīng)包括所述事務(wù)標(biāo)識符;以及對所述時鐘網(wǎng)格解除時鐘門控以使能所述時鐘信號分配到所述核心。
7.根據(jù)權(quán)利要求6所述的方法,其中所述對所述時鐘網(wǎng)格解除時鐘門控進(jìn)一步包括: 在所述存儲器和所述核心之間的同步接口中,在所述響應(yīng)被傳遞到所述核心之前對所述時鐘網(wǎng)格解除時鐘門控。
8.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:臨時地對所述時鐘網(wǎng)格解除時鐘門控以臨時地使能所述時鐘信號分配到所述核心,用于處理指向所述核心的經(jīng)選擇的傳入的事務(wù)。
9.根據(jù)權(quán)利要求1所述的方法,其中所述關(guān)鍵停頓情形取自實質(zhì)上包括以下內(nèi)容的組:管線清洗、1-高速緩存未命中以及L-2高速緩存未命中;LI高速緩存和L2高速緩存中的經(jīng)高速緩存的數(shù)據(jù)加載未命中;TLB未命中和L-2高速緩存未命中;非高速緩存的加載的獲??;以及屏障指令。
10.根據(jù)權(quán)利要求1所述的方法,其中所述經(jīng)鐘控部件取自實質(zhì)上包括以下內(nèi)容的組: 加載存儲單元,指令獲取單元;以及存儲器管理單元。
11.根據(jù)權(quán)利要求1所述的方法,其中所述檢測關(guān)鍵停頓情形包括:檢測指令何時從處理單元的核心的經(jīng)鐘控部件發(fā)送,其中所述核心包括通過由時鐘網(wǎng)格所分配的時鐘信號在操作中進(jìn)行同步的一個或多個經(jīng)鐘控部件;開始計數(shù)器;針對對所述指令的響應(yīng)監(jiān)視來自存儲器系統(tǒng)的事務(wù);以及確定在檢測到所述響應(yīng)之前所述計數(shù)器何時達(dá)到閾值。
12.一種用于功率管理的設(shè)備,包括:提供時鐘信號的時鐘源;時鐘網(wǎng)格;處理單元的核心,其中所述核心包括通過由所述時鐘網(wǎng)格所分配的所述時鐘信號在操作中進(jìn)行同步的一個或多個經(jīng)鐘控部件;基于硬件的監(jiān)視器,用于檢測所述核心的經(jīng)鐘控部件內(nèi)的關(guān)鍵停頓情形,其中所述經(jīng)鐘控部件包括所述基于硬件的監(jiān)視器;時鐘網(wǎng)格控制單元,用于在所述關(guān)鍵停頓情形期間在所述時鐘網(wǎng)格的根分支處時鐘門控所述時鐘網(wǎng)格以中止所述時鐘信號分配到所述核心,其中所述根分支將所述時鐘信號分配到所述核心。
13.根據(jù)權(quán)利要求12所述的設(shè)備,其中所述時鐘源包括鎖相環(huán)電路,并且其中所述時鐘網(wǎng)格控制單元位于與所述根分支不同的分支上。
14.根據(jù)權(quán)利要求12所述·的設(shè)備,其中所述時鐘網(wǎng)格控制單元配置為實施以下操作: 確定強(qiáng)制造成所述關(guān)鍵停頓情形的指令的事務(wù)標(biāo)識符;結(jié)合來自存儲器的所述時鐘網(wǎng)格控制單元響應(yīng),監(jiān)視所述事務(wù)標(biāo)識符;確定響應(yīng)包括所述事務(wù)標(biāo)識符;以及對所述時鐘網(wǎng)格解除時鐘門控以使能所述時鐘信號分配到所述核心。
15.根據(jù)權(quán)利要求12所述的方法,其中所述經(jīng)鐘控部件取自實質(zhì)上包括以下內(nèi)容的組:加載存儲單元,指令獲取單元;以及存儲器管理單元。
【文檔編號】G06F1/10GK103592997SQ201310356742
【公開日】2014年2月19日 申請日期:2013年8月15日 優(yōu)先權(quán)日:2012年8月15日
【發(fā)明者】吉列爾莫·胡安·羅扎斯 申請人:輝達(dá)公司