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

基于分支的活動監(jiān)控的制作方法

文檔序號:6480586閱讀:131來源:國知局
專利名稱:基于分支的活動監(jiān)控的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種用于在執(zhí)行指令程序期間減少電源消耗的指令處理設(shè)備和方法。
第1182556號歐洲專利申請論述了可以用來限制計算機設(shè)備中的電源消耗的方法。此專利申請使用能量消耗作為安排任務(wù)的標(biāo)準(zhǔn)。與參與執(zhí)行任務(wù)的活動有關(guān)的信息被用來計算所述任務(wù)的功耗預(yù)測。此預(yù)測用來選擇任務(wù)何時將被執(zhí)行,或者用來選擇所述任務(wù)是否必須以降級的方式來執(zhí)行,這將導(dǎo)致較少的電源消耗。由此,可以防止諸如電源消耗限制的超出,或者可以使電源消耗最小化。
當(dāng)然,所預(yù)測的電源消耗不必精確地對應(yīng)于實際的電源消耗。例如電源消耗可以隨數(shù)據(jù)而定。EP 1182556描述了在執(zhí)行所安排的任務(wù)期間、所述設(shè)備或者設(shè)備的不同部件的實際活動如何被監(jiān)控。EP1182556描述了可以使用實際測量的活動來重新安排任務(wù)。這種動態(tài)適應(yīng)只在任務(wù)級工作。這樣做只提供了過程粒度,因此提供了電源消耗上的次最佳控制。
第6282663號美國專利描述了另一種功率節(jié)省技術(shù)。此專利記載了現(xiàn)代的處理器使用跟隨條件分支指令的指令的推測性執(zhí)行。第6282663號美國專利描述了推測性執(zhí)行如何可以在功率節(jié)省模式中有選擇地被禁止。推測性執(zhí)行涉及做出條件分支指令的結(jié)果的預(yù)測。優(yōu)選的是,所述預(yù)測基于先前的條件分支指令執(zhí)行情況的統(tǒng)計信息。為此目的,把分支歷史表和程序中不同位置的分支指令的條目一起使用,并且把與分支指令已經(jīng)被獲取的頻率有關(guān)的信息輸入所述條目中。假設(shè)所述分支的最常見的結(jié)果將被重復(fù),并且推測地執(zhí)行相應(yīng)的指令。然而,在省電模式中,當(dāng)預(yù)測不是充分確定時,推測性執(zhí)行被禁止。
一般地說,正如EP1182556中所記載的那樣,通過降低處理設(shè)備的時鐘頻率和/或電源電壓來減少電源消耗是眾所周知的。然而此技術(shù)存在限制,因為這樣做增加了程序的執(zhí)行時間,這可能與實時要求相沖突或者與規(guī)定的性能電源消耗比例相沖突。因此,這種技術(shù)迫于對執(zhí)行時間規(guī)定的限制而無法進一步被應(yīng)用。
其中,本發(fā)明的一個目的在于一種在執(zhí)行程序指令期間提供活動的微粒度測量,其中程序指令的執(zhí)行是以用來適應(yīng)程序執(zhí)行、優(yōu)選的是適應(yīng)電源消耗的方式來執(zhí)行的。
其中,本發(fā)明的又一目的在于提供這種要求很少系統(tǒng)開銷電路的活動的微粒度測量。
在權(quán)利要求1中提出了依照本發(fā)明的指令處理設(shè)備。依照本發(fā)明,分支指令的執(zhí)行檢測用來觸發(fā)時間間隔的開始,在所述時間間隔中測量所述設(shè)備中的活動。優(yōu)選的是,在時間間隔期間的活動被測量,其中所述時間間隔包括直到下一分支指令的指令執(zhí)行。存儲與特定分支指令的測量活動有關(guān)的信息,以便可以基于分支指令的標(biāo)識來有選擇地檢索它。由此,可以獲得并且記錄隨數(shù)據(jù)而定的活動測量。
優(yōu)選的是,與測量的活動有關(guān)的信息可結(jié)合取決于與測量的活動有關(guān)的信息的分支指令的執(zhí)行來適應(yīng)電源消耗模式。由此,例如,在執(zhí)行分支之后的指令期間,電源模式可以被適應(yīng)以便降低電源電壓和時鐘頻率,其中所述分支先前涉及較高活動,但如果這些指令涉及較低活動,那么不是這樣。
利用活動的良好的預(yù)測性,使用分支指令來觸發(fā)用于記錄活動的時間間隔能夠進行活動的微粒度分析。分支指令通常標(biāo)記程序段,所述程序段包含具有相關(guān)活動的指令,這使由分支指令限制的程序段成為用于適應(yīng)電源消耗模式的適當(dāng)單位。
優(yōu)選的是,為了存儲與測量的活動有關(guān)的信息,對于用于分支預(yù)測的類型使用了分支歷史表,但是根據(jù)本發(fā)明的實施例,該表存儲與跟隨分支的與測量活動有關(guān)的信息。本發(fā)明可以獨立于分支預(yù)測而被應(yīng)用,但是優(yōu)選的是,所述表還被用于存儲與分支結(jié)果有關(guān)的信息,以便用于分支預(yù)測。
不必為所有分支指令存儲與測量的活動有關(guān)的信息。優(yōu)選的是,僅僅為更頻繁或者最近執(zhí)行的分支指令來存儲信息。對于其他分支指令來說,可以假定默認(rèn)活動。由此,用于存儲信息的存儲空間可以得以節(jié)省,并且因為最頻繁和/或最近指令占優(yōu)勢,所以仍可能產(chǎn)生接近處理方式的最佳應(yīng)用的活動效果。
雖然本發(fā)明可以使用類似于用于分支預(yù)測的分支歷史表的那些存儲器結(jié)構(gòu),但是可以存在與用于分支預(yù)測的存儲器結(jié)構(gòu)的差異。例如,可以為分支指令的每個結(jié)果來存儲相應(yīng)的與活動測量有關(guān)的信息,以便根據(jù)所述結(jié)果來加以使用。作為另一例子,所述信息可以像分支預(yù)測那樣依照分支指令的指令地址被訪問,但是相反,在執(zhí)行期間跟隨分支指令的后續(xù)地址可以被使用,或者訪問可以受到處理電路的分支指令檢測,而不是僅僅依照其指令地址。
將使用如下附圖來描述本發(fā)明的這些以及其他目的和優(yōu)勢。


圖1示出了一種處理設(shè)備。
圖1示出了一種處理設(shè)備,所述設(shè)備具有指令存儲器10、編址部件11、處理電路12、分支歷史存儲部件14、活動監(jiān)視器16、模式選擇部件18和分支數(shù)據(jù)寄存器19。所述設(shè)備可以作為集成電路器件來得以實現(xiàn)。指令存儲器10具有耦合至編址部件11的地址輸出的地址輸入,以及耦合至處理電路12的指令輸出。處理電路12被耦合至編址部件11的地址輸出。處理電路12具有分支指令信號輸出13a、b。當(dāng)分支指令已經(jīng)被檢測時,使用第一輸出13a來發(fā)信號通知,而使用第二輸出13b來發(fā)信號通知與已檢測分支指令有關(guān)的信息。第一輸出13a被耦合至編址部件11、活動監(jiān)視器16、分支歷史存儲部件14和寄存器19。所述第二輸出13b被耦合至編址部件11和分支數(shù)據(jù)寄存器19。分支歷史存儲部件14包含活動表存儲器140。分支歷史存儲部件14具有耦合至編址部件11的地址輸出的輸入并且具有耦合至編址部件11和模式選擇部件18的輸出。
操作中,分支歷史存儲部件14為多個相應(yīng)分支指令的每一個記錄與分支指令之后的設(shè)備活動測量有關(guān)的相應(yīng)信息。當(dāng)再次執(zhí)行特定的分支指令時,分支歷史存儲部件14把與分支指令活動測量有關(guān)的信息提供給模式選擇部件18。作為響應(yīng),模式選擇部件18依據(jù)與跟隨分支指令的指令執(zhí)行的先前執(zhí)行期間設(shè)備活動測量有關(guān)的記錄信息、在跟隨所述分支指令的指令執(zhí)行期間來適應(yīng)執(zhí)行模式。例如,當(dāng)所記錄的活動測量超出閾值時,模式選擇部件18把設(shè)備的電源電壓以及時鐘頻率設(shè)置為降低的級別,并且當(dāng)所記錄的活動測量低于閾值時,將其設(shè)置為更高級別。
在操作期間,所述處理設(shè)備執(zhí)行程序指令,所述程序指令至少臨時被存儲在指令存儲器10中。編址部件11向指令存儲器10連續(xù)地提供指令地址,并且作為響應(yīng),指令存儲器向處理電路12提供編址的指令以便執(zhí)行。正常情況下,編址部件11提供連續(xù)遞增的地址,但是正常地址遞增會受到分支指令執(zhí)行的影響。分支指令是可以在指令地址中產(chǎn)生編程跳轉(zhuǎn)的任何指令,或者作為向現(xiàn)行指令應(yīng)用編程偏移的結(jié)果,或者通過以編程目標(biāo)地址來替代來實現(xiàn),這通常取決于在分支指令中規(guī)定的分支條件。如果跳轉(zhuǎn)被影響,即,當(dāng)在條件分支指令的情況下滿足分支條件時,認(rèn)為所述分支指令被“采用”。
當(dāng)處理電路12檢測到分支指令時,它引起活動監(jiān)視器16重置。隨后,活動監(jiān)視器16遞增地寄存活動以便在檢測到原始分支指令之后建立處理設(shè)備中活動A的測量?;顒覣的測量例如是自從活動監(jiān)視器16被重置以來,在電路中或者其部分中柵極被切換的次數(shù)的測量。由于電流與A*C*V成比例是眾所周知的,故而這可以例如根據(jù)由電路或其部分消耗的電源電流、給定的電源電壓V以及每一柵極的開關(guān)電容C來測量。
把與檢測到的分支指令有關(guān)的信息存儲在寄存器19中。所述信息包含分支指令的地址以及用于表明所述分支指令是否已經(jīng)被處理的信息?,F(xiàn)在將所提及的分支指令稱為“原始”分支指令。當(dāng)處理電路12表明下一分支指令已經(jīng)被檢測到時,將其向分支歷史存儲部件14發(fā)信號通知,所述分支歷史存儲部件14從活動監(jiān)視器16讀取由活動監(jiān)視器16從原始分支指令被發(fā)信號通知時開始建立的活動A的測量。跟隨所述原始分支指令并且包括下一分支指令的指令被稱作指令的“基本塊”。各個基本塊均從跟隨相應(yīng)分支指令的指令和/或分支指令的目標(biāo)開始,并且在下一分支指令結(jié)束。
由此,分支歷史存儲部件14記錄根據(jù)已經(jīng)為各個基本塊測量的活動的測量結(jié)果而推導(dǎo)的信息。例如,活動本身的測量被記錄,由此替代任何先前記錄的活動測量。分支歷史存儲部件14存儲根據(jù)活動測量推導(dǎo)的信息,以便可以基于原始分支指令的地址來獲取它。優(yōu)選的是,分支歷史存儲部件14還存儲原始分支指令的分支地址以及與采用原始分支指令有關(guān)的信息。
分支歷史存儲部件14使用從指令編址部件11接收的指令地址來獲取所記錄的與活動測量有關(guān)的信息。當(dāng)指令地址對應(yīng)于已經(jīng)為其記錄有與活動測量有關(guān)的信息的分支指令時,分支歷史存儲部件14把此信息提供給控制模式選擇部件18。
模式選擇部件18被安排為基于所測量的活動來適應(yīng)與設(shè)備相關(guān)的操作,從而在特定限制范圍內(nèi),在程序執(zhí)行期間來使電源消耗最小化。模式選擇取決于活動本身是已知的。因此,將不會詳細(xì)說明模式選擇部件18。典型的約束是執(zhí)行時間。程序的執(zhí)行時間是被執(zhí)行的基本塊的執(zhí)行時間的總和T=塊Nb*Tb的總和此處,Nb是執(zhí)行基本塊的次數(shù),而Tb是基本塊b的執(zhí)行時間。所述塊的執(zhí)行時間與控制指令執(zhí)行的時鐘頻率成反比。另一方面,電源消耗是在執(zhí)行所述塊的期間消耗的平均功率的總和E=塊Nb*Eb的總和此處,Eb是執(zhí)行塊b期間的平均電源消耗。所述平均電源消耗與在所述塊的執(zhí)行期間的電路平均活動Ab、電源電壓的平方成比例。
通過減少電源電壓,電源消耗E得以減少,但是當(dāng)電源電壓被減少時,最大可能的時鐘頻率也被減少。因此,當(dāng)電源電壓被減少時,所述時鐘頻率也需要被減少,并且這樣做導(dǎo)致執(zhí)行時間T的增加。然而,對電源消耗E以及執(zhí)行時間T的影響的比例在不同的塊b之間是不同的,這取決于所述塊中的活動Ab。電源電壓的減少對具有較高活動Ab的塊的影響要比對具有較低活動Ab的塊的影響大,盡管對兩個塊的執(zhí)行時間的相應(yīng)影響是相同的。
在執(zhí)行先前已經(jīng)為其記錄了較低活動的塊的期間,或者尤其在執(zhí)行先前已經(jīng)為其記錄了較高活動的塊的期間,如果存在的話,那么模式選擇部件18通過有選擇地減少電源電壓以及時鐘頻率來利用這種影響。當(dāng)分支歷史存儲部件14發(fā)信號通知模式選擇部件18已經(jīng)遇到分支指令時,分支歷史存儲部件14發(fā)信號通知與先前涉及跟隨分支指令的塊的執(zhí)行的活動測量有關(guān)的信息,如果這種信號是可用的話?;诖诵畔ⅲJ竭x擇部件18選擇電源電壓以及時鐘頻率,并且控制所述電路在執(zhí)行跟隨所述分支指令的指令期間、以所選的電源電壓和時鐘頻率進行操作。
如果沒有與活動測量有關(guān)的信息可以為所述分支指令所利用,那么分支歷史存儲部件14不發(fā)信號通知分支指令,或者發(fā)信號通知分支指令,并且提供活動的默認(rèn)值。在前一種情況下,模式選擇部件18不改變所述模式,并且在后一情況下,模式選擇部件18根據(jù)所述默認(rèn)值改變所述模式。當(dāng)然,當(dāng)為分支指令發(fā)信號通知活動信息不存在時,模式選擇部件還可以被安排為設(shè)置預(yù)定的模式。
另外,優(yōu)選的是,分支歷史存儲部件14使用記錄信息來引導(dǎo)分支預(yù)測以便用于推測性執(zhí)行。這本身是已知的。基于與分支采用的頻率有關(guān)的信息,指令編址部件通過編址存儲器10中的位置而繼續(xù),其中所述位置跟隨分支指令的地址,或者從分支指令的分支目標(biāo)地址開始,這取決于先前最經(jīng)常執(zhí)行什么。處理電路12推測地執(zhí)行這些指令,直到處理電路12已經(jīng)確定分支指令的結(jié)果。如果所述結(jié)果被正確地預(yù)測,那么推測地執(zhí)行的指令被提交。如果所述結(jié)果不同于預(yù)測,那么就是說發(fā)生了錯誤預(yù)測。在該情況下,推測指令被收回,并且指令編址部件11被設(shè)置為從正確的地址來開始提供地址。
應(yīng)該理解的是,雖然所記錄的活動測量的使用最好結(jié)合分支預(yù)測,但是它可以獨立于分支預(yù)測來應(yīng)用,并且甚至當(dāng)不使用分支預(yù)測時使用。無論是否使用分支預(yù)測,用于實現(xiàn)分支歷史表(為了記錄信息以便預(yù)測分支指令的結(jié)果而記錄與分支指令有關(guān)的信息)的任何已知的技術(shù)都可以用來實現(xiàn)與活動有關(guān)的信息的記錄。這些技術(shù)將不會詳細(xì)說明。
例如,關(guān)聯(lián)存儲器可以作為活動表存儲器140用于分支歷史存儲部件14。在該情況下,活動表存儲器140中的不同存儲位置可以各自被分配用來存儲各個分支指令的信息,以便使分支指令的地址可用于識別存儲位置,以便為分支指令更新或者獲取信息?;顒颖泶鎯ζ?40中的條目的每一個例如包含至少兩項分支指令的指令地址;以及活動測量。在該情況下,處理電路12或者指令編址部件11應(yīng)該把指令地址提供給分支歷史存儲部件14。在該情況下,分支歷史存儲部件14可以使用管理形式來為最新遇到的分支指令重新指定存儲位置,例如通過重新使用最近最少使用的或者最不經(jīng)常遇到的分支指令的位置來實現(xiàn)。當(dāng)分支歷史存儲部件14也用于預(yù)測分支結(jié)果時,所述條目至少包含三項分支指令的指令地址;活動測量;以及正被采用的分支的頻率測量。在該情況下,處理電路12應(yīng)該把與是否處理分支有關(guān)的信息提供給分支歷史存儲部件14?;顒訙y量和/或頻率測量可以反映根據(jù)多次執(zhí)行累積的統(tǒng)計信息,或者僅僅反映根據(jù)最近執(zhí)行的信息。所述測量可以代表數(shù)目或者涉及不同數(shù)目的代碼。
作為另一例子,分支指令的一部分指令地址可用來編址活動表存儲器140中的不同存儲位置(例如,地址的最小有效部分),作為選擇,所述活動表存儲器140可以依照某些測量結(jié)果來被擴充,以便區(qū)別具有相同地址的不同分支指令。
應(yīng)當(dāng)注意的是,用于存儲與不同分支指令的活動測量有關(guān)的信息的技術(shù)不必是無差錯的。如前所述,活動表存儲器140可能不包含足夠的存儲器來存儲所有分支指令的信息,以至于只有與分支指令的子集有關(guān)的信息被存儲,并且對于其它分支指令將必須進行活動測量的默認(rèn)假定。類似地,例如可以使用分支指令的局部標(biāo)識技術(shù),其有時會導(dǎo)致為錯誤的分支指令提供與活動測量有關(guān)的信息,或者導(dǎo)致錯誤的活動測量,或發(fā)信號通知其中沒有分支指令的分支指令。容許這種錯誤,這是因為它們一定會造成完全失效,從而只是次最佳的電源消耗。例如如果多個混亂的分支指令之一比其它分支指令更頻繁地執(zhí)行,或者果這種錯誤很少發(fā)生,那么這不是一個嚴(yán)重的問題。
盡管用于管理分支歷史存儲部件14中信息的基礎(chǔ)體系結(jié)構(gòu)可能很大程度上類似于已知的用于管理分支預(yù)測信息的任何體系結(jié)構(gòu),然而應(yīng)當(dāng)理解的是,可以存在一些差異。
例如,分支歷史存儲部件14不必像慣例那樣快速地為分支指令的預(yù)測提供與活動測量有關(guān)的信息給模式選擇部件18,或者使用通常用于分支預(yù)測的流水線結(jié)構(gòu)。分支歷史存儲部件14甚至可以只是在處理電路12已經(jīng)發(fā)信號通知檢測到分支指令以后,或者甚至只是在處理電路12已經(jīng)發(fā)信號通知分支指令的結(jié)果以后,才提供此信息。例如這可以用來簡化分支歷史存儲部件14里的信息存儲,這通過使用分支指令的指令地址的一部分來識別分支歷史存儲部件14中的信息來實現(xiàn),其中只有當(dāng)處理電路12發(fā)信號通知對于所述地址部分已經(jīng)檢測分支指令時才提供所述信息。
作為實施例的另一例子,分支歷史存儲部件14為每個分支指令記錄兩個活動測量,一個用于采用分支的情況,而另一個用于不采用分支的情況。處理電路12提供的信息控制分支歷史存儲部件14把來自活動監(jiān)視器16的信息存儲在哪,其中所述信息表明是否已經(jīng)采用分支。類似地,來自處理電路12的此信息確定把所述信息的哪個存儲部分提供給模式選擇部件18。
作為另一例子,在執(zhí)行期間跟隨在分支指令之后的指令的地址可用來識別與活動測量有關(guān)的信息。在此實施例中,當(dāng)檢測到分支指令時,在分支指令之后的指令的指令地址被捕獲并且被提供給分支歷史存儲部件14,以便識別與隨后指令活動有關(guān)的信息的更新。在隨后的執(zhí)行期間,可以把此識別地址與在執(zhí)行期間使用的指令地址相比較,并且當(dāng)所述指令地址等于所識別地址時,可以提供與活動測量有關(guān)的相應(yīng)信息。從而,自動并入是否采用分支的信息。
作為又一例子,連同已經(jīng)記錄信息的分支結(jié)果的指示,可以只對于最頻繁或最近的分支結(jié)果存儲與活動測量有關(guān)的信息。優(yōu)選的是,在該情況下,分支歷史存儲部件14根據(jù)由處理電路表明的分支結(jié)果來選擇將提供給模式選擇部件18的信息。
同樣,如前所述,可以容許提供給模式選擇部件18的信息中有一些錯誤。因此在上述例子中,例如可以忽略與分支結(jié)果有關(guān)的信息,以便提供最頻繁出現(xiàn)的結(jié)果。
類似地,沒有必要對基本塊中的所有指令確定活動測量,并不對基本塊外的任何指令做確定。例如,如果已知模式選擇部件18將只是在取出分支指令之后的多個循環(huán)以后才響應(yīng)于發(fā)信號通知分支,來選擇模式,那么優(yōu)選的是,根據(jù)在所述分支指令之后的循環(huán)數(shù)和越過下一分支指令的循環(huán)數(shù)來記錄活動測量。從而獲得對模式改變的影響更準(zhǔn)確的預(yù)測??傮w上優(yōu)選的是,對于已知響應(yīng)于來自分支歷史存儲部件14的信息、依照改變的模式執(zhí)行的那些指令,確定活動測量。
與監(jiān)視活動的最優(yōu)間隔存在偏差導(dǎo)致次最優(yōu)判定,然而這常常是可以容許的。只要對于基本塊的某些部分確定活動測量,那么就可以實現(xiàn)電源消耗的改善。
可以使用各種形式來記錄與測量活動有關(guān)的信息。例如,可以記錄在基本塊的最后執(zhí)行期間的活動測量。作為另一例子,例如依照下列公式可以記錄相對于所述塊的執(zhí)行次數(shù)的活動的運行平均值I′b=w*Ab-(1-w)*Ib其中I′b和Ib分別是塊的最新記錄信息和先前記錄信息,并且Ab是在塊的當(dāng)前執(zhí)行期間的測量活動。類似地,可以只有當(dāng)測量活動與先前活動相比沒有太多不同時才應(yīng)用所述信息的更新。作為選擇,可以記錄所述塊的幾個較近執(zhí)行的測量活動,把中值提供給模式選擇部件18。具有所述塊下一執(zhí)行的預(yù)測值的任何形式的記錄都可以使用。
活動監(jiān)視器16可以以任何已知的方式來測量活動。一個例子涉及測量在執(zhí)行多個指令期間提供給處理電路12的累積電流I?;顒覣根據(jù)關(guān)系式I=AV得出。假定由模式選擇部件18選擇的模式,可以確定電壓V。利用電壓V和累積電流I,可以計算活動A。盡管已經(jīng)就活動監(jiān)視器16響應(yīng)于分支指令檢測來重置,描述了本發(fā)明,然而當(dāng)然作為替代也可以響應(yīng)于采樣當(dāng)前累積的活動值以及在測量間隔末尾從當(dāng)前活動值中減去該值。在該情況下,可以允許活動監(jiān)視器16連續(xù)。
盡管已經(jīng)就整個設(shè)備或處理電路的活動的單個活動測量描述了本發(fā)明,然而應(yīng)當(dāng)理解的是,在不脫離本發(fā)明的情況下,可以例如對于所述設(shè)備或處理電路12的不同部件并行進行或記錄多個不同的活動測量。在該情況下,模式選擇部件18可以依照不同的方式來適應(yīng)不同部分的模式。
盡管已經(jīng)給出了其中模式選擇部件18適應(yīng)電壓和頻率的例子,然而應(yīng)當(dāng)理解的是,可以例如通過根據(jù)所期望的活動把指令執(zhí)行分配給不同的處理單元(例如,給緩慢且低功率的部件或給快速且高功率的部件),來適應(yīng)任何影響電源消耗的參數(shù)。類似地,盡管已經(jīng)給出其中必須在不超過最大執(zhí)行時間的限制下使功耗最小化的例子,然而可以使用任何其它形式的限制,例如對程序的一部分的最大執(zhí)行時間的限制或?qū)τ诙鄠€下一指令的運行限制。實際上,可以包含除執(zhí)行時間之外的其它限制。類似地,測量活動可用來優(yōu)化不同于電源消耗的參數(shù)。
此外,任何算法可用于根據(jù)所記錄的活動來選擇不同的模式。依照簡單算法,對于基本塊或其一部分,根據(jù)塊的測量活動是低于還是高于閾值,來選擇兩種功耗模式之一。在該情況下,可以根據(jù)可用的執(zhí)行時間量來適應(yīng)閾值。在更復(fù)雜的例子中,可以在兩個以上的不同模式之間進行選擇。在其它例子中,與程序結(jié)構(gòu)有關(guān)的信息,例如,不同的基本塊b仍然需要執(zhí)行的次數(shù),可用來指導(dǎo)對于不同塊的模式選擇,以便滿足總體限制并且使電源消耗最小化。
并且,不必在程序執(zhí)行進展的同時“即時地”執(zhí)行模式選擇。在另一個實施例中,所記錄的與不同基本塊的活動測量有關(guān)的信息在某時被從分支歷史存儲部件14中讀出,并且用于搜索以便把模式分配給不同的基本塊,以便將來在假定測量活動將重復(fù)自身的情況下執(zhí)行程序,甚至重新布置所述程序以減少電源消耗。在該情況下,可以使用已知的用于功耗和執(zhí)行時間的數(shù)學(xué)公式,并且可以進行搜索以便把模式分配給不同的基本塊。為此,記錄分支歷史存儲部件14中不同基本塊的簡單的活動總和就足夠了。此外,可以把指令添加到所述程序來設(shè)置所選擇的模式。
盡管分支指令的檢測用來觸發(fā)與活動測量有關(guān)的信息的更新和提供,然而應(yīng)當(dāng)理解的是,信息存儲不必涉及分支指令的指令地址。作為替代,可以使用基本塊中指令的地址,例如,在基本塊開始或其附近的指令的地址。在該情況下,分支指令的檢測被用作觸發(fā),并且響應(yīng)于所述觸發(fā),塊中指令的地址被用來選擇恢復(fù)和/或更新的信息。甚至可以使用兩個指令地址,一個(例如,在基本塊的末尾)用于選擇用于更新的信息,而另一個(例如在基本塊的開始)用于恢復(fù)。
權(quán)利要求
1.一種指令處理設(shè)備,包括指令存儲器(10);指令編址部件(11),被耦合來向指令存儲器(10)提供指令地址;指令處理電路(12),被耦合來接收并執(zhí)行來自所述指令存儲器(10)的所編址的指令,所述指令包括分支指令,所述指令處理電路(12)耦合到指令編址部件(11)以便響應(yīng)于所述分支指令來控制所述指令地址;活動監(jiān)視器(16),用于在指令執(zhí)行期間監(jiān)視所述設(shè)備的至少一部分的活動,并且用于提供出現(xiàn)在各自分支指令之后的指令執(zhí)行期間的活動測量;活動表存儲器(140),被耦合到活動監(jiān)視器(16),所述活動表存儲器(140)被設(shè)置為存儲用于記錄與活動測量有關(guān)的信息的條目,所述活動測量分別與各自的分支指令相關(guān)聯(lián)。
2.如權(quán)利要求1所述的指令處理設(shè)備,其中所述活動表存儲器(140)被設(shè)置為在從分支指令之后執(zhí)行的指令開始的指令至少到下一執(zhí)行的分支指令的執(zhí)行期間,捕獲與測量活動有關(guān)的信息。
3.如權(quán)利要求1所述的指令處理設(shè)備,包括模式選擇部件(18),用于控制處理電路(12)的操作模式,所述操作模式影響所述處理電路(12)的功耗,所述活動表存儲器(140)具有耦合到模式選擇部件(12)的輸出,用于當(dāng)檢測到取出和/或執(zhí)行特定的一個分支指令時,輸出根據(jù)與所述特定的一個分支指令的活動測量有關(guān)的信息而得出的數(shù)據(jù),以便控制模式的選擇。
4.如權(quán)利要求3所述的指令處理設(shè)備,其中所述活動表存儲器(140)具有用于預(yù)定數(shù)目的分支指令的位置,所述處理設(shè)備包括表存儲器管理部件(14),用于選擇對于哪個分支指令把條目保留在所述位置中,并且用于當(dāng)對于特定的一個分支指令沒有保留任何信息時,直接向模式選擇部件(18)提供默認(rèn)信息。
5.如權(quán)利要求1所述的指令處理設(shè)備,其中所述活動表存儲器(140)被設(shè)置為對于下列兩種情況保留與活動測量有關(guān)的信息,兩種情況分別為采用分支時和不采用分支時,所述處理電路根據(jù)所述分支的結(jié)果來發(fā)信號通知應(yīng)當(dāng)更新哪個信息。
6.如權(quán)利要求5所述的指令處理設(shè)備,包括模式選擇部件(18),用于適應(yīng)處理電路的操作模式,所述操作模式影響所述處理電路的功耗,所述活動表存儲器(140)具有耦合到模式選擇部件(18)的輸出,用于當(dāng)檢測到取出和/或執(zhí)行特定的一個分支指令時,輸出根據(jù)與所述特定的一個分支指令的活動測量有關(guān)的信息而得出的數(shù)據(jù),以便控制模式的選擇,所述信息根據(jù)是否采用所述特定的一個分支指令來選擇。
7.如權(quán)利要求1所述的指令處理設(shè)備,其中所述活動表存儲器(140)是分支預(yù)測部件(14)的一部分,與采用各自分支指令所用頻率有關(guān)的信息被記錄在所述條目中,以便預(yù)測當(dāng)隨后遇到分支指令時是否采用所述分支指令。
8.一種用于執(zhí)行指令程序的方法,所述方法包括檢測分支指令的執(zhí)行;確定處理電路(12)的各自活動測量,在各自分支指令之后的指令執(zhí)行期間,每個活動測量響應(yīng)于所述分支指令的檢測;記錄與關(guān)聯(lián)信息中各自的活動測量有關(guān)的信息,所述關(guān)聯(lián)信息識別各自的分支指令。
9.如權(quán)利要求8所述的執(zhí)行指令程序的方法,所述方法包括使用與所記錄的活動測量有關(guān)的信息,以便選擇將在各自分支指令之后的指令的至少一部分的執(zhí)行期間所要使用的各自的功耗設(shè)置模式。
10.如權(quán)利要求9所述的執(zhí)行指令程序的方法,其中在執(zhí)行程序之前,根據(jù)在各自分支指令之后各自指令塊的程序的先前運行,使用累積的活動測量,來靜態(tài)地執(zhí)行所述選擇各自功耗設(shè)置模式。
11.如權(quán)利要求9所述的執(zhí)行指令程序的方法,其中根據(jù)與在特定的一個分支指令之后的指令的活動測量有關(guān)的當(dāng)前信息,來在程序執(zhí)行期間動態(tài)地執(zhí)行所述選擇各自功耗設(shè)置模式。
全文摘要
在計算機指令程序執(zhí)行期間,檢測分支指令的執(zhí)行,并且作為響應(yīng),測量在分支指令之后的指令執(zhí)行期間處理電路的活動。為多個分支指令中的每個記錄與測量活動有關(guān)的各自信息。所述測量活動稍后用于在遇到各自的分支指令之后適應(yīng)所述處理電路的功耗模式。
文檔編號G06F9/38GK1764888SQ200480008230
公開日2006年4月26日 申請日期2004年3月22日 優(yōu)先權(quán)日2003年3月27日
發(fā)明者F·佩斯索拉諾 申請人:皇家飛利浦電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
五台县| 望谟县| 塘沽区| 和田县| 桐庐县| 会泽县| 故城县| 隆子县| 满洲里市| 东阿县| 出国| 漳平市| 盐津县| 崇文区| 南川市| 章丘市| 蕉岭县| 沂源县| 焦作市| 洞头县| 琼海市| 商丘市| 出国| 安庆市| 大理市| 盘锦市| 阳信县| 赫章县| 姜堰市| 大悟县| 普宁市| 福泉市| 亚东县| 沙田区| 嘉黎县| 如东县| 威信县| 元朗区| 镇安县| 丹江口市| 西安市|