JP2012247850A - Microcomputer - Google Patents

Microcomputer Download PDF

Info

Publication number
JP2012247850A
JP2012247850A JP2011117103A JP2011117103A JP2012247850A JP 2012247850 A JP2012247850 A JP 2012247850A JP 2011117103 A JP2011117103 A JP 2011117103A JP 2011117103 A JP2011117103 A JP 2011117103A JP 2012247850 A JP2012247850 A JP 2012247850A
Authority
JP
Japan
Prior art keywords
core
virtual
microcomputer
condition
cores
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.)
Granted
Application number
JP2011117103A
Other languages
Japanese (ja)
Other versions
JP5561241B2 (en
Inventor
Nobuyuki Kondo
信行 近藤
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
Priority to JP2011117103A priority Critical patent/JP5561241B2/en
Priority to DE201210208753 priority patent/DE102012208753A1/en
Publication of JP2012247850A publication Critical patent/JP2012247850A/en
Application granted granted Critical
Publication of JP5561241B2 publication Critical patent/JP5561241B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/485Task life-cycle, e.g. stopping, restarting, resuming execution

Abstract

PROBLEM TO BE SOLVED: To restrain an increase in development man-hours required for integrating a plurality of ECU functions into a single microcomputer.SOLUTION: A microcomputer 1 is provided that uses a resource of a core 11 in a time-sharing manner, thereby operating in such a manner that a plurality of cores (virtual cores 21, 22, 23, and 24) virtually exist. The core 11 includes a hypervisor 30 managing the operation state of each virtual core at the time of power-up of the microcomputer while the virtual core 21 includes a core manager 31 managing the operation state of each core at the time other than that of power-up of the microcomputer. The hypervisor 30 and the core manager 31 determine whether or not the core start condition has been established for each of the virtual cores 22, 23 and 24. When it is determined that the core start condition has been established, the hypervisor 30 and the core manager 31 start the corresponding virtual core. Also, the hypervisor 30 and the core manager 31 determine whether or not the core stop condition has been established for each of the virtual cores 22, 23 and 24. When it is determined that the core stop condition has been established, the hypervisor 30 and the core manager 31 stop the operation of the corresponding virtual core.

Description

本発明は、複数のコアを仮想的に搭載するマイクロコンピュータに関する。   The present invention relates to a microcomputer virtually mounting a plurality of cores.

近年、車両に搭載される電子制御装置(以下、ECUという)の個数の増大に伴うECU開発工数の増加に対応するために、複数のECUの機能を単一のマイクロコンピュータ(以下、マイコンという)に統合することによりECU開発の効率化を図る手法が検討されている(例えば、非特許文献1を参照)。   In recent years, in order to cope with the increase in the number of ECU development steps accompanying the increase in the number of electronic control devices (hereinafter referred to as ECUs) mounted on vehicles, the functions of a plurality of ECUs are referred to as single microcomputers (hereinafter referred to as microcomputers). A method for improving the efficiency of ECU development by integrating the system into the system has been studied (see, for example, Non-Patent Document 1).

"2007年度期末報告書"、第4頁、[online]、株式会社デンソー、[平成23年4月22日検索]、インターネット<URL: http://www.denso.co.jp/ja/investors/financial/report/files/business2008#3.pdf>"Fiscal Year 2007 Report", page 4, [online], DENSO Corporation, [Search on April 22, 2011], Internet <URL: http://www.denso.co.jp/en/investors /financial/report/files/business2008#3.pdf>

ところで、ECUの機能(以下、ECU機能という)は、機能毎に動作開始条件および動作停止条件が異なる。例えば、IGスイッチがオンになると動作が開始しIGスイッチがオフになると動作が停止する機能、および車載バッテリの電源がECUに供給されると動作が開始し電源供給がなくなるまで動作が継続する機能などがある。   By the way, the function of ECU (hereinafter referred to as ECU function) has different operation start conditions and operation stop conditions for each function. For example, a function that starts when the IG switch is turned on and stops when the IG switch is turned off, and a function that starts when the vehicle battery power is supplied to the ECU and continues until the power supply stops and so on.

なお、ECU機能の動作開始および動作停止はそれぞれ、マイコンの動作開始および動作停止によって実現されることが多い。しかし、動作開始条件および動作停止条件が異なる複数のECU機能を単一のマイコンに統合すると、単一のマイコンに統合された全てのECU機能について動作開始条件および動作停止条件を満たすことができない。そしてECU機能は、その機能において設定された動作開始条件を満たしていない状態で動作すると、不具合を引き起こす可能性がある。このため、統合先のマイコンの動作開始条件および動作停止条件と一致しないECU機能について、不具合を回避するために制御ロジックを修正する必要が生じ、ECU開発の工数が増大するという問題があった。   Note that the operation start and operation stop of the ECU function are often realized by the operation start and operation stop of the microcomputer, respectively. However, when a plurality of ECU functions having different operation start conditions and operation stop conditions are integrated into a single microcomputer, the operation start conditions and the operation stop conditions cannot be satisfied for all ECU functions integrated in the single microcomputer. If the ECU function operates in a state where the operation start condition set in the function is not satisfied, there is a possibility of causing a malfunction. For this reason, it is necessary to correct the control logic for the ECU function that does not match the operation start condition and the operation stop condition of the integration destination microcomputer, and there is a problem that the man-hour for ECU development increases.

本発明は、こうした問題に鑑みてなされたものであり、複数のECU機能を単一のマイコンに統合する際における開発工数の増大を抑制することができる技術を提供することを目的とする。   The present invention has been made in view of these problems, and an object of the present invention is to provide a technique capable of suppressing an increase in development man-hours when integrating a plurality of ECU functions into a single microcomputer.

上記目的を達成するためになされた請求項1に記載のマイクロコンピュータでは、単一のコアのリソースを時分割して使用することで仮想的に複数のコアが存在しているように動作し、当該マイクロコンピュータにおいて仮想的に存在しているコアを仮想コアとして、コア起動手段が、複数の仮想コアのそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、コア起動条件が成立したと判断した場合に、成立したコア起動条件に対応する仮想コアを起動させる処理を実行するとともに、コア停止手段が、複数の仮想コアのそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、コア停止条件が成立したと判断した場合に、成立したコア停止条件に対応する仮想コアの動作を停止させる処理を実行する。   The microcomputer according to claim 1, which is made to achieve the above object, operates such that a plurality of cores exist virtually by using a single core resource in a time-sharing manner, A core virtually existing in the microcomputer is defined as a virtual core, and the core activation means determines whether or not a core activation condition set in advance for each of the plurality of virtual cores is satisfied. When it is determined that the virtual core corresponding to the satisfied core start condition is executed, the core stop unit executes a process for starting the virtual core, and whether the core stop condition set in advance for each of the plurality of virtual cores is satisfied. If it is determined whether or not the core stop condition is satisfied, a process of stopping the operation of the virtual core corresponding to the satisfied core stop condition is executed.

このように構成されたマイクロコンピュータでは、仮想的に複数のコア(仮想コア)が存在しているように動作するため、複数のECU機能のそれぞれを各仮想コアに割り当てることにより、複数のECU機能を単一のマイクロコンピュータに統合することができる。そして、コア起動手段およびコア停止手段が、複数の仮想コアのそれぞれについての起動および動作停止を行う。このため、マイクロコンピュータの起動および動作停止がコア起動条件およびコア停止条件となっていない仮想コア(以下、起動停止条件相違コアという)について、この起動停止条件相違コアに対応したコア起動条件およびコア停止条件をコア起動手段側およびコア停止手段側で設定しておけば、コア起動条件およびコア停止条件がマイクロコンピュータと相違していることに対応した制御ロジックの修正が起動停止条件相違コア側で不要となり、起動停止条件相違コア側で制御ロジックを修正する場合と比較して修正量が減少する。これにより、複数の仮想コアを用いて複数のECU機能を単一のマイクロコンピュータに統合する際における開発工数の増大を抑制することができる。   Since the microcomputer configured as described above operates as if a plurality of cores (virtual cores) exist virtually, a plurality of ECU functions are assigned by assigning each of the plurality of ECU functions to each virtual core. Can be integrated into a single microcomputer. Then, the core activation unit and the core stop unit perform activation and operation stop for each of the plurality of virtual cores. For this reason, for virtual cores whose starting and stopping of the microcomputer are not the core starting condition and the core stopping condition (hereinafter referred to as a starting / stopping condition different core), the core starting condition and the core corresponding to the starting / stopping condition different core If the stop condition is set on the core starter side and the core stop means side, the control logic correction corresponding to the difference between the core start condition and the core stop condition is different from that of the microcomputer. It becomes unnecessary, and the amount of correction is reduced compared to the case where the control logic is corrected on the core side where the start / stop conditions differ. Thereby, the increase in the development man-hour at the time of integrating several ECU function into a single microcomputer using several virtual cores can be suppressed.

また請求項1に記載のマイクロコンピュータにおいて、請求項2に記載のように、当該マイクロコンピュータは、当該マイクロコンピュータが起動した直後の予め設定された起動後優先期間内において、コア起動手段が実行する処理を、その他の処理よりも優先して実行させるようにしてもよい。   Further, in the microcomputer according to claim 1, as described in claim 2, the microcomputer is executed by the core activation means within a preset priority period after activation immediately after the microcomputer is activated. Processing may be executed with priority over other processing.

例えば、起動後優先期間内において単一のコアのリソースをコア起動手段のみに割り当て、起動後優先期間が終了した後に複数の仮想コアを動作させるようにすることにより、起動後優先期間内においてコア起動手段が優先して実行されるようにしてもよい。   For example, by assigning a single core resource only to the core startup means within the post-startup priority period and operating multiple virtual cores after the post-startup priority period ends, the cores within the post-startup priority period The activation means may be executed with priority.

このように構成されたマイクロコンピュータでは、マイクロコンピュータが起動した直後の起動後優先期間内においてコア起動手段が優先して実行されるため、マイクロコンピュータが起動した直後に起動する必要がある仮想コアの起動が、コア起動手段以外の処理の実行のために遅れてしまうといった事態の発生を抑制することができる。   In the microcomputer configured as described above, since the core activation means is preferentially executed within the priority period after activation immediately after the microcomputer is activated, the virtual core that needs to be activated immediately after the microcomputer is activated Generation | occurrence | production of the situation where starting will be delayed for execution of processes other than a core starting means can be suppressed.

マイコン1の構成を示すブロック図である。2 is a block diagram showing a configuration of a microcomputer 1. FIG. ハイパーバイザ処理を示すフローチャートである。It is a flowchart which shows a hypervisor process. コアマネージャ処理を示すフローチャートである。It is a flowchart which shows a core manager process. 仮想コア21〜24の起動および動作停止の手順を説明するタイミングチャートである。It is a timing chart explaining the procedure of starting and operation stop of virtual cores 21-24.

以下に本発明の実施形態を図面とともに説明する。
図1は、本実施形態のマイクロコンピュータ(以下、マイコンという)1の構成を示すブロック図である。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a microcomputer (hereinafter referred to as a microcomputer) 1 according to the present embodiment.

マイコン1は、車両に搭載されており、図1に示すように、プログラムを実行するための演算ユニットおよびレジスタなどからなるマイコンコア(以下、単にコアという)11と、IGスイッチ信号等の外部からの各種スイッチ信号を入力する機能を有するI/Oポート12とを内蔵している。   The microcomputer 1 is mounted on a vehicle, and as shown in FIG. 1, a microcomputer core (hereinafter simply referred to as a core) 11 including an arithmetic unit and a register for executing a program, and an IG switch signal or the like from the outside. And an I / O port 12 having a function of inputting various switch signals.

これらのうちコア11は、車載バッテリ(不図示)からの電源供給を受けると起動するように構成されている。またコア11は、コア11のリソースをクロック単位で時分割して使用することで仮想的に複数のコアが存在しているように動作させるCPU仮想化技術を利用して、仮想コア21,22,23,24を並列動作させる。   Of these, the core 11 is configured to be activated when power is supplied from an in-vehicle battery (not shown). In addition, the core 11 uses the CPU virtualization technology that operates so that a plurality of cores exist virtually by using the resources of the core 11 in a time-sharing manner in units of clocks. , 23, 24 are operated in parallel.

さらにコア11は、マイコン電源投入時における各仮想コアの動作状態を管理する機能30(以下、ハイパーバイザ30という)を搭載している。
また仮想コア21は、マイコン電源投入時以外において各仮想コアの動作状態を管理する機能31(以下、コアマネージャ31という)を搭載している。またコア22,23,24はそれぞれ、例えば電源制御機能32、始動制御機能33、充電制御機能34を搭載している。
Furthermore, the core 11 is equipped with a function 30 (hereinafter referred to as a hypervisor 30) for managing the operation state of each virtual core when the microcomputer power is turned on.
The virtual core 21 is equipped with a function 31 (hereinafter referred to as a core manager 31) for managing the operation state of each virtual core except when the microcomputer power is turned on. Each of the cores 22, 23, and 24 is equipped with, for example, a power control function 32, a start control function 33, and a charge control function 34.

このように構成されたマイコン1のコア11に搭載されたハイパーバイザ30と、仮想コア21に搭載されたコアマネージャ31がそれぞれ実行するハイパーバイザ処理とコアマネージャ処理の手順を、図2と図3を用いて説明する。図2はハイパーバイザ処理を示すフローチャート、図3はコアマネージャ処理を示すフローチャートである。   The hypervisor process and the core manager process executed by the hypervisor 30 mounted on the core 11 of the microcomputer 1 and the core manager 31 mounted on the virtual core 21 configured as described above are shown in FIGS. Will be described. FIG. 2 is a flowchart showing the hypervisor process, and FIG. 3 is a flowchart showing the core manager process.

ハイパーバイザ処理は、車載バッテリからの電源供給を受けてコア11が起動すると開始される処理であり、このハイパーバイザ処理が実行されると、コア11は、図2に示すように、まずS10にて、仮想コア22のコア起動条件が成立したか否かを判断する。なお、本実施形態における仮想コア22のコア起動条件は、マイコン1が車載バッテリからの電源供給を受けていることである。   The hypervisor process is a process that starts when the core 11 is activated upon receiving power supply from the in-vehicle battery. When this hypervisor process is executed, the core 11 first proceeds to S10 as shown in FIG. Thus, it is determined whether or not the core activation condition for the virtual core 22 is satisfied. Note that the core activation condition of the virtual core 22 in the present embodiment is that the microcomputer 1 is supplied with power from the in-vehicle battery.

ここで、仮想コア22のコア起動条件が成立している場合には(S10:YES)、S20にて、仮想コア22の動作状態を「起動」に設定して、S40に移行する。一方、仮想コア22のコア起動条件が不成立である場合には(S10:NO)、S30にて、仮想コア22の動作状態を「停止」に設定して、S40に移行する。   If the core activation condition of the virtual core 22 is satisfied (S10: YES), the operation state of the virtual core 22 is set to “activated” in S20, and the process proceeds to S40. On the other hand, if the core activation condition of the virtual core 22 is not satisfied (S10: NO), the operation state of the virtual core 22 is set to “stop” in S30, and the process proceeds to S40.

そしてS40に移行すると、仮想コア23のコア起動条件が成立したか否かを判断する。なお、本実施形態における仮想コア23のコア起動条件は、IGスイッチがオンであることである。   When the process proceeds to S40, it is determined whether or not the core activation condition of the virtual core 23 is satisfied. Note that the core activation condition of the virtual core 23 in the present embodiment is that the IG switch is on.

ここで、仮想コア23のコア起動条件が成立している場合には(S40:YES)、S50にて、仮想コア23の動作状態を「起動」に設定して、S70に移行する。一方、仮想コア23のコア起動条件が不成立である場合には(S40:NO)、S60にて、仮想コア23の動作状態を「停止」に設定して、S70に移行する。   If the core activation condition for the virtual core 23 is satisfied (S40: YES), the operation state of the virtual core 23 is set to “activated” in S50, and the process proceeds to S70. On the other hand, when the core activation condition of the virtual core 23 is not satisfied (S40: NO), the operation state of the virtual core 23 is set to “stop” in S60, and the process proceeds to S70.

そしてS70に移行すると、仮想コア24のコア起動条件が成立したか否かを判断する。なお、本実施形態における仮想コア24のコア起動条件は、IGスイッチがオンであることである。   In S70, it is determined whether or not the core activation condition for the virtual core 24 is satisfied. Note that the core activation condition of the virtual core 24 in the present embodiment is that the IG switch is on.

ここで、仮想コア24のコア起動条件が成立している場合には(S70:YES)、S80にて、仮想コア24の動作状態を「起動」に設定して、S100に移行する。一方、仮想コア24のコア起動条件が不成立である場合には(S70:NO)、S90にて、仮想コア24の動作状態を「停止」に設定して、S100に移行する。   If the core activation condition for the virtual core 24 is satisfied (S70: YES), the operation state of the virtual core 24 is set to “activated” in S80, and the process proceeds to S100. On the other hand, when the core activation condition of the virtual core 24 is not satisfied (S70: NO), the operation state of the virtual core 24 is set to “stop” in S90, and the process proceeds to S100.

そしてS100に移行すると、コア11を仮想コアモードに移行させて、ハイパーバイザ処理を終了する。なお仮想コアモードとは、仮想コア21,22,23,24を並列動作させるモードである。換言すると、コア11が起動してからハイパーバイザ処理が終了するまでは、ハイパーバイザ処理のみが実行され、ハイパーバイザ処理以外の処理は実行されない。   When the process proceeds to S100, the core 11 is shifted to the virtual core mode, and the hypervisor process is terminated. The virtual core mode is a mode in which the virtual cores 21, 22, 23, and 24 are operated in parallel. In other words, only the hypervisor process is executed until the hypervisor process ends after the core 11 is activated, and no processes other than the hypervisor process are executed.

そして仮想コアモードに移行すると、仮想コア21と、仮想コア22,23,24のうちS10〜S90の処理で動作状態が「起動」に設定された仮想コアとが起動して、起動した仮想コアが並列動作する。   When the virtual core mode is entered, the virtual core 21 and the virtual core whose operation state is set to “activated” in the processing of S10 to S90 among the virtual cores 22, 23, and 24 are activated, and the activated virtual core is activated. Operate in parallel.

次に、コアマネージャ処理は、仮想コア21が起動すると開始される処理であり、このコアマネージャ処理が実行されると、仮想コア21は、図3に示すように、まずS210にて、仮想コア22が動作中であるか否かを判断する。ここで、仮想コア22が動作中である場合には(S210:YES)、S220にて、仮想コア22のコア停止条件が成立したか否かを判断する。なお、本実施形態における仮想コア22のコア停止条件は、マイコン1が車載バッテリからの電源供給を受けていないことである。   Next, the core manager process is a process that is started when the virtual core 21 is activated. When this core manager process is executed, the virtual core 21 first starts the virtual core in S210 as shown in FIG. It is determined whether or not 22 is operating. If the virtual core 22 is operating (S210: YES), it is determined in S220 whether or not the core stop condition for the virtual core 22 is satisfied. Note that the core stop condition of the virtual core 22 in the present embodiment is that the microcomputer 1 does not receive power supply from the in-vehicle battery.

ここで、仮想コア22のコア停止条件が成立している場合には(S220:YES)、S230にて、仮想コア22の動作状態を「停止」に設定して、S260に移行する。これにより、仮想コア22は動作を停止する。一方、仮想コア22のコア停止条件が不成立である場合には(S220:NO)、S260に移行する。   If the core stop condition for the virtual core 22 is satisfied (S220: YES), the operation state of the virtual core 22 is set to “stop” in S230, and the process proceeds to S260. As a result, the virtual core 22 stops operating. On the other hand, when the core stop condition of the virtual core 22 is not established (S220: NO), the process proceeds to S260.

またS210にて、仮想コア22が動作停止中である場合には(S210:NO)、S240にて、仮想コア22のコア起動条件が成立したか否かを判断する。ここで、仮想コア22のコア起動条件が成立している場合には(S240:YES)、S250にて、仮想コア22の動作状態を「起動」に設定して、S260に移行する。これにより、仮想コア22は起動する。一方、仮想コア22のコア起動条件が不成立である場合には(S240:NO)、S260に移行する。   If the operation of the virtual core 22 is stopped in S210 (S210: NO), it is determined in S240 whether the core activation condition for the virtual core 22 is satisfied. If the core activation condition for the virtual core 22 is satisfied (S240: YES), the operation state of the virtual core 22 is set to “activated” in S250, and the process proceeds to S260. As a result, the virtual core 22 is activated. On the other hand, when the core activation condition of the virtual core 22 is not established (S240: NO), the process proceeds to S260.

そしてS260に移行すると、仮想コア23が動作中であるか否かを判断する。ここで、仮想コア23が動作中である場合には(S260:YES)、S270にて、仮想コア23のコア停止条件が成立したか否かを判断する。なお、本実施形態における仮想コア23のコア停止条件は、IGスイッチがオフであることである。   In S260, it is determined whether or not the virtual core 23 is operating. If the virtual core 23 is operating (S260: YES), it is determined in S270 whether or not the core stop condition for the virtual core 23 is satisfied. Note that the core stop condition of the virtual core 23 in the present embodiment is that the IG switch is off.

ここで、仮想コア23のコア停止条件が成立している場合には(S270:YES)、S280にて、仮想コア23の動作状態を「停止」に設定して、S310に移行する。これにより、仮想コア23は動作を停止する。一方、仮想コア23のコア停止条件が不成立である場合には(S270:NO)、S310に移行する。   If the core stop condition for the virtual core 23 is satisfied (S270: YES), the operation state of the virtual core 23 is set to “stop” in S280, and the process proceeds to S310. As a result, the virtual core 23 stops operating. On the other hand, when the core stop condition of the virtual core 23 is not established (S270: NO), the process proceeds to S310.

またS260にて、仮想コア23が動作停止中である場合には(S260:NO)、S290にて、仮想コア23のコア起動条件が成立したか否かを判断する。ここで、仮想コア23のコア起動条件が成立している場合には(S290:YES)、S300にて、仮想コア23の動作状態を「起動」に設定して、S310に移行する。これにより、仮想コア23は起動する。一方、仮想コア23のコア起動条件が不成立である場合には(S290:NO)、S310に移行する。   If the operation of the virtual core 23 is stopped at S260 (S260: NO), it is determined at S290 whether the core activation condition for the virtual core 23 is satisfied. If the core activation condition for the virtual core 23 is satisfied (S290: YES), the operation state of the virtual core 23 is set to “activated” in S300, and the process proceeds to S310. As a result, the virtual core 23 is activated. On the other hand, when the core activation condition of the virtual core 23 is not established (S290: NO), the process proceeds to S310.

そしてS310に移行すると、仮想コア24が動作中であるか否かを判断する。ここで、仮想コア24が動作中である場合には(S310:YES)、S320にて、仮想コア24のコア停止条件が成立したか否かを判断する。なお、本実施形態における仮想コア24のコア停止条件は、IGスイッチがオフであることである。   In S310, it is determined whether or not the virtual core 24 is operating. If the virtual core 24 is operating (S310: YES), it is determined in S320 whether or not the core stop condition for the virtual core 24 is satisfied. Note that the core stop condition of the virtual core 24 in the present embodiment is that the IG switch is off.

ここで、仮想コア24のコア停止条件が成立している場合には(S320:YES)、S330にて、仮想コア24の動作状態を「停止」に設定して、S210に移行し、上述の処理を繰り返す。これにより、仮想コア24は動作を停止する。一方、仮想コア24のコア停止条件が不成立である場合には(S320:NO)、S210に移行し、上述の処理を繰り返す。   If the core stop condition for the virtual core 24 is satisfied (S320: YES), the operation state of the virtual core 24 is set to “stop” in S330, and the process proceeds to S210. Repeat the process. As a result, the virtual core 24 stops operating. On the other hand, when the core stop condition of the virtual core 24 is not satisfied (S320: NO), the process proceeds to S210 and the above-described processing is repeated.

またS310にて、仮想コア24が動作停止中である場合には(S310:NO)、S340にて、仮想コア24のコア起動条件が成立したか否かを判断する。ここで、仮想コア24のコア起動条件が成立している場合には(S340:YES)、S350にて、仮想コア24の動作状態を「起動」に設定して、S210に移行し、上述の処理を繰り返す。これにより、仮想コア24は起動する。一方、仮想コア24のコア起動条件が不成立である場合には(S340:NO)、S210に移行し、上述の処理を繰り返す。   If the operation of the virtual core 24 is stopped in S310 (S310: NO), it is determined in S340 whether the core activation condition for the virtual core 24 is satisfied. If the core activation condition for the virtual core 24 is satisfied (S340: YES), the operation state of the virtual core 24 is set to “activated” in S350, and the process proceeds to S210. Repeat the process. As a result, the virtual core 24 is activated. On the other hand, when the core activation condition of the virtual core 24 is not satisfied (S340: NO), the process proceeds to S210 and the above-described processing is repeated.

次に、マイコン1が起動してからの仮想コア21〜24の起動と動作停止を図4を用いて説明する。図4は、仮想コア21〜24の起動および動作停止の手順を説明するタイミングチャートである。   Next, activation and operation stop of the virtual cores 21 to 24 after the microcomputer 1 is activated will be described with reference to FIG. FIG. 4 is a timing chart for explaining the procedure for starting and stopping the operation of the virtual cores 21 to 24.

図4に示すように、車載バッテリが接続されてマイコン1に電源が供給されると(時刻t1を参照)、マイコン1が起動して動作を開始する(時刻t2を参照)。これにより、ハイパーバイザ処理が開始される。そして、ハイパーバイザ処理により、仮想コア22,23,24の動作状態がそれぞれ「起動」、「停止」、「停止」に設定されるため、ハイパーバイザ処理が終了すると、コア11では仮想コアモードに移行して、仮想コア21,22が並列動作を行う(時刻t3を参照)。   As shown in FIG. 4, when a vehicle-mounted battery is connected and power is supplied to the microcomputer 1 (see time t1), the microcomputer 1 is activated and starts operating (see time t2). Thereby, hypervisor processing is started. Then, the operating states of the virtual cores 22, 23, and 24 are set to “start”, “stop”, and “stop” by the hypervisor process, respectively. Therefore, when the hypervisor process ends, the core 11 enters the virtual core mode. The virtual cores 21 and 22 perform the parallel operation (see time t3).

その後IGスイッチがオンになると(時刻t4を参照)、仮想コア21が実行するコアマネージャ処理により、仮想コア23,24の動作状態が「起動」に設定されるため、仮想コア23,24が起動して、仮想コア21,22,23,24が並列動作を行う。さらにIGスイッチがオフになると(時刻t5を参照)、コアマネージャ処理により、仮想コア23,24の動作状態が「停止」に設定されるため、仮想コア23,24が動作を停止して、仮想コア21,22が並列動作を行う。   After that, when the IG switch is turned on (see time t4), the operating state of the virtual cores 23 and 24 is set to “started” by the core manager process executed by the virtual core 21, so the virtual cores 23 and 24 are started. Thus, the virtual cores 21, 22, 23, and 24 perform a parallel operation. Further, when the IG switch is turned off (see time t5), the operating state of the virtual cores 23 and 24 is set to “stop” by the core manager process. The cores 21 and 22 perform a parallel operation.

このように構成されたマイコン1では、単一のコア11のリソースを時分割して使用することで仮想的に複数のコアが存在しているように動作し、複数の仮想コア22,23,24のそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、コア起動条件が成立したと判断した場合に、成立したコア起動条件に対応する仮想コアを起動させる処理(S10〜S100,S240,S250,S290,S300,S340,S350)を実行するとともに、複数の仮想コア22,23,24のそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、コア停止条件が成立したと判断した場合に、成立したコア停止条件に対応する仮想コアの動作を停止させる処理を実行する(S220,S230,S270,S280,S320,S330)。   In the microcomputer 1 configured as described above, the resources of the single core 11 are used in a time-sharing manner so that a plurality of virtual cores exist virtually, and the plurality of virtual cores 22, 23, It is determined whether or not a preset core activation condition is established for each of 24, and when it is determined that the core activation condition is established, a process of activating a virtual core corresponding to the established core activation condition (S10 to S10) S100, S240, S250, S290, S300, S340, and S350), and whether or not a core stop condition set in advance for each of the plurality of virtual cores 22, 23, and 24 is satisfied is determined. When it is determined that the condition is satisfied, processing for stopping the operation of the virtual core corresponding to the satisfied core stop condition is executed (S220, S230, S270). S280, S320, S330).

このように構成されたマイコン1では、ハイパーバイザ処理およびコアマネージャ処理が、複数の仮想コア22,23,24のそれぞれについての起動および動作停止を行う。このため、マイコン1の起動および動作停止がコア起動条件およびコア停止条件となっていないコア(以下、起動停止条件相違コアという)について、この起動停止条件相違コアに対応したコア起動条件およびコア停止条件をハイパーバイザ処理およびコアマネージャ処理で設定しておけば、コア起動条件およびコア停止条件がマイコン1と相違していることに対応した制御ロジックの修正が起動停止条件相違コア側で不要となり、起動停止条件相違コア側で制御ロジックを修正する場合と比較して修正量が減少する。これにより、複数の仮想コアを用いて複数のECU機能をマイコン1に統合する際における開発工数の増大を抑制することができる。   In the microcomputer 1 configured as described above, the hypervisor process and the core manager process start and stop the operation of each of the plurality of virtual cores 22, 23, and 24. For this reason, for cores whose activation and deactivation of the microcomputer 1 are not the core activation condition and the core deactivation condition (hereinafter referred to as different cores for activation and deactivation conditions), the core activation condition and the core deactivation corresponding to this activation / deactivation condition difference core If the conditions are set in the hypervisor process and the core manager process, the correction of the control logic corresponding to the difference in the core start condition and the core stop condition from the microcomputer 1 becomes unnecessary on the start / stop condition different core side, The amount of correction is reduced compared to the case where the control logic is corrected on the core side where the start / stop conditions differ. Thereby, the increase in the development man-hour at the time of integrating a some ECU function into the microcomputer 1 using a some virtual core can be suppressed.

また、マイコン1は、マイコン1が起動してからハイパーバイザ処理が終了するまでの期間内において、ハイパーバイザ処理のみが実行され、ハイパーバイザ処理以外の処理は実行されない。これにより、マイクロコンピュータが起動した直後に起動する必要がある仮想コア21,22の起動が、ハイパーバイザ処理以外の処理の実行のために遅れてしまうといった事態の発生を抑制することができる。   Further, the microcomputer 1 executes only the hypervisor process and does not execute any process other than the hypervisor process within a period from when the microcomputer 1 starts up until the hypervisor process ends. As a result, it is possible to suppress the occurrence of a situation in which the activation of the virtual cores 21 and 22 that need to be activated immediately after the microcomputer is activated is delayed due to the execution of processes other than the hypervisor process.

以上説明した実施形態において、S10〜S100,S240,S250,S290,S300,S340,S350の処理は本発明におけるコア起動手段、S220,S230,S270,S280,S320,S330の処理は本発明におけるコア停止手段、マイコン1が起動してからハイパーバイザ処理が終了するまでの期間は本発明における起動後優先期間である。   In the embodiment described above, the processes of S10 to S100, S240, S250, S290, S300, S340, and S350 are the core activation means in the present invention, and the processes of S220, S230, S270, S280, S320, and S330 are the core in the present invention. The period from the start of the stop means and the microcomputer 1 to the end of the hypervisor processing is the priority period after startup in the present invention.

以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態においては、マイコン1が起動してからハイパーバイザ処理が終了するまでコア11においてハイパーバイザ処理以外の処理は実行されないものを示したが、ハイパーバイザ処理を優先して実行させることにより、コア11においてハイパーバイザ処理とハイパーバイザ処理以外の処理とを並列に動作させるようにしてもよい。
As mentioned above, although one Embodiment of this invention was described, this invention is not limited to the said embodiment, As long as it belongs to the technical scope of this invention, a various form can be taken.
For example, in the above-described embodiment, the core 11 does not execute any processing other than the hypervisor processing until the hypervisor processing is completed after the microcomputer 1 is activated. However, by executing the hypervisor processing with priority. In the core 11, hypervisor processing and processing other than hypervisor processing may be operated in parallel.

また上記実施形態においては、マイコン1に4個の仮想コアが搭載されているものを示したが、仮想コア数はこれに限定されるものではなく2個以上であればよい。
また上記実施形態においては、コア起動条件が「車載バッテリからの電源供給を受けていること」または「IGスイッチがオンであること」といったマイコン外部からの情報であるものを示したが、これに限定されるものではなく、マイコン内部の情報(例えば、内部リソースの状態)を用いてもよく、マイコン外部からの情報とマイコン内部の情報とを複合的に用いてもよい。
In the above embodiment, the microcomputer 1 is shown with four virtual cores mounted thereon, but the number of virtual cores is not limited to this and may be two or more.
In the above embodiment, the core activation condition is information from outside the microcomputer such as “receiving power from an in-vehicle battery” or “IG switch is on”. The information is not limited, and information inside the microcomputer (for example, the state of internal resources) may be used, or information from outside the microcomputer and information inside the microcomputer may be used in combination.

1…マイコン、11…コア、12…I/Oポート、21,22,23,24…仮想コア、30…ハイパーバイザ、31…コアマネージャ   DESCRIPTION OF SYMBOLS 1 ... Microcomputer, 11 ... Core, 12 ... I / O port 21, 22, 23, 24 ... Virtual core, 30 ... Hypervisor, 31 ... Core manager

Claims (2)

単一のコアのリソースを時分割して使用することで仮想的に複数のコアが存在しているように動作するマイクロコンピュータであって、
当該マイクロコンピュータにおいて仮想的に存在しているコアを仮想コアとして、複数の前記仮想コアのそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、前記コア起動条件が成立したと判断した場合に、成立した前記コア起動条件に対応する前記仮想コアを起動させる処理を実行するコア起動手段と、
複数の前記仮想コアのそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、前記コア停止条件が成立したと判断した場合に、成立した前記コア停止条件に対応する前記仮想コアの動作を停止させる処理を実行するコア停止手段とを備える
ことを特徴とするマイクロコンピュータ。
A microcomputer that operates as if multiple cores exist virtually by using resources of a single core in a time-sharing manner,
With the core virtually existing in the microcomputer as a virtual core, it is determined whether a preset core activation condition is established for each of the plurality of virtual cores, and the core activation condition is established A core activation unit that executes a process of activating the virtual core corresponding to the established core activation condition when it is determined;
It is determined whether a preset core stop condition is satisfied for each of the plurality of virtual cores, and when it is determined that the core stop condition is satisfied, the virtual core corresponding to the satisfied core stop condition is determined. And a core stopping means for executing a process for stopping the operation of the microcomputer.
当該マイクロコンピュータは、
当該マイクロコンピュータが起動した直後の予め設定された起動後優先期間内において、前記コア起動手段が実行する処理を、その他の処理よりも優先して実行させる
ことを特徴とする請求項1に記載のマイクロコンピュータ。
The microcomputer is
2. The process executed by the core starting means is prioritized over other processes within a preset post-start priority period immediately after the microcomputer is started. Microcomputer.
JP2011117103A 2011-05-25 2011-05-25 Microcomputer Active JP5561241B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011117103A JP5561241B2 (en) 2011-05-25 2011-05-25 Microcomputer
DE201210208753 DE102012208753A1 (en) 2011-05-25 2012-05-24 Vehicle-mounted microcomputer comprises a core holding element that determines whether preset stop condition of each virtual core of single core is fulfilled and stops a virtual core, when stop condition is fulfilled

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011117103A JP5561241B2 (en) 2011-05-25 2011-05-25 Microcomputer

Publications (2)

Publication Number Publication Date
JP2012247850A true JP2012247850A (en) 2012-12-13
JP5561241B2 JP5561241B2 (en) 2014-07-30

Family

ID=47140619

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011117103A Active JP5561241B2 (en) 2011-05-25 2011-05-25 Microcomputer

Country Status (2)

Country Link
JP (1) JP5561241B2 (en)
DE (1) DE102012208753A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102015214390A1 (en) 2015-07-29 2017-02-02 Robert Bosch Gmbh Method and apparatus for operating changing guest systems under a hypervisor
DE102017100118A1 (en) 2017-01-04 2018-07-05 Connaught Electronics Ltd. Scalable control system for a motor vehicle

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268898A (en) * 2001-03-14 2002-09-20 Mitsubishi Electric Corp Vehicle controller
JP2007323142A (en) * 2006-05-30 2007-12-13 Toshiba Corp Information processing apparatus and its control method
JP2009230549A (en) * 2008-03-24 2009-10-08 Fujitsu Ltd Information processor, information processing method and computer program
WO2009133669A1 (en) * 2008-04-28 2009-11-05 パナソニック株式会社 Virtual computer control device, virtual computer control method, and virtual computer control program
JP2010191886A (en) * 2009-02-20 2010-09-02 Mitsubishi Electric Corp Operation computer of operating system (os) to be started, and os boot method and os boot program of computer
JP2010198165A (en) * 2009-02-24 2010-09-09 Nec Corp Start control method, information processor and program
WO2010122709A1 (en) * 2009-04-23 2010-10-28 日本電気株式会社 Rejuvenation processing device, rejuvenation processing system, computer program, and data processing method
JP2011013836A (en) * 2009-06-30 2011-01-20 Hitachi Ltd Memory arrangement management device and microprocessor
JP2011022934A (en) * 2009-07-17 2011-02-03 Toyota Motor Corp Electronic control unit and method for detecting failure

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002268898A (en) * 2001-03-14 2002-09-20 Mitsubishi Electric Corp Vehicle controller
JP2007323142A (en) * 2006-05-30 2007-12-13 Toshiba Corp Information processing apparatus and its control method
JP2009230549A (en) * 2008-03-24 2009-10-08 Fujitsu Ltd Information processor, information processing method and computer program
WO2009133669A1 (en) * 2008-04-28 2009-11-05 パナソニック株式会社 Virtual computer control device, virtual computer control method, and virtual computer control program
JP2010191886A (en) * 2009-02-20 2010-09-02 Mitsubishi Electric Corp Operation computer of operating system (os) to be started, and os boot method and os boot program of computer
JP2010198165A (en) * 2009-02-24 2010-09-09 Nec Corp Start control method, information processor and program
WO2010122709A1 (en) * 2009-04-23 2010-10-28 日本電気株式会社 Rejuvenation processing device, rejuvenation processing system, computer program, and data processing method
JP2011013836A (en) * 2009-06-30 2011-01-20 Hitachi Ltd Memory arrangement management device and microprocessor
JP2011022934A (en) * 2009-07-17 2011-02-03 Toyota Motor Corp Electronic control unit and method for detecting failure

Also Published As

Publication number Publication date
DE102012208753A1 (en) 2012-11-29
JP5561241B2 (en) 2014-07-30

Similar Documents

Publication Publication Date Title
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
CN108351840B (en) Vehicle control device
JP5533789B2 (en) In-vehicle electronic control unit
US7480812B2 (en) Microprocessor
JP2013225208A (en) Information processing apparatus, information processing method and program
JP5561241B2 (en) Microcomputer
JP2012247849A (en) Microcomputer
JP6519515B2 (en) Microcomputer
US10269194B2 (en) Multiprocessor system and vehicle control system
JP5884788B2 (en) Microcomputer
JP2013061783A (en) Multi-core processor
JP6183251B2 (en) Electronic control unit
JP2014004858A (en) Vehicle control device
WO2010109609A1 (en) Processing device and vehicle engine control device
JP7087752B2 (en) Electronic device
WO2019044226A1 (en) Access control device
WO2018003560A1 (en) Electronic control device
JP2002229791A (en) Interface generating device, program, and storage medium
JP2015014962A (en) Arithmetic device, arithmetic method, and program
JP7378445B2 (en) Electronic control unit, information processing method, and program
WO2021140812A1 (en) Computation device and inspection method
JP2021043537A (en) Electronic control device
JP2012173919A (en) Information processor, electronic control unit for vehicle, and data storage method
JP6803709B2 (en) Vehicle control device and vehicle control system
JP2015170180A (en) Electronic control device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140526

R151 Written notification of patent or utility model registration

Ref document number: 5561241

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250