JP2636136B2 - Arithmetic processing device and arithmetic processing method - Google Patents

Arithmetic processing device and arithmetic processing method

Info

Publication number
JP2636136B2
JP2636136B2 JP5122202A JP12220293A JP2636136B2 JP 2636136 B2 JP2636136 B2 JP 2636136B2 JP 5122202 A JP5122202 A JP 5122202A JP 12220293 A JP12220293 A JP 12220293A JP 2636136 B2 JP2636136 B2 JP 2636136B2
Authority
JP
Japan
Prior art keywords
branch
taken
instruction
instructions
executed
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 - Lifetime
Application number
JP5122202A
Other languages
Japanese (ja)
Other versions
JPH06309166A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
Agency of Industrial Science and Technology
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 Agency of Industrial Science and Technology filed Critical Agency of Industrial Science and Technology
Priority to JP5122202A priority Critical patent/JP2636136B2/en
Publication of JPH06309166A publication Critical patent/JPH06309166A/en
Application granted granted Critical
Publication of JP2636136B2 publication Critical patent/JP2636136B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、複数の操作フィールド
から構成された命令を複数の演算器を用いて並列処理
し、演算の高速化を図った演算処理装置及び演算処理方
法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an arithmetic processing device and an arithmetic processing method for processing instructions composed of a plurality of operation fields in parallel by using a plurality of arithmetic units to achieve high-speed arithmetic.

【0002】[0002]

【従来の技術】コンピュータの高性能化に伴い、演算処
理の高速化がますます要求されている。例えば、マイク
ロプログラムやその他各種の演算用プログラムについ
て、その演算処理の高速化を図るために、VLIW(Ve
ry Long Instruction Word, 長語命令)方式が提案され
ている。図2に、従来のVLIW方式の演算処理装置ブ
ロック図を示す。図の装置は、図に示すような命令1を
処理する。この命令1は、演算器制御フィールド2とメ
モリ制御フィールド3とから構成されている。演算器制
御フィールド2には、例えば4つの操作フィールド4が
設けられている。各操作フィールド4には、それぞれ一
定の演算操作op1〜op4が設定されている。
2. Description of the Related Art As computers become more sophisticated, there is an increasing demand for faster arithmetic processing. For example, VLIW (VeW) is used to speed up the processing of microprograms and other various arithmetic programs.
ry Long Instruction Word). FIG. 2 shows a block diagram of a conventional VLIW arithmetic processing device. The illustrated device processes instruction 1 as shown. This instruction 1 is composed of an arithmetic unit control field 2 and a memory control field 3. The operation unit control field 2 is provided with, for example, four operation fields 4. In each of the operation fields 4, certain calculation operations op1 to op4 are set.

【0003】この装置は、命令レジスタ5に、この命令
1を受け入れて演算処理を行う。命令レジスタ5には、
操作フィールド保持部5−1〜5−4と、メモリ制御フ
ィールド保持部5−5とが設けられている。操作フィー
ルド保持部5−1〜5−4には、それぞれ演算器6−1
〜6−4が接続されている。これらの演算器6−1〜6
−4の出力は結合網7に送り込まれる。また、メモリ制
御フィールド保持部5−5はメモリバンク8に接続され
ている。このメモリバンク8は上記結合網7と接続され
ている。上記のような演算処理装置は、命令レジスタ5
に格納された命令1の各操作フィールド4の演算操作
を、対応して設けられた演算器6−1〜6−4によって
並列処理する。その処理結果やメモリバンク8に格納さ
れたデータは、結合網7によって相互に読み書きされ、
その後の処理に使用される。
In this apparatus, an instruction register 5 receives this instruction 1 and performs an arithmetic operation. Instruction register 5 contains
Operation field holding units 5-1 to 5-4 and a memory control field holding unit 5-5 are provided. The operation field holding units 5-1 to 5-4 have arithmetic units 6-1 respectively.
To 6-4 are connected. These computing units 6-1 to 6
The output of -4 is sent to the connection network 7. The memory control field holding unit 5-5 is connected to the memory bank 8. This memory bank 8 is connected to the connection network 7. The arithmetic processing device as described above includes an instruction register 5
Are processed in parallel by arithmetic units 6-1 to 6-4 provided correspondingly. The processing result and the data stored in the memory bank 8 are mutually read and written by the connection network 7,
Used for subsequent processing.

【0004】上記のような命令1に含まれる各操作の内
容は、プログラマーやコンパイラが指定する。即ち、ど
の操作が並列処理されるかは、全てこの命令の実行前に
決定されている。プログラムの大域的な動作について、
プログラマーの把握している知識を利用し、あるいはコ
ンパイラがプログラムの動作を大域的に解析することに
よって得られた情報を利用し、並列処理される操作がで
きるだけ多くなるように命令が並べられる。例えば、従
来この他の方法として、並列に実行される操作を実行時
にその都度決定していくような方法も提案されている
が、VLIW方式は、このような方式に比べて演算装置
等のプロセッサのハードウェア資源の利用効率を高める
ことができるといった利点がある。また、実行時に並列
処理すべき操作を決定するような他の方法では、データ
の依存関係の抽出や、複雑な制御を行う必要があるが、
VLIW方式では、このような制御は不要になり、ハー
ドウェア構成を簡素化することができ、命令の実行が高
速化されるといった利点がある。
The contents of each operation included in the instruction 1 as described above are designated by a programmer or a compiler. In other words, which operations are to be processed in parallel are all determined before the execution of this instruction. About the global behavior of the program,
Instructions are arranged so that the number of operations to be performed in parallel is increased as much as possible, using the knowledge obtained by the programmer or the information obtained by the compiler analyzing the operation of the program globally. For example, as another conventional method, a method has been proposed in which operations to be executed in parallel are determined each time the operation is performed. However, the VLIW method is different from such a method in that a processor such as an arithmetic unit is used. There is an advantage that the utilization efficiency of hardware resources can be improved. Other methods, such as deciding which operations should be processed in parallel at run time, require extracting data dependencies and performing complex controls.
In the VLIW method, such control is not required, and the hardware configuration can be simplified, and there is an advantage that the speed of execution of an instruction is increased.

【0005】[0005]

【発明が解決しようとする課題】ところで、上記のよう
なVLIW方式においては、予め命令を構成する操作フ
ィールドの数を設定し、この数に対応した演算器を用意
する。従って、常にこれらの演算器をフルに使用し、並
列演算を行えば、初期の高速処理の目的が達成される。
しかしながら、並列処理可能な操作が見当らず、並列度
が低くなった場合には、演算器制御フィールドに遊びが
でき、動作しない演算器が生じることから、命令のビッ
ト使用効率が低下する。この並列度はコンパイラの能力
等に依存し、その能力をより高めることが処理の高速化
を図るために重要である。本発明は以上の点に着目して
なされたもので、操作の並列度を高め、命令のビット使
用効率とプロセッサのハードウェア資源の利用効率を向
上させた演算処理装置及び演算処理方法を提供すること
を目的とするものである。
By the way, in the above-described VLIW system, the number of operation fields constituting an instruction is set in advance, and an arithmetic unit corresponding to this number is prepared. Therefore, if these arithmetic units are always fully used and parallel arithmetic is performed, the purpose of the initial high-speed processing can be achieved.
However, when an operation that can be processed in parallel is not found and the degree of parallelism is reduced, there is play in the operation unit control field, and some operation units do not operate, so that the bit usage efficiency of instructions is reduced. The degree of parallelism depends on the ability of the compiler and the like, and it is important to further enhance the ability to speed up the processing. SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and provides an arithmetic processing device and an arithmetic processing method in which the degree of parallelism of operations is increased, and the bit use efficiency of instructions and the use efficiency of hardware resources of a processor are improved. The purpose is to do so.

【0006】[0006]

【課題を解決するための手段】第1発明は、複数の操作
フィールドから構成された命令を、前記各操作フィール
ド毎に設けられた複数の演算器を用いて並列処理するも
のにおいて、予め各操作フィールド毎に、前段の命令で
分岐が成立した場合と分岐が成立しない場合におけるそ
の後の命令の演算結果の有効性判定用情報を格納する制
御サブフィールド保持部と、前段の命令で分岐成立か不
成立かを示す分岐フラグを保持する分岐フラグ保持部
と、前記分岐フラグと、前記各制御サブフィールドの有
効性判定用情報とを受け入れて、前記その後の命令の各
操作フィールド毎に、その演算結果を有効とするか無効
とするかの判定情報を出力する無効化信号生成部とを備
えたことを特徴とする演算処理装置に関する。
According to a first aspect of the present invention, an instruction composed of a plurality of operation fields is processed in parallel by using a plurality of arithmetic units provided for each of the operation fields. For each field, a control subfield holding unit that stores information for determining the validity of the operation result of a subsequent instruction when a branch is taken by the preceding instruction and when a branch is not taken, and whether the branch is taken or not taken by the preceding instruction A branch flag holding unit for holding a branch flag indicating whether the branch flag and the validity determination information of each control subfield are received, and the operation result is calculated for each operation field of the subsequent instruction. And an invalidation signal generation unit that outputs information for determining whether to be valid or invalid.

【0007】第2発明は、複数の操作フィールドから構
成された一連の命令を、前記各操作フィールド毎に設け
られた複数の演算部を用いて並列処理する場合におい
て、分岐が成立した場合にも分岐が不成立の場合にもそ
の後に到達する命令の前方にある1又は2以上の命令
に、無効な操作フィールドが含まれている場合に、前記
各命令の無効な操作フィールドに、他の命令の有効な操
作フィールドを組み込んで、命令数を減少させることを
特徴とする演算処理方法に関する。
A second invention is directed to a case where a series of instructions composed of a plurality of operation fields are processed in parallel by using a plurality of operation units provided for each of the operation fields, and even when a branch is taken. Even when the branch is not taken, if one or more instructions ahead of the instruction that arrives after that include an invalid operation field, the invalid operation field of each of the instructions contains The present invention relates to an arithmetic processing method characterized by incorporating an effective operation field to reduce the number of instructions.

【0008】第3発明は、複数の操作フィールドから構
成された一連の命令を、前記各操作フィールド毎に設け
られた複数の演算部を用いて並列処理する場合におい
て、演算器に設けたパイプラインステージに、続いて処
理すべき命令を先行読出しする遅延分岐処理の際、分岐
が成立した場合にも分岐が不成立の場合にも予め実行す
る命令の後方にある、1又は2以上の命令に、無効な操
作フィールドが含まれている場合に、前記各命令の無効
な操作フィールドに、他の命令の有効な操作フィールド
を組み込んで、命令数を減少させることを特徴とする演
算処理方法に関する。
According to a third aspect of the present invention, in a case where a series of instructions composed of a plurality of operation fields are processed in parallel using a plurality of operation units provided for each of the operation fields, a pipeline provided in an operation unit is provided. In the stage, at the time of delayed branch processing of pre-reading an instruction to be processed subsequently, one or two or more instructions after the instruction to be executed in advance regardless of whether the branch is taken or not, The present invention relates to an arithmetic processing method characterized in that when an invalid operation field is included, the number of instructions is reduced by incorporating a valid operation field of another instruction into the invalid operation field of each instruction.

【0009】[0009]

【作用】命令は、複数の操作フィールド及び各操作フィ
ールドに対応させた制御サブフィールドにより構成され
ている。分岐操作を含む命令が実行されると、その後分
岐が成立した場合と分岐が成立しない場合とで、それぞ
れ実行される操作が異なる。この場合に、操作結果を、
制御サブフィールドの情報と分岐成立か不成立かを示す
フラグの内容とに基づき取捨選択する。これにより、分
岐成立の場合の操作と不成立の場合の操作を一命令に含
めて並列処理することが可能になり、命令数の減少が図
れる。
The instruction is composed of a plurality of operation fields and a control subfield corresponding to each operation field. When an instruction including a branch operation is executed, the operation to be executed differs depending on whether the branch is taken or not afterwards. In this case, the operation result is
The selection is made based on the information in the control subfield and the contents of the flag indicating whether the branch is taken or not taken. As a result, the operation in the case where the branch is taken and the operation in the case where the branch is not taken can be included in one instruction and processed in parallel, and the number of instructions can be reduced.

【0010】分岐成立の場合と分岐不成立の場合とで
は、分岐命令後の実行される操作が異なるが、その後、
いずれの場合にも実行される命令に到達する。この命令
の直前の複数の命令に、分岐成立の場合と不成立の場
合、いずれも無効な操作フィールドが含まれていれば、
一方の命令の無効な操作フィールドに他方の命令の有効
な操作フィールドを組み込み、並列化を図ることができ
る。また、パイプライン処理では、命令のフェッチ、デ
コード、実行といったステージを設け、引き続いて処理
される複数の命令をそれぞれ先行読出しする遅延分岐処
理が行われる。この場合、分岐成立あるいは不成立の判
定がされる前に、予め実行される命令の直後の命令に無
効な操作フィールドが含まれる場合がある。このような
ときも、一方の命令の無効な操作フィールドに他方の命
令の有効な操作フィールドを含めることにより処理を並
列化させ、命令数を減少させられる。
The operation to be executed after the branch instruction is different between the case where the branch is taken and the case where the branch is not taken.
In each case, the instruction to be executed is reached. If a plurality of instructions immediately before this instruction include an invalid operation field in both cases where the branch is taken and not taken,
The effective operation field of the other instruction can be incorporated into the invalid operation field of one instruction to achieve parallelization. In the pipeline processing, stages such as instruction fetch, decode, and execution are provided, and delayed branch processing is performed in which a plurality of instructions to be subsequently processed are read in advance. In this case, before the branch is determined to be taken or not taken, there may be a case where an instruction immediately after the previously executed instruction contains an invalid operation field. Even in such a case, by including an invalid operation field of one instruction with a valid operation field of the other instruction, the processing can be parallelized and the number of instructions can be reduced.

【0011】[0011]

【実施例】以下、本発明を図の実施例を用いて詳細に説
明する。 [第1発明]図1は、本発明の演算処理装置実施例を示
すブロック図である。この装置は、命令10に示したよ
うな構成の命令を実行するために、命令レジスタ20を
備えている。本発明においては、まず、VLIW方式を
採用した命令の構成自体が従来のものと異なる。即ち、
この命令10には、例えば4種類の操作を並列処理させ
るために、4個の操作フィールドop1〜op4が設け
られている。また、各操作フィールドop1〜op4に
対して、それぞれ制御サブフィールドF1〜F4が設け
られる。この制御サブフィールドF1〜F4は、後で詳
しく説明するように、対応する操作フィールドop1〜
op4の操作について、分岐が成立した場合と分岐が成
立しない場合における演算結果の有効性判定情報が設定
されている。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the embodiments shown in the drawings. [First Invention] FIG. 1 is a block diagram showing an embodiment of an arithmetic processing unit according to the present invention. This apparatus includes an instruction register 20 for executing an instruction having a configuration as shown in the instruction 10. In the present invention, first, the configuration itself of an instruction employing the VLIW system is different from that of the conventional one. That is,
The instruction 10 is provided with four operation fields op1 to op4 for performing, for example, four types of operations in parallel. Control subfields F1 to F4 are provided for the operation fields op1 to op4, respectively. The control subfields F1 to F4 are, as described later in detail, corresponding operation fields op1 to op1.
Regarding the operation of op4, the validity determination information of the operation result when the branch is taken and when the branch is not taken is set.

【0012】命令レジスタ20には、このために4個の
操作フィールド保持部22−1〜22−4の他に、制御
サブフィールドF1〜F4の有効性判定用情報を格納す
るための制御サブフィールド保持部21−1〜21−4
が設けられている。また、この装置には、命令が実行さ
れると前段の命令の分岐操作の演算結果を監視し、分岐
が成立か不成立かを示す内容の分岐フラグを保持するた
めの分岐フラグレジスタ13が設けられている。分岐フ
ラグレジスタ13の出力と命令レジスタ20の制御サブ
フィールド保持部21−1〜21−4の出力は、それぞ
れ対応する4個の無効化信号生成部11−1〜11−4
に入力するよう構成されている。
The instruction register 20 has a control subfield for storing information for determining validity of the control subfields F1 to F4 in addition to the four operation field holding units 22-1 to 22-4. Holders 21-1 to 21-4
Is provided. Further, this apparatus is provided with a branch flag register 13 for monitoring the operation result of the branch operation of the preceding instruction when the instruction is executed, and holding a branch flag indicating whether the branch is taken or not taken. ing. The outputs of the branch flag register 13 and the outputs of the control subfield holding units 21-1 to 21-4 of the instruction register 20 correspond to the four corresponding invalidation signal generation units 11-1 to 11-4, respectively.
Is configured to be input.

【0013】一方、操作フィールド保持部22−1〜2
2−4の出力は、対応する演算器12−1〜12−4に
送り込まれるよう構成されている。これらの演算器12
−1〜12−4によって各操作の並列処理が実行され
る。この並列処理構造は従来装置と同様である。本発明
においては、上記の無効化信号生成部11−1〜11−
4の出力が、それぞれ演算器12−1〜12−4の制御
端子に入力し、演算結果を無効とするか、有効とするか
の判定情報が供給される構成とされている。
On the other hand, the operation field holding units 22-1 and 22-2
The outputs of 2-4 are configured to be sent to the corresponding computing units 12-1 to 12-4. These computing units 12
Parallel processing of each operation is executed by -1 to 12-4. This parallel processing structure is the same as that of the conventional device. In the present invention, the invalidation signal generators 11-1 to 11-
4 are input to the control terminals of the calculators 12-1 to 12-4, respectively, and the determination information as to whether the calculation result is invalid or valid is supplied.

【0014】以上の装置は、例えば分岐操作と、2個の
演算操作と、メモリ操作とから構成された命令10を命
令レジスタ20に受け入れ、各操作op1〜op4を演
算器12−1〜12−4により同時に実行する。ここ
で、分岐操作の実行により分岐が成立か不成立かの情報
が生成されると、これが分岐フラグレジスタ13に格納
される。命令レジスタ10に、その後格納された命令の
各操作は、演算器12−1〜12−4によって並列処理
されるが、そのとき、制御サブフィールド保持部21−
1〜21−4に格納された有効性判定用情報が無効化信
号生成部11−1〜11−4に供給される。ここで、分
岐フラグレジスタ13から出力された分岐フラグと一定
の論理をとり、対応する演算器12−1〜12−4によ
り実行された実行結果が、有効であるか無効であるかの
判定情報を各演算器に供給する。
The above apparatus receives an instruction 10 composed of, for example, a branch operation, two arithmetic operations, and a memory operation in an instruction register 20, and converts each of the operations op1 to op4 to arithmetic units 12-1 to 12-. 4 simultaneously. Here, when the information indicating whether the branch is taken or not is generated by the execution of the branch operation, this is stored in the branch flag register 13. Each operation of the instruction stored thereafter in the instruction register 10 is processed in parallel by the computing units 12-1 to 12-4. At this time, the control subfield holding unit 21-
The validity determination information stored in 1 to 21-4 is supplied to the invalidation signal generators 11-1 to 11-4. Here, the branch flag output from the branch flag register 13 takes a certain logic, and the execution result executed by the corresponding computing units 12-1 to 12-4 determines whether the execution result is valid or invalid. Is supplied to each computing unit.

【0015】これにより、例えば並列処理された演算の
中から、分岐が成立した場合に必要な演算結果や、逆に
分岐が不成立の場合に必要な演算結果のみが必要に応じ
て選択的に取り出され、それ以降の演算処理に使用され
る。このような構成の装置によって、上記命令10に同
時に含めることのできる操作が増加し、プログラム実行
の並列度を高めることができる。その具体的な命令の構
成や制御サブフィールドの内容等は、第2発明以下を用
いて説明する。
[0015] Thereby, for example, only the operation result necessary when the branch is taken or only the operation result necessary when the branch is not taken is selectively extracted from the parallel-processed operation as needed. And used for subsequent arithmetic processing. With the device having such a configuration, the number of operations that can be simultaneously included in the instruction 10 increases, and the degree of parallelism of program execution can be increased. The specific configuration of the command and the contents of the control subfield will be described using the second invention and the like.

【0016】[第2発明]図3に、第2発明による制御
サブフィールドの内容説明図を示す。本発明を実施する
場合、具体的には例えば制御サブフィールドの内容を、
この図に示すように定義する。例えば、この例では、制
御サブフィールドは2ビットのデータから構成される。
そして、その内容が“00”の場合は未定義とし、“0
1”の場合は分岐以外によってこの命令に制御が移った
とき、このフィールドの操作を実行するという指示にな
る。即ち、分岐が不成立の場合に演算結果が有効になる
操作について、制御サブフィールドをこの内容にする。
[Second Invention] FIG. 3 is an explanatory view of the contents of the control subfield according to the second invention. When implementing the present invention, specifically, for example, the contents of the control subfield,
Defined as shown in this figure. For example, in this example, the control subfield is composed of 2-bit data.
If the content is “00”, it is undefined and “0”
In the case of "1", when control is transferred to this instruction by means other than branching, an instruction to execute the operation of this field is issued. Make this content.

【0017】また、制御サブフィールドの値を“10”
とした場合には、分岐によってこの命令に制御が移った
とき、このフィールドの操作を実行するといった内容に
する。即ち、分岐が成立した場合には、この操作フィー
ルドの演算結果が有効となる旨を示している。最後に、
制御サブフィールドの値が“11”の場合には、この命
令に制御が移ったとき、必ず、このフィールドの操作を
実行するといった内容とする。即ち、この操作フィール
ドの演算結果は分岐の成立、不成立に関わらず有効とな
る。
The value of the control subfield is "10".
When the control is transferred to this instruction by branching, the operation of this field is executed. In other words, this indicates that when the branch is taken, the operation result of this operation field becomes valid. Finally,
When the value of the control subfield is "11", the operation of this field is always executed when control is transferred to this instruction. That is, the operation result of this operation field is valid regardless of whether the branch is taken or not taken.

【0018】このような制御サブフィールドの有効性判
定用情報が、図1に示す無効化信号生成部11−1〜1
1−4に入力すると、分岐フラグレジスタ13から出力
される分岐フラグと共に論理演算がされ、図3の右側に
示すような判定情報が得られる。即ち、有効性判定用情
報が“01”の場合、分岐が成立すれば“1”、分岐が
不成立の場合は“0”、有効性判定用情報が“10”の
場合、分岐が成立した場合に“0”、分岐が不成立の場
合は“1”、有効性判定用情報が“11”の場合には、
分岐が成立しても分岐が不成立でも“0”となる。な
お、この判定情報が“1”の場合、操作が無効化され、
“0”の場合には、操作が有効とされる。このように、
もし判定情報が“1”の場合には、演算器12−1〜1
2−4の対応する出力が抑制され、図2に示したような
結合網7への出力が行われない。また、メモリ操作の場
合には、メモリ操作信号の抑制等が行われる。
The information for determining the validity of the control subfield is supplied to the invalidation signal generators 11-1 to 11-1 shown in FIG.
When input to 1-4, a logical operation is performed together with the branch flag output from the branch flag register 13 to obtain determination information as shown on the right side of FIG. That is, when the information for validity determination is “01”, “1” when the branch is taken, “0” when the branch is not taken, and when the branch is taken when the validity decision information is “10”. Is “0”, “1” when the branch is not taken, and “1” when the validity determination information is “11”.
It is "0" regardless of whether the branch is taken or not taken. If the determination information is “1”, the operation is invalidated,
In the case of “0”, the operation is valid. in this way,
If the judgment information is “1”, the computing units 12-1 to 12-1
The corresponding output of 2-4 is suppressed, and the output to the connection network 7 as shown in FIG. 2 is not performed. In the case of a memory operation, suppression of a memory operation signal and the like are performed.

【0019】図4に、第2発明を実施した場合の一連の
命令についての説明図を示す。第2発明は、この図に示
すような命令について実施され、(a)に示すような従
来方法に比べ、(b)に示すように、本発明の方法では
命令数が減少し、並列処理の効果が高められている。
FIG. 4 is an explanatory diagram of a series of instructions when the second invention is implemented. The second invention is carried out for instructions as shown in this figure, and the method of the present invention reduces the number of instructions as shown in FIG. The effect is enhanced.

【0020】図5に、図4に示した第2発明の方法の実
施例における用語説明図を示す。図4に示す各命令や、
その用語は、この図5に示すような内容となる。即ち、
図4の行番号(1)に示すbranch L1 if(cond1) は、
条件cond1 が成立したときL1に分岐するという内容の
命令で、図4に示すように、この命令と演算操作op
1、op2とが、それぞれ図1に示すような命令10の
分岐操作及び2種類の演算操作として設定される。行番
号(2)のcontinueは、分岐しない場合に実行される命
令で、演算操作としてop3、op4が設定されてい
る。
FIG. 5 is an explanatory diagram of terms used in the embodiment of the method of the second invention shown in FIG. Each instruction shown in FIG.
The terms are as shown in FIG. That is,
Branch L1 if (cond1) shown in line number (1) of FIG.
An instruction that branches to L1 when the condition cond1 is satisfied, as shown in FIG.
1 and op2 are set as a branch operation of the instruction 10 and two types of operation operations, respectively, as shown in FIG. The “continue” in the line number (2) is an instruction to be executed when no branch is performed, and op3 and op4 are set as the operation.

【0021】次の行番号(3)のbranch L2 は、無条
件でL2に分岐する命令である。この処理については、
従来方法では操作op5のみが設定され、図中△印で示
したもう一方の演算操作の操作フィールドは無効なもの
となっている。これは、行番号(1)に分岐操作がある
ために、通常の方法では並列処理可能な命令が見当らな
いためである。行番号(4)と行番号(6)は、それぞ
れL1の場合とL2の場合の処理命令を表わす。なお、
行番号(5)については、やはり操作op8以外に並列
処理すべき操作が見当らないため、一方の操作フィール
ドが△印で示すように無効となっている。なお、このよ
うな一連の命令は、分岐が成立した場合には実行順序が
Aとなる。分岐が不成立の場合には実行順序がBとな
る。図4の右側には、そのような実行順序を順に数字で
示している。縦軸は実行タイミングで、命令は1行毎に
実行される。
The branch L2 of the next line number (3) is an instruction that unconditionally branches to L2. For this process,
In the conventional method, only the operation op5 is set, and the operation field of the other arithmetic operation indicated by the symbol in the figure is invalid. This is because there is no branching operation in the line number (1), and no instruction that can be processed in parallel is found in a normal method. Line numbers (4) and (6) represent processing instructions for L1 and L2, respectively. In addition,
As for the row number (5), no operation other than the operation op8 to be performed in parallel is found, so that one operation field is invalid as indicated by a triangle. Note that the execution order of such a series of instructions is A when the branch is taken. If the branch is not taken, the execution order is B. On the right side of FIG. 4, such an execution order is sequentially shown by numerals. The vertical axis indicates execution timing, and the instruction is executed for each line.

【0022】第2発明の方法では、図4(a)に示す△
印で図示したような無効な操作フィールドに、他の有効
な操作フィールドの操作を組み込んで命令数を減少させ
る。具体的には、この例では図4(a)に示す行番号
(3)の操作op5と、行番号(5)の操作op8とを
並列化する。この場合に、それぞれの操作についてみる
と、分岐が成立した場合に操作op8が有効になり、分
岐が不成立の場合には操作op5が有効になる。即ち、
いずれか一方が有効であって他方はその演算結果が不要
となる。従って、(b)に示すように、行番号(4)に
操作op5と操作op8とを並列化すると共に、その制
御サブフィールドに(b)及び(n)という有効性判定
用情報を含める。(b)は、図5に示すように、制御サ
ブフィールドが“10”で、分岐によってこの命令に制
御が移ったとき有効とされる。また、(n)は図5に示
すように、制御サブフィールドが“01”であって、分
岐不成立の場合に、この操作が有効になることを示す。
In the method according to the second invention, △ shown in FIG.
The operation of another valid operation field is incorporated in the invalid operation field as shown by the mark to reduce the number of instructions. Specifically, in this example, the operation op5 of the row number (3) shown in FIG. 4A and the operation op8 of the row number (5) are parallelized. In this case, regarding each operation, if the branch is taken, the operation op8 is valid, and if the branch is not taken, the operation op5 is valid. That is,
Either one is valid and the other does not require the operation result. Therefore, as shown in (b), the operation op5 and the operation op8 are parallelized in the line number (4), and the control subfield includes validity determination information (b) and (n). (B) is valid when the control subfield is "10" and control is transferred to this instruction by branching, as shown in FIG. Also, (n) indicates that this operation is valid when the control subfield is "01" and the branch is not taken, as shown in FIG.

【0023】上記のように、図4(a)に示す方法と
(b)に示す方法を比べると、分岐処理の後、必ず到達
する(a)の(6)に示す命令の直前で実行される
(a)の行番号(3)と(5)の命令を、(b)に示す
ように、行番号(4)に一括して並列化し、それぞれ無
効な操作フィールドをなくし、演算処理速度の向上を図
ることができる。なお、このように分岐処理後、必ず到
達する命令の直前にある命令は、複数あっても、それぞ
れ無効な操作フィールドが存在する限り、制御サブフィ
ールドを設けることによって、容易に多重化が可能とな
る。
As described above, when the method shown in FIG. 4A is compared with the method shown in FIG. 4B, after the branch processing, the method is executed immediately before the instruction shown in FIG. (A), the instructions of line numbers (3) and (5) are collectively parallelized to line number (4) as shown in (b) to eliminate invalid operation fields and reduce the processing speed. Improvement can be achieved. In this way, even if there are a plurality of instructions immediately before the instruction that always arrives after the branch processing, by providing the control subfield as long as there is an invalid operation field, it is possible to easily multiplex. Become.

【0024】[第3発明]図6に、第3発明実施のため
の装置ブロック図を示す。一般に、マイクロプログラム
等を実行するためのこの種の演算処理装置では、処理の
高速化を図るためにパイプライン処理が行われる。この
場合、図1に示すような各演算器12−1〜12−4
は、それぞれ命令をフェッチし、デコードし、実行し、
格納するといった複数のステージから構成される。そし
て、各命令は先取りされ、分岐操作の実行により分岐が
成立したか不成立かが判明したときには、既に次の命令
がフェッチされている。従って、図1に示す装置そのま
までは、第2発明に示したような命令の並列化が容易で
ない。
[Third Invention] FIG. 6 is a block diagram of an apparatus for implementing the third invention. Generally, in this type of arithmetic processing device for executing a microprogram or the like, pipeline processing is performed in order to increase the processing speed. In this case, each of the computing units 12-1 to 12-4 as shown in FIG.
Fetches, decodes, and executes instructions, respectively.
It consists of multiple stages such as storing. Each instruction is prefetched, and when it is determined by execution of the branch operation whether the branch is taken or not taken, the next instruction has already been fetched. Therefore, it is not easy to parallelize the instructions as shown in the second invention by using the apparatus shown in FIG. 1 as it is.

【0025】そこで、このような遅延分岐処理のなされ
る場合の装置例を、この図6に示した。この装置は、命
令の分岐操作op1に制御サブフィールドを設けない。
即ち、遅延分岐処理では分岐操作自体について、処理結
果の選択は行わない。従って、命令レジスタ20にも対
応する制御サブフィールド保持部は設けられていない。
また、無効化信号生成部11−1には、分岐フラグレジ
スタ13の出力と共に、論理演算をするための信号とし
て、常に“01”という制御信号が入力するよう設定さ
れている。第3発明は、図1に示す装置に、このような
変更を加えることによって実現される。なお、第3発明
実施の場合には、分岐フラグレジスタ13は、分岐操作
命令が実行されると、その直後の命令の実行開始の際
に、分岐フラグがセットされる。また、分岐が成立しな
い場合、直後の命令の実行開始時に分岐フラグがリセッ
トされる。
FIG. 6 shows an example of an apparatus in which such a delayed branching process is performed. This device does not provide a control subfield in the instruction branch operation op1.
That is, in the delayed branch processing, the processing result is not selected for the branch operation itself. Therefore, a control subfield holding unit corresponding to the instruction register 20 is not provided.
The invalidation signal generator 11-1 is set so that a control signal "01" is always input as a signal for performing a logical operation together with the output of the branch flag register 13. The third invention is realized by making such a change to the device shown in FIG. In the case of the third embodiment, when a branch operation instruction is executed, the branch flag is set in the branch flag register 13 at the time of starting execution of an instruction immediately thereafter. If the branch is not taken, the branch flag is reset at the start of execution of the immediately following instruction.

【0026】図7に、第3発明による制御サブフィール
ドの内容説明図を示す。この形式は、図3に示すような
ものと同様に、2ビットの有効性判定情報から構成され
る。しかしながら、第3発明においては、命令を分岐操
作と、2個の演算操作と、メモリ操作により構成した場
合に、分岐操作には有効性判定用情報は付加しない。ま
た、有効性判定用情報の内容は“01”の場合に、直前
に実行された命令が分岐しなかったとき、このフィール
ドの操作を実行するといったものとなる。また、“1
0”の場合、直前に実行された命令が分岐したとき、こ
のフィールドの操作を実行するといった内容となる。更
に、有効性判定用情報が“11”のときは、直前に実行
された命令が分岐したか否かに関わらず、このフィール
ドの操作を実行するといった内容となる。判定情報の内
容との対応関係については、図3に示したものと同様、
有効性判定用情報が“01”の場合、分岐が成立すれ
ば、その操作は無効となり、分岐が不成立ならば、その
操作は有効となる。また、有効性判定用情報が“10”
の場合、分岐が成立すれば有効となり、分岐が不成立な
らば無効となる。
FIG. 7 is an explanatory view of the contents of the control subfield according to the third invention. This format is made up of 2-bit validity determination information, like the format shown in FIG. However, in the third invention, when the instruction is configured by a branch operation, two arithmetic operations, and a memory operation, no validity determination information is added to the branch operation. If the content of the validity determination information is "01" and the instruction executed immediately before does not branch, the operation of this field is executed. Also, "1
In the case of "0", the operation of this field is executed when the instruction executed immediately before branches. In addition, when the validity determination information is "11", the instruction executed immediately before is executed. Regardless of whether or not the operation has branched, the content of this field is executed, etc. The correspondence with the content of the determination information is the same as that shown in FIG.
When the validity determination information is “01”, if the branch is taken, the operation is invalid, and if the branch is not taken, the operation is valid. The information for validity determination is “10”.
In the case of (1), it becomes valid if the branch is taken, and becomes invalid if the branch is not taken.

【0027】図8に、第3発明を実施した具体的な一連
の命令説明図を示す。これらの命令は、図4のものと同
様、行番号(1)から(7)に向かって順番に、この図
に示すタイミングで実行される。図8(a)は、従来方
法により実行される一連の命令で、図8(b)は、本発
明の方法により実行される一連の命令である。この実施
例では、図の(a)に示す△印の4箇所の無効な操作フ
ィールドが、それぞれ互いに有効な操作フィールドに置
き換えられ、並列化によって2個の命令が省略されてい
る。
FIG. 8 is an explanatory diagram of a series of specific instructions embodying the third invention. These instructions are executed in order from the line numbers (1) to (7) at the timings shown in FIG. FIG. 8A shows a series of instructions executed by the conventional method, and FIG. 8B shows a series of instructions executed by the method of the present invention. In this embodiment, the four invalid operation fields indicated by a triangle in FIG. 7A are replaced with mutually valid operation fields, and two instructions are omitted by parallelization.

【0028】図9に、図8に示した第3発明の方法の実
施例における用語説明図を示す。ここで、branchやcont
inueは、既に図5を用いて説明したものと同様であるた
め、重複する説明を省略するが、図8(a)の一連の命
令は、cond2 が成立した場合には、L3に分岐し行番号
(5)の処理に移り、不成立の場合には、行番号(2)
の処理が実行されるというものである。その結果、
(a)の右側に示すように、分岐が成立した場合、実行
順序Aは行番号(1)、(2)、(5)、(6)、
(7)といった処理となる。また、分岐が不成立の場合
の実行順序Bは、行番号(1)、(2)、(3)、
(4)、(7)となる。
FIG. 9 is a diagram for explaining terms in the embodiment of the method of the third invention shown in FIG. Where branch or cont
The inue is the same as that already described with reference to FIG. 5, and a duplicate description will be omitted. However, the sequence of instructions in FIG. The processing shifts to the processing of the number (5). If the processing is not established, the line number (2)
Is executed. as a result,
As shown on the right side of (a), when the branch is taken, the execution order A is line numbers (1), (2), (5), (6),
This is the process (7). The execution order B when the branch is not taken is line numbers (1), (2), (3),
(4) and (7).

【0029】第3発明においては、この図8(a)に示
す行番号(2)、(3)、(5)に生じた△印で示す無
効な操作フィールドを詰め合わせる。遅延分岐処理の場
合には、このような無効な操作フィールドは、分岐が成
立した場合にも不成立の場合にも、予め実行される命
令、即ち行番号(1)に示す命令の直後に続く行番号
(2)や行番号(3)あるいは行番号(5)等の命令に
無効な操作フィールドが生じやすい。そこで、(b)に
示すように、行番号(3)の操作op3と行番号(5)
の操作op6とを並列化する。更に、制御サブフィール
ドの活用により、行番号(2)の処理を省略する。これ
によって、図8(b)に示すように、無効な操作フィー
ルドのない一連の命令ができ上がる。
In the third aspect of the invention, invalid operation fields indicated by the triangles generated in the line numbers (2), (3) and (5) shown in FIG. In the case of the delayed branch processing, such an invalid operation field indicates whether an instruction to be executed in advance, that is, a line immediately following the instruction indicated by the line number (1), regardless of whether the branch is taken or not taken. An invalid operation field is likely to occur in an instruction such as a number (2), a line number (3), or a line number (5). Therefore, as shown in FIG. 2B, the operation op3 of the row number (3) and the row number (5)
Is parallelized with the operation op6. Further, the processing of the line number (2) is omitted by utilizing the control subfield. As a result, as shown in FIG. 8B, a series of instructions without an invalid operation field is completed.

【0030】ここで、(b)に示す行番号(2)や
(3)の(n)、(r)、(e)は、それぞれ制御サブ
フィールドが“01”、“10”、“11”であること
を示している。また、指定がないときは、制御サブフィ
ールドが“01”であるとする。これによって、例えば
(b)に示す行番号(2)の操作op3は、分岐以外に
よってこの命令に制御が移ったとき、操作の演算結果が
有効となる。また、逆に行番号(2)の操作op6は、
分岐によってこの命令に制御が移ったとき、演算結果が
有効となる。従って、行番号(2)の操作op3とop
6とは、制御サブフィールドによって、いずれか一方が
有効になり、その後の処理に使用される。行番号(3)
に示す命令についても同様である。このような選択が自
動的に行われる結果、これまで別々の命令に含めて処理
されていた操作が一括して並列化できるようになる。
Here, (n), (r), and (e) of row numbers (2) and (3) shown in (b) have control subfields of "01", "10", and "11", respectively. Is shown. When there is no designation, it is assumed that the control subfield is “01”. As a result, for example, in the operation op3 of the row number (2) shown in (b), when control is transferred to this instruction by means other than branching, the operation result of the operation becomes valid. Conversely, operation op6 of line number (2) is
When control is transferred to this instruction by branching, the operation result becomes valid. Therefore, the operations op3 and op3 of the row number (2)
6 means that one of them becomes valid depending on the control subfield and is used for the subsequent processing. Line number (3)
The same applies to the instruction shown in FIG. As a result of such selection being performed automatically, operations that have been processed by being included in separate instructions can now be collectively parallelized.

【0031】なお、このような遅延分岐処理によって、
実行順序A、Bの場合に共に実行される命令、即ち図8
(a)に示す(2)の命令に続く行番号(3)の命令
が、上記のような方法で多重化されたが、この(3)の
命令に引き続き、いくつかの命令が存在し、それぞれ無
効な操作フィールドがある場合でも、同様にして並列化
が可能となる。
Incidentally, by such a delayed branch processing,
Instructions executed together in the case of execution order A, B, that is, FIG.
The instruction of line number (3) following the instruction of (2) shown in (a) has been multiplexed in the manner described above, but following this instruction of (3), there are several instructions, Even when there are invalid operation fields, parallelization can be performed in a similar manner.

【0032】図10に、本発明の変形例説明図を示す。
上記のような第2発明や第3発明により、これまで無効
な操作フィールドが存在した命令について、その無効な
操作フィールドに別の命令の有効な操作フィールドにあ
る操作を含めることができた。ここで、第2発明と第3
発明とは、それぞれ並列化処理の対象となる命令が異な
る。従って、両方の発明を同時に実施すれば、更に複雑
なプログラムについて、その命令の数を減少させ、並列
化による演算処理高速化が図られる。この場合の有効性
判定用情報は、例えばこの図10に示すような内容とす
ることができる。
FIG. 10 is a diagram illustrating a modification of the present invention.
According to the second and third inventions described above, for an instruction in which an invalid operation field has been present, the operation in the valid operation field of another instruction can be included in the invalid operation field. Here, the second invention and the third invention
The present invention differs from the present invention in the instruction to be subjected to the parallel processing. Therefore, if both inventions are implemented at the same time, the number of instructions in a more complicated program is reduced, and the speed of the arithmetic processing is increased by parallelization. The validity determination information in this case can have, for example, the contents shown in FIG.

【0033】即ち、第2発明と第3発明を同時に実施す
る場合には、有効性判定用情報は3ビットから成る。例
えば“001”の場合には、分岐以外によってこの命令
に制御が移り、かつ直前に実行された命令が分岐しなか
ったとき、このフィールドの操作を実行するといったも
のとなる。同様に、有効性判定用情報が“010”、
“011”、“100”、“101”、“110”の場
合に、それぞれ第2発明と第3発明において設定した条
件を組み合わせ、対応するフィールドの操作の有効無効
を制御できる。
That is, when the second invention and the third invention are implemented at the same time, the validity determination information is composed of 3 bits. For example, in the case of "001", control is transferred to this instruction by a method other than branching, and when the immediately preceding instruction does not branch, the operation of this field is executed. Similarly, the information for validity determination is “010”,
In the case of “011”, “100”, “101”, and “110”, the validity / invalidity of the operation of the corresponding field can be controlled by combining the conditions set in the second invention and the third invention, respectively.

【0034】本発明は以上の実施例に限定されない。上
記実施例においては、命令の構成を分岐操作と、2種の
演算操作と、メモリ操作とにより構成したが、このよう
な命令の構成は自由に変更して差し支えなく、更に多数
の操作フィールドを設け、演算処理の高度な並列化を図
ることも可能である。また、制御サブフィールドに設け
られた有効性判定情報を処理し、演算器の出力を有効あ
るいは無効化するためのハードウェアは、上記のような
構成に限らず同様の機能のものに自由に置き換えて差し
支えない。
The present invention is not limited to the above embodiment. In the above embodiment, the configuration of the instruction is configured by the branch operation, the two types of arithmetic operations, and the memory operation. However, the configuration of such an instruction may be freely changed, and a larger number of operation fields may be used. It is also possible to provide highly parallel operation processing. The hardware for processing the validity determination information provided in the control subfield and validating or invalidating the output of the arithmetic unit is not limited to the above-described configuration, but may be freely replaced with one having the same function. I don't mind.

【0035】[0035]

【発明の効果】以上説明した本発明の演算処理装置及び
演算処理方法によれば、複数の操作フィールドから構成
された命令を複数の演算器を用いて、それぞれ並列処理
する場合に、各操作フィールド毎に、その前段の命令で
分岐が成立した場合と不成立の場合の演算結果の有効性
を示す有効性判定用情報を設定し、分岐が成立か不成立
かを示す分岐フラグを元にして、操作フィールド毎に演
算結果を有効とし、あるいは無効とする無効化信号生成
部を設けるような装置構成としたため、これまで別々に
処理され、並列化できなかったような操作についても並
列化が可能となり、処理の高速化が図られる。
According to the arithmetic processing device and the arithmetic processing method of the present invention described above, when an instruction composed of a plurality of operation fields is processed in parallel by using a plurality of arithmetic units, each operation field is processed. Each time, the validity determination information indicating the validity of the operation result when the branch is taken and not taken by the instruction at the preceding stage is set, and the operation is performed based on the branch flag indicating whether the branch is taken or not taken. Since the device configuration is provided with an invalidation signal generation unit that validates or invalidates the operation result for each field, it is possible to parallelize operations that were previously processed separately and could not be parallelized, The processing speed is increased.

【0036】また、この場合に、分岐が成立した場合に
も分岐が不成立の場合にも到達する命令の前方にある、
1又は2以上の命令に存在する無効な操作フィールド
を、別の命令の有効な操作フィールドに置き換えるよう
にすれば、効果的な命令数の減少が図られる。また、遅
延分岐処理が行われる場合には、分岐が成立した場合に
も不成立の場合にも予め実行する命令の後方にある、1
又は2以上の命令について、その操作フィールドを別の
命令の有効な操作フィールドで置き換え、命令数を減少
させることができる。これらの方法によれば、プログラ
マーが予めプログラムを論理的に解析し、それぞれの操
作フィールドを設定する他、コンパイラによる自動的な
有効性判定用情報の生成も可能となる。
Also, in this case, both before the instruction that arrives when the branch is taken and when the branch is not taken,
By replacing an invalid operation field existing in one or more instructions with a valid operation field of another instruction, the number of effective instructions can be reduced. In addition, when the delayed branch processing is performed, both when the branch is taken and when it is not taken, 1
Alternatively, for two or more instructions, the operation field can be replaced with a valid operation field of another instruction to reduce the number of instructions. According to these methods, a programmer logically analyzes a program in advance, sets respective operation fields, and can also automatically generate validity determination information by a compiler.

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

【図1】本発明の演算処理装置実施例を示すブロック図
である。
FIG. 1 is a block diagram showing an embodiment of an arithmetic processing unit according to the present invention.

【図2】従来のVLIW方式の演算処理装置ブロック図
である。
FIG. 2 is a block diagram of a conventional VLIW arithmetic processing device.

【図3】第2発明による制御サブフィールドの内容説明
図である。
FIG. 3 is an explanatory view of the contents of a control subfield according to the second invention.

【図4】第2発明の方法を実施した一連の命令説明図で
ある。
FIG. 4 is an explanatory diagram of a series of instructions for implementing the method of the second invention.

【図5】第2発明の方法の実施例における用語説明図で
ある。
FIG. 5 is an explanatory diagram of terms in an embodiment of the method of the second invention.

【図6】第3発明実施のための装置ブロック図である。FIG. 6 is an apparatus block diagram for implementing a third invention.

【図7】第3発明による制御サブフィールドの内容説明
図である。
FIG. 7 is an explanatory diagram of the contents of a control subfield according to the third invention.

【図8】第3発明の方法を実施した一連の命令説明図で
ある。
FIG. 8 is an explanatory diagram of a series of instructions for implementing the method of the third invention.

【図9】第3発明の方法の実施例における用語説明図で
ある。
FIG. 9 is an explanatory diagram of terms in an embodiment of the method of the third invention.

【図10】本発明の変形例説明図である。FIG. 10 is an explanatory view of a modification of the present invention.

【符号の説明】[Explanation of symbols]

10 命令 11−1〜11−4 無効化信号生成部 12−1〜12−4 演算器 13 分岐フラグレジスタ F1〜F4 制御サブフィールド op1〜op4 操作フィールド 21−1〜21−4 制御サブフィールド保持部 22−1〜22−4 操作フィールド保持部 Reference Signs List 10 Instructions 11-1 to 11-4 Invalidation signal generator 12-1 to 12-4 Operation unit 13 Branch flag register F1 to F4 Control subfield op1 to op4 Operation field 21-1 to 21-4 Control subfield holding unit 22-1 to 22-4 Operation field holding unit

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 複数の操作フィールドから構成された命
令を、前記各操作フィールド毎に設けられた複数の演算
器を用いて並列処理するものにおいて、 予め各操作フィールド毎に、前段の命令で分岐が成立し
た場合と分岐が成立しない場合におけるその後の命令の
演算結果の有効性判定用情報を格納する制御サブフィー
ルド保持部と、 前段の命令で分岐成立か不成立かを示す分岐フラグを保
持する分岐フラグ保持部と、 前記分岐フラグと、前記各制御サブフィールドの有効性
判定用情報とを受け入れて、前記その後の命令の各操作
フィールド毎に、その演算結果を有効とするか無効とす
るかの判定情報を出力する無効化信号生成部とを備えた
ことを特徴とする演算処理装置。
1. An apparatus comprising: a plurality of operation units provided for each of the operation fields for processing instructions constituted by a plurality of operation fields in parallel; A control subfield holding unit that stores information for determining the validity of the operation result of the subsequent instruction when the branch is taken and when the branch is not taken, and a branch that holds a branch flag that indicates whether the branch is taken or not taken by the preceding instruction A flag holding unit, the branch flag, and the information for determining the validity of each control subfield are received, and for each operation field of the subsequent instruction, whether the operation result is valid or invalid is determined. An arithmetic processing device comprising: an invalidation signal generating unit that outputs determination information.
【請求項2】 複数の操作フィールドから構成された
一連の命令を、前記各操作フィールド毎に設けられた複
数の演算部を用いて並列処理する場合において、分岐が
成立した場合にも分岐が不成立の場合にもその後に必ず
実行される命令の以前に実行されうる1又は2以上の命
令に無効なフィールドが含まれている場合、これらの無
効操作フィールドに他の命令の有効な操作フィールドを
相互に埋めこみ命令の一括並列化を行い、前記分岐が成
立した場合にも分岐が不成立の場合にもその後に必ず実
行される命令の位置に前記一括並列化した命令を置き、
その命令において、分岐が成立したときのみ実行される
操作フィールドと分岐が不成立のときのみ実行される操
作フィールドと分岐が成立した場合にも分岐が不成立の
場合にもその後に必ず実行される操作フィールドとを、
請求項1記載の分岐フラグと制御サブフィールドを用い
制御し、命令数を減少させることを特徴とする演算処理
方法。
2. In a case where a series of instructions composed of a plurality of operation fields are processed in parallel using a plurality of operation units provided for each of the operation fields, the branch is not taken even if the branch is taken. In this case, if one or more instructions that can be executed before the instruction that is always executed include an invalid field, the invalid operation field is replaced with the valid operation field of another instruction. Performs batch parallelization of embedded instructions, and places the batch-parallelized instruction at the position of an instruction that is always executed even if the branch is taken or the branch is not taken,
In the instruction, an operation field that is executed only when the branch is taken, an operation field that is executed only when the branch is not taken, and an operation field that is always executed both when the branch is taken and the branch is not taken And
An arithmetic processing method, wherein control is performed using the branch flag and the control subfield according to claim 1 to reduce the number of instructions.
【請求項3】 複数の操作フィールドから構成され
た一連の命令を、前記各操作フィールド毎に設けられた
複数の演算部を用いて並列処理する場合において、演算
器に設けたパイプラインステージに、続いて処理すべき
命令を先行読み出しする遅延分岐処理の際、分岐が成立
した場合にも不成立の場合にも予め実行される命令の以
後に実行されうる1又は2以上の命令に無効なフィール
ドが含まれている場合、これらの無効操作フィールドに
他の命令の有効な操作フィールドを相互に埋めこみ命令
の一括並列化を行い、分岐操作を含む命令の直後に全期
一括並列化した命令を置き、その命令において、分岐が
成立したときのみ実行される操作フィールドと分岐が不
成立のときのみ実行される操作フィールドと分岐が成立
した場合にも分岐が不成立の場合にもその後に必ず実行
される操作フィールドとを、請求項1記載の分岐フラグ
と制御サブフィールドを用い制御し、命令数を減少させ
ると共に分岐による遅延を実質的に発生させないことを
特徴とする演算処理方法。
3. In a case where a series of instructions composed of a plurality of operation fields are processed in parallel using a plurality of operation units provided for each of the operation fields, a pipeline stage provided in an operation unit includes: At the time of delayed branch processing in which an instruction to be processed is read in advance, an invalid field is included in one or more instructions that can be executed after an instruction executed in advance regardless of whether a branch is taken or not taken. If they are included, the effective operation fields of other instructions are embedded in these invalid operation fields, and the instructions are batch-parallelized. In the instruction, the operation field executed only when the branch is taken and the operation field executed only when the branch is not taken, and the branch is not taken when the branch is taken An operation field which is always executed even when the operation is turned on is controlled by using the branch flag and the control subfield according to claim 1, so that the number of instructions is reduced and a delay due to branching is not substantially generated. Arithmetic processing method.
JP5122202A 1993-04-27 1993-04-27 Arithmetic processing device and arithmetic processing method Expired - Lifetime JP2636136B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5122202A JP2636136B2 (en) 1993-04-27 1993-04-27 Arithmetic processing device and arithmetic processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5122202A JP2636136B2 (en) 1993-04-27 1993-04-27 Arithmetic processing device and arithmetic processing method

Publications (2)

Publication Number Publication Date
JPH06309166A JPH06309166A (en) 1994-11-04
JP2636136B2 true JP2636136B2 (en) 1997-07-30

Family

ID=14830088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5122202A Expired - Lifetime JP2636136B2 (en) 1993-04-27 1993-04-27 Arithmetic processing device and arithmetic processing method

Country Status (1)

Country Link
JP (1) JP2636136B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2931890B2 (en) 1995-07-12 1999-08-09 三菱電機株式会社 Data processing device
JP3790607B2 (en) 1997-06-16 2006-06-28 松下電器産業株式会社 VLIW processor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2629474B2 (en) * 1990-04-06 1997-07-09 日本電気株式会社 Instruction execution method of parallel pipeline instruction processor
JP2843844B2 (en) * 1990-10-31 1999-01-06 ソニー株式会社 Parallel processing unit

Also Published As

Publication number Publication date
JPH06309166A (en) 1994-11-04

Similar Documents

Publication Publication Date Title
JP2918631B2 (en) decoder
US5341482A (en) Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPH04229326A (en) Method and system for obtaining parallel execution of existing instruction
US5404555A (en) Macro instruction set computer architecture
US4967338A (en) Loosely coupled pipeline processor
KR100316078B1 (en) Processor with pipelining-structure
US5742783A (en) System for grouping instructions for multiple issue using plural decoders having forward and backward propagation of decoding information
US4541047A (en) Pipelined data processing system
US4739470A (en) Data processing system
JPH02227730A (en) Data processing system
US10338926B2 (en) Processor with conditional instructions
KR100334174B1 (en) Data processing device
EP1354267A2 (en) A superscalar processor having content addressable memory structures for determining dependencies
EP0496407A2 (en) Parallel pipelined instruction processing system for very long instruction word
KR100431975B1 (en) Multi-instruction dispatch system for pipelined microprocessors with no branch interruption
US5390306A (en) Pipeline processing system and microprocessor using the system
JP2636136B2 (en) Arithmetic processing device and arithmetic processing method
US6115807A (en) Static instruction decoder utilizing a circular queue to decode instructions and select instructions to be issued
EP0162929A1 (en) Method of controlling branching
KR920006770B1 (en) System for controlling instruction fetch controlling
JP2004021890A (en) Data processor
JP2877531B2 (en) Parallel processing unit
JPH0228723A (en) System for executing loop instruction
JP2591325B2 (en) Branch control device

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term