TWI710877B - 處理器負載階平衡 - Google Patents

處理器負載階平衡 Download PDF

Info

Publication number
TWI710877B
TWI710877B TW108110221A TW108110221A TWI710877B TW I710877 B TWI710877 B TW I710877B TW 108110221 A TW108110221 A TW 108110221A TW 108110221 A TW108110221 A TW 108110221A TW I710877 B TWI710877 B TW I710877B
Authority
TW
Taiwan
Prior art keywords
processor
clock
clock signal
frequency
operating mode
Prior art date
Application number
TW108110221A
Other languages
English (en)
Other versions
TW201945883A (zh
Inventor
凱文 寶里斯
艾尼斯 穆特嘉
拉維 珍克爾
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW201945883A publication Critical patent/TW201945883A/zh
Application granted granted Critical
Publication of TWI710877B publication Critical patent/TWI710877B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/06Clock generators producing several clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

本發明提供一種根據執行單元之使用情況來控制一處理器之時脈的系統。當該處理器自使用一預設數目之該等執行單元之一預設操作模式轉變為使用一增加數目之該等執行單元之一增加負載操作模式時,由該處理器自一電力軌汲取之一電流實質上保持不變。

Description

處理器負載階平衡
本申請案係關於處理器,且更特定言之,係關於回應於處理器負載之變化的處理器時脈頻率之負載階平衡。
隨著相關計算變得更密集,由處理器在每個時脈循環執行的處理的量發生變化。在較低負載週期期間,相對較少的諸如乘法及累加(MAC)單元之執行單元在每個處理器時脈循環中處於作用中狀態。但回應於突然的負載變化,作用中執行單元之數目可顯著地增加。處理器自其電力供應軌所需之電流將隨著處理負載之變化而變化。處理器所需之電流的增加之結果可引起其電源電壓不期望地下降,從而導致故障狀況。
因此,在處理需求增加的週期期間,降低處理器之時脈頻率為常規的。舉例而言,在此類增加之負載週期期間,時脈頻率可減半。但是時脈頻率降低太多會導致電源電壓不期望地增加,其產生諸如保持時間違反(hold violations)之故障狀況。相反,時脈頻率降低太少會產生低電壓故障狀況。因此,先前技術負載平衡技術在由電源電壓太高而產生的電源分佈網路(PDN)故障狀況與由電源電壓太低而產生的故障狀況之間搖擺。
因此,在此項技術中需要回應於處理器負載之增加來改善處理器時脈頻率之負載階平衡。
為最小化PDN雜訊,處理器時脈頻率隨著處理器負載增加而成比例地降低。為量化負載增加,判定處理器在預設操作模式下操作時為作用中執行單元之預設數目。預設操作模式對應於較低負載狀態。在自預設操作模式至增加的負載操作模式之轉變期間,其中處理器在增加的負載操作模式下操作,作用中執行單元之數目比預設數目增加大於一倍之倍數。在此轉變期間,處理器時脈頻率降低,從而與作用中執行單元之預設數目之倍數成反比。由於此比例,在處理器自預設操作模式轉變為增加的負載操作模式時,由處理器自電力軌汲取之電流並不明顯變化。因此,儘管處理器之負載突然增加,但調節電力軌上承載之電源電壓的電源可防止電源電壓低於或超過期望值。
經由以下詳細描述可更佳地理解此等及其他有利特徵。
本專利申請案主張2018年4月30日申請之名稱為「PROCESSOR LOAD STEP BALANCING」之申請案第15/967,456號之優先權,且所述申請案讓與其受讓人並特此以引用之方式明確地併入本文中。
現在轉而參看圖式, 1 說明經組態用於如本文所揭示之負載階平衡的系統100。在一個實施方案中,系統100可包含晶片上系統(SoC)或另一類型之合適的積體電路。諸如圖形處理單元(GPU) 115之處理器包括複數個執行單元140。然而,應瞭解,本文所揭示的負載平衡技術廣泛適用於諸如通用中央處理單元(CPU)之其他類型的處理器。如處理器技術中已知的,每個作用中執行單元140經組態以執行GPU 115之電腦程式的指令。在GPU 115之預設負載狀態或操作模式(最低負載狀態)期間,在處理器時脈信號145之每個時脈循環中僅預設數目之執行單元140為作用中的。在此預設負載狀態期間,處理器時脈信號145以在本文表示為F最大 之最大頻率循環。基於作用中執行單元140之預設數目及時脈頻率F最大 ,GPU 115將自電力軌150汲取電流I。諸如電源管理積體電路(PMIC) 135之電源調節電力軌150以保持其為GPU 115充電至所期望之電源電壓。但是GPU 115之負載可能突然增加,使得每個時脈循環中之作用中執行單元140之數目明顯增加超過在預設負載狀態期間處於作用中的預設數目。舉例而言,若作用中執行單元140之數目增加至預設數目之四倍,則GPU 115將自電力軌150汲取趨近為預設電流I之四倍的電流。
面對此類突然的電流需求之增加,諸如PMIC 135之電源無法維持電源電壓。由此,處理器系統100經組態以實踐智慧型負載平衡,使得處理器時脈頻率隨著負載增加而成比例地降低。在以下論述中,將假設每個執行單元140為乘法及累加(MAC)單元。然而,應瞭解,在替代性實施方案中,諸如算術-邏輯單元(ALU)或浮點單元(FPU)之其他合適單元可形成執行單元140。在操作期間藉由GPU 115在時脈頻率f時脈 下自電力軌150汲取的平均電流i平均 (t)隨後變成: i平均 (t) = α NMAC f時脈 + β 方程式(1) 其中NMAC 為在每個時脈循環中處於作用中的作用中MAC單元之數目,α為每個作用中MAC單元所需電流之比例因子,其取決於MAC單元電容及電源電壓,而β表示動態洩漏。
為建立負載平衡等式,使得儘管負載突然增加,GPU 115之電流消耗dI/dt亦不會變化,在預設操作模式下之起始電流消耗(I起始 (t))應等於在負載階增加之後之電流消耗(I (t))。將負載階增加前後之起始及最終電流代入等式(1),得到以下等式: α N起始 f最大 + β = α N最終 f步進 + β 方程式(2) 其中,N起始 為在GPU 115之預設操作期間作用中MAC單元之預設數目,f最大 為預設時脈頻率,N最終 為在負載增加之後作用中MAC單元之數目,以及f步進 為在負載階增加之後降低的處理器時脈頻率。
對等式(2)之降低的時脈頻率f步進 求解,得到以下表達式: f步進 = f最大 (N起始 /N最終 ) 方程式(3) 其中,N最終 等於N起始 加上作用中MAC單元之某一附加的數目Δn。
如藉由下標「最大(MAX)」所暗示,預設時脈頻率f最大 為最大時脈頻率而回應於負載增加之步進時脈頻率f步進 低於f最大 。藉由如以下根據方程式(3)使時脈頻率與負載增加成比例地減小,儘管GPU 115自預設操作模式突然轉變為增加的負載操作模式,系統100亦確保來自電力軌150之電流消耗有效不變。因此,所得時脈頻率之減小非常有利,此係因為儘管處理器負載突然增加,GPU 115之電源電壓亦將不會超過或低於其期望值。此外,由於頻率減低與負載增加成比例,負載增加非常明顯或略微明顯並不重要,此係因為頻率減低為針對負載增加而調適。
此頻率減小之另一優勢為,儘管時脈頻率發生了變化,自其獲得處理器時脈信號145之諸如鎖相迴路(PLL)之時脈源亦可保持鎖定。舉例而言,系統100中之PLL 105利用以f最大 之倍數(例如f最大 之兩倍)進行循環的源時脈信號155來驅動時脈分頻器110。時脈分頻器110對源時脈信號155分頻以產生處理器時脈信號145。此分頻可趨近於整數N與M之比率(N/M)。所得時脈分頻保持處理器時脈信號145之某些邊緣與源時脈信號155中之對應邊緣同步,使得PLL 105可保持鎖定。舉例而言,假設整數M等於48。在彼情況下,下表1中N之以下值可用於時脈分頻器110中以產生以下時脈頻率之降低: 表1
Figure 108110221-A0304-0001
注意,當M等於48時,當時脈頻率降低80%及40%時,比率N/M中分子N並不等於整數。然而,對於回應於負載增加之其餘的時脈頻率降低,N具有整數值。在 2A 中,來自表1之百分比係作為執行單元比率增加(N最終/N起始)之函數而標繪。隨著每個執行單元使用之每次增加,自一個頻率階至下一個的降低漸近地變得較少。舉例而言,執行單元使用比預設需求使用加倍導致時脈頻率降低50%,而需求比預設操作模式增加六倍會導致時脈頻率僅降低16.7%。 雖然只有一個處理器時脈信號145,但是以F最大 之100%之頻率對GPU 115進行計時可認為係藉由第一處理器時脈信號對GPU 115進行計時。類似地,對於其餘的時脈頻率百分比,以80%之頻率對GPU 115進行計時可認為係藉由第二處理器時脈信號對GPU 115進行計時等。
2B 中顯示基於自源時脈信號155適當選擇之邊緣的所得處理器時脈信號145之波形。舉例而言,為了產生具有F最大 頻率之100%之時脈信號以在其預設操作期間對GPU 115進行計時,時脈分頻器110 (圖1)可回應於源時脈信號155之上升邊緣來產生100%時脈信號之相對應的上升及下降邊緣。特定而言,源時脈信號155之上升邊緣可分成偶數及奇數上升邊緣。 第一上升邊緣、第三上升邊緣等形成一組非奇數上升邊緣,而第二上升邊緣、第四上升邊緣等形成一組偶數上升邊緣。時脈分頻器110回應於奇數上升邊緣在100%之時脈信號中產生上升邊緣且回應於偶數上升邊緣在100%之時脈信號中產生下降邊緣。應瞭解,時脈分頻器110可改為經組態以回應於在源時脈信號155中之下降邊緣。100%時脈信號之所得占空比(duty cycle)為50-50。應注意,在時脈分頻器110將源時脈信號155分頻成處理器時脈信號145之100%形式時,PLL 105可有利地保持鎖定,此係由於時脈分頻器110係回應於源時脈信號155中之邊緣以在處理器時脈信號145中產生相對應的邊緣。
藉由時脈分頻器110用於形成處理器時脈信號145之降低的頻率之分頻類似於用於形成100%時脈信號之分頻。舉例而言,為將源時脈信號155分頻為80%時脈頻率,時脈分頻器110回應於源時脈信號155之第一上升邊緣,以產生具有80%之時脈頻率之處理器時脈信號145之第一上升邊緣。為獲得100%之頻率之週期的80%之頻率,時脈分頻器110回應於在其起始上升邊緣之後發生2.5個時脈循環的源時脈信號155之下降邊緣。給出此80%之時脈頻率之週期等於源時脈信號155之2.5個時脈循環,80%時脈頻率之占空比不可為50-50。然而,所有其餘降低的(步進)時脈頻率對應於50-50時脈循環。舉例而言,66.7%時脈信號之週期等於源時脈信號155之3個循環,因此66.7%時脈信號之上升及下降邊緣各自藉由源時脈信號155之1.5個週期來分離。類似地,50%時脈信號之週期等於源時脈信號155之四個循環,從而使得50%時脈信號之上升及下降邊緣藉由源時脈信號155之兩個循環來分離。40%時脈信號之週期等於源時脈信號155之五個循環,從而使得40%時脈信號之上升及下降邊緣藉由源時脈信號155之2.5個循環來分離。類似地,33.3%之時脈信號(源時脈信號155之6個循環)之週期、25.0%之時脈信號(源時脈信號155之8個循環)之週期、及16.7%之時脈信號(源時脈信號155之12個循環)之週期全部都等於源時脈信號155之循環之整數,從而使得其占空比為50-50。應瞭解,源時脈信號155不必以F最大 之兩倍的頻率來過度計時,但可改為以F最大 之其他偶數倍(例如,四倍、八倍等)來計時。此外,除了圖2A及圖2B中所顯示之百分比之外,此等替代性過度時脈頻率允許時脈分頻器110獲得替代性時脈分頻。此等各種時脈頻率百分比為處理器時脈信號145之所有執行個體。
又參看圖1,GPU 115包括活動預測器(dI/dt) 120,其警示系統100關於其MAC任何即將增加之負載需求。舉例而言,活動預測器120可藉由檢查將由MAC執行之操作碼(opcode)來預測負載需求之即將增加。如所說明,活動預測器120係經由在GPU 115上運行之軟體來實施,但應瞭解,專用硬體亦可用於形成活動預測。在以下論述中,將假設來自活動預測器120之活動預測為數位活動碼,其映射至將由時脈分頻器110執行之用於N/M分頻的分子N之特定整數值。如先前所指出,若假設除數M等於四十八,則僅來自時脈分頻器110之用來形成處理器時脈信號145的分頻的時脈信號中之某些信號實際上對應於N的整數值。但假設時脈分頻回應於藉由整數N與M形成的比率N/M之分頻為有用模型。對於M之值等於四十八,100%時脈信號對應於等於二十四的N之值。預設操作模式之活動碼由此將映射至等於二十四的N之值。 在此實施方案中,因此可存在二十三個其他活動碼,其將映射至範圍自二十三一直降至一的降低的N之值。
但保持PLL 105鎖定從而使得處理器時脈信號145與源時脈信號155同步僅允許步進時脈頻率之某些值。舉例而言,如上文所論述之圖2A及圖2B之百分比僅提供自80%時脈信號至16.7%時脈信號範圍之七個步進向下的時脈頻率。系統100由此包括控制器160,控制器160經組態以回應於活動碼來命令時脈分頻器110輸出步進時脈信號中之一者,由此量化來自活動預測器120之各種活動碼。此量化實際上將作用中MAC之預設數目之倍數量化成量化值。 為執行藉由活動碼識別之增加的負載與相對應的降低的時脈頻率之間的映射,控制器160包括查找表(LUT) 125。應瞭解,在替代性實施方案中,可執行基於軟體之映射。LUT 125亦包括邏輯電路,該邏輯電路將各種負載水平量化成關於圖2A及圖2B所論述之降低的頻率。舉例而言,與預設操作模式下之MAC使用相比,80%時脈頻率對應於每個時脈循環中使用的MAC單元數目之1.25倍的負載增加。類似地,與預設操作模式下使用相比,66.7%時脈頻率對應於所使用的MAC單元數目的1.5倍的負載增加。LUT 125由此可將負載之較小增加映射至F最大 之預設時脈頻率來量化。舉例而言,LUT 125可將對應於1.0至1.125倍於MAC單元之預設數目的初始較少負載範圍之所有活動碼量化為預設時脈頻率F最大 。 可由LUT 125將諸如1.125至1.375倍於預設MAC使用的第一明顯負載範圍映射至80%時脈頻率。因此,整個期望的MAC使用增加之範圍可以此方式量化及映射至相對應的降低的時脈頻率。LUT 125隨後命令時脈分頻器獲得適當時脈分頻。當GPU 115自預設操作模式轉變為增加的負載操作模式時,來自電力軌150之電流汲取dI/dt之所得變化由此將實質上為零。特定而言,若MAC使用增加精確對應於關於圖2A及圖2B所論述之MAC單元之預設數目之1.25、1.5、2.0、3.0、4.0及6.0倍,則電流汲取dI/dt之變化將等於零。但若MAC使用增加相對於經由LUT 125量化的此等精確的倍數為改為偏斜的,則電流汲取dI/dt之變化仍將實質上為零。
在一個實施方案中,控制器160可被視為包含用於將MAC單元之預設數目的倍數量化為量化值且用於將量化值映射為與量化值成反比的降低的時脈頻率之構件,並且被視為進一步包含用於控制時脈分頻器110從而使得分頻在GPU 115經組態以在預設操作模式下操作時等於f最大 且從而使得分頻在GPU 115經組態以自預設操作模式轉變為增加的負載操作模式時等於降低的時脈頻率之構件。
3 就自預設操作模式轉變至增加的負載操作模式展示系統100之一些實例信號波形。特定而言,若負載增加大於上文所論述之起始較少負載範圍,則活動預測器120 (圖1)可確證明顯負載階信號300。特定而言,起始較小負載範圍為作用中MAC單元之預設數目之1X倍數至某一稍微增加的倍數,諸如1.125。落入此起始較小範圍內之負載增加並不足夠明顯來觸發時脈分頻,此係由於負載之增加相對較少。因此,活動預測器120可經組態以僅當負載增加使得作用中MAC單元之預設數目之倍數高於此起始較小範圍時確證明顯的負載階信號300。活動碼305與明顯負載階信號300之確證一起變化。系統100之LUT 125將活動碼305之變化映射至圖3中表示為F步進 之步進時脈頻率,從而使得GPU 115之時脈頻率或時脈比率自F最大 下降至F步進 頻率。控制器160在時脈頻率下降之後確證階完成信號315,隨後在增加的負載操作模式下啟用一組附加MAC單元320。
但應注意,當GPU 115以最大頻率FMAX計時時,諸如PMIC 135之電源可回應於將由增加之負載引起的增加之電流需求,只要負載之變化為漸進的,而非藉由控制器160及時脈分頻器110尋址之突然之負載轉變。因此,控制器160經組態以在以步進時脈頻率對GPU 115計時的同時在轉變週期之後逐漸增加時脈頻率。舉例而言,活動預測器120 (或一些其他合適的源)可確證階啟用信號310,而時脈分頻器110應在自預設操作模式至增加的負載操作模式之轉變週期期間應用適當的頻率階分頻。當階啟用信號310再次撤銷確證時,控制器160 (諸如經由LUT 125)命令時脈分頻器110開始將時脈頻率斜線返回至最大頻率F最大 。但是如關於圖2A及圖2B所論述,僅有有限之一組降低之時脈頻率可同步地產生自諸如源時脈信號155之超頻源。因此,頻率之斜線上升並非類比,而是涉及自降低之時脈頻率經由有限之一組降低的時脈頻率之任何介入其間之降低的時脈頻率,直到達到最大頻率F最大
舉例而言,假設處理器時脈信號145步進以50%時脈頻率循環。回應於在轉變週期結束時階啟用信號310撤銷確證,控制器160隨後可命令時脈分頻器110在第一數目個循環中將時脈頻率增加至66.7%時脈頻率,且隨後在第二數目個循環中增加至80%時脈頻率。最後,在認為斜線上升之頻率增加將完成之前,控制器160將在第三個數目循環中將時脈頻率增加至F最大
所引起的對處理器時脈信號145之頻率的控制係非常有利,因為時脈頻率在轉變週期期間及在斜線返回週期期間總為確定已知的。 GPU 115中之其他程序因此可得益於時脈頻率之此確定的瞭解。 舉例而言,考察圖4 中所顯示之表,其用於關於圖2A及圖2B所論述之有限的一組步進時脈頻率。每個步降頻率目標對應於時間間隔計數回至100% (F最大 )頻率。時間間隔計數對應於在轉變及斜線返回週期期間使用了多少不同步進頻率(包括F最大 )。舉例而言,80%時脈頻率為F最大 之起始步進下降頻率。因此,時間間隔計數為2,此係因為時脈頻率將首先在轉變週期中步進至80%,且隨後在斜線上升期間再次增加至100%。但是處理器時脈信號145在每個不同的步進頻率(包括在斜線返回期間之100%頻率)之循環的數目為已知的。舉例而言,處理器時脈信號145將在步降至80%時脈頻率時循環等於10個週期之第一預定數目的週期。隨後,其將循環等於100%時脈頻率下之11個週期的第二預定數目之週期,以完成斜線返回週期,從而獲得最大時脈頻率F最大 。 以此方式,時脈頻率在步進下降週期期間以及在斜線返回週期期間總是確定地判定。為在所有各種不同之負載增加的情況下保持轉變週期趨近相同,隨著時脈週期變緩,步進期間之時脈週期的數目降低。舉例而言,16.7%時脈頻率下之步進週期僅為3個循環。應瞭解,圖4中所顯示之循環數目僅為代表性的且在替代性實施方案中可變化。 映射至80%時脈頻率之GPU 115的負載之增加可指定為第一增加的負載操作模式。 類似地,映射至66.7%時脈頻率之GPU 115的負載增加可指定為第二增加的負載操作模式,以此類推。
再次參考圖1,應注意其他程序亦可向時脈分頻器110發指令以改變處理器時脈信號145之頻率。控制器160中之仲裁器130因此經組態以在本文所論述之負載階平衡頻率變化與調整時脈頻率之替代性技術之間仲裁。舉例而言,現有時脈管理技術可表示為經由GPU 115上之軟體實施的LMH請求器165發出的限制管理硬體(LMH)。仲裁器130可經組態以將優先權給予來自活動預測器120之負載階平衡請求,而非來自LMH請求器165之LMH請求。若僅LMH請求為作用中,則LUT 125可將LMH命令映射至時脈分頻器110對N/M分頻之某一值N。如上文所論述,時脈分頻器110不能實現比率N/M之任意值,而是僅產生本文所論述之有限的一組降低之時脈頻率。但是時脈分頻器110可通過在有限的一組降低之時脈頻率中的適當頻率之間抖動來模擬由特定LMH設置所命令之N及M的期望值。舉例而言,假設M為48且N為18。所得比率(18/48)不能藉由時脈分頻器110來達成,此係由於其僅可回應於源時脈信號155之邊緣。但是時脈分頻器110可同步地將頻率步降至80%時脈頻率且亦至66.7%時脈頻率。因此,時脈分頻器110可藉由80%時脈頻率與66.7%時脈頻率之間之適當抖動來趨近18/48之N/M比率。以此方式,時脈分頻器110可趨近N/M之任何期望值,此係因為N自其在F最大 處之值(若M為48,則F最大 為24)一直降低至1。
現將關於 5 論述負載階平衡之實例方法。該方法包括動作500:當處理器在使用預設數目之執行單元在預設操作模式下操作時,以及當處理器自電力軌汲取預設電流時,以預設時脈頻率對處理器進行計時。在動作500之實例中,GPU 115在預設操作模式下之操作先於明顯的負載增加。該方法亦包括動作505:回應於處理器負載之預計增加,判定與執行單元之預設數目之第一倍數成反比的第一降低的時脈頻率,其中處理器使用執行單元之預設數目之第一倍數在增加的負載操作模式下操作,其中第一倍數為大於一的數目且第一降低的時脈頻率小於預設時脈頻率。LUT 125內負載增加至降低的時脈頻率之映射為動作505之實例。最後,該方法包括動作515:當處理器執行自預設操作模式至第一增加的負載操作模式的轉變時,以第一降低的時脈頻率對處理器進行計時,從而使得處理器在自預設操作模式至第一增加的負載操作模式的轉變期間實質上自電力軌汲取預設電流。動作515之一實例為,GPU 115轉變至增加之負載操作模式,同時以降低之時脈頻率(諸如根據關於圖2A及圖2B論述之有限之一組降低之時脈頻率)進行計時。
應理解,在不脫離本發明之範疇之情況下,可對本發明之裝置的材料、設備、組態及使用方法進行許多修改、替代及變化。鑒於此,本發明之範疇不應限於本文中所說明且描述之具體實施方案的範疇,此係因為該等實施方案僅借助於其一些實例,而實際上其應與下文隨附申請專利範圍及其功能等效物之範疇完全相稱。
100‧‧‧系統 105‧‧‧鎖相迴路 110‧‧‧時脈分頻器 115‧‧‧圖形處理單元 120‧‧‧活動預測器 125‧‧‧查找表 130‧‧‧仲裁器 135‧‧‧電源管理積體電路 140‧‧‧執行單元 145‧‧‧處理器時脈信號 150‧‧‧電力軌 155‧‧‧源時脈信號 160‧‧‧控制器 165‧‧‧請求器 300‧‧‧負載階信號 305‧‧‧活動碼 310‧‧‧階啟用信號 315‧‧‧階完成信號 320‧‧‧一組附加乘法及累加單元 500‧‧‧動作 505‧‧‧動作 515‧‧‧動作
圖1為根據本發明之一態樣的經組態用於負載階平衡的處理器系統之圖式。
圖2A為根據本發明之一態樣的作為負載需求增加之函數以提供負載階平衡的處理器時脈頻率降低之曲線圖。
圖2B說明圖2A之降低的時脈頻率之波形且亦說明源時脈信號波形。
圖3說明根據本發明之一態樣的圖1之處理器系統之一些信號波形。
圖4為根據本發明之一態樣的圖1之處理器系統自步進頻率轉變回至最大時脈頻率之時脈參數表。
圖5為根據本發明之一態樣的儘管負載突然且明顯增加仍保持處理器之電源電壓的實例負載階平衡方法之流程圖。
藉由參考以下詳細描述最佳地理解本發明之實施方案及其優勢。應瞭解,類似參考編號用於識別圖式中之一或多者中所說明的類似元件。
100‧‧‧系統
105‧‧‧鎖相迴路
110‧‧‧時脈分頻器
115‧‧‧圖形處理單元
120‧‧‧活動預測器
125‧‧‧查找表
130‧‧‧仲裁器
135‧‧‧電源管理積體電路
140‧‧‧執行單元
145‧‧‧處理器時脈信號
150‧‧‧電力軌
155‧‧‧源時脈信號
160‧‧‧控制器
165‧‧‧請求器

Claims (14)

  1. 一種負載階平衡的方法,其包含:當一處理器使用一預設數目之執行單元在一預設操作模式下操作時以及當該處理器自一電力軌汲取一預設電流時,以一預設時脈頻率對該處理器進行計時;回應於該處理器之一負載之一第一預計增加,判定與該等執行單元之該預設數目之該第一倍數成反比的一第一降低的時脈頻率,其中該處理器使用該預設數目之一第一倍數之執行單元在一第一增加的負載操作模式下操作,其中該第一倍數為大於一的一數目且該第一降低的時脈頻率小於該預設時脈頻率;以及當該處理器執行自該預設操作模式至該第一增加的負載操作模式之一轉變時,以該第一降低的時脈頻率對該處理器進行計時,從而使得該處理器在自該預設操作模式至該第一增加的負載操作模式之該轉變期間實質上自該電力軌汲取該預設電流。
  2. 如請求項1之方法,其進一步包含:產生一第一處理器時脈信號以在該預設時脈頻率下循環,從而使得該第一處理器時脈信號之邊緣與一源時脈信號之邊緣同步,其中以該預設時脈頻率對該處理器進行計時包含用該第一處理器時脈信號對該處理器進行計時,且其中該源時脈信號之一頻率為該預設時脈頻率之一整數倍數;以及產生一第二處理器時脈信號以在該第一降低的時脈頻率下循環,從 而使得該第二處理器時脈信號之邊緣與該源時脈信號之邊緣同步,其中以該第一降低的時脈頻率對該處理器進行計時包含用該第二處理器時脈信號對該處理器進行計時。
  3. 如請求項2之方法,其進一步包含:在一鎖相迴路中產生該源時脈信號,其中當該處理器自該預設操作模式轉變為該第一增加的負載操作模式時,該鎖相迴路保持鎖定。
  4. 如請求項2之方法,其中在該處理器自該預設操作模式轉變為該第一增加的操作負載時用該第二處理器時脈信號對該處理器進行計時包含:在該第二處理器時脈信號之一第一預定數目的週期中以該第一降低的時脈頻率對該處理器進行計時。
  5. 如請求項4之方法,其進一步包含:在該第二處理器時脈信號之該第一預定數目的週期之後,在該第一處理器時脈信號之一第二預定數目的週期中用該第一處理器時脈信號對該處理器進行計時。
  6. 如請求項1之方法,其進一步包含:判定執行單元之該預設數目之一倍數集,其中該倍數集涵蓋該處理器之該等執行單元的一預期使用範圍;回應於處理器負載之一第二預計增加,將該第二倍數量化為執行單元之該預設數目的該倍數集中之一對應倍數,其中該處理器使用該預設數目之一第二倍數之執行單元在一第二增加的負載操作模式下操作; 將該對應倍數映射至與該對應倍數成反比的一第二降低的時脈頻率;以及當該處理器自該預設操作模式轉變為該第二增加的操作模式時,以該第二降低的時脈頻率對該處理器進行計時。
  7. 如請求項6之方法,其中該映射該對應倍數包含經由一查找表映射該對應倍數。
  8. 一種負載階平衡的系統,其包含:一時脈源,其用於提供具有一源時脈頻率之一源時脈信號;一時脈分頻器,其經組態以將該源時脈信號分頻成具有一分頻之一處理器時脈信號;一處理器,其包括複數個執行單元,其中該處理器經組態以在一預設操作模式下操作,在該預設操作模式下,該處理器使用待在該處理器時脈信號之每個循環中計時的該複數個執行單元中之一預設數目的該等執行單元,且該處理器在一負載操作模式下操作,在該增加的負載操作模式下,該處理器使用待在該處理器時脈信號之每個循環中計時的該預設數目之一倍數的該等執行單元,其中該處理器進一步經組態以確證一活動碼以預測自該預設操作模式至該增加的負載操作模式之一轉變;以及一查找表,該查找表經組態以將該活動碼映射至該降低的頻率之一第一命令,且其中該時脈分頻器經組態以回應於該降低的頻率之該第一命令,從而使得該處理器時脈信號之該分頻在該處理器經組態以執行自該預設操作模式至該增加的負載操作模式之該轉變時,等於與執行單元之該預 設數目之該倍數成反比的一降低的頻率。
  9. 如請求項8之系統,其中該時脈源包含一鎖相迴路,該鎖相迴路經組態以在該處理器經組態以執行自該預設操作模式至該增加的負載操作模式之該轉變時保持鎖定。
  10. 如請求項8之系統,其中該系統包含一晶片上系統(SoC)。
  11. 如請求項8之系統,其中該處理器包含一圖形處理單元(GPU),且其中該複數個執行單元包含複數個乘法及累加(MAC)單元。
  12. 如請求項8之系統,其進一步包含:一電源,其經組態以調節一電力軌上之一電源電壓,其中該處理器進一步經組態以在該處理器在該預設操作模式下操作時自該電力軌汲取一預設電流,且其中該處理器進一步經組態以在該處理器經組態以執行自該預設操作模式至該增加的負載操作模式之轉變時實質上自該電力軌汲取該預設電流。
  13. 一種負載階平衡的系統,其包含:一時脈源,其用以提供具有一源時脈頻率之一源時脈信號;一時脈分頻器,其經組態以將該源時脈信號分頻成具有一分頻之一處理器時脈信號;及一處理器,其包括複數個執行單元,其中該處理器經組態以在一預 設操作模式下操作,在該預設操作模式下,該處理器使用自該複數個執行單元中之一預設數目的該等執行單元以在該處理器時脈信號之每個循環中計時,且該處理器在一負載操作模式下操作,在該增加的負載操作模式下,該處理器使用自該複數個執行單元中之該預設數目之一倍數的該等執行單元以在該處理器時脈信號之每個循環中計時,其中該處理器進一步經組態以確證一活動碼以預測自該預設操作模式至該增加的負載操作模式之一轉變,及映射該活動碼至該降低的頻率之一第一命令,且其中該時脈分頻器經組態以回應於該降低的頻率之該第一命令,從而使得該處理器時脈信號之該分頻在該處理器經組態以執行自該預設操作模式至該增加的負載操作模式之該轉變時,等於與執行單元之該預設數目之該倍數成反比的一降低的頻率。
  14. 如請求項13之系統,其中該時脈源包含一鎖相迴路,其經組態以在該處理器經組態以執行自該預設操作模式至該增加的負載操作模式之該轉變時保持鎖定。
TW108110221A 2018-04-30 2019-03-25 處理器負載階平衡 TWI710877B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/967,456 US10606305B2 (en) 2018-04-30 2018-04-30 Processor load step balancing
US15/967,456 2018-04-30

Publications (2)

Publication Number Publication Date
TW201945883A TW201945883A (zh) 2019-12-01
TWI710877B true TWI710877B (zh) 2020-11-21

Family

ID=65952177

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108110221A TWI710877B (zh) 2018-04-30 2019-03-25 處理器負載階平衡

Country Status (7)

Country Link
US (1) US10606305B2 (zh)
EP (1) EP3788453A1 (zh)
CN (1) CN112041778A (zh)
BR (1) BR112020021874A2 (zh)
SG (1) SG11202010038SA (zh)
TW (1) TWI710877B (zh)
WO (1) WO2019212645A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11442495B2 (en) 2020-03-06 2022-09-13 Advanced Micro Devices, Inc. Separate clocking for components of a graphics processing unit
US20240077928A1 (en) * 2022-09-01 2024-03-07 Qualcomm Incorporated Stepped clocking frequency mode for integrated circuit components

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100058086A1 (en) * 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor
TWI337442B (en) * 2006-03-31 2011-02-11 Intel Corp Apparatus, system and method for power management and machine-readable storage medium containing instructions
US8037340B2 (en) * 2007-11-28 2011-10-11 International Business Machines Corporation Apparatus and method for micro performance tuning of a clocked digital system
US9098260B2 (en) * 2012-10-19 2015-08-04 Broadcom Corporation System and method for omitting a clock pulse from a clock signal in response to a change in current consumption
US9182803B2 (en) * 2010-12-02 2015-11-10 Advanced Micro Devices, Inc. Load step mitigation method and apparatus

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009053910A2 (en) 2007-10-22 2009-04-30 Mobileaccess Networks Ltd. Communication system using low bandwidth wires
US8228102B1 (en) 2010-03-03 2012-07-24 Altera Corporation Phase-locked loop architecture and clock distribution system
WO2012168533A1 (en) 2011-06-09 2012-12-13 Nokia Corporation Apparatus for glitchless clock divider with fast clock change and method thereof
EP2932600B1 (en) 2012-12-13 2017-08-02 Coherent Logix Incorporated Multi-frequency clock skew control for inter-chip communication in synchronous digital systems
US9223383B2 (en) 2012-12-21 2015-12-29 Advanced Micro Devices, Inc. Guardband reduction for multi-core data processor
US9798376B2 (en) * 2015-08-03 2017-10-24 Qualcomm Incorporated Power distribution network (PDN) droop/overshoot mitigation
US9778676B2 (en) 2015-08-03 2017-10-03 Qualcomm Incorporated Power distribution network (PDN) droop/overshoot mitigation in dynamic frequency scaling
US10296076B2 (en) 2016-05-16 2019-05-21 Qualcomm Incorporated Supply voltage droop management circuits for reducing or avoiding supply voltage droops

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI337442B (en) * 2006-03-31 2011-02-11 Intel Corp Apparatus, system and method for power management and machine-readable storage medium containing instructions
US8037340B2 (en) * 2007-11-28 2011-10-11 International Business Machines Corporation Apparatus and method for micro performance tuning of a clocked digital system
US20100058086A1 (en) * 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor
US9182803B2 (en) * 2010-12-02 2015-11-10 Advanced Micro Devices, Inc. Load step mitigation method and apparatus
US9098260B2 (en) * 2012-10-19 2015-08-04 Broadcom Corporation System and method for omitting a clock pulse from a clock signal in response to a change in current consumption

Also Published As

Publication number Publication date
US10606305B2 (en) 2020-03-31
WO2019212645A1 (en) 2019-11-07
BR112020021874A2 (pt) 2021-01-26
CN112041778A (zh) 2020-12-04
TW201945883A (zh) 2019-12-01
EP3788453A1 (en) 2021-03-10
SG11202010038SA (en) 2020-11-27
US20190332138A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
TWI528168B (zh) 微處理器、操作微處理器的方法以及電腦程式產品
US9778676B2 (en) Power distribution network (PDN) droop/overshoot mitigation in dynamic frequency scaling
TWI710877B (zh) 處理器負載階平衡
US11119559B2 (en) Controlling a processor clock
US9436263B2 (en) Systems and methods for power optimization using throughput feedback
US9678529B2 (en) Efficiency-based clock frequency adjustment
TW201337527A (zh) 用於效能改善之可重組配圖形處理器
WO2019091246A1 (zh) 一种pll的分频调节方法
US6639428B2 (en) Method and system for dynamically clocking digital systems based on power usage
US9360915B1 (en) Dynamically controlling clocking rate of a processor based on user defined rule
CN115777090B (zh) 用于数据处理器的可编程电压调节
JP7304972B2 (ja) ピーク消費電力を制御する方法及びシステム
JP2021525936A (ja) プロセッサに適応可能な電圧マージン
KR20090022662A (ko) 컴퓨팅 디바이스의 전력 감소 장치 및 그 방법
US11442495B2 (en) Separate clocking for components of a graphics processing unit
US20220187866A1 (en) Electronic device controlling frequency of clock signal and method of operating the electronic device
KR20230104886A (ko) 전력 추정 메커니즘의 애플리케이션 오버라이드
CN116997878A (zh) 一种功率预算的分配方法及相关设备