專利名稱:基于存儲(chǔ)器訪問指令生成執(zhí)行指令的裝置、系統(tǒng)和方法
背景技術(shù):
電源管理操作例如可涉及核心計(jì)時(shí)控制、活動(dòng)狀態(tài)操作、空閑狀態(tài)操作和/或熱控制,例如高級(jí)配置和電源接口(ACPI)規(guī)范所定義的。
常規(guī)的計(jì)算平臺(tái)可執(zhí)行一操作系統(tǒng),它能通過生成指示代表要激活的操作的存儲(chǔ)器地址的輸入/輸出映射事務(wù)來激活電源管理操作。
在說明書的結(jié)論部分中特別指出并清楚地聲明了被認(rèn)為是本發(fā)明的主題。然而,有關(guān)組織和操作方法的本發(fā)明連同其目的、特征和優(yōu)點(diǎn)可在閱讀附圖時(shí)通過參考以下的詳細(xì)描述加以理解,其中圖1足示出根據(jù)本發(fā)明的一些說明性實(shí)施例的包括執(zhí)行指令生成器的計(jì)算平臺(tái)的示意圖。
圖2是示出根據(jù)本發(fā)明的一個(gè)說明性實(shí)施例的執(zhí)行指令生成器的示意圖。
圖3是示出根據(jù)本發(fā)明的另一說明性實(shí)施例的執(zhí)行指令生成器的示意圖。
圖4是示出根據(jù)本發(fā)明的一些說明性實(shí)施例的生成執(zhí)行指令的方法的示意性流程圖。
可以理解,為了說明的簡(jiǎn)化和清楚,圖中示出的元件不必按比例繪制,例如,為清楚起見,相對(duì)于其它元件可以夸大一些元件的尺寸。此外,只要認(rèn)為是合適的,可在附圖之間重復(fù)標(biāo)號(hào)以指示相應(yīng)或相似的元件。
具體實(shí)施例方式
在以下的詳細(xì)描述中,闡述了大量具體細(xì)節(jié)以提供對(duì)本發(fā)明的透徹理解。然而,本領(lǐng)域的普通技術(shù)人員可以理解,本發(fā)明可在沒有這些具體細(xì)節(jié)的情況下實(shí)施。在其它實(shí)例中,不詳細(xì)描述公知方法、程序、組件和電路以免模糊本發(fā)明。
除非另外特別聲明,如以下討論中顯見的,可以理解貫穿本說明書,使用諸如“處理”、“計(jì)算”、“確定”等的術(shù)語的討論表示計(jì)算機(jī)或計(jì)算系統(tǒng)或者類似電子計(jì)算設(shè)備的動(dòng)作和/或過程,它們將被表示為計(jì)算系統(tǒng)的寄存器和/或存儲(chǔ)器中的物理量(諸如電子量)操作和/或轉(zhuǎn)換成類似地表示為計(jì)算系統(tǒng)的存儲(chǔ)器、寄存器或其它這種信息存儲(chǔ)、傳輸或顯示裝置內(nèi)的物理量的其它數(shù)據(jù)。此外,術(shù)語“多個(gè)”可貫穿說明書用于描述兩個(gè)或更多的組件、設(shè)備、參數(shù)等。
這里使用的短語“存儲(chǔ)器訪問指令”表示用于訪問一個(gè)或多個(gè)存儲(chǔ)器地址的指令、命令、指示和/或函數(shù),例如通過讀寫一個(gè)或多個(gè)存儲(chǔ)器地址。在本發(fā)明的一些說明性實(shí)施例中,存儲(chǔ)器訪問指令可包括輸入/輸出(I/O)映射事務(wù)指令,例如如本領(lǐng)域中已知的。在本發(fā)明的一些說明性實(shí)施例中,存儲(chǔ)器訪問指令可由操作系統(tǒng)(OS)和/或任何其它合適的模塊生成,并例如可包括I/O映射指令,如2000年7月27日出版的高級(jí)配置和電源接口(ACPI)規(guī)范、版本2.0所定義的。存儲(chǔ)器訪問指令可指示期望的操作,例如核心計(jì)時(shí)控制操作、活動(dòng)狀態(tài)控制操作(也稱作“P狀態(tài)操作”)、空閑狀態(tài)控制操作(也稱作“C狀態(tài)操作”)、熱控制操作和/或要執(zhí)行的任何其它合適的操作,例如作為控制方案的一部分,如ACPI規(guī)范所定義的電源管理控制方案和/或電源優(yōu)化控制方案。例如,存儲(chǔ)器訪問指令可包括與表示期望操作的存儲(chǔ)器地址相對(duì)應(yīng)的地址數(shù)據(jù)。
這里所使用的短語“執(zhí)行指令”可表示可由處理器,例如由處理器的一個(gè)或多個(gè)邏輯元件執(zhí)行的類型和/或格式的指令、命令、指示和/或函數(shù)。在本發(fā)明的一些示例性實(shí)施例中,執(zhí)行指令可包括監(jiān)視器等待(MWAIT)指令,例如由2005年4月出版的IA-32 IntelArchitecture Software Developer’s Manual,卷2AInstruction Set Reference A-M所定義的。MWAIT指令例如可涉及期望的C狀態(tài)操作。例如,MWAIT指令可包括表示期望的C狀態(tài)操作的目標(biāo)C狀態(tài)參數(shù)。例如,C-1狀態(tài)可涉及執(zhí)行狀態(tài),C-2狀態(tài)可涉及低節(jié)能狀態(tài),C-3狀態(tài)可涉及中間節(jié)能狀態(tài),C-4狀態(tài)可涉及高節(jié)能狀態(tài),例如ACPI規(guī)范所定義的。
本發(fā)明的一些說明性實(shí)施例包括根據(jù)接收到的存儲(chǔ)器訪問指令的地址數(shù)據(jù)生成預(yù)定可執(zhí)行格式的執(zhí)行指令的設(shè)備、系統(tǒng)和/或方法,如以下詳細(xì)描述的。在本發(fā)明的一些說明性實(shí)施例中,存儲(chǔ)器地址指令可至少部分轉(zhuǎn)換為執(zhí)行指令,如以下所描述的。
參考圖1,其中示意性地示出了根據(jù)本發(fā)明的一些說明性實(shí)施例的計(jì)算平臺(tái)100。
在本發(fā)明的一些實(shí)施例中,計(jì)算平臺(tái)100可包括或可以是便攜式計(jì)算平臺(tái),例如可以由諸如電池的便攜式電源供電。在本發(fā)明的其它實(shí)施例中,計(jì)算平臺(tái)100可包括或可以是非便攜式計(jì)算平臺(tái)。
盡管本發(fā)明在這方面不受限制,平臺(tái)100例如可包括和/或可以是個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、移動(dòng)計(jì)算機(jī)、膝上計(jì)算機(jī)、筆記本計(jì)算機(jī)、終端、工作站、服務(wù)器計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)設(shè)備、平板計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、微控制器、移動(dòng)電話、照相機(jī)或任何其它合適的計(jì)算和/或通信設(shè)備。
根據(jù)本發(fā)明的一些說明性實(shí)施例,平臺(tái)100可包括處理器102。處理器102例如可包括中央處理單元(CPU)、數(shù)字信號(hào)處理器(DSP)、微處理器、主機(jī)處理器、多個(gè)處理器、控制器、芯片、微芯片或任何其它合適的多用途或?qū)S锰幚砥骰蚩刂破鳌L幚砥?01可包括處理器核心104,例如包括本領(lǐng)域已知的一個(gè)或多個(gè)運(yùn)算邏輯單元(ALU)。
根據(jù)本發(fā)明的一些說明性實(shí)施例,平臺(tái)100也可包括輸入單元118、輸出單元120、存儲(chǔ)器單元114和/或存儲(chǔ)單元122。平臺(tái)100可附加地包括其它合適的硬件組件和/或軟件組件。
輸入單元118例如可包括鍵盤、鼠標(biāo)、觸摸墊或其它合適的指示設(shè)備或輸入設(shè)備。輸出單元120例如可包括陰極射線管(CRT)監(jiān)視器、液晶顯示器(LCD)監(jiān)視器或其它合適的監(jiān)視器或顯示器單元。
存儲(chǔ)單元122例如可包括硬盤驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、光盤(CD)驅(qū)動(dòng)器、可記錄CD(CD-R)驅(qū)動(dòng)器或其它合適的可拆卸和/或固定的存儲(chǔ)單元。
存儲(chǔ)器單元114例如可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、動(dòng)態(tài)RAM(DRAM)、同步DRAM(SD-RAM)、閃存、易失性存儲(chǔ)器、非易失性存儲(chǔ)器、高速緩存、緩沖器、短期存儲(chǔ)器單元、長(zhǎng)期存儲(chǔ)器單元或其它合適的存儲(chǔ)器單元或存儲(chǔ)單元。
根據(jù)本發(fā)明的一些說明性實(shí)施例,存儲(chǔ)器單元例如可存儲(chǔ)一個(gè)或多個(gè)OS指令116。當(dāng)由處理器102執(zhí)行時(shí),OS指令116可導(dǎo)致OS應(yīng)用程序108,例如如本領(lǐng)域已知的。OS 108可生成至少一個(gè)存儲(chǔ)器訪問指令110,例如作為根據(jù)ACPI規(guī)范的電源管理控制方案的一部分。存儲(chǔ)器訪問指令110例如可包括I/O讀指令,它包含與例如存儲(chǔ)器114的存儲(chǔ)器地址相對(duì)應(yīng)的地址數(shù)據(jù),它可表示一預(yù)定操作。該預(yù)定操作例如可包括電源管理/優(yōu)化操作,例如C狀態(tài)操作。因此,地址數(shù)據(jù)可對(duì)應(yīng)于表示要執(zhí)行的C狀態(tài)操作的存儲(chǔ)器114的數(shù)據(jù)地址。
根據(jù)本發(fā)明的一些說明性實(shí)施例,處理器102可包括執(zhí)行指令生成器106,以根據(jù)存儲(chǔ)器訪問指令110的地址數(shù)據(jù)生成例如可由處理器核心104執(zhí)行的預(yù)定格式的執(zhí)行指令112。例如,指令生成器106可生成與存儲(chǔ)器訪問指令110的地址數(shù)據(jù)相對(duì)應(yīng)的MWAIT指令,如下所述。
這里在例如計(jì)算平臺(tái)100的計(jì)算平臺(tái)的說明性實(shí)施例的環(huán)境中描述本發(fā)明的各方面,其中包括作為處理器一部分(如處理器102)的指令生成器(如生成器106)。但是,本領(lǐng)域的熟練技術(shù)人員可以理解,根據(jù)本發(fā)明的其它實(shí)施例,指令生成器可與處理器分開作為計(jì)算平臺(tái)的一部分。
參考圖2,其中示意性地示出了根據(jù)本發(fā)明的一說明性實(shí)施例的指令生成器200。雖然本發(fā)明在這方面不受限制,但指令生成器200可執(zhí)行指令生成器106(圖1)的功能。
根據(jù)本發(fā)明的一些說明性實(shí)施例,指令生成器200可包括指令俘獲模塊204以俘獲(“標(biāo)記”)一接收到的存儲(chǔ)器訪問指令信號(hào)202。存儲(chǔ)器訪問指令信號(hào)202例如可包括地址數(shù)據(jù),例如對(duì)應(yīng)于存儲(chǔ)器114(圖1)的地址。存儲(chǔ)器訪問指令202還可包括任何合適的非地址數(shù)據(jù),例如包括指令數(shù)據(jù)和/或指令參數(shù),如本領(lǐng)域已知的。指令俘獲模塊204可生成一個(gè)與存儲(chǔ)器訪問指令信號(hào)202基本一致的信號(hào)206,以及包含指令信號(hào)202的地址數(shù)據(jù)的信號(hào)228。俘獲模塊204還可生成包含指令信號(hào)202的非地址數(shù)據(jù)的至少一部分的信號(hào)208。
根據(jù)本發(fā)明的一些說明性實(shí)施例,指令生成器200可根據(jù)存儲(chǔ)器訪問指令信號(hào)202的地址數(shù)據(jù)生成例如要提供給處理器核心104(圖1)的指令信號(hào)210,如下所述。
在本發(fā)明的一些說明性實(shí)施例中,指令生成器200例如可根據(jù)存儲(chǔ)器訪問指令202的地址數(shù)據(jù)選擇性地生成指令信號(hào)210,包括存儲(chǔ)器訪問指令202或與存儲(chǔ)器訪問指令202的地址數(shù)據(jù)相對(duì)應(yīng)的執(zhí)行指令214,如下所述。
根據(jù)本發(fā)明的一些說明性實(shí)施例,指令生成器200也可包括控制器226、轉(zhuǎn)換器222、組合器218和/或選擇器212,如下所述。
根據(jù)本發(fā)明的一些說明性實(shí)施例,控制器226可確定存儲(chǔ)器訪問指令202的地址數(shù)據(jù)是否對(duì)應(yīng)于一個(gè)或多個(gè)預(yù)定的執(zhí)行指令,如下所述。
根據(jù)本發(fā)明的一些說明性實(shí)施例,控制器226可比較信號(hào)228的地址數(shù)據(jù)和與一個(gè)或多個(gè)預(yù)定執(zhí)行指令相對(duì)應(yīng)的一個(gè)或多個(gè)存儲(chǔ)器地址的組的預(yù)定地址數(shù)據(jù)。例如,一個(gè)或多個(gè)預(yù)定執(zhí)行指令可通過例如存儲(chǔ)器114(圖1)的存儲(chǔ)器地址序列來表示。該存儲(chǔ)器序列例如可由與存儲(chǔ)器地址序列的第一個(gè)存儲(chǔ)器地址相對(duì)應(yīng)的基指針值230以及與序列中的地址數(shù)相對(duì)應(yīng)的范圍值232來限定。本領(lǐng)域的熟練技術(shù)人員可以理解,在本發(fā)明的其它實(shí)施例中,存儲(chǔ)器地址序列可按任何其它合適的方式來限定。例如,存儲(chǔ)器地址序列可通過基指針值230和與地址序列中的最后一個(gè)地址相對(duì)應(yīng)的端指針來限定。
盡管這里針對(duì)由存儲(chǔ)器地址序列所表示的一個(gè)或多個(gè)執(zhí)行指令來描述本發(fā)明的一些說明性實(shí)施例,但本領(lǐng)域的熟練技術(shù)人員將理解,在本發(fā)明的其它實(shí)施例中,這一個(gè)或多個(gè)執(zhí)行指令可由任何其它存儲(chǔ)器地址的所需配置來表示,例如存儲(chǔ)器地址的非連續(xù)組。
根據(jù)本發(fā)明的一些說明性實(shí)施例,控制器226可將信號(hào)228的地址數(shù)據(jù)與基指針值230和/或范圍值232的值進(jìn)行比較。控制器226例如可根據(jù)信號(hào)228的存儲(chǔ)器地址數(shù)據(jù)與基指針值230和/或范圍值232之間的比較來確定存儲(chǔ)器訪問指令202是否對(duì)應(yīng)于預(yù)定執(zhí)行指令之一。例如,如果信號(hào)228的地址數(shù)據(jù)對(duì)應(yīng)于一地址值,則控制器226可確定存儲(chǔ)器訪問指令202對(duì)應(yīng)于預(yù)定執(zhí)行指令之一,其中所述地址值等于或大于基指針值230;且等于或小于基指針值230和范圍值232之和。
根據(jù)本發(fā)明的一些說明性實(shí)施例,例如如果控制器226確定存儲(chǔ)器訪問指令202對(duì)應(yīng)于預(yù)定執(zhí)行指令之一,則指令生成器200能確定與信號(hào)228的地址數(shù)據(jù)所表示的操作相對(duì)應(yīng)的至少一個(gè)執(zhí)行指令參數(shù)220,如下所述。
根據(jù)本發(fā)明的一些說明性實(shí)施例,轉(zhuǎn)換器222可將存儲(chǔ)器訪問信號(hào)202所表示的存儲(chǔ)器地址轉(zhuǎn)換成執(zhí)行指令參數(shù)220。例如,轉(zhuǎn)換器222可包括一表,例如查找表(LUT)223,它包括由一組索引值229標(biāo)識(shí)的一組預(yù)定執(zhí)行指令參數(shù)227,例如C狀態(tài)參數(shù)??刂破?26可生成索引信號(hào)224,它的值對(duì)應(yīng)于指示執(zhí)行指令參數(shù)的索引值229之一,例如對(duì)應(yīng)于信號(hào)202的存儲(chǔ)器地址。例如,參數(shù)227可按照表示與參數(shù)227相對(duì)應(yīng)的執(zhí)行指令的存儲(chǔ)器地址的順序進(jìn)行排列。根據(jù)該示例,索引值229可包括值的預(yù)定序列,例如序列1,2,3...。因此,控制器226可生成索引信號(hào)224,它的值對(duì)應(yīng)于信號(hào)228的地址值和基指針值230之差。
在本發(fā)明的一個(gè)說明性實(shí)施例中,上述一個(gè)或多個(gè)預(yù)定執(zhí)行指令可包括分別由N個(gè)存儲(chǔ)器地址n、n+1、n+2...n+N-1的序列表示的N個(gè)執(zhí)行指令。因此,表223可包括由具有值i、i+1、i+2...i+N-1的N個(gè)相應(yīng)索引值229所標(biāo)識(shí)的N個(gè)指令參數(shù)227,例如其中i=1或任何其它期望的數(shù)。因此,控制器226可生成索引信號(hào)224,例如具有值j=m-bp+i,其中m表示信號(hào)228的存儲(chǔ)器地址,且bp表示基指針值230。
根據(jù)本發(fā)明的一些說明性實(shí)施例,組合器218可通過將執(zhí)行指令參數(shù)220與信號(hào)208的非地址數(shù)據(jù)組合來生成執(zhí)行指令214。例如根據(jù)參數(shù)220和/或信號(hào)208的非地址數(shù)據(jù)的類型,組合器218可執(zhí)行任何合適的組合方法。
根據(jù)本發(fā)明的一些說明性實(shí)施例,例如,控制器226可用控制信號(hào)216控制選擇器212,以選擇性地生成包含執(zhí)行指令214或信號(hào)206的存儲(chǔ)器訪問指令的指令信號(hào)210。例如,如果控制器226確定存儲(chǔ)器訪問指令202的存儲(chǔ)器地址數(shù)據(jù)對(duì)應(yīng)于預(yù)定執(zhí)行指令之一,則控制器226可控制選擇器212以生成包含執(zhí)行指令214的指令信號(hào)210;以及例如如果控制器226確定存儲(chǔ)器訪問指令202的存儲(chǔ)器地址數(shù)據(jù)不對(duì)應(yīng)于預(yù)定執(zhí)行指令中的任一個(gè),則生成包含存儲(chǔ)器訪問指令202的指令信號(hào)210。
再參考圖1,在本發(fā)明的一些說明性實(shí)施例中,處理器核心104能執(zhí)行一個(gè)或多個(gè)MWAIT指令,例如用于激活相應(yīng)的C狀態(tài)操作。MWAIT指令可包括與目標(biāo)C狀態(tài)有關(guān)的一MWAIT(目標(biāo)C狀態(tài))指令,例如根據(jù)ACPI規(guī)范。在本發(fā)明的這些示例性實(shí)施例中,指令生成器106能生成包括與存儲(chǔ)器訪問指令110所表示的目標(biāo)C狀態(tài)相對(duì)應(yīng)的MWAIT(目標(biāo)C狀態(tài))的執(zhí)行指令112,如下所述。
現(xiàn)參考圖3,其中示意性地示出了根據(jù)本發(fā)明的另一說明性實(shí)施例的指令生成器300。雖然本發(fā)明在這方面不受限制,但指令生成器300可執(zhí)行指令生成器106(圖1)的功能。
根據(jù)本發(fā)明的一些說明性實(shí)施例,指令生成器300可根據(jù)存儲(chǔ)器訪問指令信號(hào)302的地址數(shù)據(jù)生成例如要提供給處理器核心104(圖1)的指令信號(hào)310。在本發(fā)明的一些說明性實(shí)施例中,指令生成器300例如可根據(jù)存儲(chǔ)器地址指令302的地址數(shù)據(jù)選擇性地生成指令信號(hào)310,它包括存儲(chǔ)器訪問指令302或者與存儲(chǔ)器訪問指令302的地址數(shù)據(jù)相對(duì)應(yīng)的MWAIT指令314,如下所述。
根據(jù)本發(fā)明的一些說明性實(shí)施例,指令生成器300可包括指令俘獲模塊304以標(biāo)記存儲(chǔ)器訪問指令信號(hào)302。存儲(chǔ)器訪問指令信號(hào)302例如可包括地址數(shù)據(jù),例如對(duì)應(yīng)于存儲(chǔ)器114(圖1)的地址。指令俘獲模塊304可生成與存儲(chǔ)器訪問指令信號(hào)302基本一致的信號(hào)306;以及包括指令信號(hào)302的地址數(shù)據(jù)的信號(hào)328。
根據(jù)本發(fā)明的一些說明性實(shí)施例,指令生成器300還可包括控制器326、轉(zhuǎn)換器322和/或選擇器312,如下所述。
根據(jù)本發(fā)明的一些說明性實(shí)施例,控制器326可確定存儲(chǔ)器訪問指令302的地址數(shù)據(jù)是否分別對(duì)應(yīng)于一個(gè)或多個(gè)預(yù)定MWAIT指令,如下所述。
根據(jù)本發(fā)明的一些說明性實(shí)施例,控制器326可將信號(hào)328的地址數(shù)據(jù)和與一個(gè)或多個(gè)MWAIT指令相對(duì)應(yīng)的一個(gè)或多個(gè)存儲(chǔ)器地址組的預(yù)定地址數(shù)據(jù)進(jìn)行比較。在一個(gè)示例性實(shí)施例中,這一個(gè)或多個(gè)MWAIT指令可由存儲(chǔ)器114(圖1)的存儲(chǔ)器地址序列表示。該存儲(chǔ)器地址的序列例如可由與表示C-2狀態(tài)操作的存儲(chǔ)器地址相對(duì)應(yīng)的2級(jí)基點(diǎn)(“LVL2B”)值330;以及與存儲(chǔ)器地址序列中的地址數(shù)相對(duì)應(yīng)的C狀態(tài)范圍(“CST_RANGE”)值332來確定。
根據(jù)本發(fā)明的一些說明性實(shí)施例,控制器326例如可根據(jù)信號(hào)328的存儲(chǔ)器地址數(shù)據(jù)與LVL2B值330和/或CST_RANGE值332之間的比較來確定存儲(chǔ)器訪問指令302是否對(duì)應(yīng)于MWAIT指令之一。例如,如果信號(hào)328的地址數(shù)據(jù)對(duì)應(yīng)于一地址值,控制器326可確定存儲(chǔ)器訪問指令302對(duì)應(yīng)于MWAIT指令之一,其中所述地址值等于或大于LVL2B值330;且等于或小于LVL2B值330和CST_RANGE值332之和。
根據(jù)本發(fā)明的一些說明性實(shí)施例,轉(zhuǎn)換器322可將存儲(chǔ)器訪問指令302所表示的存儲(chǔ)器地址轉(zhuǎn)換成MWAIT指令314。例如,控制器326可生成索引信號(hào)324,其值指示存儲(chǔ)器訪問指令302的存儲(chǔ)器地址數(shù)據(jù)所表示的C狀態(tài)參數(shù),且轉(zhuǎn)換器322可基于索引信號(hào)324生成MWAIT指令314。。
在本發(fā)明的一個(gè)說明性實(shí)施例中,這一個(gè)或多個(gè)MWAIT指令可包括N’MWAIT指令,它們分別由N’個(gè)存儲(chǔ)器地址n’、n’+1、n’+2...n’+N’-1的序列表示。例如,MWAIT指令可包括分別對(duì)應(yīng)于狀態(tài)C-2、C-3和C-4的三個(gè)MWAIT指令。
因此,控制器326可生成索引信號(hào)324,例如具有值m’-L,其中m’表示信號(hào)328的存儲(chǔ)器地址,且L表示LVL2B 330的值。轉(zhuǎn)換器322可生成與狀態(tài)j’+2相對(duì)應(yīng)的MWAIT指令314,其中j’表示索引324的值。
根據(jù)本發(fā)明的一些說明性實(shí)施例,例如,控制器326可用控制信號(hào)316控制選擇器312,以選擇性地生成包含MWAIT指令314或信號(hào)306的存儲(chǔ)器訪問指令的指令信號(hào)310。例如,如果控制器326確定存儲(chǔ)器訪問指令302的存儲(chǔ)器地址數(shù)據(jù)對(duì)應(yīng)于預(yù)定MWAIT指令之一,則控制器326可控制選擇器312以生成包含執(zhí)行指令314的指令信號(hào)310;以及例如如果控制器326確定存儲(chǔ)器訪問指令302的存儲(chǔ)器地址數(shù)據(jù)不對(duì)應(yīng)于預(yù)定執(zhí)行指令中的任一個(gè),則生成包含存儲(chǔ)器訪問指令302的指令信號(hào)310。
雖然本發(fā)明的范圍在這方面不受限制,但本發(fā)明的一些說明性實(shí)施例可涉及能生成執(zhí)行指令的指令生成器,例如指令生成器300,其依照一個(gè)或多個(gè)節(jié)能方案,例如電源優(yōu)化方案和/或電源管理方案。然而,本領(lǐng)域的熟練技術(shù)人員可以理解,本發(fā)明的其它實(shí)施例可包括執(zhí)行指令生成器,它能依照任何其它的合適方案(例如溫度方案、頻率方案和/或電壓縮放方案)生成執(zhí)行指令,如本領(lǐng)域已知的。
現(xiàn)參考圖4,其中示意性地示出了根據(jù)本發(fā)明的一些說明性實(shí)施例的生成執(zhí)行指令的方法。
如框402所示,該方法可包括根據(jù)表示存儲(chǔ)器地址的接收到的存儲(chǔ)器訪問指令的地址數(shù)據(jù)生成預(yù)定可執(zhí)行格式的執(zhí)行指令。根據(jù)接收到的存儲(chǔ)器訪問指令的地址數(shù)據(jù)生成執(zhí)行指令例如可包括根據(jù)用于訪問存儲(chǔ)器地址的接收到的輸入/輸出映射指令的地址數(shù)據(jù)來生成執(zhí)行指令。
如框404所示,生成執(zhí)行指令例如可包括根據(jù)地址數(shù)據(jù)選擇性地生成執(zhí)行指令。例如,該方法可包括將存儲(chǔ)器訪問指令的地址數(shù)據(jù)和與一個(gè)或多個(gè)預(yù)定執(zhí)行指令相對(duì)應(yīng)的一個(gè)或多個(gè)存儲(chǔ)器地址的組的預(yù)定地址數(shù)據(jù)進(jìn)行比較,如框406所示。該方法還包括例如如果存儲(chǔ)器訪問指令的地址數(shù)據(jù)與所示存儲(chǔ)器地址的組之一的地址數(shù)據(jù)相匹配,則生成執(zhí)行指令,如框408所示。該方法可包括例如如果存儲(chǔ)器訪問指令的地址數(shù)據(jù)不匹配存儲(chǔ)器地址組之一的地址數(shù)據(jù),則選擇存儲(chǔ)器訪問指令,如框415所示。
如框410所示,生成執(zhí)行指令可包括根據(jù)地址數(shù)據(jù)確定執(zhí)行指令的一個(gè)或多個(gè)參數(shù)。生成執(zhí)行指令可包括將執(zhí)行指令的一個(gè)或多個(gè)參數(shù)與存儲(chǔ)器訪問指令的非地址數(shù)據(jù)組合,如框412所示。
根據(jù)具體用或根據(jù)具體的設(shè)計(jì)要求,本發(fā)明的實(shí)施例可通過軟件、硬件、固件或軟件、硬件和/或固件的任何組合來執(zhí)行。本發(fā)明的實(shí)施例可包括單元和子單元,它們可整體或部分地相互分開或組合在一起,并可用特定的多用途或通用處理器或設(shè)備實(shí)現(xiàn),如本領(lǐng)域已知的。本發(fā)明的一些實(shí)施例可包括緩沖器、寄存器、存儲(chǔ)單元和/或存儲(chǔ)器單元,用于臨時(shí)或長(zhǎng)期存儲(chǔ)數(shù)據(jù)和/或便于特定實(shí)施例的操作。
雖然這里已示出并描述了本發(fā)明的某些特點(diǎn),本領(lǐng)域的普通技術(shù)人員可進(jìn)行許多修改、替換、改變和等效。因此,可以理解,所附權(quán)利要求書旨在覆蓋落在本發(fā)明的真實(shí)范圍內(nèi)的所有這些修改和變化。
權(quán)利要求
1.一種設(shè)備,包括指令生成器,用于根據(jù)表示存儲(chǔ)器地址的存儲(chǔ)器訪問指令的存儲(chǔ)器地址數(shù)據(jù)生成預(yù)定可執(zhí)行格式的執(zhí)行指令。
2.如權(quán)利要求1所述的設(shè)備,其特征在于,所述存儲(chǔ)器訪問指令包括用于訪問所述存儲(chǔ)器訪問指令的存儲(chǔ)器地址的輸入/輸出映射指令。
3.如權(quán)利要求1所述的設(shè)備,其特征在于,所述指令生成器能根據(jù)所述地址數(shù)據(jù)選擇性地生成所述執(zhí)行指令。
4.如權(quán)利要求3所述的設(shè)備,其特征在于,所述指令生成器包括控制器,用于將所述存儲(chǔ)器訪問指令的地址數(shù)據(jù)與表示一個(gè)或多個(gè)預(yù)定執(zhí)行指令的一個(gè)或多個(gè)存儲(chǔ)器地址的組的預(yù)定地址數(shù)據(jù)進(jìn)行比較,其中,所述指令生成器能生成由與地址數(shù)據(jù)匹配的地址存儲(chǔ)器所代表的所述執(zhí)行指令。
5.如權(quán)利要求4所述的設(shè)備,其特征在于,所述一個(gè)或多個(gè)存儲(chǔ)器地址的組包括存儲(chǔ)器地址的序列,其中所述預(yù)定地址數(shù)據(jù)至少包括定義所述存儲(chǔ)器地址的序列的第一和第二值。
6.如權(quán)利要求5所述的設(shè)備,其特征在于,所述第一值包括指示所述序列的第一存儲(chǔ)器地址的基指針值,且其中所述第二值包括指示所述序列中存儲(chǔ)器地址數(shù)的范圍值。
7.如權(quán)利要求6所述的設(shè)備,其特征在于,所述基指針包括2級(jí)基指針值,且其中所述范圍值包括c狀態(tài)范圍值。
8.如權(quán)利要求4所述的設(shè)備,其特征在于,所述指令生成器能根據(jù)所述地址數(shù)據(jù)確定所述執(zhí)行指令的一個(gè)或多個(gè)參數(shù),并將所述所述執(zhí)行指令的一個(gè)或多個(gè)參數(shù)與所述存儲(chǔ)器訪問指令的非地址數(shù)據(jù)組合。
9.如權(quán)利要求4所述的設(shè)備,其特征在于,所述控制器能根據(jù)所述地址數(shù)據(jù)生成指示所述執(zhí)行指令的索引值,其中所述指令生成器進(jìn)一步包括轉(zhuǎn)換器,用于將所述索引值轉(zhuǎn)換成所述執(zhí)行指令的一個(gè)或多個(gè)參數(shù);以及組合器,用于通過將所述執(zhí)行指令的一個(gè)或多個(gè)參數(shù)與所述存儲(chǔ)器訪問指令的非地址數(shù)據(jù)組合來生成所述執(zhí)行指令。
10.如權(quán)利要求1所述的設(shè)備,其特征在于,所述執(zhí)行指令包括要由處理器執(zhí)行的電源管理指令。
11.如權(quán)利要求1所述的設(shè)備,其特征在于,所述執(zhí)行指令包括與目標(biāo)c狀態(tài)操作相對(duì)應(yīng)的MWAIT指令,它與所述存儲(chǔ)器地址相關(guān)聯(lián)。
12.一種方法,包括根據(jù)表示存儲(chǔ)器地址的存儲(chǔ)器訪問指令的存儲(chǔ)器地址數(shù)據(jù),生成預(yù)定可執(zhí)行格式的執(zhí)行指令。
13.如權(quán)利要求12所述的方法,其特征在于,根據(jù)所述接收到的存儲(chǔ)器訪問指令的地址數(shù)據(jù)生成所述執(zhí)行指令包括根據(jù)用于訪問所述存儲(chǔ)器地址的接收到的輸入/輸出映射指令的地址數(shù)據(jù)生成所述執(zhí)行指令。
14.如權(quán)利要求12所述的方法,其特征在于,生成所述執(zhí)行指令包括根據(jù)所述地址數(shù)據(jù)選擇性地生成所述執(zhí)行指令。
15.如權(quán)利要求14所述的方法,其特征在于,選擇性地生成所述執(zhí)行指令包括將所述存儲(chǔ)器訪問指令的地址數(shù)據(jù)與表示一個(gè)或多個(gè)預(yù)定執(zhí)行指令的一個(gè)或多個(gè)存儲(chǔ)器地址的組的預(yù)定地址數(shù)據(jù)進(jìn)行比較;以及如果所述存儲(chǔ)器訪問指令的地址數(shù)據(jù)與所述存儲(chǔ)器地址的組之一的地址數(shù)據(jù)相匹配,生成所述執(zhí)行指令。
16.如權(quán)利要求15所述的方法,其特征在于,將所述存儲(chǔ)器訪問指令的地址數(shù)據(jù)與所述預(yù)定地址數(shù)據(jù)進(jìn)行比較包括將所述存儲(chǔ)器訪問指令的地址數(shù)據(jù)與包括存儲(chǔ)器地址的序列的所述存儲(chǔ)器地址組的預(yù)定地址數(shù)據(jù)進(jìn)行比較,所述預(yù)定的地址數(shù)據(jù)至少包括定義所述存儲(chǔ)器地址的序列的第一和第二值。
17.如權(quán)利要求16所述的方法,其特征在于,將所述存儲(chǔ)器訪問指令的地址數(shù)據(jù)與所述預(yù)定地址數(shù)據(jù)進(jìn)行比較包括將所述存儲(chǔ)器訪問指令的地址數(shù)據(jù)與所述預(yù)定地址數(shù)據(jù)進(jìn)行比較,該預(yù)定地址數(shù)據(jù)包括含所述序列的第一存儲(chǔ)器地址的所述第一值以及含所述序列中的存儲(chǔ)器地址數(shù)的第二值。
18.如權(quán)利要求12所述的方法,其特征在于,根據(jù)所述地址數(shù)據(jù)生成所述執(zhí)行指令包括根據(jù)所述地址數(shù)據(jù)確定所述執(zhí)行指令的一個(gè)或多個(gè)參數(shù);以及將所述執(zhí)行指令的一個(gè)或多個(gè)參數(shù)與所述存儲(chǔ)器訪問指令的非地址數(shù)據(jù)組合。
19.如權(quán)利要求12所述的方法,其特征在于,生成所述執(zhí)行指令包括生成與目標(biāo)c狀態(tài)操作相對(duì)應(yīng)的MWAIT指令,它與所述存儲(chǔ)器地址相關(guān)聯(lián)。
20.一種系統(tǒng),包括存儲(chǔ)器,它具有一個(gè)或多個(gè)存儲(chǔ)器地址;以及指令生成器,它根據(jù)表示所述存儲(chǔ)器地址之一的存儲(chǔ)器訪問指令的存儲(chǔ)器地址數(shù)據(jù)生成預(yù)定可執(zhí)行格式的執(zhí)行指令。
21.如權(quán)利要求20所述的系統(tǒng),其特征在于,包括處理器核心,以執(zhí)行所述執(zhí)行指令。
22.如權(quán)利要求20所述的系統(tǒng),其特征在于,所述指令生成器能根據(jù)所述地址數(shù)據(jù)選擇性地生成所述執(zhí)行指令。
全文摘要
本發(fā)明的實(shí)施例提供了一種生成執(zhí)行指令的裝置、系統(tǒng)和方法。一些說明性實(shí)施例可包括根據(jù)表示存儲(chǔ)器地址的存儲(chǔ)器訪問指令的存儲(chǔ)器地址數(shù)據(jù)生成預(yù)定可執(zhí)行格式的執(zhí)行指令。描述和聲明了其它實(shí)施例。
文檔編號(hào)G06F1/32GK1892588SQ20061010078
公開日2007年1月10日 申請(qǐng)日期2006年6月30日 優(yōu)先權(quán)日2005年6月30日
發(fā)明者A·納韋, E·威斯曼, I·卡扎欽斯基, I·索拉尼, Y·卡扎里諾夫 申請(qǐng)人:英特爾公司