(57)【特許請求の範囲】
【請求項１】
マスタモジュールに発生するイベントを検出する検出手段と、
前記マスタモジュールとスレーブモジュールとの間のデータ転送を制御するアクセスコントローラにおける前記マスタモジュールのデータ転送量を測定周期ごとに測定し、測定した前記データ転送量を前記測定周期の終わりに応じて出力する転送量測定手段と、
前記検出手段が検出したイベントと、前記転送量測定手段が測定したデータ転送量とを発生した順番に記憶する記憶手段と、
を備えることを特徴とする観測回路。
【請求項２】
前記検出手段は、検出した前記イベントごとの時間情報を、当該イベントに係る情報と併せて前記記憶手段に出力することを特徴とする請求項１に記載の観測回路。
【請求項３】
前記検出手段がイベントの検出に応じて生成する第１ビット列と、前記転送量測定手段がデータ転送量の測定に応じて生成する第２ビット列とのビット幅が同一であり、
前記記憶手段は、前記第１ビット列及び前記第２ビット列と同一の前記ビット幅で、前記第１ビット列及び前記第２ビット列を、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）形式で記憶し、
前記第１及び第２ビット列は、互いの情報を識別する識別情報を備えることを特徴とする請求項１又は請求項２に記載の観測回路。
【請求項４】
前記イベントの検出及び前記データ転送量の測定を行いながら、前記記憶手段に記憶されたデータを出力する処理を並列的に実行することを特徴とする請求項１乃至請求項３のいずれかに記載の観測回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本願に開示の技術は、マスタモジュールと、スレーブモジュールとの間のデータ転送を観測する回路に関するものである。
【背景技術】
【０００２】
従来、画像表示や音声出力などの処理時間に制限がある処理において、これらの処理を決まったタイミングまでに完了させるために、プログラムによるデータ転送のタイミング等を改善して処理動作の向上を図ることが考えられている。例えば、特許文献１には、観測対象のコンピュータシステムとは別に設けた解析用のコンピュータを、観測対象となるコンピュータシステムに外部から接続して観測する技術が開示されている。特許文献１に開示されるシステムでは、解析用のコンピュータを用いて観測対象のコンピュータシステム内のメモリバスのバス情報を取り出してデータ転送量の解析を行っている。
【０００３】
また、上記したデータ転送量の観測結果から特定のリソース、例えば、共有メモリへのアクセスが集中することが判明した場合には、そのアクセス集中がどのようなソフトウェアやハードウェアのイベントに起因して発生しているのかを知る必要が生じる。これは、アクセス集中とイベントとの因果関係が判明すれば、イベントの発生タイミング等を分散させてアクセス集中の改善を図るなどの対策が行えるからである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−２８３２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に示すシステムでは、観測結果のデータ転送量と、発生したイベントとの関係を知りたい場合には、データ転送量を検出した時間情報と、イベントが発生した時間情報との照合を行う必要があり、解析する処理手順が複雑となり、システムの改善を図るために多大な時間と労力を要する。
【０００６】
本願に開示される技術は、上記の課題に鑑み提案されたものである。イベントの発生とデータ転送量との関係が容易に解析できる観測回路を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に開示される技術に係る観測回路は、マスタモジュールに発生するイベントを検出する検出手段と、マスタモジュールとスレーブモジュールとの間のデータ転送を制御するアクセスコントローラにおけるマスタモジュールのデータ転送量を測定周期ごとに測定し、測定したデータ転送量を測定周期の終わりに応じて出力する転送量測定手段と、検出手段が検出したイベントと、転送量測定手段が測定したデータ転送量とを発生した順番に記憶する記憶手段と、を備えることを特徴とする。
【０００８】
当該観測回路では、検出手段が、マスタモジュールに発生するイベントを検出する。このイベントは、例えば、マスタモジュールにおいて発生するソフトウェアイベント及びハードウェアイベントである。転送量測定手段は、マスタモジュールに接続されたスレーブモジュールに対するデータ転送を制御するアクセスコントローラにおけるデータ転送量を測定周期ごとに測定し、測定したデータ転送量を測定周期の終わりに応じて出力する。そして、記憶手段には、検出手段が検出したイベントと、転送量測定手段が測定したデータ転送量とが発生した順番に、即ち、時系列に沿って記憶される。このような構成では、記憶手段にはイベントとデータ転送量とが時系列に沿って記憶されるため、記憶手段に記憶されたデータに基づいて、データ転送量と発生したイベントとの関係を容易に解析することが可能となる。
【０００９】
また、本願に開示される技術に係る観測回路において、検出手段は、検出したイベントごとの時間情報を、当該イベントに係る情報と併せて記憶手段に出力する構成としてもよい。このような構成では、検出手段が記憶手段に出力した時間情報をキーとしてイベント及びデータ転送量を比較、表示等することができ、解析の精度を向上させることが可能となる。
【００１０】
また、本願に開示される技術に係る観測回路において、検出手段がイベントの検出に応じて生成する第１ビット列と、転送量測定手段がデータ転送量の測定に応じて生成する第２ビット列とのビット幅が同一であり、記憶手段は、第１ビット列及び第２ビット列と同一のビット幅で、第１ビット列及び第２ビット列を、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）形式で記憶し、第１及び第２ビット列は、互いの情報を識別する識別情報を備える構成としてもよい。
【００１１】
当該観測回路では、イベントに関するデータである第１ビット列と、データ転送量に関するデータである第２ビット列とのビット幅を揃えることによって、例えば、ＦＩＦＯ形式のメモリに順次出力し容易に時系列に沿って記憶することが可能となる。また、当該観測回路によれば、第１及び第２ビット列の各々に識別情報を付加することにより、記憶手段から読み出したデータの取り扱いが容易となる。
【００１２】
また、本願に開示される技術に係る観測回路において、イベントの検出及びデータ転送量の測定を行いながら、記憶手段に記憶されたデータを出力する処理を並列的に実行する構成としてもよい。当該観測回路では、記憶手段に順次記憶したデータを適宜表示装置等に出力することで、観測対象のシステム等の動作中において当該システムの状態をリアルタイムに観測することが可能となる。
【発明の効果】
【００１３】
本願に開示される技術によれば、イベントの発生とデータ転送量との関係が容易に解析できる観測回路を提供することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態の観測回路の観測対象であるメモリ共有システムの構成を示すブロック図である。
【図２】観測回路の構成を示すブロック図である。
【図３】（ａ）は、タイムスタンプ部が出力するビット列のフォーマットであり、（ｂ）は、転送量カウンターが出力するビット列のフォーマットを示す図である。
【図４】タイムスタンプ部によるイベント検出と、転送量カウンターによるデータ転送量の測定との関係を示す図である。
【図５】ＦＩＦＯに記憶されたデータを説明するための図である。
【図６】観測回路の出力データを用いた表示画面を示す図である。
【発明を実施するための形態】
【００１５】
以下、本発明を具体化した一実施形態について添付図面を参照しながら説明する。図１は、本発明の観測回路の観測対象であるメモリコントローラ２０を含むメモリ共有システム１０の構成例を示している。メモリ共有システム１０は、例えば遊技機などの電子機器に組み込まれ、遊技の進行に合わせて画像や音声の再生制御を行うものである。メモリコントローラ２０には、マスタモジュール３１，３２，３３と、スレーブモジュールとしてメモリ３５が接続されている。メモリ３５は、ＲＡＭなどで構成されており、メモリ共有システム１０を含む電子機器の主記憶装置として機能する。メモリコントローラ２０は、マスタモジュール３１〜３３の各々と、メモリ３５との間のデータ転送（メモリ３５からマスタモジュール３１〜３３各々へのデータの読み出し、或いは、マスタモジュール３１〜３３の各々からメモリ３５へのデータの書き込み）を制御するアクセスコントローラである。
【００１６】
マスタモジュール３１〜３３の各々は、例えば、電子機器のホストＣＰＵ（図示略）による制御の下、メモリ３５に格納されているデータの読み出し、或いはメモリ３５へのデータの書き込みを行う。メモリコントローラ２０は、３つのポート２１〜２３を有している。本実施形態では、ポート２１にはマスタモジュール３１が、ポート２２にはマスタモジュール３２が、ポート２３にはマスタモジュール３３が接続されている。
【００１７】
３つのマスタモジュール３１〜３３は、互いに異なる役割を担っている。例えば、マスタモジュール３１は、データ転送機能を担い、大容量ＲＯＭなどの補助記憶装置（図示略）に格納されている各種データを読み出し、メモリ３５へ転送する。本実施形態にて大容量ＲＯＭからメモリ３５へ転送されるデータの一例としては、遊技の進行の各タイミングに合わせて一定のフレームレート（例えば、６０ＦＰＳ（Ｆｒａｍｅｓ  Ｐｅｒ  Ｓｅｃｏｎｄ））で再生される各画像の画像データに圧縮符号化を施して得られる圧縮符号化データなどが挙げられる。このマスタモジュール３１は、各タイミングにて再生する画像や音声に対応するデータを、そのタイミングの開始前に予めメモリ３５へ転送しておく役割を担う。なお、マスタモジュール３１は、次のタイミングにて再生される画像や音声に対応するデータの全部又は一部が、既にメモリ３５に格納されている場合には、当該格納済みのデータに関して上記転送を再度実行しない。従って、マスタモジュール３１が実行するデータ転送は、例えば、必要に応じて随時行われ、かつ、転送データ量もその時々に異なりえる非周期的なデータ転送である。
【００１８】
マスタモジュール３２は、例えば、画像処理機能を担う。このマスタモジュール３２は、マスタモジュール３１によってメモリ３５へ転送された画像の圧縮符号化データを読み出してデコードするデコーダと、そのデコード結果の画像データに応じた画像の描画制御を行う描画制御回路とを含んでいる。また、マスタモジュール３３は、音声処理機能を担い、マスタモジュール３１によってメモリ３５へ転送された音声データを読み出し、その音声データに応じた音声を音として出力する処理を実行する。従って、マスタモジュール３２，３３によるデータ転送は、例えば、フレームレート等に応じて周期的に実行されるデータ転送である。
【００１９】
マスタモジュール３１〜３３の各々は、メモリ３５との間でデータ転送を行う場合、例えば、アクセス要求をメモリコントローラ２０に送信し、メモリコントローラ２０からアクセス許可を受信すると、そのデータ転送を開始するように構成されている。マスタモジュール３１〜３３の各々には、予め優先順位が付けられている。一例として、マスタモジュール３１の優先順位が最も高く、次いでマスタモジュール３３の優先順位が高く、マスタモジュール３２の優先順位が最も低いといった具合である。複数のマスタモジュール３１〜３３の各々からのアクセス要求が競合した場合には、メモリコントローラ２０は、マスタモジュール３１〜３３の各々に設定した優先順位にしたがって調停が行われる。そして、メモリコントローラ２０による調停の結果、アクセス許可を与えられなかったマスタモジュールは、アクセス許可が与えられるまで一定の時間間隔でアクセス要求を送信する処理を繰り返すように構成されている。また、マスタモジュール３１〜３３の各々は、データ転送の停止を指示する旨の信号をメモリコントローラ２０から受信すると、停止解除を指示する旨の信号をメモリコントローラ２０から受信するまで、アクセス要求の送信を停止するように構成されている。なお、上記した各マスタモジュール３１〜３３のメモリ３５に対するアクセス制御の方法は、一例であり、適宜変更してもよい。
【００２０】
上記したように、マスタモジュール３１とメモリ３５との間のデータ転送は、必要に応じて随時行われる非周期的なデータ転送である。一方で、マスタモジュール３２，３３とメモリ３５との間のデータ転送は、一定のフレームレート等に応じた周期で実行される周期的なデータ転送である。ここで、例えば、マスタモジュール３２は、画像の描画処理とデコード処理とが同時期に実行された場合に、画像の描画処理のデータ転送に十分な帯域を確保することができず、その実行が妨げられる虞がある。つまり、マスタモジュール３２のメモリ３５に対するアクセスが集中することにより、画像の描画が遅延する可能性がある。あるいは、マスタモジュール３２は、他の優先度が高いマスタモジュール３１による非周期的なデータ転送が無条件に行われてしまう場合にも、画像の描画が遅延する可能性がある。このようなアクセスの集中を、事前に全て把握することは難しく、実際にシステムを動作させた後にどのような要因（マスタモジュール３１〜３３の各々が実行するイベント）によるものかを検証する必要が生じる。例えば、正しく画像が描画されない原因が、マスタモジュール３２によるデコードの処理量が多かったのか、描画処理の処理量が多かったのかを判定することは容易ではない。これに対し、本実施形態の観測回路は、マスタモジュール３１〜３３の各々のメモリ３５に対するデータ転送量と、そのデータ転送の際に発生しているイベントとを時系列に沿って記憶しておくことで、メモリ３５に対するアクセスの集中の緩和を行うための解析及び設計変更を容易にするものである。
【００２１】
次に、本実施形態の観測回路について図２を参照しながら説明する。図２に示す観測回路４１は、例えば、メモリコントローラ２０内に内蔵される回路として構成される。なお、観測回路４１は、メモリコントローラ２０とは別の装置として実装してもよい。観測回路４１は、タイムスタンプ部４３と、転送量カウンター４５と、記憶部４７と、制御部４９とを備える。タイムスタンプ部４３は、マスタモジュール３１〜３３の各々に発生するソフトウェアイベント及びハードウェアイベントを検出し、タイマ値と合わせて記憶部４７に出力する。この観測回路４１は、例えば、マスタモジュール３１〜３３の各々、例えば、各マスタモジュール３１〜３３が接続されるメモリコントローラ２０のポート２１〜２３ごとに設けられる。以下の説明では、一例として、画像の描画処理を行うマスタモジュール３２が接続されるポート２２に対応する観測回路４１について説明する。なお、観測回路４１は、全てのマスタモジュール３１〜３３（全ポート２１〜２３）をまとめて観測する一つの回路として設けてもよい。
【００２２】
タイムスタンプ部４３は、プリスケーラー５１と、タイマ５３と、フラグ設定部５５，５７と、ビット列生成部５９とを有する。タイムスタンプ部４３は、タイマ５３が出力するタイマ値ＴＭに同期して２つのフラグ設定部５５，５７が並列動作する。プリスケーラー５１は、タイマ５３の前段に配置され、入力される信号（例えば、システムクロック）を所定の分周比で分周した信号Ｓ１をタイマ５３に出力する。プリスケーラー５１は、例えば、観測回路４１の起動時又はリセット時にメモリ等に記憶された分周比の設定値が読み込まれ分周比が設定される。従って、タイマ５３のカウント値の上限は、プリスケーラー５１の分周比の設定値に応じて変更される。また、プリスケーラー５１及びタイマ５３は、制御部４９から初期化トリガＩＮＩＴが入力されるとリセットされた上で、その後、カウントを再開する動作を行う。
【００２３】
フラグ設定部５５は、マスタモジュール３２に発生したソフトウェアイベントが入力される。例えば、マスタモジュール３２は、所定の処理（コマンドなど）を実行するごとに、そのソフトウェアイベントの種類に応じた値を、フラグ設定部５５に記憶されるイベントフラグＩＦ１に設定する。また、フラグ設定部５７は、マスタモジュール３２に発生したハードウェアイベント（例えば、デコード処理の開始や終了など）が入力され、ハードウェアイベントに応じた値がイベントフラグＩＦ２に設定される。例えば、マスタモジュール３２は、ハードウェア割込みのイベントが発生し所定の割込みハンドラが起動されると、そのイベントの種類に応じた値をイベントフラグＩＦ２に設定する。フラグ設定部５５，５７は、並列に動作し、タイマ値ＴＭに同期してイベントフラグＩＦ１，ＩＦ２をビット列生成部５９に出力する。また、タイマ５３は、タイマ値ＴＭをビット列生成部５９に出力する。なお、フラグ設定部５５，５７は、イベントが発生せずイベントフラグＩＦ１，ＩＦ２が書き替えられない場合には、イベントフラグＩＦ１，ＩＦ２を出力しない、あるいはゼロ値を出力する。
【００２４】
ビット列生成部５９は、入力されたタイマ値ＴＭ、イベントフラグＩＦ１，ＩＦ２に応じたビット列ＢＴ１を生成して記憶部４７に出力する。図３（ａ）は、ビット列生成部５９が生成するビット列ＢＴ１のフォーマットの一例を示している。ビット列ＢＴ１は、イベントフラグＩＦ１，ＩＦ２の後ろにタイマ値ＴＭが追加されるとともに、先頭にタイムスタンプ部４３の出力値であることを示す識別情報ＩＤ１が設定される。ビット列ＢＴ１におけるイベントフラグＩＦ１，ＩＦ２を設定するための領域は、例えば、イベントの種類の数に応じたビット幅が確保されている（図５参照）。ビット列生成部５９は、フラグ設定部５５，５７から入力されたイベントフラグＩＦ１，ＩＦ２の値に応じて、対応するビット値を設定する。なお、ビット列ＢＴ１の識別情報ＩＤ１は、一例としてビット値「１」が設定されている。
【００２５】
次に、転送量カウンター４５について説明する。転送量カウンター４５は、検出部６１と、プリスケーラー６３と、カウンター６５とを有する。検出部６１は、マスタモジュール３２とポート２２（図１参照）とが接続される内部バスで発生した転送イベントを検出し、検出するごとにその旨を示す信号Ｓ２をプリスケーラー６３に出力する。プリスケーラー６３は、カウンター６５の前段に配置され、入力される信号Ｓ２を所定の分周比で分周した信号Ｓ３をカウンター６５に出力する。従って、転送イベントの発生回数に対してカウンター６５がカウントアップする回数は、プリスケーラー６３の分周比を設定することで変更される。カウンター６５は、カウントとした値を転送量として記憶部４７に出力する。図３（ｂ）は、カウンター６５が生成するビット列ＢＴ２のフォーマットの一例を示している。ビット列ＢＴ２は、データ転送量（カウント値）ＣＴの前に転送量カウンター４５の出力値であることを示す識別情報ＩＤ２が設定されている。識別情報ＩＤ２は、一例としてビット値「０」が設定される。また、ビット列ＢＴ２のビット幅は、ビット列生成部５９から出力されるビット列ＢＴ１のビット幅と同一となっている。
【００２６】
また、プリスケーラー６３及びカウンター６５には、制御部４９が備える測定周期タイマ（図示略）から測定トリガＭＴが供給される。プリスケーラー６３及びカウンター６５は、例えば、測定トリガＭＴの信号レベルが変更されると、ビット列ＢＴ２を記憶部４７に出力するとともに、それまでの測定値をゼロにリセットし、その後、データ転送量ＣＴのカウントを再開する。このようにして転送量カウンター４５は、測定トリガＭＴにおけるマスタモジュール３２とメモリ３５とのデータ転送量ＣＴをカウントする。測定トリガＭＴの発生周期は、例えば、５１２μｓである。転送量カウンター４５は、フレームレートが６０ＦＰＳ（１フレームが１６ｍｓ）であれば、１フレームの間に３２回転送量を測定し、出力することとなる。
【００２７】
記憶部４７は、マルチプレクサ（以下、「ＭＵＸ」という）７１と、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）形式のメモリ（以下、「ＦＩＦＯ」という）７２とを備える。タイムスタンプ部４３から出力されるビット列ＢＴ１と、転送量カウンター４５から出力されるビット列ＢＴ２とは、記憶部４７のＭＵＸ７１に入力される。ＭＵＸ７１は、所定のタイミングに従ってタイムスタンプ部４３及び転送量カウンター４５の出力を選択し、入力されたビット列ＢＴ１，ＢＴ２をＦＩＦＯ７２に順次出力する。
【００２８】
ＦＩＦＯ７２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などにより構成される先入れ先出し形式のバッファであり、ビット列ＢＴ１，ＢＴ２のビット幅に応じたデータを順次記憶できる（図５参照）。ＦＩＦＯ７２は、ＭＵＸ７１から出力されるビット列ＢＴ１，ＢＴ２を順次記憶し、古いものから順に観測結果として出力する。
【００２９】
次に、観測回路４１の動作状態について図４及び図５を参照して説明する。図４は、タイムスタンプ部４３によるイベント検出と、転送量カウンター４５によるデータ転送量ＣＴの測定との関係を示している。なお、測定トリガＭＴの発生タイミングと、初期化トリガＩＮＩＴの発生タイミングとは、制御部４９が独立に制御可能である。図４では、一例として、測定トリガＭＴと初期化トリガＩＮＩＴが、同時に制御部４９から出力される場合を示している。また、図４では、一例として、タイマ値ＴＭのクロックと、測定トリガＭＴの測定周期タイマ値のクロックとを同期させて示している。また、以下の説明における「タイミングＴＭ１，ＴＭ２，ＴＭ１１〜ＴＭ１４」とは、タイマ値ＴＭを示すものではなく、任意のタイミングを意味するものである。同様に、図４に示す「ＴＭ１，ＴＭ２」、及び後述する図６に示す「ＴＭ１１〜ＴＭ１４」の表記も、任意のタイミングを示している。
【００３０】
まず、図４に示すタイミングＴＭ１において、図２示す制御部４９は、タイムスタンプ部４３のプリスケーラー５１及びタイマ５３に初期化トリガＩＮＩＴを出力してリセットする。また、制御部４９は、初期化トリガＩＮＩＴの供給タイミングに合わせて、転送量カウンター４５のプリスケーラー６３及びカウンター６５に供給する測定トリガＭＴの信号レベルを変更する。カウンター６５は、それまで測定したデータ転送量ＣＴ１を含むビット列ＢＴ２を記憶部４７に出力し、データ転送量ＣＴのカウントを再開する。
【００３１】
次に、タイムスタンプ部４３は、タイマ値ＴＭが「３」のタイミングで、イベントＡを検出する。タイムスタンプ部４３は、タイマ値ＴＭと、イベントＡに応じたイベントフラグＩＦ１，ＩＦ２を合わせたビット列ＢＴ１を生成して記憶部４７に出力する。同様に、タイムスタンプ部４３は、タイマ値ＴＭが「ｎ−２」のタイミングでイベントＡを検出しイベントＡに応じたイベントフラグＩＦ１，ＩＦ２を合わせたビット列ＢＴ１を生成して記憶部４７に出力する。また、タイムスタンプ部４３は、タイマ値ＴＭが「ｎ＋２」のタイミングでイベントＢを検出し、イベントＢに応じたイベントフラグＩＦ１，ＩＦ２を合わせたビット列ＢＴ１を生成して記憶部４７に出力する。
【００３２】
また、制御部４９は、測定周期タイマ値の「ｎ−１」が終了するタイミングＴＭ２において、転送量カウンター４５のプリスケーラー６３及びカウンター６５に供給する測定トリガＭＴの信号レベルを変更する。カウンター６５は、それまで測定したデータ転送量ＣＴ２を含むビット列ＢＴ２を記憶部４７に出力し、データ転送量ＣＴのカウントを再開する。一方、測定トリガＭＴの周期に比べて初期化トリガＩＮＩＴの周期が長く設定されているため、制御部４９は、タイミングＴＭ２において、初期化トリガＩＮＩＴを出力しない。従って、タイムスタンプ部４３は、タイマ５３がリセットされないまま検出処理を継続する。
【００３３】
図５は、上記した図４における測定において、ＦＩＦＯ７２に記憶されるビット列ＢＴ１，ＢＴ２の状態を示している。図５に示すＦＩＦＯ７２は、図中の上部から新しいデータが入力され、下部から古いデータが出力される。また、ＦＩＦＯ７２は、メモリの各アドレス（アドレスＡＤ１〜ＡＤ１３など）に、ビット列ＢＴ１，ＢＴ２のビット幅に応じたデータが記憶可能に構成されている。ＦＩＦＯ７２は、例えば、図４におけるタイミングＴＭ１で転送量カウンター４５から記憶部４７に出力されたデータ転送量ＣＴ１を含むビット列ＢＴ２がメモリのアドレスＡＤ１に記憶される。アドレスＡＤ１に記憶されるデータは、図３（ｂ）で示したように、先頭ビットに「０」が設定され、次いでデータ転送量ＣＴ１のビット列が連続するデータである。
【００３４】
また、ＦＩＦＯ７２は、アドレスＡＤ１の次のアドレスＡＤ２には、図４におけるタイマ値ＴＭが「３」の際に検出されたイベントＡに応じたイベントフラグＩＦ１，ＩＦ２のデータを含むビット列ＢＴ１が記憶される。アドレスＡＤ２に記憶されるデータは、図３（ａ）で示したように、先頭ビットに「１」が設定され、次いでイベントＡに応じたイベントフラグＩＦ１，ＩＦ２（例えば、「０００００００１」の８ビットのデータ）が連続し、次いでイベントＡを検出した際のタイマ値ＴＭである「３」に応じたビット値が連続するデータである。同様に、ＦＩＦＯ７２は、連続するアドレスＡＤ１１，ＡＤ１２，ＡＤ１３に、図４で示した各タイミングに応じたビット列ＢＴ１、ビット列ＢＴ２、ビット列ＢＴ１が記憶される。なお、アドレスＡＤ１３に記憶されるデータは、タイマ値ＴＭが「Ｎ＋２」の際に検出されたイベントＢに応じたイベントフラグＩＦ１，ＩＦ２（例えば、「００００００１０」の８ビットのデータ）が設定されている。
【００３５】
本実施形態の観測回路４１は、例えば、図１に示すメモリ共有システム１０を含む電子機器（例えば遊技機）に組み込まれ、遊技機が遊技の進行に合わせて画像等の再生制御を行っている一方で、ＦＩＦＯ７２にイベントの情報とデータ転送量ＣＴとを順次記憶していく。従って、観測回路４１は、ＦＩＦＯ７２に記憶されたデータを外部ストレージ等に出力することで、後から画像等の再生制御中の電子機器の状態を確認することが可能となる。
【００３６】
さらに、本実施形態の観測回路４１は、ＦＩＦＯ７２に順次記憶したデータを適宜表示装置等に出力することで、画像等の再生制御中において電子機器の状態をほぼリアルタイムに示すことが可能となる。これにより、電子機器の設計者等は、表示されたデータに従って、図１に示すメモリ３５に対するアクセスが集中することにより、正しく画像が表示されない状態が発生した際に、その不具合の要因となったイベントを特定することができる。そして、設計者は、特定したイベントの種類に従って、各マスタモジュール３１〜３３で実行されるプログラムの内容や処理タイミング等を改善することで、上記した不具合を容易に解消することが可能となる。
【００３７】
図６は、例えば、マスタモジュール３２の観測を行った観測回路４１が記憶したデータをビジュアル化したものを示している。図６に示す表示において、上段には、タイマ値ＴＭと測定周期タイマ値とが示されている。中段には、各イベントを検出したタイミングに合わせてマーク８１，８２が示されている。マーク８１は、ソフトウェアイベントＡ〜Ｚの各々の発生タイミングを示している。マーク８２は、ハードウェアイベントＡ〜Ｚの各々の発生タイミングを示している。下段には、測定トリガＭＴの出力の１周期ごと（図中のタイミングＴＭ１１〜ＴＭ１４各々の間の期間）におけるデータ転送量ＣＴが示されている。
【００３８】
例えば、タイミングＴＭ１１とタイミングＴＭ１２との間では、データ転送量ＣＴが、規定値８５を超えており、メモリ３５（図１参照）に対するアクセスが過剰に集中していることがわかる。このため、設計者は、例えば、タイミングＴＭ１１とタイミングＴＭ１２との間に発生したイベント、あるいはタイミングＴＭ１１より前に発生したイベントの種類をマーク８１，８２から判断する。そして、設計者は、アクセス集中の要因となっていたイベントの発生タイミングをずらすなどの改善を行うことで、アクセス集中の緩和を図ることが可能となる。
【００３９】
なお、観測回路４１は、例えば、図６の下段に示す増加グラフ８９のように、測定トリガＭＴの出力間隔をより短くし、イベントの発生頻度に対する分解能を高めることで、データ転送量ＣＴの増加の様子をより詳細に示すことが可能となる。設計者は、このような階段状に増加する増加グラフ８９を参照することで、各イベントとデータ転送量ＣＴの増加との相関関係をより詳細に判断することが可能となる。なお、このような分解能は、システムのパフォーマンスに応じて変更することが好ましい。
【００４０】
以上、上記した実施形態によれば、以下の効果を奏する。
（１）観測回路４１のタイムスタンプ部４３は、複数のマスタモジュール３１〜３３の各々に発生するイベントを検出する。転送量カウンター４５は、複数のマスタモジュール３１〜３３が接続されたメモリ３５に対するデータ転送を制御するメモリコントローラ２０におけるデータ転送量を測定する。記憶部４７は、タイムスタンプ部４３が検出したイベントに関する情報であるビット列ＢＴ１と、転送量カウンター４５が測定したデータ転送量ＣＴを含むビット列ＢＴ２とが発生した順番に記憶される。このような構成では、記憶部４７には、ビット列ＢＴ１（イベント）とビット列ＢＴ２（データ転送量ＣＴ）とが時系列に沿って記憶されるため、記憶部４７に記憶されたデータに基づいて、データ転送量ＣＴと発生したイベントとの関係を容易に解析することが可能となる。
【００４１】
（２）タイムスタンプ部４３は、所定のクロックでタイマ値ＴＭを出力するタイマ５３を備え、検出したイベントごとのタイマ値ＴＭを、当該イベントに係る情報（イベントフラグＩＦ１，ＩＦ２）と併せて記憶部４７に出力する。このような構成では、記憶部４７に記憶されたタイマ値ＴＭをキーとしてイベント及びデータ転送量ＣＴを比較、表示等することができ、解析の精度を向上させることが可能となる。
【００４２】
（３）タイムスタンプ部４３が生成するビット列ＢＴ１と、転送量カウンター４５が生成するビット列ＢＴ２とは、ビット幅が同一であり（図５参照）、互いの情報を識別する識別情報ＩＤ１，ＩＤ２が先頭ビットに設定されている。観測回路４１は、ビット列ＢＴ１，ＢＴ２のビット幅を揃えることによって、ＦＩＦＯ７２への記憶処理が容易となる。また、観測回路４１によりビット列ＢＴ１，ＢＴ２の各々に識別情報ＩＤ１，ＩＤ２が付加されることにより、ＦＩＦＯ７２のデータを処理する後段の回路は、読み出したデータの取り扱いが容易となる。
【００４３】
（４）観測回路４１は、イベントの検出及びデータ転送量ＣＴの測定を行いながら、記憶部４７のＦＩＦＯ７２に記憶されたデータを出力する処理を並列的に実行する。当該観測回路４１では、ＦＩＦＯ７２のデータを適宜表示装置等に出力することで、観測対象であるメモリ共有システム１０の動作中において、その状態をリアルタイムに観測することが可能となる。
【００４４】
尚、本発明は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、本願における記憶手段は、ＦＩＦＯ形式のメモリに限らず、例えばリングバッファでもよい。
上記実施形態では、本願のスレーブモジュールとしてメモリ３５を適用したが、他の共有可能なリソースを対象としてもよい。
上記実施形態におけるマスタモジュール３１〜３３の数や各マスタモジュール３１〜３３の機能は一例であり適宜変更される。
【００４５】
ちなみに、メモリコントローラ２０は、アクセスコントローラの一例である。メモリ３５は、スレーブモジュールの一例である。タイムスタンプ部４３は、検出手段の一例である。転送量カウンター４５は、転送量測定手段の一例である。記憶部４７は、記憶手段の一例である。タイマ値ＴＭは、時間情報の一例である。ビット列ＢＴ１は、第１ビット列の一例である。ビット列ＢＴ２は、第２ビット列の一例である。
【符号の説明】
【００４６】
２０  メモリコントローラ、３１〜３３  マスタモジュール、３５  メモリ、４３  タイムスタンプ部、４５  転送量カウンター、４７  記憶部、ＣＴ，ＣＴ１，ＣＴ２  データ転送量、ＢＴ１，ＢＴ２  ビット列。
【図１】
0006365043.tif 000002
【図２】
0006365043.tif 000003
【図３】
0006365043.tif 000004
【図４】
0006365043.tif 000005
【図５】
0006365043.tif 000006
【図６】
0006365043.tif 000007