两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于估計(jì)和控制電流變化率引起的電源電壓變化的機(jī)制的制作方法

文檔序號(hào):6577296閱讀:143來源:國知局
專利名稱:用于估計(jì)和控制電流變化率引起的電源電壓變化的機(jī)制的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及供電,更具體地說,本發(fā)明涉及用于模擬電源電壓響應(yīng)于 集成電路的電流需求而變化的速率的機(jī)制。
背景技術(shù)
在過去的25年中,諸如微處理器之類的集成電路的功率消耗已經(jīng)從不 足1瓦增長到了超過100瓦。功率的極大增大是晶體管按比例縮小的結(jié)果, 這已經(jīng)導(dǎo)致在以更高的頻率運(yùn)行的芯片上出現(xiàn)更多的晶體管。在傳統(tǒng)上, 已經(jīng)利用電壓縮放(voltage scaling)來將功率降低到可應(yīng)付的水平。但是, 隨著電源電壓接近1伏,電壓的進(jìn)一步大幅度減小不可能再提供額外的功率 減小。雖然下面的討論將集中于微處理器,但是人們將認(rèn)識(shí)到,任何在高 頻下運(yùn)行并且工作載荷發(fā)生變化的集成電路都將面臨類似的問題。
消耗100 W的微處理器需要電源、調(diào)壓器和能夠供應(yīng)100 W的配電網(wǎng) 絡(luò),以及能夠消散所產(chǎn)生的熱的熱解決方案(封裝、散熱器和風(fēng)扇)。這樣 的部件很昂貴,并且不可能期望這些部件隨晶體管尺寸的縮小而按比例增 大到更高的功率水平。
除了絕對(duì)的功率水平以外,功率水平的變化也存在問題。具體地,與 功率水平的快速變化相關(guān)聯(lián)的電流波動(dòng)可能導(dǎo)致器件所經(jīng)歷的電壓超出規(guī) 定范圍。在1.0V下運(yùn)行的100W的理想微處理器吸取(draw) 100 A。為 了保證正常的電路運(yùn)行,調(diào)壓器和配電網(wǎng)絡(luò)必須將電源電壓保持在士 5%之 中。這意味著不論微處理器(或者它正在運(yùn)行的軟件)做什么,也僅僅可 以允許100 mV的峰至峰波動(dòng)。理想的配電網(wǎng)絡(luò)具有足夠的電容以及足夠小的電感和電阻,以將電源電壓保持在100mV之中,即使微處理器的電源電 流可能在數(shù)納秒之內(nèi)發(fā)生急劇地變化。在感應(yīng)系數(shù)定義之后,此后面的一 個(gè)問題被稱為是^i/Wt問題,V=L'dM。 V是值為L的感應(yīng)器當(dāng)經(jīng)歷c/i/d
的電流變化時(shí)其兩端的電壓。實(shí)際的配電網(wǎng)絡(luò)目前還不能提供這些理想的 特性。
隨著在微處理器設(shè)計(jì)中采用類似時(shí)鐘門控的電源管理技術(shù),減輕"i/d 對(duì)電壓水平的影響變得越來越困難。例如,諸如浮點(diǎn)執(zhí)行單元之類的高功 耗單元可以裝配這樣的電路,其中所述電路在該單元工作時(shí)開啟時(shí)鐘,而 在該單元不工作時(shí)關(guān)斷時(shí)鐘??梢岳脴O精細(xì)的間隔尺寸一逐單元和逐流 水線階段(pipestage)來實(shí)現(xiàn)時(shí)鐘門控,這導(dǎo)致大量的時(shí)鐘門控信號(hào)。雖然 這樣的技術(shù)使不工作的單元中的功率消耗最小化,但是其導(dǎo)致依賴于正在 運(yùn)行的軟件的總功率水平的大幅度變化。
本發(fā)明就是解決與輸電網(wǎng)絡(luò)相關(guān)的這些問題和其他問題。


參考下面的附圖將可以理解本發(fā)明,其中相同的元件由相同的數(shù)字表 示。這些附圖用來說明本發(fā)明經(jīng)選擇的實(shí)施例,并不意于限制本發(fā)明的范 圍。
圖l是表示適用于處理器的配電網(wǎng)絡(luò)的電學(xué)模型的電路圖。 圖2表示圖1的配電網(wǎng)絡(luò)的階躍響應(yīng)和脈沖響應(yīng)。 圖3是表示根據(jù)本發(fā)明的用于仿真集成電路中的電壓變化的方法的一 個(gè)實(shí)施例的流程圖。
圖4是圖3中示出的方法的示意性表示。
圖5表示用于執(zhí)行一批代碼的處理器的功率仿真器在約2000個(gè)時(shí)鐘周 期內(nèi)的輸出。
圖6表示如根據(jù)本發(fā)明使用仿真器所確定的,在相同的間隔內(nèi)在圖5 中所仿真的處理器的電源電壓。
圖7是表示使用Ji^t控制機(jī)制的計(jì)算機(jī)系統(tǒng)的一個(gè)實(shí)施例的框圖。
圖8A是根據(jù)本發(fā)明的控制器的一個(gè)實(shí)施例的框圖。
圖8B-8E是圖8A的電流至電壓計(jì)算單元的各種實(shí)施例的框圖。圖9表示在圖8A的電流控制單元的控制下運(yùn)行時(shí),圖7的處理器的輸 出功率的仿真。
圖10表示在相同的間隔內(nèi)在圖8A中所仿真的處理器的電源電壓的變化。
圖11表示使用縮短的巻積間隔所確定的電源電壓變化與功率的關(guān)系的 仿真。
圖12表示使用縮短的巻積間隔所確定的電源電壓變化與性能的關(guān)系的 仿真。
具體實(shí)施例方式
諸如SimpleScalar或者SMTSIM之類的微體系結(jié)構(gòu)仿真器包括微處理 器的流水線和控制邏輯的模型,以及用于仿真通過微處理器的流水線的指 令流的體系結(jié)構(gòu)仿真器。仿真器確定需要多少個(gè)時(shí)鐘周期來執(zhí)行給定的基 準(zhǔn)檢測程序(benchmark),并且產(chǎn)生關(guān)于諸如流水線延誤、高速緩存未命 中、誤預(yù)測分支等之類的事件的統(tǒng)計(jì)。這樣的仿真器是公知的并且在文獻(xiàn) 中進(jìn)行了大量討論。例如參見D. Burger和T. M. AuStin的"The SimpleScalar Toolset, Version 2.0", Computer Architecture News, Vol 25, N0.3 June 1997, 第13-25頁,或者D. M. Tullsen的"Simulation and Modeling of a Simultaneous Multithreading Processor" , 22nd Annual Computer Measurement Group Conference, 1996年1 2月。
這些仿真器和其他的仿真器可以被擴(kuò)充來估計(jì)功率消耗,包括時(shí)鐘門 控的作用。例如,在每一個(gè)時(shí)鐘間隔,仿真器可以確定哪些單元和流水階 段是工作的。通過將單元/流水線階段("塊")開啟時(shí)的工作功率和關(guān)斷時(shí) 的空閑功率相加,仿真器可以計(jì)算出這個(gè)時(shí)鐘周期期間總的功率消耗。每 一個(gè)塊的工作和空閑功率可以以低電平電路仿真、電路設(shè)計(jì)者提供的估計(jì)、 基于實(shí)際電路的測量等為基礎(chǔ)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,利用用于處理器的配電網(wǎng)絡(luò)的電學(xué)模型并 結(jié)合適當(dāng)?shù)姆峙渚W(wǎng)絡(luò)響應(yīng)函數(shù),由功率仿真器的輸出來模擬輸送給這個(gè)處 理器的電源電壓。
圖1示出了用于高性能微處理器的配電網(wǎng)絡(luò)100的電學(xué)模型。該模型包括分別位于管芯上、封裝中和調(diào)壓器中的去耦電容器110 (a) -110 (C)。 還示出了與封裝、插槽、印刷電路板和調(diào)壓器中的器件相關(guān)聯(lián)的寄生電感 120 (a) -120 (d)和電阻130 (a) -130 (d)。微處理器被模擬成可變電流 槽140,調(diào)壓器的余部被模擬成理想電壓源150。選擇部件的值以代表被模 擬的特定系統(tǒng)的部件的值。在D. J.Herrell, B. beker的"Modeling of Power Distribution Systems for High-Performance Microprocessors " , IEEE Transactions on Advance Packaging, Vol.22, Issue 3, 1999年8月,第240-248 頁中討論了這樣的模型的構(gòu)造。
圖2表示配電網(wǎng)絡(luò)100對(duì)于施加25A的電流階躍(沒有示出)的仿真 響應(yīng)。持續(xù)不變的25 A的電流增加被施加到配電網(wǎng)絡(luò)IOO,并模擬了由微 處理器所經(jīng)歷的電源電壓的響應(yīng)(階躍響應(yīng)210)。例如,可以通過在網(wǎng)絡(luò) 100上運(yùn)行Spice或者類似的仿真來確定階躍響應(yīng)210。
圖2中的水平軸被分成時(shí)間間隔序列。所述間隔例如可以與由配電網(wǎng) 絡(luò)100所驅(qū)動(dòng)的處理器的時(shí)鐘周期相對(duì)應(yīng)。對(duì)于所公開的仿真,每一個(gè)間 隔對(duì)應(yīng)于0.3納秒("ns")的時(shí)鐘周期,以表示時(shí)鐘頻率為3.3 GHz的處理 器的響應(yīng)。由于配電網(wǎng)絡(luò)100的電感和電容,階躍響應(yīng)210下降并"降幅 振蕩(ring)"。其在電流階躍開始之后約30個(gè)時(shí)鐘周期處達(dá)到局部最小值 220。在被模擬的間隔內(nèi)在階躍響應(yīng)210中可以觀察到兩個(gè)指數(shù)衰減正弦信 號(hào)。高頻的貢獻(xiàn)是導(dǎo)致局部最小值220的原因。此貢獻(xiàn)可以歸因于與片上 部件IIO (a)等相關(guān)的RLC共振。低頻的貢獻(xiàn)是導(dǎo)致第二局部最小值250 的原因。此貢獻(xiàn)可以歸因于與封裝和/或連接器部件110 (b)、 120 (a)、 130 (a)等相關(guān)的RLC共振。如果延長模擬的間隔,則與電源部件相關(guān)的更低 頻的貢獻(xiàn)可以變得明顯。
在圖2中還示出了脈沖響應(yīng)230。在此,脈沖響應(yīng)230表示配電網(wǎng)絡(luò) 100對(duì)持續(xù)時(shí)間為0.3ns的單次25A脈沖的響應(yīng)。脈沖響應(yīng)230與階躍響應(yīng) 210的一階導(dǎo)數(shù)成比例。通過取階躍響應(yīng)210的相鄰信號(hào)瞬時(shí)值之間的差分 可以由階躍響應(yīng)210計(jì)算出脈沖響應(yīng)230。或者,可以直接通過模擬網(wǎng)絡(luò) 100對(duì)具有25 A幅值的0.3 ns脈沖的響應(yīng)來計(jì)算。
階躍響應(yīng)210和脈沖響應(yīng)230是響應(yīng)函數(shù)的示例,所述響應(yīng)函數(shù)可用 于表征輸電網(wǎng)絡(luò)對(duì)于電激勵(lì)的行為。本發(fā)明的一個(gè)實(shí)施例提供了一種將處理器所經(jīng)歷的電壓確定為隨時(shí)間
而可變化的活動(dòng)(activity)函數(shù)的機(jī)制。所述活動(dòng)可以表示為電流波形或 者離散的電流脈沖。這些可以由諸如SimpleScalar或者SMTSIM之類的仿 真器提供,所述仿真器己經(jīng)被改善以模擬功率消耗的效應(yīng)。如在下面所更 詳細(xì)地討論的,所述活動(dòng)也可以由正運(yùn)行的處理器提供。在后一情形中, 提供了用于減輕"i/d引起電壓變化的效應(yīng)的機(jī)制。
所公開的機(jī)制部分地依賴于這樣的觀測結(jié)果,即配電網(wǎng)絡(luò)100大致近 似為線性網(wǎng)絡(luò)。線性系統(tǒng)可用兩個(gè)性質(zhì)來表征(1)將對(duì)系統(tǒng)的輸入(電 流階躍或者脈沖幅值)按比例縮放一定的大小會(huì)導(dǎo)致輸出按比例縮放;和 (2)將兩個(gè)輸入的線性組合施加到系統(tǒng)所產(chǎn)生的輸出與由系統(tǒng)單獨(dú)地響應(yīng) 每一個(gè)輸入所產(chǎn)生的輸出的線性組合(疊加)相同。這種按比例縮放的性 質(zhì)用數(shù)學(xué)表示為f (c*x) = c*f (x),其中c是常數(shù)。例如,將圖2中的輸 入電流階躍的幅值增大一倍到50A會(huì)導(dǎo)致局部最小值220的深度大致增大 一倍。疊加可以用數(shù)學(xué)表示為f (x+y) = f (x) + f (y)。在圖2的示例 中,這意味著分配網(wǎng)絡(luò)100對(duì)第一電流脈沖和第二電流脈沖的響應(yīng)可以由 分配網(wǎng)絡(luò)100對(duì)第一電流脈沖的響應(yīng)和其對(duì)一定間隔之后的第二電流脈沖 的響應(yīng)的加和來合理地近似,其中所述間隔表示在第一和第二電流脈沖的 施加之間的延遲。
圖3是表示根據(jù)本發(fā)明的方法300的一個(gè)實(shí)施例的流程圖,所述方法 300用于估計(jì)配電網(wǎng)絡(luò)對(duì)集成電路的活動(dòng)特性曲線(activityprofile)的電壓 響應(yīng)。根據(jù)本發(fā)明,確定對(duì)于系統(tǒng)的活動(dòng)特性曲線(步驟310)。如上所述, 活動(dòng)特性曲線可以是電流波形、電流脈沖序列或者與之相當(dāng)?shù)姆抡嫫鞯妮?出。如果正在對(duì)處理器進(jìn)行仿真,可以將仿真器在給定的時(shí)間段內(nèi)響應(yīng)于 特定代碼序列的輸出作為活動(dòng)特性曲線。例如,可以按上述方式計(jì)算出一 系列的電流脈沖(每個(gè)時(shí)鐘周期一個(gè)脈沖),所述電流脈沖表示在一系列的 時(shí)鐘周期("間隔")內(nèi)處理器的工作單元和不工作單元所吸取的電流。對(duì) 于實(shí)際的處理器,可以通過例如在逐個(gè)時(shí)鐘周期的基礎(chǔ)上監(jiān)測其電流消耗 來提供活動(dòng)特性曲線。表示處理器活動(dòng)特性曲線的電流波形可以被分解成 一系列的電流脈沖。在這兩個(gè)情形中,由大小(電流脈沖的幅值)和偏移 (相對(duì)于參考時(shí)間的間隔時(shí)間)來表征選定間隔中的活動(dòng)特性曲線(步驟
8320)。對(duì)于微處理器,選定間隔可以對(duì)應(yīng)于一個(gè)或者多個(gè)時(shí)鐘間隔。在下 面的討論中,在選定間隔中的活動(dòng)特性曲線是指脈沖。
確定包括有例如微處理器的器件的目標(biāo)配電網(wǎng)絡(luò)的脈沖響應(yīng)(步驟 330)。對(duì)于方法300的一個(gè)實(shí)施例,可以對(duì)將具有指定大小和持續(xù)時(shí)間的 電流階躍施加到目標(biāo)網(wǎng)絡(luò)進(jìn)行仿真,并且由仿真的電壓響應(yīng)確定脈沖響應(yīng)。 或者,可以直接對(duì)輸電網(wǎng)絡(luò)對(duì)電流脈沖響應(yīng)進(jìn)行仿真,其中所述電流脈沖 具有對(duì)應(yīng)于選定時(shí)鐘間隔的持續(xù)時(shí)間。如果可使用實(shí)際系統(tǒng),則可以直接 測量脈沖響應(yīng)。
利用網(wǎng)絡(luò)的脈沖響應(yīng)和濾波技術(shù),活動(dòng)特性曲線的電流脈沖隨后被變 換為電源網(wǎng)絡(luò)的電壓響應(yīng)(步驟340)。舉例來說,合適的濾波技術(shù)包括例 如巻積的有限脈沖響應(yīng)(FIR)濾波和無限脈沖響應(yīng)(IIR)濾波。
對(duì)于一個(gè)實(shí)施例,根據(jù)每一個(gè)電流脈沖的幅值和偏移,F(xiàn)IR濾波器縮放 并平移(shift)這個(gè)電流脈沖,以提供相應(yīng)的已縮放已平移的脈沖響應(yīng)。然 后將對(duì)于在給定的間隔中產(chǎn)生響應(yīng)的每一個(gè)脈沖的已縮放/已平移脈沖響應(yīng) 進(jìn)行加和,以提供在所述間隔中電源網(wǎng)絡(luò)的電壓響應(yīng)。網(wǎng)絡(luò)對(duì)于該時(shí)間段 內(nèi)脈沖序列的已縮放/已平移響應(yīng)表示活動(dòng)脈沖與網(wǎng)絡(luò)響應(yīng)函數(shù)的巻積。
對(duì)于另一個(gè)實(shí)施例,為重現(xiàn)脈沖響應(yīng)的IIR濾波器確定系數(shù)。系數(shù)被應(yīng) 用于電流脈沖,并遞歸地應(yīng)用于由電流脈沖所確定的較早的電壓,以指示 器件所經(jīng)歷的電壓特性曲線。
圖4是結(jié)合圖3所描述的FIR方法的示意性表示。在示出的示例中, 活動(dòng)特性曲線400包含分別具有幅值A(chǔ),、 A2、 A3的電流脈沖410、 420、 430。 電流脈沖410、 420、 430例如可以表示在連續(xù)的若干時(shí)鐘周期內(nèi)由執(zhí)行代 碼序列的處理器所吸取的電流。電流脈沖410、 420、 430幵始于偏移時(shí)間 T0, T2,…。
為了進(jìn)行說明,對(duì)于例如25 A的指定電流幅值的基礎(chǔ)脈沖響應(yīng)490被 表示為8個(gè)時(shí)間間隔(Vt》內(nèi)的脈沖響應(yīng)幅值Ro-R7的序列。脈沖響應(yīng)440、 450和460分別表示經(jīng)過了按脈沖410、 420、 430的幅值(A。 A2、 A3,...) 縮放和按脈沖410、 420、 430的偏移(To, T,, T2,...)平移的基礎(chǔ)脈沖響 應(yīng)490 (脈沖響應(yīng)幅值Ro-R7)。在此,Rij表示按電流脈沖幅值A(chǔ)j縮放后的 脈沖響應(yīng)490的幅值Rj。假設(shè)由基礎(chǔ)脈沖響應(yīng)490表征的輸電網(wǎng)絡(luò)是線性的,貝U R10=c A, Ro, R32=c A3 R2,總而言之R『c A; Rj (按
比例縮放)。對(duì)脈沖響應(yīng)440、 450和460的平移分別反應(yīng)了其源電流脈沖 410、 420、 430開始的不同時(shí)間。在所公開的示例中,To被作為參考時(shí)間。 電壓波形470表示在相應(yīng)間隔to, t,, t2,…中脈沖響應(yīng)440、 450和460的 加和(疊加)。
例如,電壓脈沖V。表示在時(shí)間間隔t。處脈沖響應(yīng)440的幅值(R10)。 電壓響應(yīng)V,表示在時(shí)間間隔^中脈沖響應(yīng)幅值Ru和R2Q的加和,電壓響應(yīng) V2表示在時(shí)間間隔12中脈沖響應(yīng)幅值R12、 R21、 R3o的加和。由偏移T,和 丁2所指的平移相對(duì)于脈沖響應(yīng)460的幅值R1Q-R18,分別對(duì)齊脈沖響應(yīng)440 的脈沖響應(yīng)幅值R2Q-R28和450的脈沖響應(yīng)幅值R3()-R38。
一般來說,在間隔tn處的電壓是對(duì)于在tn處具有非零幅值的所有電流
脈沖的脈沖響應(yīng)幅值的加和。如圖4所示出的,如果電流脈沖開始于時(shí)間
Tk,則電流脈沖對(duì)于在間隔tn處的電壓的貢獻(xiàn)與C 'A。ICk成比例。此處,
Rn.k是在間隔n-k中脈沖響應(yīng)490的幅值,其中所述差值反映電流脈沖相對(duì) 于參考時(shí)間To的起始時(shí)間。
在圖5和6中分別示出了對(duì)于微處理器的電流仿真和根據(jù)本發(fā)明從電 流仿真得到的電壓響應(yīng)。圖5表示對(duì)由加利福尼亞圣克拉拉的Intd⑧公司的 Itanium 處理器所消耗的功率的仿真。將一部分Apache網(wǎng)絡(luò)服務(wù)器和gzip 文件壓縮程序的運(yùn)行2000個(gè)時(shí)鐘周期來對(duì)處理器進(jìn)行仿真。電流曲線510 示出了程序執(zhí)行的不同階段,每一個(gè)階段用例如每個(gè)時(shí)鐘周期執(zhí)行的指令 (IPC)的效率和電流水平來表征。 一般來說,其中并行執(zhí)行更大數(shù)量的指 令(高IPC)的那些時(shí)鐘周期由相應(yīng)更高的電流消耗來指明,因?yàn)樘幚砥髦?更多的單元被開啟了。相反地,其中并行執(zhí)行較少指令(低IPC)的時(shí)鐘周 期使較少的單元被激活,電流消耗相應(yīng)較低。在進(jìn)行仿真的間隔內(nèi),處理 器的電源電流從52A變化到72A。
其中電流水平在較高和較低功率水平之間快速并重復(fù)地振蕩的階段 520、 530、 540與代碼循環(huán)有關(guān)。代碼循環(huán)反復(fù)地以較大或者較小的IPC水 平執(zhí)行相同指令。這些階段與階段524、 534、 544交錯(cuò),在所述階段524、 534、 544中,可以觀察到很少的循環(huán)活動(dòng),并且電流水平更加隨機(jī)地變化。 在階段524、 534、 544中峰至峰電流變化明顯地大于與循環(huán)階段520、 530、540相關(guān)的峰至峰電流變化。在大約時(shí)鐘周期1200處開始,存在一個(gè)延長 的間隔,其中代碼段僅僅包含少量短的循環(huán)片斷。在此區(qū)域,電流消耗變 化很大并且不可預(yù)測。
圖6表示與在圖5中所反映的處理器電流消耗相對(duì)應(yīng)的電源電壓變化 610的根據(jù)本發(fā)明的仿真。電壓曲線610近似地反映了在圖5的曲線510中 所指明的事件。例如,階段620、 630、 640分別對(duì)應(yīng)于循環(huán)階段520、 530、 540,在所述循環(huán)階段520、 530、 540中峰至峰電流規(guī)則地變化。對(duì)于被模 擬的代碼序列和處理器,循環(huán)階段表征為相對(duì)高的IPC和高的電流消耗。 電源電壓水平在階段620、 630、 640中下降,反映了處理器所消耗的電流 增大。時(shí)鐘周期900以下的電壓變化相對(duì)緩和。但是,過了時(shí)鐘周期1152, 即功率消耗更加不穩(wěn)定的時(shí)候,電壓的擺幅明顯變大。雖然這些電壓變化 仍然落在處理器允許的范圍之中,但是Apache/gzip王作負(fù)載不表示較壞情 況的cfiM模式。
在曲線610中明顯的電壓變化可能對(duì)處理器的運(yùn)行造成嚴(yán)重后果。例 如,構(gòu)成處理器的邏輯電路要求電源電壓處在一定的范圍之中,以可靠地 運(yùn)行。電壓漂移到此范圍之外可能導(dǎo)致處理器中的計(jì)算錯(cuò)誤或者災(zāi)難性的 電路故障。諸如在圖6中示出的仿真允許處理器設(shè)計(jì)者研究各種功率/性能 折衷對(duì)處理器電壓的影響。如下面所更詳細(xì)討論的,實(shí)際系統(tǒng)上的電壓特 性曲線的實(shí)時(shí)確定可以被用來限制電壓漂移的程度。
微處理器的功率傳輸系統(tǒng)通常是針對(duì)其可能運(yùn)行的最壞情況的軟件而 設(shè)計(jì)的。最壞情況的軟件常常是具有極高IPC的程序(針對(duì)最大的功率消 耗),或者是在極高IPC和極低IPC之間快速交替的程序(針對(duì)最大的《i/d)。 這樣的程序被稱為功率病毒,因?yàn)樗鼈兣c正常的應(yīng)用軟件相比使功率傳輸 系統(tǒng)受到了大得多的壓力。如果針對(duì)典型功率消耗而不是最壞情況的功率 消耗所設(shè)計(jì)的處理器達(dá)到了指定的功率閾值,則時(shí)鐘門控允許處理器限制 其性能。但是,時(shí)鐘門控也放大了^/"t對(duì)電壓的影響。
上述方法便于用于處理器和其他指令執(zhí)行器件的片上功率計(jì)算和調(diào)控 硬件("電流控制單元")的開發(fā)。除了提供對(duì)特定代碼序列可能對(duì)處理器 的電壓產(chǎn)生怎樣的影響的深入了解之外,這些仿真還允許在硅前 (pre-Silicon)階段對(duì)各種d/d的減輕方案進(jìn)行測試。參照實(shí)現(xiàn)d/rft控制的處理器設(shè)計(jì),可認(rèn)識(shí)到上述仿真所帶來的深入了解的好處。 一個(gè)這樣的 實(shí)施例將在下面被更詳細(xì)地描述。
圖7是其中實(shí)現(xiàn)了 d/d控制的計(jì)算機(jī)系統(tǒng)700的一個(gè)實(shí)施例的框圖。 作為示例,計(jì)算機(jī)系統(tǒng)700包括處理器710、主存儲(chǔ)器740、非易失性存儲(chǔ) 器750、各種外圍設(shè)備760、系統(tǒng)邏輯770以及電源780。系統(tǒng)邏輯770控 制數(shù)據(jù)在處理器710、主存儲(chǔ)器740、非易失性存儲(chǔ)器750和外圍設(shè)備760 之間傳輸。電源780為處理器710中的邏輯器件提供參考電壓下的功率。 計(jì)算機(jī)系統(tǒng)700用來說明本發(fā)明的各種特征。所示出的具體構(gòu)造對(duì)于實(shí)現(xiàn) 本發(fā)明不是必須的。例如,系統(tǒng)700可以包括多個(gè)處理器710或者其他的 指令執(zhí)行器件,并且所示出的各種部件可以被全體或者部分組合或者刪除。 諸如個(gè)人數(shù)字助理(PDA)、智能電話等之類的系統(tǒng)可以被認(rèn)為包括沒有在 所公開的實(shí)施例中示出的器件和連接。
處理器710包括多個(gè)單元724,所述多個(gè)單元724形成指令執(zhí)行流水線 720。指令可以從主存儲(chǔ)器740、非易失性存儲(chǔ)器750或者其他的存儲(chǔ)器件 (沒有示出)提供給處理器710。處理器710所消耗的電流量由在流水線 720中的指令(或者沒有指令)在各種單元724中所產(chǎn)生的活動(dòng)水平確定。 電流控制單元(CCU)730監(jiān)測選定單元724響應(yīng)于被處理指令的電流使用, 并相應(yīng)地調(diào)節(jié)處理器710的活動(dòng)水平。所示出的系統(tǒng)700包括單個(gè)的CCU 730。其他的實(shí)施例可以使用多個(gè)CCU730,其中每個(gè)CCU730局部地控制 對(duì)于一個(gè)或者多個(gè)單元724的d/d。
當(dāng)指令被沿著流水線720執(zhí)行時(shí),其命令各個(gè)單元724執(zhí)行一個(gè)或者 多個(gè)操作,所述一個(gè)或者多個(gè)操作合起來實(shí)現(xiàn)了所述指令。例如,浮點(diǎn)乘 法累加指令(FMAC)可以導(dǎo)致在指明的資源中發(fā)生下面的操作浮點(diǎn)寄存 器文件讀出三個(gè)操作數(shù);FMAC執(zhí)行單元將其中兩個(gè)操作數(shù)相乘,并將乘 積和第三個(gè)操作數(shù)相加;異常單元檢查乘積和加和的錯(cuò)誤以及如果沒有 檢測到錯(cuò)誤,則退休單元將結(jié)果寫入浮點(diǎn)寄存器文件。取決于具體的處理 器實(shí)施方式,這些資源或者它們的部件可以被分組成一個(gè)或者多個(gè)單元 724,其中當(dāng)指令被沿著流水線執(zhí)行時(shí),所述單元724被開啟和關(guān)斷。
當(dāng)其被指令激活時(shí),每一個(gè)單元724吸取一定量的電流。對(duì)于計(jì)算機(jī) 系統(tǒng)700,電源780提供電流,同時(shí)將參考電壓水平保持在指定的范圍中。
12如果一個(gè)或者多個(gè)單元724的激活或者去激活引起處理器710所要求的電 流發(fā)生明顯變化,則CCU730作出響應(yīng)以減輕所述變化。CCU730的一個(gè) 實(shí)施例利用在上述的仿真中所示出的行為,來減輕對(duì)處理器710所使 用的參考電壓的影響。
可以監(jiān)測選定單元724'的激活/去激活狀態(tài),以提供在給定的時(shí)鐘周 期中由處理器710所消耗的電流的估計(jì)。選定單元724'可以是那些當(dāng)工作 時(shí)吸取大電流的單元,因?yàn)楫?dāng)它們?cè)诠ぷ鳡顟B(tài)和不工作狀態(tài)之間切換時(shí), 這些單元可能產(chǎn)生《iM的突然變化。CCU 730監(jiān)測在連續(xù)的時(shí)鐘周期中一 個(gè)或者多個(gè)選定單元724'的狀態(tài),以估計(jì)在選定的時(shí)間段內(nèi)所得到的電流 或者電壓水平。將估計(jì)的水平與一個(gè)或者多個(gè)閾值進(jìn)行比較,以確定處理 器的活動(dòng)水平是否應(yīng)該被調(diào)節(jié)。例如,如果估計(jì)的電壓水平小于第一閾值, 則可以減小通過流水線720的指令流。如果估計(jì)的電壓水平大于第二閾值, 則可以使單元724'保持激活以減小電壓水平的升高,其中如果所估計(jì)的電 壓水平不滿足大于第二閾值的話,所述單元724'可能被去激活。
CCU 730的一個(gè)實(shí)施例通過跟蹤在n個(gè)連續(xù)時(shí)鐘周期中(采樣周期) 選定單元724'的工作/不工作狀態(tài)(例如活動(dòng)狀態(tài)=1/0)來估計(jì)由處理器所 經(jīng)歷的電壓水平。如下面所討論的,跟蹤到的狀態(tài)可以被加權(quán),以表示處 理器710的活動(dòng)波形或者特性曲線??梢岳眠m于系統(tǒng)700的輸電網(wǎng)絡(luò)的 脈沖響應(yīng)對(duì)構(gòu)成特性曲線的電流脈沖進(jìn)行分析,以提供處理器所經(jīng)歷的電 壓特性曲線。如果電壓落在指定范圍之外,則CCU730可以改變處理器710 的活動(dòng)水平,以抵消這種預(yù)期的變化。
對(duì)于CCU 730的一個(gè)實(shí)施例,表示n個(gè)電流脈沖中的每一個(gè)的幅值的 值可以被存儲(chǔ)在一系列的存儲(chǔ)位置中。能夠在每一條目中存儲(chǔ)多位的幅值 的值的移位寄存器可以用于此目的。如在下面所更詳細(xì)討論的,條目的數(shù) 量部分地由所使用的濾波算法以及精度來決定,其中所述精度是將確定處 理器所經(jīng)歷的電壓時(shí)所用的精度。其中駐有幅值的值的條目表示相應(yīng)的電 流脈沖從取樣窗的起始的偏移。
定期地,例如在每一個(gè)時(shí)鐘周期,由存儲(chǔ)在移位寄存器的條目中的電 流幅值(Ai)來估計(jì)處理器所經(jīng)歷的電壓。對(duì)于CCU 730的一個(gè)實(shí)施例, 在連續(xù)的時(shí)鐘周期中使電流幅值順序地從條目O到條目n-l (Eo到En.,)逐級(jí)通過移位寄存器。移位寄存器的存儲(chǔ)信息于是提供了在一 n個(gè)時(shí)鐘周期 的窗上器件的活動(dòng)水平特性曲線的快照。在給定的時(shí)刻,最近的電流脈沖 幅值位于Eq中,其對(duì)處理器所經(jīng)歷的電壓貢獻(xiàn)與其存儲(chǔ)的幅值值([Eo]) 和在第一間隔中的網(wǎng)絡(luò)脈沖響應(yīng)(Ro)成比例的量。類似地,其次最近的 脈沖位于條目1中,其對(duì)電壓的貢獻(xiàn)與其存儲(chǔ)的幅值值([E,])和在第二間 隔中的網(wǎng)絡(luò)脈沖響應(yīng)(R。成比例。
一般來說,在特定時(shí)刻的電壓響應(yīng)可以估計(jì)為
,=0
也就是說,利用在相應(yīng)間隔中的脈沖響應(yīng)幅值所提供的權(quán)重,在每一時(shí)鐘 周期計(jì)算上一個(gè)n個(gè)時(shí)鐘周期的電流幅值的加權(quán)和。移位寄存器移位電流 脈沖幅值,以提供相對(duì)于結(jié)合圖4所討論的脈沖響應(yīng)的偏移。移位寄存器 的存儲(chǔ)信息于是提供一個(gè)滑動(dòng)窗口,通過所述滑動(dòng)窗口,可以估計(jì)由處理 器所經(jīng)歷的電壓水平的動(dòng)態(tài)特性曲線。實(shí)際上,CCU 730的此實(shí)施例對(duì)所 測量到的處理器的活動(dòng)特性曲線與其輸電網(wǎng)絡(luò)的脈沖響應(yīng)進(jìn)行巻積,以預(yù) 測處理器所經(jīng)歷的電壓水平的變化。巻積是有限脈沖響應(yīng)(FIR)算法的一 個(gè)示例。如下面所討論的,也可以實(shí)現(xiàn)基于無限脈沖響應(yīng)(IIR)的電流控 制電路。
對(duì)于使用CCU 730的系統(tǒng)的一個(gè)實(shí)施例,流水線控制電路(圖8A)調(diào) 節(jié)流水線活動(dòng)來抵消電壓水平的預(yù)期變化,如果其落入可接受的范圍之外 的話。脈沖響應(yīng)可以利用類似于圖2中的供電網(wǎng)絡(luò)來進(jìn)行模擬,其中所述 供電網(wǎng)絡(luò)具有為反映計(jì)算機(jī)系統(tǒng)700的電容、電感和電阻性能而設(shè)計(jì)的部 件?;蛘?,可以測量實(shí)際系統(tǒng)的脈沖響應(yīng)。
圖8A是表示CCU 730和其與流水線720的選定單元724'的相互作用 的一個(gè)實(shí)施例的框圖。所公開的CCU730的實(shí)施例包括門控單元810 (1) -810 (n)(總稱門控單元810)、監(jiān)測電路820和限制電路830。每一個(gè)門控 單元810控制到流水線720中相關(guān)單元724'的功率傳輸。例如,門控單元 810可以是時(shí)鐘門控電路,所述門控電路根據(jù)單元724'的服務(wù)是否用來執(zhí) 行當(dāng)前位于單元724'運(yùn)行于其中的流水線階段中的指令,將時(shí)鐘信號(hào)耦合 或者去耦合到單元724'。在圖8A中還示出了流水線控制電路850,所述流水線控制電路850指示門控單元810哪些單元724'正在為當(dāng)前正在執(zhí)行的 指令工作。
對(duì)于所公開的CCU 730實(shí)施例,門控單元810將信號(hào)提供給監(jiān)測電路 820,以指明其相關(guān)的單元724'是否在工作。信號(hào)可以是單元724'的活 動(dòng)狀態(tài),其中當(dāng)單元724'被開啟時(shí),所述信號(hào)被斷言,而當(dāng)單元724'被 關(guān)斷時(shí),所述信號(hào)被解斷言。 一般的處理器可以包括10-20個(gè)門控單元810, 以控制到10-20個(gè)單元724'的功率傳輸??梢员O(jiān)測所有單元的電流變化, 或者可以監(jiān)測單元的子集。例如,可以僅僅監(jiān)測那些消耗大量電流的單元, 例如單元724,。如上所述的,可以使用多個(gè)CCU730來監(jiān)測多個(gè)單元或者 單元組。
監(jiān)測電路820在取樣窗口上收集來自門控單元810的信號(hào),并基于所 收集到的信號(hào)估計(jì)處理器710所經(jīng)歷的電壓。所公開的監(jiān)測電路820實(shí)施 例包括電流計(jì)算單元(ICU) 812、電流至電壓計(jì)算單元(IVCU) 814和閾 值比較器單元(TCU) 816。如在下面所更詳細(xì)討論的,ICU812提供在連 續(xù)的時(shí)鐘周期中所消耗的電流的估計(jì)。IVCU 814將濾波算法應(yīng)用于估計(jì)電 流,以產(chǎn)生由例如處理器710的器件所經(jīng)歷的電壓的估計(jì)。TCU816將估 計(jì)電壓和一個(gè)或者多個(gè)閾值進(jìn)行比較,并且如果比較結(jié)果指示,限制電路 830調(diào)節(jié)處理器710的活動(dòng)水平。
對(duì)于所公開的CCU 730實(shí)施例,ICU 812包括加權(quán)單元804 (1) -804 (n)(總稱加權(quán)單元804)和加法器822。存在的每一個(gè)加權(quán)單元804根據(jù) 由門控單元810所指明的其相關(guān)單元724'的活動(dòng)狀態(tài)是不工作的還是工作 的,分別將第一值或者第二值提供給加法器822。第一值表示單元724'沒 有被激活時(shí)所吸取的電流,而第二值表示單元724'被激活時(shí)所吸取的電流。 加法器822將由加權(quán)單元804所提供的值進(jìn)行加和,并輸出加和作為在每 一個(gè)連續(xù)的時(shí)鐘周期中由處理器710的被監(jiān)測單元724'所吸取的電流脈沖 的估計(jì)。如果CCU730控制單個(gè)單元724',則可以刪除加法器822和可能 的加權(quán)單元804。同樣地,如果由被監(jiān)測單元724'所吸取的電流大致相當(dāng), 則可以刪除加權(quán)單元804。
IVCU 814將濾波算法應(yīng)用于由ICU 812所提供的電流脈沖,以產(chǎn)生由 處理器710所經(jīng)歷的電壓的估計(jì),并且TCU 816將估計(jì)的電壓與一個(gè)或者多個(gè)閾值進(jìn)行比較。如果估計(jì)的電壓超過所述閾值,則限制電路830調(diào)節(jié) 處理器710的活動(dòng)水平,以消除這種與閾值的相交(threshold crossing)。
對(duì)于監(jiān)測電路820的一個(gè)實(shí)施例,落入下限電壓閾值以下的估計(jì)電壓 值表明處理器710可能正在吸取大于輸電網(wǎng)絡(luò)可以提供而同時(shí)保持在允許 的電壓范圍之中的電流。在這種條件下,限制電路830可以將否則將被激 活的一些單元去激活。例如,限制電路830可以使得處理器710中的取指 單元(沒有示出)將無操作(NOP)插入流水線720中。NOP是需要激活 即使有的話也是很少的單元的基本空白指令。在這樣的條件下,因?yàn)楫?dāng)NOP (非生產(chǎn)性指令,unproductive instructions)通過流水線720時(shí),生產(chǎn)性指 令(productive instructions)被延遲,所以性能下降。因?yàn)镹OP激活即使有 的話也是很少的單元,所以功率消耗也被降低。
另一方面,當(dāng)處理器710使用不足并且很少的單元被激活時(shí),估計(jì)的 電壓可能超出上限電壓閾值。對(duì)于這樣的情況,限制電路830可以激活(例 如提供驅(qū)動(dòng)電流給)否則將不被當(dāng)前在流水線720中的指令占用的單元 724'。舉例來說,它可以持續(xù)將時(shí)鐘信號(hào)傳輸至沒有被使用的單元724', 使得盡管沒有相應(yīng)的指令仍促使它們的電路充電和放電。這增大了處理器 710所消耗的功率,其中所述功率超過了當(dāng)前正在執(zhí)行的指令所必須的功 率。但是,這對(duì)處理器的性能沒有直接的影響。
圖8B是適于實(shí)現(xiàn)上述加權(quán)和電壓估計(jì)算法(FIR)的IVCU 814的實(shí)施 例的框圖。還示出了TCU816的實(shí)施例。所公開的IVCU814實(shí)施例包括n 個(gè)條目的移位寄存器824,并且加法器826通過13個(gè)加權(quán)單元850 (0) -850 (n-l)(總稱加權(quán)單元850)接收其輸入信號(hào)。移位寄存器824將n個(gè)連續(xù) 時(shí)鐘周期的電流幅值(Ao-Aw)存儲(chǔ)在其條目中。加權(quán)單元850 (0) -850 (n-l)與相關(guān)輸電系統(tǒng)的脈沖響應(yīng)的相應(yīng)間隔的幅值成比例地縮放來自移 位寄存器824的各個(gè)輸入(Ao-An.,)。所公開的加法器826實(shí)施例實(shí)現(xiàn)式1 的加權(quán)和。也就是說,加法器826將n個(gè)活動(dòng)狀態(tài)與包括電源780和處理 器710的輸電網(wǎng)絡(luò)的脈沖響應(yīng)進(jìn)行有效的巻積。
加法器826的輸出表示供電網(wǎng)絡(luò)784對(duì)于處理器710電流活動(dòng)水平的 估計(jì)電壓響應(yīng)VE。在圖8B中,VE被提供給閾值比較器816的比較器860 (a)和860 (b),將其分別與上限閾值和下限閾值進(jìn)行比較。比較器860
16(b)確定VE是否下降到下限電壓閾值以下,并且如果VE下降到較低電壓
閾值以下,則發(fā)信號(hào)給限制電路830以減小電流消耗。通過直接關(guān)斷時(shí)鐘、 減小指令的讀取或者發(fā)送的速率、或者起動(dòng)一些其他的電流節(jié)約方案都可 以降低電流消耗。
比較器860 (a)確定VE是否超過了上限電壓閾值,并且發(fā)信號(hào)給限制 電路以增大電流消耗(或者至少將其保持在當(dāng)前水平)。例如,限制電路可 以強(qiáng)迫否則將被時(shí)鐘門控關(guān)斷的單元工作來增大電流消耗,或者其可以通 過防止時(shí)鐘門控切斷另外的單元來保持功率消耗。
在上限閾值和下限閾值之間,例如處理器710的器件可以正常運(yùn)行。 根據(jù)所要求的控制間隔尺寸、可用的計(jì)算資源以及其他因素,可以每個(gè)時(shí) 鐘周期或者每m個(gè)時(shí)鐘周期進(jìn)行一次電壓計(jì)算、閾值比較和電流調(diào)節(jié)(如 果必要的話)。假定以合適的速率估計(jì)VE所需的計(jì)算資源可以被容納在處 理器管芯上,則電源電壓的實(shí)時(shí)控制被使能。
圖8C是適于實(shí)現(xiàn)IIR或者遞歸濾波器的IVCU 814的實(shí)施例的框圖。 IIR濾波器除了使用輸入信號(hào)(例如來自ICU816的電流)之外,還使用先 前已計(jì)算出的濾波輸出(例如來自加法器826的較早的電壓估計(jì))來確定 新的濾波輸出(例如電流電壓估計(jì))。例如在Steven W. Smith的"The Scientists and Engineers Guide to Digital Signal Processing", California Technical Publishing ISBN 0-966176-3-3 (1997)中詳細(xì)地討論了 IIR濾波器。 一般來說,IIR或者遞歸濾波器將輸入信號(hào)和先前已計(jì)算出的輸出線性組合 來確定輸出,其中先前已計(jì)算出的輸出提供遞歸元素。IIR濾波函數(shù)可以表
示為
<formula>formula see original document page 17</formula>
在此,ao-a^表示應(yīng)用于n個(gè)電流幅值(A》的系數(shù),b。-bp.,表示應(yīng)用于p 個(gè)在先電壓估計(jì)(Vi)的系數(shù)。 一般來說,如果上一組n個(gè)電流值被跟蹤, 則n-l個(gè)估計(jì)電壓可用于跟蹤,且p^n-l??梢酝ㄟ^對(duì)于輸電網(wǎng)絡(luò)的脈沖響 應(yīng)或者階躍響應(yīng)(N-2)的曲線擬和來確定系數(shù)(aj和(bj。
所公開的IVCU 814'實(shí)施例除了包括n個(gè)條目的移位寄存器824、加 法器826和加權(quán)單元850 (0) -850 (n-1)之外,還包括第二移位寄存器828和加權(quán)單元854 (0) -854 (n-2)。移位寄存器824存儲(chǔ)n個(gè)電流幅值的序 列,而移位寄存器828存儲(chǔ)先前的n-l個(gè)估計(jì)電壓的序列。后者是對(duì)于加法 器826的反饋,以為IVCU814提供遞歸輸入。
IVCU 814,適于針對(duì)其中階躍函數(shù)210或者脈沖響應(yīng)230受一個(gè)延遲 的正弦貢獻(xiàn)所支配的情況,對(duì)電流信號(hào)進(jìn)行濾波以提供處理器710所經(jīng)歷 的電壓的估計(jì)。針對(duì)其中存在多個(gè)對(duì)于輸電網(wǎng)絡(luò)響應(yīng)的延遲的正弦貢獻(xiàn)的 情況,可以使用多個(gè)IVCU814來產(chǎn)生電壓估計(jì)。每一個(gè)正弦貢獻(xiàn)可以由其 自身的系數(shù)組(aj和(bj來表征。圖8D示出了IVCU814",其中k個(gè)濾波器 的結(jié)果被并行組合,以提供由處理器710所經(jīng)歷的電壓的估計(jì)。圖8E示出 了一個(gè)IVCU814"',其中k個(gè)濾波器的結(jié)果被串行組合,以提供處理器710 所經(jīng)歷的電壓的估計(jì)。兩種構(gòu)造都可以用于組合對(duì)于多個(gè)共振源的IIR濾波 結(jié)果。
如圖8A中所示,CCU730包括反饋回路,因?yàn)閺?qiáng)迫單元724'開啟或者 關(guān)斷的動(dòng)作影響所計(jì)算出的電源電流和電壓。這些反過來又影響CCU 730 后續(xù)的行為。對(duì)于IIR濾波器(圖8C-8E),遞歸部件在IVCU 824中提供另 外的反饋回路。
在圖9和圖10中分別示出了 CCU 730對(duì)電流和電源電壓的影響的仿 真。與圖5和圖6相比,由CCU730所提供的d/d控制將明顯的一個(gè)時(shí)鐘 尖峰信號(hào)(spike)弓l入到最大以及最小電流水平上。這些尖峰信號(hào)是CCU 730響應(yīng)于落在預(yù)定限度之外的計(jì)算出的電壓值而強(qiáng)迫時(shí)鐘開啟和關(guān)斷的 結(jié)果。盡管存在尖峰信號(hào),但是電源電壓的峰至峰變化還是小于未受控的 情形,因?yàn)橥ㄟ^設(shè)計(jì),CCU730調(diào)控了電流,以避免在配電網(wǎng)絡(luò)中激勵(lì)RLC 共振。
利用應(yīng)用于脈沖響應(yīng)230 (圖2)的整個(gè)范圍的FIR算法,仿真圖9和 圖10的結(jié)果,其中脈沖響應(yīng)230延續(xù)的時(shí)鐘周期超過300個(gè)。對(duì)于CCU730, 這相當(dāng)于使用具有相應(yīng)尺寸(n>300)的移位寄存器824、加權(quán)單元850和 加法器826。即使使用在當(dāng)今的高性能處理器中可利用的電路密度,實(shí)現(xiàn)這 樣的監(jiān)測電路820也是不現(xiàn)實(shí)的,其中所述監(jiān)測電路820能夠在一個(gè)時(shí)鐘 周期或者甚至在數(shù)個(gè)時(shí)鐘周期內(nèi)將對(duì)于300今時(shí)鐘周期間隔中的脈沖響應(yīng) 與電流脈沖進(jìn)行巻積。仿真結(jié)果表明對(duì)于提供有用的結(jié)果,圖2中的300個(gè)時(shí)鐘周期間隔是 不必要的。例如,在圖2中,脈沖響應(yīng)230的最大變化,例如局部最大值 240出現(xiàn)在電流脈沖開始后的大約25個(gè)時(shí)鐘周期。這暗示CCU 730可以對(duì) 更短間隔內(nèi)的電流脈沖和脈沖響應(yīng)進(jìn)行巻積,并仍然提供對(duì)于輸電網(wǎng)絡(luò)的 電壓響應(yīng)的合理近似。如下面所更詳細(xì)討論的,可以實(shí)現(xiàn)n小至25或者30 的監(jiān)測電路820。
本發(fā)明的一個(gè)實(shí)施例允許針對(duì)不同的巻積間隔來仿真性能和電壓穩(wěn)定 性之間的平衡。通過改變?cè)谄涮嶤CU 730起動(dòng)d/dt減輕操作的電壓閾值, 可以測試到不同的性能水平。例如,如果減小在其處CCU 730起動(dòng)例如插 入NOP的活動(dòng)降低操作的下限電壓閾值,則處理器710在更寬的電壓范圍 內(nèi)以滿工作量持續(xù)運(yùn)行,但要付出使其電路遭受更大的電壓變化的代價(jià)。 提高在其處CCU730起動(dòng)活動(dòng)降低操作的下限電壓閾值,會(huì)縮窄處理器710
在其中被允許以滿工作量運(yùn)行的電壓范圍??偟膩碚f,性能下降,但是處 理器710經(jīng)歷更穩(wěn)定的電源電壓。
'圖11表示針對(duì)三個(gè)不同的間隔用于系統(tǒng)700的輸電網(wǎng)絡(luò)的峰至峰電壓 變化與性能的關(guān)系的仿真。從圖11可以明顯看出,在由對(duì)于25個(gè)(曲線 1110)、 43個(gè)(曲線1120)和350個(gè)(曲線1130)時(shí)鐘周期的仿真所產(chǎn)生 的結(jié)果中差別很小。在每一個(gè)例子中,峰至峰電壓變化可以被限制到約1 mV,同時(shí)性能的下降小于5%-。
圖12表示針對(duì)三個(gè)不同巻積間隔用于系統(tǒng)700的輸電網(wǎng)絡(luò)的峰至峰電 壓變化與所耗散的功率的關(guān)系的仿真。對(duì)于這三個(gè)間隔,結(jié)果是相當(dāng)?shù)模?表明小至25個(gè)時(shí)鐘周期的間隔對(duì)于實(shí)際的d/d控制是足夠的。
CCU 730的等待時(shí)間可能對(duì)其控制與擺動(dòng)相關(guān)的電壓變化的效率 有明顯的影響。例如,從圖2可以明顯看出,在電流變化的最初數(shù)個(gè)間隔 中階躍響應(yīng)210和脈沖響應(yīng)230分別發(fā)生了更大數(shù)字范圍的電壓變化。因 此,有效的CCU 730設(shè)計(jì)為以例如1個(gè)或者2個(gè)周期的低等待時(shí)間作出響 應(yīng)。圖13和14表示對(duì)于具有1-4個(gè)時(shí)鐘周期的等待時(shí)間的CCU,峰至峰 電壓變化對(duì)性能和功率的依賴關(guān)系。從這些圖可以明顯看出,由于等待時(shí) 間大于2個(gè)時(shí)鐘周期,^i/d控制的很多好處消失了。
對(duì)于所公開的CCU 730實(shí)施例,ICU 812和IVCU 814是等待時(shí)間的主要來源。如上面對(duì)于基于FIR的濾波器所示出的,減小被監(jiān)測間隔的大小 是有幫助的。在這點(diǎn)上,對(duì)于給定的等待時(shí)間,基于IIR的濾波器有可能提 供更好的結(jié)果。例如,仿真已經(jīng)示出了使用第二級(jí)IIR濾波器,可以獲得器 件所經(jīng)歷的電壓的合理估計(jì)。第二級(jí)濾波器僅僅使用三個(gè)電流系數(shù)(a。, a,, a2)和兩個(gè)電壓系數(shù)(bo, b,),這與FIR濾波器814'使用25個(gè)系數(shù)相比 是非常有利的。
也可以應(yīng)用其他的方案來減小等待時(shí)間。例如,在較早的階段,可以 預(yù)先計(jì)算塊稍后在執(zhí)行流水線中的電流消耗。如果需要的話,可以在早期 階段進(jìn)行兩次計(jì)算,并且隨后根據(jù)相關(guān)單元是工作的還是不工作的,可以 選擇一次計(jì)算。此外,對(duì)于所公開的監(jiān)測電路820實(shí)施例,僅僅是脈沖響 應(yīng)的第一元件需要以一個(gè)周期等待時(shí)間進(jìn)行計(jì)算。第二元件可能花費(fèi)兩個(gè) 周期,第三元件可能花費(fèi)三個(gè)周期,等等。
等待時(shí)間約束還表明例如用于處理器的單個(gè)集中式CCU將不會(huì)提供與 以分布/局部方式控制d/A相同的好處。例如,可以將局部CCU設(shè)置在某 些單元的旁邊,其中所述局部CCU控制所述單元的活動(dòng),以更快速地響應(yīng) 其指定單元中的電流變化。集中式CCU必須等待來自分布在整個(gè)芯片上的 單元的數(shù)據(jù)。如果若干局部CCU與處理器中的不同流水線相關(guān)聯(lián),則流水 線之間的某些通信是必須的,以確保在流水線之間交換的數(shù)據(jù)不會(huì)丟失。 例如,在流水線之間可以加入隊(duì)列,以緩沖來自一個(gè)流水線并注定去往被 其CCU暫停的另一個(gè)流水線的數(shù)據(jù)。
這樣,提供了一種用于仿真由在輸電網(wǎng)絡(luò)中的器件所經(jīng)歷的電壓的機(jī) 制。該機(jī)制可以用于研究用于減輕引起的電壓變化的各種方案的效率。 對(duì)于本發(fā)明的一個(gè)實(shí)施例,確定了輸電網(wǎng)絡(luò)的脈沖響應(yīng),并在運(yùn)行期間監(jiān) 測了由該網(wǎng)絡(luò)供電的器件的活動(dòng)特性曲線。隨后,將該活動(dòng)特性曲線與脈 沖響應(yīng)進(jìn)行巻積,以提供器件的電壓特性曲線。
已用來說明本發(fā)明的各種,特征的本實(shí)施例和其他實(shí)施例可以用于模 擬電子系統(tǒng),例如使用時(shí)鐘門控或者因?yàn)槠渌蚨?jīng)受明顯的變化 的其他基于處理器的系統(tǒng)和計(jì)算機(jī)。本領(lǐng)域的技術(shù)人員在受益于本公開的 情況下,將認(rèn)識(shí)到所公開的實(shí)施例的多種變化和修改,這些變化和修改依 然落入所附權(quán)利要求的精神和范圍中。
權(quán)利要求
1.一種處理器,包括第一寄存器,用于存儲(chǔ)多個(gè)值,所述多個(gè)值表示所述處理器的至少一部分所吸取的多個(gè)電流幅值;加法器,用于將輸入加權(quán)以反映耦合到所述處理器的輸電網(wǎng)絡(luò)的響應(yīng)函數(shù),所述加法器確定所述多個(gè)電流幅值中至少一些電流幅值的加權(quán)和;比較器,用于比較所述加權(quán)和與閾值;以及限制單元,用于響應(yīng)于所述加權(quán)和超過所述閾值,調(diào)節(jié)所述處理器的至少一部分的運(yùn)行。
2. 如權(quán)利要求1所述的處理器,還包括 執(zhí)行流水線,包括用于處理指令的一個(gè)或者多個(gè)單元; 取指單元,用于將指令傳輸至所述執(zhí)行流水線;以及 時(shí)鐘門控單元,用于響應(yīng)于當(dāng)前正在執(zhí)行的指令對(duì)所述一個(gè)或者多個(gè)單元的使用,控制向所述一個(gè)或者多個(gè)單元的功率傳輸。
3. 如權(quán)利要求2所述的處理器,其中,所述限制單元響應(yīng)于所述加權(quán) 和超過上限閾值,防止所述時(shí)鐘門控單元門控關(guān)斷至所述一個(gè)或者多個(gè)單 元的功率。
4. 如權(quán)利要求2所述的處理器,其中,所述限制單元響應(yīng)于所述加權(quán) 和落在下限閾值以下,向所述取指單元發(fā)出信號(hào),以將指令以減小的速率 傳輸至所述執(zhí)行流水線。
5. 如權(quán)利要求1所述的處理器,其中,所述輸電網(wǎng)絡(luò)的所述響應(yīng)函數(shù) 由n個(gè)響應(yīng)函數(shù)幅值來表示,并且所述加法器的所述被加權(quán)的輸入包含n 個(gè)輸入,其中與所述n個(gè)響應(yīng)函數(shù)幅值成比例地對(duì)所述n個(gè)輸入分別進(jìn)行 加權(quán)。
6. 如權(quán)利要求1所述的處理器,其中,所述輸電網(wǎng)絡(luò)的所述響應(yīng)函數(shù) 由遞歸系數(shù)組來表示,并且所述加法器的所述被加權(quán)的輸入與所述遞歸系 數(shù)成比例地被加權(quán)。
7. 如權(quán)利要求6所述的處理器,還包括第二寄存器,所述第二寄存器 跟蹤由所述加法器所確定的加權(quán)和,并將所述加權(quán)和反饋給所述加法器的 選定輸入。
8. 如權(quán)利要求7所述的處理器,其中,所述遞歸系數(shù)包括電流系數(shù)組 和電壓系數(shù)組。
全文摘要
本發(fā)明公開了一種用于以指定的電壓范圍向器件輸電的系統(tǒng)。該系統(tǒng)包括向器件輸電的輸電網(wǎng)絡(luò),所述網(wǎng)絡(luò)由響應(yīng)函數(shù)表征。電流計(jì)算單元存儲(chǔ)表示在連續(xù)的若干時(shí)鐘周期由器件所吸取的電流幅值的序列的值,并將其提供給電流至電壓計(jì)算單元。電流至電壓計(jì)算單元根據(jù)從響應(yīng)函數(shù)獲得的系數(shù)對(duì)電流幅值進(jìn)行濾波,以提供由器件所經(jīng)歷的電壓的估計(jì)。如果估計(jì)電壓落到指定范圍以外,則器件的運(yùn)行被調(diào)節(jié)。
文檔編號(hào)G06F1/26GK101539795SQ20091012834
公開日2009年9月23日 申請(qǐng)日期2002年12月11日 優(yōu)先權(quán)日2001年12月28日
發(fā)明者伊恩·揚(yáng), 戴維·塞杰, 戴維·艾爾斯, 愛德華·格羅霍夫斯基, 維韋克·蒂瓦里 申請(qǐng)人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
廊坊市| 郎溪县| 阿瓦提县| 广昌县| 额尔古纳市| 轮台县| 北碚区| 南部县| 葵青区| 丰镇市| 崇仁县| 安多县| 兰溪市| 乐陵市| 崇明县| 光山县| 墨竹工卡县| 朔州市| 东至县| 辛集市| 微山县| 夏津县| 通许县| 迭部县| 文山县| 饶阳县| 八宿县| 临海市| 博湖县| 怀集县| 韶山市| 万安县| 瑞昌市| 新巴尔虎右旗| 额济纳旗| 高台县| 连平县| 思茅市| 石家庄市| 商丘市| 循化|