JPH08263267A - 浮動小数点演算回路 - Google Patents

浮動小数点演算回路

Info

Publication number
JPH08263267A
JPH08263267A JP8107836A JP10783696A JPH08263267A JP H08263267 A JPH08263267 A JP H08263267A JP 8107836 A JP8107836 A JP 8107836A JP 10783696 A JP10783696 A JP 10783696A JP H08263267 A JPH08263267 A JP H08263267A
Authority
JP
Japan
Prior art keywords
operand
input
mantissa
subtraction
exponent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8107836A
Other languages
English (en)
Inventor
Hidenori Ohashi
秀紀 大橋
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP8107836A priority Critical patent/JPH08263267A/ja
Publication of JPH08263267A publication Critical patent/JPH08263267A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 浮動小数点演算回路において、演算の高速化
を図るには、演算回路における演算の高速化はもちろん
のこと、入力オペランドの桁合わせ処理、正規化や丸め
処理の高速化が必要になってくる。 【解決手段】 本発明の浮動小数点演算回路は、第1オ
ペランドの指数部と第2オペランドの指数部との大小に
より必要に応じて、シフト数決定手段にて決定されたシ
フト数だけ第1オペランドの仮数部をシフトする第1シ
フト手段と、第1オペランドの指数部と第2オペランド
の指数部との大小により必要に応じて、シフト数決定手
段にて決定されたシフト数だけ第2オペランドの仮数部
をシフトする第2シフト手段とを、備え、演算手段は、
前記第1シフト手段から出力される仮数部と前記第2シ
フト手段から出力される仮数部とを入力してこれら仮数
部の演算を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、数値を指数部と仮
数部によって表現する浮動小数点数値の演算を行う浮動
小数点演算回路に関するものである。
【0002】
【従来の技術】浮動小数点は、数値を仮数部と指数部と
で表現するもので、例えば数値nは、仮数部をa、指数
部をbとすると、n=a・rb(rは基数)で表され
る。
【0003】また、指数部は、符号を付して表現された
り、ある特定の数を基準とし、その数に対する大小で表
すバイアス表現で表される。
【0004】浮動小数点で表現された数値を用いて演算
を行う場合、固定小数点で表現された数値を用いて演算
を行う場合に比べ、広い範囲の数の演算が可能である。
【0005】このため、扱う数値範囲を広く要求される
用途においては、浮動小数点で表現された数値の演算を
行う浮動小数点演算回路が用いられている。
【0006】図2は、従来の浮動小数点演算回路の概略
構成図の一例である。
【0007】図2において、(1)は指数部と仮数部と
で表現された浮動小数点数値である第1オペランドを入
力する第1入力レジスタ、(2)は、やはり指数部と仮
数部とで表現された浮動小数点数値である第2オペラン
ドを入力する第2レジスタである。
【0008】(3)は、第1オペランド(1)の指数部
から第2オペランド(2)の指数部の減算を行い、第1
オペランドと第2オペランドの内、桁合わせを施すオペ
ランドの決定及び桁合わせのためのシフト数の決定を行
うための減算回路である。
【0009】(4)は、減算回路(3)で決定されたシ
フト数を絶対値化するための絶対値化回路で、減算回路
(3)で決定されたシフト数が負の場合、演算により正
の数に変換する。
【0010】(5)は、減算回路(3)の減算結果に従
って後述するバレルシフタに入力するオペランドを選択
する第1マルチプレクサで、減算結果が正ならば第2オ
ペランドの仮数部が選択出力され、減算結果が負ならば
第1オペランドの仮数部が選択出力される。
【0011】(6)は、入力されたオペランドを絶対値
化回路(4)から出力されるシフト数だけ右シフトし、
仮数部の桁合わせを行うバレルシフタである。
【0012】(7)は、減算回路(3)の減算結果に従
って、第1入力レジスタ(1)から入力された第1オペ
ランドの仮数部とバレルシフタ(6)で桁合わせが施さ
れたオペランドの仮数部とのどちらかを選択して出力す
る第2マルチプレクサで、減算結果が正ならば第1入力
レジスタ(1)から入力された第1オペランドの仮数部
が選択出力され、減算結果が負ならばバレルシフタ
(6)で桁合わせが施されたオペランドの仮数部が選択
出力される。
【0013】また(8)も同様に、減算回路(3)の減
算結果に従って、第2入力レジスタ(2)から入力され
た第2オペランドの仮数部とバレルシフタ(6)で桁合
わせが施されたオペランドの仮数部とのどちらかを選択
して出力する第3マルチプレクサで、減算結果が負なら
ば第2入力レジスタ(2)から入力された第2オペラン
ドの仮数部が選択出力され、減算結果が正ならばバレル
シフタ(6)で桁合わせが施されたオペランドの仮数部
が選択出力される。
【0014】(9)は、桁合わせがされた2つのオペラ
ンドの仮数部に対して、加減乗除、論理和、論理積等の
算術論理演算を行う演算回路である。演算回路(9)で
の演算結果は、正規化回路(10)にて、入力された第
1、第2オペランドの指数部と共に数値としての正規化
が行われる。
【0015】(11)は、正規化回路(10)にて正規
化され出力された浮動小数点数値に対して、切り捨て、
切り上げ、あるいは四捨五入等の丸め処理を行う丸め回
路である。
【0016】このように、浮動小数点演算回路では、オ
ペランドの指数部を大きいほうのオペランドの指数部に
合わせて2つの入力オペランドの桁合わせを行い、その
後、仮数部の演算を演算回路にて行う。そして、演算結
果の正規化と丸め処理が施されて浮動小数点の演算結果
として出力される。
【0017】
【発明が解決しようとする課題】上述のように、浮動小
数点演算回路において、演算の高速化を図るには、演算
回路における演算の高速化はもちろんのこと、入力オペ
ランドの桁合わせ処理、正規化や丸め処理の高速化が必
要になってくる。
【0018】図2に示す浮動小数点演算回路では、入力
オペランドの桁合わせを行う場合、仮数部の桁合わせの
ために、第1マルチプレクサ(5)でバレルシフタ
(6)に入力するオペランドの仮数部の選択を、第2マ
ルチプレクサ(7)及び第3マルチプレクサ(8)で演
算回路(9)に入力するオペランドの仮数部の選択を行
わなければならない。
【0019】従って、これらマルチプレクサを通過させ
るための時間が必要となり、入力オペランドの桁合わ
せ、ひいては浮動小数点演算の高速化を阻む要因となっ
ていた。
【0020】
【課題を解決するための手段】本発明は、指数部と仮数
部とで表現された第1オペランドを入力する第1入力手
段と、指数部と仮数部とで表現された第2オペランドを
入力する第2入力手段と、前記第1オペランドの指数部
と前記第2オペランドの指数部とからなる仮数部の桁合
わせのためのシフト数を演算出力するシフト数決定手段
と、前記第1オペランドの仮数部と前記第2オペランド
の仮数部との演算を行う演算手段と、前記第1入力手段
に入力された第1オペランドの仮数部を入力し、第1オ
ペランドの指数部と第2オペランドの指数部との大小に
より必要に応じて、前記シフト数決定手段にて決定され
たシフト数だけ第1オペランドの仮数部をシフトする第
1シフト手段と、前記第2入力手段に入力された第2オ
ペランドの仮数部を入力し、第1オペランドの指数部と
第2オペランドの指数部との大小により必要に応じて、
前記シフト数決定手段にて決定されたシフト数だけ第2
オペランドの仮数部をシフトする第2シフト手段と、を
備える浮動小数点演算回路であって、前記シフト数決定
手段は、前記第1入力手段に入力された第1オペランド
の指数部から前記第2入力手段に入力された第2オペラ
ンドの指数部の減算を行う第1の減算手段と、前記第2
入力手段に入力された第2オペランドの指数部から第1
入力手段に入力された第1オペランドの指数部の減算を
行う第2の減算手段と、第1の減算手段と第2の減算手
段での減算結果のうち値が正の減算結果を仮数部の桁合
わせのためのシフト数として選択的に出力するシフト数
選択手段と、からなり、前記演算手段は、前記第1シフ
ト手段から出力される仮数部と前記第2シフト手段から
出力される仮数部とを入力してこれら仮数部の演算を行
うことを特徴とする。
【0021】
【発明の実施の形態】本発明の実施の形態を図1に従っ
て説明する。
【0022】図1は、本発明の浮動小数点演算回路の一
実施例の概略構成図である。
【0023】(21)は指数部と仮数部とで表現された
浮動小数点数値である第1オペランドを入力する第1入
力手段としての第1入力レジスタ、(22)は、やはり
指数部と仮数部とで表現された浮動小数点数値である第
2オペランドを入力する第2入力手段としての第2入力
レジスタである。
【0024】(23)は第1入力レジスタ(21)に入
力された第1オペランドの指数部から第2入力レジスタ
(22)に入力された第2オペランドの指数部の減算を
行う第1演算回路(第1の減算手段)、(24)は第2
入力レジスタ(22)に入力された第2オペランドの指
数部から第1入力レジスタ(21)に入力された第1オ
ペランドの指数部の減算を行う第2演算回路(第2の演
算手段)である。
【0025】(25)は、第1減算回路(23)と第2
減算回路(24)の減算結果のうち値が正の減算結果を
選択的に出力するシフト数選択手段としてのマルチプレ
クサで、第2減算回路(24)における減算により発生
するボローに応じて、即ち、第2減算回路(24)でボ
ローが発生したとき(第2減算回路(24)での減算結
果が負のとき)は第1減算回路(23)での減算結果の
数値を、ボローが発生しなかったとき(第2減算回路
(24)での減算結果が正のとき)は第2減算回路(2
4)での減算結果の数値を桁合わせのシフト数として後
述する二つのバレルシフタに出力する。
【0026】シフト数決定手段は、これら第1減算回路
(23)、第2減算回路(24)及びマルチプレクサ
(25)により構成される。
【0027】(26)は、第1入力レジスタ(21)に
入力された第1オペランドの仮数部を入力し、第2減算
回路(24)における減算により発生するボローに応じ
て、ボローが発生しなかったとき(第2減算回路(2
4)での減算結果が正のとき)第1オペランドの仮数部
を桁合わせすべく、マルチプレクサ(25)から入力さ
れるシフト数だけ入力された仮数部を右シフトさせる第
1シフト手段としての第1バレルシフタで、第2減算回
路(24)における減算によりボローが発生したとき
(第2減算回路(24)での減算結果が負のとき)は、
入力された第1オペランドの仮数部を、シフトさせずそ
のまま演算回路に出力する。
【0028】(27)は、第2入力レジスタ(22)に
入力された第2オペランドの仮数部を入力し、第2減算
回路(24)における減算により発生するボローに応じ
て、ボローが発生したとき(第2減算回路(24)での
減算結果が負のとき)第2オペランドの仮数部を桁合わ
せすべく、マルチプレクサ(25)から入力されるシフ
ト数だけ入力された仮数部を右シフトさせる第2シフト
手段としての第2バレルシフタで、第2減算回路(2
4)における減算によりボローが発生しなかったとき
(第2減算回路(24)での減算結果が正のとき)は、
入力された第2オペランドの仮数部を、シフトさせずそ
のまま演算回路に出力する。
【0029】(28)は、桁合わせがされた2つのオペ
ランドの仮数部に対して、加減乗除、論理和、論理積等
の算術論理演算を行う演算回路である。
【0030】(29)は、演算回路(28)での演算結
果を、入力された第1、第2オペランドの指数部と共に
数値としての正規化を行う正規化回路、(30)は、正
規化回路(29)にて正規化され出力された浮動小数点
数値に対して、切り捨て、切り上げ、あるいは四捨五入
等の丸め処理を行う丸め回路である。
【0031】斯様な回路において、第1入力レジスタ
(21)と第2入力レジスタ(22)に浮動小数点の数
値である第1オペランドと第2オペランドが入力される
と、第1オペランドの指数部と第2オペランドの指数部
が第1減算回路(23)、第2減算回路(24)に入力
され、第1減算回路(23)では第1オペランドの指数
部から第2オペランドの指数部が、第2減算回路(2
4)では第2オペランドの指数部から第1オペランドの
指数部が減算される。夫々の減算回路での減算結果は、
マルチプレクサ(25)に入力される。
【0032】マルチプレクサ(25)では、第2減算回
路(24)でボローが発生した場合には、第1オペラン
ドの指数部のほうが大きいので、第1オペランドに桁合
わせをすべく、第1減算回路(23)の減算結果が出力
され、ボローが発生しなかった場合には、第2オペラン
ドの指数部のほうが大きいので、第2オペランドに桁合
わせをすべく、第2減算回路(24)の減算結果が出力
される。
【0033】一方、第1入力レジスタ(21)に入力さ
れた第1オペランドの仮数部と、第2入力レジスタ(2
2)に入力された第2オペランドの仮数部は、夫々、第
1バレルシフタ(26)、第2バレルシフタ(27)に
入力される。
【0034】第1バレルシフタ(26)、第2バレルシ
フタ(27)には、マルチプレクサ(25)からの桁合
わせのためのシフト数が供給されており、第2減算回路
(24)における減算により発生するボローに応じて、
相補的にシフト動作を行う。即ち、ボローが発生したと
きは、第2バレルシフタ(27)においてのみ、マルチ
プレクサ(25)から入力されるシフト数だけ入力され
た第2オペランドの仮数部を右シフトさせ、ボローが発
生しなかったときは、第1バレルシフタ(26)におい
てのみ、マルチプレクサ(25)から入力されるシフト
数だけ入力された第1オペランドの仮数部を右シフトさ
せる。
【0035】そして、シフトによる桁合わせが施された
仮数部と、シフトのされなかった仮数部がバレルシフタ
から出力され、演算回路(28)に入力される。
【0036】演算回路(28)では入力された二つのオ
ペランドの仮数部による演算を行い、演算結果を正規化
回路(29)に出力する。
【0037】正規化回路(29)では、演算結果と第
1、第2オペランドの指数部とで、数値としての正規化
が行われ、丸め回路(30)で丸め処理がされて浮動小
数点の演算結果として出力される。
【0038】
【発明の効果】本発明は、以上の説明から明らかなよう
に、第1バレルシフタに入力された第1オペランドの仮
数部と、第2バレルシフタに入力された第2オペランド
の仮数部は、第1オペランドの指数部と第2オペランド
の指数部との大小により、マルチプレクサから出力され
るシフト数だけ、相補的に第1バレルシフタあるいは第
2バレルシフタで桁合わせのシフトが行われる。
【0039】従って、桁合わせがされた仮数部は、マル
チプレクサ等の選択手段を介することなく、演算回路に
入力されるので、演算回路にて演算を開始するまでの時
間の短縮が図れる。そして、浮動小数点演算の高速化が
図れる。
【0040】また、第1オペランドの指数部から第2オ
ペランドの指数部を減算する減算回路と、第2オペラン
ドの指数部から第1オペランドの指数部を減算する減算
回路と、これら減算回路における減算結果が正のものを
選択的に桁合わせを施す仮数部のシフト数として出力す
るマルチプレクサを設けることにより、仮数部の桁合わ
せのための仮数部のシフト数を絶対値化する必要がなく
なる。これにより、更に、浮動小数点の演算のための前
処理としての桁合わせが高速に行え、浮動小数点演算の
高速化に寄与できる。
【図面の簡単な説明】
【図1】本発明の浮動小数点演算回路の一実施例の概略
構成図である。
【図2】従来の浮動小数点演算回路の概略構成図であ
る。
【符号の説明】
21・・・・・第1入力レジスタ(第1入力手段) 22・・・・・第2入力レジスタ(第2入力手段) 23・・・・・第1減算回路(第1の減算手段) 24・・・・・第2減算回路(第2の減算手段) 25・・・・・マルチプレクサ(シフト数選択手段) 26・・・・・第1バレルシフタ(第1シフト手段) 27・・・・・第2バレルシフタ(第2シフト手段) 58・・・・・演算回路(演算手段) 29・・・・・正規化回路 30・・・・・丸め回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 指数部と仮数部とで表現された第1オペ
    ランドを入力する第1入力手段と、指数部と仮数部とで
    表現された第2オペランドを入力する第2入力手段と、
    前記第1オペランドの指数部と前記第2オペランドの指
    数部とからなる仮数部の桁合わせのためのシフト数を演
    算出力するシフト数決定手段と、 前記第1オペランドの仮数部と前記第2オペランドの仮
    数部との演算を行う演算手段と、 前記第1入力手段に入力された第1オペランドの仮数部
    を入力し、第1オペランドの指数部と第2オペランドの
    指数部との大小により必要に応じて、前記シフト数決定
    手段にて決定されたシフト数だけ第1オペランドの仮数
    部をシフトする第1シフト手段と、 前記第2入力手段に入力された第2オペランドの仮数部
    を入力し、第1オペランドの指数部と第2オペランドの
    指数部との大小により必要に応じて、前記シフト数決定
    手段にて決定されたシフト数だけ第2オペランドの仮数
    部をシフトする第2シフト手段と、を備える浮動小数点
    演算回路であって、 前記シフト数決定手段は、前記第1入力手段に入力され
    た第1オペランドの指数部から前記第2入力手段に入力
    された第2オペランドの指数部の減算を行う第1の減算
    手段と、前記第2入力手段に入力された第2オペランド
    の指数部から第1入力手段に入力された第1オペランド
    の指数部の減算を行う第2の減算手段と、第1の減算手
    段と第2の減算手段での減算結果のうち値が正の減算結
    果を仮数部の桁合わせのためのシフト数として選択的に
    出力するシフト数選択手段と、からなり、 前記演算手段は、前記第1シフト手段から出力される仮
    数部と前記第2シフト手段から出力される仮数部とを入
    力してこれら仮数部の演算を行うことを特徴とする浮動
    小数点演算回路。
JP8107836A 1996-04-26 1996-04-26 浮動小数点演算回路 Pending JPH08263267A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8107836A JPH08263267A (ja) 1996-04-26 1996-04-26 浮動小数点演算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8107836A JPH08263267A (ja) 1996-04-26 1996-04-26 浮動小数点演算回路

Publications (1)

Publication Number Publication Date
JPH08263267A true JPH08263267A (ja) 1996-10-11

Family

ID=14469283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8107836A Pending JPH08263267A (ja) 1996-04-26 1996-04-26 浮動小数点演算回路

Country Status (1)

Country Link
JP (1) JPH08263267A (ja)

Similar Documents

Publication Publication Date Title
US6763368B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US4999803A (en) Floating point arithmetic system and method
US5136536A (en) Floating-point ALU with parallel paths
US5111421A (en) System for performing addition and subtraction of signed magnitude floating point binary numbers
US5677861A (en) Arithmetic apparatus for floating-point numbers
US6205461B1 (en) Floating point arithmetic logic unit leading zero count using fast approximate rounding
US6205462B1 (en) Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously
US6813628B2 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
JP2511527B2 (ja) 浮動小数点演算器
KR100317767B1 (ko) 부동 소수점 2진 4 워드 포맷 승산 명령 유닛
KR890015120A (ko) 부동 소숫점 표기를 기초로 하는 연산회로
GB2549153A (en) Apparatus and method for supporting a conversion instruction
JPH08263267A (ja) 浮動小数点演算回路
JP2645422B2 (ja) 浮動小数点演算処理装置
JP2555577B2 (ja) 演算装置
JPH0251732A (ja) 浮動小数点演算器
JPH05204606A (ja) 浮動小数点演算方式および装置
JPS5960637A (ja) 浮動小数点演算装置
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JPS63158626A (ja) 演算処理装置
JP2792998B2 (ja) 加減算回路を用いた型変換装置
JPH08263269A (ja) 浮動小数点演算回路
JPH0285922A (ja) 演算回路
JPH04132538U (ja) 浮動小数点演算回路
JPH04160533A (ja) マイクロ・プロセッサ