DE112005001338T5 - Verfahren und Vorrichtung zur Reduzierung falscher Fehlererkennung in einem Mikroprozessor - Google Patents

Verfahren und Vorrichtung zur Reduzierung falscher Fehlererkennung in einem Mikroprozessor Download PDF

Info

Publication number
DE112005001338T5
DE112005001338T5 DE112005001338T DE112005001338T DE112005001338T5 DE 112005001338 T5 DE112005001338 T5 DE 112005001338T5 DE 112005001338 T DE112005001338 T DE 112005001338T DE 112005001338 T DE112005001338 T DE 112005001338T DE 112005001338 T5 DE112005001338 T5 DE 112005001338T5
Authority
DE
Germany
Prior art keywords
bit
command
processor
input
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE112005001338T
Other languages
English (en)
Inventor
Shubhendu Framingham Mukherjee
Joel Acton Emer
Steven Ann Arbor Reinhardt
Christopher Marlboro Weaver
Michael Marlborough Smith
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112005001338T5 publication Critical patent/DE112005001338T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3865Recovery, e.g. branch miss-prediction, exception handling using deferred exception handling, e.g. exception flags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Advance Control (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Prozessor, umfassend:
ein Dekodiermodul, um einen Befehl zu empfangen;
ein Bit, das mit dem Befehl verknüpft ist, um festzustellen, ob ein Bitzustandswechsel erfolgt ist, um den Befehl zu verfälschen, wobei das mit dem Befehl fließende Fehlerbit mit der Parität verknüpft ist;
eine Speicherstruktur, die mit dem Dekodiermodul gekoppelt ist, um den Befehl zu speichern; und
eine mit der Speicherstruktur gekoppelte Befehlsverarbeitungseinheit, welche eine Mehrzahl von Stufen zum Verarbeiten des Befehls umfaßt, wobei der Prozessor ermittelt, ob der Befehl am Commit-Punkt ein Falscher-Pfad-Befehl ist.

Description

  • VERWANDTE ANMELDUNGEN
  • Diese Anmeldung betrifft die folgenden gemeinsam übertragenen ebenfalls anhängigen Patentanmeldungen, die zugleich mit dieser unter den folgenden Titeln eingereicht wurden:
    „Reducing False Error Detection In A Microprocessor By Tracking Instructions Neutral To Errors", laufende Nummer..., eingereicht am 17. Juni 2004; und „Reducing False Error Detection In A Microprocessor By Tracking Dynamically Dead Instructions", laufende Nummer..., eingereicht am 17. Juni 2004.
  • HINTERGRUND
  • Vorübergehende Fehler aufgrund von Neutronen- und Alphateilchendurchschlägen zeigen sich als bedeutsames Hindernis beim Erhöhen der Anzahl an Transistoren eines Prozessors in zukünftigen Prozeß-Technologien. Obwohl die Fehlerraten einzelner Transistoren möglicherweise nicht merklich ansteigen, wird es durch das Einbauen von mehr Transistoren in eine Vorrichtung wahrscheinlicher, dass in dieser Vorrichtung ein Fehler eintritt. Folglich wird erwartet, dass ein Beibehalten der Prozessorfehlerraten auf einem annehmbaren Niveau zunehmenden Konstruktionsaufwand erfordern wird.
  • Einzelbitstörungen durch vorübergehende Fehler (transient fault) sind zu einer der größten Herausforderungen in der heutigen Mikroprozessorkonstruktion geworden. Diese Fehler rühren von energiereichen Teilchen, wie zum Beispiel Neutronen aus kosmischer Strahlung und Alphateilchen aus Packaging-Materialien, her. Transistorsource- und Diffusionsknoten (transistor source and diffusion nodes) können diese Ladungen aufnehmen. Eine ausreichende Menge gespeicherter Ladung kann den Zustand eines logischen Elements, zum Beispiel einer SRAM-Zelle, eines Latches oder eines Gates, umkehren, woraus sich für den Betrieb der Schaltung ein logischer Fehler ergibt. Da diese Art von Störung keinen Dauerfehler des Gerätes zeigt, ist sie als weicher Fehler (Soft-Fehler) oder vorübergehender Fehler bekannt.
  • Soft-Fehler sind eine wachsende Bürde für Mikroprozessorkonstrukteure, da die Anzahl von chipintegrierten Transistoren weiterhin exponentiell zunimmt. Die unkorrigierte Bitfehlerrate pro Latch oder SRAM-Bit soll für die nächsten Technologiegenerationen ungefähr konstant bleiben oder leicht abnehmen. Daher könnte die Fehlerrate eines Mikroprozessors ohne zusätzliche Fehlerschutzmechanismen oder die Verwendung einer unempfindlicheren Technologie (zum Beispiel vollständig verarmtes Silizium auf Isolator (SOI)) in direktem Verhältnis zur Anzahl von Elementen, die einem Prozessor in jeder nachfolgenden Generation hinzugefügt werden, ansteigen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Verschiedene Merkmale der Erfindung werden aus der folgenden Beschreibung bevorzugter Ausführungsformen, wie sie in den beiliegenden Zeichnungen veranschaulicht sind, augenscheinlich, wobei in allen Zeichnungen ähnliche Bezugsziffern im Allgemeinen dieselben Bestandteile bezeichnen. Die Zeichnungen sind nicht unbedingt maßstabsgetreu, da der Schwerpunkt vielmehr auf die Veranschaulichung der Prinzipien der Erfindungen gelegt worden ist.
  • 1 ist ein Blockdiagramm möglicher Resultate eines fehlerhaften Bits in einem Mikroprozessor.
  • 2a2d zeigen ein Blockdiagramm, das eine Ausführungsform der vorliegenden Erfindung darstellt, wenn ein Pi-Bit zusammen mit einem Befehlsstrompfad verwendet wird, um einen Soft-Fehler, der in einem Befehl auftritt, zu entdecken.
  • 3 ist ein Ablaufdiagramm, das Vorgänge gemäß einer Ausführungsform der vorliegenden Erfindung darstellt.
  • 4 ist ein Blockdiagramm, das ein beispielhaftes Computersystem abbildet, welches die vorliegende Erfindung ausführt, um Soft-Fehler zu entdecken.
  • AUSFÜHRLICHE BESCHREIBUNG
  • In der folgenden Beschreibung sind spezifische Details zum Zweck der Erklärung, nicht jedoch zur Einschränkung dargestellt, beispielsweise bestimmte Strukturen, Architekturen, Schnittstellen, Verfahren, etc., um ein klares Verständnis der verschiedenen Aspekte der Erfindung zu schaffen. Für Fachleute, die Nutzen aus der vorliegenden Offenbarung ziehen, ist jedoch offensichtlich, dass die verschiedenen Aspekte der Erfindung in anderen Beispielen, die von diesen spezifischen Details abweichen, umgesetzt werden können. In bestimmten Fällen sind Beschreibungen wohlbekannter Vorrichtungen, Schaltungen und Verfahren weggelassen worden, um die Beschreibung der vorliegenden Erfindung nicht durch unnötige Einzelheiten unverständlich zu machen.
  • 1 zeigt mögliche Resultate eines einzelnen Bitfehlers in einem Mikroprozessor. Zunächst stellt der Mikroprozessor fest, ob ein fehlerhaftes Bit eingelesen worden ist 100. Falls ein fehlerhaftes Bit nicht eingelesen worden ist 110, wird es als gutartige Störung und somit nicht als Fehler angesehen. Falls ein fehlerhaftes Bit eingelesen worden ist, stellt der Prozessor als Nächstes fest, ob das Bit einen Fehlerschutz (error protection) aufweist 115. Es gibt mindestens drei mögliche Resultate, wenn ein fehlerhaftes Bit eingelesen worden ist. Zum Ersten wird, falls der Fehlerschutz das fehlerhafte Bit erkannt und korrigiert hat, die Störung als korrigiert angesehen 120.
  • Zum Zweiten, falls das Bit keinen Fehlerschutz aufweist, ermittelt der Prozessor, ob der Befehl das Ergebnis des Programms beeinträchtigen würde 125. Falls der Befehl das Ergebnis des Programms nicht beeinträchtigt, wird das fehlerhafte Bit als gutartige Störung angesehen 130. Die Störungen 110, 120 und 130 zeigen Nicht-Fehler-Zustände an, da die Störung keine Auswirkung hatte oder entdeckt und korrigiert wurde.
  • Falls der Befehl das Ergebnis des Programms beeinträchtigt, wird die Störung als stille Datenverfälschung (silent data corruption, SDC) angesehen 135. SDC 135 ist die heimtückischste Art von Fehler, bei der eine Störung das System dazu bringt, fehlerhafte Ergebnisse zu erzeugen. Um SDC 135 zu verhindern, können Konstrukteure grundlegende Fehlererkennungsmechanismen, wie zum Beispiel die Parität, benutzen.
  • Das dritte mögliche Ergebnis, wenn ein Bit einen Fehlerschutz aufweist, betrifft die Situation, in welcher der Fehler entdeckt wird 140. Mit der Fähigkeit, eine Störung zu erkennen, sie jedoch nicht zu korrigieren, verhindert das System zwar das Erzeugen ungültiger Ausgaben, kann sich jedoch nicht wiederherstellen, wenn ein Fehler eintritt. Folglich verringert eine einfache Fehlererkennung nicht die Fehlerrate, stellt jedoch ein Absturzvermeidungsverhalten bereit, und verringert dadurch Datenverfälschung. Diese Arten von Fehlern sind als erkannte, nichtbehebbare Fehler (detected unrecoverable error, DUE) bekannt.
  • DUE-Ereignisse werden des Weiteren danach unterteilt, ob die erkannten Fehler das Endergebnis der Ausführung beeinträchtigen würden, oder nicht. Gutartige erkannte Fehler sind als falsche DUE-Ereignisse 145, und die übrigen als echte DUE-Ereignisse 150 bekannt. In einem Mikroprozessor könnten sich falsche DUE-Ereignisse aus Durchschlägen in Falscher-Pfad-Befehlen (wrong-path instructions), falsch basierten Befehlen (falsely predicated instructions) und Richtiger-Pfad-Befehlen (correct-path instructions) ergeben, die den Endzustand des Programms nicht beeinträchtigen, einschließlich Leerbefehlen (no-ops), Prefetch-Befehlen und dynamisch unwirksamen Befehlen.
  • Eine Ausführungsform der Erfindung benützt einen Mechanismus zum Verringern der Fehlerraten durch Verringern der Wahrscheinlichkeit, dass eine vorübergehende Störung den Prozessor veranlaßt, einen Fehlerzustand zu melden. Um falsche DUE-Ereignisse aufzuspüren, hängt der Mikroprozessor ein Bit, das als Pi-Bit für „Possibly Incorrect" (= möglicherweise fehlerhaft) bekannt ist, an jeden Befehl und möglicherweise auch an verschiedene Hardwarestrukturen. Wird ein Fehler entdeckt, setzt die Hardware das Pi-Bit des betroffenen Befehls, anstatt den Fehler anzuzeigen. Später kann die Hardware durch Prüfen des Pi-Bits und Feststellen der Art des Befehls entscheiden, ob tatsächlich ein sichtbarer Fehler aufgetreten ist.
  • Das Unterscheiden falscher Fehler von echten Fehlern ist kompliziert. Der Prozessor kann eventuell nicht über genügend Informationen verfügen, um diese Entscheidung an dem Punkt, an dem er den Fehler entdeckt, zu machen. Erkennt die Befehlswarteschlange zum Beispiel einen Fehler in einem Befehl, ist sie möglicherweise nicht imstande festzustellen, ob der Befehl ein Falscher-Pfad-Befehl war, oder nicht. Folglich muß der Prozessor die Fehlerinformation in der Pipeline weiterleiten, und den Fehler wieder vorbringen, wenn er genügend Informationen hat, um diese Unterscheidung zu treffen.
  • Um die Fehlerinformation zwischen unterschiedlichen Teilen der Mikroprozessorhardware weiterzuleiten, verwendet das System das Pi-Bit. Das Pi-Bit ist mit jedem Befehl logisch verknüpft, während dieser von der Dekodierung bis zur Deaktivierung fließt.
  • 2a2d zeigen eine Ausführungsform, in der ein Pi-Bit entlang eines Befehlsstrompfads verwendet wird, um einen Soft-Fehler, der in einem Befehl auftritt, zu entdecken. Im Fall eines Befehls wird das Pi-Bit an den Befehl gehängt und anfänglich auf Null gesetzt, wenn der Befehl dekodiert wird 200. Das Pi-Bit wird geleert, um die Abwesenheit irgendwelcher Fehler in dem Befehl anzuzeigen. Während der Befehl durch die Pipeline 205 fließt, wird er mehrfach umgewandelt, um sich an die Maschine anzupassen, und in viele verschiedene Speicherstrukturen, wie zum Beispiel eine Befehlswarteschlange, geschrieben und aus diesen wieder ausgelesen.
  • Empfängt eine Befehlswarteschlange 210 den Befehl, speichert sie das Pi-Bit zusammen mit dem Befehl ab. Trägt der Befehl eine Einzelbitstörung, wird ein Prüfbitfehler angezeigt. Beim Entdecken eines Fehlers setzt die Befehlswarteschlange 210 das Pi-Bit des betroffenen Befehls auf Eins, anstatt eine Maschinenprüfausnahme (machine check exuption) auszulösen. Danach wird der Befehl ausgegeben und fließt die Pipeline 205 hinunter.
  • Fehlerprüfungen und Aktualisierungen des Pi-Bits können auch in mehreren Phasen der Pipeline und/oder in verschiedenen Strukturen im Lauf der Befehlsausführung verwendet werden. Fehlerprüflogik kann die Form von Paritätsüberwachern oder verschiedenen anderen Fehlererkennungsverfahren annehmen, die bekannt oder anderweitig verfügbar sind. Des Weiteren können Fehlererkennungs- und Korrekturverfahren in diesen verschiedenen Phasen oder unterschiedlichen Strukturen verwendet werden, wobei im Fall eines nichtbehebbaren Fehlers das Pi-Bit gesetzt wird.
  • Schließlich wird sich der Befehl binden (commit) 215. In der Bindungsphase (commit stage) weist die Commit-Hardware genügend Informationen auf, um zu ermitteln, ob der Befehl ein Falscher-Pfad-Befehl war. Ist dies der Fall, kann der Prozessor das Pi-Bit ignorieren, wodurch er ein falsches DUE-Ereignis vermeidet, falls das Bit gesetzt war. Ist dies nicht der Fall, hat der Prozessor die Auswahlmöglichkeit, am Commit-Punkt 215 des Befehls den Maschinenprüffehler auszulösen.
  • Der Pi-Bit-Mechanismus kann auch verallgemeinert werden, indem das Pi-Bit an verschiedene Objekte, die durch die Pipeline 205 fließen, angehängt wird, solange die Pi-Bits korrekt von Objekt zu Objekt weitergeleitet werden. Zum Beispiel laden viele Mikroprozessoren typischerweise mehrere Befehle gemeinsam, wobei diese Strukturen manchmal auch Blöcke oder Segmente genannt werden. Blöcke fließen durch das Vorderende (front end) der Pipeline, bis sie dekodiert werden. Ein Pi-Bit kann an jeden Ladeblock angehängt werden. Trifft der Block auf einen Fehler, kann der Prozessor das Pi-Bit des Blocks setzen. Wenn anschließend der Block in mehrere Befehle dekodiert wird, kann der Prozessor den Pi-Bit-Wert des Blocks kopieren, um das Pi-Bit jedes Befehls zu initialisieren. Somit kann der Prozessor das Pi-Bit verwenden, um falsche DUE-Ereignisse in Strukturen am Vorderende der Pipeline zu vermeiden, bevor einzelne Befehle dekodiert werden.
  • In einer anderen Ausführungsform kann der Prozessor Pi-Bit-Informationen von Befehlen auf Registerspeicher übertragen, und dadurch falsche DUE-Ereignisse vermeiden, die aus dynamisch unwirksamen Befehlen in einer Registerdatei entstehen. Anstatt einen Fehler auszulösen, falls das Pi-Bit eines Befehls gesetzt ist, kann der Prozessor das Pi-Bit des Befehls auf den Zielregisterspeicher übertragen, den er beschreibt. Falls keine nachfolgenden Befehle diesen Registerspeicher lesen, wird das Pi-Bit des Registerspeichers nicht überprüft, und somit kann der Prozessor einen Fehler in einem direkten dynamisch unwirksamen (first-level dynamically dead, FDD-)Befehl, der den Registerspeicher beschrieb, verhindern. Liest hingegen ein nachfolgender Befehl einen Registerspeicher mit gesetztem Pi-Bit, kann der Prozessor einen Fehler anzeigen.
  • Alternativ dazu kann ein Befehl, der den Registerspeicher liest, die Pi-Bits aller seiner Quellregisterspeicher in eine ODER-Beziehung mit seinem eigenen Pi-Bit bringen und entlang der Pipeline mitnehmen, anstatt einen Fehler auszulösen, falls das Pi-Bit eines Registerspeichers gesetzt ist. Diese Ausführungsform würde das Pi-Bit entlang Abhängigkeitsketten weiterleiten und einem Prozessor ermöglichen, auch vorübergehend dynamisch unwirksame (transitively dynamically dead, TDD-)Befehle aufzuspüren. Ein Weg, TDD-Befehle aufzuspüren, ist der, den Fehler nur auszulösen, wenn ein Prozessor mit dem Speichersystem oder den I/O-Vorrichtungen zusammenarbeitet. Wenn das Pi-Bit in jeder Struktur in einem Prozessor, ausgenommen Pufferspeicher und Hauptspeicher, vorhanden ist, und man derselben Vererbungsregel für Pi-Bits folgt, die oben beschrieben ist, können auch falsche Fehler in TDD-Befehlen vermieden werden. Um dies zu erreichen, würde das System Fehler nur anzeigen, wenn ein Speicherbefehl 220 oder ein I/O-Zugriff im Begriff ist, seine Daten an die Pufferspeicher, Speichersysteme oder I/O-Vorrichtungen zu binden. Diese Ausbreitung (propagation) würde nicht nur falsche DUE für TDD-Befehle in der Registerdatei, sondern auch in anderen Strukturen entlang der Pipeline, durch welche die Befehle und Werte fließen, vermeiden.
  • In einer anderen Ausführungsform kann der Prozessor das Pi-Bit von einem Befehl oder einem Registerspeicher auf Speicherwerte übertragen, um falsche DUE-Ereignisse in Speicherstrukturen, wie zum Beispiel Speicherpuffern und Caches 220, aufzuspüren. Der Prozessor kann an jeden Pufferspeicherblock ein Pi-Bit anhängen, und wenn ein Speicherbefehl eine Adresse ausliest, kann der Prozessor das Pi-Bit des Speicherbefehls auf den Pufferspeicherblock übertragen. Wenn in der Folge ein Ladebefehl 225 den Pufferspeicherblock ausliest, könnte er entweder das Pi-Bit überprüfen, oder das Pi-Bit auf den Registerspeicher 213, den er lädt, übertragen. Wird das Pi-Bit auf den Registerspeicher 213 übertragen, kann der Prozessor auch vermeiden, falsche DUE-Ereignisse, die aus dynamisch unwirksamen Speicherwerten entstehen, anzuzeigen.
  • Falls ein System alternativ dazu Pi-Bits im gesamten Prozessorchip und Speichersystem aufwiese, könnte der Prozessor über den Speicher falsche Fehler sowohl in FDD- als auch in TDD-Befehlen aufspüren. In diesen Fällen würde ein Fehler nur dann ausgelöst, wenn der Prozessor einen I/O-Zugriff (zum Beispiel einen nicht gepufferten Lade- oder Speicherbefehl) ausführt, dessen Pi-Bit gesetzt ist. Dies ermöglicht Konstrukteuren, in einem Multiprozessorsystem mit gemeinsamem Speicher, Fehler über mehrere Prozessoren hinweg aufzuspüren.
  • Im Allgemeinen kann das Pi-Bit somit an jedes Objekt, das durch die Pipeline fließt, oder an jede Hardwarestruktur angehängt werden, wobei die Granularität des Pi-Bits jedoch von der Umsetzung abhängt. Wird ein Pi-Bit zum Beispiel an einen 64-Bit-Registerspeicherwert angehängt, so kann ein einzelnes Pi-Bit nur anzeigen, dass ein Fehler in einem der 64 Bits erfolgt sein könnte. Gibt es alternativ dazu ein Pi-Bit für jedes Byte, so kann der Prozessor feststellen, in welchem Byte unter den 64 Bits ein Fehler aufgetreten sein kann.
  • 3 ist ein Ablaufdiagramm, das eine Ausführungsform eines Verfahrens zum Erkennen von Soft-Fehlern darstellt. In dieser speziellen Ausführungsform veranschaulicht das Ablaufschema 300 einen Fall, in dem ein Prozessor feststellt, ob ein Befehl ein Falscher-Pfad-Befehl ist. Zunächst wird, wenn ein Befehl dekodiert wird 305, ein Pi-Bit mit dem Befehl verknüpft 310 und anfänglich auf Null gesetzt. Durch das anfängliche Setzen des Pi-Bits auf Null, wird die Abwesenheit jeglicher Fehler in dem Befehl angezeigt. Dann wird der Befehl zusammen mit dem Pi-Bit in die Pipeline eingereiht 315. Während der Befehl durch die Pipeline fließt, wird er viele Male umgewandelt, um sich an die Maschine anzupassen, und auf viele verschiedene Speicherelemente geschrieben und aus diesen wieder ausgelesen.
  • Während der Zeit, in welcher der Befehl durch eine Pipeline fließt, kann der Befehl einen Einzelbitfehler speichern, und ein Prüfbitfehler kann für diesen Befehl angezeigt (flagged) werden 320. Falls ein Fehler für den Befehl entdeckt wurde, kann die Pipeline das Pi-Bit des betroffenen Befehls auf Eins setzen 325, anstatt eine Maschinenprüfausnahme auszulösen, und schließlich wird sich der Befehl binden 330. Falls kein Fehler entdeckt wurde, wird sich der Befehl schließlich binden 330. Die Commit-Hardware kann dann ermitteln, ob der Befehl ein Falscher-Pfad-Befehl war 335. Falls der Befehl als Falscher-Pfad-Befehl erkannt wird, wird das Pi-Bit ignoriert 340, andernfalls hat der Prozessor die Auswahlmöglichkeit, einen Fehler, zum Beispiel einen Maschinenprüffehler, auszulösen 345.
  • 4 stellt eine typische Systemausführung zum Erkennen von Soft-Fehlern dar. Es ist ein Computer 400 gezeigt, in dem ein Prozessor 405 als einzelner oder einer aus einer Mehrzahl von Prozessoren, welche die Zentraleinheit (CPU) oder -Einheiten des Computers 400 umfassen, arbeitet. Typischerweise wird der Prozessor 405 mit Hilfe eines einzigen Chips integrierter Schaltkreise ausgeführt. Der Prozessor 405 kann einen Ausführungs-(Verarbeitungs-)Kern 410 aufweisen, der eine oder mehrere Ausführungseinheiten aufweist. Ein Abschnitt des Prozessors 405 ist speziell dafür vorgesehen, eine Befehlsverarbeitungsvorrichtung 415 zu umfassen. Die Befehlsverarbeitungsvorrichtung 415 ist als mit dem Kern 410 gekoppelt abgebildet.
  • Die Erfindung wird gemäß der obigen Beschreibung ausgeführt, um einen Befehl im Kern 410 auszuführen. Der Speicher kann chipintern (wie durch den chipintegrierten Speicher 420 gezeigt ist) oder chipextern (wie durch den chipexternen Speicher 425 gezeigt ist) angeordnet sein. Typischerweise kann chipinterner Speicher ein Pufferspeicher oder ein Teil des Hauptspeichers (RAM) sein. Der chipexterne Speicher umfaßt typischerweise den Hauptspeicher (sowie chipexternen Pufferspeicher, falls vorhanden) und andere Speichervorrichtungen, wie zum Beispiel ein Plattenspeichermedium. Sowohl der chipinterne Speicher 420 als auch der chipexterne Speicher 425 können entweder einzeln oder getrennt mit verschiedenen Vorrichtungen, wie zum Beispiel einer Audioschnittstellenvorrichtung 430, verbunden sein. Es ist jedoch anzumerken, dass die Erfindung auch auf andere Weise gestaltet sein kann, um die Befehle zur Ausführung durch den Kern 410 zu verarbeiten.
  • Der Pi-Bit-Mechanismus verringert die Anzahl falscher DUE-Ereignisse, indem er die Anzahl falscher Fehler verringert. In Abwesenheit eines Fehlererkennungsmechanismus hätten solche Fehler das Endergebnis eines Programms nicht beeinträchtigt. Eine Störung, die das Ergebnis eines dynamisch unwirksamen Befehls betrifft, würde zum Beispiel die endgültige Programmausgabe nicht verändern, könnte jedoch trotzdem von der Hardware als ein Fehler gekennzeichnet werden. Um das Anzeigen solcher falschen Fehler zu vermeiden, verändert der Pi-Bit-Mechanismus die Fehlererkennungslogik einer Pipeline, damit die betroffenen Befehle und Daten über das Pi-Bit als möglicherweise fehlerhaft markiert werden, anstatt dass sofort ein Fehler angezeigt wird. Dadurch zeigt der Prozessor nur dann einen Fehler an, falls später festgestellt wird, dass der möglicherweise fehlerhafte Wert die Ausgabe des Programms beeinträchtigen hätte können.
  • In einigen Ausführungsformen verbreitet das Pi-Bit Fehlerinformationen, so dass der Fehler zu einem späteren Zeitpunkt wieder aufgebracht werden kann, wenn der Prozessor feststellen kann, ob der Fehler tatsächlich ein falscher oder ein echter Fehler war. Somit kann der Pi-Bit-Mechanismus die Erkennung eines Fehlers vom Anzeigen (flagging) des Fehlers entkoppeln. Dies gibt einem Mikroprozessorkonstrukteur die Möglichkeit, den Fehler entweder bei der Verwendung eines Werts, oder wenn das Pi-Bit für einen Wert den Gültigkeitsbereich verläßt, aufzubringen.
  • Ein anderer Vorteil bei manchen Ausführungsformen ist der, dass die Paritätsüberwacher, welche die Störungen entdecken, nicht an jedem Ort die zusätzliche Hardware aufweisen, die nötig ist, um eine Maschinenprüfausnahme auszulösen. Statt dessen wird der Fehler im Pi-Bit weitergetragen. Die Commit-Hardware wäre der einzige Ort, an dem die Hardware zum Auslösen der Maschinenprüfausnahme erforderlich wäre.
  • In der folgenden Beschreibung sind spezifische Details zum Zweck der Erklärung, nicht jedoch zur Einschränkung dargestellt, wie z.B. bestimmte Strukturen, Architekturen, Schnittstellen, Verfahren, etc., um für ein genaues Verständnis der verschiedenen Aspekte der Erfindung zu sorgen. Für Fachleute, die Nutzen aus der vorliegenden Offenbarung ziehen, ist jedoch offensichtlich, dass die verschiedenen Aspekte der Erfindung in anderen Beispielen, die von diesen spezifischen Details abweichen, umgesetzt werden können. In bestimmten Fällen sind Beschreibungen wohlbekannter Vorrichtungen, Schaltungen und Verfahren ausgelassen worden, um die Beschreibung der vorliegenden Erfindung nicht durch unnötige Einzelheiten unverständlich zu machen.
  • Zusammenfassung
  • Verfahren zum Verringern falscher Fehlererkennung in Mikroprozessoren. Ein Pi-Bit wird mit einem Befehl über einen Befehlsstrompfad verbreitet. Wenn ein Prüfbitfehler entdeckt wird, wird das Pi-Bit gesetzt, anstatt eine Maschinenprüfausnahme (machine check exception) auszulösen. Beim Erreichen eines Commit-Punktes kann der Prozessor dann feststellen, ob sich der Befehl auf einem falschen Pfad befand.

Claims (42)

  1. Prozessor, umfassend: ein Dekodiermodul, um einen Befehl zu empfangen; ein Bit, das mit dem Befehl verknüpft ist, um festzustellen, ob ein Bitzustandswechsel erfolgt ist, um den Befehl zu verfälschen, wobei das mit dem Befehl fließende Fehlerbit mit der Parität verknüpft ist; eine Speicherstruktur, die mit dem Dekodiermodul gekoppelt ist, um den Befehl zu speichern; und eine mit der Speicherstruktur gekoppelte Befehlsverarbeitungseinheit, welche eine Mehrzahl von Stufen zum Verarbeiten des Befehls umfaßt, wobei der Prozessor ermittelt, ob der Befehl am Commit-Punkt ein Falscher-Pfad-Befehl ist.
  2. Prozessor nach Anspruch 1, wobei das Bit auf einen ersten Wert initialisiert wird, um die Abwesenheit etwaiger Fehler in dem Befehl anzuzeigen.
  3. Prozessor nach Anspruch 1, wobei die Speicherstruktur eine Befehlswarteschlange ist.
  4. Prozessor nach Anspruch 2, wobei die Speicherstruktur das Fehlerbit des Befehls beim Erkennen eines Fehlers auf einen zweiten Wert setzt.
  5. Prozessor nach Anspruch 4, wobei der Befehl und das Bit durch die Mehrzahl von Stufen fließen.
  6. Prozessor nach Anspruch 5, wobei sich der Befehl mit dem Bit auf seinem zweiten Wert bindet.
  7. Prozessor nach Anspruch 6, wobei der Prozessor das Bit ignoriert, falls der Befehl ein Falscher-Pfad-Befehl ist.
  8. Prozessor nach Anspruch 6, wobei der Prozessor einen Maschinenprüffehler auslöst, falls der Befehl kein Falscher-Pfad-Befehl ist.
  9. Prozessor nach Anspruch 1, wobei die Befehle Blöcke sein können, und jedes Bit an jeden geladenen Block angehängt wird.
  10. Prozessor nach Anspruch 9, wobei der Block in mehrere Befehle dekodiert wird, wobei der Prozessor den Bitwert des Blocks zu jedem der Mehrzahl von Befehlen kopiert.
  11. Prozessor nach Anspruch 1, wobei der Prozessor das Bit des Befehls an einen Zielregisterspeicher überträgt.
  12. Prozessor nach Anspruch 11, wobei das Bit des Registerspeichers nicht überprüft wird, falls keine nachfolgenden Befehle den Zielregisterspeicher auslesen.
  13. Prozessor nach Anspruch 11, wobei die Bits aller Befehlsursprungsregisterspeicher mit dem eigenen Bit des Befehls in eine logische ODER-Beziehung gebracht werden, um ein Einzelbit bereitzustellen.
  14. Prozessor nach Anspruch 1, wobei der Prozessor das Bit von einem Befehl auf ein Speichermodul überträgt.
  15. Prozessor nach Anspruch 14, wobei der Prozessor jedem Pufferspeicherblock ein Bit anhängt, wobei der Prozessor bei einem Speicherbefehl, der eine Adresse schreibt, das Bit des Speicherbefehls auf den Pufferspeicherblock überträgt.
  16. Prozessor nach Anspruch 14, wobei ein Ladebefehl den Pufferspeicherblock einliest, entweder, um das Bit zu überprüfen, oder um das Bit an den Registerspeicher, den er lädt, zu übertragen.
  17. Prozessor nach Anspruch 1, wobei das Bit ein Pi-Bit ist.
  18. Verfahren umfassend: Dekodieren eines Befehls; Laden eines Bits zusammen mit dem Befehl, wobei das Bit mit einer Parität für den Befehl verknüpft ist; Einreihen des Befehls; Propagieren des Befehls durch Stufen einer Pipeline, um den Befehl zu verarbeiten; und Ermitteln, ob der Befehl am Commit-Punkt ein Falscher-Pfad-Befehl ist.
  19. Verfahren nach Anspruch 18, des Weiteren umfassend das Ignorieren des Bits, falls der Befehl ein Falscher-Pfad-Befehl ist.
  20. Verfahren nach Anspruch 19, des Weiteren umfassend das Auslösen eines Maschinenprüffehlers, falls der Befehl kein Falscher-Pfad-Befehl war.
  21. Vorrichtung umfassend: ein Dekodiermodul zum Empfangen einer Eingabe; ein Speicherelement zum Speichern eines Erkennungsbits, das mit der Eingabe verknüpft ist, um festzustellen, ob ein Bitzustandswechsel eingetreten ist, um die Eingabe zu verfälschen; eine Befehlswarteschlange zum Verarbeiten der Eingabe; ein Befehlsstrompfad zum Propagieren des Flusses von Eingaben durch mehrere Stufen; und ein Commit-Modul, um zu bestimmen, ob sich die Eingabe auf einem falschen Pfad befindet.
  22. Vorrichtung nach Anspruch 21, wobei das Erkennungsbit ein Pi-Bit ist.
  23. Vorrichtung nach Anspruch 22, wobei das Erkennungsbit mit einer Parität für den Befehl verknüpft ist.
  24. Vorrichtung nach Anspruch 21, wobei das Erkennungsbit auf einen ersten Wert initialisiert wird, um die Abwesenheit etwaiger Fehler in der Eingabe anzuzeigen.
  25. Vorrichtung nach Anspruch 24, wobei die Befehlswarteschlange das Erkennungsbit der Eingabe beim Erkennen eines Fehlers auf einen zweiten Wert setzt.
  26. Vorrichtung nach Anspruch 25, wobei die Eingabe ausgegeben wird und durch die Mehrzahl von Stufen des Befehlsstrompfades fließt.
  27. Vorrichtung nach Anspruch 25, wobei sich die Eingabe mit dem Erkennungsbit auf seinem zweiten Wert bindet.
  28. Vorrichtung nach Anspruch 27, wobei die Vorrichtung das Erkennungsbit ignoriert, falls das Commit-Modul feststellt, dass die Eingabe eine Falscher-Pfad-Eingabe ist.
  29. Vorrichtung nach Anspruch 28, wobei die Vorrichtung einen Maschinenprüffehler auslöst, falls das Commit-Modul feststellt, dass die Eingabe keine Falscher-Pfad-Eingabe ist.
  30. System umfassend: – einen chipexternen Speicher zum Speichern einer Eingabe vor dem Laden; – einen Prozessor, der mit dem chipexternen Speicher gekoppelt ist, wobei der Prozessor des Weiteren umfaßt: – ein Dekodiermodul zum Empfangen der Eingabe; – ein Speicherelement zum Speichern eines Bits, das mit der Eingabe verknüpft ist; – eine Befehlswarteschlange zum Verarbeiten der Eingabe; – einen Befehlsstrompfad zum Propagieren des Eingabeflusses durch Stufen; und – ein Commit-Modul, um festzustellen, ob sich die Eingabe auf einem falschen Pfad befindet.
  31. System nach Anspruch 30, des Weiteren umfassend eine Audioschnittstelle, die mit dem chipexternen Speicher gekoppelt ist.
  32. System nach Anspruch 30, wobei das Bit ein Pi-Bit ist.
  33. System nach Anspruch 30, wobei das Bit feststellt, ob ein Bitzustandswechsel eingetreten ist, um die Eingabe zu verfälschen.
  34. System nach Anspruch 33, wobei der Bitzustandswechsel die Parität betrifft.
  35. System nach Anspruch 30, wobei das Bit auf einen ersten Wert initialisiert wird, um die Abwesenheit etwaiger Fehler in der Eingabe anzuzeigen.
  36. System nach Anspruch 35, wobei die Befehlswarteschlange das Bit der Eingabe beim Erkennen eines Fehlers auf einen zweiten Wert setzt.
  37. System nach Anspruch 36, wobei die Eingabe ausgegeben wird und durch die Mehrzahl von Stufen des Befehlsstrompfades fließt.
  38. System nach Anspruch 36, wobei sich die Eingabe mit dem Bit auf seinem zweiten Wert bindet.
  39. System nach Anspruch 38, wobei das System das Bit ignoriert, falls das Commit-Modul feststellt, dass die Eingabe eine Falscher-Pfad-Eingabe ist.
  40. System nach Anspruch 39, wobei das System einen Maschinenprüffehler auslöst, falls das Commit-Modul feststellt, dass die Eingabe keine Falscher-Pfad-Eingabe ist.
  41. System nach Anspruch 30, des Weiteren umfassend einen chipinternen Speicher.
  42. System nach Anspruch 41, des Weiteren umfassend eine Audioschnittstellenvorrichtung, die mit dem chipinternen Speicher gekoppelt ist.
DE112005001338T 2004-06-17 2005-05-20 Verfahren und Vorrichtung zur Reduzierung falscher Fehlererkennung in einem Mikroprozessor Withdrawn DE112005001338T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/871,430 US7555703B2 (en) 2004-06-17 2004-06-17 Method and apparatus for reducing false error detection in a microprocessor
US10/871,430 2004-06-17
PCT/US2005/017772 WO2006007147A1 (en) 2004-06-17 2005-05-20 Method and apparatus for reducing false error detection in a microprocessor

Publications (1)

Publication Number Publication Date
DE112005001338T5 true DE112005001338T5 (de) 2007-06-14

Family

ID=34981730

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112005001338T Withdrawn DE112005001338T5 (de) 2004-06-17 2005-05-20 Verfahren und Vorrichtung zur Reduzierung falscher Fehlererkennung in einem Mikroprozessor

Country Status (6)

Country Link
US (2) US7555703B2 (de)
JP (1) JP4448539B2 (de)
CN (1) CN100449480C (de)
DE (1) DE112005001338T5 (de)
TW (1) TWI277861B (de)
WO (1) WO2006007147A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283590A1 (en) * 2004-06-17 2005-12-22 Weaver Christopher T Reducing false error detection in a microprocessor by tracking dynamically dead instructions
US7370231B2 (en) * 2004-12-14 2008-05-06 Intel Corporation Method of handling errors
US7581152B2 (en) * 2004-12-22 2009-08-25 Intel Corporation Fault free store data path for software implementation of redundant multithreading environments
US20060190700A1 (en) * 2005-02-22 2006-08-24 International Business Machines Corporation Handling permanent and transient errors using a SIMD unit
DE102006005817B4 (de) * 2006-02-08 2014-06-26 Infineon Technologies Ag Fehlererkennungsvorrichtung für einen Adressdecoder und Vorrichtung zur Fehlererkennung für einen Adressdecoder
DE102006062703A1 (de) * 2006-02-08 2007-08-30 Infineon Technologies Ag Fehlererkennungsvorrichtung und Verfahren zur Fehlererkennung für einen Befehlsdecoder
US8201067B2 (en) * 2008-02-25 2012-06-12 International Business Machines Corporation Processor error checking for instruction data
US7849387B2 (en) * 2008-04-23 2010-12-07 Intel Corporation Detecting architectural vulnerability of processor resources
GB2466984B (en) * 2009-01-16 2011-07-27 Imagination Tech Ltd Multi-threaded data processing system
US20110099439A1 (en) * 2009-10-23 2011-04-28 Infineon Technologies Ag Automatic diverse software generation for use in high integrity systems
US20110208948A1 (en) * 2010-02-23 2011-08-25 Infineon Technologies Ag Reading to and writing from peripherals with temporally separated redundant processor execution
US8516356B2 (en) 2010-07-20 2013-08-20 Infineon Technologies Ag Real-time error detection by inverse processing
US8671309B2 (en) * 2011-07-01 2014-03-11 Intel Corporation Mechanism for advanced server machine check recovery and associated system software enhancements
US9176739B2 (en) * 2011-08-05 2015-11-03 Cisco Technology, Inc. System and method for checking run-time consistency for sequentially and non-sequentially fetched instructions
US9106258B2 (en) 2013-11-22 2015-08-11 International Business Machines Corporation Early data tag to allow data CRC bypass via a speculative memory data return protocol
FR3030793B1 (fr) * 2014-12-19 2018-02-16 Clearsy Procede d'arret d'urgence et systeme securitaire associe
US10761925B2 (en) * 2015-03-24 2020-09-01 Nxp Usa, Inc. Multi-channel network-on-a-chip
US9595349B2 (en) 2015-06-25 2017-03-14 Intel Corporation Hardware apparatuses and methods to check data storage devices for transient faults
US10802932B2 (en) * 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3531631A (en) * 1967-01-11 1970-09-29 Ibm Parity checking system
US4241396A (en) * 1978-10-23 1980-12-23 International Business Machines Corporation Tagged pointer handling apparatus
US4224681A (en) * 1978-12-15 1980-09-23 Digital Equipment Corporation Parity processing in arithmetic operations
US4604750A (en) * 1983-11-07 1986-08-05 Digital Equipment Corporation Pipeline error correction
US4794517A (en) * 1985-04-15 1988-12-27 International Business Machines Corporation Three phased pipelined signal processor
JPS6312030A (ja) 1986-07-02 1988-01-19 Nec Corp 情報処理装置のエラ−処理機構
US5297263A (en) * 1987-07-17 1994-03-22 Mitsubishi Denki Kabushiki Kaisha Microprocessor with pipeline system having exception processing features
US4888679A (en) * 1988-01-11 1989-12-19 Digital Equipment Corporation Method and apparatus using a cache and main memory for both vector processing and scalar processing by prefetching cache blocks including vector data elements
JP2618958B2 (ja) * 1988-03-28 1997-06-11 株式会社東芝 パリティチェック制御装置
GB8810948D0 (en) * 1988-05-09 1988-06-15 Plessey Telecomm Tdm data transmission system
JPH03209523A (ja) 1990-01-11 1991-09-12 Fujitsu Ltd 命令データエラー検出方式
JPH04264624A (ja) 1991-02-19 1992-09-21 Toshiba Corp プロセッサ
US5649090A (en) * 1991-05-31 1997-07-15 Bull Hn Information Systems Inc. Fault tolerant multiprocessor computer system
EP0529303A3 (en) * 1991-08-29 1993-09-22 International Business Machines Corporation Checkpoint synchronization with instruction overlap enabled
EP0596144A1 (de) 1992-10-07 1994-05-11 International Business Machines Corporation Hierarchises Speichersystem für Mikrokode und Vorrichtung zur Korrektur von Fehlern in der Mikrokode
JP3035108B2 (ja) 1993-04-02 2000-04-17 株式会社東芝 並列演算処理装置
US5537559A (en) * 1994-02-08 1996-07-16 Meridian Semiconductor, Inc. Exception handling circuit and method
US5535226A (en) * 1994-05-31 1996-07-09 International Business Machines Corporation On-chip ECC status
US5649136A (en) * 1995-02-14 1997-07-15 Hal Computer Systems, Inc. Processor structure and method for maintaining and restoring precise state at any instruction boundary
KR100206887B1 (ko) * 1995-12-31 1999-07-01 구본준 프로그램 오동작 방지를 위한 씨피유
US5813027A (en) * 1996-03-08 1998-09-22 Vlsi Technology, Inc. Method for storing and transferring wave table audio samples using a DSP cache, a link list structure, and compression
US5872910A (en) * 1996-12-27 1999-02-16 Unisys Corporation Parity-error injection system for an instruction processor
US6247118B1 (en) * 1998-06-05 2001-06-12 Mcdonnell Douglas Corporation Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry
US6253306B1 (en) * 1998-07-29 2001-06-26 Advanced Micro Devices, Inc. Prefetch instruction mechanism for processor
US6457119B1 (en) * 1999-07-23 2002-09-24 Intel Corporation Processor instruction pipeline with error detection scheme
US6738892B1 (en) * 1999-10-20 2004-05-18 Transmeta Corporation Use of enable bits to control execution of selected instructions
US6675341B1 (en) * 1999-11-17 2004-01-06 International Business Machines Corporation Extended error correction for SEC-DED codes with package error detection ability
US6862677B1 (en) * 2000-02-16 2005-03-01 Koninklijke Philips Electronics N.V. System and method for eliminating write back to register using dead field indicator
KR20010087046A (ko) 2000-03-06 2001-09-15 서평원 컴퓨터 시스템
US6543028B1 (en) * 2000-03-31 2003-04-01 Intel Corporation Silent data corruption prevention due to instruction corruption by soft errors
US6654909B1 (en) * 2000-06-30 2003-11-25 Intel Corporation Apparatus and method for protecting critical resources against soft errors in high performance microprocessors
US6662319B1 (en) * 2000-08-31 2003-12-09 Hewlett-Packard Development Company, L.P. Special encoding of known bad data
US6895527B1 (en) * 2000-09-30 2005-05-17 Intel Corporation Error recovery for speculative memory accesses
US6823448B2 (en) * 2000-12-15 2004-11-23 Intel Corporation Exception handling using an exception pipeline in a pipelined processor
US6704890B1 (en) * 2000-12-22 2004-03-09 Nortel Networks Limited Skew compensating interface for operation with arbitrary data
US6804799B2 (en) * 2001-06-26 2004-10-12 Advanced Micro Devices, Inc. Using type bits to track storage of ECC and predecode bits in a level two cache
US7318169B2 (en) 2002-05-15 2008-01-08 David Czajkowski Fault tolerant computer
US7222270B2 (en) * 2003-01-10 2007-05-22 International Business Machines Corporation Method for tagging uncorrectable errors for symmetric multiprocessors
US20050138478A1 (en) * 2003-11-14 2005-06-23 Safford Kevin D. Error detection method and system for processors that employ alternating threads

Also Published As

Publication number Publication date
US20050283712A1 (en) 2005-12-22
CN1969256A (zh) 2007-05-23
TWI277861B (en) 2007-04-01
JP2008501191A (ja) 2008-01-17
CN100449480C (zh) 2009-01-07
US20050283716A1 (en) 2005-12-22
US7555703B2 (en) 2009-06-30
JP4448539B2 (ja) 2010-04-14
TW200619921A (en) 2006-06-16
WO2006007147A1 (en) 2006-01-19
US7543221B2 (en) 2009-06-02

Similar Documents

Publication Publication Date Title
DE112005001338T5 (de) Verfahren und Vorrichtung zur Reduzierung falscher Fehlererkennung in einem Mikroprozessor
DE10304447B4 (de) Verfahren zur Handhabung von Datenfehlern in einem Prozessor mit Pipeline und derartiger Prozessor
DE69910320T2 (de) Technik für Einzelfehlerkorrektur im Cachespeicher mit Subblock-Paritätenbits
DE60210658T2 (de) Fehlerkorrigierende speicher und verfahren zu seiner nutzung
US7308607B2 (en) Periodic checkpointing in a redundantly multi-threaded architecture
DE102013215055B4 (de) Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern
EP1667022A2 (de) Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE112006001233T5 (de) Selektive Aktivierung der Fehlerverminderung basierend auf der Fehlerzahl des Bit-Werts
DE4132833A1 (de) Hierarchischer schaltungsintegrierter cache-speicher
DE102005055067A1 (de) Vorrichtung und Verfahren zum Beheben von Fehlern bei einem wenigstens zwei Ausführungseinheiten mit Registern aufweisenden System
DE112005003339T5 (de) Transaktionsgestützter Verarbeitungsbetrieb mit gemeinsam genutzten Daten in einer Multiprozessorumgebung
KR100736963B1 (ko) 에러에 중립적인 명령을 추적하여 마이크로프로세서에서의폴스 에러 검출을 줄이는 장치 및 방법
DE102005011859B4 (de) Ein Entwurf eines dreifach redundanten Latches mit niedriger Verzögerungszeit
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE60206555T2 (de) Fehlererkennung von Austauschdaten
DE3045609C2 (de)
US7353365B2 (en) Implementing check instructions in each thread within a redundant multithreading environments
EP1955164A1 (de) Programmgesteuerte einheit und verfahren zum betreiben derselbigen
DE102011011333B4 (de) Lesen in Peripheriegeräte und schreiben aus Peripheriegeräten mit zeitlich getrennter, redundanter Prozessorausführung
DE102004011450A1 (de) Anvisierte Fehlertoleranz durch spezielle CPU-Befehle
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
DE112005002975T5 (de) Verfahren zur Behandlung während der Ausführung einer Fehlerbehandlungsroutine auftretender Fehler
DE102006007326A1 (de) Fehlerkorrekturschaltung und -Verfahren
DE102020131154A1 (de) Gefährdungsabschwächung für leichte Prozessorkerne

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee