-
QUERVERWEIS AUF VERWANDTE ANMELDUNG
-
Die vorliegende Anmeldung basiert auf der am 14. März 2014 eingereichten
japanischen Patentanmeldung Nr. 2014-051665 , auf deren Offenbarung hiermit vollinhaltlich Bezug genommen wird.
-
GEBIET DER ERFINDUNG
-
Die vorliegende Erfindung betrifft eine elektronische Steuereinheit, die einen in einer Speichereinheit gespeicherten Befehl liest und ausführt.
-
BISHERIGER STAND DER TECHNIK
-
Bekannt ist eine elektronische Steuereinheit, die einen in einer Speichereinheit gespeicherten Befehl liest und ausführt, um Vorrichtungen zu steuern, die mit einem Fahrzeugkörper verknüpft sind, wie beispielsweise Beleuchtungsvorrichtungen und elektrische Fensterheber (siehe Patentdokument 1).
-
Diese Art von elektronischer Steuereinheit kann ein Dual-Core-Lockstep-System verwenden, um unvorhersehbare Risiken infolge einer Fehlfunktion der elektronischen Steuereinheit zu mindern (d. h. um die funktionale Sicherheit zu gewährleisten).
-
Die elektronische Steuereinheit basierend auf dem Dual-Core-Lockstep-System ist im Wesentlichen aus einem Microcomputer mit zwei Recheneinheiten aufgebaut. Die zwei Recheneinheiten führen gleichzeitig den gleichen Befehl aus. Es wird angenommen, dass ein Fehler in der elektronischen Steuereinheit auftritt, wenn eine Diskrepanz in den Rechenergebnissen der Recheneinheiten ermittelt wird. Die elektronische Steuereinheit muss gegebenenfalls neu gestartet werden oder das Auftreten eines Fehlers melden.
-
LITERATUR AUS DEM STAND DER TECHNIK
-
PATENTLITERATUR
-
- Patentdokument 1: JP 2006-150999 A
-
KURZDARSTELLUNG DER ERFINDUNG
-
Die elektronische Steuereinheit (Microcomputer) basierend auf dem Dual-Core-Lockstep-System verwendet zwei Recheneinheiten, wobei die zwei Recheneinheiten gleichzeitig den gleichen Befehl ausführen müssen. Die elektronische Steuereinheit (Microcomputer) basierend auf dem Dual-Core-Lockstep-System muss die zwei Recheneinheiten stets betreiben, wodurch der Energieverbrauch zunimmt.
-
D. h., der Stand der Technik erschwert eine Verringerung des Energieverbrauchs, wenn gleichzeitig die funktionale Sicherheit gewährleistet werden soll.
-
Es ist Aufgabe der vorliegenden Erfindung, eine elektronische Steuereinheit bereitzustellen, die gleichzeitig den Energieverbrauch verringern und die funktionale Sicherheit gewährleisten kann.
-
Um die obige Aufgabe zu lösen, wird, gemäß einem Beispiel der vorliegenden Erfindung, eine elektronische Steuereinheit bereitgestellt, die einen in einem Speicher gespeicherten Befehl liest und ausführt, um einen Programmzähler, einen Ausführabschnitt, einen Änderungsabschnitt, einen Speichersteuerabschnitt, einen Aktualisierungsabschnitt, einen Vergleichsabschnitt und einen Fehlerbestimmungsabschnitt aufzuweisen.
-
Der Programmzähler zeigt eine Adresse des Speichers, um einen Befehl zu speichern, der als nächstes auszuführen ist. Der Ausführabschnitt liest einen Befehl, der in einem Speicherbereich des Speichers entsprechend der durch den Programmzähler gezeigten Adresse gespeichert ist, und führt den Befehl aus. Der Änderungsabschnitt ändert jedes Mal, wenn der Ausführabschnitt den Befehl ausführt, die durch den Programmzähler gezeigte Adresse des Speichers in eine Adresse des Speichers, um einen Befehl zu speichern, der als nächstes auszuführen ist.
-
Der Speichersteuerabschnitt speichert, in einem Erwartungswertzähler, eine Adresse des Speichers, die an einem Zeitpunkt im Programmzähler gespeichert wird, an dem ein Übergang zu einer Befehlsgruppe erfolgt, die in einem wichtigen Prozess enthalten ist. Die Befehlsgruppe weist mehrere Befehle auf, die nacheinander ausgeführt werden, um einen bestimmten Prozess zu realisieren, und keinen Verzweigungsbefehl aufweisen. Die Befehle werden, in Übereinstimmung mit einer Ausführsequenz, jeweils in Speicherbereichen des Speichers gespeichert, während die Adressen des Speichers, die jeweils den Speicherbereichen entsprechen, in Übereinstimmung mit der Ausführsequenz, in Inkrementen eines bestimmten Wertes geändert werden.
-
Der Aktualisierungsabschnitt ändert die Adresse des Speichers, die im Erwartungswertzähler gespeichert wird, in Inkrementen des bestimmten Wertes jedes Mal, wenn der Ausführabschnitt einen jeweiligen der Befehle ausführt, nach dem Wechsel zu der Befehlsgruppe, die in dem wichtigen Prozess enthalten ist. Der Vergleichsabschnitt vergleicht die Adresse des Speichers, die durch den Programmzähler gezeigt wird, mit der Adresse des Speichers, die im Erwartungswertzähler gespeichert wird.
-
Der Fehlerbestimmungsabschnitt bestimmt ein Fehlerauftreten, wenn ein Vergleichsergebnis vom Vergleichsabschnitt eine Diskrepanz zwischen der Adresse des Speichers, die durch den Programmzähler angezeigt wird, und der Adresse des Speichers, die im Erwartungswertzähler gespeichert wird, zeigt. In der elektronischen Steuereinheit gemäß der vorstehend beschriebenen Konfiguration speichert der Erwartungswertzähler eine Speicheradresse, die im Programmzähler gespeichert wird, wenn ein Prozess (Befehl), der durch den Ausführabschnitt auszuführen ist, zu einer Befehlsgruppe übergeht, die in dem wichtigen Prozess enthalten ist. Die zu diesem Zeitpunkt im Erwartungswertzähler gespeicherte Speicheradresse (Wert) stimmt mit einer Speicheradresse über, um einen Befehl zu speichern, der in einer Befehlsgruppe, die in dem wichtigen Prozess enthalten ist, als erstes auszuführen ist. Die im Erwartungswertzähler gespeicherte Speicheradresse (Wert) ändert sich in Inkrementen eines bestimmten Wertes jedes Mal, wenn der Ausführabschnitt einen Befehl ausführt. Dies aktualisiert den Inhalt (Wert) des Erwartungswertzählers zu einer Speicheradresse, um einen Befehl zu speichern, der in einer Befehlsgruppe, die in dem wichtigen Prozess enthalten ist, als nächstes auszuführen ist.
-
Die Speicheradresse, die durch den Programmzähler gezeigt wird, wird in eine Speicheradresse geändert, um einen Befehl zu speichern, der als nächstes auszuführen ist, jedes Mal, wenn ein Befehl ausgeführt wird, unabhängig davon, ob der Ausführabschnitt eine Befehlsgruppe ausführt, die in dem wichtigen Prozess enthalten ist.
-
Die Adresse (Wert), die durch den Programmzähler gezeigt wird, stimmt mit der Speicheradresse (Wert) überein, die im Erwartungswertzähler gespeichert wird, an dem Zeitpunkt des Übergangs zu einer Befehlsgruppe, die in dem wichtigen Prozess enthalten ist. Die Adresse (Wert), die durch den Programmzähler gezeigt wird, stimmt weiterhin mit der Speicheradresse (Wert) überein, die im Erwartungswertzähler gespeichert wird, wenigstens während einer Ausführung des Befehls, der in dem wichtigen Prozess enthalten ist, sofern die elektronische Steuereinheit nicht einem Fehler, wie beispielsweise einem Hardware-Fehler, unterliegt.
-
Es ist jedoch möglich, dass wenigstens entweder der Programmzähler oder der Erwartungswertzähler fehlerhaft arbeitet, wenn die elektronische Steuereinheit einem Fehler, wie beispielsweise einem Hardware-Fehler, unterliegt. In diesem Fall unterscheidet sich die durch den Programmzähler gezeigte Adresse (Wert) von der im Erwartungswertzähler gespeicherten Speicheradresse (Wert).
-
Die vorstehend beschriebene Konfiguration kann einen Fehler wenigstens während einer Ausführung eines im wichtigen Prozess enthaltenen Befehls erfassen. Die elektronische Steuereinheit kann zurückgesetzt werden oder ein Fehlerauftreten melden, wenn ein Fehler erfasst wird. Die elektronische Steuereinheit kann so unvorhersehbare Risiken infolge einer Fehlfunktion verringern und die funktionale Sicherheit gewährleisten.
-
Die elektronische Steuereinheit gewährleistet die funktionale Sicherheit unter Verwendung des Programmzählers und des Erwartungswertzählers als das alleinige Dual-System. Ungleich dem Stand der Technik eliminiert die elektronische Steuereinheit das Erfordernis, eine Rechenschaltung selbst, wie beispielsweise eine ALU (Arithmetic Logic Unit oder Arithmetik-Logik-Einheit), zu duplizieren. Folglich kann die elektronische Steuereinheit den Energieverbrauch effektiver als im Stand der Technik senken.
-
Die elektronische Steuereinheit kann, wie vorstehend beschrieben, den Energieverbrauch senken, während sie die funktionale Sicherheit gewährleistet.
-
Die vorliegende Erfindung kann nicht nur als die vorstehend beschriebene elektronische Steuereinheit verkörpert werden, sondern ebenso als ein Verarbeitungsverfahren in der elektronischen Steuereinheit, ein Programmprodukt, um das Verarbeitungsverfahren zu verkörpern, und ein computerlesbares nicht-flüchtiges Speichermedium, das das Programmprodukt speichert.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die obigen und weitere Aufgaben, Eigenschaften und Vorteile der vorliegenden Erfindung sind aus der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen näher ersichtlich. In den Zeichnungen zeigt:
-
1 ein Blockdiagramm zur Veranschaulichung einer schematischen Konfiguration einer elektronischen Steuereinheit der vorliegenden Erfindung;
-
2 eine beispielhafte Abbildung zur Veranschaulichung eines im ROM gespeicherten Befehls;
-
3 ein Ablaufdiagramm zur Veranschaulichung eines normalen Prozesses, der von der CPU ausgeführt wird;
-
4 ein Ablaufdiagramm zur Veranschaulichung eines Übergangsbestätigungsprozesses, der von der CPU ausgeführt wird;
-
5 ein Ablaufdiagramm zur Veranschaulichung eines wichtigen Prozesses, der von der CPU ausgeführt wird; und
-
6 ein Ablaufdiagramm zur Veranschaulichung eines Rücksprungbestätigungsprozesses, der von der CPU ausgeführt wird.
-
AUSFÜHRUNGSFORMEN ZUM AUSFÜHREN DER ERFINDUNG
-
Nachstehend sind Ausführungsformen der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
-
<Elektronische Steuereinheit>
-
Eine elektronische Steuereinheit 1, die in der 1 gezeigt ist, steuert eine bordeigene Vorrichtung (oder eine Last) 60, die an einem Kraftfahrzeug montiert ist. Die elektronische Steuereinheit 1 ist nachstehend als die ECU 1 bezeichnet.
-
Die bordeigene Vorrichtung 60, die durch die ECU 1 gesteuert wird, weist Vorrichtungen auf, die an einem Fahrzeugkörper montiert sind, wie beispielsweise Beleuchtungsvorrichtungen, elektrische Fensterheber und Türverriegelungen. Die bordeigene Vorrichtung 60, die durch die ECU 1 gesteuert wird, ist jedoch nicht hierauf beschränkt. Die bordeigene Vorrichtung 60 kann ebenso einen Verbrennungsmotor, ein Bremssystem, einen Antriebsstrangmechanismus, ein Fahrzeug-Navigationssystem und verschiedene Messgeräte umfassen.
-
Die ECU 1 weist eine Energieversorgungsschaltung 4, eine Eingangsschaltung 6, eine Ausgangsschaltung 8 und eine logische Schaltung 10 auf.
-
Wenn ein Zündschalter 62 eingeschaltet wird, wandelt die Energieversorgungsschaltung 4 die Energie, die von einer bordeigenen Batterie 58 bereitgestellt wird, in die Energie um, die benötigt wird, um die Schaltungen 6, 8 und 10 zu betreiben, die in der ECU 1 enthalten sind, und stellt die Energie für die Schaltungen 6, 8 und 10 bereit. Wenn ein Schalter (SW) 64 eingeschaltet wird, empfängt die Eingangsschaltung 6 ein externes Signal, das benötigt wird, um die bordeigene Vorrichtung 60 zu steuern, und gibt die Eingangsschaltung 6 das empfangene Signal an die logische Schaltung 10. Die logische Schaltung 10 stellt ein Steuersignal zur Steuerung der bordeigenen Vorrichtung 60 bereit. Die Ausgangsschaltung 8 gibt dieses Steuersignal von der logischen Schaltung 10 an die bordeigene Vorrichtung 60.
-
Die logische Schaltung 10 weist ein ROM 22, ein RAM 24, eine Schnittstelle (I/F) 26 und eine CPU 30 auf.
-
Das ROM 22 speichert ein Verarbeitungsprogramm oder Daten mit Inhalten, die gespeichert sein müssen, nachdem die Energie abgeschaltet worden ist. Das RAM 24 speichert ein Verarbeitungsprogramm oder Daten temporär. Die I/F 26 ermöglicht es der Eingangsschaltung 6 und der Ausgangsschaltung 8, Information mit anderen elektronischen Steuereinheiten oder bordeigenen Vorrichtungen auszutauschen.
-
Die CPU 30 ist als eine zentrale Recheneinheit vorgesehen, um verschiedene Prozesse in Übereinstimmung mit einem im ROM 22 oder im RAM 24 gespeicherten Verarbeitungsprogramm auszuführen. Die CPU 30 weist wenigstens eine Ausführeinheit 32, ein Register 36 und eine Vergleichsschaltung 50 auf.
-
Die Ausführeinheit 32 weist eine Steuerschaltung 33 und eine Rechenschaltung (ALU) 34 auf. Die Steuerschaltung 33 ist als ein Controller bekannter Bauart vorgesehen, der eine Steuerung bereitstellt, um einen Befehl aus dem ROM 22 oder dem RAM 24 zu lesen oder Information in das ROM 22 oder das RAM 24 zu schreiben. Die Rechenschaltung 34 ist als eine Recheneinheit bekannter Bauart vorgesehen, um einen Befehl abzuarbeiten (auszuführen), der aus dem ROM 22 oder dem RAM 24 gelesen wird. Die Steuerschaltung 33 und die Rechenschaltung 34 müssen nicht in die Ausführeinheit 32 integriert sein, sondern können ebenso separat aufgebaut sein. Die vorliegende Anmeldung verwendet ”Information” als ein zählbares und als ein unzählbares Substantiv.
-
Das Register 36 gemäß der Ausführungsform weist wenigstens einen Programmzähler (PC) 38, einen Erwartungswertzähler 40, ein Spezialregister 42, einen Akkumulator (ACC) 44 und ein allgemeines Register 46 auf.
-
Der Programmzähler 38 ist als ein Register bekannter Bauart vorgesehen, um eine Adresse des Speichers zu zeigen, der einen als nächstes auszuführenden Befehl speichert. Der Programmzähler 38 wird jedes Mal aktualisiert, wenn der Befehl ausgeführt wird.
-
Der Erwartungswertzähler 40 ist als ein bestimmtes Register vorgesehen, das eine Adresse (Wert) oder deren Erwartungswert des Speichers speichert, der einen Befehl speichert, der als nächstes auszuführen ist, und zwar in einem wichtigen Prozess, der nachstehend noch beschrieben ist.
-
Das Spezialregister 42 speichert eine Übergangsziel-ID oder eine Rücksprungziel-ID, die nachstehend noch beschrieben sind. Der Akkumulator 44 ist als ein Register bekannter Bauart vorgesehen, um Operationsergebnisse zu akkumulieren. Das allgemeine Register 46 ist als ein Register bekannter Bauart vorgesehen, um verschiedene Funktionen in Übereinstimmung mit einem Befehl zu realisieren.
-
Die Vergleichsschaltung 50 ist als ein Komparator vorgesehen, der eine durch den Programmzähler 38 gezeigte Speicheradresse (d. h. einen Wert des Programmzählers 38) mit einem Wert des Erwartungswertzählers 40 vergleicht. Die Vergleichsschaltung 50 gibt ein Unterbrechungssignal aus, um einen Fehlerbehandlungsprozess auszuführen, wenn sich der Wert des Programmzählers 38 von dem Wert des Erwartungswertzählers 40 unterscheidet.
-
Die Vergleichsschaltung 50 startet, wenn ein von der Ausführeinheit 32 ausgeführter Prozess zu dem wichtigen Prozess übergeht, der nachstehend noch beschrieben ist. Die Vergleichsschaltung 50 stoppt, wenn der wichtige Prozess zu einem anderen Prozess übergeht. Die Vergleichsschaltung 50 vergleicht einen Wert des Programmzählers 38 mit einem Wert des Erwartungswertzählers 40, bevor die Ausführeinheit 32 Befehle ausführt, die in dem wichtigen Prozess enthalten sind.
-
<Im ROM gespeicherte Programme>
-
Das ROM 22 speichert, wie in 2 gezeigt, Verarbeitungsprogramme, die von der Ausführeinheit 32 der CPU 30 ausgeführt werden. Die Verarbeitungsprogramme umfassen wenigstens diejenigen, um den normalen Prozess, den Übergangsbestätigungsprozess, den wichtigen Prozess und den Rücksprungbestätigungsprozess auszuführen.
-
Der normale Prozess steuert die bordeigene Vorrichtung 60, die zu steuern ist, und realisiert eine bestimmte Funktion. Der normale Prozess beinhaltet verschiedene Befehle, die nacheinander auszuführen sind (Beispiel für eine normale Befehlsgruppe). Der normale Prozess beinhaltet Sprünge zu Unterprogrammen und konditionale Verzweigungen als Befehle, die von der Ausführeinheit 32 auszuführen sind. Der normale Prozess gemäß der Ausführungsform beinhaltet einen Sprung (Befehl) zum Übergangsbestätigungsprozess.
-
Die Befehle, die im normalen Prozess enthalten sind, werden in einem bestimmten Speicherbereich des ROM 22 gespeichert. Die Befehle, die im normalen Prozess enthalten sind, werden in Übereinstimmung mit einer Ausführsequenz in ansteigender Reihenfolge der Adressen im ROM 22 gespeichert.
-
Der wichtige Prozess beinhaltet etliche Befehle, die nacheinander ausgeführt werden, um eine bestimmte Funktion zu realisieren. Die ”Wichtigkeit” kennzeichnet hierin ebenso die ”Priorität”. ”Wichtig zu sein” oder ”von hoher Bedeutung” ist gleichbedeutend mit einer hohen ”Priorität”. Die ”bestimmte Funktion” beeinflusst den Ablauf des normalen Prozesses (und betrifft Anforderungen der funktionalen Sicherheit). Die bestimmte Funktion kann beispielsweise ebenso verschiedene Einstellungen, die benötigt werden, um die bordeigene Vorrichtung zu steuern, in das Register 36 oder einen wiederbeschreibbaren Bereich im ROM 22 schreiben. Die Ausführeinheit 32 kann einen oder mehrere wichtige Prozesse ausführen.
-
Der wichtige Prozess gemäß der Ausführungsform beinhaltet Befehle mit Ausnahme eines Verzweigungsbefehls. Befehle, die im wichtigen Prozess enthalten sind, werden in der Reihenfolge ausgeführt, in der die Befehle im ROM 22 gespeichert sind. Der Verzweigungsbefehl kennzeichnet hierin beispielsweise eine konditionale Verzweigung oder einen Sprung.
-
Gemäß der Ausführungsform werden die Befehle, die im wichtigen Prozess enthalten sind, beispielsweise in einem Speicherbereich entsprechend den Adressen ”1000 bis 1050” des ROM 22 in der 2 gespeichert. Dieser Speicherbereich ist entfernt von einem bestimmten Speicherbereich entsprechend den Adressen ”2000 bis 4000” und ”4011” oder hierauf folgend zur Speicherung des normalen Prozesses. Die Befehle, die im wichtigen Prozess enthalten sind, werden in Übereinstimmung mit einer Ausführsequenz in ansteigender Reihenfolge der Adressen in Speicherbereichen des ROM 22 gespeichert; wobei sich die jeweiligen Adressen der Speicherbereiche in Übereinstimmung mit der Ausführsequenz in Inkrementen eines bestimmten Wert (wie beispielsweise ”1”) unterscheiden.
-
Die Ausführungsform verwendet einen Sprung, um einen Übergang vom normalen Prozess zum wichtigen Prozess vorzusehen.
-
Der Übergangsbestätigungsprozess erfolgt, während der normale Prozess zum wichtigen Prozess übergeht. Der Übergangsbestätigungsprozess bestimmt, ob der normale Prozess normal zu einer Befehlsgruppe übergehen kann, die im wichtigen Prozess enthalten ist. Ein Befehl, der im Übergangsbestätigungsprozess enthalten ist, wird in einem Speicherbereich (beispielsweise entsprechend den Adressen ”990 bis 999” in der 2) gespeichert, der dem Speicherbereich zur Speicherung des wichtigen Prozesses des ROM 22 vorangeht.
-
Der Rücksprungbestätigungsprozess erfolgt, während der wichtige Prozess endet und anschließend zum normalen Prozess übergeht. Der Rücksprungbestätigungsprozess bestimmt, ob der wichtige Prozess normal zum normalen Prozess übergehen kann. Befehle, die im Rücksprungbestätigungsprozess enthalten sind, werden in einem Speicherbereich (beispielsweise entsprechend der Adresse ”1060” in der 2), der an den Speicherbereich zur Speicherung des wichtigen Prozesses anschließt, und in einem Speicherbereich (beispielsweise entsprechend der Adresse ”4001” in der 2), der dem Speicherbereich zur Speicherung des normalen Prozesses nach dem Rücksprung vorangeht, gespeichert.
-
<Normaler Prozess>
-
Nachstehend ist der normale Prozess beschrieben, der von der Ausführeinheit 32 der CPU 30 ausgeführt wird.
-
Der normale Prozess startet beispielsweise, wenn der Zündschalter 62 und der Schalter 64 eingeschaltet werden. Die Bedingung zum Starten des normalen Prozesses ist nicht hierauf beschränkt, sondern kann auf andere Art erfüllt werden.
-
Es wird angemerkt, dass ein Ablaufdiagramm oder die Abarbeitung des Ablaufdiagramms in der vorliegenden Anmeldung Abschnitte (auch als Schritte bezeichnet) aufweist, die beispielsweise als S110 gekennzeichnet sind. Ferner kann jeder Abschnitt in mehrere Unterabschnitte unterteilt werden, während mehrere Abschnitte zu einem einzigen Abschnitt kombiniert werden können. Ferner kann jeder der so konfigurierten Abschnitte auch als eine Vorrichtung oder ein Modul bezeichnet werden. Jede beliebige Kombination von Abschnitten, die vorstehend beschrieben sind, kann (i) als ein Software-Abschnitt in Kombination mit einer Hardware-Einheit (wie beispielsweise ein Computer) oder (ii) als ein Hardware-Abschnitt, einschließlich oder nicht einschließlich einer Funktion einer betreffenden Vorrichtung, realisiert werden; ferner kann der Hardware-Abschnitt (wie beispielsweise eine integrierte Schaltung, eine festverdrahtete logische Schaltung) innerhalb eines Mikrocomputers realisiert sein.
-
Wenn der normale Prozess startet, liest Ausführeinheit 32 der CPU 30, wie in 3 gezeigt, nacheinander im ROM 22 gespeicherte Befehle. Wenn der Befehl, der im normalen Prozess enthalten ist, S110 erreicht, schreibt die Ausführeinheit 32 der CPU 30 eine Übergangsziel-ID in das Spezialregister 42 (S110). Die Übergangsziel-ID stellt Kenninformation bereit, um den wichtigen Prozess zu erkennen, zu dem die Ausführeinheit 32 der CPU 30 dem normalen Prozess erlauben muss, überzugehen (zu springen).
-
Die Ausführeinheit 32 der CPU 30 erlaubt dem Prozess, zu einem Speicherbereich (wie beispielsweise der Bereich zur Speicherung des Übergangsbestätigungsprozesses in der 2) zu springen, der dem Speicherbereich des ROM 22 zur Speicherung des wichtigen Prozesses vorangeht (S120). Die Ausführeinheit 32 der CPU 30 führt den Übergangsbestätigungsprozess aus (S130). Die Ausführeinheit 32 der CPU 30 führt den wichtigen Prozess aus, wenn das Ergebnis des Übergangsbestätigungsprozesses den Übergang zum wichtigen Prozess ermöglicht (S140).
-
Die Ausführeinheit 32 der CPU 30 beendet den wichtigen Prozess und führt anschließend den Rücksprungbestätigungsprozess aus (S150). Die Ausführeinheit 32 der CPU 30 führt sukzessive die Befehle aus, der im normalen Prozess enthalten sind, wenn das Ergebnis des Rücksprungbestätigungsprozesses einen normalen Übergang zum normalen Prozess ermöglicht.
-
<Übergangsbestätigungsprozess>
-
Nachstehend ist der Übergangsbestätigungsprozess beschrieben.
-
Der Übergangsbestätigungsprozess gemäß der 4 startet in S130 des normalen Prozesses. Während des Übergangsbestätigungsprozesses vergleicht die Ausführeinheit 32 der CPU 30 die Übergangsziel-ID, die in S110 in das Spezialregister 42 geschrieben wird, mit einer Übergangsbestätigungs-ID, die aus einem bestimmten Speicherbereich des ROM 22 gelesen wird (S210). Die Übergangsbestätigungs-ID wird jedem wichtigen Prozess zugewiesen und stellt Kenninformation bereit, die für jeden wichtigen Prozess eindeutig (spezifisch) ist. Die Übergangsbestätigungs-ID, die in S210 zu vergleichen ist, wird dem wichtigen Prozess zugewiesen, der für einen Übergang bestimmt wird.
-
Das Ergebnis des Vergleichs in S210 kann eine Differenz zwischen der Übergangsziel-ID, die in das Spezialregister 42 geschrieben wird, und der Übergangsbestätigungs-ID, die aus dem bestimmten Speicherbereich des ROM 22 gelesen wird, zeigen (S210: NEIN). In diesem Fall führt die Ausführeinheit 32 der CPU 30 den Fehlerhandhabungsprozess aus, bestimmend, dass die CPU 30 selbst oder die logische Schaltung 10 einen Fehler verursacht (S220). Der Fehlerhandhabungsprozess stellt hierin einen bekannten Prozess bereit, wie beispielsweise ein Zurücksetzen (Neustarten) der ECU 1 oder ein Melden eines Fehlerauftretens unter Verwendung einer Anzeige oder einer Anzeigevorrichtung.
-
Das Ergebnis des Vergleichs in S210 kann eine Übereinstimmung zwischen der in das Spezialregister 42 geschriebenen Übergangsziel-ID und der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Übergangsbestätigungs-ID zeigen (S210: JA). In diesem Fall löscht die Ausführeinheit 32 der CPU 30 die in das Spezialregister 42 geschriebene Übergangsziel-ID. Die Ausführeinheit 32 der CPU 30 wechselt zu dem wichtigen Prozess (Übergang), bestimmend, dass die CPU 30 selbst oder die logische Schaltung 10 keinen Fehlerverursacht.
-
<Wichtiger Prozess>
-
Nachstehend ist der wichtige Prozess beschrieben.
-
Während des wichtigen Prozesses gemäß der 5 speichert die Ausführeinheit 32 der CPU 30 eine Adresse des ROM 22 im Erwartungswertzähler 40 (S310). Der Programmzähler 38 zeigt diese Adresse, wenn die Steuerung zu dem wichtigen Prozess übergeht.
-
Die Vergleichsschaltung 50 der CPU 30 vergleicht die durch den Programmzähler 38 gezeigte Adresse des ROM 22 (d. h. den Wert des Programmzählers 38) mit dem Wert des Erwartungswertzählers 40 (S320). Ein Vergleichsergebnis von der Vergleichsschaltung 50 kann eine Differenz zwischen beiden Werten zeigen (S320: NEIN). In diesem Fall führt die Ausführeinheit 32 der CPU 30 den Fehlerhandhabungsprozess aus (S340). Der Fehlerhandhabungsprozess stellt hier einen bekannten Prozess bereit, wie beispielsweise ein Zurücksetzen (Neustarten) der ECU 1 oder ein Melden eines Fehlerauftretens unter Verwendung einer Anzeige oder einer Anzeigevorrichtung. Der Fehlerhandhabungsprozess in S340 kann als ein bekannter Unterbrechungsprozess realisiert werden.
-
Ein Vergleichsergebnis von der Vergleichsschaltung 50 kann eine Übereinstimmung zwischen der durch den Programmzähler 38 angezeigten Adresse des ROM 22 (d. h. dem Wert des Programmzählers 38) und dem Wert des Erwartungswertzählers 40 zeigen (S320: JA). In diesem Fall liest die Ausführeinheit 32 der CPU 30 einen Befehl, der in dem Speicherbereich des ROM 22 entsprechend der durch den Programmzähler 38 gezeigten Adresse des ROM 22 gespeichert ist, und führt den Befehl aus (S330).
-
In S330 ändert die CPU 30 ferner die durch den Programmzähler 38 gezeigte Adresse des ROM 22 in eine Adresse des ROM 22 zur Speicherung eines als nächstes auszuführenden Befehls. D. h., die CPU 30 inkrementiert den Wert des Programmzählers 38 in S330 um eins.
-
Die CPU 30 inkrementiert die im Erwartungswertzähler 40 gespeicherte Adresse des ROM 22 gemäß der Ausführungsform in S330 um einen bestimmten Wert (d. h. ”1”). Insbesondere inkrementiert die CPU 38 die Adresse des ROM 22 in S330 um den bestimmten Wert (d. h. ”1”).
-
Anschließend wiederholt die CPU 30 eine Sequenz von S320 bis S330 für die im wichtigen Prozess enthaltene Anzahl von Befehlen (N Befehle).
-
Gemäß der Ausführungsform schreibt der letzte Befehl (S330-N) in der Ausführsequenz von allen Befehlen, die im wichtigen Prozess enthalten sind, die Rücksprungziel-ID in das Spezialregister 42. Die Rücksprungziel-ID stellt Kenninformation bereit, um den normalen Prozess zu erkennen, zu dem die CPU 30 einen Übergang (Rücksprung) für den Prozess erlauben muss.
-
Gemäß der Ausführungsform führt die Ausführeinheit 32 den Fehlerhandhabungsprozess aus, wenn das Vergleichsergebnis von der Vergleichsschaltung 50 eine Differenz zwischen der durch den Programmzähler 38 gezeigten Adresse des ROM 22 (d. h. dem Wert des Programmzählers 38) und dem Wert des Erwartungswertzählers 40 zeigt. Wenn beide Werte übereinstimmen, führt die Ausführeinheit 32 einen der Befehle aus, die im wichtigen Prozess enthalten sind. Gemäß der Ausführungsform vergleicht die Vergleichsschaltung 50 die durch den Programmzähler 38 gezeigte Adresse des ROM 22 (d. h. den Wert des Programmzählers 38) mit dem Wert des Erwartungswertzählers 40.
-
Das in der 5 gezeigte Ablaufdiagramm eines Ablaufs des wichtigen Prozesses, der von der Ausführeinheit 32 ausgeführt wird, umfasst den Vergleich, der durch die Vergleichsschaltung 50 zwischen einem Wert des Programmzählers 38 und einem Wert des Erwartungswertzählers 40 erfolgt, um den gesamten Betrieb der logischen Schaltung 10 zu verstehen.
-
<Rücksprungbestätigungsprozess>
-
Nachstehend ist der Rücksprungbestätigungsprozess beschrieben.
-
Wenn der Rücksprungbestätigungsprozess gemäß der 6 startet, erlaubt die Ausführeinheit 32 der CPU 30 dem Prozess, zu einem Speicherbereich (wie beispielsweise der Bereich zur Speicherung eines Befehls in S420 der 2) zu springen, der dem Speicherbereich des ROM 22 zur Bestimmung des Rücksprungziels des normalen Prozesses vorangeht.
-
Die Ausführeinheit 32 der CPU 30 vergleicht die Rücksprungziel-ID mit einer Rücksprungbestätigungs-ID, die aus einem bestimmten Speicherbereich des ROM 22 gelesen wird (S420). Die Rücksprungziel-ID wird während des wichtigen Prozesses in das Spezialregister 42 geschrieben. Die Rücksprungbestätigungs-ID wird jedem normalen Prozess zugewiesen und ist für jeden normalen Prozess eindeutig (spezifisch). Die Rücksprungbestätigungs-ID, die in S420 zu vergleichen ist, wird dem normalen Prozess zugewiesen, der für einen Übergang (Rücksprung) bestimmt ist.
-
Das Vergleichsergebnis in S420 kann eine Differenz zwischen der in das Spezialregister 42 geschriebenen Rücksprungziel-ID und der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Rücksprungbestätigungs-ID zeigen (S420: NEIN). In diesem Fall führt die Ausführeinheit 32 der CPU 30 den Fehlerhandhabungsprozess aus, bestimmend, dass die CPU 30 selbst oder die logische Schaltung 10 einen Fehler verursacht (S430). Der Fehlerhandhabungsprozess stellt hierin einen bekannten Prozess bereit, wie beispielsweise ein Zurücksetzen (Neustarten) der ECU 1 oder ein Melden eines Fehlerauftretens unter Verwendung einer Anzeige oder einer Anzeigevorrichtung.
-
Das Ergebnis des Vergleichs in S420 kann eine Übereinstimmung zwischen der in das Spezialregister 42 geschriebenen Rücksprungziel-ID und der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Rücksprungbestätigungs-ID zeigen (S420: JA). In diesem Fall löscht die Ausführeinheit 32 der CPU 30 die in das Spezialregister 42 geschriebene Rücksprungziel-ID.
-
Die Ausführeinheit 32 der CPU 30 führt sukzessive die im normalen Prozess enthaltenen Befehle aus, bestimmend, dass die CPU 30 selbst oder die logische Schaltung 10 keinen Fehlerverursacht.
-
In S110 des normalen Prozess schreibt die Ausführeinheit 32 der CPU 30 die Übergangsziel-ID in das Spezialregister 42. Die Ausführeinheit 32 der CPU 30 erlaubt dem Prozess, zu dem Speicherbereich des ROM 22 zur Speicherung des wichtigen Prozesses zu springen ((A) in der 2).
-
Der Prozess spring, um den Übergangsbestätigungsprozess zu starten ((B) in der 2). Die Ausführeinheit 32 der CPU 30 vergleicht die in das Spezialregister 42 geschriebene Übergangsziel-ID mit der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Übergangsbestätigungs-ID. Das Vergleichsergebnis kann eine Differenz zwischen der in das Spezialregister 42 geschriebenen Übergangsziel-ID und der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Übergangsbestätigungs-ID zeigen. In diesem Fall führt die Ausführeinheit 32 der CPU 30 den Fehlerhandhabungsprozess aus.
-
Das Vergleichsergebnis kann eine Übereinstimmung zwischen der in das Spezialregister 42 geschriebenen Übergangsziel-ID und der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Übergangsbestätigungs-ID zeigen. In diesem Fall löscht die Ausführeinheit 32 der CPU 30 die in das Spezialregister 42 geschriebene Übergangsziel-ID. Die Ausführeinheit 32 der CPU 30 erlaubt dem Prozess, zum wichtigen Prozess zu wechseln bzw. überzugehen.
-
Während des wichtigen Prozesses speichert die Ausführeinheit 32 der CPU 30 die durch den Programmzähler 38 angezeigte Adresse des ROM 22 ebenso im Erwartungswertzähler 40, und zwar an dem Zeitpunkt eines Übergangs zum wichtigen Prozess. Anschließend vergleicht die Vergleichsschaltung 50 der CPU 30 die durch den Programmzähler 38 gezeigte Adresse des ROM 22 mit dem Wert des Erwartungswertzählers 40. Das Vergleichsergebnis kann eine Differenz zwischen beiden Werten zeigen. In diesem Fall führt die Ausführeinheit 32 der CPU 30 den Fehlerhandhabungsprozess aus.
-
Ein Vergleichsergebnis von der Vergleichsschaltung 50 kann eine Übereinstimmung zwischen der durch den Programmzähler 38 gezeigten Adresse des ROM 22 und dem Wert des Erwartungswertzählers 40 zeigen. In diesem Fall liest die Ausführeinheit 32 der CPU 30 einen Befehl, der in dem Speicherbereich des ROM 22 entsprechend der durch den Programmzähler 38 gezeigten Adresse des ROM 22 gespeichert wird, und führt die Ausführeinheit 32 der CPU 30 den Befehl aus. Der wichtige Prozess ändert die durch den Programmzähler 38 gezeigte Adresse des ROM 22 in eine Adresse des ROM 22 zur Speicherung eines als nächstes auszuführenden Befehls. D. h., der wichtige Prozess inkrementiert den Programmzähler 38 um eins. Der wichtige Prozess ändert (erhöht) einen Wert des Erwartungswertzählers 40 um einen bestimmten Wert (d. h. ”1”).
-
Der wichtige Prozess inkrementiert die durch den Programmzähler 38 gezeigte Adresse des ROM 22 (d. h. den Wert des Programmzählers 38) und den Wert des Erwartungswertzählers 40 jedes Mal um eins, wenn ein Befehl ausgeführt wird.
-
Ein Vergleichsergebnis kann eine Übereinstimmung zwischen der durch den Programmzähler 38 gezeigten Adresse des ROM 22 (d. h. dem Wert des Programmzählers 38) und dem Wert des Erwartungswertzählers 40 zeigen. In diesem Fall liest die Ausführeinheit 32 der CPU 30 einen Befehl, der in dem Speicherbereich des ROM 22 entsprechend der durch den Programmzähler 38 gezeigten Adresse des ROM 22 gespeichert wird, und führt die Ausführeinheit 32 der CPU 30 den Befehl aus.
-
Die Ausführeinheit 32 der CPU 30 erlaubt dem Prozess, zu dem Rücksprungbestätigungsprozess überzugehen, wenn ein im wichtigen Prozess enthaltener Befehl ausgeführt wird, um die Rückkehrziel-ID in das Spezialregister 42 zu schreiben ((C) in der 2). Während des Rücksprungbestätigungsprozesses kehrt (springt) die Ausführeinheit 32 der CPU 30 zu dem normalen Prozess zurück ((D) in der 2). Die Ausführeinheit 32 der CPU 30 vergleicht die Rücksprungziel-ID, die während des wichtigen Prozess in das Spezialregister 42 geschrieben wird, mit der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Rücksprungbestätigungs-ID ((E) in der 2).
-
Das Vergleichsergebnis kann eine Differenz zwischen der in das Spezialregister 42 geschriebenen Übergangsziel-ID und der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Rücksprungbestätigungs-ID zeigen. In diesem Fall führt die Ausführeinheit 32 der CPU 30 den Fehlerhandhabungsprozess aus. Das Vergleichsergebnis kann eine Übereinstimmung zwischen der in das Spezialregister 42 geschriebenen Rücksprungziel-ID und der aus dem bestimmten Speicherbereich des ROM 22 gelesenen Rücksprungbestätigungs-ID zeigen. In diesem Fall löscht die Ausführeinheit 32 der CPU 30 die in das Spezialregister 42 geschriebene Rücksprungziel-ID. Die Ausführeinheit 32 der CPU 30 führt sukzessive die im normalen Prozess enthaltenen Befehle aus.
-
[Effekts der Ausführungsform]
-
Der Erwartungswertzähler 40 speichert, wie vorstehend beschrieben, eine Adresse des ROM 22, die im Programmzähler 38 gespeichert wird, und zwar zu dem Zeitpunkt, an dem ein Prozess (Befehl), der von der Ausführeinheit 32 der CPU 30 auszuführen ist, zu dem wichtigen Prozess übergeht. An diesem Zeitpunkt ist die im Erwartungswertzähler 40 gespeicherte Adresse des ROM 22 gleich der Adresse des ROM 22, um einen Befehl zu speichern, der im wichtigen Prozess zuerst auszuführen ist.
-
Die Im Erwartungswertzähler 40 gespeicherte Adresse des ROM 22 (d. h. der Wert des Erwartungswertzählers 40) wird jedes Mal um den bestimmten Wert (d. h. ”1”) erhöht, wenn die Ausführeinheit 32 der CPU 30 einen Befehl ausführt. Eine Erhöhung der Adresse um den bestimmten Wert aktualisiert den Inhalt des Erwartungswertzählers 40 zu der Adresse des ROM 22, um einen Befehl zu speichern, der in dem wichtigen Prozess als nächstes auszuführen ist.
-
Die durch den Programmzähler 38 gezeigte Adresse des ROM 22 wird jedes Mal in die Adresse des ROM 22, um einen Befehl zu speichern, der als nächstes auszuführen ist, geändert (um eins inkrementiert), wenn ein Befehl gelesen wird, unabhängig davon, ob ein von der Ausführeinheit 32 der CPU 30 ausgeführter Befehl in dem wichtigen Prozess enthalten ist.
-
Wenn kein Fehler, wie beispielsweise ein Hardware-Fehler, auftritt, ist die durch den Programmzähler 38 gezeigte Adresse des ROM 22 (d. h. der Wert des Programmzählers 38) zum Zeitpunkt des Übergangs zu dem wichtigen Prozess gleich dem Wert des Erwartungswertzählers 40. Ferner verbleibt die durch den Programmzähler 38 gezeigte Adresse des ROM 22 (d. h. der Wert des Programmzählers 38) während des wichtigen Prozesses bei dem Wert des Erwartungswertzählers 40, wenn die logische Schaltung 10 keinem Fehler, wie beispielsweise einem Hardware-Fehler, unterliegt.
-
Es kann jedoch wenigstens entweder der Programmzählers 38 oder der Erwartungswertzähler 40 fehlerhaft arbeiten, wenn die logische Schaltung 10 einem Hardware-Fehler unterliegt. In diesem Fall unterscheidet sich die durch den Programmzähler 38 gezeigte Adresse des ROM 22 (d. h. der Wert des Programmzählers 38) vom Wert des Erwartungswertzählers 40.
-
Die CPU 30 kann einen Fehler, wie beispielsweise ein Hardware-Fehler, wenigstens während einer Ausführung des wichtigen Prozesses erfassen. Wenn ein Fehler erfasst wird, kann die CPU 30 den Fehlerhandhabungsprozess ausführen, um unvorhersehbare Risiken infolge einer Fehlfunktion zu verringern und die funktionale Sicherheit zu gewährleisten.
-
Insbesondere liest die CPU 30 einen im wichtigen Prozess enthaltenen Befehl aus dem ROM 22 und führt die CPU 30 den Befehl aus, wenn die durch den Programmzähler 38 gezeigte Adresse des ROM 22 (d. h. der Wert des Programmzählers 38) mit dem Wert des Erwartungswertzählers 40 übereinstimmt. Die CPU 30 kann im wichtigen Prozess enthaltene Befehle ausführen, wenn die logische Schaltung 10 normal ist.
-
Die CPU 30 kann gewährleisten, dass im wichtigen Prozess enthaltene Befehle in Übereinstimmung mit einer vorbestimmten Ausführsequenz ausgeführt werden. Folglich kann die CPU 30 unvorhersehbare Risiken infolge einer Fehlfunktion zuverlässiger verringern.
-
Die CPU 30 gewährleistet die funktionale Sicherheit unter Verwendung des Programmzählers 38 und des Erwartungswertzählers 40 als das alleinige Dual-System. Ungleich dem Stand der Technik muss die CPU 30 keine zwei Ausführeinheiten verwenden. Die CPU 30 kann den Energieverbrauch effektiver als im Stand der Technik senken.
-
Die CPU 30 kann, wie vorstehend beschrieben, die funktionale Sicherheit gewährleisten und den Energieverbrauch senken.
-
Die CPU 30 führt den Übergangsbestätigungsprozess zum Zeitpunkt des Übergangs vom normalen Prozess zum wichtigen Prozess aus. Der Übergangsbestätigungsprozess kann bestimmen, ob der normale Prozess normal zum wichtigen Prozess übergehen kann.
-
Die CPU 30 führt den Rücksprungbestätigungsprozess zum Zeitpunkt eines Übergangs vom wichtigen Prozess zum normalen Prozess aus. Der Rücksprungbestätigungsprozess kann bestimmen, ob der wichtige Prozess normal zum normalen Prozess übergehen kann.
-
Der Fehlerhandhabungsprozess erfolgt in der logischen Schaltung 10, wenn im Übergangsbestätigungsprozess oder im Rücksprungbestätigungsprozess ein Fehler erfasst wird. Dies kann unvorhersehbare Risiken infolge eines möglichen Hardware-Fehlers, der während des Übergangs zum wichtigen Prozess oder des Rücksprungs zum normalen Prozess auftreten kann, mindern.
-
Die Vergleichsschaltung 50 der CPU 30 ist aktiv, während die Ausführeinheit 32 den wichtigen Prozess ausführt. Dies kann einen Vergleich zwischen einem Wert des Programmzählers 38 und einem Wert des Erwartungswertzählers 40 verhindern und verhindern, dass ein nicht erforderlicher Fehlerhandhabungsprozess ausgeführt wird, wenn die Ausführeinheit 32 einen Prozess verschieden von dem wichtigen Prozess ausführt.
-
[Weitere Ausführungsformen]
-
Obgleich die vorliegende Erfindung vorstehend in Verbindung mit der Ausführungsformen beschrieben ist, ist sie nicht auf die vorstehend beschriebene Ausführungsform beschränkt, sondern auf verschiedene Modi anwendbar, ohne ihren Schutzumfang zu verlassen.
-
Gemäß der Ausführungsform führt beispielsweise die Ausführeinheit 32 der CPU 30 Prozesse auf der Grundlage der Architektur aus, die in der Mitte des normalen Prozesses zum wichtigen Prozess springt und nach Abschluss des wichtigen Prozesses zum normalen Prozess springt, um zum normalen Prozess zurückzukehren. Die vorliegende Erfindung ist jedoch nicht auf diese Architektur von Prozessen gemäß der Ausführung durch die Ausführeinheit 32 der CPU 30 beschränkt.
-
Erfindungsgemäß kann die Ausführeinheit 32 der CPU 30 Prozesse auf der Grundlage einer Architektur ausführen, die in der Mitte des normalen Prozesses zum wichtigen Prozess springt und den normalen Prozess nach Abschluss des wichtigen Prozesses neu startet, ohne den Rücksprungbestätigungsprozess auszuführen. In diesem Fall muss ein Befehl für den normalen Prozess nach Abschluss des wichtigen Prozesses in einem Bereich (wie beispielsweise der Adresse ”1050” und hierauf folgend in der 2) unmittelbar nach dem Bereich des ROM 22 zur Speicherung von im wichtigen Prozess enthaltenen Befehlen gespeichert werden. Ferner muss der wichtige Prozess den letzten Befehl, der die Rücksprungziel-ID in das Spezialregister 42 schreibt, auslassen.
-
Erfindungsgemäß kann die Ausführeinheit 32 der CPU 30 nur den wichtigen Prozess ausführen. Hierdurch können der normale Prozess, der Übergangsbestätigungsprozess und der Rücksprungbestätigungsprozess, die von der Ausführeinheit 32 der CPU 30 ausgeführt werden, ausgelassen werden. Ferner lässt der wichtige Prozess den letzten Befehl aus, der die Rücksprungziel-ID in das Spezialregister 42 schreibt.
-
Erfindungsgemäß kann die Ausführeinheit 32 der CPU 30 Prozesse auf der Grundlage einer Architektur ausführen, die nur den wichtigen Prozess aufweist. Während ein wichtiger Prozess ausgeführt wird, kann die Ausführeinheit 32 zu einem anderen wichtigen Prozess springen und zu dem ursprünglichen wichtigen Prozess zurückspringen, nachdem der andere wichtige Prozess abgeschlossen ist. Diese Architektur kann den Rücksprungbestätigungsprozess, der von der Ausführeinheit 32 der CPU 30 ausgeführt wird, auslassen. Die Architektur muss jedoch ein allgemeines Register oder einen Stapelspeicher verwenden, um eine Adresse des ROM 22 zu speichern, die im Erwartungswertzähler 40 zu speichern ist, jedes Mal, wenn die Ausführeinheit 32 zu anderen wichtigen Prozessen springt. Nach einer Rückkehr zu dem ursprünglichen wichtigen Prozess muss die Ausführeinheit 32 die in dem allgemeinen Register oder dem Stapelspeicher gespeicherte Adresse des ROM 22 zurück zu dem Erwartungswertzähler 40 bewegen.
-
Die Ausführeinheit 32 der CPU 30 kann Prozesse auf der Grundlage einer Architektur ausführen, die eine Mischung aus mehreren normalen Prozessen und wichtigen Prozessen verwendet. Ein Sprung kann einen Übergang zwischen einem normalen Prozess und einem wichtigen Prozess ausführen. In diesem Fall kann der Übergangsbestätigungsprozess jedes Mal erfolgen, wenn der normale Prozess zum wichtigen Prozess übergeht. Der Rücksprungbestätigungsprozess kann jedes Mal erfolgen, wenn der wichtige Prozess zum normalen Prozess übergeht.
-
Gemäß der Ausführungsform schreibt der im wichtigen Prozess enthaltene Befehl die Rücksprungziel-ID in das Spezialregister 42. Der Rücksprungbestätigungsprozess kann anstelle des wichtigen Prozesses die Rücksprungziel-ID in das Spezialregister 42 schreiben. Es kann ein separater Prozess zwischen dem wichtigen Prozess und dem Rücksprungbestätigungsprozess ausgeführt werden, um selbiges vorzunehmen. Der separate Prozess kann S410 des Rücksprungbestätigungsprozesses beinhalten.
-
In der CPU 30 gemäß der Ausführungsform vergleicht die Vergleichsschaltung 50 eine durch den Programmzähler 38 gezeigte Adresse des ROM 22 mit einer im Erwartungswertzähler 40 gespeicherten Adresse des ROM 22. Die Ausführeinheit 32 kann Adressen vergleichen, indem sie ein Verarbeitungsprogramm ausführt.
-
Der Schalter 64 ist gemäß der Ausführungsform mit der Eingangsschaltung 6 der ECU 1 verbunden. Der Schalter 64 kann ausgelassen werden. 1 zeigt ein Beispiel für die externe Struktur, die mit der Eingangsschaltung 6 und der Ausgangsschaltung 8 der ECU 1 verbunden ist. Es kann eine beliebige externe Struktur mit der elektronischen Steuereinheit (ECU) der vorliegenden Erfindung verbunden werden.
-
Obgleich die vorliegende Erfindung vorstehend in Verbindung mit ihren Ausführungsformen beschrieben ist, sollte wahrgenommen werden, dass sie nicht auf die Ausführungsformen und Konstruktionen beschränkt ist. Die vorliegende Erfindung soll derart verstanden werden, dass sie verschiedene Modifikationen und äquivalente Anordnungen mit umfasst. Ferner sollen, obgleich die verschiedenen Kombinationen und Konfigurationen gezeigt sind, andere Kombinationen und Konfigurationen, die mehr, weniger oder nur ein einziges Element aufweisen, ebenso als mit im Schutzumfang der vorliegenden Erfindung beinhaltet verstanden werden.