JP5561241B2 - Microcomputer - Google Patents

Microcomputer Download PDF

Info

Publication number
JP5561241B2
JP5561241B2 JP2011117103A JP2011117103A JP5561241B2 JP 5561241 B2 JP5561241 B2 JP 5561241B2 JP 2011117103 A JP2011117103 A JP 2011117103A JP 2011117103 A JP2011117103 A JP 2011117103A JP 5561241 B2 JP5561241 B2 JP 5561241B2
Authority
JP
Japan
Prior art keywords
core
virtual
microcomputer
condition
satisfied
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.)
Active
Application number
JP2011117103A
Other languages
Japanese (ja)
Other versions
JP2012247850A (en
Inventor
信行 近藤
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

Landscapes

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

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 (for example, see 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に記載のマイクロコンピュータでは、車載される制御装置に搭載され、単一のコアのリソースを時分割して使用することで仮想的に複数のコアが存在しているように動作し、当該マイクロコンピュータにおいて仮想的に存在しているコアを仮想コアとして、コア起動手段が、複数の仮想コアのそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、コア起動条件が成立したと判断した場合に、成立したコア起動条件に対応する仮想コアを起動させる処理を実行するとともに、コア停止手段が、複数の仮想コアのそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、コア停止条件が成立したと判断した場合に、成立したコア停止条件に対応する仮想コアの動作を停止させる処理を実行する。そして、請求項1に記載のマイクロコンピュータは、コア起動手段を優先するが、並列に他の処理を実行することを可能としたことを特徴とする。 The microcomputer according to claim 1, which has been made to achieve the above object, is mounted on a vehicle-mounted control device , and a plurality of cores are virtually created by using a single core resource in a time-sharing manner. Whether or not the core activation means satisfies a core activation condition set in advance for each of the plurality of virtual cores, with the core virtually operating in the microcomputer as a virtual core. If it is determined that the core start condition is satisfied, a process for starting the virtual core corresponding to the satisfied core start condition is executed, and the core stop unit is set in advance for each of the plurality of virtual cores. If the determined core stop condition is satisfied, and if it is determined that the core stop condition is satisfied, the behavior of the virtual core corresponding to the satisfied core stop condition is determined. That perform a process to stop. The microcomputer according to claim 1 is characterized in that it gives priority to the core activation means but can execute other processes in parallel.

このように構成されたマイクロコンピュータでは、仮想的に複数のコア(仮想コア)が存在しているように動作するため、複数の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 is mounted on a control device mounted on a vehicle and that operates as if multiple cores exist virtually by using a single core resource 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 stop means for executing a process for stopping the operation,
A microcomputer characterized in that priority is given to the core starting means, but other processing can be executed in parallel .
当該マイクロコンピュータは、
当該マイクロコンピュータが起動した直後の予め設定された起動後優先期間内において、前記コア起動手段が実行する処理を、その他の処理よりも優先して実行させる
ことを特徴とする請求項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 JP2012247850A (en) 2012-12-13
JP5561241B2 true 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

Family Cites Families (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
JP5125659B2 (en) * 2008-03-24 2013-01-23 富士通株式会社 Information processing apparatus, information processing method, and computer program
US8468533B2 (en) * 2008-04-28 2013-06-18 Panasonic Corporation Virtual machine control device, method, and program wherein a switching task used to switch to the highest priority virtual machines is the highest priority task in the current virtual machine and the virtual machine that is the switching target
JP5328410B2 (en) * 2009-02-20 2013-10-30 三菱電機株式会社 Booted operating system (OS) operation computer, computer OS boot method, and OS boot program
JP5332716B2 (en) * 2009-02-24 2013-11-06 日本電気株式会社 Startup control method, information processing apparatus, 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
JP2012247850A (en) 2012-12-13
DE102012208753A1 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
JP6044316B2 (en) In-vehicle electronic control unit
US20110197193A1 (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
JP5561241B2 (en) Microcomputer
JP2012247849A (en) Microcomputer
JP6519515B2 (en) Microcomputer
JP6243266B2 (en) Electronic control device and memory diagnostic method
JP2014004858A (en) Vehicle control device
JP5884788B2 (en) Microcomputer
US10269194B2 (en) Multiprocessor system and vehicle control system
JP2013061783A (en) Multi-core processor
JP6183251B2 (en) Electronic control unit
JP6365387B2 (en) Electronic control unit
WO2010109609A1 (en) Processing device and vehicle engine control device
JP7087752B2 (en) Electronic device
US9740584B2 (en) Method and device for testing a computer core in a processor having at least two computer cores
WO2018003560A1 (en) Electronic control device
WO2019044226A1 (en) Access control device
JP6252259B2 (en) Electronic control unit
JP2002229791A (en) Interface generating device, program, and storage medium
JP2021043537A (en) Electronic control device
JP6803709B2 (en) Vehicle control device and vehicle control system
JP2012173919A (en) Information processor, electronic control unit for vehicle, and data storage method

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250