WO1997024653A1 - Power management apparatus and method - Google Patents

Power management apparatus and method Download PDF

Info

Publication number
WO1997024653A1
WO1997024653A1 PCT/US1996/020807 US9620807W WO9724653A1 WO 1997024653 A1 WO1997024653 A1 WO 1997024653A1 US 9620807 W US9620807 W US 9620807W WO 9724653 A1 WO9724653 A1 WO 9724653A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
signal
controller
activity
input
Prior art date
Application number
PCT/US1996/020807
Other languages
French (fr)
Inventor
James P. Kardach
Chih-Hung Chung
Jason Ziller
Original Assignee
Intel Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corporation filed Critical Intel Corporation
Priority to DE19681716T priority Critical patent/DE19681716B4/en
Priority to KR1019980705036A priority patent/KR100329344B1/en
Priority to AU13559/97A priority patent/AU1355997A/en
Priority to GB9812477A priority patent/GB2322212B/en
Publication of WO1997024653A1 publication Critical patent/WO1997024653A1/en
Priority to HK99100682A priority patent/HK1015902A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the field of power management. More specifically, the present invention relates to power management in computer systems.
  • CPU central processing unit
  • Microprocessors consume appreciable amounts of power, each time a clock pulse occurs.
  • Existing power management systems have focused their attention on reducing the power consumed by the CPU. As it is well known, the amount of power consumed by the CPU is proportional to the frequency of the clock sequencing the operation of the CPU. Because CPUs spend a large percentage of time in idle loops, waiting for input-output operations to complete, waiting for operator input, etc., most power management systems have concentrated on reducing CPU clock speed during periods of CPU inactivity and during periods wherein the operations performed by the CPU do not require high clock frequencies.
  • the chipset or host Peripheral Component Interconnect (PCI) bridge is a significant consumer of power.
  • a dynamic random access memory (DRAM) controller which is a circuit in the chipset responsible for controlling the exchange of information between a DRAM and a host CPU or between the DRAM and other external circuits such as a PCI bus, may not be required to operate at full speed or at all when the CPU or the PCI bus are not exchanging information with the DRAM.
  • DRAM dynamic random access memory
  • PCI bus architecture is explained in detail in the PCI Local Bus Specification, Revision 2.1 of the PCI Special Interest Group of Portland, Oregon.
  • Figure 1 shows a computer system including a host CPU 2 having a bus controller 4 responsible for the exchange of information between the host CPU 2 and other devices connected to a local bus 6.
  • a chipset 10 is coupled to the host CPU 2 and to the local bus 6.
  • the chipset 10 includes a memory controller 8 which controls the exchange of information between the CPU2 and a memory 12.
  • Memory 12 by way of example, could be a DRAM memory while memory controller 8 can be a DRAM controller.
  • a computer system typically includes a bus, a processor with a bus controller, a bus activity monitor, a target controller, and a power management circuit.
  • the bus controller which is coupled to the bus, is also coupled to a bus activity monitor circuit for generating a bus activity signal indicative of activity in the bus controller.
  • the computer system further includes a target controller, coupled to the bus controller, for controlling the exchange of information between the processor and a target circuit.
  • the target controller has an input for receiving a sequencing signal.
  • the computer system additionally includes a power management circuit for controlling a power consumption of the target controller. The power management circuit receives the bus activity signal and, in response to that signal, generates the sequencing signal to the input of the target controller.
  • Figure 1 is a block diagram of a prior art computer system
  • FIG. 2 is a block diagram of the computer system of the present invention.
  • Figure 3 shows a portion of a processor of the computer system according to the present invention
  • Figure 4 shows a diagram of the computer system according to the present invention with a bus activity monitor
  • Figure 5 shows a block diagram of the computer system with the power management circuit
  • Figure 6 is a timing diagram illustrating the advantages conferred by the present invention.
  • a computer system 200 includes local bus 202 and a microprocessor 204 coupled to local bus 202.
  • Microprocessor 204 includes: a CPU core 206 for processing instructions and data; host bus controller 208 for controlling communication over a the local bus 202; a host bus request queue 210 for storing addresses addressable by the host bus controller, and a host bus activity monitor 212 coupled to the host bus request queue.
  • the host bus activity monitor circuit 2 2 monitors activity or lack of activity in the host bus controller 208.
  • the computer system 200 further includes a host-PCI bridge 214 having a memory controller (MC) 216 for controlling accesses to main memory 18 which can be by way of non-limiting example a DRAM memory.
  • the computer system according to the present invention further includes a power management circuit 220 for controlling the power consumption of the memory controller 216.
  • the computer system includes a PCI bus 222.
  • PCI bus 222 can be any other bus enabling communication with host-PCI bridge 214 via line 224.
  • the power management circuit 220 which is coupled to the memory controller 214 via line 215, has an input gate which receives a QUIETBUS signal from the host bus activity monitor 212 and in response to this signal generates a control sequencing signal to the memory controller 216 via line 215.
  • a control sequencing signal can be, by way of non-limiting example, a clock enable signal which controls the clock pulses sequencing the operation of the memory controller 216.
  • the control of the sequential operation can be implemented by gating the control sequencing signal, issued by the power management circuit, to the clock signal as it will be explained later in this section. In such way, when the control sequencing signal from the power management circuit 220 is set at logic "0," the clock signal frequency in the memory controller can be inhibited. Accordingly, the power to the memory controller can be shut off in response to a signal indicating lack of activity in the host bus controller 208.
  • memory controller 208 coordinates data transfers between the host processor 204 and the DRAM memory 218, as well as the transfers between PCI bus 222 and memory 203.
  • the present invention supports different types of bus transfers.
  • bus transfers can be single cycle or multiple cycle, burst or non-burst, cacheable or non-cacheable, and consist of 8, 16, 32, or 64 bit transactions.
  • the type of bus transfers in microprocessor 204 can be coordinated by the host bus controller, the memory controller, and the PCI bus.
  • the CPU core 206 typically initiates exchanges of information with other devices coupled to local bus 202 by means of bus cycles.
  • a bus cycle is defined to be a number of clock cycles required for both the address and corresponding data transaction to occur. For example, if the CPU core 206 issues a read request, the address of the operation is first communicated across host bus 202 to a target device or target circuit such as memory 218. The memory 218 then responds by providing data across -7-
  • host bus 204 to CPU core 206.
  • the exchange of information between the host and the other devices coupled to the host bus 202 is coordinated by host bus controller 208.
  • Bus controller 208 includes a bus controller state machine (not shown) which typically receives an internal bus cycle request signal (IBUSREQ) from the CPU core 206 and a bus cycle external request signal (EADS) from the host/PCI bridge 214. Similarly, an external cycle request for cache snoops can be communicated to the host bus controller 208 from a cache controller (not shown).
  • the host bus request queue 210 typically receives a signal IBUSREQ indicating that the CPU is about to use the host bus 202 by performing a read or a write operation in conjunction with this bus.
  • the host bus request queue 210 will communicate the internal request from the CPU core to the host bus controller 208 via line 209.
  • the host bus controller 208 then will issue bus cycles onto the host bus 202 via a bus interface (not shown in this figure).
  • the host bus controller will poll the EADS signal during the boundary between bus cycles.
  • the host CPU When the host CPU is not utilizing the host bus 202, it will monitor the EADS signal such that when this signal is issued by an external device, the CPU will release the host bus and assert a signal acknowledging, to the respective external device, the grant of the host bus.
  • An external device such as an arbiter, will issue in turn a bus grant signal to a slave device (not shown).
  • the slave device will then access the host bus 202.
  • the host CPU will subsequently gain access to the host bus when the slave device releases the host bus or when the CPU core 206 issues the internal bus request signal (IBUSREQ) to access this bus and the external device or the arbiter returns the bus to it.
  • IBUSREQ internal bus request signal
  • the bus cycle is at least two clocks long and begins with the ADS signal 213 active in the first clock and RDY active in the last clock.
  • the RDY signal indicates that a target circuit, such as memory 218, is ready to receive or provide data.
  • Figure 4 shows a block diagram with the bus activity monitor according to the present invention.
  • the host bus activity monitor 412 is coupled to host bus controller 408 via host bus request queue 410.
  • the host bus activity monitor 412 can detect a level of activity or lack thereof in the host bus controller 408 by monitoring a BUSIDLE signal from the host bus request queue 410.
  • BUSIDLE is a signal which indicates activity when high, i.e.
  • the host bus activity monitor receives the IBUSREQ signal from the CPU core (not shown). IBUSREQ indicates whether or not an internal bus request has been issued by the CPU core. If both BUSIDLE and IBUSREQ are set to logic "0," then the host bus activity monitor 412 issues a low signal at an output thereof. However, the power to the memory controller can be turned back on if an internal request signal IBUSREQ is received, i.e., IBUSREQ is high. Furthermore, the computer system, according to the present invention, can be extended to other devices which may utilize the host bus, such as devices coupled to a PCI bus.
  • the power management circuit can receive input from both the host bus controller and from a PCI bus controller (not shown), responsible with a transfer of data between an external device coupled to the PCI bus and the DRAM. More details about this scheme will be provided later in this section.
  • the host bus request queue 410 typically stores data or addresses awaiting transfer to the host bus via bus controller 408.
  • the host bus controller 408 typically drives the host bus 304 with addresses or data queued in the host bus request queue 410.
  • the host bus controller 408 will also output to the host bus an address strobe signal ( ADS ) indicating that the address on the host bus is valid.
  • ADS address strobe signal
  • the host bus request queue 410 includes a delaying device such as flip-flop 430. This flip-flop receives at one of its inputs 432 the IBUSREQ signal and outputs this signal, with a delay of one clock, to the host bus controller 408.
  • This signal is then routed to flip-flop 424, of a bus interface 434, which will synchronize this signal with the clock and output the signal ADS in response.
  • the flip-flop 430 is part of a "resumption of activity" circuit which will be explained later in this section.
  • OR gate 412 which is a non-limiting implementation of the bus activity monitor, receives at input gate 419 the signal BUSIDLE, indicative of an idle state of host bus controller 402.
  • the BUSIDLE signal typically indicates that the host bus request queue 410 is empty and thus, the host bus controller is in an idle state, as no addresses in the host bus request queue are awaiting processing by the host bus controller 408.
  • the output of gate 412 is then input to a flip-flop 426 of the host bus interface 434.
  • Flip-flop 426 which synchronizes the signal output by the bus activity monitor 412, issues in response a QUIETBUS signal.
  • the QUIETBUS signal indicates activity or lack of activity in the bus controller and the pendency or lack of pendency of internal bus requests from the CPU core.
  • the host bus activity monitor will indicate to the power management circuit (not shown) that the host bus controller 304 is idle and also that no internal requests are pending in the queue 410.
  • the internal bus request IBUSREQ is set to logic level 1
  • the QUIETBUS signal will shift to logic "1" to timely indicate, to the memory controller, that an internal request for the host bus is pending in the queue 410 and, thus, the memory controller should resume its normal operation.
  • the resumption of activity in memory controller 416 has to be coordinated with the resumption of activity in the host bus controller.
  • the memory controller should, thus, resume its normal operation before a new address is output by the host bus controller 408.
  • the resumption of activity circuit 430 ensures that the ADS signal is asserted one bus clock later than the assertion of the QUIETBUS signal.
  • the resumption of activity circuit 430 which is implemented, in a no- limiting way, by flip-flop 430 is inserted in the path of the internal bus request signal, thereby delaying by one clock cycle the signal ADS relative to the QUIETBUS signal.
  • the computer system according to the present invention is configured to avoid the situation where the ADS signal is asserted before the memory controller becomes operative. No bus cycles will thus be wasted when the CPU core of the host CPU will initiate an access to the DRAM memory after a period of inactivity of the bus controller 408.
  • Figure 5 further shows a block diagram of the computer system of the present invention with the power management circuit 450.
  • the QUIETBUS signal generated by the host processor is input to flip-flop 438.
  • Rip-flop 438 and flip-flop 430 can be part of one single flip-flop which latches the QUIETBUS signal at the rising edge of the clock (flip- flop 438).
  • Flip-flop 430 also latches combination of the QUIETBUS signal and three more other signals input at the input gate of this flip-flop at the falling edge of the clock signal, to ensure that no glitch will occur when the signals are latched.
  • OR gate 432 has a first input for receiving a DRAM refresh signal from a DRAM refresh logic circuit 440.
  • the DRAM refresh logic circuit 440 generates a refresh signal periodically every 15.6 microseconds to 256 microseconds. Accordingly, the power management scheme of the present invention takes into account instances where the DRAM needs to be refreshed such that in these instances, the memory controller will not be shut off.
  • OR gate 432 further has a second input for coupling a signal from host bridge queue 433.
  • host bridge queue 433 is a queue similar to the host bus request queue 410.
  • the host bridge queue 433 is located in the host bridge and is coupled to a bridge host bus controller 436 and to a bridge PCI bus controller 438.
  • the host bridge queue 433 receives addresses and control signals from blocks 436 and 438 indicating whether an access to the memory is requested by the host CPU or by the PCI bus. If the host bridge queue 433 is not empty, for example, because a request from the PCI bus is pending, a QUEUE NOT EMPTY signal will be driven to a second input of gate 532 such that the memory controller 416 will not be shut off. Some host bridge controllers may have implemented "write posters" for performance reasons. All write operations may be posted (stored) in the queue first, and then be written into the memory. In this case, one needs to wait until the queue is empty before shutting off the memory controller 416.
  • a third input to OR gate 432 receives the QUIETBUS signal described above.
  • a fourth input to the OR gate 532 of the bus activity monitor is coupled to a PCI clock control logic 440.
  • the PCI clock control logic receives a signal CLKRUN when PCI clock is running normally. During periods when the PCI clock has been stopped (or slowed), the clock control logic monitors CLKRUN to recognize requests, from master and target devices, for changing the state of the PCI clock signal.
  • the PCI clock control logic 440 typically receives requests from external devices coupled to the PCI bus for starting or speeding up the clock i.e., CLKRUN will be set at '1.' When CLKRUN is asserted, OR gate 442 will thus generate a PCIRUN signal set to '1' such that the memory controller will be restarted once an external device coupled to the PCI bus requests the starting or speeding up of the clock, much like the way in which assertion of the internal bus cycle request signal (IBUSREQ) causes the memory controller to resume operation.
  • IBUSREQ internal bus cycle request signal
  • the power management circuit in this particular embodiment is an AND gate 450.
  • the AND gate 450 receives at one of its input a signal from the output of flip-flop 430.
  • Flip-flop 430 receives at its input the signal, generated by the OR gate 432, which indicates whether or not there is or there will be activity on the host bus.
  • gate 450 receives at input gate 446 a CLKIN signal which typically sequences the operation of memory controller 416.
  • CLKIN is a clock signal which, generally, would be coupled directly to memory controller 408 in the absence of the power management scheme of the present invention. If the signal received at an input 444 indicates activity on the host bus, then CLKLN will be gated to the output of the power management circuit 450, as CLKOUT.
  • the power management scheme of the present invention thus works in the following way.
  • the power management circuit 450 When bus activity is detected on the host bus, or the bus bridge queue is not empty, or the PCI bus is not idle, or the DRAM refresh logic is refreshing the DRAM, the power management circuit 450 will generate a signal CLKOUT at its output which will simply substantially replicate the input signal CLKIN. However, in cases where all the four input signals to gate 432 are low, the power management circuit 450, will generate the signal CLKOUT having a frequency substantially equal to 0. Accordingly, the power dissipated in the memory controller 416 will be substantially reduced in accordance with the equation
  • P CxV 2 xF
  • P represents the power dissipated by the memory controller
  • C represents the capacitance seen at the input of the memory controller
  • V is the voltage biasing the memory controller
  • F is the frequency of the CLKOUT signal output by the power management circuit 450.
  • the computer system includes the resumption of activity circuit which causes the power management circuit to resume sequencing the operation of the memory controller at least one clock cycle before the ADS signal is asserted, such that the memory controller can be fully operative upon receipt of the signal ADS from the bus interface.
  • the power management scheme of the present invention is not limited to memory controllers.
  • the scheme can be implemented with other devices such as cache controllers, static RAM, etc., by reducing or shutting the power off during periods of idleness.
  • the present invention can be implemented in conjunction with a cache controller which controls the operation of an SRAM memory such as the L2 of Intel Co ⁇ oration computer architecture.
  • the bus activity monitor could control the power to the cache controller, which in turn would power down the SRAM by using an additional power management circuit in conjunction with the clock of the SRAM.
  • the bus activity signal can be multiplexed with another signal connected to a pin already existent on the microprocessor. In such way the present invention can be implemented on computer systems having microprocessors which are pad constrained.
  • Such pin could be any pin existing on the microprocessor which does not have any meaning when there is no activity in the bus controller and therefore the bus is quiet. This pin could be multiplexed with the QUIETBUS signal.
  • Figure 6 illustrates a timing diagram of the computer system according to the present invention.
  • the transition from high to low of the ADS signal indicates that the CPU is driving the bus.
  • the bus will send out an address to the memory controller which will latch that address.
  • the bus activity signal is QUIETBUS deasserted one bus clock before the ADS signal. As explained above, this assures that the memory controller will become operative before the assertion of the ADS signal.
  • This figure also shows the internal clock signal CLKIN and the external clock signal CLKOUT.
  • the CLKOUT signal is inhibited while the QUIETBUS signal is low, but is restarted when the QUIETBUS signal is high.

Abstract

A computer system is provided for monitoring the activity of a bus controller (208) of a processor (204) and responsive thereto for controlling the power consumption of a target controller such as memory controller (216) coupled to the bus controller (208). The computer system includes a bus (202), a processor (204), and a bus activity monitor (212) for generating a bus activity signal indicative of activity in the bus controller (208). The target controller (memory controller (216)) controls the exchange of information between the processor (204) and a target circuit such as DRAM (218). The target controller (216) has an input (215) for receiving a sequencing signal. The computer system additionally includes a power management circuit (220) for controlling the power consumption of the target controller (216). The power management circuit (220) receives the bus activity signal and generates the sequencing signal in response to the bus activity signal.

Description

POWER MANAGEMENT APPARATUS AND METHOD
BACKGROUND OF THE INVENTION .
1. Field of the Invention
The present invention relates to the field of power management. More specifically, the present invention relates to power management in computer systems.
2. Description of Related Art
With the advent of mobile computers and mobile computer systems it has become increasingly important to minimize power consumed by these devices or systems. One major consumer of power, in mobile computer systems, is the central processing unit (CPU). Microprocessors, consume appreciable amounts of power, each time a clock pulse occurs. Existing power management systems have focused their attention on reducing the power consumed by the CPU. As it is well known, the amount of power consumed by the CPU is proportional to the frequency of the clock sequencing the operation of the CPU. Because CPUs spend a large percentage of time in idle loops, waiting for input-output operations to complete, waiting for operator input, etc., most power management systems have concentrated on reducing CPU clock speed during periods of CPU inactivity and during periods wherein the operations performed by the CPU do not require high clock frequencies.
A significant amount of power, however, is consumed by other parts of the computer, besides the CPU. For example, the chipset or host Peripheral Component Interconnect (PCI) bridge is a significant consumer of power. Some parts of the chipset which consume substantial amounts of power, however, are not required to be functional during certain periods of time. For example, a dynamic random access memory (DRAM) controller, which is a circuit in the chipset responsible for controlling the exchange of information between a DRAM and a host CPU or between the DRAM and other external circuits such as a PCI bus, may not be required to operate at full speed or at all when the CPU or the PCI bus are not exchanging information with the DRAM. PCI bus architecture is explained in detail in the PCI Local Bus Specification, Revision 2.1 of the PCI Special Interest Group of Portland, Oregon.
Figure 1 shows a computer system including a host CPU 2 having a bus controller 4 responsible for the exchange of information between the host CPU 2 and other devices connected to a local bus 6. A chipset 10 is coupled to the host CPU 2 and to the local bus 6. The chipset 10 includes a memory controller 8 which controls the exchange of information between the CPU2 and a memory 12. Memory 12, by way of example, could be a DRAM memory while memory controller 8 can be a DRAM controller.
In the event the CPU is not exchanging information with the chipset 10, via bus controller 4, no activity will take place between the bus controller 4 and the memory controller 8 of chipset 10. In this case, assuming that other devices which might be coupled to the memory controller 8, such as a PCI bus controller (not shown), are not accessing memory controller 8, it is desirable to reduce the power consumed by the idle memory controller 8. One way to reduce the power consumed by memory controller 8 would be to shut off the clock which provides periodical pulses to the memory controller 8. Since the power dissipated by a device sequenced by a clock having the frequency F, is proportional to F according to the formula,
P = CV2F where V is the voltage supplied to the memory controller, and C is the capacitance of the memory controller, the power dissipated would thus be substantially reduced if the frequency of the clock approached 0 Herz. Current practices use clock gating techniques for shutting off the clock to a device. Such techniques, however, do not offer an intelligent way to shut off the clock of a device such as the memory controller of figure 1, because they do not take into account the fact that the memory controller, after having been shut off, may need to restart operation promptly upon the occurrence of a certain event. For example, if the bus controller 4 of Figure 1, resumes activity due to the receipt of a bus request signal from a CPU core, (not shown in Figure 1) the memory controller should timely resume activity to service a new DRAM access. In this case, conventional clock gating techniques do not offer an adequate mechanism for powering back the memory controller at the right time without wasting bus cycles.
It is thus desirable to provide an apparatus and a method for detecting events wherein power monitoring devices, which control a power dissipating device, can timely identify an event which requires the power controlled device to timely switch into a fully operational mode. More specifically, it is desirable to provide an apparatus and method according to which the power dissipated by a memory controller or any other devices coupled to the host bus, is regulated in instances where the CPU's bus controller and the PCI bus controller are idle. Additionally, it is desirable to provide for a method and apparatus for restoring the operation of the memory controller in coordination with the beginning of activity of the bus controller such that no bus cycles are wasted when the bus controller has become active. It is also desirable to provide the foregoing advantages to a computer system having other external devices coupled to the chipset such as a PCI bus, so that a portion of the chipset can be power controlled when both the CPU (master) and the external devices (slave) are not using a certain portion of the chipset coupled to both the master and the slave. SUMMARY OF THE INVENTION
A computer system, according to the present invention, typically includes a bus, a processor with a bus controller, a bus activity monitor, a target controller, and a power management circuit. The bus controller, which is coupled to the bus, is also coupled to a bus activity monitor circuit for generating a bus activity signal indicative of activity in the bus controller. The computer system further includes a target controller, coupled to the bus controller, for controlling the exchange of information between the processor and a target circuit. The target controller has an input for receiving a sequencing signal. The computer system additionally includes a power management circuit for controlling a power consumption of the target controller. The power management circuit receives the bus activity signal and, in response to that signal, generates the sequencing signal to the input of the target controller.
BRIEF DESCRIPTION OF THE DRAWINGS
The features, aspects and advantages of the present invention will become more fully apparent from the following detailed description, appended claims, and accompanying drawings in which:
Figure 1 is a block diagram of a prior art computer system;
Figure 2 is a block diagram of the computer system of the present invention.
Figure 3 shows a portion of a processor of the computer system according to the present invention;
Figure 4 shows a diagram of the computer system according to the present invention with a bus activity monitor; Figure 5 shows a block diagram of the computer system with the power management circuit; and
Figure 6 is a timing diagram illustrating the advantages conferred by the present invention.
DETAILED DESCRIPTION OF THE INVENTION
In the following descriptions, numerous specific details are set forth to provide a thorough understanding of the present invention. However, one having ordinary skills in the art may be able to practice the invention without these specific details. In some instances, well-known circuits, structures and techniques have not been shown in detail not to unnecessarily obscure the present invention.
Referring to Figure 2, a computer system 200 according to the present invention includes local bus 202 and a microprocessor 204 coupled to local bus 202. Microprocessor 204 includes: a CPU core 206 for processing instructions and data; host bus controller 208 for controlling communication over a the local bus 202; a host bus request queue 210 for storing addresses addressable by the host bus controller, and a host bus activity monitor 212 coupled to the host bus request queue. The host bus activity monitor circuit 2 2 monitors activity or lack of activity in the host bus controller 208.
The computer system 200 further includes a host-PCI bridge 214 having a memory controller (MC) 216 for controlling accesses to main memory 18 which can be by way of non-limiting example a DRAM memory. The computer system according to the present invention further includes a power management circuit 220 for controlling the power consumption of the memory controller 216. Furthermore the computer system includes a PCI bus 222. For information regarding the PCI bus please refer to the PCI specification, revision 2.1 of the PCI Special Interest Group located in Portland, Oregon. The computer system of the present invention however is not limited to a PCI bus. Bus 222 can be any other bus enabling communication with host-PCI bridge 214 via line 224.
The power management circuit 220, which is coupled to the memory controller 214 via line 215, has an input gate which receives a QUIETBUS signal from the host bus activity monitor 212 and in response to this signal generates a control sequencing signal to the memory controller 216 via line 215. Such signal can be, by way of non-limiting example, a clock enable signal which controls the clock pulses sequencing the operation of the memory controller 216. The control of the sequential operation can be implemented by gating the control sequencing signal, issued by the power management circuit, to the clock signal as it will be explained later in this section. In such way, when the control sequencing signal from the power management circuit 220 is set at logic "0," the clock signal frequency in the memory controller can be inhibited. Accordingly, the power to the memory controller can be shut off in response to a signal indicating lack of activity in the host bus controller 208.
In one currently preferred embodiment, memory controller 208 coordinates data transfers between the host processor 204 and the DRAM memory 218, as well as the transfers between PCI bus 222 and memory 203. The present invention supports different types of bus transfers. In the currently preferred embodiment, bus transfers can be single cycle or multiple cycle, burst or non-burst, cacheable or non-cacheable, and consist of 8, 16, 32, or 64 bit transactions. The type of bus transfers in microprocessor 204 can be coordinated by the host bus controller, the memory controller, and the PCI bus.
The CPU core 206 typically initiates exchanges of information with other devices coupled to local bus 202 by means of bus cycles. A bus cycle is defined to be a number of clock cycles required for both the address and corresponding data transaction to occur. For example, if the CPU core 206 issues a read request, the address of the operation is first communicated across host bus 202 to a target device or target circuit such as memory 218. The memory 218 then responds by providing data across -7-
host bus 204 to CPU core 206. The exchange of information between the host and the other devices coupled to the host bus 202 is coordinated by host bus controller 208.
A portion of the processor 204 including host bus controller 208 and the host bus request queue 210 is shown in Figure 3. Bus controller 208 includes a bus controller state machine (not shown) which typically receives an internal bus cycle request signal (IBUSREQ) from the CPU core 206 and a bus cycle external request signal ( EADS) from the host/PCI bridge 214. Similarly, an external cycle request for cache snoops can be communicated to the host bus controller 208 from a cache controller (not shown). The host bus request queue 210 typically receives a signal IBUSREQ indicating that the CPU is about to use the host bus 202 by performing a read or a write operation in conjunction with this bus. The host bus request queue 210 will communicate the internal request from the CPU core to the host bus controller 208 via line 209. The host bus controller 208 then will issue bus cycles onto the host bus 202 via a bus interface (not shown in this figure).
Typically, the host bus controller will poll the EADS signal during the boundary between bus cycles. When the host CPU is not utilizing the host bus 202, it will monitor the EADS signal such that when this signal is issued by an external device, the CPU will release the host bus and assert a signal acknowledging, to the respective external device, the grant of the host bus. An external device, such as an arbiter, will issue in turn a bus grant signal to a slave device (not shown). The slave device will then access the host bus 202. The host CPU will subsequently gain access to the host bus when the slave device releases the host bus or when the CPU core 206 issues the internal bus request signal (IBUSREQ) to access this bus and the external device or the arbiter returns the bus to it. In the currently preferred embodiment, the bus cycle is at least two clocks long and begins with the ADS signal 213 active in the first clock and RDY active in the last clock. The RDY signal indicates that a target circuit, such as memory 218, is ready to receive or provide data. Figure 4 shows a block diagram with the bus activity monitor according to the present invention. The host bus activity monitor 412, according to the present invention, is coupled to host bus controller 408 via host bus request queue 410. The host bus activity monitor 412 can detect a level of activity or lack thereof in the host bus controller 408 by monitoring a BUSIDLE signal from the host bus request queue 410. BUSIDLE is a signal which indicates activity when high, i.e. is set to logic level '1.' Additionally, the host bus activity monitor receives the IBUSREQ signal from the CPU core (not shown). IBUSREQ indicates whether or not an internal bus request has been issued by the CPU core. If both BUSIDLE and IBUSREQ are set to logic "0," then the host bus activity monitor 412 issues a low signal at an output thereof. However, the power to the memory controller can be turned back on if an internal request signal IBUSREQ is received, i.e., IBUSREQ is high. Furthermore, the computer system, according to the present invention, can be extended to other devices which may utilize the host bus, such as devices coupled to a PCI bus. In this case, the power management circuit can receive input from both the host bus controller and from a PCI bus controller (not shown), responsible with a transfer of data between an external device coupled to the PCI bus and the DRAM. More details about this scheme will be provided later in this section.
The host bus request queue 410 typically stores data or addresses awaiting transfer to the host bus via bus controller 408. The host bus controller 408 typically drives the host bus 304 with addresses or data queued in the host bus request queue 410. The host bus controller 408 will also output to the host bus an address strobe signal ( ADS ) indicating that the address on the host bus is valid. As one can see in this figure, the host bus request queue 410 includes a delaying device such as flip-flop 430. This flip-flop receives at one of its inputs 432 the IBUSREQ signal and outputs this signal, with a delay of one clock, to the host bus controller 408. This signal is then routed to flip-flop 424, of a bus interface 434, which will synchronize this signal with the clock and output the signal ADS in response. The flip-flop 430 is part of a "resumption of activity" circuit which will be explained later in this section.
OR gate 412, which is a non-limiting implementation of the bus activity monitor, receives at input gate 419 the signal BUSIDLE, indicative of an idle state of host bus controller 402. The BUSIDLE signal typically indicates that the host bus request queue 410 is empty and thus, the host bus controller is in an idle state, as no addresses in the host bus request queue are awaiting processing by the host bus controller 408. The output of gate 412 is then input to a flip-flop 426 of the host bus interface 434. Flip-flop 426, which synchronizes the signal output by the bus activity monitor 412, issues in response a QUIETBUS signal. The QUIETBUS signal indicates activity or lack of activity in the bus controller and the pendency or lack of pendency of internal bus requests from the CPU core. Accordingly, if the QUIETBUS signal is '0,' the host bus activity monitor will indicate to the power management circuit (not shown) that the host bus controller 304 is idle and also that no internal requests are pending in the queue 410. Alternatively, when the internal bus request IBUSREQ is set to logic level 1, the QUIETBUS signal will shift to logic "1" to timely indicate, to the memory controller, that an internal request for the host bus is pending in the queue 410 and, thus, the memory controller should resume its normal operation.
The resumption of activity in memory controller 416, however, has to be coordinated with the resumption of activity in the host bus controller. The memory controller should, thus, resume its normal operation before a new address is output by the host bus controller 408. Accordingly, in the computer system according to the present invention, the resumption of activity circuit 430 ensures that the ADS signal is asserted one bus clock later than the assertion of the QUIETBUS signal. The resumption of activity circuit 430, which is implemented, in a no- limiting way, by flip-flop 430 is inserted in the path of the internal bus request signal, thereby delaying by one clock cycle the signal ADS relative to the QUIETBUS signal. Accordingly, the computer system according to the present invention is configured to avoid the situation where the ADS signal is asserted before the memory controller becomes operative. No bus cycles will thus be wasted when the CPU core of the host CPU will initiate an access to the DRAM memory after a period of inactivity of the bus controller 408.
Figure 5 further shows a block diagram of the computer system of the present invention with the power management circuit 450. The QUIETBUS signal generated by the host processor is input to flip-flop 438. Rip-flop 438 and flip-flop 430 can be part of one single flip-flop which latches the QUIETBUS signal at the rising edge of the clock (flip- flop 438). Flip-flop 430 also latches combination of the QUIETBUS signal and three more other signals input at the input gate of this flip-flop at the falling edge of the clock signal, to ensure that no glitch will occur when the signals are latched.
OR gate 432 has a first input for receiving a DRAM refresh signal from a DRAM refresh logic circuit 440. The DRAM refresh logic circuit 440 generates a refresh signal periodically every 15.6 microseconds to 256 microseconds. Accordingly, the power management scheme of the present invention takes into account instances where the DRAM needs to be refreshed such that in these instances, the memory controller will not be shut off. OR gate 432 further has a second input for coupling a signal from host bridge queue 433. As one can see, host bridge queue 433 is a queue similar to the host bus request queue 410. The host bridge queue 433 is located in the host bridge and is coupled to a bridge host bus controller 436 and to a bridge PCI bus controller 438. The host bridge queue 433 receives addresses and control signals from blocks 436 and 438 indicating whether an access to the memory is requested by the host CPU or by the PCI bus. If the host bridge queue 433 is not empty, for example, because a request from the PCI bus is pending, a QUEUE NOT EMPTY signal will be driven to a second input of gate 532 such that the memory controller 416 will not be shut off. Some host bridge controllers may have implemented "write posters" for performance reasons. All write operations may be posted (stored) in the queue first, and then be written into the memory. In this case, one needs to wait until the queue is empty before shutting off the memory controller 416.
A third input to OR gate 432 receives the QUIETBUS signal described above. A fourth input to the OR gate 532 of the bus activity monitor is coupled to a PCI clock control logic 440. The PCI clock control logic receives a signal CLKRUN when PCI clock is running normally. During periods when the PCI clock has been stopped (or slowed), the clock control logic monitors CLKRUN to recognize requests, from master and target devices, for changing the state of the PCI clock signal. The PCI clock control logic 440 typically receives requests from external devices coupled to the PCI bus for starting or speeding up the clock i.e., CLKRUN will be set at '1.' When CLKRUN is asserted, OR gate 442 will thus generate a PCIRUN signal set to '1' such that the memory controller will be restarted once an external device coupled to the PCI bus requests the starting or speeding up of the clock, much like the way in which assertion of the internal bus cycle request signal (IBUSREQ) causes the memory controller to resume operation.
The power management circuit, in this particular embodiment is an AND gate 450. The AND gate 450 receives at one of its input a signal from the output of flip-flop 430. Flip-flop 430, in turn, receives at its input the signal, generated by the OR gate 432, which indicates whether or not there is or there will be activity on the host bus. As one can see, gate 450 receives at input gate 446 a CLKIN signal which typically sequences the operation of memory controller 416. CLKIN is a clock signal which, generally, would be coupled directly to memory controller 408 in the absence of the power management scheme of the present invention. If the signal received at an input 444 indicates activity on the host bus, then CLKLN will be gated to the output of the power management circuit 450, as CLKOUT. However, if all signals received at the input of gate 432 are low, i.e. the QUIETBUS signal is low, the PCIRUN signal is low, the DRAM refresh signal is low, and the bus bridge queue is empty, then the output of the power management circuit 450 will be 0 and, thus, the clock to the memory controller will be inhibited.
The power management scheme of the present invention thus works in the following way. When bus activity is detected on the host bus, or the bus bridge queue is not empty, or the PCI bus is not idle, or the DRAM refresh logic is refreshing the DRAM, the power management circuit 450 will generate a signal CLKOUT at its output which will simply substantially replicate the input signal CLKIN. However, in cases where all the four input signals to gate 432 are low, the power management circuit 450, will generate the signal CLKOUT having a frequency substantially equal to 0. Accordingly, the power dissipated in the memory controller 416 will be substantially reduced in accordance with the equation
P=CxV2xF where P represents the power dissipated by the memory controller, C represents the capacitance seen at the input of the memory controller, V is the voltage biasing the memory controller, and F is the frequency of the CLKOUT signal output by the power management circuit 450. As one can see from this equation, when the frequency of the CLKOUT signal is substantially 0, the power dissipated in the memory controller will be substantially reduced, i.e. 0. The computer system according to the present invention confers the capability of controlling the power dissipated in the memory controller 416 according to activity or lack thereof in the host bus or in the PCI bus. Moreover, the computer system according to the present invention includes the resumption of activity circuit which causes the power management circuit to resume sequencing the operation of the memory controller at least one clock cycle before the ADS signal is asserted, such that the memory controller can be fully operative upon receipt of the signal ADS from the bus interface.
The power management scheme of the present invention is not limited to memory controllers. The scheme can be implemented with other devices such as cache controllers, static RAM, etc., by reducing or shutting the power off during periods of idleness. For example, the present invention can be implemented in conjunction with a cache controller which controls the operation of an SRAM memory such as the L2 of Intel Coφoration computer architecture. The bus activity monitor could control the power to the cache controller, which in turn would power down the SRAM by using an additional power management circuit in conjunction with the clock of the SRAM. Moreover, in the computer system according to the present invention, the bus activity signal can be multiplexed with another signal connected to a pin already existent on the microprocessor. In such way the present invention can be implemented on computer systems having microprocessors which are pad constrained. Such pin could be any pin existing on the microprocessor which does not have any meaning when there is no activity in the bus controller and therefore the bus is quiet. This pin could be multiplexed with the QUIETBUS signal.
Figure 6 illustrates a timing diagram of the computer system according to the present invention. As one can see, the transition from high to low of the ADS signal indicates that the CPU is driving the bus. Upon this transition the bus will send out an address to the memory controller which will latch that address. As one can see the bus activity signal is QUIETBUS deasserted one bus clock before the ADS signal. As explained above, this assures that the memory controller will become operative before the assertion of the ADS signal. This figure also shows the internal clock signal CLKIN and the external clock signal CLKOUT. The CLKOUT signal, as one can see from this figure, is inhibited while the QUIETBUS signal is low, but is restarted when the QUIETBUS signal is high.
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will however be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. Therefore, the scope of the invention should be limited only by the appended claims.

Claims

CLAIMSWhat is claimed is:
1. A computer system comprising: a bus; a processor having a bus controller coupled to said bus; a bus activity monitor circuit coupled to said bus controller for generating a bus activity signal indicative of activity in said bus controller; a target controller, coupled to said bus controller, for controlling the exchange of information between said processor and a target circuit, said target controller having an input for receiving a control sequencing signal; and a power management circuit, for controlling a power consumption of said target controller, said power management circuit having an input, for receiving said bus activity signal and an output for generating, responsive to said bus activity signal, said control sequencing signal.
2. The computer system of claim 1 wherein said processor further includes a bus request queue for storing addresses, said bus request queue having a first gate for receiving a bus request (IBUSREQ) signal, said bus request queue having a second gate for generating a signal ( BUSIDLE ) indicative of an idle state of said bus controller.
3. The computer system of claim 2 wherein said bus activity monitor circuit has a first input, for receiving said IBUSREQ signal, a second input, for receiving said BUSIDLE signal, and an output for generating said bus activity signal.
4. The computer system of claim 3 wherein said power management circuit has a first input, for receiving said bus activity signal, a second -16- input, for receiving a clock signal, and an output for generating said sequencing signal.
5. The computer system of claim 4 further having a resumption of activity circuit for generating an address valid signal subsequent to a resumption of activity of said target controller.
6. The computer system of claim 6 wherein said bus activity monitor asserts said bus activity signal at least one bus cycle before said address valid signal is asserted.
7. The computer system of claim 5 wherein said resumption of activity circuit includes first flip-flop latch having an input for coupling to said IBUSREQ signal.
8. The computer system of claim 5 wherein said address valid signal is an address strobe signal ( ADS).
9. The computer system of claim 6 wherein said bus activity monitor circuit includes an OR gate having a first input, for receiving said
IBUSREQ signal a second input, for receiving said BUSIDLE signal, and an output.
10. The computer system of claim 9 further including a bus interface, said bus interface including a second flip-flop latch having an input for receiving said signal generated by said output of said bus activity monitor, said second flip flop latch further including an output for generating said bus activity signal.
11. The computer system of claim 7 wherein said power management circuit includes an AND gate having a first input, for receiving said bus activity signal, a second input, for receiving a clock signal, and an output for generating said control sequencing signal.
12. The computer system of claim 11 further including a second OR gate having a first input coupled to a DRAM refresh circuit, a second input coupled to said first bus queue, a third input coupled to said bus activity signal, and a fourth input coupled to a PCI clock control logic.
13. The computer system of claim 12 wherein said target controller is a dynamic random access memory (DRAM) controller and said target circuit is a DRAM memory.
14. The computer system of claim 12 wherein said target controller is a cache controller and said target circuit is a static random access memory (SRAM).
15. In a processor having a bus controller coupled to a bus, said bus being coupled to a memory controller controlling the exchange of information between a memory and said bus, said bus controller including: a bus activity monitor circuit coupled to said bus controller for generating a bus activity signal indicative of activity in said bus controller.
16. The processor of claim 15 further including a bus request queue for storing addresses, said bus request queue having a first gate for receiving a bus request (IBUSREQ) signal, said bus request queue having a second gate for generating a signal ( BUSIDLE ) indicative of an idle state of said bus controller.
17. The processor of claim 16 wherein said bus activity monitor circuit has a first input, for receiving said IBUSREQ signal, a second input, for receiving said BUSIDLE signal, and an output for generating said bus activity signal.
18. A method for reducing a consumption of power in a memory controller, said memory controller controlling an exchange of information between a bus of a processor and a memory device, said memory controller having an input for receiving a control sequencing signal, the method comprising the steps of: coupling a bus activity monitor between a bus controller, of said processor, and said memory controller, said bus activity monitor generating a bus activity signal indicative of activity in said bus controller; and coupling a power management circuit, at an input thereof, to said bus activity signal and, at an output thereof, to said input of said memory controller.
19. The method of claim 18 further including the step of: coupling a resumption of activity circuit to said bus activity monitor; causing said resumption of activity circuit to notify the bus activity monitor of a resumption of activity on said bus at least one bus cycle before an address valid signal is asserted by said processor.
20. The method of claim 19 wherein said address valid signal is an ADS signal.
PCT/US1996/020807 1995-12-29 1996-12-27 Power management apparatus and method WO1997024653A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE19681716T DE19681716B4 (en) 1995-12-29 1996-12-27 Computer system and method for power management
KR1019980705036A KR100329344B1 (en) 1995-12-29 1996-12-27 Power management apparatus and method
AU13559/97A AU1355997A (en) 1995-12-29 1996-12-27 Power management apparatus and method
GB9812477A GB2322212B (en) 1995-12-29 1996-12-27 Power management apparatus and method
HK99100682A HK1015902A1 (en) 1995-12-29 1999-02-19 Power management apparatus and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/581,164 US5692202A (en) 1995-12-29 1995-12-29 System, apparatus, and method for managing power in a computer system
US08/581,164 1995-12-29

Publications (1)

Publication Number Publication Date
WO1997024653A1 true WO1997024653A1 (en) 1997-07-10

Family

ID=24324149

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1996/020807 WO1997024653A1 (en) 1995-12-29 1996-12-27 Power management apparatus and method

Country Status (9)

Country Link
US (2) US5692202A (en)
KR (1) KR100329344B1 (en)
CN (1) CN1147773C (en)
AU (1) AU1355997A (en)
DE (1) DE19681716B4 (en)
GB (1) GB2322212B (en)
HK (1) HK1015902A1 (en)
TW (1) TW394871B (en)
WO (1) WO1997024653A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2332763A (en) * 1997-12-24 1999-06-30 Mitsubishi Electric Corp Clock control type information processing apparatus
GB2335293A (en) * 1997-12-23 1999-09-15 Cogency Technology Inc Reducing power consumption in a self-timed system

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950350A (en) * 1995-08-07 1997-02-18 Fujitsu Ltd Storage
US5949261A (en) 1996-12-17 1999-09-07 Cypress Semiconductor Corp. Method and circuit for reducing power and/or current consumption
JPH10254587A (en) * 1997-03-14 1998-09-25 Toshiba Corp Computer system
KR19980073522A (en) * 1997-03-15 1998-11-05 김광호 Semiconductor memory device supporting power down mode, computer system having same and control method thereof
US5996050A (en) * 1997-07-31 1999-11-30 Advanced Micro Devices, Inc. Cache coherency detection in a bus bridge verification system
US5978923A (en) * 1997-08-07 1999-11-02 Toshiba America Information Systems, Inc. Method and apparatus for a computer power management function including selective sleep states
US6349051B1 (en) * 1998-01-29 2002-02-19 Micron Technology, Inc. High speed data bus
US6345363B1 (en) 1998-06-23 2002-02-05 National Semiconductor Corporation Microprocessor core power reduction by not reloading existing operands
US6021076A (en) * 1998-07-16 2000-02-01 Rambus Inc Apparatus and method for thermal regulation in memory subsystems
US6480510B1 (en) * 1998-07-28 2002-11-12 Serconet Ltd. Local area network of serial intelligent cells
US6021506A (en) * 1998-07-31 2000-02-01 Intel Corporation Method and apparatus for stopping a bus clock while there are no activities on a bus
US6038673A (en) * 1998-11-03 2000-03-14 Intel Corporation Computer system with power management scheme for DRAM devices
US6298448B1 (en) * 1998-12-21 2001-10-02 Siemens Information And Communication Networks, Inc. Apparatus and method for automatic CPU speed control based on application-specific criteria
SG65097A1 (en) * 1998-12-28 2001-08-21 Compaq Computer Corp Break event generation during transitions between modes of operation in a computer system
US6523157B1 (en) 1999-04-30 2003-02-18 Matsushita Electric Industrial Co., Ltd. Method for designing integrated circuit device and database for design of integrated circuit device
US6327664B1 (en) 1999-04-30 2001-12-04 International Business Machines Corporation Power management on a memory card having a signal processing element
US6571333B1 (en) * 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
US6633987B2 (en) * 2000-03-24 2003-10-14 Intel Corporation Method and apparatus to implement the ACPI(advanced configuration and power interface) C3 state in a RDRAM based system
US6384651B1 (en) 2000-03-28 2002-05-07 Intel Corporation Method of generating a signal with controlled duty-cycle and pseudo-random spectrum
ATE484026T1 (en) * 2000-04-12 2010-10-15 Dsp Group Switzerland Ag DATA PROCESSING CIRCUIT WITH CACHE MEMORY AND APPARATUS COMPRISING SUCH CIRCUIT
US6799279B1 (en) * 2000-06-21 2004-09-28 Matsushita Electric Industrial Co., Ltd. Method and apparatus for stopping supply of power to a specific function for playing contents stored on media in response to a low battery level
US6760852B1 (en) * 2000-08-31 2004-07-06 Advanced Micro Devices, Inc. System and method for monitoring and controlling a power-manageable resource based upon activities of a plurality of devices
US7725748B1 (en) 2000-12-29 2010-05-25 Intel Corporation Low power subsystem for portable computers
GB0123421D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Power management system
US6931559B2 (en) * 2001-12-28 2005-08-16 Intel Corporation Multiple mode power throttle mechanism
US7000065B2 (en) * 2002-01-02 2006-02-14 Intel Corporation Method and apparatus for reducing power consumption in a memory bus interface by selectively disabling and enabling sense amplifiers
US20030135676A1 (en) * 2002-01-17 2003-07-17 Koninklijke Philips Electronics N.V. Low-power bus interface
US6934870B1 (en) * 2002-02-21 2005-08-23 Cisco Technology, Inc. Clock management scheme for PCI and cardbus cards for power reduction
US6771536B2 (en) 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
DE10225578A1 (en) * 2002-06-10 2003-12-18 Philips Intellectual Property Activating application-executing device in motor vehicle using controller area network bus, by supplying voltage to protocol controller unit if there is incoming message on bus
US7032120B2 (en) * 2002-07-18 2006-04-18 Agere Systems Inc. Method and apparatus for minimizing power requirements in a computer peripheral device while in suspend state and returning to full operation state without loss of data
US7058829B2 (en) * 2002-08-14 2006-06-06 Intel Corporation Method and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPU
US7200711B2 (en) * 2002-08-15 2007-04-03 Network Appliance, Inc. Apparatus and method for placing memory into self-refresh state
US7139937B1 (en) * 2002-08-15 2006-11-21 Network Appliance, Inc. Method and apparatus to establish safe state in a volatile computer memory under multiple hardware and software malfunction conditions
US7216240B2 (en) * 2002-12-11 2007-05-08 Intel Corporation Apparatus and method for address bus power control
US20040128416A1 (en) * 2002-12-11 2004-07-01 Tsvika Kurts Apparatus and method for address bus power control
US7152167B2 (en) 2002-12-11 2006-12-19 Intel Corporation Apparatus and method for data bus power control
JP2004213571A (en) * 2003-01-08 2004-07-29 Sony Corp Clock control unit, microprocessor, electronic apparatus and clock control method, and clock control program
US7254730B2 (en) * 2003-02-14 2007-08-07 Intel Corporation Method and apparatus for a user to interface with a mobile computing device
US7114090B2 (en) * 2003-02-14 2006-09-26 Intel Corporation Computing system with operational low power states
US7080271B2 (en) 2003-02-14 2006-07-18 Intel Corporation Non main CPU/OS based operational environment
US7210048B2 (en) * 2003-02-14 2007-04-24 Intel Corporation Enterprise power and thermal management
TWI227398B (en) * 2003-04-15 2005-02-01 Asustek Comp Inc Automatic adjusting device of computer system performance
US7421591B2 (en) * 2003-08-29 2008-09-02 Dell Products L.P. Data flow control system and method for conserving power in a power managed system
US7099978B2 (en) * 2003-09-15 2006-08-29 Hewlett-Packard Development Company, Lp. Method and system of completing pending I/O device reads in a multiple-processor computer system
CN100340992C (en) * 2004-02-04 2007-10-03 凌阳科技股份有限公司 Memory controller capable of estimating memory power consumption
US7543161B2 (en) * 2004-09-30 2009-06-02 International Business Machines Corporation Method and apparatus for tracking variable speed microprocessor performance caused by power management in a logically partitioned data processing system
US20060156041A1 (en) * 2005-01-07 2006-07-13 Lee Zaretsky System and method for power management of plural information handling systems
DE602005007520D1 (en) * 2005-01-31 2008-07-24 Freescale Semiconductor Inc BUSARBITRATION CONTROL WITH REDUCED ENERGY CONSUMPTION
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US7590796B2 (en) 2006-07-31 2009-09-15 Metaram, Inc. System and method for power management in memory systems
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
WO2007002324A2 (en) * 2005-06-24 2007-01-04 Metaram, Inc. An integrated memory core and memory interface circuit
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US9542352B2 (en) * 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US7580312B2 (en) 2006-07-31 2009-08-25 Metaram, Inc. Power saving system and method for use with a plurality of memory circuits
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US7472220B2 (en) 2006-07-31 2008-12-30 Metaram, Inc. Interface circuit system and method for performing power management operations utilizing power management signals
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8041881B2 (en) * 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US7631199B2 (en) * 2005-06-30 2009-12-08 Intel Corporation Various methods and apparatuses for power states in a controller
US7529955B2 (en) * 2005-06-30 2009-05-05 Intel Corporation Dynamic bus parking
JP2007058279A (en) * 2005-08-22 2007-03-08 Oki Electric Ind Co Ltd Power-down shifting system
GB2444663B (en) 2005-09-02 2011-12-07 Metaram Inc Methods and apparatus of stacking drams
JP2007133564A (en) * 2005-11-09 2007-05-31 Canon Inc Information processor
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US20080028135A1 (en) * 2006-07-31 2008-01-31 Metaram, Inc. Multiple-component memory interface system and method
US7849334B2 (en) * 2006-09-29 2010-12-07 Intel Coporation Transitioning a computing platform to a low power system state
US7870407B2 (en) * 2007-05-18 2011-01-11 Advanced Micro Devices, Inc. Dynamic processor power management device and method thereof
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US7971084B2 (en) * 2007-12-28 2011-06-28 Intel Corporation Power management in electronic systems
US8775839B2 (en) * 2008-02-08 2014-07-08 Texas Instruments Incorporated Global hardware supervised power transition management circuits, processes and systems
US8086876B2 (en) * 2008-07-02 2011-12-27 Dell Products L.P. Static and dynamic power management for a memory subsystem
KR101036275B1 (en) * 2009-02-03 2011-05-23 서울대학교산학협력단 Performance monitoring unit and method of estimating power consumption of a system using the performance monitoring unit
US8566628B2 (en) * 2009-05-06 2013-10-22 Advanced Micro Devices, Inc. North-bridge to south-bridge protocol for placing processor in low power state
US8327166B2 (en) * 2009-05-21 2012-12-04 Lsi Corporation Power managment for storage devices
EP2441007A1 (en) 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
US20110112798A1 (en) * 2009-11-06 2011-05-12 Alexander Branover Controlling performance/power by frequency control of the responding node
US8656198B2 (en) * 2010-04-26 2014-02-18 Advanced Micro Devices Method and apparatus for memory power management
US8438416B2 (en) * 2010-10-21 2013-05-07 Advanced Micro Devices, Inc. Function based dynamic power control
WO2012083012A1 (en) * 2010-12-15 2012-06-21 Advanced Micro Devices, Inc. Device discovery and topology reporting in a combined cpu/gpu architecture system
US8862909B2 (en) 2011-12-02 2014-10-14 Advanced Micro Devices, Inc. System and method for determining a power estimate for an I/O controller based on monitored activity levels and adjusting power limit of processing units by comparing the power estimate with an assigned power limit for the I/O controller
US8924758B2 (en) 2011-12-13 2014-12-30 Advanced Micro Devices, Inc. Method for SOC performance and power optimization
CN106662865A (en) * 2014-08-14 2017-05-10 伦斯勒理工学院 Collaborative energy management system
US9740267B1 (en) 2016-10-31 2017-08-22 International Business Machines Corporation Adjusting power management controls of a memory based on traffic
US10955901B2 (en) 2017-09-29 2021-03-23 Advanced Micro Devices, Inc. Saving power in the command processor using queue based watermarks
US10671148B2 (en) 2017-12-21 2020-06-02 Advanced Micro Devices, Inc. Multi-node system low power management
US11054887B2 (en) 2017-12-28 2021-07-06 Advanced Micro Devices, Inc. System-wide low power management
US11435813B2 (en) 2018-08-29 2022-09-06 Advanced Micro Devices, Inc. Neural network power management in a multi-GPU system
US11100698B2 (en) 2019-06-28 2021-08-24 Ati Technologies Ulc Real-time GPU rendering with performance guaranteed power management
CN112925592A (en) 2019-12-05 2021-06-08 超威半导体公司 Kernel software driven color remapping to render home pages

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493684A (en) * 1994-04-06 1996-02-20 Advanced Micro Devices Power management architecture including a power management messaging bus for conveying an encoded activity signal for optimal flexibility
US5511205A (en) * 1992-04-15 1996-04-23 International Business Machines Corporation System for distributed power management in portable computers

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4477873A (en) * 1982-04-29 1984-10-16 International Telephone & Telegraph Corporation Channel monitor for connection to channel lines
US4602327A (en) * 1983-07-28 1986-07-22 Motorola, Inc. Bus master capable of relinquishing bus on request and retrying bus cycle
US5134691A (en) * 1986-04-01 1992-07-28 Westinghouse Electric Corp. Bidirectional communication and control network with programmable microcontroller interfacing digital ICs transmitting in serial format to controlled product
US5036456A (en) * 1987-02-13 1991-07-30 Honeywell Information Systems Inc. Apparatus for controlling concurrent operations of a system control unit including activity register circuitry
US5025387A (en) * 1988-09-06 1991-06-18 Motorola, Inc. Power saving arrangement for a clocked digital circuit
US5214762A (en) * 1988-11-07 1993-05-25 Compaq Computer Corporation Disk drive activity indicator
US5175845A (en) * 1988-12-09 1992-12-29 Dallas Semiconductor Corp. Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode
US5317750A (en) * 1988-12-23 1994-05-31 Intel Corporation Microcontroller peripheral expansion bus for access to internal special function registers
US5239638A (en) * 1988-12-30 1993-08-24 Intel Corporation Two strobed memory access
US5131083A (en) * 1989-04-05 1992-07-14 Intel Corporation Method of transferring burst data in a microprocessor
EP0479887A4 (en) * 1989-06-30 1992-08-12 Poqet Computer Corporation Computer power management system
JP2762670B2 (en) * 1990-03-30 1998-06-04 松下電器産業株式会社 Data processing device
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5175853A (en) * 1990-10-09 1992-12-29 Intel Corporation Transparent system interrupt
US5410711A (en) * 1991-02-14 1995-04-25 Dell Usa, L.P. Portable computer with BIOS-independent power management
US5390350A (en) * 1991-04-22 1995-02-14 Western Digital Corporation Integrated circuit chip core logic system controller with power saving features for a microcomputer system
US5392417A (en) * 1991-06-05 1995-02-21 Intel Corporation Processor cycle tracking in a controller for two-way set associative cache
US5392023A (en) * 1991-09-06 1995-02-21 Motorola, Inc. Data communication system with automatic power control
US5369771A (en) * 1991-12-23 1994-11-29 Dell U.S.A., L.P. Computer with transparent power-saving manipulation of CPU clock
US5353420A (en) * 1992-08-10 1994-10-04 Intel Corporation Method and apparatus for decoding conditional jump instructions in a single clock in a computer processor
US5333307A (en) * 1992-08-17 1994-07-26 Intel Corporation Circuitry and method for causing a microcontroller/microprocessor to be on-circuit emulated
US5524248A (en) * 1993-07-06 1996-06-04 Dell Usa, L.P. Random access memory power management system
JP2636691B2 (en) * 1993-07-12 1997-07-30 日本電気株式会社 Microcomputer
US5398244A (en) * 1993-07-16 1995-03-14 Intel Corporation Method and apparatus for reduced latency in hold bus cycles
US5408668A (en) * 1993-07-28 1995-04-18 Tornai; Richard Method and apparatus for controlling the provision of power to computer peripherals
US5471625A (en) * 1993-09-27 1995-11-28 Motorola, Inc. Method and apparatus for entering a low-power mode and controlling an external bus of a data processing system during low-power mode
US5511203A (en) * 1994-02-02 1996-04-23 Advanced Micro Devices Power management system distinguishing between primary and secondary system activity
US5517650A (en) * 1994-12-19 1996-05-14 International Business Machines Corporation Bridge for a power managed computer system with multiple buses and system arbitration

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5511205A (en) * 1992-04-15 1996-04-23 International Business Machines Corporation System for distributed power management in portable computers
US5493684A (en) * 1994-04-06 1996-02-20 Advanced Micro Devices Power management architecture including a power management messaging bus for conveying an encoded activity signal for optimal flexibility

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2335293A (en) * 1997-12-23 1999-09-15 Cogency Technology Inc Reducing power consumption in a self-timed system
US6049882A (en) * 1997-12-23 2000-04-11 Lg Semicon Co., Ltd. Apparatus and method for reducing power consumption in a self-timed system
GB2335293B (en) * 1997-12-23 2003-02-26 Cogency Technology Inc Apparatus and method for reducing power consumption in a self-timed system
GB2332763A (en) * 1997-12-24 1999-06-30 Mitsubishi Electric Corp Clock control type information processing apparatus
GB2332763B (en) * 1997-12-24 1999-11-17 Mitsubishi Electric Corp Clock control type information processing apparatus
US6073244A (en) * 1997-12-24 2000-06-06 Mitsubishi Denki Kabushiki Kaisha Power-saving clock control apparatus and method

Also Published As

Publication number Publication date
AU1355997A (en) 1997-07-28
US5884088A (en) 1999-03-16
CN1147773C (en) 2004-04-28
KR100329344B1 (en) 2002-05-09
DE19681716T1 (en) 1998-11-26
DE19681716B4 (en) 2004-02-26
GB9812477D0 (en) 1998-08-05
GB2322212A (en) 1998-08-19
KR19990076908A (en) 1999-10-25
TW394871B (en) 2000-06-21
US5692202A (en) 1997-11-25
GB2322212B (en) 2000-06-14
HK1015902A1 (en) 1999-10-22
CN1214130A (en) 1999-04-14

Similar Documents

Publication Publication Date Title
US5692202A (en) System, apparatus, and method for managing power in a computer system
US5590341A (en) Method and apparatus for reducing power consumption in a computer system using ready delay
US8438416B2 (en) Function based dynamic power control
EP0780755B1 (en) Circuit for setting computer system bus signals to predetermined states in low power mode
US5721935A (en) Apparatus and method for entering low power mode in a computer system
US5586332A (en) Power management for low power processors through the use of auto clock-throttling
JP4685312B2 (en) Data processing system and power saving method
EP1702253B1 (en) A method and an apparatus for power management in a computer system
JP3526920B2 (en) Computer system and system and method for controlling peripheral bus clock signals
US5987614A (en) Distributed power management system and method for computer
JP3964472B2 (en) Clock controller
US5623677A (en) Apparatus and method for reducing power consumption in a computer system
KR101473907B1 (en) Data processing device with low-power cache access mode
KR100546962B1 (en) Power failure mode for a memory controller
US5625807A (en) System and method for enabling and disabling a clock run function to control a peripheral bus clock signal
JP3597282B2 (en) Data processing apparatus and method
US5796992A (en) Circuit for switching between synchronous and asynchronous memory refresh cycles in low power mode
US6446215B1 (en) Method and apparatus for controlling power management state transitions between devices connected via a clock forwarded interface
WO1998044405A1 (en) Automatic transitioning between acpi c3 and c2 states
US7155631B2 (en) Information processing unit with a clock control circuit having access to the system bus during system clock changes
US6694441B1 (en) Power management method and arrangement for bus-coupled circuit blocks
US6240522B1 (en) Clock run controller
EP1570335B1 (en) An apparatus and method for address bus power control
JPH1139266A (en) Multiprocessor device

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 96180156.5

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CU CZ CZ DE DE DK DK EE EE ES FI FI GB GE HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK TJ TM TR TT UA UG US UZ VN AM AZ BY KG KZ MD RU TJ TM

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE LS MW SD SZ UG AT BE CH DE DK ES FI FR GB GR IE IT LU MC

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1019980705036

Country of ref document: KR

NENP Non-entry into the national phase

Ref document number: 97524579

Country of ref document: JP

RET De translation (de og part 6b)

Ref document number: 19681716

Country of ref document: DE

Date of ref document: 19981126

WWE Wipo information: entry into national phase

Ref document number: 19681716

Country of ref document: DE

122 Ep: pct application non-entry in european phase
WWP Wipo information: published in national office

Ref document number: 1019980705036

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 1019980705036

Country of ref document: KR