(57)【要約】【課題】記憶装置から複数のリソースへのデータの転送効率を高める。【解決手段】記憶装置１には、リソース７ａ，７ｂが共有するデータＤａｔ０，Ｄａｔ１が記憶される。転送調停回路２は、転送量Ｔｒｓ０，Ｔｒｓ１に従って、データＤａｔ０，Ｄａｔ１を優先度の高いリソース７ａ，７ｂに転送する。バッファ３ａ，３ｂは、データＤａｔ０，Ｄａｔ１を一時格納して、リソース７ａ，７ｂに出力する。転送量調整回路５は、バッファ３ａ，３ｂ毎の空き領域Ｓｉｚ０，Ｓｉｚ１が、閾値レジスタ４ａ，４ｂに設定されている閾値Ｔｈ０，Ｔｈ１に達したか否かによって、転送量Ｔｒｓ０，Ｔｒｓ１を増減する。【選択図】        図１
2004252523.tif 000002
【特許請求の範囲】
【請求項１】
データ転送を調停するデータ転送装置において、
複数のリソースが共有するデータが記憶される記憶装置と、
前記データを転送優先度の高い前記リソースに指示される転送量に従って転送する転送調停回路と、
前記リソース毎に設けられ、前記転送調停回路から転送される前記データを一時格納して出力するバッファと、
前記バッファ毎の領域に関する閾値が設定される閾値レジスタと、
前記バッファ毎の空き領域が前記閾値に達したか否かによって、前記転送量を増減する転送量調整回路と、
を有することを特徴とするデータ転送装置。
【請求項２】
前記転送量調整回路は、前記バッファ毎に一時格納された前記データが前記閾値に達したか否かによって、前記転送量を増減することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
転送量低減要求閾値が設定される低減要求レジスタをさらに有し、
前記転送量調整回路は、前記バッファ毎の空き領域が前記転送量低減要求閾値に達した場合、他の転送優先度の低い前記リソースにおける前記転送量を低減することを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記転送量調整回路は、前記バッファ毎の空き領域が前記閾値に達した場合、他の転送優先度の低い前記リソースにおける前記転送量を増減しないことを特徴とする請求項１記載のデータ転送装置。
【請求項５】
前記転送量調整回路は、前記バッファ毎の空き領域が前記閾値に達した場合、他の転送優先度の低い前記リソースにおける前記転送量を低減することを特徴とする請求項１記載のデータ転送装置。
【請求項６】
前記閾値は、前記閾値レジスタに複数設定され、
前記転送量調整回路は、前記空き領域が前記複数の閾値に達する毎に、段階的に前記転送量を増減することを特徴とする請求項１記載のデータ転送装置。
【請求項７】
データ転送を調停するデータ転送装置において、
複数のリソースが共有するデータが記憶される記憶装置と、
前記データを転送優先度の高い前記リソースに指示される転送量に従って転送する転送調停回路と、
前記リソース毎に設けられ、前記転送調停回路から転送される前記データを一時格納して出力するバッファと、
前記バッファ毎の過去の空き領域を記憶し、前記過去の空き領域の統計に基づいて、次に前記データが転送されたときの前記バッファ毎の空き領域を予測し、前記転送量を増減する転送量調整回路と、
を有することを特徴とするデータ転送装置。
【請求項８】
前記転送量調整回路は、現在の空き領域と前回前記データの転送が行われたときの空き領域との差分を記憶していき、前記記憶された差分の傾きから次に前記データが転送されたときの前記バッファ毎の空き領域を予測することを特徴とする請求項７記載のデータ転送装置。
【請求項９】
前記複数のリソースの転送優先度を前記バッファ毎の空き領域に基づいて変更する転送間調停回路を有することを特徴とする請求項７記載のデータ転送装置。
【請求項１０】
前記転送量調整回路は、変更された前記転送優先度に基づいて、前記転送量の増減を行うことを特徴とする請求項９記載のデータ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ転送装置に関し、特に複数のリソースへのデータ転送を調停するデータ転送装置に関する。
【０００２】
【従来の技術】
電子機器には、複数のリソースが、データを１つの記憶装置で共有し、パイプライン処理するものがある。例えば、デジタルカメラでは、画像データを撮り込むリソース、撮り込んだ画像データの補間処理を行うリソース等が、１つの記憶装置でデータを共有し、パイプライン処理を行っている。
【０００３】
このような、複数のリソースが１つの記憶装置を共有する場合、各リソースの記憶装置に対するアクセス要求を調停し、各リソースと記憶装置間のデータ転送を制御するデータ転送装置が必要である。図１１は、従来のデータ転送装置の回路図である。図に示すように、データ転送装置は、記憶装置１０１、転送調停回路１０２、バッファ１０３ａ，１０３ｂ、レジスタ１０４ａ，１０４ｂ、制御回路１０５ａ，１０５ｂ、及びリソース１０６ａ，１０６ｂを有している。図に示す転送ＣＨ０は、リソース１０６ａにデータＤａｔ０を転送するための回路の集まりを示し、バッファ１０３ａ、レジスタ１０４ａ、及び制御回路１０５ａを有している。転送ＣＨ１は、リソース１０６ｂにデータＤａｔ１を転送するための回路の集まりを示し、バッファ１０３ｂ、レジスタ１０４ｂ、及び制御回路１０５ｂを有している。
【０００４】
転送調停回路１０２は、転送ＣＨ０，ＣＨ１の制御回路１０５ａ，１０５ｂからリクエスト信号Ｒｅｑ０，Ｒｅｑ１を受け付けると、データ転送をすべきリソース１０６ａ，１０６ｂの優先度を判定し、判定した優先度の高いリソース１０６ａ，１０６ｂに対応した制御回路１０５ａ，１０５ｂに、応答信号Ａｃｋ０，Ａｃｋ１を出力する。そして、転送調停回路１０２は、記憶装置１０１に記憶されているデータＤａｔ０，Ｄａｔ１を、レジスタ１０４ａ，１０４ｂに設定された転送量Ｔｒｓ０，Ｔｒｓ１に従って、バッファ１０３ａ，１０３ｂに出力する。なお、優先度の高いリソースにデータアクセスを集中させない分散方法として、ラウンドロビンがある。
【０００５】
転送ＣＨ０，ＣＨ１のバッファ１０３ａ，１０３ｂは、転送調停回路１０２から転送されるデータＤａｔ０，Ｄａｔ１を一時格納し、リソース１０６ａ，１０６ｂに出力する。制御回路１０５ａ，１０５ｂは、バッファ１０３ａ，１０３ｂの空き領域が所定の大きさになった場合、リクエスト信号Ｒｅｑ０，Ｒｅｑ１を出力する。レジスタ１０４ａ，１０４ｂには、転送調停回路１０２が１回にデータ転送を行うときの転送量Ｔｒｓ０，Ｔｒｓ１が格納される。
【０００６】
以下、動作について説明する。図１２は、図１１のデータ転送装置の動作を説明するタイミングチャートである。図１２に示すように、転送調停回路１０２は、リクエスト信号Ｒｅｑ０を受け付けると、リクエスト信号Ｒｅｑ０に対応するリソース１０６ａの優先度を判定する。リソース１０６ａが他のリソース１０６ｂより優先度が高ければ、転送調停回路１０２は、応答信号Ａｃｋ０を制御回路１０５ａに返す。そして、転送調停回路１０２は、レジスタ１０４ａに設定されている転送量Ｔｒｓ０（記憶装置１０１の１６アドレス分転送（固定））に従って、データＤａｔ０をバッファ１０３ａに転送する。これによって、バッファ１０３ａの空サイズＳｉｚ０は、図１２に示すように‘１Ｃｈ’から‘０Ｄｈ’（ｈ：１６進数であることを示す）と１６アドレス分減少する。
【０００７】
ところで、バッファ１０３ａ，１０３ｂに格納されるデータＤａｔ０，Ｄａｔ１が空になると、リソース１０６ａ，１０６ｂは処理を実行することができなくなり、エラーが発生する。そのため、バッファ１０３ａ，１０３ｂには、常にデータＤａｔ０，Ｄａｔ１が格納されているよう転送量Ｔｒｓ０，Ｔｒｓ１を設定する必要がある。
【０００８】
なお、データ転送を調停する装置として、バスを使用する回路が、転送するデータの転送量を調停回路に通知して、バスの使用率の片寄りをなくすようにしたものがある（例えば、特許文献１参照）。
【０００９】
【特許文献１】
特開平１０−４９４８５号公報（第３頁、第１図）
【００１０】
【発明が解決しようとする課題】
しかしながら、常にバッファにデータが格納されているようにするためには、データの転送量を大きめに設定する必要があり、さらに、転送量は固定されているため、リソースが少量のデータしか必要としないときでも多くのデータがバッファに転送され、多くのデータを必要とするときには少量のデータしかバッファに転送されないなどデータの転送効率が悪いという問題点があった。
【００１１】
本発明はこのような点に鑑みてなされたものであり、リソースが必要とするデータ量に応じてデータを転送し、記憶装置から複数のリソースへのデータの転送効率を高めたデータ転送装置を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示すような、データの転送を調停するデータ転送装置において、複数のリソース７ａ，７ｂが共有するデータＤａｔ０，Ｄａｔ１が記憶される記憶装置１と、データＤａｔ０，Ｄａｔ１を転送優先度の高いリソース７ａ，７ｂに指示される転送量Ｔｒｓ０，Ｔｒｓ１に従って転送する転送調停回路２と、リソース７ａ，７ｂ毎に設けられ、転送調停回路２から転送されるデータＤａｔ０，Ｄａｔ１を一時格納して出力するバッファ３ａ，３ｂと、バッファ３ａ，３ｂ毎の領域に関する閾値Ｔｈ０，Ｔｈ１が設定される閾値レジスタ４ａ，４ｂと、バッファ３ａ，３ｂ毎の空き領域が閾値Ｔｈ０，Ｔｈ１に達したか否かによって、転送量Ｔｒｓ０，Ｔｒｓ１を増減する転送量調整回路５と、を有することを特徴とするデータ転送装置が提供される。
【００１３】
このようなデータ転送装置によれば、複数のリソース７ａ，７ｂ毎に設けたバッファ３ａ，３ｂの空き領域が、閾値レジスタ４ａ，４ｂに設定された閾値Ｔｈ０，Ｔｈ１に達したか否かによって、記憶装置１からリソース７ａ，７ｂに転送するデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を増減する。よって、記憶装置１から複数のリソース７ａ，７ｂへのデータＤａｔ０，Ｄａｔ１の転送効率を高める。
【００１４】
また、上記課題を解決するために、データの転送を調停するデータ転送装置において、複数のリソースが共有するデータが記憶される記憶装置と、前記データを転送優先度の高い前記リソースに指示される転送量に従って転送する転送調停回路と、前記リソース毎に設けられ、前記転送調停回路から転送される前記データを一時格納して出力するバッファと、前記バッファ毎の過去の空き領域を記憶し、前記過去の空き領域の統計に基づいて、次に前記データが転送されたときの前記バッファ毎の空き領域を予測し、前記転送量を増減する転送量調整回路と、を有することを特徴とするデータ転送装置が提供される。
【００１５】
このようなデータ転送装置よれば、複数のリソース毎に設けたバッファの過去の空き領域を記憶し、過去の空き領域の統計に基づいて、次にデータが転送されたときのバッファ毎の空き領域を予測し、転送量を増減する。よって、記憶装置１から複数のリソース７ａ，７ｂへのデータＤａｔ０，Ｄａｔ１の転送効率を高める。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。本発明のデータ転送装置は、例えばデジタルカメラなどに適用される。デジタルカメラの画像データを撮り込むリソース、撮り込んだ画像データの補間処理を行うリソース等は、１つの記憶装置でデータを共有し、パイプライン処理を行う。データ転送装置は、記憶装置に記憶されたデータを優先度の高いリソースに効率よく転送する。
【００１７】
図１は、第１の実施の形態に係るデータ転送装置の回路図である。図に示すように、データ転送装置は、記憶装置１、転送調停回路２、バッファ３ａ，３ｂ、閾値レジスタ４ａ，４ｂ、転送量調整回路５、及びリソース７ａ，７ｂを有している。図に示す転送ＣＨ０は、リソース７ａにデータＤａｔ０を転送するための回路の集まりを示し、バッファ３ａ、閾値レジスタ４ａ、及び制御回路６ａを有している。転送ＣＨ１は、リソース７ｂにデータＤａｔ１を転送するための回路の集まりを示し、バッファ３ｂ、閾値レジスタ４ｂ、及び制御回路６ｂを有している。
【００１８】
記憶装置１は、リソース７ａ，７ｂが共有するデータＤａｔ０，Ｄａｔ１が記憶される。記憶装置１は、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。
【００１９】
転送調停回路２は、制御回路６ａ，６ｂから出力されるリクエスト信号Ｒｅｑ０，Ｒｅｑ１を受け付けると、データ転送すべき優先度の高いリソース７ａ，７ｂを判定する。転送調停回路２は、優先度の高いリソース７ａ，７ｂを判定すると、そのリソース７ａ，７ｂに対応する転送ＣＨ０，ＣＨ１の制御回路６ａ，６ｂに、応答信号Ａｃｋ０，Ａｃｋ１を出力する。転送調停回路２は、転送量調整回路５から出力されている転送量Ｔｒｓ０，Ｔｒｓ１に従って、応答信号Ａｃｋ０，Ａｃｋ１を出力した転送ＣＨ０，ＣＨ１のバッファ３ａ，３ｂに、記憶装置１に記憶されていたデータＤａｔ０，Ｄａｔ１を出力する。
【００２０】
転送量Ｔｒｓ０，Ｔｒｓ１は、転送調停回路２が、１回のリクエスト信号Ｒｅｑ０，Ｒｅｑ１に応じて転送するデータＤａｔ０，Ｄａｔ１の転送量であり、記憶装置１のアドレスの大きさで示される。例えば、転送量Ｔｒｓ０の値が‘８’であれば、転送調停回路２は、１回の転送で、記憶装置１の８アドレス分のデータＤａｔ０をバッファ３ａに出力する。
【００２１】
なお、優先度の高いリソースにデータアクセスを集中させない分散方法として、ラウンドロビンがある。
バッファ３ａ，３ｂは、リソース７ａ，７ｂの各々に設けられている。バッファ３ａは、転送調停回路２から転送されるデータＤａｔ０を一時格納して、リソース７ａに出力する。バッファ３ｂは、転送調停回路２から転送されるデータＤａｔ１を一時格納して、リソース７ｂに出力する。バッファ３ａ，３ｂは、ＦＩＦＯ方式によって、データＤａｔ０，Ｄａｔ１を格納し、出力する。また、バッファ３ａ，３ｂは、空き領域の大きさを示す空サイズＳｉｚ０，Ｓｉｚ１を転送量調整回路５、制御回路６ａ，６ｂに出力する。
【００２２】
閾値レジスタ４ａ，４ｂには、転送量調整回路５がバッファ３ａ，３ｂの空サイズＳｉｚ０，Ｓｉｚ１と大小比較するための閾値Ｔｈ０，Ｔｈ１（バッファ３ａ，３ｂの領域に関する値）が設定される。
【００２３】
転送量調整回路５は、バッファ３ａ，３ｂ毎において、空サイズＳｉｚ０，Ｓｉｚ１が閾値レジスタ４ａ，４ｂに設定されている閾値Ｔｈ０，Ｔｈ１以上か否かを判定し、転送調停回路２に出力している転送量Ｔｒｓ０，Ｔｒｓ１を増減する。具体的には、バッファ３ａの空サイズＳｉｚ０が閾値Ｔｈ０以上である場合、転送量調整回路５は転送量Ｔｒｓ０を増加する。バッファ３ａの空サイズＳｉｚ０が、閾値Ｔｈ０以上の状態から、閾値Ｔｈ０より小さい値となった場合、転送量調整回路５は、転送量Ｔｒｓ０を増加した前の値に低減する。すなわち、転送量調整回路５は、バッファ３ａ、３ｂの空サイズＳｉｚ０，Ｓｉｚ１が、閾値Ｔｈ０，Ｔｈ１以上になると、転送調停回路２のデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ１，Ｔｒｓ１を増加させ、バッファ３ａ，３ｂの空サイズＳｉｚ０，Ｓｉｚ１が小さくなるようにする。
【００２４】
図２は、図１の転送量調整回路の具体的な回路図である。図に示すように、転送量調整回路５は、減算回路１１ａ，１１ｂ、負検出回路１２ａ，１２ｂ、及び選択回路１３ａ，１３ｂを有している。
【００２５】
減算回路１１ａには、閾値Ｔｈ０、空サイズＳｉｚ０が入力される。減算回路１１ａは、閾値Ｔｈ０から空サイズＳｉｚ０を減算し、その結果を負検出回路１２ａに出力する。減算回路１１ｂには、閾値Ｔｈ１、空サイズＳｉｚ１が入力される。減算回路１１ｂも減算回路１１ａと同様にして、閾値Ｔｈ１から空サイズＳｉｚ１を減算し、その結果を負検出回路１２ｂに出力する。
【００２６】
負検出回路１２ａ，１２ｂは、減算回路１１ａ，１１ｂから出力された減算結果の正負を検出し選択回路１３ａ，１３ｂに出力する。
選択回路１３ａには、転送量Ｔｒｓ０となる値‘８’、‘１６’が入力されている。選択回路１３ａは、負検出回路１２ａの検出結果に応じて、入力されている‘８’、‘１６’を選択し、転送量Ｔｒｓ０として出力する。具体的には、負検出回路１２ａから負の検出結果が出力された場合、すなわち、バッファ３ａの空サイズＳｉｚ０が閾値Ｔｈ０以上の場合、選択回路１３ａは、‘１６’を転送量Ｔｒｓ０として出力する。負検出回路１２ａから正の検出結果が出力された場合、すなわち、バッファ３ａの空サイズＳｉｚ０が閾値Ｔｈ０より小さかった場合、選択回路１３ａは、‘８’を転送量Ｔｒｓ０として出力する。
【００２７】
図１の説明に戻る。制御回路６ａ，６ｂは、転送調停回路２にデータＤａｔ０，Ｄａｔ１の転送要求を行うためのリクエスト信号Ｒｅｑ０，Ｒｅｑ１を出力する。制御回路６ａ，６ｂは、応答信号Ａｃｋ０，Ａｃｋ１を受信することにより、データＤａｔ０，Ｄａｔ１がバッファ３ａ，３ｂに転送されることを認識する。
【００２８】
制御回路６ａ，６ｂは、バッファ３ａ，３ｂの空サイズＳｉｚ０，Ｓｉｚ１の大きさによって、リクエスト信号Ｒｅｑ０，Ｒｅｑ１を出力する。例えば、空サイズＳｉｚ０，Ｓｉｚ１が所定の値より大きくなったとき、リクエスト信号Ｒｅｑ０，Ｒｅｑ１を出力する。または、制御回路６ａ，６ｂは、一定時間毎にリクエスト信号Ｒｅｑ０，Ｒｅｑ１を出力するようにしてもよい。
【００２９】
リソース７ａ，７ｂは、共有するデータＤａｔ０，Ｄａｔ１をパイプライン処理する。記憶装置１に記憶されているデータＤａｔ０，Ｄａｔ１は、バッファ３ａ，３ｂに一時格納され、リソース７ａ，７ｂは、バッファ３ａ，３ｂに一時格納されたデータＤａｔ０，Ｄａｔ１を受け取って処理を行う。
【００３０】
以下、図１の動作についてタイミングチャートを用いて説明する。図１において、リソース７ａの転送優先度はリソース７ｂより大きいとする。図３は、図１のデータ転送装置の動作を説明するタイミングチャートである。図３に示すＴｈ０の‘１Ａｈ’（ｈ：１６進数であることを示す）は、閾値レジスタ４ａに設定されている値を示している。Ｒｅｑ０、Ａｃｋ０は、リクエスト信号Ｒｅｑ０、応答信号Ａｃｋ０のタイミング波形を示している。Ｓｉｚ０の‘１８ｈ’，‘１９ｈ’，…‘０Ｅｈ’は、バッファ３ａの空サイズＳｉｚ０の変化を示している。Ｔｒｓ０は、データＤａｔ０の転送量Ｔｒｓ０の変化を示している。
【００３１】
バッファ３ａは、図３に示すように、一時格納したデータＤａｔ０をリソース７ａに１つずつ出力する。よって、バッファ３ａの空サイズＳｉｚ０は、‘１８ｈ’，‘１９ｈ’，…と１ずつ増加していく。
【００３２】
バッファ３ａの空サイズＳｉｚ０は、転送量調整回路５に出力されている。転送量調整回路５は、バッファ３ａの空サイズＳｉｚ０が、閾値レジスタ４ａに設定されている閾値Ｔｈ０以上か否かを判定する。
【００３３】
閾値レジスタ４ａに設定されている閾値Ｔｈ０は、図３に示すように‘１Ａｈ’である。従って、空サイズＳｉｚ０が‘１Ａｈ’以上になると、転送量調整回路５は、転送量Ｔｒｓ０を‘８’（８アドレス分転送）から‘１６’（１６アドレス分転送）に増加する。
【００３４】
制御回路６ａ，６ｂが、転送調停回路２にリクエスト信号Ｒｅｑ０，Ｒｅｑ１を出力したとする。転送調停回路２は、リクエスト信号Ｒｅｑ０，Ｒｅｑ１を受け、リソース７ａ，７ｂの優先度の高低を判定し、応答信号Ａｃｋ０，Ａｃｋ１を出力する。ここでは、リソース７ａの優先度が高いと仮定しているので、転送調停回路２は、リソース７ａに対応する転送ＣＨ０の制御回路６ａに、図３に示すよう応答信号Ａｃｋ０を出力する。そして、転送調停回路２は、転送量Ｔｒｓ０に従って、データＤａｔ０をバッファ３ａに出力する。
【００３５】
このときの転送量Ｔｒｓ０は、図３に示すように、‘１６’である。従って、転送調停回路２は、記憶装置１の１６アドレス分のデータＤａｔ０をバッファ３ａに出力する。
【００３６】
バッファ３ａは、１６アドレス分のデータＤａｔ０が、記憶装置１から転送されたことにより、その空サイズＳｉｚ０は、‘１Ｃｈ’から‘０Ｄｈ’となる。
転送量調整回路５は、空サイズＳｉｚ０が、閾値Ｔｈ０の‘１Ａｈ’より小さい‘０Ｃｈ’になったことから、‘８’の転送量Ｔｒｓ０を出力する。
【００３７】
同様に、転送ＣＨ１においても、バッファ３ｂの空サイズＳｉｚ１が閾値Ｔｈ１に達したか否かによって、転送量調整回路５は、転送量Ｔｒｓ１を増減する。そして、制御回路６ｂがリクエスト信号Ｒｅｑ１を出力して、応答信号Ａｃｋ１が帰ってきたら、転送量Ｔｒｓ１のデータＤａｔ１がバッファ３ｂに転送される。
【００３８】
このように、リソース７ａ，７ｂに設けたバッファ３ａ，３ｂの空サイズＳｉｚ０，Ｓｉｚ１が、閾値レジスタ４ａ，４ｂに設定された閾値Ｔｈ０，Ｔｈ１以上か否かによって、記憶装置１からリソース７ａ，７ｂに転送するデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を増減するようにした。これにより、記憶装置１からリソース７ａ，７ｂへのデータ転送の効率を高めることができる。
【００３９】
なお、上記では、バッファ３ａ，３ｂの空サイズＳｉｚ０，Ｓｉｚ１が、閾値Ｔｈ０，Ｔｈ１以上か否かによって、転送量Ｔｒｓ０，Ｔｒｓ１を増減するようにしたが、バッファ３ａ，３ｂに一時格納されるデータＤａｔ０，Ｄａｔ１が、閾値レジスタ４ａ，４ｂに設定される値以上か否かによって、転送量Ｔｒｓ０，Ｔｒｓ１を増減するようにしてもよい。
【００４０】
また、優先度の高いリソース７ａの転送量Ｔｒｓ０が増加した場合、優先度の低いリソース７ｂの転送量Ｔｒｓ１を増加させないようにして、データ転送の効率を高めることもできる。図４は、転送量調整回路の回路図の他の例である。図３では、図２に示した負検出回路１２ａ，１２ｂの検出結果を、ＡＮＤ回路１４でＡＮＤ演算して選択回路１３ｂに出力する。例えば、図３において、負検出回路１２ａ，１２ｂから共に、負の検出結果を示すＨ状態が出力された場合、ＡＮＤ回路１４は、Ｌ状態を出力する。選択回路１３ａは、負検出回路１２ａのＨ状態より、‘１６’を転送量Ｔｒｓ０として出力し、選択回路１３ｂは、ＡＮＤ回路１４のＬ状態より、‘８’を転送量Ｔｒｓ１として出力する。このようにして、優先度の低いリソース７ｂの転送量Ｔｒｓ１を増加させないようにする。
【００４１】
なお、リソースの数は２以上であってもよく、この場合、各リソースに対して図１の転送ＣＨ０，ＣＨ１，…を具備するようにすればよい。
次に本発明の第２の実施の形態について説明する。図５は、第２の実施の形態に係るデータ転送装置の回路図である。図に示すように、データ転送装置は、記憶装置２１、転送調停回路２２、バッファ２３ａ，２３ｂ、閾値レジスタ２４ａａ，２４ｂａ、転送ＵＰマスクレジスタ２４ａｂ，２４ｂｂ、転送ＤＮ要求レジスタ２４ａｃ，２４ｂｃ、転送量調整回路２５、制御回路２６ａ，２６ｂ、及びリソース２７ａ，２７ｂを有している。図に示す転送ＣＨ０は、リソース２７ａにデータＤａｔ０を転送するための回路の集まりを示し、バッファ２３ａ、閾値レジスタ２４ａａ、転送ＵＰマスクレジスタ２４ａｂ、転送ＤＮ要求レジスタ２４ａｃ、及び制御回路２６ａを有している。転送ＣＨ１は、リソース２７ｂにデータＤａｔ１を転送するための回路の集まりを示し、バッファ２３ｂ、閾値レジスタ２４ｂａ、転送ＵＰマスクレジスタ２４ｂｂ、転送ＤＮ要求レジスタ２４ｂｃ、及び制御回路２６ｂを有している。なお、図５に示す記憶装置２１、転送調停回路２２、バッファ２３ａ，２３ｂ、制御回路２６ａ，２６ｂ、及びリソース２７ａ，２７ｂは、図１で示した記憶装置１、転送調停回路２、バッファ３ａ，３ｂ、制御回路６ａ，６ｂ、及びリソース７ａ，７ｂと同様であり、その説明を省略する。
【００４２】
閾値レジスタ２４ａａ，２４ｂａには、転送量調整回路２５がバッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１と大小比較するための、バッファ２３ａ，２３ｂの領域に関する閾値Ｔｈ０，Ｔｈ１が設定される。転送ＵＰマスクレジスタ２４ａｂ，２４ｂｂには、転送量調整回路２５がバッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１と大小比較するための、バッファ２３ａ，２３ｂの領域に関するＵＰマスク値Ｍａｓｋ０，Ｍａｓｋ１が設定される。転送ＤＮ要求レジスタ２４ａｃ，２４ｂｃには、転送量調整回路２５がバッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１と大小比較するための、バッファ２３ａ，２３ｂの領域に関するＤＮ要求値Ｒｅｑｄｎ０，Ｒｅｑｄｎ１が設定される。閾値Ｔｈ０＜ＵＰマスク値Ｍａｓｋ０＜ＤＮ要求値Ｒｅｑｄｎ０、閾値Ｔｈ１＜ＵＰマスク値Ｍａｓｋ１＜ＤＮ要求値Ｒｅｑｄｎ１の関係がある。
【００４３】
転送量調整回路２５は、バッファ２３ａ，２３ｂ毎において、空サイズＳｉｚ０，Ｓｉｚ１が、閾値Ｔｈ０，Ｔｈ１以上か否かを判定し、転送量Ｔｒｓ０，Ｔｒｓ１を増減する。具体的には、バッファ２３ａの空サイズＳｉｚ０が、閾値Ｔｈ０以上の場合、転送量調整回路２５は、転送量Ｔｒｓ０を増加する。バッファ２３ａの空サイズＳｉｚ０が、閾値Ｔｈ０以上の状態から、閾値Ｔｈ０より小さい値となった場合、転送量調整回路２５は、転送量Ｔｒｓ０を増加した前の値に低減する。すなわち、転送量調整回路２５は、バッファ２３ａ、２３ｂの空サイズＳｉｚ０，Ｓｉｚ１が、閾値Ｔｈ０，Ｔｈ１以上になると、転送調停回路２２のデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ１，Ｔｒｓ０を増加させ、バッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１が小さくなるようにする。
【００４４】
また、転送量調整回路２５は、バッファ２３ａ，２３ｂ毎において、空サイズＳｉｚ０，Ｓｉｚ１が、ＵＰマスク値Ｍａｓｋ０，Ｍａｓｋ１以上か否かを判定し、優先度の低いリソース２７ａ，２７ｂにおけるデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を増加しないようにする（変更（増減）しないようにする）。具体的には、リソース２７ａのデータ転送の優先度がリソース２７ｂより高い場合において、バッファ２３ａの空サイズＳｉｚ０が、ＵＰマスク値Ｍａｓｋ０以上のとき、バッファ２３ａの空サイズＳｉｚ１が、閾値Ｔｈ１以上になっても、転送量Ｔｒｓ１を増加しない。すなわち、優先度の高いリソース２７ａ，２７ｂにおけるバッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１が、ＵＰマスク値Ｍａｓｋ０，Ｍａｓｋ１以上となった場合、他方の優先度の低いリソース２７ａ，２７ｂのデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を増加しないようにする。
【００４５】
さらに、転送量調整回路２５は、バッファ２３ａ，２３ｂ毎において、空サイズＳｉｚ０，Ｓｉｚ１が、ＤＮ要求値Ｒｅｑｄｎ０，Ｒｅｑｄｎ１以上か否かを判定し、優先度の低いリソース２７ａ，２７ｂにおけるデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を低減する。具体的には、リソース２７ａのデータ転送の優先度がリソース２７ｂより高い場合において、バッファ２３ａの空サイズＳｉｚ０が、ＤＮ要求値Ｒｅｑｄｎ０以上のとき、優先度の低いリソース２７ｂにおける転送量Ｔｒｓ１を低減する。すなわち、優先度の高いリソース２７ａ，２７ｂにおけるバッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１が、ＤＮ要求値Ｒｅｑｄｎ０，Ｒｅｑｄｎ１以上となった場合、他方の優先度の低いリソース２７ａ，２７ｂのデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を低減する。
【００４６】
ところで、上述したように、閾値Ｔｈ０＜ＵＰマスク値Ｍａｓｋ０、閾値Ｔｈ１＜ＵＰマスク値Ｍａｓｋ１の関係がある。よって、優先度の高いリソースのバッファの空サイズが閾値より大きく、さらにＵＰマスク値より大きい場合に、優先度の低いリソースにおけるバッファへの転送量の増加が禁止される。すなわち、優先度の低いリソースのデータ転送時間が抑制され、この転送時間が抑制された分、優先度の高いリソースへのデータ転送に割り振られ、記憶装置からリソースへのデータ転送効率をより高める。
【００４７】
また、ＵＰマスク値Ｍａｓｋ０＜ＤＮ要求値Ｒｅｑｄｎ０、ＵＰマスク値Ｍａｓｋ１＜ＤＮ要求値Ｒｅｑｄｎ０の関係がある。よって、優先度の高いリソースのバッファの空サイズがＵＰマスク値より大きく、さらにＤＮ要求値より大きい場合に、優先度の低いリソースにおけるバッファへの転送量が低減される。すなわち、優先度の低いリソースの転送時間が低減され、この転送時間が低減された分、優先度の高いリソースへのデータ転送に割り振られ、記憶装置からリソースへのデータ転送効率をより高める。
【００４８】
以下、図５の動作についてタイミングチャートを用いて説明する。図５において、リソース２７ａの転送優先度はリソース２７ｂより大きいとする。また、閾値レジスタ２４ａａには、閾値Ｔｈ０として‘１Ａｈ’が設定されているとする。転送ＵＰマスクレジスタ２４ａｂには、ＵＰマスク値Ｍａｓｋ０として‘１Ｅｈ’が設定されているとする。転送ＤＮ要求レジスタ２４ａｃには、ＤＮ要求値Ｒｅｑｄｎ０として‘２０ｈ’が設定されている。閾値レジスタ２４ｂａには、閾値Ｔｈ１として‘４Ａｈ’が設定されているとする。転送ＵＰマスクレジスタ２４ｂｂには、ＵＰマスク値Ｍａｓｋ１として‘４Ｅｈ’が設定されているとする。
【００４９】
図６は、図５のデータ転送装置の動作を説明するタイミングチャートである。図に示すように、Ｓｉｚ０の‘１８ｈ’，‘１９ｈ’，…は、バッファ２３ａの空サイズＳｉｚ０の変化を示している。転送ＵＰ０は、空サイズＳｉｚ０が、閾値Ｔｈ０以上になったときのタイミングを示している。Ｔｒｓ０は、転送量調整回路２５が転送調停回路２２に指示するデータＤａｔ０の転送量Ｔｒｓ０を示している。また、Ｓｉｚ１の‘４３ｈ’，‘４４ｈ’，…は、バッファ２３ｂの空サイズＳｉｚ１の変化を示している。転送ＵＰ１は、空サイズＳｉｚ１が、ＵＰマスク値Ｍａｓｋ１以上になったときのタイミングを示している。転送ＤＮ１は、空サイズＳｉｚ０が、ＤＮ要求値Ｒｅｑｄｎ１より大きくなったときのタイミングを示している。Ｔｒｓ１は、転送量調整回路２５が転送調停回路２２に指示するデータＤａｔ１の転送量Ｔｒｓ０を示している。
【００５０】
図６に示すように、バッファ３ａの空サイズＳｉｚ０が、閾値Ｔｈ０である‘１Ａｈ’以上になると、転送量調整回路２５は、転送量Ｔｒｓ０を‘８’（８アドレス分転送）から‘１６’（１６アドレス分転送）に増加させる。よって、転送調停回路２２は、データＤａｔ０を転送するとき、記憶装置２１の１６アドレス分転送することとなる。
【００５１】
バッファ３ａの空サイズＳｉｚ０が、ＵＰマスク値Ｍａｓｋ０である‘１Ｅｈ’以上になると、転送量調整回路２５は、バッファ３ｂの空サイズＳｉｚ１が、閾値Ｔｈ１である‘４Ａｈ’以上になっても、転送量Ｔｒｓ１を増加しない。
【００５２】
バッファ３ａの空サイズＳｉｚ０が、ＤＮ要求値Ｒｅｑｄｎ０である‘２０ｈ’以上になると、転送量調整回路２５は、転送量Ｔｒｓ１を‘８’（８アドレス分転送）から‘４’（４アドレス分転送）に低減する。よって、転送調停回路２２は、データＤａｔ１を転送するとき、記憶装置２１の８アドレス分転送することとなる。
【００５３】
このように、リソース２７ａ，２７ｂに設けたバッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１が、閾値レジスタ２４ａａ，２４ｂａに設定された閾値Ｔｈ０，Ｔｈ１以上か否かによって、記憶装置２１からリソース２７ａ，２７ｂに転送するデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を増減するようにした。これにより、記憶装置２１からリソース２７ａ，２７ｂへのデータの転送効率を高めることができる。
【００５４】
また、バッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１がさらに大きくなり、転送ＵＰマスクレジスタ２４ａｂ，２４ｂｂに設定されたＵＰマスク値Ｍａｓｋ０，Ｍａｓｋ１以上になると、優先度の低いリソース２７ａ，２７ｂにおけるデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を増加（変更）させないようにした。これにより、優先度の低いリソースの転送時間が抑制される分、優先度の高いリソースへのデータ転送に割り振られ、記憶装置２１からリソース２７ａ，２７ｂへのデータの転送効率を高めることができる。
【００５５】
さらに、バッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１が大きくなり、転送ＤＮ要求レジスタ２４ａｃ，２４ｂｃに設定されたＤＮ要求値Ｒｅｑｄｎ０，Ｒｅｑｄｎ１以上になると、優先度の低いリソース２７ａ，２７ｂにおけるデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を低減するようにした。これにより、優先度の低いリソースの転送時間が低減される分、優先度の高いリソースへのデータの転送に割り振られ、記憶装置２１からリソース２７ａ，２７ｂへのデータの転送効率を高めることができる。
【００５６】
なお、閾値Ｔｈ０をＵＰマスク値Ｍａｓｋ０、閾値Ｔｈ１をＵＰマスク値Ｍａｓｋ１としてもよい。すなわち、閾値レジスタ２４ａａ，２４ｂｂに設定される閾値Ｔｈ０，Ｔｈ１によって、転送量Ｔｒｓ０，Ｔｒｓ１を増加（変更）するか否かを判定するようにする。これにより、転送ＵＰマスクレジスタ２４ａｂ，２４ｂｂは不要となり、コストを低減することができる。
【００５７】
また、閾値Ｔｈ０をＤＮ要求値Ｒｅｑｄｎ０、閾値Ｔｈ１をＤＮ要求値Ｒｅｑｄｎ１としてもよい。すなわち、閾値レジスタ２４ａａ，２４ｂｂに設定される閾値Ｔｈ０，Ｔｈ１によって、転送量Ｔｒｓ０，Ｔｒｓ１を低減するか否かを判定するようにする。これにより、転送ＤＮ要求レジスタ２４ａｂ，２４ｂｂは不要となり、コストを低減することができる。
【００５８】
また、複数の閾値レジスタ２４ａａ，２４ｂａを複数設け、複数の閾値と空サイズＳｉｚ０，Ｓｉｚ１とを比較するようにし、空サイズＳｉｚ０，Ｓｉｚ１が、複数の閾値以上になる毎に、段階的に転送量Ｔｒｓ０，Ｔｒｓ１を増減するようにしてもよい。これにより、記憶装置２１からリソース２７ａ，２７ｂへのデータの転送効率をより高めることができる。
【００５９】
また、閾値レジスタ２４ａａ，２４ｂａ、転送ＵＰマスクレジスタ２４ａｂ，２４ｂｂ、及び転送ＤＮ要求レジスタ２４ａｃ，２４ｂｃのそれぞれを１つにして、１つの閾値、ＵＰマスク値、及びＤＮ要求値で、各バッファ２３ａ，２３ｂの空サイズＳｉｚ０，Ｓｉｚ１と比較するようにしてもよい。すなわち、各バッファにおいて、閾値、ＵＰマスク値、及びＤＮ要求値を共通にすることにより、閾値レジスタ、転送ＵＰマスクレジスタ、及び転送ＤＮ要求レジスタが１つで済み、コストを低減することができる。
【００６０】
さらに、転送量調整回路２５の動作を、例えばＣＰＵなどの制御装置によって、データを高い転送効率で転送する場合には活性化し、高い転送効率で転送する必要がない場合には非活性化することにより、消費電力を低減することができる。
【００６１】
なお、リソースの数は２以上であってもよく、この場合、各リソースに対して図１の転送ＣＨ０，ＣＨ１，…を具備するようにすればよい。
次に本発明の第３の実施の形態について説明する。図７は、第３の実施の形態に係るデータ転送装置の回路図である。図に示すように、データ転送装置は、記憶装置３１、転送調停回路３２、バッファ３３ａ，３３ｂ、転送量調整回路３４ａ，３４ｂ、制御回路３５ａ，３５ｂ、及びリソース３６ａ，３６ｂを有している。図に示す転送ＣＨ０は、リソース３６ａにデータＤａｔ０を転送するための回路の集まりを示し、バッファ３３ａ、制御回路３５ａを有している。転送ＣＨ１は、リソース３６ｂにデータＤａｔ１を転送するための回路の集まりを示し、バッファ３３ｂ、制御回路３５ｂを有している。なお、図７に示す記憶装置３１、転送調停回路３２、バッファ３３ａ，３３ｂ、制御回路３５ａ，３５ｂ、及びリソース３６ａ，３６ｂは、図１で示した記憶装置１、転送調停回路２、バッファ３ａ，３ｂ、制御回路６ａ，６ｂ、リソース７ａ，７ｂと同様であり、その説明を省略する。
【００６２】
第３の実施の形態では、転送量調整回路３４ａ，３４ｂは、バッファ３３ａ，３３ｂの過去の空サイズＳｉｚ０，Ｓｉｚ１を記憶し、その記憶した空サイズＳｉｚ０，Ｓｉｚ１の統計に基づいて、次にデータＤａｔ０，Ｄａｔ１の転送が行われるときのバッファ３３ａ，３３ｂの空サイズＳｉｚ０，Ｓｉｚ１を予測する。そして、転送量調整回路３４ａ，３４ｂは、予測した空サイズＳｉｚ０，Ｓｉｚ１に基づいて転送量Ｔｒｓ０，Ｔｒｓ１を増減する。
【００６３】
転送量調整回路３４ａは、前回データＤａｔ０の転送が行われたときのバッファ３３ａの空サイズＳｉｚ０と、現在行われたデータＤａｔ０の転送が行われたときのバッファ３３ａの空サイズＳｉｚ０との差分をとり、内蔵する記憶装置に記憶していく。転送量調整回路３４ａは、記憶していた過去の差分の傾きから、次にデータが転送されたときのバッファの空き領域を予測して転送量Ｔｒｓ０を増減する。転送量調整回路３４ｂも転送量調整回路３４ａと同様にして、バッファ３３ｂの空サイズＳｉｚ１を予測して転送量Ｔｒｓ１を増減する。図８は、転送量調整回路の回路図である。図に示すように、転送量調整回路３４ａは、ラッチ回路４１、差分回路４２、記憶装置４３、傾き予測回路４４、及び制御回路４５を有している。
【００６４】
ラッチ回路４１には、空サイズＳｉｚ０、応答信号Ａｃｋ０が入力されている。ラッチ回路４１は、応答信号Ａｃｋ０が入力されると、保持していた前回の転送時における空サイズＳｉｚ０を差分回路４２に出力し、現在入力されている空サイズＳｉｚ０を保持する。
【００６５】
差分回路４２には、現在の空サイズＳｉｚ０と、ラッチ回路４１に保持された前回の空サイズＳｉｚ０が入力されている。差分回路４２は、入力されている現在の空サイズＳｉｚ０と前回の空サイズＳｉｚ０との差分をとり、記憶装置４３に記憶する。
【００６６】
記憶装置４３は、差分回路４２から出力された空サイズＳｉｚ０の差分値を複数回分に渡って記憶する。記憶装置４３は、応答信号Ａｃｋ０に同期して差分回路４２から出力される空サイズＳｉｚ０の差分値を記憶する。また、記憶装置４３は、制御回路４５の指示に応じて、記憶していた空サイズＳｉｚ０の差分値を傾き予測回路４４に出力する。
【００６７】
傾き予測回路４４は、記憶装置４３に記憶されていた空サイズＳｉｚ０の差分値の傾きに応じて、次回データＤａｔ０転送が行われたときのバッファ３３ａの空サイズＳｉｚ０を予測する。図９は、記憶装置に記憶された空サイズの差分値のグラフである。図に示すグラフの横軸は時間を示し、縦軸は空サイズＳｉｚ０の差分値を示している。また、図に示す‘○’は、記憶装置４３に記憶された空サイズＳｉｚ０の差分値である。図中において、‘○’が右に行くほど空サイズＳｉｚ０の差分値は過去ものとなる。
【００６８】
図９において、空サイズＳｉｚ０の差分値は、増加の傾向にある。傾き予測回路４４は、記憶装置４３に記憶されている空サイズの差分値の増加する傾きに応じて、次回データＤａｔ０の転送が行われたときのバッファ３３ａの空サイズＳｉｚ０が増加することを予測する。
【００６９】
制御回路４５は、傾き予測回路４４によるバッファ３３ａの空サイズＳｉｚ０の予測に基づいて、データＤａｔ０の転送量Ｔｒｓ０を増減する。制御回路４５には、応答信号Ａｃｋ０が入力され、応答信号Ａｃｋ０に同期して、転送量Ｔｒｓ０を増減する。
【００７０】
図９において、傾き予測回路４４は、バッファ３３ａの空サイズＳｉｚ０が増加することを予測するので、制御回路４５は、データＤａｔ０の転送量を増加する。
【００７１】
なお、転送量調整回路３４ｂは、図８で示す転送量調整回路３４ａと同じ構成を有し、その説明を省略する。
以下、図７の動作について説明する。図７において、リソース３６ａの転送優先度はリソース３６ｂより大きいとする。制御回路３５ａ，３５ｂが、転送調停回路３２にリクエスト信号Ｒｅｑ０，Ｒｅｑ１を出力したとする。転送調停回路３２は、リクエスト信号Ｒｅｑ０，Ｒｅｑ１を受けて、リソース３６ａ，３６ｂの優先度を判定する。ここでは、リソース３６ａの優先度が高いので、転送調停回路３２は、制御回路３５ａに応答信号Ａｃｋ０を出力する。そして、転送調停回路３２は、転送量調整回路３４ａから出力されている転送量Ｔｒｓ０に従って、データＤａｔ０をバッファ３３ａに出力する。
【００７２】
転送量調整回路３４ａは、応答信号Ａｃｋ０を受けて、バッファ３３ａから出力されている現在の空サイズＳｉｚ０と、前回の転送におけるバッファ３３ａの空サイズＳｉｚ０との差分をとり、図８で示したように、空サイズＳｉｚ０の差分値を記憶装置４３に記憶する。
【００７３】
転送量調整回路３４ａの傾き予測回路４４は、記憶装置４３に記憶されている空サイズＳｉｚ０の差分値の傾きから、次回データＤａｔ０が転送されたときのバッファ３３ａの空サイズＳｉｚ０を予測する。転送量調整回路３４ａの制御回路４５は、傾き予測回路４４が、空サイズＳｉｚ０が増加すると予測したならば転送量Ｔｒｓ０を増加し、低減すると予測したならば転送量Ｔｒｓ０を低減する。
【００７４】
このように、バッファ３３ａ，３３ｂにおいて、過去の空サイズＳｉｚ０，Ｓｉｚ１を記憶し、記憶した空サイズＳｉｚ０，Ｓｉｚ１の統計に基づいて、次にデータＤａｔ０，Ｄａｔ１が転送されたときのバッファ３３ａ，３３ｂの空き領域を予測し、転送量を増減するようにした。これにより、記憶装置３１からリソース３６ａ，３６ｂへのデータの転送効率を高めることができる。
【００７５】
なお、転送量調整回路３４ａ，３４ｂの動作を、例えばＣＰＵなどの制御装置によって、データを高い転送効率で転送する場合には活性化し、高い転送効率で転送する必要がない場合には非活性化することにより、消費電力を低減することができる。
【００７６】
また、リソースの数は２以上であってもよく、この場合、各リソースに対して図７の転送ＣＨ０，ＣＨ１，…を具備するようにすればよい。
次に本発明の第４の実施の形態について説明する。図１０は、第４の実施の形態に係るデータ転送装置の回路図である。図に示すように、データ転送装置は、記憶装置５１、転送調停回路５２、バッファ５３ａ，５３ｂ、転送量調整回路５４ａ，５４ｂ、ＣＨ間調停回路５５、制御回路５６ａ，５６ｂ、及びリソース５７ａ，５７ｂを有している。図に示す転送ＣＨ０は、リソース５７ａにデータＤａｔ０を転送するための回路の集まりを示し、バッファ５３ａ、制御回路５６ａを有している。転送ＣＨ１は、リソース５７ｂにデータＤａｔ１を転送するための回路の集まりを示し、バッファ５３ｂ、制御回路５６ｂを有している。なお、図１０に示す記憶装置５１、バッファ５３ａ，５３ｂ、制御回路５６ａ，５６ｂ、及びリソース５７ａ、５７ｂは、図７で示した記憶装置３１、バッファ３３ａ，３３ｂ、制御回路３５ａ，３５ｂ、及びリソース３６ａ，３６ｂと同様であり、その説明を省略する。
【００７７】
第４の実施の形態では、ＣＨ間調停回路５５が、リソース５７ａ，５７ｂの優先度を変更する。ＣＨ間調停回路５５は、リソース５７ａ，５７ｂの予め設定されている固定された優先度に、転送量調整回路５４ａ，５４ｂが算出する優先度を加算及び減算してリソース５７ａ，５７ｂの優先度を変更する。
【００７８】
転送量調整回路５４ａ，５４ｂは、図７の転送量調整回路３４ａ，３４ｂと同様の機能を有し、さらに、バッファ５３ａ，５３ｂの空サイズＳｉｚ０，Ｓｉｚ１の差分値の傾きから、加減する優先度を算出する機能を有する。例えば、転送量調整回路５４ａは、空サイズＳｉｚ０の差分値の傾きが増加するようであれば、バッファ５３ａの空サイズＳｉｚ０が増加すると予測し、リソース５７ａの固定された優先度に、所定の優先度を加算する。
【００７９】
転送調停回路５２は、ＣＨ間調停回路５５の優先度に基づいて、転送すべきリソース５７ａ，５７ｂを判定する。
また、ＣＨ間調停回路５５は、リソース５７ａ，５７ｂの優先度が、設定された所定の値以上になったとき、そのリソース５７ａ，５７ｂにおけるデータＤａｔ０，Ｄａｔ１の転送量Ｔｒｓ０，Ｔｒｓ１を増加させる。また、設定された所定の値は複数設けられ、ＣＨ間調停回路５５は、リソース５７ａ，５７ｂの優先度が、複数設けられた所定の値以上になる度に、段階的に転送量Ｔｒｓ０，Ｔｒｓ１を増加させる。
【００８０】
以下、図１０の動作について説明する。なお、転送量Ｔｒｓ０は、リソース５７ａの優先度が‘３’以上にならなければ増加されないとする。また、転送量Ｔｒｓ０は、リソース５７ａの優先度が‘４’以上で、記憶装置５１の８アドレス分まで増加可能とする。さらに、転送量Ｔｒｓ０は、リソース５７ａの優先度が‘５’以上で、記憶装置５１の１０アドレス分まで増加可能とする。
【００８１】
ＣＨ間調停回路５５は、リソース５７ａ，５７ｂの予め設定されている固定された優先度に、転送量調整回路５４ａ，５４ｂが算出する優先度を加算及び減算する。
【００８２】
ＣＨ間調停回路５５は、加算及び減算したリソース５７ａの優先度が‘１’〜‘３’であれば、転送量調整回路５４ａが出力する転送量Ｔｒｓ０を増加させないようにする。
【００８３】
ＣＨ間調停回路５５は、リソース５７ａの優先度が‘４’以上に変更されれば、転送量調整回路５４ａが出力する転送量Ｔｒｓ０を記憶装置５１の８アドレス分まで増加可能とする。
【００８４】
ＣＨ間調停回路５５は、リソース５７ａの優先度が‘５’以上に変更されれば、転送量調整回路５４ａが出力する転送量Ｔｒｓ０を記憶装置５１の１０アドレス分まで増加可能とする。
【００８５】
このように、ＣＨ間調停回路５５によって、リソース５７ａ，５７ｂの優先度を変更し、優先度が所定の値に段階的に達することによって、転送量Ｔｒｓ０，Ｔｒｓ１の増減幅を変更するようにした。これにより、記憶装置５１からリソース５７ａ，５７ｂへのデータの転送効率を高めることができる。
【００８６】
なお、転送量調整回路５４ａ，５４ｂの動作を、例えばＣＰＵなどの制御装置によって、データを高い転送効率で転送する場合には活性化し、高い転送効率で転送する必要がない場合には非活性化することにより、消費電力を低減することができる。
【００８７】
また、リソースの数は２以上であってもよく、この場合、各リソースに対して図７の転送ＣＨ０，ＣＨ１，…を具備するようにすればよい。
（付記１）  データ転送を調停するデータ転送装置において、
複数のリソースが共有するデータが記憶される記憶装置と、
前記データを転送優先度の高い前記リソースに指示される転送量に従って転送する転送調停回路と、
前記リソース毎に設けられ、前記転送調停回路から転送される前記データを一時格納して出力するバッファと、
前記バッファ毎の領域に関する閾値が設定される閾値レジスタと、
前記バッファ毎の空き領域が前記閾値に達したか否かによって、前記転送量を増減する転送量調整回路と、
を有することを特徴とするデータ転送装置。
【００８８】
（付記２）  前記転送量調整回路は、前記バッファ毎に一時格納された前記データが前記閾値に達したか否かによって、前記転送量を増減することを特徴とする付記１記載のデータ転送装置。
【００８９】
（付記３）  転送量増減禁止閾値が設定される増減禁止レジスタをさらに有し、
前記転送量調整回路は、前記バッファ毎の空き領域が前記転送量増減禁止閾値に達した場合、他の転送優先度の低い前記リソースにおける前記転送量を増減しないことを特徴とする付記１記載のデータ転送装置。
【００９０】
（付記４）  転送量低減要求閾値が設定される低減要求レジスタをさらに有し、
前記転送量調整回路は、前記バッファ毎の空き領域が前記転送量低減要求閾値に達した場合、他の転送優先度の低い前記リソースにおける前記転送量を低減することを特徴とする付記１記載のデータ転送装置。
【００９１】
（付記５）  前記転送量調整回路は、前記バッファ毎の空き領域が前記閾値に達した場合、他の転送優先度の低い前記リソースにおける前記転送量を増減しないことを特徴とする付記１記載のデータ転送装置。
【００９２】
（付記６）  前記転送量調整回路は、前記バッファ毎の空き領域が前記閾値に達した場合、他の転送優先度の低い前記リソースにおける前記転送量を低減することを特徴とする付記１記載のデータ転送装置。
【００９３】
（付記７）  前記閾値は、前記閾値レジスタに複数設定され、
前記転送量調整回路は、前記空き領域が前記複数の閾値に達する毎に、段階的に前記転送量を増減することを特徴とする付記１記載のデータ転送装置。
【００９４】
（付記８）  転送量調整回路は、選択信号によって活性化及び非活性化されることを特徴とする付記１記載のデータ転送装置。
（付記９）  前記閾値は、前記バッファのすべての空き領域で共通であることを特徴とする付記１記載のデータ転送装置。
【００９５】
（付記１０）  前記転送量増減禁止閾値は、前記バッファのすべての空き領域で共通であることを特徴とする付記３記載のデータ転送装置。
（付記１１）  前記転送量低減要求閾値は、前記バッファのすべての空き領域で共通であることを特徴とする付記４記載のデータ転送装置。
【００９６】
（付記１２）  データ転送を調停するデータ転送装置において、
複数のリソースが共有するデータが記憶される記憶装置と、
前記データを転送優先度の高い前記リソースに指示される転送量に従って転送する転送調停回路と、
前記リソース毎に設けられ、前記転送調停回路から転送される前記データを一時格納して出力するバッファと、
前記バッファ毎の過去の空き領域を記憶し、前記過去の空き領域の統計に基づいて、次に前記データが転送されたときの前記バッファ毎の空き領域を予測し、前記転送量を増減する転送量調整回路と、
を有することを特徴とするデータ転送装置。
【００９７】
（付記１３）  前記転送量調整回路は、現在の空き領域と前回前記データの転送が行われたときの空き領域との差分を記憶していき、前記記憶された差分の傾きから次に前記データが転送されたときの前記バッファ毎の空き領域を予測することを特徴とする付記１２記載のデータ転送装置。
【００９８】
（付記１４）  前記複数のリソースの転送優先度を前記バッファ毎の空き領域に基づいて変更する転送間調停回路を有することを特徴とする付記１２記載のデータ転送装置。
【００９９】
（付記１５）  前記転送量調整回路は、変更された前記転送優先度に基づいて、前記転送量の増減を行うことを特徴とする付記１４記載のデータ転送装置。
（付記１６）  前記転送量調整回路は、選択信号によって活性化及び非活性化されることを特徴とする付記１２記載のデータ転送装置。
【０１００】
【発明の効果】
以上説明したように本発明では、複数のリソース毎に設けたバッファの空き領域が、閾値レジスタに設定された閾値に達したか否かによって、記憶装置からリソースに転送するデータの転送量を増減するようにした。これにより、記憶装置から複数のリソースへのデータの転送効率を高めることができる。
【０１０１】
また本発明では、複数のリソース毎に設けたバッファの過去の空き領域を記憶し、記憶した過去の空き領域の統計に基づいて、次にデータが転送されたときのバッファ毎の空き領域を予測し、転送量を増減するようにした。これにより、記憶装置から複数のリソースへのデータの転送効率を高めることができる。
【図面の簡単な説明】
【図１】第１の実施の形態に係るデータ転送装置の回路図である。
【図２】図１の転送量調整回路の具体的な回路図である。
【図３】図１のデータ転送装置の動作を説明するタイミングチャートである。
【図４】転送量調整回路の回路図の他の例である。
【図５】第２の実施の形態に係るデータ転送装置の回路図である。
【図６】図５のデータ転送装置の動作を説明するタイミングチャートである。
【図７】第３の実施の形態に係るデータ転送装置の回路図である。
【図８】転送量調整回路の回路図である。
【図９】記憶装置に記憶された空サイズの差分値のグラフである。
【図１０】第４の実施の形態に係るデータ転送装置の回路図である。
【図１１】従来のデータ転送装置の回路図である。
【図１２】図１１のデータ転送装置の動作を説明するタイミングチャートである。
【符号の説明】
１，２１，３１，４３，５１  記憶装置
２，２２，３２，５２  転送調停回路
３ａ，３ｂ，２３ａ，２３ｂ，３３ａ，３３ｂ，５３ａ，５３ｂ  バッファ
４ａ，４ｂ，２４ａａ，２４ｂａ  閾値レジスタ
５，２５，３４ａ，３４ｂ，５４ａ，５４ｂ  転送量調整回路
６ａ，６ｂ，２６ａ，２６ｂ，３５ａ，３５ｂ，４５，５６ａ，５６ｂ  制御回路
７ａ，７ｂ，２７ａ，２７ｂ，３６ａ，３６ｂ，５７ａ，５７ｂ  リソース
２４ａｂ，２４ｂｂ  転送ＵＰマスクレジスタ
２４ａｃ，２４ｂｃ  転送ＤＮ要求レジスタ
４１  ラッチ回路
４２  差分回路
４４  傾き予測回路
５５  ＣＨ間調停回路
【図１】
2004252523.tif 000003
【図２】
2004252523.tif 000004
【図３】
2004252523.tif 000005
【図４】
2004252523.tif 000006
【図５】
2004252523.tif 000007
【図６】
2004252523.tif 000008
【図７】
2004252523.tif 000009
【図８】
2004252523.tif 000010
【図９】
2004252523.tif 000011
【図１０】
2004252523.tif 000012
【図１１】
2004252523.tif 000013
【図１２】
2004252523.tif 000014