專利名稱::使用多個(gè)約束的性能調(diào)度的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及計(jì)算系統(tǒng),并且特別地,涉及所述計(jì)算系統(tǒng)的功耗。
背景技術(shù):
:計(jì)算機(jī)系統(tǒng)在世界上無處不在,包括從例如個(gè)人數(shù)字助理和蜂窩電話的小型手持電子設(shè)備到例如機(jī)頂盒、數(shù)字?jǐn)z相機(jī)和其他消費(fèi)類電子產(chǎn)品的專用電子設(shè)備,到例如筆記本計(jì)算機(jī)、準(zhǔn)筆記本計(jì)算機(jī)(sub-notebook)和平板計(jì)算機(jī)(tabletcomputer)的中等大小的移動(dòng)系統(tǒng),再到桌上系統(tǒng)、工作站和服務(wù)器的所有東西。在過去幾年,半導(dǎo)體技術(shù)已經(jīng)有了很多進(jìn)步,這些進(jìn)步已經(jīng)導(dǎo)致了改進(jìn)的電子設(shè)備的發(fā)展,所述改進(jìn)的電子設(shè)備具有工作于更高頻率并支持額外的和/或增強(qiáng)的特征的集成電路(IC)。雖然這些進(jìn)步已經(jīng)使得硬件制造商能夠設(shè)計(jì)和建造更快和更精密的計(jì)算機(jī)系統(tǒng),但是它們也帶來了更高功耗的缺點(diǎn),尤其是對(duì)于電池供電的計(jì)算機(jī)系統(tǒng)。已知各種用于降低計(jì)算機(jī)系統(tǒng)中的功耗的技術(shù)。例如,高級(jí)配置和電源接口(AdvancedConfigurationandPowerInterface,ACPI)規(guī)范(2002年10月11日2.0b修訂版)給出了有關(guān)如何降低便攜式和其他的計(jì)算機(jī)系統(tǒng)的動(dòng)態(tài)功耗的信息。針對(duì)在計(jì)算機(jī)系統(tǒng)中使用的處理器,在ACPI規(guī)范中定義了四種處理器功耗模式(C0、C1、C2和C3)。例如,在處理器正在執(zhí)行指令時(shí),它處于C0模式。C0模式是高功耗模式。在處理器不執(zhí)行指令或者空閑時(shí),它可以被置于低功耗模式C1、C2或C3中的一種。計(jì)算機(jī)系統(tǒng)中的操作系統(tǒng)可以將空閑的處理器動(dòng)態(tài)地轉(zhuǎn)換到適當(dāng)?shù)牡凸哪J街?。C1功率模式是具有最低延遲(latency)的處理器功率模式。C2功率模式相對(duì)于C1功率模式提供了改進(jìn)的功率節(jié)省。在C2功率模式中,處理器仍能夠維持系統(tǒng)緩存(cache)的上下文(context)。與C1和C2功率模式相比,C3功率模式提供了更低的功耗,但是具有比C2和C1功率模式更高的退出延遲(exitlatency)。在C3功率模式中,處理器可能不能針對(duì)其他的系統(tǒng)活動(dòng)維持處理器緩存的一致性。雖然由ACPI所定義的降低的功耗模式以及已知的技術(shù)具有一些優(yōu)點(diǎn),但是仍存在著對(duì)改進(jìn)當(dāng)前技術(shù)的持續(xù)需求。從下面給出的本發(fā)明實(shí)施方案的詳細(xì)描述和附圖,將更充分地理解本發(fā)明,但是,本發(fā)明的實(shí)施方案不應(yīng)該被當(dāng)作將本發(fā)明限于所描述的具體實(shí)施方案,而僅僅是為了說明和理解。圖1是示出現(xiàn)有技術(shù)計(jì)算機(jī)系統(tǒng)的實(shí)施例的框圖。圖2是根據(jù)一個(gè)實(shí)施方案的框圖,示出可以考慮多個(gè)類型的處理要求的調(diào)度器(scheduler)的實(shí)施例。圖3A、3B和3C根據(jù)一個(gè)實(shí)施方案,示出了不同的處理要求的塊圖例子。圖4是根據(jù)一個(gè)實(shí)施方案的框圖,示出匯總和不同的處理要求相關(guān)聯(lián)的處理器速度的圖5是根據(jù)一個(gè)實(shí)施方案的框圖,示出根據(jù)任務(wù)的處理要求對(duì)其進(jìn)行安排的實(shí)施例。圖6是根據(jù)一個(gè)實(shí)施方案的流程圖,示出用來確定性能分布(performanceprofile)的過程的實(shí)施例。圖7是根據(jù)一個(gè)實(shí)施方案的流程圖,示出用來確定匯總處理器速度的過程的實(shí)施例。具體實(shí)施方案對(duì)于一個(gè)實(shí)施方案,公開了一種用于為計(jì)算機(jī)系統(tǒng)建立性能分布的方法和裝置??梢允褂脙蓚€(gè)或更多個(gè)不同類型的處理要求或者兩個(gè)或更多個(gè)任務(wù)的約束來建立性能分布。性能分布可以幫助在降低功耗的同時(shí)滿足處理要求。在下面的描述中,為了說明的目的,給出了許多具體細(xì)節(jié),以便提供對(duì)本發(fā)明的透徹理解。但是對(duì)于本領(lǐng)域熟練技術(shù)人員將很清楚,無需這些具體細(xì)節(jié)也可以實(shí)踐本發(fā)明。在其他的實(shí)例中,用框圖和流程圖的形式給出了公知的結(jié)構(gòu)、過程和設(shè)備,以便說明本發(fā)明的實(shí)施方案,并且,它們可能未被詳細(xì)地討論,以避免無謂地模糊了對(duì)本說明書的理解。如這里所使用的,術(shù)語“在…時(shí)(when)”可以被用來指示事件的時(shí)間本質(zhì)。例如,短語“事件A在事件B發(fā)生時(shí)發(fā)生”要被解釋成表明事件A可以發(fā)生在事件B的發(fā)生之前、期間或之后,但是仍然和事件B的發(fā)生相關(guān)聯(lián)。例如,如果事件A響應(yīng)事件B的發(fā)生而發(fā)生,或者響應(yīng)指示事件B已經(jīng)發(fā)生、正在發(fā)生或?qū)⒁l(fā)生的信號(hào)而發(fā)生,則事件A在事件B發(fā)生時(shí)發(fā)生。在本說明書中提及“實(shí)施方案”、“一個(gè)實(shí)施方案”、“一些實(shí)施方案”或“其他實(shí)施方案”表明結(jié)合這些實(shí)施方案所描述的特定特征、結(jié)構(gòu)或特性至少被包括在本發(fā)明的一些實(shí)施方案中,但不一定被包括在本發(fā)明所有的實(shí)施方案中。不只一次出現(xiàn)“實(shí)施方案”、“一個(gè)實(shí)施方案”或“一些實(shí)施方案”不一定全都指的是同樣的實(shí)施方案。單一類型的處理要求圖1為示出現(xiàn)有技術(shù)計(jì)算機(jī)系統(tǒng)的實(shí)施例的框圖。一般地,計(jì)算機(jī)系統(tǒng)100可以包括調(diào)度器105(例如電壓調(diào)度器)。計(jì)算機(jī)系統(tǒng)100也可以包括處理器110。在處理器110被設(shè)置成以可能的最高處理器速度(例如,像處理器制造商所規(guī)定的那樣)運(yùn)行時(shí),處理器110的功耗可能很高。通過使用當(dāng)今可獲得的技術(shù)來調(diào)節(jié)處理器110的處理器速度,可以控制處理器110的功耗。例如,一種技術(shù)是動(dòng)態(tài)電壓管理(DVM)。使用DVM,處理器110的性能和功耗可以由調(diào)度器105來調(diào)節(jié)。調(diào)節(jié)可以在運(yùn)行時(shí)(run-time)被執(zhí)行。例如,在處理器110不繁忙時(shí),處理器頻率和電壓可以被降低。通過工作在低于最高處理器速度的處理器速度,處理器110的功耗可以被降低??赡苡幸恍┐鷥r(jià)與使處理器110在低于其可能的最高處理器速度工作相關(guān)聯(lián)。在處理器速度比應(yīng)用程序(application)所期望的慢時(shí),應(yīng)用程序可能失敗。在處理器速度比應(yīng)用程序所期望的快時(shí),可能發(fā)生不必要的功耗。例如,在媒體播放應(yīng)用程序中,應(yīng)用程序可能要求處理器110以高處理器速度運(yùn)行,以實(shí)現(xiàn)更佳的用戶體驗(yàn)。應(yīng)用程序在短時(shí)間周期中可能是活躍的,并且,它可能在長時(shí)間周期中保持不活躍。在使用DVM時(shí),當(dāng)應(yīng)用程序不活躍時(shí),處理器速度可以被降低。但是,在應(yīng)用程序變得活躍時(shí),此被降低了的處理器速度可能太慢了??色@得不同的技術(shù)來幫助更好地為處理器110確定處理器速度。但是,如圖1所示,這些技術(shù)只考慮單一類型的處理要求。因?yàn)橹豢紤]單一類型的處理要求來確定處理器速度,所以處理器速度對(duì)于一種類型的處理要求可能是最佳的,并且對(duì)于另一類型的處理要求可能不是最佳的。在考慮所有不同類型的處理要求時(shí)確定最佳處理器速度可能很困難,特別是在這樣的處理器速度要基本上不干擾例如用戶體驗(yàn)或應(yīng)用程序的可靠性的時(shí)候。已經(jīng)提出了各種預(yù)測(cè)調(diào)度(predictivescheduling)技術(shù)。例如,這些調(diào)度技術(shù)包括給應(yīng)用程序的數(shù)據(jù)流圖中的每一個(gè)操作分配頻率或預(yù)先確定的電源電壓,以便使得對(duì)于給定的計(jì)算時(shí)間或吞吐量約束或者這兩者的平均能量消耗最小。另外,已經(jīng)提出了自定時(shí)電路,自定時(shí)電路降低電源電壓,直到處理器滿足處理要求為止。這種方法根據(jù)每單位時(shí)間處理數(shù)據(jù)的量來動(dòng)態(tài)地調(diào)整電源電壓。不幸的是,在被應(yīng)用到例如視頻或音頻處理的多媒體應(yīng)用程序時(shí),預(yù)測(cè)方法和自定時(shí)電路經(jīng)常提供次優(yōu)的(sub-optimal)性能。為了有用,預(yù)測(cè)算法或定時(shí)電路需要根據(jù)內(nèi)容數(shù)據(jù)(例如MPEG幀的內(nèi)容)準(zhǔn)確地預(yù)測(cè)未來的計(jì)算需求。即使預(yù)測(cè)是準(zhǔn)確的,這種方法也可能要求大量額外的處理(因而更多能量和功率消耗),以產(chǎn)生所述預(yù)測(cè)。多個(gè)類型的處理要求圖2為根據(jù)一個(gè)實(shí)施方案,示出可以考慮多個(gè)類型的處理要求的調(diào)度器的實(shí)施例的框圖。在這個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)200可以包括調(diào)度器205(例如電壓調(diào)度器)。計(jì)算機(jī)系統(tǒng)200還可以包括很多不同的實(shí)體(entity)。例如,這些實(shí)體可以是硬件、固件、操作系統(tǒng)(OS)、高層應(yīng)用程序等。每一個(gè)實(shí)體可以從處理器210要求處理資源。每一個(gè)實(shí)體可以具有不同的處理要求。處理要求可以是同一類型,或者,它們可以是不同的類型。例如,參考圖2,不同類型的處理要求可以包括處理器利用率(或類型1)220、基于期限的(或類型2)225、緩沖器水平(或類型3)230和基于速率的(或類型4)235處理要求。盡管在這里沒有描述,但是,除了處理要求220-235以外,本發(fā)明的實(shí)施方案也可以包括其他類型的處理要求。對(duì)于一個(gè)實(shí)施方案,調(diào)度器205可以將不同類型的處理要求合起來使用,以形成性能分布。調(diào)度器205可能需要理解不同類型的處理要求,并具有用于將其組合或混合成一個(gè)組合處理要求的機(jī)制。例如,調(diào)度器205可能需要能夠?qū)⑴c緩沖器水平處理要求、基于速率的處理要求、利用率處理要求和基于期限的處理要求相關(guān)聯(lián)的處理要求協(xié)調(diào)成一個(gè)匯總(aggregate)。性能分布可能影響不同類型的處理要求可以如何被滿足,以及多少處理資源可以被分配。對(duì)于一個(gè)實(shí)施方案,性能分布可以包括使性能調(diào)節(jié)能夠進(jìn)行的信息。例如,根據(jù)處理要求,性能分布可以包括關(guān)于通訊帶寬、存儲(chǔ)器總線速度、存儲(chǔ)器總線寬度、處理器速度等中的一個(gè)或更多個(gè)的信息。與處理要求相關(guān)聯(lián)的處理器速度對(duì)于一個(gè)實(shí)施方案,每一個(gè)處理要求可以與期望的處理器速度相關(guān)聯(lián)。期望的處理器速度可以由實(shí)體(例如硬件、固件、OS、應(yīng)用軟件等)指定。期望的處理器速度也可以由實(shí)體外部的來源(例如由用戶或另一個(gè)應(yīng)用程序)指定。對(duì)于一個(gè)實(shí)施方案,處理器利用率處理要求可以涉及在給定時(shí)間窗內(nèi)處理器210的利用率。例如,根據(jù)處理器210被利用了多少(例如繁忙或空閑),處理器速度可以被降低或增加。對(duì)于一個(gè)實(shí)施方案,基于期限的處理要求可以涉及在期限之前完成預(yù)計(jì)的工作數(shù)量。例如,可以使用下列等式來近似處理器210期望的處理器速度處理器速度=工作數(shù)量/被允許來完成工作的時(shí)間長度。例如,在媒體播放應(yīng)用程序中,在給定時(shí)間周期之前需要被完成的幀速(它可以被轉(zhuǎn)換為周期性速率和幀期限(framedeadline))和每幀的周期(對(duì)于每一幀或?qū)τ谒袔?被指定,并被用來近似所要求的處理器速度。但是,在幀速在給定時(shí)間周期(或期限)內(nèi)未被滿足時(shí),調(diào)度器205(例如電壓調(diào)度器)可以增加處理器210的處理器速度。這可以幫助在給定時(shí)間周期內(nèi)滿足基于期限的處理要求?;谄谙薜奶幚硪罂梢员挥糜趯?duì)時(shí)間要求嚴(yán)格的(time-critical)應(yīng)用程序。對(duì)于一個(gè)實(shí)施方案,緩沖器水平處理要求可以涉及特定實(shí)體使用的輸入和輸出緩沖器水平中的一個(gè)或更多個(gè)。例如,在視頻解碼器應(yīng)用程序中,在輸出緩沖器充滿輸出視頻幀時(shí),處理器210的處理器速度可以被降低(并且應(yīng)用程序可以運(yùn)行較慢),因?yàn)闆]有對(duì)更多輸出視頻幀的短期需求。另舉一例,在加密文件復(fù)制應(yīng)用程序中,其中,速率限制因素是通訊信道,處理器210的處理器速度可以由通訊緩沖器有多滿來支配。在傳送來自緩沖器的數(shù)據(jù)中,當(dāng)緩沖器滿時(shí),處理器可以以慢處理器速度運(yùn)行。在處理器空時(shí),處理器可以以更快的處理器速度運(yùn)行。緩沖器水平處理要求也可以被用于對(duì)時(shí)間要求嚴(yán)格的應(yīng)用程序。對(duì)于一個(gè)實(shí)施方案,基于速率的處理要求可能涉及獲得持續(xù)的處理速率,獨(dú)立于任何其他的處理要求,例如期限、緩沖器水平或處理器利用率。例如,編譯實(shí)體(或應(yīng)用程序)可以指定它需要某一“每秒周期”平均值(例如等效于200MHz的處理器速度),即使處理器210可能能夠運(yùn)行高得多的處理器速度??赡懿淮嬖诤途幾g實(shí)體相關(guān)聯(lián)的固有期限處理要求,但是可能期望穩(wěn)定的進(jìn)度速率處理要求。這個(gè)信息可能是有用的,以允許計(jì)算機(jī)系統(tǒng)200為編譯實(shí)體分配足夠的處理資源來取得進(jìn)展并避免資源枯竭,而不必迫使處理器210到達(dá)可能導(dǎo)致不必要功耗的速率?;谒俾实奶幚硪罂梢员挥糜趯?duì)時(shí)間要求不嚴(yán)格(non-timecritical)的應(yīng)用程序??梢宰⒁獾剑?jì)算機(jī)系統(tǒng)200中的很多實(shí)體可能具有“未被標(biāo)明的”處理要求或沒有處理要求。對(duì)于一個(gè)實(shí)施方案,在沒有提供處理要求時(shí),調(diào)度器205可能需要使用缺省的處理要求。例如,調(diào)度器205可能假設(shè)實(shí)體是低計(jì)算量(low-computation)實(shí)體,該實(shí)體具有持續(xù)時(shí)間短并且處理器利用率低的處理要求。結(jié)果,調(diào)度器205可能將處理器210的處理器速度設(shè)置成以慢速運(yùn)行。圖3A、3B和3C根據(jù)一個(gè)實(shí)施方案,示出了不同處理要求的塊圖例子。如上所述,計(jì)算機(jī)系統(tǒng)200接收到的每一個(gè)處理要求可以與處理器速度相關(guān)聯(lián)。例如,計(jì)算機(jī)系統(tǒng)200可能正在處理三個(gè)不同的任務(wù)(或應(yīng)用程序)。每一個(gè)任務(wù)均可能具有不同類型的處理要求。如圖3A中的例圖所示,第一個(gè)任務(wù)(“A”)可能具有第一類型的處理要求,第一類型的處理要求可能與處于100MHz的期望處理器速度(速度“A”)相關(guān)聯(lián)。在這個(gè)實(shí)施例中,第一任務(wù)(“A”)可以包括子任務(wù)A1-A5。第一處理要求可以是基于速率的處理要求,并且,它可能需要100MHz的持續(xù)的處理器速度。如圖3B中的例圖所示,第二任務(wù)(“B”)可能具有第二類型的處理要求,第二類型的處理要求可能與處于125MHz的期望處理器速度(速度“B”)相關(guān)聯(lián)。在這個(gè)實(shí)施例中,第二任務(wù)(“B”)可能包括子任務(wù)B1-B5。第二處理要求可以是基于期限的處理要求。只要在期限之前完成全部的子任務(wù)B1-B5,則認(rèn)為滿足了任務(wù)“B”的處理要求。如圖3C中的例圖所示,第三任務(wù)(“C”)可能具有第三類型的處理要求,第三類型的處理要求可能與處于200MHz的期望處理器速度(速度“C”)相關(guān)聯(lián)。在這個(gè)實(shí)施例中,第三任務(wù)(“C”)可以包括子任務(wù)C1-C3。第三處理要求可以是緩沖器水平處理要求。第三任務(wù)“C”的處理要求在足夠長來填充緩沖器(子任務(wù)C1)的周期內(nèi)可能期望200MHz的處理器速度,但是在緩沖器需要再次被填充(子任務(wù)C2)之前,可能不需要多少處理器速度。匯總處理器速度對(duì)于一個(gè)實(shí)施方案,與不同的處理要求相關(guān)聯(lián)的處理器速度可以被用來形成性能分布,包括形成滿足所有不同類型的處理要求的有效處理器速度。對(duì)于一個(gè)實(shí)施方案,這包括匯總與每一個(gè)不同的處理要求相關(guān)聯(lián)的處理器速度并形成處理器210的有效處理器速度。圖4為根據(jù)一個(gè)實(shí)施方案,示出匯總與不同的處理要求相關(guān)聯(lián)的處理器速度的實(shí)施例的框圖。對(duì)于一個(gè)實(shí)施方案,與任務(wù)“A”、“B”和“C”的處理要求相關(guān)聯(lián)的處理器速度可以被加在一起,以生成總的處理器速度估計(jì)處理器速度=“速度A”+“速度B”+“速度C”。參考圖4,匯總的有效處理器速度被示出為大約425MHz(100+125+200)。因此,在這個(gè)實(shí)施例中,在處理器210被設(shè)置成以425MHz的有效速度運(yùn)行時(shí),任務(wù)“A”、“B”和“C”的處理要求可以被滿足。此外,不必將處理器210設(shè)置成以其可能的最高處理器速度運(yùn)行就可以滿足這些處理要求。這可以幫助減少任何不必要的功耗??梢宰⒁獾剑部梢允褂闷渌募夹g(shù)來組合與不同類型的處理要求相關(guān)聯(lián)的處理器速度來形成有效處理器速度。例如,可以采用一種算法來考慮不同類型的處理要求之間的交叉算法(cross-algorithm)影響。此外,盡管所描述的技術(shù)涉及確定有效處理器速度,但是,本領(lǐng)域熟練技術(shù)人員可以發(fā)現(xiàn),其他和性能相關(guān)的因素也可以被確定。例如,有可能考慮多個(gè)類型的處理要求來確定計(jì)算機(jī)系統(tǒng)200的熱學(xué)特性、冷卻特性等。參考圖4所示的實(shí)施例,425MHz的匯總有效處理器速度在某些時(shí)刻可能超過了必需的速度。例如,在時(shí)刻t1,處理器速度可能足以滿足任務(wù)“A”、“B”和“C”的所有處理要求。但是,在時(shí)刻t2和t3,處理器速度可能超過了必需的速度,并且可能導(dǎo)致不必要的功耗。根據(jù)處理要求安排工作量圖5是根據(jù)一個(gè)實(shí)施方案,示出根據(jù)任務(wù)的處理要求安排任務(wù)的實(shí)施例的框圖。在圖3中所示的實(shí)施例中,只要滿足了期限,則有多少計(jì)算資源被分配給任務(wù)“B”的期限處理要求可能沒有關(guān)系。因此,任何早于任務(wù)“B”的期限滿足其處理要求可能并不有利。對(duì)于一個(gè)實(shí)施方案,為了在滿足不同的處理要求的同時(shí)進(jìn)一步降低功耗,匯總的處理器速度(在這個(gè)實(shí)施例中處于425MHz)可以被降低,只要滿足所有任務(wù)的所有處理要求。當(dāng)處理器速度被降低時(shí),滿足一些處理要求可能要用更長的時(shí)間,但是計(jì)算機(jī)系統(tǒng)200的功耗可以被降低。如圖5中所示,計(jì)算機(jī)系統(tǒng)200可能要用更長的時(shí)間來滿足任務(wù)“A”、“B”和“C”的處理要求中的一個(gè)或更多個(gè),但是可以以降低的處理器速度來滿足這些任務(wù)的處理要求。在這個(gè)實(shí)施例中,處理器速度可以被從425MHz降低到200MHz。注意,在圖5的圖中,這些塊變得更長,但是較低,并且保持每一個(gè)塊的面積(與圖4中的面積相比)。匯總過程圖6是根據(jù)一個(gè)實(shí)施方案,示出用來確定性能分布的過程的實(shí)施例的流程圖。在框605,接收到兩個(gè)或更多個(gè)處理要求。處理要求可以具有不同的類型。例如,一些可以是基于速率的而其他的則可以是基于期限的。在框610,使用處理要求來形成性能分布。如上所述,這可以包括確定與每一個(gè)處理要求相關(guān)聯(lián)的處理器速度。在框615,計(jì)算機(jī)系統(tǒng)200使用性能分布來滿足處理要求。例如,這可以包括設(shè)置用于處理所述處理要求的處理器速度、通訊帶寬、存儲(chǔ)器總線等。圖7是根據(jù)一個(gè)實(shí)施方案,示出用來確定匯總處理器速度的過程的實(shí)施例的流程圖。在框705,接收到兩個(gè)或更多個(gè)處理要求。處理要求可以具有不同的類型。每一個(gè)處理要求可以與實(shí)體或任務(wù)(例如應(yīng)用程序)相關(guān)聯(lián)。在框710,確定與每一個(gè)處理要求相關(guān)聯(lián)的期望的處理器速度。如上所述,期望的處理器速度可以由實(shí)體指定,或者,它可以由例如實(shí)體外部的來源為該實(shí)體確定。在框715,各個(gè)期望的處理器速度被匯總,形成了處理器200的有效處理器速度。在框720,處理器200被設(shè)置成以有效處理器速度運(yùn)行。圖7中的過程在圖4的框圖例子中被示出。可以注意到,通過安排任務(wù)以使其處理要求即使在較低的處理器速度也被滿足,則該過程可以被進(jìn)一步提高。這在圖5的框圖例子中被示出。這里所描述的技術(shù)的一個(gè)優(yōu)點(diǎn)是它們能夠使得計(jì)算機(jī)系統(tǒng)適應(yīng)來自不同任務(wù)(或?qū)嶓w)的不同處理要求,而不是以其他的處理要求為代價(jià)只適應(yīng)一個(gè)處理要求。例如,在如機(jī)頂數(shù)字錄影機(jī)(例如TiVo或ReplayTV)的通用視頻播放設(shè)備中,設(shè)計(jì)者可以將緩沖器水平處理要求用于視頻解碼器,基于速率的處理要求用于背景系統(tǒng)維護(hù)任務(wù),基于期限的處理要求用于屏幕上的用戶界面,利用率處理要求用于“未被標(biāo)明的”任務(wù),“未被標(biāo)明的”任務(wù)可能是罕見的或在系統(tǒng)設(shè)計(jì)時(shí)未被定義的。在僅僅一種類型的處理要求被用于所有不同類型的處理要求時(shí),結(jié)果可能不那么理想,因?yàn)樗械膽?yīng)用程序的處理要求可能沒有被有效地滿足。計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)可讀介質(zhì)利用計(jì)算機(jī)系統(tǒng)中的處理器可以實(shí)施這些各種方法的操作,所述處理器執(zhí)行儲(chǔ)存在存儲(chǔ)器中的計(jì)算機(jī)程序指令序列,所述存儲(chǔ)器可以被視為機(jī)器可讀儲(chǔ)存介質(zhì)。存儲(chǔ)器可以是隨機(jī)訪問存儲(chǔ)器、只讀存儲(chǔ)器、永久儲(chǔ)存存儲(chǔ)器(persistentstoragememory),例如大容量儲(chǔ)存設(shè)備或這些設(shè)備的任何組合。例如,執(zhí)行指令序列可能引起處理器執(zhí)行根據(jù)圖6和圖7中所描述的過程的操作??梢酝ㄟ^網(wǎng)絡(luò)連接從儲(chǔ)存設(shè)備或者從一個(gè)或更多個(gè)其他的計(jì)算機(jī)系統(tǒng)(例如服務(wù)器計(jì)算機(jī)系統(tǒng))將指令加載到計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中。指令可以被同時(shí)儲(chǔ)存在幾個(gè)儲(chǔ)存設(shè)備(例如DRAM和硬盤,例如虛擬存儲(chǔ)器)中。因此,這些指令的執(zhí)行可以由處理器直接執(zhí)行。在其他情形中,指令可以不被直接執(zhí)行,或者,它們可能不是可由處理器直接執(zhí)行的。在這種情況下,通過引起處理器執(zhí)行解釋指令的解釋程序,或通過引起處理器執(zhí)行將接收到的指令轉(zhuǎn)換為可以被處理器直接執(zhí)行的指令的編譯程序,這些執(zhí)行可以被執(zhí)行。在其他的實(shí)施方案中,可以使用硬連線電路代替軟件指令或與其結(jié)合,以實(shí)施本發(fā)明。因此,本發(fā)明不局限于硬件電路和軟件的任何具體組合或由計(jì)算機(jī)系統(tǒng)執(zhí)行的指令的任何特定來源。從上面的描述和附圖,本領(lǐng)域普通技術(shù)人員將理解,所示出和描述的特定實(shí)施方案僅僅是用于說明的目的,并非旨在限制本發(fā)明的范圍。本領(lǐng)域普通技術(shù)人員將發(fā)現(xiàn),不偏離本發(fā)明的精神或基本特征,本發(fā)明可以以其他具體形式來實(shí)施。例如,本發(fā)明的實(shí)施方案可以被用于虛擬機(jī)環(huán)境,在虛擬機(jī)環(huán)境中可能存在多個(gè)虛擬機(jī),每一個(gè)均處理多個(gè)類型的處理要求。類似地,盡管調(diào)度器205被作為獨(dú)立的實(shí)體示出,但是它也可以在OS、基本輸入輸出系統(tǒng)(BIOS)、固件等,或其任何組合中被實(shí)施。提及特定實(shí)施方案的細(xì)節(jié)并非旨在限制權(quán)利要求書的范圍。權(quán)利要求1.一種方法,包括使用兩個(gè)或更多個(gè)任務(wù)的處理要求為系統(tǒng)建立性能分布,其中,至少兩個(gè)任務(wù)具有不同類型的處理要求,并且其中,建立所述性能分布來適應(yīng)所述兩個(gè)或更多個(gè)任務(wù)的所述處理要求。2.如權(quán)利要求1所述的方法,其中,所述處理要求包括涉及完成期限的要求。3.如權(quán)利要求1所述的方法,其中,所述處理要求包括涉及所要求的處理速率的要求。4.如權(quán)利要求1所述的方法,其中,所述處理要求包括涉及輸入或輸出數(shù)據(jù)流的緩沖的要求。5.如權(quán)利要求1所述的方法,其中,所述性能分布包括所述系統(tǒng)中處理器的速度。6.如權(quán)利要求5所述的方法,其中,所述性能分布影響所述系統(tǒng)消耗的功率。7.如權(quán)利要求5所述的方法,其中,所述處理器的所述速度小于或等于所述處理器可能的最高速度。8.如權(quán)利要求1所述的方法,其中,使用兩個(gè)或更多個(gè)任務(wù)的所述處理要求建立所述系統(tǒng)的所述性能分布的操作包括確定與所述處理要求中的每一個(gè)相關(guān)聯(lián)的期望處理器速度。9.如權(quán)利要求8所述的方法,還包括匯總與所述處理要求中的每一個(gè)相關(guān)聯(lián)的所述期望處理器速度以便為所述系統(tǒng)形成第一處理器速度。10.如權(quán)利要求9所述的方法,還包括安排所述兩個(gè)或更多個(gè)任務(wù),以便使得它們的處理要求在所述系統(tǒng)被設(shè)置成以第二處理器速度運(yùn)行時(shí)能夠被滿足,所述第二處理器速度比所述第一處理器速度慢。11.如權(quán)利要求1所述的方法,其中,所述處理要求中的一個(gè)或更多個(gè)由對(duì)應(yīng)的任務(wù)提供。12.如權(quán)利要求11所述的方法,其中,所述處理要求中的一個(gè)或更多個(gè)由所述對(duì)應(yīng)的任務(wù)外部的來源指定。13.一種計(jì)算機(jī)可讀介質(zhì),具有儲(chǔ)存在其上的指令序列,所述指令序列可以由系統(tǒng)執(zhí)行,并且,在被所述系統(tǒng)執(zhí)行時(shí),所述指令序列引起所述系統(tǒng)執(zhí)行一種方法,所述方法包括使用兩個(gè)或更多個(gè)任務(wù)的處理要求為系統(tǒng)建立性能分布,其中,至少兩個(gè)任務(wù)具有不同類型的處理要求,并且其中,建立所述性能分布來適應(yīng)所述兩個(gè)或更多個(gè)任務(wù)的所述處理要求。14.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述處理要求包括涉及完成期限的要求。15.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述處理要求包括涉及所要求的處理速率的要求。16.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述處理要求包括涉及輸入或輸出數(shù)據(jù)流的緩沖的要求。17.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述性能分布包括所述系統(tǒng)中處理器的速度。18.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其中,所述性能分布影響所述系統(tǒng)消耗的功率。19.如權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其中,所述處理器的所述速度小于或等于所述處理器可能的最高速度。20.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,使用兩個(gè)或更多個(gè)任務(wù)的所述處理要求建立所述系統(tǒng)的所述性能分布的操作包括確定與所述處理要求中的每一個(gè)相關(guān)聯(lián)的期望處理器速度。21.如權(quán)利要求20所述的計(jì)算機(jī)可讀介質(zhì),還包括匯總與所述處理要求中的每一個(gè)相關(guān)聯(lián)的所述期望處理器速度以便為所述系統(tǒng)形成第一處理器速度。22.如權(quán)利要求21所述的計(jì)算機(jī)可讀介質(zhì),還包括安排所述兩個(gè)或更多個(gè)任務(wù),以便使得它們的處理要求在所述系統(tǒng)被設(shè)置成以第二處理器速度運(yùn)行時(shí)能夠被滿足,所述第二處理器速度比所述第一處理器速度慢。23.如權(quán)利要求13所述的計(jì)算機(jī)可讀介質(zhì),其中,所述處理要求中的一個(gè)或更多個(gè)由對(duì)應(yīng)的任務(wù)提供。24.如權(quán)利要求23所述的計(jì)算機(jī)可讀介質(zhì),其中,所述處理要求中的一個(gè)或更多個(gè)由所述對(duì)應(yīng)的任務(wù)外部的來源指定。25.一種系統(tǒng),包括處理器;以及耦合到所述處理器的調(diào)度器,所述調(diào)度器建立性能分布,以處理兩個(gè)或更多個(gè)任務(wù)的兩個(gè)或更多個(gè)不同類型的處理要求,所述性能分布包括所述處理器的處理器速度。26.如權(quán)利要求25所述的系統(tǒng),其中,所述兩個(gè)或更多個(gè)不同類型的處理要求包括對(duì)時(shí)間要求嚴(yán)格的處理要求和對(duì)時(shí)間要求不嚴(yán)格的處理要求。27.如權(quán)利要求25所述的系統(tǒng),其中,所述調(diào)度器將所述不同類型的處理要求組合為一個(gè)處理要求。28.如權(quán)利要求27所述的系統(tǒng),其中,所述調(diào)度器通過確定與所述不同類型的處理要求中的每一個(gè)相關(guān)聯(lián)的處理器速度,將所述不同類型的處理要求組合為一個(gè)處理要求。29.如權(quán)利要求28所述的系統(tǒng),其中,所述調(diào)度器使用與所述不同類型的處理要求中的每一個(gè)相關(guān)聯(lián)的所述處理器速度,形成匯總處理器速度。30.一種方法,包括接收第一應(yīng)用程序的第一處理要求和第二應(yīng)用程序的第二處理要求,其中,所述第一應(yīng)用程序的所述處理要求與所述第二應(yīng)用程序的所述處理要求不同;使用所述第一處理要求和所述第二處理要求形成第三處理要求;以及使用所述第三處理要求建立性能分布。31.如權(quán)利要求30所述的方法,其中,所述第一處理要求由所述第一應(yīng)用程序指定。32.如權(quán)利要求30所述的方法,其中,所述第一處理要求由所述第一應(yīng)用程序外部的來源指定。33.如權(quán)利要求30所述的方法,其中,所述使用所述第三處理要求建立所述性能分布的操作包括確定與所述第一處理要求相關(guān)聯(lián)的第一處理器速度和與所述第二處理要求相關(guān)聯(lián)的第二處理器速度。34.如權(quán)利要求33所述的方法,其中,所述使用所述第三處理要求建立所述性能分布的操作還包括匯總所述第一處理器速度和所述第二處理器速度以形成第三處理器速度。35.如權(quán)利要求34所述的方法,還包括用被設(shè)置成以第三處理器速度運(yùn)行的所述處理器來處理所述第一應(yīng)用程序和所述第二應(yīng)用程序。36.如權(quán)利要求35所述的方法,其中,所述第三處理器速度使得能夠用與比所述第三處理器速度更快的速度相比更少的處理器空閑時(shí)間來處理所述第一應(yīng)用程序和所述第二應(yīng)用程序。37.一種系統(tǒng),包括處理器;以及耦合到所述處理器的電壓調(diào)度器,所述電壓調(diào)度器接收至少一個(gè)對(duì)時(shí)間要求嚴(yán)格的處理要求和至少一個(gè)對(duì)時(shí)間要求不嚴(yán)格的處理要求,其中,所述電壓調(diào)度器確定所述處理器的處理器速度,以適應(yīng)所述對(duì)時(shí)間要求嚴(yán)格的處理要求和所述對(duì)時(shí)間要求不嚴(yán)格的處理要求。38.如權(quán)利要求37所述的系統(tǒng),其中,所述處理器速度小于所述處理器可能的最高處理器速度。39.如權(quán)利要求37所述的系統(tǒng),其中,所述對(duì)時(shí)間要求嚴(yán)格的處理要求與第一任務(wù)相關(guān)聯(lián),并且所述對(duì)時(shí)間要求不嚴(yán)格的處理要求與第二任務(wù)相關(guān)聯(lián)。40.如權(quán)利要求37所述的系統(tǒng),其中,所述電壓調(diào)度器通過混合所述對(duì)時(shí)間要求嚴(yán)格的處理要求和所述對(duì)時(shí)間要求不嚴(yán)格的處理要求來確定所述處理器的所述處理器速度。41.如權(quán)利要求40所述的系統(tǒng),其中,所述電壓調(diào)度器通過確定所述對(duì)時(shí)間要求嚴(yán)格的處理要求的處理器速度和所述對(duì)時(shí)間要求不嚴(yán)格的處理要求的處理器速度來混合所述對(duì)時(shí)間要求嚴(yán)格的處理要求和所述對(duì)時(shí)間要求不嚴(yán)格的處理要求。42.如權(quán)利要求41所述的系統(tǒng),其中,所述電壓調(diào)度器將所述對(duì)時(shí)間要求嚴(yán)格的處理要求的所述處理器速度與所述對(duì)時(shí)間要求不嚴(yán)格的處理要求的所述處理器速度匯總來形成所述處理器的所述處理器速度。43.如權(quán)利要求42所述的系統(tǒng),其中,所述處理器的所述處理器速度以和更快的處理器速度相比更低的功耗來適應(yīng)所述對(duì)時(shí)間要求嚴(yán)格的處理要求和所述對(duì)時(shí)間要求不嚴(yán)格的處理要求。全文摘要確定與每一個(gè)不同類型的處理要求相關(guān)聯(lián)的處理器速度。這些處理器速度被匯總在一起,形成系統(tǒng)中的處理器的有效處理器速度。處理器的處理器速度使得能夠在降低功耗的同時(shí)滿足不同類型的處理要求。文檔編號(hào)G06F1/32GK1802620SQ200480015936公開日2006年7月12日申請(qǐng)日期2004年2月27日優(yōu)先權(quán)日2003年4月9日發(fā)明者特雷弗·佩林申請(qǐng)人:英特爾公司