JP2842768B2 - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JP2842768B2
JP2842768B2 JP5237517A JP23751793A JP2842768B2 JP 2842768 B2 JP2842768 B2 JP 2842768B2 JP 5237517 A JP5237517 A JP 5237517A JP 23751793 A JP23751793 A JP 23751793A JP 2842768 B2 JP2842768 B2 JP 2842768B2
Authority
JP
Japan
Prior art keywords
mantissa
register
numerical value
signal line
rounding
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
JP5237517A
Other languages
English (en)
Other versions
JPH06195199A (ja
Inventor
由信 天野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBARAKI NIPPON DENKI KK
Original Assignee
IBARAKI NIPPON DENKI KK
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 IBARAKI NIPPON DENKI KK filed Critical IBARAKI NIPPON DENKI KK
Priority to JP5237517A priority Critical patent/JP2842768B2/ja
Publication of JPH06195199A publication Critical patent/JPH06195199A/ja
Application granted granted Critical
Publication of JP2842768B2 publication Critical patent/JP2842768B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、浮動小数点演算装置に
関し、より具体的には、浮動小数点数を演算した後の処
理を簡略化して、浮動小数点演算を高速に実行するため
の浮動小数点演算装置に関する。
【0002】
【従来の技術】本発明は、16を基数とする浮動小数点
数形式の浮動小数点演算装置に適用される。このような
浮動小数点数形式の一例は、ジョン・ピー・ヘイズ(J
OHNP HAYES)著「コンピュータアーキテクチ
ャ・アンド・オーガニゼイション」(「COMPUTE
R ARCHTECTURE AND ORGANIZ
ATION」)第197頁〜第198頁に記載されてい
る。このような形式では、仮数部のビットは、4ビット
が1つの単位として扱われる。ここでは、仮数部の4つ
のビットで構成される単位のことを、桁ということにす
る。仮数部の各桁に保持される値は、1桁の16進数で
表される。仮数部は、一定数の桁によって構成される。
ここでは、この一定数の桁を「有効桁」、一定数のこと
を「有効桁数」と、それぞれ呼ぶ。
【0003】演算実行時には、演算結果の精度を高く維
持するために、この有効桁の上下に保護用の桁が付加さ
れる。ここでは、保護用の桁が付加された場合の桁数
を、「拡張された桁数」と呼ぶ。演算処理中は、拡張さ
れた桁数の精度で、各種の演算が実行される。
【0004】演算終了後、演算結果を再び有効桁数で表
示するために、3種類の処理が実行される。 第1の処
理は、「仮数部の事後処理」である。ここで、「仮数部
の事後処理」とは、仮数部の演算結果が負であった場合
に、仮数部の補数を計算する処理のことである。仮数部
の事後処理が行われた場合は、これに付随して、符号ビ
ットの反転も実行される。ここでは、この符号ビットの
反転処理を「符号処理」と呼ぶ。
【0005】第2の処理は、丸め処理である。丸め処理
は、有効桁のすぐ下の保護桁に、16進数の8Hを加算
する処理である。丸め処理は、10進数の4捨5入に相
当する。
【0006】第3の処理は、正規化である。正規化処理
は、有効桁の最上位桁の保持する値が”0”にならない
ように、演算結果をシフトする処理である。正規化処理
では、仮数部のシフト処理と同時に、指数部の補正も行
われる。
【0007】基本的な浮動小数点演算装置の場合、仮数
部の演算の後、仮数部の事後処理、第1の正規化処理、
丸め処理および第2の正規化処理、の4つの処理が、こ
の順に実行される。この一連の処理は、演算毎に繰り返
し実行される。このため、この一連の処理から、いくつ
かの処理を削除することにより、プログラムの処理を大
幅に高速化することができる。
【0008】上述した一連の処理うち、第1の正規化処
理を削除するための技術の一例が、特開昭61−335
39号公報に記載されている。この技術では、仮数部の
最上位桁を構成する4つのビットが全て”0”であるこ
とを検出するための第1のNAND回路4と、仮数部の
最上桁のすぐ下の桁を構成する4つのビットが全て”
0”であることを検出する第2のNAND回路5とが設
けられる。第1のNAND回路4の出力と、第2のNA
ND回路5の出力と、実行される演算の種類とに応じ
て、丸め処理で加算されるべき定数が選択される。この
定数は、第1の正規化処理において仮数部がシフトされ
るべきシフト数だけ、予めシフトされたものである。こ
のため、第1の正規化処理は不要となる。この従来技術
により実行される演算処理の概略は、図23に示されて
いる。
【0009】
【発明が解決しようとする課題】上述の公報に記載され
た従来技術では、第1の正規化処理以外の処理を削除す
ることはできなかった。
【0010】
【課題を解決するための手段】本発明の目的は、上述の
問題点に鑑みて、仮数部の演算後の一連の処理のうち、
仮数部の事後処理と、第1の正規化処理とを削除するこ
とを目的とする。
【0011】本発明の浮動小数点演算装置によれば、以
上の目的を達成するため、浮動小数点数の仮数部を保持
する仮数レジスタと、前記浮動小数点数の指数部を保持
する指数レジスタと、前記仮数レジスタの各桁を構成す
るビットが全て”0”であるか否か、前記仮数レジスタ
の各桁を構成するビットが全て”1”であるか否か、を
検出して出力する検出回路部と、前記検出回路部の出力
に応じて、演算の種類と、第1の数値と、第2の数値と
を出力する丸め−正規化データ生成回路と、前記検出回
路部から出力される前記演算の種類と、前記第1の数値
とを入力して、前記演算の種類が加算のときには、前記
仮数レジスタの内容に前記第1の数値を加算した数値を
出力し、前記演算の種類が減算のときには、前記第1の
数値から前記仮数レジスタの内容を減算した数値を出力
する仮数演算部と、前記検出回路部から出力される前記
第2の数値を入力して、前記第2の数値により指定され
るビット数だけシフトされた前記仮数レジスタの内容を
出力するシフト演算部と、前記検出回路部から出力され
る前記第2の数値を入力して、前記指数レジスタの内容
から前記第2の数値を減算した値を出力する符号処理部
とを含むことを特徴とする浮動小数点演算装置が提供さ
れる。
【0012】上述の浮動小数点演算装置の仮数演算部
は、仮数部の事後処理と、丸め処理とを同時に実行する
ことができる。このため、上述の浮動小数点演算装置で
は、仮数部の事後処理が削除される。
【0013】
【実施例】図1(a)を参照すると、本実施例で採用さ
れる浮動小数点数形式では、1つの浮動小数点数Nは、
ビット0〜ビット31の32個のビットで表現される。
ビット31は、符号ビットSである。符号ビットSを”
0”に設定することによりNが正数であることを表
し、”1”に設定することにより負数であることを表
す。ビット24〜ビット30は、指数部Eである。指数
部Eは7ビットで構成されており、0〜127の数を保
持する。ビット0〜ビット23は、仮数部Mである。仮
数部Mのビットは、4ビットで1つの桁を構成してい
る。例えば、第1桁は、ビット0〜ビット3により構成
される。仮数部Mは、第1桁〜第6桁の6つの桁で構成
される。
【0014】図1(b)には、浮動小数点数Nと、符号
ビットS、指数部Eおよび仮数部Mとの関係が示されて
いる。この浮動小数点数形式では、16が基数である。
したがって、Eは16の指数を表す。実際には、Eから
64を引いた数が16の指数になる。これによって、1
6の指数は−64〜+63の範囲で変化する。
【0015】図1(c)には、浮動小数点数0.12
×(16××5)を、この形式で表した場合の各ビット
の値が示されている。ここでは、A××Bによって、A
をB乗した数を表す。以後の説明では、このようなビッ
ト状態を図1(d)に示される形式で示す。この形式で
は、仮数部Mの各桁のビットが保持する値が1桁の16
進数で表示される。
【0016】図2を参照すると、仮数部Mに付加される
保護桁は、仮数部に演算を実行するときに付加される。
本実施例では、仮数部Mの上下に1桁ずつ保護桁が設け
られる。ここでは、仮数部Mの下に設けられる保護桁を
第0桁、仮数部Mの上に設けられる保護桁を第7桁と呼
ぶ。
【0017】次に、図3(a)〜(b)に示された例を
参照することにより、この説明の中で頻繁に言及される
処理が説明される。図3(a)には、正規化処理の一例
が示されている。これは、通常の正規化処理である。図
3(b)には、丸め処理の一例が示されている。ここ
で、丸め処理とは、仮数部の丸められるべき桁に、16
進数の8Hを加算する処理である。図3(c)には、仮
数部の事後処理の一例が示されている。ここで、仮数部
の事後処理とは、仮数部Mに負数が保持されている場合
に、仮数部Mの保持する数を正数に変換するために、仮
数部Mの2の補数を計算する処理のことを呼ぶ。図3
(d)には、符号処理の一例が示されている。ここで、
符号処理とは、仮数部の事後処理に引き続いて実行され
る符号ビットの反転処理のことを呼ぶ。
【0018】次に、図4を参照することにより、本発明
の一実施例の浮動小数点演算装置の構造が説明される。
【0019】図4を参照すると、一実施例の浮動小数点
演算装置は、演算動作を制御する演算動作制御部100
と、第1の浮動小数点データの符号ビットSを格納する
第1符号レジスタ210と、第2の浮動小数点データの
符号ビットSを格納する第2符号レジスタ220と、第
1符号レジスタ210および第2符号レジスタ220の
内容を演算動作制御部100に通知するとともに演算動
作制御部100の指示に基づいて第1符号レジスタ21
0および第2符号レジスタ220の内容を変更する符号
処理部230と、第1の浮動小数点データの指数部Eを
格納する第1指数レジスタ310と、第2の浮動小数点
データの指数部Eを格納する第2指数レジスタ320
と、第1指数レジスタ310および第2指数レジスタ3
20の内容を演算動作制御部100に通知するとともに
演算動作制御部100の指示にしたがって第1指数レジ
スタ310および第2指数レジスタ320の内容を変更
する指数演算部330と、第1の浮動小数点データの仮
数部Mの内容および仮数部Mの上位および下位に付加さ
れた保護桁の内容を格納する第1仮数レジスタ410
と、第2の浮動小数点データの仮数部Mの内容および仮
数部Mの上位および下位に付加された保護桁の内容を格
納する第2仮数レジスタ420と、演算動作制御部10
0の指示にしたがって第1仮数レジスタ410および第
2仮数レジスタ420の内容をシフトするシフト演算部
500と、演算動作制御部100の指示にしたがって第
1仮数レジスタ410と第2仮数レジスタ420の間の
加算および減算を実行する仮数演算部600と、第1仮
数レジスタ410の各ビットの状態を検出して演算動作
制御部100に通知する検出回路部700とを含む。
【0020】第1符号レジスタ210および第2符号レ
ジスタ220は、1ビットのレジスタである。第1指数
レジスタ310および第2指数レジスタ320は、7ビ
ットのレジスタである。第1仮数レジスタ410および
第2仮数レジスタ420は、32ビットのレジスタであ
る。第1仮数レジスタ410および第2仮数レジスタ4
20には、仮数部Mに保護桁を加えた第0桁〜第7桁が
格納される。
【0021】検出回路部700は、本実施例に特徴的な
構成要素である。図5(a)を参照すると、検出回路部
700には、信号線417および信号線703が接続さ
れる。信号線417は入力信号線であり、信号線703
は出力信号線である。信号線417は、第1仮数レジス
タ410と、検出回路部700を接続する32ビットの
信号線である。第1仮数レジスタ410の内容は、信号
線417を介して、検出回路部700に伝送される。信
号線703は、検出回路部700と、丸め−正規化デー
タ生成回路170とを接続する。信号線703は、1ビ
ットの信号線703−1と、1ビットの信号線703−
2と、8ビットの信号線703−3と、8ビットの信号
線703−4とから構成される。信号線703−3は、
信号線703−30〜信号線703−37から構成され
る。信号線703−4は、信号線703−40〜信号線
703−47から構成される。
【0022】検出回路部700は、以下の4種類の情報
を演算動作制御部100に通知する機能を有する。第1
に、検出回路部700は、第1仮数レジスタ410に格
納された数が正数であるか否かを、演算動作制御部10
0に通知する。第2に、検出回路部700は、第1仮数
レジスタ410の第0桁の最上位ビットが”0”である
か否かを、演算動作制御部100に通知する。第3に、
検出回路部700は、第1仮数レジスタ410の1つの
桁のビットが全て”0”であるか否かを、演算動作制御
部100に通知する。第4に、検出回路部700は、第
1仮数レジスタ410の1つの桁のビットが全て”1”
であるか否かを、演算動作制御部100に通知する。
【0023】上述の機能を実現するため、図5(b)を
参照すると、信号線703を構成する各信号線と、第1
仮数レジスタ410の各ビットとは、図5(b)に示さ
れるような回路を介して接続されている。図5(b)を
参照すると、信号線703−1は、第1仮数レジスタ4
10の第7桁の最上位ビットと接続される。したがっ
て、第1仮数レジスタ410に負の数が保持されている
とき、信号線703−1には”1”が送出される。信号
線703−2は、第1仮数レジスタ410の第0桁の最
上位ビットと接続される。
【0024】NOR回路710の入力端子には、第1仮
数レジスタ410の第0桁の4つのビットが接続され
る。NOR回路710の出力端子は、信号線703−3
0に接続される。したがって、第1仮数レジスタ410
の第0桁の全てのビットが”0”のとき、信号線703
−30には”1”が送出される。それ以外の場合は、信
号線703−30には”0”が送出される。同様に、第
1仮数レジスタ410の第n桁と、信号線703−3n
とは、NOR回路71nを介して接続される。このた
め、第1仮数レジスタ410の第n桁のビットが全て”
0”のとき、信号線703−3nには”1”が送出され
る。
【0025】AND回路720の入力端子には、第1仮
数レジスタ410の第0桁の4つのビットが接続され
る。AND回路720の出力端子は、信号線703−4
0に接続される。したがって、第1仮数レジスタ410
の第0桁の全てのビットが”1”のとき、信号線703
−40には”1”が送出される。それ以外の場合は、信
号線703−40には”0”が送出される。同様に、第
1仮数レジスタ410の第n桁と、信号線703−4n
とは、AND回路72nを介して接続される。このた
め、第1仮数レジスタ410の第n桁のビットが全て”
1”のとき、信号線703−3nには”1”が送出され
る。
【0026】演算動作制御部100は、以下の7つの機
能を有する。第1に、演算動作制御部100は、信号線
1および信号線2を介して送出された、第1の浮動小数
点データおよび第2の浮動小数点データを、第1符号レ
ジスタ210、第2符号レジスタ220、第1指数レジ
スタ310、第2指数レジスタ320、第1仮数レジス
タ410および第2仮数レジスタ420に格納する機能
を有する。第2に、演算動作制御部100は、信号線3
を介して上位装置から送出された命令を解読する機能を
有する。第3に、演算動作制御部100は、符号処理部
230の動作を制御する機能を有する。第4に、演算動
作制御部100は、指数演算部330の動作を制御する
機能を有する。第5に、演算動作制御部100は、シフ
ト演算部500の動作を制御する機能を有する。第6
に、演算動作制御部100は、仮数演算部600の動作
を制御する機能を有する。第7に、演算動作制御部10
0は、上述した機能を、所定のタイミングで実行させる
機能を有する。
【0027】図6を参照すると、上述した機能のうち、
第2の機能〜第6の機能を実現するために、演算動作制
御部100は、デコード回路110と、第1仮数レジス
タ410および第2仮数レジスタ420の桁合わせを実
行する桁合わせ回路130と、仮数演算部600に実行
されるべき演算の種類を通知する演算指示回路140
と、検出回路部700の通知する第1仮数レジスタ41
0のビットの状態に対応して丸め処理および正規化処理
で必要な情報を生成する丸め−正規化データ生成回路1
70と、丸め−正規化データ生成回路170の生成する
情報に基づいて丸め処理を実行する丸め回路150と、
丸め−正規化データ生成回路170の生成する情報に基
づいて正規化処理を実行する正規化回路160と、桁合
わせ回路130、演算指示回路140、丸め回路150
および正規化回路160に動作開始を指示する制御部1
20とを含む。
【0028】前述した、第1の機能および第7の機能を
実現するための構成は周知の技術であるので、ここでは
説明を省略する。
【0029】デコード回路110は通常のデコーダであ
る。デコード回路110は、信号線3上に送出された命
令をデコードする。デコードされた結果は、信号線11
1上に送出される。ここでは、信号線3上に送出された
命令が加算命令であるときには信号線111上に”0”
が送出され、信号線3上に送出された命令が減算命令で
あるときには信号線111上に”1”が送出されるもの
とする。
【0030】図7(a)を参照すると、桁合わせ回路1
30には、信号線123、信号線333、信号線103
および信号線105が接続される。信号線123および
信号線333は入力信号線であり、信号線103および
信号線105が出力信号線である。信号線123は制御
部120と桁合わせ回路130とを接続する。信号線1
23は、1ビットの信号線123−1と、1ビットの信
号線123−2とから構成される。制御部120から送
出された動作開始信号は、信号線123−1を介して、
桁合わせ回路130に伝送される。信号線333は、桁
合わせ回路130と、指数演算部330とを接続する7
ビットの信号線である。信号線333を介して−64〜
+63の整数が伝送される。信号線103は、演算動作
制御部100と指数演算部330とを接続する。信号線
103は、1ビットの信号線103−1と、1ビットの
信号線103−2と、7ビットの信号線103ー3とか
ら構成される。信号線103−3を介して、−64〜+
63の整数が伝送される。信号線105は、演算動作制
御部100とシフト演算部500とを接続する。信号線
105は、1ビットの信号線105−1と、7ビットの
信号線105−2とから構成される。信号線105−2
を介して、−64〜+63の整数が伝送される。
【0031】桁合わせ回路130は、信号線333を介
して受信した数値に応じて、第1符号レジスタ210お
よび第2符号レジスタ220に加算すべき数値を決定
し、この数値を信号線103−1に送出する機能を有す
る。信号線333上に送出される数値は、第1指数レジ
スタ310の値と、第2指数レジスタ320の値の差分
である。この機能は、桁合わせ処理に使用される。
【0032】図7(b)を参照すると、上述の機能を実
現するため、桁合わせ回路130は、図7(b)にしめ
される入出力関係に応じて、信号線103および信号線
105に信号を送出する。表中、|x2|はx2の絶対
値を示す。信号線132−1に”0”が送出されている
とき、桁合わせ回路130は上述の機能を実行する。
【0033】図8(a)を参照すると、演算指示回路1
40には、信号線124、信号線233および信号線1
06が接続される。信号線124は、制御部120と演
算指示回路140を接続する。信号線124は、1ビッ
トの信号線124−1および信号線124−2により構
成される。制御部120の送出した動作開始信号は、信
号線124−1を介して、演算指示回路140に伝送さ
れる。信号線233は、符号処理部230と演算指示回
路140とを接続する。信号線233は、1ビットの信
号線233−1と、1ビットの信号線233−2から構
成される。信号線106は、演算動作制御部100と仮
数演算部600を接続する。信号線106は、1ビット
の信号線106−1と、1ビットの信号線106−2
と、2ビットの信号線106−3とから構成される。
【0034】演算指示回路140は、信号線124−2
を介して受信した演算種類と、信号線233を介して受
信した第1の浮動小数点データおよび第2の浮動小数点
データの符号とから、実際に実行すべき演算の種類を、
信号線106を介して、仮数演算部600に通知する機
能を有する。この機能は、仮数部Mの演算に使用され
る。
【0035】図8(b)を参照すると、上述の機能を実
現するため、演算指示回路140は、図8(b)に示さ
れる入出力関係にしたがって、信号線106に信号を送
出する。上位装置から指示された演算の種類が加算の場
合、信号線124−2には”0”が送出される。上位装
置から指示された演算の種類が減算の場合、信号線12
4−2には”1”が送出される。第1の浮動小数点デー
タおよび第2の浮動小数点データの符号は、信号線23
3−1および信号線233−2を介して、それぞれ送出
される。第1の浮動小数点データの符号と、第2の浮動
小数点データの符号が同一のとき、演算指示回路140
は、信号線124−2を介して受信した演算の種類と同
一の演算の種類を、信号線106−2を介して、仮数演
算部600に通知する。第1の浮動小数点データの符号
と、第2の浮動小数点データの符号が異なるとき、演算
指示回路140は、信号線124−2を介して受信した
演算の種類と反対の演算の種類を、仮数演算部600に
通知する。すなわち、信号線124−2が加算を指示し
ているときには、仮数演算部600に減算を通知する。
信号線124−2が減算を指示しているときには、仮数
演算部600に加算を通知する。
【0036】図9(a)を参照すると、丸め回路150
には、信号線125、信号線171および信号線106
が接続される。信号線125および信号線171が入力
信号線であり、信号線106が出力信号線である。信号
線125は、制御部120と丸め回路150を接続する
1ビットの信号線である。制御部120の送出した動作
開始信号は、信号線125を介して、丸め回路150に
伝送される。信号線171は、丸め−正規化データ生成
回路170と丸め回路150を接続する。信号線171
は、1ビットの信号線171−1と、2ビットの信号線
171−2とから構成される。
【0037】丸め回路150は、信号線171を介して
受信された、丸め−正規化データ生成回路170により
指示された丸め処理の演算の種類と、丸め処理用の定数
とを、信号線106を介して、仮数演算部600に通知
する機能を有する。この機能は、丸め処理に使用され
る。
【0038】図9(b)を参照すると、以上の機能を実
現するため、丸め回路150は、図9(b)に示された
入出力関係にしたがって、信号線106に信号を送出す
る。
【0039】図10(a)を参照すると、正規化回路1
60には、信号線126、信号線172、信号線103
および信号線105が接続される。信号線126および
信号線172は入力信号線であり、信号線103および
信号線105は出力信号線である。信号線126は、制
御部120と正規化回路160を接続する1ビットの信
号線である。制御部120の送出した動作開始信号は、
信号線126を介して、正規化回路160に伝送され
る。信号線172は、丸め−正規化データ生成回路17
0と正規化回路160を接続する1ビットの信号線であ
る。
【0040】正規化回路160は、信号線172を介し
て受信された、丸め−正規化データ生成回路170によ
り指示されるシフト量を、信号線105を介して、シフ
ト演算部500に通知する機能を有する。この機能は、
正規化処理で使用される。
【0041】図10(b)を参照すると、上述の機能を
信号線160は、図10(b)に示された入出力関係に
したがって、信号線103および信号線105に信号を
送出する。
【0042】図11を参照すると、丸め−正規化データ
生成回路170には、信号線703、信号線171およ
び信号線172が接続される。信号線703は入力信号
線であり、信号線171および信号線172は出力信号
線である。信号線703は、検出回路部700と丸め−
正規化データ生成回路170を接続する。信号線703
は、1ビットの信号線703−1と、1ビットの信号線
703−2と、8ビットの信号線703−3および70
3−4とから構成される。
【0043】丸め−正規化データ生成回路170は、以
下の2つの機能を有する。第1に、丸め−正規化データ
生成回路170は、信号線703を介して受信された第
1仮数レジスタ410の各ビットの状態に応じて、丸め
処理の演算の種類と、丸め処理用の定数とを生成し、こ
れらを、信号線171を介して、丸め回路150に通知
する機能を有する。第2に、丸め−正規化データ生成回
路170は、信号線703を介して受信された第1仮数
レジスタ410の各ビットの状態に応じて、正規化処理
用のシフト量を生成し、これを、信号線172を介し
て、正規化回路160に通知する機能を有する。
【0044】図12を参照すると、上述の機能を実現す
るため、丸め−正規化データ生成回路170は、図12
に示された入出力関係にしたがって、信号線171およ
び信号線172に信号を送出する。信号線171−2
に”00”が送出されているとき、丸め処理用の定数
は”00000000”である。信号線171−2に”
01”が送出されているとき、丸め処理用の定数は”0
0000008”である。信号線171−2に”10”
が送出されているとき、丸め処理用の定数は”0000
0080”である。信号線171−1に”0”が送出さ
れているとき、丸め処理の演算種類は加算である。この
場合、第1仮数レジスタ410の内容に、丸め用の定数
を加算した値が、第1仮数レジスタ410に設定され
る。信号線171−1に”1”が送出されているとき、
丸め処理の演算種類は減算である。この場合、丸め用の
定数から、第1仮数レジスタ410の値を減算した値
が、第1仮数レジスタ410に設定される。
【0045】図12に示されるように、丸め−正規化デ
ータ生成回路170は、実際に生じ得るあらゆる場合に
対して、丸め処理の演算種類と、丸め処理用の定数と、
正規化処理におけるシフト量とを生成することができ
る。図12中、Case12およびCase25は、実
際の演算によっては生じ得ない。Case11は、演算
結果が0になる場合である。この場合、以後の処理は不
要である。したがって、Case11が生じた場合に
は、例外的な処理を実行する。
【0046】図12に示された入出力関係の、具体的な
内容は、図13および図14に示されている。
【0047】図15(a)を参照すると、符号処理部2
30には、信号線102、信号線211、信号線22
1、信号線233および信号線231が接続される。信
号線102、信号線211および信号線221は、入力
信号線である。信号線233および信号線231は、出
力信号線である。信号線102は、演算動作制御部10
0と符号処理部230を接続する1ビットの信号線であ
る。信号線211は、第1符号レジスタ210と符号処
理部230とを接続する1ビットの信号線である。信号
線221は、第2符号レジスタ220と符号処理部23
0とを接続する1ビットの信号線である。第1符号レジ
スタ210および第2符号レジスタ220の内容は、信
号線211および信号線221を介して、符号処理部2
30に伝送される。信号線231は、符号処理部230
と第2符号レジスタ220とを接続する1ビットの信号
線である。符号処理部230は、信号線231を介し
て、第1符号レジスタ210を設定する。
【0048】符号処理部230は、以下の2つの機能を
有する。第1に、符号処理部230は、第1符号レジス
タ210および第2符号レジスタ220の内容を、信号
線233を介して、演算動作制御部100に通知する機
能を有する。第2に、信号線102を介して、演算動作
制御部100から送出された信号に基づいて、第1符号
レジスタ210の内容を反転する機能を有する。
【0049】図15(b)を参照すると、以上の機能を
実現するため、符号処理部230は、図15(b)に示
された入出力関係にしたがって、信号線233および信
号線231に信号を出力する。信号線102に”0”が
送出されているとき、符号処理部230は、上述した第
1の機能を実行する。信号線102に”1”が送出され
ているとき、符号処理部230は、上述した第2の機能
を実行する。
【0050】図16(a)を参照すると、指数演算部3
30には、信号線103、信号線311、信号線32
1、信号線333、信号線331および信号線332が
接続される。信号線311は、第1指数レジスタ310
と指数演算部330を接続する1ビットの信号線であ
る。信号線321は、第2指数レジスタ320と指数演
算部330を接続する1ビットの信号線である。第1指
数レジスタ310および第2指数レジスタ320の内容
は、信号線311および信号線321を介して、指数演
算部330に伝送される。信号線331は、指数演算部
330と第1指数レジスタ310を接続する7ビットの
信号線である。信号線332は、指数演算部330と第
2指数レジスタ320を接続する7ビットの信号線であ
る。指数演算部330は、信号線331および信号線3
32を介して、第1指数レジスタ310および第2指数
レジスタ320を設定する。
【0051】指数演算部330は、以下の2つの機能を
有する。第1に、指数演算部330は、第1指数レジス
タ310および第2指数レジスタ320の内容に、信号
線103−3上に送出された数を加算する機能を有す
る。この第1の機能は、桁合わせ処理および正規化処理
の際に利用される。第2に、指数演算部330は、第1
指数レジスタ310の値と、第2指数レジスタ320の
値との差分を、信号線333を介して、演算動作制御部
100に通知する機能を有する。この第2の機能は、桁
合わせ処理の際に使用される。
【0052】図16(b)を参照すると、以上の機能を
実現するため、指数演算部330は、図16(b)に示
された入出力関係にしたがって信号線331、信号線3
32および信号線333に信号を出力する。信号線10
3−1に”0”が送出されているとき、指数演算部33
0は、上述した第1の機能を実行する。信号線103−
1に”1”が送出されているとき、指数演算部330
は、上述した第2の機能を実行する。
【0053】図17(a)を参照すると、シフト演算部
500には、信号線105、信号線415、信号線42
5、信号線501および信号線502が接続される。信
号線415および信号線501は、第1仮数レジスタ4
10とシフト演算部500とを接続する32ビットの信
号線である。信号線425および信号線502は、第2
仮数レジスタ420とシフト演算部500を接続する3
2ビットの信号線である。第1仮数レジスタ410およ
び第2仮数レジスタ420の内容は、信号線415およ
び信号線425を介して、シフト演算部500に伝送さ
れる。シフト演算部500は、信号線501および信号
線502を介して第1仮数レジスタ410および第2仮
数レジスタ420を設定する。
【0054】シフト演算部500は、第1仮数レジスタ
410および第2仮数レジスタ420の内容を、信号線
105−2を介して受信した桁数だけシフトする機能を
有する。この機能は、桁合わせ処理および正規化処理を
実行する際に、利用される。
【0055】図17(b)を参照すると、以上の機能を
実現するため、シフト演算部500は、図17(b)に
示された入出力関係にしたがって、信号線501および
信号線502に信号を送出する。信号線105−1に”
0”が送出されているとき、シフト演算部500は、第
1仮数レジスタ410をシフトする。信号線105−1
に”1”が送出されているとき、シフト演算部500
は、第2仮数レジスタ420をシフトする。
【0056】図18(a)を参照すると、仮数演算部6
00には、信号線106、信号線416、信号線42
6、信号線601および信号線602が接続される。信
号線416および信号線601は、第1仮数レジスタ4
10と仮数演算部600とを接続する32ビットの信号
線である。信号線426および信号線602は、第2仮
数レジスタ420と仮数演算部600を接続する32ビ
ットの信号線である。第1仮数レジスタ410および第
2仮数レジスタ420の内容は、信号線416および信
号線426を介して、仮数演算部600に伝送される。
仮数演算部600は、信号線601および信号線602
を介して第1仮数レジスタ410および第2仮数レジス
タ420を設定する。
【0057】仮数演算部600は、次の3つの機能を有
する。第1に、仮数演算部600は、第1仮数レジスタ
410の内容と、第2仮数レジスタ420の内容とを、
信号線106上の信号に応じて、加算もしくは減算し
て、その結果を第1仮数レジスタ410に格納する機能
を有する。この第1の機能は、仮数部Mの加減算を実行
する際に利用される。第2に、仮数演算部600は、信
号線106−3上の信号によって指定される丸め定数
を、第1仮数レジスタ410の内容に加算する機能を有
する。第3に、仮数演算部600は、信号線106−3
上の信号によって指定される丸め定数から、第1仮数レ
ジスタ410の内容を減算し、その結果を第1仮数レジ
スタ410に格納する機能を有する。上述の第2の機能
および第3の機能は、仮数部の事後処理と丸め処理とを
同時に実行する際に利用される。
【0058】図18(b)を参照すると、以上の機能を
実現するため、仮数演算部600は、図18(b)に示
された入出力関係にしたがって、信号線601および信
号線602に信号を送出する。信号線106−1に”
0”が送出されているとき、仮数演算部600は、上述
の第1の機能を実行する。信号線106−1に”1”
が、信号線106−2に”0”が、それぞれ送出されて
いるとき、仮数演算部600は上述の第2の機能を実行
する。信号線106−1に”1”が、信号線106−2
に”1”が、それぞれ送出されているとき、仮数演算部
600は上述の第3の機能を実行する。上述の第2の機
能および第3の機能の実行に際して、第1仮数レジスタ
410の内容に加算されるべき丸め用定数は、信号線1
06上の信号により指定される。信号線106−3上
に”00”が送出されているとき、丸め用定数は”00
000000”である。信号線106−3上に”01”
が送出されているとき、丸め用定数は”0000000
8”である。信号線106−3上に”10”が送出され
ているとき、丸め用定数は”00000080”であ
る。
【0059】次に、図19を参照することにより、本実
施例の演算動作の概略が説明される。図19を参照する
と、ステップ1において、信号線1、信号線2および信
号線3を介して、命令、第1の浮動小数点データおよび
第2の浮動小数点データが入力される。ステップ2にお
いて、第1符号レジスタ210、第2符号レジスタ22
0、第1指数レジスタ310、第2指数レジスタ32
0、第1仮数レジスタ410および第2仮数レジスタ4
20の値が設定される。この設定は、演算動作制御部1
00の制御によって行われる。この制御は、演算動作制
御部100の、図6には図示されない回路によって実行
される。ステップ3において、演算処理が実行され、第
1符号レシスタ210、第1指数レジスタ310および
第1仮数レジスタ410に、演算結果が設定される。ス
テップ4において、信号線4を介して演算結果が出力さ
れる。
【0060】次に、図20および図21を参照すること
により、0.FFFFFFH×(16××9)+0.0
00098H×(16××9)=0.100001H×
(16××10)を演算する場合の、ステップ3におけ
る処理が説明される。この演算は、符号の反転が生じな
いタイプの演算である。
【0061】制御部120の動作のフローチャートであ
る図20を参照すると、ステップ3は、ステップ30〜
ステップ35の6つのステップとを含む。ステップ31
では、桁合わせが実行される。ステップ31はステップ
311とステップ312とを含む。ステップ32では、
仮数部Mが演算される。ステップ32は、ステップ32
1と、ステップ322と、ステップ323とを含む。ス
テップ33では、丸め処理が実行される。ステップ34
では、正規化処理が実行される。この正規化処理は、従
来技術の第2の正規化処理に相当する。ステップ35で
は、符号処理が実行される。ステップ35は、ステップ
351と、ステップ352とを含む。
【0062】図23と、以上に説明したステップ3の一
連の処理とを比較すると、本実施例では、第1の正規化
処理の他に、仮数部の事後処理をも削除されていること
がわかる。これが本実施例の特徴である。
【0063】第1仮数レジスタ410および第2仮数レ
ジスタ420の内容を示す図21を参照すると、ステッ
プ2の終了時には、第1符号レジスタ210、第1仮数
レジスタ410および第1指数レジスタ310には、”
0”、0FFFFFF0Hおよび+9が、それぞれ格納
されている。第2符号レジスタ220、第2仮数レジス
タ420および第2指数レジスタ320には、”0”、
00000980Hおよび+8がそれぞれ格納されてい
る。
【0064】図20を参照すると、ステップ30におい
て、制御部120は、信号線111に送出されている信
号を、レジスタaに格納する。この場合、信号線3を介
して、加算命令が送出されている。したがって、レジス
タaには、”0”が格納される。
【0065】図20を参照すると、ステップ311にお
いて、制御部120は、信号線123−1に動作開始信
号を送出し、桁合わせ回路130を起動する。これと同
時に、信号線123−2に”1”が送出される。図7
(a)を参照すると、この場合、x1=”1”である。
したがって、図7(b)を参照すると、桁合わせ回路1
30は、信号線103−1に”1”を送出する。図16
(a)を参照すると、この場合、z1=”1”、x1=
+9、x2=+8である。したがって、図16(b)を
参照すると、指数演算部330は、x1−x2=0を、
信号線332に送出する。
【0066】図20を参照すると、ステップ312にお
いて、制御部120は、信号線123−1に動作開始信
号を送出し、桁合わせ回路130を起動する。これと同
時に、信号線123−2に”0”が送出される。図7
(a)を参照すると、この場合、x1=”0”、x2=
+1である。図7(b)を参照すると、x2=+1>0
であるので、桁合わせ回路130は、信号線103−1
に”0”を、信号線103−2に”1”を、信号線10
3−3に|x2|=+1を送出する。図16(a)を参
照すると、この場合、z1=”0”、z2=”1”、z
3=+1である。したがって、図16(b)を参照する
と、指数演算部330は、信号線332を介して、第1
指数レジスタ310に(+8)+(+1)=+9を設定
する。
【0067】再び図7(a)を参照すると、これと同時
に、桁合わせ回路130は、信号線105=1に”0”
を、信号線105−2に|x2|=+1を送出する。図
17(a)を参照すると、この場合、z1=”0”、z
2=+1、x2=08000000Hである。したがっ
て、シフト演算部500は、信号線502を介して、第
2仮数レジスタ420の内容を設定する。この場合、第
2仮数レジスタ420には、x1を右にz2=+1桁シ
フトした00000098Hが設定される。
【0068】ステップ31終了時の第1仮数レジスタ4
10および第2仮数レジスタ420の状態は、図21に
示されている。
【0069】図20を参照すると、ステップ321にお
いて、制御部120は、信号線102に”0”を送出す
る。図15(a)を参照すると、この場合、z=”
0”、x1=”0”、x2=”0”である。したがっ
て、図15(b)を参照すると、符号処理部230は、
信号線233−1に、第1符号レジスタ210の内容で
あるx1=”0”を送出する。同時に、符号処理部23
0は、信号線233−2に、第2符号レジスタ220の
内容であるx2=”0”を送出する。
【0070】図20を参照すると、ステップ322にお
いて、制御部120は、信号線124−1動作開始信号
を送出し、演算指示回路140を起動する。これと同時
に、信号線124−2にはレジスタaの内容が送出され
る。この場合、”0”が信号線124−2に送出され
る。図8(a)を参照すると、この場合、x1=”
1”、x2=”0”、x2=”0”である。したがっ
て、演算指示回路140は、信号線106−1に”0”
を、信号線106−2に”0”を、それぞれ送出する。
図18(a)を参照すると、この場合、z1=”0”、
z2=”0”、x1=0FFFFFF0H、x2=00
000098Hである。したがって、図18(b)を参
照すると、仮数演算部600は、信号線601を介し
て、第1仮数レジスタ410に、x1+x2=1000
0088Hを設定する。
【0071】図20を参照すると、ステップ323にお
いて、制御部120は、信号線703−1上に送出され
ている信号を、レジスタbに格納する。この場合、”
0”がレジスタbに格納される。
【0072】ステップ32終了後の第1仮数レジスタ4
10の状態は、図21に示されている。図21、図5
(a)および図5(b)を参照すると、この場合、検出
回路部700は、信号線703−1に”0”を、信号線
703−2に”1”を、信号線703−3に”0111
1100”を、信号線703−4に”0000000
0”を、それぞれ送出する。図11を参照すると、この
場合、x1=”0”、x2=”1”、x3=”0111
1100”、x4=”00000000”である。図1
2を参照すると、これはCase1に該当する。したが
って、丸め−正規化データ生成回路170は、信号線1
71−1に”0”を、信号線171−2に”10”を、
信号線171−3に+1を、それぞれ送出する。
【0073】図20を参照すると、ステップ33におい
て、制御部120は、信号線125に動作開始信号を送
出し、丸め回路150を起動する。図9(a)を参照す
ると、この場合、x1=”0”、x2=”10”であ
る。したがって、丸め回路150は、信号線106−1
に”1”を、信号線106−2にx2=”10”を、信
号線106−3にx3=”10”を、それぞれ送出す
る。図18(a)を参照すると、この場合、z1=”
1”、z2=”1”、z3=”10”、x1=”100
00088”である。したがって、仮数演算部600
は、信号線601を介して、第1仮数レジスタ410
に、x1+00000080H=10000108Hを
設定する。
【0074】図20を参照すると、ステップ34におい
て、制御部120は、信号線126へ動作開始信号を送
出し、正規化回路160を起動する。図10(a)を参
照すると、この場合、x=+1である。したがって、図
10(b)を参照すると、正規化回路160は、信号線
103−1に”0”を、信号線103−2に”0”を、
信号線103−3にx=+1を、それぞれ送出する。図
16(a)を参照すると、この場合、z1=”0”、z
2=”0”、z3=+1、x1=+9である。したがっ
て、図16(b)を参照すると、指数演算部330は、
信号線331を介して、第1指数レジスタ310に、x
1+z3=+9を設定する。
【0075】再び図20を参照すると、ステップ34に
おいて、正規化回路160は、信号線105−1に”
0”を、信号線105−2にx=+1を送出する。図1
7(a)を参照すると、この場合、z1=”0”、z2
=+1、x1=10000108Hである。したがっ
て、図17(b)を参照すると、シフト演算部500
は、信号線501にx1を右に1桁シフトしたデータを
送出する。この結果、第1仮数レジスタ410の内容
は、右に1桁シフトされる。この場合、第1仮数レジス
タ410の内容は、01000010Hになる。 ステ
ップ34終了後の第1仮数レジスタ410の内容は、図
21に示されている。
【0076】図20を参照すると、ステップ351にお
いて、bの値が判定される。この場合、b=”0”であ
るので、制御部120の動作が終了する。
【0077】図21を参照すると、ステップ4におい
て、信号線4には、第1符号レジスタ210、第1指数
レジスタ310および第1仮数レジスタ410の第1桁
〜第6桁に格納された演算結果が送出される。
【0078】次に、図20および図22を参照すること
により、0.800000H×(16××2)−0.1
00001H×(16××8)=−0.100001H
×(16××8)を演算する場合の、ステップ3におけ
る処理が説明される。この演算は、符号の反転が生じる
タイプの演算である。
【0079】第1仮数レジスタ410および第2仮数レ
ジスタ420の内容を示す図22を参照すると、ステッ
プ2の終了時には、第1符号レジスタ210、第1仮数
レジスタ410および第1指数レジスタ310には、”
0”、08000000Hおよび+2が、それぞれ格納
されている。第2符号レジスタ220、第2仮数レジス
タ420および第2指数レジスタ320には、”0”、
01000010Hおよび+8がそれぞれ格納されてい
る。
【0080】図20を参照すると、ステップ30におい
て、制御部120は、信号線111に送出されている信
号を、レジスタaに格納する。この場合、信号線3を介
して、減算命令が送出されている。したがって、レジス
タaには、”1”が格納される。
【0081】図20を参照すると、ステップ311にお
いて、制御部120は、信号線123−1に動作開始信
号を送出し、桁合わせ回路130を起動する。これと同
時に、信号線123−2に”1”が送出される。図7
(a)を参照すると、この場合、x1=”1”である。
したがって、図7(b)を参照すると、桁合わせ回路1
30は、信号線103−1に”1”を送出する。図16
(a)を参照すると、この場合、z1=”1”、x1=
+2、x2=+8である。したがって、図16(b)を
参照すると、指数演算部330は、x1−x2=−6
を、信号線332に送出する。
【0082】図20を参照すると、ステップ312にお
いて、制御部120は、信号線123−1に動作開始信
号を送出し、桁合わせ回路130を起動する。これと同
時に、信号線123−2に”0”が送出される。図7
(a)を参照すると、この場合、x1=”0”、x2=
−6である。図7(b)を参照すると、x2=−6<0
であるので、桁合わせ回路130は、信号線103−1
に”0”を、信号線103−2に”0”を、信号線10
3−3に|x2|=+6を送出する。図16(a)を参
照すると、この場合、z1=”0”、z2=”0”、z
3=+6である。したがって、図16(b)を参照する
と、指数演算部330は、信号線332を介して、第1
指数レジスタ310に(+2)+(+6)=+8を設定
する。
【0083】再び図7(a)を参照すると、これと同時
に、桁合わせ回路130は、信号線105−1に”1”
を、信号線105−2に|x2|=+6を送出する。図
17(a)を参照すると、この場合、z1=”1”、z
2=+6、x1=”08000000”である。したが
って、シフト演算部500は、信号線502を介して、
第1仮数レジスタ410の内容を設定する。この場合、
第1仮数レジスタ410には、x1を右にz2=+6桁
シフトした00000008Hが設定される。
【0084】ステップ31終了時の第1仮数レジスタ4
10および第2仮数レジスタ420の状態は、図21に
示されている。
【0085】図20を参照すると、ステップ321にお
いて、制御部120は、信号線102に”0”を送出す
る。図15(a)を参照すると、この場合、z=”
0”、x1=”0”、x2=”0”である。したがっ
て、図15(b)を参照すると、符号処理部230は、
信号線233−1に、第1符号レジスタ210の内容で
あるx1=”0”を送出する。同時に、符号処理部23
0は、信号線233−2に、第2符号レジスタ220の
内容であるx2=”0”を送出する。
【0086】図20を参照すると、ステップ322にお
いて、制御部120は、信号線124−1動作開始信号
を送出し、演算指示回路140を起動する。これと同時
に、信号線124−2にはレジスタaの内容が送出され
る。この場合、減算を示す”1”が信号線124−2に
送出される。図8(a)を参照すると、この場合、x1
=”1”、x2=”0”、x2=”0”である。したが
って、演算指示回路140は、信号線106−1に”
0”を、信号線106−2に”1”を、それぞれ送出す
る。図18(a)を参照すると、この場合、z1=”
0”、z2=”1”、x1=00000008H、x2
=01000010Hである。したがって、図18
(b)を参照すると、仮数演算部600は、信号線60
1を介して、第1仮数レジスタ410に、x1−x2
=”FEFFFFF8”を設定する。
【0087】図20を参照すると、ステップ323にお
いて、制御部120は、信号線703−1上に送出され
ている信号を、レジスタbに格納する。この場合、”
1”がレジスタbに格納される。
【0088】ステップ32終了後の第1仮数レジスタ4
10の状態は、図21に示されている。図21、図5
(a)および図5(b)を参照すると、この場合、検出
回路部700は、信号線703−1に”1”を、信号線
703−2に”1”を、信号線703−3に”0000
0000”を、信号線703−4に”1011111
0”を、それぞれ送出する。図11を参照すると、この
場合、x1=”0”、x2=”1”、x3=”0000
0000”、x4=”10111110”である。図1
2を参照すると、これはCase13に該当する。した
がって、丸め−正規化データ生成回路170は、信号線
171−1に”1”を、信号線171−2に”01”
を、信号線171−3に0を、それぞれ送出する。
【0089】図20を参照すると、ステップ33におい
て、制御部120は、信号線125に動作開始信号を送
出し、丸め回路150を起動する。図9(a)を参照す
ると、この場合、x1=”1”、x2=”01”であ
る。したがって、丸め回路150は、信号線106−1
に”1”を、信号線106−2にx2=”1”を、信号
線106−3にx3=”01”を、それぞれ送出する。
図18(a)を参照すると、この場合、z1=”1”、
z2=”1”、z3=”01”、x1=”FEFFFF
F8”である。したがって、仮数演算部600は、信号
線601を介して、第1仮数レジスタ410に、”00
000008”−x1=”01000010”を設定す
る。この演算において、x1の符号が反転されることに
よって、仮数部の内容は正の数に変換される。また、最
下位桁において、16進数8Hからx1の内容が減算さ
れる。これによって、丸め処理も同時に実行される。し
たがって、ステップ33で、仮数部の事後処理と丸め処
理とが同時に実行される。
【0090】図20を参照すると、ステップ34におい
て、制御部120は、信号線126へ動作開始信号を送
出し、正規化回路160を起動する。図10(a)を参
照すると、この場合、x=0である。したがって、図1
0(b)を参照すると、正規化回路160は、信号線1
03−1に”0”を、信号線103−2に”0”を、信
号線103−3にx=0を、それぞれ送出する。図16
(a)を参照すると、この場合、z1=”0”、z2
=”0”、z3=0、x1=+8である。したがって、
図16(b)を参照すると、指数演算部330は、信号
線331を介して、第1指数レジスタ310に、x1+
z3=+8を設定する。 再び図20を参照すると、ス
テップ34において、正規化回路160は、信号線10
5−1に”0”を、信号線105−2にx=0を送出す
る。図17(a)を参照すると、この場合、z1=”
0”、z2=0、x1=”01000010”である。
したがって、図17(b)を参照すると、シフト演算部
500は、信号線501にx1を右に0桁シフトしたデ
ータを送出する。この場合、実質的には、何の処理も行
われない。したがって、、第1仮数レジスタ410の内
容は、01000010のまま変化しない。
【0091】ステップ34終了後の第1仮数レジスタ4
10の内容は、図21に示されている。
【0092】図20を参照すると、ステップ351にお
いて、bの値が判定される。この場合、b=”1”であ
るので、ステップ352の処理が実行される。
【0093】図20を参照すると、ステップ352にお
いて、信号線102に”1”が送出される。図15
(a)を参照すると、この場合、z=”1”、x1=”
0”である。したがって、図15(b)を参照すると、
符号処理部230は、信号線231を介して、第1符号
レジスタ210に、x1の反転である”1”を設定す
る。
【0094】図21を参照すると、ステップ4におい
て、信号線4には、第1符号レジスタ210、第1指数
レジスタ310および第1仮数レジスタ410の第1桁
〜第6桁に格納された演算結果が送出される。
【0095】本発明は、その精神または主要な特徴から
逸脱することなく、他のいろいろな形で実施することが
できる。
【0096】例えば、この実施例では、負数を2の補数
で表した。しかしながら、他の補数で負の数を表すこと
も可能である。この場合は、図12に示される、丸め=
正規化データ生成回路170の入出力関係が変更され
る。さらに、この実施例では、本発明が加減算演算器に
適用されたが、本発明を、他の種類の演算器に使用する
ことも可能である。この場合は、図12に示される、丸
め−正規化データ生成回路170の入出力関係が変更さ
れる。
【0097】したがって、本明細書に記載した好ましい
実施例は例示的なものであり限定的なものではない。本
発明の範囲は添付のクレームによって示されており、そ
れらのクレームの意味の中に入る全ての変形例は本発明
に含まれるものである。
【0098】
【発明の効果】以上説明したように、本実施例では、仮
数部の事後処理と丸め処理とが同時に実行される。した
がって、本実施例では、第1の正規化処理の他に、仮数
部の事後処理をも省略することができる。このため、本
実施例によれば、演算を高速に実行することができる。
【図面の簡単な説明】
【図1】(a)〜(b)は、本発明の実施例で採用され
る浮動小数点数形式を示す図。(c)は、図1に示され
た浮動小数点数形式により表された数の一例を示す図。
(d)は、図1(c)に示された浮動小数点数形式によ
り表された数の記述形式を示す図。
【図2】本発明の実施例で採用された保護桁の付加方法
を示す図。
【図3】(a)は、正規化処理の一例を示す図。(b)
は、丸め処理の一例を示す図。(c)は、仮数部の事後
処理の一例を示す図。(d)は、符号処理の一例を示す
図。
【図4】本発明の実施例の構造を示すブロック図。
【図5】(a)は、検出回路部700の接続構造を示す
線図。(b)は、検出回路部700の内部構造を示す回
路図。
【図6】演算動作制御部100の構造を示すブロック
図。
【図7】(a)は、桁合わせ回路130の接続構造を示
す線図。(b)は、桁合わせ回路130の入出力関係を
示す図。
【図8】(a)は、演算指示回路140の接続構造を示
す線図。(b)は、演算指示回路140の入出力関係を
示す図。
【図9】(a)は、丸め回路150の接続構造を示す線
図。(b)は、丸め回路150の入出力関係を示す図。
【図10】(a)は、正規化回路160の接続構造を示
す線図。(b)は、正規化回路160の入出力関係を示
す図。
【図11】丸め−正規化データ生成回路170の接続構
造を示す線図。
【図12】丸め−正規化データ生成回路170の入出力
関係を示す図。
【図13】丸め−正規化データ生成回路170の入出力
関係を示す図。
【図14】丸め−正規化データ生成回路170の入出力
関係を示す図。
【図15】(a)は、符号処理部230の接続構造を示
す線図。(b)は、符号処理部230の入出力関係を示
す図。
【図16】(a)は、指数演算部330の接続構造を示
す線図。(b)は、指数演算部330の入出力関係を示
す図。
【図17】(a)は、シフト演算部500の接続構造を
示す線図。(b)は、シフト演算部500の入出力関係
を示す図。
【図18】(a)は、仮数演算部600の接続構造を示
す線図。(b)は、仮数演算部600の入出力関係を示
す図。
【図19】本発明の実施例の動作を示すフローチャー
ト。
【図20】制御部120の動作を示すフローチャート。
【図21】演算動作中の、第1仮数レジスタ410およ
び第2仮数レジスタ420の内容の変化を示す図。
【図22】演算動作中の、第1仮数レジスタ410およ
び第2仮数レジスタ420の内容の変化を示す図。
【図23】従来技術の動作を示す図。
【符号の説明】
100 演算動作制御部 110 デコード回路 120 制御部 130 桁合わせ回路 140 演算指示回路 150 丸め回路 160 正規化回路 170 丸め−正規化データ生成回路 210 第1符号レジスタ 220 第2符号レジスタ 230 符号処理部 310 第1指数レジスタ 320 第2指数レジスタ 330 指数演算部 410 第1仮数レジスタ 420 第2仮数レジスタ 500 シフト演算部 600 仮数演算部 700 検出回路部 710〜717 NOR回路 720〜727 AND回路

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、前記仮数レジスタの各桁を構成するビットが
    全て0であるか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、を検出して出力する検出回路部と、 前記検出回路部の出力に応じて、演算の種類と、第1の
    数値と、第2の数値とを出力する丸め−正規化データ生
    成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部とを含む浮動小数点演算装置。
  2. 【請求項2】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、 前記仮数レジスタの各桁を構成するビットが全て0であ
    るか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、を検出して出力する検出回路部と、 前記検出回路部の出力に応じて、演算の種類と、第1の
    数値と、第2の数値とを出力する丸め−正規化データ生
    成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部とを含む浮動小数点演算装置において、 前記仮数演算部の出力する数値を前記仮数レジスタに格
    納する第1のステップと、 第1のステップの終了後に、前記シフト演算部を起動す
    る第2のステップを含むことを特徴とする浮動小数点演
    算方法。
  3. 【請求項3】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、 前記仮数レジスタの各桁を構成するビットが全て0であ
    るか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、 前記仮数レジスタに保持される数値が負であるか否か、 前記仮数レジスタの最下位桁の最上位ビットが1である
    か否か、を検出して出力する検出回路部と、 前記検出回路部の出力に応じて、演算の種類と、第1の
    数値と、第2の数値とを出力する丸め−正規化データ生
    成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部とを含む浮動小数点演算装置。
  4. 【請求項4】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、 前記浮動小数点数の指数部を保持する指数レジスタと、 前記仮数レジスタの各桁を構成するビットが全て0であ
    るか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、を検出して出力する検出回路部と、 前記検出回路部の出力に応じて、演算の種類と、第1の
    数値と、第2の数値とを出力する丸め−正規化データ生
    成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の 数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記指数レジスタの内容から前記
    第2の数値を減算した値を出力する指数演算部とを含む
    ことを特徴とする浮動小数点演算装置。
  5. 【請求項5】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、 前記浮動小数点数の指数部を保持する指数レジスタと、 前記仮数レジスタの各桁を構成するビットが全て0であ
    るか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、 前記仮数レジスタに保持される数値が負であるか否か、 前記仮数レジスタの最下位桁の最上位ビットが1である
    か否か、を検出して出力する検出回路部と、 前記検出回路部の出力に応じて、演算の種類と、第1の
    数値と、第2の数値とを出力する丸め−正規化データ生
    成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記指数レジスタの内容から前記
    第2の数値を減算した値を出力する指数演算部と を含む
    ことを特徴とする浮動小数点演算装置。
  6. 【請求項6】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、前記浮動小数点数の指数部を保持する指数レ
    ジスタと、前記浮動小数点数の符号ビットを保持する符
    号レジスタと、 前記仮数レジスタの各桁を構成するビットが全て0であ
    るか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、 前記仮数レジスタに保持される数値が負であるか否か、 を検出して出力する検出回路部と、 前記検出回路部が前記仮数レジスタに保持されている数
    値が負であることを検出したときに、前記符号レジスタ
    の内容を反転する符号処理部と、 丸め−正規化データ生成回路の出力に応じて、演算の種
    類と、第1の数値と、第2の数値とを出力する丸め−正
    規化データ生成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部と、 前記丸め−正規化データ生成回路170から出力される
    前記第2の数値を入力して、前記指数レジスタの内容か
    ら前記第2の数値を減算した値を出力する指数演算部と
    を含むことを特徴とする浮動小数点演算装置。
  7. 【請求項7】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、前記浮動小数点数の指数部を保持する指数レ
    ジスタと、前記浮動小数点数の符号ビットを保持する符
    号レジスタと、 前記仮数レジスタの各桁を構成するビットが全て0であ
    るか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、 前記仮数レジスタに保持される数値が負であるか否か、 前記仮数レジスタの最下位桁の最上位ビットが1である
    か否か、を検出して出力する検出回路部と、 前記検出回路部が前記仮数レジスタに保持されている数
    値が負であることを検出したときに、前記符号レジスタ
    の内容を反転する符号処理部と、 丸め−正規化データ生成回路の出力に応じて、演算の種
    類と、第1の数値と、第2の数値とを出力する丸め−正
    規化データ生成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部と、 前記丸め−正規化データ生成回路170から出力される
    前記第2の数値を入力して、前記指数レジスタの内容か
    ら前記第2の数値を減算した値を出力する指数演算部と
    を含むことを特徴とする浮動小数点演算装置。
  8. 【請求項8】 浮動小数点数の仮数部を保持する仮数レ
    ジスタと、前記浮動小数点数の指数部を保持する指数レ
    ジスタと、前記浮動小数点数の符号ビットを保持する符
    号レジスタと、 前記仮数レジスタの各桁を構成するビットが全て0であ
    るか否か、 前記仮数レジスタの各桁を構成するビットが全て1であ
    るか否か、 前記仮数レジスタに保持される数値が負であるか否か、 前記仮数レジスタの最下位桁の最上位ビットが1である
    か否か、を検出して出力する検出回路部と、 前記検出回路部が前記仮数レジスタに保持されている数
    値が負であることを検出したときに、前記符号レジスタ
    の内容を反転する符号処理部と、 丸め−正規化データ生成回路の出力に応じて、演算の種
    類と、第1の数値と、第2の数値とを出力する丸め−正
    規化データ生成回路と、 前記丸め−正規化データ生成回路から出力される前記演
    算の種類と、前記第1の数値とを入力して、前記演算の
    種類が加算のときには、前記仮数レジスタの内容に前記
    第1の数値を加算した数値を出力し、前記演算の種類が
    減算のときには、前記第1の数値から前記仮数レジスタ
    の内容を減算した数値を出力する仮数演算部と、 前記丸め−正規化データ生成回路から出力される前記第
    2の数値を入力して、前記第2の数値により指定される
    桁数だけシフトされた前記仮数レジスタの内容を出力す
    るシフト演算部と、 前記丸め−正規化データ生成回路170から出力される
    前記第2の数値を入力して、前記指数レジスタの内容か
    ら前記第2の数値を減算した値を出力する指数演算部と
    を含む浮動小数点演算装置において、 前記仮数演算部の出力する数値を前記仮数レジスタに格
    納する第1のステップと、 第1のステップの終了後に、前記シフト演算部を起動す
    る第2のステップを含むことを特徴とする浮動小数点演
    算方法。
JP5237517A 1992-08-18 1993-08-18 浮動小数点演算装置 Expired - Lifetime JP2842768B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5237517A JP2842768B2 (ja) 1992-08-18 1993-08-18 浮動小数点演算装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP21885792 1992-08-18
JP4-218857 1992-08-18
JP5237517A JP2842768B2 (ja) 1992-08-18 1993-08-18 浮動小数点演算装置

Publications (2)

Publication Number Publication Date
JPH06195199A JPH06195199A (ja) 1994-07-15
JP2842768B2 true JP2842768B2 (ja) 1999-01-06

Family

ID=26522786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5237517A Expired - Lifetime JP2842768B2 (ja) 1992-08-18 1993-08-18 浮動小数点演算装置

Country Status (1)

Country Link
JP (1) JP2842768B2 (ja)

Also Published As

Publication number Publication date
JPH06195199A (ja) 1994-07-15

Similar Documents

Publication Publication Date Title
US5469377A (en) Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1
US11698772B2 (en) Prepare for shorter precision (round for reround) mode in a decimal floating-point instruction
JP6333439B2 (ja) 命令に応じた丸め処理の実行
EP0540150B1 (en) Arithmetic logic unit
US10331404B2 (en) Number format pre-conversion instructions
JPH07225671A (ja) 結果正規化機構と動作の方法
JPH0644225B2 (ja) 浮動小数点丸め正規化回路
JP3178746B2 (ja) 浮動小数点数のためのフォーマット変換装置
JPH0544046B2 (ja)
US5247471A (en) Radix aligner for floating point addition and subtraction
WO1989002119A1 (en) Apparatus and method for using a single carry chain for leading one detection and for ''sticky'' bit calculation
JPH05224883A (ja) 浮動小数点n−ビット符号付大きさの2進数を固定小数点m−ビット2の補数表示の2進数に変換するためのシステム
JPH09212337A (ja) 浮動小数点演算処理装置
US4110831A (en) Method and means for tracking digit significance in arithmetic operations executed on decimal computers
JP2842768B2 (ja) 浮動小数点演算装置
CN112667197B (zh) 一种基于posit浮点数格式的参数化加减法运算电路
JPS5917457B2 (ja) 2進化10進訂正装置
CN112671411B (zh) 一种基于ieee 754和posit的浮点数据格式的双向转换电路
JP3137131B2 (ja) 浮動小数点乗算器及び乗算方法
JPH0435777B2 (ja)
JPS6252330B2 (ja)
JPH0413734B2 (ja)
JPH0325526A (ja) 浮動小数点丸め方式
JPS6019238A (ja) 10進演算装置
JPS61138332A (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: 19980922