Software Tuning, Performance Optimization & Platform Monitoring
Discussion regarding monitoring and software tuning methodologies, Performance Monitoring Unit (PMU) of Intel microprocessors, and platform updating.
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

What is the C0-C7 core meaning?

li_y_1
Beginner
8,977 Views

 Hi all:

      What is the C0-7 core meaning captured by PCM? Do these indicate the core status? Can you give more explanation about thest?

================================================================

Instructions retired: 1125 G ; Active cycles: 2459 G ; Time (TSC):   11 Gticks ; C0 (active,non-halted) core residency: 98.42 %

 C1 core residency: 1.58 %; C3 core residency: 0.00 %; C6 core residency: 0.00 %; C7 core residency: 0.00 %;
 C2 package residency: 0.00 %; C3 package residency: 0.00 %; C6 package residency: 0.00 %; C7 package residency: 0.00 %;

 

BRs,

LiYing

0 Kudos
1 Reply
McCalpinJohn
Honored Contributor III
8,977 Views

These "C states" are related to (but not identical to) the ACPI power management states discussed at https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface and in Section 14.6 of Volume 3 of the Intel Architectures SW Developer's Manual (document 325384-059).

A recent introduction to the topic is available at https://software.intel.com/en-us/articles/power-management-states-p-states-c-states-and-package-c-states -- this article has links to a number of additional useful discussions.

The short answer is:

  • The "Core C0" state is the core state in which a processor core is executing instructions.  All of the higher-numbered Core C-states are idle states.  (In this case "idle" means that the OS does not have a process to assign to run on the core, so it deliberately puts the core into a "halt" state.)  In general, higher numbers mean lower power consumption, but also require a longer latency to re-activate. 
  • The "Package C0" state is used when at least one core is operational (i.e., in the Core C0 state).   All of the higher-numbered Package C-states represent periods in which none of the cores is in the Core C0 state.  Again (in general), higher numbers mean lower power consumption, but also require a longer latency to re-activate.

The results above are typically of a fully active system, with the cores active 98.42% of the time, and in the C1 halt state 1.58% of the time.  Because the cores are (almost) always busy, there is no use of the higher Package C-states during this period -- i.e., the system was in Package C0 state 100% of the time, but the output does not include that explicitly.

 

0 Kudos
Reply