>> Technologie Électronique >  >> Maison intelligente >> Aspirateurs

Pourquoi le masquage d'interruptions est essentiel dans les microprocesseurs

Exécution atomique et déterminisme temps-réel

Le masquage d'interruptions désactive temporairement le traitement d'interruptions, permettant au CPU d'exécuter sections de code critiques atomiquement. C'est une primitive de synchronisation fondamentale.

Raisons clés

  1. Protection section critique : Prévient conditions de course lors accès ressources partagées (variables globales, registres matériels, listes chainées). Sans masquage, une ISR pourrait corrompre données mid-update.
  2. Déterminisme temps-réel : Garantit pire temps d'exécution (WCET) pour tâches haute priorité en bornant latence interruption. Essentiel pour systèmes temps-réel dur (automobile, avionique, commande moteurs).
  3. Lecture-Modification-Écriture atomique : Permet implémentation sûre sémaphores, mutex, et algorithmes lock-free sur mono-cœur.
  4. Gestion énergie : Désactivation horloges contrôleur interruptions pendant sommeil profond réduit courant fuite appareils batterie.
  5. Optimisation commutation contexte : Réduit sauvegardes/restaurations contexte inutiles quand interruptions différées pendant courtes routines noyau.

Mécanismes implémentation

  • Masque global : Drapeau unique (ex: x86 CLI/STI, ARM CPSID I/CPSIE I, RISC-V mie CSR).
  • Masque sélectif : Bits activation par interruption dans contrôleur interruptions (PIC, APIC, GIC, PLIC).
  • Seuil priorité : Masquer toutes en dessous d'un niveau (ARM BASEPRI, RISC-V PMP).

Risques surutilisation

Masquage excessif → latence interruptions accrue, deadlines manqués, événements perdus (débordement série, dérive tic minuteur). Bonne pratique : sections masquées < 10–20 µs ; verrouillage finement granulaire où possible.

Aspirateurs