JP2004178115A - データ転送装置 - Google Patents

データ転送装置 Download PDF

Info

Publication number
JP2004178115A
JP2004178115A JP2002341627A JP2002341627A JP2004178115A JP 2004178115 A JP2004178115 A JP 2004178115A JP 2002341627 A JP2002341627 A JP 2002341627A JP 2002341627 A JP2002341627 A JP 2002341627A JP 2004178115 A JP2004178115 A JP 2004178115A
Authority
JP
Japan
Prior art keywords
transfer
data
dma
boundary
buffer
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
JP2002341627A
Other languages
English (en)
Inventor
Tomoyuki Kitao
朋之 北尾
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 JP2002341627A priority Critical patent/JP2004178115A/ja
Publication of JP2004178115A publication Critical patent/JP2004178115A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Abstract

【課題】DMA転送を行う際に、CPUに対して負荷をかけることなく、高速データ転送を可能としたデータ転送装置を提供するものである。
【解決手段】DMA転送が完了すると、バウンダリ判別部2dにてバウンダリに満たない転送データがバッファ2a内にあるか否かが判別され、あると判断した場合には、その旨を示す信号をCPU3に送信し、CPU3から該バウンダリに満たない転送データをPIO転送する旨の信号をバウンダリ判別部2dに送信され、PIO転送されることでデータ転送が完了する。また、バウンダリに満たない転送データがないと判断した場合には、データ転送が完了することとなる。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、DMA(Direct Memory Access)転送方式を利用した高速データ転送装置に関するものである。
【0002】
【従来の技術】
DMA転送方式を利用した高速データ転送方式に関し、CPUとDMAコントローラとを有するデータ処理装置において、データを転送する際に語長で定まるアドレッシング方式に差があるか否かを判別するバウンダリ判別手段を有し、該バウンダリ判別手段がアドレッシング方式に差があるバウンダリ部と判別したとき、まずCPUにこのバウンダリ部の端数データをCPUに内蔵のレジスタを介してデータ転送した後、その他のデータをDMAコントローラによりDMA転送するようにしたデータ転送方式が知られている。ここで本明細書で用いるバウンダリとは、複数バイトの一括メモリアクセス時に所定の数で割り切れるアドレスにアクセスしなければならないという制限のことをいう。
【特許文献1】
特開平2―24756号公報
【0003】
【発明が解決しようとする課題】
しかしながら、上記特許文献1に記載の技術では、まずバウンダリ判別手段によって、アドレッシング方式に差があるか否かを判別し、該バウンダリ判別手段がアドレッシング方式に差があるバウンダリ部と判別したときCPUによってこのバウンダリ部の端数データをデータ転送した後、その他のデータをDMAコントローラによりDMA転送するようにしているので、例えばアドレッシング方式に差がない転送データである場合でもCPUに対して割り込みが発生する。
【0004】
CPUに対して割り込みが発生するとCPUに対して負荷をかけてしまうこととなり、高速データ転送に影響を及ぼすこととなる。
【0005】
本発明は、そのようなことに鑑みてなされたものであり、CPUに対して負荷をかけることなく、高速データ転送を可能としたデータ転送装置を提供するものである。
【0006】
【課題を解決するための手段】
CPUと、入出力機器とメモリ間あるいはメモリ相互間に介設されたI/Oバッファ部と、CPUを介すことなく直接データ転送を行うDMA転送を制御するDMAコントローラとを備えたデータ転送装置において、上記I/Oバッファ部は、転送データを一時貯留するためのバッファと、該バッファ内に貯留された転送データについてDMA転送の回数を割り出すDMA転送回数判別手段と、該DMA転送回数判別手段による判別結果を受けて転送回数分DMA転送を行うDMA転送制御部と、全てのDMA転送が完了した後バウンダリに満たない転送データがバッファ内にあるか否かを判別し、バウンダリに満たない転送データがあると判断した場合にはその旨を示す信号をCPUに送信するバウンダリ判別部を有するとともに、上記DMAコントローラには、転送データがDMA転送される毎にカウントされるカウンターを有し、CPUは、バウンダリ判別部から上記バウンダリに満たない転送データがバッファ内にあることを示す信号を受けた後、該バウンダリ判別部にPIO転送する旨の信号を送信することを特徴とするデータ転送装置である。
【0007】
この発明によれば、I/Oバッファ部にバウンダリ判別部を備え、全てのDMA転送が完了した後バウンダリに満たない転送データ(DMA転送1回分に満たない端数データ)がバッファ内にあるか否かを判別し、バウンダリに満たない転送データがあると判断した場合にはその旨を示す信号をCPUに送信するようにしている。したがって、全てのDMA転送が完了した後、バウンダリに満たない転送データがバッファ内にないと判断した場合には、CPUに信号は送信されない。したがって、CPUに対する割り込みは発生しないので、CPUに対して負荷をかけることがなく、高速データ転送が可能となる。
【0008】
【発明の実施の形態】
以下、本発明の実施形態について詳細に説明する。図1は、本発明を採用したデータ転送装置を示すブロック図である。図1を参照して、データ転送装置Sは、DMAコントローラ1と、I/Oバッファ2と、CPU3と、メモリ4と、バス5とによって主に構成されている。
【0009】
DMAコントローラ1は、I/Oバッファ2とメモリ4との間のデータ転送をCPU4を介すことなく直接データ転送を行うDMA転送を制御するものであり、該DMAコントローラ1は、転送データのDMA転送回数をカウントするカウンター1aを有している。このカウンター1aは、ソフトウエア等によりあらかじめ所定の設定値に設定されており、DMA転送の回数が前期所定値に達するとCPUに対して割り込み(図1の割り込み1)を発生させるようになっている。
【0010】
I/Oバッファ2は、図示しない入出力機器とメモリ4との間に介設されたものであり、転送データを一時貯留するためのバッファ2aと、該バッファ2a内に貯留された転送データについてDMA転送の回数を割り出すDMA転送回数判別手段2bと、該DMA転送回数判別手段2bによる判別結果を受けて転送回数分DMA転送を行うDMA転送制御部2cと、全てのDMA転送が完了した後バウンダリに満たない転送データがバッファ2a内にあるか否かを判別し、バウンダリに満たない転送データがあると判断した場合にはその旨を示す信号をCPU3に送信するバウンダリ判別部2dとによって構成されている。また、DMA転送回数判別手段2bには、これによって割り出されたDMA転送の回数を監視すべくカウンターが内蔵されている。
【0011】
CPU3は、PIO転送の制御及び各マクロの設定等を行うものであり、バス5はこれらDMAコントローラ1、I/Oバッファ2、CPU3あるいはメモリ4を接続するものである。尚,DMAコントローラ1とI/Oバッファ2とは信号ライン6によって接続されている。
【0012】
ここで、例えば図外の入出力機器からの書き込みデータを受信すると、まずI/Oバッファ2のバッファ2aにデータが貯えられ、それに応じてI/Oバッファ2からDMAコントローラ1に対してDMAREQが発行されるとともにバッファ2a内のデータがDMA転送される。これをを受けたDMAコントローラ1はバス5の調停を行うとともに、メモリ4への書き込み準備が可能となったところでI/Oバッファ2に対してDMAACKを返信する。これによりバッファ2a内のデータをCPU3の介在なしでメモリ4へと直接転送する。DMA転送回数判別手段2bによって割り出された転送回数分この動作が繰り返される。
【0013】
DMA転送が完了すると、バウンダリ判別部2dにてバウンダリに満たない転送データがバッファ2a内にあるか否かが判別され、あると判断した場合には、その旨を示す信号をCPU3に送信し、CPU3から該バウンダリに満たない転送データをPIO転送する旨の信号をバウンダリ判別部2dに送信され、PIO転送されることでデータ転送が完了する。また、バウンダリに満たない転送データがないと判断した場合には、データ転送が完了することとなる。したがって、バウンダリに満たない転送データがある場合には、CPUに対して割り込み(図1の割り込み2)が発生するが、バウンダリに満たない転送データがない場合にはCPUに対する割り込み(図1の割り込み2)が発生しないこととなる。よって、CPUに対して負荷をかけることがなく、高速データ転送が可能となる。
【0014】
図2は、上記構成におけるフローチャートを示したものであり、これについて説明する。ステップS1にてI/Oバッファ部2は図示しない入出力機器からのデータ受信を待機しており、データを受信すると、ステップS2に進む。ステップS2では図示しない入出力機器から受信した全データ量と、DMA転送をおこなう毎に内部で転送回数をカウントすることによって得られる転送すべき残りのデータ量をモニタしておき、転送すべき残りのデータ量がメモリのバウンダリ以上であればステップS6に進み、DMA転送をおこなう。1回のDMA転送後にステップS7に進み、図示しない入出力機器から受信したデータがすべて転送されたか否かの判別をおこなう。すべてのデータが転送されたならばステップS8へと進み、DMA転送は完了し、次の図示しない入出力機器からのデータ受信に備えるためにステップS1に戻る。ステップS7にてまだ転送すべきデータが残っているようであれば、ステップS2に戻り、残りデータがバウンダリに満たないかどうかの判別をおこなう。
【0015】
ステップS2にて残りのデータが転送先メモリのバウンダリに満たないようであれば最後のバウンダリに満たないデータはI/Oバッファ部2に残したままでステップS3へと進み、DMA転送は終了する。その後ステップS4に進み、CPU3に対してバウンダリに満たないデータを送信した旨を伝える割り込みを発行する。その後ステップ5へ進み、CPU3はその割り込みを受けてI/Oバッファ部2内に残ったデータをPIO転送にてメモリ4に転送し、再度DMAコントローラ1の設定をおこなうことで次の図示しない入出力機器からの受信データをDMA転送させることが可能となる。
【0016】
なお、上記実施例では常にメモリのバウンダリに満たないデータはDMA転送しないことになっているが、図示しない入出力機器の種類によっては受信データがバウンダリに満たないデータばかりであることも考えられる。その場合には常にデータの最後はPIO転送をおこなわなければならないことになり、逆に全体としてのパフォーマンスを低下させる原因になる。そうした場合のため、バウンダリに満たないデータも常にDMA転送できるように切り替えが可能なように構成しても良い。そうすることで、ソフトウェアの処理は軽減されたまま、全体のパフォーマンスを向上させることが期待できる。
【0017】
また、上記実施例では入出力機器からメモリへの転送について説明したが、メモリから入出力機器、あるいはメモリからメモリへの転送にも適応可能である。
【0018】
【発明の効果】
以上の説明から明らかなように、この発明によれば、I/Oバッファ部にバウンダリ判別部を備え、全てのDMA転送が完了した後バウンダリに満たない転送データがバッファ内にあるか否かを判別し、バウンダリに満たない転送データがあると判断した場合にはその旨を示す信号をCPUに送信するようにしている。したがって、全てのDMA転送が完了した後、バウンダリに満たない転送データがバッファ内にないと判断した場合には、CPUには信号は送信されない。したがって、CPUに対する割り込みは発生しないので、CPUに対して負荷をかけることがなく、高速データ転送が可能となる。
【図面の簡単な説明】
【図1】図1は本発明の一例を示すブロック図
【図2】図2は本発明の一例を示すフローチャート
【符号の説明】
1 DMAコントローラ
2 I/Oバッファ部
3 CPU
4 メモリ
5 バス

Claims (1)

  1. CPUと、入出力機器とメモリ間あるいはメモリ相互間に介設されたI/Oバッファ部と、CPUを介すことなく直接データ転送を行うDMA転送を制御するDMAコントローラとを備えたデータ転送装置において、
    上記I/Oバッファ部は、転送データを一時貯留するためのバッファと、該バッファ内に貯留された転送データについてDMA転送の回数を割り出すDMA転送回数判別手段と、該DMA転送回数判別手段による判別結果を受けて転送回数分DMA転送を行うDMA転送制御部と、全てのDMA転送が完了した後バウンダリに満たない転送データがバッファ内にあるか否かを判別し、バウンダリに満たない転送データがあると判断した場合にはその旨を示す信号をCPUに送信するバウンダリ判別部を有するとともに、
    上記DMAコントローラには、転送データがDMA転送される毎にカウントされるカウンターを有し、
    CPUは、バウンダリ判別部から上記バウンダリに満たない転送データがバッファ内にあることを示す信号を受けた後、該バウンダリ判別部にPIO転送する旨の信号を送信する
    ことを特徴とするデータ転送装置。
JP2002341627A 2002-11-26 2002-11-26 データ転送装置 Pending JP2004178115A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002341627A JP2004178115A (ja) 2002-11-26 2002-11-26 データ転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002341627A JP2004178115A (ja) 2002-11-26 2002-11-26 データ転送装置

Publications (1)

Publication Number Publication Date
JP2004178115A true JP2004178115A (ja) 2004-06-24

Family

ID=32703900

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002341627A Pending JP2004178115A (ja) 2002-11-26 2002-11-26 データ転送装置

Country Status (1)

Country Link
JP (1) JP2004178115A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019058874A1 (ja) * 2017-09-21 2019-03-28 株式会社デンソー 仮想化システム、仮想化プログラム、及び、記憶媒体

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019058874A1 (ja) * 2017-09-21 2019-03-28 株式会社デンソー 仮想化システム、仮想化プログラム、及び、記憶媒体
JP2019057162A (ja) * 2017-09-21 2019-04-11 株式会社デンソー 仮想化システム、仮想化プログラム、及び、記憶媒体
US11494221B2 (en) 2017-09-21 2022-11-08 Denso Corporation Hardware control core controlling operation of hardware devices by executing device drivers within the hardware control core used by virtual machine cores via shared memory having an uplink and downlink memory

Similar Documents

Publication Publication Date Title
US7171526B2 (en) Memory controller useable in a data processing system
JP2006502491A (ja) Usbおよび類似用途向けのdmaコントローラ
US20020184453A1 (en) Data bus system including posted reads and writes
KR100868395B1 (ko) Dma 전송을 수행하기 위한 장치 및 방법과 머신 판독 가능 매체
JP4642531B2 (ja) データ要求のアービトレーション
US6976110B2 (en) Method and apparatus for reducing interrupt latency by dynamic buffer sizing
US6584512B1 (en) Communication DMA device for freeing the data bus from the CPU and outputting divided data
US6883041B2 (en) Direct memory access device
JP2004178115A (ja) データ転送装置
JP2004227501A (ja) データ転送制御装置および方法
KR101109600B1 (ko) 직접 메모리 접근 제어를 이용한 데이터 전송 방법 및 그장치
JP2005165508A (ja) ダイレクトメモリアクセスコントローラ
US20050138236A1 (en) Direct memory access control device and method for automatically updating data transmisson size from peripheral
US6587390B1 (en) Memory controller for handling data transfers which exceed the page width of DDR SDRAM devices
US20020188771A1 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
US20070198754A1 (en) Data transfer buffer control for performance
JP3206656B2 (ja) バス上でのプリフェッチ装置およびプリフェッチ方法
JP5441219B2 (ja) 半導体装置及びシリアルインタフェース回路
JP2002259326A (ja) Dmaコントローラ及びdma転送方法
JP2594611B2 (ja) Dma転送制御装置
JP2007108858A (ja) ピン共有装置およびピン共有方法
JP3353368B2 (ja) バス中継装置
KR960003649B1 (ko) 통신용 마이크로컴퓨터 시스템
JP4097377B2 (ja) マイクロコンピュータ
JP2003036241A (ja) ウェイトサイクル制御装置およびウェイトサイクル制御方法