web-dev-qa-db-fra.com

Quel mécanisme de micrologiciel / matériel permet un arrêt forcé?

Bien que je ne le sache pas avec certitude, je suis à peu près sûr que le fait d'appuyer sur le bouton d'alimentation de tous les ordinateurs les forcera à s'éteindre au bout d'un certain laps de temps. Ceci est particulièrement utile si l'ordinateur se bloque ou si une autre erreur nécessite un redémarrage total.

Ce qui m'intéresse, c'est de savoir si ce mécanisme d'arrêt forcé est codé en dur dans les microprogrammes sous-jacents de l'ordinateur. Ou si cela est intégré à l'ordinateur au niveau matériel. Si le mécanisme était un microprogramme, il est logique de supposer qu'une erreur au niveau de la CPU empêcherait ce mécanisme de se déclencher correctement, ce qui m'amène à penser qu'il s'agit d'une fonction matérielle.

Pour résumer: Le mécanisme d’arrêt de force universel (je suppose) est-il intégré au niveau du matériel ou du microprogramme? Et quelqu'un peut-il élaborer sur les mécanismes de la nature, des variantes et de l'histoire générale.

41
user4493605

Le mécanisme universel d’arrêt de force est-il intégré au niveau du matériel ou du micrologiciel?

La carte mère (matériel) et le BIOS (firmware) sont impliqués dans le processus.

La mise sous tension (mise en marche et à l’arrêt) se fait par des circuits sur la carte mère. Les circuits sont déclenchés pour changer d'état par un court-circuit momentané de deux points dans le circuit. Cela se fait par le bouton-poussoir du panneau avant. Une connexion à court terme de ce bouton suffit. Le circuit de la carte mère a également une deuxième et troisième fonction qu’il peut remplir.

Le BIOS est généralement configuré pour que, si le circuit est déjà à l'état ON et que le contact momentané soit maintenu fermé pendant au moins 4 secondes, l'une des deux actions soit effectuée. Soit le système s’arrête tout de suite (comme si vous éteigniez un commutateur), soit la carte mère passe en état de "veille" et attend de se réveiller. Laquelle de ces deux options est faite est quelque chose que vous avez défini dans les écrans de configuration du BIOS. **

C'est la raison pour laquelle la carte mère n'est jamais totalement "Off" dans la plupart des situations d'exploitation. Même lorsqu'il est éteint, une petite partie de celui-ci est consacrée à la vérification des entrées provenant de quelques sources (comme le bouton-poussoir en façade, certains périphériques USB et peut-être un modem) afin de pouvoir répondre en mettant sous tension système entier. Pour couper réellement toute alimentation, vous pouvez soit débrancher le cordon d’alimentation, soit utiliser l’interrupteur physique situé à l’arrière du bloc d’alimentation pour l’éteindre.

Source Comment fonctionne le bouton d'alimentation?


Les commutateurs modernes ne contiennent aucune magie. En fait, ils sont moins compliqués et coûteux que de véritables interrupteurs physiques tout ou rien.

Ces commutateurs ne sont que des entrées dans un micro-contrôleur. Le microcontrôleur peut dire quand vous appuyez sur le bouton, le reste est codé par la politique dans le micrologiciel pour décider quoi faire à ce sujet. Le pouvoir est généralement commuté avec des transistors. Cela signifie que le bouton lui-même ne doit pas gérer de haute tension ou de forte intensité, il y a donc beaucoup plus d'options pour le faire et pour qu'il soit petit. Il peut s'agir d'un commutateur à membrane, par exemple, que vous n'utiliseriez jamais pour commuter l'alimentation murale.

Cela signifie qu'un peu de l'appareil est généralement allumé, au moins suffisamment pour alimenter le micro-contrôleur. Cependant, les micro-contrôleurs modernes peuvent consommer une quantité d'énergie infime en ne faisant rien d'autre que d'attendre un signal de commutation indiquant que cette puissance est sans importance dans la plupart des cas.

Dans certains cas, le bouton déclenche la mise sous tension du micro, ce qui active alors certains transistors ou un relais ou un autre moyen de le maintenir sous tension. Lorsque vous appuyez sur le bouton pour éteindre l'appareil, le micro ferme tout, y compris lui-même.

Source Comment fonctionnent ces boutons d'alimentation modernes sur les périphériques , répondez par Olin Lathrop

45
DavidPostill

Le mécanisme d’arrêt de force universel (je suppose) est-il intégré au niveau du matériel ou du microprogramme?

Sans chercher de références, il existe une logique assez simple ici: ils doivent travailler au niveau du matériel car ils ne disposent d'aucun processeur dans le socket.

Bien sûr, le PC ne fera pas tout ce travail alors, mais vous pouvez toujours le mettre sous tension techniquement; Si votre carte mère a la capacité de vous donner des messages (par des bips sonores ou un petit code à 2 chiffres), vous obtiendrez probablement le code "mauvais processeur/pas de processeur". Vous pourrez également l'éteindre avec un appui long, ce qui est la partie importante ici.

De plus, n'oubliez pas que dans tous les cas où le système est dans un état profondément incontrôlable (c'est-à-dire en mode mono-utilisateur/panique du noyau Linux/BSOD, etc.) et à toutes fins utiles dans une impasse, le bouton fonctionne toujours (au moins la longue pression).

Notez que "niveau matériel" est déjà un terme assez large; en d'autres termes, il peut facilement s'agir de quelques transistors jusqu'à un petit µC dédié avec quelques bits de NVRAM (qui conserveraient les valeurs configurées par le BIOS, par exemple sur le comportement de la presse courte), ce que la plupart des gens appellerait encore "matériel".

6
AnoE