JP2002183078A - データ転送装置及びデータ転送方法 - Google Patents

データ転送装置及びデータ転送方法

Info

Publication number
JP2002183078A
JP2002183078A JP2000380820A JP2000380820A JP2002183078A JP 2002183078 A JP2002183078 A JP 2002183078A JP 2000380820 A JP2000380820 A JP 2000380820A JP 2000380820 A JP2000380820 A JP 2000380820A JP 2002183078 A JP2002183078 A JP 2002183078A
Authority
JP
Japan
Prior art keywords
data
transfer
timer
storage area
control information
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
JP2000380820A
Other languages
English (en)
Inventor
Satoyuki Ono
智行 小野
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2000380820A priority Critical patent/JP2002183078A/ja
Publication of JP2002183078A publication Critical patent/JP2002183078A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 複数の装置によって共有されるバスを用いて
データ転送を行うシステムにおいて、DMAコントロー
ラを用いてデータ転送レートを制御しながらデータ転送
を実現できるデータ転送装置及びその転送方法を提供す
る。 【解決手段】 転送データに応じて生成された記述子か
ら転送データの格納領域の先頭アドレス、データサイズ
及び転送制御情報を取得でき、転送制御情報に基づき設
定値決定手段32によって待ち時間td を計算し、それ
に応じてタイマー33の初期値N0 を計算し、初期値N
0 をタイマー33にセットしてタイマー33を起動す
る。タイマー33が切れると、フラグ信号Sf が出力さ
れ、これに応じてデータ転送実行手段34は識別子によ
り取得した情報に基づき、データ転送を行うので、汎用
のバスを用いて所望の転送レートでデータ転送を実現で
きる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の装置が共通
のバスを介してデータ転送を行うシステムにおいて、デ
ータ転送レートを制御可能なデータ転送装置及びその転
送方法に関するものである。
【0002】
【従来の技術】複数の装置が共通の伝送路を用いてデー
タ転送を行うシステムにおいて、データ転送を行う装置
は競合を避けるために、予めデータ転送要求を出し、調
停器から許可されたときにデータ転送を行うような方法
が広く採用されている。例えば、PCI(Peripheral C
omponent Interconnect )のような調停型のバスでデー
タ転送を行う場合、しばしばダイレクトメモリアクセス
コントローラ(Direct Memory Access Controller:以
下、DMAコントローラと表記する)が用いられる。
【0003】DMAコントローラは、転送されるデータ
を格納するバッファの先頭アドレスとバッファのサイズ
を元にデータ転送を行い、転送完了時にCPUに割り込
みを入れて、転送完了を通知する。
【0004】DMAコントローラを用いて構成されたデ
ータ転送システムにおいて、しばしば以下のような制御
方法が取られる。まず、送信すべきデータをバッファに
格納し、バッファの先頭アドレスとバッファのサイズを
記述子と呼ばれるメモリ領域に格納する。この記述子
は、連続した領域にテーブルとして配置するかリスト構
造として格納される。DMAコントローラは制御レジス
タに記述子の先頭アドレスを設定したあと、起動をかけ
る。
【0005】DMAコントローラが起動したあと、先頭
の記述子を参照し、データバッファの一部または全部を
転送する。この処理がこの記述子に関連付けられたバッ
ファのデータがなくなるまで繰り返して行われること
で、一つの記述子に関連付けられているデータがすべて
転送される。
【0006】最初の記述子に関連するデータの転送がす
べて行われると、次の記述子のがDMAコントローラに
よって読み込まれ、その記述子に関連付けられたバッフ
ァのデータがなくなるまで転送処理が繰り返して行われ
る。そして、すべての記述子についてデータ転送処理が
行われると、割り込みが発生し、CPUに転送完了の知
らせが通知される。
【0007】DMAコントローラはこのような処理を行
うことによって、一回の起動によってデータブロックの
転送を行うことができるので、複数の装置がバスを共有
する一般の計算機システムでは、CPUによるDMAコ
ントローラのレジスタの設定や、データ転送完了時の割
り込みが多数入力されることによるオーバーヘッドを低
減でき、システム全体の性能の向上を実現できる。
【0008】また、このようなデータ転送方法は、他の
データ転送にも適用できる。例えば、転送するパケット
データを一つのバッファに対応させることにとって、ネ
ットワークインターフェースのパケットデータの転送な
どにも適用することが可能である。
【0009】
【発明が解決しようとする課題】ところで、上述した従
来のデータ転送装置では、一定のデータレートでパケッ
トを転送するようなアプリケーションに応用する場合、
パケットをバッファに対応させたのでは不都合が生じて
しまう。例えば、ATM(Asynchronous Transfer Mod
e: 非同期転送モード)では、53バイトのデータから
なる固定長のデータセル(以下、これを単にセルとい
う)を一定のレートで転送することが要求される。これ
を実現するために、セルとセルとの間に一定の時間間隔
をあけて転送を行う必要がある。しかし、DMAコント
ローラを用いる場合、複数のセルが連続して送られてし
まうことになり、データ転送レートを要求されたレート
に一致しなくなる。セルの間隔をあけるためには、CP
Uが時間を調節しながら1セルずつDMAコントローラ
を起動しなければならなく、CPUの処理負担が増加す
るのみではなく、DMAコントローラの転送効率が低下
し、他の装置のバスの利用に影響を与えるという不利益
がある。
【0010】本発明は、かかる事情に鑑みてなされたも
のであり、その目的は、複数の装置によって共有される
バスを用いてデータ転送を行うシステムにおいて、DM
Aコントローラを用いてデータ転送レートを制御しなが
らデータ転送を実現できるデータ転送装置及びその転送
方法を提供することにある。
【0011】
【課題を解決するための手段】上記目的を達成するた
め、本発明のデータ転送装置は、転送データの格納領
域、データサイズ及び当該転送データの転送制御情報を
含む記述子に基づき、上記データ格納領域に格納されて
いるデータを転送するデータ転送装置であって、上記記
述子に含まれている上記転送制御情報を取得する転送制
御情報取得手段と、上記転送制御情報に基づき設定され
たタイミングで上記データ格納領域に格納されているデ
ータを転送する転送手段とを有する。
【0012】また、本発明のデータ転送装置は、転送デ
ータの格納領域、データサイズ及び当該転送データの転
送制御情報を含む記述子に基づき、上記データ格納領域
に格納されているデータを転送するデータ転送装置であ
って、上記記述子に含まれている上記転送制御情報を取
得する転送制御情報取得手段と、上記転送制御情報に基
づき、データ転送の待ち時間を計算し、当該待ち時間に
応じた初期値を計算する決定手段と、上記初期値を設定
して起動する時間計測手段と、上記時間計測手段が上記
初期値に応じた時間分を計測終了後、上記データ格納領
域に格納されているデータを転送する転送手段とを有す
る。
【0013】また、本発明のデータ転送装置は、転送デ
ータの格納領域、データサイズ及び当該転送データの転
送制御情報を含む記述子に基づき、上記データ格納領域
に格納されているデータを転送するデータ転送装置であ
って、上記記述子に含まれている上記転送制御情報を取
得する転送制御情報取得手段と、上記転送制御情報に基
づき、データ転送の所要時間を計算し、当該所要時間に
応じた初期値を計算する決定手段と、上記初期値を設定
して起動する時間計測手段と、上記時間計測手段の起動
とともに上記データ格納領域に格納されているデータを
転送する転送手段と、上記データ格納領域のデータが転
送完了時に上記時間計測手段の計測値を取得する終了時
間取得手段とを有する。
【0014】また、本発明では、好適には、上記時間計
測手段は、前回の時間計測が終了したあと、次回の初期
値を設定して起動する。
【0015】また、本発明では、好適には、上記時間計
測手段は、所定の周期を持つクロック信号を計数するタ
イマーによって構成されている。
【0016】また、本発明では、好適には、上記終了時
間取得手段は、上記データ格納領域のデータが転送完了
時に上記タイマーの計数値を取得する。
【0017】また、本発明のデータ転送方法は、転送デ
ータの格納領域、データサイズ及び当該転送データの転
送制御情報を含む記述子に基づき、上記データ格納領域
に格納されているデータを転送するデータ転送方法であ
って、上記記述子に含まれている上記転送制御情報を取
得するステップと、上記転送制御情報に基づき設定され
たタイミングで上記データ格納領域に格納されているデ
ータを転送するステップとを有する。
【0018】また、本発明のデータ転送方法は、転送デ
ータの格納領域、データサイズ及び当該転送データの転
送制御情報を含む記述子に基づき、上記データ格納領域
に格納されているデータを転送するデータ転送方法であ
って、上記記述子に含まれている上記転送制御情報を取
得するステップと、上記転送制御情報に基づき、データ
転送の待ち時間を計算し、当該待ち時間に応じた初期値
を計算するステップと、上記初期値をタイマーに設定
し、上記タイマーを起動するステップと、上記タイマー
が上記初期値に応じた時間分を計測した後、上記データ
格納領域に格納されているデータを転送するステップと
を有する。
【0019】また、本発明のデータ転送方法は、転送デ
ータの格納領域、データサイズ及び当該転送データの転
送制御情報を含む記述子に基づき、上記データ格納領域
に格納されているデータを転送するデータ転送方法であ
って、上記記述子に含まれている上記転送制御情報を取
得するステップと、上記転送制御情報に基づき、データ
転送の所要時間を計算し、当該所要時間に応じた初期値
を計算するステップと、上記初期値をタイマーに設定し
て、上記タイマーを起動するステップと、上記タイマー
の起動とともに上記データ格納領域に格納されているデ
ータを転送するステップと、上記データ格納領域のデー
タが転送完了時に上記タイマーの計測値を取得するステ
ップとを有する。
【0020】さらに、本発明では、好適には、前回の時
間計測が終了したあと、次回の初期値を上記タイマーに
設定して当該タイマーを起動する。
【0021】
【発明の実施の形態】図1は本発明に係るデータ転送装
置を含むデータ処理システムの構成を示す構成図であ
る。図示のように、このデータ処理システムは、ホスト
CPU10、ホストブリッジ20、転送装置30−1,
30−2,30−3、記憶装置40、調停器50及びバ
ス60を含む。
【0022】ホストCPU10は、記憶装置40の記憶
データ及び外部から入力された制御信号に応じて処理を
行う。例えば、ホストCPU10は、記憶装置40に転
送データ及びその転送データに対応付けられる識別子を
格納したあと、転送装置30−1,30−2,30−3
の何れかを指定してデータ転送処理を実行させること
で、記憶装置40に格納されたデータが指定された転送
装置によって、外部にある他の装置に転送することがで
きる。
【0023】なお、本実施形態では、ホストCPU10
は、識別子の中に転送するデータを格納するメモリ領域
のアドレス、転送するデータのサイズの他に、転送レー
トを制御するための転送制御情報、例えば、与えられた
サイズのデータを転送するための時間間隔、または、直
接にデータの転送レートといった情報を格納する。ホス
トCPU10によって指定された転送装置は、識別子を
読み出して、転送データを格納するメモリのアドレス及
びデータのサイズのほか、転送レートを制御するために
必要な情報を取得することができる。この転送制御情報
に基づき、データ転送の時間間隔を調整することによっ
て、データ転送レートを制御し、所望の転送レートでデ
ータ転送を実現できる。転送装置の構成及び転送装置に
おけるデータ転送の制御方法について後に詳しく説明す
る。
【0024】ホストブリッジ20は、ホストCPU10
と記憶装置40、またはバス60とのデータ転送を行
う。記憶装置40は、ホストCPU10の処理に必要な
データを格納する。例えば、転送装置30−1,30−
2,30−3の何れかによってデータ転送を行う前に転
送するデータが記憶装置40の所定の領域に格納され
る。
【0025】転送装置30−1,30−2,30−3
は、ホストCPU10からの転送指示に従って、ホスト
CPU10によって指定された識別子から転送データの
格納領域、サイズ及び転送制御情報を取得し、これらの
情報に基づきデータ転送を行うDMAコントローラであ
る。
【0026】調停器50は、バス60を使用する複数の
装置、例えば、図1に示すように、ホストブリッジ2
0、転送装置30−1,30−2,30−3などに対し
て、複数の装置からバスの使用要求があった場合、所定
の条件で選択された一つの装置にバスの使用を許可す
る。以下、本発明のデータ転送装置の二つの実施形態に
ついて説明する。
【0027】第1の実施形態 図2は、本発明にかかるデータ転送装置の第1の実施形
態を示す構成図である。図示のように、データ転送装置
30は、記述子記憶手段31、設定値決定手段32、タ
イマー33、及びデータ転送実行手段34によって構成
されている。なお、ここで、データ転送装置30は、図
1に示す転送装置30−1,30−2,30−3の何れ
かである。
【0028】記述子記憶手段31は、ホストCPU10
によって生成された記述子を保持する。上述したよう
に、ホストCPU10によって転送データに対応付けら
れた記述子が生成される。生成された記述子がバス60
を介して記述子記憶手段31に転送され、記憶される。
【0029】図3は、ホストCPU10によって転送デ
ータ及びそれに応じた記述子を生成する処理を示すフロ
ーチャートである。以下、図3を参照しつつ、この処理
について説明する。
【0030】図示のように、まず、記憶装置40のメモ
リの所定の領域に転送データの準備が行われる(ステッ
プS1)。そして、転送データに対応付けて記述子が形
成される(ステップS2)。当該記述子には、転送デー
タを格納するメモリ領域の先頭アドレス、データのサイ
ズ、さらにデータ転送レートに関連する転送制御情報が
記述される。転送制御情報の詳細については、後に説明
する。
【0031】上述した処理によって、一つの転送データ
ブロック及びそれに対応付けられた記述子のペアが生成
される。そして、転送データがほかにあるかどうかにつ
いて判断が行われる(ステップS3)。当該判断の結
果、転送データがまだある場合、ステップS1の処理に
戻り、次の転送データブロック及びそれに対応する記述
子の準備が行われる。転送データがないと判断した場
合、最後の記述子に印を付けて(ステップS4)、処理
が終了する。
【0032】ホストCPU10によって生成される記述
子は、記憶装置40において転送データを格納する領域
とは別の領域に格納することができる。または、図2に
示すように、それぞれのデータ転送装置に設けられてい
る記述子記憶手段31に格納することもできる。
【0033】図4は、例えば、記述子記憶手段31に格
納されている記述子及びそれぞれの記述子に対応する転
送データの一例を示している。図示のように、記述子は
それぞれの転送データに対応付けて生成されているの
で、複数のデータブロックがある場合、それに応じて複
数の記述子が生成される。各記述子の中に、転送される
データを格納するメモリのアドレス、データのサイズ、
及び転送レートに関連する転送制御情報が格納されてい
る。なお、転送制御情報が、例えば、転送レート、また
は転送レートに応じて算出された待ち時間、あるいはこ
の待ち時間に応じて算出されたタイマーのクロック数な
どの形で記述される。
【0034】なお、当該転送制御情報の形式は、特に限
定されることなく、転送レートを制御するために、所定
の取り決めに従って生成される情報であればよい。ホス
トCPU10とデータ転送装置30の設定値決定手段3
2との間に、この取り決めに基づいて転送レートに関す
る情報を授受でき、さらにこの情報に基づきデータ転送
の待ち時間を制御することにより転送レートを制御でき
ればよい。
【0035】設定値決定手段32は、識別子から読み取
った転送制御情報に応じて、希望の転送レートを実現す
るための待ち時間の情報を算出する。例えば、転送され
るデータのサイズをDS 、このサイズのデータを転送す
るために要する時間をtS とし、平均して転送レートR
を維持するための待ち時間をtd とすると、次式が得ら
れる。
【0036】
【数1】 DS /(td +tS )=R …(1)
【0037】設定値決定手段32は、識別子からデータ
のサイズDS 、転送レートRを取得でき、さらにデータ
転送装置自身の仕様によってデータ転送時間tS を知る
ことができるので、式(1)によって、待ち時間td
次のように求められる。
【0038】
【数2】 td =DS /R−tS …(2)
【0039】設定値決定手段32は、こうして計算した
待ち時間td 及びタイマー33に用いられているクロッ
ク信号の周期に応じて、待ち時間td に応じたクロック
数を計算でき、このクロック数を初期値N0 としてタイ
マー33に与える。
【0040】タイマー33は、設定値決定手段32によ
って与えられた初期値N0 をセットして、クロックの計
数を行う。ここで、例えば、タイマー33がダウンカウ
ンタによって構成され、カウント値が0になったとき、
タイマー切れを示すフラグ信号Sf が出力される。な
お、タイマー33がダウンカウンタに限定されることな
く、アップカウンタによって構成することもできる。こ
の場合、0にリセットされてからクロックの計数が始ま
り、カウント値が設定値決定手段32によって与えられ
た初期値N0と一致したとき、タイマー切れを示すフラ
グ信号Sf が出力される。
【0041】データ転送実行手段34は、フラグ信号S
f を受けて、データ転送を行う。このとき、データ転送
実行手段は、読み出した記述子から転送データを格納す
るメモリ領域の先頭アドレスから順次転送データを読み
出して、バス60を介して指定した転送先に転送する。
こうした転送処理がすべての記述子について順次行われ
るので、複数のブロックに分けられた転送データがそれ
ぞれ指定したレートで転送することができる。
【0042】図5は、本実施形態のデータ転送装置にお
ける転送処理を示すフローチャートである。以下、図2
及び図5を参照しつつ、本実施形態のデータ転送装置の
動作について説明する。
【0043】まず、記述子記憶手段31から記述子の情
報が取得される(ステップSA1)。この処理によっ
て、記述子に格納されている転送データのメモリ領域の
先頭アドレス、データサイズ及び転送制御情報が取得さ
れる。次に、取得した転送制御情報に基づき、設定値決
定手段32によってタイマー33の初期値N0 が計算さ
れる(ステップSA2)。例えば、上述したように、転
送レートR、転送されるデータのサイズDS が分かる場
合、式(2)に従って、データ転送の待ち時間td が求
められる。当該待ち時間及びタイマー33のクロック周
期に応じて、タイマー33の初期値N0 が計算される。
【0044】設定値決定手段32によって計算された初
期値N0 がタイマー33に与えられると、タイマー33
が起動される(ステップSA3)。タイマー33が切れ
ると、それを示すフラグ信号Sf が出力される(ステッ
プSA4)。
【0045】フラグ信号Sf を受けて、データ転送実行
手段34において、記述子に記述された情報に基づきデ
ータ転送が行われる(ステップSA5)。転送終了後、
記述子情報の書き戻しが行われる(ステップSA6)。
なお、記述子情報の書き戻しは、DMAコントローラの
規格に準じて行われる処理である。
【0046】そして、記述子が最後であるは否かについ
て判断が行われる(ステップSA7)。記述子が最後で
はない場合、上述したステップSA1〜SA6の処理が
繰り返される。記述子が最後の場合、データ転送処理が
終了する。
【0047】図6は、上述したフローチャートに基づい
てデータ転送処理時のタイマー、フラグ信号Sf 及び転
送データを示すタイミングチャートである。図示のよう
に、ホストCPU10からの転送指令St に従って、デ
ータ転送装置30において、記述子情報が取得され、そ
れに基づきタイマー33の初期値N 0 が計算される。初
期値N0 がタイマー33に入力されるあと、タイマー3
3が起動される。
【0048】タイマー33の計数値が0になると、フラ
グ信号Sf が出力される。タイマー33が起動してか
ら、フラグ信号Sf が出力されるまでの時間が設定値決
定手段32によって計算される待ち時間td に等しくな
る。
【0049】フラグ信号Sf に応じて、データ転送実行
手段34において記述子から取得した情報に基づきデー
タ転送が実行される。そして、記述子に対応する一ブロ
ック分のデータをすべて転送するために時間tS を要す
る。
【0050】以上説明したように、本実施形態によれ
ば、転送データに応じて生成された記述子から転送デー
タの格納領域の先頭アドレス、データサイズ及び転送制
御情報を取得でき、転送制御情報に基づき設定値決定手
段32によって待ち時間td を計算し、それに応じてタ
イマー33の初期値N0 を計算し、初期値N0 をタイマ
ー33にセットしてタイマー33を起動する。タイマー
33が切れると、フラグ信号Sf が出力され、これに応
じてデータ転送実行手段34は識別子により取得した情
報に基づき、データ転送を行うので、所望の転送レート
でデータを転送することができる。
【0051】第2実施形態 本発明に係るデータ転送装置の第2の実施形態は、図2
に示す第1の実施形態のデータ転送装置とほぼ同じ構成
を有する。ただし、本実施形態では、データ転送装置3
0の転送制御が第1の実施形態とは異なる。以下、本実
施形態のデータ転送装置と第1の実施形態のデータ転送
装置の相違点について説明する。
【0052】本実施形態では、設定値決定手段32は、
データ転送の待ち時間td を計算するのではなく、所望
の転送レートを達成するために、そのブロックのデータ
転送に割り当てられる転送時間tr を計算する。そし
て、計算された転送時間tr に応じてタイマー33のク
ロック数を算出し、タイマー33に設定する。タイマー
33が起動するとともに、データ転送実行手段34によ
ってデータ転送を開始し、データ転送終了時にタイマー
33のカウント値fを記述子に書き戻す。データ転送終
了時におけるタイマー33のカウント値fに応じて、デ
ータ転送が正常に要求された転送レートで転送されるか
否かホストCPU10によって判断できる。
【0053】以下、図2を参照しながら、データ転送装
置30の各部分の動作について説明した上、データ転送
時の処理を説明する。設定値決定手段32は、記述子に
格納されている転送データの情報に応じて、タイマー3
3の初期値N0 を計算する。まず、設定値決定手段32
は、記述子記憶手段31から転送データに関する情報を
取得する。ここで、転送データのサイズをDS とし、転
送レートをRとし、データ転送に割り当てられる転送時
間をt r すると、次の式が成り立つ。
【0054】
【数3】 DS /tr =R …(3)
【0055】記述子からデータサイズDS 及び転送レー
トRを取得できる場合、式(3)に基づき、データ転送
の所要時間tr が次式で求められる。
【0056】
【数4】 tr =DS /R …(4)
【0057】タイマー33のクロック周期に応じて、時
間tr に応じたクロック数を計算できる。当該クロック
数をタイマー33の初期値N0 としてタイマー33に与
えられる。
【0058】初期値N0 が設定されると、タイマー33
が起動される。また、同時にデータ転送実行手段34が
記述子の情報に基づきデータ転送を開始する。データ転
送終了時のタイマー33のカウント値fが取得され、他
の情報とともに記述子に書き戻される。
【0059】データ転送終了時にタイマー33のカウン
ト値fがf≧0を満足した場合、所望の転送レートが保
たれる。タイマー33のカウント値fが負の値になる場
合、実際のデータ転送時間が割り当てられた転送時間t
r を超過したことになり、即ち、所望の転送レートが保
たれていないことを意味する。
【0060】データ転送が正常に終了した場合、データ
転送実行手段34はタイマー33が切れて、フラグ信号
f が出力されるのを待って次の記述子に対応したデー
タの転送をはじめる。
【0061】このような処理によって、データ転送が所
望の転送レートで行われる。特に、データ転送の途中
に、例えば、調停器50によってデータ転送が一時停止
された場合でも、この停止による時間の損失を転送終了
後、タイマーが切れるまでの待ち時間で吸収でき、デー
タの転送レートをより正確に制御できる。
【0062】図7は本実施形態のデータ転送装置のデー
タ転送処理を示すフローチャートである。以下、図2及
び図7を参照しつつ、本実施形態のデータ転送装置にお
けるデータ転送処理を説明する。
【0063】まず、記述子記憶手段31から記述子の情
報が取得される(ステップSB1)。この処理によっ
て、記述子に格納されている転送データのメモリ領域の
先頭アドレス、データサイズ及び転送制御情報が取得さ
れる。次に、取得した転送制御情報に基づき、設定値決
定手段32によってタイマー33の初期値N0 が計算さ
れる(ステップSB2)。例えば、上述したように、転
送レートR、転送されるデータのサイズDS が分かる場
合、式(4)に従って、データ転送に割り当てられる転
送時間tr が求められる。当該転送時間tr 及びタイマ
ー33のクロック周期に応じて、タイマー33の初期値
0 が計算される。
【0064】次に、タイマー33が切れているかどうか
を確認する(ステップSB3)。タイマー切れの状態に
おいて、設定値決定手段32によって計算された初期値
0がタイマー33に与えられると、タイマー33が起
動される(ステップSB4)。タイマー33の起動と同
時に、データ転送実行手段34によって、記述子に基づ
きデータ転送が開始される(ステップSB5)。
【0065】データ転送が終了したときタイマー33の
カウント値fが取得される。そして、カウント値fとと
もに、データ転送に関する他の情報が記述子に書き戻さ
れる(ステップSB6)。
【0066】記述子が最後であるか否かについて判断が
行われる(ステップSB7)。記述子が最後ではない場
合、上述したステップSB1〜SB6の処理が繰り返さ
れる。記述子が最後の場合、データ転送処理が終了す
る。
【0067】図8は、上述したフローチャートに基づい
てデータ転送処理時のタイマー33の計数値N、フラグ
信号Sf 及び転送データを示すタイミングチャートであ
る。図示のように、ホストCPU10からの転送指令S
t に従って、データ転送装置30において、記述子情報
が取得され、それに基づきタイマー33の初期値N 0
計算される。タイマー33が切れている場合、初期値N
0 がタイマー33に設定され、タイマー33が起動され
る。同時にデータ転送実行手段34によってデータ転送
が始まる。
【0068】データ転送終了後、その時点のタイマー3
3のカウント値fが取得され、他の転送情報とともに記
述子に書き戻される。上述した処理がすべての記述子に
対して順次行われる。
【0069】以上説明したように、本実施形態によれ
ば、転送データのサイズ及び転送レートに応じて、デー
タ転送に割り当てられる転送時間tr を計算し、さらに
タイマー33のクロック周期に基づきクロック数を計算
し、タイマー33の初期値N0とする。タイマーが切れ
ている場合、初期値N0 をセットして起動すると同時
に、データ転送実行手段34によって、記述子の情報に
基づきデータ転送を行う。データ転送終了時のタイマー
33のカウント値fが取得され、他の情報とともに識別
子に書き戻される。このカウント値fに応じて、ホスト
CPU10はデータ転送の状況を把握することができ、
より細かい制御を行うことができる。
【0070】
【発明の効果】以上説明したように、本発明のデータ転
送装置及びその転送方法によれば、リアルタイムのデー
タ転送が要求されるアプリケーション、例えば、動画や
音声データの転送アプリケーションを実行する場合、P
CIのような汎用バスを用いてシステムを構成しなが
ら、データ転送レートを制御可能である。また、識別子
から取得してデータ情報及び転送制御情報に基づき、転
送時間を計算でき、それに応じてタイマーなどを用いて
データ転送のタイミングを制御することによって、より
正確に転送レートの制御を実現できる利点がある。
【図面の簡単な説明】
【図1】本発明に係るデータ転送装置を含むデータ処理
システムの一構成例を示す構成図である。
【図2】本発明に係るデータ転送装置の第1の実施形態
を示す構成図である。
【図3】ホストCPUによる転送データの準備及び識別
子の作成処理を示すフローチャートである。
【図4】識別子及びそれに対応する転送データの概念を
示す図である。
【図5】第1の実施形態のデータ転送装置の転送処理を
示すフローチャートである。
【図6】第1の実施形態のデータ転送装置におけるデー
タ転送処理を示すタイミングチャートである。
【図7】第2の実施形態のデータ転送装置の転送処理を
示すフローチャートである。
【図8】第2の実施形態のデータ転送装置におけるデー
タ転送処理を示すタイミングチャートである。
【符号の説明】
10…ホストCPU、20…ホストブリッジ、30−
1,30−2,30−3…転送装置、31…記述子記憶
手段、32…設定値決定手段、33…タイマー、34…
データ転送実行手段、40…記憶装置、50…調停器。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】転送データの格納領域、データサイズ及び
    当該転送データの転送制御情報を含む記述子に基づき、
    上記データ格納領域に格納されているデータを転送する
    データ転送装置であって、 上記記述子に含まれている上記転送制御情報を取得する
    転送制御情報取得手段と、 上記転送制御情報に基づき設定されたタイミングで上記
    データ格納領域に格納されているデータを転送する転送
    手段とを有するデータ転送装置。
  2. 【請求項2】転送データの格納領域、データサイズ及び
    当該転送データの転送制御情報を含む記述子に基づき、
    上記データ格納領域に格納されているデータを転送する
    データ転送装置であって、 上記記述子に含まれている上記転送制御情報を取得する
    転送制御情報取得手段と、 上記転送制御情報に基づき、データ転送の待ち時間を計
    算し、当該待ち時間に応じた初期値を計算する決定手段
    と、 上記初期値を設定して起動する時間計測手段と、 上記時間計測手段が上記初期値に応じた時間分を計測終
    了後、上記データ格納領域に格納されているデータを転
    送する転送手段とを有するデータ転送装置。
  3. 【請求項3】上記時間計測手段は、所定の周期を持つク
    ロック信号を計数するタイマーによって構成されている
    請求項2記載のデータ転送装置。
  4. 【請求項4】転送データの格納領域、データサイズ及び
    当該転送データの転送制御情報を含む記述子に基づき、
    上記データ格納領域に格納されているデータを転送する
    データ転送装置であって、 上記記述子に含まれている上記転送制御情報を取得する
    転送制御情報取得手段と、 上記転送制御情報に基づき、データ転送の所要時間を計
    算し、当該所要時間に応じた初期値を計算する決定手段
    と、 上記初期値を設定して起動する時間計測手段と、 上記時間計測手段の起動とともに上記データ格納領域に
    格納されているデータを転送する転送手段と、 上記データ格納領域のデータが転送完了時に上記時間計
    測手段の計測値を取得する終了時間取得手段とを有する
    データ転送装置。
  5. 【請求項5】上記時間計測手段は、前回の時間計測が終
    了したあと、次回の初期値を設定して起動する請求項4
    記載のデータ転送装置。
  6. 【請求項6】上記時間計測手段は、所定の周期を持つク
    ロック信号を計数するタイマーによって構成されている
    請求項4記載のデータ転送装置。
  7. 【請求項7】上記終了時間取得手段は、上記データ格納
    領域のデータが転送完了時に上記タイマーの計数値を取
    得する請求項6記載のデータ転送装置。
  8. 【請求項8】転送データの格納領域、データサイズ及び
    当該転送データの転送制御情報を含む記述子に基づき、
    上記データ格納領域に格納されているデータを転送する
    データ転送方法であって、 上記記述子に含まれている上記転送制御情報を取得する
    ステップと、 上記転送制御情報に基づき設定されたタイミングで上記
    データ格納領域に格納されているデータを転送するステ
    ップとを有するデータ転送方法。
  9. 【請求項9】転送データの格納領域、データサイズ及び
    当該転送データの転送制御情報を含む記述子に基づき、
    上記データ格納領域に格納されているデータを転送する
    データ転送方法であって、 上記記述子に含まれている上記転送制御情報を取得する
    ステップと、 上記転送制御情報に基づき、データ転送の待ち時間を計
    算し、当該待ち時間に応じた初期値を計算するステップ
    と、 上記初期値をタイマーに設定し、上記タイマーを起動す
    るステップと、 上記タイマーが上記初期値に応じた時間分を計測した
    後、上記データ格納領域に格納されているデータを転送
    するステップとを有するデータ転送方法。
  10. 【請求項10】転送データの格納領域、データサイズ及
    び当該転送データの転送制御情報を含む記述子に基づ
    き、上記データ格納領域に格納されているデータを転送
    するデータ転送方法であって、 上記記述子に含まれている上記転送制御情報を取得する
    ステップと、 上記転送制御情報に基づき、データ転送の所要時間を計
    算し、当該所要時間に応じた初期値を計算するステップ
    と、 上記初期値をタイマーに設定して、上記タイマーを起動
    するステップと、 上記タイマーの起動とともに上記データ格納領域に格納
    されているデータを転送するステップと、 上記データ格納領域のデータが転送完了時に上記タイマ
    ーの計測値を取得するステップとを有するデータ転送方
    法。
  11. 【請求項11】前回の時間計測が終了したあと、次回の
    初期値を上記タイマーに設定して当該タイマーを起動す
    る請求項10記載のデータ転送方法。
JP2000380820A 2000-12-14 2000-12-14 データ転送装置及びデータ転送方法 Pending JP2002183078A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000380820A JP2002183078A (ja) 2000-12-14 2000-12-14 データ転送装置及びデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000380820A JP2002183078A (ja) 2000-12-14 2000-12-14 データ転送装置及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2002183078A true JP2002183078A (ja) 2002-06-28

Family

ID=18848937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000380820A Pending JP2002183078A (ja) 2000-12-14 2000-12-14 データ転送装置及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP2002183078A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006059303A (ja) * 2004-08-24 2006-03-02 Oki Electric Ind Co Ltd コンピュータシステム
JP2006293799A (ja) * 2005-04-13 2006-10-26 Sony Corp 情報処理装置、および情報処理方法
US7827331B2 (en) 2006-12-06 2010-11-02 Hitachi, Ltd. IO adapter and data transferring method using the same
JP2016535337A (ja) * 2013-11-05 2016-11-10 オラクル・インターナショナル・コーポレイション ネットワーク環境における効率的なパケット処理モデルおよびパケット処理のための最適化されたバッファ利用をサポートするためのシステムおよび方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006059303A (ja) * 2004-08-24 2006-03-02 Oki Electric Ind Co Ltd コンピュータシステム
JP2006293799A (ja) * 2005-04-13 2006-10-26 Sony Corp 情報処理装置、および情報処理方法
US7827331B2 (en) 2006-12-06 2010-11-02 Hitachi, Ltd. IO adapter and data transferring method using the same
JP2016535337A (ja) * 2013-11-05 2016-11-10 オラクル・インターナショナル・コーポレイション ネットワーク環境における効率的なパケット処理モデルおよびパケット処理のための最適化されたバッファ利用をサポートするためのシステムおよび方法

Similar Documents

Publication Publication Date Title
JP5829890B2 (ja) 半導体データ処理装置、タイムトリガ通信システム及び通信システム
JPH0653994A (ja) データ送信方式及び通信制御装置
US5287486A (en) DMA controller using a programmable timer, a transfer counter and an or logic gate to control data transfer interrupts
US6782433B2 (en) Data transfer apparatus
Somkuarnpanit et al. Fpga-based multi protocol data acquisition system with high speed usb interface
JP2002183078A (ja) データ転送装置及びデータ転送方法
KR100348545B1 (ko) 통신 dma 장치
US6728813B1 (en) Method and apparatus for converting non-burst write cycles to burst write cycles across a bus bridge
KR100633742B1 (ko) 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법
JP2624388B2 (ja) Dma装置
JP4151362B2 (ja) バス調停方式、データ転送装置、及びバス調停方法
JP5621747B2 (ja) マルチタスクシステム
JP2002259326A (ja) Dmaコントローラ及びdma転送方法
JP7226084B2 (ja) 情報処理装置
JPS6054065A (ja) 同期制御装置
JP4097377B2 (ja) マイクロコンピュータ
JP2742135B2 (ja) バス調停装置
JP2001265711A (ja) データ転送装置およびバスシステム
JP2007011884A (ja) データ転送装置
JPH0535659A (ja) データ転送装置
JPH1040139A (ja) パフォーマンスモニタ方式
JP2012150656A (ja) 半導体装置
JPH113312A (ja) 入出力制御システム、装置及び方法
JPH0821014B2 (ja) 多重入出力デ−タ転送装置
JP2002073533A (ja) データ処理装置