(57)【要約】      （修正有）【課題】複数のユニットと、共有メモリとの間でデータ転送するデータ転送装置において、各ユニットでのデータ処理を長く待たされないようにする。【解決手段】２つのユニット４、１１が同時に例えばリード要求Ｒ１ａ、Ｒ２ａを出力した場合に、各リクエスト分割部５、１２は、対応するリード要求を所定データ転送長の複数の要求に分割する。例えば、リード要求Ｒ１ａのデータ転送長が長い場合には、その最初の分割要求に応じて、第３メモリ３から第１リードＦＩＦＯ８に読み出しデータが格納された時点で、リード要求Ｒ２ａの最初の分割要求が実行される。ユニット４側では、第１リードＦＩＦＯ８から第１メモリ１に前記読み出しデータが格納されて初めて、次の分割要求が第１リクエストＦＩＦＯ６から出力される。【選択図】 図１
2007018266.tif 000002
【特許請求の範囲】
【請求項１】
所定動作クロックで動作する複数のユニットと、
前記所定動作クロックとは異なる動作クロックで動作する共有メモリとを備え、前記複数のユニットと前記共有メモリとの間でデータの読み出し及び書き込みを行うようにしたデータ転送装置において、
前記複数のユニットと同数設けられ、対応するユニットからの読み出し要求及び書き込み要求を受け、その要求に含まれるデータ転送長を予め設定した固定長に分割して、複数の分割読み出し要求及び複数の分割書き込み要求を出力するリクエスト分割部と、
前記リクエスト分割部と同数設けられ、対応するリクエスト分割部からの複数の分割読み出し要求及び複数の分割書き込み要求を、前記複数のユニットの動作クロックに基づいて格納し、前記共有メモリの動作クロックに基づいて出力するリクエスト先入れ先出し回路と、
前記複数のユニットと同数設けられ、対応するユニットから前記共有メモリへの書き込みデータを格納すると共に、前記共有メモリから対応ユニットへの読み出しデータを格納するデータ先入れ先出し回路と、
前記リクエスト先入れ先出し回路の分割読み出し要求及び複数の分割書き込み要求を受け、分割読み出し要求のときには前記共有メモリから読み出しデータを読み出して前記データ先入れ先出し回路に格納する一方、分割書き込み要求のときには前記データ先入れ先出し回路に格納された書き込みデータを前記共有メモリに出力するメモリ制御部とを備えた
ことを特徴とするデータ転送装置。
【請求項２】
前記請求項１記載のデータ転送装置において、
前記リクエスト先入れ先出し回路は、
対応ユニットからの今回の分割読み出し要求に際して、前記共有メモリから対応データ先入れ先出し回路に出力された読み出しデータが、対応ユニットに格納された後に、次回の分割読み出し要求を出力する
ことを特徴とするデータ転送装置。
【請求項３】
前記請求項１記載のデータ転送装置において、
前記リクエスト先入れ先出し回路は、
対応ユニットから対応データ先入れ先出し回路に書き込みデータが格納された後に、今回の分割書き込み要求を出力する
ことを特徴とするデータ転送装置。
【請求項４】
前記請求項１記載のデータ転送装置において、
前記リクエスト分割部の分割読み出し要求及び分割書き込み要求は、
書き込み又は読み出しかを示す読み書きフラグと、
対応ユニットのデータ格納場所のデータの書き込み又は読み出し開始アドレスと、
前記共有メモリのデータの書き込み又は読み出し開始アドレスと、
データの転送長とを有する
ことを特徴とするデータ転送装置。
【請求項５】
前記請求項１記載のデータ転送装置において、
前記リクエスト分割部は、
複数の分割読み出し要求及び複数の分割書き込み要求のうち、最後に位置する分割読み出し要求及び分割書き込み要求について、終了フラグを付加する
ことを特徴とするデータ転送装置。
【請求項６】
前記請求項５記載のデータ転送装置において、
前記データ先入れ先出し回路への書き込みデータ又は読み出しデータの格納を制御する先入れ先出し回路制御部を有し、
前記先入れ先出し回路制御部は、
前記リクエスト分割部からの終了フラグを受けて、前記データ先入れ先出し回路から前記共有メモリへの書き込みデータの出力又は前記データ先入れ先出し回路から対応ユニットへの読み出しデータの出力が終了したときには、対応ユニットに対して転送終了信号を出力する
ことを特徴とするデータ転送装置。
【請求項７】
前記請求項６記載のデータ転送装置において、
対応ユニットは、
前記先入れ先出し回路制御部からの転送終了信号を受けたときに限り、次回の読み出し要求又は書き込み要求を出力する
ことを特徴とするデータ転送装置。
【請求項８】
前記請求項１記載のデータ転送装置において、
前記データ先入れ先出し回路は、
データ書き込み用のライト先入れ先出し回路と、データ読み出し用のリード先入れ先出し回路とを備える
ことを特徴とするデータ転送装置。
【請求項９】
前記請求項１記載のデータ転送装置において、
前記複数のユニットは、
内部又は外部に、前記データ先入れ先出し回路との間で書き込みデータ及び読み出しデータの転送が行われるメモリを有する
ことを特徴とするデータ転送装置。
【請求項１０】
前記請求項１記載のデータ転送装置において、
前記共有メモリは、１個又は複数個である
ことを特徴とするデータ転送装置。
【請求項１１】
所定動作クロックで動作する複数のユニットと、
前記所定動作クロックとは異なる動作クロックで動作する共有メモリとを備え、前記複数のユニットと前記共有メモリとの間でデータの読み出し及び書き込みを行うデータ転送方法であって、
前記複数のユニットから読み出し要求及び書き込み要求が出力されたとき、その要求に含まれるデータ転送長を予め設定した固定長に分割して、複数の分割読み出し要求及び複数の分割書き込み要求を出力した後、
前記複数の分割読み出し要求及び複数の分割書き込み要求を前記共有メモリの動作クロックに基づいて出力し、
前記各分割書き込み要求別に、データ先入れ先出し回路に格納された共有メモリへの書き込みデータを共有メモリに格納すると共に、前記各分割読み出し要求別に、前記共有メモリから読み出しデータを読み出して前記データ先入れ先出し回路に格納する
ことを特徴とするデータ転送方法。
【請求項１２】
前記請求項１１記載のデータ転送方法において、
今回の分割読み出し要求に際して、前記共有メモリから対応データ先入れ先出し回路に出力された読み出しデータが、対応ユニットに格納された後に、次回の分割読み出し要求を出力する
ことを特徴とするデータ転送方法。
【請求項１３】
前記請求項１１記載のデータ転送方法において、
何れかのユニットから前記データ先入れ先出し回路に書き込みデータが格納された後に、今回の分割書き込み要求を出力して、前記データ先入れ先出し回路に格納された書き込みデータを前記共有メモリに出力する
ことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のユニットと、これ等複数のユニットで共有する１つのメモリとの間でデータ転送を行うデータ転送装置に関する。
【背景技術】
【０００２】
従来、複数のユニットで１つのメモリを共有するデータ転送装置として、例えば特許文献１が知られている。図１４は、このようなデータ転送装置を示す図である。
【０００３】
図１４において、１０１は共有されるメモリ、１０２、１０３、１０４は各々前記共有メモリ１０１へのデータのアクセスを要求する第１ユニット、第２ユニット、第３ユニットである。１０５は前記第１ユニット１０２からのアクセス要求を格納する第１リクエストＦＩＦＯ、１０６は第２ユニット１０３からのアクセス要求を格納する第２リクエストＦＩＦＯ、１０７は第３ユニット１０４からのアクセス要求を格納する第３リクエストＦＩＦＯであり、１０８は第１ユニット１０２から読み出したデータを格納する第１ライトＦＩＦＯ、１０９は第２ユニット１０３から読み出したデータを格納する第２ライトＦＩＦＯ、１１０は第３ユニット１０４から読み出したデータを格納する第３ライトＦＩＦＯである。１１１は、メモリ１０１から読み出したデータを格納し第１ユニット１０２に出力する第１リードＦＩＦＯ、１１２はメモリ１０１から読み出したデータを格納し第２ユニット１０３に出力する第２リードＦＩＦＯ、１１３はメモリ１０１から読み出したデータを格納し第３ユニット１０４に出力する第３リードＦＩＦＯである。
【０００４】
また、１１４は前記第１リクエストＦＩＦＯ１０５、第２リクエストＦＩＦＯ１０６、第３リクエストＦＩＦＯ１０７からのアクセス要求を受けて、決められた優先順位に従って第１リクエストＦＩＦＯ１０５か第２リクエストＦＩＦＯ１０６か第３リクエストＦＩＦＯ１０７からのアクセス要求の何れかを選択し、メモリ１０１への書き込み要求ならば、第１ライトＦＩＦＯ１０８か第２ライトＦＩＦＯ１０９か第３ライトＦＩＦＯ１１０のうち選択されたアクセス要求に対するものからのデータを選択してメモリ１０１に書き込み、メモリ１０１からの読み出し要求ならば、メモリ１０１からデータを読み出して第１リードＦＩＦＯ１１１か第２リードＦＩＦＯ１１２か第３リードＦＩＦＯ１１３のうち選択されたアクセス要求に対するものを選択してデータを書き込むメモリ制御部である。
【０００５】
次に、このデータ転送装置のデータの転送方法について、第１ユニット１０２と第２ユニット１０３がメモリ１０１からのデータの読み出しの要求した場合を例に図１５を用いて説明する。
【０００６】
先ず、第１ユニット１０２からデータの読み出し要求Ｒ１が第１リクエストＦＩＦＯ１０５に格納される。第１リクエストＦＩＦＯ１０５はメモリ制御部１１４に読み出し要求Ｒ１を出力し、メモリ制御部１１４は受け取った読み出し要求Ｒ１に対応した読み出しコマンドをメモリ１０１に出力する。メモリ１０１は読み出しコマンドに対応したデータＤ１１、Ｄ１２、Ｄ１３、Ｄ１４を出力する。メモリ１０１から出力されたデータはメモリ制御部１１４によって第１リードＦＩＦＯ１１１に格納され、その後、第１ユニット１０２に出力される。
【０００７】
また、第２ユニット１０３からデータの読み出し要求Ｒ２が第２リクエストＦＩＦＯ１０６に格納される。第２リクエストＦＩＦＯ１０６はメモリ制御部１１４に読み出し要求Ｒ２を出力し、メモリ制御部１１４は受け取った読み出し要求Ｒ２に対応した読み出しコマンドをメモリ１０１に出力する。メモリ１０１は読み出しコマンドに対応したデータＤ２１、Ｄ２２、Ｄ２３、Ｄ２４を出力する。メモリ１０１から出力されたデータはメモリ制御部１１４によって第２リードＦＩＦＯ１１２に格納され、その後、第２ユニット１０３に出力される。
【特許文献１】特開２００１−２８２６１２号公報（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来の構成では、第１ユニット１０２のデータの要求と第２ユニット１０３のデータの要求が同時、又は、第２ユニット１０３のデータの要求よりも第１ユニット１０２のデータの要求が早く且つ第１ユニット１０２のデータの要求の転送長が長い場合には、第２ライトＦＩＦＯ１０９又は第２リードＦＩＦＯ１１２とメモリ１０１との間のデータの転送は、第１ライトＦＩＦＯ１０８又は第１リードＦＩＦＯ１１１とメモリ１０１との間のデータ転送が終了するまではできず、第１ユニット１０２の転送長が長いほど第２ユニット１０３の転送が待たされるという問題があった。
【０００９】
本発明は、前記従来の問題点を解決するものであり、その目的は、複数のユニットと共有メモリとの間でデータ転送を行うデータ転送装置及び転送方法において、２つのユニットからの読み出し又は書き込み要求がデータ転送長の長い要求であった場合にも、他のユニットの処理を困難にせず、比較的早期に実行可能とすることにある。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明のデータ転送装置は、各ユニットからの読み出し又は書き込み要求を、所定転送長の複数の要求に分割し、その何れかの分割要求に応じた共有メモリでのデータの読み出し又は書き込みが終了すれば、次の分割要求が出るまでの間に、他のユニットからの分割要求を実行するようにする。
【００１１】
すなわち、請求項１記載の発明のデータ転送装置は、所定動作クロックで動作する複数のユニットと、前記所定動作クロックとは異なる動作クロックで動作する共有メモリとを備え、前記複数のユニットと前記共有メモリとの間でデータの読み出し及び書き込みを行うようにしたデータ転送装置において、前記複数のユニットと同数設けられ、対応するユニットからの読み出し要求及び書き込み要求を受け、その要求に含まれるデータ転送長を予め設定した固定長に分割して、複数の分割読み出し要求及び複数の分割書き込み要求を出力するリクエスト分割部と、前記リクエスト分割部と同数設けられ、対応するリクエスト分割部からの複数の分割読み出し要求及び複数の分割書き込み要求を、前記複数のユニットの動作クロックに基づいて格納し、前記共有メモリの動作クロックに基づいて出力するリクエスト先入れ先出し回路と、前記複数のユニットと同数設けられ、対応するユニットから前記共有メモリへの書き込みデータを格納すると共に、前記共有メモリから対応ユニットへの読み出しデータを格納するデータ先入れ先出し回路と、前記リクエスト先入れ先出し回路の分割読み出し要求及び複数の分割書き込み要求を受け、分割読み出し要求のときには前記共有メモリから読み出しデータを読み出して前記データ先入れ先出し回路に格納する一方、分割書き込み要求のときには前記データ先入れ先出し回路に格納された書き込みデータを前記共有メモリに出力するメモリ制御部とを備えたことを特徴とする。
【００１２】
請求項２記載の発明は、前記請求項１記載のデータ転送装置において、前記リクエスト先入れ先出し回路は、対応ユニットからの今回の分割読み出し要求に際して、前記共有メモリから対応データ先入れ先出し回路に出力された読み出しデータが、対応ユニットに格納された後に、次回の分割読み出し要求を出力することを特徴とす。
【００１３】
請求項３記載の発明は、前記請求項１記載のデータ転送装置において、前記リクエスト先入れ先出し回路は、対応ユニットから対応データ先入れ先出し回路に書き込みデータが格納された後に、今回の分割書き込み要求を出力することを特徴とする。
【００１４】
請求項４記載の発明は、前記請求項１記載のデータ転送装置において、前記リクエスト分割部の分割読み出し要求及び分割書き込み要求は、書き込み又は読み出しかを示す読み書きフラグと、対応ユニットのデータ格納場所のデータの書き込み又は読み出し開始アドレスと、前記共有メモリのデータの書き込み又は読み出し開始アドレスと、データの転送長とを有することを特徴とする。
【００１５】
請求項５記載の発明は、前記請求項１記載のデータ転送装置において、前記リクエスト分割部は、複数の分割読み出し要求及び複数の分割書き込み要求のうち、最後に位置する分割読み出し要求及び分割書き込み要求について、終了フラグを付加することを特徴とする。
【００１６】
請求項６記載の発明は、前記請求項５記載のデータ転送装置において、前記データ先入れ先出し回路への書き込みデータ又は読み出しデータの格納を制御する先入れ先出し回路制御部を有し、前記先入れ先出し回路制御部は、前記リクエスト分割部からの終了フラグを受けて、前記データ先入れ先出し回路から前記共有メモリへの書き込みデータの出力又は前記データ先入れ先出し回路から対応ユニットへの読み出しデータの出力が終了したときには、対応ユニットに対して転送終了信号を出力することを特徴とする。
【００１７】
請求項７記載の発明は、前記請求項６記載のデータ転送装置において、対応ユニットは、前記先入れ先出し回路制御部からの転送終了信号を受けたときに限り、次回の読み出し要求又は書き込み要求を出力することを特徴とする。
【００１８】
請求項８記載の発明は、前記請求項１記載のデータ転送装置において、前記データ先入れ先出し回路は、データ書き込み用のライト先入れ先出し回路と、データ読み出し用のリード先入れ先出し回路とを備えることを特徴とする。
【００１９】
請求項９記載の発明は、前記請求項１記載のデータ転送装置において、前記複数のユニットは、内部又は外部に、前記データ先入れ先出し回路との間で書き込みデータ及び読み出しデータの転送が行われるメモリを有することを特徴とする。
【００２０】
請求項１０記載の発明は、前記請求項１記載のデータ転送装置において、前記共有メモリは、１個又は複数個であることを特徴とする。
【００２１】
請求項１１記載の発明は、所定動作クロックで動作する複数のユニットと、前記所定動作クロックとは異なる動作クロックで動作する共有メモリとを備え、前記複数のユニットと前記共有メモリとの間でデータの読み出し及び書き込みを行うデータ転送方法であって、前記複数のユニットから読み出し要求及び書き込み要求が出力されたとき、その要求に含まれるデータ転送長を予め設定した固定長に分割して、複数の分割読み出し要求及び複数の分割書き込み要求を出力した後、
前記複数の分割読み出し要求及び複数の分割書き込み要求を前記共有メモリの動作クロックに基づいて出力し、前記各分割書き込み要求別に、データ先入れ先出し回路に格納された共有メモリへの書き込みデータを共有メモリに格納すると共に、前記各分割読み出し要求別に、前記共有メモリから読み出しデータを読み出して前記データ先入れ先出し回路に格納することを特徴とする。
【００２２】
請求項１２記載の発明は、前記請求項１１記載のデータ転送方法において、今回の分割読み出し要求に際して、前記共有メモリから対応データ先入れ先出し回路に出力された読み出しデータが、対応ユニットに格納された後に、次回の分割読み出し要求を出力することを特徴とする。
【００２３】
請求項１３記載の発明は、前記請求項１１記載のデータ転送方法において、何れかのユニットから前記データ先入れ先出し回路に書き込みデータが格納された後に、今回の分割書き込み要求を出力して、前記データ先入れ先出し回路に格納された書き込みデータを前記共有メモリに出力することを特徴とする。
【００２４】
以上により、請求項１から３記載の発明では、２つのユニットから例えば読み出し要求が同時に出力された場合に、その各読み出し要求がリクエスト分割部で所定転送長の複数の要求に分割される。一方のユニットからの最初の分割要求が優先的に実行された場合に、その最初の分割要求に応じて共有メモリからデータが読み出されて、そのユニットに対応するデータ先入れ先出し回路に格納される。この格納された読み出しデータは次にそのユニットに出力されてそのユニットに格納されれば、次の分割要求が出力されるが、それまでの期間に、他方のユニットからの分割要求が共有メモリに対して実行される。
【００２５】
また、２つのユニットから書き込み要求が同時に出力された場合に、その各書き込み要求がリクエスト分割部で所定転送長の複数の要求に分割される。一方のユニットからの最初の分割要求が優先的に実行された場合に、その最初の分割要求に応じて共有メモリに書き込みデータが格納される。その後、次の分割要求に対応して、前記一方のユニットから書き込みデータがデータ先入れ先出し回路に格納されるが、この期間内に、他方のユニットからの分割要求が共有メモリに対して実行される。
【００２６】
従って、一方のユニットの読み出し要求又は書き込み要求が転送長の長い要求であっても、その要求の全ての終了を待つことなく、他方のユニットの要求を実行することができる。
【発明の効果】
【００２７】
以上説明したように、請求項１〜１３記載の発明のデータ転送装置及びデータ転送方法は、何れかのユニットのデータ要求の転送長が長い場合であっても、その要求を一定の転送長に分割するので、そのユニットに対する全てのデータ転送の終了を待たずに他のユニットのデータの転送が可能となって、他のユニットの処理が困難になることはない。
【発明を実施するための最良の形態】
【００２８】
以下、本発明の各実施形態について、図面を参照しながら説明する。
【００２９】
（第１の実施形態）
図１は、本発明の第１の実施形態におけるデータ転送装置の構成例を示す図である。
【００３０】
図１に示したデータ転送装置は、複数のユニットとして、第１及び第２の２個のユニット４、１１を有する場合の例を示している。第１及び第２のユニット４、１１は、外部に、第１メモリ１、第２メモリ２を有する。このメモリ１、２は対応するユニット内に内蔵しても良い。第３メモリ３は、前記２つのユニット４、１１で共有する共有メモリである。この第３メモリ（共有メモリ）３は、１個であるが、複数個でも良い。
【００３１】
前記第１ユニット４には、このユニット４に対応して、第１リクエスト分割部５と、第１リクエスト先入れ先出し回路（以下、先入れ先出し回路をＦＩＦＯという）６と、ライト用とリード用とに区分されたデータＦＩＦＯである第１ライトＦＩＦＯ７及び第１リードＦＩＦＯ８と、第１リクエスト出力部９と、第１ＦＩＦＯ制御部１０とが配置される。
【００３２】
同様に、前記第２ユニット１１に対応して、、第２リクエスト分割部１２と、第２リクエストＦＩＦＯ１３と、ライト用とリード用とに区分されたデータＦＩＦＯである第２ライトＦＩＦＯ１４及び第２リードＦＩＦＯ１５と、第２リクエスト出力部１６と、第２ＦＩＦＯ制御部１７とが配置される。１８は、前記第３メモリ３を制御するメモリ制御部である。
【００３３】
前記第１メモリ１は、第１ユニット４がアクセスでき、第２メモリ２と第３メモリ３とは独立したクロックで動作するメモリである。第２メモリ２は、第２ユニット１１がアクセスでき、第１メモリ１と第３メモリ３とは独立したクロックで動作するメモリである。第３メモリ３は、第１ユニット４と第２ユニット１１が共有し、第１メモリ１と第２メモリ２とは独立したクロックで動作するメモリである。
【００３４】
前記第１ユニット４は、第１メモリ１と同じクロックで動作し、第１メモリ１のデータの第３メモリ３に対する書き込み要求、又は第１メモリ１に書き込む第３メモリ３のデータの読み出し要求を示す要求信号Ｒ１ａを出力する。要求信号Ｒ１ａは書き込み又は読み出しかを示す読み書きフラグと、第１メモリ１のデータの読み出し又は書き込み開始アドレスを示す開始アドレス１と、第３メモリ３の書き込み又は読み出し開始アドレスを示す開始アドレス２と、データの転送長を示す転送長とから構成される。また、第１ＦＩＦＯ制御部１０からのメモリ制御信号Ｍ１により第１メモリ１を制御する。また、要求信号を出力後、第１ＦＩＦＯ制御部１０からの第１転送終了信号Ｅ１が入力された後に限って、次の要求信号を出力する。
【００３５】
第１リクエスト分割部５は、第１メモリ１と同じクロックで動作し、第１ユニット４から要求信号Ｒ１ａが入力されたとき、その要求を転送長がＱの複数の要求に分割し出力する。出力する分割要求信号Ｒ１ｂは、書き込み又は読み出しかを示す読み書きフラグと、第１メモリ１のデータの読み出し又は書き込み開始アドレスを示す開始アドレス１と、第３メモリ３の書き込み又は読み出し開始アドレスを示す開始アドレス２と、データの転送長を示す転送長とから構成される。読み書きフラグは、第１ユニット４から入力された読み書きフラグと同じとする。開始アドレス１と開始アドレス２は、第１ユニット４からの要求信号に含まれる開始アドレス１及び開始アドレス２と転送長Ｑをもとに算出する。また、転送長については、分割後の要求のうち最後の要求以外は転送長Ｑであり、最後の要求は、第１ユニット４から入力された転送長をＱで割った余りである。また、分割要求信号Ｒ１ｂと同時に、複数の分割要求のうちの最後の分割要求であることを示す終了フラグＬ１ｂを出力する。
【００３６】
第１リクエストＦＩＦＯ６は、第１メモリ１と同じクロックで動作し、第１リクエスト分割部５からの分割要求信号Ｒ１ｂと終了フラグＬ１ｂを格納する。また、要求が格納されれば、第１リクエスト出力部９と第１ＦＩＦＯ制御部１０に分割要求信号Ｒ１ｃｒ、Ｒ１ｃｆを出力する。第１リクエスト出力部９に出力する分割要求信号Ｒ１ｃｒは、格納した読み書きフラグと、開始アドレス２と、転送長からなり、第１リクエスト出力部９からの終了信号１が入力されるまで出力を保持する。第１ＦＩＦＯ制御部１０に出力する分割要求信号Ｒ１ｃｆは、格納した読み書きフラグと、開始アドレス１と、転送長からなり、第１ＦＩＦＯ制御部１０からの終了信号２が入力されるまで出力を保持する。また、第１ＦＩＦＯ制御部１０に格納した終了フラグＬ１ｃを出力し、第１ＦＩＦＯ制御部１０からの終了信号２が入力されるまで出力を保持する。
【００３７】
第１ライトＦＩＦＯ７は、第１メモリ１から出力される第３メモリ３への書き込みデータを第１メモリ１と同じクロックで格納し、第３メモリ３と同じクロックで出力する。
【００３８】
第１リードＦＩＦＯ８は、第１メモリ１へ書き込む第３メモリ３から出力される読み出しデータを第３メモリ３と同じクロックで格納し、第１メモリ１と同じクロックでメモリ制御部１８へ出力する。
【００３９】
第１リクエスト出力部９は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｒが入力されたとき、第１要求信号Ｒ１Ｄを第３メモリ３と同じクロックで出力する。第１要求信号Ｒ１Ｄは、第１リクエストＦＩＦＯ６からの分割要求信号Ｒ１ｃｒ中の開始アドレス２と、転送長と、第３メモリ３への書き込みか第３メモリ３からの読み出しかを示す読み書きフラグとから構成される。第１リクエストＦＩＦＯ６からの分割要求信号Ｒ１ｃｒ中の読み書きフラグが書き込み要求を示す場合は、読み書きフラグを書き込みと設定して、第１ＦＩＦＯ制御部１０からの書き込み開始信号Ｓ１が入力された後に出力する。また、第１リクエストＦＩＦＯ６の読み書きフラグが読み出し要求を示す場合は、読み書きフラグを読み出しと設定して、出力する。メモリ制御部１８からの第１要求受領信号Ａ１Ｄの入力後に、第１リクエストＦＩＦＯ６へ終了信号１Ｄ１１を出力する。
【００４０】
第１ＦＩＦＯ制御部１０は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力されたとき、メモリ制御信号を第１メモリ１と同じクロックで第１ユニット４に出力する。メモリ制御信号は分割要求信号Ｒ１ｃｆ中の開始アドレス１と転送長より、分割要求信号Ｒ１ｃｆ中の読み書きフラグが書き込み要求を示す場合は、第１メモリ１から必要なデータを読み出し、また、分割要求信号Ｒ１ｃｆ中の読み書きフラグが読み出し要求を示す場合は、第１リードＦＩＦＯ８からのデータを書き込む信号である。
【００４１】
また、第１ＦＩＦＯ制御部１０は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力されたとき、第１ライトＦＩＦＯ制御信号を出力する。第１ライトＦＩＦＯ制御信号は分割要求信号Ｒ１ｃｆ中の読み書きフラグが書き込み要求を示す場合に、第１メモリ１からのデータを第１ライトＦＩＦＯ７へ書き込み、その後、メモリ制御部１８からの第１ライトイネーブル信号ＷＥ１に従って、第１ライトＦＩＦＯ７からデータを出力する信号である。
【００４２】
更に、第１ＦＩＦＯ制御部１０は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力されたとき、第１リードＦＩＦＯ制御信号を出力する。第１リードＦＩＦＯ制御信号は、分割要求信号Ｒ１ｃｆ中の読み書きフラグが読み出し要求を示す場合に、入力される第１リードイネーブル信号ＲＥ１に従って第１リードＦＩＦＯ８へデータを入力し、その後、第１リードＦＩＦＯ８からデータを読み出す信号である。
【００４３】
加えて、第１ＦＩＦＯ制御部１０は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力され、且つ要求信号中の読み書きフラグが書き込み要求を示す場合に、第１メモリ１から読み出されたデータが第１ライトＦＩＦＯ７へ書き込まれた後に書き込み開始信号Ｓ１を第１リクエスト出力部９に出力する。
【００４４】
また、第１ＦＩＦＯ制御部１０は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力され、要求信号中の読み書きフラグが書き込み要求を示す場合は、第１ライトＦＩＦＯ７からのデータの出力が終了後、又は要求信号中の読み書きフラグが読み出し要求を示す場合は、第１リードＦＩＦＯ８からのデータの出力の終了後に、第１リクエストＦＩＦＯ６へ終了信号２Ｄ１２を出力する。
【００４５】
更に、第１ＦＩＦＯ制御部１０は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力され、且つ要求信号中の終了フラグが分割した要求のなかの最後の要求であることを示す場合に、終了信号２Ｄ１２を出力すると同時に第１転送終了信号Ｅ１を第１ユニット４に出力する。
【００４６】
第２ユニット１１は、第２メモリ２と同じクロックで動作し、第２メモリ２のデータの第３メモリ３に対する書き込み要求、又は、第２メモリ２に書き込む第３メモリ３のデータの読み出し要求を示す要求信号Ｒ２ａを出力する。要求信号Ｒ２ａは、書き込み又は読み出しかを示す読み書きフラグと、第２メモリ２のデータの読み出し又は書き込み開始アドレスを示す開始アドレス１と、第３メモリ３の書き込み又は読み出し開始アドレスを示す開始アドレス２と、データの転送長を示す転送長とから構成される。また、第２ＦＩＦＯ制御部１７からのメモリ制御信号により、第２メモリ２を制御する。また、要求信号を出力後、第２ＦＩＦＯ制御部１７からの第２転送終了信号Ｅ２が入力された後、次の要求信号を出力する。
【００４７】
第２リクエスト分割部１２は、第２メモリ２と同じクロックで動作し、第２ユニット１１から要求信号Ｒ２ａが入力されたとき、その要求を転送長がＱの複数の要求に分割し出力する。出力する分割要求信号Ｒ２ｂは書き込み又は読み出しかを示す読み書きフラグと、第２メモリ２のデータの読み出し又は書き込み開始アドレスを示す開始アドレス１と、第３メモリ３の書き込み又は読み出し開始アドレスを示す開始アドレス２と、データの転送長を示す転送長とから構成される。読み書きフラグは第２ユニット１１から入力された読み書きフラグと同じとする。開始アドレス１と開始アドレス２は、第２ユニット１１からの要求信号Ｒ２ａに含まれる開始アドレス１及び開始アドレス２と転送長Ｑとをもとに算出する。また、転送長は、複数の分割要求のうち最後の要求以外は転送長Ｑであり、最後の要求は第２ユニット１１から入力された転送長をＱで割った余りである。また、分割要求信号Ｒ２ｂと同時に、複数の分割要求のうちの最後の要求であることを示す終了フラグＬ２ｂを出力する。
【００４８】
第２リクエストＦＩＦＯ１３は、第２メモリ２と同じクロックで動作し、第２リクエスト分割部１２からの分割要求信号Ｒ２ｂと終了フラグＬ２ｂとを格納する。また、要求が格納されれば、第２リクエスト出力部１６と第２ＦＩＦＯ制御部１７に要求信号を出力する。第２リクエスト出力部１６に出力する分割要求信号Ｒ２ｃｒは、格納した読み書きフラグと、開始アドレス２と、転送長からなり、第２リクエスト出力部１６からの終了信号１が入力されるまで出力を保持する。第２ＦＩＦＯ制御部１７に出力する分割要求信号Ｒ２ｃｆは、格納した読み書きフラグと、開始アドレス１と、転送長からなり、第２ＦＩＦＯ制御部１７からの終了信号２が入力されるまで出力を保持する。また、第２ＦＩＦＯ制御部１７に格納した終了フラグＬ２ｃを出力し、第２ＦＩＦＯ制御部１７からの終了信号２が入力されるまで出力を保持する。
【００４９】
第２ライトＦＩＦＯ１４は、第２メモリ２から出力される第３メモリ３への書き込みデータを第２メモリ２と同じクロックで格納し、第３メモリ３と同じクロックで出力する。
【００５０】
第２リードＦＩＦＯ１５は、第２メモリ２へ書き込む第３メモリ３から出力される読み出しデータを、第３メモリ３と同じクロックで格納し、第２メモリ２と同じクロックでメモリ制御部１８へ出力する。
【００５１】
第２リクエスト出力部１６は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力されたとき、第２要求信号Ｒ２Ｄを第３メモリ３と同じクロックで出力する。第２要求信号Ｒ２Ｄは、第２リクエストＦＩＦＯ１３からの分割要求信号Ｒ２ｃｆ中の開始アドレス２と、転送長と、第３メモリ３への書き込みか第３メモリ３からの読み出しかを示す読み書きフラグとから構成される。第２リクエストＦＩＦＯ１３からの分割要求信号Ｒ２ｃｆ中の読み書きフラグが書き込み要求を示す場合は、読み書きフラグを書き込みと設定して、第２ＦＩＦＯ制御部１７からの書き込み開始信号Ｓ２が入力された後に出力する。また、第２リクエストＦＩＦＯ１３の読み書きフラグが読み出し要求を示す場合は、読み書きフラグを読み出しと設定して、出力する。メモリ制御部１８からの第１要求受領信号Ａ２Ｄが入力された後に、第２リクエストＦＩＦＯ１３へ終了信号１Ｄ２１を出力する。
【００５２】
第２ＦＩＦＯ制御部１７は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力されたとき、メモリ制御信号を第２メモリ２と同じクロックで第２ユニット１１に出力する。メモリ制御信号は分割要求信号Ｒ２ｃｆ中の開始アドレス１と転送長とにより、要求信号中の読み書きフラグが書き込み要求を示す場合は、第２メモリ２から必要なデータを読み出し、また、要求信号中の読み書きフラグが読み出し要求を示す場合は、第２リードＦＩＦＯ１５からのデータを書き込む信号である。
【００５３】
また、第２ＦＩＦＯ制御部１７は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力されたとき、第２ライトＦＩＦＯ制御信号を出力する。第１ライトＦＩＦＯ制御信号は、要求信号中の読み書きフラグが書き込み要求を示す場合は、第２ライトＦＩＦＯ１４へデータを書き込み、また、メモリ制御部１８からの第２ライトイネーブル信号ＷＥ２に従って第２ライトＦＩＦＯ１４からデータを出力する信号である。
【００５４】
更に、第２ＦＩＦＯ制御部１７は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力されたとき、第２リードＦＩＦＯ制御信号を出力する。第１リードＦＩＦＯ制御信号は、要求信号中の読み書きフラグが読み出し要求を示す場合は、第２リードＦＩＦＯ１５からデータを読み出し、また、入力される第２リードイネーブル信号ＲＥ２に従って第２リードＦＩＦＯ１５へデータを入力する信号である。
【００５５】
加えて、第２ＦＩＦＯ制御部１７は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力され、且つ要求信号中の読み書きフラグが書き込み要求を示す場合に、第２メモリ２から読み出されたデータが第２ライトＦＩＦＯ１４へ書き込まれた後に、書き込み開始信号Ｓ２を第２リクエスト出力部１６に出力する。
【００５６】
また、第２ＦＩＦＯ制御部１７は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力され、要求信号中の読み書きフラグが書き込み要求を示す場合は、第２ライトＦＩＦＯ１４からのデータの出力が終了後、又は要求信号中の読み書きフラグが読み出し要求を示す場合は、第２リードＦＩＦＯ１５からのデータの出力が終了後に第２リクエストＦＩＦＯ１３へ終了信号２Ｄ２２を出力する。
【００５７】
更に、第２ＦＩＦＯ制御部１７は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力され、且つ要求信号中の終了フラグが複数の分割要求のうちの最後の要求であることを示す場合には、終了信号２Ｄ２２を出力すると同時に第１転送終了信号Ｅ２を第２ユニット１１に出力する。
【００５８】
メモリ制御部１８は、第１リクエスト出力部９からの第１要求信号Ｒ１Ｄ又は第２リクエスト出力部１６からの第２要求信号Ｒ２Ｄが入力された場合に、規則に従って第１及び第２要求信号の何れか１つを選択し、第１要求信号を選択した場合は、第１要求受領信号Ａ１Ｄを出力し、第２要求信号を選択した場合は、第２要求受領信号Ａ２Ｄを出力する。また、第１要求信号を選択後、第１要求信号中の読み書き信号が書き込みを示す場合は、第１ライトイネーブル信号ＷＥ１を出力し、第１ライトＦＩＦＯ７から出力されたデータを第３メモリ３の第１要求信号中の開始アドレス２に第３メモリ３と同じクロックで書き込み、また、第１要求信号中の読み書き信号が読み出しを示す場合は、第１リードイネーブル信号ＲＥ１を出力し、第３メモリ３の第１要求信号中の開始アドレス２から読み出したデータを第１メモリ１と同じクロックで出力する。また、第２要求信号を選択した後、第２要求信号中の読み書き信号が書き込みを示す場合は、第２ライトイネーブル信号ＷＥ２を出力し、第２ライトＦＩＦＯ１４から出力されたデータを第３メモリ３の第２要求信号中の開始アドレス２に第３メモリ３と同じクロックで書き込み、また、第２要求信号中の読み書き信号が読み出しを示す場合は、第２リードイネーブル信号ＲＥ２を出力し、第３メモリ３の第２要求信号中の開始アドレス２から読み出したデータを第２メモリ２と同じクロックで出力する。
【００５９】
次に、このデータ転送装置のデータの転送方法について、第１ユニット４と第２ユニット１１とが、第３メモリ３からのデータの読み出しの要求をした場合を例に図２を用いて説明する。
【００６０】
本実施形態では、第１メモリ１と第２メモリ２は同じクロックで動作するものとする。また、各ユニットの要求は、先に第１ユニット４が要求を出力し、その１サイクル後に第２ユニット１１が要求を出力する。第１ユニット４の読み書きフラグは読み出し（リード）を示し、開始アドレス１は０番地、開始アドレス２は０番地とし、転送長は１０ワードとする。また、第２ユニット１１は読み書きフラグは読み出し（リード）を示し、開始アドレス１は１００番地、開始アドレス２は５０番地とし、転送長は４ワードとする。また、第１リクエスト分割部５と第２リクエスト分割部１２の転送長Ｑは４ワードとする。また、メモリ制御部１８の第１データ要求信号と第２データ要求信号の選択の規則は入力順に処理し、同時に入力した場合は、第１データ要求信号、第２データ要求信号の順に処理する。
【００６１】
先ず、第１ユニット４は要求信号Ｒ１を出力する。図３に要求信号の内容を示す。要求信号は読み書きフラグ、第１アドレス、第２アドレス、転送長から構成される。
【００６２】
次に、第１リクエスト分割部５は要求信号Ｒ１が入力されると、入力された要求を第１アドレスの先頭から４ワード毎に区切って３つの要求Ｒ１１、Ｒ１２、Ｒ１３に分割し、要求Ｒ１１、Ｒ１２、Ｒ１３の開始アドレス１、開始アドレス２、転送長を算出して、連続して出力する。図４に要求Ｒ１１、Ｒ１２、Ｒ１３の内容を示す。要求Ｒ１１、Ｒ１２、Ｒ１３の読み書きフラグは要求信号Ｒ１の読み書きフラグを設定する。ここではリードを設定する。要求Ｒ１１の開始アドレス１は０番地、開始アドレス２は０番地となり、転送長は４ワードとなる。また、要求Ｒ１２の開始アドレス１は４番地、開始アドレス２は４番地となり、転送長は４ワードとなる。また、最後の要求Ｒ１３の開始アドレス１は８番地、開始アドレス２は８番地となり、転送長は要求信号Ｒ１の転送長１０ワードを４ワードで割った余りの２ワードとなる。終了フラグＬ１ｂは最後の要求Ｒ１３を出力するときのみＨ、それ以外はＬとする。
【００６３】
第２ユニット１１は、要求信号Ｒ２を出力する。図５に要求信号の内容を示す。構成は要求信号Ｒ１と同じである。
【００６４】
第２リクエスト分割部１２は、要求信号Ｒ２が入力されると、入力された要求を第１アドレスの先頭から４ワード毎に区切って１つの要求Ｒ２１に分割し、要求Ｒ２１の開始アドレス１、開始アドレス２、転送長を算出して、連続して出力する。図６に要求Ｒ２１の内容を示す。要求Ｒ２１の読み書きフラグは要求信号Ｒ２の読み書きフラグを設定する。ここではリードを設定する。要求Ｒ２１の開始アドレス１は１００番地、開始アドレス２は５０番地となり、転送長は最後の要求なので４ワードとなる。終了フラグＬ２ｂは最後の要求Ｒ２１を出力するときのみＨ、それ以外はＬとする。
【００６５】
第１リクエストＦＩＦＯ６は、第１リクエスト分割部５からの分割要求信号Ｒ１１、Ｒ１２、Ｒ１３と各々に対応する終了フラグとを格納すると、入力順に先ず分割要求信号Ｒ１１に対応する分割要求信号Ｒ１１ｒを第１リクエスト出力部９に対して出力し、分割要求信号Ｒ１１ｆと終了フラグとを第１ＦＩＦＯ制御部１０に対して出力する。図７に分割要求信号Ｒ１１ｒ及び分割要求信号Ｒ１１ｆの内容を示す。分割要求信号Ｒ１１ｒは読み書きフラグ、第２アドレス、転送長から構成される。分割要求信号Ｒ１１ｆは読み書きフラグ、第１アドレス、転送長から構成される。
【００６６】
第１リクエスト出力部９は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１１ｒが入力されると、第３メモリ３と同じクロックで第１分割要求信号Ｒ１１Ｄをメモリ制御部１８に出力する。第１分割要求信号Ｒ１１Ｄの構成は分割要求信号Ｒ１１ｒと同じである。
【００６７】
第２リクエストＦＩＦＯ１３は、第２リクエスト分割部１２からの分割要求信号Ｒ２１と終了フラグを格納すると、第２リクエスト出力部２に対して分割要求信号Ｒ２１ｒを、第２ＦＩＦＯ制御部１７に対して分割要求信号Ｒ２１ｆと終了フラグを出力する。図８に分割要求信号Ｒ２１ｒと分割要求信号Ｒ２１ｆの内容を示す。分割要求信号Ｒ２１ｒは読み書きフラグ、第２アドレス、転送長から構成される。分割要求信号Ｒ２１ｆは読み書きフラグ、第１アドレス、転送長から構成される。
【００６８】
第２リクエスト出力部１６は第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２１ｒが入力されると、第３メモリ３と同じクロックで第２分割要求信号Ｒ２１Ｄをメモリ制御部１８に出力する。第２分割要求信号Ｒ２１Ｄの構成は分割要求信号Ｒ２１ｒと同じである。
【００６９】
メモリ制御部１８は、入力される第１要求信号と第２要求信号とを確認し、先ず第１分割要求信号Ｒ１１Ｄが入力されるため、第１リクエスト出力部９に出力する第１要求受領信号をＨとし、同時に第３メモリ３に対して分割要求信号Ｒ１１Ｄ中の読み書きフラグと開始アドレス２と転送長から、適切なリードコマンドを出力する。リードコマンド出力後第３メモリ３の開始アドレス２（０番地）から転送長４ワード分だけ読み出されたデータＤ１１、Ｄ１２、Ｄ１３、Ｄ１４を第１リードＦＩＦＯ８に出力する。データ出力と同時に、第１ＦＩＦＯ制御部１０に出力する第１リードイネーブル信号をＨとする。
【００７０】
第１リクエスト出力部９は、第１要求受領信号がＨとなると、第１分割要求信号Ｒ１１Ｄの出力を停止し、第１リクエストＦＩＦＯ６へ出力する終了信号１をＨとする。
【００７１】
第１ＦＩＦＯ制御部１０は、第１リードイネーブル信号がＨのときのデータＤ１１、Ｄ１２、Ｄ１３、Ｄ１４を第１リードＦＩＦＯ８に第３メモリ３と同じクロックで書き込むように、第１リードＦＩＦＯ８を制御する。その後、第１リードＦＩＦＯ８より第１メモリ１と同じクロックで分割要求信号Ｒ１１ｆの転送長４ワード分のデータＤ１１、Ｄ１２、Ｄ１３、Ｄ１４を読み出し、分割要求信号Ｒ１１ｆの開始アドレス１（０番地）から４ワードを第１メモリ１に書き込むように第１メモリ１を制御する。また、最後のデータＤ１４を出力すると同時に第１リクエストＦＩＦＯ６へ出力する終了信号２をＨとする。
【００７２】
第１リクエストＦＩＦＯ６は、第１リクエスト出力部９からの終了信号１がＨとなれば、分割要求信号Ｒ１１ｒの出力を停止し、第１ＦＩＦＯ制御部１０からの終了信号２がＨとなれば、分割要求信号Ｒ１１ｆの出力を停止する。終了信号１と終了信号２が共にＨとなれば、要求Ｒ１１ｒ、Ｒ１１ｆを破棄し、格納されている次の要求Ｒ１２に対応する分割要求信号Ｒ１２ｒを第１リクエスト出力部９に対して、分割要求信号Ｒ１２ｆと終了フラグを第１ＦＩＦＯ制御部１０に対して出力する。
【００７３】
メモリ制御部１８は、第３メモリ３からデータＤ１４出力後、第２分割要求信号Ｒ２１Ｄが入力されているため、第２リクエスト出力部１６に出力する第２要求受領信号をＨとし、同時に、第３メモリ３に対して分割要求信号Ｒ２１Ｄ中の読み書きフラグと開始アドレス２と転送長から、適切なリードコマンドを出力する。リードコマンド出力後第３メモリ３の開始アドレス２（５０番地）から転送長４ワード分だけ読み出されたデータＤ２１、Ｄ２２、Ｄ２３、Ｄ２４を第２リードＦＩＦＯ１５に出力する。データ出力と同時に、第２ＦＩＦＯ制御部１７に出力する第２リードイネーブル信号をＨとする。
【００７４】
第２リクエスト出力部１６は、第２要求受領信号がＨとなると、第２分割要求信号Ｒ２１Ｄの出力を停止し、第２リクエストＦＩＦＯ１３へ出力する終了信号１をＨとする。
【００７５】
第２ＦＩＦＯ制御部１７は、第２リードイネーブル信号がＨのときのデータＤ２１、Ｄ２２、Ｄ２３、Ｄ２４を第２リードＦＩＦＯ１５に第３メモリ３と同じクロックで書き込むように、第２リードＦＩＦＯ１５を制御する。その後、第２リードＦＩＦＯ１５より第２メモリ２と同じクロックで分割要求信号Ｒ２１ｆの転送長４ワード分のデータＤ２１、Ｄ２２、Ｄ２３、Ｄ２４を読み出し、分割要求信号Ｒ２１ｆの開始アドレス１（１００番地）から４ワード第２メモリ２に書き込むように、第２メモリ２を制御する。また、最後のデータＤ２４を出力すると同時に、第２リクエストＦＩＦＯ１３へ出力する終了信号２をＨとする。また、要求Ｒ２１は、要求Ｒ２を分割した中の最後の要求であり、分割要求信号Ｒ２１ｆに対応する終了フラグがＨのため、終了信号２と同時に、第２ユニット１１に出力する第２転送終了信号をＨとする。これで、第２ユニット１１の要求Ｒ２の転送が完了する。
【００７６】
第２リクエストＦＩＦＯ１３は、第２リクエスト出力部１６からの終了信号１がＨとなれば、分割要求信号Ｒ２１ｒを停止し、第２ＦＩＦＯ制御部１７からの終了信号２がＨとなれば、分割要求信号Ｒ２１ｆを停止する。終了信号１と終了信号２が共にＨとなれば、要求Ｒ２１ｒとＲ２１ｆを破棄する。
【００７７】
このようにして、第１及び第２ユニット４、１１からの読み出し要求Ｒ１ａ、Ｒ２ａが１サイクル差で競合した場合に、図２から判るように、第１ユニット４側の最初の分割要求Ｒ１１ｒに応じて第３メモリ３が４ワード分のデータＤ１〜Ｄ４を第１リードＦＩＦＯ８に出力し終えると、その後は、前記第１リードＦＩＦＯ８がそのデータＤ１〜Ｄ４（同図ではＤ１１〜Ｄ１４）を格納しながらそれ等データを第１メモリ１に出力して、第１メモリに読み出しデータＤ１１〜Ｄ１４が格納され、この格納後に、次の分割要求信号Ｒ１２ｒが第１リクエストＦＩＦＯ６から出力されることになる。しかし、この分割要求信号Ｒ１２ｒが出力される前の段階では、既に第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２１ｒが出力されているため、前記第３メモリ３がデータＤ１〜Ｄ４の出力を終えた時点で、メモリ制御部１８がこの分割要求信号Ｒ２１ｒを受け付けて第２要求受領信号Ａ２ｄを出力し、第３メモリ３は対応するデータＤ２１〜Ｄ２４を第２リードＦＩＦＯ１５に出力する。従って、優先された第１ユニット４のデータ要求信号の転送長が長い場合であっても、最初の分割要求信号Ｒ１１ｒに応じた第３メモリ３からのデータ読み出しが終了した時点で、第２ユニット１１の分割要求信号Ｒ２１ｒを実行できて、第１ユニット４のデータ要求Ｒ１ａに応じた全てのデータ転送が終了する前に第２ユニット１１に対してデータ転送を終了させることができる。よって、第２ユニット１１の処理が困難になることはない。
【００７８】
次に、要求Ｒ１２に関して要求Ｒ１１と同様な処理を行う。
【００７９】
その後、要求Ｒ１３に関して要求Ｒ１１と同様な処理を行うが、要求Ｒ１を分割した中の最後の要求であるため、第１ＦＩＦＯ制御部１０は、第１メモリ１に最後のデータＤ１ａを出力すると同時に第１ユニット４へ出力する第１転送終了信号をＨとする。これで第１ユニット４の要求Ｒ１の転送は完了する。
【００８０】
以上、各ユニット４、１１からの要求が読み出し要求の場合を説明したが、書き込み要求の場合であっても、同様であるので、その説明を省略する。
【００８１】
尚、本実施形態では、ユニットの個数は２つであるが、３つ以上でも同様であり、これに限定するものではない。また、第１メモリ１と第２メモリ２は同じクロックで動作するとしたが、異なるクロックで動作する場合も同様であり、これに限定するものではない。
【００８２】
以上のように、本発明の第１の実施形態に係るデータ転送装置は、あるユニットのデータの要求の転送長が長い場合でも、要求を一定の転送長に分割するために、そのユニットのデータの転送の終了を待たずに、他のユニットのデータの転送が可能となり、他のユニットの処理が困難になることはない。
【００８３】
（第２の実施形態）
図９は、本発明の第２の実施形態におけるデータ転送装置の構成例を示す図である。本実施形態は、図１に示したデータ転送装置での第１ライトＦＩＦＯ７及び第１リードＦＩＦＯ８を第１データＦＩＦＯ３１に統合し、第２ライトＦＩＦＯ１４及び第２リードＦＩＦＯ１５を第２データＦＩＦＯ３３に統合したものである。
【００８４】
図９に示すデータ転送装置は、前記第１の実施形態と同様に、ユニットが２つの場合の例を示し、第１メモリ１、第２メモリ２、第３メモリ３、第１ユニット４、第１リクエスト分割部５、第１リクエストＦＩＦＯ６、第１データＦＩＦＯ３１、第１リクエスト出力部９、第１ＦＩＦＯ制御部３２、第２ユニット１１、第２リクエスト分割部１２、第２リクエストＦＩＦＯ１３、第２データＦＩＦＯ３３、第２リクエスト出力部１６、第２ＦＩＦＯ制御部３４、メモリ制御部１８を有している。尚、第１メモリ１、第２メモリ２、第３メモリ３、第１リクエスト分割部５、第１リクエスト出力部９、第２リクエスト分割部１２、第２リクエスト出力部１６、メモリ制御部１８は第１の実施形態と同じである。
【００８５】
第１ユニット４は、第１メモリ１と同じクロックで動作し、第１メモリ１のデータの第３メモリ３に対する書き込み要求、又は第１メモリ１に書き込む第３メモリ３のデータの読み出し要求を示す要求信号Ｒ１ａを出力する。要求信号Ｒ１ａは書き込み又は読み出しかを示す読み書きフラグと、第１メモリ１のデータの読み出し又は書き込み開始アドレスを示す開始アドレス１と、第３メモリ３の書き込み又は読み出し開始アドレスを示す開始アドレス２と、データの転送長を示す転送長とから構成される。また、第１ＦＩＦＯ制御部３２からのメモリ制御信号により第１メモリ１を制御する。また、要求信号を出力後、第１ＦＩＦＯ制御部３２からの第１転送終了信号Ｅ１が入力された後、次の要求信号を出力する。
【００８６】
第１リクエストＦＩＦＯ６は、第１メモリ１と同じクロックで動作し、第１リクエスト分割部５からの分割要求信号Ｒ１ｂと、終了フラグＬ１ｂとを格納する。また、要求が格納されれば、第１リクエスト出力部９と第１ＦＩＦＯ制御部３２に要求信号を出力する。第１リクエスト出力部９に出力する分割要求信号Ｒ１ｃｒは、格納した読み書きフラグと開始アドレス２と転送長からなり、第１リクエスト出力部９からの終了信号１が入力されるまで出力を保持する。第１ＦＩＦＯ制御部３２に出力する分割要求信号Ｒ１ｃｆは、格納した読み書きフラグと開始アドレス１と転送長からなり、第１ＦＩＦＯ制御部３２からの終了信号２が入力されるまで出力を保持する。また、第１ＦＩＦＯ制御部３２に格納した終了フラグＬ１ｃを出力し、第１ＦＩＦＯ制御部３２からの終了信号２が入力されるまで出力を保持する。
【００８７】
第１データＦＩＦＯ３１は、第１リクエストＦＩＦＯ６からの分割要求信号Ｒ１ｃｆの読み書きフラグが書き込み要求を示す場合は、第１メモリ１から出力される第３メモリ３への書き込みデータを第１メモリ１と同じクロックで格納し、第３メモリ３と同じクロックで出力する。読み書きフラグが読み出し要求を示す場合は、第１メモリ１へ書き込む第３メモリ３から出力される読み出しデータを、第３メモリ３と同じクロックで格納し、第１メモリ１と同じクロックで第１メモリ１へ出力する。
【００８８】
第１ＦＩＦＯ制御部３２は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力されたとき、メモリ制御信号を第１メモリ１と同じクロックで第１ユニット４に出力する。メモリ制御信号は分割要求信号Ｒ１ｃｆ中の開始アドレス１と転送長とにより、分割要求信号Ｒ１ｃｆ中の読み書きフラグが書き込み要求を示す場合は、第１メモリ１から必要なデータを読み出し、また、分割要求信号Ｒ１ｃｆ中の読み書きフラグが読み出し要求を示す場合は、第１データＦＩＦＯ３１からのデータを書き込む信号である。
【００８９】
また、第１ＦＩＦＯ制御部３２は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力されたとき、第１データＦＩＦＯ制御信号を出力する。第１データＦＩＦＯ制御信号は、分割要求信号Ｒ１ｃｆ中の読み書きフラグが書き込み要求を示す場合には、第１メモリ１からのデータを第１データＦＩＦＯ３１へ書き込み、その後、入力される第１ライトイネーブル信号ＷＥ１に従って第１データＦＩＦＯ３１からデータを読み出してメモリ制御部１８へ出力する信号である。また、読み書きフラグが読み出し要求を示す場合には、入力される第１リードイネーブル信号ＲＥ１に従ってメモリ制御部１８からのデータを第１データＦＩＦＯ３１へデータを書き込み、その後、第１データＦＩＦＯ３１からデータを読み出して第１メモリ１へ出力する信号である。
【００９０】
更に、第１ＦＩＦＯ制御部３２は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力され、且つ要求信号中の読み書きフラグが書き込み要求を示す場合に、第１メモリ１から読み出されたデータが第１データＦＩＦＯ３１へ書き込まれた後に書き込み開始信号Ｓ１を第１リクエスト出力部９に出力する。
【００９１】
また、第１ＦＩＦＯ制御部３２は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力され、要求信号中の読み書きフラグが書き込み要求を示す場合は、第１データＦＩＦＯ３１からメモリ制御部１８へのデータの出力が終了後、又は要求信号中の読み書きフラグが読み出し要求を示す場合は、第１データＦＩＦＯ３１から第１メモリ１へのデータの出力が終了後に第１リクエストＦＩＦＯ６へ終了信号２Ｄ１２を出力する。
【００９２】
加えて、第１ＦＩＦＯ制御部３２は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１ｃｆが入力され、且つ要求信号中の終了フラグが分割した要求のなかの最後の要求であることを示す場合に、終了信号２Ｄ１２を出力すると同時に、第１転送終了信号Ｅ１を第１ユニット４に出力する。
【００９３】
第２ユニット１１は、第２メモリ２と同じクロックで動作し、第２メモリ２のデータの第３メモリ３に対する書き込み要求、又は第２メモリ２に書き込む第３メモリ３のデータの読み出し要求を示す要求信号Ｒ２ａを出力する。要求信号Ｒ２ａは書き込み又は読み出しかを示す読み書きフラグと、第２メモリ２のデータの読み出し又は書き込み開始アドレスを示す開始アドレス１と、第３メモリ３の書き込み又は読み出し開始アドレスを示す開始アドレス２と、データの転送長を示す転送長とから構成される。また、第２ＦＩＦＯ制御部３４からのメモリ制御信号により第２メモリ２を制御する。また、要求信号を出力後、第２ＦＩＦＯ制御部３４からの第２転送終了信号Ｅ２が入力された後、次の要求信号を出力する。
【００９４】
第２リクエストＦＩＦＯ１３は、第２メモリ２と同じクロックで動作し、第２リクエスト分割部１２からの分割要求信号Ｒ２ｂと、終了フラグＬ２ｂとを格納する。また、要求が格納されれば、第２リクエスト出力部１６と第２ＦＩＦＯ制御部３４に要求信号を出力する。第２リクエスト出力部１６に出力する分割要求信号Ｒ２ｃｒは、格納した読み書きフラグと、開始アドレス２と、転送長とからなり、第２リクエスト出力部１６からの終了信号１が入力されるまで出力を保持する。第２ＦＩＦＯ制御部３４に出力する分割要求信号Ｒ２ｃｆは、格納した読み書きフラグと、開始アドレス１と、転送長からなり、第２ＦＩＦＯ制御部３４からの終了信号２が入力されるまで出力を保持する。また、第２ＦＩＦＯ制御部３４に格納した終了フラグＬ２ｃを出力し、第２ＦＩＦＯ制御部３４からの終了信号２が入力されるまで出力を保持する。
【００９５】
第２データＦＩＦＯ３３は、第２リクエストＦＩＦＯ１３からの分割要求信号Ｒ２ｃｆの読み書きフラグが書き込み要求を示す場合は、第２メモリ２から出力される第３メモリ３への書き込みデータを第２メモリ２と同じクロックで格納し、第３メモリ３と同じクロックで出力する。読み書きフラグが読み出し要求を示す場合は、第２メモリ２へ書き込む第３メモリ３から出力される読み出しデータを第３メモリ３と同じクロックで格納し、第２メモリ２と同じクロックで第２メモリ２へ出力する。
【００９６】
第２ＦＩＦＯ制御部３４は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力されたとき、メモリ制御信号を第２メモリ２と同じクロックで第２ユニット１１に出力する。メモリ制御信号は分割要求信号Ｒ２ｃｆ中の開始アドレス１と転送長より、要求信号中の読み書きフラグが書き込み要求を示す場合は、第２メモリ２から必要なデータを読み出し、また、要求信号中の読み書きフラグが読み出し要求を示す場合は、第２データＦＩＦＯ３３からのデータを書き込む信号である。
【００９７】
また、第２ＦＩＦＯ制御部３４は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力されたとき、第２データＦＩＦＯ制御信号を出力する。第１データＦＩＦＯ制御信号は、要求信号中の読み書きフラグが書き込み要求を示す場合には、第２メモリ２から第２データＦＩＦＯ３３へデータを書き込み、その後、入力される第２ライトイネーブル信号ＷＥ２に従って第２データＦＩＦＯ３３からデータを読み出しメモリ制御部１８へ出力する信号である。また、読み書きフラグが読み出し要求を示す場合には、入力される第２リードイネーブル信号ＲＥ２に従ってメモリ制御部１８から第２データＦＩＦＯ３３へデータを書き込み、その後、第２データＦＩＦＯ３３からデータを読み出しで第２メモリ２へ出力する信号である。
【００９８】
更に、第２ＦＩＦＯ制御部３４は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力され、且つ要求信号中の読み書きフラグが書き込み要求を示す場合に、第２メモリ２から読み出されたデータが第２データＦＩＦＯ３３へ書き込まれた後に書き込み開始信号Ｓ２を第２リクエスト出力部１６に出力する。
【００９９】
加えて、第２ＦＩＦＯ制御部３４は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力され、要求信号中の読み書きフラグが書き込み要求を示す場合には、第２データＦＩＦＯ３３からメモリ制御部１８へのデータの出力が終了後、又は要求信号中の読み書きフラグが読み出し要求を示す場合には、第２データＦＩＦＯ３３から第２メモリ２へのデータの出力が終了後に第２リクエストＦＩＦＯ１３へ終了信号２Ｄ２２を出力する。
【０１００】
また、第２ＦＩＦＯ制御部３４は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２ｃｆが入力され、且つ要求信号中の終了フラグが分割した要求のなかの最後の要求であることを示す場合に、終了信号２Ｄ２２を出力すると同時に第１転送終了信号Ｅ２を第２ユニット１１に出力する。
【０１０１】
次に、このデータ転送装置のデータの転送方法について、第１ユニット４と第２ユニット１１が第３メモリ３からのデータの読み出しの要求した場合を例に図１０を用いて説明する。
【０１０２】
本実施形態では、第１の実施形態と同様に、第１メモリ１と第２メモリ２は同じクロックで動作するものとする。また、各ユニットの要求は、先に第１ユニット４が要求を出力し、その１サイクル後に第２ユニット１１が要求を出力する。第１ユニット４の読み書きフラグは読み出し（リード）を示し、開始アドレス１は０番地、開始アドレス２は０番地とし、転送長は１０ワードとする。また、第２ユニット１１は読み書きフラグは読み出し（リード）を示し、開始アドレス１は１００番地、開始アドレス２は５０番地とし、転送長は４ワードとする。また、第１リクエスト分割部５と第２リクエスト分割部１２の転送長Ｑは４ワードとする。また、メモリ制御部１８の第１データ要求信号と第２データ要求信号の選択の規則は入力順に処理し、同時に入力した場合は、第１データ要求信号、第２データ要求信号の順に処理する。
【０１０３】
先ず、第１ユニット４は要求信号Ｒ１を出力する。要求信号の内容は第１の実施形態と同じである。
【０１０４】
次に、第１リクエスト分割部５は要求信号Ｒ１が入力されると、入力された要求を第１アドレスの先頭から４ワード毎に区切って３つの要求Ｒ１１、Ｒ１２、Ｒ１３に分割し、要求Ｒ１１、Ｒ１２、Ｒ１３の開始アドレス１、開始アドレス２、転送長を算出して、連続して出力する。要求Ｒ１１、Ｒ１２、Ｒ１３の内容は第１の実施形態と同じである。要求Ｒ１１、Ｒ１２、Ｒ１３の読み書きフラグは要求信号Ｒ１の読み書きフラグを設定する。ここではリードを設定する。要求Ｒ１１の開始アドレス１は０番地、開始アドレス２は０番地となり、転送長は４ワードとなる。また、要求Ｒ１２の開始アドレス１は４番地、開始アドレス２は４番地となり、転送長は４ワードとなる。また、最後の要求Ｒ１３の開始アドレス１は８番地、開始アドレス２は８番地となり、転送長は要求信号Ｒ１の転送長１０ワードを４ワードで割った余りの２ワードとなる。終了フラグＬ１ｂは最後の要求Ｒ１３を出力するときのみＨ、それ以外はＬとする。
【０１０５】
第２ユニット１１は要求信号Ｒ２を出力する。要求信号の内容は第１の実施形態と同じである。
【０１０６】
第２リクエスト分割部１２は、要求信号Ｒ２が入力されると、入力された要求を第１アドレスの先頭から４ワード毎に区切って１つの要求Ｒ２１に分割し、要求Ｒ２１の開始アドレス１、開始アドレス２、転送長を算出して、連続して出力する。要求Ｒ２１の内容は第１の実施形態と同じである。要求Ｒ２１の読み書きフラグは要求信号Ｒ２の読み書きフラグを設定する。ここではリードを設定する。要求Ｒ２１の開始アドレス１は１００番地、開始アドレス２は５０番地となり、転送長は最後の要求なので４ワードとなる。終了フラグＬ２ｂは最後の要求Ｒ２１を出力するときのみＨ、それ以外はＬとする。
【０１０７】
第１リクエストＦＩＦＯ６は、第１リクエスト分割部５からの分割要求信号Ｒ１１、Ｒ１２、Ｒ１３と各々に対応する終了フラグを格納すると、入力順に先ず分割要求信号Ｒ１１に対応する分割要求信号Ｒ１１ｒを第１リクエスト出力部９に対して、分割要求信号Ｒ１１ｆと終了フラグを第１ＦＩＦＯ制御部３２に対して出力する。分割要求信号Ｒ１１ｒと分割要求信号Ｒ１１ｆの内容は第１の実施形態と同じである。
【０１０８】
第１リクエスト出力部９は、第１リクエストＦＩＦＯ６から分割要求信号Ｒ１１ｒが入力されると、第３メモリ３と同じクロックで第１分割要求信号Ｒ１１Ｄをメモリ制御部１８に出力する。第１分割要求信号Ｒ１１Ｄの構成は分割要求信号Ｒ１１ｒと同じである。
【０１０９】
第２リクエストＦＩＦＯ１３は、第２リクエスト分割部１２からの分割要求信号Ｒ２１と終了フラグを格納すると、第２リクエスト出力部２に対して分割要求信号Ｒ２１ｒを、第２ＦＩＦＯ制御部３４に対して分割要求信号Ｒ２１ｆと終了フラグを出力する。分割要求信号Ｒ２１ｒと分割要求信号Ｒ２１ｆの内容は第１の実施形態と同じである。
【０１１０】
第２リクエスト出力部１６は、第２リクエストＦＩＦＯ１３から分割要求信号Ｒ２１ｒが入力されると、第３メモリ３と同じクロックで第２分割要求信号Ｒ２１Ｄをメモリ制御部１８に出力する。第２分割要求信号Ｒ２１Ｄの構成は分割要求信号Ｒ２１ｒと同じである。
【０１１１】
メモリ制御部１８は、入力される第１要求信号と第２要求信号を確認し、先ず第１分割要求信号Ｒ１１Ｄが入力されるため、第１リクエスト出力部９に出力する第１要求受領信号をＨとし、同時に第３メモリ３に対して分割要求信号Ｒ１１Ｄ中の読み書きフラグと開始アドレス２と転送長から、適切なリードコマンドを出力する。リードコマンド出力後第３メモリ３の開始アドレス２（０番地）から転送長４ワード分読み出されたデータＤ１１、Ｄ１２、Ｄ１３、Ｄ１４を第１データＦＩＦＯ３１に出力する。データ出力と同時に第１ＦＩＦＯ制御部３２に出力する第１リードイネーブル信号をＨとする。
【０１１２】
第１リクエスト出力部９は、第１要求受領信号がＨとなると、第１分割要求信号Ｒ１１Ｄの出力を停止し、第１リクエストＦＩＦＯ６へ出力する終了信号１をＨとする。
【０１１３】
第１ＦＩＦＯ制御部３２は、第１リードイネーブル信号がＨのときのデータＤ１１、Ｄ１２、Ｄ１３、Ｄ１４を第１データＦＩＦＯ３１に第３メモリ３と同じクロックで書き込むように、第１データＦＩＦＯ３１を制御する。その後、第１データＦＩＦＯ３１より第１メモリ１と同じクロックで分割要求信号Ｒ１１ｆの転送長４ワード分のデータＤ１１、Ｄ１２、Ｄ１３、Ｄ１４を読み出し、分割要求信号Ｒ１１ｆの開始アドレス１（０番地）から４ワード第１メモリ１に書き込むように、第１メモリ１を制御する。また、最後のデータＤ１４を出力すると同時に、第１リクエストＦＩＦＯ６へ出力する終了信号２をＨとする。
【０１１４】
第１リクエストＦＩＦＯ６は、第１リクエスト出力部９からの終了信号１がＨとなれば、分割要求信号Ｒ１１ｒの出力を停止し、第１ＦＩＦＯ制御部３２からの終了信号２がＨとなれば、分割要求信号Ｒ１１ｆを停止する。終了信号１と終了信号２が共にＨとなれば、要求Ｒ１１ｒとＲ１１ｆを破棄し、格納されている次の要求Ｒ１２に対応する分割要求信号Ｒ１２ｒを第１リクエスト出力部９に対して、分割要求信号Ｒ１２ｆと終了フラグとを第１ＦＩＦＯ制御部３２に対して出力する。
【０１１５】
メモリ制御部１８は、第３メモリ３からデータＤ１４出力後、第２分割要求信号Ｒ２１Ｄが入力されているため、第２リクエスト出力部１６に出力する第２要求受領信号をＨとし、同時に第３メモリ３に対して分割要求信号Ｒ２１Ｄ中の読み書きフラグと開始アドレス２と転送長から、適切なリードコマンドを出力する。リードコマンド出力後第３メモリ３の開始アドレス２（５０番地）から転送長４ワード分読み出されたデータＤ２１、Ｄ２２、Ｄ２３、Ｄ２４を第２データＦＩＦＯ３３に出力する。データ出力と同時に第２ＦＩＦＯ制御部３４に出力する第２リードイネーブル信号をＨとする。
【０１１６】
第２リクエスト出力部１６は、第２要求受領信号がＨとなると、第２分割要求信号Ｒ２１Ｄの出力を停止し、第２リクエストＦＩＦＯ１３へ出力する終了信号１をＨとする。
【０１１７】
第２ＦＩＦＯ制御部３４は、第２リードイネーブル信号がＨのときのデータＤ２１、Ｄ２２、Ｄ２３、Ｄ２４を第２データＦＩＦＯ３３に第３メモリ３と同じクロックで書き込むように、第２データＦＩＦＯ３３を制御する。その後、第２データＦＩＦＯ３３より第２メモリ２と同じクロックで分割要求信号Ｒ２１ｆの転送長４ワード分のデータＤ２１、Ｄ２２、Ｄ２３、Ｄ２４を読み出し、分割要求信号Ｒ２１ｆの開始アドレス１（１００番地）から４ワード第２メモリ２に書き込むように第２メモリ２を制御する。また、最後のデータＤ２４を出力すると同時に、第２リクエストＦＩＦＯ１３へ出力する終了信号２をＨとする。また、要求Ｒ２１は要求Ｒ２を分割した中の最後の要求であり、分割要求信号Ｒ２１ｆに対応する終了フラグがＨのため、終了信号２と同時に第２ユニット１１に出力する第２転送終了信号をＨとする。これで第２ユニット１１の要求Ｒ２の転送は完了する。
【０１１８】
第２リクエストＦＩＦＯ１３は、第２リクエスト出力部１６からの終了信号１がＨとなれば、分割要求信号Ｒ２１ｒを停止し、第２ＦＩＦＯ制御部３４からの終了信号２がＨとなれば、分割要求信号Ｒ２１ｆを停止する。終了信号１と終了信号２が共にＨとなれば、要求Ｒ２１ｒとＲ２１ｆを破棄する。
【０１１９】
次に、要求Ｒ１２に関して要求Ｒ１１と同様な処理を行う。
【０１２０】
続いて、要求Ｒ１３に関して要求Ｒ１１と同様な処理を行うが、要求Ｒ１を分割した中の最後の要求であるため、第１ＦＩＦＯ制御部３２は第１メモリ１に最後のデータＤ１ａを出力すると同時に第１ユニット４へ出力する第１転送終了信号をＨとする。これで第１ユニット４の要求Ｒ１の転送は完了する。
【０１２１】
図１１は第１ＦＩＦＯ制御部３２の構成例を示す図である。
【０１２２】
図９に示す第１ＦＩＦＯ制御部３２は、要求入力ポート４１、終了フラグ入力ポート４２、ライトイネーブル入力ポート４３、リードイネーブル入力ポート４４、書き込み用ライト制御部４５、書き込み用リード制御部４６、読み出し用リード制御部４７、読み出し用ライト制御部４８、終了信号２セレクタ５０、転送終了信号セレクタ５１、データＦＩＦＯライト制御信号セレクタ５２、データＦＩＦＯリード制御信号セレクタ５３、メモリ制御信号出力ポート５４、終了信号２出力ポート５５、転送終了信号出力ポート５６、書き込み開始信号出力ポート５７、データＦＩＦＯライト制御信号出力ポート５８、データＦＩＦＯリード制御信号出力ポート５９を有している。
【０１２３】
次に、第１ＦＩＦＯ制御部３２の動作について、図１２と図１３を用いて説明する。図１２は書き込み要求の場合、図１３は読み出し要求の場合である。
【０１２４】
図１２において、要求入力ポート４１から入力された要求信号Ｗ１が書き込み要求の場合は、書き込み用ライト制御部４５よりメモリ制御信号Ｃ１をメモリ制御信号セレクタ４９へ第１メモリ１と同じクロックで出力する。メモリ制御信号Ｃ１は、第１メモリ１の要求信号Ｗ１中の開始アドレス１から転送長分のデータを読み出す信号である。メモリ制御信号セレクタ４９は書き込み要求時はメモリ制御信号Ｃ１を選択してメモリ制御信号出力ポート５４より出力する。
【０１２５】
また、書き込み用ライト制御部４５よりデータＦＩＦＯライト制御信号Ｗｆ１をデータＦＩＦＯライト制御信号セレクタ５２へ、第３メモリ３と同じクロックで出力する。データＦＩＦＯライト制御信号Ｗｆ１は、第１メモリ１から読み出されたデータを要求信号Ｗ１中の転送長分第１データＦＩＦＯ３１に書き込むための信号である。データＦＩＦＯライト制御信号セレクタ５２は、書き込み要求時には、データＦＩＦＯライト制御信号Ｗｆ１を選択してデータＦＩＦＯライト制御信号出力ポート５８より出力する。
【０１２６】
書き込み用ライト制御部４５は、第１データＦＩＦＯ３３にデータが書き込まれた後に、書き込み信号開始信号Ｓを書き込み開始信号出力ポート５７より第１メモリ１と同じクロックでＨとする。また、書き込み用リード制御部４６へ終了信号を第１メモリ１と同じクロックでＨとする。
【０１２７】
書き込み用リード制御部４６は、書き込み用リード制御部４６から終了信号がＨとなった後、ライトイネーブル入力ポート４３がＨのときには、データＦＩＦＯリード制御信号Ｒｆ１をデータＦＩＦＯリード制御信号セレクタ５３に第３メモリ３と同じクロックで出力する。データＦＩＦＯリード制御信号Ｒｆ１は、第１データＦＩＦＯ３１に書き込まれたデータを要求信号Ｗ１中の転送長分読み出し、てメモリ制御部１８へ出力する信号である。データＦＩＦＯリード制御信号セレクタ５３は、書き込み要求時はデータＦＩＦＯリード制御信号Ｒｆ１を選択して、データＦＩＦＯリード制御信号出力ポート５９より出力する。
【０１２８】
また、書き込み用リード制御部４６は、第１データＦＩＦＯ３１からデータの読み出しが終了した後、書き込み用ライト制御部４５へ終了信号を第１メモリ１と同じクロックでＨとする。同時に、終了信号２Ｄ１を終了信号２セレクタ５０へ第１メモリ１と同じクロックでＨとする。終了信号２セレクタ５０は、書き込み要求時は書き込み用リード制御部４６出力の終了信号２を選択して出力する。更に同時に、終了フラグ入力ポート４２からの入力信号がＨの場合は、第１転送終了信号Ｅ３を転送終了信号セレクタ５１へ第１メモリ１と同じクロックでＨとする。転送終了信号セレクタ５１は、書き込み要求時は書き込み用リード制御部４６出力の第１転送終了信号を選択して、転送終了信号出力ポート５６より出力する。
【０１２９】
図１３において、要求入力ポート４１から入力された要求信号Ｒ１が読み出し要求の場合は、リードイネーブル入力ポート４４がＨとなると読み出し用ライト制御部４８は、データＦＩＦＯライト制御信号Ｗｆ２をデータＦＩＦＯライト制御信号セレクタ５２に第３メモリ３と同じクロックで出力する。データＦＩＦＯライト制御信号Ｗｆ２は、メモリ制御部１８からのデータを第１データＦＩＦＯ３１に要求信号Ｒ１中の転送長分書き込む信号である。データＦＩＦＯライト制御信号セレクタ５２は、読み出し要求時はデータＦＩＦＯライト制御信号Ｗｆ２を選択して、データＦＩＦＯライト制御信号出力ポート５８より出力する。
【０１３０】
また、読み出し用ライト制御部４８は第１データＦＩＦＯ３１へのデータの書き込みが終了した後、読み出し用リード制御部４７へ終了信号を終了信号を第１メモリ１と同じクロックでＨとする。
【０１３１】
読み出し用リード制御部４７は、読み出し用ライト制御部４８からの終了信号がＨとなった後、データＦＩＦＯリード制御信号Ｒｆ２をデータＦＩＦＯリード制御信号セレクタ５３に第３メモリ３と同じクロックで出力する。データＦＩＦＯリード制御信号Ｒｆ２は、第１データＦＩＦＯ３１に書き込まれたデータを要求信号Ｒ１中の転送長分読み出して、第１メモリ１へ出力する信号である。データＦＩＦＯリード制御信号セレクタ５３は、読み出し要求時はデータＦＩＦＯリード制御信号Ｒｆ２を選択して、データＦＩＦＯリード制御信号出力ポート５９より出力する。また、メモリ制御信号Ｃ２をメモリ制御信号セレクタ４９へ第１メモリ１と同じクロックで出力する。メモリ制御信号Ｃ２は、第１データＦＩＦＯ３１から読み出されたデータを第１メモリ１の要求信号Ｒ１中の開始アドレス１から転送長分書き込む信号である。メモリ制御信号セレクタ４９は、読み出し要求時はメモリ制御信号Ｃ２を選択して、メモリ制御信号出力ポート５４より出力する。また、読み出し用リード制御部４７は、第１データＦＩＦＯ３１からデータの読み出しが終了した後、読み出し用ライト制御部４８へ終了信号を第１メモリ１と同じクロックでＨとする。同時に、終了信号２Ｄ２を終了信号２セレクタ５０へ第１メモリ１と同じクロックでＨとする。終了信号２セレクタ５０は、読み出し要求時は、読み出し用リード制御部４７出力の終了信号２Ｄ２を選択して出力する。更に同時に、終了フラグ入力ポート４２からの入力信号がＨの場合は、第１転送終了信号Ｅ４を転送終了信号セレクタ５１へ第１メモリ１と同じクロックでＨとする。転送終了信号セレクタ５１は、読み出し要求時は、読み出し用リード制御部４７出力の第１転送終了信号Ｅ４を選択して、転送終了信号出力ポート５６より出力する。
【０１３２】
以上は、第１ＦＩＦＯ制御部３２の動作の説明であるが、第２ＦＩＦＯ制御部３４の動作も同様である。
【０１３３】
このようにして、第１ユニット４のデータ要求が第２ユニット１１のデータ要求より早く、また、第２ユニット１１のデータ要求の転送長が第１ユニット４のデータ要求の転送長より長い場合には、各ユニットのデータ転送の要求を一定長の転送長の要求に分割することにより、第１ユニット４のデータ転送が終了する前に、第２ユニット１１のデータ転送を終了させることができるので、第２ユニット１１の処理が困難になることはない。また、書き込み要求時のデータＦＩＦＯと読み出し要求時のデータＦＩＦＯを共有することにより、メモリサイズを削減できる。
【０１３４】
尚、本実施形態では、ユニットは２つであるが、３つ以上でも同様であり、これに限定するものではない。また、第１メモリ１と第２メモリ２は同じクロックで動作するとしたが、異なるクロックで動作する場合も同様であり、これに限定するものではない。
【０１３５】
以上のように、本発明の第２の実施形態に係るデータ転送装置は、あるユニットのデータの要求の転送長が長い場合でも、要求を一定の転送長に分割するために、そのユニットのデータの転送の終了を待たずに、他のユニットのデータの転送が可能となり、他のユニットの処理が困難になることはない。また、書き込み要求時のデータＦＩＦＯと読み出し要求時のデータＦＩＦＯとを共有することにより、メモリサイズを削減できる。
【産業上の利用可能性】
【０１３６】
以上説明したように、本発明は、複数のユニットと共有メモリとの間のデータ転送を、各ユニットの処理が困難になることなく良好に行えるデータ転送装置及び方法であるので、内部の各コアが各々メモリを持ち、外付けのＤＲＡＭとのデータの転送を行うＭＰＥＧのコーデックＬＳＩ等として有用である。
【図面の簡単な説明】
【０１３７】
【図１】本発明の第１の実施形態のデータ転送装置のブロック構成を示す図である。
【図２】同データ転送装置の動作を説明するタイミングチャート図である。
【図３】同データ転送装置のユニットから出力されるデータ要求信号の内容を示す図である。
【図４】同データ転送装置のリクエスト分割部で図３のデータ要求信号を分割した分割データ要求信号の内容を示す図である。
【図５】同データ転送装置の他のユニットから出力されるデータ要求信号の内容を示す図である。
【図６】同データ転送装置のリクエスト分割部で図４のデータ要求信号を分割した分割データ要求信号の内容を示す図である。
【図７】第１リクエストＦＩＦＯから第１リクエスト出力部へ出力される分割要求信号の内容、及び第１リクエストＦＩＦＯから第１ＦＩＦＯ制御部へ出力される分割要求信号の内容を示す図である。
【図８】第２リクエストＦＩＦＯから第２リクエスト出力部へ出力される分割要求信号の内容、及び第２リクエストＦＩＦＯから第２ＦＩＦＯ制御部へ出力される分割要求信号の内容を示す図である。
【図９】本発明の第２の実施形態のデータ転送装置のブロック構成を示す図である。
【図１０】同データ転送装置の動作を説明するタイミングチャート図である。
【図１１】同データ転送装置に備える第１ＦＩＦＯ制御部の内部構成を示す図である。
【図１２】同第１ＦＩＦＯ制御部の書き込み要求時の動作を説明するタイミングチャート図である。
【図１３】同第１ＦＩＦＯ制御部の読み出し要求時の動作を説明するタイミングチャート図である。
【図１４】従来のデータ転送装置の全体構成を示す図である。
【図１５】同データ転送装置の動作を説明するタイミングチャート図である。
【符号の説明】
【０１３８】
１      第１メモリ
２      第２メモリ
３      第３メモリ（共有メモリ）
４      第１ユニット
５      第１リクエスト分割部
６      第１リクエストＦＩＦＯ
７      第１ライトＦＩＦＯ
８      第１リードＦＩＦＯ
９      第１リクエスト出力部
１０      第１ＦＩＦＯ制御部
１１      第２ユニット
１２      第２リクエスト分割部
１３      第２リクエストＦＩＦＯ
１４      第２ライトＦＩＦＯ
１５      第２リードＦＩＦＯ
１６      第２リクエスト出力部
１７      第２ＦＩＦＯ制御部
１８      メモリ制御部
３１      第１データＦＩＦＯ
３２      第１ＦＩＦＯ制御部
３３      第２データＦＩＦＯ
３４      第２ＦＩＦＯ制御部
【図１】
2007018266.tif 000003
【図２】
2007018266.tif 000004
【図３】
2007018266.tif 000005
【図４】
2007018266.tif 000006
【図５】
2007018266.tif 000007
【図６】
2007018266.tif 000008
【図７】
2007018266.tif 000009
【図８】
2007018266.tif 000010
【図９】
2007018266.tif 000011
【図１０】
2007018266.tif 000012
【図１１】
2007018266.tif 000013
【図１２】
2007018266.tif 000014
【図１３】
2007018266.tif 000015
【図１４】
2007018266.tif 000016
【図１５】
2007018266.tif 000017