JPH05128043A - Data transfer control system - Google Patents
Data transfer control systemInfo
- Publication number
- JPH05128043A JPH05128043A JP29259891A JP29259891A JPH05128043A JP H05128043 A JPH05128043 A JP H05128043A JP 29259891 A JP29259891 A JP 29259891A JP 29259891 A JP29259891 A JP 29259891A JP H05128043 A JPH05128043 A JP H05128043A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- size
- address
- peripheral device
- 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
- 230000002093 peripheral effect Effects 0.000 claims abstract description 45
- 238000000034 method Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、ホストコンピュータと
周辺装置との間のデータ転送を制御するデータ転送制御
方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data transfer control system for controlling data transfer between a host computer and peripheral devices.
【0002】[0002]
【従来の技術】一般のコンピュータシステムにおいて
は、例えば磁気テープ装置や磁気ディスク装置のような
外部記憶装置が設けられ、ホストコンピュータとこれら
の装置との間でデータ転送が行われる。このようなデー
タ転送を行うに際し、ホストコンピュータ側のCPU
は、転送するデータ毎にデータ転送コマンドを発行し、
このコマンドに基づいて一連の動作により転送が行われ
るようになっている。2. Description of the Related Art In a general computer system, an external storage device such as a magnetic tape device or a magnetic disk device is provided, and data is transferred between a host computer and these devices. When performing such data transfer, the CPU on the host computer side
Issues a data transfer command for each data to be transferred,
Transfer is performed by a series of operations based on this command.
【0003】図5は、従来のデータ転送制御方式を説明
するためのものである。この図に示すように、ここでは
ホストコンピュータ11上に設けられたメインメモリ1
3上の相互に離れた領域のデータブロックA,Bを周辺
装置12に転送する場合について考える。この場合、図
示しないCPUは、まず第1の書込みコマンド14を周
辺装置12側に送出し、このコマンドによりデータブロ
ックAを周辺装置12に送出する。これが終了すると、
周辺装置12から完了メッセージ15が返送される。次
にCPUは第2の書込みコマンド16を送出することに
よりデータブロックBを周辺装置12に転送する。これ
に対しても、周辺装置12から完了メッセージ17が返
送される。このように、従来のデータ転送方式において
は、メインメモリ上の連続しないアドレス領域に存在す
るデータを周辺装置に転送する場合には、各データブロ
ック毎に書込みコマンドを発行し、所定のシーケンスに
よりデータ転送を行うようになっていた。FIG. 5 is for explaining a conventional data transfer control method. As shown in this figure, here, the main memory 1 provided on the host computer 11 is used.
Consider a case where the data blocks A and B in the areas separated from each other on 3 are transferred to the peripheral device 12. In this case, the CPU (not shown) first sends the first write command 14 to the peripheral device 12, and the data block A is sent to the peripheral device 12 by this command. When this is done,
The completion message 15 is returned from the peripheral device 12. The CPU then transfers the data block B to the peripheral device 12 by sending a second write command 16. Again, the peripheral device 12 returns the completion message 17 as well. As described above, in the conventional data transfer method, when transferring data existing in non-contiguous address areas on the main memory to the peripheral device, a write command is issued for each data block and the data is transferred in a predetermined sequence. It was supposed to transfer.
【0004】[0004]
【発明が解決しようとする課題】このように従来のデー
タ転送制御方式では、ホストコンピュータの線形アドレ
ス空間上の隣接していない複数の領域のデータを周辺装
置に転送する場合には、これらの領域の数に見合う分の
転送コマンドを発行する必要があった。このため従来
は、以下のような問題があった。As described above, in the conventional data transfer control system, when data of a plurality of areas which are not adjacent to each other in the linear address space of the host computer are transferred to the peripheral device, these areas are not transferred. It was necessary to issue as many transfer commands as the number of. Therefore, conventionally, there have been the following problems.
【0005】(1)分散した各データブロックごとにコ
マンドを発行しなければならず、その制御のためのオー
バヘッドが大きくなるとともに、全体としての転送時間
が長くなる。すなわち、図8(a)に示すように、デー
タブロックAを転送するのに要する時間は、第1の転送
コマンド14、データブロックA、及び完了メッセージ
15の転送時間とこれらの間隔を合計した時間T1とな
り、データブロックBを転送するのに要する時間は、第
2の転送コマンド16、データブロックB、及び完了メ
ッセージ17の転送時間とこれらの間隔を合計した時間
T2となる。さらに、これらの両コマンドの間には所定
の時間間隔T3も必要となる。従って、従来のデータ転
送制御方式では、2つのデータブロックA,Bの転送に
要する時間はT1+T2+T3となり、長時間を要する
こととなる。(1) A command must be issued for each distributed data block, and the overhead for controlling the command becomes large and the transfer time as a whole becomes long. That is, as shown in FIG. 8A, the time required to transfer the data block A is the sum of the transfer time of the first transfer command 14, the data block A, and the completion message 15 and these intervals. The time required to transfer the data block B is T1 and the time required to transfer the second transfer command 16, the data block B, and the completion message 17 and the interval between them is T2. Furthermore, a predetermined time interval T3 is also required between these two commands. Therefore, in the conventional data transfer control method, the time required to transfer the two data blocks A and B is T1 + T2 + T3, which requires a long time.
【0006】(2)周辺装置のデータ転送に対する応答
が遅くなるという問題がある。例えば図6に示すよう
に、周辺装置として磁気テープ装置を考えたとき、矢印
21の方向に走行する磁気テープ18上には、オペレー
ティングシステム(OS)の管理用データ19とユーザ
データ20とが隣接して記録される必要がある。ところ
が、OSの管理用データ19が、例えばメインメモリ1
3(図5)上のデータブロックAの位置に存在し、ユー
ザデータ20がデータブロックB(同図)の位置に存在
していたとすると、OSの管理用データ19とユーザデ
ータ20の転送とはそれぞれ別個のコマンドにより実行
されるため、磁気テープ18上の両者の記録領域間に、
図7に示すようなブランク29が挿入されてしまうこと
となる。従って、このようなブランクの挿入を防止する
ため、磁気テープ装置側では、各データ転送コマンド毎
にデータの書込みヘッドを所望のブロックへ合わせるた
めの機械的な動作が必要となり、処理時間が著しく長く
なる。また、周辺装置がハードディスクや光ディスク装
置等であった場合、これらの装置は本来一つのデータ転
送コマンドで回転待ちなく連続的にデータ転送が可能で
あるにもかかわらず、上記したような複数のコマンドで
データ転送を行う場合にはコマンド毎に回転待時間を要
することとなり、処理時間が長くなる。(2) There is a problem that the response of the peripheral device to the data transfer is delayed. For example, as shown in FIG. 6, when a magnetic tape device is considered as a peripheral device, operating system (OS) management data 19 and user data 20 are adjacent to each other on the magnetic tape 18 running in the direction of arrow 21. Then need to be recorded. However, the management data 19 of the OS is, for example, the main memory 1
3 (FIG. 5) at the position of the data block A, and the user data 20 at the position of the data block B (FIG. 5), what is the transfer of the OS management data 19 and the user data 20? Since each is executed by a separate command, between both recording areas on the magnetic tape 18,
A blank 29 as shown in FIG. 7 will be inserted. Therefore, in order to prevent such blank insertion, the magnetic tape device side needs a mechanical operation for aligning the data write head with a desired block for each data transfer command, and the processing time is extremely long. Become. Also, if the peripheral device is a hard disk or an optical disk device, these devices can transfer data continuously without waiting for rotation with a single data transfer command, but the multiple commands as described above are used. In the case of performing data transfer by, the rotation waiting time is required for each command, and the processing time becomes long.
【0007】この発明は係る課題を解決するためになさ
れたもので、一方の装置のメインメモリ上の複数の領域
に分散して存在するデータを、短い時間で他方の装置に
転送することができるデータ転送制御方式を得ることを
目的とする。The present invention has been made to solve the above problems, and it is possible to transfer data existing in a plurality of areas on a main memory of one device in a distributed manner to the other device in a short time. The purpose is to obtain a data transfer control method.
【0008】[0008]
【課題を解決するための手段】この発明に係るデータ転
送制御方式は、ホストコンピュータの主メモリ上の相互
に隣接しない複数のアドレス領域と周辺装置との間で行
うデータ転送の制御方式であって、ホストコンピュータ
側では、主メモリ上のデータ転送に係わる複数のアドレ
ス領域の領域サイズの合計値を1つのコマンドで周辺装
置に通知しておき、転送アドレス指定用レジスタ及び転
送サイズ指定用レジスタに複数のアドレス領域の各先頭
アドレス値とサイズとを順次セットすることにより、こ
れら複数のアドレス領域と周辺装置との間で連続的にデ
ータ転送を行い、周辺装置側では、ホストコンピュータ
から通知された領域サイズの合計値を記憶しておき、ホ
ストコンピュータとの間で連続的に転送されるデータの
サイズの合計が領域サイズの合計値に達したとき、転送
処理を終了するようにしたものである。A data transfer control system according to the present invention is a data transfer control system performed between a plurality of address areas which are not adjacent to each other on a main memory of a host computer and a peripheral device. On the host computer side, the total value of the area sizes of a plurality of address areas related to the data transfer on the main memory is notified to the peripheral device by one command, and a plurality of values are registered in the transfer address specifying register and the transfer size specifying register. By sequentially setting the start address value and the size of each of the address areas, the data is continuously transferred between the plurality of address areas and the peripheral device, and the peripheral device notifies the area notified by the host computer. The total size is stored, and the total size of data that is continuously transferred to and from the host computer is stored. When it reaches the sum of the size, it is obtained so as to terminate the transfer process.
【0009】[0009]
【作用】この発明に係るデータ転送制御方式では、ホス
トコンピュータから周辺装置に主メモリ上の転送に係わ
る複数のアドレス領域の合計値を1つのコマンドで通知
するとともに、各アドレス領域のアドレス値とサイズと
を順次設定することにより、これらの分散した領域と周
辺装置との間で連続的にデータ転送を行うことができ
る。そして、予定した分のデータの転送が終了すると、
周辺装置側からホストコンピュータへのデータ転送完了
通知が行われる。In the data transfer control system according to the present invention, the host computer notifies the peripheral device of the total value of a plurality of address areas related to the transfer on the main memory by one command, and the address value and the size of each address area. By sequentially setting and, data can be continuously transferred between these dispersed areas and the peripheral device. And when the transfer of the planned amount of data is completed,
The peripheral device sends a data transfer completion notification to the host computer.
【0010】[0010]
【実施例】以下、実施例について本発明を詳細に説明す
る。EXAMPLES The present invention will be described in detail below with reference to examples.
【0011】図1は、本発明の一実施例におけるデータ
転送制御方式を応用したシステムを表したものである。
この図に示すように、ホストコンピュータ11、及び周
辺装置12には、それぞれDMA制御回路23、24が
設けられ、インタフェイス回路27、29を介して相互
に接続されている。これらのDMA制御回路23、24
は、それぞれに設けられたCPU25、35の指示によ
り、メインメモリ13と磁気テープ装置26との間のデ
ータ転送制御を行うようになっている。ここでは、ホス
トコンピュータ11のメインメモリ13の隣接しない領
域に2つのデータブロックA、Bが存在しており、これ
らを周辺装置12に転送するものとする。FIG. 1 shows a system to which a data transfer control system according to an embodiment of the present invention is applied.
As shown in the figure, the host computer 11 and the peripheral device 12 are provided with DMA control circuits 23 and 24, respectively, and are connected to each other via interface circuits 27 and 29. These DMA control circuits 23, 24
The data transfer control between the main memory 13 and the magnetic tape device 26 is performed according to the instructions of the CPUs 25 and 35 provided in each. Here, it is assumed that there are two data blocks A and B in the non-adjacent area of the main memory 13 of the host computer 11, and these are transferred to the peripheral device 12.
【0012】メインメモリ13上の所定の領域には、デ
ータ転送開始に先立って作成される転送制御テーブル2
8(図2:後述)が格納されるようになっている。CP
U25は、この転送制御テーブル28の内容に従って、
DMA制御回路23の制御を行う。In a predetermined area on the main memory 13, a transfer control table 2 created prior to the start of data transfer.
8 (FIG. 2: to be described later) is stored. CP
According to the contents of this transfer control table 28, U25
The DMA control circuit 23 is controlled.
【0013】DMA制御回路23には、以下に示すよう
なレジスタが設けられている。The DMA control circuit 23 is provided with the following registers.
【0014】(i) アドレスレジスタ31:このレジスタ
には、データ転送に先立って、転送対象のデータブロッ
クAまたはBの先頭アドレスが格納される。(I) Address register 31: This register stores the start address of the data block A or B to be transferred prior to data transfer.
【0015】(ii)サイズレジスタ32:このレジスタに
は、転送すべき各データブロックごとのデータサイズが
格納される。(Ii) Size register 32: This register stores the data size of each data block to be transferred.
【0016】また、インタフェイス回路27には、以下
のような各種レジスタが設けられている。Further, the interface circuit 27 is provided with the following various registers.
【0017】(i) コマンドレジスタ33:このレジスタ
には、CPU25から与えられたコマンドが格納され
る。(I) Command register 33: This register stores a command given from the CPU 25.
【0018】(ii)ステータスレジスタ34:このレジス
タには、周辺装置12から送られてきたステータスの内
容が格納される。(Ii) Status register 34: This register stores the contents of the status sent from the peripheral device 12.
【0019】(iii) サイズレジスタ35:このレジスタ
には、サイズレジスタ32と同様の内容が格納される。(Iii) Size register 35: This register stores the same contents as the size register 32.
【0020】(iv)割込ステータスレジスタ36:外部割
込の原因となった周辺装置12からのステータスが格納
される。このレジスタの内容は、インタフェイス回路2
7からCPU25への外部割込37に応答してCPU2
5により読み出される。(Iv) Interrupt status register 36: The status from the peripheral device 12 that caused the external interrupt is stored. The contents of this register are the interface circuit 2
CPU 2 in response to external interrupt 37 from CPU 7 to CPU 25
5 is read.
【0021】一方、周辺装置12側では、インターフェ
ース回路29に転送されてきたデータは、DMA制御回
路24の制御の下にMT駆動回路30へ転送され、磁気
テープ装置26に記録されるようになっている。DMA
制御回路24には、以下に示すようなレジスタが設けら
れている。On the other hand, on the side of the peripheral device 12, the data transferred to the interface circuit 29 is transferred to the MT drive circuit 30 under the control of the DMA control circuit 24 and recorded on the magnetic tape device 26. ing. DMA
The control circuit 24 is provided with the following registers.
【0022】(i) アドレスレジスタ41:このレジスタ
には、データ転送に先立ち、ホストコンピュータからの
コマンドパケットより抽出された転送先のアドレスが格
納される。周辺装置が磁気テープ装置の場合は磁気テー
プ上のブロックアドレス、周辺装置12が磁気ディスク
装置の場合はセクタアドレスである。(I) Address register 41: This register stores the address of the transfer destination extracted from the command packet from the host computer prior to data transfer. When the peripheral device is a magnetic tape device, it is a block address on the magnetic tape, and when the peripheral device 12 is a magnetic disk device, it is a sector address.
【0023】(ii)サイズレジスタ42:このレジスタに
は、後述するように、ホストコンピュータ11より送ら
れてきたコマンドパケットから抽出された合計転送デー
タサイズが格納される。(Ii) Size register 42: As will be described later, this register stores the total transfer data size extracted from the command packet sent from the host computer 11.
【0024】また、インタフェイス回路29には、以下
のような各種レジスタが設けられている。Further, the interface circuit 29 is provided with the following various registers.
【0025】(i) コマンドレジスタ43:このレジスタ
には、ホストコンピュータ11から送られてきたコマン
ドパケットから抽出されたコマンド内容が格納される。(I) Command register 43: This register stores the command contents extracted from the command packet sent from the host computer 11.
【0026】(ii)ステータスレジスタ44:このレジス
タには、ホストコンピュータ11に送出するステータス
の内容が格納される。(Ii) Status register 44: The contents of the status sent to the host computer 11 are stored in this register.
【0027】(iii) サイズレジスタ45:このレジスタ
には、サイズレジスタ42と同様の内容が格納される。(Iii) Size register 45: This register stores the same contents as the size register 42.
【0028】(iv)割込ステータスレジスタ46:外部割
込の原因となったホストコンピュータ11からのステー
タスが格納される。このレジスタの内容は、インタフェ
イス回路29からCPU35への外部割込47に応答し
てCPU35により読み出される。(Iv) Interrupt status register 46: The status from the host computer 11 that caused the external interrupt is stored. The contents of this register are read by the CPU 35 in response to an external interrupt 47 from the interface circuit 29 to the CPU 35.
【0029】以上のような構成のコンピュータシステム
におけるデータ転送動作を、図4と共に説明する。ま
ず、ホストコンピュータ側では、OSからの要求がある
と(ステップS101)、CPU25は、図2に示すよ
うに転送先テーブル51と転送元テーブル52からなる
転送制御テーブル28をメインメモリ13上の所定の領
域に作成する。この図に示すように、転送元テーブル5
1は、転送先である磁気テープ上のブロックの先頭アド
レス54、転送データサイズの合計55、及び転送方向
56から構成される。また、転送元テーブル52は、デ
ータブロックAのエントリ57、データブロックBのエ
ントリ58、及び終了マーク59から構成される。エン
トリ57は、データブロックAのメインメモリ13上に
おける先頭アドレス61、サイズ62、及び転送方向6
3から構成される。同様に、エントリ58は、データブ
ロックBのメインメモリ13上における先頭アドレス6
4、サイズ65、及び転送方向66から構成される。こ
こでは、データブロックA及びBのサイズをそれぞれ4
バイトおよび3バイトとして説明する。なお、転送方向
とはデータの読出しあるいはデータの書込みを表すもの
である。The data transfer operation in the computer system having the above configuration will be described with reference to FIG. First, on the host computer side, when there is a request from the OS (step S101), the CPU 25 causes the transfer control table 28 including the transfer destination table 51 and the transfer source table 52 to be stored in the main memory 13 in a predetermined manner as shown in FIG. Create in the area. As shown in this figure, the transfer source table 5
1 includes a start address 54 of a block on the magnetic tape which is the transfer destination, a total transfer data size 55, and a transfer direction 56. The transfer source table 52 includes an entry 57 of the data block A, an entry 58 of the data block B, and an end mark 59. The entry 57 includes a start address 61 of the data block A on the main memory 13, a size 62, and a transfer direction 6.
It consists of 3. Similarly, the entry 58 has a start address 6 in the main memory 13 of the data block B.
4, size 65, and transfer direction 66. Here, the size of each of the data blocks A and B is 4
Bytes and 3 bytes will be described. The transfer direction represents data reading or data writing.
【0030】さて、転送制御テーブル28を作成したC
PU25は、この転送制御テーブル28内の転送先テー
ブル51の内容を読み出してインタフェイス回路27に
送出するとともに、コマンドレジスタ33に書込みコマ
ンドをセットする(ステップS103)。そして、イン
タフェイス回路27は、図3に示すようなコマンドパケ
ットを周辺装置12に送出する(ステップS104)。
このコマンドパケットは、図に示すように、転送先のブ
ロックアドレス67、データブロックA及びBの合計サ
イズ68及びコマンド内容69により構成される。ここ
では、データブロックAとBの合計サイズは7バイトで
ある。Now, C which has created the transfer control table 28
The PU 25 reads the contents of the transfer destination table 51 in the transfer control table 28 and sends the contents to the interface circuit 27, and sets the write command in the command register 33 (step S103). Then, the interface circuit 27 sends a command packet as shown in FIG. 3 to the peripheral device 12 (step S104).
As shown in the figure, this command packet is composed of the transfer destination block address 67, the total size 68 of the data blocks A and B, and the command content 69. Here, the total size of the data blocks A and B is 7 bytes.
【0031】周辺装置12のインタフェイス回路29
が、送られてきたコマンドパケットを受信すると、CP
U35はこれより合計サイズ68(ここでは7バイト)
を抽出し、サイズレジスタ45とDMA制御回路24の
サイズレジスタ42にセットする(ステップS105)
とともに、コマンド内容69をコマンドレジスタ43に
セットする。また、CPU35は、コマンドパケットか
らブロックアドレス67を抽出し、アドレスレジスタ4
1にセットする(ステップS106)。Interface circuit 29 of peripheral device 12
However, when the command packet sent is received, CP
U35 has a total size of 68 (7 bytes here)
Is extracted and set in the size register 45 and the size register 42 of the DMA control circuit 24 (step S105).
At the same time, the command content 69 is set in the command register 43. Further, the CPU 35 extracts the block address 67 from the command packet, and the address register 4
It is set to 1 (step S106).
【0032】このような受信動作が終了すると、CPU
35は、インタフェイス回路29を介してデータ転送要
求をホストコンピュータ11へ送出するとともに、DM
A制御回路24を起動する(ステップS107)。デー
タ転送要求を受けたホストコンピュータ11のインタフ
ェイス回路27は、割込ステータスレジスタ36に“デ
ータ転送要求”を格納するとともに、CPU25に対し
外部割込信号37を送出する(ステップS129)。C
PU25は、割込ステータスレジスタ36を参照し、割
込みの原因がデータ転送要求によるものであることを認
識し、メインメモリ13上の転送制御テーブル28(図
2)の転送元テーブル52から、まずデータブロックA
のエントリ57の内容を読み出し(ステップS10
9)、これをDMA制御回路23に転送する(ステップ
S110)。これにより、DMA制御回路23のサイズ
レジスタ32には、データブロックAのサイズ“4バイ
ト”がセットされるとともに(ステップS111)、ア
ドレスレジスタ31にデータブロックAの先頭アドレス
がセットされる(ステップS112)。このとき、デー
タブロックAのサイズ“4バイト”は、インタフェイス
回路27のサイズレジスタ35にもセットされる。When such a receiving operation is completed, the CPU
The reference numeral 35 sends a data transfer request to the host computer 11 via the interface circuit 29, and the DM
The A control circuit 24 is activated (step S107). The interface circuit 27 of the host computer 11, which has received the data transfer request, stores the "data transfer request" in the interrupt status register 36 and sends the external interrupt signal 37 to the CPU 25 (step S129). C
The PU 25 refers to the interrupt status register 36, recognizes that the cause of the interrupt is due to the data transfer request, and then first reads the data from the transfer source table 52 of the transfer control table 28 (FIG. 2) on the main memory 13. Block A
The content of the entry 57 is read (step S10
9) and transfers it to the DMA control circuit 23 (step S110). As a result, the size “4 bytes” of the data block A is set in the size register 32 of the DMA control circuit 23 (step S111), and the start address of the data block A is set in the address register 31 (step S112). ). At this time, the size “4 bytes” of the data block A is also set in the size register 35 of the interface circuit 27.
【0033】次にCPU25は、DMA制御回路23を
起動し(ステップS113)。これを受けたDMA制御
回路23は、メインメモリ13上のデータブロックAの
内容4バイト分を読み出し、1バイトずつ周辺装置12
側へと転送する(ステップS114)。この際、インタ
フェイス回路27、29間では、各バイトごとに以下の
ようなハンドシェークによりデータ転送が行われる。す
なわち、インタフェイス回路29からのリクエスト(R
EQ)信号に応答して、インタフェイス回路27は1バ
イトのデータを転送し、さらにアクノレージ(ACK)
信号を送出する。これを繰り返し行うことにより4バイ
ト分のデータが転送されることとなる。Next, the CPU 25 activates the DMA control circuit 23 (step S113). Receiving this, the DMA control circuit 23 reads out 4 bytes of the content of the data block A in the main memory 13, and the peripheral device 12 reads the contents one byte at a time.
(Step S114). At this time, data transfer is performed between the interface circuits 27 and 29 by the following handshake for each byte. That is, the request (R
In response to the EQ signal, the interface circuit 27 transfers 1 byte of data and further acknowledges (ACK).
Send a signal. By repeating this, 4-byte data is transferred.
【0034】周辺装置12側のDMA制御回路24で
は、送られてきた4バイトのデータを、図示しないバッ
ファに一旦蓄えた後、これを磁気テープ装置26に順次
書き込む(ステップS115)。ホストコンピュータ1
1側のDMA制御回路23は、データブロックAの4バ
イト分の送出が終了すると、DMA終了の内部割込みを
CPU25に対して行う(ステップS116)。The DMA control circuit 24 on the side of the peripheral device 12 temporarily stores the sent 4-byte data in a buffer (not shown) and then sequentially writes it in the magnetic tape device 26 (step S115). Host computer 1
When the 4-byte data block A has been sent, the 1-side DMA control circuit 23 issues an internal DMA end interrupt to the CPU 25 (step S116).
【0035】これを受けたCPU25は、メインメモリ
13上の転送制御テーブル28内の転送元テーブル52
からデータブロックBのエントリ58の内容を読み出し
(ステップS117)、これをDMA制御回路23に転
送する(ステップS118)。これによりDMA制御回
路23のサイズレジスタには、データブロックBのサイ
ズ“3バイト”がセットされると共に(ステップS11
9)、アドレスレジスタ31にデータブロックBの先頭
アドレスがセットされる(ステップS120)。Upon receiving this, the CPU 25 transfers the transfer source table 52 in the transfer control table 28 on the main memory 13.
The contents of the entry 58 of the data block B are read from (step S117) and transferred to the DMA control circuit 23 (step S118). As a result, the size "3 bytes" of the data block B is set in the size register of the DMA control circuit 23 (step S11).
9), the start address of the data block B is set in the address register 31 (step S120).
【0036】次にCPU25は、DMA制御回路23を
起動する(ステップS121)。これを受けたDMA制
御回路23は、メインメモリ13上のデータブロックB
の内容3バイト分を読み出し、1バイトずつ周辺装置1
2に転送する(ステップS122)。なお、この場合も
上記したと同様のハンドシェークにより転送が行われ
る。Next, the CPU 25 activates the DMA control circuit 23 (step S121). In response to this, the DMA control circuit 23 receives the data block B on the main memory 13.
3 bytes of contents are read out, 1 byte at a time for peripheral device 1
2 (step S122). In this case as well, the transfer is performed by the same handshake as described above.
【0037】周辺装置12のDMA制御回路24では、
受信した3バイトのデータを図示しないバッファに一旦
格納した後、これを順次磁気テープ装置26に転送する
(ステップS123)。ホストコンピュータ11のDM
A制御回路23は、データブロックBの内容3バイト分
の転送終了後、DMA終了の内部割込信号38をCPU
25に送出する(ステップS124)。In the DMA control circuit 24 of the peripheral device 12,
The received 3-byte data is temporarily stored in a buffer (not shown) and then sequentially transferred to the magnetic tape device 26 (step S123). DM of host computer 11
The A control circuit 23 sends a DMA end internal interrupt signal 38 to the CPU after the transfer of 3 bytes of the contents of the data block B is completed.
25 (step S124).
【0038】一方、周辺装置12のCPU35は、デー
タブロックBの3バイトの受信終了後、データが正常に
受信されたか否かを示す受信結果ステータスをステータ
スレジスタ44にセットし(ステップS125)、これ
をホストコンピュータ側に送出する(ステップS12
6)。On the other hand, the CPU 35 of the peripheral device 12 sets the reception result status indicating whether or not the data is normally received in the status register 44 after the reception of 3 bytes of the data block B (step S125). To the host computer side (step S12)
6).
【0039】ホストコンピュータ11のインタフェイス
回路27は、周辺装置12から送られてきた受信結果ス
テータスの内容をステータスレジスタ34に格納すると
ともに、CPU25に対し外部割込信号37を送出する
(ステップS127)。The interface circuit 27 of the host computer 11 stores the contents of the reception result status sent from the peripheral device 12 in the status register 34 and sends the external interrupt signal 37 to the CPU 25 (step S127). ..
【0040】この外部割込信号37を受けたCPU25
は、割込ステータスレジスタ36を参照し、外部割込み
の原因となったステータスが“受信結果ステータス”で
あったことを認識する。CPU 25 receiving this external interrupt signal 37
Refers to the interrupt status register 36 and recognizes that the status that caused the external interrupt was the "reception result status".
【0041】続いて周辺装置12のCPU35から完了
メッセージが送出されると(ステップS128)、イン
タフェイス回路27は、CPU25に対し外部割込信号
37を送出する(ステップS129)。CPU25は、
割込ステータスレジスタ36を参照し、割込みの原因が
完了メッセージ受信によるものであることを認識する。Subsequently, when the completion message is sent from the CPU 35 of the peripheral device 12 (step S128), the interface circuit 27 sends an external interrupt signal 37 to the CPU 25 (step S129). CPU 25
By referring to the interrupt status register 36, it is recognized that the cause of the interrupt is the reception of the completion message.
【0042】そして、CPU25は、ステータスレジス
タ34にセットされたステータスを解析する(ステップ
S130)。Then, the CPU 25 analyzes the status set in the status register 34 (step S130).
【0043】以上のように、本実施例によれば、ホスト
コンピュータ11から周辺装置12に対しては、上記ス
テップS104におけるコマンドパケットが送出される
だけで、メインメモリ13上の隔たったデータブロック
A及びBが連続的に転送されることとなる。したがっ
て、図8(b)に示すようにデータ転送に要する全体の
時間はT4となる。この図に示すように、データ転送に
要する全時間T4は、コマンドパケット48、全データ
転送終了時の完了メッセージ49、及びデータブロック
A及びBのデータ転送時間、及びこれらの間隔により規
定され、従来の方式に比し、格段に短縮化される。そし
て、その短縮の度合いは、データブロックの数が多くな
ればなるほど顕著となる。なお、この図で時間T5は、
アドレスレジスタ31とサイズレジスタ32の内容を、
データブロックAの内容からデータブロックBの内容に
設定し直すのに要する時間であるが、磁気テープ装置2
6のテープ走行速度に比べて無視できる時間である。し
たがって、磁気テープ上には図6に示したように、2つ
のデータブロックの内容が隣接して連続的に書込まれる
こととなる。As described above, according to this embodiment, only the command packet in step S104 is sent from the host computer 11 to the peripheral device 12, and the data block A separated in the main memory 13 is separated. And B will be transferred continuously. Therefore, as shown in FIG. 8B, the total time required for data transfer is T4. As shown in this figure, the total time T4 required for data transfer is defined by the command packet 48, the completion message 49 at the end of all data transfer, the data transfer time of the data blocks A and B, and the interval between them. Compared to the method, it is significantly shortened. The degree of shortening becomes more remarkable as the number of data blocks increases. In this figure, time T5 is
The contents of the address register 31 and the size register 32 are
The time required to reset the contents of data block A to the contents of data block B
This is a time that can be ignored compared to the tape running speed of 6. Therefore, as shown in FIG. 6, the contents of the two data blocks are continuously and adjacently written on the magnetic tape.
【0044】なお、本実施例では、ホストコンピュータ
11から周辺装置12にデータを書き込む場合について
説明したが、周辺装置12からデータを読み出してホス
トコンピュータ11に転送する場合のシーケンスもほぼ
同様である。この場合には、転送制御テーブル28の転
送先テーブル51及び転送元テーブル52の転送方向5
6、63、66として“データ読出し”をセットすれば
よい。これにより、データ読出しのコマンドパケットが
送出され、以下データ書込みの場合と反対方向にデータ
転送が行われる。ただし、この際、インタフェイス回路
27、29間では、各バイトごとに以下のようなハンド
シェークによりデータ転送が行われる。すなわち、イン
タフェイス回路29は1バイトのデータをバスに送出し
たのち、REQ信号を送出する。これに応答して、イン
タフェイス回路27はデータを取り込みACK信号を送
出する。これを繰り返し行うことにより所定バイト分の
データが転送されることとなる。In this embodiment, the case where the data is written from the host computer 11 to the peripheral device 12 has been described, but the sequence when the data is read from the peripheral device 12 and transferred to the host computer 11 is almost the same. In this case, the transfer destination table 51 of the transfer control table 28 and the transfer direction 5 of the transfer source table 52
“Data read” may be set as 6, 63 and 66. As a result, a data read command packet is transmitted, and data transfer is performed in the opposite direction to the data write operation. However, at this time, data is transferred between the interface circuits 27 and 29 by the following handshake for each byte. That is, the interface circuit 29 sends 1 byte of data to the bus and then sends the REQ signal. In response to this, the interface circuit 27 takes in the data and sends out an ACK signal. By repeating this, data of a predetermined byte is transferred.
【0045】[0045]
【発明の効果】以上説明したように、本発明によれば、
一回のコマンド送出のみで複数のデータ領域のデータを
連続的に転送することができるため、データ転送制御の
オーバヘッドを少なくすることができる。また、転送さ
れるデータブロック間にタイムラグがなくなるため、周
辺装置側ではコマンド毎にデータの書込みヘッド等を所
望のブロックにあわせるための機械的動作や、回転待動
作を不要とすることができ、処理時間を著しく短縮化す
ることができるという効果がある。As described above, according to the present invention,
Since the data in a plurality of data areas can be continuously transferred by sending the command only once, the overhead of data transfer control can be reduced. Further, since there is no time lag between the data blocks to be transferred, it is possible to eliminate the need for a mechanical operation for aligning the data write head or the like with a desired block for each command and a rotation waiting operation on the peripheral device side. There is an effect that the processing time can be remarkably shortened.
【図1】本発明の一実施例におけるデータ転送制御方式
を応用したコンピュータシステムを示すブロック図であ
る。FIG. 1 is a block diagram showing a computer system to which a data transfer control system according to an embodiment of the present invention is applied.
【図2】メインメモリ上に作成された転送制御テーブル
の内容を示す説明図である。FIG. 2 is an explanatory diagram showing the contents of a transfer control table created on a main memory.
【図3】ホストコンピュータから送出されるコマンドパ
ケットを示す説明図である。FIG. 3 is an explanatory diagram showing a command packet sent from a host computer.
【図4】本発明の一実施例におけるデータ転送制御方式
を説明するためのシーケンス図である。FIG. 4 is a sequence diagram for explaining a data transfer control method in the embodiment of the present invention.
【図5】従来のデータ転送制御方式を説明するための説
明図である。FIG. 5 is an explanatory diagram for explaining a conventional data transfer control method.
【図6】磁気テープ装置上のデータフォマットの一例を
示す説明図である。FIG. 6 is an explanatory diagram showing an example of a data format on a magnetic tape device.
【図7】磁気テープへの書込み時に、データブロック間
にブランクが挿入された状態を示す説明図である。FIG. 7 is an explanatory diagram showing a state in which a blank is inserted between data blocks when writing to a magnetic tape.
【図8】複数のデータブロックを転送するに際し、従来
のデータ転送制御方式で要する時間と、本発明のデータ
転送制御方式で要する時間とを比較した説明図である。FIG. 8 is an explanatory diagram comparing the time required by the conventional data transfer control method with the time required by the data transfer control method of the present invention when transferring a plurality of data blocks.
11 ホストコンピュータ 12 周辺装置 13 メインメモリ 23、24 DMA制御回路 25、35 CPU 27、29 インタフェイス回路 28 転送制御テーブル 31、41 アドレスレジスタ 32、42 サイズレジスタ 51 転送元テーブル 52 転送先テーブル 11 Host Computer 12 Peripheral Device 13 Main Memory 23, 24 DMA Control Circuit 25, 35 CPU 27, 29 Interface Circuit 28 Transfer Control Table 31, 41 Address Register 32, 42 Size Register 51 Transfer Source Table 52 Transfer Destination Table
Claims (1)
隣接しない複数のアドレス領域と周辺装置との間で行う
データ転送の制御方式であって、 ホストコンピュータ側では、前記主メモリ上のデータ転
送に係わる複数のアドレス領域の領域サイズの合計値を
1つのコマンドで周辺装置に通知しておき、転送アドレ
ス指定用レジスタ及び転送サイズ指定用レジスタに前記
複数のアドレス領域の各先頭アドレス値とサイズとを順
次セットすることにより、これら複数のアドレス領域と
周辺装置との間で連続的にデータ転送を行い、 周辺装置側では、ホストコンピュータから通知された前
記領域サイズの合計値を記憶しておき、ホストコンピュ
ータとの間で連続的に転送されるデータのサイズの合計
が前記領域サイズの合計値に達したとき、転送処理を終
了するようにしたことを特徴とするデータ転送制御方
式。1. A control method of data transfer between a plurality of address areas on a main memory of a host computer, which are not adjacent to each other, and a peripheral device, wherein the host computer performs data transfer on the main memory. The total value of the area sizes of the plurality of related address areas is notified to the peripheral device by one command, and the start address value and the size of each of the plurality of address areas are stored in the transfer address specifying register and the transfer size specifying register. By sequentially setting, the data is continuously transferred between these address areas and the peripheral device, and the peripheral device side stores the total value of the region size notified from the host computer, and Transfer when the total size of data continuously transferred to and from the computer reaches the total value of the area size. The data transfer control method is characterized in that so as to end the management.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29259891A JPH05128043A (en) | 1991-11-08 | 1991-11-08 | Data transfer control system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP29259891A JPH05128043A (en) | 1991-11-08 | 1991-11-08 | Data transfer control system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05128043A true JPH05128043A (en) | 1993-05-25 |
Family
ID=17783862
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29259891A Pending JPH05128043A (en) | 1991-11-08 | 1991-11-08 | Data transfer control system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05128043A (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57206950A (en) * | 1981-06-15 | 1982-12-18 | Fujitsu Ltd | Input/output controlling system |
| JPH02118748A (en) * | 1988-10-28 | 1990-05-07 | Toshiba Corp | Input output control system |
-
1991
- 1991-11-08 JP JP29259891A patent/JPH05128043A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57206950A (en) * | 1981-06-15 | 1982-12-18 | Fujitsu Ltd | Input/output controlling system |
| JPH02118748A (en) * | 1988-10-28 | 1990-05-07 | Toshiba Corp | Input output control system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5452432A (en) | Partially resettable, segmented DMA counter | |
| KR960002543B1 (en) | Peripheral Equipment Control | |
| US6889266B1 (en) | Method for delivering packet boundary or other metadata to and from a device using direct memory controller | |
| US5845151A (en) | System using descriptor and having hardware state machine coupled to DMA for implementing peripheral device bus mastering via USB controller or IrDA controller | |
| JPS6292022A (en) | Data transfer control method | |
| US6289402B1 (en) | Bidirectional data transfer protocol primarily controlled by a peripheral device | |
| JP2723022B2 (en) | Disk device interface and control method thereof | |
| US6772311B2 (en) | ATAPI device unaligned and aligned parallel I/O data transfer controller | |
| JPH03204023A (en) | Duplexing control system for magnetic recorder | |
| JPH05128043A (en) | Data transfer control system | |
| US6233628B1 (en) | System and method for transferring data using separate pipes for command and data | |
| KR100843199B1 (en) | High speed I.D. Interface device and its method | |
| JPH01140326A (en) | Magnetic disk device | |
| US20060277326A1 (en) | Data transfer system and method | |
| KR920007949B1 (en) | Peripheral controller | |
| JPH06236340A (en) | Data transfer method and transfer device | |
| US7032054B1 (en) | Method and apparatus for increasing the device count on a single ATA bus | |
| JP2537541B2 (en) | DMA control system | |
| JP3645696B2 (en) | PCI bus / S / T interface connection device | |
| JPS6253864B2 (en) | ||
| JPH06301607A (en) | Multi-access I / O control method | |
| JPS63223822A (en) | Control system for disk device | |
| JPH10214247A (en) | External storage device interface | |
| JPH11338644A (en) | Disk control device and storage device | |
| JP2732951B2 (en) | Data transfer control method |