(57)【要約】【課題】  マルチコアプロセッサにおいて、入出力の経路であるバスを効率的に空間多重及び時間多重して使用する必要があるため、マルチコアプロセッサにおけるバスの多重状態を監視すること。【解決手段】  複数の各コアプロセッサ（１〜３）にはそれぞれにＬ１メモリが付属され、このメモリが付属されたコアプロセッサ（１〜３）は、それぞれがマルチコアプロセッサの内部バスによりＬ２メモリ（４〜７）に接続され、ＳＤＲＡＭ（９）に、メモリコピー及びＤＭＡ転送時にＬ２メモリ（４〜７）にアクセスするためのバスの多重状態を記憶するバス多重状態記憶テーブル１１備える。【選択図】図１
2008262457.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアプロセッサを１個のパッケージに集積したマルチコアプロセッサのバス多重監視方法において、
複数の各コアプロセッサにはそれぞれにメモリが付属され、前記メモリが付属された複数のコアプロセッサは、それぞれがマルチコアプロセッサの内部バスにより複数のメモリに接続され、メモリコピー及びＤＭＡ転送時に、複数のメモリにアクセスするためのバスの多重状態を記憶することを特徴とするマルチコアプロセッサのバス多重監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサに関し、特に、空間多重又は時分割して使用しているバス使用状態を記憶するマルチコアプロセッサに関する。
【背景技術】
【０００２】
従来、シングルコアプロセッサにマルチタスクＯＳ（Ｍｕｌｔｉｔａｓｋｉｎｇ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を搭載する事によってマルチタスク動作を実現し、シングルコアプロセッサの周波数を上げる事によって処理能力を高め、リアルタイム性能を向上してきた。
【０００３】
このようなシングルコアプロセッサの場合、プロセッサの監視方法としては、バスを外部ピンに出力して、他の測定器等で本信号を取り込み監視または解析する方法があるが、これは高速なバス動作に耐えられないという問題がある。また、周波数を上げてプロセッサの能力を高める方法は熱、消費電力の面で限界に近づきつつある。
【０００４】
これに対し、マルチコアプロセッサ構成をとれば周波数を上げずに処理能力を高めることが出来、熱、消費電力の面でシングルコアプロセッサより有利であるが、メモリの排他、入出力リソースの排他、データの同一性保持が複雑になるというデメリットがある。
さらに、マルチコアプロセッサの演算能力を最大限に発揮するにはデータの入出力を効率的に行う必要がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
解決しようとする課題は、マルチコアプロセッサにおいて、入出力の経路であるバスを効率的に空間多重及び時間多重して使用する必要があるため、マルチコアプロセッサにおけるバスの多重状態を監視することにある。
【課題を解決するための手段】
【０００６】
本発明は、上記課題を鑑みて為されたものであり、複数のコアプロセッサを１個のパッケージに集積したマルチコアプロセッサのバス多重監視方法において、複数の各コアプロセッサにはそれぞれにメモリが付属され、前記メモリが付属された複数のコアプロセッサは、それぞれがマルチコアプロセッサの内部バスにより複数のメモリに接続され、メモリコピー及びＤＭＡ転送時に、複数のメモリにアクセスするためのバスの多重状態を記憶することでバス多重状態を監視することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、特に、周期的に動作するベースバンド処理等のアプリケーションにおいて、マルチコアプロセッサにおけるバスの多重状態を記憶しておき、この記憶しておくことで、バスが輻輳していることを解析することができ、プログラムを最適化することによって、効率よくバスを使用することが可能となり、マルチコアプロセッサの豊富な演算能力を生かすことができる。
また、バスの多重状態を記憶して解析することで、メモリ転送又はＤＭＡ転送タイミング設計が、正常に動作しているかを検証することができる。
【発明を実施するための最良の形態】
【０００８】
以下に本発明の実施の形態について図を用いて一実施例を説明する。
図１は、本発明の実施形態における構成を示すブロック図の一実施例であり、図２は、本発明の実施形態におけるマルチタスク構成の一実施例である。
図１中のコアプロセッサ０（１）、コアプロセッサ１（２）、コアプロセッサ２（３）のそれぞれは、コア０、コア１、コア２と、各コアにＬ１メモリがそれぞれ付属する複数のコアプロセッサで、内部バスを介して複数のＬ２メモリ０（４）、Ｌ２メモリ１（５）、Ｌ２メモリ２（６）、Ｌ２メモリ３（７）に接続されている。内部バスと外部バス間には、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  ＡｃｃｅｓｓであるＤＭＡ（１２）が接続され、更に、外部バスには、ＨＯＳＴプロセッサ（８）、ＳＤＲＡＭ（９）、通信デバイス（１０）が接続され、各コアには、割り込みコントローラ（１３）が接続されている。
【０００９】
また、各コアのＬ１メモリ又はＬ２メモリには、各コアで動作するプログラム及びデータが記憶されている。また、各コアは、単位時間毎に割り込みコントローラ（１３）から割り込みを受けることにより、時刻カウンタをカウントアップして現在時刻を得る機能を備えている。また、ＳＤＲＡＭ（９）には、バスの多重状態を記憶するためのバス多重記憶テーブルを備えている。
【００１０】
本実施例に示すマルチコアプロセッサでは、図１中のようにコアプロセッサ０（１）、コアプロセッサ１（２）、コアプロセッサ２（３）は、各コアにＬ１メモリがそれぞれ付属する複数のコアプロセッサで、内部バスを介して複数のＬ２メモリ０（４）、Ｌ２メモリ１（５）、Ｌ２メモリ２（６）、Ｌ２メモリ３（７）に接続されている。
ここで、各コアプロセッサから内部バスへのアクセスは、空間的に多重されており、アドレスの上位ビットを切り替えることによりどのバスを使用して複数のＬ２メモリにアクセスするかを切り替えることができる。
より具体的には、各コアのプログラム中にて呼び出されるメモリ関数及びＤＭＡ転送関数の引数にどのバスを使用するかのパラメータを追加するか、又は、関数内部で転送先アドレス及び転送先アドレスの上位ビットを判定することにより、使用されるバスを切り替えるようにする。
【００１１】
次に、ＳＤＲＡＭ（９）が備えるバスの多重状態を記憶するためのバス多重記憶テーブルについて、図２を用いて説明する。
ＳＤＲＡＭ（９）が備えるバス多重記憶テーブルは、例えば、図２のような構造であり、６６．６μ秒を１単位として、Ｔ０〜Ｔ１４９９までの１秒分を記憶できる。また、Ｓ０はＬ２メモリ０（４）用内部バスを表し、Ｓ１はＬ２メモリ１（５）用内部バスを表し、Ｓ２はＬ２メモリ２（６）用内部バスを表し、Ｓ３はＬ２メモリ３（７）用内部バスを表し、４つのバスの多重状態を記憶することができる。
ここで、１単位時間の状態記憶用データは、本実施例では、Ｄ００〜Ｄ１５の１６ｂｉｔで表し、１単位時間中で８回分のメモリ転送又はＤＭＡ転送を記憶することができる構成となっている。
【００１２】
このバス多重記憶テーブルは、メモリ転送関数及びＤＭＡ転送関数処理内にて、転送開始前と転送終了時に更新されるものである。
具体的には、メモリコピー及びＤＭＡ転送の一度目の転送開始時は、対象空間（バス）Ｓ０〜Ｓ３及び対象時間Ｔ０〜Ｔ１４９９のうち該当する１単位時間の状態記憶用データの、Ｄ１４が「０」であることを確認した後に、Ｄ１５、Ｄ１３、Ｄ１１・・・、Ｄ０１の順に、１単位時間の状態記憶用データを確認し、初めて「０」が現れたｂｉｔに対して「１」を書き込む。また、メモリコピー及びＤＭＡ転送の一度目の転送終了時は、１単位時間の状態記憶用データの、Ｄ１４、Ｄ１２、Ｄ１０・・・、Ｄ００の順に確認し、初めて「０」が現れたｂｉｔに対して「１」を書き込む。
【００１３】
すなわち、初期状態においては、Ｄ００〜Ｄ１５には、「０」が書き込まれており、メモリコピー及びＤＭＡ転送の一度目の転送開始時は、対象空間（バス）Ｓ０〜Ｓ３及び対象時間Ｔ０〜Ｔ１４９９のうち該当する１単位時間の状態記憶用データの、Ｄ１４が「０」であることを確認して、Ｄ１５に「１」が書き込まれ、一度目の転送が終了すると、Ｄ１４に「１」が書き込まれ、二度目の転送開始時には、Ｄ１３に「１」が書き込まれるようになる。以降、順次メモリコピー及びＤＭＡ転送が行われる毎に、１単位時間として６６．６μ秒分の状態記憶用データが更新される。
【００１４】
このようにすることにより、Ｔ０〜Ｔ１４９９までの１秒分の４つのバスの多重状態が記憶されることとなり、バスの多重状態を把握することが可能となる。
【００１５】
また、バス多重状態記憶テーブルを多面構成にして、使用済面を通信デバイス又はＨＯＳＴプロセッサ（８）を経由して外部ＰＣに出力するようにしてもよく、更に、外部出力されたバス多重記憶テーブルのデータは、外部ＰＣにおいて、視覚化できるように加工して、解析するようにしても構わない。
【００１６】
更に、各コアからバス状態テーブルへのアクセス競合を回避するために、セマフォによる排他制御を使用するか、又は各コア専用にバス多重テーブルをＳＤＲＡＭ（９）に備える構成にしても構わない。
【００１７】
尚、上記にて本発明の実施の形態について一実施例を説明したが、実施に関わる構成は上記実施例に限定されるものではなく、又本発明の構成の組み合わせも全てが必須であるとは限らない。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態における構成を示すブロック図の一実施例を示す図である。
【図２】本発明の実施形態におけるバス多重記憶テーブルの構成例を示す図である。
【符号の説明】
【００１９】
１…コアプロセッサ０、２…コアプロセッサ１、３…コアプロセッサ２、４…Ｌ２メモリ０、５…Ｌ２メモリ１、６…Ｌ２メモリ２、７…Ｌ２メモリ３、８…ＨＯＳＴプロセッサ、９…ＳＤＲＡＭ、１０…通信デバイス、１１…セレクタ、１２…ＤＭＡ、１３…割り込みコントローラ
【図１】
2008262457.tif 000003
【図２】
2008262457.tif 000004