JPH09212363A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH09212363A
JPH09212363A JP8019705A JP1970596A JPH09212363A JP H09212363 A JPH09212363 A JP H09212363A JP 8019705 A JP8019705 A JP 8019705A JP 1970596 A JP1970596 A JP 1970596A JP H09212363 A JPH09212363 A JP H09212363A
Authority
JP
Japan
Prior art keywords
exception
circuit
instruction
floating
arithmetic
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.)
Pending
Application number
JP8019705A
Other languages
English (en)
Inventor
Atsuhiro Suga
敦浩 須賀
Tatsuya Nagasawa
達也 長沢
Shinichi Oyama
眞一 大山
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP8019705A priority Critical patent/JPH09212363A/ja
Publication of JPH09212363A publication Critical patent/JPH09212363A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 本発明は、命令を複数の処理単位に分割し、
連続する命令を同時に複数処理する情報処理装置におけ
る演算例外の処理に関し、特に、先行する浮動少数点命
令の演算例外処理の為の性能劣化を回路量の大幅な増加
無しに防止し、同時に処理されている後続の命令を早い
タイミングで抑止する機能を提供することを目的とす
る。 【解決手段】パターン検出回路で入力データのパターン
を検出し、例外予測回路で前記パターンから演算例外の
発生を予測して、浮動小数点命令の演算結果が生成され
る前に、同時に処理されている後続の命令及び以降の処
理を中断し、浮動小数点演算を実施した結果演算例外が
発生した場合には前記命令を中止し、演算例外が発生し
なかった場合には前記命令及び以降の処理を再開する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】 本発明は、命令を複数の処
理単位に分割し、連続する命令を同時に複数処理する情
報処理装置における演算例外の処理に関し、特に、先行
する浮動少数点命令で演算例外が生じた場合に、回路量
を大幅に増加させること無く、また処理能力を低下させ
ること無しに、同時に処理されている後続の命令の実行
を抑止する浮動小数点演算例外の処理に関する。
【0002】一般に、情報処理装置では、入力された処
理を指示する命令列と処理の対象となるデータとが記憶
回路に一旦格納され、記憶回路に格納された命令列から
命令が順次読み出され、該命令で指定された記憶回路の
領域に格納されているデータが入力データとして読み出
されて演算回路で演算され、演算された結果が命令で指
定された記憶回路の領域に格納された後、出力される。
【0003】従来は、異なる処理を行う、回路を伝播す
る信号の伝播遅延時間が一定となるよう構成された処理
回路を処理単位毎に設け、処理回路と処理回路の間にレ
ジスタ等信号の整合を図る保持回路を設け、命令を複数
の処理単位に分割し、先行する命令の処理の一部と後続
する命令の処理の一部とが同時に異なる処理回路で処理
されるよう順次回路を動作させるパイプライン処理方法
が、処理を高速に行う情報処理装置の構成方法として一
般的に採用されていた。
【0004】パイプライン処理方法では、処理単位の各
々(以下、「ステージ」と言う)を処理する、保持回路
から処理回路を通り次の保持回路までの信号遅延時間
(以下、「サイクルタイム」と言う)を短縮することが
処理をより高速に行う上で必要である。
【0005】最近では、より高速な処理を狙って、パイ
プライン処理を複数同時に実行する、連続する命令の同
一ステージを同時に実行するスーパスカラー方法が採用
される様になってきている。
【0006】ところが、基数と、指数と、仮数とで数値
が表現される浮動小数点データを処理する浮動小数点命
令の処理においては、取り扱うことの出来る数値の範囲
が決まっており、入力データによっては演算の結果がそ
の範囲を越え、或いは数学的に無効となる演算が指示さ
れる場合がある。
【0007】浮動小数点演算命令で、演算の結果が取り
扱うことの出来る数値の範囲を越えたり、数学的に無効
となる演算が指示された場合、演算例外として後続する
命令の実行を抑止し、例外処理のため準備された命令列
(以下、「トラップルーチン」と言う)を読出し、例外
処理を行う必要がある。
【0008】スーパスカラー方法では、連続する命令の
同一ステージが同時に実行されるため、先行する浮動小
数点演算命令を実行した結果として演算例外が検出され
た場合には、後続する命令の実行を抑止し、トラップル
ーチンを読み出して処理する必要があり、演算例外を早
期に検出することが必要である。
【0009】
【従来の技術】図7は浮動小数点例外検出回路構成図で
あり、図8は従来例の構成図であり、図9は従来例のタ
イムチャート図である。
【0010】図7〜図9について説明する。尚、以下の
説明において、同一部分または相当部分については同一
符号を付す。また、浮動小数点演算には、加算と減算と
乗算と除算と浮動小数点数を整数に変換する演算とがあ
り、浮動小数点の演算を行う回路には加減算回路と乗除
算回路とがあって、以下の説明では加減算回路と乗除算
回路の双方を浮動小数点演算回路と言う。
【0011】図8の従来例の構成図において、1’は情
報処理装置であり、30は浮動小数点例外検出回路(以
下、「FP例外検出回路」と略す)であり、40は浮動
小数点演算回路A(以下、「FP演算回路A」と略す)
であり、41は浮動小数点演算回路B(以下、「FP演
算回路B」と略す)であり、50’は制御回路であり、
60は記憶回路であり、70は演算回路Aであり、71
は演算回路Bであり、80は演算例外検出回路である。
【0012】情報処理装置1’は、図示されない入力装
置と図示されない出力装置とに接続され、記憶回路60
と、制御回路50’と、FP演算回路A40と、FP演
算回路B41と、FP例外検出回路30と、演算回路A
70と、演算回路B71と、演算例外検出回路80とか
ら構成され、図示されない入力装置から命令列と該命令
列で処理されるデータとが入力され、命令を複数のステ
ージに分割し、同時に複数の命令を処理して図示去れな
い出力装置に出力する装置であって、演算を2ステージ
に分割して処理する装置である。
【0013】記憶回路60は、図示されない入力装置と
図示されない出力装置とに接続され、制御回路50’と
FP演算回路A40とFP演算回路B41と演算回路A
70と演算回路B71とに接続され、図示されない入力
装置から入力された命令列とデータとが保持され、FP
演算回路B41と演算回路B71とから出力された演算
の最終結果が保持される回路である。
【0014】制御回路50’は、記憶回路60とFP例
外検出回路30と演算例外検出回路80とに接続され、
記憶回路60から複数の命令を読出して解釈し、記憶回
路60からデータを読出して前記複数の命令の各々を実
行する演算回路に入力し、演算例外を検出するFP例外
検出回路30と演算例外検出回路80のいずれか一方又
は双方の回路から演算例外検出の通知を受けた場合に
は、その通知が先行する命令と後続する命令のいずれか
ら通知されたのかを区別し、先行する命令から演算例外
の発生が通知された場合には、同時に実行されている後
続する命令を実行した最終結果の記憶回路60への格納
を抑止してトラップルーチンへ分岐し、先行する命令か
らは演算例外の発生が通知されず、後続する命令から演
算例外の発生が通知された場合にはトラップルーチンへ
分岐し、先行する命令からも後続する命令からも演算例
外の発生が通知されなかった場合には後続する命令に続
く命令を続行する回路である。
【0015】FP演算回路A40は、記憶回路60とF
P演算回路B41とに接続され、記憶回路60からデー
タが入力され、浮動小数点演算の第1段階の処理を行っ
て中間結果を算出し、FP演算回路B41に中間結果を
出力する回路である。
【0016】FP演算回路B41は、FP演算回路A4
0とFP例外検出回路30とに接続され、FP演算回路
A40から出力された中間結果を入力データとして浮動
小数点演算の第2段階の処理を行って結果を算出し、F
P例外検出回路30に結果を出力し、FP例外検出回路
30から演算例外の有無についての判定結果の通知を受
けて最終結果を生成し、記憶回路60に最終結果を出力
する回路である。
【0017】FP例外検出回路30は、FP演算回路B
41と制御回路50’とに接続され、FP演算回路B4
1の算出した結果を入力データとして演算例外の有無に
ついて判定を行い、判定結果をFP演算回路B41と制
御回路50’とに通知する回路である。
【0018】演算回路A70は、記憶回路60と演算回
路B71とに接続され、記憶回路60からデータが入力
され、整数演算の第1段階の処理を行って中間結果を算
出し、演算回路B71に中間結果を出力する回路であ
る。
【0019】演算回路B71は、演算回路A70と演算
例外検出回路80とに接続され、演算回路A70から出
力された中間結果を入力データとして整数演算の第2段
階の処理を行って結果を算出し、演算例外検出回路80
に結果を出力し、演算例外検出回路80から演算例外の
有無についての判定結果の通知を受けて最終結果を生成
し、記憶回路60に最終結果を出力する回路である。
【0020】演算例外検出回路80は、演算回路B71
と制御回路50’とに接続され、演算回路B71の算出
した結果を入力データとして演算例外の有無について判
定を行い、判定結果を演算回路B71と制御回路50’
とに通知する回路である。
【0021】図7において、31は無効演算検出回路で
あり、32は非サポート演算検出回路であり、33は結
果不正確例外検出回路であり、34はオーバフロー検出
回路であり、35はアンダフロー検出回路である。
【0022】無効演算検出回路31は、演算の最終結果
が数値として定義されていないデータパターンを示した
場合に演算例外として検出する回路である。非サポート
演算検出回路32は、演算の最終結果が装置としてサポ
ートされていないデータパターンを示した場合に演算例
外として検出する回路である。
【0023】結果不正確例外検出回路33は、演算の最
終結果が丸めを行わないと一意に定まらないデータパタ
ーンを示した場合に演算例外として検出する回路であ
る。オーバフロー検出回路34は、演算の最終結果の絶
対値が装置が表現出来る範囲を越えて大きい場合に演算
例外として検出する回路である。
【0024】アンダフロー検出回路35は、演算の最終
結果が非正規化数として表現された値となった場合に演
算例外として検出する回路である。以下、図7〜図9を
参照しながら、先行命令が浮動小数点命令で後続命令が
整数命令であって、浮動小数点命令で演算例外を生じる
場合について、処理を説明する。
【0025】第1ステージでは、あらかじめ制御回路5
0’により記憶回路60から読み出された入力データを
入力として、FP演算回路A40では先行する浮動小数
点演算の第1段階の処理が行われて中間結果が保持さ
れ、演算回路A70では後続する整数演算の第1段階の
処理が行われて中間結果が保持される。
【0026】第2ステージでは、先行する浮動小数点命
令に関しては、前記FP演算回路A40により第1段階
の処理が行われた結果得られた中間結果を入力として、
FP演算回路B41により浮動小数点演算の第2段階の
処理が行われ、結果がFP例外検出回路30に出力さ
れ、FP例外検出回路30により演算例外の有無が判定
されてFP演算回路B41と制御回路50’とに通知さ
れ、後続する整数命令に関しては、前記演算回路A70
により第1段階の処理が行われた結果得られた中間結果
を入力として、演算回路B71により整数演算の第2段
階の処理が行われ、結果が演算例外検出回路80に出力
され、演算例外検出回路80により演算例外の有無が判
定されて演算回路B71と制御回路50’とに通知され
る。
【0027】次いで、FP演算回路B41と演算回路B
71では演算例外の有無の通知に対応した最終結果が生
成され、一方、制御回路50’ではFP例外検出回路3
0からの演算例外の有無の通知と演算例外検出回路80
からの演算例外の有無の通知とが比較され、先行する浮
動小数点命令で演算例外が発生したことがFP例外検出
回路30から通知されている場合には、後続する整数命
令の抑止が判定され、整数命令を演算した結果得られた
最終結果の記憶回路60への格納が抑止され、更に例外
処理のためのトラップルーチンへの分岐が準備される。
【0028】先行する浮動小数点命令で演算例外が発生
せず、後続する整数命令で演算例外が発生したことが演
算例外検出回路から通知されている場合には、FP演算
回路B41からは、浮動小数点演算の第2段階の処理の
結果として得られたデータが最終結果として記憶回路6
0に格納され、演算回路B71からは、整数演算で演算
例外が生じた場合に出力することが規定されているデー
タが最終結果として記憶回路60に格納され、更に例外
処理のためのトラップルーチンへの分岐が準備される。
【0029】先行する浮動小数点命令で演算例外が発生
せず、後続する整数命令で演算例外が発生しなかった場
合には、FP演算回路B41からは、浮動小数点演算の
第2段階の処理の結果として得られたデータが最終結果
として記憶回路60に格納され、演算回路B71から
は、整数演算の第2段階の処理の結果として得られたデ
ータが最終結果として記憶回路60に格納され、次の命
令の処理に進む。
【0030】
【発明が解決しようとする課題】上記説明のように、従
来は最終段階の演算を行った結果得られたデータから演
算例外の発生の有無を検出し、演算例外の有無を通知す
る信号を制御回路に集約して命令の実行順序に合わせて
演算例外の処理順序を判定し、先行する命令で演算例外
の発生が通知されている場合には当時に実行されている
命令の処理結果の記憶回路への格納を抑止する必要があ
った。
【0031】そのため、他のステージと比べ最終ステー
ジで順次処理しなければならない処理の数が増加し、最
終ステージの回路遅延時間が増加して他のステージの回
路遅延時間に合わせて設定したサイクルタイムでは処理
が完了せずにサイクルタイムを長く設定しなければなら
なくなり、情報処理装置の処理速度を低下させるという
問題があった。
【0032】本発明は、命令を複数の処理単位に分割
し、連続する命令を同時に複数処理する情報処理装置に
おいて、先行する浮動少数点命令で演算例外が生じた場
合に、回路量を大幅に増加させること無く、また処理能
力を低下させること無しに、同時に処理されている後続
の命令の実行を抑止する方法を提供することを目的とす
る。
【0033】
【課題を解決するための手段】図1は本発明の原理図で
ある。図1において、1は情報処理装置であり、6は記
憶手段であり、5は制御手段であり、4は浮動小数点演
算手段(以下、「FP演算手段」言う)であり、2は浮
動小数点例外予測手段(以下、「FP例外予測手段」と
言う)であり、3は浮動小数点例外検出手段(以下、
「FP例外検出手段」と言う)であり、7は演算手段で
あり、9は演算例外予測手段であり、8は演算例外検出
手段である。
【0034】情報処理装置1は、記憶手段6と制御手段
5とFP演算手段4とFP例外予測手段2とFP例外検
出手段3と演算手段7と演算例外検出手段8と演算例外
予測手段9とから構成され、図示されない入力手段から
入力されたデータと命令列とを記憶し、命令列に従って
データを処理し、結果を図示されない出力手段に出力す
る装置である。
【0035】記憶手段6は、図示されない入力手段と図
示されない出力手段とに接続され、FP演算手段4とF
P例外予測手段2と演算手段7と演算例外予測手段9と
制御手段5とに接続され、図示されない入力手段から入
力されたデータと命令列とを記憶し、FP演算手段4及
び演算手段7で算出された演算の最終結果を格納し、図
示されない出力手段に前記演算の最終結果を出力する手
段である。
【0036】FP演算手段4は、記憶手段6とFP例外
予測手段2とFP例外検出手段3とに接続され、記憶手
段6から入力されたデータに対し制御手段5の指示する
浮動小数点演算を複数のステージに分割して実施し、演
算の中間結果をFP例外予測手段2に送出し、演算の結
果をFP例外検出手段3に送出し、FP例外検出手段3
から演算例外発生の有無の通知を受け、演算例外発生の
有無に対応した演算の最終結果を生成し、前記演算の最
終結果を記憶手段6に出力する手段である。
【0037】FP例外検出手段3は、FP演算手段4と
制御手段5とに接続され、FP演算手段4から出力され
た演算の結果を入力として演算例外発生の有無を判定
し、FP演算手段4と制御手段5とに演算例外発生の有
無を通知する手段である。
【0038】演算手段7は、記憶手段6と演算例外予測
手段9と演算例外検出手段8とに接続され、記憶手段6
から入力されたデータに対し制御手段5の指示する演算
を複数のステージに分割して実施し、演算の中間結果を
演算例外予測手段9に送出し、演算の結果を演算例外検
出手段8に送出し、演算例外検出手段8から演算例外発
生の有無の通知を受け、演算例外発生の有無に対応した
演算の最終結果を生成し、前記演算の最終結果を記憶手
段6に出力する手段である。
【0039】演算例外検出手段8は、演算手段7と制御
手段5とに接続され、演算手段7から出力された演算の
結果を入力として演算例外発生の有無を判定し、演算手
段7と制御手段5とに演算例外発生の有無を通知する手
段である。
【0040】FP例外予測手段2は、記憶手段6と制御
手段5とFP演算手段4とに接続され、記憶手段6から
入力されたデータとFP演算手段4から入力された最初
のステージの処理の結果得られる演算の中間結果とから
演算例外発生の有無を予測し、制御手段5に通知する手
段である。
【0041】演算例外予測手段9は、記憶手段6と制御
手段5と演算手段7とに接続され、記憶手段6から入力
されたデータと演算手段4から入力された最初のステー
ジの処理の結果得られる演算の中間結果とから演算例外
発生の有無を予測し、制御手段5に通知する手段であ
る。
【0042】制御手段5は、記憶手段6とFP例外予測
手段2とFP例外検出手段3と演算例外予測手段9と演
算例外検出手段8とに接続され、記憶手段6に保持され
ている命令列を順次読出して複数の同時に実行可能な命
令の組合せに分解し、前記同時に実行可能な命令の各々
が必要とするデータを記憶手段6から読み出して前記同
時に実行可能な命令の各々が実行されるFP演算手段4
と演算手段7とに入力して演算を起動し、演算例外発生
の予測が通知された場合には先行する命令で予測された
のか後続する命令で予測されたのかを区分し、先行する
命令で演算例外の発生が予測された場合には同時に実行
している後続の命令の第2のステージ以降の処理を中断
し、前記後続する命令の再開とトラップルーチンへの分
岐準備を行う手段である。
【0043】第1ステージでは、先行する命令に関して
は、制御手段5により記憶手段6からFP演算手段4と
FP例外予測手段2とにデータが入力され、FP演算手
段4で中間結果が生成され、FP例外予測手段2では前
記中間結果と前記データとから演算例外発生の有無が予
測され、制御手段5に通知される。
【0044】後続する命令に関しては、制御手段5によ
り記憶手段6から演算手段7と演算例外予測手段8とに
データが入力され、演算手段7で中間結果が生成され、
演算例外予測手段8では前記中間結果と前記データとか
ら演算例外発生の有無が予測され、制御手段5に通知さ
れる。
【0045】制御手段5ではFP例外予測手段2と演算
例外予測手段8とから演算例外発生の有無の予測結果の
通知を受け、先行する命令で演算例外発生が予測された
場合には後続する命令の次のステージ以降の処理を中断
し、前記後続する命令の再開とトラップルーチンへの分
岐準備を行う。
【0046】第2ステージでは、先行する命令の第2ス
テージの処理が第1ステージで生成された中間結果を入
力としてFP演算手段4で行われ、FP例外検出手段3
に第2ステージの処理の結果が入力され、FP例外検出
手段3により演算例外発生の有無が判定され、判定結果
がFP演算手段4と制御手段5とに通知される。
【0047】制御手段5では、前記後続する命令の再開
とトラップルーチンへの分岐の何れを選択するか、前記
判定結果から決定し、演算例外が発生した場合にはトラ
ップルーチンへ分岐し、演算例外が発生しなかった場合
には前記後続する命令を再開する。
【0048】
【発明の実施の形態】図2は本発明の第1の実施の形態
構成図であり、図3は本発明の第1の実施の形態パター
ン検出回路構成図であり、図4は本発明の第1の実施の
形態例外予測回路構成図(その1)であり、図5は本発
明の第1の実施の形態例外予測回路構成図(その2)で
あり、図6は本発明の第1の実施の形態タイムチャート
図である。
【0049】図2において、1は情報処理装置であり、
60は記憶回路であり、50は制御回路であり、40は
FP演算回路Aであり、41はFP演算回路Bであり、
10は浮動小数点例外予測回路(以下、「FP例外予測
回路」と言う)であり、11はパターン検出回路であ
り、12は例外予測回路であり、30はFP例外検出回
路であり、70は演算回路Aであり、71は演算回路B
であり、80は演算例外検出回路であり、90は演算例
外予測回路である。
【0050】記憶回路60とFP演算回路A40とFP
演算回路B41とFP例外検出回路30と演算回路A7
0と演算回路B71と演算例外検出回路80とは従来の
技術の説明で説明されたと同一または同等の回路であ
る。
【0051】情報処理装置1は、図示されない入力装置
と図示されない出力装置とに接続され、記憶回路60
と、制御回路50と、FP演算回路A40と、FP演算
回路B41と、FP例外検出回路30と、演算回路A7
0と、演算回路B71と、演算例外検出回路80と、F
P例外予測回路10と、演算例外予測回路90とから構
成され、図示されない入力装置から命令列と該命令列で
処理されるデータとが入力され、命令を複数のステージ
に分割し、同時に複数の命令を処理して図示去れない出
力装置に出力する装置であって、演算を2ステージに分
割して処理する装置である。
【0052】制御回路50は、記憶回路60とFP例外
予測回路10と演算例外予測回路90とFP例外検出回
路30と演算例外検出回路80とに接続され、記憶回路
60から複数の命令を読出して解釈し、記憶回路60か
らデータを読出して前記複数の命令の各々を実行する演
算回路に入力し、演算例外を予測する回路から演算例外
の発生を予測する通知を受けた場合にはその通知が先行
する命令と後続する命令のいずれの実行途中で予測され
たのか区別し、先行する命令で演算例外の発生が予測さ
れた場合には後続する命令の以降の処理を中止し、先行
する命令の処理を続行した結果演算例外の発生が通知さ
れた場合にはトラップルーチンへ分岐し、先行する命令
の処理を続行した結果演算例外の発生が通知されなかっ
た場合には後続する命令を再開し、先行する命令で演算
例外の発生が予測されず、後続する命令で演算例外の発
生が予測された場合には後続する命令の処理を続行し、
後続する命令の処理を続行した結果演算例外の発生が通
知された場合にはトラップルーチンへ分岐し、後続する
命令の処理を続行した結果演算例外の発生が通知されな
かった場合及び先行する命令で演算例外の発生が予測さ
れず、後続する命令で演算例外の発生が予測されなかっ
た場合には後続する命令に続く命令を続行する回路であ
る。
【0053】FP例外予測回路10は、記憶回路60と
FP演算回路A40と制御回路50とに接続され、演算
が加減算の場合に加減算例外を予測するパターン検出回
路11と例外予測回路12Aとから構成される組合せ
と、演算が乗除算の場合に乗除算例外を予測するパター
ン検出回路11と例外予測回路12Bとから構成される
組合せの2組の組合せがあって、例外予測回路12Aと
例外予測回路12Bとを総称して例外予測回路12と言
い、記憶回路60から入力された入力データとFP演算
回路A40の生成する演算途中の結果から浮動小数点演
算の演算例外の発生の有無を予測し、制御回路50に通
知する回路である。
【0054】演算例外予測回路90は、記憶回路60と
演算回路A70と制御回路50とに接続され、記憶回路
60から入力された入力データと演算回路A70の生成
する演算途中の結果から整数演算の演算例外の発生の有
無を予測し、制御回路50に通知する回路である。
【0055】パターン検出回路11は、記憶回路60
と、例外予測回路12とに接続され、図3に示されるよ
うに、入力1と入力2の各々について、指数が255で
仮数の最上位ビット(以下、「MSB」と略す)が
“0”であり、かつ仮数の他のビットは全てが“0”で
はない場合に1を出力するSNaN生成回路21A及び
21Bと、指数が0で仮数の全てのビットが“0”では
ない場合に1を出力する非正規化数生成回路22A及び
22Bと、指数が255で仮数の全てのビットが“0”
の場合に1を出力する無限大生成回路23A及び23B
と、指数が0で仮数の全てのビットが“0”の場合に1
を出力するゼロ生成回路24A及び24Bと、入力1と
入力2の符号ビットを比較し、同符号の場合に1となる
入力同符号信号と異符号の場合に1となる入力異符号信
号とを生成する符号比較回路29と、から構成される回
路である。
【0056】例外予測回路12は、演算が加減算の場合
と乗除算の場合とで異なり、演算が加減算の場合には図
4に示される加減算例外予測回路12Aで構成され、演
算が乗除算の場合には図5に示される乗除算例外予測回
路12Bで構成される回路である。
【0057】加減算例外予測回路12Aは、入力1SN
aN信号が1か、入力2SNaN信号が1か、入力1非
正規化数信号が1か、入力2非正規化数信号が1か、入
力1無限大信号と入力2無限大信号が共に1で入力同符
号信号が1の減算命令か、入力1無限大信号と入力2無
限大信号が共に1で入力異符号信号が1の加算命令か、
指数データが254以上の場合か、指数データが31位
かの場合か、指数データが158位かの単精度整数変換
命令の場合に加減算例外予測信号が1となる回路であ
る。
【0058】乗除算例外予測回路12Bは、入力1ゼロ
信号と入力2ゼロ信号が共に1か、入力1無限大信号と
入力2無限大信号が共に1か、入力1SNaN信号また
は入力2SNaN信号が1か、入力1非正規化数信号ま
たは入力2非正規化数信号が1か、指数データが254
以上か、指数データが0以下の場合に乗除算例外予測信
号が1となる回路である。
【0059】演算例外予測回路90は、記憶回路60と
演算回路A70と制御回路50とに接続され、演算回路
A70及び演算回路B71により演算された結果演算例
外が生じるか否かを予測し、制御回路50に通知する回
路である。
【0060】以下、図2〜図7を参照しながら、先行す
る命令が浮動小数点命令で後続する命令が整数命令であ
って、浮動小数点命令の入力データが演算例外を生じる
データパターンの場合について説明する。
【0061】第1ステージでは、あらかじめ制御回路5
0により記憶回路60から読み出された入力データを入
力としてFP演算回路A40では先行する浮動小数点演
算の第1段階の処理が行われて中間結果が保持され、演
算回路A70では後続する整数演算の第1段階の処理が
行われて中間結果が保持される。
【0062】このとき、パターン検出回路11でも浮動
小数点演算回路A40に入力されたデータと同一のデー
タを入力データとして入力データのデータパターンを示
す信号が生成され、例外予測回路12に送出され、例外
予測回路12では前記データパターンを示す信号と浮動
小数点演算回路A40で生成される指数データとから演
算例外の予測が行われ、演算例外の発生が予測される場
合には制御回路50に例外予測信号が送出され、演算例
外予測回路90でも演算回路A70に入力されたデータ
と同一のデータと、演算回路A70で生成される演算途
中のデータとから演算例外の予測が行われ、演算例外の
発生が予測される場合には制御回路50に例外予測信号
が送出される。
【0063】制御回路50では、FP例外予測回路10
と演算例外予測回路90から演算例外発生の予測結果が
通知されると、先行する命令で演算例外の発生が予測さ
れたのか、後続する命令で演算例外の発生が予測された
のか区別され、先行する命令で演算例外の発生が予測さ
れた場合には、後続する命令の第2ステージ以降の処理
を中止し、先行する命令では演算例外の発生が予測され
なかった場合には処理を続行する。
【0064】第2ステージでは、先行する浮動小数点命
令に関しては、前記FP演算回路A40により第1段階
の処理が行われた結果得られた中間結果を入力として、
FP演算回路B41により浮動小数点演算の第2段階の
処理が行われ、結果がFP例外検出回路30に出力さ
れ、FP例外検出回路30により演算例外発生の有無が
判定されFP演算回路B41と制御回路50とに通知さ
れ、後続する整数命令は、第1ステージで先行する浮動
小数点命令で演算例外の発生が予測された場合は処理を
中止し、第1ステージで先行する浮動小数点命令で演算
例外の発生が予測されなかった場合には、前記演算回路
A70により第1段階の処理が行われた結果得られた中
間結果を入力として、演算回路B71により整数演算の
第2段階の処理が行われ、結果が演算例外検出回路80
に出力され、演算例外検出回路80により演算例外発生
の有無が判定され演算回路B71と制御回路50とに通
知される。
【0065】次いで、FP演算回路B41と演算回路B
71では演算例外の有無の通知に対応した最終結果が生
成され、一方、制御回路50ではFP例外検出回路30
から演算例外検出の通知があった場合にはトラップルー
チンへ分岐し、第1ステージで浮動小数点命令で演算例
外の発生が予測されていたにも係わらずFP例外検出回
路30から演算例外検出の通知がない場合には後続の整
数命令を再起動し、第1ステージで浮動小数点命令では
演算例外の発生が予測されておらず、整数命令で演算例
外の発生が予測されいた場合で、演算例外検出回路80
から演算例外発生の通知があった場合にはトラップルー
チンへ分岐し、整数命令で演算例外発生の通知がなかっ
た場合には、処理を続行する。
【0066】
【発明の効果】以上説明した実施の形態においては、先
行する命令を浮動小数点命令とし、後続する命令を整数
命令としているが、先行する命令も後続する命令も共に
浮動小数点命令(例えば、浮動小数点加算命令と浮動小
数点乗算命令)であっても良く、また命令を処理する回
路を浮動小数点演算回路と演算回路の2種としているが
3種以上あっても良く、また、第1ステージと第2ステ
ージの2つのステージで処理するものとして説明してい
るが、3つ以上のステージで処理しても良い。
【0067】以上説明したように、本発明によれば浮動
小数点命令の処理の最初のステージである第1ステージ
で、入力データと演算の途中結果とから、浮動小数点演
算と同時に演算例外の発生を予測し、同時に実行される
別の命令の第2ステージ以降の処理を中止し、最後のス
テージである第2ステージで演算例外が発生しないこと
が判明した場合に第2ステージに続く次のステージで処
理を再開でき、最後のステージである第2ステージで演
算例外が発生したことが判明した場合にもあらかじめト
ラップルーチンへの分岐の準備をしておくことができる
ため、処理の先取りによる性能向上が出来るという効果
があり、しかも、第2ステージで演算に要する回路遅延
時間を経過し、演算例外の発生検出に要する回路遅延時
間を経過した後に、更に先行命令で演算例外を検出した
のか後続命令で演算例外を検出したのか区分するための
回路遅延時間を必要とすることが無くなるため、第2段
階の処理に要する回路遅延時間を短縮することが出来、
装置のサイクルタイムを短縮出来るという効果があり、
情報処理装置の性能向上を、処理の先取りとサイクルタ
イム短縮とにより、大幅な回路量の増加無しに達成する
ことが出来るという著しい工業的効果がある。
【図面の簡単な説明】
【図1】 本発明の原理図
【図2】 本発明の第1の実施の形態構成図
【図3】 本発明の第1の実施の形態パターン検出回路
構成図
【図4】 本発明の第1の実施の形態例外予測回路構成
図(その1)
【図5】 本発明の第1の実施の形態例外予測回路構成
図(その2)
【図6】 本発明の第1の実施の形態タイムチャート図
【図7】 浮動小数点例外検出回路構成図
【図8】 従来例の構成図
【図9】 従来例のタイムチャート図
【符号の説明】
1,1’ 情報処理装置 2 浮動小数点例外予測手段(FP例外予測手段) 3 浮動小数点例外検出手段(FP例外検出手段) 4 浮動小数点演算手段(FP演算手段) 5 制御手段 6 記憶手段 7 演算手段 8 演算例外検出手段 9 演算例外予測手段 10 浮動小数点例外予測回路(FP例外予測回路) 11 パターン検出回路 12 例外予測回路 12A 加減算例外予測回路 12B 乗除算例外予測回路 30 浮動小数点例外検出回路(FP例外検出回路) 40 浮動小数点演算回路A(FP演算回路A) 41 浮動小数点演算回路B(FP演算回路B) 50,50’ 制御回路 60 記憶回路 70 演算回路A 71 演算回路B 80 演算例外検出回路 90 演算例外予測回路 21A,21B SNaN生成回路 22A,22B 非正規化数生成回路 23A,23B 無限大生成回路 24A,24B ゼロ生成回路 29 符号比較回路 31 無効演算検出回路 32 非サポート演算検出回路 33 結果不正確例外検出回路 34 オーバフロー検出回路 35 アンダフロー検出回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大山 眞一 神奈川県横浜市港北区新横浜2丁目3番9 号 富士通ディジタル・テクノロジ株式会 社内

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 データ及び命令列が保持される記憶手段
    と、 記憶手段から読み出されたデータが入力され、複数下位
    の処理に分割された一連の演算を実行し結果を記憶手段
    に送出する演算手段と、 記憶手段から読み出されたデータが入力され、複数下位
    の処理に分割された一連の浮動小数点演算を実行し結果
    を記憶手段に送出する浮動小数点演算手段と、 演算手段の生成する演算結果から演算例外を検出し制御
    手段に通知する演算例外検出手段と、 浮動小数点演算手段の生成する演算結果から演算例外を
    検出し制御手段に通知する浮動小数点例外検出手段と、 演算例外検出手段と浮動小数点例外検出手段とから通知
    された演算例外に基づき、命令の実行を制御する制御手
    段とから構成され、 複数の処理単位に分割された連続する複数の命令を同時
    に実行する情報処理装置であって、 記憶手段と浮動小数点演算手段と制御手段とに接続さ
    れ、浮動小数点演算手段にデータが入力される際に同一
    のデータが入力され、浮動小数点演算手段の演算途中結
    果が入力されて浮動小数点演算の演算例外を予測し、制
    御手段に通知する浮動小数点例外予測手段を有し、 先行する浮動小数点命令で演算例外が予測された場合に
    後続する命令の処理を中断することを特徴とする情報処
    理装置。
  2. 【請求項2】 浮動小数点例外検出手段により演算例外
    が検出された場合には中断された後続する命令の処理を
    中止し、演算例外が検出されなかった場合には中断され
    た後続する命令を再開することを特徴とする請求項1に
    記載の情報処理装置。
  3. 【請求項3】 浮動小数点例外予測手段により、入力デ
    ータに依存する定義出来ない演算の実行が指示されてい
    ることが予測された場合、無効演算の演算例外として同
    時に実行されている後続する命令の処理を中断すること
    を特徴とする請求項1に記載の情報処理装置。
  4. 【請求項4】 浮動小数点例外予測手段により、入力デ
    ータで演算した場合に丸め処理を行わないと所定のフォ
    ーマットでは結果が表示出来ないことが予測された場
    合、結果不正確の演算例外として同時に実行されている
    後続する命令の処理を中断することを特徴とする請求項
    1に記載の情報処理装置。
  5. 【請求項5】 浮動小数点例外予測手段により、入力デ
    ータで演算した場合に所定のフォーマットではオーバフ
    ローが生じることが予測された場合、オーバフローの演
    算例外として同時に実行されている後続する命令の処理
    を中断することを特徴とする請求項1に記載の情報処理
    装置。
  6. 【請求項6】 浮動小数点例外予測手段により、入力デ
    ータで演算した場合に所定のフォーマットではアンダフ
    ローが生じることが予測された場合、アンダフローの演
    算例外として同時に実行されている後続する命令の処理
    を中断することを特徴とする請求項1に記載の情報処理
    装置。
JP8019705A 1996-02-06 1996-02-06 情報処理装置 Pending JPH09212363A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8019705A JPH09212363A (ja) 1996-02-06 1996-02-06 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8019705A JPH09212363A (ja) 1996-02-06 1996-02-06 情報処理装置

Publications (1)

Publication Number Publication Date
JPH09212363A true JPH09212363A (ja) 1997-08-15

Family

ID=12006702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8019705A Pending JPH09212363A (ja) 1996-02-06 1996-02-06 情報処理装置

Country Status (1)

Country Link
JP (1) JPH09212363A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438680B1 (en) 1999-01-19 2002-08-20 Mitsubishi Denki Kabushiki Kaisha Microprocessor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438680B1 (en) 1999-01-19 2002-08-20 Mitsubishi Denki Kabushiki Kaisha Microprocessor

Similar Documents

Publication Publication Date Title
US5339266A (en) Parallel method and apparatus for detecting and completing floating point operations involving special operands
EP0331372B1 (en) Method of and apparatus using floating point execption signals for controlling several processors
JPH0792739B2 (ja) 浮動小数点データ正規化方式
JPS633337B2 (ja)
US5136536A (en) Floating-point ALU with parallel paths
US5341320A (en) Method for rapidly processing floating-point operations which involve exceptions
JPH09212363A (ja) 情報処理装置
WO1992022027A1 (en) Divider
US5313600A (en) System for controlling the number of data pieces in a queue memory
TWI733214B (zh) 低功耗加法器電路
JP3229057B2 (ja) 例外処理装置
JP3555881B2 (ja) 演算回路とそのエラー検出方法
JP3612248B2 (ja) 固定小数点演算回路
JPH0683019B2 (ja) ディジタル信号処理プロセッサ
JPH09223016A (ja) 演算処理方法および演算処理装置
US7395296B2 (en) Circuitry and method for performing non-arithmetic operations
JPH0512007A (ja) データ処理方式
JPH02309423A (ja) パイプラインプロセッサにおける実効アドレス計算制御方式
JPH02148140A (ja) 情報処理装置における条件分岐制御方式
JP2903529B2 (ja) ベクトル演算方式
JPH06332698A (ja) 情報処理装置
JP2001188670A (ja) 演算装置
JP2006252287A (ja) 演算方法、プログラムおよび演算装置
JPH09106344A (ja) パイプライン処理装置
JP2000305782A (ja) 演算装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031014