-
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
-