JP5275673B2 - Multi-core system, vehicle gateway device - Google Patents

Multi-core system, vehicle gateway device Download PDF

Info

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
Application number
JP2008112967A
Other languages
Japanese (ja)
Other versions
JP2009265843A (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.)
NEC Corp
Toyota Motor Corp
Original Assignee
NEC Corp
Toyota Motor 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 NEC Corp, Toyota Motor Corp filed Critical NEC Corp
Priority to JP2008112967A priority Critical patent/JP5275673B2/en
Publication of JP2009265843A publication Critical patent/JP2009265843A/en
Application granted granted Critical
Publication of JP5275673B2 publication Critical patent/JP5275673B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a multi-core system and a gateway device for a vehicle for protecting data between zones in a multi-core system for varying the number of CPU cores in each zone. <P>SOLUTION: In this multi-core system 100 having a plurality of fixed core groups 11A and 11B having one or more cores and a pool core group 12 having a plurality of cores, the fixed core groups 11A and 11B are respectively connected to exclusive memories 13A and 13B, and the pool core group 12 is connected to all the exclusive memories 13A and 13B, and the core A which is equal to or more than 0 of the pool core group 12 is made to cooperate with the fixed core group 11A, and the core B which is equal to or more than 0 of the pool core group which is different from the core A is made to cooperate with the fixed core group 11B, and the core R which is equal to or more than 1 of the pool core group which is different from the core A and the core B relays the fixed core group A and the fixed core group B. <P>COPYRIGHT: (C)2010,JPO&amp;INPIT

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コアを割り当てるマルチコアシステムが記載されている。
特許第3541212号公報
A multi-core system in which a plurality of CPU cores are mounted on one die is known for reducing power consumption, leakage current, suppressing heat generation, and the like for a single core mounting one CPU core on one die. Since the processing efficiency of the multi-core system increases or decreases depending on the number of CPU cores assigned to a job, a technique for assigning a necessary number of CPU cores according to an execution job has been proposed (for example, see Patent Document 1). Patent Document 1 describes a multi-core system in which the number of CPU cores used simultaneously for each job class is registered in the job class definition table, and the management program allocates a predetermined number of CPU cores for each execution job. .
Japanese Patent No. 3541212

しかしながら、特許文献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 multi-core system 100 of the present embodiment. As shown in FIG. 1, the multi-core system according to the present embodiment is divided into a plurality of computing zones A and B, and the number of cores in the computing zones A and B can be increased or decreased. By passing data between A and B, the zones are protected from each other (hereinafter simply referred to as zones when computing zone A, computing zone B, and routing zone 14 are not distinguished).

図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 multi-core system 100 includes a zone fixed core group 11A having one or more CPU cores, a cache 13A, a pool zone core group 12 having a plurality of CPU cores, a zone fixed core group 11B having one or more CPU cores, and a cache 13B. . Each CPU core includes an arithmetic circuit (ALU (Arithmetic Logic Unit)), a program counter, an internal cache, a register, and the like.

かかる構成において、マルチコアシステム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 multi-core system 100 sets whether the CPU core of the pool zone core group 12 belongs to the zone fixed core group 11A or the zone fixed core group 11B based on the core configuration information 16 stored in advance, for example. (There is a CPU core that is not assigned to any of them, and the CPU core that is not assigned corresponds to the CPU core R in the claims). Thereby, the CPU core of the zone fixed core group 11A and the CPU core of the pool zone core group 12 form one computing zone A, and the CPU core of the zone fixed core group 11B and the CPU core of the pool zone core group 12 are one. One computing zone B is formed. Each CPU core in the computing zone A and each CPU core in the computing zone B cooperate to execute a series of processes.

したがって、例えば所定の一連の処理に割り当てられる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 core configuration information 16 is stored in advance in the nonvolatile memory of the pool zone core group 12. The core configuration information 16 defines an initial state at the time of startup, for example. Thereby, the number of CPU cores assigned to the computing zones A and B at the time of activation can be determined.

図2(a)は、コア構成情報16の一例を示す。図2(a)では各CPUコア毎に、コンピューティングゾーンA、コンピューティングゾーンB、又は、ルーティングゾーン14への割り当てが定められている。   FIG. 2A shows an example of the core configuration information 16. In FIG. 2A, allocation to the computing zone A, the computing zone B, or the routing zone 14 is determined for each CPU core.

また、コア構成情報16を外部から送信して記憶可能としてもよい。これにより、CPUコアの割り当てを外部から指定でき、コンピューティングゾーンA及びBに割り当てるCPUコアの数を可変にできる。   The core configuration information 16 may be transmitted from the outside and stored. Thereby, assignment of CPU cores can be designated from the outside, and the number of CPU cores assigned to the computing zones A and B can be made variable.

また、図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 routing zone 14 is determined, and the range of increase / decrease is specified. With the core configuration information 16 as shown in FIG. 2B, it is possible to increase the number of CPU cores allocated to processing with a heavy load while maintaining the lower and upper limits allocated to the computing zones A and B. it can. The initial state, lower limit, and upper limit core configuration information 16 may be determined by an allocation rate such as a percentage instead of the number of CPU cores.

また、図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 zone core group 12 is performed without setting the number of CPU cores assigned to the computing zones A and B in the initial state in the core configuration information 16. All except for at least one CPU core (corresponding to the CPU core R in the claims) assigned to the zone 14 is left unassigned, and the CPU core is assigned to the computing zone A, B or the routing zone 14 depending on the load situation. May be assigned.

なお、図2(a)(b)ではルーティングゾーン14の割り当ても定めているが、コンピューティングゾーンA、Bのいずれにも割り当てられないCPUコアをルーティングゾーン14に割り当ててもよい。この場合、コア構成情報16の容量を抑制できる。   2A and 2B also define the assignment of the routing zone 14, but a CPU core that is not assigned to any of the computing zones A and B may be assigned to the routing zone 14. In this case, the capacity of the core configuration information 16 can be suppressed.

キャッシュ13Aは固定ゾーンコア群11Aに専用のキャッシュメモリであり、キャッシュ13Bは固定ゾーンコア群11Bに専用のキャッシュメモリである。コンピューティングゾーンAに割り当てられたプールゾーンコア群12のCPUコアは、キャッシュ13Aにのみアクセスすることが可能で、コンピューティングゾーンBに割り当てられたプールゾーンコア群12のCPUコアは、キャッシュ13Bにのみアクセスすることが可能である。したがって、プールゾーンコア群12のCPUコアが属するゾーンを可変にしても、処理の最中にコンピューティングゾーンAからB(又はその逆)に直接、データ通信することはない。   The cache 13A is a cache memory dedicated to the fixed zone core group 11A, and the cache 13B is a cache memory dedicated to the fixed zone core group 11B. The CPU core of the pool zone core group 12 assigned to the computing zone A can access only the cache 13A, and the CPU core of the pool zone core group 12 assigned to the computing zone B can access the cache 13B. Is only accessible. Therefore, even if the zone to which the CPU core of the pool zone core group 12 belongs is variable, data communication is not performed directly from the computing zone A to B (or vice versa) during processing.

また、プールゾーンコア群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 zone core group 12 are connected to all the caches 13A and 13B. The pool zone core group 12 constitutes a routing zone 14 by CPU cores that are not assigned to either the computing zone A or B. The CPU core of the routing zone 14 is responsible for data communication from the caches 13A to 13B or from the caches 13B to 13A, and data communication between the computing zones A and B can be executed only by the routing zone 14. Note that the number of CPU cores in the routing zone 14 is also variable.

ところで、マルチコアシステム100では、少なくともプールゾーンコア群12のCPUコアは汎用コアで構成される。汎用コアとは例えば一般的なOS(例えば、LINUX(登録商標)、Window(登録商標)、UNIX(登録商標))が稼働することをいい、必ずしも市場シェアや出荷数が多いことを意味しない。ゾーン固定コア群11Aと11BのCPUコアは汎用コアでもよいし、特定の処理に特化された専用コアでもよい。   By the way, in the multi-core system 100, at least the CPU cores of the pool zone core group 12 are composed of general-purpose cores. For example, the general-purpose core means that a general OS (for example, LINUX (registered trademark), Window (registered trademark), UNIX (registered trademark)) operates, and does not necessarily mean that the market share or the number of shipments is large. The CPU cores of the zone-fixed core groups 11A and 11B may be general-purpose cores or dedicated cores specialized for specific processing.

また、ゾーン固定コア群11A又は11BのCPUコアは、それぞれが同じアーキテクチャのホモジニアスでもよいし、異なるアーキテクチャを用いたヘテロジニアスでもよい。プールゾーンコア群12は全てが汎用コアのホモジニアスとなる。   The CPU cores of the zone-fixed core group 11A or 11B may be homogeneous with the same architecture or heterogeneous with different architectures. All of the pool zone core groups 12 are homogeneous cores.

かかる構成により、ゾーン間のデータ通信では必ずプールゾーンコア群12を経由するので、ゾーン間のセキュリティを向上させることができる。コンピューティングゾーンA又はBのCPUコア数を増加できるので、負荷の変動に柔軟に対応することができる。ルーティングゾーン14に割り当てるCPUコアの数を増加させることができるので、ゾーン間のデータ通信の品質を向上できる。また、プールゾーンコア群12のCPUコアは、一般的なOSを動作させることができるので一般的なサーバのソフトウェア(例えば、ファイアウォール)を容易に移植することができる。   With such a configuration, since data communication between zones always passes through the pool zone core group 12, security between zones can be improved. Since the number of CPU cores in the computing zone A or B can be increased, it is possible to flexibly cope with load fluctuations. Since the number of CPU cores allocated to the routing zone 14 can be increased, the quality of data communication between the zones can be improved. In addition, since the CPU core of the pool zone core group 12 can operate a general OS, general server software (for example, a firewall) can be easily ported.

〔車両への適用例〕
マルチコアシステム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 multi-core system 100 to a vehicle will be described. FIG. 3A shows a schematic diagram of a vehicle system 200 having the multi-core system 100. The vehicle system 200 in FIG. 2 is controlled by a multi-core system 100, and the multi-core system 100 is fixed to a printed circuit board 110 together with I / Os 27A and 27B and external memories 15A and 15B. The I / O 27A is connected to the communication device 21 via a CAN (controller area network) or a dedicated line, and the I / O 27B is similarly connected to the in-vehicle device 22.

通信装置21は、例えば携帯電話の基地局や無線LANのアクセスポイントに接続して所定のサーバとの通信して交通情報や地図データ等の情報を受信する。路車間通信や車車間通信してもよい。例えば、携帯電話の基地局と通信する場合、通信装置21は、例えば800MHz帯の無線電波を受信し、増幅、フィルタ処理、歪み補正等を行いベースバンド信号を取り出し、QPSK等に従い復調したあと、エラー訂正、プロトコル処理を行うことで情報を受信する。また、情報の送信時には、情報にプロトコル処理、誤り訂正処理、ベースバンド信号の生成処理、搬送波とのミキシング等を施し、この変調波をアンプで増幅してアンテナから送信する。   The communication device 21 is connected to, for example, a mobile phone base station or a wireless LAN access point and communicates with a predetermined server to receive information such as traffic information and map data. Road-to-vehicle communication or vehicle-to-vehicle communication may be performed. For example, when communicating with a mobile phone base station, the communication device 21 receives, for example, an 800 MHz band radio wave, performs amplification, filtering, distortion correction, etc., extracts a baseband signal, demodulates it according to QPSK, etc. Information is received by performing error correction and protocol processing. When transmitting information, the information is subjected to protocol processing, error correction processing, baseband signal generation processing, mixing with a carrier wave, etc., and the modulated wave is amplified by an amplifier and transmitted from an antenna.

車載装置22は、例えばエンジンやブレーキ等の制御系、メータ表示やドアのロック等のボディ系、ナビゲーション装置等の車載装置であり、マルチコアシステム100により制御されるか又はマルチコアシステム100が受信した情報を利用した制御を実行する。すなわち、車載装置22はモータなど被制御装置及びECU(Electronic Control Unit)などの制御装置を含む。   The in-vehicle device 22 is, for example, a control system such as an engine or a brake, a body system such as a meter display or a door lock, or an in-vehicle device such as a navigation device, and is controlled by the multi-core system 100 or received by the multi-core system 100. Executes control using. That is, the in-vehicle device 22 includes a controlled device such as a motor and a control device such as an ECU (Electronic Control Unit).

車両用システム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 zone core group 12 is dynamically switched.

例えば、イグニッションオンによりマルチコアシステム100が起動すると、プールゾーンコア群12の各CPUコアはコア構成情報16を読み出し、コンピューティングゾーンA、コンピューティングゾーンB及びルーティングゾーン14のいずれに属するかを決定する(S10)。   For example, when the multi-core system 100 is activated by ignition on, each CPU core of the pool zone core group 12 reads the core configuration information 16 and determines whether it belongs to the computing zone A, the computing zone B, or the routing zone 14. (S10).

ゾーンが決定したら、コンピューティングゾーンA、コンピューティングゾーンB及びルーティングゾーン14にそれぞれ定められた処理を実行するため、外部メモリ15A又は15Bに記憶されたプログラムを読み出す(S20)。本実施形態では、コンピューティングゾーンAはサーバとの情報送受信部23を実現し、コンピューティングゾーンBは車載装置22を制御する制御部25を実現し、ルーティングゾーン14はゲートウェイ26及びリソース分配部24を実現する。   When the zone is determined, the program stored in the external memory 15A or 15B is read in order to execute the processing determined for each of the computing zone A, the computing zone B, and the routing zone 14 (S20). In this embodiment, the computing zone A implements an information transmission / reception unit 23 with the server, the computing zone B implements a control unit 25 that controls the in-vehicle device 22, and the routing zone 14 includes the gateway 26 and the resource distribution unit 24. Is realized.

図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 unit 23 determines, for example, whether or not the communication device 21 is communicable with the base station, and receives data such as traffic information and road map update information from the server if possible.

ゲートウェイ26は、主にデータのフォーマット変換やフィルタリングを行いサーバと車載装置22で送受信されるデータ構成や伝送速度の相違を吸収する(以下、中継処理という)。例えば、サーバから送信されるデータにCAN用のヘッダやエラー訂正符号を付し、所定のデータフレームを生成するフォーマット変換を施す。また、サーバから送信されるデータを全ての車載装置22が必要とするわけでないので、予め定められたフィルタリングルールに則って所定の車載装置22を指定する送信先情報をヘッダに含める。逆に、車両からサーバに情報を送信する場合、CAN用のデータフレームからヘッダやエラー訂正符号等を削除しデータのみを取り出す。   The gateway 26 mainly performs data format conversion and filtering, and absorbs differences in data configuration and transmission speed transmitted and received between the server and the in-vehicle device 22 (hereinafter referred to as relay processing). For example, a CAN header or error correction code is attached to data transmitted from the server, and format conversion is performed to generate a predetermined data frame. In addition, since all the in-vehicle devices 22 do not need data transmitted from the server, transmission destination information for designating a predetermined in-vehicle device 22 in accordance with a predetermined filtering rule is included in the header. Conversely, when information is transmitted from the vehicle to the server, the header, error correction code, and the like are deleted from the CAN data frame, and only the data is extracted.

ゲートウェイ26は中継処理を施したデータを中継する場合、情報送受信部23からデータが記憶されたキャッシュ13Aのアドレスを取得し、キャッシュ13Aから読み出したデータをキャッシュ13Bに記憶する。制御部25はキャッシュ13Bのデータを読み出し、データに基づき車載装置22を制御する。例えば、データが前方の見通しの悪いカーブの渋滞を知らせる情報であれば、ブレーキECUによる制動やメータランプの点灯等により運転者に注意喚起する。   When the gateway 26 relays the data subjected to the relay process, the gateway 26 acquires the address of the cache 13A where the data is stored from the information transmitting / receiving unit 23, and stores the data read from the cache 13A in the cache 13B. The control unit 25 reads the data in the cache 13B and controls the in-vehicle device 22 based on the data. For example, if the data is information that informs a traffic jam on a curve with a poor forward view, the driver is alerted by braking by the brake ECU, lighting of a meter lamp, or the like.

また、車両がプローブカーとして自車両の車速及び位置情報をサーバに送信する場合、制御部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 control unit 25 acquires the vehicle speed and position information from the in-vehicle device 22 every predetermined cycle time, and makes a relay request to the gateway 26. The gateway 26 acquires the address of the cache 13B where the data is stored from the control unit 25, stores the data read from the cache 13B in the cache 13A, and requests the information transmission / reception unit 23 to transmit to the server.

このように、コンピューティングゾーン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 zone core group 12 to the computing zones A and B (S40). Since the resource distribution unit 24 can be realized by a program executed by the same CPU core as that of the gateway 26, the routing zone 14 may have one CPU core.

リソース分配部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 zone core group 12, the resource distribution unit 24 uses unassigned CPU cores as computing zones. Assign to A. When there is no unassigned CPU core in the pool zone core group 12, the resource distribution unit 24 assigns the CPU core of the computing zone B to the computing zone A.

・コンピューティングゾーン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 zone core group 12, the resource distributor 24 assigns unassigned CPU cores to the computing zone. Assign to B. When there is no unassigned CPU core in the pool zone core group 12, the resource distribution unit 24 assigns the CPU core of the computing zone A to the computing zone B.

なお、リソース分配部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 zone core group 12 in response to a request from the computing zone A or B instead of determining the CPU core allocation. In this case, the resource distribution unit 24 assigns a priority to the computing zone A or B that has been requested from an unassigned CPU core, and if there is no unassigned CPU core, permits the other computing zone without a request. The CPU core is assigned to the requested computing zone.

以上のように、マルチコアシステム100はプールゾーンコア群12のCPUコアの割り当てを動的に切り替えながら、プログラムを実行する。プールコア群12のCPUコアは汎用コアであるため種々のプログラムを実行できるので、プログラムの処理負荷に応じてコンピューティングゾーンA及びBに割り当てるCPUコアの数を柔軟に増減することができる。   As described above, the multi-core system 100 executes the program while dynamically switching the CPU core assignment of the pool zone core group 12. Since the CPU cores of the pool core group 12 are general-purpose cores, various programs can be executed. Therefore, the number of CPU cores allocated to the computing zones A and B can be flexibly increased or decreased according to the processing load of the programs.

〔変形例〕
図3(b)では、ルーティングゾーン14でゲートウェイ26を実現したが、ゲートウェイ26でなく又はゲートウェイ26と共にファイアウォールを実現してもよい。プールゾーンコア群12のCPUコアは汎用コアなので一般的なOSや仮想マシンで稼働するファイアウォール用のプログラムを実行でき移植性が高く、組み込みソフトに適用する上のコスト増を抑制できる。ファイアウォールは、内部から外部のサーバへのアクセスは許可するが、外部からのアクセスは、例えばIPパケットのヘッダ情報(アドレス、ポート番号など)に基づき制限する。ルーティングゾーン14のファイアウォールは、この制限の態様を決定するファイアウォールのポリシーを動的に変更することができる。また、キャッシュ13A、13Bに連想メモリを実装することで、1チップで高速なファイアウォールを実現できる。
[Modification]
In FIG. 3B, the gateway 26 is realized in the routing zone 14, but a firewall may be realized instead of or together with the gateway 26. Since the CPU core of the pool zone core group 12 is a general-purpose core, a firewall program running on a general OS or a virtual machine can be executed and portability is high, and an increase in cost when applied to embedded software can be suppressed. The firewall permits access from the inside to an external server, but restricts access from the outside based on, for example, header information (address, port number, etc.) of the IP packet. The firewall in the routing zone 14 can dynamically change the firewall policy that determines this restriction aspect. Further, by mounting an associative memory in the caches 13A and 13B, a high-speed firewall can be realized with one chip.

また、本実施例ではコンピューティングゾーン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 multi-core system 100 having three computing zones A, B, and C. 5 that are the same as those in FIG. 1 are assigned the same reference numerals, and descriptions thereof are omitted.

図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 third cache 13C are provided. Since the caches 13A to 13C are independent of each other, and the pool zone core group 12 is connected to the caches 13A to 13C, data communication between zones can be protected as in the above embodiment. The same configuration can be made with four or more computing zones.

以上説明したように、マルチコアシステム100は、ゾーン間のデータ通信を必ずプールゾーンコア群12を経由するので、ゾーン間のセキュリティを向上させることができる。ゾーン間のデータ通信は、共有メモリ経由なので高速である。   As described above, since the multi-core system 100 always passes data communication between zones via the pooled zone core group 12, security between zones can be improved. Data communication between zones is fast because it is via a shared memory.

プールゾーンコア群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 zone core group 12, it is possible to flexibly cope with load fluctuations. When the load is small, the power consumption can be reduced by not assigning the CPU core of the pool zone core group 12 to any of the computing zones A or B.

また、コンピューティングゾーンA又はBに割り当てないCPUコアの数を増大させることで、ルーティングゾーン14に割り当てるCPUコア数を増加させることができるので、ゾーン間のデータ通信の品質(速度、中継処理、ファイアウォール処理等)を向上できる。   Further, since the number of CPU cores assigned to the routing zone 14 can be increased by increasing the number of CPU cores not assigned to the computing zone A or B, the quality of data communication between zones (speed, relay processing, Firewall processing, etc.).

また、プールゾーンコア群12のCPUコアは、一般的なOSを動作させることができるのでソフトウェアの移植性が高い。   In addition, since the CPU core of the pool zone core group 12 can operate a general OS, the portability of software is high.

実施例1ではマルチコアシステム100を1つの半導体パッケージに封止する1チップ構成としたが、マルチコアシステム100を複数の半導体パッケージに封止して、SOC(System On a Chip)又は基板上で実現してもよい。   In the first embodiment, the multi-core system 100 has a one-chip configuration that is sealed in one semiconductor package. However, the multi-core system 100 is sealed in a plurality of semiconductor packages and realized on an SOC (System On a Chip) or a substrate. May be.

図6(a)はSOCのマルチコアシステム100の斜視図を、図6(b)は基板上に構成されたマルチコアシステム100の斜視図をそれぞれ示す。図1と同一部分には同一の符号を付した。図6(a)又は(b)のようにマルチコアシステム100を1チップ構成にしなければ、チップの数を増やせばCPUコアの数を多くすることができるので、回路の集積密度に頼らなくても本実施形態のマルチコアシステム100を実現しやすくできる。   FIG. 6A is a perspective view of the SOC multi-core system 100, and FIG. 6B is a perspective view of the multi-core system 100 configured on a substrate. The same parts as those in FIG. If the multi-core system 100 is not configured as a single chip as shown in FIG. 6A or 6B, the number of CPU cores can be increased by increasing the number of chips, so that it is not necessary to rely on circuit integration density. The multi-core system 100 according to the present embodiment can be easily realized.

図7は、本実施例のマルチコアシステム100の構成図を示す。図7において図1と同一部分には同一の符号を付しその説明は省略する。図7のマルチコアシステム100は、ゾーン固定コア群11A、ゾーン固定コア群11B、プールゾーンコア群12、外部メモリ15A、外部メモリ15Bが別体のチップに構成される。各チップ間は、SOCではボンディングワイヤ又はフリップチップ等で接続され、基板上ではプリント配線により接続される。   FIG. 7 shows a configuration diagram of the multi-core system 100 of the present embodiment. In FIG. 7, the same parts as those in FIG. In the multi-core system 100 of FIG. 7, the zone fixed core group 11A, the zone fixed core group 11B, the pool zone core group 12, the external memory 15A, and the external memory 15B are configured as separate chips. Each chip is connected by a bonding wire or flip chip in the SOC, and is connected by a printed wiring on the substrate.

本実施例では、プールゾーンコア群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 zone core group 12 is connected to the external memory 15A and the external memory 15B, data communication is performed between the computing zones A and B via the external memories 15A and 15B. In the first embodiment, the external memories 15A and 15B are cache memories instead of the external memories 15A and 15B. This is in accordance with a convention in which the memory outside the chip is not called a cache, and the functions of the external memories 15A and 15B are the same as those in the first embodiment. It is the same as 13A and 13B. Therefore, it is preferable that the external memories 15A and 15B are high-access-speed memories such as DRAM, FeRAM (Ferroelectric Random Access Memory), and MRAM (Magnetoresistive Random Access Memory). Each CPU core includes a cache memory.

また、本実施例では、ゾーン固定コア群11A、11B及びプールゾーンコア群12のCPUコアは全て汎用コアである。これにより、コンピューティングゾーンA及びBの構成が容易になる。   In this embodiment, the CPU cores of the zone fixed core groups 11A and 11B and the pool zone core group 12 are all general-purpose cores. This facilitates the configuration of the computing zones A and B.

その他の構成は実施例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 core group 11A and the CPU core of the pool zone core group 12 form one computing zone A, and the CPU core of the zone fixed core group 11B and the CPU core of the pool zone core group 12 are one computer. Forming zone B.
Based on the core configuration information 16, it is determined whether the CPU core of the pool zone core group 12 belongs to the zone fixed core group 11A or the zone fixed core group 11B.
Each computing zone has its own external memory.
The CPU core of the pool zone core group 12 can share all the external memories 15A and 15B.
The pool zone core group 12 has unassigned CPU cores in both the computing zones A and B, and forms a routing zone 14.

かかる構成により以下の効果を奏する。
・ゾーン間のデータ通信を必ずプールゾーンコア群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 zone core group 12, security between zones can be improved.
-Data communication between zones is fast because it passes through the external memories 15A and 15B.
In addition, since the number of CPU cores assigned to the routing zone 14 can be increased by increasing the number of CPU cores not assigned to the computing zone A or B, the quality of data communication between zones (speed, relay, etc.) Processing, firewall processing, etc.).
In addition, since the CPU core of the pool zone core group 12 can operate a general OS executed on the server, the portability of software is high.
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 zone core group 12, it is possible to flexibly cope with load fluctuations.

マルチコアシステムの構成図である(実施例1)。1 is a configuration diagram of a multi-core system (Example 1). FIG. コア構成情報の一例を示す図である。It is a figure which shows an example of core structure information. マルチコアシステムを有する車両用システムの概略図である。It is the schematic of the system for vehicles which has a multi-core system. マルチコアシステムの動作手順を示すフローチャート図である。It is a flowchart figure which shows the operation | movement procedure of a multi-core system. 3つのコンピューティングゾーンを有するマルチコアシステムの構成図である。It is a block diagram of a multi-core system having three computing zones. SOC又は基板に構成されたマルチコアシステムの斜視図である。It is a perspective view of the multi-core system comprised by SOC or a board | substrate. マルチコアシステムの構成図である(実施例2)。FIG. 6 is a configuration diagram of a multi-core system (Example 2).

符号の説明Explanation of symbols

11A〜C ゾーン固定コア群
12 プールゾーンコア群
13A〜C キャッシュ
14 ルーティングゾーン
15A、B 外部メモリ
16 コア構成情報
100 マルチコアシステム
11A to C Zone fixed core group 12 Pool zone core group 13A to C Cache 14 Routing zone 15A and B External memory 16 Core configuration information 100 Multicore system

Claims (9)

1以上のコアを有する複数の固定コア群、及び、複数のコアを有するプールコア群、を有するマルチコアシステムにおいて、
前記固定コア群はそれぞれ専用メモリと接続され、前記プールコア群は全ての前記専用メモリと接続されており、
前記複数の固定コア群のうちの少なくとも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.
前記割り当てコア以外の前記プールコア群のコアによりファイアウォールを実現する、ことを特徴とする請求項1記載のマルチコアシステム。   The multi-core system according to claim 1, wherein a firewall is realized by cores of the pool core group other than the assigned cores. 前記割り当てコアの数、又は、前記専用メモリから別の前記専用メモリにデータを書き込む前記割り当てコア以外の前記プールコア群のコアの数は可変である、ことを特徴とする請求項1又は2記載のマルチコアシステム。   The number of cores of the pool core group other than the allocated core that writes data from the dedicated memory to another dedicated memory is variable. Multi-core system. 前記プールコア群のコアは汎用コアである、ことを特徴とする請求項1〜3いずれか1項記載のマルチコアシステム。   The multi-core system according to claim 1, wherein a core of the pool core group is a general-purpose core. 前記割り当てコアの数、又は、前記専用メモリから別の前記専用メモリにデータを書き込む前記割り当てコア以外の前記プールコア群のコアの数は、記憶部に記憶された設定情報により指定される、ことを特徴とする請求項3記載のマルチコアシステム。   The number of allocated cores, or the number of cores of the pool core group other than the allocated core that writes data from the dedicated memory to another dedicated memory is specified by setting information stored in a storage unit. The multi-core system according to claim 3, wherein: 前記割り当てコアの数は、前記割り当てコアに処理が割り当てられる前記所定固定コア群の負荷状態に応じて動的に変更される、ことを特徴とする請求項3記載のマルチコアシステム。   4. The multi-core system according to claim 3, wherein the number of the assigned cores is dynamically changed according to a load state of the predetermined fixed core group to which processing is assigned to the assigned cores. 前記複数の固定コア群、前記プールコア群及び前記専用メモリが1チップにパッケージされている、ことを特徴とする請求項1〜6いずれか1項記載のマルチコアシステム。   The multi-core system according to claim 1, wherein the plurality of fixed core groups, the pool core group, and the dedicated memory are packaged in one chip. 前記複数の固定コア群、前記プールコア群及び前記専用メモリのそれぞれが1チップにパッケージされている、ことを特徴とする請求項1〜6いずれか1項記載のマルチコアシステム。   The multi-core system according to claim 1, wherein each of the plurality of fixed core groups, the pool core group, and the dedicated memory is packaged in one chip. 請求項1〜8いずれか1項記載のマルチコアシステムを有し、
該マルチコアシステムが、車載装置と外部との情報の送受信を中継する中継処理部を実現する、ことを特徴とする車両用ゲートウェイ装置。
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.
JP2008112967A 2008-04-23 2008-04-23 Multi-core system, vehicle gateway device Expired - Fee Related JP5275673B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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