JPH0241049B2 - - Google Patents

Info

Publication number
JPH0241049B2
JPH0241049B2 JP61294816A JP29481686A JPH0241049B2 JP H0241049 B2 JPH0241049 B2 JP H0241049B2 JP 61294816 A JP61294816 A JP 61294816A JP 29481686 A JP29481686 A JP 29481686A JP H0241049 B2 JPH0241049 B2 JP H0241049B2
Authority
JP
Japan
Prior art keywords
exponent
value
mantissa
bit
data
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
JP61294816A
Other languages
English (en)
Other versions
JPS62143132A (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 JP61294816A priority Critical patent/JPS62143132A/ja
Publication of JPS62143132A publication Critical patent/JPS62143132A/ja
Publication of JPH0241049B2 publication Critical patent/JPH0241049B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の利用分野] 本発明は指数部可変長表現方式による浮動小数
点数データ処理装置に関する。
[従来の技術] 浮動小数点表現方式は大きな数も小さな数も高
い精度で取扱うことができるため、特に科学技術
計算において利用される表現方式である。
しかしながら、従来の浮動小数点データ演算装
置は指数表示部の長さが一定であつたため、表現
できる数の範囲が限られるという欠点があり、ま
た指数部の値が小さいため少ない情報で済む場合
にもそのスペースを仮数部の精度を上げることに
利用するというような柔軟性がないという欠点が
あつた。
従来の浮動小数点表現の代表的な例を第3図に
示す。
図において、1はデータの符号情報の1ビツ
ト、2は指数の符号情報の1ビツト、4は指数の
絶対値情報で2と4とを合わせて指数部とも言
う。5は仮数部で6は指数部と仮数部との境界で
ある。
[発明が解決しようとする問題点] 従来の浮動小数点表現においては、上記指数部
と仮数部との境界6が固定されたものであつた。
すなわち、指数部表示用のビツト数が一定であつ
た。このために前述の如き実用上の不都合があつ
たわけである。
本発明の目的は、従来の浮動小数点表現方式の
前述の如き欠点を除去した指数部可変長浮動小数
点表現方式による浮動小数点データ処理装置を提
供することにある。
[問題点を解決するための手段] 上記目的を達成するため、本発明の浮動小数点
データ処理装置は指数の値に依存して定まる長さ
の“0”の列あるいは“1”の列からなる指数部
前半部と該指数部前半部の長さに依存して定まる
長さを有し、指数の値を指定する指数部後半部と
からなる指数部を有する浮動小数点データから、
その指数部前半部の“0”の列あるいは“1”の
列の長さにより指数部後半部、仮数部を区分する
手段と該区分された指数部後半部と仮数部に所定
の処理を施す手段とを備える。
[作用] 本発明の対象とするデータは、指数が大きいと
きも小さいときも同一表現方法で表現される。本
発明の装置ではこのような特徴あるデータの指数
部と仮数部を分離して処理可能となる。
[発明の実施例] 本発明による浮動小数点演算装置の具体的説明
に入る前に、本発明の演算装置に用いる指数部可
変長浮動小数点表現方式(以下、「本表現」、「本
表現方式」の如く称する。)について詳細に説明
する。
本表現方式の要点は、指数部の先行する“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=〔log2〕+1 但し、記号〔 〕はガウス記号であり、
〔x〕はxを越えない最大の整数を表わす。
(iii) 本表現とビツト配置は原則的には第3図に示
した配置と同じである。但し、指数部の長さは
可変であり、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/15)×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はの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に入れる。このときの論理回路16
の出力(“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減ずるとともに、このとき論理回路16
の出力を供給ビツトとして、前記機能(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図に対応する指数部レジスタ1
3、仮数部レジスタ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ビツトだけシフト
する。
以上述べた如き作用により、本発明の浮動小数
点数演算装置は従来の指数部固定長浮動小数点表
現による値と、新しい表現方式である指数部可変
長浮動小数点表現による値とを相互に変換するこ
とが可能であり、これにより従来の演算装置を利
用して有効な表現方式である指数部可変長浮動小
数点表現を実用化することが可能になるものであ
る。
なお、上記実施例の各構成要素は実質的に同等
の機能を有する他の具体的手段に置換可能である
ことは言うまでもない。
以上述べた如く、本発明の処理装置は、日常頻
度高く出現する1に近い数値は従来より精度よく
表現され、また極端に大きな数、極端に小さな数
についても表現可能な指数部可変長表現方式を有
効に利用することが可能となるという顕著な効果
を奏する。
【図面の簡単な説明】
第1図は本発明の一実施例を示す演算装置のブ
ロツク図、図2は指数部可変長浮動小数点表現を
示す図、第3図は指数部固定長浮動小数点表現を
示す図、第4図は論理回路の入出力の関係を示す
図、第5図は第4図におけるレジスタの内容を示
す図である。 11:浮動小数点数レジスタ、12:仮数部レ
ジスタ、13:指数部レジスタ、14:カウン
タ、15:フリツプ・フロツプ、16:論理回
路、22:インバータ。

Claims (1)

  1. 【特許請求の範囲】 1 指数の値に依存して定められたビツト数の
    “1”の列又は“0”の列からなる指数部前半部
    と、該指数部前半部のビツト数により定まるビツ
    ト数からなり、指数の値を指定する指数部後半部
    とを有する可変長の指数部ならびに仮数部とから
    なる浮動小数点表示のデータが入力され、該デー
    タの該指数部前半部の“1”の列又は“0”の列
    の長さに依存して、該データの該指数部後半部と
    該仮数部を区分する手段と、該区分された指数部
    後半部と仮数部に対して、処理を実行する手段と
    を有する浮動小数点データ処理装置。 2 該区分手段は、該指数部後半部と該仮数部
    を、それぞれの値に対して所定の関係にある固定
    長の指数部データおよび固定長の仮数部データに
    変換して該処理の実行手段に出力する手段からな
    る特許請求の範囲第1項記載の浮動小数点データ
    処理装置。 3 該入力データは該入力データに対応する数値
    の符号を表わす符号ビツトを有し、該所定の関係
    は該数値の符号ビツトの値と該指数部前半部の各
    ビツトの値との組合せに依存して定められてお
    り、かつ該指数部データの先頭部分は、該指数部
    後半部のビツト数に依存したビツト数の、該指数
    部データの符号を表わす、ビツトの列からなり、
    該仮数部データは、該数値の符号ビツトと等しい
    値を有し、該区分された仮数部の先頭に付加され
    た符号ビツトと、該区分された仮数部のビツト数
    に依存して定められるビツト数の、区分された仮
    数部の末尾につづけて付加された値“0”ビツト
    列を有する特許請求の範囲第2項記載の浮動小数
    点データ処理装置。
JP61294816A 1986-12-12 1986-12-12 浮動小数点デ−タ処理装置 Granted JPS62143132A (ja)

Priority Applications (1)

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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61294816A JPS62143132A (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
JPS62143132A JPS62143132A (ja) 1987-06-26
JPH0241049B2 true JPH0241049B2 (ja) 1990-09-14

Family

ID=17812624

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JPS62143132A (ja)

Also Published As

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

Similar Documents

Publication Publication Date Title
JPS59149539A (ja) 固定小数点−浮動小数点変換装置
KR940008615B1 (ko) 고기수제산기
CN100583024C (zh) 一种用于浮点除法和平方根运算的预处理电路结构
CN111538473A (zh) 一种Posit浮点数处理器
US5007009A (en) Non-recovery parallel divider circuit
GB1579100A (en) Digital arithmetic method and means
CN102378960B (zh) 半导体集成电路和指数计算方法
JPH0542697B2 (ja)
KR920003493B1 (ko) 부동 소숫점 표기를 기초로 하는 연산회로
US7366749B2 (en) Floating point adder with embedded status information
US20030140074A1 (en) Leading Zero Anticipatory (LZA) algorithm and logic for high speed arithmetic units
JPH0241049B2 (ja)
US7831652B2 (en) Floating point multiplier with embedded status information
JPS5911444A (ja) 浮動小数点数演算装置
JPH0241050B2 (ja)
JP2018097864A (ja) リーディングゼロ予想
GB1145661A (en) Electronic calculators
US7363337B2 (en) Floating point divider with embedded status information
JPH08147142A (ja) プライオリティ検出用カウンタ装置
Velivela et al. Fpga Implementation of Leading Zero Counter for Floating Point Operations
CN114691082B (en) Multiplier circuit, chip, electronic device, and computer-readable storage medium
JPH0291724A (ja) 演算装置
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
CN120654651A (zh) 一种基于avx-512指令集的ieee 754双精度浮点数快速打印方法及系统
SU1179322A1 (ru) Устройство дл умножени двух чисел