TW202324034A - 用於基於SoC的電子設備的分層級電源管理架構 - Google Patents
用於基於SoC的電子設備的分層級電源管理架構 Download PDFInfo
- Publication number
- TW202324034A TW202324034A TW111121428A TW111121428A TW202324034A TW 202324034 A TW202324034 A TW 202324034A TW 111121428 A TW111121428 A TW 111121428A TW 111121428 A TW111121428 A TW 111121428A TW 202324034 A TW202324034 A TW 202324034A
- Authority
- TW
- Taiwan
- Prior art keywords
- power
- domains
- domain
- memory
- local
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 143
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims description 77
- 238000009826 distribution Methods 0.000 claims description 76
- 230000009471 action Effects 0.000 claims description 49
- 239000004065 semiconductor Substances 0.000 claims description 33
- 238000003860 storage Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 146
- 239000000758 substrate Substances 0.000 description 51
- 238000004806 packaging method and process Methods 0.000 description 19
- 230000004044 response Effects 0.000 description 13
- 238000012544 monitoring process Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 239000010410 layer Substances 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000002459 sustained effect Effects 0.000 description 3
- 239000012790 adhesive layer Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003071 parasitic effect Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000012620 biological material Substances 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 239000002041 carbon nanotube Substances 0.000 description 1
- 229910021393 carbon nanotube Inorganic materials 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/34—Arrangements for cooling, heating, ventilating or temperature compensation ; Temperature sensing arrangements
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L25/00—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof
- H01L25/16—Assemblies consisting of a plurality of individual semiconductor or other solid state devices ; Multistep manufacturing processes thereof the devices being of types provided for in two or more different main groups of groups H01L27/00 - H01L33/00, or in a single subclass of H10K, H10N, e.g. forming hybrid circuits
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Power Engineering (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
一種電子系統具有複數個電力域,並且每個域包括一或多個處理器集群、第一記憶體、PMIC和第二記憶體的子集。複數個電力感測器分佈在電子系統上,並且被配置為從電力域收集複數個電力取樣。電源管理引擎被配置為基於對應的電力感測器的位置來處理電力取樣,以產生一或多個電力分佈和複數個電力節流閥值。電源管理引擎被配置為經由在韌體級別上決定電力域的電力預算並且相應地啟用電力域的操作來實現全域電力控制操作。電源管理引擎亦被配置為使得複數個局部電力控制操作能夠基於電力節流閥值在電力域上直接地實現。
Description
本專利申請案主張享受以下申請案的優先權:於2021年6月25日提出申請的、名稱為「Dynamic Power Management for SoC-based Electronic Devices」的美國臨時專利申請案第63/215,355號;及於2021年6月25日提出申請的、名稱為「Hierarchical Power Management Architecture for SoC-based Electronic Devices」的美國臨時專利申請案第63/215,351號,據此將上述申請案之每一者申請案經由引用的方式整體地併入。
概括而言,本案係關於對(例如,具有片上系統(SoC)的)電子設備的電源管理,具體地係關於用於監測和控制基於SoC的電子設備的功耗和設備效能的方法、系統和非暫時性電腦可讀取媒體。
電子設備通常將片上系統(SoC)與電源管理積體電路(PMIC)、通訊連接埠、外部記憶體或儲存裝置以及其他周邊功能模組整合在主邏輯板上。SoC在單個封裝中包括一或多個微處理器或中央處理器(CPU)核、記憶體、輸入/輸出埠和輔助儲存裝置。PMIC通常在主邏輯板上被設置為與SoC相鄰,並且經由在主邏輯板上形成的導線向SoC提供多個直流(DC)電力軌。PMIC提供被配置為驅動SoC的操作的複數個電力軌。針對每個電力軌和SOC的相應部分來監測和控制電力特性(例如,功耗、電流和電壓)。與當前實踐相比,具有更高效且更靈活的電源管理機制將是有益的。
為了解決基於SoC的電子設備的電源管理問題,將非常期望的是,除了複數個處理器集群、集群記憶體或快取記憶體、PMIC和系統記憶體之外,向半導體裝置或系統提供複數個分散式電力感測器和電源管理引擎。在所附的請求項的範圍內的系統、方法和設備的各種實現各自具有若干態樣,其中沒有單一態樣獨自地負責本文描述的屬性。在不限制所附的請求項的範疇的情況下,在考慮本案內容之後,並且尤其是在考慮了標題為「實施方式」的部分之後,將理解如何使用各種實現的態樣來提供具有動態電源管理層次結構的半導體裝置,該動態電源管理層次結構被配置為從韌體級別及/或硬體級別以期望的控制速率來控制半導體裝置的電源管理。具體而言,電源管理引擎被配置為進行以下操作:從分散式電力感測器收集電力取樣;根據電力取樣來產生電力分佈和電力節流閥值;經由決定不同的電力域之間的電力預算,並且在不同的電力域上啟用全域和局部硬體級別電力控制操作(例如,局部節流動作),來實現全域韌體級別電力控制操作。
在本案中,「電力」可以廣義地代表任何與電力相關的特性。例如,電力取樣包括溫度、功耗、電流值或其組合,並且電力感測器包括溫度、功耗和電流感測器中的任何一者。電力分佈可以是溫度、功耗和電流分佈中的任何一項。電力控制操作被應用以控制溫度、功耗或電流分佈。
在一個態樣中,一種電源管理方法是在具有多個域的處理器系統處實現的。該方法包括:在一持續時間內從該複數個域收集複數個電力取樣,其中每個電力取樣包括與相應域相關聯的溫度、功耗和電流值中的至少一項。該方法亦包括:對該複數個域的該複數個電力取樣的子集進行組合,以產生包括複數個系統溫度值的系統溫度分佈;及決定該系統溫度分佈是否滿足第一準則。該方法亦包括:根據關於在第一時間
t
1 處該系統溫度分佈滿足該第一準則的決定,以預定義的控制頻率進行以下操作:即時地決定該系統溫度分佈的相應的系統溫度值是否滿足第二準則或第三準則。該方法亦包括:根據關於該相應的系統溫度值滿足該第二準則的決定,在韌體級別上決定該複數個域的電力預算,並且根據該等電力預算來啟用該複數個域的操作。該方法亦包括:根據關於該相應的系統溫度值滿足第三準則的決定,選擇域子集,並且直接在硬體級別上將相應的電力節流動作應用於該域子集之每一者域。
在另一態樣中,一種電源管理方法是在具有複數個域的處理器系統處實現的。該方法包括:在一持續時間內從該複數個域收集複數個電力取樣,並且每個電力取樣包括與相應域相關聯的溫度、功耗和電流值中的至少一項。該方法亦包括:對該複數個域的該複數個電力取樣的子集進行組合,以產生包括複數個系統電力值的系統電力分佈;及決定該系統電力分佈是否滿足第一準則。該方法亦包括:根據關於在第一時間處該系統電力分佈滿足該第一準則的決定,以預定義的控制頻率進行以下操作:即時地決定該系統電力分佈的相應的系統電力值是否滿足第二準則或第三準則。該方法亦包括:根據關於該相應的系統電力值滿足該第二準則的決定,在韌體級別上決定該複數個域的電力預算,並且根據該等電力預算來啟用該複數個域的操作。該方法亦包括:根據關於該相應的系統電力值滿足該第三準則的決定,選擇域子集,並且在硬體級別上將相應的電力節流動作應用於該域子集之每一者域。
在又一態樣中,一種電子系統包括:一或多個處理器集群;第一記憶體(例如,圖2中的快取記憶體208)、電源管理積體電路(PMIC)和第二記憶體(例如,圖2中的記憶體104)。複數個電力感測器分佈在該電子系統上,並且被配置為收集或預處理來自複數個電力域的複數個電力取樣。每個電力取樣包括與相應的電力域相關聯的溫度、功耗和電流值中的至少一項。電源管理引擎耦合到該複數個電力感測器,並且被配置為從該複數個電力域接收該複數個電力取樣,並且基於對應的電力感測器的位置來處理該等電力取樣,以產生一或多個電力分佈和複數個電力節流閥值。該電源管理引擎被配置為經由在韌體級別上決定複數個電力域的電力預算並且根據該等電力預算來啟用該複數個電力域的操作,從而基於該一或多個電力分佈來實現具有第一速率的全域電力控制操作。該電源管理引擎亦被配置為基於該一或多個電力分佈,使得該複數個電力域能夠在硬體級別上基於該複數個電力節流閥值來實現複數個局部電力控制操作。該等局部電力控制操作具有大於該第一速率的第二速率。
提及這些說明性實施例和實現並不是為了限制或定義本案內容,而是為了提供實例以説明理解本案內容。在實施方式中論述了額外實施例,並且在其中提供了進一步的描述。根據本說明書中的描述和附圖,其他實現和優點對於本發明所屬領域中具有通常知識者來說可以是顯而易見的。
現在將詳細參考具體實施例,其實例在附圖中示出。在以下詳細描述中,闡述了許多非限制性的具體細節,以幫助理解本文所呈現的主題。但是對於本發明所屬領域中具有通常知識者來說將顯而易見的是,可以在不脫離請求項的範疇的情況下使用各種替代方式,並且可以在沒有這些具體細節的情況下實施體題。
本案的各個實施例針對動態電源管理層次結構,該動態電源管理層次結構被配置為從韌體級別及/或硬體級別以期望的控制速率來控制半導體裝置(例如,SoC)的電源管理。具體而言,電源管理引擎被配置為進行以下操作:從分散式電力感測器收集電力取樣;根據電力取樣來產生電力分佈和電力節流閥值;經由決定不同的電力域之間的電力預算並且在不同的電力域上啟用全域和局部硬體級別電力控制操作(例如,局部節流動作),來實現全域韌體級別電力控制操作。與這種動態電源管理層次結構相比,現有解決方案針對每個電力軌和SOC的對應部分監測和控制電力特性(例如,功耗、電流和電壓)。動態電源管理層次結構提供了更高效且更靈活的電源管理機制。
圖1是根據一些實現的在典型電子設備中的實例系統模組100的方塊圖。該電子設備中的系統模組100至少包括具有一或多個處理器的片上系統(SoC)102,用於儲存程式、指令和資料的記憶體模組104,輸入/輸出(I/O)控制器106,一或多個通訊介面(諸如網路介面108)以及用於將這些部件進行互連的一或多個通訊匯流排150。在一些實現中,I/O控制器106允許SoC 102經由通用序列匯流排介面與I/O設備(例如,鍵盤、滑鼠或觸控式螢幕)進行通訊。在一些實現中,網路介面108包括用於Wi-Fi、乙太網路和藍芽網路的一或多個介面,每個介面允許電子設備與外部源(例如,伺服器或另一電子設備)交換資料。在一些實現中,通訊匯流排150包括將被包括在系統模組100中的各種系統部件進行互連並且控制各種系統部件之間的通訊的電路(有時被稱為晶片組)。
在一些實現中,記憶體模組104包括高速隨機存取記憶體,諸如DRAM、SRAM、DDR-RAM或其他隨機存取固態記憶體設備。在一些實現中,記憶體模組104包括非揮發性記憶體,諸如一或多個磁碟存放裝置、光碟存放裝置、快閃記憶體設備或其他非揮發性固態存放裝置。在一些實現中,記憶體模組104或替代地在記憶體模組104內的非揮發性記憶體設備包括非暫時性電腦可讀取儲存媒體。在一些實現中,在系統模組100上保留記憶體插槽以用於接收記憶體模組104。一旦被插入到記憶體插槽中,記憶體模組104就被整合到系統模組100中。
在一些實現中,系統模組100亦包括從以下各項中選擇的一或多個部件:
記憶體控制器110,其控制在SoC 102與電子設備中的記憶體部件(包括記憶體模組104)之間的通訊;
固態驅動器(SSD)112,其應用積體電路部件以在電子設備中儲存資料,並且在許多實現中,其是基於NAND或NOR記憶體配置的;
硬碟114,其是用於基於機電磁碟來儲存和取回數位資訊的習知資料存放裝置;
電源連接器116,其包括一或多個直流(DC)電源介面,每個DC電源介面被配置為接收不同的DC供電電壓;
電源管理積體電路(PMIC)118,其將經由DC電源介面接收的不同DC供電電壓調制為在電子設備內的各種部件或電路(例如,SoC 102中的處理器核)所要求的其他期望內部供電電壓,例如,5V、3.3V或1.8V;
圖形模組120,其根據一或多個顯示裝置的期望圖像/視訊格式來產生用於其的輸出圖像的饋送;及
聲音模組122,其在電腦程式的控制下促進向電子設備輸入音訊訊號以及從電子設備輸出音訊訊號。
要注意的是,通訊匯流排150亦將包括部件110-122的各種系統部件進行互連以及控制它們之間的通訊。
本發明所屬領域中具有通常知識者知道,可以使用其他非暫時性電腦可讀取儲存媒體,因為開發了新的資料儲存技術來將資訊儲存在記憶體模組104和SSD 112中的非暫時性電腦可讀取儲存媒體中。這些新的非暫時性電腦可讀取儲存媒體包括但不限於由生物材料、奈米線、碳奈米管和單個分子製造的儲存媒體,儘管相應的資料儲存技術目前正在開發中並且尚未商業化。
在一些實現中,在包括一或多個積體電路的半導體封裝中實現SoC 102,並且每個積體電路將以下各項的子集整合在單個基板上:一或多個微處理器或CPU核、記憶體、輸入/輸出埠、以及輔助儲存裝置。亦在包括一或多個積體電路的半導體封裝中實現PMIC 118,每個積體電路形成在單個基板上。SoC 102被配置為接收由PMIC 118經由一或多個電力軌提供的一或多個內部供電電壓(亦稱為軌電壓)。在一些實現中,SoC 102和PMIC 118兩者皆安裝在主邏輯板上,例如,安裝在主邏輯板的兩個不同區域上,並且經由在主邏輯板中形成的導線彼此電耦合。這種佈置引入了可能損害影響SoC的效能的寄生效應和電雜訊,例如,引起內部供電電壓的電壓降。替代地,根據下文描述的各種實現,SoC 102和PMIC 118的半導體晶粒被垂直地封裝在整合半導體裝置140(例如,在圖3中)中,使得它們經由不是在主邏輯板中形成的電連接彼此電耦合。SoC 102和PMIC 118的半導體晶粒的這種垂直佈置減少了在SoC 102和PMIC 118之間的電連接的長度,並且避免由於在主邏輯板上對導線進行佈線而引起的效能降級。
在一些實現中,通用PMIC 118被配置為驅動在不同類型的電子設備中的不同類型的SoC 102。無論PMIC 118和SoC 102是並排佈置的還是垂直佈置的,PMIC 118皆相對於主電路板佔用相同的覆蓋區(footprint),而SoC 102可以基於整合在其中的電子模組而具有不同的覆蓋區。PMIC 118包括被佈置在現場可程式設計陣列中的複數個電壓調節器單元。複數個電壓調節器單元彼此相同,或者包括一種以上的類型的電壓調節器單元。在特定的電子設備中,控制訊號是基於電力軌的向SOC 102和其他電子模組(若有的話)供電所需要的軌電壓和軌電流來決定的。對於這些電力軌中的每一者,使用相應的控制訊號來選擇在PMIC 118的現場可程式設計陣列中的電壓調節器單元的子集,並且所選擇的電壓調節器單元以軌電壓向相應的電力軌共同提供軌電流。因此,PMIC 118被這些控制訊號重新配置為向SoC 102的電力軌提供軌電壓和電流,並且在PMIC 118中的複數個可配置電壓調節器之每一者電壓調節器單元是冗餘的,或者被選擇為經由控制訊號中的一個控制訊號來驅動電力軌中的一個電力軌。
圖2是根據一些實現的具有一或多個處理集群202(例如,第一處理集群202-1、第M處理集群202-M)的實例電子設備200的方塊圖。除了處理集群202之外,電子設備200亦包括快取記憶體208和記憶體104。快取記憶體208耦合到在SOC 102上的處理集群202,SoC 102進一步耦合到在SOC 102外部的記憶體104。每個處理集群202包括一或多個處理器(亦被稱為處理核)204和集群快取記憶體206。集群快取記憶體206耦合到一或多個處理器204,並且維護針對一或多個處理器204的一或多個請求佇列。在一些實現中,每個處理器204亦包括可選地拆分為指令快取記憶體和資料快取記憶體的核快取記憶體(在圖2中未圖示),並且核快取記憶體儲存可由相應的處理器204立即執行的指令和資料。在一實例中,第一處理集群202-1包括第一處理器204-1、……、第N處理器204-N以及第一集群快取記憶體206-1,其中N是大於1的整數。在一些實現中,SOC 102僅包括單個處理集群202-1。替代地,在一些實現中,SOC 102至少包括額外處理集群202,例如,第M處理集群202-M。第M處理集群202-M包括第一處理器、……第N’處理器以及第M集群快取記憶體,其中N’是大於1的整數。
在一些實現中,一或多個處理集群202被配置為向電子設備提供中央處理單元,並且與快取記憶體的層次結構相關聯。例如,快取記憶體的層次結構包括三個級別,該級別基於它們的不同的操作速度和大小進行區分。為了本案的目的,對記憶體(包括快取記憶體)的「速度」的提及涉及向記憶體寫入資料或從記憶體讀取資料所需要的時間(例如,與較慢的記憶體相比,較快的儲存器具有較短的寫及/或讀時間),並且對記憶體的「大小」的提及涉及記憶體的儲存容量(例如,與較大的記憶體相比,較小的記憶體提供較少的儲存空間)。核快取記憶體、集群快取記憶體206和快取記憶體208分別對應於第一級別(L1)快取記憶體、第二級別(L2)快取記憶體和第三級別(L3)快取記憶體。每個核快取記憶體保存要由相應處理器204直接執行的指令和資料,並且在三個級別的記憶體之間具有最快的操作速度和最小的大小。對於每個處理集群202,集群快取記憶體206在操作上比核快取記憶體慢且在大小上較大,並且保存更加可能由相應處理集群202的處理器204存取的資料。快取記憶體208由複數個處理集群202共享,並且與每個核快取記憶體和集群快取記憶體206相比,在大小上較大並且在速度上較慢。
處理集群202發出預取請求以從集群快取記憶體206、快取記憶體208或記憶體104提取要由每個核快取記憶體保存的指令和資料。若集群快取記憶體206滿足預取請求,則集群快取記憶體206將指令和資料提供給相應的核快取記憶體,以供處理器204執行。相反,若集群快取記憶體206不滿足預取請求,則將預取請求發送給快取記憶體208以提取指令和資料。若快取記憶體208滿足預取請求,則快取記憶體208將指令和資料提供給集群快取記憶體206,集群快取記憶體206進一步將指令和資料傳遞給相應的核快取記憶體,以供處理器204執行。相反,若快取記憶體208不滿足預取請求,則將預取請求發送給在SoC 102外部的記憶體104以提取指令和資料。記憶體104將指令和資料提供給快取記憶體208,快取記憶體208將指令和資料傳遞給集群快取記憶體206,並且隨後傳遞給相應的核快取記憶體。
此外,處理集群202在每個處理集群的正常操作期間發出記憶體存取請求,以將資料寫入集群快取記憶體206、快取記憶體208或記憶體104以及從它們讀取資料。每個記憶體存取請求從集群快取記憶體206、快取記憶體208和記憶體104順序地傳遞,直到相應的記憶體存取請求到達目標快取記憶體或記憶體。要寫入目標快取記憶體或記憶體的資料亦從集群快取記憶體206、快取記憶體208和記憶體104順序地傳遞,直到相應的資料到達目標快取記憶體或記憶體。相反,從目標快取記憶體或記憶體讀取的資料被直接提供給要由處理器204使用的相應核快取記憶體。
在本案的各種實現中,處理集群202、PMIC 118、快取記憶體208和記憶體104的操作在電子設備200上消耗功率並且產生熱量,並且電源管理引擎210被應用以從韌體級別和硬體級別兩者管理電子設備200的功耗。具體地,電源管理引擎210被配置為從分佈在電子設備200上的複數個電力感測器接收複數個電力取樣。SOC 102、PMIC 118和記憶體104被劃分為複數個電力域。基於對應電力感測器的位置來處理電力取樣,以產生針對各個電力域的一或多個電力分佈和複數個電力節流閥值。每個電力分佈可選地是整個電子設備200或多個域(例如,處理器集群202、SoC 102)的組合的系統電力分佈或者是單獨電力域(例如,處理器204)的局部電力分佈。基於一或多個電力分佈,電源管理引擎210經由決定複數個電力域之間的電力預算並且根據電力預算啟用複數個電力域的操作來實現具有第一速率的全域電力控制操作。此外,基於局部電力分佈,電源管理引擎210基於複數個電力節流閥值來在複數個電力域(例如,記憶體104、PMIC 118、處理集群202-M)上啟用具有第二速率的複數個局部電力控制操作。局部電力控制操作比全域電力控制更加直接,並且每個第二速率大於第一速率。例如,全域電力控制操作的第一速率為50 µs,並且對應的熱回應持續500 µs,而局部電力控制操作的第二速率為20 µs,並且對應的熱回應持續100 µs。經由這些手段,電子設備200支援分層級方案來從韌體級別和硬體級別兩者管理功耗。
在一些實現中,一或多個電力分佈包括追蹤電子系統的複數個電力域中的子集或所有電力域的平均功耗或平均總電流的系統電力分佈。電源管理引擎210被配置為根據系統電力分佈,基於針對電力控制速率的要求、全域電力控制操作的第一速率和局部電力控制操作的第二速率,來啟用全域電力控制操作和複數個局部電力控制操作。若針對電力控制速率的要求比第一速率快,則需要直接地執行局部電力控制操作以降低功耗或總電流,亦即,經由直接在硬體級別上實現的「硬節流」程序。若針對電力控制速率的要求小於第一速率,則可以採取全域電力控制操作來調整電力預算(例如,電力域的P狀態),並且基於電力預算來啟用局部電力控制操作,亦即,經由從韌體級別發起的「軟節流」程序。針對電力控制速率的要求是參考電子系統所容許的最大溫度
T
MAX 、最大功耗
P
MAX 和最大電流值
I
MAX 來決定的。經由這些手段,系統電力分佈被控制在針對電子系統的複數個電力域中的子集或所有電力域的預定義上限以下。
在一些實現中,一或多個電力分佈包括追蹤第一電力域的電流的局部電流分佈。電源管理引擎210被配置為根據局部電流分佈,基於針對電力率控制速率的要求、全域電力控制操作的第一速率和局部電力控制操作的第二速率,啟用全域電力控制操作和專注於第一電力域的局部電力控制操作。針對電力控制速率的要求是參考第一電力域所容許的最大溫度
T
MAX 、最大功耗
P
MAX 和最大電流值
I
MAX 來決定的。經由這些手段,局部電流分佈被控制在針對第一電力域的預定義電流限制以下。
圖3是根據一些實現的整合半導體裝置300的截面圖。半導體裝置300將至少一個SoC晶粒202和至少一個PMIC晶粒118整合在半導體封裝中,並且至少包括封裝基板304,其具有第一表面304A和與第一表面304A相對的第二表面304B。SoC晶粒202被設置在封裝基板304的第一表面304A上,並且PMIC晶粒118耦合到封裝基板304的第二表面304B。在一些實現中,第一中介層324被設置在SoC晶粒302與封裝基板304的第一表面304A之間。在一些實現中,第二中介層328被設置在PMIC晶粒118與封裝基板304的第二表面304B之間。在一些實現中,整合半導體裝置300被設置在具有記憶體104和電源管理引擎210的印刷電路板(PCB)上。電源管理引擎210被配置為在韌體級別(亦即,板級別)和硬體級別(亦即,在單獨硬體級別上,諸如在SoC級別上以及在記憶體級別上)兩者上管理在PCB上形成的整個電子系統的功耗。在一些實現中,整合半導體裝置300包括一或多個電力域,並且電源管理引擎210被配置為在硬體級別上管理每個單獨電力域的功耗。
封裝基板304亦包括複數個第一通孔互連306,其分別穿過封裝基板304的主體並且暴露在第一表面304A和第二表面304B兩者上。PMIC晶粒118經由封裝基板304的複數個第一通孔互連306電耦合到SoC晶粒202。具體地,PMIC晶粒118包括複數個DC連接308,其被配置為輸出被提供給電力軌的複數個軌電壓。當PMIC晶粒118安裝在封裝基板304的第二表面304B上時,DC連接308電耦合到封裝基板304的複數個第一通孔互連306。在一些實現中,SoC晶粒202包括被配置為接收複數個軌電壓的複數個電源連接312。當SoC晶粒202安裝在封裝基板304的第一表面304A上時,電源連接312電耦合到封裝基板304的複數個第一通孔互連306。因此,PMIC晶粒118被配置為經由PMIC晶粒118的DC連接308、SoC晶粒202的電源連接312以及封裝基板304的第一通孔互連306來向SoC晶粒202提供DC功率(亦即,電力軌的軌電壓和軌電流)。此外,相對於其中PMIC晶粒118和SoC晶粒202單獨地封裝並且並排定位在主電路板上的系統而言,經由使用極低阻抗DC連接308,PMIC晶粒118到SoC晶粒202的提供的DC電力的品質得到了大幅改善。
在一些實現中,在PMIC晶粒118上的電源管理介面是由SoC晶粒202的主電源管理介面控制的,並且被配置為從SoC晶粒202接收數位電源控制訊號。第一通孔互連306的子集被配置為將數位電源控制訊號從SoC晶粒202傳輸到PMIC晶粒118。
SoC晶粒202在封裝基板304上具有第一覆蓋區,並且PMIC 118在封裝基板304上具有第二覆蓋區。出於使用複數個第一通孔互連306來將PMIC晶粒118的DC連接308和SoC晶粒202的電源連接312直接耦合的目的,第一覆蓋區和第二覆蓋區至少部分地重疊。在一些情形下,SoC晶粒202的第一覆蓋區大於PMIC晶粒118的第二覆蓋區,並且完全包圍PMIC晶粒118的第二覆蓋區。替代地,在一些情形下,SoC晶粒202的第一覆蓋區與PMIC晶粒118的第二覆蓋區偏移,但是與PMIC晶粒118的第二覆蓋區至少部分地重疊。PMIC晶粒118的DC連接308、SoC晶粒202的電源連接312和封裝基板304的第一通孔互連306對準並且被包圍在第一和第二覆蓋區的重疊區域中。
在一些實現中,整合半導體裝置300亦包括耦合到封裝基板304的第一表面304A的封蓋314。封蓋314被配置為隱藏SoC晶粒202和封裝基板304的第一表面304A的至少一部分,從而保護SoC晶粒202和第一表面304A的至少一部分。此外,在一些實現中,封蓋314由導電材料製成,並且被配置為接地,以便在被封蓋314完全遮蓋的情況下為SoC晶粒202和第一表面304A上的任何其他電路提供靜電遮罩,或者在第一表面304A僅被封蓋314部分地遮蓋的情況下為第一表面304的被封蓋314遮蓋的部分提供靜電遮罩。在一些情形下,封蓋314由導熱材料製成,該導熱材料被配置為消散由SoC晶粒202產生的熱量。
在一些實現中,半導體裝置300亦包括插座基板318。插座基板318具有面向封裝基板304的第二表面304B的第三表面318A。封裝基板304經由複數個電連接器320電耦合到插座基板318。具體地,封裝基板304的第二表面304B包括PMIC晶粒118機械地耦合到的第一區域(例如,中心區域)以及複數個電連接器320所處的第二區域(例如,周邊區域)。在一實例中,第二區域與第一區域相鄰並且圍繞第一區域。要注意的是,在一些情況下,半導體裝置300被提供有插座基板318。然而,在一些情況下,插座基板318固定在圖1中的電子設備的電路板上,並且不是整合半導體裝置300的一部分。確切而言,半導體裝置300是被提供以提供PMIC晶粒118和SoC晶粒202的組合的功能的可替換部分。
在一些實現中,插座基板318的第三表面318A基本上是平坦的,並且PMIC晶粒118被設置在封裝基板304的第二表面304B和插座基板318的第三表面318A之間。替代地,在一些實現中,插座基板318包括凹陷部分322,該凹陷部分322形成在第三表面318A上,並且被配置為當PMIC晶粒118機械地且電耦合到封裝基板304的第二表面304B時接收PMIC晶粒118。在一些情形下,PMIC晶粒118懸浮在凹陷部分322中,亦即,經由氣隙與凹陷部分322的底表面分離。替代地,在一些情形下,PMIC晶粒118直接接觸凹陷部分322的底表面或經由中間層(例如,黏合劑層、均熱層或者既是黏合劑層又是均熱層的層)接觸凹陷部分322的底表面。
在一些實現中,半導體裝置300亦包括一或多個個別電子模組330(例如,電阻器、電容器、電感器、電晶體和邏輯晶片)。個別電子模組330可以電耦合在SoC晶粒202的輸入/輸出介面電路中,以控制針對SoC晶粒202的輸入/輸出耦合。可選地,個別電子模組330的子集(例如,部件330A)被設置在封裝基板304的第一表面304A上。每個部件330A可以被包含在封蓋314內或位於封蓋314之外。可選地,個別電子模組330的子集(例如,部件330B)機械地耦合到封裝基板304的第二表面304B。若相應的部件330B具有低剖面(例如,比電連接器320的長度薄),則部件330B可以剛好放入在封裝基板304的第二表面304B與插座基板318的第三表面318A之間的間隙中。否則,若部件330B不具有低剖面(例如,比電連接器320的長度厚),則相應部件330B可以由插座基板318的凹陷部分322接收並且被設置為與PMIC晶粒118相鄰。
SoC晶粒202和PMIC晶粒118被垂直地佈置在半導體裝置300中。SoC晶粒202的電源連接312和PMIC晶粒118的DC連接308對準並且被佈置為彼此接近,從而減少耦合到向SoC晶粒202提供軌電壓的每個電力軌的寄生電阻和電容。要注意的是,在一些實施例中,複數個PMIC晶粒118可以被設置在插座基板318的凹陷部分322中,並且電耦合到被設置在封裝基板304的第一表面304A上的一或多個SoC晶粒202。例如,兩個PMIC晶粒118被設置在插座基板318的凹陷部分322中,以共同向四個SoC晶粒202供電。SoC晶粒202中的一個SoC晶粒202可選地對應於微處理器或CPU核、或者微處理器或CPU核的集群。
此外,在本案的一些實現中,PMIC晶粒118包括電壓調節器的現場可程式設計陣列,其可經由控制訊號配置為驅動不同類型的SoC晶粒202。在一些情形下,相同的PMIC晶粒118、封裝基板304和插座基板318用於支援不同類型的SoC晶粒202。在插座基板318上形成的凹陷部分322具有固定大小以容納相同的PMIC晶粒118,並且穿過封裝基板304的主體的第一通孔互連306具有固定的位置。替代地,在一些情形下,儘管封裝基板304和插座基板318的覆蓋區大小針對不同類型的SoC晶粒而不同,但是相同的PMIC晶粒118允許凹陷部分322和封裝基板304的第一通孔互連306保持不變,從而避免針對每種單獨類型的SoC晶粒202定製設計PMIC晶粒118和整個封裝。因此,在PMIC晶粒118中應用電壓調節器的現場可程式設計陣列簡化了組裝程序並且提高了半導體裝置300的成本效率。
圖4是根據一些實現的電子設備的處理器系統400的方塊圖,處理器系統400包括複數個分散式電力感測器402和電源管理引擎210。處理器系統400至少包括SoC 102和電源管理引擎210。SoC 102具有至少一或多個處理集群202、系統快取記憶體208、以及一或多個周邊部件連接(PCI)和插座到插座控制器404。SoC 102由一或多個電力軌來供電,一或多個電力軌由PMIC 118來供電。SoC 102的功耗可以由電力感測器402直接監測並且報告給電源管理引擎210。
SoC 102可選地耦合到一或多個額外部件,包括但不限於在處理集群202外部的記憶體104、可選地與SoC 102整合的PMIC 118、系統控制、可管理性和調試(CMD)部件、安全處理器以及輸入/輸出(IO)控制器106。在一些實現中,處理器系統400的這些部件安裝在電路板上。處理器系統400中的這些部件亦由PMIC 118所提供的複數個電力軌供電。具體而言,PMIC 118接收一或多個輸入供電電壓並且產生複數個電源電壓,以驅動SoC 102、記憶體104、PMIC 118、PCI 404以及處理器系統400中的任何其他部件的複數個電力軌。因此,電源管理引擎210可以直接從由PMIC 118驅動的電力軌監測處理器系統400的部件的功耗。
複數個電力感測器402分佈在處理器系統400的子集上,即分佈在SoC 102、記憶體104、PMIC 118、PCI 404、系統CMD部件、安全處理器、IO控制器106等中的一者或多者上。在一些實現中,電力感測器402包括活動監測器單元406(AMU,亦被稱為遙測源)的集合和溫度感測器408的集合。AMU 406被配置為量測與不同的電力軌相關聯的功耗、電流值或兩者。在一些實施例中,AMU 406被配置為量測處理器系統400的對應子集的活動位準,並且活動位準用於估計處理器系統400的對應子集的功耗及/或電流值。溫度感測器408被配置為在其中設置溫度感測器的域處局部地量測溫度值。例如,在圖4中,SoC 102包括三個處理集群202A、202B和202C、系統快取記憶體208以及PCI或插座到插座控制器404。處理集群202、系統快取記憶體208以及PCI或插座到插座控制器404中的每一者耦合到被配置為量測相應部件的一或多個電力軌的功耗及/或電流值的一或多個AMU 406以及被配置為量測相應部件的溫度值的一或多個溫度感測器408。
在一些實現中,AMU 406的子集彼此相鄰。AMU 406的子集中的一個AMU 406是區域AMU(R-AMU)406,而該子集中的其他AMU 406是局部AMU 406。區域AMU 406從局部AMU 406收集電力取樣,並且可選地預處理所收集的電力取樣。例如,在SoC 102中,耦合到第二處理集群202B的電力軌的AMU 406B充當分佈在SoC 102上的AMU 406A-406E的子集的區域AMU。從AMU 406A-406E的子集收集的電力取樣可選地由區域AMU 406B合併並且發送給電源管理引擎210。在一些實現中,溫度感測器408的子集彼此相鄰並且服從溫度感測器408中的一個溫度感測器408的控制,並且溫度感測器408的子集中的一個溫度感測器408是溫度感測器集線器408。例如,在SoC 102中,耦合到第三處理集群202C的溫度感測器408C充當分佈在SoC 102上的溫度感測器408A-408E的子集的溫度感測器集線器。從溫度感測器408A-408E的子集收集的溫度取樣可選地由溫度感測器集線器408C合併並且發送給電源管理引擎210。在一些情形下,溫度感測器集線器408C亦收集及/或合併來自在集線器408C周圍的AMU 406的電力取樣,並且區域AMU 406B亦收集及/或合併來自在區域AMU 406B周圍的溫度感測器408的電力取樣。
在一些實現中,每個處理集群202包括複數個處理器204A-204D(亦被稱為處理器核204)和集群快取記憶體206。多個溫度感測器408分佈在處理器204和集群快取記憶體206上。例如,每個處理器204具有兩個溫度感測器408,並且每個集群快取記憶體206具有單個溫度感測器408。溫度感測器集線器408H包括兩個控制器,並且被配置為合併由整個處理集群202的溫度感測器408收集的溫度取樣。
在一些實現中,由AMU 406或溫度感測器408量測的電力取樣(例如,功耗、電流值和溫度值)是在硬體級別上被局部地應用的,以控制對應處理器204或處理集群202的功耗或電流位準。例如,將電力取樣與電流節流閥值
I
TRT 直接地比較,以禁用處理器204的操作或改變處理器204的電力效能狀態(P狀態)(例如,在一組不同的預定義P狀態之間切換)。可以在一時間訊窗內或跨兩個或兩個以上不同的AMU對電力取樣進行平均,以獲得平均電力取樣。將平均電力取樣與電流節流閥值
I
TRT 進行比較,以禁用處理器204的操作或改變處理器204的P狀態。此種局部硬體級別電力控制操作在各個處理器204、處理器集群202和SoC 102上實現,除了電流節流閥值
I
TRT 可以由電源管理引擎預先決定之外。
耦合到電源管理引擎210的部件被劃分為複數個電力域。例如,SoC 102、單個處理集群202或處理器204是這些域中的一個域。每個電力域具有相應的一組電力感測器402,包括一或多個AMU 406和一或多個溫度感測器408。在一些實現中,一或多個AMU 406和一或多個溫度感測器408兩者實體地位於相應的電力域處。在一些實現中,一或多個溫度感測器408實體地位於相應的電力域處,而一或多個AMU 406位於PMIC 118的被配置為向相應的電力域提供電力軌的部分處,並且電耦合到PMIC 118上的電力軌。在一些實現中,從每個電力域收集的電力取樣由區域AMU 406或溫度感測器集線器408根據全域集中(pooling)頻率進行集中,並且發送給電源管理引擎210。
電源管理引擎210包括聚合器410和節流策略控制器412。聚合器410被配置為收集由分散式電力感測器402收集的電力取樣或從所收集的電力取樣合併的電力取樣。在一些實現中,聚合器410產生指示整個處理器系統400或多個電力域的組合的整體電力效能的系統電力分佈。系統電力分佈的實例是系統溫度分佈(例如,圖6中的曲線602),其指示整個SoC 102的平均溫度的時間變化。在一些實現中,聚合器410產生一或多個局部電力分佈,這些局部電力分佈各自指示單獨域的局部電力效能。例如,處理器204的局部溫度分佈(例如,圖6中的曲線606)指示從圖4中的處理器204A的所有溫度感測器408決定的平均溫度的時間變化。在一些實現中,聚合器410定義及/或調整針對複數個域的複數個電力節流閥值。節流策略控制器412被配置為向相應域或相應域子集提供電力節流閥值中的每一項,以控制相應域或相應域子集的功耗。
在一些實現中,每個處理器集群202包括耦合到一或多個處理器204、集群快取記憶體206和複數個電力感測器402的全域模組414。全域模組414被配置為收集由電力感測器402量測的電力取樣及/或由溫度感測器集線器408H或區域AMU 406合併的電力取樣,並且將所收集的電力取樣發送給電源管理引擎210的聚合器410。全域模組414亦被配置為從電源管理引擎210的節流策略控制器412接收複數個電力節流閥值和控制訊號,並且啟用局部電力控制操作,包括架構節流、時鐘節流、效能點節流和對不同預定義P狀態的啟動。要注意的是,在一些實施例中,每個域中的節流動作由PDP 416在全域電力控制操作期間控制以及由全域模組414在局部電力控制操作期間控制。
為了澄清,在一些實施例中,全域電力控制操作是由整個SoC 102或由處理器集群202實現的,並且涉及電源管理引擎210。局部電力控制操作是在每個處理器集群202或處理集群202的每個處理器102中局部地實現的,而不涉及電源管理引擎210。替代地,區域電力控制操作代表與相鄰電力域(例如,圖4之每一者處理器集群202)的子集(並非全部)相關聯的電力控制操作,並且局部電力控制操作限於每個單獨域(例如,處理器102)。
圖5A和圖5B是根據一些實現的分別被配置為在韌體級別和硬體級別上管理基於SoC的電子設備的電力的電源管理系統500和520的方塊圖。圖5C圖示根據一些實現的綜合電源管理方案560,其中基於SoC的電子設備200的電力是在韌體級別和硬體級別兩者上管理的。如上文參考圖2所解釋的,電源管理引擎210被配置為啟用韌體級別和硬體級別電源管理任務兩者。具體而言,電源管理引擎210從複數個電力域502收集複數個電力取樣,並且針對各個電力域502產生一或多個電力分佈和複數個電力節流閥值,並且每個電力分佈可選地是整個電子設備200或多個域(例如,處理器集群202、SoC 102)的組合的系統電力分佈或者是單獨電力域(例如,處理器204)的局部電力分佈。複數個電力取樣是由跨越這些域分佈的複數個電力感測器402量測的,或者是根據由電力感測器402量測的原始電力取樣來預處理的。
在韌體級別上,電源管理引擎210基於一或多個電力分佈來實現具有第一速率的全域電力控制操作,例如,經由在複數個電力域502之間分配(562)電力預算504,並且根據電力預算來啟用複數個電力域502的操作。電源管理實體控制迴路(亦即,長控制迴路)的時間長度506的範圍從數十奈秒到數毫秒。典型的時間長度506在100 µs到1 ms的範圍內。在一些實現中,全域電力控制操作是由電源管理引擎210和每個域的電源和調試處理器(PDP)416聯合地實現的。全域電力控制操作是根據第一迴路週期508週期性地實現的,例如,對於與PDP 416相關聯的事件,每100 µs或更快。在一些實現中,全域電力控制操作包括針對複數個處理器之每一者處理器選擇複數個預定義的電力效能狀態(P狀態)510中的一個電力效能狀態。這些P狀態之每一者P狀態對應於處理器的預定義的一組電力和效能設置。根據每個處理器的所選擇的P狀態510的預定義的電力和效能設置,在複數個域之間分配電力預算。在一些實現中,全域電力控制操作包括決定在各個域上進行哪些節流操作。電源管理引擎210向不同的電力域502提供複數個電力節流閥值512,並且使得這些域能夠實現此類節流操作。
要注意的是,在一些實現中,全域電力控制操作是回應於針對特定域的局部電力分佈發生的局部事件而實現的。該事件可能不是如此關鍵,以至於與全域電力控制操作相關聯的回應時間足以解決該事件。例如,針對處理器集群202的局部電力分佈發生的事件是與處理器集群202的PDP 416相關聯的,並且可以經由利用對應於100 µs的迴路週期實現的全域電力控制操作來解決。
在硬體級別上,單獨域502預載入(564)由電源管理引擎210設置的複數個電力節流閥值512,並且在不涉及即時的擴展韌體級別操作的情況下實現局部電力控制操作(例如,節流動作)。參考圖5C,被監測和控制的不同電力域502包括兩個處理集群202A和202B、SoC 102的邏輯部分、記憶體104以及插座到插座連接器404(更具體地,連接器404的電力軌VDD)。電源管理引擎210或單獨電力域502監測局部電力分佈,並且基於關聯的電力節流閥值512來在單獨電力域502(例如,記憶體104、PMIC 118、處理集群202-M)上啟用具有第二速率的一或多個局部電力控制操作。例如,處理集群202的電流被監測為在長於預定義的短短脈衝時間
t
BS (例如,20 µs)的持續時間內超過預定義的高峰值電流
I
MAXH (例如,1 A)。針對單獨電力域502或PMIC 118產生電流控制訊號,以請求降低處理集群202的電流。電力節流閥值512(例如,
I
MAXH )是針對局部電力控制操作來預先決定的,並且可以被直接應用於單獨域502。無需即時的韌體級別電力預算重新分配。在一實例中,根據第二迴路週期514(例如,每50 µs)來週期性地實現局部電力控制操作,並且對應電源管理控制迴路的時間長度516大約為300 µs。因此,與在韌體級別上實現的全域電力控制操作相比,單獨域的局部電力控制操作在硬體級別上更迅速地回應。
在一些實現中,對於每個域502,局部電力控制操作包括從架構節流、電力軌縮放和時鐘節流中選擇的節流動作。應用架構節流以週期性地阻止去往相應域(包括DRAM)的傳輸量,或者抑制在相應域(包括處理器)中的高電流尖峰。應用時鐘節流以降低相應域的時鐘頻率。應用效能點節流以聯合地調整相應域的時鐘頻率和電源電壓。在一些情形下,調整耦合到相應域的相應電力軌的電壓調節器以改變注入相應電力軌的電源電壓和關聯的電流。
參考圖5C,在一些實現中,全域電力控制操作和局部電力控制操作被聯合地應用,並且對應於不同情形下的不同優先順序。全域電力控制操作通常需要進行總預算計算、子域預算劃分或預算重新分配。在一些情形下,當根據電力預算啟用複數個電力域502的操作時,可選地將特定於域的控制迴路與具有長控制迴路和複雜計算的更高級別演算法一起應用。電源管理引擎210參與在韌體級別上控制特定於域的控制迴路。這亦解釋了為什麼全域電力控制操作的第一速率小於局部電力控制操作的第二速率。替代地,在一些情形下,當根據電力預算來啟用複數個電力域502的操作時,根據預定義的操作條件策略來應用在局部電力控制操作中應用的電力節流閥值512,或者載入預定義的P狀態510,這可以有效地提高全域電力控制操作的第一速率。
在一些實現中,根據局部取樣速率(例如,每1 µs一個取樣),從複數個域502採集複數個電力取樣。每個局部電力分佈包括局部電力取樣的時間序列,並且根據彙集速率將來自相應域的所收集的電力取樣的相應子集的每個局部電力取樣進行組合。例如,每個局部電力取樣是針對進行處理的處理器204的電力軌的電流來量測的電流取樣的相應子集的平均,並且在具有預定義的時間長度(例如,10 µs)的時間訊窗內進行平均。在將每個局部電力分佈的局部電力取樣報告給電源管理引擎210之前或之後,在硬體級別上(即經由單獨域502)實現這種資料收集和平均。因此,在一些實現中,電源管理引擎210具有不超過預定義的時間長度的預定義的控制頻率的週期。基於與電力節流閥值的比較的局部電力控制操作具有局部控制頻率,並且局部控制頻率不超過時間訊窗的預定義的時間長度。電源管理引擎210不直接參與各個電力域上的局部電力值評估和電力控制的連續週期性迴路,除了在局部電力控制操作中使用的電力節流閥值512是由電源管理引擎210在韌體級別上預先決定的之外。
在一些情形下,動態地調整韌體的長控制迴路或硬體的短控制迴路的迴路控制時間常數。例如,當SoC 102的溫度已經上升到接近最大溫度
T
MAX 時,減小迴路控制時間常數以實現密切監測。若迴路控制時間常數對於全域電力控制操作來說太短,則主控制將被傳遞到由單獨域進行的局部電力控制操作。下文參考圖6描述了關於實例溫度控製程序的更多細節。在一些情形下,電源管理引擎210減小單獨域502的電力節流閥值512以首先擷取偏移。在一些情形下,代替更嚴格的限制實施,將電力控制訊窗縮短以允許不太慷慨的機會主義效能提升。在一些情形下,電源管理引擎210使用節流級別和事件監測來偵測單獨域502的過度節流啟動,並且在其許可權下修改電力節流閥值以達到更高效的操作。
由電源管理引擎210進行的韌體級別電源管理控制(圖5A)對應於長控制迴路。由單獨域進行的硬體級別電源管理控制(圖5B)對應於短控制迴路。在長控制迴路中,硬體級別節流機制(例如,由局部電力控制操作實現)充當針對韌體級別電源管理控制的備份和回退,從而確保複數個域502遵守相應的電力限制,特別是當電源管理引擎210已經漏了一拍時或者當長控制迴路尚未正確地辨識錯誤大小時。在短控制迴路中,硬體級別節流機制(例如,由局部電力控制操作實現)充當主控制代理,並且提供短持續時間的迴路實施和快速回應。例如,應用多級別節流機制來實現一位準的遲滯,並且補充韌體級別電源管理控制。
在一些情形下,電源管理的任務是:在給定的一組外部約束下,基於給定的一組作業系統(OS)效能指令,將電子設備對傳入指令串流的效能最大化。傳入指令串流在每個域、在處理核204之間、以及甚至在從一個程式階段到另一程式階段的執行期間變化很大。效能指令滿足OS效能位準要求和期望。在一些情況下,效能指令亦滿足針對每個處理核204及/或集群202的效能和電力偏好。約束在不同裝置和域(例如,SoC、記憶體104)之間可能不同(例如,對應於不同的時間訊窗)。具體地,在一實例中,處理核約束具有過短以至於無法經由電源管理引擎210在韌體級別上實現的時間訊窗,並且該時間訊窗僅可以經由將處理核約束直接應用於對應的處理核來實現。因此,基於SoC的電子設備的電源管理需要硬體和韌體策略、追蹤實體約束、OS要求和指令以及指令串流特性的組合,以最佳化效能和電力權衡。
在一些實現中,作業系統使用協同處理器效能控制(CPPC)基礎設施來請求SoC效能改變。例如,SoC 102的作業系統和處理器204可以經由不同的p狀態(電力效能狀態)來最佳化功耗,並且處理器204以不同的頻率進行操作。處理器204的高效能模式反映了處理器204可以在假設理想條件的情況下達到的絕對最大效能。該效能位準不會在長持續時間內保持,並且可以僅是可經由強制其他處理器204或記憶體104進入特定狀態(例如,閒置狀態)來實現的。處理器204的標稱效能反映了處理器204在假設理想操作條件的情況下的最大保持效能位準。在沒有外部約束(功率、熱量等)的情況下,這是基於SoC的電子設備持續地維持的效能位準。在一些實現中,所有處理器204同時保持其標稱效能模式。處理器204的保證效能模式反映了在將所有已知的外部約束(電力預算、熱約束、DC或AC電源等)考慮在內的情況下處理器204的當前最大保持效能位準。在一些實現中,所有處理器同時保持它們的保證效能位準。要求保證效能位準落在最低效能位準與標稱效能位準之間(含)的效能範圍內,標稱效能位準對應於標稱效能模式。在一些情形下,保證效能模式每秒更新一次,以反映熱量和電力約束。
處理器系統被配置為隨著時間監測由電源管理引擎210控制的節流動作,並且與電源管理引擎210即時地協調以將整個處理器系統的效能最大化,同時將其電力域的溫度/電力使用保持在預定義的操作範圍內。在一些實現中,若處理器系統決定電源管理引擎210正在採取過度的節流動作(例如,在一持續時間內超過預定義的百分比),則處理器系統可以將程序重新指派給不同的集群202及/或處理器204,或者使線上的額外集群202及/或SOC 102減少全域過度的工作負載。例如,在一些實現中,若處理集群202的相當大的百分比包括具有始終高於預定義的閥值溫度
T
SET 的量測溫度的一或多個域,則決定存在這種情形。
圖6是根據一些實現的包括SoC 102的電子設備的設備溫度600的時序圖。該電子設備被配置為監測SoC 102的系統溫度分佈602和604以及處理器204的局部溫度分佈606。應用全域和局部電力控制操作以在不同的條件下調整SoC 102或處理器204的功耗和熱回應。當SoC 102以預定義的操作頻率(例如,3.6 GHz)操作時,SoC 102的溫度被配置為穩定在第一閥值溫度
T
SET (例如,98-99ºC)處。在一些實現中,應用基於溫度的電力控制以實現接近預定義的操作頻率的穩定效能。
在一些情形下(例如,與分佈602相關聯),允許SoC 102的處理器204在短持續時間內超過電力限制。PMIC 118可以在預定義的時間訊窗內增強標稱電流(例如,
I
CC,nom )(例如,在300-400 µs內為1.35
I
CC,nom ,在1 ms內為1.2
I
CC,nom )。最大電流公差
I
CC,MAX 被禁用以免限制在預定義的時間訊窗內的這種增強的電流。SoC 102的溫度朝著最大溫度
T
MAX 緩慢地增加,直到應用局部電力控制操作610以降低溫度增加速率為止。在一些情形下(例如,與分佈604相關聯),指令序列的短脈衝發生並且導致功耗的突然增加和突然的溫度增加。指令序列的這種短脈衝通常在一持續時間內(例如,300-1000 µs)穩定下來並且返回到正常的操作位準。在與該持續時間相對應的預定義的訊窗大小
L
W 內監測溫度或電力增加。若溫度或電力增加超過預定義的限制,則決定該增加是過度的,並且採取節流動作以抑制溫度或電力增加。
具體而言,處理器系統(例如,SoC 102)包括一或多個處理集群202,其之每一者集群包括一或多個處理器204。SoC 102的處理器204與複數個域502相關聯。針對複數個域502量測複數個電力取樣。在一些實施例中,在局部溫度感測器集線器408或區域AMU 406處,根據全域集中速率來對複數個電力取樣進行平均。將所量測的或平均的電力取樣發送給電源管理引擎210。電源管理引擎210進一步處理與複數個域相關聯的電力取樣,以產生系統溫度分佈602。系統溫度分佈602追蹤SoC 102的溫度位準,並且因此,包括時間上有序的系統溫度值序列。
在SoC 102的正常操作期間,電源管理引擎210決定系統溫度分佈602是否增加到並且超過第一溫度閥值
T
SET 。若系統溫度分佈602在第一時間
t
1 處增加到並且超過第一溫度閥值
T
SET ,則以預定義的控制頻率(例如,每480 µs)將系統溫度分佈602的溫度值與第二溫度閥值
T
TH 或最大溫度
T
MAX 進行比較。若相應的系統溫度值在第一溫度閥值
T
SET 與第二溫度閥值
T
TH 之間,則啟用全域電力控制操作以在韌體級別上決定複數個域的電力預算,並且根據電力預算來啟用複數個域的操作。若相應的系統溫度值大於第二溫度閥值
T
TH ,或者若相應的系統溫度值大於第一溫度閥值
T
SET 達長於閥值持續時間(例如,1 ms),則選擇域子集,並且在硬體級別上將相應的電力節流動作應用於域子集之每一者域。經由這些手段,當相應的系統溫度值大於第二溫度閥值
T
TH 時,或者若相應的系統溫度值大於第一溫度閥值
T
SET 達長於閥值持續時間(例如,1 ms),則在硬體級別上應用短電力控制迴路,以將SoC 102的溫度值控制在最大溫度
T
MAX 以下。
對於系統溫度分佈602,在閥值持續時間
W
T (例如,1 µs)內,在韌體級別上應用兩個全域電力控制操作608A和608B。閥值持續時間
W
T 是在SoC 102的對應增強電流下允許的最長持續時間。在閥值持續時間
W
T 之後,局部電力控制操作610跟隨在兩個全域電力控制操作608A和608B之後,以便以更快的速率控制SoC 102的溫度值。全域電力控制操作608A和608B具有100 µs的實例反應時間,並且局部電力控制操作610具有20 µs的實例反應時間。在一些實施例中,系統溫度分佈602的溫度值增加超過硬關機溫度
T
HS ,並且對SoC 102的不同電力域應用硬關機操作以冷卻SoC 102。
在SoC 102中的指令短脈衝時,系統溫度分佈602改變為具有較大溫度增加速率的替代系統溫度分佈604。在一實例中,系統溫度分佈602和604分別對應於SoC 102的700 W和900 W的總功耗。在預定義的訊窗大小
L
W 中的預定義的溫度增加限制
ΔT對應於針對可容許指令短脈衝的上限。在一些實現中,預定義的溫度增加限制
ΔT是可程式設計的。超過預定義的溫度增加限制
ΔT,需要應用迅速的局部電力控制操作(例如,節流動作)。具體而言,在一些實現中,第一溫度值
T
1 和第二溫度值
T
2 分別對應於在系統溫度分佈604上的具有預定義的訊窗大小
L
W 的時間訊窗的開始和結束。第一溫度值
T
1 可選地等於第一閥值溫度
T
SET ,而第二溫度值
T
2 小於第二閥值溫度
T
TH 。決定第一溫度值
T
1 與第二溫度值
T
2 之間的溫度差,並且將其與預定義的溫度增加限制
ΔT進行比較,從而指示是否發生電湧。若溫度差超過預定義的溫度增加限制
ΔT,則選擇SoC 102的域子集,並且在硬體級別上將相應的局部電力控制操作(例如,電力節流動作)應用於域子集之每一者域。相應的電力節流動作的實例包括架構節流、時鐘節流和效能點節流。經由這些手段,當在SoC 102中發生指令短脈衝時,SoC 102的溫度值不能超過最大溫度
T
MAX ,並且應用局部電力控制操作以降低功耗,例如從900 W降低到700 W。
在SoC 102的正常操作和序列短脈衝兩者期間,局部電力控制操作對應於意欲解決電力短脈衝的短電力控制迴路。當SoC 102達到第一閥值溫度
T
SET 時,短電力控制迴路確保在第一時間
t
1 之後的閥值持續時間
W
T 內,SoC 102的溫度值不會增加到超過最大溫度
T
MAX 。全域電力控制操作對應於長電力控制迴路,其意欲將平均電力位準保持在與第一閥值溫度
T
SET 相對應的電力限制處。
此外,在一些情形下,針對在第一域502中的特定處理器204亦發生指令短脈衝。基於複數個電力值的在第一域502處收集的第一子集,來獲得第一域502的局部電力分佈606。在預定義的訊窗大小
L
W 中的預定義的溫度增加限制
ΔT’亦對應於針對處理器204的可容許指令短脈衝的上限。在一些實現中,預定義的溫度增加限制
ΔT’是可程式設計的。超過預定義的溫度增加限制
ΔT’,需要將迅速的局部電力控制操作(例如,節流動作)應用於第一域。在一些實現中,在局部電力分佈606上辨識第一溫度值
T
1’
和第二溫度值
T
2’
,並且其分別對應於在局部電力分佈606上的具有預定義的訊窗大小
L
W 的時間訊窗的開始和結束。第一溫度值
T
1’
可選地等於第一閥值溫度
T
SET ,而第二溫度值
T
2’
小於第二閥值溫度
T
TH 。決定第一溫度值與第二溫度值之間的溫度差,並且將其與預定義的溫度增加限制
ΔT’進行比較,從而指示是否針對第一域502上的處理器204發生電湧。若溫度差超過預定義的溫度增加限制,則在硬體級別上將局部電力控制操作(例如,電力節流動作)應用於第一域的處理器204。
系統溫度分佈602和604以及局部溫度分佈606不反映對應處理器系統的即時功耗效能,因為溫度回應總是因處理器系統所經歷以及從處理器系統量測的功耗或電流而延遲。在圖6中未圖示的一些實現中,產生系統電力分佈以在持續時間內直接監測SoC的功耗或電流值,並且產生局部電力分佈以在持續時間內直接監測第一域(例如,處理器204)的功耗或電流值。在預定義的訊窗大小
L
W 內監測功耗或電流增加(例如,從
P
1 到
P
2 ,從
I
1 到
I
2 ),以決定在域子集上亦是在第一域上發起局部電力控制操作(例如,硬節流)。此外,基於溫度的第二準則和第三準則是基於由系統電力分佈指示的功耗和電流位準進行調整的。第二準則不如第三準則那麼關鍵,並且對應的功耗和電流位準允許從韌體級別發起的「軟」節流。相反,第三準則觸發在硬體級別上的「硬」節流,從而以與「軟」節流相比快得多的速率將功耗和電流位準控制在上限以下。
在一些情形下,在第一時間
t
1 之前,根據溫度監測頻率不斷地將系統溫度分佈的溫度值與第一閥值溫度
T
SET 進行比較。在第一時間
t
1 之後,暫停在溫度監測頻率下的這種比較,而以預定義的控制頻率發生與第二閥值溫度
T
TH 的比較。在一些實現中,當相應的系統溫度值下降到第一溫度閥值
T
TH 以下時,恢復比較操作,亦即,再次根據溫度監測頻率,不斷地將系統溫度分佈的溫度值與第一閥值溫度
T
SET 進行比較。此外,當相應的系統溫度值在第一溫度閥值
T
TH 以下時,不根據預定義的控制頻率將系統溫度分佈的溫度值與第二閥值溫度
T
TH 進行比較。
要注意的是,根據局部取樣速率(例如,每10 µs)從第一域收集複數個電力取樣。根據全域集中速率(例如,每100 µs),對來自複數個域的電力取樣的相應子集的每個系統溫度值進行組合。局部取樣速率大於全域集中速率,並且全域集中速率大於預定義的控制頻率(例如,每500 µs)。
圖7是根據一些實現的管理基於SoC的電子設備的功耗的方法700的流程圖。方法700在具有複數個域的處理器系統處實現。在一些實現中,處理器系統包括複數個處理器單元、一或多個記憶體單元和電源管理積體電路(PMIC),並且複數個域之每一者域包括處理器系統的不同子集。在一持續時間內從複數個域收集(702)複數個電力取樣。每個電力取樣包括與相應域相關聯的溫度、功耗和電流值中的至少一項。在一實例中,每個電力取樣包括在特定的時間處與處理器204相關聯的所有溫度、功耗、電流值。可選地,這些電力取樣是由位於複數個域處的電力感測器量測的,並且被發送給電源管理引擎210。可選地,在域、集線器(例如,圖4中的區域AMU 406B和溫度感測器集線器408C)或全域模組414處預處理由電力感測器量測的電力取樣,並且將經預處理的電力取樣發送給電源管理引擎210。可選地,估計電力取樣的子集,例如,基於從相鄰電力感測器併發地量測的一組電力取樣或電力取樣的歷史。
對複數個域的複數個電力取樣的子集進行組合(704),以產生包括複數個系統溫度值的系統溫度分佈602。電源管理引擎210決定(706)系統溫度分佈602是否滿足第一準則。根據關於在第一時間
t
1 處系統溫度分佈602滿足第一準則的決定(708),以預定義的控制頻率,電源管理引擎210即時地決定(710)系統溫度分佈602的相應的系統溫度值是否滿足第二準則或第三準則。在一些實現中,相應的系統溫度值屬於時間上有序的系統溫度值序列,這些系統溫度值是根據預定義的控制頻率在系統溫度分佈602上在第一時間
t
1 之後監測的。
根據關於相應的系統溫度值滿足第二準則的決定,電源管理引擎210在韌體級別上決定(712)複數個域的電力預算,並且根據電力預算來啟用複數個域的操作。在一些實現中,這些操作包括在單獨域上實現的電力節流動作,以及然而,這些操作是在韌體級別上發起的,並且對應於長控制迴路,例如,在圖6中的全域電力控制操作608A或608B中。根據關於相應的系統溫度值滿足第三準則的決定,電源管理引擎210選擇(714)域子集,並且直接在硬體級別上對域子集之每一者域啟用相應的電力節流動作。這種電力節流動作是直接在硬體級別上發起的,並且對應於短控制迴路,例如,在圖6中的局部電力控制操作610中。具體而言,在一些實現中,對於域子集之每一者域,相應的節流動作包括(716)以下各項中的一項或多項:架構節流、電力軌縮放和時鐘節流。架構節流被應用以週期性地阻止去往相應域(包括DRAM)的傳輸量,或者抑制相應域(包括處理器單元)中的高電流尖峰。時鐘節流被應用以降低相應域的時鐘頻率。效能點節流被應用以聯合地調整相應域的時鐘頻率和電源電壓。
在一些實現中,在系統溫度分佈604上辨識第一溫度值
T
1 和第二溫度值
T
2 ,並且它們分別對應於具有預定義的訊窗大小
L
W 的時間訊窗的開始和結束。電源管理引擎210決定第一溫度值與第二溫度值之間的溫度差以及該溫度差是否超過預定義的溫度增加限制。在一些實現中,預定義的溫度增加限制是可程式設計的。根據關於溫度差超過預定義的溫度增加限制(可選地可程式設計的)的決定,選擇域子集以直接在硬體級別上應用相應的電力節流動作。短控制迴路被應用以抑制溫度增加,從而確保溫度值在第一時間
t
1 之後的閥值持續時間
W
T 內不跨過最大溫度
T
MAX 。
替代地,在一些實現中,在處理器系統(例如,SoC 102)的功耗或電流值的系統電力分佈上辨識第一電力值
P
1 或
I
1 和第二電力值
P
2 或
I
2 ,並且它們分別對應於具有預定義的訊窗大小
L
W 的時間訊窗的開始和結束。電源管理引擎210決定第一電力值與第二電力值之間的電力差以及電力差是否超過預定義的電力增加限制,該電力增加限制可選地是可程式設計的。根據關於電力差超過預定義的電力增加限制的決定,選擇域子集以直接在硬體級別上應用相應的電力節流動作。短控制迴路被應用以抑制功率或電流短脈衝,從而確保功耗或電流值在第一時間
t
1 之後的閥值持續時間
W
T 內不跨過最大電力
P
MAX 或
I
MAX 。
在一些實現中,基於複數個電力值的在第一域處收集的第一子集,來針對第一域(例如,處理器204)產生局部電力分佈606。在局部電力分佈606上辨識第一溫度值
T
1’
和第二溫度值
T
2’
,並且它們分別對應於具有預定義的訊窗大小的時間訊窗的開始和結束。決定第一溫度值
T
1’
與第二溫度值
T
2’
之間的溫度差,並且將其與預定義的溫度增加限制進行比較。在一些實現中,預定義的溫度增加限制是可程式設計的。根據關於溫度差超過預定義的溫度增加限制的決定,直接在硬體級別上將電力節流動作應用於第一域。短控制迴路被應用於以抑制溫度增加。替代地,在一些實現中,局部電力分佈606與第一域的功耗和電流值相關。在局部電力分佈606上辨識第一電力值
P
1’
或
I
1’
和第二電力值
P
2’
或
I
2’
,並且它們分別對應於具有預定義的訊窗大小的時間訊窗的開始和結束。決定第一電力值與第二電力值之間的電力差,並且將其與預定義的電力增加限制進行比較,預定義的電力增加限制可選地是可程式設計的。根據關於電力差超過預定義的電力增加限制的決定,直接在硬體級別上將電力節流動作應用於第一域。短控制迴路被應用以抑制功耗或電流增加。
在一些實現中,對於域子集之每一者域,相應的節流動作與針對對應於相應域的電力值子集的節流閥值相關聯。根據預定義的電源管理策略,電源管理引擎210在韌體級別上決定與相應域的相應節流動作相關聯的節流閥值。根據關於相應域的電力值子集超過節流閥值的決定,相應域在硬體級別上實現相應的節流動作。
在一些實現中,電源管理引擎210決定針對整個處理器系統的總電力預算,並且將總電力預算的相應部分動態地指派給複數個域之每一者域。在韌體級別上基於這些域的活動位準來重新分配這些域的電力預算,並且根據總電力預算的所指派的部分來指示每個域在硬體級別上局部地調整其操作。
在一些實現中,基於相應的系統溫度值,針對複數個處理器之每一者處理器來選擇複數個預定義的電力效能狀態(P狀態)中的一個電力效能狀態,並且P狀態之每一者P狀態對應於處理器的預定義的一組電源和效能設置。根據針對複數個處理器之每一者處理器來選擇的P狀態的預定義的一組電力和效能設置,在複數個域之間重新分配電力預算。
在一些實現中,第一準則要求系統溫度分佈在對應時間處增加到並且超過第一溫度閥值
T
SET 。第二準則要求在對應時間處的系統溫度值在第一溫度閥值
T
SET 與第二溫度閥值
T
TH 之間。第三準則要求在對應時間處的系統溫度值大於第二溫度閥值
T
TH ,或者系統溫度值保持在第一溫度閥值
T
SET 以上達長於閥值持續時間的延長時間。第一溫度閥值
T
SET 小於第二溫度閥值
T
TH ,第二溫度閥值
T
TH 小於處理器系統被控制在其以下的最大溫度
T
MAX 。
在一些實現中,在第一時間
t
1 之前,根據溫度監測頻率來監測系統溫度分佈是否滿足第一準則。在第一時間
t
1 之後,電源管理引擎210暫停根據溫度監測頻率決定系統溫度分佈是否滿足第一準則。根據關於相應的系統溫度值在第一溫度閥值
T
TH 以下的決定,電源管理引擎210恢復根據溫度監測頻率決定系統溫度分佈是否滿足第一準則,以及中止根據預定義的控制頻率決定相應的系統溫度值是否滿足第二準則和第三準則。
在一些實現中,根據局部取樣速率來從複數個域收集複數個電力取樣。根據全域集中速率,對來自從複數個域的電力取樣的相應子集的每個系統溫度值進行組合。局部取樣速率大於全域集中速率,而全域集中速率大於預定義的控制頻率。
在一些實現中,每個域是由被PMIC驅動的一或多個電力軌供電的。對於每個電力軌,針對每個電力軌來收集相應的一組電流值。根據關於相應的一組電流值已經大於第一閥值電流達第一持續時間(例如,1.35
I
CC,nom 達300-400 µs),大於第二閥值電流達第二持續時間(例如,1.2
I
CC,nom 達1 ms)的決定,在相應域的相應電力軌上實現電力節流動作。第一閥值電流大於第二閥值電流,並且第一持續時間短於第二持續時間。
溫度分佈不反映處理器系統的即時功耗或電流效能,因為溫度回應因處理器系統所經歷的以及從處理器系統量測的功耗或電流值而延遲。在一些情形下,實現了一種電源管理方法,以直接基於系統電力分佈來管理具有複數個域的處理器系統的電力。系統電力分佈包括複數個系統電力值,這些系統電力值不限於溫度值,並且可以是電流值或功耗值。在一持續時間內從複數個域收集複數個電力取樣。每個電力取樣包括與相應域相關聯的溫度、功耗和電流值中的至少一項。對複數個域的複數個電力取樣的子集進行組合以產生包括複數個系統電力值(功耗或電流值)的系統電力分佈。電源管理引擎決定系統電力分佈是否滿足第一準則。根據關於系統電力分佈在第一時間
t
1 處滿足第一準則的決定,電源管理引擎以預定義的控制頻率並且即時地決定系統電力分佈的相應的系統電力值是否滿足第二準則或第三準則。根據關於相應的系統電力值滿足第二準則的決定,電源管理引擎在韌體級別上決定複數個域的電力預算,並且根據電力預算來啟用複數個域的操作。在一些實施例中,此類操作可以包括節流動作。根據關於相應的系統電力值滿足第三準則的決定,電源管理引擎決定選擇域子集,並且在硬體級別上將相應的電力節流動作應用於域子集之每一者域。
第一準則與關鍵效能機制的發起相關聯,在該機制中,需要密切地監測處理器系統的電力效能。第二準則和第二準則兩者比第一準則更加關鍵,而第二準則不如第三準則那麼關鍵。當滿足第二準則時,來自效能限制(例如,最大溫度
T
MAX 、最大電力短脈衝)的餘量仍然是可用的,從而允許電源管理引擎210應用全域電力控制操作,以從韌體級別使用「軟」節流來控制處理器系統的電力效能。相反,當滿足第三準則時,來自效能限制的餘量是有限的,並且必須在硬體級別中直接採取「硬」節流動作,以立即降低在各個域上的溫度、功耗或電流值。韌體級別「軟」節流的第一速率(例如,~ 1 ms)不如硬體級別「硬」節流動作的第二速率(例如,~ 50-100 µs)快。因此,「軟」或「硬」節流動作可以基於處理器系統的電力狀況的緊急程度(如系統電力分佈(例如,系統溫度分佈602和604)所指示的)來應用。
可以聯合地監測不同類型的溫度、功耗和電流分佈,以控制單獨域、域的區域或處理器系統的溫度、功耗及/或電流效能。在一些實現中,參考圖6,監測系統或局部溫度分佈,以分別控制處理器系統(例如,SoC 102)或域(例如,處理器204)的溫度、功耗及/或電流效能。在一些實現中,針對處理器系統或單獨域來監測功耗或電流分佈,以控制處理器系統或單獨域的功耗和電流效能。可選地,監測功耗分佈以直接控制處理器系統或單獨域的功耗效能,而不涉及對溫度或電流值的監測。可選地,監測電流分佈以直接控制處理器系統或單獨域的電流效能,而不涉及對溫度或功耗的監測。
圖8是根據一些實現的管理基於SoC的電子設備的功耗的方法800的流程圖。方法800是在電子系統的電源管理引擎處實現的。在一些實現中,處理器系統包括複數個處理器單元、一或多個記憶體單元和電源管理積體電路(PMIC),並且複數個域之每一者域包括處理器系統的不同子集。在一持續時間內從複數個域接收(802)複數個電力取樣。每個電力取樣包括與相應域相關聯的溫度、功耗和電流值中的至少一項。在一實例中,每個電力取樣包括在特定的時間處與處理器204相關聯的所有溫度、功耗、電流值。可選地,這些電力取樣是由位於複數個域的電力感測器量測的,並且被發送給電源管理引擎210。可選地,在域、集線器(例如,圖4中的區域AMU 406B和溫度感測器集線器408C)或全域模組414處預處理由電力感測器量測的電力取樣,並且將經預處理的電力取樣發送給電源管理引擎210。可選地,估計電力取樣的子集,例如,基於從相鄰電力感測器併發地量測的電力取樣集合或電力取樣的歷史。
基於對應電力感測器的位置來處理電力取樣(804),以產生一或多個電力分佈(例如,圖6中的分佈602-606)和複數個電力節流閥值。基於一或多個電力分佈,經由在韌體級別上決定複數個電力域的電力預算並且根據電力預算啟用複數個電力域的操作,來實現(806)具有第一速率的全域電力控制操作。基於一或多個電力分佈,啟用(808)複數個電力域以在硬體級別上基於複數個電力節流閥值來實現複數個局部電力控制操作。局部電力控制操作具有大於第一速率的第二速率。
在一些實現中,每個處理器集群202包括一或多個相應的處理器204和集群快取記憶體206。第一記憶體208耦合到一或多個處理集群以從一或多個處理器集群202接收資料存取請求。PMIC被配置為向一或多個處理器集群202和第二記憶體104提供複數個電力軌。第二記憶體104被配置為從複數個處理集群202接收第一記憶體208未滿足的對第一記憶體208的資料取回請求。複數個電力感測器408包括用於量測溫度值的複數個溫度感測器和用於量測功耗和電流值的複數個活動監測器單元(AMU)406。
在一些實現中,電力域之每一者電力域包括一或多個處理器集群202、第一記憶體208、PMIC 118和第二記憶體104的不同子集。每個局部電力控制操作被配置為基於從由被設置在相應電力域上的電力感測器子集收集的電力取樣子集產生的對應局部電力分佈,來在相應電力域上實現。相應電力域被配置為從電源管理引擎210接收相應的電力節流閥值。一或多個電力分佈包括對應的局部電力分佈。
在一些實現中,一或多個處理器集群202和第一記憶體208整合在片上系統(SoC)102上,並且SoC 102與PMIC 118整合在整合半導體裝置300中。
在一些實現中,每個域是由一或多個電力軌驅動的。對於每個電力軌,收集相應的一組電流值。根據關於相應的一組電流值已經大於第一閥值電流達第一持續時間或者大於第二閥值電流達第二持續時間的決定,在相應域的相應電力軌上啟用電力節流動作。第一閥值電流大於第二閥值電流,並且第一持續時間短於第二持續時間。
應當理解,已經在圖7和圖8中描述的操作的特定順序僅是示例性的,而並不意味著所描述的順序是可以執行操作的唯一順序。本發明所屬領域中具有普通技術者將認識到如本文所描述的用於管理基於SoC的電子設備200的功耗的各種方式。此外,應當注意,上文關於圖1-圖6所描述的其他程序的細節亦以與上文關於圖7或圖8所描述的方法700或800類似的方式適用。為了簡潔起見,此處不再重複這些細節。
至少在以下編號的條款中描述了實現實例:
條款1、一種電子系統,包括:一或多個處理器集群和第一記憶體;電源管理積體電路(PMIC);耦合到該一或多個處理集群的第二記憶體;分佈在該電子系統上的複數個電力感測器,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與相應的電力域相關聯的溫度、功耗和電流值中的至少一項;及耦合到該複數個電力感測器的電源管理引擎,其中該電源管理引擎被配置為:(1)從該複數個電力域接收該複數個電力取樣;(2)基於對應的電力感測器的位置來處理該等電力取樣,以產生一或多個電力分佈和複數個電力節流閥值;(3)基於該一或多個電力分佈,經由在韌體級別上決定複數個電力域的電力預算並且根據該等電力預算啟用該複數個電力域的操作,來實現具有第一速率的全域電力控制操作;及(4)基於該一或多個電力分佈,使得該複數個電力域能夠基於該複數個電力節流閥值在硬體級別上實現複數個局部電力控制操作,該等局部電力控制操作具有大於該第一速率的第二速率。
條款2、根據條款1之電子系統,其中:每個處理器集群包括一或多個相應的處理器和集群快取記憶體;該第一記憶體耦合到該一或多個處理集群以從該一或多個處理器集群接收資料存取請求;該PMIC被配置為向該一或多個處理器集群和該第二記憶體提供複數個電力軌;該第二記憶體被配置為從該複數個處理集群接收該第一記憶體未滿足的針對該第一記憶體的資料取回請求;該複數個電力感測器包括用於量測溫度值的複數個溫度感測器以及用於量測功耗和電流值的複數個活動監測器單元(AMU)。
條款3、根據條款1或2之電子系統,其中:該等電力域之每一者電力域包括該一或多個處理器集群、該第一記憶體、該PMIC和該第二記憶體的不同子集;及每個局部電力控制操作被配置為基於從由被設置在相應的電力域上的電力感測器子集收集的電力取樣子集產生的對應的局部電力分佈來在該相應的電力域上實現,該相應的電力域被配置為從該電源管理引擎接收相應的電力節流閥值,該一或多個電力分佈包括該對應的局部電力分佈。
條款4、根據條款1-3中任一項所述的電子系統,其中該一或多個處理器集群和該第一記憶體整合在片上系統(SoC)上,並且該SoC與該PMIC整合在整合半導體裝置中。
條款5、根據條款4之電子系統,其中該整合半導體裝置、該第二記憶體和該電源管理引擎組裝在主電路板上。
條款6、根據條款4或5之電子系統,其中該主電路板亦包括以下各項中的一項或多項:系統控制、可管理性和調試(CMD)部件、安全處理器和輸入/輸出(IO)控制器。
條款7、根據條款1-6中任一項所述的電子系統,其中每個域是由一或多個電力軌驅動的,該電源管理引擎被配置為針對每個電力軌進行以下操作:收集相應的一組電流值;及根據關於該相應的一組電流值已經大於第一閥值電流達第一持續時間或者大於第二閥值電流達第二持續時間的決定,在該相應域的相應的電力軌上啟用電力節流動作;其中該第一閥值電流大於該第二閥值電流,並且該第一持續時間短於該第二持續時間。
條款8、根據條款1-7中任一項所述的電子系統,其中:每個節流動作包括以下各項中的一項或多項:架構節流、電力軌縮放和時鐘節流;架構節流被應用以週期性地阻止去往包括DRAM的相應域的傳輸量,或者抑制在包括處理器單元的相應域中的高電流尖峰;時鐘節流被應用以降低相應域的時鐘頻率;及效能點節流被應用以聯合地調整相應域的時鐘頻率和電源電壓。
條款9、根據條款1-8中任一項所述的電子系統,其中每個節流動作與針對與該相應域相對應的電力值子集的節流閥值相關聯,該電源管理引擎被配置為進行以下操作:根據預定義的電源管理策略,決定與該相應域的相應的節流動作相關聯的節流閥值,從而允許該相應域根據關於該相應域的該電力值子集超過該節流閥值的決定來實現該相應的節流動作。
條款10、根據條款1-9中任一項所述的電子系統,在該韌體級別上決定該複數個電力域的該等電力預算亦包括:針對複數個處理器之每一者處理器選擇複數個預定義的電力效能狀態(P狀態)中的一個電力效能狀態,該等P狀態之每一者P狀態對應於該處理器的預定義的一組電力和效能設置。
條款11、根據條款1-10中任一項所述的電子系統,其中:該一或多個電力分佈包括追蹤該電子系統的該複數個電力域的子集或所有電力域的平均功耗或平均總電流的系統電力分佈;及該電源管理引擎被配置為根據該系統電力分佈,基於針對電力控制速率的要求、該全域電力控制操作的該第一速率和該等局部電力控制操作的該第二速率,來啟用該全域電力控制操作和該複數個局部電力控制操作,使得該系統電力分佈被控制在針對該電子系統的該複數個電力域的子集或所有電力域的預定義的上限以下。
條款12、根據條款1-11中任一項所述的電子系統,其中:該一或多個電力分佈包括追蹤第一電力域的電流的局部電流分佈;及該電源管理引擎被配置為根據該局部電流分佈,基於針對電力控制速率的要求、該全域電力控制操作的該第一速率和該等局部電力控制操作的該第二速率,來啟用該全域電力控制操作和專注於該第一電力域的局部電力控制操作,使得該局部電力分佈被控制在針對該第一電力域的預定義的電流限制以下。
條款13、一種由電子系統的電源管理引擎實現的方法,該電子系統具有一或多個處理器集群和第一記憶體、電源管理積體電路(PMIC)、耦合到該一或多個處理集群的第二記憶體、分佈在該電子系統上的複數個電力感測器以及耦合到該複數個電力感測器的電源管理引擎,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與相應的電力域相關聯的溫度、功耗和電流值中的至少一項,該方法包括:從該複數個電力域接收該複數個電力取樣;基於對應的電力感測器的位置來處理該等電力取樣,以產生一或多個電力分佈和複數個電力節流閥值;基於該一或多個電力分佈,經由在韌體級別上決定複數個電力域的電力預算並且根據該等電力預算啟用該複數個電力域的操作,來實現具有第一速率的全域電力控制操作;及基於該一或多個電力分佈,使得該複數個電力域能夠在硬體級別上基於該複數個電力節流閥值來實現複數個局部電力控制操作,該等局部電力控制操作具有大於該第一速率的第二速率。
條款14、根據條款13之電子系統,其中:每個處理器集群包括一或多個相應的處理器和集群快取記憶體;該第一記憶體耦合到該一或多個處理集群以從該一或多個處理器集群接收資料存取請求;該PMIC被配置為向該一或多個處理器集群和該第二記憶體提供複數個電力軌;該第二記憶體被配置為從該複數個處理集群接收該第一記憶體未滿足的針對該第一記憶體的資料取回請求;並且該複數個電力感測器包括用於量測溫度值的複數個溫度感測器以及用於量測功耗和電流值的複數個活動監測器單元(AMU)。
條款15、根據條款13或14之電子系統,其中:該等電力域之每一者電力域包括該一或多個處理器集群、該第一記憶體、該PMIC和該第二記憶體的不同子集;及每個局部電力控制操作被配置為基於從由被設置在相應的電力域上的電力感測器子集收集的電力取樣子集產生的對應的局部電力分佈來在該相應的電力域上實現,該相應的電力域被配置為從該電源管理引擎接收相應的電力節流閥值,該一或多個電力分佈包括該對應的局部電力分佈。
條款16、根據條款13-15中任一項所述的電子系統,其中該一或多個處理器集群和該第一記憶體整合在片上系統(SoC)上,並且該SoC與該PMIC整合在整合半導體裝置中。
條款17、根據條款16之電子系統,其中該整合半導體裝置、該第二記憶體和該電源管理引擎組裝在主電路板上。
條款18、根據條款16或17之電子系統,其中該主電路板亦包括以下各項中的一項或多項:系統控制、可管理性和調試(CMD)部件、安全處理器和輸入/輸出(IO)控制器。
條款19、根據條款13-18中任一項所述的電子系統,其中每個域是由一或多個電力軌驅動的,該電源管理引擎被配置為針對每個電力軌進行以下操作:收集相應的一組電流值;及根據關於該相應的一組電流值已經大於第一閥值電流達第一持續時間或者大於第二閥值電流達第二持續時間的決定,在該相應域的相應的電力軌上啟用電力節流動作;其中該第一閥值電流大於該第二閥值電流,並且該第一持續時間短於該第二持續時間。
條款20、根據條款13-19中任一項所述的電子系統,其中:每個節流動作包括以下各項中的一項或多項:架構節流、電力軌縮放和時鐘節流;架構節流被應用以週期性地阻止去往包括DRAM的相應域的傳輸量,或者抑制在包括處理器單元的相應域中的高電流尖峰;時鐘節流被應用以降低相應域的時鐘頻率;及效能點節流被應用以聯合地調整相應域的時鐘頻率和電源電壓。
條款21、根據條款13-20中任一項所述的電子系統,其中每個節流動作與針對與該相應域相對應的電力值子集的節流閥值相關聯,該電源管理引擎被配置為進行以下操作:根據預定義的電源管理策略,決定與該相應域的相應的節流動作相關聯的節流閥值,從而允許該相應域根據關於該相應域的該電力值子集超過該節流閥值的決定來實現該相應的節流動作。
條款22、根據條款13-21中任一項所述的電子系統,在該韌體級別上決定該複數個電力域的該等電力預算亦包括:針對複數個處理器之每一者處理器選擇複數個預定義的電力效能狀態(P狀態)中的一個電力效能狀態,該等P狀態之每一者P狀態對應於該處理器的預定義的一組電力和效能設置。
條款23、根據條款13-22中任一項所述的電子系統,其中:該一或多個電力分佈包括追蹤該電子系統的該複數個電力域的子集或所有電力域的平均功耗或平均總電流的系統電力分佈;及該電源管理引擎被配置為根據該系統電力分佈,基於針對電力控制速率的要求、該全域電力控制操作的該第一速率和該等局部電力控制操作的該第二速率,來啟用該全域電力控制操作和該複數個局部電力控制操作,使得該系統電力分佈被控制在針對該電子系統的該複數個電力域的子集或所有電力域的預定義的上限以下。
條款24、根據條款13-23中任一項所述的電子系統,其中:該一或多個電力分佈包括追蹤第一電力域的電流的局部電流分佈;及該電源管理引擎被配置為根據該局部電流分佈,基於針對電力控制速率的要求、該全域電力控制操作的該第一速率和該等局部電力控制操作的該第二速率,來啟用該全域電力控制操作和專注於該第一電力域的局部電力控制操作,使得該局部電力分佈被控制在針對該第一電力域的預定義的電流限制以下。
條款25、一種電子系統的非暫時性電腦可讀取儲存媒體,該電子系統具有一或多個處理器集群和第一記憶體、電源管理積體電路(PMIC)、耦合到該一或多個處理集群的第二記憶體、分佈在該電子系統上的複數個電力感測器以及耦合到該複數個電力感測器的電源管理引擎,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與相應的電力域相關聯的溫度、功耗和電流值中的至少一項,該非暫時性電腦可讀取儲存媒體具有儲存在其上的指令,該等指令在由該電源管理引擎執行時使得該電源管理引擎執行條款13-24中的任一項中的方法。
條款26、一種用於在電子系統處管理電力的裝置,該電子系統具有一或多個處理器集群和第一記憶體、電源管理積體電路(PMIC)、耦合到該一或多個處理集群的第二記憶體、分佈在該電子系統上的複數個電力感測器以及電源管理引擎,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與相應的電力域相關聯的溫度、功耗和電流值中的至少一項,並且該電源管理引擎耦合到該複數個電力感測器,該裝置包括用於執行條款13-24中的任一項中的方法的單元。
本文中各種描述的實現中使用的術語僅用於描述特定實現的目的,而並非意欲進行限制。如在各種描述的實現和所附的請求項的描述中所使用的,除非上下文另有明確指示,否則單數形式「一(a)」、「一(an)」和「該(the)」亦意欲包括複數形式。亦將理解,如本文中使用的術語「及/或」意欲並且包括相關聯列出的項目中的一或多個項目的任何和所有可能組合。將進一步理解,術語「包含(includes)」、「包含(including)」、「包括(comprises)」及/或「包括(comprising)」當在本說明書中使用時指定該特徵、整數、步驟、操作、元素及/或部件的存在,但不排除一或多個其他特徵、整數、步驟、操作、元素、部件及/或其群組的存在或添加。此外,將理解,儘管本文中可以使用術語「第一」、「第二」等來描述各種元素,但這些元素不應當受到這些術語的限制。這些術語僅用於將一個元素與另一元素進行區分。
如本文所使用的,術語「若」可選地解釋為意指「當……時」或「在……時」或「回應於決定」或「回應於偵測」或「根據決定」,這具體取決於上下文。類似地,短語「若決定」或「若偵測到[該條件或事件]」可選地解釋為意指「在決定……時」或「回應於決定」或「在偵測到[該條件或事件]時」或「回應於偵測[該條件或事件]」或「根據決定偵測到[該條件或事件]」,這取決於上下文。
出於解釋的目的,已經參考具體實施例描述了前述的描述。然而,以上說明性論述並非意欲詳盡的或者將請求項限制到所揭示的精確形式。鑒於以上教導,許多修改和變化是可能的。選擇和描述這些實施例是為了最好地解釋操作原理以及實際應用,從而使本發明所屬領域其他人員實現。
儘管各個附圖以特定順序圖示多個邏輯階段,但是不依賴於順序的階段可以重新排序,以及其他階段可以被組合或分解。儘管具體提到了一些重新排序或其他封包,但是其他排序或封包對於本發明所屬領域中具有普通技術者來說將是顯而易見的,因此本文中提供的排序和封包並不是替代方案的詳盡列表。此外,應當認識到,這些階段可以在硬體、韌體、軟體或其任何組合中實現。
100:系統模組
102:片上系統(SoC)
104:記憶體模組
106:輸入/輸出(I/O)控制器
108:網路介面
110:記憶體控制器
112:固態驅動器(SSD)
114:硬碟
116:電源連接器
118:電源管理積體電路(PMIC)
120:圖形模組
122:聲音模組
140:整合半導體裝置
150:通訊匯流排
200:電子設備
202-1:第一處理集群
202A:處理集群
202B:處理集群
202C:處理集群
202-M:第M處理集群
204-1:第一處理器
204A:處理器
204B:處理器
204C:處理器
204D:處理器
204-N:第N處理器
206-1:第一集群快取記憶體
208:快取記憶體
210:電源管理引擎
300:半導體裝置
304:封裝基板
304A:第一表面
304B:第二表面
306:第一通孔互連
308:DC連接
312:電源連接
314:封蓋
318:插座基板
318A:第三表面
320:電連接器
322:凹陷部分
324:第一中介層
328:第二中介層
330:電子模組
330A:部件
330B:部件
400:處理器系統
402:電力感測器
404:插座控制器
406:活動監測器單元
406A:AMU
406B:AMU
406C:AMU
406D:AMU
406E:AMU
408:溫度感測器
408A:溫度感測器
408B:溫度感測器
408C:溫度感測器
408D:溫度感測器
408E:溫度感測器
408H:溫度感測器集線器
410:聚合器
412:節流策略控制器
414:全域模組
416:電源和調試處理器(PDP)
500:電源管理系統
502:電力域
504:電力預算
506:時間長度
508:第一迴路週期
510:電力效能狀態(P狀態)
512:電力節流閥值
514:第二迴路週期
516:時間長度
520:電源管理系統
560:綜合電源管理方案
562:操作
564:操作
600:設備溫度
602:系統溫度分佈
604:系統溫度分佈
606:局部溫度分佈
608A:全域電力控制操作
608B:全域電力控制操作
610:局部電力控制操作
700:方法
702:操作
704:操作
706:操作
708:操作
710:操作
712:操作
714:操作
716:操作
800:方法
802:操作
804:操作
806:操作
808:操作
L
W:訊窗大小
T
1:第一溫度值
T
1':第二溫度值
T
2:第二溫度值
T
2':第二溫度值
T
HS:硬關機溫度
T
MAX:最大溫度
T
SET:第一閥值溫度
W
T:閥值持續時間
圖1是根據一些實現的在典型電子設備中的實例系統模組的方塊圖。
圖2是根據一些實現的在圖1中所示的電子設備的電源管理系統的方塊圖。
圖3是根據一些實現的具有SoC和PMIC晶片的整合半導體裝置的截面圖。
圖4是根據一些實現的電子設備的處理器系統的方塊圖,該處理器系統包括複數個分散式電力感測器和電源管理引擎。
圖5A和圖5B是根據一些實現的分別被配置為在韌體級別和硬體級別上管理基於SoC的電子設備的電力的電源管理系統的方塊圖。
圖5C圖示根據一些實現的其中在韌體級別和硬體級別兩者上管理基於SoC的電子設備的電力的綜合電源管理方案。
圖6是根據一些實現的包括SoC的電子設備的設備溫度的時序圖。
圖7是根據一些實現的管理基於SoC的電子設備的功耗的方法的流程圖。
圖8是根據一些實現的管理基於SoC的電子設備的功耗的方法的流程圖。
為了更好地理解各種描述的實現,應當參考下文的實施方式,並且結合以下附圖,其中類似的元件符號代表遍及各圖的對應部分。類似的元件符號代表遍及附圖的對應部分。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
102:片上系統(SoC)
104:記憶體模組
118:電源管理積體電路(PMIC)
202A:處理集群
202B:處理集群
202C:處理集群
204A:處理器
204B:處理器
204C:處理器
204D:處理器
208:快取記憶體
210:電源管理引擎
400:處理器系統
402:電力感測器
404:插座控制器
406:活動監測器單元
406A:AMU
406B:AMU
406C:AMU
406D:AMU
406E:AMU
408:溫度感測器
408A:溫度感測器
408B:溫度感測器
408C:溫度感測器
408D:溫度感測器
408E:溫度感測器
408H:溫度感測器集線器
410:聚合器
412:節流策略控制器
414:全域模組
416:電源和調試處理器(PDP)
Claims (20)
- 一種電子系統,包括: 一或多個處理器集群和第一記憶體; 電源管理積體電路(PMIC); 耦合到該一或多個處理集群的第二記憶體; 分佈在該電子系統上的複數個電力感測器,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與一相應的電力域相關聯的溫度、功耗和電流值中的至少一項;及 耦合到該複數個電力感測器的一電源管理引擎,其中該電源管理引擎被配置為進行以下操作: (1)從該複數個電力域接收該複數個電力取樣; (2)基於對應的電力感測器的位置來處理該等電力取樣,以產生一或多個電力分佈和複數個電力節流閥值; (3)基於該一或多個電力分佈,經由在一韌體級別上決定複數個電力域的電力預算並且根據該等電力預算啟用該複數個電力域的操作,來實現具有一第一速率的一全域電力控制操作;及 (4)基於該一或多個電力分佈,使得該複數個電力域能夠基於該複數個電力節流閥值在一硬體級別上實現複數個局部電力控制操作,該等局部電力控制操作具有大於該第一速率的一第二速率。
- 根據請求項1之電子系統,其中: 每個處理器集群包括一或多個相應的處理器和一集群快取記憶體; 該第一記憶體耦合到該一或多個處理集群以從該一或多個處理器集群接收資料存取請求; 該PMIC被配置為向該一或多個處理器集群和該第二記憶體提供複數個電力軌; 該第二記憶體被配置為從該複數個處理集群接收該第一記憶體未滿足的針對該第一記憶體的資料取回請求; 該複數個電力感測器包括用於量測溫度值的複數個溫度感測器以及用於量測功耗和電流值的複數個活動監測器單元(AMU)。
- 根據請求項1之電子系統,其中: 該等電力域之每一者電力域包括該一或多個處理器集群、該第一記憶體、該PMIC和該第二記憶體的一不同子集;及 每個局部電力控制操作被配置為基於從由被設置在一相應的電力域上的一電力感測器子集收集的一電力取樣子集產生的一對應的局部電力分佈來在該相應的電力域上實現,該相應的電力域被配置為從該電源管理引擎接收一相應的電力節流閥值,該一或多個電力分佈包括該對應的局部電力分佈。
- 根據請求項1之電子系統,其中該一或多個處理器集群和該第一記憶體整合在一片上系統(SoC)上,並且該SoC與該PMIC整合在一整合半導體裝置中。
- 根據請求項4之電子系統,其中該整合半導體裝置、該第二記憶體和該電源管理引擎組裝在一主電路板上。
- 根據請求項5之電子系統,其中該主電路板亦包括以下各項中的一項或多項:一系統控制、可管理性和調試(CMD)部件、一安全處理器和一輸入/輸出(IO)控制器。
- 根據請求項1之電子系統,其中每個域是由一或多個電力軌驅動的,該電源管理引擎被配置為針對每個電力軌進行以下操作: 收集相應的一組電流值;及 根據關於該相應的一組電流值已經大於一第一閥值電流達一第一持續時間或者大於一第二閥值電流達一第二持續時間的一決定,在相應域的相應的電力軌上啟用一電力節流動作; 其中該第一閥值電流大於該第二閥值電流,並且該第一持續時間短於該第二持續時間。
- 根據請求項1之電子系統,其中: 每個節流動作包括以下各項中的一項或多項:架構節流、電力軌縮放和時鐘節流; 架構節流被應用以週期性地阻止去往包括DRAM的相應域的傳輸量,或者抑制在包括一處理器單元的相應域中的高電流尖峰; 一時鐘節流被應用以降低相應域的時鐘頻率;及 效能點節流被應用以聯合地調整相應域的時鐘頻率和電源電壓。
- 根據請求項1之電子系統,其中每個節流動作與針對與相應域相對應的一電力值子集的一節流閥值相關聯,該電源管理引擎被配置為根據一預定義的電源管理策略,決定與該相應域的相應的節流動作相關聯的節流閥值,從而允許該相應域根據關於該相應域的該電力值子集超過該節流閥值的一決定來實現該相應的節流動作。
- 根據請求項1之電子系統,在該韌體級別上決定該複數個電力域的該等電力預算亦包括: 針對複數個處理器之每一者處理器選擇複數個預定義的電力效能狀態(P狀態)中的一個電力效能狀態,該等P狀態之每一者P狀態對應於該處理器的預定義的一組電力和效能設置。
- 根據請求項1之電子系統,其中: 該一或多個電力分佈包括追蹤該電子系統的該複數個電力域的一子集或所有電力域的一平均功耗或一平均總電流的一系統電力分佈;及 該電源管理引擎被配置為根據該系統電力分佈,基於針對一電力控制速率的一要求、該全域電力控制操作的該第一速率和該等局部電力控制操作的該第二速率,來啟用該全域電力控制操作和該複數個局部電力控制操作,使得該系統電力分佈被控制在針對該電子系統的該複數個電力域的子集或所有電力域的一預定義的上限以下。
- 根據請求項1之電子系統,其中: 該一或多個電力分佈包括追蹤一第一電力域的一電流的一局部電流分佈;及 該電源管理引擎被配置為根據該局部電流分佈,基於針對一電力控制速率的一要求、該全域電力控制操作的該第一速率和該等局部電力控制操作的該第二速率,來啟用該全域電力控制操作和專注於該第一電力域的局部電力控制操作,使得該局部電力分佈被控制在針對該第一電力域的一預定義的電流限制以下。
- 根據請求項1之電子系統,其中基於該一或多個電力分佈,該電源管理引擎被配置為啟用該全域電力控制操作和該等局部電力控制操作以滿足針對一電力控制速率的一要求。
- 一種由一電子系統的一電源管理引擎實現的方法,該電子系統具有一或多個處理器集群和第一記憶體、電源管理積體電路(PMIC)、耦合到該一或多個處理集群的第二記憶體、分佈在該電子系統上的複數個電力感測器以及耦合到該複數個電力感測器的電源管理引擎,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與一相應的電力域相關聯的溫度、功耗和電流值中的至少一項,該方法包括以下步驟: 從該複數個電力域接收該複數個電力取樣; 基於對應的電力感測器的位置來處理該等電力取樣,以產生一或多個電力分佈和複數個電力節流閥值; 基於該一或多個電力分佈,經由在一韌體級別上決定複數個電力域的電力預算並且根據該等電力預算啟用該複數個電力域的操作,來實現具有一第一速率的一全域電力控制操作;及 基於該一或多個電力分佈,使得該複數個電力域能夠基於該複數個電力節流閥值在一硬體級別上實現複數個局部電力控制操作,該等局部電力控制操作具有大於該第一速率的一第二速率。
- 根據請求項14之方法,其中: 每個處理器集群包括一或多個相應的處理器和一集群快取記憶體; 該第一記憶體耦合到該一或多個處理集群以從該一或多個處理器集群接收資料存取請求; 該PMIC被配置為向該一或多個處理器集群和該第二記憶體提供複數個電力軌; 該第二記憶體被配置為從該複數個處理集群接收該第一記憶體未滿足的針對該第一記憶體的資料取回請求;並且 該複數個電力感測器包括用於量測溫度值的複數個溫度感測器以及用於量測功耗和電流值的複數個活動監測器單元(AMU)。
- 根據請求項14之方法,其中: 該等電力域之每一者電力域包括該一或多個處理器集群、該第一記憶體、該PMIC和該第二記憶體的一不同子集;及 每個局部電力控制操作被配置為基於從由被設置在一相應的電力域上的一電力感測器子集收集的一電力取樣子集產生的一對應的局部電力分佈來在該相應的電力域上實現,該相應的電力域被配置為從該電源管理引擎接收一相應的電力節流閥值,該一或多個電力分佈包括該對應的局部電力分佈。
- 根據請求項14之方法,其中該一或多個處理器集群和該第一記憶體整合在一片上系統(SoC)上,並且該SoC與該PMIC整合在一整合半導體裝置中。
- 根據請求項14之方法,其中每個域是由一或多個電力軌驅動的,該方法亦包括針對每個電力軌進行以下操作: 收集相應的一組電流值;及 根據關於該相應的一組電流值已經大於一第一閥值電流達一第一持續時間或者大於一第二閥值電流達一第二持續時間的一決定,在相應域的相應的電力軌上啟用一電力節流動作; 其中該第一閥值電流大於該第二閥值電流,並且該第一持續時間短於該第二持續時間。
- 一種用於一電子系統的非暫時性電腦可讀取儲存媒體,該電子系統具有一或多個處理器集群和第一記憶體、電源管理積體電路(PMIC)、耦合到該一或多個處理集群的第二記憶體、分佈在該電子系統上的複數個電力感測器以及耦合到該複數個電力感測器的電源管理引擎,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與一相應的電力域相關聯的溫度、功耗和電流值中的至少一項,該非暫時性電腦可讀取儲存媒體具有儲存在其上的指令,該等指令在由該電源管理引擎執行時使得該電源管理引擎執行以下操作: 從該複數個電力域接收該複數個電力取樣; 基於對應的電力感測器的位置來處理該等電力取樣,以產生一或多個電力分佈和複數個電力節流閥值; 基於該一或多個電力分佈,經由在一韌體級別上決定複數個電力域的電力預算並且根據該等電力預算啟用該複數個電力域的操作,來實現具有一第一速率的一全域電力控制操作;及 基於該一或多個電力分佈,使得該複數個電力域能夠基於該複數個電力節流閥值在一硬體級別上實現複數個局部電力控制操作,該等局部電力控制操作具有大於該第一速率的一第二速率。
- 一種用於在一電子系統處管理電力的裝置,該電子系統具有一或多個處理器集群和第一記憶體、電源管理積體電路(PMIC)、耦合到該一或多個處理集群的第二記憶體、分佈在該電子系統上的複數個電力感測器以及電源管理引擎,其中該等電力感測器被配置為從該電子系統的複數個電力域收集複數個電力取樣,每個電力取樣包括與一相應的電力域相關聯的溫度、功耗和電流值中的至少一項,並且該電源管理引擎耦合到該複數個電力感測器,該裝置包括: 用於從該複數個電力域接收該複數個電力取樣的單元; 用於基於對應的電力感測器的位置來處理該等電力取樣,以產生一或多個電力分佈和複數個電力節流閥值的單元; 用於基於該一或多個電力分佈,經由在一韌體級別上決定複數個電力域的電力預算並且根據該等電力預算啟用該複數個電力域的操作,來實現具有一第一速率的一全域電力控制操作的單元;及 用於基於該一或多個電力分佈,使得該複數個電力域能夠基於該複數個電力節流閥值在一硬體級別上實現複數個局部電力控制操作的單元,該等局部電力控制操作具有大於該第一速率的一第二速率。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163215351P | 2021-06-25 | 2021-06-25 | |
US202163215355P | 2021-06-25 | 2021-06-25 | |
US63/215,351 | 2021-06-25 | ||
US63/215,355 | 2021-06-25 | ||
US17/701,552 | 2022-03-22 | ||
US17/701,552 US11733757B2 (en) | 2021-06-25 | 2022-03-22 | Hierarchical power management architecture for SoC-based electronic devices |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202324034A true TW202324034A (zh) | 2023-06-16 |
Family
ID=82403447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111121428A TW202324034A (zh) | 2021-06-25 | 2022-06-09 | 用於基於SoC的電子設備的分層級電源管理架構 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP4359880A1 (zh) |
KR (1) | KR20240005970A (zh) |
BR (1) | BR112023025926A2 (zh) |
TW (1) | TW202324034A (zh) |
WO (1) | WO2022272214A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337339B1 (en) * | 2005-09-15 | 2008-02-26 | Azul Systems, Inc. | Multi-level power monitoring, filtering and throttling at local blocks and globally |
US8601288B2 (en) * | 2010-08-31 | 2013-12-03 | Sonics, Inc. | Intelligent power controller |
US8769316B2 (en) * | 2011-09-06 | 2014-07-01 | Intel Corporation | Dynamically allocating a power budget over multiple domains of a processor |
US9074947B2 (en) * | 2011-09-28 | 2015-07-07 | Intel Corporation | Estimating temperature of a processor core in a low power state without thermal sensor information |
US9235252B2 (en) * | 2012-12-21 | 2016-01-12 | Intel Corporation | Dynamic balancing of power across a plurality of processor domains according to power policy control bias |
US9575537B2 (en) * | 2014-07-25 | 2017-02-21 | Intel Corporation | Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states |
US20160070327A1 (en) * | 2014-09-08 | 2016-03-10 | Qualcomm Incorporated | System and method for peak current management to a system on a chip |
US10877530B2 (en) * | 2014-12-23 | 2020-12-29 | Intel Corporation | Apparatus and method to provide a thermal parameter report for a multi-chip package |
-
2022
- 2022-06-09 TW TW111121428A patent/TW202324034A/zh unknown
- 2022-06-10 BR BR112023025926A patent/BR112023025926A2/pt unknown
- 2022-06-10 EP EP22738306.4A patent/EP4359880A1/en active Pending
- 2022-06-10 KR KR1020237043756A patent/KR20240005970A/ko not_active Application Discontinuation
- 2022-06-10 WO PCT/US2022/072871 patent/WO2022272214A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
KR20240005970A (ko) | 2024-01-12 |
WO2022272214A1 (en) | 2022-12-29 |
EP4359880A1 (en) | 2024-05-01 |
BR112023025926A2 (pt) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230071775A1 (en) | Method and apparatus for performing power analytics of a storage system | |
TWI621068B (zh) | 伺服器機架電力管理 | |
KR101876001B1 (ko) | 장치 내의 전력 관리를 위한 자원 할당 및 할당해제 | |
US8341300B1 (en) | Systems for sustained read and write performance with non-volatile memory | |
EP2972915B1 (en) | Systems and methods for memory system management based on thermal information of a memory system | |
US9575677B2 (en) | Storage system power management using controlled execution of pending memory commands | |
US20180284857A1 (en) | Thermal throttling for memory devices | |
US11899964B2 (en) | Methods and systems for memory bandwidth control | |
JP2007042091A (ja) | プロセッサモジュールの電力監視 | |
US11243604B2 (en) | Method of performing dynamic voltage and frequency scaling based on power step | |
JP2004078935A (ja) | ブレード型アーキテクチャ・システム内のブレードの動作電圧を管理する方法 | |
US11789645B2 (en) | Methods and systems for memory bandwidth control | |
TW202307617A (zh) | 用於基於SoC的電子設備的動態電源管理 | |
CN116490839A (zh) | 用于执行多gpu系统的分布式电源管理的机制 | |
US10572183B2 (en) | Power efficient retraining of memory accesses | |
TW202324034A (zh) | 用於基於SoC的電子設備的分層級電源管理架構 | |
CN117461011A (zh) | 用于基于SoC的电子设备的分级功率管理架构 | |
WO2022272213A1 (en) | Dynamic power management for soc-based electronic devices | |
KR20240042126A (ko) | 프로세서 클러스터들 내의 동적 전압 및 주파수 스케일링 (dvfs) | |
US20230093426A1 (en) | Dynamic Voltage and Frequency Scaling (DVFS) within Processor Clusters | |
CN117957510A (zh) | 处理器集群内的动态电压和频率调整(dvfs) | |
Lee et al. | Greendimm: Os-assisted dram power management for dram with a sub-array granularity power-down state | |
US20240220112A1 (en) | Dynamic management of memory read requests | |
WO2024145064A1 (en) | Dynamic management of memory read requests | |
CN117882058A (zh) | 用于存储器带宽控制的方法和系统 |