JP2000276438A - Dmaデータ転送方法 - Google Patents

Dmaデータ転送方法

Info

Publication number
JP2000276438A
JP2000276438A JP11084891A JP8489199A JP2000276438A JP 2000276438 A JP2000276438 A JP 2000276438A JP 11084891 A JP11084891 A JP 11084891A JP 8489199 A JP8489199 A JP 8489199A JP 2000276438 A JP2000276438 A JP 2000276438A
Authority
JP
Japan
Prior art keywords
data
dma
transfer
divided area
entry
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.)
Granted
Application number
JP11084891A
Other languages
English (en)
Other versions
JP3525790B2 (ja
Inventor
Shinjiro Taejima
慎二郎 妙嶋
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP08489199A priority Critical patent/JP3525790B2/ja
Publication of JP2000276438A publication Critical patent/JP2000276438A/ja
Application granted granted Critical
Publication of JP3525790B2 publication Critical patent/JP3525790B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】 SCSI磁気記憶装置が連続アドレス転送方
式しかサポートしていない入出力制御装置を備えた情報
処理装置に接続された場合に、不連続アドレス転送方式
に準じたDMAデータ転送を実現する。 【解決手段】 連続しない分割領域のデータのDMA転
送が指示された場合、転送先から得られる分割領域のア
ドレスのオフセット値と各エントリに格納されたデータ
転送領域の先頭から直前の分割領域までの大きさの総和
とを比較することによりDMA転送すべき分割領域を検
索特定してDMA転送を行い、DMA転送すべき分割領
域に対するデータの先取が未だ行われていないときに
は、新たにデータの先取を行ってDMA転送すべき分割
領域のデータをDMA転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、DMAデータ転送
方法
【0002】
【従来の技術及び発明が解決しようとする課題】情報処
理装置において、主記憶装置とSCSI(Small Comput
er System Interface)磁気記憶装置との間でDMA(D
irect Memory Access)を使用したデータ転送(DMA
データ転送)を行う場合、図4(a)に示すように、デ
ータ転送領域Dの先頭データから連続したアドレスのデ
ータを順次転送する方法(連続アドレス転送方式)と、
図4(b)に示すように、データ転送領域Dをいくつも
の領域A〜G(分割領域)に分割し、キャッシュのヒッ
ト状況などに応じて各領域A〜Gのデータを任意の順番
で転送する方法(不連続アドレス転送方式)とがある。
しかし、連続アドレス転送方式しかサポートしていない
入出力制御装置を備えた情報処理装置にSCSI磁気記
憶装置を接続した場合、不連続アドレス転送方式に準じ
てデータを転送することができない。
【0003】本発明は、上述する問題点に鑑みてなされ
たもので、連続アドレス転送方式しかサポートしていな
い入出力制御装置を備えた情報処理装置にSCSI磁気
記憶装置が接続された場合に、不連続アドレス転送を実
現することを目的とするものである。
【0004】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、第1の手段として、データ転送領域の
先頭アドレスから連続するデータを順次DMA転送する
連続アドレス転送方式のみをサポートする入出力制御装
置を用いて、前記データ転送領域を複数に分割した各分
割領域のデータを転送元から転送先に任意の分割領域の
順番でDMA転送する方法であって、先頭の分割領域か
ら連続する分割領域のデータのDMA転送が指示された
場合は、先頭の分割領域の先頭アドレス、大きさ、デー
タ転送領域の先頭から直前の分割領域までの大きさの総
和を前記入出力制御装置内に複数設けたエントリの1つ
に格納するデータの先取と、該データの先取による先頭
の分割領域の先頭アドレスと大きさに基づく当該分割領
域のデータのDMA転送を行い、かつ、この先頭の分割
領域に連続する各分割領域についても、前記データの先
取と該データの先取による分割領域の先頭アドレスと大
きさに基づくDMA転送を順次繰り返して行い、連続し
ない分割領域のデータのDMA転送が指示された場合に
は、転送先から得られる分割領域のアドレスのオフセッ
ト値と各エントリに格納された前記データ転送領域の先
頭から直前の分割領域までの大きさの総和とを比較する
ことによりDMA転送すべき分割領域を検索特定してD
MA転送を行い、DMA転送すべき分割領域に対するデ
ータの先取が未だ行われていないときには、新たにデー
タの先取を行ってDMA転送すべき分割領域のデータを
DMA転送するという手段を採用する。
【0005】また、第2の手段として、上記第1の手段
において、複数のエントリに対して所定の順番でデータ
の先取を行い、全てのエントリについてデータの先取を
行うと、最初にデータの先取を行ったエントリから前記
順番で次のデータの先取を行うという手段を採用する。
【0006】
【発明の実施の形態】以下、図面を参照して、本発明に
係わるDMAデータ転送方法の一実施形態について説明
する。
【0007】図1は、本実施形態を適用するコンピュー
タ・システムの機能構成を示すブロック図である。この
図において、符号1は主記憶装置、2は演算処理装置、
3はシステム制御装置、4は入出力制御装置、5はデバ
イス制御装置、6はSCSI磁気記憶装置である。これ
らの構成要素のうち、主記憶装置1、演算処理装置2及
びシステム制御装置3については周知の構成要素であ
り、詳細の説明を省略する。
【0008】入出力制御装置4は、32個のエントリ
(第1エントリ〜第32エントリ)を有するデータ先取
テーブル40、データ先取テーブル40の各エントリを
指し示すデータ先取ポインタ41及びデータカレントポ
インタ42、SCSI磁気記憶装置6から不連続アドレ
ス転送時に送られてくるオフセット値を受け取るレジス
タ43及びDMA転送制御部44を備えるものである。
【0009】上記データ先取テーブル40の各エントリ
は、D00からD0Fまでの合計16個の要素を持つ。
図2に示すように、D00の要素には主記憶装置1上の
分割された領域の先頭アドレスが、D01の要素にはこ
の領域の大きさが、またD02の要素には直前の領域ま
での大きさの総和が格納される。また、入出力制御装置
4が不連続アドレス転送を検出した場合、演算処理装置
2は、入出力制御装置4内のファームウエアに割込みを
通知し、図3のフローチャートに示す処理を実行する。
【0010】次に、上記コンピュータ・システムにおけ
るDMAデータ転送方法(不連続アドレス転送方式)に
ついて、上記図2,3を参照して詳細に説明する。
【0011】まず、データ転送開始時において、情報処
理装置2は、データ先取ポインタ41とデータカレント
ポインタ42とをデータ先取りテーブル40の第1エン
トリを指すように初期設定する。そして、図2に示すよ
うに主記憶装置1上のデータ転送領域Cを所定の大きさ
の分割領域(P00〜P0X)に分割し、その各分割領
域P00〜P0Xの先頭アドレス、大きさ、データ転送
領域Cの先頭から直前の領域までの領域の大きさの総和
を上記エントリの各要素D00〜D02にそれぞれ格納
させる。
【0012】例えば、図示するように、分割領域P02
に対応する第3エントリには、素要素D00に領域P0
2の先頭アドレスが格納され、要素D01に分割領域P
02の大きさが格納され、要素D02にはデータ転送領
域Cの先頭から直前の分割領域までの領域の大きさの総
和、つまり分割領域P00の大きさと分割領域P01の
大きさの和(すなわちアドレスのオフセット値)が格納
される。
【0013】このような処理は、データ転送領域Cの先
頭から1領域ずつ、データ先取ポインタ41によって1
つのエントリを指定することによって実行される。な
お、このような処理を「データの先取」と呼ぶ。
【0014】例えば、情報処理装置2は、第1エントリ
に対する分割領域P00の「データの先取」が完了する
と、データカレントポインタ42が指し示す当該第1エ
ントリの要素D00及び要素D01にそれぞれ格納され
いている分割領域P00の先頭アドレスとその大きさを
DMA転送制御部44に設定し、この先頭アドレスとそ
の大きさとに基づいて分割領域P00のデータをSCS
I磁気記憶装置6(転送先)にDMA転送する。
【0015】そして、この時点において、データカレン
トポインタ42はデータ先取ポインタ41と同一のエン
トリつまり第1エントリを指し示しているので、データ
先取ポインタ41をインクリメントして次のエントリ
(第2エントリ)のデータの先取を実行させ、続いてデ
ータカレントポインタ42をインクリメントすることに
より、第2エントリに格納された分割領域P01に係わ
る上記各データに基づいて分割領域P01のデータをS
CSI磁気記憶装置6にDMA転送する。
【0016】分割領域P01のデータのDMA転送が終
了すると、以下、各分割領域P02,……のデータの先
取とDMA転送を繰り返すことにより、データ転送領域
Cの全てのデータをDMA転送する。なお、データカレ
ントポインタ41とデータ先取ポインタ42とが最後の
第32エントリを指し示した場合には、続いてデータカ
レントポインタ41及びデータ先取ポインタ42を第1
エントリを指し示すように設定して処理を続ける。
【0017】このような分割領域P00及びこれに連続
する各分割領域P01,P02,……のDMA転送にお
いて、例えばSCSI磁気記憶装置6から送られてくる
アドレスのオフセット値に基づいて不連続アドレスのD
MA転送を検出すると、情報処理装置2は、入出力制御
装置4内のファームウエアに割込みを通知し、図3に示
す処理を実行することによりデータ転送すべき分割領域
を検索特定してDMA転送を行う。
【0018】すなわち、まず始めに、この時点において
データカレントポインタ42が指し示すエントリの要素
D02とレジスタ43のデータとを比較することによ
り、データ転送すべき分割領域の各データがデータ先取
テーブル40上のエントリに読み込まれたことがあるか
否か確認する(ステップS1)。ここで、要素D02の
方が小さい場合は、データ先取テーブル40上に読み込
まれたことがない可能性があるので、データカレントポ
インタ42が指し示すエントリの要素D02のデータと
要素D01のデータとの和(D02+D01)とレジス
タ43のデータとを比較する(ステップS2)。
【0019】そして、レジスタ43の方が大きい場合、
データカレントポインタ42が指定しているエントリは
該当エントリではないので、データカレントポインタ4
2をインクリメントする(ステップS3)。このとき、
データカレントポインタ42が第32エントリを指して
いた場合には、データ先取ポインタ41及びデータカレ
ントポインタ42を第1エントリを指すように設定す
る。
【0020】このようなデータカレントポインタ42の
インクリメント後、該データカレントポインタ42によ
って指定されたエントリがデータの先取がされている
か、つまりデータカレントポインタ42が指し示すエン
トリとデータ先取ポインタ41が指し示すエントリとが
等しいか否かを確認し(ステップS4)、データの先取
がされていない場合はデータの先取(ステップS4)を
行った後にステップS6の処理を行い、データの先取が
されている場合には即座にステップS6の処理を行う。
【0021】そして、ステップS6では上記ステップS
2と同様の比較処理を行い、レジスタ43のデータの方
が小さい場合は、データカレントポインタ42が指し示
すエントリがデータ転送を行うべきエントリであるの
で、データ転送アドレス及びカウントを算出してDMA
転送制御部44に設定し、DMA転送を起動して処理を
終える。
【0022】一方、上記ステップS1において、レジス
タ43のデータ方が小さいと判断された場合、データ先
取テーブル40に該当するエントリが既に存在する可能
性があるのでデータカレントポインタ42をデクリメン
トし(ステップS8)、また要素D02とレジスタ45
を比較する(ステップS9)。
【0023】この時、レジスタ43のデータの方が大き
い場合は、データカレントポインタ42が指し示すエン
トリがデータ転送をおこなうべきエントリということに
なるので、続いて上記ステップS7の処理を実行する。
また、レジスタ43のデータの方が小さい場合には、デ
ータカレントポインタ42が「0」、つまり第1エント
リを指しているか否かを確認し、第1エントリを指して
いないときには上記ステップS8の処理を繰り返す。
【0024】なお、データカレントポインタ42が第1
エントリを指している場合には、データ先取ポインタ4
1及びデータカレントポインタ42を第1エントリを指
し示すようにリセットしてデータ転送領域Cの先頭から
データの先取をおこない、引き続いて上記ステップS2
の処理を実行する。
【0025】このように、主記憶装置1上のデータ転送
領域Cの分割領域、つまり各分割領域P00〜P0Xの
先頭アドレス、大きさ、直前の領域までの大きさの総和
をデータ先取テーブル40の各エントリの各要素D00
〜D02に格納し、ファームウエアで上記一連の処理を
実行することにより、不連続アドレス転送時において、
主記憶装置1上のデータ転送アドレスを検索し、データ
転送を行うことが可能となる。なお、データ先取テーブ
ル40のエントリ数及び各エントリの要素数は任意であ
る。
【0026】
【発明の効果】以上説明したように、本発明に係わるD
MAデータ転送方法は、以下のような効果を奏する。 (1)連続アドレス転送方式のみをサポートする入出力
制御装置を用いて、各分割領域のデータを任意の分割領
域の順番でDMA転送することができる。 (2)複数のエントリに対して所定の順番でデータの先
取を行い、全てのエントリについてデータの先取を行う
と、最初にデータの先取を行ったエントリから前記順番
で次のデータの先取を行う場合、エントリを再利用でき
るので、エントリを分割領域の数だけ設ける必要がな
く、当該エントリ用に必要となる記憶領域の容量を押さ
えることができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態が適用される装置の機能
構成を示すブロック図である。
【図2】 本発明の一実施形態を説明するための説明図
である。
【図3】 本発明の一実施形態において、不連続アドレ
ス時の処理を示すフローチャートである。
【図4】 従来のDMAデータ転送方法を説明するため
の説明図である。
【符号の説明】
1……主記憶装置 2……演算処理装置 3……システム制御装置 4……入出力制御装置 5……デバイス制御装置 6……SCSI磁気記憶装置 40……データ先取テーブル 41……データ先取ポインタ 42……データカレントポインタ 43……レジスタ 44,50……DMA転送制御部

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 データ転送領域(C)の先頭アドレスか
    ら連続するデータを順次DMA転送する連続アドレス転
    送方式のみをサポートする入出力制御装置(4)を用い
    て、前記データ転送領域を複数に分割した各分割領域
    (P00〜P0X)のデータを転送元から転送先に任意
    の分割領域の順番でDMA転送する方法であって、 先頭の分割領域から連続する分割領域のデータのDMA
    転送が指示された場合は、先頭の分割領域の先頭アドレ
    ス、大きさ、データ転送領域の先頭から直前の分割領域
    までの大きさの総和を前記入出力制御装置内に複数設け
    たエントリの1つに格納するデータの先取と、該データ
    の先取による先頭の分割領域の先頭アドレスと大きさに
    基づく当該分割領域のデータのDMA転送を行い、か
    つ、この先頭の分割領域に連続する各分割領域について
    も、前記データの先取と該データの先取による分割領域
    の先頭アドレスと大きさに基づくDMA転送を順次繰り
    返して行い、 連続しない分割領域のデータのDMA転送が指示された
    場合には、転送先から得られる分割領域のアドレスのオ
    フセット値と各エントリに格納された前記データ転送領
    域の先頭から直前の分割領域までの大きさの総和とを比
    較することによりDMA転送すべき分割領域を検索特定
    してDMA転送を行い、DMA転送すべき分割領域に対
    するデータの先取が未だ行われていないときには、新た
    にデータの先取を行ってDMA転送すべき分割領域のデ
    ータをDMA転送する、 ことを特徴とするDMAデータ転送方法。
  2. 【請求項2】 複数のエントリに対して所定の順番でデ
    ータの先取を行い、全てのエントリについてデータの先
    取を行うと、最初にデータの先取を行ったエントリから
    前記順番で次のデータの先取を行うことを特徴とする請
    求項1記載のDMAデータ転送方法。
JP08489199A 1999-03-26 1999-03-26 Dmaデータ転送方法 Expired - Fee Related JP3525790B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08489199A JP3525790B2 (ja) 1999-03-26 1999-03-26 Dmaデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08489199A JP3525790B2 (ja) 1999-03-26 1999-03-26 Dmaデータ転送方法

Publications (2)

Publication Number Publication Date
JP2000276438A true JP2000276438A (ja) 2000-10-06
JP3525790B2 JP3525790B2 (ja) 2004-05-10

Family

ID=13843384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08489199A Expired - Fee Related JP3525790B2 (ja) 1999-03-26 1999-03-26 Dmaデータ転送方法

Country Status (1)

Country Link
JP (1) JP3525790B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913898A (zh) * 2019-05-10 2020-11-10 恩智浦美国有限公司 使用端点的pcie根复合体消息中断产生方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913898A (zh) * 2019-05-10 2020-11-10 恩智浦美国有限公司 使用端点的pcie根复合体消息中断产生方法

Also Published As

Publication number Publication date
JP3525790B2 (ja) 2004-05-10

Similar Documents

Publication Publication Date Title
US8266340B2 (en) DMA controller
JP3055917B2 (ja) データ転送制御装置
JP2008204456A (ja) 複雑な非線形データの転送制御システム
US20020026544A1 (en) DMA controller
JP2000293436A (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
JP3579843B2 (ja) ディジタル信号処理装置
JPH0916409A (ja) マイクロコンピュータ
JP3061106B2 (ja) バスブリッジおよびそれを備えた計算機システム
JP3435278B2 (ja) データ処理装置
JP3446653B2 (ja) データ転送装置
US6718405B2 (en) Hardware chain pull
JP2000276438A (ja) Dmaデータ転送方法
US6801988B2 (en) Data buffer for block unit data transfer to SDRAM
JPH11184799A (ja) メモリデータ転送方法ならびに装置
JP3614714B2 (ja) Dma制御装置
US20030177229A1 (en) Microcomputer, bus control circuit, and data access method for a microcomputer
JPH0377137A (ja) 情報処理装置
JPH0635800A (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
JP3246605B2 (ja) デ−タ転送方法
JP2002182901A (ja) コプロセッサデータアクセス制御装置、その方法およびその命令フォーマット
JP3523384B2 (ja) データ転送方法およびコンピュータシステム
JP2710219B2 (ja) Dma制御装置
JP3168845B2 (ja) ディジタル信号処理装置
JP3270149B2 (ja) データ転送装置
JP2720427B2 (ja) ベクトル処理装置

Legal Events

Date Code Title Description
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: 20040127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040209

R150 Certificate of patent or registration of utility model

Ref document number: 3525790

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: 20080227

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090227

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100227

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100227

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110227

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110227

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120227

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130227

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140227

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees