JPS60254324A - 浮動小数点数の指数範囲拡張方法 - Google Patents

浮動小数点数の指数範囲拡張方法

Info

Publication number
JPS60254324A
JPS60254324A JP60015655A JP1565585A JPS60254324A JP S60254324 A JPS60254324 A JP S60254324A JP 60015655 A JP60015655 A JP 60015655A JP 1565585 A JP1565585 A JP 1565585A JP S60254324 A JPS60254324 A JP S60254324A
Authority
JP
Japan
Prior art keywords
exponent
bit
floating
range
floating point
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.)
Granted
Application number
JP60015655A
Other languages
English (en)
Other versions
JPH049340B2 (ja
Inventor
アンソニー・ハシツト
アラン・ハーシユ・カープ
ルドルフ・グレゴリー・スカーボロウ
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS60254324A publication Critical patent/JPS60254324A/ja
Publication of JPH049340B2 publication Critical patent/JPH049340B2/ja
Granted 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
    • 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
    • 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/382Reconfigurable for different fixed word lengths
    • 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
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers

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)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は浮動小数点数演算を用いるディジタルコンピュ
ータに関し、さらに詳しく言えば、そうしたディジタル
コンピュータにおいて浮動小数点数の新しい表示形式を
利用することに関する。
[従来技術] IBM社の刊行物GA22−7000−6 (1980
年3月第7版)”IBM システム/370の動作原理
′″の第9章に、符号の付された16進の″小数部″と
符号の付されていない7ビツトの整数の″指数部″′と
で浮動小数点数を表わす方法が示されている。パ指数部
″は符号付の指数を表わし指数の値に64を加えること
により得られる。これは64増しレコード表示″と呼ば
れる。
指数部の範囲は0から127であり、これは指数の範囲
一64から+63に嬉応する。浮動小数点数の値は、1
6を指数部により表わされた指数で累乗したものと/I
)敷部との積である。
浮動小数点数の小数部は16進数として取り扱われる。
というのは、これが16の累乗の数で乗されるからであ
る。“小数部”という用語はその基点が小数部の最上位
桁のすぐ左側にあるとみなされることを示している。小
数部はその絶対値と符号ビットによって表わされる。全
体の数は、その小数部の符号ビットがOか1かによって
それぞれ正か負かが決まる。
浮動小数点数演算が63を超える指数結果を生ずる場合
は、その指数部は127からOに循環し指数部あふれ例
外が認識される。この場合、指数部は128では小さ過
ぎる。演算が−64よりも小さい指数結果を生ずる場合
は、その指数部はOから127に循環し指数下位桁あふ
れ例外が認識される。この場合、指数部は128では大
き過ぎる(ただし、真ゼロが強制されてゼロの指数部が
生成された場合を除く)。
浮動小数点数演算の能力を持ったIBM システム/3
70のようなタイプのコンピュータでは、浮動小数点数
には、32ビツトの短精度形式、64ビツトの良精度形
式、および128ビツトの拡張精度形式がある。拡張精
度の浮動小数点数は28桁の小数部を有し、上位部およ
び下位部と呼ばれる2つの良精度の浮動小数点数から成
る。上位部はどんな良精度の浮動小数点数でもよい。上
位部の小数部は28桁の小数部のうち左側の14桁(1
6進数)を有する。上位部の指標部および符号は拡張精
度形式浮動小数点数の指標部および符号であるる。上位
部が正規化されていれば、拡張精度の数は正規化されて
いるものとみなされる。
下位部の小数部は28桁の小数部のうち右側の14桁を
有する。拡張精度オペランドの下位部の符号と指数部は
無視される。正規化は小数部を、最上位の16進数がゼ
ロでなくなるまで1度に1桁ずつ左に桁送りし、これと
同時に桁送りされた16進数の桁数だけ指数部を減する
ことによって行われる。
拡張精度形式の場合、浮動小数点数の大きさm(絶対値
)は、 15−”≦m≦ (1−16−”) X 16G3の範
囲にあり10進数でいうと近似的には、5.4.X1O
−79≦m≦7.2X10”である。
ところで、浮動小数点数の大きさの範囲を拡張する目的
から、1コンピユータワードに複数のフィールドを使用
することが試みられてきた。米国特許第3742198
号に示される装置では、固定長のディジタルコンピュー
タワードは3つのフィールドに分けられる。第1フイー
ルドおよび第2フイールドは可変長の指数フィールドお
よび可変長の小数フィールドに分けられる。第3フイー
ルドは可変長の指数フィールドの大きさを指定するのに
役立つ。これにより、浮動小数点表示の数における精度
と範囲との間のトレードオフを可能にする。
[発明が解決しようとする問題点] しかしながら前記米国特許に従って浮動小数点数の大き
さの範囲を拡張する場合は、その浮動小数点数の表示形
式が特別のものであるので現行の表示形式との互換性を
保つことができない。
したがって本発明の目的は浮動小数点数の現行の表示形
式との互換性を維持しながら浮動小数点数の範囲を拡張
することにある。
[問題点を解決するための手段] この目的を達成するため本発明の浮動小数点数指数範囲
拡張方法は、上位の符号、指数、および小数に対応する
上位ワードと、下位の符号、指数、および小数に対応す
る下位ワードとから成るワードのペアで数値を表わし、
該ワードのペアに応答し通常は選択的な下位ワードまた
はフィールドに対しては演算を行わないような浮動小数
点演算プロセッサにおいて、 (イ)各数値のオペランドの浮動小数点数の範囲、およ
び前記オペランドに対してなされた演算結果の浮動小数
点数の範囲を確認するステップと、(ロ)拡張された範
囲にあるオペランドまたは演算結果の対応する下位ワー
ドの指数フィールドを利用して上記オペランドまたは演
算結果を再形式化するステップと、 から成ることを特徴とする。
[実施例コ 本発明の方法は、主記憶装置、入出力チャネル、制御ユ
ニット、直接アクセス記憶装置、ローカルにアドレス指
定可能なタロツク、およびそこに接続された他のI10
装置を含むようなタイプのコンピュータシステムに適用
できる。そうしたシステムは米国特許第3400371
号に示されている。このシステムは、資源として、コン
ピユーテイングシステムまたはそこで走行する本発明の
方法のプロセスを実行するのに必要なオペレーティング
システムの全ての機能を含む。代表的な資源は主記憶装
置、I10装置、CPU、データセット、および制御プ
ログラムである。そうしたシステムは、さらに、多重プ
ログラミングの能力を有する。このシステムは1つのコ
ンピュータシステムで同時に2以上のプロセスを実行す
ることに関し、IBM社の刊行物GC28−6646お
よび0ALL−6822に示されるIBM システム/
370のオペレーティングシステムの下で走行するコン
ピュータにより管理することができる。
第1図について説明する。第1図には拡張″された指数
に有する拡張精度形式の浮動小数点数の構成が示されて
いる。この拡張指数拡張精度形式(以下、単に拡張指数
形式ともいう)は112ビツトの16進の小数部、符号
のない14ビツトの2進整数の指数部、符号ビット(S
)、および128ビット全体のためのフラグビット(F
)から成る。指数部は符号付の指数を表わし指数の値に
バイアスを加えることによって得られる。実施例の説明
において、“バイアス”とはオフセットまたは調整を意
味するものとする。
指数部およびバイアスの解釈はフラグビットの値に依存
する。この意味で、2つの状態の違いを見分ける目的か
らフラグビットは単一ビットが使用される。フラグビッ
トが符号ビットと同じであるときは、その数は−64か
ら+63までの指数を有する。さらに、その数は通常の
拡張精度の数の範囲と調和している。フラグビットが符
号ビットと同じである場合は、指数部の上位7ビツトが
、64だけバイアスされた指数を表わし下位7ビツトは
無視される。フラグビットが符号ビットと異なる場合は
、その数は新しい形式を有するものである。即ち、その
指数部は、& 192 (= 2”)だけバイアスされ
た14ビツトの指数として取り扱われる。
波長精度の浮動小数点数の演算結果が−64から+63
までの範囲の指数を有する場合は、演算のオペランドの
形式には関係なくフラグビットと符号ビットが同一にさ
れて指数部は64だけノベイアスされた7ビツトの指数
にされる。拡張精度の浮動小数点数の演算結果が+63
より犬きb)指数を有する場合は、フラグビットは符号
ピッ1〜と異なるものにされて指数部は8192だけノ
ベイアスされた14ビツトの指数にされる。結果指数が
8190を超えると、指数部あふれ例外が認識され。
結果指数が8〕9]−を超えると、その指数は−81−
92にもどる。拡張精度の浮動小数点数の演算結果が−
64より小さい指数を有する場合は、フラグビットは符
号ビットと異なるものにされて指数部は8192だけバ
イアスされた14ビツトの指数にされる。結果指数が−
8191より小さいと、指数下位桁あふれ例外が認識さ
れ、結果指数が−8192より小さくなると、その指数
は8191にもどる。
実施例では指数が7ビツトでも14ビツトでも、浮動小
数点数の小数部は同様に取り扱われる。それは16の累
乗で乗される1716から1までの数である。その基点
は小数部の最上位桁のすぐ左側にあるものとみなされる
。小数部はその絶対値と符号ビットで表わされる。全体
の数は、その小数部の符号ビットがOか1かによってそ
れぞれ正が負かが決まる。
第1図で、最初のビット(ビットO)は符号ビットであ
る。7ビツトの指数および14ビツトの指数のいずれの
場合も、符号ビットが1にセットされているときはその
数は負の数である。ビット1〜7およびピッ1−65〜
71はそれぞれ指数部の上位部および下位部である。7
ビツト指数と14ビツト指数を区別するためにビット6
4か7うグピットとして使用する。
ビット64がビットOに等しいときは、その数は64だ
けバイアスされた7ビツト指数を有する。
この形式の場合、指数部の下位7ビツトは無視される。
ビット64がビットOと異なるときは、その数は819
2だけバイアスされた14ビツト指数を有する。この形
式の場合、ビット1〜7とビット65〜71とを連結し
たもので14ビツトの指数部を表わす。
拡張精度の正規化された数の大きさmのカバーする範囲
はその形式によって異なる。7ビツト指数形式の場合は
前述のとうりであるが、14ビット指数形式の場合、浮
動小数点数の大きさm(絶対値)は、 16−I+192≦m≦(1−16−”) X 16”
”の範囲にあり10進数でいうと近似的には、7.06
 X 10−”G5≦m≦5 、52 X 10”G1
である。
以下、拡張指数形式の数の演算の例について第2図およ
び第3図を参照して説明する。
第2図は2つの浮動小数点数の加算を示す流れ図である
。説明の都合上、これら2つの数を仮りにAおよびB、
その演算結果をCと表わす。初めに2つのオペランドの
指数の抜出しを行う。すなわち、ステップ100で数A
が通常の範囲にあれば7ビツトの指数が抜き出され(ス
テップ102)そうでないときは14ビツトの指数が抜
き出される(ステップ104)。数Bに対しても同様の
ステップ106.108、および110が遂行される。
次にステップ112で2つのオペランドの指数の差に基
づいて一方のオペランド(図の例ではBが選択されてい
る)の小数部の位取りが行われる。ステップ114で位
取りされたオペランドともう一方のオペランドの小数部
どうしを加えることにより小数部結果を生成する。次に
ステップ116で小数部結果の指数に位取りされなかっ
た方のオペランドの指数を加えて指数結果を生成する。
このようにして得られた数を加えて指数結果を生成する
。このようにして得られた数が通常の範囲にあれば、7
ビツト指数形式の結果が生成され(ステップ120)=
そうでないときは、14ビット指数形式の結果が生成さ
れる(ステップ122)。
第3図は2つの浮動小数点数の乗算を示す流れ図である
。説明の都合上、これら2つの数を仮りにAおよびB、
その演算結果をCとする。数Aの指数の抜出しに関する
ステップ200.202、および204、ならびに数B
の指数の抜出しに関するステップ206,208、およ
び210で前記加算の場合と同様にして、その数の範囲
に基づいて7ビツト指数または14ビツト指数が抜き出
される。次にステップ212で2つの数の小数部の乗算
により小数部の結果を生成する。ステップ214で2つ
の数の指数と前記ステップ212で得られた小数部結果
の指数を加えることにより指数の結果を生成する。この
ようにして得られた数Cが通常の範囲にあれば、7ビツ
、ト指数形式の結果が生成され(ステップ218)、そ
うでないときは14ビット指数形式の結果が生成される
(ステップ220)。
[発明の効果] 以上説明したように本発明は、浮動小数点数の現行の表
示形式との互換性を維持しながら浮動小数点数の範囲を
拡張することができるので、従来の範囲拡張方法に比べ
て非常に有効である。
【図面の簡単な説明】
第1図は本発明で使用される拡張精度形式の浮動小数点
数の構成を示す図、第2図は本発明に基づく浮動小数点
数の加算を説明する流れ図、第3図は本発明に基づく浮
動小数点数の乗算を説明する流れ図である。 出願人 インターナショナル・ビジネス・マシーンズ・
コーポレーション 代理人 弁理士 頓 宮 孝 − (外1名) C= A十B 第2図

Claims (1)

  1. 【特許請求の範囲】 上位の符号、指数、および小数に対応する上位ワードと
    、下位の符号、指数、および小数に対応する下位ワード
    とから成るワードのペアで数値を表わし、該ワードのペ
    アに応答し通常は選択的な下位ワードまたはフィールド
    に対しては演算を行わないような浮動小数点演算プロセ
    ッサにおいて、浮動小数点数の指数の範囲を拡張するた
    めの方法であって、 (イ)各数値のオペランドの浮動小数点数の範囲、およ
    び前記オペランドに対してなされた演算結果の浮動小数
    点数の範囲製確認するステップと、(ロ)拡張された範
    囲にあるオペランドまたは演算結果の対応する下位ワー
    ドの指数フィールドを利用して上記オペランドまたは演
    算結果を再形式化するステップと、 から成ることを特徴とする浮動小数点数の指数範囲拡張
    方法。
JP60015655A 1984-05-25 1985-01-31 浮動小数点数の指数範囲拡張方法 Granted JPS60254324A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US614410 1984-05-25
US06/614,410 US4603323A (en) 1984-05-25 1984-05-25 Method for extending the exponent range of an IBM 370-type floating point processor

Publications (2)

Publication Number Publication Date
JPS60254324A true JPS60254324A (ja) 1985-12-16
JPH049340B2 JPH049340B2 (ja) 1992-02-19

Family

ID=24461143

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60015655A Granted JPS60254324A (ja) 1984-05-25 1985-01-31 浮動小数点数の指数範囲拡張方法

Country Status (4)

Country Link
US (1) US4603323A (ja)
EP (1) EP0162348B1 (ja)
JP (1) JPS60254324A (ja)
DE (1) DE3578239D1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4773035A (en) * 1984-10-19 1988-09-20 Amdahl Corporation Pipelined data processing system utilizing ideal floating point execution condition detection
JPS61141033A (ja) * 1984-12-14 1986-06-28 Hitachi Ltd 演算処理装置
JPS61141034A (ja) * 1984-12-14 1986-06-28 Hitachi Ltd 演算結果限界割出し装置
US4847802A (en) * 1986-06-12 1989-07-11 Advanced Micro Devices, Inc. Method and apparatus for identifying the precision of an operand in a multiprecision floating-point processor
US7158031B2 (en) * 1992-08-12 2007-01-02 Micron Technology, Inc. Thin, flexible, RFID label and system for use
US5687359A (en) * 1995-03-31 1997-11-11 International Business Machines Corporation Floating point processor supporting hexadecimal and binary modes using common instructions with memory storing a pair of representations for each value
US6212539B1 (en) * 1998-10-10 2001-04-03 Institute For The Development Of Emerging Architectures, L.L.C. Methods and apparatus for handling and storing bi-endian words in a floating-point processor
US7290024B2 (en) * 2003-12-18 2007-10-30 Intel Corporation Methods and apparatus for performing mathematical operations using scaled integers
US8744198B1 (en) * 2007-11-20 2014-06-03 Lucasfilm Entertainment Company Ltd. Image compression and decompression
US8412760B2 (en) * 2008-07-22 2013-04-02 International Business Machines Corporation Dynamic range adjusting floating point execution unit
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
DE1250659B (de) * 1964-04-06 1967-09-21 International Business Machines Corporation, Armonk, NY (V St A) Mikroprogrammgesteuerte Datenverarbeitungsanlage
FR1435080A (fr) * 1965-03-02 1966-04-15 Centre Nat Rech Scient Procédé pour améliorer les conditions d'utilisation d'une calculatrice arithmétique et machine à calculer utilisant ce procédé
US3742198A (en) * 1971-03-19 1973-06-26 Bell Telephone Labor Inc Apparatus for utilizing a three-field word to represent a floating point number

Also Published As

Publication number Publication date
JPH049340B2 (ja) 1992-02-19
EP0162348A3 (en) 1986-10-22
US4603323A (en) 1986-07-29
EP0162348A2 (en) 1985-11-27
EP0162348B1 (en) 1990-06-13
DE3578239D1 (de) 1990-07-19

Similar Documents

Publication Publication Date Title
CN107592116B (zh) 一种数据压缩方法、装置及存储介质
US3993891A (en) High speed parallel digital adder employing conditional and look-ahead approaches
US3871578A (en) Data processing system for multiplying and intergerizing floating point numbers
EP0328063B1 (en) Absolute value calculating circuit having a single adder
US5572207A (en) Method and apparatus for numeric-to-string conversion
JPS6097435A (ja) 演算処理装置
GB1108800A (en) Improvements in or relating to electronic data processing machines
JPS60254324A (ja) 浮動小数点数の指数範囲拡張方法
JPH0470662B2 (ja)
US6396420B1 (en) Delta compression of floating point coordinate data
US5542068A (en) Method and system for storing floating point numbers to reduce storage space
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
GB1029572A (en) Selective lockout of computer memory
JPH0863367A (ja) テストベクトルを発生する方法およびテストベクトル発生システム
US5721697A (en) Performing tree additions via multiplication
US3641331A (en) Apparatus for performing arithmetic operations on numbers using a multiple generating and storage technique
US4942547A (en) Multiprocessors on a single semiconductor chip
GB990557A (en) Electronic adding system
EP0332215B1 (en) Operation circuit based on floating-point representation
US4364025A (en) Format switch
GB1179048A (en) Data Processor with Improved Apparatus for Instruction Modification
US6981012B2 (en) Method and circuit for normalization of floating point significants in a SIMD array MPP
US5253193A (en) Computer method and apparatus for storing a datum representing a physical unit
JPH0789314B2 (ja) 浮動小数点条件符号生成方式
JP2624738B2 (ja) 丸め処理方式