User's Manual

Vol. 3 14-7
POWER AND THERMAL MANAGEMENT
14.3.2.4 Application Awareness of Opportunistic Processor Operation
(Optional)
There may be situations that an end user or application software wishes to be aware
of turbo mode activity. It is possible for an application-level utility to periodically
check the occurrences of opportunistic processor operation. The basic elements of an
algorithm is described below, using the characteristics of Intel Turbo Boost Tech
-
nology as example.
Using an OS-provided timer service, application software can periodically calculate
the ratio between unhalted-core-clockticks (UCC) relative to the unhalted-reference-
clockticks (URC) on each logical processor to determine if that logical processor had
been requested by OS to run at some frequency higher than the invariant TSC
frequency, or the OS has determined system-level demand has reduced sufficiently
to put that logical processor into a lower-performance p-state or even lower-activity
state.
If an application software have access to information of the base operating ratio
between the invariant TSC frequency and the base clock (133.33 MHz), it can convert
the sampled ratio into a dynamic frequency estimate for each prior sampling period.
The base operating ratio can be read from MSR_PLATFORM_INFO[15:8].
The periodic sampling technique is depicted in Figure 14-3 and described below:
The sampling period chosen by the application (to program an OS timer service)
should be sufficiently large to avoid excessive polling overhead to other applica-
tions or tasks managed by the OS.
Figure 14-3. Periodic Query of Activity Ratio of Opportunistic Processor Operation
LP 2
LP 1
n-1 n+3
Sample period
LP 0
n+2nn+1
UCC
n, 0
URC
n, 0
FixedCtr1
FixedCtr2
LP 2
LP 1
LP 0
LP 2
LP 1
LP 0
LP 2
LP 1
LP 0
UCC
n+1, 0
URC
n+1, 0
UCC
n+2, 0
URC
n+2, 0
UCC
n+3, 0
URC
n+3, 0
Logical Processor i Turbo Activity Ratio = (UCC
n+1, i
- UCC
n, i
) / (URC
n+1, i
- URC
n, i
)
Unhalted core clockticks
Unhalted reference
clockticks
.....
.....
.....
.....