TWI464572B - 保存處理器狀態以供介於處理器電力狀態之間的有效變遷之方法,設備,電腦可讀取儲存媒體及系統 - Google Patents
保存處理器狀態以供介於處理器電力狀態之間的有效變遷之方法,設備,電腦可讀取儲存媒體及系統 Download PDFInfo
- Publication number
- TWI464572B TWI464572B TW100145341A TW100145341A TWI464572B TW I464572 B TWI464572 B TW I464572B TW 100145341 A TW100145341 A TW 100145341A TW 100145341 A TW100145341 A TW 100145341A TW I464572 B TWI464572 B TW I464572B
- Authority
- TW
- Taiwan
- Prior art keywords
- processor
- task
- state
- switching
- power
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/463—Program control block organisation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Description
實施例主要有關於電腦平台中之電力管理的技術。詳言之,某些實施例提供保存或擷取處理器之狀態以支援在處理器電力狀態之間變遷電腦平台的方法。
積體電路(IC)生產及電腦裝置製造的其他態樣中的改良允許更小及/或更密集的積體平台架構。在這種平台中的電路一般對無效率的電力使用及/或無效率的晶粒空間使用有越來越敏感的趨勢。因此,電力效率、晶粒大小、及/或晶粒利用率的漸進改良在這種平台中提供越來越大的性能增益。這在小形式因子平台(比如手持裝置-例如,智慧型電話、平板電腦、及類似者)的情況中尤其如此。
現有的電腦平台不同程度地包括用於管理至這種平台之處理器的電力分配或電力使用之一或更多特徵。例如,這種特徵可例如回應於使用者啟動的平台中止或休眠請求,不同程度地實現處理器閒置狀態。欲支援比如C6電力狀態之處理器閒置電力狀態,平台必須確保當處理器係在處理器閒置電力狀態時的時期中不會喪失處理器的狀態資訊。在現有技術中,處理器不同程度地包括專用硬體,其將處理器狀態卸載到晶片上的被不同供電之區域,或將處理器狀態持續維持在和處理器的另一普通電力域分別之專
門電力域中。
對用於實現處理器閒置電力狀態之這種技術的依賴已強加了在處理器的IC晶片上得包括各種實作電路(例如,暫存器、電力分配跡線、控制邏輯等等之一或更多)的要求。這種要求迄今對減少及/或改善處理器之晶粒空間的利用率之努力已加諸了某些限制。
實施例不同程度地提供對處理器狀態的存取以供在處理器電力狀態之間變遷處理器。可在組態成(例如,以平台之處理器和記憶體)執行操作系統(OS)之電腦平台上實現各種實施例。平台的處理器可能缺少專用電路,其能夠獨立維持一些或所有處理器狀態以供後續擷取及/或使用,例如以供當處理器從處理器閒置返回到較高電路操作處理器狀態時所用。
「處理器狀態資訊」或簡稱「處理器狀態」係指敘述在特定時間由一或更多處理器之處理的狀態之資訊,例如由處理器快取或儲存之資料、被執行之當前(或下一個)指令、堆疊之條件、判定異常處置、錯誤處置等等之參數、或否則判定在特定點處理器正如何履行及/或將如何履行處理之資訊。提供對處理器狀態之存取可包括例如提供處理器狀態以供處理器外部的儲存,例如,以為處理器變遷到處理器閒置狀態做準備。替代或額外地,提供對處理器狀態之存取可包括使處理器狀態可供載入到處理器中,
例如,以為從處理器閒置狀態變遷到較高電力操作處理器狀態做準備。
在某些實施例中,OS可啟動至(或從)處理器閒置電力狀態之變遷。舉例而非限制性而言,回應於檢測到在處理器電力狀態之間變遷處理器的機會,在那個處理器上執行之OS可觸發處理器來履行任務切換。在某些實施例中,任務切換可將一些或全部處理器狀態保存到任務切換儲存庫,例如在記憶體中之資料結構,其係另在OS之正常運行時間執行期間可供OS用於通用任務切換。雖然某些實施例不限於此方面,記憶體中之任務切換儲存庫的位置、任務切換儲存庫中資料的配置、及/或尤其他平台資料對任務切換儲存庫的參照可與美國加州聖塔克拉拉市的英特爾公司(Intel Corporation)之x86架構的使用相容。
例如,任務切換儲存庫可包括任務狀態段(TSS)。舉例而非限制性而言,任務切換可將段暫存器狀態、控制暫存器狀態、EFLAG暫存器狀態、EIP暫存器狀態、及段選擇器狀態的一或更多者保存到TSS中。雖在本文中以存取TSS來敘述某些實施例之特徵,可了解的是,這種特徵可延伸至應用於其他實施例來存取任何各種額外或替代的任務切換儲存庫。
在一實施例中,任務切換可包括將處理器從執行正在OS上運作的應用之任務切離。在這種情況中,可例如在該應用沒有接收到為了電力狀態變遷而需凍結操作的任何
指示下履行任務切換。
替代或額外地,啟動處理器電力狀態變遷之任務切換的OS可例如包括將所涉的處理器從在OS情境中執行任務切換到在另一情境中執行電力管理任務。例如,處理器可切換到非OS情境的情境之任務。舉例而非限制性而言,任務切換可包括切換處理器到執行單線程情境或其他情境,以執行並非OS的任何任務之電力管理任務。這種電力管理任務可例如包括基本輸入/輸出系統(BIOS)或其他韌體任務。
第1圖繪示根據某些示範實施例之系統100的選擇元件。系統100可包括平台105,其具有不同程度地提供電力到平台105的其他組件之電源150。雖各種實施例的範圍不限於此方面,平台105可包括個人電腦(PC)、個人數位助理(PDA)、網際網路器具、手機、膝上型電腦、平板式裝置、行動單元、無線通訊裝置、及/或任何其他運算裝置的一或更多者。
根據某些實施例,平台105可包括直接或間接耦合到一或更多其他組件(例如記憶體125及系統互連135)之處理單元110。替代或額外地,處理單元110可存取例如儲存在記憶體125中或分別的儲存裝置(120)中之基本輸入/輸出系統(BIOS)指令。例如,處理單元110可經由一或更多位址及/或資料匯流排不同程度地耦合到平台105之組件。應了解,這種匯流排以外或額外的互連可用來連接處理單元110。例如,一或更多專用線、交叉開關
等等可用來連接處理單元110到記憶體125。
如上所討論,處理單元110可包括一或更多核心115來執行操作系統(OS),未圖示。在各種實施例,執行OS可實現一或更多特徵,例如先進組態及電力界面(ACPI)及/或操作系統電力管理(OSPM)碼,以提供在平台105上之電力分配及/或消耗的管理。
另外,處理單元110可包括快取記憶體(未圖示),例如像是,靜態隨機存取記憶體(SRAM)及類似者,或任何各種類型的內部積體記憶體。記憶體125可包括動態隨機存取記憶(DRAM)、非依電性記憶體、或類似者。在一範例中,記憶體125可儲存可被處理單元110執行之軟體程式。
互連135可互連平台105的各種組件以不同程度地交換資料及/或控制訊息。舉例而非限制性而言,互連135可包括乙太網路介面、通用序列匯流排(USB)介面、周邊組件互連介面、及類似者的一或更多者。額外或替代地,互連135可包括控制藉此互連之各種組件的電路。例如,互連135可包括一或更多控制器集線器,比如I/O控制器集線器、平台控制器集線器、記憶體控制器集線器及/或類似者。
為了繪示某些實施例的各種特徵,將互連135顯示成耦合處理單元110到用於在平台105接收通訊輸入裝置130、用於從平台105發送通訊之輸出裝置140、及用於在平台105中儲存資料的貯存裝置145。舉例而非限制性而
言,輸入裝置130及輸出裝置140之一或兩者可包括鍵盤、小鍵盤、滑鼠、觸碰螢幕、顯示器、生物識別裝置及類似者的一或更多者。貯存裝置145可包括硬碟驅動機(HDD)、固態驅動機(SSD)、光碟(CD)驅動機、數位多功能碟驅動機(DVD)、及/或其他電腦媒體輸入/輸出(I/O)裝置的一或更多者。在一實施例中,輸入裝置130、輸出裝置140、及貯存裝置145的一或更多者可為在平台105外部,並耦合到平台105,例如作為平台105周邊的各種裝置。
可了解的是,根據各種實施例,平台105之任何各種額外或替代裝置、電路區塊等等可耦合到處理單元110。也了解到平台105之特定架構,例如相關於處理單元110之平台105的裝置、電路區塊等等之相對組態,不限於某些實施例。
根據某些實施例,系統100可經由至網路155的連結,例如使用平台105之網路介面卡、無線網路介面、或天線(未圖示),與其他裝置交換資料。網路連結可包括任何種類的網路連結,比如乙太網路連結、數位用戶線(DSL)、電話線、同軸電纜等等。網路155可為任何種類的網路,比如網際網路、電話網路、電纜網路、無線網路(比如,例如符合IEEE標準802.11(1999)、一或更多IEEE 802.11相關標準、無線都會網路之IEEE 802.16標準)及/或類似者。
根據一實施例,處理單元110,例如一或更多核心
115之一特定處理核心,可不同程度地在兩或更多個處理器電力狀態中操作。如本文所使用,電力狀態係指一或更多特性,例如被遞送至在那個電力狀態中的裝置或多裝置的結合及/或被該裝置或裝置的結合所使用的電力之電壓位準、電流位準、時脈頻率等等。平台105可提供硬體及/或執行軟體來支援、啟動、或否則實現在這種處理器電力狀態之間的處理器核心之變遷。
第2圖繪示根據一實施例之用於提供對處理器狀態資訊的存取之平台200的選擇元件。平台200可包括例如平台105之一些或全部的特徵。
舉例而非限制性而言,平台200可包括處理器核心210以執行操作系統(OS)250。為了繪示一實施例之某些特徵,將處理器核心210顯示成位在平台200的系統晶片(SoC)205上。可了解到處理器核心210可在一替代實施例中位在平台的一或任何SoC之外部,例如在一隔離的單核心或多核心CPU IC晶片中。
處理器核心210可不同程度地耦合到平台200之一或更多其他的組件,例如包括位在SoC 205上或以外的組件。舉例而非限制性而言,SoC 205可包括具有履行圖形資料之計算或其他處理的呈現之電路或其他邏輯的圖形模組215。替代或額外地,SoC 205可包括具有用於提供視頻資訊到顯示器之介面、驅動器、或其他電路/邏輯之顯示模組220。替代或額外地,SoC 205可包括記憶體控制器225,其包括電路或其他邏輯以管理對平台200之資料儲存組
件的存取。替代或額外地,SoC 205可包括電力管理單元(PMU)230以不同程度地檢測、判定、或提供與平台200之一或更多組件的電力管理關聯之資料及/或控制訊息。
在各種實施例中,耦合到處理器核心210的平台200之一些或全部的組件在各種替代實施例中可與平台200之一或任何SoC分開設置。並且,可了解到平台200之這種其他耦合的組件之組合及/或組態僅為例示性,且平台200根據不同實施例可包括任何耦合到處理器核心210之一或更多額外或替代組件的任何各種之組合。
OS 250可在處理器核心210之一或更多操作,亦即非閒置,處理器電力狀態期間呈現基線運行時間執行。在這種正常運行時間執行期間,OS 250可履行各種任務。當處理器核心210正執行OS 250的指令時,例如,代表OS 250來履行任務,處理器核心210可稱為在OS 250的情境中操作。在OS 250的情境中所履行之任務可包括,但不限於,履行在OS 250上運行的應用之操作的任務、使OS 250實現中斷處置的任務、使OS 250實現異常處置的任務及類似者。
在這種運行時間執行期間,OS 250可不同程度地切換於這種任務之間,同時維持在操作處理器電力狀態。例如,OS 250可引動任務切換呼叫以將資訊保存於處理器核心210中,該資訊描述當前執行之任務的執行之狀態,並載入描述即將被切換至的下一個任務之執行的狀態(例如開
始或恢復執行之任務)之其他資訊到處理器核心210中。舉例而非限制性而言,OS 250可發信一或更多任務切換,其導致處理器核心210藉由分別存取記憶體235的任務狀態段(TSS)240a、...、240n的相應者來不同程度地保存及/或載入個別任務的任務狀態。
在一實施例中,OS 250可包括處理器管理器255,例如來自一組執行指令的功能,其操作以評估或否則檢測處理器核心210的一或更多處理器閒置情況。在一實施例中,處理器管理器255可包括Linux OS之CPUIDLE管理器常式。替代或另外地,處理器管理器255可包括使用OS電力管理(OSPM)代理者可得之一或更多處理器閒置/載入檢測功能,該代理者比如為在先進組態及電力介面(ACPI)開放標準(比如2010年4月5日發布之ACPI修正4.0)中可得者。雖本文以處理器管理器255做描述,可了解到根據各種實施例OS 250可包括或提供任何各種額外或替代的檢測邏輯來檢測處理器閒置情況。
舉例而非限制性而言,處理器管理器255可執行以判定、接收指示關於、或檢測當前處理器閒置之程度或類型、目前處理閒置的改變率、預期未來的處理器閒置、預期未來的處理器閒置的改變率及/或類似者。了解到檢測處理器核心210之閒置狀態可包括檢測處理器核心210之相應載入狀態。
例如,OS 250可包括或可存取排程器(未圖示),其意圖替OS 250排程下一個操作、線程等等。處理器管理
器255可檢測OS 250的排程器已判定沒有或預期將沒有準備好排程以供OS 250執行之操作或線程。
基於當前或預期未來的處理器閒置情況之檢測,處理器管理器255可判定閒置情況代表變遷處理器核心210到處理器閒置狀態(例如C6(或更低)電力狀態)的機會。回應於識別這種機會,處理器管理器255可發動這種電力狀態變遷。在一實施例中,啟動電力狀態變遷可包括處理器管理器255履行對OS 250的任務切換邏輯260之呼叫。轉而,任務切換邏輯260可提供低位準信號給處理器核心210之硬體來履行任務切換。在一實施例中,任務切換將處理器核心210的狀態保存到TSS,例如記憶體235的任務狀態段(TSS)240a、...、240n之一,其在OS 250留在操作電力狀態或諸狀態中時可供任務切換用。
例如,處理器核心210可切換到非OS 250之情境的情境之任務。舉例而非例示性而言,任務切換可包括切換處理器至執行單線程情境或其他情境,以供執行並非OS 250的任何任務之電力管理任務。這種電力管理任務可例如包括電力管理韌體245的任務,例如基本輸入/輸出系統(BIOS)任務。
第3圖繪示處理器狀態300之選擇元件,該處理器狀態根據一實施例係提供至TSS 305(或從TSS 305提供),其中提供為針對支援處理器電力狀態變遷的任務切換。TSS 305可包括例如TSS 240a的一些或全部的特徵。
在一實施例中,TSS 305可進一步用於處理器狀態之
另一提供,例如儲存或卸載,其中該另一提供為針對一任務切換,其中在整個該任務切換中,所涉之處理器維持在相同操作處理器電力狀態中。
針對這一種或兩種任務切換(亦即,針對處理器電力狀態變遷或針對無改變操作處理器電力狀態)之TSS 305的可得性可例如源於記憶體中之TSS 305的位置及/或在TSS 305內之處理器狀態資訊的配置。替代或額外地,針對這兩種任務切換之TSS 305的可能性皆可源自在TSS 305之外並參照其的暫存器、表、指標、或其他平台資料元件(未圖示),例如指出TSS 305為可供存取以在OS的正常運行時間執行期間實現同屬任務切換之一種處理器狀態儲存庫。
舉例而非例示性而言,在平台中TSS 305之位置、配置、及/或對其之參照可與以美國加州聖塔克拉拉市的英特爾公司(Intel Corporation)之x86架構的TSS 305之使用相容。尤其,TSS 305可包括儲存碼段315之選擇器的CS暫存器310、儲存資料段325之選擇器的DS暫存器320、及儲存堆疊段335之選擇器的SS暫存器330的一或更多者。
可以任務切換輕易載入CS暫存器310、DS暫存器320、及SS暫存器330之選擇器到處理器,或從其卸載,以例如分別恢復或保留在實現任務切換時任務執行的當前狀態。
TSS 305可包括各種替代或額外的結構,其例如可與
由x86架構處理器之任務切換的實現相容。舉例而非例示性而言,TSS 305可包括一或更多額外資料段暫存器,例示性由可儲存額外資料段345、355、及365的個別選擇器之ES暫存器340、FS暫存器350、及GS暫存器360所代表。替代或額外地,TSS 305可儲存EFLAG暫存器370來儲存指示用於履行與TSS 305關聯的任務之處理器操作的模式(例如單步驟模式、中斷處置模式、任務鏈接模式等等)之各種旗標。替代或額外地,TSS 305可儲存EIP暫存器375來儲存指向執行任務的當前指令之指標。藉由以x86架構處理器存取TSS來儲存及/或擷取處理器狀態的技術已有詳細文獻記載,且不限於各種實施例,其延伸這些與其他這種技術以供支援處理器電力狀態變遷之任務切換應用。
了解到TSS 305中所示之結構僅為例示性,且TSS 305可包括任何各種額外或替代的結構及/或資訊來儲存處理器狀態。此外,這種結構及/或資訊可向處理器指示TSS 305是否可供存取以實現與處理器的電力狀態變遷(例如至或自閒置處理器電力狀態)關聯之任務切換及當處理器保持在單一操作電力狀態中時之任務切換的任一者。
第4圖繪示根據一實施例的提供處理器狀態之方法400的選擇元件。可藉由例如執行OS的平台105之硬體來履行方法400。在一實施例中,方法400可包括,在410,OS檢測執行OS之處理器變遷到第一電力狀態的機會。例如,OS可判定處理器閒置情況指出藉由將處理器
置於閒置處理器電力狀態可有電力節省。
回應於檢測該機會,在420,OS可啟動電力狀態變遷。在一實施例中,OS啟動變遷可包括OS觸發處理器之任務切換。被觸發的任務切換可將處理器的處理器狀態之至少一部分保存到平台的任務切換儲存庫之至少一部分。在一實施例中,平台中之資料的一或更多特徵,例如在任務切換儲存庫中之資料的配置、在平台中之任務切換儲存庫的位置、在任務切換儲存庫外部並參照其之資料,可指示任務切換儲存庫是否可供存取以實現與處理器的電力狀態變遷(例如至或自閒置處理器電力狀態)關聯之任務切換及當處理器保持在單一操作電力狀態中時之任務切換的任一者。
在本文中描述提供對處理器狀態之存取的技術和架構。在本文的說明中,為了便於解釋,提出各種特定細節以提供某些實施例的詳盡理解。然而,對熟悉此技藝人士很明顯地可在無這些特定細節下實行某些實施例。在其他實例中,以區塊圖形式顯示結構和裝置以避免混淆說明。
在本說明書中對於「一實施例(one embodiment)」或「實施例(an embodiment)」之參照意指連同該實施例所述的特徵、結構、或特性係包括在本發明的至少一實施例中。在說明書各處中片語「在一實施例中」的出現不一定都參照至相同的實施例。
以對電腦記憶體內之資料位元做運算之演算法及符號表示來呈現本文中之詳細說明的一些部分。由這些演算法
描述及表示為熟悉運算技藝之人士用來最有效傳達其成果的本質給熟悉此技藝之他人的手段。演算法在此,且一般地,被詮釋為導致希望結果的自我一致的步驟序列。這些步驟為需要物理量之物理操縱者。通常,雖非必要,這些量具有電或磁信號的形式,能夠被儲存、轉移、結合、比較、及其他之操縱。已證明有時為了方便,主要係因慣用語的緣故,將這些信號稱為位元、值、元件、符號、字符、項、數字或類似者。
然而,應注意到所有這些及類似的術語應與適當物理量關聯,且僅為適用於這些量的方便標記。除非從本文討論中顯然另有所指,應認知到在整份說明書中,利用比如「處理」或「運算」或「計算」或「判定」或「顯示」或類似者。的詞之討論可指電腦系統或類似的電子運算裝置之動作及程序,其將電腦系統內的暫存器及記憶體內以物理(電子)量表示之資料操縱並變換成在電腦系統記憶體或暫存器或其他這種資訊儲存、傳輸、或顯示裝置內類似地以物理量表示的其他資料。
某些實施例亦有關於履行本文之操作的設備。此設備可針對所需目的而特別加以建構,或其可包含通用電腦,由儲存在電腦中之電腦程式加以選擇性啟動或重新組態。可將這種電腦程式儲存在電腦可讀取儲存媒體中,比如,但不限於,包括軟碟、光碟、CD-ROM、及光磁碟之任何種類的碟片、唯讀記憶體(ROM)、比如動態RAM(DRAM)之隨機存取記憶體(RAM)、可抹除可編程唯讀
記憶體(EPROM)、電性EPROM(EEPROM)、磁或光卡、或適合儲存電子指令之任何種類的媒體,並且各耦合至電腦系統匯流排。
本文所呈現之演算法及顯示並非本質上關於任何特定電腦或其他設備。可根據本文之教示與程式一起使用各種通用系統,或已證明建構更專門的設備來履行所需方法步驟較方便。各種這些系統的所需結構將出現在本文說明中。另外,並未參照任何特定程式語言來描述某些實施例。將可認知到各種程式語言可用來實現如本文所述之這種實施例的教示。
除了在本文中所述者外,可對所揭露之實施例及實作進行各種修改而不悖離其之範疇。因此,應以例示性,而非限制性意義,詮釋本文之圖解及範例。應完全由對下列申請專利範圍之參照來衡量本發明之範疇。
100‧‧‧系統
105‧‧‧平台
110‧‧‧處理單元
115‧‧‧核心
120‧‧‧儲存裝置
125‧‧‧記憶體
130‧‧‧輸入裝置
135‧‧‧系統互連
140‧‧‧輸出裝置
145‧‧‧貯存裝置
150‧‧‧電源
155‧‧‧網路
200‧‧‧平台
205‧‧‧系統晶片
210‧‧‧處理器核心
215‧‧‧圖形模組
220‧‧‧顯示模組
225‧‧‧記憶體控制器
230‧‧‧電力管理單元
235‧‧‧記憶體
240a~240n‧‧‧任務狀態段
245‧‧‧電力管理韌體
255‧‧‧處理器管理器
260‧‧‧任務切換邏輯
300‧‧‧處理器狀態
305‧‧‧任務狀態段
310‧‧‧暫存器
315‧‧‧碼段
320‧‧‧暫存器
325‧‧‧資料段
330‧‧‧暫存器
335‧‧‧堆疊段
340‧‧‧暫存器
345‧‧‧資料段
350‧‧‧暫存器
355‧‧‧資料段
360‧‧‧暫存器
365‧‧‧資料段
370‧‧‧暫存器
375‧‧‧暫存器
在附圖的圖式中經由例示性且非限制性繪示本發明之各種實施例,且圖中:
第1圖為繪示根據一實施例的提供對處理器狀態資訊之存取的系統之選擇元件的區塊圖。
第2圖為繪示根據一實施例的提供對處理器狀態資訊之存取的系統之執行操作系統及硬體的選擇元件之區塊圖。
第3圖為繪示根據一實施例的儲存處理器狀態資訊之
任務狀態段的選擇元件之區塊圖。
第4圖為繪示根據一實施例的提供對處理器狀態資訊之演算法的選擇元件之流程圖。
100‧‧‧系統
105‧‧‧平台
110‧‧‧處理單元
115‧‧‧核心
120‧‧‧儲存裝置
125‧‧‧記憶體
130‧‧‧輸入裝置
135‧‧‧系統互連
140‧‧‧輸出裝置
145‧‧‧貯存裝置
150‧‧‧電源
155‧‧‧網路
Claims (26)
- 一種實現處理器的電力狀態變遷的方法,該方法包含:以操作系統(OS),檢測執行該OS的處理器變遷到第一電力狀態的機會;及回應於檢測到該機會,該OS開始該變遷,包括該OS藉由該處理器觸發任務切換,該任務切換將該處理器的處理器狀態的至少一部分保存到任務切換儲存庫的至少一部分,其中該任務切換包括切換該處理器從在OS情境中執行任務到在另一情境中執行電力管理任務,其中該任務切換儲存庫可供並不支援藉由該處理器的電力狀態變遷的另一任務切換存取。
- 如申請專利範圍第1項所述之方法,其中該第一電力狀態包括處理器閒置狀態。
- 如申請專利範圍第1項所述之方法,其中該另一情境為單線程情境。
- 如申請專利範圍第1項所述之方法,其中執行該電力管理任務包括執行韌體。
- 如申請專利範圍第4項所述之方法,其中執行該電力管理任務包括執行基本輸入/輸出系統(BIOS)碼。
- 如申請專利範圍第1項所述之方法,其中該任務切換包括從執行在該OS上運行的應用之任務切換該處理器,其中履行該任務切換而不向該應用指示為了該變遷而凍結操作的任何需要。
- 如申請專利範圍第1項所述之方法,其中該任務切換保存該處理器的處理器狀態的該至少一部分包括該任務切換將段暫存器狀態、控制暫存器狀態、EFLAG暫存器狀態、EIP暫存器狀態、及段選擇器狀態的一或更多者保存到該任務切換儲存庫。
- 一種實現處理器的電力狀態變遷的設備,該設備包含:記憶體;耦合到該記憶體的處理器,該處理器執行操作系統(OS)以檢測執行該處理器變遷到第一電力狀態的機會,且回應於檢測到該機會,開始該變遷,包括該OS藉由該處理器觸發任務切換,該任務切換將該處理器的處理器狀態之至少一部分保存到任務切換儲存庫的至少一部分,其中該任務切換包括該OS切換該處理器從在OS情境中的任務之執行到在另一情境中的電力管理任務之執行,其中該任務切換儲存庫可供並不支援藉由該處理器的電力狀態變遷的另一任務切換存取。
- 如申請專利範圍第8項所述之設備,其中該OS的處理器管理器檢測該變遷的該機會。
- 如申請專利範圍第8項所述之設備,其中該第一電力狀態包括處理器閒置狀態。
- 如申請專利範圍第8項所述之設備,其中該另一情境為單線程情境。
- 如申請專利範圍第8項所述之設備,其中該電力 管理任務之執行包括韌體之執行。
- 如申請專利範圍第8項所述之設備,其中該任務切換包括該OS從在該OS上運行的應用之任務的執行切換該處理器,其中履行該任務切換而不向該應用指示為了該變遷而凍結操作的任何需要。
- 如申請專利範圍第8項所述之設備,其中該任務切換保存該處理器的處理器狀態的該至少一部分包括該任務切換將段暫存器狀態、控制暫存器狀態、EFLAG暫存器狀態、EIP暫存器狀態、及段選擇器狀態的一或更多者保存到該任務切換儲存庫。
- 一種電腦可讀取儲存媒體,包含指令儲存於其上,當由一或更多處理器執行該些指令時,履行:以操作系統(OS),檢測執行該OS的處理器變遷到第一電力狀態的機會;及回應於檢測到該機會,該OS開始該變遷,包括該OS藉由該處理器觸發任務切換,該任務切換將該處理器的處理器狀態的至少一部分保存到任務切換儲存庫的至少一部分,其中該任務切換包括切換該處理器從在OS情境中執行任務到在另一情境中執行電力管理任務,其中該任務切換儲存庫可供並不支援藉由該處理器的電力狀態變遷的另一任務切換存取。
- 如申請專利範圍第15項所述之電腦可讀取儲存媒體,其中該第一電力狀態包括處理器閒置狀態。
- 如申請專利範圍第15項所述之電腦可讀取儲存媒 體,其中該另一情境為單線程情境。
- 如申請專利範圍第15項所述之電腦可讀取儲存媒體,其中執行該電力管理任務包括執行韌體。
- 如申請專利範圍第18項所述之電腦可讀取儲存媒體,其中執行該電力管理任務包括執行基本輸入/輸出系統(BIOS)碼。
- 如申請專利範圍第15項所述之電腦可讀取儲存媒體,其中該任務切換包括從執行在該OS上運行的應用之任務切換該處理器,其中履行該任務切換而不向該應用指示為了該變遷而凍結操作的任何需要。
- 如申請專利範圍第15項所述之電腦可讀取儲存媒體,其中該任務切換保存該處理器的處理器狀態的該至少一部分包括該任務切換將段暫存器狀態、控制暫存器狀態、EFLAG暫存器狀態、EIP暫存器狀態、及段選擇器狀態的一或更多者保存到該任務切換儲存庫。
- 一種實現處理器的電力狀態變遷的系統,該系統包含:記憶體;耦合到該記憶體的處理器,該處理器執行操作系統(OS)以檢測執行該處理器變遷到第一電力狀態的機會,且回應於檢測到該機會,開始該變遷,包括該OS藉由該處理器觸發任務切換,該任務切換將該處理器的處理器狀態之至少一部分保存到任務切換儲存庫的至少一部分,其中該任務切換切換該處理器從在OS情境中的任務之執行到 在另一情境中的電力管理任務之執行,其中該任務切換儲存庫可供並不支援藉由該處理器的電力狀態變遷的另一任務切換存取;及耦合到該處理器的天線,該天線耦合該系統到無線網路。
- 如申請專利範圍第22項所述之系統,其中該OS的處理器管理器檢測該變遷的該機會。
- 如申請專利範圍第22項所述之系統,其中該第一電力狀態包括處理器閒置狀態。
- 如申請專利範圍第22項所述之系統,其中該電力管理任務之執行包括韌體之執行。
- 如申請專利範圍第22項所述之系統,其中該任務切換保存該處理器的處理器狀態的該至少一部分包括該任務切換將段暫存器狀態、控制暫存器狀態、EFLAG暫存器狀態、EIP暫存器狀態、及段選擇器狀態的一或更多者保存到該任務切換儲存庫。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN3082DE2010 | 2010-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201237615A TW201237615A (en) | 2012-09-16 |
TWI464572B true TWI464572B (zh) | 2014-12-11 |
Family
ID=46314728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100145341A TWI464572B (zh) | 2010-12-23 | 2011-12-08 | 保存處理器狀態以供介於處理器電力狀態之間的有效變遷之方法,設備,電腦可讀取儲存媒體及系統 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN103098019B (zh) |
TW (1) | TWI464572B (zh) |
WO (1) | WO2012087566A2 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016034087A1 (en) * | 2014-09-03 | 2016-03-10 | Mediatek Inc. | Method for handling mode switching with less unnecessary register data access and related non-transitory machine readable medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260150B1 (en) * | 1998-03-10 | 2001-07-10 | Agere Systems Guardian Corp. | Foreground and background context controller setting processor to power saving mode when all contexts are inactive |
US20080201716A1 (en) * | 2007-02-21 | 2008-08-21 | Yun Du | On-demand multi-thread multimedia processor |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313797B2 (en) * | 2002-09-18 | 2007-12-25 | Wind River Systems, Inc. | Uniprocessor operating system design facilitating fast context switching |
US7373530B2 (en) * | 2005-03-16 | 2008-05-13 | Microsoft Corporation | Systems and methods for providing power-loss protection to sleeping computers systems |
US7523323B2 (en) * | 2005-09-15 | 2009-04-21 | Intel Corporation | Method and apparatus for quick resumption |
US20080082752A1 (en) * | 2006-09-29 | 2008-04-03 | Ram Chary | Method and apparatus for saving power for a computing system by providing instant-on resuming from a hibernation state |
CN101013340A (zh) * | 2007-03-02 | 2007-08-08 | 中兴通讯股份有限公司 | 一种降低无线网卡功耗的方法 |
US8762692B2 (en) * | 2007-09-27 | 2014-06-24 | Intel Corporation | Single instruction for specifying and saving a subset of registers, specifying a pointer to a work-monitoring function to be executed after waking, and entering a low-power mode |
US8352770B2 (en) * | 2009-09-25 | 2013-01-08 | Intel Corporation | Method, system and apparatus for low-power storage of processor context information |
-
2011
- 2011-12-06 WO PCT/US2011/063485 patent/WO2012087566A2/en active Application Filing
- 2011-12-06 CN CN201180002799.2A patent/CN103098019B/zh not_active Expired - Fee Related
- 2011-12-08 TW TW100145341A patent/TWI464572B/zh not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6260150B1 (en) * | 1998-03-10 | 2001-07-10 | Agere Systems Guardian Corp. | Foreground and background context controller setting processor to power saving mode when all contexts are inactive |
US20080201716A1 (en) * | 2007-02-21 | 2008-08-21 | Yun Du | On-demand multi-thread multimedia processor |
Also Published As
Publication number | Publication date |
---|---|
CN103098019A (zh) | 2013-05-08 |
WO2012087566A3 (en) | 2012-08-16 |
CN103098019B (zh) | 2016-10-19 |
TW201237615A (en) | 2012-09-16 |
WO2012087566A2 (en) | 2012-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8775836B2 (en) | Method, apparatus and system to save processor state for efficient transition between processor power states | |
US11782492B2 (en) | Techniques to enable communication between a processor and voltage regulator | |
US20170147054A1 (en) | Enhancing power-performance efficiency in a computer system when bursts of activity occurs when operating in low power | |
US9383806B2 (en) | Multi-core processor instruction throttling | |
US11029744B2 (en) | System, apparatus and method for controlling a processor based on effective stress information | |
US20140089700A1 (en) | Performance management methods for electronic devices with mutiple central processing units | |
AU2012227209A1 (en) | Processor instruction issue throttling | |
TW200941207A (en) | Power management in electronic systems | |
US20140195830A1 (en) | System and method for power management | |
US7093149B2 (en) | Tiered secondary memory architecture to reduce power consumption in a portable computer system | |
US9501299B2 (en) | Minimizing performance loss on workloads that exhibit frequent core wake-up activity | |
US8972763B2 (en) | Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state | |
TWI464572B (zh) | 保存處理器狀態以供介於處理器電力狀態之間的有效變遷之方法,設備,電腦可讀取儲存媒體及系統 | |
US11016916B2 (en) | Generation of processor interrupts using averaged data | |
US9904563B2 (en) | Processor management | |
US20230112947A1 (en) | Low-power pre-boot operations using a multiple cores for an information handling system | |
US10234920B2 (en) | Controlling current consumption of a processor based at least in part on platform capacitance | |
US20130219123A1 (en) | Multi-core processor sharing l1 cache | |
JP5881198B2 (ja) | 優先度ベースのインテリジェントプラットフォームの受動的熱管理 | |
US20190004575A1 (en) | Systems and methods for thermal throttling via processor core count reduction and thermal load line shift | |
US11755450B1 (en) | Systems and methods for detecting and suggesting breaks from use of an IHS (information handling system) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |