JP3025776B2 - 精密浮動小数点例外用の方法及び装置 - Google Patents

精密浮動小数点例外用の方法及び装置

Info

Publication number
JP3025776B2
JP3025776B2 JP1045523A JP4552389A JP3025776B2 JP 3025776 B2 JP3025776 B2 JP 3025776B2 JP 1045523 A JP1045523 A JP 1045523A JP 4552389 A JP4552389 A JP 4552389A JP 3025776 B2 JP3025776 B2 JP 3025776B2
Authority
JP
Japan
Prior art keywords
floating
floating point
point
exception
operations
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
JP1045523A
Other languages
English (en)
Other versions
JPH0210427A (ja
Inventor
シイ.ハンセン クレイグ
Original Assignee
ミップス テクノロジーズ, インコーポレイテッド
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 ミップス テクノロジーズ, インコーポレイテッド filed Critical ミップス テクノロジーズ, インコーポレイテッド
Publication of JPH0210427A publication Critical patent/JPH0210427A/ja
Application granted granted Critical
Publication of JP3025776B2 publication Critical patent/JP3025776B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • G06F9/30014Arithmetic instructions with variable precision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/386Special constructional features
    • G06F2207/3884Pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49942Significance control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Nonlinear Science (AREA)
  • Advance Control (AREA)
  • Complex Calculations (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、大略、何等かの形態の並列又はパイプライ
ン型アーキテクチャーを持っており且つ浮動小数点演算
を包含するデータ処理装置に関するものであって、更に
詳細には、この様なパイプライン型アーキテクチャーに
おいて精密浮動小数点例外を取り扱う方法及び装置に関
するものである。
従来技術 今日の演算乃至は計算装置、特に科学及び工学におい
て使用するものは、「浮動小数点」数字で演算乃至は計
算を実施することが多々ある。浮動小数点数字の1つの
利点は、数字の大きさの範囲が非常に大きく、例えば、
固定小数点の場合に著しい困難性を伴って取り扱うこと
が可能なものよりも大きい場合に、演算乃至は計算を行
うことを可能とするということである。数字の浮動小数
点表示は、各々が基点(小数点)を持った通常の数字と
該基数の整数羃との積として表される「科学的表記法」
として屡々呼称されるものと非常に密接に対応してい
る。従って、例えば、ある数字は、 6318×102 と表示することが可能である。この場合、6318という数
字は「小数」部と呼称され、且つ数字2は「指数」部と
呼称される。デジタル表示においては、 0000.1100010101110 となり、最大桁ビットは符号であり、次の3つのビット
は指数フィールドを形成し、且つ残りのビットは小数フ
ィールドを形成する。
浮動小数点数字及び浮動小数点演算は固定小数点数字
及び計算と比較して顕著な利点を与えるものであるが、
問題がないわけではない。その様な問題の1つは、浮動
小数点演算の結果の大きさが浮動小数点数字システムの
能力を超える、即ち「オーバーフロー」する場合に発生
することがある。この問題は、従来、浮動小数点「例
外」と呼称されており、それが発生すると特別の処理を
必要とする(例えば、適宜のエラーメッセージでプログ
ラマーがテストする為に演算を停止させることが可能で
あることのインジケータの設定等)。
その他の例外としては、例えば「アンダーフロー」が
あり、これは受け入れるのに小さすぎる(大きさ)ゼロ
でない結果が発生する様な場合に起こるものであり、更
に、結果の大きさの為に、四捨五入を行わねばならずそ
のことが不正確性を発生する可能性がある様な「不正
確」例外がある。
今日、浮動小数点例外が発生した場合に、それを取り
扱う即ち処理する多くの方法及び技術が存在しており、
それらは全て公知である。然し乍ら、パイプライン型ア
ーキテクチャーにおいて見られる如く何等かの並列処理
を行うことが可能なデータ処理システムにおいて浮動小
数点演算が使用される場合に、特定の問題が発生する。
パイプライン型アーキテクチャーは、通常、複数個の命
令が全て同時に種々の実行段階にあるプロセサ構成を包
含している。浮動小数点命令が浮動小数点例外となる
と、該例外が再度発生することを回避する為にオペラン
ドを調節した後においてのみ該浮動小数点命令が再実行
されることを必要とする特別の処理が必要とされる。然
し乍ら、該浮動小数点命令を再実行する為には、データ
処理装置は、いわば「バックアップ」されねばならず、
それは、該浮動小数点命令の実行期間中、実行されたか
又は部分的に実行された命令の結果を、後になる迄又は
捨て去るまで、保存せねばならないことを意味してい
る。このことは、データ処理装置の「状態」を該命令に
よって最初に遭遇したものへ復帰させることを必要とす
る。
この問題は、異なった命令が異なった実行時間を必要
とする場合、即ち、或る命令が2、4又は少ない数のプ
ロセサ動作サイクルで実行することが可能であるのに、
他の命令、特に浮動小数点命令がより多くのプロセサ動
作サイクルを完了することを必要とする場合、に悪化さ
れる。この場合、例外となる浮動小数点演算は、「手を
引く」ことが一層困難である。即ち、データ処理装置の
状態を、浮動小数点例外を回避する為の命令によって当
初遭遇したものへ復帰させることは一層困難である。
これらの問題に対する1つの明白な解決法は、浮動小
数点演算が最初に遭遇された時に、爾後の命令の処理を
停止して、浮動小数点演算のみを進行させることであ
る。次いで、例外が発生したか否かを決定する為に、結
果をチェックすることが可能である。例外が発生してい
ない場合、通常の処理が再開され、一方例外が発生した
場合、パイプラインを「フラッシュ」する(即ち、浮動
小数点命令に続く命令に関する限り、該パイプラインの
結果を破棄するか又は格納する為に)必要性無しに該演
算を再実行することが可能である。然し乍ら、この手法
は、データ処理システムの性能に著しく影響を与える場
合がある。
目 的 本発明は、以上の点に鑑みなされたものであって、上
述した如き従来技術の欠点を解消し、パイプライン型ア
ーキテクチャーにおいて精密浮動小数点例外を取り扱う
ことが可能な方法及び装置を提供することを目的とす
る。
構 成 上述した如き従来技術の欠点を解消する為に、本発明
によれば、浮動小数点例外が発生するか否かを早期に
「予測」することの可能な方法及びその方法を実施する
装置が提供される。該予測が例外が発生することを表す
場合、その他の全ての処理は一時的に停止され、且つ浮
動小数点演算が進行し完了することを許容する。該演算
の結果、例外となると、オペランドが調節され、且つ該
演算は再度開始される。2番目の演算操作は、例外が発
生しないという前提であり、従ってその他全ての処理を
同時的に行うことを許容する。一方、該予測が例外が発
生しないことを表している場合、通常の処理が継続して
行われる。
本発明の方法によれば、浮動小数点命令に遭遇する
と、該演算に関与するオペランドの指数フィールドがそ
の演算の為の所定の基準と比較される。その比較の結果
は、浮動小数点例外が発生するかしないかのいずれかの
予測を発生する。その予測が、浮動小数点例外が発生す
るかもしれないか又は発生することを表すものである場
合、その他全ての処理(浮動小数点演算を除いて)が停
止され且つ該浮動小数点演算が進行し完了することを許
容する。例外が実際に発生した場合、該命令を再実行さ
せることが可能であり(そのプログラムを形成するもの
のオプションで−且つ動作タイプに依存して)、然し乍
ら、この場合は、例外の発生を回避する為にオペランド
を修正せねばならないという前提乃至は前知識が存在し
ている。従って、例外処理ルーチンが該浮動小数点演算
に先行せねばならず、且つ該浮動小数点演算は今回修正
されたオペランドを使用して再実行される。この浮動小
数点命令の2回目の実行は、該パイプラインの並列処理
環境において行われる。何故ならば、その調節したオペ
ランドを使用して例外が発生する可能性は最早存在しな
いからである。
本発明の好適実施形態においては、浮動小数点乗算
(又は除算)演算において使用すべきオペランドの指数
フィールドが互いに加算され(又は減算され)、且つそ
の結果は、該演算(例えば、乗算、又は除算)の表示と
共に、プログラマブルロジックアレイ、即ち書込可能論
理アレイへ付与される。該プログラマブルロジックアレ
イは、このオペランドの指数フィールドのこの組合せに
よって発生される結果の値が、該浮動小数点演算の結果
が浮動小数点例外となる蓋然性があるか又は確実になる
ことを表す場合に、浮動小数点例外信号を発生すべくプ
ログラム即ち書込が行われる。該浮動小数点例外信号
は、その他の全ての並列処理機能を一時的に停止すべく
動作し、該浮動小数点演算を進行させ完了させる。然し
乍ら、該予測が例外は発生しないとするものである場
合、並列処理操作(演算)は、浮動小数点例外の発生を
気にせずに、継続して実施することが可能である。浮動
小数点加算及び減算に対する予測も同様であるが、この
場合には、指数フィールドが単に相互に比較されて、例
外が発生する懸念を保証する為に、該指数フィールドの
一方の値が他方の値よりも著しく大きいか否かを決定す
るものである点が異なっている。
例外予測がなされ、且つその演算が究極的に例外の発
生となると、割込み信号が発生され、本システムを走ら
せているプログラムへ例外発生を知らせる。該例外が処
理され、且つ該浮動小数点演算が再実行される。
実施例 本発明は、第1図において大略参照番号10で示したデ
ータ処理システムアーキテクチャーにおいて実現されて
おり、中央プロセサユニット即ち中央処理装置(CPU)1
2と浮動小数点プロセサユニット(FPU)14の一対のプロ
セサユニットを有している。CPU12及びFPU14は、クロッ
ク(CLK)供給源16によって供給される周期的クロック
信号を受け取り、且つその両方のユニットはデータバス
20によってメモリシステム18へ接続されている。CPU12
のみがメモリシステム18へ接続しており、この接続はア
ドレスバス22によってなされている。
CPU12はシステム操作に関して命令を与え、即ち、命
令は、CPU12のプログラムカウンタ(PC)24によって形
成されるアドレスを介してメモリ18から逐次的にアクセ
スされる。理解される如く、アドレスは、任意の従来技
術によってアドレスバス22にマルチプレクス動作される
例外プログラムカウンタ(EPC)26によってメモリシス
テム18へ供給することも可能である。然し乍ら、各アク
セスされた命令はFPU14によって検査されるが、浮動小
数点演算命令のみがFPU14によって操作され、その他全
ての命令はCPU12によって実行される。この特定のアー
キテクチャー構成に対する理由は、以下の説明から明ら
かとなる。
特に第1図に示されていないことは、データ処理シス
テム10のアーキテクチャー、特にCPU12のそれが、当該
技術分野において、「パイプライン」アーキテクチャー
として典型的に呼称される形態のものであるということ
である。このアーキテクチャーは、メモリ18からアクセ
スされた多数の逐次的命令が同時的に種々の実行状態に
あることを許容する。各命令が実行状態にある間、その
命令のメモリアドレスはCPU12のプログラムカウンタ(P
C)キュー28内に一時的に保持される。該種々のパラメ
ータは、実行期間中、パラメータレジスタファイル30内
に保持される。
第1図に示した如く、FPU14はデータバス20へ接続さ
れて、命令デコードユニット34及びオペランドレジスタ
36において夫々命令及びオペランドを受け取る。該オペ
ランドの指数フィールドは、信号ライン40によって、該
オペランドレジスタから例外予測ユニット38へ送給され
る。全オペランド(指数フィールド及び小数フィール
ド)が浮動小数点例外ユニット42へ結合、即ち供給され
る。その名前が暗示する如く、例外予測ユニット38が動
作して、結果的に得られる浮動小数点演算が例外となる
か否かを決定する。例外となる場合には、CPU12へ結合
即ち供給されるCPBusy信号が発生される。浮動小数点例
外ユニット42は、実際の計算即ち演算を実行し、且つそ
の演算の結果、例外が発生すると、INTERRUPT信号を発
生し、該信号はCPU12へ結合即ち供給される。実行され
るべき特定の計算乃至は演算の表示が、オペレーション
コード(OP)信号の形態で、例外予測ユニット38及び浮
動小数点例外ユニット42へ結合、即ち供給される。前者
の場合、該OP信号が動作して、オペランド指数フィール
ドがテストされて例外を予測する基準を選択し、後者の
場合、該OP信号は該計算即ち演算を制御する。
データ処理システム10の本実施例のパイプラインは5
個の命令の深さであり、即ち最大で5個迄の命令を種々
の実行段階に同時的に存在させることが可能である。こ
れらの5個の画定可能な実行段階としては以下の如きも
のである。
1. 命令フェッチ(I)段階で、その期間中にデコード
の為にメモリ18からPC24内に収納されるアドレスを使用
して命令がアクセスされる。
2. デコード及びレジスタアクセス(R)段階で、その
期間中に該命令の初期的デコード動作が行われ且つ該命
令によて指定される如きオペランドを収納するレジスタ
がアクセスされる。
3. 演算実行(A)段階で、それは例えば浮動小数点演
算等の種々の演算操作を開始させる。
4. メモリ動作(M)段階、及び 5. 書込(W)段階で、該操作の結果がシステム10(即
ち、CPU12又はFPU14)のレジスタ(不図示)へ又はメモ
リ18へ書き込まれる。
メモリ18から逐次的にアクセスされる命令は、時間の
任意の時刻において、動作中のこれらの段階(I,R,A,M
及び/又はW)のいずれか1つに存在することが可能で
ある。
公知の如く、種々の命令は実行する為に異なった時間
を必要とする。例えば、固定小数点整数命令は実行する
為に1サイクルかかり、ロード及び格納操作は2サイク
ルかかり、一方浮動小数点操作(計算乃至は演算)は最
大で19サイクルかかる場合がある。
究極的に例外となる浮動小数点演算の場合を考察す
る。命令がメモリ18からアクセスされ且つCPU12及びFPU
14の両方によって検査される。然し乍ら、該命令はFPU1
4によってのみ実行され、従ってI段階、R段階、及び
A段階を介して進行し、その期間中、オペランドが集め
られ且つ実際の演算を開始することを許容すべく設定さ
れる。A段階が完了すると、浮動小数点実行ユニット42
を動作状態に設定し、その結果は、該操作(即ち、加算
/減算又は乗算/除算)に依存して、1乃至19サイクル
後に与えられる。従って、命令によって要求される特定
の演算(例えば、加算、減算、乗算、又は除算)に依存
して、該演算の結果が得られる迄にある期間の時間が経
過する。然し乍ら、該演算が行われる間、CPU12はその
他の命令にアクセスし且つそれらを「パイプライン」内
に配置させ、従って、該浮動小数点命令がM実行段階に
到達すると、相次ぐ命令に続く命令は少なくともそれら
の夫々のI、R及びA実行段階を完了する。浮動小数点
演算にどれだけ時間を要したかに依存して、幾つかはM
段階をも完了している場合もある。
浮動小数点命令の結果が例外を発生することが判別さ
れると、その命令は調節され且つ再実行されねばならな
い。然し乍ら、その浮動小数点命令に次続する命令はど
うであろうか?このパイプライン型アーキテクチャーに
おいて、システム10は爾後の命令の結果を一時的に格納
するか、又はその全部を放棄せねばならず、一方修正し
たオペランドを使用して、該例外は処理され(例えば、
例外を回避すべくオペランドを調節)且つ該浮動小数点
命令を再実行する。勿論、問題は、これらの技術は、シ
ステムにかなりの時間のローデイングを与えるか、又は
該システムに付加すべき付加的な且つ複雑な回路を必要
とするかのいずれかである。
本発明は、例外を捕らえることが可能であるか否かを
前以て予測することに関するものである。従って、演算
実行状態Aの完了時であるが演算が実際に開始される前
に、予測がなされて、例外が実際に発生することが可能
であるかどうかを決定する。
本発明において、浮動小数点操作(計算、演算)は単
精度(単精度オペランドを使用)か又は倍精度(倍精度
オペランドを使用)とすることが可能である。単精度オ
ペランドは32ビット長であり、最大桁(MSB)は符号を
形成し、次の8個のMSBが指数フィールドを形成し、且
つ残りの23個のビットは該オペランドの小数部を形成す
る。倍精度の場合、該MSBは、この場合も、符号を形成
するが、次の11個のMSBが指数フィールドを形成し、且
つ残りの52個のビットは、全部で64個のビットに対して
の小数部を形成する。然し乍ら、本発明は、オペランド
の寸法に必ずしも依存するものではない。従って、簡単
化の為に、オペランドは単に3個のビットの指数フィー
ルドを持つものと仮定する。第2A図乃至第2D図を参照す
ると、相互のオペランドの指数フィールドのプロット
を、乗算、除算、加算/減算、又は単項計算/演算に対
して例示してある。(単項操作は、例えば、補数化操
作、インクリメント操作、絶対値操作等の単に1つのオ
ペランドのみが関与する操作である。) 第2A図乃至第2C図は、浮動小数点計算の2個のオペラ
ンドに対する指数フィールドの矩形カーテシアン座標プ
ロットである。該座標におけるx印は、そのプロットの
操作(後えば、第2A図における乗算操作)に対して、浮
動小数点例外を発生する可能性があるか又は発生する指
数フィールド値を表している。点線50(50a−50d)に沿
って存在するこれらの指数フィールド値は、その図面の
対応する操作の期間中に例外が発生する蓋然性がある予
測を表す。
第2A図乃至第2D図を観察する1つの方法は、それら
は、浮動小数点操作(即ち、乗算、除算、加算、減算、
又は単項)の各々に対して、それに対して指数フィール
ドの組合せを比較する実行すべき操作によって選択され
る基準を表す。
第2A図及び第2B図に表した基準と比較する前に、浮動
小数点乗算用のオペランド指数フィールドは共に加算さ
れ、且つ浮動小数点除算用のオペランド指数フィールド
は互いに減算される。従って、例えば、浮動小数点乗算
命令が、「100」及び「110」の指数フィールドを持った
オペランドを使用して、実行されると、実行すべき操作
(乗算)の表示を具備するそれらの和(「1010」)は、
その演算が浮動小数点例外となる予測を発生させる。
浮動小数点加算又は減算の場合、オペランド指数フィ
ールドが相互に比較されて、第2C図に示した基準によっ
て表される如く、一方が他方よりも一層大きいか否かを
決定する。単項操作は、単に、それが第2D図に示した例
外を発生する蓋然性のある基準内に入るものか否かを決
定する為にオペランドの指数フィールドを見ることを必
要とするに過ぎない。
例外予測ユニット38は、第3図に詳細に示してある。
図示した如く、オペランド指数フィールド(E1,E2
は、プログラマブルロジックアレイ(PLA)50によって
オペランドレジスタ36から受け取られる。PLA50は、命
令デコードユニット34からもOP信号を受け取り、動作し
て、第2C図に示した基準に従って、加算及び減算操作
(演算)に対しての例外を予測する。PLA50の出力端子
(O)は、2入力ORゲート54を介して例外予測ラッチ回
路52へ結合されている。例外予測ラッチ回路52は、CPBu
sy信号を発生し、それはCPU14へ結合、即ち供給され
る。
オペランド指数フィールド(E1,E2)は、乗算及び除
算操作に対しては、加算又は減算操作に関して上述した
ものとは多少異なった態様で処理される。乗算又は除算
演算において使用されるべきオペランドは、加算回路60
へ結合即ち供給され、そこで該オペランドは、OP信号が
夫々乗算又は除算操作を表すか否かに依存して、共に加
算されるか、又は相互に減算される。その結果は、PLA6
2へ供給され、該PLA62が動作してその結果を、命令デコ
ード回路34(第1図)からPLA62によって受け取られたO
P信号によって設定されるか又は選択される基準(第2A
図、第2B図)と比較する。PLA62の出力(O)はORゲー
ト54の2つの入力端の他方で受け取られ、従って、該選
択した基準及び該指数フィールドの組合せの結果が、PL
A62によって決定される如く、例外を表す場合、CPBusy
信号はアクティブ即ち活性状態となる。理解される如
く、以下の説明から明らかと成る理由により、CPBusy信
号が動作して、浮動小数点演算の完了まで、CPU14を一
時的に待機状態に保持する。
動作に関して説明すると、CPU12は、PC24によって供
給されるアドレスを使用して(第1図)、メモリシステ
ム18のアクセスを行う(通常のデータ処理操作において
通常の如く、命令及びオペランドに対して、又はデータ
を格納する為)。各アクセスされた命令はCPU12及びFPU
14の両方へ送給されるが、FPU14のみが浮動小数点命令
を認識し且つ実行し、その他の全ての命令はCPU12によ
って実行される。各命令は、上述した5つのデコード段
階(ステージ)、即ちI,R,A,M及びW段階を介して進行
する。従って、任意の時間において、システム10内の種
々の実行段階には5つの命令が存在する。
このデータ処理システム10の操作期間中に、メモリシ
ステム10から浮動小数点命令がアクセスされたと仮定す
る。その命令は、最初、CPU12とFPU14の両方によって検
査されるが、上述した如く、FPU14のみがその命令を処
理する。FPU14が、I段階乃至R段階を介してその浮動
小数点命令を処理した後、従って、A段階に到達した
時、データ処理システム10は、R実行段階に到達する1
つの命令(この例の浮動小数点命令の直ぐ後に続くも
の)を持っており、且つI段階に対して別のものにアク
セスする。
浮動小数点命令のA実行段階期間中、その命令に対す
るオペランドの指数フィールド(E1及びE2)はFPU14
(第1図)の例外予測ユニット38へ供給される。演算が
乗算又は除算命令である場合、OP信号が動作して、
(1)加算器60の加算又は減算機能を選択し、(2)PL
A62を介して加算器60によって発生される結果を比較す
べき基準を選択し、且つ(3)PLA62の出力(O)をイ
ネーブルさせる一方、同時にPLA50の出力(O)を禁止
する。逆に、実行されるべき演算が加算又は減算操作で
ある場合、PLA62の出力がディスエーブルされ、且つPLA
50の出力がイネーブルされて、PLA50の結果を例外ラッ
チ52へ通過させる(ORゲート54を介して)。
浮動小数点命令のA実行段階の終わりに、例外予測が
得られる。その予測が、浮動小数点演算が例外とならな
いものである場合、CPBusy信号ラインは不活性状態のま
まであり、CPU12はその動作を継続し、且つ浮動小数点
実行はその演算を完了する。
更にもっと興味のあることは、PLA50又は62の一方が
(勿論、演算に依存して)例外が発生することを予測す
る場合である。その予測は、CPBusy信号を活性化させ、
それは、例外ラッチ回路52(第3図)からCPU12へ送給
される場合、CPU12のいかなる操作も一時的に停止させ
る。しばらくの間、メモリシステム18に対してその後の
アクセスがされることはなく、浮動小数点命令に次続す
る2つの命令の実行が中止状態に保持され、それらは夫
々のI及びR実行段階に留まる。然し乍ら、浮動小数点
命令は進行して完了し、浮動小数点実行ユニット42(第
1図)は、該浮動小数点命令によって要求される演算
(例えば、加算、減算、乗算等)の演算の実行を継続す
る。
該演算の完了時に、予測された如くに浮動小数点例外
が発生すると、浮動小数点実行ユニット42がINTERRUPT
信号を活性化させる。該INTERRUPT信号は、FPU14からCP
U12へ送給され、浮動小数点例外が発生したということ
を知りながら、CPU12をその一時的に停止された状態か
ら活性状態とさせる。該例外の処理は、その例外を処理
する為に必要なステップを実行する為のソフトウエア、
更に正確にはプログラマーによって行われる。
INTERRUPT信号がCPU12によって受け取られた時に、該
インタラプト即ち割込みを発生させる浮動小数点命令の
アドレスは、PCキュー28からEPC26へ移動される。現在E
PC26内にあるアドレスを使用してメモリシステム189を
アクセスして、浮動小数点命令の対象であるオペランド
の位置(システム10内)を決定する。INTERRUPT信号の
発生の結果としてエンターされるソフトウエアルーチン
は、ここで本発明の一部である幾つかの公知の技術のい
ずれかを使用して、オペランドにとって必要な修正を行
う。該ソフトウエアの最後の部分がPC24の内容を、浮動
小数点命令の直ぐ後に続く命令のアドレスへ設定し、且
つ本システムの制御をその通常の動作状態へ復帰させ
る。従って、システム10は、以前の如くに進行し、調節
したオペランドでもって浮動小数点命令を実行し、且つ
次続の命令にアクセスしてそれらを実行する為にパイプ
ライン内に配置させる。
尚、本発明は、実施上の以下の構成の1つ又はそれ以
上を取りえるものである。
(1) 各々が指数フィールドと小数フィールドとを持
っている少なくとも第1及び第2オペランドに関して浮
動小数点演算を行うことが可能なタイプのデータ処理シ
ステムにおける浮動小数点例外を予測する方法におい
て、前記第1及び第2オペランドの指数フィールドの組
合せを実行されるべき演算から形成される所定の基準と
比較し、前記演算の実行が浮動小数点例外を発生する蓋
然性があることを表す例外予測信号を発生する、上記各
ステップを有することを特徴とする方法。
(2) 上記第(1)項において、前記データ処理シス
テムが、複数個の命令が種々の実行段階にあるパイプラ
イン形態で命令を実行すべく動作可能なタイプであり、
且つ、前記浮動小数点演算の完了迄全てのその他の操作
を一時的に停止することによって前記予測信号の発生に
応答するステップを有することを特徴とするデータ処理
システム。
(3) 上記第(2)項において、浮動小数点例外が発
生する場合に前記浮動小数点演算の完了時に割込み信号
を発生し、前記浮動小数点例外を処理し、前記浮動小数
点命令の直ぐ後に続く次の命令の実行の為にアクセスす
ることによってその他の全ての操作を再開させる、上記
各ステップを有することを特徴とするデータ処理システ
ム。
(4) プロセサユニットの1つが各々が指数フィール
ドと小数フィールドとを持っている第1及び第2オペラ
ンドに関して浮動小数点演算を実施すべく動作可能であ
り且つ他のプロセサユニットが前記1つのプロセサユニ
ットにより実行される浮動小数点演算と並列的に他のデ
ータ処理作業を実行すべく動作可能である少なくとも一
対のプロセサユニットを持ったタイプのデータ処理シス
テムにおける浮動小数点演算例外を予測する方法におい
て、前記1つのプロセサユニットによって実行されるべ
き浮動小数点演算の各異なったタイプに対して浮動小数
点例外発生基準を形成し、前記第1及び第2オペランド
の指数フィールドの組合せを実行されるべき浮動小数点
演算に対しての基準と比較し、使用した基準に従って前
記比較ステップが例外が発生する蓋然性を表す場合に浮
動小数点例外予測信号を発生し、前記浮動小数点例外予
測信号の存在に応答して前記他方のプロセサユニットの
動作を一時的に停止させる、上記各ステップを有するこ
とを特徴とする方法。
(5) 上記第(4)項において、前記演算の完了によ
り浮動小数点例外が発生した場合に割込み信号を発生
し、前記割込み信号に応答してその他のプロセサユニッ
トの動作を再開させて前記例外を発生させる浮動小数点
オペランドを部分的に調節することによって前記浮動小
数点例外を処理し、且つ前記調節した浮動小数点オペラ
ンドで前記浮動小数点演算を再実行する、上記各ステッ
プを有することを特徴とする方法。
(6) 処理装置が各オペランドが指数フィールドと小
数フィールドとを持っている少なくとも2つのオペラン
ドが関与する浮動小数点演算を実行する為の浮動小数点
命令に応答して動作可能な演算装置を具備しており命令
が段階的にデコードされ且つ実行されるパイプライン型
アーキテクチャーを持ったタイプのデータ処理システム
における浮動小数点加算、減算、乗算、及び除算演算に
対する浮動小数点例外を予測する装置において、前記2
つのオペランドの指数フィールドを前記オペランドに関
して実行されるべき浮動小数点演算によって決定される
基準と比較してそれから浮動小数点例外の発生する蓋然
性を表す予測信号を発生する手段、前記予測信号に応答
して前記浮動小数点演算の完了迄前記データ処理システ
ムの動作を停止させる手段、浮動小数点例外が発生した
時に前記演算の完了時に割込み信号を発生する手段、前
記浮動小数点例外を取り扱い且つ前記浮動小数点命令の
再実行と共に前記データ処理システムの動作を再開させ
る手段、を有することを特徴とする装置。
(7) 1つのプロセサユニットは各々が指数フィール
ドと小数フィールドとを持った第1及び第2オペランド
に関して浮動小数点演算を実行すべく動作可能であり他
のプロセサユニットが浮動小数点演算と並列して他のデ
ータ処理作業を実行すべく動作可能である少なくとも一
対のプロセサユニットを持ったタイプのデータ処理シス
テムにおける浮動小数点演算例外を取り扱う装置におい
て、前記1つのプロセサユニットが、前記浮動小数点オ
ペランドを加算、減算及び単項演算用の第1所定基準と
比較し且つ前記比較が浮動小数点例外発生の蓋然性を表
す場合に第1信号を発生する第1回路手段、前記第1及
び第2オペランドの指数フィールドの組合せを浮動小数
点乗算及び除算演算用の第2所定基準と比較し且つ前記
比較が浮動小数点例外発生の蓋然性を表す場合に第2信
号を発生する第2回路手段、前記第1又は第2信号が存
在する場合に浮動小数点例外予測信号を供給する発生手
段、を有しており、且つ前記他のプロセサユニットが前
記浮動小数点例外予測信号の発生及びその期間中に応答
して動作を停止する手段を有していることを特徴とする
装置。
(8) 上記第(7)項において、前記演算が浮動小数
点例外となった時に前記浮動小数点演算の完了時に割込
み信号を発生させる手段、及び前記例外を処理する手
段、を有することを特徴とするデータ処理システム。
(9) 上記第(9)項において、前記例外を処理する
手段が、前記オペランドを調節する手段、及び前記調節
したオペランドを使用して浮動小数点演算を具備するそ
の他のプロセサユニットの操作を再開させる手段、を有
することを特徴とするデータ処理システム。
以上、本発明の具体的実施の態様に付いて詳細に説明
したが、本発明はこれら具体例にのみ限定されるべきも
のでは無く、本発明の技術的範囲を逸脱すること無しに
種々の変形が可能であることは勿論である。
【図面の簡単な説明】
第1図は本発明の方法及び装置を包含して構成されてお
り浮動小数点演算を実施可能なデータ処理システムを示
した概略図、第2A図乃至第2D図は乗算、除算、加算/減
算、及び単項浮動小数点操作に対しての可能な例外発生
状態のプロットを示した各説明図、第3図は例外予測回
路を形成する為に使用される装置を示した概略図、であ
る。 (符号の説明) 10:データ処理システム 12:CPU 14:浮動小数点プロセサユニット(FPU) 16:クロック供給源 18:メモリシステム 20:データバス 22:アドレスバス 24:プログラムカウンタ 26:例外プログラムカウンタ 28:プログラムカウンタキュー 30:パラメータレジスタファイル 34:命令デコードユニット 38:例外予測ユニット 40:信号ライン 42:浮動小数点実行ユニット 50:PLA 52:例外予測ラッチ回路 60:加算回路
フロントページの続き (56)参考文献 特開 昭53−135531(JP,A) 特開 昭59−139448(JP,A) 特開 昭58−92041(JP,A) 特開 昭59−43440(JP,A) 欧州公開256358(EP,A2) 「インターフェース」,11[3](昭 和60年3月),CQ出版,P.227− 228,241−242 (58)調査した分野(Int.Cl.7,DB名) G06F 7/00 G06F 7/38 - 7/54 G06F 9/38 - 9/38 390

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】プロセサユニットの1つが各々が指数フィ
    ールドと小数フィールドとを持っている第1及び第2オ
    ペランドに関して浮動小数点演算を実施すべく動作可能
    であり且つ他のプロセサユニットが前記1つのプロセサ
    ユニットにより実行される浮動小数点演算と並列的に他
    のデータ処理作業を実行すべく動作可能であり少なくと
    も一対のプロセサユニットを持ったタイプのデータ処理
    システムにおける浮動小数点演算を実行する方法におい
    て、 前記1つのプロセサユニットによって実行されるべき浮
    動小数点演算の各異なったタイプに対して浮動小数点例
    外発生基準を形成し、 前記第1及び第2オペランドの指数フィールドの組合わ
    せを実行されるべき浮動小数点演算に対しての浮動小数
    点例外発生基準と比較し、 使用した基準に従って前記比較ステップが例外が発生す
    る蓋然性を表す場合に浮動小数点例外予測信号を発生
    し、 前記浮動小数点例外予測信号の存在に応答して前記他方
    のプロセサユニットの動作を一時的に停止させ、 前記浮動小数点演算を実行し、 前記浮動小数点演算が実際には浮動小数点例外を発生し
    ない場合には前記他方のプロセサユニットの動作を再開
    させる、 上記各ステップを有することを特徴とする方法。
  2. 【請求項2】各オペランドが指数フィールドと小数フィ
    ールドとを持っている少なくとも2つのオペランドが関
    与する浮動小数点演算を実行するための浮動小数点命令
    に応答して動作可能な演算装置を具備しており命令が段
    階的にデコードされ且つ実行されるパイプライン型アー
    キテクチャーを持ったタイプのデータ処理システムにお
    ける浮動小数点加算、減算、乗算、及び除算演算から発
    生する浮動小数点例外を取り扱う装置において、 前記2つのオペランドの指数フィールドを前記オペラン
    ドに関して実行されるべき浮動小数点演算によって決定
    される基準と比較してそれから浮動小数点例外の発生す
    る蓋然性を表す予測信号を発生する手段、 前記予測信号に応答して前記浮動小数点演算の完了迄前
    記データ処理システムの動作を停止させる手段、 浮動小数点例外が発生した時に前記演算の完了時に割込
    み信号を発生する手段、 前記浮動小数点例外を取り扱い且つ前記浮動小数点命令
    の再実行と共に前記データ処理システムの動作を再開さ
    せる手段、 を有することを特徴とする装置。
  3. 【請求項3】1つのプロセサユニットは各々が指数フィ
    ールドと小数フィールドとを持った第1及び第2オペラ
    ンドに関して浮動小数点演算を実行すべく動作可能であ
    り他のプロセサユニットが浮動小数点演算と並列して他
    のデータ処理作業を実行すべく動作可能である少なくと
    も一対のプロセサユニットを持ったタイプのデータ処理
    システムにおける浮動小数点演算例外を取り扱う装置に
    おいて、 前記1つのプロセサユニットが、 前記浮動小数点オペランドを加算、減算及び単項演算用
    の第1所定基準と比較し且つ前記比較が浮動小数点例外
    発生の蓋然性を表す場合に第1信号を発生する第1回路
    手段と、 前記第1及び第2オペランドの指数フィールドの組合わ
    せを浮動小数点乗算及び除算演算用の第2所定基準と比
    較し且つ前記比較が浮動小数点例外発生の蓋然性を表す
    場合に第2信号を発生する第2回路手段と、 前記第1及び第2信号が存在する場合に浮動小数点例外
    予測信号を供給する発生手段と、 を有しており、且つ 前記他のプロセサユニットが前記浮動小数点例外予測信
    号の発生及びその期間中に応答して動作を停止する手段
    を有している、 ことを特徴とする装置。
JP1045523A 1988-02-29 1989-02-28 精密浮動小数点例外用の方法及び装置 Expired - Lifetime JP3025776B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/161,543 US4879676A (en) 1988-02-29 1988-02-29 Method and apparatus for precise floating point exceptions
US161,543 1988-02-29

Publications (2)

Publication Number Publication Date
JPH0210427A JPH0210427A (ja) 1990-01-16
JP3025776B2 true JP3025776B2 (ja) 2000-03-27

Family

ID=22581611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1045523A Expired - Lifetime JP3025776B2 (ja) 1988-02-29 1989-02-28 精密浮動小数点例外用の方法及び装置

Country Status (8)

Country Link
US (1) US4879676A (ja)
EP (1) EP0331372B1 (ja)
JP (1) JP3025776B2 (ja)
KR (1) KR950003200B1 (ja)
AU (1) AU603973B2 (ja)
CA (1) CA1295742C (ja)
DE (1) DE68926063T2 (ja)
IL (1) IL89262A (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845659A (en) * 1986-08-15 1989-07-04 International Business Machines Corporation Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations
US5341482A (en) * 1987-03-20 1994-08-23 Digital Equipment Corporation Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
JPS63259727A (ja) * 1987-04-17 1988-10-26 Hitachi Ltd コプロセツサのインタ−フエイス方式
US5153848A (en) * 1988-06-17 1992-10-06 Bipolar Integrated Technology, Inc. Floating point processor with internal free-running clock
JP2858140B2 (ja) * 1988-10-19 1999-02-17 アポロ・コンピューター・インコーポレーテッド パイプラインプロセッサ装置および方法
US4943941A (en) * 1989-01-13 1990-07-24 Bolt Beranek And Newman Inc. Floating point processor employing counter controlled shifting
US5134693A (en) * 1989-01-18 1992-07-28 Intel Corporation System for handling occurrence of exceptions during execution of microinstructions while running floating point and non-floating point instructions in parallel
US5093908A (en) * 1989-04-17 1992-03-03 International Business Machines Corporation Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
US5218711A (en) * 1989-05-15 1993-06-08 Mitsubishi Denki Kabushiki Kaisha Microprocessor having program counter registers for its coprocessors
US5058048A (en) * 1990-04-02 1991-10-15 Advanced Micro Devices, Inc. Normalizing pipelined floating point processing unit
JP3089427B2 (ja) * 1990-09-20 2000-09-18 松下電器産業株式会社 データ処理装置
JP2682232B2 (ja) * 1990-11-21 1997-11-26 松下電器産業株式会社 浮動小数点演算処理装置
JP2925818B2 (ja) * 1991-04-05 1999-07-28 株式会社東芝 並列処理制御装置
US5699553A (en) * 1991-12-10 1997-12-16 Fujitsu Limited Memory accessing device for a pipeline information processing system
US5257216A (en) * 1992-06-10 1993-10-26 Intel Corporation Floating point safe instruction recognition apparatus
US5559977A (en) * 1992-08-04 1996-09-24 Intel Corporation Method and apparatus for executing floating point (FP) instruction pairs in a pipelined processor by stalling the following FP instructions in an execution stage
US5481275A (en) 1992-11-02 1996-01-02 The 3Do Company Resolution enhancement for video display using multi-line interpolation
US5596693A (en) * 1992-11-02 1997-01-21 The 3Do Company Method for controlling a spryte rendering processor
US5838389A (en) * 1992-11-02 1998-11-17 The 3Do Company Apparatus and method for updating a CLUT during horizontal blanking
US5572235A (en) * 1992-11-02 1996-11-05 The 3Do Company Method and apparatus for processing image data
US5752073A (en) * 1993-01-06 1998-05-12 Cagent Technologies, Inc. Digital signal processor architecture
JP2847688B2 (ja) * 1993-05-27 1999-01-20 松下電器産業株式会社 プログラム変換装置およびプロセッサ
US5752013A (en) * 1993-06-30 1998-05-12 Intel Corporation Method and apparatus for providing precise fault tracing in a superscalar microprocessor
US5537538A (en) * 1993-12-15 1996-07-16 Silicon Graphics, Inc. Debug mode for a superscalar RISC processor
WO1995016952A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics Inc. Superscalar microprocessor instruction pipeline including instruction dispatch and release control
WO1995016955A1 (en) * 1993-12-15 1995-06-22 Silicon Graphics, Inc. Load latency of zero for floating point load instructions using a load data queue
DE4434895C2 (de) * 1993-12-23 1998-12-24 Hewlett Packard Co Verfahren und Vorrichtung zur Behandlung von Ausnahmebedingungen
TW260765B (ja) * 1994-03-31 1995-10-21 Ibm
US5530663A (en) * 1994-11-14 1996-06-25 International Business Machines Corporation Floating point unit for calculating a compound instruction A+B×C in two cycles
US5548545A (en) * 1995-01-19 1996-08-20 Exponential Technology, Inc. Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus
US5812439A (en) * 1995-10-10 1998-09-22 Microunity Systems Engineering, Inc. Technique of incorporating floating point information into processor instructions
US7197625B1 (en) * 1997-10-09 2007-03-27 Mips Technologies, Inc. Alignment and ordering of vector elements for single instruction multiple data processing
US5864703A (en) * 1997-10-09 1999-01-26 Mips Technologies, Inc. Method for providing extended precision in SIMD vector arithmetic operations
US6275838B1 (en) 1997-12-03 2001-08-14 Intrinsity, Inc. Method and apparatus for an enhanced floating point unit with graphics and integer capabilities
US6460134B1 (en) 1997-12-03 2002-10-01 Intrinsity, Inc. Method and apparatus for a late pipeline enhanced floating point unit
US6044454A (en) * 1998-02-19 2000-03-28 International Business Machines Corporation IEEE compliant floating point unit
US6216222B1 (en) * 1998-05-14 2001-04-10 Arm Limited Handling exceptions in a pipelined data processing apparatus
US6732259B1 (en) 1999-07-30 2004-05-04 Mips Technologies, Inc. Processor having a conditional branch extension of an instruction set architecture
US7242414B1 (en) 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
US7346643B1 (en) 1999-07-30 2008-03-18 Mips Technologies, Inc. Processor with improved accuracy for multiply-add operations
US6714197B1 (en) 1999-07-30 2004-03-30 Mips Technologies, Inc. Processor having an arithmetic extension of an instruction set architecture
US6631392B1 (en) 1999-07-30 2003-10-07 Mips Technologies, Inc. Method and apparatus for predicting floating-point exceptions
US6697832B1 (en) 1999-07-30 2004-02-24 Mips Technologies, Inc. Floating-point processor with improved intermediate result handling
US6912559B1 (en) 1999-07-30 2005-06-28 Mips Technologies, Inc. System and method for improving the accuracy of reciprocal square root operations performed by a floating-point unit
JP2001092662A (ja) 1999-09-22 2001-04-06 Toshiba Corp プロセッサコア及びこれを用いたプロセッサ
US6996596B1 (en) 2000-05-23 2006-02-07 Mips Technologies, Inc. Floating-point processor with operating mode having improved accuracy and high performance
US7599981B2 (en) 2001-02-21 2009-10-06 Mips Technologies, Inc. Binary polynomial multiplier
US7711763B2 (en) 2001-02-21 2010-05-04 Mips Technologies, Inc. Microprocessor instructions for performing polynomial arithmetic operations
US7162621B2 (en) 2001-02-21 2007-01-09 Mips Technologies, Inc. Virtual instruction expansion based on template and parameter selector information specifying sign-extension or concentration
US7181484B2 (en) 2001-02-21 2007-02-20 Mips Technologies, Inc. Extended-precision accumulation of multiplier output
US7373489B1 (en) * 2004-06-30 2008-05-13 Sun Microsystems, Inc. Apparatus and method for floating-point exception prediction and recovery
US7437538B1 (en) 2004-06-30 2008-10-14 Sun Microsystems, Inc. Apparatus and method for reducing execution latency of floating point operations having special case operands
US7401206B2 (en) * 2004-06-30 2008-07-15 Sun Microsystems, Inc. Apparatus and method for fine-grained multithreading in a multipipelined processor core
JP4500183B2 (ja) 2005-02-25 2010-07-14 東芝機械株式会社 転写装置
US7451171B1 (en) * 2008-03-31 2008-11-11 International Business Machines Corporation Systems, methods and computer program products for hardware assists for microcoded floating point divide and square root
US10379851B2 (en) 2017-06-23 2019-08-13 International Business Machines Corporation Fine-grained management of exception enablement of floating point controls
US10514913B2 (en) 2017-06-23 2019-12-24 International Business Machines Corporation Compiler controls for program regions
US10684852B2 (en) 2017-06-23 2020-06-16 International Business Machines Corporation Employing prefixes to control floating point operations
DE102022104815A1 (de) 2022-03-01 2023-09-07 Schaeffler Technologies AG & Co. KG Verfahren zur Steuerung eines Hybridantriebsstrangs
DE102022111312A1 (de) 2022-05-06 2023-11-09 Schaeffler Technologies AG & Co. KG Dedizierter Hybridantriebsstrang und Verfahren zu dessen Steuerung

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53135531A (en) * 1977-05-02 1978-11-27 Hitachi Ltd Data processor
AU549632B2 (en) * 1981-04-23 1986-02-06 Data General Corporation Floating point notation
JPS5892041A (ja) * 1981-11-27 1983-06-01 Hitachi Ltd デ−タ処理装置
JPS5943440A (ja) * 1982-09-03 1984-03-10 Toshiba Corp 演算制御装置
JPS59501684A (ja) * 1982-10-22 1984-10-04 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン 目的命令ストリ−ムへ殆んど実時間で插入するためのソ−スおよび目的命令ストリ−ムの外部における加速式命令写像
JPS59139448A (ja) * 1983-01-28 1984-08-10 Matsushita Electric Ind Co Ltd 浮動小数点乗算装置
US4773035A (en) * 1984-10-19 1988-09-20 Amdahl Corporation Pipelined data processing system utilizing ideal floating point execution condition detection
JPS61288226A (ja) * 1985-06-17 1986-12-18 Panafacom Ltd 外部コンデイシヨン制御方式
US4791557A (en) * 1985-07-31 1988-12-13 Wang Laboratories, Inc. Apparatus and method for monitoring and controlling the prefetching of instructions by an information processing system
US4845659A (en) * 1986-08-15 1989-07-04 International Business Machines Corporation Accelerated validity response permitting early issue of instructions dependent upon outcome of floating point operations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「インターフェース」,11[3](昭和60年3月),CQ出版,P.227−228,241−242

Also Published As

Publication number Publication date
EP0331372A2 (en) 1989-09-06
EP0331372B1 (en) 1996-03-27
JPH0210427A (ja) 1990-01-16
EP0331372A3 (en) 1990-07-04
IL89262A (en) 1992-08-18
KR890013553A (ko) 1989-09-23
IL89262A0 (en) 1989-09-10
US4879676A (en) 1989-11-07
CA1295742C (en) 1992-02-11
AU3076589A (en) 1989-08-31
KR950003200B1 (ko) 1995-04-04
DE68926063T2 (de) 1996-11-28
AU603973B2 (en) 1990-11-29
DE68926063D1 (de) 1996-05-02

Similar Documents

Publication Publication Date Title
JP3025776B2 (ja) 精密浮動小数点例外用の方法及び装置
US5416912A (en) System for handling exceptions occurring during parallel execution of microinstructions
JP2645669B2 (ja) データ処理システム
US5500943A (en) Data processor with rename buffer and FIFO buffer for in-order instruction completion
US5418736A (en) Optimized binary adders and comparators for inputs having different widths
JP2846406B2 (ja) 分岐処理方法及び分岐処理装置
JP2846407B2 (ja) 例外処理方法及び例外処理装置
US5394351A (en) Optimized binary adder and comparator having an implicit constant for an input
JP2005202964A (ja) 割り込みをタイプ別に計数する方法、システムおよびプログラム
JPH0567971B2 (ja)
JPH07248897A (ja) コンピュータ・システムにおける例外からの回復方法、及びそのための装置
JPH11327903A (ja) Ieee準拠浮動小数点ユニット
KR0133237B1 (ko) 다중 실행장치 처리시스템 상태의 선택적 저장방법 및 시스템
JP3122420B2 (ja) プロセッサおよび条件コード・ビット計算方法
US5446909A (en) Binary multiplication implemented by existing hardware with minor modifications to sequentially designate bits of the operand
JPH06202868A (ja) マルチスカラー・プロセッサ・システムにおける高速浮動小数点例外起動式操作の方法およびシステム
JPH10124312A (ja) 中央処理装置
JPH09138748A (ja) 浮動小数点命令の早期完了方法および装置
JP2793396B2 (ja) 電子計算機の演算ステータス保持装置
JPH06162067A (ja) ベクトル命令制御装置および制御方法
JP2001216156A (ja) インストラクションキャッシュアクセスの装置と方法
JP2000099330A (ja) コンピュ―タ・プロセッサ・システム
JPH0259961A (ja) 情報処理装置
JPH0378832A (ja) デ―タ処理装置
JPH03105527A (ja) パイプライン計算機におけるプログラムカウンタの構成方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090128

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100128

Year of fee payment: 10