(57)【要約】【課題】  バッファのハードウェア規模を最適化するとともにバッファ使用効率を向上させ、複数の機能処理装置と共通アクセスされる共有リソースを高速にアクセスすることを可能にする。【解決手段】  画像処理装置２および画像入出力装置３とそれらに共有アクセスされる共有のメモリ４間にバッファ１０８を具備し、特定のアクセスにのみバッファ１０８を使用するよう制御すると同時に共有のメモリ１０８へのデータ転送を制御する。画像処理装置２からのシングル転送要求と、画像入出力装置３からのバースト転送要求に対し、バッファ１０８にシングル転送データを保持するとともに、メモリ４へのバースト転送を行うようセレクタ１０７、セレクタ１０９を制御する。【選択図】        図１
2005165592.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能処理装置から出力された転送データを入力し、前記転送データを前記複数の機能処理装置から共通にアクセスされる共有リソースに前記転送データを出力するデータ転送装置であって、
バッファと、
前記複数の機能処理装置から出力されたデータを選択して前記バッファに出力する第１のデータ選択手段と、
前記複数の機能処理装置から出力されたデータと前記バッファから出力されるデータを選択出力する第２のデータ選択手段と、
前記第２のデータ選択手段のデータ出力を行うとともに前記共有リソースへのデータ転送を行うデータ転送制御手段とを備えたデータ転送装置。
【請求項２】
前記第１のデータ選択手段は、前記第２のデータ選択手段が前記複数の機能処理装置のうちのいずれかの機能処理装置からのデータを選択出力しているときに、前記複数の機能処理装置のうちの前記第２のデータ選択手段がデータを選択出力している機能処理装置とは異なる他の機能処理装置からのデータを前記バッファに選択出力することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記第１のデータ選択手段は、前記機能処理装置から１つのデータ転送サイクルにおいて最小単位数語のデータのみを伴うデータ転送をするときに前記機能処理装置のデータを前記バッファに選択出力することを特徴とする請求項１または２記載のデータ転送装置。
【請求項４】
前記第１のデータ選択手段は、前記複数の機能処理装置それぞれで、１つのデータ転送サイクルにおいて最小単位語数のデータのみを伴うデータ転送と、１つのデータ転送サイクルにおいて複数語のデータを伴うデータ転送とを行うとき、最小単位語数のデータのみを伴うデータ転送のデータを優先して前記バッファに選択出力することを特徴とする請求項１または２記載のデータ転送装置。
【請求項５】
前記データ転送制御手段は、前記第２のデータ選択手段から前記共有リソースへのデータ転送を制御するとともに前記共有リソースから前記複数の機能処理装置へのデータ転送を制御し、
前記複数の機能処理装置がそれぞれ前記共有リソースからのデータの転送を要求するとともに前記共有リソースへのデータの転送を要求するとき、前記第１のデータ選択手段は、前記共有リソースへのデータ転送を要求する前記複数の機能処理装置から転送されるデータを前記バッファに選択出力し、前記データ転送制御手段は、前記共有リソースからのデータの転送を優先的に行うことを特徴とする請求項１または２記載のデータ転送装置。
【請求項６】
前記複数の機能処理装置からアクセス可能な第１のレジスタを備え、
前記機能処理装置が前記第１のレジスタへのアクセスを開始したとき、前記データ転送制御手段は、前記第１のレジスタへのアクセス開始を検出し、前記バッファが保持するデータの前記共有リソースへの転送を優先して行うよう制御し、前記バッファが保持するデータの転送の終了により前記第１のレジスタへのアクセスが終了するよう制御することを特徴とする請求項１または２記載のデータ転送装置。
【請求項７】
割込み信号生成手段を備え、
前記第１のレジスタへのアクセスの終了時に、レジスタアクセスを行った機能処理装置と異なる他の機能処理装置への割込み信号をアクティブにすることを特徴とする請求項６記載のデータ転送装置。
【請求項８】
前記バッファが転送データと対に転送先アドレスを１つ以上保持し、
前記バッファの保持する前記転送先アドレスの１つと前記機能処理装置が要求する転送先アドレスとを比較し一致情報を出力する比較器とを備え、
前記データ転送制御手段はさらに前記一致情報を入力し、前記機能処理装置が前記共有リソースからのデータ転送もしくは、前記共有リソースへのデータ転送を要求し、前記一致情報がアクティブである場合に、前記一致情報がアクティブでなくなるまで前記バッファから前記共有リソースへのデータ転送を優先的に行うことを特徴とする請求項１または２記載のデータ転送装置。
【請求項９】
前記転送先アドレスの一部の選択を設定する第２のレジスタを備え、
前記比較器は前記アドレスの一部と前記機能処理装置が要求する転送先アドレスを比較することを特徴とする請求項８記載のデータ転送装置。
【請求項１０】
前記バッファが転送データと対に前記転送データを出力した前記機能処理装置の第１の判別情報を保持し、
前記バッファの保持する前記第１の判別情報と転送要求を行う前記機能処理装置の第２の判別情報とを比較し一致情報を出力する比較器とを備え、
前記データ転送制御手段はさらに前記一致情報を入力し、前記機能処理装置が前記共有リソースからのデータ転送もしくは、前記共有リソースへのデータ転送を要求し、前記一致情報がアクティブである場合に、前記一致情報がアクティブでなくなるまで前記バッファから前記共有リソースへのデータ転送を優先的に行うことを特徴とする請求項１または２記載のデータ転送装置。
【請求項１１】
データ転送装置が複数の前記共有リソースと接続され、前記共有リソースはデータ転送装置よりそれぞれ異なるアドレス領域に割り付けられ、前記第２のデータ選択手段の出力する転送先アドレスをデコードし、前記データ転送制御手段は、デコードにより指定された前記共有リソースへのデータ転送を制御することを特徴とする請求項１または２記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ転送装置に関し、特に複数の機能処理装置と複数の機能処理装置より共有してアクセスされる共有リソースとの間のデータ転送を少ないハードウェアで処理するデータ転送装置に関するものである。
【背景技術】
【０００２】
データ処理を行う上で複数の機能処理装置が共通のリソースにアクセスするシステムは、様々なシステムで用いられている。
【０００３】
第１の例として、グラフィックスシステムにおいてフレームメモリが共有されており、描画処理装置がフレームメモリの特定領域に画像ビットマップデータを書き込むとともにビデオコントローラが周期的にフレームメモリを読み出す場合がある。この場合、描画処理装置は、ラインやポリゴンといったオブジェクトを表現するための画像生成処理を行うため、フレームメモリへのデータ転送先はフレームメモリの特定領域となる。また、ビデオコントローラは、オブジェクトと背景のデータの処理を行うため、フレームメモリへのデータ転送アクセスとしては、表示画面のライン単位もしくはフレームメモリ全ての読み出しを行うこととなる。このため、描画処理装置からフレームメモリへのデータアクセス単位は、１語もしくは数語が多く、ビデオコントローラからフレームメモリへのデータアクセス単位は、数十語から数百語のデータ転送となる。
【０００４】
第２の例として、バスブリッジシステムにおいて複数のバス上のデバイスからアクセスが可能なバスブリッジ上のメモリを備えている場合がある。このメモリは、バスから異なるバスへのデータバッファとして用いられる。個々のバス上では複数のデータ処理装置が接続され、異なる単位で処理データが生成される。すなわち、メモリへのアクセス頻度やアクセス単位は、個々のバスシステムでのデータ処理単位や、個々のバスの周波数などにより様々な組み合わせとなる。
【０００５】
第３の例として、ＣＰＵの内部において複数のＣＰＵコアもしくは複数の入出力を備えるＣＰＵコアや内部ＤＭＡコントローラがマスターポートに接続され、ローカルメモリや、システムメモリ、周辺ＩＯのためのインターフェースの入出力をスレーブポートに接続されるバスコントローラがある。ＣＰＵコアは、キャッシュを備える場合には、キャッシュラインサイズ単位でのデータ転送をバスコントローラに要求し、周辺ＩＯへの制御の場合には、１語単位の転送要求をバスコントローラに要求する。まとまったデータ転送を行う場合には、ＤＭＡコントローラに複数語転送が設定され、ＤＭＡコントローラは、複数語単位の転送要求をバスコントローラに要求する。
【０００６】
これらのシステムにおいて、共通した課題としては、複数の機能処理装置が、共有リソースへのデータ転送を行う場合に、データ転送先である共有リソースがアクセス権を有する機能処理装置からのデータ転送しか受け付けない場合、共有リソースへのアクセス権を有しない機能処理装置からのデータ転送が行えず、機能処理装置のデータ処理が進められなくなり、その結果、システムのパフォーマンスが低下し、場合によっては要求性能を満たせず、システムが成立しないといった点があげられる。
【０００７】
この課題に対して、複数の機能処理装置として画像処理装置で、共有してアクセスされる共有リソースがメモリであり、複数の機能処理装置と共有メモリが効率的にデータ転送を行う先行技術の構成として、図７に示すようなデータ転送装置がある（例えば、特許文献１参照）。
【０００８】
図７において、符号１はデータ転送装置を示し、符号２は機能処理装置としての画像処理装置を示し、符号３は機能処理装置としての画像入出力装置を示し、符号４は共有リソースとしてのメモリを示し、符号５はビデオ信号発生装置を示し、符号６はモニタを示す。
【０００９】
データ転送装置１において、インターフェース１００は画像処理装置２との間の転送データ制御を行う。インターフェース１０１は、画像入出力装置３との間の転送データ制御を行う。バッファ１０２は、画像処理装置２との間の転送データを一時保持する。バッファ１０３は、画像入出力装置３との間の転送データを一時保持する。セレクタ１０４は、バッファ１０２の出力かもしくはバッファ１０３の出力かを選択しメモリ４に接続する。アービタ１０５は、画像処理装置２がバッファ１０２とメモリ４との間のデータ転送を要求するかもしくは画像入出力部３がバッファ１０３とメモリ４との間のデータ転送を要求した場合にどちらのデータ転送を行うか優先度に応じて選択する。制御部１０６は、アービタ１０５の選択した転送要求に従いバッファ１０２もしくはバッファ１０３とメモリ４との間のデータ転送を制御する。
【００１０】
メモリ４において、領域４０１は画像処理のために使用され、領域４０２は画像入出力のために使用される。画像処理装置２もしくは画像入出力装置３と共有メモリ４との間のデータ転送が、画像処理装置２とバッファ１０２間とバッファ１０２と共有メモリ４間のデータ転送もしくは、画像入出力装置３とバッファ１０３間とバッファ１０３と共有メモリ４間に分割される。画像処理装置２は、予め共有メモリ４からバッファ１０２への転送要求を行い、バッファ１０２のデータに対して処理を行う。画像入出力装置３は、予め共有メモリ４からバッファ１０３への転送要求を行い、バッファ１０３のデータに対して処理を行う。このように、バッファ１０２，１０３を複数の機能処理装置毎、つまり画像処理装置２および画像入出力装置３毎に備えている。そのため、複数の機能処理装置は、共有メモリ４へのデータ転送を伴う機能処理において、バッファの容量を上限として、並列実行することができる。
【特許文献１】特開平１１−２５０２２８号（第３−４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、図７に示した先行技術では、以下に説明する課題がある。
【００１２】
第１に、バッファを複数の機能処理装置毎に具備する構成のため、ハードウェア規模が大きい。特定の機能処理装置のバッファへの転送単位が主としてバッファの容量を下回る語数であったり、アクセス頻度が低かったりした場合に、特定のバッファ使用効率が低くなる。
【００１３】
第２に、複数の機能処理装置と複数の機能処理装置からアクセスされるメモリと間のデータ転送においては、バッファを必ず介してデータ転送が行われるため、アクセス時にオーバヘッドが発生し高速にアクセスできない。
【００１４】
本発明の目的は、上記先行技術の問題点を克服し、バッファのハードウェア規模を最適化するとともにバッファ使用効率を向上させることが可能なデータ転送装置を提供し、さらに、複数の機能処理装置と共通アクセスされる共有リソースを高速にアクセスすることが可能なデータ転送装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明は、複数の機能処理装置を備えるデータ処理システムにおいて、共有リソースへのデータ転送がシングル転送とバースト転送が混在することを利用するものである。
【００１６】
第１の発明のデータ転送装置は、複数の機能処理装置から共通アクセスされる共有リソースへの転送において、複数の機能処理装置から共通にアクセス可能で選択接続されるバッファを備える。また、バッファを介して共通リソースへのデータ転送を行う経路と、バッファを経由しないで共通リソースへのデータ転送を行う経路とを備える。
【００１７】
つまり、このデータ転送装置は、バッファと、複数の機能処理装置から出力されたデータを選択してバッファに出力する第１のデータ選択手段と、複数の機能処理装置から出力されたデータとバッファから出力されるデータを選択出力する第２のデータ選択手段と、第２のデータ選択手段のデータ出力を行うとともに共有リソースへのデータ転送を行うデータ転送制御手段とを備える。この際、第１のデータ選択手段は、第２のデータ選択手段が複数の機能処理装置のうちのいずれかの機能処理装置からのデータを選択出力しているときに、複数の機能処理装置のうちの第２のデータ選択手段がデータを選択出力している機能処理装置とは異なる他の機能処理装置からのデータをバッファに選択出力することが好ましい。
【００１８】
複数の機能処理装置から共有リソースへの転送において、複数の機能処理装置が要求するデータ転送方式が異なる場合に、転送方式により転送経路を変えるよう制御する。本発明においては、データ転送要求が１回のデータ転送につき最小単位語数のデータを伴う転送か１回のデータ転送につき複数語のデータを伴う転送かを判別して１回のデータ転送につき最小単位語数のデータを伴う転送のデータのみをバッファに保持し、１回のデータ転送につき複数語のデータを伴う転送のデータは共有リソースに転送する。最小単位語数は、システムにより異なる。
【００１９】
つまり、このデータ転送装置では、第１のデータ選択手段は、例えば機能処理装置から１つのデータ転送サイクルにおいて最小単位数語のデータのみを伴うデータ転送をするときに機能処理装置のデータをバッファに選択出力する。また、第１のデータ選択手段は、例えば複数の機能処理装置それぞれで、１つのデータ転送サイクルにおいて最小単位語数のデータのみを伴うデータ転送と、１つのデータ転送サイクルにおいて複数語のデータを伴うデータ転送とを行うとき、最小単位語数のデータのみを伴うデータ転送のデータを優先してバッファに選択出力する。
【００２０】
例としては、転送データバス幅が最小単位語数の場合で１語となる場合や、転送サイズを転送データとともに出力する場合に、最小転送サイズのブロックデータを１語となる場合を含む。なお、１回のデータ転送につき１語のデータを伴う転送はシングル転送、複数語のデータを伴う転送はバースト転送とも一般的に呼ばれる。
【００２１】
本発明によれば、バッファの必要数は、複数の機能処理装置からのデータ転送要求のうち、１回のデータ転送につき最小単位語数のデータを伴う転送の要求数である。従って、データ転送要求が共有リソースへの転送であって複数の機能処理装置毎にバッファを備える場合よりバッファ容量を削減することが可能となる。
【００２２】
第２の発明のデータ転送装置は、機能処理装置からのデータ転送要求が共有リソースへのデータ転送か、共有リソースからのデータ転送かを判別し、機能処理装置から共有リソースへの第１のデータ転送中に異なる機能処理装置から共有リソースからの第２のデータ転送が要求された場合に第１のデータ転送の転送先をバッファに切り替え、第２のデータ転送を行う。この場合には、バッファには、シングル転送データのみならず、バースト転送データも一時保持される。
【００２３】
つまり、このデータ転送装置では、データ転送制御手段は、第２のデータ選択手段から共有リソースへのデータ転送を制御するとともに共有リソースから複数の機能処理装置へのデータ転送を制御し、複数の機能処理装置がそれぞれ共有リソースからのデータの転送を要求するとともに共有リソースへのデータの転送を要求するとき、第１のデータ選択手段は、共有リソースへのデータ転送を要求する複数の機能処理装置から転送されるデータをバッファに選択出力し、データ転送制御手段は、共有リソースからのデータの転送を優先的に行う。
【００２４】
本発明によれば、機能処理装置から共有リソースへのデータ転送が行われている場合にも異なる機能処理装置からの共有リソースからのデータ転送要求を受け付けることが可能となる。
【００２５】
また、第３の発明のデータ転送装置は、機能処理装置からの特定のアクセス開始によりバッファの保持データを全て共有リソースに転送させ、アクセス終了において、バッファの保持データがないように制御する。また、機能処理装置からの特定のアクセスと他の機能処理装置から共有リソースへのアクセスも行う。
【００２６】
つまり、このデータ転送装置は、複数の機能処理装置からアクセス可能な第１のレジスタを備え、機能処理装置が第１のレジスタへのアクセスを開始したとき、データ転送制御手段は、第１のレジスタへのアクセス開始を検出し、バッファが保持するデータの共有リソースへの転送を優先して行うよう制御し、バッファが保持するデータの転送の終了により第１のレジスタへのアクセスが終了するよう制御する。
【００２７】
本発明によれば、複数の機能処理装置がデータ処理結果を参照する場合に、特定の機能処理装置から共有リソースへの書き込みについて、バッファに書き込みデータが残っていないことを保証するとともに、データが共有リソースへ転送されていることを確認するための共有リソースへのアクセスを行う必要がなく、共有リソースは、他の機能処理装置からアクセス可能である。このため、共有リソースへの転送バンド幅を有効に利用することが可能となる。
【００２８】
また、第４の発明のデータ転送装置は、バッファが、データを保持する場合に、データと対にアクセス情報も保持する。アクセス情報としては、機能処理装置からの転送要求先アドレス、転送要求を行った機能処理装置を特定するための判別情報がある。データ転送装置は、機能処理装置からデータ転送要求があった場合に、バッファから共有リソースに未転送データが存在する場合、データ転送要求におけるアクセス情報と、バッファが保持しているアクセス情報を比較し、データ転送順序を制御する。
【００２９】
第１の制御方法として、アクセス情報が転送先アドレスであり、データ転送要求における転送先アドレスと、バッファが保持する転送先アドレスが一致している場合、バッファの保持するデータを優先して共有リソースに転送する。
【００３０】
第２の制御方法として、アクセス情報が転送先アドレスであり、アドレス情報の一部を比較するよう設定するレジスタを設け、アドレス領域が一致している場合、バッファの保持するデータを優先して共有リソースに転送する。
【００３１】
第３の制御方法として、アクセス情報が、転送要求を行った機能処理装置を特定するための判別情報であり、データ転送要求を行う機能処理装置と、バッファが保持するデータの転送元の機能処理装置が一致している場合、バッファの保持するデータを優先して共有リソースに転送する。
【００３２】
つまり、このデータ転送装置は、バッファが転送データと対に転送先アドレスを一つ以上保持し、バッファの保持する転送先アドレスの一つと機能処理装置が要求する転送先アドレスとを比較し一致情報を出力する比較器とを備え、
データ転送制御手段はさらに一致情報を入力し、機能処理装置が共有リソースからのデータ転送もしくは、共有リソースへのデータ転送を要求し、一致情報がアクティブである場合に、一致情報がアクティブでなくなるまでバッファから共有リソースへのデータ転送を優先的に行う。
【００３３】
上記において、転送先アドレスの一部の選択を設定する第２のレジスタを備え、比較器はアドレスの一部と機能処理装置が要求する転送先アドレスを比較する構成でもよい。
【００３４】
また、他の例として、このデータ転送装置は、バッファが転送データと対に前記転送データを出力した前記機能処理装置の第１の判別情報を保持し、バッファの保持する第１の判別情報と転送要求を行う機能処理装置の第２の判別情報とを比較し一致情報を出力する比較器とを備える。そして、データ転送制御手段はさらに一致情報を入力し、機能処理装置が共有リソースからのデータ転送もしくは、共有リソースへのデータ転送を要求し、一致情報がアクティブである場合に、一致情報がアクティブでなくなるまでバッファから共有リソースへのデータ転送を優先的に行う。
【００３５】
第４の発明のデータ転送装置は、共有リソースへのアドレスを規定されるサイズ領域毎に分割するためのアドレスデコーダを備え、アドレス領域に対応した、出力制御信号を生成する。
【００３６】
つまり、このデータ転送装置では、データ転送装置が複数の共有リソースと接続され、共有リソースはデータ転送装置よりそれぞれ異なるアドレス領域に割り付けられ、第２のデータ選択手段の出力する転送先アドレスをデコードし、データ転送制御手段は、デコードにより指定された共有リソースへのデータ転送を制御する。
【００３７】
本発明によれば、複数の異なる共有リソースを接続することが可能となる。アドレス領域毎に、異なるデータ転送方式のデバイスを接続することが可能となる。
【００３８】
以上のように、本発明によれば、バッファを機能処理装置専用に備えないことで、データ転送装置のハードウェア量を削減することができる。機能処理装置のデータ転送要求において転送単位や転送頻度が不均一なシステムにおいては、バッファを共有使用しても共有リソースへのデータ転送効率を維持することも可能であり、データ転送装置のバッファ全体の使用効率を向上させることができる。さらに、共有リソースへのアクセスにおけるデータの逐次性保証もバッファを複数の機能処理装置からの共通とすることで可能となる。また、共有リソースへの出力制御を共有リソースへのアドレスで切り替えることにより複数の機能処理装置と複数の共有リソースへの接続が可能となる。
【発明の効果】
【００３９】
本発明によれば、複数の機能処理装置と複数の機能処理装置に共有アクセスされるリソース間にバッファを具備し、特定のアクセスにのみバッファを使用するよう制御することによって、データ転送要求が共有リソースへの転送であって複数の機能処理装置毎にバッファを備える場合よりバッファ容量を削減することが可能となる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【００４１】
（実施の形態１）
以下、本発明の実施の形態１を図面を用いて説明する（請求項１〜５に対応）。
【００４２】
図１は、本発明の実施の形態１に関わるデータ転送装置の構成を示すブロック図である。
【００４３】
図１において、符号２〜６は、先行技術と同様の機能ブロックである。データ転送装置１において、インターフェース１００は、画像処理装置２との間の転送データ制御を行う。インターフェース１０１は、画像入出力装置３との間の転送データ制御を行う。セレクタ１０７は、画像処理装置２からの転送データとインターフェース１００からの転送制御信号を第1の入力とし、画像入出力装置３からの転送データとインターフェース１０１からの転送制御信号を第２の入力とし、制御部１０６の制御信号によりバッファ１０８とセレクタ１０９へ上記転送データを選択出力する。
【００４４】
バッファ１０８は、セレクタ１０７から出力される転送データを一時保持する。セレクタ１０９は、バッファ１０８の出力を第1の入力とし、セレクタ１０７の出力を第２の入力とし、制御部１０６の制御信号によりバッファ１０８とセレクタ１０７の出力を選択出力する。アービタ１０５は、インターフェース１００からの転送開始要求信号とインターフェース１０１からの転送開始要求信号とを調停し、制御部１０６に出力する。制御部１０６は、アービタ１０５の選択した転送要求に従いセレクタ１０７、バッファ１０８、セレクタ１０９を制御するとともにメモリ４へのアクセス制御信号を生成する。
【００４５】
メモリ４において、領域４０１は画像処理のために使用され、領域４０２は画像入出力のために使用される。
【００４６】
図５は、セレクタ（クロスバススイッチ）１０７の内部構成を示すブロック図である。
【００４７】
図５において、符号１１０１は、画像入出力装置３が出力するアドレス線を示し、符号１１０２は同じくデータ線を示す。符号１１０３は画像処理装置２が出力するアドレス線を示し、符号１１０４は同じくデータ線を示す。符号１１０６はセレクタ１０９に出力されるアドレス線を示し、符号１１０７は同じくデータ線を示す。符号１１０８はバッファ１０８に出力されるアドレス線を示し、符号１１０９は同じくデータ線を示す。
【００４８】
符号１１１０、１１１１、１１１２、１１１３は、２入力１出力のセレクタを示す。セレクタ１１１０、１１１１が、制御部１０６が出力する制御信号により入力としてアドレス線１１０１、データ線１１０２を選択している場合には、セレクタ１１１２、１１１３は制御部１０６が出力する制御信号１１０５をインバータ１１１４で反転した信号を入力することにより、アドレス線１１０３、データ線１１０４を選択出力する。逆に、セレクタ１１１０、１１１１が、制御部１０６が出力する制御信号により入力としてアドレス線１１０３、データ線１１０４を選択している場合には、セレクタ１１１２、１１１３は制御部１０６が出力する制御信号をインバータ１１１４で反転した信号を入力することにより、アドレス線１１０１、データ線１１０２を選択出力する。
【００４９】
したがって、画像処理装置２の出力がバッファ１０８に接続されている場合には、画像入出力装置３の出力は、セレクタ１０９に接続されることとなる。逆に、画像処理装置２の出力がセレクタ１０９に接続されている場合には、画像入出力装置３の出力はバッファ１０８に接続されることになる。
【００５０】
本発明の実施の形態１におけるデータ転送タイミングについて、図８、図９を用いて説明する。図８、図９は画像入出力装置３よりバーストライトが行われている場合に、画像処理装置２よりシングルライト転送を行う場合を示している。図８は先行技術のデータ転送装置におけるデータ転送タイミングを示し、図９は本発明におけるデータ転送タイミングを示す。
【００５１】
図８において、画像入出力装置３はバースト転送でメモリ４への転送を開始する。バースト途中で画像処理装置２がメモリ４へのシングル転送を開始する。画像入出力装置３からのデータＤ１０〜Ｄ１４はバッファ１０３に書き込まれる。画像処理装置２からのデータＤ００はバッファ１０２に書き込まれる。次に、バッファ１０２とバッファ１０３で保持されたデータは、画像処理装置２および画像入出力装置３からの転送要求が行われるまでメモリ４には転送されない。
【００５２】
画像入出力装置３からの転送要求出力によりインターフェース１０１はアービタ１０５に転送要求信号を出力し、制御部１０６は、バッファ１０３からメモリ４へのデータ転送を行う（バッファ１０３の読み出しとメモリ４の書き込み）。また、画像処理装置２からの転送要求出力によりインターフェース１００はアービタ１０５に転送要求信号を出力し、制御部１０６は、バッファ１０２からメモリ４へのデータ転送を行う（バッファ１０２の読み出しとメモリ４の書き込み）。画像処理装置２から出力される転送要求信号と画像入出力装置３から出力される転送要求信号のタイミングが重なっている場合には、アービタ１０５は、決められた優先順位で、転送要求信号を選択し、制御部１０６に出力する。
【００５３】
図９において、画像入出力装置３は転送要求信号を出力すると、インターフェース１０１は、画像入出力装置３からの転送要求信号がバースト転送であることを検出し、アービタ１０５に画像入出力装置３からの転送でありかつバースト転送要求であることを伝達する。アービタ１０５は、制御部１０６にそのまま伝達する。制御部１０６は転送が画像入出力装置３からであり、かつバースト転送であるため、セレクタ１０７に対して画像入出力装置３の出力をセレクタ１０９に接続するよう制御し、セレクタ１０９に対してセレクタ１０７の出力を選択するよう制御するとともに、メモリ４の制御信号を生成し転送を行う。バースト転送はＤ１０から順次行われる。
【００５４】
画像入出力装置３からのバースト転送中に画像処理装置２からのシングル転送が開始される。インターフェース１００は、画像処理装置２からの転送要求がシングル転送であることを検出し、アービタ１０５に画像処理装置２からの転送でありかつシングル転送要求であることを伝達する。アービタ１０５は、シングル転送とバースト転送の調停は行わず、シングル転送要求が画像処理装置２から出力されている旨を制御部１０６に伝達する。制御部１０６は、セレクタ１０７を制御し、画像処理装置２の出力をバッファ１０８に接続し、バッファ１０８を制御し、シングル転送データＤ００を一時保持させ、画像入出力装置３からのバースト転送が終了した場合、セレクタ１０９を制御し、メモリ４への制御信号を生成し、バッファ１０８の保持データをメモリ４に転送する。
【００５５】
以上説明したように、シングル転送とバースト転送が混在したアクセスの場合には、シングル転送データ保持のためのバッファ１０８をもたせ、かつ、シングル転送とバースト転送を並列に処理できるように構成したため、先行技術の構成におけるように画像処理装置専用のバッファと画像入出力装置専用のバッファを備えた場合と比較して、ハードウェアの規模を削減したにもかかわらず、画像処理装置２および画像入出力装置３とデータ転送装置１間のデータ転送におけるアクセスのレイテンシ性能を維持することが可能である。さらに画像処理装置２もしくは画像入出力装置３とメモリ４間の転送のレイテンシに着目すると、先行技術のデータ転送装置より本発明の第１の実施の形態のデータ転送装置の方が性能が高い。
【００５６】
（実施の形態２）
本発明の実施の形態２のデータ転送装置（請求項５に対応）におけるデータ転送タイミングについて、図１０、図１１を用いて説明する。図１０、図１１は画像入出力装置３よりバースト転送が行われている場合に、画像処理装置２よりリード転送を行う場合を示す。図９は先行技術のデータ転送装置におけるデータ転送タイミングを示し、図１０は本発明のデータ転送装置におけるデータ転送タイミングを示す。
【００５７】
先行技術のデータ転送装置においては、図１０において、画像入出力装置３はバースト転送でメモリ４への転送を開始する。バースト転送途中で画像処理装置２からメモリ４へのリード要求を出力する。画像入出力装置３からのデータＤ１０〜Ｄ１４はバッファ１０３に書き込まれる。制御部１０６によりメモリ４からのデータＤ００はバッファ１０２に書き込まれた後、画像処理装置２に転送される。画像入出力装置３によりバッファ１０３で保持されたデータは、画像入出力装置３からの転送要求が行われるまでメモリ４には転送されない。画像入出力装置３からの転送要求出力によりインターフェース１０１はアービタ１０５に転送要求信号を出力し、制御部１０６は、バッファ１０３からメモリ４へのデータ転送を行う（バッファ１０３の読み出しとメモリ４の書き込み）。
【００５８】
一方、本発明のデータ転送装置においては、図１１において、画像入出力装置３は転送要求を出力すると、インターフェース１０１は、画像入出力装置３からの転送要求がバースト転送であることを検出し、アービタ１０５に画像入出力装置３からの転送でありかつバースト転送要求であることを伝達する。アービタ１０５は、制御部１０６にそのまま伝達する。制御部１０６は、転送が画像入出力装置３からでありかつバースト転送であるため、セレクタ１０７に画像入出力装置３の出力をセレクタ１０９に接続するよう制御し、セレクタ１０９にセレクタ１０７の出力を選択するよう制御するとともに、メモリ４の制御信号を生成し転送を行う。バースト転送はＤ１０から順次行われる。バースト転送中に画像処理装置２からの転送が開始される。インターフェース１００は、画像処理装置２からの転送要求がリード転送であることを検出し、アービタ１０５に画像処理装置２からの転送でありかつシングル転送要求であることを伝達する。アービタ１０５は、リード転送要求がある場合にリード転送要求が画像処理装置２から出力されている旨を制御部１０６に伝達する。制御部１０６は、セレクタ１０７を制御し、画像入出力装置３の出力をバッファ１０８に接続し、バッファ１０８を制御し、バースト転送データＤ１１より順次一時保持させ、画像処理装置２からのリード転送が終了した場合、セレクタ１０９を制御し、メモリ４への制御信号を生成し、バッファ１０８の保持データ（Ｄ１１，Ｄ１２）をメモリ４に転送する。バースト転送データＤ１３以降は、リード転送要求が入力される前と同じようにセレクタ１０７，１０９を通してメモリ４へ転送する。
【００５９】
以上説明したように、メモリ４へのバースト転送とメモリ４からのリード転送が混在したアクセスの場合には、バースト転送データをバッファ１０８に一時保持させ、かつ、バースト転送とリード転送を並列に処理できるように構成したため、先行技術の構成におけるように画像処理装置専用のバッファと画像入出力装置専用のバッファを備えた場合と比較して、画像処理装置および画像入出力装置とデータ転送装置間のデータ転送におけるバーストライトアクセスのレイテンシ性能を維持することが可能である。
【００６０】
（実施の形態３）
図２は、本発明の実施の形態３に関わるデータ転送装置の構成を示すブロック図である（請求項６，７に対応）。
【００６１】
図２において、符号１１０はアドレスデコーダを示し、符号１１１はバッファ転送要求レジスタを示し、符号１１２はバッファ転送終了通知割込み信号を示す。他の構成要素については、図１と同様の機能を有している。
【００６２】
画像処理装置２からみて、データ転送装置１は、メモリ４へのアドレスとバッファ転送要求レジスタ１１１へのアドレスにアドレスマップドされており、画像処理装置２からのアクセスアドレスをアドレスデコーダ１１０がデコードし、バッファ転送要求レジスタ１１１へのアクセスが行われる。バッファ転送要求レジスタ１１１にアクセスが開始されると、制御部１０６はバッファ１０８の保持データのメモリ４へのデータ転送を開始し、転送が終了するまでバッファ転送要求レジスタアクセスは終了しないようインターフェース１００を制御し、インターフェース１００は画像処理装置２にウェイト信号を出力する。バッファ転送要求レジスタ１１１からの出力は、レジスタへの書き込みデータである必要がないため、特に実体としてのレジスタを設けず、インターフェース１００と制御部１０６が通信して画像処理装置２へのウェイト生成を行う場合もある。バッファ転送終了通知割込み信号１１２は、バッファ転送が終了した場合に制御部１０６から画像入出力装置３に出力される。
【００６３】
本発明の実施の形態３におけるデータ転送タイミングについて図１２、図１３を用いて説明する。図１２、図１３は画像処理装置２からメモリ４へ転送されたデータを画像入出力装置３がメモリ４からリードする場合を示した図である。図１２は先行技術のデータ転送装置におけるデータ転送タイミングを示し、図１３は本発明のデータ転送装置におけるデータ転送タイミングを示す。
【００６４】
図１２において、画像処理装置２は、メモリ４へのデータ転送をバッファ１０２に対して行った後、バッファ１０２からメモリ４へのライト要求を出力する。しかしながら、ライト要求が行われていても、メモリ４への転送完了が保証されない場合がある。例としては、画像入出力装置３からのバースト転送が続いている場合がある。このため、画像処理装置２は、以前ライトしたデータをリードし、リードデータの期待値によりメモリ４に書き込みが終了したことを確認する等を行う。メモリ４へのデータ転送が完了したことを確認した後、画像入出力部３にメモリ４にデータがあるとの旨を通知し、画像入出力装置３は、メモリ４へのリード要求を行う。
【００６５】
図１３において、画像処理装置２は、メモリ４へのデータ転送を行った後、バッファ転送要求レジスタアドレスへのアクセスを開始する。バッファ転送要求レジスタ１１１へのアクセス開始により、制御部１０６は、バッファ１０８に保持データがある場合には、メモリ４へのデータ転送を開始し、終了時にインターフェース１００へ通知し、インターフェース１００は、画像処理装置２とのバッファ転送要求レジスタアクセスを終了させる。次に制御部１０６はバッファ転送終了通知割り込み信号１１２をアクティブにして、画像入出力部３にメモリにデータがあるとの旨を通知し、画像入出力装置３は、メモリ４へのリード要求を行う。
【００６６】
以上説明したように、画像処理装置２と画像入出力装置３がデータを共有して処理を行う場合には、バッファ１０８に保持したデータをメモリ４へ転送させるために、画像処理装置２からバッファ転送要求レジスタ１１１へのアクセス期間に完了するように制御することにより、先行技術の構成におけるようにメモリデータの保証のためのリードアクセスを行う必要がない。このため、メモリデータの保証のためのメモリ４からのデータの読み出しが不要になり、メモリ接続線のバンド幅を有効にすることが可能となる。
【００６７】
なお、バッファ転送要求レジスタ１１１を物理的な実体として持つことは必須ではなく、アドレスデコーダ１１０により特定のアドレスを検出し、インターフェース１００に通知し、インターフェース１００が制御部１０６と直接通信してもよい。
【００６８】
（実施の形態４）
図３は、本発明の実施の形態４に関わるデータ転送装置の構成を示すブロック図である（請求項８，９，１０に対応）。
【００６９】
図３において、符号１１４は画像処置装置２もしくは画像入出力装置３から転送要求が行われた場合、転送要求の転送先アドレスとバッファ１０８が保持するデータの転送先アドレス比較を比較する比較部を示す。符号１１３は比較するアドレスの幅を設定するレジスタを示す。このレジスタ１１３によって、アドレスの全部を比較するか、一部を比較して一致検出が行われる。
【００７０】
図６は、バッファ１０８と比較部１１４の内部構成を示すブロック図である。
【００７１】
図６において、バッファ１０８はＦＩＦＯ（先入れ先出し）となるよう接続され、内部バッファ１２０２、１２０３から構成され、転送データは転送先アドレスと対に順次保持される。比較部１１４は、内部バッファ１２０２、１２０３のアドレスフィールドを入力とする比較器１３０２、１３０３から構成される。
【００７２】
比較器１３０２、１３０３は、画像処理装置２もしくは画像入出力装置３から転送要求された場合に、内部バッファ１２０２、１２０３のアドレスフィールドと選択出力するセレクタ１０７のアドレス出力線１１０６との比較を行い、全ての比較結果の論理和を論理回路１３０４で生成し制御部１０６へ制御信号１３０５により通知する。制御部１０６は、比較結果により、転送先アドレスが一致していない場合には、セレクタ１０７の出力データを選択出力し、一致している場合には、バッファ１０８の出力データを選択出力するようセレクタ１０９を制御する。また、制御部１０６は、制御信号１２０１により、バッファ１０８にデータを出力後、内部バッファ１２０２から内部バッファ１２０３へデータを移動させる。なお、アドレスの代わりに、転送データの転送要求元を特定する機能処理装置の判別情報を保持する場合も同様の制御を行う。また、バッファ１０８の構成としては、内部に複数の内部バッファを１ブロックとし、複数ブロックを備え、転送要求先によりブロックを指定する場合も含まれる。
【００７３】
図１４は、アドレス比較を行う場合の転送タイミングを示す図である。
【００７４】
図１４において、画像処理装置２より転送によりＡ０、Ａ１の転送先アドレスを有する転送データがバッファ１０８に保持されている場合に、画像入出力装置３よりＡ０の転送先アドレスを伴う転送要求が行われた場合、比較部１１４によりアドレス比較が行われ、アドレスが一致しているためメモリ４には、バッファ１０８が保持する転送先アドレスＡ０のデータが優先的に転送された後、画像入出力装置３からの転送データがバッファ１０８に保持される。継続して、Ａ１の転送先アドレスを伴う転送要求が行われている場合には、アドレス比較が行われ、アドレスが一致しているため、メモリ４にはバッファ１０８が保持する転送先Ａ１のデータが優先的に転送された後、画像入出力装置３からの転送データがバッファ１０８に保持される。なお、この転送タイミングにおいては、制御部１０６は、セレクタ１０７の出力を制御して、アドレス線１１０６に転送要求している転送データの転送先アドレスを出力させ、比較結果が一致している場合には、バッファ１０８への書き込みのためにアドレス線１１０８にアドレスを切り替える制御を行うことを前提とした動作を示したが、比較結果が一致している場合に、バッファ１０８への書き込みを行わず、バッファ１０８からの転送先アドレスがＡ０のデータのメモリ１０４への転送の次に現在転送要求している転送先Ａ０のデータのメモリ１０４への転送を行ってもよい。
【００７５】
以上説明したように、バッファ１０８に転送データとともに転送先アドレスを保持し、バッファ１０８の保持する転送先アドレスと、現在転送要求が行われているデータの転送先アドレスを比較し、その比較結果に応じて転送制御を行うことにより、バッファの保持データと現在転送要求が行われているデータのメモリ４への転送に対して時間的逐次性を保証することが可能となる。
【００７６】
図１５は転送要求元の比較を行う場合の転送タイミングを示す図である。
【００７７】
図１５において、画像処理装置２より転送によりＤ００、Ｄ０１の転送データがバッファ１０８に保持されている場合に、画像入出力装置３よりＤ１０、Ｄ１１の転送要求が行われた場合、比較部１１４により転送要求元比較が行われ、転送要求元が異なるため転送データＤ１０およびＤ１１は、バッファ１０８に転送される。転送データＤ１０およびＤ１１のバッファ１０８へのデータ転送が行われていると同時に画像処理装置２より転送データＤ０２の転送要求が行われた場合に、比較部１１４により転送要求元比較が行われ、バッファ１０８が保持する転送データＤ００およびＤ０１の転送元と一致するため、メモリ４へはバッファ１０８に保持されているＤ００とＤ０１のデータ転送が優先して行われる。画像処理装置２と画像入出力装置３の転送要求において画像処理装置２の優先度が高い場合には、転送データＤ００とＤ０１のメモリ４へのデータ転送後、転送データＤ０２のメモリ４へのデータ転送が行われる。
【００７８】
以上説明したように、バッファ１０８に転送データとともに転送要求元を判別する情報を保持し、バッファ１０８の保持する転送要求元の判別情報と、現在転送要求が行われているデータの転送要求元を比較し、転送制御を行うことにより、バッファ１０８の保持データと現在転送要求が行われているデータのメモリ１０４への転送に対して転送要求元を同じくする場合の、時間的逐次性を保証し、特定の転送要求元のメモリ１０４への転送性能を向上させることが可能となる。
【００７９】
（実施の形態５）
図４は、本発明の実施の形態５に関わるデータ転送装置の構成を示すブロック図である（請求項１１に対応）。
【００８０】
図４において、符号７はＣＰＵを示し、符号８はＤＭＡコントローラを示し、符号９はシステムバスを示し、符号１０はフラッシュＲＯＭを示し、符号１１はＳＤＲＡＭを示し、１１５はアドレスデコーダを示す。
【００８１】
データ転送装置１は、ＣＰＵ７、ＤＭＡコントローラ８をマスター、フラッシュＲＯＭ１０とＳＤＲＡＭ１１をスレーブとするバスコントローラである。データ転送装置１は、スレーブを複数の領域に分割する。
【００８２】
アドレスデコーダ１１５は、セレクタ１０９により選択された転送先のアドレスをデコードし、領域判別結果を制御部１０６に出力する。制御部１０６は、フラッシュＲＯＭ１０にマッピングされた領域へのアクセスの場合には、ＲＯＭ制御信号を出力し、ＳＤＲＡＭ１１にマッピングされた領域へのアクセスの場合には、ＳＤＲＡＭ制御信号を出力する。ＣＰＵ７は、キャッシュ動作に伴い数語単位で、フラッシュＲＯＭ１０へアクセスを行い、ＳＤＲＡＭ１１へは、１語単位でアクセスを行う。ＤＭＡコントローラ８は、ＤＭＡコントローラ８の転送用バッファサイズを単位としてＳＤＲＡＭ１１へのアクセスを行う。なお、制御部１０６においてスレーブデバイスの制御信号を生成する例を示したが、制御部１０６により制御されるＲＯＭ制御信号生成部や、ＳＤＲＡＭ制御信号生成部を別途備える場合も同様である。
【００８３】
以上説明したように、転送データの出力部にアドレスデコーダ１１５を追加し、アドレス領域毎に転送方式を切り替えるようにすることにより、データ転送装置１をより広いシステムに適用させることが可能となる。
【産業上の利用可能性】
【００８４】
本発明にかかるデータ転送装置は、バッファのハードウェア規模を最適化するとともにバッファ使用効率を向上させ、複数の機能処理装置と共通アクセスされる共有リソースを高速にアクセスすることが可能という効果が必要な複数の機能処理装置と共有リソースと間のデータ転送等の用途に適用できる。
【図面の簡単な説明】
【００８５】
【図１】本発明の実施の形態１におけるデータ転送装置の構成を示すブロック図である。
【図２】本発明の実施の形態３におけるデータ転送装置の構成を示すブロック図である。
【図３】本発明の実施の形態４におけるデータ転送装置の構成を示すブロック図である。
【図４】本発明の実施の形態５におけるデータ転送装置の構成を示すブロック図である。
【図５】本発明のデータ転送装置におけるセレクタ１０７の内部構成を示すブロック図である。
【図６】本発明のデータ転送装置におけるバッファ１０８、比較部１１４の内部構成を示すブロック図である。
【図７】先行技術におけるデータ転送装置の構成を示すブロック図である。
【図８】先行技術におけるデータ転送装置のバーストライト転送中のシングルライト転送処理の動作タイミングを示すタイミング図である。
【図９】本発明の実施の形態１のデータ転送装置におけるバーストライト転送中のシングルライト転送処理の動作タイミングを示すタイミング図である。
【図１０】先行技術におけるデータ転送装置のバーストライト転送中のリード転送処理の動作タイミングを示すタイミング図である。
【図１１】本発明の実施の形態２のデータ転送装置におけるバーストライト転送中のリード転送処理の動作タイミングを示すタイミング図である。
【図１２】先行技術におけるデータ転送装置の転送データの共有処理の動作タイミングを示すタイミング図である。
【図１３】本発明の実施の形態３のデータ転送装置における転送データの共有処理の動作タイミングを示すタイミング図である。
【図１４】本発明の実施の形態４のデータ転送装置における同一アドレスアクセス時の動作タイミングを示すタイミング図である。
【図１５】本発明の実施の形態４のデータ転送装置における同一転送元からのアクセス時の動作タイミングを示すタイミング図である。
【符号の説明】
【００８６】
１    データ転送装置
２    画像処理装置
３    画像入出力装置
４    メモリ
５    ビデオ信号出力装置
６    モニタ
７    ＣＰＵ
８    ＤＭＡコントローラ
９    システムバス
１０    フラッシュＲＯＭ
１１    ＳＤＲＡＭ
１００    インターフェース
１０１    インターフェース
１０３    バッファ
１０４    セレクタ
１０５    アービタ
１０６    制御部
１０７    セレクタ
１０８    バッファ
１０９    セレクタ
１１２    バッファ転送終了通知割込み信号
１１３    レジスタ
１１５    アドレスデコーダ
【図１】
2005165592.tif 000003
【図２】
2005165592.tif 000004
【図３】
2005165592.tif 000005
【図４】
2005165592.tif 000006
【図５】
2005165592.tif 000007
【図６】
2005165592.tif 000008
【図７】
2005165592.tif 000009
【図８】
2005165592.tif 000010
【図９】
2005165592.tif 000011
【図１０】
2005165592.tif 000012
【図１１】
2005165592.tif 000013
【図１２】
2005165592.tif 000014
【図１３】
2005165592.tif 000015
【図１４】
2005165592.tif 000016
【図１５】
2005165592.tif 000017