EP1915688A1 - Verfahren und vorrichtung zur datenverarbeitung - Google Patents

Verfahren und vorrichtung zur datenverarbeitung

Info

Publication number
EP1915688A1
EP1915688A1 EP06777981A EP06777981A EP1915688A1 EP 1915688 A1 EP1915688 A1 EP 1915688A1 EP 06777981 A EP06777981 A EP 06777981A EP 06777981 A EP06777981 A EP 06777981A EP 1915688 A1 EP1915688 A1 EP 1915688A1
Authority
EP
European Patent Office
Prior art keywords
execution units
comparison means
output signals
comparison
identifier
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.)
Ceased
Application number
EP06777981A
Other languages
English (en)
French (fr)
Inventor
Wolfgang Pfeiffer
Reinhard Weiberle
Bernd Mueller
Florian Hartwich
Werner Harter
Ralf Angerbauer
Eberhard Boehl
Thomas Kottke
Yorck Collani
Rainer Gmehlich
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of EP1915688A1 publication Critical patent/EP1915688A1/de
Ceased 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/30181Instruction operation extension or modification
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/845Systems in which the redundancy can be transformed in increased performance

Definitions

  • Dual-core ⁇ C architectures are already in use at various locations or their use is planned. In principle, two variants can be distinguished.
  • the two cores work largely independently of each other. In particular, they handle different tasks at the same time and can thus represent a higher computing power. This concept has been announced and used by various semiconductor manufacturers and is considered one of the most important performance enhancements of the future.
  • Multi-core architectures are discussed in many scientific publications, mainly on the aspect of parallelizability (performance gain).
  • the object of the invention is to interconnect the existing execution units in a multiprocessor system in such a way that both error detection tasks and tasks designed for performance can be performed. It is advantageous in the present invention that both tasks can be performed on the same computer system, the high error demand recognition characteristics of the computer system, as well as tasks that make high performance demands.
  • a device for data processing with at least three identical or similar execution units is included, characterized in that at least one comparison means is present and at least two execution units are grouped so that the output signals of the at least two execution units are connected to the at least one comparison means.
  • a device is included, characterized in that the comparison means are designed in such a way that they form an output signal according to a predefinable rule from the output signals of the execution units.
  • a device is included, characterized in that the comparison means are designed such that they generate at least one error information depending on the comparison result
  • a device is advantageously included, characterized in that the comparison means are designed such that they output at least one status signal as a function of the result of the comparison.
  • a device is advantageously included, characterized in that the comparison means are designed such that they output at least one status signal depending on the result of the comparison and this signal contains a first identifier.
  • a device is advantageously included, characterized in that the comparison means are designed such that they output at least one status signal depending on the comparison result and this signal contains a first identifier and is decided depending on this first identifier on the further processing of the output signals.
  • a device is advantageously included, characterized in that means are provided which distribute the data processing tasks to be processed as a function of a second identifier of these data processing tasks to the execution units or groups of execution units contained.
  • a method for data processing in a device having at least three identical or similar execution units and at least one comparison means is described, characterized in that the output signals of at least two execution units are compared by means of comparison.
  • the at least one comparison means forms an output signal according to a prescribable specification from the output signals of the at least two execution units.
  • Comparison means generates at least one error information depending on the comparison result of the output signals of the at least two execution units.
  • the at least one comparison means outputs at least one status signal as a function of the comparison result of the output signals of the at least two execution units.
  • the at least one comparison means generates at least one status signal as a function of the comparison result of the output signals of the at least two execution units, and this signal is a first one
  • a method is described, characterized in that the first identifier of the status signal is formed depending on the error information of the comparison means or contains these
  • Status signal is formed depending on the prescribable rule for generating the output signals of the at least one comparison means or contains.
  • a method is described, characterized in that the at least one comparison means depending on the comparison result of the output signals of the at least two execution units generates at least one status signal and this signal contains a first identifier and is decided depending on this identifier on the further processing of the output signals.
  • Data processing tasks depending on a second identifier of these data processing tasks are distributed to the at least three execution units or groups of execution units.
  • FIG. 1 shows a multiprocessor system with three execution units
  • FIG. 2 shows a multiprocessor system with four execution units
  • FIG. 3 shows a multiprocessor system with four execution units
  • FIG. 4 shows a multiprocessor system with five execution units
  • An execution unit may in the following designate both a processor / core / CPU and an FPU (floating point unit), a DSP (digital signal processor), a coprocessor or an ALU (arithmetic logical unit).
  • the present invention addresses multiprocessor systems having at least three execution units.
  • the execution units are interconnected in such a way that tasks can be processed which include a strong error detection, an error tolerance by the executing hardware units as well as tasks which mainly require performance requirements or require no error detection or fault tolerance.
  • the pending tasks can be distributed to the various execution units according to their requirements.
  • the distribution to the different execution units can be done statically as well as during operation.
  • an identifier can be given to the tasks or operating system objects which indicates which request they make to error detection or fault tolerance.
  • an operating system can then distribute the tasks to the respective execution units available.
  • the output B 135 is the output signal of the comparator, to which in the case of a valid comparison of one of the two signals Bl I l or B 121 is connected. In case of a detected inequality between Bl I l and B121, the output B135 is disabled, disabled or disabled.
  • a monovalent or multivalued status signal B210 can be output. In the following, also for the further exemplary embodiments, a polyvalent status signal is always spoken, this also includes the case where the status signal can be monovalent.
  • the execution unit B 140 supplies the output signal B 141 without comparison and without any other validity check.
  • FIG. 2 shows an embodiment of a multiprocessor system C202 with 4 execution units C1 10, C120, C140 and C150. Two tasks, tasks or processes can be processed simultaneously with this multiprocessor system, the processing of the input signals C129 to the output signals C135, and from C139 to C165.
  • the generation of the signal Cl 35 is analogous to the signal B 135 shown in Figure 1 in a valid comparison of Cl 11 and C 121.
  • the multi-valued status signal C220 indicates a deviation of these two signals.
  • the second part of the multiprocessor system is analogously constructed with the input signals C139 and the output signals C141 and C151 of the two execution units C 140 and C 150.
  • the comparison unit Cl 60 supplies a valid output signal C165 only in the case of equality of the signals C141 and C151.
  • the status is indicated by the multi-valued signal C230.
  • the processing of all tasks is equivalent because both the execution units Cl 10 and C 120 and the execution units C 140 and C 150 have the same degree of error detection.
  • FIG. 3 shows a further embodiment of a multiprocessor system D203 with 4 execution units D110, D120, D140 and D150, which simultaneously only processes the tasks, tasks or processes pending for processing at the input signal D109 to the output signal Dl 36 performs.
  • the signals D111, D121, D141 and D1 51 are compared with each other in the comparison unit D131.
  • a simple comparison of the output signals can be carried out or by means of a predefinable algorithm.
  • this can be a majority vote, ie voting, an average value can be formed between the signals, or a predeterminable deviation between the signals can be tolerated.
  • This output value obtained by the prescribable algorithm is then output to Dl 36.
  • D240 denotes a multivalued status signal which can indicate not only an error but also the type of deviation, such as the number of the same signals or the degree of deviation. If no correct output signal in the sense of the algorithm can be output by the given algorithm, this can also be output via the multi-valued status signal D240. The output signal can then be deactivated, interrupted or ignored.
  • FIG. 4 shows an embodiment of a multiprocessor system E204 with 5 execution units E100, El10, E120, E140 and E150. Of these, 3 execution units ElOO, El 10 and E120 are permanently connected to a comparison of the input signal E169.
  • the comparison algorithm for the input signals ElOl, ElI 1 and El 21 is used for comparison. default E132.
  • the result is output on the output signal E137 and a multivalued status signal is output to E250.
  • the execution units E 140 and El 50 process parallel to each of the input signals E149 and El 59 and thus generate the output signals E141 and E151 without comparison.

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)
  • Hardware Redundancy (AREA)
  • Microcomputers (AREA)

Abstract

Verfahren und Vorrichtung zur Datenverarbeitung mit wenigstens drei gleichen oder gleichartigen Ausführungseinheiten, dadurch gekennzeichnet, dass wenigstens ein Vergleichsmittel vorhanden ist und wenigstens zwei Ausführungseinheiten so gruppiert sind, dass die Ausgangssignale der wenigstens zwei Ausführungseinheiten mit dem wenigstens einen Vergleichsmittel verbunden sind und verglichen werden.

Description

Verfahren und Vorrichtung zur Datenverarbeitung
Stand der Technik
Dual Core μC-Architekturen werden heute schon an verschiedenen Stellen eingesetzt oder ihr Einsatz ist geplant. Prinzipiell lassen sich dabei zwei Varianten unterscheiden.
Einsatz im Lockstep Modus: Dieser ist hauptsächlich für Anwendungen mit hohen Fehlererkennungsanforderungen, z. B. sicherheitsrelevante Anwendungen, gedacht. Beide Cores bearbeiten zeitgleich die gleiche Aufgabe. Eine Vergleichseinheit prüft, ob die beiden Ergebnisse gleich sind und leitet im „Gut"-Fall das Ergebnis weiter. Im Fehlerfall wird ein Fehlersignal erzeugt.
Einsatz in einem Performanzmodus: In diesem Fall arbeiten die beiden Cores weitgehend unabhängig voneinander. Insbesondere bearbeiten sie verschiedene Aufgaben zur gleichen Zeit und können damit eine höhere Rechenleistung darstellen. Dieses Konzept ist von verschiedenen Halbleiterherstellern angekündigt und eingesetzt und gilt als eines der wesentlichen Perfor- manzsteigerungsmittel der Zukunft.
Multi Core Architekturen werden in vielen wissenschaftlichen Publikationen, hauptsächlich ιn- ter dem Aspekt der Parallelisierbarkeit (Performanzgewinn) diskutiert.
Bei sinkenden Kosten für einzelne Cores ist es auch bei sehr kostenempfindlichen Anwendungen möglich, deutlich mehr als zwei Cores auf einem Prozessor zu integrieren.
Vorteile der Erfindung
Aufgabe der Erfindung ist es in einem Multiprozessorsystem die vorhandenen Ausführungseinheiten so zu verschalten, dass sowohl Fehlererkennungsaufgaben als auch auf Performanz ausgelegte Aufgaben ausgeführt werden können. Vorteilhaft ist in der vorliegenden Erfindung, dass auf dem gleichen Rechnersystem sowohl Aufgaben ausgeführt werden können die hohe Fehler- erkennungseigenschaften des Rechnersystems fordern, als auch Aufgaben die hohe Performare- anforderungen stellen.
Mit fortschreitendem Technologieniveau wird der Aufwand für eine Verarbeitungseinheit im Vergleich zu einem Speicher immer geringer. Hne Bereitstellung von mehreren Cores ist deshalb technisch sinnvoll und wird auch schon in der Praxis genutzt, aber bisher insbesondere mit dem Wunsch nach höherer Performanz. Die hier vorgestellten Strukturen bieten mehrere fest verschaltete Konfigurationen, die je nach Erfordernis für verschiedene Aufgaben eingesetzt werden können.
Vorteilhaft ist eine Vorrichtung zur Datenverarbeitung mit wenigstens drei gleichen oder gleichartigen Ausführungseinheiten enthalten, dadurch gekennzeichnet, dass wenigstens ein Vergleichsmittel vorhanden ist und wenigstens zwei Ausführungseinheiten so gruppiert sind, dass die Ausgangssignale der wenigstens zwei Ausführungseinheiten mit dem wenigstens einen Vergleichsmittel verbunden sind..
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese aus den Ausgangssignalen der Ausführungseinheiten ein Ausgangssignal nach einer vorgebbaren Vorschrift bilden.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens eine Fehlerinformation erzeugen
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens ein Statussignal ausgeben.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens ein Statussignal ausgeben und dieses Signal eine erste Kennung enthält. Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens ein Statussignal ausgeben und dieses Signal eine erste Kennung enthält und abhängig von dieser ersten Kennung über die weitere Verarbeitung der Ausgangssignale entschieden wird.
Vorteilhaft ist eine Vorrichtung enthalten, dadurch gekennzeichnet, dass Mittel vorhanden sind, die die zu bearbeitenden Datenverarbeitungsaufgaben abhängig von einer zweiten Kennung dieser Datenverarbeitungsaufgaben auf die enthaltenen Ausführungseinheiten oder Gruppen von Ausführungseinheiten verteilen.
Vorteilhaft ist ein Verfahren zur Datenverarbeitung in einer Vorrichtung mit wenigstens drei gleichen oder gleichartigen Ausführungseinheiten und wenigstens einem Vergleichsmittel beschrieben, dadurch gekennzeichnet, dass die Ausgangssignale von wenigstens zwei Ausführungseinheiten mittels Vergleichsmittel verglichen werden.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel aus den Ausgangssignalen der wenigstens zwei Ausführungseinheiten ein Ausgangssignal nach einer vorgebbaren Vorschrift bildet.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass das wenigstens eine
Vergleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigstens zwei Ausführungseinheiten mindestens eine Fehlerinformation erzeugt.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigstens zwei Ausfiihrungseinheiten mindestens ein Statussignal ausgibt.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigsten zwei Ausführungseinheiten mindestens ein Statussignal erzeugt und dieses Signal eine erste
Kennung enthält. Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die erste Kennung des Statussignals abhängig von der Fehlerinformation des Vergleichsmittels gebildet wird oder diese enthält
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die erste Kennung des
Statussignals abhängig von der vorgebbaren Vorschrift zur Erzeugung der Ausgangssignale des wenigstens einen Vergleichsmittels gebildet wird oder diese enthält.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigstens zwei Ausführungseinheiten mindestens ein Statussignal erzeugt und dieses Signal eine erste Kennung enthält und abhängig von dieser Kennung über die weitere Verarbeitung der Ausgangssignale entschieden wird.
Vorteilhaft ist ein Verfahren beschrieben, dadurch gekennzeichnet, dass die zu bearbeitenden
Datenverarbeitungsaufgaben abhängig von einer zweiten Kennung dieser Datenverarbeitungsaufgaben auf die wenigstens drei Ausführungseinheiten oder Gruppen von Ausführungseinheiten verteilt werden.
Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie der Beschreibung.
Figuren
Figur 1 zeigt ein Multiprozessorsystem mit drei Ausführungseinheiten
Figur 2 zeigt ein Multiprozessorsystem mit vier Ausführungseinheiten
Figur 3 zeigt ein Multiprozessorsystem mit vier Ausführungseinheiten
Figur 4 zeigt ein Multiprozessorsystem mit fünf Ausführungseinheiten
Beschreibung der Ausführungsbeispiele Eine Ausfiihrungseinheit kann im Folgenden sowohl einen Prozessor/Core/CPU, als auch eine FPU (Floating Point Unit), einen DSP (Digitaler Signalprozessor), einen Coprozessor oder eine ALU (Arithmetic logical Unit) bezeichnen.
Die vorliegende Erfindung behandelt Multiprozessorsysteme mit mindestens drei Ausführungseinheiten. Dabei sind die Ausführungseinheiten so verschaltet, dass sowohl Aufgaben bearbeitet werden können die eine starke Fehlererkennung, eine Fehlertoleranz durch die ausführenden Hardwareeinheiten als auch Aufgaben die hauptsächlich Anforderungen an die Performanz std- len bzw. keine Fehlererkennung oder Fehlertoleranz erfordern. In diesem Multiprozessorsystem können die anstehenden Aufgaben, entsprechend ihren Anforderungen, dabei auf die verschiedenen Ausführungseinheiten verteilt werden. Die Verteilung auf die verschiedenen Ausführungseinheiten kann dabei statisch erfolgen als auch im Betrieb. Dazu kann den Aufgaben oder Betriebssystemobjekten eine Kennung mitgegeben werden die anzeigt welche Anforderung sie an die Fehlererkennung oder Fehlertolerierung stellen. In diesem Fall kann dann einBetriebs- System die Aufgaben auf die jeweils zur Verfügung stehenden Ausführungseinheiten verteilen.
In Figur 1 eine Ausführungsform eines Multiprozessorsystem B201 mit drei Ausführungseinheiten Bl 10, Bl 20 und B 140 dargestellt, wobei BIlO und B 120 in einem Vergleichsmodus arbeiten und ihre Ausgänge Bl I l und B121 in einem Vergleicher B130 miteinander verglichen werden. Der Ausgang B 135 ist das Ausgangssignal des Vergleichers, auf das im Falle eines gültigen Vergleichs eines der beiden Signale Bl I l bzw. B 121 geschaltet ist. Im Falle einer erkannten Ungleichheit zwischen Bl I l und B121 wird der Ausgang B135 gesperrt, deaktiviert oder inaktiv geschaltet. Zusätzlich kann ein ein- oder mehrwertiges Statussignal B210 ausgegeben werden. Im Folgenden auch für die weiteren Ausführungsbeispiele wird immer von einem mehrwertigen Statussignal gesprochen, dies beinhaltet auch den Fall, dass das Statussignal einwertig sein kann. Die Ausführungseinheit B 140 liefert das Ausgangssignal B 141 ohne Vergleich und ohne eine sonstige Prüfung auf Gültigkeit.
Das Multiprozessorsystem ist damit in der Lage, je nach Verteilung der Aufgaben, Task oder Prozesse auf die Eingangssignale B 119 oder B 149 und damit auf die angeschlossenen Ausführungseinheiten die entsprechenden Ausgangssignale B210 bzw. B141 in einer redundanten oder einer nichtredundanten Art und Weise zu generieren. Die Zuteilung erfolgt dabei in der beschriebenen Art und Weise statisch oder dynamisch. In der Figur 2 ist eine Ausfiihrungsform eines Multiprozessorsystem C202 mit 4 Ausführungseinheiten Cl 10, C120, C140 und C150 dargestellt. Zwei Aufgaben, Tasks oder Prozesse können mit diesem Multiprozessorsystem gleichzeitig bearbeitet werden, die Verarbeitung der Eingangssignale C129 zu den Ausgangssignalen C135, und von C139 zu C165. Die Erzeugung des Signals Cl 35 erfolgt analog dem Signal B 135 dargestellt in Figur 1 bei einem gültigen Vergleich von Cl 11 und C 121. Das mehrwertige Statussignal C220 zeigt eine Abweichung dieser beiden Signale an. Der zweite Teil des Multiprozessorsystems ist analog aufgebaut mit den Eingangssignalen C139 und den Ausgangssignalen C141 und C151 der zwei Ausführungseinheiten C 140 und C 150. Die Vergleichseinheit Cl 60 liefert nur im Falle von Gleichheit der Signale C141 und C151 ein gültiges Ausgangssignal C165. Der Status wird durch das mehrwertige Signal C230 angezeigt. In dieser Struktur C202 ist die Verarbeitung aller Aufgaben gleichwertig, weil sowohl die Ausführungseinheiten Cl 10 und C 120 als auch die Ausführungseinheiten C 140 und C 150 den gleichen Grad von Fehlererkennung besitzen.
In der Figur 3 ist eine weitere Ausführungsform eines Multiprozessorsystem D203 mit 4 Ausführungseinheiten Dl 10, Dl 20, D 140 und Dl 50 gezeigt, das gleichzeitig nur eine Verarbeitung von den an dem Eingangssignalen D 109 zur Verarbeitung anstehenden Aufgaben, Tasks oder Prozessen zu dem Ausgangsignal Dl 36 vornimmt. Dazu werden in der Vergleichseinheit D131 die Signale D111, D121, D141 und Dl 51 miteinander verglichen. Dabei kann ein einfacher Vergleich der Ausgangssignale durchgeführt werden oder mittels eines vorgebbaren Algorithmus. So kann es sich dabei um einen Mehrheitsentscheid also Voting handeln , es kann ein Mittelwert zwischen den Signalen gebildet werden oder es kann eine vorgebare Abweichung zwischen den Signalen toleriert werden. Dieser durch den vorgebaren Algorithmus gewonnener Ausgangswert wird dann auf Dl 36 ausgegeben. D240 bezeichnet dabei ein mehrwertiges Sta- tussignal, das nicht nur einen Fehler, sondern auch die Art einer Abweichung anzeigen kann, wie zum Beispiel die Zahl der gleichen Signale oder den Grad der Abweichung. Kann durch den vorgegebenen Algorithmus kein im Sinne des Algorithmus korrektes Ausgangssignal ausgegeben werden, so kann des ebenfalls über das mehrwertige Statussignal D240 ausgegeben werden. Das Ausgangssignal kann dann deaktiviert, unterbrochen oder ignoriert werden.
In Figur 4 ist schließlich eine Ausführungsform eines Multiprozessorsystem E204 mit 5 Ausführungseinheiten ElOO, El 10, E 120, E 140 und El 50 gezeigt. Davon sind 3 Ausführungseinheiten ElOO, El 10 und E120 zu einem Vergleich des Eingangssignal E169 fest verschaltet. Der Vergleichsalgorithmus für die Eingangssignale ElOl, El I l und El 21 ist dabei für den Verglei- cher E132 vorgegeben. Das Ergebnis wird auf dem Ausgangssignale E137 ausgegeben und dazu ein mehrwertiges Statussignale auf E250 ausgegeben. Die Ausführungseinheiten E 140 und El 50 verarbeiten parallel dazu jeweils die Eingangssignale E149 bzw. El 59 und erzeugen damit die Ausgangssignale E141 bzw. E151 ohne Vergleich.

Claims

Patentansprüche
1. Vorrichtung zur Datenverarbeitung mit wenigstens drei gleichen oder gleichartigen Ausführungseinheiten, dadurch gekennzeichnet, dass wenigstens ein Vergleichsmittel vorhanden ist und wenigstens zwei Ausfiihrungseinheiten so gruppiert sind, dass die Aus- gangssignale der wenigstens zwei Ausfiihrungseinheiten mit dem wenigstens einen Vergleichsmittel verbunden sind..
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese aus den Ausgangssignalen der Ausfiihrungseinheiten ein Aus- gangssignal nach einer vorgebbaren Vorschrift bilden.
3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens eine Fehlerinformation erzeugen
4. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens ein Statussignal ausgeben.
5. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens ein Statussignal ausgeben und dieses Signal eine erste Kennung enthält.
6. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass die Vergleichsmittel derart ausgestaltet sind, dass diese abhängig von dem Vergleichsergebnis mindestens ein Statussignal ausgeben und dieses Signal eine erste Kennung enthält und abhängig von dieser ersten Kennung über die weitere Verarbeitung der Ausgangssignale entschieden wird.
7. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, dass Mittel vorhanden sind, die die zu bearbeitenden Datenverarbeitungsaufgaben abhängig von einer zweiten Kennung dieser Datenverarbeitungsaufgaben auf die enthaltenen Ausführungseinheiten oder Grup- pen von Ausführungseinheiten verteilen.
8. Verfahren zur Datenverarbeitung in einer Vorrichtung mit wenigstens drei gleichen oder gleichartigen Ausführungseinheiten und wenigstens einem Vergleichsmittel, dadurch gekennzeichnet, dass die Ausgangssignale von wenigstens zwei Ausführungseinheiten mit- tels Vergleichsmittel verglichen werden.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel aus den Ausgangssignalen der wenigstens zwei Ausführungseinheiten ein Ausgangssignal nach einer vorgebbaren Vorschrift bildet.
10. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigstens zwei Ausführungseinheiten mindestens eine Fehlerinformation erzeugt.
11. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigstens zwei Ausführungseinheiten mindestens ein Statussignal ausgibt.
12. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das wenigstens eine Ver- gleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigsten zwei Ausführungseinheiten mindestens ein Statussignal erzeugt und dieses Signal eine erste Kennung enthält.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die erste Kennung des Siatus- signals abhängig von der Fehlerinformation des Vergleichsmittels gebildet wird oder diese enthält.
14. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die erste Kennung des Siatus- signals abhängig von der vorgebbaren Vorschrift zur Erzeugung der Ausgangssignale des wenigstens einen Vergleichsmittels gebildet wird oder diese enthält.
15. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass das wenigstens eine Vergleichsmittel abhängig von dem Vergleichsergebnis der Ausgangssignale der wenigstens zwei Ausführungseinheiten mindestens ein Statussignal erzeugt und dieses Signal eine erste Kennung enthält und abhängig von dieser Kennung über die weitere Verarbeitung der Ausgangssignale entschieden wird.
16. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass die zu bearbeitenden Datenverarbeitungsaufgaben abhängig von einer zweiten Kennung dieser Datenverarbeitungsaufgaben auf die wenigstens drei Ausführungseinheiten oder Gruppen von Ausführungs- einheiten verteilt werden.
EP06777981A 2005-08-08 2006-07-26 Verfahren und vorrichtung zur datenverarbeitung Ceased EP1915688A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005037233A DE102005037233A1 (de) 2005-08-08 2005-08-08 Verfahren und Vorrichtung zur Datenverarbeitung
PCT/EP2006/064670 WO2007017381A1 (de) 2005-08-08 2006-07-26 Verfahren und vorrichtung zur datenverarbeitung

Publications (1)

Publication Number Publication Date
EP1915688A1 true EP1915688A1 (de) 2008-04-30

Family

ID=37103045

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06777981A Ceased EP1915688A1 (de) 2005-08-08 2006-07-26 Verfahren und vorrichtung zur datenverarbeitung

Country Status (6)

Country Link
US (1) US20090217107A1 (de)
EP (1) EP1915688A1 (de)
JP (1) JP2009505182A (de)
CN (1) CN101238447A (de)
DE (1) DE102005037233A1 (de)
WO (1) WO2007017381A1 (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009000045A1 (de) 2009-01-07 2010-07-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Steuergerätes
DE102009001423A1 (de) 2009-03-10 2010-09-16 Robert Bosch Gmbh Vorrichtung und Verfahren zum Betreiben eines Rechnersystems
DE102009001420A1 (de) 2009-03-10 2010-09-16 Robert Bosch Gmbh Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102009001422A1 (de) 2009-03-10 2010-09-16 Robert Bosch Gmbh Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102009029642A1 (de) * 2009-09-21 2011-03-24 Robert Bosch Gmbh Verfahren zur Bearbeitung von Informationen und Aktivitäten in einem steuer- und/oder regelungstechnischen System
DE102012204361A1 (de) * 2012-03-20 2013-09-26 Siemens Aktiengesellschaft Verfahren zum Erkennen einer fehlerhaften Funktionsweise einer Schnittstelleneinrichtung, Schaltungsanordnung mit einer Schnittstelleneinrichtung sowie medizinisches Gerät mit einer solchen Schaltungsanordnung
JP5741550B2 (ja) 2012-10-22 2015-07-01 株式会社デンソー 制御装置及び車両制御システム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3783250A (en) * 1972-02-25 1974-01-01 Nasa Adaptive voting computer system
DE4129614C2 (de) * 1990-09-07 2002-03-21 Hitachi Ltd System und Verfahren zur Datenverarbeitung
JP3317776B2 (ja) * 1994-02-16 2002-08-26 株式会社日立製作所 情報処理装置
US6229486B1 (en) * 1998-09-10 2001-05-08 David James Krile Subscriber based smart antenna
US6344797B1 (en) * 1999-07-21 2002-02-05 Diaa M. Hosny Digital electronic locator
DE10136335B4 (de) * 2001-07-26 2007-03-22 Infineon Technologies Ag Prozessor mit mehreren Rechenwerken
US6640087B2 (en) * 2001-12-12 2003-10-28 Motorola, Inc. Method and apparatus for increasing service efficacy in an ad-hoc mesh network
US7055060B2 (en) * 2002-12-19 2006-05-30 Intel Corporation On-die mechanism for high-reliability processor
US7146356B2 (en) * 2003-03-21 2006-12-05 International Business Machines Corporation Real-time aggregation of unstructured data into structured data for SQL processing by a relational database engine
DE10332700A1 (de) * 2003-06-24 2005-01-13 Robert Bosch Gmbh Verfahren zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit sowie entsprechende Prozessoreinheit
JP4232987B2 (ja) * 2003-06-24 2009-03-04 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング プロセッサユニットの少なくとも2つの動作モードを切替る方法および対応するプロセッサユニット
US20060020852A1 (en) * 2004-03-30 2006-01-26 Bernick David L Method and system of servicing asynchronous interrupts in multiple processors executing a user program
US7392426B2 (en) * 2004-06-15 2008-06-24 Honeywell International Inc. Redundant processing architecture for single fault tolerance
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US20080320340A1 (en) * 2004-10-25 2008-12-25 Reinhard Weiberle Method and Device for Performing Switchover Operations and for Comparing Data in a Computer System Having at Least Three Execution Units
CN100520730C (zh) * 2004-10-25 2009-07-29 罗伯特·博世有限公司 在具有至少两个执行单元的计算机系统中对程序代码的执行进行分离的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2007017381A1 *

Also Published As

Publication number Publication date
US20090217107A1 (en) 2009-08-27
CN101238447A (zh) 2008-08-06
DE102005037233A1 (de) 2007-02-15
WO2007017381A1 (de) 2007-02-15
JP2009505182A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
WO2007017381A1 (de) Verfahren und vorrichtung zur datenverarbeitung
DE102010013349B4 (de) Computersystem und Verfahren zum Vergleichen von Ausgangssignalen
EP1812860B1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
DE69433468T2 (de) Logischer Schaltkreis mit Fehlernachweisfunktion
DE102011108103A1 (de) Echtzeit-Fehlerermittlung durch inverse Verarbeitung
EP1915690A2 (de) Verfahren und vorrichtung zur überwachung von funktionen eines rechnersystems
EP1810150A2 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems
EP1812855B1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
EP1812859B1 (de) Verfahren und vorrichtung zur modusumschaltung und zum signalvergleich bei einem rechnersystem mit wenigstens zwei verarbeitungseinheiten
DE102004034766A1 (de) Fehlererfassungsverfahren und System für Prozessoren, das verriegelungsschrittweise betriebene gleichzeitige Teilprozesse verwendet
DE102005037242A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Signalvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE102012102080B4 (de) Speicherschaltung, integrierte Schaltung und Verfahren mit Fehlerkorrekturen
DE102004061312A1 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
DE102013009364B4 (de) Verfahren und System zur Erkennung von latenten Fehlern in Mikrocontrollern
WO2017167537A1 (de) System, insbesondere zur steuerung von stellwerken im bahnverkehr
DE102015218882A1 (de) Verfahren und Vorrichtung zum Prüfen von Berechnungsergebnissen in einem System mit mehreren Recheneinheiten
DE112016006791B4 (de) Datenverarbeitungsvorrichtung, Datenverarbeitungsverfahren und Datenverarbeitungsprogramm
EP2940870B1 (de) Redundanzkonzept für analoge schaltungen und funktionen zur störungsunterdrückung
EP3172671B1 (de) Verfahren zur parallelen verarbeitung von daten in einem rechnersystem mit mehreren rechnereinheiten und rechnersystem mit mehreren rechnereinheiten
DD275545A1 (de) Verfahren und anordnung eines fehlertoleranten mehrrechnersystems
DE102022208087A1 (de) Verfahren zum Überprüfen einer Verarbeitung von Nutzdaten
DE19819550B4 (de) Verfahren und Vorrichtung zum Mischen von Audiosignalen
DE102005037240A1 (de) Verfahren und Vorrichtung zur Umschaltung und zum Datenvergleich bei einem Rechnersystem mit wenigstens drei Verarbeitungseinheiten
WO2022189214A1 (de) Verfahren zur bestimmung der integrität einer datenverarbeitung, vorrichtung, datenverarbeitungsanlage und anlage
EP1915691A1 (de) Vorrichtung und verfahren zur steuerung eines rechnersystems

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080310

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20080612

APBK Appeal reference recorded

Free format text: ORIGINAL CODE: EPIDOSNREFNE

APBN Date of receipt of notice of appeal recorded

Free format text: ORIGINAL CODE: EPIDOSNNOA2E

APAF Appeal reference modified

Free format text: ORIGINAL CODE: EPIDOSCREFNE

APBT Appeal procedure closed

Free format text: ORIGINAL CODE: EPIDOSNNOA9E

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20091106