Si alguna vegada heu vist en un informe d'energia de Windows alguna cosa com “PCI Express Active-State Power Management (ASPM) deshabilitada” i t'has quedat amb cara de pòquer, tranquil: no ets l'únic. Aquesta tecnologia sona molt tècnica, però en realitat es resumeix com el teu equip decideix equilibrar consum energètic i rendiment quan els dispositius PCI Express no estan a ple rendiment.
Entendre què és Active State Power Manager i com afecta el rendiment és clau tant si uses un portàtil i vols esprémer la bateria, com si administres servidors o PCs potents i et preocupa més l'estabilitat i les prestacions màximes que estalviar uns watts. Ho esmicolem amb calma, enllaçant-ho amb altres conceptes com PCIe, ACPI, estats d'energia, BIOS/UEFI i opcions d'energia de Windows i Linux.
Què és Active State Power Management (ASPM) a PCI Express
Active State Power Management (ASPM) és un mecanisme d'estalvi d'energia integrat a l'estàndard PCI Express que gestiona el consum dels enllaços PCIe quan els dispositius connectats no estan transmetent dades de manera activa. En lloc de mantenir l'enllaç sempre “al màxim”, ASPM permet que aquest enllaç entre la CPU o el chipset i el dispositiu PCIe entri a estats de baixa energia durant els períodes de inactivitat.
La idea bàsica és molt senzilla: quan no hi ha trànsit de dades, l'enllaç es “relaxa”, consumeix menys energia i genera menys calor. Quan torneu a ser necessari, l'enllaç retorna al vostre estat actiu. Aquesta transició no és gratuïta: afegeix certa latència, i és aquí on entra l'equilibri entre rendiment i eficiència.
ASPM controla l'estat d'energia als dos extrems de l'enllaç PCIe (per exemple, el controlador PCIe del chipset i la targeta gràfica, o la controladora NVMe). Això significa que l'estalvi no es produeix només al dispositiu, sinó també al propi enllaç físic (la capa de transport PCIe), fins i tot quan el dispositiu PCIe en si segueix en un estat d'energia “totalment operatiu”.
En sistemes Linux, el comportament global d'ASPM es gestiona des del mòdul del nucli corresponent a PCIe. Hi ha un paràmetre de mòdul exposat a /sys/module/pcie_aspm/parameters/policy on es defineix la política que cal aplicar. A més, en l'arrencada del nucli es poden fer servir paràmetres com pcie_aspm=off per desactivar-lo de forma global o pcie_aspm=force per forçar ASPM fins i tot en dispositius que, en teoria, no ho suporten correctament (cosa que pot provocar problemes en maquinari problemàtic).
Relació entre ASPM, Link State Power Management i opcions d'energia al Windows
A Windows, el que sol aparèixer a les opcions d'energia com “Link State Power Management” (o “Administració d'energia de l'estat d'enllaç”) és, en essència, la manera com el sistema operatiu exposa i controla la política ASPM dels enllaços PCIe compatibles.
Aquesta configuració es troba dins del pla denergia, a la ruta habitual: Configuració → Sistema → Energia i suspensió → Configuració d'energia addicional → Canviar la configuració del pla → Canviar la configuració avançada d'energia. Dins de les opcions avançades, a l'apartat “PCI Express” apareix “Administració d'energia de l'estat d'enllaç”.
Windows ofereix normalment tres nivells de comportament per a Link State Power Management que, conceptualment, es corresponen amb diferents graus d'estalvi i latència:
- desactivat: l'enllaç PCIe no entra a estats d'estalvi; es prioritza el rendiment i la baixa latència.
- Estalvi d'energia moderat: el sistema aplica un nivell destalvi intermedi. El consum es redueix una mica, però el temps de recuperació des de l'estat de baix consum és relativament ràpid.
- Estalvi màxim d'energia: l'enllaç s'apaga agressivament quan no hi ha trànsit; el consum baixa més, però el temps de despertar des de l'estat de baixa potència és més gran.
En un portàtil, triar entre moderat o màxim pot marcar diferències de bateria sensibles, especialment si lequip passa bona part del temps en tasques lleugeres com navegar o veure vídeos. En un sobretaula o un equip gaming, molts usuaris opten per deixar-lo desactivat per evitar qualsevol possible latència extra i esprémer cada FPS.
Com afecta ASPM el rendiment i la durada de la bateria
L'impacte més evident d'ASPM es veu en dos fronts: rendiment (latència) i consum energètic. Són dues cares de la mateixa moneda, i jugar amb la configuració significa prioritzar una o altra.
Quan ASPM està habilitat i en modes agressius, el sistema aconsegueix reduir el consum als enllaços PCIe sempre que aquests no estiguin activament transferint dades. Això es nota especialment a:
- Portàtils, que depenen de bateria i agraeixen cada watt estalviat.
- Equips amb molts dispositius PCIe (targetes gràfiques, NICs, controladores d'emmagatzematge, etc.) on l'estalvi acumulat pot ser significatiu.
- Entorns de centres de dades i servidors molt densos, on uns pocs watts per servidor escalen a xifres grans a nivell de rack o CPD.
El peatge que cal pagar és la latència introduïda en passar d'un estat de baix consum a un estat actiu. En ús general (ofimàtica, navegació, reproducció multimèdia), aquesta latència sol ser imperceptible per a lusuari. En canvi, en escenaris d'alta exigència –jocs, baixa latència de xarxa, càrregues intensives d'emmagatzematge– pot tenir un efecte marginal, encara que normalment petit.
En algunes anàlisis i estudis s'han arribat a esmentar millores d'eficiència energètica i ús de bus PCIe de fins a un 20% amb una gestió adequada d'ASPM. No vol dir que el teu equip vagi un 20% més ràpid, sinó que per a la mateixa càrrega pot consumir menys energia i generar menys calor, cosa especialment interessant en portàtils i dispositius mòbils.
A Windows és freqüent que eines com powercfg -energy mostrin errors relacionats amb ASPM del tipus: “PCI Express Active-State Power Management (ASPM) deshabilitada per una incompatibilitat coneguda amb el maquinari d'aquest ordinador”. En aquests casos, Windows ha decidit bloquejar ASPM per seguretat, perquè sap que cert component no ho maneja bé i podria provocar penjaments, desconnexions de dispositius o inestabilitats.
Problemes típics: errors d'ASPM, bateries i compatibilitat de maquinari
Molts usuaris detecten ASPM per primer cop quan investiguen problemes de bateria o diagnòstics d'energia, sobretot en portàtils potents amb CPUs modernes i GPUs dedicades (per exemple, equips amb Intel Core i9 de 12a generació i gràfiques RTX de gamma alta).
Un cas típic és el d'un portàtil nou la bateria del qual dura molt menys del que s'esperava (2-2,5 hores en ús lleuger davant de les 5-6 hores que comenten altres usuaris). En generar un informe amb powercfg -energy a Windows, apareixen errors com:
- "Capacitats d'administració d'energia de la plataforma: PCI Express Active-State Power Management (ASPM) deshabilitat. ASPM s'ha deshabilitat a causa d'una incompatibilitat coneguda amb el maquinari d'aquest ordinador".
- Advertiments sobre dispositius USB que no entren en suspensió selectiva (per exemple, dispositius amb IDs USB concrets), cosa que també augmenta el consum en repòs.
En aquestes situacions no sempre és culpa del processador. Moltes vegades és una combinació de:
- Disseny de l'equip (placa base, BIOS/UEFI, com implementa el fabricant les taules ACPI i el suport ASPM).
- Controladors de dispositius (GPU, NIC, emmagatzematge, USB) que no implementen completament o correctament ASPM.
- Dispositius externs USB que impedeixen la suspensió selectiva o mantenen el sistema més actiu del que és desitjable.
A la pràctica, quan Windows informa que ASPM està deshabilitat per incompatibilitat, no sol ser una opció trivial reactivar sense risc. Forçar-lo mitjançant hacks o drivers modificats pot provocar, per exemple, que una targeta de xarxa deixi de respondre fins a reiniciar.
Per descartar problemes purament de programari a Windows se solen recomanar alguns passos bàsics: executar el solucionador de problemes d'energia, actualitzar Windows i drivers, i en alguns casos realitzar comprovacions de fitxers del sistema amb SFC (sfc /scannow) i utilitats DISM (DISM.exe /Online /Cleanup-image /Scanhealth y /Restorehealth). Si després de tot això l'informe continua mostrant ASPM deshabilitat per maquinari, el més probable és que sigui una limitació del propi equip o del vostre microprogramari.
ASPM a servidors i equips 24/7: val la pena?

En el món dels servidors que funcionen 24/7, ASPM genera força debat. D'una banda, estalviar energia a enllaços PCIe sembla una bona idea. De l'altra, qualsevol indici d'inestabilitat o pèrdua de paquets és inacceptable.
Un exemple clàssic és el de certes targetes de xarxa Intel (com la 82574L) que presenten una fallada de maquinari ben documentat: sota determinades condicions, la transmissió de paquets s'atura i només es recupera amb un reinici. Una de les maneres de mitigar aquest problema ha estat deshabilitar ASPM per a aquest dispositiu o fins i tot a nivell global.
A Linux hi ha diverses maneres d'afrontar aquests casos en servidor:
- Desactivar ASPM globalment amb el paràmetre d'arrencada del nucli
pcie_aspm=off. És la solució més contundent, vàlida per a tots els dispositius, a costa de renunciar completament a aquest estalvi denergia. - Usar un driver pegat (per exemple, una versió modificada de
e1000eper a NICs Intel) que deshabiliti ASPM o ignori certs estats problemàtics únicament per al dispositiu afectat. - Modifica els bits ASPM d'un dispositiu concret amb eines com
setpci, ajustant el comportament en temps d'execució sense afectar la resta del sistema (encara que els canvis solen perdre's després d'un reinici si no s'automatitzen).
La pregunta important per a un servidor és si l'estalvi energètic d'ASPM compensa el risc i la complexitat. A molts entorns de producció crítics, la prioritat absoluta és l'estabilitat i la predictibilitat. Per això és habitual veure ASPM deshabilitat a BIOS o al kernel en màquines destinades a bases de dades, virtualització intensiva o serveis de xarxa que no es poden permetre talls.
Dit això, ASPM també es pot aplicar a altres dispositius de servidor, com targetes RAID PCIe o controladores NVMe. Si el microprogramari i els drivers estan ben fets, potencialment es pot estalviar energia sense afectar la disponibilitat, encara que el benefici real depèn molt de si aquests dispositius tenen períodes d'inactivitat apreciables o estan carregats constantment.
ASPM, ACPI i els diferents estats denergia del sistema
Per entendre on encaixa ASPM al mapa de la gestió d'energia, cal parlar d'ACPI (Advanced Configuration and Power Interface). ACPI és l'estàndard que va reemplaçar l'antic APM i defineix com el microprogramari (BIOS/UEFI) i el sistema operatiu es comuniquen per gestionar energia, interrupcions, estats de suspensió, assignació d'IRQs i molt més.
ACPI és una peça clau en pràcticament tot el maquinari modern, no només a x86. Va néixer de la mà d'Intel, Microsoft i Toshiba als anys 90, però amb els anys s'ha estès també a arquitectures com ARM, especialment a l'àmbit de servidors i HPC, on es reutilitzen molts components de l'ecosistema x86 (UEFI, GPUs, etc.).
Tot i ser un estàndard àmpliament adoptat, ACPI ha rebut moltes crítiques. Algunes veus destacades de la indústria, com el fundador de Canonical, Mark Shuttleworth, han assenyalat que el firmware tancat (incloses les implementacions ACPI) és un vector ideal per a problemes de seguretat i potencials portes del darrere. També s'han destapat casos en què fabricants com Lenovo o Samsung utilitzen certes taules ACPI de Windows (per exemple, la taula WPBT) per instal·lar programari de reputació dubtosa o, en teoria, podrien facilitar la instal·lació de rootkits persistents.
Dins l'univers ACPI trobem diversos tipus d'estats d'energia que afecten tant el sistema complet com dispositius concrets i el processador. ASPM es relaciona sobretot amb la part d'enllaços PCIe, però conviu amb tots aquests nivells:
Estats globals del sistema (G States)
Els estats globals defineixen el nivell d'activitat de l'equip en conjunt i es representen mitjançant combinacions Gx/Sx:
- G0/S0: el sistema funciona amb normalitat.
- G1 (maneres de suspensió), que al seu torn es divideix en:
- G1/S1: suspensió lleugera; CPU i caixets segueixen alimentades.
- G1/S2: la CPU s'apaga i es perden dades als seus registres, però part del sistema segueix alimentat.
- G1/S3: “suspend to RAM”; el sistema sembla apagat, però la RAM continua alimentada per conservar l'estat.
- G1/S4: hibernació; el contingut de la RAM es bolca a l'emmagatzematge i la RAM es pot apagar.
- G2/S5: apagat suau; el sistema està apagat, però hi ha alimentació mínima per permetre un encès per esdeveniment (teclat, xarxa, etc.).
- G3: apagat complet; sense alimentació, excepte components mínims com el rellotge en temps real alimentat per una pila.
ASPM entra en joc principalment quan estem a G0/S0, és a dir, amb el sistema encès i operatiu. És aquí on els enllaços PCIe poden passar d'estats actius a estats de baixa energia sense que el sistema s'adormi del tot.
Estats de dispositiu (D States) i processador (C States)
A més dels estats globals, ACPI defineix estats denergia a nivell de dispositiu, els anomenats D States:
- D0: dispositiu encès i operatiu al 100%.
- D1 i D2: estats intermedis que varien segons el dispositiu; estalvien una mica denergia però mantenen certa capacitat de resposta.
- D3: dividit en “hot” i “cold”, segons si manté o no alimentació auxiliar; pot deixar de respondre completament al bus.
En paral·lel, els processadors tenen els seus propis estats C (C States), que controlen quant es “relaxa” la CPU quan no hi ha feina a fer. Alguns dels més rellevants són:
- C0: nucli executant codi activament.
- C1/C1E: estat de “halt”; el nucli no executa instruccions però pot tornar a C0 de manera gairebé instantània. La variant C1E afegeix millores addicionals destalvi.
- C2: “stop-clock”; s'atura el rellotge del nucli, triga una mica més a tornar a C0.
- C3 i estats més profunds (C4-C10 a CPU modernes): es buiden caixets, s'apaguen rellotges interns i, en alguns casos, s'apaga fins i tot el nucli, conservant el seu estat en memòries dedicades (per exemple, C6 guardant l'estat a SRAM amb el nucli a 0 V).
Les transicions entre aquests estats es desencadenen mitjançant instruccions privilegiades com HLT o MWAIT, gestionades pel sistema operatiu i els controladors denergia. Una interrupció de maquinari fa que el nucli passi immediatament a C0 per atendre-la, i alguns processadors moderns fins i tot redirigeixen interrupcions cap a nuclis ja actius per no “despertar” innecessàriament altres nuclis adormits.
Estats de rendiment del processador (P States)
Els P States se centren en el rendiment del nucli de la CPU. Permeten ajustar dinàmicament la freqüència i el voltatge del processador, estalviant energia quan no es necessita la màxima potència i pujant de voltes quan cal.
Els P States se solen representar com a P0, P1, P2, … sent P0 l'estat de màxima freqüència i voltatge, i els successius estats amb menys freqüència i menor consum. Tecnologies com Intel SpeedStep, AMD PowerNow!, PowerSaver de VIA, o els modes Turbo es recolzen en aquests estats per escalar la freqüència en funció de la càrrega i de límits com el TDP (PL1, PL2, etc.).
A Linux, aquests mecanismes es controlen amb subsistemes com cpufreq y cpuidle. És possible consultar el governador de freqüència actiu amb ordres com cpupower frequency-info o revisant fitxers a /sys/devices/system/cpu/cpu*/cpufreq/, on s'exposa informació com la freqüència actual, les freqüències màximes i mínimes, els governadors disponibles (performance, powersave, ondemand, conservador, etc.) i el driver emprat.
Tot i que tot això sembli aliè a ASPM, en realitat forma part del mateix ecosistema ACPI: diferents capes i mecanismes que cooperen per ajustar consum i rendiment de CPU, dispositius i enllaços del sistema, inclòs PCIe.
Implementació pràctica d'ASPM: BIOS/UEFI, sistema operatiu i controladors
Perquè ASPM funcioni correctament es necessita la col·laboració de tres actors principals: el microprogramari de la placa base (BIOS/UEFI), el sistema operatiu i els controladors dels dispositius PCIe.
A la BIOS/UEFI solen existir opcions específiques d'ASPM o Link State Power Management que permeten habilitar-lo, deshabilitar-lo o seleccionar modes concrets (per exemple, L0s, L1, Auto, Off). És fonamental que el microprogramari implementi bé les taules ACPI i descrigui correctament què suporta cada dispositiu i enllaç PCIe.
El sistema operatiu (Windows, Linux, etc.) llegeix aquesta informació de l'ACPI i decideix quines polítiques aplicar. A Linux, com s'ha comentat, es pot forçar o desactivar ASPM amb paràmetres del nucli o mitjançant el fitxer de política del mòdul pcie_aspm. Al Windows, la gestió s'encapsula al pla d'energia ia les opcions de “PCI Express → Administració d'energia de l'estat d'enllaç”.
Els drivers dels dispositius PCIe també juguen un paper crític. Per beneficiar-se d'ASPM sense problemes, cal que:
- Declarar correctament les capacitats destalvi denergia del dispositiu (quins estats suporta, quines latències són acceptables, etc.).
- Gestionar adequadament les transicions d'estat, evitant que el dispositiu es quedi penjat o tard massa a respondre quan surt d'un estat de baix consum.
- Estar actualitzats, ja que molts fabricants corregeixen errors de ASPM i optimitzen consum mitjançant actualitzacions de driver o firmware.
En alguns casos, fabricants han publicat drivers modificats per desactivar ASPM en models conflictius, considerant-ho una “solució” pragmàtica a bugs de maquinari. És el cas de certes NICs Intel a Linux, on versions pegats de e1000e deshabiliten ASPM per evitar el problema de pèrdua de transmissió.
Per a l'usuari final, la recomanació general és no forçar ASPM manualment a BIOS o al sistema operatiu llevat que es conegui bé el maquinari o hi hagi una guia clara del fabricant. Si un informe de Windows diu que s'ha desactivat per incompatibilitat, és que el sistema operatiu ja ha decidit que el risc superi el benefici.
ASPM és una peça més del trencaclosques de la gestió denergia moderna, íntimament lligada a ACPI, als estats d'energia globals, de dispositiu i de CPU. Ben implementada, ajuda a reduir consum i calor sense que ho notis; mal implementada, pot causar des de lleugeres latències fins a penges de dispositius i problemes de xarxa molt punyeters de diagnosticar.
Conèixer com funciona i on es configura et permet prendre decisions més informades: des de triar la manera adequada de “Link State Power Management” al teu portàtil per guanyar bateria, fins a decidir si en un servidor de missió crítica compensa més sacrificar uns watts i desactivar ASPM a canvi d'una estabilitat a prova de bombes.