Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3525790B2 - DMA data transfer method - Google Patents
[go: Go Back, main page]

JP3525790B2 - DMA data transfer method - Google Patents

DMA data transfer method

Info

Publication number
JP3525790B2
JP3525790B2 JP08489199A JP8489199A JP3525790B2 JP 3525790 B2 JP3525790 B2 JP 3525790B2 JP 08489199 A JP08489199 A JP 08489199A JP 8489199 A JP8489199 A JP 8489199A JP 3525790 B2 JP3525790 B2 JP 3525790B2
Authority
JP
Japan
Prior art keywords
data
transfer
dma
area
divided area
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
Application number
JP08489199A
Other languages
Japanese (ja)
Other versions
JP2000276438A (en
Inventor
慎二郎 妙嶋
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/en
Publication of JP2000276438A publication Critical patent/JP2000276438A/en
Application granted granted Critical
Publication of JP3525790B2 publication Critical patent/JP3525790B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、DMAデータ転送
方法
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a DMA data transfer method.

【0002】[0002]

【従来の技術及び発明が解決しようとする課題】情報処
理装置において、主記憶装置とSCSI(Small Comput
er System Interface)磁気記憶装置との間でDMA(D
irect Memory Access)を使用したデータ転送(DMA
データ転送)を行う場合、図4(a)に示すように、デ
ータ転送領域Dの先頭データから連続したアドレスのデ
ータを順次転送する方法(連続アドレス転送方式)と、
図4(b)に示すように、データ転送領域Dをいくつも
の領域A〜G(分割領域)に分割し、キャッシュのヒッ
ト状況などに応じて各領域A〜Gのデータを任意の順番
で転送する方法(不連続アドレス転送方式)とがある。
しかし、連続アドレス転送方式しかサポートしていない
入出力制御装置を備えた情報処理装置にSCSI磁気記
憶装置を接続した場合、不連続アドレス転送方式に準じ
てデータを転送することができない。
2. Description of the Related Art In an information processing apparatus, a main memory and a SCSI (Small Computation) are used.
er system interface) DMA (D
Data transfer (DMA) using irect Memory Access
When performing data transfer), as shown in FIG. 4A, a method (sequential address transfer method) of sequentially transferring data of consecutive addresses from the head data of the data transfer area D,
As shown in FIG. 4B, the data transfer area D is divided into a number of areas A to G (divided areas), and the data in the areas A to G is transferred in an arbitrary order according to the cache hit status and the like. Method (discontinuous address transfer method).
However, when the SCSI magnetic storage device is connected to an information processing device having an input / output control device that supports only the continuous address transfer system, data cannot be transferred according to the discontinuous address transfer system.

【0003】本発明は、上述する問題点に鑑みてなされ
たもので、連続アドレス転送方式しかサポートしていな
い入出力制御装置を備えた情報処理装置にSCSI磁気
記憶装置が接続された場合に、不連続アドレス転送を実
現することを目的とするものである。
The present invention has been made in view of the above problems, and when a SCSI magnetic storage device is connected to an information processing device having an input / output control device which supports only a continuous address transfer system, The purpose is to realize discontinuous address transfer.

【0004】[0004]

【課題を解決するための手段】上記目的を達成するため
に、本発明では、第1の手段として、データ転送領域の
先頭アドレスから連続するデータを順次DMA転送する
連続アドレス転送方式のみをサポートする入出力制御装
置を用いて、前記データ転送領域を複数に分割した各分
割領域のデータを転送元から転送先に任意の分割領域の
順番でDMA転送する方法であって、先頭の分割領域か
ら連続する分割領域のデータのDMA転送が指示された
場合は、各分割領域の先頭アドレス、大きさ、データ転
送領域の先頭から直前の分割領域までの大きさの総和を
前記入出力制御装置内に複数設けたエントリの1つに格
納するデータの先取と、該データの先取による先頭の分
割領域の先頭アドレスと大きさに基づく当該分割領域の
データのDMA転送を行い、かつ、この先頭の分割領域
に連続する各分割領域についても、前記データの先取と
該データの先取による分割領域の先頭アドレスと大きさ
に基づくDMA転送を順次繰り返して行い、連続しない
分割領域のデータのDMA転送が指示された場合には、
転送先から得られる分割領域のアドレスのオフセット値
と各エントリに格納された前記データ転送領域の先頭か
ら直前の分割領域までの大きさの総和とを比較すること
によりDMA転送すべき分割領域を検索特定してDMA
転送を行うという手段を採用する。
To achieve the above object, the present invention, as a first means, supports only a continuous address transfer system in which continuous data is sequentially DMA-transferred from the start address of a data transfer area. A method of performing DMA transfer of data in each divided area obtained by dividing the data transfer area into a plurality of areas from a transfer source to a transfer destination in an arbitrary order of divided areas by using an input / output control device, and sequentially from the first divided area. When the DMA transfer of the data of the divided area is specified, the sum of the start address and size of each divided area and the size from the start of the data transfer area to the immediately preceding divided area is plural in the input / output control device. The prefetch of the data to be stored in one of the provided entries and the DMA transfer of the data of the divided area based on the start address and the size of the start divided area by the prefetch of the data For each of the divided areas continuous with the leading divided area, the data prefetch and the DMA transfer based on the head address and the size of the divided area by the data prefetch are sequentially repeated, and the divided division is not continuous. When DMA transfer of area data is instructed,
The divided area to be DMA-transferred is searched by comparing the offset value of the address of the divided area obtained from the transfer destination with the sum of the sizes from the head of the data transfer area stored in each entry to the immediately preceding divided area. Specified DMA
To adopt the means of performing the transfer.

【0005】また、第2の手段として、上記第1の手段
において、複数のエントリに対して所定の順番でデータ
の先取とDMA転送を行い、最後のエントリについて
ータの先取とDMA転送を行うと、最初のエントリから
データの先取とDMA転送を行うという手段を採用す
る。
As a second means, in the first means, the data is written in a predetermined order for a plurality of entries.
Prefetch and DMA transfer are performed, and the last entry is deleted.
When data prefetch and DMA transfer are performed, from the first entry
A method of prefetching data and performing DMA transfer is adopted.

【0006】[0006]

【発明の実施の形態】以下、図面を参照して、本発明に
係わるDMAデータ転送方法の一実施形態について説明
する。
BEST MODE FOR CARRYING OUT THE INVENTION An embodiment of a DMA data transfer method according to the present invention will be described below with reference to the drawings.

【0007】図1は、本実施形態を適用するコンピュー
タ・システムの機能構成を示すブロック図である。この
図において、符号1は主記憶装置、2は演算処理装置、
3はシステム制御装置、4は入出力制御装置、5はデバ
イス制御装置、6はSCSI磁気記憶装置である。これ
らの構成要素のうち、主記憶装置1、演算処理装置2及
びシステム制御装置3については周知の構成要素であ
り、詳細の説明を省略する。
FIG. 1 is a block diagram showing the functional arrangement of a computer system to which this embodiment is applied. In this figure, reference numeral 1 is a main storage device, 2 is an arithmetic processing device,
Reference numeral 3 is a system controller, 4 is an input / output controller, 5 is a device controller, and 6 is a SCSI magnetic storage device. Of these components, the main storage device 1, the arithmetic processing device 2, and the system control device 3 are well-known components, and detailed description thereof will be omitted.

【0008】入出力制御装置4は、32個のエントリ
(第1エントリ〜第32エントリ)を有するデータ先取
テーブル40、データ先取テーブル40の各エントリを
指し示すデータ先取ポインタ41及びデータカレントポ
インタ42、SCSI磁気記憶装置6から不連続アドレ
ス転送時に送られてくるオフセット値を受け取るレジス
タ43及びDMA転送制御部44を備えるものである。
The input / output control device 4 has a data prefetch table 40 having 32 entries (first entry to 32nd entry), a data prefetch pointer 41 and a data current pointer 42 pointing to each entry of the data prefetch table 40, and a SCSI. The register 43 and the DMA transfer control unit 44 for receiving the offset value sent from the magnetic storage device 6 at the time of discontinuous address transfer are provided.

【0009】上記データ先取テーブル40の各エントリ
は、D00からD0Fまでの合計16個の要素を持つ。
図2に示すように、D00の要素には主記憶装置1上の
分割された領域の先頭アドレスが、D01の要素にはこ
の領域の大きさが、またD02の要素には直前の領域ま
での大きさの総和が格納される。また、入出力制御装置
4が不連続アドレス転送を検出した場合、演算処理装置
2は、入出力制御装置4内のファームウエアに割込みを
通知し、図3のフローチャートに示す処理を実行する。
Each entry of the data prefetch table 40 has a total of 16 elements from D00 to D0F.
As shown in FIG. 2, the element of D00 is the start address of the divided area on the main storage device 1, the element of D01 is the size of this area, and the element of D02 is the area up to the immediately preceding area. The total size is stored. When the input / output control device 4 detects a discontinuous address transfer, the arithmetic processing device 2 notifies the firmware in the input / output control device 4 of an interrupt and executes the processing shown in the flowchart of FIG.

【0010】次に、上記コンピュータ・システムにおけ
るDMAデータ転送方法(不連続アドレス転送方式)に
ついて、上記図2,3を参照して詳細に説明する。
Next, the DMA data transfer method (discontinuous address transfer method) in the computer system will be described in detail with reference to FIGS.

【0011】まず、データ転送開始時において、情報処
理装置2は、データ先取ポインタ41とデータカレント
ポインタ42とをデータ先取りテーブル40の第1エン
トリを指すように初期設定する。そして、図2に示すよ
うに主記憶装置1上のデータ転送領域Cを所定の大きさ
の分割領域(P00〜P0X)に分割し、その各分割領
域P00〜P0Xの先頭アドレス、大きさ、データ転送
領域Cの先頭から直前の領域までの領域の大きさの総和
を上記エントリの各要素D00〜D02にそれぞれ格納
させる。
First, at the start of data transfer, the information processing apparatus 2 initializes the data prefetch pointer 41 and the data current pointer 42 to point to the first entry of the data prefetch table 40. Then, as shown in FIG. 2, the data transfer area C on the main storage device 1 is divided into divided areas (P00 to P0X) of a predetermined size, and the start address, size, and data of each divided area P00 to P0X are divided. The total sum of the sizes of the areas from the beginning of the transfer area C to the immediately preceding area is stored in the respective elements D00 to D02 of the above entry.

【0012】例えば、図示するように、分割領域P02
に対応する第3エントリには、素要素D00に領域P0
2の先頭アドレスが格納され、要素D01に分割領域P
02の大きさが格納され、要素D02にはデータ転送領
域Cの先頭から直前の分割領域までの領域の大きさの総
和、つまり分割領域P00の大きさと分割領域P01の
大きさの和(すなわちアドレスのオフセット値)が格納
される。
For example, as shown in the figure, the divided area P02
In the third entry corresponding to
The first address of 2 is stored, and the divided area P is stored in the element D01.
The size of No. 02 is stored, and the sum of the sizes of the areas from the beginning of the data transfer area C to the immediately preceding divided area, that is, the sum of the sizes of the divided areas P00 and P01 (that is, the address The offset value of is stored.

【0013】このような処理は、データ転送領域Cの先
頭から1領域ずつ、データ先取ポインタ41によって1
つのエントリを指定することによって実行される。な
お、このような処理を「データの先取」と呼ぶ。
Such processing is performed by the data prefetch pointer 41 one by one from the beginning of the data transfer area C.
This is done by specifying one entry. It should be noted that such processing is called "data pre-fetching".

【0014】例えば、情報処理装置2は、第1エントリ
に対する分割領域P00の「データの先取」が完了する
と、データカレントポインタ42が指し示す当該第1エ
ントリの要素D00及び要素D01にそれぞれ格納され
いている分割領域P00の先頭アドレスとその大きさを
DMA転送制御部44に設定し、この先頭アドレスとそ
の大きさとに基づいて分割領域P00のデータをSCS
I磁気記憶装置6(転送先)にDMA転送する。
For example, when the "data prefetching" of the divided area P00 for the first entry is completed, the information processing apparatus 2 stores the data in the elements D00 and D01 of the first entry pointed to by the data current pointer 42, respectively. The start address of the divided area P00 and its size are set in the DMA transfer control unit 44, and the data of the divided area P00 is SCS based on this start address and its size.
DMA transfer to the I magnetic storage device 6 (transfer destination).

【0015】そして、この時点において、データカレン
トポインタ42はデータ先取ポインタ41と同一のエン
トリつまり第1エントリを指し示しているので、データ
先取ポインタ41をインクリメントして次のエントリ
(第2エントリ)のデータの先取を実行させ、続いてデ
ータカレントポインタ42をインクリメントすることに
より、第2エントリに格納された分割領域P01に係わ
る上記各データに基づいて分割領域P01のデータをS
CSI磁気記憶装置6にDMA転送する。
At this point, since the data current pointer 42 points to the same entry as the data prefetch pointer 41, that is, the first entry, the data prefetch pointer 41 is incremented and the data of the next entry (second entry) is incremented. Of the divided area P01 based on each of the above-mentioned data related to the divided area P01 stored in the second entry, by executing the prefetching of the data current pointer 42.
DMA transfer is performed to the CSI magnetic storage device 6.

【0016】分割領域P01のデータのDMA転送が終
了すると、以下、各分割領域P02,……のデータの先
取とDMA転送を繰り返すことにより、データ転送領域
Cの全てのデータをDMA転送する。なお、データカレ
ントポインタ42とデータ先取ポインタ41とが最後の
第32エントリを指し示した場合には、続いてデータカ
レントポインタ42及びデータ先取ポインタ41を第1
エントリを指し示すように設定して処理を続ける。
When the DMA transfer of the data in the divided area P01 is completed, all the data in the data transfer area C is DMA-transferred by repeating the prefetching of the data in each divided area P02, ... And the DMA transfer. When the data current pointer 42 and the data prefetch pointer 41 point to the last 32nd entry, the data current pointer 42 and the data prefetch pointer 41 are set to the first
Set to point to the entry and continue processing.

【0017】このような分割領域P00及びこれに連続
する各分割領域P01,P02,……のDMA転送にお
いて、例えばSCSI磁気記憶装置6から送られてくる
アドレスのオフセット値に基づいて不連続アドレスのD
MA転送を検出すると、情報処理装置2は、入出力制御
装置4内のファームウエアに割込みを通知し、図3に示
す処理を実行することによりデータ転送すべき分割領域
を検索特定してDMA転送を行う。
In the DMA transfer of the divided area P00 and each of the divided areas P01, P02, ... Continuing to the divided area P00, the discontinuous addresses of the discontinuous addresses are based on the offset value of the address sent from the SCSI magnetic storage device 6, for example. D
When the MA transfer is detected, the information processing device 2 notifies the firmware in the input / output control device 4 of the interrupt and executes the process shown in FIG. I do.

【0018】すなわち、まず始めに、この時点において
データカレントポインタ42が指し示すエントリの要素
D02とレジスタ43のデータとを比較することによ
り、データ転送すべき分割領域の各データがデータ先取
テーブル40上のエントリに読み込まれたことがあるか
否か確認する(ステップS1)。ここで、要素D02の
方が小さい場合は、データ先取テーブル40上に読み込
まれたことがない可能性があるので、データカレントポ
インタ42が指し示すエントリの要素D02のデータと
要素D01のデータとの和(D02+D01)とレジス
タ43のデータとを比較する(ステップS2)。
That is, first, by comparing the element D02 of the entry pointed to by the data current pointer 42 with the data in the register 43 at this point, each data in the divided area to be transferred is stored in the data prefetch table 40. It is confirmed whether the entry has been read (step S1). Here, if the element D02 is smaller, it may not have been read into the data prefetch table 40, so the sum of the data of the element D02 and the data of the element D01 of the entry pointed to by the data current pointer 42. (D02 + D01) is compared with the data in the register 43 (step S2).

【0019】そして、レジスタ43の方が大きい場合、
データカレントポインタ42が指定しているエントリは
該当エントリではないので、データカレントポインタ4
2をインクリメントする(ステップS3)。このとき、
データカレントポインタ42が第32エントリを指して
いた場合には、データ先取ポインタ41及びデータカレ
ントポインタ42を第1エントリを指すように設定す
る。
If the register 43 is larger,
Since the entry designated by the data current pointer 42 is not the corresponding entry, the data current pointer 4
2 is incremented (step S3). At this time,
If the data current pointer 42 points to the 32nd entry, the data prefetch pointer 41 and the data current pointer 42 are set to point to the 1st entry.

【0020】このようなデータカレントポインタ42の
インクリメント後、該データカレントポインタ42によ
って指定されたエントリがデータの先取がされている
か、つまりデータカレントポインタ42が指し示すエン
トリとデータ先取ポインタ41が指し示すエントリとが
等しいか否かを確認し(ステップS4)、データの先取
がされていない場合はデータの先取(ステップS5)を
行った後にステップS6の処理を行い、データの先取が
されている場合には即座にステップS6の処理を行う。
After such an increment of the data current pointer 42, whether the entry designated by the data current pointer 42 is prefetched, that is, the entry pointed to by the data current pointer 42 and the entry pointed to by the data prefetch pointer 41 Is checked (step S4), and if the data is not pre-fetched, the data is pre-fetched (step S5 ) and then the process of step S6 is performed. If the data is pre-fetched, The process of step S6 is immediately performed.

【0021】そして、ステップS6では上記ステップS
2と同様の比較処理を行い、レジスタ43のデータの方
が小さい場合は、データカレントポインタ42が指し示
すエントリがデータ転送を行うべきエントリであるの
で、データ転送アドレス及びカウントを算出してDMA
転送制御部44に設定し、DMA転送を起動して処理を
終える。
Then, in step S6, the above-mentioned step S
If the data in the register 43 is smaller, the entry indicated by the data current pointer 42 is the entry for which data transfer is to be performed, so the data transfer address and count are calculated and DMA is performed.
This is set in the transfer control unit 44, the DMA transfer is activated, and the process ends.

【0022】一方、上記ステップS1において、レジス
タ43のデータ方が小さいと判断された場合、データ先
取テーブル40に該当するエントリが既に存在する可能
性があるのでデータカレントポインタ42をデクリメン
トし(ステップS8)、また要素D02とレジスタ45
を比較する(ステップS9)。
On the other hand, if it is determined in step S1 that the data in the register 43 is smaller, the corresponding entry may already exist in the data prefetch table 40, so the data current pointer 42 is decremented (step S8). ), Also element D02 and register 45
Are compared (step S9).

【0023】この時、レジスタ43のデータの方が大き
い場合は、データカレントポインタ42が指し示すエン
トリがデータ転送をおこなうべきエントリということに
なるので、続いて上記ステップS7の処理を実行する。
また、レジスタ43のデータの方が小さい場合には、デ
ータカレントポインタ42が「0」、つまり第1エント
リを指しているか否かを確認し、第1エントリを指して
いないときには上記ステップS8の処理を繰り返す。
At this time, if the data in the register 43 is larger, the entry pointed to by the data current pointer 42 is the entry to which the data transfer should be performed, so that the process in step S7 is subsequently executed.
If the data in the register 43 is smaller, it is confirmed whether or not the data current pointer 42 points to "0", that is, the first entry. If the data does not point to the first entry, the process of step S8 is performed. repeat.

【0024】なお、データカレントポインタ42が第1
エントリを指している場合には、データ先取ポインタ4
1及びデータカレントポインタ42を第1エントリを指
し示すようにリセットしてデータ転送領域Cの先頭から
データの先取をおこない、引き続いて上記ステップS2
の処理を実行する。
The data current pointer 42 is the first
Data prefetch pointer 4 if pointing to an entry
1 and the data current pointer 42 are reset to point to the first entry, data is prefetched from the beginning of the data transfer area C, and then step S2 is performed.
The process of is executed.

【0025】このように、主記憶装置1上のデータ転送
領域Cの分割領域、つまり各分割領域P00〜P0Xの
先頭アドレス、大きさ、直前の領域までの大きさの総和
をデータ先取テーブル40の各エントリの各要素D00
〜D02に格納し、ファームウエアで上記一連の処理を
実行することにより、不連続アドレス転送時において、
主記憶装置1上のデータ転送アドレスを検索し、データ
転送を行うことが可能となる。なお、データ先取テーブ
ル40のエントリ数及び各エントリの要素数は任意であ
る。
As described above, the sum of the divided areas of the data transfer area C in the main storage device 1, that is, the start addresses and sizes of the divided areas P00 to P0X and the sizes up to the immediately preceding area is stored in the data prefetch table 40. Each element D00 of each entry
~ D02, by performing the series of processing in the firmware, at the time of discontinuous address transfer,
It becomes possible to retrieve the data transfer address on the main memory 1 and transfer the data. The number of entries in the data prefetch table 40 and the number of elements in each entry are arbitrary.

【0026】[0026]

【発明の効果】以上説明したように、本発明に係わるD
MAデータ転送方法は、以下のような効果を奏する。 (1)連続アドレス転送方式のみをサポートする入出力
制御装置を用いて、各分割領域のデータを任意の分割領
域の順番でDMA転送することができる。 (2)複数のエントリに対して所定の順番でデータの先
取を行い、全てのエントリについてデータの先取を行う
と、最初にデータの先取を行ったエントリから前記順番
で次のデータの先取を行う場合、エントリを再利用でき
るので、エントリを分割領域の数だけ設ける必要がな
く、当該エントリ用に必要となる記憶領域の容量を押さ
えることができる。
As described above, the D according to the present invention
The MA data transfer method has the following effects. (1) The data of each divided area can be DMA-transferred in the order of an arbitrary divided area by using the input / output control device which supports only the continuous address transfer method. (2) When the data is pre-fetched in a predetermined order for a plurality of entries and the data is pre-fetched for all entries, the next data is pre-fetched in the above-mentioned order from the entry which pre-fetched the data first. In this case, since the entry can be reused, it is not necessary to provide the entry by the number of divided areas, and the capacity of the storage area required for the entry can be suppressed.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明の一実施形態が適用される装置の機能
構成を示すブロック図である。
FIG. 1 is a block diagram showing a functional configuration of an apparatus to which an embodiment of the present invention is applied.

【図2】 本発明の一実施形態を説明するための説明図
である。
FIG. 2 is an explanatory diagram for explaining an embodiment of the present invention.

【図3】 本発明の一実施形態において、不連続アドレ
ス時の処理を示すフローチャートである。
FIG. 3 is a flowchart showing a process at a discontinuous address according to the embodiment of the present invention.

【図4】 従来のDMAデータ転送方法を説明するため
の説明図である。
FIG. 4 is an explanatory diagram for explaining a conventional DMA data transfer method.

【符号の説明】[Explanation of symbols]

1……主記憶装置 2……演算処理装置 3……システム制御装置 4……入出力制御装置 5……デバイス制御装置 6……SCSI磁気記憶装置 40……データ先取テーブル 41……データ先取ポインタ 42……データカレントポインタ 43……レジスタ 44,50……DMA転送制御部 1 ... Main memory 2 ... Arithmetic processing unit 3 ... System control device 4 ... Input / output control device 5: Device control device 6 ... SCSI magnetic storage device 40 ... Data prefetch table 41: Data prefetch pointer 42 ... Data current pointer 43 ... Register 44, 50 ... DMA transfer control unit

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 13/20 - 13/378 ─────────────────────────────────────────────────── ─── Continuation of the front page (58) Fields surveyed (Int.Cl. 7 , DB name) G06F 13/20-13/378

Claims (2)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 データ転送領域(C)の先頭アドレスか
ら連続するデータを順次DMA転送する連続アドレス転
送方式のみをサポートする入出力制御装置(4)を用い
て、前記データ転送領域を複数に分割した各分割領域
(P00〜P0X)のデータを転送元から転送先に任意
の分割領域の順番でDMA転送する方法であって、 先頭の分割領域から連続する分割領域のデータのDMA
転送が指示された場合は、各分割領域の先頭アドレス、
大きさ、データ転送領域の先頭から直前の分割領域まで
の大きさの総和を前記入出力制御装置内に複数設けたエ
ントリの1つに格納するデータの先取と、該データの先
取による先頭の分割領域の先頭アドレスと大きさに基づ
く当該分割領域のデータのDMA転送を行い、かつ、こ
の先頭の分割領域に連続する各分割領域についても、前
記データの先取と該データの先取による分割領域の先頭
アドレスと大きさに基づくDMA転送を順次繰り返して
行い、 連続しない分割領域のデータのDMA転送が指示された
場合には、転送先から得られる分割領域のアドレスのオ
フセット値と各エントリに格納された前記データ転送領
域の先頭から直前の分割領域までの大きさの総和とを比
較することによりDMA転送すべき分割領域を検索特定
してDMA転送を行う、 ことを特徴とするDMAデータ転送方法。
1. A data transfer area is divided into a plurality of parts by using an input / output control device (4) which supports only a continuous address transfer method of sequentially DMA-transferring continuous data from a start address of the data transfer area (C). A method of DMA-transferring data in each divided area (P00 to P0X) from a transfer source to a transfer destination in the order of an arbitrary divided area.
If transfer is instructed, the start address of each divided area ,
Preemption of data for storing the sum of the size and the size from the beginning of the data transfer area to the immediately preceding divided area in one of the plurality of entries provided in the input / output control device, and the division of the beginning by preemption of the data The data of the divided area is DMA-transferred based on the start address and size of the area, and for each divided area continuous to the first divided area, the prefetch of the data and the start of the divided area by the prefetch of the data are performed. When the DMA transfer based on the address and the size is sequentially repeated and the DMA transfer of the data of the non-continuous divided areas is instructed, the offset value of the address of the divided area obtained from the transfer destination and the value stored in each entry are stored. By comparing the sum of the sizes from the head of the data transfer area to the immediately preceding divided area, the divided area to be DMA-transferred is searched and specified to perform DMA. A DMA data transfer method, characterized in that the transfer is performed .
【請求項2】 複数のエントリに対して所定の順番で
ータの先取とDMA転送を行い、最後のエントリについ
データの先取とDMA転送を行うと、最初のエントリ
からデータの先取とDMA転送を行うことを特徴とする
請求項1記載のDMAデータ転送方法。
2. A de in a predetermined order to a plurality of entries
Perform preemption and DMA transfers over data, when the preempt and DMA transfer of data for the last entry, according to claim 1, characterized in that the preemption and DMA transfer of data from the first entry <br/> DMA data transfer method.
JP08489199A 1999-03-26 1999-03-26 DMA data transfer method Expired - Fee Related JP3525790B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP08489199A JP3525790B2 (en) 1999-03-26 1999-03-26 DMA data transfer method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08489199A JP3525790B2 (en) 1999-03-26 1999-03-26 DMA data transfer method

Publications (2)

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

Family

ID=13843384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08489199A Expired - Fee Related JP3525790B2 (en) 1999-03-26 1999-03-26 DMA data transfer method

Country Status (1)

Country Link
JP (1) JP3525790B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913898B (en) * 2019-05-10 2024-07-09 恩智浦美国有限公司 PCIE root complex message interrupt generation method using endpoint

Also Published As

Publication number Publication date
JP2000276438A (en) 2000-10-06

Similar Documents

Publication Publication Date Title
US6324599B1 (en) Computer system and method for tracking DMA transferred data within a read-ahead local buffer without interrupting the host processor
EP0542417B1 (en) Method and direct memory access controller for asynchronously reading/writing data from/to a memory with improved throughput
US5367639A (en) Method and apparatus for dynamic chaining of DMA operations without incurring race conditions
JP3183993B2 (en) Disk control system
JP4887313B2 (en) Complex nonlinear data transfer control system
JP3180362B2 (en) Information processing device
CN114051611A (en) DMA scatter and gather operations for non-contiguous memory
US6654837B1 (en) Dynamic priority external transaction system
US6728797B2 (en) DMA controller
JP2001229115A (en) ATAPI command processing method
US20070226382A1 (en) Method for improving direct memory access performance
JP3579843B2 (en) Digital signal processor
US20030172229A1 (en) Systems and methods for detecting and compensating for runt block data transfers
EP0969384B1 (en) Method and apparatus for processing information, and providing medium
JP3525790B2 (en) DMA data transfer method
JPH0696007A (en) DMA transfer method
TW200301425A (en) Sequential data transfer detection
JP2004303239A (en) Method for processing a plurality of outstanding data requests
JPS6074174A (en) Memory access system
JP3825605B2 (en) Data processing device
JP3270149B2 (en) Data transfer device
JPH10111798A (en) Information processing device
JPS6240525A (en) Data transfer buffer system
JP3523384B2 (en) Data transfer method and computer system
JPH0346033A (en) Inter-job data transfer control method

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