JPH02148140A - Conditional branch control system for information processor - Google Patents

Conditional branch control system for information processor

Info

Publication number
JPH02148140A
JPH02148140A JP30195288A JP30195288A JPH02148140A JP H02148140 A JPH02148140 A JP H02148140A JP 30195288 A JP30195288 A JP 30195288A JP 30195288 A JP30195288 A JP 30195288A JP H02148140 A JPH02148140 A JP H02148140A
Authority
JP
Japan
Prior art keywords
condition code
instruction
determined
auxiliary
unit
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
JP30195288A
Other languages
Japanese (ja)
Inventor
Makoto Yamagake
山懸 良
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 JP30195288A priority Critical patent/JPH02148140A/en
Publication of JPH02148140A publication Critical patent/JPH02148140A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Abstract

PURPOSE:To increase the branch instruction processing speed by determining a condition code before completion of an operation instruction to control branch or non-branch at the time when the condition code can be determined in an early stage. CONSTITUTION:A time discriminating part 6 discriminates whether the condition code can be determined in an early stage by an auxiliary computing element 5 or not in accordance with input data. When the condition code can be determined in the early stage, branch or non-branch of the conditional branch instruction is controlled in accordance with the condition code obtained from the auxiliary computing element 5 before the arithmetic operation is completed by a main computing element 4; but the condition code from the main computing element 4 is used to control branch or non-branch only when the condition code cannot be determined in the early stage. Thus, the condition code is mainly determined independently of the execution time of the operation instruction to increase the processing speed of the conditional branch instruction.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は情報処理装置における条件分岐制御方式に係り
、特に先行制御方式を採用した情報処理装置に好適な条
件分岐制御方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a conditional branch control method in an information processing device, and particularly to a conditional branch control method suitable for an information processing device that employs a proactive control method.

〔従来の技術〕[Conventional technology]

周知のように、情報処理装置において条件分岐命令を実
行する場合、該条件分岐命令が分岐を行うか、分岐を行
わずに後続命令を実行するかの決定はプログラム状態語
(psw)にセットされている条件コード(コンデイシ
ョンコード)の値によって行われる。この条件コードは
、前の演算命令の演算結果などによって決定されてPS
Wにセットされるものである。
As is well known, when a conditional branch instruction is executed in an information processing device, the decision as to whether the conditional branch instruction branches or executes a subsequent instruction without branching is set in the program state word (psw). This is done depending on the value of the condition code. This condition code is determined by the operation result of the previous operation instruction, etc.
This is set to W.

一方、先行制御方式を採用する情報処理装置では、複数
の命令がパイプライン的に並列に処理されるため、高速
に命令処理を行うことができる。
On the other hand, in an information processing device that employs a proactive control method, a plurality of instructions are processed in parallel in a pipeline manner, so that instruction processing can be performed at high speed.

しかし、条件分岐命命の場合は、前の演算命令が完了し
ないと条件コードが決定せず、該条件コードが決定しな
いと分岐を行うか否かを決定できないため、実行が遅く
なってしまう問題がある。従来、これを解決する方法と
して、例えば特公昭55−17976号公報に記載のよ
うに、演算命令を実行する主演算器とは別に補助演算器
を設け、該補助演算器において演算命令の入力データに
より、高速に条件コードを決定する方法がある。これに
より、前に実行される演算命令が完了する以前に、分岐
命令の実行を開始して、該分岐命令が分岐を行うか否か
を決定でき、高速に命令処理を行うことができる。
However, in the case of conditional branch instructions, the condition code is not determined until the previous arithmetic instruction is completed, and unless the condition code is determined, it cannot be determined whether or not to branch, resulting in a problem of slow execution. There is. Conventionally, as a method to solve this problem, as described in Japanese Patent Publication No. 55-17976, an auxiliary arithmetic unit is provided separately from the main arithmetic unit that executes arithmetic instructions, and the input data of the arithmetic instruction is processed in the auxiliary arithmetic unit. There is a method to quickly determine the condition code. As a result, execution of a branch instruction can be started before the previously executed arithmetic instruction is completed, and it can be determined whether or not the branch instruction causes a branch, so that instruction processing can be performed at high speed.

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

上記従来技術においては、補助演算器では演算命令の入
力データより一律に一定時間内で条件コードを決定する
ものとしているため、補助演算器のハードウェア量が増
大し、コスト高になるという問題があった。
In the conventional technology described above, the auxiliary arithmetic unit uniformly determines the condition code within a fixed time based on the input data of the arithmetic instruction, so there is a problem that the amount of hardware for the auxiliary arithmetic unit increases, resulting in high costs. there were.

また、近年、情報処理装置は高速化・高密度化している
ため、ハードウェア量が増大して空間的床がりが大きく
なると、信号伝播時間が増大してしまうため、高速に処
理できないという問題もある。
In addition, in recent years, information processing devices have become faster and more dense, so as the amount of hardware increases and the spatial floor space increases, signal propagation time increases, resulting in the problem of not being able to perform high-speed processing. be.

本発明の目的は、先行制御方式の情報処理装置等におい
て、比較的少量のハードウェアで演算命令の実行が完了
する以前に条件コードを決定し。
An object of the present invention is to determine a condition code before the execution of an arithmetic instruction is completed using a relatively small amount of hardware in a proactive control type information processing device or the like.

分岐命令処理を高速化することにある。The purpose is to speed up branch instruction processing.

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

上記目的を達成するために、本発明では、条件分岐命令
の制御が確定する時期を、演算命令の入力データに応じ
て変化させる。
In order to achieve the above object, the present invention changes the timing at which the control of a conditional branch instruction is determined depending on the input data of the arithmetic instruction.

具体的には、演算命令の入力データの一部により早期に
条件コードを決定する補助演算器、入力データの値に応
じて条件コードの決定できる時期を判定する時期判定部
を備え、早期に条件コードが決定できる場合には、演算
命令が完了する以前に条件コードを決定し、それによっ
て分岐を行うか行わないかを制御する。
Specifically, it is equipped with an auxiliary arithmetic unit that determines a condition code early based on part of the input data of an operation instruction, and a timing determination unit that determines when a condition code can be determined according to the value of the input data. If the code can be determined, the condition code is determined before the arithmetic instruction is completed, and whether or not to branch is controlled thereby.

〔作 用〕[For production]

時期判定部は、入力データに応じて、補助演算器により
早期に条件コードが決定できるかどうかを判定する。早
期に条件コードが決定できる場合には、主演算器による
演算動作が完了する以前に、補助演算器から得られた条
件コードに従って条件分岐命令の分岐・非分岐を制御し
、早期に条件コードが決定できない場合に限り、主演算
器からの条件コードを使用して分岐・非分岐を制御する
The timing determination unit determines whether the condition code can be determined early by the auxiliary computing unit according to the input data. If the condition code can be determined early, the branching/non-branching of the conditional branch instruction is controlled according to the condition code obtained from the auxiliary processor before the main processor completes the operation, and the condition code is determined early. Only when a decision cannot be made, a condition code from the main processor is used to control branching/non-branching.

これによって、演算命令の実行時間とは独立に条件コー
ドを大部分決定できるため、条件分岐命令の処理を高速
化できる。また、補助演算器は。
As a result, most of the condition codes can be determined independently of the execution time of the arithmetic instruction, thereby speeding up the processing of conditional branch instructions. Also, the auxiliary computing unit.

必ず一定の時間内で条件コードを決定しないければなら
ないという制限を受けないため、少ないハードウェア量
で構成することができる。
Since there is no restriction that the condition code must be determined within a certain amount of time, the configuration can be configured with a small amount of hardware.

〔実施例〕〔Example〕

以下、本発明の一実施例について図面により説明する。 An embodiment of the present invention will be described below with reference to the drawings.

第1図は本発明による情報処理装置の一実施例の概略構
成を示したもので、命令及びオペランドを記憶する記憶
ユニット1、命令の実行の制御を行う命令ユニット2.
命令の実行を行う実行ユニット3より成る。こぎで、実
行ユニット3は、主演算器4の他に、演算命令の入力デ
ータより条件コードを求める補助演算器5、演算命令の
入力データの値に応じて条件コードの決定できる時期を
判定する時期判定部6.該時期判定部6からの条件コー
ド選択信号12により主演算器4からの条件コード出力
1oあるいは補助演算器5からの条件コード出力11を
選択する条件コード選択回路7を備えている。8は演算
用オペランドバス、9は演算結実用データバスである。
FIG. 1 shows a schematic configuration of an embodiment of an information processing apparatus according to the present invention, in which a storage unit 1 stores instructions and operands, an instruction unit 2 controls execution of instructions.
It consists of an execution unit 3 that executes instructions. In addition to the main arithmetic unit 4, the execution unit 3 includes an auxiliary arithmetic unit 5 that calculates a condition code from the input data of the arithmetic instruction, and a auxiliary arithmetic unit 5 that determines when the condition code can be determined according to the value of the input data of the arithmetic instruction. Timing determination section 6. A condition code selection circuit 7 is provided which selects the condition code output 1o from the main arithmetic unit 4 or the condition code output 11 from the auxiliary arithmetic unit 5 in response to the condition code selection signal 12 from the timing determination unit 6. 8 is an operand bus for calculations, and 9 is a data bus for calculation results.

はじめに、第1図の一般的動作を説明する。命令ユニッ
ト2の制御により、記憶ユニット1から取り出された命
令は、命令ユニット2で解読され、必要な場合、オペラ
ンドが再度記憶ユニット1から取り出される。そのオペ
ランドは演算用オペランドパス8を通じて実行ユニット
3へ送られ、実行ユニット3内の主演算器4によって演
算が実行される。演算結果は、演算結実用データバス9
を通じて命令ユニット2八戻される。また、その時の条
件コードは、主演算器4の条件コード出力10より得ら
れ、これが条件コード選択回路7を経由し命令ユニット
2へ報告される。
First, the general operation shown in FIG. 1 will be explained. Under the control of the instruction unit 2, the instructions retrieved from the storage unit 1 are decoded by the instruction unit 2 and, if necessary, the operands are retrieved from the storage unit 1 again. The operand is sent to the execution unit 3 through the operation operand path 8, and the operation is executed by the main operation unit 4 in the execution unit 3. The calculation result is transferred to the calculation practical data bus 9.
Through the command unit 28 is returned. Further, the condition code at that time is obtained from the condition code output 10 of the main arithmetic unit 4, and is reported to the instruction unit 2 via the condition code selection circuit 7.

さて、先行制御方式の情報処理装置では、命令ユニット
2と実行ユニット3が独立にオーバラップして動作し、
複数の命令がパイプライン的に並列に処理される。こ\
では、各命令は以下の4ステージから成るパイプライン
制御により処理されるものとする。
Now, in the information processing device using the advance control method, the instruction unit 2 and the execution unit 3 operate independently and in an overlapping manner.
Multiple instructions are processed in parallel in a pipeline. child\
Assume that each instruction is processed by pipeline control consisting of the following four stages.

(1) Decode (Dステージ)=命令の解読と
論理アドレスの生成を行う。
(1) Decode (D stage): Decodes instructions and generates logical addresses.

(2) As5ociate (Aステージ);論理ア
ドレスから物理アドレスへの変換を行う。
(2) As5ociate (A stage): Converts a logical address to a physical address.

(3) Load (Lステージ); 記憶装置の読み出しを行う。(3) Load (L stage); Reads the storage device.

(4) Execute (Eステージ);演算の実行
を行う。
(4) Execute (E stage): Execute the calculation.

D、A、Lの3ステージは命令の種類に依らずに原則と
して1サイクルで実行を終えることができるが、Eステ
ージは命令の種類に応じて複数サイクルかへる場合もあ
る0例えば、同じ減算であっても、二進固定小数点の場
合は1サイクルで結果及び条件コードを得ることができ
るが、二進浮動小数点の場合は2サイクル以上か−る。
In principle, the D, A, and L stages can complete execution in one cycle regardless of the type of instruction, but the E stage may take multiple cycles depending on the type of instruction. Even in the case of subtraction, the result and condition code can be obtained in one cycle in the case of a binary fixed point number, but it takes two or more cycles in the case of a binary floating point number.

こNで、Eステージが3サイクルか−る演算命令の直後
に条件分岐命令が存在する場合の、パイプラインの動作
の様子を第2図(、)に示す、パイプライン制御方式を
採用する情報処理装置では。
Information on adopting the pipeline control method is shown in Figure 2 (,), which shows how the pipeline operates when there is a conditional branch instruction immediately after an arithmetic instruction whose E stage takes three cycles. In the processing equipment.

同一のステージが重ならない限りは、複数の命令を同時
に処理可能であるが、条件分岐命令の次命令は、その分
岐命令が分岐か非分岐かゾ決定するまでは実行を開始す
ることができないため、先行制御の性能が低下してしま
う、第3図(a)では、条件分岐命令の直前の演算命令
はEステージに3サイクルかNるため、該分岐命令の次
命令は2サイクルの待ち時間が生じることを示している
As long as the same stages do not overlap, multiple instructions can be processed at the same time, but the instruction following a conditional branch instruction cannot start execution until it is determined whether the branch instruction is a branch or not. In Figure 3 (a), the operation instruction immediately before the conditional branch instruction is in the E stage for 3 cycles or N, so the next instruction after the branch instruction has a waiting time of 2 cycles. This shows that this occurs.

そこで、第1図に示すように、主演算器4とは別に補助
演算器5を用意し、主演算器4によって演算結果を得る
のに必要なEステージのサイクル数よりも早く条件コー
ドを決定するようにする。
Therefore, as shown in FIG. 1, an auxiliary calculator 5 is prepared separately from the main calculator 4, and the condition code is determined faster than the number of cycles of the E stage required to obtain the calculation result by the main calculator 4. I'll do what I do.

つまり、補助演算器Sによって条件コードが得られた時
は、条件コード選択回路7によって、補助演算器5の条
件コード出力11を選択して、命令ユニット2へ早く条
件コードを報告するのである。
That is, when a condition code is obtained by the auxiliary arithmetic unit S, the condition code selection circuit 7 selects the condition code output 11 of the auxiliary arithmetic unit 5 and quickly reports the condition code to the instruction unit 2.

この時のパイプラインの動作の様子を第2図(b)に示
す。第2図(b)の場合、演算命令の実行時、1サイク
ル目のEステージで条件コードが決定しているため、条
件分岐命令のDステージの後、直ちに次命令の実行を開
始できるため、性能が低下しない。
The operation of the pipeline at this time is shown in FIG. 2(b). In the case of FIG. 2(b), since the condition code is determined at the E stage of the first cycle when the arithmetic instruction is executed, execution of the next instruction can be started immediately after the D stage of the conditional branch instruction. Performance does not deteriorate.

ところで、補助演算器5を主演算器4とは別に用意する
には、以下のような問題がある。一般にEステージが2
サイクル以上かNる演算は浮動小数点演算等の複雑な演
算であり、補助演算器5が効果を発揮するのは、このよ
うな複雑な演算の条件コードを高速に決定できる場合で
ある。しかし。
By the way, if the auxiliary computing unit 5 is prepared separately from the main computing unit 4, the following problems arise. Generally E stage 2
An operation that takes more than or equal to N cycles is a complex operation such as a floating point operation, and the auxiliary operation unit 5 is effective when the condition code of such a complicated operation can be determined at high speed. but.

どんな演算であっても、その条件コードを補助演算器5
で全て決定するとなると、補助演算器5の構成には大量
のハードウェアが必要となり、情報処理装置のコストが
増大してしまう。
No matter what the operation is, the condition code is sent to the auxiliary operator 5.
If all the information is determined by , a large amount of hardware will be required for the configuration of the auxiliary computing unit 5, and the cost of the information processing device will increase.

第1図において、主演算器器4、補助演算器5と並列に
時期判定部6を用意することにより、補助演算器5のハ
ードウェア量を軽減することができる。
In FIG. 1, the amount of hardware for the auxiliary calculator 5 can be reduced by providing the timing determining section 6 in parallel with the main calculator 4 and the auxiliary calculator 5.

時期判定部6は、演算命令のオペランドの値に応じて条
件コードの決定できる時期を判定し、その判定結果を条
件コード選択信号12として条件コード選択回路7に与
える8選択回路7では、時期判定部6からの条件コード
選択信号12によって、主演算器4の条件コート出力1
0と補助演算W5の条件コード出力11のいずれかを選
択し。
The timing determination unit 6 determines the timing when the condition code can be determined according to the value of the operand of the operation instruction, and provides the determination result to the condition code selection circuit 7 as the condition code selection signal 12.The selection circuit 7 determines the timing. The condition code selection signal 12 from the section 6 causes the condition code output 1 of the main arithmetic unit 4 to be
Select either 0 or condition code output 11 of auxiliary operation W5.

命令ユニット2に報告する。これにより、補助演算器5
では、特定のオペランドの場合だけ条件コードを決定で
きればよいため、該補助演算器5を構成するためのハー
ドウェア量を極めて少なくすることができる。なお、補
助演算器5で条件コードを決定できない場合は、主演算
器4からの条件コード出力10を待つ必要があり、先行
制御の性能は低下するが、プログラムにもよるが、その
ようなケースが頻発することはまずなく、実際上、何ら
問題はない、以下、二進浮動小数点減算を例にとり、補
助演算器5、時期判定部6の動作を説明する。
Report to command unit 2. As a result, the auxiliary computing unit 5
Since it is only necessary to determine the condition code for a specific operand, the amount of hardware for configuring the auxiliary arithmetic unit 5 can be extremely reduced. Note that if the condition code cannot be determined by the auxiliary processor 5, it is necessary to wait for the condition code output 10 from the main processor 4, and the performance of advance control will deteriorate, but depending on the program, in such a case This rarely occurs, and there is no problem in practice.The operations of the auxiliary arithmetic unit 5 and the timing determination unit 6 will be described below, taking binary floating point subtraction as an example.

二進浮動小数点数は、第3図に示すように、1ビツトの
符号部、7ビツトの指数部、56ビットの仮数部、の計
64ビットより構成される。二進浮動小数点減算命令は
、2つの二進浮動小数点数をオペランドとして、その差
を計算し、その結果が正か、負か、0かに応じて、すな
わちオペランドの大小関係に応じて条件コードを設定す
る命令である。
As shown in FIG. 3, a binary floating point number consists of a total of 64 bits: a 1-bit sign part, a 7-bit exponent part, and a 56-bit mantissa part. The binary floating point subtraction instruction uses two binary floating point numbers as operands and calculates the difference between them. Depending on whether the result is positive, negative, or 0, a condition code is generated depending on the magnitude relationship of the operands. This is an instruction to set.

第1図において、演算用オペランドバス8は、主演算器
4.補助演算器5、時期判定部6のそれぞれに入力され
ているのが、64ビツトのオペランド全てが入力される
のは、主演算器4だけとし、補助演算器5及び時期判定
部6には、第3図に示すように、各オペランドの上位1
2ビツトだけを入力する。これにより、128ビツトの
入力を持つ主演算器4に比べて、24ビツトの入力しか
持たない補助演算器5と時期判定部6のハードウェア量
を少なくすることができる。
In FIG. 1, the operation operand bus 8 is connected to the main operation unit 4. It is assumed that only the main processor 4 receives all 64-bit operands input to each of the auxiliary processor 5 and the timing determiner 6. As shown in Figure 3, the top 1 of each operand
Input only 2 bits. As a result, the amount of hardware required for the auxiliary processor 5 and the timing determining section 6, which have only 24-bit inputs, can be reduced compared to the main processor 4, which has 128-bit inputs.

第4図は二進浮動小数点減算命令に対する時期判定部6
の動作を示したフローチャートで、上位12ビツトだけ
でオペランドの大小関係を判断できる場合とそうでない
場合を区別し、区別できる場合は補助演算器5で条件コ
ードを決定し、区別できない場合は主演算器4で条件コ
ードを決定しようとするものである。ステップ101で
、両オペランドの仮数部最上位桁が0でないことをテス
トしている。これは浮動小数点数が、正規化されている
かどうかをテストしているもので、非正規化数は符号と
指数部を比較するだけでは大小関係を決定するのが困難
なため、補助演算器5による処理の対象外とするためで
ある。一般に浮動小数点演算において、非正規化数が現
われることは極めて希なので、性能がこのために低下す
ることはない。また真の0もこのテストにより、処理対
象とされるが、浮動小数点数のオペランドとして真のO
が現われる可能性も極めて低いため問題とはならない、
ステップ102では、符号を比較し、異符号の場合には
、補助演算器5により大小関係を判断するものである。
FIG. 4 shows the timing determination unit 6 for a binary floating point subtraction instruction.
This is a flowchart showing the operation of the operation, which distinguishes between cases in which the magnitude relationship of the operands can be judged only by the upper 12 bits and cases in which it is not possible, and if it can be distinguished, the auxiliary operator 5 determines the condition code, and if it cannot be distinguished, it determines the condition code in the main operation. The condition code is determined by the device 4. In step 101, it is tested that the most significant digit of the mantissa part of both operands is not 0. This is a test to see if a floating point number is normalized or not, and since it is difficult to determine the magnitude relationship of unnormalized numbers by just comparing the sign and exponent part, the auxiliary arithmetic unit 5 This is to exclude them from processing by. In general, denormalized numbers rarely appear in floating-point arithmetic, so performance does not deteriorate because of this. Also, true 0 is considered to be processed by this test, but true 0 is treated as a floating point operand.
It is not a problem because the probability of this occurring is extremely low.
In step 102, the signs are compared, and if the signs are different, the auxiliary arithmetic unit 5 determines the magnitude relationship.

オペランドが0である可能性はステップ101により排
除されているので、異符号ならば符号ビットの1ビツト
を検査するだけで、大小関係を決定可能である。ステッ
プ103では、指数部を比較し、異なっていた場合には
、補助演算器5により指数部で大小関係を決定する。
Since the possibility that the operands are 0 has been eliminated in step 101, if they have different signs, the magnitude relationship can be determined by simply checking one sign bit. In step 103, the exponent parts are compared, and if they are different, the auxiliary arithmetic unit 5 determines the magnitude relationship based on the exponent parts.

ステップ104では仮数部最上位桁を比較し、異なって
いた場合にはやはり補助演算器5で大小関係を決定する
。ステップ104でも大小関係が決定できない場合は、
仮数部のより下位のビットを参照しないと大小関係が決
定できないため、主演算器4によって条件コードを決定
する(ステップ105)。それは2つのオペランドの上
位12ビツトが等しい場合なので、オペランドの値が等
確率に分布すると仮定すれば、主演算器4によって条件
コードを決定する必要のある確率は1/4096と小さ
く、はとんどの場合、補助演算器5で条件コードを決定
できる。
In step 104, the most significant digits of the mantissa parts are compared, and if they are different, the auxiliary arithmetic unit 5 also determines the magnitude relationship. If the magnitude relationship cannot be determined in step 104,
Since the magnitude relationship cannot be determined without referring to the lower bits of the mantissa, the main arithmetic unit 4 determines the condition code (step 105). This is a case where the upper 12 bits of the two operands are equal, so assuming that the values of the operands are distributed with equal probability, the probability that the condition code needs to be determined by the main processor 4 is as small as 1/4096, which is extremely low. In which case, the auxiliary calculator 5 can determine the condition code.

本実施例によれば、演算結果が得られるまで複数サイク
ル必要な演算命令の直後の条件分岐命令であっても、補
助演算器5によって条件コードを決定することが可能な
場合には、高速に実行可能であり、また、はとんどの場
合、該補助演算器5で決定できる。
According to this embodiment, even if the conditional branch instruction immediately follows an arithmetic instruction that requires multiple cycles to obtain an arithmetic result, if the condition code can be determined by the auxiliary arithmetic unit 5, the conditional branch instruction can be executed at high speed. is executable, and can be determined by the auxiliary computing unit 5 in most cases.

また、二Nでは二進浮動小数点数の場合の処理を取り上
げたが、二進固定小数点であっても上位ビットだけを参
照することにより条件コードを決定できる場合は、本発
明を適用可能であり、符号を最下位桁に持つような十進
固定小数点数であっても、上位ビットの一部と最下位の
符号桁を補助演算器に入力することにより、本発明を適
用可能である。
Furthermore, although 2N deals with processing for binary floating-point numbers, the present invention can be applied even to binary fixed-point numbers if the condition code can be determined by referencing only the upper bits. The present invention can be applied even to a decimal fixed-point number having a sign in the least significant digit by inputting a part of the upper bits and the least significant sign digit to the auxiliary arithmetic unit.

また、実施例では、補助演算器及び時期判定部を実行ユ
ニット内に設けたが、ハードウェア量が少ないことを利
用し、命令ユニット内に設けることも可能である。
Further, in the embodiment, the auxiliary arithmetic unit and the timing determination unit are provided in the execution unit, but they may also be provided in the instruction unit by taking advantage of the fact that the amount of hardware is small.

また、実施例の一変形として、命令ユニット内に備えら
れたアドレス計算用演算器やコンフリクト解決用先行演
算器を補助演算器として使用することも可能である。
Further, as a modification of the embodiment, it is also possible to use the address calculation arithmetic unit and the conflict resolution advance arithmetic unit provided in the instruction unit as the auxiliary arithmetic unit.

また、補助演算器に障害が発生した場合は、常に主演算
器によって決定された条件コードによって動作すること
により、補助演算器の障害時でも命令実行を続行するこ
とが可能となる。
Further, if a failure occurs in the auxiliary arithmetic unit, by always operating according to the condition code determined by the main arithmetic unit, it is possible to continue executing instructions even when the auxiliary arithmetic unit fails.

また、実施例の一変形として、補助演算器の条件コード
出力は分岐命令の次命令の制御にだけ使用し、それ以降
で使われる条件コードは、主演算器の条件コード出力を
使用するようにしてもよい。
In addition, as a modification of the embodiment, the condition code output of the auxiliary computing unit is used only to control the instruction following the branch instruction, and the condition code output of the main computing unit is used for the condition code used thereafter. You can.

C発明の効果〕 以上説明したように、本発明によれば、少ないハードウ
ェア量で、条件分岐命令が分岐を行うか否かの決定を高
速に行うことができ、コストを増大させることなく、情
報処理装置の性能を向上させることが可能になる。
C. Effects of the Invention] As described above, according to the present invention, it is possible to quickly determine whether or not a conditional branch instruction branches with a small amount of hardware, and without increasing costs. It becomes possible to improve the performance of the information processing device.

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

第1図は本発明の一実施例のブロック図、第2図は条件
分岐命令が実行される場合のパイプラインの様子を示し
た図、第3図は二進浮動小数点形式の一例の説明図、第
4図は第1図における時期判定部の動作を示したフロー
チャートである。 1・・・記憶ユニット、  2・・・命令ユニット、3
・・・実行ユニット3、4・・・主演算器、5・・・補
助演算器、 6・・・時期判定部、7・・・条件コード
選択回路、 8・・・演算用オペランドバス、 9・・・結実用データバス、 10・・・主演算器からの条件コード出力、11・・・
補助演算器からの条件コード出力、12・・・条件コー
ド選択信号。 第1図 第3図 第4図 第と図 (す
Figure 1 is a block diagram of an embodiment of the present invention, Figure 2 is a diagram showing the state of the pipeline when a conditional branch instruction is executed, and Figure 3 is an explanatory diagram of an example of binary floating point format. , FIG. 4 is a flowchart showing the operation of the timing determination section in FIG. 1...Memory unit, 2...Instruction unit, 3
...Execution units 3, 4...Main arithmetic unit, 5...Auxiliary arithmetic unit, 6...Time determination section, 7...Condition code selection circuit, 8...Operation operand bus, 9 ...Result data bus, 10...Condition code output from main arithmetic unit, 11...
Condition code output from auxiliary computing unit, 12...Condition code selection signal. Figure 1 Figure 3 Figure 4

Claims (2)

【特許請求の範囲】[Claims] (1)条件分岐命令の実行時、該条件分岐命令以前の演
算命令の演算に応じて分岐を行うか行わないかを制御す
る手段を具備する情報処理装置において、前記条件分岐
命令の制御が確定する時期を、前記演算命令の入力デー
タに応じて変化させることを特徴とする条件分岐制御方
式。
(1) When a conditional branch instruction is executed, control of the conditional branch instruction is determined in an information processing device that is equipped with means for controlling whether or not to branch according to the operation of the arithmetic instruction before the conditional branch instruction. A conditional branch control method characterized in that the timing of executing the operation is changed according to the input data of the operation instruction.
(2)演算命令を実行する主演算器の他に、該演算命令
の入力データの一部により限定した演算を行う補助演算
器を有し、前記条件分岐命令の制御が早期に確定する場
合には、前記補助演算器の出力により、前記主演算器で
の演算動作が完了する以前に分岐を行うか行わないかを
決定することを特徴とする請求項(1)記載の条件分岐
制御方式。
(2) In addition to the main arithmetic unit that executes an arithmetic instruction, there is an auxiliary arithmetic unit that performs a limited arithmetic operation based on a part of the input data of the arithmetic instruction, and when control of the conditional branch instruction is determined early. 2. The conditional branch control system according to claim 1, wherein whether or not to branch is determined before the arithmetic operation in the main arithmetic unit is completed based on the output of the auxiliary arithmetic unit.
JP30195288A 1988-11-29 1988-11-29 Conditional branch control system for information processor Pending JPH02148140A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30195288A JPH02148140A (en) 1988-11-29 1988-11-29 Conditional branch control system for information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30195288A JPH02148140A (en) 1988-11-29 1988-11-29 Conditional branch control system for information processor

Publications (1)

Publication Number Publication Date
JPH02148140A true JPH02148140A (en) 1990-06-07

Family

ID=17903088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30195288A Pending JPH02148140A (en) 1988-11-29 1988-11-29 Conditional branch control system for information processor

Country Status (1)

Country Link
JP (1) JPH02148140A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04130536A (en) * 1990-09-20 1992-05-01 Fujitsu Ltd Branching control system
JPH0655148U (en) * 1992-12-29 1994-07-26 株式会社オーエス Projection screen device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04130536A (en) * 1990-09-20 1992-05-01 Fujitsu Ltd Branching control system
JPH0655148U (en) * 1992-12-29 1994-07-26 株式会社オーエス Projection screen device

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
US4879676A (en) Method and apparatus for precise floating point exceptions
JP3828677B2 (en) Data transfer between registers and memory
US4654785A (en) Information processing system
JP2000029704A (en) Division of operation code for coprocessor by data type
EP1267257A2 (en) Conditional execution per data path slice
JPH04296937A (en) Hardware-data-string-operatiion controller and method for performing main-storage-string operation
JPH0776921B2 (en) Data processing method and device
JPH0792739B2 (en) Floating point data normalization method
US4739470A (en) Data processing system
EP0094535A2 (en) Pipe-line data processing system
KR101016257B1 (en) Processor and information processing apparatus
EP1267255A2 (en) Conditional branch execution in a processor with multiple data paths
JPH05150979A (en) Immediate operand expansion system
US6499046B1 (en) Saturation detection apparatus and method therefor
JPH02148140A (en) Conditional branch control system for information processor
JPH11353305A (en) Address specification for vector register
US6233675B1 (en) Facility to allow fast execution of and, or, and test instructions
JPH1196001A (en) Device for executing program and method for converting program
JP2510691B2 (en) Arithmetic processing method
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP3137636B2 (en) Data processing device
JP2583614B2 (en) Vector arithmetic unit
JPH01163836A (en) Method of apparatus for evaluate conditions of data processor clearly
JP2510295B2 (en) Register update index controller