JP2878792B2 - Electronic computer - Google Patents

Electronic computer

Info

Publication number
JP2878792B2
JP2878792B2 JP16455290A JP16455290A JP2878792B2 JP 2878792 B2 JP2878792 B2 JP 2878792B2 JP 16455290 A JP16455290 A JP 16455290A JP 16455290 A JP16455290 A JP 16455290A JP 2878792 B2 JP2878792 B2 JP 2878792B2
Authority
JP
Japan
Prior art keywords
instruction
instructions
execution
unit
processing
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
JP16455290A
Other languages
Japanese (ja)
Other versions
JPH0454638A (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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP16455290A priority Critical patent/JP2878792B2/en
Publication of JPH0454638A publication Critical patent/JPH0454638A/en
Application granted granted Critical
Publication of JP2878792B2 publication Critical patent/JP2878792B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は複数の命令を並列的に実行する電子計算機に
関する。
DETAILED DESCRIPTION OF THE INVENTION [Purpose of the Invention] (Industrial application field) The present invention relates to an electronic computer that executes a plurality of instructions in parallel.

(従来の技術) 近時、複数の命令を細粒度レベルで並列的に実行して
その演算処理速度の高速化を図るようにした並列処理型
の電子計算機の開発が種々試みられている。特に最近で
は、例えばマルチフローコンピュータ社の[トレース]
やインテル社の[i860]に代表されるような、VLIW方式
と称される並列処理型の電子計算機が開発され、注目さ
れている。然し乍ら、この種の従来方式の電子計算機に
あっては、従来一般的なシーケンシャルな命令コードを
実行することができないと云う本質的な問題がある。
(Prior Art) In recent years, various attempts have been made to develop a parallel processing type computer in which a plurality of instructions are executed in parallel at a fine-grained level to increase the arithmetic processing speed. Particularly recently, for example, [Trace] of Multiflow Computer
A parallel processing computer called the VLIW method, as typified by Intel Corporation [i860], has been developed and attracted attention. However, this type of conventional computer has an essential problem that conventional general instruction codes cannot be executed.

また従来のシーケンシャルな命令コードを、そのオブ
ジェクトの互換性を保ちながら並列的に実行するには、
シーケンシャルに与えられる複数の命令の同時実行可能
性を検定することが必要である。しかしこのような検定
を行うには、例えば1サイクルのロジック段数を増やす
ことが必要であり、この結果、そのサイクルタイムが増
大することが否めない。
To execute the conventional sequential instruction code in parallel while maintaining the compatibility of the object,
It is necessary to test the concurrent executability of multiple instructions given sequentially. However, in order to perform such a test, it is necessary to increase, for example, the number of logic stages in one cycle, and as a result, it is unavoidable that the cycle time increases.

一方、レーテンシィのある命令の実行をサポートする
為に複数の命令間の依存性解析を行う手法としてレジス
タスコアボード方式が知られている。このレジスタスコ
アボード方式は、例えばモトローラ社の[M88000]に見
られるように、インストラクションバッファにフェッチ
した命令をレジスタフィールド・デコーダにて解析(デ
コード)し、この解析処理によって求められる上記命令
のソースレジスタ番号、ディスティネーションレジスタ
番号をレジスタファイルに与えると供に、レジスタスコ
アボード回路に与える。そしてこのレジスタスコアボー
ド回路にて複数の命令間の依存性を解析し、その解析結
果に従って前記命令の実行手順を制御するようにしたも
のである。
On the other hand, a register scoreboard method is known as a technique for performing dependency analysis between a plurality of instructions in order to support execution of instructions with latency. According to the register scoreboard method, an instruction fetched into an instruction buffer is analyzed (decoded) by a register field decoder as shown in, for example, [M88000] of Motorola, and a source register of the instruction obtained by the analysis processing is obtained. The numbers and the destination register numbers are given to the register file and to the register scoreboard circuit. The register scoreboard circuit analyzes dependencies among a plurality of instructions, and controls the execution procedure of the instructions according to the analysis result.

そこでこのようなレジスタスコアボード方式を利用
し、複数の命令実行ユニットを用いて並列的に処理しよ
うとする複数の命令間の依存性から、それらの同時実行
可能性を解析することが考えられる。例えばインストラ
クションバッファに、連続した複数の命令をフェッチ
し、命令分配器にてこれらの命令の種別をそれぞれ判定
し、この判定結果に従ってその命令を実行するに適した
実行ユニットを選定して上記各命令をそれぞれ分配供給
して前記各命令を並列的に実行することが考えられてい
る。
Therefore, it is conceivable to analyze the possibility of simultaneous execution of these instructions using the register scoreboard method, based on the dependencies between a plurality of instructions to be processed in parallel using a plurality of instruction execution units. For example, a plurality of consecutive instructions are fetched into an instruction buffer, the types of these instructions are determined by an instruction distributor, and an execution unit suitable for executing the instruction is selected according to a result of the determination. Are distributed and supplied to execute the instructions in parallel.

具体的には浮動小数点乗算ユニット、浮動小数点加算
ユニット,算術演算ユニット(ALU)等の種々の命令実
行ユニットを準備し、これらの複数の命令実行ユニット
に対して、その命令実行機能に適した命令をそれぞれ分
配供給して上記各命令を並列的に実行することが考えら
れている。
Specifically, various instruction execution units such as a floating-point multiplication unit, a floating-point addition unit, and an arithmetic operation unit (ALU) are prepared, and an instruction suitable for the instruction execution function is provided to the plurality of instruction execution units. Are distributed and supplied, and the above instructions are executed in parallel.

この場合、命令間の依存性の解析は、各命令実行ユニ
ットにそれぞれ組み込まれたレジスタフィールド・デコ
ーダとレジスタスコアボード回路とを用いて行われる。
In this case, the analysis of the dependence between instructions is performed using a register field decoder and a register scoreboard circuit incorporated in each instruction execution unit.

ところがこのような命令間の依存解析は、命令分配器
を介して命令実行ユニットに命令が分配供給された後に
各命令実行ユニットのレジスタスコアボード回路を用い
て行われるので、その処理に長い時間が掛かると云う問
題がある。つまり複数の命令の同時実行可能性を検定す
るのに長い処理時間を必要とすると云う問題がある。
However, such dependence analysis between instructions is performed using the register scoreboard circuit of each instruction execution unit after instructions are distributed and supplied to the instruction execution units via the instruction distributor, so that the processing takes a long time. There is a problem of hanging. That is, there is a problem that a long processing time is required to test the possibility of simultaneous execution of a plurality of instructions.

(発明が解決しようとする課題) このように従来一般的なシーケンシャルな命令コード
を、そのオブジェクトの互換性を保ちながら並列的に処
理しようとする場合には、複数の命令間の実行順序依存
性を検出し、複数の命令の同時実行を制御する必要があ
る。しかし従来のレジスタスコアボード方式をそのまま
用いて命令間の依存性を解析しようとすると、命令実行
ユニットに命令を分配供給した後、その命令実行ユニッ
トにて命令間の依存性の解析が行われるので、その処理
に多くの時間を必要とすると云う問題があった。
(Problems to be Solved by the Invention) As described above, when the conventional general sequential instruction code is to be processed in parallel while maintaining the object compatibility, the execution order dependency between a plurality of instructions is considered. Must be detected and the simultaneous execution of multiple instructions must be controlled. However, when trying to analyze dependencies between instructions using the conventional register scoreboard method as it is, after distributing and supplying instructions to the instruction execution units, the instruction execution units analyze the dependencies between instructions. However, there is a problem that the processing requires a lot of time.

本発明はこのような事情を考慮してなされたもので、
その目的とするところは、複数の命令の並列的な処理を
効率的に行うことの可能な電子計算機を提供することに
ある。
The present invention has been made in view of such circumstances,
An object of the present invention is to provide an electronic computer capable of efficiently performing parallel processing of a plurality of instructions.

[発明の構成] (課題を解決するための手段) 本発明は、複数の命令を同時実行するために複数の実
行手段を具備した電子計算機であって、同時実行の対象
となる複数の命令をフェッチするフェッチ手段と、前記
フェッチ手段によりフェッチされた複数の命令を、同時
実行可能であるものとして、前記複数の実行手段にそれ
ぞれ供給する処理を行う命令供給手段と、前記命令供給
手段によって前記複数の命令が前記複数の実行手段にそ
れぞれ供給され同時実行が進められるのと並行して、該
複数の命令のうち同時実行できないものを検出する第1
の処理手段と、前記第1の処理手段により同時実行でき
ないことが検出された命令が存在する場合に、前記実行
手段にて進められている該同時実行できないことが検出
された命令の実行を中止させる第2の処理手段とを具備
したことを特徴とする。
[Configuration of the Invention] (Means for Solving the Problems) The present invention is an electronic computer provided with a plurality of execution means for simultaneously executing a plurality of instructions. Fetch means for fetching, instruction supply means for performing a process of supplying a plurality of instructions fetched by the fetch means to the plurality of execution means as being simultaneously executable, and a plurality of instructions provided by the instruction supply means. In parallel with the plurality of instructions being supplied to the plurality of execution means and being simultaneously executed, a first one of the plurality of instructions which cannot be simultaneously executed is detected.
And if there is an instruction detected by the first processing means to be unable to execute simultaneously, the execution of the instruction detected by the execution means to be unable to execute simultaneously is stopped. And a second processing means for performing the processing.

(作用) 本発明によれば、フェッチ手段によりフェッチされた
複数の命令を命令供給手段により複数の実行手段に分配
供給し各実行手段にて各命令を実行する処理と並行し
て、第1の処理手段にて前記フェッチ手段によりフェッ
チされた複数の命令のうち同時実行できないものを検出
する処理を同時に実行し、この検出結果に従って第2の
処理手段により前記複数の実行手段における同時実行不
可の命令の実行を中止する。この結果、複数の命令の同
時実行可能性を判断するための時間を省くことができる
ので、複数の命令の並列的な処理を効率的に行うことが
できる。
(Operation) According to the present invention, a plurality of instructions fetched by the fetch means are distributed and supplied to the plurality of execution means by the instruction supply means, and each instruction is executed by each execution means. Processing means for simultaneously detecting a plurality of instructions fetched by the fetch means which cannot be executed at the same time, and executing the instructions which cannot be simultaneously executed in the plurality of execution means by the second processing means according to a result of the detection; Abort the execution of. As a result, time for judging the possibility of simultaneous execution of a plurality of instructions can be saved, so that parallel processing of a plurality of instructions can be performed efficiently.

(実施例) 以下、図面を参照して本発明の一実施例に係る電子計
算機について説明する。
(Embodiment) Hereinafter, an electronic computer according to an embodiment of the present invention will be described with reference to the drawings.

第1図は実施例に係る電子計算機の要部概略構成を示
す図であり、1はシーケンシャルな命令を複数個ずつフ
ェッチするインストラクション・バッファ(フェッチ回
路)である。尚、ここでは4個の命令I1,I2,I3,I4を同
時にフェッチするように構成されたインストラクション
・バッファ1が示される。
FIG. 1 is a diagram showing a schematic configuration of a main part of an electronic computer according to an embodiment. Reference numeral 1 denotes an instruction buffer (fetch circuit) for fetching a plurality of sequential instructions. Here, an instruction buffer 1 configured to fetch four instructions I1, I2, I3, I4 simultaneously is shown.

しかしてこのインストラクション・バッファ1にフェ
ッチされた4つの命令I1,I2,I3,I4は、命令分配器2を
介して、その命令の種別に応じて複数の命令実行ユニッ
ト3(3a,3b,〜3n)にそれぞれ分配供給される。この実
施例では複数の命令実行ユニット3として、浮動小数点
加算ユニット(ADD)3a,浮動小数点乗算ユニット(MU
L)3b,算術演算ユニット(ALU)3c,3dがそれぞれ準備さ
れている。前記命令分配器2は前記バッファ1にフェッ
チされた命令が浮動小数点加算命令の場合には、その命
令を上記浮動小数点加算ユニット(ADD)3aに供給し、
また命令が浮動小数点乗算命令である場合には浮動小数
点乗算ユニット(MUL)3bに、更に整数演算命令である
場合には前記算術演算ユニット(ALU)3c,3dに対してそ
の命令をそれぞれ分配供給する。
Thus, the four instructions I1, I2, I3, I4 fetched into the instruction buffer 1 are transmitted via the instruction distributor 2 to a plurality of instruction execution units 3 (3a, 3b,. 3n). In this embodiment, as the plurality of instruction execution units 3, a floating point addition unit (ADD) 3a and a floating point multiplication unit (MU)
L) 3b and arithmetic operation units (ALU) 3c, 3d are prepared respectively. When the instruction fetched into the buffer 1 is a floating point addition instruction, the instruction distributor 2 supplies the instruction to the floating point addition unit (ADD) 3a,
When the instruction is a floating point multiplication instruction, the instruction is distributed to the floating point multiplication unit (MUL) 3b, and when the instruction is an integer operation instruction, the instruction is distributed to the arithmetic operation units (ALU) 3c, 3d. I do.

これらの各命令実行ユニット3はそれぞれデコーダ4
を備えており、基本的には前記命令分配器2の制御の下
で前記インストラクション・バッファ1から選択的に分
配供給された命令をそれぞれデコードし、そのデコード
結果が示すレジスタフィールドのデータに従ってレジス
タをアクセスしてその命令を実行する。
Each of these instruction execution units 3 is provided with a decoder 4
And basically decodes instructions selectively distributed and supplied from the instruction buffer 1 under the control of the instruction distributor 2, and stores registers in accordance with data in a register field indicated by the decoded result. Access and execute the instruction.

一方、前記インストラクション・バッファ1にフェッ
チされた4つの命令I1,I2,I3,I4は命令分配器2に供給
されて命令実行ユニット3に分配供給されると同時に、
同時実行可能性検出部(第1の処理ユニット)5に与え
られる。この同時実行可能性検出部5は前記インストラ
クション・バッファ1から与えられる命令をそれぞれデ
コードするデコーダ5aと、そのデコード結果を検定して
複数の命令間の同時実行の可能性を判断する検定部5bと
を備えており、これらのデコーダ5aと検定部5bとを用い
て前記インストラクション・バッファ1にフェッチされ
た4つの命令I1,I2,I3,I4間での同時実行可能性を判断
する。
On the other hand, the four instructions I1, I2, I3, I4 fetched in the instruction buffer 1 are supplied to the instruction distributor 2 and distributed to the instruction execution unit 3, and at the same time,
It is provided to a concurrent execution possibility detection unit (first processing unit) 5. The simultaneous execution possibility detecting unit 5 includes a decoder 5a for decoding instructions given from the instruction buffer 1 and a testing unit 5b for checking the decoding result to determine the possibility of simultaneous execution among a plurality of instructions. The decoder 5a and the test unit 5b are used to determine the possibility of simultaneous execution among the four instructions I1, I2, I3, and I4 fetched in the instruction buffer 1.

具体的にはこの複数の命令の同時実行可能性の判断
は、例えば前述した命令I1,I2,…が として与えられるような場合、例えば命令I1を基準とし
て次の命令I2の実行条件を判断する。この場合には命令
I2の全てのレジスタフィールドが、命令I1のディスティ
ネーション・レジスタフィールドr3と異なることから、
上記命令I2は命令I1と同時に実行可能であると判断す
る。このような判断処理は、先の命令に対して次の命令
の実行条件が成立するか否かを次々と判断することによ
りなされる。つまりこのような同時実行可能性の判断
は、次の命令I3については先の命令I1,I2に対して同様
に行われ、更に次の命令I4については命令I1,I2,I3のそ
れぞれに対して同様に行われる。
Specifically, the judgment on the possibility of simultaneous execution of the plurality of instructions is made, for example, by the aforementioned instructions I1, I2,. For example, the execution condition of the next instruction I2 is determined based on the instruction I1. In this case the instruction
Since all register fields of I2 are different from the destination register field r3 of instruction I1,
It is determined that the instruction I2 can be executed simultaneously with the instruction I1. Such determination processing is performed by sequentially determining whether or not the execution condition of the next instruction is satisfied with respect to the previous instruction. In other words, such determination of the possibility of simultaneous execution is performed in the same way for the next instruction I3 with respect to the previous instructions I1 and I2, and further for the next instruction I4, with respect to each of the instructions I1, I2 and I3. The same is done.

しかして前述した命令I1,I2,…が、例えば として与えられるような場合には、第2図に示すように
命令I1を基準として次の命令I2の実行条件を判断する
と、命令I2のソースレジスタフィールドr3が、命令I1の
ディスティネーション・レジスタフィールドr3と一致す
ることが検出される。この結果、前記同時実行可能性検
出部5は、上記命令I2については命令I1の実行完了後に
実行する必要がある、つまり命令I2と命令I1とは同時に
実行することが不可能であると判断する。
Then, the above-mentioned instructions I1, I2,. When the execution condition of the next instruction I2 is determined based on the instruction I1 as shown in FIG. 2, the source register field r3 of the instruction I2 becomes the destination register field r3 of the instruction I1. Is detected to match. As a result, the concurrent execution possibility detection unit 5 determines that the instruction I2 needs to be executed after the execution of the instruction I1, that is, it is impossible to execute the instruction I2 and the instruction I1 at the same time. .

アボート信号供給器(第2の処理ユニット)6は、こ
のようにして同時実行可能性検出部5にて同時実行不可
能であると判断された命令の実行を中止させるべく、そ
の命令が供給された命令実行ユニット3に対してアボー
ト信号を発生する。同時実行の可能性が否定された命令
に対して発せられるアボート信号をどの命令実行ユニッ
ト3に与えるかは、その命令の種別に応じて前記命令分
配器2と同様に、その命令をどの命令実行ユニット3に
分配するか(或いは分配されているか)を調べることに
よって決定される。命令実行ユニット3は、このように
してアボート信号が与えられたとき、前記命令分配器2
を介して与えられた命令の実行を取り止める。
The abort signal supply unit (second processing unit) 6 is supplied with the instruction so as to stop the execution of the instruction determined to be non-simultaneous by the simultaneous execution possibility detection unit 5 in this way. An abort signal is generated for the executed instruction unit 3. Which instruction execution unit 3 is to be given an abort signal issued for an instruction for which the possibility of simultaneous execution is denied depends on the type of the instruction, as with the instruction distributor 2, It is determined by examining whether to distribute (or distribute) to the unit 3. When the abort signal is given in this way, the instruction execution unit 3
Ceases execution of an instruction given via

さてこのようにして或る命令の実行が取り止められた
場合、前記インストラクション・バッファ1への新しい
命令(複数の命令)のフェッチが停止される。そして次
のサイクルでは、先に取り止めとなった命令の再実行が
行われる。この場合、既に実行を開始した命令について
は再実行する必要はない。またこの場合には既に実行完
了となった命令との間でその同時実行可能性を調べる必
要もないので、例えば同時実行の可能性が否定される原
因となった命令が実行完了しているか否かだけを調べ
て、その命令を再実行する。このような命令の再実行処
理により、或るサイクル後には前記インストラクション
・バッファ1にフェッチした全ての命令を実行すること
が可能となるので、その時点で前記インストラクション
・バッファ1に新たな命令(複数の命令)をフェッチす
る。そしてこれらの命令について同様にして前記複数の
命令実行ユニット3による並列的な命令実行を制御す
る。
When the execution of a certain instruction is stopped in this way, the fetch of new instructions (a plurality of instructions) into the instruction buffer 1 is stopped. Then, in the next cycle, the previously canceled instruction is re-executed. In this case, there is no need to re-execute the instruction that has already started execution. Also, in this case, there is no need to check the possibility of simultaneous execution with the instruction whose execution has already been completed. For example, whether the instruction that has denied the possibility of simultaneous execution has completed execution Check only and re-execute the instruction. Such instruction re-execution processing makes it possible to execute all the instructions fetched into the instruction buffer 1 after a certain cycle, so that new instructions (a plurality of instructions) are stored in the instruction buffer 1 at that time. Instruction). Then, for these instructions, the instruction execution by the plurality of instruction execution units 3 is controlled in parallel.

このように構成された電子計算機によれば、例えば命
令のフェッチ(命令アクセス),命令のデコード(同時
実行の可能性の検出を含む),命令の実行をステージ分
割してパイプライン処理するような場合、上述した複数
の命令間の同時実行可能性の判断を上述したデコードス
テージで実行することが可能となる。つまり命令間の同
時実行可能性の判断に要する処理時間を改めて設定する
ことなく、デコードステージの処理時間内に上記同時実
行可能性判断の処理を行うことができる。従って複数の
命令を並列的に実行する場合であっても、わざわざその
為の処理ステージを設定する必要がないので、高速度に
効率良く複数の命令を並列処理することが可能となる。
According to the computer configured as described above, for example, instruction fetching (instruction access), instruction decoding (including detection of possibility of simultaneous execution), and instruction execution are divided into stages and pipelined. In this case, the above-described determination of the possibility of simultaneous execution among a plurality of instructions can be executed in the above-described decoding stage. That is, it is possible to perform the above-mentioned simultaneous executability determination processing within the processing time of the decode stage without newly setting the processing time required to determine the simultaneous executability between instructions. Therefore, even when a plurality of instructions are executed in parallel, there is no need to set a processing stage for that purpose, so that a plurality of instructions can be efficiently processed in parallel at high speed.

つまり本発明によれば、レジスタをアクセスする為に
各命令実行ユニットが持つレジスタフィールドのデコー
ダとは別個に、複数の命令の同時実行の可能性を判断す
る為のレジスタフィールドデコーダを設け、このレジス
タフィールドデコーダを用いて命令分配器2とは独立に
命令の同時実行可能性を判断して複数の命令実行ユニッ
トによる命令の同時実行を制御するので、命令の同時実
行可能性の判断自体を高速に行うことができ、またその
サイクルタイムや処理実行時間の短縮化を図って計算機
性能を大幅に向上させることができる。しかも命令分配
器2により複数の命令を複数の命令実行ユニットに分配
しながら、同時実行可能性の判断結果に従ってその命令
の同時実行を制御するので、従来のシーケンシャルな命
令コードとそのオブジェクトとの互換性を保ちながら、
その命令を効率的に並列処理することを可能とする等の
実用上多大な効果を奏する。
That is, according to the present invention, a register field decoder for judging the possibility of simultaneous execution of a plurality of instructions is provided separately from the register field decoder of each instruction execution unit for accessing the register. Since the simultaneous execution of instructions is determined independently of the instruction distributor 2 by using a field decoder and the simultaneous execution of instructions by a plurality of instruction execution units is controlled, the determination itself of the simultaneous execution of instructions can be performed at high speed. And the performance of the computer can be greatly improved by shortening the cycle time and the processing execution time. Moreover, since the instruction distributor 2 distributes a plurality of instructions to a plurality of instruction execution units and controls the simultaneous execution of the instructions according to the result of the determination on the possibility of simultaneous execution, the conventional sequential instruction code is compatible with the object. While maintaining sex
This has a great practical effect, such as enabling the instructions to be efficiently processed in parallel.

尚、本発明は上述した実施例に限定されるものではな
い。実施例では4つの命令を並列的に処理する場合を例
に説明したが、その数は幾つであっても良い。但し、そ
の命令数に応じて、それらの命令間の同時実行可能性
(命令実行順序)をそれぞれ検定することが必要であ
る。また命令実行ユニットの数やその種類についても計
算機の仕様に応じて定めれば良いものである。その他、
本発明はその要旨を逸脱しない範囲で種々変形して実施
することができる。
Note that the present invention is not limited to the above-described embodiment. In the embodiment, the case where four instructions are processed in parallel has been described as an example, but the number may be any number. However, it is necessary to test the possibility of simultaneous execution (instruction execution order) between the instructions according to the number of instructions. Also, the number and type of instruction execution units may be determined according to the specifications of the computer. Others
The present invention can be implemented with various modifications without departing from the scope of the invention.

[発明の効果] 以上説明したように本発明によれば、シーケンシャル
な命令コードとオブジェクトとのバイナリコンパチビリ
ティ(互換性)を保ちながら複数の命令に対する並列的
な処理を行うことが可能であり、その処理実行時間の短
縮化を図って効率良く命令を実行することができる等の
実用上多大なる効果が奏せられる。
[Effects of the Invention] As described above, according to the present invention, it is possible to perform parallel processing on a plurality of instructions while maintaining binary compatibility (compatibility) between sequential instruction codes and objects. Practically significant effects are obtained, such as the ability to execute instructions efficiently by shortening the processing execution time.

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

第1図は本発明の一実施例に係る電子計算機の要部概略
構成図、第2図は複数の命令に対する同時実行可能性判
断処理の基本的な概念を模式的に示す図である。 1…インストラクション・バッファ(フェッチ回路)、
2…命令分配器、3…命令実行ユニット、4…デコー
ダ、5…同時実行可能性検出部(第1の処理ユニッ
ト)、5a…デコーダ、5b…検定部、6…アボート信号供
給器(第2の処理ユニット)。
FIG. 1 is a schematic configuration diagram of a main part of an electronic computer according to an embodiment of the present invention, and FIG. 2 is a diagram schematically illustrating a basic concept of simultaneous execution possibility determination processing for a plurality of instructions. 1: Instruction buffer (fetch circuit)
2 instruction distributor, 3 instruction execution unit, 4 decoder, 5 simultaneous execution possibility detection unit (first processing unit), 5a decoder, 5b test unit, 6 abort signal supply unit (second unit) Processing unit).

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−150935(JP,A) 特開 平3−282958(JP,A) 特開 平3−245223(JP,A) 特開 平2−130634(JP,A) 特開 平2−206836(JP,A) 特開 平3−91029(JP,A) 特開 平2−33626(JP,A) 特開 昭57−29153(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/38 ────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP-A-1-150935 (JP, A) JP-A-3-282958 (JP, A) JP-A-3-245223 (JP, A) JP-A-2- 130634 (JP, A) JP-A-2-206683 (JP, A) JP-A-3-91029 (JP, A) JP-A-2-33626 (JP, A) JP-A-57-29153 (JP, A) (58) Field surveyed (Int.Cl. 6 , DB name) G06F 9/38

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数の命令を同時実行するために複数の実
行手段を具備した電子計算機であって、 同時実行の対象となる複数の命令をフェッチするフェッ
チ手段と、 前記フェッチ手段によりフェッチされた複数の命令を、
同時実行可能であるものとして、前記複数の実行手段に
それぞれ供給する処理を行う命令供給手段と、 前記命令供給手段によって前記複数の命令が前記複数の
実行手段にそれぞれ供給され同時実行が進められるのと
並行して、該複数の命令のうち同時実行できないものを
検出する第1の処理手段と、 前記第1の処理手段により同時実行できないことが検出
された命令が存在する場合に、前記実行手段にて進めら
れている該同時実行できないことが検出された命令の実
行を中止させる第2の処理手段とを具備したことを特徴
とする電子計算機。
An electronic computer having a plurality of execution means for simultaneously executing a plurality of instructions, wherein the fetch means fetches a plurality of instructions to be simultaneously executed, and wherein the fetch means fetches the plurality of instructions. Multiple instructions
An instruction supply unit for performing a process of supplying each of the plurality of execution units, wherein the plurality of instructions are respectively supplied to the plurality of execution units by the instruction supply unit, and the simultaneous execution proceeds. A first processing means for detecting an instruction which cannot be executed simultaneously among the plurality of instructions; and an execution means for detecting an instruction which cannot be executed simultaneously by the first processing means. And a second processing means for stopping the execution of the instruction detected as being unable to be executed simultaneously.
JP16455290A 1990-06-22 1990-06-22 Electronic computer Expired - Lifetime JP2878792B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16455290A JP2878792B2 (en) 1990-06-22 1990-06-22 Electronic computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16455290A JP2878792B2 (en) 1990-06-22 1990-06-22 Electronic computer

Publications (2)

Publication Number Publication Date
JPH0454638A JPH0454638A (en) 1992-02-21
JP2878792B2 true JP2878792B2 (en) 1999-04-05

Family

ID=15795330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16455290A Expired - Lifetime JP2878792B2 (en) 1990-06-22 1990-06-22 Electronic computer

Country Status (1)

Country Link
JP (1) JP2878792B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69233493T2 (en) 1991-07-08 2005-07-28 Seiko Epson Corp. RISC processor with extensible architecture
JP2685999B2 (en) * 1991-07-15 1997-12-08 株式会社ピーエフユー Parallel execution method
EP0638183B1 (en) 1992-05-01 1997-03-05 Seiko Epson Corporation A system and method for retiring instructions in a superscalar microprocessor
US5537538A (en) * 1993-12-15 1996-07-16 Silicon Graphics, Inc. Debug mode for a superscalar RISC processor
JP2815236B2 (en) * 1993-12-15 1998-10-27 シリコン・グラフィックス・インコーポレーテッド Instruction dispatching method for superscalar microprocessor and checking method for register conflict
JP3534987B2 (en) * 1997-10-20 2004-06-07 富士通株式会社 Information processing equipment

Also Published As

Publication number Publication date
JPH0454638A (en) 1992-02-21

Similar Documents

Publication Publication Date Title
JP2938426B2 (en) Method and apparatus for detecting and recovering interference between out-of-order load and store instructions
EP0762270B1 (en) Microprocessor with load/store operation to/from multiple registers
US10514919B2 (en) Data processing apparatus and method for processing vector operands
JPH0776921B2 (en) Data processing method and device
US10599428B2 (en) Relaxed execution of overlapping mixed-scalar-vector instructions
EP3449356B1 (en) An apparatus and method for managing address collisions when performing vector operations
KR20040016829A (en) Exception handling in a pipelined processor
US5778248A (en) Fast microprocessor stage bypass logic enable
US20030046517A1 (en) Apparatus to facilitate multithreading in a computer processor pipeline
US6862676B1 (en) Superscalar processor having content addressable memory structures for determining dependencies
JPH09152973A (en) Method and device for support of speculative execution of count / link register change instruction
JP2878792B2 (en) Electronic computer
US20060200653A1 (en) Decoding predication instructions within a superscalar data processing system
US5850563A (en) Processor and method for out-of-order completion of floating-point operations during load/store multiple operations
US6775762B1 (en) Processor and processor system
US20030084272A1 (en) Handling problematic events in a data processing apparatus
US11269649B2 (en) Resuming beats of processing of a suspended vector instruction based on beat status information indicating completed beats
WO2016156955A1 (en) Parallelized execution of instruction sequences based on premonitoring
US5729729A (en) System for fast trap generation by creation of possible trap masks from early trap indicators and selecting one mask using late trap indicators
JP2856784B2 (en) Electronic computer
US20210096877A1 (en) Collapsing bubbles in a processing unit pipeline
JP2843844B2 (en) Parallel processing unit
JP2806093B2 (en) Load / store processing unit
Shah et al. SPSIM: SuperScalar Processor SIMulater CS305 Project Report
JPH05241864A (en) Method for controlling computer

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080122

Year of fee payment: 9

FPAY Renewal fee payment (prs date is renewal date of database)

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20090122

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100122

Year of fee payment: 11

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110122

Year of fee payment: 12

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110122

Year of fee payment: 12