マルチコアプロセッサ及びこれを用いる車載電子制御装置
【課題】各コアの動作周波数を時系列で適切に変動させることで、放射ノイズ等の問題点を少なくとも部分的に解決すること。
【解決手段】 本発明は、複数のコアを搭載したマルチコアプロセッサ1,2であって、複数のコアA,B,Cは、同一の周期Tで周期的に周波数が変動する動作クロックで動作するように構成され、コアの動作クロックの周波数の変動位相が、前記複数のコア間でずらされることを特徴とする。好ましくは、各コアの動作クロックの周波数の変動位相は、時間T/N(Nはコア数)に相当する位相ずつずらされる。好ましくは、コアの動作クロックの周波数の変動態様は、複数のコア間で、変動位相が異なる以外は同一である。
【解決手段】 本発明は、複数のコアを搭載したマルチコアプロセッサ1,2であって、複数のコアA,B,Cは、同一の周期Tで周期的に周波数が変動する動作クロックで動作するように構成され、コアの動作クロックの周波数の変動位相が、前記複数のコア間でずらされることを特徴とする。好ましくは、各コアの動作クロックの周波数の変動位相は、時間T/N(Nはコア数)に相当する位相ずつずらされる。好ましくは、コアの動作クロックの周波数の変動態様は、複数のコア間で、変動位相が異なる以外は同一である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のコアを搭載したマルチコアプロセッサ及びこれを用いる車載電子制御装置に関する。
【背景技術】
【0002】
従来から、複数のCPUコアを内蔵するLSIを使用する電子機器において、待機時に遷移する電子機器の低消費電力モードでの消費電力低減等を図る技術が知られている(例えば、特許文献1参照)。この電子機器においては、CPUは通常動作モードと低消費電力モードを備え、CPUへ供給するクロックの周波数を変更可能とし、各CPUが相互に動作モードを検知可能であると共に、各CPUが相互に動作モード変更要求を通知可能である。
【0003】
また、ASIC(集積回路)を実装する電子回路基板において、ASICの電源端子に供給する電源電圧にリップルを重畳することにより、ASIC内部の電源ライン及びロジック回路信号の動作周波数の安定性を低下させ、ASIC内部回路動作周波数のジッタ成分を増加させる事により、ASIC及び電子回路基板からのEMI(放射ノイズ)を低減させることを特徴としたEMI対策方法が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−47966号公報
【特許文献2】特開2007−43554号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、車両電子システムは、多数のECU(電子制御装置)により構成されている。殆どのECUには、マイコン(ソフトウェアで処理内容を容易に変更できる演算装置)が搭載されている。マイコンには、そのソフトウェアを処理するコア(CPUとも称される)が内蔵されている。近年では、処理能力の急激な向上要求に起因して、コアを動作させるクロックの周波数の増大が著しく、ECUが発生する放射ノイズの主要因になってきた。特に、複数のコアを搭載したマルチコアプロセッサでは、高周波で動作するコアが複数存在するため、その動作周波数の分周・逓倍した周波数にて高強度のノイズが発生する。また、周波数の向上に伴い消費電力も増加している。
【0006】
放射ノイズに関して、図1は、2つの信号S1,S2に対して周波数を横軸としてノイズ信号強度を縦軸に示す。図1に示すように、信号S1は、信号S2に比べて、信号強度の平均レベルは低いが、固有周波数でピーク的な信号が判断閾値若しくはそれを上回る。このような場合、信号S2の方が、ピーク的な信号が無いので、音響システム等への影響が小さくて済む。
【0007】
消費電力に関して、図2は、マイコンの消費電力の経時変化の一例を示す。図2に示すような電力変動があった場合、電子制御装置内の電源ICは、各時点ta1,a2,a3,…のピーク値(一定周期のソフトウェア処理で発生)を満足する電力供給能力に設計しなければならず、更に、このような電力変動に追従する変動追従能力が必要となり、コストアップの要因となってしまう。
【0008】
これらの問題点は、コアが一定周波数で動作していることが主要因であり、更にマルチコアの場合は、その影響がその分だけ顕著になる。
【0009】
これに対して、コアの動作周波数を時系列で変動させる対策が考えられる。しかしながら、マルチコアの場合、同様の態様で各コアの動作周波数を時系列で変動させると、コア数分だけ影響が重畳してしまうという問題が生ずる。
【0010】
そこで、本発明は、各コアの動作周波数を時系列で適切に変動させることで、放射ノイズ等の問題点を少なくとも部分的に解決することができるマルチコアプロセッサ及びこれを用いる車載電子制御装置の提供を目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の一局面によれば、複数のコアを搭載したマルチコアプロセッサであって、
前記複数のコアは、同一の周期Tで周期的に周波数が変動する動作クロックで動作するように構成され、
コアの動作クロックの周波数の変動位相が、前記複数のコア間でずらされることを特徴とする、マルチコアプロセッサが提供される。
【発明の効果】
【0012】
本発明によれば、各コアの動作周波数を時系列で適切に変動させることで、放射ノイズ等の問題点を少なくとも部分的に解決することができるマルチコアプロセッサ等が得られる。
【図面の簡単な説明】
【0013】
【図1】2つの信号S1,S2に対して周波数を横軸としてノイズ信号強度を縦軸に示す図である。
【図2】マイコンの消費電力の経時変化の一例を示す図である。
【図3】図3(A)は、対称型のマルチコアを示し、図3(B)は、非対称型のマルチコアを示す図である。
【図4】コアの動作周波数の一例を示す図である。
【図5】図4に示したコアの動作周波数の変動態様を、全てのコアA,B,Cに同様に適用した場合の各種波形等を示す図である。
【図6】本発明の一例に従って、図4に示したコアの動作周波数の変動態様をコアA,B,Cに適用した場合の各種波形等を示す。
【図7】上述の本発明の好ましい実施例を実現するマイコン1の内部・外部回路構成の一例を示す図である。
【図8】図7に示したマイコン1の各コアA,B,Cの処理動作の一例のタイミングチャートである。
【図9】各コアA,B,Cの動作周波数の変動態様のその他の一例を示す図である。
【図10】その他の実施例によるマイコン(マルチコアプロセッサ)2の内部・外部回路構成の一例を示す図である。
【図11】コアCがスリープ中のときのコアA,Bの動作周波数の変動態様の波形を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明を実施するための最良の形態の説明を行う。
【0015】
図3(A)は、マルチコア構成のマイコン(マルチコアプロセッサ)のタイプとして対称型のマルチコアを示し、図3(B)は、非対称型のマルチコアを示す。これらのタイプのマルチコアでは、3つのコア(CPUコア)A,B,Cは、コア性能の等価性を有することが望ましい。本発明は、上記の対称型、非対称型又はその類を含む、任意のタイプのマルチコアプロセッサに対しても適用可能である。尚、以下では、ここで図示されるような3つのコアA,B,Cを、本発明の適用対象として説明する。しかしながら、本発明は、2つのコアや4つ以上のコアにも同様に適用可能である。
【0016】
図4は、コアの動作周波数の変動態様の一例を示す図である。図4に示す例では、コアの動作周波数は、一例として、100MHzを中心として±1MHzの範囲で正弦波状に変動するように設定されている。このようにコアの動作周波数を時系列で変動させる構成は、コアの動作周波数を常時固定する構成に比べて、コアの動作周波数の分周・逓倍した周波数にて生ずる放射ノイズの強度を低減することができる。
【0017】
図5は、図4に示したコアの動作周波数の変動態様を、全てのコアA,B,Cに同様に適用した場合の各種波形等を示す。即ち、図5は、全てのコアA,B,Cが同一位相で変動するクロック周波数で動作する場合の各種波形を示す。図5(A)は、コアA,B,Cの動作周波数の変動態様の波形(コアA,B,Cで同じであるため重なった波形)を示し、図5(B)は、ある一時点(本例では図5(A)のA部)でマイコンが発生するノイズ周波数と強度(相対値)を示し、図5(C)は、図5(A)と同一時系列で消費電力の時系列波形を示す。尚、図5(C)では、消費電力は、正規化された消費電力の波形で示されている。
【0018】
図5に示すように、全てのコアA,B,Cの動作周波数の変動態様が同一である場合、ノイズ信号は、3つのコアA,B,Cで同一周波数にて出現し、従って、ノイズ信号強度(合計)は、図5(B)に示すように、3つのコアA,B,Cに係る同一周波数で生じるノイズ(ピーク)の各強度が重畳したものとなる。
【0019】
また、全てのコアA,B,Cの動作に起因した消費電力(合計)は、全てのコアA,B,Cの各動作周波数の合計に依存して変化する。従って、全てのコアA,B,Cの動作周波数の変動態様が同一である場合、全てのコアA,B,Cの動作に起因した消費電力は、図5(C)に示すように、コアA,B,Cの動作周波数と同様の態様で変動する。このような場合、図2を参照して上述したように、消費電力のピーク値を満足する電力供給能力に設計しなければならず、更に、このような電力変動に追従する変動追従能力が必要となり、コストアップの要因となってしまう。
【0020】
図6は、本発明の好ましい実施例に従って、図4に示したコアの動作周波数の変動態様をコアA,B,Cに適用した場合の各種波形等を示す。図6(A)は、コアA,B,Cの動作周波数の変動態様の波形を示し、図6(B)は、ある一時点(本例では図6(A)のB部)でマイコンが発生するノイズ周波数と強度(相対値)を示し、図6(C)は、図6(A)と同一時系列で消費電力の時系列波形を示す。尚、図6(C)では、消費電力は、正規化された消費電力の波形で示されている。
【0021】
ここでは、本発明の好ましい実施例として、図4に示したコアの動作周波数の変動態様は、図6(A)に示すように、コアA,B,Cに対して、等間隔の位相のずれを持たせて適用される。即ち、コアA,B,Cの動作周波数は、図4に示した動作周波数の変動態様と同様の態様で変化するが、位相が互いに異なり、コアAの動作周波数の変動態様、コアBの動作周波数の変動態様、及び、コアCの動作周波数の変動態様は、図6(A)に示すように、位相が2π/3ずつずれている。
【0022】
この場合、ノイズ信号は、図6(B)に示すように、3つのコアA,B,Cで基本的に別々の周波数にて出現する。尚、ある時点では、3つのコアA,B,Cのうちの2つのコアに関して同一周波数でノイズ信号が生じるが、そのときも、他の1つのコアでは、当該同一周波数とは別の周波数でノイズ信号が生ずる。従って、図6に示すように、コアA,B,Cの動作周波数の変動位相を互いにずらすことにより、図6(B)に示すように(図5(B)対照参照)、各動作周波数でノイズ信号が重畳することを防止することができる。即ち、周波数変動を行っているのに加えて、コアA,B,C毎の動作周波数をずらすことにより、各コアA,B,Cの動作周波数に起因して発生する信号強度が重なることがなく、ノイズのピークを低減することができる。
【0023】
尚、3つのコアA,B,C毎にランダムに動作周波数を振る(割り当てる)構成も可能であるが、このような構成では、予想できないタイミングで動作周波数が一致してピークが発生する虞がある。
【0024】
この点、本発明の好ましい実施例では、3つのコアA,B,C毎に常に一定の位相ずれを持たせて動作周波数を変動させる。これにより、3つのコアA,B,Cに係る動作周波数が一致してピークが発生することはない。
【0025】
また、本発明の好ましい実施例では、上述の如く、全てのコアA,B,Cの動作に起因した消費電力(合計)は、全てのコアA,B,Cの各動作周波数の合計に依存して変化する。コアA,B,Cの各動作周波数の変動位相が等間隔にずれている場合、全てのコアA,B,Cの各動作周波数の合計は、時間に依存せず一定である。従って、本発明の好ましい実施例によれば、図6(C)に示すように、全てのコアA,B,Cの動作に起因した消費電力は、時間に依存せず一定となる。これにより、消費電力にピーク的・脈動的な変動が生じず、図2を参照して上述したような問題点を防止することができる。
【0026】
また、本発明の好ましい実施例では、上述の如く、3つのコアA,B,Cに対して位相をずらすものの同一範囲の動作周波数を適用させている。これにより、各コアA,B,Cの性能対称性(コア性能の等価性)を維持することができる。尚、各コアの動作周波数を異なる値に設定したり(例えば、コアAを105MHz、コアBを100MHz、コアCを95MHz)若しくはその値を中心周波数として変動させたりする方法も考えられるが、かかる方法では、各コアA,B,Cの処理性能に差が出てしまい、対称マルチコア/非対称マルチコア(図3参照)のコアA,B,Cの特徴であるコア性能の等価性を損なってしまう。これは、即ちアプリケーションの配置(コアA,B,Cのうちのどのコアで処理させるか)に制限が出てしまうことを意味する。
【0027】
図7は、上述の本発明の好ましい実施例を実現するマイコン(マルチコアプロセッサ)1の内部・外部回路構成の一例を示す図である。
【0028】
マイコン1は、3つのコアA,B,Cをそれぞれ含むサブシステム20A,20B,20Cと共に、発信回路12と、逓倍回路15と、3つの周波数スプレッダ16A,16B,16Cとを備える。発信回路12には、外部に設けられる発信子14が接続される。尚、発信子14は、マイコン1の内部に設けられてもよい。発信回路12の出力は、逓倍回路15に接続され、逓倍回路15の出力は、3つの周波数スプレッダ16A,16B,16Cに接続される。
【0029】
逓倍回路15は、典型的にはPLL(Phase Locked Loop)で構成され、発信回路12で励起したクロック源信号の周波数forg(内部クロック周波数)を逓倍する。即ち、fPLL=d×forg。ここで、fPLLは、逓倍回路15からのクロック信号の周波数を表し、dは定数である。尚、逓倍回路15は、低周波数の場合は省略されてもよいが、一般的に、数十MHz以上の場合は、発信回路12により励起される周波数を逓倍して使用するために必要とされる。
【0030】
周波数スプレッダ16A,16B,16Cは、コアA,B,Cのサブシステム20A,20B,20Cのそれぞれに対して設けられる。周波数スプレッダ16A,16B,16Cは、周波数を周期変動させるために設けられる。即ち、周波数スプレッダ16A,16B,16Cは、逓倍回路15からのクロック信号の周波数を周期変動させる。図示の例では、周波数スプレッダ16A,16B,16Cは、以下の態様で周期変動を行う。
fA(T)=fPLL×{1+e×sin(g×T)}
fB(T)=fPLL×{1+e×sin(g×T+2π/3)}
fC(T)=fPLL×{1+e×sin(g×T+4π/3)}
ここで、fA(T)は、周波数スプレッダ16Aでの周波数変動態様、即ちコアAの動作周波数の周波数変動態様を表し、fB(T)は、周波数スプレッダ16Bでの周波数変動態様、即ちコアBの動作周波数の周波数変動態様を表し、fC(T)は、周波数スプレッダ16Cでの周波数変動態様、即ちコアCの動作周波数の周波数変動態様を表す。e,gは、適当な定数である。上記の周波数スプレッダ16A,16B,16Cの変換式では、fPLLを中心周波数として、同一振幅(=fPLL×e)で周波数が正弦波で変動する。このとき、正弦波の位相は、fA(T)、fB(T)及びfC(T)間で2π/3ずつずらされている。このように上述の本発明の好ましい実施例に従って、周波数スプレッダ16A,16B,16Cは、各コアA,B,Cの動作周波数の変動位相が2π/3ずつずれる態様で各コアA,B,Cの動作周波数の周期変動を行う。
【0031】
図8は、図7に示したマイコン1の各コアA,B,Cの処理動作の一例のタイミングチャートである。
【0032】
図8に示す例では、1m周期処理の基点となる割込みタイミングが1つであり、そこから起動される1m周期処理は、例えばその瞬間(正確には、割込みから処理起動までの間)、コアBの動作周波数fB>コアAの動作周波数fA>コアCの動作周波数fCとなっている場合を想定する。この場合、起動される処理の開始タイミングもこの順序となる。ここで、周波数を100MHz±5%変動とし、割込みから処理起動までの間を50クロックとし、その瞬間のコアA,B,Cの動作周波数が、動作周波数fA=100MHz、動作周波数fB=102.5MHz、動作周波数fC=97.5MHzであるとき、起動までの時間の最大差は、コアBとコアCの間の差であるが、25nsとなる。このような非常に短い差は、処理の精度の問題とならない値である。処理中は、上述の如く各コアA,B,Cの動作周波数は変動している。一般的に、処理時間は、周波数変動周期に比較して非常に長いため、各コアA,B,Cの処理性能は、処理時間中に平均化されて略同一となる。従って、各コアA,B,Cの処理の終了タイミングは、図8のY部に示すように、開始タイミングの順序(図8のX部参照)と略同一となり、終了タイミングの差も開始タイミングの差と略同一となる。このように、上述の如く各コアA,B,Cの動作周波数の変動位相をずらした場合でも、処理動作に対する影響は生じない。即ち、ソフトウェア処理の設計者は、各コアA,B,Cの動作周波数の変動位相がずれていることに対して特別な配慮を行う必要はない。尚、図8に示す例は、上述の動作周波数の変動位相のずれの影響を考察するための便宜上、各コアA,B,Cの処理は全く同じ処理(ソフトウェアの処理内容)である場合を想定しているが、各コアA,B,Cの処理内容が異なる場合も、動作周波数の変動位相のずれの影響が実質的に生じないことは同様である。
【0033】
また、本実施例では、基本的にマイコン1の各コアA,B,Cを各時点で別の周波数で動作させることになるが、懸念される設計段階の検証に関しては、単一のコアを周波数変動させる場合と同様に、変動周波数の最低値及び最高値での検証を行うことにより、各コアA,B,Cが異なる周波数で動作する場合も検証可能である。これは、各コアA,B,Cが同一の周波数範囲で経時的にずらすのみである構成を採用している利点である。
【0034】
以上説明した本実施例によるマイコン1によれば、とりわけ、以下のような優れた効果が奏される。
【0035】
上述の如く、マルチコアのうちのN個(上述の例では、N=3)のコアについて、中心周波数±ΔF(上述の例では、中心周波数100MHz±1MHz)の範囲にて規則正しく変動させつつ、コア毎の周波数の経時変化を2π/Nずつずらすことにより、ノイズ強度を低減すると共に、N個のコアの処理能力(周波数の依存)に対称性(等分分配)を持たせ、消費電力の平準化を測ることができる。
【0036】
具体的には、周波数変動を行っていることに加えて、コア毎の周波数変動の位相をずらすことにより各コア周波数要因で発生する信号強度が重ならず、ピークを低減することができる(図5(B)及び図6(B)参照)。また、各コア間の位相ずれ量が等間隔であることにより、周波数に比例する消費電力の合計は一定値となり(図6(C)参照)、電源ICの効率的な設計が可能となる。また、位相のみが異なる同一の周波数変動態様でコアA,B,Cの動作周波数が設定されるので、コアA,B,Cの性能対称性を保つことができる。また、ソフトウェア設計に影響がなく(図8参照)、周波数変動のみを行う構成に比べて位相をずらすことを追加するだけであるので半導体設計において特段の検証も不要とすることができる。
【0037】
図9は、各コアA,B,Cの動作周波数の変動態様のその他の一例を示す図である。上述の実施例では、周波数スプレッダ16A,16B,16Cの変換式を正弦波(sin(T))にて一定周期で変動させているが、任意の周波数変動であってよい。例えば、図9に示すような態様で周波数を変動させてもよい。この場合も、周波数の変動周期の1/N(Nはコアの個数であり、図示の例では3)に相当する位相ずつずらすことで、上述と同様の効果を得ることができる。
【0038】
図10は、その他の実施例によるマイコン(マルチコアプロセッサ)2の内部・外部回路構成の一例を示す図である。本実施例のマイコン2では、各コアA,B,Cが常時動作しない状態が存在する構成を想定する。即ち、本実施例のマイコン2は、各コアA,B,Cがすべて動作する動作状態に加えて、各コアA,B,Cのうちの1つのコアのみが動作し他の2つのコアがスリープする動作状態、及び/又は、各コアA,B,Cのうちの2つのコアのみが動作し他の1つのコアがスリープする動作状態を含む。例えば、マイコン2は、AMP動作とSMP動作の切換が可能であり、AMP動作時にコアA,B,Cのうちの少なくとも1つがスリープする状態が発生する。尚、典型的には、AMP動作時、特定のコアに割当てられる機能(タスク等)が実行されていないときに、当該特定のコアがスリープすることになる。
【0039】
本実施例のマイコン2は、図7に示したマイコン1に対して、スリープ制御回路18を備える点、及び、各周波数スプレッダ16A,16B,16Cが位相レジスタ(位相Reg)19A,19B,19Cを備える点が、主に異なる。他の同様であってよい構成は、同一の参照符号を付して説明を省略する。
【0040】
周波数スプレッダ16A,16B,16Cは、以下の態様で周期変動を行う。
fA(T)=fPLL×{1+e×sin(g×T+α1)}
fB(T)=fPLL×{1+e×sin(g×T+α2)}
fC(T)=fPLL×{1+e×sin(g×T+α3)}
ここで、α1、α2、α3は、位相レジスタ19A,19B,19Cの各値によって定まる。
【0041】
スリープ制御回路18は、各コアA,B,Cの動作状態(動作中かスリープ中か)を判断し、その判断結果に応じて位相レジスタ19A,19B,19Cの各値α1、α2、α3を制御する。尚、各コアA,B,Cの動作状態の判断は、例えばソフトウェアからの情報に基づいて容易に実現することができる。
【0042】
位相レジスタ19A,19B,19Cの各値α1、α2、α3は、それぞれ、対応する周波数スプレッダ16A,16B,16Cの位相ずれ量を調整する機能を有する。即ち、周波数スプレッダ16A,16B,16Cの位相ずれ量は、対応する位相レジスタ19A,19B,19Cの各値α1、α2、α3により決定される。位相レジスタ19A,19B,19Cの各値α1、α2、α3は、上述の如くスリープ制御回路18により制御(書き換え)される。
【0043】
例えば、各コアA,B,Cが動作中であるときは、スリープ制御回路18は、位相レジスタ19A,19B,19Cの各値α1、α2、α3として、位相ずれ量0,2π/3,4π/3をそれぞれ書き込む。これにより、図6(A)に示したように、各コアA,B,Cの動作周波数(クロック信号の周波数)は、互いに対して2π/3位相がずれた変動位相で変動することになる。
【0044】
他方、例えば、コアA,Bが動作中でありコアCがスリープしているとき、スリープ制御回路18は、位相レジスタ19A,19Bの各値α1、α2として、位相ずれ量0,πをそれぞれ書き込む。これと同時に、コアCに対するクロック信号が停止される。尚、コアCに対するクロック信号の停止は、クロック・ゲーティングにより実現されてもよい。或いは、パワー・ゲーティングにより電力供給を遮断してコアCに対するクロック信号を停止してもよい。これにより、図11に示すように、各コアA,Bの動作周波数(クロック信号の周波数)は、互いに対してπ位相がずれた変動位相で変動することになる。従って、この場合も図6(A)に示した場合と同様の効果が得られる。即ち、各コア周波数要因のピークを低減することや、消費電力を一定すること等が可能となる。
【0045】
また、同様に、例えば、コアA,Cが動作中でありコアBがスリープしているとき、スリープ制御回路18は、位相レジスタ19A,19Cの各値α1、α3として、位相ずれ量0,πをそれぞれ書き込む。これと同時に、コアBに対するクロック信号が停止される。これにより、各コアA,Cの動作周波数(クロック信号の周波数)は、互いに対してπ位相がずれた変動位相で変動することになる。従って、この場合も、図6(A)に示した場合と同様に、各コア周波数要因のピークを低減することや、消費電力を一定すること等が可能となる。
【0046】
また、同様に、例えば、コアB,Cが動作中でありコアAがスリープしているとき、スリープ制御回路18は、位相レジスタ19B,19Cの各値α2、α3として、位相ずれ量2π/3,5π/3をそれぞれ書き込む。これと同時に、コアAに対するクロック信号が停止される。これにより、各コアB,Cの動作周波数(クロック信号の周波数)は、互いに対してπ位相がずれた変動位相で変動することになる。従って、この場合も、図6(A)に示した場合と同様に、各コア周波数要因のピークを低減することや、消費電力を一定すること等が可能となる。
【0047】
以上説明した実施例のマイコン2によれば、実施例のマイコン1と同様の効果に加えて、とりわけ、以下のような優れた効果が奏される。
【0048】
上述の如く、各コアA,B,Cの動作状態に応じて動作中のコアの動作周波数の変動位相のずれ量を適切に変化させることで、各コアA,B,Cの動作状態が変化した場合でも上述の各種効果を維持することができる。即ち、各コアA,B,Cの動作状態が変化した場合でも、動作中の各コアの動作周波数の変動位相が等間隔でずれた状態が維持されるので、周波数要因のノイズ信号の重畳の防止や消費電力の安定化等の効果を維持することができる。
【0049】
尚、以上説明した実施例のマイコン1,2は、車両を制御するように構成された車載電子制御装置(ECU)に組み込まれるのが好適である。この場合、各コアA,B,Cは、各種車載システム(例えば、周辺監視カメラによる周辺監視システム、駐車支援システム、ナビゲーションシステム等)のうちの1つのシステムの機能を協動して実行してもよいし、それぞれ別々のシステムの機能を独立して実行してもよい。
【0050】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
【0051】
例えば、上述した実施例では、3つのコアA,B,Cに対応して各コア間の位相ずれ量を2π/3に設定しているが、一般的に、N個のコアの場合、各コア間の位相ずれ量は、2π・m/Nにより表現される。ここで、mは、m≠N×l(l=0,1,2,3・・・)を満たす正の整数である。例えばN=3のときは、m=1,2,4,5,7,8・・・のいずれかであってよく、従って、各コア間の位相ずれ量は、2π/3、4π/3、8π/3、10π/3、14π/3、16π/3・・・のいずれかであってよい。
【符号の説明】
【0052】
A,B,C コア
1,2 マイコン
12 発信回路
14 発信子
15 逓倍回路
16A,16B,16C 周波数スプレッダ
18 スリープ制御回路
19A,19B,19C 位相レジスタ
20A,20B,20C サブシステム
【技術分野】
【0001】
本発明は、複数のコアを搭載したマルチコアプロセッサ及びこれを用いる車載電子制御装置に関する。
【背景技術】
【0002】
従来から、複数のCPUコアを内蔵するLSIを使用する電子機器において、待機時に遷移する電子機器の低消費電力モードでの消費電力低減等を図る技術が知られている(例えば、特許文献1参照)。この電子機器においては、CPUは通常動作モードと低消費電力モードを備え、CPUへ供給するクロックの周波数を変更可能とし、各CPUが相互に動作モードを検知可能であると共に、各CPUが相互に動作モード変更要求を通知可能である。
【0003】
また、ASIC(集積回路)を実装する電子回路基板において、ASICの電源端子に供給する電源電圧にリップルを重畳することにより、ASIC内部の電源ライン及びロジック回路信号の動作周波数の安定性を低下させ、ASIC内部回路動作周波数のジッタ成分を増加させる事により、ASIC及び電子回路基板からのEMI(放射ノイズ)を低減させることを特徴としたEMI対策方法が知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−47966号公報
【特許文献2】特開2007−43554号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、車両電子システムは、多数のECU(電子制御装置)により構成されている。殆どのECUには、マイコン(ソフトウェアで処理内容を容易に変更できる演算装置)が搭載されている。マイコンには、そのソフトウェアを処理するコア(CPUとも称される)が内蔵されている。近年では、処理能力の急激な向上要求に起因して、コアを動作させるクロックの周波数の増大が著しく、ECUが発生する放射ノイズの主要因になってきた。特に、複数のコアを搭載したマルチコアプロセッサでは、高周波で動作するコアが複数存在するため、その動作周波数の分周・逓倍した周波数にて高強度のノイズが発生する。また、周波数の向上に伴い消費電力も増加している。
【0006】
放射ノイズに関して、図1は、2つの信号S1,S2に対して周波数を横軸としてノイズ信号強度を縦軸に示す。図1に示すように、信号S1は、信号S2に比べて、信号強度の平均レベルは低いが、固有周波数でピーク的な信号が判断閾値若しくはそれを上回る。このような場合、信号S2の方が、ピーク的な信号が無いので、音響システム等への影響が小さくて済む。
【0007】
消費電力に関して、図2は、マイコンの消費電力の経時変化の一例を示す。図2に示すような電力変動があった場合、電子制御装置内の電源ICは、各時点ta1,a2,a3,…のピーク値(一定周期のソフトウェア処理で発生)を満足する電力供給能力に設計しなければならず、更に、このような電力変動に追従する変動追従能力が必要となり、コストアップの要因となってしまう。
【0008】
これらの問題点は、コアが一定周波数で動作していることが主要因であり、更にマルチコアの場合は、その影響がその分だけ顕著になる。
【0009】
これに対して、コアの動作周波数を時系列で変動させる対策が考えられる。しかしながら、マルチコアの場合、同様の態様で各コアの動作周波数を時系列で変動させると、コア数分だけ影響が重畳してしまうという問題が生ずる。
【0010】
そこで、本発明は、各コアの動作周波数を時系列で適切に変動させることで、放射ノイズ等の問題点を少なくとも部分的に解決することができるマルチコアプロセッサ及びこれを用いる車載電子制御装置の提供を目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明の一局面によれば、複数のコアを搭載したマルチコアプロセッサであって、
前記複数のコアは、同一の周期Tで周期的に周波数が変動する動作クロックで動作するように構成され、
コアの動作クロックの周波数の変動位相が、前記複数のコア間でずらされることを特徴とする、マルチコアプロセッサが提供される。
【発明の効果】
【0012】
本発明によれば、各コアの動作周波数を時系列で適切に変動させることで、放射ノイズ等の問題点を少なくとも部分的に解決することができるマルチコアプロセッサ等が得られる。
【図面の簡単な説明】
【0013】
【図1】2つの信号S1,S2に対して周波数を横軸としてノイズ信号強度を縦軸に示す図である。
【図2】マイコンの消費電力の経時変化の一例を示す図である。
【図3】図3(A)は、対称型のマルチコアを示し、図3(B)は、非対称型のマルチコアを示す図である。
【図4】コアの動作周波数の一例を示す図である。
【図5】図4に示したコアの動作周波数の変動態様を、全てのコアA,B,Cに同様に適用した場合の各種波形等を示す図である。
【図6】本発明の一例に従って、図4に示したコアの動作周波数の変動態様をコアA,B,Cに適用した場合の各種波形等を示す。
【図7】上述の本発明の好ましい実施例を実現するマイコン1の内部・外部回路構成の一例を示す図である。
【図8】図7に示したマイコン1の各コアA,B,Cの処理動作の一例のタイミングチャートである。
【図9】各コアA,B,Cの動作周波数の変動態様のその他の一例を示す図である。
【図10】その他の実施例によるマイコン(マルチコアプロセッサ)2の内部・外部回路構成の一例を示す図である。
【図11】コアCがスリープ中のときのコアA,Bの動作周波数の変動態様の波形を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明を実施するための最良の形態の説明を行う。
【0015】
図3(A)は、マルチコア構成のマイコン(マルチコアプロセッサ)のタイプとして対称型のマルチコアを示し、図3(B)は、非対称型のマルチコアを示す。これらのタイプのマルチコアでは、3つのコア(CPUコア)A,B,Cは、コア性能の等価性を有することが望ましい。本発明は、上記の対称型、非対称型又はその類を含む、任意のタイプのマルチコアプロセッサに対しても適用可能である。尚、以下では、ここで図示されるような3つのコアA,B,Cを、本発明の適用対象として説明する。しかしながら、本発明は、2つのコアや4つ以上のコアにも同様に適用可能である。
【0016】
図4は、コアの動作周波数の変動態様の一例を示す図である。図4に示す例では、コアの動作周波数は、一例として、100MHzを中心として±1MHzの範囲で正弦波状に変動するように設定されている。このようにコアの動作周波数を時系列で変動させる構成は、コアの動作周波数を常時固定する構成に比べて、コアの動作周波数の分周・逓倍した周波数にて生ずる放射ノイズの強度を低減することができる。
【0017】
図5は、図4に示したコアの動作周波数の変動態様を、全てのコアA,B,Cに同様に適用した場合の各種波形等を示す。即ち、図5は、全てのコアA,B,Cが同一位相で変動するクロック周波数で動作する場合の各種波形を示す。図5(A)は、コアA,B,Cの動作周波数の変動態様の波形(コアA,B,Cで同じであるため重なった波形)を示し、図5(B)は、ある一時点(本例では図5(A)のA部)でマイコンが発生するノイズ周波数と強度(相対値)を示し、図5(C)は、図5(A)と同一時系列で消費電力の時系列波形を示す。尚、図5(C)では、消費電力は、正規化された消費電力の波形で示されている。
【0018】
図5に示すように、全てのコアA,B,Cの動作周波数の変動態様が同一である場合、ノイズ信号は、3つのコアA,B,Cで同一周波数にて出現し、従って、ノイズ信号強度(合計)は、図5(B)に示すように、3つのコアA,B,Cに係る同一周波数で生じるノイズ(ピーク)の各強度が重畳したものとなる。
【0019】
また、全てのコアA,B,Cの動作に起因した消費電力(合計)は、全てのコアA,B,Cの各動作周波数の合計に依存して変化する。従って、全てのコアA,B,Cの動作周波数の変動態様が同一である場合、全てのコアA,B,Cの動作に起因した消費電力は、図5(C)に示すように、コアA,B,Cの動作周波数と同様の態様で変動する。このような場合、図2を参照して上述したように、消費電力のピーク値を満足する電力供給能力に設計しなければならず、更に、このような電力変動に追従する変動追従能力が必要となり、コストアップの要因となってしまう。
【0020】
図6は、本発明の好ましい実施例に従って、図4に示したコアの動作周波数の変動態様をコアA,B,Cに適用した場合の各種波形等を示す。図6(A)は、コアA,B,Cの動作周波数の変動態様の波形を示し、図6(B)は、ある一時点(本例では図6(A)のB部)でマイコンが発生するノイズ周波数と強度(相対値)を示し、図6(C)は、図6(A)と同一時系列で消費電力の時系列波形を示す。尚、図6(C)では、消費電力は、正規化された消費電力の波形で示されている。
【0021】
ここでは、本発明の好ましい実施例として、図4に示したコアの動作周波数の変動態様は、図6(A)に示すように、コアA,B,Cに対して、等間隔の位相のずれを持たせて適用される。即ち、コアA,B,Cの動作周波数は、図4に示した動作周波数の変動態様と同様の態様で変化するが、位相が互いに異なり、コアAの動作周波数の変動態様、コアBの動作周波数の変動態様、及び、コアCの動作周波数の変動態様は、図6(A)に示すように、位相が2π/3ずつずれている。
【0022】
この場合、ノイズ信号は、図6(B)に示すように、3つのコアA,B,Cで基本的に別々の周波数にて出現する。尚、ある時点では、3つのコアA,B,Cのうちの2つのコアに関して同一周波数でノイズ信号が生じるが、そのときも、他の1つのコアでは、当該同一周波数とは別の周波数でノイズ信号が生ずる。従って、図6に示すように、コアA,B,Cの動作周波数の変動位相を互いにずらすことにより、図6(B)に示すように(図5(B)対照参照)、各動作周波数でノイズ信号が重畳することを防止することができる。即ち、周波数変動を行っているのに加えて、コアA,B,C毎の動作周波数をずらすことにより、各コアA,B,Cの動作周波数に起因して発生する信号強度が重なることがなく、ノイズのピークを低減することができる。
【0023】
尚、3つのコアA,B,C毎にランダムに動作周波数を振る(割り当てる)構成も可能であるが、このような構成では、予想できないタイミングで動作周波数が一致してピークが発生する虞がある。
【0024】
この点、本発明の好ましい実施例では、3つのコアA,B,C毎に常に一定の位相ずれを持たせて動作周波数を変動させる。これにより、3つのコアA,B,Cに係る動作周波数が一致してピークが発生することはない。
【0025】
また、本発明の好ましい実施例では、上述の如く、全てのコアA,B,Cの動作に起因した消費電力(合計)は、全てのコアA,B,Cの各動作周波数の合計に依存して変化する。コアA,B,Cの各動作周波数の変動位相が等間隔にずれている場合、全てのコアA,B,Cの各動作周波数の合計は、時間に依存せず一定である。従って、本発明の好ましい実施例によれば、図6(C)に示すように、全てのコアA,B,Cの動作に起因した消費電力は、時間に依存せず一定となる。これにより、消費電力にピーク的・脈動的な変動が生じず、図2を参照して上述したような問題点を防止することができる。
【0026】
また、本発明の好ましい実施例では、上述の如く、3つのコアA,B,Cに対して位相をずらすものの同一範囲の動作周波数を適用させている。これにより、各コアA,B,Cの性能対称性(コア性能の等価性)を維持することができる。尚、各コアの動作周波数を異なる値に設定したり(例えば、コアAを105MHz、コアBを100MHz、コアCを95MHz)若しくはその値を中心周波数として変動させたりする方法も考えられるが、かかる方法では、各コアA,B,Cの処理性能に差が出てしまい、対称マルチコア/非対称マルチコア(図3参照)のコアA,B,Cの特徴であるコア性能の等価性を損なってしまう。これは、即ちアプリケーションの配置(コアA,B,Cのうちのどのコアで処理させるか)に制限が出てしまうことを意味する。
【0027】
図7は、上述の本発明の好ましい実施例を実現するマイコン(マルチコアプロセッサ)1の内部・外部回路構成の一例を示す図である。
【0028】
マイコン1は、3つのコアA,B,Cをそれぞれ含むサブシステム20A,20B,20Cと共に、発信回路12と、逓倍回路15と、3つの周波数スプレッダ16A,16B,16Cとを備える。発信回路12には、外部に設けられる発信子14が接続される。尚、発信子14は、マイコン1の内部に設けられてもよい。発信回路12の出力は、逓倍回路15に接続され、逓倍回路15の出力は、3つの周波数スプレッダ16A,16B,16Cに接続される。
【0029】
逓倍回路15は、典型的にはPLL(Phase Locked Loop)で構成され、発信回路12で励起したクロック源信号の周波数forg(内部クロック周波数)を逓倍する。即ち、fPLL=d×forg。ここで、fPLLは、逓倍回路15からのクロック信号の周波数を表し、dは定数である。尚、逓倍回路15は、低周波数の場合は省略されてもよいが、一般的に、数十MHz以上の場合は、発信回路12により励起される周波数を逓倍して使用するために必要とされる。
【0030】
周波数スプレッダ16A,16B,16Cは、コアA,B,Cのサブシステム20A,20B,20Cのそれぞれに対して設けられる。周波数スプレッダ16A,16B,16Cは、周波数を周期変動させるために設けられる。即ち、周波数スプレッダ16A,16B,16Cは、逓倍回路15からのクロック信号の周波数を周期変動させる。図示の例では、周波数スプレッダ16A,16B,16Cは、以下の態様で周期変動を行う。
fA(T)=fPLL×{1+e×sin(g×T)}
fB(T)=fPLL×{1+e×sin(g×T+2π/3)}
fC(T)=fPLL×{1+e×sin(g×T+4π/3)}
ここで、fA(T)は、周波数スプレッダ16Aでの周波数変動態様、即ちコアAの動作周波数の周波数変動態様を表し、fB(T)は、周波数スプレッダ16Bでの周波数変動態様、即ちコアBの動作周波数の周波数変動態様を表し、fC(T)は、周波数スプレッダ16Cでの周波数変動態様、即ちコアCの動作周波数の周波数変動態様を表す。e,gは、適当な定数である。上記の周波数スプレッダ16A,16B,16Cの変換式では、fPLLを中心周波数として、同一振幅(=fPLL×e)で周波数が正弦波で変動する。このとき、正弦波の位相は、fA(T)、fB(T)及びfC(T)間で2π/3ずつずらされている。このように上述の本発明の好ましい実施例に従って、周波数スプレッダ16A,16B,16Cは、各コアA,B,Cの動作周波数の変動位相が2π/3ずつずれる態様で各コアA,B,Cの動作周波数の周期変動を行う。
【0031】
図8は、図7に示したマイコン1の各コアA,B,Cの処理動作の一例のタイミングチャートである。
【0032】
図8に示す例では、1m周期処理の基点となる割込みタイミングが1つであり、そこから起動される1m周期処理は、例えばその瞬間(正確には、割込みから処理起動までの間)、コアBの動作周波数fB>コアAの動作周波数fA>コアCの動作周波数fCとなっている場合を想定する。この場合、起動される処理の開始タイミングもこの順序となる。ここで、周波数を100MHz±5%変動とし、割込みから処理起動までの間を50クロックとし、その瞬間のコアA,B,Cの動作周波数が、動作周波数fA=100MHz、動作周波数fB=102.5MHz、動作周波数fC=97.5MHzであるとき、起動までの時間の最大差は、コアBとコアCの間の差であるが、25nsとなる。このような非常に短い差は、処理の精度の問題とならない値である。処理中は、上述の如く各コアA,B,Cの動作周波数は変動している。一般的に、処理時間は、周波数変動周期に比較して非常に長いため、各コアA,B,Cの処理性能は、処理時間中に平均化されて略同一となる。従って、各コアA,B,Cの処理の終了タイミングは、図8のY部に示すように、開始タイミングの順序(図8のX部参照)と略同一となり、終了タイミングの差も開始タイミングの差と略同一となる。このように、上述の如く各コアA,B,Cの動作周波数の変動位相をずらした場合でも、処理動作に対する影響は生じない。即ち、ソフトウェア処理の設計者は、各コアA,B,Cの動作周波数の変動位相がずれていることに対して特別な配慮を行う必要はない。尚、図8に示す例は、上述の動作周波数の変動位相のずれの影響を考察するための便宜上、各コアA,B,Cの処理は全く同じ処理(ソフトウェアの処理内容)である場合を想定しているが、各コアA,B,Cの処理内容が異なる場合も、動作周波数の変動位相のずれの影響が実質的に生じないことは同様である。
【0033】
また、本実施例では、基本的にマイコン1の各コアA,B,Cを各時点で別の周波数で動作させることになるが、懸念される設計段階の検証に関しては、単一のコアを周波数変動させる場合と同様に、変動周波数の最低値及び最高値での検証を行うことにより、各コアA,B,Cが異なる周波数で動作する場合も検証可能である。これは、各コアA,B,Cが同一の周波数範囲で経時的にずらすのみである構成を採用している利点である。
【0034】
以上説明した本実施例によるマイコン1によれば、とりわけ、以下のような優れた効果が奏される。
【0035】
上述の如く、マルチコアのうちのN個(上述の例では、N=3)のコアについて、中心周波数±ΔF(上述の例では、中心周波数100MHz±1MHz)の範囲にて規則正しく変動させつつ、コア毎の周波数の経時変化を2π/Nずつずらすことにより、ノイズ強度を低減すると共に、N個のコアの処理能力(周波数の依存)に対称性(等分分配)を持たせ、消費電力の平準化を測ることができる。
【0036】
具体的には、周波数変動を行っていることに加えて、コア毎の周波数変動の位相をずらすことにより各コア周波数要因で発生する信号強度が重ならず、ピークを低減することができる(図5(B)及び図6(B)参照)。また、各コア間の位相ずれ量が等間隔であることにより、周波数に比例する消費電力の合計は一定値となり(図6(C)参照)、電源ICの効率的な設計が可能となる。また、位相のみが異なる同一の周波数変動態様でコアA,B,Cの動作周波数が設定されるので、コアA,B,Cの性能対称性を保つことができる。また、ソフトウェア設計に影響がなく(図8参照)、周波数変動のみを行う構成に比べて位相をずらすことを追加するだけであるので半導体設計において特段の検証も不要とすることができる。
【0037】
図9は、各コアA,B,Cの動作周波数の変動態様のその他の一例を示す図である。上述の実施例では、周波数スプレッダ16A,16B,16Cの変換式を正弦波(sin(T))にて一定周期で変動させているが、任意の周波数変動であってよい。例えば、図9に示すような態様で周波数を変動させてもよい。この場合も、周波数の変動周期の1/N(Nはコアの個数であり、図示の例では3)に相当する位相ずつずらすことで、上述と同様の効果を得ることができる。
【0038】
図10は、その他の実施例によるマイコン(マルチコアプロセッサ)2の内部・外部回路構成の一例を示す図である。本実施例のマイコン2では、各コアA,B,Cが常時動作しない状態が存在する構成を想定する。即ち、本実施例のマイコン2は、各コアA,B,Cがすべて動作する動作状態に加えて、各コアA,B,Cのうちの1つのコアのみが動作し他の2つのコアがスリープする動作状態、及び/又は、各コアA,B,Cのうちの2つのコアのみが動作し他の1つのコアがスリープする動作状態を含む。例えば、マイコン2は、AMP動作とSMP動作の切換が可能であり、AMP動作時にコアA,B,Cのうちの少なくとも1つがスリープする状態が発生する。尚、典型的には、AMP動作時、特定のコアに割当てられる機能(タスク等)が実行されていないときに、当該特定のコアがスリープすることになる。
【0039】
本実施例のマイコン2は、図7に示したマイコン1に対して、スリープ制御回路18を備える点、及び、各周波数スプレッダ16A,16B,16Cが位相レジスタ(位相Reg)19A,19B,19Cを備える点が、主に異なる。他の同様であってよい構成は、同一の参照符号を付して説明を省略する。
【0040】
周波数スプレッダ16A,16B,16Cは、以下の態様で周期変動を行う。
fA(T)=fPLL×{1+e×sin(g×T+α1)}
fB(T)=fPLL×{1+e×sin(g×T+α2)}
fC(T)=fPLL×{1+e×sin(g×T+α3)}
ここで、α1、α2、α3は、位相レジスタ19A,19B,19Cの各値によって定まる。
【0041】
スリープ制御回路18は、各コアA,B,Cの動作状態(動作中かスリープ中か)を判断し、その判断結果に応じて位相レジスタ19A,19B,19Cの各値α1、α2、α3を制御する。尚、各コアA,B,Cの動作状態の判断は、例えばソフトウェアからの情報に基づいて容易に実現することができる。
【0042】
位相レジスタ19A,19B,19Cの各値α1、α2、α3は、それぞれ、対応する周波数スプレッダ16A,16B,16Cの位相ずれ量を調整する機能を有する。即ち、周波数スプレッダ16A,16B,16Cの位相ずれ量は、対応する位相レジスタ19A,19B,19Cの各値α1、α2、α3により決定される。位相レジスタ19A,19B,19Cの各値α1、α2、α3は、上述の如くスリープ制御回路18により制御(書き換え)される。
【0043】
例えば、各コアA,B,Cが動作中であるときは、スリープ制御回路18は、位相レジスタ19A,19B,19Cの各値α1、α2、α3として、位相ずれ量0,2π/3,4π/3をそれぞれ書き込む。これにより、図6(A)に示したように、各コアA,B,Cの動作周波数(クロック信号の周波数)は、互いに対して2π/3位相がずれた変動位相で変動することになる。
【0044】
他方、例えば、コアA,Bが動作中でありコアCがスリープしているとき、スリープ制御回路18は、位相レジスタ19A,19Bの各値α1、α2として、位相ずれ量0,πをそれぞれ書き込む。これと同時に、コアCに対するクロック信号が停止される。尚、コアCに対するクロック信号の停止は、クロック・ゲーティングにより実現されてもよい。或いは、パワー・ゲーティングにより電力供給を遮断してコアCに対するクロック信号を停止してもよい。これにより、図11に示すように、各コアA,Bの動作周波数(クロック信号の周波数)は、互いに対してπ位相がずれた変動位相で変動することになる。従って、この場合も図6(A)に示した場合と同様の効果が得られる。即ち、各コア周波数要因のピークを低減することや、消費電力を一定すること等が可能となる。
【0045】
また、同様に、例えば、コアA,Cが動作中でありコアBがスリープしているとき、スリープ制御回路18は、位相レジスタ19A,19Cの各値α1、α3として、位相ずれ量0,πをそれぞれ書き込む。これと同時に、コアBに対するクロック信号が停止される。これにより、各コアA,Cの動作周波数(クロック信号の周波数)は、互いに対してπ位相がずれた変動位相で変動することになる。従って、この場合も、図6(A)に示した場合と同様に、各コア周波数要因のピークを低減することや、消費電力を一定すること等が可能となる。
【0046】
また、同様に、例えば、コアB,Cが動作中でありコアAがスリープしているとき、スリープ制御回路18は、位相レジスタ19B,19Cの各値α2、α3として、位相ずれ量2π/3,5π/3をそれぞれ書き込む。これと同時に、コアAに対するクロック信号が停止される。これにより、各コアB,Cの動作周波数(クロック信号の周波数)は、互いに対してπ位相がずれた変動位相で変動することになる。従って、この場合も、図6(A)に示した場合と同様に、各コア周波数要因のピークを低減することや、消費電力を一定すること等が可能となる。
【0047】
以上説明した実施例のマイコン2によれば、実施例のマイコン1と同様の効果に加えて、とりわけ、以下のような優れた効果が奏される。
【0048】
上述の如く、各コアA,B,Cの動作状態に応じて動作中のコアの動作周波数の変動位相のずれ量を適切に変化させることで、各コアA,B,Cの動作状態が変化した場合でも上述の各種効果を維持することができる。即ち、各コアA,B,Cの動作状態が変化した場合でも、動作中の各コアの動作周波数の変動位相が等間隔でずれた状態が維持されるので、周波数要因のノイズ信号の重畳の防止や消費電力の安定化等の効果を維持することができる。
【0049】
尚、以上説明した実施例のマイコン1,2は、車両を制御するように構成された車載電子制御装置(ECU)に組み込まれるのが好適である。この場合、各コアA,B,Cは、各種車載システム(例えば、周辺監視カメラによる周辺監視システム、駐車支援システム、ナビゲーションシステム等)のうちの1つのシステムの機能を協動して実行してもよいし、それぞれ別々のシステムの機能を独立して実行してもよい。
【0050】
以上、本発明の好ましい実施例について詳説したが、本発明は、上述した実施例に制限されることはなく、本発明の範囲を逸脱することなく、上述した実施例に種々の変形及び置換を加えることができる。
【0051】
例えば、上述した実施例では、3つのコアA,B,Cに対応して各コア間の位相ずれ量を2π/3に設定しているが、一般的に、N個のコアの場合、各コア間の位相ずれ量は、2π・m/Nにより表現される。ここで、mは、m≠N×l(l=0,1,2,3・・・)を満たす正の整数である。例えばN=3のときは、m=1,2,4,5,7,8・・・のいずれかであってよく、従って、各コア間の位相ずれ量は、2π/3、4π/3、8π/3、10π/3、14π/3、16π/3・・・のいずれかであってよい。
【符号の説明】
【0052】
A,B,C コア
1,2 マイコン
12 発信回路
14 発信子
15 逓倍回路
16A,16B,16C 周波数スプレッダ
18 スリープ制御回路
19A,19B,19C 位相レジスタ
20A,20B,20C サブシステム
【特許請求の範囲】
【請求項1】
複数のコアを搭載したマルチコアプロセッサであって、
前記複数のコアは、同一の周期Tで周期的に周波数が変動する動作クロックで動作するように構成され、
コアの動作クロックの周波数の変動位相が、前記複数のコア間でずらされることを特徴とする、マルチコアプロセッサ。
【請求項2】
前記複数のコアの数は、2以上の整数Nであり、
各コアの動作クロックの周波数の変動位相は、時間T/Nに相当する位相ずつずらされる、請求項1に記載のマルチコアプロセッサ。
【請求項3】
コアの動作クロックの周波数が変動する際の中心周波数は、前記複数のコア間で同一であり、
コアの動作クロックの周波数の変動振幅は、前記複数のコア間で同一である、請求項1又は2に記載のマルチコアプロセッサ。
【請求項4】
コアの動作クロックの周波数の変動態様は、前記複数のコア間で、前記変動位相がずらされる以外は同一である、請求項1又は2に記載のマルチコアプロセッサ。
【請求項5】
前記複数のコアの動作状態に応じて、動作中のコア間での動作クロックの周波数の変動位相のずれ量を変化させる、請求項1又は2に記載のマルチコアプロセッサ。
【請求項6】
請求項1〜5のうちのいずれか1項に記載のマルチコアプロセッサを備え、車両に搭載され、該車両を制御するように構成された車載電子制御装置。
【請求項1】
複数のコアを搭載したマルチコアプロセッサであって、
前記複数のコアは、同一の周期Tで周期的に周波数が変動する動作クロックで動作するように構成され、
コアの動作クロックの周波数の変動位相が、前記複数のコア間でずらされることを特徴とする、マルチコアプロセッサ。
【請求項2】
前記複数のコアの数は、2以上の整数Nであり、
各コアの動作クロックの周波数の変動位相は、時間T/Nに相当する位相ずつずらされる、請求項1に記載のマルチコアプロセッサ。
【請求項3】
コアの動作クロックの周波数が変動する際の中心周波数は、前記複数のコア間で同一であり、
コアの動作クロックの周波数の変動振幅は、前記複数のコア間で同一である、請求項1又は2に記載のマルチコアプロセッサ。
【請求項4】
コアの動作クロックの周波数の変動態様は、前記複数のコア間で、前記変動位相がずらされる以外は同一である、請求項1又は2に記載のマルチコアプロセッサ。
【請求項5】
前記複数のコアの動作状態に応じて、動作中のコア間での動作クロックの周波数の変動位相のずれ量を変化させる、請求項1又は2に記載のマルチコアプロセッサ。
【請求項6】
請求項1〜5のうちのいずれか1項に記載のマルチコアプロセッサを備え、車両に搭載され、該車両を制御するように構成された車載電子制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−159129(P2011−159129A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−20624(P2010−20624)
【出願日】平成22年2月1日(2010.2.1)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願日】平成22年2月1日(2010.2.1)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]