Techniques and implementations pertaining to improvements in power delivery for multi-core processors are described. A method may involve determining whether one or more processing units of a plurality of processing units are starting. The method may also involve increasing power provided to the plurality of processing units before the one or more processing units are started responsive to a determination that the one or more processing units are starting.
|
1. A method, comprising:
receiving power from a power source;
regulating the received power to provide regulated power to a processor via a power delivery network;
determining whether one or more processing units of a plurality of processing units of the processor are starting; and
adjusting an amount of the regulated power provided to the plurality of processing units before the one or more processing units are started responsive to a determination that the one or more processing units are starting,
wherein the adjusting of the amount of the regulated power provided to the plurality of processing units before the one or more processing units are started comprises charging at least one decoupling capacitor of one or more decoupling capacitors of the power delivery network for at least an amount of charging time proportional to a quantity of the one or more processing units that are starting.
7. An apparatus, comprising:
a power management circuit;
a processor comprising a plurality of processing units;
a serial bus coupled between the power management circuit and the processor; and
a power delivery network coupled between the power management circuit and the processor,
wherein the processor is configured to determine whether one or more processing units of the plurality of processing units are starting,
wherein the power management circuit is further configured to adjust an amount of the regulated power provided to the processor before the one or more processing units are started responsive to a determination by the processor that the one or more processing units are starting,
wherein the power management circuit is configured to receive and regulate power from a power source and provide regulated power to the processor via the power delivery network,
wherein the power delivery network comprises one or more decoupling capacitors, and
wherein, in adjusting the amount of the regulated power provided to the processor before the one or more processing units are started, the power management circuit is configured to charge at least one decoupling capacitor of the one or more decoupling capacitors for at least an amount of charging time proportional to a quantity of the one or more processing units that are starting.
2. The method of
3. The method of
4. The method of
determining, using a lookup table, an amount of power increase and an amount of time for the power increase based on a quantity of the one or more processing units that are starting; and
increasing the power provided to the plurality of processing units by the determined amount of power increase and for the determine amount of time.
5. The method of
6. The method of
receiving a feedback on the power provided to the plurality of processing units via a single-ended feedback line.
8. The apparatus of
9. The apparatus of
10. The apparatus of
11. The apparatus of
determining, using a lookup table, an amount of power increase and an amount of time for the power increase based on a quantity of the one or more processing units that are starting; and
increasing the amount of regulated power provided to the processor by the determined amount of power increase and for the determine amount of time.
12. The apparatus of
13. The apparatus of
14. The apparatus of
15. The apparatus of
a multi-layer board on which the processor is disposed,
wherein the power delivery network comprises a single-ended feedback line disposed in the board and coupled between the power management circuit and the processor, and
wherein the power management circuit is configured to receive, via the feedback line, a feedback on the regulated power provided to the processor.
16. The apparatus of
17. The apparatus of
18. The apparatus of
19. The apparatus of
|
The present disclosure claims the priority benefit of U.S. Provisional Patent Application No. 62/156,408, filed on 4 May 2015, which is incorporated by reference in their entirety.
The present disclosure is generally related to power delivery for multi-core processors and, more particularly, to novel improvements in power delivery for multi-core processors and apparatus thereof.
Unless otherwise indicated herein, approaches described in this section are not prior art to the claims listed below and are not admitted to be prior art by inclusion in this section.
With the evolution of advanced integrated-circuit (IC) fabrication technology, the number of components and complexity of circuitry disposed on a chip have been increasing over time. Moreover, in applications such as portable devices (e.g., smartphones), consumer needs and market trend demand more and more functionalities, features and capabilities to be packed in one platform. Accordingly, solutions such as system-on-chip (SoC) and multi-core processors have gained popularity. Such a solution or platform typically includes a power management integrated circuit (PMIC) and a multi-core processor (e.g., application processor or central processing unit (CPU)), with the PMIC providing functions such as battery management, voltage regulation, and charging so as to power the multi-core processor for the multi-core processor to perform various operations.
The following summary is illustrative only and is not intended to be limiting in any way. That is, the following summary is provided to introduce concepts, highlights, benefits and advantages of the novel and non-obvious techniques described herein. Select, not all, implementations are further described below in the detailed description. Thus, the following summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
In one example implementation, a method may involve determining whether one or more processing units of a plurality of processing units are starting. The method may also involve increasing power provided to the plurality of processing units before the one or more processing units are started responsive to a determination that the one or more processing units are starting.
In another example implementation, an apparatus may include a power management circuit, a multi-core processor comprising a plurality of processing units, a serial bus coupled between the power management circuit and the processor, and a power delivery network coupled between the power management circuit and the processor. The power management circuit may be configured to receive and regulate power from a power source and provide regulated power to the processor via the power delivery network. The processor may be configured to determine whether one or more processing units of a plurality of processing units are starting. The power management circuit may be further configured to adjust an amount of the regulated power provided to the processor before the one or more processing units are started responsive to a determination by the processor that the one or more processing units are starting.
Implementations in accordance with the present disclosure address issues associated with prior art approaches (such as that shown in
The accompanying drawings are included to provide a further understanding of the disclosure, and are incorporated in and constitute a part of the present disclosure. The drawings illustrate implementations of the disclosure and, together with the description, serve to explain the principles of the disclosure. It is appreciable that the drawings are not necessarily in scale as some components may be shown to be out of proportion than the size in actual implementation in order to clearly illustrate the concept of the present disclosure.
Detailed embodiments and implementations of the claimed subject matters are disclosed herein. However, it shall be understood that the disclosed embodiments and implementations are merely illustrative of the claimed subject matters which may be embodied in various forms. The present disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments and implementations set forth herein. Rather, these exemplary embodiments and implementations are provided so that description of the present disclosure is thorough and complete and will fully convey the scope of the present disclosure to those skilled in the art. In the description below, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments and implementations.
Referring to
In some implementations, the amount of charging time (ΔTC) may be greater than or equal to 100 ns. Alternatively or additionally, the amount of charging time may be at least an amount of time that allows at least one decoupling capacitor of a power delivery network to be charged to compensate for less than 12% voltage droop, as measured from a steady-state voltage level (e.g., 1 V), when one or more processing units of a multi-core processor are started.
Referring to
Regarding charging time, comparing simulation results 200(A), 200(C) and 200(E), it can be seen that with longer charging time the voltage droop tends to be smaller, and vice versa. Similarly, comparing simulation results 200(B), 200(D) and 200(F), it can be seen that with longer charging time the voltage droop tends to be smaller, and vice versa.
It is noteworthy that, although the examples shown in
Power management circuit 310 may be in the form of an integrated circuit and may be enclosed, contained or otherwise packaged in a first IC package 302. In some implementations, power management circuit 310 may include an on-die oscillator. Power management circuit 310 may be configured to perform various operations and functions including, for example and not limited to, power conversion, voltage regulation, battery management and charging. Power management circuit 310 may include circuitry for direct current (DC) to DC conversion and/or alternating current (AC) to DC conversion. Power management circuit 310 may include circuitry to allow dynamic voltage scaling, dynamic frequency scaling and/or dynamic voltage and frequency scaling (DVFS). In some implementations, power management circuit 310 may include an error amplifier (not shown) having a first input port and a second input port. The first input port of the error amplifier may be connected to a power ball or a power pin of first IC package 302, and the second input port of the error amplifier may be connected to a local ground plane of first IC package 302.
Multi-core processor 330 may be in the form of an integrated circuit and may be enclosed, contained or otherwise packaged in a second IC package 304. Multi-core processor 330 may be an application processor (e.g., graphics processing unit (GPU) or a CPU. Multi-core processor 330 may support applications running in a given operating system environment, and may provide a self-contained operating environment that delivers system capabilities needed to support applications of apparatus 300 including, for example and not limited to, memory management, graphics processing, multimedia decoding, computation and the like. In operation, multi-core processor 330 may be in an idle state in which zero, one or few of the processing units of multi-core processor 330 may perform minimal operations to sustain the system. At other times, some or all of the processing units of multi-core processor 330 may perform operations and/or computations simultaneously, with each processing unit operating at one of multiple possible operating frequencies. Multi-core processor 330 may include multiple processing units 336(1)-336(N), with N being a positive integer greater than 1. Multi-core processor 330 may include at least two cores or processing units. For instance, in various implementations, multi-core processor 330 may include two, four, six, eight, ten, twelve or more cores/processing units. Multi-core processor 330 may be configured to determine whether one or more of the processing units 336(1)-336(N) are starting soon. For instance, an operating system executing on multi-core processor 330 may, based on application(s) running at a given time, determine that one or more additional processing units of the multiple processing units 336(1)-336(N) may need to be started in order to support demands by currently running application(s) and/or soon-to-be-running application(s).
Power delivery network 320, which may include a PCB and a corresponding package, may be electrically coupled between power management circuit 310 and multi-core processor 330 to provide electric power from power management circuit 310 to multi-core processor 330. For instance, power management circuit 310 may receive electric power from a power source (e.g., an external power source such as AC mains or an internal power source 350 such as a battery) and regulate the received power to provide regulated power to multi-core processor 330 via power delivery network 320. Power delivery network 320 may include wires, lines (herein interchangeably referred to as “traces”) and/or electrically-conductive plating as well as electronic components such as one or more decoupling capacitors 328. The one or more decoupling capacitor 328 may be charged by power management circuit 310 to hold a relatively large electric charge. It is noteworthy that the bulk capacitance in the power delivery network 320 without early power compensation would be insufficient to supply the large inrush current due to channel impedance and IR droop. Advantageously, having the one or more decoupling capacitors 328 holding a relatively large electric charge allows the voltage of the regulated power provided to multi-core processor 330 to be increased so as to compensate for a large current draw when some or all of the processing units 336(1)-336(N) of multi-core processor 330 are started simultaneously (and operate at their higher or maximum operating frequency). In some implementations, a capacitance of the one or more decoupling capacitors 328 may be from 0.1 μF to 22 μF in the PCB and from 1 μF to 2.2 μF in the package of power delivery network 320. In some implementations a height of the one or more decoupling capacitors 328 may be less than 1.25 mm. Typical surface-mount 22-μF capacitors are of 0603 (chip code) with dimensions of 1.6 mm (L)×0.8 mm (W)×0.8 mm (H), which are smaller than those of 0805 (chip code). Therefore, implementation of portable devices with lower cost and smaller form factor is possible.
Serial bus 340 may be electrically coupled between power management circuit 310 and multi-core processor 330 to allow communication therebetween. For instance, multi-core processor 330 may transmit a signal containing one or more commands to power management circuit 310 via serial bus 340 to trigger power management circuit 310 to initiate early power compensation in accordance with the present disclosure. Serial bus 340 may be, for example and not limited to, serial bus comprises an inter-integrated circuit (I2C) bus, a serial peripheral interface (SPI) bus, a system management bus (SMB) and/or a serial low-power inter-chip media bus (SLIMbus).
Power delivery network 320 may include a feedback line 325, which may be electrically coupled between power management circuit 310 and multi-core processor 330 to provide a feedback to power management circuit 310 so as to allow power management circuit 310 to sense the power received by multi-core processor 330. Different from feedback lines in the prior art, such as the differential feedback lines 925A and 925B in
In effecting early power compensation in accordance with the present disclosure, power management circuit 310 may be configured to adjust an amount of the regulated power provided to multi-core processor 330 before one or more processing units of the multiple processing units 336(1)-336(N) are started in response to a determination by multi-core processor 330 that the one or more processing units are starting. In some implementations, power management circuit 310 may be configured to receive, from multi-core processor 330 via serial bus 340, a signal indicating that the one or more processing units are starting. For instance, the signal may contain or otherwise represent one or more commands from multi-core processor 330 triggering or otherwise commanding power management circuit 310 to initiate early power compensation in accordance with the present disclosure.
In some implementations, in adjusting the amount of the regulated power provided to multi-core processor 330 before the one or more processing units are started, power management circuit 310 may be configured to increase an amount of the regulated power provided to multi-core processor 330 at least a period of time before the one or more processing units are started. For instance, referring to
In some implementations, in adjusting the amount of the regulated power provided to multi-core processor 330 before the one or more processing units are started, power management circuit 310 may be configured to perform a number of operations. For instance, power management circuit 310 may determine, using a lookup table 315, an amount of power increase and an amount of time for the power increase based on a quantity of the one or more processing units that are starting. Additionally, power management circuit 310 may increase the amount of regulated power provided to multi-core processor 330 by the determined amount of power increase and for the determined amount of time. As an example, power management circuit 310 may have lookup table 315 stored in an internal memory thereof. Lookup table 315 may include tabulated information of the amount of adjustment and duration of adjustment to be made to the regulated power provided to multi-core processor 330 corresponding to the quantity of processing unit(s) to be started (one at a time in sequence or together simultaneously) which may or may not be started to operate at their maximum operating frequency. In adjusting the amount of the regulated power provided to multi-core processor 330 before the one or more processing units are started, power management circuit 310 may be configured to adjust a voltage, an operating frequency, a system clock, or a combination thereof with respect to the regulated power provided to multi-core processor 330. For example, in the context of adjustment to the voltage of the regulated power provided to multi-core processor 330, lookup table 315 may include correlations of quantities of processing units to be started, operating frequencies and the corresponding amounts of voltage increase as well as the corresponding durations for the voltage increase.
Alternatively or additionally, in adjusting the amount of the regulated power provided to multi-core processor 330 before the one or more processing units are started, power management circuit 310 may be configured to charge at least one decoupling capacitor of the one or more decoupling capacitors 328 for at least an amount of charging time proportional to a quantity of the one or more processing units that are starting. In some implementations, the amount of charging time may be at least an amount of time that allows the at least one decoupling capacitor to be charged to compensate for less than 12% voltage droop, as measured from a steady-state voltage level (e.g., 1 V), when the one or more processing units are started.
Apparatus 400 may be similar or identical to apparatus 300 for the most part. For example, multi-core processor 430 may be similar or identical to multi-core processor 330. Thus, in the interest of brevity and to avoid redundancy, the following description of apparatus 400 is focused on differences between apparatus 400 and apparatus 300. In other words, any component and/or functionality of apparatus 400 not described herein is similar or identical to that of apparatus 300.
Different from apparatus 300, power management circuit 410, part of power delivery network 420 and multi-core processor 430 may be packaged in a single IC package 405. For instance, power management circuit 410 may be implemented as an on-die regulator. In some implementations, power management circuit 410 may include an on-die oscillator. Moreover, serial bus 440 may be an inter-integrated circuit (I2C) bus. Alternatively or additionally, part of power delivery network 420 may be coupled to the PCB for additional decoupling capacitors (not shown).
Power delivery network 520 may include at least a first ground plane (or traces) 522, a second ground plane (or traces) 524, a power plane (or traces) 526 between first and second ground planes 522 and 524, and a single-ended feedback line 525. The first and second ground planes 522 and 524 as well as the power plane 526 may be disposed in different layers of a printed circuit board (PCB). Power plane 526 may be coupled between a power output terminal 512 of power management circuit 510 (denoted as VPMIC in
Feedback line 525 may be an electrically-conductive trace on a PCB (not shown), and may be coupled between a positive feedback terminal 516 of power management circuit 510 (denoted as FB+ in
Further example implementations of parts of structure 500 are described below and shown in
Connection 600 may be implementable when the feedback line (e.g., feedback line 325 and/or feedback line 525) and the IC package with a multi-layer substrate containing the multi-core processor (e.g., multi-core processor 330 and/or multi-core processor 530) are disposed on a top layer (or a bottom layer) of a multi-layer board (e.g., a PCB). The power management circuit (e.g., power management circuit 310 and/or power management circuit 510) may be enclosed, contained or otherwise packaged in a first IC package, and the multi-core processor (e.g., multi-core processor 330 and/or multi-core processor 530) may be enclosed, contained or otherwise packaged in a second IC package. Referring to
In configuration 700(A), a power management circuit may be packaged in a first IC package which is mounted on a top layer of a multi-layer board (e.g., a PCB) via a wire-bonding ball grid array (BGA). Additionally, a multi-core processor may be packaged in a second IC package which is mounted on the top layer of the multi-layer board via a flip-chip BGA. Moreover, at least one decoupling capacitor may be disposed on the top layer of the multi-layer board while at least one other decoupling capacitor may be disposed on a bottom layer of the multi-layer board opposite the top layer thereof.
In configuration 700(B), a power management circuit may be packaged in a first IC package which is mounted on a top layer of a multi-layer board (e.g., a PCB) via a wire-bonding BGA. Additionally, a multi-core processor may be packaged in a second IC package which is mounted on the top layer of the multi-layer board via a flip-chip BGA. Moreover, all of one or more decoupling capacitors may be disposed on the top layer of the multi-layer board with no other decoupling capacitor disposed on a bottom layer of the multi-layer board opposite the top layer thereof. For example, the PCB thickness may be no more than 1.2 mm and a distance between a decoupling capacitor disposed on the top layer of the multi-layer board and the multi-core processor packaged in the second IC package may be greater than 5 mm. Therefore, the decoupling path of the DSCP configuration shown in 700(A) is shorter than that of the SSCP configuration shown in 700(B). Accordingly, the SSCP configuration shown in 700(B) may suffer larger power impedance and voltage droop when one or more processing units of the multi-core processor are started.
At 810, process 800 may involve power management circuit 310 of apparatus 300 determining whether one or more processing units of a plurality of processing units 336(1)-336(N) of multi-core processor 330 are starting. Process 800 may proceed from 810 to 820.
At 820, process 800 may involve power management circuit 310 of apparatus 300 adjusting power provided to the plurality of processing units 336(1)-336(N) before the one or more processing units are started responsive to a determination that the one or more processing units are starting.
In some implementations, in determining whether the one or more processing units 336(1)-336(N) are starting, process 800 may involve power management circuit 310 of apparatus 300 receiving, via serial bus 340, a signal indicating that the one or more processing units are starting. For example, power management circuit 310 may receive, via serial bus 340, a signal including one or more commands from multi-core processor 330 that trigger power management circuit 310 to initiate early power compensation.
In some implementations, in adjusting the power provided to the plurality of processing units 336(1)-336(N) before the one or more processing units are started, process 800 may involve power management circuit 310 of apparatus 300 increasing the power provided to the plurality of processing units 336(1)-336(N) at least a period of time before the one or more processing units are started. The period of time may be based at least in part on a speed of serial bus 340, an amount of charging time for charging one or more decoupling capacitors 328, a quantity of the one or more processing units that are starting, or a combination thereof.
Alternatively or additionally, in adjusting the power provided to the plurality of processing units 336(1)-336(N), process 800 may involve power management circuit 310 of apparatus 300 performing a number of operations. For example, process 800 may involve power management circuit 310 determining, using a lookup table, an amount of power increase and an amount of time for the power increase based on a quantity of the one or more processing units that are starting. Moreover, process 800 may involve power management circuit 310 increasing the power provided to the plurality of processing units 336(1)-336(N) by the determined amount of power increase and for the determine amount of time.
Alternatively or additionally, in adjusting the power provided to the plurality of processing units 336(1)-336(N), process 800 may involve power management circuit 310 of apparatus 300 adjusting a voltage, an operating frequency, a system clock, or a combination thereof with respect to the power provided to the plurality of processing units 336(1)-336(N).
Optionally, process 800 may proceed from 820 to 830. At 830, process 800 may involve power management circuit 310 of apparatus 300 receiving a feedback on the power provided to the plurality of processing units 336(1)-336(N) via single-ended feedback line 325.
From the foregoing, it will be appreciated that various implementations of the present disclosure have been described herein for purposes of illustration, and that various modifications may be made without departing from the scope and spirit of the present disclosure. Accordingly, the various implementations disclosed herein are not intended to be limiting, with the true scope and spirit being indicated by the following claims.
Patent | Priority | Assignee | Title |
10972083, | Mar 20 2019 | International Business Machines Corporation | Supply voltage decoupling circuits for voltage droop mitigation |
11004783, | May 29 2019 | Microsoft Technology Licensing, LLC | Integrated circuit chip design for symmetric power delivery |
11830813, | Aug 07 2020 | Samsung Electronics Co., Ltd | Semiconductor devices including power connection lines |
Patent | Priority | Assignee | Title |
6978388, | Jan 18 2002 | Apple Inc | Method and apparatus for managing a power load change in a system |
8816757, | May 24 2012 | CAVIUM INTERNATIONAL; MARVELL ASIA PTE, LTD | Systems and methods for load transient prediction and compensation |
9748846, | Oct 28 2013 | INTERSIL AMERICAS LLC | Power supply with droop control feedback for enhanced phase current sharing |
20130151877, | |||
20140344590, | |||
EP2916192, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Apr 28 2016 | CHEN, NAN-JANG | MEDIATEK INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 038445 | /0007 | |
May 03 2016 | MEDIATEK INC. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Jan 10 2022 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Jul 10 2021 | 4 years fee payment window open |
Jan 10 2022 | 6 months grace period start (w surcharge) |
Jul 10 2022 | patent expiry (for year 4) |
Jul 10 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 10 2025 | 8 years fee payment window open |
Jan 10 2026 | 6 months grace period start (w surcharge) |
Jul 10 2026 | patent expiry (for year 8) |
Jul 10 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 10 2029 | 12 years fee payment window open |
Jan 10 2030 | 6 months grace period start (w surcharge) |
Jul 10 2030 | patent expiry (for year 12) |
Jul 10 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |