JP3666580B2 - DMA transfer control device - Google Patents

DMA transfer control device Download PDF

Info

Publication number
JP3666580B2
JP3666580B2 JP2000335361A JP2000335361A JP3666580B2 JP 3666580 B2 JP3666580 B2 JP 3666580B2 JP 2000335361 A JP2000335361 A JP 2000335361A JP 2000335361 A JP2000335361 A JP 2000335361A JP 3666580 B2 JP3666580 B2 JP 3666580B2
Authority
JP
Japan
Prior art keywords
data
transfer
write
circuit
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000335361A
Other languages
Japanese (ja)
Other versions
JP2002140285A (en
Inventor
史郎 野崎
由弘 田平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2000335361A priority Critical patent/JP3666580B2/en
Publication of JP2002140285A publication Critical patent/JP2002140285A/en
Application granted granted Critical
Publication of JP3666580B2 publication Critical patent/JP3666580B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明はダイレクトメモリアクセス(Direct Memory Access、以下単に「DMA」とする。)転送制御装置に関し、特にデータ転送要求信号、及びWrite/Readクロック信号を用いたDMA転送制御装置に関するものである。
【0002】
【従来の技術】
DMAは入出力装置とメモリ、またはメモリどうしなどのデータの受け渡しをCPUを介することなく、高速に直接やり取りを行う方法である。この方法に従えば、大量のデータを転送する時に、一括して処理を行うことができるので、CPUを介するよりもデータの転送速度を向上させることができる。またその間に、CPUに他の作業を行わせることにより、全体として効率よく作業を行うことができる。
【0003】
図5は従来のDMA転送制御装置を使用したインターフェイスの構成例を示す図である。
図5において、第1機器1及び第2機器2は、IEEE1394などで規格化された外部バス3により接続されたものである。また、第1機器1は、第1集積回路4及び第2集積回路5により構成されており、第1集積回路4と第2集積回路5とは、データの転送を要求する転送要求信号(DMARQ)6と、データを読み出す際の転送クロック信号(NIORD)7と、データを書き込む際の転送クロック信号(NIOWR)8と、nビットのデータの送受信を行うデータ線(Data)9とにより構成されたDMAインターフェイスにより接続されている。
【0004】
ここで、第1集積回路4から第2集積回路5へのデータの転送をDMAインターフェイスにおけるRead動作といい、第2集積回路5から第1集積回路4へのデータの転送をDMAインターフェイスにおけるWrite動作という。
【0005】
次に、Read動作とWrite動作について説明する。
図6は3Wordのデータ転送を例にしたRead動作のタイミングを説明するための図であり、図7は3Wordのデータ転送を例にしたWrite動作のタイミングを説明するための図である。
【0006】
まず、図6を用いて、Read動作のタイミングについて説明を行う。
時刻t0において、第1集積回路4はDMARQ6をアサート(信号の立ち上げ)することにより、データの転送開始を知らせる。時刻t1において、第2集積回路5はデータの転送開始を認識し、NIORD7を「L」に変化させる。このとき第1集積回路4はNIORD7の「L」への変化と同期して、データ「W00」を出力する。時刻t2において、第2集積回路5はNIORD7を「H」に変化させるとともに、データ「W00」を取り込む。よって、上述した動作により、第1集積回路4から第2集積回路5へ1Wordのデータの転送が行われる。
【0007】
時刻t3において、第1集積回路4は最後のデータ「W02」を出力した後に、時刻t4において、第1集積回路4はDMARQ6をネゲート(信号の立ち下げ)し、データの転送完了を知らせる。時刻t5において、第2集積回路5はデータの転送完了を認識し、NIORD7を「H」に変化させた時点で、データの転送が完了する。
【0008】
ここで、第1集積回路4はデータ「W」の出力を、第2集積回路5でNIORD7を「L」へ変化させるのと同期して行う。そこで、第1集積回路4はデータの転送完了を知らせるために、DMARQ6のネゲートを、時刻t3から時刻t5の期間、すなわちNIORD7が「L」に変化されている期間に行われなければならない。
【0009】
次に、図7を用いて、Write動作のタイミングについて説明を行う。
時刻t6において、第1集積回路4はDMARQ6をアサートすることにより、データの転送開始を知らせる。時刻t7において、第2集積回路5はデータの転送開始を認識し、NIOWR8を「L」に変化させるとともに、データ「W10」を出力する。時刻t8において、第2集積回路5はNIOWR8を「H」に変化させる。このとき第1集積回路4はNIOWR8の「H」への変化と同期して、データ「W10」を取り込む。よって、上述した動作により、第2集積回路5から第1集積回路4へ1Wordのデータの転送が行われる。
【0010】
時刻t9において、第2集積回路5はNIOWR8を「L」に変化させるとともに、最後のデータ「W12」を出力する。そして、第1集積回路4はNIOWR8が「L」に変化したのを認識して、時刻t10において、DMARQ6をネゲートし、データの転送完了を知らせる。時刻t11において、第2集積回路5はデータの転送完了を認識し、NIOWR8を「H」に変化させた時点で、データの転送が完了する。
【0011】
ここで、第1集積回路4はデータ「W」の取り込みを、第2集積回路5でNIOWR8を「H」へ変化させるのと同期して行う。そこで、第1集積回路4はデータの転送完了を知らせるために、DMARQ6のネゲートを、時刻t9から時刻t11の期間、すなわちNIOWR8が「L」に変化されている期間に行われなければならない。
【0012】
ところが、一般に第1集積回路4と第2集積回路5とはそれぞれのシステムクロック周波数が異なる場合が多い。そこで、図5における従来のDMA転送制御装置を構成する場合には、システムクロック周波数に同期しないNIORD7、NIOWR8によって動作する回路が必要となる。そこで、図8及び図10に示すような、第1集積回路4内にDMAを制御する制御回路が必要となる。
【0013】
図8は、バースト転送方式を採用したDMAインターフェイスの回路構成図である。
図8において、第1集積回路10は、論理回路20とDMAカウンタ22とから構成される。論理回路20はnビットのデータを管理し、データの転送を停止させる転送HOLD信号29と、データの転送を開始させる転送スタート信号28とを出力する。DMAカウンタ22はデータの転送量を設定するカウンタを有し、転送HOLD信号29と転送スタート信号28とを入力し、第2集積回路11に転送要求信号(DMARQ)27を送信するとともに、第2集積回路11から転送クロック信号(NIORD24、NIOWR25)を受信する。また、論理回路20とDMAカウンタ22とはクロック23によって動作する。
【0014】
次に上述したバースト転送方式DMAインターフェイスの動作について図9を用いて説明する。
図9は、バースト転送方式DMAインターフェイスのRead動作及びWrite動作のタイミングを説明するための図である。
【0015】
時刻t20において、論理回路20は転送スタート信号28を「H」に変化させる。時刻t21において、DMAカウンタ22は論理回路20から転送スタート信号28を入力し、カウンタの値を初期化するとともに、DMARQ27をアサートすることにより、データの転送開始を知らせる。時刻t22において、第2集積回路11はデータの転送開始を認識し、NIORD24もしくはNIOWR25を「L」に変化させる。このとき、NIORD24が「L」に変化されたならば、第1集積回路10はNIORD24の「L」への変化と同期して、Data26を出力し、第2集積回路11はnビットのデータを取り込む。一方、NIOWR25が「L」に変化されたならば、第2集積回路11はData26を出力し、第1集積回路10はnビットのデータを取り込む。よって、上述した動作によりデータの転送が行われる。また、DMAカウンタ22は、NIORD24もしくはNIOWR25が「L」に変化されたことを検知してカウンタの値を更新するが、この動作はクロック23に同期して行われる。
【0016】
一方、論理回路20において、データの転送ができなくなったとき、論理回路20は転送HOLD信号29を出力する。例えば時刻t23において、論理回路20は転送HOLD信号29を「H」に変化させると、時刻t24において、DMAカウンタ22はDMARQ27をネゲートする。よって、この時点でデータの転送は停止される。そして、時刻t25において、論理回路20は転送HOLD信号29を「L」に変化させると、同時刻において、DMAカウンタ22はDMARQ27を再びアサートさせて、データの転送を開始する。
【0017】
時刻t26において、カウンタの値が「0」になると、時刻t27において、DMAカウンタ22はDMARQ27をネゲートし、データの転送完了を知らせる。時刻t28において、第2集積回路5はデータの転送完了を認識し、NIORD24もしくはNIOWR25を「H」に変化させる。以上の動作でデータの転送が完了する。
【0018】
図10は、ハンドシェイク方式を採用したDMAインターフェイスの回路構成図である。
図10において、第1集積回路30は、論理回路40とDMARQ発生回路41とDMAカウンタ42とから構成される。論理回路40はnビットのデータを管理し、データの転送を停止させる転送HOLD信号50と、データの転送を開始させる転送スタート信号46とを出力する。DMARQ発生回路41は第2集積回路31に転送要求信号(DMARQ)48を送信するとともに、第2集積回路31から転送クロック信号(NIORD44、NIOWR45)を受信し、DMAカウンタ42のカウンタの値を更新するクロック検知信号49を出力する。DMAカウンタ42はデータの転送量を設定するカウンタを有し、論理回路40から転送HOLD信号50と、転送スタート信号46とを入力し、カウンタの値が更新されたことを知らせるカウンタ更新信号47をDMARQ発生回路41に出力する。また、論理回路40とDMARQ発生回路41とDMAカウンタ42とはクロック43によって動作する。
【0019】
次に上述したハンドシェイク方式DMAインターフェイスの動作について図11を用いて説明する。
図11は、ハンドシェイク方式DMAインターフェイスのRead動作及びWrite動作のタイミングを説明するための図である。
時刻t40において、論理回路40は転送スタート信号46を「H」に変化させる。時刻t41において、DMAカウンタ22は論理回路40から転送スタート信号46を入力し、カウンタの値を初期化するとともに、カウンタ更新信号47を「H」に変化させて、DMARQ発生回路41に出力する。そして、同時刻において、DMARQ発生回路41はDMARQをアサートすることにより、データの転送開始を知らせる。時刻t42において、第2集積回路31はデータの転送開始を認識し、NIORD44もしくはNIOWR45を「L」に変化させる。このとき、NIORD44が「L」に変化されたならば、第1集積回路30はNIORD44の「L」への変化と同期して、Data51を出力し、第2集積回路31はnビットのデータを取り込む。一方、NIOWR45が「L」に変化されたならば、第2集積回路31はData51を出力し、第1集積回路30はnビットのデータを取り込む。よって、上述した動作によりデータの転送が行われる。
【0020】
続いて、論理回路40において、データの転送ができなくなったとき、DMARQ発生回路41はNIORD44もしくはNIOWR45が「L」に変化されたことを検知して、時刻t43において、DMARQ48をネゲートする。よって、この時点でデータの転送は停止される。そして、時刻t44において、第2集積回路31はDMARQ48がネゲートされたことを認識して、NIORD44もしくはNIOWR45を「H」に変化させる。
【0021】
また、DMARQ発生回路41は、時刻t42でNIORD44もしくはNIOWR45が「L」に変化されたことを検知して、時刻t45において、クロック検知信号49を出力する。これにより、DMAカウンタ42はカウンタの値を更新する。また、このときに論理回路40から転送HOLD信号50が出力されなければ、時刻t46において、DMARQ発生回路41はDMARQ48を再びアサートし、データの転送を再開させる。
【0022】
【発明が解決しようとする課題】
しかしながら、バースト転送方式によるDMAインターフェイス回路は、NIORD24もしくはNIOWR25が「L」に変化することでカウンタの値を更新し、カウンタの値が「0」になったときにDMARQ27をネゲートする。そのため、DMAカウンタ22はNIORD24もしくはNIOWR25が「L」に変化されている期間にDMARQ27をネゲートするならば、クロック周波数はNIORD24もしくはNIOWR25の2倍以上でなければならない。ところが、第1集積回路10及び第2集積回路11のデータ転送性能を向上させるために、NIORD24もしくはNIOWR25の周波数を上げていくと、第1集積回路10を制御するクロック23の周波数は、NIORD24もしくはNIOWR25の2倍の速度で周波数で上がっていくため、非常に高速なクロックで動作する回路設計が必要となり、半導体設計のうえで大きな障害となるという問題点があった。
【0023】
また、ハンドシェイク方式によるDMAインターフェイス回路は、DMARQ48がクロック43と無関係にネゲートされるため、上述したバースト転送方式と異なって、NIORD44もしくはNIOWR45の動作はクロック43の周波数とは無関係に動作するので、半導体の設計上は有利である。しかし、DMARQ48がネゲートされ、再びアサートされるまでに、内部の処理が完了(時刻t44から時刻t46までの動作)していなければならないので、第1集積回路30の処理時間のオーバーヘッドにより、転送性能が大きく劣化してしまうという問題点があった。
【0024】
本発明は、かかる問題点を解消するためになされたものであり、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によりデータの転送を高速に、かつ効率よく行うことができるDMA転送制御装置を提供することを目的とする。
【0025】
【課題を解決するための手段】
本発明に係るDMA転送装置は、集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、該DMA転送制御装置のデータを送信する集積回路は、上記DMA転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データを書きこむ書込クロック信号に基づいてカウントを行なうDMAカウンタと、上記書込クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記書込要求信号を出力する書込制御回路と、上記DMA転送制御装置のデータを受信する集積回路より、データの読み出しを要求する読出転送クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路にデータの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、上記DMA転送制御装置のデータを受信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路とを含むものである。
【0026】
また、本発明に係るDMA転送制御装置は、集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、該DMA転送制御装置のデータを受信する集積回路は、上記DMA転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うDMAカウンタと、上記DMA転送制御装置のデータを送信する集積回路より、データの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタから出力される信号に応じた上記バッファメモリ及びハンドシェイク回路にデータの書き込みを要求する書込要求信号を出力する書込制御回路と、上記読出クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタから出力される信号に応じた上記ハンドシェイク回路に、上記データの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記書込ポインタから出力される信号に基づいて、上記DMA転送制御装置のデータを送信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路とを含むものである。
【0027】
また、本発明に係るDMA転送制御装置は、集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、該DMA転送制御装置のデータを送受信する集積回路は、上記DMA転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、他方の集積回路からデータを読み出す際には、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、あるいは他方の集積回路からデータを書き込む際には、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、他方の集積回路からデータを読み出す際には、データを書きこむ書込クロック信号に基づいてカウントを行い、他方の集積回路からデータを書き込む際には、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うDMAカウンタと、他方の集積回路からデータを読み出す際には、該他方の集積回路からデータの読み出しを要求する読出転送クロック信号が入力されるとカウント行い、他方の集積回路からデータを書き込む際には、上記読出クロックが入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路に、データの読み出しを要求する読出要求信号を出力する読出制御回路と、他方の集積回路からデータを読み出す際には、上記書込クロックが入力されるとカウントを行い、他方の集積回路からデータを書き込む際には、該他方の集積回路からデータの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記データの書き込みを要求する書込要求信号を出力する書込制御回路と、他方の集積回路からデータを読み出す際には、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、他方の集積回路からデータを書き込む際には、上記書込ポインタの値に基づいて、上記他方の集積回路にデータの転送を要求する転送要求信号を出力する転送要求信号発生回路とを含むものである。
【0028】
また、本発明に係るDMA転送制御装置は、請求項1ないし請求項3のいずれかに記載のDMA転送制御装置において、上記バッファメモリは、該バッファメモリと並列して設けられた上記ハンドシェイク回路の処理時間に対応したメモリサイズを有するものである。
【0029】
また、本発明に係るDMA転送制御装置は、請求項または請求項に記載のDMA転送制御装置において、上記DMAカウンタは、予めデータの転送量が設定されており、他の集積回路よりデータを書き込む際、上記複数のハンドシェイク回路のうち、該データの転送量に応じた数のハンドシェイク回路を同時に起動するものである。
【0030】
【発明の実施の形態】
実施の形態1.
本実施の形態1のDMA転送制御装置は、第1集積回路から第2集積回路へデータの読み出しを行うRead動作について説明を行うものである。
図1は本発明の実施の形態1によるRead動作のDMA転送制御装置の回路構成図である。
図1において、第1集積回路100は論理回路101と、DMAカウンタ121と、書込制御回路107と、読出制御回路108と、読出選択回路124と、DMARQ発生回路115と、8個のデータバッファ103a〜103hと、8個のハンドシェイク回路106a〜106hとを有している。
【0031】
以下、各回路について詳細に説明を行う。
論理回路101は8ビットのデータを管理し、データの転送を停止させる転送HOLD信号(Full)118を入力し、データの書き込みを行う書込信号(WE)109を書込制御回路107及びDMAカウンタ121に出力する。DMAカウンタ121はデータの転送量を設定するカウンタを有し、書込信号109を入力するとともに、データの転送が完了したときに転送完了信号122を論理回路101に出力する。書込制御回路107は書込ポインタを有し、論理回路101から書込信号109が入力されたならば、書込ポインタの値を加算し、書込ポインタの値に応じて書込要求信号110a〜110hのいずれかを選択してデータバッファ103a〜103h及びハンドシェイク回路106a〜106hのいずれかに出力する。読出制御回路108は読出ポインタを有し、第2集積回路105からデータを読み出す際の転送クロック信号(NIORD)119を受信したならば、読出ポインタの値を加算して読出ポインタ信号116をDMARQ発生回路115に出力し、読出ポインタの値に応じて読出信号120a〜120hのいずれかを選択してハンドシェイク回路106a〜106hのいずれかに出力する。例えば、読出ポインタが0から1に変化したならば、読出信号120aを出力し、読出ポインタが1から2に変化したならば読出信号120bを出力し、以後同様に読出ポインタの変化に応じて読出信号120c〜120gを出力し、読出ポインタが7から0に変化したならば読出信号120hを出力する。読出選択回路124は書込制御回路107で選択された書込要求信号110a〜110hによって、データバッファ103a〜103hのいずれかに入力された8ビットデータを第2集積回路105にデータ線104により出力する。DMARQ発生回路115は、読出制御回路108から出力される読出ポインタ信号116に応じて、バッファ転送要求信号114a〜114hのいずれかを選択して、第2集積回路105にデータの転送を要求する転送要求信号(DMARQ)117を送信するとともに、バッファ転送要求信号114a〜114hのすべてが入力されたならば、データバッファ103a〜103hにデータの書き込みを停止させるため、転送HOLD信号118を論理回路101に出力する。8個のデータバッファ103a〜103hは、8個のハンドシェイク回路106a〜106hと、書込制御回路107と、読出制御回路108とにより制御され、書込制御回路107により選択された書込要求信号110a〜110hをW端子に入力し、書込要求信号110が入力されたデータバッファ103は、論理回路101から8ビットデータのデータ線102を入力し、入力された8ビットデータをデータバッファ103のQ端子から読出選択回路124にデータ線123を出力する。8個のハンドシェイク回路106a〜106hは書込制御回路107から出力される書込要求信号110a〜110h、あるいは読出制御回路108から出力される読出信号120a〜120hのいずれかを入力し、入力された信号に応じてデータの転送を要求するバッファ転送要求信号114a〜114hをDMARQ発生回路115に出力する。具体的には、ハンドシェイク回路106a〜106hのW入力端子に書込要求信号110a〜110hが入力されたならば、F出力端子より信号を「H」に変化させるバッファ転送要求信号114a〜114hを出力し、一方、ハンドシェイク回路106a〜106hのR入力端子に読出信号120a〜120hが入力されたならば、F出力端子より信号を「L」に変化させるバッファ転送要求信号114a〜114hを出力する。
【0032】
次に、上述したDMA転送制御装置のRead動作のタイミングについて説明を行う。
図2は本発明の実施の形態1によるDMA転送制御装置のRead動作のタイミングを説明するための図である。
時刻t101において、論理回路101は書込信号109を「H」に変化させると、書込制御回路107は論理回路101から書込信号109を入力し、書込要求信号110aをデータバッファ103aに出力する。このとき、書込制御回路107の書込ポインタの値が加算される。そして、データバッファ103aは書込要求信号110aをW端子に入力し、D端子よりデータ線102が入力されてデータが書き込まれる。そして、書き込みが行われたデータは、データバッファ103aのQ端子よりデータ線123aを出力し、読出選択回路124を介して、データ線104より第2集積回路105に送信される。また、書込要求信号110aはデータバッファ103aのW端子に入力されるとともに、ハンドシェイク回路106aのW入力端子に入力され、時刻t102において、ハンドシェイク回路106aはF出力端子のバッファ転送要求信号114aを「H」に変化させる。同時刻において、DMARQ発生回路115はハンドシェイク回路106aからバッファ転送要求信号114aを入力し、DMARQ117をアサートする。また、DMAカウンタ121は論理回路101から書込信号109を入力し、カウンタの値を更新する。
【0033】
同様に時刻t103において、論理回路101は書込信号109を「H」に変化させると、書込制御回路107は論理回路101から書込信号109を入力し、書込ポインタの値を1つ加算して、書込要求信号110bを出力する。そして、データバッファ103bは書込要求信号110bをW端子に入力するとともに、データ線102をD端子に入力しデータが書き込まれる。そして、書き込みが行われたデータは、データバッファ103bのQ端子よりデータ線123bを出力し、読出選択回路124を介して、データ線104より第2集積回路105に送信される。また、書込要求信号110bはデータバッファ103bのW端子に入力されるとともに、ハンドシェイク回路106bのW入力端子に入力され、時刻t104において、ハンドシェイク回路106bはF出力端子のバッファ転送要求信号114bを「H」に変化させる。
【0034】
ここで、第2集積回路105からNIORD119が読出制御回路108に送信されなければ、ハンドシェイク回路106a〜106hは書込信号109の入力により、F出力端子のバッファ転送要求信号114a〜114hを順次「H」に変化させる。そして、時刻t105において、バッファ転送要求信号114a〜114hは、すべて「H」に変化される。同時刻において、DMARQ発生回路115は、バッファ転送要求信号114a〜114hをすべて入力したので、データの転送を停止させるために転送HOLD信号118を「H」に変化させる。そして、論理回路101は、転送HOLD信号118が「H」に変化したことを認識して、書込信号109を「L」に変化させて、データの転送を停止させる。
【0035】
読出制御回路108の読出ポインタは初期状態で「0」であるため、読出制御回路108にNIORD119が受信されなければ、読出ポインタ信号116はDMARQ発生回路115において、常にバッファ転送要求信号114aを選択する信号を出力する。つまり、時刻t101〜t106において、DMARQ発生回路115は、常にバッファ転送要求信号114aを選択してDMARQ117を第2集積回路105に送信する。
【0036】
時刻t106において、NIORD119が「L」に変化すると、読出制御回路108は読出ポインタを「0」から「1」に変化させるとともに、バッファ転送要求信号114bを選択する読出ポインタ信号116をDMARQ発生回路115に出力する。そして、DMARQ発生回路115は、読出ポインタ信号116を入力することにより、バッファ転送要求信号114bを選択してDMARQ117を第2集積回路105に送信する。また、このときバッファ転送要求信号114bは信号を「H」に保持しているので、DMARQ117も信号を「H」に保持する。また、読出ポインタの値は、NIORDが「L」に変化するのと同期して変化し、読出制御回路108は、読出ポインタの値に応じて読出信号120a〜120hを選択し、ハンドシェイク回路106a〜106hに出力する。
【0037】
読出制御回路108は、読出ポインタが「0」から「1」に変化したことを検知して、時刻t107において、読出信号120aを出力する。時刻t108において、ハンドシェイク回路106aは読出制御回路108から読出信号120aをR入力端子に入力し、F出力端子のバッファ転送要求信号114aを「L」に変化させる。DMARQ発生回路115はハンドシェイク回路106aからバッファ転送要求信号114aを入力し、データの転送を再開させるために転送HOLD信号118を「L」に変化させる。そして、論理回路101は、転送HOLD信号118を入力し、時刻t110において書込信号109を「H」に変化させて、データの転送を再開する。以後、順次データの転送が行われる。
【0038】
時刻t111において、DMAカウンタ121のカウンタの値が「0」になると、DMAカウンタ121は転送完了信号122を「H」に変化させる。そして論理回路101は、DMAカウンタ121から転送完了信号122を入力し、書込信号109を「L」に変化させる。よって、書込制御回路107は論理回路101から書込信号109が出力されないため、ハンドシェイク回路106a〜106hは、W入力端子に書込要求信号110a〜110hを入力することができない。つまり、ハンドシェイク回路106a〜106hは、NIORD119が「L」に変化する毎に、R入力端子から読出信号120a〜120hを順次入力し、F出力端子はバッファ転送要求信号114a〜114hを、順次「L」に変化させる。
【0039】
時刻t112において、読出ポインタが「0」を示し、NIORD119が「L」に変化すると、本来、DMARQ発生回路115は、読出ポインタ信号116の入力によってバッファ転送要求信号114aを選択して、DMARQ117を出力する。しかし、時刻t112において、バッファ転送要求信号114aは「L」であるので、DMARQ発生回路115は、DMARQ117をネゲートし、データの転送完了を知らせる。続いて、第2集積回路105はデータの転送完了を認識し、NIORD119を「H」に変化させて、データの転送を完了させる。
【0040】
このように、本実施の形態1によるDMA転送制御装置によれば、DMARQ117のアサートはDMAカウンタ121のカウンタに同期して行われるが、DMARQ117のネゲートはNIORD119が「L」に変化することにより行われるので、内部クロックの周期に左右されることなくデータの転送を行うことができる。
【0041】
また、集積回路内に複数のバッファメモリ103a〜103hと、そのバッファメモリ103a〜103hの容量に応じた複数のハンドシェイク回路106a〜106hとを並列させて備えたので、ハンドシェイク回路106a〜106hで、集積回路内のクロック周波数の差を吸収することができ、データの連続転送を実現することができる。
【0042】
つまり、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【0043】
実施の形態2.
本実施の形態2のDMA転送制御装置は、第2集積回路から第1集積回路へデータの書き込みを行うWrite動作について説明を行うものである。
図3は本発明の実施の形態2によるWrite動作のDMA転送制御装置の回路構成図である。
【0044】
図3において、第1集積回路202は論理回路205と、DMAカウンタ209と、読出制御回路208と、書込制御回路207と、DMARQ発生回路212と、8個のデータバッファ203a〜203hと、8個のハンドシェイク回路206a〜206hとを有している。
【0045】
以下、各回路について詳細に説明を行う。
論理回路205は8ビットのデータを管理し、データの読み出しを要求する読出要求信号(Rdy)219を入力し、データの読み出しを行う読出信号(RE)220を読出制御回路208及びDMAカウンタ209に出力し、データ転送の開始を知らせる転送スタート信号217をDMAカウンタ209及び書込制御回路207に出力する。DMAカウンタ209はデータの転送量を設定するカウンタを有し、読出信号220と、転送スタート信号217とを入力して、設定されたデータの転送量に応じて、書込許可信号(Flag)210a〜210hのいずれかを出力する。例えば、DMAカウンタ209に設定されたデータの転送量が8wordであれば、書込許可信号210a〜210hのすべてが出力されるが、データの転送量が1wordであれば、書込許可信号210aのみが出力される。読出制御回路208は読出ポインタを有し、論理回路205から読出信号220が入力されたならば、読出ポインタに応じて読出信号221a〜221hのいずれかをハンドシェイク回路206a〜206hに出力するとともに、データバッファ203a〜203hから8ビットデータをデータ線222a〜222hのいずれかを選択して入力し、選択された8ビットデータをデータ線204を通じて論理回路205に出力して読出ポインタを加算する。書込制御回路207は書込ポインタを有し、第2集積回路200からデータを書き込む際の転送クロック信号(NIOWR)215を受信したならば、書込ポインタの値を加算して書込ポインタ信号213をDMARQ発生回路212に出力し、また、書込ポインタの値に応じて書込信号216a〜216hをデータバッファ203a〜203h及びハンドシェイク回路206a〜206hのいずれかに出力する。DMARQ発生回路212は書込制御回路207から出力される書込ポインタ信号213に応じて、バッファ転送要求信号211a〜211hのいずれかを選択して、第2集積回路200にデータの転送を要求する転送要求信号(DMARQ)214を出力する。8個のデータバッファ203a〜203hは、8個のハンドシェイク回路206a〜206hと、書込制御回路207と、読出制御回路208と、DMAカウンタ209とにより制御され、書込制御回路207により選択された書込信号216a〜216hをW端子に入力し、選択された書込信号216が入力されたデータバッファ203は、第2集積回路200から8ビットデータをデータ線201を通じて受信し、読出制御回路208にデータ線222を出力する。8個のハンドシェイク回路206a〜206hは、読出制御回路208により選択された読出信号221に応じて、DMAカウンタ209から出力される書込許可信号210を入力し、DMARQ発生回路212にバッファ転送要求信号211を出力するとともに、書込制御回路207から出力される書込信号216a〜216hのいずれかを入力して、Data full信号218a〜218hのいずれかを読出制御回路208に出力する。
【0046】
次に、上述したDMA転送制御装置のWrite動作のタイミングについて、DMAカウンタ209で設定されるデータの転送量をn word>8wordとして説明を行う。
【0047】
図4は本発明の実施の形態2によるDMA転送制御装置のWrite動作のタイミングを説明するための図である。
時刻t200において、論理回路205は転送スタート信号217を「H」に変化させると、書込制御回路207は論理回路205から転送スタート信号217を入力し、書込ポインタをリセットして、書込ポインタ「0」を示す書込ポインタ信号213をDMARQ発生回路212に出力する。時刻t201において、DMAカウンタ209は書込許可信号210a〜210hを「H」に変化させ、ハンドシェイク回路206a〜206hはDMAカウンタ209から書込許可信号210a〜210hを入力する。時刻t202において、ハンドシェイク回路206a〜206hは、バッファ転送要求信号211a〜211hを「H」に変化させ、DMARQ発生回路212はハンドシェイク回路206a〜206hからバッファ転送要求信号211a〜211hを入力する。
【0048】
DMARQ発生回路212は、書込ポインタ信号213の入力に応じてバッファ転送要求信号211a〜211hのいずれかを選択して、第2集積回路200にDMARQ214を出力する。この場合、時刻t202において、書込ポインタは「0」を示しているので、DMARQ発生回路212は、バッファ転送要求信号211aを選択して入力し、DMARQ214をアサートする。
【0049】
第2集積回路200はDMARQ発生回路212からDMARQ214を受信し、時刻t203において、NIOWR215を「L」に変化させるとともに、8ビットデータのデータ線201をデータバッファ203a〜203hに送信する。また、同時刻において、書込制御回路207の書込ポインタは「1」を示すので、書込制御回路207は書込信号216aを選択してデータバッファ203a及びハンドシェイク回路206aに出力し、データバッファ203aは第2集積回路200から送信されたデータ線201を入力しデータを書き込む。また、時刻t204において、ハンドシェイク回路206aは、バッファ転送要求信号211aを「L」に変化させるとともに、Data Full信号218aを「H」に変化させる。
【0050】
同様に、時刻t205において、第2集積回路200はNIOWR215を「L」に変化させるとともに、8ビットデータのデータ線201をデータバッファ203a〜203hに送信する。また、同時刻において、書込制御回路207の書込ポインタは「2」を示すので、書込制御回路207は書込信号216bを選択してデータバッファ203b及びハンドシェイク回路206bに出力し、データバッファ203bは第2集積回路200から送信されたデータ線201を入力しデータを書き込む。また、時刻t206において、ハンドシェイク回路206bは、バッファ転送要求信号211bを「L」に変化させるとともに、Data Full信号218bを「H」に変化させる。
【0051】
続いて、上述した動作以降、第2集積回路200のNIOWR215が「L」に変化する毎に、順次、データバッファ203c〜203hに第2集積回路200から8ビットデータがデータ線201により書き込まれる。また、それぞれ同時刻において、書込制御回路207の書込ポインタが順次加算されるので、書込制御回路207は書込ポインタの値に応じて、書込信号216c〜216hをデータバッファ203c〜203h及びハンドシェイク回路206c〜206hに出力する。そして、ハンドシェイク回路206c〜206hは、順次、バッファ転送要求信号211c〜211hを「L」に変化させるとともに、Data Full信号218c〜218hを「H」に変化させる。
【0052】
時刻t207において、書込ポインタが「0」を示したとき、DMARQ発生回路212は、本来ならば、バッファ転送要求信号211aを選択して、第2集積回路200にDMARQ214を出力するが、このときバッファ転送要求信号211aは「L」に変化されているので、DMARQ発生回路212はDMARQ214はネゲートさせる。
【0053】
読出制御回路208は、ハンドシェイク回路206a〜206hから出力されるData Full信号218a〜218hの論理和をとって読出要求信号219を論理回路205に出力する。しかしながら、時刻t207までに論理回路205から読出信号220を出力しなければ、DMAカウンタ209は書込許可信号210a〜210hを出力することができないので、この時点で第2集積回路200はデータの転送を一時停止する。
【0054】
時刻t208において、論理回路205は読出信号220を「H」に変化させると、DMAカウンタ209は、論理回路205から読出信号220を入力し、カウンタの値を更新するとともに、時刻t209において、書込許可信号210aを「H」に変化させる。そしてハンドシェイク回路206aは、時刻t210においてバッファ転送要求信号211aを「H」に変化させるが、このとき書込制御回路207の書込ポインタは「0」を示しているので、DMARQ発生回路212は、バッファ転送要求信号211aを選択して入力し、DMARQ214をアサートする。
【0055】
一方、時刻t208において、論理回路205から読出信号220が出力されると、このとき、読出ポインタは「0」を示しているので、読出制御回路208は、読出信号221aを選択して出力し、ハンドシェイク回路206aのData Full信号218aを「L」に変化させる。また、読出制御回路208は、データバッファ203aからデータ線222aを選択して入力し、データ線204を論理回路205に出力する。
【0056】
時刻t211において、DMAカウンタ209のカウンタの値が7word以下になると、それ以後、DMAカウンタ209は書込許可信号210a〜210hを出力しない。つまり、ハンドシェイク回路206a〜206hは時刻t211以降、書込信号216a〜216hを入力することにより、順次、バッファ転送要求信号211a〜211hを「L」に変化させる。
【0057】
時刻t212において、第2集積回路200はNIOWR215を「L」に変化させることにより、書込制御回路207の書込ポインタは「0」を示す。そして、DMARQ発生回路212は、本来ならば、書込ポインタが「0」であるのでバッファ転送要求信号211aを選択し、第2集積回路200にDMARQ214を出力するが、このときバッファ転送要求信号211aは「L」に変化されているので、DMARQ214はネゲートし、データの転送完了を知らせる。そして、時刻t213において、第2集積回路200はデータの転送完了を認識し、NIOWR215を「H」に変化させて、データの転送を完了させる。
【0058】
なお、この時点で、データバッファ203a〜203hはデータの読み出しを完了していないため、読出制御回路208は読出要求信号219を「H」の状態に保持する。論理回路205は読出信号220を出力して、データバッファ203a〜203hからデータの読み出しを行う。
【0059】
続いて、図示しないが、データバッファ203a〜203hのデータの読み出しが完了すると、ハンドシェイク回路206a〜206hのData Full信号218a〜218hはすべて「L」に変化される。そして、読出制御回路208は読出要求信号219を「L」に変化させて、論理回路205は読み出し動作を完了する。
【0060】
このように、本実施の形態2によるDMA転送制御装置によれば、DMARQ214のアサートはDMAカウンタ209のカウンタに同期して行われるが、DMARQ214のネゲートはNIOWR215が「L」に変化することにより行われるので、内部クロックの周期に左右されることなくデータの転送を行うことができる。
【0061】
また、集積回路内に複数のバッファメモリと、そのバッファメモリの容量に応じた複数のハンドシェイク回路とを並列させて備えたので、ハンドシェイク回路で、集積回路内のクロック周波数の差を吸収することができ、データの連続転送を実現することができる。
【0062】
つまり、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【0063】
【発明の効果】
以上のように、本発明の請求項1に記載のDMA転送制御装置によれば、集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、該DMA転送制御装置のデータを送信する集積回路は、上記DMA転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データを書きこむ書込クロック信号に基づいてカウントを行なうDMAカウンタと、上記書込クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記書込要求信号を出力する書込制御回路と、上記DMA転送制御装置のデータを受信する集積回路より、データの読み出しを要求する読出転送クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路にデータの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、上記DMA転送制御装置のデータを受信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路とを含むようにしたので、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【0064】
また、本発明の請求項2に記載のDMA転送制御装置によれば、集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、該DMA転送制御装置のデータを受信する集積回路は、上記DMA転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うDMAカウンタと、上記DMA転送制御装置のデータを送信する集積回路より、データの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタから出力される信号に応じた上記バッファメモリ及びハンドシェイク回路にデータの書き込みを要求する書込要求信号を出力する書込制御回路と、上記読出クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタから出力される信号に応じた上記ハンドシェイク回路に、上記データの読み出しを要求する読出要求信号を出力する読出制御回路と、上記バッファメモリデータ転送要求信号と、上記書込ポインタから出力される信号に基づいて、上記DMA転送制御装置のデータを送信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路とを含むようにしたので、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【0065】
また、本発明の請求項3に記載のDMA転送制御装置によれば、集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、該DMA転送制御装置のデータを送受信する集積回路は、上記DMA転送のデータを蓄積する複数のバッファメモリと、上記複数のバッファメモリ各々と並列して設け、他方の集積回路からデータを読み出す際には、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、あるいは他方の集積回路からデータを書き込む際には、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、他方の集積回路からデータを読み出す際には、データを書きこむ書込クロック信号に基づいてカウントを行い、他方の集積回路からデータを書き込む際には、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うDMAカウンタと、他方の集積回路からデータを読み出す際には、該他方の集積回路からデータの読み出しを要求する読出転送クロック信号が入力されるとカウント行い、他方の集積回路からデータを書き込む際には、上記読出クロックが入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路に、データの読み出しを要求する読出要求信号を出力する読出制御回路と、他方の集積回路からデータを読み出す際には、上記書込クロックが入力されるとカウントを行い、他方の集積回路からデータを書き込む際には、該他方の集積回路からデータの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記データの書き込みを要求する書込要求信号を出力する書込制御回路と、他方の集積回路からデータを読み出す際には、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、他方の集積回路からデータを書き込む際には、上記書込ポインタの値に基づいて、上記他方の集積回路にデータの転送を要求する転送要求信号を出力する転送要求信号発生回路とを含むようにしたので、バースト転送方式による内部クロックの周期を短縮することなく、ハンドシェイク方式によるデータの転送を高速に、かつ効率よく行うことができる。
【0066】
また、本発明の請求項4に記載のDMA転送制御装置によれば、請求項1ないし請求項3のいずれかに記載のDMA転送制御装置において、上記バッファメモリは、該バッファメモリと並列して設けられた上記ハンドシェイク回路の処理時間に対応したメモリサイズを有するものであるので、ハンドシェイク回路で、集積回路内の処理回路のクロック周波数の差を吸収することができ、データの連続転送を実現することができる。
【0067】
また、本発明の請求項5に記載のDMA転送制御装置によれば、請求項または請求項に記載のDMA転送制御装置において、上記DMAカウンタは、予めデータの転送量が設定されており、他の集積回路よりデータを書き込む際、上記複数のハンドシェイク回路のうち、該データの転送量に応じた数のハンドシェイク回路を同時に起動するものであるので、複数のハンドシェイク回路を同時に制御することができる。
【図面の簡単な説明】
【図1】 本発明の実施の形態1によるRead動作のDMA転送制御装置の回路構成図
【図2】 本発明の実施の形態1によるRead動作のタイミングを説明するための図
【図3】 本発明の実施の形態2によるWrite動作のDMA転送制御装置の回路構成図
【図4】 本発明の実施の形態2によるWrite動作のタイミングを説明するための図
【図5】 従来のDMA転送制御装置を使用したインターフェイスの構成例を示す図
【図6】 3Wordのデータ転送を例にしたRead動作のタイミングを説明するための図
【図7】 3Wordのデータ転送を例にしたWrite動作のタイミングを説明するための図
【図8】 バースト転送方式を採用したDMAインターフェイスの回路構成図
【図9】 バースト転送方式DMAインターフェイスのRead動作及びWrite動作のタイミングを説明するための図
【図10】 ハンドシェイク方式を採用したDMAインターフェイスの回路構成図
【図11】 ハンドシェイク方式DMAインターフェイスのRead動作及びWrite動作のタイミングを説明するための図
【符号の説明】
1 第1機器
2 第2機器
3 外部バス
4 第1集積回路
5 第2集積回路
6 転送要求信号(DMARQ)
7 転送クロック信号(NIORD)
8 転送クロック信号(NIOWR)
9 データ線(Data)
10 第1集積機器
11 第2集積機器
20 論理回路
22 DMAカウンタ
23 クロック
24 転送クロック信号(NIORD)
25 転送クロック信号(NIOWR)
26 データ線(Data)
27 転送要求信号(DMARQ)
28 転送スタート信号
29 転送HOLD信号
30 第1集積回路
31 第2集積回路
40 論理回路
41 DMARQ発生回路41
42 DMAカウンタ
43 クロック
44 転送クロック信号(NIORD)
45 転送クロック信号(NIOWR)
46 転送スタート信号
47 カウンタ更新信号
48 転送要求信号(DMARQ)
49 クロック検知信号
50 転送HOLD信号
51 データ線(Data)
100 第1集積回路
101 論理回路
102、104、123 データ線
103 データバッファ
105 第2集積回路
106 ハンドシェイク回路
107 書込制御回路
108 読出制御回路
109 書込信号
110 書込要求信号
114、211 バッファ転送要求信号
115 DMARQ発生回路
116 読出ポインタ信号
117 転送要求信号(DMARQ)
118 転送HOLD信号
119 転送クロック(NIORD)
120 読出信号
121 DMAカウンタ
122 転送完了信号
124 読出選択回路
200 第2集積回路
201、204、222 データ線
202 第1集積回路
203 データバッファ
205 論理回路
206 ハンドシェイク回路
207 書込制御回路
208 読出制御回路
209 DMAカウンタ
210 書込許可信号
212 DMARQ発生回路
213 書込ポインタ信号
214 転送要求信号(DMARQ)
215 転送クロック(NIOWR)
216 書込信号
217 転送スタート信号
218 Data Full信号
219 読出要求信号
220、221 読出信号
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a direct memory access (Direct Memory Access, hereinafter simply referred to as “DMA”) transfer control device, and more particularly to a DMA transfer control device using a data transfer request signal and a Write / Read clock signal.
[0002]
[Prior art]
DMA is a method for directly exchanging data between an input / output device and a memory or between memories without using a CPU. According to this method, when a large amount of data is transferred, processing can be performed in a lump, so that the data transfer speed can be improved as compared with that via the CPU. In the meantime, by causing the CPU to perform other work, the work can be efficiently performed as a whole.
[0003]
FIG. 5 is a diagram showing a configuration example of an interface using a conventional DMA transfer control device.
In FIG. 5, the first device 1 and the second device 2 are connected by an external bus 3 standardized by IEEE 1394 or the like. The first device 1 includes a first integrated circuit 4 and a second integrated circuit 5, and the first integrated circuit 4 and the second integrated circuit 5 transmit a transfer request signal (DMARQ) that requests data transfer. ) 6, a transfer clock signal (NIORD) 7 for reading data, a transfer clock signal (NIOWR) 8 for writing data, and a data line (Data) 9 for transmitting / receiving n-bit data. Connected by a DMA interface.
[0004]
Here, data transfer from the first integrated circuit 4 to the second integrated circuit 5 is referred to as a Read operation in the DMA interface, and data transfer from the second integrated circuit 5 to the first integrated circuit 4 is a Write operation in the DMA interface. That's it.
[0005]
Next, the Read operation and the Write operation will be described.
FIG. 6 is a diagram for explaining the timing of a Read operation taking 3Word data transfer as an example, and FIG. 7 is a diagram for explaining the timing of a Write operation taking 3Word data transfer as an example.
[0006]
First, the timing of the Read operation will be described with reference to FIG.
At time t0, the first integrated circuit 4 asserts DMARQ6 (signal rise) to notify the start of data transfer. At time t1, the second integrated circuit 5 recognizes the start of data transfer and changes NIORD 7 to “L”. At this time, the first integrated circuit 4 outputs data “W00” in synchronization with the change of NIORD 7 to “L”. At time t2, the second integrated circuit 5 changes NIORD7 to “H” and captures data “W00”. Therefore, 1 Word of data is transferred from the first integrated circuit 4 to the second integrated circuit 5 by the above-described operation.
[0007]
At time t3, after the first integrated circuit 4 outputs the last data “W02”, at time t4, the first integrated circuit 4 negates DMARQ 6 (signal falls) to notify the completion of data transfer. At time t5, the second integrated circuit 5 recognizes the completion of the data transfer, and when the NIORD 7 is changed to “H”, the data transfer is completed.
[0008]
Here, the first integrated circuit 4 outputs the data “W” in synchronization with the change of NIORD 7 to “L” in the second integrated circuit 5. Therefore, in order to notify the completion of data transfer, the first integrated circuit 4 must negate the DMARQ 6 during a period from time t3 to time t5, that is, during a period when NIORD7 is changed to “L”.
[0009]
Next, the timing of the write operation will be described with reference to FIG.
At time t6, the first integrated circuit 4 notifies the start of data transfer by asserting DMARQ6. At time t7, the second integrated circuit 5 recognizes the start of data transfer, changes NIOWR8 to “L”, and outputs data “W10”. At time t8, the second integrated circuit 5 changes NIOWR8 to “H”. At this time, the first integrated circuit 4 captures the data “W10” in synchronization with the change of NIOWR8 to “H”. Therefore, 1 Word of data is transferred from the second integrated circuit 5 to the first integrated circuit 4 by the above-described operation.
[0010]
At time t9, the second integrated circuit 5 changes NIOWR8 to “L” and outputs the last data “W12”. Then, the first integrated circuit 4 recognizes that the NIOWR 8 has changed to “L”, negates the DMARQ 6 at time t 10, and notifies the completion of the data transfer. At time t11, the second integrated circuit 5 recognizes the completion of data transfer, and when the NIOWR 8 is changed to “H”, the data transfer is completed.
[0011]
Here, the first integrated circuit 4 captures the data “W” in synchronization with the NIOWR 8 being changed to “H” in the second integrated circuit 5. Therefore, in order to notify the completion of data transfer, the first integrated circuit 4 must negate the DMARQ 6 during the period from the time t9 to the time t11, that is, during the period when the NIOWR8 is changed to “L”.
[0012]
However, generally, the first integrated circuit 4 and the second integrated circuit 5 often have different system clock frequencies. Therefore, when the conventional DMA transfer control device in FIG. 5 is configured, a circuit that operates by NIORD 7 and NIOWR 8 that is not synchronized with the system clock frequency is required. Therefore, a control circuit for controlling the DMA is required in the first integrated circuit 4 as shown in FIGS.
[0013]
FIG. 8 is a circuit configuration diagram of a DMA interface employing the burst transfer method.
In FIG. 8, the first integrated circuit 10 includes a logic circuit 20 and a DMA counter 22. The logic circuit 20 manages n-bit data, and outputs a transfer HOLD signal 29 for stopping the data transfer and a transfer start signal 28 for starting the data transfer. The DMA counter 22 has a counter for setting a data transfer amount, receives a transfer HOLD signal 29 and a transfer start signal 28, transmits a transfer request signal (DMARQ) 27 to the second integrated circuit 11, and outputs a second signal. Transfer clock signals (NIORD24, NIOWR25) are received from the integrated circuit 11. Further, the logic circuit 20 and the DMA counter 22 are operated by the clock 23.
[0014]
Next, the operation of the burst transfer DMA interface described above will be described with reference to FIG.
FIG. 9 is a diagram for explaining the timing of the Read operation and the Write operation of the burst transfer system DMA interface.
[0015]
At time t20, the logic circuit 20 changes the transfer start signal 28 to “H”. At time t21, the DMA counter 22 receives the transfer start signal 28 from the logic circuit 20, initializes the counter value, and asserts the DMARQ 27 to notify the start of data transfer. At time t22, the second integrated circuit 11 recognizes the start of data transfer and changes NIORD 24 or NIOWR 25 to “L”. At this time, if NIORD 24 is changed to “L”, the first integrated circuit 10 outputs Data 26 in synchronization with the change of NIORD 24 to “L”, and the second integrated circuit 11 outputs n-bit data. take in. On the other hand, if the NIOWR 25 is changed to “L”, the second integrated circuit 11 outputs Data 26 and the first integrated circuit 10 captures n-bit data. Therefore, data is transferred by the above-described operation. The DMA counter 22 detects that the NIORD 24 or NIOWR 25 has been changed to “L” and updates the counter value. This operation is performed in synchronization with the clock 23.
[0016]
On the other hand, when the logic circuit 20 cannot transfer data, the logic circuit 20 outputs a transfer HOLD signal 29. For example, when the logic circuit 20 changes the transfer HOLD signal 29 to “H” at time t23, the DMA counter 22 negates the DMARQ 27 at time t24. Therefore, data transfer is stopped at this point. At time t25, when the logic circuit 20 changes the transfer HOLD signal 29 to “L”, at the same time, the DMA counter 22 reasserts the DMARQ 27 and starts data transfer.
[0017]
When the counter value becomes “0” at time t26, the DMA counter 22 negates the DMARQ 27 at time t27 to notify the completion of data transfer. At time t28, the second integrated circuit 5 recognizes the completion of data transfer and changes NIORD 24 or NIOWR 25 to “H”. The data transfer is completed by the above operation.
[0018]
FIG. 10 is a circuit configuration diagram of a DMA interface employing a handshake method.
In FIG. 10, the first integrated circuit 30 includes a logic circuit 40, a DMARQ generation circuit 41, and a DMA counter 42. The logic circuit 40 manages n-bit data, and outputs a transfer HOLD signal 50 for stopping the data transfer and a transfer start signal 46 for starting the data transfer. The DMARQ generation circuit 41 transmits a transfer request signal (DMARQ) 48 to the second integrated circuit 31 and receives transfer clock signals (NIORD44, NIOWR45) from the second integrated circuit 31, and updates the counter value of the DMA counter 42. The clock detection signal 49 is output. The DMA counter 42 has a counter for setting the data transfer amount, receives a transfer HOLD signal 50 and a transfer start signal 46 from the logic circuit 40, and receives a counter update signal 47 for notifying that the counter value has been updated. The data is output to the DMARQ generation circuit 41. The logic circuit 40, the DMARQ generation circuit 41, and the DMA counter 42 are operated by a clock 43.
[0019]
Next, the operation of the above-described handshake DMA interface will be described with reference to FIG.
FIG. 11 is a diagram for explaining the timing of the Read operation and the Write operation of the handshake DMA interface.
At time t40, the logic circuit 40 changes the transfer start signal 46 to “H”. At time t41, the DMA counter 22 receives the transfer start signal 46 from the logic circuit 40, initializes the counter value, changes the counter update signal 47 to “H”, and outputs it to the DMARQ generation circuit 41. At the same time, the DMARQ generation circuit 41 notifies the start of data transfer by asserting DMARQ. At time t42, the second integrated circuit 31 recognizes the start of data transfer and changes NIORD 44 or NIOWR 45 to “L”. At this time, if NIORD 44 is changed to “L”, the first integrated circuit 30 outputs Data 51 in synchronization with the change of NIORD 44 to “L”, and the second integrated circuit 31 outputs n-bit data. take in. On the other hand, if the NIOWR 45 is changed to “L”, the second integrated circuit 31 outputs Data 51 and the first integrated circuit 30 takes in n-bit data. Therefore, data is transferred by the above-described operation.
[0020]
Subsequently, in the logic circuit 40, when data transfer becomes impossible, the DMARQ generation circuit 41 detects that the NIORD 44 or NIOWR 45 has been changed to “L”, and negates the DMARQ 48 at time t43. Therefore, data transfer is stopped at this point. At time t44, the second integrated circuit 31 recognizes that the DMARQ 48 has been negated, and changes the NIORD 44 or NIOWR 45 to “H”.
[0021]
Further, the DMARQ generation circuit 41 detects that the NIORD 44 or NIOWR 45 has been changed to “L” at the time t42, and outputs the clock detection signal 49 at the time t45. As a result, the DMA counter 42 updates the counter value. If the transfer HOLD signal 50 is not output from the logic circuit 40 at this time, the DMARQ generation circuit 41 reasserts the DMARQ 48 at time t46 to resume data transfer.
[0022]
[Problems to be solved by the invention]
However, the DMA interface circuit based on the burst transfer system updates the counter value when NIORD 24 or NIOWR 25 changes to “L”, and negates DMARQ 27 when the counter value becomes “0”. Therefore, if the DMA counter 22 negates the DMARQ 27 while the NIORD 24 or NIOWR 25 is changed to “L”, the clock frequency must be at least twice that of the NIORD 24 or NIOWR 25. However, when the frequency of NIORD 24 or NIOWR 25 is increased in order to improve the data transfer performance of the first integrated circuit 10 and the second integrated circuit 11, the frequency of the clock 23 that controls the first integrated circuit 10 becomes NIORD 24 or Since the frequency increases at twice the speed of NIOWR25, it is necessary to design a circuit that operates with a very high-speed clock, which is a serious obstacle in semiconductor design.
[0023]
In addition, since DMARQ 48 is negated regardless of the clock 43 in the DMA interface circuit based on the handshake method, the operation of NIORD 44 or NIOWR 45 operates independently of the frequency of the clock 43, unlike the burst transfer method described above. This is advantageous in terms of semiconductor design. However, since the internal processing must be completed (operation from time t44 to time t46) before the DMARQ 48 is negated and asserted again, the transfer performance is caused by the processing time overhead of the first integrated circuit 30. There has been a problem that is greatly deteriorated.
[0024]
The present invention has been made to solve such a problem, and can transfer data at high speed and efficiently by the handshake method without reducing the cycle of the internal clock by the burst transfer method. An object is to provide a DMA transfer control device.
[0025]
[Means for Solving the Problems]
  A DMA transfer apparatus according to the present invention is a DMA transfer control apparatus that controls direct memory access (DMA) transfer between integrated circuits, and the integrated circuit that transmits data of the DMA transfer control apparatus is configured to transmit the DMA transfer data. With multiple buffer memory to store,UpIn parallel with each of the multiple buffer memoriesA plurality of handshake circuits for outputting a buffer memory data transfer request signal for requesting transfer of the data when a write request signal for requesting writing of data stored in each buffer memory is input; A DMA counter that counts based on a write clock signal for writing, and a write pointer that counts when the write clock signal is input, and the buffer memory according to the value of the write pointer, A write control circuit for outputting the write request signal to the handshake circuit;Requests reading of data from the integrated circuit receiving the data of the DMA transfer control device.When the read transfer clock signal is inputHas a read pointer for countingBased on the read control circuit for outputting a read request signal for requesting data reading to the handshake circuit according to the value of the read pointer, the buffer memory data transfer request signal, and the value of the read pointer, A transfer request signal for requesting data transfer is output to the integrated circuit that receives the data of the DMA transfer control device.Transfer request signal generation circuit and,Is included.
[0026]
  The DMA transfer control device according to the present invention is a DMA transfer control device that controls direct memory access (DMA) transfer between integrated circuits, and the integrated circuit that receives data of the DMA transfer control device is the DMA transfer control device. Multiple buffer memories that store transfer data and,UpIn parallel with each of the multiple buffer memoriesA plurality of handshake circuits for outputting a buffer memory data transfer request signal for requesting the transfer of data and a data transfer when a write permission signal for permitting data writing is input to the buffer memory A DMA counter that receives the transfer start signal, outputs the write enable signal to the buffer memory, and inputs a read clock signal for reading data; and a count based on the read clock signal;Requests data writing from an integrated circuit that transmits data of the DMA transfer control device.When the write transfer clock signal is inputHas write pointer for countingA write control circuit for outputting a write request signal for requesting writing of data to the buffer memory and the handshake circuit according to a signal output from the write pointer; and the read clock signal. A read control circuit that has a read pointer for counting and outputs a read request signal for requesting reading of the data to the handshake circuit according to a signal output from the read pointer; and the buffer memory data transfer request Based on the signal and the signal output from the write pointer, a transfer request signal for requesting data transfer is output to the integrated circuit that transmits the data of the DMA transfer control device.Transfer request signal generation circuit and,Is included.
[0027]
  The DMA transfer control device according to the present invention is a DMA transfer control device that controls direct memory access (DMA) transfer between integrated circuits, and the integrated circuit that transmits and receives data of the DMA transfer control device Multiple buffer memories that store transfer data and,UpIn parallel with each of the multiple buffer memoriesProvided, when reading data from the other integrated circuit, when a write request signal for requesting writing of data stored in each buffer memory is input, or when writing data from the other integrated circuit When a write permission signal for permitting data writing to the buffer memory is input, a plurality of handshake circuits that output a buffer memory data transfer request signal for requesting the data transfer, and data from the other integrated circuit Is read based on a write clock signal for writing data, and when data is written from the other integrated circuit, the buffer memory receives the transfer start signal for starting data transfer. When a read clock signal for outputting a write enable signal and reading data is input, counting is performed based on the read clock signal. And DMA counter, when reading data from the other integrated circuit, saidRequest to read data from the other integrated circuitWhen the read transfer clock signal is input, the counter counts. When writing data from the other integrated circuit, the read clock is input.Has a read pointer for countingWhen the data is read from the read control circuit that outputs a read request signal for requesting data read to the handshake circuit corresponding to the value of the read pointer and the other integrated circuit, the write clock is When input, it counts and when writing data from the other integrated circuit, theRequest writing data from the other integrated circuitWhen the write transfer clock signal is inputHas write pointer for countingWhen reading data from the other integrated circuit, a write control circuit that outputs a write request signal for requesting writing of the data to the buffer memory and handshake circuit according to the value of the write pointer When writing data from the other integrated circuit based on the buffer memory data transfer request signal and the value of the read pointer, the data of the data is written to the other integrated circuit based on the value of the write pointer. Outputs a transfer request signal requesting transferTransfer request signal generation circuit and,Is included.
[0028]
  A DMA transfer control device according to the present invention is the DMA transfer control device according to any one of claims 1 to 3, whereineachThe buffer memoryProvided in parallel with the buffer memoryThe memory size corresponds to the processing time of the handshake circuit.
[0029]
  Also, a DMA transfer control device according to the present invention is as follows.2Or claims3In the DMA transfer control device described in the above,The DMA counter has a data transfer amount set in advance. When writing data from another integrated circuit, the DMA counter has a number corresponding to the data transfer amount among the plurality of handshake circuits.Start the handshake circuit at the same timeRumoIt is.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Embodiment 1 FIG.
The DMA transfer control device according to the first embodiment describes a read operation for reading data from the first integrated circuit to the second integrated circuit.
FIG. 1 is a circuit configuration diagram of a DMA transfer control apparatus for Read operation according to Embodiment 1 of the present invention.
In FIG. 1, a first integrated circuit 100 includes a logic circuit 101, a DMA counter 121, a write control circuit 107, a read control circuit 108, a read selection circuit 124, a DMARQ generation circuit 115, and eight data buffers. 103a to 103h and eight handshake circuits 106a to 106h.
[0031]
  Hereinafter, each circuit will be described in detail.
  The logic circuit 101 manages 8-bit data, inputs a transfer HOLD signal (Full) 118 for stopping data transfer, and outputs a write signal (WE) 109 for writing data as a write control circuit 107 and a DMA counter. It outputs to 121. The DMA counter 121 has a counter for setting the data transfer amount, inputs the write signal 109, and outputs a transfer completion signal 122 to the logic circuit 101 when the data transfer is completed. The write control circuit 107 has a write pointer. When the write signal 109 is input from the logic circuit 101, the value of the write pointer is added, and the write pointer 109 is added according to the value of the write pointer.Write request signalOne of 110a to 110h is selected and output to one of the data buffers 103a to 103h and the handshake circuits 106a to 106h. When the read control circuit 108 has a read pointer and receives a transfer clock signal (NIORD) 119 for reading data from the second integrated circuit 105, it adds the value of the read pointer and generates a read pointer signal 116 by DMARQ. The signal is output to the circuit 115, and any one of the read signals 120a to 120h is selected according to the value of the read pointer and is output to any one of the handshake circuits 106a to 106h. For example, when the read pointer changes from 0 to 1, a read signal 120a is output, and when the read pointer changes from 1 to 2, a read signal 120b is output. Similarly, the read signal is read according to the change of the read pointer. Signals 120c to 120g are output, and when the read pointer changes from 7 to 0, a read signal 120h is output. The read selection circuit 124 is selected by the write control circuit 107.Write request signalThe 8-bit data input to any of the data buffers 103a to 103h is output to the second integrated circuit 105 through the data line 104 by 110a to 110h. The DMARQ generation circuit 115 is responsive to the read pointer signal 116 output from the read control circuit 108.Buffer transfer request signal114a to 114h is selected and a transfer request signal (DMARQ) 117 for requesting data transfer is transmitted to the second integrated circuit 105, andBuffer transfer request signalIf all of 114a to 114h are input, the transfer HOLD signal 118 is output to the logic circuit 101 in order to stop data writing to the data buffers 103a to 103h. The eight data buffers 103a to 103h are controlled by the eight handshake circuits 106a to 106h, the write control circuit 107, and the read control circuit 108, and are selected by the write control circuit 107.Write request signal110a to 110h are input to the W terminal,Write request signalThe data buffer 103 to which 110 is input receives the data line 102 of 8-bit data from the logic circuit 101, and outputs the input 8-bit data from the Q terminal of the data buffer 103 to the read selection circuit 124. . The eight handshake circuits 106a to 106h are output from the write control circuit 107.Write request signal110a to 110h or any one of read signals 120a to 120h output from the read control circuit 108 is input, and data transfer is requested according to the input signal.Buffer transfer request signal114 a to 114 h are output to the DMARQ generation circuit 115. Specifically, it is connected to the W input terminal of the handshake circuits 106a to 106h.Write request signalIf 110a to 110h are input, the signal is changed to “H” from the F output terminal.Buffer transfer request signal114a to 114h are output. On the other hand, if the read signals 120a to 120h are input to the R input terminals of the handshake circuits 106a to 106h, the signals are changed to "L" from the F output terminal.Buffer transfer request signal114a to 114h are output.
[0032]
  Next, the timing of the Read operation of the DMA transfer control device described above will be described.
  FIG. 2 is a diagram for explaining the timing of the Read operation of the DMA transfer control device according to the first embodiment of the present invention.
  At time t101, when the logic circuit 101 changes the write signal 109 to “H”, the write control circuit 107 inputs the write signal 109 from the logic circuit 101,Write request signal110a is output to the data buffer 103a. At this time, the value of the write pointer of the write control circuit 107 is added. The data buffer 103aWrite request signal110a is input to the W terminal, and the data line 102 is input from the D terminal to write data. Then, the written data is output from the Q terminal of the data buffer 103 a to the data line 123 a and transmitted to the second integrated circuit 105 from the data line 104 through the read selection circuit 124. Also,Write request signal110a is input to the W terminal of the data buffer 103a and also input to the W input terminal of the handshake circuit 106a. At time t102, the handshake circuit 106a is connected to the F output terminal.Buffer transfer request signal114a is changed to “H”. At the same time, the DMARQ generation circuit 115 starts from the handshake circuit 106a.Buffer transfer request signal114a is input and DMARQ 117 is asserted. The DMA counter 121 receives the write signal 109 from the logic circuit 101 and updates the counter value.
[0033]
  Similarly, at time t103, when the logic circuit 101 changes the write signal 109 to “H”, the write control circuit 107 inputs the write signal 109 from the logic circuit 101 and adds one to the value of the write pointer. do it,Write request signal110b is output. The data buffer 103bWrite request signal110b is input to the W terminal and the data line 102 is input to the D terminal to write data. The written data is output from the Q terminal of the data buffer 103 b to the data line 123 b and transmitted from the data line 104 to the second integrated circuit 105 via the read selection circuit 124. Also,Write request signal110b is input to the W terminal of the data buffer 103b and input to the W input terminal of the handshake circuit 106b. At time t104, the handshake circuit 106b is connected to the F output terminal.Buffer transfer request signal114b is changed to “H”.
[0034]
  Here, if NIORD 119 is not transmitted from the second integrated circuit 105 to the read control circuit 108, the handshake circuits 106a to 106h receive the F output terminal at the input of the write signal 109.Buffer transfer request signal114a to 114h are sequentially changed to “H”. At time t105,Buffer transfer request signal114a to 114h are all changed to “H”. At the same time, the DMARQ generation circuit 115Buffer transfer request signalSince all of 114a to 114h are input, the transfer HOLD signal 118 is changed to “H” in order to stop the data transfer. Then, the logic circuit 101 recognizes that the transfer HOLD signal 118 has changed to “H”, changes the write signal 109 to “L”, and stops the data transfer.
[0035]
  Since the read pointer of the read control circuit 108 is “0” in the initial state, the read pointer signal 116 is always generated in the DMARQ generation circuit 115 unless NIORD 119 is received by the read control circuit 108.Buffer transfer request signalA signal for selecting 114a is output. That is, at time t101 to t106, the DMARQ generation circuit 115 always operates.Buffer transfer request signal114 a is selected and DMARQ 117 is transmitted to the second integrated circuit 105.
[0036]
  When NIORD 119 changes to “L” at time t106, read control circuit 108 changes the read pointer from “0” to “1”, andBuffer transfer request signalRead pointer signal 116 for selecting 114b is output to DMARQ generation circuit 115. Then, the DMARQ generation circuit 115 inputs the read pointer signal 116, therebyBuffer transfer request signal114 b is selected and DMARQ 117 is transmitted to the second integrated circuit 105. Also at this timeBuffer transfer request signalSince 114b holds the signal “H”, the DMARQ 117 also holds the signal “H”. The value of the read pointer changes in synchronization with the change of NIORD to “L”, and the read control circuit 108 selects the read signals 120a to 120h according to the value of the read pointer, and the handshake circuit 106a. To ~ 106h.
[0037]
  The read control circuit 108 detects that the read pointer has changed from “0” to “1”, and outputs a read signal 120a at time t107. At time t108, the handshake circuit 106a inputs the read signal 120a from the read control circuit 108 to the R input terminal, and the F output terminalBuffer transfer request signal114a is changed to “L”. The DMARQ generation circuit 115 is supplied from the handshake circuit 106a.Buffer transfer request signal114a is input, and the transfer HOLD signal 118 is changed to "L" in order to resume the data transfer. Then, the logic circuit 101 receives the transfer HOLD signal 118, changes the write signal 109 to “H” at time t110, and restarts the data transfer. Thereafter, sequential data transfer is performed.
[0038]
  When the counter value of the DMA counter 121 becomes “0” at time t111, the DMA counter 121 changes the transfer completion signal 122 to “H”. The logic circuit 101 receives the transfer completion signal 122 from the DMA counter 121 and changes the write signal 109 to “L”. Therefore, since the write control circuit 107 does not output the write signal 109 from the logic circuit 101, the handshake circuits 106a to 106h are connected to the W input terminal.Write request signal110a to 110h cannot be input. That is, each time NIORD 119 changes to “L”, handshake circuits 106a to 106h sequentially input read signals 120a to 120h from the R input terminal, and F output terminalBuffer transfer request signal114a to 114h are sequentially changed to “L”.
[0039]
  At time t112, when the read pointer indicates “0” and NIORD 119 changes to “L”, the DMARQ generation circuit 115 originally has an input of the read pointer signal 116.Buffer transfer request signal114a is selected and DMARQ 117 is output. However, at time t112Buffer transfer request signalSince 114a is “L”, the DMARQ generation circuit 115 negates the DMARQ 117 and notifies the completion of the data transfer. Subsequently, the second integrated circuit 105 recognizes the completion of the data transfer, changes the NIORD 119 to “H”, and completes the data transfer.
[0040]
As described above, according to the DMA transfer control apparatus according to the first embodiment, DMARQ 117 is asserted in synchronization with the counter of DMA counter 121, but negation of DMARQ 117 is performed when NIORD 119 changes to “L”. Therefore, data can be transferred without being influenced by the cycle of the internal clock.
[0041]
Further, since the plurality of buffer memories 103a to 103h and the plurality of handshake circuits 106a to 106h corresponding to the capacity of the buffer memories 103a to 103h are provided in parallel in the integrated circuit, the handshake circuits 106a to 106h The clock frequency difference in the integrated circuit can be absorbed, and continuous transfer of data can be realized.
[0042]
That is, data transfer by the handshake method can be performed at high speed and efficiently without reducing the cycle of the internal clock by the burst transfer method.
[0043]
Embodiment 2. FIG.
The DMA transfer control device according to the second embodiment describes a write operation for writing data from the second integrated circuit to the first integrated circuit.
FIG. 3 is a circuit configuration diagram of a DMA transfer control device for write operation according to the second embodiment of the present invention.
[0044]
In FIG. 3, the first integrated circuit 202 includes a logic circuit 205, a DMA counter 209, a read control circuit 208, a write control circuit 207, a DMARQ generation circuit 212, eight data buffers 203a to 203h, 8 Handshake circuits 206a to 206h.
[0045]
  Hereinafter, each circuit will be described in detail.
  The logic circuit 205 manages 8-bit data, inputs a read request signal (Rdy) 219 for requesting reading of data, and supplies a read signal (RE) 220 for reading data to the read control circuit 208 and the DMA counter 209. Then, a transfer start signal 217 informing the start of data transfer is output to the DMA counter 209 and the write control circuit 207. The DMA counter 209 has a counter for setting the data transfer amount. The DMA counter 209 receives the read signal 220 and the transfer start signal 217, and writes a write permission signal (Flag) 210a according to the set data transfer amount. Any one of -210h is output. For example, if the data transfer amount set in the DMA counter 209 is 8 words, all of the write permission signals 210a to 210h are output, but if the data transfer amount is 1 word, only the write permission signal 210a is output. Is output. The read control circuit 208 has a read pointer. When the read signal 220 is input from the logic circuit 205, the read control circuit 208 outputs any of the read signals 221a to 221h to the handshake circuits 206a to 206h according to the read pointer. 8-bit data is selected from the data lines 222a to 222h from the data buffers 203a to 203h, and the selected 8-bit data is output to the logic circuit 205 through the data line 204 to add a read pointer. When the write control circuit 207 has a write pointer and receives the transfer clock signal (NIOWR) 215 for writing data from the second integrated circuit 200, the write pointer signal is added to the write pointer signal. 213 is output to the DMARQ generation circuit 212, and write signals 216a to 216h are output to any of the data buffers 203a to 203h and the handshake circuits 206a to 206h according to the value of the write pointer. In response to the write pointer signal 213 output from the write control circuit 207, the DMARQ generation circuit 212Buffer transfer request signalOne of 211a to 211h is selected, and a transfer request signal (DMARQ) 214 for requesting data transfer to the second integrated circuit 200 is output. The eight data buffers 203a to 203h are controlled by the eight handshake circuits 206a to 206h, the write control circuit 207, the read control circuit 208, and the DMA counter 209, and are selected by the write control circuit 207. The write signals 216a to 216h are input to the W terminal, and the data buffer 203 to which the selected write signal 216 is input receives 8-bit data from the second integrated circuit 200 through the data line 201, and the read control circuit The data line 222 is output to 208. The eight handshake circuits 206 a to 206 h receive the write permission signal 210 output from the DMA counter 209 according to the read signal 221 selected by the read control circuit 208, and enter the DMARQ generation circuit 212.Buffer transfer request signal211, and any one of the write signals 216a to 216h output from the write control circuit 207 is input, and any one of the data full signals 218a to 218h is output to the read control circuit 208.
[0046]
Next, the timing of the write operation of the DMA transfer control device described above will be described assuming that the data transfer amount set by the DMA counter 209 is n word> 8 words.
[0047]
  FIG. 4 is a diagram for explaining the timing of the write operation of the DMA transfer control device according to the second embodiment of the present invention.
  At time t200, when the logic circuit 205 changes the transfer start signal 217 to “H”, the write control circuit 207 inputs the transfer start signal 217 from the logic circuit 205, resets the write pointer, and writes the write pointer. A write pointer signal 213 indicating “0” is output to the DMARQ generation circuit 212. At time t201, the DMA counter 209 changes the write permission signals 210a to 210h to “H”, and the handshake circuits 206a to 206h receive the write permission signals 210a to 210h from the DMA counter 209. At time t202, the handshake circuits 206a to 206hBuffer transfer request signal211a to 211h are changed to “H”, and the DMARQ generation circuit 212 is changed from the handshake circuits 206a to 206h.Buffer transfer request signalInput 211a to 211h.
[0048]
  The DMARQ generation circuit 212 responds to the input of the write pointer signal 213.Buffer transfer request signalOne of 211a to 211h is selected, and DMARQ 214 is output to the second integrated circuit 200. In this case, since the write pointer indicates “0” at time t202, the DMARQ generation circuit 212Buffer transfer request signal211a is selected and input, and DMARQ 214 is asserted.
[0049]
  The second integrated circuit 200 receives the DMARQ 214 from the DMARQ generation circuit 212, changes the NIOWR 215 to “L” at time t203, and transmits the data line 201 of 8-bit data to the data buffers 203a to 203h. At the same time, since the write pointer of the write control circuit 207 indicates “1”, the write control circuit 207 selects the write signal 216a and outputs it to the data buffer 203a and the handshake circuit 206a. The buffer 203a inputs the data line 201 transmitted from the second integrated circuit 200 and writes data. At time t204, the handshake circuit 206aBuffer transfer request signal211a is changed to “L”, and the Data Full signal 218a is changed to “H”.
[0050]
  Similarly, at time t205, the second integrated circuit 200 changes NIOWR 215 to “L” and transmits the data line 201 of 8-bit data to the data buffers 203a to 203h. At the same time, since the write pointer of the write control circuit 207 indicates “2”, the write control circuit 207 selects the write signal 216b and outputs it to the data buffer 203b and the handshake circuit 206b. The buffer 203b inputs the data line 201 transmitted from the second integrated circuit 200 and writes data. At time t206, the handshake circuit 206bBuffer transfer request signal211b is changed to “L”, and the Data Full signal 218b is changed to “H”.
[0051]
  Subsequently, after the above-described operation, every time the NIOWR 215 of the second integrated circuit 200 changes to “L”, 8-bit data is sequentially written from the second integrated circuit 200 to the data buffers 203c to 203h through the data line 201. At the same time, since the write pointer of the write control circuit 207 is sequentially added, the write control circuit 207 sends the write signals 216c to 216h to the data buffers 203c to 203h according to the value of the write pointer. And output to the handshake circuits 206c to 206h. The handshake circuits 206c to 206h are sequentiallyBuffer transfer request signal211c to 211h are changed to “L”, and Data Full signals 218c to 218h are changed to “H”.
[0052]
  At time t207, when the write pointer indicates “0”, the DMARQ generation circuit 212,Buffer transfer request signal211a is selected and DMARQ 214 is output to the second integrated circuit 200. At this time,Buffer transfer request signalSince 211a is changed to “L”, the DMARQ generation circuit 212 negates the DMARQ 214.
[0053]
The read control circuit 208 calculates the logical sum of the Data Full signals 218 a to 218 h output from the handshake circuits 206 a to 206 h and outputs a read request signal 219 to the logic circuit 205. However, if the read signal 220 is not output from the logic circuit 205 by the time t207, the DMA counter 209 cannot output the write permission signals 210a to 210h. At this time, the second integrated circuit 200 transfers the data. Pause.
[0054]
  When logic circuit 205 changes read signal 220 to “H” at time t208, DMA counter 209 inputs read signal 220 from logic circuit 205, updates the value of the counter, and writes data at time t209. The permission signal 210a is changed to “H”. At time t210, the handshake circuit 206aBuffer transfer request signal211a is changed to “H”. At this time, since the write pointer of the write control circuit 207 indicates “0”, the DMARQ generation circuit 212Buffer transfer request signal211a is selected and input, and DMARQ 214 is asserted.
[0055]
On the other hand, when read signal 220 is output from logic circuit 205 at time t208, read pointer indicates “0” at this time, so read control circuit 208 selects and outputs read signal 221a. The Data Full signal 218a of the handshake circuit 206a is changed to “L”. Further, the read control circuit 208 selects and inputs the data line 222 a from the data buffer 203 a and outputs the data line 204 to the logic circuit 205.
[0056]
  When the counter value of the DMA counter 209 becomes 7 words or less at time t211, the DMA counter 209 does not output the write permission signals 210a to 210h thereafter. That is, the handshake circuits 206a to 206h sequentially input the write signals 216a to 216h after time t211,Buffer transfer request signal211a to 211h are changed to “L”.
[0057]
  At time t212, the second integrated circuit 200 changes the NIOWR 215 to “L”, so that the write pointer of the write control circuit 207 indicates “0”. Since the DMARQ generation circuit 212 is originally a write pointer is “0”.Buffer transfer request signal211a is selected and DMARQ 214 is output to the second integrated circuit 200. At this time,Buffer transfer request signalSince 211a is changed to “L”, the DMARQ 214 negates and notifies the completion of data transfer. Then, at time t213, the second integrated circuit 200 recognizes the completion of the data transfer, changes the NIOWR 215 to “H”, and completes the data transfer.
[0058]
At this time, since the data buffers 203a to 203h have not finished reading data, the read control circuit 208 holds the read request signal 219 in the “H” state. The logic circuit 205 outputs a read signal 220 to read data from the data buffers 203a to 203h.
[0059]
Subsequently, although not shown, when the data reading of the data buffers 203a to 203h is completed, the Data Full signals 218a to 218h of the handshake circuits 206a to 206h are all changed to “L”. Then, the read control circuit 208 changes the read request signal 219 to “L”, and the logic circuit 205 completes the read operation.
[0060]
As described above, according to the DMA transfer control device according to the second embodiment, DMARQ 214 is asserted in synchronization with the counter of DMA counter 209, but negation of DMARQ 214 is performed when NIOWR 215 changes to “L”. Therefore, data can be transferred without being influenced by the cycle of the internal clock.
[0061]
In addition, since a plurality of buffer memories and a plurality of handshake circuits corresponding to the capacity of the buffer memory are provided in parallel in the integrated circuit, the handshake circuit absorbs the difference in clock frequency in the integrated circuit. And continuous transfer of data can be realized.
[0062]
That is, data transfer by the handshake method can be performed at high speed and efficiently without reducing the cycle of the internal clock by the burst transfer method.
[0063]
【The invention's effect】
  As described above, according to the DMA transfer control device of the first aspect of the present invention, a DMA transfer control device that controls direct memory access (DMA) transfer between integrated circuits, An integrated circuit for transmitting data includes a plurality of buffer memories for storing the DMA transfer data, and,UpIn parallel with each of the multiple buffer memoriesA plurality of handshake circuits for outputting a buffer memory data transfer request signal for requesting transfer of the data when a write request signal for requesting writing of data stored in each buffer memory is input; A DMA counter that counts based on a write clock signal for writing, and a write pointer that counts when the write clock signal is input, and the buffer memory according to the value of the write pointer, A write control circuit for outputting the write request signal to the handshake circuit;Requests reading of data from the integrated circuit receiving the data of the DMA transfer control device.When the read transfer clock signal is inputHas a read pointer for countingBased on the read control circuit for outputting a read request signal for requesting data reading to the handshake circuit according to the value of the read pointer, the buffer memory data transfer request signal, and the value of the read pointer, A transfer request signal for requesting data transfer is output to the integrated circuit that receives the data of the DMA transfer control device.Transfer request signal generation circuit and,Therefore, data transfer by the handshake method can be performed at high speed and efficiently without shortening the period of the internal clock by the burst transfer method.
[0064]
  According to a second aspect of the present invention, there is provided a DMA transfer control apparatus that controls direct memory access (DMA) transfer between integrated circuits, and receives data from the DMA transfer control apparatus. An integrated circuit comprising a plurality of buffer memories for storing the DMA transfer data;,UpIn parallel with each of the multiple buffer memoriesA plurality of handshake circuits for outputting a buffer memory data transfer request signal for requesting the transfer of data and a data transfer when a write permission signal for permitting data writing is input to the buffer memory A DMA counter that receives the transfer start signal, outputs the write enable signal to the buffer memory, and inputs a read clock signal for reading data; and a count based on the read clock signal;Requests data writing from an integrated circuit that transmits data of the DMA transfer control device.When the write transfer clock signal is inputHas write pointer for countingA write control circuit for outputting a write request signal for requesting writing of data to the buffer memory and the handshake circuit according to a signal output from the write pointer; and the read clock signal. A read control circuit that has a read pointer for counting and outputs a read request signal for requesting reading of the data to the handshake circuit according to a signal output from the read pointer; and the buffer memory data transfer request Based on the signal and the signal output from the write pointer, a transfer request signal for requesting data transfer is output to the integrated circuit that transmits the data of the DMA transfer control device.Transfer request signal generation circuit and,Therefore, data transfer by the handshake method can be performed at high speed and efficiently without shortening the period of the internal clock by the burst transfer method.
[0065]
  According to a third aspect of the present invention, there is provided a DMA transfer control device for controlling direct memory access (DMA) transfer between integrated circuits, wherein the DMA transfer control device transmits and receives data. An integrated circuit comprising a plurality of buffer memories for storing the DMA transfer data;,UpIn parallel with each of the multiple buffer memoriesProvided, when reading data from the other integrated circuit, when a write request signal for requesting writing of data stored in each buffer memory is input, or when writing data from the other integrated circuit When a write permission signal for permitting data writing to the buffer memory is input, a plurality of handshake circuits that output a buffer memory data transfer request signal for requesting the data transfer, and data from the other integrated circuit Is read based on a write clock signal for writing data, and when data is written from the other integrated circuit, the buffer memory receives the transfer start signal for starting data transfer. When a read clock signal for outputting a write enable signal and reading data is input, counting is performed based on the read clock signal. And DMA counter, when reading data from the other integrated circuit, saidRequest to read data from the other integrated circuitWhen the read transfer clock signal is input, the counter counts. When writing data from the other integrated circuit, the read clock is input.Has a read pointer for countingWhen the data is read from the read control circuit that outputs a read request signal for requesting data read to the handshake circuit corresponding to the value of the read pointer and the other integrated circuit, the write clock is When input, it counts and when writing data from the other integrated circuit, theRequest writing data from the other integrated circuitWhen the write transfer clock signal is inputHas write pointer for countingWhen reading data from the other integrated circuit, a write control circuit that outputs a write request signal for requesting writing of the data to the buffer memory and handshake circuit according to the value of the write pointer When writing data from the other integrated circuit based on the buffer memory data transfer request signal and the value of the read pointer, the data of the data is written to the other integrated circuit based on the value of the write pointer. Outputs a transfer request signal requesting transferTransfer request signal generation circuit and,Therefore, data transfer by the handshake method can be performed at high speed and efficiently without shortening the period of the internal clock by the burst transfer method.
[0066]
  According to a DMA transfer control apparatus of a fourth aspect of the present invention, in the DMA transfer control apparatus of any one of the first to third aspects,eachBuffer memory isProvided in parallel with the buffer memorySince it has a memory size corresponding to the processing time of the handshake circuit, the handshake circuit can absorb the difference in clock frequency of the processing circuit in the integrated circuit and realize continuous transfer of data. Can do.
[0067]
  Further, according to the DMA transfer control device of claim 5 of the present invention,2Or claims3In the DMA transfer control device described in the above,The DMA counter has a data transfer amount set in advance. When writing data from another integrated circuit, the DMA counter has a number corresponding to the data transfer amount among the plurality of handshake circuits.Start the handshake circuit at the same timeRumoThus, a plurality of handshake circuits can be controlled simultaneously.
[Brief description of the drawings]
FIG. 1 is a circuit configuration diagram of a DMA transfer control device for Read operation according to Embodiment 1 of the present invention;
FIG. 2 is a diagram for explaining the timing of a Read operation according to Embodiment 1 of the present invention;
FIG. 3 is a circuit configuration diagram of a DMA transfer control device for write operation according to the second embodiment of the present invention;
FIG. 4 is a diagram for explaining the timing of a write operation according to the second embodiment of the present invention.
FIG. 5 is a diagram showing a configuration example of an interface using a conventional DMA transfer control device;
FIG. 6 is a diagram for explaining the timing of a Read operation taking 3Word data transfer as an example;
FIG. 7 is a diagram for explaining the timing of a write operation taking 3word data transfer as an example;
FIG. 8 is a circuit configuration diagram of a DMA interface adopting a burst transfer method.
FIG. 9 is a diagram for explaining the timing of Read operation and Write operation of a burst transfer type DMA interface;
FIG. 10 is a circuit configuration diagram of a DMA interface adopting a handshake method.
FIG. 11 is a diagram for explaining the timing of the Read operation and Write operation of the handshake DMA interface
[Explanation of symbols]
  1 First equipment
  2 Second equipment
  3 External bus
  4 First integrated circuit
  5 Second integrated circuit
  6 Transfer request signal (DMARQ)
  7 Transfer clock signal (NIORD)
  8 Transfer clock signal (NIOWR)
  9 Data line (Data)
  10 First integrated device
  11 Second integrated device
  20 logic circuits
  22 DMA counter
  23 clock
  24 Transfer clock signal (NIORD)
  25 Transfer clock signal (NIOWR)
  26 Data Line (Data)
  27 Transfer request signal (DMARQ)
  28 Transfer start signal
  29 Transfer HOLD signal
  30 First integrated circuit
  31 Second integrated circuit
  40 logic circuits
  41 DMARQ generation circuit 41
  42 DMA counter
  43 clocks
  44 Transfer clock signal (NIORD)
  45 Transfer clock signal (NIOWR)
  46 Transfer start signal
  47 Counter update signal
  48 Transfer request signal (DMARQ)
  49 Clock detection signal
  50 Transfer HOLD signal
  51 Data line (Data)
  100 First integrated circuit
  101 logic circuit
  102, 104, 123 data lines
  103 Data buffer
  105 Second integrated circuit
  106 Handshake circuit
  107 Write control circuit
  108 Read control circuit
  109 Write signal
  110Write request signal
  114, 211  Buffer transfer request signal
  115 DMARQ generation circuit
  116 Read pointer signal
  117 Transfer request signal (DMARQ)
  118 Transfer HOLD signal
  119 Transfer clock (NIORD)
  120 Read signal
  121 DMA counter
  122 Transfer complete signal
  124 Read selection circuit
  200 Second integrated circuit
  201, 204, 222 Data lines
  202 1st integrated circuit
  203 Data buffer
  205 logic circuit
  206 Handshake circuit
  207 Write control circuit
  208 Read control circuit
  209 DMA counter
  210 Write enable signal
  212 DMARQ Generator Circuit
  213 Write pointer signal
  214 Transfer request signal (DMARQ)
  215 Transfer clock (NIOWR)
  216 Write signal
  217 Transfer start signal
  218 Data Full signal
  219 Read request signal
  220, 221 Read signal

Claims (5)

集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、
該DMA転送制御装置のデータを送信する集積回路は、
上記DMA転送のデータを蓄積する複数のバッファメモリと
記複数のバッファメモリ各々と並列して設け、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、
データを書きこむ書込クロック信号に基づいてカウントを行なうDMAカウンタと、
上記書込クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記書込要求信号を出力する書込制御回路と、
上記DMA転送制御装置のデータを受信する集積回路より、データの読み出しを要求する読出転送クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路にデータの読み出しを要求する読出要求信号を出力する読出制御回路と、
上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、上記DMA転送制御装置のデータを受信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、
を含むことを特徴とするDMA転送制御装置。
A DMA transfer controller for controlling direct memory access (DMA) transfer between integrated circuits,
An integrated circuit for transmitting data of the DMA transfer control device is:
A plurality of buffer memories for storing the DMA transfer data ;
Provided in parallel with the upper Symbol plurality of buffer memories each and write request signal requesting writing of data stored in the respective buffer memory is inputted, the buffer memory data transfer request signal to request the transfer of the data A plurality of handshake circuits that output
A DMA counter that counts based on a write clock signal for writing data;
A write control circuit having a write pointer for counting when the write clock signal is input, and outputting the write request signal to the buffer memory and handshake circuit corresponding to the value of the write pointer When,
From the integrated circuit to receive data of the DMA transfer controller, when the read transfer clock signal requesting reading of data is input to have a read pointer that counts, the handshake circuit in accordance with the value of said read out pointer A read control circuit for outputting a read request signal for requesting reading of data to
A transfer request signal generating circuit for outputting a transfer request signal for requesting data transfer to an integrated circuit receiving data of the DMA transfer control device based on the value of the buffer memory data transfer request signal and the value of the read pointer ; ,
A DMA transfer control device comprising:
集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、
該DMA転送制御装置のデータを受信する集積回路は、
上記DMA転送のデータを蓄積する複数のバッファメモリと
記複数のバッファメモリ各々と並列して設け、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、
データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うDMAカウンタと、
上記DMA転送制御装置のデータを送信する集積回路より、データの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタから出力される信号に応じた上記バッファメモリ及びハンドシェイク回路にデータの書き込みを要求する書込要求信号を出力する書込制御回路と、
上記読出クロック信号が入力されるとカウントを行う読出ポインタを有し、該読出ポインタから出力される信号に応じた上記ハンドシェイク回路に、上記データの読み出しを要求する読出要求信号を出力する読出制御回路と、
上記バッファメモリデータ転送要求信号と、上記書込ポインタから出力される信号に基づいて、上記DMA転送制御装置のデータを送信する集積回路に、データの転送を要求する転送要求信号を出力する転送要求信号発生回路と、
を含むことを特徴とするDMA転送制御装置。
A DMA transfer controller for controlling direct memory access (DMA) transfer between integrated circuits,
An integrated circuit that receives the data of the DMA transfer control device comprises:
A plurality of buffer memories for storing the DMA transfer data ;
Provided in parallel with the upper Symbol plurality of buffer memories each, when write enable signal for permitting writing of data in the buffer memory is inputted, a plurality of output buffer memory data transfer request signal to request the transfer of the data Handshake circuit
In response to a transfer start signal for starting data transfer, the write enable signal is output to the buffer memory, and when a read clock signal for reading data is input, a DMA counter that counts based on the read clock signal; ,
From the integrated circuit to transmit the data of the DMA transfer controller, when the write transfer clock signal requesting writing of data is input to have a write pointer that counts, the signal output from the該書write pointer A write control circuit for outputting a write request signal for requesting writing of data to the corresponding buffer memory and handshake circuit ;
Read control having a read pointer for counting when the read clock signal is input, and outputting a read request signal for requesting reading of the data to the handshake circuit according to the signal output from the read pointer Circuit,
Based on the buffer memory data transfer request signal and the signal output from the write pointer, a transfer request for outputting a transfer request signal for requesting data transfer to the integrated circuit for transmitting data of the DMA transfer control device A signal generation circuit;
A DMA transfer control device comprising:
集積回路間のダイレクトメモリアクセス(DMA)転送を制御するDMA転送制御装置であって、
該DMA転送制御装置のデータを送受信する集積回路は、
上記DMA転送のデータを蓄積する複数のバッファメモリと
記複数のバッファメモリ各々と並列して設け、他方の集積回路からデータを読み出す際には、該各バッファメモリに蓄積されたデータの書き込みを要求する書込要求信号が入力されると、あるいは他方の集積回路からデータを書き込む際には、該バッファメモリにデータの書き込みを許可する書込許可信号が入力されると、該データの転送を要求するバッファメモリデータ転送要求信号を出力する複数のハンドシェイク回路と、
他方の集積回路からデータを読み出す際には、データを書きこむ書込クロック信号に基づいてカウントを行い、他方の集積回路からデータを書き込む際には、データ転送を開始する転送開始信号をうけて、上記バッファメモリに上記書込許可信号を出力し、データを読み出す読出クロック信号が入力されると、該読出クロック信号に基づいてカウントを行うDMAカウンタと、
他方の集積回路からデータを読み出す際には、該他方の集積回路からデータの読み出しを要求する読出転送クロック信号が入力されるとカウント行い、他方の集積回路からデータを書き込む際には、上記読出クロックが入力されるとカウントを行う読出ポインタを有し、該読出ポインタの値に応じた上記ハンドシェイク回路に、データの読み出しを要求する読出要求信号を出力する読出制御回路と、
他方の集積回路からデータを読み出す際には、上記書込クロックが入力されるとカウントを行い、他方の集積回路からデータを書き込む際には、該他方の集積回路からデータの書き込みを要求する書込転送クロック信号が入力されるとカウントを行う書込ポインタを有し、該書込ポインタの値に応じた上記バッファメモリ及びハンドシェイク回路に、上記データの書き込みを要求する書込要求信号を出力する書込制御回路と、
他方の集積回路からデータを読み出す際には、上記バッファメモリデータ転送要求信号と、上記読出ポインタの値に基づいて、他方の集積回路からデータを書き込む際には、上記書込ポインタの値に基づいて、上記他方の集積回路にデータの転送を要求する転送要求信号を出力する転送要求信号発生回路と、
を含むことを特徴とするDMA転送制御装置。
A DMA transfer controller for controlling direct memory access (DMA) transfer between integrated circuits,
An integrated circuit for transmitting and receiving data of the DMA transfer control device is:
A plurality of buffer memories for storing the DMA transfer data ;
Provided in parallel with the upper Symbol plurality of buffer memories each, when reading the data from the other of the integrated circuit, when the write request signal requesting writing of data stored in the respective buffer memory is inputted, or When writing data from the other integrated circuit, when a write permission signal for permitting data writing is input to the buffer memory, a plurality of buffer memory data transfer request signals for requesting the data transfer are output. A handshake circuit;
When reading data from the other integrated circuit, it counts based on a write clock signal for writing data, and when writing data from the other integrated circuit, it receives a transfer start signal for starting data transfer. A DMA counter that outputs the write enable signal to the buffer memory and receives a read clock signal for reading data, and performs counting based on the read clock signal;
When reading data from the other integrated circuit, when the read transfer clock signal requesting reading of data from the other of the integrated circuit is inputted performs counting, when writing data from the other integrated circuit, the reading When the clock is input to have a read pointer that counts, in the handshake circuit in accordance with the value of said read out pointer, a read control circuit for outputting a read request signal requesting reading of data,
When reading data from the other integrated circuit performs counting when the write clock is input, when writing data from the other integrated circuit, for requesting writing of data from the other integrated circuits book When write transfer clock signal is input to have a write pointer that counts, in the buffer memory and the handshake circuits corresponding to the value of該書write pointer, outputs a write request signal for requesting writing of the data A write control circuit for
When reading data from the other integrated circuit, it is based on the buffer memory data transfer request signal and the value of the read pointer. When writing data from the other integrated circuit, it is based on the value of the write pointer. A transfer request signal generating circuit for outputting a transfer request signal for requesting data transfer to the other integrated circuit ;
A DMA transfer control device comprising:
請求項1ないし請求項3のいずれかに記載のDMA転送制御装置において、
上記バッファメモリは、該バッファメモリと並列して設けられた上記ハンドシェイク回路の処理時間に対応したメモリサイズを有する、
ことを特徴とするDMA転送制御装置。
The DMA transfer control device according to any one of claims 1 to 3,
Each of the buffer memories has a memory size corresponding to the processing time of the handshake circuit provided in parallel with the buffer memory .
A DMA transfer control device.
請求項または請求項に記載のDMA転送制御装置において、
上記DMAカウンタは、予めデータの転送量が設定されており、他の集積回路よりデータを書き込む際、上記複数のハンドシェイク回路のうち、該データの転送量に応じた数のハンドシェイク回路を同時に起動する
ことを特徴とするDMA転送制御装置。
In the DMA transfer control device according to claim 2 or 3 ,
The DMA counter has a data transfer amount set in advance, and when data is written from another integrated circuit, among the plurality of handshake circuits, a number of handshake circuits corresponding to the data transfer amount are simultaneously provided. To start ,
A DMA transfer control device.
JP2000335361A 2000-11-02 2000-11-02 DMA transfer control device Expired - Fee Related JP3666580B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000335361A JP3666580B2 (en) 2000-11-02 2000-11-02 DMA transfer control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000335361A JP3666580B2 (en) 2000-11-02 2000-11-02 DMA transfer control device

Publications (2)

Publication Number Publication Date
JP2002140285A JP2002140285A (en) 2002-05-17
JP3666580B2 true JP3666580B2 (en) 2005-06-29

Family

ID=18811119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000335361A Expired - Fee Related JP3666580B2 (en) 2000-11-02 2000-11-02 DMA transfer control device

Country Status (1)

Country Link
JP (1) JP3666580B2 (en)

Also Published As

Publication number Publication date
JP2002140285A (en) 2002-05-17

Similar Documents

Publication Publication Date Title
JP5629819B2 (en) Apparatus and method for using variable clock gating hysteresis in communication port
US5721860A (en) Memory controller for independently supporting synchronous and asynchronous DRAM memories
JP3598321B2 (en) Buffering data exchanged between buses operating at different frequencies
JP3749732B2 (en) Fast access to shared resources on the computer bus
KR102030126B1 (en) Apparatus and method for a reduced pin count(rpc) memory bus interface including a read data strobe signal
US6836829B2 (en) Peripheral device interface chip cache and data synchronization method
WO2000057267A1 (en) Arbitration methods and systems for arbitrating access to a disk controller memory
WO1996029652A1 (en) Rule-based dram controller
US20100325375A1 (en) Data-access control device and data-access control method
TW201009575A (en) Memory access controlling apparatus and control method thereof
KR100288177B1 (en) Memory access control circuit
TW202215246A (en) Adaptive memory transaction scheduling
JP3520032B2 (en) Data processing device
US6738840B1 (en) Arrangement with a plurality of processors having an interface for a collective memory
JP3666580B2 (en) DMA transfer control device
WO2004068362A1 (en) Processor array
JP2023536056A (en) Memory calibration system and method
JP2004310547A (en) Information processor, memory, information processing method and program
US6535519B1 (en) Method and apparatus for data sharing between two different blocks in an integrated circuit
US8402233B2 (en) Method and apparatus for high throughput mass storage device interface in a microprocessor for handheld systems
US8341322B2 (en) Device and method for scheduling transactions over a deep pipelined component
US20080228961A1 (en) System including virtual dma and driving method thereof
JP3492139B2 (en) Data transfer method via bus and bus master controller
JPH06168202A (en) Bus wait device
JP3765351B2 (en) Bus control method and bus control device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040422

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040709

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050329

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080415

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees