L’ACPI (Advanced Configuration and Power Interface) est une interface abstraite mais flexible pour le matériel qui permet d’intégrer des fonctions de gestion de l’énergie dans un système informatique standard.
En d’autres termes, il s’agit plus précisément d’une spécification industrielle créée pour garantir une meilleure consommation et une meilleure gestion de l’énergie dans les systèmes informatiques de bureau et mobiles.
Ce dernier vise à remplacer le très ancien ACPI (Advanced Configuration and Power Interface) comme gestion avancée de l’alimentation.
Dans ce guide, je vous explique ce qu’est ACPI et je vous donne les grandes lignes de son fonctionnement.
Table des matières
Qu’est-ce que ACPI
L’ACPI (Advanced Configuration and Power Interface) est une spécification industrielle ouverte qui permet aux concepteurs de logiciels d’intégrer des fonctions de gestion de l’énergie dans l’ensemble d’un système informatique, y compris le matériel, le système d’exploitation et les logiciels d’application.
Contrairement, à l’ancien système de gestion d’énergie, APM (Advanced Power Management) qui était centré sur le BIOS, dans lesquels les microprogrammes spécifiques à la plate-forme déterminent la gestion de l’alimentation et les politiques de configuration, l’ACPI place la gestion de l’alimentation sous le contrôle du système d’exploitation.
Elle se présente sous la forme d’une interface abstraite mais flexible pour le matériel qui permet d’intégrer des fonctions de gestion de l’énergie dans un système informatique standard.
Sur un PC, elle peut se trouver dans le chipset.
L’ACPI a été créé pour effectuer les opérations suivantes :
- Découverte du matériel
- Surveillance de leur consommation d’énergie
- Les configurer pour une meilleure organisation de la puissance
L’ACPI est notamment en charge de la manière dont l’énergie est utilisée durant les phases de mise en veille ou arrêté grâce à des états du système ou matériel.
Les fonctions principales de l’ACPI consiste à :
- Déterminer l’heure à laquelle un périphérique doit s’allumer ou s’éteindre
- Aider à passer à un niveau de consommation d’énergie plus faible si la batterie commence à se décharger
- Conserver les programmes essentiels et bloquer les applications moins importantes
- Réduire la vitesse de l’horloge en fonction des besoins réels des applications
- Réduire les besoins en énergie de la carte mère et des périphériques sans activer les appareils à l’avance
- Activer l’alimentation du modem pour recevoir les fax entrants afin de conserver le mode veille
- L’ACPI est en mesure de contrôler votre lecteur dès qu’il est correctement connecté au PC
Enfin l’ACPI fonctionne avec les sous-systèmes et les périphériques d’une large gamme de plates-formes mobiles, de bureau et de serveur. L’ACPI est également à la base de l’initiative industrielle OnNow, qui permet aux ordinateurs de démarrer par simple pression sur le clavier.
Comment ACPI fonctionne
L’ACPI au niveau du micrologiciel possède trois composants principaux : la table ACPI, le BIOS ACPI et le registre ACPI. Contrairement aux versions précédentes telles que l’APM ou le BIOS PnP, l’ACPI n’implémente pratiquement pas ses fonctionnalités dans le code du BIOS ACPI, et le rôle principal du code du BIOS ACPI est de charger les tables ACPI dans la mémoire du système.
L’ACPI utilise ensuite la machine virtuelle minimale intégrée pour effectuer les opérations requises écrites en langage machine ACPI (comme l’initialisation des composants matériels).
En interne, l’ACPI utilise la liste d’instructions (“méthodes”) fournie par le microprogramme du système (UEFI ou BIOS), que le noyau analyse, pour informer le noyau du système d’exploitation des composants disponibles et de leurs fonctions.
La spécification ACPI définit un certain nombre de types de périphériques pour représenter et contrôler les fonctions typiques d’une plate-forme. Par exemple, l’ACPI définit un bouton d’alimentation, un bouton de mise en veille et des indicateurs système.
Les méthodes de contrôle ACPI sont des objets logiciels qui déclarent et définissent des opérations simples pour interroger et configurer des appareils ACPI. Les méthodes de contrôle sont stockées dans le BIOS ACPI et sont encodées dans un format de code d’octet appelé langage machine ACPI (AML).
Cependant, de nombreuses plates-formes matérielles sont livrées avec des microprogrammes ACPI bogués ou non conformes aux spécifications, ce qui peut entraîner un certain nombre de problèmes non spécifiés. Si la machine s’éteint de manière aléatoire ou ne démarre pas, la désactivation de l’ACPI peut aider.
Les états ACPI
Les états du système et sommeil
La spécification ACPI comprend également quatre états d’alimentation différents, également appelés modes ou états globaux, qui contrôlent l’alimentation de chaque composant du système informatique. Ces états sont les suivants :
- l’état de fonctionnement (G0)
- L’état de veille (G1)
- L’état d’arrêt progressif (G2)
- L’état d’arrêt mécanique (G3)
Il existe également différents états de sommeil à l’intérieur de ces états globaux.
Etat de veille | Nom de l’état | Description |
S0 | En cours de fonctionnement | Le PC est allumé. Rétroéclairage vidéo désactivé / disque dur désactivé. |
S1 | Veille (mise sous tension) | Aucun contexte système n’est perdu. L’état d’alimentation système S2 est similaire à S1, sauf que le contexte du processeur et le contenu du cache système sont perdus car le processeur perd de l’alimentation. |
S2 | Veille | Le contexte du processeur et du cache système est perdu. Moins de consommation que dans l’état S2 car le processeur est éteint et certaines puces de la carte mère peuvent également être éteintes |
S3 | Suspension dans la RAM | Le contexte de la mémoire système est conservé, tous les autres contextes système sont perdus. Rétroéclairage vidéo désactivé / disque dur désactivé, vidage du cache, mise à jour lente de la mémoire, processeur arrêté |
S4 | Mode hibernation et veille hybride | Les périphériques de stockage sont arrêtes. Avant d’entrer en S4, le contexte du système d’exploitation est conservé dans un fichier de mise en veille prolongée (hiberfil.sys pour Windows). Au redémarrage, le chargeur lit ce fichier et saute à l’emplacement précédent d’interdiction du système. Dans Windows, Le PC redémarre rapidement grâce au démarrage rapide de Windows 11/10. |
S5 | Arrêt complet du PC | Dans l’état S5, ou arrêt, la machine n’a pas d’état de mémoire et n’effectue aucune tâche de calcul. La seule différence entre les états S4 et S5 est que l’ordinateur peut redémarrer à partir du fichier de mise en veille prolongée à l’état S4, tandis que le redémarrage à partir de l’état S5 nécessite le redémarrage du système. Par défaut Windows 11/10 ne propose pas ce mode, pour un arrêt complet, suivre ce tutoriel : Comment éteindre/arrêter complètement Windows 10 Remarque: certains appareils restent alimentés par une tension de veille (LAN, ME-AMT, USB) pour permettre le réveil |
États des périphériques (Device states)
La spécification PCI PM définit 4 états de fonctionnement pour les périphériques (D0-D3) et pour les bus (B0-B3). Plus le chiffre est élevé, moins le périphérique ou le bus consomme d’énergie dans cet état.
Cependant, plus le nombre est élevé, plus le temps de latence pour que le dispositif ou le bus revienne à l’état de pleine puissance (D0 ou B0, respectivement) est long.
États des périphériques (Device states) | Description |
D0 | L’état de fonctionnement. L’appareil est entièrement alimenté |
D1/D2 | Les états de veille intermédiaires. Ces états permettent à l’appareil d’être armé pour un réveil à distance |
D3 | L’état de sommeil le plus profond. Les appareils dans l’état D3 ne peuvent pas être armés pour un réveil à distance. Deux déclinaisons sont possibles. |
D3hot | accessible par logiciel, car les dispositifs peuvent être programmés pour y accéder. |
D3cold | L’état dans lequel se trouvent les dispositifs PCI lorsque la tension d’alimentation (Vcc) leur est retirée. |
Plus de détails : https://learn.microsoft.com/en-us/windows-hardware/drivers/kernel/device-power-states
États des processeurs (CPU states ou C State)
Mode | Nom | Description |
C0 | Operating State | CPU fully turned on |
C1 | Halt | Stops CPU main internal clocks via software; bus interface unit and APIC are kept running at full speed. |
C1E | Enhanced Halt | Stops CPU main internal clocks via software and reduces CPU voltage; bus interface unit and APIC are kept running at full speed. |
C1E | — | Stops all CPU internal clocks. |
C2 | Stop Grant | Stops CPU main internal clocks via hardware; bus interface unit and APIC are kept running at full speed. |
C2 | Stop Clock | Stops CPU internal and external clocks via hardware |
C2E | Extended Stop Grant | Stops CPU main internal clocks via hardware and reduces CPU voltage; bus interface unit and APIC are kept running at full speed. |
C3 | Sleep | Stops all CPU internal clocks |
C3 | Deep Sleep | Stops all CPU internal and external clocks |
C3 | AltVID | Stops all CPU internal clocks and reduces CPU voltage |
C4 | Deeper Sleep | Reduces CPU voltage |
C4E/C5 | Enhanced Deeper Sleep | Reduces CPU voltage even more and turns off the memory cache |
C6 | Deep Power Down | Reduces the CPU internal voltage to any value, including 0 V |
Détails : https://hardwaresecrets.com/everything-you-need-to-know-about-the-cpu-c-states-power-saving-modes/
L’ACPI dans Windows
Microsoft Windows prend en charge l’ACPI depuis Windows 98.
Si Windows détermine qu’un tel BIOS présente des problèmes ACPI, le chargeur désactive ACPI et utilise à la place la gestion avancée de l’alimentation (APM)
Mais à compter de Windows Vista, le système d’exploitation prend uniquement en charge un ordinateur doté d’un BIOS compatible ACPI daté du 1er janvier 1999 ou ultérieur.
Le pilote WINDOWS ACPI (Acpi.sys), est un composant de boîte de réception du système d’exploitation Windows. Les responsabilités de Acpi.sys incluent la prise en charge de la gestion de l’alimentation et de l’énumération d’appareils Plug-and-Play (PnP).
Les périphériques ACPI sont visibles dans le gestionnaire de périphériques > périphériques systèmes.
Plus de détails : https://learn.microsoft.com/fr-fr/windows-hardware/drivers/kernel/acpi-driver
L’ACPI dans Linux
La série de noyaux Linux 2.4 était la moins compatible avec l’ACPI, qui a été implémentée depuis la version 2.6.0 du noyau (activée par défaut) pour une meilleure prise en charge. Les anciennes implémentations du BIOS ACPI comportent souvent de nombreuses erreurs, de sorte que les futurs systèmes d’exploitation ne les prennent pas en charge.
C’est le daemon acpid est un programme simple qui exécute des scripts en réponse aux événements ACPI du noyau.
Il est aussi en charge de notifier les programmes de l’espace utilisateur des événements ACPI. Ce service doit être lancé au démarrage du système et s’exécute par défaut en tant que processus d’arrière-plan.
Liens
- Désactiver la mise en veille d’un disque dur dans Windows 11/10 (APM)
- ACPI (Advanced Configuration and Power Interface)
- Le périphérique ACPI UCM-UCSI ne fonctionne pas
- ACPI_BIOS_ERROR : 6 solutions
- Résoudre l’écran bleu ACPI.sys (BSOD)
- Les options d’alimentation de Windows
- 5 façons d’ouvrir les options d’alimentation de Windows 10/11
- Fonctionnement de la mise en veille prolongée et hybride de Windows
- Comment gérer les paramètres d’alimentation et de batterie de Windows 11
- Comment afficher le niveau de batterie et l’utilisation de la batterie sur Windows 11
- Supprimer un mode de gestion d’alimentation Windows 10/11
- 6 façons de changer le mode d’alimentation de Windows 11, 10
- Comment activer les performances optimales dans Windows 11, 10
- Les paramètres avancés des options d’alimentation : bon réglages et explications
- Activer la mise en veille Windows 10
- Mettre un écran de veille sur Windows 10
- Comment supprimer le fichier hiberfil.sys
- Analyser les problèmes de mises en veille avec powercfg
- Powercfg : les options d’alimentation en ligne de commandes
- Optimiser les options d’alimentation du processeur sur Windows
- Configurer l’arrêt d’un ordinateur sur Windows 7, 8 ou 10
- Supprimer ou désactiver la mise en veille Windows 10
- Les états d’alimentation et de veille (S1, S2, S3, S4, …) dans Windows 10
- Windows 10 : les problèmes de retour de mise en veille
- Résoudre les problèmes arrêt et Windows 10 ne s’éteint pas
- Windows 10 : résoudre problème arrêt ordinateur
- Sorties et retour de mise en veille non désirées sur Windows 10
- Améliorer l’autonomie de la batterie sur Windows 10