-
Die vorliegende Erfindung betrifft einen Mikrocomputer mit einem Einzelkern zum Bereitstellen mehrerer virtueller Kerne.
-
Es ist ein einzelner Mikrocomputer bekannt, der multiple Funktionen zum Bereitstellen von ECUs (electronic control unit, elektronische Steuereinheit) beinhaltet, um Arbeitsstunden zum Entwickeln der ECUs zu reduzieren, da es erforderlich ist, die Anzahl von ECUs die in einem Fahrzeug angebracht sind, zu reduzieren. Somit werden die ECUs effektiv entwickelt. Beispielsweise lehrt „2007 Annual Report at the end of the term" durch Denso Corporation mittels Internet offenbart auf Seite 4 das vorstehende Verfahren (URL:http://www.denso.co.jp/ja/investors/financial/report/files/business2008#3.pdf, bestätigt am 22. April 2011).
-
Die Funktion jeder ECU (das heißt, ECU-Funktion) weist eine unterschiedliche Operationsstartbedingung und ein unterschiedliche Operationsstoppbedingung auf. Beispielsweise startet eine ECU eine entsprechende Funktion, wenn ein Zündungsschalter einschaltet und stoppt die Funktion auszuführen, wenn der Zündungsschalter ausschaltet. Eine andere ECU startet eine entsprechende Funktion auszuführen, wenn eine fahrzeuggebundene Batterie die ECU mit Strom versorgt, und stoppt die Funktion auszuführen, wenn die fahrzeuggebundene Batterie den Strom zur ECU unterbricht.
-
Hier wird im Allgemeinen eine Startoperation einer ECU-Funktion durch eine Startoperation des Mikrocomputers durchgeführt, und eine Stoppoperation der ECU-Funktion wird durch eine Stoppoperation der ECU-Funktion durchgeführt. In einem Fall, in dem multiple ECU-Funktionen mit unterschiedlichen Operationsstartbedingungen und unterschiedlichen Operationshaltebedingungen in den einzelnen Mikrocomputer bzw. Einzelmikrocomputer integriert sind, ist es unmöglich, alle Operationsstartbedingungen und alle Operationsstoppbedingungen aller ECU-Funktionen mit der Operationsstartbedingung und der Operationsstoppbedingung des Mikrocomputers abzugleichen. Beginnt die ECU eine entsprechende Funktion unter einer Bedingung auszuführen, dass die Operationsstartbedingung nicht erfüllt ist, kann die ECU möglicherweise nicht funktionieren. Demzufolge ist es notwendig, die Steuerlogik zum Vermeiden der Fehlfunktion der ECU-Funktion zu modifizieren, die die gegenüber dem Mikrocomputer unterschiedliche Operationsstartbedingung und Operationshaltebedingung hat. Somit steigen die Arbeitsstunden für die Entwicklung des Mikrocomputers an.
-
In Hinblick auf das vorstehende Problem ist es eine Aufgabe der vorliegenden Offenbarung, einen Mikrocomputer bereitzustellen, der einen Einzelkern zum Bereitstellen multipler virtueller Kerne aufweist, so dass multiple ECU-Funktionen in den Mikrocomputer integriert sind. Entwicklungskosten des Mikrocomputers werden reduziert.
-
Gemäß einem Aspekt der vorliegenden Offenbarung beinhaltet ein Mikrocomputer einen Einzelkern mit einer Ressource, die auf zeitlich geteilte Weise verwendet wird, so dass mehrere virtuelle Kerne in dem Einzelkern bereitgestellt werden. Der Einzelkern stellt ein Kernaktivierungselement und ein Kernhalteelement bereitstellt. Das Kernaktivierungselement bestimmt, ob eine vorbestimmte Kernaktivierungsbedingung jedes virtuellen Kerns erfüllt ist. Das Kernaktivierungselement führt aus, einen der virtuellen Kerne zu aktivieren, wenn das Kernaktivierungselement bestimmt, dass die vorbestimmte Kernaktivierungsbedingung des einen der virtuellen Kerne erfüllt ist. Das Kernhalteelement bestimmt, ob eine vorbestimmte Kernhaltebedingung von jedem virtuellen Kern erfüllt ist. Das Kernhalteelement führt aus, einen der virtuellen Kerne anzuhalten, wenn das Kernhalteelement bestimmt, dass die vorbestimmte Kernhaltebedingung von dem einen der virtuellen Kerne erfüllt ist.
-
Der vorstehende Mikrocomputer aktiviert multiple virtuelle Kerne in der Hypervisorverarbeitung und hält multiple virtuelle Kerne in der Kernmanagerverarbeitung an bzw. stoppt diese. Demzufolge, wenn ein virtueller Kern die Kernaktivierungsbedingung bzw. Bedingung zum Aktivieren des Kerns und die Kernhaltebedingung bzw. Bedingung zum Anhalten bzw. Stoppen des Kerns aufweist, die sich von Ereignissen der Aktivierung und des Anhaltens des Mikrocomputers unterscheiden, wird der Kern als Kern mit unterschiedlicher Aktivierungs- und Haltebedingung definiert. Wenn die Kernaktivierungsbedingung und die Kernhaltebedingung des Kerns mit unterschiedlicher Aktivierungs- und Haltebedingung in dem Kernaktivierungselement und dem Kernhalteelement eingebunden sind, ist es nicht notwendig die Steuerlogik in dem Kern mit unterschiedlicher Aktivierungs- und Haltebedingung zu modifizieren. Die Modifikation der Steuerlogik entspricht dem Unterschied zwischen der Kernaktivierungsbedingung und der Kernhaltebedingung des Kerns mit unterschiedlicher Aktivierungs- und Haltebedingung und der Aktivierung und dem Anhalten des Mikrocomputers. Somit werden die gesamten Arbeitsstunden für die Modifikation des Mikrocomputers verglichen mit einem Fall reduziert, in dem die Steuerlogik in dem Kern mit unterschiedlicher Aktivierungs- und Haltebedingung modifiziert wird. Somit werden die Entwicklungsarbeitsstunden zum Entwickeln des Mikrocomputers, der multiple Funktionen unter Verwendung multipler virtueller Kerne aufweist, reduziert.
-
Die vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung in Zusammenschau mit den Zeichnungen ersichtlich.
-
Es zeigen:
-
1 ein Blockschaltbild, dass einen Mikrocomputer darstellt;
-
2 ein Ablaufdiagramm, das eine Hypervisorverarbeitung darstellt;
-
3 ein Ablaufdiagramm, das eine Kernmanagerverarbeitung darstellt;
-
4 ein Zeitablaufdiagramm, das ein Prozedur einer Aktivierungsoperation und einer Halteoperation von virtuellen Kernen darstellt.
-
(Ausführungsbeispiel)
-
1 zeigt einen Mikrocomputer 1 gemäß einem Ausführungsbeispiel. Der Mikrocomputer 1 ist beispielsweise an einem Fahrzeug angebracht. Der Mikrocomputer 1 beinhaltet eine Berechnungseinheit und ein Register zum Ausführen eines Programms. Der I / O-Port hat eine Funktion zum Eingeben unterschiedlicher Schaltsignale ausgehend von einer externen Einrichtung. Die unterschiedlichen Schaltsignale beinhalten beispielsweise ein Zündungsschaltsignal.
-
Der Kern 11 ist aktiviert, wenn eine fahrzeuggebundene Batterie (nicht dargestellt) den Mikrocomputer speist. Der Kern 11 betreibt die virtuellen Kerne 21 bis 24 parallel unter Verwendung eines CPU-Virtualisierungsverfahrens in dem beispielsweise die Ressource des Kerns 11 mit jeder Takteinheit auf zeitlich geteilte Weise verwendet wird, so dass multiple Kerne virtuell ausgebildet und betrieben werden.
-
Ferner stellt der Kern einen Hypervisor 30 zum Ausführen einer Funktion zum Steuern eines Operations- bzw. Betriebsstatus jedes virtuellen Kerns 21 bis 24 bereit, wenn eine Energiequelle des Mikrocomputers 1 einschaltet.
-
Der virtuelle Kern 21 stellt einen Kernmanager bzw. Kernverwalter zum Ausführen einer Funktion zum Steuern eines Operationsstatus jedes virtuellen Kerns 21 bis 24 zu einer Zeit mit Ausnahme der Zeit bereit, wenn eine Energiequelle einschaltet. Die virtuellen Kerne 22 bis 24 stellen entsprechend zugeordnet eine Energiequellensteuerfunktion 32, eine Startsteuerfunktion 33 und eine Ladesteuerfunktion 34 bereit.
-
Der Hypervisor 30 in dem Kern 11 des Mikrocomputers 1 führt eine Hypervisorverarbeitung aus, und der Kernmanager 31 in dem virtuellen Kern 21 führt eine Kernmanagerverarbeitung aus. Die Prozedur der Hypervisorverarbeitung und der Kernmanagerverarbeitung wird mit Bezug auf 2 und 3 erläutert. 2 ist ein Ablaufdiagramm, das die Hypervisorverarbeitung darstellt, und 3 ist ein Ablaufdiagramm, das die Kernmanagerverarbeitung darstellt.
-
Der Mikrocomputer 1 startet mit der Ausführung der Hypervisorverarbeitung, wenn die fahrzeuggebundene Batterie den Mikrocomputer 1 speist, und der Kern ist aktiviert. Wird die Hypervisorverarbeitung ausgeführt, bestimmt der Kern 11 in Schritt S10, ob eine Kernaktivierungsbedingung des virtuellen Kerns 22 erfüllt ist. In der vorliegenden Ausführungsform besteht die Kernaktivierungsbedingung des virtuellen Kerns 22 darin, dass die fahrzeuggebundene Batterie den Mikrocomputer 1 speist, das heißt, dass die Batterie den Mikrocomputer 1 mit Elektrizität versorgt.
-
Wenn die Kernaktivierungsbedingung des virtuellen Kerns 22 erfüllt ist, das heißt, wenn die Bestimmung in Schritt S10 „JA“ ist, wird mit Schritt S20 fortgefahren. In Schritt S20 legt der Kern 11 den Operationsstatus des virtuellen Kerns 22 auf „Aktivierung“ bzw. auf „aktiv“ fest. Dann fährt er mit Schritt S40 fort. Wird die Kernaktivierungsbedingung des virtuellen Kerns 22 nicht erfüllt, das heißt, wenn die Bestimmung in Schritt S10 „NEIN“ ist, fährt er mit Schritt S30 fort. In Schritt S30 legt der Kern 11 den Operationsstatus des virtuellen Kerns 22 auf „Halt“ fest. Dann fährt er mit Schritt S40 fort.
-
In Schritt S40 bestimmt der Kern 11, ob eine Kernaktivierungsbedingung des virtuellen Kerns 23 erfüllt ist. In der vorliegenden Ausführungsform besteht die Kernaktivierungsbedingung darin, dass der Zündungsschalter einschaltet.
-
Wird die Kernaktivierungsbedingung des virtuellen Kerns 23 erfüllt, das heißt, wenn die Bestimmung in Schritt S40 „JA“ ist, fährt er mit Schritt S50 fort. In Schritt S50 legt der Kern 11 den Operationsstatus des virtuellen Kerns 23 auf „Aktivierung“ bzw. auf „aktiv“ fest. Dann fährt er mit Schritt S70 fort. Wenn die Kernaktivierungsbedingung des virtuellen Kerns 23 nicht erfüllt ist, das heißt, wenn die Bestimmung in Schritt S40 „NEIN“ ist, fährt er mit Schritt S60 fort. In Schritt S60 legt der Kern 11 den Operationsstatus des virtuellen Kerns 23 auf „Halt“ fest. Dann fährt er mit Schritt S70 fort.
-
In Schritt S70 bestimmt der Kern 11, ob eine Kernaktivierungsbedingung des virtuellen Kerns 24 erfüllt ist. In der vorliegenden Ausführungsform ist die Kernaktivierungsbedingung des virtuellen Kerns so, dass der Zündungsschalter einschaltet.
-
Wenn die Kernaktivierungsbedingung des virtuellen Kerns 24 erfüllt ist, das heißt, wenn die Bestimmung in Schritt S70 „JA“ ist, fährt er mit Schritt S80 fort. In Schritt S80 legt der Kern 11 den Operationsstatus des virtuellen Kerns 24 auf „Aktivierung“ bzw. auf „aktiv“ fest. Dann fährt er mit Schritt S100 fort. Wenn die Kernaktivierungsbedingung des virtuellen Kerns 24 nicht erfüllt ist, das heißt, wenn die Bestimmung in Schritt S70 „NEIN“ ist, fährt er mit Schritt S90 fort. In Schritt S90 legt der Kern 11 den Operationsstatus des virtuellen Kerns 24 auf „Stopp“ fest. Dann fährt er mit Schritt S100 fort.
-
In Schritt S100 schaltet der Kern 11 in einen virtuellen Kernmodus um. Dann vervollständigt der Kern 11 die Hypervisorverarbeitung. Im virtuellen Kernmodus betreibt der Mikrocomputer 1 die virtuellen Kerne 21 bis 24 parallel. Konkret führt der Kern 11 nur die Hypervisorverarbeitung aus und führt zwischen der Zeit, wenn der Kern 11 aktiviert ist, bis zur Zeit, wenn die Hypervisorverarbeitung endet, keine anderen Verarbeitungen aus.
-
Wenn der Kern 11 in den virtuellen Kernmodus umschaltet, werden der virtuelle Kern 21 und ein Teil der virtuellen Kerne 22 bis 24, deren Operationsstatus in Schritt S10 bis S90 auf „Aktivierung“ bzw. auf „aktiv“ festgelegt wird, aktiviert. Somit werden aktivierte virtuelle Kerne 21 bis 24 parallel betrieben.
-
Als nächstes beginnt der virtuelle Kern 21, die Kernmanagerverarbeitung auszuführen, wenn der virtuelle Kern 21 aktiviert ist. Wird die Kernmanagerverarbeitung ausgeführt, bestimmt der virtuelle Kern 21 in Schritt S210, ob der virtuelle Kern 22 funktioniert, wie in 3 dargestellt ist. Funktioniert der virtuelle Kern 22, das heißt, wenn die Bestimmung in Schritt S210 „JA“ ist, fährt er mit Schritt S220 fort. In Schritt S220 bestimmt der virtuelle Kern 21, ob die Kernhaltebedingung des virtuellen Kerns 22 erfüllt ist. In der vorliegenden Ausführungsform besteht die Kernhaltebedingung des virtuellen Kerns 22 darin, dass die fahrzeuggebundene Batterie den Mikrocomputer 1 nicht speist.
-
Wenn die Kernhaltebedingung des virtuellen Kerns 22 erfüllt ist, das heißt, wenn die Bestimmung in Schritt S220 „JA“ ist, fährt er mit Schritt S230 fort. In Schritt S230 legt der virtuelle Kern 21 den Operationsstatus des virtuellen Kerns 22 auf „Stopp“ fest. Dann fährt er mit Schritt S230 fort. Somit stoppt der virtuelle Kern zu funktionieren. Ist die Kernhaltebedingung des virtuellen Kerns 22 nicht erfüllt, das heißt, wenn die Bestimmung in Schritt S220 „Nein“ ist, fährt er mit Schritt S260 fort.
-
In Schritt 210, wenn der virtuelle Kern 22 stoppt zu funktionieren, das heißt, wenn die Bestimmung in Schritt S210 „NEIN“ ist, fährt er mit Schritt S240 fort. In Schritt S240 bestimmt der virtuelle Kern 21 ob die Kernaktivierungsbedingung des virtuellen Kerns 22 erfüllt ist. Ist die Kernaktivierungsbedingung des virtuellen Kerns 22 erfüllt, das heißt, wenn die Bestimmung in Schritt S240 „JA“ ist, fährt er mit Schritt S250 fort. In Schritt S250 legt der virtuelle Kern 21 den Operationsstatus des virtuellen Kerns 22 auf „Aktivierung“ bzw. auf „aktiv“ fest. Dann fährt er mit Schritt S260 fort. Somit ist der virtuelle Kern 22 aktiviert. Wenn die Kernaktivierungsbedingung des virtuellen Kerns 22 nicht erfüllt ist, das heißt, wenn die Bestimmung in Schritt S240 „NEIN“ ist, fährt er mit Schritt S260 fort.
-
In Schritt S260 bestimmt der virtuelle Kern 21 ob der virtuelle Kern 23 funktioniert. Wenn der virtuelle Kern 23 funktioniert, das heißt, wenn die Bestimmung in Schritt S260 „JA“ ist, fährt er mit Schritt S270 fort. In Schritt S270 bestimmt der virtuelle Kern 21, ob die Kernhaltebedingung des virtuellen Kerns 23 erfüllt ist. In der vorliegenden Ausführungsform besteht die Kernhaltebedingung des virtuellen Kerns 23 darin, dass der Zündungsschalter ausschaltet.
-
Ist die Kernhaltebedingung des virtuellen Kerns 23 erfüllt, das heißt, wenn die Bestimmung in Schritt S270 „JA“ ist, fährt er mit Schritt S280 fort. In Schritt S280 legt der virtuelle Kern 21 den Operationsstatus des virtuellen Kerns 23 auf „Halt“ fest. Dann fährt er mit Schritt S310 fort. Somit stoppt der virtuelle Kern zu funktionieren. Wenn die Kernhaltebedingung des virtuellen Kerns 23 nicht erfüllt ist, das heißt, wenn die Bestimmung in Schritt S270 „Nein“ ist, fährt er mit Schritt S310 fort.
-
In Schritt S260, wenn der virtuelle Kern 23 stoppt zu funktionieren, das heißt, wenn die Bestimmung in Schritt S260 „Nein“ ist, fährt er mit Schritt S290 fort. In Schritt S290 bestimmt der virtuelle Kern 21, ob die Kernaktivierungsbedingung des virtuellen Kerns 23 erfüllt ist. Wenn die Kernaktivierungsbedingung des virtuellen Kerns 23 erfüllt ist, das heißt, wenn die Bestimmung in Schritt S290 „JA“ ist, fährt er mit Schritt S300 fort. In Schritt S300 legt der virtuelle Kern 21 den Operationsstatus des virtuellen Kerns auf „Aktivierung“ bzw. auf „aktiv“ fest. Dann fährt er mit Schritt S310 fort. Somit ist der virtuelle Kern 23 aktiviert. Wenn die Kernaktivierungsbedingung des virtuellen Kerns 23 nicht erfüllt ist, das heißt, wenn die Bestimmung in Schritt S290 „NEIN“ ist, fährt er mit Schritt S310 fort.
-
In Schritt S310 bestimmt der virtuelle Kern 21, ob der virtuelle Kern 24 funktioniert. Wenn der virtuelle Kern 24 funktioniert, das heißt, wenn die Bestimmung in Schritt S310 „JA“ ist, fährt er mit Schritt S320 fort. In Schritt S320 bestimmt der virtuelle Kern 21, ob die Kernhaltebedingung des virtuellen Kerns 24 erfüllt ist. In der vorliegenden Ausführungsform besteht die Kernhaltebedingung des virtuellen Kerns 24 darin, dass der Zündungsschalter ausschaltet.
-
Ist die Kernhaltebedingung des virtuellen Kerns 24 erfüllt, das heißt, wenn die Bestimmung in Schritt S320 „JA“ ist, fährt er mit Schritt S330 fort. In Schritt S330, legt der virtuelle Kern 21 den Operationsstatus des virtuellen Kerns 24 auf „Stopp“ fest. Dann kehrt er zu Schritt S210 zurück. Dann wird die Kernmanagerverarbeitung wiederholt ausgeführt. Somit stoppt der virtuelle Kern 24 seine Funktion. Wenn die Kernhaltebedingung des virtuellen Kerns 24 nicht erfüllt ist, das heißt, wenn die Bestimmung in Schritt S320 „NEIN“ ist, kehrt er zu Schritt S210 zurück. Dann wird die Kernmanagerverarbeitung wiederholt ausgeführt.
-
In Schritt S310, wenn der virtuelle Kern stoppt zu funktionieren, das heißt, wenn die Bestimmung in Schritt S310 „NEIN“ ist, fährt er mit Schritt S430 fort. In Schritt S340 bestimmt der virtuelle Kern 21, ob die Kernaktivierungsbedingung des virtuellen Kerns 24 erfüllt ist. Wenn die Kernaktivierungsbedingung des virtuellen Kerns 24 erfüllt ist, das heißt, wenn die Bestimmung in Schritt S340 „JA“ ist, fährt er mit Schritt S350 fort. In Schritt S350, legt der virtuelle Kern 21 den Operationsstatus des virtuellen Kerns 24 auf „Aktivierung“ bzw. auf „aktiv“ fest. Dann kehrt er zu Schritt S210 zurück. Dann wird die Kernmanagerverarbeitung wiederholt ausgeführt. Somit ist der virtuelle Kern 24 aktiviert. Wenn die Kernaktivierungsbedingung des virtuellen Kerns 24 nicht erfüllt ist, das heißt, wenn die Bestimmung in Schritt S340 „NEIN“ ist, kehrt er zu Schritt S310 zurück. Dann wird die Kernmanagerverarbeitung wiederholt ausgeführt.
-
Als nächstes, nachdem der Mikrocomputer 1 aktiviert ist, werden die Aktivierungsprozedur und die Halteprozedur der virtuellen Kerne 21 bis 24 mit Bezug auf 4 erläutert. Fig. ist ein Zeitablaufdiagramm, das die Prozedur einer Aktivierungsoperation und einer Halteoperation der virtuellen Kerne 21 bis 24 darstellt.
-
Wie in 4 dargestellt ist, nachdem die Batterie mit dem Mikrocomputer 1 gekoppelt ist, so dass der Mikrocomputer 1 zur Zeit t1 gespeist wird, ist der Mikrocomputer 1 aktiviert, so dass der Mikrocomputer 1 zur Zeit t2 stoppt zu funktionieren. Somit startet der Mikrocomputer 1 die Hypervisorverarbeitung 1 auszuführen. In der Hypervisorverarbeitung wird der Operationsstatus jedes virtuellen Kerns 22 bis 24 auf „Aktivierung“ bzw. auf „aktiv“ oder „Stopp“ festgelegt. Somit, wenn die Hypervisorverarbeitung endet, schaltet der Kern 11 beispielsweise auf den virtuellen Kernmodus um, so dass beispielsweise die virtuellen Kerne 21, 22 zur Zeit t3 parallel funktionieren.
-
Dann, wenn der Zündungsschalter zur Zeit t4 einschaltet, wird in der Kernmanagerverarbeitung, die durch den virtuellen Kern 21 ausgeführt wird, der Operationsstatus der virtuellen Kerne 23, 24 auf „Aktivierung“ bzw. auf „aktiv“ festgelegt. Demzufolge sind die virtuellen Kerne 23, 24 aktiviert, so dass die virtuellen Kerne parallel funktionieren. Dann, wenn der Zündungsschalter zur Zeit t5 ausschaltet, wird in der Kernmanagerverarbeitung, die durch den virtuellen Kern 21 ausgeführt wird, der Operationsstatus der virtuellen Kerne 23, 24 auf „Halt“ festgelegt. Demzufolge stoppen die virtuellen Kerne 23, 24 zu funktionieren und demzufolge funktionieren die virtuellen Kerne 21, 22 parallel.
-
In dem vorstehenden Mikrocomputer 1, da die Ressource des Einzelkerns 11 auf zeitlich geteilte Weise verwendet wird, werden multiple Kerne virtuell ausgebildet. Der Mikrocomputer 1 bestimmt, ob die vorab festgelegte Kernaktivierungsbedingung von jedem der virtuellen Kerne 22 bis 24 erfüllt ist. Ist die Kernaktivierungsbedingung von einem der virtuellen Kerne 22 bis 24 erfüllt, führt der Mikrocomputer 1 eine Aktivierungsverarbeitung des einen der virtuellen Kerne 22 bis 24 aus, die in den Schritten S10 bis S100, S240, S290, S300, S340 und S350 definiert ist. Ferner bestimmt der Mikrocomputer 1, ob die vorab festgelegte Kernhaltebedingung von jedem der virtuellen Kerne 22 bis 24 erfüllt ist. Wenn die Kernhaltebedingung von einem der virtuellen Kerne 22 bis 24 erfüllt ist, führt der Mikrocomputer 1 eine Halteverarbeitung des einen der virtuellen Kerne 22 bis 24 aus, die in den Schritten S220, S230, S270, S280, S320 und S330 definiert sind.
-
Der vorstehende Mikrocomputer 1 aktiviert multiple virtuelle Kerne 22 bis 24 in der Hypervisorverarbeitung und stoppt multiple virtuelle Kerne 22 bis 24 in der Kernmanagerverarbeitung. Demzufolge, wenn ein virtueller Kern die Kernaktivierungsbedingung und die Kernhaltebedingung aufweist, die sich von Aktivierungs- und Halteereignissen des Mikrocomputers 1 unterscheiden, ist der Kern als ein Kern mit unterschiedlicher Aktivierungs- und Haltebedingung definiert. Wenn die Kernaktivierungsbedingung und die Kernhaltebedingung des Kerns mit unterschiedlicher Aktivierungs- und Haltebedingung in die Hypervisorverarbeitung und die Kernmanagerverarbeitung eingebunden sind, ist es nicht notwendig, die Steuerungslogik in dem Kern mit unterschiedlicher Aktivierungs- und Haltebedingung zu modifizieren. Die Modifikation der Steuerlogik entspricht dem Unterschied zwischen der Kernaktivierungsbedingung und der Kernhaltebedingung des Kerns mit unterschiedlicher Aktivierungs- und Haltebedingung und der Aktivierung und dem Anhalten des Mikrocomputers 1. Somit werden die gesamten Modifikationen des Mikrocomputers 1 verglichen mit einem Fall reduziert, in dem die Steuerlogik in dem Kern mit unterschiedlicher Aktivierungs- und Haltebedingung modifiziert wird. Somit werden die Arbeitsstunden zum Entwickeln des Mikrocomputers 1, der multiple ECU-Funktionen unter Verwendung multipler virtueller Kerne aufweist, reduziert.
-
Der Mikrocomputer 1 führt die Hypervisorverarbeitung nur zwischen der Zeit, wenn der Mikrocomputer 1 aktiviert ist, bis zur Zeit aus, wenn die Hypervisorverarbeitung endet. Während dieser Periode führt der Mikrocomputer 1 keine Verarbeitung außer der Hypervisorverarbeitung aus. Somit wird die Verzögerung unterbunden, die durch das Ausführen der Verarbeitung außer der Hypervisorverarbeitung verursacht wird.
-
Die Schritte S10 bis S100, S240, S250, S290, S300, S340 und S350 stellen ein Kernaktivierungselement bereit. Die Schritte S220, S230, S270, S280, S320 und S330 stellen ein Kernhalteelement bereit. Die Periode zwischen der Aktivierung des Mikrocomputers 1 und der Zeit, wenn die Hypervisorverarbeitung endet, ist als eine Prioritätsperiode nach der Aktivierung definiert.
-
In der vorstehenden Ausführungsform führt der Kern 11, nachdem der Mikrocomputer 1 aktiviert ist, und bevor die Hypervisorverarbeitung endet, nur die Hypervisorverarbeitung durch. Alternativ kann der Kern 11 die Hypervisorverarbeitung mit Priorität gegenüber anderen Verarbeitungen ausführen, so dass der Kern die Hypervisorverarbeitung und andere Verarbeitungen bzw. eine andere Verarbeitung parallel ausführt.
-
In der vorstehenden Ausführungsform, stellt der Mikrocomputer 1 vier virtuelle Kerne bereit. Alternativ kann der Mikrocomputer 1 zwei oder mehr virtuelle Kerne bereitstellen.
-
In der vorstehenden Ausführungsform bezieht sich die Kernaktivierungsbedingung auf Informationen außerhalb des Mikrocomputers 1 wie beispielsweise die Speisung durch die fahrzeuggebundene Batterie und das Einschalten des Zündungsmechanismus. Alternativ kann sich die Kernaktivierungsbedingung auf Informationen innerhalb des Mikrocomputers 1 beziehen wie beispielsweise einen Status einer inneren Ressource des Mikrocomputers 1. Alternativ kann sich die Aktivierungsbedingung auf eine Kombination von Informationen von innerhalb des Mikrocomputers 1 und Informationen von außerhalb des Mikrocomputers 1 beziehen.
-
Die vorstehende Offenbarung hat die folgenden Aspekte.
-
Gemäß einem Aspekt der vorliegenden Erfindung beinhaltet ein Mikrocomputer einen Einzelkern mit einer Ressource, die auf zeitlich geteilte Weise verwendet wird, so dass mehrere virtuelle Kerne in dem Einzelkern bereitgestellt werden. Der Einzelkern stellt ein Kernaktivierungselement und ein Kernhalteelement bereitstellt. Das Kernaktivierungselement bestimmt, ob eine vorbestimmte Kernaktivierungsbedingung jedes virtuellen Kerns erfüllt ist. Das Kernaktivierungselement führt aus, einen der virtuellen Kerne zu aktivieren, wenn das Kernaktivierungselement bestimmt, dass die vorbestimmte Kernaktivierungsbedingung des einen der virtuellen Kerne erfüllt ist. Das Kernhalteelement bestimmt, ob eine vorbestimmte Kernhaltebedingung von jedem virtuellen Kern erfüllt ist. Das Kernhalteelement führt aus, einen der virtuellen Kerne anzuhalten, wenn das Kernhalteelement bestimmt, dass die vorbestimmte Kernhaltebedingung von dem einen der virtuellen Kerne erfüllt ist.
-
Der vorstehende Mikrocomputer aktiviert multiple virtuelle Kerne in der Hypervisorverarbeitung und stoppt multiple virtuelle Kerne in der Kernmanagerverarbeitung. Demzufolge, wenn ein virtueller Kern die Kernaktivierungsbedingung und die Kernhaltebedingung aufweist, ist der Kern als Kern mit unterschiedlicher Aktivierungs- und Haltebedingung definiert. Sind die Kernaktivierungsbedingung und die Kernhaltebedingung des Kerns mit unterschiedlicher Aktivierungs- und Haltebedingung im Kernaktivierungselement und im Kernstoppelement eingebunden, ist es nicht notwendig, die Steuerlogik in dem Kern mit unterschiedlicher Aktivierungs- und Haltebedingung zu modifizieren. Die Modifikation der Steuerlogik entspricht dem Unterschied zwischen der Kernaktivierungsbedingung und de Kernhaltebedingung des Kerns mit unterschiedlicher Aktivierungs- und Haltebedingung und der Aktivierung und dem Stoppen des Mikrocomputers. Somit sind die gesamten Arbeitsstunden für die Modifikation des Mikrocomputers verglichen mit einem Fall reduziert, in dem die Steuerlogik in dem Kern mit unterschiedlicher Aktivierungs- und Haltebedingung modifiziert ist. Somit sind die Arbeitsstunden zum Entwickeln des Mikrocomputers, der multiple Funktionen unter Verwendung multipler Kerne aufweist, reduziert.
-
Alternativ kann eine Verarbeitung des Kernaktivierungselements in einer vorbestimmten Prioritätsperiode mit Priorität gegenüber anderen Verarbeitungen ausgeführt werden, und die Prioritätsperiode ist direkt, nachdem der Mikrocomputer aktiviert ist, festgelegt. In diesem Fall wird die Verzögerung der Aktivierung der virtuellen Kerne, die nach der Aktivierung des Mikrocomputers zu aktivieren sind, unterbunden. Die Verzögerung wird durch die Ausführung der Verarbeitung außer der Hypervisorverarbeitung verursacht.
-
Alternativ kann nur eine Verarbeitung des Kernaktivierungselements in einer vorbestimmten Prioritätsperiode ausgeführt werden, und die Prioritätsperiode ist direkt, nachdem der Mikrocomputer aktiviert ist, festgelegt.
-
Alternativ kann der Einzelkern einen Hypervisor bereitstellen. Die mehreren virtuellen Kerne können einen Kernmanager und einen ersten Kern beinhalten. Sowohl der Kernmanager als auch der Hypervisor stellen das Kernaktivierungselement und das Kernhalteelement bereit.
-
Ferner kann der Hypervisor eine Hypervisorverarbeitung ausführen, direkt, nachdem der Einzelkern aktiviert ist. In der Hypervisorverarbeitung bestimmt der Hypervisor, ob eine Kernaktivierungsbedingung des ersten virtuellen Kerns erfüllt ist.
-
Der Hypervisor legt einen Operationsstatus des ersten virtuellen Kerns auf aktiv fest, wenn der Hypervisor bestimmt, dass die Kernaktivierungsbedingung des ersten virtuellen Kerns erfüllt ist, und der Hypervisor legt einen Operationsstatus des ersten virtuellen Kerns auf halt fest, wenn der Hypervisor bestimmt, dass die Kernaktivierungsbedingung des ersten virtuellen Kerns nicht erfüllt ist.
-
Ferner kann in der Hypervisorverarbeitung der Hypervisor den Einzelkern umschalten, dass dieser im virtuellen Kernmodus ist. Im virtuellen Kernmodus sind der Kernmanager und der erste Kern parallel aktiviert. Der Einzelkern führt nur die Hypervisorverarbeitung in einer vorbestimmten Prioritätsperiode aus, und die Prioritätsperiode ist zwischen der Zeit festgelegt, wenn der Einzelkern aktiviert ist, bis, wenn die Hypervisorverarbeitung endet.
-
Ferner kann der Kernmanager eine Kernmanagerverarbeitung ausführen, direkt, nachdem der Kernmanager aktiviert ist. In der Kernmanagerverarbeitung bestimmt der Kernmanager, ob der erste virtuelle Kern funktioniert. Der Kernmanager bestimmt, ob eine Kernhaltebedingung des ersten virtuellen Kerns erfüllt ist, wenn der Kernmanager bestimmt, das der erste virtuelle Kern funktioniert. Der Kernmanager legt den Operationsstatus des ersten virtuellen Kerns auf halt fest, wenn der Kernmanager bestimmt, dass die Kernhaltebedingung des ersten virtuellen Kerns erfüllt ist. Der Kernmanager bestimmt, ob eine Kernaktivierungsbedingung des ersten virtuellen Kerns erfüllt ist, wenn der Kernmanager bestimmt, dass der erste virtuelle Kern nicht funktioniert, und der Kernmanager legt den Operationsstatus des ersten virtuellen Kerns auf aktiv fest, wenn der Kernmanager bestimmt, dass die Kernaktivierungsbedingung des ersten virtuellen Kerns erfüllt ist.
-
Während die Erfindung mit Bezug auf bevorzugte Ausführungsformen erläutert wurde, ist zu beachten, dass die Erfindung nicht auf die bevorzugten Ausführungsformen und Konstruktionen beschränkt ist. Die Erfindung soll unterschiedliche Modifikationen und äquivalente Anordnungen abdecken. Zusätzlich befinden sich neben den bevorzugten Kombinationen und Konfigurationen weitere Kombinationen und Konfigurationen mit mehr, weniger oder nur einem einzigen Element innerhalb des Lichts der Lehre und des Umfangs der vorliegenden Erfindung.
-
Zusammengefasst betrifft die Erfindung einen Mikrocomputer, der einen Einzelkern beinhaltet, der auf zeitlich geteilte Weise verwendet wird, um mehrere virtuelle Kerne bereitzustellen. Der Kern stellt ein Kernaktivierungselement und ein Kernhalteelement bereit. Das Kernaktivierungselement bestimmt, ob eine Kernaktivierungsbedingung jedes virtuellen Kerns erfüllt ist. Das das Kernaktivierungselement führt aus, einen der virtuellen Kerne zu aktivieren, wenn die Kernaktivierungsbedingung des einen der virtuellen Kerne erfüllt ist. Das Kernhalteelement bestimmt, ob eine Kernhaltebedingung von jedem virtuellen Kern erfüllt ist. Das Kernhalteelement führt aus, einen der virtuellen Kerne anzuhalten, wenn die Kernhaltebedingung von dem einen der virtuellen Kerne erfüllt ist.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- „2007 Annual Report at the end of the term“ durch Denso Corporation mittels Internet offenbart auf Seite 4 das vorstehende Verfahren (URL:http://www.denso.co.jp/ja/investors/financial/report/files/business2008#3.pdf, bestätigt am 22. April 2011) [0002]