DE102017220181A1 - Parallelisierungsverfahren, Parallelisierungstool und fahrzeuginterne Steuervorrichtung - Google Patents

Parallelisierungsverfahren, Parallelisierungstool und fahrzeuginterne Steuervorrichtung Download PDF

Info

Publication number
DE102017220181A1
DE102017220181A1 DE102017220181.9A DE102017220181A DE102017220181A1 DE 102017220181 A1 DE102017220181 A1 DE 102017220181A1 DE 102017220181 A DE102017220181 A DE 102017220181A DE 102017220181 A1 DE102017220181 A1 DE 102017220181A1
Authority
DE
Germany
Prior art keywords
parallelism
reference value
relief
pattern
relief pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
DE102017220181.9A
Other languages
English (en)
Inventor
Kenichi Mineda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102017220181A1 publication Critical patent/DE102017220181A1/de
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/314Parallel programming languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Abstract

Ein Parallelisierungsverfahren zum Erzeugen eines Parallelisierungsprogramms (240) für einen Mehrkernmikrocomputer umfasst: eine Schätzprozedur (S10), welche eine Parallelität eines Steuermodells (210) eines Programms für einen Einkernmikrocomputer schätzt; eine Parallelitätsermittlungsprozedur (S11), welche ermittelt, ob das Steuermodell einen Parallelitätsreferenzwert erfüllt; eine Suchprozedur (S12 bis S14), welche ein Entlastungsmuster extrahiert, wenn das Steuermodell den Parallelitätswert nicht erfüllt, und die Parallelität des Entlastungsmusters schätzt; eine Simulationsprozedur (S15), welche eine Betriebssimulation an dem Entlastungsmuster durchführt und ein Simulationsergebnis erhält; eine Parameterermittlungsprozedur (S16), welche ermittelt, ob das Simulationsergebnis einen Parameterreferenzwert erfüllt; und eine Übernahmeprozedur (S18, S20), welche den Parallelitätsreferenzwert mit dem Parallelitätsschätzergebnis vergleicht, das von dem Entlastungsmuster erhalten wird, und das Entlastungsmuster als ein Zielmuster zum Erzeugen des Parallelisierungsprogramms übernimmt.

Description

  • Die vorliegende Erfindung betrifft ein Parallelisierungsverfahren und ein Parallelisierungstool, um ein Parallelisierungsprogramm für einen Mehrkernmikrocomputer aus einem Programm für einen Einkernmikrocomputer zu erzeugen, und betrifft eine fahrzeuginterne Steuervorrichtung, in welcher ein Parallelisierungsprogramm installiert ist, das von dem Parallelisierungsverfahren erzeugt wird.
  • Patentliteratur 1 offenbart das Parallelisierungskompilierungsverfahren als ein Beispiel des Parallelisierungsverfahrens, welches ein Parallelisierungsprogramm für einen Mehrkernmikrocomputer aus einem einzelnen Programm für einen Einkernmikrocomputer erzeugt.
  • Bei dem Parallelisierungskompilierungsverfahren reduziert jedoch ein einzelnes Programm, dessen Parallelität niedrig ist, die Anzahl von parallelisierbaren Transaktionen, oder ein einzelnes Programm kann nicht auf eine notwendige Anzahl von Kernen aufgeteilt werden.
  • Patentliteratur 1: JP 2015-1807 A
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Parallelisierungsverfahren und ein Parallelisierungstool bereitzustellen, welche fähig sind, ein Parallelisierungsprogramm zu erzeugen, welches eine erhöhte Anzahl von Transaktionen umfasst, und eine fahrzeuginterne Vorrichtung bereitzustellen, welche fähig ist, ein Parallelisierungsprogramm auszuführen, welches eine erhöhte Anzahl von Transaktionen umfasst.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung umfasst ein Parallelisierungsverfahren zum Analysieren eines Steuermodells eines Programms für einen Einkernmikrocomputer und Erzeugen eines Parallelisierungsprogramms, das eine parallelisierte Transaktion für einen Mehrkernmikrocomputer umfasst: eine Schätzprozedur, welche eine Parallelität des Steuermodells basierend auf einer Struktur des Steuermodells und Kosteninformationen von jedem Verarbeitungsblock schätzt; eine Parallelitätsermittlungsprozedur, welche ein Parallelitätsschätzergebnis mit einem Parallelitätsreferenzwert vergleicht und ermittelt, ob das Steuermodell den Parallelitätsreferenzwert erfüllt; eine Suchprozedur, welche ein Entlastungsmuster (Linderungsmuster, Erleichterungsmuster, Verminderungsmuster) extrahiert, das durch Entlasten (Lindern, Erleichtern, Vermindern) einer Verarbeitungssequenz in Bezug auf zumindest einen Teil einer Datenabhängigkeitsbeziehung in dem Steuermodell erhalten wird, wenn das Steuermodell nicht den Parallelitätsreferenzwert erfüllt, und die Parallelität des Entlastungsmusters schätzt; eine Simulierungsprozedur, welche eine Betriebssimulation auf dem Entlastungsmuster durchführt und ein Simulationsergebnis erhält, das sich auf einen Evaluierungsparameter zum Evaluieren einer in dem Steuermodell definierten Leistungsanforderung bezieht; eine Parameterermittlungsprozedur, welche ermittelt, ob das Simulationsergebnis einen Parameterreferenzwert erfüllt, welcher ein Referenzwert der in dem Steuermodell definierten Leistungsanforderung ist; und eine Übernahmeprozedur, welche den Parallelitätsreferenzwert mit dem Parallelitätsschätzwert vergleicht, der von dem Entlastungsmuster erhalten wird, von welchem das Simulationsergebnis den Parameterreferenzwert erfüllt, und das Entlastungsmuster, welches den Parallelitätsreferenzwert erfüllt, als ein Zielmuster zum Erzeugen des Parallelisierungsprogramms übernimmt.
  • Wie oben angegeben schätzt das Parallelisierungsverfahren die Parallelität auf der Stufe eines Steuermodells eines Programms, welches für einen Einkernmikrocomputer geschrieben worden ist, und ermittelt, ob das Steuermodell einen Parallelitätsreferenzwert erfüllt. Das Parallelisierungsverfahren kann dadurch ermitteln, ob das Steuermodell des für den Einkernmikrocomputer geschriebenen Programms, nicht das Programm, den Parallelitätsreferenzwert erfüllt.
  • Das Parallelisierungsverfahren extrahiert ein Entlastungsmuster als ein Muster eines Entlastens der Verarbeitungssequenz, wenn das Steuermodell nicht den Parallelitätsreferenzwert erfüllt. Das Parallelisierungsverfahren findet ein Ergebnis eines Simulierens eines Evaluierungsparameters, um die Leistungsanforderung, welche für das Steuermodell spezifiziert ist, zu evaluieren, und ermittelt, ob das Simulationsergebnis einen Parameterreferenzwert als einen Referenzwert für die Leistungsanforderung erfüllt. Das Parallelisierungsverfahren kann dadurch ermitteln, ob das Entlastungsmuster die Leistungsanforderung als das Steuermodell erfüllt.
  • Das Parallelisierungsverfahren schätzt die Parallelität des Entlastungsmusters, welches den Parameterreferenzwert erfüllt, und verwendet das Entlastungsmuster, welches den Parallelitätsreferenzwert erfüllt, als ein zum Ziel gesetztes Muster, um ein Parallelisierungsprogramm zu erzeugen. Das Parallelisierungsverfahren kann dadurch das Parallelisierungsprogramm erzeugen, welches es ermöglicht, dass mehr Transaktionen parallelisiert werden. In anderen Worten kann das Parallelisierungsverfahren das Parallelisierungsprogramm erzeugen, welches vollständig die Mehrkernmikrocomputerleistung bereitstellt. Das Parallelisierungsverfahren verwendet das Entlastungsmuster, welches den Parameterreferenzwert und den Parallelitätsreferenzwert erfüllt, als das zum Ziel gesetzte Muster, um das Parallelisierungsprogramm zu erzeugen, und kann dadurch ein Steuermodell erzeugen, welches durch eine hohe Parallelität kennzeichnet ist, während die spezifizierte gesteuerte Leistung als das Steuermodell beibehalten wird.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung umfasst ein Parallelisierungstool (Parallelisierungswerkzeug), welches einen Computer umfasst, der ein Steuermodell eines Programms für einen Einkernmikrocomputer analysiert und ein Parallelisierungsprogramm erzeugt, das eine parallelisierte Transaktion für einen Mehrkernmikrocomputer umfasst: eine Schätzeinheit, welche eine Parallelität des Steuermodells basierend auf einer Struktur des Steuermodells und Kosteninformationen für jeden Verarbeitungsblock schätzt; eine Parallelitätsermittlungseinheit, welche ein Parallelitätsschätzergebnis mit einem Parallelitätsreferenzwert vergleicht und ermittelt, ob das Steuermodell den Parallelitätsreferenzwert erfüllt; eine Sucheinheit, welche ein Entlastungsmuster (Linderungsmuster, Erleichterungsmuster, Verminderungsmuster) extrahiert, das durch Entlasten (Lindern, Erleichtern, Vermindern) einer Verarbeitungssequenz in Bezug auf zumindest einen Teil einer Datenabhängigkeitsbeziehung in dem Steuermodell erhalten wird, wenn das Steuermodell nicht den Parallelitätsreferenzwert erfüllt, und die Parallelität des Entlastungsmusters schätzt; eine Simulationseinheit, welche eine Betriebssimulation auf dem Entlastungsmuster durchführt und ein Simulationsergebnis erhält, das sich auf einen Evaluierungsparameter zum Evaluieren einer in dem Steuermodell definierten Leistungsanforderung bezieht; eine Parameterermittlungseinheit, welche ermittelt, ob das Simulationsergebnis einen Parameterreferenzwert erfüllt, der ein Referenzwert der in dem Steuermodell definierten Leistungsanforderung ist; und eine Übernahmeeinheit, welche den Parallelitätsreferenzwert mit dem Parallelitätsschätzergebnis vergleicht, welches von dem Entlastungsmuster erhalten wird, von welchem das Simulationsergebnis den Parameterreferenzwert erfüllt, und das Entlastungsmuster, welches den Parallelitätsreferenzwert erfüllt, als ein Zielmuster zum Erzeugen des Parallelisierungsprogramms übernimmt.
  • In gleicher Weise wie bei dem oben erwähnten Parallelisierungsverfahren kann das Parallelisierungstool ein Parallelisierungsprogramm erzeugen, welches es ermöglicht, dass mehr Transaktionen parallelisiert werden. Das Parallelisierungstool kann dadurch das Parallelisierungsprogramm erzeugen, welches vollständig die Mehrkernmikrocomputerleistung bereitstellt.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung umfasst eine fahrzeuginterne Steuervorrichtung: einen Mehrkernmikrocomputer, welcher eine Vielzahl von Kernen hat; und ein Parallelisierungsprogramm, welches eine parallelisierte Transaktion für den Mehrkernmikrocomputer bereitstellt. Das Parallelisierungsprogramm wird basierend auf einem Entlastungsmuster erzeugt, welches durch Entlasten einer Verarbeitungssequenz in Bezug auf zumindest einen Teil einer Datenabhängigkeitsbeziehung in einem Steuermodell eines Programms für einen Einkernmikrocomputer erhalten wird. Das Parallelisierungsprogramm erfüllt einen Parallelitätsreferenzwert und einen Parameterreferenzwert, welcher ein Referenzwert für eine in dem Steuermodell definierte Leistungsanforderung ist. Jeder Kern des Mehrkernmikrocomputers führt das Parallelisierungsprogramm aus.
  • Die fahrzeuginterne Steuervorrichtung umfasst einen Mehrkernmikrocomputer und das wie oben erzeugte Parallelisierungsprogramm. Der Mehrkernmikrocomputer ermöglicht es jedem Kern, das Parallelisierungsprogramm auszuführen.
  • Das Parallelisierungsprogramm erfüllt den Parallelitätsreferenzwert und den Parameterreferenzwert als einen Referenzwert für die für das Steuermodell spezifizierte Leistungsanforderung. Der Mehrkernmikrocomputer führt daher das Parallelisierungsprogramm aus, welches die als das Steuermodell spezifizierte gesteuerte Leistung beibehält und sich durch eine hohe Parallelität auszeichnet. Die fahrzeuginterne Steuervorrichtung kann deshalb vollständig die Mehrkernmikrocomputerfunktionalität bereitstellen.
  • Die obigen und anderen Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden von der folgenden detaillierten Beschreibung, welche mit Bezug auf die angehängten Zeichnungen gemacht wird, deutlicher werden. In den Zeichnungen ist:
    • 1 ein Blockdiagramm, welches eine schematische Ausgestaltung eines Parallelisierungstools und einer ECU gemäß einem Ausführungsbeispiel darstellt;
    • 2 ist ein Flussdiagramm, welches eine Verarbeitungsoperation des Parallelisierungstools gemäß dem Ausführungsbeispiel darstellt;
    • 3 ist ein schematisches Diagramm, welches ein Steuermodell gemäß dem Ausführungsbeispiel darstellt;
    • 4 ist ein schematisches Diagramm, welches Prozesse zum Analysieren einer Abhängigkeitsbeziehung gemäß dem Ausführungsbeispiel darstellt;
    • 5 ist eine Tabelle, welche Entlastungsmuster gemäß dem Ausführungsbeispiel darstellt;
    • 6 ist ein schematisches Diagramm, welches Prozesse nach einem Entlasten bzw. Vermindern von Abhängigkeitsbeziehungen darstellt;
    • 7 ist ein schematisches Diagramm, welches ein Steuermodell nach einem Vermindern von Abhängigkeitsbeziehungen darstellt; und
    • 8 ein Flussdiagramm, welches eine Verarbeitungsoperation des Parallelisierungstools gemäß einer Modifikation darstellt.
  • Ein Ausführungsbeispiel der Erfindung wird mit Bezug auf die angehängten Zeichnungen beschrieben werden. Das vorliegende Ausführungsbeispiel verwendet einen Computer 100, um eine parallelisierende C-Quelle (C Source) 240, welche für einen Mehrkernmikrocomputer 310 parallelisiert ist, aus einer Vielzahl von Transaktionen in einem einzelnen Programm (Software) für einen Einkernmikrocomputer, der einen einzelnen Kern hat, zu erzeugen.
  • Die parallelisierende C-Quelle 240 entspricht einem Parallelisierungsprogramm. In der unten stehenden Beschreibung ist die parallelisierende C-Quelle 240 als die C-Quelle (C-Quellcode) 240 vereinfacht. Das Parallelisierungsprogramm kann ein Programm bezeichnen, welches aus einem Kompilieren der C-Quelle 240 unter Verwendung eines C-Compilers 250 resultiert.
  • Insbesondere analysiert der Computer 100 ein Steuermodell 210 des einzelnen Programms und erzeugt die parallelisierende C-Quelle 240, welche aus einem Parallelisieren von Transaktionen, die für den Mehrkernmikrocomputer parallelisiert werden können, resultiert. Der Mikrocomputer 100 erzeugt die parallelisierende C-Quelle 240 durch Analysieren des Steuermodells 210 für das einzelne Programm, wobei die parallelisierende C-Quelle 240 nicht direkt aus dem einzelnen Programm erzeugt wird. Der Computer 100 erzeugt die parallelisierende C-Quelle 240 durch Verwendung eines Entlastungsmodells 21, nämlich zum Beispiel eines Modells nach Verbessern der Parallelität des Steuermodells 210.
  • Wie oben angegeben verwendet das vorliegende Ausführungsbeispiel ein Parallelisierungstool, welches den Computer 100 enthält, um die C-Quelle 240 zu erzeugen. Der Computer 100 umfasst eine Verarbeitungseinheit und eine Speichereinheit, welche ein Programm speichert. Die Verarbeitungseinheit führt ein Programm aus, um die parallelisierende C-Quelle 240 zu erzeugen. Das in der Speichereinheit des Computers 100 gespeicherte Programm umfasst Prozeduren, um die parallelisierende C-Quelle 240 zu erzeugen. Das Programm für den Computer 100 entspricht einem Parallelisierungsverfahren. Gemäß dem Ausführungsbeispiel analysiert das Parallelisierungsverfahren das Steuermodell 210 für das einzelne Programm und erzeugt die C-Quelle (den C-Quellcode) 240 durch Parallelisieren von Transaktionen, die für den Mehrkernmikrocomputer 310 parallelisiert werden können. Das vorliegende Ausführungsbeispiel verwendet ein Beispiel, in welchem der C-Compiler 250 die in dem Computer 100 erzeugte C-Quelle 240 kompiliert und die C-Quelle 240 in einer ECU 300 installiert wird. Die ECU 300 entspricht einer fahrzeuginternen Steuervorrichtung in den angehängten Ansprüchen.
  • Der Mikrocomputer kann auch als ein Prozessor bezeichnet werden. Der Mehrkernmikrocomputer kann deshalb auch als ein Mehrkernprozessor bezeichnet werden. Das in der Speichereinheit des Computers 100 gespeicherte Programm kann auch als ein automatischer Parallelisierungscompiler bezeichnet werden.
  • Die C-Quelle 240 wird erzeugt, weil der Mehrkernmikrocomputer 310 vorzugsweise aufgrund einer erhöhten Menge einer Wärmeerzeugung oder eines erhöhten Leistungsverbrauchs an bzw. auf einem Mikrocomputer oder Begrenzungen bei Taktfrequenzen verwendet wird. Der Mehrkernmikrocomputer 310 muss auch auf das Gebiet von fahrzeuginternen Vorrichtungen angewendet werden (können). Für die C-Quelle 240 ist es erforderlich, fähig zu sein, hoch zuverlässig und schnell Prozesse auszuführen, während eine Entwicklungsperiode oder Kosten der Software reduziert werden.
  • Das vorliegende Ausführungsbeispiel verwendet ein einzelnes Programm, das in C geschrieben ist oder die C-Quelle 240 als ein Beispiel. Jedoch ist die vorliegende Erfindung nicht darauf beschränkt. Das einzelne Programm oder die C-Quelle 240 können in einer anderen Programmiersprache als C geschrieben sein.
  • Die Entwicklung von Programmen für eine Fahrzeug-ECU erfordert es nicht notwendigerweise von einem Entwickler, einen Quellcode direkt zu schreiben. Stattdessen können Funktionen eines beabsichtigten Programms in dem Steuermodell 210 geschrieben sein, welches eine Programmerzeugung erleichtert und eine Lesbarkeit verbessert. Der Entwickler kann die in dem Steuermodell 210 definierte arithmetische Verarbeitung simulieren und automatisch einen Quellcode aus dem Steuermodell 210 unter Verwendung einer Arbeitsstation oder eines Arbeitsplatzrechners erzeugen, auf welchem eine Programmentwicklungsumgebung installiert ist, die mit dem Steuermodell 210 konform ist.
  • Die Entwicklungsumgebung, die fähig ist, das Steuermodell zu schreiben, umfasst MATLAB (eingetragene Marke) und Simulink (eingetragene Marke). Das Steuermodell 210 kann nämlich als eine Ausdrucksform eines Programms repräsentiert werden, das basierend auf Modellsprachenspezifikationen erzeugt wird, welche vereinbart worden sind, um Programmieren gegenüber dem Schreiben von Quellcodes zu erleichtern und Lesbarkeit für den Menschen zu verbessern.
  • Zum Beispiel wird ein Simulink-Modell, welches mittels Simulink erzeugt wird, als eine Kombination von Funktionseinheiten beschrieben, welche Blöcke genannt werden, wobei jeder Block einen spezifischen Prozess repräsentiert. Blöcke, die ein Modell konfigurieren, sind jeweils durch eine Verbindungslinie aneinandergehängt, die Dateneingabe/Datenausgabe zwischen Blöcken und eine Sequenz von entsprechenden Verarbeitungsprozeduren repräsentiert. Das Steuermodell 210 beschreibt als ein Modell zum Beispiel eine Einspritzsteuerung oder eine Verbrennungsmotorsteuerung. Ein Block des Steuermodells 210 entspricht einem Verarbeitungsblock in den angehängten Ansprüchen.
  • Die Konfiguration des Computers 100 wird beschrieben werden. Wie oben angegeben umfasst der Computer 100 die Verarbeitungseinheit und die Speichereinheit. Wie in 1 dargestellt, umfasst der Computer 100 eine Vielzahl von Funktionsblöcken 11 bis 16, 17a, 17b und 18, welche jeweils eine von der Verarbeitungseinheit durchgeführte Funktion repräsentieren. In dem Computer 100 speichert die Speichereinheit einen Parallelitätsreferenzwert 100 und das Entlastungsmodell 21, sodass sie fähig sind, gespeichert zu werden. Der Computer 100 ist fähig, das Steuermodell 210, den Parameterreferenzwert 220 und einen Evaluierungsparameter 230 zu erwerben.
  • Der Computer 100 ist elektrisch mit der Anzeigeeinheit 260 verbunden. Jedoch muss der Computer 100 nicht mit der Anzeigeeinheit 260 verbunden sein. In diesem Fall muss der Computer 100 keine Anzeigeinstruktionseinheit 18, die später beschrieben werden soll, enthalten.
  • Jeder Funktionsblock wird beschrieben werden. Eine Parallelitätsschätzeinheit 11 schätzt eine Parallelität des Steuermodells 210 oder ein Entlastungsmuster basierend auf dem Aufbau des Steuermodells 210 oder des Entlastungsmusters, das später beschrieben werden soll, oder von Kosteninformationen über jeden Verarbeitungsblock. Die Parallelitätsschätzeinheit 11 quantifiziert nämlich die Parallelität des Steuermodells 210 oder des Entlastungsmusters. Die Kosteninformationen können ebenfalls die Verarbeitungszeit von jedem Verarbeitungsblock angeben.
  • Die Parallelitätsschätzeinheit 11 berechnet zum Beispiel einen Parallelitätsindex, nämlich ein Verhältnis der gesamten Verarbeitungszeit (Ta) für das gesamte Steuermodell zu der Verarbeitungszeit (Tc) für einen schlechtesten Ausführungsweg. Die Verarbeitungszeit für jeden Verarbeitungsblock in dem Steuermodell kann unter Verwendung von Verfahren gemäß dem Stand der Technik wie beispielsweise einem Verfahren zum Konvertieren des Steuermodells in einen C-Code mittels eines C-Code-Konverters und dann zum Schätzen der Anzahl von Zyklen unter Verwendung eines Instruktionssatzsimulators oder eines Verfahrens eines Verwendens von Messungen der Verarbeitungszeit für eine Ausführung an einer echten Maschine berechnet werden. Eine Verarbeitungssequenz zwischen Verarbeitungsblöcken kann durch Analysieren der Datenzugriffsbeziehung (z.B. einer Signallinie zwischen Blöcken) gefunden werden. Die Verarbeitungszeit für den schlechtesten Ausführungspfad kann ebenfalls unter Berücksichtigung der Verarbeitungssequenz und der Verarbeitungszeit geschätzt werden. Der schlechteste Ausführungspfad kann auch als ein kritischer Pfad (CP) bezeichnet werden.
  • Die Parallelitätsermittlungseinheit 12 vergleicht ein Ergebnis eines Schätzens der Parallelität des Steuermodells 210 oder des Entlastungsmusters mit dem Parallelitätsreferenzwert 20, um zu ermitteln, ob das Steuermodell 210 oder das Entlastungsmuster ein Parallelitätsziel erreicht. Der Parallelitätsreferenzwert 20 stellt einen Anforderungswert (Entwicklungswert) für eine von dem Steuermodell 210 oder der C-Quelle 240 geforderten Parallelität bereit. Der Parallelitätsreferenzwert 20 wird basierend auf der Anzahl von Kernen des Mehrkernmikrocomputers 310 festgelegt, um die C-Quelle 240 zu implementieren. Die Parallelitätsermittlungseinheit 12 erzeugt das Entlastungsmodell 21 aus dem Entlastungsmuster, um die C-Quelle 240 zu erzeugen.
  • Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 erzeugt ein Muster (eine Kombination) von entlasteten (abgemilderten, erleichterten, gemilderten) Verarbeitungssequenzen betreffend alle oder einen Teil von (einer) Datenabhängigkeitsbeziehung(en) in dem Steuermodell 210. Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 erzeugt nämlich ein Entlastungsmuster der entlasteten Abhängigkeitsbeziehung(en) in dem Steuermodell 210. Das Entlastungsmuster stellt ein Modell von entlasteten Verarbeitungssequenzen betreffend alle oder einen Teil der Datenabhängigkeitsbeziehung(en) in dem Steuermodell 210 bereit. Das Entlastungsmuster kann auch ein Abhängigkeitsbeziehungsentlastungsmuster bezeichnen.
  • Ein Simulator 14 simuliert einen Betrieb (eine Operation) eines Entlastungsmusters. Der Simulator 14 simuliert nämlich einen Betrieb des Entlastungsmusters und findet dadurch ein Ergebnis eines Simulierens des Evaluierungsparameters 230, um für das Steuermodell 210 gesetzte Leistungsanforderungen zu evaluieren. Der Evaluierungsparameter 230 entspricht dem Steuermodell 210 und kann auch eine gesteuerte Leistung evaluieren. Der Simulator 14 kann die Betriebssimulation durchführen, um einen Wert zu berechnen, der dem erworbenen Evaluierungsparameter 230 in dem Entlastungsmuster entspricht. Der Simulator 14 führt die Betriebssimulation so aus, dass eine Signalfortpflanzung einmal an einem entlasteten Ort verzögert wird, wo die Verarbeitungssequenz entlastet ist.
  • Eine Evaluierungsparameterermittlungseinheit 15 vergleicht ein Simulationsergebnis mit dem Parameterreferenzwert 220, um zu ermitteln, ob das Entlastungsmuster akzeptabel ist, nämlich ob das Entlastungsmuster die spezifizierte gesteuerte Leistung sicherstellt. Der Computer 100 kann dadurch nur ein Entlastungsmuster zulassen, welches eine spezifizierte gesteuerte Leistung sicherstellt.
  • Der Parameterreferenzwert 220 stellt einen Referenzwert für die jeder Steuerung entsprechende Leistungsanforderung bereit. Der Parameterreferenzwert 220 stellt einen basierend auf der Leistung, die erforderlich ist, um ein Ziel zu steuern, festgelegten Entwicklungswert bereit und umfasst zum Beispiel eine Antwortzeit auf eine Eingabe oder einen statisch determinierten Wert (akzeptierbarer Fehlerbereich von einem idealen Wert) nach der Antwort.
  • Eine Zurückbehaltungseinheit (Beibehaltungseinheit) 16 hält das Entlastungsmodell 21 oder ein Entlastungsmuster in der Speichereinheit zurück (bei). Die Zurückhalteeinheit 16 ermöglicht es ebenfalls der Speichereinheit, ein Ergebnis einer von dem Simulator 14 an dem Entlastungsmuster durchgeführten Simulation oder ein Ergebnis einer von der Parallelitätsschätzeinheit 11 an dem Entlastungsmuster durchgeführten Parallelitätsschätzung beizubehalten (zurückzubehalten).
  • Eine Parallelisierungseinheit 17a parallelisiert das Entlastungsmuster 21. Die Parallelisierungseinheit 17a analysiert die Datenabhängigkeitsbeziehung einer Transaktion und teilt zu (d.h. weist zu oder richtet ein) eine Vielzahl von Transaktionen verschiedenen Kernen des Mehrkernmikrocomputers 310. Eine Codeerzeugungseinheit 17b erzeugt die C-Quelle (den C-Quellcode) 240 aus dem parallelisierten Entlastungsmodell 21. Die Parallelisierungseinheit 17a und die Codeerzeugungseinheit 17b entsprechen dem Stand der Technik und können zum Beispiel durch Bezugnahme auf JP 2015-1807 A realisiert werden.
  • Jedoch führen die Parallelisierungseinheit 17a und die Codeerzeugungseinheit 17b eine Ablaufplanung basierend auf den Entlastungsinformationen durch, um die C-Quelle 240 zu erzeugen. Die Parallelisierungseinheit 17a und die Codeerzeugungseinheit 17b legen nämlich eine Ausführungssequenz von Prozessen und die Kerneinteilung basierend auf einer Verarbeitungssequenz (Abhängigkeitsbeziehung) von Prozessen während der Ablaufplanung fest und müssen deshalb die Entlastungsinformationen über die Verarbeitungssequenz lesen. Die Entlastungsinformationen repräsentieren die entlastete(n) Abhängigkeitsbeziehung(en). Ein später zu beschreibendes Beispiel entlastet eine erste Abhängigkeitsbeziehung. Die Entlastungsinformationen in diesem Fall repräsentieren, dass die erste Abhängigkeitsbeziehung entlastet ist.
  • Die Anzeigeinstruktionseinheit 18 gibt ein Instruktionssignal an die Anzeigeeinheit 260 aus, um eine Anzeige der Anzeigeeinheit 260 zu steuern. Der Computer 100 erlaubt es zum Beispiel der Anzeigeeinheit 260, eine Vielzahl von Entlastungsmustern anzuzeigen, die den Parallelitätsreferenzwert erfüllen.
  • Ein Verarbeitungsbetrieb des Computers 100 wird mit Bezug auf 2 bis 7 beschrieben werden. Der Computer 100 erwirbt das Steuermodell 210 und führt dann einen in 2 dargestellten Prozess durch. Das vorliegende Ausführungsbeispiel verwendet das in 3 dargestellte Steuermodell 210 als ein Beispiel. Der Computer 100 erwirbt deshalb das Steuermodell 210 in 3 und führt den als ein Flussdiagramm in 2 dargestellten Prozess durch.
  • Das Steuermodell 210 umfasst eine erste Eingabe, eine erste Ausgabe, eine zweite Ausgabe, einen ersten Prozess p1, einen zweiten Prozess p2, einen dritten Prozess p3 und einen vierten Prozess p4. Die ersten bis vierten Prozesse p1 bis p4 entsprechen Verarbeitungsblöcken.
  • In Schritt S10 wird die Parallelität geschätzt (Schätzprozedur oder Schätzeinheit). Die Parallelitätsschätzeinheit 11 schätzt die Parallelität des Steuermodells 210, wie oben beschrieben, um zu ermitteln, ob das Steuermodell 210 ein Parallelitätsziel erreicht.
  • In Schritt S11 wird es ermittelt, ob die Parallelität gleich zu oder größer als der Referenzwert ist (Parallelitätsermittlungsprozedur oder Parallelitätsermittlungseinheit). Die Parallelitätsermittlungseinheit 12 vergleicht ein Parallelitätsschätzergebnis von Schritt S10 mit dem in der Speichereinheit gespeicherten Parallelitätsreferenzwert 20, um zu ermitteln, ob das Steuermodell 210 den Parallelitätsreferenzwert 20 erfüllt. Die Parallelitätsermittlungseinheit 12 ermittelt nämlich, ob das Steuermodell 210 das Parallelitätsziel erreicht.
  • Die Parallelität des Steuermodells 210 kann gleich zu oder größer als der Parallelitätsreferenzwert 20 sein. In diesem Fall schreitet die Parallelitätsermittlungseinheit 12 unter der Annahme, dass die C-Quelle 240 ohne Erzeugen eines Entlastungsmusters erzeugt werden kann, zu Schritt S20 fort. In diesem Fall nimmt die Parallelitätsermittlungseinheit 12 an, dass das einzelne Programm eine ausreichende Parallelität garantiert und das einzelne Programm entsprechend der Anzahl von Kernen des Mehrkernmikrocomputers 310 parallelisiert werden kann.
  • Die Parallelität des Steuermodells 210 kann nicht gleich zu oder größer als der Parallelitätsreferenzwert 20 sein. In diesem Fall schreitet die Parallelitätsermittlungseinheit 12 unter der Annahme, dass die Parallelität des einzelnen Programms nicht ausreichend ist und das einzelne Programm nicht entsprechend der Anzahl von Kernen des Mehrkernmikrocomputers 310 parallelisiert werden kann, zu Schritt S12 fort. Der Computer 100 führt nämlich den Prozess und die Ermittlung anschließend an Schritt S12 durch, wenn das Steuermodell 210 nicht den Parallelitätsreferenzwert erfüllt.
  • In Schritt S12 werden alle Abhängigkeitsbeziehungen aufgeführt (Suchprozedur oder Sucheinheit). Wie in 4 dargestellt, führt die Abhängigkeitsbeziehungsentlastungssucheinheit 13 all die Abhängigkeitsbeziehungen durch Analysieren von Datenzugriffsbeziehungen zwischen Verarbeitungsblöcken in dem Steuermodell 210 auf. Wie in 4 dargestellt, stellt das Steuermodell 210 eine erste Abhängigkeitsbeziehung zwischen dem ersten Prozess p1 und dem zweiten Prozess p2, eine zweite Abhängigkeitsbeziehung zwischen dem ersten Prozess p1 und dem dritten Prozess p3, eine dritte Abhängigkeitsbeziehung zwischen dem dritten Prozess p3 und dem zweiten Prozess p2 und eine vierte Abhängigkeitsbeziehung zwischen dem dritten Prozess p3 und dem vierten Prozess p4 bereit.
  • In Schritt S13 wird ein Entlastungsmuster extrahiert (Suchprozedur oder Sucheinheit). Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 extrahiert ein Entlastungsmuster, welches die Verarbeitungssequenz betreffend zumindest einen Teil der Datenabhängigkeitsbeziehung(en) in dem Steuermodell 210 entlastet. Wie in 5 dargestellt, extrahiert die Abhängigkeitsbeziehungsentlastungssucheinheit 13 Entlastungsmuster, die dem ersten Muster bis zu dem n-ten Muster entsprechen. 6 stellt als ein Beispiel Beziehungen zwischen Prozessen p1 bis p4 gemäß dem dritten Muster dar, welches die zweite Abhängigkeitsbeziehung entlastet. Das Beispiel extrahiert eine Vielzahl von Entlastungsmustern. Jedoch ist die vorliegende Erfindung nicht darauf beschränkt und kann ein einzelnes Entlastungsmuster extrahieren.
  • Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 erzeugt ein Entlastungsmuster, welches die Verarbeitungssequenz der Prozesse p1 bis p4 in dem eingegebenen Steuermodell 210 entlastet oder zufällig organisiert. Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 extrahiert das Entlastungsmuster durch Entlasten der Abhängigkeitsbeziehungen zwischen Prozessen p1 bis p4 eine nach der anderen, um nach all den Mustern zu suchen. Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 entlastet (mildert) vorzugsweise die Abhängigkeitsbeziehung, die dem schlechtesten Ausführungspfad entspricht, basierend auf Parallelitätseigenschaften und kann dadurch ein Entlastungsmuster extrahieren, welches effizient die Parallelität verbessert. Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 kann ebenfalls ein Entlastungsmuster erzeugen, welches zusätzliche Entlastungsinformationen umfasst.
  • Die Verarbeitungssequenz von Prozessen p1 bis p4 wird erzeugt, um die Datenabhängigkeitsbeziehung(en) zwischen Prozessen p1 bis p4 beizubehalten. Die Datenabhängigkeitsbeziehung ist synonym mit einem Zugriff, welcher Schreiben umfasst, in Bezug auf die gleiche Variable (wie beispielsweise Schreiben zu Schreiben, Schreiben zu Lesen oder Lesen zu Schreiben).
  • In Schritt S14 schätzt der Prozess Parallelitäten der Entlastungsmuster und sortiert die Entlastungsmuster in abnehmender Reihenfolge der Parallelitäten. In dem Computer 100 extrahiert die Abhängigkeitsbeziehungsentlastungssucheinheit 13 ein Entlastungsmuster und die Parallelitätsschätzeinheit 11 schätzt die Parallelität des Entlastungsmusters. Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 kann eine Vielzahl von Entlastungsmustern extrahieren. In solch einem Fall schätzt die Parallelitätsschätzeinheit 11 die Parallelität bei jedem der Entlastungsmuster.
  • Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 sortiert die Entlastungsmuster in abnehmender Reihenfolge der Parallelitäten, um in Schritt S16 die Ermittlung an den Entlastungsmustern in abnehmender Reihenfolge der Parallelitäten durchzuführen. Jedoch ist die vorliegende Erfindung nicht darauf beschränkt und muss Entlastungsmuster nicht in abnehmender Reihenfolge der Parallelitäten sortieren. Die vorliegende Erfindung kann nämlich das Sortieren in Schritt S14 weglassen. In diesem Fall führt der Computer 100 Schritt S15 und spätere an den Entlastungsmustern in einer Reihenfolge ungeachtet der Parallelitätsreihenfolge durch.
  • Die Abhängigkeitsbeziehungsentlastungssucheinheit 13 kann ein Parallelitätsschätzergebnis mit dem Parallelitätsreferenzwert vergleichen und eine Simulation nur an dem Entlastungsmuster durchführen, welches den Parallelitätsreferenzwert 20 erfüllt. Zum Beispiel löscht die Abhängigkeitsbeziehungsentlastungssucheinheit 13 ein Entlastungsmuster, welches den Parallelitätsreferenzwert 20 nicht erfüllt, und lässt nur ein Entlastungsmuster, welches den Parallelitätsreferenzwert 20 erfüllt, bestehen, sodass das Entlastungsmuster in Schritt S15 und späteren zum Ziel gesetzt werden kann.
  • In Schritt S15 kann sich dadurch der Computer 100 nur ein Entlastungsmuster zum Ziel setzen, welches den Parallelitätsreferenzwert 20 erfüllt. Der Computer 100 kann dadurch Prozesse zum Erzeugen der C-Quelle 240 reduzieren anstatt Schritt S15 an all den Entlastungsmustern durchzuführen.
  • In Schritt S15 wird eine Betriebssimulation an Entlastungsmustern in abnehmender Reihenfolge von Parallelitäten durchgeführt, um ein Simulationsergebnis zu berechnen (Simulationsprozedur oder Simulationseinheit). Der Simulator 14 führt die Betriebssimulation durch, um ein Simulationsergebnis zu finden, um zu ermitteln, ob jedes Entlastungsmuster eine spezifische gesteuerte Leistung umfasst. Insbesondere findet das vorliegende Ausführungsbeispiel ein Simulationsergebnis durch Durchführen der Betriebssimulation an Entlastungsmustern in abnehmender Reihenfolge der Parallelitäten. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt und kann die Betriebssimulation ungeachtet der Parallelitätsreihenfolge durchführen.
  • In Schritt S16 ermittelt der Prozess, ob das Simulationsergebnis gleich zu oder größer als der Parameterreferenzwert ist (Parameterermittlungsprozedur oder Parameterermittlungseinheit). Die Evaluierungsparameterermittlungseinheit 15 ermittelt, ob das Simulationsergebnis gleich zu oder größer als der Parameterreferenzwert ist, um zu ermitteln, ob das Entlastungsmuster die spezifische gesteuerte Leistung umfasst. Insbesondere ermittelt das vorliegende Ausführungsbeispiel, ob das Simulationsergebnis von dem Entlastungsmuster gleich zu oder größer als der Parameterreferenzwert ist, in abnehmender Reihenfolge der Parallelitäten. Jedoch ist die vorliegende Erfindung nicht darauf beschränkt und kann ermitteln, ob das Simulationsergebnis gleich zu oder größer als der Parameterreferenzwert ist, ungeachtet der Parallelitätsreihenfolge.
  • Das Simulationsergebnis kann ermittelt werden, gleich zu oder größer als der Parameterreferenzwert zu sein. In diesem Fall schreitet die Evaluierungsparameterermittlungseinheit 15 unter der Annahme, dass das Simulationsergebnis den Parameterreferenzwert erfüllt, zu Schritt S18 fort. Das Simulationsergebnis kann ermittelt werden, nicht gleich zu oder größer als der Parameterreferenzwert zu sein. In diesem Fall schreitet die Evaluierungsparameterermittlungseinheit 15 unter der Annahme, dass das Simulationsergebnis nicht den Parameterreferenzwert erfüllt, zu Schritt S17 fort.
  • In Schritt S17 ermittelt der Prozess, ob all die Entlastungsmuster verarbeitet worden sind (Parameterermittlungsprozedur und Parameterermittlungseinheit). Die Evaluierungsparameterermittlungseinheit 15 ermittelt, ob Schritte S15 und S16 an all den in Schritt S13 extrahierten Entlastungsmustern durchgeführt worden sind. Die Evaluierungsparameterermittlungseinheit 15 schreitet zu Schritt S18 fort, wenn sie ermittelt, dass Schritte S15 und S16 an all den Entlastungsmustern durchgeführt worden sind. Der Prozess kehrt zu Schritt S15 zurück, wenn er feststellt, dass ein Entlastungsmuster verbleibt, an welchem Schritte S15 und S16 nicht durchgeführt worden sind.
  • In Schritt S18 ermittelt der Prozess, ob die Parallelität gleich zu oder größer als ein Referenzwert ist (Festlegungsprozedur oder Festlegungseinheit bzw. Übernahmeprozedur oder Übernahmeeinheit). Ähnlich zu Schritt S11 vergleicht die Parallelitätsermittlungseinheit 12 das in Schritt S14 erworbene Parallelitätsschätzergebnis mit dem Parallelitätsreferenzwert 20, der in der Speichereinheit gespeichert ist, um zu ermitteln, ob das Entlastungsmuster den Parallelitätsreferenzwert 20 erfüllt. Die Parallelitätsermittlungseinheit 12 vergleicht das Parallelitätsschätzergebnis mit dem Parallelitätsreferenzwert, was das Entlastungsmuster betrifft, nicht das Steuermodell 210.
  • Es kann festgestellt werden, dass die Entlastungsmusterparallelität gleich zu oder größer als der Parallelitätsreferenzwert 20 ist. In diesem Fall schreitet die Parallelitätsermittlungseinheit 12 unter der Annahme, dass die C-Quelle 240 erzeugt werden kann, zu Schritt S20 fort. Es kann festgestellt werden, dass die Entlastungsmusterparallelität nicht gleich zu oder größer als der Parallelitätsreferenzwert 20 ist. In diesem Fall schreitet die Parallelitätsermittlungseinheit 12 unter der Annahme, dass das einzelne Programm nicht entsprechend der Anzahl von Kernen des Mehrkernmikrocomputers 310 parallelisiert werden kann, zu Schritt S19 fort.
  • Nimm an, dass die in Schritt S14 durchgeführte Betriebssimulation nur an dem Entlastungsmuster durchgeführt worden ist, das den Parallelitätsreferenzwert 20 erfüllt. In diesem Fall erfüllen Parallelitäten von all den Entlastungsmustern den Parallelitätsreferenzwert 20. In Schritt S18 ermittelt die Parallelitätsermittlungseinheit 12 deshalb bestätigend das Entlastungsmuster, welches als erstes das bejahende Ergebnis bei der Ermittlung in Schritt S16 verursacht hat.
  • In Schritt S20 wird die Parallelitätsreferenz festgestellt, bestanden worden zu sein (Festlegungsprozedur oder Festlegungseinheit bzw. Übernahmeprozedur oder Übernahmeeinheit). Die Parallelitätsermittlungseinheit 12 verwendet nämlich ein Entlastungsmuster als ein zum Ziel gesetztes Muster, um die C-Quelle 240 zu erzeugen, wenn das Entlastungsmuster das Simulationsergebnis veranlasst, den Parameterreferenzwert zu erfüllen, und das Parallelitätsschätzergebnis veranlasst, den Parallelitätsreferenzwert zu erfüllen. Das vorliegende Ausführungsbeispiel verwendet das dritte Muster in 6 als ein zum Ziel gesetztes Muster. Die Parallelitätsermittlungseinheit 12 kann das Entlastungsmuster als ein zum Ziel gesetztes Muster verwenden, wenn zum Beispiel das Entlastungsmuster als erstes das bejahende Ergebnis von der Ermittlung in Schritt S18 verursacht.
  • Wie in 7 dargestellt, erzeugt die Parallelitätsermittlungseinheit 12 das Entlastungsmodell 21 aus dem zum Ziel gesetzten Muster. Die Parallelitätsermittlungseinheit 12 erzeugt das Entlastungsmuster 21 durch Hinzufügen eines Ein-Zyklus-Verzögerungspuffers pd an der Stelle, an welcher die Abhängigkeitsbeziehung entlastet wird. Das vorliegende Ausführungsbeispiel entlastet die zweite Abhängigkeitsbeziehung und fügt deshalb einen Ein-Zyklus-Verzögerungspuffer pd zwischen dem ersten Prozess p1 und dem dritten Prozess p3 hinzu. Der Ein-Zyklus-Verzögerungspuffer pd stellt einen Prozess bereit, um die Signalfortpflanzung um einen Zyklus zu verzögern. Das Entlastungsmodell 21 wird basierend auf dem Entlastungsmuster erzeugt und kann deshalb mit dem Steuermodell 210 identifiziert werden, dessen Parallelität verbessert ist.
  • Gemäß dem vorliegenden Ausführungsbeispiel erzeugt die Parallelitätsermittlungseinheit 12 das Entlastungsmodell 21. Jedoch ist die vorliegende Erfindung nicht darauf beschränkt und kann eine Prozedur (Funktion) umfassen, welche es dem Computer 100 ermöglicht, das Entlastungsmodell 21 von einem zum Ziel gesetzten Muster zu erzeugen.
  • Die Parallelisierungseinheit 17a parallelisiert das Entlastungsmodell 21. Die Codeerzeugungseinheit 17b erzeugt die C-Quelle (den C-Quellcode) 240 aus dem parallelisierten Entlastungsmodell 21. Der Computer 100 erzeugt nämlich die C-Quelle 240 aus dem zum Ziel gesetzten Muster (Erzeugungsprozedur oder Erzeugungseinheit).
  • Wie oben angegeben, führt der Computer 100 Schritte S15 und S16 an einem zum Ziel gesetzten Entlastungsmuster durch, das die höchste Parallelität angibt. Der Computer 100 schreitet dann zu Schritt S18 fort, wenn die Ermittlung im Schritt S16, der auf das Entlastungsmuster, das die höchste Parallelität angibt, abzielt, bejahend ist. Wenn die Ermittlung in Schritt S18 bejahend ist, stellt der Computer 100 fest, dass das Entlastungsmuster, das die höchste Parallelität angibt, die Parallelitätsreferenz besteht oder angenommen wird, das zum Ziel gesetzte Muster zu sein.
  • Jedoch kann die Ermittlung in Schritt S16, der auf das Entlastungsmuster abzielt, das die höchste Parallelität angibt, verneinend sein. In diesem Fall führt der Computer 100 Schritte S15 und S16 an einem Entlastungsmuster durch, das die nächsthöchste Parallelität angibt. Der Computer 100 führt einen ähnlichen Prozess durch, bis die Ermittlung in Schritt S16 bejahend ist oder Schritte S15 und S16 an all den Entlastungsmustern durchgeführt worden sind.
  • Der Computer 100 kann dadurch ein zum Ziel gesetztes Muster verwenden, um die C-Quelle 240 zu erzeugen, nämlich das Entlastungsmuster, welches die spezifische gesteuerte Leistung wie bei dem Steuermodell umfasst und die höchste Parallelität angibt. Der Computer 100 führt die Betriebssimulation, die Ermittlung, ob der Parameterreferenzwert erfüllt ist, die Schätzung der Parallelität und den Vergleich mit dem Parallelitätsreferenzwert an Entlastungsmustern in abnehmender Reihenfolge der Parallelitäten durch. Der Computer 100 kann deshalb den Prozess reduzieren, bis ein zum Ziel gesetztes Muster festgelegt ist, um die C-Quelle 240 zu erzeugen, verglichen mit einem Fall eines Durchführens des oben erwähnten Prozesses ungeachtet von Parallelitätsschätzergebnissen.
  • Eine Vielzahl von den in Schritt S13 extrahierten Entlastungsmustern muss nicht immer die spezifische gesteuerte Leistung umfassen. Die Ermittlung in Schritt S16 wird deshalb verneint, weil das Ergebnis eines Simulierens von all den Entlastungsmustern nicht gleich zu oder größer als der Parameterreferenzwert ist. In solch einem Fall kann der Computer 100 ein zum Ziel gesetztes Muster verwenden, welches mit einem Entlastungsmuster gleichgesetzt ist, das nicht den Parameterreferenzwert erfüllt und dessen Parallelitätsschätzergebnis veranlasst, den Parallelitätsreferenzwert zu erfüllen (Festlegungsprozedur oder Festlegungseinheit bzw. Übernahmeprozedur oder Übernahmeeinheit).
  • In diesem Fall wird der Parameterreferenzwert für eine Entlastung/Milderung untersucht. Das oben erwähnte Ergebnis kann verwendet werden, wenn der Parameterreferenzwert gemildert/entlastet werden kann. Alternativ kann der Parameterreferenzwert überprüft werden und der neu gemilderte/entlastete Parameterreferenzwert kann verwendet werden, um eine Reihe der Prozesse erneut durchzuführen. In Schritt S18 vergleicht die Parallelitätsermittlungseinheit 12 das Parallelitätsschätzergebnis von Schritt S14 mit dem Parallelitätsreferenzwert 20, der in der Speichereinheit gespeichert ist, und ermittelt, ob das Entlastungsmuster den Parallelitätsreferenzwert 20 erfüllt. Die Parallelitätsermittlungseinheit 12 vergleicht hier das Parallelitätsschätzergebnis mit dem Parameterreferenzwert in Bezug auf das Entlastungsmuster, dessen Simulationsergebnis den Parameterreferenzwert in Schritt S16 nicht erfüllt. Die Parallelitätsermittlungseinheit 12 schreitet zu Schritt S20 fort, wenn die Entlastungsmusterparallelität ermittelt wird, gleich zu oder höher als der Parallelitätsreferenzwert 20 zu sein. Die Parallelitätsermittlungseinheit 12 schreitet zu Schritt S19 fort, wenn die Entlastungsmusterparallelität ermittelt wird, nicht gleich zu oder höher als der Parallelitätsreferenzwert 20 zu sein. Das Gleiche gilt für einen Fall eines Entlastens/Milderns des Parallelitätsreferenzwerts.
  • In Schritt S19 wird die Parallelitätsreferenz ermittelt, nicht bestanden zu sein. Die Parallelitätsermittlungseinheit 12 stellt nämlich fest, dass das Simulationsergebnis den Parameterreferenzwert erfüllt und dass kein Entlastungsmuster existiert, dessen Parallelitätsschätzergebnis den Parallelitätsreferenzwert erfüllt.
  • Die ECU 300 umfasst den Mehrkernmikrocomputer 310 und die C-Quelle 240. Der Mehrkernmikrocomputer 310 umfasst eine Vielzahl von Kernen. Die C-Quelle 240 umfasst eine parallelisierte Transaktion, die für den Mehrkernmikrocomputer 310 parallelisiert werden kann. Die ECU 300 umfasst die wie oben erzeugte C-Quelle 240. Die ECU umfasst ein ROM 320 als ein Speichermedium. Das ROM 320 speichert die C-Quelle (den C-Quellcode) 240. Der Mehrkernmikrocomputer 310 ermöglicht es jedem Kern, die C-Quelle 240 auszuführen.
  • Die C-Quelle 240 ist mittels des Compilers 250 kompiliert und als eine ausführbare Datei in der ECU 300 installiert, sodass der Mehrkernmikrocomputer 310 die C-Quelle 240 ausführen kann. Jeder Kern kann deshalb die ausführbare Datei, in welche die C-Quelle 240 kompiliert ist, ausführen.
  • Die ECU 300 ist elektrisch mit einem externen Instrument 400 verbunden und kann ein von dem externen Instrument 400 ausgegebenes Signal erwerben. Die ECU 300 erwirbt ein Signal von dem externen Instrument 400. Jeder Kern des Mehrkernmikrocomputers 310 führt die C-Quelle 240 aus. Ein Steuersignal wird dadurch an das externe Instrument 400 ausgegeben.
  • Wie oben angegeben schätzt der Computer 100 die Parallelität des einzelnen Programms auf dem Niveau des Steuermodells 210 und ermittelt, ob das Steuermodell 210 den Parallelitätsreferenzwert erfüllt. Der Computer 100 kann ermitteln, ob das Steuermodell 210 des einzelnen Programms, nicht das einzelne Programm, den Parallelitätsreferenzwert erfüllt.
  • Der Computer 100 extrahiert ein mit einem Muster zum Mildern/Entlasten der Verarbeitungssequenz gleichgesetztes Entlastungsmuster, wenn das Steuermodell 210 den Parallelitätsreferenzwert nicht erfüllt. In Bezug auf das Entlastungsmuster findet der Computer 100 ein den Evaluierungsparameter betreffendes Simulationsergebnis, um die für das Steuermodell 210 festgelegte Leistungsanforderung zu evaluieren, und ermittelt, ob das Simulationsergebnis den Parameterreferenzwert erfüllt. Der Computer 100 kann dadurch ermitteln, ob das Entlastungsmuster die Leistungsanforderung an das Steuermodell 210 erfüllt.
  • Der Computer 100 verwendet ein Entlastungsmuster als ein zum Ziel gesetztes Muster, um die C-Quelle 240 zu erzeugen, wenn das Entlastungsmuster das Simulationsergebnis veranlasst, den Parameterreferenzwert zu erfüllen, und das Parallelitätsschätzergebnis veranlasst, den Parallelitätsreferenzwert zu erfüllen. Der Computer 100 kann deshalb die C-Quelle 240 erzeugen, welche es erlaubt, dass mehrere Transaktionen parallelisiert werden. In anderen Worten kann die vorliegende Erfindung die C-Quelle 240 erzeugen, welche die Leistung des Mehrkernmikrocomputers 310 vollständig verwendet. Der Computer 100 verwendet das Entlastungsmuster, welches den Parameterreferenzwert erfüllt, als ein zum Ziel gesetztes Muster und kann deshalb ein Entlastungsmodell erzeugen, welches die spezifische gesteuerte Leistung wie das Steuermodell 210 umfasst und die hohe Parallelität sicherstellt.
  • Der Prozess (die Prozedur), um das Entlastungsmodell 21 zu erzeugen, kann auch ein Verfahren zum Verbessern des Steuermodells bereitstellen. Die Funktionsblöcke 11 bis 15 können auch ein Tool (Werkzeug) zum Verbessern des Steuermodells bereitstellen. Das Steuermodellverbesserungsverfahren kann das Steuermodell verwenden, um das Entlastungsmodell 21 zu erzeugen, welches es dem Simulationsergebnis ermöglicht, den Parameterreferenzwert zu erfüllen, und dem Parallelitätsschätzergebnis ermöglicht, den Parallelitätsreferenzwert zu erfüllen. In gleicher Weise kann das Verbesserungstool das Steuermodell verwenden, um das Entlastungsmodell 21 zu erzeugen, welches es dem Simulationsergebnis ermöglicht, den Parameterreferenzwert zu erfüllen, und welches es dem Parallelitätsschätzergebnis ermöglicht, den Parallelitätsreferenzwert zu erfüllen.
  • Die Beschreibung unten erläutert den Computer 100 gemäß einer Modifikation mit Bezug auf 8. Der Computer 100 gemäß der Modifikation umfasst die gleiche Konfiguration wie diejenige des Computers 100 gemäß dem oben erwähnten Ausführungsbeispiel. Die Modifikation verwendet die gleichen Bezugsziffern wie diejenigen des oben erwähnten Ausführungsbeispiels. Die gleiche Schrittzahl wird für den gleichen Prozess verwendet, wenn er für den Computer 100 gemäß der Modifikation und den Computer 100 gemäß dem oben erwähnten Ausführungsbeispiel verwendet wird, und eine Beschreibung wird weggelassen. Die Beschreibung des Prozesses in 8 kann durch die Beschreibung des Prozesses in 2 mit Bezug auf die gleiche Schrittzahl ersetzt werden, wenn verfügbar.
  • In Schritt S21 zeigt der Prozess ein Entlastungsmuster an, welches den Parallelitätsreferenzwert erfüllt (erste Anzeigeprozedur oder erste Anzeigeeinheit). In Schritt S18 kann es eine Vielzahl von Entlastungsmustern geben, die den Parallelitätsreferenzwert erfüllen. In diesem Fall ermöglicht es die Anzeigeinstruktionseinheit 18 der Anzeigeeinheit 260, die Entlastungsmuster, die den Parallelitätsreferenzwert erfüllen, anzuzeigen. In diesem Fall verwendet die Parallelitätsermittlungseinheit 12 nicht das Entlastungsmuster als ein zum Ziel gesetztes Muster, wenn das Entlastungsmuster als erstes das bejahende Ergebnis von der Ermittlung in Schritt S18 verursacht. Die Parallelitätsermittlungseinheit 12 ermöglicht es der Speichereinheit, die Entlastungsmuster, die den Parallelitätsreferenzwert in Schritt S18 erfüllen, zu speichern. Die Anzeigeinstruktionseinheit 18 gibt ein Instruktionssignal an die Anzeigeeinheit 260 aus und ermöglicht es der Anzeigeeinheit 260, die in der Speichereinheit gespeicherten Entlastungsmuster anzuzeigen.
  • Der Computer 100 kann es dadurch einem Benutzer ermöglichen, ein zum Ziel gesetztes Entlastungsmuster aus einer Vielzahl von Entlastungsmustern auszuwählen. Der Computer 100 kann einfach das zum Ziel gesetzte Muster auswählen, weil eine Instruktion, ein Entlastungsmuster auszuwählen, von dem Benutzer erworben werden kann, während die Anzeigeeinheit 260 die Entlastungsmuster anzeigt.
  • Die Anzeigeinstruktionseinheit 18 kann ein Simulationsergebnis und ein Parallelitätsschätzergebnis betreffend jedes Entlastungsmuster anzeigen, während die Entlastungsmuster auf der Anzeigeeinheit 260 angezeigt werden. Der Computer 100 kann dadurch die Menge an Informationen, die der Benutzer berücksichtigen soll, wenn er ein zum Ziel gesetztes Muster auswählt, erhöhen. Der Computer 100 kann es deshalb dem Benutzer ermöglichen, einfach das Entlastungsmuster als ein zum Ziel gesetztes Muster auszuwählen.
  • In Schritt S18 kann kein Entlastungsmuster existieren, welches den Parallelitätsreferenzwert erfüllt. In diesem Fall zeigt der Prozess ein Entlastungsmuster in Schritt S22 an, das den Parallelitätsreferenzwert nicht erfüllt (zweite Anzeigeprozedur oder zweite Anzeigeeinheit). Im Detail erlaubt es die Anzeigeinstruktionseinheit 18 der Anzeigeeinheit 260, das Entlastungsmuster, welches den Parallelitätsreferenzwert nicht erfüllt, und das Simulationsergebnis und das Parallelitätsschätzergebnis betreffend dieses Entlastungsmuster anzuzeigen. Eine Vielzahl von Entlastungsmustern kann den Parallelitätsreferenzwert nicht erfüllen. In diesem Fall erlaubt es die Anzeigeinstruktionseinheit 18 der Anzeigeeinheit 260, die Entlastungsmuster und die Simulationsergebnisse und die Parallelitätsschätzergebnisse betreffend diese Entlastungsmuster anzuzeigen. Der Computer 100 kann dadurch dem Benutzer melden, dass das Entlastungsmuster nicht den Parallelitätsreferenzwert erfüllt.
  • Es wird angemerkt, dass ein Flussdiagramm oder die Verarbeitung des Flussdiagrammes in der vorliegenden Anmeldung Abschnitte (auch als Schritte bezeichnet) umfasst, von welchen jeder zum Beispiel als S10 repräsentiert ist. Ferner kann jeder Abschnitt in mehrere Unterabschnitte aufgeteilt sein, während mehrere Abschnitte in einem einzelnen Abschnitt zusammengefasst sein können. Ferner kann jeder der so konfigurierten Abschnitte auch als eine Einrichtung, ein Modul oder ein Mittel bezeichnet sein.
  • Während die vorliegende Erfindung mit Bezug auf Ausführungsbeispiele davon beschrieben worden ist, soll es verstanden sein, dass die Erfindung nicht auf die Ausführungsbeispiele und Ausbildungen beschränkt ist. Die vorliegende Erfindung soll verschiedene Modifikationen und äquivalente Anordnungen abdecken. Außerdem sind, neben den verschiedenen Kombinationen und Ausgestaltungen, andere Kombinationen und Ausgestaltungen, welche mehr, weniger oder nur ein einzelnes Element umfassen, ebenfalls innerhalb des Geistes und Schutzbereichs der vorliegenden Erfindung.
  • 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 2015001807 A [0004, 0036]

Claims (15)

  1. Parallelisierungsverfahren zum Analysieren eines Steuermodells (210) eines Programms für einen Einkernmikrocomputer und Erzeugen eines Parallelisierungsprogramms (240), welches eine parallelisierte Transaktion für einen Mehrkernmikrocomputer umfasst, das Parallelisierungsverfahren umfassend: eine Schätzprozedur (S10), welche eine Parallelität des Steuermodells basierend auf einer Struktur des Steuermodells und Kosteninformationen von jedem Verarbeitungsblock schätzt; eine Parallelitätsermittlungsprozedur (S11), welche ein Parallelitätsschätzergebnis mit einem Parallelitätsreferenzwert vergleicht und ermittelt, ob das Steuermodell den Parallelitätsreferenzwert erfüllt; eine Suchprozedur (S12 bis S14), welche ein Entlastungsmuster extrahiert, das durch Entlasten einer Verarbeitungssequenz in Bezug auf zumindest einen Teil einer Datenabhängigkeitsbeziehung in dem Steuermodell erhalten wird, wenn das Steuermodell den Parallelitätsreferenzwert nicht erfüllt, und die Parallelität des Entlastungsmusters schätzt; eine Simulationsprozedur (S15), welche eine Betriebssimulation an dem Entlastungsmuster durchführt und ein Simulationsergebnis erhält, das sich auf einen Evaluierungsparameter zum Evaluieren einer bei dem Steuermodell definierten Leistungsanforderung bezieht; eine Parameterermittlungsprozedur (S16), welche ermittelt, ob das Simulationsergebnis einen Parameterreferenzwert erfüllt, der ein Referenzwert der bei dem Steuermodell definierten Leistungsanforderung ist; und eine Übernahmeprozedur (S18, S20), welche den Parallelitätsreferenzwert mit dem Parallelitätsschätzergebnis vergleicht, das von dem Entlastungsmuster erhalten wird, von welchem das Simulationsergebnis den Parameterreferenzwert erfüllt, und das Entlastungsmuster, das den Parallelitätsreferenzwert erfüllt, als ein Zielmuster zum Erzeugen des Parallelisierungsprogramms übernimmt.
  2. Parallelisierungsverfahren gemäß Anspruch 1, wobei: wenn die Suchprozedur eine Vielzahl von Entlastungsmustern extrahiert, die Suchprozedur die Parallelität von jedem der Vielzahl von Entlastungsmustern schätzt; die Simulationsprozedur sequenziell die Betriebssimulation an jedem der Entlastungsmuster in einer abnehmenden Reihenfolge der Parallelität von jedem der durch die Suchprozedur geschätzten Entlastungsmuster durchführt und das Simulationsergebnis von jedem Entlastungsmuster erhält; die Parameterermittlungsprozedur sequenziell in der abnehmenden Reihenfolge der Parallelität von jedem Entlastungsmuster ermittelt, ob das Simulationsergebnis den Parameterreferenzwert erfüllt; und die Übernahmeprozedur sequenziell das Parallelitätsschätzergebnis mit dem Parallelitätsreferenzwert in der abnehmenden Reihenfolge der Parallelität von jedem Entlastungsmuster vergleicht und jedes Entlastungsmuster, das den Parallelitätsreferenzwert erfüllt, als das Zielmuster übernimmt.
  3. Parallelisierungsverfahren gemäß Anspruch 2, wobei: wenn die Suchprozedur eine Vielzahl von Entlastungsmustern extrahiert, die Suchprozedur: die Parallelität von jedem der Vielzahl von Entlastungsmustern schätzt; das Parallelitätsschätzergebnis von jedem Entlastungsmuster mit dem Parallelitätsreferenzwert vergleicht; und nur das Entlastungsmuster, welches den Parallelitätsreferenzwert erfüllt, als das Entlastungsmuster zum Durchführen der Betriebssimulation übernimmt.
  4. Parallelisierungsverfahren gemäß Anspruch 2 oder 3, weiter umfassend: eine erste Anzeigeprozedur (S21), welche jedes Entlastungsmuster, das den Parallelitätsreferenzwert erfüllt, anzeigt, wenn die Übernahmeprozedur eine Vielzahl von Entlastungsmustern übernimmt, die den Parallelitätsreferenzwert erfüllen.
  5. Parallelisierungsverfahren gemäß einem der Ansprüche 1 bis 4, wobei: wenn kein Simulationsergebnis den Parameterreferenzwert erfüllt, die Übernahmeprozedur den Parallelitätsreferenzwert mit dem Parallelitätsschätzergebnis vergleicht, das von dem Entlastungsmuster erhalten wird, von welchem das Simulationsergebnis nicht den Parameterreferenzwert erfüllt, und das Entlastungsmuster, das den Parallelitätsreferenzwert erfüllt, als das zum Ziel gesetzte Muster übernimmt.
  6. Parallelisierungsverfahren gemäß einem der Ansprüche 1 bis 5, weiter umfassend: eine zweite Anzeigeprozedur (S22), welche das Entlastungsmuster, das Simulationsergebnis in Bezug auf das Entlastungsmuster und das Parallelitätsschätzergebnis anzeigt, wenn kein Entlastungsmuster den Parallelitätsreferenzwert bei einem Vergleichen von zumindest der Übernahmeprozedur erfüllt.
  7. Parallelisierungsverfahren gemäß einem der Ansprüche 1 bis 6, weiter umfassend: eine Erzeugungsprozedur, welche das Parallelisierungsprogramm aus dem in der Übernahmeprozedur übernommenen zum Ziel gesetzten Muster erzeugt.
  8. Parallelisierungstool, welches einen Computer (100) umfasst, der ein Steuermodell (210) eines Programms für einen Einkernmikrocomputer analysiert und ein Parallelisierungsprogramm (240), das eine parallelisierte Transaktion für einen Mehrkerncomputer umfasst, erzeugt, das Parallelisierungstool umfassend: eine Schätzeinheit (S10), welche eine Parallelität des Steuermodells basierend auf einer Struktur des Steuermodells und Kosteninformationen von jedem Verarbeitungsblock schätzt; eine Parallelitätsermittlungseinheit (S11), welche ein Parallelitätsschätzergebnis mit einem Parallelitätsreferenzwert vergleicht und ermittelt, ob das Steuermodell den Parallelitätsreferenzwert erfüllt; eine Sucheinheit (S12 bis S14), welche ein Entlastungsmuster extrahiert, das durch Entlasten einer Verarbeitungssequenz in Bezug auf zumindest einen Teil einer Datenabhängigkeitsbeziehung in dem Steuermodell erhalten wird, wenn das Steuermodell nicht den Parallelitätsreferenzwert erfüllt, und die Parallelität des Entlastungsmusters schätzt; eine Simulationseinheit (S15), welche eine Betriebssimulation an dem Entlastungsmuster durchführt und ein Simulationsergebnis erhält, welches sich auf einen Evaluierungsparameter zum Evaluieren einer bei dem Steuermodell definierten Leistungsanforderung bezieht; eine Parameterermittlungseinheit (S16), welche ermittelt, ob das Simulationsergebnis einen Parameterreferenzwert erfüllt, der ein Referenzwert der bei dem Steuermodell definierten Leistungsanforderung ist; und eine Übernahmeeinheit (S18, S20), welche den Parallelitätsreferenzwert mit dem Parallelitätsschätzergebnis vergleicht, das von dem Entlastungsmuster erhalten wird, von welchem das Simulationsergebnis den Parameterreferenzwert erfüllt, und das Entlastungsmuster, das den Parallelitätsreferenzwert erfüllt, als ein Zielmuster zum Erzeugen des Parallelisierungsprogramms übernimmt.
  9. Parallelisierungstool gemäß Anspruch 8, wobei: wenn die Sucheinheit eine Vielzahl von Entlastungsmustern extrahiert, die Sucheinheit die Parallelität von jedem der Vielzahl von Entlastungsmustern schätzt; die Simulationseinheit sequenziell die Betriebssimulation an jedem der Entlastungsmuster in einer abnehmenden Reihenfolge der Parallelität von jedem Entlastungsmuster, das durch die Sucheinheit geschätzt wird, durchführt und das Simulationsergebnis von jedem Entlastungsmuster erhält; die Parameterermittlungseinheit sequenziell in der abnehmenden Reihenfolge der Parallelität von jedem Entlastungsmuster ermittelt, ob das Simulationsergebnis den Parameterreferenzwert erfüllt; und die Übernahmeeinheit sequenziell das Parallelitätsschätzergebnis mit dem Parallelitätsreferenzwert in der abnehmenden Reihenfolge der Parallelität von jedem Entlastungsmuster vergleicht und jedes Entlastungsmuster, das den Parallelitätsreferenzwert erfüllt, als das Zielmuster übernimmt.
  10. Parallelisierungstool gemäß Anspruch 9, wobei: wenn die Sucheinheit eine Vielzahl von Entlastungsmustern extrahiert, die Sucheinheit: die Parallelität von jedem der Vielzahl von Entlastungsmustern schätzt; das Parallelitätsschätzergebnis von jedem Entlastungsmuster mit dem Parallelitätsreferenzwert vergleicht; und nur das Entlastungsmuster, welches den Parallelitätsreferenzwert erfüllt, als das Entlastungsmuster zum Durchführen der Betriebssimulation übernimmt.
  11. Parallelisierungstool gemäß Anspruch 9 oder 10, weiter umfassend: eine erste Anzeigeeinheit (S21), welche jedes Entlastungsmuster anzeigt, das den Parallelitätsreferenzwert erfüllt, wenn die Übernahmeeinheit eine Vielzahl von Entlastungsmustern, die den Parallelitätsreferenzwert erfüllen, übernimmt.
  12. Parallelisierungstool gemäß einem der Ansprüche 8 bis 11, wobei: wenn kein Simulationsergebnis den Parameterreferenzwert erfüllt, die Übernahmeeinheit den Parallelitätsreferenzwert mit dem Parallelitätsschätzergebnis vergleicht, das von dem Entlastungsmuster erhalten wird, von welchem das Simulationsergebnis nicht den Parameterreferenzwert erfüllt, und das Entlastungsmuster, das den Parallelitätsreferenzwert erfüllt, als das zum Ziel gesetzte Muster übernimmt.
  13. Parallelisierungstool gemäß einem der Ansprüche 8 bis 12, weiter umfassend: eine zweite Anzeigeeinheit (S22), welche das Entlastungsmuster, das Simulationsergebnis in Bezug auf das Entlastungsmuster und das Parallelitätsschätzergebnis anzeigt, wenn kein Entlastungsmuster den Parallelitätsreferenzwert bei einem Vergleichen von zumindest der Übernahmeeinheit erfüllt.
  14. Parallelisierungstool gemäß einem der Ansprüche 8 bis 13, weiter umfassend: eine Erzeugungseinheit, welche das Parallelisierungsprogramm aus dem zum Ziel gesetzten Muster, das in der Übernahmeeinheit übernommen worden ist, erzeugt.
  15. Fahrzeuginterne Steuervorrichtung umfassend: einen Mehrkernmikrocomputer (310), welcher eine Vielzahl von Kernen hat; und ein Parallelisierungsprogramm (240), welches eine parallelisierte Transaktion für den Mehrkernmikrocomputer umfasst, wobei: das Parallelisierungsprogramm basierend auf einem Entlastungsmuster erzeugt wird, welches durch Entlasten einer Verarbeitungssequenz in Bezug auf zumindest einen Teil einer Datenabhängigkeitsbeziehung in einem Steuermodell (210) eines Programms für einen Einkernmikrocomputer erhalten worden ist; das Parallelisierungsprogramm einen Parallelitätsreferenzwert und einen Parameterreferenzwert erfüllt, welches ein Referenzwert einer bei dem Steuermodell definierten Leistungsanforderung ist; und jeder Kern des Mehrkernmikrocomputers das Parallelisierungsprogramm durchführt.
DE102017220181.9A 2017-01-31 2017-11-13 Parallelisierungsverfahren, Parallelisierungstool und fahrzeuginterne Steuervorrichtung Ceased DE102017220181A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-15286 2017-01-31
JP2017015286A JP6776914B2 (ja) 2017-01-31 2017-01-31 並列化方法、並列化ツール

Publications (1)

Publication Number Publication Date
DE102017220181A1 true DE102017220181A1 (de) 2018-08-02

Family

ID=62843038

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017220181.9A Ceased DE102017220181A1 (de) 2017-01-31 2017-11-13 Parallelisierungsverfahren, Parallelisierungstool und fahrzeuginterne Steuervorrichtung

Country Status (2)

Country Link
JP (1) JP6776914B2 (de)
DE (1) DE102017220181A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7318485B2 (ja) * 2019-10-25 2023-08-01 株式会社デンソー 自動コード生成方法、コードプログラム、電子制御装置、自動コード生成プログラム、及び自動コード生成装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015001807A (ja) 2013-06-14 2015-01-05 株式会社デンソー 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015001807A (ja) 2013-06-14 2015-01-05 株式会社デンソー 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置

Also Published As

Publication number Publication date
JP6776914B2 (ja) 2020-10-28
JP2018124710A (ja) 2018-08-09

Similar Documents

Publication Publication Date Title
DE60010420T2 (de) Automatisches Regressionstesten von Arbeitsplatz-Software
DE69724322T2 (de) Verfahren und Anordnung zum frühzeitigen Einfügen von Assemblercode zwecks Optimierung
DE102020115253A1 (de) Verfahren und einrichtung zum ausführen eines applets
DE102016204963A1 (de) Parallelisierungskompilierverfahren, Parallelisierungskompilierer und Fahrzeugvorrichtung
DE102009046876A1 (de) Verfahren und System für die Datenvorabholung für Schleifen auf der Basis linearer Induktionsausdrücke
DE102016223939A1 (de) Parallelisierungsverfahren, Parallelisierungswerkzeug und fahrzeugeigene Vorrichtung
DE102017210126A1 (de) Parallelisierungsverfahren, Parallelisierungswerkzeug und fahrzeuginterne Vorrichtung
DE112019002778T5 (de) Simulationsvorrichtung, simulationsverfahren und elektronische steuereinheitsvorrichtung
DE112018002316T5 (de) Codeabdeckungsverfolgung für ein mikrocontroller-programm
DE10038499A1 (de) Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung
DE112013007083T5 (de) Programmanalysevorrichtung, Programmanalyseverfahren und Programmanalyseprogramm
DE102016204970A1 (de) Parallelisierungskompilierverfahren, Parallelisierungskomplierer und Fahrzeugvorrichtung
DE102017220181A1 (de) Parallelisierungsverfahren, Parallelisierungstool und fahrzeuginterne Steuervorrichtung
DE102016204960A1 (de) Parallelisierungskompilierverfahren, Parallelisierungskompilierer und Fahrzeugvorrichtung
DE112017002779T5 (de) Formatspezifische Datenverarbeitungsoperationen
DE102019008598A1 (de) Identifikation und Visualisierung von Assoziationen zwischen Code, der von einem Modell generiert ist, und Quellen, welche die Codegeneration beeinflussen
DE10393511T5 (de) Programmentwicklungsunterstützungsvorrichtung, Programmausführungsvorrichtung, Kompilierverfahren und Diagnoseverfahren
DE112008003878T5 (de) Verfahren und Vorrichtung für die Bestimmung eines sich wiederholenden Bitwertmusters
DE112018006331B4 (de) Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm
DE112020003634T5 (de) Automatische verifizierung der optimierung von konstrukten auf hoher ebene unter verwendung von prüfvektoren
DE10058371A1 (de) Verwaltung von nicht-festgelegten Registerwerten während der Zufallsprogrammerzeugung
EP0468980B1 (de) Verfahren zur feststellung von durch vektorbefehle eines vektorrechners ersetzbare zyklen innerhalb von befehlsschleifen von für von neumann rechner geschriebene programme
DE102017212612A1 (de) Verfahren zum automatischen Erzeugen von Tests für die Software eines Fahrzeugs
DE102021130822A1 (de) Automatisches erstellen und ausführen eines testsystems für arbeitsabläufe
EP2137622B1 (de) Verfahren und datenverarbeitungssystem zur rechnergestützten performanzanalyse eines datenverarbeitungssystems

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final