国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      將處理器封裝轉換到低功率狀態(tài)的制作方法

      文檔序號:6468824閱讀:203來源:國知局

      專利名稱::將處理器封裝轉換到低功率狀態(tài)的制作方法
      技術領域
      :本發(fā)明涉及將處理器封裝轉換到低功率狀態(tài)。
      背景技術
      :在基于計算機的系統(tǒng)的所有部分中功率(Power)和熱管理變得比以前更具挑戰(zhàn)性。雖然在服務器領域中,電力成本驅動了低功率系統(tǒng)的需求,在移動系統(tǒng)中電池的壽命和熱限也使這些問題具有重大意義。通常使用操作系統(tǒng)(OS)控制硬件元件來優(yōu)化系統(tǒng)以最少的功率損耗獲得最高的性能。大多數現代的OS使用高級配置和電源接口(ACPI)標準,例如2006年10月10號公布的Rev.3.Ob,以優(yōu)化這些領域中的系統(tǒng)。ACPI的實現允許核處于不同的功率節(jié)省狀態(tài)(也稱為低功率或空閑狀態(tài)),這些狀態(tài)通常稱為所謂的CI到Cn狀態(tài)。對于封裝級的功率節(jié)省存在類似的封裝C狀態(tài)。當核活動時,其運行在所謂的CO狀態(tài),而當核空閑時,其可置于核低功率狀態(tài),即所謂的核非零C狀態(tài)。核CI狀態(tài)代表低功率狀態(tài),其功率節(jié)省最少但能幾乎即時開關,而擴展的深度低功率狀態(tài)(例如C3)代表靜態(tài)功率損耗可忽略不計的功率狀態(tài),但進入這種狀態(tài)和響應活動(即回到CO)的時間相當長。封裝非零C狀態(tài)使功率損耗能夠處于比封裝活動狀態(tài)(即CO狀態(tài))更低的水平。服務器工作負載很少驅使相同封裝中的所有核忙,但即使只有一個核是活動的,整個封裝(包括所有的空閑的核)必須處于高功率的C0狀態(tài)。因為封裝非零C狀態(tài)進入/退出反應時間相對較長(例如,大約100到200微秒(ps)),對于所有核為空閑的短暫6時間通常不值得使用此狀態(tài),否則將發(fā)生性能損失。因此os不能利用封裝的更低的功率狀態(tài)的好處,從而導致封裝始終運行在比所需更高的功率狀態(tài)下。
      發(fā)明內容本發(fā)明一種方法,包括接收關于下一操作間隔的處理器封裝的多個核的使用的預測信息;基于所述預測信息,為所述處理器封裝設置所述下一操作間隔期間的延遲期;以及使所述處理器封裝在所述延遲期進入封裝低功率狀態(tài),之后,使所述處理器封裝在所述下一操作間隔的活動期中進入封裝活動狀態(tài),所述延遲期從所述下一操作間隔的開始擴展到所述活動期的開始。本發(fā)明還提供一種設備,包括包括多個核的多核處理器以服務任務和中止事件;耦合到所述多核處理器的監(jiān)視器以接收關于所述多個核的當前使用周期的使用信息;耦合到所述監(jiān)視器的預測器以基于所述使用信息預測下一使用周期中所述多個核中的每個的使用率;以率的至少一個確定下一使用周期的延遲期,其中所述多個核在所述延遲期將處于空閑。本發(fā)明還提供一種物品,包括機器可訪問的介質,所述才幾器可訪問的介質包括指令,當執(zhí)行所述指令時使系統(tǒng)為下一操作間隔確定延遲期,所述延遲期相當于所述下一操作間隔的長度與所述下一操作間隔中服務于操作的時間長度之間的差,所述操作調度給多核處理器中具有最高預測使用率的核;以及控制所述多核處理器在所述下一操作間隔開始時進入封裝低功率狀態(tài)以及在所述延遲期結束時將所述多核處理器退出所述封裝低功率狀態(tài)進入封裝活動狀態(tài)。本發(fā)明還提供一種系統(tǒng),包括處理器封裝,包括多個核和至少一個定時器,其中所述處理器封裝在操作間隔的第一部分將處于封裝低功率狀態(tài),在所述操作間隔的第二部分將處于封裝活動狀態(tài),其中延遲所述第一部分期間為所述多個核調度的操作直到所述第二部分;7以及耦合到所述處理器封裝的存儲器。圖1是根據本發(fā)明的一個實施例的系統(tǒng)的部分的框圖。圖2是根據本發(fā)明的一個實施例的方法的流程圖。圖3是根據本發(fā)明的一個實施例的預測算法的流程圖。圖4是根據本發(fā)明的一個實施例的重新調度的方法的流程圖。圖5是根據本發(fā)明的實施例的調度任務的時序圖。圖6是根據本發(fā)明的實施例的系統(tǒng)的框圖。具體實施例方式實施例可重新調度/延遲任務,以使得封裝的所有核的空閑時間能對齊和擴展。這樣,存在更多的機會以使用更大的低功率狀態(tài),即更深的非零封裝C狀態(tài)。實施例可以以相對細粒度操作,例如每500微秒(ps),以使得對反應時間敏感的工作負荷性能不會降低。相反,常規(guī)的OS調度程序只不過讓所有任務時序如它們所設的那樣。在多種實施例中可設定預定間隔,例如500微秒,并且在每個間隔內可延遲中止事件(breakevent)處理以使相同封裝中的核一起空閑和一起忙。此外,忙時間能縫合成連續(xù)的(即不被短的空閑分開)以使得能擴展空閑持續(xù)期以容納封裝深度非零C狀態(tài)的長的進入/退出反應時間。如下所述,可生成對未來核使用即對下一操作間隔的預觀'J。接著可執(zhí)行實時任務重新調度以實現更大的功率節(jié)省。注意,本文描述的C狀態(tài)是針對示例處理器如可從CA的SantaClara的Intel公司獲得的高級Intel⑧架構32(IA-32)處理器,然而實施例同樣能用于其它處理器。下面表3中示出的是在一個實施例中可用的封裝C狀態(tài)的示例的指定。然而應理解本發(fā)明的范圍不局限于這點。使用常規(guī)的調度算法,例如處于15°/的系統(tǒng)負荷水平的工作負載,7oy。的時間封裝在co狀態(tài)中(這里理論上完美功率節(jié)省情況應該是15%)。剩余的3W的時間封裝能夠進入非零封裝C狀態(tài),大部分的8封裝空閑時間不到500ps,這通常這不值得耗費封裝C狀態(tài)進入/退出轉換能量以進入深度封裝低功率狀態(tài)。對于示例處理器,假定在封裝C0、Cl和C3狀態(tài)中的如下功率損耗水平Power(CO)=130瓦特(W)Power(CI)-28WPower(C3)=18W使用常規(guī)的調度策略,在此示例中損耗的功率是Power(CO)*70%+Power(CI)*30%*52%+Power(C3)*30%*48%=97.96W[等式l]相反,實施例可提供更長時期的、更深的低功率狀態(tài)。例如,與上面的計算相比,根據本發(fā)明的實施例能調度處理器以使得活動狀態(tài)只占時間的20°/而更深的低功率狀態(tài)(如封裝C3)占時間的80%。在這種情況下,處理器損耗Power(CO)*20%+Power(C3)*80%=40.4W[等式2]使用本發(fā)明的實施例導致功率節(jié)省的理論上限可達到57.56W(或58.8%)。現參照圖1,示出的是根據本發(fā)明的一個實施例的系統(tǒng)的部分的框圖。如圖1中所示,系統(tǒng)10可以是諸如桌上型計算機、服務器或膝上型計算機的計算機系統(tǒng)。系統(tǒng)10可包括至少一個處理器封裝50和計時器58,處理器封裝50包括多核558和55b(統(tǒng)稱核55)。正如下面進一步的描述,計時器58用作看門狗計時器。盡管在圖l的實施例中示出的僅有兩個這樣的核,應理解本發(fā)明的范圍不局限于這一點,且實施例可用在有很多核的系統(tǒng)中。此外,除了單個封裝50,許多實現可適用于如具有多個處理器封裝的服務器系統(tǒng)的系統(tǒng)。如圖1所示,可將使用信息從核55提供給核使用監(jiān)視器20。監(jiān)視器20可以是在監(jiān)^L間隔(如每500|is)期間捕獲所有核的中央處理單元(CPU)使用的實時監(jiān)視器。在一個實施例中,計算使用U的公式如下11=未停止的核參考時鐘滴答(referenceclocktick)的增量(delta)/時間戳計數器的增量[等式3]其中未停止的時鐘滴答是核活動時發(fā)生的時鐘滴答,時間戳計數器是在監(jiān)視間隔內全部處理器周期的時間戳。可將所監(jiān)視的數據從監(jiān)視器20提供給預測器30。預測器30可用于預測未來的核使用。在一個實施例中,可執(zhí)行計算復雜度O(n)的卡爾曼濾波器算法預測(其中n是同一封裝中核的數量),使得預測能實時完成。對于每個預測間隔(如500ias),預測器30可將關于其對核使用的預測的信息提供給OS調度程序40,其可基于使用百分比。在多種實施例中,OS調度程序40可執(zhí)行本發(fā)明的實施例使處理器封裝能轉換到更低的功率狀態(tài)。例如,使用本發(fā)明的實施例,可延遲將在多個核55上調度的任務、中斷和中止事件以實現更長且更連續(xù)的空閑期,其中能將封裝50置于更深度的低功率狀態(tài)。此外,封裝50可以較長持續(xù)期保持在此所選擇的低功率狀態(tài)。此擴展空閑期結束時(在本文中將其稱作延遲期),可激活封裝50的多個核以執(zhí)行任何桂起的任務、中斷或可在延遲期內已經緩存的其它中止事件。因此,基于下一間隔的預測的核使用,在延遲期的持續(xù)期內能延遲所有到來的中止事件和任務,在本文中把這段時期稱作時間T"且其在每個操作間隔中可變化)。那^殳時間之后,將服務所有的中止事件和任務。因為OS的周期性計時器中斷也延遲了,在每個核上可用初始值TS殳置看門狗定時器58。注意,雖然在一些實施例中定時器58可能每個核55中出現,但其它實現中僅有單個的封裝計時器。此定時器到期后,它將創(chuàng)建不可屏蔽的中斷并喚醒對應的核55。然后核55可服務任務和中止事件。在多種實施例中,看門狗定時器到期前,緩存453和45b可保存接收的所有中斷。注意,雖然所示這種緩存耦合在OS調度程序40和封裝50之間,但其可與耦合到封裝50的多種系統(tǒng)代理聯系起來,例如芯片組、輸入/輸出(1/0)裝置、外圍設備等。重新調度任務后所有核都空閑時,通過處理器硬件邏輯可進入低功耗非零封裝C狀態(tài)。雖然在圖1的實施例中示出了這種特定的實現,本發(fā)明的范圍不局限于這一點。在一些實施例中,使用如給定的核55的封裝50的電路運行根據本發(fā)明的實施例的軟件或固件,可全部實現監(jiān)視器20、預測器30和調度程序40。此外OS調度程序40可以是給定的OS,它適于在使用周期內直到延遲期后以任務原來的時序執(zhí)行任務的重調度。然而,其它的實施例可在例如給定平臺的性能管理單元(PMU)的其它位置中實現?,F參照圖2,示出的是根據本發(fā)明的一個實施例的方法的流程圖。如圖2所示,方法100可用于確定處理器封裝的空閑狀態(tài)以及控制處理器封裝的操作使其在此空閑期處于低功率狀態(tài)。具體地,如圖2所示,方法100可開始于接收預測信息(框110)。作為示例,預測信息相當于使用期內封裝的每個核的使用率,該使用期可以是相對短的時間期(即500ns)。不同的實施例中可進行不同的預測。在一個實施例中,可用卡爾曼濾波器模型(KFM)生成預測。KFM用都從屬于高斯噪聲的線性動態(tài)(lineardynamic)和線性觀察(linearobservation)為部分觀察的隨機過程建模。它是從一系列不完全的、噪聲的測量中估計動態(tài)系統(tǒng)的狀態(tài)的高效遞歸濾波器?;贙FM,將CPU封裝活動視作時間域中離散的實數隨機過程的觀察,表示為h,0v.義),此活動在與封裝的核的空閑-忙狀態(tài)有關的多個預定模式中闡明(例如多個預定的空閑-忙模式的百分比)。該過程的隱藏狀態(tài)^=(^...;0也表示為實數的向量。KFM中線性隨機微分方程(differentequation)是々)=A(卜l)+w(卜1);(w)iV(0,2)x(0)7V(^。,Fu。)[等式4〗而觀情方程(measurementequation)是詩)=Cc(f)+F(0~iV(O,/)[等式5]在微分方程4中,在缺少驅動函數或過程噪聲的情況下,nxn轉換矩陣A;fc前面的t-1時間步(timestep)的狀態(tài)與當前步t的狀態(tài)相聯系。在這里n是隱藏狀態(tài)數。在我們的任務中,m=n是可能的CPU活動狀態(tài)數。、^。是狀態(tài)的初始平均值和方差,Q是轉換動態(tài)噪聲的系統(tǒng)協(xié)方差,且R是觀察噪聲的觀察協(xié)方差。觀察函數的轉換在所有時間都是相同的,而且認為該模型是時不變的或均勻的。給定直到當前時間的所有觀察,使用KFM能預測未來時間的值。然而,通常我們對未來不確定,因此計算出最佳推測和置信度。因此,計算在可能的未來觀察上的概率分布,表示為<formula>formulaseeoriginaldocumentpage12</formula>,其中k〉0是界限,即預測未來多遠。給定觀察到的值的序列(yryt),預測新的觀察值就是計算未來一些k〉0界限的i5(1^=jH)^)。等式6是通過邊緣化(marginalizeout)未來隱藏狀態(tài)的預測來計算關于未來觀察的預測。<formula>formulaseeoriginaldocumentpage12</formula>[等式6]在等式右邊,我們用固定滯后平滑算法(即<formula>formulaseeoriginaldocumentpage12</formula>,L是滯后)來計算P(Z^-xl;^)。所以,在深入此算法的細節(jié)之前,首先介紹KFM中的固定滯后平滑。固定滯后卡爾曼平滑器(FLKS)是執(zhí)行回顧的數據同化的手段。給定直到當前時間的所有跡象(evidence),它估計過去的狀態(tài),即尸(1,^=^又:,),>0,其中L是滯后,例如,給定當前的傳感器讀數,我們也許想計算出L分鐘前管道是否斷開。這通常稱作"固定滯后平滑",盡管詞語"后見之明(hindsight)"可能更合適。在離線(offline)情況下,這稱作(固定間隔)平滑,這相當于計算P(Z^-xl^),T預測算法中,有A次更多的前向和后向傳遞(pass)。傳遞的計算與在平滑處理中類似。唯一的不同之處在于,預測步中新觀察的初始值為空,這意味著少1:^=[~乂,.義"]。通過在直到當前肘間的所有跡象上執(zhí)行回顧的數據同化加上;^+,b^乂,..《],預測算法估計Aw-[)^丹+廣.力+;J的值。在實踐中,我們考慮使用前面的步作為先驗數據,例如,如果/7=1,則力+1=(力_1+丹)/2,而非力+1=""http://。表1示出預測算法的偽代碼。表l<table>tableseeoriginaldocumentpage13</column></row><table>表1中,Fwd和Back是抽象的運算符。對于第一個循環(huán)(for/=1:T)的每個Fwd(前向傳遞)運算,我們首先通過;^,^v^和~—,=」^|(_1,+2計算推導的平均值和方差,然后用-Cc^、&=CP^一C'+、《=r^C'f和A=1og(7V(e";0,&)分別計算此觀察的推導中的誤差(新方法)、誤差的方差、卡爾曼增益矩陣和條件對數似然;最后,我們用^-x^+i^"和K「^—,-尺A《;更新平均值和方差的估計。對于第二個循環(huán)(forr-1:-1:1)的每個Back(后向傳遞)運算,我們首先用^,^,和^,=#^'+2計算推導量;然后用入二fV4下二計算平滑器增益矩陣;最后,用眾所周知的Rauch-Tung-Striebel(RTS)等式=+J,(義啤-J、K,V;和^"廣^fV,分別計算平均值、方差和交互方差的估計。如表1中闡述的計算能夠是復雜的,例如在計算Fwd運算符中的卡爾曼增益矩陣和Back運算符中的平滑器增益矩陣時,在r+l步循環(huán)中有矩陣求逆。而且計算復雜度將是o(77v3),其中r是歷史觀察的數量;W是活動狀態(tài)的數量,因為對于一般的A^W矩陣,用來求解矩陣求逆的高斯消去法導致了0(A^)的復雜度。然而,在多種實施例中能簡化算法實現。如圖3所示,其是根據本發(fā)明的一個實施例的預測算法150的流程圖,能對間隔的預測數計算前向和后向運算(例如,時間片T-1000)(框160)。然后,能緩存前面r步的;c和K的中間結果(框170),并且對于新到來的時間片r+1做4又<又一步Fwd更新(框180)。類似地,對于后向傳遞,使用緩存的前面的r步的中間結果,能計算僅《又一步T+1時間片的Back運算符(框190)。因此,簡化后計算復雜度將是G(iV3)。此外,N=2N'(N,是同一封裝中的核的數量)處理器封裝活動狀態(tài)能分為3個模式全空閑、全忙和部分空閑,而我們使用這三種模式來描述狀態(tài),因此W將僅為3。另一方面,我們簡化KFM且用0或1的元素值將^、C、g、A和初始F設置為對角矩陣,以將算法的運算復雜度減至O(N)。雖然使用此預測算法進行描述,但本發(fā)明的實施例不局限于這一點?;貋韰⒄請D2,基于此預測信息可設置空閑期(框120)。注意,框110和120可在不同實施例中的多種位置中實現。在一個特定的實施例中,這些框可在OS中實現,例如在OS調度程序中,然而本發(fā)明的范圍不局限于這一點。仍然參照圖2,接下來可控制處理器封裝在空閑期內處于封裝低功率狀態(tài)(框130)。正如下面將進一步討論的,這種低功率狀態(tài)可以是比其它情況下可能的更深度的低功率狀態(tài)。這是因為空閑期能夠是^^下一^f吏用周期的開始直到活動期的連續(xù)時期,活動期相當于下一使用周期長度和空閑期長度之間的差。這種對處理器封裝的控制可通過接收OS命令以設置處理器封裝進入所選擇的低功率狀態(tài)來實現。然而,在其它實現中,處理器封裝自身可基于空閑期的持續(xù)期和所有其核最深度的C狀態(tài)來確定適當的低功率狀態(tài)??臻e期結束時,初始化活動期且因此可控制處理器封裝以處于封裝活動功率狀態(tài)(框140),例如封裝CO狀態(tài),然而本發(fā)明的范圍不局限于這一點。雖然在圖2的實施例中示出這種特定的實現,但本發(fā)明的范圍不局限于這一點。現參照圖4,示出的是根據本發(fā)明的一個實施例的重新調度的方法的流程圖。如圖4所示,通過0S調度程序可實現方法300以接收使用預測信息并重新調度封裝上的活動使延遲期能夠實現,使得在延遲期的持續(xù)期內封裝能進入低功率狀態(tài),且在很多實現中能進入深度低功率狀態(tài)。如圖4所示,方法300可開始于接收預測的核使用信息(框310)。更具體地,在多種實施例中對于封裝的每個核,如圖1中的預測器30的預測器可將預測的核使用提供給OS調度程序。在一些實施例中,對于封裝的每個核,此預測可以是核使用值U-coreX。在一個這樣的實施例中,此使用值可相當于百分比,指示下一操作間隔內預測核處于活動狀態(tài)的時間的預測的百分比。然而本發(fā)明的范圍不局限于這一點。例如,在其它的實現中,百分比信息可以是下一間隔的預測的核狀態(tài)的模式分布。這種模式分布可廣泛地變化,取決于支持的低功率狀態(tài)的數量、以及給定的核的數量和預測期的長度等等。舉例來說,模式分布能包括三種不同的空閑-活動狀態(tài)模式,然而可提供更多的或更少的這些^^莫式,例如,在給定的活動水平上粒度可隨核的數量變化。下一步,可識別預測的使用率最高的核且可設置最大使用率U一max等于此預測的值(框320)。此外,基于此預測的最大的使用率可設置延遲期T*。例如,針對下個操作間隔(NOI),可設置"等于NOIx(100。/。-U—max),其中U—max表示為百分比。仍然參考圖4,在下個間隔的開始(即在下個500ius周期的開始),每個核上可停止所有的任務處理和中止事件的服務(框33Q)。此外,可在每個封裝上設置看門狗定時器的時間等于延遲期T*(框340)。然后封裝的核可為空閑(框350)。這樣,此時可將封裝置于封裝低功率狀態(tài)中,例如封裝C1狀態(tài),然而假定延遲期是針對擴展的且確定的時間,能將封裝置于更深度的低功率狀態(tài)如封裝C3狀態(tài),然而本發(fā)明的范圍不局限于這一點。例如,在基于核使用信息的其它實現中,如果延遲時間設置的比給定的閥值更長(例如,500|_is間隔的20%),可進入更深度的封裝低功率狀態(tài)如封裝C6或C7狀態(tài)。于是,延遲期的時間內,封裝可停留在這種低功率狀態(tài),因此能實現可配置的且更深度的功率節(jié)省。因此直到封裝看門狗定時器到期,這種低功率狀態(tài)可保持有效(框36Q)。此時,封裝可從其低功率狀態(tài)轉換到活動的C0狀態(tài)。然后在每個核上,可取回已緩沖的任何中止事件(框370)。例如,在其中封裝處于空閑狀態(tài)的延遲期內,與封裝耦合的一個或更多裝置可能已經緩存指定到封裝的中止事件。因此,在喚醒單個核時,可取回這些中止事件。于是,框380中,中止事件可按其原來的時序得到服務。也就是說,中止事件可根據其緩存的順序得到服務(例如,基于先進先出)。在任何中止事件的服務后,為核調度的任何任務可根據其原來的時序執(zhí)行。也就是說,在處理中止事件后,可根據其原來的時序的順序處理為每個核調度的任何任務。雖然圖4的實施例中示出了這種特定的實現,本發(fā)明的范圍不局限于這一點,且在封裝上可實現任務以及中止事件的延遲處理的其他方式以能夠實現相對長的、連續(xù)的空閑期,其中封裝能置于封裝低功率狀態(tài)。與上述實施例相反,使用常規(guī)OS調度程序,立即服務任務和中止事件,導致核和封裝頻繁進入和退出空閑狀態(tài)。因為最小空閑期不允許使用長反應時間的和低功率的深度封裝C狀態(tài),僅能使用封裝Cl狀態(tài)。而且常規(guī)OS調度程序核的忙時間是不重疊的,導致即使只有單個核是忙的,封裝也要停留在CO狀態(tài)。假設使用500jis時期的常規(guī)調度,花費在封裝C0狀態(tài)的總時間是125ps,而在封裝C1狀態(tài)的總時間是375ps。然而使用本發(fā)明的實施例,預測10%的第一核的16使用以及15%的第二核的使用,則最大的核的使用(U-max)是15。/。。因此,確定的延遲期"可設置如下T*=間隔時間x(100°/。-U_max)[等式7]其中U—max表示為百分比(即15%表示為15)。在這種情況下,T*=500*(100%-15°/。)=425ns,且在接下來的500ps中,封裝將得到425ps的連續(xù)的空閑時間,它能夠實現使如封裝C3狀態(tài)的更深度的低功率狀態(tài)。其后425ps的看門狗定時器到期后,封裝返回CO狀態(tài)且每個核將以其原來的時序處理所有的任務和中止事件。表2以15%系統(tǒng)負荷水平為例,示出示例處理器的功率規(guī)格及使用常規(guī)調度和根據本發(fā)明的一個實施例的功率損耗。表2<table>tableseeoriginaldocumentpage17</column></row><table>現參考圖5,示出根據常規(guī)OS調度算法和根據本發(fā)明的一個實施例調度封裝的多核上的任務的時序圖。如圖5所示,假定處理器封裝中有第一核A和第二核B。調度A相當于常規(guī)的調度??上喈斢?00(iS的活動間隔的初始時間持續(xù)期410中,兩個核可處于空閑狀態(tài)(用虛線表示),因此封裝可置于封裝C1狀態(tài)。也就是說,盡管兩個核都是空閑的,因為兩個核即將進行任務調度,進入更大的低功率狀態(tài)需要的等待時間超過其益處。因此,只將封裝置于封裝CI狀態(tài)。然后如所示在時間420的開始,封裝轉換至活動的CO狀態(tài),因為從那個時間往前,兩個核之中至少一個是忙的(活動狀態(tài)用實線表示),其執(zhí)行任務或其它操作。相反,關于根據本發(fā)明的實施例調度的調度B,在操作間隔的開始時提供與時間持續(xù)期430相當的延遲期。因為此延遲期430的擴展持續(xù)期可以是425M,封裝可置于更深度的低功率狀態(tài),例如封裝C3狀態(tài)(或甚至更深度的C狀態(tài)),因此能夠極大提高功率節(jié)省,大約比調度A多60。/。。在此延遲期430結束之后,封裝置于活動狀態(tài),因此,在操作間隔的剩余持續(xù)期中,封裝在時間持續(xù)期440中處于封裝CO狀態(tài)。雖然沒有在圖5中示出,應理解在此活動期個別的核可進入核低功率狀態(tài)(例如核C狀態(tài))。例如,在活動期開始時,所有的核可處于活動狀態(tài),且當完成任務和中止事件時,個別的核能進入核低功率狀態(tài)。因此,在此特定的示例中,其中存在15%的負荷水平,當實現比常規(guī)的調度多60%的功率節(jié)省時沒有產生性能影響。因此實施例能改進處理器功率損耗并且沒有性能影響。出于示例的目的,下面的表3示出了封裝C狀態(tài)和它們的描述,以及這些狀態(tài)下的估計功率損耗,以具有130瓦特(W)的熱量設計功率(TDP)的示例處理器作為參照。當然,應理解,這只是個示例,實施例不局限于這一點。<table>tableseeoriginaldocumentpage18</column></row><table>PkgC6PkgC3狀態(tài)+降低電源層的電壓(只剩下非常低的保持電壓)+把存儲器置于長反應時間的非活動狀態(tài)10WPkgC7PkgC6狀態(tài)+收縮最后級緩存(LLC)5W雖然本文中描述了作為基于OS的調度的實施例,但它不局限于這一點。即,在其他的實現中,軟件、固件或硬件可適用在封裝的基礎上或在系統(tǒng)中別的位置(例如電源管理單元(PMU)),以在操作間隔內能夠實現任務的動態(tài)調度,使得在每個操作間隔內可實現擴展的、連續(xù)的空閑期,從而在封裝的基礎上提高進入擴展的且更深度的低功率狀態(tài)的能力。此外,雖然如圖5所示在操作間隔開始時提供延遲期,但本發(fā)明的范圍不局限于這一點且在其他的實現中可預先執(zhí)行處理,接著是延遲期??梢砸栽S多不同的系統(tǒng)類型實現實施例。現參照圖6,示出的是根據本發(fā)明的一個實施例的系統(tǒng)的框圖。如圖6所示,多處理器系統(tǒng)500是點對點互連系統(tǒng),且包括通過點對點互連550耦合的第一處理器570和第二處理器580。如圖6所示,處理器570和580分別可以是多核處理器,包括第一和第二處理器核(即,處理器核574a和574b以及處理器核584a和584b),然而處理器中可出現額外的核??煽刂铺幚砥?70和580分別處于更低的封裝(:*狀態(tài),因為能確定和設定延遲期T*。根據本發(fā)明的實施例,每個處理器還可包括硬件、軟件、固件或其組合以能夠實現檢測使用,以及生成和使用預測信息從而能夠確定下一個操作間隔的延遲期。仍參照圖6,第一處理器570還包括存儲器控制器中心(MCH)572和點到點(p—p)接口576和578。相似地,第二處理器580包括MCH582和P-P接口586和588。如圖2所示,MCH572和582將處理器耦合到各自的存儲器,即存儲器532和存儲器534,其可以是本地附連到各自的處理器的主存儲器(例如,動態(tài)隨機訪問存儲器(DRAM))的一部分。分別通過P-P連接552和554可將第一處理器570和第二處理器580耦合到芯片組590。如圖6所示,芯片組590包括P-P接口594和598。此外,芯片組590包括接口592以通過P-P連接539耦合芯片組590和高性能圖形引擎538。芯片組590又通過接口596可耦合到第一總線516。如圖6所示,多種1/0裝置514可耦合到第一總線516,以及將第一總線516耦合到第二總線520的總線橋518。多種裝置可耦合到第二總線520,例如在一個實施例中,多種裝置包括鍵盤/鼠標522、通信裝置526和數據存儲單元528(如^F茲盤驅動器或可包括代碼530的其它大容量存儲裝置)。此外,音頻1/0524可耦合到第二總線520。儲介質中,所述指令能夠用來編程系統(tǒng)以執(zhí)行所述指令。存儲介質可包括但不限制于,任何類型的磁盤,包括軟盤、光盤、只讀光盤(CD-ROMs)、可重寫光盤(CD-RWs)、和;茲光盤,半導體裝置,例如只讀存儲器(ROMs)、隨機存取存儲器(RAMs)(如動態(tài)隨機存取存儲器(DRAMs)和靜態(tài)隨機存取存儲器(SRAMs))、可擦除可編程只讀存儲器(EPROMs)、閃存、電可擦除可編程只讀存儲器(EEPROMs)、磁卡或光卡、或適合用來存儲電指令的其他類型的介質。雖然本發(fā)明是參照有限數量的實施例描述的,但是本領域技術人員將因此領會到多種修改和變化。所附權利要求旨在涵蓋屬于本發(fā)明的實質和范圍的所有此類修改和變化。20權利要求1.一種方法,包括接收關于下一操作間隔的處理器封裝的多個核的使用的預測信息;基于所述預測信息,為所述處理器封裝設置所述下一操作間隔期間的延遲期;以及使所述處理器封裝在所述延遲期進入封裝低功率狀態(tài),之后,使所述處理器封裝在所述下一操作間隔的活動期中進入封裝活動狀態(tài),所述延遲期從所述下一操作間隔的開始擴展到所述活動期的開始。2.如權利要求1所述的方法,還包括初始化所述處理器封裝的定時器為所述延遲期的長度,以及當所述定時器超時時開始所述活動期。3.如權利要求2所述的方法,還包括接收所述預測信息以及在操作系統(tǒng)(0S)中設置所述延遲期并將所述延遲期的值從所述OS傳送到所述處理器封裝以初始化所述定時器。4.如權利要求l所述的方法,其中所述活動期相當于足以執(zhí)行調度給所述多個核中具有最大預測使用的核的任務和中止事件的持續(xù)期。5.如權利要求4所述的方法,其中所述延遲期相當于NOIx(100%-IU),其中NOI相當于所述下一操作間隔,以及IU是所述最大預測使用。6.如權利要求4所述的方法,其中所述活動期和所述延遲期分別是連續(xù)的時間持續(xù)期。7.如權利要求4所述的方法,還包括在所述活動期開始后從所述處理器封裝外部的緩存中取回所述中止事件。8.如權利要求7所述的方法,還包括服務所述中止事件以及之后服務所述任務,其中按照由所述延遲期延遲的原來的調度來服務所述中止事件和所述任務。9.如權利要求1所述的方法,其中在所述延遲期內所述處理器封裝的所有核都處于空閑狀態(tài),以及在所述活動期的至少第一部分內所有核都處于活動狀態(tài)。10.—種設備,包括包括多個核的多核處理器以服務任務和中止事件;耦合到所述多核處理器的監(jiān)視器以接收關于所述多個核的當前使用周期的使用信息;耦合到所述監(jiān)視器的預測器以基于所述使用信息預測下一使用周期中所述多個核中的每個的使用率;以及耦合到所述預測器的調度程序以接收所述使用率并基于所述使用率的至少一個確定下一使用周期的延遲期,其中所述多個核在所述延遲期將處于空閑。11.如權利要求10所述的設備,其中所述多核處理器包括定時器以控制所述延遲期,以及所述多核處理器在所述延遲期內將處于封裝低功率狀態(tài)。12.如權利要求11所述的設備,其中所述多核處理器在所述延遲期后將進入活動期,其中所述活動期相當于足以執(zhí)行調度給所述多個核中具有最大預測使用的核的任務和中止事件的持續(xù)期,以及其中所述活動期和所述延遲期分別是連續(xù)的時間持續(xù)期。13.如權利要求12所述的設備,其中所述延遲期相當于NUCx(100%-IU),其中NUC相當于所述下一操作周期,以及ILx是所述最大預測〗吏用。14.如權利要求12所述的設備,其中所述多核處理器在進入所述活動期后將從所述多核處理器外部的緩存中取回所述中止事件。15.如權利要求12所述的設備,其中所述調度程序從所述延遲期內到所述活動期內將為多個任務重調度原來的時序。16.如權利要求15所述的設備,其中所述多核處理器將根據所述原來的時序在所述活動期內執(zhí)行所述多個任務。17.一種物品,包括機器可訪問的介質,所述機器可訪問的介質包括指令,當執(zhí)行所述指令時使系統(tǒng)為下一操作間隔確定延遲期,所述延遲期相當于所述下一操作間隔的長度與所述下一操作間隔中服務于操作的時間長度之間的差,所述操作調度給多核處理器中具有最高預測使用率的核;以及控制所述多核處理器在所述下一操作間隔開始時進入封裝低功率狀態(tài)以及在所述延遲期結束時將所述多核處理器退出所述封裝低功率狀態(tài)進入封裝活動狀態(tài)。18.如權利要求17所述的物品,還包括使所述系統(tǒng)能夠接收相當于關于核的預測的預測值以及在操作系統(tǒng)(0S)中確定所述延遲期并將所述延遲期的值從所述OS傳送到所述多核處理器以初始化所述多核處理器的定時器的指令。19.如權利要求17所述的物品,其中所述延遲期相當于NOIx(100y。-UJ,其中NOI相當于所述下一操作間隔,以及U,是所述最高預測使用率。20.如權利要求19所述的物品,其中所述指令使所述系統(tǒng)能夠在所述延遲期之后從所述多核處理器外部的緩存中取回中止事件以及服務所述中止事件以及之后服務調度給所述多核處理器的任務,其中所述中止事件和所述任務按照由所述延遲期延遲的原來的調度來服務。21.—種系統(tǒng),包括處理器封裝,包括多個核和至少一個定時器,其中所述處理器封裝在操作間隔的第一部分將處于封裝低功率狀態(tài),在所述操作間隔的第二部分將處于封裝活動狀態(tài),其中延遲所述第一部分期間為所述多個核調度的操作直到所述第二部分;以及耦合到所述處理器封裝的存儲器?!?2.如權利要求21所述系統(tǒng),其中至少一個定時器將由操作系統(tǒng)(0S)調度程序設置為所述第一部分的長度,且其中所述處理器封裝將響應所述至少一個定時器而退出所述封裝低功率狀態(tài)。23.如權利要求22所述的系統(tǒng),其中所述OS調度程序將基于為所述處理器封裝的在所述操作間隔內具有最高預測使用率的核的預測值確定所述第一部分的長度,其中所述第一部分的長度相當于所述操作間隔的長度和服務調度給所述核的操作的時間長度之間的差。24.如權利要求21所述的系統(tǒng),其中在所述封裝低功率狀態(tài)期間,所述多個核的所有都將處于低功率狀態(tài),而在所述封裝活動狀態(tài)期間,所述核的至少一些將處于活動狀態(tài),且其中所述操作間隔的所述第一和第二部分是相鄰的且共同地從所述操作間隔開始擴展至結束。全文摘要在一個實施例中,控制處理器封裝在操作間隔的第一部分處于封裝低功率狀態(tài),在操作間隔的第二部分處于封裝活動狀態(tài)。為實現低功率狀態(tài),延遲第一部分期間調度的操作直到第二部分。描述了其它的實施例并要求其權利。文檔編號G06F1/32GK101458558SQ20081018716公開日2009年6月17日申請日期2008年12月10日優(yōu)先權日2007年12月10日發(fā)明者J·宋,Q·刁申請人:英特爾公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1