(57)【要約】  プロセッサ内だけでなく、プロセッサ以外の機能コアの動作状態も含めたシステム性能劣化要因を解析する。複数の論理プロセッサにより並列処理を行うマルチスレッドプロセッサ（１１）と、マルチスレッドプロセッサ（１１）とは異なる処理を実行する機能コア（１２）と、各アクセス要求とを受け付け、メモリ（２０）へのアクセスを制御するメモリインタフェース（１３）とを備えるシステムＬＳＩ（１０）におけるマルチスレッドプロセッサ（１１）の性能を解析するプロセッサ性能解析装置（１００）であって、マルチスレッドプロセッサ（１１）を監視することで動作情報を出力する動作情報出力部（１０１）と、メモリインタフェース（１３）を監視することでメモリアクセス情報を出力するアクセス情報出力部（１０３）と、動作情報とメモリアクセス情報とを用いてマルチスレッドプロセッサ（１１）の性能を解析する解析情報出力部（１０４）とを備える。
2009096161.tif 000002
【特許請求の範囲】
【請求項１】
複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、
前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、
前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
システムＬＳＩにおける前記プロセッサの性能を解析するプロセッサ性能解析装置であって、
前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、
前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、
前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備える
ことを特徴とするプロセッサ性能解析装置。
【請求項２】
前記プロセッサ性能解析装置は、さらに、
前記プロセッサを監視することで、前記プロセッサが前記第１アクセス要求を発行する要因を示す第３情報を出力する第３情報出力手段を備え、
前記解析手段は、さらに、前記第３情報を用いて前記プロセッサの性能を解析する
ことを特徴とする請求項１記載のプロセッサ性能解析装置。
【請求項３】
前記プロセッサは、前記論理プロセッサ毎に前記メモリへの前記第１アクセス要求を発行し、
前記第３情報出力手段は、前記第１アクセス要求を発行した論理プロセッサを特定する属性情報を前記第３情報として出力する
ことを特徴とする請求項２記載のプロセッサ性能解析装置。
【請求項４】
前記プロセッサは、プリフェッチ又はキャッシュミスが生じた場合に前記第１アクセス要求を発行し、
前記第３情報出力手段は、前記プロセッサが前記第１アクセス要求を発行した原因が前記プリフェッチ及び前記キャッシュミスのいずれによるものかを示す情報を前記第３情報として出力する
ことを特徴とする請求項２又は３記載のプロセッサ性能解析装置。
【請求項５】
前記キャッシュミスは、命令キャッシュミス、データキャッシュミス及びＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）ミスである
ことを特徴とする請求項４記載のプロセッサ性能解析装置。
【請求項６】
前記第２情報出力手段は、前記メモリインタフェースが受け付けたアクセス要求が前記第１アクセス要求及び前記第２アクセス要求のいずれであるかを示す情報を前記第２情報として出力する
ことを特徴とする請求項１〜５のいずれか１項に記載のプロセッサ性能解析装置。
【請求項７】
前記第２情報出力手段は、前記第１アクセス要求若しくは前記第２アクセス要求の待ち順序に関する情報、又は、前記第１アクセス要求若しくは前記第２アクセス要求を受け付けてからデータの転送が完了するまでの時間に関する情報を、前記第２情報として出力する
ことを特徴とする請求項１〜６のいずれか１項に記載のプロセッサ性能解析装置。
【請求項８】
前記第１情報出力手段は、前記論理プロセッサ毎に動作しているのか若しくは待ち状態にあるのか、前記プロセッサのキャッシュのヒット若しくはミス、又は、プリフェッチ動作のヒット若しくはミスを示す情報を、前記第１情報として出力する
ことを特徴とする請求項１〜７のいずれか１項に記載のプロセッサ性能解析装置。
【請求項９】
前記システムＬＳＩは、前記プロセッサを複数備え、
前記プロセッサ性能解析装置は、
前記複数のプロセッサのそれぞれに対応する前記第１情報出力手段を備える
ことを特徴とする請求項１〜８のいずれか１項に記載のプロセッサ性能解析装置。
【請求項１０】
前記プロセッサ性能解析装置は、さらに、
前記解析手段による前記プロセッサの解析結果を受け取り、前記解析結果が予め定められた条件を満たす場合に、トリガ信号を出力するトリガ出力手段を備える
ことを特徴とする請求項１〜９のいずれか１項に記載のプロセッサ性能解析装置。
【請求項１１】
前記プロセッサ性能解析装置は、さらに、
前記プロセッサを監視することで、前記プロセッサと前記機能コアとを接続するバスを介して前記プロセッサから前記機能コアに対して発行される第３アクセス要求に関する第４情報を出力するバスアクセス属性情報出力手段を備え、
前記解析手段は、さらに、前記第４情報を用いて前記プロセッサの性能を解析する
ことを特徴とする請求項１〜１０のいずれか１項に記載のプロセッサ性能解析装置。
【請求項１２】
複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、
前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、
前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
システムＬＳＩにおける前記プロセッサの性能を解析するプロセッサ性能解析方法であって、
前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力ステップと、
前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力ステップと、
前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析ステップとを含む
ことを特徴とするプロセッサ性能解析方法。
【請求項１３】
複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、
前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、
前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
システムＬＳＩの動作をシミュレートすることで、前記プロセッサの性能を解析するプロセッサ性能解析シミュレータであって、
前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、
前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、
前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備える
ことを特徴とするプロセッサ性能解析シミュレータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）におけるプロセッサの性能を解析する装置に関し、特に、プロセッサ内部に複数の論理プロセッサを持ち、複数のプログラムを同時並行で実行可能なマルチスレッドプロセッサの性能を解析する装置に関するものである。
【背景技術】
【０００２】
半導体の製造プロセス技術の微細化に伴い、より多くの機能を１チップに集積することでコスト、機能両面での向上が可能となる。プロセッサとプロセッサ以外の機能コアとを集積したシステムＬＳＩは、今日のデジタルテレビ及びデジタルレコーダなどにおいて広く採用されている。機能コアとは、例えば、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス及びＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）バスなどの汎用ＩＦ（Ｉｎｔｅｒｆａｃｅ）回路、映像及び音楽などのコンテンツデータをエンコード及びデコードするコーデック回路、並びに、有料コンテンツなどの著作権情報を守るための暗号処理回路などである。【０００３】
システムＬＳＩでは、多種の機能が集積されているため、自ずと各機能処理を制御するソフトウェアプログラムの並列処理に対する要望が大きい。そのため、システムＬＳＩにおける処理性能向上のために、複数プログラムの並列実行に適したマルチスレッドプロセッサが採用されることも多い。【０００４】
一方で、マルチスレッドプロセッサで複数プログラムの並列実行を効率よく行うためには、メモリなど共有資源を利用する際にアクセスが集中して性能のボトルネックとならないように配慮する必要がある。しかし、複数の要因が複雑に絡み合うマルチスレッド処理の挙動を把握することは容易ではない。多くの環境要因が複雑に絡み合うシステムにおいて、マルチスレッドプロセッサのハードウェアにおけるスレッド間の処理切替制御が不適切なのか、同時並行で実行されるソフトウェアのアルゴリズムが不適切なのかを見極めることは極めて困難であった。すなわち、システムＬＳＩの持つポテンシャルを有効に発揮させることが困難であるという課題があった。【０００５】
そこで、上記課題を解決するためには、マルチスレッド処理時のプロセッサ処理性能を把握するプロセッサ性能評価装置を設けることが必要となる。【０００６】
従来のプロセッサ性能評価装置としては、プロセッサ内のメモリアクセス用バッファ、キュー及びセレクタの状態、並びに、キャッシュ、分岐予測及びＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）のヒット・ミスなどを同一時間上に揃えて関連付けて出力するものがある（例えば、特許文献１参照）。図８は、特許文献１に記載された従来のプロセッサ性能評価装置のブロック図である。【０００７】
図８のコンピュータ３０は、命令ユニット４０１と、演算ユニット４０２と、１次キャッシュユニット４０３と、２次キャッシュユニット４０４とを備える。【０００８】
２次キャッシュユニット４０４は、２次キャッシュ４０５と、外部アクセスユニット４０６とを備え、コンピュータ内の各ハードウェア情報を出力する。２次キャッシュ４０５は、アクセス数、ヒット回数、及びリクエスト種別などの情報を出力する。外部アクセスユニット４０６は、２次キャッシュ４０５とメモリ４０との間のアクセスにおけるアクセスバッファに詰まれた書き込み、及び、読み出しのキュー数などの情報を出力する。【０００９】
さらに、命令ユニット４０１及び演算ユニット４０２の動作と２次キャッシュ４０５及び外部アクセスユニット４０６の動作とを関連付けるために、命令ユニット４０１及び演算ユニット４０２を識別するコアＩＤなどを設け、２次キャッシュ４０５及び外部アクセスユニット４０６をどこが使用しているのかを示す情報を付加して出力する。これら出力される情報によりコンピュータ全体の動作を把握することが可能となり、性能ボトルネック解析を容易にすることができる。
【特許文献１】国際公開第２００４／０５５６７２号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記従来の構成では、プロセッサ内で発生するキャッシュミスやＴＬＢミスなどの性能劣化要因は把握できるのに対して、プロセッサ以外の性能劣化要因については情報を得ることができないという課題を有している。プロセッサ以外の性能劣化要因は、例えば、機能コアのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送がメモリＩＦ資源を占有するためにプロセッサからのメモリアクセスが長時間待たされていることなどの事象についてである。【００１１】
そこで、本発明は、上記課題を鑑みてなされたものであって、プロセッサ内だけでなく、プロセッサ以外の機能コアの動作状態も含めたシステム性能劣化要因を解析することができるプロセッサ性能解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明のプロセッサ性能解析装置は、複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備えるシステムＬＳＩにおける前記プロセッサの性能を解析するプロセッサ性能解析装置であって、前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備える。【００１３】
これにより、マルチスレッドプロセッサのみならず、機能コアによるメモリアクセスに伴う性能劣化要因も解析することが可能となる。【００１４】
また、前記プロセッサ性能解析装置は、さらに、前記プロセッサを監視することで、前記プロセッサが前記第１アクセス要求を発行する要因を示す第３情報を出力する第３情報出力手段を備え、前記解析手段は、さらに、前記第３情報を用いて前記プロセッサの性能を解析してもよい。【００１５】
例えば、前記プロセッサは、前記論理プロセッサ毎に前記メモリへの前記第１アクセス要求を発行し、前記第３情報出力手段は、前記第１アクセス要求を発行した論理プロセッサを特定する属性情報を前記第３情報として出力してもよい。【００１６】
また、前記プロセッサは、プリフェッチ又はキャッシュミスが生じた場合に前記第１アクセス要求を発行し、前記第３情報出力手段は、前記プロセッサが前記第１アクセス要求を発行した原因が前記プリフェッチ及び前記キャッシュミスのいずれによるものかを示す情報を前記第３情報として出力してもよい。【００１７】
より具体的には、前記キャッシュミスは、命令キャッシュミス、データキャッシュミス及びＴＬＢミスである。【００１８】
これにより、プロセッサが発行するアクセス要求の発行元などの情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。【００１９】
また、前記第２情報出力手段は、前記メモリインタフェースが受け付けたアクセス要求が前記第１アクセス要求及び前記第２アクセス要求のいずれであるかを示す情報を前記第２情報として出力してもよい。【００２０】
また、前記第２情報出力手段は、前記第１アクセス要求若しくは前記第２アクセス要求の待ち順序に関する情報、又は、前記第１アクセス要求若しくは前記第２アクセス要求を受け付けてからデータの転送が完了するまでの時間に関する情報を、前記第２情報として出力してもよい。【００２１】
これにより、メモリへのアクセス要求の処理状況に関する情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。【００２２】
また、前記第１情報出力手段は、前記論理プロセッサ毎に動作しているのか若しくは待ち状態にあるのか、前記プロセッサのキャッシュのヒット若しくはミス、又は、プリフェッチ動作のヒット若しくはミスを示す情報を、前記第１情報として出力してもよい。【００２３】
これにより、プロセッサの動作状況に関する情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。【００２４】
また、前記システムＬＳＩは、前記プロセッサを複数備え、前記プロセッサ性能解析装置は、前記複数のプロセッサのそれぞれに対応する前記第１情報出力手段を備えてもよい。【００２５】
これにより、複数のプロセッサのそれぞれについて動作状況及びメモリへのアクセス状況などの情報を得ることができ、複数のプロセッサからなるシステムの性能を解析することができる。【００２６】
また、前記プロセッサ性能解析装置は、さらに、前記解析手段による前記プロセッサの解析結果を受け取り、前記解析結果が予め定められた条件を満たす場合に、トリガ信号を出力するトリガ出力手段を備えてもよい。【００２７】
これにより、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力することにより、プロセッサの状況に応じた様々な処理を実行することができる。例えば、システムボトルネックの発生時におけるソフトウェア動作の確認を行うことなどができる。【００２８】
また、前記プロセッサ性能解析装置は、さらに、前記プロセッサを監視することで、前記プロセッサと前記機能コアとを接続するバスを介して前記プロセッサから前記機能コアに対して発行される第３アクセス要求に関する第４情報を出力するバスアクセス属性情報出力手段を備え、前記解析手段は、さらに、前記第４情報を用いて前記プロセッサの性能を解析してもよい。【００２９】
これにより、プロセッサから機能コアへのアクセスに起因するプロセッサの動作状況に関する情報を得ることができ、プロセッサの性能をより詳細に解析することができる。【００３０】
なお、本発明は、複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備えるシステムＬＳＩの動作をシミュレートすることで、前記プロセッサの性能を解析するプロセッサ性能解析シミュレータであって、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、前記メモリインタフェースが受け付けるアクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備えるプロセッサ性能解析シミュレータとしても実現できる。【００３１】
さらに、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
【発明の効果】
【００３２】
本発明のプロセッサ性能解析装置によれば、システムＬＳＩに含まれるプロセッサ以外の機能コアのメモリアクセス動作の影響も含めたプロセッサ性能を評価することが可能となる。また、性能ボトルネック解析が容易となり、ソフトウェア及びハードウェアの修正による性能改善を図ることが容易となる。
【図面の簡単な説明】
【００３３】
【図１】図１は、実施の形態１のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。
【図２】図２は、実施の形態１のプロセッサ性能解析装置の動作を示すフローチャートである。
【図３】図３は、実施の形態２のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。
【図４】図４は、実施の形態２のプロセッサ性能解析装置の動作を示すフローチャートである。
【図５】図５は、実施の形態３のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。
【図６】図６は、実施の形態３のプロセッサ性能解析装置の動作を示すフローチャートである。
【図７】図７は、複数のマルチスレッドプロセッサを備えるシステムＬＳＩのブロック図である。
【図８】図８は、従来のプロセッサ性能評価装置のブロック図である。
【符号の説明】
【００３４】
１０  システムＬＳＩ
１１  マルチスレッドプロセッサ
１２  機能コア
１３  メモリインタフェース
２０、４０  メモリ
３０  コンピュータ
１００、２００、３００  プロセッサ性能解析装置
１０１  動作情報出力部
１０２  アクセス属性情報出力部
１０３  アクセス情報出力部
１０４、２０４、３０４  解析情報出力部
２０１  トリガ出力部
３０１  ＩＯバスアクセス属性情報出力部
４０１  命令ユニット
４０２  演算ユニット
４０３  １次キャッシュユニット
４０４  ２次キャッシュユニット
４０５  ２次キャッシュ
４０６  外部アクセスユニット
【発明を実施するための最良の形態】
【００３５】
以下、本発明の実施の形態について、図面を参照しながら説明する。【００３６】
（実施の形態１）
まず、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩの構成について説明する。【００３７】
図１は、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。システムＬＳＩ１０は、マルチスレッドプロセッサ１１と、機能コア１２と、メモリインタフェース１３とを備える。【００３８】
マルチスレッドプロセッサ１１は、複数の論理プロセッサ（Ｌｏｇｉｃａｌ  Ｐｒｏｃｅｓｓｏｒ：ＬＰ）を有し、当該論理プロセッサにより複数のプログラムを同時並行で実行することができる。また、プログラムの実行時に必要に応じて、命令若しくはデータをメモリ２０に書き込む又はメモリ２０から読み出すために、メモリ２０へのメモリアクセス要求を発行する。マルチスレッドプロセッサ１１は、１次キャッシュ、２次キャッシュ及びＴＬＢなど（図示せず）を備える。マルチスレッドプロセッサ１１は、例えば、プリフェッチ又はキャッシュミスが生じた場合に、メモリ２０へのメモリアクセス要求を発行する。なお、メモリアクセス要求は、論理プロセッサごとに発行される。【００３９】
機能コア１２は、マルチスレッドプロセッサ１１とは異なる処理を実行し、メモリ２０へのメモリアクセス要求を発行する複数の機能コアである。機能コア１２は、例えば、ＤＭＡコントローラ、外部機器へのインタフェース回路、音楽及び映像のコンテンツデータを圧縮或いは展開するＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）コーデック回路、並びに、データの暗号化及び復号化を実行する暗復号回路などである。なお、外部機器へのインタフェース回路は、例えば、ＰＣＩインタフェース、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースなどである。機能コア１２の１つであるＤＭＡコントローラが、各機能コア１２とメモリ２０とのアクセスなどを制御する。なお、機能コア１２は、必ずしも複数でなくてもよい。【００４０】
メモリインタフェース１３は、マルチスレッドプロセッサ１１及び機能コア１２で発行されるメモリ２０へのメモリアクセス要求を受け付ける。そして、受け付けたメモリアクセス要求を調停することで、メモリ２０へのアクセスを制御する。【００４１】
次に、本実施の形態のプロセッサ性能解析装置の構成について説明する。【００４２】
本実施の形態のプロセッサ性能解析装置は、システムＬＳＩ１０が備えるマルチスレッドプロセッサ１１の動作状態と、マルチスレッドプロセッサ１１及び機能コア１２からのメモリアクセスの状態とを解析する。【００４３】
図１は、本実施の形態のプロセッサ性能解析装置の構成をも示している。同図のプロセッサ性能解析装置１００は、動作情報出力部１０１と、アクセス属性情報出力部１０２と、アクセス情報出力部１０３と、解析情報出力部１０４とを備える。同図に示すように、動作情報出力部１０１とアクセス属性情報出力部１０２とは、マルチスレッドプロセッサ１１内に備えられる。また、アクセス情報出力部１０３は、メモリインタフェース１３内に備えられる。【００４４】
動作情報出力部１０１は、マルチスレッドプロセッサ１１を監視することで、マルチスレッドプロセッサ１１内部の動作状態を示す動作情報を動的に出力する。動作情報は、例えば、論理プロセッサのそれぞれが動作しているのかデータアクセス待ちの状態にあるのか、稼働中の論理プロセッサの数が演算ユニットの数を越えて待ち状態が発生しているか、論理プロセッサがプリフェッチアクセスを実行中か、プリフェッチ動作がヒットしているかミスしているか、命令キャッシュ及びデータキャッシュはヒットしているかミスしているか、ＴＬＢはヒットしているかミスしているか、２次キャッシュはヒットしているかミスしているかなどの情報である。【００４５】
アクセス属性情報出力部１０２は、マルチスレッドプロセッサ１１を監視することで、マルチスレッドプロセッサ１１が発行するメモリ２０へのメモリアクセス要求に関するメモリアクセス属性情報を出力する。メモリアクセス属性情報は、例えば、論理プロセッサのいずれがメモリアクセス要求を発行しているかを示すＩＤ情報である。また、メモリアクセス要求を発行する要因が命令又はデータのプリフェッチによるものか、命令又はデータキャッシュミスによるものか、ＴＬＢミスによるものか、２次キャッシュミスによるものか、非キャッシャブル領域へのアクセスによるものかなどを示すアクセス要因情報などの情報である。【００４６】
アクセス情報出力部１０３は、メモリインタフェース１３を監視することで、メモリインタフェース１３が受け付けるメモリアクセス要求によって生じるメモリアクセスの状態に関するメモリアクセス情報を出力する。メモリアクセス情報は、例えば、受け付け中のメモリアクセス要求を発行しているのがマルチスレッドプロセッサ１１なのか機能コア１２なのかを示す情報である。【００４７】
このとき、アクセス情報出力部１０３は、受け付け中のメモリアクセス要求を発行しているのが、マルチスレッドプロセッサ１１である場合は、アクセス属性情報出力部１０２から出力されるメモリアクセス属性情報と、メモリインタフェース１３内の動作状態とを関連付けて、メモリアクセス情報として出力する。例えば、受け付け中のメモリアクセス要求は、いずれのＩＤ情報を持つ論理プロセッサが発行したものであるか、プリフェッチによるものか、キャッシュミスによるものか、ＴＬＢミスによるものかなどを示す情報がメモリアクセス情報として出力される。また、メモリアクセス情報の他の例としては、アクセス要求を受け付けてからデータ転送が開始及び／又は終了するまでの時間、並びに、複数のアクセス要求が重なっている場合の受け付け中のアクセス要求数及び処理待ちキューの順序などが挙げられる。【００４８】
解析情報出力部１０４は、動作情報、メモリアクセス属性情報及びメモリアクセス情報を関連付けて、システム性能に関する解析情報を出力する。解析情報は、例えば、マルチスレッドプロセッサ１１の全ての論理プロセッサが動作しておらず待ち状態にある期間、論理プロセッサ毎のキャッシュヒット率、メモリアクセス回数及びメモリアクセス待ち時間の情報、並びに、マルチスレッドプロセッサ１１からのメモリアクセスにおいて機能コア１２のメモリアクセスによるメモリアクセス完了待ち時間の増加分に関する情報などである。【００４９】
続いて、本実施の形態のプロセッサ性能解析装置１００の動作について説明する。【００５０】
図２は、本実施の形態のプロセッサ性能解析装置１００の動作を示すフローチャートである。【００５１】
動作情報出力部１０１は、マルチスレッドプロセッサ１１が有する複数の論理プロセッサを監視することで、論理プロセッサそれぞれの処理状況を示す動作情報を出力する（Ｓ１０１）。具体的には、論理プロセッサごとに、動作しているのかデータアクセス待ち状態にあるのかと、キャッシュはヒットしているかミスしているかとなどを示す情報を、動作情報として出力する。【００５２】
アクセス属性情報出力部１０２は、複数の論理プロセッサを監視することで、マルチスレッドプロセッサ１１が発行するメモリ２０へのメモリアクセス要求に関するメモリアクセス属性情報を出力する（Ｓ１０２）。具体的には、メモリアクセス要求を発行した論理プロセッサを特定するＩＤ情報と、メモリアクセス要求を発行する要因を示すアクセス要因情報となどの情報を、メモリアクセス属性情報として出力する。【００５３】
次に、アクセス情報出力部１０３は、メモリインタフェース１３を監視することで、メモリインタフェース１３が受け付け中のメモリアクセス要求が、マルチスレッドプロセッサ１１で発行されたものか、機能コア１２で発行されたものかを判定する（Ｓ１０３）。【００５４】
メモリアクセス要求がマルチスレッドプロセッサ１１で発行されたものである場合（Ｓ１０３で“プロセッサ”）、アクセス情報出力部１０３は、アクセス属性情報出力部１０２から出力されるメモリアクセス属性情報とメモリインタフェース１３の動作状態とを関連付けて、メモリアクセス情報を出力する（Ｓ１０４）。具体的には、受け付け中のメモリアクセス要求を発行した論理プロセッサを特定する情報と、当該メモリアクセス要求はプリフェッチによるものかキャッシュミスによるものかなどを示す情報となどを、メモリアクセス情報として出力する。【００５５】
受け付け中のメモリアクセス要求が機能コア１２で発行されたものである場合（Ｓ１０３で“機能コア”）、アクセス情報出力部１０３は、受け付け中のメモリアクセス要求が機能コア１２で発行されたものであることを示す情報などを、メモリアクセス情報として出力する（Ｓ１０５）。【００５６】
最後に、解析情報出力部１０４は、動作情報（Ｓ１０１で出力）と、メモリアクセス属性情報（Ｓ１０２で出力）と、メモリアクセス情報（Ｓ１０４又はＳ１０５で出力）とを用いて、システムＬＳＩ１０の動作状況を解析することで解析情報を出力する（Ｓ１０６）。【００５７】
なお、動作情報の出力（Ｓ１０１）とメモリアクセス属性情報の出力（Ｓ１０２）とは、いずれが先に行われてもよく、又は、並列化されてもよい。【００５８】
以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサの動作情報と、プロセッサ及び機能コアからのメモリアクセス情報とを関連付けることで、システム全体の動作状況を得ることができる。以上の構成により、適切なシステムボトルネック解析及びシステム性能改善検討を行うことが可能となる。【００５９】
（実施の形態２）
本実施の形態のプロセッサ性能解析装置は、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力する。【００６０】
図３は、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。図３に示されるプロセッサ性能解析装置２００は、図１のプロセッサ性能解析装置１００と比較して、新たにトリガ出力部２０１が追加された点と、解析情報出力部１０４の代わりに解析情報出力部２０４が追加された点とが異なっている。以下では、図１と同じ構成要素については説明を省略し、異なる点を中心に説明する。【００６１】
トリガ出力部２０１は、解析情報出力部１０４からシステムの状態が特定の条件を満たすことを示す信号を受け取った場合に、トリガ信号としてシステムＬＳＩ１０の外部に出力する。例えば、システムＬＳＩ１０の外部に接続するマルチスレッドプロセッサ１１用のデバッガへトリガ信号を出力する。また、解析情報出力部１０４で検出するシステムの状態の例としては、マルチスレッドプロセッサ１１の全ての論理プロセッサがデータ待ち状態となり、全てのプログラム実行が止まっている状態、及び、特定の論理プロセッサのメモリアクセス待ち時間が所定の値を越えた状態など、システムボトルネックが発生している状態が挙げられる。【００６２】
解析情報出力部２０４は、動作情報、メモリアクセス属性情報及びメモリアクセス情報を関連付けて解析情報を生成し、生成した解析情報をシステムＬＳＩ１０外部だけでなく、トリガ出力部２０１にも出力する。なお、解析情報の具体例については、実施の形態１と同様である。【００６３】
続いて、本実施の形態のプロセッサ性能解析装置２００の動作について説明する。【００６４】
図４は、本実施の形態のプロセッサ性能解析装置２００の動作を示すフローチャートである。同図に示す処理は、図２に示す処理に比べて、さらに、トリガ信号を出力する処理（Ｓ２０７及びＳ２０８）が追加された点が異なっている。図４において、図２と同じ参照符号を付した処理は、実施の形態１と同じ処理であり、以下では説明を省略する。【００６５】
実施の形態１で示したように、解析情報出力部１０４は、動作情報（Ｓ１０１で出力）と、メモリアクセス属性情報（Ｓ１０２で出力）と、メモリアクセス情報（Ｓ１０４又はＳ１０５で出力）とを用いて、システムＬＳＩ１０の動作状況を解析することで解析情報を出力する（Ｓ１０６）。【００６６】
トリガ出力部２０１は、解析情報出力部１０４から出力される解析情報が示すシステムの状態が、上記の特定の条件を満たすか否かを判定する（Ｓ２０７）。システムの状態が特定の条件を満たす場合（Ｓ２０７でＹｅｓ）、トリガ出力部２０１は、システムの状態が特定の条件を満たしたことを示すトリガ信号をシステムＬＳＩ１０の外部に出力する（Ｓ２０８）。【００６７】
システムの状態が特定の条件を満たさない場合（Ｓ２０７でＮｏ）、トリガ信号は出力されず、解析情報だけが外部に出力される。【００６８】
以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力する。これにより、システムボトルネックの発生時におけるソフトウェア動作の確認を行うことが容易となり、システムボトルネック解析における利便性がさらに向上する。【００６９】
（実施の形態３）
本実施の形態のプロセッサ性能解析装置は、プロセッサと機能コアとがＩＯバスによって接続されている場合に、プロセッサから機能コアに対して発行されるアクセス要求に関する情報を基にして解析することができる。【００７０】
図５は、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。図５に示されるプロセッサ性能解析装置３００は、図１のプロセッサ性能解析装置１００と比較して、新たにＩＯバスアクセス属性情報出力部３０１が追加された点と、解析情報出力部１０４の代わりに解析情報出力部３０４が追加された点とが異なっている。以下では、図１と同じ構成要素については説明を省略し、異なる点を中心に説明する。【００７１】
ＩＯバスアクセス属性情報出力部３０１は、マルチスレッドプロセッサ１１を監視することで、マルチスレッドプロセッサ１１と機能コア１２とを接続するＩＯバスを介して転送されるアクセス要求に関するＩＯバスアクセス属性情報を出力する。例えば、ＩＯバスアクセス属性情報は、マルチスレッドプロセッサ１１から機能コア１２へのレジスタアクセスなどに使用するＩＯバスを介した機能コア１２へのアクセスに関する属性情報である。また、論理プロセッサのいずれがＩＯバスアクセス要求を発行しているかを示すＩＤ情報などである。【００７２】
解析情報出力部３０４は、動作情報、メモリアクセス属性情報と、メモリアクセス情報と、ＩＯバスアクセス属性情報とを関連付けて解析情報を生成し、生成した解析情報をシステムＬＳＩ１０外部に出力する。【００７３】
続いて、本実施の形態のプロセッサ性能解析装置３００の動作について説明する。【００７４】
図６は、本実施の形態のプロセッサ性能解析装置３００の動作を示すフローチャートである。同図に示す処理は、図２に示す処理に比べて、さらに、ＩＯバスアクセス属性情報を出力する処理（Ｓ３０３）が追加された点が異なっている。図６において、図２と同じ参照符号を付した処理は、実施の形態１と同じ処理であり、以下では説明を省略する。【００７５】
動作情報の出力（Ｓ１０１）と、メモリアクセス属性情報の出力（Ｓ１０２）とに続いて、ＩＯバスアクセス属性情報出力部３０１は、マルチスレッドプロセッサ１１を監視することで、ＩＯバスアクセス属性情報を出力する（Ｓ３０２）。なお、ＩＯバスを介してアクセス要求が転送されていない場合は、ＩＯバスアクセス属性情報出力部３０１は、ＩＯバスを介してアクセス要求が転送されていないことを示す情報をＩＯバスアクセス属性情報として出力してもよく、又は、ＩＯバスアクセス属性情報を出力しなくてもよい。【００７６】
以降、実施の形態１と同様に、アクセス情報出力部１０３は、メモリアクセス属性情報を出力する（Ｓ１０４又はＳ１０５）。そして、解析情報出力部３０４は、動作情報（Ｓ１０１で出力）と、メモリアクセス属性情報（Ｓ１０２で出力）と、ＩＯバスアクセス属性情報（Ｓ３０３で出力）と、メモリアクセス情報（Ｓ１０４又はＳ１０５で出力）とを用いて、システムＬＳＩ１０の動作状況を解析することで解析情報を出力する（Ｓ１０６）。【００７７】
なお、動作情報の出力（Ｓ１０１）とメモリアクセス属性情報の出力（Ｓ１０２）とＩＯバスアクセス属性情報の出力（Ｓ３０３）は、いずれが先に行われてもよく、又は、並列化されてもよい。【００７８】
以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサからメモリへのアクセスのみならず、プロセッサから機能コアへのＩＯバスアクセスによる性能ペナルティについても解析することが可能となり、システムボトルネック解析における精度がさらに向上する。【００７９】
以上、本発明のプロセッサ性能解析装置及びプロセッサ性能解析方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。【００８０】
例えば、本実施の形態のシステムＬＳＩ１０のプロセッサとして、マルチスレッドプロセッサ１１を設けたが、複数のプロセッサによるマルチプロセッサ構成としてもよい。例えば、図７に示すように、システムＬＳＩ１０は、複数のマルチスレッドプロセッサ１１を備える。複数のマルチスレッドプロセッサ１１は、それぞれに対応する動作情報出力部１０１及びアクセス属性情報出力部１０２を備える。【００８１】
これにより、複数のプロセッサのそれぞれについて動作状況及びメモリへのアクセス状況などの情報を得ることができ、複数のプロセッサからなるシステムの性能を解析することができる。【００８２】
また、本実施の形態のシステムＬＳＩ１０の動作を模すことで、システムＬＳＩ１０が備えるプロセッサの性能の解析処理をシミュレートしてもよい。例えば、マルチスレッドプロセッサ１１と、機能コア１２と、メモリインタフェース１３となどをコンピュータ上でソフトウェアとして実現し、図２、図４、図６などに示したプロセッサ性能解析方法をコンピュータに実行させる。コンピュータ上に実現されたマルチスレッドプロセッサ１１及び機能コア１２などに擬似的に所定のプログラムなどを実行させることで、システムの性能を解析する。【００８３】
これにより、実際にハードウェアでシステムを構成する前に、ユーザはシステムの性能を把握することができるので、より最適なシステムを構成することができる。
【産業上の利用可能性】
【００８４】
本発明のプロセッサ性能解析装置は、システムＬＳＩの性能ボトルネックの解析及びハードウェア・ソフトウェア改変による性能改善検討を行う際に有用である。例えば、マルチスレッドプロセッサの並列プログラミング処理のデバッグ等の用途に応用できる。
【図１】
2009096161.tif 000003
【図２】
2009096161.tif 000004
【図３】
2009096161.tif 000005
【図４】
2009096161.tif 000006
【図５】
2009096161.tif 000007
【図６】
2009096161.tif 000008
【図７】
2009096161.tif 000009
【図８】
2009096161.tif 000010
【手続補正書】
【提出日】平成22年7月27日(2010.7.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）におけるプロセッサの性能を解析する装置に関し、特に、プロセッサ内部に複数の論理プロセッサを持ち、複数のプログラムを同時並行で実行可能なマルチスレッドプロセッサの性能を解析する装置に関するものである。
【背景技術】
【０００２】
半導体の製造プロセス技術の微細化に伴い、より多くの機能を１チップに集積することでコスト、機能両面での向上が可能となる。プロセッサとプロセッサ以外の機能コアとを集積したシステムＬＳＩは、今日のデジタルテレビ及びデジタルレコーダなどにおいて広く採用されている。機能コアとは、例えば、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス及びＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）バスなどの汎用ＩＦ（Ｉｎｔｅｒｆａｃｅ）回路、映像及び音楽などのコンテンツデータをエンコード及びデコードするコーデック回路、並びに、有料コンテンツなどの著作権情報を守るための暗号処理回路などである。
【０００３】
システムＬＳＩでは、多種の機能が集積されているため、自ずと各機能処理を制御するソフトウェアプログラムの並列処理に対する要望が大きい。そのため、システムＬＳＩにおける処理性能向上のために、複数プログラムの並列実行に適したマルチスレッドプロセッサが採用されることも多い。
【０００４】
一方で、マルチスレッドプロセッサで複数プログラムの並列実行を効率よく行うためには、メモリなど共有資源を利用する際にアクセスが集中して性能のボトルネックとならないように配慮する必要がある。しかし、複数の要因が複雑に絡み合うマルチスレッド処理の挙動を把握することは容易ではない。多くの環境要因が複雑に絡み合うシステムにおいて、マルチスレッドプロセッサのハードウェアにおけるスレッド間の処理切替制御が不適切なのか、同時並行で実行されるソフトウェアのアルゴリズムが不適切なのかを見極めることは極めて困難であった。すなわち、システムＬＳＩの持つポテンシャルを有効に発揮させることが困難であるという課題があった。
【０００５】
そこで、上記課題を解決するためには、マルチスレッド処理時のプロセッサ処理性能を把握するプロセッサ性能評価装置を設けることが必要となる。
【０００６】
従来のプロセッサ性能評価装置としては、プロセッサ内のメモリアクセス用バッファ、キュー及びセレクタの状態、並びに、キャッシュ、分岐予測及びＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）のヒット・ミスなどを同一時間上に揃えて関連付けて出力するものがある（例えば、特許文献１参照）。図８は、特許文献１に記載された従来のプロセッサ性能評価装置のブロック図である。
【０００７】
図８のコンピュータ３０は、命令ユニット４０１と、演算ユニット４０２と、１次キャッシュユニット４０３と、２次キャッシュユニット４０４とを備える。
【０００８】
２次キャッシュユニット４０４は、２次キャッシュ４０５と、外部アクセスユニット４０６とを備え、コンピュータ内の各ハードウェア情報を出力する。２次キャッシュ４０５は、アクセス数、ヒット回数、及びリクエスト種別などの情報を出力する。外部アクセスユニット４０６は、２次キャッシュ４０５とメモリ４０との間のアクセスにおけるアクセスバッファに詰まれた書き込み、及び、読み出しのキュー数などの情報を出力する。
【０００９】
さらに、命令ユニット４０１及び演算ユニット４０２の動作と２次キャッシュ４０５及び外部アクセスユニット４０６の動作とを関連付けるために、命令ユニット４０１及び演算ユニット４０２を識別するコアＩＤなどを設け、２次キャッシュ４０５及び外部アクセスユニット４０６をどこが使用しているのかを示す情報を付加して出力する。これら出力される情報によりコンピュータ全体の動作を把握することが可能となり、性能ボトルネック解析を容易にすることができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】国際公開第２００４／０５５６７２号
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来の構成では、プロセッサ内で発生するキャッシュミスやＴＬＢミスなどの性能劣化要因は把握できるのに対して、プロセッサ以外の性能劣化要因については情報を得ることができないという課題を有している。プロセッサ以外の性能劣化要因は、例えば、機能コアのＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送がメモリＩＦ資源を占有するためにプロセッサからのメモリアクセスが長時間待たされていることなどの事象についてである。
【００１２】
そこで、本発明は、上記課題を鑑みてなされたものであって、プロセッサ内だけでなく、プロセッサ以外の機能コアの動作状態も含めたシステム性能劣化要因を解析することができるプロセッサ性能解析装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明のプロセッサ性能解析装置は、複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備えるシステムＬＳＩにおける前記プロセッサの性能を解析するプロセッサ性能解析装置であって、前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備える。
【００１４】
これにより、マルチスレッドプロセッサのみならず、機能コアによるメモリアクセスに伴う性能劣化要因も解析することが可能となる。
【００１５】
また、前記プロセッサ性能解析装置は、さらに、前記プロセッサを監視することで、前記プロセッサが前記第１アクセス要求を発行する要因を示す第３情報を出力する第３情報出力手段を備え、前記解析手段は、さらに、前記第３情報を用いて前記プロセッサの性能を解析してもよい。
【００１６】
例えば、前記プロセッサは、前記論理プロセッサ毎に前記メモリへの前記第１アクセス要求を発行し、前記第３情報出力手段は、前記第１アクセス要求を発行した論理プロセッサを特定する属性情報を前記第３情報として出力してもよい。
【００１７】
また、前記プロセッサは、プリフェッチ又はキャッシュミスが生じた場合に前記第１アクセス要求を発行し、前記第３情報出力手段は、前記プロセッサが前記第１アクセス要求を発行した原因が前記プリフェッチ及び前記キャッシュミスのいずれによるものかを示す情報を前記第３情報として出力してもよい。
【００１８】
より具体的には、前記キャッシュミスは、命令キャッシュミス、データキャッシュミス及びＴＬＢミスである。
【００１９】
これにより、プロセッサが発行するアクセス要求の発行元などの情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。
【００２０】
また、前記第２情報出力手段は、前記メモリインタフェースが受け付けたアクセス要求が前記第１アクセス要求及び前記第２アクセス要求のいずれであるかを示す情報を前記第２情報として出力してもよい。
【００２１】
また、前記第２情報出力手段は、前記第１アクセス要求若しくは前記第２アクセス要求の待ち順序に関する情報、又は、前記第１アクセス要求若しくは前記第２アクセス要求を受け付けてからデータの転送が完了するまでの時間に関する情報を、前記第２情報として出力してもよい。
【００２２】
これにより、メモリへのアクセス要求の処理状況に関する情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。
【００２３】
また、前記第１情報出力手段は、前記論理プロセッサ毎に動作しているのか若しくは待ち状態にあるのか、前記プロセッサのキャッシュのヒット若しくはミス、又は、プリフェッチ動作のヒット若しくはミスを示す情報を、前記第１情報として出力してもよい。
【００２４】
これにより、プロセッサの動作状況に関する情報をより具体的に得ることができ、プロセッサの性能をより詳細に解析することができる。
【００２５】
また、前記システムＬＳＩは、前記プロセッサを複数備え、前記プロセッサ性能解析装置は、前記複数のプロセッサのそれぞれに対応する前記第１情報出力手段を備えてもよい。
【００２６】
これにより、複数のプロセッサのそれぞれについて動作状況及びメモリへのアクセス状況などの情報を得ることができ、複数のプロセッサからなるシステムの性能を解析することができる。
【００２７】
また、前記プロセッサ性能解析装置は、さらに、前記解析手段による前記プロセッサの解析結果を受け取り、前記解析結果が予め定められた条件を満たす場合に、トリガ信号を出力するトリガ出力手段を備えてもよい。
【００２８】
これにより、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力することにより、プロセッサの状況に応じた様々な処理を実行することができる。例えば、システムボトルネックの発生時におけるソフトウェア動作の確認を行うことなどができる。
【００２９】
また、前記プロセッサ性能解析装置は、さらに、前記プロセッサを監視することで、前記プロセッサと前記機能コアとを接続するバスを介して前記プロセッサから前記機能コアに対して発行される第３アクセス要求に関する第４情報を出力するバスアクセス属性情報出力手段を備え、前記解析手段は、さらに、前記第４情報を用いて前記プロセッサの性能を解析してもよい。
【００３０】
これにより、プロセッサから機能コアへのアクセスに起因するプロセッサの動作状況に関する情報を得ることができ、プロセッサの性能をより詳細に解析することができる。
【００３１】
なお、本発明は、複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備えるシステムＬＳＩの動作をシミュレートすることで、前記プロセッサの性能を解析するプロセッサ性能解析シミュレータであって、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、前記メモリインタフェースが受け付けるアクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備えるプロセッサ性能解析シミュレータとしても実現できる。
【００３２】
さらに、本発明は、装置として実現できるだけでなく、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを記録したコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体として実現したり、そのプログラムを示す情報、データ又は信号として実現したりすることもできる。そして、それらプログラム、情報、データ及び信号は、インターネット等の通信ネットワークを介して配信してもよい。
【発明の効果】
【００３３】
本発明のプロセッサ性能解析装置によれば、システムＬＳＩに含まれるプロセッサ以外の機能コアのメモリアクセス動作の影響も含めたプロセッサ性能を評価することが可能となる。また、性能ボトルネック解析が容易となり、ソフトウェア及びハードウェアの修正による性能改善を図ることが容易となる。
【図面の簡単な説明】
【００３４】
【図１】図１は、実施の形態１のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。
【図２】図２は、実施の形態１のプロセッサ性能解析装置の動作を示すフローチャートである。
【図３】図３は、実施の形態２のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。
【図４】図４は、実施の形態２のプロセッサ性能解析装置の動作を示すフローチャートである。
【図５】図５は、実施の形態３のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。
【図６】図６は、実施の形態３のプロセッサ性能解析装置の動作を示すフローチャートである。
【図７】図７は、複数のマルチスレッドプロセッサを備えるシステムＬＳＩのブロック図である。
【図８】図８は、従来のプロセッサ性能評価装置のブロック図である。
【発明を実施するための形態】
【００３５】
以下、本発明の実施の形態について、図面を参照しながら説明する。
【００３６】
（実施の形態１）
まず、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩの構成について説明する。
【００３７】
図１は、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。システムＬＳＩ１０は、マルチスレッドプロセッサ１１と、機能コア１２と、メモリインタフェース１３とを備える。
【００３８】
マルチスレッドプロセッサ１１は、複数の論理プロセッサ（Ｌｏｇｉｃａｌ  Ｐｒｏｃｅｓｓｏｒ：ＬＰ）を有し、当該論理プロセッサにより複数のプログラムを同時並行で実行することができる。また、プログラムの実行時に必要に応じて、命令若しくはデータをメモリ２０に書き込む又はメモリ２０から読み出すために、メモリ２０へのメモリアクセス要求を発行する。マルチスレッドプロセッサ１１は、１次キャッシュ、２次キャッシュ及びＴＬＢなど（図示せず）を備える。マルチスレッドプロセッサ１１は、例えば、プリフェッチ又はキャッシュミスが生じた場合に、メモリ２０へのメモリアクセス要求を発行する。なお、メモリアクセス要求は、論理プロセッサごとに発行される。
【００３９】
機能コア１２は、マルチスレッドプロセッサ１１とは異なる処理を実行し、メモリ２０へのメモリアクセス要求を発行する複数の機能コアである。機能コア１２は、例えば、ＤＭＡコントローラ、外部機器へのインタフェース回路、音楽及び映像のコンテンツデータを圧縮或いは展開するＡＶ（Ａｕｄｉｏ  Ｖｉｓｕａｌ）コーデック回路、並びに、データの暗号化及び復号化を実行する暗復号回路などである。なお、外部機器へのインタフェース回路は、例えば、ＰＣＩインタフェース、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）インタフェースなどである。機能コア１２の１つであるＤＭＡコントローラが、各機能コア１２とメモリ２０とのアクセスなどを制御する。なお、機能コア１２は、必ずしも複数でなくてもよい。
【００４０】
メモリインタフェース１３は、マルチスレッドプロセッサ１１及び機能コア１２で発行されるメモリ２０へのメモリアクセス要求を受け付ける。そして、受け付けたメモリアクセス要求を調停することで、メモリ２０へのアクセスを制御する。
【００４１】
次に、本実施の形態のプロセッサ性能解析装置の構成について説明する。
【００４２】
本実施の形態のプロセッサ性能解析装置は、システムＬＳＩ１０が備えるマルチスレッドプロセッサ１１の動作状態と、マルチスレッドプロセッサ１１及び機能コア１２からのメモリアクセスの状態とを解析する。
【００４３】
図１は、本実施の形態のプロセッサ性能解析装置の構成をも示している。同図のプロセッサ性能解析装置１００は、動作情報出力部１０１と、アクセス属性情報出力部１０２と、アクセス情報出力部１０３と、解析情報出力部１０４とを備える。同図に示すように、動作情報出力部１０１とアクセス属性情報出力部１０２とは、マルチスレッドプロセッサ１１内に備えられる。また、アクセス情報出力部１０３は、メモリインタフェース１３内に備えられる。
【００４４】
動作情報出力部１０１は、マルチスレッドプロセッサ１１を監視することで、マルチスレッドプロセッサ１１内部の動作状態を示す動作情報を動的に出力する。動作情報は、例えば、論理プロセッサのそれぞれが動作しているのかデータアクセス待ちの状態にあるのか、稼働中の論理プロセッサの数が演算ユニットの数を越えて待ち状態が発生しているか、論理プロセッサがプリフェッチアクセスを実行中か、プリフェッチ動作がヒットしているかミスしているか、命令キャッシュ及びデータキャッシュはヒットしているかミスしているか、ＴＬＢはヒットしているかミスしているか、２次キャッシュはヒットしているかミスしているかなどの情報である。
【００４５】
アクセス属性情報出力部１０２は、マルチスレッドプロセッサ１１を監視することで、マルチスレッドプロセッサ１１が発行するメモリ２０へのメモリアクセス要求に関するメモリアクセス属性情報を出力する。メモリアクセス属性情報は、例えば、論理プロセッサのいずれがメモリアクセス要求を発行しているかを示すＩＤ情報である。また、メモリアクセス要求を発行する要因が命令又はデータのプリフェッチによるものか、命令又はデータキャッシュミスによるものか、ＴＬＢミスによるものか、２次キャッシュミスによるものか、非キャッシャブル領域へのアクセスによるものかなどを示すアクセス要因情報などの情報である。
【００４６】
アクセス情報出力部１０３は、メモリインタフェース１３を監視することで、メモリインタフェース１３が受け付けるメモリアクセス要求によって生じるメモリアクセスの状態に関するメモリアクセス情報を出力する。メモリアクセス情報は、例えば、受け付け中のメモリアクセス要求を発行しているのがマルチスレッドプロセッサ１１なのか機能コア１２なのかを示す情報である。
【００４７】
このとき、アクセス情報出力部１０３は、受け付け中のメモリアクセス要求を発行しているのが、マルチスレッドプロセッサ１１である場合は、アクセス属性情報出力部１０２から出力されるメモリアクセス属性情報と、メモリインタフェース１３内の動作状態とを関連付けて、メモリアクセス情報として出力する。例えば、受け付け中のメモリアクセス要求は、いずれのＩＤ情報を持つ論理プロセッサが発行したものであるか、プリフェッチによるものか、キャッシュミスによるものか、ＴＬＢミスによるものかなどを示す情報がメモリアクセス情報として出力される。また、メモリアクセス情報の他の例としては、アクセス要求を受け付けてからデータ転送が開始及び／又は終了するまでの時間、並びに、複数のアクセス要求が重なっている場合の受け付け中のアクセス要求数及び処理待ちキューの順序などが挙げられる。
【００４８】
解析情報出力部１０４は、動作情報、メモリアクセス属性情報及びメモリアクセス情報を関連付けて、システム性能に関する解析情報を出力する。解析情報は、例えば、マルチスレッドプロセッサ１１の全ての論理プロセッサが動作しておらず待ち状態にある期間、論理プロセッサ毎のキャッシュヒット率、メモリアクセス回数及びメモリアクセス待ち時間の情報、並びに、マルチスレッドプロセッサ１１からのメモリアクセスにおいて機能コア１２のメモリアクセスによるメモリアクセス完了待ち時間の増加分に関する情報などである。
【００４９】
続いて、本実施の形態のプロセッサ性能解析装置１００の動作について説明する。
【００５０】
図２は、本実施の形態のプロセッサ性能解析装置１００の動作を示すフローチャートである。
【００５１】
動作情報出力部１０１は、マルチスレッドプロセッサ１１が有する複数の論理プロセッサを監視することで、論理プロセッサそれぞれの処理状況を示す動作情報を出力する（Ｓ１０１）。具体的には、論理プロセッサごとに、動作しているのかデータアクセス待ち状態にあるのかと、キャッシュはヒットしているかミスしているかとなどを示す情報を、動作情報として出力する。
【００５２】
アクセス属性情報出力部１０２は、複数の論理プロセッサを監視することで、マルチスレッドプロセッサ１１が発行するメモリ２０へのメモリアクセス要求に関するメモリアクセス属性情報を出力する（Ｓ１０２）。具体的には、メモリアクセス要求を発行した論理プロセッサを特定するＩＤ情報と、メモリアクセス要求を発行する要因を示すアクセス要因情報となどの情報を、メモリアクセス属性情報として出力する。
【００５３】
次に、アクセス情報出力部１０３は、メモリインタフェース１３を監視することで、メモリインタフェース１３が受け付け中のメモリアクセス要求が、マルチスレッドプロセッサ１１で発行されたものか、機能コア１２で発行されたものかを判定する（Ｓ１０３）。
【００５４】
メモリアクセス要求がマルチスレッドプロセッサ１１で発行されたものである場合（Ｓ１０３で“プロセッサ”）、アクセス情報出力部１０３は、アクセス属性情報出力部１０２から出力されるメモリアクセス属性情報とメモリインタフェース１３の動作状態とを関連付けて、メモリアクセス情報を出力する（Ｓ１０４）。具体的には、受け付け中のメモリアクセス要求を発行した論理プロセッサを特定する情報と、当該メモリアクセス要求はプリフェッチによるものかキャッシュミスによるものかなどを示す情報となどを、メモリアクセス情報として出力する。
【００５５】
受け付け中のメモリアクセス要求が機能コア１２で発行されたものである場合（Ｓ１０３で“機能コア”）、アクセス情報出力部１０３は、受け付け中のメモリアクセス要求が機能コア１２で発行されたものであることを示す情報などを、メモリアクセス情報として出力する（Ｓ１０５）。
【００５６】
最後に、解析情報出力部１０４は、動作情報（Ｓ１０１で出力）と、メモリアクセス属性情報（Ｓ１０２で出力）と、メモリアクセス情報（Ｓ１０４又はＳ１０５で出力）とを用いて、システムＬＳＩ１０の動作状況を解析することで解析情報を出力する（Ｓ１０６）。
【００５７】
なお、動作情報の出力（Ｓ１０１）とメモリアクセス属性情報の出力（Ｓ１０２）とは、いずれが先に行われてもよく、又は、並列化されてもよい。
【００５８】
以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサの動作情報と、プロセッサ及び機能コアからのメモリアクセス情報とを関連付けることで、システム全体の動作状況を得ることができる。以上の構成により、適切なシステムボトルネック解析及びシステム性能改善検討を行うことが可能となる。
【００５９】
（実施の形態２）
本実施の形態のプロセッサ性能解析装置は、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力する。
【００６０】
図３は、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。図３に示されるプロセッサ性能解析装置２００は、図１のプロセッサ性能解析装置１００と比較して、新たにトリガ出力部２０１が追加された点と、解析情報出力部１０４の代わりに解析情報出力部２０４が追加された点とが異なっている。以下では、図１と同じ構成要素については説明を省略し、異なる点を中心に説明する。
【００６１】
トリガ出力部２０１は、解析情報出力部２０４からシステムの状態が特定の条件を満たすことを示す信号を受け取った場合に、トリガ信号としてシステムＬＳＩ１０の外部に出力する。例えば、システムＬＳＩ１０の外部に接続するマルチスレッドプロセッサ１１用のデバッガへトリガ信号を出力する。また、解析情報出力部２０４で検出するシステムの状態の例としては、マルチスレッドプロセッサ１１の全ての論理プロセッサがデータ待ち状態となり、全てのプログラム実行が止まっている状態、及び、特定の論理プロセッサのメモリアクセス待ち時間が所定の値を越えた状態など、システムボトルネックが発生している状態が挙げられる。
【００６２】
解析情報出力部２０４は、動作情報、メモリアクセス属性情報及びメモリアクセス情報を関連付けて解析情報を生成し、生成した解析情報をシステムＬＳＩ１０外部だけでなく、トリガ出力部２０１にも出力する。なお、解析情報の具体例については、実施の形態１と同様である。
【００６３】
続いて、本実施の形態のプロセッサ性能解析装置２００の動作について説明する。
【００６４】
図４は、本実施の形態のプロセッサ性能解析装置２００の動作を示すフローチャートである。同図に示す処理は、図２に示す処理に比べて、さらに、トリガ信号を出力する処理（Ｓ２０７及びＳ２０８）が追加された点が異なっている。図４において、図２と同じ参照符号を付した処理は、実施の形態１と同じ処理であり、以下では説明を省略する。
【００６５】
実施の形態１で示したように、解析情報出力部２０４は、動作情報（Ｓ１０１で出力）と、メモリアクセス属性情報（Ｓ１０２で出力）と、メモリアクセス情報（Ｓ１０４又はＳ１０５で出力）とを用いて、システムＬＳＩ１０の動作状況を解析することで解析情報を出力する（Ｓ１０６）。
【００６６】
トリガ出力部２０１は、解析情報出力部２０４から出力される解析情報が示すシステムの状態が、上記の特定の条件を満たすか否かを判定する（Ｓ２０７）。システムの状態が特定の条件を満たす場合（Ｓ２０７でＹｅｓ）、トリガ出力部２０１は、システムの状態が特定の条件を満たしたことを示すトリガ信号をシステムＬＳＩ１０の外部に出力する（Ｓ２０８）。
【００６７】
システムの状態が特定の条件を満たさない場合（Ｓ２０７でＮｏ）、トリガ信号は出力されず、解析情報だけが外部に出力される。
【００６８】
以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサの性能の解析結果に基づいて、外部の装置などを操作するためのトリガ信号を出力する。これにより、システムボトルネックの発生時におけるソフトウェア動作の確認を行うことが容易となり、システムボトルネック解析における利便性がさらに向上する。
【００６９】
（実施の形態３）
本実施の形態のプロセッサ性能解析装置は、プロセッサと機能コアとがＩＯバスによって接続されている場合に、プロセッサから機能コアに対して発行されるアクセス要求に関する情報を基にして解析することができる。
【００７０】
図５は、本実施の形態のプロセッサ性能解析装置を備えるシステムＬＳＩのブロック図である。図５に示されるプロセッサ性能解析装置３００は、図１のプロセッサ性能解析装置１００と比較して、新たにＩＯバスアクセス属性情報出力部３０１が追加された点と、解析情報出力部１０４の代わりに解析情報出力部３０４が追加された点とが異なっている。以下では、図１と同じ構成要素については説明を省略し、異なる点を中心に説明する。
【００７１】
ＩＯバスアクセス属性情報出力部３０１は、マルチスレッドプロセッサ１１を監視することで、マルチスレッドプロセッサ１１と機能コア１２とを接続するＩＯバスを介して転送されるアクセス要求に関するＩＯバスアクセス属性情報を出力する。例えば、ＩＯバスアクセス属性情報は、マルチスレッドプロセッサ１１から機能コア１２へのレジスタアクセスなどに使用するＩＯバスを介した機能コア１２へのアクセスに関する属性情報である。また、論理プロセッサのいずれがＩＯバスアクセス要求を発行しているかを示すＩＤ情報などである。
【００７２】
解析情報出力部３０４は、動作情報、メモリアクセス属性情報と、メモリアクセス情報と、ＩＯバスアクセス属性情報とを関連付けて解析情報を生成し、生成した解析情報をシステムＬＳＩ１０外部に出力する。
【００７３】
続いて、本実施の形態のプロセッサ性能解析装置３００の動作について説明する。
【００７４】
図６は、本実施の形態のプロセッサ性能解析装置３００の動作を示すフローチャートである。同図に示す処理は、図２に示す処理に比べて、さらに、ＩＯバスアクセス属性情報を出力する処理（Ｓ３０３）が追加された点が異なっている。図６において、図２と同じ参照符号を付した処理は、実施の形態１と同じ処理であり、以下では説明を省略する。
【００７５】
動作情報の出力（Ｓ１０１）と、メモリアクセス属性情報の出力（Ｓ１０２）とに続いて、ＩＯバスアクセス属性情報出力部３０１は、マルチスレッドプロセッサ１１を監視することで、ＩＯバスアクセス属性情報を出力する（Ｓ３０２）。なお、ＩＯバスを介してアクセス要求が転送されていない場合は、ＩＯバスアクセス属性情報出力部３０１は、ＩＯバスを介してアクセス要求が転送されていないことを示す情報をＩＯバスアクセス属性情報として出力してもよく、又は、ＩＯバスアクセス属性情報を出力しなくてもよい。
【００７６】
以降、実施の形態１と同様に、アクセス情報出力部１０３は、メモリアクセス属性情報を出力する（Ｓ１０４又はＳ１０５）。そして、解析情報出力部３０４は、動作情報（Ｓ１０１で出力）と、メモリアクセス属性情報（Ｓ１０２で出力）と、ＩＯバスアクセス属性情報（Ｓ３０３で出力）と、メモリアクセス情報（Ｓ１０４又はＳ１０５で出力）とを用いて、システムＬＳＩ１０の動作状況を解析することで解析情報を出力する（Ｓ１０６）。
【００７７】
なお、動作情報の出力（Ｓ１０１）とメモリアクセス属性情報の出力（Ｓ１０２）とＩＯバスアクセス属性情報の出力（Ｓ３０３）は、いずれが先に行われてもよく、又は、並列化されてもよい。
【００７８】
以上のように、本実施の形態のプロセッサ性能解析装置は、プロセッサからメモリへのアクセスのみならず、プロセッサから機能コアへのＩＯバスアクセスによる性能ペナルティについても解析することが可能となり、システムボトルネック解析における精度がさらに向上する。
【００７９】
以上、本発明のプロセッサ性能解析装置及びプロセッサ性能解析方法について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【００８０】
例えば、本実施の形態のシステムＬＳＩ１０のプロセッサとして、マルチスレッドプロセッサ１１を設けたが、複数のプロセッサによるマルチプロセッサ構成としてもよい。例えば、図７に示すように、システムＬＳＩ１０は、複数のマルチスレッドプロセッサ１１を備える。複数のマルチスレッドプロセッサ１１は、それぞれに対応する動作情報出力部１０１及びアクセス属性情報出力部１０２を備える。
【００８１】
これにより、複数のプロセッサのそれぞれについて動作状況及びメモリへのアクセス状況などの情報を得ることができ、複数のプロセッサからなるシステムの性能を解析することができる。
【００８２】
また、本実施の形態のシステムＬＳＩ１０の動作を模すことで、システムＬＳＩ１０が備えるプロセッサの性能の解析処理をシミュレートしてもよい。例えば、マルチスレッドプロセッサ１１と、機能コア１２と、メモリインタフェース１３となどをコンピュータ上でソフトウェアとして実現し、図２、図４、図６などに示したプロセッサ性能解析方法をコンピュータに実行させる。コンピュータ上に実現されたマルチスレッドプロセッサ１１及び機能コア１２などに擬似的に所定のプログラムなどを実行させることで、システムの性能を解析する。
【００８３】
これにより、実際にハードウェアでシステムを構成する前に、ユーザはシステムの性能を把握することができるので、より最適なシステムを構成することができる。
【産業上の利用可能性】
【００８４】
本発明のプロセッサ性能解析装置は、システムＬＳＩの性能ボトルネックの解析及びハードウェア・ソフトウェア改変による性能改善検討を行う際に有用である。例えば、マルチスレッドプロセッサの並列プログラミング処理のデバッグ等の用途に応用できる。
【符号の説明】
【００８５】
１０  システムＬＳＩ
１１  マルチスレッドプロセッサ
１２  機能コア
１３  メモリインタフェース
２０、４０  メモリ
３０  コンピュータ
１００、２００、３００  プロセッサ性能解析装置
１０１  動作情報出力部
１０２  アクセス属性情報出力部
１０３  アクセス情報出力部
１０４、２０４、３０４  解析情報出力部
２０１  トリガ出力部
３０１  ＩＯバスアクセス属性情報出力部
４０１  命令ユニット
４０２  演算ユニット
４０３  １次キャッシュユニット
４０４  ２次キャッシュユニット
４０５  ２次キャッシュ
４０６  外部アクセスユニット
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、
前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、
前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
システムＬＳＩにおける前記プロセッサの性能を解析するプロセッサ性能解析装置であって、
前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、
前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、
前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備える
ことを特徴とするプロセッサ性能解析装置。
【請求項２】
前記プロセッサ性能解析装置は、さらに、
前記プロセッサを監視することで、前記プロセッサが前記第１アクセス要求を発行する要因を示す第３情報を出力する第３情報出力手段を備え、
前記解析手段は、さらに、前記第３情報を用いて前記プロセッサの性能を解析する
ことを特徴とする請求項１記載のプロセッサ性能解析装置。
【請求項３】
前記プロセッサは、前記論理プロセッサ毎に前記メモリへの前記第１アクセス要求を発行し、
前記第３情報出力手段は、前記第１アクセス要求を発行した論理プロセッサを特定する属性情報を前記第３情報として出力する
ことを特徴とする請求項２記載のプロセッサ性能解析装置。
【請求項４】
前記プロセッサは、プリフェッチ又はキャッシュミスが生じた場合に前記第１アクセス要求を発行し、
前記第３情報出力手段は、前記プロセッサが前記第１アクセス要求を発行した原因が前記プリフェッチ及び前記キャッシュミスのいずれによるものかを示す情報を前記第３情報として出力する
ことを特徴とする請求項２又は３記載のプロセッサ性能解析装置。
【請求項５】
前記キャッシュミスは、命令キャッシュミス、データキャッシュミス及びＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋａｓｉｄｅ  Ｂｕｆｆｅｒ）ミスである
ことを特徴とする請求項４記載のプロセッサ性能解析装置。
【請求項６】
前記第２情報出力手段は、前記メモリインタフェースが受け付けたアクセス要求が前記第１アクセス要求及び前記第２アクセス要求のいずれであるかを示す情報を前記第２情報として出力する
ことを特徴とする請求項１〜５のいずれか１項に記載のプロセッサ性能解析装置。
【請求項７】
前記第２情報出力手段は、前記第１アクセス要求若しくは前記第２アクセス要求の待ち順序に関する情報、又は、前記第１アクセス要求若しくは前記第２アクセス要求を受け付けてからデータの転送が完了するまでの時間に関する情報を、前記第２情報として出力する
ことを特徴とする請求項１〜６のいずれか１項に記載のプロセッサ性能解析装置。
【請求項８】
前記第１情報出力手段は、前記論理プロセッサ毎に動作しているのか若しくは待ち状態にあるのか、前記プロセッサのキャッシュのヒット若しくはミス、又は、プリフェッチ動作のヒット若しくはミスを示す情報を、前記第１情報として出力する
ことを特徴とする請求項１〜７のいずれか１項に記載のプロセッサ性能解析装置。
【請求項９】
前記システムＬＳＩは、前記プロセッサを複数備え、
前記プロセッサ性能解析装置は、
前記複数のプロセッサのそれぞれに対応する前記第１情報出力手段を備える
ことを特徴とする請求項１〜８のいずれか１項に記載のプロセッサ性能解析装置。
【請求項１０】
前記プロセッサ性能解析装置は、さらに、
前記解析手段による前記プロセッサの解析結果を受け取り、前記解析結果が予め定められた条件を満たす場合に、トリガ信号を出力するトリガ出力手段を備える
ことを特徴とする請求項１〜９のいずれか１項に記載のプロセッサ性能解析装置。
【請求項１１】
前記プロセッサ性能解析装置は、さらに、
前記プロセッサを監視することで、前記プロセッサと前記機能コアとを接続するバスを介して前記プロセッサから前記機能コアに対して発行される第３アクセス要求に関する第４情報を出力するバスアクセス属性情報出力手段を備え、
前記解析手段は、さらに、前記第４情報を用いて前記プロセッサの性能を解析する
ことを特徴とする請求項１〜１０のいずれか１項に記載のプロセッサ性能解析装置。
【請求項１２】
複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、
前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、
前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
システムＬＳＩにおける前記プロセッサの性能を解析するプロセッサ性能解析方法であって、
前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力ステップと、
前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力ステップと、
前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析ステップとを含む
ことを特徴とするプロセッサ性能解析方法。
【請求項１３】
複数の論理プロセッサを備え、前記複数の論理プロセッサにより並列処理を行い、かつ、メモリへの第１アクセス要求を発行するプロセッサと、
前記プロセッサが実行する処理とは異なる処理を実行し、かつ、前記メモリへの第２アクセス要求を発行する機能コアと、
前記第１アクセス要求と前記第２アクセス要求とを受け付け、前記メモリへのアクセスを制御するメモリインタフェースとを備える
システムＬＳＩの動作をシミュレートすることで、前記プロセッサの性能を解析するプロセッサ性能解析シミュレータであって、
前記プロセッサを監視することで、前記プロセッサの動作状態を示す第１情報を出力する第１情報出力手段と、
前記メモリインタフェースを監視することで、前記メモリインタフェースが受け付ける前記第１及び第２アクセス要求によって生じるメモリアクセスの状態を示す第２情報を出力する第２情報出力手段と、
前記第１情報と前記第２情報とを用いて前記プロセッサの性能を解析する解析手段とを備える
ことを特徴とするプロセッサ性能解析シミュレータ。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2009096161.tif 000011
【図２】
2009096161.tif 000012
【図３】
2009096161.tif 000013
【図４】
2009096161.tif 000014
【図５】
2009096161.tif 000015
【図６】
2009096161.tif 000016
【図７】
2009096161.tif 000017
【図８】
2009096161.tif 000018
【国際調査報告】
2009096161.tif 000019
2009096161.tif 000020
2009096161.tif 000021
2009096161.tif 000022
2009096161.tif 000023