JPH0133848B2 - - Google Patents

Info

Publication number
JPH0133848B2
JPH0133848B2 JP55018920A JP1892080A JPH0133848B2 JP H0133848 B2 JPH0133848 B2 JP H0133848B2 JP 55018920 A JP55018920 A JP 55018920A JP 1892080 A JP1892080 A JP 1892080A JP H0133848 B2 JPH0133848 B2 JP H0133848B2
Authority
JP
Japan
Prior art keywords
data
amount
transferred
address
boundary
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
Application number
JP55018920A
Other languages
Japanese (ja)
Other versions
JPS56116139A (en
Inventor
Osamu Suzuki
Masahiro Kawakatsu
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1892080A priority Critical patent/JPS56116139A/en
Publication of JPS56116139A publication Critical patent/JPS56116139A/en
Publication of JPH0133848B2 publication Critical patent/JPH0133848B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus

Description

【発明の詳細な説明】 本発明はデータ送受部と主記憶装置の間のデー
タ転送が行なわれるときの転送データ方式に関
し、特にデータ送受部から要求されるデータを主
記憶装置にリードまたはライトする場合、1回の
アクセスでリードまたはライトが行なうことので
きないバイト長のデータのときに、アクセス回数
を最小限にして効率的に主記憶装置に対するアク
セスを行なうことができるように、アクセス毎の
データ量を決定するようにした転送データ方式に
関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to a data transfer method when data is transferred between a data transmitting/receiving unit and a main memory, and in particular, to reading or writing data requested by the data transmitting/receiving unit to the main memory. In this case, when the data has a byte length that cannot be read or written in one access, the data for each access can be accessed efficiently by minimizing the number of accesses. This invention relates to a transfer data method that determines the amount of data.

第1図に示す如く、データ処理装置では主記憶
装置1に対し中央処理装置2やチヤネル3が接続
され、チヤネル3には入出力装置4が接続され、
該入出力装置4から送出されたデータが、データ
バツフア3−1に一時保持されている。そして入
出力装置4が主記憶装置1から必要とするデータ
を求めたり、あるいはデータを格納する場合に
は、チヤネル3に対して中央処理装置2からスタ
ートI/Oを発生する。これによりチヤネル3は
その命令に応じたチヤネルコマンドワード
(CCW)にもとづき制御を行なうものである。そ
してこのCCWには、例えば読出し指令や書込み
指令の場合には、第2図に示す如く、読出しや書
込みを行なう主記憶装置1の先頭アドレスDAお
よび、読出すべきデータあるいは書込むべきデー
タのバイトカウントBC等がこのCOWに明示され
ている。そしてこのデータのバイト長がチヤネル
3から主記憶装置1に対して1回に送受信できる
最大のデータ転送量を越えている場合にはこれを
最大データ転送量の範囲内で複数回にわけて送受
信しなければならない。
As shown in FIG. 1, in the data processing device, a main storage device 1 is connected to a central processing unit 2 and a channel 3, and an input/output device 4 is connected to the channel 3.
Data sent from the input/output device 4 is temporarily held in the data buffer 3-1. When the input/output device 4 obtains required data from the main storage device 1 or stores data, a start I/O is generated from the central processing unit 2 to the channel 3. As a result, the channel 3 performs control based on the channel command word (CCW) corresponding to the command. For example, in the case of a read command or a write command, this CCW contains the start address DA of the main memory 1 to be read or written, and the byte of the data to be read or written, as shown in FIG. Count BC etc. are clearly indicated on this COW. If the byte length of this data exceeds the maximum amount of data transfer that can be sent and received at one time from channel 3 to main memory 1, this data will be sent and received multiple times within the maximum data transfer amount. Must.

一方主記憶装置1側では、第8図に示す如く、
その記憶領域内に最大転送量毎にバウンダリーが
設けられ、例えば16バイトが最大転送量の主記憶
装置1では、B1,B2……の如きバウンダリーが
設けられている。したがつて、一回のデータの送
受信量がそのバウンダリーの範囲内である場合に
はアクセスが一回ですむが、このバウンダリーを
越える部分があるとアクセスを2回行なわなけれ
ばならない。したがつて、第3図に示す如く、矢
印Hで示す。アドレス「2」から16バイトのデー
タを格納する場合には、アドレス「2」からアド
レス「15」までにバイトのデータを格納し、そし
てアドレス「16」「17」に残りの2バイトのデー
タを格納しなければならない。それ故、第3図に
おけるアドレス「2」を先頭アドレスとして16バ
イト×3回のデータを格納する場合には、最初に
送出された16バイトについて2回のアクセスを必
要とするのみならず、2回目、3回目に送出され
たデータに対してもそれぞれ2回のアクセスを必
要とし、合計6回ものアクセスを行なわなければ
ならなかつた。
On the other hand, on the main storage device 1 side, as shown in FIG.
Within the storage area, a boundary is provided for each maximum transfer amount. For example, in the main storage device 1 where the maximum transfer amount is 16 bytes, boundaries such as B 1 , B 2 . . . are provided. Therefore, if the amount of data sent and received at one time is within the boundary, one access is sufficient, but if there is a portion that exceeds this boundary, the access must be performed twice. Therefore, as shown in FIG. 3, it is indicated by an arrow H. When storing 16 bytes of data from address "2", store the bytes of data from address "2" to address "15", and then store the remaining 2 bytes of data at addresses "16" and "17". must be stored. Therefore, when storing data of 16 bytes x 3 times using address "2" in Figure 3 as the first address, not only do the first 16 bytes sent out require two accesses, but also two The data sent out the third time also required two accesses each, resulting in a total of six accesses.

したがつて、このような場合、最初にその先頭
アドレスの存在する領域のバウンダリーまでのデ
ータである14バイトを格納し、次に16バイトを2
回格納し、最後に2バイト格納できるようにすれ
ば4回のアクセスでよい。
Therefore, in such a case, first store 14 bytes of data up to the boundary of the area where the start address exists, and then store 16 bytes of data up to the boundary of the area where the start address exists.
If you store the data twice and then store 2 bytes at the end, you only need to access it four times.

したがつて本発明はこのようなことを可能にし
た転送データ方式を提供するものであり、このた
めに本発明の転送データ方式では、データ送受部
と、バウンダリーが設けられた主記憶装置の間に
データをバウンダリーの領域毎に転送するとき、
1回に転送すべきデータ長を決定するデータ長決
定方式において、転送されるデータ長に対するデ
ータ長情報を保持するデータ長保持手段と、主記
憶装置にアクセスすべき先頭アドレスに関するア
ドレス情報を保持する先頭アドレス情報保持手段
と、上記アドレス情報がバウンダリー領域におけ
る何番目に位置するかにもとづき最初に転送すべ
きデータ量を演算すると共に2回目以降の転送す
べきデータ量をバウンダリーの領域のデータ量と
するデータ量演算部と、残存量であるデータ長情
報と転送されたデータ量との差であるデータ量を
演算する最終データ量演算部と、残存量がバウン
ダリーの領域内の量か否かを判別する比較手段
と、切替手段を具備し、上記比較手段により残存
量がバウンダリーの領域より大きいとき上記デー
タ量演算部から出力されるデータ量を切替手段よ
り出力し、領域内のとき最終データ量演算部から
出力されるデータ量を切替手段より出力するよう
に制御して、転送すべき最適データ量を上記切替
手段より出力し、これにより連続的にデータ転送
をするようにしたことを特徴とする。
Therefore, the present invention provides a transfer data method that makes this possible. For this purpose, in the transfer data method of the present invention, there is a When transferring data to each boundary area,
In a data length determination method that determines the length of data to be transferred at one time, data length holding means holds data length information regarding the data length to be transferred, and address information regarding the first address to be accessed in the main storage device is provided. A head address information holding means calculates the amount of data to be transferred for the first time based on the position of the address information in the boundary area, and calculates the amount of data to be transferred from the second time onwards as the amount of data in the boundary area. a final data amount calculation section that calculates the data amount that is the difference between the data length information that is the remaining amount and the transferred data amount, and a final data amount calculation section that calculates whether the remaining amount is within the boundary area or not. It comprises a comparison means for determining and a switching means, and when the comparison means determines that the remaining amount is larger than the boundary area, the amount of data output from the data amount calculation section is outputted from the switching means, and when it is within the area, the amount of data is changed to the final data amount. The amount of data output from the arithmetic unit is controlled to be output from the switching means, and the optimum amount of data to be transferred is outputted from the switching means, thereby continuously transferring data. do.

以下本発明の一実施例を第4図にもとづき説明
する。
An embodiment of the present invention will be described below based on FIG. 4.

図中、5はデータアドレスレジスタ、6はバイ
ト長レジスタ、7は第1演算部、8はエンドアド
レスレジスタ、9は第1比較器、10は切替回
路、11は+1カウンタ、12はバツフアアドレ
スレジスタ、13,14はゲート回路、15は下
位アドレスレジスタ、16は第2演算部、17は
第3演算部、18は第2比較器、10は残存バイ
ト長レジスタ、20はゲート回路である。
In the figure, 5 is a data address register, 6 is a byte length register, 7 is a first calculation unit, 8 is an end address register, 9 is a first comparator, 10 is a switching circuit, 11 is a +1 counter, and 12 is a buffer address. Registers 13 and 14 are gate circuits, 15 is a lower address register, 16 is a second arithmetic unit, 17 is a third arithmetic unit, 18 is a second comparator, 10 is a remaining byte length register, and 20 is a gate circuit.

データアドレスレジスタ5は主記憶装置1のア
クセスすべき先頭アドレスDAがセツトされ、ま
た、バイト長レジスタ6は主記憶装置1との間で
転送されるべきデータのバイトカウントBCがセ
ツトされる。そしてこれら先頭アドレスDAおよ
びバイトカウンタBCは、第2図に示されるCCW
からセツトされるものである。
The data address register 5 is set to the start address DA of the main memory 1 to be accessed, and the byte length register 6 is set to the byte count BC of data to be transferred to and from the main memory 1. These start address DA and byte counter BC are CCW shown in Figure 2.
It is set from .

第1演算部7は、後述するように、主記憶装置
1に対して格納すべきデータのエンドアドレスを
算出するものであり、この第1演算部7により算
出された上記エンドアドレスは、エンドアドレス
レジスタ8にセツトされる。第1比較器9は、エ
ンドアドレスレジスタ8から伝達されるエンドア
ドレスと、バツフアアドレスレジスタ12から送
出されるアドレスとを比較して、両者のアドレス
が一致したことを検出し、主記憶装置1に対する
データ格納終了時を検出するものである。
The first calculation unit 7 calculates the end address of data to be stored in the main storage device 1, as described later, and the end address calculated by the first calculation unit 7 is the end address. Set in register 8. The first comparator 9 compares the end address transmitted from the end address register 8 and the address transmitted from the buffer address register 12, detects that the two addresses match, and This is to detect the end of data storage.

切替回路10は主記憶装置にアクセスすると
き、1回毎に送出すべきデータ量を出力するもの
で、第2演算部16の出力と、第3演算部の17
の出力とのいずれか一方を選択出力するものであ
る。
The switching circuit 10 outputs the amount of data to be sent each time the main storage is accessed, and the switching circuit 10 outputs the amount of data to be sent each time the main storage device is accessed.
This is to selectively output either one of the outputs.

下位アドレスレジスタ15は、最初データアド
レスレジスタ5にセツトされた先頭アドレスDA
の下位ビツトDA′がセツトされ、その後「0」が
セツトされるものである。
The lower address register 15 is the first address DA set in the data address register 5.
The lower bit DA' of is set, and then "0" is set.

第2演算部16は、後述するように、一回に転
送すべきデータ量を演算するものである。
The second calculation unit 16 calculates the amount of data to be transferred at one time, as will be described later.

第3演算部17は、後述するように、最終回に
転送すべきデータ量を演算するものである。
The third calculation unit 17 calculates the amount of data to be transferred in the final round, as will be described later.

第2比較器18は、第3演算部17の出力が、
主記憶装置1のバウンダリー領域内のバイト量よ
り大きいか否かを比較する回路である。
The second comparator 18 is configured such that the output of the third arithmetic unit 17 is
This circuit compares whether the amount of bytes is larger than the amount of bytes in the boundary area of the main storage device 1.

残存バイト長レジスタ19は、主記憶装置1と
チヤネル3との間に転送すべきデータ量がどれだ
け存在しているかという数量がセツトされるもの
である。
The remaining byte length register 19 is used to set a quantity representing the amount of data to be transferred between the main storage device 1 and the channel 3.

以下本発明における転送データ方式を、(1)主記
憶装置からデータを読出す場合、および(2)主記憶
装置に対してデータを格納する場合についてそれ
ぞれ詳述する。
The transfer data method according to the present invention will be described below in detail with respect to (1) the case of reading data from the main memory, and (2) the case of storing data in the main memory.

(1) 主記憶装置からデータを読出す場合、 いま、第3図において矢印Hで示すアドレス
「2」を先頭アドレスDAとして、主記憶装置
1からデータを16×3=48バイト読出す場合に
ついて説明する。この場合、先頭アドレスDA
は上記の如く「2」であり、転送すべきデータ
のバイトカウントBCは「48」であり、データ
アドレスレジスタ5にはDA=2がセツトさ
れ、バイト長レジスタ6にはBC=48がセツト
される。そして最初は初期パルスによりゲート
回路13および14がオンされるので、残存バ
イト長レジスタ19には、残存バイト長として
「48」がセツトされ、また下位アドレスレジス
タ15には上記データアドレスレジスタ5にセ
ツトされた先頭アドレスDAの下位ビツト
DA′がセツトされる。この下位ビツトDA′は、
上記先頭アドレスが主記憶装置のバウンダリー
領域における何番目の区分であるかということ
を示すものであり、この場合にはこの下位ビツ
トDA′も「2」である。そして上記起動パルに
より、第2演算部16は下位アドレスレジスタ
15にセツトされた下位ビツトDA′の値をスル
ーで第3演算部17に伝達し、この第3演算部
17は残存バイト長レジスタ19にセツトされ
た、残存バイト長BC(=48)と、この下位アド
レスレジスタ15にセツトされた値(=2)を
加算する。この結果が第2比較器18で、バウ
ンダリー領域のバイト容量N(この例ではN=
16)と比較され、このバイト容量Nより、上記
加算値が大きいことがわかる。(勿論このBC+
DA′の演算は、第2演算部16でも可能であ
る。)第2比較器18は、第3演算部17から
伝達された値が基準値Nより大きいときには、
切替回路10の出力として第2演算部16の演
算出力を選択するように制御するとともに、ゲ
ート回路20を遅延制御し、後述する如く、第
2演算部16により第1回目のデータ転送量が
算出されたあとで、下位アドレスレジスタ15
に数値「0」をセツトさせる。
(1) When reading data from the main memory device, the case where data is read from the main memory device 1 by 16 x 3 = 48 bytes, using the address "2" indicated by the arrow H in Fig. 3 as the start address DA. explain. In this case, the starting address DA
is "2" as described above, the byte count BC of the data to be transferred is "48", data address register 5 is set to DA = 2, and byte length register 6 is set to BC = 48. Ru. At first, the gate circuits 13 and 14 are turned on by the initial pulse, so the remaining byte length register 19 is set to "48" as the remaining byte length, and the lower address register 15 is set to the data address register 5. lower bit of the first address DA
DA' is set. This lower bit DA′ is
This indicates the number of division in the boundary area of the main storage device that the above-mentioned top address is, and in this case, the lower bit DA' is also "2". Then, in response to the activation pulse, the second arithmetic unit 16 transmits the value of the lower bit DA' set in the lower address register 15 to the third arithmetic unit 17, and the third arithmetic unit 17 transfers the value of the lower bit DA' set in the lower address register 15 to the third arithmetic unit 17. The remaining byte length BC (=48) set in , and the value set in this lower address register 15 (=2) are added. This result is sent to the second comparator 18 by the byte capacity N of the boundary area (in this example, N=
16), it can be seen that the above added value is larger than this byte capacity N. (Of course this BC+
The calculation of DA′ can also be performed by the second calculation unit 16. ) The second comparator 18, when the value transmitted from the third calculation unit 17 is larger than the reference value N,
The calculation output of the second calculation unit 16 is controlled to be selected as the output of the switching circuit 10, and the gate circuit 20 is controlled to delay, and the second calculation unit 16 calculates the first data transfer amount as described later. After the lower address register 15
Set the value to ``0''.

したがつて、主記憶装置1からチヤネルに対
する第1回目のデータ転送量の決定に先立ち、
第3演算部17でBC+DAの演算が行なわれ、
これがNより大きいことがわかる。この結果、
第2演算部16で、0−DAの演算が行なわれ
る。この結果0−2は、4ビツト、2進表示で
「0000−0010」は、「0000+1101+1=1110」と
なり、第2演算部16より10進数「14」が得ら
れる。そしてこの「14」が切替回路10を経由
して、第1回目に主記憶装置1から読出される
べきデータ長は14バイトという数値が得られ
る。この「14」は第3演算部17において残存
バイト長レジスタ19にセツトされた10進数
「48」と減算され「48−14=34」となり、16よ
りも大きいので、今度は上記下位アドレスレジ
スタ15に「0」がセツトされる。このとき上
記「34」が残存バイト長レジスタ19にセツト
されるものである。そして第2演算部16に、
上記と同様にして減算、即ち「0000−0000」が
実行される。そしてこれは、「0000+1111+1
=10000」となり、第2演算部16から10進数
「16」が得られ、第2回目のデータ転送量とし
て16バイトであることを得る。この「16」は第
3演算部17で残存バイト長レジスタ19にセ
ツトされた「84」を減算して「18」が得られ
る。この「18」もNすなわち「16」よりも大き
いので、上記第2回目のデータ転送量と算出の
場合と同様な演算が行なわれ、第3回目のデー
タ転送量として16バイトであるこをが切替回路
10から出力される。しかし第3演算部では
「18−16=2」となり、その演算結果がNつま
り「16」よりも小さいので、第4回目のデータ
転送量としては、上記演算結果の「2」がセツ
トされた残存バイト長レジスタ19からの出力
が切替回路10から得られることになる。この
結果、第3図における矢印Hで示されるアドレ
ス「2」を先頭アドレスとして48バイトのデー
タを主記憶装置1から読出す場合には、第1回
目に14バイト、第2回目に16バイト、第3回目
に16バイト、第4回目に2バイトづつデータを
転送することにより、第1回目乃至第3回目ま
ではバウンダリー領域までの、きわめて効率的
なデータ転送を行なうことができる。
Therefore, before determining the first data transfer amount from the main storage device 1 to the channel,
The calculation of BC+DA is performed in the third calculation unit 17,
It can be seen that this is larger than N. As a result,
The second calculation unit 16 performs the calculation of 0-DA. As a result, "0000-0010" in 4-bit binary representation becomes "0000+1101+1=1110", and the second arithmetic unit 16 obtains the decimal number "14". Then, this "14" passes through the switching circuit 10, and the data length to be read out from the main memory device 1 for the first time is 14 bytes. This "14" is subtracted from the decimal number "48" set in the remaining byte length register 19 in the third arithmetic unit 17 and becomes "48-14=34", which is larger than 16, so this time, the lower address register 15 is set to "0". At this time, the above-mentioned "34" is set in the remaining byte length register 19. Then, in the second calculation unit 16,
Subtraction, ie, "0000-0000" is performed in the same manner as above. And this is "0000+1111+1
=10000'', the decimal number ``16'' is obtained from the second arithmetic unit 16, and the second data transfer amount is 16 bytes. This "16" is obtained by subtracting "84" set in the remaining byte length register 19 in the third arithmetic unit 17 to obtain "18". Since this "18" is also larger than N, that is, "16", the same calculation as in the case of calculating the second data transfer amount is performed, and the third data transfer amount is 16 bytes. It is output from the circuit 10. However, in the third calculation section, ``18-16=2'' is obtained, and the result of the calculation is smaller than N, that is, ``16'', so the amount of data transferred for the fourth time is set to ``2'', which is the result of the above calculation. The output from the remaining byte length register 19 will be obtained from the switching circuit 10. As a result, when reading 48 bytes of data from the main memory device 1 using the address "2" indicated by arrow H in FIG. By transferring 16 bytes of data at the third time and 2 bytes at the fourth time, extremely efficient data transfer up to the boundary area can be performed from the first to third times.

この結果を要約すれば、CCWのBCとメモリ
先頭アドレスの下位ビツトDA′を加算してNバ
イトバウンダリーを越えたときには、Nバイト
バウンダリーまでのデータ量DLは、DL=0−
DA′で表わされ、Nバイトバウンダリーを越え
ないときは、データ転送量DL′はDL′=BCとし
て決定することができる。
To summarize this result, when adding the BC of CCW and the lower bit DA' of the memory start address exceeds the N-byte boundary, the amount of data DL up to the N-byte boundary is DL = 0 -
When it is expressed as DA' and does not exceed the N-byte boundary, the data transfer amount DL' can be determined as DL'=BC.

(2) 主記憶装置に対してデータを格納する場合、 例えば、第1図において、チヤネル3には、
入出力装置4等から送出されたデータを一時的
に保持するためにデータバツフ3−1を具備し
ている。そして、このデータバツフア3−1に
一時的にセツトされたデータを主記憶装置1に
格納する場合でも、第2図に示すCCWでは、
その格納すべきデータ長をバイトカウントBC
および、格納すべき主記憶装置1の先頭アドレ
スDAが指示される。このとき、データバツフ
ア3−1の最終アドレスにデータセツトしたと
きに、該データバツフア3−1のデータセツト
が完了した場合には、主記憶装置1に格納する
場合には、Nバイトバウンダリーまでのデータ
量DLはDL=0−DAで表わされる。そしてこ
れは、上記(1)の場合と同様に第2演算部16で
演算され、その結果が切替回路10を経由して
出力される。しかしながら、データバツフア3
−1にデータセツトが完了したとき、その最終
的にセツトしたデータバツフア3−1のアドレ
スがBFAの場合には、Nバイトバウンダリー
までのデータ量DLはDL=0−DAで表わされ
るとともに、このNバイトバウンダリーまでの
データをデータバツフア3−1から読出したと
きの最終アドレスBFA0は、BFA0=BFA−
DAである。このようにしてまずNバイトバウ
ンダリーまでのデータを格納し、次いで上記(1)
と同様にNバイトづつデータを効率的に格納す
ることができる。
(2) When storing data in the main memory, for example, in Figure 1, channel 3 has
A data buffer 3-1 is provided to temporarily hold data sent from the input/output device 4 and the like. Even when the data temporarily set in the data buffer 3-1 is stored in the main storage device 1, the CCW shown in FIG.
Count the data length to be stored in bytes BC
Then, the starting address DA of the main storage device 1 to be stored is specified. At this time, when the data is set to the final address of the data buffer 3-1, if the data set of the data buffer 3-1 is completed, the data up to the N byte boundary is stored in the main storage device 1. The quantity DL is expressed as DL=0-DA. This is calculated by the second calculation section 16 as in the case (1) above, and the result is outputted via the switching circuit 10. However, data buffer 3
-1, and if the address of the finally set data buffer 3-1 is BFA, the amount of data DL up to the N-byte boundary is expressed as DL = 0 - DA, and this The final address BFA 0 when data up to the N-byte boundary is read from the data buffer 3-1 is BFA 0 = BFA-
It is DA. In this way, first store the data up to the N byte boundary, and then perform the above (1).
Similarly, data can be efficiently stored in N byte units.

そしてチヤネル3から主記憶装置1に対して
バイトカウントBCに規定したデータ長だけデ
ータ量を転送したか否かは、エンドアドレスレ
ジスタ8にセツトされたエンドアドレスと、第
3演算部17の演算結果がN以下になつたあと
のバツフアアドレスレジスタ12におけるデー
タバツフアアドレスを比較することにより判定
することができる。即ち、バイト長レジスタ6
にセツトされているバイトカウントBCの下位
ビツトBC′と、データアドレスレジスタ5にセ
ツトされている先頭アドレスDAの下位ビツト
DA′を第1演算部7により加算して得られたエ
ンドアドレス=BC′+DA′をエンドアドレスレ
ジスタ8にセツトし、これを第1比較器9によ
り、バツフアアドレスレジスタ12におけるデ
ータバツフア3−1に対するデータバツフアア
ドレスと比較する。この第1比較器9は、第3
演算部17の演算結果がN以下になつたとき、
これを表示する第2比較器18の出力信号によ
り動作状態となる。そしてこのときエンドアド
レスレジスタ8にセツトされた値と、+1カウ
ンタ11により順次更新されている。バツフア
アドレスレジスタ12におけるデータバツフア
アドレスとが一致したとき、第1比較器9はバ
ツフアエンド信号を発生し、規定量のデータ
が、データバツフア3−1から送出されて主記
憶装置1に格納されたことを報告する。このよ
うにして主記憶装置にデータを格納する場合も
効率よく行なうことができる。
Whether or not the amount of data has been transferred from the channel 3 to the main memory 1 by the data length specified by the byte count BC is determined by the end address set in the end address register 8 and the calculation result of the third calculation unit 17. This can be determined by comparing the data buffer addresses in the buffer address register 12 after the value becomes N or less. That is, byte length register 6
The lower bit BC' of the byte count BC set in the data address register 5 and the lower bit of the start address DA set in the data address register 5.
The end address = BC' + DA' obtained by adding DA' by the first arithmetic unit 7 is set in the end address register 8, and this is added to the data buffer 3-1 in the buffer address register 12 by the first comparator 9. Compare with the data buffer address for. This first comparator 9
When the calculation result of the calculation unit 17 becomes equal to or less than N,
The output signal of the second comparator 18 indicating this makes the operation state. At this time, the value set in the end address register 8 and the +1 counter 11 are sequentially updated. When the data buffer address in the buffer address register 12 matches, the first comparator 9 generates a buffer end signal, and a specified amount of data is sent out from the data buffer 3-1 and stored in the main memory 1. Report the matter. In this way, data can be stored efficiently in the main storage device.

以上説明の如く、本発明によれば、主記憶装置
にアクセスする場合、転送時に不必要なページク
ロスを発生しないようにデータレングスを決定す
ることが可能になるので、効率よくこれを行なう
ことができる。
As explained above, according to the present invention, when accessing the main storage device, it is possible to determine the data length so as not to generate unnecessary page crossing during transfer, so this can be done efficiently. can.

なお、上記の説明では主記憶装置とチヤネルと
の間のデータ転送について説明したが、勿論本発
明はこれのみに限定されるものではなく、例えば
主記憶装置と中央処理装置との間のデータ転送等
にも適当できるものである。
Note that although the above explanation has been about data transfer between the main storage device and the channel, the present invention is of course not limited to this only, and for example, data transfer between the main storage device and the central processing unit. It can also be applied to

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

第1図はデータ処理装置の概略図、第2図は
CCWの説明図、第3図は主記憶装置の説明図、
第4図は本発明の一実施例構成を示す。 図中、1は主記憶装置、2は中央処理装置、3
はチヤネル、4は入出力装置、5はデータアドレ
スレジスタ、6はバイト長レジスタ、7は第1演
算部、8はエンドアドレスレジスタ、9は第1比
較器、10は切替回路、11は+1カウンタ、1
2はバツフアアドレスレジスタ、13,14はゲ
ート回路、15は下位アドレスレジスタ、16は
第2演算部、17は第3演算部、18は第2比較
器、19は残存バイト長レジスタ、20はゲート
回路をそれぞれ示す。
Figure 1 is a schematic diagram of the data processing device, Figure 2 is a schematic diagram of the data processing device.
An explanatory diagram of CCW, Figure 3 is an explanatory diagram of the main storage device,
FIG. 4 shows the configuration of an embodiment of the present invention. In the figure, 1 is the main memory, 2 is the central processing unit, and 3
is a channel, 4 is an input/output device, 5 is a data address register, 6 is a byte length register, 7 is a first calculation unit, 8 is an end address register, 9 is a first comparator, 10 is a switching circuit, 11 is a +1 counter ,1
2 is a buffer address register, 13 and 14 are gate circuits, 15 is a lower address register, 16 is a second arithmetic unit, 17 is a third arithmetic unit, 18 is a second comparator, 19 is a remaining byte length register, and 20 is a Each gate circuit is shown.

Claims (1)

【特許請求の範囲】 1 データ送受部と、バウンダリーが設けられた
主記憶装置の間にデータをバウンダリーの領域毎
に転送するとき、1回に転送すべきデータ長を決
定するデータ長決定方式において、 転送されるデータ長に対するデータ長情報を保
持するデータ長保持手段と、主記憶装置にアクセ
スすべき先頭アドレスに関するアドレス情報を保
持する先頭アドレス情報保持手段と、上記アドレ
ス情報がバウンダリー領域における何番目に位置
するかにもとづき最初に転送すべきデータ量を演
算すると共に2回目以降の転送すべきデータ量を
バウンダリーの領域のデータ量とするデータ量演
算部と、残存量であるデータ長情報と転送された
データ量との差であるデータ量を演算する最終デ
ータ量演算部と、残存量がバウンダリーの領域内
の量か否かを判別する比較手段と、切替手段を具
備し、上記比較手段により残存量がバウンダリー
の領域より大きいとき上記データ量演算部から出
力されるデータ量を切替手段より出力し、領域内
のとき最終データ量演算部から出力されるデータ
量を切替手段より出力するように制御して、転送
すべき最適データ量を上記切替手段より出力し、
これにより連続的にデータ転送をするようにした
ことを特徴とする転送データ方式。
[Claims] 1. In a data length determination method that determines the data length to be transferred at one time when data is transferred for each boundary area between a data transmitting/receiving unit and a main storage device provided with a boundary. , a data length holding means for holding data length information regarding the data length to be transferred; a starting address information holding means for holding address information regarding the starting address to be accessed in the main storage device; a data amount calculation unit that calculates the amount of data to be transferred for the first time based on whether the area is located at the boundary, and sets the amount of data to be transferred from the second time onwards as the amount of data in the boundary area; and the data length information that is the remaining amount and the transfer. A final data amount calculation unit that calculates the difference between the remaining amount and the remaining amount of data, a comparison unit that determines whether the remaining amount is within the boundary area, and a switching unit. When the remaining amount is larger than the area of the boundary, the switching means outputs the amount of data output from the data amount calculation section, and when the remaining amount is within the area, the amount of data output from the final data amount calculation section is outputted from the switching means. control and output the optimum amount of data to be transferred from the switching means,
This data transfer method is characterized by continuous data transfer.
JP1892080A 1980-02-18 1980-02-18 Production system of transfer data quantity Granted JPS56116139A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1892080A JPS56116139A (en) 1980-02-18 1980-02-18 Production system of transfer data quantity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1892080A JPS56116139A (en) 1980-02-18 1980-02-18 Production system of transfer data quantity

Publications (2)

Publication Number Publication Date
JPS56116139A JPS56116139A (en) 1981-09-11
JPH0133848B2 true JPH0133848B2 (en) 1989-07-17

Family

ID=11985041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1892080A Granted JPS56116139A (en) 1980-02-18 1980-02-18 Production system of transfer data quantity

Country Status (1)

Country Link
JP (1) JPS56116139A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6292053A (en) * 1985-10-18 1987-04-27 Fujitsu Ltd Control system for transfer of direct memory access
JPH01233646A (en) * 1988-03-15 1989-09-19 Fujitsu Ltd Data transfer control system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50158239A (en) * 1974-06-10 1975-12-22
JPS5130441A (en) * 1974-09-09 1976-03-15 Hitachi Ltd
JPS5474640A (en) * 1977-11-28 1979-06-14 Hitachi Ltd Channel unit

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50158239A (en) * 1974-06-10 1975-12-22
JPS5130441A (en) * 1974-09-09 1976-03-15 Hitachi Ltd
JPS5474640A (en) * 1977-11-28 1979-06-14 Hitachi Ltd Channel unit

Also Published As

Publication number Publication date
JPS56116139A (en) 1981-09-11

Similar Documents

Publication Publication Date Title
US5146572A (en) Multiple data format interface
US4344130A (en) Apparatus to execute DMA transfer between computing devices using a block move instruction
EP0057096A2 (en) Information processing unit
JPH0133848B2 (en)
JPS6129024B2 (en)
JPS58150196A (en) System for updating and controlling main storage key
JP3190847B2 (en) Data transfer control device
JPH05165761A (en) Dma controller
JP2699482B2 (en) Data transfer control device
JPH0140432B2 (en)
JP2574821B2 (en) Direct memory access controller
JPS5936773B2 (en) Local burst transfer control method
JP2811728B2 (en) I / O controller
JPH03100751A (en) Input/output processor
JPS589273A (en) Data processing device
JPS6019023B2 (en) data processing equipment
JPH082756Y2 (en) Image processing device
JPS63245745A (en) Buffer storage controller
JPH0375906B2 (en)
JPS61117651A (en) Interface device
JPH02133854A (en) Dma controller capable of access to transfer enable/ unable memory
JPH11110364A (en) Method for transferring data between different types of cpu system equipment
JPH01158545A (en) Control system for memory
JPH0514293B2 (en)
JPH01307990A (en) Bubble memory device