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
Links
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000000034 method Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004904 shortening Methods 0.000 description 2
- GVBNSPFBYXGREE-UHFFFAOYSA-N Visnadine Natural products C1=CC(=O)OC2=C1C=CC1=C2C(OC(C)=O)C(OC(=O)C(C)CC)C(C)(C)O1 GVBNSPFBYXGREE-UHFFFAOYSA-N 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は複数の命令を並列的に実行する電子計算機に関
する。
する。
(従来の技術)
近時、複数の命令を細粒度レベルで並列的に実行してそ
の演算処理速度の高速化を図るようにした並列処理型の
電子計算機の開発が種々試みられている。特に最近では
、例えばマルチフローコンピュータ社の[トレース]や
インテル社の[1860]に代表されるような、VLI
W方式と称される並列処理型の電子計算機が開発され、
注目されている。然し乍ら、この種の従来方式の電子計
算機にあっては、従来一般的なシーケンシャルな命令コ
ードを実行することができないと云う本質的な問題があ
る。
の演算処理速度の高速化を図るようにした並列処理型の
電子計算機の開発が種々試みられている。特に最近では
、例えばマルチフローコンピュータ社の[トレース]や
インテル社の[1860]に代表されるような、VLI
W方式と称される並列処理型の電子計算機が開発され、
注目されている。然し乍ら、この種の従来方式の電子計
算機にあっては、従来一般的なシーケンシャルな命令コ
ードを実行することができないと云う本質的な問題があ
る。
また従来のシーケンシャルな命令コードを、そのオブジ
ェクトの互換性を保ちながら並列的に実行するには、シ
ーケンシャルに与えられる複数の命令の同時実行可能性
を検定することが必要である。しかしこのような検定を
行うには、例えば1サイクルのロジック段数を増やすこ
とが必要であり、この結果、そのサイクルタイムが増大
することが否めない。
ェクトの互換性を保ちながら並列的に実行するには、シ
ーケンシャルに与えられる複数の命令の同時実行可能性
を検定することが必要である。しかしこのような検定を
行うには、例えば1サイクルのロジック段数を増やすこ
とが必要であり、この結果、そのサイクルタイムが増大
することが否めない。
一方、レーテンシイのある命令の実行をサポートする為
に複数の命令間の依存性解析を行う手法としてレジスタ
スコアボード方式が知られている。
に複数の命令間の依存性解析を行う手法としてレジスタ
スコアボード方式が知られている。
このレジスタスコアボード方式は、例えばモトローラ社
の[M88000]に見られるように、インストラクシ
ョンバッファにフェッチした命令をレジスタフィールド
・デコーダにて解析(デコード)し、この解析処理によ
って求められる上記命令のソースレジスタ番号、ディス
ティネーションレジスタ番号をレジスタファイルに与え
ると共に、レジスタスコアボード回路に与える。そして
このレジスタスコアボード回路にて複数の命令間の依存
性を解析し、その解析結果に従って前記命令の実行手順
を制御するようにしたものである。
の[M88000]に見られるように、インストラクシ
ョンバッファにフェッチした命令をレジスタフィールド
・デコーダにて解析(デコード)し、この解析処理によ
って求められる上記命令のソースレジスタ番号、ディス
ティネーションレジスタ番号をレジスタファイルに与え
ると共に、レジスタスコアボード回路に与える。そして
このレジスタスコアボード回路にて複数の命令間の依存
性を解析し、その解析結果に従って前記命令の実行手順
を制御するようにしたものである。
そこでこのようなレジスタスコアボード方式を利用し、
複数の命令実行ユニットを用いて並列的に処理しようと
する複数の命令間の依存性から、それらの同時実行可能
性を解析することが考えられる。例えばインストラクシ
ョンバッファに、連続した複数の命令をフェッチし、命
令分配器にてこれらの命令の種別をそれぞれ判定し、こ
の判定結果に従ってその命令を実行するに適した実行ユ
ニットを選定して上記各命令をそれぞれ分配供給して前
記各命令を並列的に実行することが考えられている。
複数の命令実行ユニットを用いて並列的に処理しようと
する複数の命令間の依存性から、それらの同時実行可能
性を解析することが考えられる。例えばインストラクシ
ョンバッファに、連続した複数の命令をフェッチし、命
令分配器にてこれらの命令の種別をそれぞれ判定し、こ
の判定結果に従ってその命令を実行するに適した実行ユ
ニットを選定して上記各命令をそれぞれ分配供給して前
記各命令を並列的に実行することが考えられている。
具体的には浮動小数点乗算ユニット、浮動小数点加算ユ
ニット、算術演算ユニット(A L U)等の種々の命
令実行ユニットを準備し、これらの複数の命令実行ユニ
ットに対して、その命令実行機能に適した命令をそれぞ
れ分配供給して上記各命令を並列的に実行することが考
えられている。
ニット、算術演算ユニット(A L U)等の種々の命
令実行ユニットを準備し、これらの複数の命令実行ユニ
ットに対して、その命令実行機能に適した命令をそれぞ
れ分配供給して上記各命令を並列的に実行することが考
えられている。
この場合、命令間の依存性の解析は、各命令実行ユニッ
トにそれぞれ組み込まれたレジスタフィールド・デコー
ダとレジスタスコアボード回路とを用いて行われる。
トにそれぞれ組み込まれたレジスタフィールド・デコー
ダとレジスタスコアボード回路とを用いて行われる。
ところがこのような命令間の依存解析は、命令分配器を
介して命令実行ユニットに命令が分配供給された後に各
命令実行ユニットのレジスタスコアボード回路を用いて
行われるので、その処理に長い時間が掛かると云う問題
がある。つまり複数の命令の同時実行可能性を検定する
のに長い処理時間を必要とすると云う問題がある。
介して命令実行ユニットに命令が分配供給された後に各
命令実行ユニットのレジスタスコアボード回路を用いて
行われるので、その処理に長い時間が掛かると云う問題
がある。つまり複数の命令の同時実行可能性を検定する
のに長い処理時間を必要とすると云う問題がある。
(発明が解決しようとする課題)
このように従来−殻内なシーケンシャルな命令コードを
、そのオブジェクトの互換性ヲ保ちながら並列的に処理
しようとする場合には、複数の命令間の実行順序依存性
を検出し、複数の命令の同時実行を制御する必要がある
。しかし従来のレジスタスコアボード方式をそのまま用
いて命令間の依存性を解析しようとすると、命令実行ユ
ニットに命令を分配供給した後、その命令実行ユニット
にて命令間の依存性の解析が行われるので、その処理に
多くの時間を必要とすると云う問題があった。
、そのオブジェクトの互換性ヲ保ちながら並列的に処理
しようとする場合には、複数の命令間の実行順序依存性
を検出し、複数の命令の同時実行を制御する必要がある
。しかし従来のレジスタスコアボード方式をそのまま用
いて命令間の依存性を解析しようとすると、命令実行ユ
ニットに命令を分配供給した後、その命令実行ユニット
にて命令間の依存性の解析が行われるので、その処理に
多くの時間を必要とすると云う問題があった。
本発明はこのような事情を考慮してなされたもので、そ
の目的とするところは、複数の命令間の実行順序依存性
を高速に検出して複数の命令の並列的な処理を効率的に
行うことの可能な電子計算機を提供することにある。
の目的とするところは、複数の命令間の実行順序依存性
を高速に検出して複数の命令の並列的な処理を効率的に
行うことの可能な電子計算機を提供することにある。
[発明の構成]
(課題を解決するための手段)
本発明は複数の命令を同時にフェッチするフェッチ回路
と、このフェッチ回路にフェッチされた複数の命令を複
数の実行ユニットにそれぞれ分配供給して並列的に実行
させる命令分配器とを具備し、上記複数の実行ユニット
にて複数の命令を並列的に実行し得るようにした電子計
算機に係り、前記命令分配器による命令の分配供給処理
と並行して、前記フェッチ回路にフェッチされた複数の
命令をデコードして複数の命令間の実行順序依存性を検
出する第1の処理ユニットと、この第1の処理ユニット
により検出された複数の命令間の実行順序依存性に従っ
て前記実行ユニットに供給された命令をアボート制御す
る第2の処理ユニットとを具備し、同時実行可能な順序
で複数の実行ユニットにそれぞれ命令を実行させるよう
にしたことを特徴とするものである。
と、このフェッチ回路にフェッチされた複数の命令を複
数の実行ユニットにそれぞれ分配供給して並列的に実行
させる命令分配器とを具備し、上記複数の実行ユニット
にて複数の命令を並列的に実行し得るようにした電子計
算機に係り、前記命令分配器による命令の分配供給処理
と並行して、前記フェッチ回路にフェッチされた複数の
命令をデコードして複数の命令間の実行順序依存性を検
出する第1の処理ユニットと、この第1の処理ユニット
により検出された複数の命令間の実行順序依存性に従っ
て前記実行ユニットに供給された命令をアボート制御す
る第2の処理ユニットとを具備し、同時実行可能な順序
で複数の実行ユニットにそれぞれ命令を実行させるよう
にしたことを特徴とするものである。
(作 用)
本発明によれば、フェッチ回路にフェッチされた複数の
命令をその命令の種類に応じて複数の実行ユニットに分
配供給し、各実行ユニットにて命令のデコードとその実
行を行なわせる処理と並行して、第1の処理ユニットに
て前記フェッチ回路にフェッチされた複数の命令を直接
的にデコードして複数の命令間の実行順序依存性を検出
する処理を同時に実行し、この検出結果に従って前記複
数の実行ユニットにおける命令の実行が制御される。従
って実行順序依存性の検出処理によって、例えば同時実
行の可能性が否定される命令が検出されたような場合、
速やかにその命令が分配された実行ユニットにおける命
令の実行を中止制御することが可能となる。つまり命令
が分配供給された個々の実行ユニットにて命令間の依存
性を検出するような時間的な遅れを招くことなく、逸早
く同時実行不可能な命令を検出してその命令の実行を効
率的に中止させることができる。
命令をその命令の種類に応じて複数の実行ユニットに分
配供給し、各実行ユニットにて命令のデコードとその実
行を行なわせる処理と並行して、第1の処理ユニットに
て前記フェッチ回路にフェッチされた複数の命令を直接
的にデコードして複数の命令間の実行順序依存性を検出
する処理を同時に実行し、この検出結果に従って前記複
数の実行ユニットにおける命令の実行が制御される。従
って実行順序依存性の検出処理によって、例えば同時実
行の可能性が否定される命令が検出されたような場合、
速やかにその命令が分配された実行ユニットにおける命
令の実行を中止制御することが可能となる。つまり命令
が分配供給された個々の実行ユニットにて命令間の依存
性を検出するような時間的な遅れを招くことなく、逸早
く同時実行不可能な命令を検出してその命令の実行を効
率的に中止させることができる。
(実施例)
以下、図面を参照して本発明の一実施例に係る電子計算
機について説明する。
機について説明する。
第1図は実施例に係る電子計算機の要部概略構成を示す
図であり、■はシーケンシャルな命令を複数個ずつフェ
ッチするインストラクション・ノくソファ(フェッチ回
路)である。尚、ここでは4個の命令11. I 2.
I 3. I 4を同時にフエ・ソチするように構成
されたインストラクション・ノ<・ソファ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に対してその命令をそれぞれ分配供給する。
ッチされた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から選択的に分配
供給された命令をそれぞれデコードし、そのデコード結
果が示すレジスタフィールドのデータに従ってレジスタ
をアクセスしてその命令を実行する。
備えており、基本的には前記命令分配器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間での同時実行可能性を判断する。
された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の実行条件を判断
する。
例えば前述した命令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のそれぞれ
に対して同様に行われる。
命令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とは同時に実
行することが不可能であると判断する。
えば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を
介して与えられた命令の実行を取り止める。
ようにして同時実行可能性検出部5にて同時実行不可能
であると判断された命令の実行を中止させるべく、その
命令が供給された命令実行ユニット3に対してアボート
信号を発生する。同時実行の可能性が否定された命令に
対して発せられるアボート信号をどの命令実行ユニット
3に与えるかは、その命令の種別に応じて前記命令分配
器2と同様に、その命令をどの命令実行ユニット3に分
配するか(或いは分配されているか)を調べることによ
って決定される。命令実行ユニット8は、このようにし
てアボート信号が与えられたとき、前記命令分配器2を
介して与えられた命令の実行を取り止める。
さてこのようにして成る命令の実行が取り止められた場
合、前記インストラクション・バッファ1への新しい命
令(複数の命令)のフェッチが停止される。そして次の
サイクルでは、先に取り止めとなった命令の再実行が行
われる。この場合、既に実行を開始した命令については
再実行する必要はない。またこの場合には既に実行完了
となった命令との間でその同時実行可能性を調べる必要
もないので、例えば同時実行の可能性が否定される原因
となった命令が実行完了しているか否かだけを調べて、
その命令を再実行する。このような命令の再実行処理に
より、成るサイクル後には前記インストラクション・バ
ッファ1にフェッチした全ての命令を実行することが可
能となるので、その時点で前記インストラクション・バ
ッファlに新たな命令(複数の命令)をフェッチする。
合、前記インストラクション・バッファ1への新しい命
令(複数の命令)のフェッチが停止される。そして次の
サイクルでは、先に取り止めとなった命令の再実行が行
われる。この場合、既に実行を開始した命令については
再実行する必要はない。またこの場合には既に実行完了
となった命令との間でその同時実行可能性を調べる必要
もないので、例えば同時実行の可能性が否定される原因
となった命令が実行完了しているか否かだけを調べて、
その命令を再実行する。このような命令の再実行処理に
より、成るサイクル後には前記インストラクション・バ
ッファ1にフェッチした全ての命令を実行することが可
能となるので、その時点で前記インストラクション・バ
ッファlに新たな命令(複数の命令)をフェッチする。
そしてこれらの命令について同様にして前記複数の命令
実行ユニット3による並列的な命令実行を制御する。
実行ユニット3による並列的な命令実行を制御する。
このように構成された電子計算機によれば、例えば命令
のフェッチ(命令アクセス)、命令のデコード(同時実
行の可能性の検出を含む)、命令の実行をステージ分割
してバイブライン処理するような場合、上述した複数の
一命令間の同時実行可能性の判断を上述したデコードス
テージで実行することが可能となる。つまり命令間の同
時実行可能性の判断に要する処理時間を改めて設定する
ことなく、デコードステージの処理時間内に上記同時実
行可能性判断の処理を行うことができる。従って複数の
命令を並列的に実行する場合であっても、わざわざその
為の処理ステージを設定する必要がないので、高速度に
効率良く複数の命令を並列処理することが可能となる。
のフェッチ(命令アクセス)、命令のデコード(同時実
行の可能性の検出を含む)、命令の実行をステージ分割
してバイブライン処理するような場合、上述した複数の
一命令間の同時実行可能性の判断を上述したデコードス
テージで実行することが可能となる。つまり命令間の同
時実行可能性の判断に要する処理時間を改めて設定する
ことなく、デコードステージの処理時間内に上記同時実
行可能性判断の処理を行うことができる。従って複数の
命令を並列的に実行する場合であっても、わざわざその
為の処理ステージを設定する必要がないので、高速度に
効率良く複数の命令を並列処理することが可能となる。
つまり本発明によれば、レジスタをアクセスする為に各
命令実行ユニットが持つレジスタフィールドのデコーダ
とは別個に、複数の命令の同時実行の可能性を判断する
為のレジスタフィールドデコーダを設け、このレジスタ
フィールドデコーダを用いて命令分配器2とは独立に命
令の同時実行可能性を判断して複数の命令実行ユニット
による命令の同時実行を制御するので、命令の同時実行
可能性の判断自体を高速に行うことができ、またそのサ
イクルタイムや処理実行時間の短縮化を図って計算機性
能を大幅に向上させることができる。
命令実行ユニットが持つレジスタフィールドのデコーダ
とは別個に、複数の命令の同時実行の可能性を判断する
為のレジスタフィールドデコーダを設け、このレジスタ
フィールドデコーダを用いて命令分配器2とは独立に命
令の同時実行可能性を判断して複数の命令実行ユニット
による命令の同時実行を制御するので、命令の同時実行
可能性の判断自体を高速に行うことができ、またそのサ
イクルタイムや処理実行時間の短縮化を図って計算機性
能を大幅に向上させることができる。
しかも命令分配器2により複数の命令を複数の命令実行
ユニットに分配しながら、同時実行可能性の判断結果に
従ってその命令の同時実行を制御するので、従来のシー
ケンシャルな命令コードとそのオブジェクトとの互換性
を保ちながら、その命令を効率的に並列処理することを
可能とする等の実用上多大なる効果を奏する。
ユニットに分配しながら、同時実行可能性の判断結果に
従ってその命令の同時実行を制御するので、従来のシー
ケンシャルな命令コードとそのオブジェクトとの互換性
を保ちながら、その命令を効率的に並列処理することを
可能とする等の実用上多大なる効果を奏する。
尚、本発明は上述した実施例に限定されるものではない
。実施例では4つの命令を並列的に処理する場合を例に
説明したが、その数は幾つであっても良い。但し、その
命令数に応じて、それらの命令間の同時実行可能性(命
令実行順序)をそれぞれ検定することが必要である。ま
た命令実行ユニットの数やその種類についても計算機の
仕様に応じて定めれば良いものである。その他、本発明
はその要旨を逸脱しない範囲で種々変形して実施するこ
とができる。
。実施例では4つの命令を並列的に処理する場合を例に
説明したが、その数は幾つであっても良い。但し、その
命令数に応じて、それらの命令間の同時実行可能性(命
令実行順序)をそれぞれ検定することが必要である。ま
た命令実行ユニットの数やその種類についても計算機の
仕様に応じて定めれば良いものである。その他、本発明
はその要旨を逸脱しない範囲で種々変形して実施するこ
とができる。
[発明の効果]
以上説明したように本発明によれば、シーケンシャルな
命令コードとオブジェクトとのバイナリコンパチビリテ
ィ(互換性)を保ちながら複数の命令に対する並列的な
処理を行うことが可能であり、その処理実行時間の短縮
化を図って効率良く命令を実行することができる等の実
用上多大なる効果か奏せられる。
命令コードとオブジェクトとのバイナリコンパチビリテ
ィ(互換性)を保ちながら複数の命令に対する並列的な
処理を行うことが可能であり、その処理実行時間の短縮
化を図って効率良く命令を実行することができる等の実
用上多大なる効果か奏せられる。
第1図は本発明の一実施例に係る電子計算機の要部概略
構成図、第2図は複数の命令に対する同時実行可能性判
断処理の基本的な概念を模式的に示す図である。 l・・・インストラクション・バッファ(フェッチ回路
)、2・・・命令分配器、3・・・命令実行ユニット、
4・・・デコーダ、5・・・同時実行可能性検出部(第
1の処理ユニット)、5a・・デコーダ、5b・・・検
定部、6・・・アボート信号供給器(第2の処理ユニッ
ト)。 出願人代理人 弁理士 鈴江武彦
構成図、第2図は複数の命令に対する同時実行可能性判
断処理の基本的な概念を模式的に示す図である。 l・・・インストラクション・バッファ(フェッチ回路
)、2・・・命令分配器、3・・・命令実行ユニット、
4・・・デコーダ、5・・・同時実行可能性検出部(第
1の処理ユニット)、5a・・デコーダ、5b・・・検
定部、6・・・アボート信号供給器(第2の処理ユニッ
ト)。 出願人代理人 弁理士 鈴江武彦
Claims (2)
- (1)複数の命令を同時にフェッチするフェッチ回路と
、このフェッチ回路にフェッチされた複数の命令を複数
の実行ユニットにそれぞれ分配供給して並列的に実行さ
せる命令分配器とを具備した電子計算機において、 前記命令分配器による分配供給処理と並行して、前記フ
ェッチ回路にフェッチされた複数の命令をそれぞれデコ
ードして上記各命令間の実行順序依存性を検出する第1
の処理ユニットを具備したことを特徴とする電子計算機
。 - (2)第1の処理ユニットにより検出された複数の命令
間の実行順序依存性に従って、前記ユニットに供給され
た命令をアボート制御する第2の処理ユニットを備えた
ことを特徴とする請求項(1)に記載の電子計算機。
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)
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 |
-
1990
- 1990-06-22 JP JP16455290A patent/JP2878792B2/ja not_active Expired - Lifetime
Cited By (11)
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 |