JPH01240927A - 浮動小数点演算装置 - Google Patents
浮動小数点演算装置Info
- Publication number
- JPH01240927A JPH01240927A JP63068600A JP6860088A JPH01240927A JP H01240927 A JPH01240927 A JP H01240927A JP 63068600 A JP63068600 A JP 63068600A JP 6860088 A JP6860088 A JP 6860088A JP H01240927 A JPH01240927 A JP H01240927A
- Authority
- JP
- Japan
- Prior art keywords
- digit
- rounding
- carry
- circuit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/544—Indexing scheme relating to group G06F7/544
- G06F2207/5442—Absolute difference
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49942—Significance control
- G06F7/49947—Rounding
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/508—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、浮動小数点演算装置に係り、特に2つの浮動
小数点データの仮数部の加算あるいは減算と結果の丸め
を高速に実行するようにした浮動小数点滴は装置に関す
るものである。
小数点データの仮数部の加算あるいは減算と結果の丸め
を高速に実行するようにした浮動小数点滴は装置に関す
るものである。
従来の技術
従来の浮動小数点データの加減算は、例えば第5図に示
すブロック図のような構成で行われていた。第5図にお
いて、Ex−FXは入力データXのそれぞれ指数部およ
び仮数部データ、E Y ” F Yは入力データYの
それぞれ指数部および仮数部データ、501は指数比較
回路、502,503゜504は選択回路、505はシ
フタ、506および508は補数回路、507は加算器
、509は丸め回路、510は正規化回路、EZ−FZ
は加減算結果の出力データZのそれぞれ指数部および仮
数部である。
すブロック図のような構成で行われていた。第5図にお
いて、Ex−FXは入力データXのそれぞれ指数部およ
び仮数部データ、E Y ” F Yは入力データYの
それぞれ指数部および仮数部データ、501は指数比較
回路、502,503゜504は選択回路、505はシ
フタ、506および508は補数回路、507は加算器
、509は丸め回路、510は正規化回路、EZ−FZ
は加減算結果の出力データZのそれぞれ指数部および仮
数部である。
以下に第5図のブロック図の動作を説明する。
まず、指数比較回路501により、人力データXおよび
Yの指数部Ex、Eyを比較し、大きな指数の値をもつ
入力データの仮数部が、シック505に入力され、さら
に、指数部データExおよびEyのうち大きな値をもつ
指数部データが正規化回路509に入力されるように選
択回路502.503および504が制御される。また
、この時指数部データの差の値がシック505に人力さ
れる。次に、シック505に加えられた仮数部データを
指数部データの差の分だけ右にシフトして桁合わせをす
る。この時、シフトにより右にはみだした桁は上位から
保護桁(カードピッ1−)、丸め桁(ラウンドビット)
、それ以下の全桁については論理和をとり添付術(ステ
イッキビット)として最下位桁に3桁付加され、演算結
果の丸めに用いられる。この後、補数回路506により
、仮数部のデータに関する演算が加算である場合には、
選択回路502から出力される仮数部データをそのまま
加算器507に出力し、減算の場合には選択回路502
から出力される仮数部データの2の補数値を生成して加
算器507に出力する。次に、加算器507により2つ
の桁合わせされた仮数部データを加算する。次に、絶対
値化された仮数部の結果を求めるために、補数回路50
8により、加算器507の結果が正である場合には加算
器507の結果をそのまま丸め回路509に出力し、負
である場合には加算器507の結果の2の補数値を生成
して丸め回路509に出力する。丸め回路509では、
仮数部の演算結果を丸め、最後に正規化回路510によ
り、桁合わせおよび指数部の補正などを行って演算を終
了する。
Yの指数部Ex、Eyを比較し、大きな指数の値をもつ
入力データの仮数部が、シック505に入力され、さら
に、指数部データExおよびEyのうち大きな値をもつ
指数部データが正規化回路509に入力されるように選
択回路502.503および504が制御される。また
、この時指数部データの差の値がシック505に人力さ
れる。次に、シック505に加えられた仮数部データを
指数部データの差の分だけ右にシフトして桁合わせをす
る。この時、シフトにより右にはみだした桁は上位から
保護桁(カードピッ1−)、丸め桁(ラウンドビット)
、それ以下の全桁については論理和をとり添付術(ステ
イッキビット)として最下位桁に3桁付加され、演算結
果の丸めに用いられる。この後、補数回路506により
、仮数部のデータに関する演算が加算である場合には、
選択回路502から出力される仮数部データをそのまま
加算器507に出力し、減算の場合には選択回路502
から出力される仮数部データの2の補数値を生成して加
算器507に出力する。次に、加算器507により2つ
の桁合わせされた仮数部データを加算する。次に、絶対
値化された仮数部の結果を求めるために、補数回路50
8により、加算器507の結果が正である場合には加算
器507の結果をそのまま丸め回路509に出力し、負
である場合には加算器507の結果の2の補数値を生成
して丸め回路509に出力する。丸め回路509では、
仮数部の演算結果を丸め、最後に正規化回路510によ
り、桁合わせおよび指数部の補正などを行って演算を終
了する。
発明が解決しようとする課題
上記のような従来技術では、補数回路506により、仮
数部のデータに関する演算が加算である場合には選択回
路502から出力される仮数部データをそのまま加算器
507に出力し、減算の場合には選択回路502から出
力される仮数部データの2の補数値を生成して加算器5
07に出力しなければならない。また、絶対値化された
仮数部の結果を求めるために、補数回路508により、
加算器507の結果が正である場合には加算器507の
結果をそのまま丸め回路509に出力し、負である場合
には加算器507の結果の2の補数値を生成して丸め回
路509に出力しなければならない。これら2つの補数
回路における2の補数の生成は、具体的には、入力デー
タの各桁を論理反転して、最下位桁に1を加えることに
より行われる。したがって、仮数部に関する演算が減算
であったり、演算結果が負になった場合には2の補数値
を求めなければならないので、演算時間がかかり、また
、2つの補数回路を必要とするため回路の構成が複雑に
なるという問題点を有していた。
数部のデータに関する演算が加算である場合には選択回
路502から出力される仮数部データをそのまま加算器
507に出力し、減算の場合には選択回路502から出
力される仮数部データの2の補数値を生成して加算器5
07に出力しなければならない。また、絶対値化された
仮数部の結果を求めるために、補数回路508により、
加算器507の結果が正である場合には加算器507の
結果をそのまま丸め回路509に出力し、負である場合
には加算器507の結果の2の補数値を生成して丸め回
路509に出力しなければならない。これら2つの補数
回路における2の補数の生成は、具体的には、入力デー
タの各桁を論理反転して、最下位桁に1を加えることに
より行われる。したがって、仮数部に関する演算が減算
であったり、演算結果が負になった場合には2の補数値
を求めなければならないので、演算時間がかかり、また
、2つの補数回路を必要とするため回路の構成が複雑に
なるという問題点を有していた。
さらに、上記の従来技術では加算を終了した後に、演算
結果の絶対値の丸めを丸め回路509により行っている
。この場合の丸めは、絶対値化された演算結果に対して
丸めを行うべき桁を検出し、それに対応した桁へ、丸め
により生じる桁上げを加算しなければならない。この場
合に、演算結果の絶対値が確定しなければ丸め演算を開
始できず、丸め演算に時間がかかり、回路も複雑になる
なとの問題点を有していた。
結果の絶対値の丸めを丸め回路509により行っている
。この場合の丸めは、絶対値化された演算結果に対して
丸めを行うべき桁を検出し、それに対応した桁へ、丸め
により生じる桁上げを加算しなければならない。この場
合に、演算結果の絶対値が確定しなければ丸め演算を開
始できず、丸め演算に時間がかかり、回路も複雑になる
なとの問題点を有していた。
本発明は、係る点に鑑みてなされたもので、加減算器に
簡単な回路を付加することにより、簡単な構成で、仮数
部の演算、演算結果の絶対値化、さらに結果の丸めを高
速に行う浮動小数点演算装置を提供することを目的とし
ている。
簡単な回路を付加することにより、簡単な構成で、仮数
部の演算、演算結果の絶対値化、さらに結果の丸めを高
速に行う浮動小数点演算装置を提供することを目的とし
ている。
課題を解決するための手段
本発明は上記目的を達成するため、2つの浮動小数点数
のうち指数の大きいほうの第1の浮動小数点数の第1の
仮数部データと、前記第1の仮数部データに左シフトし
て桁合わせされた指数の小さいほうの第2の浮動小数点
数の第2の仮数部データとを演算し出力する第1の演算
手段と、前記第2の仮数部データと”1″との相と前記
第1の仮数部データとを前記演算と同一の演算をし出力
する第1の演算手段と同一の桁上げ生成伝搬発生回路を
共用して構成した第2の演算手段と、前記第2の演算手
段の出力の全桁を論理反転して出力する反転手段と、第
1の仮数部データおよび第2の仮数部データの一部と、
第2の浮動小数点数の桁合わせにより生成される保護桁
、丸め桁および添付桁から、所定の桁で丸めを実行した
とき基準の桁位置から生じる桁上げ信号を出力する丸め
桁上げ生成回路とを有し、丸め桁上げ生成回路の出力と
、第1の演算手段、前記第2の演算手段の出力の桁あふ
れを含む上位2桁から、演算結果を選択するようにして
いる。
のうち指数の大きいほうの第1の浮動小数点数の第1の
仮数部データと、前記第1の仮数部データに左シフトし
て桁合わせされた指数の小さいほうの第2の浮動小数点
数の第2の仮数部データとを演算し出力する第1の演算
手段と、前記第2の仮数部データと”1″との相と前記
第1の仮数部データとを前記演算と同一の演算をし出力
する第1の演算手段と同一の桁上げ生成伝搬発生回路を
共用して構成した第2の演算手段と、前記第2の演算手
段の出力の全桁を論理反転して出力する反転手段と、第
1の仮数部データおよび第2の仮数部データの一部と、
第2の浮動小数点数の桁合わせにより生成される保護桁
、丸め桁および添付桁から、所定の桁で丸めを実行した
とき基準の桁位置から生じる桁上げ信号を出力する丸め
桁上げ生成回路とを有し、丸め桁上げ生成回路の出力と
、第1の演算手段、前記第2の演算手段の出力の桁あふ
れを含む上位2桁から、演算結果を選択するようにして
いる。
作用
本発明は上記した構成により、第1の演算手段により、
(第1の仮数部データ土弟2の仮数部データ)の結果を
求め、同時に第2の演算手段により、(第1の仮数部デ
ータ±(第2の仮数部データ+1))の結果を求め、さ
らに、第2の演算手段の結果の反転手段により、演算が
減算である場合には、−(第1の仮数部データー第2の
仮数部データ)の結果が求められる。丸めにより生じる
桁上げを所定の基準桁に合わせておくことにより、桁上
げの値が高々1なので、基準桁より上位への丸め桁上げ
を求めて、桁あふれをふ(む上位2桁から、演算結果を
選択することにより、高速に演算、丸め、さらに絶対値
化を高速に行うことができる。
(第1の仮数部データ土弟2の仮数部データ)の結果を
求め、同時に第2の演算手段により、(第1の仮数部デ
ータ±(第2の仮数部データ+1))の結果を求め、さ
らに、第2の演算手段の結果の反転手段により、演算が
減算である場合には、−(第1の仮数部データー第2の
仮数部データ)の結果が求められる。丸めにより生じる
桁上げを所定の基準桁に合わせておくことにより、桁上
げの値が高々1なので、基準桁より上位への丸め桁上げ
を求めて、桁あふれをふ(む上位2桁から、演算結果を
選択することにより、高速に演算、丸め、さらに絶対値
化を高速に行うことができる。
また、前記第1の演算手段を行う回路と第2の演算手段
を行う回路とは、同一の桁上げ生成伝搬発生回路を共用
して構成することができるため、従来例のような被演算
数の2つの補数回路、加減算、丸め回路および丸め回路
を独立に持たせる場合回路素子数を大幅に少な(するこ
とができる。
を行う回路とは、同一の桁上げ生成伝搬発生回路を共用
して構成することができるため、従来例のような被演算
数の2つの補数回路、加減算、丸め回路および丸め回路
を独立に持たせる場合回路素子数を大幅に少な(するこ
とができる。
実施例
第1図は、本発明の実施例を示すブロック図である。第
1図において、101は桁上げ生成伝搬発生回路、10
2は丸め桁上げ生成回路、103゜104は和差生成回
路、105は反転回路、106は演算結果選択信号生成
回路、107は選択回路、Xは指数部の大きいデータの
仮数部(以下被演算数と呼ぶ。)、Yは指数の小さいデ
ータの左シフトされた仮数部(以下演算数と呼ぶ。)、
GR8は演算数Yの保護桁、丸め桁、および添付桁(以
下単にGR8と呼ぶ。) 、MSUBは減算信号、Zは
丸めを含む演算結果である。
1図において、101は桁上げ生成伝搬発生回路、10
2は丸め桁上げ生成回路、103゜104は和差生成回
路、105は反転回路、106は演算結果選択信号生成
回路、107は選択回路、Xは指数部の大きいデータの
仮数部(以下被演算数と呼ぶ。)、Yは指数の小さいデ
ータの左シフトされた仮数部(以下演算数と呼ぶ。)、
GR8は演算数Yの保護桁、丸め桁、および添付桁(以
下単にGR8と呼ぶ。) 、MSUBは減算信号、Zは
丸めを含む演算結果である。
まず、第1図の動作を説明する。被演算数Xと演算数Y
が桁上げ生成伝搬発生回路101に入力されると、減算
信号MSUBの値により、仮数部に関する演算が加算の
場合には、XとYを加算する場合に生じる各桁での桁上
げ信号C0108と、さらに最下位桁へ1の桁上げがあ
る時にXとYを加算する場合に生じる各桁での桁上げ信
号C1109を求め、演算が減算である場合には、Xか
らYを減算する場合に生じる各桁での桁借り信号C01
08と、さらに最下位桁へ1の桁借りがある時にXから
Yを減算する場合に生じる各桁での桁借り信号CI
109を求め、和差生成回路103および104に加え
られる。以下ではCo。
が桁上げ生成伝搬発生回路101に入力されると、減算
信号MSUBの値により、仮数部に関する演算が加算の
場合には、XとYを加算する場合に生じる各桁での桁上
げ信号C0108と、さらに最下位桁へ1の桁上げがあ
る時にXとYを加算する場合に生じる各桁での桁上げ信
号C1109を求め、演算が減算である場合には、Xか
らYを減算する場合に生じる各桁での桁借り信号C01
08と、さらに最下位桁へ1の桁借りがある時にXから
Yを減算する場合に生じる各桁での桁借り信号CI
109を求め、和差生成回路103および104に加え
られる。以下ではCo。
CIをともに桁上げ信号と呼ぶ。これらの桁上げ信号(
’o、およびC1を生成するための回路は、大部分を共
用して構成することができる。さらに、薯テ上げ生成伝
搬発生回路101では、XとYの各桁での排他的論理和
出力の中間和Sを求める。また、丸め桁上げ生成回路1
02では、被演算数Xと演算数Yの一部およびGR3が
入力され、XとYおよびGR3を含んだ演算に対して各
の丸め桁位置での丸めを行なう場合に生じるXまたはY
の最下位桁への桁上げ(減算の場合には桁借り)111
(以下この桁上げを丸め桁上げ信号と呼ぶ。)を求め、
演算結果選択信号生成回路106に入力される。次に、
和差生成回路108および109は桁上げ生成伝搬発生
回路101で求められた各桁での桁上げ信号C0108
およびC1109と、各桁の排他的論理和5110によ
り、XとYの演算結果X±Y112および、最下位桁へ
桁上げあるいは桁借りが生じる場合の演算結果X±(Y
+1)113を求める。これらの演算結果は、選択回路
107に入力され、X±(Y+ 1 )113について
は反転回路105にも入力され、さら1こ、これら演算
結果のそれぞれの桁あふれを含む上位2桁114および
115が、演算結果選択信号生成回路106に入力され
る。反転回路105は、和差生成回路104で求められ
た演算結果X±(Y+4)113の各桁を反転して±(
Y+1)116を求め、選択回路107に加えられる。
’o、およびC1を生成するための回路は、大部分を共
用して構成することができる。さらに、薯テ上げ生成伝
搬発生回路101では、XとYの各桁での排他的論理和
出力の中間和Sを求める。また、丸め桁上げ生成回路1
02では、被演算数Xと演算数Yの一部およびGR3が
入力され、XとYおよびGR3を含んだ演算に対して各
の丸め桁位置での丸めを行なう場合に生じるXまたはY
の最下位桁への桁上げ(減算の場合には桁借り)111
(以下この桁上げを丸め桁上げ信号と呼ぶ。)を求め、
演算結果選択信号生成回路106に入力される。次に、
和差生成回路108および109は桁上げ生成伝搬発生
回路101で求められた各桁での桁上げ信号C0108
およびC1109と、各桁の排他的論理和5110によ
り、XとYの演算結果X±Y112および、最下位桁へ
桁上げあるいは桁借りが生じる場合の演算結果X±(Y
+1)113を求める。これらの演算結果は、選択回路
107に入力され、X±(Y+ 1 )113について
は反転回路105にも入力され、さら1こ、これら演算
結果のそれぞれの桁あふれを含む上位2桁114および
115が、演算結果選択信号生成回路106に入力され
る。反転回路105は、和差生成回路104で求められ
た演算結果X±(Y+4)113の各桁を反転して±(
Y+1)116を求め、選択回路107に加えられる。
この±(Y+ 1 )の値は、演算が減算の場合にX−
Yの2の補数表現、すなわち−(X−Y)の結果に等し
い。最後に、丸め桁上げ生成回路102で求められた丸
め桁上げ信号111と、演算結果の上位2桁114およ
び115と減算信号MSUBから、演算結果選択信号生
成回路106により、演算結果112.113および1
16のうち、正しい結果を選択するための選択信号11
7を生成し、選択回路107によりその結果を選択し、
丸めおよび絶対値化した演算結果2を出力する。以上説
明したようにして、仮数部の演算を行うことにより、丸
めおよび絶対値化した演算結果を得られ、高速に、しか
も少ない素子数で仮数部演算器を構成することができる
。
Yの2の補数表現、すなわち−(X−Y)の結果に等し
い。最後に、丸め桁上げ生成回路102で求められた丸
め桁上げ信号111と、演算結果の上位2桁114およ
び115と減算信号MSUBから、演算結果選択信号生
成回路106により、演算結果112.113および1
16のうち、正しい結果を選択するための選択信号11
7を生成し、選択回路107によりその結果を選択し、
丸めおよび絶対値化した演算結果2を出力する。以上説
明したようにして、仮数部の演算を行うことにより、丸
めおよび絶対値化した演算結果を得られ、高速に、しか
も少ない素子数で仮数部演算器を構成することができる
。
次に、各の回路について具体的に説明する。まず、桁上
げ生成伝搬発生回路101について説明する。この桁上
げ生成伝搬発生回路101は、この回路に入力される2
のデータXとYの加算あるいは減算を行なう場合に生じ
る各桁での桁上げCOと、最下位桁への桁上げあるいは
桁借りがある時に、XとYとの加算あるいは減算を行う
場合に生じる各桁での桁上げC1を求めるための回路で
ある。
げ生成伝搬発生回路101について説明する。この桁上
げ生成伝搬発生回路101は、この回路に入力される2
のデータXとYの加算あるいは減算を行なう場合に生じ
る各桁での桁上げCOと、最下位桁への桁上げあるいは
桁借りがある時に、XとYとの加算あるいは減算を行う
場合に生じる各桁での桁上げC1を求めるための回路で
ある。
以下入力されるデータを1桁としてX = X、−1・
・・・・・XIXQおよびY=yn−+・・・・・・Y
+Voとして説明する。まず、桁上げ生成関数g i
、 jおよび桁上げ伝搬関数pi r jを考える。こ
こで、i≧jであり、gi+Jはj桁目からi桁目まで
加算あるいは減算を行った場合に上位へ桁上りあるいは
桁借りが生成されることを表し、pi、jはj桁目から
i桁目まで加算あるいは減算を行った場合に、下位から
桁上りあるいは桁借りがあった場合に上位へ桁上りある
いは桁借りを伝搬することを表している。以下では、桁
上りと桁借り含めて桁上りと記述する。
・・・・・XIXQおよびY=yn−+・・・・・・Y
+Voとして説明する。まず、桁上げ生成関数g i
、 jおよび桁上げ伝搬関数pi r jを考える。こ
こで、i≧jであり、gi+Jはj桁目からi桁目まで
加算あるいは減算を行った場合に上位へ桁上りあるいは
桁借りが生成されることを表し、pi、jはj桁目から
i桁目まで加算あるいは減算を行った場合に、下位から
桁上りあるいは桁借りがあった場合に上位へ桁上りある
いは桁借りを伝搬することを表している。以下では、桁
上りと桁借り含めて桁上りと記述する。
この定義から、各桁自身の桁上げ生成関数g3.。
および桁上げ伝搬関数p32.は入力データの各桁の値
Xiおよびy、より以下のように与えられる。
Xiおよびy、より以下のように与えられる。
すなわち、
gi、i= (MSUBex;)” y; ”’−(1
)p;、i= (MSUBex;)(EEly;または
、 = (MSUB■Xi ) +3’ i ・・・・・・
(2)が成り立つ。ここで、MSUBは、減算信号であ
り、減算の時“1”、加算の時゛0”となる信号である
。また、i≧j≧にの関係を有するi、jおよびkに対
して以下の関数式がなり立つ。
)p;、i= (MSUBex;)(EEly;または
、 = (MSUB■Xi ) +3’ i ・・・・・・
(2)が成り立つ。ここで、MSUBは、減算信号であ
り、減算の時“1”、加算の時゛0”となる信号である
。また、i≧j≧にの関係を有するi、jおよびkに対
して以下の関数式がなり立つ。
すなわち、
gi 、 k = g i 、 j + pi + j
・g j−1、k ・・・・・・(3)p皿=に;p
++r°I)4−+、k・・・・・・(4)である。こ
の(1)ないしく4)式によりある基準となる桁kから
各々の桁iまでの桁上げ生成関数g1.におよび桁上げ
伝搬関数pi、kを求めることができる。すなわち、演
算を行う各々の桁から(1)および(2)で表される各
桁自身の桁上げ生成関数gi+iおよび桁上げ伝搬関数
p+++を求め、(3)および(4)式を繰り返し用い
である基準となる桁から各々の桁までの桁上げ生成関数
および桁上げ伝搬関数を求めることができる。桁上げ生
成関数gi、におよび桁上げ伝搬関数pI+4の定義か
ら、全ての桁の加算あるいは減算を考えたときのi桁目
の桁上げC3は次式で与えられる。
・g j−1、k ・・・・・・(3)p皿=に;p
++r°I)4−+、k・・・・・・(4)である。こ
の(1)ないしく4)式によりある基準となる桁kから
各々の桁iまでの桁上げ生成関数g1.におよび桁上げ
伝搬関数pi、kを求めることができる。すなわち、演
算を行う各々の桁から(1)および(2)で表される各
桁自身の桁上げ生成関数gi+iおよび桁上げ伝搬関数
p+++を求め、(3)および(4)式を繰り返し用い
である基準となる桁から各々の桁までの桁上げ生成関数
および桁上げ伝搬関数を求めることができる。桁上げ生
成関数gi、におよび桁上げ伝搬関数pI+4の定義か
ら、全ての桁の加算あるいは減算を考えたときのi桁目
の桁上げC3は次式で与えられる。
Ci ” g i 、 j + 1) i 、 j・
Cj−1・・・・・・(5)また、(5)式においてj
=0とおけば、CI= g ;、o+I’ 1.o−C
−+ −−(6)となる。ここで、C−1は最
下位桁への桁上りを意味しており、C−1を一〇″とず
ればX±Yの演算に対する各桁からの桁上げCiを求め
ることができる。また、C−1を1”とすれば、X±(
Y −1−1’)の演算に対する各桁からの桁上げC;
を求めることができる。また、桁上げ生成伝搬発生回路
101では、XとYの各桁での排他的論理和による中間
相Sの1桁S1を求める。すなわち、 SH=xHΦly ・・・・・・(7)
を出力している。この中間和Slは、前述のCi。
Cj−1・・・・・・(5)また、(5)式においてj
=0とおけば、CI= g ;、o+I’ 1.o−C
−+ −−(6)となる。ここで、C−1は最
下位桁への桁上りを意味しており、C−1を一〇″とず
ればX±Yの演算に対する各桁からの桁上げCiを求め
ることができる。また、C−1を1”とすれば、X±(
Y −1−1’)の演算に対する各桁からの桁上げC;
を求めることができる。また、桁上げ生成伝搬発生回路
101では、XとYの各桁での排他的論理和による中間
相Sの1桁S1を求める。すなわち、 SH=xHΦly ・・・・・・(7)
を出力している。この中間和Slは、前述のCi。
C1とともに演算の最終相を求める時に用いられる。
次に和差生成回路103および104について述べる。
この回路は、X6Yの演算時の桁上げCOおよびCIと
、中間和Sより、X±YとX±(Y+1)の結果を求め
るものである。すなわち、X+Yの演算結果のi桁Z?
は、最1位への桁上げC−Iが”0“の場合の1桁への
桁上げCi−1より、 Zi =x、 $、yのCi−1 −8,$ C9,・・・−・・(8)として求められ
る。また、最下位桁へ桁上げがある場合の演算結果X±
(Y+1)のi桁Z:は、最下位桁への桁上げC−+が
“1″の場合の1桁への桁上げCニー1より、 Zi =x、 @ y、 e Ci−。
、中間和Sより、X±YとX±(Y+1)の結果を求め
るものである。すなわち、X+Yの演算結果のi桁Z?
は、最1位への桁上げC−Iが”0“の場合の1桁への
桁上げCi−1より、 Zi =x、 $、yのCi−1 −8,$ C9,・・・−・・(8)として求められ
る。また、最下位桁へ桁上げがある場合の演算結果X±
(Y+1)のi桁Z:は、最下位桁への桁上げC−+が
“1″の場合の1桁への桁上げCニー1より、 Zi =x、 @ y、 e Ci−。
−S、Φ Cニー1 ・・・・・・(9)と
して求めることができる。
して求めることができる。
次に、丸め桁上げ生成回路102について述べる。この
回路は、XとYの下位桁の一部とGR8の信号により、
GR8を含んだXとYの演算に対して各の丸め桁位置で
の丸めを行う場合に生じる。XまたはYの最下位桁への
丸め桁上げ信号11】を求めるものである。まず、丸め
について説明する。加算により生じる丸めを行うべき桁
は2つある。ここで、Xは正規化されたデータを考えて
いるのでXの最上位桁は常に“1−になっている。した
がって、加算により桁あぶれが生じる場合があり、この
時にはXの最下位桁で丸めを行なわなければならない。
回路は、XとYの下位桁の一部とGR8の信号により、
GR8を含んだXとYの演算に対して各の丸め桁位置で
の丸めを行う場合に生じる。XまたはYの最下位桁への
丸め桁上げ信号11】を求めるものである。まず、丸め
について説明する。加算により生じる丸めを行うべき桁
は2つある。ここで、Xは正規化されたデータを考えて
いるのでXの最上位桁は常に“1−になっている。した
がって、加算により桁あぶれが生じる場合があり、この
時にはXの最下位桁で丸めを行なわなければならない。
また、加算により桁あぶれが生じない場合には、最上位
桁が常に1となるので、保護桁で丸めなければならない
。一方、減算においては、この場合も丸めを行なうべき
桁が2つあるが位置が1桁異なる。すなわち、減算結果
が正となる場合に、最上位桁が1となる場合には、保護
桁で丸める。また、最上位桁がOとなる場合には、丸め
桁で丸めなければならない。この時、上位桁に2桁以上
連続してOが並ぶ場合があるが、このような場合が生じ
るのは、指数データの差が高々1桁であり、丸め桁以下
の値は0となるので、丸め桁での丸めのみを考えればよ
い。また、減算結果が負になる場合があるが、この時は
常に2つの指数部データが等しい場合であり、この時に
は丸めを行なう必要はない。以上のことから、加算と減
算をあわせて、3つの丸めを行なうべき桁が存在する。
桁が常に1となるので、保護桁で丸めなければならない
。一方、減算においては、この場合も丸めを行なうべき
桁が2つあるが位置が1桁異なる。すなわち、減算結果
が正となる場合に、最上位桁が1となる場合には、保護
桁で丸める。また、最上位桁がOとなる場合には、丸め
桁で丸めなければならない。この時、上位桁に2桁以上
連続してOが並ぶ場合があるが、このような場合が生じ
るのは、指数データの差が高々1桁であり、丸め桁以下
の値は0となるので、丸め桁での丸めのみを考えればよ
い。また、減算結果が負になる場合があるが、この時は
常に2つの指数部データが等しい場合であり、この時に
は丸めを行なう必要はない。以上のことから、加算と減
算をあわせて、3つの丸めを行なうべき桁が存在する。
すなわち、最下位桁、保護桁、および丸め桁である。丸
めモードとして、いくつかの方法がある。IEEE75
4の浮動小数点演算規格では、4つの丸めモードが定め
られている。すなわち、最近接丸め(round to
nearest) 。
めモードとして、いくつかの方法がある。IEEE75
4の浮動小数点演算規格では、4つの丸めモードが定め
られている。すなわち、最近接丸め(round to
nearest) 。
正方向丸め(round to plus)、負方向丸
め(roundto m1nus) 、零方向丸め(r
ound to zero)である。したがって、丸め
桁位置と丸めモードに対応するだけの、丸めにより生じ
る丸め桁上げ信号を丸め桁上げ生成回路により求めてお
けばよい。ここでは、よく用いられる丸めモードである
最近接丸めについて述べる。この最近接丸めは、丸めた
時に正確な結果に最も近い値となるように丸めるもので
あり、最も近い値が2つある場合には丸められた結果の
最下位力じOoとなるように丸めるものである。この丸
めにより生じる丸め桁上げ信号は、加算の場合について
第3図の真理値表で、減算については第4図のような真
理値表で与えられる。真理値表において Zi、zgは
XとYとを加算した時の下位2桁の値であり、yo、y
Rおよびysは、それぞれ保護桁、丸め桁および添付桁
である。第1表において、yR十ysは論理和を示す。
め(roundto m1nus) 、零方向丸め(r
ound to zero)である。したがって、丸め
桁位置と丸めモードに対応するだけの、丸めにより生じ
る丸め桁上げ信号を丸め桁上げ生成回路により求めてお
けばよい。ここでは、よく用いられる丸めモードである
最近接丸めについて述べる。この最近接丸めは、丸めた
時に正確な結果に最も近い値となるように丸めるもので
あり、最も近い値が2つある場合には丸められた結果の
最下位力じOoとなるように丸めるものである。この丸
めにより生じる丸め桁上げ信号は、加算の場合について
第3図の真理値表で、減算については第4図のような真
理値表で与えられる。真理値表において Zi、zgは
XとYとを加算した時の下位2桁の値であり、yo、y
Rおよびysは、それぞれ保護桁、丸め桁および添付桁
である。第1表において、yR十ysは論理和を示す。
減算の場合の−1は、1の桁借りを意味する。また、加
算の場合のCRUは、最下位桁すなわちz8の桁で丸め
を行なった場合の結果と最下位桁へCRUの桁上げを行
なった場合のZiの桁より上位で等しくなるように丸め
桁上げを決定したものであり z3の桁は丸めた結果と
して必要ないので、この桁の値が0であろうと1であろ
うとどちらでもよい。したがって丸め桁上げは、Oでも
1でもよいような場合がある。第1表では木印で示して
いる。また、保護桁での丸めに対しては、丸め桁上げの
位置と丸めによる桁上げ位置が一致するので表に示すC
RMのような値をとることになる。また、減算の場合の
保護桁での丸めを行なう場合も、丸め桁上げを桁上げす
る桁と実際の丸めの時の桁が一致する。また、丸め桁で
の丸めを行う場合の保護桁からの丸め桁上げは、第2表
のCRLで示している。これら2つの表かられかるよう
に、丸めにより生じる最下位桁への桁上げあるいは桁借
りは高々1であり、したがって、丸め結果後のデータの
最下位桁以上の桁は結果が正になる時は、X土Yあるい
はX±(Y+1)の値しかとりえない。以上の真理値表
から丸め桁上げを求めれば、加算について、 CRU=x+$y++ya+yR+ys ・・・−・
・(to)CRM= ya (xo(E)yo+ yR
+ys) −・(11)また、減算については、 CRM=ya(xo■yo+YR+ys) ・・−1
12)CRL = yG+ yRys−・−−−−(1
3)となる。(11)と(12)式を比較すると加算の
場合にも、減算の場合にも保護桁での丸め桁上げCRM
は同一信号で表わされることがわかる。したがって、3
つの信号のみを生成すればよい。
算の場合のCRUは、最下位桁すなわちz8の桁で丸め
を行なった場合の結果と最下位桁へCRUの桁上げを行
なった場合のZiの桁より上位で等しくなるように丸め
桁上げを決定したものであり z3の桁は丸めた結果と
して必要ないので、この桁の値が0であろうと1であろ
うとどちらでもよい。したがって丸め桁上げは、Oでも
1でもよいような場合がある。第1表では木印で示して
いる。また、保護桁での丸めに対しては、丸め桁上げの
位置と丸めによる桁上げ位置が一致するので表に示すC
RMのような値をとることになる。また、減算の場合の
保護桁での丸めを行なう場合も、丸め桁上げを桁上げす
る桁と実際の丸めの時の桁が一致する。また、丸め桁で
の丸めを行う場合の保護桁からの丸め桁上げは、第2表
のCRLで示している。これら2つの表かられかるよう
に、丸めにより生じる最下位桁への桁上げあるいは桁借
りは高々1であり、したがって、丸め結果後のデータの
最下位桁以上の桁は結果が正になる時は、X土Yあるい
はX±(Y+1)の値しかとりえない。以上の真理値表
から丸め桁上げを求めれば、加算について、 CRU=x+$y++ya+yR+ys ・・・−・
・(to)CRM= ya (xo(E)yo+ yR
+ys) −・(11)また、減算については、 CRM=ya(xo■yo+YR+ys) ・・−1
12)CRL = yG+ yRys−・−−−−(1
3)となる。(11)と(12)式を比較すると加算の
場合にも、減算の場合にも保護桁での丸め桁上げCRM
は同一信号で表わされることがわかる。したがって、3
つの信号のみを生成すればよい。
減算の結果が負になる場合を考える。この場合は、2つ
の指数データが同一の時のみ生じ、丸めは必要ない。演
算結果の仮数部の値は常に絶対値でなければならないの
で、減算の結果が負となった場合には2の補数として絶
対値化しなければならない。この減算結果X−Yの2つ
の補数を求めるにはX−(Y+1)の全桁の反転X−(
Y+1)を求めればよい。一般に、2の補数を求めるに
は、そのデータの全桁を反転しさらに最下位に1を加え
けばよい。すなわち、次式が成り立つ。
の指数データが同一の時のみ生じ、丸めは必要ない。演
算結果の仮数部の値は常に絶対値でなければならないの
で、減算の結果が負となった場合には2の補数として絶
対値化しなければならない。この減算結果X−Yの2つ
の補数を求めるにはX−(Y+1)の全桁の反転X−(
Y+1)を求めればよい。一般に、2の補数を求めるに
は、そのデータの全桁を反転しさらに最下位に1を加え
けばよい。すなわち、次式が成り立つ。
−A=A + 1
・・・・・・(14)したがって、(1)式
を −(X+Y)= −(X−Y−1)−1=X−Y−1+
1− 1 =X−(Y+ 1 ) ・・・・・・(15)とな
り、X−(Y+1)の全桁の反転を求めることにより、
X−Yの符号反転値を得ることができる。反転回路10
5は、このX−(Y+1)の反転X−(Y+1)を求め
るためのものである。減算結果X−Yが負かどうかは、
X−Yの演算時の上位あふれ信号により決定できるので
、この上位あふれが1の時は、X−(Y+1)を結果と
して出力し、Oの場合にはX−YあるいはX−(Y+1
>を出力すればよいことになる。
・・・・・・(14)したがって、(1)式
を −(X+Y)= −(X−Y−1)−1=X−Y−1+
1− 1 =X−(Y+ 1 ) ・・・・・・(15)とな
り、X−(Y+1)の全桁の反転を求めることにより、
X−Yの符号反転値を得ることができる。反転回路10
5は、このX−(Y+1)の反転X−(Y+1)を求め
るためのものである。減算結果X−Yが負かどうかは、
X−Yの演算時の上位あふれ信号により決定できるので
、この上位あふれが1の時は、X−(Y+1)を結果と
して出力し、Oの場合にはX−YあるいはX−(Y+1
>を出力すればよいことになる。
最後に、演算結果選択信号生成回路106について説明
する。この回路は、上述の和差生成回路103および1
04の出力あるいは、反転回路の出力105の出力から
、丸めおよび絶対値化された演算結果を選択するための
回路である。まず、反転回路105の出力が選択される
場合を考えれば、この場合は、減算でかつX −Yが負
、すなわち、X−Yの演算結果の上位あふれRCOが1
の場合である。したがって、この選択信号をSL2とす
れば、 SL2=MSUB−RCO・・・・・・(16)次に、
和差生成回路104の出力X±(Y+ 1 )を選択す
る信号SL+ は、次式のように表わされる。
する。この回路は、上述の和差生成回路103および1
04の出力あるいは、反転回路の出力105の出力から
、丸めおよび絶対値化された演算結果を選択するための
回路である。まず、反転回路105の出力が選択される
場合を考えれば、この場合は、減算でかつX −Yが負
、すなわち、X−Yの演算結果の上位あふれRCOが1
の場合である。したがって、この選択信号をSL2とす
れば、 SL2=MSUB−RCO・・・・・・(16)次に、
和差生成回路104の出力X±(Y+ 1 )を選択す
る信号SL+ は、次式のように表わされる。
SL + = SL2[MS[IBtCRM(RC’
−CRU+RC’ )+CRM・lIC0・CR[I
l+MSIIB(CRL(八・CRM+Sム)+CRL
−SトCR旧1・・・・・・く17) ここで、RC+は、X±(Y+1)の上位あふれ信号で
ありS、!、は、最上位桁、SoはX+Yの最上位桁を
表わしている。(17)式は、SL2を除き、各演算で
の下位での丸め行なった場合の上位あぶれの信号により
正しい丸め桁を判断し、その桁に対応する丸め桁上げの
信号により、XthYあるいは、X±(Y+ 1 )を
選択するようになっている。(17)式を簡略化すれば
、 SLI =SI44MSIIB(CRM RCLCR
M・C11tl+CI(IJ−11cQ >+MS[
IB(CIIL St +CRL−CRM+CRM
−S易))・・・・・・(18)ここで、(10)ない
しく13)式より、CRU −CRM=CRM・・・
・・・(19)CRM−CRL=CRM・・・・・・(
20)が成り立つ。したがって、(18)式はさらに、
SL、5耳(CR阿+罰画・CRU・lIC0+阿S[
IB・CRL・■「・・・・・・(2■) となる。
−CRU+RC’ )+CRM・lIC0・CR[I
l+MSIIB(CRL(八・CRM+Sム)+CRL
−SトCR旧1・・・・・・く17) ここで、RC+は、X±(Y+1)の上位あふれ信号で
ありS、!、は、最上位桁、SoはX+Yの最上位桁を
表わしている。(17)式は、SL2を除き、各演算で
の下位での丸め行なった場合の上位あぶれの信号により
正しい丸め桁を判断し、その桁に対応する丸め桁上げの
信号により、XthYあるいは、X±(Y+ 1 )を
選択するようになっている。(17)式を簡略化すれば
、 SLI =SI44MSIIB(CRM RCLCR
M・C11tl+CI(IJ−11cQ >+MS[
IB(CIIL St +CRL−CRM+CRM
−S易))・・・・・・(18)ここで、(10)ない
しく13)式より、CRU −CRM=CRM・・・
・・・(19)CRM−CRL=CRM・・・・・・(
20)が成り立つ。したがって、(18)式はさらに、
SL、5耳(CR阿+罰画・CRU・lIC0+阿S[
IB・CRL・■「・・・・・・(2■) となる。
また、和差生成回路103の出力X+Yを選択する信号
SLoは、次式で表わされる。
SLoは、次式で表わされる。
SLo =SL2 +5L1
−SL +CRM+H8UB−CRU−RCO+MS
UB−CIIL−Sム以上のようにして、演算結果の丸
めおよび絶対値化を行った最終結果を得ることができる
。以上のような構成を用いれば、素子多(必要とする桁
上げ生成伝搬等の回路が1つのみでよく、演算結果の丸
めおよび絶対値出力を演算と同時に求めることができ、
高速な演算を行なうことができる。
UB−CIIL−Sム以上のようにして、演算結果の丸
めおよび絶対値化を行った最終結果を得ることができる
。以上のような構成を用いれば、素子多(必要とする桁
上げ生成伝搬等の回路が1つのみでよく、演算結果の丸
めおよび絶対値出力を演算と同時に求めることができ、
高速な演算を行なうことができる。
以上の説明では、保護桁、丸め桁、添付桁を除く上位の
桁を桁上げ生成伝搬発生回路に加えているが、入力する
桁を変えても同様の効果を得ることができる。さらに、
ここでは、最近接丸めについてのみ述べたが、その他の
丸めモードの場合にも同様の考え方で構成できる。
桁を桁上げ生成伝搬発生回路に加えているが、入力する
桁を変えても同様の効果を得ることができる。さらに、
ここでは、最近接丸めについてのみ述べたが、その他の
丸めモードの場合にも同様の考え方で構成できる。
第2図は、本発明を仮数部の桁数を8桁として具体的に
論理を構成したものである。第2図において、201は
桁上げ生成伝搬発生回路であり、202は丸め桁上げ生
成回路、206は演算結果選択信号生成回路である。第
2図において、Z−1は、演算を行った場合に最上位桁
数がOとなった時、丸め桁で丸めることになり、この場
合には結果として最下位に1桁追加される。この場合の
出力はVa、VR,Ysより求めることができる。
論理を構成したものである。第2図において、201は
桁上げ生成伝搬発生回路であり、202は丸め桁上げ生
成回路、206は演算結果選択信号生成回路である。第
2図において、Z−1は、演算を行った場合に最上位桁
数がOとなった時、丸め桁で丸めることになり、この場
合には結果として最下位に1桁追加される。この場合の
出力はVa、VR,Ysより求めることができる。
発明の効果
以上述べてきたように、本発明によれば、仮数部の演算
器に簡単な回路を付加するだけで、演算、丸めおよび結
果の絶対値化を同時に高速に行うことができ、さらに、
選択すべき演算結果を求める演算器の桁上げ生成伝搬発
生回路は共用して構成することができるので回路素子数
を大幅に削減できる等の効果を有し、実用的にきわめて
有用である。
器に簡単な回路を付加するだけで、演算、丸めおよび結
果の絶対値化を同時に高速に行うことができ、さらに、
選択すべき演算結果を求める演算器の桁上げ生成伝搬発
生回路は共用して構成することができるので回路素子数
を大幅に削減できる等の効果を有し、実用的にきわめて
有用である。
第1図は本発明の実施例を示すブロック図、第2図は本
発明の実施例をCMO8回路で構成した論理回路図、第
3図、第4図は、各々加減算に於ける論理真理値図、第
5図は従来方法の回路構成を示すブロック図である。 101・・・・・・桁上げ生成伝搬発生回路、102・
・・・・・丸め桁上げ生成回路、103.104・・・
・・・和差生成回路、105・・・・・・反転回路、1
06・・・・・・演算結果選択信号生成回路。 代理人の氏名 弁理士 中尾敏男 ほか1名簿 1 図 第3図 第4図 第 5 図
発明の実施例をCMO8回路で構成した論理回路図、第
3図、第4図は、各々加減算に於ける論理真理値図、第
5図は従来方法の回路構成を示すブロック図である。 101・・・・・・桁上げ生成伝搬発生回路、102・
・・・・・丸め桁上げ生成回路、103.104・・・
・・・和差生成回路、105・・・・・・反転回路、1
06・・・・・・演算結果選択信号生成回路。 代理人の氏名 弁理士 中尾敏男 ほか1名簿 1 図 第3図 第4図 第 5 図
Claims (3)
- (1)2つの浮動小数点数のうち指数の大きいほうの第
1の浮動小数点数の第1の仮数部データと、前記第1の
仮数部データに左シフトして桁合わせされた指数の小さ
いほうの第2の浮動小数点数の第2の仮数部データとを
演算し出力する第1の演算手段と、前記第2の仮数部デ
ータと“1”との和と前記第1の仮数部データとを前記
演算と同一の演算し出力する第2の演算手段と、前記第
2の演算手段の出力の全桁を論理反転して出力する反転
手段とを有し、前記第1の演算手段、前記第2の演算手
段および前記反転手段の出力から選択して出力すること
を特徴とする浮動小数点演算装置。 - (2)第1の演算手段と第2の演算手段とを同一の桁上
げ生成伝搬発生回路を共用して構成したことを特徴とす
る特許請求の範囲第1項記載の浮動小数点演算装置。 - (3)第1の仮数部データおよび第2の仮数部データの
一部と、第2の浮動小数点数の桁合わせにより生成され
る保護桁(ガードビット)、丸め桁(ラウンドビット)
および添付桁(スティッキビット)から、所定の桁で丸
めを実行したとき基準の桁位置から生じる桁上げ信号を
出力する丸め桁上げ生成回路を有することを特徴とする
浮動小数点演算装置。(4)丸め桁上げ生成回路の出力
と、第1の演算手段、前記第2の演算手段の出力の桁あ
ふれを含む上位2桁から、演算結果を選択する選択手段
を有することを特徴とする浮動小数点演算装置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63068600A JPH0776911B2 (ja) | 1988-03-23 | 1988-03-23 | 浮動小数点演算装置 |
| US07/327,656 US5122981A (en) | 1988-03-23 | 1989-03-23 | Floating point processor with high speed rounding circuit |
| US07/870,389 US5373459A (en) | 1988-03-23 | 1992-04-17 | Floating point processor with high speed rounding circuit |
| US07/870,075 US5289396A (en) | 1988-03-23 | 1992-04-17 | Floating point processor with high speed rounding circuit |
| US08/337,017 US5495434A (en) | 1988-03-23 | 1994-11-07 | Floating point processor with high speed rounding circuit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63068600A JPH0776911B2 (ja) | 1988-03-23 | 1988-03-23 | 浮動小数点演算装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01240927A true JPH01240927A (ja) | 1989-09-26 |
| JPH0776911B2 JPH0776911B2 (ja) | 1995-08-16 |
Family
ID=13378443
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63068600A Expired - Lifetime JPH0776911B2 (ja) | 1988-03-23 | 1988-03-23 | 浮動小数点演算装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (4) | US5122981A (ja) |
| JP (1) | JPH0776911B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01290035A (ja) * | 1988-03-31 | 1989-11-21 | Texas Instr Inc <Ti> | 高速乗算器における丸めの方法及び装置 |
| JPH02294820A (ja) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | 浮動小数点数演算処理装置および演算処理方法 |
| JPH04102122A (ja) * | 1990-08-22 | 1992-04-03 | Fujitsu Ltd | 浮動小数点乗算器 |
| US5146419A (en) * | 1989-11-28 | 1992-09-08 | Matsushita Electric Industrial Co., Ltd. | Floating point addition-subtraction apparatus |
Families Citing this family (63)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5432727A (en) * | 1989-11-02 | 1995-07-11 | Intergraph Corporation | Apparatus for computing a sticky bit for a floating point arithmetic unit |
| JP2894015B2 (ja) * | 1991-06-28 | 1999-05-24 | 日本電気株式会社 | 桁あふれ検出方法および回路 |
| US5258943A (en) * | 1991-12-23 | 1993-11-02 | Intel Corporation | Apparatus and method for rounding operands |
| US5251164A (en) * | 1992-05-22 | 1993-10-05 | S-Mos Systems, Inc. | Low-power area-efficient absolute value arithmetic unit |
| US5625374A (en) * | 1993-09-07 | 1997-04-29 | Apple Computer, Inc. | Method for parallel interpolation of images |
| JPH07168696A (ja) * | 1993-10-19 | 1995-07-04 | Mitsubishi Electric Corp | 2進数加算器のオーバフロー,アンダフロー処理回路 |
| US6219688B1 (en) * | 1993-11-30 | 2001-04-17 | Texas Instruments Incorporated | Method, apparatus and system for sum of plural absolute differences |
| US5781465A (en) * | 1995-12-22 | 1998-07-14 | Lucent Technologies Inc. | Method and apparatus for fast carry generation detection and comparison |
| JP3313560B2 (ja) * | 1996-01-31 | 2002-08-12 | 株式会社日立製作所 | 浮動小数点演算処理装置 |
| US5835389A (en) * | 1996-04-22 | 1998-11-10 | Samsung Electronics Company, Ltd. | Calculating the absolute difference of two integer numbers in a single instruction cycle |
| US5742533A (en) * | 1996-05-21 | 1998-04-21 | International Business Machines Corporation | Method and apparatus for modulus error checking |
| US5798958A (en) * | 1996-06-05 | 1998-08-25 | Samsung Electronics Co., Ltd. | Zero detect for binary sum |
| JPH1091397A (ja) * | 1996-09-12 | 1998-04-10 | Toshiba Corp | 演算回路 |
| US5850347A (en) * | 1996-09-24 | 1998-12-15 | Samsung Semiconductor, Inc. | Calculating 2A+ sign(A) in a single instruction cycle |
| US5856936A (en) * | 1996-09-24 | 1999-01-05 | Samsung Semiconductor, Inc. | Calculating A - sign(A) in a single instruction cycle |
| US5831887A (en) * | 1996-09-24 | 1998-11-03 | Samsung Electronics Co., Ltd. | Calculating 2A-sign(A) in a single instruction cycle |
| US5831886A (en) * | 1996-09-24 | 1998-11-03 | Samsung Electronics Co., Ltd. | Calculating a + sign(A) in a single instruction cycle |
| US5835394A (en) * | 1996-09-24 | 1998-11-10 | Samsung Electronics Co., Ltd. | Calculating selected sign 3 expression in a single instruction cycle |
| US5844827A (en) * | 1996-10-17 | 1998-12-01 | Samsung Electronics Co., Ltd. | Arithmetic shifter that performs multiply/divide by two to the nth power for positive and negative N |
| US5930159A (en) * | 1996-10-17 | 1999-07-27 | Samsung Electronics Co., Ltd | Right-shifting an integer operand and rounding a fractional intermediate result to obtain a rounded integer result |
| US6007232A (en) * | 1996-11-14 | 1999-12-28 | Samsung Electronics Co., Ltd. | Calculating the average of two integer numbers rounded towards zero in a single instruction cycle |
| US5917739A (en) * | 1996-11-14 | 1999-06-29 | Samsung Electronics Co., Ltd. | Calculating the average of four integer numbers rounded towards zero in a single instruction cycle |
| US6044392A (en) * | 1997-08-04 | 2000-03-28 | Motorola, Inc. | Method and apparatus for performing rounding in a data processor |
| US6055555A (en) * | 1997-12-29 | 2000-04-25 | Intel Corporation | Interface for performing parallel arithmetic and round operations |
| US6175851B1 (en) * | 1998-02-06 | 2001-01-16 | S3 Incorporated | Fast adder/subtractor for signed floating point numbers |
| GB2342193B (en) | 1998-06-19 | 2003-06-04 | Sgs Thomson Microelectronics | Addition circuitry |
| JP2000155671A (ja) * | 1998-11-24 | 2000-06-06 | Mitsubishi Electric Corp | 浮動小数点演算装置 |
| US6151616A (en) * | 1999-04-08 | 2000-11-21 | Advanced Micro Devices, Inc. | Method and circuit for detecting overflow in operand multiplication |
| JP4439060B2 (ja) * | 1999-12-17 | 2010-03-24 | 株式会社ルネサステクノロジ | 浮動小数点加算器 |
| US7206800B1 (en) | 2000-08-30 | 2007-04-17 | Micron Technology, Inc. | Overflow detection and clamping with parallel operand processing for fixed-point multipliers |
| US6754688B2 (en) * | 2001-02-14 | 2004-06-22 | Intel Corporation | Method and apparatus to calculate the difference of two numbers |
| US7133890B2 (en) * | 2001-05-25 | 2006-11-07 | Sun Microsystems, Inc. | Total order comparator unit for comparing values of two floating point operands |
| US7003543B2 (en) * | 2001-06-01 | 2006-02-21 | Microchip Technology Incorporated | Sticky z bit |
| US7467178B2 (en) * | 2001-06-01 | 2008-12-16 | Microchip Technology Incorporated | Dual mode arithmetic saturation processing |
| US20030005268A1 (en) * | 2001-06-01 | 2003-01-02 | Catherwood Michael I. | Find first bit value instruction |
| US6937084B2 (en) * | 2001-06-01 | 2005-08-30 | Microchip Technology Incorporated | Processor with dual-deadtime pulse width modulation generator |
| US6934728B2 (en) * | 2001-06-01 | 2005-08-23 | Microchip Technology Incorporated | Euclidean distance instructions |
| US7020788B2 (en) * | 2001-06-01 | 2006-03-28 | Microchip Technology Incorporated | Reduced power option |
| US6604169B2 (en) | 2001-06-01 | 2003-08-05 | Microchip Technology Incorporated | Modulo addressing based on absolute offset |
| US20030023836A1 (en) * | 2001-06-01 | 2003-01-30 | Michael Catherwood | Shadow register array control instructions |
| US7007172B2 (en) * | 2001-06-01 | 2006-02-28 | Microchip Technology Incorporated | Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection |
| US20030028696A1 (en) * | 2001-06-01 | 2003-02-06 | Michael Catherwood | Low overhead interrupt |
| US6976158B2 (en) * | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Repeat instruction with interrupt |
| US6975679B2 (en) * | 2001-06-01 | 2005-12-13 | Microchip Technology Incorporated | Configuration fuses for setting PWM options |
| US6952711B2 (en) * | 2001-06-01 | 2005-10-04 | Microchip Technology Incorporated | Maximally negative signed fractional number multiplication |
| US6728856B2 (en) | 2001-06-01 | 2004-04-27 | Microchip Technology Incorporated | Modified Harvard architecture processor having program memory space mapped to data memory space |
| US6552625B2 (en) | 2001-06-01 | 2003-04-22 | Microchip Technology Inc. | Processor with pulse width modulation generator with fault input prioritization |
| US6601160B2 (en) | 2001-06-01 | 2003-07-29 | Microchip Technology Incorporated | Dynamically reconfigurable data space |
| US20020184566A1 (en) | 2001-06-01 | 2002-12-05 | Michael Catherwood | Register pointer trap |
| US20030005269A1 (en) * | 2001-06-01 | 2003-01-02 | Conner Joshua M. | Multi-precision barrel shifting |
| US6985986B2 (en) * | 2001-06-01 | 2006-01-10 | Microchip Technology Incorporated | Variable cycle interrupt disabling |
| US6552567B1 (en) | 2001-09-28 | 2003-04-22 | Microchip Technology Incorporated | Functional pathway configuration at a system/IC interface |
| US20040021483A1 (en) * | 2001-09-28 | 2004-02-05 | Brian Boles | Functional pathway configuration at a system/IC interface |
| GB2392261B (en) * | 2002-08-19 | 2005-08-03 | Texas Instruments Ltd | Device for computing an absolute difference |
| US7386580B2 (en) * | 2004-03-18 | 2008-06-10 | Arm Limited | Data processing apparatus and method for computing an absolute difference between first and second data elements |
| US7372296B2 (en) * | 2004-10-29 | 2008-05-13 | Sicronic Remote Kg, Llc | Configurable logic device providing enhanced flexibility, scalability and providing area efficient implementation of arithmetic operation on n-bit variables |
| US20070239816A1 (en) * | 2005-06-03 | 2007-10-11 | Gordienko Valerity I | Formation Process for Logical and Control Functions in Information Processing and Control Systems |
| US7689640B2 (en) * | 2005-06-06 | 2010-03-30 | Atmel Corporation | Method and apparatus for formatting numbers in microprocessors |
| US20080021943A1 (en) * | 2006-07-20 | 2008-01-24 | Advanced Micro Devices, Inc. | Equality comparator using propagates and generates |
| US9348557B1 (en) * | 2014-02-21 | 2016-05-24 | Altera Corporation | Fused floating point datapath with correct rounding |
| US9817661B2 (en) * | 2015-10-07 | 2017-11-14 | Arm Limited | Floating point number rounding |
| US9996319B2 (en) * | 2015-12-23 | 2018-06-12 | Intel Corporation | Floating point (FP) add low instructions functional unit |
| US9996320B2 (en) * | 2015-12-23 | 2018-06-12 | Intel Corporation | Fused multiply-add (FMA) low functional unit |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5666790A (en) * | 1979-11-05 | 1981-06-05 | Seiko Epson Corp | Wrist watch |
| JPS59126337U (ja) * | 1983-02-15 | 1984-08-25 | 横河メディカルシステム株式会社 | 演算装置 |
| JPS6133539A (ja) * | 1984-07-25 | 1986-02-17 | Toshiba Corp | 浮動小数点演算装置 |
| JPS6170635A (ja) * | 1984-09-14 | 1986-04-11 | Hitachi Ltd | 丸め制御装置 |
| JPS61213927A (ja) * | 1985-03-18 | 1986-09-22 | Hitachi Ltd | 浮動小数点演算処理装置 |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3814925A (en) * | 1972-10-30 | 1974-06-04 | Amdahl Corp | Dual output adder and method of addition for concurrently forming the differences a{31 b and b{31 a |
| US3825895A (en) * | 1973-05-14 | 1974-07-23 | Amdahl Corp | Operand comparator |
| US4075704A (en) * | 1976-07-02 | 1978-02-21 | Floating Point Systems, Inc. | Floating point data processor for high speech operation |
| JPS5320833A (en) * | 1976-08-11 | 1978-02-25 | Seiko Epson Corp | Absolute value arithmetic circuit |
| US4218751A (en) * | 1979-03-07 | 1980-08-19 | International Business Machines Corporation | Absolute difference generator for use in display systems |
| DE3036065A1 (de) * | 1980-09-25 | 1982-05-06 | Deutsche Itt Industries Gmbh, 7800 Freiburg | Binaere mos-parallel-komparatoren |
| JPS5776634A (en) * | 1980-10-31 | 1982-05-13 | Hitachi Ltd | Digital signal processor |
| JPS59188740A (ja) * | 1983-04-11 | 1984-10-26 | Hitachi Ltd | フロ−テイング加算器 |
| US4562553A (en) * | 1984-03-19 | 1985-12-31 | Analogic Corporation | Floating point arithmetic system and method with rounding anticipation |
| JPS61214025A (ja) * | 1985-03-20 | 1986-09-22 | Mitsubishi Electric Corp | 差の絶対値比較回路 |
| EP0208939A3 (en) * | 1985-06-19 | 1990-08-22 | Nec Corporation | Arithmetic circuit for calculating absolute difference values |
| US4815021A (en) * | 1986-01-30 | 1989-03-21 | Star Technologies, Inc. | Multifunction arithmetic logic unit circuit |
| JPH0650462B2 (ja) * | 1986-02-18 | 1994-06-29 | 日本電気株式会社 | シフト数制御回路 |
| JPH0644225B2 (ja) * | 1986-03-27 | 1994-06-08 | 日本電気株式会社 | 浮動小数点丸め正規化回路 |
| US4858166A (en) * | 1986-09-19 | 1989-08-15 | Performance Semiconductor Corporation | Method and structure for performing floating point comparison |
| US4809172A (en) * | 1987-03-11 | 1989-02-28 | Kabushiki Kaisha Toshiba | Method for obtaining image data with a tomographic apparatus |
| US4858165A (en) * | 1987-06-19 | 1989-08-15 | Digital Equipment Corporation | Apparatus and method for acceleration of effective subtraction procedures by the approximation of the absolute value of the exponent argument difference |
| US4888722A (en) * | 1987-07-02 | 1989-12-19 | General Datacomm, Inc. | Parallel arithmetic-logic unit for as an element of digital signal processor |
| US4841467A (en) * | 1987-10-05 | 1989-06-20 | General Electric Company | Architecture to implement floating point multiply/accumulate operations |
| JPH01204138A (ja) * | 1988-02-09 | 1989-08-16 | Nec Corp | 演算回路 |
| US4935719A (en) * | 1989-03-31 | 1990-06-19 | Sgs-Thomson Microelectronics, Inc. | Comparator circuitry |
| US5117384A (en) * | 1990-01-24 | 1992-05-26 | International Business Machines Corporation | Method and apparatus for exponent adder |
-
1988
- 1988-03-23 JP JP63068600A patent/JPH0776911B2/ja not_active Expired - Lifetime
-
1989
- 1989-03-23 US US07/327,656 patent/US5122981A/en not_active Expired - Lifetime
-
1992
- 1992-04-17 US US07/870,389 patent/US5373459A/en not_active Expired - Lifetime
- 1992-04-17 US US07/870,075 patent/US5289396A/en not_active Expired - Lifetime
-
1994
- 1994-11-07 US US08/337,017 patent/US5495434A/en not_active Expired - Lifetime
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5666790A (en) * | 1979-11-05 | 1981-06-05 | Seiko Epson Corp | Wrist watch |
| JPS59126337U (ja) * | 1983-02-15 | 1984-08-25 | 横河メディカルシステム株式会社 | 演算装置 |
| JPS6133539A (ja) * | 1984-07-25 | 1986-02-17 | Toshiba Corp | 浮動小数点演算装置 |
| JPS6170635A (ja) * | 1984-09-14 | 1986-04-11 | Hitachi Ltd | 丸め制御装置 |
| JPS61213927A (ja) * | 1985-03-18 | 1986-09-22 | Hitachi Ltd | 浮動小数点演算処理装置 |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01290035A (ja) * | 1988-03-31 | 1989-11-21 | Texas Instr Inc <Ti> | 高速乗算器における丸めの方法及び装置 |
| JPH02294820A (ja) * | 1989-04-17 | 1990-12-05 | Internatl Business Mach Corp <Ibm> | 浮動小数点数演算処理装置および演算処理方法 |
| US5146419A (en) * | 1989-11-28 | 1992-09-08 | Matsushita Electric Industrial Co., Ltd. | Floating point addition-subtraction apparatus |
| JPH04102122A (ja) * | 1990-08-22 | 1992-04-03 | Fujitsu Ltd | 浮動小数点乗算器 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5495434A (en) | 1996-02-27 |
| US5122981A (en) | 1992-06-16 |
| US5373459A (en) | 1994-12-13 |
| US5289396A (en) | 1994-02-22 |
| JPH0776911B2 (ja) | 1995-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5373459A (en) | Floating point processor with high speed rounding circuit | |
| US6925480B2 (en) | Microarchitecture of an arithmetic unit | |
| US6175851B1 (en) | Fast adder/subtractor for signed floating point numbers | |
| JP3345894B2 (ja) | 浮動小数点乗算器 | |
| JPS6125245A (ja) | 丸め処理回路 | |
| US7433911B2 (en) | Data processing apparatus and method for performing floating point addition | |
| JPH0545982B2 (ja) | ||
| US6519621B1 (en) | Arithmetic circuit for accumulative operation | |
| US7016930B2 (en) | Apparatus and method for performing operations implemented by iterative execution of a recurrence equation | |
| JPH08161152A (ja) | 浮動小数点演算装置 | |
| JPH04270415A (ja) | 高性能加算器 | |
| US6571264B1 (en) | Floating-point arithmetic device | |
| JPH0464091B2 (ja) | ||
| JPH0511980A (ja) | 桁あふれ検出方式とその回路 | |
| JP2991788B2 (ja) | 復号器 | |
| EP0328779A2 (en) | Apparatus for branch prediction for computer instructions | |
| JPH056263A (ja) | 加算器およびその加算器を用いた絶対値演算回路 | |
| JP2856792B2 (ja) | 浮動小数点数演算装置 | |
| JP2605848B2 (ja) | 非回復型除算器 | |
| JP2681968B2 (ja) | 演算処理装置 | |
| JP2537876B2 (ja) | 丸め処理回路 | |
| JP2512801B2 (ja) | 乗算器 | |
| JP2752698B2 (ja) | 浮動小数点加減算回路 | |
| JPH1115641A (ja) | 冗長2進加算器を用いた乗算装置 | |
| JP2620660B2 (ja) | 乗算器 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070816 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080816 Year of fee payment: 13 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080816 Year of fee payment: 13 |