專(zhuān)利名稱(chēng):睡眠狀態(tài)轉(zhuǎn)換的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及睡眠狀態(tài)轉(zhuǎn)換。
背景技術(shù):
為了在處理器系統(tǒng)中實(shí)施低功耗“睡眠”狀態(tài),英特爾(INTEL(TM))利具他公司已提出“高級(jí)配置與功率接口說(shuō)明書(shū)”(“ACPI”)。ACPI定義了操作系統(tǒng)與硬件之間的一個(gè)接口,該接口允許操作系統(tǒng)和硬件相互作用,同時(shí)允許操作系統(tǒng)和硬件的設(shè)計(jì)獨(dú)立演變。本說(shuō)明書(shū)的附錄中再現(xiàn)了于1999年2月2日發(fā)行的修訂本1.0b的ACPI說(shuō)明書(shū)中有關(guān)S1和S2睡眠狀態(tài)的描述。
RAM子系統(tǒng)也可以具有低功耗狀態(tài)。在一些RAM子系統(tǒng)中,存儲(chǔ)器控制器與使用特定協(xié)議的存儲(chǔ)器芯片進(jìn)行通信。存儲(chǔ)器控制器是一種智能設(shè)備,它在開(kāi)始從存儲(chǔ)器芯片讀取數(shù)據(jù)和將數(shù)據(jù)寫(xiě)到存儲(chǔ)器芯片這項(xiàng)正常的操作之前被初始化。在由加利福尼亞州的Mountainview的RAMBUS(TM)公司開(kāi)發(fā)的RDRAM(TM)RAM子系統(tǒng)中,存儲(chǔ)器控制器包括一個(gè)RAMBUS ASIC CELL(“RAC”),該單元控制與存儲(chǔ)器芯片的電接口,執(zhí)行多路復(fù)用和多路分解功能,并在跟存儲(chǔ)器芯片的高速專(zhuān)用串行接口與處理器所用的較低速度并行接口之間轉(zhuǎn)換數(shù)據(jù)??梢詼p少對(duì)RDRAM子系統(tǒng)的供電,以節(jié)省功率。在被斷電之后,必須重新初始化RDRAM子系統(tǒng)。
發(fā)明概述系統(tǒng)有一個(gè)具有包括喚醒狀態(tài)和睡眠狀態(tài)的多種狀態(tài)的處理器、包括一個(gè)存儲(chǔ)器控制器和存儲(chǔ)器設(shè)備的存儲(chǔ)器子系統(tǒng),以及第二存儲(chǔ)器。當(dāng)從睡眠狀態(tài)轉(zhuǎn)換為喚醒狀態(tài)時(shí),系統(tǒng)使用第二存儲(chǔ)器中的軟件來(lái)初始化存儲(chǔ)器控制器。系統(tǒng)檢測(cè)來(lái)自喚醒事件的觸發(fā),并響應(yīng)于該喚醒事件的觸發(fā)來(lái)執(zhí)行被存儲(chǔ)在第二存儲(chǔ)器中的軟件,以便初始化存儲(chǔ)器控制器,然后在初始化之后執(zhí)行第一存儲(chǔ)器以外的軟件。
本發(fā)明的另一個(gè)方面,存儲(chǔ)器子系統(tǒng)是基于RAM并且存儲(chǔ)一些或所有的操作系統(tǒng)軟件。初始化存儲(chǔ)器控制器的軟件被存儲(chǔ)在BIOS存儲(chǔ)設(shè)備中。在從喚醒狀態(tài)轉(zhuǎn)換為睡眠狀態(tài)之前,操作系統(tǒng)控制對(duì)轉(zhuǎn)換的準(zhǔn)備。
附圖簡(jiǎn)要說(shuō)明
圖1表示本發(fā)明的處理器系統(tǒng)的方框圖。
圖2是表示由圖1中的系統(tǒng)執(zhí)行的一組狀態(tài)轉(zhuǎn)換的流程圖。
圖3是表示由圖1中的系統(tǒng)執(zhí)行的到S1狀態(tài)和從S1狀態(tài)的轉(zhuǎn)換的流程圖。
圖4是表示由圖1中的系統(tǒng)執(zhí)行的到S2狀態(tài)和從S2狀態(tài)的轉(zhuǎn)換的流程圖。
圖5是表示另一種處理器系統(tǒng)的方框圖。
圖6表示另一種處理器系統(tǒng)。
詳細(xì)描述如圖1所示,處理器10被連接到存儲(chǔ)器的控制器中樞20。處理器可以是“奔騰”II型處理器、其他的通用處理器或?qū)S每刂破鳌L幚砥骺梢允枪ぷ髡尽⒆烂鎮(zhèn)€人計(jì)算機(jī)、便攜式計(jì)算機(jī)或電信、視頻或圖形設(shè)備的一部分。存儲(chǔ)器的控制器中樞20被連接到主存儲(chǔ)器30并對(duì)其加以控制。存儲(chǔ)器的控制器中樞20也處理圖形通信量,以及到和來(lái)自I/O控制器中樞的通信量。例如,主存儲(chǔ)器30可以是RAMBUS存儲(chǔ)器系統(tǒng),該系統(tǒng)包括多個(gè)存儲(chǔ)器模塊,每個(gè)模塊具有RDRAM存儲(chǔ)器芯片。單獨(dú)模塊的尺寸與標(biāo)準(zhǔn)雙列直插式存儲(chǔ)器模塊的尺寸同等。
存儲(chǔ)器的控制器中樞20與使用被分組化的(packetized)協(xié)議的主存儲(chǔ)器30相互作用。存儲(chǔ)器控制器擔(dān)任RAM總線(xiàn)與處理器10之間的翻譯員,以便處理器不需要關(guān)注RAM結(jié)構(gòu)或操作的細(xì)節(jié)。也可以采用其他的高速RAM技術(shù),這些技術(shù)使用存儲(chǔ)器的控制器來(lái)存取主存儲(chǔ)器。
存儲(chǔ)器的控制器中樞20和主存儲(chǔ)器30由存儲(chǔ)器時(shí)鐘40計(jì)時(shí)。例如,可以使用雙重相位計(jì)時(shí)按400MHZ來(lái)對(duì)主存儲(chǔ)器進(jìn)行有差別的計(jì)時(shí),以便提供800MHZ的有效的時(shí)鐘比率。處理器由處理器時(shí)鐘50來(lái)計(jì)時(shí)。非易失性存儲(chǔ)器60也經(jīng)由I/O控制器中樞55被耦合到處理器50。非易失性存儲(chǔ)器60可以是ROM、EPROM、EEPROM、有備用電池的RAM和類(lèi)似物。非易失性存儲(chǔ)器60,存儲(chǔ)基本輸入/輸出軟件(BIOS),并可包括系統(tǒng)管理模式軟件(SMM)。SMM也可以駐留在主存儲(chǔ)器中。
非易失性存儲(chǔ)器60存儲(chǔ)被用來(lái)初始化存儲(chǔ)器的控制器中樞20的初始化軟件70。如果存在的話(huà),初始化軟件70可以是BIOS的一部分或SMM軟件的一部分。在一些應(yīng)用程序中,初始化軟件可以獨(dú)立于BIOS,例如在不具有處理器10以外的BIOS軟件的系統(tǒng)中。存儲(chǔ)器的控制器中樞20包括內(nèi)部寄存器90,這些寄存器控制地址空間映射(“PAM寄存器”)。這些寄存器控制地址發(fā)生器是依賴(lài)非易失性存儲(chǔ)器60獲得指令和數(shù)據(jù),還是依賴(lài)主存儲(chǔ)器30。另一方面,PAM寄存器可以駐留在I/O控制器中樞55中或處理器中的一個(gè)分開(kāi)的阱中,以便當(dāng)處理器10被斷電時(shí),不會(huì)失去功率。顯示器或圖形控制器95被連接到處理器10。
處理器10可以包括高速緩沖存儲(chǔ)器110,以加快存儲(chǔ)器存取時(shí)間。高速緩沖存儲(chǔ)器可以在處理器芯片或封裝的內(nèi)部,也可以在外部。I/O控制器55包含一個(gè)喚醒觸發(fā)狀態(tài)機(jī)器100,以便處理從處理器以外接收到的來(lái)自喚醒事件的觸發(fā)。狀態(tài)機(jī)器100也可以駐留在存儲(chǔ)器的控制器中樞20或處理器10中。該狀態(tài)機(jī)器使處理器能夠在任何軟件開(kāi)始執(zhí)行之前的某個(gè)時(shí)間響應(yīng)于喚醒事件。
一旦系統(tǒng)運(yùn)行,系統(tǒng)就處于喚醒狀態(tài),存儲(chǔ)器的控制器中樞20被初始化,操作系統(tǒng)80的各個(gè)部分被載入主存儲(chǔ)器30,系統(tǒng)處于正常的操作狀態(tài)。
參考圖2,操作系統(tǒng)可以確定應(yīng)該節(jié)省功率,并且系統(tǒng)應(yīng)該進(jìn)入睡眠狀態(tài)??梢愿鶕?jù)例如,系統(tǒng)空閑超時(shí)、來(lái)自用戶(hù)的請(qǐng)求、來(lái)自硬件設(shè)備的請(qǐng)求,以及例如,低電池或高溫指示或來(lái)自應(yīng)用程序的請(qǐng)求來(lái)引發(fā)這種確定。
在進(jìn)入睡眠狀態(tài)之前,操作系統(tǒng)在步驟200中準(zhǔn)備轉(zhuǎn)換。這種準(zhǔn)備可以包括各種保管任務(wù)、高速緩沖存儲(chǔ)器刷新、內(nèi)容保存等。操作系統(tǒng)也可以確定哪些設(shè)備將被置于“睡眠”狀態(tài)。在將系統(tǒng)設(shè)計(jì)成使功率節(jié)省最大化的情況下,整個(gè)系統(tǒng)可以被置于睡眠狀態(tài)。在更簡(jiǎn)單的設(shè)計(jì)中,只有處理器和存儲(chǔ)器子系統(tǒng)可被置于睡眠狀態(tài),而外圍設(shè)備被充分供電或被關(guān)閉。操作系統(tǒng)也選擇理想的睡眠狀態(tài),并在睡眠狀態(tài)寄存器中設(shè)置一個(gè)或多個(gè)相應(yīng)的位。例如,ACPI說(shuō)明書(shū)包括為低等待時(shí)間返回喚醒狀態(tài)提供的S1和S2睡眠狀態(tài)。
在步驟210中,處理器轉(zhuǎn)換為睡眠狀態(tài)。實(shí)現(xiàn)該轉(zhuǎn)換的一種方法是在睡眠使能寄存器中設(shè)置相應(yīng)的位。然后,軟件或硬件處理檢測(cè)到這個(gè)位被設(shè)置,并發(fā)布睡眠信號(hào)到相應(yīng)的部件。處理器時(shí)鐘50被斷電。通過(guò)切斷設(shè)備本身的電源,或通過(guò)將引入的信號(hào)與每個(gè)芯片內(nèi)部的內(nèi)部分布線(xiàn)用電力斷開(kāi),可以實(shí)現(xiàn)斷電。例如,處理器時(shí)鐘50可以在運(yùn)行,但處理器可以用電力斷開(kāi)引入的時(shí)鐘信號(hào),所以,處理器的內(nèi)部部件沒(méi)有正在被計(jì)時(shí)。同樣,單獨(dú)的設(shè)備可以用這些設(shè)備內(nèi)部的電路來(lái)被斷電,以防止電力流向設(shè)備內(nèi)的一些或所有部件。在RDRAM系統(tǒng)中,存儲(chǔ)器的控制器中樞20、主存儲(chǔ)器30和存儲(chǔ)器時(shí)鐘40被斷電。當(dāng)主存儲(chǔ)器被斷電時(shí),其內(nèi)容并沒(méi)有失去,但主存儲(chǔ)器設(shè)備轉(zhuǎn)變?yōu)橄臉O少功率的斷電狀態(tài)。當(dāng)主存儲(chǔ)器被斷電時(shí),主存儲(chǔ)器20內(nèi)的內(nèi)部自我更新機(jī)制保存存儲(chǔ)器內(nèi)容。存儲(chǔ)器時(shí)鐘40也轉(zhuǎn)換為低功耗狀態(tài)。在低功耗狀態(tài)中,可以或可以不移動(dòng)物理功率。
在步驟220中,檢測(cè)到一個(gè)來(lái)自喚醒事件的觸發(fā)。該觸發(fā)用信號(hào)通知處理器10應(yīng)該恢復(fù)正常的操作。在一些應(yīng)用程序中,這可能是返回全速、全功率模式。在其他的應(yīng)用程序中,系統(tǒng)可能覺(jué)醒到一種更呆滯的狀態(tài),其中,處理器10可以不按全速運(yùn)行。來(lái)自喚醒事件的觸發(fā)可能由系統(tǒng)本身以外的一個(gè)來(lái)源例如,用戶(hù)按“通電”或“恢復(fù)”鍵、從調(diào)制解調(diào)器引入的調(diào)用信號(hào)或其他電話(huà)接收器生成,或者,它可能由與一天中的某個(gè)特定時(shí)間或其他某個(gè)事件例如,預(yù)定的系統(tǒng)維修相聯(lián)系的定時(shí)器生成。
響應(yīng)于被檢測(cè)到的來(lái)自喚醒事件的觸發(fā),系統(tǒng)在步驟230中初始化存儲(chǔ)器控制器。在RDRAM系統(tǒng)中,這包括初始化RAC和RDRAM核心。在初始化期間所執(zhí)行的其他功能可以是RAM總線(xiàn)驅(qū)動(dòng)器的再校準(zhǔn)、RAM總線(xiàn)時(shí)鐘的同步和存儲(chǔ)器控制器的一般重置。該初始化并不是專(zhuān)門(mén)由硬件來(lái)執(zhí)行,而是涉及執(zhí)行來(lái)自非易失性存儲(chǔ)器60的初始化軟件70。
在存儲(chǔ)器的控制器中樞20被初始化之后,控制在步驟240中從初始化軟件70被傳遞給存儲(chǔ)在主存儲(chǔ)器30中的操作系統(tǒng)80?,F(xiàn)在,操作系統(tǒng)80處理來(lái)自喚醒事件的觸發(fā)。該處理可包括恢復(fù)處理器環(huán)境、執(zhí)行快速系統(tǒng)診斷或執(zhí)行通常在喚醒事件之后被執(zhí)行的其他程序。
圖3表示實(shí)施具有RDRAM的S1睡眠狀態(tài)的一個(gè)實(shí)施例。在正常的操作中,設(shè)置睡眠使能位來(lái)使處理器轉(zhuǎn)變?yōu)镾1睡眠狀態(tài)。但是,在這個(gè)實(shí)施例中,系統(tǒng)管理模式軟件被用來(lái)在睡眠狀態(tài)與RDRAM之間進(jìn)行調(diào)停。系統(tǒng)管理模式軟件的一個(gè)部分被存儲(chǔ)在非易失性存儲(chǔ)器60中,該非易失性存儲(chǔ)器也存儲(chǔ)了BIOS(BIOS存儲(chǔ)設(shè)備)。但是,系統(tǒng)管理模式軟件不能對(duì)操作系統(tǒng)進(jìn)行存取,操作系統(tǒng)無(wú)法直接跳越到系統(tǒng)管理模式軟件內(nèi)的程序。
考慮到對(duì)有效并完全地從操作系統(tǒng)變換到系統(tǒng)管理模式軟件的控制,處理器被配置成響應(yīng)于具有系統(tǒng)管理中斷(SMI)的睡眠觸發(fā)。為了實(shí)現(xiàn)這一點(diǎn),操作系統(tǒng)在步驟300中將一個(gè)位寫(xiě)到寄存器。該寄存器告訴硬件響應(yīng)于睡眠使能信號(hào)而不是響應(yīng)于向睡眠狀態(tài)的轉(zhuǎn)換來(lái)生成一個(gè)SMI。響應(yīng)于該SMI,處理器指導(dǎo)對(duì)系統(tǒng)管理模式軟件的控制。在步驟310中,服務(wù)SMI的SMI處理程序刷新高速緩沖存儲(chǔ)器。該高速緩沖存儲(chǔ)器刷新避免了當(dāng)指令提取時(shí)在L2高速緩沖存儲(chǔ)器中發(fā)生統(tǒng)一的反寫(xiě)。如果執(zhí)行這個(gè)步驟,則在發(fā)生從睡眠狀態(tài)的處理器轉(zhuǎn)換之前將沒(méi)有進(jìn)一步的存儲(chǔ)器書(shū)寫(xiě)。接下來(lái),如步驟320中所示,SMI處理程序設(shè)置PAM寄存器,以指向BIOS存儲(chǔ)設(shè)備。PAM存有系統(tǒng)的地址空間映射。一旦PAM寄存器指向BIOS存儲(chǔ)設(shè)備,就將從該設(shè)備而不是從RDRAM取出指令和數(shù)據(jù)。在步驟330中,SMI處理程序執(zhí)行跳越/分支指令,該指令指向BIOS存儲(chǔ)設(shè)備中的一個(gè)項(xiàng)目。
在步驟340中,SMI處理程序清除一個(gè)位,該位使處理器響應(yīng)于睡眠使能而生成SMI?,F(xiàn)在,處理器被配置成響應(yīng)于睡眠使能信號(hào)而進(jìn)入睡眠狀態(tài)。在步驟350中,第二次設(shè)置睡眠使能位。但是,這次設(shè)置該位的是SMI處理程序,而不是操作系統(tǒng)。SMI處理程序也識(shí)別所需的睡眠模式。在這個(gè)實(shí)施例中,所需的睡眠模式是S1狀態(tài)。處理器檢測(cè)到睡眠使能位被設(shè)置,在步驟360中,系統(tǒng)轉(zhuǎn)變?yōu)镾1睡眠狀態(tài)。處理器時(shí)鐘和RDRAM時(shí)鐘被斷電。在這個(gè)實(shí)施例中,處理器和RDRAM子系統(tǒng)有其各自的時(shí)鐘。在其他的實(shí)施例中,處理器和存儲(chǔ)器子系統(tǒng)可使用與其各自的時(shí)鐘相同的時(shí)鐘。一旦RDRAM子系統(tǒng)被斷電,它就要求重新初始化。
在步驟370中,一個(gè)來(lái)自喚醒事件的觸發(fā)由硬件接收,該硬件用信號(hào)通知系統(tǒng)應(yīng)該從睡眠狀態(tài)返回喚醒狀態(tài)。時(shí)鐘返回到其通電狀態(tài)。處理器恢復(fù)指令提取。在步驟380中,被取出的第一個(gè)指令是在轉(zhuǎn)變?yōu)镾1狀態(tài)之后來(lái)自SMI處理程序的指令。然后,在步驟385中,SMI處理程序執(zhí)行這些指令,以初始化RDRAM。在步驟390中,SMI處理程序然后設(shè)置PAM寄存器,以指向RDRAM中的一個(gè)項(xiàng)目。然后,SMI處理程序執(zhí)行返回指令,控制轉(zhuǎn)移到操作系統(tǒng)。在步驟395中,操作系統(tǒng)執(zhí)行下一個(gè)指令,該指令在其中設(shè)置睡眠使能位的指令之后。系統(tǒng)已成功地從睡眠狀態(tài)返回,并繼續(xù)正常的操作。
圖4表示使用S2狀態(tài)的一個(gè)實(shí)施例。操作系統(tǒng)在步驟410中進(jìn)入睡眠狀態(tài),并將BIOS所用的恢復(fù)地址存儲(chǔ)在RDRAM中。操作系統(tǒng)在步驟420中刷新高速緩沖存儲(chǔ)器,通過(guò)將S2狀態(tài)寫(xiě)入睡眠類(lèi)型的寄存器來(lái)識(shí)別睡眠狀態(tài),并通過(guò)將相應(yīng)的信息寫(xiě)入睡眠使能寄存器來(lái)啟動(dòng)睡眠狀態(tài)。在步驟430中,處理器和RDRAM時(shí)鐘被斷電。在S2狀態(tài)中,功率實(shí)際上移到處理器10,以便處理器10不消耗有效功率或泄漏功率。
系統(tǒng)在步驟440中處于S2狀態(tài)。在步驟450中,檢測(cè)到一個(gè)來(lái)自喚醒事件的觸發(fā)。功率被還原到時(shí)鐘。處理器重置(CPURST#)也被宣稱(chēng)重置處理器。系統(tǒng)在步驟460中完成重置,并開(kāi)始在位置FFFFFFF0h處執(zhí)行軟件。RAM寄存器被配置成指向BIOS存儲(chǔ)設(shè)備,而不是遮蓋RDRAM中的這個(gè)空間。換句話(huà)說(shuō),通過(guò)改變PAM寄存器來(lái)指向BIOS存儲(chǔ)設(shè)備,硬件狀態(tài)機(jī)器可以對(duì)應(yīng)于喚醒事件。在步驟470中,BIOS初始化RDRAM。在步驟480中,BIOS重新指導(dǎo)PAM寄存器執(zhí)行來(lái)自RDRAM的軟件。在步驟410中,BIOS經(jīng)由被存儲(chǔ)在RDRAM中的恢復(fù)地址將控制傳遞到操作系統(tǒng)。在步驟490中,操作系統(tǒng)處理來(lái)自喚醒事件中斷。在步驟495中,完成從睡眠狀態(tài)的恢復(fù),并恢復(fù)處于喚醒狀態(tài)的正常操作。
圖5表示在較大系統(tǒng)的環(huán)境例如,可能在桌面系統(tǒng)、便攜式計(jì)算機(jī)、便攜式通信設(shè)備、置頂盒或視頻與圖形控制器內(nèi)的處理器與存儲(chǔ)器子系統(tǒng)。處理器510和存儲(chǔ)器控制器520被并入相同的芯片內(nèi)。處理器經(jīng)由通過(guò)存儲(chǔ)器總線(xiàn)535的存儲(chǔ)器控制器520與存儲(chǔ)器530(較佳的是RDRAM)相互作用。存儲(chǔ)器控制器520醒來(lái),并且通過(guò)執(zhí)行來(lái)自BIOS存儲(chǔ)設(shè)備540的軟件來(lái)對(duì)其進(jìn)行初始化。在一些應(yīng)用程序中,可能需要將BIOS存儲(chǔ)設(shè)備并入與處理器510和存儲(chǔ)器控制器520相同的芯片。
系統(tǒng)由電源545供電。在便攜式系統(tǒng)中,電源545可能是電池。在桌面或置頂設(shè)備中,電源可能是驅(qū)動(dòng)AC電線(xiàn)電源的DC電源。功率由電源控制電路550分配。電源控制電路響應(yīng)于處理器,以便減少或切斷到系統(tǒng)的各個(gè)部分的電力。電源控制電路550也可以將低功耗條件通知處理器510。如圖所示,電源控制電路按獨(dú)立于主總線(xiàn)560的一種方式與處理器連接。在其他的實(shí)施例中,電源控制電路可以被視作連接到主總線(xiàn)的任何其他的外圍設(shè)備。在桌面系統(tǒng)中,主總線(xiàn)可能是PCI總線(xiàn)。在一些圖形密集的系統(tǒng)中,顯示器或圖形控制器580可以具有到處理器的其自己的專(zhuān)門(mén)路徑或高速路徑。顯示器或圖形控制器580可以通過(guò)一個(gè)分開(kāi)的總線(xiàn)被連接到處理器10或存儲(chǔ)器的控制器中樞20,或者可以與處理器核心中的存儲(chǔ)器控制器集成。高密度存儲(chǔ)器590通常將會(huì)是硬盤(pán)驅(qū)動(dòng)器。外圍設(shè)備590將隨特定的應(yīng)用而變化。
參考圖6,示出核心芯片集的三種不同的配置。配置1具有處理器610(CPU)、圖形控制器620(GFX)和被集成到單個(gè)芯片640的存儲(chǔ)器控制器630(也被稱(chēng)作“存儲(chǔ)器的控制器中樞”或MCH)。I/O控制器中樞650(ICH)和視頻控制器中樞655(VCH)被示作截然不同的芯片。VCH也可以被并入芯片640。ICH 650控制主總線(xiàn)例如,圖5所示的主總線(xiàn)560的操作。ICH 650具有重置芯片640的輸出(NRST)。ICH 650具有重置主總線(xiàn)例如,PCI總線(xiàn)的分開(kāi)的輸出(PCIRST#)。在配置2中,處理器610、GFX 620和MCH 630都在分開(kāi)的芯片中。在配置3中,處理器610在其自己的芯片中。GFX 620和MCH 630在單個(gè)芯片中。在配置2和3中,CPU 610在ICH 650的控制下具有其自己的重置輸入。
在配置1中,芯片640和它所有的部件在睡眠狀態(tài)例如,S2狀態(tài)中被斷電。在配置2中,CPU 610和MCH 630被斷電。保持對(duì)GFX 620的供電,以維持顯示。換句話(huà)說(shuō),GFX 620可以被斷電,以節(jié)省更多的功率。在配置3中,CPU 610、GFX 620和MCH 630被斷電。除了停止時(shí)鐘以外,減少對(duì)各個(gè)部件的供電大大減少了泄露電流。此外,ICH 650與其他部件之間的接口被隔離。這個(gè)接口不是PCI接口,而是基于通訊聯(lián)系協(xié)議的接口。在每種配置中,為ICH供電。ICH具有從睡眠狀態(tài)恢復(fù)所必需的硬件。減少或消除來(lái)自CPU 610、GFX 620和MCH630的S2狀態(tài)中的泄露功率將用0.18微米處理技術(shù)等的一種實(shí)質(zhì)的方法來(lái)延長(zhǎng)電池的壽命。
所揭示的實(shí)施例只是起示范的作用。其他實(shí)施例在以下權(quán)利要求的范圍內(nèi)。
附錄在1999年2月2日發(fā)布的修訂本1.0b的ACPI說(shuō)明書(shū)中的S1和S2睡眠狀態(tài)9.1.1 S1睡眠狀態(tài)S1睡眠狀態(tài)被定義為一種低喚醒等待時(shí)間睡眠狀態(tài)。在這種狀態(tài)中,不會(huì)失去系統(tǒng)環(huán)境(CPU或芯片集),并且,硬件負(fù)責(zé)維持所有的系統(tǒng)環(huán)境,這包括CPU、高速緩沖存儲(chǔ)器、存儲(chǔ)器和所有芯片集I/O的環(huán)境。以下是S1睡眠狀態(tài)實(shí)施替換的一些例子。
9.1.1.1 S1睡眠狀態(tài)實(shí)施(例1)這個(gè)例子提及IA處理器,該處理器通過(guò)維護(hù)STPCLK#信號(hào)來(lái)支持停止同意狀態(tài)。當(dāng)SLP_TYPx被編程為S1值(OEM選擇一個(gè)值,然后將其放在\_S1對(duì)象中)并且SLP_Enx位隨后被設(shè)置時(shí),硬件可以通過(guò)維護(hù)STPCLK#信號(hào)到處理器來(lái)實(shí)施S1狀態(tài),從而使其進(jìn)入停止同意狀態(tài)。在這種情況下,系統(tǒng)時(shí)鐘(PCI和CPU)仍然在運(yùn)行。任何激活的喚醒事件應(yīng)該使硬件不維護(hù)STPCLK#信號(hào)到處理器。
9.1.1.2 S1睡眠狀態(tài)實(shí)施(例2)當(dāng)SLP_TYPx被編程為S1值并且SLP_Enx位隨后被設(shè)置時(shí),硬件將通過(guò)以下行動(dòng)來(lái)實(shí)施S1狀態(tài)1.將處理器放入停止同意狀態(tài)。
2.停止處理器的輸入時(shí)鐘,將處理器放入停止時(shí)鐘狀態(tài)。
3.將系統(tǒng)存儲(chǔ)器放入自我更新或暫停更新?tīng)顟B(tài)。由存儲(chǔ)器本身或通過(guò)在睡眠狀態(tài)時(shí)期不被停止的其他某個(gè)參考時(shí)鐘來(lái)維持更新。
4.停止所有的系統(tǒng)時(shí)鐘(維護(hù)備用信號(hào)到系統(tǒng)PLL芯片)。通常,RTC將繼續(xù)運(yùn)行。
在這種情況下,系統(tǒng)中的所有時(shí)鐘已經(jīng)被停止(除了RTC的時(shí)鐘以外)。當(dāng)發(fā)生任何激活的喚醒事件時(shí),硬件必須保存處理(重新啟動(dòng)系統(tǒng)時(shí)鐘)。
9.1.2 S2睡眠狀態(tài)S2睡眠狀態(tài)被定義為低喚醒等待時(shí)間睡眠狀態(tài)。除了失去CPU和系統(tǒng)高速緩沖存儲(chǔ)器環(huán)境(OS負(fù)責(zé)維持高速緩沖存儲(chǔ)器和CPU環(huán)境)以外,該狀態(tài)類(lèi)似于S1睡眠狀態(tài)。此外,在喚醒事件之后,控制從處理器的重置矢量開(kāi)始。在設(shè)置SLP EN位之前,ACPI驅(qū)動(dòng)器將刷新系統(tǒng)高速緩沖存儲(chǔ)器。如果平臺(tái)支持WBINVD指令(如FACP表格中的WBINVD和WBINVD_FLUSH標(biāo)記所指出的),則OS將執(zhí)行WBINVD指令。如果平臺(tái)不支持WBINVD指令以便刷新高速緩沖存儲(chǔ)器,那么,ACPI驅(qū)動(dòng)器將嘗試使用FACP表格中的FLUSH_SIZE和FLUSH_STRIDE字段來(lái)手工刷新高速緩沖存儲(chǔ)器。硬件負(fù)責(zé)維持芯片集和存儲(chǔ)器環(huán)境。以下是S2睡眠狀態(tài)實(shí)施的一個(gè)例子。
9.1.2.1 S2睡眠狀態(tài)實(shí)施例子當(dāng)SLP-TYPx被編程為S2值(在\_S2對(duì)象中)并且然后設(shè)置SLP_EN位時(shí),硬件將通過(guò)以下行動(dòng)來(lái)實(shí)施S2狀態(tài)-停止系統(tǒng)時(shí)鐘(唯一運(yùn)行的時(shí)鐘是RTC)。
-將系統(tǒng)存儲(chǔ)器放入自我或暫停更新?tīng)顟B(tài)。
-切斷CPU和高速緩沖存儲(chǔ)器子系統(tǒng)的電源。
在這種情況下,當(dāng)檢測(cè)喚醒事件時(shí),重置CPU,但是,核心邏輯和存儲(chǔ)器維持它們的環(huán)境。執(zhí)行控制從CPU的引導(dǎo)矢量開(kāi)始。要求BIOS-編程CPU的初始引導(dǎo)配置(例如,CPU的MSR和MTRR寄存器)。
-將高速緩沖存儲(chǔ)器控制器初始化為其初始的引導(dǎo)尺寸和配置。
-使存儲(chǔ)器控制器能夠接受存儲(chǔ)器存取。
-調(diào)用醒著的矢量。
權(quán)利要求
1.一種在包括處理器、第一存儲(chǔ)器、第一存儲(chǔ)器控制器和第二存儲(chǔ)器的系統(tǒng)中用于在喚醒狀態(tài)與睡眠狀態(tài)之間轉(zhuǎn)換的方法,其特征在于,包括檢測(cè)從睡眠狀態(tài)轉(zhuǎn)換為喚醒狀態(tài)的觸發(fā),響應(yīng)于該檢測(cè)來(lái)初始化第一存儲(chǔ)器控制器,所述初始化包括執(zhí)行第二存儲(chǔ)器中的軟件,以及在初始化之后執(zhí)行第一存儲(chǔ)器中的軟件。
2.如權(quán)利要求1所述的方法,其特征在于,還包括在被存儲(chǔ)在第一存儲(chǔ)器中的軟件控制下,為從喚醒狀態(tài)轉(zhuǎn)換為睡眠狀態(tài)做準(zhǔn)備,以及轉(zhuǎn)換為睡眠狀態(tài)。
3.如權(quán)利要求2所述的方法,其特征在于,所述被存儲(chǔ)在第一存儲(chǔ)器中的軟件包括操作系統(tǒng)軟件。
4.如權(quán)利要求2所述的方法,其特征在于,所述第一存儲(chǔ)器包括RDRAM。
5.如權(quán)利要求4所述的方法,其特征在于,所述第一存儲(chǔ)器控制器駐留在與處理器相同的芯片中。
6.如權(quán)利要求5所述的方法,其特征在于,所述第二存儲(chǔ)器中的軟件包括BIOS軟件。
7.如權(quán)利要求5所述的方法,其特征在于,所述第二存儲(chǔ)器中的軟件包括不可由操作系統(tǒng)進(jìn)行存取的軟件。
8.如權(quán)利要求5所述的方法,其特征在于,所述第二存儲(chǔ)器中的軟件包括系統(tǒng)管理模式軟件。
9.如權(quán)利要求1所述的方法,其特征在于,所述處理器和存儲(chǔ)器控制器具有用于接收各自的時(shí)鐘信號(hào)的輸入,所述方法還包括防止在檢測(cè)之前接收各自的時(shí)鐘信號(hào)。
10.如權(quán)利要求2所述的方法,其特征在于,所述準(zhǔn)備包括將處理器配置成響應(yīng)于來(lái)自操作系統(tǒng)的一個(gè)睡眠觸發(fā)信號(hào)而執(zhí)行被存儲(chǔ)在第二個(gè)存儲(chǔ)器中的軟件,從操作系統(tǒng)接收第一睡眠觸發(fā)信號(hào),響應(yīng)于該接收來(lái)執(zhí)行被存儲(chǔ)在第二存儲(chǔ)器中的軟件,將處理器重新配置成響應(yīng)于睡眠觸發(fā)信號(hào)而轉(zhuǎn)換為睡眠狀態(tài),以及,接收第二睡眠觸發(fā)信號(hào)。
11.如權(quán)利要求10所述的方法,其特征在于,所述被存儲(chǔ)在第二存儲(chǔ)器中的軟件包括系統(tǒng)管理模式軟件,所述方法還包括響應(yīng)于對(duì)第一睡眠觸發(fā)的接收而生成一個(gè)系統(tǒng)管理中斷。
12.如權(quán)利要求10所述的方法,其特征在于,所述初始化根據(jù)在轉(zhuǎn)換為睡眠狀態(tài)之前所執(zhí)行的最后指令后面的指令來(lái)執(zhí)行被存儲(chǔ)在第二存儲(chǔ)器中的軟件。
13.如權(quán)利要求2所述的方法,其特征在于,所述轉(zhuǎn)換使處理器轉(zhuǎn)入S1狀態(tài)。
14.如權(quán)利要求2所述的方法,其特征在于,所述轉(zhuǎn)換使處理器轉(zhuǎn)入S2狀態(tài)。
15.如權(quán)利要求2所述的方法,其特征在于,所述準(zhǔn)備包括刷新高速緩沖存儲(chǔ)器。
16.如權(quán)利要求2所述的方法,其特征在于,還包括在初始化之前重置處理器。
17.一種在包括處理器、第一存儲(chǔ)器、第一存儲(chǔ)器控制器和第二存儲(chǔ)器的一種系統(tǒng)中用于在喚醒狀態(tài)與睡眠狀態(tài)之間轉(zhuǎn)換的方法,其中,所述處理器和存儲(chǔ)器控制器具有用于接收各自的時(shí)鐘信號(hào)的輸入,所述第一存儲(chǔ)器存儲(chǔ)操作系統(tǒng)軟件,其特征在于,包括在操作系統(tǒng)軟件的控制下,為從喚醒狀態(tài)轉(zhuǎn)變?yōu)樗郀顟B(tài)做準(zhǔn)備,所述準(zhǔn)備包括將地址空間映射配置成在檢測(cè)之后指向第二存儲(chǔ)器,防止對(duì)各自的時(shí)鐘信號(hào)的接收,轉(zhuǎn)換為睡眠狀態(tài),檢測(cè)從睡眠狀態(tài)轉(zhuǎn)換為喚醒狀態(tài)的觸發(fā),響應(yīng)于該檢測(cè)來(lái)初始化第一個(gè)存儲(chǔ)器控制器,初始化包括執(zhí)行第二個(gè)存儲(chǔ)器中的BIOS軟件,在初始化之后,執(zhí)行操作系統(tǒng)軟件。
18.如權(quán)利要求17所述的方法,其特征在于,還包括將一個(gè)BIOS恢復(fù)地址存儲(chǔ)在第一存儲(chǔ)器中,以及在使用被存儲(chǔ)在第一存儲(chǔ)器中的恢復(fù)地址進(jìn)行初始化之后,將控制從BIOS轉(zhuǎn)移到操作系統(tǒng)。
19.如權(quán)利要求18所述的方法,其特征在于,還包括在檢測(cè)之前切斷對(duì)第一存儲(chǔ)器控制器的供電。
20.一種系統(tǒng),其特征在于,包括具有喚醒狀態(tài)和睡眠狀態(tài)的處理器,第一存儲(chǔ)器,第一存儲(chǔ)器控制器,第二存儲(chǔ)器,以及被存儲(chǔ)在第二存儲(chǔ)器中的軟件,所述軟件響應(yīng)于用信號(hào)通知從睡眠狀態(tài)轉(zhuǎn)換為喚醒狀態(tài)的觸發(fā)信號(hào)來(lái)執(zhí)行對(duì)第一存儲(chǔ)器控制器的初始化。
21.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述第一存儲(chǔ)器存儲(chǔ)操作系統(tǒng)軟件,所述第二存儲(chǔ)器是非易失性存儲(chǔ)器,所述第二存儲(chǔ)器存儲(chǔ)BIOS軟件,以及,所述操作系統(tǒng)軟件被配置成控制從喚醒狀態(tài)到睡眠狀態(tài)的轉(zhuǎn)換。
22.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述操作系統(tǒng)在從喚醒狀態(tài)轉(zhuǎn)換為睡眠狀態(tài)之前,將一個(gè)BIOS恢復(fù)地址存儲(chǔ)在第一存儲(chǔ)器中,以及在存儲(chǔ)器控制器被初始化之后,BIOS將控制返回到使用被存儲(chǔ)的BIOS恢復(fù)地址的操作系統(tǒng)。
23.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述第一存儲(chǔ)器包括RDRAM。
24.如權(quán)利要求21所述的系統(tǒng),其特征在于,所述第二存儲(chǔ)器包括RAM。
25.如權(quán)利要求21所述的系統(tǒng),其特征在于,還包括系統(tǒng)管理模式軟件,所述系統(tǒng)管理模式軟件不可由操作系統(tǒng)進(jìn)行存取,其中系統(tǒng)管理模式軟件對(duì)第一存儲(chǔ)器進(jìn)行初始化。
26.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述處理器、第一存儲(chǔ)器和第一存儲(chǔ)器控制器具有時(shí)鐘輸入,所述系統(tǒng)包括防止處理器、第一存儲(chǔ)器和第一存儲(chǔ)器控制器的內(nèi)部計(jì)時(shí)的時(shí)鐘禁止電路。
27.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述處理器和第一存儲(chǔ)器控制器駐留在一個(gè)共同的芯片內(nèi)。
28.如權(quán)利要求20所述的系統(tǒng),其特征在于,還包括駐留在與所述處理器和第一存儲(chǔ)器控制器相同的芯片中的高速緩沖存儲(chǔ)器,其中操作系統(tǒng)被配置成在從喚醒狀態(tài)轉(zhuǎn)換為睡眠狀態(tài)之前刷新高速緩沖存儲(chǔ)器。
29.一種便攜式計(jì)算機(jī)系統(tǒng),其特征在于,包括功率存儲(chǔ)介質(zhì),顯示器,處理器,處理器時(shí)鐘,第一存儲(chǔ)器,第一存儲(chǔ)器控制器,第二存儲(chǔ)器,其中,所述系統(tǒng)包括喚醒狀態(tài)和睡眠狀態(tài),其中,所述處理器和第一存儲(chǔ)器控制器在睡眠狀態(tài)中不被計(jì)時(shí),以及其中,所述第二存儲(chǔ)器中的軟件響應(yīng)于從睡眠狀態(tài)到喚醒狀態(tài)的轉(zhuǎn)換來(lái)對(duì)第一個(gè)存儲(chǔ)器控制器進(jìn)行初始化。
30.如權(quán)利要求29所述的系統(tǒng),其特征在于,還包括使處理器、第一存儲(chǔ)器控制器和第一存儲(chǔ)器內(nèi)部的功率流動(dòng)不能進(jìn)行的電路。
全文摘要
一種系統(tǒng)具有具備多種狀態(tài)(包括喚醒狀態(tài)和睡眠狀態(tài))的處理器、包括存儲(chǔ)器控制器和各種存儲(chǔ)器設(shè)備的存儲(chǔ)器子系統(tǒng),以及第二存儲(chǔ)器。當(dāng)從睡眠狀態(tài)轉(zhuǎn)換為喚醒狀態(tài)時(shí),第二存儲(chǔ)器中的系統(tǒng)使用軟件來(lái)對(duì)存儲(chǔ)器控制器進(jìn)行初始化。系統(tǒng)檢測(cè)到來(lái)自喚醒事件的觸發(fā),并響應(yīng)于該來(lái)自喚醒事件的觸發(fā)來(lái)執(zhí)行被存儲(chǔ)在第二存儲(chǔ)器中的軟件,以便對(duì)存儲(chǔ)器控制器進(jìn)行初始化,然后,在初始化之后執(zhí)行第一存儲(chǔ)器以外的軟件。
文檔編號(hào)G06F1/32GK1415085SQ00818055
公開(kāi)日2003年4月30日 申請(qǐng)日期2000年10月23日 優(yōu)先權(quán)日1999年11月5日
發(fā)明者S·簡(jiǎn), S·S·曹 申請(qǐng)人:英特爾公司