JPH0454638A - 電子計算機 - Google Patents

電子計算機

Info

Publication number
JPH0454638A
JPH0454638A JP16455290A JP16455290A JPH0454638A JP H0454638 A JPH0454638 A JP H0454638A JP 16455290 A JP16455290 A JP 16455290A JP 16455290 A JP16455290 A JP 16455290A JP H0454638 A JPH0454638 A JP H0454638A
Authority
JP
Japan
Prior art keywords
instruction
instructions
execution
processing
possibility
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.)
Granted
Application number
JP16455290A
Other languages
English (en)
Other versions
JP2878792B2 (ja
Inventor
Kenji Minagawa
皆川 健二
Takeshi Aikawa
健 相川
Mitsuo Saito
斉藤 光男
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/ja
Publication of JPH0454638A publication Critical patent/JPH0454638A/ja
Application granted granted Critical
Publication of JP2878792B2 publication Critical patent/JP2878792B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は複数の命令を並列的に実行する電子計算機に関
する。
(従来の技術) 近時、複数の命令を細粒度レベルで並列的に実行してそ
の演算処理速度の高速化を図るようにした並列処理型の
電子計算機の開発が種々試みられている。特に最近では
、例えばマルチフローコンピュータ社の[トレース]や
インテル社の[1860]に代表されるような、VLI
W方式と称される並列処理型の電子計算機が開発され、
注目されている。然し乍ら、この種の従来方式の電子計
算機にあっては、従来一般的なシーケンシャルな命令コ
ードを実行することができないと云う本質的な問題があ
る。
また従来のシーケンシャルな命令コードを、そのオブジ
ェクトの互換性を保ちながら並列的に実行するには、シ
ーケンシャルに与えられる複数の命令の同時実行可能性
を検定することが必要である。しかしこのような検定を
行うには、例えば1サイクルのロジック段数を増やすこ
とが必要であり、この結果、そのサイクルタイムが増大
することが否めない。
一方、レーテンシイのある命令の実行をサポートする為
に複数の命令間の依存性解析を行う手法としてレジスタ
スコアボード方式が知られている。
このレジスタスコアボード方式は、例えばモトローラ社
の[M88000]に見られるように、インストラクシ
ョンバッファにフェッチした命令をレジスタフィールド
・デコーダにて解析(デコード)し、この解析処理によ
って求められる上記命令のソースレジスタ番号、ディス
ティネーションレジスタ番号をレジスタファイルに与え
ると共に、レジスタスコアボード回路に与える。そして
このレジスタスコアボード回路にて複数の命令間の依存
性を解析し、その解析結果に従って前記命令の実行手順
を制御するようにしたものである。
そこでこのようなレジスタスコアボード方式を利用し、
複数の命令実行ユニットを用いて並列的に処理しようと
する複数の命令間の依存性から、それらの同時実行可能
性を解析することが考えられる。例えばインストラクシ
ョンバッファに、連続した複数の命令をフェッチし、命
令分配器にてこれらの命令の種別をそれぞれ判定し、こ
の判定結果に従ってその命令を実行するに適した実行ユ
ニットを選定して上記各命令をそれぞれ分配供給して前
記各命令を並列的に実行することが考えられている。
具体的には浮動小数点乗算ユニット、浮動小数点加算ユ
ニット、算術演算ユニット(A L U)等の種々の命
令実行ユニットを準備し、これらの複数の命令実行ユニ
ットに対して、その命令実行機能に適した命令をそれぞ
れ分配供給して上記各命令を並列的に実行することが考
えられている。
この場合、命令間の依存性の解析は、各命令実行ユニッ
トにそれぞれ組み込まれたレジスタフィールド・デコー
ダとレジスタスコアボード回路とを用いて行われる。
ところがこのような命令間の依存解析は、命令分配器を
介して命令実行ユニットに命令が分配供給された後に各
命令実行ユニットのレジスタスコアボード回路を用いて
行われるので、その処理に長い時間が掛かると云う問題
がある。つまり複数の命令の同時実行可能性を検定する
のに長い処理時間を必要とすると云う問題がある。
(発明が解決しようとする課題) このように従来−殻内なシーケンシャルな命令コードを
、そのオブジェクトの互換性ヲ保ちながら並列的に処理
しようとする場合には、複数の命令間の実行順序依存性
を検出し、複数の命令の同時実行を制御する必要がある
。しかし従来のレジスタスコアボード方式をそのまま用
いて命令間の依存性を解析しようとすると、命令実行ユ
ニットに命令を分配供給した後、その命令実行ユニット
にて命令間の依存性の解析が行われるので、その処理に
多くの時間を必要とすると云う問題があった。
本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、複数の命令間の実行順序依存性
を高速に検出して複数の命令の並列的な処理を効率的に
行うことの可能な電子計算機を提供することにある。
[発明の構成] (課題を解決するための手段) 本発明は複数の命令を同時にフェッチするフェッチ回路
と、このフェッチ回路にフェッチされた複数の命令を複
数の実行ユニットにそれぞれ分配供給して並列的に実行
させる命令分配器とを具備し、上記複数の実行ユニット
にて複数の命令を並列的に実行し得るようにした電子計
算機に係り、前記命令分配器による命令の分配供給処理
と並行して、前記フェッチ回路にフェッチされた複数の
命令をデコードして複数の命令間の実行順序依存性を検
出する第1の処理ユニットと、この第1の処理ユニット
により検出された複数の命令間の実行順序依存性に従っ
て前記実行ユニットに供給された命令をアボート制御す
る第2の処理ユニットとを具備し、同時実行可能な順序
で複数の実行ユニットにそれぞれ命令を実行させるよう
にしたことを特徴とするものである。
(作 用) 本発明によれば、フェッチ回路にフェッチされた複数の
命令をその命令の種類に応じて複数の実行ユニットに分
配供給し、各実行ユニットにて命令のデコードとその実
行を行なわせる処理と並行して、第1の処理ユニットに
て前記フェッチ回路にフェッチされた複数の命令を直接
的にデコードして複数の命令間の実行順序依存性を検出
する処理を同時に実行し、この検出結果に従って前記複
数の実行ユニットにおける命令の実行が制御される。従
って実行順序依存性の検出処理によって、例えば同時実
行の可能性が否定される命令が検出されたような場合、
速やかにその命令が分配された実行ユニットにおける命
令の実行を中止制御することが可能となる。つまり命令
が分配供給された個々の実行ユニットにて命令間の依存
性を検出するような時間的な遅れを招くことなく、逸早
く同時実行不可能な命令を検出してその命令の実行を効
率的に中止させることができる。
(実施例) 以下、図面を参照して本発明の一実施例に係る電子計算
機について説明する。
第1図は実施例に係る電子計算機の要部概略構成を示す
図であり、■はシーケンシャルな命令を複数個ずつフェ
ッチするインストラクション・ノくソファ(フェッチ回
路)である。尚、ここでは4個の命令11. I 2.
 I 3. I 4を同時にフエ・ソチするように構成
されたインストラクション・ノ<・ソファ1が示される
しかしてこのインストラクション・バ・ソファ1にフェ
ッチされた4つの命令11.12.I3.14は、命令
分配器2を介して、その命令の種別に応じて複数の命令
実行ユニツ) 3(3a、3b、〜an)にそれぞれ分
配供給される。この実施例では複数の命令実行ユニット
3として、浮動小数点加算ユニ・ソト(ADD)3a、
浮動小数点乗算ユニ・ソト(MUL)3b、算術演算ユ
ニット(A L U) 3c、3dがそれぞれ準備され
ている。前記命令分配器2は前記ノ(ソファlにフェッ
チされた命令が浮動小数点加算命令の場合には、その命
令を上記浮動小数点加算ユニット(ADD)3aに供給
し、また命令が浮動小数点乗算命令である場合には浮動
小数点乗算ユニット(MUL)3bに、更に整数演算命
令である場合には前記算術演算ユニット(ALU)8c
、3dに対してその命令をそれぞれ分配供給する。
これらの各命令実行ユニット3はそれぞれデコーダ4を
備えており、基本的には前記命令分配器2の制御の下で
前記インストラクション中バッファ1から選択的に分配
供給された命令をそれぞれデコードし、そのデコード結
果が示すレジスタフィールドのデータに従ってレジスタ
をアクセスしてその命令を実行する。
一方、前記インストラクション壷バッファ1にフェッチ
された4つの命令11. I 2. I 8. I 4
は命令分配器2に供給されて命令実行ユニット3に分配
供給されると同時に、同時実行可能性検出部(第1の処
理ユニット)5に与えられる。この同時実行可能性検出
部5は前記インストラクション・バッファlから与えら
れる命令をそれぞれデコードするデコーダ5aと、その
デコード結果を検定して複数の命令間の同時実行の可能
性を判断する検定部5bとを備えており、これらのデコ
ーダ5aと検定部5bとを用いて前記インストラクショ
ン・ノくソファlにフェッチされた4つの命令11. 
I 2゜I3,14間での同時実行可能性を判断する。
具体的にはこの複数の命令の同時実行可能性の判断は、
例えば前述した命令11. I 2.・・・が11  
[ADD  r3.r4.r5]12  [ADD  
re、r7.r8]として与えられるような場合、例え
ば命令Ifを基準として次の命令12の実行条件を判断
する。
この場合には命令■2の全てのレジスタフィールドが、
命令11のディスティネーション・レジスタフィールド
r3と異なることから、上記命令■2は命令Ifと同時
に実行可能であると判断する。このような判断処理は、
先の命令に対して次の命令の実行条件が成立するか否か
を次々と判断することによりなされる。つまりこのよう
な同時実行可能性の判断は、次の命令I3については先
の命令11.12に対して同様に行われ、更に次の命令
工4については命令I 1. I 2.13のそれぞれ
に対して同様に行われる。
しかして前述した命令I 1. I 2.・・・が、例
えば11  [ADD  r3.r4.r5]12  
[ADD  r8.rl、r3コとして与えられるよう
な場合には、第2図に示すように命令11を基準として
次の命令I2の実行条件を判断すると、命令I2のソー
スレジスタフィールドr3が、命令11のディスティネ
ーション・レジスタフィールドr3と一致することが検
出される。この結果、前記同時実行可能性検出部5は、
上記命令■2については命令11の実行完了後に実行す
る必要がある、つまり命令■2と命令Ifとは同時に実
行することが不可能であると判断する。
アボート信号供給器(第2の処理ユニット)6は、この
ようにして同時実行可能性検出部5にて同時実行不可能
であると判断された命令の実行を中止させるべく、その
命令が供給された命令実行ユニット3に対してアボート
信号を発生する。同時実行の可能性が否定された命令に
対して発せられるアボート信号をどの命令実行ユニット
3に与えるかは、その命令の種別に応じて前記命令分配
器2と同様に、その命令をどの命令実行ユニット3に分
配するか(或いは分配されているか)を調べることによ
って決定される。命令実行ユニット8は、このようにし
てアボート信号が与えられたとき、前記命令分配器2を
介して与えられた命令の実行を取り止める。
さてこのようにして成る命令の実行が取り止められた場
合、前記インストラクション・バッファ1への新しい命
令(複数の命令)のフェッチが停止される。そして次の
サイクルでは、先に取り止めとなった命令の再実行が行
われる。この場合、既に実行を開始した命令については
再実行する必要はない。またこの場合には既に実行完了
となった命令との間でその同時実行可能性を調べる必要
もないので、例えば同時実行の可能性が否定される原因
となった命令が実行完了しているか否かだけを調べて、
その命令を再実行する。このような命令の再実行処理に
より、成るサイクル後には前記インストラクション・バ
ッファ1にフェッチした全ての命令を実行することが可
能となるので、その時点で前記インストラクション・バ
ッファlに新たな命令(複数の命令)をフェッチする。
そしてこれらの命令について同様にして前記複数の命令
実行ユニット3による並列的な命令実行を制御する。
このように構成された電子計算機によれば、例えば命令
のフェッチ(命令アクセス)、命令のデコード(同時実
行の可能性の検出を含む)、命令の実行をステージ分割
してバイブライン処理するような場合、上述した複数の
一命令間の同時実行可能性の判断を上述したデコードス
テージで実行することが可能となる。つまり命令間の同
時実行可能性の判断に要する処理時間を改めて設定する
ことなく、デコードステージの処理時間内に上記同時実
行可能性判断の処理を行うことができる。従って複数の
命令を並列的に実行する場合であっても、わざわざその
為の処理ステージを設定する必要がないので、高速度に
効率良く複数の命令を並列処理することが可能となる。
つまり本発明によれば、レジスタをアクセスする為に各
命令実行ユニットが持つレジスタフィールドのデコーダ
とは別個に、複数の命令の同時実行の可能性を判断する
為のレジスタフィールドデコーダを設け、このレジスタ
フィールドデコーダを用いて命令分配器2とは独立に命
令の同時実行可能性を判断して複数の命令実行ユニット
による命令の同時実行を制御するので、命令の同時実行
可能性の判断自体を高速に行うことができ、またそのサ
イクルタイムや処理実行時間の短縮化を図って計算機性
能を大幅に向上させることができる。
しかも命令分配器2により複数の命令を複数の命令実行
ユニットに分配しながら、同時実行可能性の判断結果に
従ってその命令の同時実行を制御するので、従来のシー
ケンシャルな命令コードとそのオブジェクトとの互換性
を保ちながら、その命令を効率的に並列処理することを
可能とする等の実用上多大なる効果を奏する。
尚、本発明は上述した実施例に限定されるものではない
。実施例では4つの命令を並列的に処理する場合を例に
説明したが、その数は幾つであっても良い。但し、その
命令数に応じて、それらの命令間の同時実行可能性(命
令実行順序)をそれぞれ検定することが必要である。ま
た命令実行ユニットの数やその種類についても計算機の
仕様に応じて定めれば良いものである。その他、本発明
はその要旨を逸脱しない範囲で種々変形して実施するこ
とができる。
[発明の効果] 以上説明したように本発明によれば、シーケンシャルな
命令コードとオブジェクトとのバイナリコンパチビリテ
ィ(互換性)を保ちながら複数の命令に対する並列的な
処理を行うことが可能であり、その処理実行時間の短縮
化を図って効率良く命令を実行することができる等の実
用上多大なる効果か奏せられる。
【図面の簡単な説明】
第1図は本発明の一実施例に係る電子計算機の要部概略
構成図、第2図は複数の命令に対する同時実行可能性判
断処理の基本的な概念を模式的に示す図である。 l・・・インストラクション・バッファ(フェッチ回路
)、2・・・命令分配器、3・・・命令実行ユニット、
4・・・デコーダ、5・・・同時実行可能性検出部(第
1の処理ユニット)、5a・・デコーダ、5b・・・検
定部、6・・・アボート信号供給器(第2の処理ユニッ
ト)。 出願人代理人 弁理士 鈴江武彦

Claims (2)

    【特許請求の範囲】
  1. (1)複数の命令を同時にフェッチするフェッチ回路と
    、このフェッチ回路にフェッチされた複数の命令を複数
    の実行ユニットにそれぞれ分配供給して並列的に実行さ
    せる命令分配器とを具備した電子計算機において、 前記命令分配器による分配供給処理と並行して、前記フ
    ェッチ回路にフェッチされた複数の命令をそれぞれデコ
    ードして上記各命令間の実行順序依存性を検出する第1
    の処理ユニットを具備したことを特徴とする電子計算機
  2. (2)第1の処理ユニットにより検出された複数の命令
    間の実行順序依存性に従って、前記ユニットに供給され
    た命令をアボート制御する第2の処理ユニットを備えた
    ことを特徴とする請求項(1)に記載の電子計算機。
JP16455290A 1990-06-22 1990-06-22 電子計算機 Expired - Lifetime JP2878792B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16455290A JP2878792B2 (ja) 1990-06-22 1990-06-22 電子計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16455290A JP2878792B2 (ja) 1990-06-22 1990-06-22 電子計算機

Publications (2)

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

Family

ID=15795330

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16455290A Expired - Lifetime JP2878792B2 (ja) 1990-06-22 1990-06-22 電子計算機

Country Status (1)

Country Link
JP (1) JP2878792B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520069A (ja) * 1991-07-15 1993-01-29 Pfu Ltd 並列実行方式
WO1995016952A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Superscalar microprocessor instruction pipeline including instruction dispatch and release control
WO1995016953A1 (fr) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Systeme informatique et modalites de passage en mode mise au point
US6141746A (en) * 1997-10-20 2000-10-31 Fujitsu Limited Information processor
US6920548B2 (en) 1992-05-01 2005-07-19 Seiko Epson Corporation System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor
US7028161B2 (en) 1991-07-08 2006-04-11 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028161B2 (en) 1991-07-08 2006-04-11 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US7555632B2 (en) 1991-07-08 2009-06-30 Seiko Epson Corporation High-performance superscalar-based computer system with out-of-order instruction execution and concurrent results distribution
US7941635B2 (en) 1991-07-08 2011-05-10 Seiko-Epson Corporation High-performance superscalar-based computer system with out-of order instruction execution and concurrent results distribution
JPH0520069A (ja) * 1991-07-15 1993-01-29 Pfu Ltd 並列実行方式
US6920548B2 (en) 1992-05-01 2005-07-19 Seiko Epson Corporation System and method for retiring approximately simultaneously a group of instructions in a superscalar microprocessor
WO1995016952A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Superscalar microprocessor instruction pipeline including instruction dispatch and release control
WO1995016953A1 (fr) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Systeme informatique et modalites de passage en mode mise au point
EP0690372A1 (en) * 1993-12-15 1996-01-03 Silicon Graphics, Inc. Superscalar microprocessor instruction pipeline including instruction dispatch and release control
EP0690372A4 (en) * 1993-12-15 2000-05-03 Silicon Graphics Inc SUPER SCALAR MICROPROCESSOR COMMAND PIPELINE WITH COMMAND SEND AND RELEASE
CN1068445C (zh) * 1993-12-15 2001-07-11 株式会社东芝 指令调度方法和寄存器竞争检查方法
US6141746A (en) * 1997-10-20 2000-10-31 Fujitsu Limited Information processor

Also Published As

Publication number Publication date
JP2878792B2 (ja) 1999-04-05

Similar Documents

Publication Publication Date Title
US8838939B2 (en) Debugging multithreaded code by generating exception upon target address CAM search for variable and checking race condition
JP2938426B2 (ja) 順不同ロード命令とストア命令との干渉を検出回復するための方法及び装置
EP0378830B1 (en) Method and apparatus for handling multiple condition codes as for a parallel pipeline computer
US8312254B2 (en) Indirect function call instructions in a synchronous parallel thread processor
US7281119B1 (en) Selective vertical and horizontal dependency resolution via split-bit propagation in a mixed-architecture system having superscalar and VLIW modes
KR100616722B1 (ko) 수퍼스칼라프로세서내의파이프라인명령디스패치유닛
US6085312A (en) Method and apparatus for handling imprecise exceptions
EP0111776A2 (en) Interrupt processor
KR101738640B1 (ko) 트레이스 데이터 압축 장치 및 방법
US8589664B2 (en) Program flow control
US10599428B2 (en) Relaxed execution of overlapping mixed-scalar-vector instructions
CN110192186B (zh) 使用矢量处理电路的错误检测
US5778248A (en) Fast microprocessor stage bypass logic enable
JP2000330787A (ja) 命令ループを実行するコンピュータシステムおよび命令ループ実行方法
US6725365B1 (en) Branching in a computer system
US20150324202A1 (en) Detecting data dependencies of instructions associated with threads in a simultaneous multithreading scheme
JP2535252B2 (ja) 並列処理装置
US9395992B2 (en) Instruction swap for patching problematic instructions in a microprocessor
JPH09152973A (ja) カウント/リンク・レジスタ変更命令の投機実行をサポートする方法及び装置
JPH0454638A (ja) 電子計算機
US7111152B1 (en) Computer system that operates in VLIW and superscalar modes and has selectable dependency control
US6813702B1 (en) Methods and apparatus for generating effective test code for out of order super scalar microprocessors
US20030084272A1 (en) Handling problematic events in a data processing apparatus
TWI756212B (zh) 處理向量指令
US4935849A (en) Chaining and hazard apparatus and method

Legal Events

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

Free format text: PAYMENT UNTIL: 20080122

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090122

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100122

Year of fee payment: 11

FPAY Renewal fee payment (event 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 (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110122

Year of fee payment: 12