JPH0241050B2 - - Google Patents

Info

Publication number
JPH0241050B2
JPH0241050B2 JP61294817A JP29481786A JPH0241050B2 JP H0241050 B2 JPH0241050 B2 JP H0241050B2 JP 61294817 A JP61294817 A JP 61294817A JP 29481786 A JP29481786 A JP 29481786A JP H0241050 B2 JPH0241050 B2 JP H0241050B2
Authority
JP
Japan
Prior art keywords
exponent
value
data
bit
mantissa
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
JP61294817A
Other languages
English (en)
Other versions
JPS62143133A (ja
Inventor
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 JP61294817A priority Critical patent/JPS62143133A/ja
Publication of JPS62143133A publication Critical patent/JPS62143133A/ja
Publication of JPH0241050B2 publication Critical patent/JPH0241050B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の利用分野] 本発明は指数部可変長表現方式による浮動小数
点データ処理装置に関する。
[従来の技術] 浮動小数点表現方式は大きな数も小さな数も高
い精度で取扱うことができるため、特に科学技術
計算において利用される表現方式である。
しかしながら、従来の浮動小数点数演算装置は
指数表示部の長さが一定であつたため、表現でき
る数の範囲が限られるという欠点があり、また指
数部の値が小さいため少ない情報で済む場合にも
そのスペースを仮数部の精度を上げることに利用
するというような柔軟性がないという欠点があつ
た。
従来の浮動小数点表現の代表的な例を第3図に
示す。
図において、1は数値の符号情報の1ビツト、
2は指数の符号情報の1ビツト、4は指数の絶対
値情報で2と4とを合わせて指数部とも言う。5
は仮数部で6は指数部と仮数部との境界である。
[発明が解決しようとする問題点] 従来の浮動小数点表現においては、上記指数部
と仮数部との境界6が固定されたものであつた。
すなわち、指数部表示用のビツト数が一定であつ
た。このために前述の如き実用上の不都合があつ
たわけである。
本発明の目的は、従来の浮動小数点表現方式の
前述の如き欠点を除去した指数部可変長浮動小数
点表現方式による浮動小数点データを生成しうる
装置を提供することにある。
[問題点を解決するための手段] 上記目的を達成するため、本発明の浮動小数点
データ処理装置は、それぞれ固定長からなる指数
部データと仮数部データを処理の結果として出力
する浮動小数点データ処理手段と、該指数部デー
タと該仮数部データが入力され、該指数部データ
にて表わされる指数の値に依存したビツト数の1
の列又は0の列からなる指数部前半部と、該ビツ
ト数により定まるビツト数を有し、該指数部デー
タに対して所定の関係にあるビツト列からなる、
該指数の値を指定するための指数部後半部と、該
仮数部データの値に依存したビツト列からなる仮
数部とを有する可変長指数表現のデータに変換す
る手段とを有する。
[作用] 上記可変長指数部を有するデータは、指数の大
きいデータから指数の小さいデータまで同一形式
で表現でき、従来技術に述べた欠点を有しない。
本願発明の変換手段は固定長の指数部と仮数部
から上記可変長指数のデータを指数の大きさによ
らないで生成しえる。
[発明の実施例] 本発明による浮動小数点データ演算装置の具体
的説明に入る前に、本発明の演算装置に用いる指
数部可変長浮動小数点表現方式(以下、「本表
現」、「本表現方式」の如く称する。)について詳
細に説明する。
本表現方式の要点は、指数部の先行する“0”
の列あるいは“1”の列により指数部の長さを決
定する点にある。これにより、日常頻度高く出現
する1に近い数値は、指数部を短かく仮数部を長
くとれるので、従来より精度よく表現することが
でき、また、従来表現不可能であつた極端に大き
な数、極端に小さな数についても、指数部を長く
とれるので表現が可能になる。
指数部の長さの決定法について以下、具体的に
説明する。数の浮動小数点による本表現は以下の
如く規定される。
(i) 本表現は数0と無限大とを次の通り表現可能
である。
0 “000………0” 無限大 “100………0” 以下、これ以外の数につて述べる。
(ii) 数xが指数eと仮数mとで次のように表現さ
れるものとする。
x=m・2e ここで、eは整数であり、またmはxの符号
に従つて次のように規定されるものである。
についても次のように規定される。
(a) x>0のとき 1m<2,=m−1 (b) x<0のとき −2m−1,=m+2 また、は次のように規定される。
(a) e0のとき =e+1 (b) e<0のとき =−e 更にnは次のように規定される。
n=〔log〕+1 但し、記号〔 〕はガウス記号であり、
〔x〕はxを越えない最大の整数を表わす。
(iii) 本表現のビツト配置は原則的には第1図に示
した配置と同じである。但し、指数部の長さは
可変であり、2nビツトである。
(iv) 符号情報のビツト1はx>0のとき0、x<
0のとき1である(従来の表現同じ)。
(v) 指数部は次のように規定される。
(a) 左nビツトは“1”の列である。
(b) 右nビツトは、を2進展開した長さnの
ビツト列の左端を“0”に変えたものであ
る。
(c) 但し、x<−1あるいは0<x<1のとき
は上記(a),(b)で定まるものの1つの補数であ
る。
(vi) 仮数部は次のようにして規定される。
の2進展開形を 0・b1b2b3……… とするとき、ビツト列 “b1b2b3………” の左から必要なだけの長さのものである。
以上の規定により任意のビツト列の表現する数
が一意に定まる。
例として、数100の場合について具体的に説明
する。数100は、次のように表現される。
100=(25/16)×23 従つて前述の規定により、e=6,m=25/
16であり、また=7,=9/16,n=3で
ある。
第2図は、本表現による浮動小数点表現を示
すものである。符号ビツト1は数値が正である
から“0”であり、n=3であるから、指数部
の左3ビツト3aは“1”の列、右3ビツト3b
はを2進展開した値“111”の先頭の“1”
を“0”に変えた“011”である。仮数部5aは
mの2進展開形が 0.100100000……… であるから“100100000………”である。
上述した如く、本表現では指数部の先行する
“0”の列あるいは“1”の列が指数部の長さを
決定する。
以下、本発明の実施例を、図面に基づいて詳細
に説明する。
第1図は、本発明の一実施例を示す浮動小数点
数演算装置の要部を示すブロツク図である。図に
おいて、11は浮動小数点数レジスタ、12は仮
数部レジスタ、13は指数部レジスタ、14はカ
ウンタ、15はフリツプフロツプ、そして16は
2入力の論理回路である。
浮動小数点数レジスタ11の長さをk+1ビツ
トとする。符号ビツト17を除いた右kビツトは
シフト・レジスタであり、以下の機能を有する。
(1‐1) 左シフトのトリガ31が与えられるたびに
1ビツトだけ左シフトする。
(1‐2) 右シフトのトリガ32が与えられるたびに
1ビツトだけ右シフトする。
(1‐3) 仮数部レジスタ12へ値の転送を行なう。
仮数部レジスタ12は長さkビツトを有するシ
フト・レジスタであり、以下の機能を有する。
(1‐4) 左シフトのトリガ33が与えられるたびに
1ビツトだけ左シフトする。
(1‐5) 右シフトのトリガ34が与えられるたびご
とに1ビツトだけ右シフトする。
(1‐6) 浮動小数点数レジスタ11への値の転送を
行なう。指数部レジスタ13は長さkビツトを
有するシフト・レジスタであり、以下の機能を
有する。
(1‐7) 左シフトのトリガ35が与えられるたびに
1ビツトだけ左シフトする。
(1‐8) 右シフトのトリガ36が与えられるたびに
1ビツトだけ右シフトする (1‐9) 値増加トリガ37により1だけ値を増す。
(1‐10) 値減少トリガ38により1だけ値を減す
る。
(1‐11) 補数トリガ39により、一斉に各ビツト
の値の“0”と“1”を反転する。
(1‐12) すべてのビツトが“0”であることを検
出する。2入力論理回路16は入力40と入力
41の値に従つて第4図に示す如き出力を発生
する。なお、前記各シフト・レジスタでシフト
するにあたつて、特にことわらないかぎりあふ
れたビツトの情報は失われ、供給されるべきビ
ツトは“0”である。
上述の構成を有する本実施例装置の作用につい
て以下に説明する。
本表現によるデータの演算は次の手順で行なわ
れる。
(1) “0”あるいは“1”の列の計数 (2) 指数部と仮数部の分離 (3) 加減算の場合、指数部の値の調整 (4) 演算 (5) 正規化 (6) 指数部と仮数部の結合 (7) “0”あるいは“1”の列の挿入 このうち、手順(2)〜(6)は従来の指数部固定長浮
動小数点表現について行なわれる。手順(1)と(7)が
本表現によるデータの処理に関する手順であり、
これについて詳細に説明する。
(1) “0”あるいは“1”の列の計数 (a) カウンタ14の値を0にセツトする。浮動
小数点数レジスタ11の符号ビツト17を除
いた第1ビツト18の値をフリツプ・フロツ
プ15にセツトする。
(b) 浮動小数点数レジスタ11の前記第1ビツ
ト18を論理回路16の入力40に入れる。
フリツプ・フロツプ15の値を論理回路16
の入力41に入れる。このときの論理回路1
6の出力(“1”)をカウンタ14で計数す
る。
(c) 次のステツプ(d)を論理回路16の出力が
“0”になるまで繰返し、その回数をカウン
タ14で計数する。
(d) 浮動小数点数レジスタ11を前記機能(1)に
より左シフトする。新しく前記第1ビツト1
8に来た値を論理回路16の入力40に入れ
る。フリツプ・フロツプ15の値を論理回路
16の入力41に入れる。
(e) 論理回路16の出力が“0”となつた時点
における浮動小数点数レジスタ11の前記第
1ビツト18の値を反転する。
(2) 指数部と仮数部の分離 (a) 浮動小数点数レジスタ11の前記第1ビツ
ト18の値を論理回路16の入力40に入れ
る。フリツプ・フロツプ15の値を論理回路
16の入力41に入れる。カウンタ14の値
を1減ずるとともに、このときの論理回路1
6の出力を供給ビツトとして、前記機能(1
―7)により指数部レジスタ13を左シフト
する。
(b) 次のステツプ(e),(d)をカウンタ14の値を
1つずつ減じながら、0になるまで繰返す。
(c) 浮動小数点数レジスタ11を前記機能(1
―1)により左シフトする。新しく前記第1
ビツト18に来た値を論理回路16の入力4
0に入れる。フリツプ・フロツプ15の値を
論理回路16の入力41に入れる。
(d) 論理回路16の出力を供給ビツトとして、
前記機能(1―7)により指数部レジスタ1
3を左シフトする。
(e) カウンタ14が0になつた時点における前
記指数部レジスタ13から、前記機能(1―
10)により値1を減ずる。
(f) 符号ビツト17とフリツプ・フロツプ15
の値を論理回路16に入力し、出力の値
“1”が出る場合は前記機能(1―11)によ
り補数をとる。
(g) 前記機能(1―3)により、浮動小数点数
レジスタ11の値を仮数部レジスタ12に転
送する。また、符号ビツト17の値も仮数部
レジスタ12の符号ビツト19へ転送され、
符号ビツト17の値をインバータ22により
反転させた値が仮数部レジスタ12の小数点
の位置20の左ビツトに転送される。
この状態において、指数部レジスタ13には前
記eの値が、(負数は2の補強である整数として)
入つており、仮数部レジスタ12には前記mの値
が(負数は2の補数である小数として)入つてい
る。前述の具体例、数100の場合の第2図に対応
する指数部レジスタ13、仮数部レジスタ12の
内容を第5図に示した。
手順(3),(4),(5)については省略して、手順(6)の
説明に移る。
(6) 指数部と仮数部の結合 (a) 前記機能(1―6)により仮数部レジスタ
12から浮動小数点数レジスタ11へその内
容を転送する。
(b) 論理回路16の入力40に指数部レジスタ
13の符号ビツト21を、入力41に仮数部
レジスタ12の符号ビツト、19を入れ、出
力をフリツプ・フロツプ15に入れる。
(c) 符号ビツト21の値が“1”のとき、前記
機能(1―11)により指数部レジスタ13の
補数をとる。
(d) 前記機能(1―9)により指数部レジスタ
13の値を1だけ増す。カウンタ14の値を
0にする。
(e) 次の(f)をカウンタ14の値を増しながら、
前記機能(1―12)により、指数部レジスタ
13の値が0になるまで繰返す。
(f) 指数部レジスタ13を前記機能(1―8)
により右に1ビツトだけシフトする。あふれ
たビツトを論理回路16の入力40に、フリ
ツプ・フロツプ15の値を論理回路16の入
力41に入れ、その出力を、浮動小数点数レ
ジスタ11を前記機能(1―2)によつて右
に1ビツトだけシフトする場合に左端から供
給するビツトとして用いる。
(7) “0”あるいは“1”の列の挿入 (a) 浮動小数点数レジスタ11の第1ビツト1
8の値を反転する。
(b) 前記カウンタ14の値(手順(6)のステツプ
(e))だけ次の(c)を実行する。
(c) フリツプ・フロツプ15の値を供給ビツト
として、前記機能(1―8)により指数部レ
ジスタ13の内容を右に1ビツトだけシフト
する。
以上述べた如き作用により、本発明の浮動小数
点数演算装置は従来の指数部固定長浮動小数点表
現による値と、新しい表現方式である指数部可変
長浮動小数点表現による値とを相互に変換するこ
とが可能であり、これにより従来の演算装置を利
用して有効な表現方式である指数部可変長浮動小
数点表現を実用化することが可能になるものであ
る。
なお、上記実施例の各構成要素は実質的に同等
の機能を有する他の具体的手段に置換可能である
ことは言うまでもない。
以上述べた如く、本実施例の演算装置2は、演
算結果の指数部の値によつて前記指数部可変長浮
動小数点表現を形成するに必要な“0”の列ある
いは“1”の列を選択するとともにその長さを決
定し、該決定に基づいて演算結果の指数部、仮数
部を結合させる手段を備えている。これにより、
日常頻度高く出現する1に近い数値は従来より精
度よく表現され、また極端に大きな数、極端に小
さな数についても表現可能な指数部可変長表現方
式のデータを生成することが可能となるという顕
著な効果を奏する。
【図面の簡単な説明】
第1図は本発明の一実施例を示す演算装置のブ
ロツク図、第2図は指数部可変長浮動小数点表現
を示す図、第3図は指数部固定長浮動小数点表現
を示す図、第4図は論理回路の入出力の関係を示
す図、第5図は第4図におけるレジスタの内容を
示す図である。 11:浮動小数点数レジスタ、12:仮数部レ
ジスタ、13:指数部レジスタ、14:カウン
タ、15:フリツプ・フロツプ、16:論理回
路、22:インバータ。

Claims (1)

  1. 【特許請求の範囲】 1 それぞれ固定長からなる指数部データと仮数
    部データを処理の結果として出力する浮動小数点
    データ処理手段と、該指数部データと該仮数部デ
    ータが入力され、該指数部データにて表わされる
    指数の値に依存したビツト数の1の列又は0の列
    からなる指数部前半部と、該ビツト数により定ま
    るビツト数を有し、該指数部データに対して所定
    の関係にあるビツト列からなる、該指数の値を指
    定するための指数部後半部と、該仮数部データの
    値に依存したビツト列からなる仮数部とを有する
    可変長指数表現のデータに変換する手段とを有す
    る浮動小数点データ処理装置。 2 該仮数部データはその先頭に表わすべき数値
    の符号を表わす符号ビツトを有し、該変換手段は
    該符号ビツトの値と該指数部データで表わされる
    指数の値との組合せに応じて該指数部前半部のビ
    ツトの値を定めるとともに、該組合せに応じて該
    所定の関係を異ならしめるものであり、かつ、該
    仮数部データの符号ビツトを該可変長指数表現デ
    ータの一部として出力し、かつ、該仮数部データ
    のうち、該指数部前半部のビツト数に依存したビ
    ツト数部分を該可変長指数表現のデータの該仮数
    部として出力するものである特許請求の範囲第1
    項記載の浮動小数点データ処理装置。
JP61294817A 1986-12-12 1986-12-12 浮動小数点デ−タ処理装置 Granted JPS62143133A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61294817A JPS62143133A (ja) 1986-12-12 1986-12-12 浮動小数点デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61294817A JPS62143133A (ja) 1986-12-12 1986-12-12 浮動小数点デ−タ処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP58114828A Division JPS5911444A (ja) 1983-06-24 1983-06-24 浮動小数点数演算装置

Publications (2)

Publication Number Publication Date
JPS62143133A JPS62143133A (ja) 1987-06-26
JPH0241050B2 true JPH0241050B2 (ja) 1990-09-14

Family

ID=17812638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61294817A Granted JPS62143133A (ja) 1986-12-12 1986-12-12 浮動小数点デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS62143133A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2614554B2 (ja) * 1991-06-24 1997-05-28 哲夫 西田 水処理装置

Also Published As

Publication number Publication date
JPS62143133A (ja) 1987-06-26

Similar Documents

Publication Publication Date Title
Maini Digital electronics: principles, devices and applications
Holdsworth et al. Digital logic design
JPS59149539A (ja) 固定小数点−浮動小数点変換装置
KR940008615B1 (ko) 고기수제산기
CN111538473A (zh) 一种Posit浮点数处理器
US5007009A (en) Non-recovery parallel divider circuit
CN102378960B (zh) 半导体集成电路和指数计算方法
GB1579100A (en) Digital arithmetic method and means
JPH0542697B2 (ja)
JPH0568725B2 (ja)
JPH0241050B2 (ja)
JPS5911444A (ja) 浮動小数点数演算装置
JPH0241049B2 (ja)
Kornerup Correcting the normalization shift of redundant binary representations
JP2018097864A (ja) リーディングゼロ予想
GB1145661A (en) Electronic calculators
JPH08147142A (ja) プライオリティ検出用カウンタ装置
JP2578482B2 (ja) 浮動小数点演算器
Saahithya et al. Optimized Leading Zero Count Structure for Arithmetic Computations
JPS6170635A (ja) 丸め制御装置
US5751623A (en) Digital computer for adding and subtracting
JP2907276B2 (ja) 演算処理装置
SU697994A1 (ru) Устройство дл вычислени элементарных функций
JPH0778724B2 (ja) 除算器
JP2000010763A (ja) 除算回路