用于以有保證的瞬態(tài)最后期限來控制中央處理單元功率的系統(tǒng)和方法
【專利說明】用于以有保證的瞬態(tài)最后期限來控制中央處理單元功率的 系統(tǒng)和方法
[0001] 相關(guān)申請
[0002] 本專利申請是于2010年11月11日遞交的、名稱為"SystemandMethodfor ControllingCentralProcessingUnitPowerwithGuaranteedTransientDeadlines" 的美國專利申請No. 12/944,467的后續(xù)部分,該申請要求于2009年12月6日遞交的、名稱 為"SystemandMethodofDynamicallyControllingPowerinaCentralProcessing Unit"的美國臨時申請No. 61/286,991的優(yōu)先權(quán)利益,這兩個申請都以引用的方式整體并 入本申請。
[0003] 交叉引用申請
[0004] 本申請關(guān)于并以引用方式合并Rychlik等人提交的名稱為"SystemAndMethod ForControllingCentralProcessingUnitPowerBasedOnInferredWorkload Parallelism"的美國專利申請No. 12/944, 140 ;Richlik等人提交的名稱為"Systemand MethodforControllingCentralProcessingUnitPowerinaVirtualizedSystem" 的美國專利申請No. 12/944, 202 ;Richlik等人提交的名稱為"SystemandMethodfor AsynchronouslyandIndependentlyControllingCoreClocksinaMulticoreCentral ProcessingUnit"的美國專利申請No. 12/944, 321 ;Thomson等人提交的名稱為"System andMethodforControllingCentralProcessingUnitPowerwithReducedFrequency Oscillations"的美國專利申請No. 12/944, 378 ;Thomson等人提交的名稱為"Systemand MethodforControllingCentralProcessingUnitPowerWithGuaranteedSteady StateDeadlines"的美國專利申請No. 12/944,561 ;以及Sur等人提交的名稱為"System andMethodforDynamicallyControllingaPluralityofCoresinaMulticore CentralProcessingUnitbasedonTemperature" 的美國專利申請No. 12/944,564。
【背景技術(shù)】
[0005] 便攜式計算設(shè)備(P⑶)到處可見。這些設(shè)備可包括蜂窩式電話、便攜式數(shù)字助理 (PDA)、便攜式游戲控制臺、掌上型計算機,和其它便攜式電子設(shè)備。除了這些設(shè)備的主要功 能之外,許多設(shè)備包括外圍功能。舉例來說,蜂窩式電話可以包括進行蜂窩式電話呼叫的主 要功能,和靜態(tài)照相機、視頻照相機、全球定位系統(tǒng)(GPS)導航、網(wǎng)絡(luò)瀏覽、發(fā)送和接收電子 郵件、發(fā)送和接收文本消息、即按即說能力等的外圍功能。隨著此類設(shè)備的功能性增加,支 持此類功能性所需的計算或處理能力也增加。此外,隨著計算能力增加,更需要有效地管理 提供計算能力的處理器或多個處理器。
[0006] 因此,所需的是控制多核CPU內(nèi)的功率的改進的方法。
【附圖說明】
[0007] 合并到本文中并且構(gòu)成本說明書的一部分的附圖,示出了本發(fā)明的示例性方面, 并且與上文給出的概述和下文給出的詳細描述一起用于解釋本發(fā)明的特征。
[0008] 圖1是處于閉合位置的便攜式計算設(shè)備(PCD)的第一方面的正視平面圖;
[0009] 圖2是處于打開位置的PCD的第一方面的正視平面圖;
[0010] 圖3是P⑶的第二方面的方框圖;
[0011] 圖4是處理系統(tǒng)的方框圖;
[0012] 圖5是說明動態(tài)地控制CPU內(nèi)的功率的方法的第一方面的流程圖;
[0013] 圖6是說明動態(tài)地控制CPU內(nèi)的功率的方法的第二方面的第一部分的流程圖;
[0014] 圖7是說明動態(tài)地控制多核CPU的功率的方法的第二方面的第二部分的流程圖;
[0015] 圖8是示出隨著時間的過去繪制的受動態(tài)時鐘和電壓調(diào)節(jié)(DCVS)控制的CPU頻 率的示例性圖表;以及
[0016] 圖9是示出各種性能水平的有效瞬態(tài)響應(yīng)時間的示例性圖表。
[0017] 圖10是說明根據(jù)各個方面實現(xiàn)強制執(zhí)行性能保證的動態(tài)時鐘頻率/電壓調(diào)節(jié) (DCVS)解決方案的計算設(shè)備中的邏輯部件和信息流的框圖。
[0018] 圖11A-B是說明用于產(chǎn)生性能保證的一方面方法的處理流圖。
[0019] 圖12-13是說明強制執(zhí)行性能保證,以確保處理內(nèi)核不會在繁忙狀態(tài)保持比預(yù)定 時間量要多的時間的各個方面方法的處理流圖,其中在此時間段上該預(yù)定時間量是該處理 內(nèi)核完成其預(yù)先計算的、預(yù)計的和/或?qū)嶋H的穩(wěn)定狀態(tài)工作負荷所需要的時間。
[0020] 圖14是說明用于強制執(zhí)行性能保證的另一個方面方法的處理流圖。
[0021] 圖15是適用于一個方面中使用的移動設(shè)備的部件框圖。
[0022] 圖16是適用于一個方面中使用的服務(wù)器設(shè)備的部件框圖。
[0023] 圖17是適用于一個方面中使用的膝上型計算機設(shè)備的部件框圖。
【具體實施方式】
[0024] 將參照附圖來詳細地描述各個方面。只要有可能,相同的引用編號將在貫穿附圖 中用于指代相同或相似的部分。針對特定示例和實現(xiàn)方式進行的引用是用于解釋說明的目 的,而并不旨在限制本發(fā)明或權(quán)利要求的范圍。
[0025] 詞語"示例性"在本文中用于表示"作為實例、例子或說明"。在本文中描述為"示 例性"的任何方面不一定解釋為比其它方面優(yōu)選或有利。
[0026]在此描述中,術(shù)語"應(yīng)用"還可以包括具有可執(zhí)行內(nèi)容的文件,例如:對象代碼、腳 本、字節(jié)代碼、標記語言文件和補丁。另外,本文中所涉及的"應(yīng)用"還可以包括本質(zhì)上不可 執(zhí)行的文件,例如可能需要被打開的文檔或需要被存取的其它數(shù)據(jù)文件。
[0027]術(shù)語"內(nèi)容"還可以包括具有可執(zhí)行內(nèi)容的文件,例如:對象代碼、腳本、字節(jié)代碼、 標記語言文件和補丁。另外,本文中所涉及的"內(nèi)容"還可以包括本質(zhì)上不可執(zhí)行的文件, 例如可能需要被打開的文檔或需要被存取的其它數(shù)據(jù)文件。
[0028] 如此描述中所使用,術(shù)語"組件"、"數(shù)據(jù)庫"、"模塊"、"系統(tǒng)"等旨在意指計算機相關(guān) 的實體,硬件、固件、硬件和軟件的組合、軟件或執(zhí)行中的軟件。舉例來說,組件可以是(但 不限于)運行在處理器上的進程、處理器、對象、可執(zhí)行文件、執(zhí)行的線程、程序,和/或計算 機。以說明的方式,運行在計算設(shè)備上的應(yīng)用和計算設(shè)備兩者均可以是組件。一個或多個 組件可以駐留于進程和/或執(zhí)行的線程內(nèi),且組件可以位于一個計算機上和/或分布于兩 個或兩個以上計算機之間。另外,這些組件可從其上存儲有各種數(shù)據(jù)結(jié)構(gòu)的各種計算機可 讀介質(zhì)來執(zhí)行。組件可以諸如根據(jù)具有一個或多個數(shù)據(jù)分組通過本地和/或遠程進程進行 通信(例如,來自與本地系統(tǒng)、分布式系統(tǒng)和/或跨越例如互聯(lián)網(wǎng)的網(wǎng)絡(luò)中的另一個組件進 行交互、通過信號的方式與其他系統(tǒng)進行交互的一個組件的數(shù)據(jù))。
[0029] 首先參看圖1和圖2,其示出示例性便攜式計算設(shè)備(PCD)且大體上標示為100。 如圖所示,P⑶1〇〇可以包括外殼102。外殼102可以包括上部外殼部分104和下部外殼部 分106。圖1示出了上部外殼部分104可以包括顯示器108。在特定方面中,顯示器108可 以是觸摸屏顯示器。上部外殼部分104還可以包括跟蹤球輸入設(shè)備110。此外,如圖1中 所示,上部外殼部分104可以包括電源打開按鈕112和斷電按鈕114。如圖1中所示,POT 100的上部外殼部分104可以包括多個指示器燈116和揚聲器118。每一指示器燈116可 以是發(fā)光二極管(LED)。
[0030] 在特定方面中,如圖2中所描繪,上部外殼部分104是相對于下部外殼部分106可 移動的。具體來說,上部外殼部分104可以是相對于下部外殼部分106可滑動的。如圖2 中所示,下部外殼部分106可以包括多按鈕鍵盤120。在特定方面中,多按鈕鍵盤120可以 是標準QWERTY鍵盤。在上部外殼部分104相對于下部外殼部分106移動時,可以展現(xiàn)多按 鈕鍵盤120。圖2進一步示出了P⑶100可以包括下部外殼部分106上的重置按鈕122。
[0031] 參看圖3,其示出了便攜式計算設(shè)備(PCD)的示例性的非限制性的方面且大體上 標示為320。如圖所示,P⑶320包括片上系統(tǒng)322,該片上系統(tǒng)322包括多核CPU324。多 核CPU324可以包括第零內(nèi)核325、第一內(nèi)核326和第N內(nèi)核327。
[0032] 如圖3中所示,顯示控制器328和觸摸屏控制器330耦合到多核CPU324。片上系 統(tǒng)322外部的顯示器/觸摸屏332進而耦合到顯示控制器328和觸摸屏控制器330。
[0033] 圖3進一步指示視頻編碼器334 (例如,逐行倒相(PAL)編碼器、順序傳送彩色與 存儲(SECAM)編碼器,或美國電視系統(tǒng)委員會(NTSC)編碼器)耦合到多核CPU324。此外, 視頻放大器336耦合到視頻編碼器334和顯示器/觸摸屏332。而且,視頻端口 338耦合到 視頻放大器336。如圖3中所描繪,通用串行總線(USB)控制器340耦合到多核CPU324。 而且,USB端口 342耦合到USB控制器340。存儲器344和用戶身份模塊(SM)卡346也 可以耦合到多核CPU324。此外,如圖3中所示,數(shù)字照相機348可以耦合到多核CPU324。 在示例性方面中,數(shù)字照相機348為電荷耦合設(shè)備(CCD)照相機或互補金屬氧化物半導體 (CMOS)照相機。
[0034] 如圖3中進一步示出的,立體聲音頻CODEC350可以耦合到多核CPU324。另外, 音頻放大器352可以耦合到立體聲音頻CODEC350。在示例性方面中,第一立體聲揚聲器 354和第二立體聲揚聲器356耦合到音頻放大器352。圖3示出了麥克風放大器358也可 以耦合到立體聲音頻CODEC350。另外,麥克風360可以耦合到麥克風放大器358。在特定 方面中,調(diào)頻(FM)無線電調(diào)諧器362可以耦合到立體聲音頻CODEC350。而且,F(xiàn)M天線364 耦合到FM無線電調(diào)諧器362。此外,立體聲頭戴式耳機366可以耦合到立體聲音頻CODEC 350〇
[0035] 圖3進一步指示射頻(RF)收發(fā)器368可以耦合到多核CPU324。RF開關(guān)370可以 耦合到RF收發(fā)器368和RF天線372。如圖3中所示,鍵區(qū)374可以耦合到多核CPU324。 而且,具有麥克風的單聲道耳機376可以耦合到多核CPU324。此外,振動器設(shè)備378可以 耦合到多核CPU324。圖3還示出電源380可以耦合到片上系統(tǒng)322。在特定方面中,電源 380是將功率供應(yīng)給PCD320的、需要功率的各種組件的直流(DC)電源。此外,在特定方面 中,電源是可再充電DC電池或DC電源,其中該DC電源從連接到AC電源的交流(AC)到DC 變壓器得到的。
[0036] 圖3進一步指示P⑶320還可以包括網(wǎng)卡388,該網(wǎng)卡388可用于接入數(shù)據(jù)網(wǎng)絡(luò), 例如局域網(wǎng)、個域網(wǎng)或任何其它網(wǎng)絡(luò)。網(wǎng)卡388可以是藍牙網(wǎng)卡、WiFi網(wǎng)卡、個域網(wǎng)(PAN) 卡、個域網(wǎng)超低功率技術(shù)(PeANUT)網(wǎng)卡,或本領(lǐng)域中眾所周知的任何其它網(wǎng)卡。此外,網(wǎng)卡 388可以被并入到芯片中,即網(wǎng)卡388可以是芯片上的整個解決方案,且可以不是單獨的網(wǎng) 卡 388。
[0037] 如圖3中所描繪,顯示器/觸摸屏332、視頻端口 338、USB端口 342、照相機348、 第一立體聲揚聲器354、第二立體聲揚聲器356、麥克風360、FM天線364、立體聲頭戴式耳 機366、RF開關(guān)370、RF天線372、鍵區(qū)374、單聲道耳機376、振動器378和電源380在片上 系統(tǒng)322的外部。
[0038] 在特定方面中,本文中所描述的方法步驟中的一個或多個可以作為計算機程序指 令存儲于存儲器344中。這些指令可以由多核CPU324來執(zhí)行,以便執(zhí)行本文中所描述的 方法。此外,多核CPU324、存儲器344或其組合可以用作用于執(zhí)行本文中所描述的方法步 驟中的一個或多個方法步驟,以便動態(tài)地控制多核CPU324內(nèi)的每一CPU或內(nèi)核的功率的 單元。
[0039] 參看圖4,示出處理系統(tǒng)且大體上標示為500。在特定方面中,處理系統(tǒng)500可以 被并入到上文結(jié)合圖3所描述的P⑶320中。如圖所示,處理器系統(tǒng)500可以包括多核中 央處理單元(CPU) 402和連接到多核CPU402的存儲器404。多核CPU402可以包括第零 內(nèi)核410、第一內(nèi)核412和第N內(nèi)核414。第零內(nèi)核410可以包括在其上執(zhí)行的第零動態(tài)時 鐘和電壓調(diào)節(jié)〇)CVS)算法416。第一內(nèi)核412可以包括在其上執(zhí)行的第一DCVS算法417。 此外,第N內(nèi)核414可以包括在其上執(zhí)行的第NDCVS算法418。在特定方面中,每一DCVS 算法416、417、418可以獨立地在相應(yīng)的內(nèi)核412、414、416上執(zhí)行。
[0040] 另外,如所說明的,存儲器404可以包括存儲于其上的操作系統(tǒng)420。操作系統(tǒng)420 可以包括調(diào)度器422,且調(diào)度器422可以包括第一運行隊列424、第二運行隊列426,和第N 運行隊列428。存儲器404還可以包括存儲于其上的第一應(yīng)用430、第二應(yīng)用432和第N應(yīng) 用 434。
[0041] 在特定方面中,應(yīng)用430、432、434可以將一個或多個任務(wù)436發(fā)送給操作系統(tǒng) 420,以在多核CPU402內(nèi)的內(nèi)核410、412、414處進行處理。可以將任務(wù)436處理或執(zhí)行為 單個任務(wù)、線程或其組合。此外,調(diào)度器