Processor P-States i C-States

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Procesory Intel obsługują wiele technologii w celu optymalizacji zapotrzebowania na energię. W tym artykule przedstawiamy przegląd stanów P-State (optymalizacja napięcia i częstotliwości procesora podczas pracy) oraz stanów C-State (optymalizacja zużycia energii, gdy rdzeń nie posiada instrukcji do wykonania). Informacje na temat wyłączania tych funkcji można znaleźć w artykule Jak wyłączyć CPU Power Saving Management w BIOS-ie.

P-States

P-States (do Haswell/Broadwell) i Speed Shift (z Skylake) w porównaniu.

Podczas wykonywania kodu, system operacyjny i procesor mogą zoptymalizować zużycie energii przez różne stany P (Performance States). W zależności od potrzeby, procesor pracuje w różnych częstotliwościach. P0 jest najwyższą częstotliwością (z najwyższym napięciem).

W przypadku procesorów Intel do architektury Haswell/Broadwell włącznie, żądana częstotliwość (a tym samym napięcie) jest określana przez system operacyjny za pośrednictwem wpisywania żądanych wartości do specjalnych rejestrów procesora.[1][2]

Począwszy od architektury Skylake, system operacyjny może przekazać kontrolę nad stanami P procesorowi (Speed Shift Technology, Hardware P-States).[3] W architekturze Kaby Lake, funkcje te zostały jeszcze bardziej zoptymalizowane.[4]

C-States

Przegląd różnych stanów C i PC (źródło: Intel).
Zależność stanów C od rdzeni (CC-States) i pakietów (PC-States).

W przeciwieństwie do stanów P, których celem jest optymalizacja zużycia energii podczas wykonywania kodu, stany C służą do optymalizacji lub zmniejszenia zużycia energii w trybie bezczynności (gdy kod nie jest wykonywany).

Typowe stany C to:[5]

  • C0 – Active Mode: Code is executed, in this state the P-States (see above) are also relevant.
  • C1 – Auto Halt
  • C1E – Auto halt, low frequency, low voltage
  • C2 – Temporary state before C3. Memory path open
  • C3 – L1/L2 caches flush, clocks off
  • C6 – Save core states before shutdown and PLL off
  • C7 – C6 + LLC may be flushed
  • C8 – C7 + LLC must be flushed

Stany C można podzielić na Core C-States (CC-States), Package C-States (PC-States) i Logical C-State. W większości przypadków system operacyjny wyznacza określony stan C dla rdzenia poprzez wykonanie polecenia MWAIT.[6]

Odnośniki

  1. Intel Xeon Processor E3-1200 v3 Product Family Datasheet – Volume 1 of 2 4.2.1 Enhanced Intel SpeedStep Technology Key Features: [...] Multiple frequency and voltage points for optimal performance and power efficiency. These operating points are known as P-states. [...] Frequency selection is software controlled by writing to processor MSRs. [...] All active processor cores share the same frequency and voltage. In a multicore processor, the highest frequency P-state requested among all active cores is selected.
  2. What exactly is a P-state? (Pt. 1)
  3. Intel’s 6th Gen Skylake Unwrapped – CPU Microarchitecture, Gen9 Graphics Core and Speed Shift Hardware P-State (wccftech.com, 18.08.2015)
  4. Intel Kaby Lake: 14nm+ und optimiertes Speed Shift steigern Performance (TKmag, 10.03.2017)
  5. Intel Xeon Processor E3-1200 v5 Product Family Datasheet - Volume 1 of 2 Chapter 4 Power Management
  6. C-states, C-states and even more C-states (software.intel.com, 27.03.2008)

Dodatkowe informacje


Autor: Werner Fischer

Powiązane artykuły

Aktywacja technologii wirtualizacji sprzętowej Intel VT
Backplane
Luki bezpieczeństwa Flaws w architekturze procesorów AMD