專利名稱:用于控制cpu速度轉(zhuǎn)換的裝置和方法
背景技術(shù):
發(fā)明領(lǐng)域本發(fā)明涉及用于控制CPU速度轉(zhuǎn)換的裝置和方法,尤其涉及CPU速度轉(zhuǎn)換。
相關(guān)技術(shù)背景
圖1是示出應(yīng)用于計算機(jī)系統(tǒng)的相關(guān)技術(shù)CPU速度轉(zhuǎn)換控制方法的流程圖。例如,如果SMI(系統(tǒng)管理中斷)信號產(chǎn)生于筆記本計算機(jī)內(nèi)(步驟S10),則筆記本計算機(jī)的系統(tǒng)BIOS識別為什么產(chǎn)生SMI信號(步驟S11)。
除非SMI信號產(chǎn)生的原因是執(zhí)行Geyserville CPU速度轉(zhuǎn)換(步驟S12),否則系統(tǒng)BIOS執(zhí)行對應(yīng)于SMI信號的指定操作(步驟S13)。另外,如果已產(chǎn)生SMI信號用于執(zhí)行從高速到低速或者從低速到高速的Geyserville CPU速度轉(zhuǎn)換,則確定筆記本計算機(jī)中的總線主控器裝置是否處于活動狀態(tài)(步驟S14)。
如果總線主控器裝置不處于活動狀態(tài),則系統(tǒng)BIOS將轉(zhuǎn)換標(biāo)記設(shè)定成表示轉(zhuǎn)換成功的第一指定值(步驟S15),并增加或降低Geyserville CPU速度(步驟S16)。
系統(tǒng)BIOS確定是否正常執(zhí)行Geyserville CPU速度轉(zhuǎn)換(步驟S17)。在這種情況中,如果異常地執(zhí)行Geyserville CPU速度轉(zhuǎn)換,則系統(tǒng)BIOS將轉(zhuǎn)換標(biāo)記設(shè)定為表示轉(zhuǎn)換失敗的第二指定值(步驟S18),并終止SMI服務(wù)操作(步驟S19)。
如果確定總線主控器裝置處于活動狀態(tài)(步驟S14),則系統(tǒng)BIOS將轉(zhuǎn)換標(biāo)記設(shè)定為表示轉(zhuǎn)換失敗的第二指定值,而不執(zhí)行Geyserville CPU速度轉(zhuǎn)換(步驟S18)。隨后,系統(tǒng)BIOS終止SMI服務(wù)操作(步驟S19),從而可以防止計算機(jī)系統(tǒng)錯亂(hangup)。此后,系統(tǒng)BIOS重復(fù)上述操作直到接收到系統(tǒng)關(guān)閉命令(步驟S20)。
計算機(jī)系統(tǒng)錯亂的原因如下。在總線主控器裝置(從幾個系統(tǒng)裝置之中)處于活動狀態(tài)的情況下,當(dāng)系統(tǒng)BIOS執(zhí)行CPU速度轉(zhuǎn)換時,執(zhí)行CPU速度轉(zhuǎn)換時CPU不在正常模式中,系統(tǒng)BIOS不能再連續(xù)執(zhí)行總線主控器裝置的當(dāng)前操作。因此,計算機(jī)系統(tǒng)的錯亂可以通過在總線主控器裝置活動時防止CPU速度轉(zhuǎn)換來防止計算機(jī)系統(tǒng)的錯亂。
如上所述,用于控制CPU速度轉(zhuǎn)換的相關(guān)技術(shù)的裝置和方法具有多個缺點(diǎn)。例如,如果總線主控器裝置處于活動狀態(tài)且系統(tǒng)BIOS立即終止SMI裝置而不執(zhí)行CPU速度轉(zhuǎn)換,則計算機(jī)系統(tǒng)不錯亂,但是,由于轉(zhuǎn)換失敗而終止了SMI服務(wù)。因此,系統(tǒng)BIOS很難或者不可能正常地執(zhí)行CPU速度轉(zhuǎn)換。
以上參考結(jié)合在此,其適用于附加或可選細(xì)節(jié)、特點(diǎn)和/或技術(shù)背景的合適教導(dǎo)。
發(fā)明概述本發(fā)明的一個目的在于解決至少上述問題和/或缺點(diǎn)并提供至少以下所述的優(yōu)點(diǎn)。
本發(fā)明的另一個目的在于提供一種用于控制CPU速度在高速和低速之間轉(zhuǎn)換的裝置和方法。
本發(fā)明的另一個目的在于提供一種用于控制CPU速度轉(zhuǎn)換的裝置和方法,當(dāng)總線主控器裝置處于活動狀態(tài)中時,它終止SMI服務(wù)而不執(zhí)行CPU速度轉(zhuǎn)換所需的控制操作。
本發(fā)明的另一個目的在于提供一種用于控制CPU速度轉(zhuǎn)換的裝置和方法,當(dāng)總線主控器裝置處于活動狀態(tài)中時,它終止SMI服務(wù)而不執(zhí)行CPU速度轉(zhuǎn)換所需的控制操作,但重復(fù)產(chǎn)生CPU速度轉(zhuǎn)換所需的事件。
本發(fā)明的另一個目的在于提供一種用于控制CPU速度轉(zhuǎn)換的裝置和方法,當(dāng)總線主控器裝置處于活動狀態(tài)中時,它終止SMI服務(wù)而不執(zhí)行CPU速度轉(zhuǎn)換所需的控制操作,但以規(guī)則的時間間隔重復(fù)產(chǎn)生CPU速度轉(zhuǎn)換所需的事件,例如監(jiān)視時鐘SMI和嵌入控制器SMI,從而形成正常的CPU速度轉(zhuǎn)換。
根據(jù)本發(fā)明的一個方面,通過提供一種用于控制CPU速度轉(zhuǎn)換的方法可以整體或部分地實(shí)現(xiàn)至少以上和其它的目的,其中所述方法包括接收系統(tǒng)管理中斷(SMI)信號,當(dāng)SMI信號用于執(zhí)行CPU速度轉(zhuǎn)換時確定總線主控器裝置是否處于活動狀態(tài),以及當(dāng)總線主控器裝置處于活動狀態(tài)時取消CPU速度轉(zhuǎn)換操作并以規(guī)定時間間隔產(chǎn)生重試SMI信號。
根據(jù)本發(fā)明的另一個方面,為了進(jìn)一步整體或部分地實(shí)現(xiàn)以上目的和優(yōu)點(diǎn),提供了一種便攜式計算機(jī),它包括被配置成以至少兩種速度工作的CPU;被配置成執(zhí)行指定操作以便在CPU的至少兩種速度之間轉(zhuǎn)換的控制器;用于識別中斷信號的生成原因的中斷生成原因識別單元;用于檢查預(yù)定裝置的活動狀態(tài)的活動狀態(tài)檢查單元;以及中斷產(chǎn)生單元,該中斷產(chǎn)生單元用于在中斷生成原因識別裝置確定創(chuàng)建了第一中斷信號用于CPU速度轉(zhuǎn)換且活動狀態(tài)檢查裝置確定所述預(yù)定裝置處于活動狀態(tài)時,創(chuàng)建重試CPU速度轉(zhuǎn)換的指定操作的第二中斷信號。
根據(jù)本發(fā)明的另一個方面,為了進(jìn)一步整體或部分地實(shí)現(xiàn)以上目的和優(yōu)點(diǎn),提供了一種裝置,它包括被配置成接收中斷信號的中斷接收器以及耦合到該中斷接收器的中斷發(fā)生器,它被配置成在接收到用于CPU速度轉(zhuǎn)換的第一中斷信號且總線主控器裝置處于活動狀態(tài)時產(chǎn)生重試指定操作的第二中斷信號,所述指定操作是CPU速度轉(zhuǎn)換所需的。
根據(jù)本發(fā)明的另一個方面,為了進(jìn)一步整體或部分地實(shí)現(xiàn)以上目的和優(yōu)點(diǎn),提供了一種包括含用于控制計算機(jī)系統(tǒng)中CPU速度轉(zhuǎn)換的指令的機(jī)器可讀存儲介質(zhì)的制品,當(dāng)所述指令在計算機(jī)系統(tǒng)中執(zhí)行時,使得該計算機(jī)系統(tǒng)接收系統(tǒng)管理中斷(SMI)信號;當(dāng)SMI信號是第一SMI CPU速度轉(zhuǎn)換信號時,確定總線主控器裝置是否處于活動狀態(tài)中;以及當(dāng)總線主控器裝置處于活動狀態(tài)中時取消CPU速度轉(zhuǎn)換操作并以預(yù)定間隔產(chǎn)生事件。
本發(fā)明的其它優(yōu)點(diǎn)、目的和特點(diǎn)將部分在描述中闡述,且通過以下內(nèi)容的審查或者通過本發(fā)明的實(shí)施部分將使本技術(shù)領(lǐng)域內(nèi)的普通技術(shù)人員顯而易見。將實(shí)現(xiàn)和獲得本發(fā)明的目的和優(yōu)點(diǎn),如所附權(quán)利要求書中指出的。
附圖概述將參考附圖詳細(xì)描述本發(fā)明,其中相同標(biāo)號表示相同元件,其中圖1是示出用于計算機(jī)系統(tǒng)的相關(guān)技術(shù)的CPU速度轉(zhuǎn)換控制方法的流程圖;圖2是示出包含根據(jù)本發(fā)明的CPU速度轉(zhuǎn)換控制裝置的計算機(jī)系統(tǒng)較佳實(shí)施例的框圖;圖3和4是示出根據(jù)本發(fā)明的CPU速度轉(zhuǎn)換控制方法的較佳實(shí)施例的流程圖;以及圖5和6是示出根據(jù)本發(fā)明的CPU速度轉(zhuǎn)換控制方法的另一個較佳實(shí)施例的流程圖。
具體實(shí)施例方式
圖2是示出可以應(yīng)用根據(jù)本發(fā)明的CPU速度轉(zhuǎn)換控制裝置和方法實(shí)施例的計算機(jī)系統(tǒng)的框圖。例如,諸如筆記本計算機(jī)的計算機(jī)系統(tǒng)可以包括CPU10、嵌入控制裝置20、總線主控器裝置30、PCI(周邊元件擴(kuò)展接口)橋40、系統(tǒng)ROM50和系統(tǒng)存儲器60。
PCI橋40可以包括Geyserville邏輯400、監(jiān)視時鐘410、SMI(系統(tǒng)管理中斷)邏輯420、ISA/LPC邏輯430和PCI/AGP接口440。使用DRAM的系統(tǒng)存儲器60可以存儲用戶程序等等。
CPU10可以是各種CPU中的一種,其中支持Intel公司的SpeedStep或者Geyserville技術(shù)。例如,CPU10可以是移動Intel Pentium 4處理器,它結(jié)合了Intel SpeedStep技術(shù)(也稱作Geyserville技術(shù))或者其類似的等效物。在這種情況中,應(yīng)注意,SpeedStep技術(shù)等于Geyserville技術(shù)。
SpeedStep技術(shù)使得CPU10能夠根據(jù)CPU請求在兩個核心頻率之間執(zhí)行自動切換功能。例如,CPU請求可以是CPU負(fù)載信息。可以執(zhí)行CPU10的工作頻率的切換功能而無需復(fù)位CPU10或者改變系統(tǒng)總線頻率。移動Intel Pentium 4處理器以兩種模式操作,例如最大性能模式(Maximum Performance Mode)和電池最佳模式(Battery Optimized Mode)。移動Intel Pentium 4處理器還可以支持除這兩種模式以外的至少一種模式。
圖2所示的GV信號由若干信號組成,例如G_GMI,G_NMI,GM_INIT,G_INTR,G_STPCL#和LO/HI#等等。響應(yīng)于個別信號,CPU10可以執(zhí)行其自身工作頻率和施加電壓的轉(zhuǎn)換。電壓調(diào)節(jié)器70產(chǎn)生的CPU10的接收電壓可以由從Geyserville邏輯400接收到的VR_LO/HI#和Vgate信號控制。在將Microsoft Windows XP安裝在諸如筆記本計算機(jī)的計算機(jī)系統(tǒng)中且Window的控制面板中包含的電源管理項(xiàng)已被設(shè)置成自適應(yīng)模式后,如果電源從AC適配器變成電池或從電池變?yōu)锳C適配器,且如果電池壽命或CPU使用信息改變,則Geyserville邏輯400可以自動執(zhí)行CPU速度轉(zhuǎn)換,從高速變成低速或者從低速變成高速。
轉(zhuǎn)換操作也可以由Microsoft Windows XP執(zhí)行。Windows XP可以執(zhí)行處理器性能控制(Processor Performance Control)所需的獨(dú)特的內(nèi)置支援程序。該獨(dú)特的內(nèi)置支援程序是本地處理器性能控制(Native Processor Performance Control)程序。該本地處理器性能控制程序可以實(shí)現(xiàn)諸如增強(qiáng)Intel SpeedStep技術(shù)(Enhanced Intel SpeedStep Technology)等各種技術(shù)。
Windows XP中處理器性能控制所需的獨(dú)特的內(nèi)置支援程序可以由兩部分組成,例如處理器性能控制(Processor Performance Control)部分和處理器性能控制策略(Processor Performance Control Policy)。處理器性能控制部分是改變性能狀態(tài)所需的指定功能。Windows XP可以使用Intel公司指定的Legacy SMI接口或者高級配置和電源接口(ACPI)標(biāo)準(zhǔn)中指定的處理器對象來執(zhí)行處理器性能控制功能。在這種情況中,Legacy SMI接口和處理器對象與上述SpeedStep技術(shù)相關(guān)聯(lián)。
處理器性能控制策略部分優(yōu)選是一組行為規(guī)則,其用于確定將使用的合適性能狀態(tài)。Window XP使得處理器性能控制策略與指定電源方案相關(guān)聯(lián),并限定處理器性能控制所需的四種控制策略。這四個控制策略由用于使得處理器總是在最低性能狀態(tài)下運(yùn)行的恒定模式、用于使得處理器根據(jù)CPU請求選擇性能狀態(tài)的自適應(yīng)模式、用于使得處理器以最低性能狀態(tài)開始并使用與電池放電時間成比例的線性性能降低函數(shù)(即,停止時鐘節(jié)流函數(shù))(stop clock throttling function)的降級模式以及用于使得處理器總是以最高性能狀態(tài)運(yùn)行的無模式(none-mode)組成。但是,本發(fā)明不限于此。例如,以上控制策略的數(shù)量還可以根據(jù)其它參考增加或減少。
SMI信號可以根據(jù)Intel SpeedStep技術(shù)被創(chuàng)建成CPU工作頻率轉(zhuǎn)換所需的事件。在這種情況中,可以存在與SMI信號產(chǎn)生關(guān)聯(lián)的各項(xiàng),例如CPU使用量、溫度(例如,熱狀態(tài))和電池壽命等等。因此,在CPU10是支持兩種以上的頻率的處理器且滿足上述項(xiàng)中一項(xiàng)的預(yù)定條件的情況中,CPU10優(yōu)選可以自動執(zhí)行其自身工作頻率的轉(zhuǎn)換。應(yīng)注意,上述項(xiàng)還可以變成其它項(xiàng),且如需要,可以刪除或進(jìn)一步添加相應(yīng)項(xiàng)的預(yù)定條件。
現(xiàn)在將描述基于CPU使用量的示例性轉(zhuǎn)換CPU速度。在使用MS-Word的情況中,CPU使用的百分比優(yōu)選在20%到40%的范圍內(nèi)。在再現(xiàn)DVD(數(shù)字通用光盤)的情況中,CPU使用的百分比優(yōu)選基本100%。因此,根據(jù)CPU工作負(fù)荷,可以使用WindowsXP自動或直接執(zhí)行CPU速度轉(zhuǎn)換。例如,如果CPU使用的百分比等于或高于95%,則可以自動將CPU工作頻率轉(zhuǎn)換成最高或最大性能模式。另外,如果CPU使用的百分比等于或低于75%,則可以自動將CPU工作頻率轉(zhuǎn)換成電池最佳模式。
同時,如果在能支持超過4種頻率模式的特定CPU中CPU使用的百分比是95%,則CPU速度可以自動被切換成最高工作頻率。如果在能支持超過四種頻率模式的同一CPU中CPU使用的百分比在75%到94%的范圍內(nèi),CPU速度可以被自動切換成第二高工作頻率。如果在能支持超過四種頻率模式的同一CPU中CPU使用的百分比在從40%到74%的范圍內(nèi),則CPU速度可以自動被切換成第三高工作頻率。如果在能支持超過四種頻率模式的同一CPU中CPU使用的百分比低于40%,則CPU速度可以自動被切換成最低工作頻率。例如,圖2中示出的系統(tǒng)ROM中包含的由“SMI服務(wù)#2”表示的SMI處理機(jī)可以根據(jù)CPU使用信息自動執(zhí)行CPU速度轉(zhuǎn)換,例如如上所述。
現(xiàn)在將描述基于熱狀態(tài)的實(shí)例性CPU速度轉(zhuǎn)換。例如,如果由于應(yīng)用負(fù)荷因素造成CPU或外圍芯片組過熱,則熱事件SMI信號產(chǎn)生,且可以自動調(diào)整CPU的工作頻率或接收電壓以使CPU的溫度保持在預(yù)定溫度以下的溫度。
如果CPU溫度增加,則系統(tǒng)ROM50中由“SMI服務(wù)#2”表示的SMI處理機(jī)可以執(zhí)行從最高或最大性能模式到較低性能或電池最佳模式的轉(zhuǎn)換。但是,如果CPU溫度不低于預(yù)定溫度,例如,如果在CPU已進(jìn)入電池最佳模式后CPU繼續(xù)過熱,則系統(tǒng)BIOS或Windows XP可以執(zhí)行節(jié)流模式以冷卻CPU10。
節(jié)流模式可以使得施加到CPU上的時鐘信號能夠以預(yù)定比率被停止且以控制CPU速度的方式使CPU以固定頻率繼續(xù)工作(例如高或低頻率)。該節(jié)流模式不同于SpeedStep轉(zhuǎn)換方法。
此外,假如CPU支持超過四種工作頻率,系統(tǒng)BIOS可以逐漸控制CPU10的工作頻率直到CPU10的溫度達(dá)到所需溫度,而非轉(zhuǎn)換成節(jié)流模式。例如,如果假定所需CPU溫度是70℃時CPU溫度等于或高于100℃,可以用熱事件SMI信號將CPU速度從最高工作頻率模式轉(zhuǎn)換成第二高工作頻率。如果假定所需CPU溫度是70℃時CPU溫度在90℃到99℃的范圍內(nèi),CPU速度可以被轉(zhuǎn)換成第三高工作頻率模式。如果在假定所需CPU溫度是70℃時CPU溫度在從71℃到89℃的范圍內(nèi),則CPU速度自動被轉(zhuǎn)換成最低工作頻率模式。
現(xiàn)在將描述基于電池壽命的實(shí)例性CPU速度轉(zhuǎn)換。例如,如果用戶例如在Windows XP中將電源管理項(xiàng)設(shè)置成降級模式,CPU可以首先以最低性能狀態(tài)開始,隨后執(zhí)行停止時鐘節(jié)流函數(shù)以便與電池放電時間成比例或響應(yīng)于SMI信號執(zhí)行線性性能降低。在這種情況中,支持超過兩種工作頻率的CPU可以根據(jù)電池放電時間自動或直接控制超過兩種工作頻率之間的轉(zhuǎn)換運(yùn)動。
已由于各種原因創(chuàng)建了SMI信號,這些原因例如CPU使用量的變化,AC適配器和電池電源之間的切換,電池壽命的降低,以及溫度變化。但是,本發(fā)明不限于此。此外,即使在用戶在Windows XP中將電源管理項(xiàng)設(shè)定成恒定模式、無模式、自適應(yīng)模式和降級模式中的任何一種作為運(yùn)行時間模式,也可以創(chuàng)建SMI信號。此外,可以刪去SMI信號產(chǎn)生的上述原因或者可以添加新的原因。如必要,SMI信號產(chǎn)生條件可以變成其它條件。
此外,在根據(jù)本發(fā)明的較佳實(shí)施例中,SMI信號旨在包括硬件生成和軟件生成的事件或中斷的至少兩種類型。因此,如上所述,信號旨在包括硬件信號,應(yīng)用生成信號和軟件信號,分組或寄存器。
在圖2所示的計算機(jī)系統(tǒng)中,嵌入控制器裝置20、PCI橋電路40、Windows XP等等可以檢查以上創(chuàng)建的事件,從而創(chuàng)建CPU速度轉(zhuǎn)換所需要或所使用的SMI信號。SMI邏輯420優(yōu)選執(zhí)行對應(yīng)于以上創(chuàng)建的SMI信號的SMI服務(wù)操作,且現(xiàn)在將描述SMI邏輯420的操作。
根據(jù)本發(fā)明的CPU速度轉(zhuǎn)換控制方法的實(shí)施例可以應(yīng)用于諸如具有圖2所示配置的筆記本計算機(jī)的計算機(jī)系統(tǒng)中。假如總線主控器裝置處于活動狀態(tài),諸如SMI邏輯420的SMI控制就可以取消CPU速度轉(zhuǎn)換所需的指定控制操作,并在指定時間以規(guī)則的時間間隔創(chuàng)建CPU速度轉(zhuǎn)換所需的SMI信號(例如,通過監(jiān)視時鐘SMI信號或嵌入控制器SMI信號)。
SMI邏輯420可以重新檢查總線主控器裝置是否處于活動狀態(tài)(例如,通過參考周期性創(chuàng)建的監(jiān)視時鐘SMI或嵌入控制器SMI信號)。如果總線主控器裝置不處于活動狀態(tài),則隨后執(zhí)行CPU速度轉(zhuǎn)換操作。
圖3和4是示出根據(jù)本發(fā)明實(shí)施例的CPU速度轉(zhuǎn)換控制方法的流程圖。圖3-4的CPU速度轉(zhuǎn)換控制方法的實(shí)施例可以應(yīng)用于圖2的便攜式計算機(jī),并將用該便攜式計算機(jī)進(jìn)行描述。但是,本發(fā)明不限于此。
如圖3所示,在過程開始后,如果在步驟S10處創(chuàng)建SMI信號,則圖2的筆記本計算機(jī)中的系統(tǒng)BIOS可以在步驟S11處識別為什么創(chuàng)建SMI信號(例如,SMI信號產(chǎn)生的原因)。如果確定在步驟S12處為了CPU10速度轉(zhuǎn)換創(chuàng)建SMI信號,則系統(tǒng)BIOS可以在步驟S14處確定總線主控器裝置30是否處于活動狀態(tài)。
可以為各種原因創(chuàng)建SMI信號,例如CPU使用量變化,AC適配器和電池電源之間的切換,電池壽命的降低,溫度變化等等。此外,在用戶在Windows XP中將電源管理項(xiàng)設(shè)定成恒定模式、無模式、自適應(yīng)模式和降級模式中的任何一種作為運(yùn)行時間模式的情況中,也可以創(chuàng)建SMI信號。此外,也可以刪去SMI信號產(chǎn)生的上述原因或者可以添加新原因。如必要,也可以將SMI信號產(chǎn)生條件變成其它條件。
如果在步驟S12中確定為CPU10的速度轉(zhuǎn)換而創(chuàng)建SMI信號,則系統(tǒng)BIOS可以確定總線主控器裝置30是否處于活動狀態(tài)中,例如通過用PCI橋電路40中包含的總線控制器(未示出)的判定器檢查監(jiān)控系統(tǒng)中包含的單個系統(tǒng)裝置的活動狀態(tài)的結(jié)果。
如果在步驟S14處確定總線主控器裝置不在活動狀態(tài)中,則在步驟S15處系統(tǒng)BIOS可以將轉(zhuǎn)換標(biāo)記設(shè)定為表示轉(zhuǎn)換成功的指定值,并在步驟S16處提高或降低CPU10的速度。在這種情況中,也可以使用Windows XP的本地處理器性能控制(Native Processor Performance Control)執(zhí)行CPU速度轉(zhuǎn)換。
此后,系統(tǒng)BIOS可以在步驟S17處確定是否正常地執(zhí)行了CPU10的速度控制操作。如果已異常地執(zhí)行了CPU10的速度控制操作,則系統(tǒng)BIOS可以在步驟S18處將轉(zhuǎn)換標(biāo)記設(shè)定為表示轉(zhuǎn)換失敗的指定值,并在步驟S19處終止SMI服務(wù)操作。系統(tǒng)BIOS可以重復(fù)上述操作直到在步驟S20處接收到系統(tǒng)關(guān)閉命令。
如果在步驟S14處確定總線主控器裝置處于活動狀態(tài)中,則在步驟S50處系統(tǒng)BIOS可以禁用之前設(shè)置的監(jiān)視時鐘(例如,具有2毫秒的周期)SMI,并可以在步驟S51處重新將CPU速度轉(zhuǎn)換所需的SMI信號的創(chuàng)建周期設(shè)置成預(yù)定周期(例如250毫秒的周期)。
通常,監(jiān)視時鐘是用于相隔預(yù)定時間(例如,2毫秒)創(chuàng)建中斷信號的定時裝置。因此,系統(tǒng)BIOS可以在步驟S52處啟用用于CPU速度轉(zhuǎn)換的監(jiān)視時鐘以便相隔新的預(yù)定時間(例如250毫秒)創(chuàng)建中斷信號,并在步驟52處終止當(dāng)前執(zhí)行的SMI服務(wù)。此后,可以相隔250毫秒的上述時間創(chuàng)建監(jiān)視時鐘SMI信號,從而重復(fù)執(zhí)行SMI服務(wù)操作。
系統(tǒng)BIOS可以在步驟S11處辨別SMI產(chǎn)生的原因。如果在步驟S11處確定由新設(shè)置的監(jiān)視時鐘創(chuàng)建SMI信號以便在步驟S12和步驟S60處執(zhí)行CPU速度轉(zhuǎn)換,則系統(tǒng)BIOS可以在步驟S61處禁用監(jiān)視時鐘SMI,并執(zhí)行在步驟S14處確定總線主控器裝置是否處于活動狀態(tài)所需的后續(xù)操作。如果SMI信號與由CPU速度轉(zhuǎn)換所需的監(jiān)視時鐘創(chuàng)建的以上SMI無關(guān)系,則系統(tǒng)BIOS優(yōu)選在步驟S13處執(zhí)行相應(yīng)的SMI處理操作。
在步驟S61中,監(jiān)視時鐘和監(jiān)視時鐘引起的其它中斷(例如,SMI)或操作優(yōu)選被禁用以防止計算機(jī)系統(tǒng)錯亂。換句話說,在重復(fù)地嘗試CPU速度轉(zhuǎn)換期間,監(jiān)視時鐘操作被暫停以減少多重操作的可能性,多重操作不能被精確地提供。
同時,如果在執(zhí)行步驟S61后總線主控器裝置仍處于活動狀態(tài),系統(tǒng)BIOS可以取消CPU10的速度轉(zhuǎn)換操作以防止計算機(jī)系統(tǒng)錯亂,并在步驟S50-S52處控制監(jiān)視時鐘來以預(yù)定時間間隔創(chuàng)建CPU速度轉(zhuǎn)換重試所需的SMI信號。另外,如果在執(zhí)行了步驟S61后總線主控器裝置不在活動狀態(tài)中,則系統(tǒng)BIOS可以正常地執(zhí)行CPU速度轉(zhuǎn)換步驟S15-S18。
此后,系統(tǒng)BIOS在步驟S19處終止SMI服務(wù)操作,并可以重復(fù)上述連續(xù)步驟直到在步驟S20處接收到系統(tǒng)關(guān)閉命令。在這種情況中,對于已為CPU速度轉(zhuǎn)換創(chuàng)建的SMI信號,系統(tǒng)BIOS50中包含的SMI處理機(jī)優(yōu)選識別SMI產(chǎn)生的原因,執(zhí)行圖2所示的系統(tǒng)ROM50中包含的SMI服務(wù)#2例程,或跳轉(zhuǎn)到存儲在系統(tǒng)ROM50中與PCI橋電路40的SMI邏輯420中包含的SMI服務(wù)#1例程有關(guān)的指定例程并可以執(zhí)行轉(zhuǎn)移例程。
圖5和6是示出根據(jù)本發(fā)明另一個實(shí)施例的CPU速度轉(zhuǎn)換控制方法的流程圖。圖5-6的CPU速度轉(zhuǎn)換控制方法的實(shí)施例可以應(yīng)用于圖2的便攜式計算機(jī)中并將使用圖2的便攜式計算機(jī)進(jìn)行描述。如圖5-6所示,如果圖2的PCI橋電路40不包含以上的監(jiān)視時鐘功能,則系統(tǒng)BIOS可以用嵌入控制器裝置20創(chuàng)建的SMI信號執(zhí)行以上識別的CPU速度轉(zhuǎn)換操作。
如圖5所示,在過程開始后如果在步驟S10處創(chuàng)建SMI信號,則筆記本計算機(jī)中的系統(tǒng)BIOS可以在步驟S11處識別SMI信號產(chǎn)生的原因。如果在步驟S12處確定為了CPU10速度轉(zhuǎn)換創(chuàng)建了SMI信號,則系統(tǒng)BIOS可以在步驟S14處確定總線主控器裝置30是否處于活動狀態(tài)。在這種情況中,確定總線主控器裝置30是否處于活動狀態(tài)和SMI信號產(chǎn)生的原因的方法優(yōu)選類似于圖3-4的實(shí)施例。
如果在步驟S14處確定總線主控器裝置30不處于活動狀態(tài),則系統(tǒng)BIOS可以在步驟S15處將轉(zhuǎn)換標(biāo)記設(shè)置成表示轉(zhuǎn)換成功的指定值,并在步驟S16處增加或降低CPU10的速度。
此后,系統(tǒng)BIOS可以在步驟S17處確定是否正常地執(zhí)行了CPU10的速度控制操作。如果異常地執(zhí)行了CPU10的速度控制操作,則系統(tǒng)BIOS可以在步驟S18處將轉(zhuǎn)換標(biāo)記設(shè)置成表示轉(zhuǎn)換失敗的指定值,并在步驟S19處終止SMI服務(wù)操作。系統(tǒng)BIOS可以重復(fù)上述步驟直到在步驟S20處接收到系統(tǒng)關(guān)閉命令。
如果在步驟S14處確定總線主控器裝置30處于活動狀態(tài),則系統(tǒng)BIOS可以在步驟S70處禁用之前設(shè)置的嵌入控制器SMI,并在步驟S71處將指定命令輸出到嵌入控制器裝置,該命令用于將CPU速度轉(zhuǎn)換所需的SMI信號的創(chuàng)建周期新設(shè)置成預(yù)定周期(例如,250毫秒的周期)。在這種情況中,系統(tǒng)BIOS可以在步驟S71處使用圖2所示的嵌入控制器裝置20中包含的內(nèi)部計時器將嵌入控制器SMI產(chǎn)生的周期新設(shè)置成預(yù)定周期(例如,250毫秒)。
為了以新的預(yù)定時間間隔(例如,250毫秒)創(chuàng)建中斷信號,系統(tǒng)BIOS可以在步驟S72處啟用CPU速度轉(zhuǎn)換所需的嵌入控制器SMI信號,并且(優(yōu)選同時)在步驟S19處終止當(dāng)前執(zhí)行的SMI服務(wù)。此后,可以以上述預(yù)定的時間間隔(例如,250毫秒)創(chuàng)建嵌入控制SMI信號,從而重復(fù)地執(zhí)行SMI服務(wù)操作。
如果在圖6所示的步驟S80處檢測嵌入控制器SMI信號,系統(tǒng)BIOS可以在步驟S81處禁用嵌入控制器SMI,并在步驟S82處識別用于SMI信號產(chǎn)生的原因。如果在步驟S83處確定為了CPU速度轉(zhuǎn)換創(chuàng)建嵌入控制器SMI信號,則系統(tǒng)BIOS可以重復(fù)地執(zhí)行連續(xù)操作,該連續(xù)操作是在步驟S14處確定總線主控器裝置是否處于活動狀態(tài)所需的。但是,如果嵌入控制器SMI信號與CPU速度轉(zhuǎn)換沒有聯(lián)系,則系統(tǒng)BIOS優(yōu)選在步驟S84處執(zhí)行相應(yīng)的嵌入控制器SMI處理操作,并在步驟S72處啟用嵌入控制器SMI。
在步驟S81中,嵌入控制器和嵌入控制器引起的其它中斷(例如SMI)或操作優(yōu)選被禁用,以防止計算機(jī)系統(tǒng)錯亂。換句話說,在重復(fù)嘗試CPU速度轉(zhuǎn)換期間,嵌入控制器操作被暫停以降低多重操作的可能性,其中多重操作不能精確地提供。
如果在步驟S14處確定總線主控器裝置處于活動狀態(tài),則系統(tǒng)BIOS可以取消CPU10的速度轉(zhuǎn)換操作以便防止計算機(jī)系統(tǒng)錯亂,并控制嵌入控制器以便以預(yù)定時間間隔創(chuàng)建CPU速度轉(zhuǎn)換重試所需的SMI信號,步驟S70-S72。另外,如果總線主控器裝置不處于活動狀態(tài),則系統(tǒng)BIOS可以正常地執(zhí)行CPU速度轉(zhuǎn)換步驟S15-S18。
此后,系統(tǒng)BIOS在步驟S19處終止SMI服務(wù)操作,并可以重復(fù)上述連續(xù)步驟直到在步驟S20處接收到系統(tǒng)關(guān)閉命令。在與圖3和4類似的用于為CPU速度轉(zhuǎn)換創(chuàng)建了SMI信號的過程中,系統(tǒng)BIOS50中包含的SMI處理機(jī)優(yōu)選識別SMI產(chǎn)生的原因,執(zhí)行圖2所示的系統(tǒng)ROM50中包含的SMI服務(wù)#2例程,或者可以轉(zhuǎn)移到與PCI橋電路40的SMI邏輯420中包含的SMI服務(wù)#1有關(guān)的系統(tǒng)ROM50中存儲的指定例程并可以執(zhí)行轉(zhuǎn)移例程。
如上所述,根據(jù)本發(fā)明用于控制CPU速度轉(zhuǎn)換的裝置和方法的實(shí)施例具有各種優(yōu)點(diǎn)。如果總線主控器裝置處于活動狀態(tài),用于控制CPU速度轉(zhuǎn)換的裝置和方法實(shí)施例可以取消CPU速度轉(zhuǎn)換所需的指定控制操作,以減少或防止計算機(jī)錯亂。此外,實(shí)施例可以例如以預(yù)定時間間隔重試CPU速度轉(zhuǎn)移控制操作,從而可以建立正常的CPU速度轉(zhuǎn)換。
前述實(shí)施例和優(yōu)點(diǎn)僅僅是實(shí)例性的且不構(gòu)成本發(fā)明的限制。本教導(dǎo)可易于應(yīng)用到其它類型的裝置中。本發(fā)明的描述旨在是說明性的,且不限制權(quán)利要求書的范圍。許多可選方案、修改和變化將是本技術(shù)領(lǐng)域內(nèi)熟練技術(shù)人員顯而易見的。在權(quán)利要求書中,裝置加功能短語旨在覆蓋執(zhí)行所述功能時這里所描述的結(jié)構(gòu)而不僅是結(jié)構(gòu)等效物還是等效結(jié)構(gòu)。
權(quán)利要求
1.一種用于控制CPU速度轉(zhuǎn)換的方法,其特征在于,包括接收系統(tǒng)管理中斷(SMI)信號;確定當(dāng)SMI信號是用于執(zhí)行CPU速度轉(zhuǎn)換時總線主控器裝置是否處于活動狀態(tài)中;以及當(dāng)總線主控器裝置處于活動狀態(tài)時取消CPU速度轉(zhuǎn)換操作并以規(guī)定時間間隔產(chǎn)生重試SMI信號。
2.如權(quán)利要求1所述的方法,其特征在于,包括當(dāng)總線主控器裝置不在活動狀態(tài)中時執(zhí)行CPU速度轉(zhuǎn)換操作。
3.如權(quán)利要求1所述的方法,其特征在于,所述以規(guī)定時間間隔產(chǎn)生的重試SMI信號是重試CPU速度轉(zhuǎn)換操作的監(jiān)視時鐘SMI信號和嵌入控制SMI信號之一。
4.如權(quán)利要求3所述的方法,其特征在于,所述確定步驟包括當(dāng)接收到的SMI信號是重試CPU轉(zhuǎn)換操作的監(jiān)視時鐘SMI信號時禁止附加監(jiān)視時鐘SMI信號的發(fā)生;以及重新確定總線主控器裝置是否處于活動狀態(tài)。
5.如權(quán)利要求3所述的方法,其特征在于,所述確定步驟包括當(dāng)接收到的SMI信號是重試CPU速度轉(zhuǎn)換操作的嵌入控制器SMI信號時禁止附加嵌入控制器SMI信號的發(fā)生;以及重新確定總線主控器裝置是否處于活動狀態(tài)。
6.如權(quán)利要求3所述的方法,其特征在于,所述確定步驟包括當(dāng)接收到的SMI信號不是用于CPU速度轉(zhuǎn)換的SMI信號、重試CPU速度轉(zhuǎn)換操作的監(jiān)視時鐘SMI信號或者重試CPU速度轉(zhuǎn)換操作的嵌入控制器SMI時,執(zhí)行與接收到的SMI信號相對應(yīng)的指定操作。
7.如權(quán)利要求1所述的方法,其特征在于,所述SMI信號是硬件生成的信號和應(yīng)用程序生成的信號中的至少一個。
8.一種便攜式計算機(jī),其特征在于,包括CPU,它被配置成以至少兩種速度工作;控制器,它被配置成執(zhí)行指定操作以便在CPU的至少兩種速度之間轉(zhuǎn)換;中斷生成原因識別裝置,它用于識別中斷信號的生成原因;活動狀態(tài)檢查裝置,它用于檢查預(yù)定裝置的活動狀態(tài);以及中斷產(chǎn)生裝置,它用于在中斷生成原因識別裝置確定第一中斷信號被創(chuàng)建用于CPU速度轉(zhuǎn)換且活動狀態(tài)檢查裝置確定所述預(yù)定裝置處于活動狀態(tài)時,創(chuàng)建重試CPU速度轉(zhuǎn)換的指定操作的第二中斷信號。
9.如權(quán)利要求8所述的便攜式計算機(jī),其特征在于,所述用于CPU速度轉(zhuǎn)換的中斷信號響應(yīng)于CPU使用量的變化、在交流適配器和電池電源之間的切換、電池壽命的降低、用戶的運(yùn)行時間設(shè)置以及溫度變化。
10.如權(quán)利要求8所述的便攜式計算機(jī),其特征在于,所述中斷生成裝置使用系統(tǒng)中包含的預(yù)定計時器創(chuàng)建第二中斷信號。
11.如權(quán)利要求10所述的便攜式計算機(jī),其特征在于,所述系統(tǒng)中包含的預(yù)定計時器是監(jiān)視時鐘或者嵌入控制器的內(nèi)部計時器。
12.如權(quán)利要求10所述的便攜式計算機(jī),其特征在于,以系統(tǒng)BIOS確定的預(yù)定時間間隔創(chuàng)建所述第二中斷信號。
13.如權(quán)利要求8所述的便攜式計算機(jī),其特征在于,所述預(yù)定裝置是總線主控器裝置。
14.如權(quán)利要求8所述的便攜式計算機(jī),其特征在于,反復(fù)產(chǎn)生所述第二中斷信號直到CPU轉(zhuǎn)換被執(zhí)行,且其中便攜式計算機(jī)是筆記本計算機(jī)。
15.一種裝置,其特征在于,包括中斷接收器,用于接收中斷信號;以及中斷發(fā)生器,它耦合到所述中斷接收器并被配置成在接收到用于CPU速度轉(zhuǎn)換的第一中斷信號且總線主控器裝置處于活動狀態(tài)時產(chǎn)生重試CPU速度轉(zhuǎn)換所需的指定操作的第二中斷信號。
16.如權(quán)利要求15所述的裝置,其特征在于,所述中斷發(fā)生器使用系統(tǒng)中包含的預(yù)定計時器創(chuàng)建第二中斷信號。
17.如權(quán)利要求16所述的裝置,其特征在于,所述系統(tǒng)中包含的預(yù)定計時器是監(jiān)視時鐘和嵌入控制器的內(nèi)部計時器中的至少一個。
18.如權(quán)利要求16所述的裝置,其特征在于,以系統(tǒng)BIOS確定的預(yù)定時間間隔創(chuàng)建所述第二中斷信號。
19.如權(quán)利要求15所述的裝置,其特征在于,所述裝置在筆記本計算機(jī)中。
20.如權(quán)利要求15所述的裝置,其特征在于,所述中斷信號是硬件中斷和軟件中斷之一。
21.一種包括機(jī)器可讀存儲介質(zhì)的制品,所述介質(zhì)含有用于控制計算機(jī)系統(tǒng)中CPU速度轉(zhuǎn)換的指令,當(dāng)所述指令在計算機(jī)系統(tǒng)中執(zhí)行時,使得該計算機(jī)系統(tǒng)接收系統(tǒng)管理中斷(SMI)信號;當(dāng)SMI信號是第一SMI CPU速度轉(zhuǎn)換信號時,確定總線主控器裝置是否處于活動狀態(tài)中;以及當(dāng)總線主控器裝置處于活動狀態(tài)中時取消CPU速度轉(zhuǎn)換操作并以預(yù)定間隔產(chǎn)生事件。
22.如權(quán)利要求21所述的制品,其特征在于,所述事件是第二SMI CPU速度轉(zhuǎn)換信號。
23.如權(quán)利要求22所述的制品,其特征在于,所述事件是硬件中斷和軟件中斷之一。
全文摘要
一種用于控制CPU速度轉(zhuǎn)換的裝置和方法可以使用SMI(系統(tǒng)管理中斷)信號執(zhí)行諸如筆記本計算機(jī)的計算機(jī)的CPU速度轉(zhuǎn)換。但是,如果總線主控器裝置處于活動狀態(tài)中,則取消CPU速度轉(zhuǎn)換所需的控制操作,同時以預(yù)定間隔創(chuàng)建一事件信號(例如,監(jiān)視SMI或嵌入控制器SMI)并重新檢查總線主控器裝置活動狀態(tài)。因此,當(dāng)總線主控器裝置處于活動狀態(tài)中時,取消CPU速度轉(zhuǎn)換的控制操作以防止系統(tǒng)錯亂,且周期性地重試CPU速度轉(zhuǎn)換控制操作以增加正常CPU速度轉(zhuǎn)換的可能性或者可以建立正常CPU速度轉(zhuǎn)換。
文檔編號G06F1/32GK1577289SQ200410063649
公開日2005年2月9日 申請日期2004年7月9日 優(yōu)先權(quán)日2003年7月14日
發(fā)明者姜聲哲 申請人:Lg電子株式會社