US6115823A - System and method for task performance based dynamic distributed power management in a computer system and design method therefor - Google Patents
System and method for task performance based dynamic distributed power management in a computer system and design method therefor Download PDFInfo
- Publication number
- US6115823A US6115823A US09/376,271 US37627199A US6115823A US 6115823 A US6115823 A US 6115823A US 37627199 A US37627199 A US 37627199A US 6115823 A US6115823 A US 6115823A
- Authority
- US
- United States
- Prior art keywords
- bus
- clock
- mba
- signal
- module
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3259—Power saving in cursor control device, e.g. mouse, joystick, trackball
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3271—Power saving in keyboard
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- This invention pertains generally to the field of computer system power management, and more particularly to a distributed power management system and method wherein power management functions are delegated to individual modular subsystems or functional components within the overall computer system.
- Power management has been, and continues to be, a major concern in the development and implementation of battery powered or battery operated microprocessor based systems, such as laptop computers, notebook computers, palmtop computers, personal data assistants (PDAs), hand-held communication devices, wireless telephones, and any other devices incorporating microprocessors in a battery-powered unit, including units that are occasionally battery powered, but that also operate from a power line (AC) source.
- the need for power management is particularly acute for battery-operated single-chip microcomputer systems, where the desirability or requirement for overall reduction in physical size (and/or weight) also imposes severe limits on the size and capacity of the battery system, and yet where extending unit operating time without sacrificing performance is a competing requirement.
- Conventional methods for power managing these types of systems have typically been based on a centralized power management unit architecture.
- an activity monitor 21 monitors accesses to specific system resources, such as access to serial ports 31, parallel ports 32, a display subsystem controller 33, memory controller 34, keyboard controller 35, and like resources.
- activity monitor 21 may be implemented in hardware or software, and in either case may be configured (such as by hard wiring, firmware, or software) to accommodate specification of a particular system resource address range or ranges to be monitored.
- the centralized power management unit (PMU) passively watches activity on the bus concerning other system resource units.
- the occurrence of one or more pre-identified addresses or address ranges on address bus 26 is recognized by the activity monitor, which in turn operates to trigger a particular predetermined action, such as to alter the operating state or mode of one or more system devices to affect a change in the power consumption state of the system.
- the bus clock may operate at fall speed, the LCD display system may be ON, memory may be ON, and the system as a whole may be ON.
- the bus clock may be slowed or stopped, the LCD is ON, memory is ON, and the system is ON.
- the SLEEP state provides a bus clock which is either slow or stopped, as compared to the full speed bus clock, the liquid crystal display is OFF, memory remains ON, and the system as a whole remains ON and responsive.
- the bus clock is typically stopped, the liquid crystal display is OFF, memory is ON, but the system as a whole is OFF. Maintaining memory in the ON state is important for rapid resumption of processing, such as when a keyboard key is struck by a user to reinitiate input processing on the computer system.
- the bus clock is stopped and the subsystem power supply to the LCD, memory, and system are OFF.
- Activity masks 22 may also be provided, and, when present, permit control of which of the monitored system resources will generate an activity indicator when accessed.
- activity indicators are used to control transitions of the computer from one state to another, such as, for example, in the context of the exemplary system described above, a transition from SLEEP state to the DOZE state, or the ON state, in response to a user of the computer making a keyboard key entry.
- activity masks When activity masks are implemented, those resources which are to be monitored for activity are unmasked, and those resources which may be ignored and are not monitored are masked.
- Some implementations provide a unique activity mask for each power management state.
- Activity timers 23 may also be provided.
- the activity timers are typically initialized by software to specify the amount of "idle" time which may be allowed to elapse before moving to the next (typically lower) power consumption state.
- the value of the idle time may typically vary for each power state or state transition, but tends to be defined as the following order of magnitude timings: a power state transition from ON to DOZE is implemented with a first idle time of between about 1 millisecond (1 ⁇ 10 -3 seconds) and some small number of seconds, for example, from about 1 to about 30 seconds.
- the transition from a DOZE state to a SLEEP state is typically implemented with a second idle time of seconds to one or a few minutes.
- each clock cycle represents 5.0 nanoseconds (5 ⁇ 10 -9 sec), and for a system bus operating at a 100 MHZ clock, each clock cycle represents 10 nanoseconds.
- external memory access typically requires 40-60 nanoseconds, while internal memory may operate at the microprocessor clock rate. It is therefore easily appreciated that even the shortest conventional idle period of, for example 1 millisecond, is long compared to a system bus cycle (10 nanoseconds) by a factor of 10 5 .
- one activity timer or timer value, is normally allocated per power management state.
- the activity timer is reloaded or reset with the "time out" timing value programmed by software. Then, when the activity timer for a particular power management state expires, either an interrupt is generated to allow software to control the transition to the next power management state, or the transition occurs automatically by hardware control.
- Transition from a lower power consumption state to higher power consumption state may occur relatively more quickly.
- the operating state may transition directly from the SUSPEND state upon detection of a single keyboard key entry to the ON state, or such change may require a plurality of events for such transition to occur.
- the power state block 24 controls the system power management state and interfaces to the clock control logic 25.
- Clock control logic block 25 receives a clock input signal (clock -- in) at a first clock frequency (f 1 ) and controls the state of the output bus clock.
- Clock control 25 may pass the clock -- in signal through, may slow the clock to a lower frequency (f 2 ), or may stop the bus clock for the entire system during certain low power consumption power management states. State transitions can be initiated by software, or can occur automatically in hardware when an activity timer expires.
- Centralized power management architecture such as that exemplified by the system in FIG. 1, has the disadvantage that, when the system is operating in a reduced power consumption state, an access to any unmasked system resource typically causes an exit (state transition) from that reduced power state to a higher power consumption state, and, in the worst case, it transitions to a full "ON" state independent of the access required. This transition may occur for all system resources independent of any actual requirement for participation by that resource at that time.
- the computer system may need to wait unnecessarily to return to a lower power consumption or power saving state, even when access to a system resource is no longer required, or the required access cannot be made during a particular time interval due to multitasking constraints.
- a further disadvantage from such conventional systems is that system resource components receiving the bus clock continue to receive the bus clock signals at all times independent of any actual access to that resource, and that such signals are propagated to each and every component of the system. Because several hundred or several thousand gates are dynamically switching in response to the bus clock triggered transitions, independent of the actual access by the system of the resource, substantial power is consumed unnecessarily. This switching loss is particularly disadvantageous in current CMOS-based implementations where static operation has a much lower power consumption than dynamically switched operations.
- a further disadvantage of conventional systems which results in increased power consumption pertains to the structure of the bus-to-device-interface interposed between a system bus and a particular system component.
- a further disadvantage of conventional systems, particularly for software-based power management, is the delay associated with initiating access to a device which has been placed in a lower power consumption state. Once a device is placed in a reduced power consumption state, significant time delays (for example, delays on the order of tens of hundreds of micro seconds (10 -6 seconds) may be required to reconfigure the device for access.
- a unique identifier is associated with each device or resource associated with the computer, such as for example, memory, keyboard controller, mouse controller, input/output ports, and any other computer resource or peripheral.
- This unique identifier may typically be a device address or other device identifier such as a device serial number, network device address, and the like.
- Communications over a communications link such as a system or other parallel bus, serial bus, or wireless link, are monitored by each device for a predetermined time period to determine device identifiers communicated over communications link during that time period, and these identifiers (e.g. device addresses) are compared to the particular unique identifier associated or allocated to the monitoring device.
- Each device monitors the communications activity and is responsible for self-controlling its operating condition to minimize power consumption.
- Each device includes a first component which operates continuously so as to provide the monitoring functionality and a second component that operates in a low power consumption mode unless first component signals the second component that its operation is needed during that time period.
- the first component withholds a device operating input from the second component when none of the communicated identifiers match the particular device; and provide the device operating input to the second component when one of said communicated device identifiers match that particular device.
- the number of circuit components is reduced to a minimum in the first component so that the number of circuit elements which are continuously active are reduced.
- the device operating input is a clock signal operating at the bus clock frequency. Power consumption is reduced due to the reduction in the number of circuits which are actively clocked.
- the inventive structure and method provide very fine temporal control of power consumption in the computer system.
- the invention provides structure and method for a modular bus architectural (MBA) and fast modular bus architectural (FMBA) frames for System-on-a-Chip (SOC) designs including MBA/FMBA library modules that decrease design time.
- the invention provides structure and method for adjusting bus clock speed in accordance with bus activity and task performance requirements so that further control of power consumption in the system is achieved without sacrificing performance.
- the clock rate is adjusted in accordance with preassigned performance factors associated either with a functional unit or with a task type so that the task completes within a desired time without unnecessary power consumption.
- the FMBA/MBA is provided with a configurable interface that provides alternative single-edge and double-edge First-In-First-Out buffers.
- these FIFO structures permit interconnection of MBA/FMBA modules at the core logic level, MBA/FMBA block level, and chip level so that systems are readily and reliable designed and implemented with minimum redesign.
- FIG. 1 is a diagrammatic representation of portions of a conventional centralized power management system.
- FIG. 2 is a diagrammatic representation of a first embodiment of a computer system implementing a distributed power management system according to the present invention.
- FIG. 3 is a diagrammatic representation of a second embodiment of a computer system implementing a distributed power management system according to the present invention and providing additional features.
- FIG. 4 is a diagrammatic representation of an exemplary subsystem bus interface logic block according to the invention.
- FIG. 5 is a diagrammatic illustration of an exemplary subsystem of the computer system illustrated in FIGS. 2 and 3.
- FIG. 6 is a diagrammatic illustration of an exemplary subsystem for DRAM memory used with a display controller and the relationship between the bus interface, core logic, graphic port interface, I/O buffers and the like.
- FIG. 7 is a diagrammatic illustration of an exemplary embodiment of clock gate control logic according to the present invention.
- FIG. 8 is an exemplary timing diagram for the clock gate logic circuit.
- FIG. 9 is a diagrammatic illustration of exemplary resynchronization circuitry.
- FIG. 10 is an exemplary timing diagram illustrating resynchronization timing.
- FIG. 11 is a diagram of an exemplary bus arbiter block diagram according to the invention.
- FIG. 12 is an illustration showing an exemplary arbiter block timing, including the timing relationships between the request and grant timings for several subsystems.
- FIGS. 13a-c is an exemplary timing diagram for the distributed power management system showing the manner in which power is saved for each inactive subsystem and periods during which clock is gated to an active subsystem.
- FIG. 14 is diagrammatic illustration showing an exemplary system configuration including resources coupled to the system by an ISA bus and other resources coupled to the system by the main bus.
- FIG. 15a is an exemplary timing diagram showing performance of a conventional non-distributed power management system during a multitasking processing session.
- FIG. 15b is an exemplary timing diagram showing performance of a distributed power management system of the present invention during the same multitasking processing session as illustrated in FIG. 15a.
- FIG. 16 is a diagrammatic flow-chart illustrating one embodiment of the inventive distributed power management method.
- FIG. 17 is a diagrammatic representation of another embodiment of a computer system implementing a distributed power management system using a CPU Interface logic block to supply module select signals.
- FIG. 18 is a diagrammatic representation of yet another embodiment of a computer system implementing a distributed power management system implementing a serial bus or interface to interconnect modules and communicate module select signals.
- FIG. 19 is a diagrammatic representation of even another embodiment of a computer system implementing a distributed power management system implementing wireless transmission of module ID or module select signals.
- FIG. 20 is a diagrammatic representation of an embodiment of a system configuration for implementing MBA concurrent architecture.
- FIG. 21 is a diagrammatic representation of an embodiment of the inventive MBA architecture frame.
- FIG. 22 is a diagrammatic representation showing software operating system activated power management states and MBA hardware activated power management states or modes.
- FIG. 23 is a diagrammatic representation of an embodiment of an MBA module architecture showing relationship between input and output on the MBA bus, MBA clock input to the interface logic, and MBA select signal output by the MBA bus interface.
- FIG. 24 is a diagrammatic representation of an exemplary embodiment of an MBA architecture providing dynamic control of MBA bus clock speed.
- FIG. 25 is a diagrammatic representation of an embodiment of the inventive method providing separation between background task module design and foreground design of other modules.
- FIG. 26 is a diagrammatic representation illustrating how ASIC development time is reduced using inventive design method.
- FIG. 27 is a diagrammatic representation of an embodiment of the inventive architecture showing some signals used for dynamic task power management.
- FIG. 28 is a diagrammatic representation showing timing diagrams illustrating the manner in which the performance factor signals are utilized in one embodiment of the invention.
- FIG. 29 is a diagrammatic representation illustrating manner in which an embodiment of the MBA Arbiter arbitrates priority based on the task performance factor and controls the clock frequency.
- FIG. 30 is a diagrammatic representation of an embodiment of the MBA clock generator circuit controlled by the MBA Arbiter.
- FIG. 31 is a diagrammatic representation of an embodiment of a dual-edge clocked FIFO interface
- FIG. 32 is a diagrammatic representation of an exemplary FMBA/MBA Host Bridge Unit (HBU) having a dual-edge FIFO and supporting single-edge data transfer from a CPU interface and single-edge data transfer from dual-edge FIFO to a ROM controller.
- HBU Host Bridge Unit
- FIG. 33 is a diagrammatic representation of an exemplary FMBA/MBA Host Bridge Unit (HBU) having a dual-edge FIFO and supporting single-edge data transfer to a CPU core and dual-edge data transfer to FMBA back-end interface.
- HBU Host Bridge Unit
- FIG. 34 is a diagrammatic representation of an exemplary MCU having a dual-edge FIFO and supporting dual-edge data transfer to a DDRDRAM (or RAMBUS) and single-edge data transfer to FMBA back-end interface
- DDRDRAM or RAMBUS
- FIG. 35 is a diagrammatic representation of an exemplary MCU having a dual-edge FIFO and supporting dual-edge data transfer to a DDRDRAM (or RAMBUS) and dual-edge data transfer to MBA back-end interface.
- DDRDRAM or RAMBUS
- FIG. 36 is a diagrammatic representation illustrating a timing diagram showing signal timing for a host and target signals for single-edge data transfer to single-edge data transfer and for single-edge data transfer to dual-edge data transfer.
- FIG. 37 is a diagrammatic representation illustrating a timing diagram showing signal timing for a host and target signals for dual-edge data transfer to single-edge data transfer and for dual-edge data transfer to dual-edge data transfer.
- FIG. 38 is a diagrammatic representation of an embodiment of a Write Data FIFO RAM (WDFIFO) handling data I/O on dual-edge or single-edge clock signal.
- WDFIFO Write Data FIFO RAM
- FIG. 39 is a diagrammatic representation of an embodiment of a Read Data FIFO RAM (RDFIFO) handling data I/O on dual-edge or single-edge clock signal.
- RDFIFO Read Data FIFO RAM
- FIG. 40 is an exemplary signal timing diagram for a dual-edge to single-edge data transfer and dual-edge to dual-edge transfer timing.
- FIG. 41 is an exemplary signal timing diagram showing the relationship between the time of the host request to the time of FIFO request to access target core module, the timing of the single back to back request, and the burst request.
- FIG. 42 is an exemplary signal timing diagram showing among other features, the host interface timing for the host request to send data into the write FIFO.
- FIG. 43 is an exemplary signal timing diagram showing among other features, the host interface timing for back-to-back single write request.
- FIG. 44 is an exemplary signal timing diagram showing among other features, timing for a host request read data from target core module.
- FIG. 45 is an exemplary signal timing diagram showing the target interface signal timing we show among other features, timing for the FIFO sending a host write data out to target core module.
- FIG. 46 is an exemplary signal timing diagram showing the target interface signal timing we show among other features, timing for the FIFO sending out host read request to the target core module.
- FIG. 47 is a diagrammatic representation of an alternative embodiment of the MBA architecture frame in the context of a system on a chip design prior to adding a RAMBUS controller.
- FIG. 48 is a diagrammatic representation of an alternative embodiment of the MBA architecture frame in the context of a system on a chip design after adding a RAMBUS controller.
- a host processor, microprocessor, or central processing unit (CPU) 40 (such as made by Intel, Advanced Micro Devices, Cyrix, Motorola, Apple Computer, for example) is coupled to the other system components via central or main system bus 80 which propagates control and data signals including bus clock signals (bclk) and address signals (add).
- CPU central processing unit
- An optional host CPU-to-central bus interface 43 (referred to as a host bridge) may also be provided to accept signals from CPU 40 over a host bus 41, and translate, reformat, adjust timing, or the like processing of these signals, prior to placing them on the system bus 80 (See FIG. 3 for additional details).
- Such bus interface 43 may optionally but advantageously be provided as a bridge circuit so that CPU 40 may be modified or replaced by alternative designs without requiring redesign of the peripheral circuits or subsystem modules, that is of subsystem 1, . . . , n. This advantageously allows modular system design and implementation and easier and lower cost upgrade path.
- neither the host bridge 43 nor the bus arbiter logic 130 within the bridge are required to realize the fundamental advantages of the DPMS and DPMM. Examples of modular architecture incorporating a central bus interface 43 and a plurality of connected modular subsystems is described subsequently in this disclosure. Note that recognition of the address occurs by the receiving subsystem which itself, independent of the CPU or other centralized power management unit, then initiates responsive action.
- processor 40 places device (subsystem) address and bus clock signals on central bus 80.
- Each subsystem 51a, . . . , 51n includes an address monitor/decoder unit 91a, . . . , 91n, which is connected to receive device (e.g. subsystem) addresses communicated over the bus 80 and decode them.
- the subsystem bus interface 54a When a received and decoded address identifies a device associated with or controlled by the particular addressed subsystem (e.g. subsystem 51a), the subsystem bus interface 54a generates a subsystem select signal (sel -- 1) which it communicates to clock control logic 53a within the subsystem along with the bus clock signal (bclk).
- Subsystem interface 54a and clock control logic 53a desirably have only a minimum number of logic elements since they are continuously active; core logic 52a contains the circuitry that actually performs the desired function and receives no clock unless actually accessed.
- clock control logic 53a is merely a logical "AND" gate that receives the bus clock signal and subsystem select signal and passes or gates the bus clock signal (bclk) from subsystem bus interface 54a to core logic 52a when the subsystem select signal (seln) is enabled.
- Other more complex clock control logic implementations are described hereinafter that provide additional features and functionality.
- the bus clock signal may alternatively be provided directly to the clock control logic circuitry without passing through the subsystem bus interface 54a. It should be noted that both the subsystem bus interface 54a, . . . , 54n, and the core logic 52a, . . .
- FIG. 3 A second embodiment of the inventive power management system and method is shown in FIG. 3, which includes additional features or enhancements beyond those shown and described relative to the FIG. 2 embodiment.
- the overall power management of the computer system 10 may optionally, but advantageously, also include a centralized power management unit 42 of conventional type.
- This embodiment also includes a central bus interface 43 having bus clock frequency control circuitry 45 and bus clock frequency change notification circuitry 44, the later two being useful to provide an overall decrease in power consumption as a result of slower switch frequency and fewer switch transitions, and to assist in the maintenance of any real time clocks, which may be present in certain of the subsystems 51c, . . . , 51n.
- subsystem means any circuit, device, component subsystems, or the like, that interfaces to the other computer system circuits, devices, system resources or components.
- Subsystems include but are not limited to for example, memory and memory controllers, display controllers and devices, processors, keyboard controller, mass storage devices, printer, scanner, video devices, CD ROMs, PC cards, modems, serial and parallel ports, and other input/output devices without limitation.
- the DPMS delegates power management functions to each computer subsystem, and, in some implementations, to a bridge circuit in the Central Bus Interface 43, that forms a part of the component.
- a bridge circuit in the Central Bus Interface 43 that forms a part of the component.
- Particular embodiments of the invention that include one or more "bridge" circuits to increase modularity of the computer system.
- the microcomputer is a single-chip microcomputer wherein the busses communicating address data and control information (e.g. central bus 80) are formed and contained entirely on the common substrate of a single chip.
- Such an "internal bus” implementation is not pin-limited, and therefore multiplexing and/or de-multiplexing of signals (address, data, control, and the like) is not required.
- inventive distributed power management system and method may be implemented for an "external bus” architecture wherein some signals, pins, or busses may require multiplexing and de-multiplexing so that excessive pin connections are avoided.
- PCI Peripheral Component Interconnect Bus
- PCI Peripheral Component Interconnect Bus
- the inventive DPMS limits the amount of logic circuitry provided in each subsystem module so that power consumption by such logic circuitry is kept at a minimum level.
- a predetermined set of signals facilitates implementation of the distributed power management system and method.
- Other signals shown in FIG. 3, are not required and are optional, but are advantageously provided to implement additional system capabilities and power saving features.
- the bus interface logic 54a, . . . . 54n of each subsystem module runs off the bus clock signal (bclk) 74 which is generated by central bus interface block 43 and routinely derived from the CPU processor clock signal, albeit at a slower rate than the CPU clock, and each of the bus interface logic units 54n, continuously monitors activity, such as the occurrence of an address identified to that particular subsystem on address bus 72.
- a particular subsystem module (referred to here as the current bus master), after having requested and been granted access to the central bus during that time period, drives valid address and command and control signals onto the address bus 72, control and status bus 73, which may be a common central system bus.
- the command and control may include status information such as the div(1:0) information.
- a subsystem module When a subsystem module detects that a particular bus cycle requires access to resources within, or controlled by, that subsystem module, it asserts its subsystem module-select signal (seln identifying module "n") which in turn enables the clock gate logic 53n so that the gated clock signal (gbclk) passes to the core logic 52n of the subsystem module 51n, to which access is required.
- the bus interface within subsystem 1 asserts its module-select signal (sel 1) to enable the clock gate logic 53 and provide gated clock signal (gbclk) to core logic 1, thereby causing core logic 1 to respond to the gated clock signal and commence operation and to effectively exit from its power consumption saving state or mode.
- the subsystem deasserts the select signal so that gated bus clock (gbclk) 57 is stopped, and the core logic component 52 of the subsystem then reenters its power saving mode.
- clock control logic may be implemented so that the gated clock signal is stopped or passed in response to either assertion or deassertion of the select signal, and that either logical high or logical low state may be used.
- the details of the clock gate circuit provides for glitch-free clock switching by using two stages of flip-flops that operate at both edges of the clock.
- bus interface circuitry 54a, . . . , 54n and the clock gate logic 53 within each subsystem receives the ungated bus clock signal bclk 74, and that the core logic 52n does not receive the bus clock until selected.
- bus interface 54n is advantageously implemented with a minimum number of gates so that only the minimum number of circuits, including logic gates, latches, flip-flops, and the like, receive clock signal and transition dynamically.
- Various embodiments of bus interface 54n are described in greater detail hereinafter.
- the subsystem modules may also be connected to various external resources 58n which may require operation of the particular core logic 52n independent of activity on the bus 72.
- external resources may, for example, include communication interfaces such as modem interface (I/F) or RS232, or direct memory access peripherals (DMA) such as floppy disk controllers, or other external resources which generate asynchronous interrupts to the CPU to request service.
- I/F modem interface
- RS232 RS232
- DMA direct memory access peripherals
- floppy disk controllers floppy disk controllers
- circuitry is provided within the clock gate logic 53n to enable the clock gate logic and allow the gated bus clock signal 57n to reach the respective core logic 52n when externally activated.
- activate signal 59n is deasserted and provision of the gated bus clock (gbclk) to the core logic 52 is stopped or disabled.
- bus interface 54n recognizes various addresses and controls generation of the particular select signal 55n to the clock gate logic 53n and the structure and operation of a particular exemplary embodiment bus interface logic block 54n is now described relative to FIG. 4.
- the subsystem bus interface 54 was shown configured to receive address information and bus clock information from the central system bus 80, and to generate a sel -- n signal (where "n" designate the subsystem unit selected), and communicate that sel -- n signal to clock control logic 53.
- subsystem bus interface 54 received the bus clock signal 74 and communicated that bus signal to the clock control logic circuit 53.
- An address decode logic block 91 is coupled to receive address information from the address bus 72 portion of the main bus, and to decode that address information in a conventional manner.
- address decode logic 91 may include combinational logic, equality comparators and flip-flops.
- the decoded address is communicated to an address comparison logic block 92 which either stores a particular unique subsystem address or other identification 93, or receives that subsystem address identification from an external source.
- address comparison logic 54 identifies the received address as matching the address of that particular bus interface unit. Of course, each subsystem n will have a different unique address.
- the select signal 55 is then communicated along with the bus clock signal to clock control or gate logic 53n.
- This clock control or gate logic 53n passes the gated bus clock signal to core logic 52n, thereby enabling operation of the core logic 52n as described elsewhere in this specification.
- Data paths to and from core logic 52n, are of conventional type and are not described further. In fact the inventive distributed power management structure and method are data and data path independent.
- the address decode logic 91, address comparison logic 92, subsystem ID 93, and the select and bus clock signals are provided in the bus interface logic of both "slave" subsystems and "master” subsystems.
- master subsystems that is those subsystems which can initiate a request for bus access and receive a bus grant receipt or acknowledgment from the bus granting that particular subsystem authority to receive and/or transmit data or other information on the bus
- bus access request logic block 94, and bus grant receipt or acknowledgment 95 are also required.
- These two logic blocks are illustrated as optional components in FIG. 4 and transmit and receive request bus signals (REQ -- n) and grant (GNT -- n) bus signals respectively from a bus control or arbiter portion of the central system bus.
- Master subsystem configurations may generally be advantageous for devices such as Direct Memory Access Controllers (DMAC) which can transfer data from memory subsystems to I/O subsystems and visa versa without CPU intervention, high speed communication subsystems such as 4 Mbit Irda Controllers or USB controllers.
- DMAC Direct Memory Access Controllers
- Master subsystems are advantageously provided in an operations computer system, but are not required to implement distributed power management and conservation features.
- An optional external device activation logic block 95 generally provided external to the bus interface logic 54, and which receives a request signal from an external device (such as for example, a DMA request input) and generates an activate signal which it communicates to clock Control Gate Logic 53 in order to control the gated bus clock signal (gbclk).
- an external device such as for example, a DMA request input
- clock Control Gate Logic 53 in order to control the gated bus clock signal (gbclk).
- This distributed power management system and method operates independently of any central power management process or control that may also optionally be provided, but may also be overridden by optional "power down” command, "power up” command, or other such control signal(s) as may be issued by central power management unit 42, CPU, or by other hardware or software derived control signal.
- the aforementioned power down command is input directly to the clock gate logic 53 and causes the gated bus clock (gbclk) that might otherwise be provided to core logic 52 to stop.
- the power down command signal does not withhold operating power, such as transistor bias voltages, V cc voltage, or the like, but rather stops communication of the bus clock signal to the respective core logic elements so that power consumed by switching is reduced.
- this distributed power management system and method may be extended to provide additional power conservation features on a subsystem by subsystem basis. Selection of one or more subsystem modules may alternatively be accomplished by control other than address monitoring.
- the inventive distributed power management system (DPMS) and method (DPMM) provides power management with high temporal resolution so that power consumption is significantly reduced even during normal full-speed operation of the system. It also provides extremely rapid "transition" of devices (e.g. subsystem modules) from a non-operational power conserve state to a fully operational state. For example, transitions may occur as quickly as within about 10 nanoseconds for a 50 Mhz bus clock signal. It provides this power saving by enabling communication of the bus clock, or clock signals internal to the unit derived from the bus clock, only to the subsystem or subsystems which are actually being used during that bus cycle. In an architecture having a common bus structure that couples the CPU with each of the subsystems, such as that illustrated in the embodiments of FIGS.
- only two of the subsystems can generally be active at the same time, that is, either providing or receiving information over the common bus during the same bus cycle.
- the remaining subsystems may therefore operate in a power saving mode during that bus cycle.
- Such power saving operation is not achievable with any other known conventional central power management system or method, including any hardware or software based system or method which may power manage by controlling the direction of operating power (e.g. circuit bias voltage or current) or clock signal to any one or more devices.
- While conventional central power management systems and methods may provide some level of power conservation when the system is inactive, when certain resources of the system are inactive, or when the system is partially active, such central power management systems do not reduce power consumption when the system is operating in its normal mode or state.
- normal mode or state comprises maximum possible processor and peripheral bus clock speeds, display on, disc drive controller active and disc spinning, and the like.
- inventive distributed power management system and method provides a deeper level of power saving, including all of the benefits of the aforementioned conventional forms of power conservation when the system is inactive, when certain of the resources are inactive, and when the system is partially active, and further provides significant reduction of power consumption when the system is operating in its normal mode or state.
- data bus 71, address bus 72 and bus control 73, as well as bus clock 74 are all shown as a single central bus 80 in FIG. 5.
- Power down signal 75 shown as a separate line in FIG. 5 could also be communicated over the common bus.
- the inventive power management system and method may be implemented with any bus architecture including bus architectures having some or all of following characteristics: address bus; data bus, (multiplexed or non-multiplexed); control signals, such as (data flow control) and commands; timing signals, such as: bus clock, and bus access arbitration signals.
- Each subsystem or module interfacing to the bus should be compatible with the particular bus characteristics in conventional manner. For example, if the bus includes an N-bit address bus, then each subsystem module should be able to decode N bits or at least a sufficient number of those bits to determine whether the N-bit address propagated over the bus is identified to that particular module.
- An additional requirement is that the subsystem module must know when it is being addressed so it can be enabled and begin gating the bus clock to the core logic associated with that subsystem module. This later request is requested by the subsystem rather than the bus architecture itself.
- the core logic n is shown controlling EDO DRAM 82 so that data, address, and/or control signals 84 may be communicated between the EDO DRAM 82 and core logic 62.
- the core logic may itself include EDO DRAM functionality and/or other functionality required or typically associated with operation of a computer system, and that such description here is not limited to subsystems including or controlling such EDO DRAM.
- EDO RAM is an external device controlled by subsystem n in FIG. 5.
- Each subsystem n may be either a "slave subsystem module” or a "master subsystem module” as described herein before.
- a “master subsystem module” is capable of requesting bus access via a request bus signal (req -- n) 89, and of receiving a grant bus (gnt -- n) signal 90 from the system.
- a "slave subsystem module” may not request or be granted bus access, but merely responds to such requests by other master subsystem modules.
- a master subsystem module may desirably be provided where external requests for the core logic are to be provided.
- the CPU 40 is effectively operates on a master subsystem in the context of this invention. It requests and is granted bus access, and where present is generally subject to bus arbitration rules. Where desired, the CPU may be subject to different bus priorities than other subsystem modules, particularly if there are a relatively large number of other subsystems.
- Each master subsystem module 61 comprises both master interface block 86 and slave interface block 88, but a slave subsystem module does not include the optional master interface block 86.
- each of these master and slave interface blocks implement a minimum layer of logic to monitor addresses communicated over the bus during each bus cycle, or to initiate a request during a bus cycle in the case of a master interface block.
- minimum layer of logic we mean the smallest (or an optimally small) number of circuit elements (e.g. gates) so that operating this interface block continuously by providing operating power and bus clock signals does not result in excessive power consumption.
- an interface layer for a slave module device may typically include about 50 gates and will not include the write/read buffers and the data phase of the cycle, which is typically included in conventional interfaces providing the same functionality, but without the inventive power conservation features.
- Such conventional interfaces may typically include about 1200 gates and consume a proportionately larger amount of power due to the larger number of clocked gates.
- write buffers or read-ahead buffers are part of the core logic 62, and only consume significant power when the gated bus clock is active in the core logic.
- Each slave interface block 88 includes an address decode portion 91 which receives addresses 72 communicated over central bus 80, and makes a determination whether such received address identifies that particular subsystem. If that subsystem is identified for access, slave interface block 88 includes circuitry to generate or enable a subsystem select signal 65, which is communicated to control gate logic 63. As described elsewhere in this specification, control gate logic 63 processes both the select signal 65 and bus clock 74 signal to provide the gated clock signal 67 which is to core logic 62. Alternatively, the activate logic block (See, for example, FIG.
- an activate signal 69 may be generated either as a result of an external request, for example by a refresh request signal (REFREQ) or a liquid crystal display (LCD) request, which also results in generation of a gated clock signal to core logic 62 (See, for example, FIG. 6).
- REFREQ refresh request signal
- LCD liquid crystal display
- FIG. 6 provides an exemplary function block diagram of a slave interface block 88 receiving an address (Add(31:0)) which is decoded by address decoder logic block 91.
- the Slave interface 88 provides bus clock signal (bclk) and a selection signal (sel -- 1) to the clock gate logic 63.
- the bus clock is gated to core logic 62 in the manner already described relative to the embodiment in FIG. 5.
- the core logic 62 is an EDO DRAM and synchronous DRAM controller (SDRAM) and includes primary functional blocks as follows: EDO DRAM State machine 502, SDRAM state machine 503, color block fill engine 504, color registers 506, registers 508, write buffers 510, a memory data input latch 512, and a Memory Address Multiplexer 520.
- Core logic 62 also interfaces to an external DRAM interface 514.
- a Graphic Port interface 516 also operates off of the gated bus clock. This interface receives Graphic Port Request (GPREQ), acknowledgment (GPACK), and LCD addresses (LCDADD) and data (LCDD (31:0)).
- a memory access arbiter 518 generates an activate signal upon receiving a DRAM refresh request signal (REFREQ) or a graphic port request signal (GPREQ).
- the memory access arbiter 518 is an example of an external activation logic block 50 already described relative to the embodiment in FIG. 5. Operation of the EDO memory, Graphic Port Buffers, and the like, are conventional and not described further. Note, however, that the gated clock is propagated to and from the clock gate logic 63 to several AND gates 521, 522 which also receive the EDO select signal (EDOSEL) to control clock propagation to the two state machines and to the color fill engine. Where continuous propagation of the bus clock to a component of core logic is desirable, it may be so propagated albeit with some additional power consumption penalty.
- EDOSEL EDO select signal
- Clock frequency control block 44 provides circuitry for modifying the frequency of the bus clock, for example, for reducing the bus clock frequency by a selected predetermined divisor or factor (div). For example, if the bus clock nominally operates at a 100 Mhz frequency, the clock frequency control block may reduce the clock frequency by dividing by a factor such as 2, 3, 4, . . .
- Clock frequency reduction is beneficial for reducing power consumption of the system as a whole, and of reducing power consumption within any active subsystem.
- clock frequency control by itself does not provide the advantages of the inventive system and method and the inventive system and method continues to provide power conservation even when operating at a reduced clock frequency.
- the inventive system optionally but advantageously provides a clock division or clock frequency notification circuit 45 which communicates the frequency reduction or multiplication factor (div) from the notification block 45 within central bus interface 43 via a communication channel (either over the bus or via a separate wired connection) to each of the subsystem bus interfaces 54n.
- a clock division or clock frequency notification circuit 45 which communicates the frequency reduction or multiplication factor (div) from the notification block 45 within central bus interface 43 via a communication channel (either over the bus or via a separate wired connection) to each of the subsystem bus interfaces 54n.
- a "div (1:0)" signal 76 having two bits is provided from the central bus and received by slave interface block 88.
- This divisor signal may then be used either within clock gate logic 63 or directly by core logic 62 to maintain a real-time clock or other circuitry which must operate at a fixed (constant) frequency such as for a display subsystem which must continue to transmit data to the display at a fixed rate, for example 60 Hz.
- the divisor signal acts as a notification that the frequency of bclk has changed, and by what factor.
- the subsystems may in turn modify their own internal clock divider circuits to adjust to the new bclk frequency.
- the circuitry generating the interrupt must include a clock divider which divides bclk by a factor of 100,000, when bclk is operated at 100 MHZ, and divides it by a factor of 25,000 when bclk is operated at 25 MHZ.
- clock gate logic circuit 52n An embodiment of clock gate logic circuit 52n is now described with reference to FIG. 7. This description is by way of example only, as those workers having ordinary skill in the art in light of this disclosure will appreciate that there may be other ways to implement the clock gate logic circuitry of the present invention so as to selectively control transmission of the bus clock signal to the core logic.
- the select signal (sel) 65 and activate signal 69 are received from a bus interface block 88 as earlier described, and input to OR circuit 102. Either of these signals may serve as an input to AND gate 104 to gate the bus clock.
- the output of OR 102 is communicated as a first input to AND gate 104 which also receives a power-down signal 75 (normally high or logical "1 ") so that the output of AND gate 104 (referred to as D in the figure), is high or logical "1", when it is desired to gate bus clock signal 74 to core logic 62.
- Flip-flop 106 receives the D output from AND gate 104 and bclk 74, so that when the D input is "1", en + appears at the output of flip-flop 106, but when the output of AND 104 is "0", the output of bclk 74 is suppressed and does not reach core logic 62. In the event that power-down signal 75 goes low (logical 0), the output of AND gate 104 is also "0", thereby suppressing appearance of the gated bus clock 74 at the output of flip-flop 106.
- the output of flip flop 106 is referred to as the en + (or enable signal) in the timing diagram of FIG. 8, since it is responsible for starting the gated clock.
- a second flip-flop 107, OR gate 108, AND gate 110, and an inverted version of bus clock signal (bclk -- inv) 77 is also provided for disabling or turning-off the gated clock.
- This disable signal is identified “des-" in the circuit of FIG. 7, and the timing diagram of FIG. 8. If the bus clock signal is used to disable the clock, a glitch in the gated clock will appear due to the delay of the gbclk with respect to the bclk. Therefore, an inverted version of the bus clock (bclk -- inv) is used to turn off the gated clock as shown.
- the "en + " signal of flip flop 106 is provided to start the gated bus clock (gbclk), and is clocked of the rising edge of the bus clock signal (bclk).
- the "des - " signal from flip-flop 107 is provided to stop gbclk, and is clocked off the rising edge of the inverted bus clock signal (bclk -- inv).
- the signal from the bus interface clocked by bclk may produce tset-up and thold timing violations if sampled with the gated bus clock as illustrated in FIG. 9.
- the signal is resynchronized using the inverted bus clock (bclk -- inv) in the circuit of FIG. 8 to resynchronize in the manner illustrated in FIG. 9.
- This resynchronization optimizes performance of the system in an environment where the select clock is routinely passed or stopped. Signals that flow from the core logic to the main bus interface do not generally require resynchronization.
- the advantages of the system and method for distributed power management are clearly evident in the power management timing diagram of FIG. 13, which illustrates the minimum period of time during which the gated bus clock signals (gbclk1, gbclk2, . . . , gbclkn) are communicated to each of subsystem modules 1, 2, . . . , n.
- the first bus clock signal (bclk) is a periodic signal having logic high portions T1, T2, and Ta, in a repeating periodic pattern.
- the intervals T1 represent the address phase of a main bus cycle
- the portions T2 represent the data phase of a main bus cycle
- the intervals Ta represent the main bus turn-around time during which ownership of the bus changes.
- the illustration is consistent with the equal opportunity (fairness) bus access rule described hereinafter which allows each bus master a revolving access to the bus.
- a second signal "cycle -- z -- 1,” is in a particular embodiment of the present invention a three-state active low signal driven by the particular subsystem master module currently having access to the central bus 80.
- a "master" subsystem module (here module 1) can assert the cycle -- z -- 1 signal after a bus access request has been made and granted by a central bus arbiter 130, which controls current access to the bus 80 by the various subsystem modules or CPU 41.
- bus arbiter 130 Operation of the optional bus arbiter 130 is now described relative to an embodiment illustrated in FIG. 11. It should be noted that the bus arbiter is required for performance of certain main bus arbitration features and procedures that are advantageously incorporated into operational systems, however, the inventive distributed power management system and method do not require this particular or any other bus arbitration structure or operation.
- arbiter block 130 desirably includes a request-grant state machine 131 block, a latency timer 132 block, and a main bus status register 133 block.
- Request-grant state machine 131 arbitrates from among one or more requests to access the main bus by the several master subsystem modules. Different priority schemes can be implemented according to various priority rule schemes.
- the main bus implements an equal opportunity or fairness priority scheme, in which the master module that was last served will go to the bottom of the priority chain and all other modules will have a higher priority. This guarantees that each module will eventually be granted access before another module gets a second access. Other priority schemes may also be implemented.
- Latency timer 132 monitors the maximum allocated time for a master to stay on the bus, and the number of bus clock cycles that cycle -- z -- 1 stay asserted. In the event of a latency timer time-out situation, the latency timer will command the master to get off the bus with the OFFTHEBUS signal.
- Main bus status register 133 maintains status and monitors main bus activity, the result of this monitoring activity being feed to the bus clock frequency control or divider 45, which can slow-down or speed-up the bus clock signal (bclk) accordingly, and output the proper divisor signals (for example, div(1:0) or div(n:0)) signals from clock notify block 44 to the bus.
- Clock divisor circuit 45 receives the raw bus clock signal and divides that signal by div(1:0) (or more generally by div(n:0)) and provides both the modified bus clock signal to the main bus and an indication of the frequency change in the form of the divisor so that any module maintaining a real time clock can maintain real-time clock integrity in spite of the clock frequency division.
- Each master module (for example master1, master2, . . . , masterN is coupled to arbiter 130 so as to provide a bus access request signal (req -- n) to the arbiter when access is desired, and coupled to receive a bus access grant signal (gnt -- n) when access is granted to the particular module.
- latency timer 132 is coupled to receive a cycle -- z -- 1 signal from the main bus and to generate and supply to any of the master modules the OFFTHEBUS signal when they have had ownership of the bus for more than a predetermined period of time.
- Slave modules are connected to the main bus but do not interact directly with the bus arbiter, they merely respond to requests communicated over the bus.
- Arbiter bus access request and grant timing are now described relative to FIG. 12 which shows the functionality of the arbiter, in acknowledging the master subsystem request, and granting access to the bus according to the priority scheme described earlier.
- Slave subsystem do not request bus access but merely respond to a request made by a master, or by the CPU.
- master0 request the bus by asserting Req0 low "0".
- the first cycle is allocated to master0, and during that cycle, master1, master2, and master3 request access or ownership of the bus by asserting Req1, Req2, and Req3 low.
- the four masters are all requesting the bus.
- the arbiter asserts the bus grant (GNT) signal one at the time, and then de-asserts the grant signal line after the master has started its allocated cycle.
- GNT bus grant
- deassertion of the GNT line is indicated during the data phase at time T2 of successive bus cycles (e.g. cycles 2, 5 and 8), and assertion of the GNT line at is indicated by T a representing the bus turn-around time (e.g. at cycles 3, 6 and 9).
- the cycle -- z -- 1 signal is valid for the complete bus cycle.
- the logical "1" to logical "0" transition of the cycle -- z -- 1 signal 152 flags or indicates the start of the bus cycle, and the logical "0" to logical "1” transition flags or signals the end of the cycle.
- Slave subsystem modules (as compared to master subsystem modules) only monitor this cycle -- z -- 1 signal in order to enable a valid address decode at the start of each cycle T1.
- the address decode unit 91 is provided as a component of the bus interface 54 which initiates the process by which the bus clock signal may be gated to the core logic component of that subsystem to permit the desired access.
- the central arbiter 130 will also monitor the cycle -- z -- 1 signal to determine when to assert or remove the master subsystem bus grant signal.
- the arbiter can control latency timer(s) 46 and provide information to the power management logic through the bus status register 133 regarding central bus 80 traffic.
- the subsystem select (sel -- 1, sel -- 2, . . . , sel -- n) signal generated by the subsystem bus interfaces 54n, have already been described relative to the bus interface and clock control gate logic as have the gated bus clock signals (gbclk1, gbclk2, gbclkn).
- subsystem module 1 responds to the cycle -- z -- 1 signal cycle targeted to module 1, by a master module upon a rising edge of bus clock signal (indicated by T1), and the sel -- 1 signal goes low as a result of the target module 1 decoding a valid address, and indicating the master that can execute the cycle so that the gbclk1 is communicated to the core logic of subsystem module 1 during the period of time in which sel 1 signal is asserted and until the end of the next bus clock cycle after which sel 1 signal is deasserted.
- T1 rising edge of bus clock signal
- This interval is designated "active 1".
- only subsystem module 1 is consuming power as a result of having the bus clock gated to its core logic circuits during portions of elapsed bus clock cycles 2-3, and that subsystem modules not selected during that particular interval of bus clock signals are in the power saving mode.
- conventional systems implementing only a central power management system and/or method will not provide separate gated bus clock signals to individual subsystem components, but rather provide a continuously running clock to each subsystem circuit.
- FIG. 13b illustrates analogous operation of module 2 to that already disable relative to FIG. 13a for module 1 but at a later time.
- module 2 asserts a cycle -- z -- 1 signal during interval 2 (approximately corresponding to elapsed bus clock cycles 4-5) and sel 2 signal during that same interval, to thereby enable gbclk2 for the duration in which sel 2 signal is asserted, and until the end of the following full clock cycle, here designated "active 2".
- Power is consumed by core logic 2 within subsystem 2 only during the period of time designated as "active 2", and power is saved during periods of time identified by "power saving 2". This process is repeated for any other number of subsystem modules that may be configured within the computer system 10, such as for subsystem module n shown in FIG. 13c.
- FIGS. 13a, 13b, and 13c The power saving interval are clearly evident from an inspection of FIGS. 13a, 13b, and 13c.
- power is consumed as a result of gating the bus clock to core logic 1 only during the period indicated by "active 1".
- the bus clock is gated to the core logic 1, "0" state and no power is consumed as a result of the dynamic switching within the core logic 1 elements, power only being consumed in core logic 1 circuits by virtue of the static power needed to maintain states within that particular core logical block and, of course, the small amount of power consumed by the interface logic and clock control circuits.
- FIGS. 14 and 15 respectively illustrate an exemplary system architecture, and exemplary timing diagrams for conventional multi-tasking clock control (or lack thereof) and the inventive clock control to achieve power consumption savings, where each subsystem is operating in a multi-tasking or concurrent processing mode.
- internal ISA bus 902 is a secondary bus relative to the main bus 901.
- the external peripheral bus 903 is also a secondary bus.
- the CPU core 905 requests data from the ROM 908 (referred to as TASK 1), this data request does not require access to the main bus 901 or the secondary ISA bus 902.
- the clock that interfaces to the ROM 908 is activated at the same time TASK 1 is initiated.
- the Liquid Crystal Display (LCD) module 912 requests data from memory 910 (referred to as TASK 2).
- TASK 2 requires that the gated bus clock (gbclk) of LCD Module 912 and Memory Control Module 914 be activated because each of these modules is required to satisfy LCD 903's request for data.
- the gated clock signals (gblck -- 4, . . . , gbclk -- 9) for the other ISA bus 902 connected modules (Serial I/F 921, Keyboard 922, Touch Panel I/F 923, Audio I/F 924, General Purpose I/O 925, and Card Controller 926), and the gated clock signal gbclk -- 3 for the DMA Module 930 on the main bus 901 remain inactive and their associated modules remain in their power saving mode. If TASK 2 finishes before TASK 1 finishes, then the gated clock signal of the LCD Module 912 and Memory Controller 914 will transition from the active mode to the power saving mode independently of any CPU interaction or control.
- the CPU 905 is still busy performing TASK 1.
- all the clocks run continuously and their circuits consume power as shown in FIG. 15a.
- the inventive distributed power management system allows each module to self control activation of core logic circuits so that only those core logic elements needed during particular bus cycles are provided clock signals.
- FIG. 16 is a flow chart diagram which shows top-level operation of an embodiment of the inventive distributed power management method 700.
- the bus interface logic of each subsystem module or system resource implementing distributed power management monitors the main bus for addresses (or other indicators) communicated over the bus (Step 702). Where address information is used, the address is decoded (Step 703), and then a comparison is performed in each subsystem between the address associated with that subsystem and the decoded address (Step 704).
- Step 706 If the address appearing on the system bus matches (equals) the address associated with the particular subsystem, indicating that operation of that subsystem is needed, then the bus clock is provided to the core logic of that subsystem so that the core logic can perform the required operation (Step 706). If the address appearing on the system bus does not match (not equal) the address associated with the particular subsystem, indicating that operation of that subsystem is not needed during that bus cycle, then the bus clock is withheld from the core logic of that subsystem and power consumption that would otherwise be consumed by that core logic is reduced (Step 706).
- the structure and method already described has emphasized a parallel bus configuration, but the inventive distributed power management system and method are not limited to such parallel bus configurations or processes.
- Other structures and methods for signaling the subsystems or modules are applicable for the DPMS and DPMM besides those that use Address bus decoding.
- Three alternate approaches are now described, including a structure and method that provide some CPU interface logic to generate module select signals, a structure and method that communicate selection data over a serial bus or wire loop, and a wireless structure and method wherein communication between the CPU and the subsystems is achieved using wireless links, such as Radio Frequency (RF) or optical links including Infrared.
- RF Radio Frequency
- CPU 40 is connected to a CPU Interface Logic Unit 452 which receives communications from CPU 40 and identifies the need to activate one or more subsystems 51n.
- the Interface Logic Unit 452 implements the functionality of the Address Decode logic block 91 previously described, such that the Interface Logic Unit 452 is coupled to receive address information from the CPU 40 and to decode that address information in a conventional manner.
- the Interface Logic Unit 452 generates a module select signal (MCSn) and communicates that select signal over a suitable link, such as a bus or wire, for example.
- MCSn module select signal
- the logic within module 451n is the same as that earlier shown and described relative to module 451n except that module 451n need not include address decode logic in the slave bus interface.
- module1 451a If module1 451a is identified, then a module 1 select signal (MSC1) is asserted and communicated to the logic within module 1, which upon receipt will gate the bus clock (bclk) signal to the core logic as before, and when deasserted with block communication of the bus clock to the core logic.
- the module select signal may be a "chip select" signal.
- the CPU Interface logic 452 passes other data, address, control and status information to conventional busses.
- the data bus, Address bus, and control and status bus components may still be provided on one or more conventional busses.
- a serial link implementation is now described with reference to the embodiment in FIG. 18, which provides a plurality of subsystem modules 551a, . . . , 551n connected by a serial bus 552 to form a closed signaling loop.
- the loop may also include a Serial Link Controller 554.
- the protocol for a serial linked system is based on a module address or module Identifier (ID) byte 570n which in the exemplary embodiment is provided as part of a command header of the serial protocol data stream.
- the data stream is communicated over the serial link 552 and sequentially passed between the Serial link controller and the subsystem modules.
- a module 551n When a module 551n receives the command header at a serial input port S in 555n, it processes the data or information contained in the header to determine the intended target subsystem, and upon recognizing that the particular module is the intended target, generates select or activation signal to supply or gate a clock signal to the core logic within the particular module.
- the clock signal may either be supplied with the data along the serial link, or optionally provided separately by each module 551n or alternatively by a separate clock generator circuit 560n associated with each subsystem module 551n.
- the clocks for the different subsystems would generally operate asynchronously unless synchronization means were provided.
- Such external clock circuits could also optionally operate a different clock rates to match the performance requirements of the particular subsystem with which the clock is associated.
- the module will route the received serial stream to its serial output port S out that connects to the following subsystem modules connected to the serial link.
- Each serial module receiving the serial stream compares its unique ID with the ID appearing in the serial stream. Where it is desired or necessary for more than one subsystem module to be active, multiple ID's can be communicated either in the same serial data stream header or in different headers.
- An exemplary serial bus protocol includes a Command Header comprising an opening flag, a subsystem ID, and a command, and a Data Field comprising data and a closing flag.
- the serial link may be a Universal Serial Bus (USB) or any other transport of commands and data where the serial bus connects multiple subsystems, devices, or peripherals. In some instances it is anticipated that only some of the subsystems, devices, or peripherals coupled by the serial bus or link may be able to implement distributed power management.
- the serial link may for example, implement a local area network (LAN), a token ring, or any other conventional network; or it may merely connect one or more peripheral devices to the CPU.
- LAN local area network
- token ring or any other conventional network
- the inventive structure and method may also be embodied in a wireless system by signaling a subsystem module using a transmitted ID that is similar to the serial protocol described previously in this specification.
- the ID is transmitted by an optical, radio frequency, or other electromagnetic wave not requiring a physical connection.
- FIG. 19 A simplified block diagram of a wireless embodiment is illustrated in FIG. 19.
- Wireless embodiments will typically provide separate clocks associated with each module (either internal or external), although clock signal could be provided to each module in the same wireless transmission or via a separate wireless link.
- the physical connection may be by wire, optical fiber, transmission line, or any other medium capable of supporting the required communication.
- the inventive Modular Bus Architecture (MBA) and an enhanced version of the inventive MBA referred to as the Fast Modular Bus Architecture (FMBA) have been developed to assist in providing a standard bus optimized for battery operated single chip products (systems-on-a-chip), though the invention is not only limited to battery operated products or to systems on a single chip.
- references to the MBA also refer to the FMBA.
- Specific characteristics that distinguish the FMBA from the MBA are described hereinafter in greater detail.
- the Industry standard buses such as PCI do not satisfy the requirement for low power consumption. PCI also has build in Plug-and-Play features and system resources ID protocols which are not required for an internal ASIC bus.
- the inventive Modular Bus Architecture introduces two additional power savings states in addition to the operating system power management states.
- the two MBA Architecture hardware activated power savings are: (1) Distributed power management structure and method; and (2) MBA bus clock speed adjustment according to bus activity. Aspects of these two power saving structures and methods are described here and in co-pending U.S. patent application Ser. No. 08/877,140 filed Jun. 17, 1997 and hereby incorporated by reference. Additional aspects of the innovation of adjusting bus clock speed according to bus activity, as well as several other embodiments and inventive features are also described in greater detail hereinafter.
- the inventive modular bus architecture provides several advantageous features, including: (1) creates an architecture frame for systems-on-a-chip (SOC) designs; (2) increased power savings even when systems are in the active state (MBA modules are self-power managed in order to allow re-use of modules in several products); and (3) decrease ASIC design time and effort, by creating a ready to use MBA Architecture Frame and FMBA/MBA modules library. This provide more efficient design and faster time to market for products.
- SOC systems-on-a-chip
- the Fast Modular Bus Architecture/Modular Bus Architecture utilizes two buses, the system bus (MBA bus) and the peripheral I/O bus.
- the FMBA/MBA system bus is a high bandwidth synchronous bus that supports multi-master modules.
- the interface to the CPU core is via the MBA Host bridge module, and the interface to the on Chip I/O peripheral bus is also a bridge.
- the slow peripheral I/O bus bridge implements a result protocol, releasing the MBA bus to allow concurrent task execution.
- the MBA bus has a central Arbiter that arbitrates the request of the MBA masters to access the bus.
- the Arbiter also monitors the activity of the bus and dynamically controls the speed of the bus clock for the purpose of saving power in the case the bus is idle or with low activity.
- FIG. 20 illustrates a system configuration 201 for implementing the exemplary MBA concurrent architecture.
- CPU core 207 associated with ID cache 208 is coupled via host bridge 206 to the MBA bus.
- MBA bus 202 also serve to connect memory controller 210 to DRAM 209, and LCD panel 212 to LCD UMA 213.
- DMA controller 215 is also coupled to the MBA bus 202.
- Memory controller 210 is also connected to LCD UMA 213 by way of a bus graphics port (Gport) connection 230.
- ISA bridge 204 serves to couple several ISO bus devices to the MBA bus 202.
- SIO 222 may be connected or coupled to MBA bus 202 via ISA bridge 209.
- An additional bus 229 couple ROM 226, PCMCIA 227, and CFII 228, to the MBA bus via the ISA bridge.
- the FMBA/MBA architecture frame generally comprises the MBA bus 202, MBA arbiter 248, MBA clock generator 249, clock tree 250, and one or more MBA interfaces 242 (242a, 242b, . . . ).
- MBA architecture frame may also be considered to optionally include an existing MBA module library 252, containing one or more existing MBA modules 253, new module core logic 254, and direct-port or side-port structures 259 which permits direct coupling between modules so that communication over the MBA bus 202 is not required for module-to-module interactions.
- MBA interface 242 provides a gated clock signal (gclk) 260 to each module 243 and receives an activate (Acti) signal 261 from the new module back to the MBA interface.
- MBA bus clock (mba -- clk) signal 262 is communicated from MBA clock generator 249 via clock tree 250 and distributed to each MBA interface.
- MBA interface 242 controls wether gated clock 260 is presented to the module, depending on the power management state of that module.
- the Architecture Frame 249 is the back-bone for starting the design of new systems-on-a-chip.
- the design is typically started from the top and the new module design engineers interact and test at the system level.
- the design of new modules interact only to the core logic interface 247 as illustrated in FIG. 21.
- the MBA interface 242 which is part of the Architecture Frame has built in the distributed power management structure and method.
- the MBA I/F can be configured to be a slave interface or a master interface by setting parameters in the Verilog file.
- the System memory map and I/O map there are also entered as parameters.
- the FMBA/MBA Architecture Frame facilitates the design in, evaluation, and simulation at the system level, of vendors IP's to be used on the system.
- the MBA Architecture Frame also provides for optional side-band buses 259 or dedicated direct ports between MBA modules.
- One such exemplary dedicated ports is the graphic port 230 instead of the memory controller and LCD controller, illustrated in FIG. 20 which allows direct communication between the connected controllers.
- the inventive system-on-a-chip design supports software operating system (OS) activated power management states or modes such as hibernate, suspend, stand-by, and system active (See for example FIG. 22), as well as the new innovative MBA hardware activated power management states or modes.
- OS software operating system
- software operating system activated power management states are known (See for example, the Advanced Configuration and Power Interface Specification, Revision 1.0, Dec. 22, 1996, and updates thereto published jointly by Intel Corporation, Microsoft Corporation, and Toshiba Corp, and herein incorporated by reference) this description emphasizes the additional MBA hardware activated power states.
- the inventive distributed Power Management method is now further described relative to the diagrammatic illustration in FIG. 23.
- the exemplary MBA module architecture illustrating FIG. 23 shows a relationship between input and output on the MBA bus 202, MBA clock 280 input to the interface logic 277 and MBA select signal 281 output by the MBA bus interface.
- MBA interface 242 is seen to include an interface logic 277 component and a clock gate component 276.
- Interface logic 277 is coupled to MBA bus 202 to receive data, commands, status, and the like information, such as the MBA select (mba -- sel) signal to select the particular MBA module core logic 284, and in response to the receipt operates to generate select signal 278.
- the MBA clock signal propagated on the MBA bus (MBA -- clk) is communicated to interface logic 277 and is used to generate a secondary MBA clock (mba -- clk) signal 279 which is sent to clock gate component 276.
- Interface logic 277 also communicates a select signal (select) 278 which tells the clock gate circuit 276 to gate the secondary mba -- clk signal to the MBA Module Core Logic 284 when it has been selected.
- select signal 278 indicates that the particular MBA module 275 is to be accessed
- bus select signal 278 sent to clock gate component 276 causes the gated clock 260 to be enabled, and gated clock is communicated to MBA Module Core Logic 284 thereby providing operation of the entire MBA module 275.
- MBA module 275 includes a thin layer of logic 282, usually referred to as the interface logic layer 277 but optionally also including the clock gate circuit logic 276. At least the interface logic 277 and optionally the clock gate circuit logic 276 operating continuously in one embodiment so as to be capable of responding to the select and gated clock signals. Other circuitry within MBA module 275 may be a low power consumption noted and clock signal is not communicated thereto. In this manner MBA module 275 has a very low power or energy consumption at all times other than when it is actually be used.
- MBA module 275 also includes an optional external connection 283 to an external device or system.
- this external system 285 requires access to the particular MBA module 275
- the MBA module 275 is also capable of generating an activate signal 261 back into clock gate to circuit 276 in order to initiate communication of gated clock to the MBA module.
- the external system is able to the fully utilize the operational capabilities of the MBA module 275. Normally some path will adjust from the external device by interface 282 to the thin layer 282 in order to activate the MBA module 275.
- each MBA module is normally off in that gated clock is off on disabled ("0").
- the only time that the gated clock will be activated for a particular module is upon the MBA I/F logic detecting that a bus cycle is allocated to or intended for that module via the MBA select signal 278, or if an external event that interfaces to the module is requesting service. In the latter case, the core logic will assert the activate signal 261 to start the gated clock.
- the exemplary MBA module Architecture illustrated in FIG. 23 shows one example of a logic partitioning used to implement an embodiment of the distributed power management.
- the circuits are separated into a first small portion which is clocked so as to remain in an active or ready state, and a second larger portion which is woken up when the first portion detects the need.
- the Clock gate 276 is part of the MBA I/F logic 242 which is a thin layer of logic 282 that runs off the continuous MBA -- clock 280.
- the Core logic 284 of the Module 275 runs off the gated clock (gclk).
- thin layer we mean that the number of circuit components or elements are reduced to minimize the power consumed when this layer is in operation.
- MBA modules are self power managed, allowing the re-use of the modules for different products, without the need of redesign system dependant power management capabilities.
- the MBA bus arbiter monitors the activity of the bus via the MBA master's request signals (Req 1, Req 2, and Req 3n) and also monitors the task performance requirements. Depending on the activity, the arbiter commands the MBA clock generator circuit to divide down or multiply up the speed of the MBA clock. This is accomplished, at least in part, through the use of the MBA bus divide signals div(1:0). This signal notifies the modules of the current speed of the bus clock.
- FIG. 24 illustrates an exemplary embodiment of an MBA architecture which provides dynamic control of the MBA bus clock speed communicated to each MBA module.
- MBA arbiter 248 is coupled to receive one or more request signals (Req1, Req2, Req3, . . . ) from one or more master MBA modules to have access to the MBA bus.
- the MBA arbiter 248 has been described earlier any more generic context as the central bus interface 43.
- central bus interface 43 a comprises latency timer or timers 46, clock division notify circuit 44 clock frequency control circuit 45, and optional bus arbiter logic 130.
- These elements providing a function of MBA clock 249) generate an MBA clock signal MBA -- clk) and a clock division signal (div:(1:0)).
- Both the clock and division signals are sent to the individual MBA interfaces 242; however, depending upon the coding of the division signal communicated to each particular module, the gated clock signal used by the core logic portion of each module may be different.
- module 1 receives a first gated clock signal (gclk1)
- module 2 receives a second gated clock signal (gclk2)
- module 3 receives a third gated clock signal (gclk3).
- the frequencies of these particular gated clock signals will advantageous the be adjusted to operate that module in the most efficient manner given be performance factor associated with that module for the particular task.
- signals and performance factors are described in greater detail elsewhere in this description.
- MBA Architecture Decreases ASIC Design Effort
- the inventive design method provides an environment and infrastructure in which MBA modules are designed and/or built as background tasks and need not be on a critical design path.
- the separation between background task module design and the design of other components is illustrated in exemplary manner in FIG. 25.
- Inventive structure and method also provide an inventive design method 294 that advantageously utilizes the inventive structure and operating methods and procedure.
- the MBA environment and infrastructure in which MBA modules are designed and/or built as background tasks 283 need not be on a critical design time path segment with the foreground task 284 of specific ASIC design 290.
- the separation between background tasks 283 module designed and foreground task 284 include the design of other components is illustrated in exemplary manner and FIG. 25, which shows as background tasks 283, the development of MBA modules 285, verification of MBA modules 286, the building of the MBA library modules 287 and the associated MBA module documentation 289, as well as the development of MBA engineering tools 288.
- ASIC design 290 for a new module chip or system can proceed as the primary foreground task 284.
- the ASIC development time can be reduced considerably, for the exemplary tasks in FIG. 26, by one-half or more.
- the time savings which may typically be realized using the FMBA/MBA architectural frame versus conventional design development approaches are illustrated in FIG. 26.
- Background tasks 283 are shown on the left-hand side and foreground tasks 284 are illustrate on the right hand side of the drawing, with the proviso that tasks that would have been characterized as foreground tasks in a conventional environment have been moved from the left background tasks 283, to the right foreground tasks 284, and interposed between the ASIC specification phase (1 month) 290, and the latter half of the ASIC top level integration phase 296.
- ASIC specification phase 291, ASIC blocks RTL 292, ASIC blocks verification 293, ASIC blocks synthesis 294 and portion of the ASIC top level integration 296 have removed as foreground tasks with approximate time-saving by the MBA infrastructure above 4.25 months. Only a portion of the ASIC top level verification, SDF files 298, timing verification 299, and Tape-out 300 phases typically performed remain, a foreground task. The design steps saved by using the MBA infrastructure has reduced the nine-month design task to 4.75 months. Of course those workers having ordinary skill in the art will appreciate that this numerical example is exemplary only, and that's the particular time savings will depend on the nature of the ASIC to be designed; however, the savings are clear.
- the inventive FMBA/MBA Architecture frame effectively addresses the heretofore un-met need for power management in systems-on-a-chip designs and devices, especially for battery operated or powered devices.
- the inventive structures and methods are also applicable to systems powered by fuel cells, solar power arrays, or for example, where power is stored in capacitive storage devices.
- the inventive FMBA/MBA architecture frame also reduces ASIC design time and permits the identification of any problems with a design or implementation at a much earlier design phase. Problems that may be discovered or identified earlier in the design cycle include for example, chip level performance, static timing analysis, scan insertion, ATPG, clocking methodology for low power design at the module and/or chip level, and the like.
- the inventive structure and method also allow the ASIC designer to focus on key design features, rather than designing a complete system piece-by-piece.
- the invention also allows chip-level simulation to be performed at the beginning of the design cycle.
- this aspect of the invention provides a parallel design methodology rather than the traditional design development methodology which was largely sequential or serial.
- the dynamic task power management method implemented on the FMBA/MBA (referred to as MBA) Architecture adds further (and more precise) power management to the system active state, by dynamic clock frequency control to the otherwise free running MBA bus clock and consequently to the MBA modules gated clock.
- the inventive dynamic task power management method is implemented by assigning two signals to each MBA master module. The signals are directed to the MBA Arbiter and provides information regarding task performance requirements that the master module will execute on the MBA bus.
- the MBA Arbiter re-assigns (i) priority, and (ii) MBA bus clock speed, according to a task performance factor.
- the inventive structure and method provide an arbiter that resigns only one of either priority, or MBA bus clock speed.
- the MBA clock speed is adjusted according to the speed requirement (performance requirement) of the task being executed.
- performance requirement performance requirement
- the FMBA/MBA clock defaults to the lowest speed possible.
- the gated clock to particular devices would be stopped to each device that is not being accessed during that cycle, so that when no tasks are accessing any devices, all gated clocks would be stopped.
- the task performance factor is a number or other indicator that specifies the task performance requirements and is typically determined prior to or during the design. Task performance factors are described in greater detail elsewhere in this description.
- the MBA bus clock speed is maximum only when the task requires that level of operation so that high-power or energy consumption rates are experienced only when system demands so dictate.
- the system operates at a lower frequency or even at the lowest frequency possible, such as for example at the MBA bus idle state frequency. Accordingly under the inventive method, a low power consumption state is achieved even when the system is active.
- FIG. 27 shows an exemplary embodiment of the inventive architecture (apparatus) and signals used in the dynamic task power management method.
- inventive architecture apparatus
- FIG. 27 shows an exemplary embodiment of the inventive architecture (apparatus) and signals used in the dynamic task power management method.
- system 303 includes MBA bus arbiter 248, MBA clock generator to 49, first, second, and third MBA master modules 305, 306, and 307, and MBA slave module 308.
- MBA/FMBA bus 310 provides in its low-module communication between and among the MBA/FMBA modules.
- the fast modular bus architecture (FMBA) is described in greater detail hereinafter.
- the MBA clock signal (MBA -- clk) 304 (also referred to as Tclk because in one embodiment of the invention, the CPU output clock (Tclk) is used to generate the MBA clock signal) is generated by MBA clock generator 249.
- Request signals for example, Req1, Req2, Req3 are generated by mater modules needing access to the MBA or FMBA bus and sent to MBA/FMBA bus arbiter 248.
- Performance factor signals for example, Perf1, Perf2, Perf3 are also generated by mater MBA modules (including by any host bridge modules).
- the performance factor bits are parameterized and assigned to each system device address range. When an address for an MBA master module is communicated over the bus selecting an MBA module, the performance factor bits associated with that MBA module are communicated by the module requesting access to the bus so that the desired performance and power-saving combination are achieved.
- the bus request signals (Req 1, Req 2, Req 3) 316, 318, 320, sent to MBA bus arbiter 248 initiate process where in conjunction with the performance factor signals 315, 317, 319, the divisor signals 321 sent to each module are adjusted in accordance with those performance factors.
- the divisor signals are intended to inform other components of the system that the clock has been adjusted in accordance with the specified performance factor, and that for purposes of maintaining accurate timing of any real-time clocks that may be present. Alternatively, separate real time clocks may be provided in which instance the divisor signals are not needed.
- the manner in which the performance factor signals are utilized is further described suspect the timing diagrams of FIG. 28.
- the timing diagram in FIG. 28 shows the relationship between Tclk 304, mba -- clk 279, the occurrence of bus access request signal (req1) from MBA master 1 305, bus access grant signal (gnt1 -- I) received from MBA bus arbiter 248, and further relationship to performance factor signal (Perf1(1:0)), divisor signal (div(1:0)), and data signal (data(1:0)).
- the performance factor signal is represented by Perf1(n:0)), divisor signal div(n:0), and data signal data(31:0) or some other number of bits.
- the T-clock signal (Tclk) runs continuously at a predetermined rate, usually the rate of the CPU, while the rate of the MBA clock signal (mba -- clk) varies as a function of the state of be divisor signal 321 sent to the particular module.
- the request by a module for bus access may be granted by the bus arbiter according to relationship already described herein before. In this example, the request for bus access has been made by master module 1, the first request for a cache line read requiring high-performance response, and a second request for write cycle normally having a low performance response factor.
- Each MBA master and MBA slave receives the same divisor signals.
- the performance factor signal sent by each master module to the MBA bus arbiter does not directly effect of the frequency of the clock running for each individual module.
- the clock frequency is modified for each cycle, according to the performance request factor and each module sees this frequency (common MBA -- clk), however, the for modules that are not participating in the particular cycle, the gated clock (gated -- clk) is "OFF" and they do not see the clock.
- Each MBA master module has MBA bus Request signal (Req), and also has a performance factor encoded in a performance factor signal, such as the two-bit or two-value signal Perf(1:0) or the multi-bit or multi-value performance factor Perf(n:0), the performance factor signals are asserted at the same time, then the request signals and are routed to the MBA central arbiter.
- a performance factor signal such as the two-bit or two-value signal Perf(1:0) or the multi-bit or multi-value performance factor Perf(n:0
- the performance factor signal states are as indicated in Table IA Perf(1:0) use two bits and a second embodiment in Table IB use three bits to provide more degrees of control over performance, but those workers having ordinary skill in light of this description will appreciate that the task performance requirements may be communicated by other means, and that structures for an encoded signal in the form of Perf(1:0) or more generally Perf(n:0) may take alternative forms and the subjective descriptors "high performance”, “medium performance”, “low performance”, and “very low performance” are intended to convey the idea of ranges of performance from minimum in the active state to maximum in the active state.
- the system designer assigns the particular performance factors for each task performed by any MBA master module. For example, typically input/output (I/O) outputs to LED or Keyboard are “very low performance” tasks; serial interface ports are “low performance tasks”; USB, single memory read writes to DRAM and DMA I/O channels are “medium performance” tasks; and Data Cache Line operations, display and graphic tasks, and high speed modem operations will be “high performance tasks.”
- I/O input/output
- the Performance factor request signals Perf(1:0) are associated with the MBA Arbiter priority scheme, MBA clock frequency, and the MBA clock divide signals div(1:0) in a first embodiment or div(n:0) in a second embodiment.
- the MBA bus specification defines the div(1:0) signals in the manner indicated in Table IIA and the div(n:0) signals in the manner indicated in Table IIB.
- the div(n:0) signals providing a greater number of levels of performance and power conservation than the div(1:0) signals.
- a clock divisor circuit receives the raw bus clock signal and divides that signal by div(1:0) or div(n:0) and provides both the modified bus clock signal to the main bus and an indication of the frequency change in the form of the divisor so that any module maintaining a real time clock can maintain real-time clock integrity in spite of the clock frequency division.
- the timing diagram in FIG. 28 illustrates the Host bridge (MBA master 1 in FIG. 27) requesting the MBA bus for two tasks with different performance factors.
- the first cycle is a D-Cache line read (for example, a burst of four Dwords on the MBA bus).
- Perf(1:0) 00 to indicate a high performance task.
- FIG. 29 there is illustrated an exemplary MBA Arbiter, arbitrating priority based on the task performance factor and controlling the MBA clock frequency accordingly.
- FIG. 30 illustrates the MBA clock generator circuit controlled by the MBA Arbiter.
- the exemplary flowchart diagram illustrates a procedure 350 in which an exemplary MBA arbiter 248 arbitrates priority based on the particular task performance factor and controls the MBA clock frequency to a predetermined value accordingly.
- the system is reset (step 351) upon the occurrence of a reset signal or power-on. Typically the reset or power-on takes the system to an idle state. While idle, a test is performed to determine if there's been a bus request (step 352) by a master module. If no idle request has occurred (step 353) then the system continues in idle and continues to test for a bus request until a bus request does occur.
- step 354 a series of tasks are performed to determine whether the performance factor was specified as the "high-performance” (00), “medium performance” (01), “low performance” (10), or “very low performance” or the default condition (11).
- the levels are specified as any of: Very Highest performance, High performance, Good performance, Intermediate performance, Adequate performance, Lower performance, Low performance, Very Low performance.
- the steps for the two-bit performance factors illustrated in FIG. 29 are cascaded and correspond to steps 355, 356, 357, and 358.
- a similar procedure and method will readily be appreciated by those workers having ordinary skill in the art in light of this description for performance factors specified with more (or fewer) bits.
- the testing starts for the highest performance factor and continues until the low performance factor is reached. If during any stages of task, the performance factor associated with the idle request matches, an acknowledgment (ack) signal is sent to the requestor the divisor signal is specified by the bus arbiter and set to the corresponding value (steps 359, 360, 361, 362) and as specified in Table II by the clock generator circuit and clock tree 250, already described.
- ack acknowledgment
- the test determines if the cycle for which the performance task factor applies has been completed (step 363) if the test determines that the cycle is not done, then the cycle is repeatedly performed (step 364) until cycle has completed (step 365) at which time the divisor signal is sent back to the default value for low performance (here, "11") (step 366) and the procedure returns to perform another tasks and see if the subsequent idle request has been received (352). This procedure is performed repeatedly during operation of the system.
- Output of multiplexer 375 is communicated to MBA clock tree 250 (see FIG. 21) which generates amplified/buffered non-inverted (mba -- clk) 380 and inverted (mbaclk -- n) 381 versions of the signal onto the MBA bus 202.
- a bus cycle (cycle) signal 382 is received by MBA arbiter 248 from a master module after it received a grant to access the bus and operates to inform every other module that a bus access cycle has started.
- inventive dynamic task power management structure and method provide additional power savings to the distributed power management method of the MBA Architecture, without significant impact on the overall system performance.
- MCA modular bus architecture
- FMBA fast modular bus architecture
- Dual-Edge FIFO (DFIFO) 401 provides means to interconnect internal modules at FMBA/MBA back-end level (core logic level) 402, block level (MBA/FMBA module level) 403, or chip level (usually including the processor and one or more MBA modules) 404 for reused purposes.
- DFIFO typically includes three primary modules or components: (i) host FIFO interface 405, (ii) target FIFO interface 406, and (iii) RAM (or register block) 407.
- the FIFO or DFIFO is used as a back end interface because it is very easy to design to, as many workers having ordinary skill in the art are familiar with interfacing generic FIFOs.
- the host interface 405 is responsible for accepting data from host side 408 and flags situations it is full or when valid read data is present in the read data FIFO.
- Target Interface 406 on the target side 413 is responsible for transferring data out from FIFO 410, accepting read data from target core module 411, and flags when the read data FIFO is full.
- Dual-Edge FIFO 420 is designed to accept data transfer on single edge and/or on both edges of host clock 421 from host side 408, and at the same time the dual-edge FIFO 420 can transfer data out on a single edge and/or on both edges of the target clock to the target side 413 without redesigning host FIFO interface (hst -- fintf.v) 405 and target FIFO interface (tg -- fintf.v) 406.
- Host 422 initiates a write request with data transfer rate on dual edges of clock by asserting request to access FIFO (rq -- f) and request transfer data rate on dual edge of clock (tfde -- rq) signals.
- DFIFO 401 If DFIFO 401 is configured to support data transfer rate on dual edge of clock, it will acknowledge the request by asserting FIFO acknowledges request from host (f -- ack) when FIFO has space available to take more data in and FIFO acknowledges transfer data rate host request (f -- tfde -- ack) signals. In an analogous manner, but in an opposite direction, the DFIFO 401 can initiate a write request with data transfer rate on dual edges of clock to target by asserting FIFO request to access target (f -- rq) and FIFO request data transfer rate on dual edges of clock (f -- tfde -- rq).
- target can handle data transfer rate on dual edge of clock, it will accept the request from FIFO by asserting target core module acknowledge FIFO request (cm -- ack) and target core module acknowledge data transfer rate FIFO request (cm -- tfde -- ack).
- the dual-edge FIFO is designed to be configured in different ways without requiring redesign of the host FIFO interface (hst -- fintf.v) 405 or target FIFO interface (tg -- fintf.v) 406.
- the DFIFO can be configured in several ways, including for example: (i) as a synchronous FIFO (by removing or bypassing synchronization); (ii) as an asynchronous FIFO using synchronization signals; (iii) with different combination RAM (or block register) and/or size to for example, provide the proper amount or size of RAM; or (iv) to provide only single edge at a time and a different data rate.
- FIG. 32 there is shown a first exemplary FMBA/MBA Host Bridge (HBU) 462 having a Dual-edge FIFO 460 of the type described herein before.
- HBU FMBA/MBA Host Bridge
- the dual-edge FIFO 462 allows the Host Bridge 462 to support any type of processor, microprocessor, or CPU.
- processors made by Intel, AMD, ArmStrong, National Semiconductor, Motorola, Apple Computer, IBM, or the like are supported.
- FIG. 33 there is illustrated an exemplary FMBA/MBA Host Bridge dual-edge FIFO in which there is: (i) a single edge data transfer to CPU core 471, and (ii) a dual-edge data transfer to an FMBA back-end interface 472.
- Host Bridge 462 and Dual-edge FIFO 463 are compared to those described relative to FIG. 32.
- a Memory Control Unit (MCU) 482 host dual-edge FIFO 463 has a dual-edge data transfer to DDRDRAM (or RAMBUS) 483 and a dual-edge data transfer to FMBA back-end interface 484.
- MCU 482 dual-edge host FIFO 463 has a dual-edge data transfer to DDRDRAM (or RAMBUS) 485 and a single-edge data transfer to MBA back-end interface 486.
- the dual-edge FIFO of FMBA supports dual-edge data transfer while still permitting connectivity to single-edge MBA structures which only support single-edge data transfer.
- This conversion between dual-edge and single-edge operation is advantageous in permitting existing MBA modules and module designs to be used for FMBA designs, thereby increasing the number of module designs available.
- FIG. 36 is a timing diagram showing signal timing for a host signal group 505 and a target signal group 506 for single-edge data transfer to single-edge data transfer (see left-hand portion of timing diagram) and for single-edge data transfer to dual-edge data transfer (see right-hand portion of timing diagram).
- the host group signals are the signals that are generated and/or sent by the host side 408 and are as described in Table III.
- the target group signals are the signals that are generated and/or sent by the target side 413 and are as described in Table IV.
- the designations D0, D1, D2, D3, D4, D5, D6, D7 refer to data phases. Typically, data may be 8 bits, 16 bits, 32 bits, 64 bits, or more.
- the host write data (wdat -- i) signal 513 is a single-edge data transfer while the FIFO write data out (f -- wd -- o) 519, the output of the FIFO, is a dual-edge data transfer.
- FIG. 37 is a timing diagram showing signal timing for a signal member of host signal group 505 and signal member of a target signal group 506 for dual-edge data transfer to single-edge data transfer (see left-hand portion of timing diagram) and for dual-edge data transfer to dual-edge data transfer (see right-hand portion of timing diagram).
- FIG. 37 provides a timing diagram analogous to that illustrated in FIG. 36 except that it shows signal and signal timing for dual-edge data transfer to single-edge data transfer (see left-hand portion of timing diagram) and for dual-edge data transfer to dual-edge data transfer (See right-hand portion of timing diagram).
- One notable difference between the signal timing in FIG. 36 and FIG. 37 is that in FIG. 37, the host transfers D0, D1, D2, D3 data phases on a dual-edge clock while the target receives these same data phases at one-half the rate as it is only capable of single-edge operation.
- FIG. 38 illustrates an exemplary embodiment of a Write Data FIFO RAM (or Register Block) structure 550 to handle data in/out on dual-edge clock or single-edge clock.
- First and second write data RAMs 551,552 each receive input data (data -- in) 553.
- the data -- in 553 is stored in first write data RAM 551 with the positive edge of the gated write clock signal (gw -- clk) 558, where the gated write clock signal is generated by the clock gate circuit.
- This clock gate circuit is described in greater detail elsewhere in this application.
- Control signals including write address control signal (wa) 554 and write enable control signal (wr -- en) 557, are generated by the FIFO control state machine circuit.
- a second write data RAM 552 can be configured to operate as an extension of first write data RAM 551 by selecting the multiplexers 564, 565 via the dual-edge select signal 566 which is generated by a configuration register.
- the write enable signal 557 and the gated clock signal 558 operate to store data with the positive edge of the gated write clock signal in the second write data RAM 552 in a similar manner as for the write data RAM 551 described earlier.
- the data output of the FIFOs is read out with the read clock signal (r -- clk) 573 and the control signals read address (ra) 571 and read enable (r -- en) 572 supplied by the FIFO control state machine.
- the data output coming from the second write data RAM 552, referred to as data out 2 (data -- o -- 2) 582, is positive edge or negative edge sample data depending on the write operation selected via multiplexers 564, 565 as described above.
- the output multiplexer 577 is control by the state machine depending on the dual edge or single edge configuration mode register bit dual edge select signal 566.
- FIG. 39 illustrates an exemplary embodiment of a Read Data FIFO RAM (or Register Block) structure 584 to handle data in/out on dual-edge clock or single-edge clock only.
- This is a different physical buffer for read operations and effectively operates in the reverse direction relative to the write buffer in FIG. 38. It is readily apparent from the structure and the signals, that the structure and operation is very much similar to that just described for the write data FIFO RAM 550 in FIG. 38, except that the read data RAM generates a read FIFO data (f -- rf -- dato) signal 585 at its output 586, in response to an enable data out signal (e -- out) 590.
- f -- rf -- dato read FIFO data
- the inventive dual-edge FIFO features provide and/or support: (i) Parameterized synchronous or asynchronous FIFO, (ii) Parameterized RAM size and RAM data bus width, (iii) Parameterized data rate transfer (either singular (positive) edge clocking or dual-edge clocking), (iv) configurable to support different combinational Write Parameter RAM and Write Data RAM, or Write Parameter RAM and Read Data RAM, or write data RAM only without read; (v) Flushing of current FIFO request, and flushing of entire FIFO requests may be used in case error occurs; and (vi) Parameterized control bit register "enough space acknowledge" (req -- esp -- ack) to indicate FIFO go-ahead to request target access even if not all write data is in the memory yet.
- Parameterized control bit register "enough space acknowledge" (req -- esp -- ack) to indicate FIFO go-ahead to request target access even if not all write data is in the memory yet.
- the host initiates a write cycle request by asserting a request to access FIFO signal (rq -- f) and keeping it until FIFO asserts FIFO acknowledges request from host (f -- ack).
- Host makes parameter set (address, command, byte enable, burst size, burst request, burst type) and write data available during asserting request to access FIFO (rq -- f) by asserting Host parameter set valid (wf -- p -- vld) and Host write data valid (wf -- d -- vld).
- Host wants to transfer data rate on both clock edges by asserting request transfer data rate on dual edge of clock (tfde -- rq) and keeping it until FIFO asserts FIFO acknowledges request from host (f -- ack). If FIFO asserts FIFO acknowledges transfer data rate host request (tfde -- ack) that indicates FIFO can accept data transfer rate on both edges of clock.
- a data transfer request is initiated from FIFO to the target by asserting FIFO request to access target (f -- rq) or by asserting FIFO request data transfer rate on dual edges of clock (f -- tfde -- rq) if data transfer rate on both edges of clock and keeping it until target core module asserts target core module acknowledge FIFO request (cm -- ack).
- Target core module acknowledge FIFO request (cm -- ack)
- FIFO deasserts FIFO request to access target (f -- rq) and at the same loading next write data from FIFO if target asserts Target core module indicates it can accept next write data from FIFO (cm -- ok -- nxwdo).
- Host can write data into FIFO simultaneously it transfer data out to target core module
- Host initiates a read cycle request by asserting request to access FIFO (rq -- f) and keeping it until FIFO asserts FIFO acknowledges request from host (f -- ack).
- Host makes parameter set (address, command, byte enable, burst size, burst request, burst type) available during asserting request to access FIFO (rq -- f) by asserting Host parameter set valid (wf -- p -- vld).
- Host asserts Request transfer data rate on dual edge of clock (tfde -- rq) if it want to have data transfer rate on both edges of clocks.
- FIGS. 40-46 illustrate other functional and operational features of the inventive structure and method.
- FIG. 40 is an exemplary signal timing diagram for a dual-edge to single-edge data transfer and dual-edge to dual-edge transfer timing.
- FIG. 41 we show among other features, the relationship between the time of the host request to the time of FIFO request to access target core module, the timing of the single back to back request, and the burst request.
- the host interface timing for the host request to send data into the write FIFO At #1, the write FIFO is fall. At #2, the write FIFO is not full any more, but it does not have enough space to take all the data. At #3, the write FIFO has enough space to take all the data. At #4, the signal f -- ox -- nxwd -- i is a "don't care" during data transfer on both clock edges. At #5, #6, and #9 the cycle has not finished yet and the bus value must be kept the same. At #11 and #13 the cycle has finished but no new cycle has begun so the bus value must be kept the same.
- the host interface timing for back-to-back single write request At #*1, #*2, and #*3 occurrence of a back-to-back single write request.
- the core module request send data to master write FIFO, but it is not ready to accept the data.
- #*5, #*7, and #*8 a burst write request and a data transfer rate on dual edges of the clock request are accepted.
- #*6, #*9, and #*10 a burst write request and a both clock edge transfer rate are requested but not accepted.
- the core module write data is valid.
- the core module write data are not valid yet.
- FIG. 44 we show among other features, timing for a host request read data from target core module.
- the same bus value must be kept until the cycle finishes.
- the same data value must be kept until the read data is ready.
- the target interface signal timing we show among other features, timing for the FIFO sending out host read request to the target core module.
- cm -- rdat -- vld we particularly point out for the cm -- rdat -- vld signal that it can take more than one clock to have core module read data back from the time the core module acknowledges the request.
- #*2, #*4, and #*6 the same value must be kept until a new request is active.
- the core module must hold the read data value until new request and new read data valid.
- the core module must hold the read data value the same until the slave FIFO is ready to accept the enable next read data if the core module is ready.
- aspects of the invention provide structure and method for a system-on-a-chip architecture based on the modular bus Architecture (MBA) or fast modular bus architecture (FMBA).
- MBA modular bus Architecture
- FMBA fast modular bus architecture
- the Architecture has embedded two added inventive methods for System Power Management when operating in the Active State: (1) MBA distributed power management; and (2) Dynamic task performance power management methods; in additional to any other power management or power conservation structure or method that may be implemented independent of its hardware, firmware, or software basis.
- the MBA bus, and MBA bus Central Arbiter include the logic, and generate and respond to the signals required, to implement the above power management structures and methods (procedures).
- the MBA Architecture Frame is the back-bone to build battery operated Systems on a Chip.
- the MBA Architecture frame is parameterized, which permits a top-down design methodology.
- This embodiment of the MBA Architecture Frame also includes within the MBA Arbiter and the MBA clock generator circuit means for implementing MBA dynamic task performance power management. It also contains the MBA I/F logic which includes the MBA clk gate.
- the MBA architecture includes two types of sockets.
- the first type are referred to as "existing library modules” (type-1 modules).
- the second type of socket is referred to as a “new modules” (type-2 modules).
- Existing modules (type-1 modules) from the MBA module library plug-in sockets are identified as: D and E in FIG. 47.
- New modules (type-2 modules) plug-in sockets A, B, C in FIG. 47.
- Other aspects and elements in the embodiment of FIG. 46 have already been described relative to FIG. 21.
- the invention also provides a top-down design method within the MBA architectural frame already described.
- the inventive design method provides a procedure for designing a "new" system on a chip.
- a RAMBUS memory controller adds one new module, in this example, a RAMBUS memory controller
- system-on-a-chip we mean a single chip having all of the essential elements of a computer, except that memory may optionally be provided on one or more separate chips.
- One embodiment of the inventive design method 800 is now described and includes the following steps:
- the inventive method may also optionally include simulation, testing, and fine tuning (for example, of the performance factors) if necessary or desired.
- the designer can start simulating the new memory controller by executing commands from the CPU, activating the DMA controller and LCD controller and evaluating overall system performance. Fine tune system task performance factors, if necessary. Selected or all performance factors may optionally be selectable under user control if desired by providing appropriate user interface, storage means, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
Description
______________________________________ 2.08 × f × (number of gates × K) = power consumed (mW) 2.08 × 100 MHZ × (4000 gates × 1/3) = 277 milliwatts of power ______________________________________
2.08×100 MHZ×(270 gates×1/3)=19 milliwatts of power.
TABLE IA ______________________________________ First Exemplary Performance Factor Signal Perf(1:0) Encoding Perf (1:0) Description ______________________________________ 00High performance 01Medium performance 10Low performance 11 Very Low performance (default) ______________________________________
TABLE IB ______________________________________ Second Exemplary Performance Factor Signal Perf(n:0) Encoding Perf (n:0), n = 2 perf2 perf1 perf0 Description ______________________________________ 0 0 0 VeryHighest performance 0 0 1High performance 0 1 0Good performance 0 1 1Intermediate performance 1 0 0Adequate performance 1 0 1Lower performance 1 1 0Low performance 1 1 1 Very Low performance ______________________________________
TABLE IIA ______________________________________ First Exemplary Clock Divide Signal Encoding div(1:0) Description ______________________________________ 00 1:1Full speed 01 1:2Half speed 10 1:4Quarter speed 11 1:8 Eighth speed ______________________________________
TABLE IIB ______________________________________ Second Exemplary Clock Divide Signal Encoding div(n:0) divn div2 div1 div0 Description ______________________________________ 0 0 0 0 1:1Full speed 0 0 0 1 1:2Half speed 0 0 1 0 1:4Quarter speed 0 0 1 1 1:8Eighth speed 0 1 0 0 1:16Sixteenth speed 0 1 0 1 1:32 Thirty-second speed 0 1 1 0 1:64 Sixty-fourth speed 0 1 1 1 1:128 One-hundred-twenty-eighth speed . . . . . . . . . . . . . . . 1 1 1 1 1:(n = 1) × 2 ______________________________________
TABLE III __________________________________________________________________________ Host Signal Group Clock Registered Signal Name I/O Domain Required Function __________________________________________________________________________ rq.sub.-- f I hst.sub.-- clk yes "1" Request to access FIFO tfde.sub.-- rq I hst.sub.-- clk yes "1" Request transfer data rate on dual edge of clock a.sub.-- i I hst.sub.-- clk yes [n:0] Host request address be.sub.-- i I hst.sub.-- clk yes [n:0] Host request byte enable cmd.sub.-- i I hst.sub.-- clk yes [n:0] Host request command bstsize.sub.-- i I hst.sub.-- clk yes [n:0] Host request burst size bstreq.sub.-- 1.sub.-- i I hst.sub.-- clk yes "0" Host request burst cycle bsttype.sub.-- i I hst.sub.-- clk yes Host request burst type wf.sub.-- p.sub.-- vld I hst.sub.-- clk yes "1" Host parameter set valid wf.sub.-- d.sub.-- vld I hst.sub.-- clk yes "1" Host write data valid 1st.sub.-- wd.sub.-- i I hst.sub.-- clk yes "1" Host indicates burst last write data wdat.sub.-- i I hst.sub.-- clk yes [n:0] Host write data rd.sub.-- i I hst.sub.-- clk yes "1" Host indicates reading data out from read FIFO reg.sub.-- esp.sub.-- ack I hst.sub.-- clk or yes "1" Control register bit enable FIFO to parametrize acknowledge host request only when parameter FIFO has space available & write data FIFO has enough space to accept all write data in every clock. "0" Control register bit enable FIFO to acknowledge host request any time when parameter/write data FIFO has space available. It doesn't need to have enough space to accept all write data in every clock hst.sub.-- clk I hst.sub.-- clk yes Write clock f.sub.-- ack O hst.sub.-- clk yes "1" FIFO acknowledges request from host when FIFO has space available to take more data in. f.sub.-- tfde.sub.-- ack O hst.sub.-- clk yes "1" FIFO acknowledges transfer data rate host request f.sub.-- wf.sub.-- full O hst.sub.-- clk yes "1" FIFO indicates either parameter or write data FIFO is full (cannot accept any more data in). Data will be lost if keep writing data into FIFO when it is full f.sub.-- ok.sub.-- nxwd.sub.-- i O hst.sub.-- clk yes "1" FIFO indicates it can accept next write from host f.sub.-- rf.sub.-- not.sub.-- empty O hst.sub.-- clk yes "1" FIFO not empty, data valid in read FIFO f.sub.-- rf.sub.-- dato O hst.sub.-- clk yes [n:0] Read data from read FIFO __________________________________________________________________________
TABLE IV ______________________________________ Target Signal Group Re- gistered Clock Re- Signal Name I/O Domain quired Function ______________________________________ cm.sub.-- ack I tg.sub.-- clk yes "1" Target core module acknowledge FIFO request cm.sub.-- tfde.sub.-- ack I tg.sub.-- clk yes "1" Target core module acknowledge data transfer rate FIFO request cm.sub.-- ok.sub.-- nxwdo I tg.sub.-- clk yes "1" Target core module indicates it can accept next write data from FIFO cm.sub.-- rdat.sub.-- vld I tg.sub.-- clk yes "1" Target core module indicates read data host request is valid cm.sub.-- rdat.sub.-- i I tg.sub.-- clk yes [n:0] Target core module read data tg.sub.-- clk I tg.sub.-- clk yes Read clock f.sub.-- rq O tg.sub.-- clk yes "1" FIFO request to access target f.sub.-- tfde.sub.-- rq O tg.sub.-- clk yes "1" FIFO request data transfer rate on dual edges of clock f.sub.-- a.sub.-- o O tg.sub.-- clk yes [n:0] FIFO request address f.sub.-- be.sub.-- o O tg.sub.-- clk yes [n:0] FIFO request byte enable f.sub.-- cmd.sub.-- o O tg.sub.-- clk yes [n:0] FIFO request command f.sub.-- bstsize.sub.-- o O tg.sub.-- clk yes [n:0] FIFO request burst size f.sub.-- bstreq.sub.-- 1.sub.-- o O tg.sub.-- clk yes "0" FIFO request burst cycle f.sub.-- bsttype.sub.-- o O tg.sub.-- clk yes FIFO request burst type f.sub.-- wd.sub.-- o O tg.sub.-- clk yes [n:0] FIFO write data out f.sub.-- wd.sub.-- vld O tg.sub.-- clk yes "1" FIFO indicates write data valid (this signal is optionally used because in some systems the host cannot keep up write data transfer every clock or host write data may not be ready during the middle of transferring write data) f.sub.-- rdf.sub.-- full O tg.sub.-- clk yes "1" Read data FIFO ______________________________________ full
______________________________________ Step 801- Get MBA Architecture Frame from MBA library. Step 802- Configure Architecture Frame to have one new module socket, the rest of sockets will be modules from the MBA library. Step 803- Configure memory and I/O system decode map on host bridge unit. Step 804- Configure new module MBA I/F logic, as master or slave, and as single edge or dual edge. Step 805- If the new module is a master module then configure new module tasks performance factors. Step 806- Configure new module register I/O space and memory space. Step 807- Compile design (In some embodiments, compilation step may wait until all modules have been added.) Step 808- Repeat Steps 801-807 if and as necessary to add additional modules. Step 809- Done. ______________________________________
Claims (4)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/376,271 US6115823A (en) | 1997-06-17 | 1999-08-18 | System and method for task performance based dynamic distributed power management in a computer system and design method therefor |
US09/570,318 US6813674B1 (en) | 1997-06-17 | 2000-05-12 | Dual-edge fifo interface |
US10/938,920 US7207014B2 (en) | 1997-06-17 | 2004-09-10 | Method for modular design of a computer system-on-a-chip |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/877,140 US5987614A (en) | 1997-06-17 | 1997-06-17 | Distributed power management system and method for computer |
US09/376,271 US6115823A (en) | 1997-06-17 | 1999-08-18 | System and method for task performance based dynamic distributed power management in a computer system and design method therefor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/877,140 Continuation-In-Part US5987614A (en) | 1997-06-17 | 1997-06-17 | Distributed power management system and method for computer |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/570,318 Division US6813674B1 (en) | 1997-06-17 | 2000-05-12 | Dual-edge fifo interface |
Publications (1)
Publication Number | Publication Date |
---|---|
US6115823A true US6115823A (en) | 2000-09-05 |
Family
ID=33302716
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/376,271 Expired - Lifetime US6115823A (en) | 1997-06-17 | 1999-08-18 | System and method for task performance based dynamic distributed power management in a computer system and design method therefor |
US09/570,318 Expired - Lifetime US6813674B1 (en) | 1997-06-17 | 2000-05-12 | Dual-edge fifo interface |
US10/938,920 Expired - Lifetime US7207014B2 (en) | 1997-06-17 | 2004-09-10 | Method for modular design of a computer system-on-a-chip |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/570,318 Expired - Lifetime US6813674B1 (en) | 1997-06-17 | 2000-05-12 | Dual-edge fifo interface |
US10/938,920 Expired - Lifetime US7207014B2 (en) | 1997-06-17 | 2004-09-10 | Method for modular design of a computer system-on-a-chip |
Country Status (1)
Country | Link |
---|---|
US (3) | US6115823A (en) |
Cited By (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330639B1 (en) * | 1999-06-29 | 2001-12-11 | Intel Corporation | Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices |
WO2002013024A1 (en) * | 2000-08-08 | 2002-02-14 | Sonics, Inc. | Logic system with configurable interface |
US20020029353A1 (en) * | 2000-09-01 | 2002-03-07 | Lg Electronics Inc. | CPU scheduling method and apparatus |
US20020062454A1 (en) * | 2000-09-27 | 2002-05-23 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
US20020120852A1 (en) * | 2001-02-27 | 2002-08-29 | Chidambaram Krishnan | Power management for subscriber identity module |
US20020120857A1 (en) * | 2001-02-27 | 2002-08-29 | Chidambaram Krishnan | Subscriber identity module verification during power management |
US20020129173A1 (en) * | 2001-03-09 | 2002-09-12 | Wolf-Dietrich Weber | Communications system and method with non-blocking shared interface |
US20020137501A1 (en) * | 2001-03-23 | 2002-09-26 | Rajendra Datar | Systems and methods for wireless memory programming |
WO2002099664A1 (en) * | 2001-06-06 | 2002-12-12 | Infineon Technologies Ag | Electronic circuit having peripheral units with asynchronous clock pulses |
US20030004699A1 (en) * | 2001-06-04 | 2003-01-02 | Choi Charles Y. | Method and apparatus for evaluating an integrated circuit model |
US20030005209A1 (en) * | 2001-06-28 | 2003-01-02 | Kazumasa Ozawa | Semiconductor integrated circuit |
US6519290B1 (en) * | 2000-03-10 | 2003-02-11 | Cypress Semiconductor Corp. | Integrated radio frequency interface |
US20030030326A1 (en) * | 2001-08-10 | 2003-02-13 | Shakti Systems, Inc. | Distributed power and supply architecture |
US20030046599A1 (en) * | 2001-08-31 | 2003-03-06 | Kabushiki Kaisha Toshiba | Apparatus for controlling card device and clock control method |
US20030050989A1 (en) * | 2001-09-10 | 2003-03-13 | Digigram | Audio data transmission system between a master module and slave modules by means of a digital communication network |
US6542958B1 (en) * | 2000-05-10 | 2003-04-01 | Elan Research | Software control of DRAM refresh to reduce power consumption in a data processing system |
US20030090918A1 (en) * | 2001-11-05 | 2003-05-15 | Krishna Shenai | DC-DC converter with resonant gate drive |
US20030090237A1 (en) * | 2001-11-05 | 2003-05-15 | Krishna Shenai | Monolithic battery charging device |
US20030154355A1 (en) * | 2002-01-24 | 2003-08-14 | Xtec, Incorporated | Methods and apparatus for providing a memory challenge and response |
US20030182528A1 (en) * | 2002-03-20 | 2003-09-25 | Nec Electronics Corporation | Single-chip microcomputer |
US20030189868A1 (en) * | 2002-04-09 | 2003-10-09 | Riesenman Robert J. | Early power-down digital memory device and method |
US20030200355A1 (en) * | 1999-07-26 | 2003-10-23 | Microsoft Corporation | System and method for accessing information made available by a kernel mode driver |
US20030197676A1 (en) * | 2002-04-23 | 2003-10-23 | Gateway, Inc. | Drive activity sampling and notification |
US20030217093A1 (en) * | 2002-05-20 | 2003-11-20 | Dell Products L.P. | Method to distribute periodic task workload |
US6665802B1 (en) * | 2000-02-29 | 2003-12-16 | Infineon Technologies North America Corp. | Power management and control for a microcontroller |
US20040015732A1 (en) * | 2002-07-18 | 2004-01-22 | Agere Systems, Inc. | Method and apparatus for minimizing power requirements in a computer peripheral device while in suspend state and returning to full operation state without loss of data |
US6687830B2 (en) * | 2001-01-23 | 2004-02-03 | Winbond Electronics Corp. | Energy-saving control interface and method for power-on identification |
US6725385B1 (en) * | 2000-09-11 | 2004-04-20 | International Business Machines Corporation | Intelligent electronic power controller |
US20040155860A1 (en) * | 2003-02-07 | 2004-08-12 | Wenstrand John S. | Wake-up detection method and apparatus embodying the same |
US20040223516A1 (en) * | 2003-05-10 | 2004-11-11 | Adkisson Richard W. | System and method for effectuating the transfer of data blocks across a clock boundary |
US20040233865A1 (en) * | 2003-05-10 | 2004-11-25 | Adkisson Richard W. | System and method for effectuating the transfer of data blocks including a header block across a clock boundary |
US6879948B1 (en) * | 1999-12-14 | 2005-04-12 | Silicon Graphics, Inc. | Synchronization of hardware simulation processes |
US20050125700A1 (en) * | 2003-12-05 | 2005-06-09 | Chang Ruei-Chuan | Windows-based power management method and related portable device |
US20050130705A1 (en) * | 2003-12-10 | 2005-06-16 | Samsung Electronics Co., Ltd. | Hybrid mobile terminal and method for controlling the same |
US6931557B2 (en) * | 1998-07-07 | 2005-08-16 | Fujitsu Limited | Information processing apparatus, power control method and recording medium to control a plurality of driving units according to the type of data to be processed |
US20050223262A1 (en) * | 2002-01-05 | 2005-10-06 | Yung-Huei Chen | Pipeline module circuit structure with reduced power consumption and method of operating the same |
US20050232218A1 (en) * | 2004-04-19 | 2005-10-20 | Broadcom Corporation | Low-power operation of systems requiring low-latency and high-throughput |
US20050256986A1 (en) * | 2004-05-14 | 2005-11-17 | Kyoung-Park Kim | Slave devices and methods for operating the same |
US20050289360A1 (en) * | 2004-06-01 | 2005-12-29 | Rajesh Banginwar | System to manage display power consumption |
US20060014574A1 (en) * | 2002-10-17 | 2006-01-19 | Linn Charles A | Method and system for decreasing power-on time for software-defined radios |
US20060035686A1 (en) * | 1999-07-23 | 2006-02-16 | Kyocera Corporation | Mobile telephone |
US20060163633A1 (en) * | 2004-09-01 | 2006-07-27 | Cem Basceri | Dielectric relaxation memory |
US20060177711A1 (en) * | 2003-05-02 | 2006-08-10 | Microsoft Corporation | Fuell cell control and data reporting |
US20060248360A1 (en) * | 2001-05-18 | 2006-11-02 | Fung Henry T | Multi-server and multi-CPU power management system and method |
US7143203B1 (en) * | 2002-04-26 | 2006-11-28 | Advanced Micro Devices, Inc. | Storage device control responsive to operational characteristics of a system |
US20070073709A1 (en) * | 2005-09-27 | 2007-03-29 | Lim Jin K | Centralized server-directed power management in a distributed computing system |
US20070245165A1 (en) * | 2000-09-27 | 2007-10-18 | Amphus, Inc. | System and method for activity or event based dynamic energy conserving server reconfiguration |
US20080084977A1 (en) * | 2006-10-10 | 2008-04-10 | Microsoft Corporation | Mitigating data usage in messaging applications |
CN100458657C (en) * | 2004-12-16 | 2009-02-04 | 国际商业机器公司 | Method and system of power management of multi-processor servers |
US20090100276A1 (en) * | 2005-10-27 | 2009-04-16 | Freescale Seimiconductor, Inc. | System and method for controlling voltage level and clock frequency supplied to a system |
US20090158060A1 (en) * | 2007-12-14 | 2009-06-18 | Nokia Corporation | Runtime control of system performance |
USRE40866E1 (en) | 2000-09-27 | 2009-08-04 | Huron Ip Llc | System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment |
US20090210726A1 (en) * | 2008-02-18 | 2009-08-20 | Song Song | Central power management method and system |
US20090249090A1 (en) * | 2008-03-28 | 2009-10-01 | Schmitz Michael J | Method and apparatus for dynamic power management control using parallel bus management protocols |
US20100005371A1 (en) * | 2008-07-07 | 2010-01-07 | Qualcomm Incorporated | System and method of puncturing pulses in a receiver or transmitter |
US7721125B2 (en) | 2001-04-11 | 2010-05-18 | Huron Ip, Llc | System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment |
US7822967B2 (en) | 2000-09-27 | 2010-10-26 | Huron Ip Llc | Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices |
US7865640B1 (en) * | 2008-01-02 | 2011-01-04 | Buztronics, Inc. | USB web launcher using keyboard scancodes |
US20110106992A1 (en) * | 2009-11-05 | 2011-05-05 | Samsung Electronics Co. Ltd. | Apparatus and method for scaling dynamic bus clock |
US20110154069A1 (en) * | 2009-12-23 | 2011-06-23 | Edward Costales | Dynamic power state determination |
US20110173463A1 (en) * | 2010-01-11 | 2011-07-14 | Qualcomm Incorporated | System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests |
US20110182198A1 (en) * | 2010-01-22 | 2011-07-28 | George Endicott Rittenhouse | System and method for analyzing network power consumption |
US20110231679A1 (en) * | 2007-08-03 | 2011-09-22 | Invent Technology Solutions Limited | Energy saving device |
US20120023382A1 (en) * | 2010-07-23 | 2012-01-26 | Arm Limited | Data processing system and method for regulating a voltage supply to functional circuitry of the data processing system |
CN102439535A (en) * | 2011-10-25 | 2012-05-02 | 深圳市海思半导体有限公司 | Method for reducing dynamic power consumption and electronic equipment |
US8405617B2 (en) | 2007-01-03 | 2013-03-26 | Apple Inc. | Gated power management over a system bus |
US20130254790A1 (en) * | 2004-11-17 | 2013-09-26 | Rockstar Consortium Us Lp | Resource conservation for packet television services |
TWI416302B (en) * | 2009-11-20 | 2013-11-21 | Ind Tech Res Inst | Power-mode-aware clock tree and synthesis method thereof |
US20140095706A1 (en) * | 2009-01-28 | 2014-04-03 | Headwater Partners I Llc | Device-Assisted Services for Protecting Network Capacity |
US20140218342A1 (en) * | 2001-11-02 | 2014-08-07 | Neonode Inc. | On a substrate formed or resting display arrangement |
US8826047B1 (en) * | 2009-03-02 | 2014-09-02 | Marvell International Ltd. | Self governing power management architecture that allows independent management of devices based on clock signals and a plurality of control signals written to control registers |
US8918657B2 (en) | 2008-09-08 | 2014-12-23 | Virginia Tech Intellectual Properties | Systems, devices, and/or methods for managing energy usage |
US9100917B1 (en) * | 2005-07-12 | 2015-08-04 | Marvell International Ltd. | Power save modes for a system-on-chip and a host processor of a wireless device |
TWI496526B (en) * | 2012-10-16 | 2015-08-11 | Wistron Corp | Portable electronic device capable of switching different statuses by rotating centrifugal force |
EP2940869A1 (en) * | 2014-04-30 | 2015-11-04 | Nxp B.V. | Synchronised logic circuit |
US20160359665A1 (en) * | 2009-01-28 | 2016-12-08 | Headwater Partners I Llc | Automated Device Provisioning and Activation |
US9609510B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Automated credential porting for mobile devices |
US20170108917A1 (en) * | 2014-03-31 | 2017-04-20 | Samsung Electronics Co., Ltd. | Power control method and apparatus for low power system of electronic device |
US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
US9769207B2 (en) | 2009-01-28 | 2017-09-19 | Headwater Research Llc | Wireless network service interfaces |
US9778794B2 (en) | 2001-11-02 | 2017-10-03 | Neonode Inc. | Light-based touch screen |
US20170288649A1 (en) | 2003-05-07 | 2017-10-05 | Conversant Intellectual Property Management Inc. | Power managers for an integrated circuit |
US9819808B2 (en) | 2009-01-28 | 2017-11-14 | Headwater Research Llc | Hierarchical service policies for creating service usage data records for a wireless end-user device |
US9910954B2 (en) * | 2016-05-26 | 2018-03-06 | International Business Machines Corporation | Programmable clock division methodology with in-context frequency checking |
US9942796B2 (en) | 2009-01-28 | 2018-04-10 | Headwater Research Llc | Quality of service for device assisted services |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9973930B2 (en) | 2009-01-28 | 2018-05-15 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US9986413B2 (en) | 2009-01-28 | 2018-05-29 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US10057141B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Proxy system and method for adaptive ambient services |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10064033B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Device group partitions and settlement platform |
US10070305B2 (en) | 2009-01-28 | 2018-09-04 | Headwater Research Llc | Device assisted services install |
US10080250B2 (en) | 2009-01-28 | 2018-09-18 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US10101795B2 (en) | 2015-11-10 | 2018-10-16 | Wipro Limited | System-on-chip (SoC) and method for dynamically optimizing power consumption in the SoC |
US10171990B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
US10171681B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Service design center for device assisted services |
US10171988B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US10326675B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Flow tagging for service policy implementation |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10886919B1 (en) * | 2019-12-05 | 2021-01-05 | Arm Limited | Clock adjusting techniques |
US10937477B1 (en) * | 2019-08-29 | 2021-03-02 | Taiwan Semiconductor Manufacturing Company Ltd. | Shared decoder circuit and method |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US11245638B2 (en) * | 2019-02-15 | 2022-02-08 | International Business Machines Corporation | Joint control of communication and computation resources of a computerized system |
CN114815964A (en) * | 2021-01-19 | 2022-07-29 | 安华高科技股份有限公司 | Power intelligent packet processing |
US11412366B2 (en) | 2009-01-28 | 2022-08-09 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US11705175B2 (en) | 2019-08-29 | 2023-07-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | Shared decoder circuit and method |
US11966464B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Security techniques for device assisted services |
US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
US12137004B2 (en) | 2009-01-28 | 2024-11-05 | Headwater Research Llc | Device group partitions and settlement platform |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7725748B1 (en) | 2000-12-29 | 2010-05-25 | Intel Corporation | Low power subsystem for portable computers |
US6882952B1 (en) * | 2001-02-28 | 2005-04-19 | Lsi Logic Corporation | System and method for measuring bus frequency |
WO2002095556A1 (en) * | 2001-05-18 | 2002-11-28 | Fujitsu Limited | Apparatus having stand-by mode, program, and control method for apparatus having stand-by mode |
US7831278B2 (en) | 2001-12-18 | 2010-11-09 | Intel Corporation | Method and device for communicating data with a personal wireless storage device |
US7202783B2 (en) * | 2001-12-18 | 2007-04-10 | Intel Corporation | Method and system for identifying when a first device is within a physical range of a second device |
US20030115415A1 (en) * | 2001-12-18 | 2003-06-19 | Roy Want | Portable memory device |
US20030115038A1 (en) * | 2001-12-18 | 2003-06-19 | Roy Want | Method and device for emulating electronic apparatus |
US6944738B2 (en) * | 2002-04-16 | 2005-09-13 | Sun Microsystems, Inc. | Scalable design for DDR SDRAM buses |
US7356619B2 (en) * | 2002-05-09 | 2008-04-08 | International Business Machines Corporation | Method and apparatus for dynamic management of input/output subsystem addressing |
JP2004054755A (en) * | 2002-07-23 | 2004-02-19 | Nec Electronics Corp | System level design method and system level design device |
JP4204290B2 (en) * | 2002-09-25 | 2009-01-07 | アルプス電気株式会社 | Communication control device |
US7039839B2 (en) * | 2002-12-23 | 2006-05-02 | Intel Corporation | Method and apparatus for enhanced parallel port JTAG interface |
JP2004280558A (en) * | 2003-03-17 | 2004-10-07 | Ricoh Co Ltd | Interface circuit and optical disk device provided with interface circuit |
TWI227398B (en) * | 2003-04-15 | 2005-02-01 | Asustek Comp Inc | Automatic adjusting device of computer system performance |
US7086583B2 (en) * | 2004-01-20 | 2006-08-08 | Standard Microsystems Corporation | Systems and methods for power reduction in systems having removable media devices |
US20060136755A1 (en) * | 2004-12-16 | 2006-06-22 | Shekoufeh Qawami | System, apparatus, and method to enable and disable a mode of operation of a stacked circuit arrangement on an independent circuit basis using register bits and a single shared mode control line |
US7788625B1 (en) * | 2005-04-14 | 2010-08-31 | Xilinx, Inc. | Method and apparatus for precharacterizing systems for use in system level design of integrated circuits |
US8201004B2 (en) * | 2006-09-14 | 2012-06-12 | Texas Instruments Incorporated | Entry/exit control to/from a low power state in a complex multi level memory system |
US7725759B2 (en) * | 2005-06-29 | 2010-05-25 | Sigmatel, Inc. | System and method of managing clock speed in an electronic device |
US7526704B2 (en) * | 2005-08-23 | 2009-04-28 | Micron Technology, Inc. | Testing system and method allowing adjustment of signal transmit timing |
JP4919648B2 (en) * | 2005-10-31 | 2012-04-18 | 株式会社日立国際電気 | Wireless terminal management system |
US20070121496A1 (en) * | 2005-11-30 | 2007-05-31 | Sinykin Joshua P | System and method for amplitude optimization in high-speed serial transmissions |
CN101360043B (en) * | 2005-12-06 | 2011-07-20 | 华为技术有限公司 | Communication apparatus reliably connected inside |
US7487371B2 (en) * | 2005-12-16 | 2009-02-03 | Nvidia Corporation | Data path controller with integrated power management to manage power consumption of a computing device and its components |
US7573482B2 (en) * | 2005-12-16 | 2009-08-11 | Primax Electronics Ltd. | Method for reducing memory consumption when carrying out edge enhancement in multiple beam pixel apparatus |
US20070214374A1 (en) * | 2006-03-13 | 2007-09-13 | Mark Hempstead | Ultra low power system for sensor network applications |
US7792941B2 (en) * | 2007-03-21 | 2010-09-07 | International Business Machines Corporation | Method and apparatus to determine hardware and software compatibility related to mobility of virtual servers |
US7831849B2 (en) * | 2007-03-28 | 2010-11-09 | Intel Corporation | Platform communication protocol |
US8448003B1 (en) * | 2007-05-03 | 2013-05-21 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for activating sleep mode |
GB2450564B (en) * | 2007-06-29 | 2011-03-02 | Imagination Tech Ltd | Clock frequency adjustment for semi-conductor devices |
US8077242B2 (en) * | 2007-09-17 | 2011-12-13 | Qualcomm Incorporated | Clock management of bus during viewfinder mode in digital camera device |
DE102007044803A1 (en) * | 2007-09-20 | 2009-04-09 | Robert Bosch Gmbh | Circuit arrangement for signal reception and generation and method for operating this circuit arrangement |
WO2009040708A2 (en) * | 2007-09-27 | 2009-04-02 | Nxp B.V. | Data-processing system and data-processing method |
JP2009122922A (en) * | 2007-11-14 | 2009-06-04 | Panasonic Corp | Data processor |
US7739433B2 (en) * | 2008-03-05 | 2010-06-15 | Microchip Technology Incorporated | Sharing bandwidth of a single port SRAM between at least one DMA peripheral and a CPU operating with a quadrature clock |
US8185759B1 (en) | 2008-11-06 | 2012-05-22 | Smsc Holdings S.A.R.L. | Methods and systems for interfacing bus powered devices with host devices providing limited power levels |
US8122159B2 (en) | 2009-01-16 | 2012-02-21 | Allegro Microsystems, Inc. | Determining addresses of electrical components arranged in a daisy chain |
US7882297B2 (en) * | 2009-02-20 | 2011-02-01 | Standard Microsystems Corporation | Serial bus hub with low power devices |
ATE521172T1 (en) * | 2009-06-04 | 2011-09-15 | Ntt Docomo Inc | METHOD AND DEVICE FOR TRAFFIC FLOW DIFFERENTIATION |
JP2010282585A (en) * | 2009-06-08 | 2010-12-16 | Fujitsu Ltd | Power management circuit, power management method, and power management program |
US8461782B2 (en) * | 2009-08-27 | 2013-06-11 | Allegro Microsystems, Llc | Linear or rotational motor driver identification |
JP2011180713A (en) * | 2010-02-26 | 2011-09-15 | Elpida Memory Inc | Semiconductor memory module |
US8519763B2 (en) | 2010-06-11 | 2013-08-27 | Altera Corporation | Integrated circuits with dual-edge clocking |
US9098438B2 (en) * | 2010-09-30 | 2015-08-04 | Texas Instruments Incorporated | Synchronized voltage scaling and device calibration |
US8625586B2 (en) * | 2010-12-31 | 2014-01-07 | Stmicroelectronics International N.V. | Generic bus de-multiplexer/port expander with inherent bus signals as selectors |
JP5673172B2 (en) * | 2011-02-09 | 2015-02-18 | ソニー株式会社 | Electronic device, stereoscopic image information transmitting method in electronic device, and stereoscopic image information receiving method in electronic device |
TWI547784B (en) * | 2011-04-22 | 2016-09-01 | 緯創資通股份有限公司 | Method of dynamically adjusting bus clock and device thereof |
US9736086B1 (en) * | 2011-04-29 | 2017-08-15 | Altera Corporation | Multi-function, multi-protocol FIFO for high-speed communication |
JP5780050B2 (en) * | 2011-08-17 | 2015-09-16 | 富士通株式会社 | Transmission system |
US8745301B2 (en) * | 2012-10-29 | 2014-06-03 | Qualcomm Incorporated | High voltage dedicated charging port |
US8760123B2 (en) * | 2012-10-29 | 2014-06-24 | Qualcomm Incorporated | High voltage dedicated charging port |
US9182811B2 (en) | 2012-12-19 | 2015-11-10 | Apple Inc. | Interfacing dynamic hardware power managed blocks and software power managed blocks |
US8848429B2 (en) * | 2013-02-14 | 2014-09-30 | Qualcomm Incorporated | Latch-based array with robust design-for-test (DFT) features |
US8971098B1 (en) | 2013-09-10 | 2015-03-03 | Qualcomm Incorporated | Latch-based array with enhanced read enable fault testing |
US9172565B2 (en) | 2014-02-18 | 2015-10-27 | Allegro Microsystems, Llc | Signaling between master and slave components using a shared communication node of the master component |
US9787495B2 (en) | 2014-02-18 | 2017-10-10 | Allegro Microsystems, Llc | Signaling between master and slave components using a shared communication node of the master component |
US10157649B1 (en) * | 2015-03-05 | 2018-12-18 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for optimizing power in FIFO |
US9722767B2 (en) | 2015-06-25 | 2017-08-01 | Microsoft Technology Licensing, Llc | Clock domain bridge static timing analysis |
US9698967B2 (en) * | 2015-09-11 | 2017-07-04 | Apple Inc. | Dual path source synchronous interface |
US10747708B2 (en) | 2018-03-08 | 2020-08-18 | Allegro Microsystems, Llc | Communication system between electronic devices |
Citations (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4316247A (en) * | 1979-10-30 | 1982-02-16 | Texas Instruments, Inc. | Low power consumption data processing system |
US4317180A (en) * | 1979-12-26 | 1982-02-23 | Texas Instruments Incorporated | Clocked logic low power standby mode |
US4381552A (en) * | 1978-12-08 | 1983-04-26 | Motorola Inc. | Stanby mode controller utilizing microprocessor |
US4398192A (en) * | 1981-12-04 | 1983-08-09 | Motorola Inc. | Battery-saving arrangement for pagers |
US4463440A (en) * | 1980-04-15 | 1984-07-31 | Sharp Kabushiki Kaisha | System clock generator in integrated circuit |
US4479191A (en) * | 1980-07-22 | 1984-10-23 | Tokyo Shibaura Denki Kabushiki Kaisha | Integrated circuit with interruptable oscillator circuit |
US4545030A (en) * | 1982-09-28 | 1985-10-01 | The John Hopkins University | Synchronous clock stopper for microprocessor |
US4698748A (en) * | 1983-10-07 | 1987-10-06 | Essex Group, Inc. | Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity |
US4766567A (en) * | 1984-04-19 | 1988-08-23 | Ltd. Nippondenso Co. | One-chip data processing device including low voltage detector |
US4780843A (en) * | 1983-11-07 | 1988-10-25 | Motorola, Inc. | Wait mode power reduction system and method for data processor |
US4809163A (en) * | 1983-05-18 | 1989-02-28 | Hitachi, Ltd. | Computer system with power control based on the operational status of terminals |
US4823292A (en) * | 1986-08-18 | 1989-04-18 | U.S. Philips Corporation | Data processing apparatus with energy saving clocking device |
US4841440A (en) * | 1983-04-26 | 1989-06-20 | Nec Corporation | Control processor for controlling a peripheral unit |
US4963769A (en) * | 1989-05-08 | 1990-10-16 | Cypress Semiconductor | Circuit for selective power-down of unused circuitry |
US4968900A (en) * | 1989-07-31 | 1990-11-06 | Harris Corporation | Programmable speed/power arrangement for integrated devices having logic matrices |
US4980836A (en) * | 1988-10-14 | 1990-12-25 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
US5025387A (en) * | 1988-09-06 | 1991-06-18 | Motorola, Inc. | Power saving arrangement for a clocked digital circuit |
US5041964A (en) * | 1989-06-12 | 1991-08-20 | Grid Systems Corporation | Low-power, standby mode computer |
US5083266A (en) * | 1986-12-26 | 1992-01-21 | Kabushiki Kaisha Toshiba | Microcomputer which enters sleep mode for a predetermined period of time on response to an activity of an input/output device |
US5123107A (en) * | 1989-06-20 | 1992-06-16 | Mensch Jr William D | Topography of CMOS microcomputer integrated circuit chip including core processor and memory, priority, and I/O interface circuitry coupled thereto |
US5129091A (en) * | 1988-05-06 | 1992-07-07 | Toppan Printing Co., Ltd. | Integrated-circuit card with active mode and low power mode |
US5167024A (en) * | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
US5175845A (en) * | 1988-12-09 | 1992-12-29 | Dallas Semiconductor Corp. | Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode |
US5201059A (en) * | 1989-11-13 | 1993-04-06 | Chips And Technologies, Inc. | Method for reducing power consumption includes comparing variance in number of time microprocessor tried to react input in predefined period to predefined variance |
US5218704A (en) * | 1989-10-30 | 1993-06-08 | Texas Instruments | Real-time power conservation for portable computers |
US5222239A (en) * | 1989-07-28 | 1993-06-22 | Prof. Michael H. Davis | Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources |
US5247655A (en) * | 1989-11-07 | 1993-09-21 | Chips And Technologies, Inc. | Sleep mode refresh apparatus |
US5247164A (en) * | 1989-01-26 | 1993-09-21 | Hitachi Maxell, Ltd. | IC card and portable terminal |
US5249298A (en) * | 1988-12-09 | 1993-09-28 | Dallas Semiconductor Corporation | Battery-initiated touch-sensitive power-up |
US5809263A (en) * | 1990-04-18 | 1998-09-15 | Rambus Inc. | Integrated circuit I/O using a high performance bus interface |
US5987614A (en) * | 1997-06-17 | 1999-11-16 | Vadem | Distributed power management system and method for computer |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8820183D0 (en) * | 1988-08-25 | 1988-09-28 | Int Computers Ltd | Data processing apparatus |
US4912633A (en) * | 1988-10-24 | 1990-03-27 | Ncr Corporation | Hierarchical multiple bus computer architecture |
US5537640A (en) * | 1988-12-30 | 1996-07-16 | Intel Corporation | Asynchronous modular bus architecture with cache consistency |
US5293236A (en) * | 1991-01-11 | 1994-03-08 | Fuji Photo Film Co., Ltd. | Electronic still camera including an EEPROM memory card and having a continuous shoot mode |
JPH06290079A (en) * | 1993-03-30 | 1994-10-18 | Hitachi Ltd | Information processing system |
US5557733A (en) * | 1993-04-02 | 1996-09-17 | Vlsi Technology, Inc. | Caching FIFO and method therefor |
JP3904244B2 (en) * | 1993-09-17 | 2007-04-11 | 株式会社ルネサステクノロジ | Single chip data processor |
DE69521685T2 (en) * | 1994-03-11 | 2002-07-04 | Silicon Bandwidth, Inc. | MODULAR DESIGN FOR COMPUTERS WITH WIDE BANDWIDTH |
US5655113A (en) * | 1994-07-05 | 1997-08-05 | Monolithic System Technology, Inc. | Resynchronization circuit for a memory system and method of operating same |
US5581712A (en) * | 1994-11-17 | 1996-12-03 | Intel Corporation | Method and apparatus for managing live insertion of CPU and I/O boards into a computer system |
US5724556A (en) * | 1995-04-14 | 1998-03-03 | Oracle Corporation | Method and apparatus for defining and configuring modules of data objects and programs in a distributed computer system |
US5706447A (en) * | 1995-08-11 | 1998-01-06 | Dell Usa, L.P. | System for automatic reconfiguration termination to multi-processor bus without added expense of removable termination module |
US5977791A (en) * | 1996-04-15 | 1999-11-02 | Altera Corporation | Embedded memory block with FIFO mode for programmable logic device |
US5734613A (en) * | 1996-06-20 | 1998-03-31 | Northern Telecom Limited | Multi-port random access memory |
US5778218A (en) * | 1996-12-19 | 1998-07-07 | Advanced Micro Devices, Inc. | Method and apparatus for clock synchronization across an isochronous bus by adjustment of frame clock rates |
US6120549A (en) * | 1997-01-06 | 2000-09-19 | Xilinx, Inc. | Method and apparatus for generating optimized functional macros |
US5919264A (en) * | 1997-03-03 | 1999-07-06 | Microsoft Corporation | System and method for using data structures to share a plurality of power resources among a plurality of devices |
US5883814A (en) * | 1997-03-13 | 1999-03-16 | International Business Machines Corporation | System-on-chip layout compilation |
US5884051A (en) * | 1997-06-13 | 1999-03-16 | International Business Machines Corporation | System, methods and computer program products for flexibly controlling bus access based on fixed and dynamic priorities |
US7089430B2 (en) * | 2001-12-21 | 2006-08-08 | Intel Corporation | Managing multiple processor performance states |
JP3685401B2 (en) * | 2001-12-26 | 2005-08-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | CPU control method, computer apparatus and CPU using the same, and program |
-
1999
- 1999-08-18 US US09/376,271 patent/US6115823A/en not_active Expired - Lifetime
-
2000
- 2000-05-12 US US09/570,318 patent/US6813674B1/en not_active Expired - Lifetime
-
2004
- 2004-09-10 US US10/938,920 patent/US7207014B2/en not_active Expired - Lifetime
Patent Citations (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4381552A (en) * | 1978-12-08 | 1983-04-26 | Motorola Inc. | Stanby mode controller utilizing microprocessor |
US4316247A (en) * | 1979-10-30 | 1982-02-16 | Texas Instruments, Inc. | Low power consumption data processing system |
US4317180A (en) * | 1979-12-26 | 1982-02-23 | Texas Instruments Incorporated | Clocked logic low power standby mode |
US4463440A (en) * | 1980-04-15 | 1984-07-31 | Sharp Kabushiki Kaisha | System clock generator in integrated circuit |
US4479191A (en) * | 1980-07-22 | 1984-10-23 | Tokyo Shibaura Denki Kabushiki Kaisha | Integrated circuit with interruptable oscillator circuit |
US4398192A (en) * | 1981-12-04 | 1983-08-09 | Motorola Inc. | Battery-saving arrangement for pagers |
US4545030A (en) * | 1982-09-28 | 1985-10-01 | The John Hopkins University | Synchronous clock stopper for microprocessor |
US4841440A (en) * | 1983-04-26 | 1989-06-20 | Nec Corporation | Control processor for controlling a peripheral unit |
US4809163A (en) * | 1983-05-18 | 1989-02-28 | Hitachi, Ltd. | Computer system with power control based on the operational status of terminals |
US4698748A (en) * | 1983-10-07 | 1987-10-06 | Essex Group, Inc. | Power-conserving control system for turning-off the power and the clocking for data transactions upon certain system inactivity |
US4780843A (en) * | 1983-11-07 | 1988-10-25 | Motorola, Inc. | Wait mode power reduction system and method for data processor |
US4766567A (en) * | 1984-04-19 | 1988-08-23 | Ltd. Nippondenso Co. | One-chip data processing device including low voltage detector |
US4823292A (en) * | 1986-08-18 | 1989-04-18 | U.S. Philips Corporation | Data processing apparatus with energy saving clocking device |
US5083266A (en) * | 1986-12-26 | 1992-01-21 | Kabushiki Kaisha Toshiba | Microcomputer which enters sleep mode for a predetermined period of time on response to an activity of an input/output device |
US5129091A (en) * | 1988-05-06 | 1992-07-07 | Toppan Printing Co., Ltd. | Integrated-circuit card with active mode and low power mode |
US5025387A (en) * | 1988-09-06 | 1991-06-18 | Motorola, Inc. | Power saving arrangement for a clocked digital circuit |
US4980836A (en) * | 1988-10-14 | 1990-12-25 | Compaq Computer Corporation | Apparatus for reducing computer system power consumption |
US5249298A (en) * | 1988-12-09 | 1993-09-28 | Dallas Semiconductor Corporation | Battery-initiated touch-sensitive power-up |
US5175845A (en) * | 1988-12-09 | 1992-12-29 | Dallas Semiconductor Corp. | Integrated circuit with watchdog timer and sleep control logic which places IC and watchdog timer into sleep mode |
US5247164A (en) * | 1989-01-26 | 1993-09-21 | Hitachi Maxell, Ltd. | IC card and portable terminal |
US4963769A (en) * | 1989-05-08 | 1990-10-16 | Cypress Semiconductor | Circuit for selective power-down of unused circuitry |
US5041964A (en) * | 1989-06-12 | 1991-08-20 | Grid Systems Corporation | Low-power, standby mode computer |
US5123107A (en) * | 1989-06-20 | 1992-06-16 | Mensch Jr William D | Topography of CMOS microcomputer integrated circuit chip including core processor and memory, priority, and I/O interface circuitry coupled thereto |
US5222239A (en) * | 1989-07-28 | 1993-06-22 | Prof. Michael H. Davis | Process and apparatus for reducing power usage microprocessor devices operating from stored energy sources |
US4968900A (en) * | 1989-07-31 | 1990-11-06 | Harris Corporation | Programmable speed/power arrangement for integrated devices having logic matrices |
US5167024A (en) * | 1989-09-08 | 1992-11-24 | Apple Computer, Inc. | Power management for a laptop computer with slow and sleep modes |
US5218704A (en) * | 1989-10-30 | 1993-06-08 | Texas Instruments | Real-time power conservation for portable computers |
US5247655A (en) * | 1989-11-07 | 1993-09-21 | Chips And Technologies, Inc. | Sleep mode refresh apparatus |
US5201059A (en) * | 1989-11-13 | 1993-04-06 | Chips And Technologies, Inc. | Method for reducing power consumption includes comparing variance in number of time microprocessor tried to react input in predefined period to predefined variance |
US5809263A (en) * | 1990-04-18 | 1998-09-15 | Rambus Inc. | Integrated circuit I/O using a high performance bus interface |
US5987614A (en) * | 1997-06-17 | 1999-11-16 | Vadem | Distributed power management system and method for computer |
Cited By (267)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6931557B2 (en) * | 1998-07-07 | 2005-08-16 | Fujitsu Limited | Information processing apparatus, power control method and recording medium to control a plurality of driving units according to the type of data to be processed |
US6330639B1 (en) * | 1999-06-29 | 2001-12-11 | Intel Corporation | Method and apparatus for dynamically changing the sizes of pools that control the power consumption levels of memory devices |
US20060035686A1 (en) * | 1999-07-23 | 2006-02-16 | Kyocera Corporation | Mobile telephone |
US7747287B2 (en) | 1999-07-23 | 2010-06-29 | Kyocera Corporation | Mobile telephone |
US7742789B1 (en) * | 1999-07-23 | 2010-06-22 | Kyocera Corporation | Mobile telephone |
US7124416B2 (en) | 1999-07-26 | 2006-10-17 | Microsoft Corporation | System and method for user mode applications to register to receive kernel mode device related events |
US7055048B2 (en) | 1999-07-26 | 2006-05-30 | Microsoft Corporation | System and method for accessing information made available by a kernel mode driver |
US6763472B2 (en) * | 1999-07-26 | 2004-07-13 | Microsoft Corporation | System and method for accessing information made available by a kernel mode driver |
US20030200355A1 (en) * | 1999-07-26 | 2003-10-23 | Microsoft Corporation | System and method for accessing information made available by a kernel mode driver |
US20040210908A1 (en) * | 1999-07-26 | 2004-10-21 | Microsoft Corporation | System and method for accessing information made available by a kernel mode driver |
US20040216137A1 (en) * | 1999-07-26 | 2004-10-28 | Microsoft Corporation | System and method for user mode applications to register to receive kernel mode device related events |
US6879948B1 (en) * | 1999-12-14 | 2005-04-12 | Silicon Graphics, Inc. | Synchronization of hardware simulation processes |
US6665802B1 (en) * | 2000-02-29 | 2003-12-16 | Infineon Technologies North America Corp. | Power management and control for a microcontroller |
US6519290B1 (en) * | 2000-03-10 | 2003-02-11 | Cypress Semiconductor Corp. | Integrated radio frequency interface |
US6542958B1 (en) * | 2000-05-10 | 2003-04-01 | Elan Research | Software control of DRAM refresh to reduce power consumption in a data processing system |
WO2002013024A1 (en) * | 2000-08-08 | 2002-02-14 | Sonics, Inc. | Logic system with configurable interface |
US7325221B1 (en) | 2000-08-08 | 2008-01-29 | Sonics, Incorporated | Logic system with configurable interface |
US20020029353A1 (en) * | 2000-09-01 | 2002-03-07 | Lg Electronics Inc. | CPU scheduling method and apparatus |
US7051219B2 (en) * | 2000-09-01 | 2006-05-23 | Lg Electronics Inc. | System and apparatus for adjusting a clock speed based on a comparison between a time required for a scheduler function to be completed and a time required for an execution condition to be satisfied |
US6725385B1 (en) * | 2000-09-11 | 2004-04-20 | International Business Machines Corporation | Intelligent electronic power controller |
USRE40866E1 (en) | 2000-09-27 | 2009-08-04 | Huron Ip Llc | System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment |
US20060265608A1 (en) * | 2000-09-27 | 2006-11-23 | Fung Henry T | System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment |
US20060248325A1 (en) * | 2000-09-27 | 2006-11-02 | Fung Henry T | Apparatus and method for modular dynamically power managed power supply and cooling system for computer systems, server applications, and other electronic devices |
US20060248361A1 (en) * | 2000-09-27 | 2006-11-02 | Fung Henry T | Dynamic power and workload management for multi-server system |
US7032119B2 (en) * | 2000-09-27 | 2006-04-18 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
US8074092B2 (en) | 2000-09-27 | 2011-12-06 | Huron Ip Llc | System, architecture, and method for logical server and other network devices in a dynamically configurable multi-server network environment |
US7562239B2 (en) | 2000-09-27 | 2009-07-14 | Huron Ip Llc | System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment |
US7558976B2 (en) | 2000-09-27 | 2009-07-07 | Huron Ip Llc | System, method, architecture, and computer program product for dynamic power management in a computer system |
US7272735B2 (en) | 2000-09-27 | 2007-09-18 | Huron Ip Llc | Dynamic power and workload management for multi-server system |
US7552350B2 (en) | 2000-09-27 | 2009-06-23 | Huron Ip Llc | System and method for activity or event base dynamic energy conserving server reconfiguration |
US7822967B2 (en) | 2000-09-27 | 2010-10-26 | Huron Ip Llc | Apparatus, architecture, and method for integrated modular server system providing dynamically power-managed and work-load managed network devices |
US20070245165A1 (en) * | 2000-09-27 | 2007-10-18 | Amphus, Inc. | System and method for activity or event based dynamic energy conserving server reconfiguration |
US7533283B2 (en) | 2000-09-27 | 2009-05-12 | Huron Ip Llc | Apparatus and method for modular dynamically power managed power supply and cooling system for computer systems, server applications, and other electronic devices |
US20020062454A1 (en) * | 2000-09-27 | 2002-05-23 | Amphus, Inc. | Dynamic power and workload management for multi-server system |
US7512822B2 (en) | 2000-09-27 | 2009-03-31 | Huron Ip Llc | System and method for activity or event based dynamic energy conserving server reconfiguration |
US7484111B2 (en) | 2000-09-27 | 2009-01-27 | Huron Ip Llc | Power on demand and workload management system and method |
US6687830B2 (en) * | 2001-01-23 | 2004-02-03 | Winbond Electronics Corp. | Energy-saving control interface and method for power-on identification |
US20020120852A1 (en) * | 2001-02-27 | 2002-08-29 | Chidambaram Krishnan | Power management for subscriber identity module |
US7757094B2 (en) | 2001-02-27 | 2010-07-13 | Qualcomm Incorporated | Power management for subscriber identity module |
US7137003B2 (en) * | 2001-02-27 | 2006-11-14 | Qualcomm Incorporated | Subscriber identity module verification during power management |
US20020120857A1 (en) * | 2001-02-27 | 2002-08-29 | Chidambaram Krishnan | Subscriber identity module verification during power management |
US20020129173A1 (en) * | 2001-03-09 | 2002-09-12 | Wolf-Dietrich Weber | Communications system and method with non-blocking shared interface |
US7165094B2 (en) | 2001-03-09 | 2007-01-16 | Sonics, Inc. | Communications system and method with non-blocking shared interface |
US20020137501A1 (en) * | 2001-03-23 | 2002-09-26 | Rajendra Datar | Systems and methods for wireless memory programming |
US7721125B2 (en) | 2001-04-11 | 2010-05-18 | Huron Ip, Llc | System, method, and architecture for dynamic server power management and dynamic workload management for multi-server environment |
US20060248360A1 (en) * | 2001-05-18 | 2006-11-02 | Fung Henry T | Multi-server and multi-CPU power management system and method |
US20030004699A1 (en) * | 2001-06-04 | 2003-01-02 | Choi Charles Y. | Method and apparatus for evaluating an integrated circuit model |
US20040139363A1 (en) * | 2001-06-06 | 2004-07-15 | Infineon Technologies Ag | Electronic circuit with asynchronous clocking of peripheral units |
US7428651B2 (en) | 2001-06-06 | 2008-09-23 | Infineon Technologies Ag | Electronic circuit with asynchronous clocking of peripheral units |
WO2002099664A1 (en) * | 2001-06-06 | 2002-12-12 | Infineon Technologies Ag | Electronic circuit having peripheral units with asynchronous clock pulses |
US7426587B2 (en) | 2001-06-28 | 2008-09-16 | Oki Electric Industry Co., Ltd. | Semiconductor integrated circuit |
US20050125588A1 (en) * | 2001-06-28 | 2005-06-09 | Kazumasa Ozawa | Semiconductor integrated circuit |
US20030005209A1 (en) * | 2001-06-28 | 2003-01-02 | Kazumasa Ozawa | Semiconductor integrated circuit |
US20050125587A1 (en) * | 2001-06-28 | 2005-06-09 | Kazumasa Ozawa | Semiconductor integrated circuit |
US7428601B2 (en) | 2001-06-28 | 2008-09-23 | Oki Electric Industry Co., Ltd. | Semiconductor integrated circuit |
US7406544B2 (en) | 2001-06-28 | 2008-07-29 | Oki Electric Industry Co., Ltd. | Semiconductor integrated circuit |
US7181549B2 (en) * | 2001-06-28 | 2007-02-20 | Oki Electric Industry Co., Ltd. | Semiconductor integrated circuit |
US20050120156A1 (en) * | 2001-06-28 | 2005-06-02 | Kazumasa Ozawa | Semiconductor integrated circuit |
US20030030326A1 (en) * | 2001-08-10 | 2003-02-13 | Shakti Systems, Inc. | Distributed power and supply architecture |
US6990599B2 (en) | 2001-08-31 | 2006-01-24 | Kabushiki Kaisha Toshiba | Method and apparatus of clock control associated with read latency for a card device |
US20030046599A1 (en) * | 2001-08-31 | 2003-03-06 | Kabushiki Kaisha Toshiba | Apparatus for controlling card device and clock control method |
EP1300852A3 (en) * | 2001-08-31 | 2004-01-02 | Kabushiki Kaisha Toshiba | Apparatus for controlling card device and clock control method |
EP1300852A2 (en) * | 2001-08-31 | 2003-04-09 | Kabushiki Kaisha Toshiba | Apparatus for controlling card device and clock control method |
US7089333B2 (en) * | 2001-09-10 | 2006-08-08 | Digigram | Audio data transmission system between a master module and slave modules by means of a digital communication network |
US20030050989A1 (en) * | 2001-09-10 | 2003-03-13 | Digigram | Audio data transmission system between a master module and slave modules by means of a digital communication network |
US20140218342A1 (en) * | 2001-11-02 | 2014-08-07 | Neonode Inc. | On a substrate formed or resting display arrangement |
US9778794B2 (en) | 2001-11-02 | 2017-10-03 | Neonode Inc. | Light-based touch screen |
US9684413B2 (en) * | 2001-11-02 | 2017-06-20 | Neonode Inc. | Light-based touch screen |
US6819088B2 (en) | 2001-11-05 | 2004-11-16 | Krishna Shenai | DC-DC converter with resonant gate drive |
US20030090918A1 (en) * | 2001-11-05 | 2003-05-15 | Krishna Shenai | DC-DC converter with resonant gate drive |
US20030090237A1 (en) * | 2001-11-05 | 2003-05-15 | Krishna Shenai | Monolithic battery charging device |
US20050223262A1 (en) * | 2002-01-05 | 2005-10-06 | Yung-Huei Chen | Pipeline module circuit structure with reduced power consumption and method of operating the same |
US7451334B2 (en) * | 2002-01-05 | 2008-11-11 | Via Technologies, Inc. | Pipeline module circuit structure with reduced power consumption and method of operating the same |
US20030154355A1 (en) * | 2002-01-24 | 2003-08-14 | Xtec, Incorporated | Methods and apparatus for providing a memory challenge and response |
US7171529B2 (en) * | 2002-03-20 | 2007-01-30 | Nec Electronics Corporation | Single-chip microcomputer with read clock generating circuits disposed in close proximity to memory macros |
US20030182528A1 (en) * | 2002-03-20 | 2003-09-25 | Nec Electronics Corporation | Single-chip microcomputer |
US20030189868A1 (en) * | 2002-04-09 | 2003-10-09 | Riesenman Robert J. | Early power-down digital memory device and method |
US6781911B2 (en) * | 2002-04-09 | 2004-08-24 | Intel Corporation | Early power-down digital memory device and method |
US7133028B2 (en) | 2002-04-23 | 2006-11-07 | Gateway Inc. | Drive activity sampling and notification |
US20030197676A1 (en) * | 2002-04-23 | 2003-10-23 | Gateway, Inc. | Drive activity sampling and notification |
US7143203B1 (en) * | 2002-04-26 | 2006-11-28 | Advanced Micro Devices, Inc. | Storage device control responsive to operational characteristics of a system |
US20030217093A1 (en) * | 2002-05-20 | 2003-11-20 | Dell Products L.P. | Method to distribute periodic task workload |
US7020877B2 (en) | 2002-05-20 | 2006-03-28 | Dell Products L.P. | Method to distribute periodic task workload |
US7032120B2 (en) | 2002-07-18 | 2006-04-18 | Agere Systems Inc. | Method and apparatus for minimizing power requirements in a computer peripheral device while in suspend state and returning to full operation state without loss of data |
US20040015732A1 (en) * | 2002-07-18 | 2004-01-22 | Agere Systems, Inc. | Method and apparatus for minimizing power requirements in a computer peripheral device while in suspend state and returning to full operation state without loss of data |
US20060014574A1 (en) * | 2002-10-17 | 2006-01-19 | Linn Charles A | Method and system for decreasing power-on time for software-defined radios |
US7003332B2 (en) | 2002-10-17 | 2006-02-21 | Harris Corporation | Method and system for decreasing power-on time for software-defined radios |
US7199783B2 (en) * | 2003-02-07 | 2007-04-03 | Avago Technologies Ecbu Ip (Singapore) Pte. Ltd. | Wake-up detection method and apparatus embodying the same |
US20040155860A1 (en) * | 2003-02-07 | 2004-08-12 | Wenstrand John S. | Wake-up detection method and apparatus embodying the same |
US20060177711A1 (en) * | 2003-05-02 | 2006-08-10 | Microsoft Corporation | Fuell cell control and data reporting |
US20170288649A1 (en) | 2003-05-07 | 2017-10-05 | Conversant Intellectual Property Management Inc. | Power managers for an integrated circuit |
EP3321769A1 (en) * | 2003-05-07 | 2018-05-16 | Conversant Intellectual Property Management Inc. | Managing power on integrated circuits using power islands |
US10243542B2 (en) | 2003-05-07 | 2019-03-26 | Conversant Intellectual Property Management Inc. | Power managers for an integrated circuit |
US20040223516A1 (en) * | 2003-05-10 | 2004-11-11 | Adkisson Richard W. | System and method for effectuating the transfer of data blocks across a clock boundary |
US7623482B2 (en) * | 2003-05-10 | 2009-11-24 | Hewlett-Packard Development Company, L.P. | System and method for effectuating the transfer of data blocks including a header block across a clock boundary |
US20040233865A1 (en) * | 2003-05-10 | 2004-11-25 | Adkisson Richard W. | System and method for effectuating the transfer of data blocks including a header block across a clock boundary |
US7480357B2 (en) * | 2003-05-10 | 2009-01-20 | Hewlett-Packard Development Company, L.P. | System and method for effectuating the transfer of data blocks across a clock boundary |
US7260728B2 (en) * | 2003-12-05 | 2007-08-21 | Acer Incorporated | Windows-based power management method and related portable device |
US20050125700A1 (en) * | 2003-12-05 | 2005-06-09 | Chang Ruei-Chuan | Windows-based power management method and related portable device |
US20050130705A1 (en) * | 2003-12-10 | 2005-06-16 | Samsung Electronics Co., Ltd. | Hybrid mobile terminal and method for controlling the same |
US20050232218A1 (en) * | 2004-04-19 | 2005-10-20 | Broadcom Corporation | Low-power operation of systems requiring low-latency and high-throughput |
US20050256986A1 (en) * | 2004-05-14 | 2005-11-17 | Kyoung-Park Kim | Slave devices and methods for operating the same |
US7346723B2 (en) * | 2004-05-14 | 2008-03-18 | Samsung Electronics Co., Ltd. | Slave devices and methods for operating the same |
US7570259B2 (en) * | 2004-06-01 | 2009-08-04 | Intel Corporation | System to manage display power consumption |
US20050289360A1 (en) * | 2004-06-01 | 2005-12-29 | Rajesh Banginwar | System to manage display power consumption |
US20060163633A1 (en) * | 2004-09-01 | 2006-07-27 | Cem Basceri | Dielectric relaxation memory |
US20130254790A1 (en) * | 2004-11-17 | 2013-09-26 | Rockstar Consortium Us Lp | Resource conservation for packet television services |
US9154836B2 (en) * | 2004-11-17 | 2015-10-06 | Rpx Clearinghouse Llc | Resource conservation for packet television services |
CN100458657C (en) * | 2004-12-16 | 2009-02-04 | 国际商业机器公司 | Method and system of power management of multi-processor servers |
US9100917B1 (en) * | 2005-07-12 | 2015-08-04 | Marvell International Ltd. | Power save modes for a system-on-chip and a host processor of a wireless device |
US8521855B2 (en) * | 2005-09-27 | 2013-08-27 | Intel Corporation | Centralized server-directed power management in a distributed computing system |
US20070073709A1 (en) * | 2005-09-27 | 2007-03-29 | Lim Jin K | Centralized server-directed power management in a distributed computing system |
US20090100276A1 (en) * | 2005-10-27 | 2009-04-16 | Freescale Seimiconductor, Inc. | System and method for controlling voltage level and clock frequency supplied to a system |
US8006113B2 (en) | 2005-10-27 | 2011-08-23 | Freescale Semiconductor, Inc. | System and method for controlling voltage level and clock frequency supplied to a system |
US20080084977A1 (en) * | 2006-10-10 | 2008-04-10 | Microsoft Corporation | Mitigating data usage in messaging applications |
US8015249B2 (en) * | 2006-10-10 | 2011-09-06 | Microsoft Corporation | Mitigating data usage in messaging applications |
US8405617B2 (en) | 2007-01-03 | 2013-03-26 | Apple Inc. | Gated power management over a system bus |
US20110231679A1 (en) * | 2007-08-03 | 2011-09-22 | Invent Technology Solutions Limited | Energy saving device |
US20090158060A1 (en) * | 2007-12-14 | 2009-06-18 | Nokia Corporation | Runtime control of system performance |
US8086885B2 (en) * | 2007-12-14 | 2011-12-27 | Nokia Corporation | Runtime control of system performance |
US7865640B1 (en) * | 2008-01-02 | 2011-01-04 | Buztronics, Inc. | USB web launcher using keyboard scancodes |
US8140869B2 (en) * | 2008-02-18 | 2012-03-20 | International Business Machines Corporation | Central power management |
US20090210726A1 (en) * | 2008-02-18 | 2009-08-20 | Song Song | Central power management method and system |
WO2009120932A3 (en) * | 2008-03-28 | 2009-12-30 | Packet Digital | Method and apparatus for dynamic power management control using parallel bus management protocols |
US20090249090A1 (en) * | 2008-03-28 | 2009-10-01 | Schmitz Michael J | Method and apparatus for dynamic power management control using parallel bus management protocols |
WO2009120932A2 (en) * | 2008-03-28 | 2009-10-01 | Packet Digital | Method and apparatus for dynamic power management control using parallel bus management protocols |
US8375261B2 (en) * | 2008-07-07 | 2013-02-12 | Qualcomm Incorporated | System and method of puncturing pulses in a receiver or transmitter |
US20100005371A1 (en) * | 2008-07-07 | 2010-01-07 | Qualcomm Incorporated | System and method of puncturing pulses in a receiver or transmitter |
US8918657B2 (en) | 2008-09-08 | 2014-12-23 | Virginia Tech Intellectual Properties | Systems, devices, and/or methods for managing energy usage |
US10681179B2 (en) | 2009-01-28 | 2020-06-09 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US10694385B2 (en) | 2009-01-28 | 2020-06-23 | Headwater Research Llc | Security techniques for device assisted services |
US12200786B2 (en) | 2009-01-28 | 2025-01-14 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US12184700B2 (en) | 2009-01-28 | 2024-12-31 | Headwater Research Llc | Automated device provisioning and activation |
US12166596B2 (en) | 2009-01-28 | 2024-12-10 | Disney Enterprises, Inc. | Device-assisted services for protecting network capacity |
US12143909B2 (en) | 2009-01-28 | 2024-11-12 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US12137004B2 (en) | 2009-01-28 | 2024-11-05 | Headwater Research Llc | Device group partitions and settlement platform |
US12101434B2 (en) | 2009-01-28 | 2024-09-24 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
US11966464B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Security techniques for device assisted services |
US11968234B2 (en) | 2009-01-28 | 2024-04-23 | Headwater Research Llc | Wireless network service interfaces |
US11923995B2 (en) | 2009-01-28 | 2024-03-05 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US11757943B2 (en) | 2009-01-28 | 2023-09-12 | Headwater Research Llc | Automated device provisioning and activation |
US20160359665A1 (en) * | 2009-01-28 | 2016-12-08 | Headwater Partners I Llc | Automated Device Provisioning and Activation |
US9609544B2 (en) * | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US9609459B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Network tools for analysis, design, testing, and production of services |
US9609510B2 (en) | 2009-01-28 | 2017-03-28 | Headwater Research Llc | Automated credential porting for mobile devices |
US9615192B2 (en) | 2009-01-28 | 2017-04-04 | Headwater Research Llc | Message link server with plural message delivery triggers |
US11750477B2 (en) | 2009-01-28 | 2023-09-05 | Headwater Research Llc | Adaptive ambient services |
US11665592B2 (en) | 2009-01-28 | 2023-05-30 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US9641957B2 (en) * | 2009-01-28 | 2017-05-02 | Headwater Research Llc | Automated device provisioning and activation |
US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
US9674731B2 (en) | 2009-01-28 | 2017-06-06 | Headwater Research Llc | Wireless device applying different background data traffic policies to different device applications |
US11665186B2 (en) | 2009-01-28 | 2023-05-30 | Headwater Research Llc | Communications device with secure data path processing agents |
US9749898B2 (en) | 2009-01-28 | 2017-08-29 | Headwater Research Llc | Wireless end-user device with differential traffic control policy list applicable to one of several wireless modems |
US9749899B2 (en) | 2009-01-28 | 2017-08-29 | Headwater Research Llc | Wireless end-user device with network traffic API to indicate unavailability of roaming wireless connection to background applications |
US9769207B2 (en) | 2009-01-28 | 2017-09-19 | Headwater Research Llc | Wireless network service interfaces |
US11589216B2 (en) | 2009-01-28 | 2023-02-21 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
US11582593B2 (en) | 2009-01-28 | 2023-02-14 | Head Water Research Llc | Adapting network policies based on device service processor configuration |
US9819808B2 (en) | 2009-01-28 | 2017-11-14 | Headwater Research Llc | Hierarchical service policies for creating service usage data records for a wireless end-user device |
US9866642B2 (en) | 2009-01-28 | 2018-01-09 | Headwater Research Llc | Wireless end-user device with wireless modem power state control policy for background applications |
US11570309B2 (en) | 2009-01-28 | 2023-01-31 | Headwater Research Llc | Service design center for device assisted services |
US9942796B2 (en) | 2009-01-28 | 2018-04-10 | Headwater Research Llc | Quality of service for device assisted services |
US11563592B2 (en) | 2009-01-28 | 2023-01-24 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US9973930B2 (en) | 2009-01-28 | 2018-05-15 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US11538106B2 (en) | 2009-01-28 | 2022-12-27 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
US9986413B2 (en) | 2009-01-28 | 2018-05-29 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US10028144B2 (en) | 2009-01-28 | 2018-07-17 | Headwater Research Llc | Security techniques for device assisted services |
US11533642B2 (en) | 2009-01-28 | 2022-12-20 | Headwater Research Llc | Device group partitions and settlement platform |
US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US10057141B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Proxy system and method for adaptive ambient services |
US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10064033B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Device group partitions and settlement platform |
US10070305B2 (en) | 2009-01-28 | 2018-09-04 | Headwater Research Llc | Device assisted services install |
US10080250B2 (en) | 2009-01-28 | 2018-09-18 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US11516301B2 (en) | 2009-01-28 | 2022-11-29 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
US10171990B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
US10171681B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Service design center for device assisted services |
US11494837B2 (en) | 2009-01-28 | 2022-11-08 | Headwater Research Llc | Virtualized policy and charging system |
US10171988B2 (en) | 2009-01-28 | 2019-01-01 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
US10237773B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US10237146B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | Adaptive ambient services |
US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US11477246B2 (en) | 2009-01-28 | 2022-10-18 | Headwater Research Llc | Network service plan design |
US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
US10320990B2 (en) | 2009-01-28 | 2019-06-11 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US10321320B2 (en) | 2009-01-28 | 2019-06-11 | Headwater Research Llc | Wireless network buffered message system |
US10326675B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Flow tagging for service policy implementation |
US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
US10462627B2 (en) | 2009-01-28 | 2019-10-29 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
US10536983B2 (en) | 2009-01-28 | 2020-01-14 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US10582375B2 (en) | 2009-01-28 | 2020-03-03 | Headwater Research Llc | Device assisted services install |
US11425580B2 (en) | 2009-01-28 | 2022-08-23 | Headwater Research Llc | System and method for wireless network offloading |
US20140095706A1 (en) * | 2009-01-28 | 2014-04-03 | Headwater Partners I Llc | Device-Assisted Services for Protecting Network Capacity |
US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
US10716006B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
US10749700B2 (en) | 2009-01-28 | 2020-08-18 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US10771980B2 (en) | 2009-01-28 | 2020-09-08 | Headwater Research Llc | Communications device with secure data path processing agents |
US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
US10791471B2 (en) | 2009-01-28 | 2020-09-29 | Headwater Research Llc | System and method for wireless network offloading |
US10798254B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | Service design center for device assisted services |
US10798558B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
US10803518B2 (en) | 2009-01-28 | 2020-10-13 | Headwater Research Llc | Virtualized policy and charging system |
US11412366B2 (en) | 2009-01-28 | 2022-08-09 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
US11405429B2 (en) | 2009-01-28 | 2022-08-02 | Headwater Research Llc | Security techniques for device assisted services |
US10834577B2 (en) | 2009-01-28 | 2020-11-10 | Headwater Research Llc | Service offer set publishing to device agent with on-device service selection |
US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
US10848330B2 (en) | 2009-01-28 | 2020-11-24 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US10855559B2 (en) | 2009-01-28 | 2020-12-01 | Headwater Research Llc | Adaptive ambient services |
US10869199B2 (en) | 2009-01-28 | 2020-12-15 | Headwater Research Llc | Network service plan design |
US11405224B2 (en) | 2009-01-28 | 2022-08-02 | Headwater Research Llc | Device-assisted services for protecting network capacity |
US11363496B2 (en) | 2009-01-28 | 2022-06-14 | Headwater Research Llc | Intermediate networking devices |
US10985977B2 (en) | 2009-01-28 | 2021-04-20 | Headwater Research Llc | Quality of service for device assisted services |
US11039020B2 (en) | 2009-01-28 | 2021-06-15 | Headwater Research Llc | Mobile device and service management |
US11096055B2 (en) | 2009-01-28 | 2021-08-17 | Headwater Research Llc | Automated device provisioning and activation |
US11134102B2 (en) | 2009-01-28 | 2021-09-28 | Headwater Research Llc | Verifiable device assisted service usage monitoring with reporting, synchronization, and notification |
US11190427B2 (en) | 2009-01-28 | 2021-11-30 | Headwater Research Llc | Flow tagging for service policy implementation |
US11190645B2 (en) | 2009-01-28 | 2021-11-30 | Headwater Research Llc | Device assisted CDR creation, aggregation, mediation and billing |
US11190545B2 (en) | 2009-01-28 | 2021-11-30 | Headwater Research Llc | Wireless network service interfaces |
US11219074B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Enterprise access control and accounting allocation for access networks |
US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
US11228617B2 (en) | 2009-01-28 | 2022-01-18 | Headwater Research Llc | Automated device provisioning and activation |
US11337059B2 (en) | 2009-01-28 | 2022-05-17 | Headwater Research Llc | Device assisted services install |
US8826047B1 (en) * | 2009-03-02 | 2014-09-02 | Marvell International Ltd. | Self governing power management architecture that allows independent management of devices based on clock signals and a plurality of control signals written to control registers |
US8972768B2 (en) * | 2009-11-05 | 2015-03-03 | Samsung Electronics Co., Ltd. | Apparatus and method for scaling dynamic bus clock |
EP3316073A3 (en) * | 2009-11-05 | 2018-07-18 | Samsung Electronics Co., Ltd. | Apparatus and method for scaling dynamic bus clock |
EP2320300A3 (en) * | 2009-11-05 | 2014-07-23 | Samsung Electronics Co., Ltd. | Apparatus and method for scaling dynamic bus clock |
US20110106992A1 (en) * | 2009-11-05 | 2011-05-05 | Samsung Electronics Co. Ltd. | Apparatus and method for scaling dynamic bus clock |
TWI416302B (en) * | 2009-11-20 | 2013-11-21 | Ind Tech Res Inst | Power-mode-aware clock tree and synthesis method thereof |
US20110154069A1 (en) * | 2009-12-23 | 2011-06-23 | Edward Costales | Dynamic power state determination |
US8555091B2 (en) | 2009-12-23 | 2013-10-08 | Intel Corporation | Dynamic power state determination of a graphics processing unit |
US8700926B2 (en) * | 2010-01-11 | 2014-04-15 | Qualcomm Incorporated | System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests |
US20110173463A1 (en) * | 2010-01-11 | 2011-07-14 | Qualcomm Incorporated | System and method of tuning a dynamic clock and voltage switching algorithm based on workload requests |
US20110182198A1 (en) * | 2010-01-22 | 2011-07-28 | George Endicott Rittenhouse | System and method for analyzing network power consumption |
US9621360B2 (en) * | 2010-01-22 | 2017-04-11 | Alcatel Lucent | System and method for analyzing network power consumption |
US8615687B2 (en) * | 2010-07-23 | 2013-12-24 | Arm Limited | Data processing system and method for regulating a voltage supply to functional circuitry of the data processing system |
US20120023382A1 (en) * | 2010-07-23 | 2012-01-26 | Arm Limited | Data processing system and method for regulating a voltage supply to functional circuitry of the data processing system |
CN102439535A (en) * | 2011-10-25 | 2012-05-02 | 深圳市海思半导体有限公司 | Method for reducing dynamic power consumption and electronic equipment |
WO2013059987A1 (en) * | 2011-10-25 | 2013-05-02 | 深圳市海思半导体有限公司 | Method of reducing dynamic power consumption and electronic device |
TWI496526B (en) * | 2012-10-16 | 2015-08-11 | Wistron Corp | Portable electronic device capable of switching different statuses by rotating centrifugal force |
US10171995B2 (en) | 2013-03-14 | 2019-01-01 | Headwater Research Llc | Automated credential porting for mobile devices |
US10834583B2 (en) | 2013-03-14 | 2020-11-10 | Headwater Research Llc | Automated credential porting for mobile devices |
US11743717B2 (en) | 2013-03-14 | 2023-08-29 | Headwater Research Llc | Automated credential porting for mobile devices |
US10809793B2 (en) * | 2014-03-31 | 2020-10-20 | Samsung Electronics Co., Ltd. | Power control method and apparatus for low power system of electronic device |
US20170108917A1 (en) * | 2014-03-31 | 2017-04-20 | Samsung Electronics Co., Ltd. | Power control method and apparatus for low power system of electronic device |
EP2940869A1 (en) * | 2014-04-30 | 2015-11-04 | Nxp B.V. | Synchronised logic circuit |
CN105049003A (en) * | 2014-04-30 | 2015-11-11 | 恩智浦有限公司 | Synchronised logic circuit |
CN105049003B (en) * | 2014-04-30 | 2018-04-17 | 恩智浦有限公司 | Sync logic |
US9257985B2 (en) | 2014-04-30 | 2016-02-09 | Nxp B.V. | Synchronized logic circuit |
US10101795B2 (en) | 2015-11-10 | 2018-10-16 | Wipro Limited | System-on-chip (SoC) and method for dynamically optimizing power consumption in the SoC |
US9910954B2 (en) * | 2016-05-26 | 2018-03-06 | International Business Machines Corporation | Programmable clock division methodology with in-context frequency checking |
US11245638B2 (en) * | 2019-02-15 | 2022-02-08 | International Business Machines Corporation | Joint control of communication and computation resources of a computerized system |
US12183432B2 (en) | 2019-08-29 | 2024-12-31 | Taiwan Semiconductor Manufacturing Company, Ltd. | Shared decoder circuit and method |
US11705175B2 (en) | 2019-08-29 | 2023-07-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | Shared decoder circuit and method |
US11450367B2 (en) | 2019-08-29 | 2022-09-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | Shared decoder circuit and method |
US10937477B1 (en) * | 2019-08-29 | 2021-03-02 | Taiwan Semiconductor Manufacturing Company Ltd. | Shared decoder circuit and method |
US10886919B1 (en) * | 2019-12-05 | 2021-01-05 | Arm Limited | Clock adjusting techniques |
CN114815964A (en) * | 2021-01-19 | 2022-07-29 | 安华高科技股份有限公司 | Power intelligent packet processing |
EP4030626A3 (en) * | 2021-01-19 | 2022-08-10 | Avago Technologies International Sales Pte. Limited | Power-smart packet processing |
Also Published As
Publication number | Publication date |
---|---|
US6813674B1 (en) | 2004-11-02 |
US7207014B2 (en) | 2007-04-17 |
US20050055592A1 (en) | 2005-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6115823A (en) | System and method for task performance based dynamic distributed power management in a computer system and design method therefor | |
US5987614A (en) | Distributed power management system and method for computer | |
US5600839A (en) | System and method for controlling assertion of a peripheral bus clock signal through a slave device | |
US5652895A (en) | Computer system having a power conservation mode and utilizing a bus arbiter device which is operable to control the power conservation mode | |
US8117475B2 (en) | Direct memory access controller | |
US9921985B2 (en) | Direct memory access controller | |
US7155618B2 (en) | Low power system and method for a data processing system | |
US20180157616A1 (en) | Clock gating circuit | |
US5628019A (en) | System and method for controlling a peripheral bus clock signal during a reduced power mode | |
US6079022A (en) | Method and apparatus for dynamically adjusting the clock speed of a bus depending on bus activity | |
KR19990076908A (en) | Power Management Device and Method | |
US6163848A (en) | System and method for re-starting a peripheral bus clock signal and requesting mastership of a peripheral bus | |
US6920572B2 (en) | Unanimous voting for disabling of shared component clocking in a multicore DSP device | |
TWI470410B (en) | Electronic system and power management method | |
EP1337908B1 (en) | Power management method and arrangement for bus-coupled circuit blocks | |
KR101883784B1 (en) | Bus system in SoC and method of gating root clocks therefor | |
EP1573491B1 (en) | An apparatus and method for data bus power control | |
US6624659B1 (en) | Dynamically updating impedance compensation code for input and output drivers | |
EP0644475B1 (en) | Apparatus and method for controlling a peripheral bus clock signal | |
EP2109029B1 (en) | Apparatus and method for address bus power control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VADEM, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VELASCO, FRANCISCO;PHUNG, XUYEN N.;MITCHELL, PHILLIP M.;AND OTHERS;REEL/FRAME:010187/0784;SIGNING DATES FROM 19990806 TO 19990809 |
|
AS | Assignment |
Owner name: AMPHUS, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VADEM;REEL/FRAME:010822/0100 Effective date: 20000511 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: ST. CLAIR INTELLECTUAL PROPERTY CONSULTANTS, INC., Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AMPHUS, INC.;REEL/FRAME:012103/0533 Effective date: 20010808 |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
AS | Assignment |
Owner name: ST. CLAIR INTELLECTUAL PROPERTY CONSULTANTS, INC., Free format text: NUNC PRO TUNC ASSIGNMENT;ASSIGNOR:AMPHUS, INC.;REEL/FRAME:017811/0225 Effective date: 20060510 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 12 |
|
FEPP | Fee payment procedure |
Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |