JP2003316721A - データ転送制御装置、データ転送装置及びデータ転送制御方法 - Google Patents
データ転送制御装置、データ転送装置及びデータ転送制御方法Info
- Publication number
- JP2003316721A JP2003316721A JP2002121741A JP2002121741A JP2003316721A JP 2003316721 A JP2003316721 A JP 2003316721A JP 2002121741 A JP2002121741 A JP 2002121741A JP 2002121741 A JP2002121741 A JP 2002121741A JP 2003316721 A JP2003316721 A JP 2003316721A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- transfer
- command
- header
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000010586 diagram Methods 0.000 description 14
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 101100116283 Arabidopsis thaliana DD11 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Landscapes
- Bus Control (AREA)
Abstract
データ転送制御装置及び方法を提供する。 【解決手段】 かかる課題を解決するために、本発明に
係るデータ転送制御装置は、データ入出力装置及び記憶
装置間のデータ転送において、転送データを構成するヘ
ッダについての記憶装置上の記憶領域アドレスを書込む
第1の書込手段と、転送データを構成するデータ本体に
ついての記憶装置上の記憶領域アドレスを書込む第2の
書込手段と、データ入出力装置に割り当てられたアドレ
スを記憶する記憶手段と、第1の書込手段及び第2の書
込手段に書込まれた記憶領域アドレス、又は、記憶手段
のアドレスに基づいて転送対象のデータを、記憶装置か
ら、又は、データ入出力装置から読取り、その読取った
データを所定の順序で、データ入出力装置、又は、記憶
装置へ転送する転送手段とを備える。
Description
び方法に関するものである。例えば、コンピュータシス
テムにおいて、データ転送制御をするDMA(Dire
ct Memory Access)コントローラを備
えたデータ転送装置に適用することができる。
のデータだけでなく、メモリとデバイス間のデータ転送
にも利用されている。
MAコントローラによる典型的なデータ転送について説
明する説明図である。なお、ここでは、図2に示すよう
に、デバイスをパケットトランスファー/レシーバとし
て説明する。
れるデータ送信処理では、DMAコントローラ102
は、メモリ103上にあるパケットデータをアクセス
し、パケットトランスファー/レシーバ101に転送す
る。このときに一連のパケット転送が終了したことを示
す送信完了通知信号をアサートする。
制御されるデータ受信処理では、DMAコントローラ1
02は、パケットトランスファー/レシーバ101から
の受信開始通知信号がアサートされることに起動し、パ
ケットトランスファー/レシーバ101上のバッファレ
ジスタからパケットデータを1ワードずつ取り出し、メ
モリ103上に転送する。また、DMAコントローラ1
02は、パケットトランスファー/レシーバ101から
の受信完了通知信号のアサートによってパケットデータ
の終了を知る。
ーンコマンドという手法が採用されている。図3は、こ
のチェーンコマンドについて説明する説明図である。
マンドをチェーンのように繋げて一連の処理を行なう方
式である。複数のコマンドから構成されたチェーンコマ
ンドは、メモリ103上に置かれており、一般的に各コ
マンドは、ソースアドレス、デストネーションアドレ
ス、制御ビット、データ長(転送数)を1組として構成
されている。
モリ103上のコマンドチェーンの先頭から1組のコマ
ンドをアクセスして取り出し、制御レジスタに設定し、
DMA転送を実行するものである。DMAコントローラ
102は、このコマンドについてのDMA転送が終了し
たら、次のコマンドをアクセスして取り出し、同じよう
に次のコマンドについてもDMA転送する。
たアドレス間でCPUの介在なしに連続的にDMA転送
ができるので、DMA転送に係るオーバーヘッドが少な
く、多くの装置で使用されている。
た従来のデータ転送装置は、転送データを1つのデータ
とした場合を想定したものであり、転送データを例えば
パケットデータとし、メモリ103上で、そのパケット
データのヘッダ部とデータ部分(データ本体)とをそれ
ぞれ分けて別々に管理する場合については次のような問
題があった。
ータ本体とを別々で管理する場合、そのパケットデータ
を送信する場合には、ヘッダ部とデータ部とを1つの連
続的なデータにする必要があり、また、パケットデータ
を受信する場合には、ヘッダ部とデータ部とを切り離す
必要があった。
は、DMA転送をする前に、ヘッダ部とデータ部とを組
み合せる若しくは切り離すというパケットデータの作成
・分離処理が必要となってしまい、パケットデータに係
るDMA転送のオーバーヘッドが大きくなるという問題
があった。
した場合において、データを送信するときに、転送パケ
ットのソースデータとなるヘッダ部とデータ部とについ
てそれぞれアドレスポインタを持たせ、またデータを受
信するとき、転送パケットのデストネーションデータと
なるヘッダ部とデータ部とについてそれぞれデストネー
ションポインタを持たせ、それぞれチェーンコマンドを
実行できる制御機構を備えるデータ転送装置が求められ
ている。
めに、第1の本発明に係るデータ転送制御装置は、デー
タ入出力装置と、ヘッダ及びデータ本体をそれぞれ分別
して記憶する記憶装置との間のデータ転送を制御するデ
ータ転送制御装置において、(1)転送データを構成す
るヘッダについての記憶装置上の記憶領域アドレスを書
込む第1の書込手段と、(2)転送データを構成するデ
ータ本体についての記憶装置上の記憶領域アドレスを書
込む第2の書込手段と、(3)データ入出力装置に割り
当てられたアドレスを記憶する記憶手段と、(4)第1
の書込手段及び第2の書込手段に書込まれた記憶領域ア
ドレス、又は、記憶手段のアドレスに基づいて転送対象
のデータを、記憶装置から、又は、データ入出力装置か
ら読取り、その読取ったデータを所定の順序で、データ
入出力装置、又は、記憶装置へ転送する転送手段とを備
えることを特徴とする。
は、データ入出力装置と転送データを構成する構成デー
タをそれぞれ分別して記憶する記憶装置間のデータ転送
を制御するデータ転送制御装置を備えたデータ転送装置
において、第1の本発明に係るデータ転送制御装置を有
することを特徴とする。
御方法は、第1のデータ転送制御装置を備えたものであ
って、そのデータ転送制御装置が、転送データを構成す
るヘッダについての記憶装置上の記憶領域アドレスを書
込み、転送データを構成するデータ本体についての記憶
装置上の記憶領域アドレスを書込み、データ入出力装置
に割り当てられたアドレスを記憶し、ヘッダの記憶領域
アドレス及びデータ本体の記憶領域アドレス、又は、デ
ータ入出力装置のアドレスに基づいて転送対象のデータ
を、記憶装置から、又は、データ入出力装置から読取
り、その読み取ったデータを所定の順序で、データ入出
力装置、又は、記憶装置へ転送することを特徴とする。
ついて図面を参照して詳説する。なお、本実施形態のデ
ータ転送システムは、図2に示す従来の構成と同様な構
成を備えチェーンコマンド方式とするが、本実施形態の
データ転送システムは、DMAコントローラの内部構成
に特徴があり、従来のDMAコントローラと異なる。
れているヘッダデータとユーザデータとの2つのデータ
をアクセスして、そのヘッダデータ(ヘッダ部分)とユ
ーザデータ(データ本体部分)とに基づいて、1つのパ
ケットデータとして転送できるDMAコントローラにつ
いて適用する。特に、第1の実施形態は、メモリに記憶
されているデータを、デバイスに転送する場合について
の適用である。
をパケットトランスファーとして説明する。
ータから1つのパケットデータ形成例について説明す
る。図4は、パケットデータの形成例について説明する
説明図である。
ダデータであり、(2−b)は転送元のユーザデータで
ある。すなわち、図2では、2つのソースデータ、ソー
ス1データとソース2データとを有しており、本実施形
態ではソース1データをヘッダデータとし、ソース2デ
ータをユーザデータとする。ここで説明の便宜上、転送
データのデータ長制約に基づいて、あるデータ長のデー
タを3分割する場合とする。
び転送元ユーザデータ(2−b)は、それぞれメモリ1
03上に置かれており、それぞれ転送される場合にアク
セスされうるものである。
ットトランスファー101へ転送される場合に、それぞ
れ対応する転送元のヘッダデータ(2−a)と転送元の
ユーザデータ(2−b)とから構成されるものである。
つまり、本実施形態において、パケットデータ(2−
c)は、ヘッダデータ(2−a)の転送の後に、ユーザ
データ(2−b)が転送されることにより、構成され得
るものである。
構成を示した説明図である。図5に示すように、本実施
形態では、3つのコマンドを繋げた場合について示す。
チェーンコマンドは、ヘッダデータ及びユーザデータの
転送数(パケット数)に応じた数のコマンドから構成さ
れており、コマンド1が実行された後に、次のコマンド
2、コマンド3…と順番に実行される。
ース1アドレス501と、ソース2アドレス502と、
制御用データ503と、データ長504とを有してい
る。
上に置かれているヘッダデータのポイントアドレスを示
すものである。
上に置かれているユーザデータのポイントアドレスを示
すものである。
エラーが発生したときに使用されるデータである。
2のユーザデータのデータ長である。各コマンドのユー
ザデータ長は、転送されるパケットデータと一定の関係
を有するため、チェーンコマンド上では指定しない。こ
のデータ長504は、初期設定の段階でDMAコントロ
ーラ102のレジスタによって設定される。
ラの構成について説明する。
トローラの内部構成を示したブロック図である。
Aコントローラ102は、ソース1アドレスカウンタ4
01と、ソース2アドレスカウンタ402と、デストネ
ーションアドレスレジスタ403と、コマンドアドレス
カウンタ404と、コマンド数ダウンカウンタ405
と、データ転送数カウンタ406と、ソース1転送数レ
ジスタ407と、ソース2転送数レジスタ408と、M
UX(アドレスマルチプレクサ)409と、データ転送
バッファ410とを有して構成されている。
Aコントローラ102が起動後、メモリ103上に置か
れているチェーンコマンドのうち対応するコマンドから
読み出されたソース1アドレス501を受け取り、その
ソース1アドレスを設定するものである。ソース1アド
レスカウンタ401は、ヘッダデータの転送に使用さ
れ、ヘッダデータを1ワードアクセスするたびにインク
リメントするものである。
Aコントローラ102が起動後、メモリ103上に置か
れているチェーンコマンドのうち対応するコマンドから
読み出されたソース2アドレス502を受け取り、その
ソース2アドレスを設定するものである。ソース2アド
レスカウンタ502は、ユーザデータの転送に使用さ
れ、ユーザデータを1ワードアクセスするたびにインク
リメントするものである。
は、DMAコントローラ102の初期設定の段階で、転
送先であるパケットトランスファー101のアドレスが
設定されるものである。ここで設定されるパケットトラ
ンスファー101のアドレスは、パケットトランスファ
ー101に割り付けられたアドレスなので固定的なもの
である。
設定の段階で、メモリ103上のチェーンコマンドのア
ドレスが設定され得るカウンタであり、そのメモリ10
3上のチェーンコマンドにアクセスするたびに1インク
リメントするものである。
設定の段階で、メモリ103上に置かれているチェーン
コマンドの長さ(例えばコマンド数)が設定され得るも
のであり、各コマンド分の転送が終了するたびに、1デ
ィクリメントするものである。
転送する毎に1インクリメントするものである。データ
転送数カウンタ406は、自身のカウンタ値と、後述す
るソース1転送数レジスタ407に設定されたデータ長
又はソース2転送数レジスタ408に設定された各コマ
ンド毎のユーザデータ長とを比較をして、その値が同じ
であるならば0に初期化するものである。
定の段階で、メモリ103上に置かれているヘッダデー
タのデータ長が設定されるものである。
ンド毎のユーザデータ長(転送数)が設定されるもので
ある。
である。MUX409は、DMAコントローラ102を
構成している各レジスタ、カウンタから転送に係るデー
タを受け取り、そのデータを選択してアドレスラインに
アドレス値を出力するものである。
中、メモリ103からリードしたデータを一時的に保持
するものであり、その保持後、その保持した転送データ
をデストネーション、すなわちパケットトランスファ1
01に転送するものである。
メモリ103上にあるデータをパケットトランスファ1
01に転送するデータ転送の動作について説明する。
ーラによるデータ転送のシーケンスを示したものであ
る。
Aコントローラによるデータ転送のシーケンスは、大き
く、初期設定処理、チェーンコマンドアクセス処理、ソ
ース1DMA転送処理、ソース1転送数判定処理、ソー
ス2DMA転送処理、ソース2転送数判定処理、コマン
ド数判定処理を有する。従って、以下ではこれらの処理
について図6を参照しながら説明する。
リへのライト、=mem[]はメモリからのリード、d
ev[]=はデバイス(すなわちパケットトランスフ
ァ)ヘのライト転送、=dev[]はデバイス(パケッ
トトランスファー)からのリードを示す。
コマンド、ヘッダデータ、ユーザデータを置いてあるも
のとする。
して初期設定が行なわれる。
アドレスは、コマンドアドレスカウンタ404に与えら
れ、メモリ103上にあるチェーンコマンドのアドレス
が設定される(s1)。
数)は、コマンド数ダウンカウント405に与えられ、
チェーンコマンドのコマンドの転送数が設定される(s
2)。
ダウンカウント405は、チェーンコマンドのコマンド
数が「3」と設定される。コマンド数ダウンカウント4
05は、各コマンドのデータ転送(ヘッダデータ転送及
びユーザデータ転送)が終了するたびに1ディクリメン
トする。
ス1転送数レジスタ407に与えられ、ヘッダデータ長
が設定される(s3)。例えば、本実施形態では、ヘッ
ダデータ長が「4」と設定されるとする。
るチェーンコマンドに対する初期設定が行なわれ、DM
Aコントローラ102は、それぞれの設定がされるとト
リガ信号に基づいて、図示しない起動用レジスタを起動
(ライト)する(s4)。
ンドは、メモリ103からアクセスされ、メモリ103
上に置かれているチェーンコマンドのうち、コマンド1
のソース1アドレス501が、ソース1アドレスカウン
タ401に与えられて設定される(s5)。すなわち、
コマンド1のヘッダデータのアドレスが、ソース1アド
レスカウンタ401に設定される。
ス2アドレス501は、ソース2アドレスカウンタ40
2に与えられて設定される(s6)。すなわち、コマン
ド1のユーザデータのアドレスが、ソース2アドレスカ
ウンタ402に設定される。
ータ長504は、ソース2転送数レジスタ408に与え
られて、コマンド1のユーザデータのデータ長が設定さ
れる(s7)。
転送がなされる。
ヘッダデータは、ソース1アドレスカウンタ401に設
定されたヘッダデータのアドレス(ソース1アドレス)
に基づいて、アクセスされ読み出される。その読み出さ
れたヘッダデータは、転送バッファ410に与えられ保
持される(s8)。
れているヘッダデータは、デストネーションアドレスカ
ウンタ403に設定されている転送先アドレスに基づい
て、パケットトランスファー101ヘ転送される(s
9)。
1、デストネーションアドレスカウンタ403、データ
転送数カウンタ406は、それぞれインクリメントされ
る(s10)。
送数カウンタ406において、データ転送数カウンタ4
06のカウンタ値と、ソース1転送数レジスタ407に
設定されているヘッダデータ長とが同じであるかどうか
判定される(s11)。
ば、まだ、ソース1アドレスのデータ(すなわち、ヘッ
ダデータ)の転送が終了していないので、再度(3)ソ
ース1DMA転送処理を繰り返す。
ば、ソース1アドレスのデータの転送が終了したことと
なり、次の(5)ソース2DMA転送処理に進む。
転送がなされる。
ユーザデータは、ソース2アドレスカウンタ402に設
定されたユーザデータのアドレス(ソース2アドレス)
に基づいて、アクセスされ読み出される。その読み出さ
れたユーザデータは、転送バッファ410に与えられ保
持される(s12)。
れているユーザデータは、デストネーションアドレスカ
ウンタ403に設定されている転送先アドレスに基づい
て、パケットトランスファー101ヘ転送される(s1
3)。
2、デストネーションアドレスカウンタ403、データ
転送数カウンタ406は、それぞれインクリメントされ
る(s14)。
送数カウンタ406において、データ転送数カウンタ4
06のカウンタ値と、ソース2転送数レジスタ408に
設定されているユーザデータ長とが同じであるかどうか
が判定される(s15)。
ば、まだ、ソース2アドレスのデータ(すなわち、ユー
ザデータ)が転送終了していないので、(5)ソース2
DMA転送を繰り返す。
は、ソース2アドレスのデータの転送が終了したことと
し、次の(7)コマンド数判定処理に進む。
における1つのコマンドのデータ転送が終了する。従っ
て、このコマンド数判定処理では、チェーンコマンドに
残りのコマンドが含まれているかの判定をして、残りす
べてのコマンドについて処理を繰り返すかどうかを判定
する処理である。
行われた後、コマンド1のデータ転送が終了したと判断
され、コマンド数ダウンカウンタ405は、1ディクリ
メントされる(s16)。
て、コマンド数のカウンタ値が、「0」でない場合、当
該チェーンコマンドには処理されていないコマンドが残
っていると判断し、その残っているコマンドについて
(2)チェーンコマンドアクセスに戻り処理が繰り返さ
れる。
ある場合、当該チェーンコマンドに含まれているコマン
ドは全て処理されたと判断されて、送信完了通知信号
が、パケットトランスファ101へアサートされる(s
17)。
カウンタ401とソース2アドレスカウンタ402とを
備えることにより、2つのソースデータについてアドレ
スポイントすることができるので、ヘッダ部とデータ部
とが別々に管理されるパケットデータのDMA転送につ
いて、パケットデータを作成する処理を省きことがで
き、その結果DMA転送のオーバーヘッドを極めて小さ
くすることができる。
ついて図面を参照して詳説する。
1上のバッファ(図示しない)に記憶されているパケッ
トデータについて、ヘッダデータとユーザデータとに分
けて、メモリ103上にDMA転送するDMAコントロ
ーラについて適用する。
レシーバ101からのパケットデータをパケット解析し
て、2つのデータに分ける様子を説明する。図8は、パ
ケットデータのパケット解析について説明する説明図で
ある。
ら転送されるパケットデータ(ソースデータ)である。
このパケットデータは、ヘッダデータとユーザデータと
から構成されている。
から切り出されたヘッダデータである。
から切り出されたユーザデータである。
ユーザデータ(8−c)は、共にメモリ103上に記憶
される。また、チェーンコマンドのコマンド数は、受信
パケットデータ(8−a)長によって変ってくるので、
ある一定のアドレス領域を取り出すだけである。
ーンコマンドの構成について図9を参照して説明する。
複数のコマンドを有しており、各コマンドは、デストネ
ーション1アドレス901と、デストネーション2アド
レス902と、制御用データ903と、データ長904
とを有している。
モリ103上に入るヘッダデータのポイントアドレスで
ある。
モリ103上に入るユーザデータのポイントアドレスで
ある。
ーション1アドレス901とデストネーション2アドレ
ス902とには、それぞれのデータが入り得るメモリ1
03上のアドレス値が入るが、2つ目以降のコマンド
(コマンド2、コマンド3、…)のそれらには、DMA
コントローラ102のデストネーション1アドレスカウ
ンタ701及びデストネーション2アドレスカウンタ7
02に書き込まれているそれぞれのデータのアドレス値
が書き込まれる。
同様に、割り込み、またはエラーが発生したときに使用
されるデータである。
ドレス902に対応するユーザデータのデータ長が書き
込まれる。このデータ長904は、コマンド1について
のDMA転送が終了後、DMAコントローラ102によ
って、そのコマンド1のユーザデータ転送数がこのフィ
ールドに書き込まれる。
ラ102の内部構成について図面を参照して詳説する。
ーラ102の内部構成を示すブロック図である。
02は、デストネーション1アドレスカウンタ701
と、デストネーション2アドレスカウンタ702と、ソ
ースアドレスレジスタ703と、コマンドアドレスカウ
ンタ704と、コマンド数アップカウンタ705と、デ
ータ転送数カウンタ706と、デストネーション1転送
数レジスタ707と、MUX708と、データ転送バッ
ファ709と、MUX710とを有する。
1は、DMAコントローラ102が起動後、メモリ10
3上に置かれているチェーンコマンドのコマンド1から
デストネーション1アドレス901を受け取り、そのデ
ストネーション1アドレスをレジスタに設定するもので
ある。デストネーション1アドレスカウンタ701は、
ヘッダデータの転送に使用され、ヘッダデータを1ワー
ドアクセスするたびにインクリメントするものである。
また、デストネーション1アドレスカウンタ701は、
2つ目以降のコマンドからは、DMAコントローラがこ
のレジスタの値をメモリ103上のコマンドのデストネ
ーション1アドレス901のフィールドに書き込む。
2は、DMAコントローラ102が起動後、メモリ10
3上に置かれているチェーンコマンドのコマンド1から
デストネーション2アドレス902を受け取り、そのデ
ストネーション2アドレスをレジスタに設定するもので
ある。デストネーション2アドレスカウンタ701は、
ユーザデータの転送に使用され、ユーザデータを1ワー
ドアクセスするたびにインクリメントするものである。
また、デストネーション2アドレスカウンタ702は、
2つ目以降のコマンドからは、DMAコントローラがこ
のレジスタの値をメモリ103上のコマンドのデストネ
ーション2アドレス902のフィールドに書き込む。
定の段階で、パケットレシーバ101のアドレスが設定
されるものである。このアドレスは、DMA転送中、パ
ケットレシーバ101に割り付けられたアドレスなので
固定的なものである。
リ103上に置いてあるチェーンコマンドのアドレスが
入るカウンタであり、メモリ103上のチェーンコマン
ドをアクセスする度に1インクリメントするものであ
る。コマンドアドレスカウンタ704は、初期設定の段
階で、メモリ103上に置いてあるチェーンコマンドの
アドレスが設定されるものである。
リ103上のチェーンコマンドの長さをカウントするカ
ウンタであり、1コマンド分の転送が終了するたびに1
インクリメントするものである。
転送する度に1インクリメントするものであり、後述す
るデストネーション1転送数レジスタ707に設定され
ている転送数を比較して、同じであるならば0に初期化
するものである。データ転送数カウンタ706起動後、
1コマンドが完了する度にメモリ103上のチェーンコ
マンドのデータ長904のフィールドにこのレジスタの
値が書き込まれる。
は、ヘッダデータのデータ長(転送数)が設定されるも
のである。設定されるヘッダのデータ長は一定なので、
初期設定の段階でこのレジスタにデータ長が設定され、
動作中は変化しない。
であり、各レジスタ、カウンタから選択してアドレスラ
インにアドレス値を出力するものである。
中、パケットレシーバ101から読み出されたパケット
データを受け取り、そのパケットデータを一旦レジスタ
に保持した後、デストネーションすなわちメモリ103
に転送するものである。
9、データ転送数カウンタ706、デストネーション2
アドレスカウンタ702のそれぞれのデータを選択する
マルチプレクサである。
パケットレシーバ101からのパケットデータとメモリ
103へDMA転送する動作について説明する。
ローラによるデータ転送のシーケンスを示したものであ
る。
MAコントローラによるデータ転送のシーケンスは、大
きく、初期設定、チェーンコマンドアクセス処理、デス
トネーション1DMA転送処理、デストネーション1転
送数判定処理、デストネーション2DMA転送処理、デ
ストネーション2転送数判定処理、コマンド更新処理を
有する。従って、以下ではこれらの処理について図10
を参照しながら説明する。
モリ103ヘのライト、=mem[]はメモリ103か
らのリード、dev[]=はデバイス(すなわちパケッ
トレシーバ101)ヘのライト転送、=dev[]はデ
バイス(すなわちパケットレシーバ101)からのリー
ドを示す。
コマンドが置いてあるものとする。
が通知されると、DMAコントローラ102は初期設定
が行われる。
ドレスレジスタ703に設定される。
ンドのアドレスは、コマンドアドレスカウンタ704に
設定される(s21)。
ネーション転送数レジスタ707に設定される(s2
2)。
ては、コマンド1がメモリ103上からアクセスされ、
そのコマンド1のデストネーション1アドレス901が
デストネーション1アドレスカウンタ701に設定され
る(s23)。また、コマンド1のデストネーション2
アドレス902が、デストネーション2アドレスカウン
タ702に設定される(s24)。
ンド3、…)に対しては、コマンド1において、デスト
ネーション1アドレスカウンタ701に設定されたデー
タが、メモリ103上のデストネーション1アドレス9
01のフィールドに設定される(s25)。また、デス
トネーション2アドレスカウンタ702に設定されたデ
ータが、メモリ103上のデストネーション2アドレス
902のフィールドに設定される(s26)。これは、
DMA転送完了後に、ソフトウェアによって受信データ
を取り扱うためである。
DMA転送がなされる。
定されたパケットレシーバ101のアドレスに基づい
て、パケットレシーバ101上のバッファのパケットデ
ータがアクセスされ、そのパケットデータが、データ転
送バッファ709に与えられる(s27)。
れたパケットデータは、デストネーション1アドレスカ
ウンタ801のアドレスに基づいて、メモリ103上の
そのアドレスの位置に転送される(s28)。
デストネーション1アドレスカウンタ701、データ転
送数カウンタ706がそれぞれインクリメントされる
(s29)。
了後、データ転送数カウンタ706において、データ転
送数カウンタ706の転送数のカウンタ値とデストネー
ション1転送数レジスタ707に設定された転送数とが
同じであるかどうかが判定される(s30)。
れば、まだ、デストネーション1アドレスのデータ(す
なわちヘッダデータ)の転送が終了していないと判断で
きるので、(3)を繰り返す。
ば、ヘッダデータの転送が終了したと判断できるので、
次の(5)デストネーション2DMA転送に進む。
DMA転送がなされる。
定されたパケットレシーバ101のアドレスに基づい
て、パケットレシーバ101上のバッファのパケットデ
ータが、アクセスされ、そのパケットデータが、データ
転送バッファ709に入る(s31)。
データは、デストネーション2アドレスカウンタ702
に設定されたアドレスに基づいて、メモリ103上にお
けるそのアドレスの位置に転送される(s32)。
デストネーション2アドレスカウンタ702、データ転
送数カウンタ709がそれぞれインクリメントされる
(s33)。
了後、DMAコントローラ102は、パケットレシーバ
101から受信完了通知がアサートされているかどうか
確認する(s34)。
定した場合、まだ、デストネーション2アドレスのデー
タ(すなわち、ユーザデータ)が転送終了していないの
で、(5)デストネーション2DMA転送処理を繰り返
す。
デストネーション2アドレスのデータが転送終了したこ
とで次の(7)コマンド更新に進む。
ンドについてのDMA転送が終了すると、データ転送数
カウンタ706に設定されている転送数が、コマンド2
以降のデータ長904に書き込まれる(s35)。
が書き込まれた後、コマンド数アップカウンタ705を
インクリメントする(s36)。
ドレスカウンタ701とデストネーション2アドレスカ
ウンタ702とを備えることにより、パケット用とユー
ザデータ用に2つのデストネーションアドレスポインタ
があるので、パケットデータをデコードする処理が省
け、その結果DMA転送後のオーバーヘッドが極めて小
さくできる。
なので、連続して受信したパケットデータのユーザデー
タが、それぞれ必ずしも連続したデータになるとは限ら
ない。しかし、ソフトウェアがヘッダ情報を解析し、連
続したパケットであることが判明できれば、ユーザデー
タ領域に記憶されたデータはそのまま元のデータとして
扱えるので、DMA転送後の処理が極めて容易になる。
ーラ102の制御回路が、ハードウェアであるように説
明したが、ハードウェアに限られることはなく、例えば
本発明に係るデータ転送に係る制御方法を記憶したマイ
クロコントローラ等により制御されるようにしてもよ
い。すなわち、DMAコントローラ102は、ソフトウ
ェアによって制御されてもよい。
上の2つのソースデータに基づいてDMA転送する場合
のDMAコントローラ102について説明し、第2の実
施形態では、パケットレシーバ101からのパケットデ
ータを2つのデストネーションデータに切り離してDM
A転送する場合のDMAコントローラ102について説
明しているが、第1及び第2の実施形態で説明したDM
Aコントローラを組み合せたDMAコントローラにも適
用することができる。
Aコントローラ102のソースアドレスカウンタ又はデ
ストネーションアドレスカウンタを2つ備えることとし
て説明したが、3つ以上備えるようにしてもよい。すな
わち、メモリ103上において管理されるパケットデー
タが、ヘッダと1つのデータ本体とから構成されるもの
とし、それぞれメモリ103上では別々で管理されてい
るものとして説明したが、パケットデータのデータ本体
が長い場合にはさらにデータ本体を2つ以上に分割して
管理される場合にも適用できる。
ータ入出力装置と、ヘッダ及びデータ本体をそれぞれ分
別して記憶する記憶装置との間のデータ転送を制御する
データ転送制御装置において、転送データを構成するヘ
ッダについての記憶装置上の記憶領域アドレスを書込む
第1の書込手段と、転送データを構成するデータ本体に
ついての記憶装置上の記憶領域アドレスを書込む第2の
書込手段と、データ入出力装置に割り当てられたアドレ
スを記憶する記憶手段と、第1の書込手段及び第2の書
込手段に書込まれた記憶領域アドレス、又は、記憶手段
のアドレスに基づいて転送対象のデータを、記憶装置か
ら、又は、データ入出力装置から読取り、その読取った
データを所定の順序で、データ入出力装置、又は、記憶
装置へ転送する転送手段とを備えることとしたので、D
MA転送のオーバーヘッドを極めて小さくできる。
部構成を示したブロック図である。
の全体構成図である。
た構成図である。
た説明図である。
を示した構成図である。
作を説明するフローチャートである。
部構成を示したブロック図である。
た説明図である。
を示した構成図である。
動作を説明するフローチャートである。
MAコンロトーラ、103…メモリ、401…ソース1
アドレスカウンタ、402…ソース2アドレスカウン
タ、403…デストネーションアドレスカウンタ、40
4…コマンドアドレスカウンタ、405…コマンド数ダ
ウンカウンタ、406…データ転送数カウンタ、407
…ソース1転送数レジスタ、408…ソース2転送数レ
ジスタ、409…MUX、410…データ転送バッフ
ァ、701…デストネーション1アドレスカウンタ、7
02…デストネーション2アドレスカウンタ、703…
ソースアドレスレジスタ、704…コマンドアドレスカ
ウンタ、705…コマンド数アップカウンタ、706…
データ転送数カウンタ、707…デストネーション転送
数レジスタ、708…MUX、709…データ転送バッ
ファ、710…MUX。
Claims (11)
- 【請求項1】 データ入出力装置と、ヘッダ及びデータ
本体をそれぞれ分別して記憶する記憶装置との間のデー
タ転送を制御するデータ転送制御装置において、 転送データを構成するヘッダについての前記記憶装置上
の記憶領域アドレスを書込む第1の書込手段と、 転送データを構成するデータ本体についての前記記憶装
置上の記憶領域アドレスを書込む第2の書込手段と、 前記データ入出力装置に割り当てられたアドレスを記憶
する記憶手段と、 前記第1の書込手段及び前記第2の書込手段に書込まれ
た記憶領域アドレス、又は、前記記憶手段のアドレスに
基づいて転送対象のデータを、前記記憶装置から、又
は、前記データ入出力装置から読取り、その読取ったデ
ータを所定の順序で、前記データ入出力装置、又は、前
記記憶装置へ転送する転送手段とを備えることを特徴と
するデータ転送制御装置。 - 【請求項2】 前記記憶装置から前記データ入出力装置
へデータを転送する場合、前記転送手段は、前記第1の
書込手段に書込まれたアドレスに基づいて、前記記憶装
置からヘッダを読取り、そのヘッダを前記データ入出力
装置に転送した後に、前記第2の書込手段に書込まれた
アドレスに基づいて、前記記憶装置からデータ本体を読
取り、そのデータ本体を前記データ入出力装置に転送す
ることを特徴とする請求項1に記載のデータ転送制御装
置。 - 【請求項3】 少なくともヘッダのアドレス及びデータ
本体のアドレスをパケット毎に有する複数のコマンドに
よって構成されるチェーンコマンドを備え、 第1の書込手段は、前記チェーンコマンドを構成する順
番に従って各コマンドに含まれるヘッダのアドレスを書
込み、第2の書込手段は、前記チェーンコマンドを構成
する順番に従って各コマンドに含まれるデータ本体のア
ドレスを書込むことを特徴とする請求項2に記載のデー
タ転送制御装置。 - 【請求項4】 前記データ入出力装置から前記記憶装置
へデータを転送する場合、前記転送手段は、前記記憶手
段のアドレスに基づいて、前記データ入出力手段から転
送データを読取り、その転送データのヘッダを、前記第
1の書込手段に書込まれた前記記憶装置のアドレスに転
送した後、その転送データのデータ本体を、前記第2の
書込手段に書込まれた前記記憶装置アドレスに転送する
ことを特徴とする請求項1〜3のいずれかに記載のデー
タ転送制御装置。 - 【請求項5】 少なくともヘッダのアドレス及びデータ
本体のアドレスをパケット毎に有する複数のコマンドに
よって構成されるチェーンコマンドを備え、 前記転送手段は、前記チェーンコマンドの最初のコマン
ドに対応するデータについて転送が終わった後、そのデ
ータに係るデータ本体の転送数を次のコマンドに書込む
ことを特徴とする請求項4に記載のデータ転送制御装
置。 - 【請求項6】 データ入出力装置と転送データを構成す
る構成データをそれぞれ分別して記憶する記憶装置間の
データ転送を制御するデータ転送制御装置を備えたデー
タ転送装置において、 前記データ転送制御装置は、請求項1〜5のいずれかに
記載のデータ転送制御装置であることを特徴とするデー
タ転送装置。 - 【請求項7】 データ入出力装置と、ヘッダ及びデータ
本体をそれぞれ分別して記憶する記憶装置との間のデー
タ転送を制御するデータ転送制御装置を備えたデータ転
送制御方法において、 前記データ転送制御装置が、 転送データを構成するヘッダについての前記記憶装置上
の記憶領域アドレスを書込み、 転送データを構成するデータ本体についての前記記憶装
置上の記憶領域アドレスを書込み、 前記データ入出力装置に割り当てられたアドレスを記憶
し、 ヘッダの記憶領域アドレス及びデータ本体の記憶領域ア
ドレス、又は、前記データ入出力装置のアドレスに基づ
いて転送対象のデータを、前記記憶装置から、又は、前
記データ入出力装置から読取り、その読み取ったデータ
を所定の順序で、前記データ入出力装置、又は、前記記
憶装置へ転送することを特徴とするデータ転送制御方
法。 - 【請求項8】 前記記憶装置から前記データ入出力装置
へデータを転送する場合、前記データ転送制御装置は、
書込まれたヘッダの記憶領域アドレスに基づいて、前記
記憶装置からヘッダを読取り、そのヘッダを前記データ
入出力装置に転送した後に、書込まれたデータ本体の記
憶領域アドレスに基づいて、前記記憶装置からデータ本
体を読取り、そのデータ本体を前記データ入出力装置に
転送することを特徴とする請求項7に記載のデータ転送
制御方法。 - 【請求項9】 少なくともヘッダのアドレス及びデータ
本体のアドレスをパケット毎に有する複数のコマンドに
よって構成されるチェーンコマンドを備え、前記データ
転送制御装置は、前記チェーンコマンドを構成する順番
に従って各コマンドに含まれるヘッダのアドレスを書込
み、前記チェーンコマンドを構成する順番に従って各コ
マンドに含まれるデータ本体のアドレスを書込むことを
特徴とする請求項8に記載のデータ転送制御方法。 - 【請求項10】 前記データ入出力装置から前記記憶装
置へデータを転送する場合、前記データ転送制御装置
は、前記データ入出力装置のアドレスに基づいて、前記
データ入出力手段から転送データを読取り、その転送デ
ータのヘッダを、書込まれたヘッダの記憶領域アドレス
に転送した後、その転送データのデータ本体を、書込ま
れたデータ本体の記憶領域アドレスに転送することを特
徴とする請求項7〜9のいずれかに記載のデータ転送制
御方法。 - 【請求項11】 少なくともヘッダのアドレス及びデー
タ本体のアドレスをパケット毎に有する複数のコマンド
によって構成されるチェーンコマンドを備え、 前記データ転送制御装置は、前記チェーンコマンドの最
初のコマンドに対応するデータについて転送が終わった
後、そのデータに係るデータ本体の転送数を次のコマン
ドに書込むことを特徴とする請求項10に記載のデータ
転送制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002121741A JP2003316721A (ja) | 2002-04-24 | 2002-04-24 | データ転送制御装置、データ転送装置及びデータ転送制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002121741A JP2003316721A (ja) | 2002-04-24 | 2002-04-24 | データ転送制御装置、データ転送装置及びデータ転送制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003316721A true JP2003316721A (ja) | 2003-11-07 |
Family
ID=29537554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002121741A Pending JP2003316721A (ja) | 2002-04-24 | 2002-04-24 | データ転送制御装置、データ転送装置及びデータ転送制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2003316721A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188357A (ja) * | 2006-01-13 | 2007-07-26 | Fujitsu Ltd | データ転送装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02162448A (ja) * | 1988-12-15 | 1990-06-22 | Fujitsu Ltd | 入出力制御方式 |
JPH06244902A (ja) * | 1993-02-19 | 1994-09-02 | Fuji Xerox Co Ltd | 通信制御装置 |
JPH0954749A (ja) * | 1995-08-14 | 1997-02-25 | Toshiba Eng Co Ltd | Dma転送装置 |
JPH10222456A (ja) * | 1996-12-03 | 1998-08-21 | Matsushita Electric Ind Co Ltd | データ転送装置 |
JPH11110339A (ja) * | 1997-10-02 | 1999-04-23 | Toshiba Corp | Dmaコントローラ |
JP2000134242A (ja) * | 1998-10-27 | 2000-05-12 | Seiko Epson Corp | データ転送制御装置及び電子機器 |
JP2001229120A (ja) * | 2000-02-18 | 2001-08-24 | Sharp Corp | チェーン式dmaの処理誤り検出方法及びdmaコントローラ |
-
2002
- 2002-04-24 JP JP2002121741A patent/JP2003316721A/ja active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02162448A (ja) * | 1988-12-15 | 1990-06-22 | Fujitsu Ltd | 入出力制御方式 |
JPH06244902A (ja) * | 1993-02-19 | 1994-09-02 | Fuji Xerox Co Ltd | 通信制御装置 |
JPH0954749A (ja) * | 1995-08-14 | 1997-02-25 | Toshiba Eng Co Ltd | Dma転送装置 |
JPH10222456A (ja) * | 1996-12-03 | 1998-08-21 | Matsushita Electric Ind Co Ltd | データ転送装置 |
JPH11110339A (ja) * | 1997-10-02 | 1999-04-23 | Toshiba Corp | Dmaコントローラ |
JP2000134242A (ja) * | 1998-10-27 | 2000-05-12 | Seiko Epson Corp | データ転送制御装置及び電子機器 |
JP2001229120A (ja) * | 2000-02-18 | 2001-08-24 | Sharp Corp | チェーン式dmaの処理誤り検出方法及びdmaコントローラ |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007188357A (ja) * | 2006-01-13 | 2007-07-26 | Fujitsu Ltd | データ転送装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6829660B2 (en) | Supercharge message exchanger | |
US6233641B1 (en) | Apparatus and method of PCI routing in a bridge configuration | |
US6701405B1 (en) | DMA handshake protocol | |
JP2584957B2 (ja) | ホスト指示結合式の装置 | |
KR100881049B1 (ko) | 복수의 어드레스 2 채널 버스 구조 | |
KR100876575B1 (ko) | 스케일러블 버스 구조 | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
WO2005071556A1 (en) | A two channel bus structure to support address information, data, and transfer qualifiers | |
JP2010517182A (ja) | 内容終了型dma | |
US20030225995A1 (en) | Inter-chip processor control plane communication | |
US6574683B1 (en) | External direct memory access processor implementation that includes a plurality of priority levels stored in request queue | |
JP2000029767A (ja) | デ―タ処理装置における書き込みバッファ | |
JP2006202271A (ja) | ストリームプロセッサ及び情報処理装置 | |
US20050060439A1 (en) | Peripheral interface system having dedicated communication channels | |
JPH10334037A (ja) | 通信dma装置 | |
JP2003316721A (ja) | データ転送制御装置、データ転送装置及びデータ転送制御方法 | |
JPH06103225A (ja) | チェーン式dma方式及びそのためのdmaコントローラ | |
JP2005258719A (ja) | データ処理システム及びスレーブデバイス | |
US20040162924A1 (en) | Apparatus and method for transmitting data by means of direct memory access medium | |
JP3447820B2 (ja) | バスコントローラ | |
JP2005063351A (ja) | データ転送装置およびデータ転送方法 | |
JP3703958B2 (ja) | 情報処理装置 | |
JP2023084904A (ja) | プロセッサ、情報処理装置及び情報処理方法 | |
KR20210006128A (ko) | 대칭적 인터페이스 기반 인터럽트 신호 처리 장치 및 방법 | |
JP2005316700A (ja) | データ転送方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050124 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070628 |
|
A131 | Notification of reasons for refusal |
Effective date: 20070807 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071003 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080812 |
|
A521 | Written amendment |
Effective date: 20081009 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20081017 |
|
A711 | Notification of change in applicant |
Effective date: 20090107 Free format text: JAPANESE INTERMEDIATE CODE: A712 |
|
RD02 | Notification of acceptance of power of attorney |
Effective date: 20090129 Free format text: JAPANESE INTERMEDIATE CODE: A7422 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Effective date: 20090319 Free format text: JAPANESE INTERMEDIATE CODE: A912 |
|
A711 | Notification of change in applicant |
Effective date: 20110114 Free format text: JAPANESE INTERMEDIATE CODE: A712 |