DE102020210531A1 - Elektronische steuereinheit - Google Patents

Elektronische steuereinheit Download PDF

Info

Publication number
DE102020210531A1
DE102020210531A1 DE102020210531.6A DE102020210531A DE102020210531A1 DE 102020210531 A1 DE102020210531 A1 DE 102020210531A1 DE 102020210531 A DE102020210531 A DE 102020210531A DE 102020210531 A1 DE102020210531 A1 DE 102020210531A1
Authority
DE
Germany
Prior art keywords
arithmetic
parallel
unit
cpu
abnormality
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
DE102020210531.6A
Other languages
English (en)
Inventor
Toshiaki Iwashita
Tomohiro Oota
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE102020210531A1 publication Critical patent/DE102020210531A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Retry When Errors Occur (AREA)

Abstract

Eine elektronische Steuereinheit (1) weist mindestens eine CPU (6) und eine Parallelberechnungseinheit (7) auf. Wenn eine Verarbeitungsanforderung von der CPU ausgegeben wird, führt die Parallelberechnungseinheit einen in einem Speicher (8) gespeicherten parallelen Rechenprozess aus und benachrichtigt die CPU über ein Ausführungsergebnis. Der parallele Rechenprozess enthält eine ID, die zumindest einen Teil von mehreren Recheneinheiten (10) identifiziert, die zum Ausführen des parallelen Rechenprozesses verwendet werden. Wenn eine Abnormitätserfassungseinheit (13) eine Abnormität im Ausführungsergebnis erfasst, nimmt die CPU auf die ID Bezug und identifiziert eine der mehreren Recheneinheiten, die an einem Auftreten der Abnormität beteiligt ist.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft eine elektronische Steuereinheit, die eine CPU und eine parallelrechnende Verarbeitungseinheit (im Folgenden Parallelrechenprozesseinheit) aufweist.
  • HINTERGRUND
  • Patentdokument 1 offenbart beispielsweise eine elektronische Steuereinheit, die eine Abnormität in einer Recheneinheit bestimmt, wenn Rechenoperationen unter Verwendung von mehreren Recheneinheiten parallel durchgeführt werden.
  • Patentdokument 1: JP 2016 - 110 502 A
  • KURZDARSTELLUNG
  • In Patentdokument 1 führt die elektronische Steuereinheit einen ausfallsicheren bzw. Fail-Safe-Prozess aus oder setzt jede Recheneinheit zurück, ohne zu erkennen, welche der Recheneinheiten eine Abnormität aufweist. Dadurch können die Vorteile der Konfiguration mit mehreren Recheneinheiten möglicherweise nicht genutzt werden.
  • Es ist Aufgabe der vorliegenden Offenbarung, eine elektronische Steuereinheit bereitzustellen, die in der Lage ist, eine ausführbare Verarbeitung auch dann fortzusetzen, wenn in einem Teil von mehreren Recheneinheiten eine Abnormität auftritt.
  • Gemäß einem ersten Beispiel der vorliegenden Offenbarung wird eine elektronische Steuereinheit bereitgestellt, die eine oder mehr als eine CPU, eine Parallelrechenprozesseinheit (d.h. eine parallelrechnende Verarbeitungseinheit), einen Speicher und eine Abnormitätserfassungseinheit aufweist. Die Parallelrechenprozesseinheit beinhaltet mehrere Recheneinheiten und einen Scheduler (d.h. Planer oder Zeitplaner), der konfiguriert ist, um den Recheneinheiten Prozesse zuzuweisen. Der Speicher ist konfiguriert, um einen parallelen Rechenprozess zu speichern, der von der Parallelrechenprozesseinheit ausgeführt wird. Die Abnormitätserfassungseinheit ist konfiguriert, um eine Abnormität in einem Ausführungsergebnis des parallelen Rechenprozesses zu erfassen. Hier ist die Parallelrechenprozesseinheit konfiguriert, um den im Speicher gespeicherten parallelen Rechenprozess auszuführen, wenn eine Verarbeitungsanfrage von der CPU ausgegeben wird, und die CPU über das Ergebnis der Ausführung zu informieren. Der parallele Rechenprozess enthält Kenninformation, um zumindest einen Teil der mehreren Recheneinheiten zu identifizieren, die zum Ausführen des parallelen Rechenprozesses verwendet werden. Wenn die Abnormitätserfassungseinheit eine Abnormität im Ausführungsergebnis erfasst, ist die CPU konfiguriert, um auf die Kenninformation Bezug zu nehmen und aus den mehreren Recheneinheiten eine erste Recheneinheit zu identifizieren, die an einem Auftreten der Abnormität beteiligt ist.
  • Gemäß der Konfiguration wird eine erste Recheneinheit, die am Auftreten der Abnormität im parallelen Rechenprozess beteiligt ist, aus mehreren Recheneinheiten identifiziert, die in der Parallelrechenprozesseinheit enthalten sind. Auf diese Weise kann die CPU bestimmen, wie mit einem nachfolgenden parallelen Rechenprozess umzugehen ist.
  • Gemäß einem zweiten Beispiel ist die CPU beispielsweise konfiguriert, um eine Verwendung der ersten Recheneinheit, die am Auftreten der Abnormität beteiligt ist, bei der Ausführung eines nachfolgenden parallelen Rechenprozesses zu unterbinden. Dadurch kann der nachfolgende parallele Rechenprozess unter Verwendung der Recheneinheit ausgeführt werden, die nicht am Auftreten der Abnormität beteiligt war.
  • Gemäß einem dritten Beispiel ist im Ansprechen darauf, dass der nachfolgende parallele Rechenprozess eine erste Rechenoperation beinhaltet, die von der am Auftreten der Abnormität beteiligten ersten Recheneinheit ausgeführt wird, die CPU konfiguriert, um die erste Rechenoperation anstelle der ersten Recheneinheit auszuführen. Folglich kann selbst dann, wenn eine Recheneinheit am Auftreten der Abnormität beteiligt ist, der parallele Rechenprozess kontinuierlich ausgeführt werden.
  • Figurenliste
  • Die Aufgaben, Eigenschaften und Vorteile der vorliegenden Offenbarung sind aus der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen näher ersichtlich. In den Zeichnungen zeigt:
    • 1 ein funktionales Blockdiagramm zur Veranschaulichung einer Konfiguration einer elektronischen Steuereinheit gemäß einer ersten Ausführungsform;
    • 2 eine Abbildung zur Veranschaulichung einer ID, die in einem Kompilierungsprozess eines parallelen Rechenprozesses vergeben wird;
    • 3 eine Abbildung zur Veranschaulichung eines Beispiels für eine Funktion jeder Recheneinheit;
    • 4 eine Abbildung zur Veranschaulichung eines spezifischen Beispiels eines Kompilierungsprozesses;
    • 5 eine Abbildung zur Veranschaulichung eines Beispiels für eine in einem Speicher gespeicherte Tabelle;
    • 6 ein Ablaufdiagramm zur Veranschaulichung eines Unterbindungsbestimmungsprozesses für eine Parallelberechnungseinheit;
    • 7 ein Ablaufdiagramm zur Veranschaulichung einer Vorbereitung einer Verarbeitungsanfrage an eine Parallelberechnungseinheit;
    • 8 ein Ablaufdiagramm zur Veranschaulichung eines Abnormitätsbestimmungsprozesses für eine Parallelberechnungseinheit;
    • 9 ein Ablaufdiagramm zur Veranschaulichung eines Unterbindungsbestimmungsprozesses für eine Parallelberechnungseinheit gemäß einer zweiten Ausführungsform;
    • 10 ein Ablaufdiagramm zur Veranschaulichung eines Unterbindungsbestimmungsprozesses für eine Parallelberechnungseinheit gemäß einer dritten Ausführungsform;
    • 11 eine Abbildung zur Veranschaulichung eines Beispiels für eine in einem Speicher gespeicherte Tabelle;
    • 12 ein Ablaufdiagramm zur Veranschaulichung eines Unterbindungsbestimmungsprozesses für eine Parallelberechnungseinheit gemäß einer vierten Ausführungsform;
    • 13 eine Abbildung zur Veranschaulichung eines Beispiels für eine in einem Speicher gespeicherte Tabelle; und
    • 14 ein Ablaufdiagramm zur Veranschaulichung einer Verarbeitungsanfrage unter Verwendung eines Ersatzmittels.
  • DETAILLIERTE BESCHREIBUNG
  • (Erste Ausführungsform)
  • Wie in 1 gezeigt, weist eine elektronische Steuereinheit (ECU) 1 einer ersten Ausführungsform einen Mikrocomputer 2, eine Energieversorgungsschaltung 3, eine Eingangsschnittstelle 4 und eine Ausgangsschnittstelle 5 auf. Die Energieversorgungsschaltung 3 erzeugt und stellt Energie zum Betreiben des Mikrocomputers 2 bereit. Die Eingangsschnittstelle 4 ist eine Schnittstelle zum Eingeben verschiedener Signale und dergleichen von außen in den Mikrocomputer 2. Die Ausgangsschnittstelle 5 ist eine Schnittstelle zum Ausgeben verschiedener Signale vom Mikrocomputer 2 nach außen.
  • Der Mikrocomputer 2 weist zwei CPUs 6(1) und 6(2), eine Parallelberechnungseinheit 7 und einen Speicher 8 auf, die über einen Bus 9 miteinander verbunden sind. Die Parallelberechnungseinheit 7, die einer Parallelrechenprozesseinheit entspricht, beinhaltet mehrere Recheneinheiten 10(1) bis 10(4) (z. B. vier Recheneinheiten 10). Jeder dieser Recheneinheiten 10 wird über einen Scheduler 11 ein auszuführender Prozess zugewiesen. Die Parallelberechnungseinheit 7 weist ferner einen Speicher 12 auf, der von den Recheneinheiten 10 und dem Scheduler 11 genutzt wird. Die Parallelberechnungseinheit 7 weist die gleiche Konfiguration wie ein GPU (Graphic Processing Unit oder Graphikprozessor) auf, der speziell zur Bildverarbeitung konfiguriert ist.
  • In den Speicher 8 werden mehrere Programme, die dem von der Parallelberechnungseinheit 7 ausgeführten parallelen Rechenprozess entsprechen, von außen über die Eingangsschnittstelle 4 geladen. Die mehreren Programme sind als Prozesse (1), (2), (3) ... bezeichnet. Die Parallelberechnungseinheit 7 beinhaltet ferner eine Abnormitätserfassungseinheit 13. Die Abnormitätserfassungseinheit 13 weist eine Funktion zum Erfassen einer Abnormität in einer von jeder der Recheneinheiten 10 ausgeführten Rechenoperation auf. Die vorläufige Ausführungsform ist nicht durch ein Abnormitätserfassungsverfahren gekennzeichnet, so dass jedes beliebige Verfahren anwendbar ist. Beispielsweise kann ein Lockstep-Verfahren angewandt werden, bei der die Abnorm itätserfassungseinheit 13 eine Abnormität erfasst, indem sie die Verarbeitung ausführt, die von jeder der Recheneinheiten 10(1) bis 10(4) parallel ausgeführt wird. Die Abnormitätserfassungseinheit 13 erfasst eine Abnormität in der von jeder der Recheneinheiten 10 ausgeführten Rechenoperation.
  • Die im Speicher 8 gespeicherten Prozesse (1), (2), (3), ... sind vom Compiler bzw. Kompilierer vorab in Objektcodes gewandelt worden. Jedem der Prozesse (1), (2), (3), ... wird im Kompilierungsprozess eine 4-Bit-ID zugewiesen. Diese ID gibt an, welche der Recheneinheiten 10(1) bis 10(4) verwendet wird, wenn jeder der Prozesse (1), (2), (3), ... von der Parallelberechnungseinheit 7 ausgeführt wird. Wie in 2 gezeigt, wird beispielsweise angenommen, dass der Prozess (1) entsprechend dem Inhalt der auszuführenden Rechenoperation in (1-1), (1-2), (1-3) und (1-4) unterteilt wird. Zu dieser Zeit wird eine der Recheneinheiten 10, die die Prozesse (1-1), (1-2), (1-3) und (1-4) ausführt, zugeordnet. Zum Beispiel:
    • Prozess (1-1) —► Recheneinheit 10(1);
    • Prozess (1-2) —► Recheneinheit 10(2);
    • Prozess (1-3) —► Recheneinheit 10(4); und
    • Prozess (1-4) —► Recheneinheit 10(1).
  • In diesem Fall wird die Recheneinheit 10(3) im Prozess (1) nicht verwendet. Daher wird die ID des Prozesses (1) durch 4 Bits als „1011“ ausgedrückt. Das erste Bit entspricht der Recheneinheit 10(1), während das vierte Bit der Recheneinheit 10(4) entspricht. Der Bitwert „1“ zeigt, dass die entsprechende Recheneinheit 10 verwendet wird. Eine solche ID wird jedem Prozess (1), (2), (3) ... verliehen. Wenn der von der Parallelberechnungseinheit 7 auszuführende Prozess aus dem Speicher 8 gelesen wird, wird auch die entsprechende ID gelesen und in einem Register oder dergleichen innerhalb der Parallelberechnungseinheit 7 gespeichert. Die ID ist ein Beispiel für Kenninformation.
  • Nachstehend ist der Kompilierungsprozess zum Erzeugen der obigen ID beschrieben. So sind beispielsweise die Funktionen der Recheneinheiten 10(1) bis 10(4) gemäß 3 wie folgt.
  • Recheneinheit 10(1): Den Inhalt einer vorbestimmten Adresse im Speicher 12 in ein Register einlesen.
  • Recheneinheit 10(2): Vier Rechenoperationen zwischen zwei Registern ausführen.
  • Recheneinheit 10(3): Daten zwischen Registern verschieben.
  • Recheneinheit 10(4): Den Inhalt des Registers in einer vorbestimmten Adresse im Speicher 12 speichern.
  • Nun soll angenommen werden, dass das Quellprogramm des Prozesses (1) wie in 4 dargestellt ist. Hier werden die in der 4. bis 7. Zeile beschriebenen Verarbeitungsinhalte wie folgt analysiert.
    • 4. Zeile -> Recheneinheit 10(1);
    • 5. Zeile -> Recheneinheit 10(1);
    • 6. Zeile -> Recheneinheit 10(2);
    • 7. Zeile -> Recheneinheit 10(4).
  • Demzufolge wird die ID des Prozesses (1) (cal_01 ()) als „1011“ ausgedrückt. Anschließend werden, wie in 5 gezeigt, im Speicher 8 die Startadressen und die IDs der Prozesse (1) bis (3) verknüpft und in einer Tabelle gespeichert.
  • Nachstehend ist ein Betrieb der vorliegenden Ausführungsform beschrieben. Wie in 6 gezeigt, bereitet die CPU 6 zunächst eine Verarbeitungsanfrage an die Parallelberechnungseinheit 7 vor (S1). Diese Verarbeitungsanfragenvorbereitung erfolgt gemäß dem in 7 dargestellten Verfahren. Hier wird „1“ auf den Zeiger (Pointer) N gesetzt, der die Recheneinheiten 10(1) bis 10(4) bezeichnet (S11). Das „Verwendungsunterbindungs-Flag für Parallelberechnungseinheit“ wird auf AUS gesetzt (S12). Anschließend wird bestimmt, ob es in der von der CPU 6 angefragten Verarbeitung einen Prozess gibt, der die Recheneinheit N verwendet. Hier wird die dem Prozess entsprechende ID durch bitweises Bezugnehmen von der LSB-Seite bestimmt.
  • Wenn es einen Prozess gibt, der die Recheneinheit N verwendet (JA), wird bestimmt, ob das „Verwendungsunterbindungs-Flag für Recheneinheit N“ auf EIN gesetzt ist (S14). Wenn das Flag auf AUS gesetzt ist (NEIN), wird der Zeiger N inkrementiert (S16). Anschließend wird bestimmt, ob die Bestimmungen aller Recheneinheiten abgeschlossen sind (S17). In der vorliegenden Ausführungsform wird der Prozess mit N = 4 (JA) abgeschlossen, kehrt der Prozess zu dem in 6 gezeigten Ablaufdiagramm zurück und schreitet zu Schritt S2 voran. Wenn die Bestimmungen aller Recheneinheiten nicht abgeschlossen sind (NEIN), schreitet der Prozess zu Schritt S13 voran.
  • Wenn das „Verwendungsunterbindungs-Flag für Recheneinheit N“ in S14 auf EIN gesetzt ist (JA), wird das „Verwendungsunterbindungs-Flag für Parallelberechnungseinheit“ auf EIN gesetzt (S15) und schreitet der Prozess zu Schritt S16 voran.
  • Nachstehend ist erneut auf 6 Bezug genommen. In Schritt S2 wird bestimmt, ob das „Verwendungsunterbindungs-Flag für Parallelberechnungseinheit“ auf EIN gesetzt ist. Wenn das Flag auf AUS gesetzt ist (NEIN), gibt die CPU 6 eine Verarbeitungsanfrage an die Parallelberechnungseinheit 7 aus (S3). Dies entspricht dem gestrichelten Pfeil (1) in 1. Anschließend liest der Scheduler 11 den entsprechenden Prozess aus dem Speicher 8 (Pfeil (2)) und führt den parallelen Rechenprozess aus. Nach Empfang des Verarbeitungsergebnisses von der Parallelberechnungseinheit 7 (S4, Pfeil (3)) bestimmt die CPU 6, ob das Verarbeitungsergebnis fehlerhaft ist (S5). Wenn keine Abnormität im Verarbeitungsergebnis vorliegt (NEIN), endet das in 6 gezeigte Ablaufdiagramm. Wenn eine Abnormität im Verarbeitungsergebnis vorliegt (JA, Pfeil (4)), wird Parallelberechnungseinheit-Abnormitätsbestimmungsprozess durchgeführt (S6). Wenn das „Verwendungsunterbindungs-Flag für Parallelberechnungseinheit“ in Schritt S2 auf EIN gesetzt ist (JA), endet das in 6 gezeigte Ablaufdiagramm. Die von der Abnormitätserfassungseinheit 13 an die CPU 6 ausgegebene Abnormitätsbenachrichtigung kann in dem Verarbeitungsergebnis von Pfeil (3) enthalten sein.
  • Wie in 8 gezeigt, wird im Parallelberechnungseinheit-Abnormitätsbestimmungsprozess der Zeiger N auf „1“ gesetzt (S21). Es wird bestimmt, ob es einen Prozess gibt, der die Recheneinheit N verwendet (S22). Hier wird für jedes Bit von der LSB-Seite aus auf die zusammen mit dem Verarbeitungsergebnis aus der Parallelberechnungseinheit 7 übertragene ID Bezug genommen. Wenn es keinen Prozess gibt, der die Recheneinheit N verwendet (NEIN), wird der Zeiger N inkrementiert (S26). Anschließend wird bestimmt, ob die Bestimmung aller Recheneinheiten abgeschlossen ist (S27). Wenn die Bestimmungen aller Recheneinheiten nicht abgeschlossen sind (NEIN), schreitet der Prozess zu S22 voran.
  • In Schritt S22 wird, wenn es einen Prozess gibt, der die Recheneinheit N verwendet (JA), die Variable „Abnormitätsauftrittsanzahl für Recheneinheit N“, die die Abnormität in der Recheneinheit N zählt, inkrementiert (S23). Anschließend wird bestimmt, ob der Wert der „Abnormitätsauftrittsanzahl für Recheneinheit N“ größer oder gleich dem Abnormitätsbestimmungswert ist (S24). Der Abnormitätsbestimmungswert wird z.B. auf „2“ gesetzt. Wenn der Wert der „Abnormitätsauftrittsanzahl für Recheneinheit N“ kleiner als der Abnormitätsbestimmungswert ist (NEIN), schreitet der Prozess zu Schritt S26 voran. Wenn er größer oder gleich dem Abnormitätsbestimmungswert ist (JA), wird das „Verwendungsunterbindungs-Flag für Recheneinheit N“ auf EIN gesetzt (S25), woraufhin der Prozess zu Schritt S26 voranschreitet.
  • Wie oben beschrieben, führt die Parallelberechnungseinheit 7 gemäß der vorliegenden Ausführungsform den im Speicher 8 gespeicherten parallelen Rechenprozess aus, wenn die Verarbeitungsanfrage von der CPU 6 ausgegeben wird, woraufhin die Parallelberechnungseinheit 7 die CPU 6 über das Ausführungsergebnis informiert. Der parallele Rechenprozess enthält eine ID, die zumindest einen Teil der mehreren Recheneinheiten 10 identifiziert, die zum Ausführen des Rechenprozesses verwendet werden. Wenn die Abnormitätserfassungseinheit 13 eine Abnormität im Ausführungsergebnis erfasst, nimmt die CPU 6 auf die ID Bezug und identifiziert die am Auftreten der Abnormität beteiligte Recheneinheit 10.
  • Gemäß dieser Konfiguration wird von den vier Recheneinheiten 10, die in der Parallelberechnungseinheit enthalten sind, eine Recheneinheit (auch als erste Recheneinheit bezeichnet) identifiziert, die am Auftreten der Abnormität im parallelen Rechenprozess beteiligt ist. So kann die CPU 6 bestimmen, wie mit dem nachfolgenden parallelen Prozess umgegangen werden soll. Insbesondere wird verhindert, dass die am Auftreten der Abnormität beteiligte Recheneinheit 10 verwendet wird, wenn der nachfolgende parallele Rechenprozess ausgeführt wird. Infolgedessen kann der nachfolgende parallele Rechenprozess unter Verwendung der nicht am Auftreten der Abnormität beteiligten Recheneinheit 10 (auch als zweite Recheneinheit bezeichnet) ausgeführt werden.
  • (Zweite Ausführungsform)
  • Nachstehend ist auf die Beschreibung derselben Teile wie in der ersten Ausführungsform verzichtet, sondern lediglich auf die von der ersten Ausführungsform verschiedenen Teile eingegangen. Wie in 9 gezeigt, führt die CPU 6 in der zweiten Ausführungsform, wenn die Bestimmung in Schritt S2 „JA“ ist, den Rücksetzprozess der Parallelberechnungseinheit 7 (S7) und anschließend den Initialisierungsprozess des fehlerhaften Zustands (S8) aus. Wenn die Ursache der aufgetretenen Abnormität aufgrund des Einflusses von Rauschen oder dergleichen vorübergehend ist, ist zu erwarten, dass der fehlerhafte Zustand durch Zurücksetzen der Parallelberechnungseinheit 7 behoben wird. Daher werden das „Verwendungsunterbindungs-Flag für Parallelberechnungseinheit“, die „Abnormitätsauftrittsanzahl für Recheneinheit N“ und das „Verwendungsunterbindungs-Flag für Recheneinheit N“ initialisiert.
  • Wie oben beschrieben, setzt die CPU 6 gemäß der zweiten Ausführungsform die Parallelberechnungseinheit 7 zurück, wenn die Abnormitätsauftrittsanzahl für jede Recheneinheit 10 einen vorbestimmten Wert erreicht oder überschreitet. Folglich ist es, wenn die Ursache der aufgetretenen Abnormität aufgrund des Einflusses von Rauschen oder dergleichen vorübergehend ist, möglich, den fehlerhaften Zustand zu beseitigen und die Ausführung des parallelen Rechenprozesses fortzusetzen.
  • (Dritte Ausführungsform)
  • Wie in 10 gezeigt, führt in einer dritten Ausführungsform die CPU 6 anstelle der Parallelberechnungseinheit 7 den parallelen Rechenprozess aus (S9), wenn die Bestimmung in Schritt S2 „JA“ ist. In diesem Fall ist die CPU 6 möglicherweise nicht in der Lage, die für die Parallelberechnungseinheit 7 programmierten Prozesse (1) bis (3) direkt auszuführen. Als Reaktion darauf werden, wie in 11 gezeigt, zuvor für die CPU 6 programmierte Ersatzprozesse (1) bis (3) im Speicher 8 oder dergleichen gespeichert. Zum Beispiel kann die folgende Korrespondenz vorbereitet werden:
    • Prozess (1) (cal_01 ()) → cal_01_sub ();
    • Prozess (2) (cal_02 ()) → cal_02_sub ();
    • Prozess (3) (cal_03 ()) → cal_03_sub ().
  • Ferner können ebenso die Startadressen der Ersatzprozesse (1) bis (3) in die Tabelle von 5 aufgenommen werden.
  • Wie oben beschrieben, führt gemäß der dritten Ausführungsform, wenn der nachfolgende parallele Rechenprozess ausgeführt wird, die CPU 6 anstelle der Parallelberechnungseinheit 7 den nachfolgenden parallelen Rechenprozess aus, wenn es eine Rechenoperation der am Auftreten der Abnormität beteiligten Recheneinheit 10 gibt. Folglich kann selbst dann, wenn eine Recheneinheit 10 am Auftreten der Abnormität 10 beteiligt ist, der parallele Rechenprozess kontinuierlich ausgeführt werden. In diesem Fall kann ein Prozess zuvor im Speicher 8 gespeichert werden; der Prozess kann durch Konvertierung des von der Parallelberechnungseinheit 7 ausgeführten parallelen Rechenprozesses in ein von der CPU 6 ausführbares Format erhalten werden, um der CPU 6 zu ermöglichen, anstelle der Parallelberechnungseinheit 7 den parallelen Rechenprozess praktisch auszuführen. Folglich kann die CPU 6 den parallelen Rechenprozess leicht ersetzen und ausführen.
  • (Vierte Ausführungsform)
  • Wie in 12 gezeigt, bestimmt die CPU 6 in der vierten Ausführungsform, wenn die Bestimmung in Schritt S2 „JA“ ist, ob es ein Ersatzmittel für den parallelen Rechenprozess gibt (S10A). Wenn es das Ersatzmittel gibt (JA), wird die Verarbeitungsanfrage mit dem Ersatzmittel an die Parallelberechnungseinheit 7 ausgegeben (S10B). Wenn jeder der Prozesse (1) bis (3) einen Ersatzprozess aufweist, der von der Parallelberechnungseinheit 7 ausführbar ist, werden diese Ersatzprozesse (1) bis (3) im Speicher 8 oder dergleichen gespeichert. Anschließend werden, wie in 13 gezeigt, die Startadressen und die entsprechenden IDs der Ersatzprozesse (1) bis (3) in die Tabelle des Speichers 8 eingefügt. Es ist zu beachten, dass der Ersatzprozess (2) mit der ID „0000“ im Wesentlichen nicht ausführbar ist; die ID „0000“ bedeutet, dass es kein Ersatzmittel gibt.
  • Die Prozesse (1) und (3) weisen die Ersatzprozesse (1) und (3) auf, die jeweils von der Recheneinheit 10(4) ausführbar sind. Der Ersatzprozess muss nicht unbedingt vollständig mit dem ursprünglichen Prozess übereinstimmen. Beispielsweise kann der Prozess, bei dem ursprünglich die vier Rechenoperationen durchgeführt werden sollten, durch einen Prozess zum Rückführen eines Fail-Safe-Wertes ersetzt werden, der ein fester Wert ist, der die Steuerung nicht beeinflusst. Wenn beispielsweise die Recheneinheit 10(4) zumindest den Fail-Safe-Wert in den Speicher 12 schreiben muss, wird bestimmt, ob das Verwendungsunterbindungs-Flag für die Recheneinheit 10(4) auf EIN gesetzt ist (S31), wie in 14 dargestellt. Wenn das Verwendungsunterbindungs-Flag auf AUS gesetzt ist (NEIN), wird eine Verarbeitungsanfrage mit dem Ersatzmittel an die Parallelberechnungseinheit 7 ausgegeben (S32).
  • Ferner soll angenommen werden, dass mehrere Recheneinheiten 10 für den Ersatzprozess erforderlich sind. In einem solchen Fall wird, nachdem alle der Verwendungsunterbindungs-Flags für die Ziel-Recheneinheiten 10 bestimmt wurden, eine Verarbeitungsanfrage an die Parallelberechnungseinheit 7 ausgegeben. Ferner wird, wenn keine erforderliche Recheneinheit 10 vorhanden ist oder wenn im Voraus bestimmt wird, dass die obige Bestimmung unnötig ist, nur Schritt S32 ausgeführt.
  • Wie oben beschrieben, bewirkt die CPU 6 gemäß der vierten Ausführungsform, dass die Parallelberechnungseinheit 7 den nachfolgenden parallelen Rechenprozess ausführt, indem sie die von der Recheneinheit 10 (auch als erste Recheneinheit bezeichnet), die am Auftreten der Abnormität beteiligt ist, durchgeführte Rechenoperation durch die von der Recheneinheit 10 (auch als zweite Recheneinheit bezeichnet), die nicht durch die ID identifiziert wurde, durchgeführte Rechenoperation ersetzt. Hierdurch kann die Ausführung des parallelen Rechenprozesses so weit wie möglich unter Verwendung der verwendbaren Recheneinheit 10 fortgesetzt werden.
  • (Weitere Ausführungsformen)
  • Die CPU kann die Funktion der Abnormitätserfassungseinheit aufweisen. Das Format der Kenninformation ist nicht auf die in der Ausführungsform gezeigte ID beschränkt. Die Anzahl von CPUs ist nicht auf zwei beschränkt, sondern kann bei eins, drei oder einer höheren Anzahl liegen. Die Anzahl von Recheneinheiten ist nicht auf vier beschränkt, sondern kann bei zwei, drei, fünf oder einer höheren Anzahl liegen. Obgleich die vorliegende Offenbarung vorstehend in Verbindung mit den Ausführungsformen beschrieben ist, sollte wahrgenommen werden, dass sie nicht auf diese Ausführungsformen oder Strukturen beschränkt ist. Die vorliegende Offenbarung deckt verschiedene Modifikationsbeispiele und äquivalente Anordnungen ab. Darüber hinaus sind verschiedene Kombinationen und Formen sowie andere Kombinationen und Formen, die nur ein Element, mehr als das oder weniger als das beinhalten, ebenso im Sinne und Umfang der vorliegenden Offenbarung.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2016110502 A [0003]

Claims (6)

  1. Elektronische Steuereinheit mit: - wenigstens einer CPU (6); - einer Parallelrechenprozesseinheit (7), die (i) mehrere Recheneinheiten (10) und (ii) einen Scheduler (11), der konfiguriert ist, um den Recheneinheiten Prozesse zuzuweisen, aufweist; - einem Speicher (8), der konfiguriert ist, um einen von der Parallelrechenprozesseinheit ausgeführten parallelen Rechenprozess zu speichern; und - einer Abnormitätserfassungseinheit (13), die konfiguriert ist, um eine Abnormität in einem Ausführungsergebnis des parallelen Rechenprozesses zu erfassen, wobei - die Parallelrechenprozesseinheit konfiguriert ist, um - den im Speicher gespeicherten parallelen Rechenprozess auszuführen, wenn eine Verarbeitungsanfrage von der CPU ausgegeben wird, und - die CPU über das Ausführungsergebnis zu informieren; - der parallele Rechenprozess Kenninformation enthält, um zumindest einen Teil der mehreren Recheneinheiten zu identifizieren, die zum Ausführen des parallelen Rechenprozesses verwendet werden; und - die CPU, wenn die Abnormitätserfassungseinheit eine Abnormität im Ausführungsergebnis erfasst, konfiguriert ist, um auf die Kenninformation Bezug zu nehmen und aus den mehreren Recheneinheiten eine erste Recheneinheit zu identifizieren, die an einem Auftreten der Abnormität beteiligt ist.
  2. Elektronische Steuereinheit nach Anspruch 1, wobei die CPU konfiguriert ist, um eine Verwendung der ersten Recheneinheit, die am Auftreten der Abnormität beteiligt ist, zu unterbinden, wenn ein nachfolgender paralleler Rechenprozess erfolgt.
  3. Elektronische Steuereinheit nach Anspruch 2, wobei die CPU im Ansprechen darauf, dass der nachfolgende parallele Rechenprozess eine erste Rechenoperation beinhaltet, die von der ersten Recheneinheit durchgeführt wird, die am Auftreten der Abnormität beteiligt ist, in Fällen, in denen der nachfolgende parallele Rechenprozess erfolgt, konfiguriert ist, um anstelle der ersten Recheneinheit die erste Rechenoperation auszuführen.
  4. Elektronische Steuereinheit nach Anspruch 2, wobei im Voraus ein Prozess im Speicher gespeichert wird, um es der CPU zu ermöglichen, anstelle der Parallelrechenprozesseinheit den parallelen Rechenprozess auszuführen, wobei der Prozess durch Konvertieren des von der Parallelrechenprozesseinheit ausgeführten parallelen Rechenprozesses in ein von der CPU ausführbares Format erhalten wird.
  5. Elektronische Steuereinheit nach Anspruch 2, wobei die CPU, wenn der nachfolgende parallele Rechenprozess erfolgt, konfiguriert ist, um eine erste Rechenoperation, die von der ersten Recheneinheit ausgeführt wird, die am Auftreten der Abnormität beteiligt ist, durch eine zweite Rechenoperation zu ersetzen, die von einer zweiten Recheneinheit ausgeführt wird, die nicht in der Kenninformation identifiziert wird, und die zweite Recheneinheit veranlasst, die zweite Rechenoperation auszuführen.
  6. Elektronische Steuereinheit nach einem der Ansprüche 1 bis 5, wobei die CPU konfiguriert ist, um die Parallelrechenprozesseinheit zurückzusetzen, wenn eine Abnormitätsauftrittsanzahl für irgendeine der mehreren Recheneinheiten einen vorbestimmten Wert überschreitet.
DE102020210531.6A 2019-08-22 2020-08-19 Elektronische steuereinheit Withdrawn DE102020210531A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019152088A JP2021033567A (ja) 2019-08-22 2019-08-22 電子制御装置
JP2019-152088 2019-08-22

Publications (1)

Publication Number Publication Date
DE102020210531A1 true DE102020210531A1 (de) 2021-02-25

Family

ID=74495862

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020210531.6A Withdrawn DE102020210531A1 (de) 2019-08-22 2020-08-19 Elektronische steuereinheit

Country Status (2)

Country Link
JP (1) JP2021033567A (de)
DE (1) DE102020210531A1 (de)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS534442A (en) * 1976-07-02 1978-01-17 Hitachi Ltd Information processing unit
JPS62113241A (ja) * 1985-11-12 1987-05-25 Nec Corp 障害回復装置
JPH03109648A (ja) * 1989-09-22 1991-05-09 Hitachi Medical Corp 医用画像処理装置
CA2171898C (en) * 1996-03-15 2000-02-01 Brian Ward Thomson Linker optimization for compiled object oriented programs
JP2002259147A (ja) * 2001-02-27 2002-09-13 Hitachi Ltd 情報処理装置及びリアルタイム分散処理システム
US20120317442A1 (en) * 2010-01-15 2012-12-13 Hitachi, Ltd. Embedded device and embedded system
JP2016103240A (ja) * 2014-11-28 2016-06-02 キヤノン株式会社 データ処理装置とデータ処理方法
JP2017016319A (ja) * 2015-06-30 2017-01-19 日本信号株式会社 多重化データ処理装置
WO2017119123A1 (ja) * 2016-01-08 2017-07-13 三菱電機株式会社 プロセッサ合成装置、プロセッサ合成方法及びプロセッサ合成プログラム
JP6768382B2 (ja) * 2016-07-15 2020-10-14 キヤノンメディカルシステムズ株式会社 医用管理装置

Also Published As

Publication number Publication date
JP2021033567A (ja) 2021-03-01

Similar Documents

Publication Publication Date Title
EP0010198B1 (de) Vorrichtung zur Steuerung des Seitenaustausches in einem Datenverarbeitungssystem mit virtuellem Speicher
EP0689694B1 (de) Verfahren zur maschinellen erzeugung von nebenläufig bearbeitbaren befehlsgruppen aus einem programm für superskalare mikroprozessoren
DE68927689T2 (de) Überlaufkorrekturschaltung
DE2714805C2 (de)
DE3003150C2 (de) Mikrocomputer mit einem zusätzlichen Speicher mit wahlfreiem Zugriff zum Speichern von Paritätsbits
DE3689389T2 (de) Datenverarbeitungsprozessor.
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE69126057T2 (de) Ein Informationsverarbeitungsgerät mit einer Fehlerprüf- und Korrekturschaltung
DE2712224A1 (de) Datenverarbeitungsanlage
DE3131204A1 (de) Adressumrechnungs- und generatoranordnung
DE19983098B4 (de) Mehrfach-Bitanzeige zur Behandlung von Schreib-nach-Schreib-Fehlern und zur Eliminierung von Bypass-Komparatoren
DE2336020C3 (de) Adressen-Berechnungsschaltung für Paritätsfehler-Korrekturprogramme
DE3689217T2 (de) Datenverarbeitungseinrichtung mit einer Schaltung zur Prüfung der Adressgrenzen in einem virtuellen Speicher.
DE4031136A1 (de) Fehlersimulationsverfahren
DE2617485C3 (de) Schaltungsanordnung für Datenverarbeitungsanlagen zur Abarbeitung von Mikrobefehlsfolgen
DE2723706A1 (de) Einrichtung zum adressenvergleich
DE3688973T2 (de) Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System.
DE102020210531A1 (de) Elektronische steuereinheit
DE69731574T2 (de) Kompiliergerät und -verfahren
DE102014115411A1 (de) Datenverarbeitungsanordnung und -verfahren zur sicherstellung der integrität der ausführung eines computerprogramms
EP0265636A1 (de) Multiprozessor mit mehreren mit Cache-Speichern ausgerüsteten Prozessoren und einem gemeinsamen Speicher
DE112004001564T5 (de) Low-contention Lock
DE102008022302A1 (de) Elektronische Rechenvorrichtung zur Bestimmung einer Ausführzeit einer Aufgabe und Programm
DE102016206490A1 (de) Elektronische steuereinheit
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee