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

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

Info

Publication number
JP2793396B2
JP2793396B2 JP3300338A JP30033891A JP2793396B2 JP 2793396 B2 JP2793396 B2 JP 2793396B2 JP 3300338 A JP3300338 A JP 3300338A JP 30033891 A JP30033891 A JP 30033891A JP 2793396 B2 JP2793396 B2 JP 2793396B2
Authority
JP
Japan
Prior art keywords
instruction
operation status
pipeline
status
error
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 - Fee Related
Application number
JP3300338A
Other languages
English (en)
Other versions
JPH05143338A (ja
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 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)

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で対応して
設けられた演算ステータス保持手段と、前記演算命令の
演算結果の状態を示す演算ステータスを前記演算ステー
タス保持手段に設定するステータス設定手段とを備えた
ことを特徴としている。
【0012】本発明の電子計算機の演算ステータス保持
装置では、ステータス設定手段は、演算命令の演算結果
の状態を示す演算ステータスを当該演算ステータス命令
のデスティネーションオペランドとして指定可能な各レ
ジスタに1対1で対応して設けられている演算ステータ
ス保持手段に設定する。このため、演算命令の演算結果
を容易に認識できる。特に、演算エラーが発生した場合
には、演算ステータス保持手段に保持された演算ステー
タスを調べることにより、当該演算エラーの発生した演
算命令を認識できるので、演算性能を犠牲にすることな
く、演算エラーに対するリカバリー機能も信頼性の高い
ものとすることができる。
【0013】
【実施例】以下、本発明の実施例を図に基づいて詳説す
る。
【0014】図1は本発明の一実施例のブロック図を示
しており、この実施例の電子計算機の演算ステータス保
持装置は、パイプライン演算を実行することができる演
算器1と、演算命令のオペランドとして指定され、使用
されるレジスタr0〜rnで構成されるレジスタファイ
ル3と、レジスタファイル3の各レジスタr0,r1,
r2…,rnに1対1に対応するステータスフラグF
0,f1,f2…,fnで構成され、演算のデスティネ
ーションレジスタに対応するステータスフラグ列に演算
命令の実行結果を示す演算ステータスを格納するように
した演算ステータスフラグ列5を備えている。この演算
ステータスフラグ列5によって請求項1の演算ステータ
ス保持手段が構成されている。
【0015】また、本実施例の演算ステータス保持装置
は、演算ステータスをその演算のデスティネーションレ
ジスタに対応する演算ステータスフラグ列5内のフラグ
f0,f1,f2,…,fnにセーブする制御装置7を
備えている。
【0016】次に、上記の構成の電子計算機の演算ステ
ータス保持装置の動作について説明する。
【0017】電子計算機は図2に示すようにパイプライ
ン方式で命令を処理していき、その命令パイプラインは
フェッチ(F)、デコード(D)、実行(E)、ライト
バック(W)の4ステージから構成され、演算器1はパ
イプライン演算を行なうことができる。
【0018】ここで、例えば、最初の演算命令OP−1
の実行ステージ(E)中に演算エラーが発生した場合、
制御装置7は、演算命令OP−1の演算デスティネーシ
ョンレジスタのレジスタファイル3に1対1に対応して
設けられた演算ステータスフラグ列5のフラグf0に演
算命令OP−1の演算ステータスをセットする。また、
制御装置7は、次の演算命令OP−2の実行ステージ
(E)での演算ステータスを演算ステータスフラグ列5
のフラグf3にセットする。更に、演算命令OP−3の
実行ステージ(E)での演算ステータスを制御装置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」が実行(E)さ
れるとともに、演算命令「M」がデコード(D)され、
演算命令「G」がフェッチ(F)される。この場合、演
算命令「A」は、演算ステータスフラグ列5のf1にロ
ックされる。
【0022】次のパイプラインサイクルでは、演算命令
「M」が演算ステータスフラグ列5のフラグf7にロッ
クされる。そして、次のパイプラインサイクルでは、演
算命令「A」は、実行ステージ(E)を終了して演算ス
テータスが演算ステータスフラグ列5のフラグf1にセ
ットされる。このとき、浮動小数点の乗算命令である
「M」の演算ステータスの参照命令「G」は、実行ステ
ージ(E)に移行されっる。更に、次のパイプラインサ
イクルでは、演算命令「A」は、ライトバック(W)に
移行され、更に、3パイプラインサイクル後に、浮動小
数点の乗算命令「M」の演算ステータスは、演算ステー
タスフラグ列5のフラグf7にセットされて、次のパイ
プラインサイクルでライトバック(W)に移行される。
このとき、浮動小数点の乗算の参照命令「G」は、実行
ステージ(E)であり、次のパイプラインサイクルでラ
イトバック(W)に移行される。
【0023】これにより、パイプライン処理を止めるこ
となく演算を実行できるので、図5に示した従来処理と
比較して演算処理の効率を向上させることができる。
【0024】以上のようにして、各演算命令の演算ステ
ータスが演算ステータスフラグ列5にセットされている
ので、パイプライン演算実行時の演算エラー情報を正確
に取得でき、高速性能を犠牲にすることなく、エラーリ
カバリーの可能性を大幅に向上させることができるよう
になる。
【0025】なお、この発明は上記の実施例に限定され
ることなく、パイプライン演算を行なう電子計算機一般
に広く応用することができる。
【0026】
【発明の効果】以上説明したように、本発明では、演算
命令のデスティネーションオペランドとして指定可能な
各レジスタに1対1で対応した演算ステータス保持手段
を設け、演算命令の演算結果の状態を示す演算ステータ
スを演算ステータス保持手段に設定するようにしたの
で、高性能化のためのパイプライン演算を行なう電子計
算機において、演算命令の演算ステータスを確実に認識
でき、当該演算命令の演算結果の認識が容易になり、演
算性能を犠牲にすることなく、演算エラーに対するリカ
バリー機能も信頼性の高いものとすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図。
【図2】上記実施例の動作を説明する説明図。
【図3】上記実施例の動作を説明する説明図。
【図4】従来の動作を示す説明図。
【図5】従来の動作を示す説明図。
【符号の説明】
1 演算器 3 レジスタファイル 5 演算ステータスフラグ列 7 制御装置 r0,r1,r2,…,rn レジスタ f0,f1,r2,…,rn 演算ステータスフラグ
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 9/38 G06F 11/34

Claims (1)

    (57)【特許請求の範囲】
  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 JPH05143338A (ja) 1993-06-11
JP2793396B2 true 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)

Families Citing this family (1)

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

Also Published As

Publication number Publication date
JPH05143338A (ja) 1993-06-11

Similar Documents

Publication Publication Date Title
US5003462A (en) Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means
US9262160B2 (en) Load latency speculation in an out-of-order computer processor
JPH0210427A (ja) 精密浮動小数点例外用の方法及び装置
JPH06214799A (ja) コンピュータ・システムにおける順不同ロード動作の性能を改善する方法と装置
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JP2004516546A (ja) パイプライン方式のプロセッサにおける例外処理
TW201719389A (zh) 處理用於向量算術指令的例外狀況
TWI786181B (zh) 在例外遮罩更新指令之後允許未中止的交易處理
US5574872A (en) Method and apparatus for controlling the saving of pipelines in pipelined processors during trap handling
US5996059A (en) System for monitoring an execution pipeline utilizing an address pipeline in parallel with the execution pipeline
CN109416632B (zh) 用于处理数据的装置和方法
JP3338488B2 (ja) データ処理装置の検証方法及び装置
JPH0810437B2 (ja) 仮想計算機システムのゲスト実行制御方式
US5283891A (en) Error information saving apparatus of computer
JP2793396B2 (ja) 電子計算機の演算ステータス保持装置
EP0212132A1 (en) Method and digital computer for recovering from errors
JPH1196006A (ja) 情報処理装置
JP2793386B2 (ja) 電子計算機の演算エラー情報保持装置
JP2778717B2 (ja) データ処理ユニット
US5673391A (en) Hardware retry trap for millicoded processor
JPH1049373A (ja) パイプライン・デジタル・プロセッサにおいて多重で高精度の事象を操作する方法と装置
JPH09138748A (ja) 浮動小数点命令の早期完了方法および装置
JP2824484B2 (ja) パイプライン処理計算機
JPS60142747A (ja) 命令再実行制御方式
US10552156B2 (en) Processing operation issue control

Legal Events

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