基於瞬態負載預測來提供供電電壓控制的電路和方法與流程
2023-10-17 23:37:29 1

s·索基、f·馬默帝
相關申請的交叉引用
本申請要求於2014年11月12日提交的美國臨時專利申請號62/078,796的優先權和權益,其通過援引全部納入於此。
本申請涉及電壓轉換器,尤其涉及基於瞬態負載預測對電壓轉換器進行反饋控制。
背景技術:
在示例常規系統中,電壓調節器將電壓輸出到負載(諸如圖形處理單元(gpu)、中央處理單元(cpu)、數據機、等等)。負載被設計成從電壓調節器接收基本上恆定的電壓。然而,隨著在負載處功耗增加,輸出電壓可暫時地跌落。同樣,隨著在負載處功耗降低,輸出電壓可具有暫時的過衝。當然,電壓調節器嘗試將電壓維持在期望值,以使得電壓在一定量的時間之後最終返回到期望值。但是暫時的跌落或過衝可能導致操作誤差或浪費的功率。
常規電壓調節器使用將負載處的輸出電壓與參考電壓比較的反饋環路。然而,此類反饋環路是反應性的,僅在電壓問題被檢測到之後才改進它們。
附圖簡述
圖1是解說根據一個實施例的用於提供恆定或幾乎恆定的輸出電壓的示例反饋環路的架構圖。
圖2是圖1的實施例的外部反饋環路的示例圖解。
圖3是根據一個實施例的一種主動供應電壓調諧的示例方法的流程圖的圖解。
圖4是解說根據實現圖3的方法的一個實施例的示例時鐘循環數的圖表。
詳細描述
本文所公開的是用於基於瞬態負載電流預測來主動提供供電電壓調諧的電路和方法的實施例。在一個示例中,電壓調節器將電壓輸出到負載(諸如圖形處理單元(gpu)、中央處理單元(cpu)、數據機、等等)。負載被設計成從電壓調節器接收基本上恆定的電壓。然而,隨著在負載處功耗增加,輸出電壓可暫時地跌落。同樣,隨著在負載處功耗降低,輸出電壓可具有暫時的過衝。當然,電壓調節器嘗試將電壓維持在期望值,以使得電壓在一定量的時間之後最終返回到期望值。
本文所公開的各個實施例包括基於事件計數器(或負載功耗的其他指示)來提供所估計的預測瞬態負載的電路。預測瞬態負載可被用來確定輸出電壓應當被向上還是向下操縱以主動地最小化跌落或過衝事件。在一個示例中,瞬態負載電流預測電路從負載接收事件計數器,預測估計瞬態負載,並隨後基於預測瞬態負載來向上或向下操縱參考電壓。在另一示例中,瞬態負載電流預測電路與由參考電壓設置的反饋環路並行地預測估計瞬態負載並且增大或減小輸出電壓,以使得參考電壓本身不被操縱。在以下示例中,瞬態負載電流預測被示為被應用於包括降壓轉換器的電壓調節器。然而,實施例的範圍並不限於降壓轉換器的電壓調節器,因為其他實施例可包括其他類型的電壓調節器(諸如線性調節器、開關型調節器、等等)。
圖1是解說用於向負載122提供恆定或幾乎恆定的v輸出的具有兩個反饋環路的示例系統的架構圖。在外部控制環路中,負載122將其活動的指示(例如,事件計數器)提供給瞬態負載電流預測(tlp)電路124。tlp124預測對vref的恰適調節並且將對應於該調節的數字數據發送到數模轉換器(dac)120。dac120隨後調節vref。以下參照圖2來更詳細地討論外部控制環路。
著眼於內部控制環路,pwm控制器102接收參考電壓(vref)和提供v輸出的值的反饋信號,並響應於vref與v輸出之差而輸出pwm信號。pwm控制器102通過調節pwm信號的佔空比來調製該pwm信號。一般而言,pwm信號的較大佔空比增大同步降壓轉換器110的輸出處的電壓,並且pwm信號的較小佔空比減小同步降壓轉換器110的輸出處的電壓。以此方式,pwm控制器102持續地調節pwm信號的佔空比以保持v輸出幾乎恆定。
相位生成器104從pwm控制器102接收pwm信號並且通過調節其相位或產生具有不同相位的多個不同信號來處理pwm信號。例如,相位生成器104可產生用於耦合的反相器的不同信號,或者可產生用於多相降壓轉換器的不同信號。在一些實施例中,電路102和104可以作為集中式控制器的一部分來提供,且電路106、108和110解說了多相降壓轉換器的單個相位並且是與集中式控制器分開的模塊的一部分。圖1僅解說了單個相位,但是應理解,在一些實施例中,存在多個相位以及多個模塊(每個模塊屬於特定的相位),且集中式控制器根據邏輯來將這些模塊切換成打開和關閉。此外,在一些實施例中,集中式控制器和眾多的模塊可以全部在相同的半導體管芯上。
死區時間生成器106接收pwm信號並且輸出用於多相降壓轉換器的每個相位的兩個控制信號。同步降壓轉換器110的每個相位包括兩個開關支路組111,並且開關支路組中的每一組對應於由死區時間生成器106產生的相應控制信號。第一控制信號與第二控制信號之間的相位差影響開關支路組111的操作定時,由此定義了同步降壓轉換器110中的死區時間以避免或減少擊穿和體二極體損耗。
這兩個控制信號從死區時間生成器106輸出並且由開關驅動器108接收。開關驅動器108包括緩衝器驅動器,這些緩衝器驅動器增大控制信號中的每一者的功率以便提供足以打開或關閉降壓轉換器110內的開關111的功率。
降壓轉換器110接收v輸入,該v輸入在一些實施例中是來自半導體管芯上的電源軌的功率信號。在其他實施例中,v輸入可包括來自電池或其他電壓源的功率。開關支路111根據來自開關驅動器108的控制信號來斷開和閉合。開關支路111、電感器112、以及電容器113的操作在v輸出處提供穩定的輸出電壓。同步降壓轉換器110可包括現在已知或以後開發的任何同步降壓轉換器,並且在一些實施例中可包括根據收到控制信號的佔空比來降低來自v輸入的電壓的常規同步降壓轉換器110。如果v輸出降低或升高,則電壓變化被pwm控制器102看見,該pwm控制器102調節pwm信號的佔空比以將v輸出處的電壓返回到期望電平。類似地,圖1的系統100內的i2r功率損耗影響反饋環路的操作。具體地,系統組件中的i2r損耗致使pwm控制器102將pwm信號的佔空比增大到足以計及那些損耗。
如以上所提及的,圖1的實施例示出了開關支路111,而一些實施例可包括每相位多個開關支路。例如,一個實施例包括兩個開關支路組。第一開關支路組包括pmos電晶體,而第二開關支路組包括nmos電晶體。每個nmos電晶體對應於一個相應的pmos電晶體,且對於可被選擇的每條支路,該支路將對應的nmos和pmos電晶體包括在一起。由此,這些支路是各自並聯的且每條支路包括一個pmos和一個nmos電晶體。由於這些支路是並聯的,因而更多的支路允許更多的電流通過降壓轉換器。一般地,隨著更多的電流被消耗,更多的支路可被打開,而隨著更少的電流被消耗,支路可被關閉。
同樣如以上所提及的,一些實施例包括多個相位。降壓轉換器相位中的每一個相位是可個體地選擇的,並且每一個相位處置一定量的電流。一般地,隨著負載汲取更多的電流,系統可添加更多的相位,而隨著負載的電流消耗下降,系統可減少它使用的相位的數目。圖1的內部控制環路和電壓轉換器是本公開的實施例可在其中實現的一種類型的電壓調節器的圖解。然而,實施例的範圍可包括任何恰適的電壓調節器。
圖2是解說圖1的實施例的外部反饋環路的另一種方式。在片上系統(soc)實施例中,負載122可包括例如處理核、數據機、等等。然而,實施例的範圍並不限於soc。在此示例中,負載122被示為圖形處理單元(gpu),然而實施例的範圍並不限於任何特定負載,並且可代替地包括接收指令、執行那些指令、並能夠提供其活動水平的指示(例如,事件計數器)的任何邏輯元件。
電子電壓調節器(evr)210一般對應於圖1的內部控制環路。evr210從tlp124接收數據,其中該數據指示vref根據預期負載變化來應當被向上或向下調節。
在此示例中,負載122從evr210接收v輸出。evr210嘗試保持v輸出基本上恆定,但是負載122處的活動的增加可導致從evr210汲取的電流的增大,並且電流的增大可導致v輸出暫時地跌落。類似地,負載122處的活動的減少可導致從evr210汲取的電流的減小,由此導致v輸出暫時地過衝。圖2的外部控制環路使用來自負載122的事件計數器來預測電流將增大還是減小,並且隨後該外部控制環路根據電流增大或減小的預測來操縱vref以主動地抵消下衝或過衝。
例如,如果tlp124預測負載的活動將增加,由此增大從evr210汲取的電流,則tlp124可使得evr210增量地向上調節vref以最小化v輸出處的跌落。繼續該示例,如果tlp124預測負載的活動將減少,則tlp124可使得evr210增量地向下調節vref以最小化v輸出處的過衝。
如進一步參照圖3所討論的,tlp124是從負載122接收事件計數器並使用自適應控制算法來預測在接下來的幾個時鐘循環期間負載被預期增大還是減小的邏輯電路。自適應控制算法的一個示例是比例-積分-微分(pid)控制環路反饋機制。然而,實施例的範圍並不僅限於pid,因為在一些實施例中可使用任何恰適的自適應控制算法。例如,如果足夠的計算功率可用,則神經元網絡也可被用作可預測負載變化的自適應控制算法。
如圖2中所示,負載122向tlp電路124提供事件計數器。在此實施例中,事件計數器包括由負載122生成並且指示其內部邏輯運算的活動的數字信息。例如,如果負載122具有相加邏輯、移位邏輯、以及相乘邏輯,則不同邏輯組件中的每一個邏輯組件可包括其自身的寄存器,該寄存器存儲每當其相應的邏輯組件執行指令時遞增的值。當然,那僅是示例,因為給定負載可包括以任何恰適方式圍繞邏輯分布的計數器。計數器的值可每時鐘循環、或每n個時鐘循環讀出,或者以其他方式恰適地讀出。
一些運算可能比其他運算更為計算密集。例如,乘法通常比加法更為計算密集。由此,由乘法邏輯單元執行的單個運算可比由加法邏輯單元執行的單個運算使用更多能量。一些實施例可因此例如通過使更為計算密集的操作的計數器倍增來計及此類差異。在任何情況下,負載122將指示其計算活動的數據傳遞給tlp電路124。事件計數器是此類數據的一個示例,並且其他實施例可使用指示負載122處的計算活動的任何恰適類型的數據。
繼續圖2的示例,tlp電路124向evr210提供數據以指令evr210向上或向下調節vref的值。在此示例中,tlp電路124輸出指示vref應當被調節的單位數目的數字數據。數字數據例如由dac120(圖1)接收,dac120隨後恰適地向上或向下調節vref的值。
在另一實施例中,tlp電路124輸出指示vref自身的值而非指示vref的變化的數據。任一種技術都落在實施例的範圍內。此外,雖然圖1示出了外部控制環路調節vref的值,但是其他實施例可不同地操作。例如,一些實施例可在降壓轉換器110的輸出處加上或減去電壓以搶先減小跌落或過衝,而非調節vref的值。
圖3是根據一個實施例的一種用於主動供應電壓調諧的示例方法300的圖解。方法300可例如通過邏輯單元(諸如圖1和2的tlp電路124)來執行。在此示例實施例中,方法300關於在片上系統(soc)內部或外部的電壓調節器來執行。該soc包括負載,並且隨著負載操作,其功耗根據其在任何給定時間執行的指令數目和指令類型來上升和下降。執行方法300的tlp電路處於控制環路中(諸如圖1和2中所示),並且其預測負載處的功耗並根據其預測來調節電壓調節器的參考電壓或輸出電壓。
方法300開始於動作302,其指示每時鐘循環發生各種動作。在一個實施例中,tlp電路和負載兩者均以1ghz操作,而電壓調節器以較低速率(諸如250mhz)操作。當然,這些數字僅是示例,並且實施例的範圍並不限於用於負載、tlp電路、或電壓調節器的任何特定時鐘速率。
在動作304,tlp電路從負載獲取事件計數器。在此示例中,負載包括數目j個的事件計數器,並且在動作304,tlp電路接收關於該特定時鐘循環的j個事件計數器(αj(i)是時鐘循環i處的事件計數器)。
在動作306,tlp電路演算多個值。β(i)表示關於該特定時鐘循環i的計數器的聚集值。在此示例中,β(i)類似於由負載在時鐘循環i期間消耗的功率量的指示,假定每個事件計數器與所消耗的功率量成比例的話。
tlp電路還演算δβ(i),其是當前時鐘循環與先前一個時鐘循環的聚集事件計數器的差。在此示例中,δβ(i)=β(i)-β(i-1)指示事件δ,其中δβ>0指示負載電流增大,δβ=0指示沒有變化,但是通常將預期方向上的變化,(增大到減小或反之),δβ<0指示負載電流減小。
tlp電路還根據圖3中所示的pid算法來演算δl(i+1)。δl(i+1)表示關於預期由負載在緊隨的下一時鐘循環中消耗的電流的增大或減小的量的預測。在此實施例中,不同pid係數(k)的值是預先已知的。例如,預期每個電壓調節器可被測試或仿真,並且使用試錯法,測試或仿真可找到提供關於該電壓調節器的最佳曲線擬合的三個pid係數。繼續該示例,當負載在任務模式期間運行時,tlp電路從存儲器上傳這些pid係數並在方法300期間應用它們。
在tlp電路演算δl(i+1)之後,它隨後演算l(i+1),l(i+1)是基於預測電流變化(δl(i+1))預期由負載在緊隨的下一時鐘循環中消耗的總電流量。隨後,tlp電路演算v(i+1),v(i+1)是預期在下一時鐘循環期間恰適於最小化跌落或過衝的參考電壓vref的指示。因為功率等效於電壓乘以電流,並且因為電壓被維持為基本上相同的值,於是v(i+1)與l(i+1)以一階準確度成比例。換言之,在此示例中,v(i+1)可通過將l(i+1)乘以係數來演算,其中該係數很大程度上取決於電壓調節器的拓撲和設計。由此,l(i+1)與v(i+1)之間的關係也可通過測試或仿真來預先已知,並隨後保存在存儲器中,並在方法300的操作期間上傳到tlp。
在動作308,時鐘循環遞增到緊隨的下一時鐘循環i+1。在動作310,取決於是否已滿足時鐘循環數n,方法300再次執行動作304和306、或者移至動作312。如以上所提及的,tlp電路和電壓調節器可以不同時鐘速率來操作。在tlp和負載以1ghz操作而電壓調節器以250mhz操作的示例中,n可被設為四。相應地,方法300將每四個時鐘循環更新一次電壓調節器的參考電壓vref。可是這僅是示例,因為各個實施例可將n設為適於更新電壓調節器的任何數。
動作310和312可以任何恰適的方式來執行以計及tlp電路和電壓調節器以不同速率操作的事實。方法300示出了tlp電路每時鐘循環演算一次v(i+1)但是僅每n個時鐘循環更新一次電壓調節器。一些實施例可在n個時鐘循環上對v(i+1)的值取平均或者在數個時鐘循環上執行某種其他過濾。另一方面,一些實施例可簡單地忽略v(i+1)的演算中的三個演算並保存四個演算中的一個。實施例的範圍並不限於計及tlp電路和電壓調節器的速率之差的任何特定方式。
在動作312,tlp電路通過發送指示電壓參考的變化或與演算出的v(i+1)相對應的電壓參考的值的數據來更新電壓調節器處的電壓參考vref。在任何情況下,tlp電路使電壓調節器增大或減小由電壓調節器提供給負載的電壓以抵消根據pid算法預測的跌落或過衝。在一些時鐘循環中,pid算法有可能會預測到負載的電流消耗沒有增大或減小,在該情形中動作312可使得在更新電壓調節器中不發生變化。在動作314,時鐘循環遞增1,並且方法300重新開始。
實施例的範圍並不限於圖3中所示的特定方法。其他實施例可添加、省略、重新安排、或修改一個或多個動作。例如,方法300可包括一些其他自適應控制算法,而非此處所描述的特定pid算法。事實上,能使用指示來自負載的計算活動的數據來預測能被用來最小化跌落或過衝的電壓增大或減小的任何恰適自適應控制算法可在各個實施例中實現。
圖4是解說根據實現方法300的一個實施例的示例時鐘循環數目的圖表。為了解說簡化起見,圖4的示例僅包括pid算法的比例部分,但是其他實施例還可使用pid算法的積分和微分部分。此外,圖4的圖表假定電壓調節器在每個時鐘循環處被更新;然而,這與圖3的實施例不同。換言之,圖4的示例是有助於理解的一般化解說,但是當本公開在片上系統中實現時,演算可能比圖4中所示的那些更為複雜。
在第一時鐘循環期間,tlp電路演算δβ(i)為2,其中正值指示負載電流增大。tlp電路隨後演算δl(i+1)為增大4%並且演算δv(i+1)為增大兩個單位。在此示例中,在對應於δv(i+1)的列中所示的值為可向dac(諸如圖1的dac120)表達以指示要應用於vref的改變的數字值。
δm(i+1)是從前一時鐘循環到當前時鐘循環的實際電流的變化,而δe是針對當前時鐘循環的預測負載電流與實際負載電流之差,其中δe=l(i)-m(i)。因為在本示例中是第一時鐘循環,所以δm(i)和δe不適用。
在第二時鐘循環期間,δv(i+1)被演算為零,意味著針對緊隨的下一時鐘循環預測不需要附加電壓。δm(i)值為正,由此指示電流實際上逐時鐘循環增大,而δe的值指示預測負載電流比針對該循環實際測得的負載電流高2%。
在第三時鐘循環期間,δv(i+1)被演算為一,由此指示預測在第四時鐘循環中應當施加一個單位的附加電壓。δe的值為零指示系統準確地預測了在第三時鐘循環期間要使用的附加電壓(當系統在第二時鐘循環期間作出預測時)。
在第四時鐘循環期間,δv(i+1)被演算為四個單位,其指示tlp電路針對第五時鐘循環預測相對較大的電流增大。同樣,δe值為-2%指示tlp電路往低預測了在第四時鐘循環期間要使用的電壓量(當tlp電路在第三時鐘循環期間作出預測時)。
應注意,δe和δm(i)是tlp電路如何良好地預測預期要用來最小化跌落或過衝的電壓的指示符,但是在pid係數被保持恆定的系統中,此類指示符可能很少或者不使用。由此,使用靜態pid係數的一些真實世界系統可以不演算δe或δm(i)。
一些實施例的優點在於它們可以基於瞬態負載預測來提供主動供電電壓調諧。作為對比,常規系統基於觀察到的電流讀數來提供反應性調諧。然而,此類常規系統到當前值被檢測到時已經經歷跌落或過衝。本文所描述的實施例可代替地使用自適應控制算法來嘗試預測何時跌落或過衝是很有可能的,並且響應於該預測而向調節器施加電壓改變以在跌落或過衝發生之前減輕該跌落或過衝。在一些實施例中,與常規解決方案相比,這可以提供跌落和過衝的最小化。一般認為,過衝和下衝浪費了功率,所以最小化過衝和下衝的實施例可節省功率。另外,下衝可影響數字電路的性能,而過衝可潛在地損壞電路,所以這種現象的最小化還可改善電路的操作。
如本領域普通技術人員至此將領會的並取決於手頭的具體應用,可以在本公開的設備的材料、裝置、配置和使用方法上做出許多修改、替換和變化而不會脫離本公開的精神和範圍。有鑑於此,本公開的範圍不應當被限定於本文所解說和描述的特定實施例(因為其僅是作為本公開的一些示例),而應當與所附權利要求及其功能等同方案完全相當。