Nous avons les I/O
valeurs d'interruption pour hiérarchiser la tâche pour une meilleure réponse sur l'ordinateur mais pour quel module sur ordinateur nous avons le Non-Maskable interrupts
réservé et quel est Non-Maskable interrupts
?
Nous avons les I/O
valeurs d'interruption pour hiérarchiser la tâche pour une meilleure réponse sur l'ordinateur mais pour quel module sur ordinateur nous avons le Non-Maskable interrupts
réservé et quel est Non-Maskable interrupts
?
Réponses:
Un exemple d'utilisation d'un NMI est dans un système intégré. Pensez à la possibilité d'échec lorsqu'une décharge électrostatique a envoyé le processeur dans les mauvaises herbes, où il pourrait être bloqué dans une boucle.
Si cette boucle se produit alors que les interruptions régulières sont désactivées, le système ne peut rien faire pour récupérer le mode erreur. Comme le NMI est non masquable, c'est-à-dire qu'il ne peut jamais être désactivé, un signal sur le NMI peut remettre le processeur dans un état opérationnel. Ce signal peut provenir d’une horloge de surveillance, d’un co-processeur ou d’un bouton activé par un humain.
Une ligne de réinitialisation est similaire à une NMI, sauf que ce n'est pas une interruption. Il est impossible de reprendre la tâche en arrière-plan si le gestionnaire d'interruptions décide qu'il ne s'agit pas réellement d'une défaillance. Un gestionnaire d'interruption NMI a cette option.
Prenons des cas comme un événement thermique, où des mesures doivent être prises pour éviter les dommages, ou une panne d’alimentation où il est nécessaire de sauvegarder les données dans une mémoire non volatile avant que l’alimentation ne soit complètement interrompue. C’est le genre d’événements où un NMI est souvent utilisé.
En règle générale, une CPU peut être configurée pour ignorer les interruptions normales (IRQ), et un registre ou un bit "Interrupt Disable" ou "Interrupt Mask" est fourni à cet effet. Cela est souhaitable car vous ne souhaitez généralement pas être "interrompu à nouveau" lors du traitement d'une IRQ.
Une NMI est une interruption sans réinitialisation qui ne peut pas être masquée ou ignorée par la CPU - il n'y a pas de registre de désactivation ou de masque.
On peut souvent dire au matériel qui génère des NMI de ne pas les générer, de sorte qu’il peut généralement être désactivé indirectement. Par exemple, sur la NES 8 bits, la puce d’affichage générera une NMI à la fin du tracé d’un cadre, mais vous pouvez définir un bit sur un certain registre pour indiquer à la puce d’affichage de ne pas le faire. Tout autre matériel connecté à la broche NMI de la CPU peut toujours générer une NMI.
Le matériel x86 utilise généralement des NMI pour indiquer les erreurs matérielles fatales du jeu de puces. Windows s'arrête immédiatement après en avoir reçu un ( exemple ). Vous ne pouvez utiliser le NMI pour autre chose sur du matériel x86 (EDIT: je me trompe peut-être, lisez le lien ci-dessous), et il est possible de dire au chipset (ou à certains chipsets) de ne pas envoyer de NMI en écrivant dans un répertoire spécifique. Port I / O.
Je pense que des erreurs non corrigibles de la part de la RAM ECC peuvent déclencher cela. Les processeurs x86 modernes fournissent un mécanisme appelé "Exceptions de contrôle de machine" qui se déclenche également sur des problèmes liés au matériel, de sorte que les nouveaux jeux de puces peuvent faire quelque chose de différent. Lisez ceci pour plus d'informations.