JP4456490B2 - Dma装置 - Google Patents
Dma装置 Download PDFInfo
- Publication number
- JP4456490B2 JP4456490B2 JP2005008008A JP2005008008A JP4456490B2 JP 4456490 B2 JP4456490 B2 JP 4456490B2 JP 2005008008 A JP2005008008 A JP 2005008008A JP 2005008008 A JP2005008008 A JP 2005008008A JP 4456490 B2 JP4456490 B2 JP 4456490B2
- Authority
- JP
- Japan
- Prior art keywords
- dma
- memory
- data
- descriptor
- controller
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Description
<1>CPU2は、DMAコントローラ4に対して、メモリ3に格納されたディスクリプタを読み出すよう指示する。
<3>DMAコントローラ4は、メモリコントローラ5を介して、メモリ3から読み出されたディスクリプタを受信する。
<6>メモリ3から、ディスクリプタに基づいてデータが読み出される。メモリ3から取り出されたデータは、データバス7を介してメモリコントローラ5に転送され、データは、メモリコントローラ5のプリフェッチバッファ(pre-fetch buffer)に格納される。
<10>DMAコントローラ4が要求したデータ量分のデータの、DMAコントローラ4への転送が完了すると、DMAコントローラ4は、CPU2に対して、DMA転送完了通知を送信して、処理を終了する。メモリ3から読み出されたデータは、DMAコントローラ4から所定のデバイスに転送される。
図1は、DMA転送に関わる回路の全体図である。ディスクリプタ管理装置1、メモリ3、DMAコントローラ4およびメモリコントローラ5を含んで構成される。
図4は、分割部12の回路構成図である。分割部12は、メモリ3から読み出したディスクリプタを、メモリコントローラ5を介して受信し、受信したディスクリプタを複数のサブディスクリプタに分割する。本実施形態においては、以下、分割数を3とする。ディスクリプタを3つに分割することで生成されたサブディスクリプタは、それぞれDMA転送を実行する3つのDMAコントローラ4に割り当てられる。
<2>DMA管理部13から通知されたDMAコントローラ4の状態がアイドル状態である場合、ディスクリプタ制御部11は、ディスクリプタ読み出し要求をメモリコントローラ5に対して送信する。
<4>分割部12が、受信したディスクリプタを3つに分割し、3つのサブディスクリプタ0、1および2を生成する。
<8>メモリ3から読み出された、サブディスクリプタ0に対応するデータがメモリコントローラ5のプリフェッチバッファに格納される。なお、プリフェッチバッファはメモリコントローラ5に複数個、本実施形態においては3個備えられており、3つのキューによって読み出されたデータがそれぞれのプリフェッチバッファに格納される。キューおよびプリフェッチバッファは、本実施形態においてはバッファ回路として動作し、バッファ回路は、データの読み出しに関する一連の処理の実行および読み出したデータの格納に用いられる。
<12>上記<9>の処理と同様に、プリフェッチバッファに格納されたデータは、順次DMAコントローラ4に転送される。メモリコントローラ5は、プリフェッチバッファの容量を超えない量である2キロバイトのデータを読み出すと、一旦、サブディスクリプタ1に対応するメモリ読み出し要求を解除する。
<16>サブディスクリプタ2に対応する、2+1.3=3.3キロバイト分のデータの転送が完了し、完了通知が送信される。
このように、1つのディスクリプタに対応するメモリ3からのデータ読み出しが、複数のサブディスクリプタによって複数回実行されるときは、その都度事前準備処理、バス使用権付与待ち動作を実行しなくとも、先立ってこれらの処理が実行されている。このため、バス使用権を付与されたバッファ回路においては、すぐにデータの読み出し処理を実行することができ、バスの未使用時間を短くすることができる。
ディスクリプタに対応するデータをメモリから読み出すDMA装置であって、
1つのディスクリプタを複数のサブディスクリプタに分割する分割手段と、
前記複数のサブディスクリプタに対応するデータを前記メモリから読み出すための複数の読み出し要求を生成する複数のDMAコントローラと、
前記複数の読み出し要求にしたがって、対応するデータを前記メモリから読み出すメモリコントローラと、
を備えたことを特徴とするDMA装置。
前記分割手段は、前記ディスクリプタを、前記DMAコントローラの数の前記サブディスクリプタに分割する
ことを特徴とする付記1に記載のDMA装置。
前記分割手段は、前記ディスクリプタを、所定の数の前記サブディスクリプタに分割する
ことを特徴とする付記1に記載のDMA装置。
前記複数のDMAコントローラの状態を管理するDMAコントローラ管理手段、
をさらに備え、
前記分割手段は、前記ディスクリプタを、前記DMAコントローラ管理手段によって前記メモリからデータを読み出すことが可能な状態と判断されたDMAコントローラの数に、前記サブディスクリプタを分割する
ことを特徴とする付記1に記載のDMA装置。
前記メモリコントローラは、複数のバッファ回路を含んで構成され、該複数のバッファ回路は、前記サブディスクリプタに対応するデータを、前記メモリから読み出して記憶する
ことを特徴とする付記1に記載のDMA装置。
前記バッファ回路は、他のバッファ回路が前記メモリからデータの読み出しを実行している間に、該メモリからデータを読み出すための準備処理を実行する
ことを特徴とする付記5に記載のDMA装置。
前記バッファ回路は、前記準備処理を実行した後、前記メモリとの間のバスの使用権限を付与されると、データを該メモリから読み出す処理を開始する
ことを特徴とする付記6に記載のDMA装置。
前記バッファ回路は、他のバッファ回路が前記メモリからデータの読み出しを実行している間に、該メモリとの間のバスの使用権限を付与されるための処理を実行する
ことを特徴とする付記5に記載のDMA装置。
前記複数のバッファ回路は、前記メモリからデータを読み出すための準備処理、該メモリとの間のバスの使用権限を付与されるための処理および該メモリからデータを読み出す一連の処理の一部を、他のバッファ回路の処理と互いに時間的に重複させて実行する
ことを特徴とする付記5に記載のDMA装置。
複数のDMAコントローラが、メモリコントローラを介して、ディスクリプタに対応するデータをメモリから読み出す処理において使用される、ディスクリプタ管理装置であって、
CPUからの指示に応じてディスクリプタを読み出す読み出し手段と、
読み出した1つのディスクリプタを複数のサブディスクリプタに分割する分割手段と、
前記複数のサブディスクリプタを前記複数のDMAコントローラに送信する送信手段と、
前記複数のDMAコントローラの全てについて、前記複数のサブディスクリプタに対応するデータを読み出す処理が完了すると、DMA転送が完了したことの通知を前記CPUに対して行う通知手段と
を備えたことを特徴とするディスクリプタ管理装置。
ディスクリプタに対応するデータをメモリから読み出すDMA転送方法であって、
1つのディスクリプタを複数のサブディスクリプタに分割し、
前記複数のサブディスクリプタに基づいて、対応する複数の読み出し要求を生成し、
前記複数の読み出し要求にしたがって、対応するデータを前記メモリから読み出す
処理を含むことを特徴とするDMA転送方法。
2 CPU
3 メモリ
4 DMAコントローラ
5 メモリコントローラ
6 コントロールバス
7 データバス
11 ディスクリプタ制御部
12 分割部
13 DMA管理部
Claims (5)
- ディスクリプタに対応するデータをメモリから読み出すDMA装置であって、
1つのディスクリプタを複数のサブディスクリプタに分割し、前記複数のサブディスクリプタを複数のDMAコントローラに分配して転送する分割手段と、
受信したサブディスクリプタに対応するデータの読み出し要求を、メモリコントローラに送信する前記複数のDMAコントローラと、
前記読み出し要求にしたがって、対応するデータを前記メモリから読み出す前記メモリコントローラと、を備え、
前記メモリコントローラは、前記複数のDMAコントローラのうちの1つのDMAコントローラが持つサブディスクリプタに対応したデータを読み出しているときに、前記複数のDMAコントローラのうちの他のDMAコントローラからの前記読み出し要求を受信し、前記他のDMAコントローラが持つサブディスクリプタに対応したデータを読み出すための準備処理をバスの使用権付与待ち動作を行なっている状態まで進めて待機させることを特徴とする、DMA装置。 - 前記複数のDMAコントローラの状態を管理するDMAコントローラ管理手段、
をさらに備え、
前記分割手段は、前記ディスクリプタを、前記DMAコントローラ管理手段によって前記メモリからデータを読み出すことが可能な状態と判断されたDMAコントローラの数に、前記サブディスクリプタを分割することを特徴とする請求項1に記載のDMA装置。 - 前記メモリコントローラは、複数のバッファ回路を含んで構成され、該複数のバッファ回路は、前記サブディスクリプタに対応するデータを、前記メモリから読み出して記憶することを特徴とする請求項1に記載のDMA装置。
- 前記バッファ回路は、他のバッファ回路が前記メモリからデータの読み出しを実行している間に、前記準備処理をバスの使用権付与待ち動作を行なっている状態まで進めて待機させることを特徴とする、請求項3に記載のDMA装置。
- 前記バッファ回路は、前記準備処理をバスの使用権付与待ち動作を行なっている状態まで進めて待機させた後、前記メモリとの間のバスの使用権限を付与されると、データを該メモリから読み出す処理を開始することを特徴とする請求項4に記載のDMA装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005008008A JP4456490B2 (ja) | 2005-01-14 | 2005-01-14 | Dma装置 |
| US11/196,469 US7640374B2 (en) | 2005-01-14 | 2005-08-04 | Data transfer apparatus by direct memory access controller |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005008008A JP4456490B2 (ja) | 2005-01-14 | 2005-01-14 | Dma装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2006195823A JP2006195823A (ja) | 2006-07-27 |
| JP4456490B2 true JP4456490B2 (ja) | 2010-04-28 |
Family
ID=36685280
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005008008A Expired - Fee Related JP4456490B2 (ja) | 2005-01-14 | 2005-01-14 | Dma装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7640374B2 (ja) |
| JP (1) | JP4456490B2 (ja) |
Families Citing this family (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006268753A (ja) * | 2005-03-25 | 2006-10-05 | Fujitsu Ltd | Dma回路及びコンピュータシステム |
| JP4836488B2 (ja) * | 2005-05-09 | 2011-12-14 | 株式会社東芝 | データ転送装置及び半導体集積回路装置 |
| JP2008210280A (ja) * | 2007-02-27 | 2008-09-11 | Fujitsu Ltd | 半導体装置及びdmaコントローラ |
| KR20080105390A (ko) * | 2007-05-30 | 2008-12-04 | 삼성전자주식회사 | 플래시 메모리에 사용되는 명령어들을 제어하는 방법 및장치 |
| JP4847407B2 (ja) * | 2007-07-19 | 2011-12-28 | 株式会社リコー | データ処理装置及びデータ処理方法 |
| JP4839489B2 (ja) * | 2008-02-06 | 2011-12-21 | Necシステムテクノロジー株式会社 | ディスクリプタ制御方法、ダイレクトメモリ転送装置およびプログラム |
| US8504736B2 (en) * | 2008-05-30 | 2013-08-06 | Sony Computer Entertainment America Inc. | File input/output scheduler |
| US20100088433A1 (en) * | 2008-10-03 | 2010-04-08 | An Chen Computer Co., Ltd. | Direct memory access (DMA) system |
| US8086766B2 (en) * | 2010-01-15 | 2011-12-27 | International Business Machines Corporation | Support for non-locking parallel reception of packets belonging to a single memory reception FIFO |
| US8868852B2 (en) | 2010-07-07 | 2014-10-21 | Marvell World Trade Ltd. | Interface management control systems and methods for non-volatile semiconductor memory |
| US9135168B2 (en) | 2010-07-07 | 2015-09-15 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error |
| US9141538B2 (en) | 2010-07-07 | 2015-09-22 | Marvell World Trade Ltd. | Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive |
| US8880651B2 (en) | 2011-07-25 | 2014-11-04 | Sony Computer Entertainment America, LLC | Method and system for efficient download of data package |
| JP5651622B2 (ja) * | 2012-03-07 | 2015-01-14 | 株式会社東芝 | データ伝送装置、データ伝送方法、及びプログラム |
| TW201339842A (zh) * | 2012-03-20 | 2013-10-01 | Copystar Backup & Storage Corp | 協同式匯流排仲裁多工架構及依該架構所進行之資料存取仲裁方法 |
| US8775694B2 (en) * | 2012-09-21 | 2014-07-08 | Atmel Corporation | ADC sequencing |
| CN107239420B (zh) * | 2012-11-21 | 2020-05-05 | 相干逻辑公司 | 具有散布处理器dma-fifo的处理系统 |
| KR20150122825A (ko) * | 2014-04-23 | 2015-11-03 | 에스케이하이닉스 주식회사 | 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치 |
| KR102180972B1 (ko) * | 2014-04-23 | 2020-11-20 | 에스케이하이닉스 주식회사 | 메모리 컨트롤 유닛 및 그것을 포함하는 데이터 저장 장치 |
| US9684615B1 (en) * | 2015-01-08 | 2017-06-20 | Altera Corporation | Apparatus and methods for multiple-channel direct memory access |
| US9715464B2 (en) | 2015-03-27 | 2017-07-25 | Microsoft Technology Licensing, Llc | Direct memory access descriptor processing |
| JP6698353B2 (ja) * | 2016-01-05 | 2020-05-27 | Necプラットフォームズ株式会社 | 情報処理装置、dma転送制御方法およびdma転送制御プログラム |
| JP2018116550A (ja) | 2017-01-19 | 2018-07-26 | Necプラットフォームズ株式会社 | 転送制御装置 |
| US11604748B2 (en) * | 2020-10-30 | 2023-03-14 | Microsoft Technology Licensing, Llc | Interconnect for direct memory access controllers |
| US20230100586A1 (en) * | 2021-09-24 | 2023-03-30 | Intel Corporation | Circuitry and methods for accelerating streaming data-transformation operations |
| US20230236889A1 (en) * | 2022-01-27 | 2023-07-27 | Microsoft Technology Licensing, Llc | Distributed accelerator |
| CN117112465B (zh) * | 2023-10-16 | 2024-10-15 | 北京象帝先计算技术有限公司 | Dma调度器及方法、片上系统、电子组件及设备 |
| CN120567801B (zh) * | 2025-07-31 | 2025-11-14 | 浪潮电子信息产业股份有限公司 | 一种数据传输方法、系统、产品、设备、介质及装置 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0696007A (ja) | 1992-09-17 | 1994-04-08 | Fujitsu Ltd | Dma転送方式 |
| JPH1049479A (ja) | 1996-08-01 | 1998-02-20 | Matsushita Electric Ind Co Ltd | マスタデバイス |
| DE60124484T2 (de) * | 2000-09-29 | 2007-09-06 | Ricoh Company, Ltd. | Datenverarbeitungsvorrichtung und DMA-Datenübertragungsverfahren |
| US7034838B2 (en) * | 2001-12-27 | 2006-04-25 | Ricoh Company, Ltd. | Information processing apparatus |
| JP4148680B2 (ja) | 2001-12-27 | 2008-09-10 | 株式会社リコー | 画像処理装置 |
| US7228550B1 (en) * | 2002-01-07 | 2007-06-05 | Slt Logic, Llc | System and method for making communication streams available to processes executing under control of an operating system but without the intervention of the operating system |
| JP2004040637A (ja) | 2002-07-05 | 2004-02-05 | Canon Inc | パケット通信装置及びパケット通信制御方法 |
| US7185151B2 (en) * | 2002-09-19 | 2007-02-27 | Ricoh Company, Ltd. | Data processing device characterized in its data transfer method, program for executing on a computer to perform functions of the device, and computer readable recording medium storing such a program |
-
2005
- 2005-01-14 JP JP2005008008A patent/JP4456490B2/ja not_active Expired - Fee Related
- 2005-08-04 US US11/196,469 patent/US7640374B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| US7640374B2 (en) | 2009-12-29 |
| JP2006195823A (ja) | 2006-07-27 |
| US20060161694A1 (en) | 2006-07-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4456490B2 (ja) | Dma装置 | |
| JP4480427B2 (ja) | リソース管理装置 | |
| JP2008242983A (ja) | データ処理装置、分散処理システム、データ処理方法、及びデータ処理プログラム | |
| JP5040050B2 (ja) | 複数チャネルdmaコントローラおよびプロセッサシステム | |
| JP2013097659A (ja) | 半導体データ処理装置、タイムトリガ通信システム及び通信システム | |
| CN1728118B (zh) | 资源分配管理方法和设备 | |
| KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
| JP2007079789A (ja) | 計算機システム及びイベント処理方法 | |
| CN1262934C (zh) | 具有不同资源访问方案的系统集成代理程序 | |
| JP2012043375A (ja) | データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置 | |
| CN115563038A (zh) | 基于dma控制器的数据处理系统、方法和数据处理设备 | |
| US8775767B2 (en) | Method and system for allocating memory to a pipeline | |
| CN106681948A (zh) | 可编程逻辑器件的逻辑控制方法及装置 | |
| CN119105980B (zh) | 一种dma系统和数据转存方法 | |
| JP2006338538A (ja) | ストリームプロセッサ | |
| US20090119429A1 (en) | Semiconductor integrated circuit | |
| JP2005293427A (ja) | データ転送処理装置及びデータ転送処理方法 | |
| CN101647002A (zh) | 多处理系统及方法 | |
| JP6817827B2 (ja) | アクセラレータ処理管理装置、ホスト装置、アクセラレータ処理実行システム、方法およびプログラム | |
| US8135878B1 (en) | Method and apparatus for improving throughput on a common bus | |
| JP2006079394A (ja) | データ処理装置 | |
| JP2007249635A (ja) | データ転送装置及びデータ転送方法 | |
| CN120448074B (zh) | 基于执行引擎的数据处理方法、设备、存储介质及产品 | |
| JP4170330B2 (ja) | 情報処理装置 | |
| JPH11175464A (ja) | 調停装置および方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060726 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090630 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090831 |
|
| 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: 20100202 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100205 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130212 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4456490 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140212 Year of fee payment: 4 |
|
| LAPS | Cancellation because of no payment of annual fees |