(57)【要約】データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理装置であって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段と、処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段と、処理手段毎に、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与手段とを備えることを特徴とする。
2010143381.tif 000002
【特許請求の範囲】
【請求項１】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理装置であって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段と、
処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段と、
処理手段毎に、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与手段と
を備えることを特徴とするトレース処理装置。
【請求項２】
各計数手段に対して、当該計数手段に入力されるクロック信号の計数を開始するタイミングを一致させるように当該計数手段を制御する計数制御手段を備えることを特徴とする請求項１記載のトレース処理装置。
【請求項３】
複数の処理手段それぞれの動作周波数が記憶された動作周波数記憶手段を備え、
前記各計数値変換手段は、対応する処理手段の動作周波数を前記動作周波数記憶手段から取得することを特徴とする請求項１記載のトレース処理装置。
【請求項４】
前記計数値変換手段に前記基準動作周波数を設定する基準動作周波数設定手段を備え、前記計数値変換手段は、対応する前記処理手段の動作周波数と基準動作周波数とを用いて変換計数値を算出することを特徴とする請求項３に記載のトレース処理装置。
【請求項５】
前記基準動作周波数設定手段は、複数の前記処理手段のいずれか１つの動作周波数を前記基準動作周波数とすることを特徴とする請求項４記載のトレース処理装置。
【請求項６】
前記計数値変換手段は、前記計数手段から出力される前記計数値と、所定の基準動作周波数を当該計数値に対応する処理手段の動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として出力することを特徴とする請求項５記載のトレース処理装置。
【請求項７】
処理手段の動作周波数の変更に基づいて前記動作周波数記憶手段の内容を変更する動作周波数変更手段を備えることを特徴とする請求項３記載のトレース処理装置。
【請求項８】
各付与手段は、処理手段毎に、変換計数値とともに当該処理手段の動作周波数を動作情報に付与することを特徴とする請求項７記載のトレース処理装置。
【請求項９】
前記変換計数値が付与された前記動作情報を記憶する記憶手段を備えることを特徴とする請求項３記載のトレース処理装置。
【請求項１０】
前記計数値変換手段に前記基準動作周波数を設定する基準動作周波数設定手段を備え、前記計数値変換手段は、対応する前記処理手段の動作周波数と基準動作周波数とを用いて変換計数値を算出することを特徴とする請求項９に記載のトレース処理装置。
【請求項１１】
前記基準動作周波数設定手段は、複数の前記処理手段のいずれか１つの動作周波数を前記基準動作周波数とすることを特徴とする請求項１０記載のトレース処理装置。
【請求項１２】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理回路を有する集積回路であって、
処理回路毎に、当該処理回路に入力されるクロック信号を計数して得られる計数値を出力する計数回路と、
処理手段毎に、計数回路から出力される各処理回路の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換回路と、
処理回路毎に、計数値変換回路から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与回路と
を備えることを特徴とする集積回路。
【請求項１３】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、
処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段、
計数値変換手段から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与手段
を備えるトレース処理装置と、
トレース処理装置から前記動作情報および前記変換計数値を含むデータを取得する動作情報取得手段、
前記変換計数値を各付与手段が動作情報を取得した時刻として、前記変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を前記変換計数値に従って並べ替える時刻情報対応手段、
を備える動作情報編集装置と
から構成されることを特徴とするトレース処理システム。
【請求項１４】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、
および、処理手段毎に、計数手段から計数値が出力されるタイミングで処理手段から動作情報を当該処理手段から取得し当該動作情報に前記計数手段から出力される計数値を付与する付与手段
を備えるトレース処理装置と、
トレース処理装置から前記動作情報および前記計数値を含むデータを取得する動作情報取得手段、
前記動作情報取得手段で取得した動作情報および計数値を含むデータの中から各処理手段の動作周波数のクロック信号の計数値を抽出する計数値抽出手段、
前記計数値抽出手段により抽出された各処理手段の動作周波数のクロック信号の計数値を処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段、
および前記計数値変換手段から出力された変換計数値を各付与手段が動作情報を取得した時刻として、前記変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を前記変換計数値に従って並べ替える時刻情報対応手段
を備える動作情報編集装置と
から構成されることを特徴とするトレース処理システム。
【請求項１５】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレース処理方法であって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数ステップと、
処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換ステップと、
処理手段毎に、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与ステップと
を備えることを特徴とするトレース処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理手段から構成される並列処理装置のトレースを行うトレース処理装置およびそのような装置を含むトレース処理システムに関する。
【背景技術】
【０００２】
近年、並列処理装置として、複数の演算コアを有するマルチコアや複数のプロセッサを有するマルチプロセッサといった複数の処理手段から構成された並列処理装置を使用することが多くなってきた。【０００３】
これらの並列処理装置では、各処理手段の処理負荷等の性能解析やメモリアクセス、キャッシュヒット率等の挙動解析において、各処理手段についてトレース（処理手段で実行された動作の形跡を辿る）を行い、処理手段毎に得られたトレースの結果同士で時間的な整合をとることが必要となる場合があった。つまり、各処理手段について共通の時間軸でのトレース結果を得ることが必要となる場合があった。【０００４】
これに対して、特許文献１に記載されているように、個別にタイマを有する複数の処理手段から構成される並列処理装置（マルチプロセッサシステム）について、時刻同期信号を発生させる発生手段を設け、当該発生手段が、各タイマを同期させるための時刻同期信号を各処理手段に送信し、各処理手段が、各タイマで計数される計数値を当該時刻同期信号に基づいて調整することで、各タイマの計数値のずれの発生を防ぐことができるタイマ調整システムが提案されている。【０００５】
図１６に、特許文献１に記載されているタイマ調整システムのブロック図を示す。【０００６】
特許文献１に記載されているタイマ調整システムは、図１６に示すように、時刻同期信号を発生させる発生手段１６１１と、発生手段１６１１から送信される時刻同期信号を全処理手段に対して出力する出力手段１６１２と、出力手段１６１２から出力された時刻同期信号を各処理手段に対して分配する分配手段１６１６と、出力手段１６１２から出力され分配手段１６１６により全処理手段に分配されて戻ってきた時刻同期信号が入力される入力手段１６１３とを備える。また、図１６に示す構成のタイマ調整システムでは、時刻同期信号が出力手段１６１２から出力され各処理手段を含む並列処理装置を伝播して入力手段１６１３に戻ってくるまでの時間（以下、伝播時間と称す。）を測定する測定手段１６１４と、測定手段１６１４により測定された伝播時間に基づいて各タイマ間での計数値を同期させる同期手段１６１５とを備えており、測定手段１６１４が測定した伝播時間に基づいて、同期手段１６１５が計数値のずれを補正している。【０００７】
図１６に示す構成のタイマ調整システムを用いれば、マルチプロセッサシステムを構成する各処理手段の動作周波数が同じである場合には、ある所定の時刻において、各処理手段に設けられたタイマの計数値を一致させれば、各処理手段について共通の時間軸上でトレースを行うことができる。【０００８】
ところが、図１６に示す構成のタイマ調整システムでは、各処理手段が互いに異なる動作周波数で動作する並列処理装置の場合、各処理手段の動作周波数と伝播遅延時間の時間関係を考慮しないと各タイマの計数値を一致させることができず、各処理手段について共通の時間軸上でトレースを行うことができない。【０００９】
これに対して、従来から、複数のプロセッサについて共通の時間軸上でトレースを行うシミュレーション装置であって、各プロセッサには、互いに異なる動作周波数のクロックが入力されるとともに、共通の信号が入力され、各プロセッサに当該プロセッサの処理実行結果とともに各プロセッサ間でやりとりされる処理の共通の信号と位相情報を取得し、各プロセッサ間でやりとりされる共通の信号と当該位相情報に基づいて、各プロセッサの処理実行結果同士の同期をとるシミュレーション装置が提案されている（特許文献２）。【００１０】
特許文献２に記載されている技術を応用すれば、各処理手段が、異なる動作周波数のクロックで動作する場合であっても、処理手段毎に、動作クロックにより出力値が変化するカウンタを別途設けて、当該カウンタの値を共通の信号で補正して、当該カウンタで示される各処理手段の位相情報（時間情報）を合わせこむことで、当該カウンタの値で示される共通の時間軸上でトレースを行うことができる。【００１１】
また、従来から、複数のプロセッサ（処理手段）から構成される計算機システムを、シミュレータ装置上に構成し、計算機システムを構成する各プロセッサについてトレース情報を取得するトレース情報取得方法がある（特許文献３参照）。【００１２】
当該トレース情報取得方法では、各プロセッサが個別に設けられたクロックに同期して処理を実行し、各プロセッサの動作情報を他のプロセッサにリアルタイムで渡し、各プロセッサは、自らの動作情報と他のプロセッサから受け取った動作情報とを統合して保持する。そして、各プロセッサの自らの保持するトレース情報に含まれる自らの動作情報と他のプロセッサが保持するトレース情報に含まれる自らの動作情報とを対比して、各プロセッサが保持するトレース情報間の時間的整合を取るようにする。【００１３】
このトレース情報取得方法を適用したシミュレータ装置では、図１７に示すように、複数（図１７では２つ）のプロセッサ１７０１，１７１１と、各プロセッサ１７０１，１７１１から出力されるトレース情報１７０９，１７１９を編集するトレース編集手段１７２０と、トレース編集手段１７２０で編集されたトレース情報を表示する表示手段１７２１とをシミュレータ装置上で構成する。【００１４】
ここで、各プロセッサ１７０１，１７１１は、それぞれ個別のクロック１７０３，１７１３に同期して被試験プログラム１７０５，１７１５を実行する命令実行模擬部１７０４，１７１４と、各命令実行模擬部１７０４，１７１４で被試験プログラム１７０５，１７１５を実行したときの動作情報を、通信手段１７１０を介して他方のプロセッサ１７０１，１７１１に送信する送信部１７０７，１７１７と、送信部１７０７，１７１７から通信手段１７１０を介して送信された動作情報を受信する受信部１７０６，１７１６と、受信部１７０６，１７１６で受信した動作情報を、クロック１７０３，１７１３を用いてトレースするトレース手段１７０２，１７１２とを備える。【００１５】
また、図１７に示すトレース編集手段１７２０は、各プロセッサ１７０１，１７１１それぞれのトレース情報に含まれる動作情報同士を照合して、プロセッサ１７１１が保持するトレース情報に含まれるプロセッサ１７０１の動作情報と、プロセッサ１７０１自らが保持するトレース情報に含まれる動作情報とが一致する箇所で、プロセッサ１７１１が保持するトレース情報との時間的整合を取る。【００１６】
また、トレース情報には、同一または類似の動作情報が含まれる場合があり、この場合、基準とすべき動作情報の特定が困難となる場合がある。したがって、図１７に示すトレース情報取得方法では、トレース情報に含まれる動作情報それぞれに乱数を付加する乱数発生部１７０８，１７１８が設けられており、同一または類似の複数の動作情報についても個々に識別できるようにしている。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００２−４９６０５号公報
【特許文献２】特開２００９−５４１０７号公報
【特許文献３】特開平４―３５３９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１８】
しかしながら、特許文献２に記載された技術を実際の並列処理装置のトレース処理装置に適用するとすれば、各処理手段について動作用クロック系統とは別にタイマ用クロック系統および当該タイマ用クロック系統に基づいて各処理手段の位相情報を合わせこむようにカウンタ値を補正できるカウンタを含む少なくとも２つのカウンタを付加する必要があり、レイアウトの複雑化により製造が困難となるおそれがあった。【００１９】
特に、トレース処理装置をＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）上に実現するとなると、レイアウトの複雑化による製造の困難性が更に顕著になるばかりでなく、ＬＳＩが大型化してしまうおそれがあった。【００２０】
また、半導体微細加工技術およびプロセッサ設計技術の進歩により、ＬＳＩのゲート長が３２ｎｍまで狭小化し、且つマイクロプロセッサの動作周波数が１ＧＨｚを越える現状においては、ＬＳＩ内の信号伝播における遅延調整、ばらつき抑制が困難となっており、特許文献２に記載された技術を適用したトレース処理装置のように、動作用クロック系統とは別にタイマ用クロック系統および少なくとも２つのカウンタを設けても、共通のクロック信号が各処理手段に到達するまでの時間にばらつきが生じてしまい、共通の時間軸上でトレースを行うことが困難となるおそれがあった。【００２１】
また、特許文献３に記載された技術を実際の並列処理装置のトレース処理装置に適用するとすれば、各処理手段について動作用クロック系統とは別にタイマ用クロック系統を設ける必要はなくなるが、各処理手段間で各処理手段の動作情報の授受を行うための配線を設ける必要があり、トレース処理装置のレイアウトの複雑化により、製造が困難になるおそれがあった。【００２２】
本発明は、上記事由に鑑みてなされたものであり、複数の処理手段が異なる動作周波数で動作したとしても各処理手段のトレースを同じ時間軸上で行うことを可能としながらも、レイアウトの簡素化を図ることができるトレース処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２３】
上記課題を解決するために本発明に係るトレース処理装置は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理装置であって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段と、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換手段と、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与手段とを備えることを特徴とする。
【発明の効果】
【００２４】
この構成によれば、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行う際、各処理手段の動作情報に所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を付与することにより、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の性能や挙動に対する時系列での解析を容易にすることができる。また、各処理手段に、計数手段から出力される当該処理手段の動作周波数のクロック信号の計数値を当該処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換することにより、動作用のクロック系統とは別に各処理手段に共通のクロック信号を供給するための共通クロック系統を設ける必要がなく、且つ、処理手段間で各処理手段の動作情報の授受を行うための配線も必要ないので、特にトレース処理装置を集積回路で構成する場合にレイアウトの簡素化を図ることができる。【００２５】
また、本構成は、各計数手段に対して、当該計数手段に入力されるクロック信号の計数を開始するタイミングを一致させるように当該計数手段を制御する計数制御手段を備えることを特徴とするものであってもよい。【００２６】
この構成によれば、計数制御手段が、各計数手段における計数開始タイミングを強制的に一致させるので、複数の処理手段それぞれについて得られるトレース情報の時間的前後関係を正しく維持することができる。【００２７】
また、本構成は、複数の処理手段それぞれの動作周波数が記憶された動作周波数記憶手段を備え、各計数値変換手段は、対応する処理手段の動作周波数を動作周波数記憶手段から取得することを特徴とするものであってもよい。【００２８】
この構成によれば、複数の処理手段それぞれの動作周波数が記憶された動作周波数記憶手段を備えることにより、動作周波数記憶手段に処理手段それぞれの動作周波数を記憶させておくだけで、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の動作周波数を変更する場合でも動作周波数記憶手段の記憶する動作周波数を変更するだけで、各計数値変換手段に設定される各処理手段の動作周波数の変更を容易に行うことができる。【００２９】
また、動作周波数記憶手段を並列処理装置の内部に設ける構成とすることにより、計数値変換手段は、各処理手段の動作周波数に関する情報を外部から取得する必要がないので、並列処理装置に動作周波数に関する情報を取得するための入力ピンは不要となり、並列処理装置に搭載する処理手段の数が入出力ピンの数で制限されることがない。【００３０】
また、本構成は、計数値変換手段に基準動作周波数を設定する基準動作周波数設定手段を備え、計数値変換手段が、対応する処理手段の動作周波数と基準動作周波数とを用いて変換計数値を算出することを特徴とするものであってもよい。【００３１】
この構成によれば、基準動作周波数設定手段を備えることにより、基準動作周波数を自由に設定することができるので、複数の処理手段の動作周波数それぞれに応じて最適な基準動作周波数を選択することができる。【００３２】
また、本構成は、基準動作周波数設定手段は、複数の処理手段のいずれか１つの動作周波数を基準動作周波数とすることを特徴とするものであってもよい。【００３３】
この構成によれば、基準動作周波数設定手段が、基準動作周波数を自動的にいずれかの処理手段の動作周波数とすることにより、ユーザが基準動作周波数設定手段に対して設定すべき基準動作周波数を指示する必要がないので、ユーザのメンテナンス負担を軽減することができる。【００３４】
また、本構成は、計数値変換手段が、計数手段から出力される計数値と、所定の基準動作周波数を当該計数値に対応する処理手段の動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として出力することを特徴とするものであってもよい。【００３５】
この構成によれば、所定の基準動作周波数と各処理手段の動作周波数を用いて簡単な演算を行うだけで容易に変換計数値を得ることができるので、計数値変換手段を簡単な算術演算回路で実現することが可能となる。【００３６】
また、本構成は、処理手段の動作周波数の変更に基づいて動作周波数記憶手段の内容を変更する動作周波数変更手段を備えることを特徴とするものであってもよい。【００３７】
この構成によれば、処理手段が、各処理手段から出力される動作情報に基づいて各処理手段の動作周波数を制御する動作周波数制御手段により、動作周波数が動的に変更される並列処理装置についても、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の性能や挙動の時系列での解析を容易にすることができる。【００３８】
また、本構成は、各付与手段は、処理手段毎に、変換計数値とともに当該処理手段の動作周波数を動作情報に付与することを特徴とするものであってもよい。【００３９】
この構成によれば、動作周波数を動作情報に付与することにより、動作周波数の変更履歴を追うことができるので、各処理手段の挙動の時系列での解析をより広範な観点から行うことができる。【００４０】
また、本構成は、変換計数値が付与された動作情報を記憶する記憶手段を備えることを特徴とするものであってもよい。【００４１】
この構成によれば、記憶手段を備えることにより、動作情報を一時的に記憶手段に記憶させることができ、動作情報を記憶手段から読み出すタイミングを自由に設定することができるので、設計自由度を増やすことができる。また、動作情報を記憶手段から読み出すタイミングを自由に設定することができるので、そのタイミングによっては、並列処理装置と外部装置との間でのトレースを行うために必要なデータの入出力頻度を低減することもできる。【００４２】
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理回路を有する集積回路であって、処理回路毎に、当該処理回路に入力されるクロック信号を計数して得られる計数値を出力する計数回路と、処理手段毎に、計数回路から出力される各処理回路の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換回路と、処理回路毎に、計数値変換回路から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与回路とを備えることを特徴とする集積回路であってもよい。【００４３】
この構成によれば、並列処理装置とトレース処理装置とを１つの集積回路で実現することができるので、小型化を図ることができる。【００４４】
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段、計数値変換手段から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与手段を備えるトレース処理装置と、トレース処理装置から前記動作情報および前記変換計数値を含むデータを取得する動作情報取得手段、前記変換計数値を各付与手段が動作情報を取得した時刻として、前記変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を前記変換計数値に従って並べ替える時刻情報対応手段を備える動作情報編集装置とから構成されることを特徴とするものであってもよい。【００４５】
この構成によれば、動作情報取得手段により、動作情報を外部に取り出すことができるので、例えば、外部に設けられたコンピュータで動作情報を取得して自由に加工することが可能となる。【００４６】
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、および、処理手段毎に、計数手段から計数値が出力されるタイミングで処理手段から動作情報を当該処理手段から取得し当該動作情報に前記計数手段から出力される計数値を付与する付与手段を備えるトレース処理装置と、トレース処理装置から動作情報および計数値を含むデータを取得する動作情報取得手段、動作情報取得手段で取得した動作情報および計数値を含むデータの中から各処理手段の動作周波数のクロック信号の計数値を抽出する計数値抽出手段、計数値抽出手段により抽出された各処理手段の動作周波数のクロック信号の計数値を処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換手段、および計数値変換手段から出力された変換計数値を各付与手段が動作情報を取得した時刻として、変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を変換計数値に従って並べ替える時刻情報対応手段を備える動作情報編集装置とから構成されることを特徴とするものであってもよい。【００４７】
この構成によれば、計数値変換手段が並列処理装置の外部に設けられているので、計数手段、付与手段および記憶手段からなるトレース処理装置に対しても、動作情報編集装置を接続するだけで、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の挙動の時系列での解析を容易にするという効果が得られる。【００４８】
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレース処理方法であって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数ステップと、処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換ステップと、処理手段毎に、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与ステップとを備えることを特徴とするものであってもよい。【００４９】
この構成によれば、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行う際、各処理手段の動作情報を所定の基準動作周波数で計数した場合の計数値してなる変換計数値を付与することにより、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の性能や挙動の時系列での解析を容易にすることができる。また、処理手段毎に、計数手段から出力される当該処理手段の動作周波数のクロック信号の計数値を当該処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換するので、動作用のクロック系統とは別に各処理手段に共通のクロック信号を供給するための共通クロック系統を設ける必要がなく、且つ、処理手段同士で各処理手段の動作情報の授受を行うための配線を設ける必要もないので、レイアウトの簡素化を図ることができる。
【図面の簡単な説明】
【００５０】
【図１】実施の形態１のトレース処理装置の構成を示すブロック図である。
【図２】実施の形態１の計数手段の計数制御を示す説明図である。
【図３】実施の形態１における動作周波数管理テーブルの概念図である。
【図４】実施の形態１における計数値変換手段の構成を示すブロック図である。
【図５】実施の形態１における付与手段により動作情報に変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図６】実施の形態２のトレース処理システムの構成を示すブロック図である。
【図７】実施の形態２における時刻情報対応手段による時刻と動作情報との対応付けを説明するための図である。
【図８】実施の形態３のトレース処理システムの構成を示すブロック図である。
【図９】実施の形態３における付与手段により動作情報に計数値が付与された後の動作情報および計数値を含むデータの概念図である。
【図１０】実施の形態４のトレース処理装置の構成を示すブロック図である。
【図１１】実施の形態４における動作周波数変更制御手段による動作周波数管理テーブルの変更を説明するための図である。
【図１２】実施の形態４における付与手段により動作情報に変換計数値、動作周波数および動作電圧が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図１３】変形例における付与手段により動作情報に変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図１４】変形例における付与手段により動作情報に計数値が付与された後の動作情報および計数値を含むデータの概念図である。
【図１５】変形例における付与手段により動作情報に変換計数値、動作周波数および動作電圧が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図１６】従来のタイマ調整システムの構成を示す図である。
【図１７】従来のマルチプロセッサシステムの動作についてのシミュレーション装置の構成を示すブロック図である。
【発明を実施するための形態】
【００５１】
＜実施の形態１＞
＜１＞構成
本実施の形態に係るトレース処理装置１０１の構成を示すブロック図を図１に示す。
【００５２】
本実施の形態のトレース処理装置１０１は、図１に示すように、クロック発生手段１２００から供給されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃに基づいてデータ処理を行うとともにデータ処理中に行う動作に関連する情報を動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとして出力する３つの処理手段３０１ａ，３０１ｂ，３０１ｃを有し且つ３つの処理手段３０１ａ，３０１ｂ，３０１ｃが互いに異なる動作周波数で動作する並列処理装置１００のトレースを行う。ここで、処理手段３０１ａ，３０１ｂ，３０１ｃは、演算コアやプロセッサ等からなる。なお、クロック発生手段１２００は、周波数シンセサイザから構成される。
【００５３】
また、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃで行った処理のサイクル数、命令実行数、演算実行数、キャッシュメモリへのヒット率およびミス率、処理手段の計算資源の稼働率（例えば、処理手段による計算時間や動作時間、キャッシュメモリへのアクセス回数）等から構成される。また、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとしては、実行した命令の種類、演算の実行履歴あるいはメモリアクセスの履歴をメモリアドレスで示したもの等でもよいし、その他の動作情報であってもよく、ここで例示したものに限定されるものではない。
【００５４】
本実施の形態のトレース処理装置１０１は、計数手段３０２ａ，３０２ｂ，３０２ｃと、計数値変換手段３０５ａ，３０５ｂ，３０５ｃと、付与手段３０６ａ，３０６ｂ，３０６ｃと、計数制御手段３０９と、記憶手段３０３ａ，３０３ｂ，３０３ｃと、動作周波数記憶手段２００と、基準動作周波数設定手段４００と、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃとを含んで構成される。
【００５５】
計数手段３０２ａ，３０２ｂ，３０２ｃは、対応する処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃと同じ動作周波数のクロック信号が入力され、対応する処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、当該処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号を計数する。
【００５６】
また、計数手段３０２ａ，３０２ｂ，３０２ｃは、図２に示すように、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して計数開始を指示するための計数開始信号と計数停止を指示するための計数停止信号とを出力する計数制御手段３０９により、各計数手段３０２ａ，３０２ｂ，３０２ｃがクロックの計数を開始するように制御されている。つまり、計数手段３０２ａ，３０２ｂ，３０２ｃの計数開始および計数停止のタイミングは、計数制御手段３０９により集中制御されている。なお、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数開始時に計数値が０にリセットされるものでもよいし、あるいは従前の計数値が保持されるものであってもよい。
【００５７】
計数制御手段３０９は、並列処理装置１００の内部に設けられたプロセッサ等により実現されており、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの計数を開始するタイミングを指示する。
【００５８】
また、計数制御手段３０９と各計数手段３０２ａ，３０２ｂ，３０２ｃとの間には、計数開始信号が計数制御手段３０９から出力され、計数手段３０２ａ，３０２ｂ，３０２ｃそれぞれに到達するまでの時間が同じになるように、適宜遅延回路を設けることにより、各計数手段３０２ａ，３０２ｂ，３０２ｃにおける計数開始信号のタイミングのずれを解消している。なお、計数制御手段３０９は、並列処理装置１００の外部に設けられた制御用マイクロコンピュータにより実現してもよい。また、本実施の形態では、計数制御手段３０９を設ける例について説明したが、例えば、処理手段３０１ａ，３０１ｂ，３０１ｃが、各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号を出力するようにしてもよい。
【００５９】
しかして、計数制御手段３０９が、各計数手段３０２ａ，３０２ｂ，３０２ｃにおける計数開始タイミングを一致させることで、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれについて得られるトレース情報の時間関係を正しく維持することができる。
【００６０】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される当該処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のクロック信号の計数値を所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する。
【００６１】
また、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、図４に示すように、基準動作周波数設定手段４００から取得した基準動作周波数を、動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で除してなる変換係数を出力する除算回路３０５ａ２，３０５ｂ２，３０５ｃ２と、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、除算回路３０５ａ２，３０５ｂ２，３０５ｃ２から出力される変換係数とを積算して変換計数値として出力する乗算回路３０５ａ１，３０５ｂ１，３０５ｃ１とから構成される。しかして、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を動作周波数記憶手段２００から取得し、基準動作周波数が基準動作周波数設定手段４００により設定され、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として出力する（変換計数値＝計数値×基準動作周波数／動作周波数）。ここで、計数値変換手段３０５ａ，３０５ｂ，３０５ｃでは、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値に対して算術演算を行って算出された変換計数値を出力するので、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングは、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値に対応する動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃが出力されるタイミングに対して遅れが生じてしまう。図２に示すように、計数手段３０２ａ，３０２ｂ，３０２ｃが計数値を出力するタイミングに比べて１クロック内の遅延時間に収まる場合は動作情報Ｄ１ａ、Ｄ１ｂ、Ｄ１ｃにそのまま付与手段３０６ａ，３０６ｂ，３０６ｃを介して変換計数値を付与できるが、１クロック内の遅延時間に収まらない場合は遅延時間に合わせて動作情報Ｄ１ａ、Ｄ１ｂ、Ｄ１ｃも遅延させる。また、図２では、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、積算値について小数点以下を切り捨ててなる値を変換計数値として出力している例を示している。なお、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、積算値について小数点以下を切り捨ててなる値を変換計数値として出力する例に限られず、例えば、積算値について小数点以下を四捨五入してなる値を変換計数値として出力するものであってもよいし、積算値が無限小数となる場合には丸めて出力するものであってもよい。
【００６２】
ここで、計数値変換手段３０５ａ，３０５ｂ，３０５ｃによる変換計数値の算出について、具体例を用いて説明する。
【００６３】
処理手段３０１ａの動作周波数が、１００ＭＨｚ、処理手段３０１ｂの動作周波数が２００ＭＨｚ、処理手段３０１ｃの動作周波数が４００ＭＨｚの場合、計数手段３０２ａから出力される計数値が１０００サイクルに到達した時点では、計数手段３０２ｂから出力される計数値は２０００サイクル、計数手段３０２ｃから出力される計数値は４０００サイクルとなる。
【００６４】
ここにおいて、基準動作周波数を処理手段３０１ａの動作周波数である１００ＭＨｚに設定すると、計数値変換手段３０５ａから出力される変換計数値は、（１００［ＭＨｚ］）／１００［ＭＨｚ］）×１０００［サイクル］＝１０００［サイクル］となる。また、計数値変換手段３０５ａから変換計数値が出力されるタイミングでは、計数値変換手段３０５ｂから出力される変換計数値が、（１００［ＭＨｚ］／２００［ＭＨｚ］）×２０００［サイクル］＝１０００［サイクル］、計数値変換手段３０５ｃから出力される変換計数値が、（１００［ＭＨｚ］／４００［ＭＨｚ］）×４０００［サイクル］＝１０００［サイクル］となる。このように、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃが、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値に対して変換を行うことで、処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が異なる場合であっても、各計数手段３０２ａ，３０２ｂ，３０２ｃそれぞれが示す計数値の整合をとることができる。
【００６５】
動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、計数値変換手段３０５ａ，３０５ｂ，３０５ｃ毎に設けられ、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している。
【００６６】
付与手段３０６ａ，３０６ｂ，３０６ｃは、図２に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得し、当該変換計数値を付与する。ここで、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから、付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが出力されると、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが入力された時点における複数の動作情報を、処理手段３０１ａ，３０１ｂ，３０１ｃから取得する。
【００６７】
付与手段３０６ａ，３０６ｂ，３０６ｃにより動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図を図５に示す。図５に示すように、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの変換計数値＃ｍ或いは＃ｍ＋１が付されることになる。また、図５には図示していないが、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報に対して変換計数値を付与する際に、複数の動作情報および変換計数値を含むデータの中から変換計数値であることが識別できる識別子を付与する。
【００６８】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより変換計数値が付与されてなる動作情報を記憶する。
【００６９】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、メモリおよびレジスタなどの記憶素子からなり、図５に示すような形で動作情報および変換計数値が記憶されている。ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃにより書き込まれる。また、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶された動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値が上書きされる前に読み出し手段１３００によって読み出される。読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
【００７０】
動作周波数記憶手段２００は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が記録されている。動作周波数記憶手段２００は、図３に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃのうちのいずれの情報であるかを示すフィールド３００１（以下、処理手段ＩＤフィールドと称す）と、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を示すフィールド３００２（以下、動作周波数フィールドと称す）とから構成される動作周波数管理テーブルを記憶している。本実施の形態のトレース処理装置では、動作周波数管理テーブルの動作周波数フィールド３００２の内容の設定または変更は、並列処理装置１００の外部に設けられた制御用マイクロコンピュータ等からなる制御装置（図示せず）により行う。
【００７１】
また、動作周波数記憶手段２００は、メモリおよびレジスタなどの記憶素子により実現することができる。なお、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が固定である場合は、動作周波数管理テーブルの動作周波数フィールド３００２には、予め固定された動作周波数が設定されることになる。本実施の形態のトレース処理装置１０１では、動作周波数記憶手段２００に処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を記憶させておくだけで、複数の処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を変更した場合でも動作周波数記憶手段２００に変更後の動作周波数を記憶させるだけで、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃにおける計数値の変換を容易に変更することができる。
【００７２】
基準動作周波数設定手段４００により、計数値変換手段３０５ａ，３０５ｂ，３０５ｃに基準動作周波数が設定される。基準動作周波数設定手段４００は、計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を算出するために必要な基準動作周波数を各計数値変換手段３０５ａ，３０５ｂ，３０５ｃに設定する。基準動作周波数は、並列処理装置１００の外部に設けられたマイクロコンピュータからなる基準動作周波数制御装置（図示せず）により設定される。基準動作周波数設定手段４００が、処理手段３０１ａの動作周波数を基準動作周波数に設定した場合、計数値変換手段３０５ｂ，３０５ｃから出力される変換計数値は、処理手段３０１ａの動作サイクル数（計数値）に対する処理手段３０２ｂ，３０２ｃの動作サイクル数の相対値となる。また、基準動作周波数設定手段４００が、処理手段３０１ｂの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｃから出力される変換計数値は、処理手段３０１ｂの動作サイクル数に対する処理手段３０１ａ，３０１ｃの動作サイクル数の相対値となる。更に、基準動作周波数設定手段４００が、処理手段３０１ｃの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｂから出力される変換計数値は、処理手段３０１ｃの動作サイクル数に対する処理手段３０１ａ，３０１ｂの動作サイクル数の相対値となる。
【００７３】
なお、処理手段３０１ａ、計数手段３０２ａ、計数値変換手段３０５ａ、付与手段３０６ａ、記憶手段３０３ａおよび動作情報取得タイミング制御手段３０７ａから１つの処理装置が構成され、処理手段３０１ｂ、計数手段３０２ｂ、計数値変換手段３０５ｂ、付与手段３０６ｂ、記憶手段３０３ｂおよび動作情報取得タイミング制御手段３０７ｂから１つの処理装置が構成され、処理手段３０１ｃ、計数手段３０２ｃ、計数値変換手段３０５ｃ、付与手段３０６ｃ、記憶手段３０３ｃおよび動作情報取得タイミング制御手段３０７ｃから１つの処理装置を構成できる。
【００７４】
また、各記憶手段３０３ａ，３０３ｂ，３０３ｃには、読み出し手段１３００から動作情報および変換計数値の読み出し要求を行う読み出し信号が入力される読み出し信号入力ポート３０３ａ１，３０３ｂ１，３０３ｃ１と、読み出し信号が入力されると動作情報および変換計数値を出力する動作情報出力ポート３０３ａ２，３０３ｂ２，３０３ｃ２が設けられており、読み出し手段１３００と各記憶手段３０３ａ，３０３ｂ，３０３ｃとは、読み出し手段１３００から送信される読み出し信号を伝送する信号線や各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される動作情報や変換計数値を含むデータを伝送する信号線からなる複数の信号線を介して接続されている。ここで、読み出し手段１３００は、各記憶手段３０３ａ，３０３ｂ，３０３ｃに対して読み出し要求をすることで、各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出している。また、読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
【００７５】
なお、本実施の形態では、図３に示すように、処理手段３０１ａの動作周波数を１００ＭＨｚ、処理手段３０１ｂの動作周波数を２００ＭＨｚ、処理手段３０１ｃの動作周波数を４００ＭＨｚとしているが、これに限定されるものではない。
【００７６】
また、本実施の形態では、基準動作周波数が、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれかと同一の周波数に限られるものではなく、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれとも異なる周波数に設定してもよい。また、基準動作周波数を３２．７６８ｋＨｚに設定すれば、変換計数値を時計の実時刻に対する相対値とすることができる。
＜２＞動作
以下、本実施の形態のトレース処理装置の動作について図２を用いながら説明する。
【００７７】
図２では、基準動作周波数が処理手段３０１ａの動作周波数に設定された場合に例を示している。
【００７８】
処理手段３０１ａ，３０１ｂ，３０１ｃは、クロック発生手段１２００から各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される互いに周波数が異なる各クロックＣＬａ，ＣＬｂ，ＣＬｃに同期してデータ処理を行う。ここで、処理手段３０１ａ,３０１ｂ,３０１ｃは、データ処理を行うとともに動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【００７９】
一方、計数手段３０２ａ，３０２ｂ，３０２ｃは、図２に示すように、計数制御手段３０９から各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号が入力されると、各計数手段３０２ａ，３０２ｂ，３０２ｃに供給される各クロックＣＬａ，ＣＬｂ，ＣＬｃの計数を開始し、計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃに出力する。ここで、各計数手段３０２ａ，３０２ｂ，３０２ｃは、矩形パルス状の計数開始信号の立下りを検出したときに計数を開始する。
【００８０】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が入力されると、動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数と、基準動作周波数設定手段４００により設定された基準動作周波数に基づいて処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数を算出するとともに、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、当該変換係数とを積算し、積算値を変換計数値として付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。ここでは、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、積算値の小数点以下は切り捨てている。
【００８１】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃから入力される動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから入力される変換計数値を付与する形で、動作情報および変換計数値を記憶手段３０３ａ，３０３ｂ，３０３ｃに書き込む。
【００８２】
記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値が上書きされる前に読み出し手段１３００によって読み出される。
【００８３】
読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
＜実施の形態２＞
＜１＞構成
本実施の形態に係るトレース処理システムの構成を示すブロック図を図６に示す。
本実施の形態のトレース処理システムは、図６に示すように、クロック発生手段１２００から供給されるクロックＣＬａ，ＣＬｂ，ＣＬｃに基づいてデータ処理を行うとともにデータ処理中に行う動作に関連する情報を動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとして出力する３つの処理手段（図示せず）を有し且つ３つの処理手段が互いに異なる動作周波数で動作する並列処理装置１００のトレースを行う。ここで、各処理手段は、演算コアやプロセッサ等から構成されている。
なお、図６において、図１に示した構成のうち記憶手段３０３ａ，３０３ｂ，３０３ｃ以外の構成については図示を省略する。また、トレース処理装置１０１の各構成は、実施の形態１と同じ構成なので詳細な説明は省略する。また、以下において、トレース処理装置１０１の各構成については、図１に示した符号を用いて説明する。
本実施の形態に係るトレース処理システムは、図６に示すように、実施の形態１で説明したトレース処理装置１０１と、トレース処理装置１０１の一部を構成する記憶手段３０３ａ，３０３ｂ，３０３ｃそれぞれに記憶された動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得する動作情報取得手段６０１、および動作情報取得手段６０１で取得した動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃの中から変換計数値を抽出し、抽出した変換計数値をトレース処理装置１０１の一部を構成する各付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとの対応付けを行う時刻情報対応手段６０２を備える動作情報編集装置６００と、時刻情報対応手段６０２により対応づけられた各処理手段３０１ａ，３０１ｂ，３０１ｃの動作情報を時系列で表示する表示装置（表示制御装置７０１とモニタ７００とから構成される）とから構成される。
【００８４】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃが所定量だけ書き込まれると、動作情報取得手段６０１に、所定量の動作情報の格納が完了したことを通知する。
【００８５】
動作情報編集装置６００は、並列処理装置１００に接続され、且つ動作情報編集プログラムが実行可能なコンピュータにより構成され、動作情報編集プログラムをコンピュータ上で実行することにより、動作情報取得手段６０１および時刻情報対応手段６０２を実現している。また、動作情報編集装置６００は、動作情報取得手段６０１により取得された動作情報および変換計数値を用いて動作情報を編集するために動作情報および変換計数値を一時的に記憶しておく編集用記憶手段６０６を備える。
【００８６】
動作情報取得手段６０１は、各記憶手段３０３ａ，３０３ｂ，３０３ｃから所定量の動作情報の格納が完了したことの通知を受けると、記憶手段３０３ａ，３０３ｂ，３０３ｃ毎に、当該記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する変換計数値を読み出す。なお、動作情報取得手段６０１は、動作情報編集装置６００が備えるプロセッサ等の制御装置により実現されている。
【００８７】
編集用記憶手段６０６は、動作情報編集装置６００の内部に設けられたメモリ内の所定の領域により実現されている。ここで、編集用記憶手段６０６に記憶された動作情報および変換計数値を含むデータの概念図を図７（ａ）に示す。図７（ａ）に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、付与手段３０６ａ，３０６ｂ，３０６ｃが、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの変換計数値が付与されている。例えば、図７（ａ）に示すように、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した複数の動作情報に対して変換計数値は、処理手段３０１ａから出力される複数の動作情報に対して＃Ｌまたは＃Ｍが付与され、処理手段３０１ｂから出力される複数の動作情報には、＃Ｍまたは＃Ｎが付与されているように、各処理手段３０１ａ，３０１ｂで付与される変換計数値が一致することもあれば、互いに異なることもある。つまり、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、必要に応じて全ての処理手段３０１ａ，３０１ｂ，３０１ｃに対して同時に動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力することができ、また、個々の処理手段３０１ａ，３０１ｂ，３０１ｃに対して個別に動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力することもできる。
ここで、各処理手段３０１ａ，３０１ｂ，３０１ｃの中から出力される動作情報に付与される変換計数値に対しては、図７（ａ）には図示していないが、複数の動作情報および変換計数値を含むデータの中から変換計数値であることを識別できる識別子が付与されている。
時刻情報対応手段６０２は、図７（ａ）に示すように、動作情報および変換計数値を含むデータの中から変換計数値が同じ動作情報を抽出し、図７（ｂ）に示すように、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した各動作情報に対応する変換計数値を付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報との対応付けを行う。具体的には、時刻情報対応手段６０２は、統合した動作情報を変換計数値の値が小さい順序で並べ替えた後に、編集用記憶手段６０３に格納する。
ところで、変換計数値は、各計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、基準動作周波数を各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で除して得られる変換係数とを積算して得られるので、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数によっては、各処理手段３０１ａ，３０１ｂ，３０１ｃ間で変換計数値が厳密に同じ値にならないことがある。そこで、時刻情報対応手段６０２は、編集用記憶手段６０３に記憶された動作情報の中から、変換計数値が同じ値である動作情報を抽出する際、対比する２つの変換計数値に、変換係数の値の大きさ以下の相異があっても両者は同じ値であるとみなして動作情報の抽出を行う。なお、時刻情報対応手段６０２は、２つの変換計数値の相違について変換係数との比較を行うことなく、単に動作情報を抽出して時系列に並べる処理を行うだけでもよい。
表示装置は、モニタ７００と、モニタ７００の表示を制御する表示制御装置７０１とから構成され、時刻情報対応手段６０２によって変換計数値の値が小さい順序で並べ替えられた動作情報の全てが編集用記憶手段６０３に格納されると、当該動作情報が表示制御手段により読み出され、当該表示制御手段により時系列でモニタ７００上に表示される。
＜２＞動作
本実施の形態において、トレース処理装置１０１の動作は、実施の形態１と同じであるから説明を省略する。
【００８８】
以下、動作情報編集装置６００および表示装置制御装置７０１の動作について説明する。
【００８９】
まず、動作情報取得手段６０１は、記憶手段３０３ａ，３０３ｂ，３０３ｃから所定量の動作情報の格納が完了した通知が入力されると、各記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する変換計数値を読み出す。
動作情報取得手段６０１は、並列処理装置１００の各記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を編集用記憶手段６０６に記憶する。
編集用記憶手段６０６に動作情報および変換計数値が記憶されると、時刻情報対応手段６０２は、編集用記憶手段６０６から動作情報および変換計数値群を読み出す。その後、時刻情報対応手段６０２は、変換計数値が同じ動作情報を抽出し、図７（ｂ）に示すように、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した動作情報群を変換計数値の値が小さい順序で並べ替えた後に、当該動作情報を編集用記憶手段６０６に格納する。
変換計数値の値が小さい順序で並べ替えられた動作情報の編集用記憶手段６０６への格納が全て完了すると、当該動作情報が表示制御装置７０１により読み出され、当該表示制御装置７０１により時系列でモニタ７００上に表示される。
＜実施の形態３＞
＜構成＞
本実施の形態に係るトレース処理システムの構成を示すブロック図を図８に示す。
【００９０】
本実施の形態のトレース処理システムは、計数手段３０２ａ，３０２ｂ，３０２ｃ、付与手段３０６ａ，３０６ｂ，３０６ｃ、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃ、計数制御手段（図示せず）および記憶手段３０３ａ，３０３ｂ，３０３ｃを含んで構成されるトレース処理装置１０２と、動作情報取得手段６０１、計数値抽出手段６０７、計数値変換手段６０５、動作周波数記憶手段６０３、基準動作周波数設定手段６０４および時刻情報対応手段６０２を含んで構成される動作情報編集装置６００と、時刻情報対応手段６０２により対応づけられた各処理手段３０１ａ，３０１ｂ，３０１ｃの動作情報を時系列で表示する表示装置（表示制御装置７０１とモニタ７００とから構成される）とを備える。
【００９１】
ここで、計数手段３０２ａ，３０２ｂ，３０２ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号を計数して得られる計数値を出力する。
【００９２】
計数制御手段（図示せず）は、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの計数を開始するタイミングを指示する。
【００９３】
付与手段３０６ａ，３０６ｂ，３０６ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が出力されるタイミングで処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得し、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値を付与する。
【００９４】
動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃ毎に設けられ、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している。
【００９５】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、動作情報および対応する計数値を記憶する。
【００９６】
また、動作情報取得手段６０１は、記憶手段３０３ａ，３０３ｂ，３０３ｃ毎に、動作情報および対応する計数値を取得する。計数値抽出手段６０７は、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、動作情報取得手段６０１で取得した動作情報および対応する計数値から各処理手段の動作周波数のクロック信号の計数値を抽出する。計数値変換手段６０５は、計数値抽出手段６０７により抽出された処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のクロック信号の計数値を処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を用いて所定の基準動作周波数で計数した場合の計数値に変換してなる変換計数値を出力する。動作周波数記憶手段６０３は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が記録されている。基準動作周波数設定手段６０４は、計数値変換手段６０５に基準動作周波数を設定する。時刻情報対応手段６０２は、計数値変換手段６０５から出力された変換計数値を各付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報との対応付けを行う。
【００９７】
なお、計数制御手段の構成は実施の形態１と同様なので説明を省略する。
【００９８】
付与手段３０６ａ，３０６ｂ，３０６ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値を、処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに付与する。ここで、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから出力される動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃに従って、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得する。
【００９９】
図８に示すように、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから、付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが出力されると、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが入力された時点における複数の動作情報を、処理手段３０１ａ，３０１ｂ，３０１ｃから取得する。
【０１００】
ここで、付与手段３０６ａ，３０６ｂ，３０６ｃにより動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに計数値が付与された後の動作情報および対応する計数値を含むデータの概念図を図９に示す。図９に示すように、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの計数値＃ｍ或いは＃ｍ＋１が付されることになる。また、図９には図示していないが、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報に対して計数値を付与する際に、複数の動作情報および対応する計数値を含むデータの中から計数値であることを識別できる識別子を付与する。
【０１０１】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、メモリおよびレジスタなどの記憶素子からなり、動作情報および対応する計数値が記憶されている。
【０１０２】
ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃにより書き込まれる。また、記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより、動作情報および対応する計数値が所定量だけ書き込まれると、動作情報取得手段６０１に、所定量の動作情報の格納が完了したことを通知する。ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃによる当該動作情報格納の完了通知は、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶された動作情報および対応する計数値が、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および対応する計数値で上書きされる前に行われる。
【０１０３】
また、各記憶手段３０３ａ，３０３ｂ，３０３ｃには、各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報取得手段６０１に、所定量の動作情報の格納が完了したことを通知する格納完了通知信号を出力するとともに、動作情報取得手段６０１から動作情報および対応する計数値の取得要求を行うための取得要求信号が入力される信号入出力ポート３０３ａ１，３０３ｂ１，３０３ｃ１と、取得要求信号が入力されると動作情報および対応する計数値を出力する動作情報出力ポート３０３ａ２，３０３ｂ２，３０３ｃ２が設けられており、動作情報取得手段６０１と各記憶手段３０３ａ，３０３ｂ，３０３ｃとは、各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される格納完了通知信号や動作情報取得手段６０１から送信される取得要求信号を伝送する信号線や各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される動作情報や変換計数値を含むデータを伝送する信号線からなる複数の信号線を介して接続されている。
【０１０４】
動作情報編集装置６００は、並列処理装置１００に接続され、且つ動作情報編集プログラムが実行可能なコンピュータにより構成され、動作情報編集プログラムをコンピュータ上で実行することにより、動作情報取得手段６０１、計数値抽出手段６０７、計数値変換手段６０５、基準動作周波数設定手段６０４、時刻情報対応手段６０２を実現している。また、動作情報編集装置６００は、動作情報取得手段６０１により取得された動作情報および対応する計数値を用いて動作情報を編集するために動作情報および対応する計数値、変換計数値を一時的に記憶しておく編集用記憶手段６０６を備える。
【０１０５】
計数値抽出手段６０７は、編集用記憶手段６０６に記憶された動作情報および対応する計数値の中から計数値を抽出して、計数値変換手段６０５に出力する。
【０１０６】
計数値変換手段６０５は、計数値抽出手段６０７により抽出された計数値と、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として算出する。ここで、計数値変換手段６０５は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数に関する情報を、動作周波数記憶手段６０３から取得し、基準動作周波数は、基準動作周波数設定手段６０４により設定される。また、計数値変換手段６０５は、変換計数値を算出した後に、編集用記憶手段６０６に記憶されている各計数値を当該変換計数値に置き換える。なお、計数値変換手段６０５で行われる変換計数値の算出処理は、実施の形態１と同様なので説明を省略する。
【０１０７】
動作周波数記憶手段６０３は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの識別ＩＤと、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数から構成される動作周波数管理テーブルを記憶している。動作周波数管理テーブルの内容は実施の形態１と同じなので説明を省略する。本実施の形態のトレース処理システムでは、動作周波数管理テーブルの動作周波数フィールドの内容の設定または変更は、動作情報編集装置６００の外部に設けられたユーザインターフェース１０００を介して行う。また、動作周波数記憶手段６０３は、動作情報編集装置６００の内部に設けられたメモリ（図示せず）により実現することができる。
【０１０８】
基準動作周波数設定手段６０４は、計数値変換手段６０５が変換計数値を算出するために必要な基準動作周波数を計数値変換手段６０５に設定する。当該基準動作周波数は、動作情報編集装置６００の外部に設けられたユーザインターフェース１０００を介して設定される。
【０１０９】
ここで、基準動作周波数設定手段６０４は、処理手段３０１ａ，３０１ｂ，３０１ｃのいずれかの動作周波数を基準動作周波数に設定する。基準動作周波数設定手段６０４が、処理手段３０１ａの動作周波数を基準動作周波数に設定した場合、計数値変換手段６０５から出力される変換計数値は、処理手段３０１ａの動作サイクル数に対する処理手段３０２ｂ，３０２ｃの動作サイクル数の相対値となる。また、基準動作周波数設定手段６０４が、処理手段３０１ｂの動作周波数を基準動作周波数として設定した場合、計数値変換手段６０５から出力される変換計数値は、処理手段３０１ｂの動作サイクル数に対する処理手段３０１ａ，３０１ｃの動作サイクル数の相対値となる。更に、基準動作周波数設定手段６０４が、処理手段３０１ｃの動作周波数を基準動作周波数として設定した場合、計数値変換手段６０５から出力される変換計数値は、処理手段３０１ｃの動作サイクル数に対する処理手段３０１ａ，３０１ｂの動作サイクル数の相対値となる。
【０１１０】
なお、基準動作周波数は、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれかと同一の周波数に限られるものではなく、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれとも異なる周波数に設定してもよい。また、基準動作周波数を３２．７６８ｋＨｚに設定すれば、変換計数値を時計の実時刻に対する相対値とすることができる。
【０１１１】
時刻情報対応手段６０２は、編集用記憶手段６０６に記憶された動作情報および対応する計数値、変換計数値の中から変換計数値が同じ動作情報を抽出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した各動作情報に対応する変換計数値を付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報との対応付けを行う。具体的には、時刻情報対応手段６０２は、統合した動作情報群を変換計数値の値が小さい順序で並べ替えた後に、当該動作情報を編集用記憶手段６０６に格納する。
【０１１２】
表示装置は、モニタ７００と、モニタ７００の表示を制御する表示制御装置７０１とから構成され、時刻情報対応手段６０２によって変換計数値の値が小さい順序で並べ替えられた動作情報の全てが編集用記憶手段６０６に格納されると、当該動作情報が表示制御装置７０１により読み出され、表示制御装置７０１により時系列でモニタ７００上に表示される。
【０１１３】
本実施の形態のトレース処理システムは、計数値変換手段６０５が並列処理装置１００の外部に設けられているので、計数手段３０２ａ，３０２ｂ，３０２ｃ、付与手段３０６ａ，３０６ｂ，３０６ｃおよび記憶手段３０３ａ，３０３ｂ，３０３ｃからなるトレース処理装置１０２に対しても、動作情報編集装置６００を接続するだけで、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれについて同じ時間軸上でトレースを行うことができるので、トレース処理装置１０２に対しても各処理手段３０１ａ，３０１ｂ，３０１ｃの性能や挙動の時系列での解析を容易にするという効果が得られる。
＜２＞動作
本実施の形態のトレース処理システムの動作について説明する。
【０１１４】
処理手段３０１ａ，３０１ｂ，３０１ｃは、クロック発生手段１２００から各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される互いに周波数が異なる各クロックＣＬａ，ＣＬｂ，ＣＬｃに同期してデータ処理を行う。ここで、処理手段３０１ａ,３０１ｂ,３０１ｃは、データ処理を行うとともに動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１１５】
一方、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数制御手段（図示せず）から各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号が入力されると、各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される各クロックＣＬａ，ＣＬｂ，ＣＬｃの計数を開始し、計数値を付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１１６】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃから入力される動作情報に、計数手段３０２ａ，３０２ｂ，３０２ｃから入力される計数値を付与する形で、動作情報および対応する計数値を記憶手段３０３ａ，３０３ｂ，３０３ｃに書き込む。
【０１１７】
付与手段３０６ａ，３０６ｂ，３０６ｃにより、記憶手段３０３ａ，３０３ｂ，３０３ｃに動作情報および対応する計数値が所定量だけ書き込まれると、記憶手段３０３ａ，３０３ｂ，３０３ｃは、動作情報取得手段６０１に、所定量の動作情報および対応する計数値の格納が完了したことを通知する。
【０１１８】
記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報取得手段６０１に対して、記憶手段３０３ａ，３０３ｂ，３０３ｃに所定量の動作情報および対応する計数値の格納を完了した旨の通知が入力されると、動作情報取得手段６０１は、各記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する計数値を読み出す。
【０１１９】
動作情報取得手段６０１は、トレース処理装置１０２に設けられた各記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および対応する計数値を編集用記憶手段６０６に記憶する。
【０１２０】
次に、計数値抽出手段６０７が、編集用記憶手段６０６に記憶されている動作情報および対応する計数値から構成される情報の中から計数値を抽出して、計数値変換手段６０５に出力する。
【０１２１】
計数値変換手段６０５は、計数抽出手段６０７から計数値が入力されると、動作周波数記憶手段６０３から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数と、基準動作周波数設定手段６０４により設定された基準動作周波数に基づいて処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数を算出するとともに、当該変換係数と計数値抽出手段６０７から出力される計数値とを積算して変換計数値を算出する。その後、計数値変換手段６０５は、編集用記憶手段６０６に記憶されている各計数値を当該変換計数値に置き換える。
【０１２２】
計数値変換手段６０５により編集用記憶手段６０６に記憶されている各計数値の変換計数値への置き換えが完了すると、時刻情報対応手段６０２が、編集用記憶手段６０６から動作情報および変換計数値を読み出す。
【０１２３】
その後、時刻情報対応手段６０２は、動作情報の中から変換計数値が同じ動作情報を抽出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した動作情報群を変換計数値の値が小さい順序で並べ替えた後に、当該動作情報および変換計数値を編集用記憶手段６０６に格納する。
【０１２４】
変換計数値の値が小さい順序で並べ替えられた動作情報の編集用記憶手段６０６への格納が全て完了すると、当該動作情報が表示制御装置７０１により読み出され、表示制御装置７０１により時系列でモニタ７００上に表示される。
＜実施の形態４＞
＜１＞構成
本実施の形態に係るトレース処理装置１０３の構成を示すブロック図を図１０に示す。
本実施の形態で説明する並列処理装置１００は、並列処理装置１００全体で消費される消費電力を抑制するために、各処理手段３０１ａ，３０１ｂ，３０１ｃに対して、処理状況に応じて、処理に対する適切な動作周波数および動作電圧に動的に変更するＤＶＦＳ（Ｄｉｎａｍｉｃ  Ｖｏｌｔａｇｅ  ａｎｄ  Ｆｒｅｑｕｅｎｃｙ  Ｓｃａｌｉｎｇ）技術が適用されており、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数や動作電圧が各処理手段３０１ａ，３０１ｂ，３０１ｃの処理状況に応じて個別に変更される。
【０１２５】
本実施の形態のトレース処理装置１０３は、図１０に示すように、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を制御する動作周波数制御手段１１００により、各処理手段３０１ａ，３０１ｂ，３０１ｃのクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数が各処理手段３０１ａ，３０１ｂ，３０１ｃの処理に対する適切な動作周波数へと動的に変更される並列処理装置１００のトレースを行う。なお、処理手段３０１ａ、計数手段３０２ａ、計数値変換手段３０５ａ、付与手段３０６ａ、記憶手段３０３ａ、動作情報取得タイミング制御手段３０７ａおよび変更計数値記憶手段３０８ａから１つの処理装置が構成され、処理手段３０１ｂ、計数手段３０２ｂ、計数値変換手段３０５ｂ、付与手段３０６ｂ、記憶手段３０３ｂ、動作情報取得タイミング制御手段３０７ｂおよび変更計数値記憶手段３０８ｂから１つの処理装置が構成され、処理手段３０１ｃ、計数手段３０２ｃ、計数値変換手段３０５ｃ、付与手段３０６ｃ、記憶手段３０３ｃ、動作情報取得タイミング制御手段３０７ｃおよび変更計数値記憶手段３０８ｃから１つの処理装置を構成できる。
【０１２６】
ここで、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、各処理手段３０１ａ，３０１ｂ，３０１ｃにとって最適な動作周波数と、処理手段３０１ａ，３０１ｂ，３０１ｃを含む処理装置にとって所定の処理能力を維持できる最適な動作電圧Ｖａ，Ｖｂ，Ｖｃとを算出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数を算出された最適値に変更するとともに、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作電圧を算出された最適値に変更する。例えば、計算資源の稼動率を示す動作情報を取得し、計算資源の稼動率が高ければ、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を高めるとともに各処理装置の動作電圧Ｖａ，Ｖｂ，Ｖｃを上昇させ、計算資源の稼動率が低ければ、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を低くするとともに各処理装置の動作電圧を低下させることで、並列処理装置１００全体で消費される電力の低減を図ることができる。また、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃにクロック信号ＣＬａ，ＣＬｂ，ＣＬｃを供給するクロック発生手段１２００を制御することにより動作周波数を変更し、各処理装置に接続されたスイッチング電源（図示せず）およびレギュレータ（図示せず）を含む電源回路（図示せず）を制御することにより動作電圧を変更する。
【０１２７】
本実施の形態のトレース処理装置１０３は、計数手段３０２ａ，３０２ｂ，３０２ｃと、計数値変換手段３０５ａ，３０５ｂ，３０５ｃと、付与手段３０６ａ，３０６ｂ，３０６ｃと、計数制御手段（図示せず）と、記憶手段３０３ａ，３０３ｂ，３０３ｃと、動作周波数記憶手段２００と、基準動作周波数設定手段４００と、動作周波数変更手段８００と、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃと、変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃとを含んで構成される。
【０１２８】
計数手段３０２ａ，３０２ｂ，３０２ｃは、周知のタイマカウンタにより構成され、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、処理手段の動作周波数で入力されるクロック信号を計数して得られる計数値を出力する。
また、計数手段３０２ａ，３０２ｂ，３０２ｃは、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して計数開始を指示するための計数開始信号と計数停止を指示するための計数停止信号とを出力する計数制御手段により、各計数手段３０２ａ，３０２ｂ，３０２ｃがクロックの計数を開始するように制御されている。つまり、計数手段３０２ａ，３０２ｂ，３０２ｃの計数開始および計数停止のタイミングは、計数制御手段３０９により集中制御されている。なお、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数開始時に計数値が０にリセットされるものでもよいし、あるいは従前の計数値が保持されるものであってもよい。
【０１２９】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される当該処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のクロック信号の計数値を所定の基準動作周波数で計数した場合の計数値に変換してなる変換計数値を出力する。
【０１３０】
また、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、実施の形態１と同様に、基準動作周波数設定手段４００から取得した基準動作周波数を動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で除してなる変換係数を出力する除算回路３０５ａ２，３０５ｂ２，３０５ｃ２と、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と除算回路３０５ａ２，３０５ｂ２，３０５ｃ２から出力される変換係数とを積算して変換計数値として出力する乗算回路３０５ａ１，３０５ｂ１，３０５ｃ１とから構成される（図４参照）。なお、計数値変換手段３０５ａ，３０５ｂ，３０５ｃで行われる変換計数値の算出処理は、実施の形態１と同様なので説明を省略する。
【０１３１】
ここで、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数に関する情報を、動作周波数記憶手段２００から取得し、基準動作周波数は、基準動作周波数設定手段４００により設定される。
【０１３２】
計数制御手段は、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号の計数を開始するタイミングを指示する。
【０１３３】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより変換計数値が付与されてなる動作情報を記憶する。動作周波数記憶手段２００には、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が記録されている。
【０１３４】
動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、計数値変換手段３０５ａ，３０５ｂ，３０５ｃ毎に設けられ、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している。
【０１３５】
動作周波数記憶手段２００は、図１１に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃのうちのいずれの情報であるかを示すフィールド（以下、処理手段ＩＤフィールドと称す）と、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を示すフィールド（以下、動作周波数フィールドと称す）とから構成される動作周波数管理テーブルを記憶している。また、動作周波数記憶手段２００が記憶する動作周波数管理テーブルの動作周波数フィールドの内容の設定または変更は、動作周波数変更制御手段８００により行われる。
【０１３６】
並列処理装置１００の動作開始時における各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数が、それぞれ１００ＭＨｚ、２００ＭＨｚ、４００ＭＨｚの場合、動作周波数管理テーブルは、図１１（ａ）に示すように設定されている。ここで、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報から、各処理手段３０１ａ，３０１ｂ，３０１ｃが行うデータ処理に必要な動作周波数を計算する。例えば、動作周波数制御手段１１００が、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれがデータ処理を行うのに必要な動作周波数をそれぞれ１００ＭＨｚ、４００ＭＨｚ、２００ＭＨｚと算出すると、処理手段３０１ａ，３０１ｂ，３０１ｃを識別するための処理手段ＩＤと、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれがデータの処理を行うのに必要な動作周波数とから構成される動作周波数情報を生成して、動作周波数変更制御手段８００に出力する。
【０１３７】
動作周波数変更制御手段８００は、動作周波数制御手段１１００から各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数情報を受け取ると、当該動作周波数情報に基づいて動作周波数記憶手段２００に記憶された動作周波数管理テーブルの内容を図１１（ｂ）に示すように変更するとともに、各処理手段３０１ａ，３０１ｂ，３０１ｃに対して処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更されたことを通知する動作周波数変更情報８０１を出力する。
【０１３８】
ところで、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数や動作電圧を変更するために、周波数シンセサイザの周波数やスイッチング電源およびレギュレータからなる電源回路の出力電圧を変更する場合、所定の期間（以下、不安定期間と称す。）、周波数シンセサイザの周波数や電源回路の出力電圧が安定しない。従って、当該不安定期間内では、処理手段３０１ａ，３０１ｂ，３０１ｃが正しくデータ処理を行うことができない。また、不安定期間内では、クロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数も安定しないので、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値も誤差が大きいものとなる。そこで、周波数制御手段１１００は、不安定期間の間は処理手段３０１ａ，３０１ｂ，３０１ｃのデータ処理を停止させる。そして、動作周波数制御手段１１００は、不安定期間を経過して周波数シンセサイザの周波数や電源回路の出力が安定した後に、動作周波数情報を動作周波数変更制御手段８００に対して出力し、処理手段３０１ａ，３０１ｂ，３０１ｃのデータ処理を再開させる。
【０１３９】
変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃは、周波数制御手段１１００により処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の周波数が変更される場合、クロック信号の周波数が変更される前に計数値変換手段３０５ａ，３０５ｂ，３０５ｃから出力された変換計数値を一時的に記憶させておくためのレジスタにより構成されており、動作周波数変更制御手段８００から動作周波数変更情報８０１の入力があると、計数手段３０２ａ，３０２ｂ，３０２ｃ毎に、処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更される前に当該計数手段３０２ａ，３０２ｂ，３０２ｃから出力された計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃで変換して得られる変換計数値を記憶する。ここで、変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃでは、動作周波数変更制御手段８００からの動作周波数変更情報８０１を受け取る毎に、予め変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃに記憶された変換計数値に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃそれぞれから出力される変換計数値を累積加算した結果を記憶する。
【０１４０】
基準動作周波数設定手段４００は、計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を算出するために必要な基準動作周波数を各計数値変換手段３０５ａ，３０５ｂ，３０５ｃに設定する。基準動作周波数は、並列処理装置１００の外部に設けられたマイクロコンピュータからなる基準動作周波数制御装置（図示せず）により設定される。基準動作周波数設定手段４００が、処理手段３０１ａの動作周波数を基準動作周波数に設定した場合、計数値変換手段３０５ｂ，３０５ｃから出力される変換計数値は、処理手段３０１ａの動作サイクル数に対する処理手段３０２ｂ，３０２ｃの動作サイクル数の相対値となる。また、基準動作周波数設定手段４００が、処理手段３０１ｂの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｃから出力される変換計数値は、処理手段３０１ｂの動作サイクル数に対する処理手段３０１ａ，３０１ｃの動作サイクル数の相対値となる。更に、基準動作周波数設定手段４００が、処理手段３０１ｃの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｂから出力される変換計数値は、処理手段３０１ｃの動作サイクル数に対する処理手段３０１ａ，３０１ｂの動作サイクル数の相対値となる。なお、基準動作周波数は、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれかと同一の周波数に限られるものではなく、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれとも異なる周波数に設定してもよい。また、基準動作周波数を３２．７６８ｋＨｚに設定すれば、変換計数値を時計の実時刻に対する相対値とすることができる。
【０１４１】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから出力される変換計数値に対応する動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得し当該動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに変換計数値を付与する。ここで、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから出力される動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃに従って、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得する。
【０１４２】
ここで、付与手段３０６ａ，３０６ｂ，３０６ｃにより動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図を図１２に示す。本実施形態における動作情報には、動作周波数および動作電圧が含まれる。
付与手段３０６ａ，３０６ｂ，３０６ｃは、図１２に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、変換計数値とともに、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数および動作電圧を動作情報に付与する。図１２に示すように、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの変換計数値＃ｍ或いは＃ｍ＋１が付されることになる。
また、図１２には図示していないが、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報に対して変換計数値を付与する際に、複数の動作情報および変換計数値を含むデータの中から変換計数値であることを識別できる識別子を付与する。
記憶手段３０３ａ，３０３ｂ，３０３ｃは、メモリおよびレジスタなどの記憶素子からなり、動作情報および変換計数値が記憶されている。ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃにより書き込まれる。また、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶された動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値に上書きされる前に読み出し手段１３００によって読み出される。読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。また、各記憶手段３０３ａ，３０３ｂ，３０３ｃには、読み出し手段１３００から動作情報および変換計数値の読み出し要求を行う読み出し信号が入力される読み出し信号入力ポート３０３ａ１，３０３ｂ１，３０３ｃ１と、読み出し信号が入力されると動作情報および変換計数値を出力する動作情報出力ポート３０３ａ２，３０３ｂ２，３０３ｃ２が設けられており、読み出し手段１３００と各記憶手段３０３ａ，３０３ｂ，３０３ｃとは、読み出し手段１３００から送信される読み出し信号を伝送する信号線や各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される動作情報や変換計数値を含むデータを伝送する信号線からなる複数の信号線を介して接続されている。ここで、読み出し手段１３００は、各記憶手段３０３ａ，３０３ｂ，３０３ｃに対して読み出し要求をすることで、各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出している。
＜２＞動作
以下、本実施の形態のトレース処理装置の動作について説明する。
【０１４３】
処理手段３０１ａ，３０１ｂ，３０１ｃは、クロック発生手段１２００から各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される互いに周波数が異なる各クロックＣＬａ，ＣＬｂ，ＣＬｃに同期してデータ処理を行う。ここで、処理手段３０１ａ,３０１ｂ,３０１ｃは、データ処理を行うとともに動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１４４】
ここで、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、各処理手段３０１ａ，３０１ｂ，３０１ｃにとって最適な動作周波数と、各処理装置にとって最適な動作電圧Ｖａ，Ｖｂ，Ｖｃとを算出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数を算出された最適値に変更するとともに、各処理装置の動作電圧を算出された最適値に変更する。また、動作周波数制御手段１１００は、処理手段３０１ａ，３０１ｂ，３０１ｃを識別するための処理手段ＩＤと、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれがデータの処理を行うのに必要な動作周波数とから構成される動作周波数情報を生成して、動作周波数変更制御手段８００に出力する。
【０１４５】
動作周波数変更制御手段８００は、動作周波数制御手段１１００から各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数情報を受け取ると、当該動作周波数情報に基づいて動作周波数記憶手段２００に記憶された動作周波数管理テーブルの内容を変更するとともに、各処理手段３０１ａ，３０１ｂ，３０１ｃに対して処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更されたことを通知する動作周波数変更情報８０１を出力する。
【０１４６】
変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃは、動作周波数変更制御手段８００から動作周波数変更情報８０１の入力があると、計数値変換手段３０５ａ，３０５ｂ，３０５ｃ毎に、処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更される前に当該計数手段３０２ａ，３０２ｂ，３０２ｃから出力された計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃで変換して得られる変換計数値を記憶する。
【０１４７】
一方、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数制御手段から各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号が入力されると、各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される各クロックＣＬａ，ＣＬｂ，ＣＬｃの計数を開始し、計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃに出力する。
【０１４８】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が入力されると、動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数と、基準動作周波数設定手段４００により設定された基準動作周波数に基づいて処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数を算出するとともに、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、当該変換係数とを積算し、積算値を変換計数値として付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１４９】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃから入力される動作情報に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから入力される変換計数値を付与する形で、動作情報および変換計数値を記憶手段３０３ａ，３０３ｂ，３０３ｃに書き込む。
【０１５０】
記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値に上書きされる前に読み出し手段１３００によって読み出される。
【０１５１】
読み出し手段１３００は、記憶手段から読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
＜変形例＞
（１）前述の実施の形態１では、基準動作周波数設定手段４００に対して基準動作周波数を設定する場合、並列処理装置１００の外部に設けられた制御装置により設定されるが、これに限られるものではなく、例えば、基準動作周波数設定手段４００が、動作周波数管理テーブルの処理手段識別ＩＤに基づいて、自動的に、各処理手段３０１ａ，３０１ｂ，３０１ｃのいずれか１つの動作周波数を取得して基準動作周波数として設定されるようにしてもよい。
【０１５２】
本変形例によれば、基準動作周波数設定手段４００が、基準動作周波数を自動的に処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数とすることにより、ユーザが自ら基準動作周波数を設定する必要がなくなるので、利便性を向上させることができる。
【０１５３】
また、本変形例では、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数が固定であれば、動作周波数記憶手段２００を設けずに、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃに予め各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を固定した値として設定しておくようにしてもよい。
（２）前述の実施の形態１の説明では、付与手段３０６ａ，３０６ｂ，３０６ｃが、図４に示すように、動作情報に対して変換計数値を離散的に付与する例について説明したが、これに限定されるものではなく、例えば、図１３に示すように、複数の動作情報それぞれに対して変換計数値を連続的に付与してもよい。この場合、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされると、付与手段３０６ａ，３０６ｂ，３０６ｃは、１つの動作情報を処理手段から取得するとともに、変換計数値を計数値処理手段３０５ａ，３０５ｂ，３０５ｃから取得し、動作情報に付与する。その後、付与手段３０６ａ，３０６ｂ，３０６ｃは、基準動作周波数で特定される１周期毎に、１つの動作情報を処理手段から取得するとともに、変換計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃから取得し、当該変換計数値を動作情報に付与する。つまり、付与手段３０６ａ，３０６ｂ，３０６ｃは、各動作情報に対して変換計数値を一対一に付与する。
【０１５４】
本変形例によれば、各動作情報に対して変換計数値が一対一に付与されているので、動作情報および変換計数値を含むデータの中から変換計数値を識別できる識別子を付与する必要がなくなるので、付与手段３０６ａ，３０６ｂ，３０６ｃの処理を簡素化することができる。また、実行した命令、あるいは演算の実行列履歴、メモリアクセスにおけるアドレスのアクセス履歴といったある時間内における連続的なログを取得したい場合に対応することができる。
（３）前述の実施の形態１、２、４では、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃが、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している例について説明したが、これに限定されるものではなく、例えば、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃを設けずに、付与手段３０６ａ，３０６ｂ，３０６ｃが、計数手段３０２ａ，３０２ｂ，３０２ｃが計数値を出力するタイミングに対する計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を出力するタイミングの遅延時間に関する情報を保持しており、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が出力されるタイミングで、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報を取得するとともに、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値を取得し、取得した変換計数値から当該遅延時間だけ過去の変換計数値を算出し、算出した変換計数値を動作情報に付与するものとしてもよい。
【０１５５】
また、計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を出力するタイミングが、計数手段３０２ａ，３０２ｂ，３０２ｃが計数値を出力するタイミングに対して遅延がないか若しくは無視できるほど小さい場合には、付与手段３０６ａ，３０６ｂ，３０６ｃが、計数手段３０２ａ，３０２ｂ，３０２ｃから変換計数値が出力されるタイミングで、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報を取得するとともに、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値を取得し、変換計数値を動作情報に付与するものとしてもよい。
（４）前述の実施の形態３では、図９に示すように、動作情報に対して計数値を離散的に付与する例について説明したが、これに限定されるものではなく、例えば、図１４に示すように、各動作情報に対して計数値を連続的に付与してもよい。この場合、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされると、付与手段３０６ａ，３０６ｂ，３０６ｃは、１つの動作情報を処理手段から取得するとともに、計数値を計数手段３０２ａ，３０２ｂ，３０２ｃから取得し、当該計数値を前記１つの動作情報に付与する。その後、付与手段３０６ａ，３０６ｂ，３０６ｃは、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で特定される１周期毎に、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが発生した時点における１つの動作情報を処理手段から取得するとともに、当該動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが発生した時点における計数値を計数手段３０２ａ，３０２ｂ，３０２ｃから取得し、当該計数値を前記１つの動作情報に付与する。つまり、付与手段３０６ａ，３０６ｂ，３０６ｃは、各動作情報に対して計数値を一対一に付与する。本変形例によれば、動作周波数の変更履歴、あるいは動作電圧の変更履歴に関する連続的なログを取得したい場合に対応することができる。
（５）前述の実施の形態４では、付与手段３０６ａ，３０６ｂ，３０６ｃが、図１２に示すように、動作情報に対して変換計数値を離散的に付与する例について説明したが、これに限定されるものではなく、例えば、図１５に示すように、複数の動作情報それぞれに対して変換計数値、動作周波数および動作電圧を連続的に付与してもよい。この場合、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされると、付与手段３０６ａ，３０６ｂ，３０６ｃは、１つの動作情報を処理手段から取得するとともに、当該動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが発生した時点における変換計数値を計数値処理手段３０５ａ，３０５ｂ，３０５ｃから取得し、変換計数値を１つの動作情報に付与する。その後、付与手段３０６ａ，３０６ｂ，３０６ｃは、基準動作周波数で特定される１周期毎に、１つの動作情報を処理手段から取得するとともに、変換計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃから取得し、当該変換計数値を前記１つの動作情報に付与する。つまり、付与手段３０６ａ，３０６ｂ，３０６ｃは、各動作情報に対して変換計数値を一対一に付与する。本変形例によれば、動作周波数の変更履歴、あるいは動作電圧の変更履歴に関する連続的なログを取得したい場合に対応することができる。
（６）実施の形態１乃至４のトレース処理装置１０１，１０２，１０３の各構成が集積化されて１または複数のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）により実現されるものであってもよい。また、各構成が１つのＬＳＩにより実現されるものであってもよい。つまり、実施の形態１、２、４における処理手段３０１ａ，３０１ｂ，３０１ｃ、計数手段３０２ａ，３０２ｂ，３０２ｃ、計数値変換手段３０５ａ，３０５ｂ，３０５ｃおよび付与手段３０６ａ，３０６ｂ，３０６ｃそれぞれと同じ機能を有する処理回路、計数回路、計数値変換回路および付与回路からなる集積回路により実現されるものであってもよいし、実施の形態３における処理手段３０１ａ，３０１ｂ，３０１ｃ、計数手段３０２ａ，３０２ｂ，３０２ｃ、および付与手段３０６ａ，３０６ｂ，３０６ｃそれぞれと同じ機能を有する処理回路、計数回路、および付与回路からなる集積回路により実現されるものであってもよい。
【０１５６】
本変形例では、並列処理装置とトレース処理装置とを１つの集積回路で実現することができるので、小型化を図ることができる。
（７）前述の実施の形態１、２、４では、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、各処理装置を構成するハードウェア上で計数値変換手段３０５ａ，３０５ｂ，３０５ｃを実現するためのソフトウェアが実行されることにより実現されるものであり、ソフトウェア上で処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれに同時に計数開始信号および計数停止信号が与えられるようにしてもよい。この場合、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれに入力される動作クロック信号が、１つの周波数シンセサイザからの出力を分周器により分周することにより生成されるものであれば、ソフトウェア上で各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれに入力されるクロック信号に基づいて計数開始信号及び計数停止信号を生成するようにしてもよい。
（８）前述の実施の形態１または４では、複数の読み出し手段１３００が、記憶手段３０３ａ，３０３ｂ，３０３ｃそれぞれに各別に接続され、読み出し手段１３００それぞれが、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数で各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出すようにしてもよい。または、読み出し手段が、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数とは無関係で且つ各処理手段３０１ａ，３０１ｂ，３０１ｃの動作クロックの周期よりも早い一定の周期で記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出すようにしてもよい。
（９）実施の形態２および３では、動作情報取得手段６０１が動作情報編集装置６００を構成するプロセッサ等により実現される例について説明したが、これに限定されるものではなく、並列処理装置１００の内部に設けられたプロセッサ等により実現してもよい。
（１０）実施の形態２および３では、モニタへの表示は波形やグラフ等のグラフィカルな表示や、動作情報の数値をテキスト表示するようにしてもよい。
（１１）実施の形態１では、各計数手段３０２ａ，３０２ｂ，３０２ｃが、矩形パルス状の計数開始信号の立下りを検出したときに計数を開始する例について説明しているが、これに限定されず、例えば、矩形パルス状の計数開始信号の立上りを検出したときに計数を開始するようにしてもよい。また、矩形パルス状の計数開始信号における所定のレベルを検出したときに計数を開始するようにしてもよい。
（１２）実施の形態１乃至４では、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値が、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値が上書きされる前に読み出し手段１３００によって読み出される例について説明したが、これに限定されるものではなく、例えば、読み出し手段１３００に、ユーザが読み出し手段１３００が動作情報および変換計数値を読み出すタイミングを自由に設定できる設定手段（図示せず）を設けて、ユーザが当該設定手段により適宜読み出しタイミングを設定できるようにしてもよい。
＜補足＞
変形例（６）で説明したＬＳＩは、集積度の違いにより、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＶＬＳＩ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＳＬＳＩ（Ｓｕｐｅｒ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＵＬＳＩ（Ｕｌｔｒａ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などと呼称されることもある。
【０１５７】
また、集積回路化の手法は、専用回路または汎用プロセッサにより実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【産業上の利用可能性】
【０１５８】
本発明は、複数の処理手段を備える並列処理装置において、複数の処理手段について同じ時間軸上でトレースを行うことができ、並列処理装置の性能や挙動を時系列で解析するのに適用できる。また、動作周波数および動作電圧が動的に変化する複数の処理手段を備える並列処理装置の挙動を時系列で解析するのに適用できる。
【符号の説明】
【０１５９】
１００  並列処理装置
１０１，１０２，１０３  トレース処理装置
２００，６０３  動作周波数記憶手段
３０１ａ，３０１ｂ，３０１ｃ  処理手段
３０２ａ，３０２ｂ，３０２ｃ  計数手段
３０３ａ，３０３ｂ，３０３ｃ  記憶手段
３０５ａ，３０５ｂ，３０５ｃ，６０５  計数値変換手段
３０６ａ，３０６ｂ，３０６ｃ  付与手段
３０７ａ，３０７ｂ，３０７ｃ  動作情報取得タイミング制御手段
３０８ａ，３０８ｂ，３０８ｃ  変更計数値記憶手段
３０９  計数制御手段
４００，６０４  基準動作周波数設定手段
６００  動作情報編集装置
６０１  動作情報取得手段
６０２  時刻情報対応手段
６０６  編集用記憶手段
６０７  計数値抽出手段
７００  モニタ
７０１  表示制御装置
８００  動作周波数変更制御手段
８０１  動作周波数変更情報
９００  動作電圧
１０００  ユーザインターフェース
１１００  動作周波数制御手段
１２００  クロック発生手段
ＣＬａ，ＣＬｂ，ＣＬｃ  クロック信号
Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃ  動作情報
Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃ  動作情報取得指示
Ｖａ，Ｖｂ，Ｖｃ  動作電圧
【図１】
2010143381.tif 000003
【図２】
2010143381.tif 000004
【図３】
2010143381.tif 000005
【図４】
2010143381.tif 000006
【図５】
2010143381.tif 000007
【図６】
2010143381.tif 000008
【図７】
2010143381.tif 000009
【図８】
2010143381.tif 000010
【図９】
2010143381.tif 000011
【図１０】
2010143381.tif 000012
【図１１】
2010143381.tif 000013
【図１２】
2010143381.tif 000014
【図１３】
2010143381.tif 000015
【図１４】
2010143381.tif 000016
【図１５】
2010143381.tif 000017
【図１６】
2010143381.tif 000018
【図１７】
2010143381.tif 000019
【手続補正書】
【提出日】平成23年2月4日(2011.2.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の処理手段から構成される並列処理装置のトレースを行うトレース処理装置およびそのような装置を含むトレース処理システムに関する。
【背景技術】
【０００２】
近年、並列処理装置として、複数の演算コアを有するマルチコアや複数のプロセッサを有するマルチプロセッサといった複数の処理手段から構成された並列処理装置を使用することが多くなってきた。
【０００３】
これらの並列処理装置では、各処理手段の処理負荷等の性能解析やメモリアクセス、キャッシュヒット率等の挙動解析において、各処理手段についてトレース（処理手段で実行された動作の形跡を辿る）を行い、処理手段毎に得られたトレースの結果同士で時間的な整合をとることが必要となる場合があった。つまり、各処理手段について共通の時間軸でのトレース結果を得ることが必要となる場合があった。
【０００４】
これに対して、特許文献１に記載されているように、個別にタイマを有する複数の処理手段から構成される並列処理装置（マルチプロセッサシステム）について、時刻同期信号を発生させる発生手段を設け、当該発生手段が、各タイマを同期させるための時刻同期信号を各処理手段に送信し、各処理手段が、各タイマで計数される計数値を当該時刻同期信号に基づいて調整することで、各タイマの計数値のずれの発生を防ぐことができるタイマ調整システムが提案されている。
【０００５】
図１６に、特許文献１に記載されているタイマ調整システムのブロック図を示す。
特許文献１に記載されているタイマ調整システムは、図１６に示すように、時刻同期信号を発生させる発生手段１６１１と、発生手段１６１１から送信される時刻同期信号を全処理手段に対して出力する出力手段１６１２と、出力手段１６１２から出力された時刻同期信号を各処理手段に対して分配する分配手段１６１６と、出力手段１６１２から出力され分配手段１６１６により全処理手段に分配されて戻ってきた時刻同期信号が入力される入力手段１６１３とを備える。また、図１６に示す構成のタイマ調整システムでは、時刻同期信号が出力手段１６１２から出力され各処理手段を含む並列処理装置を伝播して入力手段１６１３に戻ってくるまでの時間（以下、伝播時間と称す。）を測定する測定手段１６１４と、測定手段１６１４により測定された伝播時間に基づいて各タイマ間での計数値を同期させる同期手段１６１５とを備えており、測定手段１６１４が測定した伝播時間に基づいて、同期手段１６１５が計数値のずれを補正している。
【０００６】
図１６に示す構成のタイマ調整システムを用いれば、マルチプロセッサシステムを構成する各処理手段の動作周波数が同じである場合には、ある所定の時刻において、各処理手段に設けられたタイマの計数値を一致させれば、各処理手段について共通の時間軸上でトレースを行うことができる。
【０００７】
ところが、図１６に示す構成のタイマ調整システムでは、各処理手段が互いに異なる動作周波数で動作する並列処理装置の場合、各処理手段の動作周波数と伝播遅延時間の時間関係を考慮しないと各タイマの計数値を一致させることができず、各処理手段について共通の時間軸上でトレースを行うことができない。
【０００８】
これに対して、従来から、複数のプロセッサについて共通の時間軸上でトレースを行うシミュレーション装置であって、各プロセッサには、互いに異なる動作周波数のクロックが入力されるとともに、共通の信号が入力され、各プロセッサに当該プロセッサの処理実行結果とともに各プロセッサ間でやりとりされる処理の共通の信号と位相情報を取得し、各プロセッサ間でやりとりされる共通の信号と当該位相情報に基づいて、各プロセッサの処理実行結果同士の同期をとるシミュレーション装置が提案されている（特許文献２）。
【０００９】
特許文献２に記載されている技術を応用すれば、各処理手段が、異なる動作周波数のクロックで動作する場合であっても、処理手段毎に、動作クロックにより出力値が変化するカウンタを別途設けて、当該カウンタの値を共通の信号で補正して、当該カウンタで示される各処理手段の位相情報（時間情報）を合わせこむことで、当該カウンタの値で示される共通の時間軸上でトレースを行うことができる。
【００１０】
また、従来から、複数のプロセッサ（処理手段）から構成される計算機システムを、シミュレータ装置上に構成し、計算機システムを構成する各プロセッサについてトレース情報を取得するトレース情報取得方法がある（特許文献３参照）。
【００１１】
当該トレース情報取得方法では、各プロセッサが個別に設けられたクロックに同期して処理を実行し、各プロセッサの動作情報を他のプロセッサにリアルタイムで渡し、各プロセッサは、自らの動作情報と他のプロセッサから受け取った動作情報とを統合して保持する。そして、各プロセッサの自らの保持するトレース情報に含まれる自らの動作情報と他のプロセッサが保持するトレース情報に含まれる自らの動作情報とを対比して、各プロセッサが保持するトレース情報間の時間的整合を取るようにする。
【００１２】
このトレース情報取得方法を適用したシミュレータ装置では、図１７に示すように、複数（図１７では２つ）のプロセッサ１７０１，１７１１と、各プロセッサ１７０１，１７１１から出力されるトレース情報１７０９，１７１９を編集するトレース編集手段１７２０と、トレース編集手段１７２０で編集されたトレース情報を表示する表示手段１７２１とをシミュレータ装置上で構成する。
【００１３】
ここで、各プロセッサ１７０１，１７１１は、それぞれ個別のクロック１７０３，１７１３に同期して被試験プログラム１７０５，１７１５を実行する命令実行模擬部１７０４，１７１４と、各命令実行模擬部１７０４，１７１４で被試験プログラム１７０５，１７１５を実行したときの動作情報を、通信手段１７１０を介して他方のプロセッサ１７０１，１７１１に送信する送信部１７０７，１７１７と、送信部１７０７，１７１７から通信手段１７１０を介して送信された動作情報を受信する受信部１７０６，１７１６と、受信部１７０６，１７１６で受信した動作情報を、クロック１７０３，１７１３を用いてトレースするトレース手段１７０２，１７１２とを備える。
【００１４】
また、図１７に示すトレース編集手段１７２０は、各プロセッサ１７０１，１７１１それぞれのトレース情報に含まれる動作情報同士を照合して、プロセッサ１７１１が保持するトレース情報に含まれるプロセッサ１７０１の動作情報と、プロセッサ１７０１自らが保持するトレース情報に含まれる動作情報とが一致する箇所で、プロセッサ１７１１が保持するトレース情報との時間的整合を取る。
【００１５】
また、トレース情報には、同一または類似の動作情報が含まれる場合があり、この場合、基準とすべき動作情報の特定が困難となる場合がある。したがって、図１７に示すトレース情報取得方法では、トレース情報に含まれる動作情報それぞれに乱数を付加する乱数発生部１７０８，１７１８が設けられており、同一または類似の複数の動作情報についても個々に識別できるようにしている。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００２−４９６０５号公報
【特許文献２】特開２００９−５４１０７号公報
【特許文献３】特開平４―３５３９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、特許文献２に記載された技術を実際の並列処理装置のトレース処理装置に適用するとすれば、各処理手段について動作用クロック系統とは別にタイマ用クロック系統および当該タイマ用クロック系統に基づいて各処理手段の位相情報を合わせこむようにカウンタ値を補正できるカウンタを含む少なくとも２つのカウンタを付加する必要があり、レイアウトの複雑化により製造が困難となるおそれがあった。
【００１８】
特に、トレース処理装置をＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）上に実現するとなると、レイアウトの複雑化による製造の困難性が更に顕著になるばかりでなく、ＬＳＩが大型化してしまうおそれがあった。
【００１９】
また、半導体微細加工技術およびプロセッサ設計技術の進歩により、ＬＳＩのゲート長が３２ｎｍまで狭小化し、且つマイクロプロセッサの動作周波数が１ＧＨｚを越える現状においては、ＬＳＩ内の信号伝播における遅延調整、ばらつき抑制が困難となっており、特許文献２に記載された技術を適用したトレース処理装置のように、動作用クロック系統とは別にタイマ用クロック系統および少なくとも２つのカウンタを設けても、共通のクロック信号が各処理手段に到達するまでの時間にばらつきが生じてしまい、共通の時間軸上でトレースを行うことが困難となるおそれがあった。
【００２０】
また、特許文献３に記載された技術を実際の並列処理装置のトレース処理装置に適用するとすれば、各処理手段について動作用クロック系統とは別にタイマ用クロック系統を設ける必要はなくなるが、各処理手段間で各処理手段の動作情報の授受を行うための配線を設ける必要があり、トレース処理装置のレイアウトの複雑化により、製造が困難になるおそれがあった。
【００２１】
本発明は、上記事由に鑑みてなされたものであり、複数の処理手段が異なる動作周波数で動作したとしても各処理手段のトレースを同じ時間軸上で行うことを可能としながらも、レイアウトの簡素化を図ることができるトレース処理装置を提供することを目的とする。
【課題を解決するための手段】
【００２２】
上記課題を解決するために本発明に係るトレース処理装置は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理装置であって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段と、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換手段と、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与手段とを備えることを特徴とする。
【発明の効果】
【００２３】
この構成によれば、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行う際、各処理手段の動作情報に所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を付与することにより、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の性能や挙動に対する時系列での解析を容易にすることができる。また、各処理手段に、計数手段から出力される当該処理手段の動作周波数のクロック信号の計数値を当該処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換することにより、動作用のクロック系統とは別に各処理手段に共通のクロック信号を供給するための共通クロック系統を設ける必要がなく、且つ、処理手段間で各処理手段の動作情報の授受を行うための配線も必要ないので、特にトレース処理装置を集積回路で構成する場合にレイアウトの簡素化を図ることができる。
【００２４】
また、本構成は、各計数手段に対して、当該計数手段に入力されるクロック信号の計数を開始するタイミングを一致させるように当該計数手段を制御する計数制御手段を備えることを特徴とするものであってもよい。
【００２５】
この構成によれば、計数制御手段が、各計数手段における計数開始タイミングを強制的に一致させるので、複数の処理手段それぞれについて得られるトレース情報の時間的前後関係を正しく維持することができる。
【００２６】
また、本構成は、複数の処理手段それぞれの動作周波数が記憶された動作周波数記憶手段を備え、各計数値変換手段は、対応する処理手段の動作周波数を動作周波数記憶手段から取得することを特徴とするものであってもよい。
【００２７】
この構成によれば、複数の処理手段それぞれの動作周波数が記憶された動作周波数記憶手段を備えることにより、動作周波数記憶手段に処理手段それぞれの動作周波数を記憶させておくだけで、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の動作周波数を変更する場合でも動作周波数記憶手段の記憶する動作周波数を変更するだけで、各計数値変換手段に設定される各処理手段の動作周波数の変更を容易に行うことができる。
【００２８】
また、動作周波数記憶手段を並列処理装置の内部に設ける構成とすることにより、計数値変換手段は、各処理手段の動作周波数に関する情報を外部から取得する必要がないので、並列処理装置に動作周波数に関する情報を取得するための入力ピンは不要となり、並列処理装置に搭載する処理手段の数が入出力ピンの数で制限されることがない。
【００２９】
また、本構成は、計数値変換手段に基準動作周波数を設定する基準動作周波数設定手段を備え、計数値変換手段が、対応する処理手段の動作周波数と基準動作周波数とを用いて変換計数値を算出することを特徴とするものであってもよい。
【００３０】
この構成によれば、基準動作周波数設定手段を備えることにより、基準動作周波数を自由に設定することができるので、複数の処理手段の動作周波数それぞれに応じて最適な基準動作周波数を選択することができる。
【００３１】
また、本構成は、基準動作周波数設定手段は、複数の処理手段のいずれか１つの動作周波数を基準動作周波数とすることを特徴とするものであってもよい。
この構成によれば、基準動作周波数設定手段が、基準動作周波数を自動的にいずれかの処理手段の動作周波数とすることにより、ユーザが基準動作周波数設定手段に対して設定すべき基準動作周波数を指示する必要がないので、ユーザのメンテナンス負担を軽減することができる。
【００３２】
また、本構成は、計数値変換手段が、計数手段から出力される計数値と、所定の基準動作周波数を当該計数値に対応する処理手段の動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として出力することを特徴とするものであってもよい。
【００３３】
この構成によれば、所定の基準動作周波数と各処理手段の動作周波数を用いて簡単な演算を行うだけで容易に変換計数値を得ることができるので、計数値変換手段を簡単な算術演算回路で実現することが可能となる。
【００３４】
また、本構成は、処理手段の動作周波数の変更に基づいて動作周波数記憶手段の内容を変更する動作周波数変更手段を備えることを特徴とするものであってもよい。
この構成によれば、処理手段が、各処理手段から出力される動作情報に基づいて各処理手段の動作周波数を制御する動作周波数制御手段により、動作周波数が動的に変更される並列処理装置についても、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の性能や挙動の時系列での解析を容易にすることができる。
【００３５】
また、本構成は、各付与手段は、処理手段毎に、変換計数値とともに当該処理手段の動作周波数を動作情報に付与することを特徴とするものであってもよい。
この構成によれば、動作周波数を動作情報に付与することにより、動作周波数の変更履歴を追うことができるので、各処理手段の挙動の時系列での解析をより広範な観点から行うことができる。
【００３６】
また、本構成は、変換計数値が付与された動作情報を記憶する記憶手段を備えることを特徴とするものであってもよい。
この構成によれば、記憶手段を備えることにより、動作情報を一時的に記憶手段に記憶させることができ、動作情報を記憶手段から読み出すタイミングを自由に設定することができるので、設計自由度を増やすことができる。また、動作情報を記憶手段から読み出すタイミングを自由に設定することができるので、そのタイミングによっては、並列処理装置と外部装置との間でのトレースを行うために必要なデータの入出力頻度を低減することもできる。
【００３７】
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理回路を有する集積回路であって、処理回路毎に、当該処理回路に入力されるクロック信号を計数して得られる計数値を出力する計数回路と、処理手段毎に、計数回路から出力される各処理回路の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換回路と、処理回路毎に、計数値変換回路から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与回路とを備えることを特徴とする集積回路であってもよい。
【００３８】
この構成によれば、並列処理装置とトレース処理装置とを１つの集積回路で実現することができるので、小型化を図ることができる。
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段、計数値変換手段から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与手段を備えるトレース処理装置と、トレース処理装置から前記動作情報および前記変換計数値を含むデータを取得する動作情報取得手段、前記変換計数値を各付与手段が動作情報を取得した時刻として、前記変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を前記変換計数値に従って並べ替える時刻情報対応手段を備える動作情報編集装置とから構成されることを特徴とするものであってもよい。
【００３９】
この構成によれば、動作情報取得手段により、動作情報を外部に取り出すことができるので、例えば、外部に設けられたコンピュータで動作情報を取得して自由に加工することが可能となる。
【００４０】
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、および、処理手段毎に、計数手段から計数値が出力されるタイミングで処理手段から動作情報を当該処理手段から取得し当該動作情報に前記計数手段から出力される計数値を付与する付与手段を備えるトレース処理装置と、トレース処理装置から動作情報および計数値を含むデータを取得する動作情報取得手段、動作情報取得手段で取得した動作情報および計数値を含むデータの中から各処理手段の動作周波数のクロック信号の計数値を抽出する計数値抽出手段、計数値抽出手段により抽出された各処理手段の動作周波数のクロック信号の計数値を処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換手段、および計数値変換手段から出力された変換計数値を各付与手段が動作情報を取得した時刻として、変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を変換計数値に従って並べ替える時刻情報対応手段を備える動作情報編集装置とから構成されることを特徴とするものであってもよい。
【００４１】
この構成によれば、計数値変換手段が並列処理装置の外部に設けられているので、計数手段、付与手段および記憶手段からなるトレース処理装置に対しても、動作情報編集装置を接続するだけで、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の挙動の時系列での解析を容易にするという効果が得られる。
【００４２】
また、本構成は、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレース処理方法であって、処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数ステップと、処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に、変換してなる変換計数値を出力する計数値変換ステップと、処理手段毎に、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与ステップとを備えることを特徴とするものであってもよい。
【００４３】
この構成によれば、データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行う際、各処理手段の動作情報を所定の基準動作周波数で計数した場合の計数値してなる変換計数値を付与することにより、複数の処理手段それぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段の性能や挙動の時系列での解析を容易にすることができる。また、処理手段毎に、計数手段から出力される当該処理手段の動作周波数のクロック信号の計数値を当該処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換するので、動作用のクロック系統とは別に各処理手段に共通のクロック信号を供給するための共通クロック系統を設ける必要がなく、且つ、処理手段同士で各処理手段の動作情報の授受を行うための配線を設ける必要もないので、レイアウトの簡素化を図ることができる。
【図面の簡単な説明】
【００４４】
【図１】実施の形態１のトレース処理装置の構成を示すブロック図である。
【図２】実施の形態１の計数手段の計数制御を示す説明図である。
【図３】実施の形態１における動作周波数管理テーブルの概念図である。
【図４】実施の形態１における計数値変換手段の構成を示すブロック図である。
【図５】実施の形態１における付与手段により動作情報に変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図６】実施の形態２のトレース処理システムの構成を示すブロック図である。
【図７】実施の形態２における時刻情報対応手段による時刻と動作情報との対応付けを説明するための図である。
【図８】実施の形態３のトレース処理システムの構成を示すブロック図である。
【図９】実施の形態３における付与手段により動作情報に計数値が付与された後の動作情報および計数値を含むデータの概念図である。
【図１０】実施の形態４のトレース処理装置の構成を示すブロック図である。
【図１１】実施の形態４における動作周波数変更制御手段による動作周波数管理テーブルの変更を説明するための図である。
【図１２】実施の形態４における付与手段により動作情報に変換計数値、動作周波数および動作電圧が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図１３】変形例における付与手段により動作情報に変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図１４】変形例における付与手段により動作情報に計数値が付与された後の動作情報および計数値を含むデータの概念図である。
【図１５】変形例における付与手段により動作情報に変換計数値、動作周波数および動作電圧が付与された後の動作情報および変換計数値を含むデータの概念図である。
【図１６】従来のタイマ調整システムの構成を示す図である。
【図１７】従来のマルチプロセッサシステムの動作についてのシミュレーション装置の構成を示すブロック図である。
【発明を実施するための形態】
【００４５】
＜実施の形態１＞
＜１＞構成
本実施の形態に係るトレース処理装置１０１の構成を示すブロック図を図１に示す。
【００４６】
本実施の形態のトレース処理装置１０１は、図１に示すように、クロック発生手段１２００から供給されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃに基づいてデータ処理を行うとともにデータ処理中に行う動作に関連する情報を動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとして出力する３つの処理手段３０１ａ，３０１ｂ，３０１ｃを有し且つ３つの処理手段３０１ａ，３０１ｂ，３０１ｃが互いに異なる動作周波数で動作する並列処理装置１００のトレースを行う。ここで、処理手段３０１ａ，３０１ｂ，３０１ｃは、演算コアやプロセッサ等からなる。なお、クロック発生手段１２００は、周波数シンセサイザから構成される。
【００４７】
また、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃで行った処理のサイクル数、命令実行数、演算実行数、キャッシュメモリへのヒット率およびミス率、処理手段の計算資源の稼働率（例えば、処理手段による計算時間や動作時間、キャッシュメモリへのアクセス回数）等から構成される。また、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとしては、実行した命令の種類、演算の実行履歴あるいはメモリアクセスの履歴をメモリアドレスで示したもの等でもよいし、その他の動作情報であってもよく、ここで例示したものに限定されるものではない。
【００４８】
本実施の形態のトレース処理装置１０１は、計数手段３０２ａ，３０２ｂ，３０２ｃと、計数値変換手段３０５ａ，３０５ｂ，３０５ｃと、付与手段３０６ａ，３０６ｂ，３０６ｃと、計数制御手段３０９と、記憶手段３０３ａ，３０３ｂ，３０３ｃと、動作周波数記憶手段２００と、基準動作周波数設定手段４００と、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃとを含んで構成される。
【００４９】
計数手段３０２ａ，３０２ｂ，３０２ｃは、対応する処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃと同じ動作周波数のクロック信号が入力され、対応する処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、当該処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号を計数する。
【００５０】
また、計数手段３０２ａ，３０２ｂ，３０２ｃは、図２に示すように、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して計数開始を指示するための計数開始信号と計数停止を指示するための計数停止信号とを出力する計数制御手段３０９により、各計数手段３０２ａ，３０２ｂ，３０２ｃがクロックの計数を開始するように制御されている。つまり、計数手段３０２ａ，３０２ｂ，３０２ｃの計数開始および計数停止のタイミングは、計数制御手段３０９により集中制御されている。なお、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数開始時に計数値が０にリセットされるものでもよいし、あるいは従前の計数値が保持されるものであってもよい。
【００５１】
計数制御手段３０９は、並列処理装置１００の内部に設けられたプロセッサ等により実現されており、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの計数を開始するタイミングを指示する。
【００５２】
また、計数制御手段３０９と各計数手段３０２ａ，３０２ｂ，３０２ｃとの間には、計数開始信号が計数制御手段３０９から出力され、計数手段３０２ａ，３０２ｂ，３０２ｃそれぞれに到達するまでの時間が同じになるように、適宜遅延回路を設けることにより、各計数手段３０２ａ，３０２ｂ，３０２ｃにおける計数開始信号のタイミングのずれを解消している。なお、計数制御手段３０９は、並列処理装置１００の外部に設けられた制御用マイクロコンピュータにより実現してもよい。また、本実施の形態では、計数制御手段３０９を設ける例について説明したが、例えば、処理手段３０１ａ，３０１ｂ，３０１ｃが、各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号を出力するようにしてもよい。
【００５３】
しかして、計数制御手段３０９が、各計数手段３０２ａ，３０２ｂ，３０２ｃにおける計数開始タイミングを一致させることで、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれについて得られるトレース情報の時間関係を正しく維持することができる。
【００５４】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される当該処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のクロック信号の計数値を所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する。
【００５５】
また、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、図４に示すように、基準動作周波数設定手段４００から取得した基準動作周波数を、動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で除してなる変換係数を出力する除算回路３０５ａ２，３０５ｂ２，３０５ｃ２と、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、除算回路３０５ａ２，３０５ｂ２，３０５ｃ２から出力される変換係数とを積算して変換計数値として出力する乗算回路３０５ａ１，３０５ｂ１，３０５ｃ１とから構成される。しかして、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を動作周波数記憶手段２００から取得し、基準動作周波数が基準動作周波数設定手段４００により設定され、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として出力する（変換計数値＝計数値×基準動作周波数／動作周波数）。ここで、計数値変換手段３０５ａ，３０５ｂ，３０５ｃでは、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値に対して算術演算を行って算出された変換計数値を出力するので、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングは、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値に対応する動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃが出力されるタイミングに対して遅れが生じてしまう。図２に示すように、計数手段３０２ａ，３０２ｂ，３０２ｃが計数値を出力するタイミングに比べて１クロック内の遅延時間に収まる場合は動作情報Ｄ１ａ、Ｄ１ｂ、Ｄ１ｃにそのまま付与手段３０６ａ，３０６ｂ，３０６ｃを介して変換計数値を付与できるが、１クロック内の遅延時間に収まらない場合は遅延時間に合わせて動作情報Ｄ１ａ、Ｄ１ｂ、Ｄ１ｃも遅延させる。また、図２では、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、積算値について小数点以下を切り捨ててなる値を変換計数値として出力している例を示している。なお、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、積算値について小数点以下を切り捨ててなる値を変換計数値として出力する例に限られず、例えば、積算値について小数点以下を四捨五入してなる値を変換計数値として出力するものであってもよいし、積算値が無限小数となる場合には丸めて出力するものであってもよい。
【００５６】
ここで、計数値変換手段３０５ａ，３０５ｂ，３０５ｃによる変換計数値の算出について、具体例を用いて説明する。
処理手段３０１ａの動作周波数が、１００ＭＨｚ、処理手段３０１ｂの動作周波数が２００ＭＨｚ、処理手段３０１ｃの動作周波数が４００ＭＨｚの場合、計数手段３０２ａから出力される計数値が１０００サイクルに到達した時点では、計数手段３０２ｂから出力される計数値は２０００サイクル、計数手段３０２ｃから出力される計数値は４０００サイクルとなる。
【００５７】
ここにおいて、基準動作周波数を処理手段３０１ａの動作周波数である１００ＭＨｚに設定すると、計数値変換手段３０５ａから出力される変換計数値は、（１００［ＭＨｚ］）／１００［ＭＨｚ］）×１０００［サイクル］＝１０００［サイクル］となる。また、計数値変換手段３０５ａから変換計数値が出力されるタイミングでは、計数値変換手段３０５ｂから出力される変換計数値が、（１００［ＭＨｚ］／２００［ＭＨｚ］）×２０００［サイクル］＝１０００［サイクル］、計数値変換手段３０５ｃから出力される変換計数値が、（１００［ＭＨｚ］／４００［ＭＨｚ］）×４０００［サイクル］＝１０００［サイクル］となる。このように、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃが、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値に対して変換を行うことで、処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が異なる場合であっても、各計数手段３０２ａ，３０２ｂ，３０２ｃそれぞれが示す計数値の整合をとることができる。
【００５８】
動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、計数値変換手段３０５ａ，３０５ｂ，３０５ｃ毎に設けられ、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している。
【００５９】
付与手段３０６ａ，３０６ｂ，３０６ｃは、図２に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得し、当該変換計数値を付与する。ここで、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから、付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが出力されると、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが入力された時点における複数の動作情報を、処理手段３０１ａ，３０１ｂ，３０１ｃから取得する。
【００６０】
付与手段３０６ａ，３０６ｂ，３０６ｃにより動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図を図５に示す。図５に示すように、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの変換計数値＃ｍ或いは＃ｍ＋１が付されることになる。また、図５には図示していないが、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報に対して変換計数値を付与する際に、複数の動作情報および変換計数値を含むデータの中から変換計数値であることが識別できる識別子を付与する。
【００６１】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより変換計数値が付与されてなる動作情報を記憶する。
記憶手段３０３ａ，３０３ｂ，３０３ｃは、メモリおよびレジスタなどの記憶素子からなり、図５に示すような形で動作情報および変換計数値が記憶されている。ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃにより書き込まれる。また、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶された動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値が上書きされる前に読み出し手段１３００によって読み出される。読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
【００６２】
動作周波数記憶手段２００は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が記録されている。動作周波数記憶手段２００は、図３に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃのうちのいずれの情報であるかを示すフィールド３００１（以下、処理手段ＩＤフィールドと称す）と、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を示すフィールド３００２（以下、動作周波数フィールドと称す）とから構成される動作周波数管理テーブルを記憶している。本実施の形態のトレース処理装置では、動作周波数管理テーブルの動作周波数フィールド３００２の内容の設定または変更は、並列処理装置１００の外部に設けられた制御用マイクロコンピュータ等からなる制御装置（図示せず）により行う。
【００６３】
また、動作周波数記憶手段２００は、メモリおよびレジスタなどの記憶素子により実現することができる。なお、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が固定である場合は、動作周波数管理テーブルの動作周波数フィールド３００２には、予め固定された動作周波数が設定されることになる。本実施の形態のトレース処理装置１０１では、動作周波数記憶手段２００に処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を記憶させておくだけで、複数の処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれについて同じ時間軸上でトレースを行うことができるので、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を変更した場合でも動作周波数記憶手段２００に変更後の動作周波数を記憶させるだけで、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃにおける計数値の変換を容易に変更することができる。
【００６４】
基準動作周波数設定手段４００により、計数値変換手段３０５ａ，３０５ｂ，３０５ｃに基準動作周波数が設定される。基準動作周波数設定手段４００は、計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を算出するために必要な基準動作周波数を各計数値変換手段３０５ａ，３０５ｂ，３０５ｃに設定する。基準動作周波数は、並列処理装置１００の外部に設けられたマイクロコンピュータからなる基準動作周波数制御装置（図示せず）により設定される。基準動作周波数設定手段４００が、処理手段３０１ａの動作周波数を基準動作周波数に設定した場合、計数値変換手段３０５ｂ，３０５ｃから出力される変換計数値は、処理手段３０１ａの動作サイクル数（計数値）に対する処理手段３０２ｂ，３０２ｃの動作サイクル数の相対値となる。また、基準動作周波数設定手段４００が、処理手段３０１ｂの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｃから出力される変換計数値は、処理手段３０１ｂの動作サイクル数に対する処理手段３０１ａ，３０１ｃの動作サイクル数の相対値となる。更に、基準動作周波数設定手段４００が、処理手段３０１ｃの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｂから出力される変換計数値は、処理手段３０１ｃの動作サイクル数に対する処理手段３０１ａ，３０１ｂの動作サイクル数の相対値となる。
【００６５】
なお、処理手段３０１ａ、計数手段３０２ａ、計数値変換手段３０５ａ、付与手段３０６ａ、記憶手段３０３ａおよび動作情報取得タイミング制御手段３０７ａから１つの処理装置が構成され、処理手段３０１ｂ、計数手段３０２ｂ、計数値変換手段３０５ｂ、付与手段３０６ｂ、記憶手段３０３ｂおよび動作情報取得タイミング制御手段３０７ｂから１つの処理装置が構成され、処理手段３０１ｃ、計数手段３０２ｃ、計数値変換手段３０５ｃ、付与手段３０６ｃ、記憶手段３０３ｃおよび動作情報取得タイミング制御手段３０７ｃから１つの処理装置を構成できる。
【００６６】
また、各記憶手段３０３ａ，３０３ｂ，３０３ｃには、読み出し手段１３００から動作情報および変換計数値の読み出し要求を行う読み出し信号が入力される読み出し信号入力ポート３０３ａ１，３０３ｂ１，３０３ｃ１と、読み出し信号が入力されると動作情報および変換計数値を出力する動作情報出力ポート３０３ａ２，３０３ｂ２，３０３ｃ２が設けられており、読み出し手段１３００と各記憶手段３０３ａ，３０３ｂ，３０３ｃとは、読み出し手段１３００から送信される読み出し信号を伝送する信号線や各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される動作情報や変換計数値を含むデータを伝送する信号線からなる複数の信号線を介して接続されている。ここで、読み出し手段１３００は、各記憶手段３０３ａ，３０３ｂ，３０３ｃに対して読み出し要求をすることで、各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出している。また、読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
【００６７】
なお、本実施の形態では、図３に示すように、処理手段３０１ａの動作周波数を１００ＭＨｚ、処理手段３０１ｂの動作周波数を２００ＭＨｚ、処理手段３０１ｃの動作周波数を４００ＭＨｚとしているが、これに限定されるものではない。
【００６８】
また、本実施の形態では、基準動作周波数が、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれかと同一の周波数に限られるものではなく、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれとも異なる周波数に設定してもよい。また、基準動作周波数を３２．７６８ｋＨｚに設定すれば、変換計数値を時計の実時刻に対する相対値とすることができる。
＜２＞動作
以下、本実施の形態のトレース処理装置の動作について図２を用いながら説明する。
【００６９】
図２では、基準動作周波数が処理手段３０１ａの動作周波数に設定された場合に例を示している。
処理手段３０１ａ，３０１ｂ，３０１ｃは、クロック発生手段１２００から各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される互いに周波数が異なる各クロックＣＬａ，ＣＬｂ，ＣＬｃに同期してデータ処理を行う。ここで、処理手段３０１ａ,３０１ｂ,３０１ｃは、データ処理を行うとともに動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【００７０】
一方、計数手段３０２ａ，３０２ｂ，３０２ｃは、図２に示すように、計数制御手段３０９から各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号が入力されると、各計数手段３０２ａ，３０２ｂ，３０２ｃに供給される各クロックＣＬａ，ＣＬｂ，ＣＬｃの計数を開始し、計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃに出力する。ここで、各計数手段３０２ａ，３０２ｂ，３０２ｃは、矩形パルス状の計数開始信号の立下りを検出したときに計数を開始する。
【００７１】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が入力されると、動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数と、基準動作周波数設定手段４００により設定された基準動作周波数に基づいて処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数を算出するとともに、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、当該変換係数とを積算し、積算値を変換計数値として付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。ここでは、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、積算値の小数点以下は切り捨てている。
【００７２】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃから入力される動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから入力される変換計数値を付与する形で、動作情報および変換計数値を記憶手段３０３ａ，３０３ｂ，３０３ｃに書き込む。
【００７３】
記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値が上書きされる前に読み出し手段１３００によって読み出される。
【００７４】
読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
＜実施の形態２＞
＜１＞構成
本実施の形態に係るトレース処理システムの構成を示すブロック図を図６に示す。
本実施の形態のトレース処理システムは、図６に示すように、クロック発生手段１２００から供給されるクロックＣＬａ，ＣＬｂ，ＣＬｃに基づいてデータ処理を行うとともにデータ処理中に行う動作に関連する情報を動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとして出力する３つの処理手段（図示せず）を有し且つ３つの処理手段が互いに異なる動作周波数で動作する並列処理装置１００のトレースを行う。ここで、各処理手段は、演算コアやプロセッサ等から構成されている。
なお、図６において、図１に示した構成のうち記憶手段３０３ａ，３０３ｂ，３０３ｃ以外の構成については図示を省略する。また、トレース処理装置１０１の各構成は、実施の形態１と同じ構成なので詳細な説明は省略する。また、以下において、トレース処理装置１０１の各構成については、図１に示した符号を用いて説明する。
本実施の形態に係るトレース処理システムは、図６に示すように、実施の形態１で説明したトレース処理装置１０１と、トレース処理装置１０１の一部を構成する記憶手段３０３ａ，３０３ｂ，３０３ｃそれぞれに記憶された動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得する動作情報取得手段６０１、および動作情報取得手段６０１で取得した動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃの中から変換計数値を抽出し、抽出した変換計数値をトレース処理装置１０１の一部を構成する各付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃとの対応付けを行う時刻情報対応手段６０２を備える動作情報編集装置６００と、時刻情報対応手段６０２により対応づけられた各処理手段３０１ａ，３０１ｂ，３０１ｃの動作情報を時系列で表示する表示装置（表示制御装置７０１とモニタ７００とから構成される）とから構成される。
【００７５】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃが所定量だけ書き込まれると、動作情報取得手段６０１に、所定量の動作情報の格納が完了したことを通知する。
【００７６】
動作情報編集装置６００は、並列処理装置１００に接続され、且つ動作情報編集プログラムが実行可能なコンピュータにより構成され、動作情報編集プログラムをコンピュータ上で実行することにより、動作情報取得手段６０１および時刻情報対応手段６０２を実現している。また、動作情報編集装置６００は、動作情報取得手段６０１により取得された動作情報および変換計数値を用いて動作情報を編集するために動作情報および変換計数値を一時的に記憶しておく編集用記憶手段６０６を備える。
【００７７】
動作情報取得手段６０１は、各記憶手段３０３ａ，３０３ｂ，３０３ｃから所定量の動作情報の格納が完了したことの通知を受けると、記憶手段３０３ａ，３０３ｂ，３０３ｃ毎に、当該記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する変換計数値を読み出す。なお、動作情報取得手段６０１は、動作情報編集装置６００が備えるプロセッサ等の制御装置により実現されている。
【００７８】
編集用記憶手段６０６は、動作情報編集装置６００の内部に設けられたメモリ内の所定の領域により実現されている。ここで、編集用記憶手段６０６に記憶された動作情報および変換計数値を含むデータの概念図を図７（ａ）に示す。図７（ａ）に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、付与手段３０６ａ，３０６ｂ，３０６ｃが、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの変換計数値が付与されている。例えば、図７（ａ）に示すように、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した複数の動作情報に対して変換計数値は、処理手段３０１ａから出力される複数の動作情報に対して＃Ｌまたは＃Ｍが付与され、処理手段３０１ｂから出力される複数の動作情報には、＃Ｍまたは＃Ｎが付与されているように、各処理手段３０１ａ，３０１ｂで付与される変換計数値が一致することもあれば、互いに異なることもある。つまり、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、必要に応じて全ての処理手段３０１ａ，３０１ｂ，３０１ｃに対して同時に動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力することができ、また、個々の処理手段３０１ａ，３０１ｂ，３０１ｃに対して個別に動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力することもできる。
【００７９】
ここで、各処理手段３０１ａ，３０１ｂ，３０１ｃの中から出力される動作情報に付与される変換計数値に対しては、図７（ａ）には図示していないが、複数の動作情報および変換計数値を含むデータの中から変換計数値であることを識別できる識別子が付与されている。
【００８０】
時刻情報対応手段６０２は、図７（ａ）に示すように、動作情報および変換計数値を含むデータの中から変換計数値が同じ動作情報を抽出し、図７（ｂ）に示すように、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した各動作情報に対応する変換計数値を付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報との対応付けを行う。具体的には、時刻情報対応手段６０２は、統合した動作情報を変換計数値の値が小さい順序で並べ替えた後に、編集用記憶手段６０３に格納する。
【００８１】
ところで、変換計数値は、各計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、基準動作周波数を各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で除して得られる変換係数とを積算して得られるので、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数によっては、各処理手段３０１ａ，３０１ｂ，３０１ｃ間で変換計数値が厳密に同じ値にならないことがある。そこで、時刻情報対応手段６０２は、編集用記憶手段６０３に記憶された動作情報の中から、変換計数値が同じ値である動作情報を抽出する際、対比する２つの変換計数値に、大きさ１未満の相異があっても両者は同じ値であるとみなして動作情報の抽出を行う。なお、時刻情報対応手段６０２は、２つの変換計数値の相違について変換係数との比較を行うことなく、単に動作情報を抽出して時系列に並べる処理を行うだけでもよい。
【００８２】
表示装置は、モニタ７００と、モニタ７００の表示を制御する表示制御装置７０１とから構成され、時刻情報対応手段６０２によって変換計数値の値が小さい順序で並べ替えられた動作情報の全てが編集用記憶手段６０３に格納されると、当該動作情報が表示制御手段により読み出され、当該表示制御手段により時系列でモニタ７００上に表示される。
＜２＞動作
本実施の形態において、トレース処理装置１０１の動作は、実施の形態１と同じであるから説明を省略する。
【００８３】
以下、動作情報編集装置６００および表示装置制御装置７０１の動作について説明する。
まず、動作情報取得手段６０１は、記憶手段３０３ａ，３０３ｂ，３０３ｃから所定量の動作情報の格納が完了した通知が入力されると、各記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する変換計数値を読み出す。
動作情報取得手段６０１は、並列処理装置１００の各記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を編集用記憶手段６０６に記憶する。
編集用記憶手段６０６に動作情報および変換計数値が記憶されると、時刻情報対応手段６０２は、編集用記憶手段６０６から動作情報および変換計数値群を読み出す。その後、時刻情報対応手段６０２は、変換計数値が同じ動作情報を抽出し、図７（ｂ）に示すように、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した動作情報群を変換計数値の値が小さい順序で並べ替えた後に、当該動作情報を編集用記憶手段６０６に格納する。
変換計数値の値が小さい順序で並べ替えられた動作情報の編集用記憶手段６０６への格納が全て完了すると、当該動作情報が表示制御装置７０１により読み出され、当該表示制御装置７０１により時系列でモニタ７００上に表示される。
＜実施の形態３＞
＜１＞構成
本実施の形態に係るトレース処理システムの構成を示すブロック図を図８に示す。
【００８４】
本実施の形態のトレース処理システムは、計数手段３０２ａ，３０２ｂ，３０２ｃ、付与手段３０６ａ，３０６ｂ，３０６ｃ、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃ、計数制御手段（図示せず）および記憶手段３０３ａ，３０３ｂ，３０３ｃを含んで構成されるトレース処理装置１０２と、動作情報取得手段６０１、計数値抽出手段６０７、計数値変換手段６０５、動作周波数記憶手段６０３、基準動作周波数設定手段６０４および時刻情報対応手段６０２を含んで構成される動作情報編集装置６００と、時刻情報対応手段６０２により対応づけられた各処理手段３０１ａ，３０１ｂ，３０１ｃの動作情報を時系列で表示する表示装置（表示制御装置７０１とモニタ７００とから構成される）とを備える。
【００８５】
ここで、計数手段３０２ａ，３０２ｂ，３０２ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号を計数して得られる計数値を出力する。
【００８６】
計数制御手段（図示せず）は、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの計数を開始するタイミングを指示する。
【００８７】
付与手段３０６ａ，３０６ｂ，３０６ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が出力されるタイミングで処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得し、動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値を付与する。
【００８８】
動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃ毎に設けられ、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している。
【００８９】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、動作情報および対応する計数値を記憶する。
また、動作情報取得手段６０１は、記憶手段３０３ａ，３０３ｂ，３０３ｃ毎に、動作情報および対応する計数値を取得する。計数値抽出手段６０７は、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、動作情報取得手段６０１で取得した動作情報および対応する計数値から各処理手段の動作周波数のクロック信号の計数値を抽出する。計数値変換手段６０５は、計数値抽出手段６０７により抽出された処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のクロック信号の計数値を処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を用いて所定の基準動作周波数で計数した場合の計数値に変換してなる変換計数値を出力する。動作周波数記憶手段６０３は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が記録されている。基準動作周波数設定手段６０４は、計数値変換手段６０５に基準動作周波数を設定する。時刻情報対応手段６０２は、計数値変換手段６０５から出力された変換計数値を各付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報との対応付けを行う。
【００９０】
なお、計数制御手段の構成は実施の形態１と同様なので説明を省略する。
付与手段３０６ａ，３０６ｂ，３０６ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値を、処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに付与する。ここで、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから出力される動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃに従って、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得する。
【００９１】
図８に示すように、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから、付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが出力されると、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが入力された時点における複数の動作情報を、処理手段３０１ａ，３０１ｂ，３０１ｃから取得する。
【００９２】
ここで、付与手段３０６ａ，３０６ｂ，３０６ｃにより動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに計数値が付与された後の動作情報および対応する計数値を含むデータの概念図を図９に示す。図９に示すように、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの計数値＃ｍ或いは＃ｍ＋１が付されることになる。また、図９には図示していないが、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報に対して計数値を付与する際に、複数の動作情報および対応する計数値を含むデータの中から計数値であることを識別できる識別子を付与する。
【００９３】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、メモリおよびレジスタなどの記憶素子からなり、動作情報および対応する計数値が記憶されている。
ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃにより書き込まれる。また、記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより、動作情報および対応する計数値が所定量だけ書き込まれると、動作情報取得手段６０１に、所定量の動作情報の格納が完了したことを通知する。ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃによる当該動作情報格納の完了通知は、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶された動作情報および対応する計数値が、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および対応する計数値で上書きされる前に行われる。
【００９４】
また、各記憶手段３０３ａ，３０３ｂ，３０３ｃには、各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報取得手段６０１に、所定量の動作情報の格納が完了したことを通知する格納完了通知信号を出力するとともに、動作情報取得手段６０１から動作情報および対応する計数値の取得要求を行うための取得要求信号が入力される信号入出力ポート３０３ａ１，３０３ｂ１，３０３ｃ１と、取得要求信号が入力されると動作情報および対応する計数値を出力する動作情報出力ポート３０３ａ２，３０３ｂ２，３０３ｃ２が設けられており、動作情報取得手段６０１と各記憶手段３０３ａ，３０３ｂ，３０３ｃとは、各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される格納完了通知信号や動作情報取得手段６０１から送信される取得要求信号を伝送する信号線や各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される動作情報や変換計数値を含むデータを伝送する信号線からなる複数の信号線を介して接続されている。
【００９５】
動作情報編集装置６００は、並列処理装置１００に接続され、且つ動作情報編集プログラムが実行可能なコンピュータにより構成され、動作情報編集プログラムをコンピュータ上で実行することにより、動作情報取得手段６０１、計数値抽出手段６０７、計数値変換手段６０５、基準動作周波数設定手段６０４、時刻情報対応手段６０２を実現している。また、動作情報編集装置６００は、動作情報取得手段６０１により取得された動作情報および対応する計数値を用いて動作情報を編集するために動作情報および対応する計数値、変換計数値を一時的に記憶しておく編集用記憶手段６０６を備える。
【００９６】
計数値抽出手段６０７は、編集用記憶手段６０６に記憶された動作情報および対応する計数値の中から計数値を抽出して、計数値変換手段６０５に出力する。
計数値変換手段６０５は、計数値抽出手段６０７により抽出された計数値と、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として算出する。ここで、計数値変換手段６０５は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数に関する情報を、動作周波数記憶手段６０３から取得し、基準動作周波数は、基準動作周波数設定手段６０４により設定される。また、計数値変換手段６０５は、変換計数値を算出した後に、編集用記憶手段６０６に記憶されている各計数値を当該変換計数値に置き換える。なお、計数値変換手段６０５で行われる変換計数値の算出処理は、実施の形態１と同様なので説明を省略する。
【００９７】
動作周波数記憶手段６０３は、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの識別ＩＤと、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数から構成される動作周波数管理テーブルを記憶している。動作周波数管理テーブルの内容は実施の形態１と同じなので説明を省略する。本実施の形態のトレース処理システムでは、動作周波数管理テーブルの動作周波数フィールドの内容の設定または変更は、動作情報編集装置６００の外部に設けられたユーザインターフェース１０００を介して行う。また、動作周波数記憶手段６０３は、動作情報編集装置６００の内部に設けられたメモリ（図示せず）により実現することができる。
【００９８】
基準動作周波数設定手段６０４は、計数値変換手段６０５が変換計数値を算出するために必要な基準動作周波数を計数値変換手段６０５に設定する。当該基準動作周波数は、動作情報編集装置６００の外部に設けられたユーザインターフェース１０００を介して設定される。
【００９９】
ここで、基準動作周波数設定手段６０４は、処理手段３０１ａ，３０１ｂ，３０１ｃのいずれかの動作周波数を基準動作周波数に設定する。基準動作周波数設定手段６０４が、処理手段３０１ａの動作周波数を基準動作周波数に設定した場合、計数値変換手段６０５から出力される変換計数値は、処理手段３０１ａの動作サイクル数に対する処理手段３０２ｂ，３０２ｃの動作サイクル数の相対値となる。また、基準動作周波数設定手段６０４が、処理手段３０１ｂの動作周波数を基準動作周波数として設定した場合、計数値変換手段６０５から出力される変換計数値は、処理手段３０１ｂの動作サイクル数に対する処理手段３０１ａ，３０１ｃの動作サイクル数の相対値となる。更に、基準動作周波数設定手段６０４が、処理手段３０１ｃの動作周波数を基準動作周波数として設定した場合、計数値変換手段６０５から出力される変換計数値は、処理手段３０１ｃの動作サイクル数に対する処理手段３０１ａ，３０１ｂの動作サイクル数の相対値となる。
【０１００】
なお、基準動作周波数は、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれかと同一の周波数に限られるものではなく、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれとも異なる周波数に設定してもよい。また、基準動作周波数を３２．７６８ｋＨｚに設定すれば、変換計数値を時計の実時刻に対する相対値とすることができる。
【０１０１】
時刻情報対応手段６０２は、編集用記憶手段６０６に記憶された動作情報および対応する計数値、変換計数値の中から変換計数値が同じ動作情報を抽出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した各動作情報に対応する変換計数値を付与手段３０６ａ，３０６ｂ，３０６ｃが動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得した時刻として、動作情報との対応付けを行う。具体的には、時刻情報対応手段６０２は、統合した動作情報群を変換計数値の値が小さい順序で並べ替えた後に、当該動作情報を編集用記憶手段６０６に格納する。
【０１０２】
表示装置は、モニタ７００と、モニタ７００の表示を制御する表示制御装置７０１とから構成され、時刻情報対応手段６０２によって変換計数値の値が小さい順序で並べ替えられた動作情報の全てが編集用記憶手段６０６に格納されると、当該動作情報が表示制御装置７０１により読み出され、表示制御装置７０１により時系列でモニタ７００上に表示される。
【０１０３】
本実施の形態のトレース処理システムは、計数値変換手段６０５が並列処理装置１００の外部に設けられているので、計数手段３０２ａ，３０２ｂ，３０２ｃ、付与手段３０６ａ，３０６ｂ，３０６ｃおよび記憶手段３０３ａ，３０３ｂ，３０３ｃからなるトレース処理装置１０２に対しても、動作情報編集装置６００を接続するだけで、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれについて同じ時間軸上でトレースを行うことができるので、トレース処理装置１０２に対しても各処理手段３０１ａ，３０１ｂ，３０１ｃの性能や挙動の時系列での解析を容易にするという効果が得られる。
＜２＞動作
本実施の形態のトレース処理システムの動作について説明する。
【０１０４】
処理手段３０１ａ，３０１ｂ，３０１ｃは、クロック発生手段１２００から各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される互いに周波数が異なる各クロックＣＬａ，ＣＬｂ，ＣＬｃに同期してデータ処理を行う。ここで、処理手段３０１ａ,３０１ｂ,３０１ｃは、データ処理を行うとともに動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１０５】
一方、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数制御手段（図示せず）から各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号が入力されると、各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される各クロックＣＬａ，ＣＬｂ，ＣＬｃの計数を開始し、計数値を付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１０６】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃから入力される動作情報に、計数手段３０２ａ，３０２ｂ，３０２ｃから入力される計数値を付与する形で、動作情報および対応する計数値を記憶手段３０３ａ，３０３ｂ，３０３ｃに書き込む。
【０１０７】
付与手段３０６ａ，３０６ｂ，３０６ｃにより、記憶手段３０３ａ，３０３ｂ，３０３ｃに動作情報および対応する計数値が所定量だけ書き込まれると、記憶手段３０３ａ，３０３ｂ，３０３ｃは、動作情報取得手段６０１に、所定量の動作情報および対応する計数値の格納が完了したことを通知する。
【０１０８】
記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報取得手段６０１に対して、記憶手段３０３ａ，３０３ｂ，３０３ｃに所定量の動作情報および対応する計数値の格納を完了した旨の通知が入力されると、動作情報取得手段６０１は、各記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および対応する計数値を読み出す。
【０１０９】
動作情報取得手段６０１は、トレース処理装置１０２に設けられた各記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および対応する計数値を編集用記憶手段６０６に記憶する。
【０１１０】
次に、計数値抽出手段６０７が、編集用記憶手段６０６に記憶されている動作情報および対応する計数値から構成される情報の中から計数値を抽出して、計数値変換手段６０５に出力する。
【０１１１】
計数値変換手段６０５は、計数抽出手段６０７から計数値が入力されると、動作周波数記憶手段６０３から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数と、基準動作周波数設定手段６０４により設定された基準動作周波数に基づいて処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数を算出するとともに、当該変換係数と計数値抽出手段６０７から出力される計数値とを積算して変換計数値を算出する。その後、計数値変換手段６０５は、編集用記憶手段６０６に記憶されている各計数値を当該変換計数値に置き換える。
【０１１２】
計数値変換手段６０５により編集用記憶手段６０６に記憶されている各計数値の変換計数値への置き換えが完了すると、時刻情報対応手段６０２が、編集用記憶手段６０６から動作情報および変換計数値を読み出す。
【０１１３】
その後、時刻情報対応手段６０２は、動作情報の中から変換計数値が同じ動作情報を抽出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに対応する動作情報の変換計数値が同じ値である動作情報を統合し、統合した動作情報群を変換計数値の値が小さい順序で並べ替えた後に、当該動作情報および変換計数値を編集用記憶手段６０６に格納する。
【０１１４】
変換計数値の値が小さい順序で並べ替えられた動作情報の編集用記憶手段６０６への格納が全て完了すると、当該動作情報が表示制御装置７０１により読み出され、表示制御装置７０１により時系列でモニタ７００上に表示される。
＜実施の形態４＞
＜１＞構成
本実施の形態に係るトレース処理装置１０３の構成を示すブロック図を図１０に示す。
本実施の形態で説明する並列処理装置１００は、並列処理装置１００全体で消費される消費電力を抑制するために、各処理手段３０１ａ，３０１ｂ，３０１ｃに対して、処理状況に応じて、処理に対する適切な動作周波数および動作電圧に動的に変更するＤＶＦＳ（Ｄｉｎａｍｉｃ  Ｖｏｌｔａｇｅ  ａｎｄ  Ｆｒｅｑｕｅｎｃｙ  Ｓｃａｌｉｎｇ）技術が適用されており、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数や動作電圧が各処理手段３０１ａ，３０１ｂ，３０１ｃの処理状況に応じて個別に変更される。
【０１１５】
本実施の形態のトレース処理装置１０３は、図１０に示すように、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を制御する動作周波数制御手段１１００により、各処理手段３０１ａ，３０１ｂ，３０１ｃのクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数が各処理手段３０１ａ，３０１ｂ，３０１ｃの処理に対する適切な動作周波数へと動的に変更される並列処理装置１００のトレースを行う。なお、処理手段３０１ａ、計数手段３０２ａ、計数値変換手段３０５ａ、付与手段３０６ａ、記憶手段３０３ａ、動作情報取得タイミング制御手段３０７ａおよび変更計数値記憶手段３０８ａから１つの処理装置が構成され、処理手段３０１ｂ、計数手段３０２ｂ、計数値変換手段３０５ｂ、付与手段３０６ｂ、記憶手段３０３ｂ、動作情報取得タイミング制御手段３０７ｂおよび変更計数値記憶手段３０８ｂから１つの処理装置が構成され、処理手段３０１ｃ、計数手段３０２ｃ、計数値変換手段３０５ｃ、付与手段３０６ｃ、記憶手段３０３ｃ、動作情報取得タイミング制御手段３０７ｃおよび変更計数値記憶手段３０８ｃから１つの処理装置を構成できる。
【０１１６】
ここで、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、各処理手段３０１ａ，３０１ｂ，３０１ｃにとって最適な動作周波数と、処理手段３０１ａ，３０１ｂ，３０１ｃを含む処理装置にとって所定の処理能力を維持できる最適な動作電圧Ｖａ，Ｖｂ，Ｖｃとを算出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数を算出された最適値に変更するとともに、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作電圧を算出された最適値に変更する。例えば、計算資源の稼動率を示す動作情報を取得し、計算資源の稼動率が高ければ、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を高めるとともに各処理装置の動作電圧Ｖａ，Ｖｂ，Ｖｃを上昇させ、計算資源の稼動率が低ければ、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を低くするとともに各処理装置の動作電圧を低下させることで、並列処理装置１００全体で消費される電力の低減を図ることができる。また、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃにクロック信号ＣＬａ，ＣＬｂ，ＣＬｃを供給するクロック発生手段１２００を制御することにより動作周波数を変更し、各処理装置に接続されたスイッチング電源（図示せず）およびレギュレータ（図示せず）を含む電源回路（図示せず）を制御することにより動作電圧を変更する。
【０１１７】
本実施の形態のトレース処理装置１０３は、計数手段３０２ａ，３０２ｂ，３０２ｃと、計数値変換手段３０５ａ，３０５ｂ，３０５ｃと、付与手段３０６ａ，３０６ｂ，３０６ｃと、計数制御手段（図示せず）と、記憶手段３０３ａ，３０３ｂ，３０３ｃと、動作周波数記憶手段２００と、基準動作周波数設定手段４００と、動作周波数変更手段８００と、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃと、変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃとを含んで構成される。
【０１１８】
計数手段３０２ａ，３０２ｂ，３０２ｃは、周知のタイマカウンタにより構成され、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、処理手段の動作周波数で入力されるクロック信号を計数して得られる計数値を出力する。
また、計数手段３０２ａ，３０２ｂ，３０２ｃは、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して計数開始を指示するための計数開始信号と計数停止を指示するための計数停止信号とを出力する計数制御手段により、各計数手段３０２ａ，３０２ｂ，３０２ｃがクロックの計数を開始するように制御されている。つまり、計数手段３０２ａ，３０２ｂ，３０２ｃの計数開始および計数停止のタイミングは、計数制御手段３０９により集中制御されている。なお、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数開始時に計数値が０にリセットされるものでもよいし、あるいは従前の計数値が保持されるものであってもよい。
【０１１９】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される当該処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のクロック信号の計数値を所定の基準動作周波数で計数した場合の計数値に変換してなる変換計数値を出力する。
【０１２０】
また、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、実施の形態１と同様に、基準動作周波数設定手段４００から取得した基準動作周波数を動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で除してなる変換係数を出力する除算回路３０５ａ２，３０５ｂ２，３０５ｃ２と、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と除算回路３０５ａ２，３０５ｂ２，３０５ｃ２から出力される変換係数とを積算して変換計数値として出力する乗算回路３０５ａ１，３０５ｂ１，３０５ｃ１とから構成される（図４参照）。なお、計数値変換手段３０５ａ，３０５ｂ，３０５ｃで行われる変換計数値の算出処理は、実施の形態１と同様なので説明を省略する。
【０１２１】
ここで、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数に関する情報を、動作周波数記憶手段２００から取得し、基準動作周波数は、基準動作周波数設定手段４００により設定される。
【０１２２】
計数制御手段は、各計数手段３０２ａ，３０２ｂ，３０２ｃに対して、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で入力されるクロック信号の計数を開始するタイミングを指示する。
【０１２３】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、付与手段３０６ａ，３０６ｂ，３０６ｃにより変換計数値が付与されてなる動作情報を記憶する。動作周波数記憶手段２００には、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数が記録されている。
【０１２４】
動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃは、計数値変換手段３０５ａ，３０５ｂ，３０５ｃ毎に設けられ、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している。
【０１２５】
動作周波数記憶手段２００は、図１１に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃのうちのいずれの情報であるかを示すフィールド（以下、処理手段ＩＤフィールドと称す）と、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を示すフィールド（以下、動作周波数フィールドと称す）とから構成される動作周波数管理テーブルを記憶している。また、動作周波数記憶手段２００が記憶する動作周波数管理テーブルの動作周波数フィールドの内容の設定または変更は、動作周波数変更制御手段８００により行われる。
【０１２６】
並列処理装置１００の動作開始時における各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数が、それぞれ１００ＭＨｚ、２００ＭＨｚ、４００ＭＨｚの場合、動作周波数管理テーブルは、図１１（ａ）に示すように設定されている。ここで、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報から、各処理手段３０１ａ，３０１ｂ，３０１ｃが行うデータ処理に必要な動作周波数を計算する。例えば、動作周波数制御手段１１００が、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれがデータ処理を行うのに必要な動作周波数をそれぞれ１００ＭＨｚ、４００ＭＨｚ、２００ＭＨｚと算出すると、処理手段３０１ａ，３０１ｂ，３０１ｃを識別するための処理手段ＩＤと、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれがデータの処理を行うのに必要な動作周波数とから構成される動作周波数情報を生成して、動作周波数変更制御手段８００に出力する。
【０１２７】
動作周波数変更制御手段８００は、動作周波数制御手段１１００から各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数情報を受け取ると、当該動作周波数情報に基づいて動作周波数記憶手段２００に記憶された動作周波数管理テーブルの内容を図１１（ｂ）に示すように変更するとともに、各処理手段３０１ａ，３０１ｂ，３０１ｃに対して処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更されたことを通知する動作周波数変更情報８０１を出力する。
【０１２８】
ところで、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数や動作電圧を変更するために、周波数シンセサイザの周波数やスイッチング電源およびレギュレータからなる電源回路の出力電圧を変更する場合、所定の期間（以下、不安定期間と称す。）、周波数シンセサイザの周波数や電源回路の出力電圧が安定しない。従って、当該不安定期間内では、処理手段３０１ａ，３０１ｂ，３０１ｃが正しくデータ処理を行うことができない。また、不安定期間内では、クロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数も安定しないので、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値も誤差が大きいものとなる。そこで、周波数制御手段１１００は、不安定期間の間は処理手段３０１ａ，３０１ｂ，３０１ｃのデータ処理を停止させる。そして、動作周波数制御手段１１００は、不安定期間を経過して周波数シンセサイザの周波数や電源回路の出力が安定した後に、動作周波数情報を動作周波数変更制御手段８００に対して出力し、処理手段３０１ａ，３０１ｂ，３０１ｃのデータ処理を再開させる。
【０１２９】
変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃは、周波数制御手段１１００により処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の周波数が変更される場合、クロック信号の周波数が変更される前に計数値変換手段３０５ａ，３０５ｂ，３０５ｃから出力された変換計数値を一時的に記憶させておくためのレジスタにより構成されており、動作周波数変更制御手段８００から動作周波数変更情報８０１の入力があると、計数手段３０２ａ，３０２ｂ，３０２ｃ毎に、処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更される前に当該計数手段３０２ａ，３０２ｂ，３０２ｃから出力された計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃで変換して得られる変換計数値を記憶する。ここで、変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃでは、動作周波数変更制御手段８００からの動作周波数変更情報８０１を受け取る毎に、予め変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃに記憶された変換計数値に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃそれぞれから出力される変換計数値を累積加算した結果を記憶する。
【０１３０】
基準動作周波数設定手段４００は、計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を算出するために必要な基準動作周波数を各計数値変換手段３０５ａ，３０５ｂ，３０５ｃに設定する。基準動作周波数は、並列処理装置１００の外部に設けられたマイクロコンピュータからなる基準動作周波数制御装置（図示せず）により設定される。基準動作周波数設定手段４００が、処理手段３０１ａの動作周波数を基準動作周波数に設定した場合、計数値変換手段３０５ｂ，３０５ｃから出力される変換計数値は、処理手段３０１ａの動作サイクル数に対する処理手段３０２ｂ，３０２ｃの動作サイクル数の相対値となる。また、基準動作周波数設定手段４００が、処理手段３０１ｂの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｃから出力される変換計数値は、処理手段３０１ｂの動作サイクル数に対する処理手段３０１ａ，３０１ｃの動作サイクル数の相対値となる。更に、基準動作周波数設定手段４００が、処理手段３０１ｃの動作周波数を基準動作周波数として設定した場合、計数値変換手段３０５ａ，３０５ｂから出力される変換計数値は、処理手段３０１ｃの動作サイクル数に対する処理手段３０１ａ，３０１ｂの動作サイクル数の相対値となる。なお、基準動作周波数は、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれかと同一の周波数に限られるものではなく、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数のいずれとも異なる周波数に設定してもよい。また、基準動作周波数を３２．７６８ｋＨｚに設定すれば、変換計数値を時計の実時刻に対する相対値とすることができる。
【０１３１】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから出力される変換計数値に対応する動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得し当該動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに変換計数値を付与する。ここで、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから出力される動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃに従って、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを取得する。
【０１３２】
ここで、付与手段３０６ａ，３０６ｂ，３０６ｃにより動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃに変換計数値が付与された後の動作情報および変換計数値を含むデータの概念図を図１２に示す。本実施形態における動作情報には、動作周波数および動作電圧が含まれる。
付与手段３０６ａ，３０６ｂ，３０６ｃは、図１２に示すように、処理手段３０１ａ，３０１ｂ，３０１ｃ毎に、変換計数値とともに、処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数および動作電圧を動作情報に付与する。図１２に示すように、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされた時点において取得した、処理サイクル数、命令実行数、演算実行数、キャッシュメモリのヒット率、ミス率、計算資源の稼働率といった複数の動作情報に対して、一つの変換計数値＃ｍ或いは＃ｍ＋１が付されることになる。
また、図１２には図示していないが、付与手段３０６ａ，３０６ｂ，３０６ｃは、動作情報に対して変換計数値を付与する際に、複数の動作情報および変換計数値を含むデータの中から変換計数値であることを識別できる識別子を付与する。  
【０１３３】
記憶手段３０３ａ，３０３ｂ，３０３ｃは、メモリおよびレジスタなどの記憶素子からなり、動作情報および変換計数値が記憶されている。ここで、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃにより書き込まれる。また、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶された動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値に上書きされる前に読み出し手段１３００によって読み出される。読み出し手段１３００は、記憶手段３０３ａ，３０３ｂ，３０３ｃから読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。また、各記憶手段３０３ａ，３０３ｂ，３０３ｃには、読み出し手段１３００から動作情報および変換計数値の読み出し要求を行う読み出し信号が入力される読み出し信号入力ポート３０３ａ１，３０３ｂ１，３０３ｃ１と、読み出し信号が入力されると動作情報および変換計数値を出力する動作情報出力ポート３０３ａ２，３０３ｂ２，３０３ｃ２が設けられており、読み出し手段１３００と各記憶手段３０３ａ，３０３ｂ，３０３ｃとは、読み出し手段１３００から送信される読み出し信号を伝送する信号線や各記憶手段３０３ａ，３０３ｂ，３０３ｃから出力される動作情報や変換計数値を含むデータを伝送する信号線からなる複数の信号線を介して接続されている。ここで、読み出し手段１３００は、各記憶手段３０３ａ，３０３ｂ，３０３ｃに対して読み出し要求をすることで、各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出している。
＜２＞動作
以下、本実施の形態のトレース処理装置の動作について説明する。
【０１３４】
処理手段３０１ａ，３０１ｂ，３０１ｃは、クロック発生手段１２００から各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される互いに周波数が異なる各クロックＣＬａ，ＣＬｂ，ＣＬｃに同期してデータ処理を行う。ここで、処理手段３０１ａ,３０１ｂ,３０１ｃは、データ処理を行うとともに動作情報Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃを付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１３５】
ここで、動作周波数制御手段１１００は、各処理手段３０１ａ，３０１ｂ，３０１ｃから出力される動作情報に基づいて、各処理手段３０１ａ，３０１ｂ，３０１ｃにとって最適な動作周波数と、各処理装置にとって最適な動作電圧Ｖａ，Ｖｂ，Ｖｃとを算出し、各処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号ＣＬａ，ＣＬｂ，ＣＬｃの動作周波数を算出された最適値に変更するとともに、各処理装置の動作電圧を算出された最適値に変更する。また、動作周波数制御手段１１００は、処理手段３０１ａ，３０１ｂ，３０１ｃを識別するための処理手段ＩＤと、処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれがデータの処理を行うのに必要な動作周波数とから構成される動作周波数情報を生成して、動作周波数変更制御手段８００に出力する。
【０１３６】
動作周波数変更制御手段８００は、動作周波数制御手段１１００から各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数情報を受け取ると、当該動作周波数情報に基づいて動作周波数記憶手段２００に記憶された動作周波数管理テーブルの内容を変更するとともに、各処理手段３０１ａ，３０１ｂ，３０１ｃに対して処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更されたことを通知する動作周波数変更情報８０１を出力する。
【０１３７】
変更計数値記憶手段３０８ａ，３０８ｂ，３０８ｃは、動作周波数変更制御手段８００から動作周波数変更情報８０１の入力があると、計数値変換手段３０５ａ，３０５ｂ，３０５ｃ毎に、処理手段３０１ａ，３０１ｂ，３０１ｃに入力されるクロック信号の動作周波数が変更される前に当該計数手段３０２ａ，３０２ｂ，３０２ｃから出力された計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃで変換して得られる変換計数値を記憶する。
【０１３８】
一方、計数手段３０２ａ，３０２ｂ，３０２ｃは、計数制御手段から各計数手段３０２ａ，３０２ｂ，３０２ｃに計数開始信号が入力されると、各処理手段３０１ａ，３０１ｂ，３０１ｃに供給される各クロックＣＬａ，ＣＬｂ，ＣＬｃの計数を開始し、計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃに出力する。
【０１３９】
計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が入力されると、動作周波数記憶手段２００から取得した各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数と、基準動作周波数設定手段４００により設定された基準動作周波数に基づいて処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数を所定の基準動作周波数で除して得られる変換係数を算出するとともに、計数手段３０２ａ，３０２ｂ，３０２ｃから出力される計数値と、当該変換係数とを積算し、積算値を変換計数値として付与手段３０６ａ，３０６ｂ，３０６ｃに出力する。
【０１４０】
付与手段３０６ａ，３０６ｂ，３０６ｃは、処理手段３０１ａ，３０１ｂ，３０１ｃから入力される動作情報に、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから入力される変換計数値を付与する形で、動作情報および変換計数値を記憶手段３０３ａ，３０３ｂ，３０３ｃに書き込む。
【０１４１】
記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値は、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値に上書きされる前に読み出し手段１３００によって読み出される。
【０１４２】
読み出し手段１３００は、記憶手段から読み出した動作情報および変換計数値を、並列処理装置１００の外部に設けられた外部記憶手段１４００に記憶する。
＜変形例＞
（１）前述の実施の形態１では、基準動作周波数設定手段４００に対して基準動作周波数を設定する場合、並列処理装置１００の外部に設けられた制御装置により設定されるが、これに限られるものではなく、例えば、基準動作周波数設定手段４００が、動作周波数管理テーブルの処理手段識別ＩＤに基づいて、自動的に、各処理手段３０１ａ，３０１ｂ，３０１ｃのいずれか１つの動作周波数を取得して基準動作周波数として設定されるようにしてもよい。
【０１４３】
本変形例によれば、基準動作周波数設定手段４００が、基準動作周波数を自動的に処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数とすることにより、ユーザが自ら基準動作周波数を設定する必要がなくなるので、利便性を向上させることができる。
【０１４４】
また、本変形例では、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数が固定であれば、動作周波数記憶手段２００を設けずに、各計数値変換手段３０５ａ，３０５ｂ，３０５ｃに予め各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数を固定した値として設定しておくようにしてもよい。
【０１４５】
（２）前述の実施の形態１の説明では、付与手段３０６ａ，３０６ｂ，３０６ｃが、図４に示すように、動作情報に対して変換計数値を離散的に付与する例について説明したが、これに限定されるものではなく、例えば、図１３に示すように、複数の動作情報それぞれに対して変換計数値を連続的に付与してもよい。この場合、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされると、付与手段３０６ａ，３０６ｂ，３０６ｃは、１つの動作情報を処理手段から取得するとともに、変換計数値を計数値処理手段３０５ａ，３０５ｂ，３０５ｃから取得し、動作情報に付与する。その後、付与手段３０６ａ，３０６ｂ，３０６ｃは、基準動作周波数で特定される１周期毎に、１つの動作情報を処理手段から取得するとともに、変換計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃから取得し、当該変換計数値を動作情報に付与する。つまり、付与手段３０６ａ，３０６ｂ，３０６ｃは、各動作情報に対して変換計数値を一対一に付与する。
【０１４６】
本変形例によれば、各動作情報に対して変換計数値が一対一に付与されているので、動作情報および変換計数値を含むデータの中から変換計数値を識別できる識別子を付与する必要がなくなるので、付与手段３０６ａ，３０６ｂ，３０６ｃの処理を簡素化することができる。また、実行した命令、あるいは演算の実行列履歴、メモリアクセスにおけるアドレスのアクセス履歴といったある時間内における連続的なログを取得したい場合に対応することができる。
【０１４７】
（３）前述の実施の形態１、２、４では、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃが、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値が出力されるタイミングで、付与手段３０６ａ，３０６ｂ，３０６ｃに動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃを出力している例について説明したが、これに限定されるものではなく、例えば、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃを設けずに、付与手段３０６ａ，３０６ｂ，３０６ｃが、計数手段３０２ａ，３０２ｂ，３０２ｃが計数値を出力するタイミングに対する計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を出力するタイミングの遅延時間に関する情報を保持しており、計数手段３０２ａ，３０２ｂ，３０２ｃから計数値が出力されるタイミングで、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報を取得するとともに、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値を取得し、取得した変換計数値から当該遅延時間だけ過去の変換計数値を算出し、算出した変換計数値を動作情報に付与するものとしてもよい。
【０１４８】
また、計数値変換手段３０５ａ，３０５ｂ，３０５ｃが変換計数値を出力するタイミングが、計数手段３０２ａ，３０２ｂ，３０２ｃが計数値を出力するタイミングに対して遅延がないか若しくは無視できるほど小さい場合には、付与手段３０６ａ，３０６ｂ，３０６ｃが、計数手段３０２ａ，３０２ｂ，３０２ｃから変換計数値が出力されるタイミングで、処理手段３０１ａ，３０１ｂ，３０１ｃから動作情報を取得するとともに、計数値変換手段３０５ａ，３０５ｂ，３０５ｃから変換計数値を取得し、変換計数値を動作情報に付与するものとしてもよい。
【０１４９】
（４）前述の実施の形態３では、図９に示すように、動作情報に対して計数値を離散的に付与する例について説明したが、これに限定されるものではなく、例えば、図１４に示すように、各動作情報に対して計数値を連続的に付与してもよい。この場合、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされると、付与手段３０６ａ，３０６ｂ，３０６ｃは、１つの動作情報を処理手段から取得するとともに、計数値を計数手段３０２ａ，３０２ｂ，３０２ｃから取得し、当該計数値を前記１つの動作情報に付与する。その後、付与手段３０６ａ，３０６ｂ，３０６ｃは、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数で特定される１周期毎に、動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが発生した時点における１つの動作情報を処理手段から取得するとともに、当該動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが発生した時点における計数値を計数手段３０２ａ，３０２ｂ，３０２ｃから取得し、当該計数値を前記１つの動作情報に付与する。つまり、付与手段３０６ａ，３０６ｂ，３０６ｃは、各動作情報に対して計数値を一対一に付与する。本変形例によれば、動作周波数の変更履歴、あるいは動作電圧の変更履歴に関する連続的なログを取得したい場合に対応することができる。
【０１５０】
（５）前述の実施の形態４では、付与手段３０６ａ，３０６ｂ，３０６ｃが、図１２に示すように、動作情報に対して変換計数値を離散的に付与する例について説明したが、これに限定されるものではなく、例えば、図１５に示すように、複数の動作情報それぞれに対して変換計数値、動作周波数および動作電圧を連続的に付与してもよい。この場合、動作情報取得タイミング制御手段３０７ａ，３０７ｂ，３０７ｃから付与手段３０６ａ，３０６ｂ，３０６ｃに対して動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃがなされると、付与手段３０６ａ，３０６ｂ，３０６ｃは、１つの動作情報を処理手段から取得するとともに、当該動作情報取得指示Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃが発生した時点における変換計数値を計数値処理手段３０５ａ，３０５ｂ，３０５ｃから取得し、変換計数値を１つの動作情報に付与する。その後、付与手段３０６ａ，３０６ｂ，３０６ｃは、基準動作周波数で特定される１周期毎に、１つの動作情報を処理手段から取得するとともに、変換計数値を計数値変換手段３０５ａ，３０５ｂ，３０５ｃから取得し、当該変換計数値を前記１つの動作情報に付与する。つまり、付与手段３０６ａ，３０６ｂ，３０６ｃは、各動作情報に対して変換計数値を一対一に付与する。本変形例によれば、動作周波数の変更履歴、あるいは動作電圧の変更履歴に関する連続的なログを取得したい場合に対応することができる。
【０１５１】
（６）実施の形態１乃至４のトレース処理装置１０１，１０２，１０３の各構成が集積化されて１または複数のＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）により実現されるものであってもよい。また、各構成が１つのＬＳＩにより実現されるものであってもよい。つまり、実施の形態１、２、４における処理手段３０１ａ，３０１ｂ，３０１ｃ、計数手段３０２ａ，３０２ｂ，３０２ｃ、計数値変換手段３０５ａ，３０５ｂ，３０５ｃおよび付与手段３０６ａ，３０６ｂ，３０６ｃそれぞれと同じ機能を有する処理回路、計数回路、計数値変換回路および付与回路からなる集積回路により実現されるものであってもよいし、実施の形態３における処理手段３０１ａ，３０１ｂ，３０１ｃ、計数手段３０２ａ，３０２ｂ，３０２ｃ、および付与手段３０６ａ，３０６ｂ，３０６ｃそれぞれと同じ機能を有する処理回路、計数回路、および付与回路からなる集積回路により実現されるものであってもよい。
【０１５２】
本変形例では、並列処理装置とトレース処理装置とを１つの集積回路で実現することができるので、小型化を図ることができる。
（７）前述の実施の形態１、２、４では、計数値変換手段３０５ａ，３０５ｂ，３０５ｃは、各処理装置を構成するハードウェア上で計数値変換手段３０５ａ，３０５ｂ，３０５ｃを実現するためのソフトウェアが実行されることにより実現されるものであり、ソフトウェア上で処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれに同時に計数開始信号および計数停止信号が与えられるようにしてもよい。この場合、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれに入力される動作クロック信号が、１つの周波数シンセサイザからの出力を分周器により分周することにより生成されるものであれば、ソフトウェア上で各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれに入力されるクロック信号に基づいて計数開始信号及び計数停止信号を生成するようにしてもよい。
【０１５３】
（８）前述の実施の形態１または４では、複数の読み出し手段１３００が、記憶手段３０３ａ，３０３ｂ，３０３ｃそれぞれに各別に接続され、読み出し手段１３００それぞれが、各処理手段３０１ａ，３０１ｂ，３０１ｃそれぞれの動作周波数で各記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出すようにしてもよい。または、読み出し手段が、各処理手段３０１ａ，３０１ｂ，３０１ｃの動作周波数とは無関係で且つ各処理手段３０１ａ，３０１ｂ，３０１ｃの動作クロックの周期よりも早い一定の周期で記憶手段３０３ａ，３０３ｂ，３０３ｃから動作情報および変換計数値を読み出すようにしてもよい。
【０１５４】
（９）実施の形態２および３では、動作情報取得手段６０１が動作情報編集装置６００を構成するプロセッサ等により実現される例について説明したが、これに限定されるものではなく、並列処理装置１００の内部に設けられたプロセッサ等により実現してもよい。
【０１５５】
（１０）実施の形態２および３では、モニタへの表示は波形やグラフ等のグラフィカルな表示や、動作情報の数値をテキスト表示するようにしてもよい。
（１１）実施の形態１では、各計数手段３０２ａ，３０２ｂ，３０２ｃが、矩形パルス状の計数開始信号の立下りを検出したときに計数を開始する例について説明しているが、これに限定されず、例えば、矩形パルス状の計数開始信号の立上りを検出したときに計数を開始するようにしてもよい。また、矩形パルス状の計数開始信号における所定のレベルを検出したときに計数を開始するようにしてもよい。
【０１５６】
（１２）実施の形態１乃至４では、記憶手段３０３ａ，３０３ｂ，３０３ｃに記憶されている動作情報および変換計数値が、付与手段３０６ａ，３０６ｂ，３０６ｃによって新たな動作情報および変換計数値が上書きされる前に読み出し手段１３００によって読み出される例について説明したが、これに限定されるものではなく、例えば、読み出し手段１３００に、ユーザが読み出し手段１３００が動作情報および変換計数値を読み出すタイミングを自由に設定できる設定手段（図示せず）を設けて、ユーザが当該設定手段により適宜読み出しタイミングを設定できるようにしてもよい。
＜補足＞
変形例（６）で説明したＬＳＩは、集積度の違いにより、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＶＬＳＩ（Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＳＬＳＩ（Ｓｕｐｅｒ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）、ＵＬＳＩ（Ｕｌｔｒａ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）などと呼称されることもある。
【０１５７】
また、集積回路化の手法は、専用回路または汎用プロセッサにより実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【産業上の利用可能性】
【０１５８】
本発明は、複数の処理手段を備える並列処理装置において、複数の処理手段について同じ時間軸上でトレースを行うことができ、並列処理装置の性能や挙動を時系列で解析するのに適用できる。また、動作周波数および動作電圧が動的に変化する複数の処理手段を備える並列処理装置の挙動を時系列で解析するのに適用できる。
【符号の説明】
【０１５９】
１００  並列処理装置
１０１，１０２，１０３  トレース処理装置
２００，６０３  動作周波数記憶手段
３０１ａ，３０１ｂ，３０１ｃ  処理手段
３０２ａ，３０２ｂ，３０２ｃ  計数手段
３０３ａ，３０３ｂ，３０３ｃ  記憶手段
３０５ａ，３０５ｂ，３０５ｃ，６０５  計数値変換手段
３０６ａ，３０６ｂ，３０６ｃ  付与手段
３０７ａ，３０７ｂ，３０７ｃ  動作情報取得タイミング制御手段
３０８ａ，３０８ｂ，３０８ｃ  変更計数値記憶手段
３０９  計数制御手段
４００，６０４  基準動作周波数設定手段
６００  動作情報編集装置
６０１  動作情報取得手段
６０２  時刻情報対応手段
６０６  編集用記憶手段
６０７  計数値抽出手段
７００  モニタ
７０１  表示制御装置
８００  動作周波数変更制御手段
８０１  動作周波数変更情報
９００  動作電圧
１０００  ユーザインターフェース
１１００  動作周波数制御手段
１２００  クロック発生手段
ＣＬａ，ＣＬｂ，ＣＬｃ  クロック信号
Ｄ１ａ，Ｄ１ｂ，Ｄ１ｃ  動作情報
Ｆ１ａ，Ｆ１ｂ，Ｆ１ｃ  動作情報取得指示
Ｖａ，Ｖｂ，Ｖｃ  動作電圧
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理装置であって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段と、
処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段と、
処理手段毎に、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与手段と
を備えることを特徴とするトレース処理装置。
【請求項２】
各計数手段に対して、当該計数手段に入力されるクロック信号の計数を開始するタイミングを一致させるように当該計数手段を制御する計数制御手段を備えることを特徴とする請求項１記載のトレース処理装置。
【請求項３】
複数の処理手段それぞれの動作周波数が記憶された動作周波数記憶手段を備え、
前記各計数値変換手段は、対応する処理手段の動作周波数を前記動作周波数記憶手段から取得することを特徴とする請求項１記載のトレース処理装置。
【請求項４】
前記計数値変換手段に前記基準動作周波数を設定する基準動作周波数設定手段を備え、前記計数値変換手段は、対応する前記処理手段の動作周波数と基準動作周波数とを用いて変換計数値を算出することを特徴とする請求項３に記載のトレース処理装置。
【請求項５】
前記基準動作周波数設定手段は、複数の前記処理手段のいずれか１つの動作周波数を前記基準動作周波数とすることを特徴とする請求項４記載のトレース処理装置。
【請求項６】
前記計数値変換手段は、前記計数手段から出力される前記計数値と、所定の基準動作周波数を当該計数値に対応する処理手段の動作周波数で除して得られる変換係数とを積算し、積算値を変換計数値として出力することを特徴とする請求項５記載のトレース処理装置。
【請求項７】
処理手段の動作周波数の変更に基づいて前記動作周波数記憶手段の内容を変更する動作周波数変更手段を備えることを特徴とする請求項３記載のトレース処理装置。
【請求項８】
各付与手段は、処理手段毎に、変換計数値とともに当該処理手段の動作周波数を動作情報に付与することを特徴とする請求項７記載のトレース処理装置。
【請求項９】
前記変換計数値が付与された前記動作情報を記憶する記憶手段を備えることを特徴とする請求項３記載のトレース処理装置。
【請求項１０】
前記計数値変換手段に前記基準動作周波数を設定する基準動作周波数設定手段を備え、前記計数値変換手段は、対応する前記処理手段の動作周波数と基準動作周波数とを用いて変換計数値を算出することを特徴とする請求項９に記載のトレース処理装置。
【請求項１１】
前記基準動作周波数設定手段は、複数の前記処理手段のいずれか１つの動作周波数を前記基準動作周波数とすることを特徴とする請求項１０記載のトレース処理装置。
【請求項１２】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理回路を有する集積回路であって、
処理回路毎に、当該処理回路に入力されるクロック信号を計数して得られる計数値を出力する計数回路と、
処理手段毎に、計数回路から出力される各処理回路の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換回路と、
処理回路毎に、計数値変換回路から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与回路と
を備えることを特徴とする集積回路。
【請求項１３】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、
処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段、
計数値変換手段から出力される変換計数値に対応する動作情報を取得し当該動作情報に変換計数値を付与する付与手段
を備えるトレース処理装置と、
トレース処理装置から前記動作情報および前記変換計数値を含むデータを取得する動作情報取得手段、
前記変換計数値を各付与手段が動作情報を取得した時刻として、前記変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を前記変換計数値に従って並べ替える時刻情報対応手段、
を備える動作情報編集装置と
から構成されることを特徴とするトレース処理システム。
【請求項１４】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレースを行うトレース処理システムであって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数手段、
および、処理手段毎に、計数手段から計数値が出力されるタイミングで処理手段から動作情報を当該処理手段から取得し当該動作情報に前記計数手段から出力される計数値を付与する付与手段
を備えるトレース処理装置と、
トレース処理装置から前記動作情報および前記計数値を含むデータを取得する動作情報取得手段、
前記動作情報取得手段で取得した動作情報および計数値を含むデータの中から各処理手段の動作周波数のクロック信号の計数値を抽出する計数値抽出手段、
前記計数値抽出手段により抽出された各処理手段の動作周波数のクロック信号の計数値を処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換手段、
および前記計数値変換手段から出力された変換計数値を各付与手段が動作情報を取得した時刻として、前記変換計数値と当該動作情報との対応付けを行うとともに当該動作情報を前記変換計数値に従って並べ替える時刻情報対応手段
を備える動作情報編集装置と
から構成されることを特徴とするトレース処理システム。
【請求項１５】
データ処理中に行う動作に関連する情報を動作情報として出力する複数の処理手段のトレース処理方法であって、
処理手段毎に、当該処理手段に入力されるクロック信号を計数して得られる計数値を出力する計数ステップと、
処理手段毎に、計数手段から出力される各処理手段の動作周波数のクロック信号の計数値を、各処理手段の動作周波数を用いて所定の基準動作周波数のクロック信号で計数した場合の計数値に変換してなる変換計数値を出力する計数値変換ステップと、
処理手段毎に、計数値変換手段から出力される変換計数値に対応する動作情報を当該処理手段から取得し当該動作情報に変換計数値を付与する付与ステップと
を備えることを特徴とするトレース処理方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010143381.tif 000020
【図２】
2010143381.tif 000021
【図３】
2010143381.tif 000022
【図４】
2010143381.tif 000023
【図５】
2010143381.tif 000024
【図６】
2010143381.tif 000025
【図７】
2010143381.tif 000026
【図８】
2010143381.tif 000027
【図９】
2010143381.tif 000028
【図１０】
2010143381.tif 000029
【図１１】
2010143381.tif 000030
【図１２】
2010143381.tif 000031
【図１３】
2010143381.tif 000032
【図１４】
2010143381.tif 000033
【図１５】
2010143381.tif 000034
【図１６】
2010143381.tif 000035
【図１７】
2010143381.tif 000036
【国際調査報告】
2010143381.tif 000037
2010143381.tif 000038
2010143381.tif 000039
2010143381.tif 000040