JPS60254231A - 浮動小数点演算制御方式 - Google Patents

浮動小数点演算制御方式

Info

Publication number
JPS60254231A
JPS60254231A JP59111239A JP11123984A JPS60254231A JP S60254231 A JPS60254231 A JP S60254231A JP 59111239 A JP59111239 A JP 59111239A JP 11123984 A JP11123984 A JP 11123984A JP S60254231 A JPS60254231 A JP S60254231A
Authority
JP
Japan
Prior art keywords
exponent
value
circuit
floating point
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.)
Pending
Application number
JP59111239A
Other languages
English (en)
Inventor
Shinichiro Yamashita
山下 眞一郎
Hirobumi Yamada
博文 山田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP59111239A priority Critical patent/JPS60254231A/ja
Publication of JPS60254231A publication Critical patent/JPS60254231A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 +al産業産業別用分野 本発明は電子計算機システムにおける浮動小数点演算の
制御方式に係り、特に浮動小数点数を表示するデータの
表示可能な数値範囲を拡大することのできる制御方式に
関する。
電子計算機システムの性能及び経済性の改善と共に、科
学技術計算分野において、益々複雑で大量の計算を要す
る領域へ応用分野が拡大されている。それに伴い、計算
で扱う数値の大きさの範囲も拡大する傾向にある。
更に、計算の論理が複雑大量化すると、演算結果又は演
算の過程で生ずる数値の範囲を予測することが極めて煩
雑になる傾向を有し、数値範囲の予測を不要化ないしは
補助する手段が望まれている。
(b)従来の技術 従来の計算機においては、浮動小数点数データは例えば
第2図に示す形式を有し、一般に各耐算機方式によって
定まる一定の浮動小数点数の数値範囲がある。
即ち、第2図において、■はこの浮動小数点数の符号を
示す符号部、2は指数部、3は仮数部であって、それぞ
れ固定のビット長を有する。
こ−で所定の規約に従って各部の表す数値を、符号部S
、指数部E、仮数部Fとすれば、この形式によって表さ
れる浮動小数点数はSX MExpである。こ\でHは
この方式に固有の基数であって、例えばト16とする。
従って、この形式で表示できる浮動小数点数の大きさ、
Eがとり得る数値の範囲によって限定され、Eの最小値
をL最大値をUとすれば、数値の範囲は、はぼML <
数値< MUとなる。
プログラムの実行中に、演算の結果が所定数値範囲を越
える場合には、該結果の数値を浮動小数点数として正し
く表示することが出来なくなるので、プログラムの実行
を中断して、所謂例外事象の発生として、その後の処理
をプログラムに任せるか、又は可能な場合には、結果を
強制的に既定の数値に設定してプログラムの実行を継続
するようにする。
計算機で定まる使用可能な数値の範囲が、妥当な大きさ
にあることを前提として、プログラムの実行中に発生す
る数値の範囲がすべて予測されている場合には、適当な
プログラム論理を使うことによって、該プログラムで扱
う数値範囲を所定の範囲に収めるようにすることが、従
来の応用において可能であり、従って数値が所定範囲を
越えることを上記のように異常事象として処理するとい
う方式に妥当性があった。
しかしその為に、プログラミングに際しては、扱う数値
が採り得る大きさの範囲を、プログラム実行中の中間的
な結果も含めて予測する必要があり、又その予測に基づ
いて、必要な場合にはプログラム中で扱う数値を所定の
範囲に収めるためのプログラミング上の工夫が当然必要
であった。
(C)発明が解決しようとする問題点 本発明は、データが表示する浮動小数点数の大きさの範
囲を拡張することのできる表示形式を処理する演算W4
m方式を提供し、前記のような従来必要であったプログ
ラミングの工夫を要することなく広い範囲の数値を処理
することを可能とすることを目的とする。
(d1問題点を解決するための手段 この目的は、lの浮動小数点数を表示するデータに1又
は複数の指数部を有し、該指数部の各々を基数として定
まる各数値の積を仮数部の数値に乗じて該浮動小数点数
の値とするように構成されてなる本発明の浮動小数点演
算制御方式によって達成される。
+e)作用 即ち、浮動小数点数の表現形式を、1の仮数部と1又は
複数の指数部からなる構成とし、各指数部の値を[いB
z、E3、−−−−− したとき、該データで表される
浮動小数点数の値を、 S X Ml” X Mz” X M3E″×−−−−
−X Pとする。但しSは符号、Fは仮数部の値、Ml
、M2、H8等は各指数部に固有の基数である。
従って、必要な大きさの範囲に応じて、数値を表現する
データの指数部の個数を選択することにより、範囲を拡
げることができる。
更に、上式から明らかなように、指数相互は加算的な関
係にあるので、従来の演算機能に追加して本発明の方式
を導入することが極めて容易である。
(f)実施例 第1図は本発明の一実施例における、浮動小数点数の表
現形式である。図において、S及びFは第2図と同様に
、それぞれ符号及び仮数部であり、El、 pg、It
、は指数部を示す。図の(a)、(b)、(C)の形式
例は同一のビット長(例えば64ピント)を有するもの
とし、指数部の個数及びそれに伴って仮数部のビット長
が異なる様子を示している。
本例では、指数部は最大3個までになり得るものとする
。各部の構成は、例えば符号部Sが1ビツト、指数部B
+は7ビツト、指数部Eア及びE、はそれぞれ8ビツト
とし、残りの56〜40ビツトが仮数部になる。
指数部の表現形式には各種の方式があるが、一般に第2
図で示した従来の浮動小数点数データと同−の思想によ
ることが、関連する処理機能の実現の便宜上から望まし
いであろう。本実施例では、広く採用されている表現の
一形式に従って、指数部E1は真の指数値のとり得る値
−64〜+63に64を加えた値をE、とするものとす
る。従って、EIは0〜127の値をとる。
但し、本実施例において、E1=0及びE、=127は
それぞれ指数値−64及び+63を示すと共に、指数部
P、zが指数部として有効であることを示すものとし、
且つこの場合は8ビツトをできるだけ有効に利用する為
に、[2部を真数表示とみて、E、=Oのときは負数の
、EI=127のときは正数の、それぞれ絶対値を表示
するものとする。
次ぎに、指数部E2が有効な場合、即ちE、=0または
127の場合、において、E2部が最大値255である
と、上記により指数値−255または+255を示すと
共に、指数部[!3が指数部として有効であることを示
すものとする。この状態における指数部E3の数値の意
味はE2の場合と同様とする。
基数の値は各指数部ごとに異なってもよいが、本実施例
では同一の値を使用する方式とする。全指数部の基数を
同一値とすれば指数部の処理が簡易化される利点がある
。基数の値は、通常は2進数の扱いに便利なように、2
fiが使用される。
本実施例では例えば基数−・16とすると、指数値は仮
数部Fの2進数を4ビット単位で区切った、所謂16進
数の小数点位置を表示することになる。
本実施例で、仮数部の数値は例えば最左位置(最高位)
ビットの左に小数点のある数を表示するものとする。
以上により、第1図(C1のデータ形式で表示される浮
動小数点数の絶対値は下記の通りとなり、その符号は符
号部Sで定まる。
M(El−64) X MEN’ X MEM’ Xp
=M(El−6414!2’+!3’ ×p=15(E
l−641+EZ’+E3’ Xp但し、Ex’ 、E
3°はE2、E3の値を絶対値として、前記の規約によ
って定まる符号を持つ値を示す。
第1図(b)又は(a)の形式における値は、上記の!
!3゜又はB 3+及びE2′を0としてめられる。
第3図は本発明の一実施例である浮動小数点乗算装置の
ブロック図である。前記の形式を有する被演算データが
レジスター0及び20に設定され、その積がレジスタ3
0に出力されるものとする。
浮動小数点数の乗算はよく知られているように、両波演
算数の仮数の乗算によって積の仮数を、指数の加算によ
って積の指数を、符号部の処理によって積の符号部を得
ることができる。
図において、乗算回路31は被演算数のレジスタ10及
び20から取り出された仮数部の数値について乗算を実
行して、積を正規化回路32に出力する機能を有する回
路、符号計算回路33は被演算数の符号部を入力として
乗算結果の符号を決定し、出力レジスタ30の符号部を
設定する回路であり、公知の各種方式の回路を使用する
ことができる。
本装置においては、前記の形式により指数部の長さ及び
それに伴って仮数部の長さに3種の場合があるので、指
数の計算、及び乗算回路31への仮数の入力において、
長さに応じた制御を必要とする。その為に、指数処理回
路11及び21はそれぞれレジスタ10及び20から指
数部E、〜E3に相当する部分を入力して処理する。該
回路11と21とは同一の機能で構成されるので、以下
主として回路11について述べる。
指数処理回路11は、入力から有効指数部を判定して、
指数値を計算し、指数加算回路34へ入力すること、及
び有効指数部の個数によって定まる仮数部の有効長に応
じて、ゲート12(指数処理回路21の場合は、ゲート
22)を制御し、乗算回路31への入力の上位8又は1
6ビツトの通過を阻止する(該部分の入力を全゛0“と
する)機能を持つ。
第4図は指数処理回路11内部の処理の流れ図である。
まずステップ40でレジスタ10のE1〜B、部分が入
力される。ステップ41及び42により、そのE。
部がO又は127であるか判定する。何れでもなければ
61部のみが有効指数部であるので、ステップ43でゲ
ート12を全て通過状態に設定し、ステップ44で後の
計算の為に、入力のE2及びE8部を0に書き換える。
86部がOか127であれば、ステップ45において0 次の8ビツトの12部が255か判定する。255でな
ければEl及び12部が有効指数部であるので、ステッ
プ46でゲート12を83部に相当する部分のみ通過す
るように設定し、ステップ47で入力の[!3部をOに
する。
12部が255である場合には、3指数部すべて有効で
あるので、ステップ48でゲート12を阻止状態にする
以上の制御の後、ステップ50の判定で入力のE。
部がOの場合はE2.83部を負数としなければならな
いので、ステップ51で−([!24E3+64)によ
り指数値をめる。ε1部がOでない場合には、ステップ
52においてEI+82+E3−64によって指数値を
める。
なお、この計算で使用される[!2、E3の値は上記の
制御の説明の通り、0に書き換えられている場合がある
値である。
得られた指数値はステップ53で指数加算回路34の一
方の入力として転送される。指数加算回路34の他方の
入力には、レジスタ20の指数部について上記と同様の
処理で得られた指数値が、指数処理1 回路21から転送される。
指数加算回路34は通常の加算器で構成され、再入力指
数値の和として、レジスタ10及び20の被演算数の積
の指数値を得、指数分割回路35に転送する。
正規化回路32はシフトレジスタを主に構成されて、乗
算回路31から転送された仮数の積を保持し、左に4ビ
ツトづつシフトして、最上位4ビツト内に有効数字を含
む、いわゆる正規化された形式の仮数を得る回路である
。正規化の為のシフトした量(4ビツトシフトの回数)
は指数分割回路35に転送される。
指数分割回路35は指数加算回路34から転送された指
数値から上記シフト量を減じて補正した後、指数の分割
処理を行う。第5図は指数分割回路35の分割処理の流
れ図である。
第5図のステップ60及び61において、補正後の指数
値の大きさを判定する。もし−64〈指数値〈63であ
れば、指数部はE、のみで表示できるので、ステップ6
2により、指数値に64を加算して[E、を発生2 して、出力レジスタ30の83部へ設定する。
指数値〈−63の場合には、ステップ63でE、として
0をレジスタ30の81部へ設定し、ステップ64で指
数値を=(指数値+64)に更新する。62〈指数値の
場合には、ステップ65でレジスタ30のε1部へ12
7を設定し、ステップ66で指数値を(指数値−63)
に更新する。
この両場合共出力にε2部が入るので、その領域をあけ
る為に、ステップ67で正規化回路32を制御してシフ
トレジスタ上の仮数を右へ4ビツトシフトする。
ステップ68で、更新した指数値が254より大か判定
し、大でなければ指数は12部までで表示できるので、
ステップ69でその指数値をレジスタ30の12部に設
定する。
254〈指数値であれば、ステップ70でレジスタ30
の12部を255に設定する。ステップ71で指数値を
(指数値−255)に更新して指数部E3に設定すべき
値をめる。
ステップ72はこの値が限界値を越えているかを3 検査するもので、もし255を越えていれば8ビツトの
68部では表示できず、即ち本実施例で規定した範囲を
こえる浮動小数点数であることになるので、ステップ7
3で例外処理動作を起動する。例外処理は、例えば所定
の状態情報を設定して割り出しを行う公知の方式でよい
指数値が255を越えていなければ、ステップ74で指
数値をレジスタ30の83部に設定し、ステップ75で
正規化回路32の仮数を更に4ビツト右シフトさせる。
以上により、指数分割回路35の処理をおわり、出力レ
ジスタ30上に指数部はすべて設定されたので、次ぎに
正規化回路32からレジスタ30へ仮数を転送すれば浮
動小数点数の積が完成する。
(沿発明の効果 以上の説明から明らかなように本発明によれば、浮動小
数点数の演算において、数値の使用可能な大きさの範囲
を容易に拡げることができ、又実行前に数値の大きさの
範囲を予測する必要がなくなるので、計算機システムの
応用範囲を拡大し、及4 び使い易さを向上するという著しい工業的効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例における浮動小数点数のデー
タ形式を示す図、 第2図は従来の浮動小数点数データ形式例の図、第3図
は本発明の一実施例乗算装置のブロック図、第4図は指
数処理回路の処理の流れ図、第5図は指数分割回路の処
理の流れ図である。 図において、 1は符号部、 2は指数部、 3は仮数部、 10.20はレジスタ、11.21は指
数処理回路、12.22はゲート、30は出力レジスタ
、31は乗算回路、32は正規化回路、 33は符号計
算回路、34は指数加算回路、35は指数分割回路、4
0〜75は処理のステップを示す。 5 亮 1 目 療 zT!!J 茶 3 図 亭 4 和

Claims (2)

    【特許請求の範囲】
  1. (1)指数部及び仮数部を有する浮動小数点数の演算を
    実行する装置において、1の浮動小数点数を表示するデ
    ータに1又は複数の指数部を有し、該指数部の各々を幕
    数として定まる各数値の積を仮数部の数値に乗じて該浮
    動小数点数の値とするように構成されてなることを特徴
    とする浮動小数点演算制御方式。
  2. (2)上記浮動小数点数を表示するデータの複数の指数
    部の各々は、特定の1指数部を先頭とする所定の制御順
    位を有し、該特定の指数部を除く各指数部は該制御順位
    において先行するすべての指数部が、それぞれ所定の値
    を有する場合に有効となり、すべての指数部は該有効で
    ない状態においては仮数部の一部となるように構成され
    てなることを特徴とする特許請求の範囲第(1)項記載
    の浮動小数点演算制御方式。
JP59111239A 1984-05-31 1984-05-31 浮動小数点演算制御方式 Pending JPS60254231A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59111239A JPS60254231A (ja) 1984-05-31 1984-05-31 浮動小数点演算制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59111239A JPS60254231A (ja) 1984-05-31 1984-05-31 浮動小数点演算制御方式

Publications (1)

Publication Number Publication Date
JPS60254231A true JPS60254231A (ja) 1985-12-14

Family

ID=14556100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59111239A Pending JPS60254231A (ja) 1984-05-31 1984-05-31 浮動小数点演算制御方式

Country Status (1)

Country Link
JP (1) JPS60254231A (ja)

Similar Documents

Publication Publication Date Title
JP2662196B2 (ja) 演算結果正規化方法及び装置
JPS584369B2 (ja) デイジツトの有効性追跡装置
JP2511527B2 (ja) 浮動小数点演算器
JPH09231201A (ja) 浮動小数点乗算累算装置
US6202078B1 (en) Arithmetic circuit using a booth algorithm
JP3579087B2 (ja) 演算器およびマイクロプロセッサ
JPS60254231A (ja) 浮動小数点演算制御方式
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
US20020178202A1 (en) Floating point multiplier for delimited operands
JPH0831024B2 (ja) 演算プロセッサ
Russinoff SSE Floating-Point Instructions
JP2856792B2 (ja) 浮動小数点数演算装置
JPH0251732A (ja) 浮動小数点演算器
JPH01282633A (ja) 非正規化数の処理方式
JPS6149234A (ja) 浮動小数点乗算回路
JPH0667852A (ja) 除算器
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP3137636B2 (ja) データ処理装置
JPS60247781A (ja) 演算装置
JP2622012B2 (ja) シフト回路
JPH04160533A (ja) マイクロ・プロセッサ
JPH0357019A (ja) 浮動小数点データ加減算回路
JP3124286B2 (ja) 浮動小数点数演算装置
JPH0498421A (ja) マイクロ・プロセッサ
JPH0498524A (ja) 浮動小数点演算装置