JPS6058500B2 - Access control method - Google Patents

Access control method

Info

Publication number
JPS6058500B2
JPS6058500B2 JP13196280A JP13196280A JPS6058500B2 JP S6058500 B2 JPS6058500 B2 JP S6058500B2 JP 13196280 A JP13196280 A JP 13196280A JP 13196280 A JP13196280 A JP 13196280A JP S6058500 B2 JPS6058500 B2 JP S6058500B2
Authority
JP
Japan
Prior art keywords
data
vector
memory
elements
register
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
JP13196280A
Other languages
Japanese (ja)
Other versions
JPS5757369A (en
Inventor
彰二 中谷
宏 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP13196280A priority Critical patent/JPS6058500B2/en
Publication of JPS5757369A publication Critical patent/JPS5757369A/en
Publication of JPS6058500B2 publication Critical patent/JPS6058500B2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 本発明はアクセス制御方式に関し、特に複数のベクト
ルデータが格納されているメモリにアクセス回数を減少
して効率よくアクセスするようにしたベクトル処理装置
におけるアクセス制御方式に関するものである。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an access control method, and more particularly to an access control method for a vector processing device that efficiently accesses a memory storing a plurality of vector data by reducing the number of accesses. be.

ベクトル演算を行なう場合、第1図に示す如く、通常
はベクトル演算に必要なベクトルデータaO、al・・
・anは比較的アクセスの遅いメモリ1に格納されてい
る。
When performing vector calculations, as shown in Figure 1, vector data aO, al...
-an is stored in memory 1, which is relatively slow to access.

演算器がメモリから直接これらのベクトルデータを順次
読出して演算を行うとすればその演算速度が遅くなる。
それ故、高速にアクセスできるベクトルレジスタ2を設
け、このベクトルレジスタに上記ベクトルデータa。9
al、a2、・・・anをあらかじめ読出しておき、こ
のベクトルレジスタ2にセットされたベクトルデータa
O、a、、a2・・・ anを使用してベクトル演算が
行なわれている。
If the arithmetic unit sequentially reads these vector data directly from the memory and performs the calculation, the calculation speed will be slow.
Therefore, a vector register 2 that can be accessed at high speed is provided, and the vector data a is stored in this vector register. 9
al, a2, . . . an are read out in advance, and the vector data a set in this vector register 2 is
Vector operations are performed using O, a, , a2, . . . an.

この場合、第2図に示す如く、ベクトルレジスタ2お
よび演算器8等を具備するベクトル処理装置3、メモリ
制御装置4、中央処理装置5、メモリ1等でベクトル処
理システムを構成する。
In this case, as shown in FIG. 2, a vector processing system is constituted by a vector processing device 3 including a vector register 2, an arithmetic unit 8, etc., a memory control device 4, a central processing unit 5, a memory 1, etc.

ベクトル処理装置3には、上記の各部の外に命令制御部
7、アクセス制御部6等が設けられている。そしてメモ
リ1に格納されたベクトルデータa。、al・・・ a
nを読出すために、ベクトルデータ〜の格納されている
アドレスLAと、ベクトルデータa。、a、・・・an
の各データ間がどれだけ離れて格納されているかを示す
要素間距離Dおよび演算に必要なベクトルデータの数つ
まり要素数VLが命令制御部7で認識され、アクセス制
御部6に伝達される。これにもとずき、アクセス制御部
6はメモリ制御装置4を経由してメモリ1にアクセスを
行ない、かくして読出したベクトルデータa。、a、・
・・ anをベクトルレジスタ2にセットする。そして
これらのベクトルデータa。、a、・・・anにもとず
き演算器8で所望の演算を行なうことができる。しかる
にベクトル演算を行なう場合、要素間距離D=0のベク
トルデータを読出して演算を行なうような場合、つまり
上記例ではベクトルデータ%のみを一方のデータとして
ベクトル演算を行なうようなことがある。しかしながら
従来では、このような場合でも、必要とする要素数VL
の回数だけ、メモリ1に対してアクセスを行ない、同一
のベクトルデータもを読出し、これをベクトルレジスタ
2にセットする必要がある。したがつて本発明では上記
のように要素間距離がOのベクトルデータを読出す場合
、最初だけメモリをアクセスしてそのベクトルデータを
読出し、あとはメモリにアクセスすることなくこの読出
したベクトルデータを必要とする要素数だけベクトルレ
ジスタにセットするようにしたアクセス制御方式を提供
することを目的とするものであつて、このために本発明
におけるアクセス制御方式では、メモリに格納されたベ
クトル・データを要素間距離Dと先頭エレメントのアド
レスLAと要素数VLとにより、順次エレメントのアド
レスを計算しつつ順次ベクトルデータをアクセスするベ
クトル処理装置において、要素間距離D=0を検出する
手段およびベクトルデータ保持手段を設け、データのロ
ードにおいて、要素間距離D=0を検出した場合は、最
初のアクセスによるデータを少なくともVLで示される
要素数分、前記ベクトルデータ保持手段により保持し、
メモリをアクセスすることなく、該ベクトルデータ保持
手段からデータを供給することを特徴とする。
The vector processing device 3 is provided with an instruction control section 7, an access control section 6, etc. in addition to the above-mentioned sections. And vector data a stored in memory 1. , al... a
In order to read n, address LA where vector data ~ is stored and vector data a. ,a,...an
The inter-element distance D indicating how far apart each piece of data is stored and the number of vector data required for the calculation, that is, the number of elements VL, are recognized by the instruction control unit 7 and transmitted to the access control unit 6. Based on this, the access control section 6 accesses the memory 1 via the memory control device 4, and reads out the vector data a. ,a,・
... Set an to vector register 2. And these vector data a. , a, . . . an, the arithmetic unit 8 can perform desired calculations. However, when performing a vector operation, there are cases where vector data with an inter-element distance D=0 is read and the operation is performed, that is, in the above example, the vector operation is performed using only the vector data % as one of the data. However, conventionally, even in such a case, the required number of elements VL
It is necessary to access the memory 1 a number of times, read out the same vector data, and set it in the vector register 2. Therefore, in the present invention, when reading vector data with an inter-element distance of O as described above, the memory is first accessed to read the vector data, and then the read vector data is read without accessing the memory. The purpose of the present invention is to provide an access control method that sets the required number of elements in a vector register. Means for detecting inter-element distance D=0 and vector data storage in a vector processing device that sequentially accesses vector data while sequentially calculating addresses of elements based on inter-element distance D, address LA of the first element, and number of elements VL means is provided, and when an inter-element distance D=0 is detected during data loading, the vector data holding means holds at least as much data as the number of elements indicated by VL at the first access;
The present invention is characterized in that data is supplied from the vector data holding means without accessing the memory.

以下本発明の一実施例を第3図および第4図にもとづ゛
き説明する。
An embodiment of the present invention will be described below with reference to FIGS. 3 and 4.

第3図は本発明の一実施例構成であつてアクセス制御部
内に設けられるものであり、第4図はその動作状態を説
明するタイムチャートである。
FIG. 3 shows the configuration of an embodiment of the present invention, which is provided in the access control section, and FIG. 4 is a time chart illustrating its operating state.

図中、9は論理アドレスレジスタ、10はディスタンス
レジスタ、11はアドレス演算部、12はアドレス変換
部、13はアドレス出力レジスタ、14は0検出回路、
15はリクエスト発生回路、16はデータ受付制御部、
17はデータ受付・部、18はデータ送出レジスタであ
る。論理アドレスレジスタ9は、メモI川に格納された
例えばベクトルデータもの論理アドレスがセットされる
レジスタである。
In the figure, 9 is a logical address register, 10 is a distance register, 11 is an address calculation section, 12 is an address conversion section, 13 is an address output register, 14 is a 0 detection circuit,
15 is a request generation circuit, 16 is a data reception control unit,
17 is a data reception section, and 18 is a data transmission register. The logical address register 9 is a register in which the logical address of, for example, vector data stored in the memo I river is set.

ディスタンスレジスタ10は要素間距離がセットされる
レジスタである。アドレス演算部11は、論理アドレス
レジスタ9にセットされた論理アドレスとディスタンス
レジスタ10にセットされた要素間距離にもとづきベク
トルデータの論理アドレスを演算する回路である。アド
レス変換部12は論理アドレスからメモリの実アドレス
へ変換するものであり、例えば、あらかじめ作られた変
換テーブルにより高速にアトlレス変換される。
The distance register 10 is a register in which the distance between elements is set. The address calculation unit 11 is a circuit that calculates a logical address of vector data based on the logical address set in the logical address register 9 and the inter-element distance set in the distance register 10. The address conversion unit 12 converts logical addresses into real addresses in memory, and performs address conversion at high speed using, for example, a conversion table created in advance.

0検出回路14は要素間距離Dが0であることを検出す
るものである。
The 0 detection circuit 14 detects that the inter-element distance D is 0.

リクエスト発生回路15はメモリ制御装置4に対するア
クセス要求信号を発生するものであり、通常要素間距離
が0でない場合には、連続的にこのアクセス要求信号を
発生する。要素間距離が0の場合は最初のデータものア
クセス要求信号のみ発生する。データ受付制御部16は
要素間距離が0の場合にメモリ制御装置4からデータ受
付部17に送出された1個のベクトルデータを、要素数
だけベクトルレジスタ2に送出するように制御するもの
である。いま、ベクトル演算を実行するため、命令制御
部7においてベクトル命令を認識したとする。
The request generation circuit 15 generates an access request signal to the memory control device 4, and normally generates this access request signal continuously when the distance between elements is not 0. If the inter-element distance is 0, only the first data access request signal is generated. The data reception control unit 16 controls so that one piece of vector data sent from the memory control device 4 to the data reception unit 17 when the distance between elements is 0 is sent to the vector register 2 by the number of elements. . Now, assume that the instruction control unit 7 recognizes a vector instruction in order to execute a vector operation.

命令制御部7は、第4図のサイクルタイムT。において
、起動信号、論理アドレス(LA)、要素間距離Dおよ
び要素数VLをアクセス制御部に伝達する。このとき、
論理アドレスLAおよび要素間距離Dはそれぞれ論理ア
ドレスレジスタ9およびディスタンスレジスタ10にセ
ットされる。そしてサイクルタイムT1においてこれら
にもとづきアドレス演算部11は第二番目のデータのア
ドレス演算を行なつて、その演算の結果得られた論理ア
ドレスLA2″を論理アドレスレジスタ9にセットする
。またサイクルタイムT1においては、第一番目のデー
タの論理アドレスが論理アドレスレジスタ9にセットさ
れている。そして論理アドレスレジスタにセットされて
いるアドレスLAl″にもとづきアドレス変換部12に
より得られたメモリの実アドレスPAlをアドレス出力
レジスタ13にセットし、これによりメモリから必要と
するベクトルデータを読出す。しかしながら上記要素間
距離Dが0の場合には、サイクルタイムT1にて0検出
回路14によりこれが検出され、リクエスト発生回路1
5に対してアクセスすべきベクトルデータは要素間距離
が0であること、つまり同一のベクトルデータであるこ
とが報告される。
The instruction control unit 7 has a cycle time T shown in FIG. , the activation signal, logical address (LA), inter-element distance D, and number of elements VL are transmitted to the access control unit. At this time,
Logical address LA and inter-element distance D are set in logical address register 9 and distance register 10, respectively. Then, at cycle time T1, the address calculation unit 11 performs address calculation of the second data based on these, and sets the logical address LA2'' obtained as a result of the calculation in the logical address register 9. Also, at cycle time T1 In , the logical address of the first data is set in the logical address register 9. Then, the real address PAl of the memory obtained by the address converter 12 is calculated based on the address LA1'' set in the logical address register. The address output register 13 is set to read the required vector data from the memory. However, if the inter-element distance D is 0, this is detected by the 0 detection circuit 14 at cycle time T1, and the request generation circuit 1
It is reported that the inter-element distance of the vector data to be accessed for No. 5 is 0, that is, they are the same vector data.

リクエスト発生回路15には、サイクルタイムT1にて
起動信号および要素数が伝達されており、この要素数が
リクエスト発生回路15に一時的に保持される。そして
サイクルタイムT2にてアドレス変換部12からメモl
川に対する実アドレスPAlが出力されてアドレス出力
レジスタ13にセットされ、これがメモリ制御装置4に
送出されるときに同時にリクエスト発生回路15からメ
モリ制御装置4にアクセス要求信号RQが伝達される。
このとき、要素間距離が0のため、アクセス要求信号R
Qは一回のみ発生する。そして上記アクセス要求にもと
ずきメモリ1から読出されたベクトルデータは、例えば
サイクルタイムT8において、メモリ制御装置4からデ
ータ送出信号とともにアクセス制御部に送出される。
The activation signal and the number of elements are transmitted to the request generation circuit 15 at cycle time T1, and this number of elements is temporarily held in the request generation circuit 15. Then, at cycle time T2, the address converter 12 sends the memory l.
The real address PAl for the river is output and set in the address output register 13, and when this is sent to the memory control device 4, an access request signal RQ is simultaneously transmitted from the request generation circuit 15 to the memory control device 4.
At this time, since the distance between elements is 0, the access request signal R
Q occurs only once. Then, the vector data read from the memory 1 based on the access request is sent from the memory control device 4 to the access control unit together with a data sending signal at cycle time T8, for example.

このとき、該ベクトルデータはデータ受付部17に伝達
されてこれに一時保持され、データ送出信号はデータ受
付制御部16に伝達されることになる。そしてサイクル
タイムT9で上記ベクトルデータはデータ受付部17で
保持されたままデータ送出レジスタ18に伝達される。
このときデータ受付制御部16にはベクトルレジスタに
セットすべき要素数を要素間距離がOであることが伝達
されているので、データ受付部17に保持されたベクト
ルデータを、サイクルタイムT9以降、要素数と等しい
回数だけデータ送出レジスタ18に伝達するような制御
が行なわれるので、サイクルタイムT,O以降に同一の
ベクトルデータがベクトルレジスタに対し必要とする要
素数だけ伝達されて、これに格納されることになる。し
たがつて本発明によれば、要素間距離Dが0p場合、つ
まりベクトルレジスタにセットされるベクトルデータが
同一データの場合には、アクセス要求は1回だけ行なつ
てベクトルデータを読出し、そのベクトルデータをベク
トル処理装置内で必要とする要素数だけベクトルレジス
タにセットするようにしたので、余分のアクセス要求を
メモリに対して行なわずにすむことになる。
At this time, the vector data is transmitted to the data reception section 17 and temporarily held therein, and the data sending signal is transmitted to the data reception control section 16. Then, at cycle time T9, the vector data is transmitted to the data sending register 18 while being held in the data receiving section 17.
At this time, the data reception control unit 16 is informed that the number of elements to be set in the vector register is O, so the vector data held in the data reception unit 17 is transferred from cycle time T9 onwards. Since control is performed to transmit the data to the data sending register 18 a number of times equal to the number of elements, after cycle time T, O, the same vector data is transmitted to the vector register by the required number of elements, and is stored in this. will be done. Therefore, according to the present invention, when the inter-element distance D is 0p, that is, when the vector data set in the vector registers are the same data, an access request is made only once, the vector data is read, and the vector Since data is set in the vector register by the number of elements required within the vector processing device, there is no need to make extra access requests to the memory.

その結果従来のように要素間距離が0の場合、つまり同
一のベクトルデータを読出す場合でも必要とする要素数
と同一回数だけメモリの同アドレスに対してアクセス要
求を行なわなければならなかつたものに比較して、アク
セス要求数が大幅に減少するとともにメモリの同一アド
レスにアクセスしないためデータ処理速度を速くするこ
とができる。また他装置からのアクセス要求に対するメ
モリビジイ率を低減させることができる。なお、上記説
明ではベクトルレジスタを用いて説明したが、これにと
られれるものではなく、データのアクセスにあたつて、
要素間距離Dによつてデータをアクセスし、演算器に順
次直接供給する構成になつていても同様である。
As a result, unlike in the past, when the distance between elements is 0, that is, even when reading the same vector data, access requests must be made to the same address in memory the same number of times as the number of elements required. Compared to the above, the number of access requests is greatly reduced, and the data processing speed can be increased because the same memory address is not accessed. Furthermore, it is possible to reduce the memory busy rate in response to access requests from other devices. Note that although the above explanation uses vector registers, this is not to be taken into consideration; when accessing data,
The same applies even if the data is accessed based on the inter-element distance D and is sequentially directly supplied to the arithmetic unit.

次にデータのストアについて考えてみると、要素間距離
D=0の場合は、要素数■Lのデータを同じ番地へスト
アするということであり、従つて一番最後のエレメント
についてのみメモリをアクセスし、ストアを実行すれば
よい。
Next, thinking about data storage, if the inter-element distance D = 0, it means that data with the number of elements L is stored at the same address, and therefore memory is accessed only for the last element. and then execute the store.

ロードの場合の第3図と同様の構成が考えられ、リクエ
スト発生回路15では、メモリへのアクセスが出ること
なく、要素数分の制御が行なわれる。
A configuration similar to that shown in FIG. 3 for loading can be considered, and the request generating circuit 15 performs control for the number of elements without accessing the memory.

アドレスは要素間距離D=0なので変わらない。最後の
エレメントのときにのみアクセス要求が1回でる。スト
アデータはデータ受付部17に対応するデータ送出部(
図示せず)により最後のエレメントのデータがMCUへ
送出される。以上説明した様に、本発明によりアクセス
系の処理能力が向上する。
The address does not change because the distance between elements D=0. One access request is issued only for the last element. The store data is stored in the data sending unit (
(not shown) sends the data of the last element to the MCU. As explained above, the present invention improves the processing capacity of the access system.

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

第1図はメモリに格納されたベクトルデータお”よびこ
のベクトルデータがベクトルレジスタにセットされたと
きの説明図、第2図はベクトル演算装置の説明図、第3
図は本発明の一実施例構成図、第4図はその動作説明図
てある。 図中、1はメモリ、2はベクトルレジスタ、3はベクト
ル処理装置、4はメモリ制御装置、5は中央処理装置、
6はアクセス制御部、7は命令制御部、8は演算器、9
は論理アドレスレジスタ、10はディスタンスレジスタ
、11はアドレス演算部、12はアドレス変換部、13
はアドレス出・力レジスタ、14はO検出回路、15は
リクエスト発生回路、16はデータ受付制御部、17は
データ受付部、18はデータ送出レジスタをそれぞれ示
す。
Fig. 1 is an explanatory diagram of vector data stored in memory and when this vector data is set in a vector register, Fig. 2 is an explanatory diagram of a vector calculation device, and Fig. 3 is an explanatory diagram of vector data stored in memory and when this vector data is set in a vector register.
The figure is a block diagram of one embodiment of the present invention, and FIG. 4 is a diagram explaining its operation. In the figure, 1 is a memory, 2 is a vector register, 3 is a vector processing device, 4 is a memory control device, 5 is a central processing unit,
6 is an access control unit, 7 is an instruction control unit, 8 is an arithmetic unit, 9
is a logical address register, 10 is a distance register, 11 is an address calculation section, 12 is an address translation section, 13
14 is an address output/output register, 14 is an O detection circuit, 15 is a request generation circuit, 16 is a data reception control section, 17 is a data reception section, and 18 is a data transmission register.

Claims (1)

【特許請求の範囲】 1 メモリに格納されたベクトル・データを要素間距離
Dと先頭エレメントのアドレスLAと要素数VLとによ
り、順次エレメントのアドレスを計算しつつ順次ベクト
ルデータをアクセスするベクトル処理装置において、要
素間距離D=0を検出する手段およびベクトルデータ保
持手段を設け、データのロードにおいて、要素間距離D
=0を検出した場合は、最初のアクセスによるデータを
少なくともVLで示される要素数分、前記ベクトルデー
タ保持手段により保持し、メモリをアクセスすることな
く、該ベクトルデータ保持手段からデータを供給するこ
とを特徴とするアクセス制御方式。 2 データのストアにおいて、要素間距離D=0を検出
した場合はメモリをアクセスすることなく要素数の制御
のみを実行し、要素数VLに相当する最後のエレメント
についてのみメモリをアクセスすることを特徴とする特
許請求の範囲第1項記載のアクセス制御方式。
[Claims] 1. A vector processing device that sequentially accesses vector data while sequentially calculating the addresses of elements using the inter-element distance D, the address LA of the first element, and the number of elements VL for vector data stored in a memory. , a means for detecting the inter-element distance D=0 and a vector data holding means are provided, and when loading data, the inter-element distance D=0 is provided.
If =0 is detected, the vector data holding means holds at least the number of elements indicated by VL of the data resulting from the first access, and the data is supplied from the vector data holding means without accessing the memory. An access control method characterized by: 2. When storing data, if an inter-element distance D=0 is detected, only the number of elements is controlled without accessing the memory, and the memory is accessed only for the last element corresponding to the number of elements VL. An access control method according to claim 1.
JP13196280A 1980-09-22 1980-09-22 Access control method Expired JPS6058500B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13196280A JPS6058500B2 (en) 1980-09-22 1980-09-22 Access control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13196280A JPS6058500B2 (en) 1980-09-22 1980-09-22 Access control method

Publications (2)

Publication Number Publication Date
JPS5757369A JPS5757369A (en) 1982-04-06
JPS6058500B2 true JPS6058500B2 (en) 1985-12-20

Family

ID=15070284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13196280A Expired JPS6058500B2 (en) 1980-09-22 1980-09-22 Access control method

Country Status (1)

Country Link
JP (1) JPS6058500B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59111569A (en) * 1982-12-17 1984-06-27 Hitachi Ltd Vector processing device
JPS62115571A (en) * 1985-11-15 1987-05-27 Fujitsu Ltd Vector access control system

Also Published As

Publication number Publication date
JPS5757369A (en) 1982-04-06

Similar Documents

Publication Publication Date Title
JPS62120574A (en) Vector processor
JPS6058500B2 (en) Access control method
JPS6218063B2 (en)
JPS59173828A (en) Data processing system
JP2550964B2 (en) Memory access control method
JPH0373039A (en) Processor and multiprocessor system
JP2594567B2 (en) Memory access control device
JPS6041766B2 (en) microprogram controller
JP2567833B2 (en) Interrupt detection method
JPS60132254A (en) Data processor
JPH01315858A (en) Data transfer control method and device
JPH0588983A (en) Method for dynamic address conversion of channel equipment
JP2838421B2 (en) Data transfer device
JPS62206632A (en) Control system for main storage device
JPS63103342A (en) Main memory controller
JPS5836380B2 (en) Direct memory access method in multiprocessor systems
JPH05120205A (en) Processor system with address conversion device for dma transfer and dma transfer method
JPS60215281A (en) Vector data processor
JPS6116115B2 (en)
JPS6218065B2 (en)
JPS6326744A (en) Memory bank switching circuit for microprocessor
JPS6218064B2 (en)
JPH07319753A (en) Multiplex system for bus cycle
JPH04326141A (en) High-speed memory access circuit
JPS63231669A (en) Transmission system for data