JPS58186840A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS58186840A
JPS58186840A JP57070935A JP7093582A JPS58186840A JP S58186840 A JPS58186840 A JP S58186840A JP 57070935 A JP57070935 A JP 57070935A JP 7093582 A JP7093582 A JP 7093582A JP S58186840 A JPS58186840 A JP S58186840A
Authority
JP
Japan
Prior art keywords
mantissa
exponent
exponent part
register
correction
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
JP57070935A
Other languages
English (en)
Inventor
Takeshi Watanabe
毅 渡辺
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 JP57070935A priority Critical patent/JPS58186840A/ja
Publication of JPS58186840A publication Critical patent/JPS58186840A/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
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 発明の対象 本発明は、データ処理装置に関し、特に浮動小数点演算
でボストノーマライズにより生ずる指数部の補正演算を
並列に行って、高速化する演算装置に関するものである
従来技術 浮動小数点演算は、膨大な数値を高精度で行うことがで
きる。また、浮動小数点数は、(至)の符号と、16の
べき乗である指°数部と、16進数の仮数部から構成さ
れ、これらの長さは固定長であって、例えば1語長の短
精度と、2語長の長精度と、4語長の拡張精度の3形式
がある。すなわち、第1図(a)の短精度浮動小数点数
、第1図(b)の良精度浮動小数点数、および第1図(
c)の拡張精度浮動小数点数ともに、最初の1ビツトは
仮数部の符号であり、1゛°が負、“OI+が正の符号
を表わす。仮数部は、短精度がビット8〜31で16進
数の6桁を、長精度がビット8〜63で16進数の14
桁を、拡張精度がビット8〜63.72〜127で16
進数の28桁を、それぞれ有している。また、仮数部で
は、小数点の位置が最上位桁の左側にある。
次に、指数部は、ビット1〜7で16のべき乗となるべ
き数を表わしており、第2図に示すように、重みを付し
た2進数の0〜127に対応して一64〜±63を指定
する。すなわち、第2図の上段が+63、中段が+7、
下段が−64のべき数をそれぞれ示す。
第3図は、従来技術による浮動小数点加減算器を表わす
、 Aレジスタ1およびBレジスタ2は、各々第1゜第2の
浮動小数点オペランドをラッチするレジスタである。
プリシフタ(PS)3は、浮動小数点加減算の実行に先
立ち、第1および第2のオペランドの指数部の大小判定
を行ない、大なる方の指数部を選択する機能と、小なる
方のオペランドの仮数部を大なる方のオペランドの桁に
合せるように右シフトする機能を有する。例えば、第1
オペランドと第2オペランドの指数部が、それぞれ+5
5、+53のときには、両指数の差分(2桁)だけ第2
オペランドの仮数部を右側にシフトすることになる。
Cレジスタ牛および])レジスタ5は、各々上記ps3
から、指数部大なる方のオペランドの仮数部と、小なる
方の桁合せ後の仮数部を受けとり、ラッチするためのレ
ジスタである。
Eレジスタ6け、指数部の大なる方をps3より受けと
り、ラッチするためのレジスタである。
PA7は、0レジスタ4とDレジスタ5にラッチされた
第1および第2のオペランドの仮数部の加減算を実行す
る並列加算器である。
7レジスタ8は、上記P A、 7の結果をラッチする
レジスタである。
Gレジスタ9は、Eレジスタ6の指数部をそのままラッ
チするレジスタである。
Dll!OIQは、Fレジスタ8にラッチされた演算結
果の上位から連続する○の数を調べ、演算結果のボスト
ノーマライズ数および指数部の補正数を出力するデコー
ダである。
PSHIIは、上記Dxo10から出力するホーストノ
ーマライズ数にもとづいて、演算結果を左シフトするポ
ストシフタである。
BA 12は、同じく上記DEa10から出力する指数
部補正数にもとづいて、指数部を補正するバイト加算器
である。
Hレジスター3は、上記PSHIIおよびBA12から
出力する最終結果をラッチするレジスタであす る。
第4図は 第3図のボストノーマライズ・ステージでの
動作タイムチャートである。
並列加算器7において、桁合わせされた第1および第2
オペランドの仮数部の加減算を行い・その結果をFレジ
スタ8にラッチする。
従来の装置では並列加算器7の演算の後に正規化を行っ
ており、(ボストノーマライズ)、例えば演算結果が指
数部r+55J仮数部roo1234・・・−1の場合
、デコーダ10に対してこれらの情報がタイミングt1
で出力されると(第4図(a))、デコーダ10は上位
から連続する仮数部の0の数12」と、指数部の補正数
1−2」をバイト加算器12とボストシフタ11にタイ
ミングt2で出力する(第4図(b) ’)。ポストシ
フタ11は、デコーダ10から受けたボストノーマライ
ズ数「2」にもとづいて、Fレジスタ8から受けた演算
結果を2桁だけ左シフトした後、タイミングt、でHレ
ジスタ13に出力する(第4図(O))。デコーダ10
からボストノーマライズ数を受けたタイミングt2から
Hレジスタ13に出力するタイミングt3までの時間は
約lマシンサイクルである。
一方、バイト加算器12は、デコーダ1oがらボストノ
ーマライズi r2Jをタイミングt2で受けると、G
レジスタ9がら指数部の大きい方の値「+55」を入力
して、r+55Jと1−2」の加算を行い、演算結果を
タイミングt4でHレジスタ]、3の指数部に出力する
(第4図(d))。デコーダ1oがらボストノーマライ
ズ数を受けたタイミングt2がらHレジスタ13に出力
するタイミングt4までの時間(t 、約lマシンサイ
クルである。したがって、Hレジスタ13の指数部は、
仮数部より約lマシンサイクルも遅れてラッチされるこ
とになり、相対的にマシンサイクルに占めるこのディレ
ィ時間の割合はきわめて大きい。このように、従来技術
では演算結果をyレジスタ8にラッチしてから、さらに
指数部の補正に時間がかかるという欠点があった、 flkm演算ステージの後に、ボストノーマライスステ
ーシが必要であり、このボストノーマライズステージで
のディレィの大半を上記補正値ニモとづく、指数部の演
算、に費やしてしまうという欠点があった。
発明の目的 本発明の目的は、このような従来の欠点を除去するため
、仮数部演算が終了した後にかかるディレィ時間を大幅
に短縮し、浮動小数点演算の実行時間を短かくすること
ができるデータ処理装置を提供することにある。
上記目的を達成するため、本発明のデータ処理装置では
、浮動小数点演算器において、複数個の指数部演算器を
設け、仮数部の演算と並列に上記複数の指数部演算器を
同時に動作させ、仮数部演算の終了と同時に演算結果の
仮数部の上位に連続するOの桁数を示す値にもとづいて
、上記指数部演算器の出力の1つを選択し、ポストノー
マライズにより生ずる指数部の補正演算を直ちに終了さ
せることを特徴とする。すなわち、本発明においては、
演算器を高速化するために、予測論理を増強し、ボスト
ノーマライズ・ステージで行う指数部の補正を、その前
のステージで起り得るすべての組合わせについて演算す
るのである。これにより、浮動小数点加減算は、従来で
は例えば約4サイクル要したのに対して、本発明では約
5サイクルで結果を得ることができるようになる。
発明の実施例 第5図は、本発明の実施例を示す浮動小数点演算器のブ
ロック図であり、第6図は第5図のボストノーマライズ
・ステージの動作タイム・チャートである。
本発明による新たな機能は、複数のバイト加算器14〜
29、その結果をラッチするレジスタ30〜45および
その内容を選択するセレクタ46である。複数のバイト
加算器14〜29は、本来ポストノーマライズ・ステー
ジで行うべき指数部の補正を、前段で実行するものであ
り、起りうるすべての組合わせの数だけバイト加算器が
備えられる。
仮数部演算後に発生し得る指数部の補正値をMからNと
する。これらの値は、浮動小数点加減算演算の場合は+
1から−6であり、良精度演算の場合は、+1から−1
4,である。第1図に示すように、短精度の浮動小数点
データは、仮数部を3バイト(6桁)だけ有し、演算に
は、さらにガード桁が加わるため、全部で7桁になる。
このため、指数部の補正は−6までであり、+1は、加
算の結果桁あぶれが生じ、仮数部を右に1桁シフトする
場合のためである。また、長精度では、仮数部を7バイ
ト(14桁)有し、ガード桁を合せて、15桁である。
このため指数部の補正は−14まで必要である。
なお、ガード桁は、シフトにより精度が低下するのを減
少するために設けられたもので、例えば、仮数部がro
o1234jの6桁のときには、ポストシフタ11で左
に2桁シフトされJ1234Jとなることによって4桁
となり精度が低下するので、それを補うためにもう1桁
追加し、最初より仮数部をroo12345Jと7桁に
しておく。
また、あふれ桁の場合、仮数部の演算を行った結果、最
上位桁から桁あふれ(キャリー)が生じた際、その上位
に1桁確保しておがなければ、キャリーの値が抹消され
てしまうので、最初より0桁の上方に+1桁を設けてお
く。+1桁は、その後、ポスト・シフタ11で右に1桁
分シフトされて正規化される。
ブリシフタ3において、第]−2第2のオペランドの轡
数部の大小の判定を行った後、指数部の大きい値がEレ
ジスタ6に出方される。複数個のバイト加算器14〜2
9は、Eレジスタ6にラッチされている指数部(例えば
r+55J )を一方の入力に受は取り、短精度の場合
には+1〜−6、長精度の場合には+1〜−14の値を
他方に入力して、それぞれ加減算を行う。各バイト加算
器14〜29の出力はレジスタ(GPI 〜()14)
30−45にラッチされる。セレクタ46は、デコーダ
1゜の出力にもとづいて、レジスタ30〜45の内容を
選択する。
第5図の一連の動作を説明すると、Cレジスタ養および
Dレジスタ5にラッチした仮数部の演算を実行すると同
時に、複数のバイト加勢器14から29により、指数部
のその後、発生し得る補正演算のすべての組み合せを仮
数部演算ステージにて演算する。
上記の予測演算の結果は、仮数部の演算結果をFレジス
タ8にラッチするのと同時に、レジスタ30から45の
レジスタにラッチする。次に、ポストノーマライズ・ス
テージにてデコーダ10は、Fレジスタ8にラッチされ
た仮数部演算結果を調べて、実際に必要な補正値を出力
する。セレクタ46は、上記デコーダ10の出力にもと
づいて、真の補正値を予測したバイト加算器の結果をラ
ッチしているレジスタの内容を選択する。
並列加算器7の演算結果が、例えば指数部[十55 、
:I ’を仮数部1−001234・・・・・」である
場合、Fレジスタ8からタイミングt、でこれらの情報
がデコーダ10に出力されると(第0図(a))、デコ
ーダ10は上位から連続する仮数部のOの数「2」と、
指数部の補正数「−2」をセレクタ46とボストシフタ
11にタイミングt2で出力する(第6図(b))。ボ
ストン7タ11は、デコーダ10から受は取ったボスト
ノーマライズ数r2Jにもとづいα1) てFレジスタ8から入力した演算結果r’0O1234
・・・・・」を2桁だけ左シフトしてr 1234−・
・・・−1とした後、タイミングt3で出力する(第6
図(0))。
一方、+M kのバイト加算器14〜29 G:Jl 
、並列加算器7の仮数部の演算と並列に指数部補正演算
を行い、第5図の場合、指数部「+55」と「+1」〜
r−1jlの16組の加減算を行い、その演算結県r+
56J〜「+41Jを複数のレジスタ30〜45にそれ
ぞれラッチする。セレクタ46は、デコーダ10からタ
イミングt2でボストノーマライズ数[2−1を受は取
ると、複数個のレジスタ30〜45のうちの1つのレジ
スタ33の値を選択してタイミングt3で出力する (
第6図(d))。すなわちレジスタ30は指数部の「+
1」の補正、レジスタ31はrOJの補正、レジスタ3
2はr−11の補正、レジスタ33は「−2」の補正を
それぞれ行った結果をラッチしているので、セレクタ4
6はデコーダ10から受は取った指数部の補正数「−2
」と一致する補正の内容を選択して出力する。
最N結iは、ポストノーマライズした仮数部に02) 上記補正後の指数部を合せることにより得られる。
本発明では、第6図(c)Cd)に示すように、デコー
ダ10からポストノーマライズ数を受けたタイミングt
2から、ボストシフタ11がシフト動作した結果を出力
するタイミングt3と、セレクタ46が補正結果の1つ
を選択して出力するタイミングt3とが殆んど同じであ
るため、最終結果の補数部と仮数部はほぼ同時に出力さ
れることになる。したかつて、従来ボストノーマライズ
・ステージにおけるディレィ時間の大半を指数部の演算
に費していたが、本発明では、指数部の演算は前段で終
了しているため、1個の潅択するだけの時間を要するの
みであり、トータルの演算実行時間が短かくなる。
第7図は第5図の並列加算器7の出力結果と、仮数部の
シフ)fflおよび指数部の補正量、すなわち選択すべ
きハイド加算器の対応関係な示す図である。第7図にお
いて、−1桁とは、あふれ桁を、Gはガード桁を表わす
。尚、デコーダ10に入力する加算器の出力は、加算器
の入力レジスタであるCレジスタ4とDレジスタ5から
直接予測してデコーダIIKO1○に入力する方法も可
能である。
また第7図によると、バイト加算器か16個必要である
が、BA○は、補正シ、が0であるから省略可能であり
、このように必要とする加算器の数を減らす手段が存在
するっ 尚、仮数部の演算結果がすべてOになった場合は、有意
性例外として処理を行なうため指数部の補正は行なわな
い。
第7回の加算器出力桁で、Xは○以外の数字、つまり1
〜Fを表わし、Yは任意の数字、つまりQ −Fを表わ
している、したがって、短精度、長精度とも上から2番
目の出力が得られたときには、すでに仮&iは正規化さ
れているので、ポストシフタ11でパ/フ卜する必要も
なく、またセレクタ46で指数部の補正した値を選択す
る必要もない−さらに、短精度、多槽7とも、最下段の
出力、つまり仮数部が万一ルOにな−ったときには、指
数部も無意味であるため何の補正も行われない。上記2
つの例外を除き、仮数部の上位の連続した0の数にした
がって、ボストシフタ11における仮数部の補正(第7
図の右から3列目)を行うとともにセレクタ46により
選択された指数部の補正(第7図の石から2列目)を行
う。なお、第7図の右端の列は、選択された指数部の補
正に該当するバイト加算器14〜29を示している。す
なわち、短精度の最上段は、O以外の数字があふれ桁(
−1)にあるので、仮数部の補正では右シフト1桁を行
い、指数部の補正では+1した結果を選択し、そのとき
のバイト加算器はBAP lの14が選択される。短精
度の3番目では、仮数部のあふれ桁(−1)と最」二位
桁(0)が0であり、次の桁にO以外の数字があるので
、仮数部の補正では左シフト1桁を行い、指数部の補正
では−1した結果を選択し、そのときのバイト加算器は
BAlの16が選択される。以下、同じようにして、短
精度では仮数部を左シフト6桁、指数部を−6、良精度
では仮数部を左シフト14桁、指数部を−14、それぞ
れ行う場合まで連続して配列されている。
なお、本発明は、ボストノーマライズ動作を必0υ 要とするすべての演算に適用可能である。例えば、浮動
小数点乗除算等がこれに含まれる。ただ、乗除算の場合
には、バイト加算器は2個のみでよいので、性能的には
加減算の場合はど効果は大きくない。
発明の詳細 な説明したように、本発明によれば、仮数部演算が終了
した後にかかるディレィな大幅に短縮できるため、浮動
小数点演算の演算実行時間を短かくすることができる。
【図面の簡単な説明】
第1図は浮動小数点数のデータ形式図、第2図は第1図
の指数部の表現を示す図、第3図は従来の浮動小数点加
減算器のブロック図、第4図は第3図のボストノーマラ
イズ・ステージの動作タイムチャート、第5図は本発明
の実施例を示す浮動小数点加減算器のブロック図、第6
図は第5図のボストノーマライズ動作のタイムチャート
、47図は第5図の並列加算器出力と仮数部、指数部の
補正量との対応図である。 06) 1.2:オペランド・レジスタ、3:ブリシフタ、4.
.5:演算入力レジスタ、6 二にレジスタ、7:並列
加算器、8:Fレジスタ、10:デコーダ、11:ボス
トシフタ、14〜29:バイト加m 器、3 Q〜4.
5:補正レジスタ、46:セレクタ0 特許出願人  株式会社日立製作所 代 理 人  弁理士 磯  村  雅  情1、第1
図 第2図 第4図 第6図 t2 第5図

Claims (1)

    【特許請求の範囲】
  1. 指数部と仮数部とを別個に演算する浮動小数点演算器に
    おいて、仮数部の演算と並列に動作する複数個の指数部
    演算器を設け、仮数部の演算終了と同時に演算結果の上
    位に連続する0の桁数を示す値にもとづいて、上記複数
    個の指数部演算器の演算器の演算結果の1つを選択して
    指数部とすることを特徴とするデータ処理装置っ
JP57070935A 1982-04-27 1982-04-27 デ−タ処理装置 Pending JPS58186840A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP57070935A JPS58186840A (ja) 1982-04-27 1982-04-27 デ−タ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP57070935A JPS58186840A (ja) 1982-04-27 1982-04-27 デ−タ処理装置

Publications (1)

Publication Number Publication Date
JPS58186840A true JPS58186840A (ja) 1983-10-31

Family

ID=13445857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57070935A Pending JPS58186840A (ja) 1982-04-27 1982-04-27 デ−タ処理装置

Country Status (1)

Country Link
JP (1) JPS58186840A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116032A (ja) * 1983-11-28 1985-06-22 Nec Corp 正規化回路
JPS60140422A (ja) * 1983-12-28 1985-07-25 Nec Corp 演算処理装置
JPS6224322A (ja) * 1985-07-23 1987-02-02 Nec Corp 浮動小数点演算装置
JPS62168228A (ja) * 1986-01-21 1987-07-24 Nec Corp 浮動小数点積和演算器

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116032A (ja) * 1983-11-28 1985-06-22 Nec Corp 正規化回路
JPS60140422A (ja) * 1983-12-28 1985-07-25 Nec Corp 演算処理装置
JPS6224322A (ja) * 1985-07-23 1987-02-02 Nec Corp 浮動小数点演算装置
JPS62168228A (ja) * 1986-01-21 1987-07-24 Nec Corp 浮動小数点積和演算器
JPH0552532B2 (ja) * 1986-01-21 1993-08-05 Nippon Electric Co

Similar Documents

Publication Publication Date Title
US6099158A (en) Apparatus and methods for execution of computer instructions
JP2662196B2 (ja) 演算結果正規化方法及び装置
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US7730117B2 (en) System and method for a floating point unit with feedback prior to normalization and rounding
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
JPH09269891A (ja) 部分積加算方法および装置、浮動小数点乗算方法および装置、浮動小数点積和演算方法および装置
US4758974A (en) Most significant digit location
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5548545A (en) Floating point exception prediction for compound operations and variable precision using an intermediate exponent bus
US5247471A (en) Radix aligner for floating point addition and subtraction
US5790444A (en) Fast alignment unit for multiply-add floating point unit
JPH0250492B2 (ja)
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
JP2511527B2 (ja) 浮動小数点演算器
JPS58186840A (ja) デ−タ処理装置
US20050144214A1 (en) Shift-and-negate unit within a fused multiply-adder circuit
US20170293467A1 (en) Apparatus and method for supporting a conversion instruction
US5754458A (en) Trailing bit anticipator
US6065034A (en) Circuit and method employing an adder for sign extending operands
US20060026223A1 (en) Apparatus and method for reducing the latency of sum-addressed shifters
CN111752613A (zh) 迭代运算的处理
US5208769A (en) Unsigned integer multiply/divide circuit
JP3201097B2 (ja) 乗算器における乗算処方方法