JP2005293435A - データ転送装置およびその設定方法 - Google Patents
データ転送装置およびその設定方法 Download PDFInfo
- Publication number
- JP2005293435A JP2005293435A JP2004110622A JP2004110622A JP2005293435A JP 2005293435 A JP2005293435 A JP 2005293435A JP 2004110622 A JP2004110622 A JP 2004110622A JP 2004110622 A JP2004110622 A JP 2004110622A JP 2005293435 A JP2005293435 A JP 2005293435A
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- memory
- bus
- data
- cpu
- 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.)
- Withdrawn
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】転送先アドレスや転送元アドレスなどをバスブリッジに設定するためのCPU負担を軽減することで、独立した異なるシステムバス上のメモリからメモリにデータ転送する際の実質的な転送速度を高速化する。
【解決手段】第1DMAコントローラ32は第1バス11側の第1メモリ13とFIFOメモリ31との間でのデータ転送を制御し、第2DMAコントローラ33は第2バス21側の第2メモリ23とFIFOメモリ31との間でのデータ転送を制御する。転送元アドレス、転送先アドレス、転送量など転送に必要なすべての情報は第1バス11側の第1CPU12から第1DMAコントローラ32と第2DMAコントローラ33とに設定される。データ転送に先だって第1CPU12と第2CPU22との間で情報交換したり同期をとったりする手間が軽減され、実質的な高速化が図られる。
【選択図】図1
【解決手段】第1DMAコントローラ32は第1バス11側の第1メモリ13とFIFOメモリ31との間でのデータ転送を制御し、第2DMAコントローラ33は第2バス21側の第2メモリ23とFIFOメモリ31との間でのデータ転送を制御する。転送元アドレス、転送先アドレス、転送量など転送に必要なすべての情報は第1バス11側の第1CPU12から第1DMAコントローラ32と第2DMAコントローラ33とに設定される。データ転送に先だって第1CPU12と第2CPU22との間で情報交換したり同期をとったりする手間が軽減され、実質的な高速化が図られる。
【選択図】図1
Description
本発明は、独立した異なるシステムのメモリからメモリにデータ転送するデータ転送装置およびその設定方法に関する。
複数の独立したシステム間でデータ転送する場合、システム間でのクロック周波数などを吸収するために、バッファメモリを内蔵したバスブリッジをシステム間に介在させることが行なわれる。
通常、システム間のデータ転送は、一方のシステムのメモリと他方のシステムのデバイスとの間あるいはデバイスとデバイスとの間で行なわれる。しかしながら、画像データのように情報量の大きなデータの場合には、デバイスに直接データを転送するとデバイス側で処理できなくなる場合(たとえば回転処理など)があり、システム間のメモリからメモリへデータを転送する必要の生じることがある。
図2は、独立した異なるバス上のメモリからメモリにバスブリッジを使用してデータ転送するシステムの構成および動作の一例を示している。第1バス101には、第1CPU(中央処理装置)102と第1メモリ103とが接続されており、第2バス111には、第2CPU112と第2メモリ113とが接続されている。第1バス101と第2バス111とはバスブリッジ120を介して接続されている。
バスブリッジ120は、バッファメモリとしてのFIFO(ファースト・イン・ファースト・アウト)メモリ121と、第1DMA(ダイレクト・メモリ・アクセス)コントローラ122と第2DMAコントローラ123とを備えている。第1DMAコントローラ122は、第1バス101側の第1メモリ103とFIFOメモリ121との間でのデータ転送を制御し、第2DMAコントローラ123は第2バス111側の第2メモリ113とFIFOメモリ121との間でのデータ転送を制御する。
このような構成のシステムにおいて第2バス111に接続された第2メモリ113から第1バス101に接続された第1メモリ103にデータ転送する際の手順は以下のようになる。
(1):第2バス111側の第2CPU112と第1バス101側の第1CPU102との間で、今回のデータ転送を同期して行なうための情報をやり取りする。
(2):第2CPU112は、転送すべきデータの第2メモリ113内での先頭アドレス(転送元アドレス)と、転送するデータサイズ(転送量)とを第2DMAコントローラ123に設定する。
(3):第1CPU102は、第2メモリ113から転送されてくるデータを格納すべき領域の第1メモリ103内での先頭アドレス(転送先アドレス)と、格納すべきデータサイズ(転送量)とを第1DMAコントローラ122に設定する。
(4):上記(2)、(3)の設定に基づき第1DMAコントローラ122および第2DMAコントローラ123はFIFOメモリ121を制御してDMA転送を行なう。
(5):第1DMAコントローラ122および第2DMAコントローラ123の制御により、第2バス111側の第2メモリ113からFIFOメモリ121を介して第1バス101側の第1メモリ103にデータが転送される。
このほか、システム間でデータ転送する際のCPU負担を軽減するための技術が提案されている。たとえば、バスブリッジを介してシステムバスとローカルバスとが接続されたシステムにおいて、ローカルバス上に接続された複数のデバイスの割り込み要因を、バスブリッジのDMA転送機能を使用してシステム上のメインメモリに転送することで、システムバス側のCPUにローカル側の割り込み要因を容易に認識させるようにしたものがある(特許文献2参照。)。
バスブリッジを介して独立した異なるシステム間でメモリからメモリへデータを転送する場合には、データ転送を同期して行なうための情報交換をCPU間で行なったり、転送元のバス側のCPUと転送先のバス側のCPUとがそれぞれバスブリッジに対して各種の設定を行なったりしなければならず、各CPUへの負担が大きかった。また、データ転送に先立ってCPU間で同期をとる必要があるので、データ転送を開始するまでの前処理に時間を要し、転送処理の高速化を妨げていた。特許文献2等に開示されている技術は、バスブリッジを経由したデバイス間でのデータ転送には有効であるが、独立した異なるシステム間のメモリからメモリへのデータ転送については、CPUの負担低減や処理効率の改善に寄与するものではなかった。
本発明は、上記の問題を解決しようとするものであり、転送先アドレスや転送元アドレスなどの設定に係わるCPU負担を軽減することで、独立した異なるシステムのメモリからメモリにデータ転送する際の実質的な転送速度を高速化することのできるデータ転送装置およびその設定方法を提供することを目的としている。
請求項1に係わる発明は、独立した異なるシステムのメモリからメモリにデータ転送するデータ転送装置に対して、
転送元アドレス、転送先アドレス、転送量など転送に必要な情報の設定を一方のシステムから行なう
ことを特徴とするデータ転送装置の設定方法である。
転送元アドレス、転送先アドレス、転送量など転送に必要な情報の設定を一方のシステムから行なう
ことを特徴とするデータ転送装置の設定方法である。
上記発明によれば、一のシステムのメモリから他の一のシステムのメモリへデータ転送するための設定をデータ転送装置に対して一方のシステムから行なう。一方のシステムからデータ転送に必要なすべての設定を行なうことで、データ転送に先だってシステム間で情報交換したり同期をとったりする必要がなくなる。この設定方法は、転送に必要な情報を設定する側のシステムが、他方のシステムのメモリ内におけるデータの格納アドレスを予め知っている場合に好適である。
メモリは各システムのバスに接続される。データ転送装置は、いわゆるバスとバスとを接続するバスブリッジとして構成される。データ転送装置に対する設定は、通常、システムに接続されたCPUが行なう。
転送に必要な情報は、一方のシステムから設定すればよく、そのシステムを固定的に定める必要はない。転送に必要な情報を設定するシステムを転送毎に変えてもよい。
請求項2に係わる発明は、独立した異なるシステムのメモリからメモリにデータ転送するデータ転送装置において、
転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから設定可能に構成した
ことを特徴とするデータ転送装置である。
転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから設定可能に構成した
ことを特徴とするデータ転送装置である。
請求項3に係わる発明は、独立した異なるシステムのメモリからメモリにデータ転送するデータ転送装置において、
バッファメモリ(31)と、
前記バッファメモリ(31)と第1のシステムに接続されたメモリ(13)との間でデータ転送する第1転送手段(32)と、
前記バッファメモリ(31)と第2のシステムに接続されたメモリ(23)との間でデータ転送する第2転送手段(33)と
を備え、
転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから前記第1転送手段(32)と第2転送手段(33)とに設定可能に構成した
ことを特徴とするデータ転送装置である。
バッファメモリ(31)と、
前記バッファメモリ(31)と第1のシステムに接続されたメモリ(13)との間でデータ転送する第1転送手段(32)と、
前記バッファメモリ(31)と第2のシステムに接続されたメモリ(23)との間でデータ転送する第2転送手段(33)と
を備え、
転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから前記第1転送手段(32)と第2転送手段(33)とに設定可能に構成した
ことを特徴とするデータ転送装置である。
上記発明によれば、転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから第1転送手段(32)と第2転送手段(33)の双方に設定することができる。第1転送手段(32)および第2転送手段(33)は、ダイレクト・メモリ・アクセス・コントローラなどで構成される。バッファメモリ(31)の種類は問わないが、FIFOメモリ(先入れ先出し式のメモリ)を使用すると、バッファメモリ(31)に対するアドレス管理が簡略化される。
本発明に係わるデータ転送装置およびその設定方法によれば、転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから設定するので、データ転送に先だってシステム間で情報交換したり同期をとったりする必要がなくなる。これにより、転送に必要な情報を設定するためのCPU負担が軽減され、実質的に転送速度を高速化することができる。
以下、図面に基づき本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係わるデータ転送装置としてのバスブリッジ30の構成および接続状態を示している。第1のシステムのシステムバスである第1バス11には、第1CPU12と第1メモリ13とが接続されている。第2のシステムのシステムバスである第2バス21には、第2CPU22と第2メモリ23とが接続されている。第1バス11と第2バス21とはバスブリッジ30を介して接続されている。ここでは、第1バス11と第1CPU12は共にPCI(Peripheral Component Interconnect)バスになっている。
バスブリッジ30は、バッファメモリとしてのFIFOメモリ31と、第1DMAコントローラ32と、第2DMAコントローラ33とを備えている。第1DMAコントローラ32は、第1バス11側の第1メモリ13とFIFOメモリ31との間でのデータ転送を制御する。第2DMAコントローラ33は第2バス21側の第2メモリ23とFIFOメモリ31との間でのデータ転送を制御するものである。ここでは、第1DMAコントローラ32および第2DMAコントローラ33の内部レジスタの設定は第1バス11上の第1CPU12から行なわれる。
第1DMAコントローラ32は、第1バス11のアドレスバスおよびデータバスと接続されている。また第1DMAコントローラ32の各内部レジスタは第1CPU12のアドレス空間上にマッピングされており、第1CPU12は、第1バス11を通じて第1DMAコントローラ32の各種設定レジスタにアクセス可能になっている。
第1DMAコントローラ32は、第1メモリ13とFIFOメモリ31との間でデータ転送する際には第1バス11のバスマスタとなり、アドレス信号やライト信号、リード信号などを第1バス11に送出するようになっている。FIFOメモリ31は第1バス11のデータバスと接続されており、第1DMAコントローラ32から入力される制御信号に応じて第1バス11にデータを送出したり第1バス11上のデータを内部に取り込んだりするようになっている。
第2DMAコントローラ33は、第1バス11のアドレスバスとデータバスに接続されており、各内部レジスタは第1CPU12のアドレス空間上にマッピングされている。第1CPU12は、第1バス11を通じて第2DMAコントローラ33の各種設定レジスタにアクセス可能になっている。
また第2DMAコントローラ33は、第2バス21のアドレスバスと接続されており、第2メモリ23とFIFOメモリ31との間でデータ転送する際には第2バス21のバスマスタとなり、アドレス信号やライト信号、リード信号などを第2バス21に送出するようになっている。FIFOメモリ31は第2バス21のデータバスと接続されており、第2DMAコントローラ33から入力される制御信号に応じて第2バス21にデータを送出したり第2バス21上のデータを内部に取り込んだりするようになっている。
次に、第2バス21に接続された第2メモリ23から第1バス11に接続された第1メモリ13へバスブリッジ30を用いてデータ転送する際の動作を説明する。
(1):第1CPU12は、転送すべきデータの第2メモリ23内での先頭アドレス(転送元アドレス)と、転送するデータサイズ(転送量)とを第2DMAコントローラ33に設定する(図1のP1)。
(2):第1CPU12は、転送するデータを格納すべき領域の第1メモリ13内での先頭アドレス(転送先アドレス)と、格納すべきデータサイズ(転送量)とを第1DMAコントローラ32に設定する(図1のP2)。
(3):上記(1)、(2)の設定に基づき第1DMAコントローラ32および第2DMAコントローラ33はFIFOメモリ31を制御してDMA転送を行なう。
(4):第1DMAコントローラ32および第2DMAコントローラ33の制御により、第2バス21側の第2メモリ23からFIFOメモリ31を介して第1バス11側の第1メモリ13にデータが転送される。
このように、システム間でメモリからメモリへデータ転送するために必要なすべての設定をバスブリッジ30に対して一方のシステムのCPUから行なうので、データの転送元システムのCPUと転送先システムのCPUとの間で同期をとる必要がなくなり、データ転送に先立つ処理が簡略化され、転送速度を実質的に高速化することができる。
転送すべきデータの第2メモリ23内での格納アドレスを第2CPU22が管理し、必要なデータがどこに格納されているかを第1CPU12が知らない場合には、第2CPU22が転送元アドレスや転送量を第2DMAコントローラ33に設置しなければならない。しかしながら、第2メモリ23から第1メモリ13に転送すべきデータの第2メモリ23内での格納アドレスを予め取り決めておけば、第1CPU12が第2メモリ23側のアドレス(転送元アドレス)等を第2DMAコントローラ33に設定することができる。本発明はこのような場合に好適である。
たとえば、フレームメモリに格納された画像データを第2メモリ23から第1メモリ13に転送するような場合、フレームメモリ内の各ページの先頭アドレスを予め取り決めておけば、一方のCPUがバスブリッジ30の第1DMAコントローラ32および第2DMAコントローラ33の双方に対してデータ転送に必要なすべての情報を設定することができる。これにより、データの転送元システムのCPUと転送先システムのCPUとの間で同期をとる必要がなくなり、処理が効率化され、実質的な高速化が実現される。
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。たとえば、FIFOメモリ31と第1DMAコントローラ32と第2DMAコントローラ33とを一組としたものを1つのバスブリッジ30に複数組内蔵してもよい。この場合、システム間でのデータ転送の方向を組毎に固定的に定めるとよい。
また実施の形態では、転送先システムのCPUからデータ転送に必要なすべての情報をバスブリッジ30に設定するように構成したが、転送元システムのCPUが設定するように構成してもよい。
バッファメモリはFIFOメモリに限定されず、転送されるデータを一時的に格納可能なメモリであればよい。また実施の形態では、PCIバスとPCIバスとをバスブリッジで接続する場合を例に説明したが、他の種類のバスを接続するものであってもかまわない。
11…第1バス
12…第1CPU
13…第1メモリ
21…第2バス
22…第2CPU
23…第2メモリ
30…バスブリッジ
31…FIFOメモリ
32…第1DMAコントローラ
33…第2DMAコントローラ
12…第1CPU
13…第1メモリ
21…第2バス
22…第2CPU
23…第2メモリ
30…バスブリッジ
31…FIFOメモリ
32…第1DMAコントローラ
33…第2DMAコントローラ
Claims (3)
- 独立した異なるシステムのメモリからメモリにデータ転送するデータ転送装置に対して、
転送元アドレス、転送先アドレス、転送量など転送に必要な情報の設定を一方のシステムから行なう
ことを特徴とするデータ転送装置の設定方法。 - 独立した異なるシステムのメモリからメモリにデータ転送するデータ転送装置において、
転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから設定可能に構成した
ことを特徴とするデータ転送装置。 - 独立した異なるシステムのメモリからメモリにデータ転送するデータ転送装置において、
バッファメモリと、
前記バッファメモリと第1のシステムに接続されたメモリとの間でデータ転送する第1転送手段と、
前記バッファメモリと第2のシステムに接続されたメモリとの間でデータ転送する第2転送手段と
を備え、
転送元アドレス、転送先アドレス、転送量など転送に必要な情報を一方のシステムから前記第1転送手段と第2転送手段とに設定可能に構成した
ことを特徴とするデータ転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004110622A JP2005293435A (ja) | 2004-04-05 | 2004-04-05 | データ転送装置およびその設定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004110622A JP2005293435A (ja) | 2004-04-05 | 2004-04-05 | データ転送装置およびその設定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005293435A true JP2005293435A (ja) | 2005-10-20 |
Family
ID=35326265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004110622A Withdrawn JP2005293435A (ja) | 2004-04-05 | 2004-04-05 | データ転送装置およびその設定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005293435A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007299116A (ja) * | 2006-04-28 | 2007-11-15 | Fuji Xerox Co Ltd | 画像処理装置 |
JP2013205928A (ja) * | 2012-03-27 | 2013-10-07 | Fujitsu Semiconductor Ltd | 半導体集積回路およびそのdma制御方法 |
CN112749112A (zh) * | 2020-12-31 | 2021-05-04 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
US11321249B2 (en) | 2018-03-26 | 2022-05-03 | Samsung Electronics Co., Ltd. | Mechanism to autonomously manage SSDS in an array |
-
2004
- 2004-04-05 JP JP2004110622A patent/JP2005293435A/ja not_active Withdrawn
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007299116A (ja) * | 2006-04-28 | 2007-11-15 | Fuji Xerox Co Ltd | 画像処理装置 |
JP4687553B2 (ja) * | 2006-04-28 | 2011-05-25 | 富士ゼロックス株式会社 | 画像処理装置 |
JP2013205928A (ja) * | 2012-03-27 | 2013-10-07 | Fujitsu Semiconductor Ltd | 半導体集積回路およびそのdma制御方法 |
US9323700B2 (en) | 2012-03-27 | 2016-04-26 | Socionext Inc. | Semiconductor integrated circuit and DMA control method of the same |
US11321249B2 (en) | 2018-03-26 | 2022-05-03 | Samsung Electronics Co., Ltd. | Mechanism to autonomously manage SSDS in an array |
US11775454B2 (en) | 2018-03-26 | 2023-10-03 | Samsung Electronics Co., Ltd. | Mechanism to autonomously manage SSDs in an array |
CN112749112A (zh) * | 2020-12-31 | 2021-05-04 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
CN112749112B (zh) * | 2020-12-31 | 2021-12-24 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478189B2 (en) | Deadlock avoidance in a bus fabric | |
JP2004171209A (ja) | 共有メモリデータ転送装置 | |
JP2006293927A (ja) | ダイレクトメモリアクセス制御装置及びダイレクトメモリアクセス制御装置を含むシステムlsi | |
US6253275B1 (en) | Interrupt gating method for PCI bridges | |
JP2005293435A (ja) | データ転送装置およびその設定方法 | |
US7340553B2 (en) | Data processing device and method for transferring data | |
JP5360594B2 (ja) | Dma転送装置及び方法 | |
JP2007226374A (ja) | データ処理装置 | |
JP2006285872A (ja) | マルチcpuシステム | |
JP2000227895A (ja) | 画像データ転送装置および画像データ転送方法 | |
JP2002215562A (ja) | Dma制御装置及び方法 | |
JP2008198119A (ja) | データ転送装置、データ転送システムおよびデータ転送方法 | |
JPS63292356A (ja) | Dma制御装置 | |
KR19990071122A (ko) | 다중 프로세서 회로 | |
JP2820054B2 (ja) | バスインタフェース装置 | |
JP2638505B2 (ja) | バスインタフェース装置 | |
JPS61224063A (ja) | デ−タ転送制御装置 | |
JP2011150613A (ja) | データ処理装置 | |
JP2010033314A (ja) | バスアクセス回路装置及びバスアクセス方法 | |
JPH07334453A (ja) | メモリアクセスシステム | |
JP2006229862A (ja) | 画像形成装置 | |
JPS6228874A (ja) | デ−タ転送方式 | |
JP2010026739A (ja) | タイミング調整装置、タイミング調整方法、タイミング調整プログラム及び記録媒体 | |
JP2007207269A (ja) | 画像処理装置及び画像処理システム | |
JP2018026004A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070605 |