DE10317650A1 - Programmgesteuerte Einheit und Verfahren - Google Patents
Programmgesteuerte Einheit und Verfahren Download PDFInfo
- Publication number
- DE10317650A1 DE10317650A1 DE10317650A DE10317650A DE10317650A1 DE 10317650 A1 DE10317650 A1 DE 10317650A1 DE 10317650 A DE10317650 A DE 10317650A DE 10317650 A DE10317650 A DE 10317650A DE 10317650 A1 DE10317650 A1 DE 10317650A1
- Authority
- DE
- Germany
- Prior art keywords
- error
- program
- controlled unit
- input data
- error detection
- 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
Links
- 238000000034 method Methods 0.000 title claims description 14
- 238000001514 detection method Methods 0.000 claims description 40
- 238000012937 correction Methods 0.000 claims description 22
- 238000011144 upstream manufacturing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000012797 qualification Methods 0.000 description 3
- 238000013479 data entry Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1641—Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30116—Shadow registers, e.g. coupled registers, not forming part of the register space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Detection And Correction Of Errors (AREA)
- Hardware Redundancy (AREA)
- Microcomputers (AREA)
- Safety Devices In Control Systems (AREA)
- Programmable Controllers (AREA)
Abstract
Die vorliegende Erfindung schafft eine programmgesteuerte Einheit, mit einem einzigen Kontrollerkern (Core), der eine erste und zumindest eine zweite Ausführungseinheit aufweist, die in einem ersten Betriebsmodus unabhängig voneinander betreibbar sind und die in einem zweiten Betriebsmodus parallel die gleichen Befehle abarbeiten.
Description
- Die Erfindung betrifft eine programmgesteuere Einheit sowie ein Verfahren zum Betreiben dieser programmgesteuerten Einheit.
- Derartige programmgesteuerte Einheiten sind beispielsweise als Mikroprozessoren, Mikrocontroller, Signalprozessoren oder dergleichen ausgebildet. Ein Mikrocontroller weist einen Mikrocontrollerkern, den sogenannten Core, einen oder mehrere Speicher (Programmspeicher, Datenspeicher, etc.), Peripheriekomponenten (Oszillator, I/O-Ports, Timer, AD-Wandler, DA-Wandler, Kommunikationsschnittstellen) und ein Interrupt-System auf, die gemeinsam auf einem Chip integriert sind und die über einen bzw. mehrere Busse (interner, externer Daten-/Adressbus) miteinander verbunden sind. Der Aufbau und die Funktionsweise einer solchen programmgesteuerten Einheit ist vielfach bekannt, so dass darauf nicht näher eingegangen wird.
- Der Mikrokontrollerkern ist im Sinne eines modularen Mikrocontrollerkonzepts die On-Chip integrierte zentrale Steuereinheit (CPU). Dieser beinhaltet im wesentlichen ein mehr oder weniger komplexes Steuerwerk, mehrere Register (Datenregister, Adressregister), eine Bussteuereinheit und eine Recheneinheit (ALU = arithmetisch logische Einheit), die die eigentliche Daten verarbeitende Funktion übernimmt. Eine solche ALU-Recheneinheit kann meist nur einfache Elementaroperationen mit maximal zwei beteiligten Eingangsdaten (Operanden) ausführen. Diese Operanden sowie die Ergebnisse der Berechnung können vor bzw. nach der Verarbeitung in eigens dafür vorgesehenen Registern- oder Speicherstellen untergebracht sein. Bei der Verarbeitung der Operanden kann es allerdings zu Fehlern kommen, die sich nachteilig auf das Ergebnis auswirken. Ein solcher Fehler kann dadurch entstehen, dass zumindest ein eingangsseitig in die ALU-Einheit eingekoppelter Operand verfälscht wird. Dies kann beispielsweise dadurch geschehen, dass das jeweilige Eingangsdatum repräsentierende Potenzial höher bzw. niedriger als vorgesehen ist. Ist diese Ladungsänderung groß genug, kann ein einen logischen Zustand repräsentierendes Potenzial in ein einen anderen logischen Zustand repräsentierendes Potenzial geändert werden. Beispielsweise kann ein eine logische "1" repräsentierendes Potenzial in ein eine logische "0" repräsentierendes Potenzial und umgekehrt geändert werden, wodurch aber das resultierende Ergebnis signifikant verfälscht wird.
- Mit der zunehmenden Entwicklung der Halbleiterprozesstechnik hin zu kleineren Abmessungen und niedrigeren Betriebsspannungen nimmt die Wahrscheinlichkeit solcher Fehler zu. Aus diesem Grunde sind moderne Mikroprozessorsysteme mit einem System zu Fehlererkennung bzw. Fehlerbeseitigung ausgestattet, mit denen ein auftretender Fehler identifiziert und angezeigt werden kann (Failure Identification) bzw. in Abhängigkeit von der Funktionalität des Systems Vorkehrungen im Falle eines auftretenden Fehlers getroffen werden können. Ein derartiges Fehlerkonektursystem kann beispielsweise mittels einer ECC-Fehlerkonektur (Error Checking and Correction) ausgestattet sein, die zum Schutz wichtiger Daten beiträgt. Um auf Fehler reagieren zu können, sind moderne Mikrokontrollersysteme in der Regel mit einer Fehlererkennungssystemen basierend auf einer redundanten Systemfunktionalität ausgestattet. Eine Systemredundanz kann z.B. durch zeitlich versetzte mehrfache Berechnung (Temporary Redundancy) oder durch zusätzliche Schaltkreise (Hardware Redundancy) realisiert werden. Im ersteren Falle, in dem ein Applikationsprogramm mehrfach zeitlich hintereinander durchgeführt wird, können zwar sporadische bzw. statistische Fehler, welche während des Betriebes entstehen, erkannt werden. Allerdings erlaubt diese Art von Redundanz lediglich eine Fehlererkennung und eine eingeschränkte Fail-Safe-Funktionalität, die darüber hinaus auch sehr zeitaufwendig ist, was die Leistungsfähigkeit des gesamten Systems beeinträchtigt. Eine Fehlerbeseitigung ist hier nicht möglich.
- Aus diesem Grunde werden hauptsächlich Fehlererkennungssysteme auf der Basis einer Hardware-Redundanz verwendet, bei denen die redundante, d. h. doppelt vorgesehene Hardware das Applikationsprogramm parallel ausführt. In der internationalen Patentanmeldung WO 01/46806 mit dem Titel "Firmware Mechanism for Conecting soft Errors", welches dem Deutschen Patent Nr.
DE 100 85 324 T1 entspricht, ist ein Computersystem beschrieben, das eine Hardware redundante Fehlererkennung aufweist. Das in der WO 01/46806 beschriebene Computersystem besteht aus zwei unabhängig voneinander betreibbaren Mikroprozessorkernen (Cores) und einer den beiden Cores nachgeschalteten Vergleichseinheit. In den beiden Cores können in einem ersten Betriebsmodus (Normalbetrieb) Befehle und Daten unabhängig voneinander bearbeitet werden. In einem zweiten, sogenannten Lock-Step-Betriebsmodus (Testbetrieb) werden die beiden Cores redundant betrieben, d. h. in beiden Cores werden gleiche Befehle verarbeitet. Die Ergebnisse der im redundanten Betriebsmodus betriebenen Cores werden nach Maßgabe einer Fehlerbehandlungsroutine in der Vergleichseinheit miteinander verglichen und bei Nichtübereinstimmen wird ein Fehlersignal erzeugt. Auf diese Weise können die Registerinhalte der Cores gesichert werden. Aus den so gesicherten Daten kann der Status des Mikroprozessors vor dem Auftreten des Fehlerereignisses wieder hergestellt werden. - Nachteilig an der in der WO 01/46806 beschriebenen Lösung ist der dafür erforderliche Zusatzaufwand zur Bereitstellung des redundanten Systems, vor allem da dort der gesamte Core doppelt vorgesehen ist. Insbesondere bei sehr komplexen Mikrocontrollern mit folglich einem komplexen Steuerwerk und einer komplexen Bussteuereinheit ist der für die Redundanz erforderliche zusätzliche Chipflächenaufwand sehr groß. Bei Chipflächen kritischen Mikrocontrollersystemen ist die Bereitstellung solcher Chipflächen verbrauchender Einheiten kontraproduktiv und wird vom Verbraucher zuneh mend nicht mehr akzeptiert. Allein aus diesem Grunde besteht somit der Bedarf, durch eine Verringerung der Chipfläche und damit einer Reduzierung der Produktkosten sich von im wesentlichen funktionsgleichen Konkurrenzprodukten auf dem Markt zu unterscheiden. Dies stellt einen erheblichen Wettbewerbsvorteil dar.
- Mit der in der WO 01/46806 beschriebenen Anordnung lässt sich außerdem keine Fehlerqualifizierung durchführen, so dass nicht festgestellt werden kann, wo der Fehler tatsächlich aufgetreten ist. Es findet lediglich eine Fehlererkennung statt. Ein Fehler kann jedoch an verschiedenen Stellen des Systems auftreten, z.B. kann ein Fehler auf einer Busleitung oder aufgrund einer fehlerhaften Operation innerhalb einer Recheneinheit bzw. einer Vergleichseinheit auftreten. Es besteht damit auch der Bedarf einer Fehlerqualifizierung.
- VORTEILE DER ERFINDUNG
- Die erfindungsgemäße programmgesteuerte Einheit mit den Merkmalen des Patenanspruchs 1 sowie das erfindungsgemäße Verfahren mit den Merkmalen des Patentanspruchs 11 weist gegenüber den obigen bekannten Lösungsansätzen den Vorteil auf, eine insbesondere hinsichtlich des Chipflächenbedarfes optimierte und vereinfachte Fehlerkorrektur bereitzustellen.
- Der Erfindung liegt die Erkenntnis zugrunde, dass für eine Fehlererkennung nicht der gesamte Mikrocontrollerkern redundant sein muss. Es reicht vielmehr völlig aus, dass lediglich die Ausführungseinheit, in der letztendlich die Rechenoperationen vorgenommen wird, redundant ist. Eine solche programmgesteuerte Einheit mit Fehlererkennung kommt damit im Vergleich zu dem obigen bekannten System mit sehr viel weniger Chipfläche aus, da auf das doppelte Vorsehen von Steuerwerk, Bussteuereinheit und Register, die innerhalb eines Mikrocontrollerkerns die größte Chipfläche einnehmen, verzichtet werden kann.
- Die der Erfindung zugrunde liegende Idee besteht somit in der Duplizierung lediglich der Ausführungseinheit des Mikrocontrollerkerns. Damit ist eine voll funktionsfähige Fehlererkennung möglich, wobei die restlichen Komponenten eines Mikrocontrollerkerns, wie zum Beispiel Steuerwerk und Bussteuereinheit, durch andere Fehlererkennungsmechanismen basierend auf Fehlererkennung- oder Fehlerkorrekturcodes abgesichert werden. Es lässt sich damit eine programmgesteuerte Einheit mit Fehlererkennungseinrichtung bereitstellen, die mit deutlich geringerer Chipfläche auskommt als herkömmliche programmgesteuerte Einheiten, die zur Fehlererkennung einen mit zwei Mikrocontrollerkernen ausgestatteten, sogenannten Dual-Core-Mikrocontroller aufweisen. Die Chipfläche der erfindungsgemäßen programmgesteuerten Einheit bzw. deren Fehlererkennungseinrichtung ist zwar größer als die Chipfläche von sogenannten Single-Core programmgesteuerten Einheiten, die also lediglich einen Mikrocontrollerkern und somit keine Fehlererkennungseinrichtung aufweisen. Jedoch ist die Chipfläche der erfindungsgemäßen programmgesteuerten Einheit bzw. deren Fehlererkennungseinrichtung gegenüber den Dual-Core-Mikrocontrollern signifikant reduziert.
- Der besondere Vorteil des erfindungsgemäßen Verfahrens bzw. der erfindungsgemäßen Anordnung besteht auch darin, dass ein Fehler innerhalb eines Taktzyklus erkannt werden kann und somit sehr schnell entsprechende Korrekturmaßnahmen eingeleitet werden können. Auf diese Weise ist die Leistungsfähigkeit des gesamten Systems nahezu unbeeinträchtigt.
- Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass neben der Erkennung eines Fehlers auch eine Fehlerqualifizierung möglich ist, dass heißt es kann bestimmt werden, an welchem Fehlerort innerhalb der programmgesteuerten Einheit der Fehler aufgetreten ist.
- Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfindung sind den Unteransprüchen sowie der Beschreibung unter Bezugnahme auf die Zeichnung entnehmbar.
- Die erfindungsgemäße programmgesteuerte Einheit weist einen ersten Betriebsmodus, nachfolgend als Normalbetrieb bezeichnet, und einen zweiten Betriebsmodus, nachfolgend als Testbetrieb bezeichnet, auf. Die programmgesteuerte Einheit weist einen einzigen Mikrocontrollerkern auf, der jedoch mit zwei Ausführungseinheiten ausgestattet ist. Unter einer Ausführungseinheiten ist z. B. eine aritnmetisch logische Einheit (ALU) zu verstehen, in der die eigentlichen Datenverarbeitungsfunktionen vorgenommen werden. Die Ausführungseinheit wird häufig auch als Rechenwerk oder Recheneinheit bezeichnet. Im Normalbetrieb können, müssen jedoch nicht notwendigerweise, die beiden Ausführungseinheiten Befehle parallel verarbeiten. Im Testbetrieb erfolgt die Fehlererkennung. Im Testbetrieb werden gleiche Befehle parallel in beide Ausführungseinheiten eingekoppelt. Aus dem Vergleich der beiden Ergebnisse kann somit das Vorhandensein eines Fehlers detektiert werden.
- Zu diesem Zweck ist eine Fehlererkennungseinrichtung vorgesehen, die im Testbetrieb eine Fehlererkennung und/oder eine Fehlerkorrektur vornimmt. Eine Korrektur eines in der Ausführungseinheit entdeckten Fehlers erfolgt nach Maßgabe einer Fehlerbehandlungsroutine (Fehlerkorrekturverfahren) durch Wiederholung eines entsprechenden Befehls. Hierzu sind je nach Beschaffenheit des Cores Schattenregister für die Eingangsregister notwendig.
- Zum Zwecke der Fehlerkorrektur weist die Fehlererkennungseinrichtung einen Kodierer auf, mittels dem Daten mit einem Fehlererkennungs- und/oder einem Fehlerkorrekturcode versehen werden. Dabei werden Ergebnisdaten, die in Folge der Berechnung ausgangsseitig an den Ausführungseinheiten abgreifbar sind, mit dem entsprechenden Fehlerkerkennungscode bzw. Fehlerkorrekturcode versehen.
- Eingangsseitig in die Ausführungseinheit eingekoppelte Daten werden typischerweise nicht mit einem Fehlererkennungs- und/oder Fehlerkonekturcode versehen. Es wird hier lediglich eine Prüfsumme der eingekoppelten Daten gebildet. Diese Prüfsumme wird mit den in den Registern abgelegten Prüfsummen verglichen und bei einer Verfälschung werden die Daten korrigiert und nochmals in die Ausführungseinheit eingekoppelt, jedoch ohne Prüfsumme.
- In einer ersten Ausgestaltung weist die Fehlererkennungseinrichtung eine erste Vergleichseinheit auf, die den beiden Ausführungseinheiten ausgangsseitig nachgeschaltet ist. Diese Vergleichseinheit vergleicht die von den Recheneinheiten berechneten Ergebnisdaten bzw. deren Fehlerkorrekturcodierung nach Maßgabe einer Fehlerbehandlungsroutine. Im Falle eines erkannten Fehlers, d. h. für den Fall, dass die Ergebnisdaten bzw. die Fehlerkorrekturcodierung nicht übereinstimmen, wird dies als Fehler erkannt und ein Fehlersignal ausgegeben.
- In einer weiteren Ausgestaltung weist die Fehlererkennungseinrichtung eine zweite Vergleichseinheit auf, die zumindest einer der Ausführungseinheiten eingangsseitig vorgeschaltet ist. Diese Vergleichseinheit vergleicht die einer jeweiligen Ausführungseinheit zugeführten Operanden bzw. deren Fehlerkorrekturcodierung nach Maßgabe einer Fehlerbehandlungsroutine. Bei Vorhandensein eines Fehlers, d. h. bei Abweichen der in der Vergleichseinheit miteinander verglichenen Eingangsdaten bzw. Fehlerkorrekturkodierung, wird dies als Fehler interpretiert, woraufhin ein Fehlersignal ausgegeben wird.
- In einer weiteren Ausgestaltung ist ein gemeinsames Datenregister, welches im Testbetriebsmodus beiden Ausführungseinheiten zugeordnet ist, vorgesehen. In dieses gemeinsame Datenregister lassen sich Daten, die beispielsweise über einen Bus den Ausführungseinheiten zugeführt werden sollen, ablegen.
- In einer weiteren Ausgestaltung kann ein Schattenregister vorgesehen sein, in dem die den jeweiligen Ausführungseinheiten im Testbetriebsmodus vor der Berechnung zuletzt zugeführten Eingangsdaten abgelegt sind. In einer sehr einfachen Ausgestaltung kann ein solches Schattenregister als einfaches FIFO ausgebildet sein. Dieses FIFO wird erst dann weitergeschaltet und kann damit wieder beschrieben werden, wenn der Vergleich innerhalb der Vergleichseinheiten ergibt, dass kein Fehler vorliegt.
- Hierfür ist vorteilhafterweise eine Steuereinrichtung vorgesehen, die eingangsseitig mit der Fehlererkennungseinrichtung und ausgangsseitig mit dem Schattenregister gekoppelt ist. Erkennt die Fehlererkennungseinrichtung, dass kein Fehler vorliegt, dann wird von der Steuereinrichtung ein Freigabesignal erzeugt, welches das Schattenregister zum erneuten Beschreiben wieder freigibt.
- Die erfindungsgemäße programmgesteuerte Einheit kann beispielsweise als Mikrokontroller, Mikroprozessor, Signalprozessor oder wie auch immer ausgestaltete Steuereinheit realisiert sein.
- In einem sehr vorteilhaften erfindungsgemäßen Verfahren werden die Eingangsdaten bzw. die berechneten Ergebnisdaten oder deren Fehlerkodierung miteinander verglichen. Ergibt dieser Vergleich, dass die Daten bzw. Codes nicht miteinander übereinstimmen, dann wird dies als Fehler interpretiert und es wird ein Fehlersignal erzeugt.
- In einer besonders vorteilhaften Ausgestaltung wird für jeden dieser Fehler ein eigenes Fehlersignal ausgegeben, so dass aus dem Fehlersignal eine Lokalisierung des Fehlerortes möglich ist. Es lassen sich damit verschiedene Fehlerarten voneinander unterscheiden. Beispielsweise kann so ein Fehler, der durch fehlerhafte Codierung auftritt, von einem Fehler, der aufgrund von über die Busleitungen eingekoppelten fehlerhaften Daten entsteht oder der innerhalb der Recheneinheit generiert wird, unterschieden werden. Damit ist in sehr vorteilhafter Weise neben einer Fehlerquantifizierung auch eine Fehlerqualifizierung möglich.
- In einer besonders vorteilhaften Ausgestaltung werden die eingangsseitig in die Recheneinheiten eingekoppelten Operanden zunächst beiden Ausführungseinheiten zugeführt. Erst anschließend wird aus diesen Eingangsdaten eine Prüfsumme (z.B. Parity, CRC, ECC) gebildet und den eingangsseitigen Vergleichern zugeführt. Damit wird das Datenverarbeitungssystem durch die eingangsseitige Fehlerkorrektur in seiner Leistungsfähigkeit nicht nennenswert beeinträchtigt.
- In einer Weiterbildung des erfindungsgemäßen Verfahrens werden die abgelegten Eingangsdaten der letzten Berechnung erst wieder neu beschrieben, wenn ein Vergleich innerhalb einer Fehlererkennungseinrichtung ergibt, dass kein Fehler vorliegt. Auf diese Weise wird gewährleistet, dass die ursprünglich eingekoppelten Daten bzw. deren Codierung auch bei einer fehlerhaften Berechnung in einer der Ausführungseinheiten bzw. bei einem Codierungsfehler nicht verloren gehen.
- Die Erfindung wird nachfolgend anhand der in den Figuren der Zeichnung angegebenen Ausführungsbeispiele näher erläutert. Es zeigt dabei:
-
1 ein erstes Funktionsschaltbild, anhand dessen die erfindungsgemäße programmgesteuerte Einheit sowie deren Betrieb beschrieben wird; -
2 ein zweites Funktionsschaltbild, anhand dessen die erfindungsgemäße programmgesteuerte Einheit sowie deren Betrieb näher beschrieben wird. - BESCHREIBUNG DER AUSFÜHRUNGSBEISPIELE
- In den Figuren der Zeichnung sind gleiche bzw. funktionsgleiche Elemente – sofern nichts anderes angegeben ist – mit gleichen Bezugszeichen versehen worden. Die erfindungsgemäße programmgesteuerte Einheit sowie deren Komponenten wie Mikrocontrollerkern (CPU), Speichereinheiten, Peripherieeinheiten, etc. sind der besseren Übersichtlichkeit halber in den
1 und2 nicht dargestellt worden. - In den
1 und2 sind mit den Bezugszeichen1 und2 jeweils arithmetisch logische Einheiten (ALU) bezeichnet. Eine jeweilige ALU-Einheit1 ,2 weist zwei Eingänge und einen Ausgang auf. In einem Testbetrieb können die zur Ausführung vorgesehenen Operanden direkt vom Bus3 in die Eingänge der ALU-Einheiten1 ,2 eingekoppelt werden (nicht dargestellt) oder vorher in einem eigens dafür vorgesehenen Operandenregister8 ,9 abgelegt sein. Diese Operandenregister8 ,9 sind direkt mit dem Datenbus3 gekoppelt. Die beiden ALU-Einheiten1 ,2 werden also aus den gleichen Operandenregistern8 ,9 versorgt. Zusätzlich kann vorgesehen sein, dass die jeweiligen Operanden über den Bus bereits mit einer ECC-Kodierung versehen sind, welche in den Registerbereichen8' ,9' abgelegt werden. - Bei Einkopplung der jeweiligen Operanden in die ALU-Einheiten
1 ,2 muss besonderer Wert auf die korrekte Dateneingabe gelegt werden. Werden z. B. die gleichen fehlerhaften Operanden in die beiden ALU-Einheiten1 ,2 eingekoppelt, ist ein Fehler am Ausgang der ALU-Einheiten1 ,2 nicht erkennbar. Es muss daher sichergestellt sein, dass zumindest eine der ALU-Einheiten1 ,2 einen korrekten Dateneingabewert erhält bzw. auch beide ALU-Einheiten1 ,2 unterschiedliche, jedoch falsche Dateneingabewerte erhalten. Dies wird dadurch sichergestellt, dass von zumindest einem Eingangswert einer ALU-Einheit1 ,2 eine Prüfsumme (z.B. Parity, CRC, ECC) gebildet wird. In einer eigens vorgesehenen Vergleichseinheit5 ,6 wird die ECC-Kodierung10' ,11' aus diesen zusätzlichen Datenregistern10 ,11 mit der ECC-Kodierung8' ,9' aus dem ursprünglichen Quellregister8 ,9 verglichen. Optional können auch die Eingangsdaten aus den Registern10 ,11 mit denen aus den Quellregistern8 ,9 verglichen werden (nicht dargestellt). Ergibt sich ein Unterschied in der ECC-Kodierung bzw. bei den Operanden, dann wird dies als Fehler interpretiert und es wird ein Fehlersignal ausgegeben. - Dieser Vergleich erfolgt vorteilhafterweise während der Bearbeitung der Operanden in den ALU-Einheiten
1 ,2 , so dass diese eingangsseitige Fehlererkennung und Fehlerkorrektur nahezu ohne Leistungsverlust einhergeht. Erkennt eine der Vergleichseinheiten5 ,6 einen Fehler, so kann die Berech nung innerhalb des nächsten Zyklus wiederholt werden. Dabei ist der Einsatz eines Schattenregisters empfehlenswert, um immer die Operanden der letzten Berechnung zu sichern, damit sie in einem Fehlerfall schnell wieder verfügbar sind. Auf die Bereitstellung eines Schattenregisters kann allerdings verzichtet werden, wenn die jeweiligen Operandenregister10 ,11 erst wieder durch ein Freigabesignal auf Grund des Nichtvorhandenseins eines Fehlers erneut beschrieben werden. Im Falle eines Fehlers liefern die Vergleichseinheiten5 ,6 ein Fehlersignal, wodurch die Operandenregister10 ,11 nicht erneut beschrieben werden. - Die ALU-Einheiten
1 ,2 erzeugen ausgangsseitig jeweils ein Ergebnis. Die von den ALU-Einheiten1 ,2 bereitgestellten Ergebnisdaten bzw. deren ECC-Kodierung werden in den Ergebnisregistern12 ,13 ,12' ,13' abgelegt. Diese Ergebnisdaten und/oder deren Kodierung werden in der Vergleichseinheit14 miteinander verglichen. Im Falle des Nichtvorhandenseins eines Fehlers wird ein Freigabesignal16 erzeugt. Dieses Freigabesignal16 wird in die Freigabeeinrichtung15 eingekoppelt, welche dazu zu veranlasst wird, die Ergebnisdaten auf einen Bus4 zu schreiben. Über den Bus4 können diese Ergebnisdaten dann weiter verarbeitet werden. - Das Freigabesignal
16 kann ferner dazu genutzt werden, die Register8–11 wieder freizuschalten, so dass die nächsten Operanden von dem Bus3 ausgelesen werden können und in den ALU-Einheiten1 ,2 verarbeitet werden können. - Mit der Anordnung in
1 wird das Ergebnis nicht überprüft. Hier werden lediglich die Ergebnisdaten in der Vergleichseinheit14 miteinander verglichen. Eine Überprüfung der ECC-Kodierung der Ergebnisdaten wird erst durch die Anordnung in2 möglich, bei der sowohl die Ergebnisdaten, als auch deren ECC-Codierung miteinander in der Vergleichseinheit14 verglichen werden. - Mit der in den
1 und2 angegebenen Fehlererkennungsanordnung werden alle transienten Fehler, permanenten Fehler und auch Laufzeitfehler erkannt. Laufzeitfehler innerhalb einer ALU-Einheit1 ,2 werden erkannt, wenn das Ergebnis nicht oder zu spät zu der Vergleichseinheit12 gelangt und somit ein Vergleich mit einem Teilergebnis erfolgt. Durch die Absicherung der Operandenregister8 ,9 ,10 ,11 mit Fehlererkennungs- und Fehlerkonekturcode und dem Vergleich der Endergebnisse ist der jeweilige Fehlerort und Fehlerzeitpunkt genau zu lokalisieren. Somit kann auf eine transiente Störung sehr schnell reagiert werden. - Es ergeben sich somit die folgenden Möglichkeiten der Fehlerlokalisierung:
- – Ergibt
ein Vergleich der Ergebnisdaten in der Vergleichseinheit
14 einen Unterschied, dann kann auf einen Fehler innerhalb einer der ALU-Einheiten1 ,2 geschlossen werden. - – Ergibt
ein Vergleich der ECC-Kodierung in einer der Vergleichseinheiten
5 ,6 einen Unterschied, dann kann auf ein fehlerhaftes Signal von dem Bus3 bzw. vorgeschalteten Komponenten geschlossen werden. - – Ergibt
ein Vergleich der ECC-Kodierung in der Vergleichseinheit
14 einen Unterschied, dann kann auf eine fehlerhafte Kodierung des Ergebnisses geschlossen werden. - Obwohl die vorliegende Erfindung vorstehend anhand eines bevorzugten Ausführungsbeispiels beschreiben wurde, ist sie darauf nicht beschränkt, sondern auf vielfältige dem Fachmann bekannte Art und Weise modifizierbar.
Claims (15)
- Programmgesteuerte Einheit, mit einem einzigen Kontrollerkern (Core), der eine erste und zumindest eine zweite Ausführungseinheit (
1 ,2 ) aufweist, die in einem ersten Betriebsmodus unabhängig voneinander betreibbar sind und die in einem zweiten Betriebsmodus parallel die gleichen Befehle abarbeiten. - Programmgesteuerte Einheit nach Anspruch 1, dadurch gekennzeichnet, dass eine Fehlererkennungseinrichtung (
5 ,6 ,10 ,11 ,14 ) vorgesehen ist, die in dem zweiten Betriebsmodus nach Maßgabe einer Fehlerbehandlungsroutine eine Fehlererkennung und/oder Fehlerkorrektur vornimmt. - Programmgesteuerte Einheit nach Anspruch 2, dadurch gekennzeichnet, dass die Fehlererkennungseinrichtung (
5 ,6 ,10' ,11' ,13' ,14 ) einen Kodierer (10' ,11' ,13' ) aufweist, der den Ausführungseinheiten (1 ,2 ) eingangsseitig zugeführte Eingangsdaten und/oder von einer jeweiligen Ausführungseinheit berechnete Ausgangssignale mit einem Fehlererkennungscode und/oder mit einem Fehlerkorrekturcode versieht. - Programmgesteuerte Einheit nach einem der Ansprüche 2 oder 3, dadurch gekennzeichnet, dass die Fehlererkennungseinrichtung (
5 ,6 ,10 ,11 ,14 ) den beiden Ausführungseinheiten ausgangsseitig nachgeschaltete Vergleichseinheit (14 ) enthält, die von den Ausführungseinheiten (1 ,2 ) berechnete Ergebnisdaten und/oder deren Fehlerkorrekturcodierung nach Maßgabe einer Fehlerbehandlungsroutine auf das Vorhandensein eines Fehlers vergleicht und bei Vorhandensein eines Fehlers ein Fehlersignal ausgibt. - Programmgesteuerte Einheit nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, dass die Fehlererkennungseinrichtung (
5 ,6 ,10 ,11 ,14 ) zumindest eine zweite, zumindest einer Ausführungseinheit (1 ,2 ) eingangsseitig vorgeschaltete Vergleichseinheit enthält, die einer jeweiligen Ausführungseinheit eingangsseitig zugeführte Eingangsdaten mit den mit einer Prüfsumme (z.B. Parity, CRC, ECC) versehenen Eingangsdaten nach Maßgabe einer Fehlerdetektierroutine auf das Vorhandensein eines Fehlers vergleicht und bei Vorhandensein eines Fehlers ein Fehlersignal ausgibt. - Programmgesteuerte Einheit nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass zumindest ein Datenregister (
8 ,9 ) vorgesehen ist, welches zumindest einer der Ausführungseinheiten (1 ,2 ) zugeordnet ist, welches ausgangsseitig sowohl mit den Eingängen der Ausführungseinheiten (1 ,2 ) und den diesen vorgeschalteten Vergleichseinheit (5 ,6 ) verbunden ist und in welchem die Eingangsdaten für die Ausführungseinheiten (1 ,2 ) ablegbar sind. - Programmgesteuerte Einheit nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass ein Schattenregister vorgesehen ist, in dem die den Ausführungseinheiten (
1 ,2 ) vor der Berechnung in den Ausführungseinheiten zuletzt zugeführten Eingangsdaten abgelegt sind. - Programmgesteuerte Einheit nach Anspruch 7, dadurch gekennzeichnet, dass das Schattenregister als FIFO ausgebildet ist.
- Programmgesteuerte Einheit nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass eine eingangsseitig mit der Fehlererkennungseinrichtung (
5 ,6 ,10 ,11 ,14 ) und ausgangsseitig mit dem Schattenregister gekoppelte Steuereinrichtung vorgesehen ist, die ein Freigabesignal erzeugt und damit das Schattenregister erst dann freigibt, wenn von der Fehlererkennungseinrichtung (5 ,6 ,10 ,11 ,14 ) kein Fehler erkannt wird. - Programmgesteuerte Einheit nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die programmgesteuerte Einheit als Mikrocontroller oder Mikroprozessor ausgebildet ist.
- Verfahren zum Bertreiben einer programmgesteuerten Einheit nach einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Eingangsdaten und/oder die berechneten Ergebnisdaten und/oder deren Fehlercodierung miteinander verglichen werden und bei Nichtübereinstimmung des Ergebnisses des Vergleichs ein Fehlersignal erzeugt wird.
- Verfahren nach Anspruch 11, dadurch gekennzeichnet, dass für jede Fehlerart ein eigenes Fehlersignal ausgegeben wird.
- Verfahren nach einem der Ansprüche 11 bis 12, dadurch gekennzeichnet, dass die Eingangsdaten zunächst beiden Ausführungseinheiten (
1 ,2 ) zugeführt werden und im Anschluß daran aus den Eingangsdaten der Fehlerkorrekturcode gebildet wird. - Verfahren nach einem der Ansprüche 11 bis 13, dadurch gekennzeichnet, dass die abgelegten Eingangsdaten der letzten Berechnung erst wieder neu beschrieben werden, wenn ein Vergleich dieser Eingangsdaten oder der aus diesen Eingangsdaten berechneten Ergebnisdaten zu keinem Fehlersignal führt.
- Verfahren nach einem der Ansprüche 11 bis 14, dadurch gekennzeichnet, dass die Ergebnisdaten erst bei Nichtvorhandensein eines Fehlersignals auf den Bus gelegt werden.
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10317650A DE10317650A1 (de) | 2003-04-17 | 2003-04-17 | Programmgesteuerte Einheit und Verfahren |
PCT/EP2004/050465 WO2004092972A2 (de) | 2003-04-17 | 2004-04-07 | Programmgesteuerte einheit und verfahren |
CNA2004800102781A CN1774702A (zh) | 2003-04-17 | 2004-04-07 | 程控单元及方法 |
US10/553,506 US20070067677A1 (en) | 2003-04-17 | 2004-04-07 | Program-controlled unit and method |
EP04741455A EP1618476A2 (de) | 2003-04-17 | 2004-04-07 | Programmgesteuerte einheit und verfahren |
KR1020057019528A KR20050121729A (ko) | 2003-04-17 | 2004-04-07 | 프로그램 제어식 유닛 및 방법 |
JP2006500122A JP2006523868A (ja) | 2003-04-17 | 2004-04-07 | プログラム制御されるユニットおよび方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10317650A DE10317650A1 (de) | 2003-04-17 | 2003-04-17 | Programmgesteuerte Einheit und Verfahren |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10317650A1 true DE10317650A1 (de) | 2004-11-04 |
Family
ID=33103475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10317650A Withdrawn DE10317650A1 (de) | 2003-04-17 | 2003-04-17 | Programmgesteuerte Einheit und Verfahren |
Country Status (7)
Country | Link |
---|---|
US (1) | US20070067677A1 (de) |
EP (1) | EP1618476A2 (de) |
JP (1) | JP2006523868A (de) |
KR (1) | KR20050121729A (de) |
CN (1) | CN1774702A (de) |
DE (1) | DE10317650A1 (de) |
WO (1) | WO2004092972A2 (de) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1496435A1 (de) * | 2003-07-11 | 2005-01-12 | Yogitech Spa | Gesicherte Mikrokontroller, Verfahren zum Entwurf eines gesichertes Mikrokontrollers, und Computerprogrammprodukt dafür |
DE10349581A1 (de) * | 2003-10-24 | 2005-05-25 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit |
JP2008282178A (ja) * | 2007-05-09 | 2008-11-20 | Toshiba Corp | 産業用コントローラ |
KR101543245B1 (ko) * | 2009-03-18 | 2015-08-11 | 삼성전자주식회사 | 에러 교정 장치와 이를 포함하는 메모리 장치와 데이터 처리 시스템 |
US8156368B2 (en) | 2010-02-22 | 2012-04-10 | International Business Machines Corporation | Rebuilding lost data in a distributed redundancy data storage system |
US8583866B2 (en) | 2010-02-22 | 2013-11-12 | International Business Machines Corporation | Full-stripe-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
US8103903B2 (en) * | 2010-02-22 | 2012-01-24 | International Business Machines Corporation | Read-modify-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
US8103904B2 (en) * | 2010-02-22 | 2012-01-24 | International Business Machines Corporation | Read-other protocol for maintaining parity coherency in a write-back distributed redundancy data storage system |
JP5699057B2 (ja) * | 2011-08-24 | 2015-04-08 | 株式会社日立製作所 | プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス |
DE102013224694A1 (de) * | 2013-12-03 | 2015-06-03 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Ermitteln eines Gradienten eines datenbasierten Funktionsmodells |
JP2020061124A (ja) * | 2018-10-05 | 2020-04-16 | 富士通株式会社 | 並列処理装置及び演算処理方法 |
CN114063592A (zh) * | 2020-08-05 | 2022-02-18 | 中国科学院沈阳自动化研究所 | 一种基于时间冗余的安全仪表控制单元故障诊断方法 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59212955A (ja) * | 1983-05-18 | 1984-12-01 | Fujitsu Ltd | 情報処理装置 |
JPS63214856A (ja) * | 1987-03-03 | 1988-09-07 | Fujitsu Ltd | デ−タ処理装置のデ−タ保護制御方式 |
JPH0833842B2 (ja) * | 1987-05-01 | 1996-03-29 | 株式会社日立製作所 | 論理演算装置 |
US5043990A (en) * | 1987-12-04 | 1991-08-27 | Hitachi, Ltd. | Semiconductor integrated circuit device |
JP3135543B2 (ja) * | 1987-12-04 | 2001-02-19 | 株式会社日立製作所 | 半導体集積回路装置 |
JPH07129426A (ja) * | 1993-10-29 | 1995-05-19 | Hitachi Ltd | 障害処理方式 |
JPH07129427A (ja) * | 1993-11-01 | 1995-05-19 | Fujitsu Ltd | Eccコードによるデータの比較チェック方法 |
US5504859A (en) * | 1993-11-09 | 1996-04-02 | International Business Machines Corporation | Data processor with enhanced error recovery |
JPH07262148A (ja) * | 1994-03-22 | 1995-10-13 | Nec Corp | コンピュータシステム |
US5633710A (en) * | 1995-10-04 | 1997-05-27 | Egs Inc. | System for self-aligning vehicle headlamps |
US5915082A (en) * | 1996-06-07 | 1999-06-22 | Lockheed Martin Corporation | Error detection and fault isolation for lockstep processor systems |
US6625756B1 (en) * | 1997-12-19 | 2003-09-23 | Intel Corporation | Replay mechanism for soft error recovery |
JP2001134769A (ja) * | 1999-11-04 | 2001-05-18 | Honda Motor Co Ltd | 対象物認識装置 |
US6640313B1 (en) * | 1999-12-21 | 2003-10-28 | Intel Corporation | Microprocessor with high-reliability operating mode |
US6625749B1 (en) * | 1999-12-21 | 2003-09-23 | Intel Corporation | Firmware mechanism for correcting soft errors |
JP2001297038A (ja) * | 2000-04-11 | 2001-10-26 | Toshiba Corp | データ記憶装置および記録媒体並びに記録媒体制御方法 |
US6820213B1 (en) * | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US20020067413A1 (en) * | 2000-12-04 | 2002-06-06 | Mcnamara Dennis Patrick | Vehicle night vision system |
GB2390442B (en) * | 2002-03-19 | 2004-08-25 | Sun Microsystems Inc | Fault tolerant computer system |
US7003691B2 (en) * | 2002-06-28 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Method and apparatus for seeding differences in lock-stepped processors |
-
2003
- 2003-04-17 DE DE10317650A patent/DE10317650A1/de not_active Withdrawn
-
2004
- 2004-04-07 WO PCT/EP2004/050465 patent/WO2004092972A2/de active Application Filing
- 2004-04-07 EP EP04741455A patent/EP1618476A2/de not_active Withdrawn
- 2004-04-07 CN CNA2004800102781A patent/CN1774702A/zh active Pending
- 2004-04-07 KR KR1020057019528A patent/KR20050121729A/ko not_active Application Discontinuation
- 2004-04-07 JP JP2006500122A patent/JP2006523868A/ja active Pending
- 2004-04-07 US US10/553,506 patent/US20070067677A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20070067677A1 (en) | 2007-03-22 |
WO2004092972A3 (de) | 2005-01-13 |
CN1774702A (zh) | 2006-05-17 |
KR20050121729A (ko) | 2005-12-27 |
JP2006523868A (ja) | 2006-10-19 |
WO2004092972A2 (de) | 2004-10-28 |
EP1618476A2 (de) | 2006-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1917592B1 (de) | Rechnersystems mit wenigstens zwei ausführungseinheiten und einer vergleichseinheit sowie verfahren zu dessen steuerung | |
EP1810145B1 (de) | Verfahren und vorrichtung zur synchronisierung in einem mehrprozessorsystem | |
WO2007057271A1 (de) | Vorrichtung und verfahren zum beheben von fehlern bei einem wenigstens zwei ausführungseinheiten mit registern aufweisenden system | |
DE10349581A1 (de) | Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit | |
DE10317650A1 (de) | Programmgesteuerte Einheit und Verfahren | |
EP1955164A1 (de) | Programmgesteuerte einheit und verfahren zum betreiben derselbigen | |
DE102005037217A1 (de) | Verfahren und Vorrichtung zum Vergleich von Daten bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten | |
WO2006015964A2 (de) | Verfahren zur verzögerung von zugriffen auf daten und/oder befehle eines zweirechnersystems sowie entsprechende verzögerungseinheit | |
WO2005045665A1 (de) | Verfahren und vorrichtung zur operandenverarbeitung in einer prozessoreinheit | |
DE102008024193A1 (de) | System mit konfigurierbaren Funktionseinheiten und Verfahren | |
EP1776636A2 (de) | Verfahren zum registrieren von fehlern und entsprechendes register | |
DE102004037713A1 (de) | Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms | |
EP2228723B1 (de) | Verfahren zur Fehlerbehandlung eines Rechnersystems | |
DE102004051991A1 (de) | Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms | |
DE102004051952A1 (de) | Verfahren zur Datenverteilung und Datenverteilungseinheit in einem Mehrprozessorsystem | |
DE102005037245A1 (de) | Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten | |
DE102004051937A1 (de) | Verfahren und Vorrichtung zur Synchronisierung in einem Mehrprozessorsystem | |
DE102004051967A1 (de) | Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms | |
DE102010031017A1 (de) | Verfahren zur Überwachung des Programmablaufs eines Prozessors | |
DE102004051964A1 (de) | Verfahren und Vorrichtung zur Überwachung einer Speichereinheit in einem Mehrprozessorsystem | |
DE10317651A1 (de) | Verfahren und Vorrichtung zum Vergleichen von binären Datenworten | |
DE102015114233A1 (de) | Datenverarbeitungsvorrichtungen und Verfahren zum Speichern eines Datenvektors | |
DE102005037260A1 (de) | Verfahren und Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten mittels Bitinformationen in einem Register | |
DE2138157B2 (de) | Einrichtung zur fehlerdiagnose | |
DE102005059592A1 (de) | Datenverarbeitungseinrichtung mit mehreren Ausführungseinheiten und Betriebsverfahren dafür |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |