WO2003077094A2 - Low power system and method for a data processing system - Google Patents

Low power system and method for a data processing system

Info

Publication number
WO2003077094A2
WO2003077094A2 PCT/US2003/007107 US0307107W WO03077094A2 WO 2003077094 A2 WO2003077094 A2 WO 2003077094A2 US 0307107 W US0307107 W US 0307107W WO 03077094 A2 WO03077094 A2 WO 03077094A2
Authority
WO
WIPO (PCT)
Prior art keywords
bus
low power
arbiter
master
request
Prior art date
Application number
PCT/US2003/007107
Other languages
French (fr)
Other versions
WO2003077094A3 (en
Inventor
William C. Moyer
Brian M. Millar
Michael D. Fitzsimmons
Original Assignee
Freescale Semiconductor, Inc.
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 Freescale Semiconductor, Inc. filed Critical Freescale Semiconductor, Inc.
Priority to AU2003218021A priority Critical patent/AU2003218021A1/en
Priority to JP2003575244A priority patent/JP2006508409A/en
Priority to KR10-2004-7014095A priority patent/KR20040091705A/en
Priority to EP03714002A priority patent/EP1483652A2/en
Publication of WO2003077094A2 publication Critical patent/WO2003077094A2/en
Publication of WO2003077094A3 publication Critical patent/WO2003077094A3/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/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
    • 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
    • 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
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Definitions

  • the present invention relates generally to semiconductor devices and more specifically to systems and method of implementing low power modes for semiconductor devices.
  • low powered portable devices For example, hand-held device such as cell phones, personal digital assistants (PDA), and the like are becoming increasingly common.
  • PDA personal digital assistants
  • Many microprocessor devices have been designed with one or more low power states in order to accommodate power conservation. By conserving power, battery life can be extended, thereby allowing a longer operating time for hand-held devices.
  • One method of implementing low power states in modern micro-controllers and microprocessors is to provide low power instructions.
  • the device can initialize a shut down sequence, whereby the device prepares itself for shut down in such a manner that its subsequent return from a low power state can be accomplished. For example, if a low power microprocessor were to be shut down during a memory access cycle, it would be possible to disable the processor prior to an external device, such as a memory, returning the requested data. If upon startup the processor were expecting to see these completed cycle it could result in a lockup of the device since it will be anticipating a memory access which will not occur.
  • FIG. 1 is a block diagram illustrating a system having multiple bus masters controlled by a bus arbiter, according to one embodiment of the present invention
  • FIG. 2 is a state diagram representing specific functionality of a portion of the bus arbiter of FIG. 1 , according to one embodiment of the present invention
  • FIG. 3 is another state diagram implementing specific embodiment to functionality for a portion of the bus arbiter of FIG. 1, according to one embodiment of the present invention
  • FIG. 4 is a block diagram illustrating a system having multiple bus masters and a bus arbiter, according to one embodiment of the present invention
  • FIG. 5 is a state diagram implementing another specific embodiment of the bus arbiter of FIG. 4, according to one embodiment of the present invention
  • FIG. 6 is a block diagram illustrating a specific portion of a low power control module of FIG. 4 that includes a register, according to one embodiment of the present invention
  • FIG. 7 is a block diagram illustrating a system having multiple bus masters controlled by bus arbiter, according to one embodiment of the present invention.
  • FIG. 8 is a block diagram illustrating a portion of the bus arbiter of FIG. 7 that includes logic for gating bus requests signals, according to one embodiment of the present invention
  • FIG. 9 is a block diagram illustrating a system having multiple bus masters and bus multiple arbiters, according to one embodiment of the present invention.
  • FIG. 10 is a timing diagram illustrating signals in a system, according to a specific embodiment of the present invention.
  • FIG. 11 is another timing diagram illustrating signals in a system, according to a specific embodiment of the present invention.
  • At least one embodiment of the present invention provides a method for placing a device in a low power mode of operation.
  • a low power controller provides a bus request to a bus arbiter to initiate the low power mode.
  • the request is treated with a higher priority than other requests received by the bus arbiter.
  • the bus arbiter stops acknowledging new requests from interfaced bus masters and waits until the system bus has finished processing current bus accesses.
  • the bus arbiter acknowledges the low power controller bus request, indicating the system is free to engage the low power mode of operation, hi one embodiment, the bus masters associated with the bus arbiter are suspended to enable low power consumption, hi a specific embodiment of the present invention, the bus arbiter returns a bus grant signal to the low power controller to indicate the low power controller is free to engage the low power mode of operation. In this manner, devices that also act as bus masters can be placed in a recoverable state, wherein such devices are readily shut down in a safe low power mode through the assistance of a bus arbiter.
  • FIG. 1 illustrates a portion of a low power device 100.
  • a low power device can include hand-held personal digital assistants, hand-held communication devices, such as telephones, radios, and other devices.
  • Low power device can include hand-held personal digital assistants, hand-held communication devices, such as telephones, radios, and other devices.
  • bus arbiter 110 includes a bus arbiter 110, bus master 120, bus master 130, bus multiplexer 140, low power control module 150, peripheral subsystems 160, and memory 170.
  • the bus arbiter 110 provides the following signals: bus grant 1 (bus_grantl) and clock enable l(clk_enl) to bus master 120; clock enable 2 (clk_en2) and bus grant 2 (bus_grant2) to bus master 130; bus select to bus multiplexer 140; and low power bus grant (dbus_grant) to low power control module 150.
  • Bus master 120 provides the following signals: address 1 (addrl), data 1 (datal), and control 1 to bi-directional bus 176 connected to bus multiplexer 140; and bus request 1 (bus_reql) to bus arbiter 110.
  • Bus master 130 provides the following signals: address 2, data 2, and control 2 to bus 178 between bus multiplexer 140; and bus request 2 (bus_req2) to bus arbiter 110.
  • Handshake controls 171, associated with the bus master 120 and interfaced with a first port 112 of the bus arbiter 110, include : the bus request 1 ; a bus grant 1 (bus_grant 1 ) , provided by the bus arbiter 110 in response to the bus request 1; and, a clock enable 1 (clk_enl), used to enable or disable clocks in the bus master 120.
  • bus_grant 1 bus grant 1
  • clk_enl clock enable 1
  • handshake controls 172 associated with the bus master 130 and interfaced with a second port 113 of the bus arbiter 110, include: the bus request 2; a bus grant 2 (bus_grant2), provided by the bus arbiter 110 in response to the bus request 2; and, a clock enable 2 (clk_en2), used to enable or disable clocks in the bus master 130.
  • Bus multiplexer 140 provides information to and from each of the local system buses 176 and 178 that are associated with the bus masters 120 and bus master 130, respectively. In addition, the bus multiplexer 140 provides information to and from the system bus 179.
  • Low power control module 150 provides a low power bus request (dbus_req) to the bus arbiter 110, and a power mode indicator (power_mode) to peripheral subsystems 160, and to the rest of low power device 100.
  • the peripheral subsystems 160 interface to a memory 170 via a bus interface 165, and provide a low power reset (lp reset) to the low power control module 150.
  • the memory 170 interfaces to the system bus 179 and to peripheral subsystems 160 via bus interface 165. Peripheral subsystems 160 also interface to system bus 179.
  • the low power control module 150 initiates a low power mode of low power device 100.
  • Low power control module 150 includes a low power control register 152.
  • low power control module 150 determines when low power device 100 is to be set into the low power mode based on a value of low power control register 152.
  • low power control register 152 is set.
  • an application not shown
  • a subsystem of peripheral subsystems 160 monitoring user activity of low power device 100, can set low power control register 152 when the user has not activated a user interface, such as a key pad (not shown).
  • low power control register 152 can be set when power cells (now shown) use to power low power device 100 are low, allowing low power device 100 to be placed in the low power mode. Accordingly, a user can be given time to take means necessary to replace the power cells or to backup desired data.
  • low power control register 152 may be interfaced to system bus 179 to allow access to low power control register 152 by means of bus transfers.
  • low power control module 150 may provide a low power bus request (dbus_req) to bus arbiter 110.
  • the low power bus request represents a bus request signal provided to the bus arbiter 110 in which the request is not used for accessing the system bus 179, but to provide an indication to the bus arbiter 110.
  • the low power bus grant signal provided by the bus arbiter 110 is used to acknowledge the low power bus request.
  • low power control module 150 waits for receipt of dbus_grant signal from bus arbiter 110.
  • low power control module 150 can provide the power mode indicator to place peripherals subsystems 160 and other portions of low power device 100 into a low power state.
  • low power control module 150 applies settings to reduce power provided to peripheral subsystems 160.
  • low power control module 150 waits for a low power reset signal (LP RESET), indicating low power device 100 is to be taken out of a low power mode and into a nominal power mode. Accordingly, low power control module 150 can return peripheral subsystems 160 to a normal mode of operation in response to the low power reset signal.
  • the nominal power mode represents a normal mode of operation in which general functionality of low power device 100 is available.
  • the low power device 100 can consume a normal amount of power, greater than an amount of power consumed in the low power mode of operation. It should be appreciated that other methods of identifying a low power mode can be employed without departing from the scope of the present invention.
  • low power control module 150 can take other means to place low power device 100 in a low power mode than discussed herein.
  • alternate means of indicating that a low power mode is to be exited, rather than low power reset (LP RESET) may be employed, without departing from the scope or spirit of the present invention.
  • the bus arbiter 110 is used to receive requests from a plurality of requestors, such as bus master 120, bus master 130 and low power control module 150, and to grant one of the requestors, bus master 120 or 130, access of system bus 179.
  • bus arbiter 110 utilizes an arbitration scheme to recognize bus access requests from either the first port 112, associated with bus master 120, or the second port 113, associated with bus master 130.
  • the bus arbiter 110 can utilize a round-robin arbitration, in which the bus arbiter 110 alternates between granting requests from the first port 112 or the second port 113.
  • bus arbiter 110 provides the bus grant signal, bus grant 1 or bus grant 2, to an associated bus master, such as bus master 120 or bus master 130, respectively.
  • bus master 110 also provides a control signal to bus multiplexer 140 to receive information, such as address, data and control signals from one of the available bus masters, bus master 120 or bus master 130, associated with the selected port, first port 112 or second port 113, respectively.
  • Bus master 120 and bus master 130 represent bus master devices.
  • bus masters 120 and 130 can include a processor built into low power device 100, such as a central processing unit (CPU).
  • Bus masters 120 and 130 can also include a direct memory access (DMA) engine or other processors.
  • DMA direct memory access
  • bus arbiter 110 includes a low power port 114 to receive the low power bus request signal from low power control module 150.
  • the bus arbiter 110 can treat requests from the low power control module 150 as an additional requestor. For example, bus arbiter 110 can arbitrate among requests received through the first port 112, the second port 113 and the low power port 114.
  • bus arbiter 110 awaits for a bus ready signal.
  • the bus ready signal is a signal used by the system bus 179 to indicate when pending requests on system bus 179 have been processed. Once the bus ready signal is received, bus arbiter 110 can provide the low power bus grant signal to the low power control module 150, indicating low power device 100 can be set in a low power mode.
  • bus arbiter 110 when bus arbiter 110 provides the low power bus grant signal to low power control module 150, bus arbiter 110 also utilizes the clock enable signals, clock enable 1 and clock enable 2, to disable clocks associated with bus master 120 and bus master 130, respectively.
  • the bus masters 120 and 130 once the system bus 179 has processed the pending requests, the bus masters 120 and 130 are considered to be in a recoverable state, since bus masters 120 and 130 are not awaiting a response from the system bus 179. By disabling clocks to the bus masters 120 and 130, bus arbiter 110 can keep the bus masters 120 and 130 in the recoverable state for low power operation. Furthermore, bus arbiter 110 can initiate a mode of operation in which further requests from the first port 112 and the second port 113 are not acknowledged.
  • Bus arbiter 110 can wait until the low power reset signal is asserted to determine when to return to the normal mode of operation. Accordingly, when the low power reset signal is asserted, bus arbiter 110 can re-enable clocks to the bus masters 120 and 130, using the clock enable 1 and clock enable 2 signals, and return to arbitrating between accepting requests from the first port 112 and the second port 113.
  • bus arbiter 110 may not be responsive to low power reset signal LP RESET directly, but instead may simply wait for the negation of the low power bus request via port 114 to indicate that low power mode of operation is no longer desired, and a return to normal mode should occur.
  • bus arbiter 110 is further capable of prioritizing received requests. For example, it may be desirable to enter a low power mode as soon as possible. Accordingly, bus arbiter 110 can process the low power bus request from low power port 114 out of turn, ignoring new requests from bus master 120 and bus master 130. By prioritizing the low power bus request from low power control module 150 over bus access requests from bus masters 120 and 130, the bus arbiter 110 can ensure the low power mode is executed quickly. Priority can be changed to suit the needs of low power device 100. For example, if a less stringent low power execution is desired, the low power bus request received through low power port 114 can be prioritized below requests from bus master 120 but above request from bus master 130. Alternatively, priority associated with low power port 114 can be set at a fixed priority. Bus multiplexer 140 is used to couple system bus 179 with local buses 176 and
  • bus master to be selected by bus multiplexer 140 is identified through the bus select signal provided by bus arbiter 110. For example, if the bus select signal indicates bus master 120 is to be selected, bus multiplexer 140 will couple the address 1, data 1, and Control 1 signal lines from local bus 176 with system address, system data, and control lines of system bus 179, respectively. Alternatively, if the bus select signal indicates bus master 130 is to be selected, bus multiplexer 140 can couple address 2, data 2 and control 2 lines of local bus 178 with system address, system data and control lines of system bus 179.
  • System bus 179 can be used to couple bus masters 120 and 130 with memory 170, peripheral subsystems 160, and other system components (not shown). Accordingly, bus master 120 and 130 can provide data to be written to or read from components of low power device 100, such as memory 170 and peripherals 160, connected to system bus
  • address information and data sent along system bus 179 is interleaved.
  • An address transmitted on the system address line of system bus 179 indicates a bus address to write in a next set of data from the system data lines of system bus 179. While the data is accessed on the system data lines, a new address can be placed on the system address lines indicating a new address for a new set of data. It should be appreciated that other forms of passing address information and data along a system bus, such as system bus 179, can be incorporated without departing from the scope of the present invention.
  • Peripheral subsystems 160 are coupled to system bus 179, and may be coupled to memory 170 through bus interface 165. Peripheral subsystems 160 include several components for handling cross-sections of low power device 100. For example, a first subsystem 161 can be used to process video for low power device 100. A second subsystem 162 can be used to process audio for low power device 100. In addition, a third subsystem 163 can be used to process user interfacing, such as user input to a keypad. Subsystems 161 through 163 can be placed in a power down mode in response to the low power mode indicator provided by low power control module 150. It should be appreciated, that not all subsystems may be desired to be powered down.
  • subsystem 163 can be used to monitor user input during the low power mode. Accordingly, when the user attempts to access low power device 100, such as by tapping on a keypad, the third subsystem 163 can assert the low power reset signal to recover low power device 100 from the low power mode and return to a nominal mode of operation. It should be appreciated that other subsystems can be used in addition to or in place of those discussed with regard to peripheral subsystems 160. Furthermore, other means of detecting when to return from a low power mode can be used without departing from the scope of the present invention.
  • Bus arbiter 110 (FIG. 1) identifies a current requester, such as bus masters 120 and 130 (FIG. 1), to grant bus access to.
  • a control device such as low power control module 150 (FIG. 1) is treated as an additional requestor.
  • Bus arbiter 110 can be used to grant low power execution of a low power device only when pending bus accesses on a system bus of the low power device have been processed.
  • the bus arbiter switches between a first port associated with a first bus master and a second port associated with a second bus master, according to an arbitration scheme, such as round-robin arbitration. Requests for the low power control device are treated with a higher priority than requests from the bus masters. Accordingly, a request from the control device to enter a low power mode can be executed as soon as possible.
  • an arbitration scheme such as round-robin arbitration.
  • the bus arbiter upon startup or reset, such as according to an assertion of a system reset signal (SYSTEM_RESET), the bus arbiter begins in state 210, via a path
  • the bus arbiter In state 210, the bus arbiter enables the first port for granting access to the first bus master. If a request for a bus access is pending on the first port in state 210, the bus arbiter grants the bus access request. As previously discussed, to grant the request to the first bus master, the bus arbiter asserts a bus grant signal to the first bus master and provides a bus select signal to a bus multiplexer to couple local bus lines associated with the first bus master with the system bus. hi one embodiment, the bus arbiter remains in state 210, via apath 212, while abus ready signal is set to an off or a '0' value, indicating the system bus is busy processing the current request.
  • the bus arbiter follows a path 214 to state 220.
  • state 220 the bus arbiter enables the second port to grant accesses to the second bus master. Similar to state 210, if a request from the second bus master is on the second port, the bus arbiter grants the request and remains in state 220 according to a path 222, until the bus has processed the request. Once the bus ready signal is asserted, or if no request was pending on the second port, the bus arbiter may return to state 210 according to a path 224. Accordingly, the bus arbiter can switch between the first port and the second port, processing available requests in a round-robin fashion until the low power bus request signal from the control device is asserted.
  • DBUS_REQ low power bus request
  • the bus arbiter While in states 210 and 220, if the low power bus request signal from the control device is asserted and the bus ready signal is asserted, the bus arbiter switches to a state 240, via a path 216 or path 226, respectively. While in state 240, the bus arbiter begins execution of a low power mode. In one embodiment, the bus arbiter is able to disable clocks associated with the bus masters, such as the first and second bus master. The bus arbiter can also provide a request grant signal (DBUS_GRANT) to the control device to indicate the bus masters and the low power device are in a recoverable state and the control device can place other components of the low power device in a low power mode.
  • DBUS_GRANT request grant signal
  • the bus arbiter may remain in state 240 until a low power reset signal is asserted according to a path 242.
  • the low power reset signal indicates a low power device is to be recovered from low power execution. If the low power reset signal is asserted during state 240, the bus arbiter can return to state 210 through path 244 to continue arbitration between the first port and the second port. It should be appreciated that other methods of arbitrating between bus masters and the control device may be implemented without departing from the scope of the present invention.
  • FIG. 3 another state diagram representing specific functionality of a portion of the bus arbiter of FIG. 1 is shown, according to one embodiment of the present invention.
  • Different ports associated with the bus arbiter are used for processing requests among different bus masters, such as port 112 of bus arbiter 110 (FIG. 1).
  • a particular bus port can remain in an idle state 260 until either a bus request is received from an associated bus master or a low power bus request is received, indicating a low power mode is to be initiated.
  • a bus port begins processing in or is reset, such as according to an assertion of a reset signal (S YSTEM_RESET), to the idle state 260, via a path 264. While in idle state 260, the bus port waits for an assertion of either the low power bus request signal or a bus request signal (BUS_REQ), from the associated bus master. If the bus request signal is not asserted, the bus port remains in state 260, via a path 263. If the bus request signal is asserted and the low power bus request signal is not asserted, the bus port transitions to state 270, through path 262. In state 270, the bus port waits for a grant signal from the bus arbiter.
  • S YSTEM_RESET reset signal
  • BUS_REQ bus request signal
  • the bus port remains in state 270, according to a path 275.
  • the bus port asserts the bus grant signal to the associated bus master.
  • the bus port then transitions to a state 280, according to a path 271.
  • state 280 the bus port waits for a bus ready signal, indicating the granted bus request has completed.
  • the bus port remains in state 280 while the bus ready signal is not asserted according to path 282.
  • the bus port transitions back to state 260 according to path 284.
  • the bus port transitions to a low power state 265.
  • the bus port de-asserts a clock enable signal provided to the associated bus master. Accordingly, while the bus port is in state 265, a clock associated with the bus master is disabled allowing the bus master to be placed in a low power mode.
  • the bus port remains in the low power state 265 while a low power reset signal (LP RESET), is de-asserted and in a '0' or off state, according to a path 266.
  • LP RESET low power reset signal
  • the bus port can transition back to the idle state 260, according to path 267. Accordingly, once the bus port has transitioned back to the idle state 260, the clock enable signal can be reasserted, allowing the clock of the associated bus master to be re-enabled.
  • Low power device 300 operates similar to low power device 100 of FIG. 1.
  • a bus arbiter 310 selects one of bus master 120 or bus master 130 to grant access of system bus 179.
  • a low power control module 350 initiates a low power mode of low power device 300.
  • Bus arbiter 310 is used to identify when the low power device 300 is in a recoverable state for a low power mode of operation.
  • low power control module 350 in comparison to low power control module 150 (FIG. 1), and bus arbiter 310 in comparison to bus arbiter 110 (FIG. 1).
  • bus arbiter 310 in comparison to bus arbiter 110 (FIG. 1).
  • a clock enable signal was provided by bus arbiter 110 to enable and disable clocks associated with bus masters 120 and 130 in low power device 100, it is the low power control module 350 which provides the clock enable signals in low power device 300.
  • Low power control module 350 monitors a setting of low power control register 352.
  • Low power control register 352 operates similar to low power control register 152 (FIG. 1).
  • An external component sets at least a portion of the low power control register 352 when it is determined that low power device 300 is to be placed in a low power mode of operation.
  • low power control module 350 provides the low power bus request signal to bus arbiter 310, through low power port 314.
  • Low power control module 350 waits for the low power bus grant signal from bus arbiter 310.
  • low power control module 350 Upon receipt of the low power bus grant signal from bus arbiter 310, low power control module 350 disables clocks and bus masters 120 and 130, through the clock enable signals, clk_enl and clk_en2, as will subsequently be discussed.
  • low power control module 350 disables clocks in both bus masters 120 and 130.
  • low power control module 350 may disable clocks in only one of bus master 120 or bus master 130. For example, if operations performed by bus master 120 are critical and should not be disabled during a low power mode, low power control module can disable only clocks associated with bus master 130.
  • Low power control module 350 can also provide the power mode indicator to peripheral subsystems 160 and other components of low power device 300. Accordingly, peripheral subsystems 160 and other components of low power device 300 can be set to a low power mode of operation. It should be appreciated, that other actions can be taken to place low power device 300 into a low power mode of operation without departing from the scope of the present invention. Furthermore, other methods of disabling bus master 120 and bus master 130 can be employed without departing from the scope of the present invention.
  • bus arbiter 310 selects one of bus master 120 or bus master 130 to be granted access to system bus 179.
  • Bus arbiter 310 can follow an arbitration technique to recognize requests from either the first port 312 associated with bus master 120 or the second port 313 associated with bus master 130.
  • bus arbiter 310 can select to process request from low power control module 350 through low power port 314. In one embodiment, when bus arbiter 310 recognizes the low power bus request signal through low power port 314, bus arbiter 310 waits for a bus ready signal from system bus 179 to be asserted.
  • Bus arbiter 310 can provide the low power bus grant signal to low power control module 350 in response to the assertion of the bus ready signal, indicating all pending requests have been processed by system bus 179 and low power device 300 is in a recoverable state for entering a low power mode of operation.
  • FIG. 5 a state diagram implementing a specific embodiment of the bus arbiter of FIG. 4 is shown and referenced generally as state diagram 250, according to one embodiment of the present invention.
  • the bus arbiter switches between enabling a first port, associated with first bus master, and a second port, associated with the second bus master, hi the illustrated embodiment, the bus arbiter utilizes a round- robin arbitration to select between available ports.
  • State diagram 250 operates similar to state diagram 200 of FIG.2.
  • the bus arbiter switches between state 210, used to enable the first port, and state 220 used to enable the second port.
  • the bus arbiter switches from either state 210 or state 220 to state 230, via a path 231 or path 233, respectively.
  • the bus arbiter asserts a low power bus grant signal to indicate a low power device associated with the bus arbiter is in a recoverable state and can be placed in a low power mode of operation.
  • the bus arbiter waits for a low power reset signal to be asserted.
  • the low power reset signal indicates the low power device associated with the bus arbiter is to return to a normal mode of operation. While the low power reset signal is set to an off state or a value of '0', the bus arbiter remains in state 230, via path 232. Alternatively, when the low power reset signal is asserted, the bus arbiter returns to state 210 via path 234, allowing the bus arbiter to arbitrate between accepting requests from one of the available bus masters.
  • Block diagram 360 includes a control register, low power control register 352, for enabling low power operations within a low power device, such as low power device 300 of FIG. 4.
  • block diagram 360 can be used to assert and de-assert clock enable signals, clock enable 1 (clk_enl) and clock enable two (clk_en2) used by low power control module 350 to enable and disable bus master 120 and bus master 130 (FIG. 1), using nand gates 354 and 356.
  • a first nand gate 354 is used to provide the clock enable 1 signal to bus master 120. hi operation, when either a low power enable master 1 bit 361 of control register or the low power bus grant signal are at an off state or are set to a '0' value, nand gate 354 provides an asserted clock enable 1 signal to bus master 120, enabling clocks associated with the bus master 120. Alternatively, when both the low power enable master 1 bit 361 and the low power bus grant signal are asserted or in an 'on' state, nand gate 354 sets clock enable 1 to an off state, disabling clocks within the bus master 120.
  • a nand gate 356 can enable or disable clocks in bus master 130 by asserting or de-asserting the clock enable 2 signal, based on values of the low power enable master 2 bit 362 of the low power control register 352 and the low power bus grant signal.
  • a low power reset bit 363 is set by an assertion of a low power reset signal.
  • the low power reset signal is used by a subsystem, such as subsystem 163 of low power device 300, to indicate when low power device 300 is to be placed back in the normal mode of operation. It should be appreciated that other methods of generating the clock enable signals, such as clock enable 1 and clock enable 2, can be implemented without departing from the scope of the present invention.
  • Low power device 400 operates similar to low power device 300.
  • a bus arbiter 410 identifies a recoverable state wherein low power device 400 can be placed in a low power mode of operation.
  • the bus arbiter 410 provides a low power enable signal to a low power control module 450, indicating a low power mode has been initiated.
  • low power control module 450 may disable clock to bus master 120 and bus master 130. While the low power control module 350 of low power device 300 (FIG.
  • bus arbiter 410 was used to identify when a low power mode was initiated in FIG. 4, in FIG. 7 it is the bus arbiter 410 that identifies when low power is initiated in low power device 400.
  • Bus arbiter 410 selects between granting bus requests to bus master 120 or bus master 130, through ports 412 and 413, respectively.
  • Bus arbiter 410 can select to grant requests from port 412 or port 413 using an arbitration scheme, such as round-robin arbitration.
  • bus arbiter 410 includes a low power control register 452. Components or a subsystem of low power device 400, external to bus arbiter 410, can set low power control register 452 to a particular value to indicate low power device can be set to a low power mode of operation.
  • bus arbiter 410 can identify when the low power mode should be initiated. When low power control register 452 has been set, bus arbiter 410 waits for low power device 400 to be in a recoverable state. In one embodiment, bus arbiter 410 stops granting bus requests associated with the bus masters 120 and 130 and waits for an assertion of a bus ready signal from system bus 179. As previously discussed, the bus ready signal indicates system bus 179 has completed processing all pending bus requests. Accordingly, the low power device 400 can be placed in a shut down or low power mode without a loss of data or an incomplete transfer along system bus 179. In the illustrated embodiment, bus arbiter 410 further provides a low power enable signal to low power control module 450.
  • Low power control module 450 provides clock enable signals, clock enable 1 and clock enable 2, to bus master 120 and 130.
  • the clock enable signals are used to enable and disable clocks associated with the bus masters 120 and 130.
  • the low power control module 450 receives the low power enable signal (LP_ENABLE) from bus arbiter 410, the low power control module 450 can de-assert or place the clock enable signals in an off state. Accordingly, low power control module 450 can disable clocks in bus master 120 and 130 when the low power enable signal is asserted.
  • low power control module can further provide the power mode indicator to peripheral subsystems 160, indicating subsystems 161-163 can be placed in a shut down or low power mode of operation.
  • the low power control module 450 can also indicate to other portions of low power device 400 that a low power mode is active.
  • a low power reset signal can be used to awaken low power device 400 from the low power mode.
  • low power control module 450 can re-enable clocks in the bus masters 120 and 130 by reasserting the clock enables, clock enable 1 and clock enable 2.
  • low power control module 450 can alter the value of the power mode indicator to notify peripherals subsystems 160 and other portions of low power device 400 to return to a normal mode of operation.
  • bus arbiter 410 can de- assert the low power enable signal and continue to arbitrate between port 412 and port 413.
  • the illustrated portion of bus arbiter 410 includes a low power control register 452 to indicate when a low power mode has been initiated, an AND gate 432 to pass or block a request, bus request 1 (bus_reql), associated with a first bus master, such as bus master 120, an AND gate 431 to pass or block a request, bus request 2 (bus_req2), associated with the second bus master, such as bus master 130.
  • a set of arbitration logic 420 is used to select requests passed by AND gate 432 or AND gate 431.
  • the illustrated portion of bus arbiter 410 includes an AND gate 435 to assert a low power enable signal, indicating a device, such as low power device 400, may be placed in a low power mode of operation.
  • AND gates 432 and 431 block both requests, bus request 1 and bus request 2, when a low power bit 436 of low power control register 452 is asserted.
  • AND gates 432 and 431 pass the requests, bus request 1 and bus request 2. Accordingly, arbitration logic 420 is only able to receive bus requests when the low power bit 436 is not asserted.
  • the AND gate 435 asserts the low power enable signal only when the bus ready signal and low power bit 436 are both asserted.
  • the bus ready signal is only asserted when a system bus, such as system bus 179 (FIG. 7), has finished processing all pending bus requests.
  • System 500 includes a first bus master 540 and a second bus master 530 providing requests to a crossbar switch 510.
  • the crossbar switch 510 processes the requests to one of a plurality of multiplexed system buses, including a first multiplexed system bus 551 , a second multiplexed system bus 552 and an nth multiplexed system 553.
  • the crossbar switch 510 includes a first bus router 516 coupled to a local system bus 545 of bus master 540 and a second bus router 517 coupled to a local system bus 535 of the second bus master 530.
  • the bus routers 516 and 517 process received requests through one of a plurality of arbiters, including a first arbiter 512, and second arbiter 513 and an nth arbiter 514.
  • Each arbiter of the plurality of arbiters is associated with a multiplexed system bus of the plurality of multiplexed system buses.
  • a low power controller 520 is used to identify when the low power mode is to be initiated and can disable clocks associated with the bus masters 530 and 540 to place the bus masters 530 and 540 in a low power mode.
  • Crossbar switch 510 processes requests from the bus masters 540 and 530 to an associated system bus.
  • the first bus router 516 identifies system buses associated with the bus master 540.
  • the bus router 516 identifies the associated system bus by the address associated with the request from bus master 540. For example, a first block of addresses can be associated with the first multiplexed system bus 551 and a second block of addresses can be associated with a second multiplexed system bus 552.
  • the bus router 516 provides the request to an arbiter associated with the identified multiplexed system bus.
  • the bus router 516 provides the request to the first arbiter 512 and if the request is associated with the second multiplexed system bus 552, the bus router 516 provides the request to the second arbiter 513.
  • the second bus router 517 will provide requests received from the bus master 530 to one of the plurality of arbiters.
  • the arbiters 512 through 514 each select among requests received from bus router 516 and/or bus router 517.
  • the crossbar switch 510 provides the request to the associated multiplexed system bus, such as first multiplexed system bus 551.
  • the arbiters 512-514 are further capable of receiving requests from the low power controller 520. It should be appreciated that while system 500 is described having two bus masters, bus masters 540 and 530, other bus masters may be included and the number of supported bus masters can be altered without departing from the spirit and scope of the present invention.
  • the low power controller 520 initiates low power operation within system 500.
  • subsystems of system 500 are capable of asserting a signal or a register value associated with low power controller 520 to indicate when a low power mode is to be initiated.
  • the low power controller 520 identifies that the low power mode is to be initiated, the low power controller 520 provides bus requests to each of the arbiters 512-514.
  • the bus aititers 512-514 return bus grant signals, BUS_GRANT 1, BUS_GRANT 2 and BUS_GRANT 3, to the low power controller 520 when the bus requests from the low power controller 520 have been accepted.
  • the bus grant requests indicate the respective multiplexed system buses 551-553, associated with the arbiters 512-514, have processed all pending requests.
  • the low power controller 520 waits until bus grants from all of the arbiters 512-514 have been received before initiating low power operation. Once all the bus grants have been received, low power controller 520 de-asserts clock enable signals provided to bus masters 530 and 540, and may assert a low power state indicator POWER_MODE to portions of system 500. Accordingly, the low power controller 520 is able to disable bus masters 530 and 540 only when all of the bus accesses associated with the bus masters 530 and 540 and the multiplexed system buses 551-553 have been processed, allowing system 500 to remain in a recoverable state for a initiating a low power mode of operation. Alternate embodiments of the present invention may disable clocking to bus masters 530 and 540 as individual bus grants from arbiters 512-514 are received, after determining that bus master 530 or 540 has completed all outstanding transfers.
  • FIG. 10 a timing diagram illustrating specific operation of one embodiment of the present invention is shown, hi the illustrated embodiment, two bus masters, a CPU and a secondary, alternate bus master (ALT), are present in a system, such as low power device 100 (FIG. 1).
  • the CPU asserts abus request (CPUJBUSREQ) when it desires to obtain ownership of a bus, such as system bus 179 (FIG. 1).
  • a bus arbiter such as bus arbiter 110 (FIG. 1), asserts abus grant signal (CPU_BUSGRANT) to grant ownership of the bus to the CPU.
  • the ALT bus master asserts a bus request (ALT_BUSREQ) when it desires to obtain ownership of the bus.
  • the bus arbiter asserts a bus grant signal (ALTJBUS GRANT) to grant ownership of the bus to ALT bus master.
  • the CPU will perform a read access to address location ADDR A, followed by a write access to address location ADDR B.
  • ALT will perform a write access to address location
  • ADDR X followed by a read access to address location ADDR Y.
  • the bus arbiter determines the relative order of the CPU and ALT accesses to the shared system bus by means of a bus arbitration priority mechanism.
  • Multiple priority schemes are available and are well known in the art, such as first-come first-serve, round- robin, and fixed priority.
  • the current invention does not rely on a particular scheme for priority ordering between the CPU and ALT bus masters, thus for this example a simple fixed scheme is illustrated in which ALT has a higher priority than CPU.
  • an additional request input, LPWR_BUSREQ is provided to the bus arbiter by a low power mode controller (LPMC), such as low power control module 150 (FIG. 1).
  • the bus arbiter provides an additional output bus grant signal, LPWR_BUSGNT, to the low power mode controller.
  • the low power mode controller provides a set of output signals, POWERJVIODE, to indicate a current operating mode of the system.
  • Clock enable signals are illustrated, which control clock generation to CPU and ALT masters.
  • Low power operation is supported by negating a CPU clock enable signal, CPU_CLKEN, to the CPU, and an alternate clock enable signal, ALT_CLKEN, to ALT master. Negation of these signals causes clock generation for these units to be suspended, thus reducing power consumption.
  • low power mode of operation will be initiated between the accesses performed by the CPU and ALT masters.
  • clock cycle 1 the system is operating in a normal mode of operation as indicated by power mode signals POWER_MODE indicating a normal mode.
  • CPU asserts CPU_BUSREQ, indicating it desired ownership of the system bus, asserts a CPU TREQ signal to indicate it is starting a transfer, and drives the CPU address line, CPU_ADDR, with ADDR A, corresponding to the desired access location.
  • a CPU_WRITE signal is negated, indicating the access is a read. Since the ALT master is not requesting bus ownership in cycle 1, the bus arbiter grants bus ownership to CPU and asserts CPU_BUSGNT in cycle 1.
  • the bus arbiter selects CPU_ADDR and CPU_WRITE to be driven onto system bus signals HADDR and HWRITE respectively by means of control signal ADDR_SEL.
  • a system bus transfer request, HTREQ is asserted, indicating a transfer is being requested on the system bus. Since no other access is outstanding, the transfer begins, and the address phase of the transfer completes at the end of cycle 1.
  • the data phase of the transfer to location ADDR A begins in cycle 2, and an HBUSY signal is asserted to indicate the system data buses are busy.
  • HBUSY signal is asserted to indicate the system data buses are busy.
  • separate read and write data buses are illustrated, although in alternate embodiments, a single bi-directional data bus may be used.
  • a system read data bus HRDATA is driven by the system, or device, corresponding to address location ADDR A in cycle 2, with the data corresponding to ADDR A.
  • the bus arbiter has driven the DATA_SEL signal to indicate the data phase belongs to the CPU.
  • Data from HRDATA is provided to the CPU by way of a CPUJ DATA signal.
  • a responding device causes the assertion of system bus ready signal HREAD Y to indicate the requested data has been provided.
  • HREAD Y system bus ready signal
  • ALT master has asserted ALTJBUSREQ to indicate that it desires ownership of the system bus, and has asserted ALT_TREQ and driven ALT_ADDR with the value ADDR X, indicating it is requesting an access to be performed to location ADDR X.
  • An ALT_WRITE signal is also asserted, indicating that the requested access is a write.
  • the bus arbiter receives CPUJ3USREQ and ALTJ3USREQ, and determines that ALT master is to be granted ownership of the system bus.
  • the bus arbiter negates CPU_BUSGNT, asserts ALT_BUSGNT, and changes ADDR_SEL signal to select the ALT_ADDR and ALT_WRITE signals to be driven onto system bus signals HADDR and HWRITE respectively, thus giving bus ownership to ALT master for the address phase that starts in cycle 2, and withholds address bus ownership from the CPU.
  • the HTREQ signal remains asserted in cycle 2, indicating another system bus transfer is being requested.
  • the bus master drives DATA_SEL signal to select the CPU for the current data phase, since this data phase is associated with the previous address phase, during which the CPU was granted bus ownership.
  • ALT master drives ALT_WRDATA with DATA X.
  • the bus arbiter drives the DATA_SEL signal to select ALT_WRDATA to be coupled to system write data bus HWRDATA, thus providing DATA X to the accessed device for writing.
  • HBUSY remains asserted during cycle 3, indicating system data buses are busy.
  • An accessed device corresponding to address location ADDR X causes assertion of system bus ready signal HREADY to indicate the write data is being accepted.
  • HREADY system bus ready signal
  • BUSREQ, CPU_TREQ, and ADDR B on CPU_ADDR to indicate a cycle is still being requested, as well as system bus ownership.
  • ALT master also continues to drive ALT_BUSREQ, ALT_TREQ, and drives ADDR Y on ALT_ADDR bus to indicate a cycle is still being requested, as well as system bus ownership.
  • the ALT_WR1TE signal is negated, indicating ALT master access to ADDR Y is a read cycle.
  • the low power controller asserts LPWR_BUSREQ to Bus Arbiter, in preparation for entering a low power mode, hi accordance with one embodiment of the present invention, this request is assigned the highest priority of all potential requests.
  • Assertion of LPWR_BUSREQ causes the arbiter to negate bus grant to all other requestors, thus in cycle 3, CPU_BUSGNT and ALT_BUSGNT are negated, indicating neither the CPU or ALT master is granted bus ownership. Since no address phase is initiated in cycle 3 due to the removal of bus ownership from requesting bus masters, system bus transfer request signal HTREQ is negated in cycle 3. The system address bus, HADDR, is not considered valid since no transfer is being requested, although the bus arbiter may select either ALT_ADDR or CPU_ADDR to be driven by default. Since the system data buses are busy in cycle 3 with the data phase of the access to location ADDR X, HBUSY remains asserted.
  • the bus arbiter asserts LPWR_GNT signal to the low power controller, indicating that system bus activity has reached a quiescent state, and thus it is now safe to enter a low power mode of operation.
  • the clock enable signals, CPU_CLKEN and ALT_CLKEN are subsequently negated in cycle 4 to cause further clocking of CPU and ALT master to be suspended, and thereby causing system power consumption to be minimized, h cycle 5, the low power controller changes the POWER_MODE signals to indicate a low power SLEEP state has been entered.
  • the low power SLEEP state remains in effect while Low Power Mode controller continues to assert LPWR_BUSREQ, and CPU_CLKEN and ALT_CLKEN remain negated to minimize system power consumption.
  • the low power controller will negate LPWR_BUSREQ to the bus arbiter, hi FIG. 10, this occurs during clock cycle N.
  • LPWR_BUSREQ negated
  • the bus arbiter negates LPWR_BUSGNT, and arbitration between CPU and ALT master is resumed.
  • the bus arbiter grants system bus ownership to ALT master in cycle N, and drives ADDR_SEL correspondingly, thus system bus HADDR is driven with ADDR Y, and HWRITE is negated.
  • HTREQ is asserted in cycle N, indicating a new system bus transfer is being requested.
  • cycle N and N+ 1 CPU continues to drive CPU_BUSREQ, CPU_TREQ, and ADDR B on CPU_ADDR to indicate a cycle is still being requested as well as system bus ownership.
  • ALT master negates ALT_BUSREQ and ALT_TREQ, indicating ownership of the system bus is no longer desired, and no transfer is being requested.
  • the bus arbiter negates ALT_BUSGNT and asserts CPU_BUSGNT to hand system bus ownership to CPU.
  • the bus arbiter drives ADDR_SEL signal to couple CPU_ADDR and CPU_WRITE signals to HADDR and HWRITE respectively.
  • HADDR is driven with the value ADDR B, and HWRITE is asserted, indicating the requested access by the CPU is a write cycle.
  • HBUSY is asserted to indicate that the system data buses are busy with a data phase.
  • read data is returned by the device corresponding to address location ADDR Y by way of system read data bus HRDATA, and causes assertion of system bus ready signal HREADY to indicate the read data is being provided, and the bus arbiter drives DATA_SEL to indicate that this data phase is for ALT master.
  • ALT master latches returning read DATA Y in cycle N+1, and at the end of cycle N+1, the data phase of the access to location ADDR Y completes.
  • the bus arbiter drives DATA_SEL to cause write data provided on CPU WRDATA signals to be coupled to system bus write data signals HWRDATA.
  • HBUSY remains asserted during cycle N+2 to indicate the system data buses are busy.
  • the accessed device corresponding to ADDR B causes assertion of system bus ready signal HREADY to indicate the write data is being accepted.
  • HREADY system bus ready signal
  • the data phase of the access to location ADDR B completes.
  • cycle N+3 HBUSY is negated, indicating system data buses are idle.
  • bus arbitration operation and system bus handoff are well known in the art, and the example given is not meant to limit the scope of the current invention to the exact sequence or protocols shown.
  • the low power controller can ensure that a transition into low power modes is effected at an appropriate boundary, and that outstanding system bus accesses have terminated prior to enabling low power modes and performing clock gating of the CPU and alternate master logic.
  • the example of low power arbitration operation shown in FIG. 10 may be extended to a system in which multiple system buses are present, such as system 500 (FIG.9).
  • the low power controller such as low power controller 520 (FIG. 5)
  • the low power controller will request ownership of all system buses.
  • the low power controller will be eventually granted ownership of all system buses. This process may occur one-by-one, or may occur simultaneously, or in any combination.
  • the low power controller may then force the system into a low power mode.
  • the low power controller may place blocks, units, or elements associated with a given system bus in a low power mode as soon as ownership of that particular bus has been granted to the low power controller. If a particular block or unit is associated with multiple system buses, low power mode entry for that block will be delayed until it can be determined that the block is either idle, or has reached a bus cycle boundary, such that no outstanding bus access exists for that block or unit.
  • FIG. 11 a timing diagram illustrating signal timing associated with another embodiment of the present invention is shown.
  • three system buses are present, and are interconnected to two bus masters, the CPU and ALT master.
  • CPU will perform a read access to address location ADDR A, followed by a write access to address location ADDR B.
  • ALT will perform a write access to address location ADDR X, followed by a read access to address location ADDR Y.
  • Bus arbiters associated with each system bus determine the relative order of the CPU and ALT accesses to the respective system bus by means of a bus arbitration priority mechanism. Multiple priority schemes are available and are well known in the art such as first-come first-serve, round-robin, and fixed priority.
  • the current invention does not rely on a particular scheme for priori ty ordering between CPU and ALT master, thus for this example a simple fixed scheme is illustrated in which ALT has a higher priority than CPU.
  • Alternate embodiments may incorporate different priority schemes, and may incorporate differing schemes for each particular system bus.
  • CPU and ALT master are interconnected to system buses 1 , 2, and 3 by means of a fully interconnected crossbar switch, such as crossbar switch 510 (FIG. 9).
  • control logic receives CPU signals CPU TREQ and CPU_ADDR, as well as ALT master signals ALT TREQ and ALT_ADDR.
  • each system bus corresponds to a particular portion of the system address space. By decoding a portion of CPU_ADDR and ALT_ADDR, each individual system bus connection determines whether the currently requested access by CPU or ALT master is targeted to that particular system bus.
  • This decoding arrangement provides for "implicit" bus requests by CPU and ALT master, since each transfer request targets one of the multiple system bus connection, based on the particular access address. By decoding a portion of the access address from each bus master, a determination that a request for a particular system bus is being made is easily accomplished. When both bus masters present an access request which corresponds to the same system bus port in the same cycle, arbitration between the requests is performed by each system bus arbiter. Alternate embodiments of the present invention may provide explicit bus requests from each bus master to each of the multiple system bus arbiters. access to address location ADDR A, followed by a write access to address location ADDR B.
  • ALT will perform a write access to address location ADDR X, followed by a read access to address location ADDR Y.
  • Bus arbiters associated with each system bus determine the relative order of the CPU and ALT accesses to the respective system bus by means of a bus arbitration priority mechanism. Multiple priority schemes are available and are well known in the art such as first-come first-serve, round-robin, and fixed priority. The current invention does not rely on a particular scheme for priority ordering between CPU and ALT master, thus for this example a simple fixed scheme is illustrated in which ALT has a higher priority than CPU. Alternate embodiments may incorporate different priority schemes, and may incorporate differing schemes for each particular system bus.
  • CPU and ALT master are interconnected to system buses 1, 2, and 3 by means of a fully interconnected crossbar switch, such as crossbar switch 510 (FIG. 9).
  • control logic receives CPU signals CPUJTREQ and CPU_ADDR, as well as ALT master signals ALT_TREQ and ALT_ADDR.
  • each system bus corresponds to a particular portion of the system address space. By decoding a portion of CPU_ADDR and ALT_ADDR, each individual system bus connection determines whether the currently requested access by CPU or ALT master is targeted to that particular system bus.
  • This decoding arrangement provides for "implicit" bus requests by CPU and ALT master, since each transfer request targets one of the multiple system bus connection, based on the particular access address. By decoding a portion of the access address from each bus master, a determination that a request for a particular system bus is being made is easily accomplished. When both bus masters present an access request which corresponds to the same system bus port in the same cycle, arbitration between the requests is performed by each system bus arbiter. Alternate embodiments of the present invention may provide explicit bus requests from each bus master to each of the multiple system bus arbiters.
  • an additional explicit request input is provided to each of the multiple system bus arbiters by a low power mode controller.
  • Each Bus Arbiter provides an additional bus grant output signal to the low power mode controller, hi the illustrated example, three signals are provided; LPWR_BUSGNT1, LPWR_BUSGNT2, and LPWR_BUSGNT3 corresponding to system buses 1, 2, and 3 respectively.
  • the low power mode controller provides a set of output signals POWER_MODE to indicate a current operating mode of the system. Clock enable signals are illustrated, which control clock generation to the two bus masters, CPU and ALT master.
  • Low power operation is supported by negating clock enable signals, CPU XKEN to the CPU, and ALT_CLKEN to ALT master. Negation of these signals causes clock generation for these units to be suspended, thus reducing power consumption. In the illustrated example, a low power mode of operation will be initiated between the accesses performed by CPU and ALT master.
  • clock cycle 1 the system is operating in a normal mode of operation as indicated by power mode signals POWER_MODE signaling a normal mode of operation.
  • CPU asserts CPU_TREQ to indicate it is requesting a transfer, and drives CPU_ADDR with ADDR A, corresponding to the desired access location.
  • CPU_WRTTE is negated, indicating the access is a read.
  • ADDR A corresponds to a location associated with system bus 1. Also in cycle 1, ALT master asserts ALT_TREQ to indicate it is requesting a transfer, and drives ALT_ADDR with ADDR X, corresponding to the desired access location. ALT_WR ⁇ TE is asserted, indicating the access is a write. In this example, ADDR X corresponds to a location associated with system bus 2. Since ALT master is not requesting a bus transfer to system bus 1 in cycle 1, system bus arbiter 1 grants bus ownership to CPU and selects CPU_ADDR and CPU_WR1TE to be driven onto system bus 1 signals HADDR 1 and
  • System bus 1 transfer request HTREQ 1 is asserted, indicating a transfer is being requested on system bus 1. Since no other access is outstanding, the transfer begins, and the address phase of the transfer completes at the end of cycle 1. Also in cycle 1, system bus arbiter 2 grants bus ownership to ALT master and selects
  • ALT_ADDR and ALT_WRITE to be driven onto system bus 2 signals HADDR2 and HWRITE2.
  • System bus 2 transfer request HTREQ2 is asserted, indicating a transfer is being requested on system bus 2. Since no other access is outstanding, the transfer begins, and the address phase of the transfer completes at the end of cycle 1. Note that since the accesses requested by CPU and ALT master were to addresses that correspond to different system buses, these accesses are performed concurrently.
  • the data phase of the transfer to location ADDR A on system bus 1 begins in cycle 2, and HBUSY 1 is asserted to indicate the system data buses 1 are busy.
  • the data phase of the transfer to location ADDR X on system bus 2 begins in cycle 2, and HBUS Y2 is asserted to indicate the system data buses 2 are busy.
  • System read data bus 1 HRDATA1 is driven by the device corresponding to address location ADDR A in cycle 2, with the data corresponding to ADDR A. Data from HRDATA1 is provided to the CPU by way of CPU_RD ATA.
  • the responding device causes the assertion of system bus 1 ready signal HREADY1 to indicate the requested data has been provided, and CPU_READY is subsequently asserted.
  • ALT master has asserted ALT_TREQ and driven ALT_ADDR with the value ADDR Y, indicating it is requesting another access to be performed to location ADDR Y.
  • ALT_WR1TE is negated, indicating that the requested access is a read.
  • system bus 3 remains idle since no access has been requested to a location which corresponds to it., as indicated by HBUSY3 negated. It should be noted that not all system bus 3 signals are shown, since in this example, no access is requested to it.
  • the low power controller desires to place the system in a low power mode, and asserts LPWR_BUSREQ to system bus arbiters 1, 2, and 3.
  • System Bus Arbiter 3 receives LPWR_BUSREQ and asserts LPWR_BUSGNT3 in cycle 2 since system bus 3 is currently idle. Since a low power bus request is pending, system buses' 1 and 2 transfer request signals HTREQ 1 and HTREQ2 are negated in cycle 2 by the respective system bus controllers to prevent new transfers from being initiated.
  • system bus 1 signal HBUSY 1 is negated, indicating system bus 1 is now idle, and system bus l's bus arbiter asserts LPWR_BUSGNT1 to the low power controller, since a bus cycle boundary has been reached. Also in cycle 3, system bus 2's
  • HREADY2 signal is asserted by the device corresponding to location ADDR X, indicating that the write cycle initiated in cycle 1 is now completing.
  • system bus 2 becomes idle and the HBUSY2 signal is negated. Since no bus transaction is in progress, system bus 2's bus arbiter asserts LPWR_BUSGNT2 to the low power controller. At this point, the low power controller has obtained bus ownership for all system buses, indicating that system bus activity has reached a quiescent state, and thus it is now safe to enter a low power mode of operation.
  • Clock enable signals CPU_CLKEN and ALT_CLKEN, are subsequently negated in cycle 4 to cause further clocking of CPU and ALT master to be suspended, thereby causing system power consumption to be minimized, hi cycle 5, the low power controller changes the POWERJVIODE signals to indicate a low power SLEEP state has been entered.
  • the low power SLEEP state remains in effect while the low power mode controller continues to assert LPWR_BUSREQ, and
  • LPWRJBUSREQ When system events dictate a return to normal operating mode, the low power controller will negate LPWRJBUSREQ to all system bus arbiters. In FIG. 11 , this occurs during clock cycle N.
  • LPWR_BUSREQ When LPWR_BUSREQ is negated, system bus arbiters 1 , 2, and 3 negate LPWR_BUSGNT1, LPWR_BUSGNT2, and LPWR_BUSGNT3 respectively, and arbitration between CPU and ALT master is resumed.
  • Both CPU and ALT master have pending access requests (CPU TREQ and ALT TREQ are both asserted).
  • CPU is requesting a write to location ADDR B that corresponds to system bus 2
  • ALT master Since no conflict exists for access to system buses 1 and 2, both accesses are initiated in cycle N. The remainder of the transfers are shown in cycles N+1 through N+3, and follow the previously described protocols.
  • bus arbitration operation and system bus handoff are well known in the art, and the example given is not meant to limit the scope of the current invention to the exact sequence or protocols shown.
  • the low power controller can ensure that a transition into low power modes is effected at an appropriate boundary, and that outstanding system bus accesses on multiple system buses have terminated prior to enabling low power modes and performing clock gating of CPU and alternate master logic.
  • clock gating in FIG. 11 was shown occurring after all system buses were idle, alternate embodiments may place a subset of system elements in a clock-gated or other low power state as each system bus reaches a quiescent state.
  • the systems described herein may be part of an information handling system.
  • the term "information handling system” refers to any system that is capable of processing information or transferring information from one source to another.
  • An information handling system may be a single device, such as a computer, a hand held computing
  • an information handling system may refer to a collection of such devices. It should be appreciated that the system described herein has the advantage of identifying a recoverable state to initiate a low power mode of operation in a low power device.

Abstract

Systems and methods are discussed to identify a recoverable state in a low power device. A low power device (100, 300, or 400) having an arbiter (110, 310, or 410) to grant system bus access to a plurality of bus masters is set to initiate a low power mode of operation. A low power controller (150, 350, or 450) within the low power device provides a request to the bus arbiter to initiate a low power mode. The bus arbiter stops granting bus requests to the bus masters and identifies when the system bus has processed all current bus accesses. When the system bus is idle, the bus arbiter returns a bus grant signal to the low power controller. Clocks associated with the bus masters are disabled to suspend the bus arbiters and allow less power to be consumed by the low power device.

Description

LOW POWER SYSTEM AND METHOD FOR A DATA PROCESSING
SYSTEM
FIELD OF THE DISCLOSURE
The present invention relates generally to semiconductor devices and more specifically to systems and method of implementing low power modes for semiconductor devices.
BACKGROUND
The use of low powered portable devices is becoming increasingly common. For example, hand-held device such as cell phones, personal digital assistants (PDA), and the like are becoming increasingly common. Many microprocessor devices have been designed with one or more low power states in order to accommodate power conservation. By conserving power, battery life can be extended, thereby allowing a longer operating time for hand-held devices.
One method of implementing low power states in modern micro-controllers and microprocessors is to provide low power instructions. By executing a low power instruction, the device can initialize a shut down sequence, whereby the device prepares itself for shut down in such a manner that its subsequent return from a low power state can be accomplished. For example, if a low power microprocessor were to be shut down during a memory access cycle, it would be possible to disable the processor prior to an external device, such as a memory, returning the requested data. If upon startup the processor were expecting to see these completed cycle it could result in a lockup of the device since it will be anticipating a memory access which will not occur. However, by executing low power instructions, it is possible for state a machine associated with the processor to shut down in such a manner that it enters, and subsequently exits, low power modes in a known fashion. While many microprocessor cores support the use of low power instructions to enter low power states in known conditions, the use of such instructions, and other methods is not universally available across all microprocessor cores. When it is desirable to use such microprocessor cores in low power devices, alternative methods for entering low power modes of operation need to be defined. Also, bus master devices such as DMA units and other system function blocks may not execute low power mode instructions directly, and placing such devices in a low power state in a similarly transparent fashion is also a requirement for low power systems. Therefore, the ability to enter a low power mode of operation is an efficient manner would be useful.
BRIEF DESCRIPTION OF THE DRAWINGS
Specific embodiments of the present disclosure are shown and described in the drawings presented herein. Various objects, advantages, features and characteristics of the present disclosure, as well as other methods, operations and functions of related elements of structure, and the combination of parts and economies of manufacture, will become apparent upon considering the following description and claims with reference to the accompanying drawings, all of which form a part of this specification, and wherein:
FIG. 1 is a block diagram illustrating a system having multiple bus masters controlled by a bus arbiter, according to one embodiment of the present invention;
FIG. 2 is a state diagram representing specific functionality of a portion of the bus arbiter of FIG. 1 , according to one embodiment of the present invention;
FIG. 3 is another state diagram implementing specific embodiment to functionality for a portion of the bus arbiter of FIG. 1, according to one embodiment of the present invention;
FIG. 4 is a block diagram illustrating a system having multiple bus masters and a bus arbiter, according to one embodiment of the present invention; FIG. 5 is a state diagram implementing another specific embodiment of the bus arbiter of FIG. 4, according to one embodiment of the present invention;
FIG. 6 is a block diagram illustrating a specific portion of a low power control module of FIG. 4 that includes a register, according to one embodiment of the present invention;
FIG. 7 is a block diagram illustrating a system having multiple bus masters controlled by bus arbiter, according to one embodiment of the present invention;
FIG. 8 is a block diagram illustrating a portion of the bus arbiter of FIG. 7 that includes logic for gating bus requests signals, according to one embodiment of the present invention;
FIG. 9 is a block diagram illustrating a system having multiple bus masters and bus multiple arbiters, according to one embodiment of the present invention;
FIG. 10 is a timing diagram illustrating signals in a system, according to a specific embodiment of the present invention; and
FIG. 11 is another timing diagram illustrating signals in a system, according to a specific embodiment of the present invention.
DETAILED DESCRIPTION OF THE FIGURES
At least one embodiment of the present invention provides a method for placing a device in a low power mode of operation. A low power controller provides a bus request to a bus arbiter to initiate the low power mode. The request is treated with a higher priority than other requests received by the bus arbiter. The bus arbiter stops acknowledging new requests from interfaced bus masters and waits until the system bus has finished processing current bus accesses. Once the system bus is idle, the bus arbiter acknowledges the low power controller bus request, indicating the system is free to engage the low power mode of operation, hi one embodiment, the bus masters associated with the bus arbiter are suspended to enable low power consumption, hi a specific embodiment of the present invention, the bus arbiter returns a bus grant signal to the low power controller to indicate the low power controller is free to engage the low power mode of operation. In this manner, devices that also act as bus masters can be placed in a recoverable state, wherein such devices are readily shut down in a safe low power mode through the assistance of a bus arbiter.
FIG. 1 illustrates a portion of a low power device 100. Specific examples of such a low power device can include hand-held personal digital assistants, hand-held communication devices, such as telephones, radios, and other devices. Low power device
100 includes a bus arbiter 110, bus master 120, bus master 130, bus multiplexer 140, low power control module 150, peripheral subsystems 160, and memory 170.
The bus arbiter 110 provides the following signals: bus grant 1 (bus_grantl) and clock enable l(clk_enl) to bus master 120; clock enable 2 (clk_en2) and bus grant 2 (bus_grant2) to bus master 130; bus select to bus multiplexer 140; and low power bus grant (dbus_grant) to low power control module 150. Bus master 120 provides the following signals: address 1 (addrl), data 1 (datal), and control 1 to bi-directional bus 176 connected to bus multiplexer 140; and bus request 1 (bus_reql) to bus arbiter 110. Bus master 130 provides the following signals: address 2, data 2, and control 2 to bus 178 between bus multiplexer 140; and bus request 2 (bus_req2) to bus arbiter 110.
Handshake controls 171, associated with the bus master 120 and interfaced with a first port 112 of the bus arbiter 110, include : the bus request 1 ; a bus grant 1 (bus_grant 1 ) , provided by the bus arbiter 110 in response to the bus request 1; and, a clock enable 1 (clk_enl), used to enable or disable clocks in the bus master 120. Similarly, handshake controls 172, associated with the bus master 130 and interfaced with a second port 113 of the bus arbiter 110, include: the bus request 2; a bus grant 2 (bus_grant2), provided by the bus arbiter 110 in response to the bus request 2; and, a clock enable 2 (clk_en2), used to enable or disable clocks in the bus master 130. Bus multiplexer 140 provides information to and from each of the local system buses 176 and 178 that are associated with the bus masters 120 and bus master 130, respectively. In addition, the bus multiplexer 140 provides information to and from the system bus 179. Low power control module 150 provides a low power bus request (dbus_req) to the bus arbiter 110, and a power mode indicator (power_mode) to peripheral subsystems 160, and to the rest of low power device 100. The peripheral subsystems 160 interface to a memory 170 via a bus interface 165, and provide a low power reset (lp reset) to the low power control module 150. The memory 170 interfaces to the system bus 179 and to peripheral subsystems 160 via bus interface 165. Peripheral subsystems 160 also interface to system bus 179.
In operation, the low power control module 150 initiates a low power mode of low power device 100. Low power control module 150 includes a low power control register 152. In one embodiment, low power control module 150 determines when low power device 100 is to be set into the low power mode based on a value of low power control register 152. When low power device 100 is to enter a low power mode, low power control register 152 is set. For example, an application (not shown), or a subsystem of peripheral subsystems 160, monitoring user activity of low power device 100, can set low power control register 152 when the user has not activated a user interface, such as a key pad (not shown). Alternatively, low power control register 152 can be set when power cells (now shown) use to power low power device 100 are low, allowing low power device 100 to be placed in the low power mode. Accordingly, a user can be given time to take means necessary to replace the power cells or to backup desired data. In addition, in some embodiments, low power control register 152 may be interfaced to system bus 179 to allow access to low power control register 152 by means of bus transfers.
Once low power control module 150 has detected that low power control register 152 has been set, low power control module 150 may provide a low power bus request (dbus_req) to bus arbiter 110. The low power bus request represents a bus request signal provided to the bus arbiter 110 in which the request is not used for accessing the system bus 179, but to provide an indication to the bus arbiter 110. Similarly, the low power bus grant signal provided by the bus arbiter 110 is used to acknowledge the low power bus request. In one embodiment, after asserting low power bus request, dbus req, to bus arbiter 110, low power control module 150 waits for receipt of dbus_grant signal from bus arbiter 110.
When low power control module 150 has received the dbus_grant signal, low power control module 150 can provide the power mode indicator to place peripherals subsystems 160 and other portions of low power device 100 into a low power state. In one embodiment, low power control module 150 applies settings to reduce power provided to peripheral subsystems 160. In one embodiment, low power control module 150 waits for a low power reset signal (LP RESET), indicating low power device 100 is to be taken out of a low power mode and into a nominal power mode. Accordingly, low power control module 150 can return peripheral subsystems 160 to a normal mode of operation in response to the low power reset signal. The nominal power mode represents a normal mode of operation in which general functionality of low power device 100 is available. Furthermore, while in the nominal mode of operation, the low power device 100 can consume a normal amount of power, greater than an amount of power consumed in the low power mode of operation. It should be appreciated that other methods of identifying a low power mode can be employed without departing from the scope of the present invention. Furthermore, low power control module 150 can take other means to place low power device 100 in a low power mode than discussed herein. In addition, alternate means of indicating that a low power mode is to be exited, rather than low power reset (LP RESET) may be employed, without departing from the scope or spirit of the present invention.
The bus arbiter 110 is used to receive requests from a plurality of requestors, such as bus master 120, bus master 130 and low power control module 150, and to grant one of the requestors, bus master 120 or 130, access of system bus 179. i one embodiment, bus arbiter 110 utilizes an arbitration scheme to recognize bus access requests from either the first port 112, associated with bus master 120, or the second port 113, associated with bus master 130. For example, the bus arbiter 110 can utilize a round-robin arbitration, in which the bus arbiter 110 alternates between granting requests from the first port 112 or the second port 113. Once a port is selected, first port 112 or second port 113, bus arbiter 110 provides the bus grant signal, bus grant 1 or bus grant 2, to an associated bus master, such as bus master 120 or bus master 130, respectively. In one embodiment bus master 110 also provides a control signal to bus multiplexer 140 to receive information, such as address, data and control signals from one of the available bus masters, bus master 120 or bus master 130, associated with the selected port, first port 112 or second port 113, respectively. Bus master 120 and bus master 130 represent bus master devices. For example, bus masters 120 and 130 can include a processor built into low power device 100, such as a central processing unit (CPU). Bus masters 120 and 130 can also include a direct memory access (DMA) engine or other processors.
h one embodiment, bus arbiter 110 includes a low power port 114 to receive the low power bus request signal from low power control module 150. The bus arbiter 110 can treat requests from the low power control module 150 as an additional requestor. For example, bus arbiter 110 can arbitrate among requests received through the first port 112, the second port 113 and the low power port 114. hi one embodiment, when bus arbiter 110 accepts the low power bus request signal, bus arbiter 110 awaits for a bus ready signal. The bus ready signal is a signal used by the system bus 179 to indicate when pending requests on system bus 179 have been processed. Once the bus ready signal is received, bus arbiter 110 can provide the low power bus grant signal to the low power control module 150, indicating low power device 100 can be set in a low power mode.
hi the illustrated embodiment, when bus arbiter 110 provides the low power bus grant signal to low power control module 150, bus arbiter 110 also utilizes the clock enable signals, clock enable 1 and clock enable 2, to disable clocks associated with bus master 120 and bus master 130, respectively. In one embodiment, once the system bus 179 has processed the pending requests, the bus masters 120 and 130 are considered to be in a recoverable state, since bus masters 120 and 130 are not awaiting a response from the system bus 179. By disabling clocks to the bus masters 120 and 130, bus arbiter 110 can keep the bus masters 120 and 130 in the recoverable state for low power operation. Furthermore, bus arbiter 110 can initiate a mode of operation in which further requests from the first port 112 and the second port 113 are not acknowledged. Bus arbiter 110 can wait until the low power reset signal is asserted to determine when to return to the normal mode of operation. Accordingly, when the low power reset signal is asserted, bus arbiter 110 can re-enable clocks to the bus masters 120 and 130, using the clock enable 1 and clock enable 2 signals, and return to arbitrating between accepting requests from the first port 112 and the second port 113.
In an alternate embodiment, bus arbiter 110 may not be responsive to low power reset signal LP RESET directly, but instead may simply wait for the negation of the low power bus request via port 114 to indicate that low power mode of operation is no longer desired, and a return to normal mode should occur.
In one embodiment, bus arbiter 110 is further capable of prioritizing received requests. For example, it may be desirable to enter a low power mode as soon as possible. Accordingly, bus arbiter 110 can process the low power bus request from low power port 114 out of turn, ignoring new requests from bus master 120 and bus master 130. By prioritizing the low power bus request from low power control module 150 over bus access requests from bus masters 120 and 130, the bus arbiter 110 can ensure the low power mode is executed quickly. Priority can be changed to suit the needs of low power device 100. For example, if a less stringent low power execution is desired, the low power bus request received through low power port 114 can be prioritized below requests from bus master 120 but above request from bus master 130. Alternatively, priority associated with low power port 114 can be set at a fixed priority. Bus multiplexer 140 is used to couple system bus 179 with local buses 176 and
178, associated with bus master 120 and 130, respectively. In one embodiment, the bus master to be selected by bus multiplexer 140 is identified through the bus select signal provided by bus arbiter 110. For example, if the bus select signal indicates bus master 120 is to be selected, bus multiplexer 140 will couple the address 1, data 1, and Control 1 signal lines from local bus 176 with system address, system data, and control lines of system bus 179, respectively. Alternatively, if the bus select signal indicates bus master 130 is to be selected, bus multiplexer 140 can couple address 2, data 2 and control 2 lines of local bus 178 with system address, system data and control lines of system bus 179.
System bus 179 can be used to couple bus masters 120 and 130 with memory 170, peripheral subsystems 160, and other system components (not shown). Accordingly, bus master 120 and 130 can provide data to be written to or read from components of low power device 100, such as memory 170 and peripherals 160, connected to system bus
179. In one embodiment, address information and data sent along system bus 179 is interleaved. An address transmitted on the system address line of system bus 179 indicates a bus address to write in a next set of data from the system data lines of system bus 179. While the data is accessed on the system data lines, a new address can be placed on the system address lines indicating a new address for a new set of data. It should be appreciated that other forms of passing address information and data along a system bus, such as system bus 179, can be incorporated without departing from the scope of the present invention.
Peripheral subsystems 160 are coupled to system bus 179, and may be coupled to memory 170 through bus interface 165. Peripheral subsystems 160 include several components for handling cross-sections of low power device 100. For example, a first subsystem 161 can be used to process video for low power device 100. A second subsystem 162 can be used to process audio for low power device 100. In addition, a third subsystem 163 can be used to process user interfacing, such as user input to a keypad. Subsystems 161 through 163 can be placed in a power down mode in response to the low power mode indicator provided by low power control module 150. It should be appreciated, that not all subsystems may be desired to be powered down. For example, subsystem 163 can be used to monitor user input during the low power mode. Accordingly, when the user attempts to access low power device 100, such as by tapping on a keypad, the third subsystem 163 can assert the low power reset signal to recover low power device 100 from the low power mode and return to a nominal mode of operation. It should be appreciated that other subsystems can be used in addition to or in place of those discussed with regard to peripheral subsystems 160. Furthermore, other means of detecting when to return from a low power mode can be used without departing from the scope of the present invention.
Referring now to FIG.2, a state diagram representing specific functionalities of a portion of the bus arbiter of FIG. 1 is shown and referenced generally as state diagram 200, according to one embodiment of the present invention. Bus arbiter 110 (FIG. 1) identifies a current requester, such as bus masters 120 and 130 (FIG. 1), to grant bus access to. A control device, such as low power control module 150 (FIG. 1) is treated as an additional requestor. Bus arbiter 110 can be used to grant low power execution of a low power device only when pending bus accesses on a system bus of the low power device have been processed. In one embodiment, the bus arbiter switches between a first port associated with a first bus master and a second port associated with a second bus master, according to an arbitration scheme, such as round-robin arbitration. Requests for the low power control device are treated with a higher priority than requests from the bus masters. Accordingly, a request from the control device to enter a low power mode can be executed as soon as possible.
In one embodiment, upon startup or reset, such as according to an assertion of a system reset signal (SYSTEM_RESET), the bus arbiter begins in state 210, via a path
211. In state 210, the bus arbiter enables the first port for granting access to the first bus master. If a request for a bus access is pending on the first port in state 210, the bus arbiter grants the bus access request. As previously discussed, to grant the request to the first bus master, the bus arbiter asserts a bus grant signal to the first bus master and provides a bus select signal to a bus multiplexer to couple local bus lines associated with the first bus master with the system bus. hi one embodiment, the bus arbiter remains in state 210, via apath 212, while abus ready signal is set to an off or a '0' value, indicating the system bus is busy processing the current request. Alternatively, if the bus ready signal is set to an on state and a low power bus request (DBUS_REQ) signal from the control device is not asserted, the bus arbiter follows a path 214 to state 220. Within state 220, the bus arbiter enables the second port to grant accesses to the second bus master. Similar to state 210, if a request from the second bus master is on the second port, the bus arbiter grants the request and remains in state 220 according to a path 222, until the bus has processed the request. Once the bus ready signal is asserted, or if no request was pending on the second port, the bus arbiter may return to state 210 according to a path 224. Accordingly, the bus arbiter can switch between the first port and the second port, processing available requests in a round-robin fashion until the low power bus request signal from the control device is asserted.
While in states 210 and 220, if the low power bus request signal from the control device is asserted and the bus ready signal is asserted, the bus arbiter switches to a state 240, via a path 216 or path 226, respectively. While in state 240, the bus arbiter begins execution of a low power mode. In one embodiment, the bus arbiter is able to disable clocks associated with the bus masters, such as the first and second bus master. The bus arbiter can also provide a request grant signal (DBUS_GRANT) to the control device to indicate the bus masters and the low power device are in a recoverable state and the control device can place other components of the low power device in a low power mode.
The bus arbiter may remain in state 240 until a low power reset signal is asserted according to a path 242. In one embodiment, the low power reset signal indicates a low power device is to be recovered from low power execution. If the low power reset signal is asserted during state 240, the bus arbiter can return to state 210 through path 244 to continue arbitration between the first port and the second port. It should be appreciated that other methods of arbitrating between bus masters and the control device may be implemented without departing from the scope of the present invention.
Referring now to FIG. 3 another state diagram representing specific functionality of a portion of the bus arbiter of FIG. 1 is shown, according to one embodiment of the present invention. Different ports associated with the bus arbiter are used for processing requests among different bus masters, such as port 112 of bus arbiter 110 (FIG. 1). A particular bus port can remain in an idle state 260 until either a bus request is received from an associated bus master or a low power bus request is received, indicating a low power mode is to be initiated.
hi one embodiment, a bus port begins processing in or is reset, such as according to an assertion of a reset signal (S YSTEM_RESET), to the idle state 260, via a path 264. While in idle state 260, the bus port waits for an assertion of either the low power bus request signal or a bus request signal (BUS_REQ), from the associated bus master. If the bus request signal is not asserted, the bus port remains in state 260, via a path 263. If the bus request signal is asserted and the low power bus request signal is not asserted, the bus port transitions to state 270, through path 262. In state 270, the bus port waits for a grant signal from the bus arbiter. If the bus grant signal is not asserted by the arbiter, the bus port remains in state 270, according to a path 275. Once the bus grant signal is asserted, the bus port asserts the bus grant signal to the associated bus master. The bus port then transitions to a state 280, according to a path 271. In state 280 the bus port waits for a bus ready signal, indicating the granted bus request has completed. The bus port remains in state 280 while the bus ready signal is not asserted according to path 282. When the bus ready signal is asserted, the bus port transitions back to state 260 according to path 284.
If the low power bus request signal is asserted while the bus port is in idle state
260, the bus port transitions to a low power state 265. In low power state 265, the bus port de-asserts a clock enable signal provided to the associated bus master. Accordingly, while the bus port is in state 265, a clock associated with the bus master is disabled allowing the bus master to be placed in a low power mode. The bus port remains in the low power state 265 while a low power reset signal (LP RESET), is de-asserted and in a '0' or off state, according to a path 266. When the low power reset signal is asserted, the bus port can transition back to the idle state 260, according to path 267. Accordingly, once the bus port has transitioned back to the idle state 260, the clock enable signal can be reasserted, allowing the clock of the associated bus master to be re-enabled.
Referring now to FIG 4, a block diagram illustrating a system having multiple bus masters and a bus arbiter is shown and referenced generally as device 300, according to one embodiment of the present invention. Low power device 300 operates similar to low power device 100 of FIG. 1. A bus arbiter 310 selects one of bus master 120 or bus master 130 to grant access of system bus 179. A low power control module 350 initiates a low power mode of low power device 300. Bus arbiter 310 is used to identify when the low power device 300 is in a recoverable state for a low power mode of operation.
Difference between the operation of low power device 300 and low power device
100 is noted in the operation of low power control module 350 in comparison to low power control module 150 (FIG. 1), and bus arbiter 310 in comparison to bus arbiter 110 (FIG. 1). Specifically, where a clock enable signal was provided by bus arbiter 110 to enable and disable clocks associated with bus masters 120 and 130 in low power device 100, it is the low power control module 350 which provides the clock enable signals in low power device 300.
Low power control module 350 monitors a setting of low power control register 352. Low power control register 352 operates similar to low power control register 152 (FIG. 1). An external component sets at least a portion of the low power control register 352 when it is determined that low power device 300 is to be placed in a low power mode of operation. When low power control register 352 is set, low power control module 350 provides the low power bus request signal to bus arbiter 310, through low power port 314. Low power control module 350 waits for the low power bus grant signal from bus arbiter 310. Upon receipt of the low power bus grant signal from bus arbiter 310, low power control module 350 disables clocks and bus masters 120 and 130, through the clock enable signals, clk_enl and clk_en2, as will subsequently be discussed.
In one embodiment, low power control module 350 disables clocks in both bus masters 120 and 130. Alternatively, low power control module 350 may disable clocks in only one of bus master 120 or bus master 130. For example, if operations performed by bus master 120 are critical and should not be disabled during a low power mode, low power control module can disable only clocks associated with bus master 130. Low power control module 350 can also provide the power mode indicator to peripheral subsystems 160 and other components of low power device 300. Accordingly, peripheral subsystems 160 and other components of low power device 300 can be set to a low power mode of operation. It should be appreciated, that other actions can be taken to place low power device 300 into a low power mode of operation without departing from the scope of the present invention. Furthermore, other methods of disabling bus master 120 and bus master 130 can be employed without departing from the scope of the present invention.
As previously discussed, bus arbiter 310 selects one of bus master 120 or bus master 130 to be granted access to system bus 179. Bus arbiter 310 can follow an arbitration technique to recognize requests from either the first port 312 associated with bus master 120 or the second port 313 associated with bus master 130. Furthermore, bus arbiter 310 can select to process request from low power control module 350 through low power port 314. In one embodiment, when bus arbiter 310 recognizes the low power bus request signal through low power port 314, bus arbiter 310 waits for a bus ready signal from system bus 179 to be asserted. Bus arbiter 310 can provide the low power bus grant signal to low power control module 350 in response to the assertion of the bus ready signal, indicating all pending requests have been processed by system bus 179 and low power device 300 is in a recoverable state for entering a low power mode of operation. Referring now to FIG. 5, a state diagram implementing a specific embodiment of the bus arbiter of FIG. 4 is shown and referenced generally as state diagram 250, according to one embodiment of the present invention. The bus arbiter switches between enabling a first port, associated with first bus master, and a second port, associated with the second bus master, hi the illustrated embodiment, the bus arbiter utilizes a round- robin arbitration to select between available ports.
State diagram 250 operates similar to state diagram 200 of FIG.2. When the low power bus request signal is not asserted, the bus arbiter switches between state 210, used to enable the first port, and state 220 used to enable the second port. In one embodiment, when a bus ready signal and the low power bus request signal are both asserted, the bus arbiter switches from either state 210 or state 220 to state 230, via a path 231 or path 233, respectively. In state 230, the bus arbiter asserts a low power bus grant signal to indicate a low power device associated with the bus arbiter is in a recoverable state and can be placed in a low power mode of operation. While in state 230, the bus arbiter waits for a low power reset signal to be asserted. The low power reset signal indicates the low power device associated with the bus arbiter is to return to a normal mode of operation. While the low power reset signal is set to an off state or a value of '0', the bus arbiter remains in state 230, via path 232. Alternatively, when the low power reset signal is asserted, the bus arbiter returns to state 210 via path 234, allowing the bus arbiter to arbitrate between accepting requests from one of the available bus masters.
Referring now to FIG. 6, a block diagram illustrating a specific part of the low power control module 350 of FIG. 4 is shown and is referenced generally as block diagram 360, according to one embodiment of the present invention. Block diagram 360 includes a control register, low power control register 352, for enabling low power operations within a low power device, such as low power device 300 of FIG. 4. Specifically, block diagram 360 can be used to assert and de-assert clock enable signals, clock enable 1 (clk_enl) and clock enable two (clk_en2) used by low power control module 350 to enable and disable bus master 120 and bus master 130 (FIG. 1), using nand gates 354 and 356.
A first nand gate 354 is used to provide the clock enable 1 signal to bus master 120. hi operation, when either a low power enable master 1 bit 361 of control register or the low power bus grant signal are at an off state or are set to a '0' value, nand gate 354 provides an asserted clock enable 1 signal to bus master 120, enabling clocks associated with the bus master 120. Alternatively, when both the low power enable master 1 bit 361 and the low power bus grant signal are asserted or in an 'on' state, nand gate 354 sets clock enable 1 to an off state, disabling clocks within the bus master 120. Similarly, a nand gate 356 can enable or disable clocks in bus master 130 by asserting or de-asserting the clock enable 2 signal, based on values of the low power enable master 2 bit 362 of the low power control register 352 and the low power bus grant signal. A low power reset bit 363 is set by an assertion of a low power reset signal. The low power reset signal is used by a subsystem, such as subsystem 163 of low power device 300, to indicate when low power device 300 is to be placed back in the normal mode of operation. It should be appreciated that other methods of generating the clock enable signals, such as clock enable 1 and clock enable 2, can be implemented without departing from the scope of the present invention.
Referring now to FIG.7 a block diagram illustrating a system having multiple bus masters controlled by a bus arbiter is shown and referenced generally as low power device 400, according to one embodiment of the present invention. Low power device 400 operates similar to low power device 300. A bus arbiter 410 identifies a recoverable state wherein low power device 400 can be placed in a low power mode of operation. The bus arbiter 410 provides a low power enable signal to a low power control module 450, indicating a low power mode has been initiated. In response to a low power enable signal (LP_ENABLE), low power control module 450 may disable clock to bus master 120 and bus master 130. While the low power control module 350 of low power device 300 (FIG. 4) was used to identify when a low power mode was initiated in FIG. 4, in FIG. 7 it is the bus arbiter 410 that identifies when low power is initiated in low power device 400. Bus arbiter 410 selects between granting bus requests to bus master 120 or bus master 130, through ports 412 and 413, respectively. Bus arbiter 410 can select to grant requests from port 412 or port 413 using an arbitration scheme, such as round-robin arbitration. In the illustrated embodiment, bus arbiter 410 includes a low power control register 452. Components or a subsystem of low power device 400, external to bus arbiter 410, can set low power control register 452 to a particular value to indicate low power device can be set to a low power mode of operation. Alternatively, bus arbiter 410 can identify when the low power mode should be initiated. When low power control register 452 has been set, bus arbiter 410 waits for low power device 400 to be in a recoverable state. In one embodiment, bus arbiter 410 stops granting bus requests associated with the bus masters 120 and 130 and waits for an assertion of a bus ready signal from system bus 179. As previously discussed, the bus ready signal indicates system bus 179 has completed processing all pending bus requests. Accordingly, the low power device 400 can be placed in a shut down or low power mode without a loss of data or an incomplete transfer along system bus 179. In the illustrated embodiment, bus arbiter 410 further provides a low power enable signal to low power control module 450.
Low power control module 450 provides clock enable signals, clock enable 1 and clock enable 2, to bus master 120 and 130. The clock enable signals are used to enable and disable clocks associated with the bus masters 120 and 130. When the low power control module 450 receives the low power enable signal (LP_ENABLE) from bus arbiter 410, the low power control module 450 can de-assert or place the clock enable signals in an off state. Accordingly, low power control module 450 can disable clocks in bus master 120 and 130 when the low power enable signal is asserted. Similarly, when the low power enable signal is asserted, low power control module can further provide the power mode indicator to peripheral subsystems 160, indicating subsystems 161-163 can be placed in a shut down or low power mode of operation. The low power control module 450 can also indicate to other portions of low power device 400 that a low power mode is active.
A low power reset signal can be used to awaken low power device 400 from the low power mode. When the lower power reset signal is asserted, low power control module 450 can re-enable clocks in the bus masters 120 and 130 by reasserting the clock enables, clock enable 1 and clock enable 2. Furthermore, low power control module 450 can alter the value of the power mode indicator to notify peripherals subsystems 160 and other portions of low power device 400 to return to a normal mode of operation. When the low power reset signal is asserted, bus arbiter 410 can de- assert the low power enable signal and continue to arbitrate between port 412 and port 413.
Referring now to FIG. 8, a portion of the bus arbiter of FIG. 7 including logic for gating bus request signals is shown, according to one embodiment of the present invention . The illustrated portion of bus arbiter 410 includes a low power control register 452 to indicate when a low power mode has been initiated, an AND gate 432 to pass or block a request, bus request 1 (bus_reql), associated with a first bus master, such as bus master 120, an AND gate 431 to pass or block a request, bus request 2 (bus_req2), associated with the second bus master, such as bus master 130. A set of arbitration logic 420 is used to select requests passed by AND gate 432 or AND gate 431. The illustrated portion of bus arbiter 410 includes an AND gate 435 to assert a low power enable signal, indicating a device, such as low power device 400, may be placed in a low power mode of operation.
In operation, AND gates 432 and 431 block both requests, bus request 1 and bus request 2, when a low power bit 436 of low power control register 452 is asserted. When the low power bit 436 is in an off state, AND gates 432 and 431 pass the requests, bus request 1 and bus request 2. Accordingly, arbitration logic 420 is only able to receive bus requests when the low power bit 436 is not asserted. The AND gate 435 asserts the low power enable signal only when the bus ready signal and low power bit 436 are both asserted. As previously discussed, the bus ready signal is only asserted when a system bus, such as system bus 179 (FIG. 7), has finished processing all pending bus requests.
Referring now to FIG.9, a block diagram representing a system having multiple bus masters and multiple bus arbiters is shown and referenced generally as system 500, according to one embodiment of the present invention. System 500 includes a first bus master 540 and a second bus master 530 providing requests to a crossbar switch 510. The crossbar switch 510 processes the requests to one of a plurality of multiplexed system buses, including a first multiplexed system bus 551 , a second multiplexed system bus 552 and an nth multiplexed system 553. In one embodiment, the crossbar switch 510 includes a first bus router 516 coupled to a local system bus 545 of bus master 540 and a second bus router 517 coupled to a local system bus 535 of the second bus master 530. The bus routers 516 and 517 process received requests through one of a plurality of arbiters, including a first arbiter 512, and second arbiter 513 and an nth arbiter 514. Each arbiter of the plurality of arbiters is associated with a multiplexed system bus of the plurality of multiplexed system buses. A low power controller 520 is used to identify when the low power mode is to be initiated and can disable clocks associated with the bus masters 530 and 540 to place the bus masters 530 and 540 in a low power mode.
Crossbar switch 510 processes requests from the bus masters 540 and 530 to an associated system bus. The first bus router 516 identifies system buses associated with the bus master 540. In one embodiment, the bus router 516 identifies the associated system bus by the address associated with the request from bus master 540. For example, a first block of addresses can be associated with the first multiplexed system bus 551 and a second block of addresses can be associated with a second multiplexed system bus 552. The bus router 516 provides the request to an arbiter associated with the identified multiplexed system bus. For example, if the request is associated with the first multiplexed system 551, the bus router 516 provides the request to the first arbiter 512 and if the request is associated with the second multiplexed system bus 552, the bus router 516 provides the request to the second arbiter 513. Similarly, the second bus router 517 will provide requests received from the bus master 530 to one of the plurality of arbiters. The arbiters 512 through 514 each select among requests received from bus router 516 and/or bus router 517. Once an arbiter, such as first arbiter 512, has selected a request, the crossbar switch 510 provides the request to the associated multiplexed system bus, such as first multiplexed system bus 551. In one embodiment, the arbiters 512-514 are further capable of receiving requests from the low power controller 520. It should be appreciated that while system 500 is described having two bus masters, bus masters 540 and 530, other bus masters may be included and the number of supported bus masters can be altered without departing from the spirit and scope of the present invention.
The low power controller 520 initiates low power operation within system 500. In one embodiment, subsystems of system 500 are capable of asserting a signal or a register value associated with low power controller 520 to indicate when a low power mode is to be initiated. When the low power controller 520 identifies that the low power mode is to be initiated, the low power controller 520 provides bus requests to each of the arbiters 512-514. The bus aititers 512-514 return bus grant signals, BUS_GRANT 1, BUS_GRANT 2 and BUS_GRANT 3, to the low power controller 520 when the bus requests from the low power controller 520 have been accepted. The bus grant requests indicate the respective multiplexed system buses 551-553, associated with the arbiters 512-514, have processed all pending requests. In one embodiment, the low power controller 520 waits until bus grants from all of the arbiters 512-514 have been received before initiating low power operation. Once all the bus grants have been received, low power controller 520 de-asserts clock enable signals provided to bus masters 530 and 540, and may assert a low power state indicator POWER_MODE to portions of system 500. Accordingly, the low power controller 520 is able to disable bus masters 530 and 540 only when all of the bus accesses associated with the bus masters 530 and 540 and the multiplexed system buses 551-553 have been processed, allowing system 500 to remain in a recoverable state for a initiating a low power mode of operation. Alternate embodiments of the present invention may disable clocking to bus masters 530 and 540 as individual bus grants from arbiters 512-514 are received, after determining that bus master 530 or 540 has completed all outstanding transfers.
Referring now to FIG. 10, a timing diagram illustrating specific operation of one embodiment of the present invention is shown, hi the illustrated embodiment, two bus masters, a CPU and a secondary, alternate bus master (ALT), are present in a system, such as low power device 100 (FIG. 1). The CPU asserts abus request (CPUJBUSREQ) when it desires to obtain ownership of a bus, such as system bus 179 (FIG. 1). A bus arbiter, such as bus arbiter 110 (FIG. 1), asserts abus grant signal (CPU_BUSGRANT) to grant ownership of the bus to the CPU. The ALT bus master asserts a bus request (ALT_BUSREQ) when it desires to obtain ownership of the bus. The bus arbiter asserts a bus grant signal (ALTJBUS GRANT) to grant ownership of the bus to ALT bus master.
The CPU will perform a read access to address location ADDR A, followed by a write access to address location ADDR B. ALT will perform a write access to address location
ADDR X, followed by a read access to address location ADDR Y.
The bus arbiter determines the relative order of the CPU and ALT accesses to the shared system bus by means of a bus arbitration priority mechanism. Multiple priority schemes are available and are well known in the art, such as first-come first-serve, round- robin, and fixed priority. The current invention does not rely on a particular scheme for priority ordering between the CPU and ALT bus masters, thus for this example a simple fixed scheme is illustrated in which ALT has a higher priority than CPU.
According to one embodiment of the present invention, an additional request input, LPWR_BUSREQ, is provided to the bus arbiter by a low power mode controller (LPMC), such as low power control module 150 (FIG. 1). The bus arbiter provides an additional output bus grant signal, LPWR_BUSGNT, to the low power mode controller. The low power mode controller provides a set of output signals, POWERJVIODE, to indicate a current operating mode of the system. Clock enable signals are illustrated, which control clock generation to CPU and ALT masters. Low power operation is supported by negating a CPU clock enable signal, CPU_CLKEN, to the CPU, and an alternate clock enable signal, ALT_CLKEN, to ALT master. Negation of these signals causes clock generation for these units to be suspended, thus reducing power consumption. In the illustrated example, low power mode of operation will be initiated between the accesses performed by the CPU and ALT masters.
In clock cycle 1, the system is operating in a normal mode of operation as indicated by power mode signals POWER_MODE indicating a normal mode. Beginning in clock cycle 1, CPU asserts CPU_BUSREQ, indicating it desired ownership of the system bus, asserts a CPU TREQ signal to indicate it is starting a transfer, and drives the CPU address line, CPU_ADDR, with ADDR A, corresponding to the desired access location. A CPU_WRITE signal is negated, indicating the access is a read. Since the ALT master is not requesting bus ownership in cycle 1, the bus arbiter grants bus ownership to CPU and asserts CPU_BUSGNT in cycle 1. The bus arbiter selects CPU_ADDR and CPU_WRITE to be driven onto system bus signals HADDR and HWRITE respectively by means of control signal ADDR_SEL. A system bus transfer request, HTREQ, is asserted, indicating a transfer is being requested on the system bus. Since no other access is outstanding, the transfer begins, and the address phase of the transfer completes at the end of cycle 1. The data phase of the transfer to location ADDR A begins in cycle 2, and an HBUSY signal is asserted to indicate the system data buses are busy. In the example shown, separate read and write data buses are illustrated, although in alternate embodiments, a single bi-directional data bus may be used.
A system read data bus HRDATA is driven by the system, or device, corresponding to address location ADDR A in cycle 2, with the data corresponding to ADDR A. The bus arbiter has driven the DATA_SEL signal to indicate the data phase belongs to the CPU. Data from HRDATA is provided to the CPU by way of a CPUJ DATA signal. A responding device causes the assertion of system bus ready signal HREAD Y to indicate the requested data has been provided. At the end of cycle 2, the data phase of the access to location ADDR A has completed, and CPU has latched the read data internally. During cycle 2, CPU continues to assert CPUJ3USREQ, and CPU has requested a subsequent access to location ADDR B, has driven ADDR B onto the CPU_ADDR signals, and has asserted CPU_WRITE to indicate the requested access is a write cycle. Also during cycle 2, ALT master has asserted ALTJBUSREQ to indicate that it desires ownership of the system bus, and has asserted ALT_TREQ and driven ALT_ADDR with the value ADDR X, indicating it is requesting an access to be performed to location ADDR X. An ALT_WRITE signal is also asserted, indicating that the requested access is a write. The bus arbiter receives CPUJ3USREQ and ALTJ3USREQ, and determines that ALT master is to be granted ownership of the system bus. The bus arbiter negates CPU_BUSGNT, asserts ALT_BUSGNT, and changes ADDR_SEL signal to select the ALT_ADDR and ALT_WRITE signals to be driven onto system bus signals HADDR and HWRITE respectively, thus giving bus ownership to ALT master for the address phase that starts in cycle 2, and withholds address bus ownership from the CPU. The HTREQ signal remains asserted in cycle 2, indicating another system bus transfer is being requested. The bus master drives DATA_SEL signal to select the CPU for the current data phase, since this data phase is associated with the previous address phase, during which the CPU was granted bus ownership.
During cycle 3, the data phase corresponding to location ADDR X occurs, and ALT master drives ALT_WRDATA with DATA X. The bus arbiter drives the DATA_SEL signal to select ALT_WRDATA to be coupled to system write data bus HWRDATA, thus providing DATA X to the accessed device for writing. HBUSY remains asserted during cycle 3, indicating system data buses are busy. An accessed device corresponding to address location ADDR X causes assertion of system bus ready signal HREADY to indicate the write data is being accepted. At the end of cycle 3, the data phase of the access to location ADDR X completes. During cycle 3, CPU continues to drive CPU. BUSREQ, CPU_TREQ, and ADDR B on CPU_ADDR to indicate a cycle is still being requested, as well as system bus ownership. ALT master also continues to drive ALT_BUSREQ, ALT_TREQ, and drives ADDR Y on ALT_ADDR bus to indicate a cycle is still being requested, as well as system bus ownership. The ALT_WR1TE signal is negated, indicating ALT master access to ADDR Y is a read cycle. In cycle 3, the low power controller asserts LPWR_BUSREQ to Bus Arbiter, in preparation for entering a low power mode, hi accordance with one embodiment of the present invention, this request is assigned the highest priority of all potential requests. Assertion of LPWR_BUSREQ causes the arbiter to negate bus grant to all other requestors, thus in cycle 3, CPU_BUSGNT and ALT_BUSGNT are negated, indicating neither the CPU or ALT master is granted bus ownership. Since no address phase is initiated in cycle 3 due to the removal of bus ownership from requesting bus masters, system bus transfer request signal HTREQ is negated in cycle 3. The system address bus, HADDR, is not considered valid since no transfer is being requested, although the bus arbiter may select either ALT_ADDR or CPU_ADDR to be driven by default. Since the system data buses are busy in cycle 3 with the data phase of the access to location ADDR X, HBUSY remains asserted.
In cycle 4, HBUSY negates, indicating that the system data buses are now idle.
At this point, the bus arbiter asserts LPWR_GNT signal to the low power controller, indicating that system bus activity has reached a quiescent state, and thus it is now safe to enter a low power mode of operation. The clock enable signals, CPU_CLKEN and ALT_CLKEN, are subsequently negated in cycle 4 to cause further clocking of CPU and ALT master to be suspended, and thereby causing system power consumption to be minimized, h cycle 5, the low power controller changes the POWER_MODE signals to indicate a low power SLEEP state has been entered. The low power SLEEP state remains in effect while Low Power Mode controller continues to assert LPWR_BUSREQ, and CPU_CLKEN and ALT_CLKEN remain negated to minimize system power consumption.
Once system events dictate a return to normal operating mode, the low power controller will negate LPWR_BUSREQ to the bus arbiter, hi FIG. 10, this occurs during clock cycle N. When LPWR_BUSREQ is negated, the bus arbiter negates LPWR_BUSGNT, and arbitration between CPU and ALT master is resumed. Based on arbitration priorities, the bus arbiter grants system bus ownership to ALT master in cycle N, and drives ADDR_SEL correspondingly, thus system bus HADDR is driven with ADDR Y, and HWRITE is negated. HTREQ is asserted in cycle N, indicating a new system bus transfer is being requested. During cycle N and N+ 1 , CPU continues to drive CPU_BUSREQ, CPU_TREQ, and ADDR B on CPU_ADDR to indicate a cycle is still being requested as well as system bus ownership. In cycle N+1, ALT master negates ALT_BUSREQ and ALT_TREQ, indicating ownership of the system bus is no longer desired, and no transfer is being requested. The bus arbiter negates ALT_BUSGNT and asserts CPU_BUSGNT to hand system bus ownership to CPU. The bus arbiter drives ADDR_SEL signal to couple CPU_ADDR and CPU_WRITE signals to HADDR and HWRITE respectively. HADDR is driven with the value ADDR B, and HWRITE is asserted, indicating the requested access by the CPU is a write cycle.
During cycle N+1, HBUSY is asserted to indicate that the system data buses are busy with a data phase. During cycle N+1, read data is returned by the device corresponding to address location ADDR Y by way of system read data bus HRDATA, and causes assertion of system bus ready signal HREADY to indicate the read data is being provided, and the bus arbiter drives DATA_SEL to indicate that this data phase is for ALT master. ALT master latches returning read DATA Y in cycle N+1, and at the end of cycle N+1, the data phase of the access to location ADDR Y completes.
During Cycle N+2, the bus arbiter drives DATA_SEL to cause write data provided on CPU WRDATA signals to be coupled to system bus write data signals HWRDATA. HBUSY remains asserted during cycle N+2 to indicate the system data buses are busy. The accessed device corresponding to ADDR B causes assertion of system bus ready signal HREADY to indicate the write data is being accepted. At the end of cycle N+2, the data phase of the access to location ADDR B completes. CPU negates CPU TREQ and CPU_BUSREQ to indicate that no further transfer is being requested, and system bus ownership is no longer desired. During cycle N+3, HBUSY is negated, indicating system data buses are idle.
Other examples of bus arbitration operation and system bus handoff are well known in the art, and the example given is not meant to limit the scope of the current invention to the exact sequence or protocols shown. By acting as an alternate bus master with regard to bus arbitration, the low power controller can ensure that a transition into low power modes is effected at an appropriate boundary, and that outstanding system bus accesses have terminated prior to enabling low power modes and performing clock gating of the CPU and alternate master logic.
The example of low power arbitration operation shown in FIG. 10 may be extended to a system in which multiple system buses are present, such as system 500 (FIG.9). In such an environment, the low power controller, such as low power controller 520 (FIG. 5), will request ownership of all system buses. As current bus activity completes, the low power controller will be eventually granted ownership of all system buses. This process may occur one-by-one, or may occur simultaneously, or in any combination. Once ownership of all system buses is complete, the low power controller may then force the system into a low power mode. Alternatively, the low power controller may place blocks, units, or elements associated with a given system bus in a low power mode as soon as ownership of that particular bus has been granted to the low power controller. If a particular block or unit is associated with multiple system buses, low power mode entry for that block will be delayed until it can be determined that the block is either idle, or has reached a bus cycle boundary, such that no outstanding bus access exists for that block or unit.
Referring now to FIG. 11, a timing diagram illustrating signal timing associated with another embodiment of the present invention is shown. In the illustrated embodiment, three system buses are present, and are interconnected to two bus masters, the CPU and ALT master. For the purposes of this example, CPU will perform a read access to address location ADDR A, followed by a write access to address location ADDR B. ALT will perform a write access to address location ADDR X, followed by a read access to address location ADDR Y. Bus arbiters associated with each system bus determine the relative order of the CPU and ALT accesses to the respective system bus by means of a bus arbitration priority mechanism. Multiple priority schemes are available and are well known in the art such as first-come first-serve, round-robin, and fixed priority. The current invention does not rely on a particular scheme for priori ty ordering between CPU and ALT master, thus for this example a simple fixed scheme is illustrated in which ALT has a higher priority than CPU. Alternate embodiments may incorporate different priority schemes, and may incorporate differing schemes for each particular system bus.
In the illustrated example, CPU and ALT master are interconnected to system buses 1 , 2, and 3 by means of a fully interconnected crossbar switch, such as crossbar switch 510 (FIG. 9). At each system bus output of the switch, control logic receives CPU signals CPU TREQ and CPU_ADDR, as well as ALT master signals ALT TREQ and ALT_ADDR. In one embodiment of the present invention, each system bus corresponds to a particular portion of the system address space. By decoding a portion of CPU_ADDR and ALT_ADDR, each individual system bus connection determines whether the currently requested access by CPU or ALT master is targeted to that particular system bus. This decoding arrangement provides for "implicit" bus requests by CPU and ALT master, since each transfer request targets one of the multiple system bus connection, based on the particular access address. By decoding a portion of the access address from each bus master, a determination that a request for a particular system bus is being made is easily accomplished. When both bus masters present an access request which corresponds to the same system bus port in the same cycle, arbitration between the requests is performed by each system bus arbiter. Alternate embodiments of the present invention may provide explicit bus requests from each bus master to each of the multiple system bus arbiters. access to address location ADDR A, followed by a write access to address location ADDR B. ALT will perform a write access to address location ADDR X, followed by a read access to address location ADDR Y. Bus arbiters associated with each system bus determine the relative order of the CPU and ALT accesses to the respective system bus by means of a bus arbitration priority mechanism. Multiple priority schemes are available and are well known in the art such as first-come first-serve, round-robin, and fixed priority. The current invention does not rely on a particular scheme for priority ordering between CPU and ALT master, thus for this example a simple fixed scheme is illustrated in which ALT has a higher priority than CPU. Alternate embodiments may incorporate different priority schemes, and may incorporate differing schemes for each particular system bus.
In the illustrated example, CPU and ALT master are interconnected to system buses 1, 2, and 3 by means of a fully interconnected crossbar switch, such as crossbar switch 510 (FIG. 9). At each system bus output of the switch, control logic receives CPU signals CPUJTREQ and CPU_ADDR, as well as ALT master signals ALT_TREQ and ALT_ADDR. In one embodiment of the present invention, each system bus corresponds to a particular portion of the system address space. By decoding a portion of CPU_ADDR and ALT_ADDR, each individual system bus connection determines whether the currently requested access by CPU or ALT master is targeted to that particular system bus. This decoding arrangement provides for "implicit" bus requests by CPU and ALT master, since each transfer request targets one of the multiple system bus connection, based on the particular access address. By decoding a portion of the access address from each bus master, a determination that a request for a particular system bus is being made is easily accomplished. When both bus masters present an access request which corresponds to the same system bus port in the same cycle, arbitration between the requests is performed by each system bus arbiter. Alternate embodiments of the present invention may provide explicit bus requests from each bus master to each of the multiple system bus arbiters.
27 According to one embodiment of the present invention, an additional explicit request input, LPWR_BUSREQ, is provided to each of the multiple system bus arbiters by a low power mode controller. Each Bus Arbiter provides an additional bus grant output signal to the low power mode controller, hi the illustrated example, three signals are provided; LPWR_BUSGNT1, LPWR_BUSGNT2, and LPWR_BUSGNT3 corresponding to system buses 1, 2, and 3 respectively. The low power mode controller provides a set of output signals POWER_MODE to indicate a current operating mode of the system. Clock enable signals are illustrated, which control clock generation to the two bus masters, CPU and ALT master. Low power operation is supported by negating clock enable signals, CPU XKEN to the CPU, and ALT_CLKEN to ALT master. Negation of these signals causes clock generation for these units to be suspended, thus reducing power consumption. In the illustrated example, a low power mode of operation will be initiated between the accesses performed by CPU and ALT master.
In clock cycle 1, the system is operating in a normal mode of operation as indicated by power mode signals POWER_MODE signaling a normal mode of operation.
Beginning in clock cycle 1, CPU asserts CPU_TREQ to indicate it is requesting a transfer, and drives CPU_ADDR with ADDR A, corresponding to the desired access location. CPU_WRTTE is negated, indicating the access is a read. In this example,
ADDR A corresponds to a location associated with system bus 1. Also in cycle 1, ALT master asserts ALT_TREQ to indicate it is requesting a transfer, and drives ALT_ADDR with ADDR X, corresponding to the desired access location. ALT_WRιTE is asserted, indicating the access is a write. In this example, ADDR X corresponds to a location associated with system bus 2. Since ALT master is not requesting a bus transfer to system bus 1 in cycle 1, system bus arbiter 1 grants bus ownership to CPU and selects CPU_ADDR and CPU_WR1TE to be driven onto system bus 1 signals HADDR 1 and
HWRΓΓEI. System bus 1 transfer request HTREQ 1 is asserted, indicating a transfer is being requested on system bus 1. Since no other access is outstanding, the transfer begins, and the address phase of the transfer completes at the end of cycle 1. Also in cycle 1, system bus arbiter 2 grants bus ownership to ALT master and selects
28 ALT_ADDR and ALT_WRITE to be driven onto system bus 2 signals HADDR2 and HWRITE2. System bus 2 transfer request HTREQ2 is asserted, indicating a transfer is being requested on system bus 2. Since no other access is outstanding, the transfer begins, and the address phase of the transfer completes at the end of cycle 1. Note that since the accesses requested by CPU and ALT master were to addresses that correspond to different system buses, these accesses are performed concurrently.
The data phase of the transfer to location ADDR A on system bus 1 begins in cycle 2, and HBUSY 1 is asserted to indicate the system data buses 1 are busy. The data phase of the transfer to location ADDR X on system bus 2 begins in cycle 2, and HBUS Y2 is asserted to indicate the system data buses 2 are busy. In the example shown, separate read and write data buses are illustrated, although in alternate embodiments, a single bi-directional data bus may be used. System read data bus 1 HRDATA1 is driven by the device corresponding to address location ADDR A in cycle 2, with the data corresponding to ADDR A. Data from HRDATA1 is provided to the CPU by way of CPU_RD ATA. The responding device causes the assertion of system bus 1 ready signal HREADY1 to indicate the requested data has been provided, and CPU_READY is subsequently asserted.
At the end of cycle 2, the data phase of the access to location ADDR A has completed, and CPU has latched the read data internally. During cycle 2, system write data bus 2 HWRDATA2 is driven with the write data from ALT master's ALT WRDATA bus corresponding to address location ADDR X. For this transfer, the responding device is busy and cannot complete the write transfer in cycle 2, thus the responding device causes the negation of system bus 2 ready signal HREADY2 to indicate the write data has not been accepted. At the end of cycle 2, the data phase of the access to location ADDR X will be extended since it has not completed. ALT_READY is negated to signal ALT master that the data phase must be extended. During cycle 2, CPU continues to assert CPU_TREQ to request a subsequent access to location ADDR B, drives ADDR B onto the CPU_ADDR signals, and has asserted CPU_WRTTE to indicate
29 the requested access is a write cycle. Also during cycle 2, ALT master has asserted ALT_TREQ and driven ALT_ADDR with the value ADDR Y, indicating it is requesting another access to be performed to location ADDR Y. ALT_WR1TE is negated, indicating that the requested access is a read.
During cycles 1 and 2, system bus 3 remains idle since no access has been requested to a location which corresponds to it., as indicated by HBUSY3 negated. It should be noted that not all system bus 3 signals are shown, since in this example, no access is requested to it. hi cycle 2, the low power controller desires to place the system in a low power mode, and asserts LPWR_BUSREQ to system bus arbiters 1, 2, and 3. System Bus Arbiter 3 receives LPWR_BUSREQ and asserts LPWR_BUSGNT3 in cycle 2 since system bus 3 is currently idle. Since a low power bus request is pending, system buses' 1 and 2 transfer request signals HTREQ 1 and HTREQ2 are negated in cycle 2 by the respective system bus controllers to prevent new transfers from being initiated.
In cycle 3, system bus 1 signal HBUSY 1 is negated, indicating system bus 1 is now idle, and system bus l's bus arbiter asserts LPWR_BUSGNT1 to the low power controller, since a bus cycle boundary has been reached. Also in cycle 3, system bus 2's
HREADY2 signal is asserted by the device corresponding to location ADDR X, indicating that the write cycle initiated in cycle 1 is now completing. In cycle 4, system bus 2 becomes idle and the HBUSY2 signal is negated. Since no bus transaction is in progress, system bus 2's bus arbiter asserts LPWR_BUSGNT2 to the low power controller. At this point, the low power controller has obtained bus ownership for all system buses, indicating that system bus activity has reached a quiescent state, and thus it is now safe to enter a low power mode of operation. Clock enable signals, CPU_CLKEN and ALT_CLKEN, are subsequently negated in cycle 4 to cause further clocking of CPU and ALT master to be suspended, thereby causing system power consumption to be minimized, hi cycle 5, the low power controller changes the POWERJVIODE signals to indicate a low power SLEEP state has been entered. The low power SLEEP state remains in effect while the low power mode controller continues to assert LPWR_BUSREQ, and
30 CPU_CLKEN and ALT_CLKEN remain negated to minimize system power consumption.
Once system events dictate a return to normal operating mode, the low power controller will negate LPWRJBUSREQ to all system bus arbiters. In FIG. 11 , this occurs during clock cycle N. When LPWR_BUSREQ is negated, system bus arbiters 1 , 2, and 3 negate LPWR_BUSGNT1, LPWR_BUSGNT2, and LPWR_BUSGNT3 respectively, and arbitration between CPU and ALT master is resumed. Both CPU and ALT master have pending access requests (CPU TREQ and ALT TREQ are both asserted). CPU is requesting a write to location ADDR B that corresponds to system bus 2, and ALT master is requesting a read access to ADDR Y that corresponds to system bus 1. Since no conflict exists for access to system buses 1 and 2, both accesses are initiated in cycle N. The remainder of the transfers are shown in cycles N+1 through N+3, and follow the previously described protocols.
Other examples of bus arbitration operation and system bus handoff are well known in the art, and the example given is not meant to limit the scope of the current invention to the exact sequence or protocols shown. By acting as an alternate bus master with regard to bus arbitration, the low power controller can ensure that a transition into low power modes is effected at an appropriate boundary, and that outstanding system bus accesses on multiple system buses have terminated prior to enabling low power modes and performing clock gating of CPU and alternate master logic. Although clock gating in FIG. 11 was shown occurring after all system buses were idle, alternate embodiments may place a subset of system elements in a clock-gated or other low power state as each system bus reaches a quiescent state.
The systems described herein may be part of an information handling system. The term "information handling system" refers to any system that is capable of processing information or transferring information from one source to another. An information handling system may be a single device, such as a computer, a hand held computing
31 device, such as a personal digital assistant (PDA), a cable set-top box, an Internet capable device, such as a cellular phone, and the like. Alternatively, an information handling system may refer to a collection of such devices. It should be appreciated that the system described herein has the advantage of identifying a recoverable state to initiate a low power mode of operation in a low power device.
In the preceding detailed description of the embodiments, reference has been made to the accompanying drawings which form a part thereof, and in which is shown by way of illustration specific embodiments in which the disclosure may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the disclosure, and it is to be understood that other embodiments may be utilized and that logical, mechanical and electrical changes may be made without departing from the spirit or scope of the disclosure. To avoid detail not necessary to enable those skilled in the art to practice the disclosure, the description may omit certain information known to those skilled in the art. Furthermore, many other varied embodiments that incorporate the teachings of the disclosure may be easily constructed by those skilled in the art. Accordingly, the present disclosure is not intended to be limited to the specific form set forth herein, but on the contrary, it is intended to cover such alternatives, modifications, and equivalents, as can be reasonably included within the spirit and scope of the disclosure. The preceding detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present disclosure is defined only by the appended claims.
32

Claims

WHAT IS CLAIMED IS:
1. A method comprising the steps of: determining to enter a low power mode; providing a bus request to an arbiter (110, 310, or 410) in response to the determination to enter the low power mode; and disabling a first clock provided to at least a portion of a first bus master (120 or 130) associated with the arbiter in response to the bus request.
2. The method as in Claim 1, further including a step of disabling a second clock provided to at least a portion of a second bus master associated with the arbiter in response to the bus request.
3. The method as in Claim 1, further including a step of receiving a bus grant signal associated with the bus request.
4. The method as in Claim 3, wherein the step of disabling the first clock is performed in response to the step of receiving the bus grant signal.
5. The method as in Claim 3, further including a step of reducing power to a first portion of a system, in addition to the first bus master, in response to the step of receiving the bus grant signal.
6. A system comprising: a register (152, 352, or 452) to indicate a power mode; an arbiter (110, 310, or 410) coupled to the register to monitor the power mode and to prevent processing bus requests associated with at least one of a first bus master and a second bus master when a lower power mode is indicated, wherein the lower power mode is different than a nominal power mode.
33
7. The system as in Claim 6, wherein said arbiter is to process a low power bus request when the lower power mode is identified and prevents processing at least one of said bus master bus requests after a low power bus request is generated.
8. The system as in Claim 6, wherein said arbiter disables clock signals provided to at least a portion of the at least one of the first bus master and the second bus masters.
9. A system comprising: a plurality of switched system busses (179); a first bus master (120 or 130); a second bus master (120 or 130); a plurality of arbiters (110, 310, or 410) one associated with each one of the plurality of switched system busses; a control module (150, 350, or 450) to: identify a power mode; provide a bus request to a subset of the plurality of arbiters when the power mode is lower than a nominal power mode; receive bus grants associated with the bus request from said subset of the plurality of arbiters; disable clocks associated with at least one of the first bus master or the second bus master.
10. The system as in Claim 9, wherein said control module is further used to provide a signal to indicate a low power mode based on a reception of said bus grants.
34
PCT/US2003/007107 2002-03-08 2003-03-05 Low power system and method for a data processing system WO2003077094A2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AU2003218021A AU2003218021A1 (en) 2002-03-08 2003-03-05 Low power system and method for a data processing system
JP2003575244A JP2006508409A (en) 2002-03-08 2003-03-05 System and method for reducing power consumption of data processing system
KR10-2004-7014095A KR20040091705A (en) 2002-03-08 2003-03-05 Low power system and method for a data processing system
EP03714002A EP1483652A2 (en) 2002-03-08 2003-03-05 Low power system and method for a data processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/094,053 2002-03-08
US10/094,053 US7155618B2 (en) 2002-03-08 2002-03-08 Low power system and method for a data processing system

Publications (2)

Publication Number Publication Date
WO2003077094A2 true WO2003077094A2 (en) 2003-09-18
WO2003077094A3 WO2003077094A3 (en) 2004-05-21

Family

ID=27804245

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2003/007107 WO2003077094A2 (en) 2002-03-08 2003-03-05 Low power system and method for a data processing system

Country Status (8)

Country Link
US (1) US7155618B2 (en)
EP (1) EP1483652A2 (en)
JP (1) JP2006508409A (en)
KR (1) KR20040091705A (en)
CN (1) CN1324429C (en)
AU (1) AU2003218021A1 (en)
TW (1) TWI295781B (en)
WO (1) WO2003077094A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100630693B1 (en) * 2004-07-28 2006-10-02 삼성전자주식회사 Bus arbitration system and method improving power consumption
CN100456211C (en) * 2007-03-19 2009-01-28 中国人民解放军国防科学技术大学 Request-based low-power consumption command memory
US7849342B2 (en) 2007-05-01 2010-12-07 Nvidia Corporation Method and system for implementing generalized system stutter

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039736B2 (en) * 2003-01-15 2006-05-02 Hewlett-Packard Development Company, L.P. Systems and methods for accessing bus-mastered system resources
US7000131B2 (en) * 2003-11-14 2006-02-14 Via Technologies, Inc. Apparatus and method for assuming mastership of a bus
US7337338B2 (en) * 2004-01-16 2008-02-26 Dell Products L.P. Information handling system capable of operation in reduced power states
US7181188B2 (en) * 2004-03-23 2007-02-20 Freescale Semiconductor, Inc. Method and apparatus for entering a low power mode
KR101145542B1 (en) * 2004-10-27 2012-05-15 엘지전자 주식회사 Apparatus and method for controling Power Management
US20060149977A1 (en) * 2004-12-31 2006-07-06 Barnes Cooper Power managing point-to-point AC coupled peripheral device
TW200700973A (en) * 2005-06-28 2007-01-01 Via Tech Inc Power management method for connecting with central processing unit of a plurality of host bridges
JP2007058279A (en) * 2005-08-22 2007-03-08 Oki Electric Ind Co Ltd Power-down shifting system
US7472299B2 (en) * 2005-09-30 2008-12-30 Intel Corporation Low power arbiters in interconnection routers
TW200721013A (en) * 2005-11-25 2007-06-01 Via Tech Inc Power source management apparatus of multi-processor system and method thereof
WO2008017904A1 (en) * 2006-08-08 2008-02-14 Freescale Semiconductor, Inc. Real time clock monitoring method and system
US8255708B1 (en) * 2007-08-10 2012-08-28 Marvell International Ltd. Apparatuses and methods for power saving in USB devices
JP2009122922A (en) * 2007-11-14 2009-06-04 Panasonic Corp Data processor
JP2010232895A (en) * 2009-03-26 2010-10-14 Fuji Xerox Co Ltd Communication controller and information processor
US8578384B2 (en) * 2009-10-28 2013-11-05 Freescale Semiconductor, Inc. Method and apparatus for activating system components
JP5775398B2 (en) * 2011-08-25 2015-09-09 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit device
US20130117593A1 (en) * 2011-11-07 2013-05-09 Qualcomm Incorporated Low Latency Clock Gating Scheme for Power Reduction in Bus Interconnects
US8941427B2 (en) 2011-12-15 2015-01-27 Freescale Semiconductor, Inc. Configurable flip-flop
US8587356B2 (en) 2011-12-15 2013-11-19 Freescale Semiconductor, Inc. Recoverable and reconfigurable pipeline structure for state-retention power gating
JP5805546B2 (en) * 2012-01-13 2015-11-04 ルネサスエレクトロニクス株式会社 Semiconductor device
GB201211340D0 (en) * 2012-06-26 2012-08-08 Nordic Semiconductor Asa Control of semiconductor devices
DE112013003581T5 (en) * 2012-07-17 2015-04-23 Milwaukee Electric Tool Corp. Universal protocol for power tools
JP6056363B2 (en) * 2012-10-12 2017-01-11 株式会社ソシオネクスト Processing device and control method of processing device
US9477627B2 (en) * 2012-12-26 2016-10-25 Intel Corporation Interconnect to communicate information uni-directionally
US9000805B2 (en) * 2013-01-29 2015-04-07 Broadcom Corporation Resonant inductor coupling clock distribution
JP6774160B2 (en) * 2013-12-06 2020-10-21 キヤノン株式会社 Information processing device and data transfer device control method
EP3648648A4 (en) 2017-07-05 2021-03-31 Milwaukee Electric Tool Corporation Adapters for communication between power tools
CA3050762A1 (en) 2018-07-31 2020-01-31 Tti (Macao Commercial Offshore) Limited Systems and methods for remote power tool device control
CN114925004B (en) * 2022-07-19 2022-10-21 中科声龙科技发展(北京)有限公司 Polling arbitrator and its polling arbitrating method and chip

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0644475A2 (en) * 1993-09-22 1995-03-22 Advanced Micro Devices, Inc. Apparatus and method for controlling a peripheral bus clock signal
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
US6070215A (en) * 1998-03-13 2000-05-30 Compaq Computer Corporation Computer system with improved transition to low power operation

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US42147A (en) * 1864-03-29 Improvement in the manufacture of bar-links
US4514728A (en) * 1980-02-25 1985-04-30 At&T Bell Laboratories Store group bus allocation system
US4907150A (en) * 1986-01-17 1990-03-06 International Business Machines Corporation Apparatus and method for suspending and resuming software applications on a computer
AU6031390A (en) * 1989-06-30 1991-01-17 Poqet Computer Corporation Computer power management system
US6163848A (en) * 1993-09-22 2000-12-19 Advanced Micro Devices, Inc. System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus
US5625807A (en) * 1994-09-19 1997-04-29 Advanced Micro Devices System and method for enabling and disabling a clock run function to control a peripheral bus clock signal
US6070275A (en) * 1994-11-04 2000-06-06 Med-Assist Technology, Inc. Portable urine holding system
KR0135904B1 (en) * 1994-12-30 1998-06-15 김광호 Power management system
US5790609A (en) * 1996-11-04 1998-08-04 Texas Instruments Incorporated Apparatus for cleanly switching between various clock sources in a data processing system
US6769046B2 (en) * 2000-02-14 2004-07-27 Palmchip Corporation System-resource router
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0644475A2 (en) * 1993-09-22 1995-03-22 Advanced Micro Devices, Inc. Apparatus and method for controlling a peripheral bus clock signal
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
US6070215A (en) * 1998-03-13 2000-05-30 Compaq Computer Corporation Computer system with improved transition to low power operation

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100630693B1 (en) * 2004-07-28 2006-10-02 삼성전자주식회사 Bus arbitration system and method improving power consumption
CN100456211C (en) * 2007-03-19 2009-01-28 中国人民解放军国防科学技术大学 Request-based low-power consumption command memory
US7849342B2 (en) 2007-05-01 2010-12-07 Nvidia Corporation Method and system for implementing generalized system stutter

Also Published As

Publication number Publication date
AU2003218021A1 (en) 2003-09-22
EP1483652A2 (en) 2004-12-08
US20030172310A1 (en) 2003-09-11
WO2003077094A3 (en) 2004-05-21
US7155618B2 (en) 2006-12-26
JP2006508409A (en) 2006-03-09
TW200400435A (en) 2004-01-01
KR20040091705A (en) 2004-10-28
CN1324429C (en) 2007-07-04
CN1643481A (en) 2005-07-20
TWI295781B (en) 2008-04-11

Similar Documents

Publication Publication Date Title
US7155618B2 (en) Low power system and method for a data processing system
US5600839A (en) System and method for controlling assertion of a peripheral bus clock signal through a slave device
US6560712B1 (en) Bus arbitration in low power system
US5628019A (en) System and method for controlling a peripheral bus clock signal during a reduced power mode
US5625807A (en) System and method for enabling and disabling a clock run function to control a peripheral bus clock signal
EP1369767B1 (en) Method and apparatus for adaptive power management of memory
US7093153B1 (en) Method and apparatus for lowering bus clock frequency in a complex integrated data processing system
US20050262366A1 (en) Method and apparatus for improving bus master performance
US5943500A (en) Long latency interrupt handling and input/output write posting
US6163848A (en) System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus
US20070038829A1 (en) Wait aware memory arbiter
WO2010080499A2 (en) Optimization of application power consumption and performance in an integrated system on a chip
US6272580B1 (en) Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system
EP0820018A2 (en) Circuit for handling distributed arbitration in a computer system having multiple arbiters
WO1998044405A1 (en) Automatic transitioning between acpi c3 and c2 states
US20090006696A1 (en) Computer system, processor device, and method for controlling computer system
US6247087B1 (en) Bus system for shadowing registers
EP0644475B1 (en) Apparatus and method for controlling a peripheral bus clock signal
JP2012084123A (en) Memory control device and memory control method
JP3402049B2 (en) Information processing apparatus and information processing apparatus control method
JP2002049580A (en) Bus managing device, bus use request transmitter, method of bus managing, and bus use request transmission method
JP3713488B2 (en) Computer system and operation control method thereof
US7124229B2 (en) Method and apparatus for improved performance for priority agent requests when symmetric agent bus parking is enabled

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SC SD SE SG SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

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

Ref document number: 2003575244

Country of ref document: JP

Ref document number: 1020047014095

Country of ref document: KR

Ref document number: 1020047014059

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2003714002

Country of ref document: EP

Ref document number: 20038066920

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020047014095

Country of ref document: KR

WWR Wipo information: refused in national office

Ref document number: 1020047014059

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1020047014059

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003714002

Country of ref document: EP