-
Die Erfindung betrifft ein Parallelisierungsverfahren und ein Parallelisierungswerkzeug zum Erzeugen eines parallelen Programms für einen Mehrkern-Mikrocomputer aus einem Programm für einen Einkern-Mikrocomputer, und eine fahrzeugverbaute Einrichtung, die das durch das Parallelisierungsverfahren erzeugte parallele Programm implementiert.
-
Bislang gibt es, als ein Beispiel des Parallelisierungsverfahrens zum Erzeugen des parallelen Programms für den Mehrkern-Mikrocomputer aus dem Programm für den Einkern-Mikrocomputer, ein Parallelisierungskompilierungsverfahren, das in einer Patentliteratur 1 offenbart ist.
-
In dem Parallelisierungskompilierungsverfahren werden, nachdem ein sequenzielles Programm für ein eingebettetes System, das von einem Einprozessorsystem auszuführen ist, in mehrere Makroaufgaben (nachstehend als ”MTs” bezeichnet) unterteilt worden ist, die MTs mit einer Steuerungsabhängigkeit zu einer bzw. in eine MT zusammengefasst. Danach werden in dem Parallelisierungskompilierungsverfahren parallelisierbare MTs auf der Grundlage der Datenabhängigkeit extrahiert und wird eine statische Ablaufplanung durchgeführt, um ein paralleles Programm zu erzeugen.
Patentliteratur 1:
JP-2015-1807A entsprechend
US 2014 372 995 A1 und
DE 10 2014 211 047 A1
-
Das in einem in der Patentliteratur 1 offenbarten Verfahren erzeugte parallele Programm beinhaltet eine Warteschlangenverarbeitung bzw. einen Warteschlangenprozess des Wartens darauf, dass die Ausführung einer MT, die für einen Kern allokiert bzw. zugeteilt ist, abgeschlossen bzw. beendet ist , und dann Erlaubens, dass eine für einen anderen Kern allokierte MT ausgeführt wird.
-
Das Folgende beschreibt verwandte Technik, welche nicht notwendigerweise den Stand der Technik bildet. Es ist denkbar, dass in dem Mehrkern-Mikrocomputer ein Wert, der die Beendigung der Ausführung einer MT durch jeden Kern anzeigt, über einen Bus, der von den Kernen gemeinsam verwendet wird, in einer Speichereinheit gespeichert wird, und der Warteschlangenprozess durchgeführt wird, während die Werte in der Speichereinheit abgefragt werden.
-
In diesem Fall greift der Kern, der die MT ausführt, für den Zweck des Ausführens der MT auf den Bus zu. Andererseits greift der Kern, der sich in einem Wartezustand befindet, in dem der Kern die MT bereits ausgeführt hat, zum Zweck des Überprüfens bzw. Bestätigens, ob ein anderer Kern die Ausführung der MT beendet hat oder nicht, auf den Bus zu. Daher kann der Mehrkern-Mikrocomputer an einem Problem dahin gehend leiden, dass die Buszugriffe miteinander konkurrieren.
-
In der verwandten Technik weist, um eine solche Konkurrenz zu unterdrücken, ein Parallelisierungsverfahren einen ”nop”(Abkürzung für ”no operation” bzw. Nulloperation)-Befehl einem parallelen Programm zu, um den Kern in dem Wartezustand darin zu beschränken, auf den Bus zuzugreifen. Ferner wird die Anzahl von ”nop”-Befehlen empirisch oder durch systematisches Ausprobieren bzw. nach dem Prinzip von Versuch und Irrtum ermittelt. Aus diesem Grund kann in dem parallelen Programm die Anzahl von ”nop”-Befehlen größer oder kleiner sein als eine geeignete Anzahl. Daher leidet das parallele Programm an einem Problem derart, dass eine Wartezustandszeit länger wird und die Leistungsfähigkeit des Mehrkern-Mikrocomputers nicht ausreichend genutzt werden kann.
-
In Anbetracht des vorstehenden Problems liegt der Erfindung als eine Aufgabe zugrunde, ein Parallelisierungsverfahren und ein Parallelisierungswerkzeug bereitzustellen, welche in der Lage sind, ein paralleles Programm zu erzeugen, das eine Wartezeit darin beschränken kann, länger zu werden, während eine Konkurrenz von Buszugriffen reduziert wird. Darüber hinaus soll eine fahrzeugverbaute Einrichtung bereitgestellt werden, die in der Lage ist, die Wartezeit darin zu beschränken, länger zu werden, während die Konkurrenz für den Buszugriff verringert wird.
-
In einem ersten Aspekt der Erfindung wird ein Parallelisierungsverfahren bereitgestellt zum Erzeugen, aus einer Vielzahl von Prozessen in einem Einzelprogramm für einen Einkern-Mikrocomputer mit einem Kern, eines parallelen Programms, das für einen Mehrkern-Mikrocomputer mit einer Vielzahl von Kernen einschließlich eines Subjektkerns und eines anderen Kerns, welche auf einen gemeinsamen Bus zugreifen, parallelisiert ist. Das parallele Programm beinhaltet einen Synchronisationsprozess des, bei Beendigung der Ausführung eines für den Subjektkern allokierten Prozesses, Wartens auf die Beendigung der Ausführung eines Prozesses, der für einen anderen Kern allokiert ist, und dann Ausführens eines nächsten Prozesses, der für den Subjektkern allokiert ist. Das Parallelisierungsverfahren beinhaltet: eine Erfassungsprozedur des Erfassens einer Stelle in dem parallelen Programm, an der der Synchronisationsprozess durchgeführt wird; eine Berechnungsprozedur des Berechnens einer Wartezeit in dem erfassten Synchronisationsprozess, wobei die Wartezeit eine Zeit seit der Beendigung der Ausführung des für den Subjektkern allokierten Prozesses bis zu der Ausführung des für den anderen Kern allokierten Prozesses ist; und eine Hinzufügeprozedur des Hinzufügens eines Unterdrückungsprozesses zu dem parallelen Programm zum Unterdrücken des Zugriffs des Subjektkerns auf den Bus während des Wartens des Subjektkerns, wobei, in Übereinstimmung mit der berechneten Wartezeit, die Hinzufügeprozedur eine Unterdrückungszeit ermittelt, welche eine Ausführungszeit des Unterdrückungsprozesses ist, und die Hinzufügeprozedur den Unterdrückungsprozess des Verbietens, dass der Subjektkern während der Unterdrückungszeit auf den Bus zugreift, hinzufügt.
-
In Übereinstimmung mit dem Parallelisierungsverfahren kann, weil der Unterdrückungsprozess zu dem parallelen Programm hinzugefügt wird, das parallele Programm die Konkurrenz des Zugriffs auf den Bus zwischen dem Subjektkern und einem anderen Kern reduzieren, während der andere Kern den Prozess ausführt. Ferner kann, weil die Stelle des Synchronisationsprozesses aus dem parallelen Programm erfasst wird, und die Wartezeit des Subjektkerns in dem Synchronisationsprozess berechnet wird und die Unterdrückungszeit in Übereinstimmung mit der Wartezeit ermittelt bzw. bestimmt wird, das parallele Programm die Wartezeit darin beschränken, länger zu werden.
-
In einem zweiten Aspekt der Erfindung beinhaltet ein Parallelisierungswerkzeug einen Computer zum Erzeugen, aus einer Vielzahl von Prozessen in einem Einzelprogramm für einen Einkern-Mikrocomputer mit einem Kern, ein paralleles Programm, das für einen Mehrkern-Mikrocomputer mit einer Vielzahl von Kernen einschließlich eines Subjektkerns und eines anderen Kerns, welche auf einen gemeinsamen Bus zugreifen, parallelisiert ist. Das parallele Programm beinhaltet einen Synchronisationsprozess des, bei Beendigung der Ausführung eines für den Subjektkern allokierten Prozesses, Wartens auf die Beendigung der Ausführung eines Prozesses, der für einen anderen Kern allokiert ist, und Ausführens eines nächsten Prozesses, der für den Subjektkern allokiert ist. Das Parallelisierungswerkzeug beinhaltet eine Erfassungseinheit, eine Berechnungseinheit und eine Hinzufügeeinheit. Die Erfassungseinheit erfasst eine Stelle in dem parallelen Programm, an der der Synchronisationsprozess durchgeführt wird. Die Berechnungseinheit berechnet eine Wartezeit in dem erfassten Synchronisationsprozess. Die Wartezeit ist eine Zeit seit der Beendigung der Ausführung des für den Subjektkern allokierten Prozesses bis zu der Ausführung des für den anderen Kern allokierten Prozesses. Die Hinzufügeeinheit fügt einen Unterdrückungsprozess zu dem parallelen Programm hinzu zum Unterdrücken des Zugriffs des Subjektkerns auf den Bus während des Wartens des Subjektkerns. In Übereinstimmung mit der berechneten Wartezeit ermittelt die Hinzufügeeinheit eine Unterdrückungszeit, welche eine Ausführungszeit des Unterdrückungsprozesses ist. Die Hinzufügeeinheit fügt den Unterdrückungsprozess des Verbietens, dass der Subjektkern während der Unterdrückungszeit auf den Bus zugreift, hinzu.
-
In Übereinstimmung mit dem Parallelisierungswerkzeug kann das parallele Programm die Wartezeit daran hindern, länger zu werden.
-
In einem dritten Aspekt der Erfindung beinhaltet eine fahrzeugverbaute Einrichtung einen Mehrkern-Mikrocomputer und ein paralleles Programm. Der Mehrkern-Mikrocomputer hat eine Vielzahl von Kernen einschließlich eines ersten Kerns und eines zweiten Kerns, welche auf einen gemeinsamen Bus zugreifen. Das parallele Programm wird für den Mehrkern-Mikrocomputer aus einer Vielzahl von Prozessen in einem Einzelprogramm für einen Einkern-Mikrocomputer mit einem Kern parallelisiert. Die Vielzahl von Prozessen ist für verschiedene Kerne des Mehrkern-Mikrocomputers allokiert. Das parallele Programm beinhaltet einen Synchronisationsprozess des, bei Beendigung der Ausführung eines für den Subjektkern allokierten Prozesses, Wartens auf die Beendigung der Ausführung eines Prozesses, der für einen anderen Kern allokiert ist, und Ausführens eines nächsten Prozesses, der für den Subjektkern allokiert ist. Eine Stelle in dem parallelen Programm, an der der Synchronisationsprozess durchgeführt wird, wird erfasst. Eine Wartezeit in dem erfassten Synchronisationsprozess wird berechnet. Die Wartezeit ist eine Zeit seit der Beendigung der Ausführung des für den Subjektkern allokierten Prozesses bis zu der Ausführung des für den anderen Kern allokierten Prozesses. Ein Unterdrückungsprozess zum Unterdrücken des Zugriffs des Subjektkerns auf den Bus während des Wartens des Subjektkerns ist zu dem parallelen Programm hinzugefügt.
-
Eine Unterdrückungszeit, welche eine Ausführungszeit des Unterdrückungsprozesses ist, wird in Übereinstimmung mit der berechneten Wartezeit ermittelt. Die Vielzahl von Kernen führen die Prozesse, die für die Kerne allokiert sind, den Synchronisationsprozess und den Unterdrückungsprozess aus.
-
In Übereinstimmung mit der vorstehenden Konfiguration kann, weil der Unterdrückungsprozess zu dem parallelen Programm hinzugefügt ist, die Zugriffskonkurrenz auf den Bus zwischen dem Objektkern und einem bzw. dem anderen Kern, während der andere Kern den Prozess ausführt, verringert werden. Ferner wird die Stelle des Synchronisationsprozesses aus dem parallelen Programm erfasst, und wird die Wartezeit des Subjektkerns in dem Synchronisationsprozess berechnet. Weil die Unterdrückungszeit in Übereinstimmung mit der Wartezeit ermittelt wird, kann die Wartezeit darin beschränkt werden, länger zu werden. Daher können, weil die Kerne die für die Kerne allokierten Prozesse, den Synchronisationsprozess und den Unterdrückungsprozess ausführen, die Konkurrenz für den Buszugriff reduziert werden, und kann die Wartezeit darin beschränkt werden, länger zu werden.
-
Die vorstehenden sowie weitere Ziele, Merkmale und Vorteile der Erfindung sind aus der folgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen besser ersichtlich. Es zeigen:
-
1 ein Blockdiagramm, das eine schematische Konfiguration eines Computers gemäß einem ersten Ausführungsbeispiel darstellt;
-
2 ein Blockdiagramm, das eine schematische Konfiguration einer fahrzeugverbauten Einrichtung gemäß dem ersten Ausführungsbeispiel darstellt;
-
3 ein Blockdiagramm, das eine Funktion des Computers gemäß dem Ausführungsbeispiel darstellt;
-
4 ein Blockdiagramm, das einen Verarbeitungsbetriebsablauf des Computers gemäß dem Ausführungsbeispiel darstellt;
-
5 ein Bilddiagramm, das eine schematische Konfiguration eines Parallelisierungsprogramms gemäß dem Ausführungsbeispiel darstellt; und
-
6 ein Diagramm, das einen Verarbeitungsbetriebsablauf einer fahrzeugverbauten Einrichtung gemäß Vergleichsbeispielen darstellt.
-
Nachstehend werden Ausführungsbeispiele unter Bezugnahme auf die Zeichnungen beschrieben. Das vorliegende Ausführungsbeispiel ist auf ein Beispiel des Erzeugens eines parallelen Programms 21a1 gerichtet, das für einen Mehrkern-Mikrocomputer 21 mit einem ersten Kern 21c und einem zweiten Kern 21d aus mehreren Prozessen MT1 bis MT7 in einem Einzelprogramm für einen Einkern-Mikrocomputer mit einem Kern parallelisiert wurde. Die Prozesse können auch als ”Verarbeitungsblöcke” oder ”Makroaufgaben” bezeichnet werden. Der Mehrkern-Mikrocomputer kann auch als ein ”Mehrkernprozessor” bezeichnet werden.
-
Ein Hintergrund zum Erzeugen des parallelen Programms 21a1 ist, dass der Mehrkernprozessor 21 aus Gesichtspunkten eines Anstiegs des Wärmewerts oder eines Anstiegs des Leistungsverbrauchs des Mikrocomputers, oder eines Begrenzungsproblems einer Taktfrequenz, zu einem generellen Trend wird. Der Mehrkernprozessor 21 muss sogar auf das Gebiet der fahrzeugverbauten Einrichtungen angewandt werden. Das parallele Programm 21a1 muss den Prozess mit hoher Zuverlässigkeit und hoher Geschwindigkeit ausführbar machen, während eine Entwicklungsdauer und Entwicklungskosten von Software gedrückt werden müssen.
-
Bei dem Erzeugen des parallelen Programms 21a1 wird eine Abhängigkeit der mehreren Verarbeitungen bzw. Prozesse MT1 bis MT7 in dem Einzelprogramm analysiert, und werden die mehreren Prozesse MT1 bis MT7 für die verschiedenen Kerne 21c und 21d des Mehrkernprozessors 21 allokiert bzw. zugeteilt. In dieser Hinsicht sei auf die Patentliteratur 1 verwiesen.
-
Das vorliegende Ausführungsbeispiel beinhaltet zum Beispiel einen ersten Prozess MT1 bis einen siebten Prozess MT7 in dem Einzelprogramm. Die mehreren Prozesse MT1 bis MT7 beinhalten einen Prozess mit einer Abhängigkeit voneinander. In dem vorliegenden Ausführungsbeispiel wird angenommen, dass der erste Prozess MT1 und der vierte Prozess MT4 die Abhängigkeit aufweisen.
-
Die Abhängigkeit ist zum Beispiel eine Beziehung, in welcher ein Prozess auf Daten Bezug nimmt, die von einem anderen Prozess aktualisiert werden, der früher als der eine Prozess ausgeführt worden ist. Spezieller beinhalten die mehreren Prozesse einen vorangehenden Prozess bzw. Vorprozess, der in der Ausführungsreihenfolge in dem Einzelprogramm früher auszuführen ist, und einen folgenden Prozess bzw. Folgeprozess, der auszuführen ist, nachdem der vorangehende Prozess ausgeführt worden ist. Der folgende Prozess ist ein Prozess, der durch den vorangehenden Prozess beeinflusst wird und der Daten verwendet, deren Inhalte wahrscheinlich in dem vorangehenden Prozess zu aktualisieren sind.
-
Nachstehend wird eine Konfiguration des Computers 10 unter Bezugnahme auf 1 beschrieben. Der Computer 10 entspricht einem Parallelisierungswerkzeug, das ein Parallelisierungsverfahren ausführt, und erzeugt das parallele Programm 21a1. Der Computer 10 beinhaltet eine Anzeige 11, eine HDD bzw. ein Festplattenlaufwerk 12, eine CPU bzw. zentrale Verarbeitungseinheit 13, ein ROM bzw. einen Festspeicher 14, ein RAM bzw. einen Direktzugriffsspeicher 15, eine Eingabeeinheit 16 und eine Leseeinheit 17. Der Computer 10 kann in einem Speichermedium 18 gespeicherte Speicherinhalte lesen. Ein automatischer Parallelisierungskompilierer 1 ist in dem Speichermedium 18 gespeichert. Die HDD ist eine Abkürzung für ein Festplattenlaufwerk. Die CPU ist eine Abkürzung für eine zentrale Verarbeitungseinheit. Das ROM ist eine Abkürzung für einen Nurlesespeicher bzw. Festspeicher. Das RAM ist eine Abkürzung für einen Speicher mit wahlfreiem Zugriff bzw. Direktzugriffsspeicher. Für die Konfigurationen des Computers 10 und das Speichermedium 18 sei auf einen Personal Computer 100 und ein Speichermedium 180, die in der Patentliteratur 1 offenbart sind, verwiesen.
-
Der automatische Parallelisierungskompilierer 1 beinhaltet Prozeduren zum Erzeugen des parallelen Programms 21a1. Daher entspricht der automatische Parallelisierungskompilierer 1 einem Parallelisierungsverfahren. Spezieller ist der automatische Parallelisierungskompilierer 1 ein das Parallelisierungsverfahren beinhaltendes Programm. Der automatische Parallelisierungskompilierer 1 beinhaltet eine Erfassungsprozedur, eine Berechnungsprozedur und eine Hinzufügeprozedur zusätzlich zu den in der Patenliteratur 1 offenbarten Prozeduren. Die Erfassungsprozedur, die Berechnungsprozedur und die Hinzufügeprozedur werden später beschrieben.
-
Als Nächstes wird eine Konfiguration der fahrzeugverbauten Einrichtung 20 beschrieben. Wie in 2 dargestellt, beinhaltet die fahrzeugverbaute Einrichtung 20 den Mehrkernprozessor 21, eine Kommunikationseinheit 22, eine Sensoreinheit 23 und einen Eingabe/Ausgabe-Port bzw. -Anschluss 24. Der Mehrkernprozessor 21 beinhaltet ein ROM 21a, ein RAM 21b, den ersten Kern 21c, den zweiten Kern 21d und einen Bus 21e. Die fahrzeugverbaute Einrichtung 20 kann auf eine Motorsteuereinrichtung oder eine Hybridsteuereinrichtung bzw. hybride Steuereinrichtung, welche in einem Automobil verbaut ist, angewandt sein. Wenn die fahrzeugverbaute Einrichtung 20 auf zum Beispiel die Motorsteuereinrichtung angewandt ist, kann das parallele Programm 21a1 als ein Automobilsteuerungsprogramm wie beispielsweise eine Motorsteuerung betrachtet werden. Das parallele Programm 21a1 ist jedoch nicht auf das Vorstehende beschränkt. Die Kerne können auch als ”Prozessorelemente” bezeichnet werden.
-
Was das RAM 21b, die Kommunikationseinheit 22, die Sensoreinheit 23 und den Eingabe/Ausgabe-Port 24 anbelangt, wird auf ein RAM 420, eine Kommunikationseinheit 430, eine Sensoreinheit 450 und einen Eingabe/Ausgabe-Port 460 verwiesen, die in der Patentliteratur 1 offenbart sind.
-
Das mithilfe des automatischen Parallelisierungskompilierers 1 erzeugte parallele Programm 21a1 ist in dem ROM 21a abgelegt. Der erste Kern 21c und der zweite Kern 21d führen das parallele Programm 21a1 aus, um eine Motorsteuerung durchzuführen. Genauer führen der erste Kern 21c und der zweite Kern 21d das parallele Programm 21a1 aus, um eine Motorsteuerung durchzuführen, während sie eine temporäre Speicherfunktion des RAMs 21b mit einem Zugriff auf den Bus 21e verwenden. Daher wird der Bus 21e von dem ersten Kern 21c und dem zweiten Kern 21d gemeinsam genutzt bzw. geteilt. Ebenso wird das RAM 21b von dem ersten Kern 21c und dem zweiten Kern 21d gemeinsam genutzt bzw. geteilt. Der erste Kern 21c und der zweite Kern 21d arbeiten in Synchronisation mit einem Taktsignal, das von einer nicht gezeigten Oszillationsschaltung ausgegeben wird.
-
In dem parallelen Programm 21a1 können zwei Prozess- bzw. Verarbeitungs-MTs mit einer Abhängigkeit voneinander in den verschiedenen Kernen 21c und 21d angeordnet sein. Daher beinhaltet dann, wenn die zwei Verarbeitungs-MTs mit einer Abhängigkeit voneinander in den verschiedenen Kernen 21c und 21d angeordnet sind, das parallele Programm 21a1 einen Synchronisationsprozess zum Ausführen der später in der Verarbeitungsreihenfolge liegenden Verarbeitungs-MT nach dem Warten auf die Beendigung der Ausführung der für einen anderen Kern allokierten, früher in der Verarbeitungsreihenfolge liegenden Verarbeitungs-MT. Spezieller warten in dem Synchronisationsprozess bei Beendigung der für einen Subjektkern allokierten Verarbeitungs-MT der Subjektkern auf die Beendigung der Ausführung der Verarbeitungs-MT, die für den anderen Kern allokiert ist, und führt dann eine nächste Verarbeitungs-MT aus, die für den Subjektkern allokiert ist. In diesem Beispiel hat die Verarbeitungs-MT, die für den anderen Kern allokiert ist, eine Abhängigkeit von der nächsten Verarbeitungs-MT, die für den Subjektkern allokiert ist, und liegt in der Ausführungsreihenfolge früher als die nächste Verarbeitungs-MT, die für den Subjektkern allokiert ist.
-
Aus diesem Grund greift, um den Synchronisationsprozess durchzuführen, jeder des ersten Kerns 21c und des zweiten Kerns 21d bei Beendigung der Ausführung der Verarbeitungs-MT, die für ihn allokiert ist, auf den Bus 21e zu und speichert Information (nachstehend als ”Beendigungsinformation” bezeichnet), die ein Warten auf Synchronisation anzeigt, in das RAM 21b. Der Subjektkern, der darauf wartet, dass ein anderer Kern die Ausführung der Verarbeitungs-MT mit der Abhängigkeit beendet, greift periodisch auf den Bus 21e zu, ohne die Verarbeitungs-MT auszuführen, und überprüft bzw. bestätigt, ob die Beendigungsinformation in dem RAM 21b gespeichert ist oder nicht. Spezieller greift der Subjektkern, der darauf wartet, dass ein anderer Kern die Ausführung der Verarbeitungs-MT mit der Abhängigkeit beendet, über den Bus 21e auf das RAM 21b zu, und überprüft bzw. bestätigt, ob die Beendigungsinformation gespeichert worden ist oder nicht. Wie vorstehend beschrieben wurde, führen der erste Kern 21c und der zweite Kern 21d die Verarbeitungs-MT aus, während sie sich in einer Warteschlange befinden, in anderen Worten, während sie synchronisieren. Daher kann der Synchronisationsprozess auch als eine ”Warteschlangenverarbeitung” bzw. ein ”Warteschlangenprozess” bezeichnet werden.
-
Das parallele Programm 21a1 beinhaltet einen bekannten ”nop”-Befehl. Daher geraten dann, wenn der erste Kern 21c und der zweite Kern 21d den ”nop”-Befehl ausführen, der erste Kern 21c und der zweite Kern 21d in einen Nichtbetriebszustand, in dem sie nichts tun, und greifen der erste Kern 21c und der zweite Kern 21d nicht auf den Bus 21e zu. Daher entspricht der ”nop”-Befehl einem Unterdrückungsprozess zum Unterdrücken eines Zugriffs auf den Bus 21e durch den Subjektkern, während der Subjektkern wartet. Der ”nop”-Befehl entspricht auch einem ”Verbietungsbefehl”.
-
Das parallele Programm 21a1 beinhaltet ein Programm, das von dem ersten Kern 21c auszuführen ist, und ein Programm, das von dem zweiten Kern 21d auszuführen ist. Der Zugriff auf den Bus 21e kann als ein ”RAM-Zugriff” bezeichnet werden.
-
Nachfolgend wird der Verarbeitungsbetriebsablauf für den Computer 10 zum Ausführen des automatischen Parallelisierungskompilierer 1 unter Bezugnahme auf die 3 und 4 beschrieben. Der Computer 10 führt den automatischen Parallelisierungskompilierer 1 aus, um das parallele Programm 21a1 zu generieren.
-
3 ist eine Zeichnung zum Darstellen der Verarbeitung des Computers 10 durch funktionelle Blöcke. Der Computer 10 beinhaltet eine Abhängigkeitsanalyseeinheit 10a, eine Verarbeitungszeitanalyseeinheit 10b, eine Kernallokierungseinheit 10c, eine Planungseinheit 10d, eine Berechnungseinheit 10e und eine Codeerzeugungseinheit 10f.
-
Die Abhängigkeitsanalyseeinheit 10a analysiert die Abhängigkeit des Einzelprogramms und extrahiert parallelisierbare Verarbeitungs-MTs. Die Verarbeitungszeitanalyseeinheit 10b analysiert Verarbeitungszeiten der jeweiligen Prozesse MT1 bis MT7, das heißt, einer Zeit, die für die Ausführung jeder Verarbeitung von MT1 bis MT7 erforderlich ist. Die Kernallokierungseinheit 10c allokiert (spezieller, zuteilt) die Prozesse bzw. Verarbeitungs-MTs MT1 bis MT7 für die Kerne 21c und 21d. Die Planungseinheit 10d plant die jeweiligen Verarbeitungs-MTs MT1 bis MT7 ein und ordnet dadurch die jeweiligen Verarbeitungs-MTs MT1 bis MT7 neu an. Bis zu dieser Phase sei auf die Patentliteratur 1 verwiesen. In diesem Beispiel werden zu dieser Zeit die jeweiligen Verarbeitungs-MTs MT1 bis MT7 für die Kerne 21c und 21d allokiert, wie in 5 dargestellt. In dieser Weise allokiert der Computer 10 die mehreren Verarbeitungs-MTs MT1 bis MT7 für den ersten Kern 21c und den zweiten Kern 21d auf der Grundlage der Abhängigkeit und den Verarbeitungszeiten in derselben Weise wie derjenigen, die in der Patentliteratur 1 offenbart ist. Die jeweiligen Verarbeitungs-MTs MT1 bis MT7 zu dieser Zeit können als das parallele Programm 21a1 verwendet werden. In den jeweiligen Verarbeitungs-MTs MT1 bis MT7 ist jedoch die Wartezeit wahrscheinlich lang, wie vorstehend beschrieben wurde.
-
In Anbetracht dessen beinhaltet der Computer 10 die Berechnungseinheit 10e und die Codeerzeugungseinheit 10f. Die Berechnungseinheit 10e und die Codeerzeugungseinheit 10f führen einen Prozess aus, der in einem Ablaufdiagramm von 4 dargestellt ist. Die mehreren Verarbeitungs-MTs MT1 bis MT7, die für den ersten Kern 21c und den zweiten Kern 21d zu dieser Zeit allokiert sind, werden als ein ”Präprogramm” bzw. ”Vorprogramm” bezeichnet. Die Verarbeitungs-MTs, die von dem ersten Kern 21c und dem zweiten Kern 21d als erste auszuführen sind, werden miteinander synchronisiert und zu einer Startzeit t0 begonnen. In den jeweiligen Verarbeitungs-MTs MT1 bis MT7 sind Startzeiten und Endezeiten als vorhergesagte Werte bekannt. Die Startzeiten und die Endezeiten werden durch Zeiten relativ zu der Startzeit t0 repräsentiert.
-
Zunächst wird in Schritt S10 ermittelt, ob ein Warteschlangenprozess, in welchen kein ”nop”-Befehl eingefügt ist, vorhanden ist oder nicht. Es wird angemerkt, dass die Planungseinheit 10d des Computers 10 Schritt S10 durchführt, bevor die Berechnungseinheit 10e und die Codeerzeugungseinheit 10f die bzw. ihre Verarbeitung durchführen.
-
Aus dem Vorprogramm erfasst der Computer 10 eine Stelle, in bzw. an welcher der Warteschlangenprozess durchgeführt wird (Erfassungseinheit). Der Computer 10 ermittelt, ob es den Warteschlangenprozess gibt, in welchen kein ”nop”-Befehl eingefügt ist, oder nicht. Falls der Computer 10 ermittelt, dass es den Warteschlangenprozess gibt, in welchen kein ”nop”-Befehl eingefügt ist, schreitet der Computer 10 zu Schritt S11 fort, und falls der Computer 10 ermittelt, dass der Warteschlangenprozess, in welchen kein ”nop”-Befehl eingefügt ist, fehlt, beendet der Computer 10 das Ablaufdiagramm von 4. Spezieller ermittelt der Computer 10 für jeden der Warteschlangenprozesse, die aus dem Vorprozess extrahiert wurden, ob der ”nop”-Befehl eingefügt ist oder nicht.
-
In einem Beispiel von 5 erfasst der Computer 10 einen ersten Warteschlangenprozess W1 und einen zweiten Warteschlangenprozess W2. Der Computer 10 ermittelt, ob es den Warteschlangenprozess gibt, in welchen kein ”nop”-Befehl eingefügt ist, oder nicht, aus dem ersten Warteschlangenprozess W1 und dem zweiten Warteschlangenprozess W2.
-
Wie vorstehend beschrieben wurde, kann das Vorprogramm als das parallele Programm 21a1 verwendet werden. Daher wird in Schritt S10 die Stelle, in bzw. an welcher der Warteschlangenprozess durchgeführt wird, aus dem parallelen Programm 21a1 erfasst, und wird ermittelt, ob es den Warteschlangenprozess gibt, in welchen kein ”nop”-Befehl eingefügt ist, oder nicht. Der Computer 10 führt den automatischen Parallelisierungskompilierer 1 aus, um Schritt S10 auszuführen. Daher entspricht Schritt S10 einer Erfassungsprozedur.
-
In Schritt S11 beschafft die Berechnungseinheit 10e eine Endezeit tb des Prozesses genau vor der Warteschlangenbildung. In Schritt S12 beschafft die Berechnungseinheit 10e eine Startzeit ta des Prozesses genau nach der Warteschlangenbildung. Dies ist so, weil das Berechnen einer Wartezeit seit die Ausführung des Prozesses, der für den Subjektkern allokiert ist, beendet ist, bis zu der Ausführung des Prozesses, der für den anderen Kern allokiert ist, in dem erfassten Warteschlangenprozess abgeschlossen ist. Die Berechnungseinheit 10e beschafft die Endezeit tb der Verarbeitungs-MT, die genau vor dem Warteschlangenprozess, in welchen kein ”nop”-Befehl eingefügt ist, auszuführen ist, und die Startzeit ta der Verarbeitungs-MT, die genau nach diesem Warteschlangenprozess auszuführen ist. Die Berechnungseinheit 10e subtrahiert die Startzeit ta von der Endezeit tb, um die Wartezeit zu berechnen.
-
Zum Beispiel dann, wenn der erste Warteschlangenprozess W1 angesprochen wird, beschafft die Berechnungseinheit 10e eine Zeit te2 als die Endezeit tb und eine Zeit ts4 als die Startzeit ta, und führt eine Berechnung von (Zeit te2 – Zeit ts4) aus, um die Wartezeit zu berechnen. Darüber hinaus beschafft dann, wenn der zweite Warteschlangenprozess W2 angesprochen wird, die Berechnungseinheit 10e eine Zeit te4 als die Endezeit tb und eine Zeit ts7 als die Startzeit ta, und führt eine Berechnung von (Zeit te4 – Zeit ts7) aus, um die Wartezeit zu berechnen.
-
Der Computer 10 führt den automatischen Parallelisierungskompilierer 1 aus, um die Schritte S11 und S12 auszuführen. Daher entsprechen die Schritte S11 und S12 einer Berechnungsprozedur.
-
In Schritt S13 wird die Anzahl von ”nop”, welche durch ((tb – ta) × Verhältnis) berechnet wird, in den Warteschlangenprozess hinzugefügt. Die Codeerzeugungseinheit 10f beschafft Verhältnisinformation 2, die in dem ROM 14 gespeichert ist. Das in Schritt S13 verwendete Verhältnis ist in der Verhältnisinformation 2 gespeichert. Genauer ist eine Konstante oder eine Tabelle (lineare Interpolation) zum Ermitteln des Verhältnisses aus einer Beziehung zwischen der Wartezeit und dem ”nop”-Befehl in der Verhältnisinformation 2 enthalten. Die Konstante und die Tabelle dienen dazu, die Anzahl von ”nop”-Befehlen entsprechend zu der Wartezeit zu ermitteln, um zu verhindern, dass die Wartezeit länger als notwendig wird.
-
Der Subjektkern, der darauf wartet, dass ein anderer Kern die Ausführung der Verarbeitungs-MT beendet, greift nicht auf den Bus 21e zu, während er den ”nop”-Befehl ausführt. Der Zugriff auf den Bus 21e durch den Subjektkern wird durch die Subjektkernausführungszeit des ”nop”-Befehls unterdrückt. Daher entspricht eine Zeit, während welcher der Subjektkern die ”nop”-Befehle ausführt, der Unterdrückungszeit, während welcher der Zugriff auf den Bus 21e durch den Subjektkern, der auf die Beendigung der Ausführung der Verarbeitungs-MT eines anderen Kerns wartet, unterdrückt wird. Spezieller entspricht die Anzahl von ”nop”-Befehlen einer Unterdrückungszeit.
-
Wie vorstehend beschrieben wurde, wird der Unterdrückungsprozess zum Unterdrücken des Zugriffs des Subjektkerns auf den Bus 21e während des Wartens des Subjektkerns in den Warteschlangenprozess des parallelen Programms 21a1 durch die Codeerzeugungseinheit 10f eingefügt bzw. hinzugefügt. Die Codeerzeugungseinheit 10f ermittelt die Anzahl von ”nop”-Befehlen in Übereinstimmung mit der berechneten Wartezeit und fügt die ”nop”-Befehle zum Verbieten, dass der Subjektkern während der Unterdrückungszeit auf den Bus 21e zugreift, hinzu. Genauer fügt die Codeerzeugungseinheit 10f die ermittelte Anzahl von ”nop”-Befehlen in den Warteschlangenprozess in dem Präprogramm ein. Zum Beispiel dann, wenn die Codeerzeugungseinheit 10f die ermittelte Anzahl von ”nop”-Befehlen hinzufügt, fügt die Codeerzeugungseinheit 10f die ”nop”-Befehle so hinzu, dass die ”nop”-Befehle in gleichen Zeitintervallen ausgeführt werden. Es kann gesagt werden, dass die Codeerzeugungseinheit 10f die Anzahl von ”nop”-Befehlen, die zu dem parallelen Programm 21a1 hinzuzufügen sind, in Übereinstimmung mit der berechneten Wartezeit justiert bzw. einstellt.
-
Daher entspricht die Codeerzeugungseinheit 10f einer Hinzufügeeinheit. Der Computer 10 führt den automatischen Parallelisierungskompilierer 1 aus, um Schritt S13 auszuführen. Aus diesem Grund entspricht Schritt S13 einer Hinzufügeprozedur.
-
Wie vorstehend beschrieben wurde, erzeugt, wie in 5 dargestellt, der Computer 10 das parallele Programm 21a1. Die ”nop”-Befehle der Anzahl entsprechend einer Länge der Wartezeit (te2–ts4) werden zu dem ersten Warteschlangenprozess W1 hinzugefügt. Ebenso werden die ”nop”-Befehle der Anzahl entsprechend einer Länge der Wartezeit (te4–ts7) zu dem zweiten Warteschlangenprozess W2 hinzugefügt. Der erste Warteschlangenprozess W1 und der zweite Warteschlangenprozess W2 unterscheiden sich in der Länge der Wartezeit voneinander. Daher unterscheidet sich die ”nop”-Anzahl in dem ersten Warteschlangenprozess W1 von der ”nop”-Anzahl in dem zweiten Warteschlangenprozess W2.
-
Darüber hinaus kann gesagt werden, dass der Computer 10 eine Quelle bzw. einen Quellcode des parallelen Programms 21a1 generiert. Die Quelle des parallelen Programms 21a1 wird durch Kompilieren und Einschreiben in das ROM 21a der fahrzeugverbauten Einrichtung 20 gespeichert.
-
Die erste Verarbeitungs-MT1 hat eine Startzeit ts1 und eine Endezeit te1. Die zweite Verarbeitungszeit MT2 hat eine Startzeit ts2 und eine Endezeit te1. Die Startzeit ts1 und die Startzeit ts2 sind dieselbe Zeit und gleich der Verarbeitungsstartzeit t0. Eine Startzeit ts3 der dritten Verarbeitungs-MT MT3 ist gleich der Endezeit te1 und der Startzeit ts4. Wie vorstehend beschrieben wurde, wird der Ausführungsbeginn der dritten Verarbeitungs-MT MT3 mit dem Ausführungsbeginn der vierten Verarbeitungs-MT MT4 synchronisiert. Weil die fünfte Verarbeitungs-MT MT5 bei der Beendigung der Ausführung der dritten Verarbeitungs-MT MT3 ausgeführt wird, ist die Endezeit te3 der dritten Verarbeitungs-MT MT3 gleich einer Startzeit ts5 der fünften Verarbeitungs-MT MT5.
-
Ebenso ist eine Startzeit ts6 der sechsten Verarbeitungs-MT MT6 gleich einer Endezeit te5 der fünften Verarbeitungs-MT MT5 und einer Startzeit ts7 der siebten Verarbeitungs-MT MT7. Wie vorstehend beschrieben wurde, wird der Ausführungsbeginn der sechsten Verarbeitungs-MT MT6 mit dem Ausführungsbeginn der siebten Verarbeitungs-MT MT7 synchronisiert.
-
Ein Symbol te4 ist eine Endezeit der vierten Verarbeitungs-MT MT4. Ein Symbol te6 ist eine Endezeit der sechsten Verarbeitungs-MT MT6. Ein Symbol te7 ist eine Endezeit der siebten Verarbeitungs-MT MT7.
-
Nun werden die Vorteile des Computers 10 unter Bezugnahme auf Vergleichsbeispiele von 6 beschrieben. In den Vergleichsbeispielen sind, wie in einem oberen Teil dargestellt, die erste Verarbeitungs-MT MT1 und die dritte Verarbeitungs-MT MT3 mit der Abhängigkeit voneinander für den ersten Kern allokiert, und ist die zweite Verarbeitungs-MT MT2 mit der Abhängigkeit von dem dritten Prozess für den zweiten Kern allokiert. Die Mitte von 6 stellt ein erstes Beispiel der Vergleichsbeispiele dar, in welchen die Anzahl von ”nop”-Befehlen während des Warteschlangenprozesses relativ klein ist, wie in der Mitte von 6 dargestellt. Der untere Teil von 6 stellt ein zweites Beispiel der Vergleichsbeispiele dar, in welchen die Anzahl von ”nop”-Befehlen während des Warteschlangenprozesses relativ groß ist. Ein Mehrkernprozessor in dem ersten Vergleichsbeispiel führt die erste Verarbeitungs-MT MT1 bis dritte Verarbeitungs-MT MT3 aus, wie in der mittleren Phase von 6 dargestellt. Ein Mehrkernprozessor in dem zweiten Vergleichsbeispiel führt die erste Verarbeitungs-MT MT1 bis dritte Verarbeitungs-MT MT3 wie in einer unteren Phase von 6 dargestellt aus.
-
In dem Mehrkernprozessor des ersten Vergleichsbeispiels ist, weil die Anzahl von ”nop”-Befehlen klein ist, wahrscheinlich, dass ein RAM-Zugriff für den ersten Kern zum Ausführen der ersten Verarbeitungs-MT MT1 gegen einen RAM-Zugriff für den zweiten Kern zum Überprüfen der Beendigungsinformation konkurriert. Daher ist in dem Mehrkernprozessor des ersten Vergleichsbeispiels 1, verglichen mit dem Fall, in welchem die Anzahl von ”nop”-Befehlen groß ist, eine Konkurrenzhäufigkeit erhöht, und ist wahrscheinlich, dass die Wartezeit länger wird.
-
Andererseits ist in dem Mehrkernprozessor des zweiten Vergleichsbeispiels, weil die Anzahl von ”nop”-Befehlen groß ist, unwahrscheinlich, dass der RAM-Zugriff für den ersten Kern zum Ausführen der ersten Verarbeitungs-MT MT1 gegen den RAM-Zugriff für den zweiten Kern zum Überprüfen der Beendigungsinformation konkurriert. In dem Mehrkernprozessor des zweiten Vergleichsbeispiels ist jedoch, weil die Anzahl von ”nop”-Befehlen groß ist, wahrscheinlich, dass die Wartezeit länger wird. In dem Mehrkernprozessor des zweiten Vergleichsbeispiels ist es wahrscheinlich, dass sich der Ausführungsbeginn der dritten Verarbeitungs-MT MT3, welche ein nächster Prozess der ersten Verarbeitungs-MT MT1 ist, verzögert.
-
Weil die ”nop”-Befehle zu dem parallelen Programm 21a1 wie in den Vergleichsbeispielen hinzugefügt werden, kann der Computer 10 das parallele Programm 21a1 bereitstellen, das die Konkurrenz des Zugriffs auf den Bus 21e zwischen dem Subjektkern und einem anderen Kern während der Ausführung der Verarbeitungs-MT durch den anderen Kern reduzieren kann. Der Computer 10 kann das parallele Programm 21a1 bereitstellen, das zum Beispiel den zweiten Kern 21d, der den ersten Warteschlangenprozess W1 durchführt, darin beschränken kann, während der Ausführung der ersten Verarbeitungs-MT MT1 durch den ersten Kern 21c auf den Bus zuzugreifen. Daher kann der Computer 10 das parallele Programm 21a1 bereitstellen, das die Konkurrenz des Zugriffs auf den Bus 21e zwischen dem ersten Kern 21c und dem zweiten Kern 21d reduzieren kann.
-
Ferner erfasst der Computer 10 die Stelle des Warteschlangenprozesses aus dem parallelen Programm 21a1 und berechnet die Wartezeit in dem Warteschlangenprozess. Weil der Computer 10 die Anzahl von ”nop”-Befehlen in Übereinstimmung mit der Wartezeit ermittelt, kann der Computer 10 das parallele Programm 21a1 bereitstellen, das die Wartezeit darin beschränken kann, länger zu werden. Ebenso kann der automatische Parallelisierungskompilierer 1 das parallele Programm 21a1 bereitstellen, das die Wartezeit darin beschränken kann, länger zu werden.
-
Wie vorstehend beschrieben wurde, wird in dem Parallelisieren der Prozesse MT1 bis MT7 Information über die Verarbeitungszeiten der jeweiligen Prozesse MT1 bis MT7 analysiert und geplant. Aus diesem Grund ist bekannt, welche Verarbeitungs-MT während des Ausführens des Warteschlangenprozesses von einem anderen Kern ausgeführt wird. Spezieller ist dann, wenn ein Kern darauf wartet, dass ein anderer Kern die Ausführung der Verarbeitungs-MT beendet, die von dem anderen Kern ausgeführte Verarbeitungs-MT bekannt. Daher kann das Parallelisierungsverfahren berechnen, wie lange der Subjektkern wartet. Durch Verwenden eines Ergebnisses dieser Berechnung stellt der Computer 10 automatisch die Anzahl von ”nop”-Befehlen ein. Daher kann der Computer 10 leicht das vorstehend beschriebene parallele Programm 21a1 bereitstellen. Der automatische Parallelisierungskompilierer 1 kann dieselben Vorteile wie diejenigen des Computers 10 erhalten.
-
Der Mehrkernprozessor 21 führt das wie vorstehend beschrieben erzeugte parallele Programm 21a1 aus. Spezieller führt jeder des ersten Kerns 21c und des zweiten Kerns 21d die für ihn allokierte Verarbeitungs-MT, den Warteschlangenprozess und den Unterdrückungsprozess aus. Aus diesem Grund kann jeder der Kerne 21c und 21d die Konkurrenz des Zugriffs auf den Bus 21e reduzieren, und die Wartezeit darin beschränken, länger zu werden.
-
Obwohl das Ausführungsbeispiel vorstehend dargestellt worden ist, ist das Ausführungsbeispiel illustrativ und nicht beschränkend. Innerhalb des Rahmens und Schutzumfangs der Erfindung gibt es verschiedenartige Modifikationen, von welchen Beispiele nachstehend beschrieben werden.
-
Der automatische Parallelisierungskompilierer 1 kann einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, bis eine voreingestellte Bedingung erfüllt ist, seit die Ausführung der für den Subjektkern allokierten Verarbeitungs-MT abgeschlossen ist (Hinzufügeprozedur). Der automatische Parallelisierungskompilierer 1 kann einen Unterdrückungsprozess des Verbietens, dass der Subjektfahrzeug für nur eine Unterdrückungszeit auf den Bus 21e zugreift, durch Verbieten, dass der Subjektkern auf den Bus 21e zugreift, bis die voreingestellte Bedingung erfüllt ist, hinzufügen.
-
Ebenso kann der Computer 10 einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, bis eine vorbestimmte Bedingung erfüllt ist, seit die Ausführung der Verarbeitungs-MT, die für den Subjektkern allokiert ist, abgeschlossen worden ist, hinzufügen (Hinzufügeeinheit). Der Computer 10 kann einen Unterdrückungsprozess des Verbietens des Zugriffs auf den Bus 21e durch den Subjektkern nur für die Unterdrückungszeit durch Verbieten, dass der Subjektkern auf den Bus 21e zugreift, bis die voreingestellte Bedingung erfüllt ist, hinzufügen.
-
Die fahrzeugverbaute Einrichtung 20 kann das parallele Programm 21a1 beinhalten, zu dem der vorstehende Unterdrückungsprozess hinzugefügt ist.
-
Der automatische Parallelisierungskompilierer 1 kann einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, bis eine Zeit, die seit der Beendigung der Ausführung der Verarbeitungs-MT, die für den Subjektkern allokiert ist, verstrichen ist, eine voreingestellte Zeit erreicht, die als eine Bedingung voreingestellt ist, hinzufügen (Hinzufügeprozedur). Der automatische Parallelisierungskompilierer 1 kann einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, durch Verbieten, dass der Subjektkern auf den Bus zugreift, bis die verstrichene Zeit die voreingestellte Zeit erreicht, hinzufügen.
-
Ebenso kann der Computer 10 einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, bis eine Zeit, die seit der Beendigung der Ausführung der Verarbeitungs-MT, die für den Subjektkern allokiert ist, verstrichen ist, eine vorbestimmte Zeit erreicht, die als eine Bedingung voreingestellt ist (Hinzufügeeinheit). Der Computer 10 kann einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, bis die verstrichene Zeit die voreingestellte Zeit erreicht, hinzufügen, um den Zugriff auf den Bus 21e durch den Subjektkern zu verbieten.
-
Die fahrzeugverbaute Einrichtung 20 kann das parallele Programm 21a1 beinhalten, dem der Unterdrückungsprozess wie vorstehend beschrieben hinzugefügt ist.
-
Der automatische Parallelisierungskompilierer 1 kann einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, bis Betriebstakte des Subjektkerns nach der Beendigung der Ausführung der für den Subjektkern allokierten Verarbeitungs-MT eine voreingestellte Anzahl erreichen, die als eine Bedingung voreingestellt ist, hinzufügen (Hinzufügeprozedur). Wie vorstehend beschrieben wurde, kann der automatische Parallelisierungskompilierer 1 einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, durch Verbieten, dass der Subjektkern auf den Bus 21e zugreift, bis die Betriebstakte die voreingestellte Anzahl erreichen, hinzufügen. Der Betriebstakt ist ein Zeitpunkt für einen Betrieb in Synchronisation mit dem Taktsignal.
-
Ebenso kann der Computer 10 einen Unterdrückungsprozess des Verbietens, dass der Subjektkern auf den Bus 21e zugreift, bis die Betriebstakte des Subjektkerns seit der Beendigung der Ausführung der für den Subjektkern allokierten Verarbeitungs-MT die voreingestellte Anzahl erreichen, die als die Bedingung voreingestellt ist, hinzufügen (Hinzufügeeinheit). Der Computer 10 kann den Unterdrückungsprozess des Verbietens des Zugriffs des Subjektkerns auf den Bus 21e durch Verbieten, dass der Subjektkern auf den Bus 21e zugreift, bis die Betriebstakte die voreingestellte Anzahl erreichen, hinzufügen.
-
Die fahrzeugverbaute Einrichtung 20 kann das parallele Programm 21a1 beinhalten, dem der Unterdrückungsprozess wie vorstehend beschrieben hinzugefügt ist.
-
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 2015-1807 A [0003]
- US 2014372995 A1 [0003]
- DE 102014211047 A1 [0003]