JPH06324867A - Information processor - Google Patents

Information processor

Info

Publication number
JPH06324867A
JPH06324867A JP10792393A JP10792393A JPH06324867A JP H06324867 A JPH06324867 A JP H06324867A JP 10792393 A JP10792393 A JP 10792393A JP 10792393 A JP10792393 A JP 10792393A JP H06324867 A JPH06324867 A JP H06324867A
Authority
JP
Japan
Prior art keywords
instruction
branch
arithmetic unit
branch instruction
integer arithmetic
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
JP10792393A
Other languages
Japanese (ja)
Inventor
Hide Kodama
秀 小玉
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 JP10792393A priority Critical patent/JPH06324867A/en
Publication of JPH06324867A publication Critical patent/JPH06324867A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

PURPOSE:To reduce the capacity of hardware without lowering the performance of an integer computing element in an information processor. CONSTITUTION:The information processor 100 is constituted of a selector 101, a first instruction register 102, a second instruction register 103, a first computing element 104a provided with a function to execute all the integer arithmetic operations other than a branch instruction instead of the same function on plural integer computing elements, a second computing element 105 provided with an execution function for all the integer arithmetic operations including the branch instruction, a first decoder 106, a second decoder 107, a program counter 110, a parallel execution decision circuit 108, and a register file 111, etc., and the instruction code of the branch instruction is distributed to the second computing element 105 provided with the branch execution function via the selector 101 of the instruction code, and it is decoded, thereby, the arithmetic operation can be executed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、情報処理装置に関し、
特に、複数の整数演算器を備えるスーパスカラ方式の情
報処理装置における各整数演算器の制御技術に適用して
有効な技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing device,
In particular, the present invention relates to a technique effectively applied to a control technique of each integer arithmetic unit in a superscalar system information processing apparatus including a plurality of integer arithmetic units.

【0002】[0002]

【従来の技術】パイプライン制御の情報処理装置にて分
岐命令を実行する場合、図3に示すパイプラインを例と
して説明すると、分岐命令34は次のステップにより実
行される。それは、命令読み出しステージ(Instr
uction Fetch)30と、命令の解読を行う
デコードステージ(Decode)31と、分岐命令3
4の分岐判定を行う演算ステージ(Executio
n)32と、結果格納を行う書き込みステージ(Wri
te)33とによりなる。
2. Description of the Related Art When executing a branch instruction in a pipeline-controlled information processing apparatus, the pipeline shown in FIG. 3 will be described as an example. The branch instruction 34 is executed in the following steps. It is the instruction read stage (Instr
function fetch) 30, a decode stage (Decode) 31 for decoding an instruction, and a branch instruction 3
A calculation stage (Executio) that performs branch determination of 4
n) 32, and a write stage (Wri
te) 33.

【0003】また、分岐が成立した場合、分岐先命令3
7が分岐先命令の命令読み出しステージ38から実行が
開始される。このとき、分岐先命令37が読み出される
までの間に分岐命令34の後続の2命令である無効化さ
れた命令35,36がすでに読み出されているため、そ
れら2命令は無効化サイクルが生じることになる。
If the branch is taken, the branch destination instruction 3
7 starts execution from the instruction read stage 38 of the branch destination instruction. At this time, since the two instructions subsequent to the branch instruction 34, which are the invalidated instructions 35 and 36, have already been read by the time the branch destination instruction 37 is read, the invalidation cycle occurs for those two instructions. It will be.

【0004】この無効化サイクルを有効に使い情報処理
装置の性能を向上させるために考案されたのが遅延分岐
技法という方式のアーキテクチャである。その遅延分岐
技法ではディレイスロットと呼ばれる命令が用いられ
る。この命令を図4を用いて説明する。
The architecture of the system called the delayed branching technique was devised in order to effectively use this invalidation cycle and improve the performance of the information processing apparatus. The delay branching technique uses an instruction called a delay slot. This instruction will be described with reference to FIG.

【0005】ディレイスロット命令とは、分岐命令の次
に位置する後続命令であり、図4の例において、無効化
サイクルとなるサイクルにて実行する命令のことであ
る。
The delay slot instruction is a succeeding instruction located next to the branch instruction, and is an instruction executed in a cycle which is an invalidation cycle in the example of FIG.

【0006】パイプラインにてn+1サイクルがディレ
イスロット命令41の実行サイクルに割り当てられる。
In the pipeline, n + 1 cycles are allocated to the execution cycle of the delay slot instruction 41.

【0007】まず、分岐命令40が実行され、次にディ
レイスロット命令41が実行される。そしてn+2サイ
クルは無効化された命令42となり、分岐先命令43は
n+3サイクルの命令読み出しステージ44から実行が
開始される。
First, the branch instruction 40 is executed, and then the delay slot instruction 41 is executed. Then, the n + 2 cycle becomes the invalidated instruction 42, and the branch destination instruction 43 is started to be executed from the instruction reading stage 44 of the n + 3 cycle.

【0008】この方式によると無効化サイクルの数は遅
延分岐を用いない方式のときの2サイクルから1サイク
ルに低減されることになる。
According to this method, the number of invalidation cycles is reduced from two cycles in the method not using the delayed branch to one cycle.

【0009】しかし、複数の演算器を有したスーパース
カラ方式の情報処理装置では、ディレイスロット行がな
くなってしまうことがある。
However, in a superscalar type information processing apparatus having a plurality of arithmetic units, delay slot rows may be lost.

【0010】図4に示すパイプラインに対し、2命令並
列のスーパスカラ方式を採用した場合のパイプライン処
理を図5を用いて説明する。
Pipeline processing in the case where a two-instruction parallel superscalar system is adopted for the pipeline shown in FIG. 4 will be described with reference to FIG.

【0011】このパイプライン処理では、分岐命令60
とディレイスロット命令61が並列実行可能となり、分
岐判定が完了する分岐命令の演算ステージ62までの2
サイクル、n+1サイクルとn+2サイクルが無効化サ
イクルとなってしまう。
In this pipeline processing, the branch instruction 60
2 and the delay slot instruction 61 can be executed in parallel, and the branch instruction calculation stage 62 is completed.
The cycle, the n + 1 cycle and the n + 2 cycle become invalidation cycles.

【0012】つまり、分岐命令に関してこのスーパスカ
ラ方式ではディレイスロット命令のメリットがなくなり
性能の向上にはつながらないのである。
In other words, with respect to branch instructions, this superscalar system loses the merit of the delay slot instruction and does not improve the performance.

【0013】従来の複数の整数演算器を有するスーパス
カラ方式の情報処理装置ではそれぞれの演算器が同一の
命令実行機能を有する構成である。この方式の場合、各
整数演算器に対して同一の制御論理およびデータパスが
必要である。
In a conventional superscalar system information processing apparatus having a plurality of integer arithmetic units, each arithmetic unit has the same instruction execution function. This scheme requires the same control logic and data path for each integer unit.

【0014】次に、図6を用いてこの従来方式について
説明する。
Next, this conventional method will be described with reference to FIG.

【0015】第1命令レジスタ102と第2命令レジス
タ103にあるそれぞれの命令に対して第1デコーダ1
06と第2デコーダ107そして第1演算器104と、
第2演算器105が設けられている。
For each instruction in the first instruction register 102 and the second instruction register 103, the first decoder 1
06, the second decoder 107, and the first arithmetic unit 104,
A second calculator 105 is provided.

【0016】並列実行判定回路108では第1命令レジ
スタ102と第2命令レジスタ103にある2つの命令
の間に依存関係がなく並列実行可能であるかないかを判
定する。
The parallel execution determination circuit 108 determines whether or not two instructions in the first instruction register 102 and the second instruction register 103 have no dependency relationship and can be executed in parallel.

【0017】もし並列実行可能であるなら第1演算器1
04と第2演算器105のそれぞれの第1命令有効信号
112を1とし、第2演算器105の第2命令有効信号
113を0にして、まず第1命令レジスタ102の命令
だけを実行し、次のサイクルにおいて第2命令レジスタ
103にある命令を実行する。
If parallel execution is possible, the first arithmetic unit 1
04 and the second instruction valid signal 112 of the second arithmetic unit 105 are set to 1, the second instruction valid signal 113 of the second arithmetic unit 105 is set to 0, and only the instruction of the first instruction register 102 is executed first. In the next cycle, the instruction in the second instruction register 103 is executed.

【0018】第1,第2両方の演算器104,105に
て分岐命令を実行するために、プログラムカウンタ11
0からはプログラムカウンタ相対の分岐先アドレス計算
に必要な命令アドレスを、第1演算器104と第2演算
器105の両方に入力する命令アドレスのデータパス1
14が必要となる。
In order to execute a branch instruction in both the first and second arithmetic units 104 and 105, the program counter 11
The data path 1 of the instruction address for inputting the instruction address required for calculating the branch destination address relative to the program counter from 0 to both the first arithmetic unit 104 and the second arithmetic unit 105
14 is required.

【0019】第1演算器104と第2演算器105にて
演算に使用するオペランドデータはレジスタファイル1
11から読み出され、演算結果は再びレジスタファイル
111へ格納される。
The operand data used for the calculation in the first arithmetic unit 104 and the second arithmetic unit 105 is the register file 1
11 is read out and the operation result is stored again in the register file 111.

【0020】たとえば、第1命令レジスタ102に分岐
命令と第2命令レジスタ103にディレイスロット命令
があったとき、並列実行可能であるならば、それぞれ第
1デコーダ106と第2デコーダ107にてデコードさ
れ、第1演算器104と第2演算器105にて実行され
る。
For example, when the first instruction register 102 has a branch instruction and the second instruction register 103 has a delay slot instruction, if they can be executed in parallel, they are decoded by the first decoder 106 and the second decoder 107, respectively. , The first computing unit 104 and the second computing unit 105.

【0021】また、仮に第1命令レジスタ102にAD
D命令と第2命令レジスタ103に分岐命令があったと
きでも並列実行可能であるならば、それぞれ独立に第1
デコーダ106と第2デコーダ107にてデコードさ
れ、デコードされた結果の制御情報115,116が第
1演算器104,第2演算器105に渡され、第1演算
器104と第2演算器105にて実行される。
Further, if the first instruction register 102 has AD
If parallel execution is possible even when there is a branch instruction in the D instruction and the second instruction register 103, the first instruction independently
The control information 115 and 116 decoded by the decoder 106 and the second decoder 107 are passed to the first arithmetic unit 104 and the second arithmetic unit 105, and are transferred to the first arithmetic unit 104 and the second arithmetic unit 105. Is executed.

【0022】つまり、この方式の第1演算器104と第
2演算器105は両方ともそれぞれ分岐命令およびその
他の整数演算命令の実行機能を有しているのである。
That is, both the first arithmetic unit 104 and the second arithmetic unit 105 of this system have a function of executing a branch instruction and other integer arithmetic instructions, respectively.

【0023】また、図5において説明したスーパスカラ
方式の分岐制御において生じる無効化サイクルのため、
仮に分岐命令をnサイクル、そしてディレイスロット命
令を次のn+1サイクルというように2サイクルかけて
逐次処理しても性能的な劣化はなく、さらに図7のパイ
プライン処理に示すとおり、分岐命令71をnサイクル
の第2演算器105側、そしてディレイスロット命令7
2をn+1サイクルの第2演算器105側というよう
に、第2演算器105側だけで逐次処理するように制限
しても同様に性能的な劣化はないのである。
Further, because of the invalidation cycle that occurs in the branch control of the superscalar system described in FIG. 5,
Even if the branch instruction is sequentially processed for two cycles such as n cycles and the delay slot instruction is the next n + 1 cycle, there is no performance deterioration. Further, as shown in the pipeline processing of FIG. The n-cycle second arithmetic unit 105 side, and the delay slot instruction 7
Similarly, even if 2 is limited to the second computing unit 105 side of n + 1 cycle so that it is sequentially processed only on the second computing unit 105 side, there is no performance deterioration.

【0024】[0024]

【発明が解決しようとする課題】ところが、前記のよう
な従来技術においては、第1,第2、両方の演算器にお
いて分岐命令が実行できなくても片側だけで十分という
ことになり、両方の演算器において分岐実行機能を備え
るということはハードウェア物量が無駄に使われるとい
う欠点がある。
However, in the prior art as described above, it is sufficient that only one side is sufficient even if the branch instructions cannot be executed in both the first, second and both arithmetic units. Providing the branch execution function in the arithmetic unit has a drawback in that the amount of hardware is wasted.

【0025】従って、ディレイスロット命令を用いたス
ーパスカラ方式の情報処理装置は分岐性能が向上しない
にも係わらず、スーパスカラ方式のためにハードウェア
物量が増加してしまうという問題がある。
Therefore, the superscalar type information processing apparatus using the delay slot instruction has a problem that the amount of hardware increases due to the superscalar type although the branch performance is not improved.

【0026】そこで、本発明の目的は、分岐命令の実行
機能を省略した整数演算器とそうでない整数演算器とを
組み合わせて命令を実行することにより、性能低下を招
くことなくそのハードウェア物量を削減することのでき
る情報処理装置を提供することにある。
Therefore, an object of the present invention is to execute an instruction by combining an integer arithmetic unit in which an execution function of a branch instruction is omitted and an integer arithmetic unit in which the branch instruction is not executed, so that the hardware quantity can be reduced without degrading the performance. An object is to provide an information processing device that can be reduced.

【0027】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

【0028】[0028]

【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
下記のとおりである。
Among the inventions disclosed in the present application, a brief description will be given to the outline of typical ones.
It is as follows.

【0029】すなわち、本発明の情報処理装置は、複数
の整数演算器を備え、命令を並列処理するパイプライン
方式の情報処理装置であって、分岐命令を含む全ての整
数演算の実行機能を有する整数演算器と、分岐命令以外
の全ての整数演算の実行機能を有する整数演算器とを備
え、その整数演算器どうしを組み合わせて複数の命令の
並列処理を行うものである。
That is, the information processing apparatus of the present invention is a pipeline type information processing apparatus that includes a plurality of integer arithmetic units and processes instructions in parallel, and has a function of executing all integer operations including branch instructions. An integer arithmetic unit and an integer arithmetic unit having a function of executing all integer arithmetic operations other than branch instructions are provided, and the integer arithmetic units are combined to perform parallel processing of a plurality of instructions.

【0030】また、本発明の情報処理装置は、分岐命令
の命令コードを分岐命令実行機能を有する整数演算器へ
分配し、命令を解読し、その整数演算器にて演算を行う
ものである。
Further, the information processing apparatus of the present invention distributes the instruction code of the branch instruction to the integer arithmetic unit having a branch instruction execution function, decodes the instruction, and performs the arithmetic operation by the integer arithmetic unit.

【0031】そして、本発明の情報処理装置は、実行す
る命令が分岐命令かどうかの判定を行う分岐命令検出手
段を備えるものである。
The information processing apparatus of the present invention comprises a branch instruction detecting means for judging whether the instruction to be executed is a branch instruction.

【0032】さらに、本発明の情報処理装置は、分岐命
令の命令コードを分岐命令実行機能を有する整数演算器
へ分配する分岐命令選択手段を備えるものである。
Further, the information processing apparatus of the present invention comprises a branch instruction selecting means for distributing the instruction code of the branch instruction to the integer arithmetic unit having a branch instruction execution function.

【0033】また、本発明の情報処理装置は、分岐命令
実行機能を有する整数演算器のみに、プログラムカウン
タから命令アドレスを入力するための命令アドレス入力
手段を備え、その整数演算器のみにおいて命令アドレス
入力手段により命令アドレスを入力し、分岐先アドレス
計算を行うものである。
Further, the information processing apparatus of the present invention is provided with the instruction address input means for inputting the instruction address from the program counter only to the integer arithmetic unit having the branch instruction executing function, and the instruction address is inputted only to the integer arithmetic unit. The instruction address is input by the input means to calculate the branch destination address.

【0034】そして、本発明の情報処理装置は、複数の
整数演算器の中に分岐命令実行機能を有する整数演算器
を1個備え、分岐命令実行機能を有する演算器のみに命
令アドレス入力手段を1個備えるものである。
The information processing apparatus of the present invention comprises one integer arithmetic unit having a branch instruction execution function among a plurality of integer arithmetic units, and the instruction address input means is provided only to the arithmetic unit having the branch instruction execution function. It is equipped with one.

【0035】[0035]

【作用】前記した情報処理装置によれば、分岐命令検出
手段により分岐命令を検出し、さらに分岐命令選択手段
により分岐命令の命令コードを、分岐命令を含む全ての
整数演算の実行機能を有する整数演算器へ渡すことによ
り、分岐命令を実行することができる。
According to the information processing apparatus described above, the branch instruction detecting means detects the branch instruction, and the branch instruction selecting means further outputs the instruction code of the branch instruction as an integer having the function of executing all integer operations including the branch instruction. The branch instruction can be executed by passing it to the arithmetic unit.

【0036】そして、全ての整数演算器が全ての整数演
算機能を備える代わりに、分岐命令を含む全ての整数演
算の実行機能を有する整数演算器と、分岐命令以外の全
ての整数演算を実行する機能を有する整数演算器とを備
え、組み合わせて演算を行うことにより、性能を低下さ
せることなくハードウェア物量を低減することができ
る。
Then, all the integer arithmetic units have all the integer arithmetic functions, but execute the integer arithmetic units having the execution function of all the integer arithmetic operations including the branch instruction and all the integer arithmetic operations other than the branch instruction. By including an integer arithmetic unit having a function and performing arithmetic operations in combination, it is possible to reduce the amount of hardware without degrading performance.

【0037】また、分岐命令実行機能を有する整数演算
器のみに命令アドレス入力手段を備えるだけで他の整数
演算器には備える必要がなくなり、命令アドレス入力手
段の物量を低減できる。
Further, since only the integer arithmetic unit having the branch instruction execution function is provided with the instruction address input means, it is not necessary to provide the other integer arithmetic units, and the quantity of the instruction address input means can be reduced.

【0038】これにより、全ての整数演算器において、
分岐命令を行うためのハードウェアを備えることなく、
しかも性能を低下させことなくハードウェアの物量を低
減し、さらに装置の縮小化およびコストダウンを図るこ
とができる。
As a result, in all integer arithmetic units,
Without the hardware for performing branch instructions,
Moreover, the amount of hardware can be reduced without lowering the performance, and the device can be downsized and the cost can be reduced.

【0039】[0039]

【実施例】以下、本発明の実施例を詳細に説明する。EXAMPLES Examples of the present invention will be described in detail below.

【0040】図1は本発明の一実施例である情報処理装
置の構成を示すブロック図、図2は本実施例の演算器構
成における分岐命令とその後続命令制御のパイプライン
を示す概略説明図である。
FIG. 1 is a block diagram showing the configuration of an information processing apparatus according to an embodiment of the present invention, and FIG. 2 is a schematic explanatory diagram showing a pipeline of a branch instruction and its subsequent instruction control in the arithmetic unit configuration of the present embodiment. Is.

【0041】まず、図1により本実施例の情報処理装置
の構成を説明する。
First, the configuration of the information processing apparatus of this embodiment will be described with reference to FIG.

【0042】本実施例の情報処理装置100は、たとえ
ば命令の実行を並列処理可能なパイプライン方式の情報
処理装置とされ、セレクタ101(分岐命令選択手段)
と、第1命令レジスタ102と、第2命令レジスタ10
3と、第1演算器104aと、第2演算器105と、第
1デコーダ106と、第2デコーダ107と、並列実行
判定回路108と、分岐命令検出回路109(分岐命令
検出手段)と、プログラムカウンタ110と、レジスタ
ファイル111とによって構成され、第1、第2命令レ
ジスタ102,103に格納した命令を第1、第2デコ
ーダ106,107により解読し、第1、第2演算器1
04a,105において演算を実行する。
The information processing apparatus 100 of this embodiment is, for example, a pipeline type information processing apparatus capable of parallel processing of instruction execution, and a selector 101 (branch instruction selecting means).
, The first instruction register 102, and the second instruction register 10
3, a first arithmetic unit 104a, a second arithmetic unit 105, a first decoder 106, a second decoder 107, a parallel execution determination circuit 108, a branch instruction detection circuit 109 (branch instruction detection means), and a program The instruction stored in the first and second instruction registers 102 and 103, which includes the counter 110 and the register file 111, is decoded by the first and second decoders 106 and 107, and the first and second arithmetic units 1
Calculations are executed at 04a and 105.

【0043】第1演算器104aは、分岐命令以外の全
ての整数演算を実行する機能を有し、第2演算器105
は、分岐命令を含む全ての整数演算の実行機能を有して
いる。
The first arithmetic unit 104a has a function of executing all integer operations other than branch instructions, and the second arithmetic unit 105a.
Has the function of executing all integer operations including branch instructions.

【0044】第1命令レジスタ102と第2命令レジス
タ103にあるそれぞれの命令に対して第1デコーダ1
06と第2デコーダ107そして第1演算器104aと
第2演算器105が設けられている。
For each instruction in the first instruction register 102 and the second instruction register 103, the first decoder 1
06, the second decoder 107, and the first arithmetic unit 104a and the second arithmetic unit 105 are provided.

【0045】情報処理装置100は、第1命令レジスタ
102に分岐命令がある場合、分岐命令検出回路109
の出力によりセレクタ101にて第1命令レジスタ10
2側を選び、第2デコーダ107に分岐命令の命令コー
ドを入力し、第2演算器105にて実行する。
When the first instruction register 102 has a branch instruction, the information processing apparatus 100 has a branch instruction detection circuit 109.
Output of the first instruction register 10 by the selector 101.
The second side is selected, the instruction code of the branch instruction is input to the second decoder 107, and the second arithmetic unit 105 executes the instruction code.

【0046】並列実行判定回路108では、第1命令レ
ジスタ102と第2命令レジスタ103にある2つの命
令の間に依存関係がなく並列実行可能であるか否かを判
定する。もし並列実行可能であるなら第1演算器104
aと第2演算器105のそれぞれの第1,第2命令有効
信号112,113を1にする。プログラムカウンタ1
10は、次に実行する命令アドレスを保持する。
The parallel execution determination circuit 108 determines whether or not two instructions in the first instruction register 102 and the second instruction register 103 have no dependency relationship and can be executed in parallel. If parallel execution is possible, the first arithmetic unit 104
a and the first and second instruction valid signals 112 and 113 of the second arithmetic unit 105 are set to 1. Program counter 1
10 holds the instruction address to be executed next.

【0047】次に、本実施例の作用について説明する。Next, the operation of this embodiment will be described.

【0048】なお、第1命令レジスタ102に分岐命令
がある場合について以下説明する。
The case where the first instruction register 102 has a branch instruction will be described below.

【0049】まず、並列実行判定回路108は、第1演
算器104aの第1命令有効信号112を0にし、第2
演算器105の第2命令有効信号113を1にする。分
岐命令の命令コードはセレクタ101を通して第2デコ
ーダ107に送る。
First, the parallel execution determination circuit 108 sets the first instruction valid signal 112 of the first arithmetic unit 104a to 0,
The second instruction valid signal 113 of the arithmetic unit 105 is set to 1. The instruction code of the branch instruction is sent to the second decoder 107 through the selector 101.

【0050】次に、第2デコーダ107から出力される
制御情報116により第2演算器105を制御する。次
のサイクルでも同様に第1演算器104aの第1命令有
効信号112を0にし、第2演算器105の第2命令有
効信号113を1にする。
Next, the second arithmetic unit 105 is controlled by the control information 116 output from the second decoder 107. Similarly in the next cycle, the first instruction valid signal 112 of the first arithmetic unit 104a is set to 0 and the second instruction valid signal 113 of the second arithmetic unit 105 is set to 1.

【0051】そして、第2命令レジスタ103にあった
ディレイスロット命令を第2演算器105にて実行す
る。つまり、この分岐命令とディレイスロット命令は2
サイクルかけて逐次処理するのである。
Then, the delay slot instruction in the second instruction register 103 is executed by the second arithmetic unit 105. In other words, this branch instruction and delay slot instruction are 2
Sequential processing is performed in cycles.

【0052】さらに、第2演算器105にはプログラム
カウンタ110の出力である命令アドレスを命令アドレ
スのデータパス114(命令アドレス入力手段)より入
力し、プログラムカウンタ110相対の分岐先アドレス
計算に使用する。第1演算器104aと第2演算器10
5にて演算に使用するオペランドデータをレジスタファ
イル111から読み出し、演算結果を再びレジスタファ
イル111へ格納する。
Further, the instruction address output from the program counter 110 is input to the second arithmetic unit 105 from the instruction address data path 114 (instruction address input means) and used for calculating the branch destination address relative to the program counter 110. . First calculator 104a and second calculator 10
In 5, the operand data used for the calculation is read from the register file 111, and the calculation result is stored in the register file 111 again.

【0053】以上により、分岐命令の実行機能を有しな
い第1演算器104aと分岐命令の実行機能を有する第
2演算器105とを備える場合において分岐命令の実行
制御を行うことができる。
As described above, when the first arithmetic unit 104a having no branch instruction execution function and the second arithmetic unit 105 having the branch instruction execution function are provided, the branch instruction execution control can be performed.

【0054】次に、第1命令レジスタ102に分岐命令
があり、第2命令レジスタ103にADD命令がある場
合のパイプラインを図2を用いて説明する。
Next, a pipeline in the case where the first instruction register 102 has a branch instruction and the second instruction register 103 has an ADD instruction will be described with reference to FIG.

【0055】まず、nサイクルにて分岐命令21を第2
演算器105側において実行する。そして、その分岐命
令21の演算ステージにて分岐判定を行い、次のn+1
サイクルではADD命令22を同じく第2演算器105
側にて実行する。n+2サイクルはまだ分岐判定が確定
していないので無効化サイクルとなり、n+3サイクル
にて分岐先のSUB命令23とAND命令24を読み出
し、それら2命令の実行を開始する。
First, the branch instruction 21 is set to the second instruction in n cycles.
This is executed on the computing unit 105 side. Then, a branch determination is made at the operation stage of the branch instruction 21 and the next n + 1
In the cycle, the ADD instruction 22 is also sent to the second arithmetic unit 105.
Run on the side. In the n + 2 cycle, since the branch determination has not been decided yet, it becomes an invalidation cycle, and in the n + 3 cycle, the SUB instruction 23 and the AND instruction 24 at the branch destination are read and the execution of these two instructions is started.

【0056】つまり、この方式を用いた場合、分岐命令
は第2演算器105側のみにおいて実行するので、分岐
命令を解読し演算を行うためのデコーダや制御論理など
片側だけ備えればよく、結果として第1デコーダ106
と第1演算器104aのハードウェア物量を低減するこ
とができる。
That is, when this method is used, the branch instruction is executed only on the side of the second arithmetic unit 105. Therefore, it is sufficient to provide only one side such as a decoder or control logic for decoding the branch instruction and performing an operation. As the first decoder 106
Therefore, the hardware quantity of the first arithmetic unit 104a can be reduced.

【0057】さらに、プログラムカウンタ110から入
力する分岐先アドレス計算に必要な命令アドレスの入力
を行う命令アドレスのデータパス114も第1演算器1
04aでは必要ないので削除することができる。
Furthermore, the data path 114 of the instruction address for inputting the instruction address necessary for calculating the branch destination address input from the program counter 110 is also the first arithmetic unit 1
Since it is not necessary in 04a, it can be deleted.

【0058】故に、分岐命令実行機能を削除した整数演
算器を混在させた構成の情報処理装置においても分岐命
令を有効的に分配し実行することにより、ハードウェア
物量を削減し、なおかつ性能を落とさないシステム構築
ができる。
Therefore, even in an information processing apparatus having a configuration in which integer arithmetic units with the branch instruction execution function removed are mixed, the branch instructions are effectively distributed and executed, thereby reducing the amount of hardware and lowering the performance. You can build a system that does not have it.

【0059】従って、本実施例の情報処理装置100に
よれば、分岐命令検出回路109により分岐命令を検出
し、さらにセレクタ101により分岐命令を実行できる
整数演算器を第2演算器105と判断し、その演算器に
おいて演算を行うことにより、分岐命令を実行するため
のハードウェア物量を第1演算器104aに備えること
なく命令の並列処理が実現でき、ハードウェア物量を低
減し、装置の縮小化およびコストダウンを図ることがで
きる。
Therefore, according to the information processing apparatus 100 of this embodiment, the branch instruction detection circuit 109 detects the branch instruction, and the selector 101 determines that the integer arithmetic unit capable of executing the branch instruction is the second arithmetic unit 105. By executing the operation in the arithmetic unit, parallel processing of instructions can be realized without providing the hardware amount for executing the branch instruction in the first arithmetic unit 104a, and the hardware amount can be reduced and the apparatus can be downsized. And the cost can be reduced.

【0060】以上、本発明者によってなされた発明を実
施例に基づき具体的に説明したが、本発明は前記実施例
に限定されるものではなく、その要旨を逸脱しない範囲
において種々変更可能であることは言うまでもない。
Although the invention made by the present inventor has been specifically described based on the embodiments, the present invention is not limited to the embodiments and various modifications can be made without departing from the scope of the invention. Needless to say.

【0061】たとえば、前記実施例の整数演算器につい
ては、2個備える場合について説明したが、本発明は前
記実施例に限定されるものではなく、3個以上備える場
合についても広く適用可能である。
For example, the case where two integer arithmetic units of the above-mentioned embodiment are provided has been described, but the present invention is not limited to the above-mentioned embodiment and is widely applicable to the case where three or more integer arithmetic units are provided. .

【0062】また、整数演算器を複数備える場合には、
分岐命令実行機能を有する整数演算器は1個備えるだけ
でよい。
If a plurality of integer arithmetic units are provided,
Only one integer arithmetic unit having a branch instruction execution function is required.

【0063】[0063]

【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
下記のとおりである。
The effects obtained by the typical ones of the inventions disclosed in the present application will be briefly described as follows.
It is as follows.

【0064】すなわち、本発明によれば、実行する命令
を分岐命令検出手段および分岐命令選択手段により分岐
命令かどうかを判断し、その命令が分岐命令の場合には
分岐命令を実行できる整数演算器に制御を渡すことによ
り分岐命令を実行することができる。
That is, according to the present invention, an integer arithmetic unit capable of determining whether an instruction to be executed is a branch instruction by the branch instruction detecting means and the branch instruction selecting means and executing the branch instruction when the instruction is a branch instruction. A branch instruction can be executed by passing control to.

【0065】また、従来演算器ごとに備えていた命令ア
ドレス入力手段を分岐命令実行機能を有する整数演算器
のみに備えるだけでよくなり、命令アドレス入力手段の
物量を低減することができる。
Further, the instruction address input means conventionally provided for each arithmetic unit need only be provided in the integer arithmetic unit having the branch instruction execution function, and the physical quantity of the instruction address input unit can be reduced.

【0066】さらに、分岐命令の実行機能を有する整数
演算器と、分岐命令の実行機能を有しない整数演算器と
を組み合わせることにより、従来と同様に命令を並列に
実行することができ、分岐命令の実行機能を複数の整数
演算器において省略することができる。
Furthermore, by combining an integer arithmetic unit having a branch instruction execution function and an integer arithmetic unit not having a branch instruction execution function, instructions can be executed in parallel as in the conventional case. The execution function of can be omitted in a plurality of integer arithmetic units.

【0067】この結果、情報処理装置の性能を劣化させ
ずに、そのハードウェア物量を削減することができ、さ
らに情報処理装置の縮小化およびコストダウンが実現で
きる。
As a result, the amount of hardware can be reduced without degrading the performance of the information processing apparatus, and the information processing apparatus can be downsized and the cost can be reduced.

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

【図1】本発明の一実施例である情報処理装置の構成を
示すブロック図である。
FIG. 1 is a block diagram showing the configuration of an information processing apparatus that is an embodiment of the present invention.

【図2】本実施例の演算器構成における分岐命令とその
後続命令制御のパイプラインを示す概略説明図である。
FIG. 2 is a schematic explanatory diagram showing a pipeline of a branch instruction and its subsequent instruction control in the arithmetic unit configuration of the present embodiment.

【図3】単一パイプライン方式における分岐命令制御を
示す概略説明図である。
FIG. 3 is a schematic explanatory diagram showing branch instruction control in a single pipeline system.

【図4】単一パイプライン方式における分岐命令とディ
レイスロット命令制御のパイプラインおよび命令実行順
序を示す概略説明図である。
FIG. 4 is a schematic explanatory diagram showing a pipeline of a branch instruction and a delay slot instruction control in a single pipeline method and an instruction execution order.

【図5】スーパスカラ方式における分岐命令とディレイ
スロット命令制御のパイプラインを示す概略説明図であ
る。
FIG. 5 is a schematic explanatory diagram showing a pipeline of a branch instruction and a delay slot instruction control in the superscalar method.

【図6】従来の情報処理装置の構成を示すブロック図で
ある。
FIG. 6 is a block diagram showing a configuration of a conventional information processing device.

【図7】第2演算器における分岐命令とディレイスロッ
ト命令制御のパイプラインを示す概略説明図である。
FIG. 7 is a schematic explanatory diagram showing a pipeline of a branch instruction and a delay slot instruction control in the second arithmetic unit.

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

21,34,40,60,71 分岐命令 22 ADD命令 23 SUB命令 24 AND命令 30,44 命令読み出しステージ(iF) 31 デコードステージ(D) 32 演算ステージ(E) 33 書き込みステージ(W) 35,36,42 無効化された命令 37,43 分岐先命令 38 分岐先命令の命令読み出しステージ(iF) 41,61,72 ディレイスロット命令 62 分岐命令の演算ステージ(E) 100 情報処理装置 101 セレクタ(分岐命令選択手段) 102 第1命令レジスタ 103 第2命令レジスタ 104,104a 第1演算器 105 第2演算器 106 第1デコーダ 107 第2デコーダ 108 並列実行判定回路 109 分岐命令検出回路(分岐命令検出手段) 110 プログラムカウンタ 111 レジスタファイル 112 第1命令有効信号 113 第2命令有効信号 114 命令アドレスのデータパス(命令アドレス入力
手段) 115,116 制御情報
21, 34, 40, 60, 71 Branch instruction 22 ADD instruction 23 SUB instruction 24 AND instruction 30, 44 Instruction read stage (iF) 31 Decode stage (D) 32 Operation stage (E) 33 Write stage (W) 35, 36 , 42 Invalidated instructions 37, 43 Branch destination instruction 38 Instruction read stage (iF) 41 of branch destination instruction 41, 61, 72 Delay slot instruction 62 Branch operation stage (E) 100 Information processing device 101 Selector (branch instruction Selection means) 102 first instruction register 103 second instruction register 104, 104a first arithmetic unit 105 second arithmetic unit 106 first decoder 107 second decoder 108 parallel execution determination circuit 109 branch instruction detection circuit (branch instruction detection means) 110 Program counter 111 register File 112 First command valid signal 113 Second command valid signal 114 Command address data path (command address input means) 115, 116 Control information

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 複数の整数演算器を備え、複数の命令を
並列処理するパイプライン方式の情報処理装置であっ
て、分岐命令を含む全ての整数演算の実行機能を有する
整数演算器と、分岐命令以外の全ての整数演算の実行機
能を有する整数演算器とを備え、該整数演算器どうしを
組み合わせて前記複数の命令の並列処理を行うことを特
徴とする情報処理装置。
1. A pipeline type information processing apparatus having a plurality of integer arithmetic units and processing a plurality of instructions in parallel, the integer arithmetic unit having a function of executing all integer arithmetic operations including branch instructions; An information processing apparatus comprising: an integer arithmetic unit having a function of executing all integer arithmetic operations other than instructions, and performing parallel processing of the plurality of instructions by combining the integer arithmetic units.
【請求項2】 分岐命令の命令コードを分岐命令実行機
能を有する整数演算器へ分配し、前記分岐命令を解読
し、該整数演算器にて演算を行うことを特徴とする請求
項1記載の情報処理装置。
2. The instruction code of a branch instruction is distributed to an integer arithmetic unit having a branch instruction execution function, the branch instruction is decoded, and the arithmetic operation is performed by the integer arithmetic unit. Information processing equipment.
【請求項3】 実行する命令が分岐命令かどうかの判定
を行う分岐命令検出手段を備えることを特徴とする請求
項1記載の情報処理装置。
3. The information processing apparatus according to claim 1, further comprising branch instruction detecting means for determining whether or not the instruction to be executed is a branch instruction.
【請求項4】 分岐命令の命令コードを分岐命令実行機
能を有する整数演算器へ分配する分岐命令選択手段を備
えることを特徴とする請求項1記載の情報処理装置。
4. The information processing apparatus according to claim 1, further comprising branch instruction selecting means for distributing the instruction code of the branch instruction to integer arithmetic units having a branch instruction execution function.
【請求項5】 前記分岐命令実行機能を有する整数演算
器のみに、プログラムカウンタから命令アドレスを入力
するための命令アドレス入力手段を備え、前記整数演算
器のみにおいて、該命令アドレス入力手段により該命令
アドレスを入力し、分岐先アドレス計算を行うことを特
徴とする請求項1記載の情報処理装置。
5. An instruction address input means for inputting an instruction address from a program counter is provided only in the integer arithmetic unit having the branch instruction execution function, and the instruction address input means is used in the integer arithmetic unit only for the instruction. The information processing apparatus according to claim 1, wherein an address is input and a branch destination address is calculated.
【請求項6】 前記複数の整数演算器の中に前記分岐命
令実行機能を有する整数演算器を1個備え、該分岐命令
実行機能を有する整数演算器のみに前記命令アドレス入
力手段を1個備えることを特徴とする請求項1記載の情
報処理装置。
6. The integer arithmetic unit having the branch instruction execution function is provided in the plurality of integer arithmetic units, and the instruction address input means is provided only in the integer arithmetic unit having the branch instruction execution function. The information processing apparatus according to claim 1, wherein:
JP10792393A 1993-05-10 1993-05-10 Information processor Pending JPH06324867A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10792393A JPH06324867A (en) 1993-05-10 1993-05-10 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10792393A JPH06324867A (en) 1993-05-10 1993-05-10 Information processor

Publications (1)

Publication Number Publication Date
JPH06324867A true JPH06324867A (en) 1994-11-25

Family

ID=14471480

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10792393A Pending JPH06324867A (en) 1993-05-10 1993-05-10 Information processor

Country Status (1)

Country Link
JP (1) JPH06324867A (en)

Similar Documents

Publication Publication Date Title
US4740893A (en) Method for reducing the time for switching between programs
USH1291H (en) Microprocessor in which multiple instructions are executed in one clock cycle by providing separate machine bus access to a register file for different types of instructions
US5404552A (en) Pipeline risc processing unit with improved efficiency when handling data dependency
US20020169942A1 (en) VLIW processor
US5619664A (en) Processor with architecture for improved pipelining of arithmetic instructions by forwarding redundant intermediate data forms
US6145074A (en) Selecting register or previous instruction result bypass as source operand path based on bypass specifier field in succeeding instruction
KR100316078B1 (en) Processor with pipelining-structure
EP0378415A2 (en) Multiple instruction dispatch mechanism
JPH03286332A (en) Digital data processor
US4677549A (en) Pipelined data processor system having increased processing speed
US20230359385A1 (en) Quick clearing of registers
US7134000B2 (en) Methods and apparatus for instruction alignment including current instruction pointer logic responsive to instruction length information
JP2003263313A (en) Digital processor and method of selecting command
JP3534987B2 (en) Information processing equipment
JPH06324867A (en) Information processor
US6266764B1 (en) Program controller for switching between first program and second program
JP2004516572A (en) Tuning speculative registers
US7991816B2 (en) Inverting data on result bus to prepare for instruction in the next cycle for high frequency execution units
US7406590B2 (en) Methods and apparatus for early loop bottom detection in digital signal processors
JP2812610B2 (en) Pipeline control method
JPH01271842A (en) Information processor
JP2924735B2 (en) Pipeline operation device and decoder device
JP2925842B2 (en) Pipeline processing equipment
JP2869376B2 (en) Pipeline data processing method for executing multiple data processing with data dependency
JPH06301534A (en) Information processor