JPH0659858A - 浮動小数点演算装置 - Google Patents

浮動小数点演算装置

Info

Publication number
JPH0659858A
JPH0659858A JP4212785A JP21278592A JPH0659858A JP H0659858 A JPH0659858 A JP H0659858A JP 4212785 A JP4212785 A JP 4212785A JP 21278592 A JP21278592 A JP 21278592A JP H0659858 A JPH0659858 A JP H0659858A
Authority
JP
Japan
Prior art keywords
unit
normalizing
rounding
bits
result
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
JP4212785A
Other languages
English (en)
Inventor
Hiroaki Suzuki
弘明 鈴木
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP4212785A priority Critical patent/JPH0659858A/ja
Priority to US08/098,984 priority patent/US5303175A/en
Publication of JPH0659858A publication Critical patent/JPH0659858A/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
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49936Normalisation mentioned as feature only
    • 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/49942Significance control
    • G06F7/49947Rounding
    • G06F7/49963Rounding to nearest

Abstract

(57)【要約】 【構成】 54ビットの演算結果の0の数を3ビット単
位のプライオリティ・エンコーダ2により計数する。5
4×18正規化シフタ3は計数結果に応答して演算結果
を正規化する。LSBは判定論理4は演算結果の上位3
ビットの論理状態がオーバフローおよびアンダーフロー
によりシフトするLSBの位置を判定し、インクリメン
ト信号生成部5および3ビット入力インクリメンタ6は
シフトしたLSBに対応させて1を加算し切上信号を発
生する。54×3正規化シフタ9は情報落ち処理部Bの
処理結果または丸め処理部Aの処理結果を選択的に正規
化する。 【効果】 情報落ち処理部の正規化シフタを2段構成と
し、最終段正規化シフタを丸め処理部と共用することに
加えて、算術演算部の直後の正規化シフタを省略してい
る。それにより、速度を低下させることなく、ハードウ
ェア量を減少させた浮動小数点演算装置を提供すること
ができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、丸め処理機能を有す
る浮動小数点演算装置に関し、特に浮動小数点演算装置
のハードウェア量を低減するための構成とそのために必
要な回路に関するものである。
【0002】
【従来の技術】丸め処理機能を有する浮動小数点演算装
置では、算術演算後に丸め処理と減算によって情報落ち
した場合の2種類の処理を取扱わなければならない。情
報落ちした演算結果は、最上位に3ビット以上連続して
「0」が並ぶため、演算処理結果を正規化する(左へシ
フトする)と下位ビットに「0」が並ぶことになる。し
たがって、情報落ちが生じた場合には丸め処理モードに
関わらず切捨となり丸め処理と情報落ち処理とが競合し
ない。このため、従来の浮動小数点演算装置では、各処
理系が独立に配置されている。
【0003】図5は、このような浮動小数点演算装置の
仮数部の演算処理ブロックを示す図である。
【0004】ここでは、浮動小数点演算プロセッサにお
ける代表的な規格であるIEEE浮動小数点演算規格の
倍精度フォーマット(基本形式)の演算を一例をして説
明する。IEEE規格では、仮数部の精度が54ビット
に定められている。
【0005】図5に示す浮動小数点演算装置は、算術演
算部13、丸め処理部A、情報落ち処理部Bを備える。
算術演算部13は、浮動小数点データの仮数部について
算術演算を行なう。算術演算結果は、バス21を通して
丸め処理部Aおよび情報落ち処理部Bに伝えられる。
【0006】丸め処理部Aは、54×3正規化シフタ1
6、インクリメンタ17、54×2正規化シフタ18、
丸め・情報落ち判定論理19、およびセレクタ20を含
む。54×3正規化シフタ16は、算術演算部13の演
算結果を左にシフトして正規化する。すなわち、小数点
の次に「1」がくるようにシフトする。インクリメンタ
17は、54×3正規化シフタ16により正規化された
演算結果に「1」を加算し、切上信号を発生する。54
×2正規化シフタ18は、インクリメンタ17からの切
上信号をそのまままたは1ビットシフトして正規化す
る。54×2正規化シフタ18により正規化された演算
結果はデータバス24を通してセレクタ20に与えられ
る。丸め・情報落ち判定論理19は、丸めモード時にバ
ス23またはバス24を通して入力される切上信号また
は切捨信号を選択するための制御信号をセレクタ20に
出力する。セレクタ20は、その入力部がバス22〜2
4に接続され、丸め情報落ち判定論理19からの制御信
号に応答していずれかのバスを選択する。
【0007】情報落ち処理部Bは1ビット単位のプライ
オリティ・エンコーダ14および54×54ビット正規
化シフタ15を含む。プライオリティ・エンコーダ14
は、算術演算部13における演算結果の「0」の数が上
位ビットから順番にいくつ並んでいるかを計数する。5
4×54ビット正規化シフタ15は、プライオリティ・
エンコーダ14の計数結果に応答して、算術演算部13
の演算結果を左へシフトして正規化する。
【0008】なお、図5に示した従来例は、David
A.Patterson John L. Henn
esy 著 Computer Architectu
re:A Quantitative Approac
h のA18〜19頁に記載されているアルゴリズムを
ハードウェアに置換えたものであり、仮数部の丸め演算
処理を中心に抜粋している。
【0009】図5に示した演算処理ブロックの動作を、
丸め処理と情報落ち処理に分けて説明する。まず丸め処
理において、算術演算部13の演算結果にはオーバフロ
ーやアンダーフローを生じている場合がある。このた
め、まず最初に54×3正規化シフタ16により、正規
化した後に丸め処理を行なう。この正規化後のデータを
切捨信号とし、さらにインクリメンタ17によって切上
信号を計算する。このインクリメンタ17は、半加算器
で構成されており、入力データに「1」を加算した結果
を出力する。この切上演算によって、オーバフローする
場合があるため、54×2正規化シフタ18により再度
正規化して切上信号を得る。そして、最後に切捨信号に
相当する54×3正規化シフタ16の出力信号と54×
2正規化シフタ18により出力される切上信号とのいず
れか一方を選択することにより、丸め処理を実現するこ
とができる。
【0010】続いて、情報落ち処理について説明する。
情報落ち処理のためのパスは前述の丸め処理とは完全に
独立しており、最終段のセレクタ20により丸め処理と
区別し信号を選択している。ここでの処理はプライオリ
ティ・エンコーダ14によって上位ビットの「0」の数
を計数し、その分だけ次段の54×54正規化シフタ1
5により算術演算部13の演算結果をシフトしている。
このシフトにより、算術演算部13の演算結果は、小数
点の左側に「1」が配置される。
【0011】以上のように、従来の構成では、合計54
×59ビット分の3個の正規化シフタと1ビット単位で
0を計数するためのプライオリティ・エンコーダが必要
となる。
【0012】図6は図5に示したプライオリティ・エン
コーダ14の詳細を示す回路図である。図6に示すプラ
イオリティ・エンコーダ14は、たとえば米国特許4,
785,421号の第2図に示されている。図6におい
て、このプライオリティ・エンコーダ14は、仮数部の
54ビットに対応して設けられ、直列的に接続されるエ
ンコーダ回路C0〜C53を備える。エンコーダ回路C
53は、最上位ビット(MSB)の入力データI53を
受けるインバータ30と、NMOSトランジスタ28お
よび29と、MSBのエンコード結果を出力するAND
27を含む。インバータ30は、その出力ノードがNM
OSトランジスタ28のゲート電極に接続される。NM
OSトランジスタ28は、その一方電極が電源端子31
に接続され、その他方端子が入力データI53を受ける
ように接続される。NMOSトランジスタ29は、その
ゲート電極および一方電極が入力データI53を受ける
ように接続され、その他方電極が接地電位32に接続さ
れる。ANDゲート27は、その一方の入力ノードが電
源端子31に接続され、その他方の入力ノードが入力デ
ータI53を受けるように接続される。エンコーダ回路
C0は、最下位ビット(LSB)の入力データI0とエ
ンコーダ回路C1の入力データI1を受けるANDゲー
ト33を備える。エンコーダ回路C1〜C52は、エン
コーダ回路C53と同様な構成である。
【0013】動作において、MSBの入力データI53
が「0」の場合には、NMOSトランジスタ28がオン
し、NMOSトランジスタ29がオフする。ANDゲー
ト27の入力ノードに電源電圧31が供給されるので、
出力ノードO53は、高レベルになる。一方、入力デー
タI53が「1」の場合には、NMOSトランジスタ2
8がオフし、NMOSトランジスタ29がオンする。出
力ノードO53は低レベルとなるとともに、隣接のエン
コーダ回路C52の出力ノードO52も低レベルにな
る。
【0014】プライオリティ・エンコーダ回路14は、
以上のように構成されかつ動作するので、最上位ビット
から順に「0」が入力されている場合には、順次に高レ
ベルを出力し、「1」が入力されると下位のエンコーダ
回路が低レベルを出力する。
【0015】
【発明が解決しようとする課題】以上説明したように、
従来の仮数部の演算ブロックでは、演算処理に伴うオー
バフローとアンダーフローとが丸め処理部のハードウェ
ア構成を複雑しており、正規化シフタのハードウェア量
が特に多くなってしまう。この問題を解消するために
は、プライオリティ・エンコーダおよび正規化シフタの
数を減らし、算術演算部の演算結果を複数ビット毎に分
割して処理することが考えられる。しかし、そうした場
合には演算処理速度が遅くなってしまうという問題があ
る。
【0016】すなわちこの発明は、上記の問題点を解消
するためになされたものであり、ハードウェア量の少な
い丸め処理および情報落ち処理機能を有しかつ処理速度
を犠牲にすることのない浮動小数点演算装置を提供する
ことを目的とする。
【0017】
【課題を解決するための手段】請求項1の発明に係る浮
動小数点演算装置は、算術演算によって情報落ちが生じ
た演算結果に対して上位ビットの「0」を、複数ビット
の部分データ毎に計数するための計数手段と、計数手段
の計数結果に応答して情報落ちが生じた演算結果を正規
化するための第1の正規化手段と、算術演算部の算術演
算結果のオーバフローとアンダーフローとを考慮して演
算結果の丸め処理を行なう丸め処理手段と、第1の正規
化手段により正規化された演算結果または丸め処理手段
により丸め処理された演算結果を正規化する第2の正規
化手段とを備えたことを特徴とする。
【0018】請求項2の発明に係る浮動小数点演算装置
は、請求項1と同様な計数手段および第1の正規化手段
を含み、さらに演算結果を上位3ビットの論理状態を判
定して算術演算でのオーバフローまたはアンダーフロー
により最下位ビットの変動を検出する手段と、検出され
た最下位ビットの変動に対応して「1」を加算し、丸め
処理のための切上データを発生する切上データ発生手段
と、第1の正規化手段により正規化された演算結果また
は切上データ発生手段により発生された切上データを選
択するためのセレクタ手段と、セレクタ手段により選択
されたデータを正規化する第2の正規化手段とを含むこ
とを特徴とする。
【0019】
【作用】請求項1および請求項2の発明では、情報落ち
が生じた演算結果の処理は、第1の正規化手段および第
2の正規化手段により行なうことができ、第2の正規化
手段は、丸め処理部と共用されている。さらに算術演算
後に正規化を実行せずに丸め処理を行なった演算結果を
第2の正規化手段により正規化を行なうことにより、正
規化シフタを従来例よりも1つ省略することができる。
これにより、ハードウェア量を大幅に低減できる。ま
た、情報落ちの処理においては、計数手段により情報落
ちが生じた演算結果に対して上位ビットの「0」を複数
ビットの部分データ毎に計数するため、1ビット単位で
計数するプライオリティ・エンコーダよりも小さいもの
で実現することができる。
【0020】
【実施例】
実施例1 図1は、この発明の一実施例を示す浮動小数点演算装置
のブロック図である。ここでは、IEEE浮動小数点演
算規格の倍精度フォーマットの演算を一例として説明す
る。図1において、この浮動小数点演算装置は算術演算
部1、丸め処理部Aおよび情報落ち処理部Bを含む。算
術演算部1は、図5に示した算術演算部13と同様な構
成であり、同様な動作を行なう。情報落ち処理部Bは、
3ビット単位のプライオリティ・エンコーダ2、および
54×18ビット正規化シフタ23を含む。丸め処理部
Aは、上位3ビットの「0」チェックによるLSB判定
論理4、インクリメント信号生成部5、3ビット入力の
インクリメンタ6、丸め・情報落ち判定論理7、および
セレクタ8を含む。54×3正規化シフタ9は、丸め処
理部Aおよび情報落ち処理部Bにより共用されている。
なお、10は算術演算の演算結果が出力されるバスであ
り、11は情報落ち処理結果の出力と丸め処理部Aの切
捨信号出力で共用しているバスであり、12は丸め処理
部Aのうちで切上信号が出力されるバスである。
【0021】この発明は主に半導体集積回路装置で利用
されるものであり、ハードウェアの効率的な利用によっ
て速度性能を低下させることなく、レイアウト面積の低
減を図っている。まず第1に情報落ち処理部Bの正規化
シフタを2段構成としたことにより、1段構成の場合に
は54×54の正規化シフタが必要であったものが、5
4×18の正規化シフタ3と54×3の正規化シフタ9
とで済む。この場合において、正規化シフタの数は増え
るが、各正規化シフタのサイズが小さくなるため、結果
としてハードウェア量が減少することに加えて、2段目
の54×3正規化シフタ20を丸め処理後の正規化シフ
タと共用しているため、ハードウェア量は54×54の
正規化シフタから54×18の正規化シフタに減る。
【0022】さらに、プライオリティ・エンコーダ2で
「0」を計数するときの精度が3ビット単位でよいた
め、1ビット単位の場合よりもハードウェア量が少な
い。
【0023】この3ビット単位のプライオリティ・エン
コーダは、たとえば図2に示すような回路で実現でき
る。
【0024】図2に示すプライオリティ・エンコーダ4
と図6に示すプライオリティ・エンコーダ14とが異な
るところは、54段のエンコーダ回路に代えて18段の
エンコーダ回路C0〜C17が設けられ、かつ各段に3
入力ORゲートが追加されていることである。なお、図
2では、表示を簡単化するために4つのORゲート3
4、35、36、37のみを示す。
【0025】図2に示すプライオリティ・エンコーダ4
であれば3入力ORゲートが挿入されているもののエン
コーダ回路は18ビット分でよくハードウェア量が少な
くなるとともにクリティカルパスのゲート段数が少なく
なるため、エンコードに要する時間も短くなる。したが
って、正規化シフタの段数が増加しても演算装置全体と
しては速度低下につながらない。
【0026】再び図1を参照して、LSB判定論理4
は、オーバフローとアンダーフローによる最下位ビット
(LSB)のシフトを演算結果の上位3ビットの「0」
のチェックにより割出して、LSBに位置を判定してい
る。そして、インクリメント信号生成部5がLSB判定
論理4の判定結果を基にして、LSBに「1」を加えた
インクリメント信号を生成し、丸め判定論理に必要なL
SBより下位のビットを切出している。これにより、図
5に示した54×2正規化シフタを省略しかつ54×3
正規化シフタ16を省略することができ、従来よりもハ
ードウェア量を減少することができる。
【0027】3ビット入力インクリメンタ6は、LSB
がシフトした場合の切上信号の生成を容易にすることが
できる。この3ビット入力インクリメンタ6の詳細を図
3に示す。
【0028】図3を参照して、このインクリメンタ6は
下位の2ビットを全加算器26としており、最下位の半
加算器25の1入力と合わせて3ビットのインクリメン
ト信号を外部から与えられる構成にしている。このイン
クリメント信号として、「001」、「010」、「1
00」を与えてオーバフローとアンダーフローによるL
SBシフトに対応させている。一例として仮数部が8ビ
ットの場合について示すと、図4のような計算になる。
【0029】実施例2 図1に示したインクリメンタ6において、最下位ビット
だけでなく中間ビットにもインクリメント信号入力用の
全加算器を設けることにより、単精度と倍精度などのよ
うな異なる精度モードのデータを同じ演算器で扱えるも
のが容易に得られる。また、この構成によるとビット数
の少ない単精度データの方が高速に演算できる。
【0030】実施例3 この発明はIEEE浮動小数点演算規格の倍精度フォー
マットにのみならず全ての丸め演算に対して用いること
ができる。ビット数の変化に対してはIEEE浮動小数
点演算規格の倍精度の仮数部が丸めのためのビットを含
めて54ビットであるのを任意のビット数に置換えれば
よい。
【0031】実施例4 実施例1では、正規化シフタを54×18正規化シフタ
3と54×3正規化シフタ9との2段構成としたが、3
ビット以上であれば基本的には何ビットでもよい。たと
えば、多入力ゲートの入力数はn(nは正の整数)入力
まで許されているとする。この場合にはプライオリティ
・エンコーダの初段のOR論理にn入力ゲートを用いて
nビット単位プライオリティ・エンコーダとすることに
より、ハードウェア量が小さくなり、エンコーダ回路の
クリティカルパスも短くなる。また、次段の正規化シフ
タ9も54×mと54×nの2段構成となり、nが27
ビットを超えない限りはnが大きいほどシフタのハード
ウェア量は小さくなる。ここで、mは(54/n−1)
>m≧(54/n)の範囲の整数である。たとえば、n
=5とすると、11個の5入力ORゲートと11ビット
分のエンコーダ回路によりプライオリティ・エンコーダ
・エンコーダを構成することができ、正規化シフタ3お
よび9は、54×11と54×5の2段構成となる。
【0032】実施例5 実施例1では情報落ち処理部Bの正規化シフタを54×
18正規化シフタ3および54×3正規化シフタ9から
なる2段構成としたが、段数は任意でよく、最終段の正
規化シフタを丸め処理部Aと共用すればよい。
【0033】
【発明の効果】以上のように、この発明の浮動小数点演
算装置の構成によれば、速度低下を生じることなく、ハ
ードウェア量を減少することができる。また、請求項2
の切上データ発生手段では、オーバフローとアンダーフ
ローによるLSBのシフトに対応させることが可能にな
る。
【図面の簡単な説明】
【図1】この発明の一実施例を示す浮動小数点演算の仮
数部の処理ブロックを示す図である。
【図2】図1に示したプライオリティ・エンコーダの詳
細を示す回路図である。
【図3】図1に示した3ビット入力インクリメンタの回
路図である。
【図4】図3に示した3ビット入力インクリメンタの演
算イメージを説明するための図である。
【図5】従来の浮動小数点演算装置の仮数部の演算処理
ブロックを示す図である。
【図6】図5に示した1ビット単位のプライオリティ・
エンコーダの詳細を示す回路図である。
【符号の説明】
1 算術演算部 2 3ビット単位のプライオリティ・エンコーダ 3 54×18ビット正規化シフタ 4 上位3ビットの0チェックによるLSB判定論理 5 インクリメント信号生成部 6 3ビット入力のインクリメンタ 7 丸め・情報落ち判定論理回路 8 セレクタ 9 54×3ビット正規化シフタ A 丸め処理部 B 情報落ち処理部 C0〜C17 エンコーダ回路 25 半加算器 26 全加算器 27,33 ANDゲート 28,29 NMOSトランジスタ 30 インバータ 34〜37 3入力ORゲート
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年8月17日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0004
【補正方法】変更
【補正内容】
【0004】ここでは、浮動小数点演算プロセッサにお
ける代表的な規格であるIEEE浮動小数点演算規格の
倍精度フォーマット(基本形式)の演算を一例をして説
明する。IEEE規格では、仮数部の精度が5ビット
に定められており、オーバーフロービットを含めると5
4ビットになる。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正内容】
【0006】丸め処理部Aは、54×3正規化シフタ1
6、インクリメンタ17、54×2正規化シフタ18、
丸め・情報落ち判定論理19、およびセレクタ20を含
む。54×3正規化シフタ16は、算術演算部13の演
算結果を左にシフトして正規化する。すなわち、仮数の
最上位ビットに「1」がくるようにシフトする。インク
リメンタ17は、54×3正規化シフタ16により正規
化された演算結果の最下位ビットに「1」を加算し、切
上信号を発生する。54×2正規化シフタ18は、イン
クリメンタ17からの切上信号をそのまままたは1ビッ
トシフトして正規化する。54×2正規化シフタ18に
より正規化された演算結果はデータバス24を通してセ
レクタ20に与えられる。丸め・情報落ち判定論理19
は、丸めモード時にバス23またはバス24を通して入
力される切上信号または切捨信号を選択するための制御
信号をセレクタ20に出力する。セレクタ20は、その
入力部がバス22〜24に接続され、丸め情報落ち判定
論理19からの制御信号に応答していずれかのバスを選
択する。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0010
【補正方法】変更
【補正内容】
【0010】続いて、情報落ち処理について説明する。
情報落ち処理のためのパスは前述の丸め処理とは完全に
独立しており、最終段のセレクタ20により丸め処理と
区別し信号を選択している。ここでの処理はプライオリ
ティ・エンコーダ14によって上位ビットの「0」の数
を計数し、その分だけ次段の54×54正規化シフタ1
5により算術演算部13の演算結果をシフトしている。
このシフトにより、算術演算部13の演算結果は、仮数
の最上位に「1」が配置される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】図6は図5に示したプライオリティ・エン
コーダ14の詳細を示す回路図である。図6に示すプラ
イオリティ・エンコーダ14は、たとえば米国特許4,
785,421号の第2図に示されている。図6におい
て、このプライオリティ・エンコーダ14は、仮数部の
54ビットに対応して設けられ、直列的に接続されるエ
ンコーダ回路C0〜C53を備える。エンコーダ回路C
53は、最上位ビット(MSB)の入力データI53を
受けるインバータ30と、NMOSトランジスタ28お
よび29と、MSBのエンコード結果を出力するAND
27を含む。インバータ30は、その出力ノードがNM
OSトランジスタ28のゲート電極に接続される。NM
OSトランジスタ28は、その一方電極が電源端子31
に接続され、その他方電極は次段回路C52のNMOS
トランジスタ28の一方電極に接続される。NMOSト
ランジスタ29は、そのゲート電極が入力データI53
を受けるように接続され、その一方電極は接地電位32
、他方電極は次段回路C52のNMOSトランジスタ
28の一方電極に接続される。ANDゲート27は、そ
の一方の入力ノードが電源端子31に接続され、その他
方の入力ノードが入力データI53を受けるように接続
される。エンコーダ回路C0は、最下位ビット(LS
B)の入力データI0とエンコーダ回路C1の入力デー
タI1を受けるANDゲート33を備える。エンコーダ
回路C1〜C52は、エンコーダ回路C53と同様な構
成であり、電源端子31からの信号のかわりに前段から
の信号を受けるように、すなわちエンコーダ回路C1〜
C53のNMOSトランジスタ28が直列に接続され
る。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0013
【補正方法】変更
【補正内容】
【0013】動作において、MSBの入力データI53
が「0」の場合には、NMOSトランジスタ28がオン
し、NMOSトランジスタ29がオフする。ANDゲー
ト27の入力ノードに電源電圧31が供給されるので、
出力ノードO53は、高レベルになり、さらにその高レ
ベルの信号はNMOSトランジスタ28を介して次段に
伝播される。一方、入力データI53が「1」の場合に
は、NMOSトランジスタ28がオフし、NMOSトラ
ンジスタ29がオンする。出力ノードO53は低レベル
となるとともに、隣接のエンコーダ回路C52の出力ノ
ードO52も低レベルになる。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0015
【補正方法】変更
【補正内容】
【0015】
【発明が解決しようとする課題】以上説明したように、
従来の仮数部の演算ブロックでは、演算処理に伴うオー
バフローとアンダーフローとが丸め処理部のハードウェ
ア構成を複雑しており、正規化シフタのハードウェア
量が特に多くなってしまう。この問題を解消するために
は、プライオリティ・エンコーダおよび正規化シフタの
数を減らし、算術演算部の演算結果を複数ビット毎に分
割して処理することが考えられる。しかし、そうした場
合には演算処理速度が遅くなってしまうという問題があ
る。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0020
【補正方法】変更
【補正内容】
【0020】
【実施例】 実施例1 図1は、この発明の一実施例を示す浮動小数点演算装置
の仮数部の演算処理ブロックを示す図である。ここで
は、IEEE浮動小数点演算規格の倍精度フォーマット
の演算を一例として説明する。図1において、この浮動
小数点演算装置は算術演算部1、丸め処理部Aおよび情
報落ち処理部Bを含む。算術演算部1は、図5に示した
算術演算部13と同様な構成であり、同様な動作を行な
う。情報落ち処理部Bは、3ビット単位のプライオリテ
ィ・エンコーダ2、および54×18ビット正規化シフ
を含む。丸め処理部Aは、上位3ビットの「0」チ
ェックによるLSB判定論理4、インクリメント信号生
成部5、3ビット入力のインクリメンタ6、丸め・情報
落ち判定論理7、およびセレクタ8を含む。54×3正
規化シフタ9は、丸め処理部Aおよび情報落ち処理部B
により共用されている。なお、10は算術演算の演算結
果が出力されるバスであり、11は情報落ち処理結果の
出力と丸め処理部Aの切捨信号出力で共用しているバス
であり、12は丸め処理部Aのうちで切上信号が出力さ
れるバスである。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0026
【補正方法】変更
【補正内容】
【0026】再び図1を参照して、LSB判定論理4
は、オーバフローとアンダーフローによる最下位ビット
(LSB)のシフトを演算結果の上位3ビットの「0」
のチェックにより割出して、LSB位置を判定してい
る。そして、インクリメント信号生成部5がLSB判定
論理4の判定結果を基にして、LSBに「1」を加えた
インクリメント信号を生成し、丸め判定論理に必要なL
SBより下位のビットを切出している。これにより、図
5に示した54×2正規化シフタを省略しかつ54×3
正規化シフタ16を省略することができ、従来よりもハ
ードウェア量を減少することができる。
【手続補正9】
【補正対象書類名】図面
【補正対象項目名】図6
【補正方法】変更
【補正内容】
【図6】

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 浮動小数点データの仮数部の算術演算を
    行なう算術演算部を備えた浮動小数点演算装置であっ
    て、 前記算術演算によって情報落ちが生じた演算結果に対し
    て上位ビットの「0」を、複数ビットの部分データ毎に
    計数するための計数手段と、 前記計数手段の計数結果に応答して前記情報落ちが生じ
    た演算結果を正規化するための第1の正規化手段と、 前記算術演算部による算術演算結果のオーバフローとア
    ンダーフローとを考慮して、演算結果の丸め処理を行な
    うための丸め処理手段と、 前記第1の正規化手段により正規化された演算結果また
    は前記丸め処理手段により丸め処理された演算結果を正
    規化するための第2の正規化手段と、 を備えたことを特徴とする浮動小数点演算装置。
  2. 【請求項2】 浮動小数点データの仮数部の算術演算を
    行なう算術演算部を備えた浮動小数点演算装置であっ
    て、 前記算術演算によって情報落ちが生じた演算結果に対し
    て上位ビットの「0」を、複数ビットの部分データ毎に
    計数するための計数手段と、 前記計数手段の計数結果に応答して前記情報落ちが生じ
    た演算結果を正規化するための第1の正規化手段と、 前記算術演算部による算術演算結果の上位3ビットの論
    理状態を判定して前記算術演算でのオーバフローまたは
    アンダーフローによる最下位ビットの変動を検出するた
    めの手段と、 前記検出された最下位ビットの変動に対応して「1」を
    加算し、丸め処理のための切上データを発生するための
    切上データ発生手段と、 前記第1の正規化手段により正規化された演算結果また
    は前記切上データ発生手段により発生された切上データ
    を選択するためのセレクタ手段と、 前記セレクタ手段により選択されたデータを正規化する
    ための第2の正規化手段と、 を含むことを特徴とする浮動小数点演算装置。
  3. 【請求項3】 前記切上データ発生手段は、nビットの
    仮数部と丸め処理におけるガードビットを含めて(n+
    1)ビットからなるデータ形式の演算に対して、最上位
    から(n−2)までの最下位ビットに設けられる半加算
    器と、下位の(n−1)ビットとnビットに設けられる
    全加算器とを含むことを特徴とする、前記請求項2記載
    の浮動小数点演算装置。
  4. 【請求項4】 前記切上データ発生手段は、仮数部がj
    ビット(j<nからなる単精度モード)のデータ形式に
    対応して中位の(n−1)ビットとjビットの半加算器
    を全加算器に置換えた回路構成を備えることを特徴とす
    る、前記請求項3記載の浮動小数点演算装置。
JP4212785A 1992-08-10 1992-08-10 浮動小数点演算装置 Pending JPH0659858A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4212785A JPH0659858A (ja) 1992-08-10 1992-08-10 浮動小数点演算装置
US08/098,984 US5303175A (en) 1992-08-10 1993-07-29 Floating point arithmetic unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4212785A JPH0659858A (ja) 1992-08-10 1992-08-10 浮動小数点演算装置

Publications (1)

Publication Number Publication Date
JPH0659858A true JPH0659858A (ja) 1994-03-04

Family

ID=16628347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4212785A Pending JPH0659858A (ja) 1992-08-10 1992-08-10 浮動小数点演算装置

Country Status (2)

Country Link
US (1) US5303175A (ja)
JP (1) JPH0659858A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690545B2 (en) 2014-06-10 2017-06-27 Honda Motor Co., Ltd. Floating-point calculation apparatus, program, and calculation apparatus

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2274730B (en) * 1993-01-30 1997-05-28 Motorola Inc A mantissa addition system for a floating point adder
US5430668A (en) * 1994-03-07 1995-07-04 Nec Corporation Floating point multiplier capable of easily performing a failure detection test
US5550767A (en) * 1994-10-14 1996-08-27 Ibm Corporation Method and apparatus for detecting underflow and overflow
JP3313002B2 (ja) * 1994-12-02 2002-08-12 三菱電機株式会社 浮動小数点演算装置
KR960024897A (ko) * 1994-12-31 1996-07-20 김주용 반올림 구조를 개선한 부동 소수점 산술 연산기
US5668984A (en) * 1995-02-27 1997-09-16 International Business Machines Corporation Variable stage load path and method of operation
US5646875A (en) * 1995-02-27 1997-07-08 International Business Machines Corporation Denormalization system and method of operation
US5761103A (en) * 1995-03-08 1998-06-02 Texas Instruments Incorporated Left and right justification of single precision mantissa in a double precision rounding unit
US6151615A (en) * 1997-09-02 2000-11-21 Intrinsity, Inc. Method and apparatus for formatting an intermediate result for parallel normalization and rounding technique for floating point arithmetic operations
JP2000010762A (ja) * 1998-06-19 2000-01-14 Mitsubishi Electric Corp 浮動小数点演算装置
JP2000347832A (ja) * 1999-06-09 2000-12-15 Mitsubishi Electric Corp 浮動小数点演算方式ならびに浮動小数点演算装置およびそれを備える半導体集積回路装置
US20040098439A1 (en) * 2000-02-22 2004-05-20 Bass Stephen L. Apparatus and method for sharing overflow/underflow compare hardware in a floating-point multiply-accumulate (FMAC) or floating-point adder (FADD) unit
US6963896B2 (en) * 2001-07-31 2005-11-08 Pasternak Solutions Llc Method and system to implement an improved floating point adder with integrated adding and rounding
JP2006127469A (ja) * 2004-09-28 2006-05-18 Renesas Technology Corp 演算装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0318926A (ja) * 1989-06-15 1991-01-28 Fujitsu Ltd 演算回路
JPH03269620A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd 浮動小数点数加算方法およびその回路
JPH04148227A (ja) * 1990-10-08 1992-05-21 Fujitsu Ltd 浮動小数点数加算器における正規化方式

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01180626A (ja) * 1988-01-12 1989-07-18 Mitsubishi Electric Corp 優先順位分解器
JP2518081B2 (ja) * 1990-03-08 1996-07-24 三菱電機株式会社 プライオリテイ検出回路
US5257215A (en) * 1992-03-31 1993-10-26 Intel Corporation Floating point and integer number conversions in a floating point adder

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0318926A (ja) * 1989-06-15 1991-01-28 Fujitsu Ltd 演算回路
JPH03269620A (ja) * 1990-03-20 1991-12-02 Fujitsu Ltd 浮動小数点数加算方法およびその回路
JPH04148227A (ja) * 1990-10-08 1992-05-21 Fujitsu Ltd 浮動小数点数加算器における正規化方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690545B2 (en) 2014-06-10 2017-06-27 Honda Motor Co., Ltd. Floating-point calculation apparatus, program, and calculation apparatus

Also Published As

Publication number Publication date
US5303175A (en) 1994-04-12

Similar Documents

Publication Publication Date Title
EP0233635B1 (en) Variable shift-count bidirectional shift control circuit
JPH0659858A (ja) 浮動小数点演算装置
JP2000347836A (ja) 高次基数除算器およびその方法
JPH06236252A (ja) 浮動小数点数の仮数部の先行ゼロの数を検出する先行ゼロ2段及び多段検出ユニット、浮動小数点左シフト仮数正規化ユニット及び先行ゼロの数を検出する方法
JP2618374B2 (ja) 最上位の数字の位置の検出
US6175851B1 (en) Fast adder/subtractor for signed floating point numbers
US8620983B2 (en) Leading sign digit predictor for floating point near subtractor
US20090300087A1 (en) Computation processor, information processor, and computing method
JPH05341963A (ja) 多ビット入力加算回路及びその方法
US5251164A (en) Low-power area-efficient absolute value arithmetic unit
JPH10289096A (ja) 論理回路及び浮動小数点演算装置
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
JPH09222991A (ja) 加算方法および加算器
US6665698B1 (en) High speed incrementer/decrementer
JPH07168696A (ja) 2進数加算器のオーバフロー,アンダフロー処理回路
JPH0546363A (ja) 除算器
KR100331846B1 (ko) 실수 연산기
US5657260A (en) Priority detecting counter device
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
JP3429927B2 (ja) 浮動小数点演算装置の正規化回路装置
JP4038634B2 (ja) Fod回路
US5304994A (en) Minimal delay leading one detector with result bias control
JP2555135B2 (ja) 演算回路
JP3418711B2 (ja) スティッキービット値予測回路及びこれを備えた半導体装置
JP2513354B2 (ja) 浮動小数点演算補助回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19971125