TW202303407A - 用於多芯粒系統的電源管理 - Google Patents
用於多芯粒系統的電源管理 Download PDFInfo
- Publication number
- TW202303407A TW202303407A TW111120031A TW111120031A TW202303407A TW 202303407 A TW202303407 A TW 202303407A TW 111120031 A TW111120031 A TW 111120031A TW 111120031 A TW111120031 A TW 111120031A TW 202303407 A TW202303407 A TW 202303407A
- Authority
- TW
- Taiwan
- Prior art keywords
- die
- voltage
- power
- information
- chip
- Prior art date
Links
- 230000008859 change Effects 0.000 claims abstract description 227
- 238000000034 method Methods 0.000 claims abstract description 152
- 230000001953 sensory effect Effects 0.000 claims abstract description 63
- 238000004891 communication Methods 0.000 claims description 531
- 230000002776 aggregation Effects 0.000 claims description 142
- 238000004220 aggregation Methods 0.000 claims description 142
- 239000007771 core particle Substances 0.000 claims description 78
- 230000004044 response Effects 0.000 claims description 75
- 230000015654 memory Effects 0.000 claims description 51
- 238000012545 processing Methods 0.000 description 87
- 238000005259 measurement Methods 0.000 description 27
- 238000009966 trimming Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 23
- 230000004931 aggregating effect Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 11
- 101100465000 Mus musculus Prag1 gene Proteins 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000033228 biological regulation Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 235000017060 Arachis glabrata Nutrition 0.000 description 1
- 241001553178 Arachis glabrata Species 0.000 description 1
- 235000010777 Arachis hypogaea Nutrition 0.000 description 1
- 235000018262 Arachis monticola Nutrition 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000020232 peanut Nutrition 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual 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/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/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/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
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/10—Current supply arrangements
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Power Sources (AREA)
- Secondary Cells (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
各個實施例可以包括用於片上系統(SoC)內的多個芯粒的電源管理的方法和系統。各個系統可以包括:電源管理積體電路(PMIC),其被配置為跨共享電源軌向第一芯粒和第二芯粒供應電力。第一芯粒可以被配置為遍及第一芯粒來獲得第一感知資訊。第二芯粒可以被配置為遍及第二芯粒來獲得第二感知資訊,以及可以被配置為基於第二感知資訊來向第一芯粒發送電壓改變訊息。第一芯粒可以被配置為基於第一感知資訊和電壓改變訊息來向PMIC發送電源軌調整訊息。PMIC可以被配置為調整第一芯粒和第二芯粒中的至少一者的電壓。
Description
本揭示案係關於用於多芯粒系統的電源管理。
片上系統(SoC)設計和設備變得越來越複雜,隨著不斷減小的導體路徑尺寸而實現了更小的實體輪廓,以便與前身SoC相比以更高的速率傳輸資料。SoC可以利用作為功能方塊操作的多個芯粒(chiplet),以用於系統內的各種目的。多芯粒系統通常採用類似的芯粒來將兩個或兩個以上芯粒之間的通訊和電源軌標準化。例如,多芯粒系統可以利用在多個芯粒之間共享的電源軌。管理多芯粒系統內的共享電源軌可能需要大量管理負擔程序,從而使非電源相關芯粒程序的效率降低。
各個態樣包括用於管理多芯粒中的電源的方法和設備,在多芯粒中,複數個芯粒被組織使得一個芯粒被配置為主芯粒,而其餘的芯粒被配置為從芯粒,以用於收集感測器資訊並且將該資訊提供給電源管理積體電路(PMIC)的目的,PMIC被配置為控制跨共享電源軌向芯粒供應的電力。
一些態樣包括:第一芯粒;第二芯粒;耦合到該第一芯粒和該第二芯粒的共享電源軌;及電源管理積體電路(PMIC),其被配置為跨該共享電源軌向該第一芯粒和該第二芯粒供應電力,其中:該第一芯粒被配置為遍及該第一芯粒來獲得第一感知資訊;該第二芯粒被配置為遍及該第二芯粒來獲得第二感知資訊,以及基於該第二感知資訊來向該第一芯粒發送電壓改變訊息;該第一芯粒被配置為基於該第一感知資訊和該電壓改變訊息來向該PMIC發送電源軌調整訊息;及該PMIC被配置為調整該第一芯粒和該第二芯粒中的至少一者的電壓。在各個態樣中,該第一感知資訊和該第二感知資訊可以包括溫度資訊、電壓資訊或電流資訊中的至少一項。
在一些態樣中,該第一芯粒包括:第一感測器集合,其被配置為經由遍及該第一芯粒量測第一感知參數來獲得該第一感知資訊;第一電源控制器,其被配置為從該第一感測器集合接收該第一感知資訊;及第一通訊介面,其被配置為從該第一電源控制器接收基於該第一感知資訊的第一電壓改變訊息;該第二芯粒包括:第二感測器集合,其被配置為經由遍及該第二芯粒量測第二感知參數來獲得該第二感知資訊;第二電源控制器,其被配置為從該第二感測器集合接收該第二感知資訊;及第二通訊介面,其被配置為從該第二電源控制器接收基於該第二感知資訊的第二電壓改變訊息。在此類態樣中,該電源軌調整訊息可以是基於該第一電壓改變訊息和該第二電壓改變訊息的。
一些態樣亦可以包括:可通訊地連接該PMIC、該第一芯粒和該第二芯粒的介面匯流排,其中該介面匯流排是系統電源管理介面(SPMI)。在此類態樣中,該第二芯粒亦可以被配置為基於該第二感知資訊來向該PMIC發送獨立的電源軌調整訊息,並且該PMIC亦可以被配置為基於該獨立的電源軌調整訊息來調整該第二芯粒的電壓。一些態樣亦可以包括:可通訊地連接該PMIC和該第一芯粒的介面間電路(I2C)匯流排,其中該第一芯粒被配置為跨該I2C匯流排向該PMIC發送該電源軌調整訊息。
一些態樣亦可以包括:控制器到控制器介面,其被配置為將該電壓改變訊息從該第二芯粒傳送到該第一芯粒。一些態樣亦可以包括:由該第一芯粒和該第二芯粒共享並且由該PMIC控制的電源軌,其中該PMIC被配置為經由調整跨該電源軌的電壓來調整該第一芯粒和該第二芯粒中的至少一者的電壓。在一些態樣中,該電源軌可以是嵌入式記憶體(MX)電源軌或核心邏輯(CX)電源軌。
一些態樣亦可以包括:第三芯粒,其被配置為經由遍及該第三芯粒量測第三感知參數來獲得第三感知資訊,並且被配置為基於該第三感知資訊來向該第一芯粒發送第二電壓改變訊息,其中該電源軌調整訊息是部分地基於該第二電壓改變訊息的,並且其中該PMIC被配置為調整該第一芯粒、該第二芯粒和該第三芯粒中的至少一者的電壓。
進一步的方法亦可以包括一種用於片上系統(SoC)內的多個芯粒的電源管理的方法。此類態樣可以包括:經由第二芯粒電源控制器,遍及第二芯粒來獲得第二芯粒感知資訊;經由該第二芯粒電源控制器,基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓;回應於決定應當調整該第二芯粒的電壓,從第二芯粒通訊介面向第一芯粒的第一芯粒通訊介面發送電壓改變訊息;經由該第一芯粒通訊介面,基於該電壓改變訊息來產生電源軌調整訊息;經由該第一芯粒通訊介面,向電源管理積體電路(PMIC)發送該電源軌調整訊息;及經由該PMIC,基於該電源軌調整訊息來調整跨由該第一芯粒和該第二芯粒共享的電源軌的電壓。在此種態樣中,該第二感知資訊可以包括溫度資訊、電壓資訊或電流資訊中的至少一項。一些態樣亦可以包括:經由遍及該第二芯粒定位的感測器來量測感知參數,其中該第二感知資訊是基於該感知參數的。在一些態樣中,基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓可以包括:決定該第二感知資訊是否指示感知參數在閥值範圍之外。
一些態樣亦包括:經由第一芯粒電源控制器,遍及該第一芯粒來獲得該第一芯粒感知資訊;及經由該第一芯粒電源控制器,基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的電壓,其中基於該電壓改變訊息來產生該電源軌調整訊息亦包括:回應於決定應當調整該第一芯粒的電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息。
在一些態樣中,遍及該第二芯粒來獲得第二芯粒感知資訊可以包括:遍及該第二芯粒反覆運算地獲得第二芯粒電源資訊。此種態樣亦可以包括:利用向下計數器值來初始化該第二芯粒上的向下表決計數器;基於該第二芯粒電源資訊來決定是否應當降低該第二芯粒的電壓;及回應於決定應當降低該第二芯粒的電壓來將該向下表決計數器遞增,其中該向下表決計數器是針對獲得指示應當降低該第二芯粒的電壓的第二芯粒感知資訊的每次反覆運算而遞增的,其中向該第一芯粒發送該電壓改變訊息包括回應於該向下表決計數器達到該向下表決計數器值來發送該電壓改變訊息。一些態樣亦可以包括:從該第一芯粒向該第二芯粒發送重置訊息以使得該第二芯粒重置該向下表決計數器。
一些態樣亦可以包括:利用時間限制值來初始化聚合訊窗,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。一些態樣亦可以包括:在該第二芯粒中初始化包括該第二芯粒的先前電壓建議的表決表,其中基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓包括將由該第二芯粒感知資訊指示的當前電壓建議與該先前電壓建議進行比較;及回應於決定該先前電壓建議與該當前電壓建議不匹配,從該第二芯粒向該第一芯粒發送電壓改變訊息。
一些態樣亦可以包括:在該第一芯粒中初始化包括該第二芯粒的先前電壓建議的全域表決表;將在該電壓改變訊息中指示的當前電壓建議與該先前電壓建議進行比較;回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息;及改變該先前電壓建議以匹配該當前電壓建議。
進一步的態樣包括一種用於第一芯粒管理片上系統(SoC)內的多個芯粒的電源軌的方法,包括:從第二芯粒接收包括遍及該第二芯粒量測的第二芯粒感知資訊的電壓改變訊息;基於該電壓改變訊息來決定是否應當調整該第二芯粒的電壓;及回應於決定應當調整該第二芯粒的電壓來向電源管理積體電路(PMIC)發送電源軌調整訊息,其中該電源軌調整訊息包括使得該PMIC調整該第二芯粒的電壓的指令。
一些態樣亦可以包括:遍及該第一芯粒來獲得第一芯粒感知資訊;及基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的電壓,其中基於該電壓改變訊息來產生該電源軌調整訊息亦包括:回應於決定應當調整該第一芯粒的電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息。一些態樣亦可以包括:利用時間限制值來初始化聚合訊窗,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。
一些態樣亦可以包括:在該第一芯粒中初始化包括該第二芯粒的先前電壓建議的全域表決表;將在該電壓改變訊息中指示的當前電壓建議與該先前電壓建議進行比較;回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息;及改變該先前電壓建議以匹配該當前電壓建議。
進一步的態樣亦包括一種SoC,包括:第一芯粒;第二芯粒;用於遍及該第二芯粒來獲得第二芯粒感知資訊的單元;用於基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓的單元;用於回應於決定應當調整該第二芯粒的電壓,從第二芯粒向該第一芯粒發送電壓改變訊息的單元;用於基於該電壓改變訊息來產生電源軌調整訊息的單元;用於從該第一芯粒向電源管理積體電路(PMIC)發送該電源軌調整訊息的單元;及用於經由該PMIC,基於該電源軌調整訊息來調整跨由該第一芯粒和該第二芯粒共享的電源軌的電壓的單元。一些態樣亦可以包括:用於量測感知參數的單元,其中該第二感知資訊是基於該感知參數的。
一些態樣亦可以包括:用於遍及該第一芯粒來獲得該第一芯粒感知資訊的單元;及用於基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的電壓的單元,其中用於基於該電壓改變訊息來產生該電源軌調整訊息的單元包括:用於回應於決定應當調整該第一芯粒的電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息的單元。
一些態樣亦可以包括:用於利用向下計數器值來初始化該第二芯粒上的向下表決計數器的單元,其中用於遍及該第二芯粒來獲得第二芯粒感知資訊的單元包括用於遍及該第二芯粒反覆運算地獲得第二芯粒電源資訊的單元;用於基於該第二芯粒電源資訊來決定是否應當降低該第二芯粒的電壓的單元;及用於回應於決定應當降低該第二芯粒的電壓來將該向下表決計數器遞增的單元,其中該向下表決計數器是針對獲得指示應當降低該第二芯粒的電壓的第二芯粒感知資訊的每次反覆運算而遞增的;其中用於向該第一芯粒發送該電壓改變訊息的單元包括用於回應於該向下表決計數器達到該向下表決計數器值來發送該電壓改變訊息的單元。一些態樣亦可以包括:用於從該第一芯粒向該第二芯粒發送重置訊息以使得該第二芯粒重置該向下表決計數器的單元。
一些態樣亦可以包括:用於利用時間限制值來初始化聚合訊窗的單元,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。一些態樣亦可以包括:用於在該第二芯粒中初始化包括該第二芯粒的先前電壓建議的表決表的單元,其中用於基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓的單元包括用於將由該第二芯粒感知資訊指示的當前電壓建議與該先前電壓建議進行比較的單元;及用於回應於決定該先前電壓建議與該當前電壓建議不匹配,從該第二芯粒向該第一芯粒發送電壓改變訊息的單元。
一些態樣亦可以包括:用於在該第一芯粒中初始化包括該第二芯粒的先前電壓建議的全域表決表的單元;用於將在該電壓改變訊息中指示的當前電壓建議與該先前電壓建議進行比較的單元;用於回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息的單元;及用於改變該先前電壓建議以匹配該當前電壓建議的單元。
現在參照附圖來詳細地描述各個實施例。在可能的地方,遍及附圖使用相同的元件符號來代表相同或者類似的組件。對於特定實例和實現的引用只是用於說明目的,而不是意欲限制請求項的範疇。
各個實施例包括用於管理多芯粒中的電源的方法和設備。可以對包括複數個芯粒的片上系統(SoC)進行組織,使得一個芯粒被配置為主芯粒,而其餘的芯粒被配置為從芯粒,以用於收集感測器資訊並且將該資訊提供給電源管理積體電路(PMIC)的目的,PMIC被配置為控制跨共享電源軌供應給芯粒的電力。主芯粒可以被配置為遍及第一芯粒來獲得感知(sensory)資訊,並且從從芯粒接收遍及其他芯粒的感知資訊。從芯粒亦可以向主芯粒發送電壓改變訊息,並且主芯粒可以基於來自主芯粒的感知資訊及/或由從芯粒提供的電壓改變訊息來向PMIC發送電源軌調整訊息。PMIC可以被配置為基於從主芯粒接收的訊息來調整主芯粒和從芯粒中的至少一者的電壓。
本文中使用術語「片上系統」(SoC)來代表通常(但不限於)包括處理設備、記憶體和通訊介面的一組互連電子電路。處理設備可以包括各種不同類型的處理器14和處理器核心,例如通用處理器、中央處理單元(CPU)、數位訊號處理器(DSP)、圖形處理單元(GPU)、加速處理單元(APU)、安全處理單元(SPU)、計算設備的特定部件的子系統處理器,例如用於照相機子系統的影像處理器或用於顯示器的顯示處理器、輔助處理器、單核處理器、多核處理器、控制器和微控制器。處理設備可以進一步體現其他硬體和硬體組合,例如現場可程式設計閘陣列(FPGA)、特殊應用積體電路(ASIC)、其他可程式設計邏輯裝置、個別閘邏輯、電晶體邏輯、效能監測硬體、看門狗硬體和時間參考。積體電路可以被配置為使得積體電路的部件常駐於單片半導體材料上,例如矽。
如本文所使用的,術語「芯粒」用於指處理系統內的子處理單元或子處理設備。芯粒可以是被設計用於與處理系統內的其他類似芯粒協同工作以執行各種程序的積體電路塊。芯粒可以包括一或多個處理核心,以與系統內的相關聯的芯粒的其他核心一起執行系統程序。芯粒可以包括輸入/輸出(IO)功能,以與其他芯粒及/或其他系統設備(例如記憶體、電源控制器、IO控制器及/或介面等)傳送系統資料。芯粒可以被稱為在系統(例如SoC)內執行處理操作的功能方塊。
各種實施例包括芯粒、方法、SoC設計、處理設備和記憶體,其被配置為實現用於在多芯粒系統內管理電源的方法。各種實施例可以實現主芯粒和一或多個對應的從芯粒,以最小化芯粒之間和PMIC之間的電源管理通訊的數量。各種實施例可以實現聚合訊窗(亦即,時間範圍(timeframe))和表決表,以決定PMIC是否應該跨芯粒共享的電源軌執行電壓微調。
現有電源管理架構是針對單晶粒系統設計的。這些系統可以實現串列連接到晶粒感測器的電源控制器或調整器,有時被稱為掃瞄鏈。晶粒感測器可以用於決定跨越晶粒的針對各種電源軌的溫度及/或電源量測值,例如針對記憶體塊指定的電源軌和針對處理器核心指定的電源軌。電源控制器可以接收來自嵌入式感測器的熱量及/或電源量測值,以及使用該量測值決定是否應控制一或多個電源軌,以根據晶粒內的記憶體塊和核心的需要調整電壓。電源控制器可以與PMIC進行通訊以調整跨越晶粒的一或多個電源軌的電壓值。
一個多芯粒系統可以在單個SoC封裝中具有多個晶粒,並且芯粒可以共享由單個PMIC提供的一或多個電源軌。單晶粒系統的電源管理技術可以在多芯粒系統中實現。例如,每個芯粒可以實現內部感測器和電源控制器,並且每個芯粒可以向PMIC發送降低或升高電壓的請求。在一些情況下,這種配置可能會導致PMIC過載,這可能潛在地延遲電源軌調整,因為PMIC程序可能會優先接收和轉換來自每個芯粒的輸入電壓改變訊息。
作為單晶粒多芯粒系統中的傳統電源管理技術的另一實例,每個芯粒可以具有獨立的掃瞄鏈,每個掃瞄鏈可以串聯地連接在一起以形成單個系統掃瞄鏈,並且一個電源控制器可以聚合跨所有芯粒針對整個封裝的掃瞄鏈量測。因此,可以將對應於多個芯粒的多個掃瞄連結合在一起以形成「類似單晶粒的」掃瞄鏈。所得到的經接合的掃瞄鏈可以用於決定PMIC應當跨所有芯粒執行的電壓調整。
然而,這種用於管理多個芯粒的電源的單掃瞄鏈配置可能低效地管理電源,並且由於電壓不足而導致系統錯誤。具體而言,單一掃瞄鏈的實體長度可能導致掃瞄花費不期望的時間量。例如,將四個芯粒的掃瞄連結合在一起以建立單個掃瞄鏈可能將執行單個掃瞄鏈的時間增加至少4倍。增加的掃瞄鏈時間可能導致允許PMIC跨共享電源軌執行電壓調整的顯著延遲,從而降低整體電源效率。例如,單次掃瞄可能指示四個芯粒中的第一芯粒可以在較低電壓下操作,但是掃瞄程序必須繼續,直到剩餘的三個芯粒的感測器的掃瞄完成為止。在該時間範圍期間,可能在較低電壓下操作的第一芯粒可能繼續被供應過電壓,直到掃瞄完成並且指示PMIC調整跨共享電源軌的電壓為止。作為另一實例,單次掃瞄可能指示四個芯粒中的第一芯粒需要較高電壓以無誤地操作,但是掃瞄程序必須繼續,直到剩餘的三個芯粒的感測器的掃瞄完成為止。在該時間範圍期間,需要供電電壓的增加的第一芯粒可能經歷由電壓不足導致的錯誤,並且可能導致芯粒及/或系統故障。
各個實施例可以經由獨立地對待每個芯粒,針對每個電源軌針對每個單獨的芯粒提供分開的掃瞄鏈和電源控制器,從而改進多芯粒系統的操作。主從芯粒配置可以減少對於實現對由封裝中的芯粒共享的一或多個電源軌的電源調整所必要的針對PMIC的管理負擔和通訊量。
在具有共享一或多個電源軌的多個芯粒的系統中,一個芯粒可以被配置為主芯粒,以及剩餘的芯粒可以被配置為從芯粒。每個從芯粒的電源控制器可以針對每個芯粒電源軌進行掃瞄,以決定是否能夠進行任何電壓微調(亦即,可以操作降低的電壓)或需要進行任何電壓微調(亦即,需要增加的電壓以無誤地操作)。在決定PMIC可以執行電壓微調之後,從芯粒可以向主芯粒傳送電壓改變訊息。電壓改變訊息可以包括針對PMIC增加或降低電源軌電壓的請求。在各個實施例中,電壓改變訊息可以指示不需要電壓微調。多個從芯粒可以同時地或在聚合時間訊窗內將電壓改變訊息傳遞給主芯粒。主芯粒可以接收電壓改變訊息,並且聚合來自每個掃瞄鏈(包括其自身的掃瞄鏈)的結果,以決定PMIC可以跨共享電源軌實現哪些電壓微調(若有的話)。基於電壓改變訊息,主芯粒可以向PMIC發送電源軌調整訊息,以指示PMIC實現所請求的電壓微調。
在各個實施例中,主芯粒可以實現聚合訊窗、表決表或者聚合訊窗和表決表兩者,以決定何時以及如何聚合系統範圍的電壓微調請求以用於產生電源軌調整訊息的目的。例如,從芯粒可以基於最近的掃瞄鏈掃瞄來請求電壓的增加,並且可以向主芯粒發送電壓改變訊息。可以立即服務於針對電壓的增加的請求,其中主芯粒可以在接收到電壓改變訊息之後產生電源軌調整訊息並且將其發送給PMIC。作為另一實例,從芯粒可以基於最近的掃瞄鏈掃瞄來請求電壓的降低,並且可以向主芯粒發送電壓改變訊息。主芯粒可以儲存電壓改變訊息及/或來自電壓改變訊息的掃瞄鏈資訊,並且繼續等待來自其他從芯粒的額外電壓改變訊息。在聚合訊窗結束時或者回應於全域表決表比較,主芯粒可以產生電源軌調整訊息並且將其發送給PMIC,以實行針對多個芯粒的電壓微調。主芯粒可以過濾或以其他方式忽略指示不需要調整電源軌電壓的掃瞄鏈。
經由實現主從配置,主芯粒可以充當從芯粒與PMIC之間的緩衝器或「中間人」設備。這種多芯粒主從配置可以減少被發送給PMIC的電壓改變請求訊息的數量,這可以減少PMIC所經歷的管理負擔,並且釋放程序以更快地實現電壓微調。
圖1是示出適於實現各個實施例中的任何實施例的實例多芯粒系統電路100的部件方塊圖。所示的實例多芯粒系統100包括位於單個系統封裝或系統級封裝(SIP)104內的四個芯粒110a、110b、110c和110d、PMIC 102以及控制器到控制器介面108。多芯粒系統100亦可以包括介面匯流排106(例如,系統電源管理介面(SPMI)、內部積體電路(I
2C)匯流排)、嵌入式記憶體(MX)電源軌118和核心邏輯(CX)電源軌120。芯粒110a、110b、110c和110d可以用於執行根據各個實施例的操作。然而,可以使用大於或等於兩個芯粒的任何數量的芯粒來實現各個實施例。例如,兩芯粒系統可以利用第一(即主要/主)芯粒和第二芯粒(即輔助/附屬/從)芯粒來實現。作為另一實例,可以在SIP 104內實現六個芯粒,其中一個芯粒作為第一(即主要/主)芯粒進行操作,而剩餘的五個芯粒作為第二(即輔助/附屬/從)芯粒進行操作。在一些實施例中,PMIC 102可以位於SIP 104內。
在一些實施例中,芯粒110a、110b、110c和110d中的一者或多者可以共同作為多芯粒系統100的中央處理單元(CPU)進行操作,CPU經由執行由軟體應用的指令指定的算術、邏輯、控制和輸入/輸出(I/O)操作來執行這些指令。在一些實施例中,芯粒110a、110b、110c和110d中的一者或多者可以作為專用處理單元進行操作。每個芯粒110a、110b、110c和110d可以包括一或多個核心,並且每個核心可以獨立於相同的芯粒內的其他核心和其他芯粒內的核心執行操作。此外,芯粒110a、110b、110c和110d中的任何一者或全部可以作為處理器集群架構(例如,同步處理器集群架構、非同步或異構處理器集群架構等)的一部分而包括。
芯粒110a、110b、110c和110d可以包括各種額外的系統部件、資源和定製電路,其用於管理感測器資料、類比數位轉換、無線資料傳輸,以及用於執行其他專門操作,諸如解碼資料封包和處理經編碼的音訊和視訊訊號以在網頁瀏覽器中渲染。例如,芯粒110a、110b、110c和110d的系統部件和資源可以包括功率放大器、電壓調整器、振盪器、鎖相迴路、外設橋、資料控制器、記憶體控制器、系統控制器、存取埠、計時器、以及用於支援在SIP 104之內執行的處理器和軟體客戶端以及在SIP 104之外執行但與多芯粒系統100內的SIP(例如,PMIC 102)進行電通訊的處理器和軟體客戶端的其他類似部件。系統部件和資源及/或定製電路亦可以包括用於與周邊設備(諸如相機、電子顯示器、無線通訊設備、外部記憶體晶片等)對接的電路。除了通訊介面114a、114b、114c、114c和114d(被標記為「介面」)之外,芯粒110a、110b、110c和110d亦可以各自包括用於與在SIP外部的資源(諸如時鐘或PMIC 102)進行通訊的輸入/輸出模組。在SIP外部的資源可以由芯粒110a、110b、110c和110d中的兩者或更多者共享。
芯粒110a、110b、110c和110d可以包括記憶體設備122a、122b、122c和122d(被標記為Mem),這些記憶體設備可以是揮發性或非揮發性記憶體,其被配置為儲存資料和處理器可執行代碼以供每個相應的芯粒110a、110b、110c和110d的一或多個處理核心124a、124b、124c和124d(被標記為Proc)存取。在一些實施例中,通訊介面114a、114b、114c和114d可以由一或多個處理核心124a、124b、124c、124d的部分來實現。例如,一或多個處理核心124a、124b、124c、124d可以包括通用輸入/輸出(GPIO)引腳或內部硬接線通訊介面,其可以用於從PMIC接收資料訊息以及向PMIC發送資料訊息以及在其他芯粒通訊介面之間接收和發送資料訊息。在一些實施例中,通訊介面114a、114b、114c和114d可以是在一或多個處理核心124a、124b、124c、124d外部實現並且與其進行通訊的可程式設計邏輯裝置(PLD)。
除了記憶體設備122a、122b、122c和122d之外,多芯粒系統100亦可以包括位於SIP 104內部或外部的一或多個額外記憶體設備(未圖示),其可以被配置用於各種目的。包括記憶體設備122a、122b、122c和122d的一或多個記憶體設備可以包括揮發性記憶體,諸如隨機存取記憶體(RAM)或主記憶體或快取記憶體。這些記憶體設備可以被配置為暫時地保存從資料感測器或子系統接收的有限量的資料、從非揮發性記憶體請求的資料及/或處理器可執行代碼指令(其從非揮發性記憶體載入到記憶體設備以預期基於各種因素的將來存取)、及/或由芯粒110a、110b、110c和110d產生並且暫時地儲存以用於將來快速存取而不儲存在非揮發性記憶體中的中間處理資料及/或處理器可執行代碼指令。多芯粒系統100的記憶體設備122a、122b、122c和122d可以被配置為至少暫時地儲存被載入到每個芯粒110a、110b、110c和110d中的記憶體設備122a、122b、122c和122d的資料和處理器可執行代碼,以供芯粒110a、110b、110c和110d的處理核心124a、124b、124c和124d中的一者或多者存取。被載入到每個芯粒110a、110b、110c和110d中的記憶體設備122a、122b、122c和122d的資料或處理器可執行代碼可以是回應於由處理核心124a、124b、124c和124d執行功能而載入的。
每個芯粒110a、110b、110c和110d可以包括電源控制器112a、112b、112c、112d(被標記為Ctrlr)、通訊介面114a、114b、114c、114d以及感測器116a、116b、116c、116d。
感測器116a、116b、116c和116d可以是電壓感測器、功率感測器及/或溫度感測器,其被配置為量測感知參數,並且分別向電源控制器112a、112b、112c和112d提供感測器量測。感測器116a可以代表電連接到電源控制器112a的一或多個感測器。類似地,感測器116b、116b和116d可以各自包括一或多個感測器。感測器116a、116b、116c和116可以實體上遍及每個相應的芯粒110a、110b、110c和110d晶粒來定位,以收集關於每個芯粒110a、110b、110c和110d的操作狀態的感知參數。感測器116a、116b、116c和116d可以在測試和正常操作程序期間遍及每個相應的芯粒110a、110b、110c和110d量測熱特性和電特性(亦即,提供溫度和電壓資訊)。由感測器116a、116b、116c和116d量測的溫度值、電壓值及/或功率值可以被傳送到每個相應的電源控制器112a、112b、112c和112d以進行處理,並且可以中繼到每個相應的芯粒110a、110b、110c和110d中的一或多個記憶體設備以進行儲存。
感測器116a、116b、116c和116d可以在每個相應的芯粒110a、110b、110c和110d晶粒內以串聯方式或以「菊輪鍊」方式來組織。感測器116a、116b、116c和116d可以與每個相應的電源控制器112a、112b、112c和112d串聯地連接,使得每個相應的電源控制器112a、112b、112c和112d可以收集來自每個感測器及/或感測器鏈的量測。例如,感測器116a可以提供關於遍及芯粒110a晶粒的可量測條件的感知資訊,其中串聯或鏈式連接將所收集的感知資訊中繼到電源控制器112a以進行處理。這種串聯配置可以被稱為「掃瞄鏈」,其中來自掃瞄鏈內的每個感測器的感知資訊被傳遞給下一個感測器並且由下一個感測器中繼,直到該資訊被提供給電源控制器(例如,電源控制器112a、112b、112c和112d)為止,電源控制器可以聚合或以其他方式組織感知資訊。
每個電源控制器112a、112b、112c和112d可以將所收集的感知資訊傳送到每個相應的通訊介面114a、114b、114c和114d。在一些實施例中,每個電源控制器112a、112b、112c和112d可以將所收集的感知資訊直接傳送到每個相應的通訊介面114a、114b、114c和114d。在一些實施例中,每個電源控制器112a、112b、112c和112d可以將所收集的感知資訊以打包的訊息的形式(諸如包括所獲得的感知資訊的電壓改變訊息)傳送到每個相應的通訊介面114a、114b、114c和114d。
在各個實施例中,電源控制器112a、112b、112c和112d可以基於由相應的感測器116a、116b、116c和116d量測的感知資訊,來決定PMIC 102是否應當執行電壓微調。例如,電源控制器112a可以基於由感測器116a量測的感知資訊來決定記憶體塊或核心需要較高電壓以高效且無誤地操作。電源控制器112a可以建立電壓調整訊息或電壓改變訊息並且將其發送給通訊介面114a,並且通訊介面114a可以將電壓改變訊息中繼到PMIC 102。電壓改變訊息可以指示PMIC 102應當跨MX電源軌118及/或CX電源軌120執行哪些電壓微調(若有的話),以向芯粒110a內的電力需求高的記憶體塊及/或核心供應足夠的電力。電源控制器112b、112c和112d可以以類似的方式操作,從而聚合感知資料以產生要中繼到PMIC 102以遍及多芯粒系統100實行電壓微調的電壓改變訊息。
每個通訊介面114a、114b、114c和114d可以被配置為跨介面匯流排106將由電源控制器112a、112b、112c和112d收集的感知資訊傳送給PMIC 102。通訊介面114a、114b、114c和114d可以被配置為將感知資訊重新封包成適於與PMIC 102進行傳送的格式。例如,每個通訊介面114a、114b、114c和114d可以被配置為將任何接收到的電壓改變訊息(其包括感知資訊及/或針對增加或降低電壓值的請求)重新封包為可以發送給PMIC 102的電源軌調整訊息。每個通訊介面114a、114b、114c和114d可以被配置為經由介面匯流排106以及另外經由控制器到控制器介面108將控制資訊/訊息/命令和感知資訊傳送給互動通訊介面114a、114b、114c和114d。因此,芯粒110a、110b、110c和110d可以經由介面匯流排106及/或控制器到控制器介面108彼此通訊,這取決於所發送的命令或資訊的功能。
PMIC 102可以控制或以其他方式調整用於為每個芯粒110a、110b、110c和110d的部分供電的各種電源軌。例如,PMIC 102可以經由MX電源軌118向芯粒110a、110b、110c和110d的記憶體設備或塊供應電力,並且可以經由CX電源軌120向芯粒110a、110b、110c和110d的處理核心供應電力。如圖所示,芯粒110a、110b、110c和110d可以共享相同的MX電源軌118和CX電源軌120,其中PMIC 102可以單獨地調整供應給每個芯粒110a、110b、110c和110d的記憶體塊和核心的電力。
PMIC 102可以基於由感測器116a、116b、116c和116d收集的感知資訊,來調整經由MX電源軌118和CX電源軌120供應給每個芯粒110a、110b、110c和110d的電力。指示特定芯粒的一部分需要較多電力以無誤地操作(例如,由高電流消耗導致的高溫、高電壓利用率)的感知資訊可以使得PMIC 102相應地跨MX電源軌118及/或CX電源軌120供應較高電壓。例如,感測器116a的電壓感測器可以量測芯粒110a的核心可能沒有足夠的電力來執行一或多個操作。PMIC 102可以接收該電壓資訊,以增加經由CX電源軌120供應給該電力需求高的核心的電壓。指示特定芯粒的一部分可以利用較少電力進行操作的感知資訊可以使得PMIC 102相應地跨MX電源軌118及/或CX電源軌120供應較低電壓。例如,基於關於記憶體設備或核心是非活動的或具有減少的活動(亦即,低於最低操作要求的較低功耗)的感知資訊,PMIC 102可以經由相應地降低經由MX電源軌118及/或CX電源軌120供應給芯粒中的非活動或不太活動的記憶體設備及/或核心的電壓,從而降低功耗。指示向特定芯粒的一部分供應了不超過最低操作要求(亦即,在電力要求閥值內)的足夠電力的感知資訊可以使得PMIC 102不進行對跨MX電源軌118及/或CX電源軌120供應給芯粒的電壓的調整。
在各個實施例中,芯粒110a、110b、110c和110d中的一者可以被配置為主芯粒,以及剩餘的芯粒可以被配置為從芯粒。例如,芯粒110a可以被配置為主芯粒,以及芯粒110b、110c和110d可以被配置為由芯粒110a控制的從芯粒。除非另有規定,否則使用被配置為主芯粒的芯粒110a和被配置為從芯粒的芯粒110b、110c、110d的非限制性實例來描述以下實例和實施例。從芯粒110b、110c和110d可以經由從芯粒通訊介面114b、114c和114d將所獲得的感知資訊傳送給主芯粒110a的通訊介面114a,而不是跨介面匯流排106將感知資訊(即打包為電壓改變訊息)直接傳送給PMIC 102。基於從從芯粒通訊介面114b、114c和114d以及主芯粒電源控制器112a接收的電壓改變訊息,主芯粒通訊介面114a可以聚合總電壓改變訊息,以決定應當跨MX電源軌118和CX電源軌120執行哪些(若有的話)電壓微調。主芯粒通訊介面114a可以聚合所接收的電壓改變訊息(其可以包括所獲得的感知資訊及/或關於增加或降低電壓的指示),以產生電源軌調整訊息。主芯粒通訊介面114a可以經由介面匯流排106(例如,SPMI、I
2C匯流排等)向PMIC 102發送電源軌調整訊息。電源軌調整訊息可以包括用於PMIC 102針對每個芯粒110a、110b、110c和110d進行跨MX電源軌118及/或CX電源軌120的電壓微調的指令。
每個電源控制器112a、112b、112c和112d可以收集感知資訊,以決定任何電壓微調可以安全地執行(亦即,當電力消耗處於降低的要求時,降低電壓位準)還是需要儘可能快地執行(亦即,需要較高電壓以高效且無誤地操作)。例如,主芯粒電源控制器112a可以決定主芯粒110a的核心需要較多電力,從芯粒電源控制器112b可以決定可以在不影響效能的情況下向從芯粒110b的記憶體塊提供較少電力,從芯粒電源控制器112c可以決定不需要針對從芯粒110c改變跨MX電源軌118和CX電源軌120的電壓位準,並且從芯粒電源控制器112d可以決定從芯粒110d的核心可以以較少電力正常地操作以及從芯粒110d的記憶體塊需要較多電力。每個電源控制器112a、112b、112c和112d可以產生電壓改變訊息,其至少包括關於增加、降低或不改變跨MX電源軌118及/或CX電源軌120供應的電壓的指示。可以將電壓改變訊息發送給每個相應的通訊介面114a、114b、114c和114d,並且從芯粒通訊介面114b、114c和114d可以將電壓改變訊息發送給主芯粒通訊介面114a。基於所有接收到的電壓改變訊息,主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102,該電源軌調整訊息使得PMIC 102根據本實例執行以下操作:(i)針對主芯粒110a,增加經由CX電源軌120到核心的電壓,並且不進行跨MX電源軌118的電壓調整;(ii)針對從芯粒110b,降低經由MX電源軌118到記憶體塊的電壓,並且不進行跨CX電源軌120的調整;(iii)針對從芯粒110c,不進行跨MX電源軌118或CX電源軌120的任何調整;及(iv)針對從芯粒110d,降低經由CX電源軌120到核心的電壓,並且增加經由MX電源軌118到記憶體塊的電壓。
在一些實施例中,由從芯粒電源控制器112b、112c、112d產生並且中繼到從芯粒通訊介面114b、114c、114d的電壓改變訊息可以被發送給主芯粒通訊介面114a(一旦這些電壓改變訊息被產生)。例如,從芯粒電源控制器112b可以決定可以執行或需要電壓微調,並且繼續產生電壓改變訊息。同時,從芯粒電源控制器112c和112d可能仍然在處理感知資訊,以決定是否可以針對該相應的芯粒執行任何電壓微調。獨立於其他從芯粒的程序,從芯粒通訊介面114b可以將電壓改變訊息從從芯粒電源控制器112b中繼到主芯粒通訊介面114a。假設來自從芯粒電源控制器112b的電壓改變訊息正在請求跨任何電源軌的電壓增加(亦即,需要較高電壓以防止錯誤及/或系統故障),主芯粒通訊介面114a可以基於從芯粒電源控制器112b的電壓改變訊息來立即產生電源軌調整訊息並且將其發送給PMIC 102,而不管主芯粒電源控制器112a是否已經產生其自己的電壓改變訊息或著從從芯粒通訊介面114c和114d接收到新的電壓改變訊息。這可以允許要求電壓的增加的芯粒儘可能快地接收增加的電壓。
在一些實施例中,介面匯流排106(例如,SPMI匯流排)可以被配置為:除了主芯粒通訊介面114a之外,亦允許從芯粒通訊介面114b、114c、114d與PMIC 102直接進行通訊。從芯粒通訊介面114b、114c、114d可以以與主芯粒通訊介面114a類似的方式,產生電源軌調整訊息並且經由介面匯流排106將其發送給PMIC 102。這可以允許從芯粒通訊介面114b、114c、114d使得PMIC 102針對每個從芯粒110b、110c、110d執行跨獨立的非共享電源軌的電壓微調。因此,PMIC 102可以從主芯粒通訊介面114a和從芯粒通訊介面114b、114c、114d接收多個電源軌調整訊息。PMIC 102可以從主芯粒通訊介面114a接收電源軌調整訊息(亦即,共享電源軌調整訊息),該電源軌調整訊息可以命令PMIC 102執行跨由主芯粒110a和從芯粒110b、110c、110d中的至少一個從芯粒共享的一或多個電源軌的電壓微調。此外,PMIC 102可以從從芯粒通訊介面114b、114c、114d接收電源軌調整訊息(亦即,獨立電源軌調整訊息),其可以通知或命令PMIC 102執行跨從芯粒110b、110c、110d的一或多個獨立電源軌的電壓微調。例如,從芯粒電源控制器112b可以基於與僅由從芯粒110b利用的獨立電源軌相對應的感知參數來產生電壓改變訊息,並且可以將電壓改變訊息發送給從芯粒通訊介面114b。從芯粒通訊介面114b可以產生獨立電源軌調整訊息並且將其發送給PMIC 102,以提示或使得PMIC 102調整僅由從芯粒110b利用的獨立電源軌的電壓。類似地,PMIC 102可以從主芯粒通訊介面114a接收電源軌調整訊息(亦即,獨立電源軌調整訊息),其可以命令PMIC 102執行跨主芯粒110a的一或多個獨立電源軌的電壓微調。
在一些實施例中,除了與由主芯粒110a和從芯粒110b、110c、110d共享的電源軌相對應的電壓改變訊息之外,主芯粒通訊介面114a亦可以聚合與主芯粒110a和從芯粒110b、110c、110d的獨立的非共享電源軌相對應的電壓改變訊息。從芯粒電源控制器112b、112c、112d可以產生與獨立的非共享電源軌相對應的電壓改變訊息,並且向從芯粒通訊介面114b、114c、114d發送與獨立電源軌相對應的電壓改變訊息。從芯粒通訊介面114b、114c、114d可以向主芯粒通訊介面114a發送電壓改變訊息。主芯粒通訊介面114a可以基於與獨立電源軌相對應的電壓改變訊息來產生一或多個電源軌調整訊息。主芯粒通訊介面114a可以向PMIC 102發送電源軌調整訊息,以使得PMIC調整主芯粒110a和從芯粒110b、110c、110d中的至少一者的獨立電源軌。
在一些實施例中,電壓改變訊息可以包括與針對共享電源軌和獨立電源軌兩者的電壓改變相對應的感知資訊。例如,從芯粒電源控制器112b可以基於與共享電源軌和獨立電源軌相對應的感知參數來產生電壓改變訊息。因此,由主芯粒110a或從芯粒110b、110c、110d發送給PMIC 102的單個電源軌調整訊息可以使得PMIC 102針對共享電源軌和至少一個獨立電源軌執行電壓微調。因此,在其中主芯粒通訊介面114a聚合從從芯粒通訊介面114b、114c、114d接收的電壓改變訊息的實施例中,主芯粒通訊介面114a可以產生單個電源軌調整訊息,該電源軌調整訊息可以包括針對PMIC 102的以下指令中的至少一個指令:(i)調整由主芯粒110a和從芯粒110b、110c、110d中的至少兩者共享的電源軌的電壓;(ii)調整僅由主芯粒110a利用的獨立電源軌的電壓;(iii)調整僅由從芯粒110b利用的獨立電源軌的電壓;(iv)調整僅由從芯粒110c利用的獨立電源軌的電壓;及(v)調整僅由從芯粒110d利用的獨立電源軌的電壓。
在一些實施例中,主芯粒通訊介面114a可以在(例如,從從芯粒通訊介面114b)接收到請求跨任何電源軌的電壓的增加的電壓改變訊息之後,可以等待預定時間段或聚合訊窗,使得主芯粒通訊介面114a可能能夠(例如,從主芯粒電源控制器112a及/或從芯粒通訊介面114c、114d)接收要包括在電源軌調整訊息中的額外電壓改變訊息。假設來自從芯粒通訊介面114b的電壓改變訊息正在請求跨任何電源軌的電壓降低而不是電壓增加,則主芯粒通訊介面114a可以在接收到電壓改變訊息之後等待預定時間段,從而使得主芯粒通訊介面114a能夠接收要包括在電源軌調整訊息中的額外電壓改變訊息,同時等待其他電源控制器(例如,電源控制器112a、112c、112d)決定是否可以或者應當執行任何額外電壓微調。
將一個芯粒配置為主芯粒並且將剩餘芯粒配置為對應的從芯粒,這可以允許主芯粒作為PMIC 102與任何從芯粒之間的緩衝器進行操作。與其中所有芯粒皆與PMIC 102傳送電壓改變訊息的多芯粒系統相比,單個主芯粒與PMIC 102進行通訊可以減少或以其他方式限制跨介面匯流排106中繼的控制和資訊訊息的數量。因此,其中一個芯粒聚合電壓改變訊息並且產生針對PMIC的單個電源軌調整訊息的主從芯粒配置可以減少計算資源,並且因此減少高效地為多芯粒系統100內的SIP 104供電所需要的總功耗。
在一些實施例中,多芯粒主從配置可以與非芯粒設計配置合併。例如,諸如多芯粒系統電路100之類的多芯粒系統可以與非芯粒硬體部件及/或硬體功能方塊一起製造和合併。非芯粒硬體部件及/或硬體功能方塊可以包括電源軌,這些電源軌可以與多芯粒系統電路100的電源軌合併或者以其他方式電連接。因此,經合併的非芯粒硬體部件及/或硬體功能方塊的電源軌電壓值可以由多芯粒系統電路100以與主芯粒110a調整從芯粒110b、110c、110d的電源軌電壓值類似的方式進行調整。
圖2-4是示出根據一些實施例的用於管理多芯粒系統內的電源的操作和設備到設備通訊的訊息流程圖200、300和400。在圖2-4中所示的用於管理多芯粒系統內的電源的操作和通訊可以使用經由介面匯流排(例如,介面匯流排106)通訊地連接的至少兩個芯粒(例如,芯粒110a、110b、110c、110d)和PMIC(例如,PMIC 102)來實現。在圖2-4中所示的操作或通訊中的一些可能並非在所有實施例中皆執行,並且操作和通訊可以按照與在圖2-4中所示的實例不同的順序來執行。
參考圖2-4,具有主芯粒電源控制器112a和主芯粒通訊介面114a的主芯粒110a可以與具有從芯粒電源控制器112b和從芯粒通訊介面114b的從芯粒110b進行通訊。主芯粒110a的主芯粒通訊介面114a可以與從芯粒通訊介面114b和PMIC 102進行通訊,使得主芯粒通訊介面114a充當從芯粒通訊介面114b與PMIC 102之間的通訊緩衝器。主芯粒電源控制器112a可以將關於主芯粒110a的感知資訊(例如,功率使用/利用率、電壓、溫度、電流)傳送給主芯粒通訊介面114a。從芯粒電源控制器112b可以將關於從芯粒110b的感知資訊傳送給從芯粒通訊介面114b。主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102,以使得PMIC 102執行跨MX和CX電源軌(例如,MX電源軌118、CX電源軌120)的電壓微調。
圖2-4圖示針對當從芯粒電源控制器112b決定以下情況時的各種場景:(i)需要儘可能快地執行電壓微調(例如,必須增加電壓以高效且無誤地操作),(ii)可以執行電壓微調(亦即,當功率消耗處於降低的要求時,可以降低電壓),或者(iii)不需要執行電壓微調(例如,電壓足夠且不超過操作要求)。如圖所示,這些各種場景經由虛線分開,並且分別經由以下標籤來指定:(i)「UP VOTE(向上表決)」(亦即,芯粒需要較多電力)、(ii)「DOWN VOTE(向下表決)」(亦即,芯粒可以以較少電力進行操作)以及(iii)「MID VOTE(中間表決)」(亦即,電壓足夠並且不超過操作要求,並且因此不應當執行電壓微調)。「表決」亦可以被稱為「中斷」。當從芯粒電源控制器112b指示針對增加的電壓、降低的電壓或無電壓改變的請求時,可以執行被指定給每個場景的各種操作和通訊。例如,參考圖2,從芯粒電源控制器112b可以發送指示針對增加的電壓的請求的向上表決,並且操作和通訊208-222可以被執行。類似地,從芯粒電源控制器112b可以發送指示針對降低的電壓的請求的向下表決,並且操作和通訊228-238可以被執行。作為另一實例,參考圖4,當從芯粒電源控制器112b可以發送指示針對增加的電壓的請求的向上表決時,操作和通訊412-418和428-438可以被執行。
圖2是示出根據一些實施例的用於利用聚合訊窗來管理多芯粒系統內的電源的操作和設備到設備通訊的訊息流程圖200。在圖2中所示的實施例的概述中,主芯粒通訊介面114a可以從每個從芯粒通訊介面(例如,從芯粒通訊介面114b)接收一個請求(例如,向上表決、向下表決、中間表決)。例如,主芯粒110a的主芯粒通訊介面114a可以從從芯粒110b的從芯粒通訊介面114b接收向上表決、向下表決或中間表決。可以實現聚合訊窗,在聚合訊窗期間主芯粒通訊介面114a可以從從芯粒通訊介面114b接收表決。聚合訊窗可以被定義為如下的時間範圍:在該時間範圍期間,主芯粒通訊介面114a從從芯粒通訊介面114b和任何其他從芯粒通訊介面(例如,從芯粒通訊介面114c、114d)接收任何電壓改變訊息,聚合電壓改變訊息以產生電源軌調整訊息,向PMIC 102發送電源軌調整訊息,並且隨後啟動新聚合訊窗。在聚合訊窗開始時,主芯粒電源控制器112a可以開始聚合來自其感測器的感知資訊,以決定是否應當對主芯粒110a電源軌執行電壓微調。在主芯粒電源控制器112a向主芯粒通訊介面114a發送建議或電壓改變訊息(亦即,向上/中間/向下表決)之後,主芯粒電源控制器112a可以等待,直到主芯粒通訊介面114a完成聚合該電壓改變訊息以及從從芯粒通訊介面114b接收的任何其他電壓改變訊息。一旦聚合訊窗結束及/或主芯粒通訊介面114a向PMIC 102發送電源軌調整訊息,就可以啟動新聚合訊窗,並且主芯粒電源控制器112a可以重複聚合感知資訊的程序。
通常,在圖2中所示的實施例中的操作和通訊可以實現以下規則:立即為向上表決服務以避免功能故障;忽略中間表決,因為它們不需要任何電壓微調;及向下表決被認為具有滯後並且稀疏地聚合,以減少主芯粒通訊介面114a和從芯粒通訊介面114b上的整體負載。圖2的整體方法可以經由以下高級演算法來表示:
For 每個(聚合窗口)
If (電源控制器建議UP表決)
將電壓增加到UP並且啟動新聚合訊窗
else (電源控制器建議DOWN表決)
在聚合訊窗結束時聚合來自所有芯粒的表決,並且採取必要的動作
else (電源控制器建議MID表決)
在先前訊窗到期之後忽略表決,開始新聚合訊窗
在先前訊窗到期之後開始新聚合訊窗。
參考圖2,在操作202和204中,主芯粒電源控制器112a和從芯粒電源控制器112b內的計數器可以被設置為預定計數器值,以便為新啟動的聚合訊窗作準備。計數器可以是預設的及/或可以是可由主芯粒電源控制器112a和從芯粒電源控制器112b在每個新聚合訊窗之前配置的。可以針對每種表決類型設置或預設計數器。例如,向上表決計數器(諸如CONSEQUTIVE_UP)可以被設置為值0(亦即,一旦電源控制器建議電壓增加,則無等待時間,以便儘可能快地滿足電源需求),中間表決計數器(諸如CONSEQUTIVE_MID)可以被設置為14,並且向下表決計數器(諸如CONSEQUTIVE_DN)可以被設置為14。計數器值可以決定電源控制器在向芯粒內的對應通訊介面發送電壓改變訊息(若有的話)之前可以等待多長時間。在計數器等待時間期間,電源控制器可以繼續接收和聚合來自對應掃瞄鏈感測器的感知資訊。在一些實施例中,向上表決計數器可以被設置為不是0的值,使得不立即為向上表決服務,而是可以替代地允許電源控制器等待小時段(例如,計數器值3)來聚合與向上表決相關的額外感知資訊(亦即,建議執行較大的電壓微調)。
與在完成每個電源控制器感知資訊掃瞄之後(例如,每30微秒)發送中間表決或向下表決相反,各種計數器可以用於將從電源控制器(例如,112a、112b、112c、112d)到其相應的通訊介面(例如,114a、114b、114c、114d)的總傳輸最小化。經由等待並且聚合向下表決和中間表決(其不像向上表決一樣處於高優先順序),可以減少由通訊介面(例如,114a、114b、114c、114d)執行的通訊和操作的數量以及經歷的中斷的數量(亦即,電壓改變訊息被保持在等待時段內,而不是在每次感知資訊掃瞄之後自動地發送給通訊介面)。因此,實現等待時間計數器和聚合訊窗可以允許以間隔將電壓改變訊息發送給從芯粒通訊介面並且最終發送給主芯粒通訊介面,從而減少所使用的管理負擔和計算資源。
在操作206中,主芯粒通訊介面114a可以針對聚合訊窗持續時間來設置時間值。在主芯粒通訊介面114a內設置的聚合訊窗時間值可以決定在其期間可以執行操作和通訊208-246的每個聚合訊窗的持續時間。在一個實施例中,聚合訊窗時間值可以是如下的值(例如,3 ms):該值大於用於電源控制器將向下表決或中間表決計數器遞增到其最大計數器值(例如,14)的時段。聚合訊窗時間值的到期可以使得主芯粒通訊介面114a執行操作和通訊242-246。
在通訊208中,從芯粒電源控制器112b可以向從芯粒通訊介面114b發送向上表決建議(亦即,電壓改變訊息)。當從芯粒電源控制器112b執行感測的反覆運算(例如,經由感測器116b)並且決定從芯粒110b的一或多個部分需要較多電力以高效且無誤地操作時,可以發送向上表決建議。由電源控制器量測和聚合感知資訊的一次反覆運算的持續時間可以取決於感測器的數量和掃瞄鏈的實體長度。例如,由電源控制器啟動並且隨後聚合的完整掃瞄需要30微秒。
在通訊210中,從芯粒通訊介面114b可以向主芯粒通訊介面114a發送向上表決建議(亦即,電壓改變訊息)。
在通訊212中,主芯粒通訊介面114a可以向主芯粒電源控制器112a發送用於停止進一步的掃瞄鏈量測直到聚合訊窗結束為止的訊息。該訊息可以包括用於設置主芯粒電源控制器112a的證書簽名請求(CSR)位元以在當前聚合窗口的剩餘持續時間內停止聚合額外的感知資訊的位元、指令及/或命令。
在通訊214中,主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102。基於向上表決建議的電源軌調整訊息可以指示PMIC 102增加由主芯粒110a和從芯粒110b共享的MX及/或CX電源軌的電壓。
在通訊216中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送確認訊息。確認訊息可以包括指示由PMIC 102回應於通訊214而執行或要執行的電壓微調的資訊。由從芯粒通訊介面114b接收的確認訊息可以指示已經立即為向上表決服務,並且從芯粒電源控制器112b應當開始感知資訊掃瞄的新反覆運算,以便為下一聚合訊窗作準備。
在通訊218中,從芯粒通訊介面114b可以向從芯粒電源控制器112b發送指示從芯粒電源控制器112b重新發起掃瞄感知資訊的訊息。可以回應於在通訊216中接收的確認訊息來發送通訊218。從芯粒電源控制器112b可以使用由從芯粒電源控制器112b掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。
在通訊220中,主芯粒通訊介面114a可以向主芯粒電源控制器112a發送指示主芯粒電源控制器112a繼續進一步掃瞄鏈量測的訊息。該訊息可以包括用於重置主芯粒電源控制器112a的CSR位元以重新發起聚合額外的感知資訊的位元、指令及/或命令。主芯粒電源控制器112a可以使用由主芯粒電源控制器112a掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。
在操作222中,主芯粒通訊介面114a可以開始新聚合訊窗。假設聚合訊窗尚未到期,則主芯粒通訊介面114a可以將聚合訊窗的時間值重置為0。例如,聚合訊窗時間值可以是3 ms,並且根據操作和通訊208-220的向上表決建議可能已經在當前聚合訊窗開始之後的0.5 ms內執行。因此,進入當前聚合訊窗的0.5 ms之後,可以開始新聚合訊窗,並且聚合訊窗的計時器可以被重置為0。
在操作224和226中,主芯粒電源控制器112a和從芯粒電源控制器112b可以回應於決定中間表決建議而不執行動作。主芯粒電源控制器112a和從芯粒電源控制器112b可以決定不應當執行電壓微調,使得正為每個芯粒供應足夠量的電力以正常而無誤地操作。由於中間表決不需要被施加到每個芯粒的電壓的改變,因此電源控制器的中間表決建議可以被忽略,由此減少與對應通訊介面的通訊。電源控制器可以在中間表決建議之後繼續進行下一次掃瞄鏈量測。對於從芯粒電源控制器112b的每個中間表決建議,從芯粒電源控制器112b可以將中間表決計數器(例如,CONSECUTIVE_MID)遞增。對於主芯粒電源控制器112a的每個中間表決建議,主芯粒電源控制器112a可以將中間表決計數器遞增。當中間表決計數器達到其預設值(例如,14)時,電源控制器可以進入超時狀態,並且可以停止聚合感知資訊,直到新聚合訊窗開始為止。
在操作228中,從芯粒電源控制器112b可以回應於基於經聚合的感知資訊而決定從芯粒110b的部分可以在降低的電壓位準下充分地執行,來將向下表決計數器遞增。從芯粒電源控制器112b可以將向下表決計數器(例如,CONSEQUTIVE_DN)遞增,並且從芯粒電源控制器112b可以掃瞄來自掃瞄鏈的感知資訊的下一次反覆運算。
在通訊230中,從芯粒電源控制器112b可以回應於決定向下表決計數器已經被遞增到其預設值(例如,14),來向從芯粒通訊介面114b發送向下表決建議(亦即,電壓改變訊息)。向下表決計數器可以由從芯粒電源控制器112b來實現,以確保用於降低跨MX或CX電源軌的電壓的建議是一致的,並且可以在沒有將所供應的電力降低到足夠的操作位準以下的風險的情況下執行。在一些實施例中,儘管被一或多個中間表決中斷,但是向下表決計數器可以對總的向下表決進行計數。例如,若向下表決計數器遞增8次,被中間表決中斷,並且繼續記錄6個以上的向下表決以達到向下表決計數器值14,則從芯粒電源控制器112b可以向從芯粒通訊介面114b發送向下表決建議。在一些實施例中,當被中間表決中斷時,從芯粒電源控制器112b可以重置向下表決計數器。例如,若從芯粒電源控制器112b在達到向下表決計數器值(例如,14)之前將中間表決遞增,則向下表決計數器可以被重置為零。因此,在提出向下表決建議之前,可能需要連續數量的向下表決。
在通訊232中,從芯粒通訊介面114b可以向主芯粒通訊介面114a發送向下表決建議(亦即,電壓改變訊息)。在發送向下表決建議之後,從芯粒通訊介面可以在繼續一些進一步的操作(諸如開始下一感知資訊量測週期)之前,等待從主芯粒通訊介面114a接收確認(例如,ack/nack)回應。
在通訊234中,主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102。基於向下表決建議的電源軌調整訊息可以指示PMIC 102降低由主芯粒110a和從芯粒110b共享的MX及/或CX電源軌的電壓。主芯粒通訊介面114a可以回應於以下各項來發送電源軌調整訊息:(i)所有芯粒建議向下表決,或者(ii)聚合訊窗的到期(亦即,參見操作和通訊240-246)。若所有芯粒皆建議進行向下表決,則主芯粒通訊介面可以向PMIC 102發送電源軌調整訊息,以在聚合訊窗的到期之前執行電壓微調。
在通訊236中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送確認(例如,ack/nack)訊息。確認訊息可以包括指示由PMIC 102回應於通訊234而執行或要執行的電壓微調的資訊。由從芯粒通訊介面114b接收的確認訊息可以指示已經為向下表決服務,並且從芯粒電源控制器112b應當開始感知資訊掃瞄的新反覆運算,以便為下一個聚合訊窗作準備。
在通訊238中,從芯粒通訊介面114b可以向從芯粒電源控制器112b發送指示從芯粒電源控制器112b重新發起掃瞄感知資訊的訊息。可以回應於在通訊236中接收的確認訊息來發送通訊238。從芯粒電源控制器112b可以使用由從芯粒電源控制器112b掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。
在聚合訊窗到期時,主芯粒通訊介面114a可以執行操作242和通訊240、244和246。假設尚未提出向上表決建議,則當聚合訊窗的計時器達到預設聚合訊窗時間值(例如,3 ms)時,其可以到期。
在通訊240中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送用於停止進一步的掃瞄鏈量測和表決聚合程序直到聚合訊窗結束為止的訊息。若從芯粒通訊介面114b在聚合訊窗結束之前沒有向主芯粒通訊介面114a發送向下表決建議(亦即,經由操作和通訊228-238),則主芯粒通訊介面114a可以向從芯粒通訊介面114b發送該訊息。該訊息可以包括用於設置從芯粒通訊介面114b的CSR位元以停止感知資訊和表決聚合程序直到進一步的指令(即通訊246)為止的位元、指令及/或命令。
在操作242中,主芯粒通訊介面114a可以聚合從從芯粒通訊介面和主芯粒電源控制器112a接收的表決建議。為了引用通訊244,建議向下表決的芯粒可以被視為表決芯粒,以及建議中間表決或沒有建議(亦即,在聚合訊窗到期的時候尚未處理表決類型)的芯粒可以被視為無表決芯粒。
在通訊244中,主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102。電源軌調整訊息可以指示PMIC 102降低由主芯粒110a和從芯粒110b共享的MX及/或CX電源軌的電壓。主芯粒通訊介面114a可以回應於所有表決芯粒建議向下表決,來發送電源軌調整訊息。若所有表決芯粒皆建議向下表決,則主芯粒通訊介面114a可以向PMIC 102發送電源軌調整訊息以執行電壓微調。例如,從芯粒通訊介面114b可能尚未在聚合訊窗結束的時候建議表決,但是主芯粒電源控制器112a可能已經建議向下表決。主芯粒通訊介面114a可以在操作242中聚合可用表決(例如,來自主芯粒電源控制器112a的向下表決),以便隨後產生電源軌調整訊息,其包括用於降低跨MX及/或CX電源軌的電壓的指令。
作為另一實例,從芯粒通訊介面114b可能已經建議向下表決,以及主芯粒電源控制器112a可能已經建議中間表決。在這種情況下,主芯粒通訊介面114a可以在操作242中聚合可用表決(例如,來自從芯粒通訊介面114b的向下表決),以便隨後產生電源軌調整訊息,其包括用於降低跨MX及/或CX電源軌的電壓的指令。若在聚合訊窗到期時不存在表決芯粒,則可以不產生電源軌調整訊息或將其發送給PMIC 102,並且程序流程可以繼續進行到通訊246。
在通訊246中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送重置訊息。重置訊息可以包括用於重置從芯粒電源控制器112b的CSR位元以重新發起聚合額外的感知資訊的位元、指令及/或命令。從芯粒電源控制器112b可以使用由從芯粒電源控制器112b掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。重置訊息可以是確認(例如,ack/nack)訊息,其可以包括指示由PMIC 102回應於通訊244而執行或要執行的電壓微調的資訊。由從芯粒通訊介面114b接收的確認訊息可以指示已經為向下表決服務,並且從芯粒電源控制器112b應當開始感知資訊掃瞄的新反覆運算,以便為下一個聚合訊窗作準備。重置訊息可以包括用於指示從芯粒通訊介面114b將向下表決計數器和中間表決計數器重置為0以便為下一個聚合訊窗作準備的位元、指令或命令。
在通訊246之後,主芯粒通訊介面114a可以啟動新的聚合訊窗,並且可以相應地重複操作和通訊202-246。
圖2所示的操作和通訊可以以不同於圖中所示的循序執行。例如,操作224和226可以在通訊208之前以任何循序執行。作為另一實例,通訊216可以發生在通訊214之前。
為了便於說明,圖示兩個芯粒(例如,芯粒110a、110b)的操作以及在其之間的通訊。然而,由110b執行或結合110b執行的相同步驟可以由與主芯粒110a進行電通訊的額外芯粒(例如,110c、110d)同時地執行。例如,回應於從芯粒通訊介面114c提出的向上表決建議,可以向芯粒110b、110c和110d發送通訊216。作為另一實例,當主芯粒電源控制器112a建議向下表決,並且從芯粒通訊介面114b、114c和114d全部根據通訊232建議向下表決時,主芯粒通訊介面114a可以根據通訊234來發送電源軌調整訊息。
圖3是示出根據一些實施例的用於利用聚合訊窗和表決表管理多芯粒系統內的功率的操作和設備到設備通訊的訊息流程圖。參考圖3描述的程序可以減少中斷。
在圖3中所示的實施例中,表決表可以由每個芯粒並且針對每個軌使用,其結果可以由主芯粒通訊介面114a用於產生電源軌調整訊息。從芯粒(例如,從芯粒110b、110c、110d)可以使用表決表來儲存最新建議(例如,中間表決、向下表決),以與先前聚合訊窗中的建議進行比較。若由從芯粒通訊介面114b儲存的從芯粒表決表中的當前表決與先前聚合訊窗中的表決類型不同,則從芯粒通訊介面114b可以向主芯粒通訊介面114a發送中斷(亦即,電壓改變訊息)。在每個聚合訊窗處,主芯粒通訊介面114a可以聚合表決表並且向PMIC發送電源軌調整訊息。因此,表決表可以用作從芯粒通訊介面114b與主芯粒通訊介面114a之間的緩衝器,以經由減少到主芯粒通訊介面114a的傳輸和中斷的總量來最佳化主從通訊。每個從芯粒通訊介面114b、114c、114d可以具有用於儲存來自上一個聚合訊窗的表決狀態(例如,UP/DOWN/MID)的本端表決表。主芯粒通訊介面114a可以儲存用於儲存每個從屬的從芯粒通訊介面114b、114c、114d的表決狀態的單獨的表決表。
通常,在圖3中所示的實施例中的操作和通訊可以實現以下規則:立即為向上表決服務以避免功能故障;及由從芯粒通訊介面114b、114c、114d實現的表決表儲存最新的中間/向下表決,以與先前建議進行比較,並且僅在存在改變時向主芯粒通訊介面114a發送中斷。圖3的整體方法可以由以下高級演算法表示:
For 每個(聚合窗口)
If (電源控制器建議UP表決)
將電壓增加到UP並且啟動新聚合訊窗
else (電源控制器建議DOWN/MID表決)
對照先前表決進行檢查並且僅當存在改變時發送中斷
在聚合訊窗結束時聚合來自所有芯粒的表決,並且採取必要的動作
在先前訊窗到期之後開始新聚合訊窗。
參考圖3,在操作302和304中,主芯粒電源控制器112a和從芯粒電源控制器112b內的計數器可以被設置為預定計數器值,以便為新啟動的聚合訊窗作準備。計數器可以是預設的及/或可以是可由主芯粒電源控制器112a和從芯粒電源控制器112b在每個新聚合訊窗之前配置的。可以針對每種表決類型設置或預設計數器。例如,向上表決計數器(諸如CONSEQUTIVE_UP)可以被設置為值0(亦即,一旦電源控制器建議電壓增加,則無等待時間,以便儘可能快地滿足電力需求),中間表決計數器(諸如CONSEQUTIVE_MID)可以被設置為14,並且向下表決計數器(諸如CONSEQUTIVE_DN)可以被設置為14。計數器值可以決定電源控制器在向芯粒內的對應通訊介面發送電壓改變訊息(若有的話)之前可以等待多長時間。在計數器等待時間期間,電源控制器可以繼續接收和聚合來自對應掃瞄鏈感測器的感知資訊。在一些實施例中,向上表決計數器可以被設置為除了0之外的值,使得不立即為向上表決服務,而是可以替代地允許電源控制器等待小時段(例如,計數器值3)來聚合與向上表決相關的額外感知資訊(亦即,建議執行較大的電壓微調)。
與在完成每個電源控制器感知資訊掃瞄時(例如,每30微秒)發送中間表決或向下表決相反,各種計數器可以用於將從電源控制器(例如,112a、112b、112c、112d)到其相應通訊介面(例如,114a、114b、114c、114d)的總傳輸最小化。經由等待並且聚合向下表決和中間表決(其不像向上表決一樣處於高優先順序),可以減少由通訊介面(例如,114a、114b、114c、114d)執行的通訊和操作的數量以及經歷的中斷的數量(亦即,電壓改變訊息被保持在等待時段內,而不是在每次感知資訊掃瞄之後自動地發送給通訊介面)。因此,實現等待時間計數器和聚合訊窗可以允許以間隔將電壓改變訊息發送給從芯粒通訊介面並且最終發送給主芯粒通訊介面,從而減少所使用的管理負擔和計算資源。
在操作306中,可以針對聚合訊窗持續時間設置時間值,並且表決表可以由主芯粒通訊介面114a發起。在主芯粒通訊介面114a內設置的聚合訊窗時間值可以決定在其期間可以執行操作和通訊308-356的每個聚合訊窗的持續時間。在一個實施例中,聚合訊窗時間值可以是如下的值(例如,3 ms):該值大於用於電源控制器將向下表決或中間表決計數器遞增到其最大計數器值(例如,14)的時段。聚合訊窗時間值的到期可以使得主芯粒通訊介面114a執行操作和通訊344-356。主芯粒通訊介面114a可以初始化表決表,並且將每個從芯粒建議設置為中間表決。例如,由主芯粒通訊介面114a儲存的表決表可以將初始值「MID」分配給從芯粒110b。
在通訊308中,從芯粒電源控制器112b可以向從芯粒通訊介面114b發送向上表決建議(亦即,電壓改變訊息)。當從芯粒電源控制器112b執行感知的反覆運算(例如,經由感測器116b)並且決定從芯粒110b的一或多個部分需要較多電力以高效且無誤地操作時,可以發送向上表決建議。由電源控制器量測和聚合感知資訊的一次反覆運算的持續時間可以取決於感測器的數量和掃瞄鏈的實體長度。例如,由電源控制器啟動並且隨後聚合的完整掃瞄需要30微秒。
從芯粒通訊介面114b可以儲存具有預設值MID的本端表決表。從芯粒通訊介面114b可以利用在通訊308中從從芯粒電源控制器接收的向上表決來更新本機存放區的表決表。
在通訊310中,從芯粒通訊介面114b可以向主芯粒通訊介面114a發送向上表決建議(亦即,電壓改變訊息)。
在通訊312中,主芯粒通訊介面114a可以向主芯粒電源控制器112a發送用於停止進一步的掃瞄鏈量測直到聚合訊窗結束為止的訊息。該訊息可以包括用於設置主芯粒電源控制器112a的證書簽名請求(CSR)位元以在當前聚合窗口的剩餘持續時間內停止聚合額外的感知資訊的位元、指令及/或命令。
在通訊314中,主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102。基於向上表決建議的電源軌調整訊息可以指示PMIC 102增加由主芯粒110a和從芯粒110b共享的MX及/或CX電源軌的電壓。
在通訊316中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送確認訊息。確認訊息可以包括指示由PMIC 102回應於通訊214而執行或要執行的電壓微調的資訊。由從芯粒通訊介面114b接收的確認訊息可以指示已經立即為向上表決服務,並且從芯粒電源控制器112b應當開始感知資訊掃瞄的新反覆運算,以便為下一個聚合訊窗作準備。
在操作318中,從芯粒通訊介面114b可以重置本機存放區的表決表。在通訊308中已經將本端表決表狀態從中間表決(「MID」)改變為向上表決(「UP」)之後,從芯粒通訊介面114b可以將所儲存的值從UP改變為MID。儲存值「MID」的表決表可以表示相關聯的芯粒的當前操作電壓位準將被視為正常操作電壓位準,以用於與後續聚合訊窗中的任何向上表決或向下表決進行比較。例如,從芯粒可能正在1 mV下操作。指示針對增加的電壓的需求的向上表決可以將表決表狀態改變為「UP」,並且PMIC可以根據電源軌調整訊息執行電壓改變(參見通訊308-312)。例如,PMIC可以將跨CX電源軌的電壓增加0.1 mV,以向從芯粒供應足夠的電力。從芯粒通訊介面114b隨後可以在操作318中重置表決表以儲存值「MID」,使得1.1 mV的新操作電壓成為正常操作電壓,並且可以在後續聚合訊窗中進行調整(若建議是UP(亦即,需要大於1.1 mV)或DOWN(亦即,需要小於1.1 mV)的話)。
在通訊320中,從芯粒通訊介面114b可以向從芯粒電源控制器112b發送指示從芯粒電源控制器112b重新發起掃瞄感知資訊的訊息。可以回應於在通訊316中接收的確認訊息來發送通訊320。從芯粒電源控制器112b可以使用由從芯粒電源控制器112b掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。
在通訊322中,主芯粒通訊介面114a可以向主芯粒電源控制器112a發送指示主芯粒電源控制器112a繼續進一步掃瞄鏈量測的訊息。該訊息可以包括用於重置主芯粒電源控制器112a的CSR位元以重新發起聚合額外感知資訊的位元、指令及/或命令。主芯粒電源控制器112a可以使用由主芯粒電源控制器112a掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。
在操作324中,主芯粒通訊介面114a可以開始新聚合訊窗。假設聚合訊窗尚未到期,則主芯粒通訊介面114a可以將聚合訊窗的時間值重置為0。例如,聚合訊窗時間值可以是3 ms,並且根據操作和通訊308-322的向上表決建議可以已經在當前聚合訊窗開始之後的0.5 ms內執行。因此,進入當前聚合訊窗0.5 ms之後,可以開始新聚合訊窗,並且聚合訊窗的計時器可以被重置為0。主芯粒通訊介面114a可以進一步重置表決表以儲存針對每個從芯粒的值「MID」。
在操作326和328中,主芯粒電源控制器112a和從芯粒電源控制器112b可以回應於決定中間表決建議而不執行動作。主芯粒電源控制器112a和從芯粒電源控制器112b可以決定不應當執行電壓微調,使得正為每個芯粒供應足夠的電力以正常而無誤地操作。由於中間表決不需要被施加到每個芯粒的電壓的改變,因此電源控制器的中間表決建議可以被忽略,由此減少與對應通訊介面的通訊。電源控制器可以在中間表決建議之後繼續進行下一次掃瞄鏈量測。對於從芯粒電源控制器112b的每個中間表決建議,從芯粒電源控制器112b可以將中間表決計數器(例如,CONSECUTIVE_MID)遞增。對於主芯粒電源控制器112a的每個中間表決建議,主芯粒電源控制器112a可以將中間表決計數器遞增。當中間表決計數器達到其預設值(例如,14)時,電源控制器可以進入超時狀態,並且可以停止聚合感知資訊,直到新聚合訊窗開始為止。
在操作330中,從芯粒電源控制器112b可以回應於基於經聚合的感知資訊而決定從芯粒110b的部分可以在降低的電壓位準下充分地執行,來將向下表決計數器遞增。從芯粒電源控制器112b可以將向下表決計數器(例如,CONSEQUTIVE_DN)遞增,並且從芯粒電源控制器112b可以掃瞄來自掃瞄鏈的感知資訊的下一次反覆運算。
在通訊332中,從芯粒電源控制器112b可以回應於決定向下表決計數器已經被遞增到其預設值(例如,14),來向從芯粒通訊介面114b發送向下表決建議(亦即,電壓改變訊息)。向下表決計數器可以由從芯粒電源控制器112b來實現,以確保用於降低跨MX或CX電源軌的電壓的建議是一致的,並且可以在沒有將所供應的電力降低到足夠的操作位準以下的風險的情況下執行。在一些實施例中,儘管被一或多個中間表決中斷,但是向下表決計數器可以對總向下表決進行計數。例如,若向下表決計數器遞增8次,被中間表決中斷,並且繼續記錄6個以上的向下表決以達到向下表決計數器值14,則從芯粒電源控制器112b可以向從芯粒通訊介面114b發送向下表決建議。在一些實施例中,當被中間表決中斷時,從芯粒電源控制器112b可以重置向下表決計數器。例如,若從芯粒電源控制器112b在達到向下表決計數器值(例如,14)之前遞增中間表決,則向下表決計數器可以被重置為零。因此,在提出向下表決建議之前,可能需要連續數量的向下表決。
在操作334中,從芯粒通訊介面114b可以將本機存放區的表決表建議(亦即,來自先前聚合窗口的最後的建議)與在通訊332中接收到的向下表決建議進行比較。
在通訊336中,若從芯粒通訊介面114b根據操作334而決定存在建議的改變,則從芯粒通訊介面114b可以向主芯粒通訊介面114a發送向下表決建議(亦即,電壓改變訊息)。例如,若從芯粒通訊介面114b的本機存放區的表決表先前儲存了值「MID」,則從芯粒通訊介面114b可以發送向下表決建議。在發送向下表決建議之後,從芯粒通訊介面可以在進行一些進一步的操作(諸如開始下一個感知資訊量測週期)之前,等待從主芯粒通訊介面114a接收確認(例如,ack/nack)回應。
在通訊338中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送確認(例如,ack/nack)訊息。確認訊息可以包括指示主芯粒通訊介面114a經由通訊336接收到向下表決建議的資訊。由從芯粒通訊介面114b接收的確認訊息可以包括指示從芯粒通訊介面114b開始新一輪的感知資訊量測以準備下一聚合訊窗的資訊。
在操作340中,從芯粒通訊介面114b可以回應於接收通訊338來重置本機存放區的表決表。在通訊308中已經將本端表決表狀態從中間表決(「MID」)改變為向下表決(「DOWN」)之後,從芯粒通訊介面114b可以將所儲存的值從DOWN改變為MID,以便為後續聚合訊窗作準備。
在通訊342中,從芯粒通訊介面114b可以向從芯粒電源控制器112b發送指示從芯粒電源控制器112b重新發起掃瞄感知資訊的訊息。可以回應於在通訊338中接收的確認訊息來發送通訊342。從芯粒電源控制器112b可以使用由從芯粒電源控制器112b掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。
在聚合訊窗到期時,主芯粒通訊介面114a可以執行操作和通訊344-356。假設未提出向上表決建議,則當聚合訊窗的計時器達到預設聚合訊窗時間值(例如,3 ms)時,聚合訊窗可以到期。
在通訊344中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送用於停止進一步的掃瞄鏈量測和表決聚合程序直到聚合訊窗結束為止的訊息。若從芯粒通訊介面114b在聚合訊窗結束之前沒有向主芯粒通訊介面114a發送向上表決建議(亦即,經由通訊308、310),則主芯粒通訊介面114a可以向從芯粒通訊介面114b發送該訊息。該訊息可以包括用於設置從芯粒通訊介面114b的CSR位元以停止感知資訊和表決聚合程序直到進一步的指令(即通訊356)的位元、指令及/或命令。
在操作346中,主芯粒通訊介面114a可以聚合從從芯粒通訊介面和主芯粒電源控制器112a接收的表決建議。聚合每個芯粒的表決可以決定在每個聚合訊窗內執行的剩餘操作和通訊。例如,若主芯粒通訊介面114a決定所有芯粒皆建議向下表決(亦即,根據針對每個芯粒的操作和通訊330-342),則多芯粒系統可以執行操作和通訊348-352。替代地,若主芯粒通訊介面114a決定至少一個芯粒不建議向下表決(亦即,無表決或中間表決),則多芯粒系統可以執行通訊354。
在通訊348中,主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102。電源軌調整訊息可以指示PMIC 102降低由主芯粒110a和從芯粒110b共享的MX及/或CX電源軌的電壓。主芯粒通訊介面114a可以回應於所有芯粒皆建議向下表決來發送電源軌調整訊息。
在操作350中,主芯粒通訊介面114a可以重置表決表,以針對在通訊336期間向主芯粒通訊介面114a發送向下表決的每個從芯粒儲存值「MID」。因此,主芯粒通訊介面114a可以將在主芯粒表決表中針對任何向下表決的芯粒的先前儲存為「DOWN」的任何表決狀態值重置為「MID」狀態。
在通訊352中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送確認(例如,ack)訊息。確認訊息可以包括指示由PMIC 102回應於通訊348而執行或要執行的電壓微調的資訊。從芯粒通訊介面114b接收的確認訊息可以包括指示從芯粒通訊介面114b開始新一輪的感知資訊量測以準備下一聚合訊窗的資訊。
在通訊354中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送否定確認(例如,nack)訊息。否定確認訊息可以包括指示主芯粒通訊介面114a未產生電源軌調整訊息並且因此PMIC 102未執行電壓微調整的資訊。從芯粒通訊介面114b接收到的否定確認訊息可以包括指示從芯粒通訊介面114b開始新一輪的感知資訊量測以準備下一聚合訊窗的資訊。
在通訊356中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送重置訊息。重置訊息可以包括用於重置從芯粒電源控制器112b的CSR位元以重新發起聚合額外的感知資訊的位元、指令及/或命令。從芯粒電源控制器112b可以使用由從芯粒電源控制器112b掃瞄的感知資訊來決定在隨後的聚合訊窗期間可以執行哪些(若有的話)電壓微調。重置訊息可以包括用於指示從芯粒通訊介面114b將向下表決計數器和中間表決計數器重置為0以便為下一個聚合訊窗作準備的位元、指令或命令。
在通訊356之後,可以由主芯粒通訊介面114a發起新的聚合訊窗,並且可以相應地重複操作和通訊302-356。
圖3所示的操作和通訊可以按照與圖中所示的順序不同的循序執行。例如,操作326和328可以按照通訊308之前的任何循序執行。作為另一實例,通訊316可以發生在通訊314之前。
為了便於說明,圖示兩個芯粒(例如,芯粒110a、110b)的操作以及在其之間的通訊。然而,由110b執行或結合110b執行的相同步驟可以由與主芯粒110a進行電通訊的額外芯粒(例如,110c、110d)同時地執行。例如,可以回應於由從芯粒通訊介面114c提出的向上表決建議,來向芯粒110b、110c和110d發送通訊316。作為另一實例,當主芯粒電源控制器112a建議向下表決,並且從芯粒通訊介面114b、114c和114d全部根據通訊336建議向下表決時,主芯粒通訊介面114a可以根據通訊348發送電源軌調整訊息。
圖4是示出根據一些實施例的用於利用表決表管理多芯粒系統內的電源的操作和設備到設備通訊的訊息流程圖400。參考圖4描述的程序可以減少主芯粒通訊介面114a上的負載。
在圖4中所示的實施例的概述中,表決表可以由每個芯粒並且針對每個電源軌來使用,其結果可以由主芯粒通訊介面114a用於產生電源軌調整訊息。主芯粒通訊介面114a可以維護表決表,並且在針對任何芯粒存在表決的改變(例如,UP/DOWN/MID)時聚合表決表結果。經由僅在表決表中存在改變時進行聚合,可以提高聚合速度並且使計算資源使用最小化(亦即,用於聚合表決表結果和產生電源軌調整訊息的處理器週期的數量減少)。在PMIC 102根據電源軌調整訊息實行電壓微調並且電源軌電壓被穩定之後,可以重置表決表,並且可以不需要更多的聚合,直到觀察到芯粒表決中的下一改變為止。經由利用主芯粒通訊介面114a表決表和從芯粒通訊介面114b表決表而不利用聚合訊窗,表決聚合可以僅在主芯粒表決表中存在改變時發生,而不是在每個聚合訊窗結束時。因此,經由避免無需進行電壓微調的預設聚合週期(例如,每3 ms),可以節省處理器週期。例如,假設在所有芯粒中的電壓要求保持一致,並且不需要增加或降低,則主芯粒110a可以避免無限期地在聚合程序上使用處理器週期。
通常,在圖4中所示的實施例中的操作和通訊可以實現以下規則:立即為向上表決服務以避免功能故障;從芯粒通訊介面114b、114c、114d將最新的向上表決MID/DOWN表決建議儲存在表決表中,與先前表決建議進行比較,並且僅當存在改變時才向主芯粒通訊介面114a發送中斷;及僅當在由主芯粒通訊介面114a儲存的表決表中存在改變時,主芯粒通訊介面114a才進行聚合。圖3的整體方法可以由以下高級演算法來表示:
For 每個(聚合窗口)
If (電源控制器建議UP表決)
將電壓增加到UP並且啟動新聚合訊窗
else (電源控制器建議DOWN/MID表決)
對照先前表決進行檢查並且僅當存在改變時發送中斷
若在主表決表中存在改變,則聚合來自所有芯粒的表決,並且採取必要的動作。
參考圖4,在操作402和404中,主芯粒電源控制器112a和從芯粒電源控制器112b內的計數器可以被設置為預定計數器值,以便為新啟動的聚合訊窗作準備。計數器可以是預設的及/或可以是可由主芯粒電源控制器112a和從芯粒電源控制器112b在系統初始化時配置的。可以針對每種表決類型設置或預設置計數器。例如,向上表決計數器(諸如CONSEQUTIVE_UP)可以被設置為值0(亦即,一旦電源控制器建議電壓增加,則無等待時間,以便儘可能快地滿足電力需求),中間表決計數器(諸如CONSEQUTIVE_MID)可以被設置為10,並且向下表決計數器(諸如CONSEQUTIVE_DN)可以被設置為10。計數器值可以決定電源控制器在向芯粒內的對應通訊介面發送電壓改變訊息(若有的話)之前可以等待多長時間。在計數器等待時間期間,電源控制器可以繼續接收和聚合來自對應掃瞄鏈感測器的感知資訊。在一些實施例中,向上表決計數器可以被設置為除了0以外的值,使得不立即為向上表決服務,並且可以替代地允許電源控制器等待小時段(例如,計數器值3)來聚合與向上表決相關的額外感知資訊(亦即,建議執行較大的電壓微調)。
與在完成每個電源控制器感知資訊掃瞄時(例如,每30微秒)發送中間表決或向下表決相反,各種計數器可以用於將從電源控制器(例如,112a、112b、112c、112d)到其相應的通訊介面(例如,114a、114b、114c、114d)的總傳輸最小化。經由等待並且聚合向下表決和中間表決(其不像向上表決一樣處於高優先順序),可以減少由通訊介面(例如,114a、114b、114c、114d)執行的通訊和操作的數量以及經歷的中斷的數量(亦即,電壓改變訊息被保持在等待時段內,而不是在每次感知資訊掃瞄之後自動地發送給通訊介面)。因此,實現等待時間計數器和聚合訊窗可以允許以間隔將電壓改變訊息發送給從芯粒通訊介面並且最終發送給主芯粒通訊介面,從而減少所使用的管理負擔和計算資源。
在操作406和408中,從芯粒通訊介面114b和主芯粒通訊介面114a可以各自在系統引導時初始化本機存放區的表決表。由每個芯粒通訊介面儲存的每個表決表可以利用MID的表決建議進行初始化。每個本機存放區的表決表可以儲存與對應芯粒的最新表決建議相關的資訊。例如,從芯粒通訊介面114b可以儲存用於儲存值MID的表決表,而主芯粒通訊介面114a可以儲存用於儲存值MID的表決表。
在操作410中,主芯粒通訊介面114a可以在系統引導時初始化全域的本機存放區的表決表。與在操作408中初始化的表決表分開的這種全域表決表可以儲存與主芯粒110a相通訊的每個芯粒(例如,110b、110c、110d)的最新表決建議。對應於每個芯粒的每個表決表狀態可以利用MID的表決建議進行初始化。例如,全域表決表可以由主芯粒通訊介面114a進行初始化以儲存與從芯粒電源控制器112b的最新表決建議相對應的值MID,並且亦可以被初始化以儲存與主芯粒電源控制器112a的最新表決建議相對應的值MID。
在操作412中,從芯粒電源控制器112b可以聚合感知資訊,以決定應當向主芯粒通訊介面114a發送向上表決建議,以用於產生電源軌調整訊息的目的。從芯粒電源控制器112b可以執行感測的反覆運算(例如,經由感測器116b),並且可以決定從芯粒110b的一或多個部分需要較多電力以高效且無誤地操作。由電源控制器量測和聚合感知資訊的一次反覆運算的持續時間可以取決於感測器的數量和掃瞄鏈的實體長度。例如,由電源控制器啟動並且隨後聚合的完整掃瞄需要30微秒。
在通訊414中,從芯粒電源控制器112b可以向從芯粒通訊介面114b發送向上表決建議(亦即,電壓改變訊息)。當從芯粒電源控制器112b執行感測的反覆運算(例如,經由感測器116b)並且決定從芯粒110b的一或多個部分需要較多電力以高效且無誤地操作時,可以發送向上表決建議。從芯粒通訊介面114b可以儲存如在操作406中初始化的具有預設值MID的本端表決表。從芯粒通訊介面114b可以利用從從芯粒電源控制器112b接收的向上表決(亦即,「UP」)來更新本機存放區的表決表。
在通訊416中,從芯粒通訊介面114b可以向主芯粒通訊介面114a發送向上表決建議(亦即,電壓改變訊息)。主芯粒通訊介面114a可以將與從芯粒110b相關聯的全域表決表值從MID值更改為對應於最新表決建議改變的UP值。在通訊414之後,多芯粒系統可以繼續執行操作和通訊428-438。
在操作418中,從芯粒電源控制器112b可以回應於基於經聚合的感知資訊而決定從芯粒110b的部分可以在降低的電壓位準下充分地執行(即向下表決),或者在沒有電壓改變的情況下充分地執行(即中間表決),來將向下表決計數器及/或中間表決計數器遞增。從芯粒電源控制器112b可以將向下表決計數器(例如,CONSEQUTIVE_DN)或中間表決計數器(例如,CONSEQUTIVE_MID)遞增,並且從芯粒電源控制器112b可以掃瞄來自掃瞄鏈的感知資訊的下一次反覆運算。
在通訊420中,從芯粒電源控制器112b可以回應於決定向下表決計數器已經被遞增到其預設值(例如,10)或者中間表決計數器已經被遞增到其預設值(例如,10),來向從芯粒通訊介面114b發送向下表決建議(亦即,電壓改變訊息)。向下表決計數器可以由從芯粒電源控制器112b實現,以確保降低跨MX或CX電源軌的電壓的建議是一致的,並且可以在沒有將所供應的電源降低到足夠的操作位準以下的風險的情況下執行。中間表決計數器可以由從芯粒電源控制器112b來實現,以確保跨MX或CX電源軌的電壓保持未調整。在一些實施例中,儘管被一或多個中間表決中斷,但是向下表決計數器可以遞增總向下表決。例如,若向下表決計數器遞增8次,被中間表決中斷,並且繼續記錄6個以上的向下表決以達到向下表決計數器值14,則從芯粒電源控制器112b可以向從芯粒通訊介面114b發送向下表決建議。類似地,在一些實施例中,儘管被一或多個向下表決中斷,但是中間表決計數器可以遞增總中間表決。在一些實施例中,向下表決計數器可以在被中間表決中斷時重置,並且中間表決計數器可以在被向下表決中斷時重置。例如,若從芯粒電源控制器112b在達到向下表決計數器值(例如,14)之前遞增中間表決,則向下表決計數器可以被重置為零。因此,在提出向下表決建議之前,可能需要連續數量的向下表決,而在提出中間表決建議之前,可能需要連續數量的中間表決。
在操作422中,從芯粒通訊介面114b可以將本機存放區的表決表建議(亦即,來自先前聚合訊窗的最後一個建議)與在通訊420中接收的向下表決建議進行比較。基於該比較,系統將繼續執行通訊424或者通訊426。若從芯粒通訊介面114b決定所儲存的表決表值(例如,MID)不同於最新表決建議(例如,DOWN),則系統可以執行通訊424。若從芯粒通訊介面114b決定所儲存的表決表值(例如,MID)與最新表決建議(例如,MID)相同,則系統可以執行通訊426。
在通訊424中,若從芯粒通訊介面114b根據操作422而決定存在表決表建議的改變,則從芯粒通訊介面114b可以向主芯粒通訊介面114a發送向下表決建議(亦即,電壓改變訊息)。例如,若從芯粒通訊介面114b的本機存放區的表決表先前儲存了值「MID」,則從芯粒通訊介面114b可以發送向下表決建議。在發送向下表決建議之後,從芯粒通訊介面114b可以在繼續一些進一步的操作(諸如經由從芯粒電源控制器112b開始下一個感知資訊量測週期)之前,等待從主芯粒通訊介面114a接收確認(例如,ack/nack)回應。
在通訊426中,若從芯粒通訊介面114b根據操作422決定表決表建議沒有變化,則從芯粒通訊介面114b可以向從芯粒電源控制器112b發送否定確認訊息。nack訊息可以指示從芯粒電源控制器112b重新發起掃瞄感知資訊。根據操作422,從芯粒電源控制器112b可以使用由從芯粒電源控制器112b掃瞄的感知資訊來決定在隨後的表決表值比較期間可以執行哪些電壓微調(若有的話)。
在操作428中,主芯粒通訊介面114a可以聚合從從芯粒通訊介面和主芯粒電源控制器112a接收的表決建議。主芯粒通訊介面114a可以聚合在通訊416及/或424中從每個芯粒接收的表決建議,並且將所接收的表決建議與儲存在全域表決表中的對應值進行比較。基於全域表決表值與最新表決建議之間的比較,主芯粒通訊介面114a可以執行各種操作和通訊。例如,若主芯粒通訊介面114a決定任何芯粒建議向下表決或向上表決,則多芯粒系統可以執行操作和通訊430-436。替代地,若主芯粒通訊介面114a決定在全域表決表值和針對每個芯粒的最新表決建議之間不存在差異,則多芯粒系統可以執行通訊438。
在通訊430中,主芯粒通訊介面114a可以向從芯粒電源控制器112b發送用於停止進一步的掃瞄鏈量測和表決聚合程序直到聚合訊窗結束為止的訊息。該訊息可以包括用於設置從芯粒通訊介面114b的CSR位元以停止感知資訊和表決聚合程序直到進一步的指令為止的位元、指令及/或命令。
在通訊432中,主芯粒通訊介面114a可以產生電源軌調整訊息並且將其發送給PMIC 102。基於在操作428中執行的比較,電源軌調整訊息可以指示PMIC 102降低及/或增加由主芯粒110a和從芯粒110b共享的MX及/或CX電源軌的電壓。
在通訊434中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送確認(例如,ack)訊息。確認訊息可以包括指示由PMIC 102回應於通訊432而執行或要執行的電壓微調的資訊。由從芯粒通訊介面114b接收的確認訊息可以包括指示從芯粒通訊介面114b開始新一輪感知資訊量測以準備進一步的投票建議變化(亦即,電壓改變訊息)的資訊。
在操作436中,主芯粒通訊介面114a可以重置全域表決表,以儲存在通訊416及/或424期間向主芯粒通訊介面114a發送向下表決或向上表決的每個從芯粒的值「MID」。因此,用於在主芯粒全域表決表中針對任何向下表決或向上表決芯粒的先前儲存為「DOWN」或「UP」的任何表決狀態值可以被重置為「MID」狀態。在一些實施例中,由主芯粒通訊介面114a儲存的整個全域表決表可以被重置為針對每個芯粒儲存值「MID」,而不管該芯粒是否在如在操作428中描述的最新表決表比較中進行表決。
在通訊438中,主芯粒通訊介面114a可以向從芯粒通訊介面114b發送否定確認(例如,nack)訊息。否定確認訊息可以包括指示主芯粒通訊介面114a未產生電源軌調整訊息並且因此PMIC 102未執行電壓微調整的資訊。由從芯粒通訊介面114b接收的否定確認訊息可以包括指示從芯粒通訊介面114b開始新一輪感知資訊量測以準備進一步的表決表比較的資訊。
在操作436或通訊438之後,可以由主芯粒通訊介面114a發起新的表決表比較週期,並且可以相應地重複操作和通訊402-438。
圖4所示的操作和通訊可以按照與圖中所示不同的循序執行。例如,操作418-426可以按照操作412之前的任何循序執行。作為另一實例,通訊434可以在操作436之後發生。
為了便於說明,圖示兩個芯粒(例如,芯粒110a、110b)的操作以及在其之間的通訊。然而,由110b執行或結合110b執行的相同步驟可以由與主芯粒110a進行電通訊的額外芯粒(例如,110c、110d)同時地執行。例如,可以回應於由從芯粒通訊介面114c提出的向上表決或向下表決建議,來向芯粒110b、110c和110d發送通訊434。作為另一實例,當主芯粒電源控制器112a建議向下表決或向上表決及/或從芯粒通訊介面114b、114c和114d中的至少一者根據通訊416及/或424建議向下表決或向上表決時,主芯粒通訊介面114a可以根據通訊432發送電源軌調整訊息。
注意的是,上述描述中提及的芯粒110a是主晶片僅僅是出於實例的目的,並且芯粒110a-110d中的任何一個芯粒可以用作主芯粒,而其他芯粒用作從芯粒。因此,前述描述在各種實施例中並非意欲暗示對芯粒用作主芯粒或從芯粒的任何限制。
圖5是示出根據各種實施例的用於管理多芯粒系統中的電源的實施例方法500的程序流程圖。參考圖1-5,方法500可以在被配置為執行該方法的操作的處理器(例如,分別控制電源控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令執行操作。用於執行方法500的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊502中,第二芯粒電源控制器可以遍及第二芯粒獲得第二芯粒感知資訊。第二芯粒電源控制器(例如,從芯粒電源控制器112b)可以獲取並聚合與感測器(例如,感測器116b)遍及第二芯粒(例如,從芯粒110b)量測的感知參數(例如,溫度、功率、電壓、電流值)相對應的感知資訊。方塊502中的程序可以分別如參考圖2的操作224、226、228、圖3的操作326、330和圖4的操作412、418來執行。用於執行方塊502中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在決定方塊504中,第二芯粒電源控制器可以基於第二芯粒感知資訊來決定是否應當調整第二芯粒的電壓。第二芯粒電源控制器(例如,從芯粒電源控制器112b)可以基於在如所描述的方塊502中獲得的感知資訊來決定是否應當調整第二芯粒(例如,從芯粒110b)的電壓。在一些實施例中,在決定方塊504中基於第二芯粒感知資訊來決定是否應當調整第二芯粒的電壓可以包括決定第二感知資訊是否指示感知參數在閥值範圍之外。決定方塊504中的程序可以如分別參考圖2的操作224、226、228、圖3的操作326、330和圖4的操作412和418所描述地執行。例如,感測器(例如,116b)可以量測在閥值位準以下操作的處理器核心的電壓參數。感測器可以將該量測中繼到第二芯粒電源控制器,以允許第二芯粒電源控制器基於感知資訊來決定可以增加處理器核心的電壓。用於執行決定方塊504中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
回應於決定不應當基於第二芯粒感知資訊來調整第二芯粒的電壓(亦即,決定方塊504=「否」),如方塊502所述,第二芯粒電源控制器可以繼續遍及第二芯粒獲取第二芯粒感知資訊,直到第二芯粒電源控制器決定應當調整第二芯粒的電壓(亦即,由感測器量測的指令引數落在閥值範圍之外)為止。
回應於決定應當基於第二芯粒感知資訊來調整第二芯粒的電壓(亦即,決定方塊504=「是」),在方塊506中,第二芯粒通訊介面可以向第一芯粒通訊介面發送電壓改變訊息。回應於決定應當基於第二芯粒感知資訊來調整第二芯粒(例如,從芯粒110b)的電壓,第二芯粒通訊介面(例如,從芯粒通訊介面114b)可以向第一芯粒通訊介面(例如,主芯粒通訊介面114a)發送電壓改變訊息。方塊506中的程序可以分別參照圖2的通訊210、232、圖3的通訊310、336和圖4的通訊416、424來執行。用於執行方塊506中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊508中,第一芯粒通訊介面可以基於電壓改變訊息來產生電源軌調整訊息。第一芯粒通訊介面(例如,主芯粒通訊介面114a)可以基於從第二芯粒通訊介面(例如,從芯粒通訊介面114b)接收到的電壓改變訊息來產生電源軌調整訊息。電源軌調整訊息可以指示或以其他方式包括關於應當對第二芯粒的電源軌進行的電壓調整的資訊。可以基於由第一芯粒通訊介面從第二芯粒通訊介面、其他芯粒通訊介面及/或第一芯粒電源控制器接收的電壓改變訊息來產生電源軌調整訊息。用於執行方塊508中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊510中,第一芯粒通訊介面可以將電源軌調整訊息發送給PMIC。第一芯粒通訊介面(例如,主芯粒通訊介面114a)可以將電源軌調整訊息發送給PMIC(例如,PMIC 102)。方塊508和方塊510中的程序可以分別如參考圖2的通訊214、234、244、圖3的通訊314、348和圖4的通訊432來執行。用於執行方塊510中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊512中,PMIC可以基於電源軌調整訊息來調整跨由第一芯粒和第二芯粒共享的電源軌的電壓。PMIC(例如,PMIC 102)可以調整跨由第一芯粒(例如,主芯粒110a)和第二芯粒(例如,從芯粒110b)共享的一或多個電源軌(例如,MX電源軌、CX電源軌)的一或多個電壓。用於執行方塊512中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊502-512中執行的操作順序僅僅是說明性的,並且在一些實施例中,可以以任何順序並且部分同時地執行方塊502-512的操作。在一些實施例中,方法500可以由獨立於外部記憶體設備但與外部記憶體設備結合的設備的處理器執行。例如,方法500可以實現為在SOC的處理器內執行的或在SOC內的專用硬體中執行的軟體模組,該軟體模組發出命令以建立安全的記憶體通道以及存取外部記憶體設備的記憶體,並且以其他方式被配置為如所描述的採取動作和儲存資料。
圖6A是示出用於管理多芯粒系統中的電源的實施例方法600a的程序流程圖,在一些實施例中,該實施例方法600a可以作為方法500的一部分來實現。參考圖1-6A,方法600a可以在被配置為執行該方法的操作的處理器(例如,分別控制電源控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令執行操作。用於執行方法600a的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊602-606中執行的操作順序僅為說明性的,以及在一些實施例中,方塊602-606的操作可以以任何順序並且部分同時執行。在一些實施例中,方法600a可以由獨立於外部記憶體設備但與外部記憶體設備結合的設備的處理器執行。例如,方法600a可以實現為在SOC的處理器內執行的或在SOC內的專用硬體中執行的軟體模組,該軟體模組發出命令以建立安全的記憶體通道和存取外部記憶體設備的記憶體,並且以其他方式被配置為如所描述的採取動作和儲存資料。
在方塊602中,第一芯粒電源控制器可以遍及第一芯粒獲得第一芯粒感知資訊。第一芯粒電源控制器(例如,主芯粒電源控制器112a)可以獲得並且聚合與由感測器(例如,感測器116a)遍及第一芯粒(例如,主芯粒110a)量測的感知參數(例如,溫度、功率、電壓、電流值)相對應的感知資訊。該程序可以與如參考圖5所描述的方塊502中的程序並行地執行。用於執行方塊602中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在決定方塊604中,第一芯粒電源控制器可以基於第一芯粒感知資訊來決定是否應調整第一芯粒的電壓。第一芯粒功率控制器(例如,主芯粒電源控制器112a)可以基於在方塊602中獲得的感知資訊來決定是否應調整第一芯粒(例如,主芯粒110a)的電壓。在一些實施例中,決定是否應當基於第一芯粒感知資訊來調整第一芯粒的電壓可以包括決定第一感知資訊是否指示感知參數超出閥值範圍。例如,感測器(例如116a)可以量測在閥值水平之下操作的處理器核的電壓參數。感測器可以將該量測值中繼到第一芯粒電源控制器,以允許第一芯粒電源控制器基於感知資訊來決定處理器核的電壓增加。用於執行決定方塊604中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
回應於基於第一芯粒感知資訊而決定不應當調整第一芯粒的電壓(亦即,決定方塊604=「否」),第一芯粒通訊介面可以繼續基於如所描述的方法500(圖5)的方塊508中的電壓改變訊息來產生電源軌調整訊息。換句話說,可以基於由第一芯粒通訊介面從第二芯粒通訊介面接收的電壓改變訊息而不是基於第一芯粒感知資訊來產生電源軌調整訊息。
回應於基於第一芯粒感知資訊而決定應當調整第一芯粒的電壓(亦即,決定方塊604=「是」),在方塊606中,第一芯粒通訊介面可以基於來自第二芯粒的電壓改變訊息和第一芯粒感知資訊來產生電源軌調整訊息。第一芯粒電源控制器(例如,主芯粒電源控制器112a)可以以電壓改變訊息的形式將第一芯粒感知資訊中繼到第一芯粒通訊介面(例如,主芯粒通訊介面114a)。第一芯粒通訊介面可以基於從第二芯粒通訊介面(例如,從芯粒通訊介面114b)接收的電壓改變訊息和第一感知資訊來產生電源軌調整訊息。電源軌調整訊息可以指示或以其他方式包括關於應當對第一芯粒(例如,主芯粒110a)和第二芯粒(例如,110b)的電源軌進行的電壓調整的資訊。可以基於由第一芯粒通訊介面從第二芯粒通訊介面、其他芯粒通訊介面及/或第一芯粒電源控制器接收的電壓改變訊息來產生電源軌調整訊息。用於執行框606中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
圖6B是示出用於管理多芯粒系統中的電源的實施例方法600b的程序流程圖,在一些實施例中,該實施例方法600b可以作為方法500的一部分來實現。參考圖1-6B,方法600b可以在被配置為執行該方法的操作的處理器(例如,分別控制功率控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令執行操作。用於執行方法600b的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等
在方塊608-616中執行的操作的順序僅僅是說明性的,並且在一些實施例中,可以以任何順序並且部分同時地執行方塊608-616的操作。在一些實施例中,方法600b可以由獨立於外部記憶體設備但與外部記憶體設備結合的設備的處理器執行。例如,方法600b可以實現為在SOC的處理器內執行的或在SOC內的專用硬體中執行的軟體模組,該軟體模組發出命令以建立安全的記憶體通道和存取外部記憶體設備的記憶體,並且以其他方式被配置為如所描述的採取動作和儲存資料。
在方塊608中,第二芯粒上的第二芯粒電源控制器可以初始化向下表決計數器值。向下表決計數器值可以由第二芯粒(例如,從芯粒110b)上的第二芯粒電源控制器(例如,從芯粒電源控制器112b)進行初始化,以準備反覆運算地決定所獲得的指示到第二芯粒的部件的電壓可以被降低的第二感知資訊的連續數量。在方塊608中,第二芯粒上的第二芯粒電源控制器可以如分別參考圖2的操作202、3的操作302和圖4的操作402所描述地初始化向下表決計數器值。用於執行方塊608中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊610中,第二芯粒電源控制器可以遍及第二芯粒獲得第二芯粒感知資訊。第二芯粒電源控制器(例如,從芯粒電源控制器112b)可以獲得並且聚合與由感測器(例如,感測器116b)遍及第二芯粒(例如,從芯粒110b)量測的感知參數(例如,溫度、功率、電壓、電流值)相對應的感知資訊。如參考方法500(圖5)的方塊502所描述的,遍及第二芯粒獲得第二芯粒感知資訊可以包括反覆運算地遍及第二芯粒獲得第二芯粒感知資訊,以用於遞增向下表決計數器的目的。在方塊610中,第二芯粒電源控制器可以如分別參考圖2的操作224、226、228、圖3的操作326、330和圖4的操作412和418所描述地遍及第二芯粒獲得第二芯粒感知資訊。用於執行方塊610中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在決定方塊612中,第二芯粒電源控制器可以基於第二芯粒感知資訊來決定是否應當調整第二芯粒的電壓。第二芯粒電源控制器(例如,從芯粒電源控制器112b)可以基於如參考方塊610所描述地獲得的感知資訊來決定是否應當調整第二芯粒(例如,從芯粒110b)的電壓。在一些實施例中,基於第二芯粒感知資訊來決定是否應當調整第二芯粒的電壓可以包括決定第二感知資訊是否指示感知參數在閥值範圍之外。決定方塊612中的程序可以如分別參考圖2的操作224、226、228、圖3的操作326、330和圖4的操作412和418所描述地執行。例如,感測器(例如,116b)可以量測在閥值位準以下操作的處理器核心的電壓參數。感測器可以將該量測中繼到第二芯粒電源控制器,以允許第二芯粒電源控制器基於感知資訊來決定可以增加處理器核心的電壓。用於執行決定方塊612中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
回應於基於第二芯粒感知資訊而決定不應當降低第二芯粒的電壓(亦即,決定方塊612=「否」),在如所描述的方塊610中,第二芯粒電源控制器可以繼續反覆運算地遍及第二芯粒來獲得第二芯粒感知資訊,直到第二芯粒電源控制器決定應當降低第二芯粒的電壓(亦即,由感測器量測的指令引數落在閥值範圍之外)。
回應於基於第二芯粒感知資訊而決定應當降低第二芯粒的電壓(亦即,決定方塊612=「是」),在方塊614中,第二芯粒通訊介面可以將向下表決計數器遞增。可以針對如在方塊610和612中所描述的獲得指示應當降低第二芯粒的電壓的第二芯粒感知資訊的每次反覆運算,來將向下表決計數器遞增。方塊614中的程序可以如分別參考圖2、3和4的操作228、330和418所描述地執行。用於執行方塊614中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在決定方塊616中,第二芯粒功率控制器可以決定向下表決計數器是否已增加到向下表決計數器值。第二芯粒功率控制器(例如,從芯粒功率控制器112b)可以決定方塊610-614中的程序的充分反覆運算是否已重複地指示第二芯粒的一部分可以在降低的電壓下操作。方塊614中的程序可以分別如參考圖2的操作228、圖3的操作330和圖4的操作418執行。用於執行決定方塊616中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
回應於決定向下表決計數器尚未增加到向下表決計數器值(亦即,決定方塊616=「否」),如方塊610-614所述,第二芯粒功率控制器可以繼續遍及整個第二芯粒反覆運算地獲取第二芯粒感知資訊,直到向下表決計數器已增加到向下表決計數器值(亦即,第二芯粒連續記錄了指示第二芯粒的電壓可能降低的感知資訊)。
回應於決定向下表決計數器已增加到向下表決計數器值(亦即,決定方塊616=「是」),如所描述的,在方法500(圖5)的方塊506中,第二芯粒通訊介面可以繼續向第一芯粒通訊介面發送電壓改變訊息。換言之,向第一芯粒發送電壓改變訊息可以包括回應於向下表決計數器達到向下表決計數器值而發送電壓改變訊息。
圖6C是示出用於管理多芯粒系統中的電源的實施例方法600c的程序流程圖,在一些實施例中,該實施例方法600c可以作為方法500的一部分來實現。參考圖1-6C,方法600c可以在被配置為執行該方法的操作的處理器(例如,分別控制電源控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令執行操作。用於執行方法600c的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方法600b(圖6B)的方塊616的操作之後,第一芯粒通訊介面可以向第二芯粒通訊介面發送重置訊息,以使得第二芯粒通訊介面在方塊618中重置向下表決計數器。第一芯粒通訊介面(例如,主芯粒通訊介面114a)可以將重置訊息發送至第二芯粒通訊介面(例如,從芯粒通訊介面114b),以使第二芯粒通訊介面指示第二芯粒功率控制器(例如,從芯粒功率控制器112b)重置向下表決計數器。隨後,系統可以繼續執行方法600b(圖6B)的方塊608的操作。方塊618中的程序可以分別參照圖2的通訊246和圖3的通訊356來執行。用於執行方塊618中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
圖6D是示出用於管理多芯粒系統中的功率的實施例方法600d的程序流程圖,在一些實施例中,該實施例方法600d可以作為方法500的一部分來實現。參考圖1-6D,方法600d可以在被配置為執行該方法的操作的處理器(例如,分別控制功率控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令來執行操作。用於執行方法600d的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊620中,第一芯粒通訊介面可以利用時間限制值初始化聚合訊窗,其中在聚合訊窗到期時產生電源軌調整訊息。在聚合訊窗到期之後,如所述的,第一芯粒通訊介面(例如,主芯粒通訊介面114a)可以基於方法500(圖5)的方塊508中的電壓改變訊息產生電源軌調整訊息。換句話說,可以回應於聚合訊窗的到期而產生電源軌調整訊息。方塊614中的程序可以分別如參考圖2的操作206和圖3的操作306來執行。用於執行方塊620中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
圖6E是示出用於管理多芯粒系統中的功率的實施例方法600e的程序流程圖,在一些實施例中,該實施例方法600e可以作為方法500的一部分來實現。參考圖1-6E,方法600e可以在被配置為執行該方法的操作的處理器(例如,分別控制電源控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令執行操作。用於執行方法600e的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊622-630中執行的操作順序僅為說明性的,並且在一些實施例中,方塊622-630的操作可以以任何順序並且部分同時執行。在一些實施例中,方法600e可以由獨立於外部記憶體設備但與外部記憶體設備結合的設備的處理器執行。例如,方法600e可以實現為在SOC的處理器內執行的或在SOC內的專用硬體中執行的軟體模組,該軟體模組發出命令以建立安全的記憶體通道和存取外部記憶體設備的記憶體,並且以其他方式被配置為如所描述的採取動作和儲存資料。
在方塊622中,包括先前電壓建議的表決表可以由第二芯粒初始化。表決表可以由第二芯粒通訊介面(例如,從芯粒通訊介面114b)初始化並儲存,以準備將先前的電壓建議與新的電壓建議進行比較。可以如參考圖4的操作406所述來執行方塊622中的程序。用於執行方塊622中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊624中,第二芯粒電源控制器可以遍及整個第二芯粒獲得第二芯粒感知資訊。第二芯粒電源控制器(例如,從芯粒功率控制器112b)可以獲取並聚合與感測器(例如,感測器116b)遍及整個第二芯粒(例如,從芯粒110b)中量測的感知參數相對應的感知資訊(例如,溫度、功率、電壓、電流值)。方塊624中的程序可以分別如參考圖2的操作224、226、228、圖3的操作326、330以及圖4的操作412和418執行。用於執行方塊624中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等
在方塊626中,第二芯粒通訊介面可以將由第二芯粒感知資訊指示的當前電壓建議與先前的電壓建議進行比較。第二芯粒通訊介面(例如,從芯粒通訊介面114b)可以將由第二芯粒感知資訊指示的(亦即,以電壓改變訊息的形式從第二芯粒電源控制器接收的)當前電壓建議與儲存在方塊622中初始化的表決表中的先前電壓建議進行比較。可以如參考圖4的操作422所述執行方塊626中的程序。用於執行方塊626中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在決定方塊628中,第二芯粒通訊介面可以決定由第二芯粒感知資訊指示的當前電壓建議是否與儲存在第二芯粒通訊介面表決表中的先前電壓建議匹配。第二芯粒通訊介面(例如,從芯粒通訊介面114b)可以決定當前電壓建議是否與先前或最新的電壓建議相匹配,以決定是否應當調整第二芯粒(例如,從芯粒110b)的電壓。可以如參考圖4的操作422之來執行方塊626中的程序。用於執行決定塊628中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等
回應於決定由第二芯粒感知資訊指示的當前電壓建議與儲存在第二芯粒通訊介面表決表中的先前電壓建議匹配(亦即,決定方塊628=「是」),如方塊624所述,第二芯粒電源控制器繼續遍及第二芯粒反覆運算地獲取第二芯粒感知資訊,直到第二芯粒電源控制器決定由第二芯粒感知資訊指示的當前電壓建議與儲存在第二芯粒通訊介面表決表中的先前電壓建議不匹配(亦即,應當調整第二芯粒的電壓)。
回應於決定由第二芯粒感知資訊指示的當前電壓建議與儲存在第二芯粒通訊介面表決表中的先前電壓建議不匹配(亦即,決定方塊628=「否」),在方塊630中,第二芯粒通訊介面可以向第一芯粒通訊介面發送電壓改變訊息。可以如參考圖4的通訊424該來執行方塊630中的程序。用於執行方塊630中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
圖6F是示出用於管理多芯粒系統中的功率的實施例方法600f的程序流程圖,在一些實施例中,該實施例方法600f可以作為方法500的一部分來實現。參考圖1-6F,方法600f可以在被配置為執行該方法的操作的處理器(例如,分別控制電源控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令執行操作。用於執行方法600f的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊632-640中執行的操作的順序僅僅是說明性的,以及在一些實施例中,方塊632-640的操作可以以任何順序並且部分同時地執行。在一些實施例中,方法600f可以由獨立於外部記憶體設備但與外部記憶體設備結合的設備的處理器執行。例如,方法600f可以實現為在SOC的處理器內執行的或在SOC內的專用硬體中執行的軟體模組,該軟體模組發出命令以建立安全的記憶體通道和存取外部記憶體設備的記憶體,並且以其他方式被配置為如所述的採取動作和儲存資料。
在方塊632中,包括第二芯粒的先前電壓建議的全域表決表可以由第一芯粒初始化。全域表決表可以由第一芯粒通訊介面(例如,主芯粒通訊介面114a)初始化並儲存,以準備將第二芯粒的先前電壓建議與第二芯粒的新電壓建議進行比較。方塊632中的程序可以由如參考圖3的操作306和圖4的操作406來執行。用於執行方塊632中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊634中,第一芯粒通訊介面可以將電壓改變訊息中指示的當前電壓建議與先前的電壓建議進行比較。第一芯粒通訊介面(例如,主芯粒通訊介面114a)可以將從第二芯粒通訊介面(例如,從芯粒通訊介面114b)接收的電壓改變訊息所指示的當前電壓建議與儲存於在方塊632中初始化的全域表決表的第二芯粒(例如,從芯粒110b)的先前電壓建議進行比較。方塊634中的程序可以由如參考圖3的操作346和圖4的操作428所描述的來執行。用於執行方塊634中的操作的單元可以包括多芯粒系統100的處理器,諸如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在決定方塊636中,第一芯粒通訊介面可以決定電壓改變訊息中指示的當前電壓建議是否與儲存在第一芯粒通訊介面全域表決表中的先前電壓建議匹配。第一芯粒通訊介面(例如,主芯粒通訊介面114a)可以決定當前電壓建議是否與先前或最新的電壓建議相匹配,以決定是否應調整第二芯粒(例如,從芯粒110b)的電壓。方塊634中的程序可以由如參考圖3的操作346和圖4的操作428來執行。用於執行決定塊636中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
回應於決定電壓改變訊息中指示的當前電壓建議與儲存在第一芯粒通訊介面全域表決表中的先前電壓建議匹配(亦即,決定方塊636=「是」),如方塊634所述,第一芯粒通訊介面可以繼續反覆運算地將當前電壓建議與先前電壓建議進行比較,直到第一芯粒通訊介面決定由電壓改變訊息指示的當前電壓建議與儲存在第一芯粒通訊介面全域表決表中的先前電壓建議不匹配(亦即,應當調整第二芯粒的電壓)。
回應於決定電壓改變訊息中指示的當前電壓建議與儲存在第一芯粒通訊介面全域表決表中的先前電壓建議匹配(亦即,決定方塊636=「否」),第一芯粒通訊介面可以在方塊638中產生電源軌調整訊息。方塊638中的程序可以參照圖3的操作348和圖4的操作432的來執行。用於執行方塊638中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊640中,第一芯粒通訊介面可以改變先前的電壓建議以匹配當前的電壓建議。第一芯粒通訊介面(例如,主芯粒通訊介面)可以改變由第一芯粒通訊儲存在全域表決表中的先前電壓建議,以匹配當前電壓建議或等於指示當前電壓建議的狀態值。方塊640中的程序可以如參考圖3的操作350和圖4的操作436所描述的來執行。用於執行方塊640中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
圖6G是示出用於管理多芯粒系統中的功率的實施例方法600g的程序流程圖,該實施例方法600g可以在一些實施例中作為方法500的一部分實現。參考圖1-6G,方法600g可以在被配置為執行該方法的操作的處理器(例如,分別控制電源控制器112a、112b、112c、112d和通訊介面114a、114b、114c、114d的處理核心124a、124b、124c、124d)中實現。在一些實施例中,處理器(例如,處理核心124a、124b、124c、124d)可以被配置為經由儲存在非暫時性處理器可讀取媒體(例如,記憶體設備122a、122b、122c和122d)中的處理器可執行指令執行操作。用於執行方法600g的每個操作的單元可以是多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
在方塊642中,位於整個第二芯粒的感測器可以量測感知參數。感測器(例如,感測器116b)可以定位在整個第二芯粒(例如,從芯粒110b)晶粒中,以及可以量測包括功率、電壓、電流及/或溫度資訊的感知參數,以及將其中繼到第二芯粒電源控制器(例如,從芯粒電源控制器112b)。第二感知資訊可以基於由感測器量測的感知參數。如所述,第二芯粒電源控制器可以繼續執行方法500的方塊502(圖5)的操作。用於執行方塊642中的操作的單元可以包括多芯粒系統100的處理器,例如處理核心124a、124b、124c、124d;電源控制器112a、112b、112c、112d;通訊介面114a、114b、114c、114d等。
各種實施例(包括但不限於上文參考圖1-6G描述的實施例)可以在各種計算系統中實現,包括汽車或其他行動計算裝置,圖7中圖示適合與各種實施例一起使用的實例。參考圖1-7,行動計算裝置700可以包括耦合到觸控式螢幕控制器704的處理器702和內部記憶體706。處理器702可以是指定用於一般或特定處理任務的一或多個多核積體電路。內部記憶體706可以是揮發性或非揮發性記憶體,以及亦可以是安全及/或加密記憶體,或不安全及/或未加密記憶體,或其任何組合。可以利用的記憶體類型的實例包括但不限於DDR、LPDDR、GDDR、WIDEIO、RAM、SRAM、DRAM、P-RAM、R-RAM、M-RAM、STT-RAM和嵌入式DRAM。觸控式螢幕控制器704和處理器702亦可以耦合到觸控式螢幕面板712,例如電阻感知觸控式螢幕、電容感知觸控式螢幕、紅外感知觸控式螢幕等。此外,行動計算裝置700的顯示器不需要具有觸控式螢幕能力。
行動計算裝置700可以具有一或多個無線電訊號收發機708(例如,Peanut、藍芽、紫蜂、Wi-Fi、RF無線電)和天線710以用於發送和接收通訊,其彼此耦合及/或耦合到處理器702。收發機708和天線710可以與上述電路一起使用,以實現各種無線傳輸協定堆疊和介面。行動計算裝置700可以包括蜂巢網路無線數據機晶片716,該晶片實現經由蜂巢網路進行的通訊並且耦合到處理器。
行動計算裝置700可以包括耦合到處理器702的周邊設備連接介面718。周邊設備連接介面718可以單獨地被配置為接受一種類型的連接,或者可以被配置為接受各種類型的實體和通訊連接,公共或專有的,例如通用序列匯流排(USB)、FireWire、Thunderbolt或PCIe。周邊設備連接介面718亦可以耦合到類似配置的周邊設備連接埠(未圖示)。
行動計算裝置700亦可以包括用於提供音訊輸出的揚聲器714。行動計算裝置700亦可以包括由塑膠、金屬或材料組合構成的外殼720,用於容納本文所述的全部或部分部件。行動計算裝置700可以包括耦合到處理器702的電源722,例如一次性或可充電電池。可充電電池亦可以耦合到周邊設備連接埠,以從行動計算裝置700外部的源接收充電電流。行動計算裝置700亦可以包括用於接收使用者輸入的實體按鈕724。行動計算裝置700亦可以包括用於打開和關閉行動計算裝置700的電源按鈕726。
各種實施例(包括但不限於上文參考圖1-6G描述的實施例)可以在各種計算系統中實現,包括膝上型電腦800,其實例如圖8所示。參考圖1-8,膝上型電腦可以包括用作電腦的指向設備的觸控板觸摸面817,並且因此可以接收類似於在被配備有觸控式螢幕顯示器的計算設備上實現的以及前述的拖動、滾動和輕彈手勢。膝上型電腦800典型地包括耦合到揮發性記憶體812的處理器802和大容量非揮發性記憶體,例如快閃記憶體的磁碟機813。此外,電腦800可以具有用於發送和接收電磁輻射的一或多個天線808,該天線808可以連接到耦合到處理器802的無線資料連結及/或蜂巢式電話收發機816。電腦800亦可以包括耦合到處理器802的軟碟機814和光碟(CD)驅動器815。膝上型電腦800可以包括全部耦合到處理器802的觸控板817、鍵盤818和顯示器819。如眾所周知的,計算設備的其他配置可以包括(例如,經由USB輸入)耦合到處理器的電腦滑鼠或軌跡球,其亦可以是結合各種實施例使用的。
各種實施例(包括但不限於上文參考圖1-6G描述的實施例)亦可以在固定計算系統中實現,例如各種商用伺服器中的任何一者。參考圖1-9,圖9中圖示實例伺服器900。此類伺服器900通常包括耦合到揮發性記憶體902的一或多個多核處理器組件901和大容量非揮發性記憶體,例如磁碟機904。如圖9所示,多核處理器組件901可以經由將其插入到組件的機架中而添加到伺服器900。伺服器900亦可以包括耦合到處理器901的軟碟機、光碟(CD)或數位多功能光碟(DVD)驅動器906。伺服器900亦可以包括耦合到多核處理器組件901的網路存取埠903,以用於建立與網路905的網路介面連接,例如耦合到其他廣播系統電腦和伺服器的區域網路、網際網路、公用交換電話網,及/或蜂巢資料網路(例如,CDMA、TDMA、GSM、PC、3G、4G、LTE或任何其他類型的蜂巢資料網路)。
以下段落描述了實現實例。根據實例方法描述的實現實例亦包括:在被配置有處理器可執行指令以執行實例方法的操作的電路和處理器中實現的實例方法;在用於執行這些方法的功能的單元中實現的實例方法;及在非暫時性處理器可讀儲存媒體中實現的實例方法,該非暫時性處理器可讀儲存媒體上具有儲存在其上的處理器可執行指令,該處理器可執行指令被配置為使得芯粒處理器執行實例方法的操作。
實例1、一種片上系統(SoC),包括:第一芯粒;第二芯粒;耦合到該第一芯粒和該第二芯粒的共享電源軌;及電源管理積體電路(PMIC),其被配置為跨該共享電源軌向該第一芯粒和該第二芯粒供應電力,其中:該第一芯粒被配置為遍及該第一芯粒來獲得第一感知資訊;該第二芯粒被配置為遍及該第二芯粒來獲得第二感知資訊,以及基於該第二感知資訊來向該第一芯粒發送電壓改變訊息;該第一芯粒被配置為基於該第一感知資訊和該電壓改變訊息來向該PMIC發送電源軌調整訊息;及該PMIC被配置為調整該第一芯粒和該第二芯粒中的至少一者的電壓。
實例2、根據實例1之SoC,其中:該第一芯粒包括:第一感測器集合,其被配置為經由遍及該第一芯粒量測第一感知參數來獲得該第一感知資訊;第一電源控制器,其被配置為從該第一感測器集合接收該第一感知資訊;及第一通訊介面,其被配置為從該第一電源控制器接收基於該第一感知資訊的第一電壓改變訊息;該第二芯粒包括:第二感測器集合,其被配置為經由遍及該第二芯粒量測第二感知參數來獲得該第二感知資訊;第二電源控制器,其被配置為從該第二感測器集合接收該第二感知資訊;及第二通訊介面,其被配置為從該第二電源控制器接收基於該第二感知資訊的第二電壓改變訊息;及該電源軌調整訊息是基於該第一電壓改變訊息和該第二電壓改變訊息的。
實例3、根據實例1-2中任一項所述的SoC,亦包括:可通訊地連接該PMIC、該第一芯粒和該第二芯粒的介面匯流排,其中該介面匯流排是系統電源管理介面(SPMI)。
實例4、根據實例3之SoC,其中該第二芯粒亦被配置為基於該第二感知資訊來向該PMIC發送獨立的電源軌調整訊息,並且該PMIC亦被配置為基於該獨立的電源軌調整訊息來調整該第二芯粒的電壓。
實例5、根據實例1-4中任一項所述的SoC,亦包括:可通訊地連接該PMIC和該第一芯粒的介面間電路(I2C)匯流排,其中該第一芯粒被配置為跨該I2C匯流排向該PMIC發送該電源軌調整訊息。
實例6、根據實例1-5中任一項所述的SoC,亦包括:控制器到控制器介面,其被配置為將該電壓改變訊息從該第二芯粒傳送到該第一芯粒。
實例7、根據實例1-6中任一項所述的SoC,亦包括:由該第一芯粒和該第二芯粒共享並且由該PMIC控制的電源軌,其中該PMIC被配置為經由調整跨該電源軌的電壓來調整該第一芯粒和該第二芯粒中的至少一者的電壓。
實例8、根據實例7之SoC,其中該電源軌是嵌入式記憶體(MX)電源軌或核心邏輯(CX)電源軌。
實例9、根據實例1-8中任一項所述的SoC,亦包括:第三芯粒,其被配置為經由遍及該第三芯粒量測第三感知參數來獲得第三感知資訊,並且被配置為基於該第三感知資訊來向該第一芯粒發送第二電壓改變訊息,其中該電源軌調整訊息是部分地基於該第二電壓改變訊息的,並且其中該PMIC被配置為調整該第一芯粒、該第二芯粒和該第三芯粒中的至少一者的電壓。
實例10、根據實例1-9中任一項所述的SoC,其中該第一感知資訊和該第二感知資訊包括溫度資訊、電壓資訊或電流資訊中的至少一項。
實例11、一種用於片上系統(SoC)內的多個芯粒的電源管理的方法,包括:經由第二芯粒電源控制器,遍及第二芯粒來獲得第二芯粒感知資訊;經由該第二芯粒電源控制器,基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓;回應於決定應當調整該第二芯粒的電壓,從第二芯粒通訊介面向第一芯粒的第一芯粒通訊介面發送電壓改變訊息;經由該第一芯粒通訊介面,基於該電壓改變訊息來產生電源軌調整訊息;經由該第一芯粒通訊介面,向電源管理積體電路(PMIC)發送該電源軌調整訊息;及經由該PMIC,基於該電源軌調整訊息來調整跨由該第一芯粒和該第二芯粒共享的電源軌的電壓。
實例12、根據實例11之方法,其中該第二感知資訊包括溫度資訊、電壓資訊或電流資訊中的至少一項。
實例13、根據實例11-12中任一項所述的方法,亦包括:經由遍及該第二芯粒定位的感測器來量測感知參數,其中該第二感知資訊是基於該感知參數的。
實例14、根據實例11-13中任一項所述的方法,其中基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓亦包括:決定該第二感知資訊是否指示感知參數在閥值範圍之外。
實例15、根據實例11-14中任一項所述的方法,亦包括:經由第一芯粒電源控制器,遍及該第一芯粒來獲得該第一芯粒感知資訊;及經由該第一芯粒電源控制器,基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的電壓,其中基於該電壓改變訊息來產生該電源軌調整訊息亦包括:回應於決定應當調整該第一芯粒的電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息。
實例16、根據實例11-15中任一項所述的方法,其中遍及該第二芯粒來獲得第二芯粒感知資訊包括:遍及該第二芯粒反覆運算地獲得第二芯粒電源資訊,該方法亦包括:利用向下計數器值來初始化該第二芯粒上的向下表決計數器;基於該第二芯粒電源資訊來決定是否應當降低該第二芯粒的電壓;及回應於決定應當降低該第二芯粒的電壓來將該向下表決計數器遞增,其中該向下表決計數器是針對獲得指示應當降低該第二芯粒的電壓的第二芯粒感知資訊的每次反覆運算而遞增的,其中向該第一芯粒發送該電壓改變訊息包括回應於該向下表決計數器達到該向下表決計數器值來發送該電壓改變訊息。
實例17、根據實例16之方法,亦包括:從該第一芯粒向該第二芯粒發送重置訊息以使得該第二芯粒重置該向下表決計數器。
實例18、根據實例11-17中任一項所述的方法,亦包括:利用時間限制值來初始化聚合訊窗,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。
實例19、根據實例11-18中任一項所述的方法,亦包括:在該第二芯粒中初始化包括該第二芯粒的先前電壓建議的表決表,其中基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓包括將由該第二芯粒感知資訊指示的當前電壓建議與該先前電壓建議進行比較;及回應於決定該先前電壓建議與該當前電壓建議不匹配,從該第二芯粒向該第一芯粒發送電壓改變訊息。
實例20、根據實例11-19中任一項所述的方法,亦包括:在該第一芯粒中初始化包括該第二芯粒的先前電壓建議的全域表決表;將在該電壓改變訊息中指示的當前電壓建議與該先前電壓建議進行比較;回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息;及改變該先前電壓建議以匹配該當前電壓建議。
實例21、一種用於第一芯粒管理片上系統(SoC)內的多個芯粒的電源軌的方法,包括:從第二芯粒接收包括遍及該第二芯粒量測的第二芯粒感知資訊的電壓改變訊息;基於該電壓改變訊息來決定是否應當調整該第二芯粒的電壓;及回應於決定應當調整該第二芯粒的電壓來向電源管理積體電路(PMIC)發送電源軌調整訊息,其中該電源軌調整訊息包括使得該PMIC調整該第二芯粒的電壓的指令。
22、根據實例21之方法,亦包括:遍及該第一芯粒來獲得第一芯粒感知資訊;及基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的電壓,其中基於該電壓改變訊息來產生該電源軌調整訊息亦包括:回應於決定應當調整該第一芯粒的電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息。
實例23、根據實例21-22中任一項所述的方法,亦包括:利用時間限制值來初始化聚合訊窗,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。
實例24、根據實例21-23中任一項所述的方法,亦包括:在該第一芯粒中初始化包括該第二芯粒的先前電壓建議的全域表決表;將在該電壓改變訊息中指示的當前電壓建議與該先前電壓建議進行比較;回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息;及改變該先前電壓建議以匹配該當前電壓建議。
實例25、一種片上系統(SoC),包括:第一芯粒;第二芯粒;用於遍及該第二芯粒來獲得第二芯粒感知資訊的單元;用於基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓的單元;用於回應於決定應當調整該第二芯粒的電壓,從第二芯粒向該第一芯粒發送電壓改變訊息的單元;用於基於該電壓改變訊息來產生電源軌調整訊息的單元;用於從該第一芯粒向電源管理積體電路(PMIC)發送該電源軌調整訊息的單元;及用於經由該PMIC,基於該電源軌調整訊息來調整跨由該第一芯粒和該第二芯粒共享的電源軌的電壓的單元。
實例26、根據實例25之SoC,亦包括:用於量測感知參數的單元,其中該第二感知資訊是基於該感知參數的。
實例27、根據實例25-26中任一項所述的SoC,亦包括:用於遍及該第一芯粒來獲得該第一芯粒感知資訊的單元;及用於基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的電壓的單元,其中用於基於該電壓改變訊息來產生該電源軌調整訊息的單元包括:用於回應於決定應當調整該第一芯粒的電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息的單元。
實例28、根據實例25-27中任一項所述的SoC,亦包括:用於利用向下計數器值來初始化該第二芯粒上的向下表決計數器的單元,其中用於遍及該第二芯粒來獲得第二芯粒感知資訊的單元包括用於遍及該第二芯粒反覆運算地獲得第二芯粒電源資訊的單元;用於基於該第二芯粒電源資訊來決定是否應當降低該第二芯粒的電壓的單元;及用於回應於決定應當降低該第二芯粒的電壓來將該向下表決計數器遞增的單元,其中該向下表決計數器是針對獲得指示應當降低該第二芯粒的電壓的第二芯粒感知資訊的每次反覆運算而遞增的;其中用於向該第一芯粒發送該電壓改變訊息的單元包括用於回應於該向下表決計數器達到該向下表決計數器值來發送該電壓改變訊息的單元。
實例29、根據實例28之SoC,亦包括:用於從該第一芯粒向該第二芯粒發送重置訊息以使得該第二芯粒重置該向下表決計數器的單元。
實例30、根據實例25-29中任一項所述的SoC,亦包括:用於利用時間限制值來初始化聚合訊窗的單元,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。
實例31、根據實例25-30中任一項所述的SoC,亦包括:用於在該第二芯粒中初始化包括該第二芯粒的先前電壓建議的表決表的單元,其中用於基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓的單元包括用於將由該第二芯粒感知資訊指示的當前電壓建議與該先前電壓建議進行比較的單元;及用於回應於決定該先前電壓建議與該當前電壓建議不匹配,從該第二芯粒向該第一芯粒發送電壓改變訊息的單元。
實例32、根據實例25-31中任一項所述的SoC,亦包括:用於在該第一芯粒中初始化包括該第二芯粒的先前電壓建議的全域表決表的單元;用於將在該電壓改變訊息中指示的當前電壓建議與該先前電壓建議進行比較的單元;用於回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息的單元;及用於改變該先前電壓建議以匹配該當前電壓建議的單元。
用於在可程式設計處理器上執行各種實施例操作的電腦程式代碼或「程式碼」可以用高級程式設計語言編寫,例如C、C++、C#、Smalltalk、Java、JavaScript、Visual Basic、結構化查詢語言(例如Transact-SQL)、Perl或各種其他程式設計語言。程式碼或儲存在本說明書中使用的電腦可讀取儲存媒體上的程式可以指其格式可以被處理器理解的機器語言代碼(例如目標代碼)。
所示和描述的各種實施例僅作為實例來提供以示出請求項的各種特徵。然而,關於任何給定實施例示出和描述的特徵不一定限於相關聯的實施例,並且可以與示出和描述的其他實施例一起使用或組合。此外,請求項不意欲由任何一個實例實施例限制。
上述方法描述和程序流程圖僅是作為說明性實例提供的,以及不意欲要求或暗示必須按照提供的循序執行各種實施例的方塊。如本發明所屬領域中具有通常知識者將理解的是,前述實施例中的方塊的順序可以以任何循序執行。諸如「此後」、「隨後」、「下一步」等詞並非意欲限制方塊的順序;這些詞簡單地用於經由對方法的描述來引導讀者。此外,例如,使用條目「一(a)」、「一個(an)」或「該(the)」,對單數形式的請求項要素的任何引用不得解釋為將元素限制為單數形式。
結合本文所揭示的實施例描述的各種示例性的邏輯區塊、模組、電路和演算法方塊均可以實現成電子硬體、電腦軟體或兩者的組合。為了清楚地表示硬體和軟體之間的這種可交換性,上面對各種示例性的部件、方塊、模組、電路和方塊均圍繞其功能進行了整體描述。至於這種功能是實現成硬體還是實現成軟體,取決於特定的應用和對整個系統所施加的設計約束條件。本發明所屬領域中具有通常知識者可以針對每個特定應用,以變通的方式實現所描述的功能,但是,這種實施例決策不應解釋為背離各個實施例的範疇。
用於執行本文所述功能的通用處理器、數位訊號處理器(DSP)、特殊應用積體電路(ASIC)、現場可程式設計閘陣列(FPGA)或其他可程式設計邏輯裝置、個別閘或者電晶體邏輯裝置、個別硬體部件或者其任意組合,可以用來實現或執行結合本文所揭示的實施例描述的用於實現各種示例性的邏輯、邏輯區塊、模組和電路的硬體。通用處理器可以是微處理器,或者,該處理器亦可以是任何一般的處理器、控制器、微控制器或者狀態機。處理器亦可以實現為通訊設備的組合,例如,DSP和微處理器的組合、若干微處理器、一或多個微處理器與DSP核心的結合,或者任何其他此種結構。替代地,一些方塊或方法可以由特定於給定的功能的電路來執行。
在各個實施例中,本文所述功能可以用硬體、軟體、韌體或其任意組合的方式來實現。當在軟體中實現時,可以將這些功能儲存成非暫時性電腦可讀取媒體或者非暫時性處理器可讀取媒體上的一或多個指令或代碼。本文所揭示的方法或演算法的操作可以體現在處理器可執行軟體模組,其可以位於非暫時性電腦可讀取儲存媒體或處理器可讀儲存媒體上。非暫時性電腦可讀或處理器可讀儲存媒體可以是電腦或處理器能夠存取的任何儲存媒體。舉例而言,但非做出限制,這種非暫時性電腦可讀取媒體或者處理器可讀儲存媒體可以包括RAM、ROM、EEPROM、快閃記憶體、CD-ROM或其他光碟記憶體、磁碟記憶體或其他磁存放裝置、或者能夠用於儲存具有指令或資料結構形式的期望的程式碼並能夠由電腦進行存取的任何其他媒體。如本文所使用的,磁碟和光碟包括壓縮光碟(CD)、鐳射光碟、光碟、數位多功能光碟(DVD)、軟碟和藍光光碟,其中磁碟通常磁性地複製資料,而光碟則用鐳射來光學地複製資料。上述的組合亦應當包括在非暫時性電腦可讀取媒體和處理器可讀取媒體的範疇之內。另外,一種方法或演算法的操作可以作為一個代碼及/或指令集或者其任意組合,位於非暫時性處理器可讀儲存媒體及/或電腦可讀取儲存媒體上,其中該非暫時性處理器可讀儲存媒體及/或電腦可讀取儲存媒體可以併入到電腦程式產品中。
為使本發明所屬領域中任何具有通常知識者能夠實現或者使用本實施例,上面圍繞所揭示的實施例進行了描述。對於本發明所屬領域中具有通常知識者來說,對這些實施例的各種修改是顯而易見的,並且,本文定義的整體原理亦可以在不脫離本實施例的範疇的基礎上應用於其他實施例。因此,各種實施例並不限於本文所示出的實施例,而是與所附申請專利範圍和本文揭示的原理和新穎性特徵的最廣範疇相一致。
100:多芯粒系統電路
102:PMIC
104:系統級封裝(SIP)
106:介面匯流排
108:控制器到控制器介面
110a:芯粒
110b:芯粒
110c:芯粒
110d:芯粒
112a:電源控制器
112b:電源控制器
112c:電源控制器
112d:電源控制器
114a:通訊介面
114b:通訊介面
114c:通訊介面
114d:通訊介面
116a:感測器
116b:感測器
116c:感測器
116d:感測器
118:嵌入式記憶體(MX)電源軌
120:核心邏輯(CX)電源軌
122a:記憶體設備
122b:記憶體設備
122c:記憶體設備
122d:記憶體設備
124a:處理核心
124b:處理核心
124c:處理核心
124d:處理核心
200:訊息流程圖
202:操作
204:操作
206:操作
208:操作
210:操作
212:操作
214:操作
216:操作
218:操作
220:操作
222:操作
224:操作
226:操作
228:操作
230:操作
232:操作
234:操作
236:操作
238:操作
240:操作
242:操作
244:操作
246:操作
300:訊息流程圖
302:操作
304:操作
306:操作
308:操作
310:操作
312:操作
314:操作
316:操作
318:操作
320:操作
322:操作
324:操作
326:操作
328:操作
330:操作
332:操作
334:操作
336:操作
338:操作
340:操作
342:操作
344:操作
346:操作
348:操作
350:操作
352:操作
354:操作
356:操作
400:訊息流程圖
402:操作
404:操作
406:操作
408:操作
410:操作
412:操作
414:操作
416:操作
418:操作
420:操作
422:操作
424:操作
426:操作
428:操作
430:操作
432:操作
434:操作
436:操作
438:操作
500:方法
502:方塊
504:方塊
506:方塊
508:方塊
510:方塊
512:方塊
600a:方法
600b:方法
600c:方法
600d:方法
600e:方法
600f:方法
600g:方法
602:方塊
604:方塊
606:方塊
608:方塊
610:方塊
612:方塊
614:方塊
616:方塊
618:方塊
620:方塊
622:方塊
624:方塊
626:方塊
628:方塊
630:方塊
632:方塊
634:方塊
636:方塊
638:方塊
640:方塊
642:方塊
700:行動計算裝置
702:處理器
704:觸控式螢幕控制器
706:內部記憶體
708:收發機
710:天線
712:觸控式螢幕面板
714:揚聲器
716:蜂巢網路無線數據機晶片
718:周邊設備連接介面
720:外殼
722:電源
724:實體按鈕
726:電源按鈕
800:膝上型電腦
802:處理器
808:天線
812:揮發性記憶體
813:磁碟機
814:軟碟機
815:光碟(CD)驅動器
816:蜂巢式電話收發機
817:觸控板
818:鍵盤
819:顯示器
900:伺服器
901:處理器
902:揮發性記憶體
903:網路存取埠
904:磁碟機
905:網路
906:光碟(CD)或數位多功能光碟(DVD)驅動器
CX:核心邏輯
MX:嵌入式記憶體
被併入本文並且構成本說明書的部分的附圖示出示例性實施例,以及連同上文提供的整體描述和下文提供的詳細描述一起用於解釋各個實施例的特徵。
圖1是示出適於實現各個實施例中的任何實施例的實例多芯粒系統電路的部件方塊圖。
圖2是示出根據一些實施例的用於利用聚合訊窗來管理多芯粒系統內的電源的操作和設備到設備通訊的訊息流程圖。
圖3是示出根據一些實施例的用於利用聚合訊窗和表決表來管理多芯粒系統內的電源的操作和設備到設備通訊的訊息流程圖。
圖4是示出根據一些實施例的用於利用表決表來管理多芯粒系統內的電源的操作和設備到設備通訊的訊息流程圖。
圖5是示出根據各個實施例的用於管理多芯粒系統內的電源的實施例方法的程序流程圖。
圖6A-6G是示出根據一些實施例的可以作為管理多芯粒系統內的電源的一部分來執行的實施例方法的程序流程圖。
圖7是示出適於與各個實施例一起使用的實例無線通訊設備的部件方塊圖。
圖8是示出適於與各個實施例一起使用的實例計算設備的部件方塊圖。
圖9是示出適於與各個實施例一起使用的實例伺服器的部件方塊圖。
國內寄存資訊(請依寄存機構、日期、號碼順序註記)
無
國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記)
無
100:多芯粒系統電路
102:PMIC
104:系統級封裝(SIP)
106:介面匯流排
108:控制器到控制器介面
110a:芯粒
110b:芯粒
110c:芯粒
110d:芯粒
112a:電源控制器
112b:電源控制器
112c:電源控制器
112d:電源控制器
114a:通訊介面
114b:通訊介面
114c:通訊介面
114d:通訊介面
116a:感測器
116b:感測器
116c:感測器
116d:感測器
118:嵌入式記憶體(MX)電源軌
120:核心邏輯(CX)電源軌
122a:記憶體設備
122b:記憶體設備
122c:記憶體設備
122d:記憶體設備
124a:處理核心
124b:處理核心
124c:處理核心
124d:處理核心
Claims (32)
- 一種片上系統(SoC),包括: 一第一芯粒; 一第二芯粒; 耦合到該第一芯粒和該第二芯粒的一共享電源軌;及 一電源管理積體電路(PMIC),其被配置為跨該共享電源軌向該第一芯粒和該第二芯粒供應電力,其中: 該第一芯粒被配置為遍及該第一芯粒來獲得第一感知資訊; 該第二芯粒被配置為遍及該第二芯粒來獲得第二感知資訊,以及基於該第二感知資訊來向該第一芯粒發送一電壓改變訊息; 該第一芯粒被配置為基於該第一感知資訊和該電壓改變訊息來向該PMIC發送一電源軌調整訊息;及 該PMIC被配置為調整該第一芯粒和該第二芯粒中的至少一者的電壓。
- 根據請求項1之SoC,其中: 該第一芯粒包括: 一第一感測器集合,其被配置為經由遍及該第一芯粒量測第一感知參數來獲得該第一感知資訊; 一第一電源控制器,其被配置為從該第一感測器集合接收該第一感知資訊;及 一第一通訊介面,其被配置為從該第一電源控制器接收基於該第一感知資訊的一第一電壓改變訊息; 該第二芯粒包括: 一第二感測器集合,其被配置為經由遍及該第二芯粒量測第二感知參數來獲得該第二感知資訊; 一第二電源控制器,其被配置為從該第二感測器集合接收該第二感知資訊;及 一第二通訊介面,其被配置為從該第二電源控制器接收基於該第二感知資訊的一第二電壓改變訊息;及 該電源軌調整訊息是基於該第一電壓改變訊息和該第二電壓改變訊息的。
- 根據請求項1之SoC,亦包括: 可通訊地連接該PMIC、該第一芯粒和該第二芯粒的一介面匯流排,其中該介面匯流排是一系統電源管理介面(SPMI)。
- 根據請求項3之SoC,其中: 該第二芯粒亦被配置為基於該第二感知資訊來向該PMIC發送一獨立的電源軌調整訊息,以及 該PMIC亦被配置為基於該獨立的電源軌調整訊息來調整該第二芯粒的電壓。
- 根據請求項1之SoC,亦包括: 可通訊地連接該PMIC和該第一芯粒的一介面間電路(I 2C)匯流排, 其中該第一芯粒被配置為跨該I 2C匯流排向該PMIC發送該電源軌調整訊息。
- 根據請求項1之SoC,亦包括: 一控制器到控制器介面,其被配置為將該電壓改變訊息從該第二芯粒傳送到該第一芯粒。
- 根據請求項1之SoC,亦包括: 由該第一芯粒和該第二芯粒共享並且由該PMIC控制的一電源軌, 其中該PMIC被配置為經由調整跨該電源軌的電壓來調整該第一芯粒和該第二芯粒中的至少一者的一電壓。
- 根據請求項7之SoC,其中該電源軌是一嵌入式記憶體(MX)電源軌或一核心邏輯(CX)電源軌。
- 根據請求項1之SoC,亦包括: 一第三芯粒,其被配置為經由遍及該第三芯粒量測第三感知參數來獲得第三感知資訊,並且被配置為基於該第三感知資訊來向該第一芯粒發送一第二電壓改變訊息, 其中該電源軌調整訊息是部分地基於該第二電壓改變訊息的,並且 其中該PMIC被配置為調整該第一芯粒、該第二芯粒和該第三芯粒中的至少一項的電壓。
- 根據請求項1之SoC,其中該第一感知資訊和該第二感知資訊包括溫度資訊、電壓資訊或電流資訊中的至少一項。
- 一種用於一片上系統(SoC)內的多個芯粒的電源管理的方法,包括以下步驟: 經由一第二芯粒電源控制器,遍及一第二芯粒來獲得第二芯粒感知資訊; 經由該第二芯粒電源控制器,基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的一電壓; 回應於決定應當調整該第二芯粒的一電壓,從一第二芯粒通訊介面向一第一芯粒的一第一芯粒通訊介面發送一電壓改變訊息; 經由該第一芯粒通訊介面,基於該電壓改變訊息來產生一電源軌調整訊息; 經由該第一芯粒通訊介面,向一電源管理積體電路(PMIC)發送該電源軌調整訊息;及 經由該PMIC,基於該電源軌調整訊息來調整跨由該第一芯粒和該第二芯粒共享的一電源軌的一電壓。
- 根據請求項11之方法,其中該第二感知資訊包括溫度資訊、電壓資訊或電流資訊中的至少一項。
- 根據請求項11之方法,亦包括以下步驟: 經由遍及該第二芯粒定位的感測器來量測感知參數, 其中該第二感知資訊是基於該感知參數的。
- 根據請求項11之方法,其中基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的一電壓亦包括以下步驟:決定該第二感知資訊是否指示一感知參數在一閥值範圍之外。
- 根據請求項11之方法,亦包括以下步驟: 經由一第一芯粒電源控制器,遍及該第一芯粒來獲得第一芯粒感知資訊;及 經由該第一芯粒電源控制器,基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的一電壓, 其中基於該電壓改變訊息來產生該電源軌調整訊息亦包括:回應於決定應當調整該第一芯粒的一電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息。
- 根據請求項11之方法,其中遍及該第二芯粒來獲得第二芯粒感知資訊包括以下步驟:遍及該第二芯粒反覆運算地獲得第二芯粒電源資訊,該方法亦包括以下步驟: 利用一向下計數器值來初始化該第二芯粒上的一向下表決計數器; 基於該第二芯粒電源資訊來決定是否應當降低該第二芯粒的電壓;及 回應於決定應當降低該第二芯粒的電壓來將該向下表決計數器遞增,其中該向下表決計數器是針對獲得指示應當降低該第二芯粒的電壓的第二芯粒感知資訊的每次反覆運算而遞增的, 其中向該第一芯粒發送該電壓改變訊息包括回應於該向下表決計數器達到該向下表決計數器值來發送該電壓改變訊息。
- 根據請求項16之方法,亦包括以下步驟: 從該第一芯粒向該第二芯粒發送一重置訊息以使得該第二芯粒重置該向下表決計數器。
- 根據請求項11之方法,亦包括以下步驟: 利用一時間限制值來初始化一聚合訊窗,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。
- 根據請求項11之方法,亦包括以下步驟: 在該第二芯粒中初始化包括該第二芯粒的一先前電壓建議的一表決表,其中基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓包括將由該第二芯粒感知資訊指示的一當前電壓建議與該先前電壓建議進行比較;及 回應於決定該先前電壓建議與該當前電壓建議不匹配,從該第二芯粒向該第一芯粒發送一電壓改變訊息。
- 根據請求項11之方法,亦包括以下步驟: 在該第一芯粒中初始化包括該第二芯粒的一先前電壓建議的一全域表決表; 將在該電壓改變訊息中指示的一當前電壓建議與該先前電壓建議進行比較; 回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息;及 改變該先前電壓建議以匹配該當前電壓建議。
- 一種用於一第一芯粒管理一片上系統(SoC)內的多個芯粒的一電源軌的方法,包括以下步驟: 從一第二芯粒接收包括遍及該第二芯粒量測的第二芯粒感知資訊的一電壓改變訊息; 基於該電壓改變訊息來決定是否應當調整該第二芯粒的一電壓;及 回應於決定應當調整該第二芯粒的電壓來向一電源管理積體電路(PMIC)發送一電源軌調整訊息,其中該電源軌調整訊息包括使得該PMIC調整該第二芯粒的一電壓的指令。
- 根據請求項21之方法,亦包括以下步驟: 遍及該第一芯粒來獲得第一芯粒感知資訊;及 基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的一電壓, 其中基於該電壓改變訊息來產生該電源軌調整訊息亦包括以下步驟:回應於決定應當調整該第一芯粒的一電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息。
- 根據請求項21之方法,亦包括以下步驟: 利用一時間限制值來初始化一聚合訊窗,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。
- 根據請求項21之方法,亦包括以下步驟: 在該第一芯粒中初始化包括該第二芯粒的一先前電壓建議的一全域表決表; 將在該電壓改變訊息中指示的一當前電壓建議與該先前電壓建議進行比較; 回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息;及 改變該先前電壓建議以匹配該當前電壓建議。
- 一種片上系統(SoC),包括: 一第一芯粒; 一第二芯粒; 用於遍及該第二芯粒來獲得第二芯粒感知資訊的單元; 用於基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的一電壓的單元; 用於回應於決定應當調整該第二芯粒的一電壓,從該第二芯粒向該第一芯粒發送一電壓改變訊息的單元; 用於基於該電壓改變訊息來產生一電源軌調整訊息的單元; 用於從該第一芯粒向一電源管理積體電路(PMIC)發送該電源軌調整訊息的單元;及 用於經由該PMIC,基於該電源軌調整訊息來調整跨由該第一芯粒和該第二芯粒共享的一電源軌的一電壓的單元。
- 根據請求項25之SoC,亦包括: 用於量測感知參數的單元,其中該第二感知資訊是基於該感知參數的。
- 根據請求項25之SoC,亦包括: 用於遍及該第一芯粒來獲得第一芯粒感知資訊的單元;及 用於基於該第一芯粒感知資訊來決定是否應當調整該第一芯粒的一電壓的單元, 其中用於基於該電壓改變訊息來產生該電源軌調整訊息的單元包括:用於回應於決定應當調整該第一芯粒的一電壓,基於該電壓改變訊息和該第一芯粒感知資訊來產生該電源軌調整訊息的單元。
- 根據請求項25之SoC,亦包括: 用於利用一向下計數器值來初始化該第二芯粒上的一向下表決計數器的單元, 其中用於遍及該第二芯粒來獲得第二芯粒感知資訊的單元包括用於遍及該第二芯粒反覆運算地獲得第二芯粒電源資訊的單元; 用於基於該第二芯粒電源資訊來決定是否應當降低該第二芯粒的電壓的單元;及 用於回應於決定應當降低該第二芯粒的電壓來將該向下表決計數器遞增的單元,其中該向下表決計數器是針對獲得指示應當降低該第二芯粒的電壓的第二芯粒感知資訊的每次反覆運算而遞增的; 其中用於向該第一芯粒發送該電壓改變訊息的單元包括用於回應於該向下表決計數器達到該向下表決計數器值來發送該電壓改變訊息的單元。
- 根據請求項28之SoC,亦包括: 用於從該第一芯粒向該第二芯粒發送一重置訊息以使得該第二芯粒重置該向下表決計數器的單元。
- 根據請求項25之SoC,亦包括: 用於利用一時間限制值來初始化一聚合訊窗的單元,其中該電源軌調整訊息是在該聚合訊窗到期時產生的。
- 根據請求項25之SoC,亦包括: 用於在該第二芯粒中初始化包括該第二芯粒的一先前電壓建議的一表決表的單元,其中用於基於該第二芯粒感知資訊來決定是否應當調整該第二芯粒的電壓的單元包括用於將由該第二芯粒感知資訊指示的一當前電壓建議與該先前電壓建議進行比較的單元;及 用於回應於決定該先前電壓建議與該當前電壓建議不匹配,從該第二芯粒向該第一芯粒發送一電壓改變訊息的單元。
- 根據請求項25之SoC,亦包括: 用於在該第一芯粒中初始化包括該第二芯粒的一先前電壓建議的一全域表決表的單元; 用於將在該電壓改變訊息中指示的一當前電壓建議與該先前電壓建議進行比較的單元; 用於回應於決定該當前電壓建議與該先前電壓建議不匹配,來產生該電源軌調整訊息的單元;及 用於改變該先前電壓建議以匹配該當前電壓建議的單元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/359,350 US11733767B2 (en) | 2021-06-25 | 2021-06-25 | Power management for multiple-chiplet systems |
US17/359,350 | 2021-06-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202303407A true TW202303407A (zh) | 2023-01-16 |
Family
ID=82258406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111120031A TW202303407A (zh) | 2021-06-25 | 2022-05-30 | 用於多芯粒系統的電源管理 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11733767B2 (zh) |
EP (1) | EP4359886A1 (zh) |
KR (1) | KR20240026926A (zh) |
CN (1) | CN117425868A (zh) |
BR (1) | BR112023025879A2 (zh) |
TW (1) | TW202303407A (zh) |
WO (1) | WO2022271418A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230013732A (ko) * | 2021-07-19 | 2023-01-27 | 삼성전자주식회사 | 복수의 전력 관리 집적 회로들을 포함하는 전자 장치 및 그것의 동작 방법 |
US11947476B2 (en) * | 2022-03-31 | 2024-04-02 | Advanced Micro Devices, Inc. | Cross-chiplet performance data streaming |
CN116366467B (zh) * | 2023-05-29 | 2023-08-08 | 北京大学 | 服务器无感知的分布式训练软件定义聚合通信框架和方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050239518A1 (en) * | 2004-04-21 | 2005-10-27 | D Agostino Anthony | Systems and methods that provide enhanced state machine power management |
US7707434B2 (en) | 2004-06-29 | 2010-04-27 | Broadcom Corporation | Power control bus for carrying power control information indicating a power supply voltage variability |
US8046601B1 (en) * | 2006-12-21 | 2011-10-25 | Marvell International Ltd. | Closed loop voltage control using adjustable delay lines |
US8386859B2 (en) * | 2010-04-30 | 2013-02-26 | International Business Machines Corporation | On-chip non-volatile storage of a test-time profile for efficiency and performance control |
US8719607B2 (en) | 2011-12-01 | 2014-05-06 | International Business Machines Corporation | Advanced Pstate structure with frequency computation |
US9348648B2 (en) * | 2012-09-12 | 2016-05-24 | Salesforce.Com, Inc. | Providing a routing framework for facilitating dynamic workload scheduling and routing of message queues for fair management of resources for application servers in an on-demand services environment |
US8984308B2 (en) | 2012-12-03 | 2015-03-17 | Qualcomm Incorporated | System and method of adaptive voltage scaling |
KR102387203B1 (ko) * | 2015-06-03 | 2022-04-15 | 삼성전자주식회사 | 병합된 파워 레일을 통해 전원전압을 공급받는 시스템 온 칩 및 이를 포함하는 모바일 시스템 |
US11119936B2 (en) * | 2016-09-27 | 2021-09-14 | Spin Memory, Inc. | Error cache system with coarse and fine segments for power optimization |
US20190101969A1 (en) | 2017-09-29 | 2019-04-04 | Intel Corporation | Control Blocks for Processor Power Management |
US10712807B2 (en) * | 2018-03-30 | 2020-07-14 | Qualcomm Incorporated | Methods and apparatus for saving always on (AON) routing of signals across chips |
US10936049B2 (en) | 2019-04-26 | 2021-03-02 | Intel Corporation | PMIC/PMIC interface for distributed memory management implementations |
US11269999B2 (en) * | 2019-07-01 | 2022-03-08 | At&T Intellectual Property I, L.P. | Protecting computing devices from malicious tampering |
US11256319B2 (en) * | 2019-11-22 | 2022-02-22 | Facebook Technologies, Llc | Hierarchical power management in artificial reality systems |
EP3882742A1 (en) * | 2020-03-20 | 2021-09-22 | NXP USA, Inc. | System and method for power supply voltage scaling for secure embedded systems |
US11210252B1 (en) * | 2020-06-09 | 2021-12-28 | Hewlett Packard Enterprise Development Lp | Directing control data between semiconductor packages |
US20220147126A1 (en) * | 2020-11-12 | 2022-05-12 | Dell Products L.P. | Memory thermal management during initialization of an information handling system |
-
2021
- 2021-06-25 US US17/359,350 patent/US11733767B2/en active Active
-
2022
- 2022-05-30 TW TW111120031A patent/TW202303407A/zh unknown
- 2022-05-31 KR KR1020237043776A patent/KR20240026926A/ko unknown
- 2022-05-31 WO PCT/US2022/031547 patent/WO2022271418A1/en active Application Filing
- 2022-05-31 BR BR112023025879A patent/BR112023025879A2/pt unknown
- 2022-05-31 EP EP22734427.2A patent/EP4359886A1/en active Pending
- 2022-05-31 CN CN202280040381.9A patent/CN117425868A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117425868A (zh) | 2024-01-19 |
US11733767B2 (en) | 2023-08-22 |
US20220413593A1 (en) | 2022-12-29 |
BR112023025879A2 (pt) | 2024-02-27 |
KR20240026926A (ko) | 2024-02-29 |
WO2022271418A1 (en) | 2022-12-29 |
EP4359886A1 (en) | 2024-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202303407A (zh) | 用於多芯粒系統的電源管理 | |
US9158359B2 (en) | Adaptive voltage scaling using a serial interface | |
KR101698877B1 (ko) | 총 플랫폼 전력 제어 | |
KR101827666B1 (ko) | 멀티-프로세서 시스템 온 칩에서의 에너지 효율 인지 열 관리 | |
EP3005079B1 (en) | On-the-fly performance adjustment for solid state storage devices | |
US20190073139A1 (en) | Storage device and controllers included in storage device | |
KR101707096B1 (ko) | 일반 호스트 기반 제어기 레이턴시 방법 및 장치 | |
US20130132972A1 (en) | Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip | |
US20140359331A1 (en) | Rack and power controlling method thereof | |
US8937511B2 (en) | Frequency scaling of variable speed systems for fast response and power reduction | |
TWI409608B (zh) | 具有電壓穩定化之處理器、具有電壓穩定化處理器之系統及用於電壓穩定化之方法 | |
JP2018508886A (ja) | マルチプロセッサシステムにおける揮発性メモリ保守イベントのスケジューリング | |
KR101672357B1 (ko) | 응답 타이밍 최적화에 기초하는 멀티프로세서 시스템에서의 주파수 조정 수행 | |
US20160224080A1 (en) | Calibration margin optimization in a multi-processor system on a chip | |
US20230019075A1 (en) | Electronic device including a plurality of power management integrated circuits and method of operating the same | |
CN114088224B (zh) | 计算板芯片温度监测系统 | |
JP2018508884A (ja) | 揮発性メモリ保守イベントのカーネルスケジューリングを提供するためのシステムおよび方法 | |
TWI719622B (zh) | 多晶片系統 | |
TWI764824B (zh) | 固件升級方法、裝置、晶片及電腦存儲介質 | |
EP4105762A1 (en) | Supply voltage control systems and methods for integrated circuits | |
WO2012066746A1 (ja) | 情報処理装置 | |
CN109240955A (zh) | 电子装置 | |
JPH0451348A (ja) | Dmaコントローラ |