The present disclosure relates generally to the field of information handling systems, and more specifically, to managing power to multiple processors within information handling systems.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is an information handling system (IHS). An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for such systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
In an IHS, multiple processors may be employed to increase computing capabilities and efficiency. For example, multiple processors may provide significant advantages for engaging parallel computational tasks because each processor can perform its own tasks simultaneously and independent of the other processor. In some multi-processor IHSs, the processors may only operate in separate domains, that is, only one processor in the IHS may function at a given time. As another example, an IHS may employ a multiple graphics processing core system using a first processor, such as an integrated graphics processing unit (iGPU), and a second processor, such as a discrete graphics processing unit (dGPU). In such an architecture, the iGPU may draw upon a portion of system memory for use as a frame buffer, for example, while the dGPU may have its own discrete memory. In some instances, only one GPU, either the iGPU or the dGPU, may operate at a time with the dGPU operational during the more graphics intensive and thus, power consuming, tasks. Conversely, the iGPU may operate during times of less graphics intensity in order to help reduce the overall power consumption of the IHS.
For multi-processor IHSs that employ processors operable only in separate domains, current power regulating techniques may primarily consist of providing a dedicated power regulator to each processor. In such an implementation, each power regulator may separately provide power to its corresponding processor, which may therefore indicate that only one power regulator may be functioning at a given time. Consequently, there may exist inefficiencies in costs and in space in having to provide distinct power regulators for each processor in a multi-processor IHS. Thus, a need exists for methods and systems for providing a single power regulator that controls power to multiple processors operating in separate domains.
The following presents a general summary of several aspects of the disclosure in order to provide a basic understanding of the disclosure. This summary is merely an overview of the disclosure and is not intended to identify key or critical elements of the disclosure or to delineate the scope of the claims. The following summary presents some concepts of the disclosure in a general form as a prelude to the more detailed description that follows.
One aspect of the disclosure provides for an information handling system (IHS). The IHS may include a first processor operable in a first domain, a second processor operable in a second domain, and system memory in communication with the first processor and the second processor. The IHS may further include a power regulator in communication with the first process and second processor that provides power to the first processor in the first domain and the second processor in the second domain.
The present disclosure also provides another aspect of an IHS. The IHS may include a host complex, which includes an integrated graphics processing unit (iGPU) that is operable in a first domain. The IHS may further include a discrete graphics processing unit (dGPU) operable in a second domain, system memory in communication with the host complex, and a power regulator in communication with the host complex, the iGPU, and the dGPU. Moreover, the power regulator may provide power to the iGPU in the first domain and the dGPU in the second domain.
A further aspect of the disclosure provides a method for managing power to multiple processors in an IHS. The method may include determining a domain and a performance state between a first processor and a second processor. Additionally, the method may also include reporting a parameter associated with the domain and the performance state to a power regulator of the IHS. Finally, the method may provide for outputting a voltage corresponding to the parameter to either the first processor or the second processor.
For detailed understanding of the present disclosure, references should be made to the following detailed description of the several aspects, taken in conjunction with the accompanying drawings, in which like elements have been given like numerals and wherein:
Before the present systems, methods, and computer-readable media are described, it is to be understood that this disclosure is not limited to the particular apparatus, systems and methods described, as such may vary. One of ordinary skill in the art should understand that the terminology used herein is for the purpose of describing possible aspects, embodiments and/or implementations only, and is not intended to limit the scope of the present disclosure which will be limited only by the appended claims.
It must also be noted that as used herein and in the appended claims, the singular forms “a,” “and,” and “the” may include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a device” refers to one or several devices, and reference to “a method of processing” includes reference to equivalent steps and methods known to those skilled in the art, and so forth.
For purposes of this disclosure, an embodiment of an Information Handling System (IHS) may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an IHS may be a personal computer, a storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The IHS may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the IHS may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The IHS may also include one or more buses operable to transmit data communications between the various hardware components.
The IHS 5 may be implemented with a network port 45 to permit communication over a network 70 such as a local area network (LAN) or a wide area network (WAN), such as the Internet. As understood by those skilled in the art, IHS 5 implementations may also include an assortment of ports and interfaces for different peripherals and components, such as video display adapters 35, disk drives port 50, and input/output interfaces 40. (e.g., keyboard 60, mouse 65).
Furthermore, the IHS 5 may have a power regulator 205 coupled to the CPU 10 to provide a constant level of power to the CPU 10 according to its power requirements. To this end, the power regulator 205 may use a negative feedback loop by comparing its actual output voltage to an internal fixed reference voltage. If the output voltage is less than or below a predetermined level, the power regulator 205 may produce a higher voltage. On the other hand, if the output voltage greater than or above a predetermined level, the power regulator 205 may either produce a lower voltage or stop sourcing current. If the power regulator 205 is chosen to stop sourcing current, it may depend on the current draw of the device it is driving, e.g., CPU 10a-b, to pull the voltage back down. In this manner, the power regulator 205 may maintain the output voltage at a relatively constant level. Additionally, the power regulator 205 may be programmable to output different voltage levels depending on the power requirements of the CPU 10. For example, the CPU 10, in order to conserve power for the IHS 5, may operate at different clock speeds depending on whether a particular task requires intensive use of the CPU 10. More CPU 10 intensive tasks such as mathematical modeling, vector coordination, and other computational intensive applications, may require the CPU 10 to operate at higher clock speeds and higher voltages and vice versa.
Additionally, each GPU may itself be capable of running at different performance-states (p-states). P-states may generally refer to a processor's ability to operate at lower capability states. Specifically, a processor operating at a particular p-state may have certain attributes reduced or scaled back such as its clock frequency and coreV. For example, a laptop that has been switched to battery-operated mode may trigger its processor(s) to enter into a p-state and reduce its clock frequency and coreV. In this manner, processors having p-state technology may provide power savings to the IHS 5 during times of low processor usage by lowering the aforementioned attributes. For example, while switching from one task to another, the IHS 5 may determine that less of the iGPU 215 may be necessary and may therefore change the p-state of the iGPU 215 to run at a lower clock frequency and core voltage. The reverse may also be true in that the p-state of the iGPU 215 may be changed to increase its clock frequency and core voltage if the IHS 5 determines that more iGPU 215 usage is necessary. Furthermore, it should be noted that the above concepts may also be applied to the dGPU 245 and its p-states. Thus, the output voltage of the power regulator 205 may depend on the GPU domain (i.e. whether the iGPU 215 or dGPU 245 is operating) and the p-state of the GPU that is in operation.
The host complex 210 may refer to a collection of devices that interface with the system memory 230 and may include, for example, the CPU 10, a memory controller (not shown), iGPU 215, and/or the like. The memory controller may be separate from the CPU 10 or may be located on the CPU 10 die itself and may facilitate communication between the CPU 10 and system memory 230. In some instances, the host complex 210 may also be known as the host controller or the Northbridge. The host complex 210 may also interface with other components of the IHS 5 including, but not limited to, the display controller 248 for the dGPU 245, power regulator 205, and a display I/O device 275. In addition, the power regulator 205 may be programmable by the host complex 210 via input/output control bits 225 such as General Purpose Input Output (GPIO) control bits and the like. GPIO control bits may provide an interface for devices such as microprocessors, microcontrollers, and/or the like to interface with other elements of a circuit. Indeed, GPIO control bits may act as inputs to read digital signals or as outputs to control other devices. As illustrated in
The host complex 210 may communicate with the dGPU 245 via a dedicated graphics interface such as a Peripheral Component Interconnect Express Graphics (PEG) interface, for example. PEG may be implemented using multiple point-to-point serial connections, which may be called lanes, and may allow a higher data transmission rate relative to other technologies. Furthermore, it should be noted that other interfaces between the host complex 210 and dGPU 245 may also be contemplated within the present disclosure including, but not limited to, Peripheral Component Interconnect, Peripheral Component Interconnect Extended (PCI-X), and/or Accelerated Graphics Port (AGP).
In addition, a multiplexer 280 may be coupled to the iGPU 215 and the dGPU 245. The multiplexer 280, depending on the GPU domain, may pass display information from either the iGPU 215 or the dGPU 245 on to the display 285. The display may be any type of display including, but not limited to, integrated Liquid Crystal Displays (LCD) such as on a laptop or notebook, standalone LCDs, any other digital monitor, and analog monitors. Furthermore, the present disclosure may contemplate having display information from the iGPU 215 and dGPU 245 pass through any number of multiplexers in combination with any number of display devices.
Turning now to
Turning now to
On the other hand, if the GPU domain is determined to be the dGPU domain, the input/output bits 225 may then be set to indicate the dGPU domain and its corresponding p-state in step 440. Thus, in step 350, in order to establish a connection between the power regulator and the dGPU core voltage rail, the switch to the dGPU core voltage is closed, and the switch to the iGPU core voltage rail is opened. The power regulator again then outputs the correct voltage corresponding to the GPU domain and p-state in step 460.
While
Although the present disclosure has been described with reference to particular examples, embodiments and/or implementations, those skilled in the art will recognize that modifications and variations may be made without departing from the spirit and scope of the claimed subject matter. Such changes in form and detail, including use of equivalent functional and/or structural substitutes for elements described herein, fall within the scope of the appended claims and are intended to be covered by this disclosure.