JP5275673B2 - Multi-core system, vehicle gateway device - Google Patents
Multi-core system, vehicle gateway device Download PDFInfo
- Publication number
- JP5275673B2 JP5275673B2 JP2008112967A JP2008112967A JP5275673B2 JP 5275673 B2 JP5275673 B2 JP 5275673B2 JP 2008112967 A JP2008112967 A JP 2008112967A JP 2008112967 A JP2008112967 A JP 2008112967A JP 5275673 B2 JP5275673 B2 JP 5275673B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- cores
- group
- pool
- core group
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 8
- 238000012937 correction Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
Images
Abstract
Description
本発明は、複数のコアを有するマルチコアシステムに関し、特に、コアをゾーンに分割しゾーン毎のコア数を可変としたマルチコアシステムに関する。 The present invention relates to a multi-core system having a plurality of cores, and more particularly to a multi-core system in which a core is divided into zones and the number of cores per zone is variable.
1つのダイに1つのCPUコアを搭載するシングルコアに対し、消費電力やリーク電流の低減、発熱抑制等のために、1つのダイに複数のCPUコアを搭載するマルチコアシステムが知られている。マルチコアシステムは、ジョブに割り当てるCPUコアの数により処理効率が増減するので、実行ジョブに応じて必要な個数のCPUコアを割り当てる技術が提案されている(例えば、特許文献1参照。)。特許文献1には、ジョブクラス定義表に、ジョブクラス毎に同時使用されるCPUコア数を登録しておき、管理プログラムが実行ジョブ毎に所定数のCPUコアを割り当てるマルチコアシステムが記載されている。
しかしながら、特許文献1記載のマルチコアシステムは単に所定数のCPUコア数を割り当てるだけなので、異なる実行ジョブに割り当てられたCPUコアのグループ(以下、ゾーンという)が他のゾーンと同じメモリにアクセスするおそれがある等、ゾーン間のデータ保護が十分でないという問題がある。例えば、マルチコアシステムにファイアウォールサーバの機能を実装し、1チップでファイアウォールのポリシーを動的に変更すると共にフィルタリングの高速化を図ることを考慮した場合、ゾーン間のデータアクセスが容易であるとセキュリティを確保しにくい。 However, since the multi-core system described in Patent Document 1 simply assigns a predetermined number of CPU cores, a group of CPU cores (hereinafter referred to as zones) assigned to different execution jobs may access the same memory as other zones. There is a problem that data protection between zones is not sufficient. For example, if the firewall server function is implemented in a multi-core system, and the firewall policy is dynamically changed with a single chip and the speeding up of filtering is taken into consideration, security is ensured that data access between zones is easy. Hard to secure.
本発明は、上記課題に鑑み、ゾーン毎のCPUコア数を可変なマルチコアプロセッサシステムであって、ゾーン間のデータ保護を向上させたマルチコアシステム及び車両用ゲートウェイ装置を提供することを目的とする。 In view of the above-described problems, an object of the present invention is to provide a multi-core processor system in which the number of CPU cores for each zone is variable, and a multi-core system and a vehicle gateway device that improve data protection between zones.
上記課題に鑑み、本発明は、1以上のコアを有する複数の固定コア群、及び、複数のコアを有するプールコア群、を有するマルチコアシステムにおいて、前記固定コア群はそれぞれ専用メモリと接続され、前記プールコア群は全ての前記専用メモリと接続されており、 前記複数の固定コア群のうちの少なくとも1つ以上の所定固定コア群が実行する複数の処理の1つ以上を割り当てられた前記プールコア群の1以上の割り当てコアは、処理が割り当てられた前記所定固定コア群と接続された専用メモリのみにアクセスして割り当てられた複数の処理の1つ以上を実行し、前記所定固定コア群の1つ以上のコア、及び、前記所定固定コア群以外の固定コア群の1つ以上のコアは、それぞれの前記専用メモリへアクセスして各固定コア群が実行する複数の処理の1つ以上を実行し、前記割り当てコア以外の前記プールコア群の1以上のコアは、前記所定固定コア群が該所定固定コア群と接続された前記専用メモリに記憶したデータを読み出して、前記所定固定コア群以外の固定コア群と接続された前記専用メモリに記憶し、又は、前記所定固定コア群以外の固定コア群が該固定コア群と接続された前記専用メモリに記憶したデータを読み出して、前記所定固定コア群と接続された前記専用メモリ若しくは読み出し元の前記専用メモリとは別の前記専用メモリに記憶する、ことを特徴とする。 In view of the above problems, the present invention provides a multi-core system having a plurality of fixed core groups having one or more cores and a pool core group having a plurality of cores, wherein each of the fixed core groups is connected to a dedicated memory, The pool core group is connected to all the dedicated memories, and the pool core group is assigned with one or more of a plurality of processes executed by at least one predetermined fixed core group of the plurality of fixed core groups. One or more assigned cores execute one or more of a plurality of processes assigned by accessing only a dedicated memory connected to the predetermined fixed core group to which the process is assigned, and one of the predetermined fixed core groups or more cores, and one or more cores of the stationary core groups other than the predetermined fixed core groups, perform each fixed core group access to each of the dedicated memory One or more of the plurality of processes is executed, and one or more cores of the pool core group other than the assigned core read data stored in the dedicated memory in which the predetermined fixed core group is connected to the predetermined fixed core group Stored in the dedicated memory connected to a fixed core group other than the predetermined fixed core group, or a fixed core group other than the predetermined fixed core group stored in the dedicated memory connected to the fixed core group. Data is read out and stored in the dedicated memory connected to the predetermined fixed core group or in the dedicated memory different from the read-out dedicated memory.
本発明によれば、固定コア群では処理負荷が高い場合、プールコア群のコアを利用して処理できるのでマルチコアシステム全体の処理負荷を低減できる。また、固定コア群はそれぞれ専用メモリを有するので、固定コア群の間のセキュリティを確保しやすい。 According to the present invention, when the processing load is high in the fixed core group, processing can be performed using the cores of the pool core group, so that the processing load of the entire multi-core system can be reduced. Moreover, since each fixed core group has a dedicated memory, it is easy to ensure security between the fixed core groups.
また、本発明の一形態において、前記割り当てコア以外の前記プールコア群のコアによりファイアウォールを実現する、ことを特徴とする、ことを特徴とする。 Moreover, in one form of this invention, a firewall is implement | achieved by the core of the said pool core group other than the said allocation core , It is characterized by the above-mentioned.
本発明によれば、プールコア群がファイアウォールの機能を果たすので、固定コア群の間のセキュリティを確保できる。 According to the present invention, the pool core group functions as a firewall, so that security between the fixed core groups can be ensured.
前記割り当てコアの数、又は、前記専用メモリから別の前記専用メモリにデータを書き込む前記割り当てコア以外の前記プールコア群のコアの数は可変である、ことを特徴とする。本発明によれば、固定コア群が利用するコアの数を可変にできるので、データ処理量やハードウェアの変更(追加・削除)があっても、柔軟に対応することができる。 The number of the allocated cores or the number of cores of the pool core group other than the allocated cores that write data from the dedicated memory to another dedicated memory is variable. According to the present invention, since the number of cores used by the fixed core group can be made variable, it is possible to flexibly cope with changes (addition / deletion) of data processing amount and hardware.
前記プールコア群のコアは汎用コアである、ことを特徴とする請求項1〜3いずれか1項記載のマルチコアシステム。本発明によれば、プールコア群で一般的なOSを実行できるので、ソフトウェアの移植性を高めることができる。 The multi-core system according to claim 1, wherein a core of the pool core group is a general-purpose core. According to the present invention, since a general OS can be executed in a pool core group, software portability can be improved.
また、前記割り当てコアの数、又は、前記専用メモリから別の前記専用メモリにデータを書き込む前記割り当てコア以外の前記プールコア群のコアの数は、記憶部に記憶された設定情報により指定される、ことを特徴とする。本発明によれば、外部からコアAの数及びコアBの数を指定することができる。 Further, the number of the assigned cores , or the number of cores of the pool core group other than the assigned core that writes data from the dedicated memory to another dedicated memory is specified by setting information stored in a storage unit. It is characterized by that. According to the present invention, the number of cores A and the number of cores B can be designated from the outside.
前記割り当てコアの数は、前記割り当てコアに処理が割り当てられる前記所定固定コア群の負荷状態に応じて動的に変更される、ことを特徴とする。 The number of allocation cores, the processing to allocate core is dynamically changed according to the load condition of the predetermined fixed core group assigned, it is characterized.
本発明によれば、処理負荷によって必要最低限のコア数を確保できるため、他方の固定コア群から処理依頼が発生した場合でも、先に処理依頼した固定コア群がプールコア群のコアを占有することを防止できる。 According to the present invention, the necessary minimum number of cores can be secured by the processing load, so even when a processing request is generated from the other fixed core group, the fixed core group that has previously requested processing occupies the cores of the pool core group. Can be prevented.
ゾーン毎のCPUコア数を可変なマルチコアプロセッサシステムであって、ゾーン間のデータ保護を向上させたマルチコアシステム及び車両用ゲートウェイ装置を提供することができる。 A multi-core processor system in which the number of CPU cores for each zone is variable, and a multi-core system and a vehicle gateway device that improve data protection between zones can be provided.
以下、本発明を実施するための最良の形態について図面を参照しながら、実施例を挙げて説明する。 Hereinafter, the best mode for carrying out the present invention will be described with reference to the drawings.
図1は、本実施例のマルチコアシステム100の構成図を示す。図1に示すように、本実施形態のマルチコアシステムは複数のコンピューティングゾーンAとBに分割され、コンピューティングゾーンA、Bのコア数を増減できると共に、ルーティングゾーン14を経由してコンピューティングゾーンAとBの間でデータを受け渡すことで、ゾーン間を互いに保護する(以下、コンピューティングゾーンA、コンピューティングゾーンB及びルーティングゾーン14を区別しない場合、単にゾーンという)。
FIG. 1 shows a configuration diagram of a
図1のマルチコアシステム100は、1つのダイ(以下、チップという)内に複数のCPUコア及び複数のキャッシュを有する1チップ型である。マルチコアシステム100は、1以上のCPUコアを有するゾーン固定コア群11A、キャッシュ13A、複数のCPUコアを有するプールゾーンコア群12、1以上のCPUコアを有するゾーン固定コア群11B及びキャッシュ13Bを備える。各CPUコアは演算回路(ALU(Arithmetic Logic Unit))、プログラムカウンタ、内部キャッシュ及びレジスタ等を有する。
1 is a one-chip type having a plurality of CPU cores and a plurality of caches in one die (hereinafter referred to as a chip). The
かかる構成において、マルチコアシステム100は、例えば予め記憶されているコア構成情報16に基づき、プールゾーンコア群12のCPUコアをゾーン固定コア群11A又はゾーン固定コア群11Bのどちらに属するかを設定する(いずれにも割り当てられないCPUコアがあり、割り当てられないCPUコアが特許請求の範囲におけるCPUコアRに相当する。)。これにより、ゾーン固定コア群11AのCPUコアとプールゾーンコア群12のCPUコアが1つのコンピューティングゾーンAを形成し、ゾーン固定コア群11BのCPUコアとプールゾーンコア群12のCPUコアが1つのコンピューティングゾーンBを形成する。コンピューティングゾーンAの各CPUコア、及び、コンピューティングゾーンBの各CPUコアは、協働して一連の処理を実行する。
In such a configuration, the
したがって、例えば所定の一連の処理に割り当てられる1つのゾーンに含まれるCPUコアの数を増減することができる。なお、一連の処理とは、1つのOSや単一の機能を意味するのでなく、1つのOS上の複数の処理、複数のOSを実行した場合のそれぞれのOS上で実行される複数の処理を含む。OS上で仮想マシン(例えば、Java(登録商標) VM)を実行してもよく、この場合、OSに固有の実行環境を仮想マシンが吸収するので汎用コアに要請される汎用性を低くできる。 Therefore, for example, the number of CPU cores included in one zone allocated to a predetermined series of processes can be increased or decreased. Note that a series of processes does not mean one OS or a single function, but a plurality of processes on one OS and a plurality of processes executed on each OS when a plurality of OSs are executed. including. A virtual machine (for example, Java (registered trademark) VM) may be executed on the OS. In this case, since the virtual machine absorbs an execution environment specific to the OS, the versatility required for the general-purpose core can be reduced.
コア構成情報16は、プールゾーンコア群12の不揮発メモリに予め記憶されている。コア構成情報16は例えば起動時の初期状態を定める。これにより、起動時にコンピューティングゾーンA及びBに割り当てるCPUコアの数を定めておくことができる。
The
図2(a)は、コア構成情報16の一例を示す。図2(a)では各CPUコア毎に、コンピューティングゾーンA、コンピューティングゾーンB、又は、ルーティングゾーン14への割り当てが定められている。
FIG. 2A shows an example of the
また、コア構成情報16を外部から送信して記憶可能としてもよい。これにより、CPUコアの割り当てを外部から指定でき、コンピューティングゾーンA及びBに割り当てるCPUコアの数を可変にできる。
The
また、図2(b)では、コンピューティングゾーンA、コンピューティングゾーンB、及び、ルーティングゾーン14に割り当てられる初期状態のCPUコアの個数が定められ、さらに増減の範囲が指定されている。図2(b)のようなコア構成情報16であれば、コンピューティングゾーンAとBに割り当てられる下限及び上限の数を保ちながら、負荷の大きい処理に割り当てられるCPUコアの数を多くすることができる。なお、CPUコアの個数でなくパーセンテージなどの割り当て率で初期状態、下限及び上限のコア構成情報16を定めてもよい。
In FIG. 2B, the number of CPU cores in the initial state assigned to the computing zone A, the computing zone B, and the
また、図2(a)又は図2(b)のように、初期状態のコンピューティングゾーンA及びBに割り当てるCPUコアの数をコア構成情報16に設定することなく、プールゾーンコア群12のルーティングゾーン14に割り当てる最低1個のCPUコア(特許請求の範囲のCPUコアRに相当)以外の全てを未割り当てにしておき、負荷状況に応じてコンピューティングゾーンA、B又はルーティングゾーン14にCPUコアを割り当ててもよい。
Further, as shown in FIG. 2A or FIG. 2B, the routing of the pool
なお、図2(a)(b)ではルーティングゾーン14の割り当ても定めているが、コンピューティングゾーンA、Bのいずれにも割り当てられないCPUコアをルーティングゾーン14に割り当ててもよい。この場合、コア構成情報16の容量を抑制できる。
2A and 2B also define the assignment of the
キャッシュ13Aは固定ゾーンコア群11Aに専用のキャッシュメモリであり、キャッシュ13Bは固定ゾーンコア群11Bに専用のキャッシュメモリである。コンピューティングゾーンAに割り当てられたプールゾーンコア群12のCPUコアは、キャッシュ13Aにのみアクセスすることが可能で、コンピューティングゾーンBに割り当てられたプールゾーンコア群12のCPUコアは、キャッシュ13Bにのみアクセスすることが可能である。したがって、プールゾーンコア群12のCPUコアが属するゾーンを可変にしても、処理の最中にコンピューティングゾーンAからB(又はその逆)に直接、データ通信することはない。
The
また、プールゾーンコア群12のCPUコアは全てのキャッシュ13A及び13Bに接続されている。そして、プールゾーンコア群12はコンピューティングゾーンA又はBのいずれにも割り当てられないCPUコアにより、ルーティングゾーン14を構成する。ルーティングゾーン14のCPUコアはキャッシュ13Aから13B、又は、キャッシュ13Bから13Aへのデータ通信を担い、コンピューティングゾーンAとB間のデータ通信はルーティングゾーン14にのみが実行できる。なお、ルーティングゾーン14のCPUコアの数も可変である。
The CPU cores of the pool
ところで、マルチコアシステム100では、少なくともプールゾーンコア群12のCPUコアは汎用コアで構成される。汎用コアとは例えば一般的なOS(例えば、LINUX(登録商標)、Window(登録商標)、UNIX(登録商標))が稼働することをいい、必ずしも市場シェアや出荷数が多いことを意味しない。ゾーン固定コア群11Aと11BのCPUコアは汎用コアでもよいし、特定の処理に特化された専用コアでもよい。
By the way, in the
また、ゾーン固定コア群11A又は11BのCPUコアは、それぞれが同じアーキテクチャのホモジニアスでもよいし、異なるアーキテクチャを用いたヘテロジニアスでもよい。プールゾーンコア群12は全てが汎用コアのホモジニアスとなる。
The CPU cores of the zone-fixed
かかる構成により、ゾーン間のデータ通信では必ずプールゾーンコア群12を経由するので、ゾーン間のセキュリティを向上させることができる。コンピューティングゾーンA又はBのCPUコア数を増加できるので、負荷の変動に柔軟に対応することができる。ルーティングゾーン14に割り当てるCPUコアの数を増加させることができるので、ゾーン間のデータ通信の品質を向上できる。また、プールゾーンコア群12のCPUコアは、一般的なOSを動作させることができるので一般的なサーバのソフトウェア(例えば、ファイアウォール)を容易に移植することができる。
With such a configuration, since data communication between zones always passes through the pool
〔車両への適用例〕
マルチコアシステム100の車両への適用例について説明する。図3(a)は、マルチコアシステム100を有する車両用システム200の概略図を示す。図2の車両用システム200はマルチコアシステム100により制御され、マルチコアシステム100はプリント基板110に、I/O27A、27B、外部メモリ15A、15Bと共に固定されている。I/O27Aは、CAN(controller area network)や専用線を介して通信装置21と接続され、I/O27Bは同様に車載装置22と接続されている。
[Example of application to vehicles]
An application example of the
通信装置21は、例えば携帯電話の基地局や無線LANのアクセスポイントに接続して所定のサーバとの通信して交通情報や地図データ等の情報を受信する。路車間通信や車車間通信してもよい。例えば、携帯電話の基地局と通信する場合、通信装置21は、例えば800MHz帯の無線電波を受信し、増幅、フィルタ処理、歪み補正等を行いベースバンド信号を取り出し、QPSK等に従い復調したあと、エラー訂正、プロトコル処理を行うことで情報を受信する。また、情報の送信時には、情報にプロトコル処理、誤り訂正処理、ベースバンド信号の生成処理、搬送波とのミキシング等を施し、この変調波をアンプで増幅してアンテナから送信する。
The
車載装置22は、例えばエンジンやブレーキ等の制御系、メータ表示やドアのロック等のボディ系、ナビゲーション装置等の車載装置であり、マルチコアシステム100により制御されるか又はマルチコアシステム100が受信した情報を利用した制御を実行する。すなわち、車載装置22はモータなど被制御装置及びECU(Electronic Control Unit)などの制御装置を含む。
The in-
車両用システム200の動作手順を図4のフローチャート図に基づき説明する。図4の動作手順では、プールゾーンコア群12のCPUコアの割り当てを動的に切り替える態様とした。
The operation procedure of the vehicle system 200 will be described with reference to the flowchart of FIG. In the operation procedure of FIG. 4, the CPU core assignment of the pool
例えば、イグニッションオンによりマルチコアシステム100が起動すると、プールゾーンコア群12の各CPUコアはコア構成情報16を読み出し、コンピューティングゾーンA、コンピューティングゾーンB及びルーティングゾーン14のいずれに属するかを決定する(S10)。
For example, when the
ゾーンが決定したら、コンピューティングゾーンA、コンピューティングゾーンB及びルーティングゾーン14にそれぞれ定められた処理を実行するため、外部メモリ15A又は15Bに記憶されたプログラムを読み出す(S20)。本実施形態では、コンピューティングゾーンAはサーバとの情報送受信部23を実現し、コンピューティングゾーンBは車載装置22を制御する制御部25を実現し、ルーティングゾーン14はゲートウェイ26及びリソース分配部24を実現する。
When the zone is determined, the program stored in the
図3(b)は車両用システム200の機能ブロック図を示す。起動後は、各機能ブロックが次述する処理をそれぞれ実行する(S30)。機能ブロックの処理について説明する。 FIG. 3B shows a functional block diagram of the vehicle system 200. After activation, each functional block executes the following processing (S30). The functional block processing will be described.
情報送受信部23は、例えば、通信装置21が基地局と通信可能な状態か否かを判定し、可能であればサーバから交通情報や道路地図の更新情報等のデータを受信する。
The information transmitting / receiving
ゲートウェイ26は、主にデータのフォーマット変換やフィルタリングを行いサーバと車載装置22で送受信されるデータ構成や伝送速度の相違を吸収する(以下、中継処理という)。例えば、サーバから送信されるデータにCAN用のヘッダやエラー訂正符号を付し、所定のデータフレームを生成するフォーマット変換を施す。また、サーバから送信されるデータを全ての車載装置22が必要とするわけでないので、予め定められたフィルタリングルールに則って所定の車載装置22を指定する送信先情報をヘッダに含める。逆に、車両からサーバに情報を送信する場合、CAN用のデータフレームからヘッダやエラー訂正符号等を削除しデータのみを取り出す。
The
ゲートウェイ26は中継処理を施したデータを中継する場合、情報送受信部23からデータが記憶されたキャッシュ13Aのアドレスを取得し、キャッシュ13Aから読み出したデータをキャッシュ13Bに記憶する。制御部25はキャッシュ13Bのデータを読み出し、データに基づき車載装置22を制御する。例えば、データが前方の見通しの悪いカーブの渋滞を知らせる情報であれば、ブレーキECUによる制動やメータランプの点灯等により運転者に注意喚起する。
When the
また、車両がプローブカーとして自車両の車速及び位置情報をサーバに送信する場合、制御部25は車載装置22から所定のサイクル時間毎に車速と位置情報を取得し、ゲートウェイ26に中継要求する。ゲートウェイ26は制御部25からデータが記憶されたキャッシュ13Bのアドレスを取得し、キャッシュ13Bから読み出したデータをキャッシュ13Aに記憶し、情報送受信部23にサーバへの送信を要求する。
When the vehicle transmits the vehicle speed and position information of the host vehicle as a probe car to the server, the
このように、コンピューティングゾーンAとBは共有メモリを介して通信するので、高速なデータ通信が可能である。 Thus, since the computing zones A and B communicate via the shared memory, high-speed data communication is possible.
また、リソース分配部24は、コンピューティングゾーンA及びBの負荷状態を監視し、プールゾーンコア群12のリソースをコンピューティングゾーンA及びBに分配する(S40)。なお、リソース分配部24はゲートウェイ26と同じCPUコアが実行するプログラムにより実現できるので、ルーティングゾーン14のCPUコアは1つであってもよい。
Further, the resource distribution unit 24 monitors the load states of the computing zones A and B, and distributes the resources of the pool
リソース分配部24は、コンピューティングゾーンAの各CPUコアのCPU負荷率の例えば平均、コンピューティングゾーンBの各CPUコアのCPU負荷率の例えば平均、を所定時間毎に算出し、プールゾーンコア群12のCPUコアをコンピューティングゾーンA又はBに分配する。 The resource distribution unit 24 calculates, for example, the average of the CPU load rates of the CPU cores of the computing zone A and the average of the CPU load rates of the CPU cores of the computing zone B every predetermined time, and the pool zone core group Twelve CPU cores are distributed to computing zone A or B.
・コンピューティングゾーンAのCPU負荷率>>コンピューティングゾーンBのCPU負荷率の場合
プールゾーンコア群12に未割り当てのCPUコアがある場合、リソース分配部24は未割り当てのCPUコアをコンピューティングゾーンAに割り当てる。プールゾーンコア群12に未割り当てのCPUコアがない場合、リソース分配部24はコンピューティングゾーンBのCPUコアをコンピューティングゾーンAに割り当てる。
CPU load factor of computing zone A >> CPU load factor of computing zone B When there are unassigned CPU cores in the pool
・コンピューティングゾーンBのCPU負荷率>>コンピューティングゾーンAのCPU負荷率の場合
プールゾーンコア群12に未割り当てのCPUコアがある場合、リソース分配部24は未割り当てのCPUコアをコンピューティングゾーンBに割り当てる。プールゾーンコア群12に未割り当てのCPUコアがない場合、リソース分配部24はコンピューティングゾーンAのCPUコアをコンピューティングゾーンBに割り当てる。
-CPU load factor of computing zone B >> CPU load factor of computing zone A When there are unassigned CPU cores in the pool
なお、リソース分配部24がCPUコアの割り当てを判定するのでなく、コンピューティングゾーンA又はBからのリクエストに応じて、プールゾーンコア群12のCPUコアを分配してもよい。この場合、リソース分配部24は未割り当てのCPUコアから優先的にリクエストのあったコンピューティングゾーンA又はBに割り当て、未割り当てのCPUコアがない場合、リクエストのない他方のコンピューティングゾーンの許可を受け、リクエストのあったコンピューティングゾーンにCPUコアを割り当てる。
Note that the resource distribution unit 24 may distribute the CPU cores of the pool
以上のように、マルチコアシステム100はプールゾーンコア群12のCPUコアの割り当てを動的に切り替えながら、プログラムを実行する。プールコア群12のCPUコアは汎用コアであるため種々のプログラムを実行できるので、プログラムの処理負荷に応じてコンピューティングゾーンA及びBに割り当てるCPUコアの数を柔軟に増減することができる。
As described above, the
〔変形例〕
図3(b)では、ルーティングゾーン14でゲートウェイ26を実現したが、ゲートウェイ26でなく又はゲートウェイ26と共にファイアウォールを実現してもよい。プールゾーンコア群12のCPUコアは汎用コアなので一般的なOSや仮想マシンで稼働するファイアウォール用のプログラムを実行でき移植性が高く、組み込みソフトに適用する上のコスト増を抑制できる。ファイアウォールは、内部から外部のサーバへのアクセスは許可するが、外部からのアクセスは、例えばIPパケットのヘッダ情報(アドレス、ポート番号など)に基づき制限する。ルーティングゾーン14のファイアウォールは、この制限の態様を決定するファイアウォールのポリシーを動的に変更することができる。また、キャッシュ13A、13Bに連想メモリを実装することで、1チップで高速なファイアウォールを実現できる。
[Modification]
In FIG. 3B, the
また、本実施例ではコンピューティングゾーンA、Bの2つとしたが、コンピューティングゾーンは3以上でもよい。図5は3つのコンピューティングゾーンA,B、Cを有するマルチコアシステム100の構成図を示す。なお、図5において図1と同一部分には同一の符号を付しその説明は省略する。
In this embodiment, the computing zones A and B are two, but the number of computing zones may be three or more. FIG. 5 shows a block diagram of a
図5では、3つめのゾーン固定コア群11C及びこれと一対の3つめのキャッシュ13Cを有する。キャッシュ13A〜13Cはそれぞれ独立しており、プールゾーンコア群12はキャッシュ13A〜13Cと接続されているので、上記の実施例と同様にゾーン間のデータ通信を保護することができる。コンピューティングゾーンが4以上でも同様に構成できる。
In FIG. 5, a third zone-fixed core group 11C and a pair of
以上説明したように、マルチコアシステム100は、ゾーン間のデータ通信を必ずプールゾーンコア群12を経由するので、ゾーン間のセキュリティを向上させることができる。ゾーン間のデータ通信は、共有メモリ経由なので高速である。
As described above, since the
プールゾーンコア群12のCPUコアの数の範囲内で、コンピューティングゾーンA又はBのCPUコア数を増加できるので、負荷の変動に柔軟に対応することができる。負荷が小さい場合は、いずれのコンピューティングゾーンA又はBにもプールゾーンコア群12のCPUコアを割り当てないことで消費電力を低減できる。
Since the number of CPU cores in the computing zone A or B can be increased within the range of the number of CPU cores in the pool
また、コンピューティングゾーンA又はBに割り当てないCPUコアの数を増大させることで、ルーティングゾーン14に割り当てるCPUコア数を増加させることができるので、ゾーン間のデータ通信の品質(速度、中継処理、ファイアウォール処理等)を向上できる。
Further, since the number of CPU cores assigned to the
また、プールゾーンコア群12のCPUコアは、一般的なOSを動作させることができるのでソフトウェアの移植性が高い。
In addition, since the CPU core of the pool
実施例1ではマルチコアシステム100を1つの半導体パッケージに封止する1チップ構成としたが、マルチコアシステム100を複数の半導体パッケージに封止して、SOC(System On a Chip)又は基板上で実現してもよい。
In the first embodiment, the
図6(a)はSOCのマルチコアシステム100の斜視図を、図6(b)は基板上に構成されたマルチコアシステム100の斜視図をそれぞれ示す。図1と同一部分には同一の符号を付した。図6(a)又は(b)のようにマルチコアシステム100を1チップ構成にしなければ、チップの数を増やせばCPUコアの数を多くすることができるので、回路の集積密度に頼らなくても本実施形態のマルチコアシステム100を実現しやすくできる。
FIG. 6A is a perspective view of the SOC
図7は、本実施例のマルチコアシステム100の構成図を示す。図7において図1と同一部分には同一の符号を付しその説明は省略する。図7のマルチコアシステム100は、ゾーン固定コア群11A、ゾーン固定コア群11B、プールゾーンコア群12、外部メモリ15A、外部メモリ15Bが別体のチップに構成される。各チップ間は、SOCではボンディングワイヤ又はフリップチップ等で接続され、基板上ではプリント配線により接続される。
FIG. 7 shows a configuration diagram of the
本実施例では、プールゾーンコア群12が外部メモリ15A及び外部メモリ15Bと接続されているので、外部メモリ15A及び15Bを経由してコンピューティングゾーンAとBの間でデータ通信される。実施例1では外部メモリ15A及び15Bでなくキャッシュメモリであったが、これはチップの外のメモリをキャッシュと称さない慣例に従ったもので、外部メモリ15A、15Bの機能は実施例1のキャッシュ13A、13Bと同じである。したがって、外部メモリ15A、15BはDRAM、FeRAM(Ferroelectric Random Access Memory),MRAM(Magnetoresistive Random Access Memory)等、アクセス速度の速いメモリであることが好ましい。なお、各CPUコアはキャッシュメモリを備える。
In this embodiment, since the pool
また、本実施例では、ゾーン固定コア群11A、11B及びプールゾーンコア群12のCPUコアは全て汎用コアである。これにより、コンピューティングゾーンA及びBの構成が容易になる。
In this embodiment, the CPU cores of the zone fixed
その他の構成は実施例1と同様である。すなわち、
・ゾーン固定コア群11AのCPUコアとプールゾーンコア群12のCPUコアが1つのコンピューティングゾーンAを形成し、ゾーン固定コア群11BのCPUコアとプールゾーンコア群12のCPUコアが1つのコンピューティングゾーンBを形成する。
・コア構成情報16に基づき、プールゾーンコア群12のCPUコアはゾーン固定コア群11A又はゾーン固定コア群11Bのどちらに属するかを決定する。
・各コンピューティングゾーンは専用の外部メモリを有する。
・プールゾーンコア群12のCPUコアは全ての外部メモリ15A、15Bを共有可能である。
・プールゾーンコア群12は、コンピューティングゾーンA及びBのいずれにも未割り当てのCPUコアを有し、ルーティングゾーン14を形成する。
Other configurations are the same as those of the first embodiment. That is,
The CPU core of the zone fixed
Based on the
Each computing zone has its own external memory.
The CPU core of the pool
The pool
かかる構成により以下の効果を奏する。
・ゾーン間のデータ通信を必ずプールゾーンコア群12を経由するので、ゾーン間のセキュリティを向上させることができる。
・ゾーン間のデータ通信は、外部メモリ15A、15B経由なので高速である。
・また、コンピューティングゾーンA又はBに割り当てられないCPUコアの数を増大させることで、ルーティングゾーン14に割り当てるCPUコア数を増加させることができるので、ゾーン間のデータ通信の品質(速度、中継処理、ファイアウォール処理等)を向上できる。
・また、プールゾーンコア群12のCPUコアは、サーバで実行する一般的なOSを動作させることができるので、ソフトウェアの移植性が高い。
・プールゾーンコア群12のCPUコアの数の範囲内で、コンピューティングゾーンA又はBのCPUコア数を増加できるので、負荷の変動に柔軟に対応することができる。
Such a configuration provides the following effects.
Since data communication between zones always passes through the pool
-Data communication between zones is fast because it passes through the
In addition, since the number of CPU cores assigned to the
In addition, since the CPU core of the pool
Since the number of CPU cores in the computing zone A or B can be increased within the range of the number of CPU cores in the pool
11A〜C ゾーン固定コア群
12 プールゾーンコア群
13A〜C キャッシュ
14 ルーティングゾーン
15A、B 外部メモリ
16 コア構成情報
100 マルチコアシステム
11A to C Zone fixed
Claims (9)
前記固定コア群はそれぞれ専用メモリと接続され、前記プールコア群は全ての前記専用メモリと接続されており、
前記複数の固定コア群のうちの少なくとも1つ以上の所定固定コア群が実行する複数の処理の1つ以上を割り当てられた前記プールコア群の1以上の割り当てコアは、処理が割り当てられた前記所定固定コア群と接続された専用メモリのみにアクセスして割り当てられた処理を実行し、
前記所定固定コア群の1つ以上のコア、及び、前記所定固定コア群以外の固定コア群の1つ以上のコアは、それぞれの前記専用メモリへアクセスして各固定コア群が実行する複数の処理の1つ以上を実行し、
前記割り当てコア以外の前記プールコア群の1以上のコアは、前記所定固定コア群が該所定固定コア群と接続された前記専用メモリに記憶したデータを読み出して、前記所定固定コア群以外の固定コア群と接続された前記専用メモリに記憶し、又は、前記所定固定コア群以外の固定コア群が該固定コア群と接続された前記専用メモリに記憶したデータを読み出して、前記所定固定コア群と接続された前記専用メモリ若しくは読み出し元の前記専用メモリとは別の前記専用メモリに記憶する、
ことを特徴とするマルチコアシステム。 In a multi-core system having a plurality of fixed core groups having one or more cores and a pool core group having a plurality of cores,
The fixed core groups are each connected to a dedicated memory, and the pool core group is connected to all the dedicated memories,
One or more assigned cores of the pool core group to which one or more of a plurality of processes executed by at least one or more predetermined fixed core groups of the plurality of fixed core groups are assigned are the predetermined to which a process is assigned. Access only the dedicated memory connected to the fixed core group and execute the assigned process.
It said predetermined fixed core groups of one or more cores, and one or more cores of the stationary core groups other than the predetermined fixed core groups, a plurality of the fixed core groups to access and run to each of the dedicated memory Perform one or more of the processes,
One or more cores of the pool core group other than the allocated cores read out data stored in the dedicated memory connected to the predetermined fixed core group by the predetermined fixed core group, and fixed cores other than the predetermined fixed core group Stored in the dedicated memory connected to the group, or a fixed core group other than the predetermined fixed core group reads data stored in the dedicated memory connected to the fixed core group, and the predetermined fixed core group Store in the dedicated memory different from the connected dedicated memory or the read-out dedicated memory,
Multi-core system characterized by that.
該マルチコアシステムが、車載装置と外部との情報の送受信を中継する中継処理部を実現する、ことを特徴とする車両用ゲートウェイ装置。
A multi-core system according to any one of claims 1 to 8,
The vehicular gateway device, wherein the multi-core system realizes a relay processing unit that relays transmission / reception of information between the in-vehicle device and the outside.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008112967A JP5275673B2 (en) | 2008-04-23 | 2008-04-23 | Multi-core system, vehicle gateway device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008112967A JP5275673B2 (en) | 2008-04-23 | 2008-04-23 | Multi-core system, vehicle gateway device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009265843A JP2009265843A (en) | 2009-11-12 |
JP5275673B2 true JP5275673B2 (en) | 2013-08-28 |
Family
ID=41391640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008112967A Expired - Fee Related JP5275673B2 (en) | 2008-04-23 | 2008-04-23 | Multi-core system, vehicle gateway device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5275673B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170075835A1 (en) * | 2014-03-20 | 2017-03-16 | Audi Ag | Control device in a motor vehicle, a motor vehicle, and a method for operating a control device |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5749812B2 (en) * | 2010-12-21 | 2015-07-15 | トムソン ライセンシングThomson Licensing | DNS proxy service for multi-core platforms |
EP2656590B1 (en) * | 2010-12-21 | 2014-11-12 | Thomson Licensing | DNS forwarder for multi-core platforms |
JP2012150700A (en) * | 2011-01-20 | 2012-08-09 | Ricoh Co Ltd | Image forming device and processor controlling method |
EP2500838A1 (en) * | 2011-03-16 | 2012-09-19 | Samsung SDS Co. Ltd. | SOC-based device for packet filtering and packet filtering method thereof |
US9442780B2 (en) * | 2011-07-19 | 2016-09-13 | Qualcomm Incorporated | Synchronization of shader operation |
JP6248855B2 (en) * | 2014-08-01 | 2017-12-20 | 京セラドキュメントソリューションズ株式会社 | Electronic device and information processing program |
JP2016124455A (en) * | 2015-01-06 | 2016-07-11 | 株式会社オートネットワーク技術研究所 | On-vehicle relay device and relay method |
JP6253865B2 (en) | 2015-12-04 | 2017-12-27 | 三菱電機株式会社 | Transfer control device, vehicle, and transfer control method |
KR102059781B1 (en) * | 2016-10-21 | 2019-12-26 | 어펌드 네트웍스, 인크. | Adaptive content optimization |
JP7006451B2 (en) * | 2018-03-30 | 2022-01-24 | 株式会社デンソー | Electronic control device and multi-core allocation method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2687716B2 (en) * | 1990-11-13 | 1997-12-08 | 日本電気株式会社 | Information processing device |
US6754776B2 (en) * | 2001-05-17 | 2004-06-22 | Fujitsu Limited | Method and system for logical partitioning of cache memory structures in a partitoned computer system |
JP2003030042A (en) * | 2001-07-11 | 2003-01-31 | Fujitsu Ten Ltd | Microcomputer with cores |
JPWO2003103233A1 (en) * | 2002-05-31 | 2005-10-06 | 富士通株式会社 | Packet relay device, network connection device, packet relay method, recording medium, program |
-
2008
- 2008-04-23 JP JP2008112967A patent/JP5275673B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170075835A1 (en) * | 2014-03-20 | 2017-03-16 | Audi Ag | Control device in a motor vehicle, a motor vehicle, and a method for operating a control device |
US9852093B2 (en) * | 2014-03-20 | 2017-12-26 | Audi Ag | Control device in a motor vehicle, a motor vehicle, and a method for operating a control device |
Also Published As
Publication number | Publication date |
---|---|
JP2009265843A (en) | 2009-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5275673B2 (en) | Multi-core system, vehicle gateway device | |
US20220166846A1 (en) | Technologies for managing sensor and telemetry data on an edge networking platform | |
US11025544B2 (en) | Network interface for data transport in heterogeneous computing environments | |
CN109976925B (en) | Method and system based on mixed multi-system inter-core real-time communication | |
US20220210073A1 (en) | Technologies for network device load balancers for accelerated functions as a service | |
US8112611B2 (en) | Allocating resources to partitions in a partitionable computer | |
CN112583583A (en) | Dynamic sharing in a secure memory environment using edge service sidecars | |
US10949235B2 (en) | Network semantics integrated into central processing unit (CPU) chipset | |
US11265235B2 (en) | Technologies for capturing processing resource metrics as a function of time | |
CN111936973A (en) | Techniques for providing efficient migration of services at cloud edge | |
US11617227B2 (en) | Technologies for providing hardware resources as a service with direct resource addressability | |
US11048535B2 (en) | Method and apparatus for transmitting data packet based on virtual machine | |
US11606417B2 (en) | Technologies for matching security requirements of function-as-a-service in edge clouds | |
US10635322B2 (en) | Storage device, computing device including the same, and operation method of the computing device | |
WO2022251998A1 (en) | Communication method and system supporting multiple protocol stacks | |
CN115766044A (en) | Communication method based on user mode protocol stack and corresponding device | |
CN111666579A (en) | Computer device, access control method thereof, and computer-readable medium | |
JP7049810B2 (en) | How computing devices work, including storage devices, modems, switches, and application processors. | |
JP2007099161A (en) | In-vehicle electronic control system | |
CN117631958A (en) | Storage space expansion method, device and system of DPU | |
JP2022182291A (en) | Information processing device, method for controlling information processing device, and control program of information processing device | |
CN115996370A (en) | Data transmission method, device, apparatus, storage medium, and program | |
JPH10133893A (en) | Computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120612 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120809 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130411 |
|
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: 20130430 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130516 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5275673 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |