- L'EPP definisce in che misura la CPU dà priorità alle prestazioni rispetto al risparmio energetico, utilizzando intervalli come 0-255 o 0-100% a seconda della piattaforma.
- Linux espone EPP tramite sysfs e autisti come intel_pstate o amd-pstate-epp, mentre Windows Lo gestisce tramite PerfEnergyPreference e CPPC.
- Nei processori moderni (Intel La regolazione dell'EPP (Meteor Lake, Ryzen Mobile, ibridi) influisce sul turbo, sui consumi, sulla temperatura e sulla durata della batteria.
- Strumenti come auto-epp su Linux o CPUFriend su macOS consentono di ottimizzare le preferenze relative al risparmio energetico oltre ai profili predefiniti.
Se siete arrivati qui cercando di capire esattamente cos'è EPP (Energy Performance Preference) e come influisce sulle prestazioni e sul consumo energetico della vostra CPU su Windows, Linux, macOS o persino sui moderni processori Intel e AMD, siete nel posto giusto. Il concetto sembra semplice, ma è ricco di sfumature, intervalli numerici, modalità, driver e strumenti che possono fare una grande differenza in termini di temperatura, durata della batteria e consumo energetico.
In questo articolo spiegheremo chiaramente come funziona Parametro EPP e le diverse modalità di prestazione energetica in ogni sistema: dai file di /sys in Linux e il driver intel_pstate...anche le impostazioni nascoste di Windows con PerfEnergyPreferencecompresi strumenti di messa a punto come CPUFriend su macOS o script come auto-epp nelle distribuzioni moderne. L'idea è che tu capisca cosa fa ogni modalità, come è configurata e quali implicazioni reali ha per il tuo lavoro quotidiano.
Che cosa è l'EPP (Energy Performance Preference)?
Il termine EPP, Energy Performance Preference , si riferisce a un valore o a un segnale fornito al processore per indicargli a cosa dare priorità: massime prestazioni, risparmio energetico o una via di mezzo. Nei sistemi moderni, questo parametro viene implementato principalmente tramite registri come EPP (Energy Performance Preference) o EPB (Energy Performance Bias) , oppure tramite interfacce standardizzate come CPPC v2 (Collaborative Processor Performance Control).
In pratica, questa impostazione influenza la velocità con cui la CPU "accelera" o aumenta le frequenze . Un valore più orientato alle prestazioni fa sì che il processore raggiunga rapidamente la sua frequenza massima, mentre un valore orientato all'efficienza lo fa aumentare più lentamente, rimanere in stati a basso consumo per periodi più lunghi e, in molti casi, ridurre temperature e rumore a scapito di un certo consumo energetico.
Intervalli numerici tipici per i DPI
Sulle piattaforme che visualizzano l'EPP come valore lordo, si utilizza in genere un intervallo numerico da 0 a 255. Questi numeri vengono interpretati come segue:
- 0: priorità assoluta alle prestazioni, la CPU cerca di andare il più veloce possibile.
- 255: massima priorità data all'efficienza energetica, giri inferiori.
- Valori intermedi: equilibrio tra prestazioni e risparmio che il produttore solitamente raggruppa in modalità come
performance,balance_performance,balance_poweropower.
Questi intervalli sono utilizzati in entrambi Linux (ad esempio con i driver) intel_pstate o amd-pstate-epp), come in macOS nelle configurazioni avanzate con CPUFriend, o nella logica interna di Windows quando si programmano registri come quello in PerfEnergyPreference tramite CPPC.
EPP in Linux: file sysfs e valori disponibili
Nei moderni sistemi GNU/Linux, la preferenza tra consumo energetico e prestazioni viene gestita tramite interfacce nel filesystem sysfs . Esiste un file chiave per ogni core della CPU:
L'attuale preferenza per le prestazioni energetiche può essere riscontrata in /sys/devices/system/cpu/cpu#/cpufreq/energy_performance_preferenceDove cpu# è l'identificatore del kernel, ad esempio cpu0Leggendo questo file vedrai valori come performance, balance_performance, balance_power o powero anche un numero compreso tra 0 e 255 se il sistema consente valori grezzi.
Per scoprire quali modalità supporta hardware e l'autista, tu hai /sys/devices/system/cpu/cpu#/cpufreq/energy_performance_available_preferencesdove vedrai un elenco di stringhe di testo accettate. Questo è molto utile per capire quali combinazioni di prestazioni ed efficienza Sono supportati dalla tua piattaforma specifica.
Molti sistemi consentono anche la scrittura direttamente un valore numerico da 0 a 255 en energy_performance_preferencePiù vicino a 0, più prestazioni; più vicino a 255Questo controllo granulare è ideale per chi desidera la massima precisione, anche se in pratica la maggior parte degli utenti si attiene alle modalità predefinite leggibili per nome.
Esempio pratico in Linux con AMD-Pstate-EPP e auto-epp
Su hardware AMD moderno, soprattutto in Portátiles con processori Ryzen come un AMD Ryzen 7 7840UMolte distribuzioni, come openSUSE Tumbleweed, abilitano il driver per impostazione predefinita. amd-pstate-eppQuesto driver appare, ad esempio, durante la lettura /sys/devices/system/cpu/cpu0/cpufreq/scaling_driverdove vedrai la catena amd-pstate-epp quando è in uso.
Normalmente, lo stato di questo driver viene controllato a /sys/devices/system/cpu/amd_pstate/status, dove il valore active Ciò indica che viene utilizzato come meccanismo di ridimensionamento primario. Inoltre, il regolatore predefinito su molti laptop moderni è spesso... powersaveche, dal punto di vista del driver AMD, non significa "andare piano", ma piuttosto applicare una logica simile a scheduleutil u ondemand ma ottimizzato per l'hardware specifico.
Per il livello utente, i desktop come KDE Plasma o GNOME si basano su demone dei profili di potenza, un servizio in background che espone profili come Cookie di prestazione, equilibrato o Risparmio energeticoIn un sistema con power-profiles-daemon.service Quando è attivo, è comune configurare semplicemente "Prestazioni CA" e "Batteria bilanciata", lasciando che il demone si regoli internamente. frequenze, EPP e governatori.
Sulla base di ciò, molti utenti aggiungono strumenti aggiuntivi come auto-epp, un copione che automatizza la modifica EPP utilizzando il driver AMD-Pstate. Questa utility legge una configurazione in /etc/auto-epp.conf con variabili come epp_state_for_AC y epp_state_for_BATe applica stati come performance, balance_performance, balance_power o power a seconda che il dispositivo sia collegato alla presa elettrica o alimentato a batteria.
Immagina un computer portatile inizialmente configurato con epp_state_for_AC=balance_performance y epp_state_for_BAT=powerIn questo caso, la modalità batteria ultra-conservativa può limitare la frequenza di un Ryzen 7840U a circa 1,4 GHz anche sotto carico, quando il turbo single-core massimo è di circa 5,1 GHz. Il risultato è la sensazione di una macchina "indebolita" che non sfrutta appieno il potenziale del processore.
Modifica delle impostazioni in epp_state_for_AC=performance y epp_state_for_BAT=balance_performanceIn modalità AC la CPU si avvicina al suo massimo potenziale, mentre con l'alimentazione a batteria mantiene circa il 90-95% delle prestazioni massime quando necessario, ma senza aumentare drasticamente il consumo energetico.
Inoltre, configurazioni come balance_power per batteria Offrono un bilanciamento ancora più efficiente, con prestazioni prossime all'85-90% ma con un notevole risparmio energetico. Gli utenti che hanno testato queste combinazioni segnalano miglioramenti fino a un'ora in più di autonomia in modalità standby. balance_performance e temperature medie ridotte intorno ai 3-5 ºC, raggiungendo anche cali di circa 8 ºC quando ci si sposta verso balance_power in attività leggere come la navigazione web e la modifica di testi.
Modalità EPP in Intel Meteor Lake: impatto sulle prestazioni e sul consumo energetico

La famiglia Intel Meteor Lake , con modelli come il Core Ultra 7 155H, sfrutta al meglio il concetto EPP. Nei laptop più recenti, questi processori consentono di passare tra le modalità EPP bilanciata, ad alte prestazioni e a risparmio energetico , influenzando sia la CPU che la grafica integrata ( tGPU ), nonché il consumo energetico complessivo del sistema.
Nei benchmark sintetici per GPU come 3DMark Wild Life Extreme , la modalità EPP bilanciata ha mostrato valori intorno a 91,35 FPS con un consumo energetico massimo di 69 W , mentre la modalità prestazioni ha raggiunto circa 87,67 FPS ma con picchi fino a 82 W. La modalità di risparmio energetico si è attestata intorno a 80,93 FPS con un massimo di 63 W. È interessante notare che la modalità "prestazioni" non ha sempre fornito un FPS superiore rispetto alla modalità bilanciata, ma ha aumentato significativamente il consumo energetico.
Nei benchmark per browser come JetStream 2 con Firefox e Selenium , la modalità prestazioni ottiene punteggi superiori di circa il 10% rispetto alla modalità bilanciata, a costo di un aumento del consumo energetico della CPU da circa 58 W a circa 63 W. In modalità risparmio energetico, le prestazioni si dimezzano, ma la CPU può funzionare a soli 20 W , il che aumenta significativamente l'efficienza misurata come prestazioni per watt, raggiungendo punteggi di circa 15.464 punti rispetto a 8.555 (bilanciata) e 7.652 (prestazioni).
In applicazioni come GIMP , la modalità a basso consumo raddoppia i tempi di esecuzione delle attività, ma riduce il consumo energetico a circa 18 W rispetto ai 44 W o 53 W delle altre modalità, un vantaggio significativo sui laptop sottili. In Blender 4.0 , invece, non si notano differenze di prestazioni significative tra le diverse modalità, sebbene la modalità di risparmio energetico riduca il consumo di circa 10 W e limiti la frequenza a un massimo di circa 2,8 GHz.
Combinando tutti i benchmark, si può notare che la modalità prestazioni supera di poco la modalità bilanciata, ottenendo circa 445,6 punti contro 429 , mentre la modalità risparmio energetico rimane notevolmente indietro con circa 316,35 punti . Ciò rappresenta un miglioramento di appena il 4% nel punteggio complessivo a fronte di un aumento del consumo energetico di quasi il 22% in modalità prestazioni, che non sempre si rivela vantaggioso se non in scenari molto specifici.
In termini di frequenze, la modalità di risparmio energetico limita la media a circa 2414 MHz , mentre la modalità bilanciata si attesta tipicamente intorno ai 3193 MHz e la modalità prestazioni raggiunge circa 3651 MHz . Contemporaneamente, le temperature medie si riducono di circa 8 gradi in modalità di risparmio energetico, con un consumo energetico medio che si avvicina alla metà di quello della modalità prestazioni, dimostrando chiaramente come l'EPP possa influenzare drasticamente l' equilibrio tra silenziosità, durata della batteria e potenza pura.
EPP e perfEnergyPreference su Windows
En WindowsIl controllo equivalente all'EPP è esposto tramite la configurazione nascosta PerfEnergyPreference, che definisce il valore programmato nel registro delle preferenze di potenza-prestazioni nei sistemi che implementano la versione 2 dell'interfaccia CPPC e operano in modalità autonoma.
Parametro PerfEnergyPreference Si esprime in percentuale tra 0 e 100. Un valore di 0 Ciò fa sì che Windows programmi il registro interno per 0, dando priorità alle prestazioni sopra ogni altra cosa. Un valore di 100 si traduce internamente in 255spostando l'ago della bilancia interamente verso il risparmio energetico. Per valori intermedi, il sistema applica la formula (valore * 255) / 100, in modo che l'intervallo 0-100% venga mappato nell'intervallo 0-255 che l'hardware comprende.
Questa impostazione è disponibile nell'ambito delle politiche energetiche, sebbene sia solitamente contrassegnata come opzione nascosta . A livello di alias:
- Nel provisioning di Windows:
Common\Power\Policy\Settings\Processor\PerfEnergyPreferenceyPerfEnergyPreference1. - En
powercfgSono presentati comePERFEPPyPERFEPP1.
I valori accettati vanno da 0 a 100 e si applicano a diverse edizioni del sistema: Windows 10 desktop (Home, Pro, Enterprise, Education) supporta questa impostazione su architetture x86 e x64, Windows 10 Mobile solo su ARM e Windows 11 desktop su x64 e ARM. Su molti laptop moderni, il produttore preconfigura questi valori nei propri piani di risparmio energia e la loro regolazione può modificare significativamente il modo in cui la velocità della CPU aumenta e diminuisce, e persino aiutare Windows 11 a consumare meno batteria.
Regolazione di EPP e turbo su macOS con CPUFriend
En macOSApple utilizza il proprio sistema di gestione dell'alimentazione basato su XCPM (gestione dell'alimentazione della CPU XNU) e nel plugin Plugin della piattaforma X86Affinché funzioni correttamente su hardware compatibile (come Haswell o successivo), è importante che il kernel carichi quel plugin e che una tabella ACPI di tipo [tipo] sia stata configurata correttamente SPINA SSDT puntando al primo thread logico del processore (CP00 o simili).
Nei sistemi in cui la gestione nativa è insufficiente o è desiderato un ulteriore perfezionamento, strumenti come CPUFriend e lo script ausiliario CPUFriendFriendQueste utilità consentono di generare un CPUFriendDataProvider.kext o un ssdt_data.aml che iniettano dati energetici personalizzati, inclusi valori chiave come LFM (modalità a bassa frequenza), il PPE stesso e un appello Bias delle prestazioni.
La LFM viene interpretata come la frequenza "minima" alla quale la CPU può scendere in stato di inattività. Per determinarla, è possibile consultare il campo TDP-down Frequency in Intel ARK oppure utilizzare i valori consigliati, come ad esempio:
| Generazione | LFM | Equivalente approssimativo |
|---|---|---|
| Computer portatili Broadwell e successivi | 08 | ~ 800 MHz |
| Tavolo Broadwell e versioni successive | 0A | ~ 1000 MHz |
| Haswell/Broadwell HEDT/server (X99) | 0D | ~ 1300 MHz |
| Skylake+ HEDT/server (X299) | 0C | ~ 1200 MHz |
Questi valori sono codificati come moltiplicatori in esadecimale, ad esempio 13 per 1,3 GHz , e influenzano il modo in cui macOS gestisce le transizioni di sospensione e riattivazione.
Parametro EPP su macOS È anche configurato come un valore compreso tra 00 y FFDove 00 Indica che il sistema dovrebbe consentire alla CPU di sovralimentarsi il più rapidamente possibile e FF che devono essere eseguiti con molta delicatezza. Per convenzione, vengono solitamente raggruppati come segue:
| Gamma DPI | Comportamento |
|---|---|
| 0x00-0x3F | Massima performance |
| 0x40-0x7F | Prestazioni equilibrate |
| 0x80-0xBF | Saldo propenso al risparmio |
| 0xC0-0xFF | Ahorro maximo |
È importante porre attenzione SMBIOS Skylake e solo versioni successive Supportano ufficialmente questo campo EPP e una configurazione errata può compromettere la stabilità, causando kernel panic con messaggi come Sleep Wake failure in efi o peggiorare i consumi invece di migliorarli.
Nelle architetture più vecchie come Sandy Bridge e Ivy BridgemacOS non utilizza XCPM in modo nativo nelle versioni recenti, quindi script come ssdtPRGen per generare tabelle specifiche di gestione energetica (SSDT-PM). Questo approccio è combinato con aggiustamenti in ACPI (ad esempio, manipolando gli input) _PSS o _PPC) e può influenzare indirettamente il modo in cui il sistema distribuisce le frequenze e gli stati energetici, sebbene non esponga un EPP diretto come in Skylake+.
Il driver intel_pstate in Linux e le sue modalità
L'autista intel_pstate Fa parte del sottosistema di ridimensionamento delle prestazioni della CPU (CPUFreq) nel kernel Linux ed è progettato per i processori Intel da Sandy Bridge in poi (anche se non tutti i modelli sono supportati). A differenza dei driver generici come acpi-cpufreq, Funziona direttamente con l'interfaccia P-state dell'hardware. e mappa quegli stati su frequenze comprensibili dal resto del sistema.
Per ogni CPU logica, intel_pstate creare una politica indipendenteperché l'interfaccia hardware è esposta a livello di kernel. Non è un modulo scaricabile: viene configurata tramite parametri di riga. Boot del kernel (come intel_pstate=active o intel_pstate=passive), ed è sottoposto a controllo a caldo sysfs en /sys/devices/system/cpu/intel_pstate/.
Questo driver può funzionare in due modalità:
- Modalità attiva: utilizza i propri algoritmi di selezione dello stato P oppure lascia che l'hardware (HWP) si gestisca da solo ricevendo segnali.
- Modalità passivaSi comporta come un autista
CPUFreqstandard, tenendo conto dei valori richiesti dai regolatori generici comeschedutiloondemand.
In modalità attiva con HWP, il driver si affida al processore per selezionare automaticamente gli stati P, ma invia "suggerimenti" tramite registri come EPP o EPBIn questo modo, Gli algoritmi disponibili sono anche chiamati powersave y performanceTuttavia, non si comportano allo stesso modo dei governatori generici con lo stesso nome, il che spesso crea confusione.
Quando HWP è attivato e tu scegli l'algoritmo performance, intel_pstate inserisci un valore 0 nel PPE/EPBindicando che l'attenzione dovrebbe essere rivolta alle massime prestazioni. Ciò ignora qualsiasi precedente configurazione EPP che potrebbe essere stata eseguita da allora sysfs e rifiuta ulteriori tentativi di modificarlo in un valore diverso da 0.
Se si utilizza l'algoritmo powersave Con HWP, il driver rispetta il valore EPP/EPB configurato in sysfs o quello che ha lasciato l'UEFI/BIOS, che normalmente fa sì che l'hardware si comporti in modo meno aggressivo e favorisca l' equilibrio o efficienza invece della potenza di picco.
En modalità attiva senza HWP, intel_pstate Implementa il proprio calcolo dello stato P basato sui contatori interni del processore. L'algoritmo performance seleziona sempre il massimo stato P consentito, mentre powersave Lo stato P viene regolato proporzionalmente all'utilizzo della CPU, con un intervallo minimo di circa 10 ms tra le regolazioni.
En modalità passivaIl conducente si presenta al sistema come intel_cpufreq ed espone l'intera gamma di stati P (incluso il turbo) ai regolatori generici. In questo modo, La politica di escalation viene decisa esternamente.mentre intel_pstate Semplicemente traduce le richieste in effettive variazioni di frequenza.
Turbo, limiti dello stato P ed EPP in intel_pstate
Nei processori Intel, la gamma di stati P è tipicamente suddivisa in due sottoinsiemi: stati P sostenibili (al di sotto della soglia turbo) e stati P turbo , che sono mantenibili solo per intervalli limitati dal budget termico e di consumo energetico.
L'autista intel_pstate espone sempre l'intera gamma di stati P al sistema, inclusa la sezione turbo, il che significa che gli stati turbo vengono utilizzati più frequentemente rispetto a acpi-cpufreqche di solito rappresenta l'intera gamma turbo con una singola voce nelle tabelle _PSSQuesta differenza è fondamentale quando si tratta di governatori come schedutil può sfruttare al meglio il limite massimo di prestazione.
Per limitare l'uso del turbo a livello globale, esiste l'attributo no_turbo en /sys/devices/system/cpu/intel_pstate/Quando è impostato su 1, intel_pstate Smette di utilizzare qualsiasi stato P al di sopra della soglia turbo, anche se la frequenza massima riportata (cpuinfo_max_freq) continuano a riflettere il valore massimo del turbo. Questa discrepanza viene risolta internamente limitando i valori massimi di scaling_max_freq y scaling_min_freq al tetto non turbo.
Più no_turboIl driver ha diversi attributi globali importanti:
max_perf_pct: percentuale massima del livello di prestazione (turbo incluso) che può essere richiesto.min_perf_pct: percentuale minima di resa consentita.num_pstatesyturbo_pct: numero totale di stati P e proporzione occupata dal segmento turbo, quando sono costanti tra le CPU.status: indica se il driver è in modalitàactive,passiveuoffe consente di passare da una modalità all'altra.hwp_dynamic_boostUtilizzando HWP, è possibile aumentare temporaneamente la soglia minima dello stato P durante la riattivazione I/O per migliorare la reattività.
D'altra parte, quando HWP è disponibile, intel_pstate abilita un'interfaccia simile all'EPP descritto sopra: energy_performance_preference y energy_performance_available_preferences per ogni CPU in /sys/devices/system/cpu/cpu#/cpufreq/Da lì, l'utente può scegliere valori semantici come performance, balance_performance, balance_power, power o default, o addirittura scrivere un numero intero compreso tra 0 e 255 se EPP è supportato direttamente.
Dietro queste stringhe, il driver le traduce internamente in un valore numerico che viene scritto nel registro di Preferenza per le prestazioni energetiche (EPP) o nella distorsione per le prestazioni energetiche (EPB), in modo molto simile a quanto spiegato per Windows con il parametro PerfEnergyPreference.
intel_pstate contro acpi-cpufreq e modelli ibridi
In molti sistemi, il BIOS/UEFI fornisce tabelle ACPI con oggetti _PSS quell'elenco supportava gli stati P. Il driver acpi-cpufreq Utilizza tali dati per scalare la frequenza, ma è limitato agli stati elencati e rappresenta la sezione turbo con una singola entrata la cui frequenza è, per convenzione, 1 MHz più alta di quella dello stato P non turbo più elevato.
Questo approccio fa sì che i regolatori generici tendano a trascorrere più tempo in stati non turbo, perché il segmento turbo occupa "solo" 1 MHz dell'intero intervallo e sembra marginale in termini percentuali. Inoltre, nei sistemi con TDP configurabileScarsa coordinazione tra la soglia turbo effettiva e gli input _PSS Ciò può causare più input turbo e disattivare il turbo non è così semplice come ignorare l'ultimo input.
Per contro, intel_pstate Conosce l'esatta soglia del turbo e visualizza l'intera gamma.che facilita la gestione coerente dell'attributo no_turbo e un uso più aggressivo ed efficiente degli stati turbo quando desiderato.
Nei processori ibridi (core grandi e piccoli), intel_pstate Permette inoltre Pianificazione basata sulla capacità (CAS) e, se il kernel è configurato con CONFIG_ENERGY_MODEL, attivo Pianificazione consapevole dell'energia (EAS)In tale contesto, definisce le capacità della CPU in base ai livelli massimi di HWP e crea un modello di potenza "artificiale" per aiutare lo scheduler a posizionare le attività dove sono più efficienti, privilegiando i core piccoli o leggermente caricati, purché abbiano una capacità sufficiente.
Questa combinazione di CAS + EAS, insieme all'uso di EPP/HWP, consente ai processori moderni di assegnare attività leggere a core efficienti con costi energetici molto bassi, riservando core di grandi dimensioni per carichi di lavoro intensivi, il tutto regolato in base alle preferenze stabilite in termini di prestazioni energetiche.
Mettendo insieme tutto quanto sopra, l'EPP diventa una sorta di "regolatore di miscelazione" tra potenza ed efficienza che si estende OSDriver e architetture: in Linux è controllato tramite sysfs e driver come intel_pstate o amd-pstate-eppIn Windows, utilizzando parametri come PerfEnergyPreference Integrato in CPPC e su macOS con strumenti di basso livello come CPUFriend e XCPM. Capire come viene espresso (0-255, 0-100%), quali modalità semantiche offre (performance, balance_performance, balance_power, power) e come interagisce con tecnologie come HWP, turbo o lo scheduler ibrido è fondamentale per ottimizzare al meglio il sistema, sia per spremere fino all'ultimo FPS, sia per guadagnare quell'ora extra di durata della batteria che è tanto gradita.
Scrittore appassionato del mondo dei byte e della tecnologia in generale. Adoro condividere le mie conoscenze attraverso la scrittura, ed è quello che farò in questo blog, mostrarti tutte le cose più interessanti su gadget, software, hardware, tendenze tecnologiche e altro ancora. Il mio obiettivo è aiutarti a navigare nel mondo digitale in modo semplice e divertente.