專利名稱:控制微處理器電流變化速率的裝置和方法
發(fā)明
背景技術:
領域本發(fā)明涉及計算機,具體地說,涉及控制微處理器中電源電流變化速率的裝置和方法。
背景技術:
新型處理器包括大量的執(zhí)行資源以支持多指令的并行處理。處理器一般包括一個或多個整數(shù)、浮點、分支和存儲器執(zhí)行單元,以分別執(zhí)行整數(shù)、浮點、分支和裝入/存儲指令。此外,整數(shù)和浮點單元一般包括寄存器文件以維護相對靠近處理器核心的數(shù)據(jù)。為處理器配置大量執(zhí)行資源的一個缺陷在于運行它們需要大量的功率。不同的執(zhí)行單元消耗或多或少的功率,并且消耗或多或少的電流,這取決于其大小和它們執(zhí)行的功能,但將如此多的邏輯部件放置在相對小的處理芯片上的凈效應是可能出現(xiàn)相當大的電源和功率消耗問題。
很少程序在相當長的時間間隔內需要處理器全部的執(zhí)行資源。運行程序消耗的功率取決于其部件指令的特性及其并行執(zhí)行的可能性。程序一般包括多種指令類型,但很少會提供足夠多的正確類型指令使處理器的所有執(zhí)行資源在相當長的時段內保持忙。為此,多數(shù)處理器采用時鐘門控機制,從而執(zhí)行資源未被使用時截斷提供給其的時鐘。此外,在指令進入和退出部件服務的管級時,可接通和斷開執(zhí)行資源的不同部件。時鐘門控減少了功耗,但它也會導致提供給處理器的電流快速變化。這些電流變化可改變處理器邏輯部件工作的電壓。
時鐘信號一般通過時鐘分配網(wǎng)絡傳遞到處理器的執(zhí)行資源。時鐘信號被用于在諸如Vcc的電源電壓電平與地之間同步處理器邏輯部件中節(jié)點的充電與放電。邏輯部件被設計為在指定的這些電壓電平范圍內工作,這些電壓電平由穩(wěn)壓電源維持。在功能單元門控為接通或斷開時,處理器消耗的電流的突然變化會導致這些電源電壓變化。電壓變化的原因是電源的有限響應時間以及配電網(wǎng)絡中的電抗(電感和電容)元件。如果電壓變化超出了指定范圍,它們會損壞電路(因電壓偏移超出最大安全值)或產生錯誤(因電壓偏移低于保證邏輯部件正確工作所需的電平)。
這些電壓偏移的顯著性由電源提供給處理器的電流變化速率(“電流變化速率”或“di/dt”)和配電網(wǎng)的電屬性確定。對于執(zhí)行時鐘門控的處理器,電流變化速率取決于電流變化量及其發(fā)生的時間量程。后者由處理器的工作頻率確定。前者取決于門控的功能單元消耗的電流量。例如,浮點乘法單元是處理器中眾所周知功耗大的執(zhí)行資源。在這些單元被門控為接通和斷開時處理器電流消耗的變化可使參考電壓暫時超出其指定范圍。
現(xiàn)有處理器不提供對di/dt的控制。著眼于未來處理器的一個策略是強制最低程度的活動,以確保任何電流變化都相對小。隨著處理器頻率的增加,這些電流變化發(fā)生的時間間隔減少,但即使是小的電流變化也可能影響電源電壓。另一方面,對諸如時鐘門控的功率減少策略的應用隨著處理器頻率(和功耗)的增加而增加。強制最低活動量人為地增加了功耗量,這部分地抵消了時鐘門控的好處。
本發(fā)明解決目前功率節(jié)流機制的這些和其它缺陷。
附圖概述本發(fā)明可參照附圖進行理解,其中相同部件由相同標號表示。提供這些附圖是為了說明本發(fā)明的選定實施例而不是限制本發(fā)明的范圍。
圖1是實現(xiàn)本發(fā)明的計算機系統(tǒng)一個實施例的方框圖;圖2是根據(jù)本發(fā)明實現(xiàn)電流控制單元的處理器的一個實施例的方框圖;圖3是圖2的處理器實現(xiàn)的電流控制單元一個實施例的方框圖;圖4是電壓電平隨時間變化的圖示,下面的是處理器消耗的電流的重大變化;圖5是表示圖3所示節(jié)流電路一個實施例的方框圖;圖6是表示根據(jù)本發(fā)明的方法的流程圖,用于調節(jié)處理器的活動程度,以減少處理器中的電流變化。
發(fā)明詳述以下說明陳述了大量的特定細節(jié),以便透徹地理解本發(fā)明。然而,從本公開受益的本領域的技術人員將理解本發(fā)明的實現(xiàn)可以不需要這些特定細節(jié)。此外,為了集中于本發(fā)明的特性,各種已知方法、程序、部件和電路并未詳細描述。
圖1是可實現(xiàn)本發(fā)明的計算機系統(tǒng)100的一個實施例的方框圖。計算機系統(tǒng)100包括處理器110、主存儲器140、非易失性存儲器150、各種外圍裝置160、系統(tǒng)邏輯部件170及電源180。系統(tǒng)邏輯部件170控制處理器110、主存儲器140、非易失性存儲器150及外圍裝置160之間的數(shù)據(jù)傳送。電源180為處理器110中的邏輯裝置提供參考電壓。配置計算機系統(tǒng)100是為了說明本發(fā)明的各種特性。所示特殊配置并不是實現(xiàn)本發(fā)明所必需的。例如,系統(tǒng)100可包括多個處理器110或者多種部件可組合在一起或被去掉。
處理器110包括多個功能單元124,這些單元形成指令執(zhí)行管道120。從主存儲器140和非易失性存儲器150將指令提供給處理器110。處理器110使用的電流量由管道120中的指令(或缺少指令)在多種功能單元124中產生的活動程度確定。電流控制單元(CCU)130響應于處理過的指令來監(jiān)控選定功能單元124所用的電流,并相應地調整處理器110的活動程度。
在指令沿管道120向下進行時,它指揮各種功能單元124執(zhí)行一個或多個運算,這些運算集中在一起便執(zhí)行了指令。例如,浮點乘法加法指令(FMAC)可導致下列運算在所示資源中發(fā)生浮點寄存器文件讀出三個操作數(shù);FMAC執(zhí)行單元將兩個操作數(shù)相乘,并將乘積加到第三個運算;例外單元檢測乘積與總數(shù)是否是誤;以及如果未檢測到錯誤,則退役單元將結果寫入浮點寄存器文件。視特定處理器實現(xiàn)而定,這些資源或其部件可組成一個或多個功能單元124,并且這些功能單元在指令沿管道向下進行時被接通和斷開。
每個功能單元124在被指令激活時消耗一定量的電流。對于計算機系統(tǒng)100,電源180在將參考電壓電平維持在指定范圍內的同時提供電流。如果一個或多個功能單元124的激活或停用觸發(fā)了處理器110所需電流的重大變化,則電源180難以維持適當?shù)膮⒖茧妷弘娖健1景l(fā)明提供一種機制,可減少電流變化對處理器110使用的參考電壓的影響。
對于本發(fā)明的一個實施例,對選定功能單元124’的激活/停用狀態(tài)進行監(jiān)控。選定功能單元124’可以是在活動時消耗大量電流的那些單元,因為在這些單元的激活與未激活狀態(tài)之間進行切換時,它們很可能導致di/dt出現(xiàn)急劇變化。CCU 130在連續(xù)時鐘周期上監(jiān)控一個或多個選定功能單元124’的狀態(tài),以估計時鐘周期間隔上的電流變化。將估計的電流變化與閾值進行比較,從而確定是否應調整處理器的活動程度。例如,如果電流變化的增長快過第一閾值,則可以減少通過管道120的指令流。如果估計的電流變化速率的下降快于第二閾值,則可將應被停用的功能單元124’保持激活狀態(tài)以減慢電流下降。
可以通過在n個連續(xù)的時鐘周期跟蹤選定功能單元124’的有效/無效狀態(tài)(例如,活動狀態(tài)=1/0)來估計電流變化??煞治鰊個活動狀態(tài)以提供n個時鐘周期間隔的估計電流變化。例如,n個活動狀態(tài)中的每個狀態(tài)可根據(jù)其與當前時鐘周期的接近度進行加權,并且可以對加權后的活動狀態(tài)求和,以提供電流變化的估計。
對于本發(fā)明的另一實施例,CCU 130可監(jiān)控多個功能124’中的電流變化。對于此實施例,功能單元124’的活動狀態(tài)可根據(jù)其在有效時消耗的電流進行加權。給定時鐘周期的總活動狀態(tài)由被監(jiān)控的各個功能單元124’的加權值之和確定。分析n個時鐘周期間隔的總活動狀態(tài),以確定估計的電流變化。可利用n個活動狀態(tài)的滑動窗口按逐個時鐘來確定電流變化。
可通過校準過程確定選定功能單元124’的電流加權。例如,CCU130可作為設計過程的一部分被校準一次,或者它可以進行自校準。在后一情況下,CCU 130可定期地利用電流監(jiān)控電路和校準算法來調整各個功能單元的電流加權。
圖2更詳細地表示處理器110的一個實施例。對于處理器110的公開實施例,管道120分別表示為取指令(FET)、展開(EXP)、登記(REG)、執(zhí)行(EXE)、檢測(DET)和退役(RET)級,并且顯示了與每級對應的執(zhí)行資源。本發(fā)明不需要將處理器110劃分為特殊的一組管級。例如,一個所公開的級可以細分為兩個或更多個級,以處理定時問題或有利于更高的處理器時鐘速度?;蛘撸梢詫蓚€或兩個以上的級組合為單個級。其它實施例可包括處理無序指令的硬件。公開的管道僅提供在實現(xiàn)本發(fā)明的處理器中如何劃分操作的一個例示。
管道120的前端包括取指令單元210和發(fā)布單元220,它向管道120后端的執(zhí)行單元提供指令以便執(zhí)行。取指令單元210直接或通過本地緩存(未顯示)從存儲器140檢索指令并向發(fā)布單元220提供取得的指令。發(fā)布單元220對指令進行解碼并將它們發(fā)布到管道120后端的執(zhí)行資源。
在此說明中,術語“指令”一般用于表示指令、宏指令、指令束或用于將處理器操作編碼的許多其它機制中的任一機制。例如,解碼操作可將宏指令轉換為一個或多個微操作(μop),將指令束解析成一個或多個指令字節(jié),或者檢索與指令相關的微碼序列。
管道120的后端包括寄存器單元230、執(zhí)行單元250、例外單元260和退役單元270。寄存器單元230包括寄存器重命名單元和各種寄存器文件(未示出),以分別識別指令中指定的寄存器和訪問所識別寄存器的數(shù)據(jù)。執(zhí)行單元250包括一個或多個分支執(zhí)行單元(BRU)252、整數(shù)執(zhí)行單元(IEU)254、裝入/存儲單元(LSU)256及浮點執(zhí)行單元(FPU)258,以處理分支、整數(shù)、裝入/存儲及浮點指令。例外單元260檢查執(zhí)行單元250生成的結果,并在遇到例外情況時調整控制流程。如果未檢測到例外情況,則退役單元270用結果更新處理器110的體系結構狀態(tài)。
圖1所示由不同指令激活的功能單元124可代表管道120所示執(zhí)行資源的各種組合和子集。CCU 130監(jiān)控選定功能單元124’的活動狀態(tài),估計受監(jiān)控活動狀態(tài)的電流變化,并且相應地調整處理器110的活動程度。例如,一個功能單元124’可包括浮點寄存器(在寄存器單元230中),并且FPU 258可在兩個或更多功能單元中具有部件。通常,選定功能單元124’包括一起被激活和停用的各種執(zhí)行資源(寄存器文件、執(zhí)行單元、跟蹤邏輯部件),并在激活時消耗相當大的電流。本發(fā)明不依賴于功能單元124、124’與圖2所示執(zhí)行資源之間的詳細映射。
圖3是表示CCU 130及其與管道120的選定功能單元124’的相互作用的一個實施例的方框圖。CCU 130的公開實施例包括門單元310(1)-310(n)(統(tǒng)稱為門單元310)、監(jiān)控電路320和節(jié)流電路330。每個門單元310控制到管道120中相關功能單元124’的供電。例如,門單元310可以是時鐘門電路,根據(jù)功能單元124’的服務是否用于執(zhí)行功能單元124’當前工作的管級中的指令決定是將時鐘信號耦合到功能單元124’還是與功能單元124’去耦合。同樣在圖3中所示的還有管道控制電路350,它向門單元310表示哪些功能單元124’是對當前執(zhí)行指令是有效的。
對于CCU 130的公開實施例,門單元310向監(jiān)控電路320提供信號,表示其相關功能單元124’是否有效。例如,信號可以是功能單元124’的活動狀態(tài),它在功能單元124’被接通時被斷言并在功能單元124’被斷開時被去斷言。如果CCU 130處理多個功能單元124’,則監(jiān)控電路320可添加其活動狀態(tài),以提供給定時鐘周期的凈活動值。監(jiān)控電路320的實施例可以對活動狀態(tài)進行加權,以表示監(jiān)控的不同功能單元124’消耗的不同電流電平。
典型處理器可包括10-20個門單元310,以控制到10-20個功能單元124的供電??杀O(jiān)控所有功能單元124的電流變化,雖然本發(fā)明的優(yōu)點也可以通過監(jiān)控消耗大量電流的功能單元124’來實現(xiàn)。
監(jiān)控電路320收集門單元130在時鐘周期序列上的信號,并從收集的信號確定電流變化。對于數(shù)字節(jié)流130的一個實施例,監(jiān)控電路320包括加權單元314(1)-314(n)(統(tǒng)稱為加權單元314)、加法器322、n級移位寄存器324、估計電路326及閾值比較器328。上述元件存在時,每個加權單元314分別根據(jù)其相關功能單元124’的門電路310表示的活動狀態(tài)為無效或激活而向加法器322提供0或非零值。非零值表示功能單元124’在激活時消耗的電流。如果CCU130控制單個功能單元124’,則加法器322和加權單元314不是必需元件。如果受監(jiān)控功能單元124’消耗的電流大致相同,則可去掉加權單元314。
加法器322將選定功能單元124’在每個時鐘周期的(加權或未加權)活動狀態(tài)進行合計,以確定總活動狀態(tài)??偦顒映潭缺惶峁┙on級移位寄存器324的相應輸入。移位寄存器324存儲n個連續(xù)時鐘周期中每個周期的總活動狀態(tài)(加權或未加權),以提供處理器時鐘n個周期的電流消耗簡檔。估計器電路326使用n級數(shù)據(jù)生成電流變化的估計值,并且閾值比較器328將估計電流變化與一個或多個閾值進行比較。如果估計電流變化超出閾值,則節(jié)流電路330會調整處理器110的活動程度。
估計器電路326可實現(xiàn)從移位寄存器324提供的總活動狀態(tài)的n個時鐘周期樣本估計di/dt的多種方法中的任一方法。一個方法是對移位寄存器324存儲數(shù)據(jù)的n個時鐘周期上的每個時鐘周期確定處理器活動值的移動平均值。對于此種方法,估計器電路326確定ΔI=(I/N)∑AN此處,AN=∑wi·ai,其中,wi是功能單元124(i)的加權134(i),并且ai是門電路314(i)所示的活動狀態(tài)。對于一個實施例,分別取決于相關功能單元124’(i)是激活或停用,ai為1或0。求和是對CCU 130控制的所有功能單元進行的。對于估計器電路326的此實施例,ΔI是電流消耗的移動平均值,并且可以與例如最大和最低電流閾值的一個或多個適當?shù)拈撝颠M行比較,以確定處理器的活動程度是否應調整。
在由減小di/dt獲得的穩(wěn)定性與處理器的性能和功率之間存在折衷。減小di/dt使得執(zhí)行時間更長,因為管道不會象在di/dt未受限制時一樣快速啟動。由于管道不會象在di/dt未受限制時一樣快速關閉,因此它使得功耗更高。對于同一程度的di/dt控制,同樣存在著性能與功率之間的折衷。通過獨立調整閾值的上限和下限,可能得到更高的性能或更低的平均功率。
模擬顯示,使用約為配電網(wǎng)絡中振鈴周期的25%的間隔,可減少可歸因于di/dt的參考電壓電平變化,并且對功耗和性能的影響有限。對于模擬的時鐘頻率,此間隔大約為15個時鐘周期(n=15)。
估計器電路326的另一實施例可實現(xiàn)更高級的方法以估計電流變化。例如,如下所示,n級活動值的每個值可以乘以一個系數(shù)ΔI=C1·A1+C2·A2+…CN-1·AN-1+CN·AN其中,C1到CN/2是正數(shù),CN/2+1到CN是負數(shù),并且下標越小,表示的值越新。對于此實施例,ΔI表示n周期間隔的電流變化移動平均值,而不是電流電平自身的移動平均值。
估計器電路326的再一實施例對n個移位寄存器值采用不同的系數(shù)。例如,較新的活動值可乘以更高的系數(shù),次新的活動值乘以更低的系數(shù)。通過取配電網(wǎng)響應的一階導數(shù)計算出一組系數(shù)。
圖4是響應于大變化的電流需量,配電電路中電壓400的調整行為的示意表示。電壓400在穩(wěn)定到特定電平之前,隨著電流變化420在幾個周期“振鈴”。振鈴周期和幅度由配電電路的電屬性(電阻、電容、電感)和電流變化的斜率(di/dt)確定。由于電流變化420發(fā)生得很快,因此,在圖4中它顯示為一步。估計器電路326的上述實施例的不等系數(shù)可以從曲線上不同點的電壓400一階導數(shù)中獲得。
比較器328的一個實施例將估計器電路326提供的ΔI值與第一和第二閾值相比較。視用于確定ΔI的方法而定,閾值可表示電流(i)的最大和最小值或di/dt的最大正值和負值。如果ΔI大于第一閾值,則節(jié)流電路330減少處理器活動。例如,這可以通過向執(zhí)行管道120中注入磁泡實現(xiàn)。此處,“磁泡”指的是執(zhí)行管道中缺少活動的情況,比如空操作(NOP)通過管級傳播時。另一實施例可在ΔI大于第一閾值時激活電荷泵。電荷泵向處理器提供額外的電壓驅動,以補償電流需量中的尖峰信號。如果ΔI小于第二閾值,則節(jié)流電路330增加執(zhí)行管道120中的活動。例如,這可以通過將應停用的一個或多個功能單元124’維持在其有效狀態(tài)來實現(xiàn)。
圖5是節(jié)流電路330的一個實施例的示意表示,節(jié)流電路330響應于估計電流變化(或電流)與一個或多個閾值電平之間的比較關系來調整處理器的活動程度。同時顯示的是比較器328的實施例,比較器328包括正閾值比較器(P_TH)504(a)和負閾值比較器(N_TH)504(b),以將ΔI分別和最大正電流變化與負電流變化相比較。這些比較結果由輸出信號P_COMP和N_COMP表示。
節(jié)流電路330的公開實施例分別包括計數(shù)器510、解碼器520(a)和520(b)及相關的存儲器裝置530(a)和530(b)。例如,存儲器裝置530(a)、530(b)可以是只讀存儲器裝置(ROM)。響應于計數(shù)器510的定時表示和比較信號N_COMP,通過解碼器520(a)訪問存儲器裝置530(a)的不同項。同樣地,響應于計數(shù)器510的定時表示和比較信號P_COMP,可通過解碼器520(b)訪問存儲器裝置530(b)的不同項。
對于節(jié)流電路330的公開實施例,計數(shù)器510是以8為模的計數(shù)器。計數(shù)器510的輸出在連續(xù)時鐘周期上從0到8增加解碼器520(a)和520(b)中列指數(shù),并在到達8后返回到0。P_COMP是比較器328的第一輸出信號,它表示估計ΔI與第一閾值之間的比較結果。P_COMP用于根據(jù)ΔI和第一閾值的相對大小調整解碼器520(a)中的行指數(shù)。例如,第一閾值可表示最大正電流變化ΔIP_MAX,P_COMP適用于選擇在1與8之間的一行,并隨著ΔI接近并超出ΔIP_MAX,選擇的行號越高。行號越高,存儲器裝置530(a)中的0就越多。
存儲器裝置530(a)的輸出是信號RED_ACT,它可用于控制處理器中的活動減少操作。對于存儲器裝置530(a)的公開實施例,隨著P_COMP的增加,即相對于ΔIP_MAXΔI大小增加,RED_ACT是1的可能性降低。RED_ACT是1時,可用于允許發(fā)布單元220(圖2);它是0時,可用于禁止發(fā)布單元220。發(fā)布單元在220被禁止時不發(fā)布指令,而是注入磁泡(no-op或NOP)到管道120。NOP在沿管道120向下傳播時,即使有也只觸發(fā)很少的功能單元124的工作。
N_COMP是比較器328的第二輸出信號,表示估計ΔI和第二閾值之間的比較結果。第二閾值可表示最大負電流變化ΔIP_MIN。對于一個實施例,N_COMP適用于將解碼器520(b)的行指數(shù)調整為1與8之間的一個值,其中隨著ΔI降到低于ΔIP_MAX,值越高越好。更高的行號比更低的行號具有更多1。存儲器裝置530(b)的輸出INC_ACT可用于控制處理器中的活動增加操作。例如,INC_ACT可用于禁止功能單元的時鐘門控,因此即使當前無指令需要它,它也可保持有效狀態(tài)(并消耗電流)。
圖6是表示根據(jù)本發(fā)明用于控制處理器中電流變化的方法600的流程圖。方法600首先確定610處理器中哪些選定功能單元是有效的。例如,可通過來自向功能單元供電的時鐘門電路的信號表示功能單元的狀態(tài)(有效/無效)。門電路在向功能單元供電(有效狀態(tài))時可對信號進行斷言,如果它當前未向功能單元供電(無效狀態(tài)),則可對信號去斷言。
一旦確定了有效功能單元610,便可為處理器估計電流變化620。在多個功能單元受到監(jiān)控的情況下,根據(jù)功能單元在有效時消耗的電流對其活動狀態(tài)進行加權。對加權活動狀態(tài)會求和以提供總活動狀態(tài),這可以在n個時鐘周期間隔上進行跟蹤??梢酝ㄟ^分析n個總活動狀態(tài)來確定給定時鐘周期的估計電流變化。
將估計電流變化與一個或多個閾值電平進行比較630。例如,閾值電平可表示該時段的最大正電流變化和最大負電流變化。如果估計電流變化超出這些閾值定義的范圍,則相應地調整處理器的活動程度。例如,如果估計電流變化大于最大正電流變化,則可以通過將磁泡注入處理器的管道來減少指令通過量。如果估計電流變化超過最大負電流變化,則可以禁止時鐘門控,以得到適當?shù)墓δ軉卧塾嫻β?。如果估計電流變化在允許范圍之內,則指令發(fā)布和時鐘門控在其正常模式操作。
處理器的指令通過量可通過多種機制減少。對于方法600的一個實施例,可將磁泡注入指令執(zhí)行管道,以減少處理器的功能單元有效的時鐘周期的部分。例如,可以通過觸發(fā)發(fā)布單元僅在處理器時鐘的選定周期上發(fā)布指令來引入磁泡。對于本發(fā)明的另一實施例,可以降低處理器時鐘的工作頻率。
已公開了一種機制,用于通過監(jiān)控處理器的一個或多個功能單元在特定間隔上的活動狀態(tài),控制處理器的電流變化速率(“di/dt”)。估計電流變化從監(jiān)控的活動狀態(tài)中確定,并且如果估計的電流變化超過閾值,則調整處理器的活動程度。通過在連續(xù)時鐘周期上跟蹤有效功能單元,然后根據(jù)此數(shù)量時鐘周期的變化析取給定數(shù)量時鐘周期上的估計電流變化速率,從而可以估計電流變化。
提供的公開實施例是用于說明本發(fā)明的不同特性。從此公開受益的處理器設計領域的技術人員將認識到公開實施例的變型和修改,且這些變型和修改仍在所附權利要求書的精神和范圍之內。
權利要求
1.一種處理器,它包括功能單元;門電路,用于控制到所述功能單元的供電,并表示時鐘周期序列上所述功能單元的活動狀態(tài);監(jiān)控電路,用于根據(jù)所述表示的活動狀態(tài)確定電流變化并將所述確定的電流變化與閾值進行比較;以及節(jié)流電路,用于在所述確定的變化超出所述閾值時調整所述處理器的活動程度。
2.如權利要求1所述的處理器,其特征在于所述功能單元包括多個功能單元,所述這些功能單元形成所述處理器的指令執(zhí)行管道的一部分。
3.如權利要求2所述的處理器,其特征在于所述門電路包括多個門電路,每個門電路控制到所述多個功能單元中對應的一個功能單元的供電。
4.如權利要求1所述的處理器,其特征在于所述閾值是表示最大正電流變化速率的第一閾值以及表示最大負電流變化速率的第二閾值。
5.如權利要求4所述的處理器,其特征在于在所述確定速率超出所述第一閾值時,所述節(jié)流電路將磁泡注入所述指令管道,并且在所述確定速率超出所述第二閾值時,所述節(jié)流電路將活動注入所述指令管道。
6.如權利要求1所述的處理器,其特征在于所述監(jiān)控電路包括移位寄存器,用于存儲所表示的所述處理器的n個連續(xù)時鐘周期的活動狀態(tài),并且所述電流變化由連續(xù)時鐘周期上所述活動狀態(tài)的加權和確定。
7.如權利要求1所述的處理器,其特征在于所述節(jié)流電路包括第一占空比表,表中的行表示所述門電路的有效/無效狀態(tài)的特定比率,并且根據(jù)所述確定電流變化速率與閾值電流變化速率之間的比較關系選擇一個電流行來驅動所述門電路。
8.一種用于控制處理器中電流變化速率的方法,它包括從所述處理器的一個或多個門電路收集所述處理器的n個連續(xù)時鐘周期上的活動狀態(tài)信號;從所述n個收集的活動狀態(tài)信號估計電流變化;將所述估計電流變化與閾值電流變化進行比較;以及在所述估計電流變化超出所述閾值電流變化時,調整所述處理器的活動程度。
9.如權利要求8所述的方法,其特征在于估計所述電流變化包括計算所述n個收集的活動狀態(tài)的加權和。
10.如權利要求8所述的方法,其特征在于比較包括將所述估計電流變化與第一和第二閾值進行比較,所述第一和第二閾值分別表示最大正電流變化和最大負電流變化。
11.如權利要求10所述的方法,其特征在于調整活動程度包括如果所述估計電流變化大于所述第一閾值,則降低所述活動程度;以及如果所述估計電流變化小于所述第二閾值,則增加所述活動程度。
12.如權利要求11所述的方法,其特征在于降低所述活動程度包括將磁泡注入所述處理器的指令管道。
13.如權利要求11所述的方法,其特征在于增加所述活動程度包括在與所述門電路相關的功能單元缺少指令時,將所述門電路維持在有效狀態(tài)。
14.如權利要求8所述的方法,其特征在于還包括響應于所述處理器管道中的指令,激活和停用與所述門電路相關的功能單元。
15.如權利要求14所述的方法,其特征在于所述門電路通過以下操作激活和停用相關功能單元在指令使用所述功能單元的那些時鐘周期上,允許到所述功能單元的時鐘信號;以及在指令不使用所述功能單元的那些時鐘周期上,禁止到所述功能單元的所述時鐘信號。
16.一種計算機系統(tǒng),它包括指令執(zhí)行管道,它包括功能單元,用于執(zhí)行指令;電壓源,用于向所述功能單元提供參考電壓;門電路,用于激活或停用所述功能單元,并表示所述功能單元的活動狀態(tài);以及監(jiān)控電路,用于根據(jù)所述表示的活動狀態(tài)估計電流變化,并將所述電流變化與閾值進行比較;以及節(jié)流電路,用于根據(jù)所述比較關系來調整所述指令執(zhí)行管道中的活動程度。
17.如權利要求16所述的計算機系統(tǒng),其特征在于對所述活動狀態(tài)進行加權,以表示與所述控制電路相關的所述功能單元的電流消耗水平。
18.如權利要求17所述的計算機系統(tǒng),其特征在于指令執(zhí)行管道包括發(fā)布單元,它以處理器時鐘確定的速率發(fā)布指令供所述指令執(zhí)行管道進行處理。
19.如權利要求18所述的系統(tǒng),其特征在于所述節(jié)流電路通過調整表征所述處理器時鐘的占空比來調整發(fā)布單元發(fā)布指令的速率。
20.一種處理器,它包括一個或多個功能單元;以及電流控制單元,用于監(jiān)控與激活和停用所述一個或多個功能單元相關的電流變化,并響應于所述監(jiān)控的電流變化來調整所述處理器的活動程度。
21.如權利要求20所述的處理器,其特征在于所述電流控制單元包括一個或多個門單元,每個門單元控制到所述功能單元中的一個相關單元的供電,并表示所述相關功能單元的活動狀態(tài);以及監(jiān)控電路,用于根據(jù)所述表示的所述一個或多個功能單元的活動狀態(tài)來估計電流變化。
22.如權利要求21所述的處理器,其特征在于所述監(jiān)控電路將所述估計電流變化與閾值進行比較,并提供所述比較關系的表示。
23.如權利要求22所述的處理器,其特征在于還包括節(jié)流電路,用于響應于所述表示的比較關系來調整所述處理器的活動程度。
24.如權利要求20所述的處理器,其特征在于所述功能單元形成指令執(zhí)行管道,并且所述處理器還包括管道控制模塊,以根據(jù)所述指令執(zhí)行管道中的指令類型來表示所述一個或多個功能單元的所述活動狀態(tài)。
25.如權利要求24所述的處理器,其特征在于所述電流控制單元包括與所述一個或多個功能單元中的各個單元相關的門單元,并且每個門單元響應于所示的所述功能單元的所述活動狀態(tài)來控制到其相關功能單元的供電。
26.如權利要求24所述的處理器,其特征在于所述電流控制單元還包括監(jiān)控電路,用于利用所述一個或多個功能單元的所述活動狀態(tài)來估計所述處理器的電流變化。
27.如權利要求26所述的處理器,其特征在于所述監(jiān)控電路根據(jù)消耗的所述電流對各個功能單元的活動狀態(tài)進行加權,并且對給定時鐘周期的所述加權活動狀態(tài)求和,以提供所述時鐘周期的總活動狀態(tài)。
全文摘要
本發(fā)明提供用于調整諸如處理器的集成數(shù)字電路的活動的機制,以減少可歸因于時鐘門控觸發(fā)的電流變化的電壓變化。處理器包括一個或多個功能單元和電流控制電路,電流控制電路監(jiān)控處理器功能單元的活動狀態(tài),以估計n個時鐘周期上消耗的電流。電流控制電路根據(jù)n個活動狀態(tài)估計給定時鐘周期的電流變化,并將估計的電流變化與第一和第二閾值進行比較。如果估計電流變化大于第一閾值,則降低處理器活動;如果估計電流變化小于第二閾值,則降低處理器活動。
文檔編號G06F1/28GK1608239SQ01814605
公開日2005年4月20日 申請日期2001年6月14日 優(yōu)先權日2000年6月30日
發(fā)明者E·格喬斯基, D·塞杰, V·蒂瓦里, I·揚, D·J·艾爾斯 申請人:英特爾公司