JP2012226409A - Multi-core processor - Google Patents
Multi-core processor Download PDFInfo
- Publication number
- JP2012226409A JP2012226409A JP2011090683A JP2011090683A JP2012226409A JP 2012226409 A JP2012226409 A JP 2012226409A JP 2011090683 A JP2011090683 A JP 2011090683A JP 2011090683 A JP2011090683 A JP 2011090683A JP 2012226409 A JP2012226409 A JP 2012226409A
- Authority
- JP
- Japan
- Prior art keywords
- core
- processor
- function
- spare
- 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.)
- Withdrawn
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Abstract
【課題】プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させること。
【解決手段】複数の機能を実行可能な複数のプロセッサコアと、前記複数の機能と前記複数のプロセッサコアとの対応関係を決定すると共に、前記複数のプロセッサコアのうち少なくとも一部を、機能を実行しない待機状態とされる予備コアに指定する制御手段と、を備え、前記制御手段は、所定の切り替えタイミングが到来する度に、前記予備コアの指定を変更することを特徴とする、マルチコア・プロセッサ。
【選択図】図1An object of the present invention is to improve the reliability of alternative processing performed when an abnormality occurs in any of processor cores.
A plurality of processor cores capable of executing a plurality of functions, a correspondence relationship between the plurality of functions and the plurality of processor cores are determined, and at least a part of the plurality of processor cores is provided with a function. A control unit that designates a standby core that is not to be executed, and the control unit changes the designation of the spare core every time a predetermined switching timing arrives. Processor.
[Selection] Figure 1
Description
本発明は、複数のプロセッサコアを有し、それぞれのプロセッサコアが独立した機能を実行可能なマルチコア・プロセッサに関する。 The present invention relates to a multi-core processor that has a plurality of processor cores and each processor core can execute an independent function.
従来、一パッケージ内に複数のプロセッサコア(CPUコア)を封入して各プロセッサコアが並行・独立して処理を行うことが可能なマルチコア・プロセッサが知られている。マルチコア・プロセッサは、並行処理が可能であるために、例えば、車載制御装置の分野において、異なる機能を有する複数の制御装置を統合して一の制御装置にするのに用いることが期待されている。 2. Description of the Related Art Conventionally, a multi-core processor is known in which a plurality of processor cores (CPU cores) are enclosed in one package and each processor core can perform processing in parallel and independently. Since the multi-core processor can perform parallel processing, for example, in the field of in-vehicle control devices, it is expected to be used to integrate a plurality of control devices having different functions into one control device. .
マルチコア・プロセッサでは、いずれかのプロセッサコアに異常が生じた場合に、他のプロセッサコアが代替処理を行うことができるという利点がある。 The multi-core processor has an advantage that, when an abnormality occurs in any one of the processor cores, another processor core can perform an alternative process.
特許文献1には、複数のプロセッサコアを有するプロセッサにおいて、プロセッサコアを動作コア群と予備コア群に分けておき、動作コアが故障した場合に予備コアで代替処理を行うことについて記載されている。
しかしながら、上記従来の特許文献1に記載の技術では、動作コアの故障時に、予備コアが代替処理を正常に行うことができることの信頼性が小さい。
However, in the technique described in the above-described
予備コアが長時間の間、何も処理を行わない状態が継続する可能性があり、その間における経年劣化等により、代替処理が正常に行われない場合があるからである。また、予備コアが、故障した動作コアの機能を過去に全く実行していない可能性も高く、これも信頼性を低下させる要因となる。 This is because there is a possibility that the spare core does not perform any processing for a long time, and the alternative processing may not be performed normally due to aging degradation during that time. In addition, there is a high possibility that the spare core has not performed the function of the failed operating core in the past, which also causes a decrease in reliability.
本発明はこのような課題を解決するためのものであり、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることが可能なマルチコア・プロセッサを提供することを、主たる目的とする。 The present invention is intended to solve such a problem, and provides a multi-core processor capable of improving the reliability of alternative processing performed when an abnormality occurs in any of the processor cores. The main purpose.
上記目的を達成するための本発明の一態様は、
複数の機能を実行可能な複数のプロセッサコアと、
前記複数の機能と前記複数のプロセッサコアとの対応関係を決定すると共に、前記複数のプロセッサコアのうち少なくとも一部を、機能を実行しない待機状態とされる予備コアに指定する制御手段と、
を備え、
前記制御手段は、所定の切り替えタイミングが到来する度に、前記予備コアの指定を変更することを特徴とする、
マルチコア・プロセッサである。
In order to achieve the above object, one embodiment of the present invention provides:
Multiple processor cores capable of performing multiple functions;
Control means for determining a correspondence relationship between the plurality of functions and the plurality of processor cores and designating at least a part of the plurality of processor cores as standby cores in a standby state in which the functions are not executed;
With
The control means changes the designation of the spare core every time a predetermined switching timing arrives,
It is a multi-core processor.
この本発明の一態様によれば、所定の切り替えタイミングが到来する度に、予備コアの指定を変更するため、予備コアとして待機しているプロセッサコアが正常に動作可能であるという信頼性が高くなる。また、異常が発生したプロセッサコアの代替処理を行う際に、当該処理を過去に行っている可能性も高くなる。このため、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。 According to this aspect of the present invention, since the designation of the spare core is changed every time a predetermined switching timing arrives, the reliability that the processor core waiting as the spare core can operate normally is high. Become. In addition, when performing an alternative process for a processor core in which an abnormality has occurred, there is a high possibility that the process has been performed in the past. For this reason, it is possible to improve the reliability of the alternative process performed when an abnormality occurs in any of the processor cores.
本発明の一態様において、
前記制御手段は、前記複数の機能と前記複数のプロセッサコアとの対応関係、及び前記複数のプロセッサコアにおける前記予備コアの指定を、循環的に変更する手段であるものとしてもよい。
In one embodiment of the present invention,
The control means may be means for cyclically changing a correspondence relationship between the plurality of functions and the plurality of processor cores and designation of the spare core in the plurality of processor cores.
この場合、
前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記予備コアに代替させる手段であるものとしてもよい。
in this case,
When the abnormality occurs in a processor core not designated as the spare core, the control means is a means for substituting the spare core for the function performed by the processor core in which the abnormality has occurred. Also good.
また、本発明の一態様において、
前記制御手段は、前記複数のプロセッサコアのうち特定プロセッサコアが前記複数の機能を順に実行し、該特定プロセッサコア以外の非特定プロセッサコアが前記複数の機能のうち自己に割り当てられた特定の機能のみを実行するように制御する手段であるものとしてもよい。
In one embodiment of the present invention,
The control unit is configured such that a specific processor core among the plurality of processor cores sequentially executes the plurality of functions, and a non-specific processor core other than the specific processor core is a specific function assigned to itself among the plurality of functions. It is good also as a means to control to perform only.
この場合、
前記制御手段は、前記所定の切り替えタイミングにおいて前記特定プロセッサコアに機能が移動した非特定プロセッサコアを、前記予備コアに指定する手段であるものとしてもよい。
in this case,
The control means may be means for designating a non-specific processor core whose function has been moved to the specific processor core at the predetermined switching timing as the spare core.
特定プロセッサコアを指定する態様の本発明の一態様において、
前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記特定プロセッサコアに代替させる手段であるものとしてもよい。
In one aspect of the invention in which the specific processor core is specified,
The control means is means for substituting the specific processor core for the function being executed by the processor core in which the abnormality occurs when an abnormality occurs in the processor core not designated as the spare core. It is good.
この場合、
前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、前記特定プロセッサコアが実行していた機能を、前記予備コアに指定されていた非特定プロセッサコアに割り当てる手段であるものとしてもよい。
in this case,
The control means assigns a function executed by the specific processor core to a non-specific processor core designated as the spare core when an abnormality occurs in a processor core not designated as the spare core. It may be a means.
本発明によれば、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることが可能なマルチコア・プロセッサを提供することができる。 According to the present invention, it is possible to provide a multi-core processor capable of improving the reliability of an alternative process performed when an abnormality occurs in any of the processor cores.
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。 DESCRIPTION OF EMBODIMENTS Hereinafter, embodiments for carrying out the present invention will be described with reference to the accompanying drawings.
本発明のマルチコア・プロセッサは、車両に搭載され、車載機器制御のための種々の演算処理を行う車載制御装置に好適に適用される。特に、複数の機能が統合された車載制御装置のように、複数の機能を同時実行する装置に好適に適用される。なお、これに限らず、航空機や船舶等の他の移動体、プラント等の構造物を制御する制御装置、家庭用のパーソナルコンピュータ、サーバ装置にも適用されることができる。 The multi-core processor of the present invention is suitably applied to an in-vehicle control device that is mounted on a vehicle and performs various arithmetic processes for controlling in-vehicle devices. In particular, the present invention is suitably applied to a device that simultaneously executes a plurality of functions, such as an in-vehicle control device in which a plurality of functions are integrated. Note that the present invention is not limited to this, and the present invention can also be applied to a control device that controls other moving objects such as airplanes and ships, and a structure such as a plant, a home personal computer, and a server device.
<第1実施例>
以下、図面を参照し、本発明の第1実施例に係るマルチコア・プロセッサ1について説明する。
<First embodiment>
The
[構成]
図1は、本発明の第1実施例に係るマルチコア・プロセッサ1のシステム構成例である。マルチコア・プロセッサ1は、主要な構成として、プログラムメモリ10と、プロセッサコア20#0〜20#7と、ワーキングメモリ30と、I/O手段40と、を備える。なお、本実施例ではプロセッサコアの個数を8個としたが、2以上の如何なる個数のプロセッサコアを備えてもよい。以下、プロセッサコア20#0〜20#7の「#」以降の番号を、ID番号と称する。
[Constitution]
FIG. 1 is a system configuration example of a
プログラムメモリ10は、例えば、ROM(Read Only Memory)、フラッシュROM、EEPROM(Electrically Erasable and Programmable Read Only Memory)等の不揮発性メモリである。プログラムメモリ10は、プロセッサコア20#0〜20#7のそれぞれが実行可能な複数の機能(本実施例では、機能A、機能B、機能C、機能D、機能E、機能F、機能G、及びマスター制御機能とする)に相当するプログラム(命令列)を格納している。そして、プログラムメモリ10は、プロセッサコア20#0〜20#7のそれぞれから入力されるアドレスに格納された命令を、命令フェッチバス15を介してプロセッサコア20#0〜20#7に出力する。
The
プロセッサコア20#0〜20#7は、例えば、プログラムカウンタ、命令フェッチユニット、命令キュー、命令発行部、汎用レジスタ、ALU(Arithmetic Logic Unit)、MUL(乗算器)、DIV(除算器)、LSU(Load Store Unit)その他の演算器を備えるコンピュータ単位である。
The
ワーキングメモリ30は、例えばRAM(Random Access Memory)であり、データバス35を介してプロセッサコア20#0〜20#7との間でデータの送受信を行うことができる。
The working
I/O手段40は、マルチコア・プロセッサ1の外部装置との送受信を行う。外部装置とは、マルチコア・プロセッサ1が車載制御装置である場合は、センサーの出力値をデジタル値に変換して出力するA/D変換器等である。係るA/D変換器は、所定期間毎にセンサーの出力値をデジタル変換し、マルチコア・プロセッサ1の該当するプロセッサコアに割り込み通知を行う。プロセッサコアでは、割り込み通知を検知することによって、自己が実行する機能のうち必要な処理を行う。
The I /
[対応関係の決定、及び予備コアの指定]
図2は、ある時点で複数の機能がプロセッサコア20#0〜20#7に割り当てられた状態を示す図である。この時点では、プロセッサコア20#0が予備コアに指定され、プロセッサコア20#1に機能A及びマスター制御機能が割り当てられ、プロセッサコア20#2に機能Bが割り当てられ、プロセッサコア20#3に機能Cが割り当てられ、プロセッサコア20#4に機能Dが割り当てられ、プロセッサコア20#5に機能Eが割り当てられ、プロセッサコア20#6に機能Fが割り当てられ、プロセッサコア20#7に機能Gが割り当てられている。
[Decision of correspondence and designation of spare core]
FIG. 2 is a diagram illustrating a state in which a plurality of functions are assigned to the
ここで、予備コアとは、特定の機能を実行せず、他のコアの代替処理を行うことが可能な待機状態に維持されたプロセッサコアをいう。 Here, the spare core refers to a processor core that is maintained in a standby state in which a specific function is not executed and an alternative process of another core can be performed.
マスター制御機能が割り当てられたプロセッサコア20#1は、所定の切り替えタイミングが到来する度に、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を変更する。
The
なお、「所定の切り替えタイミング」は、マルチコア・プロセッサ1が実行する機能に応じて任意に定めて良いが、マルチコア・プロセッサ1が車載制御装置である場合は、例えばIGオン、ACCオン等に同期したタイミングとすることが考えられる。また、これに限らず、所定時間毎、1日に1回、1週間に1回等、任意に定めて良い。
The “predetermined switching timing” may be arbitrarily determined according to the function executed by the
また、本実施例の場合、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を、以下に説明するように「循環的に」変更する。本発明において「循環的に」変更するとは、以下に例示するように、各機能、及び予備コアの指定が、ID番号を1ずつ(2ずつ、3ずつ等であってもよい)繰り上げて(又は繰り下げて)割り当てられ、コア20#7からはコア20#0に戻るように変更することをいう。
In the case of the present embodiment, the correspondence between the plurality of functions and the
予備コア : プロセッサコア20#0→20#1→20#2→20#3→20#4→20#5→20#6→20#7→20#0→…
機能A : プロセッサコア20#1→20#2→20#3→20#4→20#5→20#6→20#7→20#0→20#1→…
機能B : プロセッサコア20#2→20#3→20#4→20#5→20#6→20#7→20#0→20#1→20#2→…
機能C : プロセッサコア20#3→20#4→20#5→20#6→20#7→20#0→20#1→20#2→20#3→…
(以下省略)
Spare core:
Function A:
Function B:
Function C:
(Hereafter omitted)
上記の変更ルールは、以下のようにも表現できる。なお、番号Nは、予備コアに指定されているプロセッサコアのID番号を示し、番号iは、ある機能が割り当てられているプロセッサコアのID番号を示し(従って、7種類存在する)、「mod」は、剰余を示している。 The above change rule can also be expressed as follows. The number N indicates the ID number of the processor core designated as the spare core, the number i indicates the ID number of the processor core to which a certain function is assigned (thus, there are seven types), and “mod "Indicates a remainder.
予備コア指定の変更 : N→(N+1)mod8
機能割り当ての変更(A〜Gについて) : i→(i+1)mod8
Change of spare core designation: N → (N + 1) mod8
Change of function assignment (A to G): i → (i + 1) mod 8
図3は、図2に示す状態において所定の切り替えタイミングが到来した場合における、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を示す図である。
FIG. 3 is a diagram illustrating the correspondence between a plurality of functions and the
また、図4は、図3に示す状態から所定の切り替えタイミングが4回到来した後における、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を示す図である。
FIG. 4 is a diagram showing the correspondence between a plurality of functions and the
[異常発生時の処理]
このように、機能や予備コアの割り当てが循環的に行われる中で、いずれかのプロセッサコアに異常が発生すると、マスター制御機能が割り当てられているプロセッサコア20#1は、まず異常が発生したプロセッサコアを停止させる。
[Processing when an error occurs]
As described above, when an abnormality occurs in any of the processor cores while the functions and spare cores are cyclically assigned, the
そして、プロセッサコア20#1は、予備コアに指定されているプロセッサコアに当該異常が発生したプロセッサコアの処理を代替させる。
Then, the
プロセッサコアに異常が発生したかどうかの検知は、既知の手法により行われる。例えば、ROMから読み出したデータによるSUMチェック、ALU等の演算値チェック、演算値とI/O手段40から入力されるセンサー出力値の一致判定等によって行う。
Whether or not an abnormality has occurred in the processor core is detected by a known method. For example, SUM check based on data read from the ROM, calculation value check of ALU or the like, determination of coincidence between the calculation value and the sensor output value input from the I /
図5は、図4に示す状態において、プロセッサコア20#7に異常が発生した後における、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を示す図である。図示するように、プロセッサコア20#7に割り当てられていた機能Bは、予備コアに指定されていたプロセッサコア20#5に割り当てられる。
FIG. 5 is a diagram showing correspondence between a plurality of functions and
なお、いずれかのコアに異常が発生した場合には、ブザーや表示等によってユーザに通知する。その後の制御については、更に予備コアを指定可能な程度にプロセッサコアの個数に余裕があれば、上記のような循環的変更を行ってもよいし、余裕がなければそのままの状態で処理を行うと共に、ユーザに修理・点検を促すコメントを出力してもよい。 If an abnormality occurs in any of the cores, the user is notified by a buzzer, a display, or the like. As for the subsequent control, if there is a surplus in the number of processor cores to the extent that a spare core can be specified, the above cyclic change may be performed. If there is no surplus, the process is performed as it is. At the same time, a comment urging the user to repair / inspect may be output.
[処理フロー]
図6は、第1実施例に係るプロセッサコア20#1により実行されるマスター制御機能の処理の流れを示すフローチャートである。
[Processing flow]
FIG. 6 is a flowchart showing the flow of processing of the master control function executed by the
まず、プロセッサコア20#1は、所定の切り替えタイミングが到来したか否かを判定する(S100)。
First, the
所定の切り替えタイミングが到来した場合は、予備コアに指定されているプロセッサコアのID番号Nを取得する(S102)。 When the predetermined switching timing has arrived, the ID number N of the processor core designated as the spare core is acquired (S102).
そして、ID番号Nが最大値(本実施例では7)であるか否かを判定する(S104)。予備コアに指定されているプロセッサコアの番号、及び後述する機能が割り当てられているプロセッサコアの番号は、プロセッサコア20#1の汎用レジスタ等に格納されているものとする。
Then, it is determined whether or not the ID number N is the maximum value (7 in this embodiment) (S104). It is assumed that the number of the processor core designated as the spare core and the number of the processor core to which a function described later is assigned are stored in the general-purpose register of the
ID番号Nが最大値でなければ、プロセッサコア20#N+1を予備コアに指定する(S106)。一方、ID番号Nが最大値であれば、プロセッサコア20#0を予備コアに指定する(S108)。
If the ID number N is not the maximum value, the
次に、以下の処理を機能A〜Fのそれぞれについて実行する。まず、機能X(A〜Fを一般化したものをXと称する)が割り当てられているプロセッサコアのID番号iを取得する(S110)。そして、ID番号iが最大値(本実施例では7)であるか否かを判定する(S112)。 Next, the following processing is executed for each of the functions A to F. First, the ID number i of the processor core to which the function X (A to F is generalized is referred to as X) is acquired (S110). Then, it is determined whether or not the ID number i is the maximum value (7 in this embodiment) (S112).
ID番号iが最大値でなければ、機能Xをプロセッサコア20#i+1に割り当てる(S114)。一方、ID番号iが最大値であれば、機能Xをプロセッサコア20#0に割り当てる(S116)。
If the ID number i is not the maximum value, the function X is assigned to the
続いて、プロセッサコア20#1は、いずれかのプロセッサコアに異常が発生したか否かを判定する(S118)。いずれかのプロセッサコアに異常が発生した場合は、当該プロセッサコアに割り当てられている機能を、予備コアに指定されているプロセッサコアに割り当てる(S120)。
Subsequently, the
[従来構成との比較、まとめ]
ここで、機能割り当てや予備コアの指定を変更しない態様の、従来構成のマルチコア・プロセッサとの比較について説明する。
[Comparison with conventional configuration, summary]
Here, a comparison with a conventional multi-core processor in a mode in which the function assignment and the specification of the spare core are not changed will be described.
図7は、従来構成のマルチコア・プロセッサの動作を説明するための説明図である。図示するように、従来構成のマルチコア・プロセッサでは、予備コアが固定的であるために、例えば機能Cを実行しているプロセッサコア3に異常が生じた際に代替処理を行う場合に、機能Cを正常に実行できるかどうか信頼性が低かった。予備コアが代替処理を行うまでに、何ら処理を行っていない可能性があり、過去に機能Cを全く実行していない可能性もあるからである。
FIG. 7 is an explanatory diagram for explaining the operation of the conventional multi-core processor. As shown in the figure, in the conventional multi-core processor, since the spare core is fixed, for example, when an alternative process is performed when an abnormality occurs in the
これに対し、本実施例のマルチプロセッサ1では、機能や予備コアの割り当てが循環的に行われるため、予備コアに指定されているプロセッサコアは、全ての(又は多くの)機能を既に実行している。この結果、代替処理に係る機能を正常に実行できるという信頼性を高めることができる。
On the other hand, in the
更に、プロセッサコアが機能を実行する過程で異常チェックが行われているため、各プロセッサコアが正常であるという信頼性も高めることができる。 Further, since the abnormality check is performed in the process of executing the function by the processor core, the reliability that each processor core is normal can be improved.
従って、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。 Therefore, it is possible to improve the reliability of the alternative process performed when an abnormality occurs in any of the processor cores.
以上説明した本実施例のマルチコア・プロセッサ1によれば、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。
According to the
<第2実施例>
以下、本発明の第2実施例に係るマルチコア・プロセッサ2について説明する。
<Second embodiment>
The
[構成]については、第1実施例と共通するため、図1を参照するものとし、各構成要素について同一の符号を付し、基本機能についての説明は省略する。 Since [Configuration] is the same as that in the first embodiment, reference is made to FIG. 1, the same reference numerals are given to the respective components, and the description of the basic functions is omitted.
[対応関係の決定、及び予備コアの指定]
本実施例に係るマルチコア・プロセッサ2においても、マスター制御機能が割り当てられたプロセッサコア20#1は、所定の切り替えタイミングが到来する度に、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を変更する。
[Decision of correspondence and designation of spare core]
Also in the
また、本実施例の場合、プロセッサコア20#0〜20#7の一部は、複数の機能を順に実行する特定プロセッサコアとして扱われる。この特定プロセッサコアは、他のコアに異常が発生した際に、代替処理が割り当てられる。
In the present embodiment, a part of the
すなわち、マスター制御機能が割り当てられたプロセッサコア20#1は、所定の切り替えタイミングが到来する度に、プロセッサコア20#0〜20#7のうち特定プロセッサコア(ここでは、プロセッサコア20#0が特定プロセッサコアであるものとする)が複数の機能を順に実行し、他のプロセッサコア(以下、非特定プロセッサコアと称する)は、複数の機能のうち自己に割り当てられた特定の機能(以下、自己機能と称する)のみを実行するように制御する。
In other words, the
但し、非特定プロセッサコアのうち特定プロセッサコアに機能が移動したプロセッサコアは、予備コアに指定される。 However, a processor core whose function has been moved to a specific processor core among non-specific processor cores is designated as a reserve core.
これによって、各プロセッサコアに割り当てられる機能、又は予備コアの指定は、以下のように遷移する。なお、初期状態において、プロセッサコア20#0が特定プロセッサコアであり且つ予備コアに指定されているものとする。
As a result, the function assigned to each processor core or the designation of the spare core transitions as follows. In the initial state, it is assumed that the
プロセッサコア20#0(特定) : 予備コア→機能A→機能B→機能C→機能D→機能E→機能F→機能G→予備コア→…
プロセッサコア20#1(非特定) : 機能A→予備コア→機能A→機能A→機能A→機能A→機能A→機能A→機能A→…
プロセッサコア20#2(非特定) : 機能B→機能B→予備コア→機能B→機能B→機能B→機能B→機能B→機能B→…
プロセッサコア20#3(非特定) : 機能C→機能C→機能C→予備コア→機能C→機能C→機能C→機能C→機能C→…
(以下省略)
(Hereafter omitted)
上記の変更ルールは、以下のようにも表現できる。なお、「mod」は、剰余を示している。 The above change rule can also be expressed as follows. “Mod” indicates a remainder.
予備コア指定の変更 : N→(N+1)mod8
機能割り当ての変更 : コア20#0に割り当てられている機能→コア20#N
コア20#(N+1)mod8に割り当てられている機能→コア20#0
Change of spare core designation: N → (N + 1) mod8
Change of function assignment: Function assigned to
Functions assigned to the core 20 # (N + 1) mod8 →
図8は、図2に示す状態において所定の切り替えタイミングが到来した場合における、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を示す図である。
FIG. 8 is a diagram illustrating correspondence between a plurality of functions and
また、図9は、図8に示す状態から所定の切り替えタイミングが4回到来した後における、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を示す図である。
FIG. 9 is a diagram showing the correspondence between a plurality of functions and the
[異常発生時の処理]
このように、機能や予備コアの割り当てが循環的に行われる中で、いずれかのプロセッサコアに異常が発生すると、マスター制御機能が割り当てられているプロセッサコア20#1は、まず異常が発生したプロセッサコアを停止させる。
[Processing when an error occurs]
As described above, when an abnormality occurs in any of the processor cores while the functions and spare cores are cyclically assigned, the
そして、プロセッサコア20#1は、当該異常が発生したプロセッサコアが実行していた機能を、特定プロセッサコアであるプロセッサコア20#0に代替させる。
Then, the
プロセッサコアに異常が発生したかどうかの検知は、第1実施例と同様、既知の手法により行われる。 Whether or not an abnormality has occurred in the processor core is detected by a known method as in the first embodiment.
図10は、図9に示す状態において、プロセッサコア20#3に異常が発生した後における、複数の機能とプロセッサコア20#0〜20#7との対応関係、及び予備コアの指定を示す図である。
FIG. 10 is a diagram showing correspondence between a plurality of functions and
図示するように、プロセッサコア20#3に割り当てられていた機能Fは、特定プロセッサコアであるプロセッサコア20#0に割り当てられる。そして、特定プロセッサコアであるプロセッサコア20#0が実行していた機能は、予備コアであるプロセッサコア20#5に割り当てられる。
As illustrated, the function F assigned to the
なお、いずれかのコアに異常が発生した場合には、ブザーや表示等によってユーザに通知する。その後の制御については、更に予備コアを指定可能な程度にプロセッサコアの個数に余裕があれば、上記のような循環的変更を行ってもよいし、余裕がなければそのままの状態で処理を行うと共に、ユーザに修理・点検を促すコメントを出力してもよい。 If an abnormality occurs in any of the cores, the user is notified by a buzzer, a display, or the like. As for the subsequent control, if there is a surplus in the number of processor cores to the extent that a spare core can be specified, the above cyclic change may be performed. If there is no surplus, the process is performed as it is. At the same time, a comment urging the user to repair / inspect may be output.
[処理フロー]
図11は、第2実施例に係るプロセッサコア20#1により実行されるマスター制御機能の処理の流れを示すフローチャートである。
[Processing flow]
FIG. 11 is a flowchart showing the flow of processing of the master control function executed by the
まず、プロセッサコア20#1は、所定の切り替えタイミングが到来したか否かを判定する(S200)。
First, the
所定の切り替えタイミングが到来した場合は、予備コアに指定されているプロセッサコアのID番号Nを取得する(S202)。そして、プロセッサコア20#Nを、そのプロセッサコアの「自己機能」を実行する状態に戻し(S204)、ID番号Nが最大値(本実施例では7)であるか否かを判定する(S206)。
If the predetermined switching timing has arrived, the ID number N of the processor core designated as the spare core is acquired (S202). Then, the
ID番号Nが最大値でなければ、プロセッサコア20#N+1を予備コアに指定すると共に、プロセッサコア20#N+1が実行していた機能をプロセッサコア20#0に割り当てる(S208)。一方、ID番号Nが最大値であれば、プロセッサコア20#0を予備コアに指定する(S210)。
If the ID number N is not the maximum value, the
続いて、プロセッサコア20#1は、いずれかのプロセッサコアに異常が発生したか否かを判定する(S212)。いずれかのプロセッサコアに異常が発生した場合は、当該プロセッサコアに割り当てられている機能を、プロセッサコア20#0に割り当て(S214)、プロセッサコア20#0に割り当てられていた機能を、予備コアに指定されているプロセッサコアに割り当てる(S216;「自己機能」に戻す)。
Subsequently, the
[まとめ]
以上説明した本実施例のマルチコア・プロセッサ2によれば、第1実施例と同様に、プロセッサコアのいずれかに異常が発生した際に行われる代替処理の信頼性を向上させることができる。
[Summary]
According to the
また、第1実施例に比して、プロセッサコア間の機能の移動を少なくすることができる。特定プロセッサコアでない非特定プロセッサコアは、自己機能を実行するか、予備コアに指定されるかの二択で制御される。この結果、ソフトウエアの負荷を小さくすることができる。 Further, the movement of functions between processor cores can be reduced as compared with the first embodiment. Non-specific processor cores that are not specific processor cores are controlled by two choices of executing a self-function or being designated as a spare core. As a result, the software load can be reduced.
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。 The best mode for carrying out the present invention has been described above with reference to the embodiments. However, the present invention is not limited to these embodiments, and various modifications can be made without departing from the scope of the present invention. And substitutions can be added.
第1、第2実施例共に、マスター制御機能を実行する主体は、以下のように変更することができる。 In both the first and second embodiments, the subject executing the master control function can be changed as follows.
例えば、プロセッサコア20#1に限らず、任意のプロセッサコアがマスター制御機能を実行するものとしてもよい。
For example, not only the
また、図12に示すように、マスター制御機能は、機能A〜機能Fのいずれかに付随して、プロセッサコア間を移動するものとしてもよい。図12は、本発明の他の実施態様を説明するための説明図である。 Further, as shown in FIG. 12, the master control function may be moved between the processor cores in association with any one of the functions A to F. FIG. 12 is an explanatory diagram for explaining another embodiment of the present invention.
また、図13に示すように、マスター制御機能は、いずれのコアにも属しないハードウエア(図では、マスター制御回路50と表記した)により実行されるものとしてもよいし、いずれのコアにも属しない他のCPU等により実行されるものとしてもよい。図13は、本発明の他の実施態様を説明するための説明図である。
Also, as shown in FIG. 13, the master control function may be executed by hardware that does not belong to any core (denoted as the
また、マスター制御機能のみを実行する専用のプロセッサコアを備えてもよい。 Further, a dedicated processor core that executes only the master control function may be provided.
1、2 マルチコア・プロセッサ
10 プログラムメモリ
15 命令フェッチバス
20#0〜20#7 プロセッサコア
30 ワーキングメモリ
35 データバス
40 I/O手段
50 マスター制御回路
1, 2
Claims (7)
前記複数の機能と前記複数のプロセッサコアとの対応関係を決定すると共に、前記複数のプロセッサコアのうち少なくとも一部を、機能を実行しない待機状態とされる予備コアに指定する制御手段と、
を備え、
前記制御手段は、所定の切り替えタイミングが到来する度に、前記予備コアの指定を変更することを特徴とする、
マルチコア・プロセッサ。 Multiple processor cores capable of performing multiple functions;
Control means for determining a correspondence relationship between the plurality of functions and the plurality of processor cores and designating at least a part of the plurality of processor cores as standby cores in a standby state in which the functions are not executed;
With
The control means changes the designation of the spare core every time a predetermined switching timing arrives,
Multi-core processor.
前記制御手段は、前記複数の機能と前記複数のプロセッサコアとの対応関係、及び前記複数のプロセッサコアにおける前記予備コアの指定を、循環的に変更する手段である、
マルチコア・プロセッサ。 The multi-core processor according to claim 1, comprising:
The control means is means for cyclically changing the correspondence relationship between the plurality of functions and the plurality of processor cores, and designation of the spare core in the plurality of processor cores.
Multi-core processor.
前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記予備コアに代替させる手段である、
マルチコア・プロセッサ。 A multi-core processor according to claim 2, comprising:
The control means is means for substituting the spare core for the function that the processor core in which the abnormality occurred when an abnormality occurs in a processor core that is not designated as the spare core.
Multi-core processor.
前記制御手段は、前記複数のプロセッサコアのうち特定プロセッサコアが前記複数の機能を順に実行し、該特定プロセッサコア以外の非特定プロセッサコアが前記複数の機能のうち自己に割り当てられた特定の機能のみを実行するように制御する手段である、
マルチコア・プロセッサ。 The multi-core processor according to claim 1, comprising:
The control unit is configured such that a specific processor core among the plurality of processor cores sequentially executes the plurality of functions, and a non-specific processor core other than the specific processor core is a specific function assigned to itself among the plurality of functions. Is a means to control to execute only,
Multi-core processor.
前記制御手段は、前記所定の切り替えタイミングにおいて前記特定プロセッサコアに機能が移動した非特定プロセッサコアを、前記予備コアに指定する手段である、
マルチコア・プロセッサ。 A multi-core processor according to claim 4,
The control means is means for designating, as the spare core, a non-specific processor core whose function has been moved to the specific processor core at the predetermined switching timing.
Multi-core processor.
前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、該異常が生じたプロセッサコアの実行していた機能を、前記特定プロセッサコアに代替させる手段である、
マルチコア・プロセッサ。 A multi-core processor according to claim 4 or 5,
The control means is means for substituting the specific processor core for the function that the processor core in which the abnormality occurred when an abnormality occurs in a processor core that is not designated as the spare core.
Multi-core processor.
前記制御手段は、前記予備コアに指定されていないプロセッサコアに異常が生じた際には、前記特定プロセッサコアが実行していた機能を、前記予備コアに指定されていた非特定プロセッサコアに割り当てる手段である、
マルチコア・プロセッサ。 The multi-core processor according to claim 6, wherein
The control means assigns a function executed by the specific processor core to a non-specific processor core designated as the spare core when an abnormality occurs in a processor core not designated as the spare core. Means,
Multi-core processor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011090683A JP2012226409A (en) | 2011-04-15 | 2011-04-15 | Multi-core processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011090683A JP2012226409A (en) | 2011-04-15 | 2011-04-15 | Multi-core processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012226409A true JP2012226409A (en) | 2012-11-15 |
Family
ID=47276540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011090683A Withdrawn JP2012226409A (en) | 2011-04-15 | 2011-04-15 | Multi-core processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012226409A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424055A (en) * | 2013-09-04 | 2015-03-18 | 罗伯特·博世有限公司 | Method for multi-core processor of control equipment of emergency operation automobile |
JP2020091508A (en) * | 2018-12-03 | 2020-06-11 | 株式会社Subaru | Independent interlocking redundant system |
-
2011
- 2011-04-15 JP JP2011090683A patent/JP2012226409A/en not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424055A (en) * | 2013-09-04 | 2015-03-18 | 罗伯特·博世有限公司 | Method for multi-core processor of control equipment of emergency operation automobile |
CN104424055B (en) * | 2013-09-04 | 2019-09-20 | 罗伯特·博世有限公司 | The method of the multi-core processor of control equipment for emergency operating motor vehicle |
JP2020091508A (en) * | 2018-12-03 | 2020-06-11 | 株式会社Subaru | Independent interlocking redundant system |
JP7132837B2 (en) | 2018-12-03 | 2022-09-07 | 株式会社Subaru | Independent interlocking redundant system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8875142B2 (en) | Job scheduling on a multiprocessing system based on reliability and performance rankings of processors and weighted effect of detected errors | |
US7200688B2 (en) | System and method asynchronous DMA command completion notification by accessing register via attached processing unit to determine progress of DMA command | |
US20180231605A1 (en) | Configurable Vertical Integration | |
US9465610B2 (en) | Thread scheduling in a system with multiple virtual machines | |
EP2793133B1 (en) | Multi-core processor | |
EP2579164B1 (en) | Multiprocessor system, execution control method, execution control program | |
US9424103B2 (en) | Adaptive lock for a computing system having multiple runtime environments and multiple processing units | |
EP2759927B1 (en) | Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof | |
JP2012226409A (en) | Multi-core processor | |
Bhat et al. | Recovery time considerations in real-time systems employing software fault tolerance | |
JP2017102633A (en) | Information processing device and semiconductor integrated circuit device | |
JP6365387B2 (en) | Electronic control unit | |
JP6243266B2 (en) | Electronic control device and memory diagnostic method | |
EP3495960A1 (en) | Program, apparatus, and method for communicating data between parallel processor cores | |
JP2011150532A (en) | Information processing apparatus | |
JP6717184B2 (en) | In-vehicle control device | |
WO2018235124A1 (en) | Distributed allocation device, distributed allocation system, and distributed allocation method | |
EP2998864B1 (en) | Method, device and system for deciding on a distribution path of a task | |
US20230409403A1 (en) | Control device and control method | |
CN105634969B (en) | A kind of business access method, service control method and device | |
JP2017111662A (en) | Electronic controller | |
JP5977209B2 (en) | State machine circuit | |
JP2012058805A (en) | Arithmetic processing unit and arithmetic processing method | |
US11868822B2 (en) | Managing access to a resource shared by a plurality of applications | |
JP2013178713A (en) | Information processing device, program, and verification method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140701 |