(57)【特許請求の範囲】
【請求項１】
集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、
該ＤＭＡ転送制御装置のデータを送信する集積回路は、
上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、
上記複数のバッファメモリ各々と並列して設け、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、
データを書きこむ書込クロック信号に基づいてカウントを行なうＤＭＡカウンタと、
上記書込クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記書込要求信号を出力する書込制御回路と、
上記ＤＭＡ転送制御装置のデータを受信する集積回路より、データの読み出しを要求する読出転送クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路にデータの読み出しを要求する読出要求信号を出力する読出制御回路と、
上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、上記ＤＭＡ転送制御装置のデータを受信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、
を含むことを特徴とするＤＭＡ転送制御装置。
【請求項２】
集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、
該ＤＭＡ転送制御装置のデータを受信する集積回路は、
上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、
上記複数のバッファメモリ各々と並列して設け、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、
データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うＤＭＡカウンタと、
上記ＤＭＡ転送制御装置のデータを送信する集積回路より、データの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタから出力される信号に応じた上記バッファメモリ及びハンドシェイク回路にデータの書き込みを要求する書込要求信号を出力する書込制御回路と、
上記読出クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタから出力される信号に応じた上記ハンドシェイク回路に、上記データの読み出しを要求する読出要求信号を出力する読出制御回路と、
上記バッファメモリデータ転送要求信号と、上記書込ポインタから出力される信号に基づいて、上記ＤＭＡ転送制御装置のデータを送信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、
を含むことを特徴とするＤＭＡ転送制御装置。
【請求項３】
集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、
該ＤＭＡ転送制御装置のデータを送受信する集積回路は、
上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、
上記複数のバッファメモリ各々と並列して設け、他方の集積回路からデータを読み出す際には、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、あるいは他方の集積回路からデータを書き込む際には、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、
他方の集積回路からデータを読み出す際には、データを書きこむ書込クロック信号に基づいてカウントを行い、他方の集積回路からデータを書き込む際には、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うＤＭＡカウンタと、
他方の集積回路からデータを読み出す際には、該他方の集積回路からデータの読み出しを要求する読出転送クロック信号が入力されるとカウント行い、他方の集積回路からデータを書き込む際には、上記読出クロックが入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路に、データの読み出しを要求する読出要求信号を出力する読出制御回路と、
他方の集積回路からデータを読み出す際には、上記書込クロックが入力されるとカウントを行い、他方の集積回路からデータを書き込む際には、該他方の集積回路からデータの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記データの書き込みを要求する書込要求信号を出力する書込制御回路と、
他方の集積回路からデータを読み出す際には、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、他方の集積回路からデータを書き込む際には、上記書込ポインタの値に基づいて、上記他方の集積回路にデータの転送を要求する転送要求信号を出力する転送要求信号発生回路と、
を含むことを特徴とするＤＭＡ転送制御装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載のＤＭＡ転送制御装置において、
上記各バッファメモリは、該バッファメモリと並列して設けられた上記ハンドシェイク回路の処理時間に対応したメモリサイズを有する、
ことを特徴とするＤＭＡ転送制御装置。
【請求項５】
請求項２または請求項３に記載のＤＭＡ転送制御装置において、
上記ＤＭＡカウンタは、予めデータの転送量が設定されており、他の集積回路よりデータを書き込む際、上記複数のハンドシェイク回路のうち、該データの転送量に応じた数のハンドシェイク回路を同時に起動する、
ことを特徴とするＤＭＡ転送制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はダイレクトメモリアクセス（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ、以下単に「ＤＭＡ」とする。）転送制御装置に関し、特にデータ転送要求信号、及びＷｒｉｔｅ／Ｒｅａｄクロック信号を用いたＤＭＡ転送制御装置に関するものである。
【０００２】
【従来の技術】
ＤＭＡは入出力装置とメモリ、またはメモリどうしなどのデータの受け渡しをＣＰＵを介することなく、高速に直接やり取りを行う方法である。この方法に従えば、大量のデータを転送する時に、一括して処理を行うことができるので、ＣＰＵを介するよりもデータの転送速度を向上させることができる。またその間に、ＣＰＵに他の作業を行わせることにより、全体として効率よく作業を行うことができる。
【０００３】
図５は従来のＤＭＡ転送制御装置を使用したインターフェイスの構成例を示す図である。
図５において、第１機器１及び第２機器２は、ＩＥＥＥ１３９４などで規格化された外部バス３により接続されたものである。また、第１機器１は、第１集積回路４及び第２集積回路５により構成されており、第１集積回路４と第２集積回路５とは、データの転送を要求する転送要求信号（ＤＭＡＲＱ）６と、データを読み出す際の転送クロック信号（ＮＩＯＲＤ）７と、データを書き込む際の転送クロック信号（ＮＩＯＷＲ）８と、ｎビットのデータの送受信を行うデータ線（Ｄａｔａ）９とにより構成されたＤＭＡインターフェイスにより接続されている。
【０００４】
ここで、第１集積回路４から第２集積回路５へのデータの転送をＤＭＡインターフェイスにおけるＲｅａｄ動作といい、第２集積回路５から第１集積回路４へのデータの転送をＤＭＡインターフェイスにおけるＷｒｉｔｅ動作という。
【０００５】
次に、Ｒｅａｄ動作とＷｒｉｔｅ動作について説明する。
図６は３Ｗｏｒｄのデータ転送を例にしたＲｅａｄ動作のタイミングを説明するための図であり、図７は３Ｗｏｒｄのデータ転送を例にしたＷｒｉｔｅ動作のタイミングを説明するための図である。
【０００６】
まず、図６を用いて、Ｒｅａｄ動作のタイミングについて説明を行う。
時刻ｔ０において、第１集積回路４はＤＭＡＲＱ６をアサート（信号の立ち上げ）することにより、データの転送開始を知らせる。時刻ｔ１において、第２集積回路５はデータの転送開始を認識し、ＮＩＯＲＤ７を「Ｌ」に変化させる。このとき第１集積回路４はＮＩＯＲＤ７の「Ｌ」への変化と同期して、データ「Ｗ００」を出力する。時刻ｔ２において、第２集積回路５はＮＩＯＲＤ７を「Ｈ」に変化させるとともに、データ「Ｗ００」を取り込む。よって、上述した動作により、第１集積回路４から第２集積回路５へ１Ｗｏｒｄのデータの転送が行われる。
【０００７】
時刻ｔ３において、第１集積回路４は最後のデータ「Ｗ０２」を出力した後に、時刻ｔ４において、第１集積回路４はＤＭＡＲＱ６をネゲート（信号の立ち下げ）し、データの転送完了を知らせる。時刻ｔ５において、第２集積回路５はデータの転送完了を認識し、ＮＩＯＲＤ７を「Ｈ」に変化させた時点で、データの転送が完了する。
【０００８】
ここで、第１集積回路４はデータ「Ｗ」の出力を、第２集積回路５でＮＩＯＲＤ７を「Ｌ」へ変化させるのと同期して行う。そこで、第１集積回路４はデータの転送完了を知らせるために、ＤＭＡＲＱ６のネゲートを、時刻ｔ３から時刻ｔ５の期間、すなわちＮＩＯＲＤ７が「Ｌ」に変化されている期間に行われなければならない。
【０００９】
次に、図７を用いて、Ｗｒｉｔｅ動作のタイミングについて説明を行う。
時刻ｔ６において、第１集積回路４はＤＭＡＲＱ６をアサートすることにより、データの転送開始を知らせる。時刻ｔ７において、第２集積回路５はデータの転送開始を認識し、ＮＩＯＷＲ８を「Ｌ」に変化させるとともに、データ「Ｗ１０」を出力する。時刻ｔ８において、第２集積回路５はＮＩＯＷＲ８を「Ｈ」に変化させる。このとき第１集積回路４はＮＩＯＷＲ８の「Ｈ」への変化と同期して、データ「Ｗ１０」を取り込む。よって、上述した動作により、第２集積回路５から第１集積回路４へ１Ｗｏｒｄのデータの転送が行われる。
【００１０】
時刻ｔ９において、第２集積回路５はＮＩＯＷＲ８を「Ｌ」に変化させるとともに、最後のデータ「Ｗ１２」を出力する。そして、第１集積回路４はＮＩＯＷＲ８が「Ｌ」に変化したのを認識して、時刻ｔ１０において、ＤＭＡＲＱ６をネゲートし、データの転送完了を知らせる。時刻ｔ１１において、第２集積回路５はデータの転送完了を認識し、ＮＩＯＷＲ８を「Ｈ」に変化させた時点で、データの転送が完了する。
【００１１】
ここで、第１集積回路４はデータ「Ｗ」の取り込みを、第２集積回路５でＮＩＯＷＲ８を「Ｈ」へ変化させるのと同期して行う。そこで、第１集積回路４はデータの転送完了を知らせるために、ＤＭＡＲＱ６のネゲートを、時刻ｔ９から時刻ｔ１１の期間、すなわちＮＩＯＷＲ８が「Ｌ」に変化されている期間に行われなければならない。
【００１２】
ところが、一般に第１集積回路４と第２集積回路５とはそれぞれのシステムクロック周波数が異なる場合が多い。そこで、図５における従来のＤＭＡ転送制御装置を構成する場合には、システムクロック周波数に同期しないＮＩＯＲＤ７、ＮＩＯＷＲ８によって動作する回路が必要となる。そこで、図８及び図１０に示すような、第１集積回路４内にＤＭＡを制御する制御回路が必要となる。
【００１３】
図８は、バースト転送方式を採用したＤＭＡインターフェイスの回路構成図である。
図８において、第１集積回路１０は、論理回路２０とＤＭＡカウンタ２２とから構成される。論理回路２０はｎビットのデータを管理し、データの転送を停止させる転送ＨＯＬＤ信号２９と、データの転送を開始させる転送スタート信号２８とを出力する。ＤＭＡカウンタ２２はデータの転送量を設定するカウンタを有し、転送ＨＯＬＤ信号２９と転送スタート信号２８とを入力し、第２集積回路１１に転送要求信号（ＤＭＡＲＱ）２７を送信するとともに、第２集積回路１１から転送クロック信号（ＮＩＯＲＤ２４、ＮＩＯＷＲ２５）を受信する。また、論理回路２０とＤＭＡカウンタ２２とはクロック２３によって動作する。
【００１４】
次に上述したバースト転送方式ＤＭＡインターフェイスの動作について図９を用いて説明する。
図９は、バースト転送方式ＤＭＡインターフェイスのＲｅａｄ動作及びＷｒｉｔｅ動作のタイミングを説明するための図である。
【００１５】
時刻ｔ２０において、論理回路２０は転送スタート信号２８を「Ｈ」に変化させる。時刻ｔ２１において、ＤＭＡカウンタ２２は論理回路２０から転送スタート信号２８を入力し、カウンタの値を初期化するとともに、ＤＭＡＲＱ２７をアサートすることにより、データの転送開始を知らせる。時刻ｔ２２において、第２集積回路１１はデータの転送開始を認識し、ＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５を「Ｌ」に変化させる。このとき、ＮＩＯＲＤ２４が「Ｌ」に変化されたならば、第１集積回路１０はＮＩＯＲＤ２４の「Ｌ」への変化と同期して、Ｄａｔａ２６を出力し、第２集積回路１１はｎビットのデータを取り込む。一方、ＮＩＯＷＲ２５が「Ｌ」に変化されたならば、第２集積回路１１はＤａｔａ２６を出力し、第１集積回路１０はｎビットのデータを取り込む。よって、上述した動作によりデータの転送が行われる。また、ＤＭＡカウンタ２２は、ＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５が「Ｌ」に変化されたことを検知してカウンタの値を更新するが、この動作はクロック２３に同期して行われる。
【００１６】
一方、論理回路２０において、データの転送ができなくなったとき、論理回路２０は転送ＨＯＬＤ信号２９を出力する。例えば時刻ｔ２３において、論理回路２０は転送ＨＯＬＤ信号２９を「Ｈ」に変化させると、時刻ｔ２４において、ＤＭＡカウンタ２２はＤＭＡＲＱ２７をネゲートする。よって、この時点でデータの転送は停止される。そして、時刻ｔ２５において、論理回路２０は転送ＨＯＬＤ信号２９を「Ｌ」に変化させると、同時刻において、ＤＭＡカウンタ２２はＤＭＡＲＱ２７を再びアサートさせて、データの転送を開始する。
【００１７】
時刻ｔ２６において、カウンタの値が「０」になると、時刻ｔ２７において、ＤＭＡカウンタ２２はＤＭＡＲＱ２７をネゲートし、データの転送完了を知らせる。時刻ｔ２８において、第２集積回路５はデータの転送完了を認識し、ＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５を「Ｈ」に変化させる。以上の動作でデータの転送が完了する。
【００１８】
図１０は、ハンドシェイク方式を採用したＤＭＡインターフェイスの回路構成図である。
図１０において、第１集積回路３０は、論理回路４０とＤＭＡＲＱ発生回路４１とＤＭＡカウンタ４２とから構成される。論理回路４０はｎビットのデータを管理し、データの転送を停止させる転送ＨＯＬＤ信号５０と、データの転送を開始させる転送スタート信号４６とを出力する。ＤＭＡＲＱ発生回路４１は第２集積回路３１に転送要求信号（ＤＭＡＲＱ）４８を送信するとともに、第２集積回路３１から転送クロック信号（ＮＩＯＲＤ４４、ＮＩＯＷＲ４５）を受信し、ＤＭＡカウンタ４２のカウンタの値を更新するクロック検知信号４９を出力する。ＤＭＡカウンタ４２はデータの転送量を設定するカウンタを有し、論理回路４０から転送ＨＯＬＤ信号５０と、転送スタート信号４６とを入力し、カウンタの値が更新されたことを知らせるカウンタ更新信号４７をＤＭＡＲＱ発生回路４１に出力する。また、論理回路４０とＤＭＡＲＱ発生回路４１とＤＭＡカウンタ４２とはクロック４３によって動作する。
【００１９】
次に上述したハンドシェイク方式ＤＭＡインターフェイスの動作について図１１を用いて説明する。
図１１は、ハンドシェイク方式ＤＭＡインターフェイスのＲｅａｄ動作及びＷｒｉｔｅ動作のタイミングを説明するための図である。
時刻ｔ４０において、論理回路４０は転送スタート信号４６を「Ｈ」に変化させる。時刻ｔ４１において、ＤＭＡカウンタ２２は論理回路４０から転送スタート信号４６を入力し、カウンタの値を初期化するとともに、カウンタ更新信号４７を「Ｈ」に変化させて、ＤＭＡＲＱ発生回路４１に出力する。そして、同時刻において、ＤＭＡＲＱ発生回路４１はＤＭＡＲＱをアサートすることにより、データの転送開始を知らせる。時刻ｔ４２において、第２集積回路３１はデータの転送開始を認識し、ＮＩＯＲＤ４４もしくはＮＩＯＷＲ４５を「Ｌ」に変化させる。このとき、ＮＩＯＲＤ４４が「Ｌ」に変化されたならば、第１集積回路３０はＮＩＯＲＤ４４の「Ｌ」への変化と同期して、Ｄａｔａ５１を出力し、第２集積回路３１はｎビットのデータを取り込む。一方、ＮＩＯＷＲ４５が「Ｌ」に変化されたならば、第２集積回路３１はＤａｔａ５１を出力し、第１集積回路３０はｎビットのデータを取り込む。よって、上述した動作によりデータの転送が行われる。
【００２０】
続いて、論理回路４０において、データの転送ができなくなったとき、ＤＭＡＲＱ発生回路４１はＮＩＯＲＤ４４もしくはＮＩＯＷＲ４５が「Ｌ」に変化されたことを検知して、時刻ｔ４３において、ＤＭＡＲＱ４８をネゲートする。よって、この時点でデータの転送は停止される。そして、時刻ｔ４４において、第２集積回路３１はＤＭＡＲＱ４８がネゲートされたことを認識して、ＮＩＯＲＤ４４もしくはＮＩＯＷＲ４５を「Ｈ」に変化させる。
【００２１】
また、ＤＭＡＲＱ発生回路４１は、時刻ｔ４２でＮＩＯＲＤ４４もしくはＮＩＯＷＲ４５が「Ｌ」に変化されたことを検知して、時刻ｔ４５において、クロック検知信号４９を出力する。これにより、ＤＭＡカウンタ４２はカウンタの値を更新する。また、このときに論理回路４０から転送ＨＯＬＤ信号５０が出力されなければ、時刻ｔ４６において、ＤＭＡＲＱ発生回路４１はＤＭＡＲＱ４８を再びアサートし、データの転送を再開させる。
【００２２】
【発明が解決しようとする課題】
しかしながら、バースト転送方式によるＤＭＡインターフェイス回路は、ＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５が「Ｌ」に変化することでカウンタの値を更新し、カウンタの値が「０」になったときにＤＭＡＲＱ２７をネゲートする。そのため、ＤＭＡカウンタ２２はＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５が「Ｌ」に変化されている期間にＤＭＡＲＱ２７をネゲートするならば、クロック周波数はＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５の２倍以上でなければならない。ところが、第１集積回路１０及び第２集積回路１１のデータ転送性能を向上させるために、ＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５の周波数を上げていくと、第１集積回路１０を制御するクロック２３の周波数は、ＮＩＯＲＤ２４もしくはＮＩＯＷＲ２５の２倍の速度で周波数で上がっていくため、非常に高速なクロックで動作する回路設計が必要となり、半導体設計のうえで大きな障害となるという問題点があった。
【００２３】
また、ハンドシェイク方式によるＤＭＡインターフェイス回路は、ＤＭＡＲＱ４８がクロック４３と無関係にネゲートされるため、上述したバースト転送方式と異なって、ＮＩＯＲＤ４４もしくはＮＩＯＷＲ４５の動作はクロック４３の周波数とは無関係に動作するので、半導体の設計上は有利である。しかし、ＤＭＡＲＱ４８がネゲートされ、再びアサートされるまでに、内部の処理が完了（時刻ｔ４４から時刻ｔ４６までの動作）していなければならないので、第１集積回路３０の処理時間のオーバーヘッドにより、転送性能が大きく劣化してしまうという問題点があった。
【００２４】
本発明は、かかる問題点を解消するためになされたものであり、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によりデータの転送を高速に、かつ効率よく行うことができるＤＭＡ転送制御装置を提供することを目的とする。
【００２５】
【課題を解決するための手段】
本発明に係るＤＭＡ転送装置は、集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、該ＤＭＡ転送制御装置のデータを送信する集積回路は、上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データを書きこむ書込クロック信号に基づいてカウントを行なうＤＭＡカウンタと、上記書込クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記書込要求信号を出力する書込制御回路と、上記ＤＭＡ転送制御装置のデータを受信する集積回路より、データの読み出しを要求する読出転送クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路にデータの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、上記ＤＭＡ転送制御装置のデータを受信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、を含むものである。
【００２６】
また、本発明に係るＤＭＡ転送制御装置は、集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、該ＤＭＡ転送制御装置のデータを受信する集積回路は、上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うＤＭＡカウンタと、上記ＤＭＡ転送制御装置のデータを送信する集積回路より、データの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタから出力される信号に応じた上記バッファメモリ及びハンドシェイク回路にデータの書き込みを要求する書込要求信号を出力する書込制御回路と、上記読出クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタから出力される信号に応じた上記ハンドシェイク回路に、上記データの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記書込ポインタから出力される信号に基づいて、上記ＤＭＡ転送制御装置のデータを送信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、を含むものである。
【００２７】
また、本発明に係るＤＭＡ転送制御装置は、集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、該ＤＭＡ転送制御装置のデータを送受信する集積回路は、上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、他方の集積回路からデータを読み出す際には、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、あるいは他方の集積回路からデータを書き込む際には、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、他方の集積回路からデータを読み出す際には、データを書きこむ書込クロック信号に基づいてカウントを行い、他方の集積回路からデータを書き込む際には、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うＤＭＡカウンタと、他方の集積回路からデータを読み出す際には、該他方の集積回路からデータの読み出しを要求する読出転送クロック信号が入力されるとカウント行い、他方の集積回路からデータを書き込む際には、上記読出クロックが入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路に、データの読み出しを要求する読出要求信号を出力する読出制御回路と、他方の集積回路からデータを読み出す際には、上記書込クロックが入力されるとカウントを行い、他方の集積回路からデータを書き込む際には、該他方の集積回路からデータの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記データの書き込みを要求する書込要求信号を出力する書込制御回路と、他方の集積回路からデータを読み出す際には、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、他方の集積回路からデータを書き込む際には、上記書込ポインタの値に基づいて、上記他方の集積回路にデータの転送を要求する転送要求信号を出力する転送要求信号発生回路と、を含むものである。
【００２８】
また、本発明に係るＤＭＡ転送制御装置は、請求項１ないし請求項３のいずれかに記載のＤＭＡ転送制御装置において、上記各バッファメモリは、該バッファメモリと並列して設けられた上記ハンドシェイク回路の処理時間に対応したメモリサイズを有するものである。
【００２９】
また、本発明に係るＤＭＡ転送制御装置は、請求項２または請求項３に記載のＤＭＡ転送制御装置において、上記ＤＭＡカウンタは、予めデータの転送量が設定されており、他の集積回路よりデータを書き込む際、上記複数のハンドシェイク回路のうち、該データの転送量に応じた数のハンドシェイク回路を同時に起動するものである。
【００３０】
【発明の実施の形態】
実施の形態１．
本実施の形態１のＤＭＡ転送制御装置は、第１集積回路から第２集積回路へデータの読み出しを行うＲｅａｄ動作について説明を行うものである。
図１は本発明の実施の形態１によるＲｅａｄ動作のＤＭＡ転送制御装置の回路構成図である。
図１において、第１集積回路１００は論理回路１０１と、ＤＭＡカウンタ１２１と、書込制御回路１０７と、読出制御回路１０８と、読出選択回路１２４と、ＤＭＡＲＱ発生回路１１５と、８個のデータバッファ１０３ａ〜１０３ｈと、８個のハンドシェイク回路１０６ａ〜１０６ｈとを有している。
【００３１】
以下、各回路について詳細に説明を行う。
論理回路１０１は８ビットのデータを管理し、データの転送を停止させる転送ＨＯＬＤ信号（Ｆｕｌｌ）１１８を入力し、データの書き込みを行う書込信号（ＷＥ）１０９を書込制御回路１０７及びＤＭＡカウンタ１２１に出力する。ＤＭＡカウンタ１２１はデータの転送量を設定するカウンタを有し、書込信号１０９を入力するとともに、データの転送が完了したときに転送完了信号１２２を論理回路１０１に出力する。書込制御回路１０７は書込ポインタを有し、論理回路１０１から書込信号１０９が入力されたならば、書込ポインタの値を加算し、書込ポインタの値に応じて書込要求信号１１０ａ〜１１０ｈのいずれかを選択してデータバッファ１０３ａ〜１０３ｈ及びハンドシェイク回路１０６ａ〜１０６ｈのいずれかに出力する。読出制御回路１０８は読出ポインタを有し、第２集積回路１０５からデータを読み出す際の転送クロック信号（ＮＩＯＲＤ）１１９を受信したならば、読出ポインタの値を加算して読出ポインタ信号１１６をＤＭＡＲＱ発生回路１１５に出力し、読出ポインタの値に応じて読出信号１２０ａ〜１２０ｈのいずれかを選択してハンドシェイク回路１０６ａ〜１０６ｈのいずれかに出力する。例えば、読出ポインタが０から１に変化したならば、読出信号１２０ａを出力し、読出ポインタが１から２に変化したならば読出信号１２０ｂを出力し、以後同様に読出ポインタの変化に応じて読出信号１２０ｃ〜１２０ｇを出力し、読出ポインタが７から０に変化したならば読出信号１２０ｈを出力する。読出選択回路１２４は書込制御回路１０７で選択された書込要求信号１１０ａ〜１１０ｈによって、データバッファ１０３ａ〜１０３ｈのいずれかに入力された８ビットデータを第２集積回路１０５にデータ線１０４により出力する。ＤＭＡＲＱ発生回路１１５は、読出制御回路１０８から出力される読出ポインタ信号１１６に応じて、バッファ転送要求信号１１４ａ〜１１４ｈのいずれかを選択して、第２集積回路１０５にデータの転送を要求する転送要求信号（ＤＭＡＲＱ）１１７を送信するとともに、バッファ転送要求信号１１４ａ〜１１４ｈのすべてが入力されたならば、データバッファ１０３ａ〜１０３ｈにデータの書き込みを停止させるため、転送ＨＯＬＤ信号１１８を論理回路１０１に出力する。８個のデータバッファ１０３ａ〜１０３ｈは、８個のハンドシェイク回路１０６ａ〜１０６ｈと、書込制御回路１０７と、読出制御回路１０８とにより制御され、書込制御回路１０７により選択された書込要求信号１１０ａ〜１１０ｈをＷ端子に入力し、書込要求信号１１０が入力されたデータバッファ１０３は、論理回路１０１から８ビットデータのデータ線１０２を入力し、入力された８ビットデータをデータバッファ１０３のＱ端子から読出選択回路１２４にデータ線１２３を出力する。８個のハンドシェイク回路１０６ａ〜１０６ｈは書込制御回路１０７から出力される書込要求信号１１０ａ〜１１０ｈ、あるいは読出制御回路１０８から出力される読出信号１２０ａ〜１２０ｈのいずれかを入力し、入力された信号に応じてデータの転送を要求するバッファ転送要求信号１１４ａ〜１１４ｈをＤＭＡＲＱ発生回路１１５に出力する。具体的には、ハンドシェイク回路１０６ａ〜１０６ｈのＷ入力端子に書込要求信号１１０ａ〜１１０ｈが入力されたならば、Ｆ出力端子より信号を「Ｈ」に変化させるバッファ転送要求信号１１４ａ〜１１４ｈを出力し、一方、ハンドシェイク回路１０６ａ〜１０６ｈのＲ入力端子に読出信号１２０ａ〜１２０ｈが入力されたならば、Ｆ出力端子より信号を「Ｌ」に変化させるバッファ転送要求信号１１４ａ〜１１４ｈを出力する。
【００３２】
次に、上述したＤＭＡ転送制御装置のＲｅａｄ動作のタイミングについて説明を行う。
図２は本発明の実施の形態１によるＤＭＡ転送制御装置のＲｅａｄ動作のタイミングを説明するための図である。
時刻ｔ１０１において、論理回路１０１は書込信号１０９を「Ｈ」に変化させると、書込制御回路１０７は論理回路１０１から書込信号１０９を入力し、書込要求信号１１０ａをデータバッファ１０３ａに出力する。このとき、書込制御回路１０７の書込ポインタの値が加算される。そして、データバッファ１０３ａは書込要求信号１１０ａをＷ端子に入力し、Ｄ端子よりデータ線１０２が入力されてデータが書き込まれる。そして、書き込みが行われたデータは、データバッファ１０３ａのＱ端子よりデータ線１２３ａを出力し、読出選択回路１２４を介して、データ線１０４より第２集積回路１０５に送信される。また、書込要求信号１１０ａはデータバッファ１０３ａのＷ端子に入力されるとともに、ハンドシェイク回路１０６ａのＷ入力端子に入力され、時刻ｔ１０２において、ハンドシェイク回路１０６ａはＦ出力端子のバッファ転送要求信号１１４ａを「Ｈ」に変化させる。同時刻において、ＤＭＡＲＱ発生回路１１５はハンドシェイク回路１０６ａからバッファ転送要求信号１１４ａを入力し、ＤＭＡＲＱ１１７をアサートする。また、ＤＭＡカウンタ１２１は論理回路１０１から書込信号１０９を入力し、カウンタの値を更新する。
【００３３】
同様に時刻ｔ１０３において、論理回路１０１は書込信号１０９を「Ｈ」に変化させると、書込制御回路１０７は論理回路１０１から書込信号１０９を入力し、書込ポインタの値を１つ加算して、書込要求信号１１０ｂを出力する。そして、データバッファ１０３ｂは書込要求信号１１０ｂをＷ端子に入力するとともに、データ線１０２をＤ端子に入力しデータが書き込まれる。そして、書き込みが行われたデータは、データバッファ１０３ｂのＱ端子よりデータ線１２３ｂを出力し、読出選択回路１２４を介して、データ線１０４より第２集積回路１０５に送信される。また、書込要求信号１１０ｂはデータバッファ１０３ｂのＷ端子に入力されるとともに、ハンドシェイク回路１０６ｂのＷ入力端子に入力され、時刻ｔ１０４において、ハンドシェイク回路１０６ｂはＦ出力端子のバッファ転送要求信号１１４ｂを「Ｈ」に変化させる。
【００３４】
ここで、第２集積回路１０５からＮＩＯＲＤ１１９が読出制御回路１０８に送信されなければ、ハンドシェイク回路１０６ａ〜１０６ｈは書込信号１０９の入力により、Ｆ出力端子のバッファ転送要求信号１１４ａ〜１１４ｈを順次「Ｈ」に変化させる。そして、時刻ｔ１０５において、バッファ転送要求信号１１４ａ〜１１４ｈは、すべて「Ｈ」に変化される。同時刻において、ＤＭＡＲＱ発生回路１１５は、バッファ転送要求信号１１４ａ〜１１４ｈをすべて入力したので、データの転送を停止させるために転送ＨＯＬＤ信号１１８を「Ｈ」に変化させる。そして、論理回路１０１は、転送ＨＯＬＤ信号１１８が「Ｈ」に変化したことを認識して、書込信号１０９を「Ｌ」に変化させて、データの転送を停止させる。
【００３５】
読出制御回路１０８の読出ポインタは初期状態で「０」であるため、読出制御回路１０８にＮＩＯＲＤ１１９が受信されなければ、読出ポインタ信号１１６はＤＭＡＲＱ発生回路１１５において、常にバッファ転送要求信号１１４ａを選択する信号を出力する。つまり、時刻ｔ１０１〜ｔ１０６において、ＤＭＡＲＱ発生回路１１５は、常にバッファ転送要求信号１１４ａを選択してＤＭＡＲＱ１１７を第２集積回路１０５に送信する。
【００３６】
時刻ｔ１０６において、ＮＩＯＲＤ１１９が「Ｌ」に変化すると、読出制御回路１０８は読出ポインタを「０」から「１」に変化させるとともに、バッファ転送要求信号１１４ｂを選択する読出ポインタ信号１１６をＤＭＡＲＱ発生回路１１５に出力する。そして、ＤＭＡＲＱ発生回路１１５は、読出ポインタ信号１１６を入力することにより、バッファ転送要求信号１１４ｂを選択してＤＭＡＲＱ１１７を第２集積回路１０５に送信する。また、このときバッファ転送要求信号１１４ｂは信号を「Ｈ」に保持しているので、ＤＭＡＲＱ１１７も信号を「Ｈ」に保持する。また、読出ポインタの値は、ＮＩＯＲＤが「Ｌ」に変化するのと同期して変化し、読出制御回路１０８は、読出ポインタの値に応じて読出信号１２０ａ〜１２０ｈを選択し、ハンドシェイク回路１０６ａ〜１０６ｈに出力する。
【００３７】
読出制御回路１０８は、読出ポインタが「０」から「１」に変化したことを検知して、時刻ｔ１０７において、読出信号１２０ａを出力する。時刻ｔ１０８において、ハンドシェイク回路１０６ａは読出制御回路１０８から読出信号１２０ａをＲ入力端子に入力し、Ｆ出力端子のバッファ転送要求信号１１４ａを「Ｌ」に変化させる。ＤＭＡＲＱ発生回路１１５はハンドシェイク回路１０６ａからバッファ転送要求信号１１４ａを入力し、データの転送を再開させるために転送ＨＯＬＤ信号１１８を「Ｌ」に変化させる。そして、論理回路１０１は、転送ＨＯＬＤ信号１１８を入力し、時刻ｔ１１０において書込信号１０９を「Ｈ」に変化させて、データの転送を再開する。以後、順次データの転送が行われる。
【００３８】
時刻ｔ１１１において、ＤＭＡカウンタ１２１のカウンタの値が「０」になると、ＤＭＡカウンタ１２１は転送完了信号１２２を「Ｈ」に変化させる。そして論理回路１０１は、ＤＭＡカウンタ１２１から転送完了信号１２２を入力し、書込信号１０９を「Ｌ」に変化させる。よって、書込制御回路１０７は論理回路１０１から書込信号１０９が出力されないため、ハンドシェイク回路１０６ａ〜１０６ｈは、Ｗ入力端子に書込要求信号１１０ａ〜１１０ｈを入力することができない。つまり、ハンドシェイク回路１０６ａ〜１０６ｈは、ＮＩＯＲＤ１１９が「Ｌ」に変化する毎に、Ｒ入力端子から読出信号１２０ａ〜１２０ｈを順次入力し、Ｆ出力端子はバッファ転送要求信号１１４ａ〜１１４ｈを、順次「Ｌ」に変化させる。
【００３９】
時刻ｔ１１２において、読出ポインタが「０」を示し、ＮＩＯＲＤ１１９が「Ｌ」に変化すると、本来、ＤＭＡＲＱ発生回路１１５は、読出ポインタ信号１１６の入力によってバッファ転送要求信号１１４ａを選択して、ＤＭＡＲＱ１１７を出力する。しかし、時刻ｔ１１２において、バッファ転送要求信号１１４ａは「Ｌ」であるので、ＤＭＡＲＱ発生回路１１５は、ＤＭＡＲＱ１１７をネゲートし、データの転送完了を知らせる。続いて、第２集積回路１０５はデータの転送完了を認識し、ＮＩＯＲＤ１１９を「Ｈ」に変化させて、データの転送を完了させる。
【００４０】
このように、本実施の形態１によるＤＭＡ転送制御装置によれば、ＤＭＡＲＱ１１７のアサートはＤＭＡカウンタ１２１のカウンタに同期して行われるが、ＤＭＡＲＱ１１７のネゲートはＮＩＯＲＤ１１９が「Ｌ」に変化することにより行われるので、内部クロックの周期に左右されることなくデータの転送を行うことができる。
【００４１】
また、集積回路内に複数のバッファメモリ１０３ａ〜１０３ｈと、そのバッファメモリ１０３ａ〜１０３ｈの容量に応じた複数のハンドシェイク回路１０６ａ〜１０６ｈとを並列させて備えたので、ハンドシェイク回路１０６ａ〜１０６ｈで、集積回路内のクロック周波数の差を吸収することができ、データの連続転送を実現することができる。
【００４２】
つまり、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【００４３】
実施の形態２．
本実施の形態２のＤＭＡ転送制御装置は、第２集積回路から第１集積回路へデータの書き込みを行うＷｒｉｔｅ動作について説明を行うものである。
図３は本発明の実施の形態２によるＷｒｉｔｅ動作のＤＭＡ転送制御装置の回路構成図である。
【００４４】
図３において、第１集積回路２０２は論理回路２０５と、ＤＭＡカウンタ２０９と、読出制御回路２０８と、書込制御回路２０７と、ＤＭＡＲＱ発生回路２１２と、８個のデータバッファ２０３ａ〜２０３ｈと、８個のハンドシェイク回路２０６ａ〜２０６ｈとを有している。
【００４５】
以下、各回路について詳細に説明を行う。
論理回路２０５は８ビットのデータを管理し、データの読み出しを要求する読出要求信号（Ｒｄｙ）２１９を入力し、データの読み出しを行う読出信号（ＲＥ）２２０を読出制御回路２０８及びＤＭＡカウンタ２０９に出力し、データ転送の開始を知らせる転送スタート信号２１７をＤＭＡカウンタ２０９及び書込制御回路２０７に出力する。ＤＭＡカウンタ２０９はデータの転送量を設定するカウンタを有し、読出信号２２０と、転送スタート信号２１７とを入力して、設定されたデータの転送量に応じて、書込許可信号（Ｆｌａｇ）２１０ａ〜２１０ｈのいずれかを出力する。例えば、ＤＭＡカウンタ２０９に設定されたデータの転送量が８ｗｏｒｄであれば、書込許可信号２１０ａ〜２１０ｈのすべてが出力されるが、データの転送量が１ｗｏｒｄであれば、書込許可信号２１０ａのみが出力される。読出制御回路２０８は読出ポインタを有し、論理回路２０５から読出信号２２０が入力されたならば、読出ポインタに応じて読出信号２２１ａ〜２２１ｈのいずれかをハンドシェイク回路２０６ａ〜２０６ｈに出力するとともに、データバッファ２０３ａ〜２０３ｈから８ビットデータをデータ線２２２ａ〜２２２ｈのいずれかを選択して入力し、選択された８ビットデータをデータ線２０４を通じて論理回路２０５に出力して読出ポインタを加算する。書込制御回路２０７は書込ポインタを有し、第２集積回路２００からデータを書き込む際の転送クロック信号（ＮＩＯＷＲ）２１５を受信したならば、書込ポインタの値を加算して書込ポインタ信号２１３をＤＭＡＲＱ発生回路２１２に出力し、また、書込ポインタの値に応じて書込信号２１６ａ〜２１６ｈをデータバッファ２０３ａ〜２０３ｈ及びハンドシェイク回路２０６ａ〜２０６ｈのいずれかに出力する。ＤＭＡＲＱ発生回路２１２は書込制御回路２０７から出力される書込ポインタ信号２１３に応じて、バッファ転送要求信号２１１ａ〜２１１ｈのいずれかを選択して、第２集積回路２００にデータの転送を要求する転送要求信号（ＤＭＡＲＱ）２１４を出力する。８個のデータバッファ２０３ａ〜２０３ｈは、８個のハンドシェイク回路２０６ａ〜２０６ｈと、書込制御回路２０７と、読出制御回路２０８と、ＤＭＡカウンタ２０９とにより制御され、書込制御回路２０７により選択された書込信号２１６ａ〜２１６ｈをＷ端子に入力し、選択された書込信号２１６が入力されたデータバッファ２０３は、第２集積回路２００から８ビットデータをデータ線２０１を通じて受信し、読出制御回路２０８にデータ線２２２を出力する。８個のハンドシェイク回路２０６ａ〜２０６ｈは、読出制御回路２０８により選択された読出信号２２１に応じて、ＤＭＡカウンタ２０９から出力される書込許可信号２１０を入力し、ＤＭＡＲＱ発生回路２１２にバッファ転送要求信号２１１を出力するとともに、書込制御回路２０７から出力される書込信号２１６ａ〜２１６ｈのいずれかを入力して、Ｄａｔａ  ｆｕｌｌ信号２１８ａ〜２１８ｈのいずれかを読出制御回路２０８に出力する。
【００４６】
次に、上述したＤＭＡ転送制御装置のＷｒｉｔｅ動作のタイミングについて、ＤＭＡカウンタ２０９で設定されるデータの転送量をｎ  ｗｏｒｄ＞８ｗｏｒｄとして説明を行う。
【００４７】
図４は本発明の実施の形態２によるＤＭＡ転送制御装置のＷｒｉｔｅ動作のタイミングを説明するための図である。
時刻ｔ２００において、論理回路２０５は転送スタート信号２１７を「Ｈ」に変化させると、書込制御回路２０７は論理回路２０５から転送スタート信号２１７を入力し、書込ポインタをリセットして、書込ポインタ「０」を示す書込ポインタ信号２１３をＤＭＡＲＱ発生回路２１２に出力する。時刻ｔ２０１において、ＤＭＡカウンタ２０９は書込許可信号２１０ａ〜２１０ｈを「Ｈ」に変化させ、ハンドシェイク回路２０６ａ〜２０６ｈはＤＭＡカウンタ２０９から書込許可信号２１０ａ〜２１０ｈを入力する。時刻ｔ２０２において、ハンドシェイク回路２０６ａ〜２０６ｈは、バッファ転送要求信号２１１ａ〜２１１ｈを「Ｈ」に変化させ、ＤＭＡＲＱ発生回路２１２はハンドシェイク回路２０６ａ〜２０６ｈからバッファ転送要求信号２１１ａ〜２１１ｈを入力する。
【００４８】
ＤＭＡＲＱ発生回路２１２は、書込ポインタ信号２１３の入力に応じてバッファ転送要求信号２１１ａ〜２１１ｈのいずれかを選択して、第２集積回路２００にＤＭＡＲＱ２１４を出力する。この場合、時刻ｔ２０２において、書込ポインタは「０」を示しているので、ＤＭＡＲＱ発生回路２１２は、バッファ転送要求信号２１１ａを選択して入力し、ＤＭＡＲＱ２１４をアサートする。
【００４９】
第２集積回路２００はＤＭＡＲＱ発生回路２１２からＤＭＡＲＱ２１４を受信し、時刻ｔ２０３において、ＮＩＯＷＲ２１５を「Ｌ」に変化させるとともに、８ビットデータのデータ線２０１をデータバッファ２０３ａ〜２０３ｈに送信する。また、同時刻において、書込制御回路２０７の書込ポインタは「１」を示すので、書込制御回路２０７は書込信号２１６ａを選択してデータバッファ２０３ａ及びハンドシェイク回路２０６ａに出力し、データバッファ２０３ａは第２集積回路２００から送信されたデータ線２０１を入力しデータを書き込む。また、時刻ｔ２０４において、ハンドシェイク回路２０６ａは、バッファ転送要求信号２１１ａを「Ｌ」に変化させるとともに、Ｄａｔａ  Ｆｕｌｌ信号２１８ａを「Ｈ」に変化させる。
【００５０】
同様に、時刻ｔ２０５において、第２集積回路２００はＮＩＯＷＲ２１５を「Ｌ」に変化させるとともに、８ビットデータのデータ線２０１をデータバッファ２０３ａ〜２０３ｈに送信する。また、同時刻において、書込制御回路２０７の書込ポインタは「２」を示すので、書込制御回路２０７は書込信号２１６ｂを選択してデータバッファ２０３ｂ及びハンドシェイク回路２０６ｂに出力し、データバッファ２０３ｂは第２集積回路２００から送信されたデータ線２０１を入力しデータを書き込む。また、時刻ｔ２０６において、ハンドシェイク回路２０６ｂは、バッファ転送要求信号２１１ｂを「Ｌ」に変化させるとともに、Ｄａｔａ  Ｆｕｌｌ信号２１８ｂを「Ｈ」に変化させる。
【００５１】
続いて、上述した動作以降、第２集積回路２００のＮＩＯＷＲ２１５が「Ｌ」に変化する毎に、順次、データバッファ２０３ｃ〜２０３ｈに第２集積回路２００から８ビットデータがデータ線２０１により書き込まれる。また、それぞれ同時刻において、書込制御回路２０７の書込ポインタが順次加算されるので、書込制御回路２０７は書込ポインタの値に応じて、書込信号２１６ｃ〜２１６ｈをデータバッファ２０３ｃ〜２０３ｈ及びハンドシェイク回路２０６ｃ〜２０６ｈに出力する。そして、ハンドシェイク回路２０６ｃ〜２０６ｈは、順次、バッファ転送要求信号２１１ｃ〜２１１ｈを「Ｌ」に変化させるとともに、Ｄａｔａ  Ｆｕｌｌ信号２１８ｃ〜２１８ｈを「Ｈ」に変化させる。
【００５２】
時刻ｔ２０７において、書込ポインタが「０」を示したとき、ＤＭＡＲＱ発生回路２１２は、本来ならば、バッファ転送要求信号２１１ａを選択して、第２集積回路２００にＤＭＡＲＱ２１４を出力するが、このときバッファ転送要求信号２１１ａは「Ｌ」に変化されているので、ＤＭＡＲＱ発生回路２１２はＤＭＡＲＱ２１４はネゲートさせる。
【００５３】
読出制御回路２０８は、ハンドシェイク回路２０６ａ〜２０６ｈから出力されるＤａｔａ  Ｆｕｌｌ信号２１８ａ〜２１８ｈの論理和をとって読出要求信号２１９を論理回路２０５に出力する。しかしながら、時刻ｔ２０７までに論理回路２０５から読出信号２２０を出力しなければ、ＤＭＡカウンタ２０９は書込許可信号２１０ａ〜２１０ｈを出力することができないので、この時点で第２集積回路２００はデータの転送を一時停止する。
【００５４】
時刻ｔ２０８において、論理回路２０５は読出信号２２０を「Ｈ」に変化させると、ＤＭＡカウンタ２０９は、論理回路２０５から読出信号２２０を入力し、カウンタの値を更新するとともに、時刻ｔ２０９において、書込許可信号２１０ａを「Ｈ」に変化させる。そしてハンドシェイク回路２０６ａは、時刻ｔ２１０においてバッファ転送要求信号２１１ａを「Ｈ」に変化させるが、このとき書込制御回路２０７の書込ポインタは「０」を示しているので、ＤＭＡＲＱ発生回路２１２は、バッファ転送要求信号２１１ａを選択して入力し、ＤＭＡＲＱ２１４をアサートする。
【００５５】
一方、時刻ｔ２０８において、論理回路２０５から読出信号２２０が出力されると、このとき、読出ポインタは「０」を示しているので、読出制御回路２０８は、読出信号２２１ａを選択して出力し、ハンドシェイク回路２０６ａのＤａｔａ  Ｆｕｌｌ信号２１８ａを「Ｌ」に変化させる。また、読出制御回路２０８は、データバッファ２０３ａからデータ線２２２ａを選択して入力し、データ線２０４を論理回路２０５に出力する。
【００５６】
時刻ｔ２１１において、ＤＭＡカウンタ２０９のカウンタの値が７ｗｏｒｄ以下になると、それ以後、ＤＭＡカウンタ２０９は書込許可信号２１０ａ〜２１０ｈを出力しない。つまり、ハンドシェイク回路２０６ａ〜２０６ｈは時刻ｔ２１１以降、書込信号２１６ａ〜２１６ｈを入力することにより、順次、バッファ転送要求信号２１１ａ〜２１１ｈを「Ｌ」に変化させる。
【００５７】
時刻ｔ２１２において、第２集積回路２００はＮＩＯＷＲ２１５を「Ｌ」に変化させることにより、書込制御回路２０７の書込ポインタは「０」を示す。そして、ＤＭＡＲＱ発生回路２１２は、本来ならば、書込ポインタが「０」であるのでバッファ転送要求信号２１１ａを選択し、第２集積回路２００にＤＭＡＲＱ２１４を出力するが、このときバッファ転送要求信号２１１ａは「Ｌ」に変化されているので、ＤＭＡＲＱ２１４はネゲートし、データの転送完了を知らせる。そして、時刻ｔ２１３において、第２集積回路２００はデータの転送完了を認識し、ＮＩＯＷＲ２１５を「Ｈ」に変化させて、データの転送を完了させる。
【００５８】
なお、この時点で、データバッファ２０３ａ〜２０３ｈはデータの読み出しを完了していないため、読出制御回路２０８は読出要求信号２１９を「Ｈ」の状態に保持する。論理回路２０５は読出信号２２０を出力して、データバッファ２０３ａ〜２０３ｈからデータの読み出しを行う。
【００５９】
続いて、図示しないが、データバッファ２０３ａ〜２０３ｈのデータの読み出しが完了すると、ハンドシェイク回路２０６ａ〜２０６ｈのＤａｔａ  Ｆｕｌｌ信号２１８ａ〜２１８ｈはすべて「Ｌ」に変化される。そして、読出制御回路２０８は読出要求信号２１９を「Ｌ」に変化させて、論理回路２０５は読み出し動作を完了する。
【００６０】
このように、本実施の形態２によるＤＭＡ転送制御装置によれば、ＤＭＡＲＱ２１４のアサートはＤＭＡカウンタ２０９のカウンタに同期して行われるが、ＤＭＡＲＱ２１４のネゲートはＮＩＯＷＲ２１５が「Ｌ」に変化することにより行われるので、内部クロックの周期に左右されることなくデータの転送を行うことができる。
【００６１】
また、集積回路内に複数のバッファメモリと、そのバッファメモリの容量に応じた複数のハンドシェイク回路とを並列させて備えたので、ハンドシェイク回路で、集積回路内のクロック周波数の差を吸収することができ、データの連続転送を実現することができる。
【００６２】
つまり、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【００６３】
【発明の効果】
以上のように、本発明の請求項１に記載のＤＭＡ転送制御装置によれば、集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、該ＤＭＡ転送制御装置のデータを送信する集積回路は、上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データを書きこむ書込クロック信号に基づいてカウントを行なうＤＭＡカウンタと、上記書込クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記書込要求信号を出力する書込制御回路と、上記ＤＭＡ転送制御装置のデータを受信する集積回路より、データの読み出しを要求する読出転送クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路にデータの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、上記ＤＭＡ転送制御装置のデータを受信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、を含むようにしたので、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【００６４】
また、本発明の請求項２に記載のＤＭＡ転送制御装置によれば、集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、該ＤＭＡ転送制御装置のデータを受信する集積回路は、上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うＤＭＡカウンタと、上記ＤＭＡ転送制御装置のデータを送信する集積回路より、データの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタから出力される信号に応じた上記バッファメモリ及びハンドシェイク回路にデータの書き込みを要求する書込要求信号を出力する書込制御回路と、上記読出クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタから出力される信号に応じた上記ハンドシェイク回路に、上記データの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記書込ポインタから出力される信号に基づいて、上記ＤＭＡ転送制御装置のデータを送信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、を含むようにしたので、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【００６５】
また、本発明の請求項３に記載のＤＭＡ転送制御装置によれば、集積回路間のダイレクトメモリアクセス（ＤＭＡ）転送を制御するＤＭＡ転送制御装置であって、該ＤＭＡ転送制御装置のデータを送受信する集積回路は、上記ＤＭＡ転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、他方の集積回路からデータを読み出す際には、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、あるいは他方の集積回路からデータを書き込む際には、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、他方の集積回路からデータを読み出す際には、データを書きこむ書込クロック信号に基づいてカウントを行い、他方の集積回路からデータを書き込む際には、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うＤＭＡカウンタと、他方の集積回路からデータを読み出す際には、該他方の集積回路からデータの読み出しを要求する読出転送クロック信号が入力されるとカウント行い、他方の集積回路からデータを書き込む際には、上記読出クロックが入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路に、データの読み出しを要求する読出要求信号を出力する読出制御回路と、他方の集積回路からデータを読み出す際には、上記書込クロックが入力されるとカウントを行い、他方の集積回路からデータを書き込む際には、該他方の集積回路からデータの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記データの書き込みを要求する書込要求信号を出力する書込制御回路と、他方の集積回路からデータを読み出す際には、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、他方の集積回路からデータを書き込む際には、上記書込ポインタの値に基づいて、上記他方の集積回路にデータの転送を要求する転送要求信号を出力する転送要求信号発生回路と、を含むようにしたので、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【００６６】
また、本発明の請求項４に記載のＤＭＡ転送制御装置によれば、請求項１ないし請求項３のいずれかに記載のＤＭＡ転送制御装置において、上記各バッファメモリは、該バッファメモリと並列して設けられた上記ハンドシェイク回路の処理時間に対応したメモリサイズを有するものであるので、ハンドシェイク回路で、集積回路内の処理回路のクロック周波数の差を吸収することができ、データの連続転送を実現することができる。
【００６７】
また、本発明の請求項５に記載のＤＭＡ転送制御装置によれば、請求項２または請求項３に記載のＤＭＡ転送制御装置において、上記ＤＭＡカウンタは、予めデータの転送量が設定されており、他の集積回路よりデータを書き込む際、上記複数のハンドシェイク回路のうち、該データの転送量に応じた数のハンドシェイク回路を同時に起動するものであるので、複数のハンドシェイク回路を同時に制御することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１によるＲｅａｄ動作のＤＭＡ転送制御装置の回路構成図
【図２】  本発明の実施の形態１によるＲｅａｄ動作のタイミングを説明するための図
【図３】  本発明の実施の形態２によるＷｒｉｔｅ動作のＤＭＡ転送制御装置の回路構成図
【図４】  本発明の実施の形態２によるＷｒｉｔｅ動作のタイミングを説明するための図
【図５】  従来のＤＭＡ転送制御装置を使用したインターフェイスの構成例を示す図
【図６】  ３Ｗｏｒｄのデータ転送を例にしたＲｅａｄ動作のタイミングを説明するための図
【図７】  ３Ｗｏｒｄのデータ転送を例にしたＷｒｉｔｅ動作のタイミングを説明するための図
【図８】  バースト転送方式を採用したＤＭＡインターフェイスの回路構成図
【図９】  バースト転送方式ＤＭＡインターフェイスのＲｅａｄ動作及びＷｒｉｔｅ動作のタイミングを説明するための図
【図１０】  ハンドシェイク方式を採用したＤＭＡインターフェイスの回路構成図
【図１１】  ハンドシェイク方式ＤＭＡインターフェイスのＲｅａｄ動作及びＷｒｉｔｅ動作のタイミングを説明するための図
【符号の説明】
１  第１機器
２  第２機器
３  外部バス
４  第１集積回路
５  第２集積回路
６  転送要求信号（ＤＭＡＲＱ）
７  転送クロック信号（ＮＩＯＲＤ）
８  転送クロック信号（ＮＩＯＷＲ）
９  データ線（Ｄａｔａ）
１０  第１集積機器
１１  第２集積機器
２０  論理回路
２２  ＤＭＡカウンタ
２３  クロック
２４  転送クロック信号（ＮＩＯＲＤ）
２５  転送クロック信号（ＮＩＯＷＲ）
２６  データ線（Ｄａｔａ）
２７  転送要求信号（ＤＭＡＲＱ）
２８  転送スタート信号
２９  転送ＨＯＬＤ信号
３０  第１集積回路
３１  第２集積回路
４０  論理回路
４１  ＤＭＡＲＱ発生回路４１
４２  ＤＭＡカウンタ
４３  クロック
４４  転送クロック信号（ＮＩＯＲＤ）
４５  転送クロック信号（ＮＩＯＷＲ）
４６  転送スタート信号
４７  カウンタ更新信号
４８  転送要求信号（ＤＭＡＲＱ）
４９  クロック検知信号
５０  転送ＨＯＬＤ信号
５１  データ線（Ｄａｔａ）
１００  第１集積回路
１０１  論理回路
１０２、１０４、１２３  データ線
１０３  データバッファ
１０５  第２集積回路
１０６  ハンドシェイク回路
１０７  書込制御回路
１０８  読出制御回路
１０９  書込信号
１１０  書込要求信号
１１４、２１１ バッファ転送要求信号
１１５  ＤＭＡＲＱ発生回路
１１６  読出ポインタ信号
１１７  転送要求信号（ＤＭＡＲＱ）
１１８  転送ＨＯＬＤ信号
１１９  転送クロック（ＮＩＯＲＤ）
１２０  読出信号
１２１  ＤＭＡカウンタ
１２２  転送完了信号
１２４  読出選択回路
２００  第２集積回路
２０１、２０４、２２２  データ線
２０２  第１集積回路
２０３  データバッファ
２０５  論理回路
２０６  ハンドシェイク回路
２０７  書込制御回路
２０８  読出制御回路
２０９  ＤＭＡカウンタ
２１０  書込許可信号
２１２  ＤＭＡＲＱ発生回路
２１３  書込ポインタ信号
２１４  転送要求信号（ＤＭＡＲＱ）
２１５  転送クロック（ＮＩＯＷＲ）
２１６  書込信号
２１７  転送スタート信号
２１８  Ｄａｔａ  Ｆｕｌｌ信号
２１９  読出要求信号
２２０、２２１  読出信号
【図１】
0003666580.tif 000002
【図２】
0003666580.tif 000003
【図３】
0003666580.tif 000004
【図４】
0003666580.tif 000005
【図５】
0003666580.tif 000006
【図６】
0003666580.tif 000007
【図７】
0003666580.tif 000008
【図８】
0003666580.tif 000009
【図９】
0003666580.tif 000010
【図１０】
0003666580.tif 000011
【図１１】
0003666580.tif 000012