JPH05143320A - 浮動小数点演算方式および浮動小数点演算装置 - Google Patents

浮動小数点演算方式および浮動小数点演算装置

Info

Publication number
JPH05143320A
JPH05143320A JP3332637A JP33263791A JPH05143320A JP H05143320 A JPH05143320 A JP H05143320A JP 3332637 A JP3332637 A JP 3332637A JP 33263791 A JP33263791 A JP 33263791A JP H05143320 A JPH05143320 A JP H05143320A
Authority
JP
Japan
Prior art keywords
processing
post
floating
register
floating point
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
JP3332637A
Other languages
English (en)
Inventor
Norio Nakagawa
典夫 中川
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3332637A priority Critical patent/JPH05143320A/ja
Priority to KR1019920020896A priority patent/KR930010715A/ko
Publication of JPH05143320A publication Critical patent/JPH05143320A/ja
Pending 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

Abstract

(57)【要約】 【目的】 スループットが高く、しかも少ないハードウ
ェアの規模で後処理を行える浮動小数点演算プロセッサ
を提供する。 【構成】 コマンドの指示に従って、加算、減算等の浮
動小数点演算を行い、その後に丸め、正規化、例外検出
等の後処理を行って演算結果を得る浮動小数点演算装置
において、後処理の要/不要を判定して不要の場合には
後処理を省略するようにした。 【効果】 通常の演算処理において後処理が必要なのは
全体の数パーセントであるため、後処理を省略すること
により、システム全体のスループットが大幅に向上す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はデータ処理技術さらには
浮動小数点演算方式に適用して有効な技術に関し、例え
ば浮動小数点の仮数部と指数部について演算を行い、そ
の後に丸め、正規化、例外検出等の後処理を行って演算
結果を得る浮動小数点演算プロセッサに利用して有効な
技術に関する。
【0002】
【従来の技術】浮動小数点演算に関する仕様を規定する
IEEE754規格では、加算、減算等の演算を行った
後、切り捨て、切り上げ、四捨五入等の丸め処理や、仮
数部の最上位ビットが1になるように指数部と仮数部の
関係を調整する正規化処理、オーバーフロー、アンダー
フロー等の発生を検出して割込みをかけたりフラグ等に
反映したりする例外検出処理を行うべきことが決められ
ている。これらの規格に厳密に従うように作られた浮動
小数点演算プロセッサ(以下、FPUと称する)として
図10に示すような構成のFPUが開発されている(日
経エレクトロニクス、1988年12月12日号、N
o.462、第207頁〜第217頁)。
【0003】すなわち図10のFPUは、バス制御部B
CUとフォーマット変換部FCUと浮動小数点演算部E
CUとパイプライン管理部PMUとから構成されてい
る。上記バス制御部BCUは、外部とのインターフェー
スに必要な信号を生成してバス制御を行うブロックで、
命令に応じて図示しない外部のCPU(マイクロプロセ
ッサ)とのハンドシェークの手順(プロトコル)を実行
するプロトコル制御論理部11と、フォーマット変換部
の入出力データと外部メモリ上のデータの並び方との整
合をとるデータ・アライナ12とからなる。
【0004】フォーマット変換部FCUは、データ入力
時にはFPUの各データ・フォーマット(整数3種、浮
動小数点3種)を、内部で使用するデータ・フォーマッ
トに変換するとともに、データ出力時には内部のデータ
・フォーマットから指定の外部データ・フォーマットに
変換する変換回路21と、その制御論理部22とからな
る。浮動小数点演算部ECUは、浮動小数点演算を実行
するユニットで、浮動小数点データ・レジスタ31、仮
数算術演算回路32、乗算器33、指数算術演算回路3
4、初等関数の演算などに使う定数ROM35およびマ
イクロプログラムROM36等から構成される。また、
浮動小数点演算部ECUにはIEEE規格で規定されて
いる+/−無限大、+/−、非数(not−a−num
ber)といった特有のデータ・タイプの数を扱うた
め、これに使うタグ論理演算回路37も含む。
【0005】パイプライン管理部PMUは、上記バス制
御部BCUとフォーマット変換部FCU、浮動小数点演
算部ECUの動作状況と、CPUからのアクセスの有無
を各マシン・サイクルごとに監視して、最適なスケジュ
ーリングを行うための制御を担当する。また、パイプラ
イン管理部PMUは、例外発生時の処理に備えて、命令
コードや命令アドレスなどの演算の履歴情報を管理する
3個の命令レジスタIR1〜IR3を備える。
【0006】上記FPUにおける演算の処理はCPUか
ら発行されるコマンドで行われる。FPUの管理部PM
Uがコマンドを受け取りデコードすることにより形成さ
れた制御信号に従って浮動小数点数を保持する浮動小数
点レジスタ31から出力されたデータは演算器32〜3
4に入力されて演算される。また、図示しないが、上記
FPUにあっては、フォーマット変換部FCU中に演算
結果を見て切り捨て、切り上げ、四捨五入等の処理を行
う丸め回路や仮数部の表示が1/2から1の範囲になる
よう、すなわち仮数部の最上位ビットが1になるように
指数部との間で調整を行う正規化回路およびオーバーフ
ロー、アンダーフロー等の検出を行う後処理情報検出回
路が設けられている。
【0007】図9は上記従来のFPUにおけるパイプラ
イン処理の様子を示したものである。コマンドのデコー
ド処理DECに1サイクル、浮動小数点レジスタからの
データ読み出しから演算器での演算処理EXECまでの
1サイクル、丸め回路での丸め処理ROUNDで1サイ
クル、正規化回路での正規処理NORMで1サイクル、
浮動小数点レジスタFRGへの結果の書き込み処理ST
OREで1サイクル合計5サイクルで完了していた。ま
た、後処理情報検出回路での後処理情報検出処理DET
ECTは正規化処理NORMのタイミングに重ねて実行
されていた。さらに、パイプライン処理を行う場合に
は、前のコマンドによる演算結果を次のコマンドで使用
する場合にデータコンフリクト(競合)のチェックおよ
びコンフリクト発生時の対策が必要になる。この処理は
コマンドの重なりが大きいほど複雑となるので、上記F
PUでは図9のようにデータストア処理STOREと演
算処理EXECを重ねるようにしていた。
【0008】
【発明が解決しようとする課題】従来のFPUは上記の
ように後処理を行うための回路を演算器とは別に持って
おり、パイプラインのタイミングも後処理を組み込んだ
ものになっていた。しかし、これら後処理のための回路
の規模は演算器本体と同程度に大きくなってしまうの
で、例えばFPUをマイクロプロセッサと同一のチップ
上に搭載してワンチップ化しようとした場合、面積の点
から制約を受けるため必ずしも十分な量のハードウェア
を投入することができない。また、面積上の制約を受け
ない場合でも、ハードウェアの量を増やすとこれに伴っ
て論理段数や負荷容積が増大するため、特に高速のプロ
セッサを実現しようとする場合に、後処理回路を設けた
ことが原因となって動作可能なクロック周波数が低下す
るという問題が生じる。本発明は上記のような問題点を
解決するためになされたもので、その目的とするところ
は、スループットが高く、しかも少ないハードウェアの
規模で後処理を行える浮動小数点演算プロセッサを提供
することにある。本発明の他の目的と新規な特徴につい
ては、本明細書の記述および添付図面から明かになるで
あろう。
【0009】
【課題を解決するための手段】本発明は上記目的を達成
するため、コマンドの指示に従い、加算、減算等の演算
を行ない、その後に丸め、正規化、例外検出等の後処理
を行なって演算結果を得る浮動小数点演算方式におい
て、後処理の要/不要を判断して不要な場合には後処理
を省略するようにしたものである。また、演算器による
演算結果を一時的に蓄えておく一時レジスタと、後処理
が必要かどうかを判定する判定部と、判定部の判定結果
に従い一時レジスタの内容を浮動小数点レジスタに転送
するか、演算器に転送するかを切り替えるスイッチ手段
とを設けるようにした。
【0010】
【作用】上記手段によれば、通常の演算処理において後
処理が必要なのは全体の数パーセントであるため、後処
理を省略することにより、システム全体のスループット
が大幅に向上する。また、後処理を浮動小数点演算に使
用した演算器を使って実行できるためハードウェアの規
模を減少させることができる。
【0011】
【実施例】以下、本発明の実施例を図面に従って詳細に
説明する。図1は本発明を浮動小数点演算プロセッサF
PUとマイクロプロセッサCPUを同一の半導体チップ
上に搭載したプロセッサに適用した場合の、実施例の概
略構成図である。ただし、FPUは単独のコプロセッサ
として構成してもよい。この実施例では、CPUにはア
ドレスバスABおよびデータバスDBを介して外部メモ
リMMや入出力用チップI/Oが接続されており、CP
Uは外部メモリMM中に格納されているプログラムに従
って動作する。
【0012】一方、FPUはCPUからコードの形でコ
マンドを受け取り、この指令に従って動作する。CPU
とFPUとの間の信号線の主なものを示すと、CPUか
らFPUにコマンドを送るコマンドバスCMDB、CP
UとFPUの間でデータを転送する浮動小数点データバ
スFDB、FPUからCPUに例外情報(割込み情報を
含む)を送る例外情報線EXCPがある。
【0013】図2は上記FPUの構成例を示すブロック
図である。FPUは、CPUからコマンドCMDを受け
取りマイクロプログラム格納メモリROMアドレスを生
成するROMアドレス発生部RAG、浮動小数点演算制
御及び関連する制御を行うためのマイクロプログラムを
格納するマイクロプログラム格納メモリμ−ROM、浮
動小数点演算を実行し演算データを保持する浮動小数点
演算部FEB、上記メモリμ−ROMの出力を受けて浮
動小数点演算部FEBに対する制御信号を発生するデコ
ード部DECとから構成されている。またデコード部D
EC内には例外発生時にセットされる例外フラグFex
と、CPUに対する割込み発告を知らせるための例外情
報レジスタRexが設けられている。
【0014】次にFPUの動作を説明する。コマンドバ
スCMDBを介してCPUから送られてきたコマンドは
ROMアドレス発生部RAGに入力され、ここで対応す
るマイクロプログラムアドレスMPAが決定される。マ
イクロプログラム格納メモリμ−ROMはマイクロプロ
グラムアドレスMPAに対応するマイクロ命令MIを出
力し、デコード部DECに転送する。デコード部DEC
ではマイクロ命令MIをデコードし、演算部FEBをシ
ーケンシャルに動作させる制御信号CNTLを作成す
る。このようにして、CPUからのコマンドで指示され
た演算が浮動小数点演算部FEBで開始されることにな
る。
【0015】一方、マイクロプログラム格納メモリμ−
ROMは、マイクロプログラムの出力の一部、あるいは
マイクロプログラムの出力から生成される信号である次
のサイクルのマイクロプログラムアドレス指定信号NM
PAをROMアドレス発生部RAGに送り、次に実行す
るべきマイクロプログラム命令のアドレスMPAを指定
する。また浮動小数点演算部FEBからはROMアドレ
ス発生部RAGに対して後処理情報INFが送出され
る。この情報によってROMアドレス発生部RAGは後
処理が必要かどうかを判定し、マイクロプログラムアド
レスMPAを変換して、マイクロプログラムを後処理ル
ーチンに分岐させる操作を行なう。逆にROMアドレス
発生部RAGからはデータのコンフリクトが発生してい
るかどうかを示すコンフリクト信号CONFが浮動小数
点演算部FEBに送出される。浮動小数点演算部FEB
ではこのコンフリクト信号CONFを見てデータの流れ
を制御する。このデータの流れについては後に詳しく説
明する。
【0016】図3は上記ROMアドレス発生部RAGの
構成を示すブロック図である。RAGは、CPUが送出
したコマンドCMDを取り込むコマンドキューCMDQ
と、コンフリクトチェック回路CNFCと、先頭アドレ
ス生成回路INITと、マイクロプログラムカウンタμ
PCとから構成されている。上記コマンドキーCMDQ
は4段階のレジスタQ1、Q2、Q3、Q4で構成され
ている。このうち実行中のコマンドを保持するのはレジ
スタQ2からQ4であり、第1レジスタQ1はこれらの
コマンドキューが詰まっているときに次に入ってきたコ
マンドを保持して待たせるためのものである。従って、
レジスタQ2が空いていれば、コマンドはレジスタQ2
にセットされる。レジスタQ2はパイプラインの第1ス
テージ即ち演算実行ステージに対応する。同様にレジス
タQ3はパイプラインの第2ステージ即ち後処理情報検
出ステージ、レジスタQ4はパイプラインの第3ステー
ジ即ちデータ格納ステージに対応する。
【0017】一方、先頭アドレス生成回路INITは上
記レジスタQ2の出力を受けてコマンドの内容に対応し
たマイクロプログラム先頭アドレスを生成しマイクロプ
ログラムカウンタμPCにセットする。従って、コマン
ドの最初のマイクロプログラムアドレスMPAは、先頭
アドレス生成回路INITで生成したアドレスとなる。
基本的なコマンド実行は演算、後処理情報検出、データ
の格納の3ステージで終了し、これに対応するマイクロ
プログラムは先頭アドレス生成回路INITのアドレス
で指定される1つのマイクロ命令で完結する。
【0018】しかし、後処理を必要とする場合、あるい
は複雑な演算処理を含むコマンドでは複数のマイクロ命
令が順次読み出されて実行される。マイクロプログラム
が1命令で完結するか、複数命令必要とするかはマイク
ロプログラム格納メモリROMから読み出されたマイク
ロ命令の中に記述されており、複数命令必要とする場合
にはマイクロプログラムアドレス指定信号NMPAによ
って次の命令アドレスをマイクロプログラムカウンタμ
PCに知らせる。また、1命令で完結するコマンドの場
合には、演算部FEBから出力される後処理情報INF
に基づいてマイクロプログラムカウンタμPCの値を変
更するようになっている。
【0019】コンフリクトチェック回路CNFCは上記
コマンドキーCMDQ内のレジスタQ2、Q3、Q4内
の各コマンドが指定しているレジスタ番号を比較し、レ
ジスタ間のコンフリクトが生じるかどうかを判定する。
そして、その判定結果を示すコンフリクト信号CONF
を浮動小数点演算部FEBに連絡して、後にも詳しく説
明するように、一時レジスタから演算器に直接データを
転送する等の流れの変更を行う。図4は浮動小数点演算
部FEBの構成例を示すブロック図である。
【0020】同図において、FRGは浮動小数点データ
を保持する例えば16本のレジスタからなる浮動小数点
レジスタで、一般にはコマンドコードの中のオペランド
指数フィールドで明示的に指定される。また、FAUは
浮動小数点レジスタFRGの出力をXバス及びYバスか
ら入力し演算する浮動小数点演算器、TRGは演算器F
AUでの演算結果を一時保持する一時レジスタ、EXD
は演算結果を見て後処理が必要か否かを判断する後処理
情報判定回路である。この実施例では、後処理が不要な
場合には図7に示すように演算EXEC、後処理情報検
出DETECT、データ格納STOREの3ステージで
終了する。演算実行ステージEXECは浮動小数点レジ
スタFRGからデータを読み出し浮動小数点演算器FA
Uで演算するまでの期間である。浮動小数点演算器FA
Uで演算された結果は、次の後処理情報検出ステージD
ETECTで一時レジスタTRGに格納される。また同
時にこのステージで後処理情報判定回路EXDにより後
処理が必要かどうか判定する。
【0021】後処理が必要な場合としては、切り上げを
行う場合、正規化を行う場合、及びオーバーフロー/ア
ンダーフロー等の発生に伴い結果に特定の処理を施した
りCPUに例外発生を知らせる場合がある。後処理を必
要とするかどうかは、後処理情報信号INFによってR
OMアドレス発生部RAGに通知される。次の格納ステ
ージSTOREは通常は一時レジスタTRGのデータを
浮動小数点レジスタFRGに転送し書き込むステージで
ある。
【0022】一方、後処理を必要とする場合には、コマ
ンドが完結していないため演算結果を浮動小数点レジス
タFRGに書き込むことはできない。また、例外が発生
した場合には、コマンド再実行を可能とするため同様に
演算結果を浮動小数点レジスタFRGに書き込むことは
できない。これらの状況は後処理情報判定回路EXDに
よって判定されデコード部DECに通知され、浮動小数
点レジスタFRGへの書き込みを禁止する。この実施例
では、後処理を必要とする場合には一時レジスタTRG
のデータを浮動小数点演算器FAUに転送し演算器FA
Uを使って後処理を行うようになっている。このために
演算器FAUの入出力端子間と、一時レジスタTAGと
バスY、Wとの間にそれぞれゲートG1、G2、G3を
設け、データスイッチ制御回路SWCによりその切換制
御を行うようにしてある。
【0023】データスイッチ制御回路SWCは、後処理
情報INFを受けて、後処理が不要な場合には書き込み
バスであるWバスへのゲートG3をオンにして浮動小数
点レジスタFRGへの書き込みを行う。また、後処理が
必要な場合にはYバスへのゲートG2をオンにして浮動
小数点演算器FAUへの転送を行う。また、データスイ
ッチ制御回路SWCはこの他のコンフリクト信号CON
Fに従ってゲートG1を制御して、浮動小数点演算器F
AUの出力をそのまま入力へ戻すように制御を行う。ま
た、この実施例では、演算器FAUにおいて、データフ
ォーマットの変換も行うようになっている。
【0024】上記のようにこの実施例の浮動小数点演算
部は後処理のための丸めや正規化の専用回路を持たない
ため、ハードウェア量が少なくてすむ。一般に浮動小数
点演算において丸め、正規化等の後処理の必要となる演
算の割合はかなり小さく、演算の内容にもよるが1ない
し2%程度である。従って、後処理が不要な場合にそれ
を省略することににより、スループットが向上する。
【0025】図5は後処理情報判定回路EXDの構成例
を示したものである。浮動小数点演算器FAUから出力
されるデータFDTは一般の浮動小数点のデータフォー
マットに従っており、図に示すように符号部S、指数
部、仮数部の3つのフィールドで構成される。また、本
来の精度に対応したビット数のみで演算すると桁落ちが
発生するので、仮数部の下位ビットには桁落ちを避ける
ため拡張フィールドXが付加されている。浮動小数点演
算器FAUから出力されるこの他の情報としては、演算
の結果に基づいて検出されるオーバーフロー、アンダー
フローを表示するフラグFがある。
【0026】この実施例の後処理情報判定回路EXDに
は、FAUからの出力に基づいて後処理が必要かどうか
判定するため、フラグFを検査して例外処理が必要か否
か判定する例外判定手段51(例外処理が必要な場合、
フラグFには“1”がセットされている)と、仮数部の
最上位ビットを検査して演算結果が正規化されているか
否か判定する正規化判定手段52(演算結果が、正規化
されている場合、仮数部の最上位ビットは“1”であ
る)と、仮数部の拡張フィールドXの最上位ビットを検
査して丸め処理を必要とするか否か判定する丸め判定手
段53(丸め処理が必要な場合、拡張フィールドXの最
上部ビットは“1”である)と、これらの判定結果をエ
ンコードして2ビットの後処理情報INFを発生するエ
ンコーダ54とから構成されている。なお、上記説明で
は省いたが、コマンドあるいはモード等の制御によりこ
れらの処理の全てあるいは一部を抑制することも可能で
ある。各判定手段51〜53の出力をエンコードする代
わりに、そのまま後処理情報INFとしてもよい。
【0027】図6は、後処理の手順の一例を示したもの
である。この処理は、具体的にはROMアドレス発生部
RAG内のマイクロプログラムカウンタμPCでハード
ウェアによりマイクロプログラム分岐することにより複
数のマイクロ命令によって行われる。この処理が開始さ
れると、まず後処理情報INFを調べて後処理が必要で
あるか否か判定する(ステップS1)。そして、後処理
が必要なら、まず正規化処理が必要か判定する(ステッ
プS2)。ここでイエス(Y)ならステップS3で正規
化処理を行い、ノオ(N)なら丸め処理が必要か否か判
断する(ステップS4)。丸め処理は、浮動小数点演算
器FAUで切り上げ処理を行うことにより実行される
(ステップS5)。具体的には浮動小数点演算器FAU
で+1演算を行うことによって実現される。
【0028】ステップS3の正規化処理では、浮動小数
点演算器FAUによって仮数部対して左シフト処理を、
指数部に対しシフトビット数相応の加算を行うことによ
って実現される。また、ステップS4でノオのときは、
例外処理が必要と判定してステップS6へ移行してデコ
ード部DECの中にある例外フラグFexをセットする
とともに、CPUに対して割込みの発生とその種類を知
らせる例外情報レジスタRexをセットする(スッテプ
S7)。その後、ステップS1の後処理情報INFの判
定に戻り、後処理が不要となれば本ルーチンを終了して
コマンド処理に移る。
【0029】図7には通常動作時のパイプラインフロー
が示されている。前に説明したようにコマンドの実行は
演算実行ステージEXEC、後処理情報検出ステージD
ETECT、データ格納ステージSTOREの3つのス
テージにより行われる。演算実行ステージEXECは、
浮動小数点レジスタFRGからデータを読み出し浮動小
数点演算器FAUで演算を行うまでのステージである。
後処理情報検出ステージDETECTでは、後処理情報
検出回路EXDで演算結果を判定し、丸め、正規化、例
外の後処理が必要かどうか調べる。このときのデータは
一時レジスタTRGにセットしておく。次のデータ格納
ステージSTOREでは、後処理情報検出回路EXDか
らの後処理情報INFが後処理不要を示している場合、
データスイッチ制御回路SWの制御信号によりゲートG
3をオンにして一時レジスタTRGの内容をWバスを介
して浮動小数点レジスタFRGに書き込んでコマンドの
実行を完了する。
【0030】一方、次のコマンドは1ステージ遅れて前
のコマンドの後処理情報検出ステージDETECTに重
なるタイミングで演算実行ステージEXECが開始され
る。コンフリクトチェック回路CNFCではコマンドキ
ューCMDQの各レジスタQ2〜Q4の内容からコンフ
リクトの発生を検出し、データのバイパス処理を行う。
まずQ3のコマンド即ち第1のコマンドのデスティネー
ションレジスタ番号がQ2のコマンド即ち第2のコマン
ドのソースレジスタ番号と一致する場合、パイプライン
上では第1のコマンドの演算実行ステージEXECの出
力を第2のコマンドの演算実行ステージEXECの入力
として使用する必要がある。この情報はコンクリフト信
号CONFによってデータスイッチ制御SWCに供給さ
れ、ここから出力される制御信号によって浮動小数点演
算器FAUの出力側に設けられたバイパス用のゲートG
1をオンにしてバイパス処理を行う。
【0031】次に、Q4のコマンド即ち第1のコマンド
のデスティネーションレジスタ番号がQ2のコマンド即
ち第3のコマンドのソースレジスタ番号と一致する場
合、パイプライン上では第1のコマンドの後処理情報検
出ステージDETECTの出力を第3のコマンドの演算
実行ステージEXECの入力として使用する必要があ
る。この場合も上記と同様にしてゲートG2がオンとな
り一時レジスタTRGの内容が浮動小数点演算器FAU
に転送される。
【0032】図8には後処理を行う場合のパイプライン
フローが示されている。第1のコマンドの後処理情報検
出ステージDETECTにおいて後処理が必要であるこ
とが検出された場合、後処理情報信号INFはマイクロ
プログラムカウンタμPCに送られ、後処理ルーチンの
先頭アドレスがマイクロプログラムアドレスMPAにセ
ットされる。こうして後処理が開始される。この時同時
に後処理情報信号INFに従ってデコード部DEC内の
シーケンサが第2コマンドのキヤンセルを行う。
【0033】後処理ステージでは、データスイッチ制御
回路SWCがゲートG2をオンにして一時レジスタTR
Gの内容を浮動小数点演算器FAUに転送し、正規化の
場合にはシフト処理を、丸めの場合には+1の加算をそ
れぞれ行う。また例外要因の場合には対応するフラグを
セットし、CPUへの連絡の要否に応じて例外情報線E
XCPに例外の発生を知らせる信号を載せ後処理を完了
する。この図では丸めと正規化の両方が要求された場合
を示している。後処理が完了すると中断されていた第2
のコマンドが再度演算実行ステージEXECから開始さ
れる。
【0034】なお、後処理情報検出ステージDETEC
Tの次の空欄はマイクロ命令の読出に要するサイクルが
入るためである。以上説明したように上記実施例におい
ては、コマンドの指示に従って、加算、減算等の浮動小
数点演算を行い、その後に丸め、正規化、例外検出等の
後処理を行って演算結果を得る浮動小数点演算装置にお
いて、後処理の要/不要を判定して不要の場合には後処
理を省略するようにしたので、通常の演算処理において
後処理が必要なのは全体の数パーセントであるため、後
処理を省略することにより、システム全体のスループッ
トが大幅に向上するという効果がある。
【0035】また、演算器による演算結果を一時的に蓄
えておく一時レジスタと、後処理が必要かどうかを判定
する判定部と、判定部の判定結果に従い一時レジスタの
内容を浮動小数点レジスタに転送するか、演算器に転送
するかを切り替えるスイッチ手段とを設けるようにした
ので、後処理を浮動小数点演算に使用した演算器を使っ
て実行できるためハードウェアの規模を減少させること
ができるという効果がある。
【0036】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。例えば、上
記実施例では、演算部内のバスが3本で構成されている
が、2本あるいは4本以上のバス構成とすることも可能
である。
【0037】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。すなわち、浮動小数点演算プロセッサ
のハードウェア規模を減少させることができ、特に後処
理を不要とする通常処理の場合に最大限の性能を発揮
し、全体的にも十分な性能を得ることができる。
【図面の簡単な説明】
【図1】本発明に係わる浮動小数点演算方式を搭載した
プロセッサの概略構成図、
【図2】FPUの構成例を示すブロック図、
【図3】ROMアドレス発生部RAGの構成例を示すブ
ロック図、
【図4】浮動小数点演算ブロックFEBの構成例を示す
ブロック図、
【図5】後処理検出回路EXDの構成例を示すブロック
図、
【図6】後処理の手順の一例を示すフローチャート、
【図7】通常動作時のパイプラインフローを示すタイム
チャート、
【図8】後処理を行う場合のパイプラインフローを示す
タイムチャート、
【図9】従来のFPUにおけるパイプライン処理の様子
を示したタイムチャート、
【図10】従来のFPUの演算及び後処理に関するブロ
ック構成図である。
【符号の説明】
FPU 浮動小数点演算プロセッサ FRG 浮動小数点レジスタ FAU 浮動小数点演算器 RND 丸め回路 NRM 正規化回路 EXD 後処理情報検出回路 MM 外部メモリ CMDB コマンドバス CMDQ コマンドキュー FDB 浮動小数点データバス EXCP 例外情報線 μ−ROM マイクロプログラム格納メモリ RAG ROMアドレス発生部 INIT 先頭アドレス生成回路 μPC マイクロプログラムカウンタ DEC デコード部 FEB 浮動小数点演算部 CNFC コンフリクトチェック回路 TRG 一時レジスタ SWC データスイッチ制御回路 EXEC 演算実行ステージ DEDECT 後処理情報検出ステージ STORE データ格納ステージ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G06F 7/50 L 9291−5B 9/28 310 A 9193−5B 9/38 370 C 9290−5B

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】浮動小数点データを保持するレジスタと浮
    動小数点演算器とを備え、コマンドの指示に従って、加
    算、減算等の浮動小数点演算を行い、その後に丸め、正
    規化、例外検出等の後処理を行って演算結果を得る浮動
    小数点演算装置において、後処理の要/不要を判定して
    不要の場合には後処理を省略するようにしたことを特徴
    とする浮動小数点演算方式。
  2. 【請求項2】上記後処理を、上記浮動小数点演算器を使
    って実行するようにしたことを特徴とする第1項記載の
    浮動小数点演算方式。
  3. 【請求項3】上記請求項1の浮動小数点演算方式におい
    て、後処理が不要の場合には第1コマンドの演算サイク
    ルの次のサイクルで、第2のコマンドの演算を実行する
    ようにしたことを特徴とする浮動小数点演算方式。
  4. 【請求項4】浮動小数点データを保持するレジスタと浮
    動小数点演算器とを備え、演算器による演算結果を一時
    的に蓄えておく一時レジスタと、後処理が必要かどうか
    を判定する判定部と、判定部での判定結果に従い上記一
    時レジスタの内容を上記浮動小数点レジスタに転送する
    か、演算器に転送するかを切り替えるスイッチ機構とを
    備えた浮動小数点演算回路を有することを特徴とする浮
    動小数点演算装置。
JP3332637A 1991-11-21 1991-11-21 浮動小数点演算方式および浮動小数点演算装置 Pending JPH05143320A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3332637A JPH05143320A (ja) 1991-11-21 1991-11-21 浮動小数点演算方式および浮動小数点演算装置
KR1019920020896A KR930010715A (ko) 1991-11-21 1992-11-09 부동 소수점 연산방식 및 부동 소수점 연산장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3332637A JPH05143320A (ja) 1991-11-21 1991-11-21 浮動小数点演算方式および浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JPH05143320A true JPH05143320A (ja) 1993-06-11

Family

ID=18257185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3332637A Pending JPH05143320A (ja) 1991-11-21 1991-11-21 浮動小数点演算方式および浮動小数点演算装置

Country Status (2)

Country Link
JP (1) JPH05143320A (ja)
KR (1) KR930010715A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5929556U (ja) * 1982-08-18 1984-02-23 リンナイ株式会社 ガス器具の燃焼安全装置
JPH07287648A (ja) * 1994-04-20 1995-10-31 Kofu Nippon Denki Kk 浮動小数点演算装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5929556U (ja) * 1982-08-18 1984-02-23 リンナイ株式会社 ガス器具の燃焼安全装置
JPS6218837Y2 (ja) * 1982-08-18 1987-05-14
JPH07287648A (ja) * 1994-04-20 1995-10-31 Kofu Nippon Denki Kk 浮動小数点演算装置

Also Published As

Publication number Publication date
KR930010715A (ko) 1993-06-23

Similar Documents

Publication Publication Date Title
EP0740249B1 (en) Data processing device with coprocessor
JP3176093B2 (ja) マイクロプロセッサの割込み制御装置
JPH11219302A (ja) デ―タ・プロセッサにおいて後続の命令処理に影響を及ぼす方法および装置
US4251859A (en) Data processing system with an enhanced pipeline control
EP0316904A2 (en) Arithmetic processor performing mask and trap operations for exceptions
US4773035A (en) Pipelined data processing system utilizing ideal floating point execution condition detection
JPH01177127A (ja) 情報処理装置
US4677549A (en) Pipelined data processor system having increased processing speed
EP0497485A2 (en) Computer for implementing two-operand instructions
JP3822568B2 (ja) イベント処理
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
US5822557A (en) Pipelined data processing device having improved hardware control over an arithmetic operations unit
EP0437207B1 (en) Backward-compatible information processing system
EP0385136B1 (en) Microprocessor cooperating with a coprocessor
US5274792A (en) Information processing apparatus with parallel instruction decoding
US5247622A (en) Id processing dedicated scsi bus interface logic circuit
JPH05143320A (ja) 浮動小数点演算方式および浮動小数点演算装置
US5781433A (en) System for detecting failure in information processing device
US4991130A (en) Normalization control system for floating point arithmetic operation
JPH0267979A (ja) 半導体回路
JPS6236575B2 (ja)
JP3240660B2 (ja) データ処理装置
JPH02287625A (ja) シングルチップマイクロコンピュータ
JP2990800B2 (ja) 割込み処理装置
JPH07105001A (ja) 中央演算処理装置