Power Managed Lock Optimization
First Claim
1. An apparatus comprising:
- a timer unit configured to pulse a signal at each expiration of a selected time interval; and
a processor coupled to receive the signal from the timer unit, wherein the processor is configured to execute a first instruction that is defined in an instruction set architecture implemented by the processor, wherein the first instruction is defined to cause the processor to enter a low power state for a thread that includes the first instruction, and wherein the processor is configured to exit the low power state for the thread responsive to the pulse on the signal from the timer unit and to continue execution with an instruction following the first instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
In an embodiment, a timer unit may be provided that may be programmed to a selected time interval, or wakeup interval. A processor may execute a wait for event instruction, and enter a low power state for the thread that includes the instruction. The timer unit may signal a timer event at the expiration of the wakeup interval, and the processor may exit the low power state in response to the timer event. The thread may continue executing with the instruction following the wait for event instruction. In an embodiment, the processor/timer unit may be used to implement a power-managed lock acquisition mechanism, in which the processor is awakened a number of times to check the lock and execute the wait for event instruction if the lock is not free, after which the thread may block until the lock is free.
-
Citations
20 Claims
-
1. An apparatus comprising:
-
a timer unit configured to pulse a signal at each expiration of a selected time interval; and a processor coupled to receive the signal from the timer unit, wherein the processor is configured to execute a first instruction that is defined in an instruction set architecture implemented by the processor, wherein the first instruction is defined to cause the processor to enter a low power state for a thread that includes the first instruction, and wherein the processor is configured to exit the low power state for the thread responsive to the pulse on the signal from the timer unit and to continue execution with an instruction following the first instruction. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer accessible medium storing a plurality of instructions which, when executed by a processor:
-
attempt to acquire a lock; responsive to failing to acquire the lock, determine whether or not an additional iteration is permitted; and responsive to determining that the additional iteration is permitted, wait for an event prior to initiating another iteration, wherein waiting for the event causes the processor to enter a low power state, reducing power consumption while the plurality of instructions is attempting to acquire the lock. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer accessible medium storing a plurality of instructions which, when executed by a processor:
-
initialize a timer during initialization of a system including the processor, the timer initialized to a selected amount of time, wherein the timer is configured to assert a signal responsive to each expiration of the selected amount of time, and wherein the processor is configured to exit a low power state responsive to the asserted signal; iteratively attempt to acquire a lock and wait for an event responsive to failing to acquire the lock, wherein waiting for the event comprises entering the low power state. - View Dependent Claims (14, 15)
-
-
16. A method comprising executing instructions by a processor that:
-
iteratively attempt to acquire a lock and, responsive to failing to acquire the lock, wait for an event; responsive to a number of iterations expiring, deschedule the thread; and block rescheduling of the thread until at least a release of the lock occurs. - View Dependent Claims (17)
-
-
18. A processor comprising:
-
an execution core configured to execute instructions defined in an instruction set architecture implemented by the processor, the instructions including a wait for event instruction, wherein the execution core is configured to enter a low power state responsive to executing the wait for event instruction; and an event control unit coupled to the execution core and configured to cause the execution core to exit the low power state responsive to an expiration of a predetermined time interval. - View Dependent Claims (19, 20)
-
Specification