專利名稱:用于處理器上下文信息的低功率存儲的方法、系統(tǒng)和設(shè)備的制作方法
用于處理器上下文信息的低功率存儲的方法、系統(tǒng)和設(shè)備技術(shù)領(lǐng)域
一般來說,本發(fā)明的實(shí)施例涉及數(shù)據(jù)處理。更具體來說,實(shí)施例涉及用于為與處理 器核心關(guān)聯(lián)的功率狀態(tài)轉(zhuǎn)變保存和/或檢索(retrieve)處理器核心上下文(context)信 息的技術(shù)。
背景技術(shù):
例如那些用于移動因特網(wǎng)裝置(MID)應(yīng)用的高可用性平臺上的處理器裝置必 須支持“不關(guān)閉(alway-on)”操作模式。不關(guān)閉操作模式一般通過平臺上低等待時(shí)間 (latency)進(jìn)入(entry)和/或退出極低功率狀態(tài)同時(shí)保持操作系統(tǒng)(0 上下文和外部連 通性來表征。為了從平臺角度達(dá)到極低功率狀態(tài),通常將大多數(shù)處理器裝置塊斷電(power off),并且狀態(tài)通常被保持在硬件(HW)中或者通過軟件(SW)交互來保持。這類處理器裝 置塊可包括處理器-例如平臺上的中央處理器(CPU)的一個(gè)或多個(gè)核心。
CPU上下文信息往往保持在CPU高速緩存-例如處理器核心中專用于作為上下文 存儲裝置SRAM工作的L2緩存中。但是,與這種易失本地CPU存儲裝置關(guān)聯(lián)的泄漏往往使在 低功率模式期間保持這種狀態(tài)不可行。但是,沒有將CPU上下文信息保持在HW中對退出這 些低功率狀態(tài)具有不利影響。對冊的備選方案通常要求SW保存和恢復(fù)架構(gòu)和/或微架構(gòu) 狀態(tài),這增加退出等待時(shí)間。由于處理器核心狀態(tài)恢復(fù)工作在比待機(jī)(standby)高許多的 功率級,所以在一些情況下,串行化退出等待時(shí)間中Ims的增加會將電池壽命降低例如 8%。發(fā)明內(nèi)容
本發(fā)明一方面提供一種方法,所述方法包括檢測包括處理器核心的第一功率域 的第一功率狀態(tài)轉(zhuǎn)變的指示;響應(yīng)于所述檢測所述功率狀態(tài)轉(zhuǎn)變的指示,確定所述功率狀 態(tài)轉(zhuǎn)變是否包括到所述第一功率域的多個(gè)功率狀態(tài)中第一功率狀態(tài)的轉(zhuǎn)變;以及,如果確 定所述處理器核心的所述功率狀態(tài)轉(zhuǎn)變包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則將所述處理器 核心的上下文信息保存在所述第一功率域外部的第一上下文存儲裝置中,否則如果確定所 述處理器核心的所述功率狀態(tài)轉(zhuǎn)變沒有包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則將所述處理器 核心的上下文信息保存在所述處理器核心內(nèi)的第二上下文存儲裝置中。
本發(fā)明另一方面提供一種系統(tǒng),包括處理器裝置,包括具有第一上下文存儲裝置 的處理器核心,所述處理器核心檢測包括所述處理器裝置的第一功率域的功率狀態(tài)轉(zhuǎn)變的 指示,所述處理器核心還響應(yīng)于所述檢測所述功率狀態(tài)轉(zhuǎn)變的指示而確定所述功率狀態(tài)轉(zhuǎn) 變是否包括到所述第一功率域的多個(gè)功率狀態(tài)中第一功率狀態(tài)的轉(zhuǎn)變;以及,第二上下文 存儲裝置,耦合到所述處理器裝置并且在所述第一功率域外部。其中,如果確定所述處理器 核心的功率狀態(tài)轉(zhuǎn)變包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則所述處理器核心將所述處理器核 心的上下文信息保存在所述第二上下文存儲裝置中,否則,如果確定所述處理器核心的功 率狀態(tài)轉(zhuǎn)變沒有包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則所述處理器核心將所述處理器核心的上下文信息保存在所述第一上下文存儲裝置中。
本發(fā)明再一方面提供一種設(shè)備,包括處理器核心,具有第一上下文存儲裝置,所 述處理器核心檢測包括所述處理器核心的第一功率域的功率狀態(tài)轉(zhuǎn)變的指示,所述處理器 核心還響應(yīng)于所述檢測所述功率狀態(tài)轉(zhuǎn)變的指示而確定所述功率狀態(tài)轉(zhuǎn)變是否包括到所 述第一功率域的多個(gè)功率狀態(tài)中第一功率狀態(tài)的轉(zhuǎn)變;第二上下文存儲裝置耦合到所述處 理器核心并且在所述第一功率域外部;其中,如果確定所述處理器核心的功率狀態(tài)轉(zhuǎn)變包 括到所述第一功率狀態(tài)的轉(zhuǎn)變,則所述處理器核心將所述處理器核心的上下文信息保存在 所述第二上下文存儲裝置中,否則,如果確定所述處理器核心的功率狀態(tài)轉(zhuǎn)變沒有包括到 所述第一功率狀態(tài)的轉(zhuǎn)變,則所述處理器核心將所述處理器核心的上下文信息保存在所述 第一上下文存儲裝置中。
在附圖的圖形中以示例方式而不是限制方式說明本發(fā)明的各個(gè)實(shí)施例,在附圖 中
圖1是根據(jù)實(shí)施例示出存取(access)處理器上下文信息的系統(tǒng)中選擇要素 (element)的框圖。
圖2是根據(jù)實(shí)施例示出用于存儲處理器上下文信息的方法中選擇要素的順序圖。
圖3是根據(jù)實(shí)施例示出檢索處理器上下文信息的方法中選擇要素的順序圖。
圖4是根據(jù)實(shí)施例示出存取處理器上下文信息的系統(tǒng)中選擇要素的框圖。
圖5A是根據(jù)實(shí)施例示出用于存儲處理器上下文信息的方法中選擇要素的順序 圖。
圖5B是根據(jù)實(shí)施例示出用于存儲處理器上下文信息的方法中選擇要素的順序 圖。
圖6是根據(jù)實(shí)施例示出用于檢索處理器上下文信息的方法中選擇要素的順序圖。
具體實(shí)施方式
圖1根據(jù)實(shí)施例示出存儲處理器上下文信息的系統(tǒng)100中的選擇要素。系統(tǒng)100 可包括具有至少一個(gè)處理器核心120的處理裝置,如CPU。處理器核心120可駐留在復(fù) (complex)功率域110-即一組能夠以不同方式工作在不同功率狀態(tài)的一個(gè)或多個(gè)硬件組 件和/或裝置中。本文所使用的“功率狀態(tài)”是指用于實(shí)現(xiàn)呈現(xiàn)特定功率特性-例如一個(gè) 或多個(gè)功率消耗等級和/或類型的性能的功率域條件。在實(shí)施例中,復(fù)功率域110的多個(gè) 功率狀態(tài)可包括向處理器核心120提供各種相應(yīng)電源電壓等級(level)。
復(fù)功率域110的多個(gè)功率狀態(tài)可包括連續(xù)功率狀態(tài),由此,處理器核心120的功率 消耗可遞增地增加/減小。例如,與復(fù)功率域Iio中的處理器核心120進(jìn)行通信的硬件裝 置和/或組件可被連續(xù)斷開或者以別的方式掉電(power down)-例如以便遞增地減小處理 器核心120上的處理負(fù)荷。作為代替或補(bǔ)充,處理器核心120中的部分或全部電路邏輯可 被選擇性地?cái)嚅_或者以別的方式掉電以減小功率消耗。在實(shí)施例中,復(fù)功率域110中多個(gè) 功率狀態(tài)的較低功率消耗狀態(tài)可表示其中處理核心120被完全掉電的待機(jī)模式。
在實(shí)施例中,系統(tǒng)100可包括與復(fù)功率域110分離的標(biāo)稱(nominal)功率域140。標(biāo)稱功率域140可包括其表明某種在系統(tǒng)100中一個(gè)或多個(gè)其它功率域的各種功率狀態(tài)期 間一致的功率特性的自身功率狀態(tài)。例如,標(biāo)稱功率狀態(tài)140中的低功率(LP)上下文存儲 裝置142在復(fù)功率域110的多個(gè)功率狀態(tài)期間可提供有或者以別的方式保持至少某種或某 些最小電源電壓等級。在實(shí)施例中,標(biāo)稱功率域140的功率狀態(tài)可以是復(fù)功率域110中多 個(gè)不同功率狀態(tài)的先決條件。
通過提供一致的功率特性,標(biāo)稱功率域140的功率狀態(tài)可在系統(tǒng)100中支持“不關(guān) 閉”操作模式。例如,標(biāo)稱功率域140的LP上下文存儲裝置142可保持為加電和可用,以 便在它以不同方式轉(zhuǎn)變到其相應(yīng)功率狀態(tài)和/或從其相應(yīng)功率狀態(tài)轉(zhuǎn)變時(shí)支持另一域-例 如復(fù)功率域110。更具體來說,LP上下文存儲裝置142可保持為對存儲和/或恢復(fù)處理器 核心120的上下文信息可用。本文所使用的“上下文信息”是指描述在特定時(shí)間的操作狀 態(tài)的信息。上下文信息可表示數(shù)據(jù)處理系統(tǒng)的狀態(tài)(或上下文)的全部或者僅一部分。例 如,處理器核心120的上下文信息可描述處理器核心120-例如就在它進(jìn)入特定功率狀態(tài)之 前的一個(gè)或多個(gè)條件。
處理器核心120可使用其自身的上下文存儲代碼(storage code) 122來指引其上 下文信息中的某些在本地上下文存儲裝置124中的存儲。此外,處理器核心120的上下文 信息可遠(yuǎn)程存儲在低功率(LP)上下文存儲裝置142中。至少就在上下文信息在LP上下文 存儲裝置142中的存儲提供優(yōu)于為了保持本地上下文存儲裝置IM中存儲的上下文而對處 理核心120維持功率級的某種備選方案的相對功率節(jié)省優(yōu)點(diǎn)而言,LP上下文存儲裝置142 可被認(rèn)為是“低功率”的。復(fù)功率域110中的控制器130可幫助上下文存儲代碼122對LP 上下文存儲裝置142進(jìn)行存取,以便為與掉電的處理器核心120關(guān)聯(lián)的功率狀態(tài)轉(zhuǎn)變存儲 和/或檢索上下文信息。
保存和/或檢索處理器核心120的上下文信息可包括對處理器核心120中的本地 上下文存儲裝置1 進(jìn)行存取。在實(shí)施例中,保存和/或檢索處理器核心120的上下文信 息可以至少部分由系統(tǒng)110的控制器130來指引。例如,控制器130可向上下文存儲代碼 122提供通信,指明處理器核心120的上下文信息何時(shí)被保存到標(biāo)稱功率域140的LP上下 文存儲裝置142和/或被從其中檢索。
圖2根據(jù)實(shí)施例示出用于保存處理器上下文信息的方法200中的選擇要素。例如, 方法200可由系統(tǒng)100執(zhí)行。方法200可包括在210檢測功率狀態(tài)轉(zhuǎn)變的指示。例如,系 統(tǒng)100的功率管理硬件和/或軟件(未示出)可檢測處理負(fù)荷的下降、到網(wǎng)絡(luò)的接入點(diǎn)的 丟失和/或指明系統(tǒng)100可利用減小功率消耗的機(jī)會的某種其它事件。作為代替或補(bǔ)充, 上下文存儲代碼122可根據(jù)所檢測的這種事件來檢測觸發(fā)消息,該消息指引上下文存儲代 碼122發(fā)起處理器上下文信息的存儲。
響應(yīng)于檢測到該指示,在220可進(jìn)行關(guān)于指明的功率狀態(tài)轉(zhuǎn)變是否包括到多個(gè)功 率狀態(tài)中特定功率狀態(tài)I3n的轉(zhuǎn)變的確定。例如,上下文存儲代碼122和/或控制器130可 查詢系統(tǒng)100的功率管理部件,以便識別復(fù)功率域110是否將轉(zhuǎn)變到功率狀態(tài)IV在實(shí)施 例中,功率狀態(tài)I3n包括其中處理器核心-如處理器核心120-被掉電的狀態(tài)。
如果確定功率狀態(tài)轉(zhuǎn)變確實(shí)包括到功率狀態(tài)的轉(zhuǎn)變,則某種處理器上下文信息 可被保存在第一上下文存儲裝置中。第一上下文存儲裝置可包括例如LP上下文存儲裝置 142。在實(shí)施例中,處理器核心120的上下文信息可被直接存儲到LP上下文存儲裝置142。備選地,處理器核心120的上下文信息可被首先存儲到本地上下文存儲裝置124,然后從本 地上下文存儲裝置124復(fù)制到LP上下文存儲裝置142。在將上下文信息復(fù)制到LP上下文 存儲裝置142之前最初將其存儲到本地上下文存儲裝置IM可降低對保持用于對應(yīng)上下文 存儲操作的不同但功能上重復(fù)的消息傳遞和/或指令的需要。
如果確定功率狀態(tài)轉(zhuǎn)變沒有包括到功率狀態(tài)的轉(zhuǎn)變,則可在235將處理器上下 文信息保存在第二上下文存儲裝置中。在實(shí)施例中,這個(gè)第二上下文存儲裝置可以是本地 上下文存儲裝置124。要理解,在220進(jìn)行確定的備選結(jié)果(未示出)可以是不需要存儲上 下文信息。在進(jìn)行處理器上下文信息的任何存儲之后,系統(tǒng)100可根據(jù)需要在240繼續(xù),以 完成功率狀態(tài)轉(zhuǎn)變。
圖3根據(jù)實(shí)施例示出用于檢索處理器上下文信息的方法300中的選擇要素。例如, 方法300可由系統(tǒng)100執(zhí)行。方法300可包括在310檢測功率狀態(tài)轉(zhuǎn)變的指示。例如,系統(tǒng) 100的功率管理硬件和/或軟件(未示出)可檢測處理負(fù)荷的實(shí)際或預(yù)計(jì)增加、新近可用的 網(wǎng)絡(luò)接入點(diǎn)和/或指明可要求系統(tǒng)100增加功率消耗的某種其它事件。作為代替或補(bǔ)充, 上下文存儲代碼122可根據(jù)所檢測的這種事件檢測觸發(fā)消息,該消息指引上下文存儲代碼 122發(fā)起對已存儲處理器上下文信息的檢索。
響應(yīng)于檢測到該指示,在320可進(jìn)行關(guān)于指明的功率狀態(tài)轉(zhuǎn)變是否包括從多個(gè)功 率狀態(tài)中特定功率狀態(tài)I3n的轉(zhuǎn)變的確定。例如,上下文存儲代碼122和/或控制器130可 查詢系統(tǒng)100的功率管理部件,以便識別復(fù)功率域110是否從功率狀態(tài)轉(zhuǎn)變。在實(shí)施例 中,功率狀態(tài)I3n可包括其中處理器核心被掉電的狀態(tài)。
如果確定功率狀態(tài)轉(zhuǎn)變確實(shí)包括從功率狀態(tài)的轉(zhuǎn)變,則可在330從第一上下 文存儲裝置檢索處理器上下文信息。第一上下文存儲裝置可包括例如LP上下文存儲裝置 142。在實(shí)施例中,可直接從LP上下文存儲裝置142檢索處理器核心120的上下文信息。備 選地,可首先將處理器核心120的上下文信息從LP上下文存儲裝置142復(fù)制到本地上下文 存儲裝置124,之后根據(jù)復(fù)制到本地上下文存儲裝置124的上下文信息恢復(fù)處理器狀態(tài)。
如果確定功率狀態(tài)轉(zhuǎn)變沒有包括到功率狀態(tài)的轉(zhuǎn)變,則可在335從第二上下文 存儲裝置檢索處理器上下文信息。在實(shí)施例中,這個(gè)第二上下文存儲裝置可以是本地上下 文存儲裝置124。要理解,在320進(jìn)行確定的備選結(jié)果(未示出)可以是不需要檢索上下文 信息。在進(jìn)行處理器上下文信息的存儲之后,在340,系統(tǒng)100可根據(jù)需要繼續(xù),以完成功率 狀態(tài)轉(zhuǎn)變。
圖4根據(jù)實(shí)施例示出存儲處理器上下文信息的系統(tǒng)400中的選擇要素。系統(tǒng)400 可至少包括本文針對系統(tǒng)100所述的某些特征。系統(tǒng)400可在包括具有至少一個(gè)處理器 核心420的處理裝置的復(fù)功率域410中實(shí)現(xiàn)多個(gè)功率狀態(tài)。處理器核心420可包括微碼 (μ Code) 422,以便將處理器核心似4的某種上下文信息存儲到本地上下文存儲裝置-如本 地SRAM 424。系統(tǒng)400還可包括微固件(μ Fff) 430-例如在處理器核心430外部-以便提 供擴(kuò)大μ Code 422的上下文保存能力的控制指令。
可將復(fù)功率域410與系統(tǒng)400的標(biāo)稱功率域440進(jìn)行區(qū)分。標(biāo)稱功率域440可包 括一個(gè)或多個(gè)硬件裝置和/或組件,它們在復(fù)功率域410中多個(gè)功率狀態(tài)的每個(gè)期間提供 有或者以別的方式保持某種一致功率特性。作為說明而不是限制,標(biāo)稱功率域440的低功 率SRAM 442可提供有至少某最小電源電壓等級,作為復(fù)功率域410實(shí)現(xiàn)多個(gè)功率狀態(tài)和/或以不同方式在多個(gè)功率狀態(tài)之間轉(zhuǎn)變的條件。該至少最小電源保持低功率SRAM 442存 儲處理器核心420的上下文信息的可用性-例如以供復(fù)功率域410向其中處理器核心420 完全掉電的功率狀態(tài)和/或從其的轉(zhuǎn)變。
系統(tǒng)400可提供處理器核心420的上下文信息到本地SRAM 424和/或低功率SRAM 442的選擇性存儲,其中存儲上下文信息的目的地至少部分根據(jù)識別復(fù)功率域410正向其 (或者從其)轉(zhuǎn)變的功率狀態(tài)來確定。系統(tǒng)400可存儲指明處理器核心420的上下文信息 將被存儲-或者已被存儲-在本地SRAM 424和/或低功率SRAM 442的特定組合中的信 息-例如在實(shí)現(xiàn)特定寄存器(ISR)435中。μ FW 430可對ISR 435進(jìn)行存取,以便確定由 μ Code 422進(jìn)行的上下文存儲或檢索是否或者如何說明上下文在低功率SRAM 440中的存 儲。
圖5A根據(jù)實(shí)施例示出存儲處理器上下文信息的方法500中的選擇要素。在各個(gè) 實(shí)施例中,方法500可在包括系統(tǒng)100和/或系統(tǒng)400的特征的系統(tǒng)中執(zhí)行。在方法500 中,可在505將功率管理(PM)事件識別為功率狀態(tài)轉(zhuǎn)變的觸發(fā)。響應(yīng)于識別PM事件,可在 510進(jìn)行關(guān)于所觸發(fā)功率狀態(tài)轉(zhuǎn)變是否包括到其中處理器核心被掉電的功率狀態(tài)的轉(zhuǎn)變的 確定。處理器核心可駐留在實(shí)現(xiàn)包括其中處理器核心被掉電的至少一個(gè)功率狀態(tài)的多個(gè)功 率狀態(tài)的復(fù)功率域中??蓪⑻幚砥骱诵牡膹?fù)功率域與其中低功率(LP) RAM保持可用以存儲 處理器核心上下文信息的標(biāo)稱功率域進(jìn)行區(qū)分。
如果確定所觸發(fā)功率狀態(tài)轉(zhuǎn)變將使處理器核心掉電,則可在515存儲指明處理器 核心上下文信息在LP RAM中的存儲的信息。在實(shí)施例中,ISR或類似數(shù)據(jù)存儲部件將存儲 這種信息以便用作觸發(fā),使得負(fù)責(zé)存儲這種上下文信息的代碼將分支,以便執(zhí)行將上下文 信息存儲到LP RAM的執(zhí)行流程。在實(shí)施例中,將處理器核心上下文信息存儲到LP RAM可 包括將處理器核心上下文信息存儲到處理器核心的本地RAM,然后將已存儲上下文信息的 副本從本地RAM卸載到標(biāo)稱功率域的LP RAM。要理解,在各個(gè)備選實(shí)施例中,處理器核心上 下文信息可被直接保存到LP RAM-例如在不對處理器核心的本地RAM進(jìn)行存取的情況下。
如果所觸發(fā)功率狀態(tài)轉(zhuǎn)變確定為沒有使處理器核心掉電,則可繞過在515的觸發(fā) 信息的存儲,并且在520,方法500可繼續(xù)其它操作,以便準(zhǔn)備用于使處理器核心掉電的一 個(gè)或多個(gè)執(zhí)行線程。在各個(gè)實(shí)施例中,上下文信息可包括對運(yùn)行于處理器核心的一個(gè)或多 個(gè)線程的狀態(tài)進(jìn)行描述的信息。
圖5B根據(jù)實(shí)施例示出存儲處理器上下文信息的方法550中的選擇要素。例如,方 法550可在包括本文針對系統(tǒng)100和系統(tǒng)400所述的特征的系統(tǒng)中執(zhí)行。在實(shí)施例中,方 法550可在方法500的操作之后執(zhí)行。在555,如μ Code 422的上下文存儲代碼可將處理 器上下文信息-例如在處理器核心中運(yùn)行的一個(gè)或多個(gè)線程的當(dāng)前狀態(tài)-保存到那個(gè)處理 器核心的本地RAM。處理器核心可駐留在實(shí)現(xiàn)包括其中處理器核心被掉電的至少一個(gè)功率 狀態(tài)的多個(gè)功率狀態(tài)的復(fù)功率域中??蓪⑻幚砥骱诵牡膹?fù)功率域與低功率(LP) RAM保持可 用以存儲處理器核心上下文信息的標(biāo)稱功率域進(jìn)行區(qū)分。
可在560-例如由處理器核心的μ Code或者由支持μ Code的外部控制代碼-進(jìn) 行關(guān)于ISR或類似儲存庫(r印ository)是否指明已存儲處理器上下文信息將被從本地RAM 卸載的評估。如果是,則在565,μ Code將線程狀態(tài)或者其它處理器上下文信息卸載到LP RAM。如果沒有指明從本地RAM卸載,則μ Code先行將上下文信息寫到LP RAM,并且繼續(xù)其它操作以完成處理器核心的掉電。
圖6根據(jù)實(shí)施例示出用于檢索處理器上下文信息的方法600中的選擇要素。例如, 方法600可在包括本文針對系統(tǒng)100和系統(tǒng)400所述的特征的系統(tǒng)中執(zhí)行。在實(shí)施例中, 方法600將檢索由方法500和550中任一或二者所存儲的上下文信息。
在605,如μ Fff的控制器部件可將事件識別為功率狀態(tài)轉(zhuǎn)變的觸發(fā)。響應(yīng)于識別 該事件,可在610進(jìn)行關(guān)于所觸發(fā)功率狀態(tài)轉(zhuǎn)變是否包括從其中處理器核心被掉電的功率 狀態(tài)喚醒(awaking)的確定。處理器核心可駐留在實(shí)現(xiàn)多個(gè)功率狀態(tài)的復(fù)功率域中??蓪?處理器核心的復(fù)功率域與其中低功率(LP) RAM保持可用以存儲處理器核心上下文信息的 標(biāo)稱功率域進(jìn)行區(qū)分。
如果確定功率狀態(tài)轉(zhuǎn)變將把處理器核心從掉電喚醒,則在615,如μ Fff的控制代 碼可通知處理器核心的上下文存儲μ Code將線程狀態(tài)或其它處理器上下文信息從LP RAM 復(fù)制到處理器核心的本地RAM。在將處理器上下文信息復(fù)制到本地RAM之后,在620,μ Fff 可指引從LP RAM刪除處理器上下文信息。在620,μ Code可從復(fù)制到本地RAM的上下文信 息恢復(fù)處理器核心中線程的狀態(tài)。如果確定功率狀態(tài)轉(zhuǎn)變不把處理器核心從掉電喚醒,則 可執(zhí)行在620的線程狀態(tài)的恢復(fù),而無需在615或620對LP RAM進(jìn)行存取。
本文描述用于處理器操作的技術(shù)和架構(gòu)。為了便于說明,在以上描述中提出了大 量具體細(xì)節(jié),以便提供對本發(fā)明實(shí)施例的透徹了解。然而,對本領(lǐng)域技術(shù)人員而言顯而易 見,沒有這些具體細(xì)節(jié)也可實(shí)施本發(fā)明實(shí)施例。在其它情況下,結(jié)構(gòu)和裝置以框圖形式示 出,以免混淆本描述。
說明書中提到“一個(gè)實(shí)施例”或“實(shí)施例”表示結(jié)合該實(shí)施例所述的具體特征、結(jié) 構(gòu)或特性包含在本發(fā)明的至少一個(gè)實(shí)施例中。短語“在一個(gè)實(shí)施例中”在本說明書中各個(gè) 位置的出現(xiàn)不一定都指同一實(shí)施例。
本文中具體實(shí)施方式
的某些部分根據(jù)對計(jì)算機(jī)存儲器中數(shù)據(jù)位的操作的算法和 符號表示來提供。這些算法描述和表示是數(shù)據(jù)處理領(lǐng)域中技術(shù)人員用來向本領(lǐng)域中其它技 術(shù)人員以最有效方式傳達(dá)其工作主旨的手段。算法在此且一般被認(rèn)為是導(dǎo)致預(yù)期結(jié)果的自 相容步驟序列。這些步驟是要求物理量的物理處理的那些步驟。這些量通常但并非一定采 取能夠被存儲、傳送、組合、比較或者以別的方式處理的電信號或磁信號的形式。已經(jīng)證明 主要因?yàn)橐话闶褂枚鴮⑦@些信號稱作位、值、元素、符號、字符、項(xiàng)、數(shù)字等有時(shí)較為便利。
但應(yīng)當(dāng)記住,所有這些及類似術(shù)語將與適當(dāng)?shù)奈锢砹筷P(guān)聯(lián),并且只是應(yīng)用于這些 量的便捷標(biāo)簽。除非具體說明,否則從以下論述顯而易見,要領(lǐng)會在整個(gè)描述中采用例如 “處理”或“計(jì)算”或“演算”或“確定”或者“顯示”等術(shù)語的論述是指計(jì)算機(jī)系統(tǒng)或類似電 子計(jì)算裝置的動作和過程,所述計(jì)算機(jī)系統(tǒng)或類似電子計(jì)算裝置處理表示為計(jì)算機(jī)系統(tǒng)的 寄存器和存儲器中的物理(電子)量的數(shù)據(jù)并將其變換為同樣表示為計(jì)算機(jī)系統(tǒng)存儲器或 寄存器或者其它這種信息存儲、傳輸或顯示裝置中的物理量的其它數(shù)據(jù)。
本發(fā)明還涉及用于執(zhí)行本文操作的設(shè)備。這種設(shè)備可對于所需目的進(jìn)行專門構(gòu) 造,或者它可包括通過計(jì)算機(jī)中存儲的計(jì)算機(jī)程序選擇性激活或重新配置的通用計(jì)算機(jī)。 這種計(jì)算機(jī)程序可存儲在例如但不限于以下的計(jì)算機(jī)可讀存儲介質(zhì)中包括軟盤、光盤、 CD-ROM和磁光盤的任何類型的磁盤,只讀存儲器(ROM),例如動態(tài)RAM(DRAM)的隨機(jī)存取存 儲器(RAM),EPROM,EEPR0M,磁卡或光卡,或者適合存儲電子指令且各自耦合到計(jì)算機(jī)系統(tǒng)總線的任何類型的介質(zhì)。
本文所提供的算法和顯示不是固有地與任何特定計(jì)算機(jī)或其它設(shè)備相關(guān)。各種通 用系統(tǒng)可與根據(jù)本文教導(dǎo)的程序配合使用,或者可證明構(gòu)建更專門的設(shè)備來執(zhí)行所需方法 步驟是便利的。通過本文的描述,各種這些系統(tǒng)的所需結(jié)構(gòu)將顯而易見。另外,沒有參照任 何具體編程語言來描述本發(fā)明。要領(lǐng)會,可用各種編程語言來實(shí)現(xiàn)本文所述的本發(fā)明實(shí)施 例的教導(dǎo)。
除了本文所述的之外,可在不脫離本發(fā)明的公開實(shí)施例和實(shí)現(xiàn)的范圍的情況下對 其進(jìn)行各種修改。因此,本文的說明和示例應(yīng)當(dāng)被認(rèn)為是說明性而不是限制性的。本發(fā)明 實(shí)施例的范圍應(yīng)當(dāng)僅參照隨附權(quán)利要求書來衡量。
權(quán)利要求
1.一種方法,包括檢測包括處理器核心的第一功率域的第一功率狀態(tài)轉(zhuǎn)變的指示; 響應(yīng)于所述檢測所述功率狀態(tài)轉(zhuǎn)變的指示,確定所述功率狀態(tài)轉(zhuǎn)變是否包括到所述第 一功率域的多個(gè)功率狀態(tài)中第一功率狀態(tài)的轉(zhuǎn)變;以及如果確定所述處理器核心的所述功率狀態(tài)轉(zhuǎn)變包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則 將所述處理器核心的上下文信息保存在所述第一功率域外部的第一上下文存儲裝置 中,否則如果確定所述處理器核心的所述功率狀態(tài)轉(zhuǎn)變沒有包括到所述第一功率狀態(tài)的轉(zhuǎn)變, 則將所述處理器核心的上下文信息保存在所述處理器核心內(nèi)的第二上下文存儲裝置中。
2.如權(quán)利要求1所述的方法,其中,所述第一功率狀態(tài)包括其中所述處理器核心被掉 電的狀態(tài)。
3.如權(quán)利要求1所述的方法,其中,所述第一上下文存儲裝置和所述第二上下文存儲 裝置包括靜態(tài)隨機(jī)存取存儲器(SRAM)。
4.如權(quán)利要求1所述的方法,其中,將所述處理器核心的上下文信息保存在所述第一 上下文存儲裝置中包括將所述處理器核心的上下文信息保存到所述第二上下文存儲裝置,以及將所述第二上下文存儲裝置中保存的所述上下文信息復(fù)制到所述第一上下文存儲裝置。
5.如權(quán)利要求1所述的方法,其中,將所述處理器核心的上下文信息保存在所述第一 上下文存儲裝置中包括進(jìn)行保存而無需對所述第二上下文存儲裝置進(jìn)行存取。
6.如權(quán)利要求1所述的方法,其中,所述第一上下文存儲裝置在與所述第一功率域分 離的第二功率域中,其中所述第二功率域的功率狀態(tài)包括在所述第一功率域的所述多個(gè)功 率狀態(tài)中的每個(gè)期間所保持的功率特性。
7.如權(quán)利要求6所述的方法,其中,所述功率特性包括向所述第一上下文存儲裝置提 供至少第一電源電壓等級。
8.如權(quán)利要求1所述的方法,還包括檢測所述第一功率域的第二功率狀態(tài)轉(zhuǎn)變的指示,所述第二功率狀態(tài)轉(zhuǎn)變是在所述第 一功率狀態(tài)轉(zhuǎn)變之后;響應(yīng)于所述檢測所述第二功率狀態(tài)轉(zhuǎn)變的指示,確定所述第二功率狀態(tài)轉(zhuǎn)變是否包括 從所述第一功率狀態(tài)的轉(zhuǎn)變;以及如果確定所述第二功率狀態(tài)轉(zhuǎn)變包括從所述第一功率狀態(tài)的轉(zhuǎn)變,則 從所述第一上下文存儲裝置檢索所述處理器核心的上下文信息,否則 如果確定所述第二功率狀態(tài)轉(zhuǎn)變沒有包括從所述第一功率狀態(tài)的轉(zhuǎn)變,則從所述第二 上下文存儲裝置檢索所述處理器核心的上下文信息。
9.一種系統(tǒng),包括處理器裝置,包括具有第一上下文存儲裝置的處理器核心,所述處理器核心檢測包括 所述處理器裝置的第一功率域的功率狀態(tài)轉(zhuǎn)變的指示,所述處理器核心還響應(yīng)于所述檢測 所述功率狀態(tài)轉(zhuǎn)變的指示而確定所述功率狀態(tài)轉(zhuǎn)變是否包括到所述第一功率域的多個(gè)功 率狀態(tài)中第一功率狀態(tài)的轉(zhuǎn)變;以及第二上下文存儲裝置,耦合到所述處理器裝置并且在所述第一功率域外部; 其中,如果確定所述處理器核心的功率狀態(tài)轉(zhuǎn)變包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則 所述處理器核心將所述處理器核心的上下文信息保存在所述第二上下文存儲裝置中,否 則,如果確定所述處理器核心的功率狀態(tài)轉(zhuǎn)變沒有包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則所 述處理器核心將所述處理器核心的上下文信息保存在所述第一上下文存儲裝置中。
10.如權(quán)利要求9所述的系統(tǒng),其中,所述第一功率狀態(tài)包括其中所述處理器核心被掉 電的狀態(tài)。
11.如權(quán)利要求9所述的系統(tǒng),其中,所述第一上下文存儲裝置和所述第二上下文存儲 裝置包括靜態(tài)隨機(jī)存取存儲器(RAM)。
12.如權(quán)利要求9所述的系統(tǒng),其中,所述處理器核心將所述處理器核心的上下文信息 保存在所述第二上下文存儲裝置中包括所述處理器核心將所述處理器核心的上下文信息保存到所述第一上下文存儲裝置,以及所述處理器核心將所述第二上下文存儲裝置中保存的所述上下文信息復(fù)制到所述第 一上下文存儲裝置。
13.如權(quán)利要求9所述的系統(tǒng),其中,所述第二上下文存儲裝置在與所述第一功率域分 離的第二功率域中,其中所述第二功率域的功率狀態(tài)保持在所述第一功率域的所述多個(gè)功 率狀態(tài)中每個(gè)期間的功率特性。
14.一種設(shè)備,包括處理器核心,具有第一上下文存儲裝置,所述處理器核心檢測包括所述處理器核心的 第一功率域的功率狀態(tài)轉(zhuǎn)變的指示,所述處理器核心還響應(yīng)于所述檢測所述功率狀態(tài)轉(zhuǎn)變 的指示而確定所述功率狀態(tài)轉(zhuǎn)變是否包括到所述第一功率域的多個(gè)功率狀態(tài)中第一功率 狀態(tài)的轉(zhuǎn)變;第二上下文存儲裝置,耦合到所述處理器核心并且在所述第一功率域外部; 其中,如果確定所述處理器核心的功率狀態(tài)轉(zhuǎn)變包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則 所述處理器核心將所述處理器核心的上下文信息保存在所述第二上下文存儲裝置中,否 則,如果確定所述處理器核心的功率狀態(tài)轉(zhuǎn)變沒有包括到所述第一功率狀態(tài)的轉(zhuǎn)變,則所 述處理器核心將所述處理器核心的上下文信息保存在所述第一上下文存儲裝置中。
15.如權(quán)利要求14所述的設(shè)備,其中,所述第一功率狀態(tài)包括其中所述處理器核心被 掉電的狀態(tài)。
16.如權(quán)利要求14所述的設(shè)備,其中,所述第一上下文存儲裝置和所述第二上下文存 儲裝置包括靜態(tài)隨機(jī)存取存儲器(RAM)。
17.如權(quán)利要求14所述的設(shè)備,其中,所述處理器核心將所述處理器核心的上下文信 息保存在所述第二上下文存儲裝置中包括所述處理器核心將所述處理器核心的上下文信息保存到所述第一上下文存儲裝置,以及所述處理器核心將所述第二上下文存儲裝置中保存的所述上下文信息復(fù)制到所述第 一上下文存儲裝置。
18.如權(quán)利要求14所述的設(shè)備,其中,所述第二上下文存儲裝置在與所述第一功率域分離的第二功率域中,其中所述第二功率域的功率狀態(tài)提供在所述第一功率域的所述多個(gè) 功率狀態(tài)中每個(gè)期間的功率特性。
全文摘要
用于保存和/或檢索功率狀態(tài)轉(zhuǎn)變的處理器核心上下文信息的方法和系統(tǒng)。處理器核心駐留在以不同方式在多個(gè)功率狀態(tài)之間轉(zhuǎn)變的復(fù)功率域中。處理器核心包括本地上下文存儲區(qū),供存儲和檢索處理器核心上下文信息。低功率上下文存儲裝置駐留在復(fù)功率域外部的標(biāo)稱功率域中。根據(jù)復(fù)功率域的功率狀態(tài)轉(zhuǎn)變是否包括使處理器核心掉電的轉(zhuǎn)變,將處理器核心上下文信息存儲到低功率上下文存儲裝置。
文檔編號G06F1/32GK102033600SQ201010500738
公開日2011年4月27日 申請日期2010年9月21日 優(yōu)先權(quán)日2009年9月25日
發(fā)明者A·V·喬巴爾, B·L·弗萊明, B·M·庫塔納, S·K·蒙達(dá)爾 申請人:英特爾公司