JPS63184844A - Data processing system - Google Patents

Data processing system

Info

Publication number
JPS63184844A
JPS63184844A JP62016072A JP1607287A JPS63184844A JP S63184844 A JPS63184844 A JP S63184844A JP 62016072 A JP62016072 A JP 62016072A JP 1607287 A JP1607287 A JP 1607287A JP S63184844 A JPS63184844 A JP S63184844A
Authority
JP
Japan
Prior art keywords
instruction
mode
parallel execution
register
execution control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP62016072A
Other languages
Japanese (ja)
Inventor
Yoshiko Tamaoki
玉置 由子
Yasuhiro Inagami
稲上 泰弘
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP62016072A priority Critical patent/JPS63184844A/en
Publication of JPS63184844A publication Critical patent/JPS63184844A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To select two methods as a debugging means by designating the parallel execution control mode or the non-parallel execution control mode independently. CONSTITUTION:If the parallel execution control mode, namely, '0' is set to a static mode control indication set register 4-1 by an instruction 1, the non- parallel execution control mode, namely, '1' is set to a dynamic mode control indication set register 4-2 by an instruction 2 and the output of an OR gate 5 goes to '1', and instructions 3 and 4 are subjected to non-parallel execution control. When the instruction 3 is set to an adder executing instruction register 14-1 at a timing '0', an operation executing part 11 starts to add the 0th elements read out from vector registers 12 at a timing '1' and successively adds vector elements hereafter and adds the last elements at a timing 128 and informs resource operation information 9 that vector registers 12 and an adder 13-1 used by the instruction 3 are available. Static mode control indication set is designated to the register 4-2.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数個の演算処理を時間的に並列に実行する
データ処理システムに関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data processing system that executes a plurality of arithmetic operations in parallel in time.

〔従来の技術〕[Conventional technology]

演算処理の並列実行を行なうデータ処理システムの利点
はリソースの有効活用により処理時間の短縮が図れるこ
とである。しかし、同じプログラムを実行しても実行の
たびに並列に実行される部分が異なるため、プログラム
に誤りがある場合は、報告されるプログラム中の誤り箇
所が実行のたびに異なることがあり、プログラムのデバ
ッグが困難という欠点がある。そのため従来では特公昭
61−22818号に記載のように、複数個の命令を時
間的に並列実行する並列実行制御モードと、先行命令の
実行を待って次命令の実行に入る非並列実行制御モード
との2つのモードを設け、上記どちらのモードであるか
をプログラムにより指定するモード制御指示設定レジス
タを設け、デバッグの際には該モード制御指示設定レジ
スタに予めプログラムにより記述された結果に基づいて
モードの指示を行ない、非並列実行制御を行なうという
手段がとられていた。
The advantage of a data processing system that performs parallel execution of arithmetic processing is that processing time can be shortened by effectively utilizing resources. However, even if the same program is executed, the parts that are executed in parallel each time are different, so if there is an error in the program, the error location in the program may be reported differently each time the program is executed. The disadvantage is that it is difficult to debug. Therefore, conventionally, as described in Japanese Patent Publication No. 61-22818, there is a parallel execution control mode in which multiple instructions are executed temporally in parallel, and a non-parallel execution control mode in which execution of the next instruction is started after waiting for the execution of the preceding instruction. A mode control instruction setting register is provided for specifying which mode is selected by the program, and when debugging, the mode control instruction setting register is configured based on the result written in advance by the program in the mode control instruction setting register. The method used was to specify the mode and control non-parallel execution.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上記従来技術では、デバッグ手段として以下の2つの方
法のどちらか一方のみをユーザに提供することが可能で
あった。
In the conventional technology described above, it was possible to provide the user with only one of the following two methods as a debugging means.

1つは、プログラム中デバッグしたい部分に該モード制
御指示設定レジスタに非並列実行を指定する指示を埋め
込み、他の部分に該モード制御指示設定レジスタに並列
実行を指定する指示を埋め込むことにより、動的にプロ
グラムの部分部分を非並列実行制御するという方法であ
る。この方法は、プログラムの処理時間が短縮されると
いう利点があるが、一方プログラム中非並列実行制御し
たい箇所に予めその旨きめ細かく指示を挿入する必要が
あり、プログラム修正の手間が非常にかかるという欠点
がある。特に該プログラムが高級言語を使用していた場
合は、プログラム修正を行なう度に再コンパイルする必
要があり、修正の手間がさらに増加する。
One is to embed an instruction specifying non-parallel execution in the mode control instruction setting register in the part of the program that you want to debug, and embed an instruction specifying parallel execution in the mode control instruction setting register in other parts. This is a method of controlling the execution of parts of a program in a non-parallel manner. This method has the advantage of shortening the program processing time, but the disadvantage is that it requires detailed instructions to be inserted in advance at the parts of the program where non-parallel execution control is desired, and it takes a lot of effort to modify the program. There is. Particularly if the program uses a high-level language, it is necessary to recompile the program each time the program is modified, further increasing the effort required for modification.

もう1つは、実行したいプログラム自体には手を加えず
に、O8などのプログラムを介して上記モード制御指示
設定レジスタに非並列実行を指定し、実行するプログラ
ム全体を非並列実行制御するという方法である。この方
法は、プログラム修正の手間がかからないという利点が
あるが、プログラムの処理時間が増大するという欠点が
ある。
The other method is to control non-parallel execution of the entire program to be executed by specifying non-parallel execution in the above mode control instruction setting register via a program such as O8 without modifying the program itself. It is. This method has the advantage that it does not take much effort to modify the program, but has the disadvantage that the program processing time increases.

どちらの方法も一長一短があるが、上記従来技術では、
上記デバッグ方法の双方をユーザに提供し、いずれかを
選択させるということができなかつた。何故なら、プロ
グラム中に並列実行制御を指示されている部分と非並列
実行制御を指示されている部分とが混在しているプログ
ラムがあり。
Both methods have advantages and disadvantages, but with the above conventional technology,
It has not been possible to provide both of the above debugging methods to the user and allow the user to select one of them. This is because some programs contain a mixture of parts for which parallel execution control is instructed and parts for which non-parallel execution control is instructed.

ユーザがプログラムを修正することなくこのプログラム
全体を非並列実行制御したい場合、O8などのプログラ
ムを介して上記モード制御指示設定レジスタにその旨指
定しても、実行するプログラム中に埋め込まれた並列実
行制御を指示されている部分では上記モード制御指示設
定レジスタの内容が書替えられ、並列実行制御されるか
らである。
If the user wants to control non-parallel execution of the entire program without modifying the program, even if the user specifies this in the mode control instruction setting register through a program such as O8, the parallel execution embedded in the program to be executed will not be possible. This is because the contents of the mode control instruction setting register are rewritten in the portion for which control is instructed, and parallel execution is controlled.

本発明の目的は、デバッグ手段として上記双方の方法を
用意し、ユーザが自分のとりたい方法を選択できるよう
にすることにある。
An object of the present invention is to provide both of the above methods as debugging means, and to enable the user to select the method he or she wishes to use.

〔問題点を解決するための手段〕[Means for solving problems]

上記目的は、上記モード制御指示設定レジスタとしてそ
れぞれに独立に並列実行制御モードもしくは非並列実行
制御モードを指定できる2つの部分を設け、上記モード
制御指示設定レジスタの2つの部分の少なくとも一方に
非並列実行制御モードが指定されている時は非並列実行
制御を行ない、上記モード制御指示設定レジスタの2つ
の部分の双方に並列実行制御モードが指定されている時
は並列実行制御を行なうようにすることにより達成され
る。
The above purpose is to provide two parts as the mode control instruction setting register that can each independently specify a parallel execution control mode or a non-parallel execution control mode, and to set at least one of the two parts of the mode control instruction setting register to a non-parallel execution control mode. When the execution control mode is specified, non-parallel execution control is performed, and when the parallel execution control mode is specified in both of the two parts of the mode control instruction setting register, parallel execution control is performed. This is achieved by

〔作用〕[Effect]

上記モード、制御指示設定レジスタの2つの部分の一方
を静的モード制御指示設定レジスタ(或いはレジスタ)
、他方を動的モード制御指示設定レジスタ(或いはDレ
ジスタ)と呼ぶと、デバッグ。
Set one of the two parts of the above mode and control instruction setting register to the static mode control instruction setting register (or register)
, the other is called the dynamic mode control instruction setting register (or D register) for debugging.

の際に以下のように上記どちらの方法でもとることがで
きる。
Either of the above methods can be used as shown below.

プログラムの部分部分を動的に非並列実行制御する方法
をとる場合は、O8などのプログラムで上記静的モード
制御指示設定レジスタに並列実行制御モードを指定する
よう指示し、さらにプログラム中の非並列実行制御した
い部分にその行動的モード制御指示設定レジスタに指定
するよう指示を挿入し、必要ならば再びコンパイルして
プログラムを実行させれば、プログラムは動的モード制
御指示設定レジスタに非並列実行制御モードを指定した
部分のみが動的に非並列実行制御される。
When using a method to dynamically control non-parallel execution of partial parts of a program, instruct the static mode control instruction setting register to specify the parallel execution control mode using a program such as O8, and then Insert an instruction to specify in the behavioral mode control instruction setting register in the part you want to control execution, compile again if necessary, and run the program. Only the parts for which the mode is specified are dynamically controlled for non-parallel execution.

一方、プログラム全体を静的に非並列実行制御する方法
をとる場合は、モード制御指示設定レジスタとして2つ
の部分を設けたため、O8などのプログラムで上記静的
モード制御指示設定レジスタに非並列実行制御モードを
指定するよう指示してプログラムを実行させれば、プロ
グラム中で上記動的モード制御指示設定レジスタに並列
実行制御モードを指定している部分があっても非並列実
行制御モードを指定している部分があっても、プログラ
ムは全体が静的に非並列実行制御される。
On the other hand, when using a method to statically control non-parallel execution of the entire program, two parts are provided as the mode control instruction setting register, so in a program such as O8, the static mode control instruction setting register is used to control non-parallel execution. If you run the program by instructing to specify the mode, even if there is a part of the program that specifies the parallel execution control mode in the above dynamic mode control instruction setting register, the non-parallel execution control mode will be specified. Even if there are some parts of the program, the entire program is statically controlled for non-parallel execution.

〔実施例〕〔Example〕

以下1本発明の一実施例を図面を参照しつつ説明する。 An embodiment of the present invention will be described below with reference to the drawings.

。 第1図は本発明の一実施例であるベクトルプロセッサの
構成を示す。
. FIG. 1 shows the configuration of a vector processor that is an embodiment of the present invention.

第1図において1はプログラムが格納されているメモリ
、2は命令フェッチ部、3はデコーダ、4はモード制御
指示設定レジスタ、そのうち4−1はその値が1の時非
並列実行制御モードを表示し、その値がOの時並列実行
制御モードを表示する静的モード制御指示設定レジスタ
(Sレジスタ)。
In Figure 1, 1 is the memory where the program is stored, 2 is the instruction fetch unit, 3 is the decoder, 4 is the mode control instruction setting register, and 4-1 of these indicates the non-parallel execution control mode when its value is 1. A static mode control instruction setting register (S register) that indicates the parallel execution control mode when its value is O.

4−2はその値が1の時非並列実行制御モードを表示し
、その値が0の時並列実行制御モードを表示する動的モ
ード制御指示設定レジスタ(Dレジスタ)、5はORゲ
ート、6は上記デコーダ3によりデコードされた命令の
演算実行開始時を決定し、該命令の演算実行を開始させ
る演算実行開始決定部、7は上部演算実行開始決定部の
制御部、8は命令レジスタ、9は後述する演算実行部の
ベクトルレジスタ、演算ユニットの稼動状況を反映する
リソース稼動情報、10は後述する演算実行部で演算を
実行中の命令の有無を反映する実行中命令情報、11は
演算実行部、12−4.12−2、・・・・・・は夫々
ベクトルレジスタ、13−1.13−2.・・・・・・
は夫々演算ユニット、14−1゜14−2.・・・・・
・は夫々上記演算ユニットに対応した実行中命令レジス
タを表わしている。
4-2 is a dynamic mode control instruction setting register (D register) that displays non-parallel execution control mode when its value is 1, and displays parallel execution control mode when its value is 0; 5 is an OR gate; 6 7 is a control unit for the upper arithmetic execution start determining unit; 8 is an instruction register; 9 is a control unit for the upper arithmetic execution start determining unit; 10 is the execution instruction information that reflects the presence or absence of an instruction being executed in the arithmetic execution unit, and 11 is the arithmetic execution information. 12-4.12-2, . . . are vector registers, 13-1.13-2.・・・・・・
are arithmetic units, 14-1 and 14-2, respectively.・・・・・・
. each represents an executing instruction register corresponding to the above-mentioned arithmetic unit.

プログラムの実行に際して、命令フェッチ部2はメモリ
1から命令を読み出し、デコーダ3は該読み出された命
令をデコードし、該デコードされた命令がモード制御指
示設定レジスタ4に並列実行制御モードもしくは非並列
実行制御モードを指定する命令ならば該指定されたモー
ドを表示する0もしくは1の値をモード制御指示設定レ
ジスタ4にセットし、該デコードされた命令が演算命令
ならば該デコードされた命令を命令レジスタ8にセット
する。
When executing a program, the instruction fetch unit 2 reads an instruction from the memory 1, the decoder 3 decodes the read instruction, and the decoded instruction is stored in the mode control instruction setting register 4 as a parallel execution control mode or a non-parallel execution control mode. If the instruction specifies an execution control mode, a value of 0 or 1 indicating the specified mode is set in the mode control instruction setting register 4, and if the decoded instruction is an operation instruction, the decoded instruction is used as the instruction. Set in register 8.

ORゲート5は、静的モード制御指示設定レジスタ4−
1と動的モード制御指示設定レジスタ4−2の少なくと
も一方に非並列実行制御モード即ち1が指定されていれ
ば非並列実行制御モードを表示する1を出力し、静的モ
ード制御指示設定レジスタ4−1を動的モード制御指示
設定レジスタ4−2の双方に並列実行制御モード即ち0
が指定されていれば並列実行制御モードを表示する0を
出力し、演算実行開始決定部6に送出する。
The OR gate 5 is connected to the static mode control instruction setting register 4-
If the non-parallel execution control mode, that is, 1 is specified in at least one of the static mode control instruction setting register 4-2 and the static mode control instruction setting register 4-2, 1 indicating the non-parallel execution control mode is output. -1 to both dynamic mode control instruction setting registers 4-2 for parallel execution control mode, that is, 0.
If , it outputs 0 indicating the parallel execution control mode, and sends it to the calculation execution start determining section 6.

演算実行開始決定部6では、制御部7が該ORゲート5
からの出力と、デコーダ3によりセットされた命令レジ
スタ8の内容と、リソース稼動情報9と、実行中命令情
報10により、命令レジスタ8の内容を演算実行部11
中の実行命令レジスタ14に送出するか否かを決定する
In the calculation execution start determining unit 6, the control unit 7 controls the OR gate 5.
, the contents of the instruction register 8 set by the decoder 3, the resource operation information 9, and the currently executing instruction information 10, the contents of the instruction register 8 are transferred to the operation execution unit 11.
It is determined whether or not to send it to the execution instruction register 14 inside.

演算実行部11は、演算実行開始決定部6から実行中命
令レジスタに命令をセットされた場合。
When the arithmetic execution unit 11 has an instruction set in the executing instruction register from the arithmetic execution start determining unit 6.

該セットされた命令の指示に従い演算処理を実行する。Arithmetic processing is executed according to the instructions of the set instruction.

具体的には例えば、該セットされた命令に指定されたベ
クトルレジスタ12からデータを読出し、該セットされ
た命令で指定された演算ユニット13で演算を実行し、
演算結果を該セットされた命令で指定されたベクトルレ
ジスタ12に書込むなどの処理を行なう。
Specifically, for example, data is read from the vector register 12 specified by the set instruction, and an operation is executed by the arithmetic unit 13 specified by the set instruction.
Processing such as writing the operation result into the vector register 12 specified by the set instruction is performed.

演算実行部11は、上記ベクトルレジスタ12や演算ユ
ニット13のいずれが他命令で使用可であるかを時々刻
々リソース稼動情報9に報告し、該演算実行部11で演
算を実行中の命令の有無を実行中命令情報10に報告す
る。制御部7は上記のようにして得られたリソース稼動
情報9や実行中命令情報10を参照して命令レジスタ8
の内容を演算実行部11中の実行中命令レジスタ14に
送出するか否かを決定する。
The arithmetic execution unit 11 reports from time to time to the resource operation information 9 which of the vector registers 12 and arithmetic units 13 can be used by other instructions, and determines whether or not there is an instruction being executed by the arithmetic execution unit 11. is reported to the currently executing instruction information 10. The control unit 7 refers to the resource operation information 9 and the currently executing instruction information 10 obtained as described above, and registers the instruction register 8.
It is determined whether or not the contents of are to be sent to the executing instruction register 14 in the arithmetic execution unit 11.

具体的には、制御部7は、ORゲート5から0を受は取
った時、即ち並列実行制御モードを指定された時には、
リソース稼動情報9を参照して命令レジスタ8中の命令
で使用するベクトルレジスタ12や演算ユニット13が
使用可になるのを待って、上記命令レジスタ8の内容を
その命令で使用する演算ユニット13に対応する実行中
命令レジスタ14に送出する。そのため演算実行部11
では複数の命令の演算処理が時間的に並列に実行される
Specifically, when the control unit 7 receives 0 from the OR gate 5, that is, when the parallel execution control mode is specified,
It refers to the resource operation information 9, waits until the vector register 12 and the arithmetic unit 13 used by the instruction in the instruction register 8 become available, and then transfers the contents of the instruction register 8 to the arithmetic unit 13 used by that instruction. It is sent to the corresponding executing instruction register 14. Therefore, the calculation execution unit 11
In this case, the arithmetic processing of multiple instructions is executed temporally in parallel.

一方、制御部7は、ORゲート5から1を受は取った時
、即ち非並列実行制御モードを指定された時には、リソ
ース稼動情報9を参照して命令レジスタ8中の命令で使
用するベクトルレジスタ12や演算ユニット13が使用
可能になるのを待ち、さらに実行中命令情報10を参照
して演算実行部11で演算を実行中の命令がなくなるの
を待って、該命令レジスタ8中の命令で使用する演算ユ
ニット13に対応する実行中命令レジスタ14に送出す
る。そのため演算実行部11では、ある命令の演算処理
の実行はそれ以前の命令の実行が終了してから開始され
る。
On the other hand, when the control unit 7 receives 1 from the OR gate 5, that is, when the non-parallel execution control mode is specified, the control unit 7 refers to the resource operation information 9 and registers a vector register to be used by the instruction in the instruction register 8. 12 and the arithmetic unit 13 become available, and then refer to the executing instruction information 10 and wait until there are no more instructions being executed in the arithmetic execution unit 11. It is sent to the executing instruction register 14 corresponding to the arithmetic unit 13 to be used. Therefore, in the arithmetic execution unit 11, the execution of the arithmetic processing of a certain instruction is started after the execution of the previous instruction is completed.

上記構成の実施例において、プログラム中非並列実行制
御したい部分のみを非並列実行制御する方法と、プログ
ラム全体を静的に非並列実行制御する方法とを、第2図
、第3図、第4図により説明する。
In the embodiment of the above configuration, a method for controlling non-parallel execution only of the part of the program that is desired to be controlled for non-parallel execution, and a method for statically controlling non-parallel execution of the entire program are shown in FIGS. 2, 3 and 4. This will be explained using figures.

第2図は与えられるプログラムの例を、第3図は第2図
図示のプログラム15−1を実行した時のタイミングチ
ャートを、第4図は第2図図示のプログラム15−2を
実行した時のタイミングチャートを示す。
Fig. 2 shows an example of the given program, Fig. 3 shows a timing chart when program 15-1 shown in Fig. 2 is executed, and Fig. 4 shows a timing chart when program 15-2 shown in Fig. 2 is executed. The timing chart is shown below.

第2図において命令の、■、■は夫々静的モード制御指
示設定レジスタ4−1もしくは動的モード制御指示設定
レジスタ4−2への並列実行制御モードもしくは非並列
実行制御モードの指定を指示し、命令■、■はベクトル
加算命令、命令■。
In FIG. 2, instructions ■ and ■ instruct the static mode control instruction setting register 4-1 or dynamic mode control instruction setting register 4-2 to specify parallel execution control mode or non-parallel execution control mode, respectively. , instruction ■, ■ is a vector addition instruction, instruction ■.

■はベクトル乗算命令である。■ is a vector multiplication instruction.

第2図図示のプログラム15−1によりプログラム中非
並列実行制御したい部分のみを動的に非並列実行制御す
ることができる。ベクトル演算のベクトル長を128と
し、演算ユニット13−1を加算器、演算ユニット13
−2を乗算器として以下第3図を説明する。
By using the program 15-1 shown in FIG. 2, it is possible to dynamically control the non-parallel execution of only the portion of the program that is desired to be controlled for non-parallel execution. The vector length of the vector operation is 128, and the operation unit 13-1 is an adder, and the operation unit 13
FIG. 3 will be explained below using -2 as a multiplier.

命令■により静的モード制御指示設定レジスタ4−1に
並列実行制御モード即ちOが指定され、命令■により動
的モード制御指示設定レジスタ4−2に非並列実行制御
モードが即ち1指定されたためORゲート5の出力が1
となり、命令■、■は非並列実行制御される。タイミン
グOで加算器実行中命令レジスタ14−1に命令■がセ
ットされると、演算実行部11は、タイミング1でベク
トルレジスタ12から読み出された第O要素の加算を始
め、以下順次ベクトル要素の加算を行ない。
The instruction ■ specifies the parallel execution control mode, that is, O, in the static mode control instruction setting register 4-1, and the instruction ■ specifies the non-parallel execution control mode, that is, 1, in the dynamic mode control instruction setting register 4-2. The output of gate 5 is 1
Therefore, instructions ■ and ■ are executed in a non-parallel manner. When the instruction ■ is set in the adder execution instruction register 14-1 at timing O, the arithmetic execution unit 11 starts adding the O-th element read from the vector register 12 at timing 1, and then sequentially adds the vector elements. Perform the addition of .

タイミング128で最終要素の加算を行なうと共に、リ
ソース稼動情報9に命令■で使用していたベクトルレジ
スタ12及び加算器13−1が使用可になった旨を報告
し、実行中命令情報10に演算実行部11で演算を実行
中の命令が無くなった旨報告する。制御部7は上記リソ
ース稼動情報9及び実行中命令情報10により、タイミ
ング130で命令■を乗算器実行中命令レジスタ10−
2にセットし、タイミング131〜258でベクトル乗
算が行なわれる。
At timing 128, the final element is added, and the resource operation information 9 reports that the vector register 12 and adder 13-1 used in the instruction ① are now available, and the execution instruction information 10 indicates the operation. It is reported that there are no more instructions being executed by the execution unit 11. Based on the resource operation information 9 and the currently executing instruction information 10, the control unit 7 transfers the instruction ■ to the multiplier executing instruction register 10- at timing 130.
2, and vector multiplication is performed at timings 131-258.

命令■により静的モード制御指示設定レジスタ4−2に
並列実行制御モード即ちOが指定されモード制御指示設
定ンジスタ7は双方ともOを指定されたため、ORゲー
ト5の出力が0となり命令■、■は並列実行制御される
。タイミング401で加算器実行中命令レジスタ14−
1に命令■がセットされると、演算実行部11はタイミ
ング402でベクトル加算を始め、−力制御部7は、リ
ソース稼動情報9を参照し、命令■で使用するベクトル
レジスタ12及び演算ユニット13が使用可なため、同
じタイミングで乗算器実行中命令レジスタ14−2に命
令■をセットし、演算実行部11ではタイミング403
でベクトル乗算が始まり、タイミング529でベクトル
加算、タイミング530でベクトル乗算が終了する。
Since the parallel execution control mode, that is, O, is specified in the static mode control instruction setting register 4-2 by the instruction ■, and O is specified in both the mode control instruction setting registers 7, the output of the OR gate 5 becomes 0, and the instructions ■ and ■ is controlled in parallel. At timing 401, adder execution instruction register 14-
When the instruction ■ is set to 1, the calculation execution unit 11 starts vector addition at timing 402, and the force control unit 7 refers to the resource operation information 9 and sets the vector register 12 and calculation unit 13 used in the instruction ■. can be used, the instruction ■ is set in the multiplier execution instruction register 14-2 at the same timing, and the operation execution unit 11 uses the timing 403.
Vector multiplication starts at timing 529, vector addition ends at timing 530, and vector multiplication ends at timing 530.

第2図図示のプログラム15−2によりプログラム全体
を静的に非並列実行制御することができる。プログラム
15−2はプログラム15−1と命令■において静的モ
ード制御指示設定レジスタに非並列実行制御モードを指
定している所のみ異なっている。
The program 15-2 shown in FIG. 2 allows static non-parallel execution control of the entire program. The program 15-2 differs from the program 15-1 only in that the non-parallel execution control mode is specified in the static mode control instruction setting register in the instruction (2).

命令■により静的モード指示設定レジスタ4−1に非並
列実行制御モード即ち1が指定され、命令■により動的
モード指示設定レジスタ4−2に非並列実行制御モード
即ち1が指定されたためORゲート5の出力が1となり
、命令■、■は非並列実行制御される。タイミングOで
加算器実行中命令レジスタ10−1に命令■がセットさ
れると、演算実行部11はタイミング1〜128でベク
トル加算を行ない、制御部7はベクトル加算の終了を待
って命令■をタイミング130で乗算器実行中命令レジ
スタ14−2にセットし、タイミング131〜258で
ベクトル乗算が行なわれる。
The instruction ■ specifies the non-parallel execution control mode, that is, 1, in the static mode instruction setting register 4-1, and the instruction ■ specifies the non-parallel execution control mode, that is, 1, in the dynamic mode instruction setting register 4-2, so the OR gate is activated. The output of 5 becomes 1, and the instructions ■ and ■ are controlled for non-parallel execution. When the instruction ■ is set in the adder execution instruction register 10-1 at timing O, the arithmetic execution unit 11 performs vector addition at timings 1 to 128, and the control unit 7 waits for the end of the vector addition before issuing the instruction ■. It is set in the multiplier execution instruction register 14-2 at timing 130, and vector multiplication is performed at timings 131-258.

命令■により動的モード指示設定レジスタ4−2に並列
実行制御モード即ち0が指定されるが。
The parallel execution control mode, that is, 0, is specified in the dynamic mode instruction setting register 4-2 by instruction (2).

静的モード制御指示設定レジスタ4−1が指定されてい
るためORゲート5の出力が1となり、命令■、■は非
並列実行制御される。タイミング401で加算器実行中
命令レジスタ14−1に命令■がセットされると、演算
実行部11はタイミング402〜529でベクトル加算
を行ない、制御部7はベクトル加算の終了を待って命令
■をタイミング531で乗算器実行中命令レジスタ14
−2にセットし、タイミング532〜659でベクトル
乗算が行なわれる。
Since the static mode control instruction setting register 4-1 is specified, the output of the OR gate 5 becomes 1, and the instructions (2) and (2) are controlled to be executed in a non-parallel manner. When the instruction ■ is set in the adder execution instruction register 14-1 at timing 401, the arithmetic execution unit 11 performs vector addition at timings 402 to 529, and the control unit 7 waits for the end of the vector addition before issuing the instruction ■. At timing 531, the multiplier execution instruction register 14
-2, and vector multiplication is performed at timings 532-659.

上記のように、モード制御指示設定レジスタ7として2
つの部分を設けたため、プログラムで静的モード制御指
示設定レジスタ4−1に非並列実行制御モードを指定す
るよう指示してプログラムを実行させれば、プログラム
中で動的モード制御指示設定レジスタ4−2に並列実行
制御モードを指定している部分があっても非並列実行制
御を指定している部分があっても、プログラム全体が静
的に非並列実行制御される。
As mentioned above, 2 is set as the mode control instruction setting register 7.
Therefore, if a program instructs the static mode control instruction setting register 4-1 to specify the non-parallel execution control mode and executes the program, the dynamic mode control instruction setting register 4-1 in the program can be executed. 2, even if there is a part that specifies parallel execution control mode or a part that specifies non-parallel execution control, the entire program is statically controlled for non-parallel execution.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、演算処理の並列実行を行なうデータ処
理システムにおいて、プログラムを非並列実行制御して
デバッグを行なう場合に、プログラム中非並列実行制御
したい部分のみを動的に非並列実行制御して処理時間を
短縮する方法と、実行するプログラム全体を静的に非並
列実行制御してプログラム修正の手間を省く方法との2
つの方法のいずれかをユーザが選択できる環境を提供で
きるという効果がある。
According to the present invention, when debugging a program by controlling non-parallel execution in a data processing system that performs parallel execution of arithmetic processing, the non-parallel execution is dynamically controlled only for the part of the program that is desired to be controlled. There are two methods: one is to shorten the processing time, and the other is to statically control non-parallel execution of the entire program to be executed, thereby saving the effort of modifying the program.
This has the effect of providing an environment in which the user can select one of two methods.

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

第1図は本発明の一実施例の構成図、第2図は与えられ
るプログラムの一例、第3図、第4図は第2図図示のプ
ログラムが与えられた時のタイミングチャートである。 1・・・メモリ、2・・・命令フェッチ部、3・・・デ
コーダ。 4・・・モード制御指示設定レジスタ、5・・・ORゲ
ート、6・・・演算実行開始決定部、7・・・制御部、
8・・・命令レジスタ、9・・・リソース稼動情報、1
0・・・実行中命令情報、11・・・演算実行部、12
・・・ベクトルレジスタ、13・・・演算ユニット、1
4・・・実行中命令レジスタ、7−・7 代理人 弁理士 小川勝男  J \ぐ− 躬 l 凹 第 2 図
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is an example of a given program, and FIGS. 3 and 4 are timing charts when the program shown in FIG. 2 is given. 1...Memory, 2...Instruction fetch unit, 3...Decoder. 4... Mode control instruction setting register, 5... OR gate, 6... Arithmetic execution start determining unit, 7... Control unit,
8... Instruction register, 9... Resource operation information, 1
0... Executing instruction information, 11... Arithmetic execution unit, 12
...Vector register, 13...Arithmetic unit, 1
4...Executing instruction register, 7-・7 Agent Patent attorney Katsuo Ogawa J

Claims (1)

【特許請求の範囲】[Claims] 1、複数個の演算ユニットをそなえ、該演算ユニットが
時間的に並列に演算処理を実行できるよう構成され、複
数個の命令を実行するにあたつて、上記演算ユニットに
対しオペランドが入力可能になることを待つて上記複数
個の命令を時間的に並列に実行する並列実行制御モード
と、上記複数個の命令中の先行命令の実行を待って命令
実行に入る非並列実行制御モードとのどちらのモードで
も動作できる手段を有する演算開始決定部を備え、上記
並列実行制御モード若しくは上部非並列実行制御モード
を指定するモード制御指示設定レジスタを備え、該モー
ド制御指示設定レジスタに指定されている内容に従つて
上記演算実行開始部が実行制御を行なうデータ処理シス
テムにおいて、上記モード制御指示設定レジスタとして
それぞれ独立に上記並列実行制御モード若しくは上記非
並列実行制御モードを指定できる2つの部分を設け、上
記演算開始決定部が該モード制御指示設定レジスタの2
つの部分の少なくとも一方に上記非並列実行制御モード
が指定されている時は非並列実行制御を行ない、該モー
ド制御指示設定レジスタの2つの部分の双方に並列実行
制御モードが指定されている時は並列実行制御を行なう
手段を有することを特徴とするデータ処理システム。
1. Equipped with multiple arithmetic units, configured so that the arithmetic units can perform arithmetic processing in parallel in time, and operands can be input to the arithmetic units when executing multiple instructions. A parallel execution control mode in which the multiple instructions are executed in parallel in time by waiting for the execution of the instruction, and a non-parallel execution control mode in which the instructions are executed by waiting for the preceding instruction among the multiple instructions to be executed. a calculation start determining unit having means capable of operating in the mode of Accordingly, in a data processing system in which the arithmetic execution start section performs execution control, two parts are provided as the mode control instruction setting registers, each of which can independently specify the parallel execution control mode or the non-parallel execution control mode, and The calculation start determining section is set to 2 of the mode control instruction setting register.
When the above-mentioned non-parallel execution control mode is specified in at least one of the two parts, non-parallel execution control is performed, and when the parallel execution control mode is specified in both of the two parts of the mode control instruction setting register, A data processing system characterized by having means for controlling parallel execution.
JP62016072A 1987-01-28 1987-01-28 Data processing system Pending JPS63184844A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62016072A JPS63184844A (en) 1987-01-28 1987-01-28 Data processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62016072A JPS63184844A (en) 1987-01-28 1987-01-28 Data processing system

Publications (1)

Publication Number Publication Date
JPS63184844A true JPS63184844A (en) 1988-07-30

Family

ID=11906364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62016072A Pending JPS63184844A (en) 1987-01-28 1987-01-28 Data processing system

Country Status (1)

Country Link
JP (1) JPS63184844A (en)

Similar Documents

Publication Publication Date Title
US4879646A (en) Data processing system with a pipelined structure for editing trace memory contents and tracing operations during system debugging
JP3663710B2 (en) Program generation method and processor interrupt control method
JP3816961B2 (en) Data processing apparatus for processing virtual machine instructions
KR910017256A (en) Programmable controller
JPS63184844A (en) Data processing system
JPH0322161A (en) Extended board control system for personal computer
JP2583506B2 (en) Data processing device
JPS58200349A (en) Microprogram controller
JPH0561660B2 (en)
JPS6122818B2 (en)
JPS6353643A (en) Instruction control device
JP2674873B2 (en) Step execution operation method of program development support device
JPS5829051A (en) Operation processing device
JP3114884B2 (en) Fuzzy inference processing compilation system
JPS595354A (en) Data processing device
JPS6353644A (en) Instruction control device
JPH0317135B2 (en)
JP2825315B2 (en) Information processing device
JPH02110636A (en) Debugging device for tag architecture machine and its compiler
JP2559924B2 (en) Programmable controller
JPS61241843A (en) Information processor
JPS6143347A (en) Simulation method of vector instruction
JPH0636161B2 (en) Information processing equipment
JPH02181871A (en) Vector arithmetic unit
JPH02284236A (en) Program debugging processor