JPS6259829B2 - - Google Patents

Info

Publication number
JPS6259829B2
JPS6259829B2 JP56142976A JP14297681A JPS6259829B2 JP S6259829 B2 JPS6259829 B2 JP S6259829B2 JP 56142976 A JP56142976 A JP 56142976A JP 14297681 A JP14297681 A JP 14297681A JP S6259829 B2 JPS6259829 B2 JP S6259829B2
Authority
JP
Japan
Prior art keywords
instruction
processing
vector
register
execution
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
JP56142976A
Other languages
Japanese (ja)
Other versions
JPS5844569A (en
Inventor
Shigeaki Okuya
Juji Oinaga
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 JP14297681A priority Critical patent/JPS5844569A/en
Publication of JPS5844569A publication Critical patent/JPS5844569A/en
Publication of JPS6259829B2 publication Critical patent/JPS6259829B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines

Description

【発明の詳細な説明】 本発明は、ベクトル処理においてメモリビジー
などにより処理中断が生じた場合の命令処理同期
制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION The present invention relates to an instruction processing synchronization control method when processing is interrupted due to memory busy or the like in vector processing.

複数のエレメントを有する第2オペランドA=
a0、a1、………、ao-1と複数のエレメントを有
する第3オペランドB=b0、b1、………bo-1
対応するエレメント同士に演算を施し、結果の第
1オペランド、C=c0、c1、………co-1(ここ
で演算が加算なら、ci=ai+bi、iは0、1、
2、………n−1のいずれか)を得るような処理
装置がある。これはベクトル処理装置と呼ばれ、
これに対してオペランドのエレメントが1個(n
=1)に限定された従来の汎用処理装置をスカラ
ー処理装置と称する。第1図にベクトル処理装置
の構成を示す。この図に示すようにベクトル処理
装置は命令制御部、主記憶MSuの制御装置MCu
対しロード、ストア処理をするメモリアクセス処
理部、ベクトルレジスタ、加算器および乗算器を
含む演算処理部を備える。ベクトルレジスタは、
ロード/ストアされる複数のエレメントからなる
複数のベクトルデータを収容する。ベクトル命令
は命令コード、第1オペランド指定、第2オペラ
ンド指定および第3オペランド指定より成る。例
えばVM1、2、3はベクトルレジスタ2とベク
トルレジスタ3の内容を乗算(VM:ベクトルマ
ルチ)し、ベクトルレジスタ1に結果を入れよう
という乗算命令である。またVA4、5、1はベク
トルレジスタ5とベクトルレジスタ1の内容を加
算(VA:ベクトルアツド)し、結果をベクトル
レジスタ4に入れよというベクトル加算命令であ
る。
Second operand A= with multiple elements
The third operand B has a plurality of elements, a 0 , a 1 , ......, a o-1 = b 0 , b 1 , ......b o-1 , and the corresponding elements are operated on, and the result is First operand, C = c 0 , c 1 , ......c o-1 (Here, if the operation is addition, c i = a i + b i , i is 0, 1,
There is a processing device that obtains any one of 2, . . . n-1). This is called a vector processing unit.
In contrast, the operand element is one (n
A conventional general-purpose processing device limited to 1) is called a scalar processing device. FIG. 1 shows the configuration of a vector processing device. As shown in this figure, the vector processing device includes an instruction control section, a memory access processing section that performs load and store processing for the control device MC u of the main memory MS u , and an arithmetic processing section including vector registers, adders, and multipliers. Be prepared. The vector register is
Accommodates multiple vector data consisting of multiple elements to be loaded/stored. A vector instruction consists of an instruction code, a first operand specification, a second operand specification, and a third operand specification. For example, VM1, 2, and 3 are multiplication instructions for multiplying the contents of vector register 2 and vector register 3 (VM: vector multi) and putting the result in vector register 1. VA4, 5, and 1 are vector addition instructions to add the contents of vector register 5 and vector register 1 (VA: vector add) and put the result into vector register 4.

ベクトル命令を処理する場合には、処理を高速
に行なうために、演算処理部をパイプライン構造
にし、先行のエレメントの演算処理が完了する前
に後続のエレメントを投入するようにしている。
例えば、ベクトル加算命令を行なうときはデー
タの読出し(READ)、両オペランドの指数比
較(COMPARE)、指数を合わせるためのシフ
ト(PRE SHIFT)、加算(ADD)、演算後正
規化のためのシフト(POST SHIFT)、データ
の書込み(WRITE)、の6段階の処理となり、
これらが第2図に示すように逐次かつ同時に実行
される。即ちエレメント0についてはa0、b0の読
出し、指数比較、プリシフト………が逐次行なわ
れ、エレメント1についても同様であるがタイミ
ングは1処理タイミングτだけ遅れ、エレメン
ト2についても同様であるがタイミングは2処理
タイミングだけ遅れ、以下これに準ずる。従つて
エレメント全体の処理状況は図示のように平行四
辺形で表わされる。E0T、E1T………はエレメン
ト0の処理、エレメント1の処理………を示す。
When processing vector instructions, in order to perform the processing at high speed, the arithmetic processing unit has a pipeline structure, and the subsequent element is input before the arithmetic processing of the preceding element is completed.
For example, when performing a vector addition instruction, read data (READ), compare the exponents of both operands (COMPARE), shift to match the exponents (PRE SHIFT), add (ADD), and shift for normalization after operation ( It is a 6-step process: POST SHIFT), data writing (WRITE),
These are executed sequentially and simultaneously as shown in FIG. That is, for element 0, reading of a 0 and b 0 , index comparison, preshift, etc. are performed sequentially, and the same is true for element 1, but the timing is delayed by one processing timing τ 0 , and the same is true for element 2. However, the timing is delayed by two processing timings, and the same applies hereafter. Therefore, the processing status of the entire element is represented by a parallelogram as shown. E0T, E1T... indicate processing of element 0, processing of element 1, etc.

ところで演算処理ではある処理TR1の結果を使
用して次の処理TR2を行なう場合があるが、メモ
リビジーなどで処理部TR1の実行が遅れると当然
次の処理TR2は実行できず、TR1処理待ちとな
る。そして該TR1の処理が終つて次の処理TR2
実行が開始される。例えば次のような命令群を考
える。VL2、A(メモリアドレスAの内容をベ
クトルレジスタ2にロードせよ)、VA3、0、
2(ベクトルレジスタ2,0の内容を加算してレ
ジスタ3に入れよ)、VA4、1、2、VL5、
B(メモリアドレスBの内容をベクトルレジスタ
5にロードせよ)、VM6、3、5(ベクトルレ
ジスタ3,5の内容を乗算して結果をベクトルレ
ジスタ6に入れよ)、VM7、4、5、この命令
列では処理、などは、処理、の実行が終
了しないと実行できない。このように、先行命令
の結果を後続命令で使用するとき、それらの命令
間に連鎖(チエイン)があるという。そしてメモ
リはアクセス処理部だけでなくチヤネルその他も
使用するので常にアクセス可とは限らない。
By the way, in arithmetic processing, the result of a certain process TR 1 may be used to perform the next process TR 2 , but if the execution of the processing unit TR 1 is delayed due to memory busy etc., the next process TR 2 will naturally not be able to be executed. Waiting for TR 1 processing. After the processing of TR 1 is completed, execution of the next processing TR 2 is started. For example, consider the following set of instructions. VL2, A (load the contents of memory address A into vector register 2), VA3, 0,
2 (Add the contents of vector registers 2 and 0 and put it in register 3), VA4, 1, 2, VL5,
B (load the contents of memory address B into vector register 5), VM6, 3, 5 (multiply the contents of vector registers 3 and 5 and put the result in vector register 6), VM7, 4, 5, this In a sequence of instructions, a process, etc. cannot be executed until the execution of the process has finished. In this way, when the result of a preceding instruction is used in a subsequent instruction, there is said to be a chain between those instructions. Since memory is used not only by the access processing unit but also by channels and others, it is not always possible to access the memory.

メモリアクセスに遅れがなければ上記命令列の
実行は第3図の如くなる。即ち命令VL2、Aは
各ベクトルエレメントE0、E1………について逐
次実行され、ベクトルレジスタ2へ書込まれてゆ
く、次の命令VA3、0、2はレジスタ2にエレ
メントE0、E1………が書込まれるにつれて第
0、第1………エレメントから実行してゆけるの
で、レジスタ2への最初のエレメントE0が書込
まれる時点から1タイミング以上ずれただけで直
ちに第0エレメント側から実行開始される。これ
をベクトル処理の連鎖化(チエイニング)とい
う。次の命令はの結果を使うだけであるから
と同時にスタートさせてもよいが、と同じベ
クトルアツドVAであるので使用ハードウエアが
同じであるという関係上の処理待ちとなる。次
の命令の結果は命令で使用するだけであるの
でそれ迄に終れば(レジスタ5への第0エレメン
トの格納が)よく、図示の如き適当なタイミング
で実行する。命令は乗算器が加算器とは別であ
れば命令、などと同時に実行してよいが、本
例では同じハードウエアを使用する、従つての
後としている。命令は命令との結果を使用
するのでそれらの実行後なら何時でもよいが、同
様な理由で命令の後で行なう。
If there is no delay in memory access, the execution of the above instruction sequence will be as shown in FIG. That is, the instruction VL2, A is executed sequentially for each vector element E 0 , E 1 . As ... is written, it can be executed from the 0th, 1st, etc. elements, so if there is a delay of more than one timing from the time when the first element E0 is written to register 2, it will be executed immediately from the 0th element side. Begins. This is called chaining of vector processing. Since the next instruction only uses the result of , it may be started at the same time, but since it is the same vector added VA, it will wait for processing because it uses the same hardware. Since the result of the next instruction is only used by the instruction, it is sufficient to finish by then (storing the 0th element to register 5), and the execution is executed at an appropriate timing as shown in the figure. The instruction may be executed at the same time as the instruction if the multiplier is separate from the adder, etc., but in this example the same hardware is used, so it is executed later. Since the command uses the results of the command, it can be executed at any time after the execution of the command, but for the same reason, it is performed after the command.

ベクトル処理では主記憶は複数のバンクに分
け、インターリーブを行なつている。しかし、イ
ンターリーブしていても、主記憶のサイクルタイ
ムの間に同一バンクに後続のアクセスが来たとき
には後続のアクセスは待たされる。またチヤネル
プロセツサ(CHP)等の他装置とメモリアクセ
スバンクが競合すると、ベクトル命令のメモリア
クセスは待たされる。メモリアクセスが持たされ
る場合は単純にはチエイニングは行なえない。例
えば命令の処理であるエレメントEiまでのレ
ジスタ2への格納が終つて次のエレメントEi+1
ではメモリアクセスを待機させられたとすると、
命令ではそのEi+1以降のエレメントはレジス
タ2のEi+1以降に対応する個所の無意味なデー
タとの加算をしてしまう。そこで従来は(i)ロード
命令を出すとき、その命令内の各エレメント間
で、サイクルタイム間にバンクのぶつかりがない
ことを確認し、(ii)CHP等の他からのアクセスが
ないことを確認し、(iii)そのロード命令がメモリア
クセスを行なつているときは、他のメモリアクセ
スを禁止する、ようにして即ちメモリアクセスに
遅れが生じないようにした状態でのみ、チエイニ
ングを行なうようにしていた。このため前記命令
のあるエレメントで、サイクルタイムの間バン
クのぶつかりがある場合にはチエイニングを行な
えず、第4図のような命令処理タイムチヤートに
なる。
In vector processing, main memory is divided into multiple banks and interleaved. However, even with interleaving, if a subsequent access comes to the same bank during the cycle time of the main memory, the subsequent access will have to wait. Furthermore, if a memory access bank competes with another device such as a channel processor (CHP), memory access for vector instructions is forced to wait. If memory access is required, chaining cannot be performed simply. For example, after the storage in register 2 up to element Ei, which is instruction processing, is completed, the next element E i+1
Now, if memory access is made to wait,
In the instruction, elements after E i+1 are added with meaningless data in register 2 corresponding to E i+1 and after. Therefore, in the past, (i) when issuing a load instruction, it was confirmed that there was no bank conflict during the cycle time between each element in that instruction, and (ii) it was confirmed that there was no access from other sources such as CHP. and (iii) when the load instruction is accessing memory, chaining should be performed only when other memory accesses are prohibited, that is, there is no delay in memory access. was. Therefore, if there is a bank conflict during the cycle time in an element with the instruction, chaining cannot be performed, resulting in an instruction processing time chart as shown in FIG.

第4図を見れば明らかなようにこの方式では、
後続する命令の一部のエレメントは実行できる
のに命令の実行完了まで命令の実行は待たさ
れ、システム資源が有効に使用されていないこと
になる。またCHP等の他装置は完全に待たされ
るため、インタリーブの効果が減少させられる。
As is clear from Figure 4, with this method,
Even though some elements of the subsequent instruction can be executed, the execution of the instruction is delayed until the execution of the instruction is completed, resulting in system resources not being used effectively. Also, other devices such as CHP are forced to wait completely, reducing the effect of interleaving.

本発明はかかる点を改善し、処理待ちを可及的
に減少させて所要時間を短縮し、また資源の有効
利用を図ろうとするものである。本発明ではメモ
リアクセスに中断があつても、それ迄にロードさ
れてきたエレメントは早速処理するようなチエイ
ニング制御を行なうようにする。
The present invention aims to improve this problem, reduce processing waiting time as much as possible, shorten the required time, and effectively utilize resources. In the present invention, chaining control is performed so that even if memory access is interrupted, elements that have been loaded so far are processed immediately.

すなわち第5図に示すように、ロード命令で
エレメントデータをベクトルレジスタ2に書込ん
だときにはチエイニングを行ない、後続命令を
実行させるが、先行ロード命令がメモリアクセ
ス不可のため、途中でエレメントデータを書込め
なくなつたときは、チエイニングしている後続命
令を停止させるようにする。このとき、チエイ
ニングが有るか無いかを確認しないで、単にロー
ド命令においてエレメントデータをベクトルレジ
スタに書込めなかつたということだけでこのとき
走つている演算処理を停止させるなら、チエイニ
ングの同期制御は簡単になるが、第5図の命令
、のように、の実行中断によつてチエイニ
ングしていない命令まで中断させてしまい、性
能はよくない。
In other words, as shown in FIG. 5, when element data is written to the vector register 2 by a load instruction, chaining is performed and the subsequent instruction is executed, but since the preceding load instruction cannot access memory, the element data is written in the middle. When it becomes impossible to load the commands, the chaining subsequent commands are stopped. At this time, if you do not check whether there is chaining or not, but simply stop the arithmetic processing that is currently running because element data could not be written to the vector register in a load instruction, synchronization control of chaining is easy. However, as in the instruction shown in FIG. 5, by interrupting the execution of the instruction, non-chaining instructions are also interrupted, resulting in poor performance.

本発明は、先行するロード命令に後続命令がチ
エイニングしているか否かを検査し、チエイニン
グしているときで、先行するロード命令における
エレメントデータのベクトルレジスタへの書込み
が中断したときのみ、その期間中、後続のチエイ
ニングしている命令処理を中断させて、同期処理
を行ない、チエイニングしていないときには、そ
れらのロード命令および他命令は非同期に並列処
理させることによつてシステム資源の有効利用
と、性能向上を計るものである。
The present invention checks whether or not a subsequent instruction is chained to a preceding load instruction, and only when chaining occurs and the writing of element data to the vector register in the preceding load instruction is interrupted, the period of the chaining is determined. During the process, the processing of subsequent chained instructions is interrupted to perform synchronous processing, and when not chained, those load instructions and other instructions are processed asynchronously in parallel, thereby making effective use of system resources. It measures performance improvement.

第6図に本発明の場合のタイムチヤートを示
す。命令においてアクセス可能は第4エレメン
トE3までで以後は待機となつたとすると、チエ
イニングしている命令があるのでエレメント
E3がレジスタ2に書込まれたタイミングでクロ
ツクを止める。従つて命令では第1、第2、第
3エレメントE0、E1、E2の処理が一部実行され
てただけで処理中断となる。そして本例では4ク
ロツク周期後にアクセス可となり、後続のエレメ
ントE4、E5………がレジスタ2に書込まれ始め
たとき命令の実行を再開する。次にロード命令
においても中断が生じたが、同時に実行されて
いる演算命令はとチエイニングしていないの
でクロツクを止めることはせず、命令の実行中
断、命令は処理続行とする。このようにすれば
第4図の方式では中断は同様に4+4=8クロツ
ク周期であるのに命令の実行開始までに42クロ
ツク周期要したが、第6図の方式では30クロツク
周期で済む。
FIG. 6 shows a time chart in the case of the present invention. Assuming that the instruction can access up to the 4th element E 3 and is on standby after that, there is a chaining instruction, so the element
Stop the clock when E3 is written to register 2. Therefore, in the instruction, the processing is interrupted after only a portion of the processing of the first, second, and third elements E 0 , E 1 , and E 2 has been executed. In this example, access becomes possible after four clock cycles, and instruction execution resumes when the subsequent elements E 4 , E 5 , . . . begin to be written to register 2. Next, an interruption occurred in the load instruction, but since there is no chaining with the arithmetic instructions being executed at the same time, the clock is not stopped, the instruction execution is interrupted, and the instruction processing is continued. In this way, in the system of FIG. 4, it took 42 clock cycles to start execution of the instruction, even though the interruption takes 4+4=8 clock cycles, whereas in the system of FIG. 6, it only takes 30 clock cycles.

またこの方式では前記(i)(ii)(iii)の制御は不要にな
るため、ロード命令を出すとき、その命令内の各
エレメント間でサイクルタイムの間にバンクのぶ
つかりが有るか否かを確認する必要がなくなり、
更に、メモリには、CHP等他装置からのアクセ
スも並行して実行できることになる。
In addition, this method eliminates the need for the controls in (i), (ii), and (iii) above, so when issuing a load instruction, it is checked whether or not there is a bank conflict during the cycle time between each element in that instruction. There is no need to check
Furthermore, the memory can be accessed in parallel from other devices such as CHP.

これは、ベクトル処理装置に複数のメモリアク
セス処理部すなわち複数のロード処理部やストア
処理部を置いても、それらを並列に実行させなが
らチエイニングを行なうことを可能とするので、
ロード処理部を2個置き、後続演算命令の第3オ
ペランドと第2オペランドを各ロード処理部でロ
ードしながら、その後続演算命令をチエイニング
しながら実行するようなとき、とりわけ有効とな
る。また命令と命令のプログラム上の順序を
入れ替えておけばVL命令の実行を早くスター
トさせることができるため、該VL命令の処理
が遅れたとしても、VA命令の処理を非同期に
並列に実行しながら、VM命令の実行時にはベ
クトルレジスタにデータが揃つているようにする
ことができる。すなわち、メモリアクセスによる
遅れを見えなくすることができる。第7図に本発
明の実施例を示す。10,12,14,16,1
8はレジスタ、20は命令デコーダ、22は命令
発信制御回路、24,26は一致回路、28はオ
アゲート、30,32はアンドゲート、34はイ
ンバータである。矩形枠36は実行中アクセス命
令管理部、38は実行中演算命令管理部を示す。
第7図は第1図のベクトル処理部に相当するもの
で、命令処理部、ロード処理部、ベクトルレジス
タ、演算処理部は第1図のそれに対応する。
This allows even if a vector processing device has multiple memory access processing units, that is, multiple load processing units and store processing units, to perform chaining while executing them in parallel.
This is particularly effective when two load processing units are provided and each load processing unit loads the third and second operands of a subsequent arithmetic instruction while executing the subsequent arithmetic instruction in a chained manner. In addition, by changing the program order of instructions, VL instruction execution can be started earlier, so even if the processing of the VL instruction is delayed, VA instruction processing can be executed asynchronously and in parallel. , it is possible to ensure that the data is aligned in the vector register when the VM instruction is executed. In other words, delays caused by memory access can be made invisible. FIG. 7 shows an embodiment of the present invention. 10, 12, 14, 16, 1
8 is a register, 20 is an instruction decoder, 22 is an instruction transmission control circuit, 24 and 26 are matching circuits, 28 is an OR gate, 30 and 32 are AND gates, and 34 is an inverter. A rectangular frame 36 indicates an access instruction management section being executed, and a reference numeral 38 indicates an execution instruction management section.
7 corresponds to the vector processing section shown in FIG. 1, and the instruction processing section, load processing section, vector register, and arithmetic processing section correspond to those shown in FIG.

命令制御部において、フエツチFした命令はレ
ジスタ10に格納され、次いで命令デコードD用
レジスタ12に移され、デコーダ20で解読さ
れ、然るのち命令発信待合せQレジスタ14に格
納される。レジスタ14内の命令は、先行中の命
令とオペランドレジスタのレジスタ干渉がないこ
と、演算処理部が空いていること、かつ命令制御
部の管理部36,38が空いていること等を確認
して命令実行に移る。前記命令列〜の場合は
次のようになる。フエツチされた命令はレジス
タ10,12、デコーダ20、レジスタ14、回
路22を通つて管理部36のレジスタ16に入
る。続いて命令がフエツチされかつシフト等さ
れてレジスタ14に入り、該レジスタで回路22
により命令発信条件が検査される。命令のオペ
ランドはその第3が命令の第1オペランドと一
致しているのでチエイニングしていることが分
り、該命令はレジスタ14で待たされる。命令
の実行が進んでロードデータエレメントをベク
トルレジスタ2に書込み開始すると、それを示す
フラグWFがロード処理部から送られ、これはイ
ンバータ34で反転されてH(ハイ)のレベル信
号がL(ロー)レベル信号に変り、アンドゲート
30を閉じて命令発信待ち信号を消滅させる(L
レベルにする)。そこで待機は解除となり、演算
命令の回路22を通つてベクトル処理装置の演
算処理部/アクセス処理部の起動情報Sbとなり
命令の実行を開始させると共に、管理部38の
レジスタ18に格納される。またこのときアンド
ゲート32から同期動作開始信号Scが出力さ
れ、ロード処理部の同期制御回路に入力される。
これによりロード処理部は、命令の実行中アク
セス中断が生じてレジスタへ後続データエレメン
トの書込みが不可能になつたときは、クロツクを
止めて命令(2)の実行も中断させる。Seは演算処
理部へ入力する同期制御信号であり、演算停止、
再開を指示する。
In the instruction control section, the fetched F instruction is stored in a register 10, then transferred to an instruction decode D register 12, decoded by a decoder 20, and then stored in an instruction transmission waiting Q register 14. For instructions in the register 14, check that there is no register interference between the preceding instruction and the operand register, that the arithmetic processing section is empty, and that the management sections 36 and 38 of the instruction control section are empty. Move to command execution. The above instruction sequence ~ is as follows. The fetched instruction passes through registers 10 and 12, decoder 20, register 14, and circuit 22 and enters register 16 of management section 36. The instruction is then fetched and shifted etc. into register 14 where it is transferred to circuit 22.
The command issuing conditions are checked. Since the third operand of the instruction matches the first operand of the instruction, chaining is known, and the instruction is made to wait in register 14. When the execution of the instruction progresses and the writing of the load data element to the vector register 2 starts, a flag WF indicating this is sent from the load processing section, and this is inverted by the inverter 34, so that the H (high) level signal becomes L (low). ) level signal, closes the AND gate 30, and eliminates the command transmission wait signal (L
level). Thereupon, the standby state is canceled, and the information passes through the arithmetic instruction circuit 22 to become activation information Sb for the arithmetic processing unit/access processing unit of the vector processing device, starting execution of the instruction, and is stored in the register 18 of the management unit 38. At this time, the AND gate 32 outputs a synchronous operation start signal Sc, which is input to the synchronous control circuit of the load processing section.
As a result, the load processing section stops the clock and also interrupts the execution of instruction (2) when an access interruption occurs during execution of the instruction and it becomes impossible to write a subsequent data element to the register. Se is a synchronization control signal input to the arithmetic processing unit, which stops the arithmetic operation,
Instruct restart.

一致回路24,26の一方の端子へはレジスタ
16中の命令の第1オペランド本例ではレジス
タ番号2が入力され、24の他方の端子にはレジ
スタ14内の命令の第2オペランドがまた26
の他方の端子には同レジスタ14内の命令の第
3オペランドが入力され(これらは逆でもよ
い)、両者比較される。従つて命令の第2、第
3オペランドの一方でも命令の第1オペランド
と同じであれば、従つて命令が命令とチエイ
ニングしておれば一致回路24,26のいずれか
から一致出力があり、これがアンドゲート30,
32の一方の入力となる。従つてチエイニングし
ていなければアンドゲート30の出力Saはな
く、回路22はロード命令の次の演算命令は直ち
に発信可とする。チエイニングしている場合は、
前述のようにフラグWFの到来を待つ。またアン
ド32はチエイニングしておればオアゲート28
の出力で開可能となつており、回路22が演算処
理部起動信号Sdを出力するとき前述の信号Scを
出力する。
The first operand of the instruction in the register 16, register number 2 in this example, is input to one terminal of the matching circuits 24, 26, and the second operand of the instruction in the register 14 is also input to the other terminal of the matching circuit 24, 26.
The third operand of the instruction in the register 14 is input to the other terminal of the register 14 (these may be reversed), and the two are compared. Therefore, if either the second or third operand of the instruction is the same as the first operand of the instruction, if the instruction is chained with the instruction, there will be a match output from either of the match circuits 24 or 26, and this will result in a match output. and gate 30,
This is one input of 32. Therefore, if there is no chaining, there is no output Sa from the AND gate 30, and the circuit 22 can immediately issue the operation instruction following the load instruction. If you are chaining,
Wait for the arrival of flag WF as mentioned above. Also, if AND32 is chaining, or gate 28
When the circuit 22 outputs the arithmetic processing unit activation signal Sd, it outputs the above-mentioned signal Sc.

第6図の下部タイムチヤートのF、D、Q、
L、E、WFは第7図で説明したそれに対応し、
第6図上部の命令実行状況を命令フエツチ、デコ
ードなどを含めて説明するものである。
F, D, Q in the lower time chart of Figure 6.
L, E, WF correspond to those explained in Fig. 7,
The instruction execution situation shown in the upper part of FIG. 6 will be explained, including instruction fetching, decoding, etc.

以上説明したように本発明によればアクセス中
断が生じてもベクトル処理遅れを可及的に短縮す
ることができ、勿論ベクトル処理に何ら不都合、
支障はない利点が得られる。なお以上ではロード
命令と演算命令とでチエイニングがある場合、な
い場合についての同期制御について説明したが、
本発明はこれのみに限定されず、第1の種類の命
令と第2の種類の命令との間にチエイニングが有
つたり無かつたりする場合に適用できるものであ
る。
As explained above, according to the present invention, even if access interruption occurs, vector processing delay can be shortened as much as possible, and of course there is no problem with vector processing.
You get the benefits without any problems. In the above, we have explained synchronization control when there is chaining between the load instruction and the operation instruction, and when there is no chaining.
The present invention is not limited to this, but can be applied to cases where there is or is not chaining between the first type of instruction and the second type of instruction.

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

第1図はベクトル処理装置を説明するブロツク
図、第2図はベクトル処理要領を説明する図、第
3図〜第5図は命令列実行状況を説明する図、第
6図は本発明の制御方式の説明図、そして第7図
は本発明の実施例を示すブロツク図である。 図面でブロツク「ロード処理部」は第1の処理
部、ブロツク「ストア処理部」は第2の処理部、
14,16,24,26はチエイン検出手段であ
る。
FIG. 1 is a block diagram explaining the vector processing device, FIG. 2 is a diagram explaining the vector processing procedure, FIGS. 3 to 5 are diagrams explaining the instruction sequence execution status, and FIG. 6 is the control of the present invention. An explanatory diagram of the system, and FIG. 7 is a block diagram showing an embodiment of the present invention. In the drawing, the block "load processing section" is the first processing section, the block "store processing section" is the second processing section,
14, 16, 24, and 26 are chain detection means.

Claims (1)

【特許請求の範囲】 1 並列実行可能な第1、第2の処理部を備え、
複数の要素データを1つのベクトル命令で処理す
るベクトル処理装置における命令処理同期制御方
式において、 先行して実行中の第1のベクトル命令と後続し
て発信される第2のベクトル命令との間にチエイ
ンがあるか否かを検出する手段を設け、チエイン
があることが検知されかつ先行命令の実行が、該
命令で処理すべき要素データ数の途中迄の処理で
中断するときは、それに応じて該後続発信命令の
実行を、該先行命令で処理した要素データ数より
少ない要素データ数迄の処理で中断させ、チエイ
ンがないことが検知されたとき後続発信命令の実
行は該先行命令とは非同期に実行することを特徴
とした命令処理同期制御方式。 2 第1の処理部はロード処理部、第2の処理部
は演算処理部であり、第1の命令はロード命令、
第2の命令は演算命令であることを特徴とする特
許請求の範囲第1項記載の命令処理同期制御方
式。
[Claims] 1. Comprising first and second processing units that can be executed in parallel,
In an instruction processing synchronization control method in a vector processing device that processes multiple element data with one vector instruction, there is A means for detecting whether or not there is a chain is provided, and when it is detected that there is a chain and the execution of the preceding instruction is interrupted halfway through the number of element data to be processed by the instruction, the method is implemented accordingly. The execution of the subsequent outgoing instruction is interrupted until the number of element data is less than the number of element data processed by the preceding instruction, and when it is detected that there is no chain, the execution of the subsequent outgoing instruction is asynchronous with the preceding instruction. An instruction processing synchronous control method characterized by execution. 2 The first processing unit is a load processing unit, the second processing unit is an arithmetic processing unit, and the first instruction is a load instruction,
2. The instruction processing synchronization control system according to claim 1, wherein the second instruction is an arithmetic instruction.
JP14297681A 1981-09-10 1981-09-10 Synchronous control system for instruction processing Granted JPS5844569A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14297681A JPS5844569A (en) 1981-09-10 1981-09-10 Synchronous control system for instruction processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14297681A JPS5844569A (en) 1981-09-10 1981-09-10 Synchronous control system for instruction processing

Publications (2)

Publication Number Publication Date
JPS5844569A JPS5844569A (en) 1983-03-15
JPS6259829B2 true JPS6259829B2 (en) 1987-12-12

Family

ID=15328027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14297681A Granted JPS5844569A (en) 1981-09-10 1981-09-10 Synchronous control system for instruction processing

Country Status (1)

Country Link
JP (1) JPS5844569A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS638633U (en) * 1986-07-03 1988-01-20

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3210307A1 (en) * 1982-03-20 1983-09-22 Basf Farben + Fasern Ag, 2000 Hamburg WATER-DISPERSIBLE BINDING AGENTS FOR CATIONIC ELECTRO-DIP COATINGS AND METHOD FOR THEIR PRODUCTION
JPS60178580A (en) * 1984-02-24 1985-09-12 Fujitsu Ltd Instruction control system
JPS6116335A (en) * 1984-07-02 1986-01-24 Nec Corp Information processor

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51854A (en) * 1974-06-21 1976-01-07 Hitachi Ltd Deijitarukeisankino senkoseigyohoshiki

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51854A (en) * 1974-06-21 1976-01-07 Hitachi Ltd Deijitarukeisankino senkoseigyohoshiki

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS638633U (en) * 1986-07-03 1988-01-20

Also Published As

Publication number Publication date
JPS5844569A (en) 1983-03-15

Similar Documents

Publication Publication Date Title
US5293500A (en) Parallel processing method and apparatus
JP2810068B2 (en) Processor system, computer system, and instruction processing method
US5241633A (en) Instruction handling sequence control system for simultaneous execution of instructions
JPS59114641A (en) Interrupt processor
US4027291A (en) Access control unit
US5487024A (en) Data processing system for hardware implementation of square operations and method therefor
US5041968A (en) Reduced instruction set computer (RISC) type microprocessor executing instruction functions indicating data location for arithmetic operations and result location
US5226166A (en) Parallel operation processor with second command unit
JPS58182758A (en) Arithmetic controller
JPS6259829B2 (en)
JP2798121B2 (en) Data processing device
JPH0512751B2 (en)
US6266764B1 (en) Program controller for switching between first program and second program
US5734855A (en) Processor with pipeline processing function having read buffer register and latch for storing register information where the result of external access type instruction is stored
JPS5896345A (en) Hierarchical arithmetic system
JPH0578053B2 (en)
EP0015276B1 (en) A digital pipelined computer
JP2812610B2 (en) Pipeline control method
JPS5896346A (en) Hierarchical arithmetic system
JP2511063B2 (en) Pipeline control method
JPH02217924A (en) Storing processing system for data processor
JPH08272608A (en) Pipeline processor
JP2636074B2 (en) Microprocessor
JPH027129A (en) Arithmetic processing unit
JPS61194566A (en) Vector data reference control system