JPS61141034A - 演算結果限界割出し装置 - Google Patents

演算結果限界割出し装置

Info

Publication number
JPS61141034A
JPS61141034A JP59264271A JP26427184A JPS61141034A JP S61141034 A JPS61141034 A JP S61141034A JP 59264271 A JP59264271 A JP 59264271A JP 26427184 A JP26427184 A JP 26427184A JP S61141034 A JPS61141034 A JP S61141034A
Authority
JP
Japan
Prior art keywords
bit
register
calculation
calculation result
constant
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
JP59264271A
Other languages
English (en)
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 JP59264271A priority Critical patent/JPS61141034A/ja
Priority to US06/808,476 priority patent/US4760551A/en
Publication of JPS61141034A publication Critical patent/JPS61141034A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3812Devices capable of handling different types of numbers
    • G06F2207/3816Accepting numbers of variable word length

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、演算結果限界割出し装置に関し、特に電子計
算機の数値計算において、計算結果が日常的数値範囲か
らかけ離れたものになったことを知るのに好適な演算結
果限界割出し装置に関するものである。
〔発明の背景〕
従来発生していたオーバーフローやアンダーフロー現象
は1本発明者が先に提案した可変長指数部を有する浮動
小数点表現演算装置(特開昭59−11444号公報参
照)によって、事実上発生しないようにできる。これに
より、従来計算できなかった大きい値を扱う計算が可能
になった゛、しかし、数値が1より離れて大きくなるか
、あるいは小さくなるほど、一定の長さのデータ語の中
に占める指数部が大となり、有効桁数を決定する仮数部
が短くなる。すなわち、数の絶対値が無限大あるいは0
に近づくに従って、有効精度は減少す  ゛る。計算機
のユーザー、つまりプログラマ−は有効精度の減少に常
時留意していなければならず。
そのために消費される労力は大きかった。そこで。
自動的に有効精度の減少の程度を知らせる機能が望まれ
るようになった。
〔発明の目的〕
本発明の目的は、このような要望を満足させるため、浮
動小数点表現で極端に絶対値が大、または小であっても
、計算可能であり、かつあらかじめ設定された範囲に達
したときには、自動的に通知して計算精度を判定する情
報を与えることができる演算結果限界割出し装置を提供
することにある。
〔発明の概要〕
上記目的を達成するため、本発明の演算結果限界割出し
装置は、電子計算機の可変長指数部を有する浮動小数点
表現を用いた演算装置において、命令により指数部の左
方をピッド″l”、その他をピッドパ0′″とする定数
を生成して設定された定数レジスタ、計算結果を格納す
る計算結果レジスタ、該計算結果レジスタと前記定数レ
ジスタの対応するビットごとに比較して、定数レジスタ
のビット1′Onに対応する計算結果レジスタのビット
は無視し、定数レジスタのビットII 11jに対応す
る計算結果レジスタのビットがすべて#l OItであ
るか、またはすべて11″であるときに割出し信号をハ
イレベルとするビットごと比較回路、および該ハイレベ
ルの割出し信号により計算状態表示子の中の限界超過表
示子をIT 1 #lにし、該限界超過表示子と限界超
過割込みマスクの指定ビットとを比較して両者とも1″
のとき割込み動作を生じる手段を有するととく特徴があ
る。
〔発明の実施例〕
先に示した可変長指数部を有する浮動小数点表現演算装
置においては、数値の有効桁数を表わす仮数部の長さも
、また可変長である。この表現による演算装置で計算す
る場合、計算の途中で仮数部の長さが予期せぬ程度に短
くなり、そのことに気がつかないことがありうる。この
場合、予想より大きい計算誤差を生じる結果となる場合
がある。
そこで、計算の過程において、仮数部がある長さより短
くなったときを知る機能を用意しておけば。
計算精度についての手がかりを与えることができる。す
なわち、予測できない計算誤差の発生を避けるため、仮
数部の長さに1つの限界を設けて、仮数部がそれより短
くなると、計算結果は通常のようにして出し1割出しを
行って、プログラムでその割出しを利用できるようにし
たい、仮数部の長さの限界を定めることは、指数部の長
さの限界を定めることと等価であり、また指数部の長さ
の限界を定めることは、指数部左方の0の列、あるいは
lの列の長さの限界を定めることと等価である1例えば
、いま可変長指数部を有する浮動小数点表現のデータを
mビットであるとする。ビット位置は、左端を0とし、
以下類に右に向ってl。
2、・・・・とする0mビットのデータにおいては。
右端のビットは第m −1ビツトである。左端の第0ビ
ツトは符号ビットである。第1ビツトから右番;0ある
いはlの列の長さが1であるときの値Xの範囲は1次の
通りである。
一2≦x<−,0,5 0,5≦x < 2                
・・・(1)すなわち、数Xが正数の場合には、x=2
 ・fで表現される。ここで、eは指数、fは仮数であ
る。そして、e≧0のとき、先頭から1ビツト以上の0
の後に1ビツトの1が続き、その次にn個の有意数字が
続く、また、e < Oのときには、先頭から1ビツト
以上の1の後に1ビツトの0が続き1次にn個の有意数
字が続く、第0ビツトの符号情報(正のとき0.負のと
きりを除き、指数部の0または1の列の長さは、2n+
2ビツト(nは有意数字の個数)で表わされる。したが
って。
数1の浮動小数点数は、’01000000’であり、
数−1の浮動小数点数は、’t t oooo。
O′である。
なお、上記(1)式で表わされる場合は、以下で説明す
る場合と比べ例外的であり、値の範囲も極めて日常的で
、本発明により有効精度を知らせる場合には該当しない
ので、この場合は除く。
指数部の左端の第1ビツトから右に連続して。
少なくとも長さn + 2が、0の列あるいはlの列で
あるとする。このとき、nは0あるいは正の整数である
とする。この場合、その数Xの範囲は次の通りである。
(a)第0ビツトが1のとき。
x < −(2の(2のn乗)乗)あるいは。
−(0,5の(2のn乗)乗)≦x < 0  − (
2)(b)第1ビツトがOのとき。
0≦x < 0 、5の(2のn乗)乗あるいは、2の
(2のn乗)乗:ax       ・・・(3)そし
て、指数部の長さは2n千3ビツトあるいはそれより大
であり、したがって仮数部の長さはm −(2n + 
4 )ビット、あるいはそれより短いということになる
。上記(1)と(2)の場合を越えである値になったと
き、計算精度の限界を通知すればよい。
割出しの限界の設定は、仮数部の長さで決めることもで
きるし、また指数部の左方に連続する0の列、あるいは
1の列の長さで指定することもできる。特に、後者の場
合、データの長さmに依存せず、また割出しの限界は数
値の限界に対応しているため、プログラマにとって理解
しやすいこと。
および以下に述べるように1割出しの検出処理が簡単で
あること等の利点がある。
以下においては1割出すべきか否かを、計算結果の指数
部の左方第1ビツトから右方に0の列、あるいは1の列
の長さが、あらかじめ定められた長さと等しいか否かを
検出することによって、判定するものとする。
なお、本発明の機能は、従来より広く用いられている計
算機(例えば、18Mシステム360)でも計算可能な
数値範囲であるか否かの判定に用いることができる。こ
の場合、本質的には殆んど違いはなく、n=8の場合番
;相当している。また。
米国電気電子工業学会(IEEE)の標準案のうち。
32ビツト・データの規格はn=7に、64ビツト・デ
ータの規格はれ=10の場合に、それぞれ相当している
。このように、従来の電子計算機の    ゛うち、2
進法あるいはその系統の浮動小数点表現での表現不能範
囲への到達は、nが何らかの整数値として定められるこ
とにより1判定可能となる。
以下、本発明の実施例を、図面により説明する。
第1図は、本発明の一実施例を示す割出し条件検出装置
のブロック図である。
第1図において、4は計算結果レジスタ、5は定数レジ
スタ、6はビットごと比較回路、7,8゜9は論理和回
路、10は割出し結果信号である。
第41P!Iは、第1図における定数レジスタの構成図
である。
第4図において、30は実効アドレス保持レジスタ、3
1はビット列発生レジスタであり、1゜2.3は合わせ
て定数レジスタを形成する。定数レジスタ5の長さは、
そこに格納される浮動小数点データの長さmと同一であ
るとする。定数レジスタ5のうち、1は符号ビットに対
応する1ビツトであり、その値は常に# OHpである
。2はビットII i n部であり、各ビットはすべて
“l”である、3はビット47011部であり、各ビッ
トはすべて“0”である、実効アドレス保持レジスタ3
0の値nがビット列発生レジスタ31に入力すると、ビ
ット列発生レジスタ31では、ピッド′1#部2の長さ
が(n+2)となるようにビット列を発生して、ビット
1111#部2とピッド0″部3を作成して、定数レジ
スタ5に出力する。これによって1次の定数が設定され
る。
(a)第0ビツト→J# 0 ′1 (b)第1〜(n + 2)ビット→ta 1″′(c
)第(n+3)〜(m  1)ビット→J# OPI第
2図は、第1図におけるビットごと比較回路6の詳細図
である。
第2図において、12.13は論理積回路、14は計算
結果レジスタ4のビットからの入力、15は定数レジス
タ5のビットからの入力、16は反転回路、17は論理
和回路7への出力、18は論理和回路8への出力である
この割出し装置の処理は、計算した結果が格納される計
算結果レジスタ4の内容を検査し、その値が極端に大あ
るいは小になったことを報知するもので、指数部の左方
の与えられた長さのビット列が、すべて′″0″である
か、またはすべて1111#であるかを検出して、出力
lOに割出す。このため。
定数レジスタ5のビットの値110 IIに対応する計
算結果レジスタ4の内容は無視し、定数レジスタ5のビ
ットの値“1″に対応する計算結果レジスタ4のビット
を調べて、これがすべてが“0”であるか、あるいはす
べてがIT l 71であるとき1割出し結果信号IO
をハイレベルとし、それ以外はローレベルとする。なお
、第0ビツトは符号ビットであるため、常に無視してよ
く、したがってビットごと比較回路6を置く必要はない
、第2図において、定数レジスタ5の内容が0”に対応
する位置では、論理積回路12.13ともに出力は″0
”であり、′1”に対応する位置では、計算結果レジス
タ4の内容がII 1 ′1のとき論理積回路13の出
力が′0”。
計算結果レジスタ4の内容が″0″のとき論理積回路1
2の出力が110 Hとなる。したがって、定数レジス
タ5の1111#に対応する計算結果レジスタ4の内容
がすべて#1111のときのみ、第1図の論理和回路8
の出力が′0″となり、また計算結果レジスタ4の内容
がすべてIJ O1gのとぎのみ、、第1図の論理和回
路7の出力がN OIIとなる。これらの論理和回路7
,8のいずれか一方が″0″であれば、否定論理和回路
9の出力はl”となる。これにより、計算結果が極端に
大か、または極端に小のとき、割出し信号10をハイレ
ベルにすることができる。
第3図は1割出し条件発生と割込みマスクとの関係を示
す図である。
第3図において、20は状態表示レジスタであり、21
は割込みマスクレジスタである。22は、状態表示レジ
スタ20中の1′ビツトとしての限界超過表示子である
0割出し結果信号IOがハイレベルのときにはその値が
“l”に、ローレベルであればその値がパ0”にそれぞ
れ設定される。23は、別途その値が設定される限界超
過割込みマスクである。計算結果が限界を超過したとき
1割込みを起こしたい場合には、その値を11″に、ま
た割込ませたくないときには、その値を0”に、それぞ
れ設定しであるものとする。24は論理積回路であり、
25は割込み信号である。限界超過表示子22と限界超
過割込みマスク23の値がともに1# 11′であると
きのみ、割込み信号25はハイレベルとなり、その他の
場合にはローレベルとなる。
割込み信号25は、電子計算機の制御回路に接続され、
ハイレベルの信号が発生すると割込みを起すことは通常
の割込みの場合と同じである。
本実施例においては、割出しの限界を定める1個の整数
値nを与えることによって、4個の限界値を設定したこ
とと同じ効果を持たせることができ、かつ簡単な論理装
置で割出しを検出することが可能となる。また、プログ
ラムの進行の途中において、整数値nを自由に変更して
1割出し条件を変更できる。
このように1本実施例では、電子計算機番;よる数値計
算の中間結果において、結果の数値の絶対値が極端に大
きくなったり、あるいは小さくなったとき、有効桁数が
短くなるが、通常はこれを見過ごしてしまうのに対して
、割出しにより簡単に知らせることができる。可変長指
数部を有する浮動小数点表現の性質として、絶対値が極
端に大であっても、また小であっても計算可能であるが
、有効桁数が短くなると、従来の電子計算機においては
、オーバフローあるいはアンダーフローとして計算が続
行不能となる。しかし1本実施例では。
理論的に評価可能な誤差をともなって正しく計算が続行
できる。そして1本実施例では、対象とする割出し条件
が満たされない通常の場合には、全ぐ計算速度の低下が
生じないので1通常の大きさの*囲では計算速度の低下
はなく、あらかじめプログラマによって定められた範囲
に達したとき、そのことをプログラマに知らせることに
よって、計算精度に関する判定のための情報を与えるこ
とができる。
〔発明の効果〕
以上説明したように1本゛発明によれば、電子計算機に
よる数値計算の中間語、果番;おいて、数値の絶対値が
極端に大、または小、になったとき、プログラマに知ら
せることかで・きるので、常に計算精度に関する判定が
可能となり、きわめて便利であ□る′。
【図面の簡単な説明】
第1図は本発明の一実施例を示す割出し条件検出装置の
構成図、第2図は第1図のビットごと比較回路の詳細図
、第3図は割出し条件発生と割込みマスクとの関係図、
第4図は第1図の定数発生装置の詳細図である。 4:計算結果レジスタ、5:定数レジスタ、6:ビット
ごと比較回路、7,8.9:論理和回路、12.13.
24:論理積回路、30:実効アドレス保持レジスタ。 第1図 Φ

Claims (1)

    【特許請求の範囲】
  1. (1)電子計算機の可変長指数部を有する浮動小数点表
    現を用いた演算装置において、命令により指数部の左方
    をビット“1”、その他をビット“0”とする定数を生
    成して設定された定数レジスタ、計算結果を格納する計
    算結果レジスタ、該計算結果レジスタと前記定数レジス
    タの対応するビットごとに比較して、定数レジスタのビ
    ット“0”に対応する計算結果レジスタのビットは無視
    し、定数レジスタのビット“1”に対応する計算結果レ
    ジスタのビットがすべて“0”であるか、またはすべて
    “1”であるときに割出し信号をハイレベルとするビッ
    トごと比較回路、および該ハイレベルの割出し信号によ
    り計算状態表示子の中の限界超過表示子を“1”にし、
    該限界超過表示子と限界超過割込みマスクの指定ビット
    とを比較して両者とも“1”のとき割込み動作を生じる
    手段を有することを特徴とする演算結果限界割出し装置
JP59264271A 1984-12-14 1984-12-14 演算結果限界割出し装置 Pending JPS61141034A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP59264271A JPS61141034A (ja) 1984-12-14 1984-12-14 演算結果限界割出し装置
US06/808,476 US4760551A (en) 1984-12-14 1985-12-13 Operation unit for floating point data with variable exponent-part length

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59264271A JPS61141034A (ja) 1984-12-14 1984-12-14 演算結果限界割出し装置

Publications (1)

Publication Number Publication Date
JPS61141034A true JPS61141034A (ja) 1986-06-28

Family

ID=17400848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59264271A Pending JPS61141034A (ja) 1984-12-14 1984-12-14 演算結果限界割出し装置

Country Status (2)

Country Link
US (1) US4760551A (ja)
JP (1) JPS61141034A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5099446A (en) * 1987-04-28 1992-03-24 Fujitsu Ten Limited Data transfer apparatus and data transfer system
US4866652A (en) * 1987-09-01 1989-09-12 Weitek Corporation Floating point unit using combined multiply and ALU functions
US4901268A (en) * 1988-08-19 1990-02-13 General Electric Company Multiple function data processor
GB9124539D0 (en) * 1991-11-19 1992-01-08 Texas Instruments Ltd A circuit for detecting the position of an extreme 1"bit in a binary number
US9507564B2 (en) * 2014-04-14 2016-11-29 Oracle International Corporation Processing fixed and variable length numbers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4617641A (en) * 1983-10-19 1986-10-14 Hitachi, Ltd. Operation unit for floating point data having a variable length exponent part
JPS6097435A (ja) * 1983-11-02 1985-05-31 Hitachi Ltd 演算処理装置
US4603323A (en) * 1984-05-25 1986-07-29 International Business Machines Corporation Method for extending the exponent range of an IBM 370-type floating point processor

Also Published As

Publication number Publication date
US4760551A (en) 1988-07-26

Similar Documents

Publication Publication Date Title
JP5175379B2 (ja) 選択可能な下位精度を有する浮動小数点プロセッサ
JPH02138620A (ja) 数値量を計算する方法および数値データ処理装置
JP3178746B2 (ja) 浮動小数点数のためのフォーマット変換装置
EP3447634A1 (en) Non-linear function computing device and method
Ito et al. Efficient initial approximation for multiplicative division and square root by a multiplication with operand modification
EP0529101B1 (en) Floating-point dividing circuit
US5341320A (en) Method for rapidly processing floating-point operations which involve exceptions
JPH09212337A (ja) 浮動小数点演算処理装置
US6378067B1 (en) Exception reporting architecture for SIMD-FP instructions
JPS61141034A (ja) 演算結果限界割出し装置
US20050114422A1 (en) High performance implementation of exponent adjustment in a floating point design
JPH05241787A (ja) 算術演算におけるスティッキイ・ビット値の判別装置
US6233595B1 (en) Fast multiplication of floating point values and integer powers of two
Tsen et al. A combined decimal and binary floating-point multiplier
Goswami et al. Comparative review of approximate multipliers
JPS61123928A (ja) 浮動小数点データ処理装置
GB2559039B (en) Leading zero anticipation
JP2695178B2 (ja) 演算回路
US8244783B2 (en) Normalizer shift prediction for log estimate instructions
Daumas et al. Validated roundings of dot products by sticky accumulation
KR101922462B1 (ko) 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법
US7272623B2 (en) Methods and apparatus for determining a floating-point exponent associated with an underflow condition or an overflow condition
TWI753668B (zh) 資訊處理裝置、電腦程式、記錄媒體及資訊處理方法
JP3257278B2 (ja) 冗長なシフト数予測とシフト誤り補正を用いた正規化装置
KR100252766B1 (ko) 고속으로 동작하는 스티키 신호 생성기