Comment un ordinateur redémarre-t-il?

490

Comment un ordinateur peut-il redémarrer tout seul? Une fois éteint, comment se dit-il de se rallumer? Quel type de logiciel est ce qui peut faire ça?

Seth Carnegie
la source
8
@ jer.salamon: Ce sont en fait des chemins complètement différents. L'arrêt appelle une routine ACPI qui envoie un signal à l'alimentation ATX qui désactive les rails de tension principaux.
Ignacio Vazquez-Abrams Le
13
Ceci est contrôlé par le BIOS - si la mémoire sert, les mots clés qui nous intéressent sont APM et APIC
pst
118
Il ne s'éteint jamais vraiment au redémarrage.
Moab
10
Il n'y a pas de questions stupides. Non, il y en a peut-être - mais je pense que celui-ci est en fait très intéressant. En vedette comme candidat de la semaine .
Slhck
4
J'avais l'habitude de télétravailler sur un serveur distant, qui n'était en fait qu'un PC sans écran ni clavier dans le centre de données de l'entreprise. Mon serveur n'a jamais été normalement éteint, mais parfois je le redémarrais de mon côté en utilisant WinXP Démarrer-> TurnOffComputer-> Redémarrer, pour résoudre les instabilités causées par le test de mon propre code. Je travaillais souvent aux moments de mon choix, lorsque le centre de données était sans personnel. C’était très fastidieux de choisir accidentellement Turn Off comme dernière option et d’attendre deux jours plus tard pour que l’opérateur s’appuie et appuie sur le commutateur pour moi!
FumbleFingers

Réponses:

598

tl; dr: les états d'alimentation de votre ordinateur sont contrôlés par une implémentation d'ACPI (configuration avancée et interface d'alimentation). À la fin du processus d'arrêt, votre système d'exploitation définit une commande ACPI indiquant que l'ordinateur doit redémarrer. En réponse, la carte mère réinitialise tous les composants à l'aide de leurs commandes ou lignes de réinitialisation respectives, puis suit le processus d'amorçage. La carte mère ne s'éteint jamais, elle réinitialise différents composants, puis se comporte comme si le bouton d'alimentation venait juste d'être appuyé.

Réponse longue et décousue mais (à mon avis) plus intéressante:

Soft Power et son fonctionnement

Dans les temps anciens (bon d'accord, pour un étudiant comme moi, il y a très longtemps dans les années 90), nous avions des cartes mères AT (Advanced Technology) avec alimentation ATla gestion. Le système d'alimentation AT était très, très simple. Le bouton d’alimentation de votre ordinateur était une bascule matérielle (probablement située à l’arrière du boîtier) et votre entrée 120vac le traversait. Cela allumait et éteignait physiquement votre alimentation, et lorsque cet interrupteur était en position Off, tout dans votre ordinateur était complètement à plat (cela rendait la pile CMOS très importante, car sans elle, il n'y avait pas d'alimentation pour conserver le matériel tic-tac d'horloge). Parce que l'interrupteur d'alimentation était un mécanisme physique, il n'existait aucun moyen logiciel d'allumer et d'éteindre l'alimentation. Windows affiche le fameux message "Vous pouvez maintenant éteindre votre ordinateur en toute sécurité" car, bien que tout soit parqué et prêt à être éteint, il était impossible pour le système d'exploitation d'inverser le commutateur d'alimentation. Cette configuration a parfois été appeléepuissance dure , parce que c'est tout le matériel.

De nos jours, les choses sont différentes, à cause des merveilles des cartes mères ATX et de l' alimentation ATX (c'est Advanced Technology eXtended si vous faites le suivi). Parallèlement à plusieurs autres avancées (mini-DIN PS / 2, ça vous tente?), ATX a apporté la puissance douce . Soft power signifie que l'alimentation de l'ordinateur peut être contrôlée par logiciel. Cela a entraîné quelques modifications d'importation:

  • Veille: vous avez peut-être vu un connecteur "5v SB" ou "5v veille" étiqueté dans les broches de l'alimentation. L' alimentation de secoursest une ligne 5v sur votre carte mère qui est toujours allumée, même lorsque l’ordinateur est éteint. C'est pourquoi il est important de débrancher ou d'éteindre un commutateur matériel PSU (le cas échéant) lors de la maintenance d'ordinateurs modernes, car même lorsqu'il est éteint, vous pourriez potentiellement court-circuiter le SB 5v et endommager la carte mère. C’est également pour cette raison que les piles CMOS ne sont plus aussi importantes: le SB 5v est utilisé pour remplacer la pile CMOS lorsque l’alimentation est alimentée par le secteur. La pile CMOS n’est utilisée que lorsque vous débranchez entièrement l’ordinateur. La ligne 5v SB permet surtout aux composants de votre ordinateur (principalement le BIOS et les adaptateurs réseau) de continuer à exécuter un logiciel simple, même lorsque l’ordinateur est éteint.
  • Contrôle intelligent de l'alimentation. Si vous examinez un brochage du connecteur de la carte mère (P1) de votre bloc d'alimentation, vous remarquerez deux broches généralement nommées PS_ON et PS_RDY.. Ceux-ci signifient "alimentation sur" et "alimentation prête". Si vous aimez expérimenter, prenez une source d’alimentation qui n’est pas dans un ordinateur, branchez-la et raccordez soigneusement une ligne de terre (l’un des fils noirs) à la ligne PS_ON (le fil vert). L’alimentation s’allumera visiblement et le ventilateur tournera. Les composants de la carte mère fonctionnant sous + 5v SB allument et éteignent votre alimentation en connectant l’alimentation à la broche PS_ON. Certains condensateurs et composants de l’alimentation prenant un moment pour se charger, il se peut que les tensions provenant des sorties principales de l’alimentation ne soient pas stables juste après la mise sous tension de l’alimentation. C’est à cela que sert la broche PS_RDY. Elle s’allume lorsque la logique interne de l’alimentation détermine que celle-ci est "prête" et fournira une alimentation stable.

Votre interrupteur d'alimentation ne met donc plus l'ordinateur "sous tension". Au lieu de cela, il est connecté aux contrôleurs de base de votre carte mère, qui détectent que le bouton a été enfoncé et exécutent un certain nombre d'étapes pour préparer le système, notamment en allumant PS_ON pour que l'alimentation soit disponible. Le bouton d'alimentation n'est pas le seul moyen de déclencher le processus de démarrage, les périphériques de votre bus d'extension peuvent également le faire. Cela est important car vos cartes réseau Ethernet restent activées lorsque votre ordinateur est éteint et recherchent un paquet très spécifique, souvent appelé "paquet magique". S'ils détectent ce paquet adressé à leur adresse MAC, ils déclencheront le processus de démarrage. Voici comment fonctionne "Wake-on-LAN" (WL). L’horloge peut également lancer un démarrage (la plupart des BIOS vous permettent de définir une heure de démarrage de l’ordinateur chaque jour),

Comprendre le contrôle de puissance

Eh bien, j’explique le soft power à la fois parce que j’estime que c’est intéressant (c’est toujours une raison essentielle pour expliquer les choses) et parce que cela vous permet de comprendre comment l’alimentation et l’état de marche / arrêt de votre ordinateur sont tous contrôlés par logiciel. Dans la plupart des ordinateurs actuels, ce système logiciel est une implémentation de l' interface de configuration avancée et de l'alimentation, ou ACPI . ACPI est un système normalisé et unifié permettant à un logiciel de contrôler le système d'alimentation de votre ordinateur. Vous avez peut-être entendu parler des états d'alimentation ACPI. Le mécanisme de base du contrôle de l'alimentation est constitué de ces "états d'alimentation", votre système d'exploitation bascule entre les modes d'alimentation en se préparant au basculement (processus d'arrêt / mise en veille prolongée qui se produisent avant la mise hors tension réelle), puis en commandant à la carte mère de passer en mode d'alimentation. . Les états de puissance ressemblent à ceci:

  • G0: en fonctionnement (l'état "allumé" de votre ordinateur)
  • G1: Sleeping (états de veille de votre ordinateur, divisés en sous-états S)
    • S1: le processeur et la RAM restent sous tension, mais le processeur n'exécute pas d'instructions. Les périphériques sont éteints.
    • S2: CPU éteint, RAM conservée
    • S3: Tous les composants sont mis hors tension, à l'exception de la RAM et des périphériques qui déclencheront une reprise (clavier). Lorsque vous dites à votre système d'exploitation de "mettre en veille", il arrête les processus, puis passe à ce mode.
    • S4: Hibernation. Absolument tout est éteint. Lorsque vous indiquez à votre système d'exploitation de mettre en veille Hibernate, il arrête les processus, enregistre le contenu de la RAM sur le disque, puis passe à ce mode.
  • G2: Soft Off. c'est l'état "éteint" de votre ordinateur. Tout est mis hors tension, à l'exception des périphériques pouvant déclencher un démarrage.
  • G3: Arrêt mécanique.

Comment se passe la réinitialisation

Vous remarquerez que le redémarrage n'est pas l'un de ces états. Alors, que se passe-t-il lorsque votre ordinateur redémarre? La réponse peut être surprenante, car du point de vue de la gestion de l’énergie, ce n’est presque rien . Il y a une commande de réinitialisation ACPI. Lorsque vous demandez à votre système d'exploitation de redémarrer l'ordinateur, celui-ci suit son processus d'arrêt normal (arrête tous vos processus, effectue un peu de maintenance, démonte vos systèmes de fichiers, etc.), puis effectue la dernière étape au lieu d'envoyer la machine à l'état d'alimentation. G2 (comme si vous aviez simplement dit à Arrêter), la commande de réinitialisation est définie. C'est ce que l'on appelle généralement le "registre de réinitialisation", car comme la plupart des interfaces ACPI, il s'agit simplement d'une adresse sur laquelle une valeur spécifique doit être écrite pour demander une réinitialisation. Je citerai la spécification 2.0 sur ce qu'il fait:

Le mécanisme de réinitialisation ACPI facultatif spécifie un mécanisme standard fournissant une réinitialisation complète du système. Une fois mis en œuvre, ce mécanisme doit réinitialiser l’ensemble du système. Cela inclut les processeurs, la logique principale, tous les bus et tous les périphériques. Du point de vue de l'OSPM, l'affirmation du mécanisme de réinitialisation est l'équivalent logique du cycle d'alimentation de la machine. Après avoir pris le contrôle après une réinitialisation, OSPM effectuera les actions de la même manière qu’un démarrage à froid.

Ainsi, lorsque le registre de réinitialisation est défini, quelques événements se produisent en séquence.

  • Toute la logique est réinitialisée. Cela signifie que les commandes de réinitialisation respectives doivent être envoyées à divers éléments du matériel, notamment la CPU, le contrôleur de mémoire, les contrôleurs de périphériques, etc. Dans la plupart des cas, cela signifie simplement d'allumer un fil RST physique, comme l'a montré AndrejaKo ci-dessus.
  • L'ordinateur est alors démarré. C’est la partie "effectuer les actions de la même manière que pour un démarrage à froid". La carte mère effectue les mêmes opérations que si l'alimentation venait juste d'être prête après que le bouton d'alimentation a été enfoncé.

L’effet final de ces deux étapes (qui se divisent en beaucoup d’autres étapes) est qu’il ressemble à tout, tout comme l’ordinateur qui vient d’être démarré, mais le courant est resté allumé. Cela signifie moins de temps d’arrêt et de démarrage (car il n’est pas nécessaire d’attendre que l’alimentation soit prête), et surtout, le démarrage du démarrage est provoqué par l’arrêt du système d’exploitation. Cela signifie qu'un autre déclencheur de démarrage n'a pas besoin d'être utilisé (WoL, etc.) et vous permet d'utiliser le redémarrage comme moyen efficace de réinitialiser le système à distance, lorsque vous ne disposez pas d'un moyen de déclencher le démarrage.


C'était une longue réponse. Mais bon, j'espère que vous en savez plus sur la gestion de l'alimentation des ordinateurs maintenant. J'ai certainement appris certaines choses en recherchant cela.

jcrawfordor
la source
3
+1 Réponse très informative et utile. Un seul point - PS_ON est actif bas, c.-à-d. Commuté sur 0V plutôt que sur + 5VSB pour activer les sorties principales.
MikeJ-UK le
2
Pour les périphériques USB déclenchant un démarrage, certains BIOS disposent d'une option permettant de réveiller l'ordinateur par un double-clic ou une frappe. De plus, certains claviers Mac ont des boutons d’alimentation (une tradition qui remonte jusqu’à l’original).
Stuart P. Bentley
1
Excellente réponse, j'ai certainement beaucoup appris. Une question demeure cependant: du point de vue de la carte mère, quelle est la différence entre les états S4 et G2? L’enregistrement de la RAM sur le disque est effectué par le système d’exploitation. Par conséquent, S4 sonne comme du "soft off" pour le matériel.
EMP
1
Je crois que S4 est fonctionnellement équivalent à G2, mais la différence est stockée. Certains BIOS semblent effectuer un "POST rapide" lors du démarrage à partir de S4, mais un POST complet lors du démarrage à partir de G2. Je ne pense pas qu'il y ait de raison, sauf que les gens veulent que S4 reprenne vite.
jcrawfordor
1
C'est en fait un peu simpliste; il existe (plusieurs) méthodes non ACPI pour redémarrer l'ordinateur, et parfois ACPI seul ne fonctionne pas: superuser.com/questions/294681/…
Tobu
81

Voici un point de départ:

Les puces ne s'éteignent généralement pas puis s'allument. Au lieu de cela, il y a une ligne de réinitialisation qui amène le processeur à l'état de réinitialisation lorsque, normalement, toute la mémoire est effacée et que le processeur semble avoir été mis sous tension. Tant que cette broche est maintenue haute (ou basse, selon le processeur), le processeur est réinitialisé. Une fois que la broche est relâchée, il continuera à s’amorcer normalement, comme si elle avait été activée pour la première fois. Le fait est qu’il n’ya pas de courant coupé.

Alors, comment cette échelle s’adapte-t-elle à des systèmes plus volumineux tels que les PC modernes? Les ordinateurs modernes sont fabriqués à partir d’ordinateurs qui sont parfois fabriqués à partir d’ordinateurs eux-mêmes. Ainsi, lorsque vous configurez l'ordinateur pour qu'il se réinitialise, les "ordinateurs" qui le font commenceront à enregistrer leurs états (si la réinitialisation est contrôlée) ou tout simplement à retirer leurs broches de réinitialisation.

Certains processeurs et microcontrôleurs (qui sont des ordinateurs autonomes miniatures, ayant généralement 20 ans de retard sur les ordinateurs de bureau modernes) peuvent se réinitialiser à l'aide de commutateurs internes. Comme je l'ai dit, une fois que le signal qui génère la réinitialisation a disparu, l'ordinateur démarre. Donc, la prémisse dans la question n'est pas complètement correcte. L'ordinateur ne sait pas quand allumer. En sachant quand il doit être "éteint" ou en réinitialisation et quand le signal qui le maintient est parti, il s'allume.

Ce comportement peut paraître étrange sur un ordinateur moderne qui peut être configuré pour s’allumer à une heure précise ou sur le réseau, etc. Comme je l'ai dit, les ordinateurs sont faits d'ordinateurs. Ainsi, même si le processeur principal est éteint, de nombreuses autres puces et microcontrôleurs peuvent être utilisés. Le cas le plus évident est l’horloge temps réel qui est souvent alimentée par batterie. Il peut ensuite allumer d'autres puces qui en allumeront d'autres et la réaction en chaîne continuera jusqu'à ce que tout l'ordinateur soit allumé. Sur les ordinateurs actuels, il existe une ligne d'alimentation appelée +5 VDC Standby Voltage. Il fournit environ 50 mW d’alimentation à divers appareils allumés lorsque l’ordinateur est "éteint".

Petit détail: la broche de réinitialisation du processeur Intel 386 EX correspond au numéro de broche 110.

386EX fiche technique figure 2

Sur Intel i7-900, c'est le numéro de terrain AL39.

J'espère que quelqu'un sera en mesure de fournir une réponse qui expliquera comment les choses fonctionnent du point de vue du haut niveau, car c'est un système assez compliqué.

AndrejaKo
la source
Wow, réponse complète.
Seth Carnegie
13
@ Seth Carnegie Ce n'est pas si génial. Je viens juste de toucher aux problèmes de bas niveau qui sont vrais pour la plupart des ordinateurs, de celui dans un réfrigérateur au PC. Je n'ai même pas mentionné l'ACPI, l'APM et d'autres systèmes d'alimentation modernes, ni comment, sur les vieux PC, le microcontrôleur Intel 8042, quel contrôleur le clavier pouvait réinitialiser le processeur, comment fonctionne le POST, réinitialiser les vecteurs et bien d'autres choses.
AndrejaKo
1
@netvope Trop d'imaginer, je dirais. Vous en avez probablement au moins un dans votre souris, un dans le clavier, plus de 10 pour les composants les plus élémentaires de la carte mère (même si nous tenons compte des "chipsets" hautement intégrés), peut-être un dans le bloc d'alimentation, Au moins un dans chaque lecteur (plus probablement 2-3), plusieurs dans chaque carte d'extension ... Les moniteurs sont également une affaire sérieuse et mon imprimante dispose désormais de plus de mémoire vive que mon premier ordinateur de bureau.
AndrejaKo
4
À propos de mémoire, les caches de certains nouveaux disques durs et processeurs sont maintenant plus grands que la mémoire vive du premier ordinateur que j'ai utilisé. Nous pouvons maintenant exécuter Windows 95 entièrement dans le cache L2 et conserver la partition système entière dans le cache du lecteur!
netvope
27

Cet article de blog décrit comment Linux déclenche un redémarrage.

Extrait:

Linux propose différentes méthodes pour réinitialiser un x86. Certains d'entre eux sont en 32 bits seulement et je vais donc simplement les ignorer, car honnêtement, que faites-vous de votre vie? En outre, ils sont horribles. Donc, cela nous laisse avec cinq d'entre eux.

  • kbd - redémarre via le contrôleur de clavier. Le PC IBM d'origine avait la ligne de réinitialisation du processeur liée au contrôleur de clavier. L'écriture de la valeur magique appropriée impulse la ligne et la machine est réinitialisée. Tout cela est très simple, à l'exception du fait que les machines modernes ne disposent pas de contrôleurs de clavier (ils font en fait partie du contrôleur intégré) et que même les machines plus modernes ne prétendent même pas avoir de contrôleur de clavier. Maintenant, les contrôleurs intégrés exécutent un logiciel. Et, comme nous le savons tous, les logiciels sont affreux. Mais, pire, le logiciel du contrôleur intégré a été écrit par les auteurs du BIOS. Il est donc clair que toute prétention que cela fonctionne jamais est une sorte de fiction élaborée. Certaines machines sont très difficiles en ce qui concerne le matériel dans l'état exact dans lequel Windows serait programmé. Certaines machines fonctionnent 9 fois sur 10, puis se verrouillent en raison d’un problème de synchronisation particulier. Et les autres ne fonctionnent tout simplement pas du tout. Hourra!

  • triple - tentative de générer une triple faute. Ceci est fait en chargeant une table de descripteur d'interruption vide puis en appelant int (3). L'interruption échoue (il n'y a pas d'IDT), le gestionnaire d'erreurs échoue (il n'y a pas d'IDT) et la CPU entre dans une condition qui, en théorie, devrait alors déclencher une réinitialisation. Sauf que cela ne semble pas être une obligation et que cela ne fonctionne tout simplement pas sur un tas de machines.

  • pci - pas réellement pci. L'accès à l'espace de configuration PCI traditionnel est obtenu en écrivant une valeur de 32 bits sur le port io 0xcf8 pour identifier le bus, le périphérique, la fonction et le registre de configuration. Le port 0xcfc contient alors le registre en question. Mais si vous écrivez la paire appropriée de valeurs magiques dans 0xcf9, la machine redémarrera. Spectaculaire! Et pas standardisé (certainement pas partie de la spécification PCI), donc différents chipsets peuvent avoir des exigences différentes. Booo.

  • Les services d'exécution efi - EFI fournissent un point d'entrée pour redémarrer la machine. Cela fonctionne généralement même! Tant que les services d'exécution EFI fonctionnent, ce qui peut s'avérer difficile.

  • acpi - Les versions récentes de la spécification ACPI vous permettent de fournir une adresse (généralement de la mémoire ou de l'espace d'E / S système) et une valeur pour y écrire. L'idée est que l'écriture de la valeur sur l'adresse réinitialise le système. Il s'avère que cela échoue souvent. Il est également impossible de représenter la méthode de redémarrage PCI via ACPI, car la méthode de redémarrage PCI requiert une paire de valeurs et ACPI ne vous en donne qu'une.

Jabiko
la source
15
Ceci est pertinent, mais la réponse serait plus utile si vous mettez un extrait des informations de l'autre page ici.
Calvinf
1
il y a plusieurs façons de redémarrer; certaines planches sont cassées assez mal pour se faire passer pour des fenêtres , une heuristique impliquant quelques essais et quelques nuits de sommeil est la seule solution.
Tobu
10

Il bloque un emplacement d'E / S qui tire vers le bas une ligne de données qui indique au processeur qu'il doit arrêter sa tâche et commencer à exécuter du code à partir d'un certain emplacement du BIOS.

Ignacio Vazquez-Abrams
la source
... et cet emplacement est spécifié dans le code transmis à l'appel système de redémarrage?
Knight Samar
1
@ Night Samar: Non; l'emplacement des E / S est généralement une constante d'architecture, ce que le noyau connaît. Vous pouvez le voir, par exemple, dans le code de redémarrage de Linux, tel que arch / x86 / kernel / reboot.c.
Sleske
Quelqu'un at-il une bonne ressource pour poursuivre la lecture à ce sujet?
Matthias Krull
@ mugen.kenichi et tous, un ami m'a donné cette référence à howstuffworks.com/bios.htm/printable
Knight Samar
Je suggère superuser.com/a/347115/38062 .
JdeBP
10

Auparavant, avant la gestion de l'alimentation, les ordinateurs pouvaient toujours redémarrer eux-mêmes, bien sûr. (Quelqu'un se souvient du moment où un programme gelé vous obligeait à utiliser Ctrl + Alt + Suppr pour redémarrer l'ordinateur?)

Sur mon ancien 486, la commande du langage d'assemblage JMP FFFF:0000(c.-à-d. Définir le pointeur d'instructions de la CPU sur cette adresse) ferait redémarrer tout l'ordinateur. En d'autres termes, FFFF: 0000 adresse un emplacement dans le BIOS qui contient des instructions sur ce que l'ordinateur doit faire lors du premier démarrage. Je soupçonne que l'épingle de réinitialisation décrite dans la réponse d'AndrejaKo, ou les boutons de réinitialisation des jours précédant la gestion de l'alimentation, forceraient également le pointeur d'instruction à la même adresse.

Une recherche sur Google pour JMP FFFF: 0000 révèle de nombreuses pages intéressantes à ce sujet.

Krubo
la source
3
Vous devez également écrire une valeur spécifique dans 0040: 0072 pour déterminer s'il s'agit d'un démarrage à froid (0x0000) ou à chaud (0x1234).
Synetech
9

Il y a aussi une chose nommée le chien de garde. Cet appareil sert d'interrupteur d'homme mort. L'ordinateur doit signaler chaque minute au chien de garde qu'il est toujours en vie. Lorsque l'ordinateur tombe en panne, par exemple en se heurtant à une boucle sans fin, il ne parvient pas à signaler au chien de garde qu'il fonctionne toujours comme prévu. Le chien de garde procédera alors à une réinitialisation matérielle. Cela a été démontré dans la série télévisée populaire du terminateur, où un robot a été assommé par une surtension haute tension. il se réinitialiserait dans 2 minutes.

Marcel
la source
2
Ceci est correct, mais ne répond pas vraiment à la question.
Sleske
4
Existe-t-il des chiens de garde qui vont réellement redémarrer tout un ordinateur? Je sais qu'ils sont parfois utilisés pour divers microcontrôleurs à l'intérieur de l'ordinateur, mais y en a-t-il un au niveau de l'ordinateur? Mon expérience personnelle m'amène à dire non, mais des preuves pour ou contre seraient les bienvenues.
AndrejaKo
5
@AndrejaKo: Je travaillais auparavant pour une entreprise qui fabriquait des serveurs de communication (essentiellement des serveurs lames avec des modems connectés). Ils avaient une horloge de surveillance qui était connectée aux broches de réinitialisation de la carte mère. La minuterie était périodiquement interrompue par un utilitaire d'arrière-plan s'exécutant sur la carte mère. Par conséquent, si le processeur était bloqué, le chien de garde appuierait éventuellement sur le bouton de réinitialisation. Il était lié à un circuit qui rendait la ligne téléphonique occupée pendant le redémarrage de la carte mère.
Robert Harvey
4

De retour sur l'ancien IBM PC-1, le contrôleur de clavier, curieusement, gérait le redémarrage. IBM a intégré un petit microprocesseur pour gérer le clavier, ainsi que des lignes d’entrée / sortie de secours; ils ont donc utilisé l’une des lignes pour piloter la ligne de réinitialisation de la CPU principale. Une commande envoyée au contrôleur du clavier entraînerait la réinitialisation de la CPU comme si l'alimentation venait juste d'être allumée.

J'imagine que cette tradition a perduré bien longtemps dans l'ère "AT" et qu'il peut en rester des vestiges dans l'ACPI aujourd'hui.

Ajouté: Il y a un détail intéressant sur le schéma de réinitialisation ci-dessus. Au début de la séquence de démarrage, le code recherchait un modèle particulier dans la RAM qui aurait pu être défini par le code précédemment exécuté. Si ce code était présent, certains des diagnostics POST (auto-test à la mise sous tension) ont été ignorés. Le motif ne serait présent que sur un démarrage "chaud".

Daniel R Hicks
la source