DE102005037239A1 - Processing unit`s e.g. CPU, performance and comparison modes switching method for computer system, involves adding synchronization signal to interruption input of one processing unit during asynchronism of unit in comparison mode - Google Patents

Processing unit`s e.g. CPU, performance and comparison modes switching method for computer system, involves adding synchronization signal to interruption input of one processing unit during asynchronism of unit in comparison mode Download PDF

Info

Publication number
DE102005037239A1
DE102005037239A1 DE200510037239 DE102005037239A DE102005037239A1 DE 102005037239 A1 DE102005037239 A1 DE 102005037239A1 DE 200510037239 DE200510037239 DE 200510037239 DE 102005037239 A DE102005037239 A DE 102005037239A DE 102005037239 A1 DE102005037239 A1 DE 102005037239A1
Authority
DE
Germany
Prior art keywords
comparison
processing units
signal
mode
information
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
DE200510037239
Other languages
German (de)
Inventor
Eberhard Boehl
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
Priority to DE200510037239 priority Critical patent/DE102005037239A1/en
Priority to JP2007537297A priority patent/JP2008518305A/en
Priority to EP05801485A priority patent/EP1812855B1/en
Priority to KR1020077008953A priority patent/KR20070062567A/en
Priority to US11/666,396 priority patent/US20080320287A1/en
Priority to AT05801485T priority patent/ATE420402T1/en
Priority to PCT/EP2005/055514 priority patent/WO2006045786A1/en
Priority to DE502005006441T priority patent/DE502005006441D1/en
Priority to CNB2005800365264A priority patent/CN100565466C/en
Publication of DE102005037239A1 publication Critical patent/DE102005037239A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • 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
    • 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/187Voting techniques
    • G06F11/188Voting techniques where exact match is not required
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4818Priority circuits therefor
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1683Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
    • 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

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)

Abstract

The method involves comparing information in a comparison mode of processing units (B10, B11). A synchronization signal (B40) is added to an interruption input of one of the processing units during asynchronism of the processing unit in the comparison mode. The synchronization signal concern about a delay signal e.g. wait-signal, and has higher priority when compared to interruption signals. An independent claim is also included for a device for mode switching in a computer system with two processing units.

Description

Stand der TechnikState of technology

Ein Verfahren zur Erkennung von Fehlern in einem Vergleichsmodus ist in Wo 01/46806 A1 beschrieben. Dabei werden die Daten in einem Verarbeitungseinheit mit zwei Verarbeitungseinheiten ALUs parallel verarbeitet und verglichen. Bei einem Fehler (Soft-Error, transienter Fehler) arbeiten dort beide ALUs solange unabhängig voneinander, bis die fehlerhaften Daten entfernt sind und eine erneute (teilweise wiederholte) redundante Verarbeitung vorgenommen werden kann. Das setzt voraus, dass beide ALUs synchron zueinander arbeiten und die Ergebnisse taktgenau verglichen werden können.One A method for detecting errors in a comparison mode is described in Wo 01/46806 A1. The data is stored in a processing unit processed and compared in parallel with two processing units ALUs. In case of an error (soft error, transient error) both work there ALUs as long as independent from each other until the faulty data is removed and a renewed (partially repeated) redundant processing can be performed. The requires that both ALUs work in sync with each other and the Results can be compared exactly to the clock.

Im Stand der Technik sind Verfahren bekannt, wie zwischen einem Vergleichsmodus zur Fehlererkennung, in dem Aufgaben redundant abgearbeitet werden, und einem Performanzmodus zur Erzielung einer höheren Leistungsfähigkeit umgeschaltet werden kann. Voraussetzung ist hier, dass die Verarbeitungseinheiten für den Vergleichsmodus gegenseitig synchronisiert werden. Dazu ist es notwendig, dass beide Verarbeitungseinheiten angehalten werden können und taktgenau synchron arbeiten, um die Ergebnisdaten beim Schreiben in den Speicher miteinander vergleichen zu können. Dazu sind Eingriffe in die Hardware notwendig, einzelne Lösungen werden vorgeschlagen.in the The prior art discloses methods such as between a comparison mode for error detection, in which tasks are processed redundantly, and a performance mode for better performance can be switched. Prerequisite here is that the processing units for the Comparison mode are synchronized each other. For this it is necessary that both processing units can be stopped and clock-synchronously work to the result data when writing to be able to compare with each other in the memory. These are interventions in the hardware necessary, individual solutions are suggested.

In der Patentschrift EP 0969373 A2 wird dem gegenüber ein Vergleich der Ergebnisse von redundant arbeitenden Verarbeitungseinheiten oder Verarbeitungseinheiten auch dann gewährleistet, auch wenn diese asynchron zueinander arbeiten, d.h. nicht taktgleich oder mit einem unbekannten Taktversatz.In the patent EP 0969373 A2 On the other hand, a comparison of the results of redundantly operating processing units or processing units is ensured, even if they work asynchronously with one another, ie not with the same clock or with an unknown clock offset.

Aus der Flugzeugindustrie sind Votingsysteme bekannt, die Inputs von Standardrechnern verwenden können und diese durch einen Mehrheitsentscheid sicher verarbeiten und damit sicherheitsrelevante Aktionen auslösen können. Ein System, das inter-Verarbeitungseinheit und inter-Control-Unit Kommunikation miteinander kombiniert, ist das FME-System, bei dem durch einen hohen Grad von Redundanz auch im Falle von einzelnen oder gar mehreren Fehlern das System noch arbeitsfähig bleibt und von der DASA für die Raumfahrt entwickelt wurde (Urban, et al: A survivable avioncs system for space applications, Int. Symposium on Fault-tolerant Computing, FTCS-28 (1998),pp.372-381). Dieses System kann sogar byzantinische Fehler (d.h. besonders bösartige Fehler, bei denen nicht alle Komponenten die gleiche Informationen erhalten, sondern von einem Intriganten sogar „vorsätzlich" unterschiedlich falsche Informationen an verschiedene Komponenten verteilt werden) tolerieren. Ein solches System ist wegen des hohen Aufwandes kommerziell anwendbar für besonders kritische Systeme, die in sehr geringen Stückzahlen gefertigt werden. Eine kostengünstige Lösung, die in großen Stückzahlen herstellbar ist und zusätzlich noch Umschaltmöglichkeiten besitzt, ist nicht bekannt.Out In the aviation industry, voting systems are known that use inputs from Can use standard computers and handle them safely by a majority vote and so that safety-relevant actions can be triggered. A system, the inter-processing unit and inter-control unit communication is combined with each other the FME system, where by a high degree of redundancy too in case of single or even multiple errors the system still able to work stays and from the DASA for Space has been developed (Urban, et al: A survivable avioncs system for space applications, Int. Symposium on Fault-tolerant Computing, FTCS-28 (1998), pp.372-381). This system can even Byzantine errors (that is, particularly malicious errors that do not all components get the same information, but from an intriguer even "deliberately" different incorrect information is distributed to different components) tolerate. Such a system is commercial because of the high cost applicable for particularly critical systems, in very small numbers be made. A cost effective solution that in big numbers is manufacturable and in addition still switching options owns, is not known.

Es besteht deshalb die Aufgabe, eine Umschalt- und Vergleichseinheit zu schaffen, die es erlaubt, den Betriebsmodus von zwei oder mehreren Verarbeitungseinheiten umzuschalten und dabei ohne Eingriffe in die Struktur dieser Verarbeitungseinheiten auskommt und auch keinen zusätzlichen Signale zu diesem Zweck benötigt. Dabei soll es möglich sein, verschiedene digitale oder analoge Signale von verschiedenen Verarbeitungseinheiten in einem Vergleichmodus gegenseitig zu vergleichen. Dabei soll dieser Vergleich unter Umständen auch dann möglich sein, wenn die Verarbeitungseinheiten mit verschiedenen Taktsignalen betrieben werden und nicht synchron zueinander arbeiten. Es besteht darüber hinaus die Aufgabe, Mittel und Verfahren zur Verfügung zu stellen, die eine Synchronisation auch ohne Hardwareeingriffe ermöglichen.It There is therefore the task of a switching and comparison unit to create, which allows the operating mode of two or more processing units switch without interfering with the structure of these processing units gets along and no additional signals needed for this purpose. It should be possible be different digital or analog signals from different Compare processing units in a comparison mode each other. there This comparison should possibly also possible be if the processing units with different clock signals operate and do not work in sync with each other. It exists beyond that the task of providing means and procedures that synchronize even without hardware intervention.

Vorteileadvantages

Vorteilhafterweise verwendet man ein Verfahren zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten, einem Umschaltmittel und einem Vergleichsmittel, wobei zwischen wenigstens zwei Betriebsmodi umgeschaltet wird und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus entspricht, wobei im Vergleichsmodus Informationen verglichen werden, dadurch gekennzeichnet, dass bei Asynchronität der wenigstens zwei Verarbeitungseinheiten im Vergleichsmodus ein Synchronisationssignal auf einen Unterbrechungseingang wenigstens einer der Verarbeitungseinheiten gelegt wird.advantageously, One uses a method for switching in a computer system with at least two processing units, a switching means and a comparison means, wherein between at least two operating modes is switched and a first mode of operation a comparison mode and a second mode of operation corresponds to a performance mode, wherein information is compared in the comparison mode, characterized that at asynchrony the at least two processing units in the comparison mode Synchronization signal to an interrupt input at least one of the processing units is placed.

Vorteilhafterweise verwendet man ein Verfahren, bei dem es sich bei dem Synchronisationssignal um ein Verzögerungssignal, insbesondere ein Wait-Signal, handelt.advantageously, one uses a method which involves the synchronization signal to a delay signal, in particular a wait signal.

Vorteilhafterweise verwendet man ein Verfahren, bei dem durch das Synchronisationssignal wenigstens eine Verarbeitungseinheit veranlasst wird, keine Information mehr zu verarbeiten.advantageously, one uses a method in which by the synchronization signal at least a processing unit is caused, no more information to process.

Vorteilhafterweise verwendet man ein Verfahren, bei dem die wenigstens eine Verarbeitungseinheit für eine vorgebbare Zeit veranlasst wird, keine Information mehr zu verarbeiten.advantageously, One uses a method in which the at least one processing unit for one predetermined time is caused to process any more information.

Vorteilhafterweise verwendet man ein Verfahren, bei dem das Synchronisationssignal gegenüber wenigstens einem Unterbrechungssignal eine höhere Priorität besitzt.advantageously, One uses a method in which the synchronization signal across from at least one interrupt signal has a higher priority.

Vorteilhafterweise verwendet man ein Verfahren, bei dem das Synchronisationssignal gegenüber allen Unterbrechungssignalen die höchste Priorität besitzt.advantageously, One uses a method in which the synchronization signal across from all interrupt signals have the highest priority.

Vorteilhafterweise verwendet man ein Verfahren, bei dem durch das Synchronisationssignal wenigstens eine Verarbeitungseinheit dazu veranlasst wird, eine Unterbrechungsroutine abzuarbeiten.advantageously, one uses a method in which by the synchronization signal at least a processing unit is caused to execute an interrupt routine work off.

Vorteilhafterweise verwendet man ein Verfahren, bei dem wenigstens ein Pufferspeicher enthalten ist und wenigstens eine der im Vergleichsmodus zu vergleichenden Informationen für eine vom Synchronisationssignal abhängige Zeit in dem Pufferspeicher zwischengespeichert wird.advantageously, one uses a method in which at least one buffer memory is contained and at least one of the comparative in the comparative mode information for a time dependent on the synchronization signal in the buffer memory is cached.

Vorteilhafterweise verwendet man ein Verfahren, bei dem aus der Zeit für die wenigstens eine der Informationen zwischengespeichert wird, eine Asynchronitätsinformation, insbesondere ein Zeitfehler, ermittelbar ist.advantageously, one uses a method in which out of time for at least one of the information is cached, an asynchrony information, in particular a time error, can be determined.

Vorteilhafterweise verwendet man ein Verfahren, bei dem bei dem Pufferspeicher ein Füllstand des Speichers ermittelbar ist, der anzeigt welche Anzahl an Informationen sich im Pufferspeicher befinden.advantageously, one uses a method in which the buffer memory Level of the Memory can be determined, indicating the number of information are in the buffer memory.

Vorteilhafterweise verwendet man ein Verfahren, bei dem der Zeitfehler dadurch ermittelt wird, dass ein Zeiterfassungsmittel, insbesondere ein Zählelement, vorgesehen ist, wobei ein Zeitwert ermittelt wird und dieser mit einem vorgebbaren maximalen Zeitwert verglichen wird.advantageously, One uses a method in which the time error thereby determined is that a time recording means, in particular a counting element, is provided, wherein a time value is determined and this with a predetermined maximum time value is compared.

Vorteilhafterweise verwendet man ein Verfahren, bei dem eine Asynchronitätsinformation dadurch ermittelt wird, dass der ermittelte Füllstand mit einem vorgebbaren maximalen Füllstand verglichen wird.advantageously, One uses a method in which an asynchrony information is determined by the fact that the determined level with a predetermined maximum level is compared.

Vorteilhafterweise verwendet man ein Verfahren, bei dem eine Vorgabe, dass ein nächstes Ausgangsdatum verglichen werden soll, durch ein Vergleichssignal erfolgt.advantageously, One uses a method in which a default that a next starting date is to be compared, done by a comparison signal.

Vorteilhafterweise verwendet man ein Verfahren, bei dem einem Datum, das verglichen werden soll, eine Kennung zugeordnet wird, durch die der Vergleich ausgelöst wird Vorteilhafterweise verwendet man eine Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten, wobei die Vorrichtung ein Umschaltmittel und ein Vergleichsmittel enthält und zwischen wenigstens zwei Betriebsmodi umgeschaltet wird und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus entspricht, wobei im Vergleichsmodus Informationen verglichen werden, dadurch gekennzeichnet, dass die Vorrichtung derart ausgestaltet ist, dass bei Asynchronität der wenigstens zwei Verarbeitungseinheiten im Vergleichsmodus ein Synchronisationssignal auf einen Unterbrechungseingang wenigstens einer der Verarbeitungseinheiten gelegt wird.advantageously, One uses a method whereby a date is compared is to be assigned an identifier by which the comparison triggered Advantageously, a device for switching is used in a computer system having at least two processing units, wherein the device comprises a switching means and a comparison means contains and is switched between at least two modes of operation and a first operating mode a comparison mode and a second operating mode corresponds to a performance mode, in comparison mode information be compared, characterized in that the device is configured such that in asynchrony of the at least two processing units in comparison mode, a synchronization signal to an interrupt input at least one of the processing units is placed.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der die Vergleichsmittel und die Umschaltmittel baulich extern zu den Verarbeitungseinheiten vorgesehen sind Vorteilhafterweise verwendet man eine Vorrichtung, bei der wenigstens ein Pufferspeicher vorgesehen ist.advantageously, one uses a device in which the comparison means and the switching means structurally external to the processing units Advantageously, a device is used which in which at least one buffer memory is provided.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der es sich bei dem Pufferspeicher um einen FIFO Speicher handelt.advantageously, one uses a device which is the buffer memory is a FIFO memory.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der jeder Verarbeitungseinheit ein Pufferspeicher zugeordnet ist.advantageously, one uses a device in which each processing unit a buffer memory is assigned.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der jeder Verarbeitungseinheit eine Pufferspeicher, insbesondere ein FIFO Speicher zugeordnet ist.advantageously, one uses a device in which each processing unit a buffer memory, in particular a FIFO memory is assigned.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der Mittel, insbesondere ein Zählelement, vorgesehen sind, welche derart ausgestaltet sind, dass diese aus der vorgebbaren und/oder ermittelbaren Zeit für die wenigstens eine der Informationen zwischengespeichert wird eine Asynchronitätsinformation, insbesondere einen Zeitfehler, ermitteln.advantageously, one uses a device in which means, in particular a counting element, are provided, which are designed such that these out the predeterminable and / or determinable time for the at least one of the information an asynchronous information is temporarily stored, in particular a time error, determine.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der Mittel vorgesehen sind, welche derart ausgestaltet sind, dass diese bei dem Pufferspeicher einen Füllstand des Speichers ermitteln, der anzeigt welche Anzahl an Informationen sich im Pufferspeicher befinden.advantageously, using a device where means are provided which are designed such that these in the buffer memory a level of the memory that indicates what amount of information are in the buffer memory.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der die Mittel derart ausgestaltet sind, dass diese eine Asynchronitätsinformation dadurch ermitteln, dass der ermittelte Füllstand mit einem vorgebbaren maximalen Füllstand verglichen wird.advantageously, one uses a device in which the means are designed in this way are that these determine asynchrony information by that the determined level is compared with a predetermined maximum level.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der Synchronisationsmittel vorgesehen sind, die derart ausgestaltet sind, dass diese abhängig von der Asynchronitätsinformation eine Synchronisationsinformation erzeugen.advantageously, using a device in which synchronization means are provided, which are designed such that this depends on the asynchronous information generate synchronization information.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der ein Überwachungsmittel vorgesehen ist, welches derart ausgestaltet ist, dass dieses die Asynchronitätsinformation verarbeitet.Advantageously, one uses a Vor direction, in which a monitoring means is provided, which is designed such that it processes the asynchronous information.

Vorteilhafterweise verwendet man eine Vorrichtung, bei der es sich bei dem Überwachungsmittel um ein zum Rechnersystem externes Überwachungsmittel, insbesondere einen Watchdog, handelt.advantageously, one uses a device in which the monitoring means to a monitoring system external to the computer system, especially a watchdog, acts.

Weitere Vorteile und vorteilhafte Ausgestaltungen ergeben sich aus den Merkmalen der Ansprüche sowie der Beschreibung.Further Advantages and advantageous embodiments will be apparent from the features the claims as well as the description.

Figurencharacters

1 zeigt die Grundfunktion einer Umschalt- und Vergleichseinheit für zwei Verarbeitungseinheiten 1 shows the basic function of a switching and comparison unit for two processing units

1a zeigt eine verallgemeinerte Darstellung eines Vergleichers 1a shows a generalized representation of a comparator

1c zeigt eine erweiterte Darstellung eines Vergleichers 1c shows an expanded representation of a comparator

1b zeigt eine verallgemeinerte Darstellung einer Umschalt- und Vergleichseinheit 1b shows a generalized representation of a switching and comparison unit

2 zeigt eine detailliertere Darstellung der Umschalt- und Vergleichseinheit für zwei Verarbeitungseinheiten 2 shows a more detailed representation of the switching and comparison unit for two processing units

3 zeigt eine mögliche Realisierung einer Umschalt- und Vergleichseinheit für zwei Verarbeitungseinheiten 3 shows a possible realization of a switching and comparison unit for two processing units

4 zeigt eine mehr detaillierte Dartstellung einer Umschalt- und Vergleichseinheit für mehr als zwei Verarbeitungseinheiten 4 shows a more detailed Dartstellung a switching and comparison unit for more than two processing units

5 zeigt eine mögliche Realisierung einer Umschalt- und Vergleichseinheit für mehr als zwei Verarbeitungseinheiten 5 shows a possible implementation of a switching and comparison unit for more than two processing units

6 zeigt eine mögliche Realisierung eines Controlregisters 6 shows a possible realization of a control register

7 zeigt eine Votingeinheit für zentrales Voting 7 shows a voting unit for central voting

8 zeigt eine Votingeinheit für dezentrales Voting 8th shows a voting unit for decentralized voting

9 zeigt ein Synchronisationselement 9 shows a synchronization element

10 zeigt ein Handshake-Interface 10 shows a handshake interface

11 zeigt einen Differenzverstärker 11 shows a differential amplifier

12 zeigt einen Komparator für positive Spannungsdifferenz 12 shows a comparator for positive voltage difference

13 zeigt einen Komparator für negative Spannungsdifferenz 13 shows a comparator for negative voltage difference

14 zeigt eine Schaltung zur Speicherung eines Fehlers 14 shows a circuit for storing an error

15 zeigt einen Analogz-zu-Digitalkonverter mit Ausgangsregister 15 shows an analog-to-digital converter with output register

16 zeigt die Darstellung eines digitalgewandelten Analogwertes mit Kenung und Analogbit 16 shows the representation of a digital converted analog value with kung and analog bit

17 zeigt die Darstellung eines Digitalwertes als Digitalwort mit Digitalbit 17 shows the representation of a digital value as a digital word with digital bit

Beschreibung der Ausführungsbeispieledescription the embodiments

Eine Ausführungseinheit oder Verarbeitungseinheit kann im Folgenden sowohl einen Prozessor/Core/CPU, als auch eine FPU (Floating Point Unit), DSP (Digitaler Signalprozessor), Coprozessor oder ALU (Arithmetic logical Unit) bezeichnen.A execution unit or processing unit can hereinafter include both a processor / core / CPU, as well as an FPU (Floating Point Unit), DSP (Digital Signal Processor), Coprocessor or ALU (arithmetic logical unit).

Es wird ein System von zwei oder mehr Verarbeitungseinheiten betrachtet. Grundsätzlich gibt es in sicherheitsrelevanten Systemen die Möglichkeit, solche Ressourcen entweder zur Erhöhung der Leistungsfähigkeit zu verwenden, in dem man die verschiedenen Verarbeitungseinheiten möglichst mit verschiedenen Aufgaben versorgt. Alternativ kann man einige der Ressourcen auch redundant zueinander verwenden, indem man sie mit der gleichen Aufgabe versorgt und bei ungleichem Resultat auf einen Fehler erkennt.It Consider a system of two or more processing units. in principle In safety-relevant systems there is the possibility of such resources either to increase the efficiency to use in which one the different processing units preferably provided with different tasks. Alternatively you can do some The resources also use redundant to each other by using them supplied with the same task and uneven result detects an error.

Je nachdem, wie viele Verarbeitungseinheiten es gibt, sind mehrere Modi denkbar. In einem Zweier-System existieren die beiden Modi „Vergleich" und „Performanz", wie oben beschrieben. In einem Dreier-System kann man neben dem reinen Performanz-Modus, in dem alle drei Verarbeitungseinheiten parallel arbeiten, und dem reinen Vergleichsmodus, in dem alle drei Verarbeitungseinheiten redundant rechnen und verglichen wird, auch einen 2aus3-Voting Modus realisieren, in dem alle drei Verarbeitungseinheiten redundant rechnen und eine Majoritätsauswahl vorgenommen wird. Weiter kann man auch einen gemischten Modus realisieren, bei dem z.B. zwei der Verarbeitungseinheiten redundant zueinander rechnen und die Ergebnisse verglichen werden, während die dritte Verarbeitungseinheit eine andere, parallele Aufgabe bearbeitet. In einem vier-oder mehr-Verarbeitungseinheiten System sind offensichtlich noch weitere Kombinationen denkbar.ever There are several, according to how many processing units there are Modes conceivable. In a two-way system, the two modes "comparison" and "performance" exist as described above. In a threefold system, in addition to the pure performance mode, in which all three processing units work in parallel, and the pure comparison mode, in which all three processing units redundant and is compared, also a 2aus3 voting mode in which all three processing units calculate redundantly and a majority vote is made. Next you can also realize a mixed mode, at the e.g. two of the processing units redundant to each other calculate and compare the results while the third processing unit another, parallel task edited. In a four or more processing units System obviously more combinations are conceivable.

Die zu lösende Aufgabe ist es, dass die zur Verfügung stehenden Verarbeitungseinheiten in einem System im Betrieb variabel eingesetzt werden können, ohne einen Eingriff in die bestehende Struktur dieser Verarbeitungseinheiten (z.B. zu Synchronisationszwecken) notwendig zu machen. In einer speziellen Ausführung soll jede Verarbeitungseinheit mit einem eigenen Takt arbeiten können, d.h. die Abarbeitung gleicher Aufgaben zum Zwecke des Vergleichs auch asynchron zueinander abarbeiten können.The to be solved Task is that the available processing units can be used variably in a system during operation, without an interference with the existing structure of these processing units (for synchronization purposes, for example). In a special design Each processing unit should be able to operate with its own clock, i. the execution of identical tasks for the purpose of comparison also can work asynchronously to each other.

Diese Aufgabe wird dadurch gelöst, dass ein universelles, breit einsetzbares IP geschaffen wird, das eine Umschaltung der Betriebsmodi (z.B. Vergleichs-, Performanz- oder Voting Modus) zu beliebigen Zeitpunkten ohne vorheriges Abschalten der Verarbeitungseinheiten ermöglicht und den Vergleich oder das Voting der zueinander möglicherweise asynchronen Datenströme managt. Dieses IP kann als Chip ausgeführt werden, oder es kann zusammen mit einer oder mehreren Verarbeitungseinheiten auf einem Chip integriert werden. Weiter ist es nicht Voraussetzung, dass dieser Chip nur aus einem Stück Silizium besteht, es ist durchaus auch möglich, dass dieses aus getrennten Bausteinen realisiert wird.These Task is solved by that a universal, widely deployable IP is created that switching modes of operation (e.g., comparison, performance, or voting mode) at any time without prior shutdown allows the processing units and the comparison or voting of each other possibly asynchronous streams manages. This IP can be run as a chip, or it can work together with integrated one or more processing units on a chip become. Further, it is not a requirement that this chip only from a piece of silicon exists, it is also possible that this is realized from separate components.

Um die Synchronität zwischen unterschiedlichen Verarbeitungseinheiten zu gewährleisten, sind Signale notwendig, die eine ständig weitergehende Programmabarbeitung einzelner Verarbeitungseinheiten verhindern. Dazu ist üblicherweise ein WAIT-Signal vorgesehen.Around the synchronicity between different processing units to ensure Signals are necessary, which is a continuous further program execution prevent individual processing units. This is usually a WAIT signal provided.

Falls eine Ausführungseinheit nicht über ein Wait-Signal verfügt, kann sie auch über einen Interrupt synchronisiert werden. Dazu wird das Synchronisationssignal (z.B. M140 in 2) nicht an einen Wait-Eingang geführt, sondern auf einen Interrupt gelegt. Dieser Interrupt muss eine genügend hohe Priorität gegenüber dem Verarbeitungsprogramm und auch gegenüber anderen Interrupts haben, um die normale Arbeitsweise zu unterbrechen. Die zugehörige Interrupt-Routine führt nur eine bestimmte Anzahl von NOPs (Leerbefehle ohne Auswirkung auf Daten) aus, bevor wieder in das unterbrochene Programm zurückgesprungen wird, und verzögert damit die weitere Abarbeitung des Verarbeitungsprogramms. Gegebenenfalls müssen in der Interruptroutine noch die üblichen Speicheroperationen am Anfang und am Ende vorgenommen werden, um die normale Programmabarbeitung nicht durch den Interrupt zu beeinträchtigen.If an execution unit does not have a wait signal, it can also be synchronized via an interrupt. The synchronization signal (eg M140 in 2 ) was not routed to a wait input, but placed on an interrupt. This interrupt must have a sufficiently high priority over the processing program and also against other interrupts to interrupt normal operation. The associated interrupt routine only executes a certain number of NOPs (empty commands with no effect on data) before jumping back into the interrupted program, thereby delaying further processing of the processing program. If necessary, the usual memory operations at the beginning and at the end must be carried out in the interrupt routine in order not to impair the normal program execution by the interrupt.

Dieser Vorgang wird solange fortgesetzt, bis die Synchronität hergestellt wurde (z.B. liefern andere Verarbeitungseinheiten die erwarteten Vergleichsdaten ab). Eine genaue Taktsynchronität und insbesondere Phasengleichheit mit anderen Verarbeitungseinheiten kann jedoch mit diesem Verfahren nur bedingt garantiert werden. Es ist deshalb zu empfehlen, dass bei einer Benutzung des Interrupt-Signals zur Synchronisation die zu vergleichenden Daten in der UVE zwischengespeichert werden, bevor sie verglichen werden.This Operation will continue until synchronicity is established (For example, other processing units provide the expected Comparative data). Exact clock synchronization and in particular phase equality However, with other processing units, this process can be used only conditionally guaranteed. It is therefore recommended that when using the interrupt signal for synchronization the data to be compared is stored in the UVE before they are compared.

Der Vorteil der Erfindung ist, dass beliebige kommerziell verfügbare Standard-Strukturen eingesetzt werden können, weil keine zusätzlichen Signale benötigt werden (keine Eingriffe in die Hardwarestruktur) und beliebige Ausgangssignale dieser Komponenten überwacht werden können, die beispielsweise direkt zur Ansteuerung von Aktoren verwendet werden. Das schließt die Überprüfung von Wandlerstrukturen wie DACs und PWMs mit ein, die bisher nach dem Stand der Technik so nicht direkt durch einen Vergleich prüfbar sind.Of the Advantage of the invention is that any commercially available standard structures can be used because no extra Signals needed (no interference with the hardware structure) and any output signals monitors these components can be for example, used directly to control actuators. That concludes the review of Transducer structures such as DACs and PWMs with a, the so far after the State of the art can not be tested directly by a comparison.

Sofern die Überprüfung für einzelne Aufgaben oder SW-Tasks nicht benötigt wird, ist aber auch eine Umschaltung in einen Performanzmodus möglich, in dem unterschiedliche Tasks auf verschiedene Verarbeitungseinheiten verteilt werden.Provided the review for individual Tasks or SW tasks not needed is, but is also a switch to a performance mode possible, in different tasks to different processing units be distributed.

Ein weiterer Vorteil ist es, dass in einem Vergleichs- oder Votingmodus nicht alle Daten verglichen werden müssen. Nur die zu vergleichenden oder zu votenden Daten werden in der Umschalt- und Vergleichseinheit zueinander synchronisiert. Die Auswahl dieser Daten ist durch das gezielte Ansprechen der Umschalt- und Vergleichseinheit variabel (programmierbar) und kann an die jeweilige Verarbeitungseinheitarchitektur sowie an die Anwendung angepasst werden. Damit ist auch die Verwendung von diversitären μC oder Softwareteilen leicht möglich, da nur Ergebnisse, die sinnvollerweise verglichen werden können, tatsächlich auch verglichen werden.One Another advantage is that in a comparison or voting mode not all data needs to be compared. Only those to be compared or Data to be selected is in the switching and comparison unit synchronized with each other. The selection of this data is through the Targeted response of the switching and comparison unit variable (programmable) and can be adapted to the respective processing unit architecture as well adapted to the application. This is also the use of diversified μC or software parts easily possible, because only results that can reasonably be compared actually do be compared.

Weiter kann jeder Zugriff zu einem (z.B. externen) Speicher damit überwacht werden oder auch nur die Ansteuerung externer I/O Module. Interne Signale können über die softwaregesteuerte zusätzliche Ausgabe zum Umschaltmodul auf dem externen Daten- und/oder Adressbus geprüft werden.Further For example, any access to a (e.g., external) memory can be monitored or only the control of external I / O modules. internal Signals can over the software-controlled additional Output to the switching module on the external data and / or address bus checked become.

Alle Steuersignale für die Vergleichsoperationen werden in der vorzugsweise programmierbaren Umschalt- und Voting-Einheit erzeugt und der Vergleich findet auch dort statt. Die Verarbeitungseinheiten (z.B. Prozessoren), deren Ausgaben miteinander verglichen werden sollen, können das gleiche Programm benutzen, ein dupliziertes Programm (was zusätzlich die Erkennung von Fehlern beim Speicherzugriff ermöglicht) oder auch ein diversifiziertes Programm zur Erkennung von Software-Fehlern. Dabei müssen nicht alle von den Verarbeitungseinheiten bereitgestellten Signale miteinander verglichen werden, sondern es ist auch möglich, mittels einer Kennung (Adress- oder Steuersignale) bestimmte Signale für den Vergleich vorzusehen oder auch nicht. Diese Kennung wird in der Umschalt- und Vergleicheinrichtung ausgewertet und damit der Vergleich gesteuert.All control signals for the comparison operations are generated in the preferably programmable switching and voting unit and the comparison also takes place there. The processing units (eg, processors) whose outputs are to be compared with each other may use the same program, a duplicate program (which additionally allows recognition of memory access errors), or a diversified program for detecting software errors. It is not necessary to compare all the signals provided by the processing units with each other, but it is also possible to provide certain signals for comparison by means of an identifier (address or control signals) or not. This identifier is evaluated in the switching and comparison device and thus controlled the comparison.

Separate Timer überwachen Abweichungen im Zeitverhalten über ein vorgebbares Limit hinaus. Einige oder auch alle Module der Umschalt- und Vergleichseinheit können auf einem Chip integriert sein, auf einem gemeinsamen Board oder auch räumlich getrennt untergebracht sein. Im letzteren Fall werden die Daten und Steuersignale über geeignete Bussysteme miteinander ausgetauscht. Register vor Ort werden dann über das Bussystem beschrieben und steuern die Vorgänge mittels der darin abgespeicherten Daten und/oder Adressen/Steuersignale.separate Monitor timer Deviations in the time behavior over a definable limit. Some or all modules of the switching and comparison unit can be integrated on a chip, on a common board or also spatially separated be housed. In the latter case, the data and control signals are transmitted via appropriate Bus systems exchanged with each other. Register locally will then be over Bus system described and control the operations by means of the stored therein Data and / or addresses / control signals.

In 1 ist die Grundfunktion der erfindungsgemäßen Umschalteinheit B01 für die Anwendung in Verbindung mit zwei Verarbeitungseinheiten B10 und B11 gezeigt. Verschiedene Ausgangssignale, wie Daten, Steuer- und Adresssignale B20 bzw. B21 der Verarbeitungseinheiten B10 und B11 sind mit der Umschalteinheit B01 verbunden. Darüber hinaus gibt es mindestens ein Synchronisationssignal, in Ausgestaltung der erfindungsgemäßen Anordnung die beiden Ausgangssignale B40 und B41, das mit einer der Vergleichseinheiten verbunden sind.In 1 1 shows the basic function of the switching unit B01 according to the invention for use in connection with two processing units B10 and B11. Various output signals such as data, control and address signals B20 and B21 of the processing units B10 and B11 are connected to the switching unit B01. In addition, there is at least one synchronization signal, in an embodiment of the arrangement according to the invention, the two output signals B40 and B41, which are connected to one of the comparison units.

Die Umschalteinheit enthält mindestens ein Steuerregister B15, das mindestens ein Speicherelement für ein binäres Zeichen (Bit) B16 besitzt, das den Modus der Vergleichseinheit umschaltet. B16 kann mindestens die beiden Werte 0 und 1 annehmen und kann sowohl durch die Signale B20 oder B21 der Verarbeitungseinheiten oder durch interne Prozesse der Umschalteinheit gesetzt oder rückgesetzt werden.The Switching unit contains at least one control register B15, the at least one memory element for a binary Has character (bit) B16, which switches the mode of the comparison unit. B16 can take at least the two values 0 and 1 and can both by the signals B20 or B21 of the processing units or by internal processes of the changeover unit are set or reset become.

Ist B16 auf den ersten Wert gesetzt, so arbeitet die Umschalteinheit im Vergleichsmodus. In diesem Modus werden alle ankommenden Datensignale aus B20 mit den Datensignalen aus B21 verglichen, sofern bestimmte vorgebbare Vergleichs-Bedingungen der Steuer- und/oder Adresssignale aus den Signalen B20 und B21 erfüllt sind, die die Gültigkeit der Daten und den vorgesehenen Vergleich für diese Daten signalisieren.is B16 set to the first value, the switching unit operates in comparison mode. In this mode, all incoming data signals will turn off B20 compared with the data signals from B21, provided that certain specifiable Comparison conditions of the control and / or address signals from the Signals B20 and B21 met are the validity signal the data and the intended comparison for that data.

Sind diese Vergleichs-Bedingungen an beiden Signalen B20 und B21 gleichzeitig erfüllt, so werden die Daten aus diesen Signalen unmittelbar verglichen und bei Ungleichheit wird ein Fehlersignal B17 gesetzt. Ist nur die Vergleichs-Bedingung aus entweder den Signalen B20 bzw. B21 erfüllt, so wird das entsprechende Synchronisationssignal B40 bzw. B41 gesetzt. Dieses Signal bewirkt in der entsprechenden Verarbeitungseinheit B10 bzw. B11 ein Anhalten der Verarbeitung, und damit eine Verhinderung der Weiterschaltung der entsprechenden Signale, die bisher nicht miteinander verglichen werden konnten. Das Signal B40 bzw. B41 bleibt solange gesetzt, bis die entsprechende Vergleichs-Bedingung der jeweils anderen Verarbeitungseinheit B21 bzw. B20 erfüllt ist. In diesem Fall wird der Vergleich ausgeführt und das entsprechende Synchronisationssignal zurückgesetzt.are these comparison conditions on both signals B20 and B21 simultaneously Fulfills, so the data from these signals are compared directly and if inequality an error signal B17 is set. Is only the Comparison condition from either the signals B20 or B21 met, so the corresponding synchronization signal B40 or B41 is set. This signal causes in the corresponding processing unit B10 or B11 stop the processing, and thus a prevention the forwarding of the corresponding signals, not previously could be compared with each other. The signal B40 or B41 remains until the corresponding comparison condition of the each other processing unit B21 or B20 is met. In this case, the comparison is performed and the corresponding synchronization signal reset.

Um den Vergleich bei der beschriebenen ungleichzeitigen Bereitstellung der zu vergleichenden Daten durch die beiden Verarbeitungseinheiten sicherzustellen, ist es entweder notwendig, dass die Daten und Vergleichs-Bedingungen der entsprechenden Verarbeitungseinheit solange auf den entsprechenden Werten gehalten werden, bis das entsprechende Synchronisationssignal B40 bzw. B41 zurückgesetzt wurde, oder es müssen die zuerst bereitgestellten Daten in der Umschalteinheit bis zum Vergleich gespeichert werden.Around the comparison in the described non-simultaneous provision the data to be compared by the two processing units To ensure it is either necessary that the data and comparison conditions the corresponding processing unit as long as the corresponding Values are held until the corresponding synchronization signal B40 or B41 reset was or will have to the first provided data in the switching unit until comparison get saved.

Je nachdem, welche Verarbeitungseinheit zuerst Daten bereitstellt, muss diese mit der Weiterabarbeitung ihres Programms oder ihrer Prozesse solange warten, bis die andere Verarbeitungseinheit die entsprechenden Vergleichsdaten bereitstellt.ever after which processing unit provides data first, this must be done with the further processing of their program or their Processes wait until the other processing unit has the appropriate Provides comparative data.

In einer speziellen Ausführung der Umschalteinheit nach 1 kann auf eines der Signale B40 bzw. B41 verzichtet werden, wenn immer gewährleistet ist, dass die zugehörige Verarbeitungseinheit nicht eher Vergleichsdaten bereitstellt, als die andere Verarbeitungseinheit.In a special version of the switching unit after 1 can be dispensed with one of the signals B40 or B41, if it is always ensured that the associated processing unit does not provide comparative data rather than the other processing unit.

Ist B16 auf den zweiten Wert gesetzt, so sind die Synchronisationssignale B20 und B21 sowie das Fehlersignal B17 immer inaktiv, beispielsweise auf den Wert 0 gesetzt. Es findet auch kein Vergleich statt und beide Verarbeitungseinheiten arbeiten voneinander unabhängig.is B16 set to the second value, so are the synchronization signals B20 and B21 and the error signal B17 always inactive, for example set to the value 0. There is no comparison and both processing units work independently.

Eine wesentliche Komponente in dem erfindungsgemäßen System ist der Vergleicher. In der einfachsten Form ist er in 1a dargestellt. Die Vergleichskomponente M500 kann zwei Inputsignale M510 und M511 aufnehmen. Sie vergleicht diese dann auf Gleichheit, im hier dargestellten Kontext vorzugsweise im Sinne einer Bit-weisen Gleichheit. Falls sie Ungleichheit detektiert wird das Fehlersignal M530 aktiviert und das Signal M520 deaktiviert. Im Gleichheitsfalle wird der Wert der Inputsignale M510, M511 auf das Outputsignal M520 gegeben und das Fehlersignal M530 wird nicht aktiv, d.h. es signalisiert den „Gut"-Zustand. Von diesem Basis-System aus sind eine Vielzahl von erweiterten Ausführungsformen denkbar. Zunächst kann die Komponente M500 als so genannte TSC- Komponente (totally self checking) ausgeführt werden. In diesem Fall wird das Fehlersignal M530 auf mindestens zwei Leitungen („dual rail") nach außen geführt, und es ist durch interne Design- und Fehlerentdeckungsmaßnahmen sichergestellt, dass in jedem möglichen Fehlerfall der Vergleichskomponente dieses Signal korrekt oder erkennbar unkorrekt vorliegt. Eine bevorzugte Ausführungsform in der Benutzung des erfindungsgemäßen Systems ist es, einen solchen TSC-Vergleicher zu verwenden.An essential component in the system according to the invention is the comparator. In the simplest form he is in 1a shown. The comparison component M500 can receive two input signals M510 and M511. It then compares these to equality, in the context presented here, preferably in the sense of a bit-wise equality. If it detects inequality, the error signal M530 is activated and the signal M520 is deactivated. In the same case, the value of the input signals M510, M511 is given to the output signal M520 and the error signal M530 does not become active, ie it signals the "good" state In this case, the error signal M530 is routed to at least two lines ("dual rail") to the outside, and it is ensured by internal design and fault detection measures that in any possible error case Comparison component of this signal is correct or recognizable incorrect. A preferred embodiment in the use of the system according to the invention is to use such a TSC comparator.

Eine zweite Klasse von Ausführungsformen kann dahingehend unterschieden werden, welchen Grad der Synchronität die beiden Inputs M510, M511 (bzw. M610, M611) haben müssen. Eine möglich Variante ist durch taktweise Synchronität gekennzeichnet, d.h. der Vergleich der Daten kann in einem Takt durchgeführt werden. Eine leichte Änderung entsteht dadurch, dass bei einem festen Phasenversatz zwischen den Inputs ein synchrones Verzögerungselement verwendet wird, das die entsprechenden Signale beispielsweise um ganzahlige oder auch halbe Taktperioden verögert. Ein solcher Phasenversatz ist nützlich um Common Cause Fehler zu vermeiden, d.h. das sind solche Fehler, die gleichzeitig auf mehrere Verarbeitungseinheiten wirken können. In 1c ist daher über die Komponenten aus Bild M5 hinaus die Komponente M640 eingefügt, die den früheren Input um den Phasenversatz verzögert. Vorzugsweise ist dieses Verzögerungselement im Vergleicher untergebracht, um dieses Element nur im Vergleichsmodus zu verwenden. Alternativ oder ergänzend kann man, um Asynchronitäten ebenfalls tolerieren zu können, Zwischenpuffer in die Inputkette legen. Vorzugsweise werden diese als FIFO-Speicher ausgelegt. Falls ein solcher Puffer vorliegt, kann man auch Asynchronitäten bis zur maximalen Tiefe des Puffers tolerieren. In diesem Fall muss ein Fehlersignal auch dann ausgegeben werden, wenn der Puffer überläuft.A second class of embodiments may be distinguished as to what degree of synchronicity the two inputs M510, M511 (or M610, M611) must have. One possible variant is characterized by intermittent synchronicity, ie the comparison of the data can be carried out in one cycle. A slight change arises from the fact that a synchronous delay element is used with a fixed phase offset between the inputs, which delays the corresponding signals, for example, by integer or half clock periods. Such a phase offset is useful to avoid common cause errors, ie, those that can simultaneously affect multiple processing units. In 1c Therefore, component M640 is added beyond the components of frame M5, delaying the previous input by the phase offset. Preferably, this delay element is accommodated in the comparator to use this element only in the comparison mode. Alternatively or additionally, in order to be able to tolerate asynchronisms as well, intermediate buffers can be placed in the input chain. Preferably, these are designed as FIFO memory. If such a buffer exists, one can also tolerate asynchronisms up to the maximum depth of the buffer. In this case, an error signal must be output even if the buffer overflows.

Weiter kann man im Vergleicher Ausführungsformen danach unterscheiden, wie das Signal M520 (oder M620) generiert wird. Eine bevorzugte Ausführungsform ist es, die Inputsignale M510, M511 (bzw. M610, M611) auf den Ausgang zu legen und die Verbindung durch Schalter unterbrechbar zu machen. Der besondere Vorteil dieser Variante ist es, dass zur Umschaltung zwischen Performanzmodus und möglichen verschiedenen Vergleichsmodi dieselben Schalter verwendet werden können. Alternativ können die Signale auch aus vergleicherinternen Zwischenspeichern generiert werden.Further one can compare in the embodiments differ according to how the signal M520 (or M620) is generated becomes. A preferred embodiment is it, the input signals M510, M511 (or M610, M611) to the output to set and make the connection by switch interruptible. The particular advantage of this variant is that for switching between performance mode and possible different comparison modes the same switches are used can. Alternatively you can the signals are also generated from internal buffers become.

Eine letzte Klasse von Ausführungsformen kann dahingehend unterschieden werden, wie viele Inputs am Vergleicher vorliegen und wie der Vergleicher reagieren soll. Bei drei Inputs kann ein Majoritätsvoting, ein Vergleich von allen drei oder ein Vergleich von nur zwei Signalen vorgenommen werden. Bei vier oder mehr Inputs sind entsprechend mehr Varianten denkbar. Diese Varianten sind vorzugsweise mit den verschiedenen Betriebsmodi des Gesamtsystems zu koppeln.A last class of embodiments can be distinguished by how many inputs on the comparator and how the comparator should react. With three inputs can a majority vote, a comparison of all three or a comparison of only two signals be made. With four or more inputs are appropriate more variants conceivable. These variants are preferably with the couple different operating modes of the overall system.

Um den allgemeinen Fall darzulegen wird in 1b eine verallgemeinerte Darstellung einer Umschalt- und Vergleichseinheit dargestellt, wie sie vorzugsweise verwendet werden soll. Von den n zu berücksichtigenden Ausführungseinheiten gehen n Signale N140,..., N14n an die Umschalt- und Vergleichskomponente N100. Diese kann bis zu n Ausgangssignale N160,..., N16n aus diesen Eingangssignalen erzeugen. Im einfachsten Fall, dem „reinen Performanzmodus", werden alle Signale N14i auf die entsprechenden Ausgangssignale N16i geleitet. Im entgegen gesetzten Grenzfall, dem „reinen Vergleichsmodus" werden alle Signale N140,..., N14n nur auf genau eines der Ausgangssignale N16i geleitet.To set out the general case is in 1b a generalized representation of a switching and comparing unit, as they should preferably be used. Of the n execution units to be considered, n signals N140,..., N14n go to the switching and comparison component N100. This can generate up to n output signals N160, ..., N16n from these input signals. In the simplest case, the "pure performance mode", all signals N14i are directed to the corresponding output signals N16i In the opposite limit case, the "pure comparison mode", all signals N140, ..., N14n are directed to only one of the output signals N16i.

An dieser Figur lässt sich darlegen, wie die verschiedenen denkbaren Modi entstehen können. Dazu ist in dieser Figur die logische Komponente einer Schaltlogik N110 enthalten. Die Komponente muss nicht als solche existieren, entscheidend ist, dass ihre Funktion vorhanden ist. Sie legt zunächst fest, wie viele Ausgangssignale es überhaupt gibt. Weiter legt die Schaltlogik N110 fest, welche der Eingangssignale zu welchem der Ausgangssignale beitragen. Dabei kann ein Eingangssignal zu genau einem Ausgangssignal beitragen. In mathematischer Form anders formuliert ist also durch die Schaltlogik eine Funktion definiert, die jedem Element der Menge {N140,..., N14n} ein Element der Menge {N160,..., N16n} zuordnet.At this figure leaves Explain how the various conceivable modes can arise. To is the logical component of a switching logic N110 in this figure contain. The component does not have to exist as such, crucial is that their function exists. She first determines how many output signals are there at all gives. Furthermore, the switching logic N110 determines which of the input signals to which of the output signals contribute. This can be an input signal contribute to exactly one output signal. In mathematical form In other words, a function is defined by the switching logic, each element of the set {N140, ..., N14n} is an element of the set {N160, ..., N16n} assigns.

Die Funktion der Verarbeitungslogik N120 legt dann zu jedem der Ausgänge N16i fest, in welcher Form die Eingänge zu diesem Ausgangsignal beitragen. Auch diese Komponente muss nicht als eigene Komponente vorhanden sein. Entscheidend ist wieder, dass die beschriebenen Funktionen im System realisiert sind. Um beispielhaft die verschiedenen Variationsmöglichkeiten zu beschreiben, sei ohne Beschränkung der Allgemeinheit angenommen, dass der Ausgang N160 durch die Signale N141,..., N14m erzeugt wird. Falls m = 1 entspricht dies einfach einer Durchschaltung des Signals, falls m = 2 dann werden die Signale N141, N142 verglichen. Dieser Vergleich kann synchron oder asynchron durchgeführt werden, er kann bitweise oder nur auf signifikante Bits oder auch mit einem Toleranzband durchgeführt werden.The Function of the processing logic N120 then applies to each of the outputs N16i firmly, in what form the inputs contribute to this output signal. Also this component does not have to be present as a separate component. Decisive is again that the described functions are realized in the system. To exemplify the different variations to describe, is without limitation the generality assumed that the output N160 by the signals N141, ..., N14m is generated. If m = 1 this simply corresponds to a through connection of the signal, if m = 2 then the signals N141, N142 are compared. This comparison can be done synchronously or asynchronously, it can be bitwise or only on significant bits or even with one Tolerance band performed become.

Falls m >= 3 gibt es mehrere Möglichkeiten.If m> = 3 there are several Options.

Eine erste Möglichkeit besteht darin, alle Signale zu vergleichen und bei Vorhandensein mindestens zweier verschiedener Werte einen Fehler zu detektieren, den man optional signalisieren kann.A first option is to compare all the signals and if present at least two different values to detect an error, which one can signal optional.

Eine zweite Möglichkeit besteht darin, dass man eine k aus m -Auswahl vornimmt (k > m/2). Diese kann durch Verwendung von Vergleichern realisiert werden. Optional kann ein Fehlersignal generiert werden, wenn eines der Signale als abweichend erkannt wird. Ein möglicherweise verschiedenes Fehlersignal kann generiert werden, wenn alle drei Signale verschieden sind.A second possibility is to make a k out of m selection (k> m / 2). This can be realized by using comparators. Optionally, an error signal gene if one of the signals is detected as deviating. A possibly different error signal can be generated if all three signals are different.

Eine dritte Möglichkeit besteht darin, diese Werte einem Algorithmus zuzuführen. Dies kann beispielsweise die Bildung eines Mittelwerts, eines Medianwert, oder die Verwendung eines fehlertoleranten Algorithmus (FTA) darstellen. Ein solcher FTA beruht darauf, Extremwerte der Eingangswerte weg zu streichen und eine Art der Mittelung über die restlichen Werte vorzunehmen. Diese Mittelung kann über die gesamte Menge der restlichen Werte, oder vorzugsweise über eine in HW leicht zu bildenden Teilmenge vorgenommen werden. In diesem Fall ist es nicht immer notwendig, die Werte tatsächlich zu vergleichen. Bei der Mittelwertbildung muss beispielsweise nur addiert und dividiert werden, FTM, FTA oder Median erfordern eine teilweise Sortierung. Gegebenenfalls kann auch hier bei hinreichend großen Extremwerten optional ein Fehlersignal ausgegeben werden Diese verschiedenen genannten Möglichkeiten der Verarbeitung mehrerer Signale zu einem Signal werden der Kürze wegen als Vergleichsoperationen bezeichnet.A third possibility is to apply these values to an algorithm. This For example, the formation of an average, a median, or the use of a Fault Tolerant Algorithm (FTA). Such an FTA is based on omitting extreme values of the input values delete and make a kind of averaging over the remaining values. This averaging can over the total amount of the remaining values, or preferably over one be made in HW easily formed subset. In this case It is not always necessary to actually compare the values. at the averaging, for example, only has to be added and divided FTM, FTA or median require partial sorting. If necessary, can also be here at sufficiently large extreme values optionally an error signal can be output These different mentioned options processing of multiple signals into one signal will be for brevity referred to as comparison operations.

Die Aufgabe der Verarbeitungslogik ist es also, die genaue Gestalt der Vergleichsoperation für jedes Ausgangssignal – und damit auch für die zugehörigen Eingangssignale – festzulegen. Die Kombination der Information der Schaltlogik N110 (d.h. die o.g. Funktion) und der Verarbeitungslogik (d.h. die Festlegung der Vergleichsoperation pro Ausgangssignal, d.h. pro Funktionswert) ist die Modusinformation und diese legt den Modus fest. Diese Information ist im allgemeinen Fall natürlich mehrwertig, d.h. nicht nur über ein logisches Bit darstellbar. Nicht alle theoretisch denkbaren Modi sind in einer gegebenen Implementierung sinnvoll, man wird vorzugsweise die Zahl der erlaubten Modi einschränken. Zu betonen ist, dass im Fall von nur zwei Ausführungseinheiten, wo es nur einen Vergleichsmodus gibt, die gesamte Information auf nur ein logisehes Bit kondensiert werden kann.The The task of the processing logic is therefore to determine the exact shape of the Comparison operation for every output signal - and with it also for the associated Input signals - specify. The combination of information of the switching logic N110 (i.e., the above function) and the processing logic (i.e., the determination of the comparison operation per output, i. per function value) is the mode information and this sets the mode. This information is in general Case of course polyvalent, i. not just about a logical bit can be displayed. Not all theoretically conceivable Modes are useful in a given implementation, you will preferably restrict the number of allowed modes. To emphasize is that in the case of only two execution units, where there is only one comparison mode, all the information is on only one logical bit can be condensed.

Eine Umschaltung von einem Performanz- in einen Vergleichsmodus ist im allgemeinen Fall dadurch charakterisiert, dass Ausführungseinheiten, die im Performanzmodus auf verschiedene Ausgänge hin abgebildet werden, im Vergleichsmodus auf den gleichen Ausgang hin abgebildet werden. Vorzugsweise ist dies dadurch realisiert, dass es ein Teilsystem von Ausführungseinheiten gibt, bei dem im Performanzmodus alle Eingangssignale N14i, die im Teilsystem zu berücksichtigen sind, direkt auf korrespondierende Ausgangssignale N16i geschalten werden, während sie im Vergleichsmodus alle auf einen Ausgang hin abgebildet sind. Alternativ kann eine solche Umschaltung auch dadurch realisiert werden, dass Paarungen geändert werden. Es ist dadurch dargestellt, dass man im allgemeinen Fall nicht von dem Performanzmodus und dem Vergleichsmodus sprechen kann, obwohl man in einer gegebenen Ausprägung der Erfindung die Menge der erlaubten Modi so einschränken kann, dass dies der Fall ist. Man kann aber immer von einer Umschaltung vom Performanz- in den Vergleichsmodus (und umgekehrt) sprechen.A Switching from a performance to a comparison mode is in General case characterized in that execution units, the be displayed on different outputs in the performance mode, be displayed in the comparison mode on the same output out. Preferably, this is realized by being a subsystem of execution units where, in the performance mode, all input signals N14i, the in the subsystem are switched directly to corresponding output signals N16i be while they are all mapped to one output in comparison mode. Alternatively, such switching can also be realized thereby be changed that pairings become. It is represented by that in the general case can not speak of the performance mode and the comparison mode, although in a given aspect of the invention, the amount restrict the allowed modes so can that be the case. But you can always switch from one to another from the performance to the compare mode (and vice versa).

Zwischen diesen Modi kann, über Software gesteuert, dynamisch im Betrieb umgeschaltet werden. Ausgelöst wird die Umschaltung dabei beispielsweise über die Ausführung von speziellen Umschaltinstruktionen, speziellen Instruktionssequenzen, explizit gekennzeichneten Instruktionen oder durch den Zugriff auf bestimmte Adressen durch wenigstens eine der Ausführungseinheiten des Multiprozessorsystems.Between these modes can, over Software controlled, dynamically switched during operation. Is triggered the switch thereby, for example, the execution of special switching instructions, special instruction sequences, explicitly marked instructions or by accessing certain addresses through at least one of the execution units of the multiprocessor system.

In 2 ist ein detaillierter beschriebenes Zwei-Prozessor- oder Zwei μC-System mit einer erfindungsgemäßen Umschalt- und Vergleichseinheit M100 dargestellt, bei dem optional auch verschiedene der eingezeichneten Signale entfallen können. Es besteht aus zwei Verarbeitungseinheiten (M110, M111) und einer Umschalt- und Vergleichseinheit M100. Von jeder Verarbeitungseinheit gehen Datensignale (M120, M121) und Adress/Steuersignale (M130, M131) zu der Umschalteinheit, und jede Verarbeitungseinheit bekommt optional auch von der Umschalteinheit Daten (M150, M151) und Steuersignale (M140, M141) zurück. Die Einheit M100 gibt Daten (M160, M161) und Statusinformationen M169 aus und empfängt Signale wie z.B. Daten (M170, M171) und Steuersignale M179, die auch an die Verarbeitungseinheiten weitergeleitet werden können. Über M170, M171 und M179 kann optional auch der Betriebsmodus der Einheit M100 unabhängig von den Verarbeitungseinheiten eingestellt werden; ebenso können die Prozessoren über die Ausgänge M120, M121 (z.B. Datenbus) und die Steuer- und Adresssignale M130, M131 (z.B. Write) in der Einheit M100 den Betriebsmodus einstellen – z.B. Performanzmodus (ohne Vergleich) oder Vergleichsmodus (mit Vergleich der Signale M120, M121 und/oder der Signale M170, M171, die z.B. von peripheren Einheiten kommen). Im Performanzmodus werden die Ausgänge M120, M121 gegebenenfalls in Verbindung mit Steuersignalen auf die Ausgänge M160, M161 weitergeleitet und umgekehrt die Eingänge M170, M171 auf M150, M151. Im Vergleichsmodus werden die Ausgänge verglichen und vorteilhafterweise nur im fehlerfreien Fall an M160, M161 weitergeleitet, wobei wahlweise beide Ausgänge benutzt werden, oder nur einer von beiden. Ebenso ist eine Überprüfung von Eingangsdaten M170, M171 möglich, die an die Verarbeitungseinheiten weitergeleitet werden. Bei einem fehlerhaften Vergleich der Signale im Vergleichsmodus wird ein Fehlersignal generiert und – z.B. mittels double-rail Signalen: fehlersicher – nach außen signalisiert (Bestandteil der Statusinformation M169). Der Status M169 kann auch den Betriebsmodus oder Informationen über den zeitlichen Versatz der Signale der Ausführungseinheiten beinhalten. Im Falle der Nichtbereitstellung von Vergleichsdaten einer Verarbeitungseinheit in einem vorgegebenen (programmierbaren) Zeitintervall wird das Fehlersignal auch aktiviert. Im Falle eines Fehlers können die Ausgänge M160, M161 gesperrt werden (fail silent Verhalten). Das kann sowohl digitale als auch analoge Signale betreffen. Diese Ausgangstreiberstufen können aber auch die unverzögerten (nicht zwischengespeicherten) Ausgangssignale M120, M121 einer Verarbeitungseinheit ausgeben, mit der Möglichkeit der nachträglichen Fehlerentdeckung. Das wird von einem sicherheitsrelevanten System toleriert, solange die Fehlertoleranzzeit nicht überschritten wird, d.h. die Zeit, die ein (träges) System noch nicht katastrophal auf Fehler reagiert und deshalb noch die Möglichkeit der Korrektur besteht.In 2 a detailed two-processor or two μC system with a switching and comparison unit M100 according to the invention is shown, in which optionally also various of the drawn signals can be dispensed with. It consists of two processing units (M110, M111) and a switchover and comparison unit M100. From each processing unit, data signals (M120, M121) and address / control signals (M130, M131) go to the switching unit, and each processing unit optionally also receives data from the switching unit (M150, M151) and control signals (M140, M141). The unit M100 outputs data (M160, M161) and status information M169 and receives signals such as data (M170, M171) and control signals M179, which can also be forwarded to the processing units. Via M170, M171 and M179, the operating mode of the unit M100 can optionally also be set independently of the processing units; Similarly, the processors can set the operating mode via the outputs M120, M121 (eg data bus) and the control and address signals M130, M131 (eg Write) in the unit M100 - eg performance mode (without comparison) or comparison mode (with comparison of the signals M120, M121 and / or the signals M170, M171, coming from eg peripheral units). In the performance mode, the outputs M120, M121 are forwarded to the outputs M160, M161, if necessary in conjunction with control signals, and conversely the inputs M170, M171 to M150, M151. In comparison mode, the outputs are compared and advantageously forwarded to M160, M161 only in the error-free case, where either both outputs are used, or only one of them. Similarly, a check of input data M170, M171 is possible, which are forwarded to the processing units. In the case of a faulty comparison of the signals in comparison mode, an error signal is generated and eg using double-rail signals: fail-safe - signaled to the outside (component of status information M169). Status M169 may also include the operating mode or information about the skew of the execution unit signals. In the case of non-provision of comparison data of a processing unit in a predetermined (programmable) time interval, the error signal is also activated. In case of an error, the outputs M160, M161 can be disabled (fail silent behavior). This can affect both digital and analog signals. However, these output driver stages can also output the instantaneous (non-buffered) output signals M120, M121 of a processing unit, with the possibility of subsequent error detection. This is tolerated by a safety-related system as long as the fault tolerance time is not exceeded, ie the time that a (sluggish) system is not yet catastrophically responding to errors and therefore still has the possibility of correction.

Auch Ausgangssignale M180, M181, die nicht in die UVE geführt werden und interne Signale einer Verarbeitungseinheit, können zumindest bezüglich ihres berechneten Wertes verglichen werden, indem man diesen Wert auf den Ausgängen M120, M121 zum Zwecke des Vergleichs ausgibt. Entsprechendes kann auch mit Eingangssignalen M190, M191, die nicht über M100 kommen, durchgeführt werden.Also Output signals M180, M181, which are not led to the UVE and internal signals of a processing unit, at least in terms of Their calculated value can be compared by taking this value on the outputs M120, M121 for purposes of comparison. Corresponding can also with input signals M190, M191, which do not come via M100.

Um die Einheit M100 zu überwachen kann es für ausgewählte oder auch alle Signale M160, M161 möglich sein, sie über M170, M171 oder auch M190, M191 zurück zu lesen. Damit kann man auch im Vergleichsmodus sicherstellen, dass fehlerhafte Signale aus der Einheit M100 detektiert werden. Durch einen geeigneten Abschaltpfad, auf den (in einer ODER-Verknüpfung) M100, M110, M111 Zugriff haben, kann damit ein fail-silence Verhalten des gesamten Systems hergestellt werden.Around to monitor the unit M100 can it for selected or all signals M160, M161 may be possible, they are via M170, M171 or M190, M191 back to read. This can also ensure in comparison mode, that erroneous signals from the unit M100 are detected. Through a suitable shutdown path to which (in an OR operation) M100, M110, M111 access, thus can have a fail-silence behavior of the entire system.

In 3 ist eine mögliche Implementierung der Umschalt- und Vergleichseinheit M100 aus 2 im Detail dargestellt. Die Einheit M100 enthält ein Controlregister M200 mit mindestens einem Bit, das den Modus (Performanz/Vergleich) darstellt und ein Statusregister M220 mit mindestens einem Bit, das den Fehlerzustand im Vergleichsmodus darstellt. Die Wait- und Interruptsignale werden von weiteren Bits im Controlregister für jeweils beide Verarbeitungseinheiten gesteuert. Dabei ist auch gegebenenfalls zwischen verschiedenen Interrupts zu unterscheiden, wie zum Beispiel für Synchronisationszwecke, zum Vorbereiten auf die Betriebsmodusumschaltungen sowie für die Fehlerbehandlung.In 3 is one possible implementation of the switching and comparison unit M100 2 shown in detail. The unit M100 contains a control register M200 with at least one bit representing the mode (performance / comparison) and a status register M220 with at least one bit representing the error status in comparison mode. The wait and interrupt signals are controlled by further bits in the control register for both processing units. It may also be necessary to differentiate between different interrupts, for example for synchronization purposes, for preparing for the operating mode switches and for error handling.

Optional gibt es weitere Controlregister, wie z.B. M240, das die maximal erlaubte Zeitzdifferenz (in Anzahl von Taktperioden) zwischen den Verarbeitungseinheiten zur Ansteuerung eines internen oder externen Watchdogs enthält, sowie M241 mit dem Zeitdifferenzwert (Taktperiodenanzahl), ab welchem der schnellste Prozessor mittels WAIT- oder Interrupt-Signalen zeitweise angehalten bzw. verzögert werden soll, um beispielsweise einen Überlauf von Datenregistern zu verhindern.optional There are other control registers, such as M240, which is the maximum allowed time difference (in number of clock periods) between the Processing units for controlling an internal or external Contains watchdogs, and M241 with the time difference value (clock period number), from which the fastest processor temporarily stopped by means of WAIT or interrupt signals or delayed supposed to, for example, an overflow of data registers.

Im Statusregister M220 wird z.B. neben dem Error-Bit auch gespeichert, wie groß der Taktversatz zwischen den Verarbeitungseinheiten aktuell ist. Dazu wird z.B. mindestens ein Timer M230 immer von einer Verarbeitungseinheit gestartet wenn ein (über Adress-und Steuersignale, z.B. bestimmter Adressbereich) besonders gekennzeichneter Datenwert zuerst bereitgestellt wird und der Wert des Timers immer dann ins Statusregister übernommen, wenn der entsprechende Datenwert von der zweiten Verarbeitungseinheit bereitgestellt wird. Der Timer wird darüber hinaus vorzugsweise so eingestellt, dass auch bei unterschiedlichen Programmabläufen entsprechend der WCET (worst case execution time) garantiert alle Verarbeitungseinheiten ein Datum liefern müssen. Falls der vorgegebene Wert vom Timer überschritten wird, wird ein Fehlersignal ausgegeben.in the Status register M220 is e.g. stored next to the error bit as well, how big the Clock offset between the processing units is up to date. To is e.g. at least one timer M230 always from a processing unit started when a (over Address and control signals, e.g. certain address range) especially indicated data value is provided first and the value the timer is always taken into the status register, if the corresponding Data value is provided by the second processing unit. The timer will be over also preferably set so that even at different Program sequences accordingly WCET (worst case execution time) guarantees all processing units have to deliver a date. If the preset value is exceeded by the timer, a Error signal output.

Die Ausgänge M120, M121 der Verarbeitungseinheiten sind in M100 insbesondere für den Vergleichsmodus in einem Pufferspeicher M250, M251 zu speichern, sofern es sich um digitale Daten handelt und sie nicht taktgenau bereitgestellt werden können. Vorzugsweise kann dieser Speicher als FIFO ausgeführt sein. Besitzt dieser Speicher nur eine Tiefe von 1 (Register), so ist z.B. durch Wait-Signale dafür zu sorgen, dass die Ausgabe weiterer Werte bis zum erfolgten Vergleich verzögert wird, um einen Datenverlust zu vermeiden.The outputs M120, M121 of the processing units are in M100 in particular for the comparison mode in a buffer memory M250, M251 store, provided it is digital data and they are not provided in a timely manner can be. Preferably, this memory may be implemented as a FIFO. If this memory only has a depth of 1 (register), then e.g. by wait signals for it to ensure that the output of other values until the comparison delayed is to avoid data loss.

Weiterhin gibt es eine Vergleichseinheit M210, die die digitalen Daten aus den Eingangsspeichern M250, M251, den direkten Eingängen M120, M121 oder M170, M171 miteinander vergleicht. Diese Vergleichseinheit kann auch serielle digitale Daten (z.B. PWM-Signale) miteinander vergleichen, wenn man z.B. in der Speichereinheit M250, M251 die seriellen Daten empfangen und in parallele Daten umwandeln kann, die dann in M210 verglichen werden. Ebenso können asynchrone digitale Eingangssignale M170, M171 über zusätzliche Speichereinheiten M270, M271 synchronisiert werden. Wie auch für die Eingangssignale 120, 121, werden diese vorzugsweise in einem FIFO zwischengepuffert.Farther is there a comparison unit M210 that outputs the digital data the input memories M250, M251, the direct inputs M120, M121 or M170, M171 compared with each other. This comparison unit can also compare serial digital data (e.g., PWM signals) with one another e.g. in the memory unit M250, M251 receive the serial data and convert to parallel data, which is then compared in M210 become. Likewise asynchronous digital input signals M170, M171 via additional memory units M270, M271 be synchronized. As with the input signals 120, 121, these are preferably buffered in a FIFO.

Die Umschaltung zwischen Performance- und Vergleichsmodus erfolgt durch Setzen oder Rücksetzen des Modus-Bits im Controlregister, wodurch z.B. entsprechende Interrupts in den beiden Verarbeitungseinheiten verursacht werden. Der Vergleich selbst wird durch die bereitgestellten Daten M120, M121 sowie den dazugehörigen Adressen und Steuersignalen M130, M131 everanlasst. Dabei können bestimmte Signale aus M120 und M130 bzw. M121 und M131 als Kennung fungieren, die angibt, ob ein Vergleich der zugeordmneten Daten erfolgen soll.Switching between performance and comparison mode is done by setting or resetting the mode bit in the control register, which causes eg corresponding interrupts in the two processing units. The Ver the same is itself everanlasst by the provided data M120, M121 and the associated addresses and control signals M130, M131. In this case, certain signals from M120 and M130 or M121 and M131 can act as an identifier indicating whether a comparison of the assigned data is to take place.

Dies ist eine weitere Ausführungsform gegenüber der einfachen Umschaltung in 1. Hier sind vorteilhafterweise beim Übergang in einen Vergleichsmodus mittels der Interrupt-Routinen verschiedene Vorbereitungen zu treffen, damit gleiche Anfangs-Bedingungen für beide Verarbeitungseinheiten geschaffen werden. Ist die Verarbeitungseinheit damit fertig, wird von ihr das prozessorspezifische Ready-Bit im Controlregister gesetzt und die Verarbeitungseinheit bleibt im Wartezustand, bis auch der andere Verarbeitungseinheit seine Bereitschaft durch sein Ready-Bit signalisiert (siehe auch Beschreibung des Contolregisters in 6).This is another embodiment over the simple switching in 1 , Here, advantageously, during the transition to a comparison mode by means of the interrupt routines, various preparations have to be made so that the same initial conditions are created for both processing units. If the processing unit is done with it, the processor-specific ready bit in the control register is set by her and the processing unit remains in the wait state until the other processing unit indicates its readiness by its ready-bit (see also description of the Contolregister in 6 ).

In dieser Vergleichseinheit können ebenso analoge Daten in einer speziell dafür geeigneten analogen Vergleichseinheit M211 (analog compare unit) miteinander verglichen werden. Das setzt aber voraus, dass die Ausgabe der analogen Signale genügend synchron zueinander erfolgt oder dass man in der analog compare unit eine Speicherung der durch einen dort implementierten ADC digitalisierten Daten vorsieht (siehe dazu weitere Ausführungen zu den 12 bis 14). Die Synchronität kann man erreichen, indem man die digitalen Ausgaben der Verarbeitungseinheiten (Daten, Adress- und Steuersignale) wie oben beschrieben miteinander vergleicht und die zu schnellen Verarbeitungseinheit warten lässt. Zu diesem Zwecke kann man auch die digitalen Signale, die als Quelle der analogen Signale im Verarbeitungseinheit verarbeitet werden, über die Ausgänge M120, M121 an die Einheit M100 geben, obwohl diese Signale sonst extern nicht benötigt werden. Dieser redundante Vergleich zusätzlich zum Vergleich der analogen Signale sorgt dafür, dass ein Fehler in der Berechnung schon frühzeitiger erkannt werden kann und außerdem erleichtert das die Synchronisation der Verarbeitungseinheiten. Der Vergleich der analogen Signale bewirkt eine zusätzliche Fehlererkennung für den DAC (digital to analog converter) der Verarbeitungseinheit. In anderen Strukturen der DCSL-Architekturen ist eine solche Möglichkeit nicht gegeben.In this comparison unit analogue data can also be compared with one another in a suitable analog comparison unit M211 (analogue compare unit). This presupposes, however, that the output of the analogue signals is sufficiently synchronous with each other or that the analogue compare unit provides for the storage of the data digitized by an ADC implemented there (see further comments on this) 12 to 14 ). Synchronicity can be achieved by comparing the digital outputs of the processing units (data, address and control signals) as described above and maintaining the processing unit too fast. For this purpose, the digital signals which are processed as the source of the analog signals in the processing unit can also be supplied via the outputs M120, M121 to the unit M100, although these signals are otherwise not needed externally. This redundant comparison in addition to the comparison of the analog signals ensures that an error in the calculation can be detected earlier and also facilitates the synchronization of the processing units. The comparison of the analog signals causes additional error detection for the DAC (digital to analog converter) of the processing unit. In other structures of the DCSL architectures such a possibility does not exist.

Für analoge Eingangssignale von den peripheren Einheiten ist auch ein Vergleich möglich. Insbesondere wenn es sich um redundante Sensorsignale des gleichen Systemparameters handelt, benötigt man dann keine zusätzlichen Synchronisationsmaßnahmen, sondern nur gegebenenfalls ein Steuersignal, das die Gültigkeit der Sensorsignale anzeigt. Die Realisierung eines Vergleichs analoger Signale wird im Detail noch gezeigt.For analog Input signals from the peripheral units is also a comparison possible. Especially when it comes to redundant sensor signals of the same System parameter is needed you then no additional Synchronization measures but only optionally a control signal that is the validity indicates the sensor signals. The realization of a comparison analog Signals will still be shown in detail.

4 zeigt ein Multiprozessorsystem mit wenigstens n + 1 Verarbeitungseinheiten, wobei jede dieser Komponenten wiederum auch aus mehreren Teil-Verarbeitungseinheiten (CPUs, ALUs, DSPs mit entsprechenden Zusatzkomponenten) bestehen kann. Die Signale dieser Verarbeitungseinheiten werden genauso mit einer Umschalt- und Vergleichseinheit verbunden, wie es im Zweier-System nach 2 beschrieben wurde. Alle Komponenten und signale in dieser Figur haben deshalb inhaltlich die gleiche Bedeutung wie die entsprechenden Komponenten und Signale in 2. Die Umschalt- und Vergleichseinheit M300 kann im Multiprozessor-System unterscheiden zwischen dem Performanzmodus (alle Verarbeitungseinheiten arbeiten verschiedene Tasks ab), verschiedenen Vergleichsmodi (die Daten zweier oder auch mehrerer Verarbeitungseinheiten sollen verglichen werden und bei Abweichungen soll ein Fehler signalisiert werden) und verschiedenen Votingmodi (Mehrheitsentscheid bei Abweichung nach unterschiedlichen vorgebbaren Algorithmen). Für jede Verarbeitungseinheit kann dabei separat entschieden werden, in welchem Modus sie arbeitet und mit welchen anderen Verarbeitungseinheiten zusammen sie gegebenenfalls in diesen Modi arbeitet. Wie die Umschaltung genau erfolgt, wird im Anschluss bei der Beschreibung der Controlregister nach 6 weiter ausgeführt. 4 shows a multiprocessor system with at least n + 1 processing units, each of these components in turn can also consist of several sub-processing units (CPUs, ALUs, DSPs with corresponding additional components). The signals of these processing units are also connected to a switching and comparison unit, as in the two-system after 2 has been described. All components and signals in this figure therefore have the same meaning in content as the corresponding components and signals in 2 , In the multiprocessor system, the M300 switchover and comparison unit can differentiate between the performance mode (all processing units execute different tasks), different comparison modes (the data of two or more processing units are to be compared and an error is to be signaled in case of deviations) and different voting modes ( Majority decision in case of deviation according to different predefinable algorithms). For each processing unit can be decided separately, in which mode it works and with what other processing units together they may work in these modes. Exactly how the switchover takes place is described later in the description of the control registers 6 continue running.

5 zeigt eine mögliche Implementierung einer Umschalteinheit für ein Multiprozessorsystem mit n + 1 Verarbeitungseinheiten. Für jeden Verarbeitungseinheit ist mindestens ein Controlregister M44i in der Steuereinheit des Umschalt- und Vergleichsmoduls vorgesehen. Ein bevorzugter Satz von Controlregistern ist in 6 ausführlich gezeigt und beschrieben. Dabei entspricht M44i jeweils dem Controlregister Ci. 5 shows a possible implementation of a switching unit for a multiprocessor system with n + 1 processing units. For each processing unit, at least one control register M44i is provided in the control unit of the switching and comparison module. A preferred set of control registers is in 6 shown and described in detail. M44i corresponds to the control register Ci.

Verschiedene Ausführungsformen im Controlregister sind denkbar. Es kann über geeignete Bitkombinationen beschrieben werden, ob ein Fehlererkennungs- oder ein Fehlertoleranzmuster verwendet werden soll. Je nach Aufwand, den man in die Einheit M300 steckt, kann man auch noch angeben, welchen Typ von Fehlertoleranzmuster (2 aus 3, Median, 2 aus 4, 3 aus 4, FTA, FTM...) man verwenden will. Weiter kann man es konfigurierbar gestalten, welchen Ausgang man durchschaltet. Man kann auch danach Ausführungsformen bilden, welche Komponenten für welches Datum auf diese Konfiguration Einfluss nehmen können.Various embodiments in the control register are conceivable. It can have appropriate bit combinations be described whether an error detection or a fault tolerance pattern should be used. Depending on the effort you put into the unit M300 you can also specify which type of fault tolerance pattern (2 out of 3, median, 2 out of 4, 3 out of 4, FTA, FTM ...) you want to use. Next you can make it configurable, which output one turns on. It is also possible then to form embodiments which Components for which Date on this configuration can influence.

Die Ausgangssignale der beteiligten Verarbeitungseinheiten werden dann in der Umschalteinheit miteinander verglichen. Da die Signale nicht notwendigerweise taktgenau verarbeitet werden, ist eine Zwischenspeicherung der Daten erforderlich. Dabei können auch Daten in der Umschalteinheit verglichen werden, die mit einer größeren Zeitdifferenz von den verschiedenen Verarbeitungseinheiten an die Umschalteinheit gegeben werden. Durch die Verwendung eines Zwischenspeichers (z.B. ausgebildet als FIFO-Speicher: first in – first out oder auch in einer anderen Pufferform) können auch zunächst von einem Verarbeitungseinheit mehrere Daten empfangen werden, während andere Verarbeitungseinheiten noch keine Daten bereitstellen. Dabei ist ein Maß für die Synchronität der beiden Verarbeitungseinheiten der Füllstand des FIFO-Speichers. Wird ein bestimmter vorgebbarer Füllstand überschritten, so wird die in der Bearbeitung am weitesten vorangeschrittene Verarbeitungseinheit entweder durch ein vorhandenes WAIT-Signal oder durch geeignete Interrupt-Routinen zeitweise angehalten, um auf die langsamer in der Bearbeitung voranschreitenden Verarbeitungseinheiten zu warten. Die Überwachung sollte dabei auf alle extern verfügbaren Signale einer Verarbeitungseinheit ausgedehnt werden; das schließt auch analoge Signale oder PWM-Signale mit ein. In der Umschalteinheit sind dazu Strukturen vorzusehen, die einen Vergleich solcher Signale zulassen. Zusätzlich wird vorgeschlagen, eine maximale Zeitabweichung zwischen den zu vergleichenden Daten vorzugeben und mittels mindestens eines Timers zu überwachen.The output signals of the processing units involved are then compared with one another in the switching unit. Since the signals are not necessarily processed clock-accurate, a caching of the data is required. there It is also possible to compare data in the switching unit which is given to the switching unit with a greater time difference from the different processing units. By using a buffer (eg designed as FIFO memory: first-in-first-out or else in a different buffer form), a plurality of data can initially also be received by one processing unit, while other processing units do not yet provide any data. In this case, a measure of the synchronicity of the two processing units is the fill level of the FIFO memory. If a certain predefinable fill level is exceeded, the processing unit furthest advanced in the processing is temporarily stopped either by an existing WAIT signal or by suitable interrupt routines, in order to wait for the slower processing units progressing in the processing. The monitoring should be extended to all externally available signals of a processing unit; this also includes analog signals or PWM signals. In the switching unit structures are provided to allow a comparison of such signals. In addition, it is proposed to specify a maximum time deviation between the data to be compared and to monitor it by means of at least one timer.

Werden im allgemeinen Fall mehr als zwei Verarbeitungseinheiten durch eine gemeinsame Umschalteinheit miteinander verbunden, so ist für jede diese Verarbeitungseinheiten oder Verarbeitungseinheiten ein Controlregister erforderlich. Eine spezielle Ausführung dieser Controlregister ist in 6 erklärt.In the general case, if more than two processing units are interconnected by a common switching unit, a control register is required for each of these processing units or processing units. A special version of these control registers is in 6 explained.

Die (n + 1) unteren Bits B500x bis B50nx des jeweiligen Controlregisters Cx sind den n + 1 Prozessoren/Verarbeitungseinheiten eindeutig zugeordnet. Das Bit B514x des Controlregisters Cx schaltet zwischen Vergleich/Voting einerseits und paralleler Arbeit andererseits um und entspricht dem Wert von B16 aus 1. Das Bit B513x zeigt an, ob die betreffende Verarbeitungseinheit bereit zum Vergleich ist (Ready), das Bit B512x steuert das Synchronisationssignal (WAIT oder INTERRUPT) und das Bit B511x kann benutzt werden, um die entsprechende Verarbeitungseinheit x durch einen Interrupt auf den Vergleich vorzubereiten. Entsprechend steuert das Bit B5110x einen Interrupt, der die Verarbeitungseinheit in den Parallelmodus zurückschaltet.The (n + 1) lower bits B500x to B50nx of the respective control register Cx are uniquely assigned to the n + 1 processors / processing units. The bit B514x of the control register Cx switches between comparison / voting on the one hand and parallel work on the other hand and corresponds to the value of B16 1 , Bit B513x indicates whether the processing unit in question is ready for comparison, bit B512x controls the synchronization signal (WAIT or INTERRUPT) and bit B511x can be used to prepare the corresponding processing unit x for the comparison by an interrupt. Similarly, bit B5110x controls an interrupt that returns the processing unit to parallel mode.

Sind B50ik und B50kk des Controlregisters Ck auf Eins gesetzt (0 ≤ i, k ≤ n)., so bedeutet das in dieser ausführungsform, daß die Ausgänge der Verarbeitungseinheit i mit denen vom Verarbeitungseinheit k verglichen werden sollen. Ist zusätzlich auch B50jk gleich Eins, dann soll zwischen i, j und k gevotet werden und das Votingergebnis wird am Ausgang k der UVE ausgegeben (0 ≤ i, j, k ≤ n). Dazu kann für jede Gruppe von Verarbeitungseinheiten eine spezielle Art des Votings oder auch nur eines mehrheitlichen Vergleichs festgelegt werden, wie schon in der Erläuterung zum Bild M4 aufgezählt wurde. Allgemein müssen alle Bits B50ik für die zu vergleichenden/zu votenden Verarbeitungseinheiten i (im Controlregister Ck) gesetzt sein, wenn am Ausgang k der UVE das Votingergebnis ausgegeben werden soll. Eine parallele Ausgabe auf anderen Ausgängen ist möglich.are B50ik and B50kk of the control register Ck is set to one (0≤i, k≤n)., So means in this embodiment, that the outputs the processing unit i with those of the processing unit k to be compared. In addition, B50jk is equal to one, then voted between i, j and k and the voting result is output at the output k of the UVE (0≤i, j, k≤n). This can be done for each group of processing units a special way of voting or even only a majority settlement can be determined, as already in the explanation to the picture M4 enumerated has been. General need all bits B50ik for the processing units i to be compared / voted (in the control register Ck), if at the output k the UVE outputs the voting result shall be. Parallel output on other outputs is possible.

Eine Eins in B50ii des Controlregisters i (0 ≤ i, ≤ n) gibt an, daß der Ausgang i der Vergleichseinheit aktiv sein soll. Tragen alle Controlregister Ci nur in den entsprechenden Speicherstellen B50ii eine Eins (i = 0, 1,...n), so arbeiten alle Verarbeitungseinheiten im Performanzmodus mit beliebig unterschiedlichen Programmen und eigenen Ausgangssignalen. Sind alle n + 1 unteren Bits B50ik gleich Eins (i = 0, 1,...n), und ist außerdem B514k gesetzt, dann werden die Ausgangssignale aller Verarbeitungseinheiten durch Mehrheitsentscheid (Voting) ausgewählt und auf den Ausgang k der UVE ausgegeben; bei n = 1 findet nur ein Vergleich statt.A One in B50ii of the control register i (0 ≤ i, ≤ n) indicates that the output i should be active in the comparison unit. Carry all control registers Ci only in the corresponding memory locations B50ii a one (i = 0, 1, ... n), all processing units work in performance mode with arbitrarily different programs and own output signals. If all n + 1 lower bits B50ik are equal to one (i = 0, 1, ... n), and is as well B514k set, then the output signals of all processing units by voting by majority vote and to the output k of the UVE issued; if n = 1, only one comparison takes place.

In den folgenden Ausführungen wird beispielhaft beschrieben, wie ein Ablauf beim Übergang zu einem Vergleich/Voting in einem System mit mehreren Verarbeitungseinheiten aussehen kann.In the following versions is described as an example, as a process in the transition to a comparison / voting in a system with several processing units can look like.

Das Bit B514i im Controlregister Ci wird gesetzt, um den Vergleich oder das Voting zu aktivieren. Dieses Bit kann sowohl durch den Verarbeitungseinheit selbst gesetzt werden, als auch von den Umschalt-und Vergleichseinheit in Abhängigkeit von bestimmten Systemzuständen, Zeitbedingenungen oder anderen Bedingungen (wie zum Beispiel Zugriffen auf bestimmte Speicherbereiche, Fehler oder Unplausibilitäten). Werden mit B514i die Bits B50ii und B50ki gesetzt, werden durch die UVE automatisch die Bits B511i und B511k gesetzt und dadurch Interrupts in den Verarbeitungseinheiten i und k ausgelöst. Diese Interrupts bewirken, daß die Verarbeitungseinheiten an eine bestimmte Programmstelle springen, bestimmte Initialisierungsschritte für den Übergang zum zum Vergleichsmodus durchführen und dann eine Rückmeldung (Ready) an die Umschalt- und Vergleichseinheit ausgeben. Das Ready-Signal bewirkt ein automatisches Zurücksetzen des Interrupt-Bits B511i im jeweiligen Controlregister Ci der Verarbeitungseinheit und gleichzeitig das Setzen des Wait-Bits B512i. Wenn alle Wait-Bits der beteiligten Verarbeitungseinheiten gesetzt sind, werden sie von der Umschalt- und Vergleichseinheit gleichzeitig zurückgesetzt. Die Verarbeitungseinheiten beginnen dann mit der Abarbeitung der zu überwachenden Programmteile. In einer vorteilhaften Ausführungsform ist ein Schreiben auf ein Controlregister Ci mit gesetztem Bit B514i durch Verriegelung (HW oder SW) verhindert. Das bewirkt sinnvollerweise, dass die Konfiguration des Vergleichs nicht während der Abarbeitung geändert werden kann. Eine Änderung im Controlregister Ci ist erst nach dem Rücksetzen des Bits B514i möglich. Dieses Rücksetzen bewirkt Interrupts in den betreffenden Verarbeitungseinheiten durch Setzen der Bits B510x in den Controlregistern aller beteiligten Verarbeitungseinheiten zum Übergang in den Normalmodus (parallele Arbeitsweise).The bit B514i in the control register Ci is set to activate the comparison or the voting. This bit may be set by the processing unit itself as well as by the switching and comparing unit depending on certain system conditions, timing conditions or other conditions (such as accessing particular memory areas, errors or implausibilities). If bits B50ii and B50ki are set with B514i, the UVE automatically sets bits B511i and B511k, triggering interrupts in the processing units i and k. These interrupts cause the processing units to jump to a particular program location, perform certain initialization steps to transition to the compare mode, and then issue a feedback to the switch and compare unit. The ready signal causes an automatic reset of the interrupt bit B511i in the respective control register Ci of the processing unit and at the same time the setting of the wait bit B512i. If all wait bits of the processing units involved are set, they are reset by the switchover and compare unit simultaneously. The processing units then start to process the program parts to be monitored. In an advantageous embodiment, writing to a control register Ci with the bit B514i set is prevented by locking (HW or SW). This makes sense, that the configuration of the comparison can not be changed during execution. A change in the control register Ci is possible only after resetting the bit B514i. This reset causes interrupts in the respective processing units by setting bits B510x in the control registers of all involved processing units to transition to normal mode (parallel operation).

Die Konsistenz aller Controlregister zueinander wird entsprechend Anwendervorgaben überwacht und im Fehlerfalle wird ein Fehlersignal generiert, das Bestandteil der Statusinformationen ist. So darf es zum Beispiel nicht vorkommen, dass eine Verarbeitungseinheit gleichzeitige für mehrere unabhängige Vergleichs- oder Votingprozesse verwendet werden, weil dann die Synchronisation nicht gewährleistet ist. Denkbar ist aber ein Vergleich auch mehrerer Verarbeitungseinheiten ohne eine Ausgabe der Datensignale, sondern nur zu dem Zwecke, ein Fehlersignal bei Ungleichheit zu erzeugen.The Consistency of all control registers to each other is monitored according to user specifications and in the event of an error, an error signal is generated, the component the status information is. For example, it should not happen that one processing unit simultaneously performs simultaneous comparisons for several independent or voting processes are used, because then the synchronization not guaranteed is. Conceivable, however, is a comparison of several processing units without an output of the data signals, but only for the purpose of Generate error signal in case of inequality.

In einer weiteren Ausführungsform ist der Eintrag in mehreren oder allen Controlregistern der an einem Vergleich oder einem Voting beteiligten Verarbeitungseinheiten gleichartig vorzunehmen, d.h. die entsprechenden Bits dieser Verarbeitungseinheiten sind dort gleichartig zu setzen, ggf. mit Ausnahme des eigenen Bits i, das die Ausgabe steuert.In a further embodiment is the entry in several or all control registers on one Comparison or a voting involved processing units similar to make, i. the corresponding bits of these processing units are to be set the same, if necessary with the exception of the own bit i controlling the output.

In 7 ist die Voting-Einheit Q100 für zentrales Voting dargestellt. Das Voten kann sowohl mittels geigneter Hardware als auch softwaremäßig durchgeführt werden. Der Voting-Algorithmus (z.B. bitgenaues Voting) ist dazu vorzugeben. Die Voting-Einheit Q100 erhält dabei mehrere signale Q110, Q111, Q112 und bildet aus diesen ein Ausgangssignal Q120, das durch Voting (z.B. eine m aus n-Auswahl) entsteht.In 7 is the voting unit Q100 shown for central voting. Voting can be carried out both by means of suitable hardware and by software. The voting algorithm (eg bit-accurate voting) is to be specified. The voting unit Q100 receives several signals Q110, Q111, Q112 and forms from these an output signal Q120, which results from voting (eg an m out of n selection).

Tritt ein Fehler beim Vergleich auf, wird in dem betreffenden Controlregister das Error-Bit gesetzt. Bei einem Voting wird das Datum der betreffenden Verarbeitungseinheit ignoriert; bei einem einfachen Vergleich der Ausgang gesperrt.kick an error in the comparison, is in the respective control register the error bit is set. In a voting, the date of the relevant Processing unit ignored; in a simple comparison of the Output blocked.

Alle Daten, die nicht rechtzeitig vor Ablauf der programmierten Zeit bereitstehen, werden wie Fehler behandelt. Das Rücksetzen der Error-Bits erfolgt systemabhängig und ermöglicht gegebenenfalls eine Reintegration der betreffenden Verarbeitungseinheit Für den Fall, daß die Verarbeitungseinheiten und/oder der Voter nicht räumlich konzentriert angeordnert sind, ist auch ein dezentrales Voting in Verbindung mit einem geeigneten Bussystem gemäß 8 möglich. In 8 wird eine dezentrale Votingeinheit Q200 von eine Steuereinheit Q210 kontrolliert. Sie ist über Bussysteme Q221, Q222 angebunden, erhält Daten über diese Bussysteme und gibt sie auch dort wieder aus.Any data not available in time before the programmed time expires will be treated as error. The resetting of the error bits is system-dependent and possibly enables reintegration of the processing unit concerned. In the event that the processing units and / or the voter are not spatially concentrated, a decentralized voting in conjunction with a suitable bus system is also provided 8th possible. In 8th a remote voting unit Q200 is controlled by a control unit Q210. It is connected via bus systems Q221, Q222, receives data via these bus systems and also outputs them there.

Die Rücksetzung des Vergleichs- und Votingbits in einem Controlregister mit aktivem Ausgangsbit bewirkt einen Interrupt in den beteiligten Verarbeitungseinheiten, die dann wieder in eine parallele Arbeitsweise zurückgeführt werden. Dabei kann jeder Verarbeitungseinheit eine unterschiedliche Einsprungadresse besitzen, die separat verwaltet wird. Die Programmabarbeitung kann auch dann vom gleichen Programmspeicher aus erfolgen. Die Zugriffe sind aber separat und in der Regel zu unterschiedlichen Adressen. Sofern der sicherheitsrelevante Teil gering ist im Vergleich zu den parallelen Modi ist abzuwägen, ob ein eigener Programmspeicher mit dupliziertem Sicherheitspart eventuell weniger aufwändig ist. Auch der Datenspeicher kann im Performance-Mode gemeinsam benutzt werden. Die Zugriffe erfolgen dann nacheinander beispielsweise mittels des AHB/ABP-Bus.The reset of the comparison and voting bits in a control register with active Output bit causes an interrupt in the participating processing units, which are then returned to a parallel mode of operation. In this case, each processing unit can have a different entry address own, which is managed separately. The program processing can even from the same program memory. The accesses but are separate and usually to different addresses. If the safety-relevant part is low compared to the parallel modes has to be weighed whether its own program memory with duplicated security part possibly less expensive is. The data memory can also be shared in performance mode become. The accesses are then successively, for example by means of of the AHB / ABP bus.

Als Besonderheit ist noch zu erwähnen, daß die Error-Bits vom System ausgewertet werden müssen. Um eine sichere Abschaltung im Fehlerfalle zu gewährleisten, sind die sicherheitsrelevanten Signale in geeigneter Form redundant zu realisieren (zum Beispiel im 1-aus-2 Code).When Special feature is still to mention that the Error bits must be evaluated by the system. For a safe shutdown to ensure in case of failure, are the safety-relevant signals in a suitable form redundant to realize (for example in the 1-out-of-2 code).

In den bisherigen UVEs nach den 1, 2,3,4 und 5 wurde zunächst angenommen, dass die Verarbeitungseinheiten mit gleichen oder voneinander abgeleiteten Takten arbeiten, die zueinander in einer konstanten Phasenbeziehung stehen. Werden für die Verarbeitungseinrichtungen auch Takte von verschiedenen Oszillatoren und Generatoren verwendet, bei denen sich die Phasenbeziehungen ändern, so muss man die damit erzeugten Signale synchronisieren, wenn sie die Taktdomäne wechseln. Ein Synchronisationelement M800 ist dazu in 9 gezeigt. Um insbesondere die digitalen Daten sicher abzuspeichern und zu vergleichen sind dann Synchronisationseinrichtungen M800 erforderlich, die an beliebigen Stellen im Signalfluss angebracht werden können. Diese gewährleisten einmal das Abspeichern der Daten M820 mit dem Takt M830 der Verarbeitungseinheit, die diese Daten bereitstellt. Zum Lesen wird dann der Takt benutzt, mit dem das Datum M840 weiterverarbeitet wird. Eine solche Synchronisationsstufe M800 kann als FIFO ausgebaut sein, um mehrere Daten speichern zu können (siehe 9). Im allgemeinen Fall reicht die Synchronisation der Daten allein nicht aus, sondern es ist auch das Bereitstellungssignal der Daten mit dem Empfangstakt zu synchronisieren.In the previous UVEs after the 1 . 2 . 3 . 4 and 5 At first, it was assumed that the processing units work with equal or derived clocks that are in constant phase relation with each other. If clocks of different oscillators and generators are used for the processing devices, in which the phase relationships change, one must synchronize the signals generated with them when they change the clock domain. A synchronization element M800 is in 9 shown. In order to securely store and compare the digital data in particular, synchronization devices M800 are required, which can be attached anywhere in the signal flow. These once ensure the storage of data M820 with the clock M830 of the processing unit that provides this data. For reading, the clock is then used with which the date M840 is further processed. Such a synchronization stage M800 can be developed as a FIFO in order to be able to store a plurality of data (see 9 ). In the general case, the synchronization of the data alone is not sufficient, but it is also the sync signal of the data to synchronize with the receive clock.

Dazu ist darüber hinaus ein Handshake-Interface erforderlich (10), dass durch Anforderungsisgnale M850 und Quittungssignale M880 die Übernahme gewährleistet. Ein solches Interface ist immer dann notwendig, wenn sich die Taktdomäne ändert, um eine sichere Übertragung der Daten von einer Taktdomäne zur anderen zu gewährleisten. Beim Schreiben werden dabei die Daten M820 aus dem Bereich Q305 mit dem Takt M830 in den Registerzellen M800 synchronisiert zur Verfügung gestellt und ein Schreibanforderungssignal M850 zeigt die Bereitstellung der Daten an. Dieses Schreibanforderungssignal wird von dem Bereich Q306 mit dem Takt M860 in ein Speicherelement M801 übernommen und als synchronisiertes Signal M870 zeigt es die Bereitstellung der Daten an. Mit der nächsten aktiven Taktflanke von Takt M860 wird daraufhin das synchronisierte Datum M840 übernommen und dabei ein Bestätigungssignal M880 zurückgesendet. Dieses Bestätigungssignal wird vom Takt M830 in einem weiteren Speicherelement M801 synchronisiert zum Signal M890 und damit wird die Bereitstellung der Daten beendet. Es können dann neue Daten in das betreffende Register geschrieben werden. Solche Interfaces sind Stand der Technik und bekannt und können in speziellen Ausführungsformen durch eine zusätzliche Codierung besonders schnell arbeiten, ohne auf ein Quittungssignal warten zu müssen.In addition, a handshake interface is required ( 10 ), that the request M850 and acknowledgment signals M880 guarantee acceptance. Such an interface is always necessary when the clock domain changes to ensure secure transmission of data from one clock domain to another. When writing, the data M820 from the area Q305 are provided synchronized with the clock M830 in the register cells M800 and a write request signal M850 indicates the provision of the data. This write request signal is taken from the area Q306 with the clock M860 in a memory element M801 and as a synchronized signal M870 it indicates the provision of the data. With the next active clock edge of clock M860, the synchronized data M840 is then accepted and in the process an acknowledgment signal M880 is sent back. This confirmation signal is synchronized by the clock M830 in another memory element M801 to the signal M890 and thus the provision of the data is terminated. New data can then be written to the relevant register. Such interfaces are state of the art and known and can work in special embodiments by an additional coding very fast, without having to wait for an acknowledgment signal.

In einer besonderen Ausführungsform sind die Speicherelemente M800 als FIFO-Speicher (first- in, first- out) ausgestaltet.In a particular embodiment are the memory elements M800 as FIFO memory (first-in, first- out).

Die Schaltungen zum Vergleich analoger Signale von 11 bis 14 setzen voraus, dass die Verarbeitungseinheiten, die die zu vergleichenden analogen Signale liefern, miteinander so synchronisiert sind, dass der Vergleich sinnvoll ist. Die Synchronisation kann durch die entsprechenden Signale B40 und B41 von 1 erreicht werden.The circuits for comparing analog signals of 11 to 14 assume that the processing units that provide the analog signals to be compared are synchronized with each other so that the comparison makes sense. The synchronization can be done by the corresponding signals B40 and B41 of 1 be achieved.

11 zeigt einen Differenzverstärker. Mit Hilfe dieses Elementes können zwei Spannungen miteinander verglichen werden. 11 shows a differential amplifier. With the help of this element two voltages can be compared.

Dabei ist B100 ein Operationsverstärker, auf dessen negativen Eingang B101 ein Signal B141 geschaltet ist, das über einen Widerstand B110 mit dem Wert Rin mit dem Eingangssignal B111 verbunden ist, an dem der Spannungswert V1 anliegt. Der positive Eingang B102 ist mit dem Signal B142 verbunden, das über den Widerstand B120 mit dem Wert Rin mit dem Eingang B121 verbunden, an dem der Spannungswert V2 anliegt. Der Ausgang B103 dieses Operationsverstärkers ist mit dem Ausgangssignal B190 verbunden, das den Spannungswert Vout besitzt. Das Signal B190 ist über den Widerstand B140 mit dem Wert Rf mit dem Signal B141 verbunden und das Signal B142 ist über den Widerstand B130 mit dem Wert Rf mit dem Signal B131 verbunden, das den Spannungswert des analogen Bezugspunktes Vagnd trägt.In this case, B100 is an operational amplifier, to whose negative input B101 a signal B141 is connected, which is connected via a resistor B110 with the value R in to the input signal B111, to which the voltage value V 1 is applied. The positive input B102 is connected to the signal B142, which is connected via the resistor B120 with the value R in to the input B121, to which the voltage value V 2 is applied. The output B103 of this operational amplifier is connected to the output signal B190, which has the voltage value V out . The signal B190 is connected via the resistor B140 with the value R f with the signal B141 and the signal B142 is connected via the resistor B130 with the value R f with the signal B131 carrying the voltage value of the analog reference point V agnd.

Die Ausgangsspannung kann mit den oben angegebenen Spannungs- und Widerstandswerten nach folgender Formel berechnet werden: Vout = Rf/Rin(V2 – V1). (1) The output voltage can be calculated using the voltage and resistance values given above according to the following formula: V out = R f / R in (V 2 - V 1 ). (1)

Wird der Differenzverstärker nur mit einer positiven Betriebsspannung betrieben, wie üblicherweise bei CMOS, so wird als Analog-Ground Vagnd eine Spannung zwischen Betriebsspannung und Digital-Ground gewählt, üblicherweise das mittlere Potential. Sind die zwei analogen Eingangsspannungen V1 und V2 nur geringfügig unterschiedlich, so wird die Ausgangsspannung Vout nur eine geringe Differenz Vdiff zu dem analogen Ground aufweisen (positiv oder negativ).If the differential amplifier is only operated with a positive operating voltage, as is usually the case with CMOS, a voltage between the operating voltage and the digital ground is selected as the analog ground V agnd , usually the mean potential. If the two analog input voltages V 1 and V 2 are only slightly different, then the output voltage V out will have only a small difference V diff to the analog ground (positive or negative).

Mit Hilfe von 2 Komparatoren wird nun geprüft, ob die Ausgangsspannung oberhalb Vagnd + Vdiff (12) bzw. unterhalb Vagnd – Vdiff zudem analogen Bezugspunkt liegt (13). Dabei wird in 12 das Eigangssignal B221 über den Widerstand B150 mit dem Wert R1 an das Signal B242 angeschlossen, das mit dem positiven Eingang B202 des Operationsverstärkers B200 verbunden ist. Weiterhin wird das Signal B242 über den Widerstand B160 mit dem Wert R2 an das Signal B231 angeschlosssen, das als digitales Bezugspotential Vdgng benutzt wird. Der negative Eingang B201 des Operationsverstärkers wird mit dem Einganssignal 211 verbunden, das den Spannungswert einer Referenzspannung Vref trägt. Der Ausgang B203 des Operationsverstärkers B200 ist mit dem Ausgangssignal B290 verbunden, das den Spannungswert Voben trägt.Using 2 comparators is now checked whether the output voltage is above V diff agnd + V ( 12 ) or below V agnd - V diff is also the analogous reference point ( 13 ). It will be in 12 the input signal B221 is connected to the signal B242 via the resistor B150 having the value R 1 and connected to the positive input B202 of the operational amplifier B200. Furthermore, the signal B242 is connected via the resistor B160 with the value R 2 to the signal B231, which is used as the digital reference potential V dgng . The negative input B201 of the operational amplifier is connected to the input signal 211, which carries the voltage value of a reference voltage V ref . The output B203 of the operational amplifier B200 is connected to the output B290 carrying the voltage V above .

In 13 wird entsprechend das Eingangssignal B321 über den Widerstand B170 mit dem Wert R3 an das Signal B342 angeschlossen, das mit dem negativen Eingang B301 des Operationsverstärkers B300 verbunden ist. Dieses Signal B342 ist weiterhin über den Widerstand B180 mit dem Wert R4 an das Signal B331 angeschlossen, das auch das digitale Bezugspotential Vdgnd trägt. Der positive Eingang B302 des Operationsverstärkers B300 ist mit dem Einganssignal B311 verbunden, das Spannungswert einer Referenzspannung Vref trägt. Der Ausgang B303 des Operationsverstärkers B300 ist mit dem Ausgangssignal B390 verbunden, das den Spannungswert Vunten trägt.In 13 Accordingly, the input signal B321 is connected via the resistor B170 with the value R 3 to the signal B342, which is connected to the negative input B301 of the operational amplifier B300. This signal B342 is further connected via the resistor B180 with the value R4 to the signal B331, which also carries the digital reference potential V dgnd . The positive input B302 of the operational amplifier B300 is connected to the input signal B311 which carries voltage value of a reference voltage V ref . The output B303 of the operational amplifier B300 is connected to the output signal B390, which carries the voltage value V below .

Das wird dadurch erreicht, indem die Widerstände B150, B160, B170 und B180 mit ihren Werten R1, R2, R3 und R4 in Beziehung zu der festen Referenzspannung Vref, die an den Signalen B211 und B311 anliegt, wie folgt dimensioniert werden: Vref = (Vagnd + Vdiff)·R2/(R1 + R2) (2) Vref = (Vagnd – Vdiff)·R4/(R3 + R4) (3) Vdiff = ((V2max – V1min)·Rf/Rin) – Vagnd (4) This is achieved by dimensioning the resistors B150, B160, B170 and B180 with their values R 1 , R 2 , R 3 and R 4 in relation to the fixed reference voltage V ref applied to the signals B211 and B311 as follows become: V ref = (V agnd + V diff ) · R 2 / (R 1 + R 2 ) (2) V ref = (V agnd - V diff ) · R 4 / (R 3 + R 4 ) (3) V diff = ((V 2max - V 1min ) · R f / R in ) - V agnd (4)

Mit V2max wird dabei der maximal tolerierte Spannungswert von V2 an Signal B121 und mit V1min der minimal tolerierte Spannungswert von V1 an Signal B111 bezeichnet. Die Referenzspannungsquelle kann von extern zur Verfügung gestellt werden, oder aber durch eine intern realisierte bandgap (temperaturkompensierte und betriebsspannungsunabhängige Referenzspannung) realisiert werden. In Gleichung (4) wird die maximale tolerierte Differenz Vdiff aus der maximalen positiven Abweichung V2max und der zugehörigen maximalen negativen Abweichung V1min bestimmt, d.h. (V2max – V1min) ist die maximal tolerierte Spannungsabweichung redundanter analoger Signale zueinander, die miteinander verglichen werden sollen.V 2max denotes the maximum tolerated voltage value of V 2 at signal B121 and V 1min the minimum tolerated voltage value of V 1 at signal B111. The reference voltage source can be provided externally, or realized by an internally realized bandgap (temperature-compensated and operating voltage-independent reference voltage). In equation (4), the maximum tolerated difference V diff is determined from the maximum positive deviation V 2max and the associated maximum negative deviation V 1min , ie (V 2max -V 1min ) is the maximum tolerated voltage deviation of redundant analog signals to each other compared to each other should be.

Wird einer der Spannungswerte an den beiden Signale B290 oder B390 (Voben oder Vunten positiv, so liegt eine größere Abweichung der Analogsignale vor, als sie toleriert werden soll. Sofern die Prozessoren, die diese Analogsignale liefern, synchronisiert sind, liegt somit ein Fehler vor, der gespeichert werden muß und ggf. zum Abschalten der Ausgangssignale führt. Die Synchronität ist gegeben, wenn zum Beispiel das Ready-Signal im Controlregister der entsprechenden Verarbeitungseinheiten aktiv ist, oder bestimmte digitale Signale an die UVE gesendet werden, die einen bestimmten Zustand des betreffenden Analogsignals und damit auch den zu vergleichenden Wert im Sinne einer Kennung signalisieren. Eine Schaltung, die den Fehler einspeichert, ist in 14 gezeigt. In dieser Schaltung sind die beiden Eingangssignale B390 und B290 über eine NOR-Schaltung (logische ODER-Schaltung mit nachfolgender Invertierung) B410 zum Ausgangssignal B411 verknüpft. Dieser Signal B411 wird mit dem Eingangssignal B421 in einem weiteren NOR-Element B420 zum Ausgangssignal B421 verknüpft. Dieses Signal B421 wird in einer ODER-Schaltung B430 mit dem Signal B401 zum Signal B431 verknüpft, das als Eingangssignal für das Speicherelement (D-Flip-Flop) B400 dient. Das Ausgangssignal B401 dieses Elements B400 zeigt mit dem Wert 1 einen Fehler an.If one of the voltage values at the two signals B290 or B390 (V up or V down positive, there is a greater deviation of the analog signals than they should be tolerated.) If the processors that supply these analog signals are synchronized, there is thus an error The synchronization is given, for example, when the ready signal in the control register of the corresponding processing units is active, or certain digital signals are sent to the UVE which indicate a certain state of the signal indicating the analogue signal concerned and thus also the value to be compared in the sense of an identifier A circuit which stores the error is in 14 shown. In this circuit, the two input signals B390 and B290 are linked to the output signal B411 via a NOR circuit (logical OR circuit with subsequent inversion) B410. This signal B411 is combined with the input signal B421 in another NOR element B420 to the output signal B421. This signal B421 is linked in an OR circuit B430 with the signal B401 to the signal B431, which serves as an input signal for the memory element (D flip-flop) B400. The output signal B401 of this element B400 indicates an error with the value 1.

Das D-Flip-Flop B400 speichert mit dem Takt B403 eine 1 ein, wenn einer der beiden Spannungswerte Vunten oder Voben an den Signalen B390 bzw. B290 positiv, also als digitales Signal den Wert high trägt, das Signal B421 nicht aktiv ist und kein Reset-Signal B402 anliegt. Der Fehler bleibt solange gespeichert, bis das Signal Reset wenigstens einmal aktiv war.The D-type flip-flop B400 stores a 1 with the clock B403 if one of the two voltage values V below or V at the top of the signals B390 or B290 is positive, ie the value is high as a digital signal, the signal B421 is not active and no reset signal B402 is present. The error remains stored until the signal Reset was active at least once.

Zu beachten ist bei der Dimensionierung der Schaltungen 11 bis 13, daß die Widerstande zueinander matchen, d.h. daß die Widerstandsverhältnisse von Rf und Rin, R1 und R2 sowie R3 und R4 möglichst unabhängig von Fertigungstoleranzen konstant sind. Mit dem Signal B421 kann man steuern, ob die Schaltung aktiv sein soll, oder gerade eine Synchronisation der Verarbeitungseinheiten stattfindet, bei der nicht verglichen werden soll. Das Signal B402 setzt einen vorherigen Fehler zurück und ermöglicht deshalb einen neuen Vergleich.Please note when sizing the circuits 11 to 13 That the resistance to each other matchen, that is, the resistance ratios of R f and R in, R 1 and R 2 and R 3 and R 4 are as independent as possible of manufacturing tolerances constant. With the signal B421 can be controlled whether the circuit should be active, or just takes place a synchronization of the processing units, in which should not be compared. The signal B402 resets a previous error and therefore allows a new comparison.

15 zeigt einen ADC. Dieser ADC kann je nach den bestehenden Anforderungen, wie z.B. bezüglich Wandlunggeschwindigkeit, Genauigkeit, Auflösung, Störfestigkeit, Linearität und Frequenzspektrum mit den verschiedenen bekannten Wandlungsmethoden realisiert werden. So kann man zum Beispiel das Prinzip der sukzessiven Approximation wählen, wo man das Analogsignal mit einem generiertem Signal aus einem Digital-to-Analog-Converter (DAC) mittels eines Komparators vergleicht, wobei man die digitalen Eingangsbits des DAC systematisch vom MSB (most significant bit – höchstwertiges Bit) zum LSB (least significant bit – niedrigstwertiges Bit) probeweise auf high setzt und genau dann wieder zurücksetzt, wenn das analoge Ausgangssignal des DAC einen höheren Wert als das analoge Eingangssignal (das zu wandelnde Signal) hat. Der DAC steuert mit seinen Digitalbits vom LSB zum MSB entweder Widerstände oder Kapazitäten mit den Wichtungen 1, 2, 4, 8, 16,... in der Weise, daß das Setzen des nächsthöheren Bits immer die doppelt so große Auswirkung auf den Analogwert hat, wie das vorherige. Nachdem alle Bits probeweise gesetzt und ggf. wieder zurückgesetzt wurden, entspricht der Wert des Digitalworts der digitalen Representation des analogen Eingangssignals. Für höhere Geschwindigkeitsanforderungen kann bei kontinuierlichen Datenströmen auch ein Konverter verwendet werden, der kontinuierlich das analoge Signal verarbeitet und ein serielles digitales Signal ausgibt, das diesen analogen Datenstrom durch die serielle Bitfolge annähert. Das Digitalwort ist hier durch die in einem Schieberegister gespeicherte Bitfolge repräsentiert. Solche Wandler setzen aber voraus, daß im Wandlungszeitraum ständig Änderungen des analogen Signals erfolgen, weil sie keine konstanten Werte verarbeiten können. 15 shows an ADC. Depending on the existing requirements, such as conversion speed, accuracy, resolution, noise immunity, linearity and frequency spectrum, this ADC can be implemented using the various known conversion methods. For example, one can choose the principle of successive approximation, where one compares the analog signal with a generated signal from a digital-to-analog converter (DAC) by means of a comparator, wherein the digital input bits of the DAC systematically from the MSB (most significant bit - most significant bit) to LSB (least significant bit) is set to high as a test and reset immediately if the DAC's analog output signal is higher than the analog input signal (the signal to be converted). The DAC controls with its digital bits from the LSB to the MSB either resistors or capacitances with the weights 1, 2, 4, 8, 16, ... in such a way that the setting of the next higher bit always has twice the effect on the analog value like the previous one. After all bits have been set and, if necessary, reset again, the value of the digital word corresponds to the digital representation of the analog input signal. For higher speed requirements, continuous data streams can also use a converter that continuously processes the analog signal and outputs a serial digital signal that approximates this analog stream through the serial bit stream. The digital word is here represented by the bit sequence stored in a shift register. However, such transducers presuppose that changes in the analog signal are constantly made during the conversion period because they can not process constant values.

Für niedrigere Geschwindigkeitsanforderungen können auch Wandler nach dem Zählprinzip benutzt werden, die zum Beispiel mittels der Eingansspannung oder des Eingansstroms eine entsprechende konstante Auf- oder Entladung eines zu einem Integrator geschalteten Kondensators bewirken. Die dazu notwendige Zeit wird gemessen und ins Verhältnis gesetzt zu der Zeit, die in der Gegenrichtung zur Ent- bzw. Aufladung des gleichen Kondensators (Integrators) mittels einer Referenzspannungsquelle bzw. eines entsprechenden Referenzstromes notwendig ist. Die Zeiteinheit wird in Takten gemessen und die Zahl der benötigten Takte ist ein Maß für den analogen Eingangswert. Ein solches Verfahren ist zum Beispiel das dual-slope Verfahren, bei dem die eine Flanke (slope) durch die Entladung entsprechend dem Analogwert bestimmt ist und die zweite Flanke durch die Wiederaufladung entsprechend dem Referenzwert bestimmt ist (siehe auch http://www.exstrom.com/journal/adc/dsadc.html).For lower speed requirements also converters can be used according to the counting principle, for example, by means of the input voltage or the input current cause a corresponding constant charging or discharging a capacitor connected to an integrator. The time required for this is measured and set in relation to the time required in the opposite direction to discharge or charge the same capacitor (integrator) by means of a reference voltage source or a corresponding reference current. The time unit is measured in cycles and the number of clocks required is a measure of the analog input value. Such a method is, for example, the dual-slope method in which the one slope is determined by the discharge in accordance with the analog value and the second edge is determined by the recharge according to the reference value (see also http://www.exstrom.com/journal/adc/dsadc.html).

Der ADC B600 von 15 wird gesteuert durch ein Triggersignal B602, das üblicherweise ein Ausgangssignal des Prozessors ist, der das Analogsignal bereitstellt und optional eine Kennung B603, die Auskunft über die Art des analogen Signals gibt, das gerade bereitgestellt wird, um eine Unterscheidung von mehreren analogen Signalen zu ermöglichen. Mit dem Triggersignal B602 wird das gewandelte Analogwort in den Speicherbereich B640 als Digitalwert in ein Register B610 übernommen und optional zusammen mit der Kennung B603, die in B620 abgespeichert wird und eventuell einem zusätzlichen Signal B604 (das ist 1 für die Kennzeichnung eines analogern Wertes), die in dem Speicher B630 abgelegt wird. Der Speicherbereich B640 kann vorteilhafterweise auch als FIFO (first-in, first-out) realisiertwerden, wenn mehrere Werte abgespeichert werden sollen und der zuerst abgespeicherte Wert auch zuerst wieder ausgfegeben werden soll. Wird der Speicherbereich B640 sowohl für digitale als auch für digitalisierte analoge Werte benutzt, so werden vorteilhafterweise alle Digitalwerte um ein Bit A = 0 an der MSB-Stelle ergänzt, entsprechend zu B630, um sie von digitalisierten Analogwerten mit A = 1 (B630) zu unterscheiden (siehe 16 und 17). Sowohl B602 als auch B603 sind Bestandteil der digitalen Ausgangsdaten Oi eines Prozessors i. In 16 sind die Teile des abgespeicherten digitalisierten Analogwertes separat dargestellt, wie sie in dem Speichjerbereich abgelegt werden. Dabei ist B710 der digitalisiete Analogwert selbst, B720 die dazugehörige Kennuing und B730 das Analogbit, das in diesem Fall als 1 abzuspeichern ist. In 17 ist eine Variante eines in dem gleichen Speicherbereich abgelegten Digitalwertes zu sehen. In B810 ist der Digitalwert selbst gespeichert, in B820 dazu optiona eine Kennung, die zum Beispiel darüber auskunft gibt, ob der Digitalwert überhaupt verglichen werden soll oder auch weitere Bedingungen für den Vergleich enthalten kann. In B830 ist dann der Wert 0 eingespeichert um zu kennzeichnen, dass es sich um einen Digitalwert handelt.The ADC B600 from 15 is controlled by a trigger signal B602, which is typically an output of the processor providing the analog signal and optionally an identifier B603 which provides information about the type of analog signal being provided to enable discrimination of multiple analog signals. With the trigger signal B602, the converted analog word is taken into the memory area B640 as a digital value in a register B610 and optionally together with the identifier B603, which is stored in B620 and possibly an additional signal B604 (which is 1 for the marking of an analog value), which is stored in the memory B630. The memory area B640 can advantageously also be realized as a FIFO (first-in, first-out) if a plurality of values are to be stored and the first stored value is also to be re-evaluated first. If memory area B640 is used for both digital and digitized analogue values, then advantageously all digital values are supplemented by a bit A = 0 at the MSB location, corresponding to B630, to obtain from digitized analog values A = 1 (B630) distinguish (see 16 and 17 ). Both B602 and B603 are part of the digital output data O i of a processor i. In 16 the parts of the stored digitized analog value are shown separately as they are stored in the memory area. B710 is the digitized analog value itself, B720 is the associated identifier, and B730 is the analog bit, which in this case is to be stored as 1. In 17 is a variant of a stored in the same memory area digital value. In B810, the digital value itself is stored, in B820 an optiona option is provided which, for example, indicates whether the digital value is to be compared at all or whether it may also contain further conditions for the comparison. In B830, the value 0 is then stored to indicate that it is a digital value.

Zum Vergleich der zwischengespeicherten digitalen und analogen Signale werden die Reihenfolge der Abspeicherung und ggf. das A-Bit (B730 bzw. B830) sowie die Kennung B720 oder B820 in Verbindung mit dem gewandelten Digitalwert B710 bzw. der Digitalwert B810 geprüft. Es besteht auch die Möglichkeit, z.B. wegen unterschiedlicher Bitbreite, die analogen und die digitalen Signale in getrennten Speichern (zwei FIFOs) unterzubringen. Der Vergleich erfolgt dann ereignisgesteuert: immer wenn ein Wert eines Prozessors zur UVE übertragen wird, wird geprüft, ob die anderen beteiligten Prozessoren einen solchen Wert schon bereitgestellt haben. Sofern das nicht der Fall ist, wird der Wert im entsprechenden FIFO oder Speicher abgelegt, im anderen Fall der Vergleich unmittelbar durchgeführt, wobei auch hier der FIFO als Speicher dienen kann. Ein Vergleich wird zum Beispiel immer dann dann absolviert, wenn die beteiligten FIFOs nicht leer sind. Bei mehr als zwei beteiligten Prozessoren bzw. Vergleichssignalen kann durch ein Voting ermittelt werden, ob alle Signale zur Verteilung zugelassen werden (fail silent Verhalten) oder ob ggf. nur durch ein Error-Signal der Fehlerzustand signalisiert wird.To the Comparison of cached digital and analog signals the sequence of the storage and possibly the A-bit (B730 or B830) and the identifier B720 or B820 in conjunction with the converted Digital value B710 or digital value B810 tested. There is also the possibility e.g. because of different bit width, the analog and the digital To accommodate signals in separate memories (two FIFOs). Of the Comparison is then event-driven: whenever a value of a Processor transferred to the UVE will be checked whether the other processors involved already have such a value have provided. If that is not the case, the value becomes stored in the corresponding FIFO or memory, in the other case the Comparison carried out immediately, where also the FIFO can serve as a memory. A comparison For example, it is always completed when the participants are involved FIFOs are not empty. For more than two processors involved or comparison signals can be determined by voting, whether all signals are allowed for distribution (fail silent behavior) or if possibly the error state is signaled only by an error signal becomes.

Claims (26)

Verfahren zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten, einem Umschaltmittel und einem Vergleichsmittel, wobei zwischen wenigstens zwei Betriebsmodi umgeschaltet wird und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus entspricht, wobei im Vergleichsmodus Informationen verglichen werden, dadurch gekennzeichnet, dass bei Asynchronität der wenigstens zwei Verarbeitungseinheiten im Vergleichsmodus ein Synchronisationssignal auf einen Unterbrechungseingang wenigstens einer der Verarbeitungseinheiten gelegt wird.Method for switching in a computer system having at least two processing units, a switching means and a comparison means, wherein between at least two operating modes is switched and a first operating mode a comparison mode and a second operating mode corresponds to a performance mode, in the comparison mode information is compared, characterized in that at Asynchrony of the at least two processing units in the comparison mode, a synchronization signal is applied to an interrupt input of at least one of the processing units. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es sich bei dem Synchronisationssignal um ein Verzögerungssignal, insbesondere ein Wait-Signal, handelt.Method according to claim 1, characterized in that that the synchronization signal is a delay signal, in particular a wait signal. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass durch das Synchronisationssignal wenigstens eine Verarbeitungseinheit veranlasst wird, keine Information mehr zu verarbeiten.Method according to claim 1 or 2, characterized in that by the synchronization signal at least one processing unit causing it to stop processing information. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass die wenigstens eine Verarbeitungseinheit für eine vorgebbare Zeit veranlasst wird, keine Information mehr zu verarbeiten.Method according to claim 3, characterized that causes the at least one processing unit for a predetermined time will no longer process any information. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Synchronisationssignal gegenüber wenigstens einem Unterbrechungssignal eine höhere Priorität besitzt.Method according to claim 1, characterized in that that the synchronization signal with respect to at least one interrupt signal a higher one priority has. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Synchronisationssignal gegenüber allen Unterbrechungssignalen die höchste Priorität besitzt.Method according to claim 1, characterized in that that the synchronization signal against all interrupt signals the highest priority has. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass durch das Synchronisationssignal wenigstens eine Verarbeitungseinheit dazu veranlasst wird, eine Unterbrechungsroutine abzuarbeiten.Method according to claim 1 or 2, characterized in that by the synchronization signal at least one processing unit is caused to execute an interrupt routine. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass wenigstens ein Pufferspeicher enthalten ist und wenigstens eine der im Vergleichsmodus zu vergleichenden Informationen für eine vom Synchronisationssignal abhängige Zeit in dem Pufferspeicher zwischengespeichert wird.A method according to claim 1, characterized in that at least one buffer memory enthal and at least one of the information to be compared in the comparison mode is temporarily stored in the buffer memory for a time dependent on the synchronization signal. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass aus der Zeit für die wenigstens eine der Informationen zwischengespeichert wird, eine Asynchronitätsinformation, insbesondere ein Zeitfehler, ermittelbar ist.Method according to claim 8, characterized in that that out of time for the at least one of the information is cached, an asynchronous information, in particular a time error, can be determined. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass bei dem Pufferspeicher ein Füllstand des Speichers ermittelbar ist, der anzeigt welche Anzahl an Informationen sich im Pufferspeicher befinden.Method according to claim 8, characterized in that that in the buffer memory a level of the memory can be determined is, which indicates the amount of information in the buffer memory are located. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass der Zeitfehler dadurch ermittelt wird, dass ein Zeiterfassungsmittel, insbesondere ein Zählelement, vorgesehen ist, wobei ein Zeitwert ermittelt wird und dieser mit einem vorgebbaren maximalen Zeitwert verglichen wird.Method according to claim 9, characterized that the time error is determined by having a time detection means, in particular a counting element, is provided, wherein a time value is determined and this with a predetermined maximum time value is compared. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass eine Asynchronitätsinformation dadurch ermittelt wird, dass der ermittelte Füllstand mit einem vorgebbaren maximalen Füllstand verglichen wird.Method according to claim 10, characterized in that that asynchronous information thereby is determined that the determined level with a predetermined maximum level is compared. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Vorgabe, dass ein nächstes Ausgangsdatum verglichen werden soll, durch ein Vergleichssignal erfolgt.Method according to claim 1, characterized in that that one prescription, that one next Starting date to be compared, by a comparison signal he follows. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass einem Datum, das verglichen werden soll, eine Kennung zugeordnet wird, durch die der Vergleich ausgelöst wird.Method according to claim 1, characterized in that that a date to be compared is assigned an identifier which triggers the comparison. Vorrichtung zur Umschaltung bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten, wobei die Vorrichtung ein Umschaltmittel und ein Vergleichsmittel enthält und zwischen wenigstens zwei Betriebsmodi umgeschaltet wird und ein erster Betriebsmodus einem Vergleichsmodus und ein zweiter Betriebsmodus einem Performanzmodus entspricht, wobei im Vergleichsmodus Informationen verglichen werden, dadurch gekennzeichnet, dass die Vorrichtung derart ausgestaltet ist, dass bei Asynchronität der wenigstens zwei Verarbeitungseinheiten im Vergleichsmodus ein Synchronisationssignal auf einen Unterbrechungseingang wenigstens einer der Verarbeitungseinheiten gelegt wird.Device for switching over in a computer system with at least two processing units, wherein the device a switching means and a comparison means and between at least two modes of operation is switched and a first mode of operation a comparison mode and a second mode of operation a performance mode where information is compared in comparison mode, characterized in that the device is designed in such a way is that at asynchrony the at least two processing units in the comparison mode Synchronization signal to an interrupt input at least one of the processing units is placed. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass die Vergleichsmittel und die Umschaltmittel baulich extern zu den Verarbeitungseinheiten vorgesehen sindDevice according to claim 15, characterized in that that the comparison means and the switching means structurally external are provided to the processing units Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass wenigstens ein Pufferspeicher vorgesehen ist.Device according to claim 15, characterized in that that at least one buffer memory is provided. Vorrichtung nach Anspruch 17, dadurch gekennzeichnet, dass es sich bei dem Pufferspeicher um einen FIFO Speicher handelt.Device according to claim 17, characterized in that that the buffer memory is a FIFO memory. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass jeder Verarbeitungseinheit ein Pufferspeicher zugeordnet ist.Device according to claim 15, characterized in that that each processing unit is assigned a buffer memory. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass jeder Verarbeitungseinheit eine Pufferspeicher, insbesondere ein FIFO Speicher zugeordnet ist.Device according to claim 15, characterized in that that each processing unit is a buffer memory, in particular a FIFO memory is assigned. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass Mittel, insbesondere ein Zählelement, vorgesehen sind, welche derart ausgestaltet sind, dass diese aus der vorgebbaren und/oder ermittelbaren Zeit für die wenigstens eine der Informationen zwischengespeichert wird eine Asynchronitätsinformation, insbesondere einen Zeitfehler, ermitteln.Device according to claim 15, characterized in that that means, in particular a counting element, are provided, which are designed such that these out the predeterminable and / or determinable time for the at least one of the information an asynchronous information is temporarily stored, in particular a time error, determine. Vorrichtung nach Anspruch 15, dadurch gekennzeichnet, dass Mittel vorgesehen sind, welche derart ausgestaltet sind, dass diese bei dem Pufferspeicher einen Füllstand des Speichers ermitteln, der anzeigt welche Anzahl an Informationen sich im Pufferspeicher befinden.Device according to claim 15, characterized in that that means are provided which are designed such that these determine a level of the memory at the buffer memory, which indicates the amount of information in the buffer memory. Vorrichtung nach Anspruch 22, dadurch gekennzeichnet, dass die Mittel derart ausgestaltet sind, dass diese eine Asynchronitätsinformation dadurch ermitteln, dass der ermittelte Füllstand mit einem vorgebbaren maximalen Füllstand verglichen wird.Device according to claim 22, characterized in that in that the means are designed to provide asynchronicity information determine that the determined level with a predetermined maximum level is compared. Vorrichtung nach Anspruch 21 oder 23, dadurch gekennzeichnet, dass Synchronisationsmittel vorgesehen sind, die derart ausgestaltet sind, dass diese abhängig von der Asynchronitätsinformation eine Synchronisationsinformation erzeugen.Apparatus according to claim 21 or 23, characterized in that synchronization means are provided which are designed in this way are that dependent on this from the asynchronous information one Create synchronization information. Vorrichtung nach Anspruch 21 oder 23, dadurch gekennzeichnet, dass ein Überwachungsmittel vorgesehen ist, welches derart ausgestaltet ist, dass dieses die Asynchronitätsinformation verarbeitet.Apparatus according to claim 21 or 23, characterized that a monitoring means provided is, which is designed such that this is the asynchronous information processed. Vorrichtung nach Anspruch 25, dadurch gekennzeichnet, dass es sich bei dem Überwachungsmittel um ein zum Rechnersystem externes Überwachungsmittel, insbesondere einen Watchdog, handelt.Device according to claim 25, characterized in that that it is the monitoring means an external to the computer system monitoring means, in particular a watchdog, acts.
DE200510037239 2004-10-25 2005-08-08 Processing unit`s e.g. CPU, performance and comparison modes switching method for computer system, involves adding synchronization signal to interruption input of one processing unit during asynchronism of unit in comparison mode Withdrawn DE102005037239A1 (en)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE200510037239 DE102005037239A1 (en) 2005-08-08 2005-08-08 Processing unit`s e.g. CPU, performance and comparison modes switching method for computer system, involves adding synchronization signal to interruption input of one processing unit during asynchronism of unit in comparison mode
JP2007537297A JP2008518305A (en) 2004-10-25 2005-10-25 Driving mode switching method and driving mode switching apparatus in a computer system having at least two processing units
EP05801485A EP1812855B1 (en) 2004-10-25 2005-10-25 Method and device for mode switching and signal comparison in a computer system comprising at least two processing units
KR1020077008953A KR20070062567A (en) 2004-10-25 2005-10-25 Method and device for mode switching and signal comparison in a computer system comprising at least two processing units
US11/666,396 US20080320287A1 (en) 2004-10-25 2005-10-25 Method and Device for Performing Switchover Operations in a Computer System Having at Least Two Processing Units
AT05801485T ATE420402T1 (en) 2004-10-25 2005-10-25 METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM WITH AT LEAST TWO PROCESSING UNITS
PCT/EP2005/055514 WO2006045786A1 (en) 2004-10-25 2005-10-25 Method and device for mode switching and signal comparison in a computer system comprising at least two processing units
DE502005006441T DE502005006441D1 (en) 2004-10-25 2005-10-25 METHOD AND DEVICE FOR MODE SWITCHING AND SIGNAL COMPARISON IN A COMPUTER SYSTEM HAVING AT LEAST TWO PROCESSING UNITS
CNB2005800365264A CN100565466C (en) 2004-10-25 2005-10-25 In having the computer system of two processing units, carry out mode switch and signal method and apparatus relatively at least

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510037239 DE102005037239A1 (en) 2005-08-08 2005-08-08 Processing unit`s e.g. CPU, performance and comparison modes switching method for computer system, involves adding synchronization signal to interruption input of one processing unit during asynchronism of unit in comparison mode

Publications (1)

Publication Number Publication Date
DE102005037239A1 true DE102005037239A1 (en) 2007-02-15

Family

ID=37680928

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510037239 Withdrawn DE102005037239A1 (en) 2004-10-25 2005-08-08 Processing unit`s e.g. CPU, performance and comparison modes switching method for computer system, involves adding synchronization signal to interruption input of one processing unit during asynchronism of unit in comparison mode

Country Status (1)

Country Link
DE (1) DE102005037239A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903993B2 (en) 2012-06-01 2014-12-02 International Business Machines Corporation Performance analysis using anonymous aggregated data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903993B2 (en) 2012-06-01 2014-12-02 International Business Machines Corporation Performance analysis using anonymous aggregated data

Similar Documents

Publication Publication Date Title
EP1812860B1 (en) Method and device for mode switching and signal comparison in a computer system comprising at least two processing units
EP1812855B1 (en) Method and device for mode switching and signal comparison in a computer system comprising at least two processing units
EP1812859B1 (en) Method and device for mode switching and signal comparison in a computer system with at least two processing units
WO2006045785A1 (en) Method and device for mode switching and signal comparison in a computer system comprising at least two processing units
DE102005037242A1 (en) Processing unit`s e.g. CPU, analog or digital signals switching and comparing method for computer system, involves switching between operating modes of units and comparing analog signals of units by changing one signal into digital value
WO2006045788A1 (en) Method and device for mode switching and signal comparison in a computer system comprising at least two processing units
EP1812856B1 (en) Method and device for evaluating a signal of a computer system comprising at least two execution units
DE102005037230A1 (en) Method and device for monitoring functions of a computer system
DE102004034766A1 (en) Error detection method and system for processors using interlock step-wise concurrent part processes
DE102017209856A1 (en) Arithmetic unit and operating method for this
DE102005037239A1 (en) Processing unit`s e.g. CPU, performance and comparison modes switching method for computer system, involves adding synchronization signal to interruption input of one processing unit during asynchronism of unit in comparison mode
DE102005037241A1 (en) Computer system `s switching method for aircraft industry, involves storing one of items of information in memory in intermediate manner for determinable time so that two items of information are directly compared with each other
DE102005037240A1 (en) Mode switching and data comparison method for use in computer system, involves providing switching unit for switching between two operating modes, carrying out vote in comparison mode and providing control unit for execution of vote
CN101048756A (en) Method and device for changing mode and comparing signal in a computer system having at least two processing units
DE102005037243A1 (en) Method for mode switching and signal comparison in computer system has two processing units whereby synchronization means are provided which associates rate information with predeterminable data according to processing unit
DE102005037238A1 (en) Method for mode switching and signal comparison in computer system comprised of two processing units whereby two analog signals of processing units are compared such that a difference is created according to signal
DE102005037226A1 (en) Method and device for determining a start state in a computer system having at least two execution units by marking registers
EP1915674B1 (en) Method and device for controlling a computer system comprising at least two execution units and at least two groups of internal states
DE102005037259A1 (en) Method and device for determining a start state in a computer system having at least two execution units by switching register sets
WO2009103372A1 (en) Arrangement for checking a program memory in a computation unit
DE102005037258A1 (en) Method and device for determining a start state in a computer system having at least two execution units by adopting the start state
DE102005037231A1 (en) Computer system controlling method, involves enabling switching between two operating modes of computer system using switching unit, and carrying out changeover of clock frequency of computer system by switching between operating modes

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20110301