JPH049340B2 - - Google Patents

Info

Publication number
JPH049340B2
JPH049340B2 JP60015655A JP1565585A JPH049340B2 JP H049340 B2 JPH049340 B2 JP H049340B2 JP 60015655 A JP60015655 A JP 60015655A JP 1565585 A JP1565585 A JP 1565585A JP H049340 B2 JPH049340 B2 JP H049340B2
Authority
JP
Japan
Prior art keywords
exponent
bit
range
floating point
floating
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
JP60015655A
Other languages
English (en)
Other versions
JPS60254324A (ja
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 filed Critical
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)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は浮動小数点数演算を用いるデイジタル
コンピユータに関し、さらに詳しく言えば、そう
したデイジタルコンピユータにおいて浮動小数点
数の新しい表示形式を利用することに関する。
[従来技術] IBM社の刊行物GA22−7000−6(1980年3月
第7版)“IBM システム/370の動作原理”の
第9章に、符号の付された16進の“小数部”と符
号の付されていない7ビツトの整数の“指数部”
とで浮動小数点数を表わす方法が示されている。
“指数部”は符号付の指数を表わし指数の値に64
を加えることにより得られる。これは“64増しレ
コード表示”と呼ばれる。指数部の範囲は0から
127であり、これは指数の範囲−64から+63に対
応する。浮動小数点数の値は、16を指数部により
表わされた指数で累乗したものと小数部との積で
ある。
浮動小数点数の小数部は16進数として取り扱わ
れる。というのは、これが16の累乗の数で乗ざれ
るからである。“小数部”という用語はその基点
が小数部の最上位桁のすぐ左側にあるとみなされ
ることを示している。小数部はその絶対値と符号
ビツトによつて表わされる。全体の数は、その小
数部の符号ビツトが0か1かによつてそれぞれ正
か負かが決まる。
浮動小数点数演算が63を超える指数結果を生ず
る場合は、その指数部は127から0に循環し指数
桁あふれ例外が認識される。この場合、指数部は
128では小さ過ぎる。演算が−64よりも小さい指
数結果を生ずる場合は、その指数部は0から127
に循環し指数下位桁あふれ例外が認識される。こ
の場合、指数部は128では大き過ぎる(ただし、
真ゼロが強制されてゼロの指数部が生成された場
合を除く)。
浮動小数点数演算の能力を持つたIBM シス
テム/370のようなタイプのコンピユータでは、
浮動小数点数には、32ビツトの短精度形式、64ビ
ツトの長精度形式、および128ビツトの拡張精度
形式がある。拡張精度の浮動小数点数は28桁の小
数部を有し、上位部および下位部と呼ばれる2つ
の長精度の浮動小数点数から成る。上位部はどん
な長精度の浮動小数点数でもよい。上位部の小数
部は28桁の小数部のうち左側の14桁(16進数)を
有する。上位部の指標部および符号は拡張精度形
式浮動小数点数の指標部および符号である。上位
部が正規化されていれば、拡張精度の数は正規化
されているものとみなされる。下位部の小数部は
28桁の小数部のうち右側の14桁を有する。拡張精
度オペランドの下位部の符号と指数部は無視され
る。正規化は小数部を、最上位の16進数がゼロで
なくなるまで1度に1桁ずつ左に桁送りし、これ
と同時に桁送りされた16進数の桁数だけ指数部を
減ずることによつて行われる。
拡張精度形式の場合、浮動小数点数の大きさm
(絶対値)は、 15-65≦m≦(1−16-28)×1663 の範囲にあり10進数でいうと近似的には、 5.4×10-79≦m≦7.2×1075 である。
ところで、浮動小数点数の大きさの範囲を拡張
する目的から、1コンピユータワードに複数のフ
イールドを使用することが試みられてきた。米国
特許第3742198号に示される装置では、固定長の
デイジタルコンピユータワードは3つのフイール
ドに分けられる。第1フイールドおよび第2フイ
ールドは可変長の指数フイールドおよび可変長の
小数フイールドに分けられる。第3フイールドは
可変長の指数フイールドの大きさを指定するのに
役立つ。これにより、浮動小数点表示の数におけ
る精度と範囲との間のトレードオフを可能にす
る。
[発明が解決しようとする問題点] しかしながら前記米国特許に従つて浮動小数点
数の大きさの範囲を拡張する場合は、その浮動小
数点数の表示形式が特別のものであるので現行の
表示形式との互換性を保つことができない。
したがつて本発明の目的は浮動小数点数の現行
の表示形式との互換性を維持しながら浮動小数点
数の範囲を拡張することにある。
[問題点を解決するための手段] この目的を達成するため本発明の浮動小数点数
指数範囲拡張方法は、上位の符号、指数、および
小数に対応する上位ワードと、下位の符号、指
数、および小数に対応する下位ワードとから成る
ワードのペアで数値を表わし、該ワードのペアに
応答し通常は選択的な下位ワードまたはフイール
ドに対しては演算を行わないような浮動小数点演
算プロセツサにおいて、 (イ) 各数値のオペランドの浮動小数点数の範囲、
および前記オペランドに対してなされた演算結
果の浮動小数点数の範囲を確認するステツプ
と、 (ロ) 拡張された範囲にあるオペランドまたは演算
結果の対応する下位ワードの指数フイールドを
利用して上記オペランドまたは演算結果を再形
式化するステツプと、 から成ることを特徴とする。
[実施例] 本発明の方法は、主記憶装置、入出力チヤネ
ル、制御ユニツト、直接アクセス記憶装置、ロー
カルにアドレス指定可能なクロツク、およびそこ
に接続された他のI/O装置を含むようなタイプ
のコンピユータシステムに適用できる。そうした
システムは米国特許第3400371号に示されている。
このシステムは、資源として、コンピユーテイン
グシステムまたはそこで走行する本発明の方法の
プロセスを実行するのに必要なオペレーテイング
システムの全ての機能を含む。代表的な資源は主
記憶装置、I/O装置、CPU、データセツト、
および制御プログラムである。そうしたシステム
は、さらに、多重プログラミングの能力を有す
る。このシステムは1つのコンピユータシステム
で同時に2以上のプロセスを実行することに関
し、IBM社の刊行物GC28−6646およびGA11−
6822に示されるIBM システム/370のオペレー
テイングシステムの下で走行するコンピユータに
より管理することができる。
第1図について説明する。第1図には拡張され
た指数を有する拡張精度形式の浮動小数点数の構
成が示されている。この拡張指数拡張精度形式
(以下、単に拡張指数形式ともいう)は112ビツト
の16進の小数部、符号のない14ビツトの2進整数
の指数部、符号ビツト(S)、および128ビツト全
体のためのフラグビツト(F)から成る。指数部は符
号付の指数を表わし指数の値にバイアスを加える
ことによつて得られる。実施例の説明において、
“バイアス”とはオフセツトまたは調整を意味す
るものとする。
指数部およびバイアスの解釈はフラグビツトの
値に依存する。この意味で、2つの状態の違いを
見分ける目的からフラグビツトは単一ビツトが使
用される。フラグビツトが符号ビツトと同じであ
るときは、その数は−64から+63までの指数を有
する。さらに、その数は通常の拡張精度の数の範
囲と調和している。フラグビツトが符号ビツトと
同じである場合は、指数部の上位7ビツトが64だ
けバイアスされた指数を表わし下位7ビツトは無
視される。フラグビツトが符号ビツトと異なる場
合は、その数は新しい形式を有するものである。
即ち、その指数部は、8192(=213)だけバイアス
された14ビツトの指数として取り扱われる。
拡長精度の浮動小数点数の演算結果が−64から
+63までの範囲の指数を有する場合は、演算のオ
ペランドの形式には関係なくフラグビツトと符号
ビツトが同一にされて指数部は64だけバイアスさ
れた7ビツトの指数にされる。拡張精度の浮動小
数点数の演算結果が+63より大きい指数を有する
場合は、フラグビツトは符号ビツトと異なるもの
にされて指数部は8192だけバイアスされた14ビツ
トの指数にされる。結果指数が8190を超えると、
指数桁あふれ例外が認識され、結果指数が8191を
超えると、その指数は−8192にもどる。拡張精度
の浮動小数点数の演算結果が−64より小さい指数
を有する場合は、フラグビツトは符号ビツトと異
なるものにされて指数部は8192だけバイアスされ
た14ビツトの指数にされる。結果指数が−8191よ
り小さいと、指数下位桁あふれ例外が認識され、
結果指数が−8192より小さくなると、その指数は
8191にもどる。
実施例では指数が7ビツトでも14ビツトでも、
浮動小数点数の小数部は同様に取り扱われる。そ
れは16の累乗で乗ざれる1/16から1までの数であ
る。その基点は小数部の最上位桁のすぐ左側にあ
るものとみなされる。小数部はその絶対値と符号
ビツトで表わされる。全体の数は、その小数部の
符号ビツトが0か1かによつてそれぞれ正が負か
が決まる。
第1図で、最初のビツト(ビツト0)は符号ビ
ツトである。7ビツトの指数および14ビツトの指
数のいずれの場合も、符号ビツトが1にセツトさ
れているときはその数は負の数である。ビツト1
〜7およびビツト65〜71はそれぞれ指数部の上位
部および下位部である。7ビツト指数と14ビツト
指数を区別するためにビツト64をフラグビツトと
して使用する。
ビツト64がビツト0に等しいときは、その数は
64だけバイアスされた7ビツト指数を有する。こ
の形式の場合、指数部の下位7ビツトは無視され
る。ビツト64がビツト0と異なるときは、その数
は8192だけバイアスされた14ビツト指数を有す
る。この形式の場合、ビツト1〜7とビツト65〜
71とを連結したもので14ビツトの指数部を表わ
す。
拡張精度の正規化された数の大きさmのカバー
する範囲はその形式によつて異なる。7ビツト指
数形式の場合は前述のとうりであるが、14ビツト
指数形式の場合、浮動小数点数の大きさm(絶対
値)は、 16-8192≦m≦(1−16-28)×168190 の範囲にあり10進数でいうと近似的には、 7.06×10-9865≦m≦5.52×109861 である。
以下、拡張指数形式の数の演算の例について第
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
図は本発明に基づく浮動小数点数の乗算を説明す
る流れ図である。

Claims (1)

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
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
US614410 1996-03-12

Publications (2)

Publication Number Publication Date
JPS60254324A JPS60254324A (ja) 1985-12-16
JPH049340B2 true 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
GB1054725A (ja) * 1964-04-06
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
EP0162348A3 (en) 1986-10-22
DE3578239D1 (de) 1990-07-19
EP0162348A2 (en) 1985-11-27
US4603323A (en) 1986-07-29
EP0162348B1 (en) 1990-06-13
JPS60254324A (ja) 1985-12-16

Similar Documents

Publication Publication Date Title
EP0328063B1 (en) Absolute value calculating circuit having a single adder
US3993891A (en) High speed parallel digital adder employing conditional and look-ahead approaches
EP0198470B1 (en) Arithmetic unit with simple overflow detection system
US4675809A (en) Data processing system for floating point data having a variable length exponent part
JPH02196328A (ja) 浮動小数点演算装置
EP0171805A2 (en) High speed digital arithmetic unit
US6178435B1 (en) Method and system for performing a power of two estimation within a data processing system
JPS6132437Y2 (ja)
JPH0470662B2 (ja)
JPH049340B2 (ja)
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
US4758975A (en) Data processor capable of processing floating point data with exponent part of fixed or variable length
US20040010536A1 (en) Apparatus for multiplication of data in two's complement and unsigned magnitude formats
US4942547A (en) Multiprocessors on a single semiconductor chip
US4977534A (en) Operation circuit based on floating-point representation with selective bypass for increasing processing speed
US4118786A (en) Integrated binary-BCD look-ahead adder
JPH05204602A (ja) 制御信号の方法と装置
US5661674A (en) Divide to integer
US6516332B1 (en) Floating point number data processing means
JPH06139217A (ja) 高精度演算処理装置および方法
US6981012B2 (en) Method and circuit for normalization of floating point significants in a SIMD array MPP
US5146423A (en) Circuit arrangement for adding or subtracting operands coded in BCD-code or binary-code
JP2578482B2 (ja) 浮動小数点演算器
US6128636A (en) Method for interfacing floating point and integer processes in a computer system
EP0137525B1 (en) Arithmetic unit in data processing system with bit-extension circuitry