27.10.2015 Views

Advanced Configuration and Power Interface Specification

ACPI_6.0

ACPI_6.0

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Processor <strong>Configuration</strong> <strong>and</strong> Control<br />

runtime, OSPM requests desired performance on this abstract scale <strong>and</strong> the platform entity is<br />

responsible for translating the OSPM performance requests into actual hardware performance states.<br />

The platform may also support the ability to autonomously select a performance level appropriate to<br />

the current workload. In this case, OSPM conveys information to the platform that guides the<br />

platform's performance level selection.<br />

Prior processor performance controls (P-states <strong>and</strong> T-states) have described their effect on processor<br />

performance in terms of processor frequency. While processor frequency is a rough approximation<br />

of the speed at which the processor completes work, workload performance isn’t guaranteed to scale<br />

with frequency. Therefore, rather than prescribe a specific metric for processor performance,<br />

Collaborative Processor Performance Control leaves the definition of the exact performance metric<br />

to the platform. The platform may choose to use a single metric such as processor frequency, or it<br />

may choose to blend multiple hardware metrics to create a synthetic measure of performance. In this<br />

way the platform is free to deliver the OSPM requested performance level without necessarily<br />

delivering a specific processor frequency. OSPM must make no assumption about the exact meaning<br />

of the performance values presented by the platform, or how they may correlate to specific hardware<br />

metrics like processor frequency.<br />

Platforms must use the same performance scale for all processors in the system. On platforms with<br />

heterogeneous processors, the performance characteristics of all processors may not be identical. In<br />

this case, the platform must synthesize a performance scale that adjusts for differences in processors,<br />

such that any two processors running the same workload at the same performance level will<br />

complete in approximately the same time. The platform should expose different capabilities for<br />

different classes of processors, so as to accurately reflect the performance characteristics of each<br />

processor.<br />

The control mechanisms are abstracted by the _CPC object method, which describes how to control<br />

<strong>and</strong> monitor processor performance in a generic manner. The register methods may be implemented<br />

in the Platform Communications Channel (PCC) interface (see Section 14). This provides sufficient<br />

flexibility that the entity OSPM communicates with may be the processor itself, the platform chipset,<br />

or a separate entity (e.g., a BMC).<br />

8.4.7.1 _CPC (Continuous Performance Control)<br />

This optional object declares an interface that allows OSPM to transition the processor into a<br />

performance state based on a continuous range of allowable values. OSPM writes the desired<br />

performance value to the Desired Performance Register, <strong>and</strong> the platform maps the desired<br />

performance to an internal performance state.. If supported by the platform, OSPM may<br />

alternatively enable autonomous performance level selection while specifying minimum <strong>and</strong><br />

maximum performance requirements.<br />

Optional _CPC package fields that are not supported by the platform should be encoded as follows:<br />

• Integer fields: Integer 0<br />

• Register fields: the following NULL register descriptor should be used:<br />

ResourceTemplate() {Register {(SystemMemory, 0, 0, 0, 0)}}<br />

Arguments:<br />

None<br />

Version 6.0 477

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!