專利名稱:喚醒計算機的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機應(yīng)用領(lǐng)域,具體涉及一種喚醒計算機的方法和裝置,用于實現(xiàn)計算機掉電后,再恢復(fù)供電的時候喚醒計算機。
背景技術(shù):
休眠喚醒是計算機應(yīng)用領(lǐng)域內(nèi)的一種技術(shù),通過休眠喚醒,可以有效的節(jié)省電能的消耗,現(xiàn)有的主機板上都有用于休眠喚醒的信號,計算機可以通過檢查這些信號,獲得主機的狀態(tài)信息,實現(xiàn)喚醒。通過利用休眠喚醒的技術(shù),計算機可以實現(xiàn)遠程喚醒,遙控開機,鍵盤開機等等。
通常,計算機的基本狀態(tài)有下面幾種G0/S0Full On狀態(tài)。此狀態(tài)下,計算機開機并且cpu運行。
G1/S1Stop-Grant狀態(tài)。此狀態(tài)下cpu不執(zhí)行任何指令。
G1/S3Suspend-To-Ram狀態(tài)。此狀態(tài)下,系統(tǒng)的重要寄存器的設(shè)置被保存到內(nèi)存中,但是主機電源被關(guān)閉,僅有內(nèi)存的供電被維持。
G1/S4Suspend-To-Disk狀態(tài)。此狀態(tài)下,除了恢復(fù)所需的設(shè)置供電外,所有的供電都被切斷。
G2/S5Soft Off狀態(tài)。此狀態(tài)下,計算機處在關(guān)機狀態(tài),除了重啟所需的設(shè)置供電外,計算機電源關(guān)閉。
G3Mechanical Off狀態(tài)。此時,計算機處在掉電狀態(tài),除了主板上的電池供電外,外部供電被切斷。
對于G0,G1/S1,G1/S3,G1/S4,G2/S5這幾種狀態(tài),都已經(jīng)有了成熟的喚醒方案,如視窗就實現(xiàn)了這些功能。目前尚未有公開的技術(shù)方案公開在G3狀態(tài)的喚醒。
G3狀態(tài)對于計算機來說,是一種完全掉電的狀態(tài),除了主板上的電池外,計算機再也沒有外接的供電;通常,G3狀態(tài)就是切斷了計算機電源的狀態(tài)。在G3狀態(tài),很多用于休眠喚醒的寄存器都丟失了保存的信息,這樣一來,當(dāng)供電恢復(fù)后,計算機就無法實現(xiàn)喚醒,只能通過機箱面板的開機按鍵來進行開機。
比如在臺式機和服務(wù)器中使用RI(Ring Indicate,通過modem接口發(fā)出,可以實現(xiàn)modem喚醒)信號和PME(PCI Power Management Event,通過PCI設(shè)備發(fā)出,可以用于網(wǎng)卡喚醒)信號進行遠程喚醒,當(dāng)計算機處在s1-s5狀態(tài)的時候,遠程喚醒是可以實現(xiàn)的。但是當(dāng)由于停電或是其他事件發(fā)生導(dǎo)致計算機掉電的時候,即使再次接通電源,也無法實現(xiàn)計算機的遠程喚醒功能,只有通過計算機的power鍵重新開機,才能恢復(fù)遠程喚醒的功能。
申請?zhí)枮?0108358.5的授權(quán)中國專利公開了一種計算機斷電現(xiàn)場信息保存和恢復(fù)方法,可以在交流供電中斷時自動將現(xiàn)場信息都存入硬磁盤保存,待供電正常后,又自動恢復(fù)現(xiàn)場,計算機可接著斷電前的狀態(tài)繼續(xù)運行,但必需在計算機中加入新的硬件。
申請?zhí)枮?7103669.1的授權(quán)中國專利公開了一種自動設(shè)置CPU參數(shù)值的個人計算機,計算機包括BIOS程序模塊和邏輯電路構(gòu)成的系統(tǒng),該系統(tǒng)可以直接重新設(shè)置計算機主板的預(yù)定參數(shù)。中國專利申請99111230.X公開了一種系統(tǒng)開機多重選擇的方法,利用BIOS程序,實現(xiàn)開機多重選擇。但這兩個專利均未公開斷電后再加電后恢復(fù)計算機狀態(tài)的方法和裝置。
微軟的視窗系統(tǒng),在正常關(guān)機情況下,下次開機可自動恢復(fù)原來狀態(tài),但突然斷電下次開機也不能恢復(fù)原來狀態(tài)。
這些現(xiàn)有技術(shù),沒有解決在G3狀態(tài)很多用于休眠喚醒的寄存器都丟失了保存的信息,因此,供電恢復(fù)后,計算機就無法實現(xiàn)喚醒,而只能通過power鍵來進行開機到原始狀態(tài)。
發(fā)明內(nèi)容
為了克服現(xiàn)有技術(shù)的上述缺點,本發(fā)明提供一種喚醒計算機的方法,其中,在喚醒計算機時,需要恢復(fù)計算機斷電前的狀態(tài),所述方法包括步驟所述計算機自動開機;判斷計算機是否進入過失電狀態(tài),如果計算機沒有進入過失電狀態(tài),則檢查寄存器的設(shè)置,確定是否需要重新置位,如果需要重新置位,則進行置位的動作以保證計算機在失電狀態(tài)下,當(dāng)電源重新接通后,能夠自動開機。然后計算機繼續(xù)執(zhí)行后續(xù)的開機過程;如果計算機進入過失電狀態(tài),則初始化能夠?qū)崿F(xiàn)計算機喚醒的寄存器為可被喚醒的狀態(tài);初始化與實現(xiàn)所述喚醒預(yù)定的信號;然后關(guān)閉計算機。
可選地,所述讀取所述計算機中存儲有計算機斷電前供電狀態(tài)的寄存器的內(nèi)容的步驟還包括步驟讀取PCR1(頁面控制寄存器1)的狀態(tài)。
優(yōu)選地,所述讀取所述計算機中存儲有計算機斷電前狀態(tài)的寄存器的內(nèi)容的步驟還包括步驟讀取所述PCR1的第5bit(位)。
可選地,所述判斷計算機是否正常斷電的步驟包括判斷所述PCR1的第5bit指示為二進制0或1。
優(yōu)選地,所述初始化實現(xiàn)計算機休眠狀態(tài)下喚醒所述計算機的寄存器的步驟還包括步驟初始化SLP_EN(休眠喚醒允許,只有設(shè)置了該寄存器休眠才能被喚醒)寄存器。
可選地,所述初始化與實現(xiàn)所述喚醒預(yù)定的信號的步驟包括初始化RI信號,及初始化PME信號。
優(yōu)選地,該方法還包括步驟置驅(qū)動cpu風(fēng)扇信號的占空比設(shè)為0。
可選地,所述檢查預(yù)定寄存器的狀態(tài)的步驟包括檢查after G3 EN(該位用于設(shè)置計算機能夠在G3狀態(tài)供電恢復(fù)后,自動開機)位,PCR2(該位用于設(shè)置計算機能夠在G3狀態(tài)供電恢復(fù)后,自動開機)的狀態(tài)值。(同時設(shè)置這兩個寄存器的作用是采用兩種方法雙重保證計算機在供電后可以自動開機)優(yōu)選地,所述置位的步驟包括,如果afterG3_EN bit不為0,置該位為0;如果PCR2的第5bit不為1then置該位為1。
可選地,該方法還包括步驟運行bios的初始化程序,進入用戶選定的操作系統(tǒng)。
本發(fā)明還提供一種喚醒計算機的裝置,其中,在喚醒計算機時,需要恢復(fù)計算機斷電前的狀態(tài),所述裝置包括讀取裝置,用于讀取所述計算機中存儲有計算機斷電前供電狀態(tài)的寄存器的內(nèi)容;判斷裝置,耦合到所述讀取裝置,用于判斷計算機是否正常斷電;初始化裝置,用于在計算機為正常斷電時,初始化實現(xiàn)計算機休眠狀態(tài)下喚醒所述計算機的寄存器;并初始化與實現(xiàn)所述喚醒預(yù)定的信號;檢查與置位裝置,用于在所述計算機在失電狀態(tài)下,當(dāng)供電恢復(fù)自動開機后,檢查預(yù)定寄存器的狀態(tài),確定是否需要重新置位,在需要重新置位時,置位后進入開機的后續(xù)過程,在不需要重新置位時,直接進入開機后的后續(xù)過程。
可選地,其中,所述讀取裝置包括讀取PCR1(APM/PME控制寄存器1,他們的作用是記錄和控制計算機的電源管理)的狀態(tài)的PCR1裝置;所述初始化裝置包括初始化SLP_EN寄存器的裝置,及初始化RI信號和初始化PME信號的裝置;所述檢查與置位裝置包括檢查after G3 EN位和PCR2(APM/PME控制寄存器1,他們的作用是記錄和控制計算機的電源管理)的狀態(tài)值的檢查裝置及如果afterG3_EN bit不為0置該位為0的第一置位裝置,和如果PCR2的第5bit不為1,置該位為1的第二置位裝置。
優(yōu)選地,所述PCR1裝置包括提取所述PCR1的第5bit(位)的裝置;所述判斷裝置包括比較器,用于判斷所述PCR1的第5bit為二進制0或1。
利用本發(fā)明,能夠?qū)崿F(xiàn)系統(tǒng)掉電后,再次接通電源系統(tǒng)自動初始化相應(yīng)的寄存器以及狀態(tài)標(biāo)志,從而能夠方便的實現(xiàn)在供電恢復(fù)后計算機的恢復(fù),也能夠?qū)崿F(xiàn)鍵盤開機、遙控開機、網(wǎng)絡(luò)喚醒等計算機功能。擴展了計算機的應(yīng)用。
附圖的簡要描述
圖1描繪了本發(fā)明的實施方案中的喚醒計算機的方法的流程圖;圖2描繪了圖1中的喚醒計算機的方法的流程圖的狀態(tài)轉(zhuǎn)換框圖;圖3描繪了本發(fā)明實施例的初始化的流程圖,詳細描述了圖1中本發(fā)明的初始化的步驟50。
具體實施例為了使本領(lǐng)域技術(shù)人員了解和實施本發(fā)明,現(xiàn)結(jié)合實施例參照附圖描繪本發(fā)明。
因為在現(xiàn)有技術(shù)中,G2/S5狀態(tài)下的喚醒是可以實現(xiàn)的,所以只要能在G3狀態(tài)下恢復(fù)供電后,將計算機初始化為G2/S5狀態(tài)就可以是現(xiàn)G3狀態(tài)的喚醒。因此計算機初始化成S5狀態(tài),需要恢復(fù)幾個重要寄存器的值。所以解決G3問題的關(guān)鍵是如何恢復(fù)寄存器的值。
本發(fā)明通過讓計算機bios(基本輸入輸出系統(tǒng))運行初始化程序來完成重要寄存器的置位以及將計算機狀態(tài)初始化為S5的工作。因為重要寄存器的置位必須通過程序來進行,而程序的運行要求cpu(中央處理器)處于運行狀態(tài),所以初始化程序運行必須要求計算機開機。而這個開機的過程是置位寄存器,所以這個開機的過程希望是用戶不可見的,希望是隱蔽的。本發(fā)明中將初始化程序的運行放在了VGA初始化之前,并且運行完畢后,bios發(fā)出關(guān)機指令讓計算機關(guān)閉。這樣以來,這個開機的過程就變成了用戶無法察覺的過程,對他們來說,計算機好像并沒有開機。實際上,本發(fā)明的方法的運行也可放在VGA初始化之后,對本發(fā)明的方法的功能無影響。
本發(fā)明的計算機在G3狀態(tài)下恢復(fù)供電后的自動開機的實現(xiàn)的方法和裝置,需要計算機主板具有如下兩個功能之一1、主板的南橋提供相應(yīng)的寄存器,該寄存器支持讀出/寫入,同時由主板電池供電,在s1,s3,s4,s5,power off(關(guān)機)狀態(tài)下值不會丟失,通過置位該寄存器可以實現(xiàn)當(dāng)供電恢復(fù)后計算機自動開機。
2、主板的SUPER I/O提供相應(yīng)的寄存器,該寄存器支持讀出/寫入,同時由主板電池供電,在s1,s3,s4,s5,power off狀態(tài)下值不會丟失,通過置位該寄存器可以實現(xiàn)當(dāng)供電恢復(fù)后SUPER I/O發(fā)出開機信號,令計算機自動開機。
通常,目前的主板(INTEL或SIS)都有這兩種寄存器,具有這些功能,因此,可以實現(xiàn)本發(fā)明。
在具體實施中,為了保證供電恢復(fù)后系統(tǒng)自動開機能夠順利實現(xiàn),同時使用了為主板南橋寄存器和super I/O寄存器置位的方法。在實施例中,采用Intel的ich5和ITE的8712F芯片,下面將結(jié)合附圖描述使用這些芯片時,供電恢復(fù)后的自動開機。
首先,參照圖1,圖1描繪了本發(fā)明的實施方案中的喚醒計算機的方法的流程圖。首先在步驟10,BIOS設(shè)置主板寄存器或super I/C寄存器。在intel的ich5主板中,有一組power management(電源管理)寄存器組,在powermanagement寄存器組中,GEN_PMCON_3(General PM Configuration 3)(通用電源管理配置3)寄存器是一個8位的寄存器,它支持讀出/寫入,是由主板電池供電,在s1,s3,s4,s5,G3狀態(tài)下其值不會丟失,主要應(yīng)用于ACPI,Legacy(ACPI是一種電源管理規(guī)范,實現(xiàn)有計算機必須遵守的供電管理規(guī)范)。該寄存器的第1bit(位),該寄存器的第0bit是AFTERG3_EN(它的功能是通過設(shè)置這個寄存器實現(xiàn)失電狀態(tài)下,當(dāng)供電恢復(fù)后計算機能夠自動開機),該位用于設(shè)置當(dāng)計算機供電恢復(fù)后進入何種狀態(tài),該位為0表示供電恢復(fù)后計算機開機進入s0狀態(tài),為1表示系統(tǒng)將進入S5狀態(tài)。
在步驟20,計算機進入G3狀態(tài),然后,在步驟30,判斷計算機是否恢復(fù)供電,如果未恢復(fù),表明計算機還在G3狀態(tài),如果恢復(fù)供電,進入步驟40。
在步驟40,系統(tǒng)開機,在本發(fā)明中,通過對AfterG3_EN的0bit位置位為0,使系統(tǒng)在供電恢復(fù)后進入開機狀態(tài)。為了保證該bit的值總是為0,每次計算機正常開機的時候,都需要在bios中設(shè)置檢查程序,檢查該bit,如果它的值不是0,就將該bit的值置為0。
而在ITE(一家I/O芯片的廠商,對于其他廠商的產(chǎn)品,也有類似的寄存器,只是寄存器名稱不同而已)的8712F芯片,APC/PME(一種電源管理的規(guī)范)Control Register 2(PCR 2 Offset=F4H,Default=00H)(APC/PME控制寄存器2)其第5bit設(shè)置為1時,系統(tǒng)在G3狀態(tài)下供電恢復(fù)時會發(fā)出PSIN(一種計算機信號,在該信號發(fā)出后,計算機才能發(fā)出開機信號)信號,該信號能夠使計算機發(fā)出pwr ok信號,從而導(dǎo)致自動開機。
然后,在步驟50,運行本發(fā)明的初始化程序,將計算機的狀態(tài)設(shè)置為S5狀態(tài)。再參照圖2,圖2描繪了圖1中的喚醒計算機的方法的流程圖的狀態(tài)轉(zhuǎn)換框圖。首先,在步驟210,系統(tǒng)處于G3狀態(tài),在供電恢復(fù)后,在步驟220,運行本發(fā)明的初始化程序,使系統(tǒng)在步驟230進入S5狀態(tài)。本發(fā)明中,為了讓該程序在運行時,用戶無法感知,所以把它放在VGA初始化之前,本發(fā)明初始化完成后,要進行關(guān)機操作。實際上,也可以放在計算機全部初始化的任何在進入S5狀態(tài)的程序前的任何位置,如開機后先執(zhí)行計算機的基本初始化,然后執(zhí)行本發(fā)明的初始化流程,使計算機進入S5狀態(tài),自動恢復(fù)計算機的運行。通常,為了判斷計算機是正常開機還是從G3狀態(tài)恢復(fù)供電后自動開機,可以利用i/o中的寄存器來完成,本發(fā)明的實施例中使用了ITE的8712F芯片,APC/PME Control Register 1(PCR 1 Offset=F2H,Default=00H)其第5bit可以存儲計算機在掉電前的供電狀態(tài),根據(jù)該位提供的信息,如果掉電前供電正常,那么計算機一定是從G3狀態(tài)恢復(fù)供電后自動開機。然后,系統(tǒng)在步驟60關(guān)機,實際上,步驟60并不一定要關(guān)機,僅表明已完成了本發(fā)明的方法。
圖3描繪了本發(fā)明實施例的初始化的流程圖,詳細描述了圖1中的步驟50的細節(jié)。首先,在步驟310,計算機開機。然后在步驟320,讀取PCR1(頁面控制寄存器1)的狀態(tài),判斷PCR1的第5bit指示計算機掉電前是否供電正常?如果正常,方法進入步驟330,將驅(qū)動cpu風(fēng)扇信號的占空比設(shè)為0,以避免風(fēng)扇轉(zhuǎn)動;然后在步驟332,初始化SLP_EN(休眠喚醒允許)寄存器,以實現(xiàn)對休眠狀態(tài)下計算機的喚醒。在步驟334,初始化RI信號,初始化PME信號,并初始化其它有關(guān)信號。(這些信號很多,主要是完成一些寄存器的復(fù)位動作,保證休眠后能夠喚醒,它們不是本發(fā)明和實施例的關(guān)鍵)最后,在步驟336,bios發(fā)出關(guān)閉計算機電源的指令,以關(guān)閉計算機電源。
如果在步驟320中,判斷計算機掉電前供電不正常,則方法轉(zhuǎn)入步驟340,檢查after G3 EN,PCR2的置位情況,如果需要重新置位,進行置位后進入步驟342,繼續(xù)執(zhí)行開機過程,運行bios的初始化程序,進入用戶選定的操作系統(tǒng)。如果不需要重新置位,直接進入步驟342繼續(xù)執(zhí)行開機過程,運行bios的初始化程序,進入用戶選定的操作系統(tǒng)。
實現(xiàn)本發(fā)明的方法在bios中用自然語言描述如下<pre listing-type="program-listing">………………….If PCR1的第5bit指示計算機掉電前供電正常then<!-- SIPO <DP n="8"> --><dp n="d8"/>{………………….;將cpu風(fēng)扇的占空比設(shè)為0(用來避免風(fēng)扇轉(zhuǎn)動);初始化SLP_EN寄存器;(用于實現(xiàn)s1-s5的喚醒)初始化RI信號;初始化PME信號;…………………;bios發(fā)出關(guān)機命令;}…………………If AfterG3_EN bit<>0then置該位置為0;If PCR2的第5bit<>1then置該位置為1;…………………VGA初始化;…………………</pre>本發(fā)明的實施例中描繪了采用具體芯片的方法,對于其他芯片組,也有類似的寄存器,因此該方法同樣適用。
在本發(fā)明中,因為主機運行初始化程序的時候,會有開機的動作,所以cpu風(fēng)扇會起轉(zhuǎn),雖然風(fēng)扇轉(zhuǎn)動的時間很短(1-2)秒,但是對用戶來說,感受不好。CPU的風(fēng)扇有三個PIN腳,一是COM腳,一是12V,另一是控制腳。為了避免風(fēng)扇在G3狀態(tài)恢復(fù)后轉(zhuǎn)動,在方案實施中,在主板上加了一組延時電路,通過延時電路將主板上的cpu fan電壓延遲1-2秒輸出。這樣以來,當(dāng)G3狀態(tài)下供電恢復(fù)后,系統(tǒng)自動開機但因為電壓延時輸出,所以cpu不會轉(zhuǎn)動。在開機的過程中,bios運行初始化程序,本方案在利用了溫控線路中通過占空比控制風(fēng)扇轉(zhuǎn)速的特性,當(dāng)占空比為0的時候,風(fēng)扇是不能轉(zhuǎn)動的。因此本方案在初始化程序中加入了一段代碼將控制腳的占空比輸出設(shè)為0,因為占空比為0,所以當(dāng)1-2秒后,即使延時到期,風(fēng)扇也不會起轉(zhuǎn)。這樣以來,利用延時電路和初始化程序控制風(fēng)扇輸出的占空比,可以很好的解決G3狀態(tài)供電恢復(fù)后,風(fēng)扇轉(zhuǎn)動的問題。
在本發(fā)明的實施例中,本發(fā)明用于喚醒計算機的裝置,包括讀取裝置,用于讀取所述計算機中存儲有計算機斷電前狀態(tài)的寄存器的內(nèi)容,在本發(fā)明中,利用軟件控制CPU和外圍邏輯電路實現(xiàn);其中包括讀取PCR1(頁面控制寄存器1)的狀態(tài)的PCR1裝置;而PCR1裝置中包括具體獲取PCR1第5位的裝置。本發(fā)明的實施例的裝置中還包括判斷裝置,耦合到所述讀取裝置,用于判斷計算機是否正常斷電;其中,包括判斷PCR1的第5位為二進制0或1的裝置,本實施例中為比較器。本發(fā)明的裝置還包括初始化裝置,用于在計算機為正常斷電時,初始化實現(xiàn)計算機休眠狀態(tài)下喚醒所述計算機的寄存器;并初始化與實現(xiàn)所述喚醒預(yù)定的信號;其中,包括初始化SLP_EN寄存器的裝置及初始化RI信號和初始化PME(處理機存儲器增強)信號的裝置;在本發(fā)明的實施例中的檢查與置位裝置,用于在所述計算機掉電前供電不正常時,檢查預(yù)定寄存器的狀態(tài),確定是否需要重新置位,在需要重新置位時,置位后進入開機的后續(xù)過程,在不需要重新置位時,直接進入開機后的后續(xù)過程。該檢查與置位裝置包括檢查after G3 EN位和PCR2的狀態(tài)值的檢查裝置及如果afterG3_EN bit不為0置該位為0的第一置位裝置,和如果PCR2的第5bit不為1,置該位為1的第二置位裝置。
為了舉例說明發(fā)明的實現(xiàn),描述了具體實施例。應(yīng)該明白,發(fā)明及其各方面的其它變化和修改對本領(lǐng)域技術(shù)人員是顯然的,發(fā)明并不限于所描述的具體實施例。因此,應(yīng)考慮包括本發(fā)明及其落入這里所公開和要求的真正實質(zhì)和基本原則范圍內(nèi)的任何/所有修改、變化或等效變換。
權(quán)利要求
1.一種喚醒計算機的方法,其中,所述計算機處于失電狀態(tài)下,當(dāng)電源重新接通后,在喚醒計算機時,需要恢復(fù)計算機到可以被喚醒的狀態(tài),所述方法包括步驟所述計算機自動開機;判斷計算機是否進入過失電狀態(tài),如果計算機沒有進入過失電狀態(tài),則檢查寄存器的設(shè)置,確定是否需要重新置位,如果需要重新置位,置位所述寄存器以保證計算機在失電狀態(tài)下,當(dāng)電源重新接通后,能夠自動開機,執(zhí)行所述開機后的后續(xù)過程,如果不需要重新置位,執(zhí)行所述開機后的后續(xù)過程;如果計算機進入過失電狀態(tài),初始化能夠?qū)崿F(xiàn)計算機喚醒的寄存器為可被喚醒的狀態(tài);初始化與實現(xiàn)所述喚醒預(yù)定的信號。
2.如權(quán)利要求1所述的方法,還包括關(guān)機的步驟。
3.如權(quán)利要求1所述的方法,其中,所述檢查寄存器的設(shè)置的步驟還包括讀取PCR1的狀態(tài)。
4.如權(quán)利要求3所述的方法,還包括步驟讀取所述PCR1的第5bit;其中,所述確定是否需要重新置位的步驟包括判斷所述PCR1的第5bit指示為二進制0或1。
5.如權(quán)利要求1所述的方法,其中,所述初始化實現(xiàn)計算機休眠狀態(tài)下喚醒所述計算機的寄存器的步驟還包括步驟初始化SLP-EN寄存器。
6.如權(quán)利要求1所述的方法,其中,所述初始化與實現(xiàn)所述喚醒預(yù)定的信號的步驟包括初始化RI信號,及初始化PME信號。
7.如權(quán)利要求1所述的方法,還包括步驟置驅(qū)動cpu風(fēng)扇信號的占空比為0。
8.如權(quán)利要求1所述的方法,其中,所述檢查寄存器的設(shè)置的步驟包括檢查after G3 EN位,PCR2的狀態(tài)值。
9.如權(quán)利要求8所述的方法,其中,所述置位的步驟包括,如果afterG3_EN bit不為0,置該位為0;如果PCR2的第5bit不為1then置該位為1。
10.如權(quán)利要求1所述的方法,還包括步驟運行bios的初始化程序,進入用戶選定的操作系統(tǒng)。
11.一種喚醒計算機的裝置,其中,在喚醒計算機時,需要恢復(fù)計算機斷電前的狀態(tài),所述裝置包括讀取裝置,用于讀取所述計算機中存儲有計算機斷電前供電狀態(tài)的寄存器的內(nèi)容;判斷裝置,耦合到所述讀取裝置,用于判斷計算機是否正常斷電;初始化裝置,用于在計算機為正常斷電時,初始化實現(xiàn)計算機S1-S5狀態(tài)下喚醒所述計算機的寄存器;并初始化與實現(xiàn)所述喚醒預(yù)定的信號;檢查與置位裝置,用于在所述計算機掉電前供電不正常時,檢查預(yù)定寄存器的狀態(tài),確定是否需要重新置位,在需要重新置位時,置位后進入開機的后續(xù)過程,在不需要重新置位時,直接進入開機后的后續(xù)過程。
12.如權(quán)利要求11所述的裝置,其中,所述讀取裝置包括讀取PCR1的狀態(tài)的PCR1裝置;所述初始化裝置包括初始化SLP_EN寄存器的裝置,及初始化RI信號和初始化PME信號的裝置;所述檢查與置位裝置包括檢查after G3 EN位和PCR2的狀態(tài)值的檢查裝置及如果afterG3_EN bit不為0置該位為0的第一置位裝置,和如果PCR2的第5bit不為1,置該位為1的第二置位裝置。
13.如權(quán)利要求12所述的裝置,其中,所述PCR1裝置包括提取所述PCR1的第5bit(位)的裝置;所述判斷裝置包括比較器,用于判斷所述PCR1的第5bit為二進制0或1。
全文摘要
本發(fā)明提供了喚醒計算機的方法和裝置。其中,在喚醒計算機時,需要恢復(fù)計算機到可以被喚醒的狀態(tài),該方法包括判斷計算機是否進入過失電狀態(tài),如果計算機沒有進入過失電狀態(tài),則檢查寄存器的設(shè)置,確定是否需要重新置位,如果需要重新置位,則進行置位的動作以保證計算機在失電狀態(tài)下,當(dāng)電源重新接通后,能夠自動開機。然后計算機繼續(xù)執(zhí)行后續(xù)的開機過程;如果計算機進入過失電狀態(tài),則初始化能夠?qū)崿F(xiàn)計算機喚醒的寄存器為可被喚醒的狀態(tài);初始化與實現(xiàn)所述喚醒預(yù)定的信號;然后關(guān)閉計算機。該裝置包括判斷裝置;初始化裝置;檢查與置位裝置。本發(fā)明實現(xiàn)了計算機在失電狀態(tài)下,當(dāng)電源重新接通后喚醒計算機。
文檔編號G06F1/32GK1490698SQ03109300
公開日2004年4月21日 申請日期2003年4月9日 優(yōu)先權(quán)日2003年4月9日
發(fā)明者李鵬, 李 鵬 申請人:聯(lián)想(北京)有限公司