欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

動(dòng)態(tài)自行衰變裝置架構(gòu)的制作方法

文檔序號(hào):6570272閱讀:190來源:國知局
專利名稱:動(dòng)態(tài)自行衰變裝置架構(gòu)的制作方法
技術(shù)領(lǐng)域
本發(fā)明為關(guān)于處理器與計(jì)算機(jī)系統(tǒng)的領(lǐng)域,且尤為關(guān)于處理器及 其它裝置中的電源管理。
背景技術(shù)
盡管計(jì)算及其它裝置的處理效能已獲得許多關(guān)注,然而電源消耗 的議題已日益重要。 一般來說,大眾已預(yù)期其計(jì)算裝置會(huì)更小及更有 移動(dòng)性。不論該裝置是否為可攜式計(jì)算機(jī)、行動(dòng)電話、個(gè)人數(shù)位助理
(personal digital assistant, PDA)或其它裝置,例如電池的可攜式電源已 變得平凡無奇。若自然界給予有限的此種電源供應(yīng),則以有效率的方 式使用可用的電源是極為重要的。因此,在此種裝置中的電源管理技 術(shù)變得更為廣泛。此外,當(dāng)在處理器中及其它計(jì)算裝置中柵極的尺寸 變得越來越小時(shí),應(yīng)推斷靜態(tài)電源消耗可能會(huì)很快地等于動(dòng)態(tài)電源消 耗。因此,靜態(tài)電源消耗在處理器及裝置架構(gòu)中逐漸成為重要的設(shè)計(jì) 考量。
有鑒于在這些裝置中管理電源的重要性,有效的電源管理方法及 機(jī)制為亟需的。

發(fā)明內(nèi)容
用于在計(jì)算裝置中管理電源的方法及機(jī)制為被考量的。 考量一種方法與機(jī)制,其中僅裝置的有關(guān)的邏輯區(qū)塊為作用中 (active)。不需要的區(qū)塊可以被關(guān)閉電源,及可停止對(duì)該不需要的區(qū)塊 產(chǎn)生計(jì)時(shí)(clocking)。該方法和機(jī)制動(dòng)態(tài)地決定各種邏輯單元如何及何 時(shí)被允許進(jìn)行操作或被關(guān)閉。
考量包含一個(gè)或多個(gè)電源可管理群組的裝置。設(shè)定結(jié)合該裝置的 電源管理單元以偵測(cè)安排執(zhí)行的指令、識(shí)別可能需要用于執(zhí)行指令的 特定電源群組、以及響應(yīng)偵測(cè)到該指令而傳達(dá)避免該特定電源群組進(jìn)
入關(guān)閉電源狀態(tài)的指令。若該電源管理單元于預(yù)定時(shí)間期間沒有偵測(cè) 到需要特定電源群組以用于執(zhí)行的進(jìn)入或等待的指令,則該電源管理 單元可以傳達(dá)使或允許該對(duì)應(yīng)的電源群組進(jìn)入關(guān)閉電源狀態(tài)的指令。 除了將用于給定的電源群組的電源禁止外,也可將計(jì)時(shí)禁止。
也考量一種裝置,其中電源可管理群組可被分隔成可關(guān)閉電源的 部分以及可不關(guān)閉電源的部分。在此種實(shí)施例中,當(dāng)判定給定的電源 群組可被關(guān)閉電源時(shí),只有該可關(guān)閉電源的電源群組的部分為被關(guān)閉 電源。其余部分于是可維持被供給電源。在替代的實(shí)施例中,可不關(guān)
閉電源的電源群組的部分可進(jìn)入減小電源狀態(tài)(reduced power state),該
減小電源狀態(tài)允許該部分維持該部分的狀態(tài)。
亦考量一種電源管理單元,該電源管理單元被設(shè)定為維持每個(gè)電 源可管理群組的計(jì)數(shù)。對(duì)接收到的計(jì)時(shí)的每個(gè)周期,可減少該計(jì)數(shù)。 萬一計(jì)數(shù)到零,則可傳達(dá)指令該對(duì)應(yīng)的電源群組可置放在關(guān)閉電源狀 態(tài)的信號(hào)。若偵測(cè)到可能需要特定電源群組以用于執(zhí)行的指令,則該 電源群組的計(jì)數(shù)可重設(shè)成非零的值。在一個(gè)實(shí)施例中,計(jì)數(shù)于缺少重 設(shè)信號(hào)時(shí)可自然地"衰變(decay)"。于是,電源群組可自動(dòng)地衰變成關(guān) 閉電源或減小電源的狀態(tài)。在不同的實(shí)施例中,可設(shè)定電源群組以傳 達(dá)防止該第一電源群組進(jìn)入關(guān)閉電源狀態(tài)的狀態(tài)指令。
在一個(gè)實(shí)施例中,指令結(jié)合電源代碼,該電源代碼指示哪些電源 群組可能需要用于執(zhí)行??删幋a指令操作碼(opcode)以識(shí)別可能需要用 于執(zhí)行的一個(gè)或多個(gè)電源群組。替代地,可通過對(duì)映機(jī)制(mapping mechanism)對(duì)映指令至電源代碼。


以上詳細(xì)說明請(qǐng)參考附圖,茲將所述附圖簡要說明。 圖1為處理器的一實(shí)施例的方塊圖2為顯示于圖1中的該處理器的部分的一實(shí)施例的方塊圖; 圖3為描述電源管理機(jī)制的部分; 圖4為描述電源管理機(jī)制的部分;
圖5為描述動(dòng)態(tài)電源控制機(jī)制與電源群組的一實(shí)施例; 圖6為例示裝置指令與電源代碼編碼的一實(shí)施例;以及
圖7為包含顯示于圖1中的處理器的計(jì)算機(jī)系統(tǒng)的第二實(shí)施例的 方塊圖。
雖然本發(fā)明可作各種修改及替代的形式,但通過圖式中的例子顯 示出其特定的實(shí)施例,且該特定的實(shí)施例將在本文中詳細(xì)說明。然而 應(yīng)了解,此處的圖式及詳細(xì)說明并非要局限本發(fā)明為所揭露的特定形 式,但相反地,本發(fā)明欲涵蓋所有落于本發(fā)明的精神與范疇內(nèi)的修改、 相等物及替代物,其如由附加的權(quán)利要求書所定義者。
具體實(shí)施方式
處理器概觀
茲請(qǐng)參閱圖l,為顯示處理器10的一實(shí)施例的方塊圖。其它實(shí)施 例為有可能及被思考的。如圖1所示,處理器10包含預(yù)取(prefetch)/ 預(yù)先解碼(predecode)單元12、分支預(yù)測(cè)單元14、指令緩存16、指令對(duì) 準(zhǔn)單元18、多個(gè)解碼單元20A至20C、多個(gè)保留站22A至22C、多個(gè) 功能單元24A至24C、載入/儲(chǔ)存單元26、數(shù)據(jù)緩存28、寄存器檔案 30、重新安排緩沖器(reorder buffer)32、罩式只讀存儲(chǔ)器(MROM)單元 34、以及總線接口單元37。本文中接在特定元件符號(hào)后的文字所參照 的元件將以該單一元件符號(hào)共同參照。舉例來說,解碼單元20A至20C 將共同地參照為解碼單元20。
預(yù)取/預(yù)先解碼單元12被耦接以接收來自于總線接口單元37的指 令,并且更進(jìn)一步耦接到指令緩存16及分支預(yù)測(cè)單元14。同樣地,將 分支預(yù)測(cè)單元14耦接到指令緩存16。更進(jìn)一步,將分支預(yù)測(cè)單元14 耦接到解碼單元20及功能單元24。指令緩存16更進(jìn)一步耦接到 MROM單元34以及指令對(duì)準(zhǔn)單元18。指令對(duì)準(zhǔn)單元18依次耦接到解 碼單元20。每個(gè)解碼單元20A至20C耦接到載入/儲(chǔ)存單元26并且耦 接到個(gè)別的保留站22A至22C。保留站22A至22C更進(jìn)一步耦接到個(gè) 別的功能單元24A至24C。此外,解碼單元20及保留站22均耦接到 寄存器檔案30及重新安排緩沖器32。功能單元24耦接到載入/儲(chǔ)存單 元26、寄存器檔案30、以及重新安排緩沖器32。數(shù)據(jù)緩存28耦接到 載入/儲(chǔ)存單元26以及耦接到總線接口單元37??偩€接口單元37更進(jìn) 一步耦接到L2緩存的L2接口及總線。最后,MROM單元34耦接到
解碼單元20。
指令緩存16為被提供儲(chǔ)存指令的高速緩存存儲(chǔ)器。指令從指令緩
存16擷取(fetch)并且分派到解碼單元20。在一個(gè)實(shí)施例中,指令緩存
16以具有64字節(jié)線路(一字節(jié)包括8個(gè)二進(jìn)位的位元)的兩路集合相聯(lián)
結(jié)構(gòu)(2 way set associative stmcture)設(shè)定為儲(chǔ)存達(dá)到64千字節(jié)的指令。
替代地,可使用任何其它需要的組態(tài)及大小。舉例來說,應(yīng)注意指令
緩存16可以施行為全相聯(lián)(fully associative)、集合相聯(lián)或直接對(duì)應(yīng)的組 太
指令通過預(yù)取/預(yù)先解碼單元12儲(chǔ)存到指令緩存16。指令可根據(jù) 預(yù)取方案在其從指令緩存16要求前預(yù)取。每個(gè)種預(yù)取方案可以通過預(yù) 取/預(yù)先解碼單元12來使用。當(dāng)預(yù)取/預(yù)先解碼單元12傳送指令到指令 緩存16時(shí),預(yù)取/預(yù)先解碼單元12可產(chǎn)生對(duì)應(yīng)于該指令的預(yù)先解碼數(shù) 據(jù)。例如,在一個(gè)實(shí)施例中,預(yù)取/預(yù)先解碼單元12對(duì)每個(gè)字節(jié)的指令 產(chǎn)生三個(gè)預(yù)先解碼位元起始位元、終止位元、以及功能位元。該預(yù) 先解碼位元形成指示每個(gè)指令的邊界的標(biāo)示符(tag)。所述預(yù)先解碼標(biāo) 示符也可傳達(dá)附加信息,例如給定的指令是否可由解碼單元20直接解 碼或指令是否通過呼叫由MROM單元34所控制的微碼程序來執(zhí)行。 更進(jìn)一歩而言,可設(shè)定預(yù)取/預(yù)先解碼單元12以偵測(cè)分支指令以及儲(chǔ)存 對(duì)應(yīng)于所述分支指令的分支預(yù)測(cè)信息進(jìn)入分支預(yù)測(cè)單元14。其它實(shí)施 例可依需求使用任何適當(dāng)?shù)念A(yù)先解碼方案或無預(yù)先解碼。
接著將會(huì)說明該使用可變字節(jié)長度指令組的處理器10的實(shí)施例的 預(yù)先解碼標(biāo)示符的一加密。可變字節(jié)長度指令組為不同的指令可占有 不同數(shù)量的字節(jié)的指令組。由處理器10的一個(gè)實(shí)施例所使用的例示的 可變字節(jié)長度指令組為x86指令組。
于該例示的加密中,若給定的字節(jié)為指令的第一字節(jié),則設(shè)定該 字節(jié)的起始位元。若該字節(jié)為指令的最后字節(jié),則設(shè)定該字節(jié)的終止 位元??芍苯佑山獯a單元20解碼的指令稱為"捷徑(fastpath)"指令。 根據(jù)一個(gè)實(shí)施例,其余的x86指令稱為MROM指令。對(duì)捷徑指令而言, 該功能位元對(duì)包含在該指令的每個(gè)前置(prefDC)字節(jié)設(shè)定,并且清除 (clear)其它字節(jié)。替代地,對(duì)MROM指令而言,則清除每個(gè)前置字節(jié) 的功能位元,并且設(shè)定其它字節(jié)。該指令的類型可通過檢視對(duì)應(yīng)于該
終止字節(jié)的功能位元來決定。若該功能位元被清除,則該指令為捷徑 指令。相反地,若該功能位元被設(shè)定,則該指令為MROM指令。該指
令的操作碼(opcode)因而可置于可由解碼單元20直接解碼的指令內(nèi), 如同結(jié)合于指令中的第一清除功能位元的字節(jié)。例如,包含兩個(gè)前置 字節(jié)、MODR/M字節(jié)、以及立即字節(jié)(immediatebyte)的捷徑指令會(huì)有 起始、終止、以及功能位元,如以下所列
起始位元10000
終止位元00001
功能位元11000
MROM指令由解碼單元20判定為對(duì)于解碼太復(fù)雜的指令。MROM 指令通過呼叫MROM單元34來執(zhí)行。詳而言之,當(dāng)遇到MROM指令 時(shí),MROM單元34解析并且發(fā)出該指令至已定義的捷徑指令的子集 (subset)以實(shí)行該需要的運(yùn)算。MROM單元34分派該捷徑指令的子集 至解碼單元20。
處理器10使用分支預(yù)測(cè)以在條件分支指令后推測(cè)擷取指令。分支 預(yù)測(cè)單元14被包括以執(zhí)行分支預(yù)測(cè)運(yùn)算。在一個(gè)實(shí)施例中,分支預(yù)測(cè) 單元14使用攫取達(dá)到兩個(gè)分支目標(biāo)位址以及于指令緩存16中每16個(gè) 字節(jié)部分的緩存線路的對(duì)應(yīng)的成功(takeny失敗(not taken)預(yù)測(cè)的分支 目標(biāo)緩沖器(branch target buffer)。該分支目標(biāo)緩沖器可例如包括2048 個(gè)條目(entry)或任何其它適合的條目數(shù)。預(yù)取/預(yù)先解碼單元12于預(yù)先 解碼特定線路時(shí)決定最初分支目標(biāo)。由于該緩存線路的指令的執(zhí)行, 隨后的對(duì)應(yīng)于緩存線路的分支目標(biāo)的更新可能發(fā)生。指令緩存16提供 指令位址被擷取的指令(indication),以使該分支預(yù)測(cè)單元14可決定那 個(gè)分支目標(biāo)位址以選擇用以形成分支預(yù)測(cè)。解碼單元20及功能單元24 提供更新信息給分支預(yù)測(cè)單元14。解碼單元20偵測(cè)不為分支預(yù)測(cè)單元 14所預(yù)測(cè)的分支指令。功能單元24執(zhí)行所述分支指令且判定是否該被 預(yù)測(cè)的分支方向?yàn)椴徽_的。該分支方向可以是"成功(taken)",其中 接下來的指令從該分支指令的目標(biāo)位址擷取。相反地,該分支方向可 能是"不成功(not taken)",其中接下來的指令從連續(xù)該分支指令的存儲(chǔ) 器位置擷取。當(dāng)偵測(cè)到預(yù)測(cè)錯(cuò)誤的分支指令時(shí),在該預(yù)測(cè)錯(cuò)誤分支后 的指令會(huì)被該處理器10的各種單元丟棄。在替代的組態(tài)中,分支預(yù)測(cè)
單元14可被耦接到重新安排緩沖器32而非解碼單元20及功能單元 24,并且可以接收來自于重新安排緩沖器32的分支預(yù)測(cè)錯(cuò)誤信息。多 種適當(dāng)?shù)姆种ьA(yù)測(cè)演算法可由分支預(yù)測(cè)單元14所使用。
從指令緩存16所擷取的指令被傳達(dá)到指令對(duì)準(zhǔn)單元18。當(dāng)從指令 緩存16擷取指令時(shí),掃描該對(duì)應(yīng)的預(yù)先解碼數(shù)據(jù)以就所擷取的指令提 供信息給指令對(duì)準(zhǔn)單元18(以及給MROM單元34)。指令對(duì)準(zhǔn)單元18 利用該掃瞄的數(shù)據(jù)以對(duì)準(zhǔn)指令給每個(gè)解碼單元20。在一個(gè)實(shí)施例中, 指令對(duì)準(zhǔn)單元18從八個(gè)指令字節(jié)的三組對(duì)準(zhǔn)指令給解碼單元20。解碼 單元20A接收在指令由解碼單元20B及20C(以程序順序)同時(shí)接收前 的指令。同樣的,解碼單元20B以程序順序接收在該指令由解碼單元 20C同時(shí)接收前的指令。在某些實(shí)施例中,(例如使用固定長度指令組 的實(shí)施例),可去除該指令對(duì)準(zhǔn)單元18。設(shè)定解碼單元20以解碼自指 令對(duì)準(zhǔn)單元18所接收到的指令。偵測(cè)寄存器操作數(shù)信息并且繞送(route) 至寄存器檔案30及重新安排緩沖器32。此外,若所述指令需要執(zhí)行一 個(gè)或多個(gè)存儲(chǔ)器運(yùn)算,解碼單元20分派所述存儲(chǔ)器運(yùn)算至載入/儲(chǔ)存單 元26。將每個(gè)指令解碼成功能單元24的一組控制值,并且將這些控制 值與操作數(shù)位址信息及可能包含指令的置換或立即的數(shù)據(jù)一起分派至 保留站22。在一特定的實(shí)施例中,將每個(gè)指令解碼成到可由功能單元 24A至24C分別執(zhí)行的兩個(gè)運(yùn)算。
處理器10支援亂序執(zhí)行(out of order execution),并且因而使用重 新安排緩沖器32以保持用于寄存檔讀取及寫入操作的原始程序順序的 追蹤、執(zhí)行寄存檔重新命名、允許推測(cè)的指令執(zhí)行以及分支預(yù)測(cè)錯(cuò)誤 復(fù)原、以及加速精確的例外事件(exception)。位于重新安排緩沖器32 內(nèi)的暫時(shí)儲(chǔ)存位置為根據(jù)指令的解碼而保留,該指令牽涉寄存器的更 新從而儲(chǔ)存推測(cè)的寄存器狀態(tài)。若分支預(yù)測(cè)是不正確的,沿著該預(yù)測(cè) 錯(cuò)誤路徑的所推測(cè)執(zhí)行的指令的結(jié)果可能在該結(jié)果寫入寄存器檔案30 前于緩沖器中失效。同樣的,若特定的指令造成例外事件,可丟棄接 在該特定指令后的指令。以這種方式,例外事件為"精準(zhǔn)的"(例如, 引起該例外事件的特定指令后的指令并非完成于該例外事件之前)。應(yīng) 注意,若特定指令于指令之前執(zhí)行,而該指令于程序順序中先于該特 定指令時(shí),則特定指令為被推測(cè)執(zhí)行的。先前的指令可以是分支指令 或例外事件引起的指令,以上的例子中,所述推測(cè)結(jié)果可由重新安排 緩沖器32丟棄。
在所述解碼單元20的輸出端所提供的解碼指令直接繞送至個(gè)別的 保留站22。在一個(gè)實(shí)施例中,每個(gè)保留站22能保留指令信息(例如, 解碼指令與操作數(shù)值、操作數(shù)標(biāo)示符及/或立即的數(shù)據(jù))達(dá)到六個(gè)等待的 指令(pending instruction),所述指令等候發(fā)送到該對(duì)應(yīng)的功能單元。應(yīng) 注意圖l的實(shí)施例中,每個(gè)保留站22結(jié)合專用的功能單元24。因此, 三個(gè)專用的"發(fā)送位置"由所述保留站22及功能單元24形成。換句 話說,發(fā)送位置0由保留站22A及功能單元24A形成。所對(duì)準(zhǔn)的指令 且分派至保留站22A由功能單元24A來執(zhí)行。同樣的,發(fā)送位置l由 保留站22B及功能單元24B形成;且發(fā)送位置2由保留站22C及功能 單元24C形成。
根據(jù)特定指令的解碼,若所需的操作數(shù)為寄存器位置,則同時(shí)繞 送寄存器位址信息至重新安排緩沖器32及寄存器檔案30。該寄存器檔 案30包括每個(gè)該架構(gòu)的寄存器的儲(chǔ)存位置,且該寄存器包含在由該處 理器10所執(zhí)行的指令組中??砂~外的儲(chǔ)存位置于寄存器檔案30 內(nèi)而由MROM單元34所使用。重新安排緩沖器32含有改變這些寄存 器的內(nèi)容的結(jié)果的暫時(shí)儲(chǔ)存位置從而允許亂序執(zhí)行。重新安排緩沖器 32的暫時(shí)儲(chǔ)存位置會(huì)保留給每個(gè)指令,該指令根據(jù)解碼以決定修改所 述真正的寄存器的其中一者的內(nèi)容。因此,于執(zhí)行特定程序期間的各 種點(diǎn)上,重新安排緩沖器32可能具有一個(gè)或多個(gè)含有給定寄存器的所 推測(cè)被執(zhí)行的內(nèi)容的位置。若給定指令的接下來的解碼判定重新安排 緩沖器32具有先前的位置或指派給在該給定的指令中用作為操作數(shù)的 寄存器的位置,則該重新安排緩沖器32轉(zhuǎn)送(forward)給該對(duì)應(yīng)的保留 站的任一者l)最近指派過位置的值,或2)最近指派過位置的標(biāo)示符, 若該值還沒被該功能單元產(chǎn)生直到該值終將執(zhí)行該先前指令。若重新 安排緩沖器32具有保留給給定寄存器的位置,則該操作數(shù)值(或重新安 排緩沖器標(biāo)示符)是從該重新安排緩沖器32而非從寄存器檔案30提供。 若在重新安排緩沖器32中沒有位置保留給需要的寄存器時(shí),該值直接 從寄存器檔案30擷取。若該操作數(shù)對(duì)應(yīng)于存儲(chǔ)器位置,則該操作數(shù)值 通過載入/儲(chǔ)存單元26提供給該保留站。
在一特定的實(shí)施例中,將重新安排緩沖器32設(shè)定成同步儲(chǔ)存及操
作被解碼指令為單元。這種組態(tài)在此稱為"線型導(dǎo)向(line-oriented)"。 通過一起操作幾個(gè)指令,可能簡化重新安排緩沖器32內(nèi)所使用的硬件。 例如,每當(dāng)由解碼單元20分派一個(gè)或多個(gè)指令時(shí),包含在本實(shí)施例的 線型導(dǎo)向的重新安排緩沖器配置足夠用于附屬于三個(gè)指令(每一個(gè)來自 于每個(gè)解碼單元20)的指令信息的儲(chǔ)存空間。相較之下,可變的儲(chǔ)存量 配置于傳統(tǒng)的重新安排緩沖器中,此乃取決于實(shí)際分派的指令數(shù)量。 較大數(shù)量的邏輯柵可能需要配置該可變的儲(chǔ)存量。當(dāng)已執(zhí)行每個(gè)該同 步被解碼的指令時(shí),所述指令結(jié)果同時(shí)儲(chǔ)存至寄存器檔案30。然后, 該儲(chǔ)存空間空出來用以配置另一組同歩被解碼的指令。此外,因?yàn)榻?jīng) 由幾個(gè)同步被解碼指令分?jǐn)偭丝刂七壿嫞詼p少了每一指令所使用 的控制邏輯電路量。驗(yàn)證特定指令的重新安排緩沖器標(biāo)示符可被劃分 成兩個(gè)域線段標(biāo)示符(line tag)及位移標(biāo)示符(offset tag)。該線段標(biāo)示 符識(shí)別包含該特定指令的同步被解碼的指令的組,而該位移標(biāo)示符識(shí) 別哪一個(gè)該組內(nèi)的指令對(duì)應(yīng)于該特定的指令。應(yīng)注意,儲(chǔ)存指令結(jié)果 至寄存器檔案30及空出該對(duì)應(yīng)的儲(chǔ)存空間被稱為"下線(retiring)"指 令。應(yīng)再注意,任何重新安排緩沖器的組態(tài)可以使用于處理器10的各 種實(shí)施例中。
如之前注意到的,保留站22儲(chǔ)存指令直到所述指令由該對(duì)應(yīng)的功 能單元24所執(zhí)行。若(i)已提供指令的操作數(shù),以及(ii)所述操作數(shù)還 沒提供給在相同保留站22A至22C內(nèi)的指令以及在程序順序中該指令 之前的指令,則選擇執(zhí)行的指令。應(yīng)注意,當(dāng)指令由該功能單元24的 其中一者所執(zhí)行時(shí),該指令的結(jié)果會(huì)直接傳送給任何等待該結(jié)果的保 留站22,同時(shí)傳送該結(jié)果以更新重新安排緩沖器32(這種技術(shù)一般稱為 "結(jié)果轉(zhuǎn)送(result forwarding)"。可選擇執(zhí)行的指令,并在該轉(zhuǎn)送關(guān)聯(lián) 結(jié)果的計(jì)時(shí)周期期間傳送給功能單元24A至24C。在這個(gè)例子中,保 留站22繞送該轉(zhuǎn)送結(jié)果至該功能單元24。在可將指令解碼成多個(gè)運(yùn)算 而由功能單元24所執(zhí)行的實(shí)施例中,可彼此分別安排所述運(yùn)算。
在一個(gè)實(shí)施例中,設(shè)定每個(gè)所述功能單元24以執(zhí)行加與減的整數(shù) 算數(shù)運(yùn)算,及移位(shift)、旋轉(zhuǎn)(rotate)、邏輯運(yùn)算、以及分支運(yùn)算。響 應(yīng)由解碼單元20為特定指令解碼的控制值而執(zhí)行所述運(yùn)算。應(yīng)注意,
亦可使用浮點(diǎn)單元(圖中未示出)以納入浮點(diǎn)運(yùn)算??刹僮髟摳↑c(diǎn)單元作
為協(xié)同處理器,且自MROM單元34或重新安排緩沖器32接收指令, 接著與重新安排緩沖器32溝通以完成所述指令。此外,可設(shè)定功能單 元24以執(zhí)行用于載入與儲(chǔ)存存儲(chǔ)器運(yùn)算的位址產(chǎn)生,且所述運(yùn)算由載 入/儲(chǔ)存單元26來執(zhí)行。于一特定實(shí)施例中,每個(gè)功能單元24可包含 用于產(chǎn)生位址的位址產(chǎn)生單元及用于執(zhí)行其余功能的執(zhí)行單元。所述 二單元可根據(jù)計(jì)時(shí)周期期間的不同的指令或運(yùn)算而獨(dú)立運(yùn)算。
每個(gè)所述功能單元24亦提供關(guān)于執(zhí)行條件分支指令的信息至該分 支預(yù)測(cè)單元14。若分支預(yù)測(cè)為不正確的,分支預(yù)測(cè)單元14在已進(jìn)入該 指令處理管線的預(yù)測(cè)錯(cuò)誤的分支后清空(flush)指令,并且使擷取自指令 緩存16或主存儲(chǔ)器的所需要的指令。應(yīng)注意,在此種情況中,于拋棄 該預(yù)測(cè)錯(cuò)誤分支指令后發(fā)生的原始程序順序中的指令的結(jié)果,包含推 測(cè)執(zhí)行及暫時(shí)儲(chǔ)存于載入/儲(chǔ)存單元26及重新安排緩沖器32的結(jié)果。 更應(yīng)注意,分支執(zhí)行結(jié)果可由功能單元24提供給重新安排緩沖器32, 此乃可指示分支預(yù)測(cè)錯(cuò)誤至功能單元24。
若寄存器值被更新,由功能單元24所產(chǎn)生的結(jié)果送至重新安排緩 沖器32,而若改變存儲(chǔ)器位置的內(nèi)容,則結(jié)果送至載入/儲(chǔ)存單元26。 若儲(chǔ)存該結(jié)果于寄存器中,當(dāng)該指令被解碼時(shí),重新安排緩沖器32儲(chǔ) 存該結(jié)果于保留給該寄存器的值的位置中。所包含的多個(gè)結(jié)果總線38 為用于轉(zhuǎn)送來自于功能單元24及載入/儲(chǔ)存單元26的結(jié)果。結(jié)果總線 38傳送所產(chǎn)生的結(jié)果,以及該重新安排緩沖器標(biāo)示符識(shí)別被執(zhí)行的指
載入/儲(chǔ)存單元26提供功能單元24與數(shù)據(jù)緩存28間的接口 。在一 實(shí)施例中,設(shè)定載入/儲(chǔ)存單元26是用具有用于數(shù)據(jù)的儲(chǔ)存位置及用于 等待尚未訪問數(shù)據(jù)緩存28的載入或儲(chǔ)存的位址信息的第一載入/儲(chǔ)存 緩沖器,以及具有用于數(shù)據(jù)的儲(chǔ)存位置及用于已訪問數(shù)據(jù)緩存28的載 入與儲(chǔ)存的位址信息的第二載入/儲(chǔ)存緩沖器。例如,該第一緩沖器可 包括12個(gè)位置而該第二緩沖器可包括32個(gè)位置。解碼單元20仲裁訪 問至該載入/儲(chǔ)存單元26。當(dāng)該第一緩沖器滿時(shí),解碼單元必須等待直 到載入/儲(chǔ)存單元26具有該等待的載入或儲(chǔ)存請(qǐng)求信息的空間。載入/ 儲(chǔ)存單元26亦執(zhí)行檢查載入存儲(chǔ)器運(yùn)算對(duì)等待的儲(chǔ)存存儲(chǔ)器運(yùn)算的相
依性以確保維持?jǐn)?shù)據(jù)的連慣性。存儲(chǔ)器運(yùn)算為處理器IO與該主存儲(chǔ)器 次系統(tǒng)(雖然該傳送可在該數(shù)據(jù)緩存28中完成)間的數(shù)據(jù)傳送。存儲(chǔ)器 運(yùn)算可以是利用儲(chǔ)存于存儲(chǔ)器中的操作數(shù)的指令的結(jié)果,或可使該數(shù) 據(jù)傳送而沒有其它運(yùn)算的載入/儲(chǔ)存指令的結(jié)果。
數(shù)據(jù)緩存28為提供給載入/儲(chǔ)存單元26與該主存儲(chǔ)器次系統(tǒng)間所 傳送的暫時(shí)性儲(chǔ)存數(shù)據(jù)的高速緩存存儲(chǔ)器。在一個(gè)實(shí)施例中,數(shù)據(jù)緩 存28于兩路集合相聯(lián)結(jié)構(gòu)(2 way set associative structure)中具有儲(chǔ)存達(dá) 到64千字節(jié)的數(shù)據(jù)的容量。應(yīng)了解的是數(shù)據(jù)緩存28可以多種特定的 存儲(chǔ)器組態(tài)來實(shí)行,包含集合相聯(lián)的組態(tài)、全相聯(lián)的組態(tài)、直接對(duì)應(yīng) 的組態(tài)、以及任何適當(dāng)大小的任何其它組態(tài)。
總線接口單元37是通過總線設(shè)定于計(jì)算機(jī)系統(tǒng)中以在處理器10 與其它元件間作溝通。例如,該總線可與由迪吉多公司(Digital Equipment Corpomtion)開發(fā)的EV-6總線相容。替代地,可使用包含基 于封包、單向或雙向連結(jié)等的適當(dāng)?shù)幕ミB結(jié)構(gòu)。也可使用用于介接第 二階緩存的選擇性第二階緩存(L2 cache)接口 。
應(yīng)注意,盡管該圖1的實(shí)施例為超純量(superscalar)的實(shí)施方式, 但其它實(shí)施例可使用純量的實(shí)施方式。此外,功能單元的數(shù)量可隨實(shí) 施例的不同而改變??墒褂萌魏斡糜趫?zhí)行捷徑與微碼(如MROM)指令 的執(zhí)行電路。其它實(shí)施例可使用集中式保留站而非于圖1中所顯示的 個(gè)體保留站。此外,其它實(shí)施例可使用中心排程器而非圖1中所顯示 的保留站與重新安排緩沖器。
請(qǐng)參閱圖2,為顯示可利用于如以上所描述的處理器的裝置中的電 源管理機(jī)制的一實(shí)施例。以下將使用以微指令為基礎(chǔ)的方法及機(jī)制作 為討論的目的。然而,所描述的方法及機(jī)制也可用于非微指令為基礎(chǔ) 的系統(tǒng)。
在該顯示的例子中,顯示出微碼單元200及微指令控制單元202。 應(yīng)注意,該微碼單元200及微指令控制單元202可一般對(duì)應(yīng)于以上描 述的MROM單元34。然而,于其它實(shí)施例中,所述單元(200, 202)可 包括自MROM單元34分離出來的電路。微碼單元200包含包括多個(gè) 條目的存儲(chǔ)器210,可設(shè)定每個(gè)條目以儲(chǔ)存微指令。存儲(chǔ)器210可包括 例如只讀存儲(chǔ)器(ROM)或任何其它適當(dāng)?shù)膬?chǔ)存裝置。所顯示的控制單
元202包含重新安排緩沖器220與動(dòng)態(tài)電源控制單元240。除了該微碼 單元200外,還顯示控制單元202、電源群組260A至260N。在一個(gè) 實(shí)施例中,電源群組可一般對(duì)應(yīng)于邏輯單元或電路的電源可管理區(qū)塊 的匯集。電源可管理意指電源電壓(VdcO供應(yīng)及/或計(jì)時(shí)可動(dòng)態(tài)關(guān)閉(turn oft)或開啟(turn on)。例如,電源群組260A可對(duì)應(yīng)于位址產(chǎn)生單元及/ 或載入儲(chǔ)存單元,電源群組260B可對(duì)應(yīng)于算數(shù)邏輯單元,電源群組 260C可對(duì)應(yīng)于移位器,電源群組260N可對(duì)應(yīng)于部分的浮點(diǎn)單元等等。
于一個(gè)實(shí)施例中,可將微指令編碼以使其指示哪一個(gè)或多個(gè)電源 群組260需要執(zhí)行。若偵測(cè)到需要特定電源群組的微指令為于該管線 中或其它方面需要使用特定的電源群組,則控制單元202可能使該對(duì) 應(yīng)的電源群組維持原狀或成為作用中的(active)。若沒有偵測(cè)到此種微 指令,則可允許給定的電源群組進(jìn)入低電源狀態(tài)。如本文中所使用的, 低電源狀態(tài)可一般包含關(guān)閉或無電源狀態(tài),除非另外指示。
在一個(gè)實(shí)施例中,特定的電源群組260在缺乏某種指令下可自動(dòng) 地進(jìn)入低電源狀態(tài),該指令防止特定的電源群組260進(jìn)入低電源狀態(tài)。 在此種實(shí)施例中,電源群組可隨著時(shí)間對(duì)電源消耗而據(jù)以自動(dòng)"衰變 (decay)"。若判定或據(jù)信可能需要給定的電源群組,則可傳達(dá)指令至電 源群組,而實(shí)際上"復(fù)新(refresh)"電源群組為較小的衰變狀態(tài)。例 如,若電源群組260不在使用中以及于特定的時(shí)間內(nèi)沒有接收到復(fù)新 信號(hào),則可設(shè)定電源群組260以自動(dòng)地進(jìn)入低電源狀態(tài)。若偵測(cè)到該 復(fù)新信號(hào),則可"重新啟動(dòng)(restarO"該預(yù)定的時(shí)間。
在所示的實(shí)施例中,存儲(chǔ)器210—般包括具有多個(gè)行(row),具有 儲(chǔ)存對(duì)應(yīng)于一個(gè)(可能多個(gè))微指令的數(shù)據(jù)的給定行的表格。如本文中所 使用的,該名稱"微指令"與"指令"可替換使用。 一般而言,對(duì)應(yīng) 于給定指令的數(shù)據(jù)可包括一個(gè)或多個(gè)域,所述域識(shí)別特定的運(yùn)算、寄 存器、存儲(chǔ)器位置或其它位置。除此之外,對(duì)于給定指令的數(shù)據(jù)可更 進(jìn)一步包含電源代碼域212,該電源代碼域212可用于指示能夠要求執(zhí) 行該對(duì)應(yīng)的指令的一個(gè)或多個(gè)電源群組。在替代的實(shí)施例中,電源代 碼域212內(nèi)的數(shù)據(jù)可在指令解碼期間或處理機(jī)制內(nèi)的其它地方產(chǎn)生。 在該存儲(chǔ)器200及/或控制單元202為MkOM單元34的部分的實(shí)施例 中,響應(yīng)來自于指令緩存16的指令而可設(shè)定存儲(chǔ)器單元200以傳達(dá)從
存儲(chǔ)器200至控制單元202的一個(gè)或多個(gè)指令。如上所述,處理器中 的某些指令(例如,MROM指令)可視為太復(fù)雜而無法由解碼單元20解 碼。像這種情形,MROM通過呼叫MROM單元34來執(zhí)行,然后該 MROM單元34發(fā)送兩個(gè)或更多個(gè)其它指令用以實(shí)行該需要的運(yùn)算。
于一個(gè)實(shí)施例中,重新安排緩沖器220包含多個(gè)條目,設(shè)定每個(gè) 條目以將數(shù)據(jù)儲(chǔ)存至從存儲(chǔ)器200所接收到的指令。于所示的例子中, 指令及其它數(shù)據(jù)通過總線230可傳達(dá)至重新安排緩沖器220,然而對(duì)應(yīng) 的電源代碼則通過總線232傳達(dá)至重新安排緩沖器220及動(dòng)態(tài)電源控 制單元240。動(dòng)態(tài)電源控制單元240包含設(shè)定為儲(chǔ)存用于一個(gè)或多個(gè)電 源群組260的每個(gè)群組的指令的單元280。將該單元280中的每個(gè)指令 設(shè)定為指示是否對(duì)應(yīng)的電源群組可進(jìn)入低電源狀態(tài)。舉例來說,單元 280可包括條目0至N,每個(gè)條目對(duì)應(yīng)于電源群組260。除此之外,每 個(gè)電源群組260還可接收對(duì)應(yīng)的指令DPC[O]至DPC-[N],該指令指示 該電源群組的電源狀態(tài)。同時(shí)包含在動(dòng)態(tài)電源控制單元240內(nèi)的是電 路(290, 292,以及270),該電路用來更新單元280的內(nèi)容。在一個(gè)實(shí)施 例中,電路290可通過對(duì)應(yīng)于"進(jìn)入的(incoming)"指令的總線232接 收指令,同時(shí)可用總線250傳達(dá)指令至對(duì)應(yīng)于"等待的(pending)"指 令的電路292。除此之外,電源群組260通過總線252進(jìn)一步耦接以傳 達(dá)狀態(tài)的指令至動(dòng)態(tài)電源控制單元240。如本文中所使用的,當(dāng)偵測(cè)到 為進(jìn)入的及/或等待的的任一指令時(shí),可據(jù)以安排執(zhí)行的指令。
一般來說,通過總線232或250所接收到的指令可識(shí)別可能需要 執(zhí)行對(duì)應(yīng)指令的一個(gè)或多個(gè)電源群組260。若接收到對(duì)應(yīng)于特定電源群 組260A至260N的指令,則可更新單元280以指示該對(duì)應(yīng)的電源群組 260維持電源開啟及/或計(jì)時(shí)產(chǎn)生(或替代地,不允許進(jìn)入低電源狀態(tài))。 例如,在一個(gè)實(shí)施例中,單元280可包括全域計(jì)數(shù)器(global counter), 其中單元280的每個(gè)條目可對(duì)應(yīng)于電源群組260的至少一者及可包括 減少每個(gè)計(jì)時(shí)周期的計(jì)數(shù)值。響應(yīng)偵測(cè)到對(duì)應(yīng)于電源群組的進(jìn)入的232 及/或等待的250指令,控制單元270可使用于該對(duì)應(yīng)的電源群組的計(jì) 數(shù)被重設(shè)為非零的值。除此之外,當(dāng)對(duì)應(yīng)于給定的電源群組的指令在 等待時(shí)(例如,在重新安排緩沖器220中),控制單元270還可防止該計(jì) 數(shù)減少。電源群組260的計(jì)數(shù)達(dá)到零時(shí)可進(jìn)入(或允許進(jìn)入)低電源狀
態(tài)。達(dá)到零的單元280內(nèi)的計(jì)數(shù)一般指示經(jīng)過預(yù)定期間沒有偵測(cè)到對(duì)
應(yīng)于進(jìn)入或等待的指令的電源代碼。例如,假使單元280中每個(gè)計(jì)數(shù)
包括兩個(gè)位元,并且進(jìn)入或等待的指令電源代碼的偵測(cè)使兩個(gè)位元被
設(shè)為二進(jìn)位值(binary value) "1"(例如,該計(jì)數(shù)值是3),則減少該計(jì)數(shù) 值三次將使該計(jì)數(shù)等于零,而可用來造成(或否則允許)該對(duì)應(yīng)的電源群 組進(jìn)入低電源狀態(tài)。當(dāng)然,該方法與機(jī)制可執(zhí)行增加而不是減少,并 且可指示造成或允許的低電源狀態(tài)響應(yīng)以偵測(cè)對(duì)應(yīng)的計(jì)數(shù)等于零或大 于預(yù)定的最大值。在此種例子中,控制單元270可重設(shè)計(jì)數(shù)為零。
圖3例示電源群組320的一實(shí)施例及對(duì)應(yīng)的電源狀態(tài)指令310。電 源群組320可一般對(duì)應(yīng)于繪制于圖2中的電源群組260的其中一者, 并且電源狀態(tài)指令310可一般對(duì)應(yīng)于圖2所顯示的從該動(dòng)態(tài)電源控制 單元240所傳達(dá)的指令。在一個(gè)實(shí)施例中,電源群組可邏輯分隔成兩 個(gè)或更多個(gè)群組,該每個(gè)群組具有不同的電源管理的需求。在所示的 例子中,電源群組320被分隔成電源管理的第一群組330,以及不是電 源管理的第二群組332。在一個(gè)實(shí)施例中,該第一群組330可包括寄存 器、組合邏輯、及/或可以被電源管理的順序邏輯(sequential logic),然 而另一群組332包括寄存器及/或可不為電源管理的邏輯??刹魂P(guān)閉電 源的邏輯一般可包括需要保留某些類型的狀態(tài)的邏輯。
如圖3的例子所顯示,電壓供應(yīng)302為可用的,及接地供應(yīng)306 為可用的。除此之外,還提供clk來源(gclk)304。例如,計(jì)時(shí)來源gclk 304可包括同步全域計(jì)時(shí)。在一個(gè)實(shí)施例中,電壓供應(yīng)通過第一柵極 312耦接到該第一群組,并且亦耦接到該第二群組332。同樣地,gclk 304 通過柵極314耦接到第一群組,并且耦接到該第二群組332。接地供應(yīng) 306也顯示被耦接到兩個(gè)群組(330, 332)。電源狀態(tài)指令(DPC[i])310耦 接到每個(gè)柵極312及314。柵極312及314可包括三態(tài)(tri-state)柵極, 或其它電路,此可用來控制不論電壓供應(yīng)器302及/或gclk 304是否提 供給該第一群組330。例如,電源狀態(tài)指令310可包括允許(enable)信 號(hào),該信號(hào)是用來允許或禁止(disable)自每個(gè)柵極312的輸出。允許該 柵極312的輸出會(huì)使該第一群組330有電源,而允許柵極314的輸出 會(huì)使該第一群組330產(chǎn)生計(jì)時(shí)。于一實(shí)施例中,電源狀態(tài)信號(hào)310可 僅包括如圖2中上述的對(duì)應(yīng)的電源群組的計(jì)數(shù)。若該計(jì)數(shù)的任何位元
不是零,則允許該對(duì)應(yīng)的柵極(312, 314)。否則可將該對(duì)應(yīng)的柵極(312, 314)輸出禁止。當(dāng)然,至于信號(hào)310如何控制電路312及314的眾多變 化為可能的且被思考的。
除了以上所述,電源群組320也示出傳達(dá)指令340的狀態(tài)。狀態(tài) 指令一般可傳達(dá)至圖2的該動(dòng)態(tài)電源控制單元240。狀態(tài)指令可用來指 示何時(shí)可將電源群組320關(guān)閉電源。例如,當(dāng)電源群組320執(zhí)行運(yùn)算 時(shí),狀態(tài)信號(hào)340可指示其需要電源及/或產(chǎn)生計(jì)時(shí)。
如上所述,某些部分的電源群組可以為電源管理的,而其它部分 不是。在圖3的例子中,電源群組340內(nèi)的第二群組332 —直被設(shè)成 給予電源及/或產(chǎn)生計(jì)時(shí)。此種狀況為需要的,因?yàn)樾枰航M332保持 一種狀態(tài)。在替代的實(shí)施例中,不使其電源及/或計(jì)時(shí)被移除的部分的 電源群族可能使其電源狀態(tài)降低。在此種方式中,可設(shè)定電路以減少 其電源使用及/或漏電,而仍能保持其狀態(tài)。
圖4繪制類似于圖3的電路的實(shí)施例。圖4中類似的項(xiàng)目具有與 圖3的類似項(xiàng)目相同的編號(hào)。在該圖4的實(shí)施例中,將附加的電路400 耦接于供應(yīng)電壓302, gclk304與電源群組320的群組332之間。 一般 而言,可設(shè)定電路400以供應(yīng)兩個(gè)或更多個(gè)功率位準(zhǔn)(powerlevel)至群 組332,然而維持需要維持在群組332內(nèi)電路狀態(tài)的最小功率位準(zhǔn)。在 一實(shí)施例中,可耦接電路400以接收超過一個(gè)的電源供應(yīng)。例如,可 耦接電路400以接收及傳達(dá)代表高供應(yīng)電壓(例如1伏特(V))的電源供 應(yīng)Vdd 302與代表低供應(yīng)電壓(例如250毫伏(mV))的電源供應(yīng)Vdd2 410。以此方式,電路400可從兩個(gè)或更多個(gè)電源供應(yīng)選擇電源供應(yīng)并 傳達(dá)該選定的電源供應(yīng)至群組332。替代地,可使用已知的技術(shù)從單一 電源供應(yīng)傳達(dá)超過一電源位準(zhǔn)。在此種實(shí)施例中,可耦接電路400以 僅接收單一電源供應(yīng)(例如,Vdd 302)并且傳達(dá)兩個(gè)或更多個(gè)電源供應(yīng) 至群組332。
請(qǐng)參閱圖5,為繪制電源管理機(jī)制的一實(shí)施例。在該顯示的實(shí)施例 中,顯示被耦接的多個(gè)電源群組560A至560N以接收電源供應(yīng)(Vdd) 及計(jì)時(shí)信號(hào)(gclk)。該繪制的電源供應(yīng)Vdd與計(jì)時(shí)信號(hào)gclk可(或不可) 代表共同的電源供應(yīng)Vdd及/或計(jì)時(shí)信號(hào)gclk。可一般對(duì)應(yīng)于動(dòng)態(tài)電源 控制單元(例如圖2的單元240)的電路則顯示于方塊500內(nèi)。然而,在
其它的實(shí)施例中,可將繪制于圖5的各種部分的邏輯與電路置放于裝 置或系統(tǒng)內(nèi)的多種位置內(nèi)。在該顯示的例子中,顯示設(shè)定儲(chǔ)存用于每
個(gè)電源群組560的電源狀態(tài)指令的儲(chǔ)存裝置(例如,寄存器)522。例如, 條目520A至520N可分別對(duì)應(yīng)于每個(gè)電源群組560A至560N。儲(chǔ)存裝 置522 (即使非必要)可一般對(duì)應(yīng)于圖2的儲(chǔ)存裝置280。于儲(chǔ)存裝置522 包括多個(gè)計(jì)數(shù)器的實(shí)施例中,可產(chǎn)生更新信號(hào)521,該信號(hào)被設(shè)定為減 少如上所述的計(jì)數(shù)。同時(shí),所顯示的每個(gè)所述電源群組560A至560N 為柵控邏輯(gating logic) 532A至532N與指令530A至530N。
于該顯示的實(shí)施例中,將單元500耦接以接收對(duì)應(yīng)于至少一電源 群組560A的進(jìn)入的指令502A及等待的指令504A。進(jìn)入的指令502A 可由如圖2的微碼單元200的裝置傳達(dá),而等待的指令504A可自例如 圖2的重新安排緩沖器220的裝置傳達(dá)。替代地,于基于非微碼的裝 置中,可從任何適當(dāng)?shù)闹噶钆懦虣C(jī)制或其它機(jī)制接收此種指令(502A, 504A)。 一般也可設(shè)定單元500接收用于電源群組560B至560N的進(jìn) 入的及/或等待的指令。設(shè)定每個(gè)柵控電路532A至532N以控制對(duì)應(yīng)的 電源群組560A至560N是否為給予電源及/或產(chǎn)生計(jì)時(shí),例如圖4所描 述的三態(tài)柵極(312及314)。在此種實(shí)施例中,每個(gè)電路532然后可接 收控制該柵控功能的允許/禁止信號(hào)。例如,信號(hào)524A可代表電源群 組560A的允許/禁止信號(hào)。在一個(gè)實(shí)施例中,信號(hào)524A可對(duì)應(yīng)于圖4 的信號(hào)310。
一般而言,當(dāng)偵測(cè)到需要用于運(yùn)算的電源群組560A的指令(例如, 于早期管線中如解碼期間)時(shí),可斷定(assert)進(jìn)入的指令502A。等待的 指令504A可斷定,而需要電源群組560A的指令為等待中(例如,于圖 2的重新安排緩沖器內(nèi))。響應(yīng)所述信號(hào)502A與504A,電路506傳達(dá) 指令510A,該指令510A指示電源群組560A是否可進(jìn)入減小的電源 狀態(tài)。例如,在一個(gè)實(shí)施例中,電路506根據(jù)所接收到的信號(hào)502A及 504A的值,可執(zhí)行邏輯OR功能。若斷定信號(hào)502A或504A的任一者, 則也斷定可指示電源群組560A可能無法進(jìn)入減小的電源狀態(tài)的信號(hào) 510A。可對(duì)每個(gè)電源群組520B至520N分別產(chǎn)生類似的指令510B至 5薩。
在一個(gè)實(shí)施例中,信號(hào)510A可直接指示是否對(duì)應(yīng)的電源群組560A
可進(jìn)入降低的電源狀態(tài)。在此種實(shí)施例中,若信號(hào)510A不被斷定(例
如,偵測(cè)不到對(duì)應(yīng)于電源群組560A的進(jìn)入的信號(hào)及等待的信號(hào)),則 可取消斷定(de-assert)信號(hào)524A,而將該Vdd的輸出及/或來自于柵控 邏輯532A的gclk禁止。實(shí)際上,條目520A然后可對(duì)該對(duì)應(yīng)的電源群 組560A儲(chǔ)存允許/禁止的狀態(tài)。于替代的實(shí)施例中,電源狀態(tài)可如上 所述的在時(shí)間期間衰變。于一實(shí)施例中,每個(gè)條目520A至520N可對(duì) 對(duì)應(yīng)的電源群組560A至560N儲(chǔ)存計(jì)數(shù)。響應(yīng)更新信號(hào)521,或任何 其它適當(dāng)?shù)男盘?hào)而每個(gè)計(jì)數(shù)520可被減少計(jì)時(shí)信號(hào)的每個(gè)周期(例如, gclk,或任何其它適當(dāng)?shù)挠?jì)時(shí)信號(hào))。萬一對(duì)應(yīng)的計(jì)數(shù)達(dá)到例如零的預(yù) 定值時(shí),則該對(duì)應(yīng)的電源群組可進(jìn)入低電源狀態(tài)。例如,若在條目520A 中的計(jì)數(shù)等于零,則允許/禁止信號(hào)524A可指示該對(duì)應(yīng)的電源群組 560A可進(jìn)入低電源狀態(tài)。
在一個(gè)實(shí)施例中,可對(duì)每個(gè)所述電源群組560維持個(gè)別的狀態(tài)指 令。例如,如圖5所顯示的,可對(duì)每個(gè)電源群組同時(shí)維持計(jì)數(shù)520及 狀態(tài)指令530(如區(qū)塊523所示)。在此種實(shí)施例中,對(duì)應(yīng)的狀態(tài)530為 設(shè)定相依于對(duì)應(yīng)的計(jì)數(shù)520值。因此,若計(jì)數(shù)520A不是零,則狀態(tài) 530A可指示電源群組560A為給予fe源的。另一方面,若計(jì)數(shù)520A 達(dá)到零,則可設(shè)定狀態(tài)530A以指示電源群組可進(jìn)入低電源狀態(tài)。為響 應(yīng)接收指示進(jìn)入或等待的指令,可對(duì)對(duì)應(yīng)的電源群組的計(jì)數(shù)重設(shè)。
同樣繪制于圖5的是通過每個(gè)電源群組560A至560N而傳達(dá)的狀 態(tài)指令570A至570N。狀態(tài)指令570可指示對(duì)應(yīng)的電源狀態(tài)560不能 進(jìn)入減小的電源狀態(tài)及/或使其產(chǎn)生計(jì)時(shí)禁止。例如,若狀態(tài)指令570A 指示電源群組560A不能進(jìn)入減小的電源狀態(tài),則可避免信號(hào)524A指 示低電源狀態(tài),而與條目520A及域530A的值無關(guān)。替代地,指令 570A可能直接提供給柵控邏輯532A或其它。眾多的此種替代實(shí)施例 為可能的且被思考的。
如上所述,指令可包含有關(guān)于可能需要執(zhí)行的一個(gè)或多個(gè)電源群 組的指令??芍苯泳幋a此種指令作為該指令編碼的部分,該電源代碼 指令可通過對(duì)映至指令操作碼或其它操作碼來判定。多種結(jié)合具有指 令或運(yùn)算的電源代碼指令的技術(shù)為可能且被思考的。圖6例示電源代 碼的一實(shí)施例及其與各種指令的關(guān)聯(lián)性。第一表格600顯示包含電源
群組列(column) 602及對(duì)應(yīng)的電源代碼ID 604。每個(gè)表格600的行則包 含邏輯/電路的一個(gè)或多個(gè)電源可管理的群組及對(duì)應(yīng)的電源代碼ID。在 該所顯示的例子中,電源代碼ID包括八個(gè)位元。然而,在此技術(shù)領(lǐng)域 熟知這些技藝者會(huì)了解其它編碼為可能的。所有此種替代物為被思考 的。第一條目指令位址產(chǎn)生單元(AGU)及載入/儲(chǔ)存單元的電源代碼ID 為"00000001"。第二條目指令算數(shù)邏輯單元(ALU)的電源代碼ID為 "00000010"。類似的條目包含移位器、整數(shù)乘法器、浮點(diǎn)(FP)排程器、 FP加法器、FP乘法器以及FP除法/平方根單元。應(yīng)注意,在給定裝置 內(nèi)的特定的電源群組將取決于該裝置的類型與本質(zhì)、設(shè)計(jì)決定等。因 此,不同的電源群組可存在于特定的一般目的的微處理器及特殊應(yīng)用 裝置(application specific device)。
圖6的第二表格601繪制具有包括電源代碼614及其它位元616 的對(duì)應(yīng)樣本編碼的樣本指令612。該第一條目繪制可設(shè)定的和(and) addop指令,例如,將兩個(gè)操作數(shù)相加。在該所示的例子中,addop具 有寄存器及存儲(chǔ)器操作數(shù)。該指令的電源代碼為"00000011"。根據(jù)由 表格600所例示的關(guān)聯(lián)性,該電源代碼"000000011"指示可能同時(shí)需 要該AGU、載入/儲(chǔ)存電源群組及該ALU電源群組。第二條目繪制可 設(shè)定將數(shù)據(jù)從一位置移動(dòng)至另一位置的moveop指令。在該所示的例子 中,該moveop指令包含兩個(gè)寄存器操作數(shù)。該moveop指令的電源代 碼為"00000010",其對(duì)應(yīng)于該ALU電源群組。最后,fpaddop指令繪 制于表格601中。此種指令在浮點(diǎn)運(yùn)算單元中可對(duì)應(yīng)于加法運(yùn)算。于 該所示的例子中,該fpaddop指令包含浮點(diǎn)寄存器操作數(shù)(^pregister)及 存儲(chǔ)器操作數(shù)。該fpaddop指令的電源代碼為"00110001",其對(duì)應(yīng)于 該移位器,及整數(shù)乘法電源群組。對(duì)應(yīng)于每個(gè)所例示的指令的其它位 元616可提供該指令的任何其它適當(dāng)?shù)木幋a位元。
如電源群組的識(shí)別的例子,該電源群組可能需要等待的指令,假 定用于討論的目的,該表格601代表儲(chǔ)存于圖2的重新安排緩沖器220 內(nèi)的一部分的數(shù)據(jù)。因此,于表格601的指令一般代表等待的指令。 請(qǐng)看所繪制的三個(gè)指令(一般有可能超過三個(gè)指令),可執(zhí)行邏輯OR運(yùn) 算于所述等待的指令的電源代碼上。因此,以下的運(yùn)算為執(zhí)行如區(qū)塊 603中所例示的結(jié)果。00000011 00000010 00110001
00110011
因此,"00] 10011"的電源代碼為指示該等待的指令。同樣地,此 電源代碼對(duì)應(yīng)于該AGU、載入/儲(chǔ)存、ALU、移位器及整數(shù)乘法器電源 群組。因此,可能需要這些電源群組的每個(gè)群組且可不必關(guān)機(jī)/關(guān)閉電 源。
請(qǐng)參閱圖7,為顯示包含通過總線橋接器(bus bridge) 702耦接到多 種系統(tǒng)元件的處理器10的計(jì)算機(jī)系統(tǒng)700的一實(shí)施例的方塊圖。其它 實(shí)施例為有可能及被思考的。在所繪制的系統(tǒng)中,主存儲(chǔ)器704通過 存儲(chǔ)器總線706耦接到總線橋接器702,并且圖形控制器708通過AGP 總線710耦接到總線橋接器702。最后,多個(gè)PCI裝置712A至712B 通過PCI總線714耦接到總線橋接器702。第二總線橋接器716可進(jìn)一 歩提供通過EISA/ISA總線720容納一個(gè)或多個(gè)EISA或ISA裝置718 的電子接口 。處理器10通過CPU總線724耦接到總線橋接器702且 耦接到選擇性的L2緩存728。合起來,CPU總線724及至L2緩存728 的接口可包括外部接口單元18可耦接的外部接口。
總線橋接器702提供處理器10、主存儲(chǔ)器704、圖形控制器708、 以及依附于PCI總線714的裝置間的接口。當(dāng)運(yùn)算接收自與總線橋接 器702所連接的其中一個(gè)裝置時(shí),總線橋接器702識(shí)別該運(yùn)算的目標(biāo)(例 如,特定的裝置,或PCI總線714的例子,該目標(biāo)在PCI總線上714)。 總線橋接器702繞送該運(yùn)算至該目標(biāo)裝置??偩€橋接器702 —般轉(zhuǎn)譯 由該來源裝置或總線所使用的通信協(xié)定至由該目標(biāo)裝置或總線所使用 的通信協(xié)定的運(yùn)算。
除了對(duì)PCI總線714提供接口給ISA/EISA總線之外,第二總線橋 接器716可依需要更進(jìn)一步整合附加的功能性。輸入/輸出控制器(圖中 未顯示),亦可依需要包含接取自第二總線橋接器716或與第二總線橋 接器716整合的外部控制器于計(jì)算機(jī)系統(tǒng)內(nèi)700,.以提供鍵盤及滑鼠 722及各種序列或平行端口的操作支援。于其它的實(shí)施例中,可進(jìn)一步
將外部緩存單元(圖中未顯示)耦接到CPU總線724于處理器10與總線
橋接器702之間。替代地,可將該外部緩存耦接到總線橋接器702且 可將該外部緩存的緩存控制邏輯整合至總線橋接器702。 L2緩存728 進(jìn)一步顯示于處理器10的后方的組態(tài)中。應(yīng)注意,L2緩存728可自處 理器10分隔開來、與處理器10整合至卡夾(例如插槽l(slot l)或插槽 A(slot A))或甚至與處理器10整合至半導(dǎo)體襯底。L2緩存728可由錯(cuò) 誤更正碼(Error Correction Coding, ECC)數(shù)據(jù)保護(hù),且在該L2緩存728 中的ECC錯(cuò)誤可依需要使用微碼常式(microcode routine)(如以上所述) 或于硬件中更正。
主存儲(chǔ)器704為儲(chǔ)存應(yīng)用程序及處理器10主要執(zhí)行應(yīng)用程序的存 儲(chǔ)器。適當(dāng)?shù)闹鞔鎯?chǔ)器704包括動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(Dynamic Random Access Memory, DRAM)。例如多個(gè)同步動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器 (Synchronous DRAM, SDRAM)或Rambus動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(Rambus DRAM, RDRAM)的存儲(chǔ)槽(bank)可為適當(dāng)?shù)摹?br> PCI裝置712A至712B例示多種接口裝置。所述周邊裝置可包含 與另一計(jì)算機(jī)系統(tǒng)的裝置可耦接(例如網(wǎng)絡(luò)接口卡、數(shù)據(jù)機(jī)等)溝通的裝 置。此外,周邊裝置還可包含其它裝置,例如,舉例,視訊加速卡、 音效卡、硬碟或軟式磁碟機(jī)或驅(qū)動(dòng)控制器、小型計(jì)算機(jī)系統(tǒng)接口(Small Computer Systems Interface, SCSI)配接卡及電話卡。同樣地,ISA裝置 718例示各種類型的周邊裝置,例如數(shù)據(jù)機(jī)、音效卡、以及多種數(shù)據(jù)收 集接口卡,例如一般用途界面總線(General Purpose Interface Bus, GPIB) 或現(xiàn)場總線接口卡(field bus interface cards)。
圖形控制器708是提供來控制在顯示器726上所產(chǎn)生的文字與影 像。圖形控制器可嵌入在此領(lǐng)域已泛知的典型圖形加速器以產(chǎn)生三維 的數(shù)據(jù)架構(gòu),該架構(gòu)可有效移進(jìn)與移出主存儲(chǔ)器704。圖形控制器708 因此可以是AGP總線710的主總線,其中,圖形控制器708可于總線 橋接器702內(nèi)要求及接收訪問至目標(biāo)接口,從而獲得主存儲(chǔ)器704的 訪問權(quán)。專用的圖形總線收納從主存儲(chǔ)器704快速擷取的數(shù)據(jù)。對(duì)某 些運(yùn)算而言,可進(jìn)一步設(shè)定圖形控制器708以在AGP總線710上產(chǎn)生 PCI通信協(xié)定交易。該總線橋接器702的AGP接口可因而包含支援AGP 通信協(xié)定交易以及PCI通信協(xié)定目標(biāo)與起始者(initiator)交易的功能性。
顯示器726是根據(jù)可呈現(xiàn)的影像或文字的任何電子顯示器。適當(dāng)?shù)娘@
示裝置726包含陰極射線管("CRT")、液晶顯示器("LCD")等。
應(yīng)注意,盡管該AGP、 PCI、以及ISA或EISA總線已用作為上述 的例子,然可依需要取代任何總線架構(gòu)。應(yīng)更進(jìn)一步注意,計(jì)算機(jī)系 統(tǒng)700可以是包含附加處理器(例如,所顯示的處理器10a作為計(jì)算機(jī) 系統(tǒng)700的選擇性元件)的多處理計(jì)算機(jī)系統(tǒng)。處理器10a可以是類似 于處理器10。詳而言之,處理器10a可以是處理器10的相同的復(fù)制品。 處理器10a可通過獨(dú)立總線(如圖7所示)連接至總線橋接器702或可與 處理器10分享CPU總線724。此外,處理器10a可耦接至選擇性的 L2緩存728a,其類似于L2緩存728。
各種實(shí)施例可根據(jù)關(guān)于計(jì)算機(jī)可讀取媒介的前面敘述進(jìn)一步包含 接收、送出或儲(chǔ)存指令及/或安裝的數(shù)據(jù)。計(jì)算機(jī)可讀取媒介可包含儲(chǔ) 存媒介或存儲(chǔ)器媒介,例如磁性或光學(xué)媒介,例如,磁碟、DVD、 CD-ROM、如RAM(例如SDRAM、 RDRAM、 SRAM等)、ROM等的 易失性或非易失性媒介。除此之外,應(yīng)注意,以上各種實(shí)施例可依需 要自其它實(shí)施例分離出來或可用于與一個(gè)或多個(gè)其它實(shí)施例的組合。 此外,可思考組合以上所有實(shí)施例的操作的實(shí)施例。
一旦以上揭露完全了解,許多變化及修改對(duì)于本領(lǐng)域的熟知技藝 者會(huì)變得顯而易見。雖然以上說明一般描述一般目的的微處理器的上 下文內(nèi)的方法及機(jī)制,然該方法與機(jī)制可應(yīng)用至任何裝置,其中可能 需要電源管理,例如路由器、交換器、圖形裝置、橋接芯片、可攜式 裝置等。以下的權(quán)利要求書將會(huì)被詮釋以包含所有此種的變化及修改。
權(quán)利要求
1、一種設(shè)備,包括一個(gè)或多個(gè)電源可管理群組(260A至260N);以及電源管理單元(202),設(shè)定以偵測(cè)安排執(zhí)行的指令;識(shí)別可能需要用于執(zhí)行該指令的該一個(gè)或多個(gè)電源可管理群組中的至少一個(gè)電源群組;以及響應(yīng)偵測(cè)到該指令,傳達(dá)避免該至少一個(gè)電源群組進(jìn)入關(guān)閉電源狀態(tài)的指令(570A至570N))。
2、 如權(quán)利要求1所述的設(shè)備,其中,偵測(cè)安排執(zhí)行的指令包括偵測(cè) 進(jìn)入及/或等待的指令。
3、 如權(quán)利要求1所述的設(shè)備,其中,該電源管理單元進(jìn)一歩設(shè)定以 傳達(dá)使該至少一個(gè)電源群組進(jìn)入關(guān)閉電源狀態(tài)的指令。
4、 如權(quán)利要求3所述的設(shè)備,其中,該指令進(jìn)一步設(shè)定以使該至少 一個(gè)電源群組的計(jì)時(shí)禁止。
5、 如權(quán)利要求3所述的設(shè)備,其中,該至少一個(gè)電源群組包括可關(guān) 閉電源的第一部分的電路,以及可不關(guān)閉電源的第二部分的電路。
6、 如權(quán)利要求5所述的設(shè)備,其中,響應(yīng)接收該至少一個(gè)電源群組 可被關(guān)閉電源的指令,該第一部分可進(jìn)入關(guān)閉電源狀態(tài),且該第二部 分可進(jìn)入不是關(guān)閉電源狀態(tài)的減小電源狀態(tài)。
7、 如權(quán)利要求3所述的設(shè)備,其中,響應(yīng)判定對(duì)應(yīng)于該至少一個(gè)電 源群組的指令于預(yù)定時(shí)間期間尚未安排執(zhí)行,該電源管理單元設(shè)定以 傳達(dá)允許該至少一個(gè)電源群組進(jìn)入關(guān)閉電源狀態(tài)的指令。
8、 如權(quán)利要求7所述的設(shè)備,其中,該電源管理單元設(shè)定為維持多個(gè)計(jì)數(shù)(520A至520N),每個(gè)該多個(gè)計(jì)數(shù)對(duì)應(yīng)于該電源可管理群組中的一者;對(duì)接收到的計(jì)時(shí)信號(hào)的各周期減少各該多個(gè)計(jì)數(shù);以及 響應(yīng)偵測(cè)到安排執(zhí)行的對(duì)應(yīng)于電源群組的指令,重設(shè)該多個(gè)計(jì)數(shù)的第一計(jì)數(shù)至最大值,該第一計(jì)數(shù)對(duì)應(yīng)于該電源群組。
9、 如權(quán)利要求3所述的設(shè)備,其中,該至少一個(gè)電源群組被設(shè)定以 傳達(dá)狀態(tài)指令至該電源管理單元,其中,當(dāng)斷定該狀態(tài)指令時(shí),避免 該第一電源群組進(jìn)入關(guān)閉電源狀態(tài)。
10、 如權(quán)利要求l所述的設(shè)備,其中,該至少一個(gè)電源群組設(shè)定以在 缺乏該指令下自動(dòng)地進(jìn)入關(guān)閉電源狀態(tài)。
11、 一種用于在電子裝置中管理電源的方法,該方法包括 偵測(cè)安排執(zhí)行的指令;識(shí)別可能需要用于執(zhí)行該指令的一個(gè)或多個(gè)電源可管理群組 (260A至260N)中的至少一電源群組;以及響應(yīng)偵測(cè)到該指令,傳達(dá)避免該至少一個(gè)電源群組進(jìn)入關(guān)閉電源 狀態(tài)的指令。
12、 如權(quán)利要求11所述的方法,進(jìn)一步包括傳達(dá)使該至少一個(gè)電源 群組進(jìn)入關(guān)閉電源狀態(tài)的指令。
13、 如權(quán)利要求12所述的方法,其中,該至少一個(gè)電源群組包括可 關(guān)閉電源的第一部分的電路,以及可不關(guān)閉電源的第二部分的電路, 以及其中,響應(yīng)接收到該至少一個(gè)電源群組可被關(guān)閉電源的指令,該 方法進(jìn)一步包括使該第一部分進(jìn)入關(guān)閉電源狀態(tài)以及使該第二部分進(jìn) 入不是關(guān)閉電源狀態(tài)的減小電源狀態(tài)。
14、 如權(quán)利要求12所述的方法,其中,傳達(dá)允許該至少一個(gè)電源群 組進(jìn)入關(guān)閉電源狀態(tài)的指令,以響應(yīng)判定對(duì)應(yīng)于該至少一個(gè)電源群組的指令于預(yù)定時(shí)間期間尚未安排執(zhí)行<
全文摘要
一種用于動(dòng)態(tài)判定電子裝置的多個(gè)區(qū)塊中的哪個(gè)可被開啟或關(guān)閉電源的電源管理方法與機(jī)制。裝置包含一個(gè)或多個(gè)電源可管理群組(260A至260N)。設(shè)定結(jié)合的電源管理單元(202)以偵測(cè)安排(schedule)執(zhí)行的指令、識(shí)別可能需要用于執(zhí)行該指令的特定電源群組、以及響應(yīng)偵測(cè)到該指令而傳達(dá)避免該特定電源群組進(jìn)入關(guān)閉電源狀態(tài)的指令。若該電源管理單元沒有偵測(cè)到需要特定電源群組以用于執(zhí)行的進(jìn)入或等待的指令,則該電源管理單元可傳達(dá)使或允許該對(duì)應(yīng)的電源群組進(jìn)入關(guān)閉電源狀態(tài)的指令(570A至570N)。電源群組可自動(dòng)地衰變或減小成關(guān)閉電源狀態(tài)??蓪⒅噶罹幋a以識(shí)別所需的電源群組。
文檔編號(hào)G06F1/32GK101356487SQ200680050449
公開日2009年1月28日 申請(qǐng)日期2006年12月14日 優(yōu)先權(quán)日2006年1月6日
發(fā)明者P·拉古范什 申請(qǐng)人:先進(jìn)微裝置公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
科技| 泸定县| 清远市| 拉孜县| 信阳市| 蒙阴县| 驻马店市| 连平县| 镶黄旗| 龙门县| 锡林浩特市| 东平县| 清水县| 介休市| 宽甸| 界首市| 龙山县| 仁化县| 集贤县| 河南省| 克山县| 秦皇岛市| 白河县| 于田县| 裕民县| 南和县| 东海县| 广东省| 百色市| 正定县| 北宁市| 西林县| 达拉特旗| 色达县| 新田县| 兰西县| 德庆县| 阜康市| 宜兰县| 盐山县| 康马县|