Power-On Self-Test

Un article de Wikipédia, l'encyclopédie libre.

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 PC qu'il s'est démocratisé.

Sommaire

[modifier] Fonctionnement interne

Au premier démarrage de l'ordinateur, 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é.

[modifier] Exécution du POST

Le POST effectue notamment les actions suivantes :

  • Vérification de la bonne initialisation du CPU 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 64 Ko)
  • Vérification de l'intégrité de la carte mère (notamment le timer et le contrôleur d'interruption, vitaux pour l'ordinateur)
  • Ordre d'initialisation des entrées/sorties, le clavier et la carte graphique sont validés.
  • 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.

[modifier] Initialisation du PC

  • Découverte, initialisation et vérification de la mémoire centrale (aussi appelée la RAM)
  • Énumération, initialisation et cataloguage 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 bootables, c'est à dire susceptible de poursuivre le démarrage de l'ordinateur
  • Le CPU 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.

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.

[modifier] 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 sera remis en activité à l'état où il avait été arrêté.

[modifier] Signaux sonores du POST

Les signaux sont émis sur le haut-parleur interne. Aucune carte son n'est utilisée.

[modifier] 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

Cette liste n'est pas exhausive.

[modifier] AMI BIOS

  • 1 : Erreur du timer de rafraîchissement de la RAM
  • 2 : Erreur de parité en mémoire de base (RAM <64 Ko)
  • 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 : Le test de mémoire cache a échoué

Référence: AMIBIOS8 Check Point and Beep Code List, version 1.9, 11 octobre 2007