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

浮動小数点数演算装置

Info

Publication number
JPS6162932A
JPS6162932A JP59184623A JP18462384A JPS6162932A JP S6162932 A JPS6162932 A JP S6162932A JP 59184623 A JP59184623 A JP 59184623A JP 18462384 A JP18462384 A JP 18462384A JP S6162932 A JPS6162932 A JP S6162932A
Authority
JP
Japan
Prior art keywords
register
value
exponent
length
bit
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
JP59184623A
Other languages
English (en)
Inventor
Koichi Yokomizo
剛一 横溝
Hozumi Hamada
浜田 穂積
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP59184623A priority Critical patent/JPS6162932A/ja
Publication of JPS6162932A publication Critical patent/JPS6162932A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、浮動小数点数演算装置に関し、特に数値デー
タを指数部固定長表現形式と指数部可変長表現形式の画
形式で演算可能な浮動小数点数演算装置に関するもので
ある。
〔発明の背景〕
従来から連続的な数値データの離散的な表現として、指
数部固定長浮動小数点表現は多くの電子引算機に採用さ
れ、一般に広く使用されている。
この表現法は、指数部が固定長ゆえ、取扱いが容易であ
るが、極端に絶対値の大きな数や絶対値の小さな数が表
現できず、表現できろデータの範囲が、応用対象によっ
ては充分でないという欠点があった。指数部可変長fJ
、!PIJ小数点表現形式は、特開昭58−11482
8号公報に記載されているよう(二指敷部固定長表現よ
りも広い範囲のデータを表現でき、現実の応用上充分な
表現可能範囲が得られる。しかし、その指数部可変長浮
動小数点は、従来の指数部固定長表現と形式−Fの共通
性がほとんどないために、従来の指数部固定長表現で蓄
(Hされたデータは、指数部可変長に変換しなければ使
用できないという問題があった。
〔発明の目的〕
本発明の目的は、このよ′)な従来の欠点を改高し、従
来の指数部固定長浮動小数点表現方式の表現形式を保持
し、かつ、表現可能なデータの範囲を指数部可変長浮動
小数点表現方式と同等な範囲まで広げることが可能な浮
動小数点表現方式による浮動小数点数演算装置を提供す
ることにある。
〔発明の概要〕
1−記1」的を達成させるために、本発明では、データ
の範囲によって、入力されたデータが指数部固定長表現
か指数部可変長表現かを判別する手段および、該判別手
段により判別された」二記人力データを演算し、演算結
果が指数部固定長衣131の範囲か指数部可変長表現の
範囲かを判別する手段とを設けたことに特徴がある。
〔発明の実施例〕
以ト、本発明の実施例を図面により説明する。
まず、本発明の演算装置に用いる指数部固定長浮動小数
点表現方式(以下「固定長表現」、「固定長表現方式」
の如く称する。)と指数部可変長浮動小数点表現方式(
以下「可変長表現」、「可変長表現方式」の如く称する
。)について詳細に説明する。
第2図は、本実施例で用いる固定長表現を示す図である
第2図において、]は数値データの符号情報の1ビット
、2は指数の値を表す7ビツ1−からなるに3) 指数部、3は仮数部、4は指数部2と仮数部3の境界で
ある。固定長表現では境界4は固定されている。
数Xが指数eと仮数mとで次のように表現されるものと
する。
x=m・168          ・・・(1)ここ
で、eは整数であり、1ml<1である。
このとき、符号情報の1ビツトは、m ) Oならば0
、m<Oならば1とする。指数部の7ビツ1−はe+6
4を2進数で表したものである。仮数部は1mlを16
進数で表したときの小数点以下を必要なだけの長さを取
り出したもので、最下位以降は切捨てまたは7捨8人す
る。
本実施例で用いる可変長表現方式の要点は、指数部の先
行するIt OItの列あるいは1′″の列により指数
部の長さを決定する点にあり、以下の如く規定する。
(i)本可変長表現は数Oと無限大とを次の通り表現可
能である。
0は  “OOO・・0”     ・・(2)無限大
は” 100・・・0″      ・・(3)以下、
これ以外の数について述べる。
(i])数Xが指数eと仮数mとで次のように表現され
るものとする。
x = rn−2+          ・・・(4)
ここで、eは整数であり、またmはXの符号に従って次
のように規定されるものである。mについても次のよう
に規定される。
a)x>Oのとき、 1<、m<2.m=m−1・・(5) b)x<Oのとき −2<m<−,1,、m=m+2   ・・・(6)ま
た、豆は次のように規定される。
に)eン−のとき e = e + 1.             −(
7)d)e<Oのとき 雇−=−e            ・・(8)更に、
nは次のように規定される。
r+= [Qo g2e]+1−     −(9)但
し、記号〔〕はガウス記号であり、〔X〕はXを越えな
い最大の整数を表すものとする。
(jii )本可変長表現のビット配置は、原則的には
第2図に示した配置と同じである。但し、指数部の長さ
は可変であり、2nピッ1−である。
(〜)符号情報のビット1はx > OのときO,x<
0のとき1である(固定長表現と同じ)。
(v)指数部は次のように規定される。
a)左nビットはtr 1 r+の列である。
b)右nビットは7を2進展開した長さnのビット列の
左端を“0″に変えたものである。
C)但し、X〈−1あるいはO< x < 1のときは
上記c)、d)で定まるものの1の補数である。
(vi)仮数部は次のように規定される。
mの2進展開形を 0、b、 b2b3・=         −(10)
とするとき、ビット列”b、b2b3・・・′″の左か
ら必要なだけの長さのものである。
以上の規定により任意のビット列の表現する数が一意に
定まる。
次に、本実施例で用いるデータの浮動小数点表現におけ
る固定長表現と可変長表現の使い分けの範囲について以
下のように規定する。表現するデータをXとすると、 (i)無限大           :可変長表現(i
i )x <−−2”8:可変長表現(jii)−22
411<x<−2−”’     :固定長表現Nv)
 −2−”’< x < 2−”’     :可変長
表現(v )2−′!i’< x < 2248.固定
長表現(vi)224″<x           H
可変長表現この規定は、データを可変長表現したときに
、指数部の左7ビツトが全て“0”、あるいは全て11
1 ++とならないデータのみ固定長表現を用いるとも
解釈できる。以後、上記の使い分けに従った浮動小数点
表現方式を本表現方式と略記する。
第1図は、本発明の一実施例を示す浮動小数点数演算装
置の要部を示すブロック図である。
第1図において、11は浮動小数点数レジスタ、12は
仮数部レジスタ、13は指数部レジスタ、14はカウン
タ、15はフリップフロップ、16は2人力論理回路、
17は指数変換回路、25はインバータである。
浮動小数点数レジスタ]1の長さをK +1ビツトとす
る。符号ビット20を除いた右にピッ1へはシフト・レ
ジスタであり、以下の機能を有している。
(1,−1)左シストのl−リガ31が与えられる度に
1ビツトだけ左シフトする。
(1−2)右シフトのトリガ32が与えられる度に1ビ
ツトだけ右シフ1−する。
(1−3)仮数部レジスタ12へ〜値の転送を行う。
(]、 −4)値減少トリガ33により1だけ値を減少
する。
(1−5)補数トリガ34により、−斉に各ビットの値
のtI O11と111 ++を反転する。
仮数部レジスタ12は、長さにピッ1〜を有するシフト
・レジスタであり、以下の機能を有している。
(1,−6)左シフ1−のトリガ35が与えられる度に
1ビツトだけ左ヘシフトする。
(1,−7’)右シフトのトリガ36が与えられる度に
1ビツトだけ右ヘシフトする。
(1,−8)浮動小数点数レジスタ11へ値の転送を行
う。
(1−9)値減少トリガ37により1だけ値を減少する
(1,−10)補数トリガ38により、−斉に各ピッl
〜の値の“O”と“1”を反転する。
指数部レジスタ13は長さにビットを有するレジスタで
あり、以下の機能を有している。
(1,−11)左シフトのトリガ39が与えられる度に
1ビツトだけ左シストする。
(1−1,2)右シフトのトリガ40が与えられる度に
1ビツトだけ右シフトする。
(1−13)値増加トリガ41−により、1だけ値を増
加する。
(1−14)値減少トリガ42により、1だけ値を減少
する。
(1−15)補数トリガ43により、−斉に各ピットの
種の“O”と“1′″に反転する (1−16)すべてのピッ1へがrr O++であるこ
とを検出する。
(1,−17)値減少トリガ44により、64だけ値を
減少する。
(1−18)値(e)が−256< e < 248の
範囲内であるか否かを検出する。
前記各シフトトランジスタでシフ1〜するにあたっては
、特にことわらない限り、溢れたピッ1−Q)情報は失
われ、供給されるべきピッ1〜はll O++である。
2人力論理回路16は入力50と入力5】の値に従って
第3図に示すような出力な発生ずる。
指数変換回路17は、以下の機能をイJしている。
(1−19)指数部レジスタ1;3中のデータ値(e)
を用いて、 e’ = C(e+3)/’1〕−1−64  ・・(
11)n =  (e ’  −64)  X 4− 
e     ・・(12)を計算し、値e′を指数部レ
ジスタ 13へ出力し、n回浮動小数点数レジ スタ11に右シフトのトリガ32を与 える。但し、〔〕はガウス記号であ る。
上述の構成を有する本実施例装置の作用について以下に
説明する。
本表現方式によるデータの演算は次の手順で行われる。
(1)“0”あるいは111 IIの列の計数(2)指
数部と仮数部の分離 に()加減算の場合、指数部の値の調整(4)演算 (5)正規化 (6)指数部と仮数部の結合 (7)  ”O”あるいはII I IIの列の挿入法
に、上記の各手順について詳細に説明する。
m  ”O”あるいはLL 1− IIの列の計数(a
)カウンタ14の値を0にセットする。浮動小数点レジ
スタ]]の符号ビット2oを除いた第1ピツ1〜21の
値在フリップフロップ】5にセットする。
(b)浮動小数点数レジスタ11の前記第1ビツト21
を論理回路16の入力50に入れる。
フリップ・フロップ15の値を論理回路16の入力5」
に入れる。このときの論理回路16の出力(“1”)を
カウンタ14で計算する。浮動小数点数レジスタ11の
前記第1ビツト21を供給ビットとして指数部レジスタ
13を前記機能(]−−−11,)により左シフトする
(c)次のステップ(d)を論理回路16の出力が“0
”になるまで繰返し、その回数をカウンタ14で計数す
る。
(d)浮動小数点数レジスタ11を前記機能(1−1)
により左シフ1−する。新しく前記第1ビツト21に左
シフトされた値を論理回路16の入力50に入れる。さ
らに、この第1ビツト21を供給ビットとして指数部レ
ジスタ13を前記機能(1−11)により左シフトする
。フリップ・フロップ15の値を論理回路16の入力5
1に入れる。
(2)指数部と仮数部の分離 (a)カウンタ】4の値が7以上のときは、浮動小数点
数1ノジスタ11の値は可変長表現と判別し、次の(b
)〜(、])の処理を行い、カウンタ14の値が7未満
のときは、固定長表現と判別して、次の(10〜(r)
の処理を行う。
(b) −1一記手順(1)の結果の浮動小数点数レジ
スタ11の前記第1ビツト21の値を反転する。
(〔、)指数部レジスタ13を“0″にする。
(d)浮動小数点数レジスタ11の前記第1ビツト21
の値を論理回i!816の入力50に入れる。フリップ
・フロップ15の値を論理回路16の入力51に入れる
。カウンタ14の値を1減すると共に、このときの論理
回路16の出力を供給ビットとして、前記機能(1−1
1)により、指数部レジスタ13を左シフトする。
(c)次のステップ(f)、(g)をカウンタ14の値
を1ず一〕減じながら、0になるまで繰返す。
(f)浮動小数点数レジスタ】1を前記機能(1=1)
により左シフトする。新しく前記第]ビット21に左シ
フ1〜された値を論理回路16の入力50に入れる。フ
リップ・フロップ15の値を論理回路16の入力51に
入れる。
(g)論理回路16の出方を供給ビットとじて、前記機
能(1−1,1)により指数部レジスタ13を左シフト
する。
(h)カウンタ14の値が0になったときにおける指数
部レジスタ13がら、前記機能(1−14)により値1
を減する。
(i)符号ビット2oとフリップ・フロップ15の値を
論理回路16に入力し、出力の値tL i IIが出る
場合は、前記機能(1−15)による補数をとる。
(j)前記機能(1,−3)により、浮動小数点数1ノ
ジスタ11の値を仮数部レジスタ12に転送する。また
、符号ビット2oの値も仮数部レジスタ12の符号ビッ
ト22へ転送され、符号ビット20の値をインバータ2
5により反転させた値が仮数部レジスタ12の小数点位
置23の左のビットに転送される。
(k)カウンタ14の値が7になるまで、カウンタの値
を1ずつ増し、次の(Q)の処理を行い、カウンタ14
の値を調べるという操作を繰返す。
(Q)浮動小数点数レジスタ11を前記機能(1−1)
により左シフトする。新しく前記第1ビツト21に左シ
フトされた値を供給ビットとして、指数部レジスタ13
を前記機能(1−11)による左シフトする。
(m)前記機能(1,−17)による指数部レジスタ1
3内の値から64を減じた値を指数部レジスタ13にセ
ットする。
(n)指数部レジスタ]3を前記機能(1−11)によ
る2回左シフトすることにより値を4倍する。
(0)前記機能(1,−3)による仮数部レジスタ12
へ浮動小数点数レジスタ11の値を転送する。
(p)前記機能(1,−9)による仮数部レジスタ12
の値を1だけ減する。
(q)前記機能(1−10)による補数をとる。
(r)符号ビット20の値を仮数部レジスタ12の符号
ビット22と小数点位置23の左のピッ トに転送する
この状態において、データをm・2′の形式で表現した
ときの前記eの値が、(負数は2の補数である整数とし
て)指数部レジスタ13に格納されており、前記mの値
が(負数は2の補数である小数として)、仮数部レジス
タ12に格納されている。
手順(3)、(4)、(5)については、従来の指数部
固定長浮動小数点表現について行われる手順であるので
、省略して手順(6)の説明に移る。
(6)指数部と仮数部の結合 (a)前記機能(1−18)により指数部レジスタ13
内の値(e)が−256< e < 248の範囲外の
ときは、演算結果は可変長表現を用いると判別し、次の
(b)〜(g)の処理を行い、−256< e < 2
48の範囲内のときは演算結果は固定長表現を用いると
判別して、次の(h)〜(k)の処理を行う。
(b)前記機能(1−8)により仮数部レジスタ12か
ら浮動小数点数レジスタ11へその内容を転送する。
(c)論理回路16の入力50に指数部レジスタ13の
符号ビット24を、入力51に仮数部レジスタ12の符
号ビット22を入れ、出力をフリップ・フロップ15に
入れる。
(d)符号ビット24の値が“1”のとき、前記機能(
]、 −15)により指数部レジスタ13の補数をとる
(e)前記機能(1−13)による指数部レジスタ13
の値を1だけ増す。カウンタ14の値をOにする。
(f)次の(g)の処理をカウンタ14の値を増しなが
ら、前記機能(1,−14)により、指数部レジスタ1
3の値がOになるまで繰返す。
(g)指数部レジスタ13を前記機能(1,−1,2)
により右に1−ビットだけシフトする溢れたビットを論
理回路16の入力50に、フリップ°フロップ15の値
を論理回路16の入力51に入れ、その出力を、浮動小
数点数レジスタ′11を前記機能(1−2)により右に
1ビツトだけシフトする場合に左端から供給するビット
として用いる。
(h)仮数部レジスタ12の符号ピッ1〜22を供給ビ
ットとして、前記機能(1−7)により仮数部レジスタ
12を1回右シフトする。また、前記機能(]−−11
,)による指数部レジスタ13を1回左シフトする。
(i)前記機能(1−8)による仮数部レジスタ12の
値を浮動小数点数レジスタ1]へ転送する。また、符号
ビット22の値もそのまま浮動小数点数レジスタ11の
符号ビット2゜へ転送する。
(j)前記機能(1−1,9)の指数変換回路】7の駆
動により、指数部レジスタ13の値を変換し、指数部変
換回路17の発生する1〜リガ32により浮動小数点数
レジスタ11を右シフトさせる。
(k)前記機能(1,−1,2)により指数部レジスタ
13を右シフトさせ、溢れたビットを、浮動小数点数レ
ジスタ11を前記機能(1’−2)によって右にシフト
する場合に左端から供給するビットとして用いる。この
操作を7回行う。
(7)“0″あるいは“1”の列の挿入(a)手順(6
)のステップ(a)で演算結果を可変長表現すると判別
したときのみ、次の(b)〜(d)の処理を行う。
(b)浮動小数点数レジスタ11の第1ビツト21の値
を反転する。
(c)前記カウンタ14の値(手順(6)のステップ(
f))だけ次のステップ(d)を実行する。
(d)フリップ・フロップ15の値を供給ビットとして
、前記機能(1−8)により指数部レジスタ13の内容
を右に1ビツトだけシフトする。
以上述べた如き作用により、本発明の浮動小数点数演算
装置は、データの範囲により指数部固定長表現と指数部
可変長表現を使い分ける表現形式で表されたデータの演
算を従来の演算装置を利用して実用化することが可能と
なる。
なお、上記実施例の各構成要素は、実質的に同等の機能
を有する他の具体的手段に置換可能であることは言うま
でもない。
〔発明の効果〕 以上説明したように、本発明によれば、本演算装置は、
データの範囲によって、指数部固定長浮動小数点表現と
指数部可変長浮動小数点表現を使い分けることができる
ので、従来の指数部固定長浮動小数点表現されている大
量の蓄積データを指数部可変長浮動小数点表現に変換す
ることなく入力データとして使用でき、さらに極端に大
きな数、他端に小さな数についても表現可能な指数部可
変長表現方式を利用して表現できるようになる。
【図面の簡単な説明】
第1図は本発明の一実施例を示す浮動小数点数演算装置
の要部を示すブロック図、第2図は指数部固定長浮動小
数点表現な示す図、第3図は第1図の論理回路の出力関
係図である。

Claims (1)

    【特許請求の範囲】
  1. 浮動小数点数演算装置において、データの範囲によって
    、入力されたデータが指数部固定長表現か指数部可変長
    表現かを判別する手段、および該判別手段により判別さ
    れた上記入力データを演算し、演算結果が指数部固定長
    表現の範囲か指数部可変長表現の範囲かを判別する手段
    を設けたことを特徴とする浮動小数点数演算装置。
JP59184623A 1984-09-05 1984-09-05 浮動小数点数演算装置 Pending JPS6162932A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59184623A JPS6162932A (ja) 1984-09-05 1984-09-05 浮動小数点数演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59184623A JPS6162932A (ja) 1984-09-05 1984-09-05 浮動小数点数演算装置

Publications (1)

Publication Number Publication Date
JPS6162932A true JPS6162932A (ja) 1986-03-31

Family

ID=16156470

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59184623A Pending JPS6162932A (ja) 1984-09-05 1984-09-05 浮動小数点数演算装置

Country Status (1)

Country Link
JP (1) JPS6162932A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5693932A (en) * 1979-12-25 1981-07-29 Matsushita Electric Industrial Co Ltd Furniture with water tank
JPS57211311A (en) * 1981-06-22 1982-12-25 Takara Standard Kk Top plate of kitchen furniture
JPS58535A (ja) * 1981-06-19 1983-01-05 松下電器産業株式会社 水槽付天板

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5693932A (en) * 1979-12-25 1981-07-29 Matsushita Electric Industrial Co Ltd Furniture with water tank
JPS58535A (ja) * 1981-06-19 1983-01-05 松下電器産業株式会社 水槽付天板
JPS57211311A (en) * 1981-06-22 1982-12-25 Takara Standard Kk Top plate of kitchen furniture

Similar Documents

Publication Publication Date Title
US5309383A (en) Floating-point division circuit
JPH0833817B2 (ja) 基数16除算器
JPH0542697B2 (ja)
JPS6162932A (ja) 浮動小数点数演算装置
US7024439B2 (en) Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units
US5155699A (en) Divider using neural network
EP0281094B1 (en) Counter
JPS61141033A (ja) 演算処理装置
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
JPS5911444A (ja) 浮動小数点数演算装置
US5153847A (en) Arithmetic processor using signed digit representation of internal operands
JP2018097864A (ja) リーディングゼロ予想
Gosling Design of large high-speed floating-point-arithmetic units
JPH0241050B2 (ja)
KR20060078258A (ko) 가변 진법 나눗셈 연산기
Taher et al. High-speed, area-efficient FPGA-based floating-point arithmetic modules
RU2081508C1 (ru) Рекурсивный цифровой фильтр
JPS60235239A (ja) 浮動小数点加算回路
JP2705162B2 (ja) 演算処理装置
SU697994A1 (ru) Устройство дл вычислени элементарных функций
RU2010311C1 (ru) Устройство для параллельного деления чисел
JPS63254525A (ja) 除算装置
JPS605338A (ja) 演算装置
Maloberti et al. The Chinese Abacus method: can we use it for digital arithmetic?
JPS6027025A (ja) 除算回路