DE102006050715A1 - Verfahren und System zum Erzeugen eines gültigen Signals - Google Patents

Verfahren und System zum Erzeugen eines gültigen Signals Download PDF

Info

Publication number
DE102006050715A1
DE102006050715A1 DE102006050715A DE102006050715A DE102006050715A1 DE 102006050715 A1 DE102006050715 A1 DE 102006050715A1 DE 102006050715 A DE102006050715 A DE 102006050715A DE 102006050715 A DE102006050715 A DE 102006050715A DE 102006050715 A1 DE102006050715 A1 DE 102006050715A1
Authority
DE
Germany
Prior art keywords
processing system
signal processing
execution units
signal
application program
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
DE102006050715A
Other languages
English (en)
Inventor
Reinhard Weiberle
Bernd Mueller
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 DE102006050715A priority Critical patent/DE102006050715A1/de
Priority to US11/974,349 priority patent/US20090177872A1/en
Priority to JP2007265980A priority patent/JP2008097611A/ja
Publication of DE102006050715A1 publication Critical patent/DE102006050715A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing unit
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling

Abstract

Die vorliegende Erfindung schafft ein Verfahren zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm bei einem Signalverarbeitungssystem mit mehreren Ausführungseinheiten (2), die in einem Performanz-Betriebsmodus (PM) arbeiten, wobei während des Ablaufs des Anwendungsprogramms ein Nutzer das Signalverarbeitungssystem in einen Vergleichsbetriebsmodus (VM) umschaltet, in welchem die von den Ausführungseinheiten (2) abgegebenen Signale zur Erzeugung des gültigen Signals miteinander verglichen werden.

Description

  • Die Erfindung betrifft ein Verfahren und ein System zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm, welches auf einem Signalverarbeitungssystem mit mehreren Ausführungseinheiten läuft, die in einem Performanz-Betriebsmodus parallel arbeiten.
  • Bei einem Signalverarbeitungssystem bzw. Rechensystem besteht in vielen Anwendungen die Möglichkeit, nach einem aufgetretenen Fehler, die Anwendung bzw. das Anwendungsprogramm in einem abgesicherten Betriebsmodus erneut zu starten. In dem abgesicherten Betriebsmodus wird dabei gegebenenfalls der Funktionsumfang der Anwendung bzw. des Anwendungsprogramms reduziert. Der abgesicherte Betriebsmodus wird in der Regel aktiviert, wenn ein hinreichend gravierender Fehler aufgetreten ist und dennoch das Signalverarbeitungssystem bzw. Rechensystem zumindest in eingeschränktem Umfang zu funktionieren hat. Der Neustart einer Programmanwendung führt zu einem erneuten Boot-Vorgang bzw. ein Hochfahren des Betriebssystems. Beim Booten bzw. Hochfahren eines Rechners beginnt ein Prozessor beispielsweise an einer festgelegten Adresse mit der Abarbeitung der in einem Speicher abgelegten BIOS. Es wird ein Test der angeschlossenen Einheiten durchgeführt und in einer konfigurierbaren Reihenfolge nach Boot-Sektoren gesucht. Der erste gefundene Boot-Sektor wird anschließend ausgeführt und lädt über einen meist mehrstufigen Boot-Loader das gesamte Betriebssystem. Das Betriebssystem startet anschließend gegebenenfalls anschließend eine graphische Benutzeroberfläche oder einen Kommando-Zeilen-Interpreter. Das Betriebssystem wird durch Ausführen des in dem Boot-Sektor befindlichen Code-Stücks gebootet bzw. geladen, der sich auf einem Speichermedium, beispielsweise auf einer Festplatte, befindet. Dieser Code wird allgemein auch als Boot-Code bezeichnet. Der Boot-Code ruft den eigentlichen Betriebssystem-Code auf. Bei einem Fehlstart des Boot-Vorgangs ist es oft schwierig, die Ursache für diesen Fehler festzustellen. Nach einem fehlgeschlagenen Boot-Vorgang besteht oft die einzige Möglichkeit, das Rechnersystem erneut zu starten, darin, den Boot-Vorgang von einem anderen Speichermedium, beispielsweise einer Floppy-Disk, einzuleiten. Wenn beispielsweise ein Boot-Vorgang zum Booten des Systems von der Festplatte scheitert, kann ein Nutzer das Rechnersystem ausschalten und eine Diskette in ein so genanntes A-Laufwerk einlegen und versuchen, von dort aus das Betriebssystem erneut zu booten. Bei einem Windows 95-Betriebssystem besteht beispielsweise die Möglichkeit, festzustellen, ob ein vorheriger Versuch, das Betriebssystem zu booten, fehlgeschlagen ist. Wenn dies geschieht bzw. dies festgestellt wird, bootet das Windows 95-Betriebssystem in dem abgesicherten Betriebsmodus.
  • Die Initialisierungs- bzw. Boot-Phase läuft bei herkömmlichen Rechnersystemen auf einem Mikroprozessor ab, der über eine Single-Core-Prozessor-Architektur verfügt. Zunehmend werden auch Prozessoren eingesetzt, die über eine Dual-Core- bzw. Multi-Core-Prozessor-Architektur verfügen. Derartige Prozessoren weisen mindestens zwei integrierte Ausführungseinheiten auf. Diese Ausführungseinheiten können aus einem vollständigen Mikroprozessor bzw. einer CPU (Central Processing Unit) oder aus einer Berechnungseinheit, wie beispielsweise einer Gleitpunktberechnungseinheit FPU (Floating Point Unit) bestehen. Alternativ können Ausführungseinheiten auch aus einem digitalen Signalprozessor DSP, einem Co-Prozessor oder aus einer arithmetisch logischen Berechnungseinheit ALU (Arithmetic Logic Unit) bestehen.
  • Dual-Core- bzw. Multi-Core-Prozessor-Architekturen, die über mehrere Ausführungseinheiten verfügen, können im Wesentlichen in zwei verschiedenen Betriebsmodi betrieben werden. In einem ersten Betriebsmodus, der als Leistungsbetriebsmodus bzw. Performanz-Betriebsmodus bezeichnet wird, führen die verschiedenen Ausführungseinheiten verschiedene Anwendungsprogramme bzw. Tasks durch. In diesem Performanz-Betriebsmodus wird somit eine Leistungssteigerung gegenüber einer herkömmlichen Single-Core-Prozessor-Architektur erzielt. Im Gegensatz zu dem Performanz-Betriebsmodus führen die Ausführungseinheiten in einem Vergleichsbetriebsmodus dieselben Anwendungsprogramme bzw. Tasks durch, um die Sicherheit des Berechnungsergebnisses zu steigern.
  • Bei herkömmlichen Rechnersystemen mit Dual bzw. mit Multi-Core-Prozessor-Architektur ist es bisher nicht möglich, Hardware-Fehler der Ausführungseinheiten, die während des Ablaufs eines Anwendungsprogramms auftreten, sicher festzustellen. Dies kann insbesondere bei eingebetteten Rechnersystemen, beispielsweise im Automobilbereich, zu gravierenden Fehlfunktionen des Betriebssystems führen.
  • Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm bei einem Signalverarbeitungssystem mit mehreren Ausführungseinheiten zu schaffen, die es einem Nutzer erlauben, bei Bedarf Fehler innerhalb der Ausführungseinheiten zu erkennen.
  • Die Erfindung schafft ein Verfahren zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm bei einem Signalverarbeitungssystem mit mehreren Ausführungseinheiten, die in einem Performanz-Betriebsmodus parallel arbeiten, wobei nach Auftreten eines Fehlers während des Ablaufs des Anwendungsprogramms ein Nutzer das Signalverarbeitungssystem in einen Vergleichsbetriebsmodus umschaltet, in welchem die von den Ausführungseinheiten abgegebenen Signale zur Erzeugung des gültigen Signals miteinander verglichen werden.
  • Das erfindungsgemäße Verfahren hat den Vorteil, dass die Verfügbarkeit und Zuverlässigkeit der für den Nutzer relevanten Anwendungsprogramme signifikant gesteigert wird.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens wird ein von den Ausführungseinheiten abgegebenes Signal zum Erzeugen des gültigen Signals selektiert.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens wird dasjenige Signal selektiert, das die geringste Signalabweichung von den übrigen Signalen aufweist.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens wird das gültige Signal in Abhängigkeit von denjenigen Signalen, die von den Ausführungseinheiten abgegeben werden, gemäß einer vorgegebenen Funktion berechnet.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens wird das gültige Signal durch den Medianwert der von den Ausführungseinheiten abgegebenen Signale gebildet.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens werden die von den Ausführungseinheiten abgegebenen Signale in Abhängigkeit von einer konfigurierbaren Vergleichsoperation miteinander verglichen.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens wird der Fehler durch einen Hardware-Fehler des Signalverarbeitungssystems gebildet.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens werden die Ausführungseinheiten durch identisch aufgebaute Berechnungseinheiten oder Sensoren gebildet.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens werden die Ausführungseinheiten durch eine Gleitpunktberechnungseinheit, einen digitalen Signalprozessor, eine CPU, einen Co-Prozessor oder durch eine arithmetisch logische Einheit (ALU) gebildet.
  • Bei einer Ausführungsform des erfindungsgemäßen Verfahrens führt die Vergleichsoperation einer Mehrheitsentscheidung anhand der von den Ausführungseinheiten abgegebenen Signale durch.
  • Die Erfindung schafft ferner ein Signalverarbeitungssystem zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm mit mehreren Ausführungseinheiten, die in einem Performanz-Betriebsmodus des Signalverarbeitungssystem parallel arbeiten, wobei das Signalverarbeitungssystem nach Auftreten eines Fehlers während des Ablaufs des Anwendungsprogramms durch den Nutzer von dem Performanz-Betriebsmodus in einen Vergleichsbetriebsmodus umschaltbar ist, in welchem die von den Ausführungseinheiten abgegebenen Signale zur Erzeugung des gültigen Signals miteinander verglichen werden.
  • Im Weiteren werden bevorzugte Ausführungsformen des erfindungsgemäßen Verfahrens und des erfindungsgemäßen Systems zur Erzeugung eines gültigen Signals für ein Anwendungsprogramm unter Bezugnahme auf die beigefügten Figuren zur Erläuterung erfindungswesentlicher Merkmale beschrieben.
  • Es zeigen:
  • 1: ein Blockschaltbild mit möglichen Ausführungsformen des erfindungsgemäßen Signalverarbeitungssystems zum Erzeugen eines gültigen Signals;
  • 2: ein Ablaufdiagramm einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm.
  • Wie man aus 1 erkennen kann, ist eine Umschalt- und Vergleichsschaltung 1 eingangsseitig an N + 1 Ausführungseinheiten 2 angeschlossen und erhält logische Eingangssignale E0, E1, E2, E3 ... EN von den Ausführungseinheiten 2-i. Die Umschalt- und Vergleichseinheit 1 enthält eine Vergleichslogik 1A und eine Schaltlogik 1B.
  • Das in 1 dargestellte Signalverarbeitungssystem kann in mindestens zwei Betriebmodi betrieben werden. In einem ersten Betriebsmodus zur Leistungssteigerung, der auch als Performanz-Betriebsmodus PM bezeichnet wird, verarbeiten die Ausführungseinheiten 2-i bzw. Cores parallel unterschiedliche Programme bzw. Tasks. Bei den Ausführungseinheiten 2-i kann es sich um beliebige Ausführungseinheiten 2-i zur Ausführung einer Berechnungsanweisung, beispielsweise um eine CPU, eine Gleitpunktberechnungseinheit FPU, einen digitalen Signalprozessor DSP, einen Co-Prozessor oder um eine arithmetisch logische Berechnungseinheit ALU handeln. Die Abarbeitung der Programme durch die verschiedenen Ausführungseinheiten 2-i im Performanz-Modus PM kann synchron oder asynchron durchgeführt werden. Im Leistungsmodus bzw. Performanz-Betriebsmodus PM erfolgt keine redundante Bearbeitung, sondern die Ausführungseinheiten 2-i führen verschiedene Berechnung bzw. Programme parallel durch. Im reinen Performanz-Betriebsmodus PM werden alle Eingangssignale Ei getrennt auf entsprechende Ausgangssignale Ai geschaltet bzw. geleitet.
  • Neben dem Einsatz eines höher performanten Berechnungssystems besteht der zweite Grund für eine Multi-Core-Architektur darin, die Sicherheit der Signalverarbeitung zu steigern, indem mehrere Ausführungseinheiten 2-i redundant das gleiche Programm abarbeiten. In diesem zweiten Betriebsmodus, der auch als Sicherheitsmodus bzw. Safety Mode oder Vergleichs-Betriebsmodus VM bezeichnet wird, werden die Ergebnisse bzw. logischen Ausgangssignale der Ausführungseinheiten 2-i durch die Umschalt- und Vergleichsschaltung 1 miteinander verglichen, sodass ein aufgetretener Fehler bzw. eine Signalabweichung durch einen Vergleich auf Übereinstimmung erkannt werden kann. Im reinen Vergleichs-Betriebsmodus VM werden daher alle Eingangssignale Ei auf nur genau ein einziges Ausgangssignal Ai geleitet bzw. abgebildet. Mischformen sind möglich. In der konfigurierbaren Schaltlogik 1B wird angegeben, wie viele Ausgangsanschlüsse bzw. Ausgangssignale Ai vorgesehen sind. Weiterhin wird in der Schaltlogik 1B abgelegt, welche Eingangssignale Ei zu welchem der Ausgangssignale Ai beitragen. In der Schaltlogik 1B ist somit eine Abbildungsfunktion abgelegt, die Eingangssignale Ei verschiedenen Ausgangssignalen Ai zuordnen.
  • Die Verarbeitungslogik 1A legt bei jedem Ausgangssignal Ai fest, in welcher Form die Eingangssignale zu dem jeweiligen Ausgangssignal beitragen. Beispielsweise wird das Ausgangssignal A0 durch die Eingangssignale E1, ..., EM erzeugt. Für m = 1 entspricht dies einfach einer Durchschaltung eines Eingangssignals. Für m = 2 werden zwei Eingangssignale E1, E2 miteinander verglichen. Dieser Vergleich kann synchron oder asynchron durch die Schaltung 1 durchgeführt werden. Dabei kann der Vergleich bitweise erfolgen oder alternativ werden nur signifikante Bits miteinander verglichen. Bei m ≥ 3 bestehen verschiedene Möglichkeiten. Eine erste Möglichkeit besteht darin, dass alle Signale miteinander verglichen werden und bei Vorhandensein mindestens zweier verschiedener Werte ein Fehler detektiert wird, der optional durch die Umschalt- und Vergleichsschaltung 1 signalisiert wird. Eine weitere Möglichkeit besteht darin, dass eine K aus m-Auswahl vorgenommen wird, wobei K > M/2 ist. Dies wird bei einer Ausführungsform durch das Vorsehen von Vergleichern bzw. Komparatoren realisiert. Dabei wird optional ein erstes Fehlersignal generiert, wenn eines der Eingangssignale als abweichend von den anderen Eingangssignalen erkannt wird. Bei einem von dem ersten Fehlersignal verschiedenen zweiten Fehlersignal weichen alle drei Eingangssignale voneinander ab.
  • Bei einer weiteren Ausführungsform werden die Eingangssignalwerte E einer weiteren Berechnungseinheit zugeführt, die beispielsweise einen Mittelwert oder einen Medianwert berechnet bzw. einen fehlertoleranten Algorithmus FTA durchführt. Bei einem fehlertoleranten Algorithmus werden die Extremwerte der Eingangssignalwerte gestrichen bzw. ignoriert und eine Mittlung über die restlichen Signalwerte vorgenommen. Bei einer Ausführungsform erfolgt die Mittelung über die gesamte Menge der restlichen Signalwerte. Bei einer alternativen Ausführungsform erfolgt eine Mittelung über eine in der Hardware leicht zu bildende Teilmenge der verbleibenden Signalwerte. Während bei der Mittelwertbildung lediglich eine Addition und eine Division vorgenommen werden müssen, erfordern FTM, FTA oder die Medianwertbildung teilweise eine Sortierung der Eingangssignalwerte. Bei einer Ausführungsform wird bei hinreichend großen Signalabweichungen bzw. Extremwerten optional ein Fehlersignal ausgegeben bzw. angezeigt.
  • Die verschiedenen genannten Möglichkeiten zur Signalverarbeitung zu einem Signal stellen Vergleichsoperationen dar. Die Verarbeitungslogik 1A legt die genaue Gestaltung der vorzunehmenden Vergleichsoperation für jedes Ausgangssignal Ai und somit auch für die Eingangssignale Ei fest. Die Kombination der Informationen innerhalb der Schaltlogik 1B, d. h. die Zuordnungsfunktion der in der Verarbeitungslogik 1A angegebenen Vergleichsoperation pro Ausgangssignal bzw. pro Funktionswert stellt eine Betriebsmodusinformation dar und legt den Betriebsmodus fest. Diese Information ist in der Regel mehrwertig und wird durch mehr als ein logisches Bit dargestellt. Für den Fall, dass nur zwei Ausführungseinheiten 2-i vorgesehen ist und somit nur ein Vergleichsmodus existiert, kann die gesamte Information in dem Betriebsmodus auf ein einziges logisches Bit kondensiert werden.
  • Eine Umschaltung des Systems von dem Performanz-Betriebsmodus PM in einen Vergleichsmodus VM erfolgt im Allgemeinen dadurch, dass die Ausführungseinheiten 2-i, die in dem Performanz-Betriebsmodus PM auf verschiedene Signalausgänge abgebildet bzw. durchgeschaltet sind, in dem Vergleichsbetriebsmodus VM auf den gleichen Signalausgang abgebildet bzw. durchgeschaltet werden. Vorzugsweise wird dies dadurch realisiert, dass eine Teilmenge von Ausführungseinheiten 2-i vorgesehen wird, bei denen im Performanz- Betriebsmodus PM alle Eingangssignale Ei, die in der Teilmenge zu berücksichtigen sind, direkt auf korrespondierende Ausgangssignale Ai geschaltet werden, während die Eingangssignale in dem Vergleichsmodus VM alle auf einen einzigen Signalausgang abgebildet bzw. an diesen durchgeschaltet werden. Alternativ kann eine Umschaltung dadurch realisiert werden, dass Paarungen geändert werden.
  • Zwischen den verschiedenen Betriebsmodi kann, über die Software gesteuert, dynamisch im laufenden Betrieb umgeschaltet werden. Ausgelöst wird die Umschaltung bei einer Ausführungsform über die Ausführung von speziellen Umschaltbefehlen bzw. Umschaltinstruktionen, speziellen Instruktionssequenzen, explizit gekennzeichneten Instruktionen oder durch den Zugriff auf bestimmte Adressen durch mindestens eine der Ausführungseinheiten 2-i des Signalverarbeitungssystems.
  • Die Umschaltung zwischen dem Sicherheitsmodus bzw. Vergleichsmodus VM, in dem eine redundante Abarbeitung und Prüfung erfolgt, und dem Leistungs- bzw. Performanz-Betriebsmodus PM, bei dem eine Leistungssteigerung durch separate Programmabarbeitung erreicht wird, erfolgt durch die Umschalteinrichtung 1. Bei einer Ausführungsform erfolgten zur Umschaltung eine Kennzeichnung der Programme, Anwendungsprogramme, Programmteile oder auch der Programmbefehle durch eine Kennung, durch welche erkennbar ist, ob diese Programmbefehle in dem Vergleichs-Betriebsmodus VM abgearbeitet werden müssen, oder dem Leistungs- bzw. Performanz-Betriebsmodus PM zugänglich gemacht werden können. Die Kennzeichnung kann durch ein Bit in dem Programmbefehl erfolgen. Alternativ kann durch einen speziellen Programmbefehl die darauf folgende Sequenz gekennzeichnet werden.
  • Im Sicherheitsbetriebsmodus bzw. Vergleichsmodus VM dauert die Berechnung der Ergebnisse bzw. Ausgangssignale der Ausführungseinheiten 2-i bei synchroner Abarbeitung auf den verschiedenen Ausführungseinheiten gleich lang. Die Ergebnisse stehen dann im Sicherheitsbetriebsmodus VM bei synchroner Abarbeitung der Umschalteinrichtung 1 praktisch gleichzeitig zur Verfügung. Stimmen die Ergebnisse überein, so werden die entsprechenden Daten freigegeben. Bei einer Signalabweichung erfolgt eine vorgegebene Fehlerreaktion.
  • Befindet sich das Signalverarbeitungssystem im Performanz-Betriebsmodus PM, werden die Programme parallel abgearbeitet und Komparatoren bzw. Vergleiche innerhalb der Umschalt- und Vergleichsschaltung 1 werden nicht angesteuert.
  • Bei dem erfindungsgemäßen Verfahren wird ein gültiges Signal für ein Anwendungsprogramm bei dem Signalverarbeitungssystem in mehreren Ausführungseinheiten 2-i, die in dem Performanz-Betriebsmodus PM parallel arbeiten, erreicht, indem es dem Nutzer nach Auftreten eines Fehlers, insbesondere eines System-Hardware-Fehlers, die Möglichkeit bietet, das Signalverarbeitungssystem von dem Performanz-Betriebsmodus PM in einen Vergleichsbetriebsmodus VM umzuschalten. In dem Vergleichsbetriebsmodus VM werden dann die von den Ausführungseinheiten 2 abgegebenen Signale zur Erzeugung des gültigen Signals miteinander verglichen. Dabei wird vorzugsweise dasjenige von den Ausführungseinheiten 2 abgegebene Signal zum Erzeugen des gültigen Signals selektiert, das die geringste Signalabweichung zu den übrigen Signalen aufweist. Bei dem erfindungsgemäßen System verfügt das Signalverarbeitungssystem über eine Umschaltmöglichkeit zwischen dem Performanz-Betriebsmodus PM und dem Vergleichsbetriebsmodus VM. Die Umschaltung von dem Performanz-Betriebsmodus PM in den Vergleichsbetriebsmodus VM und umgekehrt erfolgt dabei vorzugsweise in Reaktion auf eine Nutzeraufforderung. Bei einer Ausführungsform des erfindungsgemäßen Verfahrens wird das gültige Signal im Vergleichsbetriebsmodus VM in Abhängigkeit von denjenigen Signalen, die von den Ausführungseinheiten 2 abgegebenen werden, gemäß einer vorgegebenen, vorzugsweise konfigurierbaren Funktion berechnet. Bei einer möglichen Ausführungsform wird dabei das gültige Signal durch den Medianwert der von den Ausführungseinheiten 2 abgegebenen Signale gebildet. Die von den Ausführungseinheiten 2 abgegebenen Signale werden vorzugsweise in Abhängigkeit von einer konfigurierbaren Vergleichsoperation miteinander verglichen.
  • 2 zeigt ein Ablaufdiagramm einer möglichen Ausführungsform des erfindungsgemäßen Verfahrens. In einem Schritt S1 läuft ein Anwendungsprogramm in einem Performanz-Betriebsmodus ab PM.
  • In einem weiteren Schritt S2 wird ein Fehler detektiert, der in einem Schritt S3 dem Anwender bzw. Nutzer signalisiert wird.
  • Bei einer alternativen Ausführungsform werden die Schritte S2, S3 weggelassen. Dies ist vorteilhaft, wenn dem Anwender die Möglichkeit gegeben werden soll, die von ihm gewählte Anwendung mit möglichst hoher Zuverlässigkeit und Robustheit ablaufen zu lassen. Dies kann beispielsweise im militärischen Bereich oder bei wichtigen Präsentationen nützlich sein, d. h. immer dann, wenn die Zuverlässigkeit einer Anwendung wichtiger ist als deren Performanz.
  • In einem Schritt S4 erhält der Nutzer bzw. Anwender die Möglichkeit, das Signalverarbeitungssystem von dem Performanz-Betriebsmodus PM in einen Vergleichsbetriebsmodus VM umzuschalten, in welchem die von den Ausführungseinheiten abgegebenen Signale zur Erzeugung eines gültigen Signals miteinander verglichen werden. Der Nutzer erhält somit die Möglichkeit, die Hardware des Systems derart umzuschalten, dass eine bessere Fehlererkennung und/oder Fehlerbehandlung ermöglicht wird.
  • In einem Schritt S5 wird geprüft, ob der Nutzer, beispielsweise innerhalb eines vorgegebenen Zeitraums, eine Umschaltung in den Vergleichs-Betriebsmodus VM wünscht. Falls der Nutzer eine Umschaltung in den Vergleichs-Betriebsmodus VM wünscht, erfolgt in einem Schritt S6 ein Umschaltung von dem Performanz-Betriebsmodus PM in einen Vergleichsbetriebsmodus VM. Im Weiteren läuft die Anwendung bzw. das Anwendungsprogramm in dem Vergleichsbetriebsmodus ab VM. Falls der Nutzer kein Umschalten wünscht, findet keine Umschaltung von dem Performanz-Betriebsmodus PM in den Vergleichsbetriebsmodus VM statt und die Anwendung bzw. das Anwendungsprogramm läuft, in dem bisherigen Performanz-Betriebsmodus PM weiter.
  • Das erfindungsgemäße Verfahren zum Erzeugen eines gültigen Signals eignet sich besonders für die Anwendung in einem Signalverarbeitungssystem, das über mindestens drei Ausführungseinheiten 2 verfügt. Dabei werden in dem Vergleichsbetriebsmodus VM diese mindestens drei Ausführungseinheiten 2 über ein Majoritäts-Voting miteinander verglichen. Es wird dabei eine Mehrheitsentscheidung anhand der von den Ausführungseinheiten 2 abgegebenen Signale durchgeführt. Weist das Signalverarbeitungssystem beispielsweise drei Ausführungseinheiten 2 auf, werden die drei von den Ausführungseinheiten 2 abgegebenen Signale miteinander verglichen. Bei einer Signalabweichung zwischen den drei Signalen wird dasjenige Signal selektiert, das die geringste Signalabweichung zu den übrigen Signalen aufweist. Sind beispielsweise die Signale, welche von zwei Ausführungseinheiten abgegebenen wurden, identisch, und ein drittes Signal weicht von den beiden anderen Signalen ab, wird das identische Signal als gültiges Signal selektiert und zur weiteren Datenverarbeitung durchgeschaltet. Es ist somit bei dieser Ausführungsform möglich, nicht nur Hardware-Fehler der Ausführungseinheiten 2 zu erkennen, sonder sogar gezielt eine Fehlerbehandlung durchzuführen. Bei einer weiteren Ausführungsform des erfindungsgemäßen Verfahrens besteht für den Nutzer auch die Möglichkeit, ohne Auftreten eines Fehlers das Signalverarbeitungssystem von dem Performanz-Betriebsmodus PM in den Vergleichsbetriebsmodus VM umzuschalten. Beispielsweise legt der Nutzer bzw. User aus bestimmten Gründen Wert darauf, dass ein bestimmter Teil der Anwendung bzw. des Anwendungsprogramms mit einer möglichst hohen Zuverlässigkeit, Verfügbarkeit, Sicherheit bzw. Zugangssicherheit (Security) abläuft. Umgekehrt möchte der Nutzer, dass andere Teile des Anwendungsprogramms mit einer möglichst hohen Rechnerleistung bzw. hochperformant durchgeführt werden.
  • Mit dem erfindungsgemäßen Verfahren kann der Nutzer gezielt zwischen dem Performanz-Betriebsmodus PM, bei dem die Ausführungseinheiten 2 parallel zur Leistungssteigerung arbeiten, und dem Vergleichsbetriebsmodus VM, bei dem die Ausführungseinheiten 2 zur Erhöhung der Sicherheit ein gültiges Signal erzeugen, umschalten. Der Nutzer gibt dabei vorzugsweise dem Anwendungsprogramm den entsprechenden Umschaltauftrag.
  • Ein typisches Beispiel stellt beispielsweise eine Transaktion innerhalb eines Anwendungsprogramms für eine Banküberweisung dar, wobei diese einen möglichst hohen Zugangsschutz aufweisen soll. Die zugehörigen Programmbefehle werden dementsprechend in dem Vergleichsbetriebsmodus VM durchgeführt. Als weiteres Beispiel wird bei einer wichtigen Präsentation die Verfügbarkeit des Anwendungsprogramm gezielt optimiert. In einem weiteren Beispiel kann bei einem Prototypaufbau eine möglichst hohe Sicherheit in einer kritischen Demonstrationsphase erzielt werden, indem das Anwendungsprogramm im Vergleichsbetriebsmodus VM abläuft.
  • Das Umschaltung zwischen dem Performanz-Betriebsmodus PM und dem Vergleichsbetriebsmodus VM während des Ablaufs des Anwendungsprogramms erfolgt bei einer ersten Ausführungsform getriggert durch den Nutzer, indem dieser einen entsprechenden Umschaltbefehl eingibt.
  • Bei einer alternativen Ausführungsform des erfindungsgemäßen Verfahrens werden die entsprechenden Anwendungsprogramme bzw. Anwendungsprogrammteile derart gekennzeichnet, dass bei Auftreten der Kennzeichnung automatisch ein Umschalten erfolgt.
  • Bei einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens erfolgt das Umschalten erst, nachdem der Nutzer ein entsprechendes Fehlersignal, d. h. einen Systemfehler, angezeigt bekommt.
  • Das erfindungsgemäße Verfahren eignet sich sowohl für PC-System als auch für eingebettete Systeme, beispielsweise im Automobilbereich. In einer PC-Umgebung gibt der Nutzer seine Kommandos, insbesondere den Umschaltbefehl, an das Rechnersystem per Tastatur oder Maus ein. Bei einem Handy wird beispielsweise die Tastatur zur Eingabe des Umschaltbefehls verwendet. Bei einem Navigationssystem kann die Umschaltung mittels speziell dafür vorgesehener Eingabemittel durchgeführt werden. Das erfindungsgemäße Verfah ren ermöglicht es einem Nutzer eines Signalverarbeitungs- bzw. Rechnersystems, während des Betriebs die besonderen Eigenheiten einer DCSL-Hardware, die eine Umschalteinrichtung zwischen dem Performanz-Betriebsmodus und dem Vergleichsbetriebsmodus aufweist, derart auszunutzen, dass eine besonders hohe Verfügbarkeit und Zuverlässigkeit für relevante Anwendungen bzw. Anwendungsprogramme erreicht wird. Somit kann der Nutzer die Verfügbarkeit eines Anwendungsprogramms bewusst steigern.

Claims (14)

  1. Verfahren zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm bei einem Signalverarbeitungssystem mit mehreren Ausführungseinheiten (2), die in einem Performanz-Betriebsmodus (PM) parallel arbeiten, wobei während des Ablaufs des Anwendungsprogramms ein Nutzer das Signalverarbeitungssystem in einen Vergleichsbetriebsmodus (VM) umschaltet, in welchem die von den Ausführungseinheiten (2) abgegebenen Signale zur Erzeugung des gültigen Signals miteinander verglichen werden.
  2. Verfahren nach Anspruch 1, wobei der Nutzer nach Auftreten eines Fehlers während des Ablaufs des Anwendungsprogramms das Signalverarbeitungssystem in einen Vergleichsbetriebsmodus (VM) umschaltet.
  3. Verfahren nach Anspruch 1, wobei ein von den Ausführungseinheiten (2) abgegebenen Signal zum Erzeugen des gültigen Signals selektiert wird.
  4. Verfahren nach Anspruch 3, wobei dasjenige Signal selektiert wird, das die geringste Signalabweichung zu den übrigen Signalen aufweist.
  5. Verfahren nach Anspruch 1, wobei das gültige Signal in Abhängigkeit von den Signalen, die von den Ausführungseinheiten (2) abgegeben werden, gemäß einer vorgegebenen Funktion berechnet wird.
  6. Verfahren nach Anspruch 5, wobei das gültige Signal durch den Medianwert der von den Ausführungseinheiten (2) abgegebenen Signale gebildet wird.
  7. Verfahren nach Anspruch 1, wobei die von den Ausführungseinheiten (2) abgegebenen Signale in Abhängigkeit von einer konfigurierbaren Vergleichsoperation miteinander verglichen werden.
  8. Verfahren nach Anspruch 1, wobei der Fehler durch einen Hardware-Fehler des Signalverarbeitungssystems gebildet wird.
  9. Verfahren nach Anspruch 1, wobei die Ausführungseinheiten (2) durch identisch aufgebaute Berechnungseinheiten oder Sensoren gebildet werden.
  10. Verfahren nach Anspruch 9, wobei die Ausführungseinheiten (2) durch eine Gleitpunktberechnungseinheit (FPU), einen digitalen Signalprozessor, einen Prozessor, einen Co-Prozessor oder eine arithmetisch logische Einheit (ALU) gebildet werden.
  11. Verfahren nach Anspruch 7, wobei die Vergleichsoperation eine Mehrheitsentscheidung anhand der von den Ausführungseinheiten (2) abgegebenen Signale durchführt.
  12. Signalverarbeitungssystem zum Erzeugen eines gültigen Signals für ein Anwendungsprogramm mit mehreren Ausführungseinheiten (2), die in einem Performanzbetriebsmodus (PM) des Signalverarbeitungssystems arbeiten, wobei das Signalverarbeitungssystem durch den Nutzer von dem Performanzbetriebsmodus (PM) in einen Vergleichsbetriebsmodus (VM) umschaltbar ist, in welchem die von den Ausführungseinheiten (2) abgegebenen Signale zur Erzeugung des gültigen Signals miteinander verglichen werden.
  13. Signalverarbeitungssystem nach Anspruch 12, wobei das Signalverarbeitungssystem nach Auftreten eines Fehlers während des Ablaufs des Anwendungsprogramms durch den Nutzer umschaltbar ist.
  14. Signalverarbeitungssystem nach Anspruch 12 oder 13, wobei die Umschaltung mittels einer Umschalt- und Vergleichsschaltung (1) erfolgt.
DE102006050715A 2006-10-10 2006-10-10 Verfahren und System zum Erzeugen eines gültigen Signals Withdrawn DE102006050715A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102006050715A DE102006050715A1 (de) 2006-10-10 2006-10-10 Verfahren und System zum Erzeugen eines gültigen Signals
US11/974,349 US20090177872A1 (en) 2006-10-10 2007-10-12 Method and system for generating a valid signal
JP2007265980A JP2008097611A (ja) 2006-10-10 2007-10-12 有効な信号を生成する方法及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006050715A DE102006050715A1 (de) 2006-10-10 2006-10-10 Verfahren und System zum Erzeugen eines gültigen Signals

Publications (1)

Publication Number Publication Date
DE102006050715A1 true DE102006050715A1 (de) 2008-04-17

Family

ID=39185062

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006050715A Withdrawn DE102006050715A1 (de) 2006-10-10 2006-10-10 Verfahren und System zum Erzeugen eines gültigen Signals

Country Status (3)

Country Link
US (1) US20090177872A1 (de)
JP (1) JP2008097611A (de)
DE (1) DE102006050715A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013200567A1 (de) 2013-01-16 2014-07-17 Robert Bosch Gmbh Verfahren zum Kennzeichnen von Signalen

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238068A (ja) * 2008-03-28 2009-10-15 Fujitsu Ltd 通信制御装置、通信制御方法
JP5683294B2 (ja) 2011-01-31 2015-03-11 三菱重工業株式会社 安全装置、安全装置の演算方法
FR2972548B1 (fr) * 2011-03-08 2013-07-12 Thales Sa Dispositif pour l'amelioration de la tolerance aux fautes d'un processeur
US9251014B2 (en) * 2013-08-08 2016-02-02 International Business Machines Corporation Redundant transactions for detection of timing sensitive errors
JP7238574B2 (ja) * 2019-04-23 2023-03-14 株式会社デンソー 電子制御装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3348034A (en) * 1964-03-13 1967-10-17 Westinghouse Electric Corp Decision circuit for use in signal processing systems
JP3424968B2 (ja) * 1993-12-24 2003-07-07 三菱電機株式会社 計算機システム及びプロセッサチップ及び障害復旧方法
US5915083A (en) * 1997-02-28 1999-06-22 Vlsi Technology, Inc. Smart debug interface circuit for efficiently for debugging a software application for a programmable digital processor device
US6615366B1 (en) * 1999-12-21 2003-09-02 Intel Corporation Microprocessor with dual execution core operable in high reliability mode
US7577874B2 (en) * 2003-06-18 2009-08-18 Nethra Imaging, Inc. Interactive debug system for multiprocessor array
DE10349580A1 (de) * 2003-10-24 2005-05-25 Robert Bosch Gmbh Verfahren und Vorrichtung zur Operandenverarbeitung in einer Prozessoreinheit
CN101048757A (zh) * 2004-10-25 2007-10-03 罗伯特·博世有限公司 在拥有至少两个执行单元的计算机系统中切换的方法和装置
DE102005037222A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Auswertung eines Signals eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
KR20070062573A (ko) * 2004-10-25 2007-06-15 로베르트 보쉬 게엠베하 적어도 2개의 실행 유닛을 구비한 컴퓨터 시스템의 전환장치 및 전환 방법
JP2008518304A (ja) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 少なくとも3つの処理ユニットを有する計算機システムにおけるモード切替及びデータ比較方法および装置
DE102005037242A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Umschaltung und zum Signalvergleich bei einem Rechnersystem mit wenigstens zwei Verarbeitungseinheiten
DE502005005287D1 (de) * 2004-10-25 2008-10-16 Bosch Gmbh Robert Verfahren und vorrichtung zur erzeugung eines modussignals bei einem rechnersystem mit mehreren komponenten
US8370806B2 (en) * 2006-11-15 2013-02-05 Qualcomm Incorporated Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013200567A1 (de) 2013-01-16 2014-07-17 Robert Bosch Gmbh Verfahren zum Kennzeichnen von Signalen

Also Published As

Publication number Publication date
JP2008097611A (ja) 2008-04-24
US20090177872A1 (en) 2009-07-09

Similar Documents

Publication Publication Date Title
EP1917592B1 (de) Rechnersystems mit wenigstens zwei ausführungseinheiten und einer vergleichseinheit sowie verfahren zu dessen steuerung
EP1917581B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems
EP2079917B1 (de) Verfahren und vorrichtung zur überwachung einer funktionsfähigkeit einer motorsteuerung eines verbrennungsmotors
DE102006050715A1 (de) Verfahren und System zum Erzeugen eines gültigen Signals
DE102005037230A1 (de) Verfahren und Vorrichtung zur Überwachung von Funktionen eines Rechnersystems
DE10349581A1 (de) Verfahren und Vorrichtung zur Umschaltung zwischen wenigstens zwei Betriebsmodi einer Prozessoreinheit
DE102014002473A1 (de) System und verfahren zur erhöhung der lockstep-kern-verfügbarkeit
EP1794680A1 (de) Verfahren zur abarbeitung eines computerprogramms auf einem computersystem
DE112004001040B4 (de) Verfahren und Datenprozessor mit reduzierter Operationsunterbrechung auf Grund von Operanden-Abhängigkeiten
EP1680737B1 (de) Verfahren und vorrichtung zur operandenverarbeitung in einer prozessoreinheit
DE102006048171A1 (de) Verfahren zum Neubooten eines Signalverarbeitungssystems
WO2006032585A1 (de) Verfahren zur abarbeitung eines computerprogramms auf einem computersystem
DE102004011450A1 (de) Anvisierte Fehlertoleranz durch spezielle CPU-Befehle
EP1817662B1 (de) Verfahren und vorrichtung zur umschaltung zwischen betriebsmodi eines multiprozessorsystems durch wenigstens ein externes signal
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE102005037245A1 (de) Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
EP1917587B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems
DE102006048170A1 (de) Verfahren zur Erhöhung der Zuverlässigkeit eines Betriebssystems
EP1915674B1 (de) Verfahren und vorrichtung zur steuerung eines rechnersystems mit wenigstens zwei ausführungseinheiten und mit wenigstens zwei gruppen von internen zuständen
WO2007017363A1 (de) Verfahren und vorrichtung zur umschaltung bei einem rechnersystem mit wenigstens zwei ausführungseinheiten mittels bitinformationen in einem register
CN101243409A (zh) 通过切换寄存器组在具有至少两个执行单元的计算机系统中确定起动状态的方法和设备
EP1917594A2 (de) Verfahren und vorrichtung zur abarbeitung von datenwörtern und/oder instruktionen
DE102005060900A1 (de) Rechenwerk für einen Prozessor
WO2007017394A2 (de) Verfahren und vorrichtung zur festlegung eines startzustandes bei einem rechnersystem mit wenigstens zwei ausführungseinheiten durch übernehmen des startzustandes

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20130624

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