(57)【要約】【課題】キャッシュメモリからメインメモリへのデータの書き戻し時間を短縮することができる情報処理装置を提供する。【解決手段】  情報処理装置１は、キャッシュメモリ７，８を有するコア２，３が内蔵されたマルチコアＣＰＵ４と、マルチコアＣＰＵ４と接続されたＤＲＡＭ６とを備えている。キャッシュメモリ７，８には、キャッシュデータを含む情報と当該情報をコア２，３の何れに移動させるかを示すバランス情報とがキャッシュライン毎に記憶されている。マルチコアＣＰＵ４は、バランス情報を参照してキャッシュメモリ７，８のキャッシュ使用量を平均化するようにキャッシュメモリ７，８間で情報を移動させるキャッシュバランス制御部１３と、その情報の移動が行われた後に、キャッシュメモリ７，８に記憶されたキャッシュデータをＤＲＡＭ６に書き戻すキャッシュ書き戻し制御部１４とを有している。【選択図】図１
2011145891.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリをもったコアを複数有するプロセッサと、前記プロセッサと接続されたメインメモリとを備えた情報処理装置において、
前記各コアの前記キャッシュメモリのデータを前記メインメモリに書き戻すデータ書き戻し手段と、
前記データ書き戻し手段により前記キャッシュメモリのデータを前記メインメモリに書き戻す前に、前記各コアの前記キャッシュメモリに記憶されるデータ量を実質的に平均化するデータ量平均化手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記キャッシュメモリには、前記各コアの前記キャッシュメモリのデータ量を実質的に平均化するために前記各コアのうち何れのコアの前記キャッシュメモリにデータを移動させるかを示すバランス情報が記憶されており、
前記データ量平均化手段は、前記バランス情報に基づいて前記各コアの前記キャッシュメモリに記憶されるデータ量を実質的に平均化することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記メインメモリは、外部バスを介して前記プロセッサと接続されており、
前記各コアは、前記外部バスよりも高速で通信可能な内部バスを介して相互に接続されており、
前記データ量平均化手段は、前記キャッシュメモリのデータを前記内部バスを介して前記各コア間で移動させることにより、前記各コアの前記キャッシュメモリに記憶されるデータ量を実質的に平均化することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記データ量平均化手段は、車載バッテリの電圧が所定値よりも低下したときに、前記各コアの前記キャッシュメモリに記憶されるデータ量を実質的に平均化することを特徴とする請求項１〜３のいずれか一項記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコアを有するプロセッサとメインメモリとを備えた情報処理装置に関するものである。
【背景技術】
【０００２】
従来の情報処理装置としては、例えば特許文献１に記載されているように、キャッシュメモリを有する２つのプロセッサと、これらのプロセッサに共有使用されるメインメモリとを備え、実行中のスレッドを待機状態にする際に、キャッシュメモリの内容をメインメモリに書き戻すようにしたものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−２１２４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術においては、各プロセッサがキャッシュメモリに記憶されているデータをメインメモリに書き戻す。このとき、各プロセッサがデータの書き戻しを一斉に行う場合には、データ量が最も多いキャッシュメモリを有するプロセッサがデータの書き戻しを終えるまで、全体としての書き戻し処理が終了しないため、結果的にデータの書き戻しに要する時間（書き戻し時間）が長くなってしまう。
【０００５】
本発明の目的は、キャッシュメモリからメインメモリへのデータの書き戻し時間を短縮することができる情報処理装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、キャッシュメモリをもったコアを複数有するプロセッサと、プロセッサと接続されたメインメモリとを備えた情報処理装置において、各コアのキャッシュメモリのデータをメインメモリに書き戻すデータ書き戻し手段と、データ書き戻し手段によりキャッシュメモリのデータをメインメモリに書き戻す前に、各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化するデータ量平均化手段とを備えることを特徴とするものである。
【０００７】
このように本発明の情報処理装置においては、各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化してから、各コアのキャッシュメモリのデータをメインメモリに書き戻すことにより、各コアのキャッシュメモリに記憶された最初のデータ量が異なっている場合には、最初のデータ量が少ないキャッシュメモリを有するコアが、最初のデータ量が多いキャッシュメモリを有するコアによるデータの書き戻し処理を一部代行することとなる。これにより、各コアのキャッシュメモリからメインメモリへのデータの書き戻し時間が短縮される。
【０００８】
好ましくは、キャッシュメモリには、各コアのキャッシュメモリのデータ量を実質的に平均化するために各コアのうち何れのコアのキャッシュメモリにデータを移動させるかを示すバランス情報が記憶されており、データ量平均化手段は、バランス情報に基づいて各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化する。この場合には、簡単な方法で且つ確実に各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化することができる。
【０００９】
また、好ましくは、メインメモリは、外部バスを介してプロセッサと接続されており、各コアは、外部バスよりも高速で通信可能な内部バスを介して相互に接続されており、データ量平均化手段は、キャッシュメモリのデータを内部バスを介して各コア間で移動させることにより、各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化する。このように高速で通信可能な内部バスを用いることにより、各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化する処理に要する時間が短くなる。その結果、各コアのキャッシュメモリからメインメモリへのデータの書き戻し時間を一層短縮することができる。
【００１０】
さらに、好ましくは、データ量平均化手段は、車載バッテリの電圧が所定値よりも低下したときに、各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化する。本発明の情報処理装置が車載システムに適用される場合、バッテリの電圧低下等によりバッテリの状態が不安定になると、システムが停止することがある。従って、バッテリの電圧が所定値よりも低下したときに、各コアのキャッシュメモリに記憶されるデータ量を実質的に平均化し、その後各コアのキャッシュメモリのデータをメインメモリに書き戻すのが好適である。このとき、上述したように各コアのキャッシュメモリからメインメモリへのデータの書き戻し時間が短縮されるため、システムが停止する前にデータを保護することができる。
【発明の効果】
【００１１】
本発明によれば、キャッシュメモリからメインメモリへのデータの書き戻し時間を短縮することができる。これにより、データの保護を有利に実現することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係わる情報処理装置の一実施形態の構成を示すブロック図である。
【図２】図１に示した各コアのキャッシュメモリに記憶された情報を移動させる様子の一例を示す図である。
【図３】図２に示した情報の移動前後における各コアのキャッシュ使用量を示す図である。
【図４】本発明に係わる情報処理装置の他の実施形態の構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、本発明に係わる情報処理装置の好適な実施形態について、図面を参照して詳細に説明する。
【００１４】
図１は、本発明に係わる情報処理装置の一実施形態の構成を示すブロック図である。同図において、本実施形態の情報処理装置１は、自動車等の車両に搭載された車載用ナビシステムに適用されるものである。
【００１５】
情報処理装置１は、コア２，３が内蔵されたマルチコアＣＰＵ４と、このマルチコアＣＰＵ４と外部バス５を介して接続されたメインメモリであるＤＲＡＭ６とを備えている。
【００１６】
コア２，３は、キャッシュメモリ７，８をそれぞれ有している。キャッシュメモリ７，８は、キャッシュライン毎に主情報記憶部９及びバランス情報記憶部１０を有している。主情報記憶部９には、キャッシュデータを含む情報が記憶される。
【００１７】
バランス情報記憶部１０には、コア２，３のキャッシュ使用量を所望の比率に設定するために、キャッシュデータの移動（後述）の際に各キャッシュラインのキャッシュデータをコア２，３の何れに移動させるべきかを事前に決めておく情報であるバランス情報が記憶される。ここでは、コア２，３のキャッシュ使用量を均等化するために、バランス情報としては、使用するキャッシュライン毎にコア２に相当する「Core1」とコア３に相当する「Core2」とが交互に指定されている（図２参照）。
【００１８】
マルチコアＣＰＵ４は、上記のコア２，３に加え、内部バス１１と、キャッシュコヒーレンシー制御部１２と、キャッシュバランス制御部１３と、キャッシュ書き戻し制御部１４とを有している。キャッシュバランス制御部１３には、ユーザがキャッシュデータの移動及び書き戻しを指示するための指示スイッチ１５が接続されている。
【００１９】
内部バス１１は、キャッシュメモリ７，８間で情報のやりとりを行うためのバスであり、上記の外部バス５よりも高速で通信可能である。キャッシュコヒーレンシー制御部１２は、キャッシュメモリ７，８間の一致性を保証するものである。
【００２０】
キャッシュバランス制御部１３は、指示スイッチ１５によりキャッシュデータの移動及び書き戻しが指示されると、内部バス１１を利用してキャッシュメモリ７，８間で情報を移動させる。具体的には、キャッシュバランス制御部１３は、キャッシュメモリ７，８の各キャッシュラインのバランス情報記憶部１０に記憶されたバランス情報を参照して、キャッシュメモリ７，８の各キャッシュラインの主情報記憶部９に記憶された情報の維持及び移動を決定し、それに従ってキャッシュメモリ７，８のキャッシュ使用量を平均化するようにキャッシュメモリ７，８間で情報を移動させる。
【００２１】
例えば図２に示すように、最初はコア２のキャッシュメモリ７における任意のキャッシュラインが全て使用され、コア３のキャッシュメモリ８における任意のキャッシュラインのうち一部だけが使用されているものとする。この場合、図３に示すように、キャッシュメモリ７のキャッシュ使用量は１００％であり、キャッシュメモリ８のキャッシュ使用量は５０％であるとする。
【００２２】
このとき、ユーザによってキャッシュメモリ７，８間でのキャッシュデータの移動が指示されると、キャッシュメモリ７においてバランス情報が「Core2」となっているキャッシュラインの情報がキャッシュメモリ８において空き（未使用）状態となっているキャッシュラインに移動すると共に、キャッシュメモリ８においてバランス情報が「Core1」となっているキャッシュラインの情報がキャッシュメモリ７において空き状態となっているキャッシュラインに移動する。これにより、キャッシュメモリ７には、バランス情報が「Core1」である情報のみが記憶され、キャッシュメモリ８には、バランス情報が「Core2」である情報のみが記憶されるようになる。その結果、図３に示すように、キャッシュメモリ７，８のキャッシュ使用量は、何れも７５％と等しくなる。
【００２３】
図１に戻り、キャッシュ書き戻し制御部１４は、キャッシュバランス制御部１３によってキャッシュメモリ７，８間での情報の移動が行われた後、キャッシュメモリ７，８に記憶されたキャッシュデータを同時に外部バス５を介してＤＲＡＭ６に書き戻す。
【００２４】
以上において、キャッシュ書き戻し制御部１４は、各コア２，３のキャッシュメモリ７，８のデータをメインメモリ６に書き戻すデータ書き戻し手段を構成する。キャッシュバランス制御部１３は、データ書き戻し手段によりキャッシュメモリ７，８のデータをメインメモリ６に書き戻す前に、各コア２，３のキャッシュメモリ７，８に記憶されるデータ量を実質的に平均化するデータ量平均化手段を構成する。
【００２５】
ところで、上記のような情報処理装置１が適用される車載用ナビシステムでは、車両に搭載されたバッテリを電源として使用している。そのため、渋滞走行中のエアコン使用や長時間放置後のエンジン始動時などで電源が不安定になることがある。ナビシステムの動作中に電源が不安定になったときは、重要なデータをＤＲＡＭ６に保存した後、省電力モードに移行するようにしている。このとき、キャッシュメモリ７，８に保存されているキャッシュデータをＤＲＡＭ６に書き戻す必要があるが、この書き戻し処理は、バッテリが切れる前の一定時間内に完了させなければならない。
【００２６】
ここで、例えば図３に示すように、キャッシュメモリ７のキャッシュ使用量が１００％であり、キャッシュメモリ８のキャッシュ使用量が５０％である場合に、コア２，３によってキャッシュメモリ７，８からＤＲＡＭ６へのキャッシュデータの書き戻しが同時に実施されると、コア２のキャッシュメモリ７のキャッシュ使用量１００％分の書き戻しに要する時間が、全体としての書き戻し所要時間となる。例えば１％当たり１単位時間とすれば、全体としての書き戻し所要時間は１００単位時間となる。
【００２７】
これに対し本実施形態では、コア２，３のキャッシュメモリ７，８に記憶されたバランス情報に基づいてキャッシュメモリ７，８のキャッシュ使用量を平均化するようにしたので、例えばキャッシュメモリ７の最初のキャッシュ使用量がキャッシュメモリ８の最初のキャッシュ使用量よりも多い場合には、キャッシュメモリ７のキャッシュ使用量が少なくなる。そして、その状態でキャッシュメモリ７，８からＤＲＡＭ６に一斉にキャッシュデータを書き戻すので、キャッシュデータの書き戻し所要時間を短縮することができる。
【００２８】
具体的には、例えば図３に示すように、最初のキャッシュメモリ７のキャッシュ使用量が１００％であり、最初のキャッシュメモリ８のキャッシュ使用量が５０％である場合には、キャッシュメモリ７，８のキャッシュ使用量が何れも７５％となるように平均化されるので、全体としてのキャッシュデータの書き戻し所要時間は１００単位時間から７５単位時間に短縮されることとなる。
【００２９】
これにより、バッテリが切れる前の一定時間内にキャッシュメモリ７，８からＤＲＡＭ６にキャッシュデータの書き戻すことが可能となり、動作中に電源が不安定になっても重要なデータを確実に保護することができる。
【００３０】
図４は、本発明に係わる情報処理装置の他の実施形態の構成を示すブロック図である。図中、上述した実施形態と同一または同等の要素には同じ符号を付し、その説明を省略する。
【００３１】
同図において、本実施形態の情報処理装置１は、キャッシュバランス制御部１３に接続され、バッテリ１６の電圧（バッテリ電圧）を検出する電圧センサ１７を備えている。
【００３２】
キャッシュバランス制御部１３は、電圧センサ１７で検出されたバッテリ電圧が予め決められた規定値よりも低下したかどうかを判断し、バッテリ電圧が規定値よりも低下したときに、コア２，３のキャッシュメモリ７，８に記憶されたバランス情報に基づいてキャッシュメモリ７，８のキャッシュ使用量を平均化する。
【００３３】
この場合には、ナビシステムの動作中にバッテリ１６の状態が不安定になることで、バッテリ電圧が規定値よりも下がると、自動的にキャッシュメモリ７，８のキャッシュ使用量が平均化され、キャッシュメモリ７，８からＤＲＡＭ６にキャッシュデータが書き戻されることとなる。
【００３４】
なお、本発明は、上記実施形態に限定されるものではない。例えば上記実施形態では、各キャッシュメモリのキャッシュ使用量を完全に同じ量にするように平均化したが、必ずしも各キャッシュメモリのキャッシュ使用量を完全に同じ量にする必要は無く、キャッシュ使用量の平均化処理を実行する前よりも、各キャッシュメモリのキャッシュ使用量の差が小さくなれば良い。
【００３５】
また、上記実施形態の情報処理装置１は、車両に搭載された車載用ナビシステムに適用されるものであるが、本発明は、２つ以上のコアを有するマルチプロセッサとメインメモリとを備えたものであれば、車載用のシステムに限らず適用可能である。
【符号の説明】
【００３６】
１…情報処理装置、２，３…コア、４…マルチコアＣＰＵ（プロセッサ）、５…外部バス、６…ＤＲＡＭ（メインメモリ）、７，８…キャッシュメモリ、１１…内部バス、１３…キャッシュバランス制御部（データ量平均化手段）、１４…キャッシュ書き戻し制御部（データ書き戻し手段）、１６…バッテリ、１７…電圧センサ。
【図１】
2011145891.tif 000003
【図２】
2011145891.tif 000004
【図３】
2011145891.tif 000005
【図４】
2011145891.tif 000006