DE102016224206A1 - Fahrzeugsteuervorrichtung - Google Patents

Fahrzeugsteuervorrichtung Download PDF

Info

Publication number
DE102016224206A1
DE102016224206A1 DE102016224206.7A DE102016224206A DE102016224206A1 DE 102016224206 A1 DE102016224206 A1 DE 102016224206A1 DE 102016224206 A DE102016224206 A DE 102016224206A DE 102016224206 A1 DE102016224206 A1 DE 102016224206A1
Authority
DE
Germany
Prior art keywords
core
semaphore
exclusion
storage unit
control device
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.)
Pending
Application number
DE102016224206.7A
Other languages
English (en)
Inventor
Eiji Matsuoka
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 DE102016224206A1 publication Critical patent/DE102016224206A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

Eine Fahrzeugsteuervorrichtung für ein Fahrzeug beinhaltet mehrere Prozessoren (10, 20), eine gemeinsame Speichereinheit (33, 41) auf die durch mehreren Prozessoren zugegriffen werden kann, ein Programm (31a, 31b) zum Ausführen durch die Prozessoren und einschließlich mehrerer Ausschlusssteuerungen zum Beschränken, dass Zugriffe durch die Prozessoren auf die gemeinsame Speichereinheit miteinander konkurrieren, eine Speichereinheit (32, 32a), die eine Ausführungshistorie entsprechend jeder Ausschlusssteuerung speichert und angibt, welche Ausschlusssteuerung durch welchen Prozess ausgeführt wurde. Jeder Prozessor ist ausgelegt, um die Ausschlusssteuerung auszuführen, die durch die gespeicherte Ausführungshistorie als durch die mehreren Prozessoren ausgeführt angegeben ist. Jeder Prozessor ist ausgelegt, um die Ausschlusssteuerung nicht auszuführen, die als nicht durch die mehreren Prozessoren ausgeführt angegeben ist.

Description

  • Die vorliegende Offenbarung betrifft eine Fahrzeugsteuervorrichtung, die in einem Fahrzeug angebracht ist und mehrere Prozessoren und eine gemeinsame Speichereinheit zum Speichern von gemeinsamen Daten beinhaltet, auf die durch die mehreren Prozessoren gemeinsam zugegriffen werden kann.
  • Patentdokument 1 offenbart ein Beispiel der Fahrzeugsteuervorrichtungen, die vorstehend beschrieben sind.
  • Patentdokument 1 offenbart eine Fahrzeugsteuervorrichtung einschließlich mehreren Prozessoren und einer gemeinsamen Speichereinheit, die gemeinsame Daten redundant speichert, auf die durch die mehreren Prozessoren gemeinsam zugegriffen werden kann. Um zu vermeiden, dass Zugriffe auf die gemeinsame Speichereinheit miteinander konkurrieren, gibt die Fahrzeugsteuervorrichtung 1 ein Unterbrechungssignal (ein sogenanntes Interrupt-Signal) höchster Priorität in den Prozessor ein, der keine Datenaktualisierungsverarbeitung ausführt.
    • Patentdokument 1: JP-A-2013-171547
  • Jedoch, da in Patentdokument 1 die Unterbrechung jedes Mal erzeugt wird, wenn die gemeinsamen Daten aktualisiert werden, tritt, wenn es viele gemeinsame Daten gibt, die Unterbrechung häufig auf. Somit besteht ein Problem in Patentdokument 1 darin, dass die Unterbrechung zum Aktualisieren der gemeinsamen Daten andere Unterbrechungen verzögert. Ferner ist in Patentdokument 1 die Belastung des Prozessors ebenso durch eine Verarbeitungszeit für beispielsweise eine Unterrichtungsverarbeitung der gemeinsamen Speichereinheit erhöht.
  • Hinsichtlich des Vorstehenden ist es eine Aufgabe der vorliegenden Offenbarung, eine Fahrzeugsteuervorrichtung bereitzustellen, die Unterbrechungsverzögerung und Prozessorbelastung reduziert.
  • In einem ersten Aspekt der vorliegenden Offenbarung weist eine Fahrzeugsteuervorrichtung für ein Fahrzeug auf: mehrere Prozessoren (10, 20); eine gemeinsame Speichereinheit (33, 41), auf die durch die mehreren Prozessoren gemeinsam zugegriffen werden kann; ein Programm (31a, 31b) zum Ausführen durch die mehreren Prozessoren und einschließlich mehrerer Ausschlusssteuerungen, um zu beschränken, dass Zugriffe durch die mehreren Prozessoren auf die gemeinsame Speichereinheit miteinander konkurrieren; und eine Speichereinheit (32, 32a) zum Speichern einer Ausführungshistorie entsprechend jeder Ausschlusssteuerung und angebend, welche Ausschlusssteuerung durch welchen Prozessor ausgeführt wurde. Jeder Prozessor ist ausgelegt, um von den mehreren Ausschlusssteuerungen, die Ausschlusssteuerung auszuführen, die durch die gespeicherte Ausführungshistorie als durch die mehreren Prozessoren ausgeführt angegeben ist. Jeder Prozessor ist ausgelegt, um von den mehreren Ausschlusssteuerungen, die Ausschlusssteuerung, die durch die gespeicherte Ausführungshistorie als nicht durch die mehreren Prozessoren ausgeführt angegeben ist, nicht auszuführen.
  • Wie vorstehend beschrieben ist, beinhaltet die Fahrzeugsteuervorrichtung die Speichereinheit, die die Ausführungshistorie speichert, die angibt, welche Ausschlusssteuerung durch welchen Prozessor ausgeführt wurde. Somit erkennt die Fahrzeugsteuervorrichtung für jede der Ausschlusssteuerungen welcher Prozessor die Ausschlusssteuerung ausgeführt hat. Die Ausschlusssteuerung, die durch die mehreren Prozessoren ausgeführt wurde, involviert eine Möglichkeit, dass die Zugriffe der mehreren Prozessoren auf die gemeinsame Speichereinheit wahrscheinlich miteinander konkurrieren. Aus diesem Grund führen die jeweiligen Prozessoren die Ausschlusssteuerungen, die durch die mehreren Prozessoren ausgeführt wurden, von den mehreren Ausschlusssteuerungen aus. Andererseits konkurrieren in der Ausschlusssteuerung, die nicht durch die mehreren Prozessoren ausgeführt wurde bzw. wird, die Zugriffe durch die mehreren Prozessoren auf die gemeinsame Speichereinheit wahrscheinlich nicht miteinander. Aus diesem Grund führen die jeweiligen Prozessoren die Ausschlusssteuerungen, die durch die mehreren Prozessoren ausgeführt wurden, von den mehreren Ausschlusssteuerungen nicht aus.
  • Somit ist es, wenn es keine Möglichkeit gibt, dass die Zugriffe durch die mehreren Prozessoren auf die gemeinsame Speichereinheit miteinander konkurrieren, möglich, dass die Ausschlusssteuerungen daran gehindert werden, ausgeführt zu werden. Demnach kann verhindert werden, dass die Ausschlusssteuerungen exzessiv ausgeführt werden. Mit der vorstehenden Konfiguration kann die Belastung durch die Prozessoren reduziert werden. Ferner kann die Verzögerung, die durch die Interrupts bzw. Unterbrechungen für die Ausschlusssteuerungen verursacht wird, reduziert werden.
  • Die vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung werden aus der nachfolgenden detaillierten Beschreibung in Zusammenschau mit den Zeichnungen ersichtlicher.
  • 1 ist ein Blockschaltbild, das eine schematische Konfiguration einer Fahrzeugsteuervorrichtung gemäß einer ersten Ausführungsform illustriert.
  • 2 ist ein Ablaufdiagramm zu einer Zeit einer Ausführung eines Plattformprogramms gemäß der ersten Ausführungsform.
  • 3 ist ein Ablaufdiagramm, das eine Semaphor-Erlangungsverarbeitung gemäß der ersten Ausführungsform illustriert.
  • 4 ist ein Ablaufdiagramm, das eine Spinlock-Verarbeitung gemäß der ersten Ausführungsform illustriert;
  • 5 ist ein Ablaufdiagramm, das eine Semaphor-Freigabeverarbeitung gemäß der ersten Ausführungsform illustriert.
  • 6 ist ein Diagramm, das Ausführungshistorien gemäß der ersten Ausführungsform illustriert.
  • 7 ist ein Diagramm, das eine Beziehung zwischen jeder gemeinsamen Speichereinheit und einem Semaphor gemäß der ersten Ausführungsform illustriert.
  • 8 ist ein Diagramm, das eine Beziehung zwischen jeder gemeinsamen Speichereinheit und einem Semaphor gemäß einer Modifikation 1 illustriert.
  • 9 ist ein Diagramm, das eine Beziehung zwischen jeder gemeinsamen Speichereinheit und einem Semaphor gemäß einer Modifikation 2 illustriert.
  • 10 ist Blockschaltbild, das eine schematische Konfiguration einer Fahrzeugsteuervorrichtung gemäß einer zweiten Ausführungsform illustriert.
  • Nachfolgend werden Ausführungsformen mit Bezug auf die Zeichnungen beschrieben.
  • (Erste Ausführungsform)
  • Die vorliegende Ausführungsform ist auf eine Fahrzeugsteuervorrichtung 100 gerichtet, die in 1 illustriert ist. Die Fahrzeugsteuervorrichtung 100 ist eine Steuervorrichtung, die in einem Fahrzeug angebracht ist, und kann beispielsweise auf eine Brennkraftmaschinensteuereinheit, eine Hybridsteuereinheit usw. angewandt werden. Beispielhaft illustriert die vorliegende Ausführungsform die Fahrzeugsteuervorrichtung 100, die auf eine Brennkraftmaschinensteuereinheit angewandt ist.
  • Die Fahrzeugsteuervorrichtung 100 kann Erfassungssignale von mehreren Sensoren erlangen und führt eine Berechnung zum Ausführen einer optimalen Kraftstoffinjektion gemäß einem Zustand einer Brennkraftmaschine unter Verwendung der erlangten Erfassungssignale aus. 2 zeigt einen Kurbelwinkelsensor 210 als ein Beispiel der Sensoren. Die Fahrzeugsteuervorrichtung 100 ist mit unterschiedlichen Aktoren verbunden. In 1 ist ein Injektor 220 als ein Beispiel der Aktuatoren dargestellt. Die Fahrzeugsteuervorrichtung 100 gibt ein Steuersignal, das ein Berechnungsergebnis repräsentiert, zum Steuern des Aktuators wie beispielsweise des Injektors 220 aus. Auf diese Weise steuert die Fahrzeugsteuervorrichtung 100 die Brennkraftmaschine.
  • Die Fahrzeugsteuervorrichtung 100 beinhaltet einen Mikrocomputer. Insbesondere beinhaltet die Fahrzeugsteuervorrichtung 100 einen ersten Kern 10, einen zweiten Kern 20, eine erste Speichereinheit 31, eine zweite Speichereinheit 32, eine erste gemeinsame Speichereinheit 33, eine Eingabe/Ausgabe-Schaltung 40 und eine zweite gemeinsame Speichereinheit 41. Die erste gemeinsame Speichereinheit 33 und die zweite gemeinsame Speichereinheit 41 sind durch den ersten Kern 10 und den zweiten Kern 20 gemeinsam erreichbar bzw. kann auf sie gemeinsam zugegriffen werden. In der nachfolgenden Beschreibung können die erste gemeinsame Speichereinheit 33 und die zweite gemeinsame Speichereinheit 41 kollektiv als gemeinsame Speichereinheit bezeichnet werden.
  • Der erste Kern 10 beinhaltet eine erste CPU 11, ein erstes Register 12 und einen ersten Speicher 13. Der erste Speicher 13 speichert eine Kern-ID des ersten Kerns 10, die als eine erste Kern-ID bezeichnet wird. Die erste Kern-ID lässt Informationen, die spezifizieren, dass der Kern der erste Kern 10 ist, das heißt, Identifikationsinformationen. Die ID ist eine Abkürzung von Identifikation.
  • Wie der erste Kern 10 beinhaltet der zweite Kern 20 eine zweite CPU 21, ein zweites Register 22 und einen zweiten Speicher 23. Eine zweite Kern-ID ist bzw. entspricht Identifikationsinformationen, die spezifizieren, dass der Kern der zweite Kern 20 ist. Die erste Kern-ID und die zweite Kern-ID werden einzigartig bzw. einzeln bereitgestellt.
  • Wie vorstehend beschrieben ist, setzt die vorliegende Ausführungsform den ersten Kern 10 und den zweiten Kern 20 als mehrere Prozessoren ein. Jedoch ist die vorliegende Ausführungsform nicht auf die vorstehende Konfiguration beschränkt, sondern kann drei oder mehr Kerne beinhalten. CPU ist eine Abkürzung für Central Processing Unit (zentrale Verarbeitungseinheit).
  • Der erste Kern 10 und der zweite Kern 20 führen ein Anwendungsprogramm und ein Plattformprogramm aus und führen dabei die Berechnung aus und geben das Steuersignal durch die Eingabe/Ausgabe-Schaltung 40 aus, während sie auf gemeinsame Daten zugreifen, die in der gemeinsamen Speichereinheit gespeichert sind. Der erste Kern 10 und der zweite Kern 20 führen das Anwendungsprogramm und das Plattformprogramm aus und greifen dabei auf die zweite Speichereinheit 32 zu. Wenn jeder des ersten Kerns und des zweiten Kerns 20 auf die zweite Speichereinheit 32 zugreift, kann jeder des ersten Kerns 10 und des zweiten Kerns 20 die Erlangung und Freigabe des Semaphors, die Aktualisierung einer Kernausführungshistorie usw. ausführen. Auf diese Weise führt die Fahrzeugsteuervorrichtung 100 eine Kernausschlusssteuerung unter Verwendung des Semaphors aus. Dies ist ein Beispiel von Kernausschlusssteuerungen, ist jedoch nicht beschränkend. Eine Ausschlusssteuerung wie beispielsweise ein Mutex (wechselseitiger Ausschluss) kann ausgeführt werden. Die Kernausschlusssteuerung entspricht einer Ausschlusssteuerung.
  • In der nachfolgenden Beschreibung können, wenn es keinen Bedarf zum Unterscheiden des ersten Kerns 10 und des zweiten Kerns 20 voneinander gibt, der erste Kern 10 und der zweite Kern 20 einfach als Kerne bezeichnet werden. Auf gleiche Weise, wenn es keinen Bedarf zum Unterscheiden der ersten Kern-ID und der zweiten Kern-ID voneinander gibt, können die erste Kern-ID und die zweite Kern-ID ebenso lediglich als Kern-IDs bezeichnet werden.
  • Die erste Speichereinheit 31 kann beispielsweise einen ROM einsetzen. Programme, die in dem ersten Kern 10 und dem zweiten Kern 20 ausgeführt werden, sind in der ersten Speichereinheit 31 gespeichert. Die Programme sind in das Anwendungsprogramm und das Plattformprogramm separiert. In anderen Worten sind das Anwendungsprogramm und das Plattformprogramm in der ersten Speichereinheit 31 gespeichert. Das Anwendungsprogramm beinhaltet ein Programm, das Befehlswerte einer Brennkraftmaschinenposition und einer Injektionsquantität zum Injizieren eines Kraftstoffs gemäß eines Fahrzeugzustands usw. berechnet. Das Plattformprogramm beinhaltet ein Programm zum Antreiben der Eingabe/Ausgabe-Schaltung 40, um den Kraftstoff mit der Soll-Brennkraftmaschinenposition und Soll-Injektionsquantität beispielsweise auf der Basis der Befehlswerte von dem Anwendungsprogramm zu injizieren.
  • Indessen ist es denkbar, dass hinsichtlich den Programmen, die in der ersten Speichereinheit 31 gespeichert sind, beispielsweise ein Lieferant für Fahrzeugsteuervorrichtungen das Plattformprogramm entwickelt und ein Fahrzeughersteller das Anwendungsprogramm entwickelt. Typischerweise werden Entwicklungsposten des Plattformprogramms in mehreren Fahrzeugsystemen wiederverwendet, jedoch kann sich das Anwendungsprogramm von Fahrzeugsystem zu Fahrzeugsystem unterscheiden. Aus diesem Grund ist es wahrscheinlich, dass die CPU-Zuordnung zum Ausführen des Plattformprogramms wahrscheinlich abhängig von den Fahrzeugsystemen unterschiedlich ist. In so einem Fall besteht ungeachtet von Arten der CPU-Zuordnung zu dem Plattformprogramm ein Bedarf zum Ausführen der Ausschlusssteuerung (nachfolgend als Kernausschlusssteuerung bezeichnet) zwischen den Kernen, um die Zugriffskonkurrenz der gemeinsamen Speichereinheit zu vermeiden.
  • Insbesondere ist das Plattformprogramm so konfiguriert, dass die Kernausschlusssteuerung bei allen Zeitpunkten des Zugriffs auf die gemeinsame Speichereinheit ausgeführt wird. In anderen Worten ist das Plattformprogramm so konfiguriert, dass die Kernausschlusssteuerung entsprechend all den Verarbeitungen zum Zugreifen auf die gemeinsame Speichereinheit ausgeführt wird. Es kann gesagt werden, dass das Plattformprogramm vollständig mit der Kernausschlusssteuerung versehen ist. Ferner kann gesagt werden, dass das Programm mehrere Ausschlusssteuerungen zum Unterdrücken der Konkurrenz zum Zugreifen durch den ersten Kern 10 und den zweiten Kern 20 auf die gemeinsame Speichereinheit beinhaltet. Jedoch greifen der erste Kern 10 und der zweite Kern 20 nicht immer auf die gemeinsame Speichereinheit zu all den Zeitpunkten zu.
  • In einem weiteren Sinn kann gesagt werden, dass: die erste Speichereinheit 31 als die durch den ersten Kern 10 und den zweiten Kern 20 auszuführenden Programme ein erstes Programm einschließlich der mehreren Kernausschlusssteuerungen und ein zweites Programm, das sich von dem ersten Programm unterscheidet, speichert.
  • Die zweite Speichereinheit 32 kann beispielsweise ein RAM einsetzen. Das Semaphor und die Kernausführungshistorie sind in der zweiten Speichereinheit 32 gespeichert. Die zweite Speichereinheit 32 entspricht einer Speichereinheit.
  • Das Semaphor wird für die Kernaufschlusssteuerung in einer Vorrichtung einschließlich der mehreren Kerne und der gemeinsamen Speichereinheit, wie allgemein bekannt ist, verwendet. Insbesondere wird das Semaphor in der Kernausschlusssteuerung zum Zweck des Vermeidens, dass die Zugriffe des ersten Kerns 10 und des zweiten Kerns 20 auf die erste gemeinsame Speichereinheit 33 und die zweite gemeinsame Speichereinheit 41 miteinander konkurrieren. Es kann gesagt werden, dass die Kernausschlusssteuerung eine Technologie zum Verwirklichen, dass eine Zeit, bei der der erste Kern 10 auf die gemeinsamen Daten zugreift, und eine Zeit, bei der der zweite Kern 20 auf die gemeinsamen Daten zugreift, nicht miteinander übereinstimmen, ist.
  • Das Semaphor hat einen Freigabezustand (und einen Erlangungszustand. Insbesondere gibt das Semaphor die Kern-ID an, wenn sie erlangt wird und während sie freigegeben wird. Beispielsweise beinhaltet die zweite Speichereinheit 32 Informationen, die einen Semaphor-Erlangungszustand oder einen Semaphor-Freigabezustand angeben, und beinhaltet ferner die Kern-ID des Kerns, der das Semaphor erlangt. Indessen können die Informationen, die dem Semaphor-Erlangungszustand oder dem Semaphor-Freigabezustand und die Kern-ID des Kerns, der das Semaphor erlangt, kollektiv als Semaphor-Informationen bezeichnet werden. Somit entspricht das Semaphor, das in der zweiten Speichereinheit 32 von 1 beschrieben ist, Semaphor-Informationen.
  • Zusätzlich ist die Anzahl von Kernen, die das Semaphor erlangen, auf Eins beschränkt. Beispielsweise ist der Kern, der das Semaphor erlangt, nur einer des ersten Kerns und des zweiten Kerns 20. In der Kernausschlusssteuerung greifen die Kerne auf die erste gemeinsame Speichereinheit 33 und die zweite gemeinsame Speichereinheit 41 zu, während sie Bezug auf das Semaphor nehmen, wodurch Ausschluss zwischen den Kernen erreicht wird. Beispielsweise greift der erste Kern 10 auf die erste gemeinsame Speichereinheit 33 mit Bezug auf das Semaphor zu, wobei dem zweiten Kern 20 verboten ist, auf die erste gemeinsame Speichereinheit 33 zuzugreifen, bis das Semaphor durch den ersten Kern 10 freigegeben ist.
  • Die Anzahl von Semaphoren kann Eins oder mehrere sein. 7 illustriert eine Beziehung zwischen jeder gemeinsamen Speichereinheit und dem Semaphor, wenn ein Semaphor vorgesehen ist. In anderen Worten wird ein Semaphor X durch mehrere gemeinsame Speichereinheiten geteilt. Die vorliegende Ausführungsform setzt die Fahrzeugsteuervorrichtung 100, die nur die erste gemeinsame Speichereinheit 33 und die zweite gemeinsame Speichereinheit 41 aufweist, als die gemeinsamen Speichereinheiten ein. Jedoch ist in einer Illustration der Beziehung zwischen den gemeinsamen Speichereinheiten und dem Semaphor eine dritte gemeinsame Speichereinheit zusätzlich zur ersten gemeinsamen Speichereinheit 33 und zur zweiten gemeinsamen Speichereinheit 41 vorgesehen.
  • Die Kernausführungshistorie ist ein Bereich zum Speichern einer Ausführungshistorie von Kernausschlusssteuerungen beim Ausführen des Programms, das heißt der Ausführungshistorie jedes Prozessors, der die Kernausschlusssteuerung ausgeführt hat. Die Kernausführungshistorie kann ebenso als Historie einer Ausführung der Semaphor-Erlangungsverarbeitung beschrieben werden. Die Kernausführungshistorie kann ebenso als Daten beschrieben werden, die angeben, welcher Kern die Semaphor-Erlangungsverarbeitung ausgeführt hat oder nicht. Ferner beinhaltet die Kernausführungshistorie Ausführungshistorien entsprechend der jeweiligen Ausschlusssteuerungen, die jeweils angeben, ob die Kernausschlusssteuerung durch den ersten Kern 10 und den zweiten Kern 20 ausgeführt wurde oder nicht.
  • Wie in 6 illustriert ist, beinhaltet die Kernausführungshistorie Ausführungshistorien für den entsprechenden ersten Kern 10 und zweiten Kern 20, in der 0 angibt, dass keine Ausführungshistorie vorliegt und 1 angibt, dass die Ausführungshistorie vorliegt. In dem Beispiel von 6 hat der erste Kern 10 die Ausführungshistorie und der zweite Kern 20 hat keine Ausführungshistorie. Die Kernausführungshistorie hat eine Eins-zu-Eins-Beziehung zu dem Semaphor. in anderen Worten, wie vorstehend beschrieben ist, wenn mehrere Semaphore vorliegen, sind die Kernausführungshistorien entsprechend den jeweiligen Semaphoren vorgesehen. Die zweite Speichereinheit 32 speichert die mehreren Kernausführungshistorien.
  • Liegen die mehreren Semaphore vor, muss jede der mehreren gemeinsamen Speichereinheiten einem Semaphor entsprechen. In anderen Worten hat jede der mehreren gemeinsamen Speichereinheiten nur ein entsprechendes Semaphor.
  • Beispielsweise illustriert 8 eine Beziehung zwischen jeder gemeinsamen Speichereinheit und dem Semaphor, wenn zwei Semaphore vorgesehen sind. In diesem Fall entspricht die erste gemeinsame Speichereinheit 33 nur dem Semaphor X. Die zweite gemeinsame Speichereinheit 41 und die dritte gemeinsame Speichereinheit entsprechen nur einem Semaphor Y. Somit, wenn auf die erste gemeinsame Speichereinheit 33 zugegriffen wird, wird Ausschluss durch das Semaphor X ausgeführt. Wenn auf die zweite gemeinsame Speichereinheit 41 und die dritte gemeinsame Speichereinheit zugegriffen wird, wird der Ausschluss durch das Semaphor Y ausgeführt.
  • 9 illustriert eine Beziehung zwischen jeder gemeinsamen Speichereinheit und dem Semaphor, wenn drei Semaphore vorgesehen sind. In diesem Fall entspricht die erste gemeinsame Speichereinheit 33 nur dem Semaphor X. Die zweite gemeinsame Speichereinheit entspricht nur dem Semaphor Y. Die dritte gemeinsame Speichereinheit entspricht nur einem Semaphor Z. Somit, wenn auf die erste gemeinsame Speichereinheit 33 zugegriffen wird, wird Ausschluss durch das Semaphor X ausgeführt. Wenn auf die zweite gemeinsame Speichereinheit 41 zugegriffen wird, wird Ausschluss durch das Semaphor Y ausgeführt. Wenn auf die dritte gemeinsame Speichereinheit zugegriffen wird, wird Ausschluss durch das Semaphor Z ausgeführt.
  • Jedoch, wenn die unterschiedlichen Semaphore X, Y, Z für die entsprechenden Speichereinheiten, wie in 9 illustriert ist, vorgesehen sind, ist es schwierig, dass die Fahrzeugsteuervorrichtung 100 die Beschränkung der Speichereinheitressourcen erfüllt. Wenn ein Semaphor X für die mehreren gemeinsamen Speichereinheiten in der Fahrzeugsteuervorrichtung 100, wie in 7 illustriert, vorgesehen ist, ist eine Konkurrenzwahrscheinlichkeit hoch. Somit ist es bevorzugt, dass die Fahrzeugsteuervorrichtung 100 mit den mehreren gemeinsamen Speichereinheiten und den mehreren Semaphoren, wie in 8 illustriert ist, ausgestattet ist. In diesem Fall kann die Fahrzeugsteuervorrichtung 100 die Konkurrenzwahrscheinlichkeit reduzieren, während sie die Ressourcenbeschränkung erfüllt.
  • Es ist bevorzugt, dass die Ausführungshistorie in einem nicht-flüchtigen Speicher gespeichert ist. In anderen Worten ist es bevorzugt, dass die zweite Speichereinheit 32 ein nicht-flüchtiger Speicher ist. Somit erhält, sogar wenn ein Fahrzeugzündungsschalter aus und eine Energieversorgung der Fahrzeugsteuervorrichtung 10 gestoppt ist, die Fahrzeugsteuervorrichtung 100 die Ausführungshistorie.
  • Indessen können die erste Speichereinheit 31 und die zweite Speichereinheit 32 mit einer Serie von Adressen, die einen Speicherraum darstellen, verwaltet werden. Das ROM ist eine Abkürzung von „Read Only Memory” (Nur-Lese-Speicher). Das RAM ist eine Abkürzung von „Random Access Memory” (Speichern mit wahlfreiem Zugriff).
  • Die erste gemeinsame Speichereinheit 33 kann beispielsweise ein RAM einsetzen. Die erste gemeinsame Speichereinheit 33 ist ein Bereich zum Speichern von Daten, die zu aktualisieren sind und auf die durch den ersten Kern 10 und den zweiten Kern 20 zugegriffen wird. Die erste gemeinsame Speichereinheit 33 beinhaltet gemeinsame Daten, auf die sowohl durch den ersten Kern 10 als auch den zweiten Kern 20 zugegriffen wird.
  • Die Eingabe/Ausgabe-Schaltung 40 ist eine Schnittstelle zum Übertragen von Signalen zwischen der Fahrzeugsteuervorrichtung 100 und Sensoren wie dem Kurbelwinkelsensor 210 und zwischen der Fahrzeugsteuervorrichtung 100 und Aktuatoren wie dem Injektor 220. Die Eingabe/Ausgabe-Schaltung 40 beinhaltet die zweite gemeinsame Speichereinheit 41. Die zweite gemeinsame Speichereinheit 41 kann beispielsweise ein Register einsetzen. Da die zweite gemeinsame Speichereinheit 41 im Wesentlichen die gleiche wie die erste gemeinsame Speichereinheit ist, wird ihre Beschreibung weggelassen.
  • Wie vorstehend beschrieben ist, setzt die vorliegende Ausführungsform die erste gemeinsame Speichereinheit 33 und die zweite gemeinsame Speichereinheit 41 als die gemeinsamen Speichereinheiten ein. Jedoch ist dies nicht beschränkend. Eine gemeinsame Speichereinheit oder mehr als zwei gemeinsame Speichereinheiten können in anderen Ausführungsformen bereitgestellt werden.
  • Nachfolgend werden Operationen der Fahrzeugsteuervorrichtung 100 mit Bezug auf 2 bis 5 beschrieben. Der erste Kern 10 und der zweite Kern 20 in der Fahrzeugsteuervorrichtung 100 führen die in 2 bis 5 illustrierte Verarbeitung aus.
  • Als Erstes werden die Operationen zur Zeit des Ausführens des Plattformprogramms mit Bezug auf 2 beschrieben. Insbesondere werden in diesem Beispiel die Operationen beim Zugreifen auf die gemeinsame Speichereinheit unter der Kernausschlusssteuerung beschrieben.
  • Bei Schritt S10 wird eine Semaphor-Erlangungsverarbeitung ausgeführt. Beim Ausführen der Kernausschlusssteuerung, das heißt, beim Zugreifen auf die gemeinsame Speichereinheit führt jeder des ersten Kerns 10 und des zweiten Kerns 20 die Semaphor-Erlangungsverarbeitung aus. Einer des ersten Kerns 10 und des zweiten Kerns 20, der die Kernausschlusssteuerung ausführt, führt die Semaphor-Erlangungsverarbeitung aus. Beispielsweise führt beim Zugreifen auf die erste gemeinsame Speichereinheit 33 der erste Kern 10 die Semaphor-Erlangungsverarbeitung aus. Insbesondere ruft der erste Kern 10 als Erstes die Semaphor-Erlangungsverarbeitung auf und sperrt den Zugriff auf die erste gemeinsame Speichereinheit 33. In diesem Fall, da der zweite Kern 20 das Semaphor nicht erlangen kann, kann der zweite Kern 20 nicht auf die erste gemeinsame Speichereinheit 33 zugreifen.
  • Bei Schritt S12 wird auf die gemeinsame Speichereinheit zugegriffen. Einer des ersten Kerns 10 und des zweiten Kerns 20, die das Semaphor bei Schritt S10 erlangt haben, greift auf die gemeinsame Speichereinheit zu. Beispielsweise, wenn der erste Kern 10 das Semaphor erlangt hat, greift der erste Kern 10 auf die erste gemeinsame Speichereinheit 33 zu und aktualisiert oder bezieht sich auf die Daten, die in der ersten gemeinsamen Speichereinheit 33 gespeichert sind. In dieser Situation, da der zweite Kern 20 nicht das Semaphor erlangen kann, kann der zweite Kern 20 nicht auf die erste gemeinsame Speichereinheit 33 zugreifen. Bei Schritt S14 wird eine Semaphor-Freigabeverarbeitung ausgeführt. Der erste Kern 10 oder der zweite Kern 20 können die Semaphor-Freigabeverarbeitung ausführen. Insbesondere gibt einer des ersten Kerns 10 und des zweiten Kerns 20, der das Semaphor bei Schritt S10 erlangt hat, das erlangte Semaphore frei. Beispielsweise, wenn der erste Kern 10 das Semaphor erlangt hat, gibt der erste Kern 10 das Semaphor nach Aktualisieren oder Bezugnahme auf die Daten, die in der ersten gemeinsamen Speichereinheit 33 gespeichert sind, frei. Wenn der erste Kern 10 das Semaphor freigibt, wird der zweite Kern 20 in die Lage versetzt, das Semaphor zu erlangen. Die Semaphor-Freigabeverarbeitung kann durch nur den Kern, der das Semaphor erlangt hat, ausgeführt werden. Somit, wenn der erste Kern 10 das Semaphor erlangt hat, kann die Semaphor-Freigabeverarbeitung nur durch den ersten Kern ausgeführt werden.
  • Nachfolgend wird ein Beispiel eines konkurrierenden Zugriffs auf die gemeinsame Speichereinheit durch den ersten Kern 10 und den zweiten Kern 20 beschrieben.
  • Ein erstes Beispiel ist wie folgt. Die erste gemeinsame Speichereinheit 33 ist ein RAM. Der erste Kern 10 misst eine Zeit durch Inkrementieren eines Zählers. Der erste Kern 10 greift auf die erste gemeinsame Speichereinheit 33 zu und inkrementiert einen Zählwert, der in der ersten gemeinsamen Speichereinheit 33 gespeichert ist, zum Messen der Zeit. Ausgehend von einer Erfüllung einer bestimmten Bedingung löscht der zweite Kern 20 den Zähler und löscht die Messzeit. Insbesondere ausgehend von einer Erfüllung einer bestimmten Bedingung greift der zweite Kern 20 auf die erste gemeinsame Speichereinheit 33 zu und löscht den Zählwert, der in der ersten gemeinsamen Speichereinheit 33 gespeichert ist, zum Löschen der Messzeit.
  • In diesem Beispiel, wenn Konkurrenz auftritt, ist der Zähler durch den zweiten Kern 20 gelöscht, während der Zähler durch den ersten Kern 10 inkrementiert wird. In anderen Worten ist der Zählwert der ersten gemeinsamen Speichereinheit 33 durch den zweiten Kern 20 gelöscht, während der Zählwert durch den ersten Kern 10 inkrementiert wird. Demzufolge fährt der erste Kern 10 fälschlicherweise fort, die Zeit durch Inkrementieren des Zählwerts zu messen, ohne das Löschen des Zählwerts durch den zweiten Kern 20 zu berücksichtigen. Aus diesem Grund führen beim Operieren des Zählers der erste Kern 10 und der zweite Kern 20 die Kernausschlusssteuerung zum Zugreifen auf die erste gemeinsame Speichereinheit 33 aus.
  • Es folgt ein nächstes Beispiel. Die zweite gemeinsame Speichereinheit 41 ist ein Register. Der erste Kern 10 und der zweite Kern 20 legen die Ausgabepegel mehrerer Anschlüsse mit der Verwendung von Werten der zweiten gemeinsamen Speichereinheit 41 fest. Insbesondere können der erste Kern 10 und der zweite Kern 20 individuell die gleiche zweite gemeinsame Speichereinheit 41 betreiben, um die Ausgabepegel der mehreren Anschlüsse festzulegen. Beim Ändern des Ausgabepegels eines bestimmten Anschlusses muss jeder des ersten Kerns 10 und des zweiten Kerns 20 den gegenwärtigen Ausgabefestlegungszustand lesen, um nur ein Bit des Zielanschlusses zu ändern, und schreibt Daten der Ausgabepegel der mehreren Anschlüsse, in denen nur das Bit des Zielanschlusses geändert ist, um nicht den Ausgabepegel eines anderen Anschlusses zu ändern. In diesem Beispiel kann, wenn die Zugriffe miteinander konkurrieren, der erste Kern 10 und der zweite Kern 20 die Ausgabepegel unterschiedlicher Anschlüsse in der zweiten gemeinsamen Speichereinheit 41 ändern. Wenn Schreiben durch den ersten Kern 10 und Schreiben durch den zweiten Kern 20 miteinander interferieren, kann der Ausgangspegel, der durch den bestimmten bzw. gewissen Kern aktualisiert wird, nicht reflektiert werden. Aus diesem Grund führt beim Operieren der zweiten gemeinsamen Speichereinheit 41 jeder des ersten Kerns 10 und des zweiten Kerns 20 die Kernausschlusssteuerung zum Zugreifen auf die zweite gemeinsame Speichereinheit 41 aus.
  • Als Nächstes wird die Semaphor-Erlangungsverarbeitung mit Bezug auf 3 beschrieben. Nachfolgend gilt, sogar wenn die Beschreibung auf die Operationen des ersten Kerns 10 gerichtet ist, das Gleiche für die Operationen des zweiten Kerns 20.
  • Bei Schritt S20 wird die Kern-ID des Kerns erlangt, der die Semaphor-Erlangungsverarbeitung ausführt. Der erste Kern 10 und der zweite Kern 20 können die Kern-ID des Kerns erlangen, der die Semaphor-Erlangungsverarbeitung ausführt. Beispielsweise, wenn der erste Kern 10 die Semaphor-Erlangungsverarbeitung ausführt, erlangt die erste CPU 11 die erste Kern-ID von dem ersten Speicher 13.
  • Bei Schritt S22 wird die Ausführungshistorie der Semaphor-Erlangungsverarbeitung aktualisiert. Jeder des ersten Kerns 10 und des zweiten Kerns 20 kann die in 6 illustrierte Kernausführungshistorie aktualisieren. Beispielsweise, wenn der erste Kern 10 die Semaphor-Erlangungsverarbeitung in dem Ablaufdiagramm von 3 ausgeführt hat, legt der erste Kern 10 die Ausführungshistorie des ersten Kerns 10 auf 1 fest. In anderen Worten, wenn der Kern, der der erste Kern 10 oder der zweite Kern 20 sein kann, die Semaphor-Erlangungsverarbeitung ausführt, legt der Kern einen dazu entsprechenden Wert in den Kernausführungshistorien als einen Wert fest, der die Anwesenheit der Ausführungshistorie angibt.
  • Insbesondere beinhaltet das in der ersten Speichereinheit 31 gespeicherte Programm eine Prozedur (Schritt S20) zum Erlangen der Kern-ID des Kerns, der die Semaphor-Erlangungsverarbeitung ausgeführt hat, und eine Prozedur (Schritt S22) zum Aktualisieren der Ausführungshistorie entsprechend der erlangten Kern-ID.
  • Wie vorstehend beschrieben ist, wenn der Kern (entsprechend einer Aktualisierungseinheit), der irgendeiner des ersten Kerns und des zweiten Kerns 20 sein kann, die Kernausschlusssteuerung ausgeführt hat, speichert der Kern als die Ausführungshistorie Informationen, die die ausgeführte Kernausschlusssteuerung mit der Kern-ID verknüpfen, die dem Kern zugeordnet ist, in der zweiten Speichereinheit 32, wodurch Ausführungshistorieaktualisierung (Aktualisierungseinheit) ausgeführt wird. In anderen Worten aktualisiert die Aktualisierungseinheit die Kernausführungshistorie entsprechend einem Prozessors (irgendeiner des ersten Kerns 10 und des zweiten Kerns 20), der die Kernausschlusssteuerung ausgeführt hat.
  • Es kann genügen, dass die Fahrzeugsteuervorrichtung 100 die Kernausführungshistorie jedes Kerns, der die Semaphor-Erlangungsverarbeitung ausgeführt hat, aktualisieren kann. Somit kann Schritt S20 übersprungen werden. Insbesondere muss das Programm, das in der ersten Speichereinheit 31 gespeichert ist, nicht die Prozedur zum Erlangen der Kern-ID zum Aktualisieren der Kernausführungshistorie beinhalten, sondern kann eine Prozedur zum Aktualisieren der Kernausführungshistorie entsprechend dem Kern beinhalten, der die Semaphor-Erlangungsverarbeitung ausgeführt hat.
  • Bei Schritt S24 wird bestimmt, ob die Ausführungshistorien in den mehreren Kernen vorliegen oder nicht. In anderen Worten wird bestimmt, ob es einen Wert gibt, der angibt, dass die Ausführungshistorien in sowohl dem ersten Kern 10 als auch dem zweiten Kern 20 in der Kernausführungshistorie vorliegen oder nicht. Wird bestimmt, dass die Ausführungshistorien in beiden Kernen vorliegen, fährt die Steuerung mit Schritt S26 fort. Wird bestimmt, dass die Ausführungshistorien nicht in beiden Kernen vorliegen, wird die Verarbeitung von 3 abgeschlossen. Obwohl es später beschrieben wird, führt jeder des ersten Kerns 10 und des zweiten Kerns 20 eine Spinlock-Verarbeitung bei Schritt S26 aus.
  • Beispielsweise, wenn der Wert entsprechend dem ersten Kern 10 1 und der Wert entsprechend dem zweiten Kern 20 1 in der Kernausführungshistorie ist, bestimmt der erste Kern 10, dass die Ausführungshistorien in den mehreren Kernen vorliegen, das heißt, bestimmt, dass die Spinlock-Verarbeitung notwendig ist, und die Steuerung fährt mit Schritt S26 fort. Wenn der Wert entsprechend dem ersten Kern 10 1 ist und der Wert entsprechend dem zweiten Kern 20 0 ist in der Ausführungshistorie, bestimmt der erste Kern 10, dass die Ausführungshistorien in den mehreren Kernen nicht vorliegen, bestimmt, dass die Spinlock-Verarbeitung nicht notwendig ist, und vervollständigt die Verarbeitung von 3. In anderen Worten, wenn mindestens einer des Werts entsprechend dem ersten Kern 10 und des Werts entsprechend dem zweiten Kern 20 in der Kernausführungshistorie 0 ist, bestimmen der erste Kern 10 und der zweite Kern 20, dass die Ausführungshistorien nicht in den mehreren Kernen vorliegen und vervollständigen die Verarbeitung von 3.
  • Bei Schritt S26 wird die Spinlock-Verarbeitung implementiert. Die Spinlock-Verarbeitung wird mit Bezug auf das Ablaufdiagramm von 4 beschrieben. Bei Schritt S30 wird das Semaphor erlangt. Insbesondere, wenn der erste Kern 10 und der zweite Kern 20 bestimmen, dass die Ausführungshistorien in den mehreren Kernen vorliegen, versuchen der erste Kern 10 und der zweite Kern 20 das Semaphor zu erlangen. Beispielsweise, wenn die Bestimmung im ersten Kern 10 bei Schritt S24 JA ist, versucht der erste Kern 10 das Semaphor zu erlangen. Beispielsweise, um zu verhindern, dass der Zugriff auf die erste gemeinsame Speichereinheit 33 mit dem des zweiten Kerns 20 konkurriert, versucht der erste Kern 10 das Semaphor zu erlangen. In dieser Situation, wenn das Semaphor freigegeben wird, greift der erste Kern 10 auf die zweite Speichereinheit 32 zu, schreibt den Semaphor-Freigabezustand in den Semaphor-Erlangungszustand um und schreibt die Kern-ID des Kerns, der das Semaphor erlangt, in die Kern-ID des ersten Kerns 10 um. Andererseits, wenn der erste Kern 10 das Semaphor erlangt, führt der erste Kern 10 diesen Zustand fort. In anderen Worten, wird in der zweiten Speichereinheit 32 der Semaphor-Erlangungszustand aufrechterhalten und die Kern-ID des Kerns, der das Semaphor erlangt, wird ohne Umschreiben aufrechterhalten. Im Übrigen bedeutet Umschreiben des Semaphor-Freigabezustands in den Semaphor-Erlangungszustand, dass die Semaphor-Informationen ausgehend von einem Inhalt, der den Semaphor-Freigabezustand angibt, in einen Inhalt umgeschrieben werden, der den Semaphor-Erlangungszustand angibt.
  • Bei Schritt S32 wird bestimmt, ob die Semaphor-Erlangung erfolgreich ist oder nicht. Beispielsweise bestätigt nach Versuchen der Semaphor-Erlangung der erste Kern 10 den Speicherinhalt in der zweiten Speichereinheit 32 und bestimmt, ob die Semaphor-Erlangung erfolgreich ist oder nicht, gemäß dessen, ob die Kern-ID des Kerns, der das Semaphor erlangt, mit der Kern-ID des ersten Kerns 10 übereinstimmt oder nicht. Bestimmt der erste Kern 10, dass die Kern-ID mit der des ersten Kerns übereinstimmt, bestimmt der erste Kern 10, dass die Semaphor-Erlangung erfolgreich ist, und die Steuerung vervollständigt die Verarbeitung in 4. Wenn der erste Kern 10 bestimmt, dass die Kern-ID nicht mit der des ersten Kerns 10 übereinstimmt, bestimmt der erste Kern 10, dass die Semaphor-Erlangung nicht erfolgreich ist, und die Steuerung kehrt zu Schritt S30 zurück. Der erste Kern 10 wiederholt Schritte S30 und S32, bis die Kern-ID mit der des ersten Kerns 10 übereinstimmt. In anderen Worten bestimmt der Kern, der die Spinlock-Verarbeitung ausführt, dass die Semaphor-Erlangung erfolgreich ist, wenn bestimmt wird, dass das Semaphor nicht durch den anderen Kern erlangt wird, und bestimmt, dass die Semaphor-Erlangung nicht erfolgreich ist, wenn bestimmt wird, dass das Semaphor durch den anderen Kern erlangt wird. In diesem Beispiel wird die Semaphor-Erlangung automatisch ausgeführt, bis der Semaphor-Zustand bestätigt ist und das Semaphor umgeschrieben ist, so dass die Verarbeitung des anderen Kerns während einer Verarbeitungsserie nicht unterbrechen kann.
  • Wie vorstehend beschrieben ist, wenn die Bestimmung bei Schritt S24 JA ist, führen der erste Kern 10 und der zweite Kern 20 die Kernausschlusssteuerung, die durch sowohl den ersten Kern 10 als auch den zweiten Kern ausgeführt wurde, von den mehreren Ausschlusssteuerungen aus. Ist jedoch die Bestimmung bei Schritt S24 NEIN, führen der erste Kern 10 und der zweite Kern 20 die Kernausschlusssteuerung, die durch sowohl den ersten Kern 10 als auch den zweiten Kern ausgeführt wurde, von den gespeicherten mehreren Ausschlusssteuerungen aus.
  • Als Nächstes werden die Operationen einer Semaphor-Freigabeverarbeitung mit Bezug auf 5 beschrieben.
  • Bei Schritt S40 wird bestimmt, ob die Ausführungshistorien in den mehreren Kernen vorliegen oder nicht. In anderen Worten wird bestimmt, ob es Werte gibt, die angeben, dass die Ausführungshistorien in sowohl dem ersten Kern 10 als auch dem zweiten Kern 20 in der bei Schritt S22 aktualisierten Kernausführungshistorie vorliegen oder nicht. Wird bestimmt, dass die Ausführungshistorien in beiden Kernen vorliegen, fährt die Steuerung mit Schritt S42 fort. Wird bestimmt, dass die Ausführungshistorien nicht in beiden Kernen vorliegen, wird die Verarbeitung von 4 abgeschlossen bzw. vervollständigt. Beispielsweise, wenn der Wert entsprechend dem ersten Kern 10 1 und der Wert entsprechend dem zweiten Kern 20 1 in der Kernausführungshistorie ist, bestimmt der erste Kern, dass die Ausführungshistorien in den mehreren Kernen vorliegen und die Steuerung fährt mit Schritt S42 fort. Bei Schritt S42 wird das Semaphor freigegeben. Beispielsweise greift der erste Kern 10 auf die zweite Speichereinheit 32 zu und schreibt den Semaphor-Erlangungszustand in den Semaphor-Freigabezustand um. In anderen Worten schreibt der erste Kern 10 die Semaphor-Informationen von einem Inhalt, der den Semaphor-Erlangungszustand angibt, in einen Inhalt um, der den Semaphor-Freigabezustand angibt. Auf diese Weise schreibt der Kern, der das Semaphor erlangt hat, den Speicherinhalt der zweiten Speichereinheit 32 in den Inhalt um, der den Semaphor-Freigabezustand angibt, um das Semaphor freizugeben.
  • Wie vorstehend beschrieben ist, beinhaltet die Fahrzeugsteuervorrichtung 100 die zweite Speichereinheit 32 zum Speichern der Ausführungshistorien, die angeben, ob die jeweiligen Kernausschlusssteuerungen durch den ersten Kern 10 und den zweiten Kern 20 ausgeführt wurden oder nicht. Somit ist die Fahrzeugsteuervorrichtung 100 konfiguriert, um zu erkennen, welcher Kern welche der jeweiligen Kernausschlusssteuerungen ausgeführt hat. In der Kernausschlusssteuerung, die durch den ersten Kern 10 und den zweiten Kern 20 ausgeführt wird, ist es für die Zugriffe des ersten Kerns 10 und des zweiten Kerns 20 auf die gemeinsame Speichereinheit wahrscheinlich, dass sie miteinander konkurrieren. Aus diesem Grund führen der erste Kern 10 und der zweite Kern 20 die Kernausschlusssteuerung, die sowohl durch den ersten Kern 10 als auch den zweiten Kern 20 ausgeführt wurde, von den mehreren gespeicherten Kernausschlusssteuerungen aus. Andererseits kann es in der Kernausschlusssteuerung, die nicht durch den ersten Kern 10 und den zweiten Kern 20 ausgeführt wird, keine Möglichkeit geben, dass die Zugriffe des ersten Kerns 10 und des zweiten Kerns 20 auf die gemeinsame Speichereinheit miteinander konkurrieren. Aus diesem Grund führen der erste Kern 10 und der zweite Kern 20 die Kernausschlusssteuerung, die nicht durch sowohl den ersten Kern 10 als auch den zweiten Kern 20 ausgeführt wurde, von den gespeicherten mehreren Ausschlusssteuerungen aus.
  • Somit, wenn es keine Möglichkeit, dass die Zugriffe des ersten Kerns 10 und des zweiten Kerns 20 auf die gemeinsame Speichereinheit miteinander konkurrieren, gibt, kann die Fahrzeugsteuervorrichtung 100 verhindern, dass die Kernausschlusssteuerungen ausgeführt werden. Demnach kann die Fahrzeugsteuervorrichtung 100 verhindern, dass die Kernausschlusssteuerungen übermäßig oft ausgeführt werden. Mit der vorstehenden Konfiguration wird erwartet, dass die Fahrzeugsteuervorrichtung 100 Kernbelastung reduzieren kann. Aus diesem Grund erfüllt die Fahrzeugsteuervorrichtung 100 einfach die Kernbelastungsressourcenbeschränkung. Wie vorstehend beschrieben ist, kann die Fahrzeugsteuervorrichtung 100 eine Brennkraftmaschinensteuervorrichtung als ein Beispiel einsetzen. Normalerweise führt die Brennkraftmaschinensteuervorrichtung Steuerung mit ernsten Echtzeitanforderungen aus. In dieser Hinsicht kann, da die Fahrzeugsteuervorrichtung 100 verhindern kann, dass die Kernausschlusssteuerung übermäßig oft ausgeführt wird, sogar wenn die Echtzeitanforderungen ernst sind und die Unterbrechung zum Ausführen der Kernausschlusssteuerung ausgeführt wird, die Verzögerung aufgrund der Unterbrechung reduziert werden.
  • Wie vorstehend beschrieben ist, ist das Plattformprogramm konfiguriert, so dass die Kernausschlusssteuerung in Korrespondenz mit all den Verarbeitungen zum Zugreifen auf die gemeinsame Speichereinheit ausgeführt wird. Jedoch führt die Fahrzeugsteuervorrichtung 100 die Kernausschlusssteuerung, die nicht durch sowohl den ersten Kern 10 als auch den zweiten Kern 20 ausgeführt wurde, unter den gespeicherten mehreren Kernausschlusssteuerungen nicht aus. Aus diesem Grund kann sogar in dem Plattformprogramm, das so konfiguriert ist, dass die Kernausschlusssteuerung vollständig ausgeführt wird, wenn es keine Möglichkeit gibt, dass die Zugriffe durch den ersten Kern 10 und den zweiten Kern 20 auf die gemeinsame Speichereinheit miteinander konkurrieren, die Fahrzeugsteuervorrichtung 100 verhindern, dass die Kernausschlusssteuerung ausgeführt wird.
  • Die Ausführungsform kann auf unterschiedliche Arten modifiziert werden.
  • (Zweite Ausführungsform)
  • Da eine Fahrzeugsteuervorrichtung 100a gemäß einer zweiten Ausführungsform in vielen Teilen ähnlich zur Fahrzeugsteuervorrichtung 100 gemäß den ersten Ausführungsformen ist, werden hauptsächlich Unterschiede zur Fahrzeugsteuervorrichtung 100 beschrieben. Wie in 10 illustriert ist, unterscheidet sich die Fahrzeugsteuervorrichtung 100a von der Fahrzeugsteuervorrichtung 100 dadurch, dass die zweite Speichereinheit 32 mit einer Ausschlusssteuerung 32a ersetzt ist. Ferner unterscheidet sich die Fahrzeugsteuervorrichtung 100a von der Fahrzeugsteuervorrichtung 100 in den Verarbeitungsinhalten eines ersten Kerns 10 und eines zweiten Kerns 20.
  • Die Ausschlusssteuereinheit 32a beinhaltet Semaphor-Informationen und eine Kernausführungshistorie. Die Ausschlusssteuerung 32a entspricht einer Speichereinheit. Die Ausschlusssteuerung 32a verwaltet die Kernausführungshistorie anstelle des ersten Kerns 10 und des zweiten Kerns 20. In anderen Worten, wenn der erste Kern 10 die in 3 illustrierte Semaphor-Erlangungsverarbeitung ausführen soll, aktualisiert die Ausschlusssteuerung 32a die Kernausführungshistorie in Schritt S22.
  • Auf diese Weise bestimmt die Ausschlusssteuerung 32a den Kern, der die Kernausschlusssteuerung ausgeführt hat. Die Ausschlusssteuereinheit 32a speichert Informationen, die die ausgeführte Kernausschlusssteuerung mit der Kern-ID des Kerns verknüpfen, der die Kernausschlusssteuerung ausgeführt hat, als die Ausführungshistorie. Beispielsweise, wenn der erste Kern 10 eine bestimmte Kern-Ausschlusssteuerung ausgeführt hat, speichert die Ausschlusssteuereinheit 32a die Informationen, die die ausgeführte bestimmte Kernausschlusssteuerung mit der ersten Kern-ID verknüpfen, als die Ausführungshistorie.
  • Zusätzlich kann die Ausschlusssteuereinheit 32a die Semaphor-Informationen anstelle des ersten Kerns 10 und des zweiten Kerns 20 umschreiben. In diesem Fall, wenn der erste Kern 10 die Spinlock-Verarbeitung in 4 ausführt, schreibt die Ausschlusssteuereinheit 32a den Semaphor-Freigabezustand in den Semaphor-Erlangungszustand um und schreibt die Kern-ID des Kerns, der das Semaphor erlangt, in die Kern-ID des ersten Kerns 10 um. Jedoch, wie vorstehend, wenn das Semaphor bei Schritt S30 erlangt wird, schreibt die Ausschlusssteuereinheit 32a die Semaphor-Informationen nicht um. Wenn der erste Kern 10 die Semaphor-Freigabeverarbeitung von 5 ausführt, schreibt die Ausschlusssteuereinheit 32a den Semaphor-Erlangungszustand in den Semaphor-Freigabezustand um.
  • Die Fahrzeugsteuervorrichtung 100a kann die gleichen Vorteile wie die der Fahrzeugsteuervorrichtung 100 erlangen.
  • 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 2013-171547 A [0003]

Claims (6)

  1. Fahrzeugsteuervorrichtung für ein Fahrzeug, aufweisend: mehrere Prozessoren (10, 20); eine gemeinsame Speichereinheit (33, 41), auf die durch die mehreren Prozessoren gemeinsam zugegriffen werden kann; ein Programm (31a, 31b) zum Ausführen durch die mehreren Prozessoren und einschließlich mehrerer Ausschlusssteuerungen, um zu beschränken, dass Zugriffe durch die mehreren Prozessoren auf die gemeinsame Speichereinheit miteinander konkurrieren; und eine Speichereinheit (32, 32a) zum Speichern einer Ausführungshistorie entsprechend jeder Ausschlusssteuerung und angebend, welche Ausschlusssteuerung durch welchen Prozessor ausgeführt wurde, wobei von den mehreren Ausschlusssteuerungen, die zum Ausführen durch die mehreren Prozessoren dienen, jeder Prozessor ausgelegt ist, um: die Ausschlusssteuerung, die durch die gespeicherte Ausführungshistorie als durch die mehreren Prozessoren ausgeführt angegeben ist, auszuführen; und die Ausschlusssteuerung, die durch die gespeicherte Ausführungshistorie als nicht durch die mehreren Prozessoren ausgeführt angegeben ist, nicht auszuführen.
  2. Fahrzeugsteuervorrichtung gemäß Anspruch 1, wobei das Programm in ein Anwendungsprogramm und ein Plattformprogramm separiert ist.
  3. Fahrzeugsteuervorrichtung gemäß Anspruch 1 oder 2, wobei: jeder Prozessor einzigartige Identifikationsinformationen hat, die ihm zugeordnet sind, und eine Aktualisierungseinheit beinhaltet, die ausgelegt ist, um ausgehend vom Ausführen der Ausschlusssteuerung die Ausführungshistorie in der Speichereinheit durch Speichern von Informationen zu aktualisieren, die die ausgeführte Ausschlusssteuerung mit den zugeordneten Identifikationsinformationen verknüpft.
  4. Fahrzeugsteuervorrichtung gemäß Anspruch 1 oder 2, wobei: jeder Prozessor einzigartige Identifikationsinformationen hat, die ihm zugeordnet sind; und die Speichereinheit (32a) eine Aktualisierungseinheit beinhaltet, die ausgelegt ist, um: den Prozessor zu bestimmen, der die Ausschlusssteuerung ausgeführt hat; und die Ausführungshistorie durch Speichern von Informationen zu aktualisieren, die die Ausschlusssteuerung, die durch den Prozessor ausgeführt wurde, mit den Identifikationsinformationen des Prozessors verknüpfen, der die Ausschlusssteuerung ausgeführt hat.
  5. Fahrzeugsteuervorrichtung gemäß Anspruch 3 oder 4, wobei: die Speichereinheit mehrere Ausführungshistorien speichert; und die Aktualisierungseinheit ausgelegt ist, um die Ausführungshistorie entsprechend dem Prozessor zu aktualisieren, der die Ausschlusssteuerung ausgeführt hat.
  6. Fahrzeugsteuervorrichtung gemäß einem der Ansprüche 1 bis 5, wobei die Ausführungshistorie in einem nicht-flüchtigen Speicher der Speichereinheit gespeichert ist.
DE102016224206.7A 2015-12-09 2016-12-06 Fahrzeugsteuervorrichtung Pending DE102016224206A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-240566 2015-12-09
JP2015240566A JP6512087B2 (ja) 2015-12-09 2015-12-09 車両用制御装置

Publications (1)

Publication Number Publication Date
DE102016224206A1 true DE102016224206A1 (de) 2017-06-14

Family

ID=58773597

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016224206.7A Pending DE102016224206A1 (de) 2015-12-09 2016-12-06 Fahrzeugsteuervorrichtung

Country Status (2)

Country Link
JP (1) JP6512087B2 (de)
DE (1) DE102016224206A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101967442B1 (ko) * 2017-06-19 2019-04-09 현대오트론 주식회사 멀티 마스터 시스템, 전력 제어기, 및 그것의 동작 방법
US10994718B2 (en) 2018-06-27 2021-05-04 Hyundai Autron Co., Ltd. Multi-master system, power controller and operating method of the multi-master system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171547A (ja) 2012-02-23 2013-09-02 Hitachi Automotive Systems Ltd 車両用制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2742246B2 (ja) * 1995-05-23 1998-04-22 甲府日本電気株式会社 ロックリクエスト制御機構
JP2000003287A (ja) * 1998-06-12 2000-01-07 Nec Corp 共有リソースの排他制御装置、排他制御方法及び排他制御プログラムを記録した記録媒体
US7882339B2 (en) * 2005-06-23 2011-02-01 Intel Corporation Primitives to enhance thread-level speculation
JP5270268B2 (ja) * 2008-09-05 2013-08-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 共有データへの排他的アクセスを許すためのコンピュータ・システム、並びにその方法及びコンピュータ読み取り可能な記録媒体

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171547A (ja) 2012-02-23 2013-09-02 Hitachi Automotive Systems Ltd 車両用制御装置

Also Published As

Publication number Publication date
JP2017107394A (ja) 2017-06-15
JP6512087B2 (ja) 2019-05-15

Similar Documents

Publication Publication Date Title
DE102013014172B4 (de) Schutz globaler register in einem multithreaded-prozessor
DE102014201682A1 (de) Verfahren zur Koexistenz von Software mit verschiedenen Sicherheitsstufen in einem Multicore-Prozessorsystem
DE102015107654A1 (de) Dienst und System zum Unterstützen eines kohärenten Datenzugriffs auf einem Multicore-Controller
DE112014000340T5 (de) Vorablesezugriff auf Daten für einen Chip mit einem übergeordneten Kern und einem Scout-Kern
DE112019005584T5 (de) Arithmetiksteuervorrichtung
DE102012209789B4 (de) Fahrzeuggebundene elektrische steuervorrichtung
DE102016224206A1 (de) Fahrzeugsteuervorrichtung
WO2006045754A1 (de) Verfahren, betriebssystem und rechengerät zum abarbeiten eines computerprogramms
WO2015086357A1 (de) Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts
DE102004061339A1 (de) Scheduling-Verfahren, insbesondere Kontex-Scheduling-Verfahren, und Einrichtung zur Verwendung bei einem Scheduling-Verfahren
DE102013016114B3 (de) Bussystem und Verfahren für geschützte Speicherzugriffe
DE112004001564T5 (de) Low-contention Lock
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
DE112021002403T5 (de) Fahrzeugsteuervorrichtung
DE102016219449A1 (de) Parallelisierungsverfahren, Parallelisierungswerkzeug und fahrzeugverbaute Einrichtung
DE102016206490A1 (de) Elektronische steuereinheit
DE102015211458A1 (de) Verfahren und Vorrichtung zum Absichern einer Programmzählerstruktur eines Prozessorsystems und zum Überwachen der Behandlung einer Unterbrechungsanfrage
DE102017211564A1 (de) Elektronische steuereinheit
DE102013226872A1 (de) Verfahren zum Betreiben eines Steuergerätes eines Kraftfahrzeuges und Steuergerät für ein Kraftfahrzeug
DE102014215561A1 (de) Mikrocomputer
EP3893113B1 (de) Überwachung einer komponente eines steuerungssystems für ein fortbewegungsmittel
DE102016203852A1 (de) Verfahren zum Betreiben eines Steuergeräts für ein Kraftfahrzeug
DE102017200571A1 (de) Datenverarbeitungseinrichtung
DE102015203695A1 (de) Elektronische steuereinheit
DE102013204045B4 (de) Mikrocomputer

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence