特許第6365043号(P6365043)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

<>
  • 特許6365043-観測回路 図000002
  • 特許6365043-観測回路 図000003
  • 特許6365043-観測回路 図000004
  • 特許6365043-観測回路 図000005
  • 特許6365043-観測回路 図000006
  • 特許6365043-観測回路 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6365043
(24)【登録日】2018年7月13日
(45)【発行日】2018年8月1日
(54)【発明の名称】観測回路
(51)【国際特許分類】
   G06F 13/362 20060101AFI20180723BHJP
   G06F 13/00 20060101ALI20180723BHJP
【FI】
   G06F13/362 520C
   G06F13/00 301C
【請求項の数】4
【全頁数】12
(21)【出願番号】特願2014-144815(P2014-144815)
(22)【出願日】2014年7月15日
(65)【公開番号】特開2016-21165(P2016-21165A)
(43)【公開日】2016年2月4日
【審査請求日】2017年5月24日
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】110000992
【氏名又は名称】特許業務法人ネクスト
(72)【発明者】
【氏名】田内 秀和
【審査官】 田名網 忠雄
(56)【参考文献】
【文献】 特開2006−119998(JP,A)
【文献】 特開昭56−162161(JP,A)
【文献】 国際公開第2011/065354(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/30−11/34
G06F 13/00−13/14
G06F 13/20−13/378
(57)【特許請求の範囲】
【請求項1】
スタモジュールに発生するイベントを検出する検出手段と、
記マスタモジュールとスレーブモジュールとの間のデータ転送を制御するアクセスコントローラにおける前記マスタモジュールのデータ転送量を測定周期ごとに測定し、測定した前記データ転送量を前記測定周期の終わりに応じて出力する転送量測定手段と、
前記検出手段が検出したイベントと、前記転送量測定手段が測定したデータ転送量とを発生した順番に記憶する記憶手段と、
を備えることを特徴とする観測回路。
【請求項2】
前記検出手段は、検出した前記イベントごとの時間情報を、当該イベントに係る情報と併せて前記記憶手段に出力することを特徴とする請求項1に記載の観測回路。
【請求項3】
前記検出手段がイベントの検出に応じて生成する第1ビット列と、前記転送量測定手段がデータ転送量の測定に応じて生成する第2ビット列とのビット幅が同一であり、
前記記憶手段は、前記第1ビット列及び前記第2ビット列と同一の前記ビット幅で、前記第1ビット列及び前記第2ビット列を、FIFO(First In First Out)形式で記憶し、
前記第1及び第2ビット列は、互いの情報を識別する識別情報を備えることを特徴とする請求項1又は請求項2に記載の観測回路。
【請求項4】
前記イベントの検出及び前記データ転送量の測定を行いながら、前記記憶手段に記憶されたデータを出力する処理を並列的に実行することを特徴とする請求項1乃至請求項3のいずれかに記載の観測回路。
【発明の詳細な説明】
【技術分野】
【0001】
本願に開示の技術は、マスタモジュールと、スレーブモジュールとの間のデータ転送を観測する回路に関するものである。
【背景技術】
【0002】
従来、画像表示や音声出力などの処理時間に制限がある処理において、これらの処理を決まったタイミングまでに完了させるために、プログラムによるデータ転送のタイミング等を改善して処理動作の向上を図ることが考えられている。例えば、特許文献1には、観測対象のコンピュータシステムとは別に設けた解析用のコンピュータを、観測対象となるコンピュータシステムに外部から接続して観測する技術が開示されている。特許文献1に開示されるシステムでは、解析用のコンピュータを用いて観測対象のコンピュータシステム内のメモリバスのバス情報を取り出してデータ転送量の解析を行っている。
【0003】
また、上記したデータ転送量の観測結果から特定のリソース、例えば、共有メモリへのアクセスが集中することが判明した場合には、そのアクセス集中がどのようなソフトウェアやハードウェアのイベントに起因して発生しているのかを知る必要が生じる。これは、アクセス集中とイベントとの因果関係が判明すれば、イベントの発生タイミング等を分散させてアクセス集中の改善を図るなどの対策が行えるからである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−283226号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に示すシステムでは、観測結果のデータ転送量と、発生したイベントとの関係を知りたい場合には、データ転送量を検出した時間情報と、イベントが発生した時間情報との照合を行う必要があり、解析する処理手順が複雑となり、システムの改善を図るために多大な時間と労力を要する。
【0006】
本願に開示される技術は、上記の課題に鑑み提案されたものである。イベントの発生とデータ転送量との関係が容易に解析できる観測回路を提供することを目的とする。
【課題を解決するための手段】
【0007】
本願に開示される技術に係る観測回路は、スタモジュールに発生するイベントを検出する検出手段と、スタモジュールとスレーブモジュールとの間のデータ転送を制御するアクセスコントローラにおけるマスタモジュールのデータ転送量を測定周期ごとに測定し、測定したデータ転送量を測定周期の終わりに応じて出力する転送量測定手段と、検出手段が検出したイベントと、転送量測定手段が測定したデータ転送量とを発生した順番に記憶する記憶手段と、を備えることを特徴とする。
【0008】
当該観測回路では、検出手段が、スタモジュールに発生するイベントを検出する。このイベントは、例えば、マスタモジュールにおいて発生するソフトウェアイベント及びハードウェアイベントである。転送量測定手段は、スタモジュールに接続されたスレーブモジュールに対するデータ転送を制御するアクセスコントローラにおけるデータ転送量を測定周期ごとに測定し、測定したデータ転送量を測定周期の終わりに応じて出力する。そして、記憶手段には、検出手段が検出したイベントと、転送量測定手段が測定したデータ転送量とが発生した順番に、即ち、時系列に沿って記憶される。このような構成では、記憶手段にはイベントとデータ転送量とが時系列に沿って記憶されるため、記憶手段に記憶されたデータに基づいて、データ転送量と発生したイベントとの関係を容易に解析することが可能となる。
【0009】
また、本願に開示される技術に係る観測回路において、検出手段は、検出したイベントごとの時間情報を、当該イベントに係る情報と併せて記憶手段に出力する構成としてもよい。このような構成では、検出手段が記憶手段に出力した時間情報をキーとしてイベント及びデータ転送量を比較、表示等することができ、解析の精度を向上させることが可能となる。
【0010】
また、本願に開示される技術に係る観測回路において、検出手段がイベントの検出に応じて生成する第1ビット列と、転送量測定手段がデータ転送量の測定に応じて生成する第2ビット列とのビット幅が同一であり、記憶手段は、第1ビット列及び第2ビット列と同一のビット幅で、第1ビット列及び第2ビット列を、FIFO(First In First Out)形式で記憶し、第1及び第2ビット列は、互いの情報を識別する識別情報を備える構成としてもよい。
【0011】
当該観測回路では、イベントに関するデータである第1ビット列と、データ転送量に関するデータである第2ビット列とのビット幅を揃えることによって、例えば、FIFO形式のメモリに順次出力し容易に時系列に沿って記憶することが可能となる。また、当該観測回路によれば、第1及び第2ビット列の各々に識別情報を付加することにより、記憶手段から読み出したデータの取り扱いが容易となる。
【0012】
また、本願に開示される技術に係る観測回路において、イベントの検出及びデータ転送量の測定を行いながら、記憶手段に記憶されたデータを出力する処理を並列的に実行する構成としてもよい。当該観測回路では、記憶手段に順次記憶したデータを適宜表示装置等に出力することで、観測対象のシステム等の動作中において当該システムの状態をリアルタイムに観測することが可能となる。
【発明の効果】
【0013】
本願に開示される技術によれば、イベントの発生とデータ転送量との関係が容易に解析できる観測回路を提供することができる。
【図面の簡単な説明】
【0014】
図1】実施形態の観測回路の観測対象であるメモリ共有システムの構成を示すブロック図である。
図2】観測回路の構成を示すブロック図である。
図3】(a)は、タイムスタンプ部が出力するビット列のフォーマットであり、(b)は、転送量カウンターが出力するビット列のフォーマットを示す図である。
図4】タイムスタンプ部によるイベント検出と、転送量カウンターによるデータ転送量の測定との関係を示す図である。
図5】FIFOに記憶されたデータを説明するための図である。
図6】観測回路の出力データを用いた表示画面を示す図である。
【発明を実施するための形態】
【0015】
以下、本発明を具体化した一実施形態について添付図面を参照しながら説明する。図1は、本発明の観測回路の観測対象であるメモリコントローラ20を含むメモリ共有システム10の構成例を示している。メモリ共有システム10は、例えば遊技機などの電子機器に組み込まれ、遊技の進行に合わせて画像や音声の再生制御を行うものである。メモリコントローラ20には、マスタモジュール31,32,33と、スレーブモジュールとしてメモリ35が接続されている。メモリ35は、RAMなどで構成されており、メモリ共有システム10を含む電子機器の主記憶装置として機能する。メモリコントローラ20は、マスタモジュール31〜33の各々と、メモリ35との間のデータ転送(メモリ35からマスタモジュール31〜33各々へのデータの読み出し、或いは、マスタモジュール31〜33の各々からメモリ35へのデータの書き込み)を制御するアクセスコントローラである。
【0016】
マスタモジュール31〜33の各々は、例えば、電子機器のホストCPU(図示略)による制御の下、メモリ35に格納されているデータの読み出し、或いはメモリ35へのデータの書き込みを行う。メモリコントローラ20は、3つのポート21〜23を有している。本実施形態では、ポート21にはマスタモジュール31が、ポート22にはマスタモジュール32が、ポート23にはマスタモジュール33が接続されている。
【0017】
3つのマスタモジュール31〜33は、互いに異なる役割を担っている。例えば、マスタモジュール31は、データ転送機能を担い、大容量ROMなどの補助記憶装置(図示略)に格納されている各種データを読み出し、メモリ35へ転送する。本実施形態にて大容量ROMからメモリ35へ転送されるデータの一例としては、遊技の進行の各タイミングに合わせて一定のフレームレート(例えば、60FPS(Frames Per Second))で再生される各画像の画像データに圧縮符号化を施して得られる圧縮符号化データなどが挙げられる。このマスタモジュール31は、各タイミングにて再生する画像や音声に対応するデータを、そのタイミングの開始前に予めメモリ35へ転送しておく役割を担う。なお、マスタモジュール31は、次のタイミングにて再生される画像や音声に対応するデータの全部又は一部が、既にメモリ35に格納されている場合には、当該格納済みのデータに関して上記転送を再度実行しない。従って、マスタモジュール31が実行するデータ転送は、例えば、必要に応じて随時行われ、かつ、転送データ量もその時々に異なりえる非周期的なデータ転送である。
【0018】
マスタモジュール32は、例えば、画像処理機能を担う。このマスタモジュール32は、マスタモジュール31によってメモリ35へ転送された画像の圧縮符号化データを読み出してデコードするデコーダと、そのデコード結果の画像データに応じた画像の描画制御を行う描画制御回路とを含んでいる。また、マスタモジュール33は、音声処理機能を担い、マスタモジュール31によってメモリ35へ転送された音声データを読み出し、その音声データに応じた音声を音として出力する処理を実行する。従って、マスタモジュール32,33によるデータ転送は、例えば、フレームレート等に応じて周期的に実行されるデータ転送である。
【0019】
マスタモジュール31〜33の各々は、メモリ35との間でデータ転送を行う場合、例えば、アクセス要求をメモリコントローラ20に送信し、メモリコントローラ20からアクセス許可を受信すると、そのデータ転送を開始するように構成されている。マスタモジュール31〜33の各々には、予め優先順位が付けられている。一例として、マスタモジュール31の優先順位が最も高く、次いでマスタモジュール33の優先順位が高く、マスタモジュール32の優先順位が最も低いといった具合である。複数のマスタモジュール31〜33の各々からのアクセス要求が競合した場合には、メモリコントローラ20は、マスタモジュール31〜33の各々に設定した優先順位にしたがって調停が行われる。そして、メモリコントローラ20による調停の結果、アクセス許可を与えられなかったマスタモジュールは、アクセス許可が与えられるまで一定の時間間隔でアクセス要求を送信する処理を繰り返すように構成されている。また、マスタモジュール31〜33の各々は、データ転送の停止を指示する旨の信号をメモリコントローラ20から受信すると、停止解除を指示する旨の信号をメモリコントローラ20から受信するまで、アクセス要求の送信を停止するように構成されている。なお、上記した各マスタモジュール31〜33のメモリ35に対するアクセス制御の方法は、一例であり、適宜変更してもよい。
【0020】
上記したように、マスタモジュール31とメモリ35との間のデータ転送は、必要に応じて随時行われる非周期的なデータ転送である。一方で、マスタモジュール32,33とメモリ35との間のデータ転送は、一定のフレームレート等に応じた周期で実行される周期的なデータ転送である。ここで、例えば、マスタモジュール32は、画像の描画処理とデコード処理とが同時期に実行された場合に、画像の描画処理のデータ転送に十分な帯域を確保することができず、その実行が妨げられる虞がある。つまり、マスタモジュール32のメモリ35に対するアクセスが集中することにより、画像の描画が遅延する可能性がある。あるいは、マスタモジュール32は、他の優先度が高いマスタモジュール31による非周期的なデータ転送が無条件に行われてしまう場合にも、画像の描画が遅延する可能性がある。このようなアクセスの集中を、事前に全て把握することは難しく、実際にシステムを動作させた後にどのような要因(マスタモジュール31〜33の各々が実行するイベント)によるものかを検証する必要が生じる。例えば、正しく画像が描画されない原因が、マスタモジュール32によるデコードの処理量が多かったのか、描画処理の処理量が多かったのかを判定することは容易ではない。これに対し、本実施形態の観測回路は、マスタモジュール31〜33の各々のメモリ35に対するデータ転送量と、そのデータ転送の際に発生しているイベントとを時系列に沿って記憶しておくことで、メモリ35に対するアクセスの集中の緩和を行うための解析及び設計変更を容易にするものである。
【0021】
次に、本実施形態の観測回路について図2を参照しながら説明する。図2に示す観測回路41は、例えば、メモリコントローラ20内に内蔵される回路として構成される。なお、観測回路41は、メモリコントローラ20とは別の装置として実装してもよい。観測回路41は、タイムスタンプ部43と、転送量カウンター45と、記憶部47と、制御部49とを備える。タイムスタンプ部43は、マスタモジュール31〜33の各々に発生するソフトウェアイベント及びハードウェアイベントを検出し、タイマ値と合わせて記憶部47に出力する。この観測回路41は、例えば、マスタモジュール31〜33の各々、例えば、各マスタモジュール31〜33が接続されるメモリコントローラ20のポート21〜23ごとに設けられる。以下の説明では、一例として、画像の描画処理を行うマスタモジュール32が接続されるポート22に対応する観測回路41について説明する。なお、観測回路41は、全てのマスタモジュール31〜33(全ポート21〜23)をまとめて観測する一つの回路として設けてもよい。
【0022】
タイムスタンプ部43は、プリスケーラー51と、タイマ53と、フラグ設定部55,57と、ビット列生成部59とを有する。タイムスタンプ部43は、タイマ53が出力するタイマ値TMに同期して2つのフラグ設定部55,57が並列動作する。プリスケーラー51は、タイマ53の前段に配置され、入力される信号(例えば、システムクロック)を所定の分周比で分周した信号S1をタイマ53に出力する。プリスケーラー51は、例えば、観測回路41の起動時又はリセット時にメモリ等に記憶された分周比の設定値が読み込まれ分周比が設定される。従って、タイマ53のカウント値の上限は、プリスケーラー51の分周比の設定値に応じて変更される。また、プリスケーラー51及びタイマ53は、制御部49から初期化トリガINITが入力されるとリセットされた上で、その後、カウントを再開する動作を行う。
【0023】
フラグ設定部55は、マスタモジュール32に発生したソフトウェアイベントが入力される。例えば、マスタモジュール32は、所定の処理(コマンドなど)を実行するごとに、そのソフトウェアイベントの種類に応じた値を、フラグ設定部55に記憶されるイベントフラグIF1に設定する。また、フラグ設定部57は、マスタモジュール32に発生したハードウェアイベント(例えば、デコード処理の開始や終了など)が入力され、ハードウェアイベントに応じた値がイベントフラグIF2に設定される。例えば、マスタモジュール32は、ハードウェア割込みのイベントが発生し所定の割込みハンドラが起動されると、そのイベントの種類に応じた値をイベントフラグIF2に設定する。フラグ設定部55,57は、並列に動作し、タイマ値TMに同期してイベントフラグIF1,IF2をビット列生成部59に出力する。また、タイマ53は、タイマ値TMをビット列生成部59に出力する。なお、フラグ設定部55,57は、イベントが発生せずイベントフラグIF1,IF2が書き替えられない場合には、イベントフラグIF1,IF2を出力しない、あるいはゼロ値を出力する。
【0024】
ビット列生成部59は、入力されたタイマ値TM、イベントフラグIF1,IF2に応じたビット列BT1を生成して記憶部47に出力する。図3(a)は、ビット列生成部59が生成するビット列BT1のフォーマットの一例を示している。ビット列BT1は、イベントフラグIF1,IF2の後ろにタイマ値TMが追加されるとともに、先頭にタイムスタンプ部43の出力値であることを示す識別情報ID1が設定される。ビット列BT1におけるイベントフラグIF1,IF2を設定するための領域は、例えば、イベントの種類の数に応じたビット幅が確保されている(図5参照)。ビット列生成部59は、フラグ設定部55,57から入力されたイベントフラグIF1,IF2の値に応じて、対応するビット値を設定する。なお、ビット列BT1の識別情報ID1は、一例としてビット値「1」が設定されている。
【0025】
次に、転送量カウンター45について説明する。転送量カウンター45は、検出部61と、プリスケーラー63と、カウンター65とを有する。検出部61は、マスタモジュール32とポート22(図1参照)とが接続される内部バスで発生した転送イベントを検出し、検出するごとにその旨を示す信号S2をプリスケーラー63に出力する。プリスケーラー63は、カウンター65の前段に配置され、入力される信号S2を所定の分周比で分周した信号S3をカウンター65に出力する。従って、転送イベントの発生回数に対してカウンター65がカウントアップする回数は、プリスケーラー63の分周比を設定することで変更される。カウンター65は、カウントとした値を転送量として記憶部47に出力する。図3(b)は、カウンター65が生成するビット列BT2のフォーマットの一例を示している。ビット列BT2は、データ転送量(カウント値)CTの前に転送量カウンター45の出力値であることを示す識別情報ID2が設定されている。識別情報ID2は、一例としてビット値「0」が設定される。また、ビット列BT2のビット幅は、ビット列生成部59から出力されるビット列BT1のビット幅と同一となっている。
【0026】
また、プリスケーラー63及びカウンター65には、制御部49が備える測定周期タイマ(図示略)から測定トリガMTが供給される。プリスケーラー63及びカウンター65は、例えば、測定トリガMTの信号レベルが変更されると、ビット列BT2を記憶部47に出力するとともに、それまでの測定値をゼロにリセットし、その後、データ転送量CTのカウントを再開する。このようにして転送量カウンター45は、測定トリガMTにおけるマスタモジュール32とメモリ35とのデータ転送量CTをカウントする。測定トリガMTの発生周期は、例えば、512μsである。転送量カウンター45は、フレームレートが60FPS(1フレームが16ms)であれば、1フレームの間に32回転送量を測定し、出力することとなる。
【0027】
記憶部47は、マルチプレクサ(以下、「MUX」という)71と、FIFO(First In First Out)形式のメモリ(以下、「FIFO」という)72とを備える。タイムスタンプ部43から出力されるビット列BT1と、転送量カウンター45から出力されるビット列BT2とは、記憶部47のMUX71に入力される。MUX71は、所定のタイミングに従ってタイムスタンプ部43及び転送量カウンター45の出力を選択し、入力されたビット列BT1,BT2をFIFO72に順次出力する。
【0028】
FIFO72は、RAM(Random Access Memory)などにより構成される先入れ先出し形式のバッファであり、ビット列BT1,BT2のビット幅に応じたデータを順次記憶できる(図5参照)。FIFO72は、MUX71から出力されるビット列BT1,BT2を順次記憶し、古いものから順に観測結果として出力する。
【0029】
次に、観測回路41の動作状態について図4及び図5を参照して説明する。図4は、タイムスタンプ部43によるイベント検出と、転送量カウンター45によるデータ転送量CTの測定との関係を示している。なお、測定トリガMTの発生タイミングと、初期化トリガINITの発生タイミングとは、制御部49が独立に制御可能である。図4では、一例として、測定トリガMTと初期化トリガINITが、同時に制御部49から出力される場合を示している。また、図4では、一例として、タイマ値TMのクロックと、測定トリガMTの測定周期タイマ値のクロックとを同期させて示している。また、以下の説明における「タイミングTM1,TM2,TM11〜TM14」とは、タイマ値TMを示すものではなく、任意のタイミングを意味するものである。同様に、図4に示す「TM1,TM2」、及び後述する図6に示す「TM11〜TM14」の表記も、任意のタイミングを示している。
【0030】
まず、図4に示すタイミングTM1において、図2示す制御部49は、タイムスタンプ部43のプリスケーラー51及びタイマ53に初期化トリガINITを出力してリセットする。また、制御部49は、初期化トリガINITの供給タイミングに合わせて、転送量カウンター45のプリスケーラー63及びカウンター65に供給する測定トリガMTの信号レベルを変更する。カウンター65は、それまで測定したデータ転送量CT1を含むビット列BT2を記憶部47に出力し、データ転送量CTのカウントを再開する。
【0031】
次に、タイムスタンプ部43は、タイマ値TMが「3」のタイミングで、イベントAを検出する。タイムスタンプ部43は、タイマ値TMと、イベントAに応じたイベントフラグIF1,IF2を合わせたビット列BT1を生成して記憶部47に出力する。同様に、タイムスタンプ部43は、タイマ値TMが「n−2」のタイミングでイベントAを検出しイベントAに応じたイベントフラグIF1,IF2を合わせたビット列BT1を生成して記憶部47に出力する。また、タイムスタンプ部43は、タイマ値TMが「n+2」のタイミングでイベントBを検出し、イベントBに応じたイベントフラグIF1,IF2を合わせたビット列BT1を生成して記憶部47に出力する。
【0032】
また、制御部49は、測定周期タイマ値の「n−1」が終了するタイミングTM2において、転送量カウンター45のプリスケーラー63及びカウンター65に供給する測定トリガMTの信号レベルを変更する。カウンター65は、それまで測定したデータ転送量CT2を含むビット列BT2を記憶部47に出力し、データ転送量CTのカウントを再開する。一方、測定トリガMTの周期に比べて初期化トリガINITの周期が長く設定されているため、制御部49は、タイミングTM2において、初期化トリガINITを出力しない。従って、タイムスタンプ部43は、タイマ53がリセットされないまま検出処理を継続する。
【0033】
図5は、上記した図4における測定において、FIFO72に記憶されるビット列BT1,BT2の状態を示している。図5に示すFIFO72は、図中の上部から新しいデータが入力され、下部から古いデータが出力される。また、FIFO72は、メモリの各アドレス(アドレスAD1〜AD13など)に、ビット列BT1,BT2のビット幅に応じたデータが記憶可能に構成されている。FIFO72は、例えば、図4におけるタイミングTM1で転送量カウンター45から記憶部47に出力されたデータ転送量CT1を含むビット列BT2がメモリのアドレスAD1に記憶される。アドレスAD1に記憶されるデータは、図3(b)で示したように、先頭ビットに「0」が設定され、次いでデータ転送量CT1のビット列が連続するデータである。
【0034】
また、FIFO72は、アドレスAD1の次のアドレスAD2には、図4におけるタイマ値TMが「3」の際に検出されたイベントAに応じたイベントフラグIF1,IF2のデータを含むビット列BT1が記憶される。アドレスAD2に記憶されるデータは、図3(a)で示したように、先頭ビットに「1」が設定され、次いでイベントAに応じたイベントフラグIF1,IF2(例えば、「00000001」の8ビットのデータ)が連続し、次いでイベントAを検出した際のタイマ値TMである「3」に応じたビット値が連続するデータである。同様に、FIFO72は、連続するアドレスAD11,AD12,AD13に、図4で示した各タイミングに応じたビット列BT1、ビット列BT2、ビット列BT1が記憶される。なお、アドレスAD13に記憶されるデータは、タイマ値TMが「N+2」の際に検出されたイベントBに応じたイベントフラグIF1,IF2(例えば、「00000010」の8ビットのデータ)が設定されている。
【0035】
本実施形態の観測回路41は、例えば、図1に示すメモリ共有システム10を含む電子機器(例えば遊技機)に組み込まれ、遊技機が遊技の進行に合わせて画像等の再生制御を行っている一方で、FIFO72にイベントの情報とデータ転送量CTとを順次記憶していく。従って、観測回路41は、FIFO72に記憶されたデータを外部ストレージ等に出力することで、後から画像等の再生制御中の電子機器の状態を確認することが可能となる。
【0036】
さらに、本実施形態の観測回路41は、FIFO72に順次記憶したデータを適宜表示装置等に出力することで、画像等の再生制御中において電子機器の状態をほぼリアルタイムに示すことが可能となる。これにより、電子機器の設計者等は、表示されたデータに従って、図1に示すメモリ35に対するアクセスが集中することにより、正しく画像が表示されない状態が発生した際に、その不具合の要因となったイベントを特定することができる。そして、設計者は、特定したイベントの種類に従って、各マスタモジュール31〜33で実行されるプログラムの内容や処理タイミング等を改善することで、上記した不具合を容易に解消することが可能となる。
【0037】
図6は、例えば、マスタモジュール32の観測を行った観測回路41が記憶したデータをビジュアル化したものを示している。図6に示す表示において、上段には、タイマ値TMと測定周期タイマ値とが示されている。中段には、各イベントを検出したタイミングに合わせてマーク81,82が示されている。マーク81は、ソフトウェアイベントA〜Zの各々の発生タイミングを示している。マーク82は、ハードウェアイベントA〜Zの各々の発生タイミングを示している。下段には、測定トリガMTの出力の1周期ごと(図中のタイミングTM11〜TM14各々の間の期間)におけるデータ転送量CTが示されている。
【0038】
例えば、タイミングTM11とタイミングTM12との間では、データ転送量CTが、規定値85を超えており、メモリ35(図1参照)に対するアクセスが過剰に集中していることがわかる。このため、設計者は、例えば、タイミングTM11とタイミングTM12との間に発生したイベント、あるいはタイミングTM11より前に発生したイベントの種類をマーク81,82から判断する。そして、設計者は、アクセス集中の要因となっていたイベントの発生タイミングをずらすなどの改善を行うことで、アクセス集中の緩和を図ることが可能となる。
【0039】
なお、観測回路41は、例えば、図6の下段に示す増加グラフ89のように、測定トリガMTの出力間隔をより短くし、イベントの発生頻度に対する分解能を高めることで、データ転送量CTの増加の様子をより詳細に示すことが可能となる。設計者は、このような階段状に増加する増加グラフ89を参照することで、各イベントとデータ転送量CTの増加との相関関係をより詳細に判断することが可能となる。なお、このような分解能は、システムのパフォーマンスに応じて変更することが好ましい。
【0040】
以上、上記した実施形態によれば、以下の効果を奏する。
(1)観測回路41のタイムスタンプ部43は、複数のマスタモジュール31〜33の各々に発生するイベントを検出する。転送量カウンター45は、複数のマスタモジュール31〜33が接続されたメモリ35に対するデータ転送を制御するメモリコントローラ20におけるデータ転送量を測定する。記憶部47は、タイムスタンプ部43が検出したイベントに関する情報であるビット列BT1と、転送量カウンター45が測定したデータ転送量CTを含むビット列BT2とが発生した順番に記憶される。このような構成では、記憶部47には、ビット列BT1(イベント)とビット列BT2(データ転送量CT)とが時系列に沿って記憶されるため、記憶部47に記憶されたデータに基づいて、データ転送量CTと発生したイベントとの関係を容易に解析することが可能となる。
【0041】
(2)タイムスタンプ部43は、所定のクロックでタイマ値TMを出力するタイマ53を備え、検出したイベントごとのタイマ値TMを、当該イベントに係る情報(イベントフラグIF1,IF2)と併せて記憶部47に出力する。このような構成では、記憶部47に記憶されたタイマ値TMをキーとしてイベント及びデータ転送量CTを比較、表示等することができ、解析の精度を向上させることが可能となる。
【0042】
(3)タイムスタンプ部43が生成するビット列BT1と、転送量カウンター45が生成するビット列BT2とは、ビット幅が同一であり(図5参照)、互いの情報を識別する識別情報ID1,ID2が先頭ビットに設定されている。観測回路41は、ビット列BT1,BT2のビット幅を揃えることによって、FIFO72への記憶処理が容易となる。また、観測回路41によりビット列BT1,BT2の各々に識別情報ID1,ID2が付加されることにより、FIFO72のデータを処理する後段の回路は、読み出したデータの取り扱いが容易となる。
【0043】
(4)観測回路41は、イベントの検出及びデータ転送量CTの測定を行いながら、記憶部47のFIFO72に記憶されたデータを出力する処理を並列的に実行する。当該観測回路41では、FIFO72のデータを適宜表示装置等に出力することで、観測対象であるメモリ共有システム10の動作中において、その状態をリアルタイムに観測することが可能となる。
【0044】
尚、本発明は上記実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内での種々の改良、変更が可能であることは言うまでもない。
例えば、本願における記憶手段は、FIFO形式のメモリに限らず、例えばリングバッファでもよい。
上記実施形態では、本願のスレーブモジュールとしてメモリ35を適用したが、他の共有可能なリソースを対象としてもよい。
上記実施形態におけるマスタモジュール31〜33の数や各マスタモジュール31〜33の機能は一例であり適宜変更される。
【0045】
ちなみに、メモリコントローラ20は、アクセスコントローラの一例である。メモリ35は、スレーブモジュールの一例である。タイムスタンプ部43は、検出手段の一例である。転送量カウンター45は、転送量測定手段の一例である。記憶部47は、記憶手段の一例である。タイマ値TMは、時間情報の一例である。ビット列BT1は、第1ビット列の一例である。ビット列BT2は、第2ビット列の一例である。
【符号の説明】
【0046】
20 メモリコントローラ、31〜33 マスタモジュール、35 メモリ、43 タイムスタンプ部、45 転送量カウンター、47 記憶部、CT,CT1,CT2 データ転送量、BT1,BT2 ビット列。
図1
図2
図3
図4
図5
図6