# Power-on self-test (informatique)

Le power-on self-test (POST, l’auto-test au démarrage) désigne la première étape du processus plus général appelé amorçage.
Lors de cette étape, le programme intégré à la carte-mère (le BIOS pour Basic Input/Output System) teste la présence des divers périphériques et tente de leur attribuer les ressources nécessaires à un fonctionnement sans conflit. Le POST terminé, le contrôle sera cédé au système d’exploitation, qui éventuellement corrigera ou affinera les réglages du BIOS.
Le POST existe aussi pour d’autres architectures telles que certains routeurs, certaines imprimantes, mais c’est grâce aux ordinateurs personnels qu’il s’est démocratisé.

## Fonctionnement interne

Au démarrage de l’ordinateur (mise sous tension), dit à froid, le BIOS (inscrit dans une ROM) est copié en mémoire vive à l’adresse 0040:0000 (en mode réel) puis le processeur commence à exécuter le programme à l’adresse 0040:FFF0 (qui est toujours un saut vers une autre adresse). Le POST (qui désigne à la fois le processus de démarrage et le code machine associé) est alors exécuté.
Ensuite, un redémarrage à chaud est toujours possible, soit logiciellement, soit manuellement en appuyant sur le bouton RESET.
Dans tous les cas, le POST est exécuté.

## Exécution du POST

Le POST effectue notamment les actions suivantes :
* Vérification de la bonne initialisation du processeur et de la stabilité de l’alimentation
* Vérification de l’intégrité du code du BIOS (par somme de contrôle)
* Vérification de la validité de la mémoire de base (les premiers 640 Ko)
* Vérification de l’intégrité de la carte mère (notamment le Générateur d'horloge et le contrôleur d’interruption, vitaux pour l’ordinateur)
* Contrôle de l'horloge par le processeur pour la synchronisation.
* Test de la mémoire vidéo.
* Test des circuits de la mémoire.
* Test du clavier.
* Test des différents composants
* Exécution de diverses routines spécifiques au BIOS et comparaison des tests précédents aux données stockées dans le CMOS
* Démarrage du système d'exploitation
* Affichage d’un message à l’écran (jusqu’ici l’écran restait noir), précisant souvent « appuyez sur Suppr/F2 pour accéder au setup »… Ou un signal sonore permet d’identifier l’étape précédente ayant échoué.
* Identification de la raison du démarrage pour savoir quel programme exécuter. Ce qui suit correspond à une initialisation de la machine, peut varier suivant les machines et leur configuration.

### Initialisation du PC

* Découverte, initialisation et vérification de la mémoire centrale (aussi appelée la RAM)
* Énumération, initialisation et catalogage des périphériques sur les bus systèmes (cartes d’entrées/sorties, disques physiques, périphériques USB…).
* Exécution de diverses routines spécifiques au BIOS,
* Identification des périphériques amorçables, c’est-à-dire susceptible de poursuivre le démarrage de l’ordinateur
* Le processeur continue à exécuter le code de démarrage sur le premier périphérique choisi et valide. Le BIOS (le POST en fait) passe la main au système d’exploitation, par le biais du boot loader installé dans le Master Boot Record qui tente de charger le système à partir de la partition notée comme active.
Le mode quick Power-on self-test est un paramètre qui indique au programme du BIOS, le POST, de sauter certaines vérifications et d’en faire d’autres superficiellement. Si une erreur est découverte, les tests sont approfondis. Une vérification approfondie n’est en effet généralement pas utile, sauf en cas de pannes matérielles.

### Autre démarrage : la veille prolongée

Si l’ordinateur prend en charge la veille prolongée, le POST ne vérifiera pas et n’initialisera pas forcément les éléments ci-dessus. Par contre, il remplira la mémoire centrale avec le contenu d’un fichier du premier disque dur logique (c:\hiberfil.sys sous Microsoft Windows). Ce fichier est créé (si besoin) et rempli à la mise en veille prolongée de l’ordinateur. Enfin, le processeur est remis en activité à l’état où il avait été arrêté.

## Signaux sonores du POST

Quand le POST détecte un élément défectueux ou manquant, il le signale par une séquence de bips. Les signaux sont émis sur le haut-parleur interne. Aucune carte son n’est utilisée. Se référer à la documentation constructeur pour connaître la signification de la séquence de bips.

### IBM BIOS

* 1 bip court : système OK
* 2 courts : erreur, voir message à l’écran
* aucun : alimentation HS, carte mère HS ou haut-parleur déconnecté
* signal sonore continu ou bips courts ininterrompus : alimentation ou carte mère défectueuse ou problème de clavier ou problème de mémoire ou de processeur
* 1 long, 1 court : carte système (aujourd’hui intégré à la carte mère)
* 1 long, 2 ou 3 courts : erreur de la carte graphique
* 3 courts peut aussi signifier une erreur dans les 64 premiers bits de mémoire vive (RAM)
Cette liste n’est pas exhaustive.

### AMI BIOS

* 1 : erreur du timer de rafraîchissement de la RAM
* 2 : erreur de parité en mémoire de base (RAM < 64 Kio)
* 3 : erreur du test écriture-puis-lecture en mémoire de base
* 4 : timer de la carte mère HS
* 5 : erreur du processeur (CPU)
* 6 : détection d’erreur pour le passage en mode protégé
* 7 : « exception générale », erreur détectée par le CPU, ce qui déclenche une exception
* 8 : erreur avec l’adaptateur vidéo
* 9 : erreur de la somme de contrôle de l’AMI BIOS en ROM
* 10 : erreur de lecture/écriture dans le CMOS
* 11 : échec du test de mémoire cache