專利名稱:數(shù)據(jù)處理性能控制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)處理系統(tǒng)領(lǐng)域。更特別地是,本發(fā)明涉及控制數(shù)據(jù)處理性能諸如以減少由數(shù)據(jù)處理系統(tǒng)消耗的能量的領(lǐng)域。
在數(shù)據(jù)處理系統(tǒng)中重要考慮因素是它們的能量消耗。消耗較少能量的數(shù)據(jù)處理系統(tǒng)在移動設(shè)備中允許更長的電池壽命,易于較冷并可靠地運(yùn)行,并且對于處理熱損耗等,要求較少的專用設(shè)計(jì)考慮因素。非常希望減少數(shù)據(jù)處理系統(tǒng)的能量消耗。
與希望減少數(shù)據(jù)處理系統(tǒng)的能量消耗相平衡的是同時(shí)希望提高它們的性能級別,以便處理日益計(jì)算集中的任務(wù)。這種任務(wù)短時(shí)間內(nèi)常常要求非常集中的處理操作,在所述短時(shí)間后面是其中要求少量計(jì)算的相對長的空閑時(shí)間。
為了解決上述兩個(gè)因素,已知提出這樣的數(shù)據(jù)處理系統(tǒng),其能改變它們的性能級別以便在某些配置中提供高計(jì)算性能而在其它配置中提供低能量消耗。諸如由Transmeta生產(chǎn)的LongRun軟件或由Intel生產(chǎn)的SpeedStep系統(tǒng)之類的已知系統(tǒng),使處理器能夠在這種不同的配置之間切換。為了匹配想要的性能目標(biāo),高計(jì)算性能配置往往是這樣的配置,具有相對高的操作電壓和相對高的處理器時(shí)鐘頻率。反之,低能量消耗配置具有相對低的操作電壓和相對低的處理器時(shí)鐘頻率。
除提供上述性能和能量管理能力之外,另一重要的設(shè)計(jì)特性是硬件和軟件設(shè)計(jì)在相對較多的不同環(huán)境中應(yīng)該是可以重新使用的。如果對于不同的硬件實(shí)現(xiàn)必須重新編寫諸如操作系統(tǒng)軟件之類的計(jì)算機(jī)軟件,或者對于不同的硬件實(shí)現(xiàn)要較大地修改硬件設(shè)計(jì),那么這是非常不利的。
依照一個(gè)方面,本發(fā)明提供了一種用于處理數(shù)據(jù)的設(shè)備,所述設(shè)備包括處理器,可操作來執(zhí)行數(shù)據(jù)處理操作,所述處理器可操作來產(chǎn)生性能控制信號,所述性能控制信號表示想要的、所述處理器的數(shù)據(jù)處理性能級別;和至少一個(gè)另外的電路,響應(yīng)于所述性能控制信號操作來支持所述想要的、所述處理器的數(shù)據(jù)處理性能級別;其中當(dāng)響應(yīng)對應(yīng)于從第一想要的數(shù)據(jù)處理性能級別到第二想要的數(shù)據(jù)處理性能級別變化的、性能控制信號的變化時(shí),所述至少一個(gè)另外的電路可操作來在至少一個(gè)中間數(shù)據(jù)處理性能級別支持?jǐn)?shù)據(jù)處理,并且所述處理器在所述變化期間暫時(shí)在所述至少一個(gè)中間數(shù)據(jù)處理性能級別操作。
本技術(shù)提供了一種系統(tǒng),其中當(dāng)響應(yīng)性能控制信號的變化時(shí),所述另外的電路可操作來支持至少一個(gè)中間數(shù)據(jù)處理性能級別,并且所述處理器利用其來在所述變化期間在所述至少一個(gè)中間數(shù)據(jù)處理性能級別上操作。一旦較高中間性能級別可用來在執(zhí)行所關(guān)注的代碼過程中有助于更好的向前進(jìn)展,正在發(fā)生的性能變化就可以是隨采用的所述較高中間性能級別的增高而在性能級別上的提高。作為選擇,在性能級別下降期間,一旦較低中間性能級別可用來更迅速地減少能量消耗,這種技術(shù)就導(dǎo)致所述較低中間性能級別被采用。
在性能級別提高的情況下,可以在到達(dá)那個(gè)提高的性能級別之前刪除對于提高的性能級別的要求。作為一個(gè)例子,當(dāng)服務(wù)高優(yōu)先級但是相對計(jì)算不集中時(shí),中斷可以觸發(fā)試圖切換到最大性能級別,但是事實(shí)上只在幾個(gè)處理周期內(nèi)就完全地執(zhí)行了中斷代碼,并且在該處理級別上升至最大量之前很早就完全地執(zhí)行了中斷代碼,中間處理級的使用更迅速地啟用該中斷服務(wù)。當(dāng)消除了對較高處理級的需要時(shí),設(shè)置新的想要的數(shù)據(jù)處理性能級別,取消切換到最大性能級別。
盡管當(dāng)前技術(shù)適用于控制多種不同類型的其它電路,但是當(dāng)控制時(shí)鐘發(fā)生器和電壓控制器時(shí)其尤為有用。在這種環(huán)境中,一旦更高的頻率可用并且電源電壓足以支持該提高速度的操作時(shí),可以切換到該更高的時(shí)鐘頻率以便更好地向前進(jìn)展通過所關(guān)注的程序代碼,即使該更高的時(shí)鐘頻率可能只是一個(gè)接近于想要的最終目標(biāo)頻率的中間頻率也是如此。
本發(fā)明的優(yōu)選實(shí)施例還提供了優(yōu)先級信號,其能夠觸發(fā)改變到預(yù)先確定的性能級別,而不管控制信號值(例如最大或降低的級別)。這允許硬件機(jī)制采用可以便于迅速響應(yīng)環(huán)境的方式來直接控制性能級別,所述環(huán)境諸如硬件中斷、降低的電池功率信號等。
從另一方面觀察,本發(fā)明提供了處理數(shù)據(jù)的方法,所述方法包括步驟用處理器來執(zhí)行數(shù)據(jù)處理操作,所述處理器可操作來產(chǎn)生性能控制信號,所述性能控制信號表示所述想要的、所述處理器的數(shù)據(jù)處理性能級別;并且響應(yīng)于所述性能控制信號,操作一個(gè)或多個(gè)另外的電路以便支持所述想要的、所述處理器的數(shù)據(jù)處理性能級別;其中當(dāng)響應(yīng)對應(yīng)于從第一想要的數(shù)據(jù)處理性能級別到第二想要的數(shù)據(jù)處理性能級別變化的、性能控制信號的變化時(shí),所述一個(gè)或多個(gè)另外的電路可操作來在至少一個(gè)中間數(shù)據(jù)處理性能級別支持?jǐn)?shù)據(jù)處理,并且所述處理器在所述變化期間暫時(shí)在所述至少一個(gè)中間數(shù)據(jù)處理性能級別操作。
現(xiàn)在將僅以舉例形式,參考附圖來描述本發(fā)明的實(shí)施例,其中
圖1示意地舉例說明了數(shù)據(jù)處理系統(tǒng)的一部分,包括性能控制器、時(shí)鐘發(fā)生器和電壓控制器;圖2是示意地舉例說明了在設(shè)置想要的性能級別過程中操作系統(tǒng)計(jì)算機(jī)程序操作的流程圖;圖3示意地舉例說明了在想要的性能級別和控制信號值之間的示例性映射;圖4是示意地舉例說明了控制電壓控制器的流程圖;圖5是示意地舉例說明了控制時(shí)鐘發(fā)生器的流程圖;圖6是示意地舉例說明了利用當(dāng)前技術(shù)的數(shù)據(jù)處理系統(tǒng)的另一例子的圖;圖7是示意地舉例說明了在想要性能級別和控制信號值之間映射的進(jìn)一步例子的圖;圖8舉例說明了電源電壓在保持模式級別和處理模式級別之間的調(diào)制;圖9示意地舉例說明了結(jié)合圖8技術(shù)的電路;圖10是示意地舉例說明了使用調(diào)制的電壓來控制性能的流程圖11是示意地舉例說明使用圖8技術(shù)的另一數(shù)據(jù)處理系統(tǒng)的圖;和圖12是舉例說明用于諸如圖8到11的實(shí)施例的各個(gè)控制信號的圖。
圖1舉例說明了數(shù)據(jù)處理系統(tǒng)的一部分,包括性能控制器2、時(shí)鐘發(fā)生器4和電壓控制器6。典型地是,在圖1中的電路形成較大集成電路的一部分,所述集成電路包括處理器,諸如由英國劍橋ARM有限公司生產(chǎn)的ARM處理器,以及其它電路元件,也可以作為芯片內(nèi)系統(tǒng)設(shè)計(jì)的一部分。為了簡化起見,從圖1中省略了除性能控制器2、時(shí)鐘發(fā)生器4和電壓控制器6之外的電路元件。所述性能控制器2接收性能級別請求信號/值,該信號/值由在處理器(未舉例說明)上執(zhí)行的計(jì)算機(jī)程序在程序指令的控制下產(chǎn)生,所述計(jì)算機(jī)程序諸如操作計(jì)算機(jī)程序。為了該目的,可以把所想要的數(shù)據(jù)處理性能級別請求寫入在存儲地址空間內(nèi)專用存儲單元上,也可以寫入到控制寄存器(諸如在例如CP5 ARM體系結(jié)構(gòu)之類的配置協(xié)處理器內(nèi)的控制寄存器),或者采用其它方式存儲。性能控制器2還結(jié)合性能監(jiān)視器,所述性能監(jiān)視器可以是一個(gè)或多個(gè)性能計(jì)數(shù)器,其計(jì)數(shù)實(shí)際時(shí)間、時(shí)鐘信號、執(zhí)行的工作或其它性能監(jiān)視參數(shù)的經(jīng)過。當(dāng)性能控制器2接收表示想要的性能級別上的變化的數(shù)據(jù)處理性能級別請求時(shí),那么其用來向時(shí)鐘發(fā)生器4發(fā)布對新的目標(biāo)時(shí)鐘速度的請求以及向電壓控制器6發(fā)布對新的目標(biāo)電壓的請求。應(yīng)當(dāng)理解的是,一旦程序指令將其想要的數(shù)據(jù)處理性能級別寫入到適當(dāng)?shù)奈恢脮r(shí),它就把控制如何實(shí)施所述想要的數(shù)據(jù)處理性能級別的控制權(quán)交給硬件(性能控制器2)。所述性能控制器2把所想要的數(shù)據(jù)處理性能請求映射到對時(shí)鐘發(fā)生器4和電壓控制器6適當(dāng)?shù)目刂菩盘栔?所述性能控制器2包括映射電路)。數(shù)據(jù)處理性能請求信號可以是格雷(Gray)編碼信號值或簡單的線性編碼值。所述映射可以是溫度計(jì)編碼控制信號值,因?yàn)檫@樣就對在可能是異步的時(shí)鐘域之間采樣時(shí)針對采樣錯(cuò)誤提供較好的抵抗性。此外,這提供了一種故障安全狀態(tài),借此采樣錯(cuò)誤易于生成最低的穩(wěn)定同步值以供使用。
傳送到電壓控制器6的控制信號命令所述電壓控制器6采納新的電壓輸出電平??梢酝ㄟ^在引導(dǎo)或其它時(shí)間編程在電壓控制器6內(nèi)配置參數(shù)寄存器8來配置所支持的電壓輸出電平。電壓控制器6花費(fèi)有限時(shí)間量來上升或下降至新的電壓電平。在一些實(shí)施例中,當(dāng)電壓控制器6正在改變到其新的電壓電平時(shí),所述電壓控制器6可以穿過一個(gè)或多個(gè)中間級別,所述中間級別往往能夠支持掛起正在到達(dá)的最后性能級別的一個(gè)中間性能級別(在稍后描述的其它實(shí)施例中,可以使用單個(gè)的操作頻率時(shí)鐘信號和停止時(shí)鐘)。電壓控制器6產(chǎn)生表示其可以支持的當(dāng)前電壓電平的當(dāng)前操作信號并且把這些信號傳回到性能控制器2,此處這些信號可以按照如下來動作,即用于觸發(fā)對適當(dāng)且可用的相關(guān)聯(lián)時(shí)鐘頻率的使用。
性能控制器2還把由程序控制指定的、所想要的數(shù)據(jù)處理性能級別轉(zhuǎn)換為被傳送到時(shí)鐘發(fā)生器4的控制信號。這些控制信號指定目標(biāo)時(shí)鐘頻率。向時(shí)鐘發(fā)生器4提供來自一個(gè)或多個(gè)鎖相環(huán)電路10、12的各種時(shí)鐘信號。這些鎖相環(huán)電路之一10是永久啟用的,并且用來提供可支持的最小和最大時(shí)鐘頻率以及一些中間頻率。另一鎖相環(huán)電路12是選擇性地可用的,并且當(dāng)不要求其產(chǎn)生中間時(shí)鐘頻率時(shí)可以斷電以便節(jié)能。
時(shí)鐘發(fā)生器4產(chǎn)生性能控制器時(shí)鐘信號,將其提供給在所述電壓控制器6內(nèi)的技術(shù)相關(guān)松弛檢測器(technology dependent slackdetector)14。這種安排可用于在電壓控制器6內(nèi)提供附加的控制級別,使得該電壓控制器6正在產(chǎn)生的電壓可以調(diào)節(jié)成支持目標(biāo)時(shí)鐘頻率并具有降低的過沖,即所產(chǎn)生的電壓電平剛好足以支持所述目標(biāo)時(shí)鐘頻率,并帶有小的緩沖器。可以把所述電壓輸出的精細(xì)控制級別認(rèn)為是對響應(yīng)于由程序指令指定的、所想要的數(shù)據(jù)處理性能級別改變而實(shí)施的粗略性能級別的輔助。當(dāng)已經(jīng)表明改變到提高的性能級別時(shí),電壓控制器6將試圖提高其正在產(chǎn)生的電壓,并且當(dāng)其提供提高的電壓時(shí),向性能控制器2返回表明這一情況,所述性能控制器2依次可以控制在時(shí)鐘發(fā)生器4內(nèi)的CPU時(shí)鐘發(fā)生器來輸出CPU時(shí)鐘信號cpuclk,以便向具有可支持的新時(shí)鐘頻率的處理器提供新的電壓,所述頻率可以是接近于所最終想要的時(shí)鐘頻率的中間時(shí)鐘頻率。時(shí)鐘發(fā)生器4可能不能產(chǎn)生具有可以在控制信號值中指定粒度的時(shí)鐘信號,并且相應(yīng)地傳回對應(yīng)于其正在產(chǎn)生的實(shí)際時(shí)鐘頻率的量化時(shí)鐘信號值。作為選擇,這種考慮所述時(shí)鐘發(fā)生器4實(shí)際能力的量化能夠在由性能控制器所執(zhí)行的、從所想要的數(shù)據(jù)處理性能請求到控制信號的映射之內(nèi)發(fā)生。在稍后論述的另一實(shí)施例中,電壓控制器具有兩個(gè)可能的電壓輸出電平,高電平供處理模式使用,而低電平供在停止時(shí)鐘時(shí)保持模式使用。
圖2示意地舉例說明了依照所述技術(shù)一個(gè)例子的處理操作,其可以由在處理器上執(zhí)行的操作系統(tǒng)計(jì)算機(jī)程序來執(zhí)行。在步驟16,相關(guān)處理線程等待著,直到確定需要改變性能級別。這一需要可以由外部參數(shù)變化來表明,諸如由用戶按壓鍵,或可以使用諸如先前論述的那些性能監(jiān)視計(jì)數(shù)器通過監(jiān)視所述系統(tǒng)的運(yùn)算性能來在內(nèi)部觸發(fā)。當(dāng)檢測到這種想要的性能級別變化時(shí),處理繼續(xù)至步驟18,在此所述軟件執(zhí)行寫入存儲器映射的單元,所述單元專用于存儲所想要的數(shù)據(jù)處理性能的請求級別。計(jì)算機(jī)程序代碼的動作將檢測對改變性能級別的要求并且把該要求寫入存儲單元。不需要向監(jiān)視器提供控制反饋所想要的性能改變實(shí)際上發(fā)生或其怎樣發(fā)生。在計(jì)算機(jī)程序進(jìn)行寫入的動作和按照請求而動作的基礎(chǔ)硬件機(jī)制之間存在抽象。這使在各種環(huán)境中使用基本上不變的計(jì)算機(jī)程序便于進(jìn)行,在那些環(huán)境內(nèi)可以或可以不提供任何性能管理機(jī)制。
圖3示意地舉例說明了在6位想要的數(shù)據(jù)處理性能請求信號(其可選地是格雷碼)和對應(yīng)的溫度計(jì)編碼控制信號值之間的示例性映射。在這種情況下,盡管存在33個(gè)可能的性能級別,但是卻只存在9個(gè)可能的控制信號值。相應(yīng)地,在所想要的性能級別和控制信號值之間存在量化。該量化被安排成使得所述控制信號值對應(yīng)于在性能級別范圍內(nèi)且可以被映射到該控制信號值的最大性能級別。在想要的性能信號和意在指定的性能級別中存在單調(diào)遞增。從而,所想要的性能級別可以是表示在系統(tǒng)中可實(shí)現(xiàn)的最大性能級別百分比的二進(jìn)制小數(shù)。這是方便而又靈活的、抽象所述性能級別請求的途徑,用來抽象所述性能級別請求的方式是所述性能級別請求可以在多種不同的硬件環(huán)境中并且為多種不同的處理目而由程序指令加以控制。
圖4示意地舉例說明了在具有多個(gè)電壓電平的實(shí)施例中電壓控制器6的控制,所述電壓電平對應(yīng)于其中時(shí)鐘正在運(yùn)行的活動處理模式。在步驟20,所述電壓控制器等待接收新的控制信號。當(dāng)接收新的控制信號時(shí),處理繼續(xù)至步驟22,在此啟動所提供的電壓電平的改變。該改變可以是提高或降低。電壓控制器6具有能夠改變它的輸出的有限轉(zhuǎn)換率(slew rate)。步驟24監(jiān)視著,直到在發(fā)生總變化期間到達(dá)下一可支持的電壓電平為止。當(dāng)?shù)竭_(dá)這種下一級別時(shí),那么啟動步驟26并且產(chǎn)生新的當(dāng)前電壓輸出信號,以便向回提供給性能控制器2以表明所述電壓控制器6能夠支持所述新的電壓電平。這可以是接近于最終目標(biāo)電壓電平的中間電壓電平,或者在所述轉(zhuǎn)換(slew)末尾是最終目標(biāo)電壓電平本身。所述性能控制器2可以按照反饋到它的當(dāng)前電壓輸出信號來動作,以便控制時(shí)鐘發(fā)生器以及可能的性能監(jiān)視電路。步驟28確定是否已經(jīng)達(dá)到最終電壓。如果還沒有達(dá)到所述最終電壓,那么處理回到步驟24并且電壓輸出的轉(zhuǎn)換繼續(xù)朝向其最終目標(biāo)。在只支持兩個(gè)電壓電平的系統(tǒng)中,所述系統(tǒng)將在沒有中間電壓電平的情況下會簡單地等待著達(dá)到最終電壓電平。
應(yīng)當(dāng)理解的是,圖4假定控制信號不改變。實(shí)際上,所述控制信號可以在到達(dá)最終目標(biāo)電壓之前改變。對由在操作系統(tǒng)內(nèi)程序指令所確定的性能級別臨時(shí)改變的需要可能已經(jīng)不復(fù)存在,諸如中斷已經(jīng)得到服務(wù)或者應(yīng)急模式信號已經(jīng)被置為無效。在這種環(huán)境中,中斷在圖4中舉例說明的控制,并且處理回到步驟20,在那里啟動基于新建立的控制信號值的動作。應(yīng)當(dāng)理解的是,由軟件所進(jìn)行的控制至少是部分開環(huán)的,這是由于該控制僅僅規(guī)定了其在特定時(shí)間點(diǎn)上所想要的性能級別,而并不要求監(jiān)視實(shí)際上遞送的性能,或?qū)嶋H上何時(shí)遞送所述性能級別。
如所提及,可以把應(yīng)急信號(優(yōu)先級信號或硬件重載信號)提供給性能控制器2以便重載性能級別的任何軟件控制并且暫時(shí)把所述性能級別提高到最大級別。旁路性能級別的軟件控制可以便于在純粹的硬件控制下更迅速且直接地切換到最大性能級別,諸如響應(yīng)于特定的高優(yōu)先級硬件中斷信號來進(jìn)行所述切換??梢蕴峁┎恢挂粋€(gè)這種“應(yīng)急”信號,例如“低電池應(yīng)急”信號可以把性能強(qiáng)迫到已知降低的級別。
圖5示意地舉例說明了時(shí)鐘發(fā)生器4的控制。在步驟30,所述時(shí)鐘發(fā)生器等待接收新的控制信號。當(dāng)接收到新的控制信號時(shí),處理繼續(xù)至步驟32,在那里確定是否需要給任何附加鎖相環(huán)電路12加電以便服務(wù)最終要求的新時(shí)鐘頻率。如果要求這種附加鎖相環(huán)電路12,那么處理繼續(xù)至步驟34,在那里啟動所述附加鎖相環(huán)電路12。作為選擇,處理直接進(jìn)行至步驟36。
在步驟36,所述時(shí)鐘發(fā)生器確定接近于所請求性能級別的新的時(shí)鐘信號是否可用。這便于采用用于掛起最終目標(biāo)性能級別可用性的中間性能級別。當(dāng)識別這種中間時(shí)鐘頻率時(shí),那么處理繼續(xù)至步驟38。步驟38確定從電壓控制器6反饋的當(dāng)前操作信號值是否表明正在產(chǎn)生能夠支持新的時(shí)鐘信號值的電壓。當(dāng)這種電壓可用時(shí),那么處理繼續(xù)至步驟40,在那里由CPU時(shí)鐘發(fā)生器采用并產(chǎn)生新的時(shí)鐘信號值以作為信號cpuclk,所述信號cpuclk被提供給處理器核心。然后,步驟42反向給性能控制器2輸出新的當(dāng)前時(shí)鐘值,此處所述性能監(jiān)視硬件可以遵照所述新的當(dāng)前時(shí)鐘值來動作以便估計(jì)向前通過代碼的進(jìn)展。步驟44確定到新的時(shí)鐘頻率的切換,是否已經(jīng)是到已由程序指令產(chǎn)生的、想要數(shù)據(jù)處理性能請求所指定的最終時(shí)鐘頻率的切換。如果沒有達(dá)到最終目標(biāo)時(shí)鐘頻率,那么處理回到步驟36,否則控制終止(實(shí)際上回到步驟30)。
至于圖4,圖5也假定不改變由程序指令所指定的想要的數(shù)據(jù)處理性能級別。如果所述想要的數(shù)據(jù)處理性能級別改變,那么將要產(chǎn)生新的映射控制信號值,所述控制信號值中斷在圖5中舉例說明的處理并且使所述處理返回到步驟30,于是照新的控制信號值動作。
當(dāng)在初始和最終時(shí)鐘頻率值之間改變時(shí)采用中間時(shí)鐘頻率值,對于所關(guān)注電路的特定狀態(tài)而言,允許最好的通過代碼向前進(jìn)展得以實(shí)現(xiàn)。在最終目標(biāo)時(shí)鐘頻率變得可用之前,所述電路一直都不在初始時(shí)鐘頻率操作,而是相反,當(dāng)在性能轉(zhuǎn)換期間每個(gè)時(shí)鐘頻率變得可用時(shí),所述電路上升或下降穿過時(shí)鐘頻率序列??梢园巡捎眯碌臅r(shí)鐘頻率認(rèn)為是由如下信號的邏輯與(AND)來控制的,所述信號包括用于表明所述頻率比當(dāng)前頻率更接近目標(biāo)頻率的信號、用于表明來自時(shí)鐘源的那個(gè)頻率可用性的信號、以及用于表明電壓控制器能夠生成具有足以支持該新時(shí)鐘頻率的操作的功率信號的信號。作為選擇,在只具有兩個(gè)性能級別(最大/空閑)的其它實(shí)施例中,所述系統(tǒng)在進(jìn)行切換之前會等待最終電壓。
圖6是示意地舉例說明利用當(dāng)前技術(shù)的數(shù)據(jù)處理系統(tǒng)的圖。與在圖1中舉例說明的相同的元件具有相同的附圖標(biāo)記。圖6另外舉例說明了執(zhí)行程序指令的處理器46,所述程序指令可以保持在緊耦合的存儲器系統(tǒng)48或其它存儲器內(nèi)。所關(guān)注的不同電壓范圍使在舉例說明的電路中的各個(gè)接口處提供電平移動器(shifter)很有必要。
圖7舉例說明了在想要的數(shù)據(jù)處理性能請求級別和溫度計(jì)編碼控制信號值之間的另一示例性映射。在這一情況下,使用32位溫度計(jì)編碼控制信號值,產(chǎn)生更細(xì)度的性能控制的可能性。響應(yīng)于這32位控制信號值的另外電路可能只能夠提供更粗粒度的控制,因此實(shí)際上在內(nèi)部量化所關(guān)注的控制信號值。溫度計(jì)編碼控制信號值提供了特別便利的方式來組合來自不同源的控制信號值,諸如來自多處理器系統(tǒng)上的不同的處理器的控制信號值,借此可以適當(dāng)選擇總體性能級別,其只在芯片范圍的基礎(chǔ)上可能才是可控制的??梢杂每刂菩盘栔档倪壿嫽?OR)來確定最大控制信號值,可以用控制信號值的邏輯與(AND)來確定最小控制信號值,并且可以用控制信號值的異或XOR來確定等效值。最大值函數(shù)可以用于確定最大請求的時(shí)鐘頻率,最小值函數(shù)可以用于表明最小可支持的電壓,而等效函數(shù)可以用于確定在不同元件需求之間的匹配。
圖8舉例說明了另一性能控制技術(shù)。在該例子中,把對處理電路的電源電壓示為是在保持模式電壓電平HM和處理模式電壓電平PM之間調(diào)制的(在該例子中為脈沖寬度調(diào)制的)。當(dāng)在保持模式中時(shí),處理電路不被供給時(shí)鐘并且不向前進(jìn)展通過正在執(zhí)行的代碼。當(dāng)在處理模式中時(shí),處理電路以其完全時(shí)鐘信號速率被供給時(shí)鐘并且向前進(jìn)展通過正在執(zhí)行的代碼。圖8的第一部分舉例說明了其中處理電路處于處理模式占用了50%的時(shí)間,并且實(shí)際上可以相應(yīng)地認(rèn)為該處理電路正以所提供時(shí)鐘頻率的一半時(shí)鐘頻率在運(yùn)行。電源配置-在這種情況下是供應(yīng)干線(rail)電源(不過可以使用主體偏置(body biasing)或其它技術(shù))是這樣的,使得在保持模式下所述處理電路的能量消耗被降低。從而,所述處理電路消耗如同所示的較少的操作能量,原因在于所述處理電路在低能消耗的保持模式下與持久地在處理模式下時(shí)間消耗相比只消耗了一半的時(shí)間。
在圖8的中間部分,使用了33%的不同調(diào)制的占空度比率,從而有效的時(shí)鐘頻率是最大比率的1/3。在圖8的最后部分,可以看出系統(tǒng)在處理模式下占用時(shí)間的100%在操作著,從而在完全固定的時(shí)鐘頻率速率有效地操作。
圖9示意地舉例說明了數(shù)據(jù)處理系統(tǒng)50,包括處理器核心52、緊耦合的存儲器54和DSP電路56,所有這些由總線58鏈接。處理器核心52受圖8的上述性能控制技術(shù)支配,并且在處理模式和保持模式之間切換。電壓和時(shí)鐘控制器60接收來自處理器核心52的目標(biāo)性能級別請求(可能由在處理器核心52上執(zhí)行的操作系統(tǒng)或其它代碼所產(chǎn)生),并且使用該請求來產(chǎn)生脈沖寬度調(diào)制信號PWM(Pulse widthmodulated sigal),所述PWM被選擇來在固定的時(shí)鐘頻率給出適當(dāng)?shù)恼伎毡纫员銓?shí)現(xiàn)想要的性能級別?;蜷T62把該P(yáng)WM信號與由處理器核心52產(chǎn)生的忙信號、中斷信號irq和由實(shí)時(shí)時(shí)鐘電路64產(chǎn)生的實(shí)時(shí)時(shí)鐘請求信號進(jìn)行或操作。當(dāng)PWM信號會相反把系統(tǒng)置于保持模式時(shí),忙信號、中斷信號irq和實(shí)時(shí)時(shí)鐘請求信號中的任何一個(gè)都可以重載PWM信號并且強(qiáng)迫系統(tǒng)進(jìn)入處理模式。
把或門62的輸出提供給時(shí)鐘發(fā)生器66和電壓發(fā)生器68。當(dāng)或門62的輸出表明要求處理模式時(shí),那么所述時(shí)鐘發(fā)生器66產(chǎn)生其時(shí)鐘信號clk,一旦時(shí)鐘發(fā)生器電路66已經(jīng)接收來自電壓發(fā)生器68的如下就緒信號就把所述時(shí)鐘信號clk提供給處理器核心52,所述就緒信號表明電壓發(fā)生器68已經(jīng)成功地把處理器核心52的電源配置改變?yōu)樘幚砟J脚渲?,并且這現(xiàn)在足以穩(wěn)定支持處理器電路52的定時(shí)。當(dāng)不能把處理器核心52安全地從處理模式切換到保持模式時(shí),例如當(dāng)存在經(jīng)由總線58把數(shù)據(jù)傳送掛起到另外的電路(諸如緊耦合存儲器54或DSP電路56)時(shí),處理器核心52產(chǎn)生忙碌信號。處理器核心52使用向諸如緊耦合的存儲器54和DSP電路56之類的另外電路元件來發(fā)送高態(tài)有效信號,使得當(dāng)把處理器核心52置于保持模式或完全斷電時(shí)箝位電路70可以把這些電路限制在地電平。
圖10示意地舉例說明了可以怎樣由電壓和時(shí)鐘控制器60來實(shí)現(xiàn)性能控制的流程圖。在步驟72,由處理器核心52向電壓和時(shí)鐘控制器60表明新的想要的性能級別。在步驟74,根據(jù)在映射表、硬連線邏輯或二者平均中的查找把該想要的性能級別轉(zhuǎn)換為適當(dāng)?shù)拿}寬調(diào)制占空度。應(yīng)當(dāng)理解的是,該例子使用脈寬調(diào)制,但是其它調(diào)制模式也是可能的,諸如加擾序列PWM模式或其它模式。
圖11舉例說明了使用圖8技術(shù)的又一電路。該電路與圖6的電路相似,注意至少一些電平移動電路已經(jīng)由箝位電路所代替,并且使用切換的電源范圍,而不是動態(tài)電壓縮放范圍。
圖12舉例說明了由電壓和時(shí)鐘控制器60產(chǎn)生的PWMDVS信號,用于命令想要的性能級別。IEC REQ信號表明連續(xù)信號正在發(fā)送到智能能量控制器,以便在系統(tǒng)進(jìn)入或離開保持模式時(shí)觸發(fā)休眠或喚醒動作。IEC PANIC信號是用于重載PWMDVS信號的優(yōu)先級信號。CPUACTIVE信號是表明停止給CPU提供時(shí)鐘還不安全的忙信號。
VDDREQ是或門62的輸出。VDD CPU是從電壓發(fā)生器68輸出的信號并且示出了有限的轉(zhuǎn)換率。VREADY是來自電壓發(fā)生器68的信號,向時(shí)鐘發(fā)生器表明可以進(jìn)行時(shí)鐘切換。應(yīng)當(dāng)注意,不切換到處理模式直到完成所述轉(zhuǎn)換,但是可以很快切換到保持模式。
權(quán)利要求
1.一種用于處理數(shù)據(jù)的設(shè)備,所述設(shè)備包括處理器,可操作來執(zhí)行數(shù)據(jù)處理操作,所述處理器可操作來產(chǎn)生性能控制信號,所述性能控制信號表示想要的、所述處理器的數(shù)據(jù)處理性能級別;和至少一個(gè)另外的電路,響應(yīng)于所述性能控制信號操作來支持所述想要的、所述處理器的數(shù)據(jù)處理性能級別;其中當(dāng)響應(yīng)對應(yīng)于從第一想要的數(shù)據(jù)處理性能級別到第二想要的數(shù)據(jù)處理性能級別變化的、性能控制信號的變化時(shí),所述至少一個(gè)另外的電路可操作來在至少一個(gè)中間數(shù)據(jù)處理性能級別支持?jǐn)?shù)據(jù)處理,并且所述處理器在所述變化期間暫時(shí)在所述至少一個(gè)中間數(shù)據(jù)處理性能級別操作。
2.如權(quán)利要求1所述的設(shè)備,其中所述一個(gè)或多個(gè)另外的電路包括電壓控制器,可操作來在多個(gè)不同的電壓電平為所述處理器產(chǎn)生功率信號。
3.如權(quán)利要求1所述的設(shè)備,其中所述一個(gè)或多個(gè)另外的電路包括時(shí)鐘發(fā)生器,可操作來產(chǎn)生具有可選時(shí)鐘頻率的時(shí)鐘信號。
4.如權(quán)利要求2和權(quán)利要求3所述的設(shè)備,其中響應(yīng)于想要的數(shù)據(jù)處理性能級別的提高,所述時(shí)鐘發(fā)生器把時(shí)鐘信號頻率提高到中間時(shí)鐘信號頻率,此時(shí),所述電壓控制器正在產(chǎn)生具有足以支持所述中間時(shí)鐘信號頻率的電壓電平的功率信號。
5.如先前權(quán)利要求中任何一個(gè)所述的設(shè)備,其中一個(gè)或多個(gè)優(yōu)先級信號用來觸發(fā)所述另外的電路改變,以便獨(dú)立于所述性能控制信號支持預(yù)先確定的數(shù)據(jù)處理性能級別。
6.一種處理數(shù)據(jù)的方法,所述方法包括如下步驟用處理器來執(zhí)行數(shù)據(jù)處理操作,所述處理器可操作來產(chǎn)生性能控制信號,所述性能控制信號表示想要的、所述處理器的數(shù)據(jù)處理性能級別;并且響應(yīng)于所述性能控制信號,操作一個(gè)或多個(gè)另外的電路以便支持所述想要的、所述處理器的數(shù)據(jù)處理性能級別;其中當(dāng)響應(yīng)對應(yīng)于從第一想要的數(shù)據(jù)處理性能級別到第二想要的數(shù)據(jù)處理性能級別變化的、性能控制信號的變化時(shí),所述一個(gè)或多個(gè)另外的電路可操作來在至少一個(gè)中間數(shù)據(jù)處理性能級別支持?jǐn)?shù)據(jù)處理,并且所述處理器在所述變化期間暫時(shí)在所述至少一個(gè)中間數(shù)據(jù)處理性能級別操作。
7.如權(quán)利要求6所述的方法,其中所述一個(gè)或多個(gè)另外的電路包括電壓控制器,可操作來在多個(gè)不同的電壓電平為所述處理器產(chǎn)生功率信號。
8.如權(quán)利要求6所述的方法,其中所述一個(gè)或多個(gè)另外的電路包括時(shí)鐘發(fā)生器,可操作來產(chǎn)生具有可選時(shí)鐘頻率的時(shí)鐘信號。
9.如權(quán)利要求7和權(quán)利要求8所述的方法,其中響應(yīng)于想要的數(shù)據(jù)處理性能級別的提高,所述時(shí)鐘發(fā)生器把時(shí)鐘信號頻率提高到所述中間時(shí)鐘信號頻率,此時(shí),所述電壓控制器正在產(chǎn)生具有足以支持所述中間時(shí)鐘信號頻率的電壓電平的功率信號。
10.如權(quán)利要求6到9中任何一個(gè)所述的方法,其中一個(gè)或多個(gè)優(yōu)先級信號用來觸發(fā)所述另外的電路改變,以便獨(dú)立于所述性能控制信號支持預(yù)先確定的數(shù)據(jù)處理性能級別。
全文摘要
提供了一種數(shù)據(jù)處理系統(tǒng),具有處理器(46),所述處理器產(chǎn)生控制信號,用于控制另外電路操作來支持想要的、所述處理器的性能級別,所述另外的電路諸如時(shí)鐘發(fā)生器(4)和電壓控制器(6)。當(dāng)在性能級別之間變化時(shí),另外的電路能夠支持中間級別操作,并且處理器通過在那些中間級別操作來利用這些電路,掛起正在到達(dá)的最終目標(biāo)級別。
文檔編號G06F1/32GK1739081SQ200380108753
公開日2006年2月22日 申請日期2003年11月10日 優(yōu)先權(quán)日2003年1月13日
發(fā)明者D·W·弗林 申請人:Arm有限公司