Accueil🇫🇷Chercher

Advanced Configuration and Power Interface

L’Advanced Configuration and Power Interface (ACPI, en français « interface avancée de configuration et de gestion de l’énergie ») est une norme de gestion de la consommation énergétique, très largement répandue dans les ordinateurs personnels et codéveloppée par Hewlett-Packard, Intel, Microsoft, Phoenix et Toshiba.

Exemple de tableaux ACPI.

Le but de cette norme est de réduire la consommation d’énergie d’un ordinateur en mettant hors tension certains éléments : lecteurs CD-ROM, disques durs, écran, etc. Pour cela, une interface a été spécifiée qui permet au système d’exploitation d’envoyer des signaux aux périphériques matériels (à condition que ceux-ci prennent en charge l’ACPI). Cette interface permet aussi au matériel d’envoyer des signaux au système d’exploitation, par exemple lorsque l’utilisateur appuie sur le bouton de mise en route sur le clavier ou que le modem reçoit un appel.

Cette norme est utilisée aussi bien sur les ordinateurs portables que sur les ordinateurs de bureau postérieurs à 1996. La toute dernière spécification, publiée en , porte le numéro de version 6.1[1].

Présentation

Le point le plus important de cette spécification est que c’est le système d’exploitation qui est responsable de la gestion de l’alimentation des composants de l’ordinateur. Il s’agit d’une évolution importante par rapport aux normes précédentes telle l’Advanced Power Management (APM) pour laquelle c’est le BIOS qui est responsable de la gestion d’alimentation.

Un autre élément important est que la gestion optimisée de l’alimentation (depuis toujours vitale pour l’autonomie des ordinateurs portables) est maintenant une norme qui est mise en œuvre dans d’autres matériels informatiques (jusqu’aux serveurs) et permet d’optimiser la consommation électrique en fonction de la charge.

L’ACPI ne fonctionne qu’avec les matériels prévus pour et requiert de la part des constructeurs la gestion d’un langage informatique spécifique (AML, pour ACPI Machine Language) pour la gestion des événements.

La première version de Microsoft Windows à avoir géré ACPI est Windows 98. La première version de FreeBSD à avoir géré ACPI est la version 5.0. Linux, NetBSD, OpenBSD et DragonFly BSD ont tous aujourd’hui une gestion au moins partielle d’ACPI.

Concepts

La norme définit les états du système tout entier (G0 à G3 et S0 à S5) et aussi des périphériques (D0 à D3) et des processeurs (C0 à C3). La règle étant que l’état x0 (G0/S0, D0 ou C0) correspond à un équipement en service et consommateur d’énergie et les états suivants à des équipements nécessitant de plus en plus d’opérations pour être remis en état x0.

La norme définit également la gestion des niveaux de performance (P0…), de la configuration des périphériques et de la découverte PnP, des événements du système, de l’énergie des batteries, des zones thermiques…

États du système et sommeil (Global states / Sleep states)

Ces états sont classés par la norme en partant de celui où l’ordinateur est totalement en service et allant vers des situations où l’ordinateur est autorisé à mettre de plus en plus longtemps à (re)devenir utilisable.

  • G0/S0, en service : l’ordinateur est entièrement en service.
  • G1, sommeil : aucun processeur n’exĂ©cute d’instruction, pourtant l’utilisateur n’a pas demandĂ© un arrĂŞt complet de l’ordinateur. Pour quitter cet Ă©tat le système d’exploitation n’a pas Ă  rĂ©-exĂ©cuter toute la sĂ©quence d’amorçage mais reprend son fonctionnement Ă  partir de l’état dans lequel il Ă©tait avant cet arrĂŞt. Cet Ă©tat est subdivisĂ© en plusieurs sous-Ă©tats :
    • G1/S1, power on suspend : aucun processeur n’exĂ©cute d’instruction, mais aucun contexte d’exĂ©cution n’est perdu et l’ordinateur pourra quitter cet Ă©tat très rapidement. Dans cet Ă©tat, l’alimentation est toujours en service mais les disques sont stoppĂ©s (comme dans tous les Ă©tats suivants).
    • G1/S2 : Ă©tat de sommeil plus profond, les processeurs devront ĂŞtre rĂ©initialisĂ©s au rĂ©veil, le système d’exploitation devra ensuite restaurer les diffĂ©rents contextes d’exĂ©cution. Cet Ă©tat est documentĂ© dans la spĂ©cification ACPI mais rarement mis en Ĺ“uvre.
    • G1/S3, standby ou suspend to ram : dans cet Ă©tat l’ordinateur Ă©teint l’alimentation principale, mais l’état de la mĂ©moire centrale est maintenu en employant une alimentation permanente (appelĂ©e 5VSB, pour +5V standby). Ainsi il restaurera son Ă©tat initial plus rapidement que depuis l’état G1/S4.
    • G1/S4, hibernate ou suspend to disk : l’état du système (en particulier le contenu de la mĂ©moire et les contextes d’exĂ©cution des processeurs) a Ă©tĂ© sauvegardĂ© (le plus souvent dans un fichier d’hibernation sur un disque dur). L’ensemble des composants de l’ordinateur est sans alimentation. Ă€ sa remise en service le système d’exploitation devra recharger ce fichier d’hibernation et restaurera alors l’état de l’ordinateur.
  • G2/S5, arrĂŞt pilotĂ© (soft off) : la consommation Ă©lectrique est la plus rĂ©duite possible et aucun Ă©tat courant de l’ordinateur n’a Ă©tĂ© sauvegardĂ© (l’utilisateur a demandĂ© au système de s’arrĂŞter complètement) cependant l’alimentation bien que stoppĂ©e est toujours connectĂ©e Ă  une source Ă©lectrique et fournit l’alimentation permanente 5VSB (le clavier ainsi que la souris et la carte rĂ©seau peuvent rester alimentĂ©s, si le BIOS est configurĂ© pour cela ; leur usage permettra alors de dĂ©marrer Ă  nouveau). Lors de la remise en service le système d’exploitation devra exĂ©cuter toute la sĂ©quence d’amorçage avant d’être disponible.
  • G3, arrĂŞt mĂ©canique : dans cet Ă©tat un interrupteur mĂ©canique a Ă©tĂ© manĹ“uvrĂ© et seule une manĹ“uvre humaine peut permettre de dĂ©marrer l’ordinateur. On pourrait croire que dans cet Ă©tat plus aucun composant n’est alimentĂ©, mais c’est inexact : dans un PC par exemple une pile (le plus souvent au lithium) alimente encore un petit circuit CMOS et permet de maintenir quelques informations de configuration, ainsi qu’une horloge.

États des périphériques (Device states)

Ces états sont classés du plus consommateur (périphérique en cours d’utilisation ou D0) au moins consommateur d’énergie (périphérique éteint ou D3).

Un périphérique en état D3 aura besoin d’une initialisation complète avant de redevenir utilisable (il peut par exemple nécessiter le chargement d’un micrologiciel effectué par son pilote avant d’être utilisé).

États des processeurs (CPU states)

La norme définit également quatre niveaux d’énergie pour les processeurs, gradués selon la consommation énergétique. En état C0, le processeur est en service et exécute des instructions puis dans les états suivants il n’exécute plus d’instruction et voit sa consommation électrique réduite au prix d’un retour à l’état C0 de plus en plus long.

L’état C1 peut être obtenu sur un processeur de la famille x86 en lui faisant exécuter l’instruction HALT. À partir de l’état C2, l’horloge n’a même plus besoin de lui être fournie. Dans l’état C3, le processeur peut être éteint électriquement et devra être réinitialisé avant d’exécuter à nouveau des instructions.

Tables ACPI

Ces tables sont utilisées par le système d’exploitation pour obtenir les informations sur le matériel qu’il contrôle.

  • RSDP (Root System Description Pointer)
  • RSDT (Root System Description Table)
  • DSDT (Differentiated System Description Table)
  • XSDT (Extended System Description Table)
  • FADT (Fixed ACPI Description Table)
  • FACS (Firmware ACPI Control Structure)
  • SBST (Smart Battery Table)
  • ECDT (Embedded Controller Boot Resources Table)
  • MADT (Multiple APIC Description Table)
  • SRAT (System Resource Affinity Table)
  • SLIT (System Locality Distance Information Table)
  • SLIC (Software Licensing Description Table)
  • SSDT (Secondary System Descriptor Tables)
  • THRM (CPU Thermal)

Notes et références

  1. (en) « Latest versions of the UEFI specifications » [PDF], sur UEFI Forum, janvier 2016 (consulté le 10 mars 2016).

Annexes

Articles connexes

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.