JPH01180628A - 浮動小数点演算方式 - Google Patents

浮動小数点演算方式

Info

Publication number
JPH01180628A
JPH01180628A JP63005183A JP518388A JPH01180628A JP H01180628 A JPH01180628 A JP H01180628A JP 63005183 A JP63005183 A JP 63005183A JP 518388 A JP518388 A JP 518388A JP H01180628 A JPH01180628 A JP H01180628A
Authority
JP
Japan
Prior art keywords
normalization
stage
digits
signal
shifter
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
JP63005183A
Other languages
English (en)
Inventor
Sadaji Asano
淺野 貞二
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63005183A priority Critical patent/JPH01180628A/ja
Publication of JPH01180628A publication Critical patent/JPH01180628A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 1血欠! 本発明は浮動小数点演算方式に関し、特に情報処理装置
等に用いられる浮動小数点演算回路において、浮動小数
点加減算の正規化に用いられる正規化シフタの制御を行
う浮動小数点演算方式に関する。
良米北l 第3図を参照すると、従来の浮動小数点データの一例で
ある4バイト長浮動小数点データは符号部S、指数部E
および仮数部Fから構成され、その値Yは、 で示される。この浮動小数点データの加減算は桁合せ、
加算/減算、および正規化の3つのフェーズから栴成さ
れている。
桁合せのフェーズでは、両オペランドの指数が比較され
、小さい方の指数部Eの値を有する仮数部Fの内容が右
にシフトされる。16進数でのn桁シフトに対し指数部
Eの内容をn増加させ、指数部Eの値が一致するまでシ
フトされる。指数部Eの内容が一致したら、仮数部Fの
内容が代数的に加算または減算され、中間解が出力され
る。この出力された中間解は次に正規化される。正規化
された形は、仮数部Fの上位4ビツトの値に少なくとも
1ビツトの論理“1”が存在する。出力された中間解は
正規化に必要な桁数だけ左にシフトされ、下位桁には論
理“0”が挿入され、1桁シフトするごとに指数部Eの
値は“1”だけ減少される。このようにして正規化され
た結果が解となる。
従来の正規化回路では、最大桁までシフト可能なシフタ
のみが備えられている。このような構成では、正規化量
検出およびシフタのデイレ−が大きく、−マシンサイク
ルの所要単位時間を増大させないと実現できなくなる。
この1マシンサイクルの所要単位時間の増加はマシンで
の処理全体の遅延となり、性能低下をもたらし採用でき
ない。
そこで最大桁までシフト可能なシフタと、さらに高速な
2〜3桁以内のシフト量のシフタという大小2つの正規
化シフタを用いる方式の採用が考えられる。すなわち、
全桁シフト可能な正規化シフタは同一ステージでは2マ
シンサイクルの時間をかけて正規化処理を実行し、シフ
ト量が2〜3桁以内の処理ですむ場合は別に設けられた
2〜3桁までのシフトを行う高速のシフタにより同一ス
テージ内で1マシンサイクル内で正規化が実行される。
しかし、この方式では、正規化量の大小で正規化の実行
時間が変化する。
パイプライン方式の情報処理装置では正規化ステージの
一段上のステージでは次の命令が既に実イテされており
、正規化のための時間が1マシンサイクル余分にかかる
場合は、実行されている次の命令のさらに次の命令がさ
らに一段上からおろされ、パイプラインの処理が進行さ
れる。従って、上述の正規化ステージの一段上のステー
ジで実行された次の命令の処理対象情報は、さらに次の
命令の処理対象情報で重ね書きされ消失することになる
これを防ぐため、それ以前のステージで実行されている
命令群の処理の全てを、■マシンサイクル分ホールドし
て正規化ステージで実行されている処理の終了までに待
たせる必要がある。しかし、このボールドのための信号
を演算の中間結果により生成すると、前ステージの全て
の処理対象情報をホールドするタイミングを得るのは非
常に困難であるという欠点がある。
九匪血■芳 本発明の目的はパイプライン処理の乱れをなくすように
した浮動小数点演算方式を提供することである。
法曹ピロ1鷹 本発明の方式は、桁合せステージ、加減算ステージおよ
び正規化ステージの順で浮動小数点演算を行う浮動小数
点演算方式であって、前記加減算ステージから得られた
中間解の全桁をシフトしうる第1の正規化シフタ手段と
、この第1の正規化シフタ手段を用いて正規化されたデ
ータを前記正規化ステージで保持する手段と、前記中間
解の全桁より少ない予め定められた桁をシフトしうる第
2の正規化シフタ手段と、この第2の正規化シフタ手段
を用いて正規化されたデータを次のステージに送る手段
と、桁合せ前のデータに基づいて前記加減算ステージ以
前のタイミングで前記第1の正規化シフタ手段と前記第
2の正規化シフタ手段との最適な正規化シフタ手段を選
択する信号を生成する信号生成手段とを含み、この信号
生成手段で生成された信号の指示に応答して前記正規化
ステージで正規化動作を実行することを特徴とする。
実施例 次に本発明について図面を参照して詳細に説明する。
第1図を参照すると、本発明の一実施例は、毒数部およ
び仮数部を有する第1のオペランドを格納するレジスタ
21、指数部および仮数部を有する第2のオペランドを
格納するレジスタ22、前記レジスタ21からの第1の
オペランドの指数部の内容および前記レジスタ22から
の第2のオペランドの指数部の内容により桁合せに必要
なシフト量を算出する桁合せ1算出回路31および32
、この桁合せ址算出回路31からのシフト量に基づきレ
ジスタ21からの第1のオペランドの仮数部の内容をシ
フトするシフタ33、前記桁合せ1算出回路32からの
シフト量に基づきレジスタ22からの第2のオペランド
の仮数部の内容をシフトするシフタ34、前記シフタ3
3および前記シフタ34からのシフト結果のうちどちら
か一方を選択するセレクタ43−1中間解の演算が減算
の場合レジスタ41の値とともに第2のオペランドの“
2″の補数をとるためのセレクタ42、これらセレクタ
42および43からのシフト結果にもとづいて加算また
は減算し中間解を発生するアダー5を含んでいる。
更に、本発明の実施例は、このアダー5からセレクタ6
1を介して与えられる中間解の指数部の内容に基づき正
規化のためのシフト量を算出する正規化i算出回路73
、この正規化量算出回路73からの正規化シフ14に基
づきレジスタ6からの中間解の仮数部の全桁シフトを行
う正規化シフタ71、前記正規化量算出回路73からの
シフト量に基づきレジスタ6からの中間解の仮数部の2
桁シフトを行う正規化シフタ72を含んでいる。
更に、本発明の実施例は、これ等正規化シフタ71およ
び72のどちらを選択するかを示し、レジスタ21およ
び22のオペランドを保持するとともに正規化量が大き
いとき前のステージにあるレジスタまたはフリップフロ
ップにホールドを指・示することにより前のステージで
実行されている命令を1マシンサイクルの間遅らせるた
めに用いられる信号を生成する信号生成回路1、この信
号生成回路1からの信号を保持するフリップフロップ1
1、このフリップフロップ11から与えられ、1″の時
正規化量が3桁以上である゛ことを示し、0”の時正規
化量が2桁以内であることを示す値をセットするフリッ
プフロップ12、このフリップフロップ12からの値が
“1″の時正規化シフタ71からの出力を選択し、“0
”の時アダー5からの中間解を選択するセレクタ61、
およびフリップフロップ12の値が“0″の時正規化シ
フタ72からの解を格納し、フリップフロップ12の値
が“1”の時ボールドされるレジスタ8を含んで構成さ
れている。
この実施例では、正規化シフト量が3桁以上の場合、正
規化シフタ71で全桁シフトした後、セレクタ61、レ
ジスタ6および正規化レジスタ72を介してレジスタ8
に格納される。本発明はこの方式に限定されず、正規化
シフタ71でまず3桁以上の部分の正規化を行い、この
結果をセレクタ61およびレジスタ6を介して正規化シ
フタ72に与え、この正規化シフタ72で2桁以内の部
分の正規化を行うようにしてもよい。
第2図を参照すると、信号生成回路1は、第1のオペラ
ンドの保護桁1桁を含む3桁+1ビツトのデータ210
、第2のオペランドの保護桁1桁を含む3桁+1ビツト
のデータ220および第1のオペランドおよび第2のオ
ペランドの符号と演算が加算か減算かによりオペランド
の一方が2の補数としてアダーに入力されることを示す
信号401に基づいて、第1のオペランドおよび第2の
オペランドの加減算後の正規化シフト量が2桁以上であ
ることを検出する検出回路101〜107を備えている
。 検出口1!3101からの信号は桁合せのための仮
数シフトがない場合を検出した信号であり、検出回路1
02からの信号は第1のオペランドが1桁シフトされる
場合を検出した信号である。検出回路103からの信号
は第1のオペランドが2桁シフトされる場合を検出した
信号であり、検出回路104からの信号は第1のオペラ
ンドが3桁シフトされる場合を検出した信号である。検
出回路105からの信号は第2のオペランドが1桁シフ
トされる場合を検出した信号であり、検出回路106か
らの信号は第2のオペランドが2桁シフトされる場合を
検出した信号であり、検出回路107がらの信号は第2
のオペランドが3桁シフトされる場合を検出した信号で
ある。
いま1.データ210をに= (Ko、に、、・・・、
に12)とし、データ220をし=<L、、L、、・・
・。
L I 2 >とおき、信号401をRとし、データL
f)逆転したものをり、”=<L。”、L、’、3.・
、L1□′)とする、検出回路101〜107の出力が
“1″となる場合は、K+L′の値が第3図に示されて
いる。
第3図では、下位桁からのキャリーや、仮数部が絶対値
表現であるために、K+L’が2の補数となった場合な
どを考慮して、3桁以上の正規量になる可能性のある場
合はすべて全桁シフタを選択するようにする値が示され
ている。
信号生成回路1は、この他第1のオペランドの指数部の
データa(ao、al、・・・、ao)および第2のオ
ペランドの指数部のデータb= (bo 。
bl、・・・、bo)に基づいて検出信号を出力する検
出回路111〜117をも備えている。検出回路111
はb=aを検出したとき信号を発生し、検出口1?81
12はb−a=1を検出したとき信号を発生する。検出
回路113はb−a=2を検出したとき信号を発生し、
検出回路114はb−a≧3を検出したとき信号を発生
ずる。検出回路115はb−a=−1を検出したとき信
号を発生し、検出回路116はb−a=−2を検出した
とき信号を発生し、検出回路117はb−a≦−3を検
出したとき信号を発生ずる。
信号生成回路1におけるセレクタ120は、検出回路1
11〜117の信号で示される条件に合った検出回路1
01〜107の出力の1つを選択してレジスタ11に格
納する。このレジスタ11に格納された値が第1図に示
ず全桁シフト可能な正規化シフタ71にシフト動作を指
示するが、2桁シフ1へ可能な正規化レジスタ72にシ
フト動作を指示するかの選択信号となる。
発明の詳細 な説明したように本発明によれば、正規化シフタを2桁
までの高速シフタと全桁シフト可能な低速シフタの2つ
を有し、浮動小数点加減算で桁合せ前のオペランドから
正規化量が2桁以内か否かを検出し、早期に作成された
信号を用いて、シフタの選択や制御をするとともに正規
化量が2桁以内の場合、2桁より多い時の処理時間より
1マシンサイクル早く終了するように正規化量が2桁よ
り多い場合は、パイプラインの正規化のステージより前
のステージをホールドすることで、次に続く命令の実行
を1マシンサイクル待たせてパイプラインの乱れを防止
することができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例の構成を示す図、第2図は第
1図の信号生成回路1の構成を示す図、第3図は第2図
における正規化シフタ選択回路で検出すべき仮数部上位
3桁+1ビツトの加算後のデータのパターンを示す図、
第4図は浮動小数点データの形式を示す図である。 主要部分の符号の説明 1・・・・・・信号生成回路 5・・・・・・アダー 6.8.21,22.41・・・・・・レジスタ31.
32・・・・・・桁合せ算出回路33.34・・・・・
・シフタ 42.43.61・・・・・・セレクタ71.72・・
・・・・シフタ

Claims (1)

    【特許請求の範囲】
  1. (1)桁合せステージ、加減算ステージおよび正規化ス
    テージの順で浮動小数数点演算を行う浮動小数数点演算
    方式であって、前記加減算ステージから得られた中間解
    の全桁をシフトしうる第1の正規化シフタ手段と、この
    第1の正規化シフタ手段を用いて正規化されたデータを
    前記正規化ステージで保持する手段と、前記中間解の全
    桁より少ない予め定められた桁をシフトしうる第2の正
    規化シフタ手段と、この第2の正規化シフタ手段を用い
    て正規化されたデータを次のステージに送る手段と、桁
    合せ前のデータに基づいて前記加減算ステージ以前のタ
    イミングで前記第1の正規化シフタ手段を前記第2の正
    規化シフタ手段との最適な正規化シフタ手段を選択する
    信号を生成する信号生成手段とを含み、この信号生成手
    段で生成された信号の指示に応答して前記正規化ステー
    ジで正規化動作を実行することを特徴とする浮動小数点
    演算方式。
JP63005183A 1988-01-13 1988-01-13 浮動小数点演算方式 Pending JPH01180628A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63005183A JPH01180628A (ja) 1988-01-13 1988-01-13 浮動小数点演算方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63005183A JPH01180628A (ja) 1988-01-13 1988-01-13 浮動小数点演算方式

Publications (1)

Publication Number Publication Date
JPH01180628A true JPH01180628A (ja) 1989-07-18

Family

ID=11604117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63005183A Pending JPH01180628A (ja) 1988-01-13 1988-01-13 浮動小数点演算方式

Country Status (1)

Country Link
JP (1) JPH01180628A (ja)

Similar Documents

Publication Publication Date Title
US6904446B2 (en) Floating point multiplier/accumulator with reduced latency and method thereof
US6099158A (en) Apparatus and methods for execution of computer instructions
US4893268A (en) Circuit and method for accumulating partial products of a single, double or mixed precision multiplication
US5892699A (en) Method and apparatus for optimizing dependent operand flow within a multiplier using recoding logic
JPH0542011B2 (ja)
EP0478731A1 (en) Early scism alu status determination apparatus
JP3081710B2 (ja) オーバーフロー検出機能付き乗算装置
US4967343A (en) Pipelined parallel vector processor including parallel configured element processors for processing vector elements in parallel fashion
JP2511527B2 (ja) 浮動小数点演算器
JPS608933A (ja) 演算処理装置
JPH07107664B2 (ja) 乗算回路
JPH09146924A (ja) 演算方法、演算装置及びマイクロプロセッサ
JPH01180628A (ja) 浮動小数点演算方式
US4914579A (en) Apparatus for branch prediction for computer instructions
US6035310A (en) Method and circuit for performing a shift arithmetic right operation
US4878193A (en) Method and apparatus for accelerated addition of sliced addends
US5742533A (en) Method and apparatus for modulus error checking
JP3310316B2 (ja) 演算装置
JP2664750B2 (ja) 演算装置及び演算処理方法
JP3205020B2 (ja) 演算装置
JP2706459B2 (ja) 小数乗算器を有するマイクロプロセッサ
JP3110072B2 (ja) 事前正規化回路
JP2903529B2 (ja) ベクトル演算方式
WO1998006029A1 (en) Apparatus and methods for execution of computer instructions
JPH0812594B2 (ja) 浮動小数点加減算装置