(57)【特許請求の範囲】
【請求項１】
それぞれＦＩＦＯメモリを介して接続され同一のデータ処理を実行する複数のデータ処理手段の中から処理負荷の軽いデータ処理手段を選択し、該データ処理手段に対応するＦＩＦＯメモリに処理されるべきデータを書き込むデータ転送制御装置であって、
各ＦＩＦＯメモリを介して転送されるデータの転送速度を、ＦＩＦＯメモリからデータ処理手段へ所定量のデータが転送されるのに要する時間の最大値又は最小値に基づいて検出する転送速度検出手段と、
前記転送速度検出手段によって検出された各転送速度を比較することにより処理負荷の軽いデータ処理手段を判定する処理負荷比較判定手段と、
を具備するデータ転送制御装置。
【請求項２】
それぞれＦＩＦＯメモリを介して接続され同一のデータ処理を実行する複数のデータ処理手段の中から処理負荷の軽いデータ処理手段を選択し、該データ処理手段に対応するＦＩＦＯメモリに処理されるべきデータを書き込むデータ転送制御装置であって、
各ＦＩＦＯメモリを介して転送されるデータの転送速度を、所定時間内にＦＩＦＯメモリからデータ処理手段へ転送されるデータの量に基づいて検出する転送速度検出手段と、
前記転送速度検出手段によって検出された各転送速度を比較することにより処理負荷の軽いデータ処理手段を判定する処理負荷比較判定手段と、
を具備するデータ転送制御装置。
【請求項３】
それぞれＦＩＦＯメモリを介して接続され同一のデータ処理を実行する複数のデータ処理手段の中から処理負荷の軽いデータ処理手段を選択し、該データ処理手段に対応するＦＩＦＯメモリに処理されるべきデータを書き込むデータ転送制御装置であって、
各ＦＩＦＯメモリを介して転送されるデータの転送速度を、ＦＩＦＯメモリに格納されたデータの量を表すポインタの時間的変化に基づいて検出する転送速度検出手段と、
前記転送速度検出手段によって検出された各転送速度を比較することにより処理負荷の軽いデータ処理手段を判定する処理負荷比較判定手段と、
を具備するデータ転送制御装置。
【請求項４】
前記転送速度検出手段は、所定時間内において前記ポインタが所定値以上又は所定値以下となった時間に基づいて転送速度を検出するものである、請求項３に記載のデータ転送制御装置。
【請求項５】
前記転送速度検出手段は、所定時間内における前記ポインタの変動幅に基づいて転送速度を検出するものである、請求項３に記載のデータ転送制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、それぞれＦＩＦＯメモリを介して接続される複数のデータ処理手段の中から処理負荷の軽いデータ処理手段を選択し、そのデータ処理手段に対応するＦＩＦＯメモリに処理されるべきデータを書き込むデータ転送制御装置に関する。
【０００２】
【従来の技術】
従来より、非同期系のバッファメモリとしてＦＩＦＯメモリが広く使用されている。ここで、ＦＩＦＯとは、ファースト・イン・ファースト・アウト（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）の略である。すなわち、ＦＩＦＯメモリとは、最初に入ったデータが最初に出てくるメモリのことであり、入力と出力との２ポートを持ち、それぞれ非同期に動作させることができるので、非同期に動作する２つの装置間にバッファとして設けられることが多い。
【０００３】
その場合、データの送り側（マスタ）のデータ転送速度とデータの受け側（スレーブ）のデータ転送速度とは一般的に異なるため、マスタはＦＩＦＯメモリ内のデータの溜まり具合を確認しながらデータを転送する。そして、１つのマスタに対して複数のスレーブが接続される場合、データの溜まり具合が最も低いＦＩＦＯメモリに接続されるスレーブが、最も処理負荷の軽いスレーブ、すなわちこれから転送するデータを最も早く処理するスレーブであると推定し、そのようなＦＩＦＯメモリを選んでデータを転送することになる。
【０００４】
一般的に、ＦＩＦＯメモリにおけるデータの溜まり具合を知る方法は、ハーフフルフラグを用いる方法である。ハーフフルフラグとは、ＦＩＦＯメモリ内のデータの量がその容量の半分以上になるとアサートされるフラグのことであり、上記の方法は、ハーフフルフラグがアサートされていないＦＩＦＯメモリを選択してデータを転送することにより、処理負荷を複数のスレーブで分散させて全体の処理速度を上げる方法である。さらに、フラグがアサートされるためのしきい値となるデータ量を任意に設定することができるＦＩＦＯメモリも存在する。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述したフラグによる方法は、データの処理速度を最大限に追求したものではない。すなわち、この方法の問題点は、ハーフフルフラグはある時点でのデータの溜まり具合を示しているだけで（すなわち静的なものである）必ずしも最も負荷の軽いスレーブを示しているとは限らない、ということである。つまり、現時点では残っているデータ量が最も少ないものでも処理速度が遅ければデータの減り具合が少なくなり、結果としてこれから転送するデータが処理されるまでには多く時間が必要になるかもしれないということである。処理負荷を分散させて全体の処理速度を上げるためには、これから処理されるデータの処理速度を推定し、処理速度の最も速い、すなわち処理負荷の最も軽いスレーブを選び出さなければならない。
【０００６】
かかる実情に鑑み、本発明の目的は、それぞれＦＩＦＯメモリを介して接続される複数のデータ処理手段の中から処理負荷の最も軽いデータ処理手段を確実に推定することができるデータ転送制御装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明は、ＦＩＦＯメモリに接続されたスレーブの処理負荷の程度をより確実に推定するためにＦＩＦＯを通過していくデータの速度（言わばデータの「流量」とでも呼ぶべき動的なものである）を検出する、という基本的着想に基づき、以下に記載されるような技術構成を採用することにより、上記目的を達成するものである。
【０００８】
図１は、本発明に係るデータ転送制御装置の基本的構成を示す図である。同図において、データ転送制御装置１は、それぞれＦＩＦＯメモリ２ａ，２ｂ，…，２ｎを介して接続され同一のデータ処理を実行する複数のデータ処理手段３ａ，３ｂ，…，３ｎの中から処理負荷の軽いデータ処理手段を選択し、そのデータ処理手段に対応するＦＩＦＯメモリに処理されるべきデータを書き込む装置である。そして、データ転送制御装置１は、各ＦＩＦＯメモリを介して転送されるデータの転送速度を検出する転送速度検出手段１１と、その転送速度検出手段によって検出された各転送速度を比較することにより処理負荷の軽いデータ処理手段を判定する処理負荷比較判定手段１２と、を具備する。
【０００９】
なお、転送速度検出手段１１は、ＦＩＦＯメモリ２ａ，２ｂ，…，２ｎからデータ処理手段３ａ，３ｂ，…，３ｎへ所定量のデータが転送されるのに要する時間の最大値又は最小値に基づいて転送速度を検出する。
【００１０】
または、転送速度検出手段１１は、所定時間内にＦＩＦＯメモリ２ａ，２ｂ，…，２ｎからデータ処理手段３ａ，３ｂ，…，３ｎへ転送されるデータの量に基づいて転送速度を検出する。
【００１１】
または、転送速度検出手段１１は、ＦＩＦＯメモリ２ａ，２ｂ，…，２ｎに格納されたデータの量を表すポインタの時間的変化に基づいて転送速度を検出する。
【００１２】
【発明の実施の形態】
以下、添付図面を参照して本発明の実施形態について説明する。
【００１３】
図２は、本発明の実施例に係るデータ転送制御装置を備えたデータ処理システムの構成を示すブロック図である。このシステムは、画像処理に係るものであり、リードオンリメモリ（ＲＯＭ）２１に格納されたプログラムに従って動作する主制御用中央処理装置（メインＣＰＵ）２０は、画像データを格納するランダムアクセスメモリ（ＲＡＭ）２２から画像データを取り込み、それぞれ画像処理専用プロセッサ（ＧＰ）５０ａ，…，５０ｄ（これらの任意の１つを符号５０で表す）に接続された複数のＦＩＦＯメモリ４０ａ，…，４０ｄ（これらの任意の１つを符号４０で表す）のうちのいずれかに転送する。その際、最も処理負荷の軽い画像処理専用プロセッサ（ＧＰ）を選択するために、ＦＩＦＯメモリ４０ａ，…，４０ｄに対応して転送速度検出回路３０ａ，…，３０ｄ（これらの任意の１つを符号３０で表す）が設けられている。各画像処理専用プロセッサ（ＧＰ）５０は、対応するＦＩＦＯメモリ４０からデータを読み出し、当該データに拡大・縮小、回転、色付け等の加工処理を施した後、フレームバッファ６０に書き込む。フレームバッファ６０に格納されたデータは、ディスプレイ７０に表示される。
【００１４】
図３は、ＦＩＦＯメモリ４０のインタフェース信号を例示する図である。同図において、ライトイネーブル信号／ＷＥＮ（なお、負論理（ロウ・アクティブ）信号は、図面ではオーバライン付きの信号名として表されているが、本明細書では頭に“／”が付された信号名として表される）は、ＦＩＦＯメモリ４０へデータを書き込むための制御信号であり、一方、リードイネーブル信号／ＲＥＮは、ＦＩＦＯメモリ４０からデータを読み出すための制御信号である。また、ＦＩＦＯエンプティフラグ／ＥＦは、ＦＩＦＯメモリ４０にデータが存在しない場合にアクティブとなる信号である。なお、ポインタ信号ＰＴＲ（複数ライン）は、ＦＩＦＯメモリ４０に現在格納されているデータ数を表すものであり、特に、ＦＩＦＯメモリを通常のＲＡＭと外付け回路とにより実現する場合に利用可能な信号である。
【００１５】
そして、転送速度検出回路３０は、ＦＩＦＯメモリ４０のインタフェース信号を監視することによりＦＩＦＯメモリ４０を介して転送されるデータの転送速度を検出するものである。以下、かかる転送速度検出回路３０の具体的実施例について詳細に説明する。
【００１６】
第１〜４実施例は、ＦＩＦＯメモリ４０から画像処理専用プロセッサ５０へ所定量のデータが転送されるのに要する時間に基づいて転送速度を検出するものである。詳細には、まず、第１実施例は、１回の転送時間を監視し、所定時間内におけるその転送時間の最大値を検出することにより、転送速度の比較をしようとするものである。図４は、そのような第１実施例に係る転送速度検出回路３０の論理回路図であり、また、図５は、その動作を説明するためのタイムチャートである。以後説明する論理回路は、全て、図５に示される基本クロックＳＣＬＫにより動作する。また、基本クロックＳＣＬＫが入力されるカウンタ（ＣＮＴ）及びフリップフロップ（ＦＦ）は、ＳＣＬＫの立ち上がりエッジで変化する。
【００１７】
図４において、リードイネーブル信号／ＲＥＮ又はＦＩＦＯエンプティフラグ／ＥＦがアクティブのとき、ＮＯＲゲート１０２を介してカウンタ１０４のロード端子／ＬＤへの入力がアクティブとなるため、カウンタ１０４は、データ端子Ｄに入力されるロウ固定信号／ＬＯＷをＳＣＬＫに同期して取り込み、零にイニシャライズされる。そして、ロード端子／ＬＤへの入力がインアクティブのときには、カウンタ１０４は、ＳＣＬＫに同期してそのカウンタ出力Ｑをカウントアップする。そのカウントアップを有効とするためのイネーブル端子／ＥＮには、キャリアウト端子／ＣＯをインバータ１０６により反転した信号が印加されるため、カウンタ最大値までカウントアップされたときにホールドされることとなる。従って、カウンタ１０２は、図５に示されるように、／ＲＥＮがアクティブとなってから次にアクティブとなるまでのＳＣＬＫをカウントし、その出力端子Ｑには１回の転送時間に相当するカウント値ＴＴが表れる。なお、／ＥＦがアクティブのときにカウンタ１０２を零に固定するのは、ＦＩＦＯメモリが空のときには／ＲＥＮが発生しないため、カウントアップを抑止する必要があるからである。
【００１８】
また、リードイネーブル信号／ＲＥＮがアクティブとなるときには、ＦＦ１１４がセットされる。セットされるデータは、ＡＮＤゲート１１２を介して入力されるマルチプレクサ１１０の出力である。マルチプレクサ１１０は、その選択端子Ｓに入力される信号がロウ（０）のとき、入力端子０に入力されるカウンタ１０４の出力値すなわち今回の転送時間ＴＴを出力し、一方、その選択端子Ｓに入力される信号がハイ（１）のとき、入力端子１に入力される、ＦＦ１１４の出力端子Ｑからのデータを出力する。そして、マルチプレクサ１１０の選択端子Ｓには、コンパレータ１０８の出力信号ＳＥＬが入力される。コンパレータ１０８は、入力端子Ａ及びＢに入力される信号を比較し、その結果を表す信号を出力する。同図に示される場合、“Ａ≦Ｂ”出力がＳＥＬ信号とされており、Ａ入力にはカウンタ１０４の出力値が入力され、一方、Ｂ入力にはＦＦ１１４の出力端子Ｑからの出力値が入力されている。その結果、図５に示されるように、ＦＦ１１４には、１回の転送時間の最大値ＴＴＭＸが保持される。
【００１９】
そして、カウンタ１１６の入力端子Ｄ及び／ＥＮがロウ固定され、／ＬＤには出力／ＣＯが入力されているため、カウンタ１１６は、図５に示されるように、一定時間ごとにクリア信号／ＦＦＣＬＲを発生させるものとなる。従って、その一定時間ごとに／ＦＦＣＬＲがアクティブ（ロウ）となってＡＮＤゲート１１２に入力されるため、ＦＦ１１４がクリアされる結果となる。図２に示されるメインＣＰＵ２０は、転送速度検出回路３０ａ，…，３０ｄから、／ＦＦＣＬＲ発生前にＦＦ１１４の出力値ＴＴＭＸをそれぞれ取り込み、それらを比較する。ＴＴＭＸが小さいほど転送速度が速く、画像処理専用プロセッサ（ＧＰ）５０の処理負荷が軽いと判断されるため、処理負荷比較判定手段としてのＣＰＵ２０は、ＴＴＭＸが最も小さい転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００２０】
以上が第１実施例の動作説明である。なお、データ系ラインの信号数は、８本となっている。以下の実施例で示される論理回路図においても同様の回路記号が使用されており、それらの基本的動作は上述の説明と同一である。
【００２１】
次に、第２実施例について説明する。第２実施例は、第１実施例と同様に１回の転送時間を監視するが、第１実施例とは異なり、一定時間内におけるその転送時間の最小値を検出することにより、転送速度の比較をしようとするものである。そのような第２実施例に係る転送速度検出回路３０の構成は、図６に示される。第１実施例の回路と相違する部分についてのみ説明すると、まず、コンパレータ１０８ａの“Ａ≧Ｂ”出力がＳＥＬ信号とされてマルチプレクサ１１０に入力されている。その結果、ＦＦ１１４には１回の転送時間の最小値ＴＴＭＮが保持される。また、図４のＡＮＤゲート１１２に代えて図６ではＯＲゲート１１２ａが使用されており、／ＦＦＣＬＲによりＦＦ１１４はオール１にイニシャライズされる。第２実施例の場合も、ＴＴＭＮが小さいほど転送速度が速く、画像処理専用プロセッサ（ＧＰ）５０の処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も小さいＴＴＭＮを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００２２】
次に、第３実施例について説明する。第１及び第２実施例では、１回の転送時間に着目したが、これでは特異なケースが発生した場合に不都合が生ずる。そのため、１回の転送時間の平均値に着目した方がより正確に転送速度を把握することが可能となる。１回の転送時間の平均値を比較することは、所定回数の転送時間を比較することと同じ結果を生ずる。そこで、第３実施例では、所定回数の転送時間を監視し、所定時間内においてその転送時間の最大値を検出する。
【００２３】
図７は、そのような第３実施例に係る転送速度検出回路３０の論理回路図である。カウンタ２０４でカウントされる１回の転送時間は、加算回路２０８及びＦＦ２１２により加算されていき、信号ＴＴＡとなる。一方、カウンタ２２２の／ＥＮ端子には／ＲＥＮ信号が入力されるため、カウンタ２２２は転送回数をカウントするものとなり、所定回数の転送が実行されると、その／ＣＯ端子より信号／ＦＦＳＥＴが出力される。／ＦＦＳＥＴが出力されると、ＦＦ２２０がセットされる。その際、コンパレータ２１４及びマルチプレクサ２１６の作用により、ＦＦ２２０には所定回転送時間ＴＴＡの最大値ＴＴＡＭＸが保持される結果となる。さらに、所定時間を経過すると、カウンタ２２４から／ＦＦＣＬＲが出力されて回路全体がイニシャライズされる。ＴＴＡＭＸが小さいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も小さいＴＴＡＭＸを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００２４】
次に、第４実施例について説明する。第３実施例では所定回転送時間の所定時間内最大値を検出したが、第４実施例は、最大値に代えて最小値を検出しようというものである。第４実施例に係る回路図は図８に示される。第３実施例の回路（図７）と相違する部分についてのみ説明すると、まず、コンパレータ２１４ａの“Ａ≧Ｂ”出力がＳＥＬ信号とされてマルチプレクサ２１６に入力されている。その結果、ＦＦ２２０には所定回転送時間ＴＴＡの最小値ＴＴＡＭＮが保持される。また、図７のＡＮＤゲート２１８に代えて図８ではＯＲゲート２１８ａが使用されており、／ＦＦＣＬＲによりＦＦ２２０はオール１にイニシャライズされる。第４実施例の場合も、ＴＴＡＭＮが小さいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、ＴＴＡＭＮが最も小さい転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００２５】
次に、第５実施例について説明する。第１〜第４実施例は、所定量データ転送の所要時間を検出するものであったが、第５実施例は、その逆に、所定時間内のデータ転送量を検出するものである。すなわち、第５実施例では、所定時間内にＦＩＦＯメモリ４０から画像処理専用プロセッサ５０へ転送されるデータの量に基づいて転送速度が検出される。
【００２６】
図９は、そのような第５実施例に係る転送速度検出回路３０の論理回路図であり、また、図１０は、その動作を説明するためのタイムチャートである。カウンタ３０４の／ＥＮ端子には／ＲＥＮ信号がＮＡＮＤゲート３０２を介して入力され、カウンタ３０４は転送回数をカウントする。カウンタ３０４の出力端子Ｑからは、図１０に示されるような転送回数ＴＣＵＰが出力される。なお、カウンタ３０４のキャリアウト／ＣＯがアクティブとなると、ＮＡＮＤゲート３０２はＡＮＤが不成立となり、カウンタ３０４は最大値を保持する。一方、カウンタ３０６は、一定時間を計測すると、その／ＣＯ端子からの／ＣＮＴＳＥＴ信号をアクティブとする。この／ＣＮＴＳＥＴ信号によりＦＦ３０８に前記したＴＣＵＰがセットされる。従って、ＦＦ３０８の出力信号ＴＣＮＴは、図１０に示されるように、一定時間内の転送回数を表している。第５実施例の場合、ＴＣＮＴが大きいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も大きいＴＣＮＴを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００２７】
第６実施例以降は、ＦＩＦＯメモリ４０に格納されたデータの量を表すポインタ信号ＰＴＲ（図３）を監視し、その時間的変化に基づいて転送速度を検出しようというものである。まず、第６実施例では、第１の所定時間内にＰＴＲが所定値ＣＨ以上であった時間ＰＨＴを監視し、第２の所定時間内におけるそのＰＨＴの最大値ＰＨＴＭＸを検出する。図１１は、そのような第６実施例に係る転送速度検出回路３０の論理回路図であり、また、図１２は、その動作を説明するためのタイムチャートである。
【００２８】
カウンタ４０６は、図１２に示されるように、カウンタ４１６からの出力信号／ＦＦＳＥＴがアクティブとなる周期内においてＰＴＲ≧ＣＨを満足する時間ＰＨＴを計測するものである。そして、カウンタ４１８が／ＦＦＣＬＲ信号をアクティブとするまでの時間内におけるＰＨＴの最大値ＰＨＴＭＸが、ＦＦ４１４に保持される。このＰＨＴＭＸが小さいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も小さいＰＨＴＭＸを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。なお、比較基準値ＣＨを可変に設定することができるようにし、各転送速度検出回路３０ａ〜３０ｄより得られたＰＨＴＭＸの平均値を次回のＣＨとするようにすれば、より正確な判定が可能となる。
【００２９】
次に、第７実施例について説明する。第７実施例では、第１の所定時間内にＰＴＲが所定値ＣＨ以上であった時間ＰＨＴを監視し、第２の所定時間内におけるそのＰＨＴの最小値ＰＨＴＭＮを検出する。第７実施例に係る転送速度検出回路３０は、図１３に示される。第６実施例の回路（図１１）と相違する部分は、コンパレータ４０８ａ及びゲート４１２ａのみである。第７実施例の場合も、ＰＨＴＭＮが小さいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も小さいＰＨＴＭＮを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００３０】
次に、第８実施例について説明する。第８実施例では、第１の所定時間内にＰＴＲが所定値ＣＬ以下であった時間ＰＬＴを監視し、第２の所定時間内におけるそのＰＬＴの最大値ＰＬＴＭＸを検出する。第８実施例に係る転送速度検出回路３０は、図１４に示される。第６実施例の回路（図１１）と相違する部分は、コンパレータ４０２ａのみである。第８実施例の場合、ＰＬＴＭＸが大きいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も大きいＰＬＴＭＸを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。なお、比較基準値ＣＬを可変に設定することができるようにし、各転送速度検出回路３０ａ〜３０ｄより得られたＰＬＴＭＸの平均値を次回のＣＨとするようにすれば、より正確な判定が可能となる。
【００３１】
次に、第９実施例について説明する。第９実施例では、第１の所定時間内にＰＴＲが所定値ＣＬ以下であった時間ＰＬＴを監視し、第２の所定時間内におけるそのＰＬＴの最小値ＰＬＴＭＮを検出する。第９実施例に係る転送速度検出回路３０は、図１５に示される。第７実施例の回路（図１３）と相違する部分は、コンパレータ４０２ａのみである。第９実施例の場合、ＰＬＴＭＮが大きいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も大きいＰＬＴＭＮを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００３２】
次に、第６〜第９実施例をそれぞれ改良した第１０〜第１３実施例について説明する。第６〜第９実施例は、所定時間内にＰＴＲが所定値ＣＨ以上又はＣＬ以下であった時間ＰＨＴ又はＰＬＴを監視し、更なる所定時間内におけるそのＰＨＴ又はＰＬＴの最大値又は最小値ＰＨＴＭＸ、ＰＨＴＭＮ、ＰＬＴＭＸ、又はＰＬＴＭＮをそれぞれ検出するものであったが、第１０〜第１３実施例では、ＰＨＴ又はＰＬＴに代えて、ＰＨＴの平均値又はＰＬＴの平均値を採用する。なお、平均値を比較することは、和を比較することと同等であるため、ＰＨＴの和又はＰＬＴの和を採用する。
【００３３】
すなわち、第６実施例（図１１）を改良した第１０実施例は、第１の所定時間内にＰＴＲが所定値ＣＨ以上であった時間ＰＨＴを監視し、第２の所定時間内にわたってそのＰＨＴの和ＰＨＴＡを求め、第３の所定時間内におけるそのＰＨＴＡの最大値ＰＨＴＡＭＸを検出するものである。第１０実施例に係る転送速度検出回路３０は、図１６に示される。同図において、第１、第２、及び第３の所定時間は、カウンタ５０２、５０４、及び５０６にて計測される。さらに、図１１に対し、ＰＨＴの和ＰＨＴＡを求めるために、加算回路５０８、ＡＮＤゲート５１０、及びＦＦ５１２が追加されている。回路動作は、これまでの説明より明らかであろう。
【００３４】
同様に、第７実施例（図１３）を改良した第１１実施例は、第１の所定時間内にＰＴＲが所定値ＣＨ以上であった時間ＰＨＴを監視し、第２の所定時間内にわたってそのＰＨＴの和ＰＨＴＡを求め、第３の所定時間内におけるそのＰＨＴＡの最小値ＰＨＴＡＭＮを検出するものであり、その転送速度検出回路３０は、図１７に示される。また、第８実施例（図１４）を改良した第１２実施例は、第１の所定時間内にＰＴＲが所定値ＣＬ以下であった時間ＰＬＴを監視し、第２の所定時間内にわたってそのＰＬＴの和ＰＬＴＡを求め、第３の所定時間内におけるそのＰＬＴＡの最大値ＰＬＴＡＭＸを検出するものであり、その転送速度検出回路３０は、図１８に示される。また、第９実施例（図１５）を改良した第１３実施例は、第１の所定時間内にＰＴＲが所定値ＣＬ以下であった時間ＰＬＴを監視し、第２の所定時間内にわたってそのＰＬＴの和ＰＬＴＡを求め、第３の所定時間内におけるそのＰＬＴＡの最小値ＰＬＴＡＭＮを検出するものであり、その転送速度検出回路３０は、図１９に示される。
【００３５】
次に、第１４実施例について説明する。第１４実施例は、ＦＩＦＯメモリ４０に格納されたデータの量を表すポインタ信号ＰＴＲの、所定時間内における最大値ＰＭＸと最小値ＰＭＮとの差すなわち変動幅ＰＤに基づいて転送速度を検出するものである。そのための転送速度検出回路３０は、図２０に示される。同図において、カウンタ６２２は、その所定時間を計測するものである。また、コンパレータ６０２、マルチプレクサ６０４、ゲート６０６、及びＦＦ６０８は、ＰＴＲの最大値ＰＭＸを検出するものであり、一方、コンパレータ６１２、マルチプレクサ６１４、ゲート６１６、及びＦＦ６１８は、ＰＴＲの最小値ＰＭＮを検出するものである。減算回路（補数回路と加算回路とにより構成される）６２０は、ＰＭＸとＰＭＮとからポインタの変動幅ＰＤを出力する。このＰＤが大きいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も大きいＰＤを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００３６】
次に、第１４実施例（図２０）を変形した第１５実施例について説明する。すなわち、第１５実施例は、第１の所定時間内においてポインタＰＴＲの最大値ＰＭＸと最小値ＰＭＮとの差（変動幅）ＰＤを監視し、第２の所定時間内にわたってそのＰＤの最大値ＰＤＭＸを検出するものである。そのための転送速度検出回路３０は、図２１に示される。図２０との相違点について説明すると、第２の所定を計測するカウンタ６２４が追加され、さらにＰＤの最大値ＰＤＭＸを検出するために、コンパレータ６２６、マルチプレクサ６０８、ＡＮＤゲート６３０、及びＦＦ６３２が追加されている。このＰＤＭＸが大きいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も大きいＰＤＭＸを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００３７】
同様に、第１６実施例は第１４実施例（図２０）を変形したもので、第１の所定時間内においてポインタＰＴＲの最大値ＰＭＸと最小値ＰＭＮとの差（変動幅）ＰＤを監視し、第２の所定時間内にわたってそのＰＤの最小値ＰＤＭＮを検出するものである。そのための転送速度検出回路３０は、図２２に示される。第１５実施例（図２１）との相違点は、コンパレータ６２６ａ及びＯＲゲート６３０ａのみである。この場合も、ＰＤＭＮが大きいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も大きいＰＤＭＮを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００３８】
最後に、やはり第１４実施例（図２０）を改良した第１７実施例について説明する。すなわち、第１５実施例は、第１の所定時間内においてポインタＰＴＲの最大値ＰＭＸと最小値ＰＭＮとの差（変動幅）ＰＤを監視し、第２の所定時間内にわたってそのＰＤの平均値（実際には和）ＰＤＡを検出するものである。そのための転送速度検出回路３０は、図２３に示される。同図において、カウンタ７２２はその第１の所定時間を計測し、カウンタ７２４はその第２の所定時間を計測する。そして、加算回路７２６、ゲート７１８、及びＦＦ７３０は、ＰＤの加算値ＰＤＡを算出するためのものである。その他は、図２０と同じである。やはり、この場合も、このＰＤＡが大きいほど転送速度が速く処理負荷が軽いと判断されるため、ＣＰＵ２０は、最も大きいＰＤＡを出力する転送速度検出回路３０に対応するＦＩＦＯメモリ４０へ、次に処理されるべきデータを転送する。
【００３９】
以上、本発明の実施例について述べてきたが、もちろん本発明はこれに限定されるものではなく、様々な実施例を案出することは当業者にとって容易なことである。例えば、上述の実施例では、各転送速度検出回路３０ａ〜３０ｄの出力値の比較判定は柔軟性の観点からＣＰＵ２０によりなされたが、ＣＰＵの負荷軽減の観点から布線論理（ワイヤード・ロジック）によって実現することももちろん可能である。
【００４０】
【発明の効果】
以上説明したように、本発明によれば、それぞれＦＩＦＯメモリを介して接続される複数のデータ処理手段の中から処理負荷の最も軽いデータ処理手段を確実に推定することができるデータ転送制御装置が提供される。従って、本発明は、より精度の高い負荷分散を図ることにより、データ処理システム全体の処理速度を向上させるものである。
【図面の簡単な説明】
【図１】本発明に係るデータ転送制御装置の基本的構成を示す図である。
【図２】本発明の実施例に係るデータ転送制御装置を備えたデータ処理システムの構成を示すブロック図である。
【図３】ＦＩＦＯメモリのインタフェース信号を例示する図である。
【図４】第１実施例に係る転送速度検出回路の論理回路図である。
【図５】図４に示される論理回路の動作を説明するためのタイムチャートである。
【図６】第２実施例に係る転送速度検出回路の論理回路図である。
【図７】第３実施例に係る転送速度検出回路の論理回路図である。
【図８】第４実施例に係る転送速度検出回路の論理回路図である。
【図９】第５実施例に係る転送速度検出回路の論理回路図である。
【図１０】図９に示される論理回路の動作を説明するためのタイムチャートである。
【図１１】第６実施例に係る転送速度検出回路の論理回路図である。
【図１２】図１１に示される論理回路の動作を説明するためのタイムチャートである。
【図１３】第７実施例に係る転送速度検出回路の論理回路図である。
【図１４】第８実施例に係る転送速度検出回路の論理回路図である。
【図１５】第９実施例に係る転送速度検出回路の論理回路図である。
【図１６】第１０実施例に係る転送速度検出回路の論理回路図である。
【図１７】第１１実施例に係る転送速度検出回路の論理回路図である。
【図１８】第１２実施例に係る転送速度検出回路の論理回路図である。
【図１９】第１３実施例に係る転送速度検出回路の論理回路図である。
【図２０】第１４実施例に係る転送速度検出回路の論理回路図である。
【図２１】第１５実施例に係る転送速度検出回路の論理回路図である。
【図２２】第１６実施例に係る転送速度検出回路の論理回路図である。
【図２３】第１７実施例に係る転送速度検出回路の論理回路図である。
【符号の説明】
１…データ転送制御装置
１１…転送速度検出手段
１２…処理負荷比較判定手段
２ａ，２ｂ，〜，２ｎ…ＦＩＦＯメモリ
３ａ，３ｂ，〜，３ｎ…データ処理手段
２０…メインＣＰＵ
２１…ＲＯＭ
２２…ＲＡＭ
３０ａ，３０ｂ，３０ｃ，３０ｄ…転送速度検出回路
４０ａ，４０ｂ，４０ｃ，４０ｄ…ＦＩＦＯメモリ
５０ａ，５０ｂ，５０ｃ，５０ｄ…画像処理専用プロセッサ
６０…フレームバッファ
７０…ディスプレイ
【図１】
0003587609.tif 000002
【図２】
0003587609.tif 000003
【図３】
0003587609.tif 000004
【図４】
0003587609.tif 000005
【図５】
0003587609.tif 000006
【図６】
0003587609.tif 000007
【図７】
0003587609.tif 000008
【図８】
0003587609.tif 000009
【図９】
0003587609.tif 000010
【図１０】
0003587609.tif 000011
【図１１】
0003587609.tif 000012
【図１２】
0003587609.tif 000013
【図１３】
0003587609.tif 000014
【図１４】
0003587609.tif 000015
【図１５】
0003587609.tif 000016
【図１６】
0003587609.tif 000017
【図１７】
0003587609.tif 000018
【図１８】
0003587609.tif 000019
【図１９】
0003587609.tif 000020
【図２０】
0003587609.tif 000021
【図２１】
0003587609.tif 000022
【図２２】
0003587609.tif 000023
【図２３】
0003587609.tif 000024