JP2000330923A - Data transfer system, transfer method, and recording medium - Google Patents
Data transfer system, transfer method, and recording mediumInfo
- Publication number
- JP2000330923A JP2000330923A JP11137935A JP13793599A JP2000330923A JP 2000330923 A JP2000330923 A JP 2000330923A JP 11137935 A JP11137935 A JP 11137935A JP 13793599 A JP13793599 A JP 13793599A JP 2000330923 A JP2000330923 A JP 2000330923A
- Authority
- JP
- Japan
- Prior art keywords
- partition
- data
- transfer
- channel
- partitions
- 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 description 14
- 238000005192 partition Methods 0.000 claims abstract description 186
- 239000000872 buffer Substances 0.000 claims abstract description 84
- 230000004044 response Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 3
- 230000002093 peripheral effect Effects 0.000 abstract description 5
- 230000003139 buffering effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009291 secondary effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
Landscapes
- Bus Control (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明はデータ転送システム
及びデータ転送方法並びにデータ転送プログラムを記録
した記録媒体に関し、特に主記憶に格納されているデー
タをデータバッファを介して複数のチャネルのいずれか
に転送するデータ転送システム及びデータ転送方法並び
にデータ転送プログラムを記録した記録媒体に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer system, a data transfer method, and a recording medium on which a data transfer program is recorded, and more particularly to transferring data stored in a main memory to one of a plurality of channels via a data buffer. The present invention relates to a data transfer system, a data transfer method, and a recording medium on which a data transfer program is recorded.
【0002】[0002]
【従来の技術】従来は、先取りデータバッファをDMA
(Direct Memory Access)転送の
論理的な管理単位であるチャネル毎に分割を行い、チャ
ネル制御部からのDMA転送要求前に、先取りデータバ
ッファへデータの先取りを行っていた。一般にチャネル
あたりの先取りデータバッファのサイズは、先取り要求
を中央処理装置に対し送出してから、リードデータがバ
ッファに格納されるまでの間に、バッファが空にならな
いように設定され、この設定されたサイズとチャネル数
とを乗算した分の先取りデータバッファが必要であっ
た。2. Description of the Related Art Conventionally, a prefetch data buffer has been
(Direct Memory Access) Division is performed for each channel, which is a logical management unit of transfer, and data is prefetched to a prefetch data buffer before a DMA transfer request from the channel control unit. In general, the size of the prefetch data buffer per channel is set so that the buffer is not emptied between sending a prefetch request to the central processing unit and storing read data in the buffer. A prefetch data buffer corresponding to the product of the size and the number of channels is required.
【0003】ここで、先取りデータバッファとチャネル
制御部との間のデータ転送路の系統数が少なく、長いバ
ースト転送が主であるような構成の入出力処理装置を考
える。すると、チャネル制御部からの転送要求が来てか
ら、中央処理装置にデータの読出し要求を開始しても、
最初の先取りデータが用意されていない分の性能低下の
みであるため、スループットの低下はほとんどない。ま
た同時期にすべてのチャネルのバッファが埋まるような
転送が行われることは少ないため、多くのバッファは有
効に利用されない可能性が高い。Here, consider an input / output processing device having a configuration in which the number of data transfer paths between the prefetch data buffer and the channel control unit is small and long burst transfer is mainly performed. Then, even after a transfer request from the channel control unit arrives, a data read request to the central processing unit is started.
Since there is only a performance decrease due to the lack of the first prefetch data, there is almost no decrease in throughput. In addition, since it is rare that a transfer that fills the buffers of all the channels is performed at the same time, it is highly likely that many buffers are not effectively used.
【0004】[0004]
【発明が解決しようとする課題】ところで、特開平5−
151138号公報や特許2752834号公報におい
ては、データバッファをチャネルと同数に分割し、この
分割した単位を用いてデータの転送を行う技術が記載さ
れている。これら公報に記載されている従来技術におい
ては、同時期にすべてのチャネルのバッファが埋まるよ
うな転送が行われることは少ないため、多くのバッファ
は有効に利用されない。このため、利用されない部分が
バッファにあり、その分だけハードウェア量が大きいと
いう欠点がある。SUMMARY OF THE INVENTION Incidentally, Japanese Patent Application Laid-Open No.
Japanese Patent Publication No. 151138 and Japanese Patent No. 2752834 describe a technique in which a data buffer is divided into the same number as channels and data is transferred using the divided units. In the prior art described in these publications, the transfer that fills the buffers of all the channels is rarely performed at the same time, so that many buffers are not effectively used. For this reason, there is a disadvantage that the unused portion is in the buffer and the amount of hardware is correspondingly large.
【0005】本発明は上述した従来技術の欠点を解決す
るためになされたものであり、その目的はスループット
性能を低下させることなく、ハードウェア量を削減する
ことのできるデータ転送システム及びデータ転送方法並
びにデータ転送プログラムを記録した記録媒体を提供す
ることである。The present invention has been made to solve the above-mentioned drawbacks of the prior art, and has as its object the data transfer system and the data transfer method capable of reducing the amount of hardware without lowering the throughput performance. Another object of the present invention is to provide a recording medium on which a data transfer program is recorded.
【0006】[0006]
【課題を解決するための手段】本発明によるデータ転送
システムは、主記憶に格納されているデータをデータバ
ッファを介してn個(nは正の整数)のチャネルのいず
れかに転送するデータ転送システムであって、前記デー
タバッファはm個のパーティション(mは正の整数かつ
m<n)に分割されており、この分割された各パーティ
ションに対応して設けられ対応するパーティションの使
用状態を示す使用パーティションフラグと、このフラグ
が対応するパーティションの使用中を表示しているとき
該パーティション以外のパーティションを用いて前記デ
ータを前記チャネルに転送する転送制御手段とを含むこ
とを特徴とする。そして、前記転送制御手段は、前記フ
ラグのうち前記パーティションの使用中を表示していな
いフラグに対応するパーティションを用いて前記データ
を前記チャネルに転送することを特徴とする。A data transfer system according to the present invention transfers data stored in a main memory to one of n (n is a positive integer) channels via a data buffer. In the system, the data buffer is divided into m partitions (m is a positive integer and m <n), and is provided corresponding to each of the divided partitions and indicates a use state of the corresponding partition. It is characterized by including a used partition flag and transfer control means for transferring the data to the channel using a partition other than the partition when the flag indicates that the corresponding partition is in use. Then, the transfer control means transfers the data to the channel using a partition corresponding to a flag which does not indicate that the partition is in use among the flags.
【0007】本発明によるデータ転送方法は、主記憶に
格納されているデータをデータバッファを介してn個
(nは正の整数)のチャネルのいずれかに転送するデー
タ転送方法であって、前記データバッファはm個のパー
ティション(mは正の整数かつm<n)に分割されてお
り、この分割された各パーティションに対応して設けら
れた使用パーティションフラグによってパーティション
の使用状態を表示される使用状態表示ステップと、前記
使用パーティションフラグが対応するパーティションの
使用中を表示しているとき該パーティション以外のパー
ティションを用いて前記データを前記チャネルに転送す
る転送制御ステップとを含むことを特徴とする。A data transfer method according to the present invention is a data transfer method for transferring data stored in a main memory to one of n (n is a positive integer) channels via a data buffer. The data buffer is divided into m partitions (m is a positive integer and m <n), and the usage status of the partition is indicated by a used partition flag provided corresponding to each of the divided partitions. And a transfer control step of transferring the data to the channel using a partition other than the partition when the used partition flag indicates that the corresponding partition is in use.
【0008】本発明によるデータ転送プログラムを記録
した記録媒体は、コンピュータによって、主記憶に格納
されているデータをデータバッファを介してn個(nは
正の整数)のチャネルのいずれかに転送するデータ転送
プログラムを記録した記録媒体であって、前記データバ
ッファはm個のパーティション(mは正の整数かつm<
n)に分割されており、分割された各パーティションに
対応して設けられた使用パーティションフラグによって
パーティションの使用状態を表示する使用状態表示手
段、前記使用パーティションフラグが対応するパーティ
ションの使用中を表示しているとき該パーティション以
外のパーティションを用いて前記データを前記チャネル
に転送する手段、としてコンピュータを機能させるプロ
グラムを記録したことを特徴とする。In a recording medium on which a data transfer program according to the present invention is recorded, a computer transfers data stored in a main memory to one of n (n is a positive integer) channels via a data buffer. A recording medium recording a data transfer program, wherein the data buffer has m partitions (m is a positive integer and m <
n), use status display means for displaying the use status of the partition by use partition flags provided corresponding to each of the divided partitions, and the use partition flag indicating that the corresponding partition is in use. A program for causing a computer to function as means for transferring the data to the channel using a partition other than the partition when the program is operating.
【0009】要するに本データ転送システムでは、主記
憶から周辺制御装置への転送である、DMA出力転送に
おいて、DMA転送の論理的な管理単位であるチャネル
に対し、先取りデータバッファを負荷分散を考慮しつつ
必要に応じ動的に割当て、ハードウェアリソースの利用
効率を向上させることで、スループットを低下させるこ
となく、先取りデータバッファのハードウェア量の削減
が可能になるのである。In short, in the present data transfer system, in the DMA output transfer, which is a transfer from the main memory to the peripheral control device, a prefetch data buffer is provided for the channel which is a logical management unit of the DMA transfer in consideration of load distribution. In addition, by dynamically allocating as needed and improving the utilization efficiency of hardware resources, it is possible to reduce the hardware amount of the prefetch data buffer without lowering the throughput.
【0010】この場合、先取りデータバッファを、チャ
ネル数より少ない数で分割する。これをパーティション
と呼び、先取りデータのバッファリングの物理的な管理
単位とする。このパーティション当りのバッファサイズ
は、バースト転送が途切れることが無いように設定す
る。In this case, the prefetch data buffer is divided by a number smaller than the number of channels. This is called a partition, and is a physical management unit for buffering prefetched data. The buffer size per partition is set so that burst transfer is not interrupted.
【0011】先取り開始指示と、指定チャネル番号に対
応する利用可能パーティション表示内容とに従い、先取
りデータバッファの対応パーティションを選択する。D
MA転送パーティション選択制御部は、チャネル制御部
から要求があったチャネルに対応する使用パーティショ
ン表示内容、利用可能パーティション表示内容により、
先取りデータバッファのパーティションの選択、あるい
は利用可能なパーティションが無い場合にチャネルの入
れ替えを指示する。According to the prefetch start instruction and the display contents of the available partition corresponding to the designated channel number, the corresponding partition of the prefetch data buffer is selected. D
The MA transfer partition selection control unit determines the used partition display contents and the available partition display contents corresponding to the channel requested by the channel control unit.
Instructs selection of a partition of the prefetch data buffer or exchange of channels when there is no available partition.
【0012】すなわち、先取りデータバッファを必要に
応じて動的にチャネルに割付けるのである。このよう
に、先取りデータバッファをチャネル数で分割し静的に
割付けのではなく、チャネル数より少ない数のパーティ
ションで分割することで、先取りデータバッファの総サ
イズを少なくできる。このため、ハードウェア量を削減
することができる。また、チャネルの割当て可能なパー
ティションを制御しチャネルをパーティション単位でグ
ルーピングすることで、パーティション単位での負荷を
均等にすることもできる。That is, prefetch data buffers are dynamically allocated to channels as needed. In this manner, the total size of the prefetch data buffer can be reduced by dividing the prefetch data buffer by the number of channels and dividing the prefetch data buffer by a smaller number of partitions than the number of channels. For this reason, the amount of hardware can be reduced. Also, by controlling partitions to which channels can be assigned and grouping channels in units of partitions, the load in units of partitions can be equalized.
【0013】[0013]
【発明の実施の形態】次に、本発明の実施の一形態につ
いて図面を参照して説明する。なお、以下の説明におい
て参照する各図においては、他の図と同等部分には同一
符号が付されている。Next, an embodiment of the present invention will be described with reference to the drawings. In the drawings referred to in the following description, the same parts as those in the other drawings are denoted by the same reference numerals.
【0014】図1は本発明によるデータ転送システムの
実施の一形態を示すブロック図である。同図において、
主記憶1に格納されたデータを中央処理装置2で読出し
て周辺制御装置8に転送し、他の記憶装置9−1,9−
2等に記憶する場合、n個のチャネル7−1〜7−nか
らの転送要求に応答して入出力装置40が内部の先取り
データバッファ3を用いてデータ転送を行う。入出力装
置40内の先取りデータバッファ3は後述するようにm
個のパーティションに分割されており、それらパーティ
ションを用いてデータ転送が行われる。なお、このパー
ティションの数mは、後述するように、チャネルの数n
よりも小であるものとする。FIG. 1 is a block diagram showing an embodiment of a data transfer system according to the present invention. In the figure,
The data stored in the main memory 1 is read out by the central processing unit 2 and transferred to the peripheral control device 8, and the other storage devices 9-1 and 9-
2 or the like, the input / output device 40 performs data transfer using the internal prefetch data buffer 3 in response to transfer requests from the n channels 7-1 to 7-n. The prefetch data buffer 3 in the input / output device 40 has m
It is divided into a number of partitions, and data transfer is performed using these partitions. Note that the number m of partitions is the number n of channels as described later.
Shall be smaller than
【0015】先取りデータバッファ3から各チャネル7
−i(i=1〜n、以下同じ)へのデータ転送は、デー
タ転送路5−0及びチャネル制御部6−0によって行わ
れるか、データ転送路5−1及びチャネル制御部6−1
によって行われる。From the prefetch data buffer 3 to each channel 7
-I (i = 1 to n, the same applies hereinafter) is performed by the data transfer path 5-0 and the channel control unit 6-0, or the data transfer path 5-1 and the channel control unit 6-1.
Done by
【0016】図2は図1中の入出力装置40の構成例を
示すブロック図である。同図においては、先取りデータ
バッファ3を、破線で示されているように分割する。こ
の場合、チャネル数より少ない数“m”で分割し、先取
りデータのバッファリングの物理的な管理単位とする。FIG. 2 is a block diagram showing a configuration example of the input / output device 40 in FIG. In the figure, the prefetch data buffer 3 is divided as shown by a broken line. In this case, the data is divided by a number “m” smaller than the number of channels, and is used as a physical management unit for buffering prefetched data.
【0017】また、先取りデータバッファ3は、先取り
データバッファが使用中(バッファに空きがある場合
は、中央処理装置2(図1)に対し先取り要求可能)で
あることを示すパーティション有効フラグ20と、デー
タ転送路5を介し先取りデータバッファ3からチャネル
制御部6(図1)へのDMA転送が行われていることを
示す転送中パーティションフラグ21とを、各パーティ
ション毎に有しているものとする。The prefetch data buffer 3 has a partition valid flag 20 indicating that the prefetch data buffer is in use (if there is free space in the buffer, a prefetch request can be made to the central processing unit 2 (FIG. 1)). A partition flag 21 indicating that DMA transfer is being performed from the prefetch data buffer 3 to the channel controller 6 (FIG. 1) via the data transfer path 5 for each partition. I do.
【0018】入出力装置40は、対応する先取りデータ
バッファ3のパーティションを指し示す使用パーティシ
ョン表示部22と、割当て可能なパーティションを示す
利用可能パーティション表示部23とを、各チャネル毎
に有しているものとする。利用可能パーティション表示
部23は、図3に示されているようなフォーマットであ
るものとする。すなわち、各パーティションに対応し、
対応するパーティションが有効であるかどうかを示す表
示部である。The input / output device 40 has, for each channel, a used partition display section 22 indicating a partition of the corresponding prefetch data buffer 3 and an available partition display section 23 indicating an assignable partition. And The available partition display unit 23 has a format as shown in FIG. That is, corresponding to each partition,
It is a display section showing whether the corresponding partition is valid.
【0019】ここで本例では、図2中の先取りデータバ
ッファ3を、チャネル数“n”より少ない数“m”で分
割するものとし、これをパーティションと呼ぶ。そし
て、先取りデータのバッファリングの物理的な管理単位
とし、チャネル毎に割当て可能なパーティションを利用
可能パーティション表示部23に設定する。このパーテ
ィション当りのバッファサイズは、バースト転送が途切
れることが無いように設定される。In this embodiment, the prefetch data buffer 3 shown in FIG. 2 is divided by a number "m" smaller than the number "n" of channels, and this is called a partition. Then, a partition that can be assigned to each channel is set in the available partition display unit 23 as a physical management unit of buffering of prefetched data. The buffer size per partition is set so that burst transfer is not interrupted.
【0020】先取り要求制御部30は先取り開始指示
と、指定チャネル番号に対応する利用可能パーティショ
ン表示部23の内容とに従い、先取りデータバッファ3
の対応パーティションを選択する。DMA転送パーティ
ション選択制御部31はチャネル制御部6−0又は6−
1(図1)から要求があったチャネルに対応する使用パ
ーティション表示部22、利用可能パーティション表示
部23により、先取りデータバッファ3のパーティショ
ンの選択、あるいは利用可能なパーティションが無い場
合にチャネルの入れ替えを先取りデータバッファキャン
セル制御部32へ指示する。先取りデータバッファキャ
ンセル制御部32は、転送中パーティションフラグ21
の状態によりDMA転送の中断と、対応するパーティシ
ョンの先取りデータバッファのキャンセル(=データ破
棄)を行う。The prefetch request control unit 30 responds to the prefetch start instruction and the contents of the available partition display unit 23 corresponding to the designated channel number by using the prefetch data buffer 3.
Select the corresponding partition. The DMA transfer partition selection controller 31 controls the channel controller 6-0 or 6-
1 (FIG. 1), the used partition display unit 22 and the available partition display unit 23 corresponding to the channel requested by the user select a partition of the prefetch data buffer 3 or switch channels when there is no available partition. An instruction is given to the prefetch data buffer cancel control unit 32. The prefetch data buffer cancel control unit 32 transmits the partition flag 21 during transfer.
, The DMA transfer is interrupted, and the prefetch data buffer of the corresponding partition is canceled (= data discarded).
【0021】このように本システムは、先取りデータバ
ッファ3の各パーティションを、チャネルに一対一に対
応させて静的に割付けるのではなく、必要に応じて動的
にチャネルに割付ける。こうすることで、先取りデータ
バッファをチャネル数n個で分割し静的に割り付けるよ
りも、チャネル数より少ないm個のパーティションで分
割することで、先取りデータバッファの総サイズを少な
くすることができる。このため、ハードウェア量を削減
でき、またチャネルの割当て可能なパーティションを制
御しチャネルをパーティション単位でグルーピングする
ことで、パーティション単位での負荷を均等にするがで
きる。As described above, in the present system, the partitions of the prefetch data buffer 3 are not statically allocated to the channels in a one-to-one correspondence, but are dynamically allocated to the channels as needed. This makes it possible to reduce the total size of the prefetch data buffer by dividing the prefetch data buffer by m partitions smaller than the number of channels, rather than dividing the prefetch data buffer by n channels and statically allocating them. For this reason, the amount of hardware can be reduced, and by controlling partitions to which channels can be allocated and grouping channels in partition units, it is possible to equalize the load in partition units.
【0022】また、入出力装置40は、先取り要求を中
央処理装置2に対して指示する先取り要求制御部30を
有している。この先取り要求制御部30は、先取り開始
指示により、指定されたチャネルへの先取り開始要求が
発生すると、上記チャネルに対応する利用可能パーティ
ション表示部23と、その対応する全パーティションの
パーティション有効フラグ20とに従い、パーティショ
ン割当ての可否を決定する。そして、割当て可能であれ
ば、先取り要求制御部30はパーティション有効フラグ
20をセットすることで、先取り要求を中央処理装置2
に対して指示する。The input / output device 40 has a prefetch request control unit 30 for instructing the central processing unit 2 to issue a prefetch request. When a preemption start request for a specified channel is generated by the preemption start instruction, the prefetch request control unit 30 sets the available partition display unit 23 corresponding to the channel, the partition valid flags 20 of all corresponding partitions, and Is determined according to the above. If the allocation is possible, the prefetch request control unit 30 sets the partition valid flag 20 so that the prefetch request is sent to the central processing unit 2.
Instruct to.
【0023】先取りデータ転送部(図示せず)により、
中央処理装置2から返却された主記憶1(図1)のリー
ドデータの先取りデータバッファ3への書込み位置を示
す書込みポインタ(図示せず)、チャネル制御部へ転送
するデータの読出し位置を示す読出しポインタ(図示せ
ず)の制御により、主記憶からチャネル制御部へのDM
A転送が行われる。The prefetch data transfer unit (not shown)
A write pointer (not shown) indicating the write position of the read data of the main memory 1 (FIG. 1) returned from the central processing unit 2 into the prefetch data buffer 3, and the read indicating the read position of the data to be transferred to the channel control unit. By controlling the pointer (not shown), the DM from the main memory to the channel control unit is controlled.
A transfer is performed.
【0024】周辺制御装置8(図1)からDMA出力転
送要求が発生した場合、チャネル制御部6(図1)から
データ転送路5を介し、データ転送要求チャネル表示部
24にDMA転送の要求元チャネル番号が格納される。
このデータ転送要求チャネル表示部24に対応するチャ
ネルの使用パーティション表示部22、利用可能パーテ
ィション表示部23、またそれに対応するパーティショ
ンのパーティション有効フラグ20、転送中パーティシ
ョンフラグ21により、先取りデータを取り出すパーテ
ィションの決定や、パーティションの割当てが行われて
いない場合のパーティション割当て、さらに割当て可能
なパーティションが全て他のチャネルにより塞がってい
る場合の先取りデータバッファキャンセル制御部32へ
のチャネルの入れ替え指示が、DMA転送パーティショ
ン選択制御部31で行われる。上記チャネルの入れ替え
が行われる場合、先取りデータバッファキャンセル制御
部32は、転送中パーティションフラグ21に従いDM
A転送の中断が必要であれば行い、要求済みの先取り要
求のリードデータが中央処理装置2から返却されるのを
待ち合わせた後、先取りデータ転送部(図示せず)の先
取りデータバッファの読出しポインタ(図示せず)、同
書込みポインタ(図示せず)のクリア、使用パーティシ
ョン表示部22の更新を行う。When a DMA output transfer request is issued from the peripheral control device 8 (FIG. 1), the channel control unit 6 (FIG. 1) sends the DMA transfer request source to the data transfer request channel display unit 24 via the data transfer path 5. The channel number is stored.
The used partition display unit 22, available partition display unit 23 of the channel corresponding to the data transfer request channel display unit 24, and the partition valid flag 20 and the transferring partition flag 21 of the corresponding partition indicate the partition from which prefetched data is to be extracted. The determination and the partition assignment when the partition assignment has not been performed, and the instruction to replace the channel to the prefetch data buffer cancel control unit 32 when the allocatable partitions are all occupied by other channels, are DMA transfer partitions. This is performed by the selection control unit 31. When the channels are exchanged, the prefetch data buffer cancel control unit 32 sets the DM
A transfer is interrupted if necessary, and after waiting for the read data of the requested prefetch request to be returned from the central processing unit 2, the read pointer of the prefetch data buffer of the prefetch data transfer unit (not shown). (Not shown), clears the write pointer (not shown), and updates the used partition display unit 22.
【0025】かかる構成からなるデータ転送システムの
データ転送動作について図4〜図7のフローチャートを
も参照して説明する。本システムの動作は、先取り開始
指示動作及びDMA転送要求動作に大別される。The data transfer operation of the data transfer system having such a configuration will be described with reference to the flowcharts of FIGS. The operation of this system is roughly classified into a prefetch start instruction operation and a DMA transfer request operation.
【0026】1.先取り開始指示 図4において、先取り開始指示がマイクロ命令等でチャ
ネル番号と共に先取り要求制御部30に与えられると
(ステップS41)、まず対応する利用可能パーティシ
ョン表示部23の内容と一致する全てのパーティション
に対してパーティション有効フラグ20同士の比較が行
われる(ステップS42)。1. In FIG. 4, when the prefetch start instruction is given to the prefetch request control unit 30 together with the channel number by a microinstruction or the like (step S41), first, all the partitions that match the contents of the corresponding available partition display unit 23 are assigned. The partition valid flags 20 are compared with each other (step S42).
【0027】比較の結果、パーティション有効フラグ2
0が無効(=“0”)であるパーティションが存在すれ
ば、そのパーティションは該チャネルに割当てられる
(ステップS43→S44)。この場合、パーティショ
ン有効フラグ20を有効(=“1”)に設定し(ステッ
プS45)、使用パーティション表示部22に割当てら
れたパーティション番号を格納する(ステップS4
6)。パーティション有効フラグ20が有効となると、
中央処理装置2へ先取り要求を送出し、順次主記憶1か
らのデータが対応するパーティションの先取りデータバ
ッファ3に格納されていく(ステップS47)。As a result of the comparison, the partition valid flag 2
If there is a partition where 0 is invalid (= "0"), that partition is assigned to the channel (steps S43 → S44). In this case, the partition validity flag 20 is set to valid (= "1") (step S45), and the partition number assigned to the used partition display unit 22 is stored (step S4).
6). When the partition valid flag 20 becomes valid,
The prefetch request is sent to the central processing unit 2, and the data from the main memory 1 is sequentially stored in the prefetch data buffer 3 of the corresponding partition (step S47).
【0028】上記パーティション有効フラグ20の比較
で、割当て可能な全パーティションがすべて有効(=
“1”)である場合はパーティションの割当ては行われ
ず、先取りは行われない(ステップS43→S48)。As a result of the comparison of the partition valid flag 20, all partitions that can be allocated are all valid (=
In the case of "1"), partition allocation is not performed and prefetching is not performed (steps S43 to S48).
【0029】2.DMA転送要求 図5を参照すると、DMA転送要求においては、まず、
周辺制御装置10からDMA転送要求が発生した場合
(ステップS51)、チャネル制御部6からデータ転送
路5を介し、データ転送要求チャネル表示部24にDM
A転送の要求元チャネル番号が格納される(ステップS
52)。このデータ転送要求チャネル表示部24に対応
するチャネルの使用パーティション表示部22が示すパ
ーティションのパーティション有効フラグ20が有効
(=1)かどうか判断される(ステップS53)。2. DMA Transfer Request Referring to FIG. 5, in the DMA transfer request, first,
When a DMA transfer request is generated from the peripheral control device 10 (step S51), the DM is displayed on the data transfer request channel display unit 24 via the data transfer path 5 from the channel control unit 6.
The channel number of the request source of the A transfer is stored (step S
52). It is determined whether the partition valid flag 20 of the partition indicated by the used partition display unit 22 of the channel corresponding to the data transfer request channel display unit 24 is valid (= 1) (step S53).
【0030】このフラグが有効(=1)であれば、使用
パーティション表示部22が示すパーティションの先取
りデータバッファにデータが格納されている場合は、そ
の内容をデータ転送路5を介しチャネル制御部6−0又
は6−1へ送出する(ステップS54)。If this flag is valid (= 1), and if data is stored in the prefetch data buffer of the partition indicated by the used partition display unit 22, the contents are transferred to the channel control unit 6 via the data transfer path 5. -0 or 6-1 (step S54).
【0031】一方、上記のパーティション有効フラグが
無効(=0)である場合は、データ転送要求チャネル表
示部24に対応するチャネルの利用可能パーティション
表示部23が有効(=1)である全てのパーティション
のパーティション有効フラグ20同士が比較される(ス
テップS55)。この比較の結果、無効(=0)である
パーティションが存在すれば(ステップS56)、図6
に移り、そのパーティションは該チャネルに割当てられ
る(ステップS61)。この割当ての際、パーティショ
ン有効フラグ20を有効(=“1”)に設定し、使用パ
ーティション表示部22に割当てられたパーティション
番号を格納する(ステップS62)。On the other hand, when the partition valid flag is invalid (= 0), all partitions for which the available partition display unit 23 of the channel corresponding to the data transfer request channel display unit 24 is valid (= 1) Are compared (step S55). As a result of this comparison, if there is an invalid (= 0) partition (step S56), FIG.
The partition is assigned to the channel (step S61). At the time of this allocation, the partition valid flag 20 is set to valid (= "1"), and the allocated partition number is stored in the used partition display section 22 (step S62).
【0032】パーティション有効フラグ20が有効とな
ると、中央処理装置2へ先取り要求を送出し、順次主記
憶1からのデータが対応するパーティションの先取りデ
ータバッファ3に格納されて行く(ステップS63)。
バッファ3にデータが格納され次第、先取りデータバッ
ファの内容はデータ転送路5−0又は5−1を介してチ
ャネル制御部8へ送出される(ステップS64)。When the partition valid flag 20 becomes valid, a prefetch request is sent to the central processing unit 2, and the data from the main memory 1 is sequentially stored in the prefetch data buffer 3 of the corresponding partition (step S63).
As soon as the data is stored in the buffer 3, the contents of the prefetch data buffer are sent to the channel control unit 8 via the data transfer path 5-0 or 5-1 (step S64).
【0033】上記パーティション有効フラグ20の比較
結果において、無効(=0)であるパーティションがひ
とつも存在しなければ(ステップS56)、図7に移
り、先取りデータバッファキャンセル制御部32に対
し、チャネル入れ替え要求をチャネル番号と共に送出す
る(ステップS71)。If there is no invalid (= 0) partition in the comparison result of the partition valid flag 20 (step S56), the process proceeds to FIG. The request is sent together with the channel number (step S71).
【0034】次に、先取りデータバッファキャンセル制
御部32は、DMA転送パーティション選択制御部31
から送出されたチャネル番号に対応する、利用可能パー
ティション表示部23を参照すると共に、割当て可能な
すべてのパーティションの、転送中パーティションフラ
グ21を参照する(ステップS72)。そして、この参
照の結果、無効(=0)なパーティションがあれば、要
求済みの先取り要求のリードデータが中央処理装置2か
ら返却されるのを待ち合わせた後、先取りデータ転送部
(図示せず)の先取りデータバッファの読出しポインタ
(図示せず)、同書込みポインタ(図示せず)のクリ
ア、上記チャネル番号の使用パーティション表示部22
の更新を行う(ステップS73→S75)。Next, the prefetch data buffer cancel control unit 32 controls the DMA transfer partition selection control unit 31.
In addition to the available partition display unit 23 corresponding to the channel number sent from, the partition flags in transfer 21 of all assignable partitions are referred to (step S72). As a result of this reference, if there is an invalid (= 0) partition, after waiting for the return of the read data of the requested prefetch request from the central processing unit 2, a prefetch data transfer unit (not shown) The read pointer (not shown) of the prefetch data buffer, the clear of the write pointer (not shown), and the used partition display section 22 of the channel number.
Is updated (steps S73 → S75).
【0035】また、上記転送中パーティションフラグ2
1の参照の結果、無効(=0)なパーティションが一つ
も無ければ、DMA転送の中断を行った後(ステップS
73→S74)、要求済みの先取り要求のリードデータ
が中央処理装置2から返却されるのを待ち合わせた後、
先取りデータ転送部(図示せず)の先取りデータバッフ
ァの読出しポインタ(図示せず)、同書込みポインタ
(図示せず)のクリア、上記チャネル番号の使用パーテ
ィション表示部22の更新を行う(ステップS75)。
なお、DMA転送の中断が伴うケースは、異なる転送路
5に接続される複数のチャネル7−iが同一パーティシ
ョンへの割付を指定した場合のみに発生する。In addition, the above-mentioned transfer-in-progress partition flag 2
If there is no invalid (= 0) partition as a result of the reference of 1, the DMA transfer is interrupted (step S
73 → S74), after waiting for the read data of the requested prefetch request to be returned from the central processing unit 2,
The read pointer (not shown) and the write pointer (not shown) of the prefetch data buffer of the prefetch data transfer unit (not shown) are cleared, and the used partition display unit 22 of the channel number is updated (step S75). .
The case where the DMA transfer is interrupted occurs only when a plurality of channels 7-i connected to different transfer paths 5 specify the assignment to the same partition.
【0036】以上のように、本システムにおいては、以
下のようなデータ転送方法が実現されていることにな
る。すなわち本システムでは、主記憶に格納されている
データをデータバッファを介してn個(nは正の整数)
のチャネルのいずれかに転送するデータ転送方法が実現
されている。そして、データバッファはm個のパーティ
ション(mは正の整数かつm<n)に分割されており、
この分割された各パーティションに対応して設けられた
使用パーティションフラグによってパーティションの使
用状態を表示し、その使用パーティションフラグが対応
するパーティションの使用中を表示しているときそのパ
ーティション以外のパーティションを用いてデータをチ
ャネルに転送しているのである。また、そのデータの転
送制御においては、使用パーティションフラグのうちパ
ーティションの使用中を表示していないフラグに対応す
るパーティションを用いてデータをチャネルに転送して
いるのである。As described above, in the present system, the following data transfer method is realized. That is, in the present system, the number of data stored in the main memory is n (n is a positive integer) via the data buffer.
A data transfer method for transferring data to any one of the channels is realized. The data buffer is divided into m partitions (m is a positive integer and m <n),
The used status of the partition is displayed by the used partition flag provided corresponding to each of the divided partitions, and when the used partition flag indicates that the corresponding partition is in use, the partition other than the used partition is used. It is transferring data to the channel. Further, in the data transfer control, data is transferred to the channel by using a partition corresponding to a flag which does not indicate that the partition is in use among the used partition flags.
【0037】さらに、m個のパーティションに対応して
設けられた転送中パーティションフラグによってDMA
転送が行われていることを表示し、この転送中パーティ
ションフラグの内容に応じてデータ転送の中断を行って
いるのである。Further, the DMA during transfer is provided by a partition flag during transfer provided corresponding to the m partitions.
This indicates that the transfer is being performed, and the data transfer is interrupted according to the contents of the partition flag during transfer.
【0038】ここで、以上説明した図4〜図7の処理を
実現するためのプログラムを記録した記録媒体を用意
し、これを用いて図1の各部を制御すれば、上述と同様
のデータ転送動作を行うことができることは明白であ
る。この記録媒体には、図1中に示されていない半導体
メモリ、磁気ディスク装置の他、種々の記録媒体を用い
ることができる。Here, by preparing a recording medium on which a program for realizing the processes of FIGS. 4 to 7 described above is recorded and controlling each part of FIG. 1 using this, a data transfer similar to that described above can be achieved. It is clear that actions can be taken. As this recording medium, various recording media other than the semiconductor memory and the magnetic disk device not shown in FIG. 1 can be used.
【0039】また、同記録媒体に記録されているプログ
ラムによってコンピュータを制御すれば、上述と同様に
データ転送動作を行うことができることは明白である。
この記録媒体には、半導体メモリ、磁気ディスク装置の
他、種々の記録媒体を用いることができる。If the computer is controlled by the program recorded on the recording medium, it is clear that the data transfer operation can be performed in the same manner as described above.
As this recording medium, various recording media other than the semiconductor memory and the magnetic disk device can be used.
【0040】ところで、以上の場合、先取りデータバッ
ファ3のサイズをチャネル数より少ないパーティション
数分に縮小しても、チャネル制御部6からのDMA転送
要求時に、該チャネルに対しパーティションが割当てら
れていない場合のみ従来に比して性能低下が起こり得
る。しかし、この性能低下は、バースト転送が長い場合
は無視できる程度のものである。In the above case, even if the size of the prefetch data buffer 3 is reduced to the number of partitions smaller than the number of channels, no partition is allocated to the channel when a DMA transfer request is issued from the channel control unit 6. Only in this case, the performance may be reduced as compared with the conventional case. However, this decrease in performance is negligible when the burst transfer is long.
【0041】以上のように、チャネルに対し先取りデー
タバッファの各パーティションを必要に応じて動的に割
当てることにより、スループットを低下させることな
く、先取りデータバッファのハードウェア量を削減でき
る。またチャネル毎に割当て可能なパーティションを制
御できるので、パーティション間での負荷の均一化や、
チャネルの優先割当て等が可能になるのである。また、
先取りデータバッファは一般にRAMで構成され他の部
位よりも故障率が高いため、バッファのハードウェア量
の削減によりハードウェア故障率の低減も期待できると
いう副次的な効果も得られる。As described above, by dynamically allocating the partitions of the prefetch data buffer to the channels as needed, the hardware amount of the prefetch data buffer can be reduced without lowering the throughput. In addition, it is possible to control the partitions that can be assigned to each channel, so that the load can be balanced between partitions,
This allows priority assignment of channels and the like. Also,
Since the prefetch data buffer is generally constituted by a RAM and has a higher failure rate than other parts, there is also obtained a secondary effect that a reduction in the hardware amount of the buffer can reduce the hardware failure rate.
【0042】なお、利用可能パーティション表示部23
を、マイクロ命令等により動的に制御させることでチャ
ネル毎の優先度を動的に制御することが可能になること
は明らかである。The available partition display unit 23
It is apparent that the priority of each channel can be dynamically controlled by dynamically controlling the priority of each channel by a microinstruction or the like.
【0043】[0043]
【発明の効果】以上説明したように本発明は、チャネル
に対し先取りデータバッファの各パーティションを必要
に応じて動的に割当てることにより、スループットを低
下させることなく、先取りデータバッファのハードウェ
ア量を削減できるという効果がある。また、チャネル毎
に割当て可能なパーティションを制御できるので、パー
ティション間での負荷の均一化や、チャネルの優先割当
て等ができるという効果もある。さらにまた、先取りデ
ータバッファは一般にRAMで構成され他の部位よりも
故障率が高いため、バッファのハードウェア量の削減に
よりハードウェア故障率の低減も期待できるという副次
的な効果も得られる。As described above, the present invention dynamically allocates each partition of a prefetch data buffer to a channel as needed, thereby reducing the hardware amount of the prefetch data buffer without lowering the throughput. There is an effect that it can be reduced. In addition, since the partitions that can be assigned to each channel can be controlled, there is an effect that the load among the partitions can be equalized, the channel can be preferentially assigned, and the like. Furthermore, since the prefetch data buffer is generally composed of a RAM and has a higher failure rate than other parts, a secondary effect that a reduction in the hardware failure rate can be expected by reducing the amount of hardware of the buffer is also obtained.
【図1】本発明によるデータ転送システムの一構成例を
示すブロック図である。FIG. 1 is a block diagram showing a configuration example of a data transfer system according to the present invention.
【図2】図1のデータ転送システムにおける入出力装置
の一構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of an input / output device in the data transfer system of FIG.
【図3】利用可能パーティションの詳細なフォーマット
を示す図である。FIG. 3 is a diagram showing a detailed format of an available partition.
【図4】先取り開始指示に対する本システムのデータ転
送動作を示すフローチャートである。FIG. 4 is a flowchart showing a data transfer operation of the present system in response to a prefetch start instruction.
【図5】DMA転送要求に対する本システムのデータ転
送動作を示すフローチャートである。FIG. 5 is a flowchart showing a data transfer operation of the present system in response to a DMA transfer request.
【図6】DMA転送要求に対する本システムのデータ転
送動作を示すフローチャートである。FIG. 6 is a flowchart showing a data transfer operation of the present system in response to a DMA transfer request.
【図7】DMA転送要求に対する本システムのデータ転
送動作を示すフローチャートである。FIG. 7 is a flowchart showing a data transfer operation of the present system in response to a DMA transfer request.
Claims (9)
バッファを介してn個(nは正の整数)のチャネルのい
ずれかに転送するデータ転送システムであって、前記デ
ータバッファはm個のパーティション(mは正の整数か
つm<n)に分割されており、この分割された各パーテ
ィションに対応して設けられ対応するパーティションの
使用状態を示す使用パーティションフラグと、このフラ
グが対応するパーティションの使用中を表示していると
き該パーティション以外のパーティションを用いて前記
データを前記チャネルに転送する転送制御手段とを含む
ことを特徴とするデータ転送システム。1. A data transfer system for transferring data stored in a main memory to one of n (n is a positive integer) channels via a data buffer, wherein the data buffer comprises m data buffers. The partition is divided into partitions (m is a positive integer and m <n). A used partition flag provided corresponding to each of the divided partitions and indicating a use state of the corresponding partition; Transfer control means for transferring the data to the channel by using a partition other than the partition when busy is displayed.
前記パーティションの使用中を表示していないフラグに
対応するパーティションを用いて前記データを前記チャ
ネルに転送することを特徴とする請求項1記載のデータ
転送システム2. The transfer control unit according to claim 1, wherein the transfer control unit transfers the data to the channel using a partition corresponding to a flag that does not indicate that the partition is in use among the flags. Data transfer system
けられ対応するパーティションを用いてDMA転送が行
われていることを示す転送中パーティションフラグを更
に含み、このフラグの内容に応じて前記データ転送の中
断を行うようにしたことを特徴とする請求項1又は2記
載のデータ転送システム。3. The system further comprises a transfer-in-progress flag provided corresponding to the m partitions and indicating that DMA transfer is being performed using the corresponding partition, and wherein the data transfer is performed in accordance with the contents of the flag. 3. The data transfer system according to claim 1, wherein the data transfer is interrupted.
バッファを介してn個(nは正の整数)のチャネルのい
ずれかに転送するデータ転送方法であって、前記データ
バッファはm個のパーティション(mは正の整数かつm
<n)に分割されており、この分割された各パーティシ
ョンに対応して設けられた使用パーティションフラグに
よってパーティションの使用状態を表示する使用状態表
示ステップと、前記使用パーティションフラグが対応す
るパーティションの使用中を表示しているとき該パーテ
ィション以外のパーティションを用いて前記データを前
記チャネルに転送する転送制御ステップとを含むことを
特徴とするデータ転送方法。4. A data transfer method for transferring data stored in a main memory to one of n (n is a positive integer) channels via a data buffer, wherein the data buffer comprises m data buffers. Partition (m is a positive integer and m
<N), a use state display step of displaying the use state of the partition by use partition flags provided corresponding to each of the divided partitions, and a use state of the partition corresponding to the use partition flag A transfer control step of transferring the data to the channel using a partition other than the partition when is displayed.
フラグのうち前記パーティションの使用中を表示してい
ないフラグに対応するパーティションを用いて前記デー
タを前記チャネルに転送することを特徴とする請求項4
記載のデータ転送方法。5. The transfer control step, wherein the data is transferred to the channel using a partition corresponding to a flag that does not indicate that the partition is in use among the flags.
Data transfer method described.
けられた転送中パーティションフラグによってDMA転
送が行われていることを表示するステップと、前記転送
中パーティションフラグの内容に応じて前記データ転送
の中断を行うステップとを更に含むことを特徴とする請
求項4又は5記載のデータ転送方法。6. A step of indicating that DMA transfer is being performed by a transferring partition flag provided corresponding to the m partitions, and a step of displaying the data transfer according to the contents of the transferring partition flag. 6. The data transfer method according to claim 4, further comprising the step of interrupting.
れているデータをデータバッファを介してn個(nは正
の整数)のチャネルのいずれかに転送するデータ転送プ
ログラムを記録した記録媒体であって、前記データバッ
ファはm個のパーティション(mは正の整数かつm<
n)に分割されており、分割された各パーティションに
対応して設けられた使用パーティションフラグによって
パーティションの使用状態を表示する使用状態表示手
段、前記使用パーティションフラグが対応するパーティ
ションの使用中を表示しているとき該パーティション以
外のパーティションを用いて前記データを前記チャネル
に転送する手段、としてコンピュータを機能させるプロ
グラムを記録したことを特徴とする記録媒体。7. A recording medium which records a data transfer program for transferring data stored in a main memory to any one of n (n is a positive integer) channels via a data buffer by a computer. , The data buffer has m partitions (m is a positive integer and m <
n), use status display means for displaying the use status of the partition by use partition flags provided corresponding to each of the divided partitions, and the use partition flag indicating that the corresponding partition is in use. A program for causing a computer to function as means for transferring the data to the channel using a partition other than the partition when the data is stored.
グのうち前記パーティションの使用中を表示していない
フラグに対応するパーティションを用いて前記データを
前記チャネルに転送することを特徴とする請求項7記載
の記録媒体。8. The transfer control unit transfers the data to the channel by using a partition corresponding to a flag that does not indicate that the partition is in use among the flags. The recording medium according to the above.
記m個のパーティションに対応して設けられた転送中パ
ーティションフラグによってDMA転送が行われている
ことを表示する手段、前記転送中パーティションフラグ
の内容に応じて前記データ転送の中断を行う手段、とし
て機能させることを特徴とする請求項7又は8記載の記
録媒体。9. The program according to claim 9, wherein said program is means for displaying that a DMA transfer is being performed by a transferring partition flag provided corresponding to said m partitions. 9. The recording medium according to claim 7, wherein the recording medium functions as means for interrupting the data transfer in response.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11137935A JP2000330923A (en) | 1999-05-19 | 1999-05-19 | Data transfer system, transfer method, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11137935A JP2000330923A (en) | 1999-05-19 | 1999-05-19 | Data transfer system, transfer method, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000330923A true JP2000330923A (en) | 2000-11-30 |
Family
ID=15210149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11137935A Pending JP2000330923A (en) | 1999-05-19 | 1999-05-19 | Data transfer system, transfer method, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000330923A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657711B2 (en) | 2003-09-08 | 2010-02-02 | Sony Corporation | Dynamic memory bandwidth allocation |
US8082313B2 (en) | 2009-10-26 | 2011-12-20 | International Business Machines Corporation | Efficient utilization of read-ahead buffer by partitioning read-ahead buffer in correspondence with selectors |
-
1999
- 1999-05-19 JP JP11137935A patent/JP2000330923A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657711B2 (en) | 2003-09-08 | 2010-02-02 | Sony Corporation | Dynamic memory bandwidth allocation |
US8082313B2 (en) | 2009-10-26 | 2011-12-20 | International Business Machines Corporation | Efficient utilization of read-ahead buffer by partitioning read-ahead buffer in correspondence with selectors |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR0163234B1 (en) | Data streaming between peer subsystems of a computer system | |
JP4356765B2 (en) | Information processing apparatus and method, and program | |
US20070156955A1 (en) | Method and apparatus for queuing disk drive access requests | |
JP2003256221A (en) | Parallel process execution method and multiprocessor computer | |
JP2970596B2 (en) | ATM communication device | |
JPH08171526A (en) | Input/output interface device and its control method | |
KR20030053445A (en) | Method and apparatus for buffer partitioning without loss of data | |
JP2845162B2 (en) | Data transfer device | |
KR101519825B1 (en) | Data processing device and control method of the same | |
US7861012B2 (en) | Data transmitting device and data transmitting method | |
JP3525518B2 (en) | Data transfer device | |
US5640597A (en) | Method and apparatus for servicing simultaneously a plurality of requests for data streams | |
JP2000330923A (en) | Data transfer system, transfer method, and recording medium | |
JP2019164510A (en) | Storage system and IO processing control method | |
JPH1195934A (en) | Information processing system control method | |
CN109471726A (en) | A kind of hardware resource allocation method and device | |
EP0332417B1 (en) | Image data handling | |
JPH05173923A (en) | Input/output data transfer processing device | |
JP2001067306A (en) | Bus interface device and data transfer device | |
JP3416498B2 (en) | Server device, control method therefor, and recording medium storing server device control program | |
JPH0830399A (en) | Data transmission system | |
JP2004013962A (en) | Video recording/reproducing device and file system | |
JPH05241958A (en) | Virtual storage control system | |
JPH04184525A (en) | Magnetic disk device | |
KR20020075667A (en) | Device and method for processing data using thread intention dynamic buffer in mobile communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040203 |