欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于功率管理的系統(tǒng)和方法與流程

文檔序號(hào):11864039閱讀:240來(lái)源:國(guó)知局
用于功率管理的系統(tǒng)和方法與流程



背景技術(shù):

當(dāng)系統(tǒng)運(yùn)行時(shí),許多數(shù)字/電子系統(tǒng)會(huì)消耗電力。即使在電子系統(tǒng)的一個(gè)或多個(gè)部件或子系統(tǒng)空閑的情形下,一個(gè)或多個(gè)子系統(tǒng)仍會(huì)消耗電力。例如,在計(jì)算系統(tǒng)中,當(dāng)系統(tǒng)不使用一個(gè)或多個(gè)處理器的全部計(jì)算能力時(shí),計(jì)算系統(tǒng)中的一個(gè)或多個(gè)處理器會(huì)不必要地消耗電力。一些系統(tǒng)可利用操作系統(tǒng)(OS)來(lái)將處理器置于低功率模式。

附圖說(shuō)明

本文描述的發(fā)明是在附圖中通過舉例的方式而不是通過限制的方式進(jìn)行說(shuō)明的。為了闡述簡(jiǎn)單和清晰起見,圖中所圖示的元件不一定是按比例繪制的。例如,為清晰起見,一些元件的尺寸可相對(duì)于其它元件放大。此外,在適當(dāng)?shù)那闆r下,在各圖中重復(fù)使用附圖標(biāo)記以指示對(duì)應(yīng)或類似的元件。

圖1A是根據(jù)本發(fā)明的實(shí)施例的示例性系統(tǒng)的框圖。

圖1B是根據(jù)本發(fā)明的可選實(shí)施例的另一示例性系統(tǒng)的框圖。

圖2是根據(jù)本發(fā)明的實(shí)施例的另一示例性系統(tǒng)的示意圖。

圖3A和圖3B是依照本發(fā)明的一些實(shí)施例的流程圖。

圖4A和圖4B是依照本發(fā)明的一些實(shí)施例的示例性的定時(shí)器周期變化的示意圖。

圖5A和圖5B是依照本發(fā)明的一些實(shí)施例的流程圖。

具體實(shí)施方式

下面的說(shuō)明描述了提供一種提供降低功耗模式的使用模型的技術(shù)。該技術(shù)的實(shí)現(xiàn)不限于計(jì)算系統(tǒng);該技術(shù)可為相似目的而由任何執(zhí)行環(huán)境使用,例如任何其它數(shù)字/電子設(shè)備。在下面的說(shuō)明中,為提供對(duì)本發(fā)明的更全面的理解,闡明了多個(gè)具體的細(xì)節(jié),例如邏輯實(shí)現(xiàn)、操作碼、指定操作數(shù)的方法、資源劃分/共享/復(fù)制實(shí)現(xiàn)、系統(tǒng)部件的類型和相互關(guān)系,以及邏輯劃分/集成選擇。然而,本發(fā)明可在不具有這些具體細(xì)節(jié)的情況下實(shí)現(xiàn)。在其它實(shí)例中,為了不使發(fā)明變得不清晰,未詳細(xì)示出控制結(jié)構(gòu)和完整的軟件指令序列。

本說(shuō)明書中提及的“一個(gè)實(shí)施例”、“實(shí)施例”、“示例性實(shí)施例”等表明所描述的實(shí)施例可包括特定的特征、結(jié)構(gòu)或特性,但是每個(gè)實(shí)施例不一定都包括特定的特征、結(jié)構(gòu)或特性。而且,這些用語(yǔ)不一定指代相同的實(shí)施例。此外,當(dāng)特定的特征、結(jié)構(gòu)或特性與實(shí)施例結(jié)合描述時(shí),無(wú)論是否明確地說(shuō)明,都認(rèn)為結(jié)合其它實(shí)施例來(lái)實(shí)施這樣的特征、結(jié)構(gòu)或特性是在本領(lǐng)域技術(shù)人員的知識(shí)范圍內(nèi)。

本發(fā)明的實(shí)施例可以硬件、固件、軟件或其任意組合來(lái)實(shí)現(xiàn)。本發(fā)明的實(shí)施例還可實(shí)現(xiàn)為存儲(chǔ)在機(jī)器可讀介質(zhì)上的指令,機(jī)器可讀介質(zhì)可由一個(gè)或多個(gè)處理器來(lái)讀取和執(zhí)行。機(jī)器可讀介質(zhì)可包括用于以機(jī)器能夠讀取的形式存儲(chǔ)或傳送信息的任何機(jī)構(gòu)(例如,計(jì)算設(shè)備)。例如,機(jī)器可讀介質(zhì)可包括只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM);磁盤儲(chǔ)存介質(zhì);光學(xué)儲(chǔ)存介質(zhì);閃存設(shè)備;電、光、聲音或其它形式的傳播信號(hào)(例如,載波、紅外信號(hào)、數(shù)字信號(hào)等)以及其它。

下面的說(shuō)明可包括諸如“第一”、“第二”等術(shù)語(yǔ),所述術(shù)語(yǔ)僅用于描述的目的而不應(yīng)解釋為限制。

圖1A示出了系統(tǒng)100的示例性實(shí)施例的框圖。系統(tǒng)100可包括處理器102。處理器102可包括能夠執(zhí)行軟件和/或過程數(shù)據(jù)信號(hào)的任何類型的處理器。在實(shí)施例中,處理器102可包括復(fù)雜指令集計(jì)算機(jī)(CISC)微處理器、精簡(jiǎn)指令集計(jì)算(RISC)微處理器、極長(zhǎng)指令字(VLIW)微處理器、實(shí)現(xiàn)指令集組合的處理器或任何其它處理器設(shè)備,諸如數(shù)字信號(hào)處理器,諸如微處理器、數(shù)字信號(hào)處理器或微控制器。

盡管圖1A僅示出了一個(gè)這樣的處理器102,但在系統(tǒng)100中可存在一個(gè)或多個(gè)處理器,并且一個(gè)或多個(gè)處理器可包括多個(gè)線程、多個(gè)核心等。本改進(jìn)不限于計(jì)算系統(tǒng)。本發(fā)明的可選實(shí)施例能夠用于使用統(tǒng)一可擴(kuò)展固件接口(UEFI)基本輸入/輸出系統(tǒng)(BIOS)的任何形狀因數(shù)的設(shè)備,諸如手持式設(shè)備和嵌入式應(yīng)用。手持式設(shè)備的一些示例包括蜂窩電話、因特網(wǎng)協(xié)議設(shè)備、數(shù)字照相機(jī)、個(gè)人數(shù)字助理(PDA)或諸如上網(wǎng)本或筆記本的手持式PC。嵌入式應(yīng)用可包括微控制器、數(shù)字信號(hào)處理器(DSP)、片上系統(tǒng)、網(wǎng)絡(luò)計(jì)算機(jī)(NetPC)、機(jī)頂盒、網(wǎng)絡(luò)集線器、寬域網(wǎng)(WAN)交換機(jī)或任何其它系統(tǒng)。

處理器102可與系統(tǒng)邏輯芯片104耦合。例如,圖示實(shí)施例中的系統(tǒng)邏輯芯片104可以為存儲(chǔ)器控制器中心(MCH)。在一個(gè)實(shí)施例中,MCH 104可提供到系統(tǒng)存儲(chǔ)器106的存儲(chǔ)器路徑120,用于指令和數(shù)據(jù)存儲(chǔ)和/或用于例如圖形命令、數(shù)據(jù)和紋理的存儲(chǔ)。存儲(chǔ)器路徑120可包括存儲(chǔ)器總線。MCH 104可在處理器102、系統(tǒng)存儲(chǔ)器106和系統(tǒng)100中的其它部件之間引導(dǎo)數(shù)據(jù)信號(hào),并且在處理器102、系統(tǒng)存儲(chǔ)器106和系統(tǒng)I/O之間橋接數(shù)據(jù)信號(hào)。存儲(chǔ)器106可以為硬盤、軟盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存,或能夠由處理器102讀取的任何其它類型的介質(zhì)。

MCH 104可經(jīng)由局部I/O互連與I/O控制器中心(ICH)108耦合。在實(shí)施例中,局部I/O互連可以為高速I/O總線,諸如外圍部件互連(PCI)總線。ICH 108可例如經(jīng)由局部I/O互連提供與一個(gè)或多個(gè)I/O設(shè)備的連接。一些示例可包括數(shù)據(jù)儲(chǔ)存設(shè)備118、音頻I/O 120、鍵盤/鼠標(biāo)I/O 122和網(wǎng)絡(luò)控制器116,或其它集成的I/O部件,諸如集成驅(qū)動(dòng)器電子器件(IDE)、局域網(wǎng)(LAN)和諸如通用串行總線(USB)的串行擴(kuò)展端口、PCI插槽(未示出)、無(wú)線收發(fā)器、傳統(tǒng)I/O控制器等。數(shù)據(jù)儲(chǔ)存設(shè)備118可包括硬盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、CD-ROM設(shè)備、閃存設(shè)備或其它大容量?jī)?chǔ)存設(shè)備。

參照?qǐng)D1A,諸如閃存112的非易失性存儲(chǔ)器可經(jīng)由例如低引腳數(shù)(LPC)總線與ICH 108耦合。BIOS固件114可駐存在閃存112中,并且啟動(dòng)可執(zhí)行來(lái)自閃存的指令或固件。盡管圖1A示出了閃存112中的BIOS固件114,但在一些實(shí)施例中,BIOS固件114可存儲(chǔ)在諸如固件中心等其它非易失性存儲(chǔ)器中。在實(shí)施例中,BIOS固件114可由統(tǒng)一可擴(kuò)展固件接口(UEFI)固件或任何其它固件來(lái)實(shí)現(xiàn)。

盡管圖1A示出了系統(tǒng)100,但根據(jù)本發(fā)明的實(shí)施例可用于任何其它硬件架構(gòu),諸如使用多個(gè)處理器核心的平臺(tái)或使用處理器或協(xié)同處理器的平臺(tái),可以使用利用I/O中心的平臺(tái)或嵌入到處理器內(nèi)的存儲(chǔ)器控制等。

圖1B示出了實(shí)現(xiàn)本發(fā)明的原理的系統(tǒng)140的可選實(shí)施例。系統(tǒng)140可以包括處理器142。處理器142可包括能夠執(zhí)行軟件和/或過程數(shù)據(jù)信號(hào)的任何類型的處理器。在實(shí)施例中,處理器142可包括任何類型的處理器或上文關(guān)于處理器102所提到的處理器設(shè)備。在實(shí)施例中,處理器142可經(jīng)由用于指令和數(shù)據(jù)存儲(chǔ)和/或用于例如圖形命令、數(shù)據(jù)和紋理的存儲(chǔ)的存儲(chǔ)器路徑(未示出)與系統(tǒng)存儲(chǔ)器144耦合。在另一實(shí)施例中,處理器142可經(jīng)由PCI互連與一個(gè)或多個(gè)外圍部件互連(PCI)端口160耦合;然而,在一些實(shí)施例中,可能不需要PCI端口160。存儲(chǔ)器144可以為硬盤、軟盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存或能夠由處理器142讀取的任何其它類型的介質(zhì)。

盡管圖1B僅示出一個(gè)這樣的處理器142,但是系統(tǒng)140中可存在一個(gè)或多個(gè)處理器,并且一個(gè)或多個(gè)處理器可包括多個(gè)線程、多個(gè)核心等等。本改進(jìn)不限于計(jì)算機(jī)系統(tǒng)或數(shù)據(jù)處理設(shè)備系統(tǒng)。本發(fā)明的可選實(shí)施例能夠用于使用統(tǒng)一可擴(kuò)展固件接口(UEFI)基本輸入/輸出系統(tǒng)(BIOS)的任何形狀因數(shù)的設(shè)備,諸如手持式設(shè)備和嵌入式應(yīng)用。手持式設(shè)備的一些示例包括蜂窩電話、因特網(wǎng)協(xié)議設(shè)備、數(shù)字照相機(jī)、個(gè)人數(shù)字助理(PDA)或諸如上網(wǎng)本或筆記本的手持式PC。嵌入式應(yīng)用可包括微控制器、數(shù)字信號(hào)處理器(DSP)、片上系統(tǒng)、網(wǎng)絡(luò)計(jì)算機(jī)(NetPC)、機(jī)頂盒、網(wǎng)絡(luò)集線器、寬域網(wǎng)(WAN)交換機(jī)或任何其它系統(tǒng)。

處理器142可與系統(tǒng)邏輯芯片146耦合。例如,圖示實(shí)施例中的系統(tǒng)邏輯芯片146可以為平臺(tái)控制器中心(PCH)。在一個(gè)實(shí)施例中,PCH 146可例如經(jīng)由局部I/O互連提供與一個(gè)或多個(gè)I/O設(shè)備的連接。在實(shí)施例中,局部I/O互連可以為高速I/O總線,諸如外圍部件互連(PCI)總線。PCH 146可在處理器142和系統(tǒng)140中的一個(gè)或多個(gè)其它部件之間引導(dǎo)數(shù)據(jù)信號(hào)或其它信息,并且在處理器142和系統(tǒng)I/O之間橋接數(shù)據(jù)信號(hào)或信息。

一個(gè)或多個(gè)部件的一些示例可包括數(shù)據(jù)儲(chǔ)存設(shè)備142、一個(gè)或多個(gè)PCI端口154、聯(lián)網(wǎng)控制156、USB端口158。在一個(gè)實(shí)施例中,數(shù)據(jù)儲(chǔ)存設(shè)備152可包括硬盤驅(qū)動(dòng)其、軟盤驅(qū)動(dòng)其、CD-ROM設(shè)備、閃存設(shè)備或其它大容量?jī)?chǔ)存設(shè)備。盡管圖1B示出了部件的一些示例,但PCH 146可提供與其它部件的連接,諸如音頻I/O、鍵盤/鼠標(biāo)I/O、和諸如集成驅(qū)動(dòng)電子器件(IDE)的其它集成I/O部件、局域網(wǎng)(LAN)和其它串行擴(kuò)展端口、無(wú)線收發(fā)器、傳統(tǒng)I/O控制器等。

參照?qǐng)D1B,諸如閃存148的非易失性存儲(chǔ)器可經(jīng)由例如低引腳數(shù)(LPC)總線與PCH 146耦合。BIOS固件150可駐存在閃存148中,并且啟動(dòng)可執(zhí)行來(lái)自閃存的指令或固件。盡管圖1B示出了閃存148中的BIOS固件150,但在一些實(shí)施例中,BIOS固件150可存儲(chǔ)在諸如固件中心等其它非易失性存儲(chǔ)器中。在實(shí)施例中,BIOS固件150可由統(tǒng)一可擴(kuò)展固件接口(UEFI)固件或任何其它固件來(lái)實(shí)現(xiàn)。

盡管圖1B示出了系統(tǒng)140,根據(jù)本發(fā)明的實(shí)施例可用于任何其它硬件和軟件架構(gòu),例如使用多個(gè)處理器核心的平臺(tái)或使用處理器或協(xié)同處理器的平臺(tái),可以使用利用I/O中心的平臺(tái),或嵌入在處理器內(nèi)的存儲(chǔ)器控制等。

圖2是示出本發(fā)明的實(shí)施例的硬件和固件的分層視圖的框圖。參照?qǐng)D2,系統(tǒng)200可包括一個(gè)或多個(gè)邏輯處理器202和自舉處理器(BSP)204。在實(shí)施例中,邏輯處理器202可以為應(yīng)用處理器(AP)202。AP 202和BSP 204可執(zhí)行固件220。在另一實(shí)施例中,處理器可響應(yīng)于加電而被隨機(jī)地指定為AP或BSP。在實(shí)施例中,固件220可在BIOS環(huán)境中實(shí)現(xiàn),例如,UEFI環(huán)境或任何其它操作系統(tǒng)(OS)缺失應(yīng)用環(huán)境。盡管圖2示出了四個(gè)處理器核心,但在一些實(shí)施例中,系統(tǒng)200中可包括不同數(shù)量的處理器核心。盡管圖2示出了AP 202和BSP 204,但實(shí)施例可用于具有任何其它處理器核心的系統(tǒng)中。

參照?qǐng)D2,在實(shí)施例中,AP 202和/或BSP 204可在各種功率模式下操作。在實(shí)施例中,UEFI固件220可提供指令以指示AP 202和/或BSP 204在低功率模式(包括例如P狀態(tài)、C狀態(tài)或任何其它睡眠狀態(tài))下運(yùn)行,或者禁用一個(gè)或多個(gè)處理器。例如,UEFI固件220可提供指令以指示AP 202和/或BSP 204在P狀態(tài)下運(yùn)行,其中處理器可在最低/較低電壓和/或最低/較低頻率下運(yùn)行。例如,在P狀態(tài)下,AP 202可不具有全部計(jì)算能力而是具有部分計(jì)算能力。在另一實(shí)施例中,在P狀態(tài)下,BSP 204可具有I/O能力,例如,輪詢I/O狀態(tài)位就緒。在另一實(shí)施例中,固件220可提供指令以指示處理器202和/或204在C狀態(tài)下運(yùn)行,其中處理器中的至少一個(gè)或多個(gè)部件可掉電,以使處理器不運(yùn)行但保持處理器的狀態(tài)。在實(shí)施例中,BSP處理器204可具有喚醒處于睡眠狀態(tài)的AP 202的能力。

在另一實(shí)施例中,固件220可提供指令以指示AP 202在禁用狀態(tài)下運(yùn)行,其中AP 202可被禁用。在實(shí)施例中,禁用的AP 202對(duì)BSP 204不可見。在實(shí)施例中,在禁用狀態(tài)下,可禁用中斷喚醒能力。在另一實(shí)施例中,BSP 204可在P狀態(tài)下運(yùn)行以輪詢I/O設(shè)備狀態(tài)位就緒。在一個(gè)實(shí)施例中,處于C狀態(tài)的處理器可比在P狀態(tài)下消耗更少的電力。在另一實(shí)施例中,當(dāng)不存在I/O活動(dòng)時(shí),BSP 204可在C狀態(tài)下運(yùn)行。

參照?qǐng)D2,在實(shí)施例中,UEFI固件220可包括一個(gè)或多個(gè)I/O設(shè)備模塊,諸如網(wǎng)絡(luò)I/O設(shè)備模塊212和磁盤I/O設(shè)備模塊214。在實(shí)施例中,響應(yīng)于諸如網(wǎng)絡(luò)傳輸、網(wǎng)絡(luò)下載、硬盤存取、病毒掃描、數(shù)據(jù)備份的I/O操作或事件,或諸如播放MP3歌曲、在預(yù)啟動(dòng)/OS之前觀看圖片/電影、離線下載、因特網(wǎng)語(yǔ)音協(xié)議(VoIP)等任何其它I/O操作或請(qǐng)求,I/O設(shè)備模塊212和磁盤I/O設(shè)備模塊214可調(diào)用自舉暫停(stall)函數(shù)。參照?qǐng)D2,I/O設(shè)備模塊可與功率管理驅(qū)動(dòng)器或模塊216接口。UEFI固件220可進(jìn)一步提供定時(shí)器218。在一個(gè)實(shí)施例中,固件220可調(diào)節(jié)定時(shí)器218的定時(shí)器周期,以平衡功率消耗和任務(wù)負(fù)荷。

在一個(gè)實(shí)施例中,可響應(yīng)于諸如系統(tǒng)啟動(dòng)進(jìn)入U(xiǎn)EFI模式以及從不存在于連續(xù)OS或預(yù)OS模式的系統(tǒng)啟動(dòng),加載功率管理模塊或控制模塊216。在另一實(shí)施例中,響應(yīng)于主OS(例如,Windows、Linux、嵌入式軟件和/或圖形用戶界面等)處于睡眠模式(例如,S3或S4環(huán)境),功率管理模塊216可被加載。加載的功率管理模塊216可禁用AP 202或者響應(yīng)于系統(tǒng)啟動(dòng)而將AP 202置于睡眠模式或低功率模式,例如,P狀態(tài)或C狀態(tài),或者OS睡眠模式或其它OS缺失環(huán)境。諸如BSP 204的主處理器在例如睡眠或低功率模式下將正常地運(yùn)作。在另一實(shí)施例中,功率管理模塊216可在AP 202被禁用或者被置于睡眠或低功率模式之后被加載。

響應(yīng)于I/O操作,I/O設(shè)備模塊212或214可調(diào)用啟動(dòng)服務(wù)stall()函數(shù)。在加載功率管理模塊216之前,啟動(dòng)服務(wù)stall()函數(shù)可被調(diào)用。在實(shí)施例中,BSP 204可不睡眠,但是可被置于例如P狀態(tài)(其可能不是最低功率狀態(tài)),并且可以總是檢查I/O就緒。響應(yīng)于功率管理模塊216被加載,加載的功率管理模塊216可通過例如圖3A和圖3B或者圖5A和圖5B所示的流程來(lái)攔截原始啟動(dòng)服務(wù)暫停函數(shù)。響應(yīng)于stall()函數(shù)被I/O設(shè)備模塊調(diào)用,加載的功率管理模塊216可將stall()函數(shù)的暫停延時(shí)與預(yù)定閾值進(jìn)行比較。在實(shí)施例中,閾值可為定時(shí)器模塊218的最小定時(shí)器周期;然而,在一些實(shí)施例中,閾值可以不是最小定時(shí)器周期。在另一實(shí)施例中,可基于一個(gè)或多個(gè)因素確定閾值,所述因素例如為定時(shí)器模塊218的精度或期望的功率消耗或其它因素。

響應(yīng)于確定暫停延時(shí)較短,功率管理模塊216可調(diào)用原始保存的啟動(dòng)服務(wù)stall()函數(shù),其中BSP 204總是輪詢定時(shí)器I/O,直到滿足延時(shí)時(shí)間。響應(yīng)于暫停延時(shí)的結(jié)束時(shí)間,功率管理模塊216可退出暫停函數(shù)。

在另一實(shí)施例中,響應(yīng)于功率管理模塊216確定出暫停延時(shí)較長(zhǎng),功率管理模塊216可進(jìn)一步將暫停延時(shí)與定時(shí)器218的當(dāng)前定時(shí)器周期進(jìn)行比較。響應(yīng)于確定出暫停延時(shí)等于當(dāng)前定時(shí)器周期,定時(shí)器模塊218的定時(shí)器周期可將BSP 204置于最低功率狀態(tài),例如C狀態(tài),該狀態(tài)可消耗比P狀態(tài)低的功率。BSP 204可通過來(lái)自定時(shí)器218的定時(shí)器中斷事件而被喚醒,例如,在定時(shí)器周期結(jié)束時(shí)。BSP 204可從睡眠C狀態(tài)被喚醒。在另一實(shí)施例中,功率管理模塊216可響應(yīng)于定時(shí)器中斷而退出stall()函數(shù)。在一些實(shí)施例中,當(dāng)處理器處于低功率狀態(tài)時(shí),總線上的其它設(shè)備可不處于低功率模式。例如,網(wǎng)絡(luò)接口卡(NIC)適配器可發(fā)送分組到處理器和接收來(lái)自處理器的分組,或者當(dāng)處理器處于低功率模式時(shí)硬盤驅(qū)動(dòng)器可控制經(jīng)過PCI總線的直接存儲(chǔ)器存取。

在一個(gè)實(shí)施例中,響應(yīng)于確定出暫停延時(shí)不等于當(dāng)前定時(shí)器周期,功率管理模塊216可將定時(shí)器周期設(shè)定成stall()函數(shù)的暫停延時(shí)。功率管理模塊216可進(jìn)一步鉤上(hook)定時(shí)器中斷以設(shè)定諸如定時(shí)器回叫事件的定時(shí)器事件。BSP 204可被置于C狀態(tài)并且可在定時(shí)器周期結(jié)束時(shí)喚醒。在定時(shí)器中斷回叫函數(shù)中,功率管理模塊216可監(jiān)控是否調(diào)用持續(xù)的或后續(xù)的暫停。響應(yīng)于確定出不存在持續(xù)暫停,定時(shí)器周期可被設(shè)定回或恢復(fù)回系統(tǒng)缺省值。相反,功率管理模塊216可繼續(xù)檢查持續(xù)暫停。在另一實(shí)施例中,定時(shí)器中斷可被周期性地調(diào)用,并且定時(shí)器事件可被鉤到定時(shí)器中斷處理程序中并且可被選擇性地激活或禁用。

圖3A和圖3B示出了根據(jù)本發(fā)明的實(shí)施例的示例性方法的流程圖。參照?qǐng)D2和圖3A,在方框302中,示出了示例性的環(huán)境,其中系統(tǒng)啟動(dòng)可例如響應(yīng)于系統(tǒng)100被加電而執(zhí)行。在實(shí)施例中,BIOS 114(例如,UEFI固件220)可提供指令和操作以響應(yīng)于系統(tǒng)啟動(dòng)而初始化系統(tǒng)100。在實(shí)施例中,方框302中的系統(tǒng)啟動(dòng)可不包括OS啟動(dòng)階段。在另一實(shí)施例中,方框302中的系統(tǒng)啟動(dòng)可與預(yù)OS階段有關(guān)。在方框304中,示出了另一OS缺失環(huán)境的實(shí)施例,其中系統(tǒng)100可在S3環(huán)境中操作。在實(shí)施例中,S3環(huán)境可為睡眠模式、待機(jī)模式或掛起到RAM保持加電的RAM模式。在實(shí)施例中,在S3環(huán)境下,可禁用OS、應(yīng)用、打開文檔或任何其它軟件。在實(shí)施例中,在S3環(huán)境中,禁用的軟件仍可駐存在存儲(chǔ)器中。盡管圖3A示出了S3環(huán)境,但在一些實(shí)施例中,圖3A的流程可適用于其它OS缺失環(huán)境,諸如S4環(huán)境或其中主OS(例如,Windows、Linux等)處于睡眠模式的系統(tǒng)休眠。

在方框306中,BIOS 114可提供指令和/或操作,以將AP 202置于C狀態(tài)或P狀態(tài),或者可響應(yīng)于系統(tǒng)啟動(dòng)進(jìn)入U(xiǎn)EFI 220(方框302)或系統(tǒng)進(jìn)入S3或S4環(huán)境(方框304)或其它OS缺失環(huán)境而禁用AP 202。在實(shí)施例中,BIOS 114可提供指令或操作以啟動(dòng)進(jìn)入U(xiǎn)EFI以將AP 202置于P狀態(tài)、C狀態(tài)或禁用狀態(tài),并且可不將UEFI退入連續(xù)OS。在另一實(shí)施例中,系統(tǒng)100可不進(jìn)入OS但是可在OS缺省應(yīng)用環(huán)境中操作,其中BIOS 114或UEFI固件220為執(zhí)行環(huán)境。

流程進(jìn)行到方框308。在方框308中,響應(yīng)于諸如網(wǎng)絡(luò)I/O操作或硬盤I/O操作等的I/O操作,對(duì)應(yīng)的I/O設(shè)備模塊212或214可由BSP 204執(zhí)行以調(diào)用啟動(dòng)服務(wù)暫停函數(shù)。流程可進(jìn)行到菱形310,其中BSP 204可檢查用于功率管理模塊216的功率管理驅(qū)動(dòng)器是否被加載。參照?qǐng)D3,在方框316中,響應(yīng)于確定出功率管理驅(qū)動(dòng)器未被加載,調(diào)用啟動(dòng)服務(wù)暫停函數(shù)。

在菱形310中,響應(yīng)于確定出功率管理驅(qū)動(dòng)器被加載,流程可進(jìn)行到方框312,其中功率管理模塊216可被配置為鉤上啟動(dòng)服務(wù)暫停函數(shù)。在菱形314中,功率管理模塊216可被配置為檢查啟動(dòng)服務(wù)暫停函數(shù)的暫停延時(shí)是否小于預(yù)定閾值。響應(yīng)于確定出暫停延時(shí)小于預(yù)定閾值(菱形314),流程可進(jìn)行到方框316以調(diào)用啟動(dòng)服務(wù)暫停函數(shù)。

相反,如果菱形314的結(jié)果表明暫停延時(shí)不小于預(yù)定閾值,則流程可進(jìn)行到方框316,以檢查暫停延時(shí)是否等于定時(shí)器模塊218的當(dāng)前定時(shí)器周期,例如,系統(tǒng)缺省值。在菱形318中,響應(yīng)于確定出暫停延時(shí)等于當(dāng)前定時(shí)器周期,功率管理模塊216可被配置成在暫停延時(shí)或當(dāng)前定時(shí)器周期期間內(nèi)將BSP 204置于C狀態(tài)。在方框320中,可在暫停延時(shí)或定時(shí)器周期結(jié)束時(shí)觸發(fā)定時(shí)器中斷,并且功率管理模塊216可喚醒BSP 204。在實(shí)施例中,BSP 204可被喚醒并且可在方框326中退出暫停函數(shù)。喚醒BSP 204可檢查I/O就緒狀態(tài)位。如果確定出I/O就緒狀態(tài)位被置位,則BSP 204可退出執(zhí)行I/O操作。相反,如果喚醒BSP 204確定出I/O就緒狀態(tài)位在暫停延時(shí)期間內(nèi)未被置位,則BSP 204可不執(zhí)行I/O操作。在另一實(shí)施例中,如果喚醒BSP 204確定出I/O就緒狀態(tài)位在暫停延時(shí)期間內(nèi)未被置位,則對(duì)應(yīng)的I/O設(shè)備模塊212或214可調(diào)用另一BS暫停函數(shù),例如,根據(jù)308至326。

再次參照?qǐng)D3A,響應(yīng)于確定出暫停延時(shí)不等于當(dāng)前定時(shí)器周期(菱形318),功率管理模塊216可被配置成將定時(shí)器周期設(shè)定為暫停延時(shí)(方框322)。在方框324中,功率管理模塊216可設(shè)定定時(shí)器回叫事件。參照?qǐng)D3B,在實(shí)施例中,可響應(yīng)于定時(shí)器回叫事件的設(shè)定而調(diào)用定時(shí)器中斷回叫函數(shù)(方框328)。在菱形330中,在定時(shí)器中斷回叫函數(shù)中,功率管理模塊216可監(jiān)控是否調(diào)用持續(xù)暫停。響應(yīng)于確定出將不存在持續(xù)暫停,則定時(shí)器周期可被設(shè)定或恢復(fù)回系統(tǒng)缺省值(方框332)。相反,功率管理模塊216可在菱形330中繼續(xù)檢查持續(xù)暫停。返回參照?qǐng)D3A,響應(yīng)于在方框324中設(shè)定定時(shí)器回叫事件,流程可進(jìn)行到方框320。

圖4A和圖4B示出了示例性實(shí)施例以顯示基于系統(tǒng)I/O負(fù)荷的工作負(fù)荷的定時(shí)器周期的變化。參照?qǐng)D4A和圖4B,缺省的定時(shí)器周期可為100毫秒。在200毫秒的時(shí)點(diǎn)處,任務(wù)A開始I/O操作,并且功率管理模塊216可根據(jù)與I/O操作對(duì)應(yīng)的BS暫停函數(shù)的暫停延時(shí)而將定時(shí)器周期調(diào)節(jié)成例如10毫秒。BSP 204可在每10毫秒周期內(nèi)保持較低功率狀態(tài)。在實(shí)施例中,BSP 204可被設(shè)定成較高功率狀態(tài)以在每10毫秒時(shí)檢查I/O狀態(tài)。在230毫秒的時(shí)點(diǎn)處,BSP 204發(fā)現(xiàn)狀態(tài)位被置位并且隨后可執(zhí)行任務(wù)A達(dá)20毫秒,如圖4A中的C所示。響應(yīng)于BSP 204在250毫秒的時(shí)點(diǎn)完成I/O操作,可執(zhí)行功率管理模塊216以將10毫秒的定時(shí)器周期恢復(fù)回100毫秒,如圖4B所示。

參照?qǐng)D4A,在350毫秒的時(shí)點(diǎn),任務(wù)B開始I/O操作。功率管理模塊216可被配置成根據(jù)I/O操作而將定時(shí)器周期調(diào)節(jié)成50毫秒。BSP 204可在每50毫秒的定時(shí)器周期內(nèi)保持在較低的功率狀態(tài),例如C狀態(tài)。BSP 204可被設(shè)定成較高功率狀態(tài)--P狀態(tài),以便每50毫秒檢查I/O狀態(tài)位。當(dāng)BSP 204在450毫秒的時(shí)點(diǎn)檢測(cè)到狀態(tài)位被置位時(shí),其可執(zhí)行任務(wù)達(dá)50毫秒(圖4A中的D所示)。當(dāng)BSP 204在450毫秒的時(shí)點(diǎn)完成I/O操作時(shí),功率管理模塊216可將50毫秒的定時(shí)器周期再次恢復(fù)回缺省值,例如100毫秒。

在實(shí)施例中,I/O設(shè)備模塊212和214可不知道暫停服務(wù)的變化。在另一實(shí)施例中,用于I/O操作的暫停函數(shù)的暫停延時(shí)可被預(yù)先確定為比確定的閾值長(zhǎng),并且處理器可根據(jù)圖3A和圖3B的流程而停留在低功率狀態(tài),例如C狀態(tài)。

圖5A和圖5B示出了根據(jù)本發(fā)明的實(shí)施例的示例性方法的流程圖。參照?qǐng)D5A,方框502和504的描述可分別類似于方框302和304。在方框506中,用于功率管理模塊216的功率管理驅(qū)動(dòng)器可被加載。在方框508中,功率管理驅(qū)動(dòng)器可將一個(gè)或多個(gè)AP 204置于P狀態(tài)、C狀態(tài)或禁用狀態(tài)。在方框510中,功率管理驅(qū)動(dòng)器可鉤上BS暫停函數(shù)。在方框512中,功率管理驅(qū)動(dòng)器可置位標(biāo)記Tmin,其可指示與定時(shí)器218相關(guān)的閾值。在方框514中,功率管理驅(qū)動(dòng)器可將定時(shí)器218的定時(shí)器周期更新成缺省定時(shí)器周期Td。在方框516中,功率管理驅(qū)動(dòng)器可將標(biāo)記Tcurrent設(shè)定成Td。例如,標(biāo)記Tcurrent可指示當(dāng)前定時(shí)器周期。在方框518中,功率管理驅(qū)動(dòng)器可將標(biāo)記TimerChange和標(biāo)記Continue設(shè)定成“假(FALSE)”。標(biāo)記TimerChange可指示定時(shí)器周期是否改變。標(biāo)記Continue可指示是否存在待調(diào)用的持續(xù)暫停函數(shù)。在方框520中,功率管理驅(qū)動(dòng)器可鉤上定時(shí)器中斷處理程序。在方框522中,流程可退出功率管理驅(qū)動(dòng)器。在一個(gè)實(shí)施例中,方框506至522的流程可用于功率管理驅(qū)動(dòng)器的初始化。

參照?qǐng)D5B,在方框524中,響應(yīng)于諸如網(wǎng)絡(luò)I/O操作或硬盤I/O操作等的I/O操作,對(duì)應(yīng)的I/O設(shè)備模塊212或214調(diào)用啟動(dòng)服務(wù)暫停函數(shù)。在菱形526中,功率管理模塊216可檢查啟動(dòng)服務(wù)暫停函數(shù)的暫停延時(shí)是否小于Tmin,例如,預(yù)定閾值。響應(yīng)于確定出暫停延時(shí)小于預(yù)定閾值,則流程進(jìn)行到方框528以調(diào)用啟動(dòng)服務(wù)暫停函數(shù)。方框528中的流程可參照?qǐng)D3A的方框316。

在菱形530中,功率管理模塊216可被配置成檢查標(biāo)記TimerChange是否等于“真(TRUE)”。在方框534中,響應(yīng)于標(biāo)記TimerChange等于真,則功率管理模塊216可在方框534中將標(biāo)記Continue設(shè)定成真。相反,響應(yīng)于確定出標(biāo)記TimerChange不等于真,則功率管理模塊216可在菱形532中進(jìn)一步確定暫停延時(shí)是否等于標(biāo)記Tcurrent。響應(yīng)于確定出暫停延時(shí)和標(biāo)記Tcurrent相等(菱形532),流程可進(jìn)行到方框542。相反,流程可進(jìn)行到方框536,其中功率管理模塊216可將標(biāo)記TimerChange和標(biāo)記Continue設(shè)定成真。在方框538中,功率管理模塊216可將標(biāo)記Tcurrent設(shè)定成暫停延時(shí)。在方框540中,功率管理模塊216可基于Tcurrent來(lái)更新定時(shí)器218的定時(shí)器周期。

在方框542中,功率管理模塊216可將BSP 204置于C狀態(tài)。在方框544中,例如可在定時(shí)器周期結(jié)束時(shí)由定時(shí)器中斷喚醒BSP 204。BSP 204可在喚醒時(shí)檢查I/O就緒。在方框564中,當(dāng)定時(shí)器中斷觸發(fā)時(shí),暫停函數(shù)不運(yùn)行。流程進(jìn)行到方框546以在功率管理驅(qū)動(dòng)器初始化期間運(yùn)行在方框520中鉤上的定時(shí)器中斷處理程序。

在菱形548中,功率管理模塊216可檢查標(biāo)記TimerChange是否為真。在方框560中,響應(yīng)于確定出標(biāo)記TimerChange不為真,功率管理模塊216可退出定時(shí)器中斷。相反,流程可進(jìn)行到菱形550,其中檢查標(biāo)記Continue為真。如果標(biāo)記Continue不為真,則流程可進(jìn)行到方框552,其中功率管理模塊216可將標(biāo)記Continue設(shè)定成假,然后流程可退出定時(shí)器周期。如果標(biāo)記Continue不為真(菱形550),則流程可進(jìn)行到方框554,其中Tcurrent被設(shè)定成Td。在方框556中,TimerChange標(biāo)記被設(shè)定成假,并且定時(shí)器218的定時(shí)器周期被更新成Tcurrent(方框558),并且流程可進(jìn)行到560。在562中,在退出定時(shí)器中斷之后,如果暫停函數(shù)仍在運(yùn)行,則流程可進(jìn)行到562以退出暫停函數(shù)。

盡管圖示的圖3A、圖3B、圖5A和圖5B中的方法包括處理序列,但在一些實(shí)施例中方法可按不同的次序執(zhí)行圖示的過程。

盡管已經(jīng)參照實(shí)施例對(duì)本發(fā)明的一些特征進(jìn)行了說(shuō)明,但描述不意在以限制的含義進(jìn)行解釋。對(duì)本發(fā)明所屬領(lǐng)域的技術(shù)人員顯而易見的實(shí)施例的各種變型以及本發(fā)明的其它實(shí)施例被視為落在本發(fā)明的精神和范圍內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
类乌齐县| 城市| 乌兰县| 曲阳县| 哈尔滨市| 界首市| 潮安县| 扎赉特旗| 高州市| 武安市| 陆良县| 济阳县| 泸州市| 莱芜市| 蒙山县| 普格县| 泰州市| 苏尼特左旗| 溧水县| 三河市| 镇雄县| 贵港市| 改则县| 沂水县| 饶平县| 岳普湖县| 安塞县| 南安市| 通江县| 伊金霍洛旗| 阿合奇县| 怀柔区| 镶黄旗| 新巴尔虎右旗| 革吉县| 安溪县| 东城区| 吴桥县| 邵阳县| 揭东县| 永昌县|