説明

コンピュータシステム

【課題】 マスタ間のアクセス要求競合に伴うシステム性能劣化の回避策の検討を容易にする。
【解決手段】 複数のマスタ部に対応する複数の情報取得部の各々において、フラグ部は、対応マスタ部における所望の処理の実行開始/実行終了に伴ってセット状態/リセット状態に遷移する。時刻取得部は、フラグ部のセット状態/リセット状態への遷移に伴ってタイマ部の時刻を処理開始時刻/処理終了時刻として取得する。時間取得部は、フラグ部がセット状態である期間にて対応マスタ部のアクセス要求が調停部に対して発行され且つ調停部がメインメモリ部へのアクセスを対応マスタ部に許可していない場合にカウント動作を実施し、フラグ部のリセット状態への遷移時のカウント値を処理中断時間として取得する。情報保存部は、処理開始時刻および処理終了時刻と処理中断時間とを対応マスタ部に関連付けて保存する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のマスタ部と複数のマスタ部により共通のバスを介してアクセスされるメインメモリ部とを有するコンピュータシステムに関する。
【背景技術】
【0002】
プロセッサコアやDMA(Direct Memory Access)コントローラ等のマスタが複数存在するコンピュータシステム(例えば、マルチコアプロセッサシステム)では、複数のマスタが共通のバスを介してメインメモリにアクセスする構成が採用されることが多い。このような構成のマルチコアプロセッサシステムでは、プロセッサコア間でバスアクセス要求(メモリアクセス要求)が競合すると、メインメモリからプロセッサコアへのデータの転送が遅くなり、プロセッサコアがデータ転送待ちのためにインターロック状態(処理の実行を中断した状態)に遷移する。プロセッサコアがインターロック状態に遷移することは、システム全体の性能劣化に繋がる。
【0003】
マルチコアプロセッサシステムの開発工程においては、システムに対して要求される性能が達成されていない場合、全てのプロセッサコアに関するバスアクセス量の総和を取得し、その情報を利用してシステム性能劣化の対策を検討することが実施されている。全てのプロセッサコアに関するバスアクセス量の総和がバス帯域の上限値(システムで実現可能なバスアクセス量の最大値)に近い場合には、各プロセッサコアの処理時間がデータ転送待ちに起因して長くなっている可能性がある。従って、そのような場合には、各プロセッサコアのバスアクセス要求の発行回数が削減されるように、システム上で実行されるプログラム(アプリケーション)の修正等が実施される。
【0004】
また、バスマスタ間のバス獲得要求の競合制御を実施する競合制御回路に関して、転送データ損失の防止やシステム性能の向上を実現するための技術が考案されている(例えば、特許文献1を参照)。
【特許文献1】特開平6−60017号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
プロセッサコアの待ち時間(プロセッサコアがインターロック状態である時間)が原因でシステム性能劣化が発生している場合には、プロセッサコア間でバスアクセス要求が競合しないように、スケジューリング(各プロセッサコアに対する処理割り当てや各プロセッサコアの処理実行順序)を変更する、或いは、プロセッサコアで使用されるデータをメインメモリとは別のメモリ(例えば、プロセッサコアの内部に設けられるローカルメモリ)に配置することで、システム性能劣化を軽減することが可能である。
【0006】
しかしながら、現状では、全てのプロセッサコアに関するバスアクセス量の総和のみが取得可能であり、各プロセッサコアで待ち時間(処理中断時間)が発生しているか否かの判断や各プロセッサコアの待ち時間の発生原因がアクセス要求競合であるか否かの判断はシステム開発者の経験に依存している。経験が少ないシステム開発者にとって、各プロセッサコアで待ち時間が発生しているか否かの判断や各プロセッサコアの待ち時間の発生原因がアクセス要求競合であるか否かの判断は容易ではない。従って、プロセッサコア間のアクセス要求競合に起因するシステム性能劣化の回避策(スケジューリング変更やデータ配置先変更等)を検討することは困難である。
【0007】
本発明は、このような問題に鑑みてなされたものであり、マスタ間のアクセス要求競合に伴うシステム性能劣化の回避策の検討を容易にすることを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様では、コンピュータシステムは、複数のマスタ部と、メインメモリ部と、調停部と、タイマ部と、複数の情報取得部とを備える。メインメモリ部は、複数のマスタ部により共通のバスを介してアクセスされる。調停部は、複数のマスタ部のメインメモリ部へのアクセス要求を調停する。タイマ部は、複数のマスタ部に共通して設けられる。複数の情報取得部は、複数のマスタ部に対応して設けられる。複数の情報取得部の各々は、フラグ部と、時刻取得部と、時間取得部と、情報保存部とを備える。フラグ部は、複数のマスタ部の中の対応マスタ部における所望の処理の実行開始/実行終了に伴ってセット状態/リセット状態に遷移する。時刻取得部は、フラグ部のセット状態/リセット状態への遷移に伴ってタイマ部の時刻を処理開始時刻/処理終了時刻として取得する。時間取得部は、フラグ部がセット状態である期間にて対応マスタ部のアクセス要求が調停部に対して発行され且つ調停部がメインメモリ部へのアクセスを対応マスタ部に許可していない場合にカウント動作を実施し、フラグ部のリセット状態への遷移時のカウント値を処理中断時間として取得する。情報保存部は、処理開始時刻および処理終了時刻と処理中断時間とを対応マスタ部に関連付けて保存する。
【発明の効果】
【0009】
各マスタ部の所望の処理に関する処理開始時刻および処理終了時刻と処理中断時間とをシステム開発者に対して提供することができる。これにより、マスタ部間のアクセス要求競合に伴うシステム性能劣化の回避策の検討が大幅に容易になる。
【発明を実施するための最良の形態】
【0010】
以下、本発明の実施形態について図面を用いて説明する。
【0011】
図1は、本発明の一実施形態のコンピュータシステムを示している。図2は、アクセス量測定部の詳細を示している。図3は、メモリコントローラの詳細を示している。本発明の一実施形態のコンピュータシステム10は、図1に示すように、並列処理を実行するマルチコアプロセッサ20と、マルチコアプロセッサ20で使用されるデータ等を格納するメインメモリ30とを用いて具現されている。なお、本実施形態では、メインメモリ30として1個のSDRAM(Synchronous Dynamic Random Access Memory)が設けられるものとするが、メインメモリ30として複数個のSDRAMが設けられることもある。
【0012】
マルチコアプロセッサ20は、マスタ21−1〜21−n、アクセス量測定部22−1〜22−n、タイマ23およびメモリコントローラ24を有している。マスタ21−i(i=1,2,・・・,n)は、CPU(Central Processing Unit)21a−iおよびローカルメモリ21b−i等を有するプロセッサコアである。マスタ21−i(プロセッサコア)のCPU21a−iでは、マルチコアプロセッサ20の並列処理単位(関数やタスク等)に相当する処理Pi1、Pi2、Pi3、・・・が順次実行される。なお、本実施形態では、マスタ21−1〜21−nの全てがプロセッサコアであるものとするが、マスタ21−1〜21−nの一部がプロセッサコア以外のマスタ(例えば、DMAコントローラ)であることもある。
【0013】
アクセス量測定部22−iは、マスタ21−iのメモリインタフェース部(図示せず)に付随して設けられている。アクセス量測定部22−iは、図2に示すように、フラグ部41、アクセス量算出部42およびレジスタ部43を有している。アクセス量測定部22−iにおいて、フラグ部41は、マスタ21−i(CPU21a−i)にてアクセス量測定用のフラグセット命令/フラグリセット命令が実行されるのに伴ってセット状態/リセット状態に遷移する。アクセス量算出部42は、フラグ部41がセット状態である期間にてマスタ21−iからメモリコントローラ24に対してアクセス要求が発行される度に、マスタ21−iから通知されるアクセス量とレジスタ部43の値とを加算し、加算結果によりレジスタ部43の値を更新する。従って、マスタ21−iの各処理に対応する部分の前後にアクセス量測定用のフラグセット命令およびフラグリセット命令の命令コードを挿入されたプログラムがコンピュータシステム10(マルチコアプロセッサ20)で実行されると、マスタ21−iのバスアクセス量の累計がアクセス量測定部22−iのレジスタ部43に格納されることになる。タイマ23は、システムクロックに同期して動作することで、マスタ21−1〜21−n間で共通した時刻情報を生成する。
【0014】
メモリコントローラ24は、図3に示すように、待ち時間測定部24a−1〜24a−n、リクエストキュー部24b−1〜24b−n、調停部24cおよびリクエストキュー部24dを有している。待ち時間測定部24a−iは、マスタ21−iに対応して設けられている。待ち時間測定部24a−iは、フラグ部51、時刻取得用レジスタ部52、時間取得用カウンタ部53、測定条件判定部54および測定結果保存部55を有している。待ち時間測定部24a−iにおいて、フラグ部51は、マスタ21−i(CPU21a−i)にて待ち時間測定用のフラグセット命令/フラグリセット命令が実行されるのに伴ってセット/リセットされるフラグF1〜Fmを有している。なお、フラグ部51のフラグF1〜Fmについては、2個以上のフラグがセットされている状態が存在しないように制御される。
【0015】
時刻取得用レジスタ部52は、フラグ部51がセット状態に遷移するのに伴って(フラグF1〜Fmのいずれかがセットされるのに伴って)、タイマ23の時刻を開始時刻として取得する。また、時刻取得用レジスタ部52は、フラグ部51がリセット状態に遷移するのに伴って(フラグF1〜Fmにおけるセットされたフラグがリセットされるのに伴って)、タイマ23の時刻を終了時刻として取得する。時間取得用カウンタ部53は、フラグ部51がセット状態に遷移するのに伴って、カウント値を0に初期化する。時間取得用カウンタ部53は、フラグ部51がセット状態である期間にて測定条件判定部54によりカウント動作が許可されている場合、システムクロックのサイクル毎にカウント値をインクリメントする。時間取得用カウンタ部53は、フラグ部51のリセット状態への遷移時のカウント値を待ち時間(中断時間)として取得する。
【0016】
測定条件判定部54は、調停部24cから供給されるバス占有マスタ情報MNUMがマスタ21−i以外を示しており、リクエストキュー部24b−iから調停部24cに対してアクセス要求REQiが発行されており、調停部24cからリクエストキュー部24b−iに対してアクセス通知ACKiが発行されていない場合にのみ、時間取得用カウンタ部53のカウント動作を許可する。測定結果保存部55は、フラグ部51がセット状態に遷移するのに伴って、時刻取得用レジスタ部52により取得された開始時刻をマスタ21−iに関連付けられた専用メモリMEMにおけるフラグ部51でセットされたフラグの対応位置に格納する。また、測定結果保存部55は、フラグ部51がリセット状態に遷移するのに伴って、時刻取得用レジスタ部52により取得された終了時刻および時間取得用カウンタ部53により取得された待ち時間をマスタ21−iに関連付けられた専用メモリMEMにおけるフラグ部51でリセットされたフラグの対応位置に格納する。
【0017】
なお、本実施形態では、待ち時間測定部24a−iの測定結果(開始時刻、終了時刻および待ち時間)が待ち時間測定部24a−iにおける測定結果保存部55の専用メモリMEMに格納される構成を採用しているが、待ち時間測定部24a−iの測定結果がメインメモリ30またはマスタ21−iのローカルメモリ21b−iにおける予め確保された領域に格納される構成を採用してもよい。この場合、待ち時間測定部24a−iにおける測定結果保存部55の専用メモリMEMが不要になるため、待ち時間測定部24a−iの回路規模を低減することができる。この結果、マルチコアプロセッサ20の小規模化によるコンピュータシステム10のコスト削減を実現することができる。
【0018】
リクエストキュー部24b−iは、マスタ21−iに対応して設けられている。リクエストキュー部24b−iは、マスタ21−iにより発行されるアクセス要求を順次受け付けて保持し、保持しているアクセス要求を受け付け順にアクセス要求REQiとして調停部24cに発行する。リクエストキュー部24b−iは、調停部24cに発行したアクセス要求REQiに関して調停部24cからアクセス通知ACKiが発行されると、調停部24cから供給されるデータをアクセス通知とともにマスタ21−iに供給する。
【0019】
調停部24cは、リクエストキュー部24b−1〜24b−nにより発行されるアクセス要求REQ1〜REQnを調停してマスタ21−1〜21−nの中からメインメモリ30へのアクセス(メインメモリ30用のバスの占有)を許可すべきマスタを決定し、調停結果に応じたアクセス要求をリクエストキュー部24dに発行する。調停部24cは、リクエストキュー部24dに発行したアクセス要求に関してリクエストキュー部24dからアクセス通知が発行されると、リクエストキュー部24dから供給されるデータをアクセス通知ACK1〜ACKnの中で該当するアクセス通知とともにリクエストキュー部24b−1〜24b−nの中で該当するリクエストキュー部に供給する。また、調停部24cは、マスタ21−1〜21−nの中でメインメモリ30用のバスを占有しているマスタを示すバス占有マスタ情報MNUMを待ち時間測定部24a−1〜24a−nに供給する。
【0020】
リクエストキュー部24dは、調停部24cにより発行されるアクセス要求を順次受け付けて保持し、保持しているアクセス要求を受け付け順にメインメモリ30に発行する。リクエストキュー部24dは、メインメモリ30に発行したアクセス要求に関してメインメモリ30からアクセス通知が発行されると、メインメモリ30から供給されるデータをアクセス通知とともに調停部24cに供給する。
【0021】
メインメモリ30は、マルチコアプロセッサ20のメモリコントローラ24(リクエストキュー部24d)により発行されるアクセス要求に応答して該当するデータを読み出し、読み出したデータをアクセス通知とともにマルチコアプロセッサ20のメモリコントローラ24(リクエストキュー部24d)に供給する。
【0022】
図4は、待ち時間測定部の動作を示している。マスタ21−iの処理Pij(j=1,2,3,・・・)に対応する部分の前後にフラグFjに関する待ち時間測定用のフラグセット命令およびフラグリセット命令の命令コードを挿入されたプログラムがコンピュータシステム10(マルチコアプロセッサ20)で実行されると、待ち時間測定部24a−iは以下のように動作する。
【0023】
マスタ21−iにてフラグFjに関する待ち時間測定用のフラグセット命令が実行されると(ステップS101)、待ち時間測定部24a−iにてフラグ部51のフラグFjがセットされる(ステップS201)。これにより、待ち時間測定部24a−iにて、時間取得用カウンタ部53のカウント値が0に初期化されるとともに、タイマ23の時刻が時刻取得用レジスタ部52により開始時刻として取得され、その開始時刻が測定結果保存部55により専用メモリMEMにおけるフラグFjの対応位置に格納される(ステップS202)。
【0024】
マスタ21−iにて処理Pijが実行されている期間中には(ステップS102)、待ち時間測定部24a−iにてシステムクロックのサイクル毎に次のような動作が実施される。まず、バス占有マスタ(調停部24cから供給されるバス占有マスタ情報MNUMが示すマスタ)がマスタ21−i以外であるか否かが測定条件判定部54により判定される(ステップS203)。測定条件判定部54にてバス占有マスタがマスタ21−i以外であると判定された場合、リクエストキュー部24b−iから調停部24cに対してアクセス要求REQiが発行されているか否かが測定条件判定部54により判定される(ステップS204)。測定条件判定部54にてアクセス要求REQiが発行されていると判定された場合、調停部24cからリクエストキュー部24b−1に対してアクセス通知ACKiが発行されていないか否かが測定条件判定部54により判定される(ステップS205)。測定条件判定部54にてアクセス通知ACKiが発行されていないと判定された場合、時間取得用カウンタ部53のカウント動作が測定条件判定部54により許可され、時間取得用カウント部53のカウント値がインクリメントされる(ステップS206)。測定条件判定部54にてバス占有マスタがマスタ21−i以外ではない(バス占有マスタがマスタ21−iである)と判定された場合、或いは、測定条件判定部54にてアクセス要求REQiが発行されていないと判定された場合、或いは、測定条件判定部54にてアクセス通知ACKiが発行されていると判定された場合には、時間取得用カウンタ部53のカウント動作が測定条件判定部54により許可されず、時間取得用カウント部53のカウント値はインクリメントされない。
【0025】
マスタ21−iにて処理Pijの実行が終了してフラグFjに関する待ち時間測定用のフラグリセット命令が実行されると(ステップS103)、待ち時間測定部24a−iにてフラグ部51のフラグFjがリセットされる(ステップS207)。これにより、待ち時間測定部24a−iにて、タイマ23の時刻が時刻取得用レジスタ部53により終了時刻として取得されるとともに、時間取得用カウンタ部53でカウント値が待ち時間として取得され、その終了時刻および待ち時間が測定結果保存部55により専用メモリMEMにおけるフラグFjの対応位置に格納される(ステップS208)。これにより、マスタ21−iの処理Pijに関して、マスタ21−1〜21―n間で共通した時刻情報に基づく開始時刻および終了時刻と、マスタ21−1〜21−n間のアクセス要求競合に起因する待ち時間とが専用メモリMEMにおけるフラグFjの対応位置に格納されたことになる。
【0026】
図5は、プログラム開発環境の一例を示している。図6は、待ち時間測定部の測定結果の使用例を示している。コンピュータシステム10の開発工程において、システム開発者は、例えば、図5に示すように、ホストコンピュータ100がICE(In-Circuit Emulator)200を介してシステムボード300(コンピュータシステム10を実装)に接続されたプログラム開発環境で、ホストコンピュータ100のプログラム開発用ツールを使用してコンピュータシステム10のプログラムを開発する。図5のプログラム開発環境では、システム開発者がホストコンピュータ100を操作することで、コンピュータシステム10(マルチコアプロセッサ20)からハードウェア情報(例えば、内部のレジスタやメモリに格納されているデータ)を取得してホストコンピュータ100のディスプレイ装置に表示させることが可能である。
【0027】
システム開発者は、コンピュータシステム10に対して要求される性能が達成されていない場合、例えば、図5のプログラム開発環境にて、マスタ21−iの処理Pijに対応する部分の前後にアクセス量測定用のフラグセット命令およびフラグリセット命令が挿入されたプログラムをコンピュータシステム10(マルチコアプロセッサ20)で実行させる。そして、システム開発者は、ホストコンピュータ100を操作することにより、アクセス量測定部22−1〜22−nのレジスタ部43に格納されているマスタ21−1〜21−nのバスアクセス量の累計を読み出してホストコンピュータ100のディスプレイ装置に表示させる。これにより、システム開発者は、マスタ21−1〜21−nの全てに関するバスアクセス量の総和を把握することができる。
【0028】
マスタ21−1〜21−nの全てに関するバスアクセス量の総和がバス帯域の上限値に近い場合には、マスタ21−1〜21−nの処理時間がアクセス要求競合に起因して長くなっている可能性がある。従って、そのような場合には、システム開発者は、図5のプログラム開発環境にて、マスタ21−iの処理Pijに対応する部分の前後にフラグFjに関する待ち時間測定用のフラグセット命令およびフラグリセット命令が挿入されたプログラムをコンピュータシステム10(マルチコアプロセッサ20)で実行させる。そして、システム開発者は、ホストコンピュータ100を操作することにより、待ち時間測定部24a−1〜24a−nにおける測定結果保存部55の専用メモリMEMに格納されている測定結果(マスタ21−1〜21−nの各処理に関する開始時刻、終了時刻および待ち時間)を読み出してホストコンピュータ100のディスプレイ装置に表示させる。このとき、ホストコンピュータ100のディスプレイ装置には、例えば、測定結果に加えて、ホストコンピュータ100のプログラム開発用ツールにより測定結果に基づいて生成されたグラフも表示される。例えば、図6の左側に示すような測定結果が読み出された場合には、ホストコンピュータ100のプログラム開発用ツールにより、図6の右側に示すようなグラフが生成される。これにより、システム開発者は、マスタ21−1〜21−nで並列に実行されている処理およびその処理におけるアクセス要求競合に起因する待ち時間を視覚的に把握することができる。
【0029】
従って、システム開発者は、マスタ21−xにおける待ち時間の長い処理Pxaで使用されるデータの配置先をメインメモリ30からマスタ21−xのローカルメモリ21b−xに変更する、或いは、マスタ21−xにおける待ち時間の長い処理Pxaがマスタ21−yにおける待ち時間の短い処理Pyaと並列に実行されるようにスケジューリング(各マスタに対する処理割り当てや各マスタの処理実行順序)を変更するといった性能劣化回避策を容易に検討することができる。なお、マスタ21−xにおける待ち時間の長い処理Pxaで使用されるデータの配置先をメインメモリ30からマスタ21−xのローカルメモリ21b−xに変更すると、マスタ21−xにおける処理Pxaが実行されている期間でのアクセス要求の発行回数が削減されるため、アクセス要求競合が少なくなり、マスタ21−xの処理Pxaにおける待ち時間が削減されることになる。また、マスタ21−xにおける待ち時間の長い処理Pxaをマスタ21−yにおける待ち時間の短い処理Pyaと並列に実行されるようにスケジューリングを変更すると、待ち時間の短い処理はアクセス要求の発行回数が少ない処理であるため、アクセス要求競合が少なくなり、マスタ21−xの処理Pxaにおける待ち時間が削減されることになる。
【0030】
以上のように、本発明の一実施形態では、メインメモリ30用のバスをマスタ21−1〜21−n間で共有するコンピュータシステム10に関して、マスタ21−1〜21−n間のアクセス要求競合に伴うシステム性能劣化の回避策を検討するうえで必要なハードウェア情報をシステム開発者に対して提供することができる。具体的には、マスタ21−1〜21−nの各処理(関数やタスク等)に関して、マスタ21−1〜21−n間で共通した時刻情報に基づく開始時刻および終了時刻と、マスタ21−1〜21−n間のアクセス要求競合に起因する待ち時間とをシステム開発者に対して提供することが可能である。従って、マスタ21−1〜21−n間のアクセス要求競合に伴うシステム性能劣化の回避策(スケジューリング変更やデータ配置先変更等)の検討が大幅に容易になる。
【0031】
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
複数のマスタ部と、
前記複数のマスタ部により共通のバスを介してアクセスされるメインメモリ部と、
前記複数のマスタ部の前記メインメモリ部へのアクセス要求を調停する調停部と、
前記複数のマスタ部に共通して設けられるタイマ部と、
前記複数のマスタ部に対応して設けられる複数の情報取得部とを備え、
前記複数の情報取得部の各々は、
前記複数のマスタ部の中の対応マスタ部における所望の処理の実行開始/実行終了に伴ってセット状態/リセット状態に遷移するフラグ部と、
前記フラグ部のセット状態/リセット状態への遷移に伴って前記タイマ部の時刻を処理開始時刻/処理終了時刻として取得する時刻取得部と、
前記フラグ部がセット状態である期間にて前記対応マスタ部のアクセス要求が前記調停部に対して発行され且つ前記調停部が前記メインメモリ部へのアクセスを前記対応マスタ部に許可していない場合にカウント動作を実施し、前記フラグ部のリセット状態への遷移時のカウント値を処理中断時間として取得する時間取得部と、
前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記対応マスタ部に関連付けて保存する情報保存部とを備えることを特徴とするコンピュータシステム。
(付記2)
付記1に記載のコンピュータシステムにおいて、
前記フラグ部は、前記対応マスタ部における所望の処理の実行開始/実行終了に伴ってセット/リセットされる複数のフラグを備え、
前記フラグ部は、前記複数のフラグのいずれかがセットされるのに伴ってセット状態に遷移し、セットされたフラグがリセットされるのに伴ってリセット状態に遷移し、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記フラグ部におけるセット/リセットされたフラグに関連付けて保存することを特徴とするコンピュータシステム。
(付記3)
付記1または付記2に記載のコンピュータシステムにおいて、
前記複数の情報取得部の各々は、専用メモリ部を備え、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記専用メモリ部に保存することを特徴とするコンピュータシステム。
(付記4)
付記1または付記2に記載のコンピュータシステムにおいて、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記メインメモリ部に保存することを特徴とするコンピュータシステム。
(付記5)
付記1または付記2に記載のコンピュータシステムにおいて、
前記複数のマスタ部の各々は、ローカルメモリ部を備え、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記対応マスタ部の前記ローカルメモリ部に保存することを特徴とするコンピュータシステム。
(付記6)
付記1〜付記5のいずれかに記載のコンピュータシステムにおいて、
前記情報保存部により保存された情報は、システムの外部に出力され、アクセス要求競合に伴うシステム性能劣化の回避策を検討するために使用されることを特徴とするコンピュータシステム。
【0032】
以上、本発明について詳細に説明してきたが、前述の実施形態およびその変形例は発明の一例に過ぎず、本発明はこれらに限定されるものではない。本発明を逸脱しない範囲で変形可能であることは明らかである。
【図面の簡単な説明】
【0033】
【図1】本発明の一実施形態のコンピュータシステムを示す図である。
【図2】アクセス量測定部の詳細を示す図である。
【図3】メモリコントローラの詳細を示す図である。
【図4】待ち時間測定部の動作を示す図である。
【図5】プログラム開発環境の一例を示す図である。
【図6】待ち時間測定部の測定結果の使用例を示す図である。
【符号の説明】
【0034】
10‥コンピュータシステム;20‥マルチコアプロセッサ;21−1〜21−n‥マスタ;21a−1〜21a−n‥CPU;21b−1〜21b−n‥ローカルメモリ;22−1〜22−n‥アクセス量測定部;23‥タイマ;24‥メモリコントローラ;24a−1〜24a−n‥待ち時間測定部;24b−1〜24b−n‥リクエストキュー部;24c‥調停部;24d‥リクエストキュー部;30‥メインメモリ;41‥フラグ部;42‥アクセス量算出部;43‥レジスタ部;51‥フラグ部;52‥時刻取得用レジスタ部;53‥時間取得用カウンタ部;54‥測定条件判定部;55‥測定結果保存部;F1〜Fm‥フラグ;MEM‥専用メモリ

【特許請求の範囲】
【請求項1】
複数のマスタ部と、
前記複数のマスタ部により共通のバスを介してアクセスされるメインメモリ部と、
前記複数のマスタ部の前記メインメモリ部へのアクセス要求を調停する調停部と、
前記複数のマスタ部に共通して設けられるタイマ部と、
前記複数のマスタ部に対応して設けられる複数の情報取得部とを備え、
前記複数の情報取得部の各々は、
前記複数のマスタ部の中の対応マスタ部における所望の処理の実行開始/実行終了に伴ってセット状態/リセット状態に遷移するフラグ部と、
前記フラグ部のセット状態/リセット状態への遷移に伴って前記タイマ部の時刻を処理開始時刻/処理終了時刻として取得する時刻取得部と、
前記フラグ部がセット状態である期間にて前記対応マスタ部のアクセス要求が前記調停部に対して発行され且つ前記調停部が前記メインメモリ部へのアクセスを前記対応マスタ部に許可していない場合にカウント動作を実施し、前記フラグ部のリセット状態への遷移時のカウント値を処理中断時間として取得する時間取得部と、
前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記対応マスタ部に関連付けて保存する情報保存部とを備えることを特徴とするコンピュータシステム。
【請求項2】
請求項1に記載のコンピュータシステムにおいて、
前記フラグ部は、前記対応マスタ部における所望の処理の実行開始/実行終了に伴ってセット/リセットされる複数のフラグを備え、
前記フラグ部は、前記複数のフラグのいずれかがセットされるのに伴ってセット状態に遷移し、セットされたフラグがリセットされるのに伴ってリセット状態に遷移し、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記フラグ部におけるセット/リセットされたフラグに関連付けて保存することを特徴とするコンピュータシステム。
【請求項3】
請求項1または請求項2に記載のコンピュータシステムにおいて、
前記複数の情報取得部の各々は、専用メモリ部を備え、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記専用メモリ部に保存することを特徴とするコンピュータシステム。
【請求項4】
請求項1または請求項2に記載のコンピュータシステムにおいて、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記メインメモリ部に保存することを特徴とするコンピュータシステム。
【請求項5】
請求項1または請求項2に記載のコンピュータシステムにおいて、
前記複数のマスタ部の各々は、ローカルメモリ部を備え、
前記情報保存部は、前記処理開始時刻および前記処理終了時刻と前記処理中断時間とを前記対応マスタ部の前記ローカルメモリ部に保存することを特徴とするコンピュータシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2010−33496(P2010−33496A)
【公開日】平成22年2月12日(2010.2.12)
【国際特許分類】
【出願番号】特願2008−197578(P2008−197578)
【出願日】平成20年7月31日(2008.7.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】