Source: http://www.google.com/patents/US6240521?ie=ISO-8859-1&dq=7069184
Timestamp: 2014-03-15 18:14:24
Document Index: 464128537

Matched Legal Cases: ['art 62', 'art 64', 'art 66', 'art 64', 'art 62', 'art 64']

Patent US6240521 - Sleep mode transition between processors sharing an instruction set and an ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsAn information processing system includes at least two processors sharing a common instruction set and address space. One processor at a time is active and executes program instructions. The active processor is placed into a sleep mode in which a current machine state is saved in the shared address space...http://www.google.com/patents/US6240521?utm_source=gb-gplus-sharePatent US6240521 - Sleep mode transition between processors sharing an instruction set and an address spaceAdvanced Patent SearchPublication numberUS6240521 B1Publication typeGrantApplication numberUS 09/151,133Publication dateMay 29, 2001Filing dateSep 10, 1998Priority dateSep 10, 1998Fee statusLapsedPublication number09151133, 151133, US 6240521 B1, US 6240521B1, US-B1-6240521, US6240521 B1, US6240521B1InventorsRonald Jason Barber, Edwin Joseph SelkerOriginal AssigneeInternational Business Machines Corp.Export CitationBiBTeX, EndNote, RefManPatent Citations (14), Referenced by (68), Classifications (9), Legal Events (5) External Links: USPTO, USPTO Assignment, EspacenetSleep mode transition between processors sharing an instruction set and an address spaceUS 6240521 B1Abstract An information processing system includes at least two processors sharing a common instruction set and address space. One processor at a time is active and executes program instructions. The active processor is placed into a sleep mode in which a current machine state is saved in the shared address space and instruction execution is suspended. A different processor becomes active and resumes instruction execution using the previously saved current machine state. The sleep mode is used to effectively pass control from one processor to another. In a specific embodiment, the currently active processor will resume operation after a sleep mode unless the user overrides that default selection. In another specific embodiment, the currently active processor selects which processor will become active following a sleep mode transition. In another specific embodiment, different processors share a common instruction set but each has additional unique characteristics, and the currently active processor selects a processor having characteristics matching the requirements of a specific phase of a computational process. In another specific embodiment, a notebook computer has two processors, one being very low-powered for extending battery life, the other being very fast for multimedia presentations and heavy number crunching. A user selects a processor appropriate for the intended use.
What is claimed is: 1. A method for operating an information processing system, comprising the steps of:
providing a hardware platform, including memory, having plural processors sharing a common instruction set, memory address space, and I/O system, and including means permitting a suspend mode to provide a transition between active processors, and means for selecting which processor shall resume program execution; providing a stored program for operating the hardware platform, and storing the program in a portion of the shared memory; selecting one processor to execute the stored program, the selected processor defining a currently active processor and a current machine state; using the suspend mode for suspending execution of the stored program by the currently active processor, and for saving the current machine state in a portion of the memory within the shared memory address space; and resuming execution of the stored program by the currently active processor using the saved machine state to restore the current machine state, whereby the information processing system is operating according to the limitations of the system and the requirements of the stored program. 2. A method for operating an information processing system, comprising the steps of:
providing a hardware platform, including memory, having plural processors sharing a common instruction set, memory address space, and I/O system, and including means permitting a suspend mode to provide a transition between active processors, and means for selecting which processor shall resume program execution; providing a stored program for operating the hardware platform, and storing the program in a portion of the shared memory; selecting one processor to execute the stored program, the selected processor defining a currently active processor and a current machine state; using the suspend mode for suspending execution of the stored program by the currently active processor, and for saving the current machine state in a portion of the memory within the shared memory address space; permitting the currently active processor to select which processor will resume execution of the stored program; and resuming execution of the stored program by the selected processor and using the saved machine state to restore the current machine state, the selected processor becoming the currently active processor, whereby the information processing system is operating according to the limitations of the system and the requirements of the stored program. 3. A method for operating an information processing system, comprising the steps of:
providing a hardware platform including, memory, plural processors sharing a common instruction set, memory address space, and I/O system, means permitting a suspend mode to provide a transition between active processors, and means for selecting which processor shall resume program execution; providing a stored program for operating the hardware platform, and storing the program in a portion of the shared memory; selecting one processor to execute the stored program; the selected processor defining a currently active processor and a current machine state; using the suspend mode for suspending execution of the stored program by the currently active processor, and for saving the current machine state in a portion of the memory within the shared memory address space; permitting the currently active processor to select which processor will resume execution of the stored program; resuming execution of the stored program by the selected processor and using the saved machine state to restore the current machine state, the selected processor becoming the currently active processor; the provided hardware platform further including, means permitting the currently active processor to save the current machine state and to suspend program execution, and means permitting the currently active processor to determine which processor is currently active; the provided stored program further including, program means for determining which processor is currently active, and program means for determining whether the currently active processor is able to process a predetermined group of program instructions; and using the determination of ability to process instructions for selecting which processor shall resume program execution, and for saving the current machine state and suspending execution when the currently active processor is unable to process the predetermined group of program instructions, whereby the information processing system is operating according to the limitations of the system and the requirements of the stored program. 4. A notebook computer, comprising:
a low-powered processor; a high-speed processor; a memory; an I/O system; the two processors sharing a common instruction set, the memory, and the I/O system and defining a stored program computer; the stored program computer defining a suspend mode, an active mode, a currently active processor, and a current machine state; at most, one processor at a time is in the active mode; means for selecting which processor will resume the active mode as the currently active processor following a suspend mode; means for placing a currently active processor into a suspend mode and for saving a current machine state in the shared memory; means for placing a selected processor into an active state using the saved machine state to restore a current machine state; and means defining a currently active processor as a default selection of which processor is placed in an active mode following a suspend mode. 5. A notebook computer, comprising:
a low-powered processor; a high-speed processor; a memory; an I/O system; the two processors sharing a common instruction set, the memory, and the I/O system and defining a stored program computer; the stored program computer defining a suspend mode, an active mode, a currently active processor, and a current machine state; at most, one processor at a time is in the active mode; means for selecting which processor will resume the active mode as the currently active processor following a suspend mode; means for placing a currently active processor into a suspend mode and for saving a current machine state in the shared memory; means for placing a selected processor into an active state using the saved machine state to restore a current machine state; and means permitting a currently active processor to select which processor is placed in an active mode following a suspend mode. 6. A notebook computer, comprising:
a low-powered processor; a high-speed processor; a memory; an I/O system; the two processors sharing a common instruction set, the memory, and the I/O system and defining a stored program computer; the stored program computer defining a suspend mode, an active mode, a currently active processor, and a current machine state; at most, one processor at a time is in the active mode; means for selecting which processor will resume the active mode as the currently active processor following a suspend mode; means for placing a currently active processor into a suspend mode and for saving a current machine state in the shared memory; means for placing a selected processor into an active state using the saved machine state to restore a current machine state; means permitting a currently active processor to select which processor is placed in an active mode following a suspend mode; and means permitting a currently active processor to determine which processor is active.
FIELD OF THE INVENTION The invention generally relates to information processing systems, and more specifically to power conservation in battery operated computer systems. The invention has a particular applicability to IBM� ThinkPad�) notebook computers. (IBM and ThinkPad are registered trademarks of the International Business Machines Corporation.)
BACKGROUND OF THE INVENTION Various low-powered operating modes for extending battery life are known in notebook computers and hand-held devices. A sleep mode (also known as a �suspend� mode) permits a user to press a button which places the computer in a very low power configuration in which program execution is suspended. When the button is depressed a second time, the computer resumes execution from the point at which the button was depressed the first time. In some power-conserving operating modes, a computer will enter a sleep mode automatically if there has been no user activity within a defined interval.
In other efforts to extend battery life, computer circuits have been developed which provide reasonable computational speed when operated at reduced voltages. It is fair to say, however that no existing notebook computer offers the combined advantages of low power and high speed.
What is needed is a notebook computer that can operate at extremely low power levels when battery life is at a premium�such as during a long distance flight�and can operate at high speed when computational power is required. The current solution to this problem is to use two computers�a low-powered notebook for an extended flight, and a high-powered notebook or desktop computer for heavy number crunching.
SUMMARY OF THE INVENTION This need, and others that will become apparent, is met by the present invention which in a specific embodiment provides an information processing system having at least two processors sharing a common instruction set and address space. One processor at a time is active and executes program instructions. The active processor is placed into a sleep mode in which a current machine state is saved in the shared address space and instruction execution is suspended. A different processor becomes active and resumes instruction execution using the previously saved current machine state. The sleep mode is used to effectively pass control from one processor to another.
In a specific embodiment, the currently active processor will resume operation after a sleep mode unless the user overrides that default selection. In another specific embodiment, the currently active processor selects which processor will become active following a sleep mode transition.
In another specific embodiment, different processors share a common instruction set but each has additional unique characteristics, and the currently active processor selects a processor having characteristics matching the requirements of a specific phase of a computational process.
In another specific embodiment, a notebook computer has two processors, one being very low-powered for extending battery life, the other being very fast for multimedia presentations and heavy number crunching. A user selects a processor appropriate for the intended use.
Another specific embodiment of the invention defines methods for operating an information processing system having plural processors using a sleep mode transition as described above. One specific method requires that the computational process be expressed in shared instructions and address space only. Another specific method permits the software, via the processor selection latch, to specify which processor will be active during various phases of the software, thereby permitting the software to take advantage of individual characteristics of each processor.
A primary advantage of the system is that a low power processor can be used for some tasks, such as word processing, for prolonging battery life, while a powerful high-speed processor can be invoked for tasks such as spread sheets and multimedia presentations. In the past, these combined features required that more than one computer be used. The present invention permits these features to be available in a single computer system.
Another advantage of the described system is that it permits desirable characteristics of similar though different processors to be successfully combined in a single computer. The differing characteristics typically include speed and power, but also permit processors from different manufacturers and having slightly differing characteristics to be combined in a single desktop or notebook computer. This advantage is one not previously available except by using two computers. The two processors must share a common subset of instructions and an address space.
BRIEF DESCRIPTION OF THE DRAWINGS For a further understanding of the objects, features and advantages of the present invention, reference should be had to the following description of the preferred embodiment, taken in conjunction with the accompanying drawing, in which like parts are given like reference numerals and wherein:
FIG. 1 is a block diagram which illustrates a two processor computer system according to one aspect of the present invention.
FIG. 2 is a schematic diagram which illustrates a computer machine state.
FIG. 3 is a block diagram which illustrates the computer system of FIG. 1 in which an active processor suspends execution of a program, saves its machine state and enters a sleep mode, while a second processor is in a sleep mode.
FIG. 4 is a block diagram which illustrates a second processor using a previously saved machine state to come out of the sleep mode and to resume execution of a program while a first processor remains in the sleep mode.
FIG. 5 is a schematic diagram which illustrates a method for operating a computer system according to another aspect of the present invention.
FIG. 6 is a block diagram which illustrates a processor selection latch used in several embodiments of the present invention.
FIG. 7 is a schematic diagram representing a computational process being executed alternatively by each of two processors according to one aspect of the present invention.
FIG. 8 is a partial program flowchart which illustrates a procedure for determining whether the current processor can continue the computational process and whether a user suspend command has been received.
DESCRIPTION OF THE PREFERRED EMBODIMENTS With reference to FIG. 1, there is shown a computer system according to one aspect of the present invention. The computer system is designated generally by the reference numeral 10 and includes a first processor 12, a second processor 14, a shared internal bus 16, a shared I/O system 18, and a shared memory system 20.
Both processors 12, 14 share a common instruction set, common I/O system and memory system address space, and each processor includes an active mode and a sleep mode. The computer system 10 includes elements permitting a user to place each processor into its sleep mode, and to selectively activate one processor from the sleep mode to an active mode. The active processor executes program instructions stored in the memory system 20. Both processors can be placed simultaneously in the sleep mode. One processor at a time can be activated to execute program instructions.
Machine State FIG. 2 is a schematic diagram which illustrates a saved machine state defined for the two processors shown in FIG. 1. The defined machine state is designated generally by the reference numeral 22, and includes saved machine flags 24, saved interrupt flags and masks 26, and saved machine register contents 28, 30.
When an active processor is instructed to suspend execution of program instructions and to enter the sleep mode, the active processor saves its current machine state 22 in a predetermined block of the shared memory system 20 (FIG. 1) before suspending execution and entering the sleep mode.
When both processors are in the sleep mode, and one processor is instructed to leave the sleep mode and to resume execution of the program instructions, that processor obtains the previously saved machine state 22 from the predetermined block of the shared memory system 20, and resumes execution from that machine state.
Process State There are two �states� of concern: (1) a �machine� state which includes the contents of machine registers, interrupt masks and various flags, and (2) a �process� state, which is represented by the machine state plus the contents of memory, both an internal memory (RAM), and an external memory (DISK). Since the two processors share a common address space, the contents of memory is available equally to both processors (or all processors when there are more than two). It is only the machine state which must be passed back and forth between the active processors via the shared memory and the sleep mode transition. Clearly this �baton� passing can be accomplished without the use of a sleep mode, or at least the sleep mode can be very brief. But in at least one embodiment, in which a user selects which processor shall run, the sleep mode transition is natural and is easy to implement.
Low-Power/High-Speed Combination In a specific embodiment of the invention, one processor is a high-speed processor and the other is a low-power processor, both sharing a common instruction set and address space. The low-power processor is activated from the sleep mode during battery operation, while the high-speed processor is useful for media intensive and number crunching applications when the computer system can be operated from standard household power. Such an embodiment is illustrated in FIGS. 3 and 4.
FIG. 3 is a block diagram which illustrates a specific embodiment of a computer system such as a high-end notebook computer. The computer system is designated generally by the reference numeral 40, and includes a high-speed processor 42, a low-power processor 44, a shared internal bus 46, a shared I/O system 48, and a shared memory system 50. The high-speed processor 42 is shown in a solid box to indicate that the processor 42 is in an active mode, while the low-power processor 44 is shown in a broken line box to indicate that the processor 44 is in a sleep mode. The high-speed processor 42 has been instructed to suspend execution of a program and to enter its sleep mode. As the high-speed processor 42 prepares to enter the sleep mode, it saves 52 the current machine state (22 of FIG. 2) in a predetermined block of the shared memory system 50.
FIG. 4 is a block diagram which illustrates the same embodiment of the computer system shown in FIG. 3. The low-power processor 44 has been commanded to leave the sleep mode, to enter an active mode and to resume the execution of the suspended program. The high-speed processor 42 is in the sleep mode, as indicated by the broken lines. As the low-power processor 44 comes out of the sleep mode, it retrieves 54 the previously saved machine state from the predetermined block of the shared memory system 50, and resumes the execution of instructions of the previously suspended program.
In like manner, the low-power processor 44 can be placed into the sleep mode, and will suspend the execution of the program, save its current machine state in the predetermined block of the shared memory system 50, and enter the sleep mode. The high-speed processor 42 can be aroused from the sleep mode and will retrieve the previously saved machine state from the shared memory system 50 and use that state to resume the execution of the previously suspended program. Alternatively, the low-power processor 44 can be called out of the sleep mode to resume the execution of the program. In this specific embodiment, the program can be executed by either processor, and neither processor need be aware of which processor is active.
FIG. 5 illustrates a computational process executed alternatively by one of two processors, using a sleep mode transition, as described above with respect to FIGS. 1-4. The computational process is designated generally by the numeral 60, and includes a first part 62, a second part 64, and a transitional part designated generally by the numeral 66. The transitional part 66 includes a suspension of execution 68 of the first part, a saving 70 of a machine state, and a subsequent resumption of execution 72 of the second part 64. Time progresses from left to right, as indicated by the arrow 74. The first part 62 of the computational process 60 is illustrated by an arrow and includes execution of process computer instructions by a first processor (not shown). The second part 64 of the computational process 60 is illustrated by an arrow and includes execution of process computer instructions by a second processor (not shown). The figure illustrates how a sleep mode (also known as a suspend mode) is used as a transition between processors within a single computational process. As will be described later, a suspended process is often continued in the same processor.
Though the examples given here are limited to two processors, the scope of the invention includes multiple processors sharing some basic subset of common instructions, a defined machine state, and a shared memory and I/O address space. The processors must also accommodate being placed into a sleep mode from which one processor at a time can be aroused to execute program instructions, and must save a current machine state to, and restore a current machine state from a common block of the shared memory address space.
Processor Selection FIG. 6 is a block diagram which illustrates a computer system according to another aspect of the present invention using a BIOS controlled latch for determining which processor comes out of the sleep mode. The computer system is designated generally by the reference numeral 80, and includes a first processor 82, a second processor 84, a static memory 86 for saving a machine state 88, a processor selection latch 90, and a system BIOS 92 for controlling the latch. The processor selection latch 90 provides a signal 94 for enabling the first processor, and a second signal 96 for enabling the second processor. Only one processor enabling signal at a time is active.
The active processor (whichever processor is active, if either) executes instructions of an instruction stream 97 (also known as a �computer program,� �stored program,� and �program thread�). The same instruction stream is received by both processors, and is executed by an active processor. The first processor 82 uses a line 98 to command the system BIOS 92 to set the processor selection latch 90 for resuming after a sleep mode using the first processor. The second processor 84 uses a line 100 to command the system BIOS 92 to resent the processor selection latch 90 for resuming after a sleep mode using the second processor. Since only one processor is active at a time, no conflict with respect to processor activation will result.
In a specific embodiment of the invention, the default selection is the currently active processor which will be the processor reactivated upon coming out of a sleep mode transition. This behavior is consistent with the manner in which single-processor computers come out of a sleep mode. In another specific embodiment of the invention, a user override 102 is provided so that a user can select which processor comes out of sleep mode. In a specific embodiment of the invention, a decision as to which processor comes out of the sleep mode transition is made before the sleep mode begins. In yet another specific embodiment, the decision is made at the time the sleep mode begins.
System Tuning FIG. 7 is a schematic diagram which illustrates a single computational process 110 being executed alternatively by a first processor 112 and by a second processor 114.
Sleep mode transitions 116, 118, 120 are used to transfer control between the two processors. In a specific embodiment, there is an overlap of instruction sets and address spaces for the two processors. That is, they share a common subset of instructions, storage locations, and I/O address space, though each processor has features not present in the other processor.
The computational process 110 is written to take advantage of the unique features of each processor. For example, one processor operates at a lower voltage and clock speed and is useful for word processing at extremely low power levels, while the other processor includes a floating point co-processor, a specialized instruction subset permitting rapid processing of graphics information before output to a special graphics chip set, and is capable of operation at very high speed. The user selects that processor that matches the requirements of the phase of the computational process 110 currently being executed.
�System Aware� Software The applications software for such a system can be of two types. One type, �unaware� software, has no knowledge of the specific characteristics of the individual processors. The other type, �aware� software, knows which processor is active, and knows what are the specific characteristics of each processor.
Unaware software is required to limit its use of instructions and features to those that are common to both processors. Aware software, on the other hand, is able to tailor itself to the specific characteristics of each processor by using its knowledge of which processor is active. The processor enable signals 94, 96 of FIG. 6, for example, provide that type of information.
Another embodiment of the invention defines a method for operating a computer system having plural processors using a sleep mode transition, as previously described. FIG. 8 is a partial flowchart which illustrates a sequence of steps useful by a computational process which (1) has knowledge of the specific characteristics of each processor and which processor is currently active, and (2) seeks to determine whether or not the process can continue by using the currently active processor. Such information is available from a system BIOS, and can be made available from the BIOS via operating system �hooks� whenever a sleep mode is terminated.
The steps in FIG. 8 are designated generally by the reference numeral 130, and include a test 132 of whether or not the computational process can continue by using the currently active processor, and steps to be taken thereafter. If the process can be continued, it tests 134 whether the user has commanded a suspension of activity. If not, the computational process continues 136 using the currently active processor. If on the other hand, the currently active processor cannot continue the computational process, the current machine state is saved 138 in a static memory, accessible to both processors. A test 140 is then performed to determine whether the user seeks to override a computational process decision as to which processor shall resume after a sleep mode transition. If no user override is indicated, activity is suspended 142 and the processor selection latch (90 of FIG. 6) is set to select the alternative processor when activity is resumed. If a user override was indicated, activity is suspended 144 and the processor selection latch is set to the user's choice.
If the user has elected to suspend activity 134, the current machine state is saved 146 in the static memory, and then activity is suspended 148 and the processor selection latch is set to the default value to select the current processor upon resuming activity.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS4443846Dec 29, 1980Apr 17, 1984Sperry CorporationDual port exchange memory between multiple microprocessorsUS5142684 *Jun 23, 1989Aug 25, 1992Hand Held Products, Inc.Power conservation in microprocessor controlled devicesUS5592677May 19, 1994Jan 7, 1997National Semiconductor CorporationIntegrated data processing system including CPU core and parallel, independently operating DSP moduleUS5625828Jul 1, 1994Apr 29, 1997National Semiconductor CorporationParallel operating CPU core and DSP module for executing sequence of vector DSP code instructions to generate decoded constellation points in QAM/TCM modem applicationUS5666541 *Oct 15, 1996Sep 9, 1997Compaq Computer CorporationReducing power usage in a personal computerUS5713028Sep 6, 1995Jan 27, 1998Fujitsu LimitedMicro-processor unit having universal asynchronous receiver/transmitterUS5737706Aug 3, 1995Apr 7, 1998Bell Atlantic Network Services, Inc.Power system supporting CDPD operationUS5740454Dec 20, 1995Apr 14, 1998Compaq Computer CorporationCircuit for setting computer system bus signals to predetermined states in low power modeUS5809449 *Oct 30, 1996Sep 15, 1998Hewlett-Packard CompanyIndicator of battery current for portable devicesUS5886689 *Jun 10, 1997Mar 23, 1999Seiko Epson CorporationComputer system with video display controller having power saving modesUS5918061 *Nov 10, 1997Jun 29, 1999Intel CorporationEnhanced power managing unit (PMU) in a multiprocessor chipUS5926404 *Nov 12, 1997Jul 20, 1999Dell Usa, L.P.Computer system with unattended operation power-saving suspend modeUS6035408 *Jan 6, 1998Mar 7, 2000Magnex Corp.Portable computer with dual switchable processors for selectable power consumptionUS6065123 *Nov 26, 1997May 16, 2000Intel CorporationComputer system with unattended on-demand availability* Cited by examinerReferenced byCiting PatentFiling datePublication dateApplicantTitleUS6631474 *Dec 31, 1999Oct 7, 2003Intel CorporationSystem to coordinate switching between first and second processors and to coordinate cache coherency between first and second processors during switchingUS6658576 *Sep 29, 1999Dec 2, 2003Smartpower CorporationEnergy-conserving communication apparatus selectively switching between a main processor with main operating instructions and keep-alive processor with keep-alive operating instructionUS6718475 *Nov 27, 2002Apr 6, 2004Intel CorporationMulti-processor mobile computer system having one processor integrated with a chipsetUS6766460 *Aug 23, 2000Jul 20, 2004Koninklijke Philips Electronics N.V.System and method for power management in a Java accelerator environmentUS6836850 *Nov 30, 2000Dec 28, 2004Intel CorporationPortable system arrangements having dual high-level-/low-level processor modesUS6880093 *Aug 1, 2001Apr 12, 2005Sprint Communications Company L.P.Low power communication deviceUS6910139 *Feb 7, 2001Jun 21, 2005Fujitsu LimitedSoftware processing apparatus with a switching processing unit for displaying animation images in an environment operating base on type of power supplyUS6920573 *May 23, 2001Jul 19, 2005Smartpower CorporationEnergy-conserving apparatus and operating system having multiple operating functions stored in keep-alive memoryUS6928563 *May 30, 2001Aug 9, 2005Sony CorporationSystem for controlling power supplies of a device connected to a network depends on communication modeUS7058829 *Aug 14, 2002Jun 6, 2006Intel CorporationMethod and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPUUS7058831 *Sep 18, 2003Jun 6, 2006Hewlett-Packard Development Company, L.P.System and method for transitioning a system comprising a microcontroller into a low power state in response to a first sleep type which is not recognized by part of the system and a second sleep type which is recognized by part of the systemUS7080271Feb 14, 2003Jul 18, 2006Intel CorporationNon main CPU/OS based operational environmentUS7100060 *Jun 26, 2002Aug 29, 2006Intel CorporationTechniques for utilization of asymmetric secondary processing resourcesUS7114090Feb 14, 2003Sep 26, 2006Intel CorporationComputing system with operational low power statesUS7117379 *Aug 14, 2002Oct 3, 2006Intel CorporationMethod and apparatus for a computing system having an active sleep modeUS7184003Jan 13, 2003Feb 27, 2007Dualcor Technologies, Inc.Personal electronics device with display switchingUS7203857 *Mar 26, 2004Apr 10, 2007Elliptic Semiconductor Inc.On-demand clock switchingUS7212399Jun 25, 2005May 1, 2007Vulcan Portals, Inc.Processor module packaging for a portable electronic device displayUS7216242Feb 9, 2005May 8, 2007Dualcor Technologies, Inc.Personal electronics device with appliance drive featuresUS7222206Jun 17, 2004May 22, 2007Vulcan Portals, Inc.Removable module for a portable electronic device having stand-alone and system functionalityUS7231531 *Feb 28, 2003Jun 12, 2007Dualcor Technologies, Inc.Personal electronics device with a dual core processorUS7245725 *May 17, 2002Jul 17, 2007Cypress Semiconductor Corp.Dual processor framerUS7254730Feb 14, 2003Aug 7, 2007Intel CorporationMethod and apparatus for a user to interface with a mobile computing deviceUS7271997Jun 22, 2004Sep 18, 2007Vulcan Portals, Inc.Processor module packaging for a portable electronic device displayUS7343484 *Mar 28, 2002Mar 11, 2008O2Micro International LimitedPersonal computer integrated with personal digital assistantUS7386741 *May 13, 2005Jun 10, 2008Kabushiki Kaisha ToshibaMethod and apparatus for selectively assigning circuit data to a plurality of programmable logic circuits for maintaining each programmable logic circuit within an operation range at a minimum voltageUS7406610Oct 28, 2005Jul 29, 2008Intel CorporationComputing system with low power states and proxy for integration with legacy application softwareUS7409567 *Aug 25, 2004Aug 5, 2008Infineon Technologies AgDevices with reciprocal wake-up function from the standby modeUS7409570 *May 10, 2005Aug 5, 2008Sony Computer Entertainment Inc.Multiprocessor system for decrypting and resuming execution of an executing program after transferring the program code between two processors via a shared main memory upon occurrence of predetermined conditionUS7418609 *Feb 6, 2006Aug 26, 2008Compal Electronics, Inc.Method for instant on multimedia playingUS7421597Oct 28, 2005Sep 2, 2008Intel CorporationComputing system with operational low power statesUS7428650May 15, 2006Sep 23, 2008Intel CorporationNon main CPU/OS based operational environmentUS7461275 *Sep 30, 2005Dec 2, 2008Intel CorporationDynamic core swappingUS7496770 *Sep 30, 2005Feb 24, 2009Broadcom CorporationPower-efficient technique for invoking a co-processorUS7526661 *Dec 2, 2004Apr 28, 2009Intel CorporationPerformance state-based thread managementUS7533282Dec 3, 2007May 12, 2009Kabushiki Kaisha ToshibaLogic circuit apparatus for selectively assigning a plurality of circuit data to a plurality of programmable logic circuits for minimizing total power while maintaining necessary processing performanceUS7620830Jun 30, 2006Nov 17, 2009Lenovo Singapore Pte. Ltd.Halt state for protection of hard disk drives in a mobile computing environmentUS7623893Feb 25, 2008Nov 24, 2009Dualcor Technologies, Inc.Personal electronics device with common application platformUS7725748 *Dec 29, 2000May 25, 2010Intel CorporationLow power subsystem for portable computersUS7734936 *May 18, 2006Jun 8, 2010Intel CorporationMethod and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPUUS7734943 *Apr 3, 2003Jun 8, 2010Intel CorporationLow power display refreshUS7831850 *Mar 29, 2007Nov 9, 2010Microsoft CorporationHybrid operating systems for battery powered computing systemsUS7870407 *May 18, 2007Jan 11, 2011Advanced Micro Devices, Inc.Dynamic processor power management device and method thereofUS7962775 *Dec 13, 2007Jun 14, 2011Marvell International Ltd.Methods and apparatus for power mode control for PDA with separate communications and applications processorsUS8065536Jan 10, 2008Nov 22, 2011Cupp Computing AsDual mode power-saving computing systemUS8166325Sep 22, 2008Apr 24, 2012Intel CorporationNon main CPU/OS based operational environmentUS8214675 *Dec 8, 2008Jul 3, 2012Lenovo (Singapore) Pte. Ltd.Apparatus, system, and method for power management utilizing multiple processor typesUS8225078 *Aug 30, 2007Jul 17, 2012International Business Machines CorporationDocument viewing mode for battery powered computing devicesUS8239697Oct 30, 2009Aug 7, 2012Dell Products L.P.Processor performance state control systemUS8255723 *Jul 24, 2009Aug 28, 2012Freescale Semiconductor, Inc.Device having multiple instruction execution modules and a management methodUS8301916Jun 8, 2010Oct 30, 2012Intel CorporationMethod and apparatus for a computing system having an active sleep mode CPU that uses the cache of a normal active mode CPUUS8364857 *Aug 31, 2009Jan 29, 2013Qualcomm IncorporatedWireless modem with CPU and auxiliary processor that shifts control between processors when in low power state while maintaining communication link to wireless networkUS8446398 *Dec 23, 2009May 21, 2013Intel CorporationPower conservation for mobile device displaysUS8484488 *Dec 2, 2008Jul 9, 2013Intel CorporationDynamic core swappingUS8522063Apr 24, 2012Aug 27, 2013Intel CorporationNon main CPU/OS based operational environmentUS8533510 *Sep 28, 2011Sep 10, 2013Mstar Semiconductor, Inc.Power management method for a multi-microprocessor systemUS8543164 *Sep 19, 2012Sep 24, 2013Huawei Device Co., Ltd.Sleep method, wake method and mobile terminal deviceUS8595468Dec 17, 2009Nov 26, 2013International Business Machines CorporationReverse simultaneous multi-threadingUS8615647Jul 22, 2008Dec 24, 2013Intel CorporationMigrating execution of thread between cores of different instruction set architecture in multi-core processor and transitioning each core to respective on / off power stateUS8624627Jun 29, 2012Jan 7, 2014Freescale Semiconductor, Inc.Method and device for low power controlUS20090177898 *Dec 23, 2008Jul 9, 2009Beijing Lenovo Software Ltd.Computer system and notebook computer, and method for controlling computer systemUS20100317408 *Dec 23, 2009Dec 16, 2010Bran FerrenPower conservation for mobile device displaysUS20120023342 *Sep 28, 2011Jan 26, 2012Mstar Semiconductor, Inc.Power Management Method for a Multi-Microprocessor SystemCN100555174CMay 9, 2006Oct 28, 2009索尼计算机娱乐公司Methods and apparatus for power management in a computing systemWO2003029943A2 *Sep 13, 2002Apr 10, 2003Dirk HusemannA method for sync-ahead on a dual mode high-power-low-power device and apparatus thereforeWO2006034322A2 *Sep 21, 2005Mar 30, 2006IbmA method and apparatus for controlling power consumption in an integrated circuitWO2006121175A2May 9, 2006Nov 16, 2006Sony Comp Entertainment IncMethods and apparatus for power management in a computing systemWO2007081218A1 *Jan 10, 2007Jul 19, 2007Cupp Computing AsDual mode power-saving computing system* Cited by examinerClassifications U.S. Classification713/323International ClassificationG06F1/32Cooperative ClassificationG06F1/3203, G06F1/3293, G06F9/461, Y02B60/121European ClassificationG06F1/32P5U, G06F1/32P, G06F9/46GLegal EventsDateCodeEventDescriptionJul 21, 2009FPExpired due to failure to pay maintenance feeEffective date: 20090529May 29, 2009LAPSLapse for failure to pay maintenance feesDec 8, 2008REMIMaintenance fee reminder mailedSep 22, 2004FPAYFee paymentYear of fee payment: 4Sep 10, 1998ASAssignmentOwner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BARBER, RONALD JASON;SELKER, EDWIN JOSEPH;REEL/FRAME:009457/0664;SIGNING DATES FROM 19980804 TO 19980811RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google