參照圖2,示出了根據(jù)本發(fā)明一個實(shí)施例的方法的流程圖。在一個實(shí)施例中, 可以通過控制器執(zhí)行方法200,所述控制器例如為處理器的集成功率控制單元(PCU)。然而, 可以理解的是,本發(fā)明的范圍并不局限于此,方法200可以由系統(tǒng)內(nèi)例如管理引擎的其它控 制器執(zhí)行。
[0019] 結(jié)合圖2,方法200可以開始于接收PCU中的性能狀態(tài)改變請求(方框210)。例如,在 許多實(shí)現(xiàn)中,該請求可以接收自0S或系統(tǒng)軟件。作為一個例子,該請求可以對應(yīng)于改變用于 一個或多個內(nèi)核的P狀態(tài)的請求。也就是說,在這種實(shí)現(xiàn)中,0S可以知道本發(fā)明實(shí)施例所提 供的每內(nèi)核P狀態(tài)控制。在其它實(shí)施例中,即使當(dāng)0S或系統(tǒng)軟件不知道該特征時,如本文所 討論的也可以接收并處理性能狀態(tài)改變請求。
[0020] 在菱形220處,確定是否請求增加性能。也就是說,請求可以是更高性能級別的識 另IJ(例如,對應(yīng)于低于當(dāng)前P狀態(tài),如從P1狀態(tài)進(jìn)入到P0狀態(tài)的請求)。還應(yīng)注意的是,該確定 還可以確認(rèn)可以從當(dāng)前狀態(tài)改變P狀態(tài)。如果是,則控制進(jìn)行到方框230。在方框230處,可以 做出關(guān)于選擇一個或多個內(nèi)核來獨(dú)立于至少另一內(nèi)核增加其電壓的確定(方框230)。作為 該決定的例子,基于依賴?yán)缛抗苄倦娏?、功率、溫度和微架?gòu)活動(例如,加載/存儲緩 沖器、線程調(diào)度程序等)的各種因素的TDP余量,PCU可以確定增加電壓和相關(guān)聯(lián)的頻率。例 如,當(dāng)確定多內(nèi)核處理器的一部分為冷卻器(并以較低電壓/頻率操作)時,該部分中的內(nèi)核 可被選擇用于增加的電壓和頻率。
[0021] 當(dāng)確定選擇一個或多個內(nèi)核用于增加的電壓時,控制進(jìn)行到方框240,其中為所選 擇的內(nèi)核計算新的電壓和頻率。這種計算可以至少一部分基于用于處理器的TDP規(guī)范、Icc 凈空(headroom)等。
[0022] 仍參照圖2,控制接著進(jìn)行到方框250,其中可以將用于新電壓的控制信號發(fā)送到 與一個或多個內(nèi)核相關(guān)聯(lián)的電壓調(diào)節(jié)器。作為一個例子,該控制信號可以是數(shù)字控制信號 或者可以是模擬信號,從而使得電壓調(diào)節(jié)器開始改變不同電壓級別。因此,可以調(diào)整與內(nèi)核 相關(guān)聯(lián)的FIVR,從而向內(nèi)核輸出更新后的電壓。因此,控制進(jìn)行到方框260,其中內(nèi)核可以以 所選擇的電壓操作。需要注意的是,因?yàn)樵诙鄠€實(shí)施例中,電壓調(diào)節(jié)器可以集成到處理器 中,所以該調(diào)整可以伴隨與片外調(diào)節(jié)器相比具有降低的延時而發(fā)生。
[0023] 如果相反地在菱形220處確定請求降低性能,則控制進(jìn)行到方框270。在方框270 處,可以做出關(guān)于選擇一個或多個內(nèi)核獨(dú)立于至少另一內(nèi)核降低電壓的確定(方框270)。這 種決定可以基于如上所述的因素,并可以包括許可移動到不同P狀態(tài)的確定。
[0024] 當(dāng)確定選擇一個或多個內(nèi)核用于降低的電壓時,控制進(jìn)行到方框275,在其中可以 為所選擇的內(nèi)核計算新的電壓和頻率。控制接著進(jìn)行到方框280,其中可以將用于新電壓的 控制信號發(fā)送到與一個或多個內(nèi)核相關(guān)聯(lián)的電壓調(diào)節(jié)器,以使得與內(nèi)核相關(guān)聯(lián)的FIVR向內(nèi) 核輸出降低的電壓。因此,控制進(jìn)行到方框290,其中內(nèi)核可以以所選擇的電壓操作。雖然圖 2的實(shí)施例示出了該特定實(shí)現(xiàn),但是可以理解的是,本發(fā)明的范圍并不局限于此。例如,上述 討論假設(shè)PCU和內(nèi)核是例如多內(nèi)核處理器的同一半導(dǎo)體管芯的部分。在其它實(shí)施例中,內(nèi)核 可以在獨(dú)立的管芯中但是在同一多芯片封裝中。在又一實(shí)施例中,內(nèi)核可以在分離的封裝 中但其電壓/頻率被例如使用協(xié)調(diào)電壓調(diào)節(jié)器而共同控制。
[0025] 一個可選實(shí)施例是處理器不包括集成調(diào)節(jié)器的一種實(shí)現(xiàn)。在這種處理器中,實(shí)施 例仍能適應(yīng)提供每內(nèi)核P狀態(tài)控制。為此,相反地在方框250或280處,能夠例如直接向內(nèi)核 提供用于不同電壓的控制信號,其中內(nèi)核能夠基于接收到的電壓而提供電壓調(diào)整。在又一 實(shí)施例中,在方框250和280處,能夠向外部電壓調(diào)節(jié)器在片外提供用于改變的電壓的控制 信號。該控制信號可以在單個管腳或多個管腳上傳輸,其中多個管腳中的每一個與不同的 電壓級別相關(guān)聯(lián),以使得外部電壓調(diào)節(jié)器提供多個電壓中的一個。具體地在這種實(shí)現(xiàn)中,外 部電壓調(diào)節(jié)器可以輸出多個電壓信號,其能耦合到處理器并接著例如耦合到處理器的電壓 傳輸邏輯,該電壓傳輸邏輯可以進(jìn)一步從功率控制單元接收控制信號,以如由功率控制單 元所確定地,能夠?qū)⑺x擇的電壓提供到相應(yīng)的內(nèi)核。
[0026] 在另一實(shí)施例中,例如,在多個內(nèi)核用于一個0S和不同數(shù)目的內(nèi)核用于不同0S的 多0S系統(tǒng)中,一個0S域內(nèi)的每個內(nèi)核能被靜態(tài)設(shè)置為固定的(并且可能是不同的)V/F,同時 在另一0S域內(nèi)的內(nèi)核在操作期間可以動態(tài)改變V/F。例如,一個0S域可以用于確定性操作 (例如,用于系統(tǒng)的管理操作)并因而能得益于固定的V/F控制。相反地,根據(jù)本發(fā)明的實(shí)施 例,在其中執(zhí)行各種用戶級別應(yīng)用的0S域可以具有非確定性的工作負(fù)載,因而得益于動態(tài) 獨(dú)立V/F控制。
[0027] 在一些實(shí)施例中,對于內(nèi)核V/F的動態(tài)控制,取決于需要的負(fù)載需求,P⑶能獨(dú)立于 0S而監(jiān)視微架構(gòu)活動,并確定是否能動態(tài)改變一個或多個內(nèi)核的V/F以降低/增加功率。
[0028] 現(xiàn)在參照圖3,示出了根據(jù)本發(fā)明一個實(shí)施例的方法的流程圖。如圖3所示,方法 300可以由處理器的功率控制單元執(zhí)行。因而,當(dāng)0S不知道由本發(fā)明的實(shí)施例所提供的每內(nèi) 核P狀態(tài)能力時,方法300是適合的。在又一實(shí)施例中,在0S知道P狀態(tài)能力的情況下,可以結(jié) 合如上所述的方法200來執(zhí)行方法300,以提供改善的內(nèi)核P狀態(tài)的動態(tài)控制。
[0029]如圖3所示,方法300可以開始于監(jiān)視一個或多個內(nèi)核的微架構(gòu)活動(方框310)。但 是本發(fā)明的范圍并不局限于此,這種活動可以包括確定在時間窗執(zhí)行的大量指令、每時間 窗的引退等。
[0030] 響應(yīng)于從微架構(gòu)活動獲得的信息,功率控制單元可以執(zhí)行分析。更具體地,在方框 320處,功率控制單元可以分析活動以及處理器的負(fù)載需求。例如,負(fù)載需求可以基于關(guān)于 調(diào)度到內(nèi)核的大量線程的信息和為其調(diào)度這些線程的處理器的類型。
[0031] 然后控制進(jìn)行到菱形330,其中功率控制單元可以確定動態(tài)調(diào)整用于一個或多個 內(nèi)核的至少一個電壓/頻率是否合適。例如,如果活動和負(fù)載需求指示在功率和性能之間發(fā) 生合適的權(quán)衡,則功率控制單元可以選擇不動態(tài)調(diào)整任何電壓/頻率組合。因此,方法300可 以結(jié)束。
[0032] 否則,如果確定調(diào)整用于給定內(nèi)核的至少一對電壓/頻率,則控制替代地進(jìn)行到方 框340。這里,可以為所選擇的內(nèi)核計算新的電壓和頻率對。
[0033] 仍參照圖3,控制接著進(jìn)行到方框350,其中可以將用于新電壓的控制信號發(fā)送到 與待以新電壓更新的一個或多個內(nèi)核相關(guān)聯(lián)的電壓調(diào)節(jié)器。這樣,可以調(diào)整與內(nèi)核相關(guān)聯(lián) 的FIVR,從而向內(nèi)核輸出更新后的電壓。因此,控制進(jìn)行到方框360,其中內(nèi)核可以以所選擇 的電壓進(jìn)行操作。雖然在圖3的實(shí)施例中示出該特定實(shí)現(xiàn),但是可以理解,本發(fā)明的范圍并 不局限于此。
[0034] 例如,在其它實(shí)施例中,不僅可以動態(tài)改變一個或多個內(nèi)核的V/F,而且還