專利名稱:用于監(jiān)視和控制電源管理資源的系統(tǒng)和方法
發(fā)明
背景技術(shù):
領(lǐng)域本發(fā)明大體上涉及計算機系統(tǒng)領(lǐng)域,尤其涉及計算機系統(tǒng)中的電源管理。
當一種典型的計算機系統(tǒng)進入睡眠狀態(tài)時,則整個系統(tǒng)通常會降低功率(power down),節(jié)省其處理器狀態(tài)和于儲存機構(gòu)(譬如硬盤機)的各種其它裝置的狀態(tài)。為了使計算機系統(tǒng)關(guān)斷系統(tǒng)中的特定部份,已發(fā)展出了其它更先進的電源管理技術(shù)。一個例子是將計算機系統(tǒng)設(shè)計成當耦合到總線的一個裝置或多個裝置為不活動時,則關(guān)斷外設(shè)部件接口(PCI)總線。當電源可管理資源(如PCI總線)僅有一個與其耦合的裝置時,這種電源管理機制非常簡單。然而,當二個或更多個獨立裝置共享電源可管理資源時,則電源管理機制就難于執(zhí)行。
在如總線這樣的共享資源中的管理由于各種因素而可能是復(fù)雜的。在這些因素中,其中之一就是耦合到資源的各種裝置的驅(qū)動器。典型地,一個共享資源為用于耦合到資源的這些裝置的獨立的各種裝置驅(qū)動器。在開始暫停電源之前,用于各裝置的裝置驅(qū)動器必須讀取和儲存該裝置狀態(tài),和執(zhí)行為暫停電源所需的其它內(nèi)務(wù)操作(housekeeping operation)。一旦附加到資源的各裝置完成了所需的暫停操作,則總線可安全地降低功率。然而,因為對應(yīng)于各裝置的裝置驅(qū)動器獨立于總線地操作,沒有通信機制通知總線硬件所有的裝置均已完成所需的暫停操作。因此,因為沒有通信機構(gòu),總線硬件就不能判定是否可安全地降低功率。
在一個實施例中,電源可管理資源是時隙總線,配置成在各數(shù)據(jù)幀中發(fā)送數(shù)據(jù)。每一幀可包括多個狀態(tài)位,且這些狀態(tài)位中,每一個可對應(yīng)到附加到此總線的其中一個裝置。各狀態(tài)位可用來指示所對應(yīng)裝置的活動/非活狀態(tài)。資源監(jiān)視器可配置用以監(jiān)視各個狀態(tài)位,并根據(jù)所有裝置為非活狀態(tài)的判定而可使得總線(以及所有附加的裝置)降低功率。
在另一個實施例中,所述總線可以是包總線(packet bus),且可配置用以周期性地發(fā)送空閑幀,而各幀包括有多個狀態(tài)位。這些狀態(tài)位可以對應(yīng)到附加到所述總線的各個裝置,并且可指示每個所述裝置的活動/非活狀態(tài)。資源監(jiān)視器可配置用以監(jiān)視各個所述裝置的活動/非活狀態(tài)位。或者,耦合到包總線的各裝置可配置成根據(jù)變成活動的而發(fā)送激活包(activate packet),以及根據(jù)變成非活的而發(fā)送解除激活包(deactivative packet)。資源監(jiān)視器可用來追蹤附加到此總線的各裝置的活動/非活狀態(tài)。在一個實施例中,資源監(jiān)視器可包括計數(shù)器,該計數(shù)器每當一個裝置發(fā)出激活包即遞增,而每當一個裝置發(fā)送解除激活包則遞減。然后若計數(shù)器數(shù)值達到0,則表示所有在所述總線上的裝置均處于非活狀態(tài),于是資源監(jiān)視器即可降低功率。
在又一個實施例中,可使用多個寄存器,以指示附加到譬如總線的電源可管理資源的各裝置的活動/非活狀態(tài)。每一寄存器可對應(yīng)于其中一個附加的裝置。各寄存器可根據(jù)其對應(yīng)的裝置變成了活動或非活狀態(tài)而進行更新。在一些實施例中,對應(yīng)于各裝置的寄存器可以中央式地位于資源監(jiān)視器中?;蛑谄渌鼘嵤├?,對應(yīng)于各裝置的寄存器可以位于該裝置其自身之內(nèi)。在任何一種情況下,資源監(jiān)視器通過讀取各寄存器而可追蹤各裝置的活動/非活狀態(tài),而且當判定所有的裝置處于非活狀態(tài)時,即可降低總線的功率。
因此,在各個實施例中,用于監(jiān)視和控制電源管理資源的系統(tǒng)和方法可允許總線或其它資源在未使用時降低功率。通過監(jiān)視每一附加到資源的裝置,資源監(jiān)視器可以判定何時該裝置處于空閑狀態(tài)。再者,監(jiān)視各附加的裝置,可使得在降低功率之前,允許各裝置完成所有必要的操作。這就使得各裝置得以用一種無瑕疵及安全的方式降低功率。
雖然本發(fā)明可作各種形式的修改和變動,但在附圖中以示例方式顯示了特定的實施例,并將在下面詳細描述這些實施例。然而應(yīng)了解到,附圖和詳細說明并非用來限制本發(fā)明于所揭示的特殊形式,反之,本發(fā)明涵蓋所有由所附權(quán)利要求書所定義的落于本發(fā)明的精神和范圍內(nèi)的所有修改、等效和替換方案。發(fā)明實施方案現(xiàn)參照
圖1,其顯示包括了時隙總線或包總線的電源可管理資源的一個實施例的方框圖。電源可管理資源(PMR)16可以是一個共享資源——此電源可管理資源16的控制可以包括各種電源管理操作,而且可以是如本實施例中所示的計算機系統(tǒng)的包總線或時隙總線。PMR16可以耦合到總線橋20,此總線橋20由中央處理單元(CPU)總線12而依次耦合到中央處理單元(CPU)10。一般說來,總線橋20可用作CPU10和PMR16之間的接口。詳言之,總線橋20可以將由源裝置或總線所使用的協(xié)議的操作轉(zhuǎn)譯成由目標裝置或總線所使用的協(xié)議。同樣耦合到PMR16的是總線監(jiān)視器25和外圍設(shè)備21A、21B和21C。外圍設(shè)備21A、21B和21C可以是配置耦合到PMR16的電源可管理裝置。
總線監(jiān)視器25可以是配置用以監(jiān)視耦合到總線的各種裝置(亦即外圍設(shè)備)的資源監(jiān)視器。詳言之,總線監(jiān)視器25可以配置用以決定附加到總線上的各個裝置的活動/非活狀態(tài)。于所示實施例中,PMR16可以是包總線或時隙總線。因此,總線監(jiān)視器25可以包括包/幀讀取器25R,此讀取器25R可配置用以讀取傳送于總線的幀或包。每個幀或包可以包括狀態(tài)字,該狀態(tài)字依次可包括多個狀態(tài)位。這些狀態(tài)位可對應(yīng)于附加到總線的個別裝置,而且可指示該對應(yīng)的裝置是否處于活動或非活狀態(tài)??偩€監(jiān)視器25亦可以配置用以根據(jù)判定所有的附加裝置為非活,而從PMR16移去電源?;蛘?,總線監(jiān)視器25可以提供指示對于總線橋20,所有的裝置處于非活,此總線橋20可配置成根據(jù)接收到這樣的指示而移去電源。
包/幀讀取器25可以是邏輯電路,配置用于檢測傳送于所述總線上的幀或包。于一些實施例中,所傳送的各幀或包可以包括用于一個或多個附加到總線的裝置的活動/非活數(shù)據(jù)。這些幀或包可以由總線橋20或其中一個附加到總線的裝置——譬如外圍設(shè)備21A、21B和21C——而傳送。在另一個實施例中,當變成活動時,各裝置可配置用以發(fā)送激活(activate)包,而當為非活時,則發(fā)送解除激活(deactivate)包。在所有情況下,包/幀讀取器25可以配置用以監(jiān)視發(fā)送于總線的各包,并可檢驗在每一包或幀中的狀態(tài)字的各狀態(tài)位。包/幀讀取器25亦可以包括記錄,指示耦合到總線的每一裝置的活動/非活狀態(tài)。
在一個實施例中,激活包和解除激活包可以由附加到總線的裝置傳送,可使用計數(shù)器以追蹤這些裝置的活動/非活狀態(tài)。計數(shù)器可以表示在包/幀讀取器25R內(nèi)施行的邏輯電路的一部份。當包/幀讀取器25R檢測到在總線上傳送的激活包時,計數(shù)器可遞增,而當包/幀讀取器25R檢測到在總線上傳送的解除激活包時,計數(shù)器可遞減。若計數(shù)器減少一直到計數(shù)值為0,則表示附加到總線的所有裝置均為非活。以此方式,在一些實施例中,總線監(jiān)視器25可以相應(yīng)地從總線移去電源,或在其它實施例中,可以設(shè)有至總線橋20的指示,然后此總線橋20可從總線移去電源。
現(xiàn)參照圖1B,其為一個電源可管理資源的實施例的方框圖,其中顯示一個包括寄存器文件的資源監(jiān)視器,該寄存器文件用來追蹤耦合到該資源的裝置的活動/非活狀態(tài)。PMR16可以是電源可管理資源,譬如外圍總線。總線監(jiān)視器25可以包括寄存器文件25F,此寄存器文件25F可以是一個狀態(tài)寄存器,用來追蹤耦合到總線的外圍設(shè)備的活動/非活狀態(tài)。圖1B所示的實施例包括外圍設(shè)備21A、21B和21C。一般而言,可將任何數(shù)目的裝置耦合到總線。各外圍設(shè)備可配置用以設(shè)定在寄存器文件25F中的對應(yīng)的位,以指示該裝置的活動/非活狀態(tài)??偩€監(jiān)視器25亦可以包括邏輯電路,該邏輯電路配置用以檢驗在寄存器文件中的狀態(tài)位,以便判定耦合到總線的各裝置的活動/非活狀態(tài)。在一個實施例中,各外圍設(shè)備可配置為一旦變成活動的即設(shè)定一位為邏輯“1”,而一旦變成非活的即重置該位為邏輯“0”。而另一個實施例——其中以邏輯“0”表示活動裝置而以邏輯“1”表示非活裝置——亦是可能的和可以構(gòu)想得出的。
如前所述,總線監(jiān)視器25亦可以包括邏輯電路,該邏輯電路配置用以檢驗狀態(tài)位,以便判定耦合到總線的各裝置的活動/非活狀態(tài)。若邏輯電路判定在總線上的所有裝置目前為非活狀態(tài),則可相應(yīng)地降低總線功率。在另一個實施例中,總線監(jiān)視器25可以提供所有附加到總線橋20的裝置的非活狀態(tài)的指示,然后可相應(yīng)地降低總線功率。
現(xiàn)參照圖1C,其為一個電源可管理資源的實施例的方框圖,其中耦合到資源的裝置包括寄存器,用來指示所示的其對應(yīng)的活動/非活狀態(tài)。在此實施例中,每個外圍設(shè)備(裝置21A、21B和21C)均包括活動/非活(A/I)寄存器22A。A/I寄存器22A可用來指示其對應(yīng)裝置的活動/非活狀態(tài),亦可用來儲存關(guān)于該裝置的其它信息??偩€監(jiān)視器25可配置用以監(jiān)視附加到總線的各裝置的活動/非活狀態(tài)??偩€監(jiān)視器25亦可包括邏輯電路、寄存器讀取器25A,該等電路可配置用以檢驗每個裝置的各自的A/I寄存器22A,以便判定對應(yīng)裝置的活動/非活狀態(tài)。若寄存器讀取器25A判定附加到總線的所有裝置為非活狀態(tài),則總線監(jiān)視器25可相應(yīng)地降低總線功率,或者將此狀態(tài)的指示提供至總線橋20,此總線橋20然后可降低總線的功率。
圖2A是在時隙總線的一個實施例上的數(shù)據(jù)傳輸?shù)恼f明,其中所傳輸?shù)拿總€幀包括多個狀態(tài)位,用以指示耦合到電源可管理資源的各裝置的活動/非活狀態(tài)。在所示實施例中,時隙總線可以是電源可管理資源。此時隙總線可以是譬如圖1A中所示的總線,或者可以是其它實施例的時隙總線。該時隙總線可配置用以在各幀中傳輸信息,譬如于圖中所示的幀40。幀的傳輸可由耦合到總線的任何裝置實施,譬如總線橋或外圍設(shè)備。
每一幀40可以包括多個信道41。亦包括于各幀40中的可以是一組活動/非活(A/I)狀態(tài)位45。在一個實施例中,A/I狀態(tài)位45組可以包括用來指示各耦合到總線的裝置的活動/非活狀態(tài)的各位。于各幀傳輸期間,A/I狀態(tài)位45可以由耦合到總線的邏輯電路讀取,該邏輯電路譬如為圖1A的包/幀讀取器25R。邏輯電路可以用所傳輸?shù)母鲙瑏頇z驗各A/I狀態(tài)位45,以便判定各裝置的活動/非活狀態(tài)。當所有的裝置為非活時,該邏輯電路然后可以通知總線監(jiān)視器(譬如圖1A的總線監(jiān)視器25),此邏輯電路可以使總線降低功率。
圖2B是在包總線的一個實施例上進行數(shù)據(jù)傳輸?shù)恼f明,其中該包總線配置用來周期性地傳輸空閑幀,此空閑幀中包括狀態(tài)位,用以指示附加到總線的各裝置的活動/非活狀態(tài)。在所示實施例中的包總線可以是電源可管理資源。包總線可以配置用來傳輸數(shù)據(jù)包50。數(shù)據(jù)包50可以通過附加到其上的任何裝置,包括外圍設(shè)備和任何總線橋,而在總線上傳輸。這些數(shù)據(jù)包中的每一個都可配置用以在總線上的各種外設(shè)之間——以及在外設(shè)和總線橋之間——傳送數(shù)據(jù)??臻e幀51可以在總線上周期性地傳輸??偩€可以配置為在某些實施例中的特定時間周期內(nèi)傳輸一個空閑幀(例如,每千分之一秒一個空閑幀)。在另一個實施例中,總線可以配置成在特定的傳輸數(shù)目內(nèi)傳輸一個空閑幀(例如,每第4個傳輸為一個空閑幀)。
空閑幀51可包括報頭53、內(nèi)務(wù)數(shù)據(jù)54、和A/I狀態(tài)位55。報頭53可用來識別對于總線橋、和耦合到總線的任何裝置的空閑幀。內(nèi)務(wù)數(shù)據(jù)54可包括關(guān)于總線和附加到其上的各種裝置的信息。這樣的信息可以包括裝置的處理中的操作、中斷狀態(tài),等等。A/I狀態(tài)位55可以是多個位,每一個位可以對應(yīng)于耦合到該總線的其中一個裝置。每個A/I狀態(tài)位可用來指示在總線上的對應(yīng)裝置的活動/非活狀態(tài)。如圖2A中的實施例所示,譬如包/幀讀取器25R的邏輯電路可用來檢驗A/I狀態(tài)位55,且當附加到總線的所有裝置均為非活時可通知總線監(jiān)視器,此總線監(jiān)視器可允許總線安全地降低功率。
現(xiàn)參照圖3,其顯示電源可管理資源的操作方法的一個實施例的流程圖。方法60開始于步驟61,該步驟包括了監(jiān)視耦合于電源可管理資源的這些裝置的活動/非活狀態(tài)。所述電源可管理資源可以是計算機系統(tǒng)的總線。這樣一條總線的監(jiān)視可通過總線監(jiān)視器完成,該總線監(jiān)視器如參考圖1A、1B和1C而說明的各種實施例所示。尤其是,總線監(jiān)視器可包括一邏輯電路,該邏輯電路耦合到配置用以判定各附加裝置的活動/非活狀態(tài)的總線上。
如果在步驟62判定所有的附加裝置為非活,則總線監(jiān)視器可判定是否總線(即電源可管理資源)提高功率(步驟63)。若總線未提高功率,則本方法可重新開始監(jiān)視,如參照步驟61所述。若總線提高了功率,如在步驟63所判定的,則總線可降低功率(步驟64)。可用總線監(jiān)視器、總線橋、或其它具有能夠控制電源可管理資源的附加裝置,來實現(xiàn)總線的功率降低。
若于步驟62判定,現(xiàn)在使用的一個或多個裝置為活動的,則總線監(jiān)視器可判定是否總線提高功率(步驟64)。應(yīng)注意,某些情況盡管處于功率降低狀態(tài),仍可將裝置視為活動的。舉例而言,計算機系統(tǒng)的處理器要把數(shù)據(jù)轉(zhuǎn)存到磁盤驅(qū)動器中的磁盤。磁盤驅(qū)動器可以附加到總線上,此總線是一個電源可管理資源。相應(yīng)于判定處理器要轉(zhuǎn)存數(shù)據(jù)至磁盤驅(qū)動器,總線監(jiān)視器可認為磁盤驅(qū)動器是活動的,并可相應(yīng)地啟動對于該總線的提高功率程序,如在步驟65所示。本示例并非意在作為限制,而其僅為許多的不同可能性之一。一般來說,每當存在至一個裝置的(或發(fā)自該裝置的)未處理完的數(shù)據(jù)傳送時,則此裝置可視為活動的。在此情況下,一個總線監(jiān)視器(譬如圖1A、1B和1C所示的總線監(jiān)視器25)可在判定存在對耦合到總線的裝置的未完成的數(shù)據(jù)傳送時,在寄存器、數(shù)據(jù)包、或幀中設(shè)定活動位。
若在步驟64,判定電源可管理資源已經(jīng)提高功率,則所述方法可然后依序返回步驟61,并繼續(xù)監(jiān)視對于附加到總線的各裝置的活動/非活數(shù)據(jù)。
雖然本發(fā)明已參照特定實施例而作了說明,但應(yīng)了解各實施例系用來進行說明,而非用來限定本發(fā)明的范圍??梢詫嵤├髟S多的變更、修改、附加、和改進,而這些變更、修改、附加、和改進皆落于于本發(fā)明的范圍內(nèi),該范圍詳述于所附權(quán)利要求書中。
權(quán)利要求
1.一種方法,包括監(jiān)視一個或多個耦合到電源可管理資源(16)的電源可管理裝置(21A~21C),其中所述監(jiān)視包括判定是否所有的所述一個或多個電源可管理裝置均為非活;以及若所有的所述電源可管理裝置均為非活,則降低該電源可管理資源的功率。
2.如權(quán)利要求1所述的方法,進一步包括,若所有的所述電源可管理裝置均為非活,則監(jiān)視每一所述的一個或多個電源可管理裝置,以判定是否任何該電源可管理裝置變成活動的,其中該電源可管理資源對應(yīng)于任何該電源可管理裝置變成活動的而提高功率。
3.如權(quán)利要求1所述的方法,其中該電源可管理資源包括時隙總線;且其中經(jīng)過該時隙總線傳輸?shù)拿恳粩?shù)據(jù)幀包括多個狀態(tài)位,其中每一所述狀態(tài)位對應(yīng)于所述一個或多個裝置的其中之一,并指示是否對應(yīng)的裝置為非活。
4.如權(quán)利要求1所述的方法,其中該電源可管理資源包括包總線,配置成周期性地傳送一個或多個空閑幀,其中每一所述一個或多個空閑幀包括狀態(tài)字,且其中每一狀態(tài)字包括多個狀態(tài)位,其中每一所述狀態(tài)位對應(yīng)于所述一個或多個裝置的其中之一,以判定是否對應(yīng)的裝置為非活。
5.一種系統(tǒng),包括可共享資源(16),其中該可共享資源的控制包括電源管理操作;一個或多個裝置(21A~21C),耦合到該可共享資源,其中每一所述裝置配置為使用該可共享資源,且其中所述一個或多個裝置的控制包括電源管理操作;以及資源監(jiān)視器(25),其中該資源監(jiān)視器配置用以監(jiān)視所述一個或多個裝置,以判定是否所有的所述裝置為非活,且其中該資源監(jiān)視器配置為使得在所述一個或多個裝置為非活時,使得該可共享資源降低功率。
6.如權(quán)利要求5所述的系統(tǒng),其中該可共享資源為總線。
7.如權(quán)利要求6所述的系統(tǒng),其中該資源監(jiān)視器包括耦合至該總線的邏輯電路(25R),且其中該邏輯電路配置用以檢驗在該總線上傳輸?shù)臄?shù)據(jù),以判定是否每一所述裝置為非活。
8.如權(quán)利要求7所述的系統(tǒng),其中該總線包括配置用以傳輸幀的時隙總線,且其中每一所述幀包括多個狀態(tài)位,其中每一所述狀態(tài)位對應(yīng)于所述一個或多個裝置的其中之一,而且其中每一所述狀態(tài)位指示是否對應(yīng)的裝置為非活。
9.如權(quán)利要求8所述的系統(tǒng),其中該邏輯電路(25R)配置用于檢驗該狀態(tài)位,以判定是否所有該裝置為非活。
10.如權(quán)利要求7所述的系統(tǒng),其中該總線包括配置用以周期性地傳輸一個或多個空閑幀的包總線,其中每一所述空閑幀包括一狀態(tài)字,該狀態(tài)字包括多個狀態(tài)位,其中每一所述狀態(tài)位對應(yīng)于所述一個或多個裝置的其中之一,以指示是否該裝置為活動或非活。
全文摘要
一種用于監(jiān)視和控制電源管理資源(16)的系統(tǒng)和方法。在一個實施例中,一個電源可管理資源,譬如于計算機系統(tǒng)中的總線,可共享于多個電源可管理裝置(21A~21C)之間。一個資源監(jiān)視器(25)亦可耦合到電源可管理資源。資源監(jiān)視器可配置用以監(jiān)視耦合到電源可管理資源的各裝置。詳言之,資源監(jiān)視器的各功能可包括監(jiān)視各附加裝置的活動/非活狀態(tài)。此資源監(jiān)視器可以配置成如果判定所有的附加裝置是在非活狀態(tài)時,則可使得可共享資源降低功率。
文檔編號G06F1/32GK1449517SQ01814673
公開日2003年10月15日 申請日期2001年5月9日 優(yōu)先權(quán)日2000年8月31日
發(fā)明者D·E·奎立克 申請人:先進微裝置公司