(57)【要約】【課題】設定を変更した複数の競合試験を行うことができる情報処理装置を提供する。【解決手段】情報処理装置のメモリアクセス発生手段は、メモリアクセスに調停手段を用い、疑似的なメモリアクセスを発生させ、観測手段は、前記疑似的なメモリアクセスの状態を観測し、前記メモリアクセス発生手段は、前記疑似的なメモリアクセスの時間軸に対する発生タイミングを変更させる。【選択図】図１
2018136866.tif 000002
【特許請求の範囲】
【請求項１】
メモリアクセスに調停手段を用い、疑似的なメモリアクセスを発生させるメモリアクセス発生手段と、
前記疑似的なメモリアクセスの状態を観測する観測手段
を有し、
前記メモリアクセス発生手段は、前記疑似的なメモリアクセスの時間軸に対する発生タイミングを変更させる、
情報処理装置。
【請求項２】
前記メモリアクセス発生手段は、画像処理におけるメモリアクセスを疑似的に発生させる、
請求項１に記載の情報処理装置。
【請求項３】
前記画像処理の走査線に対するアクセス量とアクセス頻度を設定することによって、メモリアクセスを疑似的に発生させる、
請求項２に記載の情報処理装置。
【請求項４】
前記調停手段の設定を行う設定手段
をさらに有し、
前記メモリアクセス発生手段は、前記設定手段によって前記調停手段の設定が行われた後に、疑似的なメモリアクセスを発生させる、
請求項１に記載の情報処理装置。
【請求項５】
前記設定手段は、前記調停手段に対して優先順位を設定する、
請求項４に記載の情報処理装置。
【請求項６】
前記観測手段は、予め定められた帯域で前記疑似的なメモリアクセスが行われていない場合は、警告を発生する、
請求項１に記載の情報処理装置。
【請求項７】
前記観測手段によって警告が発生された場合は、前記調停手段の再設定を行う、
請求項６に記載の情報処理装置。
【請求項８】
前記メモリアクセス発生手段は、前記観測手段によって警告が発生された場合又はある発生タイミングでの観測が終了した場合は、該発生タイミングを変更させる、
請求項６に記載の情報処理装置。
【請求項９】
前記観測手段は、観測結果を出力し、
前記観測結果を用いて、推奨すべき設定値を提示する提示手段
をさらに有する請求項４に記載の情報処理装置。
【請求項１０】
プロセッサを、
メモリアクセスに調停手段を用い、疑似的なメモリアクセスを発生させるメモリアクセス発生手段と、
前記疑似的なメモリアクセスの状態を観測する観測手段
として機能させ、
前記メモリアクセス発生手段は、前記疑似的なメモリアクセスの時間軸に対する発生タイミングを変更させる、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、アクセス競合試験において、アクセス信号の確実な競合が速やかに実現し得るように構成されたアクセス競合発生システムを提供することを課題とし、第１及び第２のインタフェースのそれぞれから出力されるべき実アクセス信号と同様な第１及び第２の擬似アクセス信号が格納手段に格納され、第１及び第２のインタフェースのそれぞれには第１及び第２のローカルバス制御手段が設けられ、第１及び第２の擬似アクセス信号は擬似アクセス信号送出手段により第１及び第２のローカルバス制御手段に順次送出され、アービトレーション部にはアクセス監視手段が設けられ、第１及び第２の擬似アクセス信号のそれぞれには、第１及び第２のローカルバス制御手段からアクセス監視手段に送出されるべき送出タイミング時間として同じ時間が含まれることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１３４８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のプロセッサモジュールにおけるメモリアクセスの競合試験では、疑似的なメモリアクセスが用いられている。しかし、複数の競合試験を行う場合にあって、その競合試験を行う都度、設定を変更したソフトウェアをダウンロードし直す必要がある。
本発明は、設定を変更した複数の競合試験を行うことができる情報処理装置及び情報処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、メモリアクセスに調停手段を用い、疑似的なメモリアクセスを発生させるメモリアクセス発生手段と、前記疑似的なメモリアクセスの状態を観測する観測手段を有し、前記メモリアクセス発生手段は、前記疑似的なメモリアクセスの時間軸に対する発生タイミングを変更させる、情報処理装置である。
【０００６】
請求項２の発明は、前記メモリアクセス発生手段は、画像処理におけるメモリアクセスを疑似的に発生させる、請求項１に記載の情報処理装置である。
【０００７】
請求項３の発明は、前記画像処理の走査線に対するアクセス量とアクセス頻度を設定することによって、メモリアクセスを疑似的に発生させる、請求項２に記載の情報処理装置である。
【０００８】
請求項４の発明は、前記調停手段の設定を行う設定手段をさらに有し、前記メモリアクセス発生手段は、前記設定手段によって前記調停手段の設定が行われた後に、疑似的なメモリアクセスを発生させる、請求項１に記載の情報処理装置である。
【０００９】
請求項５の発明は、前記設定手段は、前記調停手段に対して優先順位を設定する、請求項４に記載の情報処理装置である。
【００１０】
請求項６の発明は、前記観測手段は、予め定められた帯域で前記疑似的なメモリアクセスが行われていない場合は、警告を発生する、請求項１に記載の情報処理装置である。
【００１１】
請求項７の発明は、前記観測手段によって警告が発生された場合は、前記調停手段の再設定を行う、請求項６に記載の情報処理装置である。
【００１２】
請求項８の発明は、前記メモリアクセス発生手段は、前記観測手段によって警告が発生された場合又はある発生タイミングでの観測が終了した場合は、該発生タイミングを変更させる、請求項６に記載の情報処理装置である。
【００１３】
請求項９の発明は、前記観測手段は、観測結果を出力し、前記観測結果を用いて、推奨すべき設定値を提示する提示手段をさらに有する請求項４に記載の情報処理装置である。
【００１４】
請求項１０の発明は、プロセッサを、メモリアクセスに調停手段を用い、疑似的なメモリアクセスを発生させるメモリアクセス発生手段と、前記疑似的なメモリアクセスの状態を観測する観測手段として機能させ、前記メモリアクセス発生手段は、前記疑似的なメモリアクセスの時間軸に対する発生タイミングを変更させる、情報処理プログラムである。
【発明の効果】
【００１５】
請求項１の情報処理装置によれば、設定を変更した複数の競合試験を行うことができる。
【００１６】
請求項２の情報処理装置によれば、疑似的に画像処理におけるメモリアクセスの競合試験を行うことができる。
【００１７】
請求項３の情報処理装置によれば、走査線に対するアクセス量とアクセス頻度を変更したメモリアクセスの競合試験を行うことができる。
【００１８】
請求項４の情報処理装置によれば、調停手段の設定を変更した後に、メモリアクセスの競合試験を行うことができる。
【００１９】
請求項５の情報処理装置によれば、調停手段に対して優先順位を変更して、メモリアクセスの競合試験を行うことができる。
【００２０】
請求項６の情報処理装置によれば、予め定められた帯域でメモリアクセスが行われていない場合は、警告が発生される。
【００２１】
請求項７の情報処理装置によれば、警告が発生された場合は、調停手段の再設定が行われる。
【００２２】
請求項８の情報処理装置によれば、警告が発生された場合又はある発生タイミングでの観測が終了した場合は、発生タイミングが変更される。
【００２３】
請求項９の情報処理装置によれば、推奨すべき設定値を提示することができる。
【００２４】
請求項１０の情報処理プログラムによれば、設定を変更した複数の競合試験を行うことができる。
【図面の簡単な説明】
【００２５】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態（コア）の構成例についての概念的なモジュール構成図である。
【図３】従来の技術を示す説明図である。
【図４】本実施の形態（主にＤＭＡ）の構成例についての概念的なモジュール構成図である。
【図５】画像処理対象である画像データ例を示す説明図である。
【図６】設定処理例を示す説明図である。
【図７】本実施の形態（主に自動設定制御モジュール）の構成例についての概念的なモジュール構成図である。
【図８】本実施の形態による処理例を示すフローチャートである。
【図９】本実施の形態による処理例を示すフローチャートである。
【図１０】本実施の形態による処理例を示すフローチャートである。
【図１１】本実施の形態による処理例を示すフローチャートである。
【図１２】本実施の形態による測定対象のコア等の構成例を示す説明図である。
【図１３】本実施の形態が出力するログの例を示す説明図である。
【発明を実施するための形態】
【００２６】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２７】
本実施の形態である情報処理装置１００は、プロセッサモジュールにおけるメモリアクセスの競合試験を行うものであって、図１の例に示すように、ＣＰＵ１０５、ＧＰＵ１１０、ＤＳＰ１１５、コアＡ：１２０Ａ、コアＢ：１２０Ｂ、コアＣ：１２０Ｃ、インタフェースモジュール１２５、メモリコントローラ１３０、自動設定制御モジュール１３５、ＣＣＩ１４０、アービタ１４５Ａ、アービタ１４５Ｂ、アービタ１４５Ｃを有している。より具体的には、情報処理装置１００は、疑似的にメモリアクセスを発生させ、バスアービタ等の自動設定を行うものである。情報処理装置１００は、分野・アプリケーションを限定して、機能・目的を特化させたＬＳＩのことであり、ＡＳＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｓｔａｎｄａｒｄ  Ｐｒｏｄｕｃｅ）等ともいわれる。なお、アービタ１４５Ａ、アービタ１４５Ｂ、アービタ１４５Ｃは、調停手段の一例である。調停手段は、バスを駆動するバス・マスタとなるための権利を、バスに接続されたデバイスの間で調停する機能を有するものであり、以下、アービタを例示して説明する。
なお、図１の例では、３つのコア１２０を示したが、１つ以上あればよい。また、ＧＰＵ１１０、ＤＳＰ１１５は、必ずしも必要ない。ただし、アービタ１４５が複数あり、ＧＰＵ１１０、ＤＳＰ１１５があると、メモリアクセスの競合の問題が発生しやすい。また、アービタ１４５の構成は、図１に例示したものに限るものではなく、１つ以上あればよい。もちろんのことながら、これらの構成の他に、内蔵ＲＯＭ、内蔵ＲＡＭ、周辺機器との接続部等が含まれていてもよい。
【００２８】
ＣＰＵ１０５は、ＣＣＩ１４０と接続されている。ＣＰＵ１０５は、プログラムにしたがって処理を行い、情報処理装置１００全体を制御する。そのために、メモリ１５０へのアクセスが発生する。
ＧＰＵ１１０（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、アービタ１４５Ａと接続されている。ＧＰＵ１１０は、主に画像表示処理を行い、そのために、メモリ１５０へのアクセスが発生する。
ＤＳＰ１１５（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）は、アービタ１４５Ａと接続されている。ＤＳＰ１１５は、主にデジタル信号処理を行い、そのために、メモリ１５０へのアクセスが発生する。
【００２９】
コア１２０（コアＡ：１２０Ａ、コアＢ：１２０Ｂ、コアＣ：１２０Ｃ）は、アービタ１４５Ａ又はアービタ１４５Ｂと接続されている。コア１２０は、個別に設計された機能ブロックであり、例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、特定用途向け集積回路）やプログラマブルロジックデバイスである。例えば、ある機器における制御用の処理を行うものである。より具体的には、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）における画像処理を行うための機能を有している。もちろんのことながら、複合機に限らず、情報家電、ロボット等における処理（例えば、音声処理、動画像処理等）を行うものであってもよい。以下、画像処理を例示して説明する。
【００３０】
図２は、本実施の形態（コア１２０）の構成例についての概念的なモジュール構成図である。
コア１２０は、画像処理モジュール２１０、ＤＭＡ２２０を有している。
画像処理モジュール２１０は、ＤＭＡ２２０と接続されている。画像処理モジュール２１０は、画像処理を行う。前述したように、画像処理だけでなく、音声処理、動画像処理等を行うようにしてもよい。
【００３１】
ＤＭＡ２２０（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）は、ダミー動作モジュール２２５、観測モジュール２３０を有しており、画像処理モジュール２１０、アービタ１４５と接続されている。ＤＭＡ２２０は、ＣＰＵ１０５を介さずに画像処理モジュール２１０とメモリ１５０の間でデータ転送を行う機能を有している。
【００３２】
ダミー動作モジュール２２５は、必要な設定値をもとに実際の画像処理動作と同等のメモリアクセスをするためのＤＭＡ制御を行う。画像処理として、例えば、拡大／縮小処理、ノイズ除去、圧縮処理等がある。例えば、拡大処理ではラインの複数回の読み込み、縮小処理ではラインの読み飛ばし等のメモリアクセスが発生する。
そして、ダミー動作モジュール２２５は、時間軸でメモリアクセス頻度が変更できる制御を行う。
【００３３】
ダミー動作モジュール２２５は、メモリ１５０へのメモリアクセスにＤＭＡ２２０とアービタ１４５を用い、疑似的なメモリアクセスを発生させる。なお、ダミー動作モジュール２２５と自動設定制御モジュール１３５とのデータのやりとりとして、例えば、レジスタアクセスを用いればよい。
そして、ダミー動作モジュール２２５は、疑似的なメモリアクセスの時間軸に対する発生タイミングを変更させる。
また、ダミー動作モジュール２２５は、画像処理におけるメモリアクセスを疑似的に発生させるようにしてもよい。ここで「疑似的に」とは、画像処理モジュール２１０を動作させずに画像処理等におけるメモリアクセスを行わせることである。
また、ダミー動作モジュール２２５は、画像処理の走査線に対するアクセス量とアクセス頻度を設定することによって、メモリアクセスを疑似的に発生させるようにしてもよい。
また、ダミー動作モジュール２２５は、自動設定制御モジュール１３５によってＤＭＡ２２０とアービタ１４５の設定が行われた後に、疑似的なメモリアクセスを発生させるようにしてもよい。
また、ダミー動作モジュール２２５は、観測モジュール２３０によって警告が発生された場合又はある発生タイミングでの観測が終了した場合は、その発生タイミングを変更させるようにしてもよい。
【００３４】
観測モジュール２３０は、メモリアクセスを観測し、予め定められた必要帯域でアクセスしているか否かを判断する。
そして、観測モジュール２３０は、観測した帯域が必要帯域を達成できていない場合は、自動設定制御モジュール１３５へアラートを出す。
【００３５】
観測モジュール２３０は、ダミー動作モジュール２２５による疑似的なメモリアクセスの状態を観測する。
また、観測モジュール２３０は、予め定められた帯域で疑似的なメモリアクセスが行われていない場合は、警告を発生するようにしてもよい。ここで「予め定められた帯域」とは、目的とする帯域（速度）であり、「予め定められた帯域で疑似的なメモリアクセスが行われていない場合」とは、疑似的なメモリアクセスにおいて速度が未達の場合のことをいう。
また、観測モジュール２３０は、観測結果を自動設定制御モジュール１３５に出力する。
【００３６】
ＡＦＥ１６０（Ａｎａｌｏｇ  Ｆｒｏｎｔ  Ｅｎｄ）は、情報処理装置１００のインタフェースモジュール１２５と接続されている。ＡＦＥ１６０は、例えば、スキャナ、プリンタ等の機器内にあり、その機器から出力されたアナログ信号を調整する役割を有する。
インタフェースモジュール１２５は、アービタ１４５Ｂ、ＡＦＥ１６０と接続されている。インタフェースモジュール１２５は、外部の機器のＡＦＥ１６０との通信を行い、その機器からのデータを受信し、その機器に対する指示等を送信する。そのために、メモリ１５０へのアクセスが発生する。
【００３７】
メモリ１５０は、情報処理装置１００のメモリコントローラ１３０と接続されている。メモリ１５０は、情報処理装置１００がアクセス可能なメモリであり、主メモリ、共有メモリ等といわれる。メモリ１５０は、複数のコア１２０、ＧＰＵ１１０、ＤＳＰ１１５等からアクセスされる。記憶されるデータは、画像処理対象の画像データであったり、処理結果のデータ等であったりする。これらの他に、プログラム、パラメータ等が記憶される。
メモリコントローラ１３０は、ＣＣＩ１４０、アービタ１４５Ｃ、メモリ１５０と接続されている。メモリコントローラ１３０は、メモリ１５０内の指定されたエリアに対して読み書きを行う制御装置である。なお、エリアは、メモリアドレスで指定されている。メモリコントローラ１３０は、ＣＣＩ１４０、複数のアービタ１４５から読み書きの要求を受ける。つまり、メモリアクセスは複数のアービタ１４５を介してメモリコントローラ１３０に転送されることになる。
【００３８】
自動設定制御モジュール１３５は、アービタ１４５Ｃと接続されている。自動設定制御モジュール１３５は、コア１２０内のＤＭＡ２２０とアービタ１４５の設定を行う。また、自動設定制御モジュール１３５は、アービタ１４５の設定だけを行ってもよい。
また、自動設定制御モジュール１３５は、アービタ１４５に対して優先順位、ＤＭＡ２２０に対してメモリアドレスを設定するようにしてもよい。
また、自動設定制御モジュール１３５は、観測モジュール２３０によって警告が発生された場合は、ダミー動作モジュール２２５とアービタ１４５の再設定を行うようにしてもよい。
また、自動設定制御モジュール１３５は、観測モジュール２３０から受け取った観測結果を用いて、推奨すべき設定値を提示するようにしてもよい。
【００３９】
具体的には、自動設定制御モジュール１３５は、メモリ上の情報から各ＤＭＡ２２０、アービタ１４５の設定を行うとともに、ＤＭＡ２２０の起動、リセットを制御する。
自動設定制御モジュール１３５は、観測モジュール２３０から帯域未達の場合にＤＭＡ２２０のリセット、アービタ１４５の再設定、ＤＭＡ２２０の再起動を制御する。
自動設定制御モジュール１３５は、アービタ１４５の設定制御のログデータをメモリ１５０に格納、設定制御結果から推奨設定値を提示する。
【００４０】
ＣＣＩ１４０は、ＣＰＵ１０５、アービタ１４５Ａ、アービタ１４５Ｂ、メモリコントローラ１３０、汎用Ｉ／Ｏ１５５と接続されている。ＣＣＩ１４０は、キャッシュ・コヒーレント・インターコネクト（ＣＣＩ）バスなどと呼ばれるものであり、ＣＰＵ１０５、メモリコントローラ１３０、汎用Ｉ／Ｏ１５５、ＧＰＵ１１０等間の要求を調停する装置（調停装置）として機能する。ＣＣＩ１４０は、ＣＰＵ１０５等からの要求に基づいてメモリコントローラ１３０に対してメモリ１５０内の範囲を指定して読み書きの要求をするバスである。ＣＣＩ１４０は、メモリ１５０内に記憶されているデータと、メモリ１５０からＣＰＵ１０５のキャッシュメモリに読み出されたデータとの一貫性（コヒーレンシ）を維持するように動作する。
【００４１】
アービタ１４５Ａは、ＧＰＵ１１０、ＤＳＰ１１５、コアＡ：１２０Ａ、コアＢ：１２０Ｂ、ＣＣＩ１４０、アービタ１４５Ｃと接続されている。
アービタ１４５Ｂは、コアＣ：１２０Ｃ、インタフェースモジュール１２５、ＣＣＩ１４０、アービタ１４５Ｃと接続されている。
アービタ１４５Ｃは、メモリコントローラ１３０、自動設定制御モジュール１３５、アービタ１４５Ａ、アービタ１４５Ｂと接続されている。
アービタ１４５は、アービタ（Ａｒｂｉｔｅｒ）、バス・アービタ（Ｂｕｓ  Ａｒｂｉｔｅｒ）ともいわれ、バスを駆動するバス・マスタとなるための権利を、ある優先順位のルールにしたがって、バスに接続されたデバイス（コア１２０等）の間で調停するものである。バス・マスタとなり得るデバイスがバスに２以上接続されているときは、アービタ１４５が必要になる。
汎用Ｉ／Ｏ１５５は、情報処理装置１００のＣＣＩ１４０と接続されている。汎用Ｉ／Ｏ１５５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、イーサネット（（登録商標）ｅｔｈｅｒｎｅｔ）等の規格に沿った通信部であり、外部機器との通信を行う。そのために、メモリ１５０へのアクセスが発生する。
【００４２】
図３は、従来の技術を示す説明図である。情報処理装置３００は、ＣＰＵ１０５、ＧＰＵ１１０、ＤＳＰ１１５、コアＤ：３２０Ｄ、コアＥ：３２０Ｅ、コアＦ：３２０Ｆ、インタフェースモジュール１２５、メモリコントローラ１３０、ＣＣＩ１４０、アービタ１４５Ａ、アービタ１４５Ｂ、アービタ１４５Ｃを有している。つまり、図１、図２の例に示した実施の形態と図３の例に示す従来技術である情報処理装置３００とを比べると、情報処理装置１００は、情報処理装置３００に自動設定制御モジュール１３５を付加し、コア１２０のＤＭＡ２２０内にダミー動作モジュール２２５、観測モジュール２３０を付加したものである。なお、各部の機能は、図１の例に示したものと同等である。
【００４３】
この情報処理装置３００で、例えば、画像処理の性能評価を行う際、各モードに対応するコア３２０全てを動かす必要がある。ここでモードとして、例えば、スキャン、プリント、ファックス等がある。そして、アービタの設定として、アービタ１４５Ａにおいて、「アービタ１４５Ａ優先度設定」をする。例えば、「優先度１位：コアＥ：３２０Ｅ、優先度２位：ＤＳＰ１１５」等である。アービタ１４５Ｂにおいて、「アービタ１４５Ｂ優先度設定」をする。例えば、「優先度１位：コアＦ：３２０Ｆ、優先度２位：コアＤ：３２０Ｄ」等である。
デフォルトのアービタ設定で帯域未達の場合は、アービタ１４５の設定をしなおして評価し直す必要がある。しかし、各コア３２０を動作させるために必要な設定が多く、情報処理装置３００全体のソフトウェアの実装を完了させるまで評価できないこととなる。
そして、各コア３２０は、各設計者（会社）によって設計されているので、内部構造、詳細仕様等は必ずしも公開されているわけではなく（つまり、ブラックボックスとして扱わざる得ない場合が多く）、そもそも帯域評価することも困難である。したがって、実際にメモリアクセスを発生させて、競合試験を行う必要がある。
【００４４】
図４は、本実施の形態（主にＤＭＡ２２０）の構成例についての概念的なモジュール構成図である。
ＤＭＡ２２０は、設定レジスタ４０５、メモリアクセスリクエスト受信モジュール（バッファ）４１０、メモリアクセス制御モジュール４１５、メモリアクセスリクエスト送信モジュール４２０、メモリアクセス応答受信モジュール４２５、メモリアクセス応答モジュール４３０、ダミー動作モジュール２２５、観測モジュール２３０を有している。
画像処理モジュール２１０は、ＤＭＡ２２０のメモリアクセスリクエスト受信モジュール（バッファ）４１０、メモリアクセス応答モジュール４３０と接続されている。画像処理モジュール２１０は、画像処理を行うために、ＤＭＡ２２０、アービタ１４５を介して、メモリ１５０にアクセスする。なお、ダミー動作モジュール２２５から疑似的なメモリアクセスがある場合は休止している。
ＣＰＵ１０５は、ＤＭＡ２２０の設定レジスタ４０５、観測モジュール２３０内の出力モジュール４８０と接続されている。
自動設定制御モジュール１３５は、ＤＭＡ２２０の設定レジスタ４０５、観測モジュール２３０内の出力モジュール４８０と接続されている。
【００４５】
設定レジスタ４０５は、ＣＰＵ１０５、自動設定制御モジュール１３５と接続されている。設定レジスタ４０５は、ＣＰＵ１０５又は自動設定制御モジュール１３５からアクセスされ、ＤＭＡ２２０に疑似的なメモリアクセスを行わせる。
メモリアクセスリクエスト受信モジュール（バッファ）４１０は、ｓｅｌ４１２を有しており、画像処理モジュール２１０、メモリアクセス制御モジュール４１５、ダミー動作モジュール２２５内の擬似リクエスト生成モジュール４５０と接続されている。メモリアクセスリクエスト受信モジュール（バッファ）４１０は、一般的には、画像処理モジュール２１０からの指示にしたがって、アービタ１４５へのメモリアルのための処理を行う。しかし、ダミー動作モジュール２２５内の擬似リクエスト生成モジュール４５０から疑似的なメモリアクセスの指示をｓｅｌ４１２が受け取った場合は、その疑似的なメモリアクセスの指示を、画像処理モジュール２１０からのメモリアクセスの指示と同等に扱って、アービタ１４５へのメモリアルのための処理を行う。
メモリアクセスリクエスト受信モジュール（バッファ）４１０内のｓｅｌ４１２は、ダミー動作モジュール２２５内の擬似リクエスト生成モジュール４５０と接続されている。ｓｅｌ４１２は、擬似リクエスト生成モジュール４５０から疑似的なメモリアクセスの指示を受け取る。
【００４６】
メモリアクセス制御モジュール４１５は、メモリアクセスリクエスト受信モジュール（バッファ）４１０、メモリアクセスリクエスト送信モジュール４２０、メモリアクセス応答受信モジュール４２５、メモリアクセス応答モジュール４３０と接続されている。メモリアクセス制御モジュール４１５は、メモリアクセスリクエスト受信モジュール（バッファ）４１０からのメモリアクセス（疑似的なメモリアクセスを含む）の指示があった場合はメモリアクセスリクエスト送信モジュール４２０へ指示を行い、そのメモリアクセスの結果をメモリアクセス応答受信モジュール４２５から受け取った場合はメモリアクセス応答モジュール４３０へ渡す。
メモリアクセスリクエスト送信モジュール４２０は、メモリアクセス制御モジュール４１５、観測モジュール２３０内の帯域観測モジュール４７０、アービタ１４５と接続されている。メモリアクセスリクエスト送信モジュール４２０は、メモリアクセス制御モジュール４１５からメモリアクセスの指示があった場合は、アービタ１４５を介してメモリ１５０にアクセスする。
アービタ１４５は、ＤＭＡ２２０のメモリアクセスリクエスト送信モジュール４２０、メモリアクセス応答受信モジュール４２５、観測モジュール２３０内の帯域観測モジュール４７０、メモリ１５０と接続されている。
メモリ１５０は、アービタ１４５と接続されている。
【００４７】
メモリアクセス応答受信モジュール４２５は、メモリアクセス制御モジュール４１５、アービタ１４５と接続されている。メモリアクセス応答受信モジュール４２５は、メモリアクセスの結果を、アービタ１４５を介してメモリ１５０から受け取った場合はメモリアクセス制御モジュール４１５へ渡す。
メモリアクセス応答モジュール４３０は、画像処理モジュール２１０、メモリアクセス制御モジュール４１５、ダミー動作モジュール２２５内の応答受信モジュール４６０と接続されている。メモリアクセス応答モジュール４３０は、メモリアクセス制御モジュール４１５からメモリアクセスの結果を受け取った場合、画像処理モジュール２１０からのメモリアクセスの指示に対応するものであれば画像処理モジュール２１０へ渡し、疑似的なメモリアクセスの指示に対応するものであればｓｅｌ４３２を介してダミー動作モジュール２２５内の応答受信モジュール４６０へ渡す。
メモリアクセス応答モジュール４３０内のｓｅｌ４３２は、ダミー動作モジュール２２５内の応答受信モジュール４６０と接続されている。ｓｅｌ４３２は、疑似的なメモリアクセスの結果を受け付け、ダミー動作モジュール２２５の応答受信モジュール４６０に渡す。
【００４８】
ダミー動作モジュール２２５は、擬似リクエスト生成モジュール４５０、待機制御モジュール４５５、応答受信モジュール４６０を有している。
ダミー動作モジュール２２５内の擬似リクエスト生成モジュール４５０は、メモリアクセスリクエスト受信モジュール（バッファ）４１０のｓｅｌ４１２と接続されている。擬似リクエスト生成モジュール４５０は、疑似的なメモリアクセスの指示をメモリアクセスリクエスト受信モジュール（バッファ）４１０のｓｅｌ４１２に渡す。疑似的なメモリアクセスの指示は、画像処理モジュール２１０からのアクセス信号と同等の信号である。
ダミー動作モジュール２２５内の待機制御モジュール４５５は、設定にあわせてリクエスト生成頻度を制御する。そして、待機制御モジュール４５５は、時間経過によってリクエスト生成頻度を動的に切り替えるようにする。
ダミー動作モジュール２２５内の応答受信モジュール４６０は、メモリアクセス応答モジュール４３０内のｓｅｌ４３２と接続されている。応答受信モジュール４６０は、擬似リクエスト生成モジュール４５０による疑似的なメモリアクセスの指示に対応する結果を受け取る。なお、応答受信モジュール４６０は必ずしも必要なく、メモリアクセス応答モジュール４３０が受け取った結果を処理してもよい。
【００４９】
観測モジュール２３０は、帯域観測モジュール４７０、帯域比較モジュール４７５、出力モジュール４８０を有している。
観測モジュール２３０内の帯域観測モジュール４７０は、メモリアクセスリクエスト送信モジュール４２０とアービタ１４５間のバス、メモリアクセス応答受信モジュール４２５とアービタ１４５間のバスと接続されている。帯域観測モジュール４７０は、メモリアクセスリクエスト送信モジュール４２０とアービタ１４５間における帯域等、メモリアクセス応答受信モジュール４２５とアービタ１４５間における帯域等を観測する。
観測モジュール２３０内の帯域比較モジュール４７５は、帯域観測モジュール４７０が観測した帯域等が目的とする帯域を達成しているか否かの判断を行う。
観測モジュール２３０内の出力モジュール４８０は、ＣＰＵ１０５、自動設定制御モジュール１３５と接続されている。出力モジュール４８０は、帯域観測モジュール４７０による観測結果、帯域比較モジュール４７５による判断結果をＣＰＵ１０５又は自動設定制御モジュール１３５に出力する。
【００５０】
図５は、画像処理対象である画像データ例を示す説明図である。
画像５００は、画像処理モジュール２１０が処理対象としているデータであり、２次元データである。画像５００は、主走査方向の複数のライン５１０によって構成されている。画像処理は、一般的には、このライン５１０に対して処理を行う。
【００５１】
図６は、待機制御モジュール４５５による設定処理例を示す説明図である。待機制御モジュール４５５は、アクセス頻度やアクセス頻度の時間変化等を考慮して、擬似リクエスト生成モジュール４５０にメモリ１５０へのアクセスを行わせる。
画像処理は、処理対象である像の解像度、処理内容によってメモリアクセス頻度が時間（アクセス数）によって変化する。例えば、ライン５１０毎に処理を行ったり、ブロック毎に処理を行ったりする。
具体的には、待機制御モジュール４５５は、設定値に基づいて、次のメモリアクセスまでの待ち時間を制御する。
例えば、ライン６３０を、ライン０：６３０Ａ、ライン１：６３０Ｂ、ライン２：６３０Ｃの３つの部分に分け、横軸をｔ軸６１０、縦軸をアクセス頻度６２０として図６の例に示すように表すとする。図６の例に示すように、１つのライン６３０内の３つの区間を、それぞれのアクセス頻度で（ライン０：６３０Ａは高頻度で、ライン１：６３０Ｂは低頻度で、ライン２：６３０Ｃは中頻度で）メモリアクセスし、それを繰り返すように擬似リクエスト生成モジュール４５０を制御している。つまり、アクセス頻度とアクセス頻度の時間変化を制御している。例えば、変数ｌｉｎｅ＿ｎｕｍを（帯域評価するライン数）、変数ｌｉｎｅ＿ｂｙｔｅ（１ライン分のアクセス量（Σｌｉｎｅｉ＿ｂｙｔｅ））、変数ｌｉｎｅ０＿ｂｙｔｅ（ライン区間０でのアクセス量）、変数ｌｉｎｅ０＿ｗａｉｔ＿ｃｙｃｌｅ（ライン区間０でのアクセス頻度）、変数ｌｉｎｅ１＿ｂｙｔｅ（ライン区間１でのアクセス量）、変数ｌｉｎｅ１＿ｗａｉｔ＿ｃｙｃｌｅ（ライン区間１でのアクセス頻度）、…、変数ｌｉｎｅｎ＿ｂｙｔｅ（ライン区間ｎでのアクセス量）、変数lｉｎｅｎ＿ｗａｉｔ＿ｃｙｌｅ（ライン区間ｎでのアクセス頻度）を用いて、ライン数、ライン区間毎のアクセス量、ライン区間毎のアクセス頻度を制御する。もちろんのことながら、ラインを３区間に分けるのではなく、ライン全体（区間分けなし）としてもよいし、ラインを２区間に分けてもよいし、ラインを４以上の区間に分けてもよい。ライン毎に区間数を異ならせてもよいし、ライン毎にアクセス頻度を異ならせてもよい。
【００５２】
図７は、本実施の形態（主に自動設定制御モジュール１３５）の構成例についての概念的なモジュール構成図である。
自動設定制御モジュール１３５は、設定情報受信モジュール７０５、アービタ設定モジュール７１０、ＤＭＡ設定モジュール７１５、ＤＭＡ制御モジュール７２０、アラート受信モジュール７２５、ログ情報送信モジュール７３０を有している。
設定情報受信モジュール７０５は、アービタ設定モジュール７１０、ＤＭＡ設定モジュール７１５、ＣＰＵ１０５、アービタ１４５と接続されている。設定情報受信モジュール７０５は、ＣＰＵ１０５からの指示（又はメモリ１５０内の設定情報）にしたがって、アービタ１４５に対して各コア１２０等の優先度を設定し、ＤＭＡ２２０に対してアクセスするメモリアドレス（範囲）を設定する。具体的には、ＤＭＡ等の設定用レジスタとのインタフェースの機能を有している。
ＣＰＵ１０５は、自動設定制御モジュール１３５の設定情報受信モジュール７０５と接続されている。
【００５３】
アービタ設定モジュール７１０は、設定情報受信モジュール７０５、アービタ１４５と接続されている。アービタ設定モジュール７１０は、設定情報受信モジュール７０５の指示にしたがって、アービタ１４５に対して各コア１２０等の優先度を設定する。
アービタ１４５は、自動設定制御モジュール１３５の設定情報受信モジュール７０５、アービタ設定モジュール７１０、ログ情報送信モジュール７３０と接続されている。アービタ１４５は、アービタ設定モジュール７１０による設定にしたがって、各コア１２０等のメモリアクセスを制御する。具体的には、メモリアクセスが競合した場合は、メモリアクセスをしているコア１２０等の優先度の上位のものにメモリアクセスを許可する。
【００５４】
ＤＭＡ設定モジュール７１５は、設定情報受信モジュール７０５、ＤＭＡ２２０と接続されている。ＤＭＡ設定モジュール７１５は、設定情報受信モジュール７０５の指示にしたがって、ＤＭＡ２２０に対してアクセスするメモリアドレスを設定する。
アラート受信モジュール７２５は、ＤＭＡ制御モジュール７２０、ログ情報送信モジュール７３０、ＤＭＡ２２０と接続されている。アラート受信モジュール７２５は、ＤＭＡ２２０又は出力モジュール４８０からの出力を受けて、アラート（警告）を受け付けた場合は、ＤＭＡ制御モジュール７２０に対してリセット又は再起動の指示を行う。
ＤＭＡ制御モジュール７２０は、アラート受信モジュール７２５、ＤＭＡ２２０と接続されている。ＤＭＡ制御モジュール７２０は、アラート受信モジュール７２５からの指示にしたがってＤＭＡ２２０をリセット又は再起動する。
ＤＭＡ２２０は、自動設定制御モジュール１３５のＤＭＡ設定モジュール７１５、ＤＭＡ制御モジュール７２０、アラート受信モジュール７２５と接続されている。ＤＭＡ２２０は、ＤＭＡ設定モジュール７１５による設定にしたがってメモリアクセスを行い、ＤＭＡ制御モジュール７２０によってリセット又は再起動される。
【００５５】
ログ情報送信モジュール７３０は、アラート受信モジュール７２５、アービタ１４５と接続されている。ログ情報送信モジュール７３０は、アラート受信モジュール７２５からのログデータ（アラート等、観測モジュール２３０内の出力モジュール４８０からのログデータ等を含む）を、アービタ１４５、メモリコントローラ１３０を介して、メモリ１５０に記憶させる。
メモリ１５０は、アービタ１４５の設定情報、ＤＭＡ２２０の設定情報を記憶しており、ログ情報送信モジュール７３０からのログデータを記憶する。なお、ログデータには、例えば、観測値、試験を行った設定情報が含まれる。
【００５６】
図８は、本実施の形態による処理例を示すフローチャートである。ＣＰＵ１０５、自動設定制御モジュール１３５、ＤＭＡ２２０（ダミー動作モジュール２２５、ＤＭＡ２２０、観測モジュール２３０）、アービタ１４５間の処理例を示すものである。もちろんのことながら、ＣＰＵ１０５は、メモリアクセスの競合試験のプログラムにしたがって処理を行う。
【００５７】
ステップＳ８０２では、ＣＰＵ１０５は、ＤＭＡ設定情報をメモリ１５０に格納する。
ステップＳ８０４では、ＣＰＵ１０５は、自動設定制御モジュール１３５に対して、ＤＭＡ設定を要求する。
ステップＳ８０６では、自動設定制御モジュール１３５（設定情報受信モジュール７０５）は、メモリ１５０にアクセスし、ＤＭＡ設定情報を受信する。
ステップＳ８０８では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡ設定情報を送信する。
【００５８】
ステップＳ８１０では、ダミー動作モジュール２２５は、待機情報他を設定する。具体的には、図６の例を用いて説明した設定情報である。
ステップＳ８１２では、ＤＭＡ２２０Ａは、アドレス他を設定する。具体的には、メモリアクセスのアドレスを指定する。
ステップＳ８１４では、観測モジュール２３０は、必要帯域他を設定する。具体的には、目的とする帯域であり、この帯域に満たない場合は、警告を発することになる。
【００５９】
ステップＳ８１６では、ＣＰＵ１０５は、自動設定制御モジュール１３５に対して、アービタ設定を要求する。
ステップＳ８１８では、自動設定制御モジュール１３５は、アービタ１４５に対して、アービタ設定を送信する。
ステップＳ８２０では、アービタ１４５は、アービタ設定にしたがって優先度を設定する。
【００６０】
ステップＳ８２２では、ＣＰＵ１０５は、自動設定制御モジュール１３５に対して、ダミーのメモリアクセス実行を要求する。
ステップＳ８２４では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ダミーのメモリアクセス動作起動を要求する。
ステップＳ８２６では、ダミー動作モジュール２２５は、ダミーリクエストを受け取り、ダミーのメモリアクセス動作を開始する。
ステップＳ８２８では、ＤＭＡ２２０Ａでは、ＤＭＡが起動され、ダミーのメモリアクセス動作をする。
ステップＳ８３０では、観測モジュール２３０は、ダミーのメモリアクセスを観測し、実際の帯域と目的としている帯域との比較を行う。
なお、ステップＳ８１０からステップＳ８１４までの処理、ステップＳ８２０の処理、ステップＳ８２６からステップＳ８３０までの処理は、メモリアクセスの競合試験のプログラムにしたがって設定を変更しながら繰り返して行われる。
【００６１】
図９は、本実施の形態による処理例を示すフローチャートである。アラートが発生せずに正常終了した例を示すものである。図８の例に示す処理の続きであり、ステップＳ９０２からステップＳ９０６までの処理は、ステップＳ８２６からステップＳ８３０までの処理と同等である。
ステップＳ９０２では、ダミー動作モジュール２２５は、ダミーリクエストを受け取り、ダミーのメモリアクセス動作を開始する。
ステップＳ９０４では、ＤＭＡ２２０Ａでは、ＤＭＡが起動され、ダミーのメモリアクセス動作をする。
ステップＳ９０６では、観測モジュール２３０は、ダミーのメモリアクセスを観測し、実際の帯域と目的としている帯域との比較を行う。
【００６２】
ステップＳ９０８では、観測モジュール２３０は、自動設定制御モジュール１３５に対して、終了信号を送信する。
ステップＳ９１０では、自動設定制御モジュール１３５は、観測モジュール２３０より終了信号を受信する。
ステップＳ９１２では、自動設定制御モジュール１３５は、ログを出力する。
ステップＳ９１４では、自動設定制御モジュール１３５は、性能比較を行い、推奨値の更新を行う。
ここまでの処理が１回目の設定から、ダミーのメモリアクセス処理、ログ出力、性能比較、推奨値の更新の処理までを示している。ステップＳ９１６以降の処理は、２回目の処理を行うものである。
【００６３】
ステップＳ９１６では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡ設定情報を送信する。
ステップＳ９１８では、ダミー動作モジュール２２５は、待機情報他を設定する。
ステップＳ９２０では、ＤＭＡ２２０Ａは、アドレス他を設定する。
ステップＳ９２２では、観測モジュール２３０は、必要帯域他を設定する。
ステップＳ９２４では、自動設定制御モジュール１３５は、アービタを再設定する。
ステップＳ９２６では、アービタ１４５は、優先度等の設定を変更する。
ステップＳ９１６からステップＳ９２６までの処理は、図８の例に示したステップＳ８０８からステップＳ８１４までの処理、ステップＳ８１８、ステップＳ８２０の処理と同等である。
ステップＳ９２８では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡ再起動を要求する。これ以降は、図１１の例に示す処理に続く。
【００６４】
図１０は、本実施の形態による処理例を示すフローチャートである。アラートが発生した例を示すものである。図８の例に示す処理の続きであり、ステップＳ１００２からステップＳ１００６までの処理は、ステップＳ８２６からステップＳ８３０までの処理と同等である。
ステップＳ１００２では、ダミー動作モジュール２２５は、ダミーリクエストを受け取り、ダミーのメモリアクセス動作を開始する。
ステップＳ１００４では、ＤＭＡ２２０Ａでは、ＤＭＡが起動され、ダミーのメモリアクセス動作をする。
ステップＳ１００６では、ダミーのメモリアクセスを観測し、実際の帯域と目的としている帯域との比較を行う。
【００６５】
ステップＳ１００８では、観測モジュール２３０は、帯域未達を観測する。つまり、観測した帯域が目的とする帯域に達していない状態である。
ステップＳ１０１０では、観測モジュール２３０は、自動設定制御モジュール１３５に対して、アラートを送信する。
ステップＳ１０１２では、自動設定制御モジュール１３５は、観測モジュール２３０よりアラートを受信する。
ステップＳ１０１４では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡのリセットを要求する。
ステップＳ１０１６では、ダミー動作モジュール２２５は、ダミーのメモリリクエストを停止する。
ステップＳ１０１８では、ＤＭＡ２２０Ａは、ＤＭＡを停止する。
ステップＳ１０２０では、自動設定制御モジュール１３５は、ログを出力する。
ステップＳ１０２２では、自動設定制御モジュール１３５は、性能比較を行い、推奨値の更新を行う。
ここまでの処理が１回目の設定から、ダミーのメモリアクセス処理、ログ出力、性能比較、推奨値の更新の処理までを示している。ステップＳ１０２４以降の処理は、２回目の処理を行うものである。
【００６６】
ステップＳ１０２４では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡ設定情報を送信する。
ステップＳ１０２６では、ダミー動作モジュール２２５は、待機情報他を設定する。
ステップＳ１０２８では、ＤＭＡ２２０Ａは、アドレス他を設定する。
ステップＳ１０３０では、観測モジュール２３０は、必要帯域他を設定する。
ステップＳ１０３２では、自動設定制御モジュール１３５は、アービタを再設定する。
ステップＳ１０３４では、アービタ１４５は、優先度等の設定を変更する。
ステップＳ１０２４からステップＳ１０３４までの処理は、図８の例に示したステップＳ８０８からステップＳ８１４までの処理、ステップＳ８１８、ステップＳ８２０の処理と同等である。
ステップＳ１０３６では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡ再起動を要求する。これ以降は、図１１の例に示す処理に続く。
【００６７】
図１１は、本実施の形態による処理例を示すフローチャートである。図９又は図１０の例に示した処理以降の処理を示している。
ステップＳ１１０２では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡの再起動を要求する。ステップＳ９２８又はステップＳ１０３６の処理と同等である。
ステップＳ１１０４では、ダミー動作モジュール２２５は、ダミーリクエストを受け取り、ダミーのメモリアクセス動作を開始する。
ステップＳ１１０６では、ＤＭＡ２２０Ａでは、ＤＭＡが起動され、ダミーのメモリアクセス動作をする。
ステップＳ１１０８では、観測モジュール２３０は、ダミーのメモリアクセスを観測し、実際の帯域と目的としている帯域との比較を行う。
ステップＳ１１１０では、観測モジュール２３０は、自動設定制御モジュール１３５に対して、終了信号を送信する。
ステップＳ１１１２では、自動設定制御モジュール１３５は、観測モジュール２３０より終了信号を受信する。
ステップＳ１１０４からステップＳ１１１２までの処理は、ステップＳ９０２からステップＳ９１０までの処理と同等である。
【００６８】
ステップＳ１１１４では、自動設定制御モジュール１３５は、ダミー動作モジュール２２５に対して、ＤＭＡのリセットを要求する。
ステップＳ１１１６では、ダミー動作モジュール２２５は、ダミーリクエストを停止する。
ステップＳ１１１８では、ＤＭＡ２２０Ａは、ＤＭＡを停止する。
ステップＳ１１２０では、自動設定制御モジュール１３５は、ログを出力する。
ステップＳ１１２２では、自動設定制御モジュール１３５は、性能比較を行い、推奨値の更新を行う。
【００６９】
図１２は、本実施の形態による測定対象のコア等の構成例を示す説明図である。この例では、６つのコア１２０があり、その６つのコアは３つのコア１２０のグループが２つであり、アービタ１４５が階層構造となっているプロセッサモジュールの例を示している。つまり、コア０：１２０−０は、アービタ０＿０：１４５Ｘと接続されている。コア１：１２０−１は、アービタ０＿０：１４５Ｘと接続されている。コア２：１２０−２は、アービタ０＿０：１４５Ｘと接続されている。コア３：１２０−３は、アービタ０＿１：１４５Ｙと接続されている。コア４：１２０−４は、アービタ０＿１：１４５Ｙと接続されている。コア５：１２０−５は、アービタ０＿１：１４５Ｙと接続されている。
アービタ０＿０：１４５Ｘは、コア０：１２０−０、コア１：１２０−１、コア２：１２０−２、アービタ１＿０：１４５Ｚと接続されている。アービタ０＿１：１４５Ｙは、コア３：１２０−３、コア４：１２０−４、コア５：１２０−５、アービタ１＿０：１４５Ｚと接続されている。アービタ１＿０：１４５Ｚは、アービタ０＿０：１４５Ｘ、アービタ０＿１：１４５Ｙ、メモリコントローラ１３０と接続されている。つまり、１段目のアービタ１４５（アービタ０＿０：１４５Ｘ、アービタ０＿１：１４５Ｙ）でそれぞれ３つのコア（コア０：１２０−０、コア１：１２０−１、コア２：１２０−２の組と、コア３：１２０−３、コア４：１２０−４、コア５：１２０−５の組）からのアクセスを調停し、２段目のアービタ１＿０：１４５Ｚで１段目の２つのアービタ１４５からのアクセスを調停している。
メモリコントローラ１３０は、アービタ１＿０：１４５Ｚ、メモリ１５０と接続されている。
メモリ１５０は、メモリコントローラ１３０と接続されている。
そして、各コア１２０内は、図２の例に示すような構造となっており、ダミー動作モジュール２２５、観測モジュール２３０、自動設定制御モジュール１３５がメモリアクセスの競合試験を行う。
【００７０】
図１３は、本実施の形態が出力するログデータの例を示す説明図である。つまり、図１２の例に示す構成の場合におけるログデータ等の例を示すものである。具体的には、アービタ設定制御のログデータ、推奨値のアウトプットについて、示すものである。
以下をログ情報としてメモリやレジスタに出力する。
・全体の性能情報（全アクセスが終わるまでの時間、観測値等）
・各アービタに対して、アクセスするマスタの優先順位の設定値等
【００７１】
図１３（ａ）の例に示すログデータ１３００ａは、試行番号（例えば（３））、全体の性能情報（例えば（１５０００［ｃｌｋ］））を有している。つまり、ダミーアクセスが全て終了するまでにかかった時間を格納している。具体的には、終了までのクロック数等である。図１３（ａ）の例では、３回目のテストで結果は１５０００ｃｌｋかかったことを示している。
【００７２】
図１３（ｂ）の例に示すログデータ１３００ｂは、アービタ０＿０：１４５Ｘにおける優先度の設定情報を示しており、ｒｅｓｅｒｖｅｄ（予備）、コア０：１２０−０の優先順位（例えば（０））、コア１：１２０−１の優先順位（例えば（１））、コア２：１２０−２の優先順位（例えば（２））を有している。
図１３（ｃ）の例に示すログデータ１３００ｃは、アービタ０＿１：１４５Ｙにおける優先度の設定情報を示しており、ｒｅｓｅｒｖｅｄ（予備）、コア３：１２０−３の優先順位（例えば（０））、コア４：１２０−４の優先順位（例えば（０））、コア５：１２０−５の優先順位（例えば（２））を有している。
図１３（ｄ）の例に示すログデータ１３００ｄは、アービタ１＿０：１４５Ｚにおける優先度の設定情報を示しており、ｒｅｓｅｒｖｅｄ（予備）、ｒｅｓｅｒｖｅｄ（予備）、アービタ０＿０：１４５Ｘの優先順位（例えば（０））、アービタ０＿１：１４５Ｙの優先順位（例えば（０））を有している。
つまり、各アービタ（アービタ０＿０：１４５Ｘ、アービタ０＿１：１４５Ｙ、アービタ１＿０：１４５Ｚ）における優先度設定を格納している。図１３（ｂ）〜図１３（ｄ）に示す例では、番号の若い値ほど、優先度が高いことを示している。同じ値の場合は、同じレベルの優先度となる。図１３（ｂ）の例では、アービタ０＿０：１４５Ｘにおけるメモリアクセス処理の優先度は、コア０：１２０−０、コア１：１２０−１、コア２：１２０−２の順となる。
【００７３】
メモリアクセスが競合する場合、画像処理が目的とする性能を満たしているかを評価し、満たさない場合にはアービタの設定を変更する必要がある。
推奨すべき設定値として、アラートの発生がなく正常終了した場合であって、全体の性能情報が最もよい値を示したログデータ（ログデータ１３００ａ）における各アービタにおける優先度設定（ログデータ１３００ｂ、ログデータ１３００ｃ、ログデータ１３００ｄ）を提示すればよい。
なお、自動設定制御モジュール１３５は、アービタ１４５の複数回の設定を自動的に行うようにしてもよい。例えば、コア１２０等の優先度の全ての組み合わせを順に設定し、メモリアクセスの競合試験を行うようにしてもよい。
また、予め定められた数の組み合わせにおける競合試験をした後に、自動設定制御モジュール１３５は、その中で正常終了した場合の優先度の組み合わせに類似する優先度の組み合わせを生成して、競合試験を行うようにしてもよい。
逆に、予め定められた数の組み合わせにおける競合試験をした後に、自動設定制御モジュール１３５は、その中で警告が発生された場合の優先度の組み合わせに類似する優先度の組み合わせは除外して、競合試験を行うようにしてもよい。
【００７４】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００７５】
１００…情報処理装置
１０５…ＣＰＵ
１１０…ＧＰＵ
１１５…ＤＳＰ
１２０…コア
１２５…インタフェースモジュール
１３０…メモリコントローラ
１３５…自動設定制御モジュール
１４０…ＣＣＩ
１４５…アービタ
１５０…メモリ
１５５…汎用Ｉ／Ｏ
１６０…ＡＦＥ
２１０…画像処理モジュール
２２０…ＤＭＡ
２２５…ダミー動作モジュール
２３０…観測モジュール
３００…情報処理装置
３２０…コア：
４０５…設定レジスタ
４１０…メモリアクセスリクエスト受信モジュール（バッファ）
４１２…ｓｅｌ
４１５…メモリアクセス制御モジュール
４２０…メモリアクセスリクエスト送信モジュール
４２５…メモリアクセス応答受信モジュール
４３０…メモリアクセス応答モジュール
４３２…ｓｅｌ
４５０…擬似リクエスト生成モジュール
４５５…待機制御モジュール
４６０…応答受信モジュール
４７０…帯域観測モジュール
４７５…帯域比較モジュール
４８０…出力モジュール
７０５…設定情報受信モジュール
７１０…アービタ設定モジュール
７１５…ＤＭＡ設定モジュール
７２０…ＤＭＡ制御モジュール
７２５…アラート受信モジュール
７３０…ログ情報送信モジュール
【図１】
2018136866.tif 000003
【図２】
2018136866.tif 000004
【図３】
2018136866.tif 000005
【図４】
2018136866.tif 000006
【図５】
2018136866.tif 000007
【図６】
2018136866.tif 000008
【図７】
2018136866.tif 000009
【図８】
2018136866.tif 000010
【図９】
2018136866.tif 000011
【図１０】
2018136866.tif 000012
【図１１】
2018136866.tif 000013
【図１２】
2018136866.tif 000014
【図１３】
2018136866.tif 000015