RELIABLE EXECUTION USING COMPARE AND TRANSFER INSTRUCTION ON AN SMT MACHINE
A system and method for efficient reliable execution on a simultaneous multithreading machine. A processor is placed in a reliable execution mode (REM) to detect possible errors during execution of a mission critical software application. Only two threads may be configured to operate in this mode. F...
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Patent |
Sprache: | eng ; fre |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | A system and method for efficient reliable execution on a simultaneous multithreading machine. A processor is placed in a reliable execution mode (REM) to detect possible errors during execution of a mission critical software application. Only two threads may be configured to operate in this mode. Floating-point store and integer-transfer unary instructions may be converted to new binary instructions. Each new instruction has two source operands, each one corresponding to a different thread is specified by a same logical register number as a single source operand of the original unary instruction. All other instructions are replicated, wherein the original instruction and its twin are assigned to different threads. Simultaneous multi-threaded (SMT) floating-point logic may only be able to provide lockstep execution when it communicates using the new instruction with instantiated integer independent clusters. The new instruction cannot begin until both source operands are ready, which are subsequently compared to determine any mismatches or errors.
L'invention concerne un système et un procédé pour une exécution fiable efficace sur une machine à fils multiples simultanés. Un processeur est placé dans un mode d'exécution fiable (REM) pour détecter des erreurs possibles pendant l'exécution d'une application logicielle à mission critique. Seulement deux fils peuvent être configurés pour fonctionner dans ce mode. Des instructions unaires de mémorisation à virgule flottante et de transfert d'entier peuvent être converties en de nouvelles instructions binaires. Chaque nouvelle instruction comporte deux opérandes de source, chacun correspondant à un fil différent et spécifié par un même numéro de registre logique en tant qu'opérande de source unique de l'instruction unaire d'origine. Toutes les autres instructions sont dupliquées, l'instruction d'origine et son instruction jumelée étant attribuées à différents fils. Une logique à virgule flottante à fils multiples simultanés (SMT) peut n'être capable que d'effectuer une exécution en mode « lockstep » lorsqu'elle communique en utilisant la nouvelle instruction avec des groupes indépendants des entiers instanciés. La nouvelle instruction ne peut pas commencer tant que les deux opérandes de source ne sont pas prêts, lesquels sont par la suite comparés pour déterminer toutes absences de correspondance ou erreurs. |
---|