DE102016206490A1 - Elektronische steuereinheit - Google Patents

Elektronische steuereinheit Download PDF

Info

Publication number
DE102016206490A1
DE102016206490A1 DE102016206490.8A DE102016206490A DE102016206490A1 DE 102016206490 A1 DE102016206490 A1 DE 102016206490A1 DE 102016206490 A DE102016206490 A DE 102016206490A DE 102016206490 A1 DE102016206490 A1 DE 102016206490A1
Authority
DE
Germany
Prior art keywords
task
priority
core
tasks
execution
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
DE102016206490.8A
Other languages
English (en)
Inventor
Takayuki Masuda
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 DE102016206490A1 publication Critical patent/DE102016206490A1/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Eine elektronische Steuereinheit (101) beinhaltet einen Mehrkerncomputer (102), der eine Vielzahl von Aufgaben (108) unter Verwendung einer Vielzahl von Kernen (103) parallel ausführt. Unter den Aufgaben sind eine erste Aufgabe (108c) und eine dritte Aufgabe (108d) dazu festgelegt, durch einen bestimmten Arbeitskern (103b) ausgeführt zu werden, während eine zweite Aufgabe (108b) dazu festgelegt ist, durch einen unterschiedlichen, gegenüber dem bestimmten Arbeitskern anderen Kern (103a) ausgeführt zu werden. Wenn die erste Aufgabe zur Ausführung durch den bestimmten Arbeitskern bis zum Abschluss der Ausführung der zweiten Aufgabe durch den unterschiedlichen Kern in Bereitschaft stehen muss, wird veranlasst, dass die Priorität der ersten Aufgabe relativ niedriger ist als die Priorität der dritten Aufgabe.

Description

  • TECHNISCHES GEBIET
  • Die Erfindung betrifft eine elektronische Steuereinheit.
  • STAND DER TECHNIK
    • Patentliteratur 1: JP 2013-054625 A
  • Konventionell ist ein Mehrkernmikrocomputer mit einer Vielzahl von Kernen bekannt (vgl. die Patentliteratur 1). In dem Mehrkernmikrocomputer werden Aufgaben durch die Kerne gleichzeitig ausgeführt. Daher wird erwartet, dass der Mehrkernmikrocomputer eine höhere Verarbeitungsgeschwindigkeit erreicht als ein Einkernmikrocomputer, der alle Aufgaben sequenziell ausführt.
  • Indessen besteht eine Notwendigkeit der Anwendung des Mehrkernmikrocomputers auf eine elektronische Steuereinheit, die eine Motorsteuerung über ein Fahrzeug bereitstellt. Wenn der Mehrkernmikrocomputer in einem Gebiet der Motorsteuerung verwendet wird, gibt es einen höheren Bedarf für Echtzeitberechnungsfähigkeit als in den anderen Gebieten. In dem Mehrkernmikrocomputer sind daher die Kerne, die individuelle Aufgaben ausführen, in einem bestimmten Fall vorbestimmt, um eine adäquate Echtzeitberechnungsfähigkeit sicherzustellen. Ein bestimmter Kern kann in Bereitschaft bleiben und aufgrund von Beschränkungen auf der Aufgabenausführungsreihenfolge der Kerne darin fehlschlagen, Aufgaben auszuführen. Dies kann die insgesamte Verarbeitungsgeschwindigkeit des Mehrkernmikrocomputers verringern.
  • KURZBESCHREIBUNG
  • Der Erfindung liegt als eine Aufgabe zugrunde, eine elektronische Steuereinheit bereitzustellen, die die Verarbeitungsgeschwindigkeit eines Mehrkernmikrocomputers erhöht.
  • Um das vorstehende Ziel zu erreichen, wird in Übereinstimmung mit einem erfindungsgemäßen Beispiel eine elektronische Steuereinheit bereitgestellt als enthaltend einen Mehrkernmikrocomputer, der eine Vielzahl von Aufgaben, die vorbestimmt sind, unter Verwendung einer Vielzahl von Kernen parallel auszuführen.
  • Die Vielzahl von Aufgaben ist dazu festgelegt, durch jeweilige bestimmte Kerne der Kerne ausgeführt zu werden, während eine Ausführungsreihenfolge der Vielzahl von Aufgaben in dem Mehrkernmikrocomputer festgelegt ist. Hierbei sind Aufgaben, welche dazu festgelegt sind, durch einen bestimmten Arbeitskern der Kerne ausgeführt zu werden, jeweilige Prioritäten zum Definieren einer Ausführungsreihenfolge durch den bestimmten Arbeitskern zugewiesen. Wenn eine erste Aufgabe unter den Aufgaben, die dazu festgelegt sind, durch den bestimmten Arbeitskern ausgeführt zu werden, zur Ausführung in Bereitschaft stehen muss, bis zum Abschluss der Ausführung einer zweiten Aufgabe, welche durch einen unterschiedlichen, gegenüber dem bestimmten Arbeitskern anderen Kern ausgeführt wird, wird die Priorität der ersten Aufgabe dazu veranlasst, relativ niedriger zu sein als die Priorität einer dritten Aufgabe, die unter den Aufgaben ist, die dazu festgelegt sind, außer der ersten Aufgabe durch den bestimmten Arbeitskern ausgeführt zu werden.
  • In Übereinstimmung mit der elektronischen Steuereinheit wird, während die zweiten Aufgabe ausgeführt wird und die erste Aufgabe in Bereitschaft steht, die Priorität der dritten Aufgabe höher als diejenige der ersten Aufgabe. Die dritte Aufgabe wird vor der ersten Aufgabe ausgeführt, während die erste Aufgabe in Bereitschaft steht, d. h. die dritte Aufgabe wird durch einen Kern der Vielzahl von Kernen parallel mit der Ausführung der zweiten Aufgabe durch einen anderen Kern ausgeführt. Dies kann verhindern, dass der eine Kern in Bereitschaft bleibt, bevor die Ausführung der zweiten Aufgabe durch den anderen Kern abgeschlossen ist. Wie beschrieben kann auch dann, wenn die Aufgabenausführungsreihenfolge der Vielzahl von Kernen primär beschränkt ist, die Zeitspanne, während welcher ein bestimmter Kern in vollständiger Bereitschaft ist, eliminiert oder reduziert werden. Die kann die Zeit verringern, die für den Abschluss der Ausführung aller Aufgaben erforderlich ist.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorstehenden sowie weitere Ziele, Merkmale und Vorteile der Erfindung sind der folgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen besser entnehmbar. Es zeigen:
  • 1 ein Blockdiagramm, das eine Umrisskonfiguration einer elektronischen Steuereinheit in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung darstellt;
  • 2 ein schematisches Diagramm, das eine beispielsweise Reihenfolge darstellt, in welcher eine Vielzahl von Kernen in 1 eine Vielzahl von Aufgaben ausführt;
  • 3 ein Diagramm, das eine konventionelle Reihenfolge darstellt, in welcher die Aufgaben in 2 ausgeführt werden;
  • 4 ein Diagramm, das darstellt, dass die Ausführungsreihenfolge der Aufgaben in 2 durch die elektronische Steuereinheit in Übereinstimmung mit dem Ausführungsbeispiel geändert wird;
  • 5 ein Ablaufdiagramm, das einen Prioritätsänderungsprozess darstellt, der durch die elektronische Steuereinheit in Übereinstimmung mit dem Ausführungsbeispiel durchgeführt wird;
  • 6 ein Ablaufdiagramm, das eine beispielsweise Ausführungsreihenfolge von Aufgaben in einer Konfiguration darstellt, in der ein Kern eine Aufgabe beinhaltet, die dieselbe Priorität hat wie eine Aufgabe (erste Aufgabe), die in Bereitschaft stehen muss, bis die Ausführung einer Aufgabe (zweite Aufgabe) durch einen anderen Kern abgeschlossen ist;
  • 7 ein Diagramm, das eine konventionelle Ausführungsreihenfolge der Aufgaben in 6 darstellt;
  • 8 ein Diagramm, das Änderungen darstellt, die an der Ausführungsreihenfolge der Aufgaben in 6 durch die elektronische Steuereinheit in Übereinstimmung mit dem Ausführungsbeispiel vorgenommen werden; und
  • 9 ein Ablaufdiagramm, der den Prioritätsänderungsprozess darstellt, der an den Aufgaben in 6 durch die elektronische Steuereinheit in Übereinstimmung mit dem Ausführungsbeispiel durchgeführt wird.
  • DETAILLIERTE BESCHREIBUNG
  • Nachstehend wird ein Ausführungsbeispiel der Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Um das Verständnis der folgenden Beschreibung zu erleichtern, sind identische Elemente in den Zeichnungen wo immer möglich mit denselben Bezugszeichen bezeichnet und werde nicht redundant beschrieben.
  • Eine Konfiguration einer elektronischen Steuereinheit 101 in Übereinstimmung mit einem Ausführungsbeispiel der Erfindung wird nachstehend unter Bezugnahme auf 1 beschrieben. Die elektronische Steuereinheit 101 ist in einem Fahrzeug verbaut und als Teil einer elektronischen Steuereinheit (ECU; Electronic Control Unit) zum Bereitstellen einer Motorsteuerung über bzw. für das Fahrzeug implementiert. Das vorliegende Ausführungsbeispiel wird unter der Annahme beschrieben, dass die elektronische Steuereinheit 101 wie in 1 konfiguriert ist.
  • Wie in 1 beinhaltet die elektronische Steuereinheit 101 einen Mehrkernmikrocomputer 102. Der Mehrkernmikrocomputer 102 beinhaltet eine Vielzahl von Kernen 103, ein gemeinsam genutztes RAM 104, einen Aufgabenüberwachungsabschnitt 105 (Überwachungsabschnitt/Prioritätsänderungsabschnitt), ein RAM 106 (Speichereinheit) und einen Eingabe/Ausgabe-Port bzw. Eingangs/Ausgangs-Anschluss 107, wie in 1.
  • Jeder der Kerne 103 ist eine zentrale Verarbeitungseinheit, die verschiedene Berechnungs- und Instrumentensteuerungsoperationen bzw. -betriebsabläufe in Übereinstimmung mit einem Programm durchführt (diese Betriebsabläufe werden in dem vorliegenden Ausführungsbeispiel als die ”Aufgaben” bezeichnet). Der Mehrkernmikrocomputer 102 beinhaltet zwei Kerne 103a, 103b wie in 1. Die beiden Kerne 103a, 103b können jeweils als entweder (i) ”Kern 1” und ”Kern 2” oder (ii) ”erster Kern” und ”zweiter Kern” bezeichnet werden, und kollektiv als die ”Kerne 103” bezeichnet werden. Der Kern 103a und der Kern 103b sind interkommunikativ miteinander verbunden, und jeder derselben ist kommunikativ mit dem geteilten bzw. gemeinsam genutzten RAM 104, dem Aufgabenüberwachungsabschnitt 104 und dem Eingangs/Ausgangs-Anschluss 107 verbunden.
  • Das gemeinsam genutzte RAM 104 ist eine Speichervorrichtung, die als ein Berechnungsbereich für verschiedene Aufgaben 108 verwendet wird, die von den Kernen 103a, 103b ausgeführt werden.
  • Der Aufgabenüberwachungsabschnitt 105 überwacht die Ausführung verschiedener Aufgaben 108, die von den Kernen 103 ausgeführt werden, und steuert die Ausführung von Aufgaben in jedem Kern 103. In dem vorliegenden Ausführungsbeispiel ist der Aufgabenüberwachungsabschnitt 105 als ein Element angeordnet, das sich von den Kernen 103a, 103b, die die Aufgaben 108 ausführen, unterscheidet, und mittels einer anderen zentralen Verarbeitungseinheit ähnlich zu derjenigen für die Kerne 103a, 103b implementiert. Der Aufgabenüberwachungsabschnitt 105 ist kommunikativ mit dem Kern 103a, dem Kern 103b und dem RAM 106 verbunden. Eine von dem Aufgabenüberwachungsabschnitt 105 über die Ausführungsreihenfolge der Aufgaben 108 ausgeübte Steuerung wird später unter Bezugnahme auf 2 bis 4 beschrieben.
  • Das RAM 106 ist eine Speichervorrichtung, die von dem Aufgabenüberwachungsabschnitt 105 dazu verwendet wird, die Prioritäten der Aufgaben 108 der Kerne 103 zu speichern. Die Prioritäten der Aufgaben 108 und ein von dem Aufgabenüberwachungsabschnitt 105 durchgeführter Speicherprozess zur Speicherung in das RAM 106 werden später beschrieben.
  • Der Eingangs/Ausgangs-Anschluss 107 ist eine Schnittstelle, die für die Eingabe und Ausgabe von Information zwischen dem Kern 103a, dem Kern 103b und einem externen Instrument bzw. Gerät verwendet wird.
  • Der Mehrkerncomputer 102 kann eine Vielzahl von vorbestimmten Aufgaben 108 unter Verwendung zweier Kerne 103a, 103b parallel ausführen. Insbesondere dann, wenn die elektronische Steuereinrichtung 101, wie beispielsweise eine Motorsteuerungs-ECU gemäß dem vorliegenden Ausführungsbeispiel, auf eine Umgebung angewandt ist, in der Berechnungen der Aufgaben 108 innerhalb einer bestimmten Zeitspanne (einer Zeitspanne, während welcher ein Motor eine Umdrehung ausführt, oder eine Zeitspanne vor der nächsten Kraftstoffeinspritzung) korrekt abgeschlossen werden müssen, besteht ein beträchtlich hoher Bedarf nach einer Echtzeitberechnung der Aufgaben 108. In einer typischen Konfiguration für einen konventionellen Mehrkernmikrocomputer 102 werden die von den Kernen 103 auszuführenden Aufgaben 108 dynamisch zugewiesen bzw. allokiert. Wenn jedoch der Mehrkernmultiprozessor 102 in der vorstehend erwähnten Umgebung verwendet wird, ist die Zuordnung oder Beziehung zwischen den Aufgaben 108 und den Kernen 103, die die Aufgaben 108 ausführen„ d. h. welcher besondere oder bestimmte eine der Kerne 103 eine vorbestimmte Aufgabe ausführen muss, fest, um eine adäquate Echtzeitberechnungsfähigkeit für die Aufgaben 108 bereitzustellen. D. h., der Mehrkernmikroprozessor 102 ist so konfiguriert, dass jede von vorbestimmten Aufgaben 108 individuell durch einen bestimmten Kern (Kern 103a oder Kern 103b) der Kerne 103 ausgeführt wird. Wie in 1 werden zwei vorbestimmte Aufgaben A und B immer durch den Kern 103a ausgeführt, welcher einer der beiden Kerne 103 ist, und werden zwei vorbestimmte Aufgaben C und D immer durch den anderen Kern 103b ausgeführt. In der nachfolgenden Beschreibung wird die Aufgabe A hauptsächlich als die ”Aufgabe 108a” bezeichnet, wird die Aufgabe B hauptsächlich als die ”Aufgabe 108b” bezeichnet, wird die Aufgabe C hauptsächlich als die ”Aufgabe 108c” bezeichnet, und wird die Aufgabe D hauptsächlich als die ”Aufgabe 108d” bezeichnet.
  • Regeln zum Bestimmen der Ausführungsreihenfolge von Aufgaben 108a108d in der elektronischen Steuereinheit 101 werden unter Bezugnahme auf 2 bis 4 beschrieben.
  • Als eine erste Regel wird die Ausführungsreihenfolge der Aufgaben 108a108d in dem Mehrkernmikrocomputer 102 voreingestellt. Die Ausführungsreihenfolge wird wie in 2 und 3 voreingestellt. Wie in 2 und 3 wird die Aufgabe 108b nach dem Abschluss der Aufgabe 108a des Kerns 103a ausgeführt, während die Aufgabe 108c des Kerns 103b nach dem Abschluss der Aufgabe 108b ausgeführt wird. Es wird angemerkt, dass die Ausführungsreihenfolge weiter so voreingestellt wird, dass die Aufgabe 108d des Kerns 103b genau nach dem Abschluss der Aufgabe 108a des Kerns 103a ausgeführt werden kann, wie durch den Pfeil angegeben ist, der in 2 direkt von ”AUFGABE A” zu ”AUFGABE D” zeigend eingetragen ist.
  • Als eine zweite Regel werden den Aufgaben 108, die durch denselben Kern 103 auszuführen sind, Prioritäten zugewiesen, die die Ausführungsreihenfolge in demselben Kern 103 definieren. In dem vorliegenden Ausführungsbeispiel sind drei unterschiedliche Prioritäten, d. h. Hoch, Mittel und Niedrig, in jedem Kern 103 zugewiesen, wie in 3 und 4. Die Hoch-Priorität bzw. hohe Priorität ist die höchste Priorität bzw. Rangfolge. Die Mittel-Priorität bzw. mittlere Priorität ist die zweithöchste Priorität. Die Niedrig-Priorität bzw. niedrige Priorität ist die niedrigste Priorität. Wie in 3 sind in dem Kern 103a (Kern 1) unterschiedliche Prioritäten so zugewiesen, dass der Aufgabe 108a (Aufgabe A) die Hoch-Priorität zugewiesen ist und dass der Aufgabe 108b (Aufgabe B) die Mittel-Priorität zugewiesen ist. In dem Kern 103a hat die Aufgabe 108a eine höhere Priorität als die Aufgabe 108b. Daher wird die Aufgabe 108a grundlegend vor der Aufgabe 108b ausgeführt. Demgegenüber sind Prioritäten in dem Kern 103b (Kern 2) so zugewiesen, dass der Aufgabe 108c (Aufgabe C) die Hochpriorität zugewiesen ist und dass der Aufgabe 108d (Aufgabe D) die Mittel-Priorität zugewiesen ist. In dem Kern 103b hat die Aufgabe 108c eine höhere Priorität als die Aufgabe 108d. Daher wird die Aufgabe 108c grundlegend vor der Aufgabe 108d ausgeführt.
  • Die erste und die zweite Regel werden typisch in einem konventionellen Mehrkernmikrocomputer 102 festgelegt. Wenn diese Regeln auf das vorliegende Ausführungsbeispiel angewandt werden, ist die in 2 gezeigte Ausführungsreihenfolge der Aufgaben 108a108d wie in 3 dargestellt. Wie aus 3 offenkundig ist, wird die Aufgabe 108a des Kerns 103a zuerst ausgeführt, und wird dann die Aufgabe 108b des Kerns 103a ausgeführt. Die Aufgabe 108c des Kerns 103b steht in Bereitschaft, bis die Aufgabe 108b abgeschlossen ist, und wird nach dem Abschluss bzw. nach Beendigung der Aufgabe 108b ausgeführt. Die Aufgabe 108d, welche eine niedrigere Priorität hat als die Aufgabe 108c, wird ausgeführt, nachdem die Aufgabe 108c abgeschlossen ist.
  • In Übereinstimmung mit der ersten Regel muss die Aufgabe 108c in dem Kern 103b zur Ausführung in Bereitschaft stehen, bis die Aufgabe 108b des Kerns 103a abgeschlossen ist. Ferner kann die Aufgabe 108d nach dem Abschluss der Aufgabe 108a gleichzeitig mit der Aufgabe 108b ausgeführt werden, aber die Aufgabe 108d muss zur Ausführung in Bereitschaft stehen, bis die Aufgabe 108c durch den Kern 103b abgeschlossen ist. Dies ist deshalb so, weil die zweite Regel betreffend die Prioritäten in dem Kern 103b Beschränkungen auferlegt. Wie in 3 bleiben die Aufgaben 108c, 108d des Kerns 103b beide unausgeführt, während die Aufgabe 108b durch den Kern 103a ausgeführt wird. Dies bedeutet, dass der Kern 103b in Bereitschaft ist, ohne irgendeine Aufgabe auszuführen. D. h., falls die konventionell eingesetzten ersten und zweiten Regeln dazu angewandt werden, die Ausführungsreihenfolge der Aufgaben 108 festzulegen, können die Aufgaben 108 nicht parallel verarbeitet werden, obwohl eine Vielzahl von Kernen 103 zur Verfügung stehen. Demzufolge könnten die Aufgaben 108 nacheinander verarbeitet werden. In einer solchen Situation ist die Zeit, die zum Beenden aller der Aufgaben 108 erforderlich ist, gleich dem Wert, der durch Aufaddieren der Zeiterfordernisse für die Beendigung jeder Aufgabe 108 erhalten wird. Dies verringert die insgesamte Verarbeitungsgeschwindigkeit des Mehrkernmikrocomputers 102.
  • Das vorliegende Ausführungsbeispiel ist indessen so konfiguriert, dass eine dritte Regel zusätzlich zu den konventionell eingesetzten ersten und zweiten Regeln verwendet wird. In Übereinstimmung mit der dritten Regel hat dann, wenn eine vorbestimmte eine von Aufgaben 108 (nachstehend für eine zweckmäßige Erklärung als die ”erste Aufgabe” bezeichnet) zur Ausführung in Bereitschaft stehen muss, bis eine Aufgabe (nachstehend als die ”zweite Aufgabe” bezeichnet) durch einen Kern, der ein anderer ist als ein die erste Aufgabe ausführender Kern, vollständig ausgeführt ist, die erste Aufgabe eine niedrigere Priorität als eine Aufgabe (nachstehend als die ”dritte Aufgabe” bezeichnet), die eine andere ist als die erste Aufgabe, aber unter den Aufgaben innerhalb desselben Kerns wie die erste Aufgabe ist. Wenn die dritte Regel auf die Beispiele von 2 und 3 angewandt wird, kann der Kern 103b als ein besondere bzw. bestimmter Arbeitskern bezeichnet werden, kann der Kern 103a als ein unterschiedlicher bzw. anderer Kern (oder unterschiedlicher bestimmter Kern) bezeichnet werden, der sich von dem bestimmten Arbeitskern unterscheidet, kann die Aufgabe 108c des Kerns 103b als eine erste Aufgabe bezeichnet werden, kann die Aufgabe 108b des Kerns 103a als eine zweite Aufgabe bezeichnet werden, und kann die Aufgabe 108d des Kerns 103b als eine dritte Aufgabe bezeichnet werden. Wie in 2 muss die Aufgabe 108c zur Ausführung in Bereitschaft stehen, bis die Aufgabe 108b durch den Kern 103a, welcher sich von dem Kern 103b, der die Aufgabe 108c ausführt, unterscheidet, vollständig ausgeführt ist. Daher ändert sich, wie in 4, die Priorität der Aufgabe 108c von Hoch auf Mittel (d. h. von einem vorangehenden Niveau auf ein nachfolgendes Niveau), so dass die Aufgabe 108c eine niedrigere Priorität hat als die andere Aufgabe 108d (mit der Mittel-Priorität) in dem Kern 103b. Ferner können die Aufgaben 108 als in eine Vielzahl von Einzelkern-Aufgabengruppen unterteilt definiert sein; eine Arbeits-Einzelkern-Aufgabengruppe unter den Einzelkern-Aufgabengruppen kann als die Aufgabe 108c als die erste Aufgabe und die Aufgabe 108d als die dritte Aufgabe beinhaltend definiert sein, welche als durch den Kern 103b als den bestimmten Arbeitskern auszuführend festgelegt sind, während eine andere Einzelkern-Aufgabengruppe als die Aufgabe 103b als die zweite Aufgabe und die Aufgabe 103a, welche als eine andere Aufgabe bezeichnet werden kann, beinhaltend definiert sein, welche als durch den Kern 103a als den anderen Kern auszuführend festgelegt sind.
  • Während die Aufgabe 108b durch den Kern 103a ausgeführt wird und die Aufgabe 108c in dem Kern 103b in Bereitschaft steht, hat die Aufgabe 108d in dem Kern 103b eine höhere Priorität als die Aufgabe 108c. Daher wird, wie in 4, die Aufgabe 108d vor der Aufgabe 108c ausgeführt, während die Aufgabe 108c in Bereitschaft steht. Das heißt, die Aufgabe 108d des Kerns 103b wird parallel mit der Aufgabe 108b des Kerns 103 ausgeführt, wodurch eine Situation vermieden wird, in der der Kern 103b in Bereitschaft bleibt, bis die Aufgabe 108b durch den Kern 103a vollständig ausgeführt ist. Wenn dann die Aufgabe 108c nach dem Abschluss der Aufgabe 108b vollständig ausgeführt ist, sind alle der Aufgaben 108 vollständig ausgeführt. Wie beschrieben kann die Anwendung der dritten Regel zusätzlich zu den konventionell eingesetzten ersten und zweiten Regeln, welche die Ausführungsreihenfolge der Aufgaben 108 in der Vielzahl von Kernen 103 einschränken, eine Zeitspanne eliminieren oder reduzieren, während welcher ein bestimmter Kern vollständig in Bereitschaft bleibt. Dies verringert die Zeit, die erforderlich ist, um die Ausführung aller der Aufgaben zu beenden, und erhöht dadurch die insgesamte Verarbeitungsgeschwindigkeit des Multikernmikrocomputers 102.
  • Zusätzlich zu den ersten bis dritten Regeln wird eine vierte Regel verwendet. In Übereinstimmung mit der vierten Regel kehrt dann, wenn die zweite Aufgabe vollständig ausgeführt ist, die Priorität der ersten Aufgabe, welche niedriger ist als die der dritten Aufgabe, auf ein vorangehendes Niveau zurück. Wenn die Aufgabe 108b in einer Situation vollständig ausgeführt ist, in der die vierte Regel auf die Beispiele von 2 bis 4 angewandt wird, kehrt die Priorität der Aufgabe 108c des Kerns 103b, welche während der Ausführung der Aufgabe 108b des Kerns 103a in Übereinstimmung mit der dritten Regel auf das Niedrig-Niveau gesenkt wird, von Niedrig auf Hoch zurück (d. h. kehrt von dem nachfolgenden Niveau auf das vorangehende Niveau zurück). Das heißt, die Priorität der Aufgabe 108c, welche niedriger ist als die Priorität der Aufgabe 108d, kehrt auf das vorangehende Niveau zurück.
  • Dies führt zu der folgenden Sequenz: die Aufgabe 108d wird vor der Aufgabe 108c ausgeführt, während die Aufgabe 108c aufgrund der Ausführung der Aufgabe 108b durch den Kern 103a wie in 4 in Bereitschaft steht; dann, wenn die Aufgabe 108b abgeschlossen ist, kehrt die Priorität der Aufgabe 108c von Niedrig auf Hoch zurück. Das heißt, die Priorität (Hoch) der Aufgabe 108c wird höher als die Priorität (Mittel) der Aufgabe 108d, die gegenwärtig in dem Kern 103b ausgeführt wird. In diesem Fall unterbricht der Kern 103b zunächst die Ausführung der Aufgabe 108d mit einer niedrigeren Priorität, führt dann bevorzugt die Aufgabe 108c mit einer höheren Priorität aus, und nimmt bei Abschluss der Aufgabe 108c die Ausführung der Aufgabe 108d wieder auf. Wie beschrieben erlaubt es die Anwendung der vierten Regel den Prioritäten der Aufgaben 108, am Ende der Einschränkungen, die auf die Ausführungsreihenfolge der Aufgaben 108 der Kerne 103 unter der angewandten dritten Regel ausgeübt werden, unmittelbar auf gegebene Niveaus zurückzukehren. Das Zurückkehren zu den gegebenen Niveaus ermöglicht es, eine Vielzahl von Aufgaben 108 in einer ursprünglichen Reihenfolge auszuführen, die für die Steuerung eines Steuerziels (eines Motors in dem vorliegenden Ausführungsbeispiel) der elektronischen Steuereinheit 101 geeignet ist.
  • Information über die erste und die zweite Regel wird durch die Kerne 103a, 103b und den Aufgabenüberwachungsabschnitt 105 in dem Mehrkernmikrocomputer 102 gespeichert. Ein Prioritätsänderungsprozess des Änderns der Prioritäten der Aufgaben 108 in Übereinstimmung mit der dritten und der vierten Regel wird hauptsächlich durch den Aufgabenüberwachungsabschnitt 105 durchgeführt.
  • Nachstehend wird der Prioritätsänderungsprozess im Einzelnen unter Bezugnahme auf 5 beschrieben. Eine Reihe von Verarbeitungsschritten in dem Ablaufdiagramm von 5 wird durch den Mehrkernmikrocomputer 102 (hauptsächlich durch den Aufgabenüberwachungsabschnitt 105) der elektronischen Steuereinheit 101 durchgeführt, wenn einer der Kerne 103 in dem Mehrkernmikrocomputer 102 eine Aufgabe 108 aufruft. Das folgende wird unter einer Situation erklärt, in der die Aufgabe 108c des Kerns 103b in den Beispielen der 2 bis 4 aufgerufen wird.
  • In S101 ruft jeder Kern 103 eine als nächstes auszuführende Aufgabe 108 auf. Wenn ein solcher Aufruf erfolgt, gibt jeder Kern 103 Information über eine aufgerufene Aufgabe an den Aufgabenüberwachungsabschnitt 105 aus. Bei Abschluss von S101 schreitet die Verarbeitung zu S102 fort. Die in S101 aufgerufene Aufgabe (nachstehend als die ”relevante Aufgabe” bezeichnet) entspricht der ”ersten Aufgabe” und entspricht der Aufgabe 108c des Kerns 103b in den 2 bis 4.
  • In S102 ermittelt der Aufgabenüberwachungsabschnitt 105, ob die Aufgabe 108 (d. h. die relevante Aufgabe), die in S101 aufgerufen wurde, auf den Abschluss einer Aufgabe 108 (d. h. einer anderen Aufgabe), die gegenwärtig in einem anderen Kern 103 ausgeführt wird, warten muss. Falls Bedingungen erfüllt sind, das heißt, falls (i) eine Aufgabe 108, die unmittelbar vor der relevanten Aufgabe 108 auszuführen ist, zu dem anderen Kern 103 gehört, und (ii) die Aufgabe 108 des anderen Kerns 103 noch immer nicht abgeschlossen ist, kann der Aufgabenüberwachungsabschnitt 105 ermitteln, dass die relevante Aufgabe 108 auf den Abschluss der gegenwärtig in dem anderen Kern 103 ausgeführten Aufgabe 108 warten muss. Falls das in S102 erhaltene Ergebnis anzeigt, dass die relevante Aufgabe 108 auf den Abschluss der gegenwärtig in dem anderen Kern 103 ausgeführten Aufgabe 108 warten muss (S103: JA), schreitet die Verarbeitung zu S103 fort. Falls demgegenüber die relevante Aufgabe 108 nicht auf den Abschluss der gegenwärtig in dem anderen Kern 103 ausgeführten Aufgabe 108 warten muss (S102: NEIN), endet der in dem Ablaufdiagramm beschriebene Prozess. In diesem Fall werden Aufgaben 108 kontinuierlich in einer vorbestimmten Ausführungsreihenfolge basierend auf anfänglichen Einstellungen (zum Beispiel der ersten und der zweiten Regel) ausgeführt.
  • In S102 entspricht die ”gegenwärtig in dem anderen Kern 103 ausgeführte Aufgabe 108” der ”zweiten Aufgabe”. In den 2 bis 4 entspricht die ”gegenwärtig in dem anderen Kern 103 ausgeführte Aufgabe 108” der Aufgabe 108b des Kerns 103a. Die Verarbeitung schreitet bei Abschluss von S102 zu S103 fort, weil in S102 ermittelt wird, dass die aufgerufene Aufgabe 108c auf den Abschluss der Aufgabe 108b warten muss, die gegenwärtig in einem Kern 103a ausgeführt wird, der ein anderer als der Kern 103b ist, der die aufgerufene Aufgabe 108c ausführen wird.
  • In S103 veranlasst der Aufgabenüberwachungsabschnitt 105 das RAM 106, Information über die der relevanten Aufgabe 108 vorab zugewiesene Priorität zu speichern, weil die Aufgabe 108 (relevante Aufgabe), die in S101 aufgerufen wurde, auf den Abschluss der Aufgabe 108 warten muss, die gegenwärtig in dem anderen Kern 103 ausgeführt wird. In den 2 bis 4 speichert das RAM 106 die Information (Hoch) über die der aufgerufenen Aufgabe 108c vorab zugewiesene Priorität. Bei Abschluss von S103 schreitet die Verarbeitung zu S104 fort.
  • In S104 senkt der Aufgabenüberwachungsabschnitt 105 die Priorität der Aufgabe (relevante Aufgabe), die in S101 aufgerufen wurde. Zum Beispiel ändert der Aufgabenüberwachungsabschnitt 105 die Priorität der relevanten Aufgabe 108 so, dass die relevante Aufgabe 108 eine niedrigere Priorität hat als irgendeine andere Aufgabe 108 in dem Kern 103, der die relevante Aufgabe 108 ausführt. Der Aufgabenüberwachungsabschnitt 105 gibt Information über die geänderte Priorität der relevanten Aufgabe 108 an den Kern 103 aus, der die relevante Aufgabe 108 ausführt. Bei Empfang der Information ändert der Kern 103 die Priorität der relevanten Aufgabe 108 in Übereinstimmung mit einer Anweisung von dem Aufgabenüberwachungsabschnitt 105. Bei Abschluss von S104 schreitet die Verarbeitung zu S105 fort.
  • Wenn S104 in Bezug auf die Beispiele der 2 bis 4 durchgeführt wird, wird die Priorität der aufgerufenen Aufgabe 108c um zwei Ebenen gesenkt, nämlich von Hoch über Mittel auf Niedrig (d. h. von einem vorangehenden Niveau auf ein nachfolgendes Niveau) gesenkt. Die Aufgabe 108c hat eine niedrigere Priorität als die andere Aufgabe 108d in dem Kern 103b, der die Aufgabe 108c ausführt. In diesem Zustand führt, wie in 4, der Kern 103b die Aufgabe 108d, welche eine höhere Priorität hat als die Aufgabe 108c, vor der Aufgabe 108c aus, während die Aufgabe 108c in Bereitschaft steht bzw. ist.
  • In S105 ermittelt der Aufgabenüberwachungsabschnitt 105, ob die Aufgabe 108 (zweite Aufgabe oder unterschiedliche Aufgabe) des anderen Kerns 103, auf dessen Abschluss durch die aufgerufene Aufgabe 108 (relevante Aufgabe) gewartet wird, abgeschlossen ist. Wenn Information, die eine vollständige Ausführung der zweiten Aufgabe 108 anzeigt, von dem Kern 103, der die zweite Aufgabe 108 ausführt, zugeführt wird, kann der Aufgabenüberwachungsabschnitt 105 ermitteln, dass die Aufgabe 108 des anderen Kerns abgeschlossen ist. Falls das in S105 erhaltene Ermittlungsergebnis anzeigt, dass die Aufgabe 108 des anderen Kerns 103 abgeschlossen ist (S105: JA), schreitet die Verarbeitung zu Schritt S106 fort. Falls demgegenüber die Aufgabe des anderen Kerns 103 nicht abgeschlossen ist (S105: NEIN), wird auf den Abschluss der Aufgabe 108 gewartet.
  • In S106 greift der Aufgabenüberwachungsabschnitt 105 auf das RAM 106 zu, um Information über die der relevanten Aufgabe gegebenen Priorität zu lesen, welche in dem RAM 106 in S103 gespeichert wird, weil die Aufgabe 108 des anderen Kerns 103, auf deren Abschluss durch die aufgerufene Aufgabe 108 (relevante Aufgabe) gewartet wird, abgeschlossen ist. Bei Abschluss von S106 schreitet die Verarbeitung zu S107 fort.
  • In S107 stellt der Aufgabenüberwachungsabschnitt 105 die Priorität der relevanten Aufgabe wieder her, die in S104 geändert wird. Der Aufgabenüberwachungsabschnitt 105 gibt Information über die vorangehende Priorität (d. h. das vorangehende Niveau) der relevanten Aufgabe, welche in S106 gewonnen wird, für bzw. zu dem Kern wieder her, der die relevante Aufgabe ausführt. Bei Empfang der Information ändert der Kern die Priorität der relevanten Aufgabe zurück auf das vorangehende Niveau in Übereinstimmung mit einer Anweisung von dem Aufgabenüberwachungsabschnitt 105. Bei Abschluss von S107 endet der in dem Ablaufdiagramm beschriebene Prozess.
  • Wenn der Kern 103a die Ausführung der Aufgabe 108b in den 2 bis 4 abschließt, beschafft der Aufgabenüberwachungsabschnitt 105 in S106 und S107 Information über die Priorität (Hoch) der Aufgabe 108c, welche in dem RAM 106 gespeichert ist, und gibt die beschaffte Information an den Kern 103b aus, der die Aufgabe 108c ausführt. In Übereinstimmung mit einer Anweisung von dem Aufgabenüberwachungsabschnitt 105 ändert der Kern 103b die Priorität der Aufgabe 108c von dem gegenwärtig zugewiesenen ”Niedrig”-Niveau (d. h. dem nachfolgenden Niveau) auf das vorangehende ”Hoch”-Niveau (d. h. das vorangehende Niveau). Aufgrund einer solchen Prioritätsänderung schaltet der Kern 103b zurück, um die Aufgabe 108c vor der Aufgabe 108d auszuführen.
  • Der Aufgabenüberwachungsabschnitt 105 in der elektronischen Steuereinheit 101 gemäß dem vorliegenden Ausführungsbeispiel arbeitet als ein ”Prioritätsänderungsabschnitt”, der die Priorität der ersten Aufgabe (der Aufgabe 108c) in den 2 bis 4) in Übereinstimmung mit der dritten Regel ändert. Ferner arbeitet das RAM 106 als eine ”Speichereinheit”, die die ursprüngliche Priorität der ersten Aufgabe speichert, wenn die Priorität der ersten Aufgabe durch den Aufgabenüberwachungsabschnitt 105 geändert wird. Wenn diese Konfiguration verwendet wird, werden der Aufgabenüberwachungsabschnitt 105 und das RAM 106, welche von den beiden Kernen 103, die die Aufgaben 108 ausführen, separate Elemente sind, dazu verwendet, den Prioritätsänderungsprozess, beschrieben unter Bezugnahme auf 5, durchzuführen. Demzufolge können die Funktionen des Prioritätsänderungsabschnitts und der Speicherabschnitt angewendet werden, ohne die Ausführung von Aufgaben 108 in den beiden Kernen 103 nachteilig zu beeinflussen. Dies ermöglicht es dem Mehrkernmikrocomputer 102, Aufgaben 108 weicher auszuführen.
  • Außerdem arbeitet der Aufgabenüberwachungsabschnitt 105 in der elektronischen Steuereinheit 101 gemäß dem vorliegenden Ausführungsbeispiel auch als ein ”Überwachungsabschnitt”, der überwacht, ob die Aufgaben 108 in Kernen 103 vollständig ausgeführt werden. Wenn die Funktion des Überwachungsabschnitts erfasst, dass die Ausführung der zweiten Aufgabe (der Aufgabe 108b in den 2 bis 4) in Übereinstimmung mit der vierten Regel abgeschlossen ist, ändert der Aufgabenüberwachungsabschnitt 105 die Priorität der ersten Aufgabe (Aufgabe 108c) zurück auf das vorangehende Niveau, das in dem RAM 106 gespeichert ist. Wenn diese Konfiguration verwendet wird, wird der Aufgabenüberwachungsabschnitt 105, welcher ein von den zwei Kernen 103, die die Aufgaben 108 ausführen, separates Element ist, dazu verwendet, auf vollständige Ausführung der zweiten Aufgabe zu überwachen und einen Prozess des Änderns der Priorität der ersten Aufgabe zurück auf das vorangehende Niveau durchzuführen, das in dem RAM 106 gespeichert ist. Wenn diese Konfiguration verwendet wird, wird der Aufgabenüberwachungsabschnitt 105, welcher ein von den beiden Kernen 103, der die Aufgaben 108 ausführt, separates Element ist, dazu verwendet, auf vollständige Ausführung der zweiten Aufgabe zu überwachen und einen Prozess des Änderns der Priorität der ersten Aufgabe zurück auf das vorangehende Niveau durchzuführen. Demzufolge können die Funktionen des Überwachungsabschnitts und des Prioritätsänderungsabschnitts angewendet werden, ohne die Ausführung von Aufgaben 108 in den beiden Kernen 103 nachteilig zu beeinflussen. Dies erlaubt es dem Mehrkernmikrocomputer 102 nicht nur, Aufgaben 108 weicher auszuführen, sondern erlaubt es dann, wenn die zweite Aufgabe vollständig ausgeführt ist, dem Mehrkernprozessor 102 auch, unmittelbar die Priorität der Aufgabe 108 zurück auf ein gegebenes Niveau zu ändern.
  • Nachstehend wird der Prioritätsänderungsprozess in dieser Konfiguration unter Bezugnahme auf 6 bis 9 beschrieben, in denen ein bestimmter Kern nicht nur eine Aufgabe (erste Aufgabe), die bis zum bzw. für den Abschluss einer anderen Aufgabe (zweite Aufgabe), die durch einen anderen Kern auszuführen ist, in Bereitschaft stehen muss, sondern auch eine Aufgabe mit derselben Priorität wie die erste Aufgabe beinhaltet. Wie in 6 werden zwei vorbestimmte Aufgaben, nämlich Aufgabe A und Aufgabe B, immer durch den Kern 103a, welcher einer der beiden Kerne 103 ist, ausgeführt, und werden drei vorbestimmte Aufgaben, nämlich Aufgabe C, Aufgabe D und Aufgabe E, immer durch den Kern 103b ausgeführt. In der nachfolgenden Beschreibung wird die Aufgabe A hauptsächlich als die ”Aufgabe 208a” bezeichnet, wird die Aufgabe B hauptsächlich als die ”Aufgabe 208b” bezeichnet, wird die Aufgabe C hauptsächlich als die ”Aufgabe 208c” bezeichnet, wird die Aufgabe D hauptsächlich als die ”Aufgabe 208d” bezeichnet, und wird die Aufgabe E hauptsächlich als die ”Aufgabe 208e” bezeichnet.
  • Wie in 6 wird die Aufgabe 208b nach dem Abschluss der Aufgabe 208a des Kerns 103a ausgeführt, wird die Aufgabe 208c des Kerns 103b nach dem Abschluss der Aufgabe 208b ausgeführt, und wird die Aufgabe 208d nach dem Abschluss der Aufgabe 208c ausgeführt. Ferner wird angemerkt, dass die Aufgabe 208e des Kerns 103b genau nach dem Abschluss der Aufgabe 208a des Kerns 103a ausgeführt werden kann, wie durch den Pfeil angegeben ist, der in 6 direkt von ”AUFGABE A” zu ”AUFGABE E” zeigt.
  • Außerdem sind wie in 7 der Aufgabe 208a und der Aufgabe 208b des Kerns 103a jeweils die Hoch-Priorität und die Mittel-Priorität vorab zugewiesen. In dem Kern 103a hat die Aufgabe 208a eine höhere Priorität als die Aufgabe 208b, so dass die Aufgabe 208a grundlegend vor der Aufgabe 208b ausgeführt wird. In dem Kern 103b ist den Aufgaben 208c, 208d die Hoch-Priorität vorab zugewiesen, während der Aufgabe 208e die Mittel-Priorität vorab zugewiesen ist. Genauer haben in dem Kern 103b die Aufgaben 208c, 208d eine höhere Priorität als die Aufgabe 208e, so dass die Aufgaben 208c, 208d grundlegend vor der Aufgabe 208e ausgeführt werden.
  • Falls ein bestimmter Kern eine erste Aufgabe in Übereinstimmung mit der dritten Regel und eine andere Aufgabe (nachstehend als eine ”vierte Aufgabe” bezeichnet) mit derselben Priorität wie die erste Aufgabe beinhaltet, d. h. es eine Gruppe (d. h. eine Gruppe mit identischer Priorität) gibt, die als (i) die erste Aufgabe und (ii) eine andere Aufgabe mit derselben Priorität wie die Priorität der ersten Aufgabe beinhaltend definiert ist, senkt die elektronische Steuereinheit 101 kollektiv die Prioritäten aller in der Gruppe enthaltener Aufgaben. Das heißt, wenn die Priorität der ersten Aufgabe so zu ändern ist, dass sie niedriger ist als die Priorität der dritten Aufgabe, kann die elektronische Steuereinheit 101 die Priorität der vierten Aufgabe, welche unter den Aufgaben in demselben Kern wie die erste Aufgabe ist und welcher dieselbe Priorität wie der ersten Aufgabe zuzuweisen ist, in derselben Weise ändern wie für die erste Aufgabe.
  • Wenn das Vorstehende auf die Beispiele der 6 und 7 angewandt wird, muss die Aufgabe 208c des Kerns 103b zur Ausführung in Bereitschaft stehen, bis die Aufgabe 208b vollständig durch den Kern 103a ausgeführt ist, welcher sich von dem Kern 103b unterscheidet, der die Aufgabe 208c ausführt. Wie in 8 wird die Priorität der Aufgabe 208c von Hoch auf Niedrig (d. h. von einem vorangehenden Niveau auf ein nachfolgendes Niveau) geändert, so dass die Priorität der Aufgabe 208c niedriger ist als die Priorität (Mittel) der anderen Aufgabe 208e in dem Kern 103b. Ferner wird die Priorität der Aufgabe 208d mit derselben Priorität wie die Aufgabe 208c von Hoch auf Mittel (d. h. von dem vorangehenden Niveau auf das nachfolgende Niveau) geändert, wie es bei der Aufgabe 208c der Fall ist.
  • In dem Kern 103b hat die Aufgabe 208e eine höhere Priorität als die Aufgaben 208c, 208d, welche zu derselben Gruppe mit identischer Priorität gehören, während die Aufgabe 208b in dem Kern 103a ausgeführt wird und die Aufgabe 208c in dem Kern 103b in Bereitschaft steht. Wie in 8 wird die Aufgabe 208e vor den Aufgaben 208c, 208d ausgeführt, während die Aufgaben 208c, 208d in Bereitschaft stehen. Das heißt, die Aufgabe 208e des Kerns 103b wird parallel mit der Aufgabe 208b des Kerns 103a ausgeführt. Dies kann eine Situation vermeiden, in der der Kern 103b in Bereitschaft verbleibt, bis die Aufgabe 208b vollständig durch den Kern 103a ausgeführt ist. Nach Abschluss der Aufgabe 208b werden die Aufgabe 208c und die Aufgabe 208d sequenziell ausgeführt, um die Ausführung aller der Aufgaben 208 abzuschließen.
  • Wenn die zweite Aufgabe vollständige ausgeführt ist, können die Prioritäten einer Gruppe von Aufgaben, einschließlich der ersten Aufgabe und der vierten Aufgabe, deren Prioritäten niedriger als die Priorität der dritten Aufgabe gemacht ist, durch die elektronische Steuereinheit 101 zurück auf die vorangehenden Niveaus geändert werden. Wenn diese Fähigkeit auf die Beispiele von 6 bis 8 in Bezug auf eine Gruppe von Aufgaben einschließlich der Aufgaben 208c, 208d des Kerns 103b angewandt wird, deren Prioritäten während der Ausführung der Aufgabe 208b des Kerns 103a in Übereinstimmung mit der dritten Regel auf das Niedrig-Niveau gesenkt werden, werden die Prioritäten der Aufgaben 208c, 208d bei Abschluss der Aufgabe 208b von Niedrig zurück auf Hoch geändert, so dass die Aufgaben 208c, 208d mit niedrigeren Prioritäten als die Aufgabe 208e zu dem vorangehenden Prioritätsniveau geändert werden.
  • Auch wenn die Konfiguration in den 6 bis 8 verwendet wird, produziert die elektronische Steuereinheit 101 dieselben Wirkungen wie diejenigen, die in der Konfiguration in den 2 bis 4 erklärt wurden.
  • Hierbei sollen Aufgaben 208, welchen dieselbe Priorität zugewiesen ist, in einer vorbestimmten Reihenfolge sequenziell ausgeführt werden, oder gleichzeitig ausgeführt werden, wann immer möglich. In den 6 bis 8 wird bevorzugt, dass die Aufgabe 208d nach der Ausführung der Aufgabe 208c ausgeführt wird. Das vorliegende Ausführungsbeispiel ändert kollektiv die Prioritäten einer Gruppe von Aufgaben, denen dieselbe Priorität wie oben zugewiesen ist. Daher können auch dann, wenn die Prioritäten einzelner geändert werden, die Aufgaben in der Gruppe immer in einer vorbestimmten Reihenfolge ausgeführt werden. Demzufolge kann auch dann, wenn die Prioritäten von Aufgaben 208 geändert werden, das vorliegende Ausführungsbeispiel die Möglichkeit erhöhen, die Aufgaben in einer ursprünglichen Reihenfolge auszuführen, die für die Steuerung eines Steuerziels (eines Motors in dem vorliegenden Ausführungsbeispiel) der elektronischen Steuereinheit 101 geeignet ist.
  • Nachstehend wird der Prioritätsänderungsprozess in den 6 bis 8 im Einzelnen unter Bezugnahme auf das Ablaufdiagramm von 9 beschrieben. Die Beschreibung von S201, S202, S205 und S206 in dem Ablaufdiagramm von 9 wird weggelassen, weil sie identisch sind mit S101, S102, S105 und S106, welche in 5 beschrieben sind.
  • In S203 muss eine Aufgabe 208 (relevante Aufgabe), die in S201 aufgerufen wurde, auf den Abschluss einer Aufgabe 208 warten, die gegenwärtig in dem anderen Kern 103 ausgeführt wird. Daher veranlasst der Aufgabenüberwachungsabschnitt 105 das RAM 106, Information über die Eigenschaften zu speichern, die einzelnen Aufgaben 208 in einer Gruppe (d. h. einer Gruppe mit identischer Priorität) von Aufgaben, die in demselben Kern 103 sind und denen dieselben Prioritäten wie der relevanten Aufgabe 208 zugewiesen wurden, vorab zugewiesen wurden. In den 6 bis 8 speichert das RAM 106 die Information (Hoch) über die Prioritäten, die der aufgerufenen Aufgabe 208c und der Aufgabe 208d mit derselben Priorität wie der Aufgabe 208c als derselben Gruppe mit identischer Priorität vorab zugewiesen wurden. Bei Abschluss von S203 schreitet die Verarbeitung zu S204 fort.
  • In S204 senkt der Aufgabenüberwachungsabschnitt 105 die Prioritäten einer Gruppe (d. h. einer Gruppe mit identischer Priorität) von Aufgaben einschließlich der Aufgabe 208 (relevante Aufgabe), die in S201 aufgerufen wurde. Zum Beispiel ändert der Aufgabenüberwachungsabschnitt 105 die Prioritäten der relevanten Aufgabe 208 und der anderen Aufgaben 208 mit derselben Priorität wie die relevante Aufgabe so, dass die relevante Aufgabe 208 eine niedrigere Priorität hat als irgendeine andere Aufgabe 208 in dem Kern 103, der die relevante Aufgabe 208 ausführt. Bei Abschluss von S204 schreitet die Verarbeitung zu S205 fort.
  • Wenn S204 in Bezug auf die Beispiele der 6 bis 8 durchgeführt wird, werden die Prioritäten der aufgerufenen Aufgabe 208c und der Gruppe von Aufgaben einschließlich der Aufgabe 208d mit derselben Prioritär der Aufgabe 208c um zwei Ebenen gesenkt, nämlich von Hoch auf Niedrig (d. h. von einem vorangehenden Niveau auf ein nachfolgendes Niveau) gesenkt. Daher sind die Prioritäten der Aufgaben 208c, 208d niedriger als die Priorität (Mittel) einer anderen Aufgabe 208e in dem Kern 103b, der die Aufgaben 208c, 208d ausführt. Der Kern 103b führt die Aufgabe 208e mit einer höheren Priorität als die Aufgaben 208c, 208d vor den Aufgaben 208c, 208d aus, während die Aufgabe 208c in Bereitschaft steht, wie in 8.
  • In S207 stellt der Aufgabenüberwachungsabschnitt 105 die Prioritäten einer Gruppe (d. h. einer Gruppe mit identischer Priorität) von Aufgaben einschließlich der relevanten Aufgabe 208, deren Priorität in S204 geändert wird, wieder her. Der Aufgabenüberwachungsabschnitt 105 gibt Information über die vorangehenden Prioritäten (d. h. das vorangehende Niveau) der Gruppe von Aufgaben einschließlich der relevanten Aufgabe, welche aus dem RAM 106 in S206 beschafft wird, an einen Kern aus, der die relevante Aufgabe ausführt. Wenn die Information empfangen wird, ändert der Kern die Prioritäten der Gruppe von Aufgaben einschließlich der relevanten Aufgabe zurück auf die vorangehenden Niveaus in Übereinstimmung mit einer Anweisung von dem Aufgabenüberwachungsabschnitt 105. Bei Abschluss von S207 endet der in dem Ablaufdiagramm beschriebene Prozess.
  • In dem Beispiel in den 6 bis 8 beschafft dann, wenn der Kern 103a die Ausführung der Aufgabe 208b abschließt bzw. beendet, der Aufgabenüberwachungsabschnitt 105 in S206 und S207 Information über die vorangehenden Prioritäten (Hoch) der Aufgaben 208c, 208d, welche in dem RAM 1067 gespeichert ist, und gibt die beschaffte Information an den Kern 103b aus, der die Aufgaben 208c, 208d ausführt. In Übereinstimmung mit einer Anweisung von dem Aufgabenüberwachungsabschnitt 105 ändert der Kern 103b die Prioritäten der Aufgaben 208c, 208d von dem gegenwärtig zugewiesenen ”Niedrig”-Niveau auf das vorangehende ”Hoch”-Niveau (d. h. von dem nachfolgenden Niveau auf das vorangehende Niveau). Aufgrund einer solchen Prioritätsänderung schaltet der Kern 103b zurück, um die Aufgaben 208c, 208d vor der Aufgabe 208e auszuführen.
  • Während die Erfindung unter Bezugnahme auf bestimmte Beispiele beschrieben wurde, versteht sich, dass die Erfindung nicht auf die bestimmten Beispiele beschränkt ist. Auch wenn manche geeigneten Ausgestaltungsänderungen auf die bestimmten Beispiele durch den Fachmann angewandt werden, sind die resultierenden Beispiele ebenfalls im Rahmen der Erfindung enthalten soweit sie die Merkmale der Erfindung integrieren. Zum Beispiel sind Elemente, die in den bestimmten Beispielen enthalten sein sollen, und die Anzahl, Orte, Werkstoffe, Zustände, Formen und Größen solcher Elemente nicht auf die beispielhaft genannten beschränkt, sondern können eignungsgemäß geändert werden. Ferner können Elemente in dem vorangehenden Ausführungsbeispiel verschiedenartig kombiniert werden, soweit die resultierenden Kombinationen technisch implementierbar sind, und sind diese Kombinationen ebenfalls im Rahmen der Erfindung enthalten, soweit sie die Merkmale der Erfindung integrieren.
  • Das vorangehende Ausführungsbeispiel wurde unter der Annahme beschrieben, dass der Mehrkernmikrocomputer 102 zwei Kerne 103a, 103b beinhaltet. Die Anzahl von Kernen 103, die in dem Mehrkernmikrocomputer enthalten ist, ist jedoch nicht auf zwei beschränkt. Alternativ kann der Mehrkernmikrocomputer 102 drei oder mehr Kerne beinhalten. Obwohl den in demselben Kern 103 auszuführenden Aufgaben in dem vorstehenden Ausführungsbeispiel eine von drei unterschiedlichen Prioritäten zugewiesen ist, ist die Anzahl von Prioritätsebenen nicht auf drei beschränkt.
  • In dem vorstehenden Ausführungsbeispiel beinhaltet der Mehrkernmikrocomputer 102 eine Vielzahl von Kernen 103 und zwei separate Element, die der Aufgabenüberwachungsabschnitt 105 und das RAM 106 sind. Der Aufgabenüberwachungsabschnitt 105 funktioniert als der Prioritätsänderungsabschnitt und Überwachungsabschnitt; das RAM 106 funktioniert als die Speichereinheit. Hierbei können die Funktionen des Prioritätsänderungsabschnitts, des Überwachungsabschnitts und der Speichereinheit alternativ als die Aufgaben 108, 208 in den Kernen 103 festgelegt sein. Ferner können, was die internen Elemente der elektronischen Steuereinheit 101 anbelangt, Elemente extern zu dem Mehrkernmikrocomputer 102 die Funktionen des Prioritätsänderungsabschnitts, des Überwachungsabschnitts und des Speicherabschnitts implementieren und mit den Kernen 103 in dem Mehrkernmikrocomputer 102 kommunizieren.
  • In dem vorstehenden Ausführungsbeispiel wird das RAM 106 in dem Mehrkernmikrocomputer 102 als die Speichereinheit verwendet, die Information über Prioritäten speichert. Alternativ kann ein bestimmter Bereich des geteilten bzw. gemeinsam genutzten RAM 104 als die Speichereinheit allokiert sein. Eine andere Alternative besteht darin, das RAM 106 oder das gemeinsam genutzte RAM 104 extern zu dem Mehrkernmikrocomputer 102 anzuordnen und es einem solchen Speicher zu erlauben, als die Speichereinheit zu arbeiten und mit den Kernen 103 in dem Mehrkernmikrocomputer 102 zu arbeiten.
  • In dem vorstehenden Ausführungsbeispiel ist die elektronische Steuereinheit 101 als eine Motorsteuer-ECU für ein Fahrzeug implementiert. Die elektronische Steuereinheit 101 kann jedoch auch als eine andere Steuereinrichtung als die Motorsteuer-ECU implementiert sein, soweit die elektronische Steuereinheit 101 den Mehrkernmikroprozessor 102 beinhaltet. Die elektronische Steuereinheit 101 kann auch als eine Steuer-ECU für ein Fahrzeug-EPS(Electric Power Steering; elektrisches Servolenkungs)-System oder ein Fahrzeug ECB(Electronic Control Braking; elektronisch gesteuertes Brems)-System, eine Hybridfahrzeug-Steuer-ECU oder eine Schnittstellen-ECU implementiert sein. Ferner kann die elektronische Steuereinheit 101 auch als eine integrierte ECU implementiert sein, in welche die Funktionen einer Vielzahl von ECUs integriert sind. Zusätzlich kann die elektronische Steuereinheit 101 auch als eine andere elektronische Steuereinheit als eine fahrzeuginterne ECU implementiert sein.
  • In dem vorstehenden Ausführungsbeispiel wird die Priorität der relevanten Aufgabe (erste Aufgabe, d. h. die Aufgabe 108c, 208c) so geändert, dass sie niedriger ist als die der anderen Aufgabe (dritte Aufgabe, d. h. die Aufgabe 108d, 208e). Eine Alternative besteht jedoch darin, die andere Aufgabe vor der relevanten Aufgabe auszuführen, in dem der relevanten Aufgabe eine relativ niedrigere Priorität als der anderen Aufgabe zugewiesen wird. Das heißt, die andere Aufgabe kann so geändert werden, dass sie höher ist als die der relevanten Aufgabe. Das heißt, die Priorität der ersten Aufgabe 108c, 208c wird so geändert, dass sie relativ niedriger ist als die Priorität der dritten Aufgabe 108d, 208e, so dass die Priorität der ersten Aufgabe 108c, 208c von einem relativ höheren Niveau als einem vorangehenden relativen Niveau auf ein relativ niedrigeres Niveau als ein nachfolgendes relatives Niveau in Bezug auf die Priorität der dritten Aufgabe 108d, 208e geändert wird.
  • Während die Erfindung unter Bezugnahme auf bevorzugte Ausführungsbeispiele derselben beschrieben wurde, versteht sich, dass die Erfindung nicht auf die bevorzugten Ausführungsbeispiel und Konstruktionen beschränkt ist. Die vorliegende Offenbarung beabsichtigt, verschiedene Modifikationen und äquivalente Anordnungen abzudecken. Darüber hinaus liegen, während die verschiedenen Kombinationen und Konfigurationen bevorzugt sind, andere Kombinationen und Konfigurationen, einschließlich mehr, weniger oder nur eines Elements, ebenfalls innerhalb des Rahmens der vorliegenden Offenbarung und 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 2013-054625 A [0002]

Claims (6)

  1. Elektronische Steuereinheit (101), beinhaltend: einen Mehrkernmikrocomputer (102), der eine Vielzahl von Aufgaben (108, 208), die vorbestimmt sind, unter Verwendung einer Vielzahl von Kernen (103) parallel ausführt, wobei die Vielzahl von Aufgaben dazu festgelegt ist, durch jeweilige bestimmte Kerne der Kerne ausgeführt zu werden, während eine Ausführungsreihenfolge der Vielzahl von Aufgaben in dem Mehrkernmikrocomputer festgelegt ist, wobei Aufgaben, welche dazu festgelegt sind, durch einen bestimmten Arbeitskern (103b) der Kerne ausgeführt zu werden, jeweilige Prioritäten zum Definieren einer Ausführungsreihenfolge durch den bestimmten Arbeitskern zugewiesen sind; und wenn eine erste Aufgabe (108c, 208c) unter den Aufgaben (108c, 108d, 208c, 208e), die dazu festgelegt sind, durch den bestimmten Arbeitskern ausgeführt zu werden, zur Ausführung in Bereitschaft stehen muss, bis zum Abschluss der Ausführung einer zweiten Aufgabe (108b, 208b), welche durch einen unterschiedlichen, gegenüber dem bestimmten Arbeitskern (103b) anderen Kern ausgeführt wird, die Priorität der ersten Aufgabe veranlasst wird, relativ niedriger zu sein als die Priorität einer dritten Aufgabe (108d, 208e) ist, die unter den Aufgaben ist, die dazu festgelegt sind, außer der ersten Aufgabe durch den bestimmten Arbeitskern ausgeführt zu werden.
  2. Elektronische Steuereinheit nach Anspruch 1, bei der die Priorität der ersten Aufgabe dazu veranlasst wird, relativ niedriger zu sein als die Priorität der dritten Aufgabe, so dass die Priorität der ersten Aufgabe von einem relativ höheren Niveau als einem vorangehenden relativen Niveau auf ein relativ niedrigeres Niveau als ein nachfolgendes relatives Niveau in Bezug auf die Priorität der dritten Aufgabe geändert wird; und die Priorität der ersten Aufgabe, welche auf das nachfolgende relative Niveau geändert wurde, bei Abschluss der Ausführung der zweiten Aufgabe auf das vorangehende relative Niveau in Bezug auf die Priorität der dritten Aufgabe zurückkehrt.
  3. Elektronische Steuereinheit nach Anspruch 2, ferner beinhaltend: einen Prioritätsänderungsabschnitt (105), der die Priorität der ersten Aufgabe dazu veranlasst, niedriger zu sein als die Priorität der dritten Aufgabe, wenn die erste Aufgabe bis zum Abschluss der Ausführung der zweiten Aufgabe in Bereitschaft stehen muss; und eine Speichereinheit (106), die das vorangehende relative Niveau der ersten Aufgabe speichert, wenn die Priorität der ersten Aufgabe durch den Prioritätsänderungsabschnitt geändert wird, wobei dann, wenn die Ausführung der zweiten Aufgabe abgeschlossen ist, der Prioritätsänderungsabschnitt die Priorität der ersten Aufgabe zur auf das vorangehende relative Niveau ändert, das in der Speichereinheit gespeichert ist.
  4. Elektronische Steuereinheit nach Anspruch 3, ferner beinhaltend: einen Überwachungsabschnitt (105), der auf den Abschluss der Ausführung von Aufgaben überwacht, die durch die Kerne ausgeführt werden, wobei dann, wenn der Überwachungsabschnitt den Abschluss der Ausführung der zweiten Aufgabe erfasst, der Prioritätsänderungsabschnitt die Priorität der ersten Aufgabe zurück auf das vorangehende relative Niveau ändert, das in der Speichereinheit gespeichert ist.
  5. Elektronische Steuereinheit nach Anspruch 1, bei der: eine vierte Aufgabe (208d) unter den Aufgaben (208c208e) ist, die dazu festgelegt sind, durch den bestimmten Arbeitskern ausgeführt zu werden, und dieser eine Priorität zugewiesen ist, die identisch zu der Priorität der ersten Aufgabe (208c) ist; und dann, wenn die Priorität der ersten Aufgabe dazu veranlasst wird, relativ niedriger zu sein als die Priorität der dritten Aufgabe (208e), die Priorität der vierten Aufgabe ebenfalls in einer Weise identisch für die erste Aufgabe geändert wird.
  6. Elektronische Steuereinheit nach Anspruch 5, bei der: die Priorität jeder der ersten Aufgabe und der vierten Aufgabe dazu veranlasst wird, niedriger zu sein als die Priorität der dritten Aufgabe, so dass die Priorität der ersten Aufgabe von einem relativ höheren Niveau als einem vorangehenden relativen Niveau auf ein relativ niedrigeres Niveau als ein nachfolgendes relatives Niveau in Bezug auf die Priorität der dritten Aufgabe geändert wird; und die Priorität jeder der ersten Aufgabe und der vierten Aufgabe, welche auf das nachfolgende relative Niveau geändert wurde, bei Abschluss der Ausführung der zweiten Aufgabe auf das vorangehende relative Niveau zurückkehrt.
DE102016206490.8A 2015-04-20 2016-04-18 Elektronische steuereinheit Pending DE102016206490A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-085637 2015-04-20
JP2015085637A JP6365387B2 (ja) 2015-04-20 2015-04-20 電子制御装置

Publications (1)

Publication Number Publication Date
DE102016206490A1 true DE102016206490A1 (de) 2016-10-20

Family

ID=57043751

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016206490.8A Pending DE102016206490A1 (de) 2015-04-20 2016-04-18 Elektronische steuereinheit

Country Status (2)

Country Link
JP (1) JP6365387B2 (de)
DE (1) DE102016206490A1 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7263746B2 (ja) * 2018-12-03 2023-04-25 株式会社デンソー 情報処理装置
KR102540724B1 (ko) * 2020-12-14 2023-06-05 현대오토에버 주식회사 멀티 코어 시스템에서의 태스크 실행 관리 방법, 그리고 이를 구현하기 위한 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054625A (ja) 2011-09-06 2013-03-21 Toyota Motor Corp 情報処理装置、情報処理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3573546B2 (ja) * 1995-10-27 2004-10-06 富士通株式会社 並列計算機における並列プロセススケジューリング方法および並列計算機用処理装置
JP2002073374A (ja) * 2000-08-30 2002-03-12 Canon Inc 割り込みシミュレーション方法及び装置
JP2003067201A (ja) * 2001-08-30 2003-03-07 Hitachi Ltd コントローラとオペレーティングシステム
JP2008276666A (ja) * 2007-05-07 2008-11-13 Sony Corp 情報処理装置および方法、並びにプログラム
WO2014027444A1 (ja) * 2012-08-13 2014-02-20 日本電気株式会社 スケジューリング装置、及び、スケジューリング方法
JP2015022504A (ja) * 2013-07-18 2015-02-02 富士通株式会社 情報処理装置、方法、及びプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013054625A (ja) 2011-09-06 2013-03-21 Toyota Motor Corp 情報処理装置、情報処理方法

Also Published As

Publication number Publication date
JP2016206817A (ja) 2016-12-08
JP6365387B2 (ja) 2018-08-01

Similar Documents

Publication Publication Date Title
DE102010028259A1 (de) Mikrocontroller mit einer Recheneinheit und einer Logikschaltung sowie Verfahrung zur Durchführung von Rechnungen durch einen Mikrocontroller für eine Regelung oder eine Steuerung in einem Fahrzeug
DE102016014152A1 (de) Numerische Steuervorrichtung
DE102016008985B4 (de) Servosteuersystem mit Lernsteuereinrichtung mit Funktion zur Optimierung einer Lernspeicherzuordnung
DE102018003245A1 (de) Numerische Steuereinrichtung
DE102014005557A1 (de) Numerische Steuervorrichtung
DE102012011584A1 (de) Ressourcen-Managementsystem fürAutomatisierungsanlagen
DE112012006178T5 (de) Parametereinstellvorrichtung
EP3080668B1 (de) Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts
DE102016013496A1 (de) Numerisches steuersystem zur koordination mit einer werkzeug- katalogdatenbank
DE102016206490A1 (de) Elektronische steuereinheit
DE102017213510A1 (de) Verfahren und Vorrichtung zum Erzeugen eines maschinellen Lernsystems, und virtuelle Sensorvorrichtung
DE102012209789A1 (de) Fahrzeuggebundene elektrische steuervorrichtung
DE112018006793T5 (de) Hybrid-priorisierte ressourcenzuweisung in rechenvorrichtungen mit wärme- oder energiebegrenzung
DE102019217427A1 (de) Steuern und/oder Überwachen einer Maschinenanordnung
DE102018202093A1 (de) Verfahren und Vorrichtung zur Berechnung von Datenmodellen in sicherheitskritischen Systemen
EP3705993B1 (de) System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk
DE112018006331B4 (de) Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm
DE102016218210A1 (de) Ein dynamischer Aufgabenplaner in einer Mehrkern-Elektroniksteuereinheit
DE112020007310T5 (de) Informations-verarbeitungssystem und steuerungsverfahren für eininformations-verarbeitungssystem
DE102018123563B4 (de) Verfahren zur Zwischenkernkommunikation in einem Mehrkernprozessor
DE102012208753A1 (de) Mikrocomputer mit einzelkern
DE102014215561A1 (de) Mikrocomputer
DE102017211564A1 (de) Elektronische steuereinheit
DE102014208379A1 (de) Verfahren und Vorrichtung zum Ermitteln eines Funktionswerts eines bezüglich einer Eingangsgröße invertierten datenbasierten Funktionsmodells
DE102020204958A1 (de) Elektronische steuereinheit

Legal Events

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