JPH05143338A - 電子計算機の演算ステータス保持装置 - Google Patents

電子計算機の演算ステータス保持装置

Info

Publication number
JPH05143338A
JPH05143338A JP3300338A JP30033891A JPH05143338A JP H05143338 A JPH05143338 A JP H05143338A JP 3300338 A JP3300338 A JP 3300338A JP 30033891 A JP30033891 A JP 30033891A JP H05143338 A JPH05143338 A JP H05143338A
Authority
JP
Japan
Prior art keywords
instruction
operation status
pipeline
electronic computer
register
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
JP3300338A
Other languages
English (en)
Other versions
JP2793396B2 (ja
Inventor
Ryuji Sakai
隆二 境
Shinichiro Suzuki
慎一郎 鈴木
Yoichiro Takeuchi
陽一郎 竹内
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 JP3300338A priority Critical patent/JP2793396B2/ja
Priority to US07/926,174 priority patent/US5283891A/en
Publication of JPH05143338A publication Critical patent/JPH05143338A/ja
Application granted granted Critical
Publication of JP2793396B2 publication Critical patent/JP2793396B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 高性能化のためのパイプライン演算を行なう
電子計算機において、演算命令の演算ステータスを確実
に認識できることにより、当該演算命令の演算結果の認
識が容易になり、演算性能を犠牲にすることなく、演算
エラーに対するリカバリー機能も信頼性の高いものとす
ることである。 【構成】 パイプライン演算を行なう電子計算機の演算
ステータス保持装置において、演算命令のディスティネ
ーションオペランドとして指定可能な各レジスタごとに
設けられた演算ステータスレジスタ3と、この演算ステ
ータスレジスタ3に1対1に対応して設けられた演算ス
テータスフラグ5と、前記演算命令の演算結果を示す演
算ステータスを当該演算命令の演算ステータスレジスタ
3に1対1に対応して設けられた演算ステータスフラグ
5に保持する演算ステータス保持手段7とを備えたこと
を特徴としている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、パイプライン演算を行
なう電子計算機における演算エラー情報の保持を行なう
電子計算機の演算エラー情報保持装置に関する。
【0002】
【従来の技術】従来、よりいっそうの演算性能向上のた
めに図4に示すようなパイプライン演算を実施している
電子計算機が多くある。
【0003】このパイプライン演算は、例えば最初の演
算命令OP−1をフェッチ(F)し、次のマシンサイク
ルの間に、この演算命令OP−1をデコード(D)する
と共に、これと並行して次の演算命令OP−2をフェッ
チし、さらに次のマシンサイクルの間に、最初の演算命
令OP−1を実行(E)すると共に、演算命令OP−2
についてはデコードし、新たな演算命令OP−3につい
てはフェッチする。そしてさらに次のサイクルでは、実
行処理が完了した演算命令OP−1についてはその処理
結果をライトバック(W)すると共に、新たな命令をフ
ェッチしてくる演算方式である。つまり、実行ステージ
が1パイプラインサイクルで終わらなくても、命令パイ
プラインを止めることなく、同じ演算器を利用する命令
を含めて、後続の命令を順次フェッチし、実行していく
演算方式である。
【0004】このようなパイプライン演算を行なう電子
計算機において、演算エラーが発生した場合、エラーを
発生させた命令、またはリカバリー時の操作対象となる
演算のデスティネーションレジスタなどを特定すること
は困難、あるいは不可能であった。それは、パイプライ
ン演算の実行中に演算エラー割込みを伴うエラーが発生
しても、割込みルーチンからの復帰後の動作に矛盾を生
じさせないために、エラー発生までにフェッチされてい
る命令がすべて完了するのを待ってから演算エラー割込
みルーチンの実行を開始するようにしており、その結
果、演算エラー割込みの開始時にはすでに演算エラーを
発生した命令に後続する他の命令も実行されてしまって
いることによる。このため、従来は、演算エラー発生箇
所の命令語レベルでの特定ができないものと諦めている
ことが多かった。
【0005】例えば、図4の演算命令OP−1の実行
(E)のとき演算エラーが発生した場合は、演算ステー
タスフラグに演算ステータスが書込まれ、次の演算命令
OP−2,OP−3の演算ステータスも演算ステータス
フラグに書込まれる。その後、割り込みルーチンに飛び
込んだ時点で演算ステータスフラグに書込まれている演
算ステータスは演算命令OP−2であるため、演算エラ
ーの発生した演算ステータスを特定できないことによ
り、エラーリカバリーが不可能になることがある。
【0006】特に、実行ステージ(E)で複数の異なる
プロセッサを同時に利用できる並列処理プロセッサにお
いてその可能性が高く、この順序を正しく認識して正確
なリカバリー処理を実施することも容易ではなかった。
【0007】また、図5に示す実行に複数サイクルを要
する浮動小数点演算命令の演算ステータスを参照する場
合は、浮動小数点の加算命令「A」が5パイプラインサ
イクル目に演算ステータスフラグにセットされているた
め、浮動小数点の乗算命令「M」の演算ステータスをセ
ットできない。このため、浮動小数点の乗算命令「M」
の演算ステータスを参照する命令「G」により、演算ス
テータスフラグを参照したとき、期間Sの間参照すべき
乗算命令「M」の演算ステータスがセットされていない
ので、パイプライン処理を止めることにより同図の斜線
部分が無駄な時間になり、パイプライン処理効率の低下
を防止するのが容易ではなかった。
【0008】このように、従来のパイプライン演算を行
なう電子計算機では、エラーリカバリーの可能性が小さ
く、高性能化のために信頼性をある程度犠牲にする傾向
があった。そして、逆に、高い信頼性を特徴とする電子
計算機では、例えば、命令パイプラインの実行ステージ
が1マシンサイクルを超えるときにはその分、命令パイ
プラインをストールさせて実行ステージには1つの命令
しか存在しないように制御するなどして、演算パイプラ
インによるいっそうの性能向上は諦めても、確実に演算
エラーの発生場所を特定し、リカバリー処理を可能とし
ていく傾向にあった。
【0009】
【発明が解決しようとする課題】以上のように、従来の
パイプライン演算を行なう電子計算機では、演算エラー
発生部分の命令語レベルでの特定がきわめて困難であ
り、また、演算エラーが重なっている場合、すなわち、
最初の演算エラー発生からすべてのフェッチ済み命令が
完了して演算エラー割込みルーチンへ飛び込むまでの間
に他の演算エラーが発生した場合、その発生回数や順序
の特定がきわめて困難であり、パイプライン演算によっ
て高性能化を達成することができても、演算エラーの正
確なリカバリー実現の可能性が小さく、高い信頼性を確
保することができない問題点があった。
【0010】本発明は、このような従来の課題について
なされたものであり、その目的は、高性能化のためのパ
イプライン演算を行なう電子計算機において、演算命令
の演算ステータスを確実に認識できることにより、当該
演算命令の演算結果の認識が容易になり、演算性能を犠
牲にすることなく、演算エラーに対するリカバリー機能
も信頼性の高いものとすることができる電子計算機の演
算ステータス保持装置を提供することにある。
【0011】
【課題を解決するための手段】本発明は、パイプライン
演算を行なう電子計算機の演算ステータス保持装置にお
いて、演算命令のディスティネーションオペランドとし
て指定可能な各レジスタごとに設けられた演算ステータ
スレジスタと、この演算ステータスレジスタに1対1に
対応して設けられた演算ステータスフラグと、前記演算
命令の演算結果を示す演算ステータスを当該演算命令の
演算ステータスレジスタに1対1に対応して設けられた
演算ステータスフラグに保持する演算ステータス保持手
段と、を備えたことを要旨とする。
【0012】
【作用】本発明の電子計算機の演算ステータス保持装置
では、演算ステータス保持手段により、演算命令の演算
結果を示す演算ステータスを当該演算命令のディスティ
ネーションオペランドとして指定可能な各レジスタごと
に設けられた演算ステータスレジスタに1対1に対応し
て設けられた演算ステータスフラグに保持するので、演
算結果を容易に認識できる。また、演算エラーが発生し
た場合に演算ステータスフラグを調べることにより、当
該演算エラーの発生した演算命令を認識できるので、演
算性能を犠牲にすることなく、演算エラーに対するリカ
バリー機能も信頼性の高いものとすることができる。
【0013】
【実施例】以下、本発明の実施例を図に基づいて詳説す
る。
【0014】図1は本発明の一実施例のブロック図を示
しており、この実施例の電子計算機の演算ステータス保
持装置は、パイプライン演算を実行することができる演
算器1と、演算命令のオペランドとして指定され、使用
されるレジスタr0〜rnで構成されるレジスタファイ
ル3と、レジスタファイル3の各レジスタr0,r1,
r2,…,rnに1対1に対応するステータスフラグf
0,f1,f2,…,fnで構成され、演算のデスティ
ネーションレジスタに対応するステータスフラグ列に演
算命令の演算結果を示す演算ステータスを格納するよう
にした演算ステータスフラグ列5を備えている。
【0015】また、本実施例の演算ステータス保持装置
は、演算ステータスをその演算のデスティネーションレ
ジスタに対応する演算ステータスフラグ列5内のフラグ
f0,f1,f2,…,fnにセーブする制御装置7を
備えている。
【0016】次に、上記の構成の電子計算機の演算ステ
ータス保持装置の動作について説明する。
【0017】電子計算機は図2に示すようにパイプライ
ン方式で命令を処理していき、その命令パイプラインは
フェッチ(F)、デコード(D)、実行(E)、ライト
バック(W)の4ステージから構成され、演算器1はパ
イプライン演算を行なうことができる。
【0018】ここで、例えば、最初の演算命令OP−1
の実行ステージ(D)中に演算エラーが発生した場合、
制御装置7は、演算命令OP−1の演算ディスティネー
ションレジスタのレジスタファイル3に1対1に対応し
て設けられた演算ステータスフラグ列5のフラグf0に
演算命令OP−1の演算ステータスをセットする。ま
た、次の演算命令OP−2の実行ステージ(D)での演
算ステータスを制御装置7は、演算ステータスフラグ列
5のフラグf3にセットする。更に、演算命令OP−3
の実行ステージ(D)での演算ステータスを制御装置7
は、演算ステータスフラグ列5のフラグf1にセットす
る。上記演算命令OP−1に演算エラーが発生した場
合、割り込みルーチンは、演算ステータスフラグ列5の
フラグf0,f1,…,fnにセットされているフラグ
を順次、調べることによりレジスタファイル3のどのレ
ジスタをディスティネーションとする演算がエラーを発
生したのか判定できる。
【0019】更に、実行に複数サイクルを要する浮動小
数点演算命令の演算ステータスを参照する場合を図3を
用いて説明する。
【0020】同図において、最初の演算命令である
「A」は、浮動小数点の加算命令(FADD)であり、
「M」は浮動小数点の乗算命令(FMULL)である。
また、「G」は「M」の演算ステータスを参照する命令
(GSTAT)である。
【0021】まず、最初の演算命令である「A」は、フ
ェッチ(F)されてデコード(D)されると同時に
「M」がフェッチ(F)される。そして、次のパイプラ
インサイクルでは演算命令「A」は、実行(D)される
と演算命令「M」がデコード(D)され、命令「G」が
フェッチ(F)される。この場合、演算命令「A」は、
演算ステータスフラグ列5のフラグf1にロックされ
る。
【0022】次のパイプラインサイクルでは、演算命令
「M」が演算ステータスフラグ列5のフラグf7にロッ
クされる。そして、次のパイプラインサイクルでは、演
算命令「A」は、実行ステージ(D)を終了して演算ス
テータスが演算ステータスフラグ列5のフラグf1にセ
ットされる。このとき、浮動小数点の乗算命令である
「M」の演算ステータスの参照命令の「G」は、実行ス
テージに移行する。更に、次のパイプラインサイクルで
は、演算命令「A」は、ライトバック(W)に移行さ
れ、更に、3パイプラインサイクル後に、浮動小数点の
乗算命令「M」は、演算ステータスフラグ列5のフラグ
f7にセットされて、次のパイプラインサイクルでライ
トバック(W)に移行される。このとき、浮動小数点の
乗算の参照命令「G」は、実行ステージ(D)であり、
次のパイプラインサイクルでライトバック(W)に移行
する。
【0023】これにより、従来の如く、パイプラインの
処理を止めることなく実行できることになり、パイプラ
イン処理の効率を向上できる。
【0024】以上のようにして、各演算命令の演算ステ
ータスが演算ステータスフラグ列5にセットされている
ので、パイプライン演算実行時の演算エラー情報を正確
に取得でき、高速性能を犠牲にすることなく、エラーリ
カバリーの可能性を大幅に向上させることができるよう
になる。
【0025】なお、この発明は上記の実施例に限定され
ることなく、パイプライン演算を行なう電子計算機一般
に広く応用することができる。
【0026】
【発明の効果】以上説明したように、本発明では、演算
ステータスレジスタに1対1に対応した演算ステータス
フラグを設けたので、高性能化のためのパイプライン演
算を行なう電子計算機において、演算命令の演算ステー
タスを確実に認識できることにより、当該演算命令の演
算結果の認識が容易になり、演算性能を犠牲にすること
なく、演算エラーに対するリカバリー機能も信頼性の高
いものとすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図。
【図2】上記実施例の動作を説明する説明図。
【図3】上記実施例の動作を説明する説明図。
【図4】従来の動作を示す説明図。
【図5】従来の動作を示す説明図。
【符号の説明】
1 演算器 3 レジスタファイル 5 演算ステータスフラグ列 7 制御装置 r0,r1,r2,…,rn レジスタ f0,f1,r2,…,rn 演算ステータスフラグ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 パイプライン演算を行なう電子計算機の
    演算ステータス保持装置において、 演算命令のディスティネーションオペランドとして指定
    可能な各レジスタごとに設けられた演算ステータスレジ
    スタと、 この演算ステータスレジスタに1対1に対応して設けら
    れた演算ステータスフラグと、 前記演算命令の演算結果を示す演算ステータスを当該演
    算命令の演算ステータスレジスタに1対1に対応して設
    けられた演算ステータスフラグに保持する演算ステータ
    ス保持手段と、 を備えたことを特徴とする電子計算機の演算ステータス
    保持装置。
JP3300338A 1991-08-08 1991-11-15 電子計算機の演算ステータス保持装置 Expired - Fee Related JP2793396B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3300338A JP2793396B2 (ja) 1991-11-15 1991-11-15 電子計算機の演算ステータス保持装置
US07/926,174 US5283891A (en) 1991-08-08 1992-08-07 Error information saving apparatus of computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3300338A JP2793396B2 (ja) 1991-11-15 1991-11-15 電子計算機の演算ステータス保持装置

Publications (2)

Publication Number Publication Date
JPH05143338A true JPH05143338A (ja) 1993-06-11
JP2793396B2 JP2793396B2 (ja) 1998-09-03

Family

ID=17883573

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3300338A Expired - Fee Related JP2793396B2 (ja) 1991-08-08 1991-11-15 電子計算機の演算ステータス保持装置

Country Status (1)

Country Link
JP (1) JP2793396B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021149113A1 (ja) 2020-01-20 2021-07-29 富士通株式会社 プロセッサ、シミュレータプログラム、アセンブラプログラム、及び情報処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021149113A1 (ja) 2020-01-20 2021-07-29 富士通株式会社 プロセッサ、シミュレータプログラム、アセンブラプログラム、及び情報処理プログラム

Also Published As

Publication number Publication date
JP2793396B2 (ja) 1998-09-03

Similar Documents

Publication Publication Date Title
EP0423906B1 (en) Method of and apparatus for nullifying an instruction
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
JP5431308B2 (ja) システムおよびパイプラインプロセッサにおける条件命令実行の加速のためのローカル条件コードレジスタの使用方法
JP6807383B2 (ja) 転送プレフィックス命令
US5574872A (en) Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JPH04223532A (ja) 改良されたプロセッサ
US5469552A (en) Pipelined data processor having combined operand fetch and execution stage to reduce number of pipeline stages and penalty associated with branch instructions
TWI220960B (en) Locking source registers in a data processing apparatus
JPH0760388B2 (ja) パイプライン制御回路
US5283891A (en) Error information saving apparatus of computer
JPH05143338A (ja) 電子計算機の演算ステータス保持装置
EP0212132A1 (en) Method and digital computer for recovering from errors
JPH1196006A (ja) 情報処理装置
JP2778717B2 (ja) データ処理ユニット
JPH09138748A (ja) 浮動小数点命令の早期完了方法および装置
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
EP0211487A1 (en) Conditional operations in computers
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
JPH07244588A (ja) データ処理装置
JP2824484B2 (ja) パイプライン処理計算機
JP5185478B2 (ja) パイプライン処理方法並びにその方法を利用するパイプライン処理装置
JPS62267869A (ja) ベクトル・プロセツサにおける演算例外時の処理方式
JP2761324B2 (ja) 高速演算処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees