DE102005045399A1 - Datenverarbeitungssystem mit variabler Taktrate - Google Patents

Datenverarbeitungssystem mit variabler Taktrate Download PDF

Info

Publication number
DE102005045399A1
DE102005045399A1 DE200510045399 DE102005045399A DE102005045399A1 DE 102005045399 A1 DE102005045399 A1 DE 102005045399A1 DE 200510045399 DE200510045399 DE 200510045399 DE 102005045399 A DE102005045399 A DE 102005045399A DE 102005045399 A1 DE102005045399 A1 DE 102005045399A1
Authority
DE
Germany
Prior art keywords
data processing
processing system
clock rate
execution unit
clock
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
DE200510045399
Other languages
English (en)
Inventor
Thomas Kottke
Yorck Collani
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 DE200510045399 priority Critical patent/DE102005045399A1/de
Priority to AT05811130T priority patent/ATE408863T1/de
Priority to CNA200580036469XA priority patent/CN101048741A/zh
Priority to PCT/EP2005/055549 priority patent/WO2006045807A2/de
Priority to JP2007537306A priority patent/JP2008518313A/ja
Priority to DE502005005428T priority patent/DE502005005428D1/de
Priority to EP05811130A priority patent/EP1807760B1/de
Priority to US11/666,410 priority patent/US20090265581A1/en
Priority to KR1020077009249A priority patent/KR20070068405A/ko
Publication of DE102005045399A1 publication Critical patent/DE102005045399A1/de
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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Datenverarbeitungssystem umfasst eine getaktet arbeitende Ausführungseinheit (1), einen Taktgenerator (5) zum Liefern eines Taktsignals für die Ausführungseinheit (1) und eine Überwachungseinheit (3) zum Überwachen des ordnungsgemäßen Arbeitens der Ausführungseinheit (1). Der Taktgenerator (5) ist eingerichtet, das Taktsignal mit einer steuerbaren Frequenz zu liefern. Die Überwachungseinheit (3) ist funktionsmäßig mit dem Taktgenerator (5) verbunden, um die Frequenz des Taktsignals herabzusetzen, wenn nichtordnungsgemäßes Arbeiten der Ausführungseinheit (1) festgestellt wird.

Description

  • Die vorliegende Erfindung betrifft ein Datenverarbeitungssystem mit einer getaktet arbeitenden Ausführungseinheit wie etwa einem Mikroprozessor, einem Taktgenerator zum Liefern eines Taktsignals für die Ausführungseinheit und einer Überwachungseinheit zum Überwachen des ordnungsgemäßen Arbeitens der Ausführungseinheit.
  • Solche Überwachungseinheiten, die auch unter der Bezeichnung „Watchdog" bekannt sind, dienen herkömmlicherweise dazu, einen undefinierten Zustand bzw. Absturz der Ausführungseinheit zu erkennen und erforderlichenfalls die Ausführungseinheit zurückzusetzen, um einen definierten Betriebszustand wieder herzustellen. Ein solcher „Watchdog" ist in der Lage, unter Inkaufnahme einer zeitweiligen Betriebsunterbrechung der Ausführungseinheit während des Zurücksetzens einen Störungszustand zu beheben, der sich aus einem spontanen Verarbeitungsfehler, z. B. auf Grund von Informationsverlust durch den Einfluss von kosmischer oder sonstiger ionisierender Strahlung oder dergleichen ergeben kann. Strukturelle Mängel des Datenverarbeitungssystems von schaltungstechnischer oder programmtechnischer Art, die zu reproduzierbaren Fehlern in der Verarbeitung führen, können von einem solchen „Watchdog" nicht abgefangen werden, da dieser das Auftreten der in vorhersagbarer Weise zu dem Fehler führenden Bedingungen nicht verhindern kann.
  • Eine weitere mögliche Ursache für Verarbeitungsfehler in einem elektronischen Datenverarbeitungssystem sind Laufzeiteffekte. Da sich die elektrischen Signale auf einem Halbleiterchip oder zwischen mehreren Chips eines Datenverarbeitungssystems nur mit einer bestimmten Geschwindigkeit ausbreiten können, müssen die Längen der Signalwege um so geringer und um so genauer aufeinander abgestimmt sein, je höher die Taktfrequenz ist, bei der das System betrieben wird. Parasitäre Kapazitäten an den Signalleitungen können Änderungen der Signalpegel verzögern. Da diese parasitären Kapazitäten fertigungsbedingt streuen können, ist es üblich, bei der Produktion eines Prozessors zu testen, wie hoch die maximale Taktfrequenz ist, bei der der Prozessor sicher arbeitet. Für diese Frequenz (abzüglich eines Sicherheitsabstands) wird der Prozessor freigegeben, und es wird davon ausgegangen, dass er bei dieser freigegebenen maximalen Frequenz und darunter liegenden Taktfrequenzen sicher betrieben werden kann.
  • Es ist bereits vorgeschlagen worden, Prozessoren für netzunabhängige Anwendungen je nach Auslastungsgrad bei unterschiedlichen Taktfrequenzen zu betreiben. Ziel dieser Maßnahme ist eine Minimierung der Leistungsaufnahme des Prozessors. Da diese linear mit der Taktfrequenz zunimmt, ist es an sich wünschenswert, den Prozessor bei einer Taktrate zu betreiben, die nicht höher ist, als zur Bewältigung der aktuellen Aufgaben des Prozessors erforderlich.
  • Man kann feststellen, dass Alterungserscheinungen von elektronischen Bauelementen zu einer Zunahme der Wahrscheinlichkeit von spontanen Verarbeitungsfehlern in einem Datenverarbeitungssystem führen. Diese Steigerung kann zum Beispiel erklärt werden durch langfristige Veränderungen an Grenzflächen der Halbleitersubstrate, auf denen die Schaltungen implementiert sind, und die zu Veränderungen der parasitären Kapazitäten führen, welche die Schaltungen belasten. Auch eine Migration von Dotiermaterial in Schaltungselementen kann bei hohen Betriebstemperaturen nicht ausgeschlossen werden, wobei die Wirkungen einer solchen Migration um so stärker sind, je kleiner die auf den Halbleitersubstraten gebildeten Strukturen sind. In Anbetracht der Entwicklung zu immer höheren Integrationsdichten ist daher mit einer zunehmenden Bedeutung von alterungsbedingten Zuverlässigkeitsproblemen zu rechnen.
  • Vorteile der Erfindung
  • Durch die vorliegende Erfindung, wie in Anspruch 1 definiert, wird ein Datenverarbeitungssystem geschaffen, welches trotz der oben geschilderten Probleme langfristig ein hohes Maß an Betriebsicherheit garantiert und dadurch insbesondere für sicherheitskritische Anwendungen gut geeignet ist, bei denen es wichtig ist, spontane Funktionsausfälle soweit wie möglich zu vermeiden.
  • Diese Vorteile werden bei einem Datenverarbeitungssystem mit einer getaktet arbeitenden Ausführungseinheit, einem Taktgenerator zum Liefern eines Taktsignals für die Ausführungseinheit und einer Überwachungseinheit zum Überwachen des ordnungsgemäßen Arbeitens der Ausführungseinheit dadurch erreicht, dass der Taktgenerator eingerichtet ist, das Taktsignal mit einer steuerbaren Frequenz zu liefern und dass die Überwachungseinheit funktionsmäßig mit dem Taktgenerator verbunden ist, um die Frequenz des Taktsignals herabzusetzen, wenn nichtordnungsgemäßes Arbeiten der Ausführungseinheit festgestellt wird.
  • Es wird davon ausgegangen, dass die oben erläuterten parasitären Kapazitäten oder die eventuell durch Dotierungsmigration verursachte Verringerung der Effizienz von Schaltungsbauteilen für einen wesentlichen Teil von im Datenverarbeitungssystem auftretenden spontanen Fehlern verantwortlich ist. Indem im Fall des Auftretens solcher Fehler die Taktrate herabgesetzt wird, wird lediglich ein Teil der Rechenkapazität, die das System unter optimalen Bedingen erreichen könnte, preisgegeben, die allgemeine Zuverlässigkeit des Systems bleibt jedoch erhalten.
  • Um im Falle einer Reduzierung der Taktrate eine auf dem Datenverarbeitungssystem laufende Nutzanwendung, die wenigstens zeitweise die mit einer ursprünglich spezifizierten hohen Taktrate erzielbare Rechenleistung des Systems voll ausschöpft, lauffähig zu erhalten, sollte die Nutzanwendung zweckmä ßigerweise in eine Mehrzahl von Funktionen gegliedert sein, wobei die Ausführung wenigstens einer der Funktionen, die als im Notfall verzichtbar beurteilt wird, in Abhängigkeit von der aktuellen Taktrate des Systems zur Ausführung freigegeben oder nicht freigegeben ist.
  • Die Überwachungseinheit kann eine an sich bekannte Watchdog-Einheit umfassen, die nichtordnungsgemäßes Arbeiten der Ausführungseinheit feststellt, wenn ein Funktionssignal von der Ausführungseinheit in einer vorgegebenen Zeitspanne ausbleibt, die aber im Falle des Ausbleibens nicht in herkömmlicher Weise das Datenverarbeitungssystem zurücksetzt, sondern lediglich die Herabsetzung der Frequenz des Taktsignals veranlasst.
  • Alternativ oder in Kombination kann die Überwachungseinheit eingerichtet sein, eine Testverarbeitung durch die Verarbeitungseinheit bei einer aktuellen Taktrate und einer gegenüber der aktuellen Taktrate veränderten Taktrate ausführen zu lassen und nichtordnungsgemäßes Arbeiten der Ausführungseinheit festzustellen, wenn das Ergebnis der bei der aktuellen Taktrate durchgeführten Testverarbeitung und das Ergebnis der bei der veränderten Taktrate durchgeführten Testverarbeitung sich unterscheiden.
  • Vorzugsweise handelt es sich bei der veränderten Taktrate um eine gegenüber der aktuellen Taktrate erhöhte Taktrate. Dies erlaubt es, eine Neigung des Datenverarbeitungssystems, spontane Fehler zu produzieren, festzustellen, noch bevor die Grenz- Taktfrequenz, oberhalb derer Verarbeitungsfehler auftreten, auf das Niveau der aktuellen Taktfrequenz abgesunken ist.
  • Die Überwachungseinheit, die die Ausführung der Testverarbeitung steuert, kann einfach und preiswert auf programmtechnischem Wege in der Ausführungseinheit implementiert sein.
  • Einer anderen Ausgestaltung zufolge umfasst die Überwachungseinheit eine zweite Ausführungseinheit und Mittel zum Vergleichen der Verarbeitungsergebnisse der zwei Ausführungseinheiten und ist eingerichtet, nichtordnungsgemäßes Arbeiten bei Nichtübereinstimmung der Ergebnisse festzustellen. Hier genügt eine einmalige Ausführung der Testverarbeitung, um die Zuverlässigkeit des Datenverarbeitungssystems zu beurteilen.
  • Auch bei dieser Ausgestaltung ist es zweckmäßig, für eine Prüfung der Betriebssicherheit die Taktfrequenz zeitweilig über eine aktuelle Taktfrequenz zu erhöhen und bei Feststellung von nicht ordnungsgemäßem Arbeiten bei der erhöhten Taktfrequenz die Taktfrequenz unter besagte aktuelle Taktfrequenz abzusenken.
  • Das Datenverarbeitungssystem sollte über Mittel zum Ausgeben eines Warnsignals bei Absenkung der Taktfrequenz unter eine untere Grenze verfügen.
  • Insbesondere kann es sich bei dem Datenverarbeitungssystem um ein Steuergerät für ein Kraftfahrzeug, insbesondere ein Motorsteuergerät handeln.
  • Gegenstand der Erfindung ist auch ein Verfahren zum Betreiben einer getaktet arbeitenden Ausführungseinheit eines Datenverarbeitungssystems, insbesondere eines Datenverarbeitungssystems der oben beschriebenen Art, bei dem die Ausführungseinheit auf ordnungsgemäßes Arbeiten bei einer hohen Taktfrequenz geprüft wird und die Taktrate gesenkt wird, wenn nichtordnungsgemäßes Arbeiten der Ausführungseinheit festgestellt wird, wobei die Prüfung regelmäßig wiederholt wird. Die regelmäßige Prüfung kann insbesondere jeweils beim Ein- und/oder Ausschalten des Datenverarbeitungssystems oder periodisch während des Betriebs des Datenverarbeitungssystems vorgenommen werden.
  • Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Figuren.
  • Figuren
  • 1 ist ein Blockdiagramm eines Datenverarbeitungssystems gemäß einer ersten Ausgestaltung der Erfindung;
  • 2 ist ein Flussdiagramm eines von dem Datenverarbeitungssystem der 1 ausgeführten Betriebsverfahrens; und
  • 3 ist ein Blockdiagramm einer zweiten Ausgestaltung eines Datenverarbeitungssystems gemäß der Erfindung.
  • Beschreibung der Ausführungsbeispiele
  • Das in 1 schematisch dargestellte Datenverarbeitungssystem umfasst einen Mikroprozessor 1, einen Arbeitsspeicher 2 und eine Überwachungseinheit 3, die über einen Daten- und Adressbus 4 miteinander sowie gegebenenfalls mit nicht gezeigten Peripherieeinheiten kommunizieren, die je nach Anwendung des Systems unterschiedlich sein können und zum Beispiel im Falle einer Anwendung als Motorsteuergerät diverse Sensoren zum Erfassen von Betriebsparametern des Motors und Aktoren zum Beeinflussen dieser oder anderer Parameter des Motors umfassen können. Das System umfasst ferner einen Taktgenerator 5, der ein Taktsignal mit einer von der Überwachungseinheit 3 über eine Steuerleitung 6 spezifizierten Frequenz über eine Taktleitung 7 an den Mikroprozessor 1, den Arbeitsspeicher 2 und die Überwachungseinheit 3 liefert.
  • Der Arbeitsspeicher 2 enthält Programmanweisungen einer von dem Mikroprozessor 1 auszuführenden Nutzanwendung sowie einer Testverarbeitung.
  • Der Mikroprozessor 1 ist vom Hersteller für eine Arbeits- Taktfrequenz spezifiziert. Unter normalen Betriebsbedingungen steuert die Überwachungseinheit 3 den Taktgenerator 5 an, um diese spezifizierte Taktfrequenz zu erzeugen, während der Mikroprozessor 1 die Nutzanwendung ausführt. Immer wenn das System eingeschaltet wird, im Falle eines als Motorsteuergerät arbeitenden Systems z. B. durch Drehen eines Zündschlüssels, führt der Mikroprozessor 1 vor Beginn der Nutzanwendung eine Initialisierung aus, deren Ablauf anhand von 2 erläutert wird. In einem ersten Schritt S1 setzt die Überwachungseinheit 3 die Taktfrequenz f des Taktgenerators auf die für den Mikroprozessor 1 spezifizierte Frequenz fnom. Bei dieser Taktfrequenz führt der Mikroprozessor 1 in Schritt S2 die bereits erwähnte Testverarbeitung aus. Diese Testverarbeitung kann z. B. aus einer Folge von arithmetischen oder logischen Operationen bestehen, die an aus dem Arbeitsspeicher 2 gelesenen Konstanten durchgeführt werden und daher bei jeder Durchführung das gleiche Endergebnis liefern sollten. Der letzte Schritt S3 der Testverarbeitung ist ein Schreiben des Ergebnisses an eine Adresse, die der Überwachungseinheit 3 zugeordnet ist, so dass diese das Ergebnis Rnom empfängt und zwischenspeichert.
  • Anschließend erhöht die Überwachungseinheit 3 die Taktfrequenz f auf fnom + Δ (S4) und lässt den Mikroprozessor 1 die Testverarbeitung bei dieser erhöhten Taktfrequenz wiederholen (S5). Das Ergebnis Rinc wird auf diese Weise wiederum in die Überwachungseinheit 3 geschrieben (S6). Diese vergleicht nun in Schritt S7 die zwei empfangenen Ergebnisse Rnom und Rinc. Bei Übereinstimmung wird davon ausgegangen, dass der Prozessor 1 bei beiden Taktfrequenzen, fnom und fnom + Δ, korrekt gearbeitet hat. In diesem Fall wird in Schritt S8 die Taktfrequenz f auf fnom zurückgesetzt, und der Mikroprozessor 1 beginnt, die Nutzanwendung auszuführen.
  • Falls in Schritt S7 Nichtübereinstimmung der Ergebnisse festgestellt wird, so bedeutet dies, dass die erhöhte Taktfrequenz fnom + Δ nicht betriebssicher ist. Um von dieser nichtbetriebssicheren Frequenz einen Sicherheitsabstand einzuhalten, wird in Schritt S9 eine neue, verringerte Betriebsfrequenz f = fnom – Δ eingestellt. In Schritt S10 überprüft der Mikroprozessor 1 anhand einer vom Hersteller des Systems vorbeireiten und im Arbeitsspeicher 2 abgelegten Liste, ob die Nutzanwendung Funktionen enthält, deren Ausführung bei der reduzierten Taktrate gesperrt werden muss, um die Funktionsfähigkeit der Nutzanwendung in ihren wesentlichen Merkmalen aufrecht zu erhalten und unzulässig lange Reaktionszeiten der Nutzanwendung auf äußere Ereignisse zu verhindern und diese Funktionen gegebenenfalls zu sperren. Des weiteren wird in Schritt S10 eine Warnanzeige an einen Benutzer ausgegeben, wenn wenigstens eine der folgenden Bedingungen erfüllt ist.
    • a) eine abermalige Verringerung der Taktfrequenz um Δ würde die Sperrung wenigstens einer Funktion der Nutzanwendung erforderlich machen;
    • b) die Verringerung der Taktrate in Schritt S9 hat zur Sperrung einer Funktion geführt;
    • c) es sind bereits alle für die Nutzanwendung nicht lebenswichtigen Funktionen gesperrt, so dass eine weitere Verringerung der Taktrate nicht durch Sperrung weiterer Funktionen aufgefangen werden könnte, sondern zur Inoperabilität des gesamten Systems führen würde.
  • Die Schritte S1 bis S3 einerseits und S4 bis S10 andererseits müssen nicht unbedingt zeitlich aufeinanderfolgend ausgeführt werden. So ist es z. B. denkbar, die Schritte S1 bis S3 nur einmal während einer erstmaligen Inbetriebnahme des Systems durchzuführen und ihr Ergebnis Rnom in der Überwachungseinheit 3 gespeichert zu halten, so dass spätere Prüfungen der Betriebssicherheit des Systems sich auf die Durchführung S4 bis S10 beschränken können.
  • Dies ist insbesondere dann zweckmäßig, wenn Überprüfungen der Betriebssicherheit auch periodisch bei laufendem System durchgeführt werden, da zum Durchführen der Schritte S4 bis S10 die Nutzanwendung nur etwa halb so lang unterbrochen werden muss wie für die Durchführung des gesamten in 2 gezeigten Verfahrens.
  • Um den Start der Nutzanwendung nicht durch die Betriebsicherheitsprüfung gemäß 2 zu verzögern, kann auch vorgesehen werden, dass diese Prüfung nicht jeweils bei Inbetriebnahme des Systems, sondern unmittelbar vor dessen Ausschalten durchgeführt wird, wobei natürlich in diesem genau wie im vorhergehenden Fall eine eventuell in Schritt S9 neu festgelegte Betriebsfrequenz f bei einer anschließenden Wiederholung des Verfahrens als die spezifizierte Frequenz fnom verwendet wird.
  • Zusätzlich zu der oben beschriebenen Aufgabe des Vergleichens der Ergebnisse Rnom und Rinc der zwei Testverarbeitungen kann die Überwachungseinheit 3 in an sich bekannter Weise auch noch die Aufgabe des Erfassens eines undefinierten Betriebszustandes oder Absturzes des Mikroprozessors 1 wahrnehmen. Zu diesem Zweck ist die Nutzanwendung so ausgelegt, so dass sie in regelmäßigen Zeitabständen die Erzeugung eines Totmannsignales veranlasst, welches von der Überwachungseinheit 3 empfangen wird. Dieses Totmannsignal kann z. B. ein Lesezugriff auf die oben erwähnte Adresse sein, an welche der Mikroprozessor 1 die Ergebnisse der Testverarbeitung schreibt. Dieses Totmannsignal setzt in der Überwachungseinheit 3 jeweils einen Zeitgeber zurück, dessen Latenzzeit länger als der vorgesehene Zeitabstand zwischen zwei Totmannsignalen ist. Solange die Totmannsignale im vorgesehenen Zeitabstand eintreffen, wird der Zeitgeber regelmäßig zurückgesetzt und kann nicht ablaufen. Wenn im Folge eines Prozessorabsturzes das Totmannsignal ausbleibt und der Zeitgeber abläuft, löst die Überwachungseinheit 3 über eine Resetleitung 8 (1) einen Reset des Mikroprozessors 1 aus und veranlasst diesen so, die Nutzanwendung neu zu starten.
  • 3 zeigt eine zweite Ausgestaltung eines erfindungsgemäßen Datenverarbeitungssystems mit zwei Mikroprozessoren 1, 11, die jeweils über einen Daten-/Adressbus 4, 14 mit einem zugeordneten Arbeitsspeicher 2, 12 und gegebenenfalls mit nicht dargestellten Peripherieeinheiten kommunizieren. Ein Datenverarbeitungssystem mit einer solchen Struktur kommt insbesondere bei einem Motorsteuergerät für einen Motor mit sechs oder mehr Zylindern in Betracht, bei welchem die Zylinder in zwei Gruppen aufgeteilt sind, welche jeweils von einem der zwei Prozessoren 1, 11 gesteuert werden. Die Prozessoren 1, 11 empfangen ein Taktsignal von einem gemeinsamen Taktgenerator 5 über eine Taktleitung 7. Die Frequenz des Taktsignals ist gesteuert durch eine ebenfalls beiden Prozessoren 1, 11 gemeinsam zugeordnete Überwachungseinheit 3. Alle Adern der Busse 4, 14, sowohl Daten- als auch Adressleitungen, liegen an einer Bank von XOR-Gattern 20 an, deren Ausgang jeweils genau dann den Wert „wahr" annimmt, wenn sich die Werte auf den zwei homologen Adern der Busse 4, 14, die an den zwei Eingängen eines gleichen Gatters 20 anliegen, unterscheiden. Die Ausgänge der XOR-Gatter 20 sind jeweils mit einem Eingang eines OR-Gatters 21 verbunden, dessen Ausgang folglich immer dann den Wert „wahr" annimmt, wenn sich die Werte auf zwei beliebigen homologen Adern der Busse 4, 14 unterscheiden.
  • Resetleitungen 8, die die gleiche Funktion wie bei der Ausgestaltung der 1 erfüllen, können zwischen der Überwachungseinheit 3 und den Prozessoren 1, 11 vorgesehen sein.
  • Mögliche Arbeitsweisen dieser Ausgestaltung werden im Folgen ebenfalls unter Rückgriff auf 2 beschrieben.
  • Einer ersten Alternative zufolge beginnt die Überwachungseinheit 3 die Betriebssicherheitsprüfung, indem sie wie in Schritt S4 die Frequenz des Taktsignals f über eine aktuell im Normalbetrieb verwendete Frequenz fnom hinaus erhöht und dann eine Testverarbeitung (S5) durch die Mikroprozessoren 1, 11 ausführen lässt, deren Ergebnisse von der Nutzanwendung nicht benötigt werden, sondern die lediglich der Sicherheitsprüfung dient. Während dieser Verarbeitung vergleichen die Logikgatter 20, 21 fortlaufend die von den Mikroprozessoren 1, 11 erzeugten Daten und Adressen, entsprechend dem Schritt S7 der 2. Wenn diese Daten und Adressen während der gesamten Testverarbeitung gleich sind, arbeiten beide Prozessoren 1, 11 sicher, und die Taktfrequenz wird in Schritt S8 auf fnom zurückgesetzt. Falls jedoch eine Abweichung in einem Datenwert oder einer Adresse auftritt, verzweigt das Verfahren zu Schritt S9, wo die Taktfrequenz herabgesetzt wird, und in Schritt S10 wird, wie bereits oben erläutert, festgelegt, ob und gegebenenfalls welche Funktionen des Anwendungsprogramms gesperrt werden müssen, und gegebenenfalls eine Warnung an den Benutzer ausgegeben.
  • Da gemäß dieser Ausgestaltung nicht nur Endergebnisse der Testverarbeitung verglichen werden, sondern auch sämtliche Zwischenergebnisse einschließlich der angesprochenen Adressen, wird bei gleicher Anzahl von Programmschritten der Testverarbeitung ein Fehler mit höherer Wahrscheinlichkeit als bei der ersten Ausgestaltung erfasst.
  • Zusätzlich bietet das Datenverarbeitungssystem der 3 die Möglichkeit, Fehler der Prozessoren 1, 11 auch dann zu erfassen, wenn diese gleichzeitig identische Anweisungen bei der normalen Taktfrequenz fnom ausführen, z. B. in einer Startphase der Nutzanwendung, in welcher für beide Prozessoren 1, 11 identische Initialisierungen vorgenommen werden. Dies erlaubt eine Prüfung der Betriebssicherheit völlig ohne Zeitaufwand.
  • Prozessoren und Überwachungseinheiten sind in den obigen Beispielen als getrennte Einheiten beschrieben worden. Selbstverständlich können aber auch Prozessoren mit einer in die Prozessorschaltungen integrierten, fest verdrahteten Fehlererkennungsfunktion zum Erkennen von ECC- oder Paritätsfehlern in durch den Prozessor gelesenen Daten zum Einsatz kommen; ein solcher Prozessor kann als Kombination von Prozessor und Überwachungseinheit im Sinne der vorhergehenden Beschreibung aufgefasst werden.

Claims (13)

  1. Datenverarbeitungssystem mit einer getaktet arbeitenden Ausführungseinheit (1), einem Taktgenerator (5) zum Liefern eines Taktsignals für die Ausführungseinheit (1) und einer Überwachungseinheit (3) zum Überwachen des ordnungsgemäßen Arbeitens der Ausführungseinheit (1), dadurch gekennzeichnet, dass der Taktgenerator (5) eingerichtet ist, das Taktsignal mit einer steuerbaren Frequenz zu liefern und dass die Überwachungseinheit (3) funktionsmäßig mit dem Taktgenerator (5) verbunden ist, um die Frequenz des Taktsignals herabzusetzen, wenn nichtordnungsgemäßes Arbeiten der Ausführungseinheit (1) festgestellt wird.
  2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass die Überwachungseinheit (3) eine Watchdog-Einheit umfasst, die nichtordnungsgemäßes Arbeiten der Ausführungseinheit feststellt, wenn ein Funktionssignal von der Ausführungseinheit in einer vorgegebenen Zeitspanne ausbleibt.
  3. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass die Überwachungseinheit (3) eingerichtet ist, eine Testverarbeitung von der Verarbeitungseinheit bei einer aktuellen Taktrate (fnom) und einer gegenüber der aktuellen Taktrate veränderten Taktrate ausführen zu lassen und nichtordnungsgemäßes Arbeiten der Ausführungseinheit festzustellen, wenn das Ergebnis der bei der aktuellen Taktrate durchgeführten Testverarbeitung und das Ergebnis der bei der veränderten Taktrate durchgeführten Testverarbeitung sich unterscheiden.
  4. Datenverarbeitungssystem nach Anspruch 3, dadurch gekennzeichnet, dass die veränderte Taktrate (fnom + Δ) eine gegenüber der aktuellen Taktrate (fnom) erhöhte Taktrate ist.
  5. Datenverarbeitungssystem nach Anspruch 3 oder 4, dadurch gekennzeichnet, dass die Überwachungseinheit (3) programmtechnisch in der Ausführungseinheit (1) implementiert ist.
  6. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, dass die Überwachungseinheit (3, 11, 20, 21) eine zweite Ausführungseinheit (11) und Mittel (20, 21) zum Vergleichen der Verarbeitungsergebnisse der zwei Ausführungseinheiten (1, 11) umfasst und eingerichtet ist, nichtordnungsgemäßes Arbeiten bei Nichtübereinstimmung der Ergebnisse festzustellen.
  7. Datenverarbeitungssystem nach Anspruch 6, dadurch gekennzeichnet, dass der Taktgenerator (5) eingerichtet ist, die Taktrate zeitweilig über eine aktuelle Taktrate zu erhöhen (S4) und bei Feststellung von nichtordnungsgemäßem Arbeiten bei der erhöhten Taktrate die Taktrate unter besagte aktuelle Taktrate abzusenken (S9).
  8. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass sie Mittel zum Ausgeben eines Warnsignals bei Absenkung der Taktrate unter eine untere Grenze verfügt.
  9. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Ausführungseinheit (1) ferner eingerichtet ist, eine Nutzanwendung auszuführen, die eine Mehrzahl von Funktionen umfasst, wobei die Ausführung wenigstens einer der Funktionen in Abhängigkeit von der aktuellen Taktrate des Systems freigegeben oder nicht freigegeben ist.
  10. Datenverarbeitungssystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es ein Kfz-Steuergerät ist.
  11. Verfahren zum Betreiben einer getaktet arbeitenden Ausführungseinheit (1) eines Datenverarbeitungssystems, insbesondere nach einem der vorhergehenden Ansprüche, bei dem die Ausführungseinheit (1) auf ordnungsgemäßes Arbeiten bei einer hohen Taktrate geprüft (S4-S7) und die Taktrate gesenkt wird (S9), wenn nichtordnungsgemäßes Arbeiten der Ausführungseinheit festgestellt wird, dadurch gekennzeichnet, dass die Prüfung regelmäßig wiederholt wird.
  12. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Prüfung jeweils beim Ein- und/oder Ausschalten des Datenverarbeitungssystems vorgenommen wird.
  13. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass die Prüfung periodisch während des Betriebs des Datenverarbeitungssystems vorgenommen wird.
DE200510045399 2004-10-25 2005-09-23 Datenverarbeitungssystem mit variabler Taktrate Withdrawn DE102005045399A1 (de)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE200510045399 DE102005045399A1 (de) 2005-09-23 2005-09-23 Datenverarbeitungssystem mit variabler Taktrate
AT05811130T ATE408863T1 (de) 2004-10-25 2005-10-25 Datenverarbeitungssystem mit variabler taktrate
CNA200580036469XA CN101048741A (zh) 2004-10-25 2005-10-25 具有可变时钟速率的数据处理系统
PCT/EP2005/055549 WO2006045807A2 (de) 2004-10-25 2005-10-25 Datenverarbeitungssystem mit variabler taktrate
JP2007537306A JP2008518313A (ja) 2004-10-25 2005-10-25 可変のクロックレートを伴うデータ処理システム
DE502005005428T DE502005005428D1 (de) 2004-10-25 2005-10-25 Datenverarbeitungssystem mit variabler taktrate
EP05811130A EP1807760B1 (de) 2004-10-25 2005-10-25 Datenverarbeitungssystem mit variabler taktrate
US11/666,410 US20090265581A1 (en) 2004-10-25 2005-10-25 Data system having a variable clock pulse rate
KR1020077009249A KR20070068405A (ko) 2004-10-25 2005-10-25 가변 클록 속도를 갖는 데이터 처리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200510045399 DE102005045399A1 (de) 2005-09-23 2005-09-23 Datenverarbeitungssystem mit variabler Taktrate

Publications (1)

Publication Number Publication Date
DE102005045399A1 true DE102005045399A1 (de) 2007-03-29

Family

ID=37832545

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200510045399 Withdrawn DE102005045399A1 (de) 2004-10-25 2005-09-23 Datenverarbeitungssystem mit variabler Taktrate

Country Status (1)

Country Link
DE (1) DE102005045399A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009012142B4 (de) * 2008-03-12 2020-02-13 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren zur Sicherung sicherheitskritischer Variablen

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009012142B4 (de) * 2008-03-12 2020-02-13 GM Global Technology Operations LLC (n. d. Ges. d. Staates Delaware) Verfahren zur Sicherung sicherheitskritischer Variablen

Similar Documents

Publication Publication Date Title
DE60019038T2 (de) Intelligente Fehlerverwaltung
WO2011117156A2 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
DE2946081A1 (de) Anordnung zur ueberwachung der funktion eines programmierbaren elektronischen schaltkreises
EP2550598A1 (de) Redundante zwei-prozessor-steuerung und steuerungsverfahren
EP1807760B1 (de) Datenverarbeitungssystem mit variabler taktrate
DE19509150C2 (de) Verfahren zum Steuern und Regeln von Fahrzeug-Bremsanlagen sowie Fahrzeug-Bremsanlage
EP0799143B1 (de) Verfahren und schaltungsanordnung zur überwachung der funktion einer programmgesteuerten schaltung
DE102012023350B4 (de) Systeme, Schaltungen und ein Verfahren zum Erzeugen einer konfigurierbaren Rückmeldung
DE102017011685A1 (de) Verfahren und Vorrichtung zur Verarbeitung von Alarmsignalen
EP0996060A2 (de) Einzelprozessorsystem
DE10312553B3 (de) Kraftfahrzeug
DE10302456A1 (de) Vorrichtung für sicherheitskritische Anwendungen und sichere Elektronik-Architektur
EP0815511B1 (de) Verfahren und vorrichtung zum überwachen einer elektronischen rechnereinheit
EP2228723B1 (de) Verfahren zur Fehlerbehandlung eines Rechnersystems
DE102005045399A1 (de) Datenverarbeitungssystem mit variabler Taktrate
DE102004033263B4 (de) Steuer-und Regeleinheit
DE102020129889B3 (de) Spannungsüberwachungsschaltkreis und Verfahren zum Überwachen einer Spannung
EP1561165B1 (de) Steuereinheit zur auslösung eines insassenschutzmittels in einem kraftfahrzeug und verfahren zur überwachung der ordnungsgemässen funktion einer vorzugsweise solchen steuereinheit
DE102004051966A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE60312859T2 (de) Verfahren und basis-schaltkreis zur überwachung des betriebs eines mikrokontrollers
DE102017219195B4 (de) Verfahren zum gewährleisten eines betriebs eines rechners
DE102020108341A1 (de) Überwachungsschaltung und Verfahren zur Funktionsüberwachung
EP2338111B1 (de) Verfahren und vorrichtung zum testen eines rechnerkerns in einer mindestens zwei rechnerkerne aufweisenden recheneinheit
WO2018050491A1 (de) Überwachung von sicherheitsrelevanten funktionen durch eine nicht sichere recheneinheit
DE3731097A1 (de) Schaltungsanordnung zur ueberwachung einer einrichtung mit zwei mikroprozessoren, insbesondere einer kraftfahrzeug-elektronik

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee