(57)【要約】  【課題】  データ処理部であるＩ／Ｏと記憶装置であるイメージメモリとの間のデータ転送のスループットを向上できるデータ転送装置を提供する。  【解決手段】  イメージメモリ２と、例えば第１Ｉ／Ｏ１４１との間に、バッファメモリであるライトバッファ１１を備え、第１Ｉ／Ｏ１４１から転送されたデータを、第１Ｉ／Ｏ１４１が動作するための第１Ｉ／Ｏクロックに同期してライトバッファ１１に入力及び一時記憶してから、転送制御部１０が動作するためのシステムクロックに同期して転送制御部１０へ転送し、更に、ここからイメージメモリ２へ転送する。【選択図】      図１
2005115563.tif 000002
【特許請求の範囲】
【請求項１】
データの処理を処理クロックに応じて行なうデータ処理部と、
外部の記憶装置が接続される第１バスと、
該第１バスに接続され、前記記憶装置及び前記データ処理部の間のデータ転送を、転送クロックに応じて制御する転送制御部と
を備えるデータ転送装置において、
前記データ処理部に接続された第２バスと、
該第２バス及び前記第１バスに接続され、該第１バス（又は前記第２バス）を介して入力されたデータを一時記憶し、一時記憶したデータを、前記第２バス（又は前記第１バス）へ出力するバッファメモリと
を備え、
該バッファメモリは、前記転送クロック及び前記処理クロックを入力され、これらに応じて動作するよう構成してあることを特徴とするデータ転送装置。
【請求項２】
前記データ処理部、前記第２バス、及び前記バッファメモリは、一対一対応に複数設けてあることを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
外部又は内部の第１バスに接続され、該第１バスに接続される外部の記憶装置と、データの処理を処理クロックに応じて行なう外部又は内部のデータ処理部との間のデータ転送を、転送クロックに応じて制御する転送制御部を備えるデータ転送装置において、
前記データ処理部に接続される第２バスと、
該第２バス及び前記第１バスに接続され、該第１バス（又は前記第２バス）を介して入力されたデータを一時記憶し、一時記憶したデータを、前記第２バス（又は前記第１バス）へ出力するバッファメモリと
を備え、
該バッファメモリは、前記転送クロック及び前記処理クロックを入力され、これらに応じて動作するよう構成してあることを特徴とするデータ転送装置。
【請求項４】
前記第２バス及び前記バッファメモリは、一対一対応に複数設けてあることを特徴とする請求項３に記載のデータ転送装置。
【請求項５】
前記転送制御部は、
該転送制御部からのデータ転送を要求する第１転送要求信号を受け付ける手段と、
前記第１転送要求信号を受け付けた場合に、前記記憶装置からデータを読み込む手段と、
読み込んだデータを、前記第１バスを介して前記バッファメモリへ出力する手段と、
前記データ転送を確認する第１転送確認信号を前記バッファメモリへ出力する手段と
を有し、
前記バッファメモリは、
入力された処理クロックを計数する手段と、
前記第１転送要求信号を前記転送クロックに応じて前記転送制御部へ出力する手段と、  前記データ処理部へのデータ転送を要求する第２転送要求信号を受け付ける手段と、
前記第１転送確認信号を入力され、入力されたデータを一時記憶した場合に、前記第２転送要求信号を受け付けたとき、一時記憶したデータを、前記第２バスを介して前記データ処理部へ前記処理クロックに応じて出力する手段と、
前記データ転送を確認する第２転送確認信号を前記処理クロックの計数結果に応じて前記データ処理部へ出力する手段と
を有することを特徴とする請求項１乃至４の何れかに記載のデータ転送装置。
【請求項６】
前記バッファメモリは、
入力された処理クロックを計数する手段と、
前記データ処理部からのデータ転送を要求する第３転送要求信号を受け付ける手段と、  前記データ処理部から前記第２バスを介して出力されたデータを受け付ける手段と、
前記第３転送要求信号を受け付け、受け付けたデータを一時記憶した場合に、前記データ転送を確認する第３転送確認信号を前記処理クロックの計数結果に応じて前記データ処理部へ出力する手段と、
前記第３転送確認信号を出力した場合に、前記転送クロックに応じて、前記転送制御部へのデータ転送を要求する第４転送要求信号を前記転送制御部へ出力する手段と、
一時記憶したデータを、前記第１バスを介して前記転送制御部へ前記転送クロックに応じて出力する手段と
を有し、
前記転送制御部は、
前記第４転送要求信号及び前記データを入力された場合に、入力されたデータを前記記憶装置に書き込む手段と、
前記データ転送を確認する第４転送確認信号を前記バッファメモリへ出力する手段と
を有することを特徴とする請求項１乃至４の何れかに記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部の記憶装置と外部又は内部のデータ処理部との間のデータ転送を行なうデータ転送装置に関する。
【背景技術】
【０００２】
データ転送装置は、転送制御部を備え、この転送制御部は、異なるバスに夫々接続されている外部の装置同士、又は外部の装置と内蔵する他部との間のデータ転送を、入力されるクロックに応じて制御する（例えば、特許文献１参照）。特許文献１においては、ＤＭＡコントローラを内蔵したＬＳＩが、データ転送装置に対応する。
【０００３】
このような転送制御部では、自身とデータ転送を行なう対象との間でデータ転送のための制御信号が入出力される。この制御信号としては、一方から他方へのデータ転送を要求する転送要求信号（ＤＲＥＱ）と、前記転送を確認する転送確認信号（ＤＡＣＫ）とが一般に用いられている。
【０００４】
図９は、従来のデータ転送装置に関するデータと各種制御信号との入出力の手順を示す説明図である。図中７１，７２は第１Ｉ／Ｏ及び第２Ｉ／Ｏであって、これらの第１Ｉ／Ｏ７１及び第２Ｉ／Ｏ７２は、データの処理（例えば入出力）を行なうデータ処理部（入出力部）である。第２Ｉ／Ｏ７２（又は第１Ｉ／Ｏ７１）と、画像データ（以下、単にデータという）を記憶するイメージメモリ７３と、各Ｉ／Ｏ及びイメージメモリ７３の間のデータ転送を制御する転送制御部７０とは、データを高速で転送するための図示しないバス（イメージバス）に夫々接続してある。
【０００５】
転送制御部７０及びイメージメモリ７３には、システムクロックが入力されており、これらは、入力されたシステムクロックに応じて（同期して）動作する。また、第１Ｉ／Ｏ７１及び第２Ｉ／Ｏ７２には、システムクロックとは異なる第１Ｉ／Ｏクロック及び第２Ｉ／Ｏクロックが夫々入力され、各Ｉ／Ｏは、入力されたクロックに同期して動作する。      
【０００６】
図９（ａ）は、データ転送装置が備える転送制御部７０が、イメージメモリ７３から第２Ｉ／Ｏ７２へデータを転送する場合を示している。この場合、第２Ｉ／Ｏ７２は、第２Ｉ／Ｏクロックに同期して、（１）イメージメモリ７３からのデータ転送を要求する転送要求信号（以下、ＤＲＥＱという）を転送制御部７０へ出力する。このＤＲＥＱを入力された転送制御部７０は、システムクロックに同期して、（２）イメージメモリ７３から所要のデータを読み込み、（３）読み込んだデータと、前記データ転送を確認する転送確認信号（以下、ＤＡＣＫという）とを第２Ｉ／Ｏ７２へ出力する。
【０００７】
図９（ｂ）は、転送制御部７０が、第１Ｉ／Ｏ７１からイメージメモリ７３へデータを転送する場合を示している。この場合、第１Ｉ／Ｏ７１は、第１Ｉ／Ｏクロックに同期して、（１）イメージメモリ７３へのデータ転送を要求する転送要求信号（ＤＲＥＱ）と、転送すべきデータとを、転送制御部７０へ出力する。このＤＲＥＱ及びデータを入力された転送制御部７０は、システムクロックに同期して、（２）入力されたデータをイメージメモリ７３に書き込み、（３）前記データ転送を確認する転送確認信号（ＤＡＣＫ）を第１Ｉ／Ｏ７１へ出力する。
【特許文献１】特開平１１−５３３０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
第１Ｉ／Ｏ７１又は第２Ｉ／Ｏ７２のようなＩ／Ｏは、転送制御部７０へＤＲＥＱを出力した場合に、転送制御部７０の制御（優先制御）によってバス権を占有し、転送制御部７０からＤＡＣＫを入力されたときに、バス権を放す。この間に、転送制御部７０は、イメージメモリ７３にアクセスしてデータを読み書きする。このため、Ｉ／Ｏは、転送制御部７０によるイメージメモリ７３のアクセスが終了するまでバス権が放せず、次の処理を実行することができないという問題があった。また、複数のＩ／Ｏを備える場合、一のＩ／Ｏがデータの転送を行なっている間は、他のＩ／Ｏがデータの転送を開始できないという問題があった。以上の結果、Ｉ／Ｏ及びイメージメモリ７３の間のデータ転送が非効率的になり、データ転送の開始から終了までに長時間を要するという問題があった。
【０００９】
また、Ｉ／Ｏと転送制御部７０とは異なるクロックに同期して動作するため、両者間で制御信号を入出力する場合には転送制御部７０の動作に同期するように予め調整されたＩ／Ｏを備えておく必要があるという問題があった。このため、特にＩ／Ｏが複数の場合には、データ転送装置の製造が繁雑になるという問題があった。
【００１０】
これらの問題を解決するためのデータ転送装置として、Ｉ／Ｏとイメージバスとの間にバッファメモリを介在し、Ｉ／Ｏはこのバッファメモリに対してデータを入出力し、イメージメモリ７３に対するデータの読み書きは、転送制御部７０によってバッファメモリとイメージメモリ７３との間で行なうデータ転送装置が考えられる。このようなデータ転送装置では、Ｉ／Ｏは自身に対応するＩ／Ｏクロックに、転送制御部７０はシステムクロックに、夫々同期して動作することが可能となる。また、Ｉ／Ｏはバッファメモリに対してデータの入出力を開始する場合にバス権を占有し、この入出力が終了したときにバス権を放すように構成される。このため、特にＩ／Ｏとバッファメモリとが一対一対応に備えられている場合は、Ｉ／Ｏがバス権を占有してから放すまでの時間が短縮され、データ転送が効率化される。
【００１１】
このようなデータ転送装置では、バッファメモリにはシステムクロックを入力させ、これに同期して動作させることが考えられる。この場合、バッファメモリとＩ／Ｏとは異なるクロックに同期して動作するため、両者間で制御信号を入出力する場合にはシステムクロックを用いてＩ／Ｏの動作に同期するように予め調整されたバッファメモリを備えておく必要があるという問題があった。
【００１２】
また、バッファメモリがＩ／Ｏへ制御信号を出力する場合、バッファメモリは、システムクロックを計数し、計数結果に応じた信号幅の制御信号をＩ／Ｏへ出力するよう構成される。Ｉ／Ｏが受け付け可能な制御信号の信号幅は、一般に、Ｉ／Ｏ毎に異なる。このため、特にＩ／Ｏ及びバッファメモリを一対一対応に複数備える場合は、各バッファメモリが同一のシステムクロックを用いて、異なる信号幅の制御信号を出力するように、夫々を異なる構成にする必要があり、データ転送装置の製造が繁雑になるという問題があった。      
【００１３】
また、複数のバッファメモリを備える場合、各バッファメモリが出力する制御信号の信号幅を固定することが考えられる。このとき、Ｉ／Ｏ及びバッファメモリ間のアクセス時間が最も長いバッファメモリが出力する制御信号の信号幅と同じ信号幅の制御信号を他のバッファメモリも出力する必要があり、このため、システムクロックの端数を切り捨てる必要がある。この結果、入力されるシステムクロックに無駄が生じ、データ転送のスループットが低下するという問題があった。
【００１４】
本発明は斯かる問題を解決するためになされたものであり、データ処理部（Ｉ／Ｏ）と第１バス（イメージバス）との間に、処理クロック（Ｉ／Ｏクロック）及び転送クロック（システムクロック）に応じて動作するバッファメモリを介在することにより、データ転送のスループットを向上でき、また、バッファメモリの構成を統一できるデータ転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１５】
第１発明に係るデータ転送装置は、データの処理を処理クロックに応じて行なうデータ処理部と、外部の記憶装置が接続される第１バスと、該第１バスに接続され、前記記憶装置及び前記データ処理部の間のデータ転送を、転送クロックに応じて制御する転送制御部とを備えるデータ転送装置において、前記データ処理部に接続された第２バスと、該第２バス及び前記第１バスに接続され、該第１バス（又は前記第２バス）を介して入力されたデータを一時記憶し、一時記憶したデータを、前記第２バス（又は前記第１バス）へ出力するバッファメモリとを備え、該バッファメモリは、前記転送クロック及び前記処理クロックを入力され、これらに応じて動作するよう構成してあることを特徴とする。
【００１６】
第２発明に係るデータ転送装置は、前記データ処理部、前記第２バス、及び前記バッファメモリは、一対一対応に複数設けてあることを特徴とする。
【００１７】
第３発明に係るデータ転送装置は、外部又は内部の第１バスに接続され、該第１バスに接続される外部の記憶装置と、データの処理を処理クロックに応じて行なう外部又は内部のデータ処理部との間のデータ転送を、転送クロックに応じて制御する転送制御部を備えるデータ転送装置において、前記データ処理部に接続される第２バスと、該第２バス及び前記第１バスに接続され、該第１バス（又は前記第２バス）を介して入力されたデータを一時記憶し、一時記憶したデータを、前記第２バス（又は前記第１バス）へ出力するバッファメモリとを備え、該バッファメモリは、前記転送クロック及び前記処理クロックを入力され、これらに応じて動作するよう構成してあることを特徴とする。
【００１８】
第４発明に係るデータ転送装置は、前記第２バス及び前記バッファメモリは、一対一対応に複数設けてあることを特徴とする。
【００１９】
第５発明に係るデータ転送装置は、前記転送制御部は、該転送制御部からのデータ転送を要求する第１転送要求信号を受け付ける手段と、前記第１転送要求信号を受け付けた場合に、前記記憶装置からデータを読み込む手段と、読み込んだデータを、前記第１バスを介して前記バッファメモリへ出力する手段と、前記データ転送を確認する第１転送確認信号を前記バッファメモリへ出力する手段とを有し、前記バッファメモリは、入力された処理クロックを計数する手段と、前記第１転送要求信号を前記転送クロックに応じて前記転送制御部へ出力する手段と、前記データ処理部へのデータ転送を要求する第２転送要求信号を受け付ける手段と、前記第１転送確認信号を入力され、入力されたデータを一時記憶した場合に、前記第２転送要求信号を受け付けたとき、一時記憶したデータを、前記第２バスを介して前記データ処理部へ前記処理クロックに応じて出力する手段と、前記データ転送を確認する第２転送確認信号を前記処理クロックの計数結果に応じて前記データ処理部へ出力する手段とを有することを特徴とする。
【００２０】
第６発明に係るデータ転送装置は、前記バッファメモリは、入力された処理クロックを計数する手段と、前記データ処理部からのデータ転送を要求する第３転送要求信号を受け付ける手段と、前記データ処理部から前記第２バスを介して出力されたデータを受け付ける手段と、前記第３転送要求信号を受け付け、受け付けたデータを一時記憶した場合に、前記データ転送を確認する第３転送確認信号を前記処理クロックの計数結果に応じて前記データ処理部へ出力する手段と、前記第３転送確認信号を出力した場合に、前記転送クロックに応じて、前記転送制御部へのデータ転送を要求する第４転送要求信号を前記転送制御部へ出力する手段と、一時記憶したデータを、前記第１バスを介して前記転送制御部へ前記転送クロックに応じて出力する手段とを有し、前記転送制御部は、前記第４転送要求信号及び前記データを入力された場合に、入力されたデータを前記記憶装置に書き込む手段と、前記データ転送を確認する第４転送確認信号を前記バッファメモリへ出力する手段とを有することを特徴とする。
【００２１】
第１発明又は第３発明にあっては、データ処理部と第１バスとの間にバッファメモリを備える。このバッファメモリは、データ処理部との間でデータ転送を行なう場合と、転送制御部との間でデータ転送を行なう場合とで、処理クロック及び転送クロックを使い分けることが可能となる。即ち、バッファメモリとデータ処理部とは、処理クロックに応じて、第２バスを介したデータの入出力を行ない、また、バッファメモリと転送制御部とは、転送クロックに応じて、第１バスを介したデータの入出力を行なう。このため、データ処理部が、従来のように処理クロックを用いて転送クロックに同期して動作する必要がなく、この結果、データ処理部のデータ転送処理と転送制御部のデータ転送処理とが分けて扱われる。
【００２２】
更にまた、このようなバッファメモリは、１個のデータ転送装置に複数備えられる場合であっても、また、複数個のデータ転送装置に夫々備えられる場合であっても、各バッファメモリの構成が略同様の構成となるため、転送クロックを用いて処理クロックに同期して動作するようバッファメモリ毎に調整する必要がなく、データ転送装置の製造が簡易になり、バッファメモリの量産が容易になる。
【００２３】
このようなデータ転送装置は一般にＬＳＩとして構成される。また、第１発明のデータ転送装置は、データ処理部及び第１バスを備える。このため、ＬＳＩのピン数が少なくなり、ＬＳＩの基板の面積が小さくなり、更に、放射ノイズが低減される。なお、第２発明のデータ転送装置に関しては、データ処理部及び第１バスはデータ転送装置の外部に存在しても良く、データ処理部及び第１バスの内の一方がデータ転送装置の内部に存在しても良い。
【００２４】
第２発明及び第４発明にあっては、１個の第２バスに１個のデータ処理部と１個のバッファメモリとが接続されている。仮に、１個の第２バスに複数個のデータ処理部又はバッファメモリが備えられている場合、データ処理部とバッファメモリとの間のデータ転送を行なう場合、各データ処理部間又は各バッファメモリ間で、データ転送の優先順位の決定（優先制御）を行なう手段が別途必要となり、また、優先制御によって、一のデータ転送中は他のデータ転送を行なうことができず、データ転送の待ち時間が発生し、データ転送が非効率的になる。つまり、本発明の構成によって、データ転送が効率化される。
【００２５】
第５発明又は第６発明にあっては、複数のデータ処理部に関し、一般に、データ処理部毎に、このデータ処理部が受け付ける制御信号（この場合、転送確認信号）の信号幅が異なるため、バッファメモリが、処理クロックを計数して、所定の個数に応じた信号幅の転送確認信号を、データ処理部へ出力する。このため、転送クロックを計数して転送確認信号を出力する場合とは異なり、前記所定の個数を、各バッファメモリ間で共通化することが可能であるため、複数のバッファメモリに関し、各バッファメモリの構成が同一となる。
【００２６】
また、処理クロックの個数に応じた信号幅の転送確認信号は、転送クロックの個数に応じた信号幅の転送確認信号とは異なり、必要最小限の信号幅にすることが可能であるため、データ転送のスループットが向上される。
【発明の効果】
【００２７】
本発明のデータ転送装置によれば、バッファメモリとデータ処理部とが処理クロックに応じてデータ転送を行ない、また、バッファメモリと転送制御部とが転送クロックに応じてデータ転送を行なう。このため、データ処理部のデータ転送処理と転送制御部のデータ転送処理とを分けて扱うことができる。
【００２８】
また、バッファメモリは転送クロック及び処理クロックを入力されて、入力されたクロックの内、一方のクロックに適宜応じて動作する。このようなバッファメモリが複数必要である場合、各バッファメモリの構成を統一することができるため、バッファメモリを容易に量産することができる。また、対応するデータ処理部に応じて動作するよう調整されたバッファメモリを備える必要がないため、データ転送装置を簡易に製造することができる。
【００２９】
また、ＬＳＩであるデータ転送装置が、内部にデータ処理部及び／又は第１バスを備える場合は、ＬＳＩのピン数を少なくすることができ、ＬＳＩの基板の面積が小さくすることができ、更に、放射ノイズを低減することができる。
【００３０】
また、夫々複数存在するバッファメモリと第２バスとデータ処理部とが、一対一対応であるため、一のバッファメモリ及びデータ処理部の間のデータ転送中に、他のバッファメモリ及びデータ処理部の間のデータ転送を実行できる。この結果、データ転送の優先順位を決定する必要も、データ転送の待ち時間が発生することもなく、データ転送を効率化良く行なうことができる。
【００３１】
更に、無駄のない信号幅の制御信号（特にバッファメモリからデータ処理部へ出力する転送確認信号）を用いてデータ転送のスループットを向上することができる等、本発明は優れた効果を奏する。
【発明を実施するための最良の形態】
【００３２】
以下、本発明を、その実施の形態を示す図面に基づいて詳述する。ここでは、データ転送装置を備える複合機を例示するが、これに限るものではない。
【００３３】
実施の形態  １．
図１は、本発明の実施の形態１に係るデータ転送装置１の構成を示すブロック図である。このデータ転送装置１はＬＳＩであり、プリンタ４４及び図示しないスキャナ等を備える複合機６に備えられている。複合機６は、図示しないインタフェース、及び通信ケーブル等を介してパーソナルコンピュータ（以下、パソコンという）５に接続されている。このパソコン５は、データ（具体的には画像データ）を処理する画像処理装置として機能し、複合機６へデータを送信して複合機６をプリンタとして機能させたり、スキャナとして機能する複合機６から該複合機６が原稿から読み取ったデータを受信したりする。
【００３４】
複合機６は、データ転送装置１、プリンタ４４及び前記スキャナ等の他に、複合機６の制御中枢であるＣＰＵ４１と、データを記憶するイメージメモリ２（記憶装置）及びシステムメモリ３と、第１システムバス３１とを備える。データ転送装置１内には、第２システムバス１０３と、データを高速で転送するイメージバス１０２（第１バス）とが備えられており、このイメージバス１０２にイメージメモリ２が接続されており、また、第２システムバス１０３と第１システムバス３１とが接続されており、更に、この第１システムバス３１に、ＣＰＵ４１及びシステムメモリ３等が接続されている。
【００３５】
データ転送装置１は、夫々データ処理部であり第２システムバス１０３に接続されている第１Ｉ／Ｏ１４１、第２Ｉ／Ｏ１４２、及び第３Ｉ／Ｏ１４３と、夫々バッファメモリでありイメージバス１０２に接続されているライトバッファ１１、リードバッファ１２、及びリードバッファ１３と、第２システムバス１０３及びイメージバス１０２の両方に接続されている転送制御部１０とを備える。また、データ転送装置１は、第１Ｉ／Ｏ１４１及びライトバッファ１１を一対一対応に接続する第２バスである第１データバス１１０を備え、同様に、第２Ｉ／Ｏ１４２及びリードバッファ１２を接続する第２データバス１２０と、第３Ｉ／Ｏ１４３及びリードバッファ１３を接続する第３データバス１３０とを備える。これらの各部及びバス等は、データ転送装置１を構成するシリコンウェハ上に設けられている。
【００３６】
第１Ｉ／Ｏ１４１は、例えばプリンタコーデックである。パソコン５から複合機６へ送信されたデータは、ＣＰＵ４１に制御されて、まず、システムメモリ３に書き込まれ、この書き込まれたデータが、第１システムバス３１及び第２システムバス１０３を介して第１Ｉ／Ｏ１４１へ入力される。次に、第１Ｉ／Ｏ１４１へ入力されたデータは第１データバス１１０を介してライトバッファ１１へ入力され、ここで一時記憶されてから、イメージバス１０２及び転送制御部１０を介してイメージメモリ２に書き込まれる。
【００３７】
更に、この書き込まれたデータが、イメージバス１０２及び転送制御部１０を介してリードバッファ１３へ入力され、ここで一時記憶されてから、第３データバス１３０を介して第３Ｉ／Ｏ１４３へ入力される。第３Ｉ／Ｏ１４３は、例えばプリンタ回路であり、入力されたデータを、プリンタ４４へ出力する。このようにして、ライトバッファ１１はイメージメモリ２へデータを書き込み、リードバッファ１３はイメージメモリ２からデータを読み込む。
【００３８】
第２Ｉ／Ｏ１４２は、例えばスキャナコーデックである。スキャナから出力されたデータは、イメージメモリ２に書き込まれる。更に、この書き込まれたデータが、イメージバス１０２及び転送制御部１０を介してリードバッファ１２へ入力され、ここで一時記憶されてから、第２データバス１２０を介して第２Ｉ／Ｏ１４２へ入力される。この入力されたデータは、ＣＰＵ４１に制御されて、第１システムバス３１及び第２システムバス１０３を介してシステムメモリ３に書き込まれ、この書き込まれたデータが、パソコン５へ送信される。このようにして、リードバッファ１３はイメージメモリ２からデータを読み込む。
【００３９】
複合機６は、図示しないクロックジェネレータを備え、ここで生成されたクロック信号が適宜調整されて、システムクロックとしてイメージメモリ２、転送制御部１０、ライトバッファ１１、リードバッファ１２、及びリードバッファ１３へ入力される。同様に、前記クロック信号が夫々適宜調整されて、第１Ｉ／Ｏクロックとして第１Ｉ／Ｏ１４１及びライトバッファ１１へ入力され、第２Ｉ／Ｏクロックとして第２Ｉ／Ｏ１４２及びリードバッファ１２へ入力され、第３Ｉ／Ｏクロックとして第３Ｉ／Ｏ１４３及びライトバッファ１３へ入力される。一般に、システムクロック（転送クロック）と各Ｉ／Ｏクロック（処理クロック）とは異なるが、Ｉ／Ｏクロック同士は異なっていても同じであっても良い。
【００４０】
各Ｉ／Ｏは、データの処理（例えば入出力）を、入力されるＩ／Ｏクロックに応じて（同期して）行ない、転送制御部１０は、イメージメモリ２及び各Ｉ／Ｏの間のデータ転送（例えばＤＭＡ（ダイナミック・メモリ・アクセス）転送）を、入力されるシステムクロックに同期して制御（起動制御、優先制御、アドレス制御、及び回数制御）する。また、イメージメモリ２は入力されるシステムクロックに同期して動作し、更に、各バッファメモリは、入力されるＩ／Ｏクロック及びシステムクロックに同期して動作する。
【００４１】
データ転送の際、転送制御部１０と各バッファメモリとの間では、データ転送を要求する転送要求信号（ＤＲＥＱ）とこのデータ転送を確認する転送確認信号（ＤＡＣＫ）とがシステムクロックに同期して入出力され、各Ｉ／Ｏと該Ｉ／Ｏに一対一対応するバッファメモリとの間では、データ転送を要求する転送要求信号（ｄｒｅｑ）とこのデータ転送を確認する転送確認信号（ｄａｃｋ）とがＩ／Ｏクロックに同期して入出力される。これらの制御信号は、対応する各部を接続する信号線を介して入出力される。
【００４２】
各バッファメモリは、入力されるＩ／Ｏクロックを計数しており、該バッファメモリが、対応するＩ／Ｏへ出力するｄａｃｋは、Ｉ／ＯクロックＮ（Ｎは自然数。例えば２）個分の信号幅を有する。このＮの値は、複数あるバッファメモリ全てに共通である。このため、各バッファメモリは同一の構成を有する。なお、バッファメモリ毎にＮの値が異なっても良いが、この場合、バッファメモリ毎に構成が変わってくるため、共通のＮを用いることが望ましい。
【００４３】
Ｉ／ＯクロックＮ個分の信号幅を有するｄａｃｋは、各バッファメモリ間でＮの値が同一であっても、システムクロックをＮ個計数してｄａｃｋを出力する場合と異なり、前記バッファメモリに対応するＩ／Ｏが受け付け可能なｄａｃｋとなるため、複数のバッファメモリを備える場合であっても、Ｎの値は共通で良い。また、各Ｉ／Ｏと、これに対応するバッファメモリとは、同一のＩ／Ｏクロックで動作しているため、クロックの端数が生じない。このため、入力されるシステムクロックに無駄が生じることが防止され、データ転送のスループットが向上する。
【００４４】
データ転送の際、転送制御部１０は、各バッファメモリに関し、データ転送の優先順位を調停して、最優先すべきバッファメモリにバス権を占有させたり放させたりし、また、自身とイメージメモリ２との間で、データの読み書き時に制御信号及びアドレスのやり取りが行なわれるが、これらは公知技術であるため、詳述は省略する。
【００４５】
図２は、データ転送装置１が備えるリードバッファ１２に関する各種制御信号の出力のタイミングを示すタイミングチャートである。このタイミングと、リードバッファ１３に関する各種制御信号の出力のタイミングとは略同様である。
【００４６】
イメージメモリ２から第２Ｉ／Ｏ１４２へのデータ転送が開始された場合、まず、ＣＰＵ４１から所定の制御信号を入力されたリードバッファ１２が、転送制御部１０からのデータ転送を要求するＤＲＥＱ（第１転送要求信号）を転送制御部１０へ出力する。このＤＲＥＱは、後にＤＡＣＫが入力されるまで出力（オン状態）が継続される。ＤＲＥＱを入力された転送制御部１０は、イメージメモリ２から所要のデータを、イメージバス１０２を介して読み込み、この読み込みの終了後、読み込んだデータを、イメージバス１０２を介してリードバッファ１２へ出力し、また、前記データ転送を確認するＤＡＣＫ（第１転送確認信号）をリードバッファ１２へ出力する。このＤＡＣＫが入力された場合に、リードバッファ１２は、ＤＲＥＱの出力を停止（オフ状態に）する。
【００４７】
リードバッファ１２は、入力されたデータを一時記憶し、また、第２Ｉ／Ｏ１４２へのデータ転送を要求するｄｒｅｑ（第２転送要求信号）が入力されるまで待機する。ただし、このｄｒｅｑは、図中二点鎖線で示すように、転送制御部１０からデータ及びＤＡＣＫが入力される前に入力される場合もある。このようなｄｒｅｑは、第２Ｉ／Ｏ１４２が、自身がデータを受け付け可能なタイミングで、リードバッファ１２へ出力する。このｄｒｅｑは、後にｄａｃｋが入力されるまで出力（オン状態）が継続される。このようにｄｒｅｑを出力することによって、第２Ｉ／Ｏ１４２は、第２データバス１２０のバス権を要求し、占有する。
【００４８】
リードバッファ１２は、ＤＡＣＫが入力され、また、データを一時記憶した場合に、ｄｒｅｑが入力されたとき、一時記憶したデータを、第２データバス１２０を介して第２Ｉ／Ｏ１４２へ出力し、また、前記データ転送を確認するｄａｃｋ（第２転送確認信号）を第２Ｉ／Ｏ１４２へ出力する。このｄａｃｋは、第２Ｉ／ＯクロックＮ個分の信号幅を有する。ｄａｃｋが入力された場合、第２Ｉ／Ｏ１４２は、ｄｒｅｑの出力を停止（オフ状態）にし、これによって、第２データバス１２０のバス権を放す。
【００４９】
一時記憶したデータ及びｄａｃｋを第２Ｉ／Ｏ１４２へ出力したリードバッファ１２は、再びＣＰＵに制御されてＤＲＥＱを転送制御部１０へ出力することが可能となる。ただし、このＤＲＥＱは、第２Ｉ／Ｏ１４２からリードバッファ１２へｄｒｅｑが入力されていないとき（例えばｄｒｅｑがオン状態からオフ状態になった直後）に出力される。また、データ及びｄａｃｋをリードバッファ１２から入力された第２Ｉ／Ｏ１４２は、入力されたデータを処理し、次いで、リードバッファ１２へｄｒｅｑを出力することが可能となる。ただし、このｄｒｅｑは、リードバッファ１２から第２Ｉ／Ｏ１４２へデータ及びｄａｃｋが入力されていないときに出力される。
【００５０】
以上のようなデータ転送の手順は、第２Ｉ／Ｏ１４２がデータを受け付け可能になる前に、予めイメージメモリ２からデータを読み出してリードバッファ１２に一時記憶させている。このため、データを受け付け可能になった第２Ｉ／Ｏ１４２がｄｒｅｑを出力した直後に、リードバッファ１２から第２Ｉ／Ｏ１４２へ、予め一時記憶しておいたデータが入力されるため、第２Ｉ／Ｏ１４２がｄｒｅｑを出力した後でイメージメモリ２からデータを読み出していた従来のデータ転送装置と比べて、データ転送が高速に行なわれる。また、リードバッファ１２から第２Ｉ／Ｏ１４２へのデータ転送と、イメージメモリ２からリードバッファ１２への次のデータ伝送とが同時的に実行可能であるため、データ転送がより高速に行なわれる。
【００５１】
更に、第２Ｉ／Ｏ１４２は、イメージメモリ２から転送制御部１０にデータが読み込まれている間も、データの処理が実行可能であるため、イメージメモリ２から転送制御部１０にデータが読み込まれ、読み込まれたデータが自身に入力されるまで待機しておく必要があった従来のデータ転送装置と比べて、データの処理が順次効率良く行なわれる。
【００５２】
以下に、リードバッファ１２、転送制御部１０、及び第２Ｉ／Ｏ１４２夫々のデータ転送処理手順を個々に説明する。図３は、リードバッファ１２の第２Ｉ／Ｏ１４２及び転送制御部１０に関するデータ転送処理の手順を示すフローチャートである。リードバッファ１２は、第２Ｉ／Ｏクロック及びシステムクロックを常に受け付けている（Ｓ１１）。
【００５３】
リードバッファ１２は、システムクロックに同期してＤＲＥＱを転送制御部１０へ出力して（Ｓ１２）、転送制御部１０からのデータ及びＤＡＣＫを受け付け（Ｓ１３）、また、第２Ｉ／Ｏ１４２からのｄｒｅｑを受け付ける（Ｓ１４）。次に、リードバッファ１２は、Ｓ１３で受け付けたデータ及びＤＡＣＫが入力されたか否かを判定し（Ｓ１５）、入力されていない場合は（Ｓ１５でＮＯ）、入力されるまで待機する。前記データ及びＤＡＣＫが入力された場合（Ｓ１５でＹＥＳ）、リードバッファ１２は、入力されたデータを一時記憶し（Ｓ１６）、Ｓ１４で受け付けたｄｒｅｑが入力されたか否かを判定する（Ｓ１７）。
【００５４】
このｄｒｅｑが入力されていない場合は（Ｓ１７でＮＯ）、入力されるまで待機し、前記ｄｒｅｑが入力された場合（Ｓ１７でＹＥＳ）、リードバッファ１２は、第２Ｉ／Ｏクロックを計数して（Ｓ１８）、一時記憶したデータ及び第２Ｉ／ＯクロックＮ個分の信号幅のｄａｃｋを第２Ｉ／Ｏクロックに同期して第２Ｉ／Ｏ１４２へ出力する（Ｓ１９）。Ｓ１９の処理の完了後、リードバッファ１２は、処理をＳ１２へ戻す。ただし、図示はしないが、イメージメモリ２から第２Ｉ／Ｏ１４２への全てのデータ転送が完了した場合、リードバッファ１２は、ＣＰＵ４１から所定の制御信号を入力され、この制御信号を入力されたときに、Ｓ１９の処理の完了後、データ転送処理を終了する。
【００５５】
図４は、転送制御部１０のリードバッファ１２に関するデータ転送処理の手順を示すフローチャートである。転送制御部１０は、リードバッファ１２からのＤＲＥＱを受け付け（Ｓ３１）、Ｓ３１で受け付けたＤＲＥＱが入力されたか否かを判定し（Ｓ３２）、入力されていない場合は（Ｓ３２でＮＯ）、入力されるまで待機する。前記ＤＲＥＱが入力された場合（Ｓ３２でＹＥＳ）、転送制御部１０は、イメージメモリ２からデータを読み込み（Ｓ３３）、この読み込みの終了後、読み込んだデータ及びＤＡＣＫをリードバッファ１２へ出力する（Ｓ３４）。Ｓ３４の処理の終了後、転送制御部１０は、処理をＳ３１へ戻す。
【００５６】
第２Ｉ／Ｏ１４２は、ｄｒｅｑをリードバッファ１２へ出力し、リードバッファ１２からのデータ及びｄａｃｋを受け付け、受け付けたデータ及びｄａｃｋが入力されたか否かを判定して、このデータ及びｄａｃｋが入力されるまで待機し、入力された場合に、入力されたデータを処理し、その後、まだ要求すべきデータがあるときは再びｄｒｅｑをリードバッファ１２へ出力してデータ転送処理を継続し、転送すべきデータがない場合はデータ転送処理を終了する。
【００５７】
図５は、ライトバッファ１１に関する各種制御信号の出力のタイミングを示すタイミングチャートである。第１Ｉ／Ｏ１４１からイメージメモリ２へのデータ転送が開始された場合、まず、データの処理が終了した第１Ｉ／Ｏ１４１が、自身からのデータ転送を要求するｄｒｅｑ（第３転送要求信号）をライトバッファ１１へ出力し、また、処理済みのデータを、第１データバス１１０を介してライトバッファ１１へ出力する。このｄｒｅｑは、後にｄａｃｋが入力されるまで出力（オン状態）が継続される。このようにｄｒｅｑを出力することによって、第１Ｉ／Ｏ１４１は、第１データバス１１０のバス権を要求し、占有する。
【００５８】
ライトバッファ１１は、入力されたデータを一時記憶し、また、前記データ転送を確認するｄａｃｋ（第３転送確認信号）を第１Ｉ／Ｏ１４１へ出力する。このｄａｃｋは、第１Ｉ／ＯクロックＮ個分の信号幅を有する。ｄａｃｋが入力された場合、第２Ｉ／Ｏ１４２は、ｄｒｅｑの出力を停止（オフ状態）にし、これによって、第２データバス１２０のバス権を放す。この後、第１Ｉ／Ｏ１４１は、新たなデータの処理を行ない、処理の終了後にｄｒｅｑ及び処理済みのデータをライトバッファ１１へ入力する。ただし、このｄｒｅｑ及びデータは、ライトバッファ１１から第１Ｉ／Ｏ１４１へｄａｃｋが入力されていないときに出力される。
【００５９】
ｄａｃｋを出力したライトバッファ１１は、入力されていたｄｒｅｑがオフ状態になった時点で、転送制御部１０へのデータ転送を要求するＤＲＥＱ（第４転送要求信号）を転送制御部１０へ出力し、また、一時記憶したデータを、イメージバス１０２を介して転送制御部１０へ出力する。この場合に、ライトバッファ１１は、次のｄｒｅｑ及びデータを受け付け可能となる。また、このＤＲＥＱは、後にＤＡＣＫが入力されるまで出力（オン状態）が継続される。
【００６０】
転送制御部１０は、入力されたデータをイメージメモリ２に書き込み、この書き込みの終了後、前記データ転送を確認するＤＡＣＫ（第４転送確認信号）をライトバッファ１１へ出力する。このＤＡＣＫが入力された場合に、ライトバッファ１１は、ＤＲＥＱの出力を停止（オフ状態に）し、また、前記次のｄｒｅｑ及びデータが入力されたときは、この転送を確認するｄａｃｋを出力する。
【００６１】
以上のようなデータ転送の手順は、ライトバッファ１１からイメージメモリ２へのデータ転送と、第１Ｉ／Ｏ１４１からライトバッファ１１への次のデータ伝送とが同時的に実行可能であるため、データ転送が高速に行なわれる。また、第１Ｉ／Ｏ１４１は、転送制御部１０からイメージメモリ２にデータが書き込まれている間も、データの処理が実行可能であるため、自身から出力されたデータがイメージメモリ２に書き込まれるまで待機しておく必要があった従来のデータ転送装置と比べて、データの処理が順次効率良く行なわれる。
【００６２】
以下に、第１Ｉ／Ｏ１４１、ライトバッファ１１、及び転送制御部１０夫々のデータ転送処理手順を個々に説明する。第１Ｉ／Ｏ１４１は、ｄｒｅｑ及び処理済みのデータをライトバッファ１１へ出力し、ライトバッファ１１からのｄａｃｋを受け付け、受け付けたｄａｃｋが入力されたか否かを判定して、このｄａｃｋが入力されるまで待機し、入力された場合に、まだ転送すべきデータがあるときは再びｄａｃｋ及び処理済みのデータをライトバッファ１１へ出力してデータ転送処理を継続し、転送すべきデータがない場合はデータ転送処理を終了する。
【００６３】
図６は、ライトバッファ１１の第１Ｉ／Ｏ１４１及び転送制御部１０に関するデータ転送処理の手順を示すフローチャートである。ライトバッファ１１は、第１Ｉ／Ｏクロック及びシステムクロックを常に受け付けている（Ｓ５１）。
【００６４】
ライトバッファ１１は、第２Ｉ／Ｏ１４２からのｄｒｅｑ及びデータを受け付け（Ｓ５２）、Ｓ５２で受け付けたｄｒｅｑ及びデータが入力されたか否かを判定し（Ｓ５３）、入力されていない場合は（Ｓ５３でＮＯ）、入力されるまで待機する。前記ｄｒｅｑ及びデータが入力された場合（Ｓ５３でＹＥＳ）、ライトバッファ１１は、入力されたデータを一時記憶し（Ｓ５４）、第１Ｉ／Ｏクロックを計数して（Ｓ５５）、第１Ｉ／ＯクロックＮ個分の信号幅のｄａｃｋを第１Ｉ／Ｏクロックに同期して第１Ｉ／Ｏ１４１へ出力する（Ｓ５６）。
【００６５】
次いで、ライトバッファ１１は、システムクロックに同期して、一時記憶したデータ及びＤＲＥＱを転送制御部１０へ出力して（Ｓ５７）、転送制御部１０からのＤＡＣＫを受け付け（Ｓ５８）、また、第２Ｉ／Ｏ１４２からのｄｒｅｑ及びデータを受け付ける（Ｓ５９）。更に、ライトバッファ１１は、Ｓ５８で受け付けたＤＡＣＫが入力されたか否かを判定し（Ｓ６１）、入力されていない場合は（Ｓ６１でＮＯ）、入力されるまで待機する。前記ＤＡＣＫが入力された場合（Ｓ６１でＹＥＳ）、ライトバッファ１１は、処理をＳ５３へ戻して、Ｓ５９で受け付けたｄｒｅｑ及びデータが入力されたか否かを判定する。
【００６６】
図７は、転送制御部１０のライトバッファ１１に関するデータ転送処理の手順を示すフローチャートである。転送制御部１０は、ライトバッファ１１からのＤＲＥＱ及びデータを受け付け（Ｓ７１）、Ｓ７１で受け付けたＤＲＥＱ及びデータが入力されたか否かを判定し（Ｓ７２）、入力されていない場合は（Ｓ７２でＮＯ）、入力されるまで待機する。前記ＤＲＥＱ及びデータが入力された場合（Ｓ７２でＹＥＳ）、転送制御部１０は、入力されたデータをイメージメモリ２へ書き込み（Ｓ７３）、この書き込みの終了後、ＤＡＣＫをライトバッファ１１へ出力する（Ｓ７４）。Ｓ７４の処理の終了後、転送制御部１０は、処理をＳ７１へ戻す。
【００６７】
以上のようなデータ転送装置１は、イメージメモリ２と、ＣＰＵ４１及びシステムメモリ３との間に介在して、イメージメモリ２及び各Ｉ／Ｏの間のデータ転送を行なう。また、データ転送装置１は、各Ｉ／Ｏ及びイメージバス１０２等を内蔵しているため、ＬＳＩであるデータ転送装置１のピン数が少なくなり、データ転送装置１の基板の面積が小さくなり、更に、放射ノイズが低減される。また、各バッファの構成が同一であるため、データ転送装置１の製造は簡易である。
【００６８】
なお、本実施の形態においては、各Ｉ／Ｏは、対応するバッファメモリに対してデータの入力又は出力のみを行なう場合を例示しているが、前記バッファメモリに対して入力及び出力を行なう構成であっても良い。また、１個のＩ／Ｏに対して、２個のデータバスと、これに一対一対応する２個のバッファメモリとを備え、このバッファメモリの一方に対してデータの入力を行ない、他方に対して出力を行なう構成であっても良い。
【００６９】
実施の形態  ２．
図８は、本発明の実施の形態２に係るデータ転送装置１の構成を示すブロック図であり、実施の形態１に対応する部分には同一符号を付してそれらの説明を省略する。実施の形態１のデータ転送装置１と本実施の形態のデータ転送装置１との主な相違点は、このデータ転送装置１は、システムバス、イメージバス、及び各Ｉ／Ｏを内蔵しないという点である。
【００７０】
複合機６は、実施の形態１の第１システムバス３１の代わりにシステムバス３０を備え、実施の形態１の各Ｉ／Ｏの代わりに、データ転送装置１の外部に第１Ｉ／Ｏ４１、第２Ｉ／Ｏ４２、及び第３Ｉ／Ｏ４３を備え、これらのＩ／Ｏは、実施の形態１のような第２システムバス１０３を介することなく、直接的にシステムバス３０に接続されている。また、複合機６は、実施の形態１のイメージバス１０２の代わりに、データ転送装置１の外部にイメージバス２０を備える。
【００７１】
以上のようなデータ転送装置１は、実施の形態１のデータ転送装置１と同様に、イメージメモリ２と、ＣＰＵ４１及びシステムメモリ３との間に介在して、イメージメモリ２及び各Ｉ／Ｏの間のデータ転送を行なう。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態１に係るデータ転送装置の構成を示すブロック図である。
【図２】本発明の実施の形態１に係るデータ転送装置が備えるリードバッファに関する各種制御信号の出力のタイミングを示すタイミングチャートである。
【図３】本発明の実施の形態１に係るデータ転送装置が備えるリードバッファの第２Ｉ／Ｏ及び転送制御部に関するデータ転送処理の手順を示すフローチャートである。
【図４】本発明の実施の形態１に係るデータ転送装置が備える転送制御部のリードバッファに関するデータ転送処理の手順を示すフローチャートである。
【図５】本発明の実施の形態１に係るデータ転送装置が備えるライトバッファに関する各種制御信号の出力のタイミングを示すタイミングチャートである。
【図６】本発明の実施の形態１に係るデータ転送装置が備えるライトバッファの第１Ｉ／Ｏ及び転送制御部に関するデータ転送処理の手順を示すフローチャートである。
【図７】本発明の実施の形態１に係るデータ転送装置が備える転送制御部のライトバッファに関するデータ転送処理の手順を示すフローチャートである。
【図８】本発明の実施の形態２に係るデータ転送装置の構成を示すブロック図である。
【図９】従来のデータ転送装置に関するデータと各種制御信号との入出力の手順を示す説明図である。
【符号の説明】
【００７３】
１  データ転送装置
１０  転送制御部
１１  ライトバッファ（バッファメモリ）
１２，１３  リードバッファ（バッファメモリ）
１０２，２０  イメージバス（第１バス）
１１０，１２０，１３０  データバス（第２バス）
１４１，４１  第１Ｉ／Ｏ（データ処理部）
１４２，４２  第２Ｉ／Ｏ（データ処理部）
１４３，４３  第３Ｉ／Ｏ（データ処理部）
２  イメージメモリ（記憶装置）
【図１】
2005115563.tif 000003
【図２】
2005115563.tif 000004
【図３】
2005115563.tif 000005
【図４】
2005115563.tif 000006
【図５】
2005115563.tif 000007
【図６】
2005115563.tif 000008
【図７】
2005115563.tif 000009
【図８】
2005115563.tif 000010
【図９】
2005115563.tif 000011