JPH11161468A - 浮動小数点演算回路およびこの浮動小数点演算回路を備 えたコンピュータ - Google Patents

浮動小数点演算回路およびこの浮動小数点演算回路を備 えたコンピュータ

Info

Publication number
JPH11161468A
JPH11161468A JP9323401A JP32340197A JPH11161468A JP H11161468 A JPH11161468 A JP H11161468A JP 9323401 A JP9323401 A JP 9323401A JP 32340197 A JP32340197 A JP 32340197A JP H11161468 A JPH11161468 A JP H11161468A
Authority
JP
Japan
Prior art keywords
exponent
data
circuit
mantissa
floating
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
JP9323401A
Other languages
English (en)
Other versions
JP3293768B2 (ja
Inventor
Kenzo Yamada
謙三 山田
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.)
NIPPON DENKI FIELD SERVICE
NEC Fielding Ltd
Original Assignee
NIPPON DENKI FIELD SERVICE
NEC Fielding 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 NIPPON DENKI FIELD SERVICE, NEC Fielding Ltd filed Critical NIPPON DENKI FIELD SERVICE
Priority to JP32340197A priority Critical patent/JP3293768B2/ja
Publication of JPH11161468A publication Critical patent/JPH11161468A/ja
Application granted granted Critical
Publication of JP3293768B2 publication Critical patent/JP3293768B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 少ないハードウェア量で精度を落とすことな
く演算する。また、回路構成を簡易化し、論理構成を少
なくして、安価で信頼性を向上した装置とする。 【解決手段】 データ形式を識別する信号を分配するレ
ジスタ1と、指数のデータ幅に合った指数を選択する基
準指数選択回路12と、指数の差を求めて桁合わせ右シ
フト量を求めるシフト量算出回路13と、2個のデータ
の仮数部を格納するレジスタ7、8と、2個のデータの
仮数部のうちデータ形式における指数部の小さい方を桁
合わせが必要な仮数部とし他方を桁合わせが不要な仮数
部とする仮数選択回路15と、桁合わせが必要な仮数部
を右シフトして出力する桁合わせ右シフト回路16と、
桁合わせが必要な仮数部のシフト結果と桁合わせが不要
な仮数部との加算を行う加算回路18と、加算又は減算
結果を選択して出力する加算結果選択回路21と、選択
結果を正規化する正規化左シフト回路22を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は浮動小数点演算回路
およびこの浮動小数点演算回路を備えたコンピュータに
関し、特に複数の指数データ形式を扱う浮動小数点演算
回路およびこの浮動小数点演算回路を備えたコンピュー
タに関する。
【0002】
【従来の技術】コンピュータシステムで動作するデータ
形式は、図13に示すように、一般に3種の指数データ
形式がある。小型コンピュータ71で演算した個々の小
規模なIEEE指数データ形式74の浮動小数点演算デ
ータを、大型コンピュータ70を使用して総合演算結果
を求める場合、小型コンピュータ71で求めた個々の小
規模データを大型コンピュータで演算できる標準指数デ
ータ形式72又は拡張指数データ形式73に変換する必
要があるが、3種の指数データ形式のデータ幅が異なる
ことからデータ幅を合わせるために人手の介入が必要と
なることと、指数部データの桁落ちによるデータ精度の
極度の悪化のために変換が不可能な場合と、変換が可能
である場合でも小型コンピュータで求めた有効な仮数部
データがデータ変換により桁落ちし、演算結果の精度が
落ちるという問題点があった。
【0003】従来、この種の浮動小数点演算回路につい
て種々の技術が開示されている。例えば特開平5−12
7871号公報(浮動小数点データ変換方法及び装置)
に開示されたものは、浮動小数点データを変則処理部で
データ変換を制御し、データの変則を検出し、データの
変則内容を分析し、データ変換時に異常が発生した時の
再構成データを保存して数値精度を回復することを目的
として用いられている。
【0004】図14は特開平5−127871号公報に
記載された浮動小数点データ変換装置を示すブロック図
である。
【0005】図14によれば、プログラム記憶装置31
5は、データ変換を行うためのプログラムを記憶する。
【0006】プログラマブル制御部301は、変換アル
ゴリズム,回復データの保存,浮動小数点データアレイ
の分析,変換,分析動作の制御及び状態の表示選択を行
う。
【0007】繰り返し手段312は、前記プログラマブ
ル制御部301の制御及び状態表示の周期的な繰り返し
状態を表示する。
【0008】変換アルゴリズム302は、データ記憶装
置316より受けた浮動小数点値の変則処理を行う。
【0009】変則部検出手段306は、データ記憶装置
316より制御信号を受け、アルゴリズムを検出してデ
ータ記憶装置316に状態情報を送出する。
【0010】処理部状態決定手段317は、変則処理の
状態を決定する。
【0011】変則部カウンタ307は、保存回復データ
及び浮動小数点数記特性を蓄積する。
【0012】数値保存アルゴリズム308は、正しく構
成し直す変則値に対して有用な数値的属性を把握しかつ
保存する。データ記憶装置316は、データ状態情報を
記憶し、変換された浮動小数点数値を消失する。
【0013】次に、動作を説明する。
【0014】図14に示すプログラマブル制御部301
は、プログラム記憶装置315からシミュレート信号3
03で浮動小数点データ変換及び浮動小数点データの分
析動作の制御及び状態の表示を行い、繰り返し手段31
2では前記分析動作及び状態表示の周期的繰り返し状態
を表示し、データ記憶装置316へ変則検出信号313
を出力して記憶する。
【0015】変換部検出手段306は、データ記憶装置
316より状態情報を送出信号311で受けて浮動小数
点データの変則状態を検出し、その変則内容を処理部状
態決定手段317で分析し、分析結果を変換部検出手段
306を介して分配パス314に出力する。
【0016】変換アルゴリズム302は、データ記憶装
置316から浮動小数点データを浮動小数点受け信号3
04で受け取り、前記分配信号314に基づいて浮動小
数点データを変換し、データ変換が完了すると変換され
た浮動小数点値を消失する浮動小数点消失信号305を
データ記憶装置316へ出力して浮動小数点データの変
換を行う。
【0017】変則部カウンタ307は、前記分配パス3
14に基づいて浮動小数点データを分析するための変則
量表を信号310によりデータ記憶装置316へ出力す
る。
【0018】データ変換において異常が検出された場
合、保存回復データ及び浮動小数点数記特性を蓄積する
数値保存アルゴリズム308は、前記分配パス314に
基づいて数値の精度を回復し、データを構成し直すと消
失信号309をデータ記憶装置316へ出力することで
浮動小数点データの精度を確保する。
【0019】従来の、この種の浮動小数点演算回路の開
示例として、実開昭59−104244号公報(浮動小
数点フォーマット変換装置)に開示されたものは、指数
部と仮数部のデータパターンをそれぞれ個別に検出し、
パターンに基づき指数部用パターンコード信号と仮数部
用パターンコード信号を得、これらの信号によって前記
入力された浮動小数点データの指数部と仮数部とのデー
タパターンをそれぞれ変換すべきフォーマットに変換す
ることを目的として用いられている。
【0020】図15は実開昭59−104244号公報
に記載された浮動小数点データのフォーマット変換装置
を示すブロック図である。
【0021】図15によれば、上位CPU M1と演算
装置M2からの指数部データと仮数部データに入出力を
行う。
【0022】入力レジスタA1は上位CPU M1か
ら、入力レジスタA2は演算装置M2からの指数部及び
仮数部データを格納する。
【0023】指数部用データパターン検出器PDEと仮
数部用データパターン検出器PDFは、指数部及び仮数
部のデータパターンをそれぞれ検出する。
【0024】仮数部用変換コード発生器Gと指数部用変
換コード発生器Hは、コントロールレジスタLの制御情
報に基づいてデータ変換コードを発生させる。
【0025】指数部用データ変換器Cと仮数部用データ
変換器Dは、前記データ変換コードに基づいて指数部デ
ータと仮数部データを変換する。出力レジスタK1と出
力レジスタK2は、変換された指数部データと仮数部デ
ータを格納する。
【0026】次に、動作を説明する。
【0027】上位CPU M1及び演算装置M2より出
力されるそれぞれの指数部データと仮数部データは、入
力レジスタA1と入力レジスタA2に格納される。
【0028】指数部用データパターン検出器PDEと仮
数部用データパターン検出器PDFは、入力レジスタA
1,A2からのデータパターン検出信号により、指数デ
ータパターン及び仮数データパターンを検出し、検出し
たデータパターンを仮数部用変換コード発生器Gと指数
部用変換コード発生器Hに出力する。
【0029】仮数部用変換コード発生器Gと指数部用変
換コード発生器Hは、前記仮数部用データパターン検出
器PDFと指数部用データパターン検出器PDEから出
力されたデータパターンより仮数部用変換コードと指数
部用変換コードを発生させ、指数部用データ変換器Cと
仮数部用データ変換器Dにデータ変換コードを出力す
る。
【0030】前記データ変換コードに基づいて、仮数部
用データ変換器Dは入力レジスタA1及び入力レジスタ
A2からの仮数部データの変換を、指数部用データ変換
器Cは入力レジスタA1及び入力レジスタA2からの指
数部データの変換を行い、それぞれの結果を出力レジス
タK1と出力レジスタK2に出力して格納する。出力レ
ジスタK1は上位CPU M1へ、出力レジスタK2は
演算装置M2にデータ変換後の指数部と仮数部を出力し
て浮動小数点データの変換を行う。
【0031】
【発明が解決しようとする課題】上述した従来の浮動小
数点演算回路は、データパターンを検知し、データ変換
を行うことを目的とした大規模な専用ハードウェアを必
要とし、実装設計が複雑になり、安価な装置を提供する
ことが困難であるという問題点がある。
【0032】また、データパターンを検知し、データ変
換を行うことを目的としたハードウェアの論理構成が複
雑となり、汎用性に乏しく、論理変更が困難であるとい
う問題点がある。
【0033】本発明の目的は演算結果の精度を落とすこ
となく、小型・軽量化した少ないハードウェア量で浮動
小数点演算回路を提供することにある。
【0034】また、データ変換を行う専用の複雑な論理
を排除することにより、回路構成を簡易化し、必要とす
る論理構成を少なくして、安価で信頼性を向上した装置
を提供することにある。
【0035】
【課題を解決するための手段】本発明の浮動小数点演算
回路は、複数の指数データ形式を扱う浮動小数点演算回
路において、前記複数の指数データ形式を識別し、指数
データを指数部と仮数部とに分配し、識別した前記指数
データ形式に従って前記指数部と前記仮数部のデータ幅
を調整して加減算を行うことを特徴とする。
【0036】本発明の浮動小数点演算回路は、複数の指
数データ形式を扱う浮動小数点演算回路において、前記
複数の指数データ形式を識別し、指数データを指数部と
仮数部とに分配し、識別した前記指数データ形式に従っ
て前記指数部と前記仮数部のデータ幅を調整して乗算を
行うようにしてもよい。
【0037】本発明の浮動小数点演算回路は、複数の指
数データ形式を扱う浮動小数点演算回路において、前記
複数の指数データ形式を識別し、指数データを指数部と
仮数部とに分配し、識別した前記指数データ形式に従っ
て前記指数部と前記仮数部のデータ幅を調整して除算を
行うようにしてもよい。
【0038】本発明の浮動小数点演算回路は、複数の指
数データ形式を扱う浮動小数点演算回路において、前記
複数の指数データ形式を識別する信号を分配する手段
と、前記複数の指数データ形式の識別信号に基づいて指
数のデータ幅に合った指数を選択する基準指数選択回路
と、前記複数の指数データ形式を識別する信号に基づい
て指数の差を求めて桁合わせ右シフト量を求めるシフト
量算出回路と、第1のデータの仮数部が順次格納される
第1のレジスタと、第2のデータの仮数部が順次格納さ
れる第2のレジスタと、前記第1,第2のデータの仮数
部のうち前記複数の指数データ形式における指数部の小
さい方を桁合わせが必要な仮数部として出力し他方を桁
合わせが不必要な仮数部として出力する仮数選択回路
と、前記仮数選択回路から桁合わせが必要な仮数部が出
力されることにより前記第1,第2のデータの前記複数
の指数データ形式の指数部の差に応じたシフト量だけ桁
合わせが必要な仮数部を右シフトしてシフト結果を出力
する桁合わせ右シフト回路と、前記桁合わせ右シフト回
路から出力される前記桁合わせが必要な仮数部のシフト
結果と前記仮数選択回路から出力される桁合わせが不必
要な仮数部との加算を行って加算結果を出力する加算回
路と、演算命令が加算であるか減算であるかによって加
算結果又は減算結果を選択して選択結果を出力する加算
結果選択回路と、前記加算結果選択回路から出力された
前記選択結果を正規化する正規化左シフト回路とを備え
るようにしてもよい。
【0039】本発明の浮動小数点演算回路は、前記複数
の指数データ形式は、標準指数データ形式と拡張指数デ
ータ形式とIEEE指数データ形式の3種のうち、少な
くとも1種を含むようにしてもよい。
【0040】本発明のコンピュータは、複数の指数デー
タ形式を扱う浮動小数点演算回路を備えたコンピュータ
において、前記複数の指数データ形式を識別し、指数デ
ータを指数部と仮数部とに分配し、識別した前記指数デ
ータ形式に従って前記指数部と前記仮数部のデータ幅を
調整して加減算を行うことを特徴とする。
【0041】本発明のコンピュータは、複数の指数デー
タ形式を扱う浮動小数点演算回路を備えたコンピュータ
において、前記複数の指数データ形式を識別し、指数デ
ータを指数部と仮数部とに分配し、識別した前記指数デ
ータ形式に従って前記指数部と前記仮数部のデータ幅を
調整して乗算を行うようにしてもよい。
【0042】本発明のコンピュータは、複数の指数デー
タ形式を扱う浮動小数点演算回路を備えたコンピュータ
において、前記複数の指数データ形式を識別し、指数デ
ータを指数部と仮数部とに分配し、識別した前記指数デ
ータ形式に従って前記指数部と前記仮数部のデータ幅を
調整して除算を行うようにしてもよい。
【0043】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明のコ
ンピュータの構成を示すブロック図である。
【0044】図1を参照すると、コンピュータは科学演
算プログラムと科学演算データ及び科学演算命令を記憶
する主記憶装置100と、主記憶装置100より科学演
算プログラムを読み出し、命令を解析し、命令を実行
し、前記実行結果を主記憶装置100へ出力する科学演
算装置101と、科学演算装置101が解析した命令に
より外部装置103へ科学演算結果を入出力する入出力
制御装置102と、入出力制御装置102から送られて
くるデータを命令に従ってデータの入出力処理を行う外
部装置103とから構成される。
【0045】なお、図1において、L100〜L102
はそれぞれの装置を接続する信号を表している。
【0046】次に、図1の科学演算装置101の内部構
成について説明する。
【0047】命令発行制御回路54は、科学演算プログ
ラムを読み出し、命令を解析し、命令を実行し、浮動小
数点演算回路55に送られてくる命令のうちの加減算命
令を実行する浮動小数点加減算回路50と、乗算命令を
実行する浮動小数点乗算回路51と、除算命令を実行す
る浮動小数点除算回路52と、演算結果を選択して命令
発行制御回路54に出力する浮動小数点演算結果選択回
路53とから構成される。
【0048】なお、図1において、L300〜L307
はそれぞれの回路を接続する信号を表している。浮動小
数点演算回路55のうち、浮動小数点加減算回路50は
図1に示すように、命令発行制御回路54とL300〜
L303の信号線でそれぞれ接続される。
【0049】以下、浮動小数点加減算回路50を一例と
して詳細を示した図2を参照して説明する。浮動小数点
加減算回路50は、命令発行制御回路54からL302
により送られてくる第1の被加算符号データを格納する
レジスタ3と、第2の加算符号データを格納するレジス
タ4と、命令発行制御回路54と接続するL301によ
り送られてくる第1の被加算指数データを格納するレジ
スタ5と、第2の加算指数データを格納するレジスタ6
と、命令発行制御回路54と接続するL300により送
られてくる第1の被加算仮数データを格納するレジスタ
7と、第2の加算仮数データを格納するレジスタ8と、
命令発行制御回路54と接続するL303により送られ
てくる演算命令を格納するレジスタ2と、命令発行制御
回路54と接続するL303により送られてくる指数デ
ータ形式情報を格納するレジスタ1と、レジスタ5,6
の第1と第2の指数データの差を求めて小さい仮数デー
タを右シフトして桁合わせのためのシフト量を求めるシ
フト量算出回路13と、レジスタ5,6の第1と第2の
指数の大きさを比較して大きい指数を基準とする選択信
号を生成する指数大小比較回路14と、指数大小比較回
路14の出力結果に基づき大きい指数データを基準指数
として出力する基準指数選択回路12と、指数大小比較
回路14の出力結果に基づき大きい指数データの符号を
出力する中間符号生成回路11と、レジスタ2の演算命
令とレジスタ3,4の第1と第2の符号から演算する命
令を解析する命令解析回路9と、レジスタ7,8の第1
と第2の仮数データのうち、指数データが小さい方を桁
合わせの必要な仮数として、他方を桁合わせが不必要な
仮数データとして指数大小比較回路14の出力結果に基
づき該仮数データを出力する仮数選択回路15と、シフ
ト量算出回路13が出力する指数データの差に応じたシ
フト量だけ桁合わせが必要な仮数データを右シフトして
シフト結果を出力する桁合わせ右シフト回路16と、桁
合わせ右シフト回路16が出力する桁合わせされた仮数
データと桁合わせが不必要な仮数データを加算して加算
結果を出力する加算回路18と、加算回路18が出力す
る加算結果をレジスタ1のデータ形式情報によりデータ
形式に合ったデータ幅に調整して出力する加算結果選択
回路21と、加算回路18が出力する加算結果の上位に
“0”データの有無を検出する0桁数チェック回路17
と、前記0桁数チェック回路17が出力するシフト量に
基づいて加算結果選択回路21が出力する加算結果を左
にシフトすることで正規化する正規化左シフト回路22
と、基準指数選択回路12の出力の大きい指数データに
0桁数チェック回路17で求めたシフト量を減算する指
数生成減算回路20と、指数が同じ数値で仮数が小さい
数値より仮数が大きい数値を減算した場合に、中間符号
生成回路11が出力する符号を反転させる符号生成回路
19と、符号生成回路19が出力する符号データと指数
生成減算回路20が出力する指数データと正規化左シフ
ト回路22が出力する仮数データを浮動小数点加減算結
果として格納するレジスタ23とから構成される。
【0050】次に動作について説明する。
【0051】コンピュータシステムで動作するデータ形
式は、前述したように、図13に示す3種の指数データ
形式を使用する。高速でかつ大容量の符号と指数と仮数
からなる浮動小数点データを演算する回路を有する大型
コンピュータにおいて扱うデータ形式は、標準指数デー
タ形式と拡張指数データ形式が主に扱われ、小型コンピ
ュータはIEEEデータ形式が主に扱われている。
【0052】データ形式の変換は図13に示すように、
小型コンピュータ71で演算した個々の小規模なIEE
E指数データ形式74の浮動小数点演算データを、大型
コンピュータ70を使用して総合演算結果を求める場
合、小型コンピュータ71で求めた個々の小規模データ
を大型コンピュータで演算できる標準指数データ形式7
2又は拡張指数データ形式73に変換する必要がある。
【0053】図13は、データ指数データ形式の違いか
らデータ変換が必要であることを表した図である。
【0054】以下、“ 1000000000000 ×
162 ” + “ 8FFFFFFFFFFFF × 16
4 ”のIEEE指数データ形式での加算動作を例に図2
を参照して説明する。
【0055】前述の被加算データと加算データより、レ
ジスタ2に加算命令の数値“0”が、レジスタ1にIE
EE指数データ形式の数値“01”が、レジスタ3に被
加算データの符号数値“0”(正符号)が、レジスタ4
に加算データの符号数値“0”(正符号)が、レジスタ
5に被加算データの指数数値“0002”が、レジスタ
6に加算データの指数数値“0004”が、レジスタ7
に被加算データの仮数数値“100000000000
00”が、レジスタ8に加算データの仮数数値“8FF
FFFFFFFFFF0”がそれぞれ格納される。
【0056】命令解析回路9は、演算命令の出力信号L
101の数値“0”(加算命令)と符号信号L102の
数値“0”(正符号)とL103の数値“0”(正符
号)から加算命令であることを解析し、加減算指示信号
L108に数値“0”(加算命令)を出力する。指数大
小比較回路14は、L104の被加算データの指数数値
“0002”とL105の加算データの指数数値“00
04”を大小比較した結果、L105の指数を大きいと
判定して指数大小比較結果信号としてL113に数値
“1”を出力する。
【0057】基準指数選択回路12は、指数大小比較結
果信号L113の数値に“1”基づいて、加算データの
指数L105の数値“0004”を基準指数として選択
し、基準指数信号L111に数値“0004”を出力す
る。
【0058】シフト量算出回路13は、被加算データの
指数L104の数値“0002”と加算データの指数L
105の数値“0004”との差を求め、桁合わせのた
めの右シフト量信号L112に数値“0002”を出力
する。
【0059】仮数選択回路15は、指数大小比較回路1
4からの指数大小比較結果信号L113に基づいて、被
加算データの指数が“1”で小さいことから、被加算デ
ータの仮数と加算データの仮数の入れ替えは必要無いの
で、被加算データの仮数選択信号L114には数値“1
0000000000000”を出力し、加算データの
仮数選択信号L115には数値“8FFFFFFFFF
FFF0”を出力する。
【0060】桁合わせ右シフト回路16は、右シフト量
信号L112の数値“0002”に基づいて2桁右シフ
トすることから数値“00100000000000”
を右シフト結果信号L116に出力する。
【0061】加算回路18は、右シフト結果信号L11
6の数値“0010000000000”と、加算デー
タの仮数信号L115の数値“8FFFFFFFFFF
FF0”を加算し、加算結果をL118に数値“900
FFFFFFFFFF0”を出力する。加算結果選択回
路21は、指数データ形式信号L100が示す数値“0
1”(IEEE指数データ形式)に基づいて末端の仮数
1桁を切り捨てて13桁の数値“900FFFFFFF
FFF”をL121に出力する。
【0062】0桁数チェック回路17は、加算結果信号
のL118の数値“900FFFFFFFFFF0”の
“9”を先頭に下の桁の“0”へ数値0の有無をチェッ
クする。
【0063】0桁数チェック回路17は、L118の数
値の先頭が“9”でデータの存在を確認し、0がないと
判断すると0桁数チェック信号L117に数値”0”を
出力する。
【0064】0桁数チェック回路の数値“0”は、正規
化のための左シフト量が“0”であることを示し、正規
化のための左シフトは行わず正規化左シフト回路22は
左シフト結果としてL122に数値“900FFFFF
FFFFF”をL122に出力する。
【0065】中間符号生成回路11は、指数大小比較結
果信号L113の数値“1”に基づいて、大きい指数の
符号L103の数値“0”をL110に出力する。符号
生成回路19は、命令解析結果信号L108が数値
“0”(加算命令)であることから小さい仮数データか
ら大きい仮数データを減算することはないので、符号を
反転させることなくL119に数値“0”(正符号)を
出力する。指数生成減算回路20は、基準指数選択結果
信号L111の数値“0004”に0桁数チェック信号
L117の数値“0”を加算して、L120に数値“0
004”を出力する。
【0066】以上で“ 1000000000000 ×
162 ” + “ 8FFFFFFFFFFFF × 16
4 ”の加算が完了する。
【0067】この加算の解は、“ 900FFFFFF
FFFF × 164 ”であり、L120の指数の数値が
“4”を、L122の仮数の数値が“900FFFFF
FFFFF”であることから一致する。
【0068】レジスタ23に格納された“ 900FF
FFFFFFFF × 164 ”は、浮動小数点加減算結
果信号L304として図1に示す浮動小数点演算結果選
択回路53へ出力する。
【0069】同様に図1に示す浮動小数点乗算回路51
と浮動小数点除算回路52についても、命令発行制御回
路54からの演算指示に対してデータ形式を識別する回
路と乗算結果又は除算結果をデータ形式によってデータ
幅を調整して出力する回路を追加することで、図13に
示す標準指数データ形式72と拡張指数データ形式73
およびIEEE指数データ形式74の3種のデータ形式
の演算が1つの回路で求めることができ、図1の浮動小
数点乗算回路51は浮動小数点乗算結果をL305へ、
浮動小数点除算回路52は浮動小数点除算結果をL30
6へそれぞれ出力して演算は完了する。
【0070】このように、標準指数データ形式と拡張指
数データ形式及びIEEE指数データ形式の3種のデー
タ形式を識別する指数データ形式識別信号を、指数デー
タ形式の識別を必要とする指数部と仮数部の回路に分配
することで、指数データ形式識別信号に基づいた所望の
演算結果を求めることができ、データ形式を検出するハ
ードウェアとデータを変換するハードウェア及び前記2
つのハードウェアを制御するハードウェアが必要ない。
データ形式を検出するハードウェアとデータを変換する
ハードウェア及び前記を制御するハードウェアを必要と
しないことから、少ないハードウェアで回路を構成する
ことができる。
【0071】さらに、データ形式を変換する行為が発生
しないことから、与えられた演算データをそのまま使用
して演算結果を求めることができ、演算結果の精度を落
とすことを防止できる。
【0072】
【実施例】実施の形態で詳細に説明した本発明の浮動小
数点加減算回路を使用して、IEEE指数データ形式の
加算を行う時の動作を実施例として説明する。
【0073】以下、“ 1000000000000 ×
162 ” + “ 8FFFFFFFFFFFF × 16
4 ”のIEEE指数データ形式での加算動作を例にして
説明する。
【0074】加算は図2のレジスタ1〜8のステージ1
と、レジスタ23のステージ2の間で行われる。
【0075】図11は、1〜2ステージにおける各レジ
スタ1〜8とレジスタ23の内容を示し、図12はステ
ージ1における各信号の値を示している。
【0076】前述の被加算データと加算データより、レ
ジスタ2に加算命令の数値“0”が、レジスタ1にIE
EE指数データ形式の数値“01”が、レジスタ3に被
加算データの符号数値“0”(正符号)が、レジスタ4
に加算データの符号数値“0”(正符号)が、レジスタ
5に被加算データの指数数値“0002”が、レジスタ
6に加算データの指数数値“0004”が、レジスタ7
に被加算データの仮数数値“100000000000
00”が、レジスタ8に加算データの仮数数値“8FF
FFFFFFFFFF0”がそれぞれ格納される。
【0077】命令解析回路9は、演算命令の出力信号L
101の数値“0”(加算命令)と符号信号L102の
数値“0”(正符号)とL103の数値“0”(正符
号)から図3に示す項番1の加算命令が選択され、加減
算指示信号L108に数値“0”(加算命令)を出力す
る。指数大小比較回路14は、L104の被加算データ
の指数数値“0002”とL105の加算データの指数
数値“0004”を大小比較した結果、図4に示す指数
大小比較条件により項番1のL105の加算データ指数
を大きいと判定して選択し、指数大小比較結果信号とし
てL113に数値“1”を出力する。
【0078】基準指数選択回路12は、指数大小比較結
果信号L113の数値“1”に基づいて、被加算データ
指数のL104の数値“0002”と加算データの指数
L105の数値“0004”とでは、図5に示す指数大
小比較信号の選択条件より項番1の加算データ指数L1
05の“0004”を基準指数として選択し、基準指数
信号L111に数値“0004”を出力する。
【0079】シフト量算出回路13は、被加算データの
指数L104の数値“0002”と加算データの指数L
105の数値“0004”差を求め、桁合わせのための
右シフト量信号L112に数値“0002”を出力す
る。
【0080】次に仮数選択回路15について詳細に示し
た図6を使用して動作を説明する。図6の仮数A選択回
路200は、図2の指数大小比較回路14からの指数大
小比較結果信号L113の数値“1”に基づいて、被加
算データの指数が小さいことから、図7に示す項番2の
L106が選択されて、仮数選択信号L114には数値
“1000000000000”が出力される。
【0081】図6の仮数B選択回路201も同様に、図
2の指数大小比較回路14からの指数大小比較結果信号
L113の数値“1”に基づいて、被加算データの指数
が小さいことから、図7に示す項番2のL107が選択
されて、仮数選択信号L200には正数の数値“8FF
FFFFFFFFFF0”が、L201には補数の数値
“7000000000000F”出力される。
【0082】仮数B反転選択回路202は、図2の命令
解析回路9からの演算命令信号L108の数値が“0”
であることから、図8に示す項番1のL200を選択し
て正数の加算データL200を加算データの仮数選択信
号L115に数値“8FFFFFFFFFFFF0”を
出力する。
【0083】以下、再び図2を元にして動作を説明す
る。
【0084】桁合わせ右シフト回路16は、右シフト量
信号L112の数値“0002”に基づいて2桁右シフ
トすることから数値“00100000000000”
が右シフト結果信号L116に出力される。
【0085】加算回路18は、右シフト結果信号L11
6の数値“0010000000000”と、加算デー
タの仮数信号L115の数値“8FFFFFFFFFF
FF0”を加算し、加算結果をL118に数値“900
FFFFFFFFFF0”を出力する。加算結果選択回
路21は、指数データ形式信号L100が示す数値“0
1”(IEEE指数データ形式)に基づいて末端の仮数
1桁を切り捨てて13桁の数値“900FFFFFFF
FFF”をL121に出力する。
【0086】0桁数チェック回路17は、加算結果信号
のL118の数値“900FFFFFFFFFF”の
“9”を先頭に下の桁の“0”へ数値0の有無をチェッ
クする。
【0087】0桁数チェック回路17は、先頭が“9”
でデータの存在を確認し、0がないと判断すると0桁数
チェック信号L117として”0”を出力する。
【0088】0桁数チェック回路の数値“0”は、正規
化のための左シフト量が“0”であることを示し、正規
化のための左シフトは行わず正規化左シフト回路22は
左シフト結果としてL122に数値“900FFFFF
FFFFF”を出力する。
【0089】中間符号生成回路11は、指数大小比較結
果信号L113の数値“1”に基づいて図9に示す項番
2の大きい指数の符号L103を選択して、数値“0”
をL110に出力する。符号生成回路19は、命令解析
結果信号L108が数値“0”(加算命令)であること
から、小さい仮数データから大きい仮数データを減算す
ることはなく、減算命令ではないことから桁上げ信号L
123は“0”であるので、図10に示すの符号が反転
しない項番1を選択してL119に数値“0”(正符
号)を出力する。指数生成減算回路20は、基準指数選
択結果信号L111の数値“0004”に0桁数チェッ
ク信号L117の数値“0”を加算して、L120に数
値“0004”を出力する。以上で“ 1000000
000000 × 162 ” + “ 8FFFFFFFF
FFFF × 164 ”の加算が完了する。
【0090】この加算の解は、“ 900FFFFFF
FFFF × 164 ”であり、L120の指数の数値が
“4”を、L122の仮数の数値が“900FFFFF
FFFFF”であることから一致する。
【0091】レジスタ23に格納された“ 900FF
FFFFFFFF × 164 ”は、浮動小数点加減算結
果信号L304として図1に示す浮動小数点演算結果選
択回路53へ出力する。
【0092】
【発明の効果】以上説明したように、本発明は、IEE
E指数データ形式を識別して演算結果を出力するハード
ウェアを追加しているため、従来人手を介してのデータ
形式の変換作業やデータ幅の違いから生じる演算データ
の桁落ちを、データ変換をすることの手数を減らし、デ
ータ精度を落とすことなく浮動小数点の加減乗除演算結
果を得られるという効果がある。
【図面の簡単な説明】
【図1】本発明のコンピュータの構成を示すブロック図
である。
【図2】図1の浮動小数点加減算回路の詳細を示すブロ
ック図である。
【図3】図2の加減算指示信号L108を生成する論理
を示す図である。
【図4】図2の指数大小比較回路14の指数大小比較結
果信号L113を生成する論理を示す図である。
【図5】図2の基準指数選択回路12の基準指数を選択
する論理を示す図である。
【図6】図2の仮数選択回路15の詳細を示すブロック
図である。
【図7】図2の仮数選択回路15の仮数A選択回路20
0と仮数B選択回路201のデータを選択を示す図であ
る。
【図8】図2の演算命令信号L108によって正数又は
補数を選択する論理を示す図である。
【図9】図2の中間符号生成回路11の中間符号を選択
する論理を示す図である。
【図10】図2の符号生成回路19の符号を生成する論
理を示す図である。
【図11】図2のレジスタ1〜8,23の各ステージに
おける内容を示す図である。
【図12】図2の信号線の各ステージにおける内容を示
す図である。
【図13】大型コンピュータと小型コンピュータで取り
扱う浮動小数点のデータ形式を示す図である。
【図14】従来の浮動小数点データ変換装置の一例を示
すブロック図である。
【図15】従来の浮動小数点データフォーマット変換装
置の一例を示す図である。
【符号の説明】
1〜8,23 レジスタ 9 命令解析回路 11 中間符号生成回路 12 基準指数選択回路 13 シフト量算出回路 14 指数大小比較回路 15 仮数選択回路 16 桁合わせ右シフト回路 17 0桁数チェック回路 18 加算回路 19 符号生成回路 20 指数生成減算回路 21 加算結果選択回路 22 正規化左シフト回路 50 浮動小数点加減算回路 51 浮動小数点乗算回路 52 浮動小数点除算回路 53 浮動小数点演算結果選択回路 54 命令発行制御回路 70 大型コンピュータ 71 小型コンピュータ 72 標準指数データ形式 73 拡張指数データ形式 74 IEEE指数データ形式 100 主記憶装置 101 科学演算装置 102 入出力制御装置 103 外部装置 200 仮数A選択回路 201 仮数B選択回路 202 仮数B反転選択回路

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数の指数データ形式を扱う浮動小数点
    演算回路において、前記複数の指数データ形式を識別
    し、指数データを指数部と仮数部とに分配し、識別した
    前記指数データ形式に従って前記指数部と前記仮数部の
    データ幅を調整して加減算を行うことを特徴とする浮動
    小数点演算回路。
  2. 【請求項2】 複数の指数データ形式を扱う浮動小数点
    演算回路において、前記複数の指数データ形式を識別
    し、指数データを指数部と仮数部とに分配し、識別した
    前記指数データ形式に従って前記指数部と前記仮数部の
    データ幅を調整して乗算を行うことを特徴とする浮動小
    数点演算回路。
  3. 【請求項3】 複数の指数データ形式を扱う浮動小数点
    演算回路において、前記複数の指数データ形式を識別
    し、指数データを指数部と仮数部とに分配し、識別した
    前記指数データ形式に従って前記指数部と前記仮数部の
    データ幅を調整して除算を行うことを特徴とする浮動小
    数点演算回路。
  4. 【請求項4】 複数の指数データ形式を扱う浮動小数点
    演算回路において、前記複数の指数データ形式を識別す
    る信号を分配する手段と、前記複数の指数データ形式の
    識別信号に基づいて指数のデータ幅に合った指数を選択
    する基準指数選択回路と、前記複数の指数データ形式を
    識別する信号に基づいて指数の差を求めて桁合わせ右シ
    フト量を求めるシフト量算出回路と、第1のデータの仮
    数部が順次格納される第1のレジスタと、第2のデータ
    の仮数部が順次格納される第2のレジスタと、前記第
    1,第2のデータの仮数部のうち前記複数の指数データ
    形式における指数部の小さい方を桁合わせが必要な仮数
    部として出力し他方を桁合わせが不必要な仮数部として
    出力する仮数選択回路と、前記仮数選択回路から桁合わ
    せが必要な仮数部が出力されることにより前記第1,第
    2のデータの前記複数の指数データ形式の指数部の差に
    応じたシフト量だけ桁合わせが必要な仮数部を右シフト
    してシフト結果を出力する桁合わせ右シフト回路と、前
    記桁合わせ右シフト回路から出力される前記桁合わせが
    必要な仮数部のシフト結果と前記仮数選択回路から出力
    される桁合わせが不必要な仮数部との加算を行って加算
    結果を出力する加算回路と、演算命令が加算であるか減
    算であるかによって加算結果又は減算結果を選択して選
    択結果を出力する加算結果選択回路と、前記加算結果選
    択回路から出力された前記選択結果を正規化する正規化
    左シフト回路とを備えたことを特徴とする浮動小数点加
    減算回路。
  5. 【請求項5】 前記複数の指数データ形式は、標準指数
    データ形式と拡張指数データ形式とIEEE指数データ
    形式の3種のうち、少なくとも1種を含むことを特徴と
    する請求項1、2、3または4記載の浮動小数点演算回
    路。
  6. 【請求項6】 複数の指数データ形式を扱う浮動小数点
    演算回路を備えたコンピュータにおいて、前記複数の指
    数データ形式を識別し、指数データを指数部と仮数部と
    に分配し、識別した前記指数データ形式に従って前記指
    数部と前記仮数部のデータ幅を調整して加減算を行うこ
    とを特徴とするコンピュータ。
  7. 【請求項7】 複数の指数データ形式を扱う浮動小数点
    演算回路を備えたコンピュータにおいて、前記複数の指
    数データ形式を識別し、指数データを指数部と仮数部と
    に分配し、識別した前記指数データ形式に従って前記指
    数部と前記仮数部のデータ幅を調整して乗算を行うこと
    を特徴とするコンピュータ。
  8. 【請求項8】 複数の指数データ形式を扱う浮動小数点
    演算回路を備えたコンピュータにおいて、前記複数の指
    数データ形式を識別し、指数データを指数部と仮数部と
    に分配し、識別した前記指数データ形式に従って前記指
    数部と前記仮数部のデータ幅を調整して除算を行うこと
    を特徴とするコンピュータ。
  9. 【請求項9】 複数の指数データ形式を扱う浮動小数点
    演算回路を備えたコンピュータにおいて、前記複数の指
    数データ形式を識別する信号を分配する手段と、前記複
    数の指数データ形式の識別信号に基づいて指数のデータ
    幅に合った指数を選択する基準指数選択回路と、前記複
    数の指数データ形式を識別する信号に基づいて指数の差
    を求めて桁合わせ右シフト量を求めるシフト量算出回路
    と、第1のデータの仮数部が順次格納される第1のレジ
    スタと、第2のデータの仮数部が順次格納される第2の
    レジスタと、前記第1,第2のデータの仮数部のうち前
    記複数の指数データ形式における指数部の小さい方を桁
    合わせが必要な仮数部として出力し他方を桁合わせが不
    必要な仮数部として出力する仮数選択回路と、前記仮数
    選択回路から桁合わせが必要な仮数部が出力されること
    により前記第1,第2のデータの前記複数の指数データ
    形式の指数部の差に応じたシフト量だけ桁合わせが必要
    な仮数部を右シフトしてシフト結果を出力する桁合わせ
    右シフト回路と、前記桁合わせ右シフト回路から出力さ
    れる前記桁合わせが必要な仮数部のシフト結果と前記仮
    数選択回路から出力される桁合わせが不必要な仮数部と
    の加算を行って加算結果を出力する加算回路と、演算命
    令が加算であるか減算であるかによって加算結果又は減
    算結果を選択して選択結果を出力する加算結果選択回路
    と、前記加算結果選択回路から出力された前記選択結果
    を正規化する正規化左シフト回路とを備えたことを特徴
    とするコンピュータ。
  10. 【請求項10】 前記複数の指数データ形式は、標準指
    数データ形式と拡張指数データ形式とIEEE指数デー
    タ形式の3種のうち、少なくとも1種を含むことを特徴
    とする請求項6、7、8または9記載のコンピュータ。
JP32340197A 1997-11-25 1997-11-25 浮動小数点演算回路およびこの浮動小数点演算回路を備えたコンピュータ Expired - Fee Related JP3293768B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32340197A JP3293768B2 (ja) 1997-11-25 1997-11-25 浮動小数点演算回路およびこの浮動小数点演算回路を備えたコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32340197A JP3293768B2 (ja) 1997-11-25 1997-11-25 浮動小数点演算回路およびこの浮動小数点演算回路を備えたコンピュータ

Publications (2)

Publication Number Publication Date
JPH11161468A true JPH11161468A (ja) 1999-06-18
JP3293768B2 JP3293768B2 (ja) 2002-06-17

Family

ID=18154312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32340197A Expired - Fee Related JP3293768B2 (ja) 1997-11-25 1997-11-25 浮動小数点演算回路およびこの浮動小数点演算回路を備えたコンピュータ

Country Status (1)

Country Link
JP (1) JP3293768B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101020430B1 (ko) * 2008-07-22 2011-03-08 인터내셔널 비지네스 머신즈 코포레이션 동적 범위 조정 부동 소수점 실행 유닛

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101020430B1 (ko) * 2008-07-22 2011-03-08 인터내셔널 비지네스 머신즈 코포레이션 동적 범위 조정 부동 소수점 실행 유닛
US8412760B2 (en) 2008-07-22 2013-04-02 International Business Machines Corporation Dynamic range adjusting floating point execution unit
US9223753B2 (en) 2008-07-22 2015-12-29 International Business Machines Corporation Dynamic range adjusting floating point execution unit

Also Published As

Publication number Publication date
JP3293768B2 (ja) 2002-06-17

Similar Documents

Publication Publication Date Title
CN101825987A (zh) 图表显示控制装置及程序
JPH09212337A (ja) 浮動小数点演算処理装置
US7499962B2 (en) Enhanced fused multiply-add operation
CN117132450B (zh) 一种可实现数据共享的计算装置和图形处理器
JP3293768B2 (ja) 浮動小数点演算回路およびこの浮動小数点演算回路を備えたコンピュータ
JPH03135627A (ja) ファジイ演算装置
CN111124361A (zh) 算术处理装置及其控制方法
CN112711440A (zh) 用于转换数据类型的转换器、芯片、电子设备及其方法
JP3941265B2 (ja) 計算装置及び記憶媒体
JPH01282633A (ja) 非正規化数の処理方式
JP3148837B2 (ja) グラフ作成装置
JPH0435777B2 (ja)
JP2953405B2 (ja) 論理シミュレーションの高速化方法及び論理シミュレーション装置
JPS5911947B2 (ja) 電子式卓上計算機
JPH04191925A (ja) 演算処理装置
JPH03217938A (ja) 浮動小数点丸め正規化装置
JP2009187492A (ja) 演算機能を備えた電子装置および演算処理プログラム
JPH10187851A (ja) 表データ出力装置
JPH11316742A (ja) 積分演算処理装置及び積分演算処理方法
JPH04222019A (ja) 記憶装置
JPH1166013A (ja) 計算装置及び計算処理プログラムが記憶された記憶媒体
JPS62260221A (ja) 入力フイ−ルド制御装置
JPS5837746A (ja) 条件判定処理装置
JPH06282412A (ja) 浮動小数点演算装置
JPS63255735A (ja) 浮動小数点乗算器

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020305

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: 20080405

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090405

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100405

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110405

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120405

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120405

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130405

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees