Intel IA-32 Computer Accessories User Manual


 
Power Optimization for Mobile Usages 9
9-19
imbalance can be accomplished using performance monitoring
events. Intel Core Duo processor provides an event for this
purpose. The event (Serial_Execution_Cycle) increments under
the following conditions:
The core is actively executing code in C0 state,
The second core in the physical processor is in an idle state
(C1-C4).
This event enables software developers to find code that is
executing serially, by comparing Serial_Execution_Cycle and
Unhalted_Ref_Cycles. Changing sections of serialized code to
execute into two parallel threads enables coordinated thread
synchronization to achieve better power savings.
Although Serial_Execution_Cycle is available only on Intel
Core Duo processors, application thread with load-imbalance
situations usually remains the same for symmetric application
threads and on symmetrically configured multi-core processors,
irrespective of differences in their underlying microarchitecture.
For this reason, the technique to identify load-imbalance
situations can be applied to multi-threaded applications in
general, and not specific to Intel Core Duo processors.