-
Die vorliegende Erfindung betrifft eine elektronische Steuerungseinheit.
-
In den vergangenen Jahren wurde die Verarbeitungsfähigkeit des Mikrocontrollers in einer elektronischen Steuerungsvorrichtung für ein Fahrzeug verbessert, um Steuerungen mit erhöhter Komplexität handzuhaben. Ein Mikrocontroller enthält beispielsweise mehrere Kerne und eine Parallelarithmetikverarbeitungseinheit. Der Kern fordert die Parallelarithmetikverarbeitungseinheit auf, eine Arithmetikbefehlsgruppe zu verarbeiten, die eine Satz von Arithmetikbefehlen ist, und die Parallelarithmetikverarbeitungseinheit führt eine parallele Verarbeitung der Arithmetikbefehle mit hoher Geschwindigkeit aus.
-
Die Parallelarithmetikverarbeitungseinheit ist ausgelegt, die Arithmetikbefehle aus der Arithmetikbefehlsgruppe zu extrahieren, deren Verarbeitung der Kern angefordert hat, und automatisch und optimal Ressourcen der Arithmetikeinheiten unter Verwendung einer Hardwarefunktion zuzuordnen. Dementsprechend ist die Parallelarithmetikverarbeitung ausgelegt, die parallele Verarbeitung mit hoher Geschwindigkeit durchzuführen.
-
Patentliteratur 1:
JP 2016- 126 426 A
-
Die Parallelarithmetikverarbeitungseinheit ist ausgelegt, eine Arithmetikbefehlsgruppe, deren Verarbeitung von dem Kern angefordert wird, zu empfangen und die empfangene Arithmetikbefehlsgruppe in einer Reihenfolge zu verarbeiten.
-
Hier kann jedoch als eine Parallelarithmetikverarbeitungseinheit eine Konfiguration betrachtet werden, bei der eine Verarbeitungsaufforderung einer anderen Arithmetikbefehlsgruppe, die sich von der Arithmetikbefehlsgruppe unterscheidet, die verarbeitet wird, empfangen wird, aber eine Verarbeitungsaufforderung derselben Arithmetikbefehlsgruppe nicht empfangen wird. Bei einer derartigen Konfiguration kann die Schwierigkeit bestehen, dass, wenn mehrere Kerne auf duplizierte bzw. doppelte Weise die Verarbeitung derselben Arithmetikbefehlsgruppe anfragen, die Parallelarithmetikverarbeitungseinheit diese nicht verarbeiten kann.
-
Die vorliegende Erfindung entstand im Hinblick auf die obigen Probleme, und es ist eine Aufgabe der vorliegenden Erfindung, eine elektronische Steuerungsvorrichtung zu schaffen, die in der Lage ist, eine Verarbeitung durch eine Parallelarithmetikverarbeitungseinheit sogar dann auszuführen, wenn eine Verarbeitung derselben Arithmetikbefehlsgruppe auf duplizierte oder doppelte Weise angefragt bzw. angefordert wird.
-
Gemäß einem ersten Aspekt fordert eine Steuerungsfunktion (A bis C) einer Steuerungsfunktionseinheit (X) eine Ausführung einer Verarbeitung einer Gruppe von Arithmetikbefehlen an. Wenn eine Verarbeitungsanforderung bzw.-aufforderung durch die Steuerungsfunktion der Steuerungsfunktionseinheit ausgegeben wird, versetzt eine Halteeinheit (Y1) die Verarbeitungsanfrage in einen Wartezustand. Eine Verwaltungsfunktionseinheit (Y2) verwaltet den durch die Halteeinheit versetzten Wartezustand der Verarbeitungsanforderung und den durch die Parallelarithmetikverarbeitungseinheit (13) erzielten Verarbeitungszustand der Arithmetikbefehlsgruppe, so dass die Verwaltungsfunktionseinheit derart arbitriert bzw. vermittelt, dass die Verwaltungsfunktionseinheit die Halteeinheit steuert, eine duplizierte Verarbeitungsanforderung von der Steuerungsfunktion der Steuerungsfunktionseinheit zu halten, bis die Parallelarithmetikverarbeitungseinheit die Verarbeitung der Arithmetikbefehlsgruppe beendet hat, wenn die Steuerungsfunktion der Steuerungsfunktionseinheit anfordert, die duplizierte Verarbeitung derselben Arithmetikbefehlsgruppe auszuführen, und die Verwaltungsfunktionseinheit die duplizierte Verarbeitungsanforderung, die von der Halteeinheit gehalten wurde, empfängt, um die duplizierte Verarbeitung durch die Parallelarithmetikverarbeitungseinheit auszuführen, nachdem die Parallelarithmetikverarbeitungseinheit die Verarbeitung der Arithmetikbefehlsgruppe beendet hat. Als Ergebnis ist es möglich, eine duplizierte Verarbeitungsanforderung bzw. -aufforderung hinsichtlich derselben Arithmetikbefehlsgruppe an die Parallelarithmetikverarbeitungseinheit zu vermeiden, und die duplizierte Verarbeitungsanforderung wird sogar dann angenommen, wenn dieselbe Arithmetikbefehlsgruppe als die verarbeitete Arithmetikbefehlsgruppe für die Verarbeitung in der Parallelarithmetikverarbeitungseinheit aufgefordert bzw. anfordert wird.
-
Außerdem verwaltet die Verwaltungsfunktionseinheit durch Verbinden: der Steuerungsfunktion betreffend die Verarbeitung von der Verarbeitungsanfrage durch die Steuerungsfunktion der Steuerungsfunktionseinheit bis zu der Rückgabe des Verarbeitungsergebnisses durch die Parallelarithmetikverarbeitung; der Arithmetikbefehlsgruppe; und der Ausführung/Beendigung der Verarbeitung. Als Ergebnis kann das Verarbeitungsergebnis der Parallelarithmetikverarbeitungseinheit an die Steuerungsfunktion der Steuerungsfunktionseinheit als einer Verarbeitungsanforderungsquelle zurückgegeben werden.
-
Die obigen und weiteren Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden anhand der folgenden detaillierten Beschreibung mit Bezug auf die zugehörigen Zeichnungen deutlich. Es zeigen:
- 1 ein Funktionsblockdiagramm, das eine Konfiguration eines Mikrocontrollers gemäß einer Ausführungsform darstellt;
- 2 ein Blockdiagramm, das eine Verbindung zwischen einer Verbrennungsmotor-ECU und einer jeweiligen ECU zeigt;
- 3 ein Blockdiagramm, das schematisch eine Konfiguration einer Parallelarithmetikverarbeitungseinheit zeigt;
- 4 ein Diagramm, das eine Graphstruktur darstellt;
- 5 ein Diagramm, das schematisch eine Funktion einer Graphverwaltungseinheit zeigt; und
- 6 ein Diagramm, das den Betrieb einer jeweiligen Funktion zeigt.
-
Im Folgenden wird eine Ausführungsform mit Bezug auf die Zeichnungen beschrieben.
-
Wie es in 2 gezeigt ist, ist eine Verbrennungsmotor-ECU (elektronische Steuerungseinheit) in einem Fahrzeug montiert. Die Verbrennungsmotor-ECU 1 entspricht einer elektronischen Steuerungsvorrichtung. Diese Verbrennungsmotor-ECU 1 ist kommunizierbar mit anderen ECUs wie einer Automatikgetriebe-ECU 3, einer Messgeräte-ECU 4 und einer Klimaanlagen-ECU 5 über ein fahrzeugeigenes LAN 2 verbunden. Ein Protokoll des fahrzeugeigenen LAN 2 ist beispielsweise CAN (Steuerbereichsnetzwerk). CAN ist eine eingetragene Marke.
-
Die Verbrennungsmotor-ECU 1 enthält einen Mikrocomputer 11 als eine Hauptkomponente. Wie es in 1 gezeigt ist, enthält der Mikrocomputer 11 eine Kerngruppe 12 aus mehreren Kernen 12a-12c und eine Parallelarithmetikverarbeitungseinheit 13. Die Kerne 12a-12c und die Parallelarithmetikverarbeitungseinheit 13 führen parallel zueinander mehrere Arithmetikprozesse durch, um eine Hochgeschwindigkeitsverarbeitung zu realisieren.
-
Die Kerne 12a bis 12c und die Parallelarithmetikverarbeitungseinheit 13 sind über einen internen Bus 14 miteinander verbunden und sind außerdem mit Speichern wie einen ROM 15 und einem RAM 16 sowie mit einer I/O-Schnittstelle 17 wie beispielsweise einer CAN-Schnittstelle verbunden. Der Mikrocomputer 11 ist außerdem mit peripheren Schaltungen 18 wie beispielsweise einem anderen Mikrocomputer 19 und einem AD-Wandler verbunden.
-
Die Kerne 12a bis 12c empfangen Erfassungssignale von verschiedenen Sensoren zum Erfassen des Betriebszustands des Verbrennungsmotors über die Eingangsschaltung 20 und verarbeiten die Erfassungswerte, die durch die Erfassungssignale angegeben werden, um einen Aktuator zum Antreiben des Verbrennungsmotors über die Ausgangsschaltung 21 zu steuern und ein Kommunikationssignal mit einer anderen ECU über die Kommunikationsschaltung 22 auszutauschen. Die Kerne 12a bis 12c geben eine Anforderung bzw. Aufforderung bzw. Anfrage hinsichtlich einer Verarbeitung an die Parallelarithmetikverarbeitungseinheit 13 aus, wenn eine vorbestimmte Arithmetikverarbeitung zum Steuern des Verbrennungsmotors notwendig ist.
-
Wie es in 3 gezeigt ist, enthält die Parallelarithmetikverarbeitungseinheit 13 einen Speicher 23, eine Steuerungsschaltung 24 und mehrere Arithmetikeinheiten 25. Informationen zum Verarbeiten der Arithmetikbefehlsgruppe, die von den Kernen 12a bis 12c empfangen werden, werden aufeinanderfolgend in dem Speicher 23 gespeichert.
-
Die Steuerungsschaltung 24 führt die Arithmetikverarbeitung hinsichtlich der Arithmetikbefehlsgruppe, die in dem Speicher 23 gespeichert ist, in Kooperation mit den Arithmetikeinheiten 25 aus. D.h., die Steuerungsschaltung 24 weist eine Planungsfunktion auf, so dass die Steuerungsschaltung 24 automatisch den Arithmetikbefehl, der in der Arithmetikbefehlsgruppe enthalten ist, die in dem Speicher 23, gespeichert ist, der entsprechenden Arithmetikeinheit 25 zuweist.
-
Die Arithmetikeinheit 25 führt aufeinanderfolgend eine Arithmetikverarbeitung hinsichtlich des Arithmetikbefehls durch, der durch die Steuerungsschaltung 24 zugewiesen wird. Die Arithmetikeinheiten 25 sind vom selben Typ oder von unterschiedlichen Typen, und die parallele Verarbeitung kann durch Zuweisen desselben Typs oder unterschiedlicher Typen von Arithmetikbefehlen zu den Arithmetikeinheiten 25 durchgeführt werden. Die Arithmetikeinheit 25 speichert ein Arithmetikverarbeitungsergebnis in dem Speicher 23.
-
Die Kerne 12a bis 12c beschaffen ein Arithmetikverarbeitungsergebnis von dem Speicher 23, wenn sie die Parallelarithmetikverarbeitungseinheit 13 auffordern, die Arithmetikbefehlsgruppe zu verarbeiten. Die Kerne 12a bis 12c führen die anschließende Verarbeitung auf der Grundlage des Arithmetikverarbeitungsergebnisses aus.
-
Die Arithmetikbefehlsgruppe, deren Verarbeitung von den Kernen 12a bis 12c angefordert wird, definiert die Verarbeitungsreihenfolge der Arithmetikbefehle. In der in 4 gezeigten Arithmetikbefehlsgruppe ist die Verarbeitungsreihenfolge beispielsweise derart definiert, dass die Arithmetikbefehle B-D verarbeitet werden, nachdem die Verarbeitung des Arithmetikbefehls A beendet ist, und der Arithmetikbefehl E verarbeitet wird, nachdem die Verarbeitung sämtlicher Arithmetikbefehle B-D beendet ist. Im Folgenden wird eine Gruppe von Arithmetikbefehlen auch als Graph bezeichnet.
-
Die Parallelarithmetikverarbeitungseinheit 13 der vorliegenden Ausführungsform ist ausgelegt, eine Verarbeitungsaufforderung für einen Graphen, der sich von dem Graph unterscheidet, der verarbeitet wird, anzunehmen, aber keine Verarbeitungsanfrage für denselben, derzeit verarbeiteten Graph anzunehmen. Wenn die Kerne 12a bis 12c auf duplizierte Weise die Verarbeitung desselben Graphen anfordern, kann es daher das Problem geben, dass die Parallelarithmetikverarbeitungseinheit 13 den Graphen nicht verarbeiten kann.
-
Daher ist in der vorliegenden Ausführungsform eine Arbitrierungsfunktion bzw. Vermittlungsfunktion zwischen den Kernen 12a bis 12c und der Parallelarithmetikverarbeitungseinheit 13 angeordnet. Diese Arbitrierungsfunktion versetzt die Graphverarbeitungsanfrage von den Kernen 12a bis 12c in einen Wartezustand, überwacht den Wartezustand und den Verarbeitungszustand der Parallelarithmetikverarbeitungseinheit 13 und gibt eine Graphverarbeitungsanfrage, hinsichtlich der die Parallelarithmetikverarbeitungseinheit 13 zur Annahme bereit ist, in die Parallelarithmetikverarbeitungseinheit 13 ein.
-
Im Folgenden wird die Arbitrierungsfunktion beschrieben. Wie es in 5 gezeigt ist, enthält die elektronische Steuerungsvorrichtung 1 eine Steuerungsfunktionseinheit X und eine Graphverwaltungseinheit Y zusätzlich zu der Parallelarithmetikverarbeitungseinheit 13. Die Steuerungsfunktionseinheit X weist mehrere Steuerungsfunktionen auf. Die Graphverwaltungseinheit Y enthält einen Schlangenbildungsmechanismus bzw. Schlangenmechanismus Y1 und eine Graphverwaltungsfunktion Y2. Der Schlangenmechanismus Y1 entspricht der Halteeinheit, und die Graphverwaltungsfunktion Y2 entspricht der Verwaltungsfunktionseinheit.
-
Der Schlangenmechanismus Y1 weist mehrere dem Graph entsprechende Graphanforderungsschlangen auf und reiht die Graphanfrageinformationen in die entsprechende Graphanforderungsreihe bzw. -schlange als Reaktion auf die Graphverarbeitungsanfrage von einer jeweiligen Steuerungsfunktion der Steuerungsfunktionseinheit X ein.
-
Die Graphverwaltungsfunktion Y2 weist mehrere Graphanfrageinformationsverwaltungsfunktionen und eine dem Graph entsprechende Graphzustandsverwaltungsfunktion auf. Die Graphanfrageinformationsverwaltungsfunktion verwaltet durch Verbinden der Steuerungsfunktion und des Graphen betreffend den Prozess von der Verarbeitungsanfrage von einer jeweiligen Steuerungsfunktion der Steuerungsfunktionseinheit X bis zu der Rückgabe des Verarbeitungsergebnisses durch die Parallelarithmetikverarbeitungseinheit 13 und der Identifizierungsinformationen zum Identifizieren der Ausführung/Beendigung der Verarbeitung. Die Graphzustandsverwaltungsfunktion überwacht den Verarbeitungszustand des Graphen in der Parallelarithmetikverarbeitungseinheit 13, und wenn die Parallelarithmetikverarbeitungseinheit 13 zur Annahme der Verarbeitung des Graphen bereit ist, nimmt die Graphzustandsverwaltungsfunktion die Graphanfrageinformationen, die in die Graphanfrageschlange eingereiht wurden, aus der Schlange und beschafft diese, um diese an die Parallelarithmetikverarbeitungseinheit 13 zu senden.
-
In der vorliegenden Ausführungsform weisen die Kerne 12a bis 12c jeweilige Steuerungsfunktionen einer einzelnen oder mehrerer Steuerungsfunktionseinheiten X auf. Außerdem weist der Kern 12c die Funktion der Graphverwaltungseinheit Y zusätzlich zu den jeweiligen Steuerungsfunktionen der Steuerungsfunktionseinheit X auf.
-
Unter Verwendung der Steuerungsfunktionen der Steuerungsfunktionseinheit X der Kerne 12a bis 12c und der Funktionen der Graphverwaltungseinheit Y des Kerns 12c wird im Folgenden ein Beispiel des Prozesses in der Parallelarithmetikverarbeitungseinheit 13 zum Verarbeiten des Graphen, die von einer jeweiligen Steuerungsfunktion der Steuerungsfunktionseinheit X angefragt wird, mit Bezug auf 6 beschrieben.
-
In dem Beispiel, das in 6 gezeigt ist, sind die Steuerungsfunktionen A bis C als die Steuerungsfunktionseinheit X angeordnet, eine Graph-O-Anfrageschlange und eine Graph-1-Anfrageschlange sind als Schlangenmechanismus Y1 angeordnet, und eine Graph-0-Verwaltungsfunktion und eine Graph-1-Verwaltungsfunktion sind als die Graphverwaltungsfunktion Y2 angeordnet.
-
Die Parallelarithmetikverarbeitungseinheit 13 ist zum Annehmen des Graphen 0 und des Graphen 1 bereit, aber ist ausgelegt, wenn ein Graph verarbeitet wird, eine Verarbeitungsanfrage hinsichtlich desselben Graphen nicht anzunehmen. Der Graph 0 und der Graph 1 sind für die Annahme bereit bzw. können angenommen werden, wenn weder der Graph 0 noch der Graph 1 verarbeitet wird. Der Graph 0, der als erstes empfangen wird, wird beispielsweise verarbeitet, und dann wird der Graph 1, der als nächstes empfangen wird, verarbeitet.
-
6 zeigt einen Fall, bei dem die Steuerungsfunktion A die Verarbeitung des Graphen 0 anfordert bzw. anfragt, die Steuerungsfunktion B anschließend die Verarbeitung des Graphen 1 anfordert bzw. anfragt und dann die Steuerungsfunktion C die Verarbeitung des Graphen 0 anfordert bzw. anfragt. In diesem Fall fordern bzw. fragen die Steuerungsfunktion A und die Steuerungsfunktion C auf duplizierte Weise die Verarbeitung des Graphen 0 an.
-
Zunächst fordert die Steuerungsfunktion A die Graphverwaltungseinheit Y auf, den Graphen 0 zu verarbeiten. Die Verarbeitungsanfrage hinsichtlich des Graphen 0 wird durch gleichzeitiges Übertragen von Anfrageinformationen der Steuerungsfunktion A an die Graph-Verwaltungseinheit Y durchgeführt. Die Anfrageinformationen enthalten Steuerungsfunktionsinformationen der Anfragequelle, Steuerungsinformationen, die zur Graphverarbeitung benötigt werden, Ergebnisspeicheradressinformationen und Ähnliches.
-
Wenn es eine Verarbeitungsanfrage für den Graphen 0 gibt, reiht der Schlangenmechanismus Y1 die Anfrageinformationen der Steuerungsfunktion A in die entsprechende Graph-0-Anfrageschlange ein. D.h., die Verarbeitungsanfrage hinsichtlich des Graphen 0 wird in den Wartezustand versetzt.
-
Die Graphverwaltungsfunktion Y2 verwaltet die Zustände des Graphen 0 und des Graphen 1, die durch die Parallelarithmetikverarbeitungseinheit 13 verarbeitet werden. D.h., wenn ein Graphverarbeitungsauslöser an die Parallelarithmetikverarbeitungseinheit 13 übertragen wird, wird der entsprechende Graph als belegt (d.h. BUSY) bestimmt, und wenn ein Graphbeendigungsauslöser von der Parallelarithmetikverarbeitungseinheit 13 empfangen wird, wird der entsprechende Graph als frei bzw. im Leerlaufzustand (d.h. IDLE) bestimmt. Hier wird in dem Anfangszustand bestimmt, dass sich der Graph 0 und der Graph 1 in dem freien Zustand bzw. Leerlaufzustand bzw. IDLE-Zustand befinden.
-
Die Graphverwaltungsfunktion Y2 bestimmt die Anfrageinformationen, die die Parallelarithmetikverarbeitungseinheit 13 zum Verarbeiten des Graphen benötigt, und nimmt die Anfrageinformationen aus der entsprechenden Graphanfrageschlange und beschafft diese. D.h., die Parallelarithmetikverarbeitungseinheit 13 bestimmt den Graphen in dem Leerlaufzustand und beschafft die Anfrageinformationen durch Entnehmen der Steuerungsfunktion entsprechend einer vorbestimmten Regel aus der Graphanfrageschlange in dem Leerlaufzustand, beispielsweise gemäß FIFO („First In First Out“ bzw. zuerst hinein zuerst hinaus).
-
In dem Beispiel, das in 6 gezeigt ist, bestimmt die Graph-0-Verwaltungsfunktion der Graphverwaltungsfunktion Y2, dass sich der Graph 0 der Parallelarithmetikverarbeitungseinheit 13 in dem Leerlaufzustand befindet. Da in diesem Fall die Anfrageinformationen der Steuerungsfunktion A in die Graph-0-Anfrageschlange des Schlangenmechanismus Y1 eingereiht sind, werden die Anfrageinformationen der Steuerungsfunktion A aus der Reihe bzw. Schlange entnommen und beschafft, und die Anfrageinformationen der Steuerungsfunktion A und der Graph-0-Verarbeitungsauslöser werden an die Parallelarithmetikverarbeitungseinheit 13 übertragen.
-
Da die Parallelarithmetikverarbeitungseinheit 13 den Graphen 0 gerade nicht verarbeitet, wenn sie den Graph-0-Verarbeitungsauslöser empfängt, empfängt die Parallelarithmetikverarbeitungseinheit 13 den Graph-0-Verarbeitungsauslöser und startet die Verarbeitung des Graphen 0 auf der Grundlage der Anfrageinformationen.
-
Wenn die Steuerungsfunktion B die Verarbeitung des Graphen 1 während der Verarbeitung des Graphen 0 der Steuerungsfunktion A durch die Parallelarithmetikverarbeitungseinheit 13 anfragt, reiht der Schlangenmechnismus Y1 die Anfrageinformationen der Steuerungsfunktion B in die Graph-1-Anfrageschlange ein. Da in diesem Fall der Graph 1 der Parallelarithmetikverarbeitungseinheit 13 als in dem Leerlaufzustand befindlich bestimmt wird, werden die Anfrageinformationen der Steuerungsfunktion B aus der Graph-1-Anfrageschlange entnommen und beschafft, und die Anfrageinformationen der Steuerungsfunktion B und der Graph-1-Verarbeitungsauslöser werden an die Parallelarithmetikverarbeitungseinheit 13 übertragen. Dazu zu dieser Zeit die Parallelarithmetikverarbeitungseinheit 13 den Graphen 0, aber nicht den Graphen 1 verarbeitet, empfängt die Parallelarithmetikverarbeitungseinheit 13 die Anfrageinformationen der Steuerungsfunktion B als Reaktion auf den Empfang des Graph-1-Verarbeitungsauslösers.
-
Wenn dann die Steuerungsfunktion C die Verarbeitung des Graphen 0 während der Verarbeitung des Graphen 0 durch die Parallelarithmetikverarbeitungseinheit 13 anfragt, werden die Anfrageinformationen der Steuerungsfunktion C in die Graph-0-Anfrageschlange eingereiht. D.h., die Verarbeitungsanfrage der Steuerungsfunktion C befindet sich in dem Wartezustand. Zu dieser Zeit hält die Graph-0-Verwaltungsfunktion der Graphverwaltungsfunktion Y2 den Einreihungszustand der Anfrageinformationen der Steuerungsfunktion C bei, da bestimmt wird, dass sich der Graph 0 der Parallelarithmetikverarbeitungseinheit 13 in dem Belegt-Zustand befindet. D.h., es wird der Wartezustand der Verarbeitungsanfrage des Graphen 0 der Steuerungsfunktion C fortgesetzt.
-
Wenn die Verarbeitung des Graphen 0 beendet ist, überträgt die Parallelarithmetikverarbeitungseinheit 13 den Graph-0-Beendigungsauslöser und verarbeitet dann die Anfrageinformationen des Graphen 1, die sich in dem Wartezustand befinden.
-
Die Graph-0-Verwaltungsfunktion der Graphverwaltungsfunktion Y2 überträgt die Graph-0-Verarbeitungsbeendigungsmitteilung an die Steuerungsfunktion A, wenn der Graph-0-Beendigungsauslöser von der Parallelarithmetikverarbeitungseinheit 13 empfangen wird. Als Ergebnis erkennt die Steuerungsfunktion A, dass die Verarbeitung des Graphen 0 durch die Parallelarithmetikverarbeitungseinheit 13 beendet wurde, und führt die anschließende Verarbeitung auf der Grundlage des Verarbeitungsergebnisses des Graphen 0 durch. In diesem Fall schließt die Graphverwaltungsfunktion Y2 die Verarbeitungsanfrage des Graphen 0 von der Steuerungsfunktion A als Verwaltungsziel aus.
-
Andererseits bestimmt die Graph-0-Verwaltungsfunktion der Graphverwaltungsfunktion Y2, dass sich der Graph 0 in dem Leerlaufzustand befindet, wenn der Graph-0-Beendigungsauslöser von der Parallelarithmetikverarbeitungseinheit 13 empfangen wird, die Anfrageinformationen der Steuerungsfunktion C, die in die Graph-0-Anfrageschlange eingereiht wurden, werden aus der Schlange entnommen und beschafft, und die Anfrageinformationen der Steuerungsfunktion C und der Graph-0-Verarbeitungsauslöser werden an die Parallelarithmetikverarbeitungseinheit 13 übertragen. Als Ergebnis empfängt die Parallelarithmetikverarbeitungseinheit 13 die Anfrageinformationen und startet die Verarbeitung des Graphen 0, wenn die Verarbeitung des Graphen 1 beendet ist.
-
Wie es oben beschrieben ist, erlaubt es die Arbitrierungsfunktion der Graphverwaltungsfunktion Y2, dass die Parallelarithmetikverarbeitungseinheit 13 dieselbe Graphverarbeitungsanfrage von den Steuerungsfunktionen A bis C sogar dann annimmt, wenn der Graph 0 bzw. der Graph 1 bereits verarbeitet wird.
-
Hier verwaltet die Graphverwaltungsfunktion Y2 die oben genannte Steuerungsfunktion, den Graph, die Graphverarbeitung und den Graphverarbeitungsauslöser unter Verwendung einer jeweiligen ID. D.h. es werden eine ID (Identifikation) zum Identifizieren der Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X, eine Graph-ID zum Identifizieren des Graphen und eine ID zum Identifizieren des Graphverarbeitungsauslösers und des Graphbeendigungsauslösers zugewiesen, so dass die IDs betreffend den Prozess von der Verarbeitungsanfrage durch die Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X bis zur Rückgabe des Verarbeitungsergebnisses durch die Parallelarithmetikverarbeitungseinheit 13 verbunden bzw. verlinkt und verwaltet werden. Als Ergebnis kann das Verarbeitungsergebnis der Parallelarithmetikverarbeitungseinheit 13 an die Kerne 12a bis 12c als der Verarbeitungsanfragequelle übertragen werden. Die ID entspricht einer Identifizierungsinformation. In diesem Fall schließt die Graphverwaltungsfunktion Y2 die Verarbeitungsanfrage des Graphen 1 von der Steuerungsfunktion C als Verwaltungsziel aus.
-
Gemäß der oben beschriebenen Ausführungsform können die folgenden Wirkungen erzielt werden.
-
Wenn die Graphanfrageinformationen von den Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X übertragen werden, reiht die Graphverwaltungseinheit Y die Anfrageinformationen in den Schlangenmechanismus Y1 ein und überträgt die Verarbeitungsanfrage an die Parallelarithmetikverarbeitungseinheit 13, wenn die Parallelarithmetikverarbeitungseinheit 13 zur Annahme der Verarbeitung des Graphen bereit ist, und die Anfrageinformationen desselben Graphen in die Schlange eingereiht sind. Als Ergebnis wird die Verarbeitungsanfrage desselben Graphen wie der Graph, der durch die Parallelarithmetikverarbeitungseinheit 13 verarbeitet wird, unter Verwendung des Schlangenmechanismus Y1 empfangen und verarbeitet.
-
Die Steuerungsfunktion und der Graph betreffend den Prozess von der Verarbeitungsanfrage durch die Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X bis zu der Rückgabe des Verarbeitungsergebnisses durch die Parallelarithmetikverarbeitungseinheit 13 und die Identifizierungsinformationen zum Identifizieren der Ausführung/Beendigung der Verarbeitung werden miteinander verbunden bzw. verlinkt und verwaltet. Als Ergebnis kann das Verarbeitungsergebnis der Parallelarithmetikverarbeitungseinheit 13 an die Steuerungsfunktion A bis C der Steuerungsfunktionseinheit X als einer Verarbeitungsanfragequelle übertragen werden.
-
Wenn eine Verarbeitungsanfrage durchgeführt wird, reichen die Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X die Anfrageinformationen des Graphen, der der Verarbeitungsanfrage entspricht, an den Schlangenmechanismus Y1 weiter. Der Schlangenmechanismus Y1 reiht die Anfrageinformationen in die entsprechende Graphanfrageschlange ein, wenn die Anfrageinformationen des Graphen von der Steuerungsfunktion A bis C der Steuerungsfunktionseinheit X eingegeben wird. Die Graphverwaltungsfunktion Y2 beschafft die Anfrageinformationen entsprechend dem Graphen, der zur Annahme durch die Parallelarithmetikverarbeitungseinheit 13 bereit ist, von der entsprechenden Graphanfrageschlange des Schlangenmechanismus Y1 und reicht diese an die Parallelarithmetikverarbeitungseinheit 13 weiter. Die Parallelarithmetikverarbeitungseinheit 13 verarbeitet den Graphen auf der Grundlage der Anfrageinformationen, die von der Graphverwaltungsfunktion Y2 weitergeleitet werden. Als Ergebnis ist es durch Bereitstellen der Graphanfrageschlange als dem Schlangenmechanismus Y1 möglich, die Verarbeitungsanfrage über die Graphanfrageschlange zu verarbeiten.
-
Wenn die Graphverwaltungseinheit Y die Parallelarithmetikverarbeitungseinheit 13 auffordert, den Graphen zu verarbeiten, überträgt die Graphverwaltungseinheit Y einen Verarbeitungsauslöser bzw. Ausführungsauslöser, der dem Graphen entspricht, an die Parallelarithmetikverarbeitungseinheit 13, und die Parallelarithmetikverarbeitungseinheit 13 verarbeitet den Graphen auf der Grundlage der Anfrageinformationen entsprechend dem empfangenen Verarbeitungsauslöser. Als Ergebnis kann der Graph durch die Parallelarithmetikverarbeitungseinheit 13 auf der Grundlage der Anfrageinformationen von der Graphverwaltungseinheit Y synchron mit dem Graphverarbeitungsauslöser verarbeitet werden.
-
Die Parallelarithmetikverarbeitungseinheit 13 überträgt einen Beendigungsauslöser entsprechend dem Graphen, wenn die Graphverarbeitung beendet ist, und die Graphverwaltungseinheit Y teilt die Verarbeitungsbeendigung der jeweiligen Steuerungsfunktion A bis C der Steuerungsfunktionseinheit X als der Übertragungsquelle mit, wenn der Beendigungsauslöser von der Parallelarithmetikverarbeitungseinheit 13 empfangen wird. Die Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X beschaffen das Verarbeitungsergebnis als Antwort auf die empfangene Verarbeitungsbeendigungsmitteilung, und die anschließende Verarbeitung wird auf der Grundlage des Verarbeitungsergebnisses durchgeführt. Als Ergebnis ist es möglich, den Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X synchron zu dem Beendigungsauslöser mitzuteilen, dass die Verarbeitung durch die Parallelarithmetikverarbeitungseinheit 13 beendet ist.
-
Wenn der Verarbeitungsauslöser übertragen wird, bestimmt die Graphverwaltungseinheit Y, dass sich der Graph, der dem Verarbeitungsauslöser entspricht, in dem Belegt-Zustand befindet, und wenn der Graphbeendigungsauslöser empfangen wird, bestimmt die Graphverwaltungseinheit Y, dass sich der Graph, der dem Graphverarbeitungsauslöser entspricht, in dem Leerlaufzustand befindet, so dass die Graphverwaltungseinheit Y den Verarbeitungszustand der Parallelarithmetikverarbeitungseinheit 13 verwaltet und die Anfrageinformationen aus der Graphanfrageschlange, die dem Graphen entspricht, dessen Zustand als der Leerlaufzustand bestimmt wird, entnimmt und beschafft. Als Ergebnis kann der Verarbeitungszustand der Parallelarithmetikverarbeitungseinheit 13 synchron zu dem Graphverarbeitungsauslöser und dem Graphbeendigungsauslöser verwaltet werden.
-
Die Graphverwaltungseinheit Y fügt eine ID (Identifikation) zu den jeweiligen Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X, dem Graphen, dem Verarbeitungsauslöser und dem Beendigungsauslöser hinzu, so dass die Graphverwaltungseinheit Y die IDs betreffend den Prozess von dem Zeitpunkt, zu dem Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X als der Verarbeitungsanfragequelle die Verarbeitung anfragen, bis zu der Zeit, zu der die Parallelarithmetikverarbeitungseinheit 13 das Verarbeitungsergebnis zurückgibt, verlinkt bzw. verbindet und verwaltet. Als Ergebnis werden der Graph zum Auffordern der Parallelarithmetikverarbeitungseinheit 13, diesen auf der Grundlage der Anfrageinformationen von den Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X zu verarbeiten, und die Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X, die die Verarbeitungsanfragequelle ist, verwaltet, und es wird den Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X als der Verarbeitungsanfragequelle die Beendigung der Verarbeitung auf der Grundlage des Beendigungsauslösers, der übertragen wird, wenn die Verarbeitung des Graphen beendet ist, mitgeteilt.
-
(Weitere Ausführungsformen)
-
Wenn die Anfrageinformationen nicht in die dem Graphen, dessen Zustand als der Leerlaufzustand bestimmt wird, entsprechende Graphanfrageschlange eingereiht sind, kann die Graphverwaltungseinheit Y die Anfrageinformationen entsprechend der Verarbeitungsanfrage bestimmen, die von den Steuerungsfunktionen A bis C der Steuerungsfunktionseinheit X empfangen wird. Außerdem kann die Graphverwaltungseinheit Y die Anfrageinformationen und den Graphverarbeitungsauslöser an die Parallelarithmetikverarbeitungseinheit 13 übertragen, und die Parallelarithmetikverarbeitungseinheit 13 kann den Graphen auf der Grundlage der Anfrageinformationen als Reaktion auf den Empfang des Graphverarbeitungsauslösers verarbeiten. In diesem Fall kann die Parallelarithmetikverarbeitungseinheit 13 die Anfrageinformationen sogar dann beschaffen, wenn die Anfrageinformationen nicht in die Graphanfrageschlange eingereiht sind.
-
Die elektronische Steuerungsvorrichtung ist nicht auf eine Verbrennungsmotor-ECU beschränkt, sondern kann für eine beliebige Vorrichtung verwendet werden, solange wie die Vorrichtung ein Steuerungsziel steuert.
-
Auch wenn die vorliegende Erfindung anhand ihrer Ausführungsformen beschrieben wurde, ist es selbstverständlich, dass die vorliegende Erfindung nicht auf diese Ausführungsformen oder die beschriebenen Strukturen beschränkt ist. Die vorliegende Erfindung beinhaltet verschiedene Modifikationen und Variationen innerhalb des Äquivalenzbereiches. Außerdem liegen verschiedene Kombinationen und Formen sowie weitere, andere Kombinationen und Formen einschließlich nur einem einzigen Element oder mehr als diese Elemente innerhalb des Bereiches der vorliegenden Erfindung.
-
In den Zeichnungen bezeichnet 1 eine Verbrennungsmotor-ECU (elektronische Steuerungseinheit), 11 bezeichnet einen Mikrocomputer, 12a bis 12c bezeichnen Kerne, 13 bezeichnet eine Parallelarithmetikverarbeitungseinheit, 25 bezeichnet eine Arithmetikeinheit, X bezeichnet eine Steuerungsfunktionseinheit, A bis C bezeichnen Steuerungsfunktionen, Y bezeichnet eine Verwaltungseinheit, Y1 bezeichnet einen Schlangenmechanismus (d.h. eine Halteeinheit), und Y2 bezeichnet eine Graphverwaltungsfunktion.
-
Die hier beschriebenen Steuerungen und Verfahren können durch einen Computer für spezielle Zwecke implementiert werden, der durch Konfigurieren eines Speichers und eines Prozessors, der programmiert ist, eine oder mehrere spezielle Funktionen auszuführen, die in Computerprogrammen ausgeführt sind, erzeugt wird. Alternativ können die Steuerungen und Verfahren, die hier beschrieben sind, durch einen Computer für spezielle Zwecke implementiert werden, der durch Konfigurieren eines Prozessors erzeugt wird, der durch ein oder mehrere spezielle Hardwarelogikschaltungen bereitgestellt wird. Alternativ können die Steuerungen und Verfahren, die hier beschrieben sind, durch einen oder mehrere Computer für spezielle Zwecke implementiert werden, die durch Konfigurieren einer Kombination aus einem Speicher und einem Prozessor, der programmiert ist, eine oder mehrere spezielle Funktionen auszuführen, und einem Prozessor, der durch eine oder mehrere Hardwarelogikschaltungen bereitgestellt wird, erzeugt werden. Die Computerprogramme können als von einem Computer auszuführende Befehle in einem dinglichem nichtflüchtigen computerlesbaren Medium gespeichert werden.
-
Man beachte, dass ein Flussdiagramm oder die Verarbeitung des Flussdiagramms der vorliegenden Anmeldung Abschnitte (auch als Schritte bezeichnet) enthält. Jeder Abschnitt kann in mehrere Unterabschnitte unterteilt werden, und es können mehrere Abschnitte auch in einen einzelnen Abschnitt kombiniert werden. Außerdem kann jeder der somit konfigurierten Abschnitte auch als Vorrichtung, Modul oder Einrichtung bezeichnet werden.
-
Während die vorliegende Erfindung mit Bezug auf ihre Ausführungsformen beschrieben wurde, ist es selbstverständlich, dass die Erfindung nicht auf die Ausführungsformen und Konstruktionen beschränkt ist. Die vorliegende Erfindung deckt verschiedene Modifikationen und äquivalente Anordnungen ab. Zusätzlich zu den verschiedenen Kombinationen und Konfigurationen sind weitere Kombinationen und Konfigurationen einschließlich mehr, weniger oder nur einem einzelnen Element innerhalb des Bereiches der vorliegenden Erfindung möglich.
-
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
-