(57)【要約】【課題】  解決しようとする課題は、マルチコアプロセッサを最適な状態でマルチタスク動作させ、信号処理システムなどのリアルタイム要求に答える様に動作させると共に、さらにそのリアルタイム性をくずさずにコアプロセッサの動作を監視することである。【解決手段】  マルチコアプロセッサにおいて、メモリが付属された複数のコアプロセッサは、それぞれが内部バスによりセレクタを介して異なる複数のメモリに接続され、セレクタがコアプロセッサからのアドレス指定またはレジスタ設定により複数のメモリからアクセス先のメモリを１つまたは複数選択し、コアプロセッサとメモリ間でライトアクセス可能なように構成され、メモリの内容をマルチコアプロセッサ外部に出力することで実現した。【選択図】図１
2007280209.tif 000002
【特許請求の範囲】
【請求項１】
複数のコアプロセッサを１個のパッケージに集積したマルチコアプロセッサにおいて、複数の各コアプロセッサにはそれぞれにメモリが付属され、前記メモリが付属された複数のコアプロセッサは、それぞれがマルチコアプロセッサの内部バスにより接続されると共にセレクタを介して異なる複数のメモリに接続され、セレクタがコアプロセッサからのアドレス指定またはレジスタ設定により前記複数のメモリからアクセス先のメモリを１つまたは複数選択し、コアプロセッサと前記メモリ間でライトアクセス可能なように構成され、前記メモリの内容をマルチコアプロセッサ外部に出力することによりコアプロセッサのメモリアクセス動作を監視することを特徴とするマルチコアプロセッサの監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチコアプロセッサの監視方法に関し、特に各コアプロセッサのメモリアクセスを用いた監視方法に関する。
【背景技術】
【０００２】
従来、シングルコアプロセッサにマルチタスクＯＳ（Ｍｕｌｔｉｔａｓｋｉｎｇ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を搭載する事によってマルチタスク動作を実現し、シングルコアプロセッサの周波数を上げる事によって処理能力を高め、リアルタイム性能を向上してきた。シングルコアプロセッサの場合、プロセッサの監視方法としては、バスを外部ピンに出力して、他の測定器等で本信号を取り込み監視または解析する方法があるが、これは高速なバス動作に耐えられないという問題がある。また、周波数を上げてプロセッサの能力を高める方法は熱、消費電力の面で限界に近づきつつある。
また、従来からワンチップでない複数のプロセッサからなるシステムはあるが、この場合のプロセッサの監視は、複数のプロセッサが共有メモリまたは通信デバイスを介してソケット通信等を行い、ヘルスチェック等のメッセージでお互いのタスクを監視していた。この方法は、簡易的な監視であるので、時間応答性能の厳しい信号処理システムなどの詳細な動作を監視または解析することはできないという問題がある。
【０００３】
これに対し、マルチコアプロセッサ構成をとれば周波数を上げずに処理能力を高めることが出来、熱、消費電力の面でシングルコアプロセッサより有利であるが、メモリの排他、入出力リソースの排他、データの同一性保持が複雑になるというデメリットがある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
解決しようとする課題は、マルチコアプロセッサを最適な状態でマルチタスク動作させ、信号処理システムなどのリアルタイム要求に答える様に動作させると共に、さらにそのリアルタイム性をくずさずにコアプロセッサの動作を監視することである。
【課題を解決するための手段】
【０００５】
本発明は、上記課題を鑑みて為されたものであり、複数のコアプロセッサを１個のパッケージに集積したマルチコアプロセッサにおいて、複数の各コアプロセッサにはそれぞれにメモリが付属され、メモリが付属された複数のコアプロセッサは、それぞれがマルチコアプロセッサの内部バスにより接続されると共にセレクタを介して異なる複数のメモリに接続され、セレクタがコアプロセッサからのアドレス指定またはレジスタ設定により複数のメモリからアクセス先のメモリを１つまたは複数選択し、コアプロセッサとメモリ間でライトアクセス可能なように構成され、メモリの内容をマルチコアプロセッサ外部に出力することによりコアプロセッサのメモリアクセス動作を監視することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、時間応答性能の厳しい信号処理システム等に対し、コアプロセッサに負荷をかけずにマルチコアプロセッサのメモリアクセスの結果を外部に出力する機能を実現できる。
例えば、複数のコアプロセッサとセレクタを介して接続された複数のメモリの内、１つのメモリにスタックを配置し、異なるメモリを介して内容を外部に出力することにより、関数呼出のトレースをする機能を実現できる。
また、複数のコアプロセッサとセレクタを介して接続された複数のメモリの内、１つのメモリにＴＣＢ（タスクコンテキストブロック）を配置し、異なるメモリを介して内容を外部に出力することにより、タスク状態を監視する機能を実現できる。
【発明を実施するための最良の形態】
【０００７】
複数のコアプロセッサが内部バスにより接続されると共にセレクタを介して異なる複数のメモリに接続され、セレクタがコアプロセッサからのアドレス指定またはレジスタ設定により複数のメモリからアクセス先のメモリを１つまたは複数選択し、コアプロセッサとメモリ間でライトアクセス可能なように構成され、メモリの内容をマルチコアプロセッサ外部に出力することによりコアプロセッサのメモリアクセス動作を監視することで実現した。
【実施例１】
【０００８】
以下に本発明の実施の形態について図を用いて一実施例を説明する。
図１は、本発明の実施形態における構成を示すブロック図の一実施例であり、図２は、本発明の実施形態におけるマルチタスク構成の一実施例である。
図１中のコアプロセッサ０（１）、コアプロセッサ１（２）、コアプロセッサ２（３）のそれぞれは、コア０、コア１、コア２と、各コアにＬ１メモリがそれぞれ付属する複数のコアプロセッサで、内部バスによりセレクタ（１１）を介して複数のＬ２メモリ０（４）、Ｌ２メモリ１（５）、Ｌ２メモリ２（６）、Ｌ２メモリ３（７）に接続されている。内部バスと外部バス間には、Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  ＡｃｃｅｓｓであるＤＭＡ（１２）が接続され、更に、外部バスには、ＨＯＳＴプロセッサ（８）、ＳＤＲＡＭ（９）、通信デバイス（１０）が接続されている。
また、図２は、マルチタスク構成例で、コアプロセッサ０（１）、コアプロセッサ１（２）、コアプロセッサ２（３）の各コアプロセッサはシングルタスクのＯＳで動作し、各コアプロセッサには、１つのＴａｓｋと、複数のＳＷＩ（ソフトウエア割込み）と、複数のＨＷＩ（ハードウエア割込み）とを備え、共通部（２１）として、Ｌｉｂｒａｒｙ、ＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）、ＯＳ、Ｄｒｉｖｅｒを有している。
【０００９】
本実施例に示すマルチコアプロセッサでは、図１中のようにコアプロセッサ０（１）、コアプロセッサ１（２）、コアプロセッサ２（３）は、各コアにＬ１メモリがそれぞれ付属する複数のコアプロセッサで、内部バスによりセレクタ（１１）を介して複数のＬ２メモリ０（４）、Ｌ２メモリ１（５）、Ｌ２メモリ２（６）、Ｌ２メモリ３（７）に接続されている。ここで、各コアプロセッサと各Ｌ２メモリはセレクタ（１１）を介することでバスを空間的に多重して接続されることとなり、例えば、コアプロセッサ０（１）がＬ２メモリ０（４）にアクセス中に、コアプロセッサ１（２）がＬ２メモリ１（５）に、コアプロセッサ２（３）がＬ２メモリ２（６）に同時にアクセス可能なような接続となる。
また、各コアプロセッサには、図２に示すようにＴａｓｋを１つだけ割り当てる。これにより、同一コア内ではタスクコンテキストの切替処理によるオーバーヘッドが発生しない。
また、共通部（２１）は、Ｌ２メモリに格納され、Ｌ１メモリの一部に配置するキャッシュメモリを介在してコアプロセッサからアクセスされる。共通部をＬ２メモリに配置することにより、容量の少ないＬ１メモリを補うことが可能となる。
【００１０】
上記構成に置いて、セレクタ（１１）はコアプロセッサからのアドレス指定またはレジスタ設定によりアクセス先をＬ２メモリ０（４）、Ｌ２メモリ１（５）、Ｌ２メモリ２（６）から選択する。尚、セレクタ（１１）は、コアプロセッサからのアドレス指定またはレジスタ設定により、Ｌ２メモリ０（４）とＬ２メモリ３（７）、Ｌ２メモリ１（５）とＬ２メモリ３（７）、Ｌ２メモリ２（６）とＬ２メモリ３（７）のような組み合わせで複数のメモリに同時にライトアクセス可能な様に接続されている。また、セレクタ（１１）はコアプロセッサからのアドレス指定またはレジスタ設定により、Ｌ２メモリ３（７）のみにリードアクセスが可能なように接続されている。
【００１１】
セレクタ（１１）は、例えばアドレスの上位ビットが０００のときはＬ２メモリ０（４）、００１のときはＬ２メモリ１（５）、０１０のときはＬ２メモリ２（６）へのアクセスを選択し、１００のときはＬ２メモリ０（４）とＬ２メモリ３（７）、１０１のときはＬ２メモリ１（５）とＬ２メモリ３（７）、１１０のときはＬ２メモリ２（６）とＬ２メモリ３（７）へのライトアクセスを選択し、１１１のときはＬ２メモリ３（７）へのリードアクセスを選択する。尚、セレクタ（１１）はコアプロセッサから設定可能なレジスタを有し、前述のアドレスの上位ビットを用いた選択と同等な選択がレジスタによる設定で可能であってもよい。
【００１２】
このような構成をとり、Ｌ２メモリ３（７）を監視用のメモリとみなし、Ｌ２メモリ０（４）又はＬ２メモリ１（５）又はＬ２メモリ２（６）へのアクセスと同等のアクセスをＬ２メモリ３（７）に対して行う。このＬ２メモリ３（７）の内容を、ＤＭＡ（１２）を用いて通信デバイス（１０）又はＨＯＳＴプロセッサ（８）からアクセス可能なＳＤＲＡＭ（９）に転送することによって外部に出力でき、これを用いてコアプロセッサのメモリアクセス動作を監視できる。
【００１３】
尚、上記にて本発明の実施の形態について一実施例を説明したが、実施に関わる構成は上記実施例に限定されるものではなく、又本発明の構成の組み合わせも全てが必須であるとは限らない。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態における構成を示すブロック図の一実施例
【図２】本発明の実施形態におけるマルチタスク構成の一実施例
【符号の説明】
【００１５】
１…コアプロセッサ０、２…コアプロセッサ１、３…コアプロセッサ２、４…Ｌ２メモリ０、５…Ｌ２メモリ１、６…Ｌ２メモリ２、７…Ｌ２メモリ３、８…ＨＯＳＴプロセッサ、９…ＳＤＲＡＭ、１０…通信デバイス、１１…セレクタ、１２…ＤＭＡ、２１…共通部
【図１】
2007280209.tif 000003
【図２】
2007280209.tif 000004