Qu'est-ce que CPU en lockstep ?

Méthode dans laquelle deux cœurs de CPU identiques exécutent le même programme et un comparateur vérifie leurs sorties pour détecter les défaillances. Pour éviter que des défaillances de cause commune n'altèrent les deux cœurs de la même façon, l'exécution est décalée de quelques cycles d'horloge ou les cœurs sont placés à distance. Les performances sont celles d'un seul cœur.

Nom japonais: ロックステップ

« CPU en lockstep » apparaît dans 2 questions d'entraînement réparties sur 1 thèmes, dont Semi-conducteurs automobiles et sécurité fonctionnelle.

Domaine: Semi-conducteurs automobiles et sécurité fonctionnelle

S'entraîner : questions sur CPU en lockstep

Quel est le principe correct d'un CPU en lockstep, utilisé comme mécanisme de sécurité dans les microcontrôleurs automobiles ?

  1. ARépartir des traitements différents entre deux cœurs de CPU pour doubler environ la vitesse de traitement
  2. BFaire exécuter simultanément les mêmes instructions par deux cœurs de CPU, comparer leurs sorties à chaque cycle d'horloge et signaler une défaillance en cas de discordance
  3. CLorsqu'une défaillance est détectée, arrêter temporairement (verrouiller) le CPU, basculer sur un circuit de réserve et réparer automatiquement la partie défaillante avant de reprendre
Afficher la réponse et l'explication

Réponse : B. Faire exécuter simultanément les mêmes instructions par deux cœurs de CPU, comparer leurs sorties à chaque cycle d'horloge et signaler une défaillance en cas de discordance

Le lockstep consiste à disposer de deux cœurs de CPU de même configuration, à leur faire exécuter le même programme et à confronter leurs sorties au moyen d'un circuit de comparaison. Si le résultat de l'un des cœurs change à cause d'une inversion de bit due au rayonnement cosmique ou d'une défaillance du circuit, la discordance est détectée, ce qui donne une couverture de diagnostic élevée pour les défaillances du CPU. Comme les deux cœurs effectuent le même traitement, la performance est celle d'un seul cœur. La seule comparaison de deux cœurs ne permet pas de savoir lequel est correct ; après détection, on procède donc à une réinitialisation ou au passage dans un état sûr.

Dans un CPU en lockstep, quelle est la principale raison pour laquelle on décale de quelques cycles d'horloge l'exécution des deux cœurs ou on éloigne les deux cœurs l'un de l'autre sur la puce ?

  1. ASi une même cause, comme le bruit d'alimentation ou les rayonnements, provoque simultanément la même erreur dans les deux cœurs, la comparaison ne la détecte pas ; on rend donc moins probable une erreur identique
  2. BPour permettre à un cœur d'utiliser par anticipation le résultat de calcul de l'autre et accélérer le traitement
  3. CPour permettre aux deux cœurs d'exécuter chacun un programme différent et augmenter le nombre de cœurs utilisables
Afficher la réponse et l'explication

Réponse : A. Si une même cause, comme le bruit d'alimentation ou les rayonnements, provoque simultanément la même erreur dans les deux cœurs, la comparaison ne la détecte pas ; on rend donc moins probable une erreur identique

Le lockstep détecte les défaillances par la différence entre les résultats des deux cœurs ; si une même cause provoque la même erreur dans les deux, elle ne peut pas être détectée. Une telle défaillance est appelée défaillance de cause commune. Une chute momentanée de la tension d'alimentation ou une perturbation de l'horloge affecte les deux cœurs en même temps ; en retardant l'exécution de l'un, par exemple de 2 cycles d'horloge, et en réalignant les deux lors de la comparaison, on rend moins probable une même erreur au même instant. Éloigner les cœurs l'un de l'autre sert aussi à éviter qu'une cause locale n'atteigne les deux.

Questions mentionnant « CPU en lockstep » (2)

  1. Quel est le principe correct d'un CPU en lockstep, utilisé comme mécanisme de sécurité dans les microcontrôleurs automobiles ?
  2. Dans un CPU en lockstep, quelle est la principale raison pour laquelle on décale de quelques cycles d'horloge l'exécution des deux cœurs ou on éloigne les deux cœurs l'un de l'autre sur la puce ?

Termes associés

Mécanisme de sécurité Couverture de diagnostic AEC-Q100 Architecture zonale ASIL (niveau d'intégrité de sécurité automobile) Bus CAN ECU (unité de commande électronique) FTTI (intervalle de temps de tolérance aux fautes) HARA (analyse des dangers et évaluation des risques) HAST (essai de stress hautement accéléré)

Retour au glossaire