專利名稱:基于平臺(tái)的閑置時(shí)間處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實(shí)施例大體涉及減小移動(dòng)計(jì)算平臺(tái)的功耗,尤其涉及在內(nèi)核
邏輯中動(dòng)態(tài)處理中斷并同時(shí)保持計(jì)算平臺(tái)的中央處理單元(CPU)處于斷
電狀態(tài)。
背景技術(shù):
通常地,當(dāng)只有很少或沒有活動(dòng)時(shí),中央處理單元(CPU)仍被用于處理中斷。因此,當(dāng)處于閑置狀態(tài)活動(dòng)水平^艮低時(shí),CPU和前端總線的大
部分仍然通電并持續(xù)消耗電能。中斷可由輸入裝置(比如鼠標(biāo))的活動(dòng)、顯示器更新或系統(tǒng)時(shí)鐘更新而產(chǎn)生。
因此,現(xiàn)有技術(shù)需要的是這樣一種系統(tǒng)和方法,這種系統(tǒng)和方法用于
當(dāng)系統(tǒng)活動(dòng)很少或沒有活動(dòng)時(shí),能適應(yīng)性地保持CPU和前端總線以更長時(shí)
間并以更高頻率地?cái)嚯?,以減小計(jì)算系統(tǒng)功耗。
發(fā)明內(nèi)容
一種在具有不同功耗特性的多個(gè)操作模式之間轉(zhuǎn)換計(jì)算系統(tǒng)從而有效
地延長CPU閑置時(shí)間而降低功耗的系統(tǒng)和方法。當(dāng)計(jì)算系統(tǒng)處于低活動(dòng)狀
態(tài)時(shí),計(jì)算系統(tǒng)被轉(zhuǎn)換到低功率操作模式。在低活動(dòng)狀態(tài)下,系統(tǒng)管理單
元(SMU)截取并處理本應(yīng)由CPU處理的中斷。SMU存儲(chǔ)在處理中斷時(shí)依需要被修改的關(guān)鍵操作狀態(tài)副本。當(dāng)活動(dòng)水平改變時(shí),通過將關(guān)鍵操作狀態(tài)副本存儲(chǔ)在存儲(chǔ)器中并更新由CPU存儲(chǔ)的關(guān)鍵操作狀態(tài),SMU將計(jì)算系統(tǒng)從低功率操作模式轉(zhuǎn)換到高功率操作模式。然而CPU使用該關(guān)鍵操作狀態(tài)副本恢復(fù)處理中斷。
本發(fā)明的一種在具有不同功耗的多個(gè)才乘作模式之間適應(yīng)性地轉(zhuǎn)換計(jì)算系統(tǒng)的方法的各種實(shí)施例包括確定計(jì)算系統(tǒng)處于低活動(dòng)狀態(tài)并為計(jì)算系統(tǒng)中的中央處理單元(CPU)啟動(dòng)系統(tǒng)管理中斷(SMI)。然后將CPU的關(guān)鍵操作狀態(tài)存儲(chǔ)到系統(tǒng)存儲(chǔ)器中,并將CPU配置成在低功率操作4莫式下運(yùn)行。系統(tǒng)管理單元(SMU)截取并處理本應(yīng)由CPU處理的中斷。
本發(fā)明的各種實(shí)施例包括被配置為在具有不同功耗的多個(gè)操作才莫式之間適應(yīng)性地轉(zhuǎn)換的計(jì)算系統(tǒng)。計(jì)算裝置包括可被配置為在低功率操作才莫式和高功率操作模式下運(yùn)行的中央處理單元(CPU)、配置為存儲(chǔ)關(guān)4建操作狀
態(tài)的本地存儲(chǔ)器,以及內(nèi)核邏輯,該內(nèi)核邏輯包括能代替CPU處理中斷的系統(tǒng)管理單元(SMU)。 SMU配置成當(dāng)計(jì)算系統(tǒng)處于低活動(dòng)狀態(tài)時(shí)向CPU啟動(dòng)系統(tǒng)管理中斷,將CPU的關(guān)鍵操作狀態(tài)存儲(chǔ)到系統(tǒng)存儲(chǔ)器,設(shè)配CPU在低功率操作模式,并截取處理本應(yīng)由CPU處理的中斷。
為了能詳細(xì)地理解本發(fā)明上述的特征,參考實(shí)施例對本發(fā)明上述簡要概括做更詳細(xì)的描述,其中在附圖中示出一些實(shí)施例。但是需要注意的是,附圖僅僅示出了本發(fā)明的典型實(shí)施例,因此不能被認(rèn)為是對本發(fā)明的限制,本發(fā)明覆蓋其他等同的有效實(shí)施例。
圖1A和1B是為實(shí)施本發(fā)明一個(gè)或多個(gè)方面而配置的計(jì)算機(jī)系統(tǒng)的框
圖2A和2B分別是圖1A和IB所示的才艮據(jù)本發(fā)明一個(gè)或多個(gè)方面的計(jì)算機(jī)系統(tǒng)的內(nèi)核邏輯的框圖3是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的在高功率模式和低功率模式之間進(jìn)行轉(zhuǎn)換的方法步驟的流程圖4A、4B和4C是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的進(jìn)入低功率模式的方法步驟的流程圖5是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的退出低功率才莫式的方法步驟的流程圖6是啟動(dòng)根據(jù)本發(fā)明一個(gè)或多個(gè)方面的如圖1A和1B所示計(jì)算機(jī)系統(tǒng)的方法步驟的流程圖。
具體實(shí)施例方式
在下文的描述中,給出了大量具體的細(xì)節(jié)以便提供對本發(fā)明更為徹底的理解。然而,對于本領(lǐng)域技術(shù)人員來說顯而易見的是,本發(fā)明可以無需一個(gè)或多個(gè)這些細(xì)節(jié)而得以實(shí)施。在其他的例子中,為了避免與本發(fā)明發(fā)生混淆,對于本領(lǐng)域公知的一些技術(shù)特征未進(jìn)行描述。
系統(tǒng)概述
圖1A是為實(shí)施本發(fā)明一個(gè)或多個(gè)方面而配置的計(jì)算機(jī)系統(tǒng)100的框圖。計(jì)算機(jī)系統(tǒng)IOO是混合的計(jì)算平臺(tái),包括多個(gè)處理單元以提供不同活動(dòng)水平和功耗水平。計(jì)算機(jī)系統(tǒng)100包括通過總線路徑進(jìn)行通信的中央處理單元(CPU) 102和系統(tǒng)存儲(chǔ)器104,總線路徑包括內(nèi)核邏輯105。關(guān)鍵操作狀態(tài)160存儲(chǔ)在系統(tǒng)存儲(chǔ)器104中。在轉(zhuǎn)換到低功率操作模式前,CPU102將關(guān)鍵操作狀態(tài)160存儲(chǔ)到系統(tǒng)存儲(chǔ)器104中。關(guān)鍵操作狀態(tài)160可包括一個(gè)或多個(gè)中斷服務(wù)例行程序、需要服務(wù)于中斷和更新光標(biāo)位置的部分操作系統(tǒng)、最少的裝置驅(qū)動(dòng)程序和當(dāng)前顯示表面(像素圖像數(shù)據(jù))。在本發(fā)明的一些實(shí)施例中,關(guān)鍵才乘作狀態(tài)160占據(jù)系統(tǒng)存儲(chǔ)器104的64K字節(jié)。
內(nèi)核邏輯105是連接CPU 102至平臺(tái)中一個(gè)或多個(gè)其他裝置的橋裝置,并通過連接113連接于系統(tǒng)存儲(chǔ)器104。內(nèi)核邏輯105從一個(gè)或多個(gè)用戶輸入裝置108 (例如鍵盤、鼠標(biāo))接收用戶輸入并將該輸入通過路徑106轉(zhuǎn)發(fā)給CPU 102。當(dāng)計(jì)算機(jī)系統(tǒng)100運(yùn)行在低功率操作模式時(shí),內(nèi)核邏輯105復(fù)制關(guān)鍵操作狀態(tài)160并在需要時(shí)對該副本進(jìn)行更新。當(dāng)處于低功率才乘作才莫式時(shí),內(nèi)核邏輯105通過電壓調(diào)節(jié)器150控制輸入到CPU 102的電壓,以配置CPU 102保持在斷電狀態(tài)。然后內(nèi)核邏輯105為CPU 102截取并處理中斷,以允許CPU 102保持?jǐn)嚯姟?br>
計(jì)算機(jī)系統(tǒng)100可任選包括圖形處理器(GPU) 112和電壓調(diào)節(jié)器155。GPU112通過總線或其他通信路徑(例如PCIExpress、加速圖形端口或超傳輸鏈接)連接于內(nèi)核邏輯105;在一個(gè)實(shí)施例中GPU 112是傳送像素到顯示裝置110的圖形子系統(tǒng)。裝置驅(qū)動(dòng)程序可^皮存儲(chǔ)在系統(tǒng)存儲(chǔ)器104中,
翻譯所需的程序指令以便由GPU 112執(zhí)行。在關(guān)鍵操作狀態(tài)16(T中可包含最少的裝置驅(qū)動(dòng)程序。當(dāng)處于低功率操作模式時(shí),內(nèi)核邏輯105可通過電壓調(diào)節(jié)器155控制輸入到GPU 112的電壓來配置GPU 112進(jìn)入斷電狀態(tài)。類似地,內(nèi)核邏輯105能通過其他電壓調(diào)節(jié)器(未示出)控制輸入電壓而配置系統(tǒng)存儲(chǔ)器104進(jìn)入斷電狀態(tài)。內(nèi)核邏輯105也通過電壓調(diào)節(jié)器150和155分別將正常工作電壓重新施加至CPU 102和GPU 112。
內(nèi)核邏輯105連接于顯示裝置110 (例如傳統(tǒng)的CRT或基于LCD的顯示器)。系統(tǒng)盤114也連接于內(nèi)核邏輯105。開關(guān)116提供內(nèi)核邏輯105和諸如網(wǎng)絡(luò)適配器118和各種外插卡120、 121等其他部件之間的連接。其他部件(圖中沒有示出)包括USB或其他端口連接、CD驅(qū)動(dòng)器、DVD驅(qū)動(dòng)器、電影刻錄裝置及類似的部件,也可以與內(nèi)核邏輯105相連接。將圖1A中的各種部件相互連接的通信路徑可以用任何適用的協(xié)議來實(shí)現(xiàn),比如(PCI-E)、 AGP (加速圖形端口 )、超傳輸或其他任意總線或點(diǎn)對點(diǎn)通信協(xié)議,并且不同裝置之間的連接可以使用本領(lǐng)域已知的不同協(xié)i義。
圖IB是為實(shí)施本發(fā)明一個(gè)或多個(gè)方面而配置的計(jì)算機(jī)系統(tǒng)100的另一框圖。與圖1A相比,系統(tǒng)存儲(chǔ)器104直接通過連接103而不是通過內(nèi)核邏輯105與CPU 122相連接,其他裝置通過內(nèi)核邏輯115和CPU 122與系統(tǒng)存儲(chǔ)器104通信。
可以理解的是,這里示出的系統(tǒng)只是示意性的,可以對其進(jìn)行變化和修改??梢愿鶕?jù)需要改變連接拓樸結(jié)構(gòu),包括橋的數(shù)目和排列。在其他可選擇的拓樸結(jié)構(gòu)中,GPU 112與CPU 102和CPU 122直接連接,而不是和內(nèi)核邏輯105或內(nèi)核邏輯115相連接。在其他實(shí)施例中,內(nèi)核邏輯105或內(nèi)核邏輯115可被分布到多個(gè)芯片中。這里示出的特定部件是任選的;例如,可以支持任意數(shù)目的外插卡或外設(shè)。在一些實(shí)施例中,省去了開關(guān)116,網(wǎng)絡(luò)適配器118和外插卡120、 121直接與內(nèi)核邏輯105或內(nèi)核邏輯115相連接。
GPU 112和系統(tǒng)100其余部分的連接也同樣可以變化。在一些實(shí)施例中,GPU112實(shí)現(xiàn)為一個(gè)外插卡,其能插入到系統(tǒng)100的擴(kuò)展槽中。在其他實(shí)施例中,GPU 112能和內(nèi)核邏輯105或內(nèi)核邏輯115 —起集成到單一芯片上。在另外其他一些實(shí)施例中,GPU112的一些或全部組件可以連同CPU 102或CPU 122 —起集成到單一芯片上。
內(nèi)核邏輯概述
圖2A是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的圖1A所示的計(jì)算機(jī)系統(tǒng)100的內(nèi)核邏輯105的框圖。圖2B是才艮據(jù)本發(fā)明一個(gè)或多個(gè)方面的圖1B所示的計(jì)算機(jī)系統(tǒng)100的內(nèi)核邏輯115的框圖。內(nèi)核邏輯105和內(nèi)核邏輯115均包括系統(tǒng)管理單元200,該系統(tǒng)管理單元200可以是嵌入式低功率處理器,例如ARM (精簡指令集機(jī)器)、PowerPC或類似的處理器。系統(tǒng)管理單元200相比CPU 102或CPU 122耗能更少,并能配置為執(zhí)行至少一部分由CPU 102或CPU 122執(zhí)行的處理任務(wù)。在本發(fā)明的優(yōu)選實(shí)施例中,系統(tǒng)管理單元200被配置為執(zhí)行需要服務(wù)于系統(tǒng)中斷的該部分進(jìn)程。
內(nèi)核邏輯105和內(nèi)核邏輯115也均包括本地存儲(chǔ)器205,將該本地存儲(chǔ)器205配置用于從系統(tǒng)存儲(chǔ)器104中加載關(guān)鍵操作狀態(tài)160的副本以產(chǎn)生關(guān)鍵操作狀態(tài)副本260。當(dāng)使用圖1B中所示的拓樸結(jié)構(gòu)時(shí),關(guān)鍵操作狀態(tài)160通過CPU 122和連接103從系統(tǒng)存儲(chǔ)器104中被復(fù)制。片上SRAM、片上嵌入式DRAM、片外DRAM或其他類似存儲(chǔ)器可被用來構(gòu)建本地存儲(chǔ)器205。如圖1A所示,當(dāng)系統(tǒng)存儲(chǔ)器104直接連接于內(nèi)核邏輯105時(shí),本地存儲(chǔ)器205和系統(tǒng)存儲(chǔ)器104可以是相同的物理實(shí)體。在處理截取的中斷時(shí),系統(tǒng)管理單元200可以修改關(guān)鍵操作狀態(tài)副本260。例如,返回程序計(jì)數(shù)器可被更新,棧指針和其他系統(tǒng)寄存器的值可被改變。在低功率模式下系統(tǒng)管理單元200對關(guān)鍵操作狀態(tài)副本260所作的改變等同于當(dāng)計(jì)算機(jī)系統(tǒng)IOO在較高活動(dòng)水平運(yùn)行時(shí)CPU 102或CPU 122對關(guān)鍵操作狀態(tài)160所作的改變。當(dāng)計(jì)算機(jī)系統(tǒng)100從低功率操作模式轉(zhuǎn)換到高功率操作模式時(shí),將關(guān)鍵操作狀態(tài)副本260寫入到系統(tǒng)存儲(chǔ)器104中以更新關(guān)鍵操作狀態(tài)160。接著,CPU 102或CPU 122使用當(dāng)前的關(guān)鍵操作狀態(tài)來代替已過時(shí)的關(guān)鍵操作狀態(tài)以恢復(fù)處理,該已過時(shí)的關(guān)鍵操作狀態(tài)是當(dāng)CPU102或CPU 122為了轉(zhuǎn)換到低功率操作^^莫式而斷電時(shí),最初由CPU 102或CPU 122存儲(chǔ)的。
將系統(tǒng)管理單元200配置成確定計(jì)算機(jī)系統(tǒng)100何時(shí)進(jìn)入或退出低功率操作模式。將系統(tǒng)管理單元200配置成通過啟動(dòng)或關(guān)閉電壓調(diào)節(jié)器150來給CPU102或CPU122上電或斷電。類似地,系統(tǒng)管理單元200配置成通過啟動(dòng)或關(guān)閉電壓調(diào)節(jié)器155來給GPU112上電或斷電。如前所述,系統(tǒng)管理單元200也可配置成使計(jì)算機(jī)系統(tǒng)100中的其他部件斷電,例如系統(tǒng)存儲(chǔ)器104。
在本發(fā)明的一些實(shí)施例中,內(nèi)核邏輯105包括用于和系統(tǒng)存儲(chǔ)器104接口的存儲(chǔ)器接口 214。由于系統(tǒng)處理單元200和CPU 102或CPU 122都可以被啟用,并且當(dāng)系統(tǒng)管理單元200啟用時(shí)CPU 102或CPU 122可被關(guān)閉,因此系統(tǒng)管理單元200能為計(jì)算機(jī)系統(tǒng)IOO提供混合的處理能力。
閑置時(shí)間處理
圖3是根據(jù)本發(fā)明一個(gè)或多個(gè)方面在高功率模式和低功率模式之間轉(zhuǎn)換的方法步驟的流程圖。在步驟300,計(jì)算機(jī)系統(tǒng)100被啟動(dòng),CPU 102和內(nèi)核邏輯105都被上電,或者CPU122和內(nèi)核邏輯115都被上電。啟動(dòng)順序的例子將結(jié)合圖6進(jìn)行說明。
在步驟305,計(jì)算機(jī)系統(tǒng)IOO運(yùn)行在高功率模式下。在步驟310,系統(tǒng)管理單元200確定計(jì)算機(jī)系統(tǒng)IOO是否處于低活動(dòng)狀態(tài)。當(dāng)沒有活動(dòng)或系統(tǒng)中斷的頻率低于最小閾值時(shí)就發(fā)生低活動(dòng)狀態(tài)。系統(tǒng)活動(dòng)計(jì)時(shí)器可^皮用來確定中斷之間的延時(shí)是否構(gòu)成了低活動(dòng)狀態(tài)。在本發(fā)明的一些實(shí)施例中,操作系統(tǒng)確定計(jì)算機(jī)系統(tǒng)IOO是否處于低活動(dòng)狀態(tài)。如果在步驟310中沒有檢測到低活動(dòng)狀態(tài),那么在步驟305中計(jì)算機(jī)系統(tǒng)100繼續(xù)運(yùn)行在高功率狀態(tài)。否則,如同結(jié)合圖4A、 4B和4C詳細(xì)說明的那樣,在步驟320中計(jì)算機(jī)系統(tǒng)100進(jìn)入低功率模式。
在步驟350中,系統(tǒng)管理單元200確定計(jì)算機(jī)系統(tǒng)IOO是否仍處于低活動(dòng)狀態(tài),如果是,計(jì)算機(jī)系統(tǒng)100返回步驟345繼續(xù)運(yùn)行在低功率模式。否則,在步驟355中,如同結(jié)合圖5詳細(xì)說明的那樣,計(jì)算機(jī)系統(tǒng)100退出低功率模式,并返回步驟305以從低功率模式轉(zhuǎn)換到高功率模式。當(dāng)中斷頻率增加或當(dāng)關(guān)鍵操作狀態(tài)副本260不足以服務(wù)于所截取的中斷時(shí),系統(tǒng)管理單元200或操作系統(tǒng)可確定活動(dòng)水平已經(jīng)增加,需要從低功率^莫式轉(zhuǎn)換到高功率模式。
圖4A是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的執(zhí)行圖3所示步驟320的方法步驟的流程圖。在步驟415,系統(tǒng)管理單元啟動(dòng)系統(tǒng)管理中斷(SMI)給CPU 102或CPU 122,以表明計(jì)算機(jī)系統(tǒng)100將轉(zhuǎn)換到低功率操作狀態(tài)。在步驟420, CPU 102或CPU 122將當(dāng)前關(guān)鍵:操作狀態(tài)160存儲(chǔ)到系統(tǒng)存儲(chǔ)器104中。當(dāng)CPU 102或CPU 122可將關(guān)鍵操作狀態(tài)的一部分存儲(chǔ)到CPU 102或CPU 122中的緩沖器中時(shí),緩沖器中的內(nèi)容被寫入到系統(tǒng)存儲(chǔ)器104 (即緩沖器被清空),以保證當(dāng)前關(guān)鍵操作狀態(tài)160是精確的。
在步驟425,系統(tǒng)管理單元200通過關(guān)閉電壓調(diào)節(jié)器150來配置CPU102或CPU 122運(yùn)行在低功率模式。在低功率操作模式,系統(tǒng)管理單元200截取系統(tǒng)中斷來進(jìn)行處理,而不是將系統(tǒng)中斷轉(zhuǎn)給CPU 102或CPU 122。在步驟430,系統(tǒng)管理單元200確定是否收到被截取的系統(tǒng)中斷,如果否,系統(tǒng)管理單元200則等待以截取系統(tǒng)中斷。當(dāng)系統(tǒng)中斷被截取后,系統(tǒng)管理單元200前進(jìn)到步驟435并確定需要處理該中斷的一部分關(guān)鍵操作狀態(tài)160是否不存在于關(guān)4定才喿作狀態(tài)160中,如果不存在,在步驟440中系統(tǒng)管理單元220將至少一部分關(guān)4建操作狀態(tài)160復(fù)制到關(guān)鍵操作狀態(tài)副本260。在本發(fā)明的優(yōu)選實(shí)施例中,將CPU 102或CPU 122配置為將關(guān)鍵才喿作狀態(tài)160復(fù)制到系統(tǒng)管理單元200的本地存儲(chǔ)器205以及系統(tǒng)存儲(chǔ)器104中。在本發(fā)明其他的實(shí)施例中,關(guān)鍵操作狀態(tài)160的一部分按需要通過系統(tǒng)管理單元200從系統(tǒng)存儲(chǔ)器104中被復(fù)制。在本發(fā)明其他的實(shí)施例中,通過系統(tǒng)管理單元200復(fù)制整個(gè)關(guān)鍵操作狀態(tài)160。要注意,當(dāng)系統(tǒng)管理單元200只按需要復(fù)制部分關(guān)鍵操作狀態(tài)160以處理每個(gè)中斷時(shí),可以重復(fù)步驟435和440。
如前所述,關(guān)鍵操作狀態(tài)160包括系統(tǒng)管理單元200需要用以處理系統(tǒng)中斷的數(shù)據(jù)。關(guān)鍵操作狀態(tài)160可以包括一個(gè)或多個(gè)中斷服務(wù)例行程序、需要用以服務(wù)于中斷和更新光標(biāo)位置的部分操作系統(tǒng)、最少的裝置驅(qū)動(dòng)程序和當(dāng)前顯示表面。
圖4B是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的執(zhí)行圖3中步驟320的方法步驟的另一流程圖。步驟415和420按照如前所述的方式執(zhí)行。在步驟422中,系統(tǒng)管理單元200復(fù)制關(guān)4建操作狀態(tài)160以將關(guān)鍵:才乘作狀態(tài)副本260加載到本地存儲(chǔ)器205中。圖4B所示的方法主動(dòng)地將關(guān)4走4喿作狀態(tài)160加載到本地存儲(chǔ)器205中以產(chǎn)生關(guān)4建操作狀態(tài)副本260,而不是在截取系統(tǒng)中斷后復(fù)制所有的或部分的關(guān)4定操作狀態(tài)160。步驟425和430按照如前所述的方式執(zhí)行。
圖4C是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的執(zhí)行圖3中步驟320的方法步驟的又一流程圖。步驟415、 420、 422和425按照如前所述的方式執(zhí)行。在步驟428中,系統(tǒng)管理單元200通過關(guān)閉電壓調(diào)節(jié)器155來配置系統(tǒng)存儲(chǔ)器104運(yùn)行在低功率模式。移除對系統(tǒng)存儲(chǔ)器104的電源供應(yīng)進(jìn)一步地減低了計(jì)算機(jī)系統(tǒng)100的功耗。當(dāng)計(jì)算機(jī)系統(tǒng)100從低功率操作模式轉(zhuǎn)換到高功率操作模式時(shí),系統(tǒng)管理單元200可以啟動(dòng)電壓調(diào)節(jié)器155以恢復(fù)對系統(tǒng)存儲(chǔ)器104的供電。步驟430按照如前所述的方式執(zhí)行。
圖5是根據(jù)本發(fā)明一個(gè)或多個(gè)方面的執(zhí)行圖3中步驟355從低功率操作狀態(tài)轉(zhuǎn)換到高功率操作狀態(tài)的方法步驟的流程圖。在步驟555,系統(tǒng)管理單元200為其本身啟動(dòng)中斷表明計(jì)算機(jī)系統(tǒng)100不再處于低活動(dòng)狀態(tài)。在步驟560系統(tǒng)管理單元200存儲(chǔ)當(dāng)前的關(guān)4建才喿作狀態(tài)副本260到系統(tǒng)存儲(chǔ)器104以更新關(guān)鍵操作狀態(tài)160。在步驟565,系統(tǒng)管理單元200設(shè)置CPU 102或CPU 122運(yùn)行在高功率模式。在步驟570, CPU 102或CPU 122從系統(tǒng)存儲(chǔ)器104中讀取關(guān)鍵操作狀態(tài)160并隨同更新的關(guān)鍵操作狀態(tài)恢復(fù)處理,該更新的關(guān)鍵操作狀態(tài)在處理截取的中斷時(shí)被系統(tǒng)管理單元200修改。
圖6是才艮據(jù)本發(fā)明一個(gè)或多個(gè)方面的執(zhí)行圖3中步驟300以啟動(dòng)圖1A和1B中計(jì)算機(jī)系統(tǒng)100的方法步驟的流程圖。在步驟600,系統(tǒng)管理單元200被上電。在步驟605,系統(tǒng)管理單元200為計(jì)算機(jī)系統(tǒng)IOO執(zhí)行上電自檢(POST)功能。在慣常系統(tǒng)中,由高性能CPU來執(zhí)行POST。使用系統(tǒng)管理單元200來執(zhí)行POST P爭低了功耗。在步驟610中,CPU 102或CPU122被上電,在步驟620中,啟動(dòng)過程完成。在本發(fā)明的一些實(shí)施例中,步驟610被延遲直到應(yīng)用程序被加載,以在啟動(dòng)過程中降低功耗。
在本發(fā)明的一些實(shí)施例中,基于不同計(jì)算平臺(tái)性能和/或功率的限制,才乘作系統(tǒng)適應(yīng)性地將處理4壬務(wù)交給不同的處理單元來處理,例如CPU 102或CPU 122、 GPU 122、系統(tǒng)管理單元200和低功率GPU210。當(dāng)系統(tǒng)活動(dòng)很低時(shí),操作系統(tǒng)能啟動(dòng)轉(zhuǎn)換到低功率操作狀態(tài),該轉(zhuǎn)換通過首先轉(zhuǎn)移關(guān)鍵進(jìn)程到系統(tǒng)管理單元200并在所有關(guān)鍵進(jìn)程從CPU 102或CPU 122轉(zhuǎn)移完后^f吏CPU 102或CPU 122斷電。
在具有不同功耗特點(diǎn)的多個(gè)操作模式間適應(yīng)性地轉(zhuǎn)換計(jì)算機(jī)系統(tǒng)100可以延長計(jì)算機(jī)系統(tǒng)IOO依靠電池供電運(yùn)行的時(shí)間。系統(tǒng)管理單元200或操作系統(tǒng)可以確定何時(shí)計(jì)算機(jī)系統(tǒng)IOO應(yīng)該在不同的功率模式間轉(zhuǎn)換。在低功率模式系統(tǒng)管理單元200截取并處理本應(yīng)由CPU 102或CPU 122處理的中斷并更新關(guān)4建才乘作狀態(tài)的副本。當(dāng)活動(dòng)水平改變時(shí),CPU 102或CPU122使用被系統(tǒng)管理單元200修改的關(guān)鍵:才乘作狀態(tài)來恢復(fù)處理中斷。通過啟動(dòng)或關(guān)閉CPU102或CPU122、系統(tǒng)管理單元200、 GPU112和系統(tǒng)存儲(chǔ)器104的電源供電,能實(shí)現(xiàn)不同的功耗水平。
本發(fā)明已參考特定實(shí)施例描述如上。但是,本領(lǐng)域技術(shù)人員可以理解的是,根據(jù)本發(fā)明的教導(dǎo)還可以做出更多種的變型和修改,這些變型和修改對仍然沒有脫離本發(fā)明所附的權(quán)利要求界定的本發(fā)明的精神和范圍。本發(fā)明的一個(gè)實(shí)施例可被實(shí)施為軟件產(chǎn)品以和電腦系統(tǒng)使用。軟件產(chǎn)品的軟件定義了實(shí)施例的功能(包括本文描述的方法),并可被包括在不同的計(jì)算機(jī)可讀存儲(chǔ)媒介上。計(jì)算機(jī)可讀存儲(chǔ)媒介例如可包括但不限于(i)其上信息被永久存儲(chǔ)的不可重寫存儲(chǔ)媒介(例如,計(jì)算機(jī)中諸如CD-ROM驅(qū)動(dòng)可讀的CD-ROM盤、閃存、ROM芯片或其他固態(tài)非易失性半導(dǎo)體存取器等只讀存儲(chǔ)器裝置);(ii)存儲(chǔ)可改變信息的可讀存儲(chǔ)媒介(例如,軟盤驅(qū)動(dòng)程序或硬盤驅(qū)動(dòng)程序或其他任何固態(tài)隨機(jī)存取半導(dǎo)體存儲(chǔ)器等軟盤)。相應(yīng)地,前面的描述和附圖應(yīng)被當(dāng)做示意性的而不是限制性的。
權(quán)利要求
1、一種適應(yīng)性地在具有不同功耗的多個(gè)操作模式間轉(zhuǎn)換計(jì)算系統(tǒng)的方法,該方法包括確定所述計(jì)算系統(tǒng)處于低活動(dòng)狀態(tài);在所述計(jì)算系統(tǒng)中向中央處理單元發(fā)出系統(tǒng)管理中斷;將所述中央處理單元的關(guān)鍵操作狀態(tài)存儲(chǔ)到系統(tǒng)存儲(chǔ)器;設(shè)置所述中央處理單元處于低功率操作模式;和截取本應(yīng)由中央處理單元處理的中斷以用于由系統(tǒng)管理單元進(jìn)行處理。
2、 按照權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟將所述中央處 理單元的所述關(guān)鍵操作狀態(tài)從所述系統(tǒng)存儲(chǔ)器加載到所述系統(tǒng)管理單元, 以產(chǎn)生所述關(guān)鍵操作狀態(tài)的副本,所述關(guān)4建操作狀態(tài)的副本由于通過所述 系統(tǒng)管理單元處理中斷而^皮^修改。
3、 按照權(quán)利要求2所述的方法,進(jìn)一步包括以下步驟 確定所述計(jì)算系統(tǒng)不處于低活動(dòng)狀態(tài);和通過所述系統(tǒng)管理單元產(chǎn)生中斷以使所述系統(tǒng)管理單元啟動(dòng)從低功率 操作模式到高功率操作模式的轉(zhuǎn)換。
4、 按照權(quán)利要求3所述的方法,進(jìn)一步包括以下步驟將所述關(guān)鍵處 理狀態(tài)的副本從所述系統(tǒng)管理單元存儲(chǔ)到所述系統(tǒng)存儲(chǔ)器,以更新所述關(guān) 鍵操作狀態(tài)。
5、 按照權(quán)利要求4所述的方法,進(jìn)一步包括以下步驟由所述中央處理單元從所述系統(tǒng)存儲(chǔ)器中讀取所述關(guān)鍵操作狀態(tài);和 配置所述中央處理單元運(yùn)行在高功率操作模式。
6、 按照權(quán)利要求1所述的方法,其中所述中央處理單元的所述關(guān)鍵操 作狀態(tài)包括顯示表面、中斷服務(wù)例行程序和一部分操作系統(tǒng)其中至少一種。
7、 按照權(quán)利要求1所述的方法,進(jìn)一步包括以下步驟 確定所述系統(tǒng)管理單元需要用來處理所截取中斷的所述中央處理單元的一部分所述關(guān)鍵:操作狀態(tài)沒有^皮存儲(chǔ)在所述系統(tǒng)管理單元中;及從所述系統(tǒng)存儲(chǔ)器中將所述中央處理單元的該部分關(guān)鍵操作狀態(tài)加載 至所述系統(tǒng)管理單元。
8、 按照權(quán)利要求1所述的方法,其中所述本應(yīng)由CPU處理的中斷包 括來自于輸入裝置、周期性系統(tǒng)更新和周期性通用串行總線循環(huán)其中的至少一個(gè)中斷。
9、 按照權(quán)利要求1所述的方法,進(jìn)一步包括配置所述系統(tǒng)存儲(chǔ)器處于 低功率操作模式的步驟。
10、 按照權(quán)利要求1所述的方法,在確定所述計(jì)算系統(tǒng)處于低活動(dòng)狀 態(tài)的步驟之前,進(jìn)一步包括以下步驟給所述系統(tǒng)管理單元上電;和在給所述中央處理單元上電之前執(zhí)行上電和自檢程序。
全文摘要
本發(fā)明公開了一種基于平臺(tái)的閑置時(shí)間處理。本發(fā)明提供了一種在具有不同功耗特性的多個(gè)操作模式之間轉(zhuǎn)換計(jì)算機(jī)系統(tǒng)的系統(tǒng)和方法。當(dāng)系統(tǒng)管理單元(SMU)確定計(jì)算機(jī)系統(tǒng)處于低活動(dòng)狀態(tài)時(shí),在中央處理單元(CPU)將CPU的關(guān)鍵操作狀態(tài)存儲(chǔ)至存儲(chǔ)器后,SMU將CPU轉(zhuǎn)換至低功率操作模式。然后SMU截取并處理本應(yīng)由CPU處理的中斷,并修改關(guān)鍵操作狀態(tài)的副本。以此能有效地延長CPU保持在低功率模式的時(shí)間。當(dāng)SMU確定計(jì)算機(jī)系統(tǒng)退出低活動(dòng)狀態(tài)時(shí),關(guān)鍵操作狀態(tài)的副本被存儲(chǔ)到存儲(chǔ)器中,SMU使用修改后的關(guān)鍵操作狀態(tài)來將CPU轉(zhuǎn)換至高功率操作狀態(tài)。
文檔編號G06F1/32GK101639726SQ20091015743
公開日2010年2月3日 申請日期2009年7月29日 優(yōu)先權(quán)日2008年7月29日
發(fā)明者史蒂芬·D.·盧, 呂堅(jiān)平, 羅伯特·威廉·查普曼 申請人:輝達(dá)公司