(57)【要約】  選択されたアドレスで読取り可能にかつ書込み可能に適応された、少なくとも１つのスレーブ（ＳＬｊ）と共働する少なくとも１つのマスタ（Ｍ１、Ｍ２、Ｍ３）を有するコンピュータ・システム（ＣＳ）内に、デバッグおよび／またはトレース専用のためにインターフェイス装置（Ｄ）が設けられ、各マスタはタクスを実行し、読取りおよび／または書込みの目的でスレーブ・アドレスを配信するように適応される。このインターフェイス装置（Ｄ）は、ｉ）１つのマスタが実行するタスクを表すデータを記憶するために各メモリが該マスタに割り当てられる第１のＦＩＦＯメモリ（ＳＭｉ）のグループと、ｉｉ）、相互におよび第１のＦＩＦＯメモリ（ＳＦｉ）にリンク可能である、動的に割振り可能な第２のＦＩＦＯメモリ（ＤＦｋ）のグループと、ｉｉｉ）マスタが実行しているタスクを考慮し、所与の時間に、各マスタによって必要とされるＦＩＦＯメモリのサイズを動的に計算し、対応する計算されたＦＩＦＯメモリのサイズに従って選択された、いくつかの第２のＦＩＦＯメモリ（ＤＦｋ）を各マスタに動的に割り振るように構成された処理手段（ＰＭ）を有する。
2008502974.tif 000002
【特許請求の範囲】
【請求項１】
選択されたアドレスで読取り可能にかつ書込み可能に適応された、少なくとも１つのスレーブと共働する少なくとも１つのマスタを有するコンピュータ・システムのためのインターフェイス装置であって、各マスタはタスクを実行し、かつ読取りおよび／または書込みの目的でスレーブ・アドレスを配信するように適応され、複数のマスタの実行したタスクを表すデータを記憶するために各メモリが前記マスタのうちの１つに割り当てられる第１のＦＩＦＯメモリのグループと、相互におよび前記第１のＦＩＦＯメモリにリンク可能である、動的に割振り可能な第２のＦＩＦＯメモリのグループと、マスタが実行しているタスクを考慮して、所与の時間に、前記複数のマスタの各々によって必要とされるＦＩＦＯメモリのサイズを動的に計算し、対応する計算されたＦＩＦＯメモリのサイズに従って選択された、いくつかの第２のＦＩＦＯメモリを前記複数のマスタの各々に動的に割り振るように構成された処理手段とを有することを特徴とするインターフェイス装置。
【請求項２】
前記処理手段は、各々必要とされるＦＩＦＯメモリのサイズを動的に計算するために、前記複数のマスタの各々に割り当てられた、および／または割り振られた第１および第２のＦＩＦＯメモリの各々の占有率を分析するように構成されることを特徴とする、請求項１に記載のインターフェイス装置。
【請求項３】
前記処理手段は前記占有率の各々を選択された閾値と比較することにより前記占有率を分析するよう構成され、対応する占有率が前記閾値より大きい場合、前記複数の第２のＦＩＦＯメモリのうち少なくとも選択されたメモリを前記複数のマスタのうちの選択されたマスタに割り振ることが決定されることを特徴とする、請求項２に記載のインターフェイス装置。
【請求項４】
前記複数の第２のＦＩＦＯメモリは同じサイズを有し、前記処理手段は、処理速度を表す動作パラメータに応じて動的に割り振るべき前記複数の第２のＦＩＦＯメモリを決定するように構成されることを特徴とする、請求項１から３のいずれか一項に記載のインターフェイス装置。
【請求項５】
少なくとも２つのマスタに対する第２のＦＩＦＯメモリ割振りの必要性がまだ割り振られていない残りの第２のＦＩＦＯメモリの数より大きい場合、前記処理手段は選択された優先順位メカニズムに従って前記残りの第２のＦＩＦＯメモリを割り振るように構成されることを特徴とする、請求項１から４の一項に記載のインターフェイス装置。
【請求項６】
前記処理手段は、前記第１および第２のＦＩＦＯメモリ内でマスタ制御信号を表すデータを記憶するために「トレース・モード」で動作し、これらの記憶されたデータが前記第１および第２のＦＩＦＯメモリ内に占有している場所を解放するために、これらのデータを出力時に提供するよう構成されることを特徴とする、請求項１から５の一項に記載のインターフェイス装置。
【請求項７】
前記処理手段は、マスタ動作を比較する目的で、前記第１および第２のＦＩＦＯメモリ内に記憶されたマスタ制御信号とスレーブ応答とを表すデータを提供するために「デバッグ・モード」で動作するよう構成されることを特徴とする、請求項１から６の一項に記載のインターフェイス装置。
【請求項８】
前記処理手段は、内部クロックの立ち上がり毎にデータを提供するよう構成されることを特徴とする、請求項６または７の一項に記載のインターフェイス装置。
【請求項９】
前記処理手段は、前記内部クロックの立ち下がり毎にデータを提供するよう構成されることを特徴とする、請求項８に記載のインターフェイス装置。
【請求項１０】
選択されたアドレスで読取り可能にかつ書込み可能に適応された、少なくとも１つのスレーブと共働する少なくとも１つのマスタを有するコンピュータ・システムであって、各マスタはタスクを実行し、読取りおよび／または書込みの目的でスレーブ・アドレスを配信するように適応され、前記請求項１ないし９の一項に記載のインターフェイス装置を有することを特徴とするコンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、共働する少なくとも１つのマスタと少なくとも１つのスレーブとを有するコンピュータ・システム（すなわち装置）、より正確には、そのようなコンピュータ・システム内でのトレースおよび／またはデバッグに関する。
【０００２】
「スレーブ」は、ここでは、１つまたは複数のアドレスを有し、データを記憶するように、かつ読取り可能に適応されたコンピュータ・コンポーネントとして理解されることを意図されている。そのようなコンポーネントは、例えば、複数のレジスタの集まり、入力ポートと出力ポートとを有するインターフェイス、ＵＡＲＴ、ＳＰＩ、Ｉ２Ｃまたはタイマーであってもよい。さらに、「マスタ」はここでは、タスクを実行し、読取りおよび／または書込みの目的でスレーブ・アドレスを配信するように適応されたコンピュータ・コンポーネントとして理解されることを意図されている。そのようなコンポーネントは、例えば、マイクロプロセッサ、ダイレクト・メモリ・アクセス・コントローラ（またはＤＭＡ）、ホスト・インターフェイス、またはＬＣＤドライバであってよい。
【背景技術】
【０００３】
当業者により知られているように、新しいコンピュータ・システムが設計される場合、一般にコンピュータ・システムは除去される必要のあるデフォルトおよび／またはバグを有する。（例えば、マイクロプロセッサなどの）単一のマスタを有するコンピュータ・システムでは、アーム社（ARM ltd.）によって製造されているＥＴＭ（「エムベッディド・トレース・モジュール（Embedded Trace Module）」）などの専用ツールを用いてバグまたはエラーの発生源または原因を見つけることは、現在「容易な」タスクである。実際に、マスタとスレーブとがメイン・バスに接続されている場合、この専用ツールをシステム・コア・ピン（system core pins）に接続することにより、ＦＩＦＯ（先入れ先出し―First In First Out―）メモリを介して、このメイン・バス上のすべての種類の転送を観測し、制御することが可能である。
【０００４】
「多層ａｈｂアーキテクチャ（multilayer ahb architecture）」または「並列アーキテクチャ」などの複数のマスタを有するコンピュータ・システムでは、観測し、制御するマスタとスレーブとの数の増加、および／または複数のマスタが独立して動作することがあり、その結果、他のマスタに対して１つのマスタが何を実行しているのかを知ることが困難になるという事実により、デバッグおよびトレースははるかに困難である。さらに、ある種の状況では、システム・コアの内部速度が非常に高くなり、複数のマスタのうちの１つに割り当てられたＦＩＦＯメモリ内でオーバーフローが生じることがある。
【０００５】
この欠点を解決するために、各マスタに大きいサイズを有するＦＩＦＯメモリを割り当てることが可能であるかもしれないが、これはボード上にほとんど利用不可能な非常に広い面積を必要とすることになる。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、本発明の目的はこの状況を改善することである。
【課題を解決するための手段】
【０００７】
このために、本発明は、選択されたアドレスで読取り可能にかつ書込み可能に適応された、少なくとも１つのスレーブと共働する少なくとも１つのマスタを有するコンピュータ・システムにインターフェイス装置（すなわち専用ツール）を提供し、各マスタはタスクを実行し、読取りおよび／または書込みの目的で少なくともスレーブ・アドレスを配信するように構成される。
【０００８】
このインターフェイス装置は、
−複数のマスタがそれぞれ実行するタスクを表すデータを記憶するために、各メモリがこれらマスタのうちの１つに割り当てられた第１のＦＩＦＯメモリのグループと、
−相互におよび複数の第１のＦＩＦＯメモリにリンク可能である、動的に割振り可能な第２のＦＩＦＯメモリのグループと、
−各マスタが実行するタスクを考慮して、所与の時間に、各マスタによって必要とされるＦＩＦＯメモリのサイズを動的に計算し、対応する計算されたＦＩＦＯメモリのサイズに従って選択された、いくつかの第２のＦＩＦＯメモリを各マスタに動的に割り振るように構成された処理手段と
を有することを特徴とする。
【０００９】
本発明によるインターフェイス装置（すなわち専用ツール）は個別にまたは組み合わせて考慮される追加特性を含んでよく、特に、
−インターフェイス装置の処理手段は、各々必要とされるＦＩＦＯメモリのサイズを動的に計算するために、各マスタに割り当てられたおよび／または割り振られた第１および第２のＦＩＦＯメモリ各々の占有率を分析するように構成されてもよい。この場合、処理手段は占有率の各々を選択された閾値と比較することにより占有率を分析するよう構成されることが好ましく、対応する占有率が該閾値よりも大きい場合、少なくとも１つの選択された第２のＦＩＦＯメモリを１つの選択されたマスタに割り振ることが決定される、
−複数の第２のＦＩＦＯメモリが異なるサイズを有する場合、処理手段は、該メモリのそれぞれのサイズに応じて、および処理速度を表す動作パラメータに応じて、動的に割り振る第２のＦＩＦＯメモリを決定するように構成されてもよい、
−少なくとも２つのマスタに対する第２のＦＩＦＯメモリ割振りの必要性が、まだ割り振られていない（残りの）複数の第２のＦＩＦＯメモリの数より大きい場合、処理手段は、選択された優先順位メカニズム（priority mechanism）に従って、これらの残りの（１つまたは複数の）第２のＦＩＦＯメモリを割り振るように構成されてもよい、
−処理手段は、第１および第２のＦＩＦＯメモリ内でマスタ制御信号（およびオプションでスレーブが共働するマスタを介したスレーブ応答）を表すデータを記憶するために「トレース・モード」で動作し、これら記憶されたデータが第１および第２のＦＩＦＯメモリ内に占有している場所を解放するために、これらの記憶されたデータを出力時に提供するよう構成されてもよい、
−処理手段は、マスタ動作を比較する目的で、第１および第２のＦＩＦＯメモリ内に記憶されたマスタ制御信号（およびオプションで、スレーブ応答）を表すデータを提供するために「デバッグ・モード」で動作するよう構成されてもよい、
処理手段は、内部クロックの立ち上がり毎および／または立ち下がり毎にデータを提供するように構成されてもよい。
【００１０】
本発明はまた、選択されたアドレスで読取り可能にかつ書込み可能に適応された少なくとも１つのスレーブと共働する少なくとも１つのマスタを有し、各マスタはタスクを実行し、読取りおよび／または書込みの目的でスレーブ・アドレスを配信するよう構成されたコンピュータ・システム（すなわち回路）と、上に紹介されたインターフェイス装置などのインターフェイス装置とを提供する。
【００１１】
本発明の他の特徴および利点は、以下の詳細な明細書と添付の図面とを考察することにより明らかになるであろう。
【００１２】
添付の図面は本発明を完成させるために役立つことがあるだけでなく、必要な場合、その定義をもたらすためにも役立つかもしれない。
【発明を実施するための最良の形態】
【００１３】
初めに図１を参照して、非限定的な実施形態で、本発明によるインターフェイス装置Ｄが設けられたコンピュータ・システムＣＳの実施例を説明する。
【００１４】
以降の説明では、例示されたコンピュータ・システムＣＳは、アーム社のインターネット・サイト上、インターネット・アドレスｗｗｗ．ａｒｍ．ｃｏｍで説明されているものなどの多層ａｈｂアーキテクチャを有することが考慮される。説明を再開すると、例示されるように、多層ａｈｂはメイン・バスに接続された少なくとも１つのマスタＭｉ（ここでは、ｉ＝１〜３であるが、１以上でなければならない）と、やはりメイン・バスに接続された少なくとも１つのａｈｂスレーブＳＬｊ（ここでは、ｊ＝１〜５であるが、１以上でなければならない）とを有するコア・システムである。この多層ａｈｂは、その時の必要性に応じて（１つまたは複数の）マスタと（１つまたは複数の）スレーブとのバス接続を切り換えることが可能な、ある種のスイッチ・ボックスとして機能するように構成される。
【００１５】
以下の説明では、例えばマスタＭｉはマイクロプロセッサであることが考慮される。しかしマスタは、例えばホスト・インターフェイスまたはＬＣＤドライバであってもよい。ａｈｂスレーブＳＬｊは、例えば、ＵＡＲＴ、ＳＰＩ、Ｉ２Ｃ、（１つまたは複数の）レジスタ（の集まり）、またはタイマーであってよい。
【００１６】
本発明は多層ａｈｂアーキテクチャを有するコンピュータ・システムに限定されないことに注目することが重要である。実際に本発明は独立した方法で複数（少なくとも２つ）のマスタがそれぞれ異なるバスに接続される並列アーキテクチャを有する任意のコンピュータ・システムに適用されてもよい。
【００１７】
本発明は、デバッグおよび／またはトレースの目的でメイン・バスを介して送信され、ａｈｂマスタＭｉによって出力された、ａｈｂスレーブＳＬｊに関連するデータを観測して、制御するためのインターフェイス装置（すなわち専用ツール）Ｄを提供する。
【００１８】
このため、インターフェイス装置Ｄは多層ａｈｂ（すなわちコア・システム）の選択された複数のピンに接続されたピンのグループを有する。このインターフェイス装置Ｄは、多層ａｈｂが有するのと同じボード上に設置されてよく、それらのそれぞれのピンはプリント回路の伝導ストリップを介して接続される。
【００１９】
インターフェイス装置Ｄは、また、「スタティック」ＦＩＦＯメモリＳＦｉのグループと、「ダイナミック」ＦＩＦＯメモリＤＦｋ（ここでは、ｋ＝１〜６であるが、１以上でなければならない）のグループと、スタティックＳＦｉおよびダイナミックＤＦｋの複数のＦＩＦＯメモリに結合された処理モジュールＰＭとを有する。
【００２０】
複数のスタティックＦＩＦＯメモリＳＦｉは各々、複数のａｈｂマスタＭｉのうち１つが出力する、該マスタの動作（すなわち、該マスタが実行するタスク）を表すデータを記憶するために、ａｈｂマスタＭｉのうちの１つにそれぞれ割り当てられる。
【００２１】
複数のダイナミックＦＩＦＯメモリＤＦｋは、要求に応じて、対応するａｈｂマスタＭｉに割り振られるために、相互におよび／またはスタティックＦＩＦＯメモリＳＦｉに動的にリンクされるように適応される。
【００２２】
スタティックＳＦｉおよびダイナミックＤＦｋの複数のＦＩＦＯメモリは、該ａｈｂマスタＭｉによって出力されたデータの検索を可能とするために提供される。
【００２３】
所与の時間に、１つのａｈｂマスタＭｉの動作は、１つまたは複数のその他のａｈｂマスタＭｉ’の動作よりもはるかに重要であることがある。したがって、該ａｈｂマスタ動作を表すデータを記憶するために事実上必要とされるＦＩＦＯメモリのサイズは、所与の時間に、ａｈｂマスタによってそれぞれ異なってよい。このため、処理モジュールＰＭはａｈｂマスタＭｉの動作（すなわちａｈｂマスタＭｉが実行するタスク）を考慮して、所与の時間に、各ａｈｂマスタＭｉに必要とされるＦＩＦＯメモリのサイズの動的計算を担当する。処理モジュールＰＭはまた、処理モジュールＰＭが各ａｈｂマスタＭｉに関して計算したばかりのＦＩＦＯメモリのサイズに従って選択された、いくつかのダイナミックＦＩＦＯメモリＤＦｋを各ａｈｂマスタＭｉに動的に割り振ることも担当する。
【００２４】
ＦＩＦＯメモリのサイズを計算するために、処理モジュールＰＭは、各ａｈｂマスタＭｉに割り当てられた各スタティックＦＩＦＯメモリＳＦｉと、最終的に各マスタＭｉに割り振られた各ダイナミックＦＩＦＯメモリＤＦｋとの占有率をリアルタイムで分析する。例えば、処理モジュールＰＭは、各占有率を選択された閾値とリアルタイムで比較する。この閾値は、例えば、９０％と同等であってよい。選択された閾値は各マスタに関して同じであってよいが、マスタによって異なってもよい。さらに、（１つまたは複数の）閾値は調整可能であってもよい。ａｈｂマスタＭｉに割り当てられたまたは割り振られたスタティックＳＦｉまたはダイナミックＤＦｋのＦＩＦＯメモリの占有率が関連する閾値より大きくなる場合、処理モジュールＰＭはこのａｈｂマスタＭｉの動作がより多いＦＩＦＯメモリを必要とするものとみなす。したがって、メモリのオーバーフローを避けるため、処理モジュールＰＭは少なくとも１つの（別の）選択されたダイナミックＦＩＦＯメモリＤＦｋを該ａｈｂマスタＭｉに割り振る。
【００２５】
割り振られることになるダイナミックＦＩＦＯメモリＤＦｋの数は、必要とされるＦＩＦＯメモリ・サイズによって決まる。しかし、この数は処理速度を表す動作パラメータによって決まってもよい。
【００２６】
ダイナミックＦＩＦＯメモリＤＦｋのサイズは同じであることが好ましい。しかし、これは必須ではない。
【００２７】
ＦＩＦＯメモリのサイズ（すなわち深度）は、各ａｈｂマスタＭｉに割り振られることが可能な最低粒度を定義することになる。粒度が高い場合、より少ない多重化が実施されることが可能であり、高周波に達することが期待できる。しかし、毎回、ａｈｂマスタＭｉに割り振られるＦＩＦＯサイズを増加する目的で膨大な（すなわち大規模の）ダイナミックＦＩＦＯメモリＤＦｋが用いられる場合、ダイナミックＦＩＦＯメモリＤＦｋの（小規模の）部分のみを用いてもよく、または全く用いなくてもよい。他方、用いられるダイナミックＦＩＦＯメモリＤＦｋが小規模のサイズ（すなわち深度）を有する場合、他のａｈｂマスタＭｉに割り振られる可能性のあるＦＩＦＯメモリ空間を割り振ることなしに、必要とされるＦＩＦＯメモリのサイズをリアルタイムで非常に正確に適用することが可能になる。しかし、この場合、最高処理速度は低下することになる。
【００２８】
複数のダイナミックＦＩＦＯメモリＤＦｋが異なるサイズを有する場合、まず選択された速度パラメータに従ってダイナミックＦＩＦＯメモリのサイズ（すなわち深度）を選択し、次いで、計算されたダイナミックＦＩＦＯメモリのサイズに適応されたダイナミックＦＩＦＯメモリＤＦｋの数を選択することが好ましい。
【００２９】
さらに、割り振られることになるダイナミックＦＩＦＯメモリＤＦｋの数は、まだ割り振られていないダイナミックＦＩＦＯメモリによって決まってもよい。実際に、処理モジュールＰＭによって計算されたダイナミックＦＩＦＯメモリ割振りの（サイズに関する）必要性は利用可能なダイナミックＦＩＦＯメモリのサイズよりも大きくなることがある。この場合、処理モジュールＰＭは、選択された優先順位メカニズムに従って残りの（１つまたは複数の）ダイナミックＦＩＦＯメモリＤＦｋを割り振ってよい。
【００３０】
例えば、優先順位メカニズムは、最後のバス観察ウィンドウの間に閾値の超過が検出された第１のマスタＭｉに残りのダイナミックＦＩＦＯメモリＤＦｉを割り振るものであってよい。第１の代替的な優先順位メカニズムは、最高の優先順位を有するマスタＭｉに残りのダイナミックＦＩＦＯメモリＤＦｉを割り振るものであってよい。第２の代替的な優先順位メカニズムは、最後のバス観察ウィンドウの間に最大の帯域幅を用いたマスタＭｉに残りのダイナミックＦＩＦＯメモリＤＦｉを割り振るものであってよい（これはバス・プロファイリングを必要とする）。また、前述の優先順位メカニズムのうち少なくとも２つを組み合わせることも可能である。
【００３１】
優先順位メカニズムは、同じバス観察ウィンドウの間に異なる複数のマスタに割り振られたＦＩＦＯメモリ間で矛盾が生じた場合に用いられる点に注目することが重要である。「矛盾」は、ほぼ同じ値（または割合）を有する閾値超過を意味する。
【００３２】
処理モジュールＰＭが、ダイナミックＦＩＦＯメモリＤＦｋは空であり、もはやマスタのデータ記憶に役立たないことを検出する場合、処理モジュールＰＭはその時点の必要性に従って、速やかに該メモリを他のマスタに再割振りすることが可能である点に注目することが重要である。
【００３３】
ＦＩＦＯメモリＳＦｉおよびＤＦｋからデータを検索するために、インターフェイス装置Ｄの１つの出力チャンネルＩｉが各ａｈｂマスタＭｉに割り当てられてよい。「出力チャンネルＩｉ」はここでは、選択されたピンのグループ（すなわち集まり）を意味する。しかし、ピンの数を減らすためには、特にデータ転送速度が高すぎない場合、ＦＩＦＯメモリＳＦｉおよびＤＦｋからのデータを時間的に多重化する（time-multiplex）ことも可能である。しかし、この場合、時間的に多重化されたデータを回復するために外部デマルチプレクサ（demultiplexer）を用いることが必須である。
【００３４】
前述のように、インターフェイス装置Ｄはデバッグ・モードおよび／またはトレース・モードで動作してよい。
【００３５】
デバッグ・モードは（１つまたは複数の）ａｈｂマスタＭｉと、ことによると（１つまたは複数の）ａｈｂスレーブＳＬｊとによってステップ毎に（またはサイクル毎に）実行されている動作を検査することを目的とすることが想起される。したがって、インターフェイス装置ＤはそのＦＩＦＯメモリ内にマスタ制御データと、ことによるとスレーブ応答とを記憶し、各ステップ（またはサイクル）の終わりに、これらデータをインターフェイス装置Ｄの出力チャンネルＩｉ上に出力する。スレーブ応答は該スレーブが共働するマスタを介して検索されてもよいことが想起される。
【００３６】
このモードでは、処理モジュールＰＭは、処理速度に応じて、記憶されたデータを内部クロックの立ち上がり毎および／または立ち下がり毎に出力する。一般に、処理速度が高い場合、内部クロック周期は短く、記憶されたデータを内部クロックの立ち上がり毎に出力することのみが可能である。
【００３７】
トレース・モードは、選択された時間間隔の間、１つまたは複数のバス上で生じている画像を提供することを目的とする。したがって、各時間間隔の間、（１つまたは複数の）バス上を流れるすべてのデータを記憶することは不可能であるため、これらのデータはＦＩＦＯメモリ内に一瞬記憶され、オンザフライ検索される。さらに、マスタ動作のみが関係するため、ａｈｂマスタＭｉの書込みおよび／または読取りのみがＦＩＦＯメモリ内に記憶されることが好ましい。さらに、データは出力チャンネルＩｉ上に出力される速度よりも速い速度で記憶される。したがって、インターフェイス装置Ｄは、ＦＩＦＯメモリからのデータ検索を制御するために、さらに当然ＦＩＦＯメモリ・クリアランス（memory clearance）のために低周波数で動作する内部クロックを有する。
【００３８】
読取り時および書込み時に空間的位置（spatial location）が除去されるため、このトレース・モードはサイクル的に正確（cycle-accurate）ではない。これをより正確に示す事例は、コンピュータ・システムが並列アーキテクチャを有する場合である。実際に、この場合、トレースは並列かつリアルタイムで観察される必要がある。したがって、異なる並列トレース間に同期化は存在しない。
【００３９】
このトレース・モードでは、ＦＩＦＯメモリが十分大きく、クロック周期が十分低い場合、各出力チャンネルＩｉ上で帯域幅の増加を可能とするために、処理モジュールＰＭは記憶されたデータをクロックの立ち上がり毎および立ち下がり毎に出力してよい。
【００４０】
インターフェイス装置Ｄ、および特にインターフェイス装置Ｄの処理モジュールＰＭは典型的にはハードウェア・モジュールの組合せで実現される。
【００４１】
本発明によるＦＩＦＯメモリのダイナミック割振りおよび再割振りの実施例が、次に図２と図３とを参照して説明される。
【００４２】
この実施例では、図１の実施例における事例のように、コンピュータ・システムＣＳは３つのａｈｂマスタＭ１、Ｍ２およびＭ３、各メモリが複数のａｈｂマスタＭｉのうちの１つに割り当てられた３つのスタティックＦＩＦＯメモリＳＦ１、ＳＦ２およびＳＦ３、ならびに動的に割振り可能であり、その時点の必要性に応じて、相互におよび、スタティックＦＩＦＯメモリＳＦｉにリンク可能な６つのダイナミックＦＩＦＯメモリＤＦ１〜ＤＦ６を有する。さらに、複数のスタティックＦＩＦＯメモリＳＦｉは同じサイズを有さず（ａｈｂマスタＭ２は２つのその他のａｈｂマスタＭ１およびＭ３よりも大きな動作を有すると想定されるため、ＳＦ２はＳＦ２およびＳＦ３よりも大きい）、複数のダイナミックＦＩＦＯメモリＤＦｋは同じ大きさを有する。さらに、出力チャンネルＩ１、Ｉ２およびＩ３は、データ出力の目的で、それぞれマスタＭ１、Ｍ２およびＭ３に割り当てられた複数のＦＩＦＯに割り当てられる。
【００４３】
図２に例示されているように、所与の時間に、インターフェイス装置Ｄの処理モジュールＰＭは、
−ａｈｂマスタＭ１に割り当てられているスタティックＦＩＦＯメモリＳＦ１を満たすために、ダイナミックＦＩＦＯメモリＤＦ３とＤＦ５とをａｈｂマスタＭ１に、
−ａｈｂマスタＭ２に割り当てられているスタティックＦＩＦＯメモリＳＦ２を満たすために、ダイナミックＦＩＦＯメモリＤＦ１、ＤＦ４およびＤＦ６をａｈｂマスタＭ２に、
−ａｈｂマスタＭ３に割り当てられているスタティックＦＩＦＯメモリＳＦ３を満たすために、ダイナミックＦＩＦＯメモリＤＦ２をａｈｂマスタＭ３に、
割り振ることを決定している。
【００４４】
この実施例は、所与の時間に、ａｈｂマスタＭ２が２つの他のａｈｂマスタＭ１およびＭ３よりもはるかに重要な動作を有する状況を表す。
【００４５】
しかし、この状況は漸進的に変化することがあり、したがって、処理モジュールＰＭをコンパイルして新しいＦＩＦＯメモリ・サイズを計算して、次いで異なるダイナミックＦＩＦＯメモリＤＦｋを再割振りする。そのような再割振りの実施例は図３に例示されている。より正確には、この実施例では、インターフェイス装置Ｄの処理モジュールＰＭは、
−ａｈｂマスタＭ１に割り当てられているスタティックＦＩＦＯメモリＳＦ１を満たすために、ダイナミックＦＩＦＯメモリＤＦ１、ＤＦ２およびＤＦ５をａｈｂマスタＭ１に、
−ａｈｂマスタＭ２に割り当てられているスタティックＦＩＦＯメモリＳＦ２を満たすために、ダイナミックＦＩＦＯメモリＤＦ４をａｈｂマスタＭ２に、
−ａｈｂマスタＭ３に割り当てられているスタティックＦＩＦＯメモリＳＦ３を満たすために、ダイナミックＦＩＦＯメモリＤＦ３とＤＦ６とをａｈｂマスタＭ３に、
割り振ることを決定している。
【００４６】
これら２つの実施例では、すべてのダイナミックＦＩＦＯメモリＤＦｋは割り振られているが、異なる必要性が存在するその他の状況ではこの状態は異なることがある。
【００４７】
不十分なダイナミックＦＩＦＯメモリのサイズ割振りが原因で、オーバーフローが検出されるたびにオーバーフロー・フラグを生じさせるためのステータス・レジスタを設けることが可能である。実際に、このオーバーフロー・フラグは対応するマスタのすべての動作が記憶されていない旨を通知することを可能とする。
【００４８】
また、ユーザに自分が複数のＦＩＦＯメモリ内に収集することを望む（１つまたは複数の）信号を信号リストから選択させることも可能である。いくつかの収集された信号が必須である場合、該リストに属する信号はオプションの信号であってよい。
【００４９】
本発明は、実施例としてのみ上で説明されたインターフェイス装置およびコンピュータ・システムの実施形態に限定されず、当業者により特許請求の範囲内にあると考慮されるかもしれないすべての代替的な実施形態を包括する。
【００５０】
したがって、先の説明では、共働する複数のマスタと複数のスレーブとを有するコンピュータ・システムの一実施例が説明されている。しかし、本発明は、少なくとも１つのマスタと少なくとも１つのスレーブとを有するコンピュータ・システムに適用する。それにもかかわらず、マスタおよびスレーブの数がより大きい場合、本発明によるインターフェイス装置はより有用である。
【図面の簡単な説明】
【００５１】
【図１】デバッグおよび／またはトレースの目的で、本発明によるインターフェイス装置が設けられたコンピュータ・システムの概略図である。
【図２】本発明によるＦＩＦＯメモリの動的割振りの実施例を示す概略図である。
【図３】図２に例示されたＦＩＦＯメモリの動的再割振りの実施例を示す概略図である。
【図１】
2008502974.tif 000003
【図２】
2008502974.tif 000004
【図３】
2008502974.tif 000005
【国際調査報告】
2008502974.tif 000006
2008502974.tif 000007