JP2005128931A - Dma転送装置 - Google Patents

Dma転送装置 Download PDF

Info

Publication number
JP2005128931A
JP2005128931A JP2003365967A JP2003365967A JP2005128931A JP 2005128931 A JP2005128931 A JP 2005128931A JP 2003365967 A JP2003365967 A JP 2003365967A JP 2003365967 A JP2003365967 A JP 2003365967A JP 2005128931 A JP2005128931 A JP 2005128931A
Authority
JP
Japan
Prior art keywords
data
dma transfer
cpu
bus
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.)
Pending
Application number
JP2003365967A
Other languages
English (en)
Inventor
Takeshi Nishimura
武司 西村
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Mita Corp
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 Kyocera Mita Corp filed Critical Kyocera Mita Corp
Priority to JP2003365967A priority Critical patent/JP2005128931A/ja
Publication of JP2005128931A publication Critical patent/JP2005128931A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】 バスの混み具合に応じて上記割込信号をCPUへ出力することにより,CPUの処理開始時期の遅延を防止し,且つ,信頼性の高いDMA転送を実現すること。
【解決手段】 上記DMA転送装置によってデータの転送元から最終データが読み出された後に,上記DMA転送装置によって上記最終データをデータの転送先に書き込むための書込信号が上記バスに出力され,上記バスから出力された上記書込信号に対する書込応答信号を上記DMA転送装置が受信した後に,上記データの転送先からの所定の応答信号を上記バスを介して上記DMA転送装置が受信したことを条件に,上記バスの占有を開放する割込信号が上記CPUに出力されるため,データが転送元から転送先へ完全に書き込まれた時点でCPUに割込信号が出力される。
【選択図】図1

Description

本発明は,CPUを介することなく占有したバスを介して一連のデータを転送するDMA転送方式に基づいてデータの転送を実行するDMA転送装置に関するものである。
所定の入出力装置とメモリ或いはHDD等の記憶媒体との間で高速にデータの転送を行う手法の一つに,DMA転送方式(Direct Memory Access 転送方式)がある。このDMA転送方式に基づくデータ転送(以下,「DMA転送」という。)を行うためには,DMA転送を実行するDMA転送装置(Direct Memory Access Controller,以下「DMAC」と称す。)という新たなハードウェアを必要とするものの,CPU等の中央演算処理装置により干渉されずに,上記入出力装置と記憶媒体との間でバス等を介して直接的にデータ転送が行われるため,転送効率が非常に良く,また,CPUがDMA転送に関与しないため,CPUの処理負担が軽減され,システム全体の処理速度の高速化を図ることができる。そのため,近年,上記DMA転送方式によるデータ転送が広く利用されている。
このようなDMA転送を行う場合,従来は以下の問題があった。即ち,従来のDMACは,データが転送元からバスに読み出され,その後,バスに対して転送先へデータを転送させる転送要求の書き込みが完了した時点で上記CPUに割込信号(バスの占有を開放することを示す信号)を出力していたため,データの転送先に全データが完全に書き込まれていないにもかかわらず,CPUによる処理が開始され,このCPUが転送未完了のデータを処理することにより装置の誤動作が生じるという問題があった。しかしながら,かかる問題は,特許文献1に記載された割込信号発生回路を上記DMACに設けることにより解決され得る。この割込信号発生回路は,DMA転送が実行された場合に,(イ)転送先のメモリの容量が“空”であること,(ロ)データ転送が終了したこと,(ハ)上記DMA制御回路による上記メモリへの書込信号が一定時間存在しないこと,の3つの条件を満たすがどうかを判断し,かかる3条件を満たすと判断された場合に,CPUに対して割込信号を出力するよう構成されている。これにより,データの転送が完全に終了した後に上記割込信号がCPUに対して出力されるため,信頼性の高い転送処理を実現することが可能となる。尚,上記(ハ)の条件は,タイマを用いて予め設定された時間内に上記書込信号があるか否かにより判断される。
特開平05−28093号公報
しかしながら,データの転送処理にかかる時間は,バスの混雑具合(混み具合)によって変動する(一定ではない)ため,上記特許文献1の上記混雑具合を十分に勘案して上記タイマの設定時間を定める必要がある。通常,上記タイマ設定時間は,上記データ伝送媒体が最も混雑した状態を想定して設定されるが,上記割込信号発生回路では,上記バスが混雑しておらず,スムーズにデータの転送が完了した場合であっても,上記タイマ設定時間が経過するまでCPUへ割込信号が出力されないため,CPUによる処理の開始時期が遅延するという問題がある。
また,近年,回路集積技術の進歩により,上記DMACがメモリコントローラや外部I/F等とともにASIC(Application Specific Integrated Circuit:特定用途向けIC)等のICに組み込まれて利用される傾向にある。このようなASIC内の内部バスは非常に複雑な構造をしているため,転送データが上記内部バス内で長時間滞留されやすく,上記ASIC内におけるデータの転送時間が従来に増して長くなるため,上記タイマ設定時間が超過し,転送未完了の状態でCPUが処理を開始するおそれがある。また,上記タイマ設定時間を更に長い時間に設定すれば,上記割込信号のCPUへの出力タイミングが更に遅延し,CPUの処理開始時期が更に遅延するという問題がある。
従って,本発明は上記事情に鑑みてなされたものであり,その目的とするところは,バスの混み具合に応じて上記割込信号をCPUへ出力することにより,CPUの処理開始時期の遅延を防止し,且つ,信頼性の高いDMA転送を実現することができるDMA転送装置を提供することにある。
上記目的を達成するために本発明は,CPUを介することなく占有したバスを介して一連のデータを転送するDMA転送方式に基づいてデータの転送を実行するDMA転送装置において,上記DMA転送装置によってデータの転送元から最終データが読み出された後に,上記DMA転送装置によって上記最終データをデータの転送先に書き込むための書込信号が上記バスに出力され,上記バスから出力された上記書込信号に対する書込応答信号を上記DMA転送装置が受信した後に,上記データの転送先からの所定の応答信号を上記バスを介して上記DMA転送装置が受信したことを条件に,上記バスの占有を開放する割込信号を上記CPUに出力することを特徴とするDMA転送装置として構成されるものである。
これにより,データが転送元から転送先へ完全に書き込まれた時点でCPUに割込信号が出力されるので,装置の誤動作が生じず,信頼性の高いDMA転送を実現することが可能となる。また,例えば,データが短時間で転送された場合は,その転送後すぐにCPUへ割込信号が出力され,CPUの処理が早期に開始されるため,CPUの処理開始時期が遅延するという問題も解消される。
この場合,上記所定の応答信号が,上記書込信号を上記DMA転送装置が受信した後に,上記DMA転送装置から上記データの転送先に送信された応答要求信号に応じて上記データの転送先から出力された信号であることが望ましい。
以上説明したように,本発明によれば,上記DMA転送装置によってデータの転送元から最終データが読み出された後に,上記DMA転送装置によって上記最終データをデータの転送先に書き込むための書込信号が上記バスに出力され,上記バスから出力された上記書込信号に対する書込応答信号を上記DMA転送装置が受信した後に,上記データの転送先からの所定の応答信号を上記バスを介して上記DMA転送装置が受信したことを条件に,上記バスの占有を開放する割込信号を上記CPUに出力されるので,装置の誤動作が生じず,信頼性の高いDMA転送を実現することが可能となる。また,例えば,データが短時間で転送された場合は,その転送後すぐにCPUへ割込信号が出力され,CPUの処理が早期に開始されるため,CPUの処理開始時期が遅延するという問題も解消され得る。
以下添付図面を参照しながら,本発明の実施の形態について説明し,本発明の理解に供する。尚,以下の実施の形態は,本発明を具体化した一例であって,本発明の技術的範囲を限定する性格のものではない。
ここに,図1は本発明の実施の形態に係るDMA転送装置が搭載されたASICの内部の概略構成を示すブロック図,図2はDMA転送装置及びメモリコントローラと内部バスとのインターフェースを示すブロック図,図3は内部バスの構造を示す図,図4はDMA転送装置等において入出力される信号のタイミングチャートである。
ここで,図1のブロック図を用いて,本発明の実施の形態に係るDMA転送装置が搭載されたASIC1の内部構成の概略について説明する。
図1に示されるように,ASIC1は,DMAC2(DMA転送装置)と,CPU3と,メモリコントローラ4と,外部インターフェース6(以下,「I/F」略す。)とが内部バス8に接続されて構成されている。また,上記メモリコントローラ4はメモリ5と,上記I/F6は情報処理装置7とそれぞれデータ通信可能に接続さている。尚,本実施形態例の説明では,上記DMAC2がASIC1に搭載された例について説明するが,これに限定されることはなく,例えば,上記DMAC2が独立した装置として機能するものであってもよい。
上記DMAC2は,CPU3を介することなく占有したバスを介して一連のデータを転送するDMA転送方式に基づいてデータの転送を制御・実行する装置である。このDMAC2により実行されるDMA転送については後段において説明する。
上記CPU3は,上記ASIC1内の各装置或いはASIC1の外部に接続された装置等を統括制御する中央演算処理装置の一例である。このCPU3は上記ASICに搭載されたものでなくてもよく,上記ASIC1と外部接続されたものであってもよい。
上記メモリコントローラ4は,DMAC2やCPU3等からのアクセスに応じて,メモリ5に対するデータの書き込み/読み出しを制御するものである。このメモリコントローラ4に接続された上記メモリ5は,フラッシュメモリやスタティックRAM等の半導体メモリからなるものである。尚,上記メモリ5は半導体メモリに限られず,HDD,CD−R/RW等の記憶媒体であってもかまわない。また,本実施形態例では,上記DMAC2により上記メモリ5との間で実行されるデータ転送は,上記メモリコントローラ4を介して行われるものとして説明するが,上記メモリコントローラ4を介さずに直接的にメモリ5にアクセスしてデータ転送を行う実施形態例であってもかまわない。また,上記メモリ5が上記ASIC1に搭載されたものであってもよい。
上記I/F6は,情報処理装置7とASIC1とを接続してデータ通信を可能とするインターフェースであり,例えば,USB規格(USB2.0,USB-OTG等)やIEEE規格(IEEE1284,IEEE1394等)に準拠したインターフェースが該当する。尚,上記DMAC2により上記情報処理装置7との間で実行されるデータの転送は,上記I/F6を介して行われる。
次に,図3を用いて上記内部バス8について説明する。上記内部バス8は,転送されたデータを一時的に保管するFIFOメモリ42(以下,「FIFO」と称す。)や,圧縮されたデータ等を解凍するデコーダ43,データを転送している間に内部バス8に接続されたDMAC2やCPU3等から出力される後述の送信要求信号や受信要求信号等を受け付け,それらの要求に対して後述の送信応答信号や受信応答信号を出力する調停器41(或いは調停回路)等を備えている。この調停器41は,上記DMAC2やCPU3等からの要求或いは信号を受信した順番に内部バスの使用を認めるものである。また,この内部バス8の上記FIFO42には,上記DMAC2だけでなく,CPU3や他の制御装置により転送或いは送受信された転送データや信号が蓄えられることもあるため,DMAC2により上記内部バス8にデータが読み出されたとしても,すぐにデータが転送先に転送されるとは限らない。
ここで,上記DMAC2により実行されるDMA転送について説明する。DMAC2が,例えば,上記I/F6からのDMA転送要求を受信すると,DMAC2は該DMA転送要求に含まれる転送データに関する情報(データサイズ,転送先アドレス,転送元アドレス等)を上記DMAC2内の不図示の情報メモリに記憶するとともに,CPU3に対して内部バス8の開放を要求するためのDMA転送要求信号(dmareq,図4の(b))を送信する。その後,CPU3から出力された内部バス8を開放したこと示すDMA転送応答信号(dmaack,図4の(a))を受信すると,DMAC2は内部バス8を占有してDMA転送を開始する。
続いて,図2のブロック図及び図4のタイミングチャートを用いて,上記情報処理装置7から送り出されて上記I/F6に到達したデータが内部バス8に読み出される動作(Read動作)について説明する。尚,図2のTXVldは送信要求信号,TXAckは上記送信応答信号,TXD(TXD1,TXD2,TXD3)は送信データ,RXVldは受信要求信号,RXAckは受信応答信号を示す。また,図2にはメモリコントローラ4と内部バス8とのインターフェースを示しているが,I/F6と内部バス8とのインターフェースも同じよう構成されている。
上記DMA転送応答信号が受信され,DMAC2により内部バス8が占有されると,上記DMAC2により,上記内部バス8の調停器41に対して上記I/F6のデータを読み出すためにRXVld(c1)が発行(アサート)され,これと同時にTXD1を内部バス8に送信する。このTXD1は,上記I/F6からデータを読み出すために必要な情報,即ち,データの読み出し元(転送元)であるI/F6のアドレス情報,転送データのデータサイズ等の情報が含まれたデータである。また,TXD1には,上記DMAC自身のアドレス情報も含まれている。その後,DMAC2は,上記I/F6から後述するRXAck(h)が発行されるまで待機する。このように上記DMAC2自身のアドレス情報を上記TXD1に含めることにより,後に述べるRXAck(h)が上記I/F6から上記DMAC2に返信される。
上記調停器41により上記RXVld(c1)及び上記TXD1が受け取られると,上記調停器41は,TXD1内の転送元アドレスやデータサイズ等の情報を参照して,I/F6に対してRXVld(g)を発行し,上記I/F6から転送するデータの読み出しを行う。上記調停器41による上記TXD1内のデータサイズのデータの読み出しが終了すると,上記I/F6は上記TXD1内の上記DMAC2のアドレス情報を参照して,上記DMAC2に対してRXAck(h)を発行する。上記DMAC2は,このRXAck(h)を受けとることにより,上記I/F6からの読み出し動作を完了する。
次に,図2のブロック図及び図4のタイミングチャートを用いて,上記情報処理装置7から送り出されて上記I/F6に到達したが内部バス8に読み出されたデータをメモリコントローラ4に書き込む動作(Write動作)について説明する。
上記RXAck(h)を受けとることにより読み出し動作が完了すると,続いてDMAC2により書き込み動作が行われる。まず,上記DMAC2により,上記内部バス8の調停器41に対して,読み出されたデータをメモリコントローラ4に書き込むためにTXVld(e)が発行(アサート)され,これと同時にTXD2を内部バス8に送信する。このTXD2は,内部バス8内のデータをメモリコントローラ2に書き込むために必要な情報,即ち,データの書き込み先(転送先)であるメモリコントローラ4のアドレス情報,転送データのデータサイズ等の情報が含まれたデータである。上記TXVld(e)が発行され,上記TXD2が上記調停器41による受け取られると,調停器41は実際に全データがメモリコントローラ4に書き込まれたか否かに関わらず,上記DMAC2に対してTXAck(f)を発行する。
上記調停器41により上記TXVld(e)及び上記TXD2が受け取られると,上記調停器41は,TXD2内の転送先アドレスやデータサイズ等の情報を参照して,メモリコントローラ4に対してTXVld(k)を発行する。これにより,上記メモリコントローラ4は内部バス8内のデータを受け取り,データの受信が完了すると上記内部バスに対してTXAck(l)が発行される。上記調停器41はこのTXAck(l)を受けとることにより,上記メモリコントローラ4へのデータの書き込み動作が完了する。尚,転送されたデータは,最終的に上記メモリコントローラ4によりメモリ5に書き込まれる。
従来は,上記DMAC2が上記TXAck(f)を受け取ることによりデータの転送が完了したとみなして,或いは,上記TXAck(f)の受信後所定時間経過した後にデータの転送が完了したとみなして上記CPU3に対して割込信号を送信していた。しかし,本発明の実施形態に係るDMAC2は,該DMAC2によって上記I/F6(データの転送元)から最終データが読み出された後に,上記DMAC2によって上記最終データを上記メモリコントローラ4(データの転送先)に書き込むためのTXVld(e)(書込信号)が上記内部バス8に出力され,この内部バス8から出力されたTXAck(f)(上記書込信号に対する書込応答信号)を上記DMAC2が受信した後に,上記DMAC2から上記メモリコントローラ4(データの転送先)に送信されたRXVld(c2)(応答要求信号)に応じて上記データの転送先から出力されたRXAck(j)(応答信号)を上記内部バス8を介して該DMAC2が受信したことを条件に,上記内部バス8の占有を開放する割込信号が上記CPU3に出力されるため,データが上記I/F6から上記メモリコントローラ4に完全に書き込まれた(転送された)時点でCPU3に割込信号が出力される。
具体的には,まず,上記DMAC2は上記TXAck(f)を受信したことをデータ転送の完了とみなさずに,このTXAck(f)を受信した直後に上記メモリコントローラ4に対して上述の読み出し動作を行う。即ち,上記DMAC2は,上記調停器41に対して上記メモリコントローラ4内のデータを読み出すためにRXVld(c2)を発行し,これと同時にTXD3(メモリコントローラ4のアドレス情報,データサイズ,上記DMAC2自身のアドレス情報等のデータ)を内部バス8に送信し,その後,上記メモリコントローラ4からRXAck(j)が発行され,これを受信するまで待機する。本実施形態に係るDMAC2は,従来とは異なり,このRXAck(j)を受信することにより,データの転送が完了したとみなして,受信後に上記CPU3に対して割込信号を送信するものである。尚,上述したように,上記調停器41は,上記DMAC2やCPU3等からの要求或いは信号を受信した順番に内部バス8の使用を認めるものであるため,上記調停器41に対するデータ転送の要求後になされた上記応答要求信号に対する応答信号が上記DMAC2により確認されれば,先に行われたデータ転送が既に完了しているとみなすことができる。
このように,上記メモリコントローラ4から上記DMAC2に出力された上記応答信号の受信を条件に上記CPU3に対して上記割込信号を出力することにより,CPUによる誤動作や誤処理が生じず,信頼性の高いDMA転送を実現することが可能となり,また,CPUの処理開始時期が遅延するという問題も解消され得る。
本DMA転送装置は,画像処理装置,画像形成装置において画像データの転送装置として利用可能である。
本発明の実施の形態にDMA転送装置が搭載されたASICの内部の概略構成を示すブロック図。 DMA転送装置及びメモリコントローラと内部バスとのインターフェースを示すブロック図。 内部バスの構造を示す図。 DMA転送装置等において入出力される信号のタイミングチャート。
符号の説明
1…ASIC
2…DMA転送装置(DMAC)
3…CPU
4…メモリコントローラ
5…メモリ
6…外部インターフェース
7…情報処理装置
8…内部バス
41…調停器
42…FIFOメモリ
43…デコーダ

Claims (2)

  1. CPUを介することなく占有したバスを介して一連のデータを転送するDMA転送方式に基づいてデータの転送を実行するDMA転送装置において,
    上記DMA転送装置によってデータの転送元から最終データが読み出された後に,上記DMA転送装置によって上記最終データをデータの転送先に書き込むための書込信号が上記バスに出力され,上記バスから出力された上記書込信号に対する書込応答信号を上記DMA転送装置が受信した後に,上記データの転送先からの所定の応答信号を上記バスを介して上記DMA転送装置が受信したことを条件に,上記バスの占有を開放する割込信号を上記CPUに出力することを特徴とするDMA転送装置。
  2. 上記所定の応答信号が,上記書込信号を上記DMA転送装置が受信した後に,上記DMA転送装置から上記データの転送先に送信された応答要求信号に応じて上記データの転送先から出力された信号である請求項1に記載のDMA転送装置。
JP2003365967A 2003-10-27 2003-10-27 Dma転送装置 Pending JP2005128931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003365967A JP2005128931A (ja) 2003-10-27 2003-10-27 Dma転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003365967A JP2005128931A (ja) 2003-10-27 2003-10-27 Dma転送装置

Publications (1)

Publication Number Publication Date
JP2005128931A true JP2005128931A (ja) 2005-05-19

Family

ID=34644459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003365967A Pending JP2005128931A (ja) 2003-10-27 2003-10-27 Dma転送装置

Country Status (1)

Country Link
JP (1) JP2005128931A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634975A (zh) * 2009-08-20 2010-01-27 广东威创视讯科技股份有限公司 一种实现dma数据传输的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634975A (zh) * 2009-08-20 2010-01-27 广东威创视讯科技股份有限公司 一种实现dma数据传输的方法及装置

Similar Documents

Publication Publication Date Title
US7725621B2 (en) Semiconductor device and data transfer method
US7340544B2 (en) Method of using bus and bus interface
JP4198376B2 (ja) バスシステム及びバスシステムを含む情報処理システム
US20060236001A1 (en) Direct memory access controller
JP2006113689A (ja) バスブリッジ装置およびデータ転送方法
JP2008015876A (ja) データアクセスシステム、データアクセス装置、データアクセス集積回路及びデータアクセス方法
KR100348545B1 (ko) 통신 dma 장치
US20190384523A1 (en) Control device, image forming apparatus incorporating the control device, control method, and non-transitory recording medium storing program
US20080320178A1 (en) DMA transfer apparatus
JP2011090485A (ja) パイプ調停回路、パイプ調停方法
JP2005128931A (ja) Dma転送装置
US20070186026A1 (en) System having bus architecture for improving CPU performance and method thereof
JP2006119724A (ja) Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム
JP2006285872A (ja) マルチcpuシステム
JP2005301714A (ja) マルチcpuシステム、そのデータ転送方法、及びそのプログラム
JP2004056376A (ja) 半導体装置及びデータ転送制御方法
JP2006189919A (ja) 電子機器、制御方法及びコンピュータプログラム
JP2008118211A (ja) データ転送装置及びデータ転送方法
JP4249741B2 (ja) バスシステム及びバスシステムを含む情報処理システム
KR101345437B1 (ko) 칩들간의 통신을 위한 인터페이스 장치 및 방법
JP5211537B2 (ja) インターフェース回路
JP2006092077A (ja) バスシステム
JP2006195810A (ja) メモリコントローラおよび高速データ転送方法
JP2006004038A (ja) データ転送制御装置
JP2007172510A (ja) Dma転送装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061016

A977 Report on retrieval

Effective date: 20090918

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100309