JP2944108B2 - Access device - Google Patents

Access device

Info

Publication number
JP2944108B2
JP2944108B2 JP18137689A JP18137689A JP2944108B2 JP 2944108 B2 JP2944108 B2 JP 2944108B2 JP 18137689 A JP18137689 A JP 18137689A JP 18137689 A JP18137689 A JP 18137689A JP 2944108 B2 JP2944108 B2 JP 2944108B2
Authority
JP
Japan
Prior art keywords
address
vector
access
unit
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP18137689A
Other languages
Japanese (ja)
Other versions
JPH0346067A (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 JP18137689A priority Critical patent/JP2944108B2/en
Publication of JPH0346067A publication Critical patent/JPH0346067A/en
Application granted granted Critical
Publication of JP2944108B2 publication Critical patent/JP2944108B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 〔概 要〕 複数のエレメントからなる命令を発行する命令制御部
からの命令を受けてアドレスを発生し、記憶装置に対す
るアクセスを行うアクセス装置に関し、 記憶装置のアクセス効率を上げることを目的とし、 複数のエレメントからなる命令を発行する命令制御部
からの命令を受けてアドレスを発生し、記憶装置に対す
るアクセスを行うアクセス装置において、 自系に対応したアドレスまたは他系に対応したアドレ
スを発生する複数のアドレス発生部と、前記複数のアド
レス発生部により自系に対応したエレメントのアドレス
と他系に対応したエレメントのアドレスとを発生させる
場合には、1つの命令についての複数のエレメントを前
記複数のアドレス発生部のそれぞれに供給し、他系に対
応したエレメントのアドレスの発生に代えて全て自系に
対応したエレメントのアドレスを発生させる場合には、
複数の命令についての複数のエレメントを前記複数のア
ドレス発生部のそれぞれに供給する切替手段とを備えて
構成する。
DETAILED DESCRIPTION OF THE INVENTION [Summary] The present invention relates to an access device that generates an address in response to an instruction from an instruction control unit that issues an instruction including a plurality of elements and accesses a storage device. In order to raise the address, an access device that generates an address in response to an instruction from the instruction control unit that issues an instruction composed of multiple elements and accesses the storage device corresponds to the address corresponding to its own system or another system A plurality of address generators for generating an address corresponding to one instruction and a plurality of address generators for generating an address of an element corresponding to the own system and an address of an element corresponding to the other system by the plurality of address generators. Is supplied to each of the plurality of address generators, and the address of the element corresponding to the other system is supplied. When generating the addresses for all elements corresponding to the self-system is in place less of occurrence,
Switching means for supplying a plurality of elements for a plurality of instructions to each of the plurality of address generation units.

〔産業上の利用分野〕[Industrial applications]

本発明は、ベクトル処理システムにおいて複数のエレ
メントからなる命令を発行する命令制御部からの命令を
受けてアドレスを発生し、記憶装置に対するアクセスを
行うアクセス装置に関する。
The present invention relates to an access device that generates an address in response to an instruction from an instruction control unit that issues an instruction including a plurality of elements in a vector processing system, and accesses a storage device.

〔従来の技術〕[Conventional technology]

一般にパイプライン型のベクトル計算機では、パイプ
ラインの数を多くすることにより、つまり同時に演算実
行できる要素(エレメント)の数を多くすることによっ
て高速化が図られている。
Generally, in a pipeline-type vector computer, the speed is increased by increasing the number of pipelines, that is, by increasing the number of elements that can execute operations simultaneously.

また、主記憶装置では、インタリーブの数を多くすれ
ばするほど並列にメモリアクセスすることが可能となる
ため、高速化を図ることができる。
Further, in the main storage device, the memory can be accessed in parallel as the number of interleaves increases, so that the speed can be increased.

ところでメモリアクセス制御では、メモリの使用状態
のチェックや同一バンクへのアクセスの競合あるいは他
のアクセス装置例えばスカラユニットまたはチャネル
(I/O処理装置)等とのアクセスの競合があることから
優先順位制御が必要である。
By the way, in the memory access control, priority control is performed because there is a contention check of a memory use condition and a contention for access to the same bank or a contention for access to another access device such as a scalar unit or a channel (I / O processing device). is necessary.

しかしながら、並列処理可能なエレメント数を大きく
することによって、あるいはインタリーブを多くするこ
とによって、メモリ使用状態のチェック及び優先順位制
御が複雑になると共に論理段数が大きくなるため、シス
テムのクロック周期の長さが増大し、高速化を阻害する
原因となる。
However, by increasing the number of elements that can be processed in parallel or by increasing the interleaving, the checking of the memory use state and the priority control become complicated, and the number of logic stages becomes large. Increases, which hinders speeding up.

第4図に従来のベクトル処理システムの一例の構成を
示す。
FIG. 4 shows an example of the configuration of a conventional vector processing system.

第4図において、411,413は主記憶装置(MSU)を、42
1はベクトル命令制御部を、431は0系のベクトルユニッ
トを、441は1系のベクトルユニットを、433,443はベク
トルアドレス発生部を、435,445は主記憶アクセス処理
部を、437,447はベクトルアクセス処理部を、439,449は
ベクトルレジスタ(VR)をそれぞれ示している。尚、そ
の他各ブロック内に示されている要素については、以下
の機能説明の中で必要に応じて触れるものとする。
In FIG. 4, reference numerals 411 and 413 denote main storage units (MSU),
1 is a vector instruction control unit, 431 is a 0-system vector unit, 441 is a 1-system vector unit, 433 and 443 are vector address generation units, 435 and 445 are main memory access processing units, and 437 and 447 are vector access processing units. , 439 and 449 indicate vector registers (VR), respectively. Other elements shown in each block will be referred to as needed in the following description of functions.

主記憶装置411,413は、それぞれ2つずつのメモリユ
ニット(MU−0,MU−1),(MU−2,MU−3)を含み、各
系のベクトルユニット431,441により並列にアクセス可
能な状態にある。
The main storage devices 411 and 413 each include two memory units (MU-0, MU-1) and (MU-2, MU-3), and are in a state where they can be accessed in parallel by the vector units 431 and 441 of each system. .

ここでメモリアクセスは同時に4エレメントまで可能
であり、この場合0系のベクトルユニット431では、エ
レメント番号4n,4n+1(n=0,1…)のエレメントを処
理対象とし、1系のベクトルユニット441では4n+2,4n
+3のエレメントを処理対象としている。
Here, up to four elements can be accessed at the same time. In this case, the 0-system vector unit 431 processes the elements of element numbers 4n, 4n + 1 (n = 0, 1,...) And the 1-system vector unit 441. 4n + 2,4n
The element of +3 is to be processed.

ベクトル命令制御部421からは、ベクトルアクセス命
令の実行時にそれぞれの系のベクトルアドレス発生部43
3,443,ベクトルアクセス処理部437,447に対して、起動
信号,オペコード(OPC),先頭アドレス(LA),ディ
スタンス(D),ベクトル長(L)等の制御情報を送出
する。以下の説明は、ベクトルデータのロードの場合に
ついてのものである。
From the vector instruction control unit 421, the vector address generation unit 43 of each system is
3,443, and control information such as an activation signal, an operation code (OPC), a start address (LA), a distance (D), and a vector length (L) are transmitted to the vector access processing units 437 and 447. The following description is for the case of loading vector data.

0系のベクトルアドレス発生部433では、0エレメン
ト,1エレメント(4n+0,4n+1エレメント)の各エレメ
ントに対するベクトルアドレスの発生を行う。発生した
これらのアドレスは、それぞれのレジスタRQA,RQBに設
定され、主記憶アクセス制御部435のレジスタRQRA,RQRB
にアクセス要求として転送される。
The 0-system vector address generator 433 generates a vector address for each of the 0 element and 1 element (4n + 0, 4n + 1 elements). These generated addresses are set in the respective registers RQA and RQB, and the registers RQRA and RQRB of the main memory access control unit 435 are set.
Is transferred as an access request.

主記憶アクセス制御部435内の優先制御回路は、ディ
スタンス(D)の大きさによってはレジスタRQRAもしく
はRQRBのベクトルアドレスが同一メモリユニットまたは
同一の主記憶装置を指示している可能性があるため、優
先制御により何れのアクセスを主記憶装置に出力するか
を決める。
The priority control circuit in the main memory access control unit 435 may determine that the vector address of the register RQRA or RQRB indicates the same memory unit or the same main storage device depending on the size of the distance (D). Which access is output to the main storage device is determined by priority control.

ここでレジスタRQRAとRQRBのベクトルアドレスがそれ
ぞれ別の主記憶装置を指示しているようなアクセスであ
れば、RQRAとRQRBのベクトルアドレスにより同時にメモ
リアクセスを行うことができ、それぞれレジスタMSA,MS
Bを介して主記憶装置411及び413に送出される。
Here, if access is such that the vector addresses of the registers RQRA and RQRB point to different main storage devices, memory access can be performed simultaneously by the vector addresses of RQRA and RQRB.
It is sent to the main storage devices 411 and 413 via B.

このように優先制御回路で受け付けられたアクセス要
求は主記憶装置411,413に送られ、起動が行われるが、
例えば主記憶装置411側にしてみれば、ある1つのメモ
リユニットに対して0系と1系からのアクセス要求を同
時に受け付けることはできない。
Thus, the access request accepted by the priority control circuit is sent to the main storage devices 411 and 413, and activation is performed.
For example, on the main storage device 411 side, it is impossible to simultaneously receive access requests from the 0-system and the 1-system for a certain memory unit.

従って、各系の主記憶アクセス制御部435,445側で
は、それぞれある規定されたタイミングでしかアクセス
要求が出せないようになっていた。また、0系と1系と
が独立にアクセスを行っているので、それぞれの系間で
エレメントの順序の保証を行うために他系の優先制御回
路の状態を認識して自系の優先制御回路の制御を行うた
め、複雑な制御を行っている。
Therefore, the main memory access control units 435 and 445 of each system can issue an access request only at a certain prescribed timing. Also, since the 0-system and the 1-system access independently, the priority control circuit of the own system is recognized by recognizing the state of the priority control circuit of the other system in order to guarantee the order of the elements between the respective systems. , Complicated control is performed.

第5図に、0系と1系のベクトルユニット431,441に
それぞれ規定されたアクセス許可タイミングの例を示
す。図示のように、0系と1系とはメモリユニットMU−
0ないしMU−3について、MU−0とMU−2,MU−1とMU−
3をそれぞれ対にして、互いに重ならないように交互に
アクセス許可タイミングを割り付けている。
FIG. 5 shows an example of the access permission timing defined in the vector units 431 and 441 of the 0-system and the 1-system, respectively. As shown in the figure, the system 0 and the system 1 are connected to the memory unit MU-
MU-0 and MU-2, MU-1 and MU-
The access permission timings are assigned alternately so that they do not overlap with each other.

主記憶装置411,413から読み出されたベクトルデータ
は、それぞれエレメントごとにアクセス元の0系あるい
は1系のベクトルユニット431,441のベクトルアクセス
処理部437,447へ送られ、ある同一時刻の要求に対する
読み出しエレメントがそろった段階でベクトルレジスタ
439,449に格納される。
The vector data read from the main storage devices 411 and 413 are sent to the vector access processing units 437 and 447 of the access-source 0-system or 1-system vector units 431 and 441 for each element, and read elements for requests at the same time are prepared. Vector register in stages
Stored in 439,449.

ベクトルアクセス処理部437,447は、ベクトルデータ
のアクセスにおいてベクトル長(L)の分だけのデータ
が転送終了すると、ベクトル命令制御部421に終了信号
を返す。
The vector access processing units 437 and 447 return an end signal to the vector instruction control unit 421 when the transfer of the data corresponding to the vector length (L) is completed in the vector data access.

〔発明が解決しようとする課題〕[Problems to be solved by the invention]

複数系のベクトルユニットが独立に複数個の主記憶装
置に対してアクセス制御を行うことができる従来のベク
トル処理システムでは、各系のベクトルユニットからの
アクセス要求が1つのメモリユニットに対して同時に発
生しないように、各系からのアクセスを許可するタイミ
ングをずらすように規定していたため、見かけ上のアク
セス時間が長くなるという欠点があった。またエレメン
トの順序性を保証するために他系の優先制御回路との間
で順序制御するための複雑な制御が必要とされるという
欠点があった。
In a conventional vector processing system in which a plurality of vector units can independently control access to a plurality of main storage devices, an access request from each system vector unit is generated simultaneously for one memory unit. In order to avoid this, there is a problem that the timing of permitting access from each system is shifted so that the apparent access time becomes longer. Further, there is a drawback that complicated control for controlling the order with another system priority control circuit is required to guarantee the order of the elements.

これらの欠点を解消するために、本出願人は既に特願
昭63−280997号「ベクトル処理システム」を提案してい
る。このベクトル処理システムによれば、各系のベクト
ルユニットは、それぞれ全ての主記憶装置のバンク(メ
モリユニット)状態を管理し、他系のベクトルユニット
のアクセス要求も含めてアクセスチェックを行っている
ため、自系のアクセスアドレスを含むバンクが空きであ
ることを検出したタイミングで常時アクセス要求を発信
することができ、上述した従来システムのように各系が
それぞれ重複しないように割り当てられている期間にし
かアクセスできなかったのにくらべて、アクセス処理時
間を大幅に短縮するたとができる。
In order to solve these disadvantages, the present applicant has already proposed Japanese Patent Application No. 63-280997, "Vector Processing System". According to this vector processing system, the vector units of each system manage the state of the banks (memory units) of all the main storage devices, and perform access checks including access requests of vector units of other systems. An access request can always be transmitted at the timing when it is detected that the bank containing the access address of the own system is vacant, and during the period in which each system is allocated so as not to overlap each other as in the conventional system described above. The access processing time can be greatly reduced as compared with the case where only access was possible.

このベクトル処理システムの概略構成を第6図に示
す。尚、説明に直接関係しないベクトルアクセス処理
部,ベクトルレジスタ等は省略した。
FIG. 6 shows a schematic configuration of this vector processing system. Note that a vector access processing unit, a vector register, and the like that are not directly related to the description are omitted.

図において、0系のベクトルユニット611内のベクト
ルアドレス発生部621は、0系のベクトルユニット611か
ら主記憶装置691,693へのアクセスに関するアドレスを
算出する2つのアドレス演算部(AD)631,633と、1系
のベクトルユニット651から主記憶装置691,693へのアク
セスに関するアドレスを算出する2つのアドレス演算部
635,637とを備えている。
In the figure, a vector address generation unit 621 in a 0-system vector unit 611 includes two address calculation units (AD) 631 and 633 for calculating addresses relating to accesses from the 0-system vector unit 611 to the main storage devices 691 and 693, and a 1-system Address calculators for calculating addresses related to accesses from the vector unit 651 to the main storage devices 691 and 693
635,637.

同様に、1系のベクトルユニット651内のベクトルア
ドレス発生部661は、0系に対応したアドレス算出を行
う2つのアドレス演算部671,673と、1系に対応したア
ドレス算出を行う2つのアドレス演算部675,677とを備
えている。
Similarly, a vector address generator 661 in the vector unit 651 of the first system includes two address calculators 671 and 673 for calculating an address corresponding to the system 0 and two address calculators 675 and 677 for calculating an address corresponding to the first system. And

0系のベクトルアドレス発生部621内の1系に対応し
た2つのアドレス演算部635,637は、1系のベクトルア
ドレス発生部661内の1系自身に対応した2つのアドレ
ス演算部675,677と同期して動作しており、同一の演算
結果(アドレス)を得ることができる。
The two address operation units 635 and 637 corresponding to the first system in the 0-system vector address generation unit 621 operate in synchronization with the two address operation units 675 and 677 corresponding to the first system in the 1-system vector address generation unit 661. Thus, the same operation result (address) can be obtained.

従って、0系の主記憶アクセス制御部641内の優先制
御回路643は、0系のベクトルアドレス発生部621内の4
つのアドレス演算部631〜637から出力されるアドレスの
みによって、2つの主記憶装置691,693の優先制御を行
うことが可能になり、第5図に示したようなタイミング
をずらす工夫は不要となる。このとき、1系に対応した
アドレス演算部635,637から出力されるアドレスは、単
に優先制御に使用され、実際のアクセスには使用されな
い。1系のベクトルユニット651における優先制御も同
様である。
Accordingly, the priority control circuit 643 in the 0-system main memory access control unit 641
The priority control of the two main storage devices 691 and 693 can be performed only by the addresses output from the two address calculation units 631 to 637, and the device for shifting the timing as shown in FIG. 5 is not required. At this time, the addresses output from the address calculation units 635 and 637 corresponding to the first system are simply used for priority control and are not used for actual access. The same applies to the priority control in the vector unit 651 of the first system.

ところで、第6図に示した構成は、2エレメントを処
理する能力を有する2つのベクトルユニット611,651を
並列に動作させることにより、4エレメントの処理能力
を実現するものである。そのため、2エレメントの処理
能力が必要なときにベクトルユニット611あるいは651を
単独で使用するような使用形態にあっては、他系に対応
するアドレス演算部が使用されずに無駄が生じるという
問題点があった。
By the way, the configuration shown in FIG. 6 realizes a processing capability of four elements by operating two vector units 611 and 651 capable of processing two elements in parallel. Therefore, in the case where the vector unit 611 or 651 is used alone when the processing capability of two elements is required, there is a problem that the address operation unit corresponding to another system is not used and waste occurs. was there.

特に、このようなベクトルユニットによってディスタ
ンス大アクセスを行う場合、自系に対応したアドレス演
算部の全てを使用してアドレス算出を行っており、他系
に対応した未使用のアドレス演算部があるにもかかわら
ず同時に1つのディスタンス大アクセスしか行うことが
できない。従って、未使用のアドレス演算部を使用して
同時に複数のディスタンス大アクセスを行ってアクセス
効率を上げることができるベクトル処理システムが望ま
れていた。
In particular, when a large distance access is performed by such a vector unit, the address calculation is performed using all the address calculation units corresponding to the own system, and there is an unused address calculation unit corresponding to another system. Nevertheless, only one large distance access can be performed at the same time. Therefore, there has been a demand for a vector processing system capable of simultaneously performing a plurality of distance large accesses by using an unused address operation unit and improving access efficiency.

本発明は、このような点にかんがみて創作されたもの
であり、アドレス発生部を有効に使用しアクセス効率を
上げることができるアクセス装置を提供することを目的
としている。
The present invention has been made in view of such a point, and an object of the present invention is to provide an access device that can effectively use an address generation unit and increase access efficiency.

〔課題を解決するための手段〕[Means for solving the problem]

第1図は、本発明のアクセス装置の原理図である。 FIG. 1 is a principle diagram of an access device of the present invention.

図において、本発明のアクセス装置は、複数のエレメ
ントからなる命令を発行する命令制御部121からの命令
を受けてアドレスを発生し、記憶装置111に対するアク
セスを行うアクセス装置において、 自系に対応したアドレスまたは他系に対応したアドレ
スを発生する複数のアドレス発生部141a、141bと、前記
複数のアドレス発生部141a、141bにより自系に対応した
エレメントのアドレスと他系に対応したエレメントのア
ドレスとを発生させる場合には、1つの命令についての
複数のエレメントを前記複数のアドレス発生部のそれぞ
れに供給し、他系に対応したエレメントのアドレスの発
生に代えて全て自系に対応したエレメントのアドレスを
発生させる場合には、複数の命令についての複数のエレ
メントを前記複数のアドレス発生部のそれぞれに供給す
る選択手段と131とを備えて構成されている。
In the figure, an access device according to the present invention generates an address in response to an instruction from an instruction control unit 121 that issues an instruction composed of a plurality of elements, generates an address, and accesses the storage device 111. A plurality of address generators 141a and 141b for generating an address or an address corresponding to another system, and the plurality of address generators 141a and 141b determine an address of an element corresponding to the own system and an address of an element corresponding to the other system. In the case of generating, the plurality of elements for one instruction are supplied to each of the plurality of address generation units, and the addresses of the elements corresponding to the own system are all replaced with the addresses of the elements corresponding to the other system. When generating, a plurality of elements for a plurality of instructions are supplied to each of the plurality of address generators. It is configured to include a selection means for the 131.

〔作 用〕(Operation)

選択手段131は、命令制御部121からの命令を受けて、
ベクトルデータの先頭アドレス、ディスタンス等を複数
のアドレス発生部141a、141bに供給する。
The selection means 131 receives a command from the command control unit 121,
The head address, distance, and the like of the vector data are supplied to the plurality of address generators 141a and 141b.

このとき、選択手段131から1つの命令についての複
数のエレメントaが供給されると、アドレス発生部141a
は自系に対応したエレメントのアドレスを発生し、アド
レス発生部141bは他系に対応したエレメントのアドレス
を発生する。
At this time, when a plurality of elements a for one instruction are supplied from the selection unit 131, the address generation unit 141a
Generates the address of the element corresponding to the own system, and the address generator 141b generates the address of the element corresponding to the other system.

一方、選択手段131から複数の命令についての複数の
エレメントbが供給されると、アドレス発生部141aは自
系に対応したエレメントのアドレスを発生し、アドレス
発生部141bも同様に自系に対応したエレメントのアドレ
スを発生する。
On the other hand, when a plurality of elements b for a plurality of instructions are supplied from the selecting unit 131, the address generation unit 141a generates an address of an element corresponding to the own system, and the address generation unit 141b also supports the own system. Generates the address of the element.

即ち、他系用のアドレス発生部を自系用に切り替えて
使用できるので、アクセス効率を上げることができる。
That is, since the address generation unit for the other system can be switched and used for the own system, the access efficiency can be improved.

〔実施例〕〔Example〕

以下、図面に基づいて本発明の実施例について詳細に
説明する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

第2図に本発明の一実施例によるベクトル処理システ
ムの構成を示す。
FIG. 2 shows the configuration of a vector processing system according to one embodiment of the present invention.

第2図において、211,212は主記憶装置(MSU)を、21
3はベクトル命令制御部を、215はベクトルユニットを、
221はベクトルアドレス発生部を、231は主記憶アクセス
制御部を、233は優先制御回路を、235,237はアクセスパ
イプラインを、241はベクトルアクセス処理部を、243は
ベクトルアクセス制御回路を、245はエレメント順序整
列回路を、247は間接アドレス読出し制御部を、251はベ
クトルレジスタ(VR)をそれぞれ示している。
In FIG. 2, reference numerals 211 and 212 denote main storage units (MSUs).
3 is the vector instruction control unit, 215 is the vector unit,
221 is a vector address generation unit, 231 is a main memory access control unit, 233 is a priority control circuit, 235 and 237 are access pipelines, 241 is a vector access processing unit, 243 is a vector access control circuit, and 245 is an element. Reference numeral 247 denotes an indirect address read control unit, and reference numeral 251 denotes a vector register (VR).

このベクトル処理システムによるメモリアクセスは同
時に2エレメントまで可能であるものとする。
It is assumed that memory access by this vector processing system can be performed up to two elements at the same time.

ベクトル命令制御部213は、ベクトルアクセス命令を
実行するときに、起動信号,OPコード,ベクトルデータ
の先頭アドレス(LA),ディスタンス(D),ベクトル
長(L)等をベクトルユニット215に対して供給する。
When executing the vector access instruction, the vector instruction control unit 213 supplies an activation signal, an OP code, a head address (LA), a distance (D), a vector length (L) of vector data, and the like to the vector unit 215. I do.

ベクトルユニット215のベクトルアドレス発生部221
は、ベクトル命令制御部213から供給された先頭アドレ
ス(LA)及びディスタンス(D)に基づいて各エレメン
トのアドレスを算出するものであり、算出したアドレス
は主記憶アクセス制御部231内の優先制御回路233に送ら
れる。
Vector address generator 221 of vector unit 215
Calculates the address of each element based on the head address (LA) and the distance (D) supplied from the vector instruction control unit 213. The calculated address is a priority control circuit in the main memory access control unit 231. Sent to 233.

主記憶装置211,212のそれぞれが複数のメモリユニッ
ト(バンク)を有しているものとすると、優先制御回路
233では、常時主記憶装置211,212の各バンクの使用状態
を管理して、ベクトルアドレス発生部221から与えられ
た各アドレスについて、該当するバンクが空き状態でア
クセスが可能かどうかをチェックする。可能な場合には
使用状態管理を使用中に更新すると共に、該当するバン
ク宛のアクセス要求を主記憶装置211あるいは212に送出
する。
Assuming that each of the main storage devices 211 and 212 has a plurality of memory units (banks), a priority control circuit
At 233, the use state of each bank of the main storage devices 211 and 212 is constantly managed, and it is checked whether or not the corresponding bank can be accessed in a free state for each address given from the vector address generation unit 221. If possible, the use state management is updated to "in use", and an access request addressed to the corresponding bank is sent to the main storage device 211 or 212.

このアクセス要求は、主記憶装置211,212への送出と
共に主記憶アクセス制御部231内のアクセスパイプライ
ン235,237の何れか一方にも送られ、一定時間後にベク
トルアクセス処理部241のベクトルアクセス制御回路243
に、対応するデータの受付けの通知が行われる。
This access request is sent to one of the access pipelines 235 and 237 in the main memory access control unit 231 together with the transmission to the main storage devices 211 and 212, and after a predetermined time, the vector access control circuit 243 of the vector access processing unit 241.
Then, notification of acceptance of the corresponding data is made.

ベクトルアクセス制御回路243は、このデータ受付け
通知が入力されたタイミングで、主記憶装置211あるい
は212からの読み出しデータをエレメント順序整列回路2
45に取り込み、エレメントを順序付けてベクトルレジス
タ251にロードする。
The vector access control circuit 243 transfers the read data from the main storage device 211 or 212 to the element order alignment circuit 2 at the timing when the data reception notification is input.
At step 45, the elements are ordered and loaded into the vector register 251.

また、第3図にベクトルアドレス発生部221の詳細構
成を示す。
FIG. 3 shows a detailed configuration of the vector address generator 221.

第3図において、311,313,315,317は加算器を、361,3
63,365,367はアドレス変換テーブルをそれぞれ示してい
る。また、321〜328,341〜347,371〜377,381〜387,395,
397はレジスタ(R)を、331〜338,351〜357,391,393は
セレクタをそれぞれ示している。
In FIG. 3, 311,313,315,317 are adders, and 361,3
63, 365, 367 indicate address conversion tables, respectively. Also, 321-328,341-347,371-377,381-387,395,
Reference numeral 397 denotes a register (R), and reference numerals 331 to 338, 351 to 357, 391, and 393 denote selectors.

実施例のベクトル処理システムは、ベクトルデータの
全エレメントについて先頭アドレス及びディスタンスに
よりアドレス演算を行う通常の方法でベクトルアドレス
を連続的に発生し、直接的にアクセスを行うことができ
る。
The vector processing system according to the embodiment can continuously generate vector addresses by a normal method of performing an address operation based on a head address and a distance for all elements of vector data, and can directly access the elements.

加算器311及び313は2エレメントのそれぞれのアドレ
スを算出するためのものである。加算器311の一方の入
力端には、セレクタ331及びレジスタ321を介して、ベク
トル命令制御部213から供給される先頭アドレス(LA)
が入力され、他方の入力端には、セレクタ332,レジスタ
322を介して、ベクトル命令制御部213から供給されるデ
ィスタンス(D)が入力される。加算器311では入力さ
れる先頭アドレスとディスタンスとを加算してエレメン
ト番号2nのエレメントのアドレスを算出し、算出したア
ドレスはアドレス変換テーブル361で変換された後に、
レジスタ381を介して主記憶アクセス制御部231内の優先
制御回路233に送られる。また、加算器311から出力され
るアドレスは、アドレス変換テーブル361に送られると
共にセレクタ331を介してレジスタ321に格納され、次の
アドレス算出はこのレジスタ321の格納値にディスタン
スを加算して行われる。
The adders 311 and 313 are for calculating the respective addresses of the two elements. To one input terminal of the adder 311, a start address (LA) supplied from the vector instruction control unit 213 via the selector 331 and the register 321.
The selector 332 and the register
The distance (D) supplied from the vector instruction control unit 213 is input via 322. The adder 311 calculates the address of the element with the element number 2n by adding the input start address and the distance, and the calculated address is converted by the address conversion table 361.
The data is sent to the priority control circuit 233 in the main memory access control unit 231 via the register 381. The address output from the adder 311 is sent to the address conversion table 361 and stored in the register 321 via the selector 331. The next address calculation is performed by adding a distance to the value stored in the register 321. .

同様に、加算器313では入力される先頭アドレスとデ
ィスタンスとを加算してエレメント番号2n+1のエレメ
ントのアドレスを算出し、算出したアドレスはアドレス
変換テーブル363,レジスタ383を介して優先制御回路233
に送られる。
Similarly, the adder 313 calculates the address of the element having the element number 2n + 1 by adding the input start address and the distance, and outputs the calculated address via the address conversion table 363 and the register 383 to the priority control circuit 233.
Sent to

更に、加算器315,317においても、加算器311,313と同
様に、それぞれエレメント番号2n,2n+1のエレメント
のアドレス算出を行い、算出した各アドレスはアドレス
変換テーブル365あるいは367を介して優先制御回路233
に送られる。
Further, in the adders 315 and 317, similarly to the adders 311 and 313, the addresses of the elements having the element numbers 2n and 2n + 1 are calculated, and the calculated addresses are respectively transferred to the priority control circuit 233 via the address conversion table 365 or 367.
Sent to

4つのセレクタ351〜357は、上述した4つの加算器31
1〜317に対してベクトル命令制御部213からの先頭アド
レスやディスタンスを供給するためのものである。ま
た、4つのレジスタ341〜347は、ベクトル命令制御部21
3から出力される先頭アドレス(LA)やディスタンス
(D)を一時記憶するためにものである。4つのレジス
タ341〜347とベクトル命令制御部213の2つの命令出力
ポートとの接続関係は次のようになっている。
The four selectors 351 to 357 correspond to the four adders 31 described above.
This is for supplying the head address and the distance from the vector instruction control unit 213 to 1 to 317. The four registers 341 to 347 are provided in the vector instruction control unit 21.
This is for temporarily storing the head address (LA) and the distance (D) output from 3. The connection relationship between the four registers 341 to 347 and the two instruction output ports of the vector instruction control unit 213 is as follows.

図2に示すように、ベクトルユニット215が1台の場
合には、ベクトル命令制御部213の2つの命令出力ポー
トの一方が、レジスタ341,343またはレジスト345,347に
接続される。例えば、レジスタ341,343に接続されると
する。
As shown in FIG. 2, when there is one vector unit 215, one of the two instruction output ports of the vector instruction control unit 213 is connected to the registers 341 and 343 or the registers 345 and 347. For example, suppose that it is connected to the registers 341 and 343.

このとき、ベクトル命令制御部213からの命令が1つ
の場合には、セレクタ351,353がレジスタ341,343を選択
し、セレクタ355,357は選択動作をしない。したがっ
て、加算器311,313が自系用のアドレスを発生し、加算
器315,317は不使用となる。
At this time, when there is one instruction from the vector instruction control unit 213, the selectors 351 and 353 select the registers 341 and 343, and the selectors 355 and 357 do not perform the selecting operation. Therefore, the adders 311 and 313 generate addresses for the own system, and the adders 315 and 317 are not used.

また、ベクトル命令制御部213からの命令が2つの場
合には、セレクタ351,353に加えて、レクタ355,357もレ
ジスタ341,343を選択する動作を行う。その結果、ベク
トル命令制御部213から出力される先頭アドレスはレジ
スタ341に一旦保持された後、セレクタ351を介して加算
器311,313に供給されると共に、セレクタ355を介して加
算器315,317に供給される。
When there are two instructions from the vector instruction control unit 213, in addition to the selectors 351 and 353, the selectors 355 and 357 also perform the operation of selecting the registers 341 and 343. As a result, the head address output from the vector instruction control unit 213 is temporarily stored in the register 341 and then supplied to the adders 311 and 313 via the selector 351 and supplied to the adders 315 and 317 via the selector 355. .

ベクトル命令制御部213から出力されるディスタンス
(D)はレジスタ343に一旦保持された後、セレクタ353
を介して加算器311,313に供給されると共に、セレクタ3
57を介して加算器315,317に供給される。
The distance (D) output from the vector instruction control unit 213 is temporarily held in the register 343, and then stored in the selector 353.
Are supplied to adders 311 and 313 via
It is supplied to adders 315 and 317 via 57.

優先制御回路233は、ベクトルアドレス発生部221の4
つのレジスタ381〜387を介して送られてくる4つのアド
レスに基づいて優先制御を行い、例えばレジスタ381,38
3から送られてきたアドレスに対応するアクセス要求を
主記憶装置211に送ると共にアクセスパイプライン235に
供給する。また、レジスタ385,387から送られてきたア
ドレスに対応するアクセス要求を主記憶装置212に送る
と共にアクセスパイプライン237に供給する。
The priority control circuit 233 is connected to the vector address generator 221
Priority control is performed based on the four addresses sent through the three registers 381 to 387.
The access request corresponding to the address sent from 3 is sent to the main storage device 211 and also supplied to the access pipeline 235. The access request corresponding to the address sent from the registers 385 and 387 is sent to the main storage device 212 and is also sent to the access pipeline 237.

従って、互いに独立している2つのディスタンス大ア
クセスを並行して実行することが可能になる。
Therefore, two independent large distance accesses can be executed in parallel.

また、ベクトルユニット215が2台の場合は、双方の
ベクトルユニット215において、ベクトル命令制御部213
の2つの命令出力ポートの一方(自系出力ポート)が、
例えばレジスタ341,343に接続され、他方(他系出力ポ
ート)が、レジスタ345,347に接続される。
When two vector units 215 are provided, the vector instruction control units 213
One of the two instruction output ports (own output port)
For example, it is connected to registers 341 and 343, and the other (other system output port) is connected to registers 345 and 347.

このとき、ベクトル命令制御部213の2つのポートか
ら出力される命令が共に1つの場合には、セレクタ351,
353はレジスタ341,343を選択し、セレクタ355,357は、
レジスタ345,347を選択する。したがって、加算器311,3
13が自系用のアドレスを発生し、加算器315,317が他系
用のアドレスを発生する。これにより、4エレメントの
処理能力を実現できる(第6図に示す場合に相当す
る)。
At this time, if the number of instructions output from the two ports of the vector instruction control unit 213 is one, the selector 351,
353 selects registers 341 and 343, and selectors 355 and 357
Select the registers 345 and 347. Therefore, adders 311 and 3
13 generates an address for the own system, and adders 315 and 317 generate addresses for the other system. Thereby, a processing capability of four elements can be realized (corresponding to the case shown in FIG. 6).

また、ベクトル命令制御部213の2つポートから出力
される命令が共に2つの場合には、一方のベクトルユニ
ット215では、セレクタ351〜357は、レジスタ341,343選
択し、他方のベクトルユニット215では、セレクタ351〜
357は、レジスタ345,347を選択する。その結果、一方の
ベクトルユニット215では、加算器311〜317の全てがベ
クトル命令制御部213の自系出力ポートに接続され、他
方のベクトルユニット215では、加算器311〜317の全て
がベクトル命令制御部213の他系出力ポートに接続され
る。
When the instructions output from the two ports of the vector instruction control unit 213 are both two, in one vector unit 215, the selectors 351 to 357 select the registers 341 and 343, and in the other vector unit 215, 351-
357 selects registers 345 and 347. As a result, in one vector unit 215, all of the adders 311 to 317 are connected to the own system output port of the vector instruction control unit 213, and in the other vector unit 215, all of the adders 311 to 317 are controlled by the vector instruction control. Unit 213 is connected to another system output port.

他方のベクトルユニット215において、ベクトル命令
制御部213の他系出力ポートから入力される先頭アドレ
スはレジスタ345に一旦保持された後にセレクタ351,355
を介して加算器311,313,315,317に供給される。また、
ディスタンスは、レジスタ347に一旦保持された後に加
算器311,313,315,317に供給される。
In the other vector unit 215, the head address input from the other output port of the vector instruction control unit 213 is temporarily stored in the register 345, and then stored in the selector 351 or 355.
Are supplied to the adders 311, 313, 315, and 317 via. Also,
The distance is temporarily stored in the register 347 and then supplied to the adders 311, 313, 315, 317.

このようにして自系と他系とのアドレス演算動作を同
期して行った場合、他系のアドレスに対応したアクセス
要求は優先制御回路233における競合制御のみに使用
し、主記憶装置211,212及びアクセスパイプライン235,2
37には送らないようにする。
When the address operation of the own system and the address operation of the other system are performed in this manner, the access request corresponding to the address of the other system is used only for contention control in the priority control circuit 233, and the main storage devices 211 and 212 and the access Pipeline 235,2
Do not send to 37.

また、実施例のベクトル処理システムは、とびとびの
エレメントを処理する場合のために、間接アドレス機構
を備えている。間接アドレスによりアクセスを行う場合
には、ベクトルレジスタ251に予めアクセス目的のベク
トルデータの各エレメントのアドレスを示すベクトルデ
ータをロードしておき、間接アドレス読出し制御部247
により2エレメント分ずつ順次読み出して、ベクトルア
ドレス発生部221に供給する。ベクトルレジスタ251から
読み出される2エレメント分のベクトルアドレスは、ベ
クトルアドレス発生部221内の加算器311に対応したレジ
スタ322及び加算器313に対応したレジスタ324にそれぞ
れ与えられ、優先制御回路233に転送される。
Further, the vector processing system of the embodiment includes an indirect address mechanism for processing discrete elements. When performing access using an indirect address, the vector register 251 is loaded in advance with vector data indicating the address of each element of the vector data to be accessed, and the indirect address read control unit 247.
, And sequentially read out two elements at a time, and supply them to the vector address generator 221. The vector addresses of the two elements read from the vector register 251 are given to the register 322 corresponding to the adder 311 and the register 324 corresponding to the adder 313 in the vector address generator 221 and transferred to the priority control circuit 233. You.

なお、第3図に示したベクトルアドレス発生部221の
構成では、ベクトルレジスタ251からのベクトルデータ
は加算器311,313側にのみ供給されるようになっている
ため、同時に加算器315,317側を使用して間接アドレス
を発生させることはできないが、全ての加算器を使用し
て間接アドレスによるアクセスを並行して行う場合に
は、上述した直接アドレスによるアクセスと同様に図示
しないセレクタを介してベクトルレジスタ251のベクト
ルデータを全ての加算器に供給するようにすればよい。
In the configuration of the vector address generator 221 shown in FIG. 3, the vector data from the vector register 251 is supplied only to the adders 311 and 313, so that the adders 315 and 317 are used at the same time. Although it is not possible to generate an indirect address, if access by indirect address is performed in parallel using all the adders, the access to the vector register 251 via a selector (not shown) is performed in the same manner as the access by direct address described above. What is necessary is just to supply the vector data to all the adders.

また、ベクトルアドレス発生部221内のアドレス変換
テーブル361〜367の内容の変更は、2つのセレクタ391,
393の選択状態を適宜切り換えて行う。例えば、レジス
タ395は自系のエレメント順序整列回路245の出力データ
を読み込むためのものであり、この読み込んだデータ
は、セレクタ391あるいは393を介して各アドレス変換テ
ーブルに供給される。また、レジスタ397は他系のエレ
メント順序整列回路(図示せず)の出力データを読み込
むためのものであり、この読み込んだデータは、セレク
タ391あるいは393を介して各アドレス変換テーブルに供
給される。
The change of the contents of the address conversion tables 361 to 367 in the vector address generation unit 221 is performed by two selectors 391,
The selection state of 393 is appropriately switched. For example, the register 395 is for reading output data of the element order alignment circuit 245 of the own system, and the read data is supplied to each address conversion table via the selector 391 or 393. The register 397 is for reading output data of an element order alignment circuit (not shown) of another system, and the read data is supplied to each address conversion table via the selector 391 or 393.

このように、ベクトルユニット215を単独で使用する
場合に、他系に同期してアドレス演算を行うための加算
器315,317を自系のアドレス演算に使用する。そのた
め、本来自系用として備える加算器311,313と並行して
アドレスを演算し、2つのディスタンス大アクセスを行
うことが可能になり、主記憶装置211,212のアクセス効
率を上げることができる。
As described above, when the vector unit 215 is used alone, the adders 315 and 317 for performing the address calculation in synchronization with the other system are used for the address calculation of the own system. Therefore, the address can be calculated in parallel with the adders 311 and 313 originally provided for the own system, and two large distance accesses can be performed, so that the access efficiency of the main storage devices 211 and 212 can be improved.

なお、上述した実施例は、先の出願(特願昭63−2809
97号)への適用例であるが、本発明は、2つのベクトル
ユニットを並列動作させる場合に相互にタイミング調節
を行う図4に示す従来の装置にも同様に適用できるもの
である。
The above-described embodiment is described in the earlier application (Japanese Patent Application No. 63-2809).
No. 97), the present invention can be similarly applied to the conventional apparatus shown in FIG. 4 for mutually adjusting the timing when two vector units are operated in parallel.

〔発明の効果〕〔The invention's effect〕

上述したように、本発明によれば、複数系に対応した
ベクトルアドレス発生部のそれぞれによって、自系のベ
クトルアドレスを並行して発生し、対応するアクセス要
求を主記憶装置に送ると共に、複数のアクセスパイプラ
インのそれぞれに入力することにより、複数のディスタ
ンス大アクセスを並行して行うことが可能になり、アク
セス効率を上げることができるので、実用的には極めて
有用である。
As described above, according to the present invention, each of the vector address generators corresponding to a plurality of systems generates a vector address of the own system in parallel, sends a corresponding access request to the main storage device, and By inputting data to each of the access pipelines, a plurality of distance large accesses can be performed in parallel, and the access efficiency can be increased. Therefore, it is extremely useful in practice.

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

第1図は本発明のアクセス装置の原理ブロック図、 第2図は本発明の一実施例によるベクトル処理システム
の構成図、 第3図は一実施例のベクトルアクセス発生部の構成図、 第4図は従来例のベクトル処理システムの構成図、 第5図は従来例システムにおけるアクセス許可タイミン
グの説明図、 第6図は従来例のベクトル処理システムの構成図であ
る。 図において、 111は記憶装置、 121は命令制御部、 131は選択手段、 141a、141bはアドレス発生部、 211は主記憶装置(MSU)、 213はベクトル命令制御部、 215はベクトルユニット、 221はベクトルアドレス発生部、 231は主記憶アクセス制御部、 233は優先制御回路、 235,237はアクセスパイプライン、 241はベクトルアクセス処理部、 243はベクトルアクセス制御回路、 245はエレメント順序整列回路、 247は間接アドレス読出し制御部、 251はベクトルレジスタ、 311,313,315,317は加算器、 361,363,365,367はアドレス変換テーブルである。
FIG. 1 is a block diagram showing the principle of an access device according to the present invention, FIG. 2 is a block diagram of a vector processing system according to an embodiment of the present invention, FIG. FIG. 5 is a configuration diagram of a conventional vector processing system, FIG. 5 is an explanatory diagram of access permission timing in the conventional system, and FIG. 6 is a configuration diagram of a conventional vector processing system. In the figure, 111 is a storage device, 121 is an instruction control unit, 131 is a selection unit, 141a and 141b are address generation units, 211 is a main storage device (MSU), 213 is a vector instruction control unit, 215 is a vector unit, and 221 is Vector address generation unit, 231 is a main memory access control unit, 233 is a priority control circuit, 235 and 237 are access pipelines, 241 is a vector access processing unit, 243 is a vector access control circuit, 245 is an element order alignment circuit, and 247 is an indirect address A read control unit, 251 is a vector register, 311, 313, 315, 317 are adders, and 361, 363, 365, 367 are address conversion tables.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のエレメントからなる命令を発行する
命令制御部からの命令を受けてアドレスを発生し、記憶
装置に対するアクセスを行うアクセス装置において、 自系に対応したアドレスまたは他系に対応したアドレス
を発生する複数のアドレス発生部と、 前記複数のアドレス発生部により自系に対応したエレメ
ントのアドレスと他系に対応したエレメントのアドレス
とを発生させる場合には、1つの命令についての複数の
エレメントを前記複数のアドレス発生部のそれぞれに供
給し、他系に対応したエレメントのアドレスの発生に代
えて全て自系に対応したエレメントのアドレスを発生さ
せる場合には、複数の命令についての複数のエレメント
を前記複数のアドレス発生部のそれぞれに供給する選択
手段と を備えることを特徴とするアクセス装置。
An access device for generating an address in response to an instruction from an instruction control unit for issuing an instruction composed of a plurality of elements and for accessing a storage device, wherein an address corresponding to its own system or an address corresponding to another system is provided. A plurality of address generators for generating addresses; and a plurality of address generators for generating a plurality of address generators for generating an address of an element corresponding to the own system and an address of an element corresponding to another system by the plurality of address generators. In the case where an element is supplied to each of the plurality of address generators and an address of an element corresponding to the own system is generated instead of generation of an address of an element corresponding to another system, a plurality of instructions for a plurality of instructions are provided. Selecting means for supplying an element to each of the plurality of address generators. Seth apparatus.
JP18137689A 1989-07-13 1989-07-13 Access device Expired - Fee Related JP2944108B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18137689A JP2944108B2 (en) 1989-07-13 1989-07-13 Access device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18137689A JP2944108B2 (en) 1989-07-13 1989-07-13 Access device

Publications (2)

Publication Number Publication Date
JPH0346067A JPH0346067A (en) 1991-02-27
JP2944108B2 true JP2944108B2 (en) 1999-08-30

Family

ID=16099650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18137689A Expired - Fee Related JP2944108B2 (en) 1989-07-13 1989-07-13 Access device

Country Status (1)

Country Link
JP (1) JP2944108B2 (en)

Also Published As

Publication number Publication date
JPH0346067A (en) 1991-02-27

Similar Documents

Publication Publication Date Title
US4951193A (en) Parallel computer with distributed shared memories and distributed task activating circuits
CN100447738C (en) Digital data processing apparatus having multi-level register file
US5724540A (en) Memory system having a column address counter and a page address counter
AU598857B2 (en) Move-out queue buffer
US4314333A (en) Data processor
JP2577865B2 (en) Vector processing apparatus and control method thereof
JPH0562387B2 (en)
GB2073923A (en) Branching in computer control store
JP2944108B2 (en) Access device
KR20010006787A (en) Processer and system for data processing
EP0067519B1 (en) Telecommunications system
KR20230059536A (en) Method and apparatus for process scheduling
JP2899986B2 (en) Data storage method, vector data buffer device and vector data processing device
JPH0769896B2 (en) Vector processing system
KR970008189B1 (en) Memory space control method and memory apparatus
EP0359192A2 (en) Vector processors and vector register control
JP2001167084A (en) Vector operation processor and vector data moving method
JP2865483B2 (en) Data processing system and main storage controller
JP3278441B2 (en) Vector processing equipment
JP3607548B2 (en) Vector arithmetic unit
JP2000112912A (en) Processing system for test and copy against remote memory in distributed memory-type parallel computer
JPH06324999A (en) Multiprocessor system
JP2000330866A (en) Method and system for controlling memory
JPH0429095B2 (en)
JPH03191448A (en) Vector data buffer circuit

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees