JPH04283831A - 除算器 - Google Patents

除算器

Info

Publication number
JPH04283831A
JPH04283831A JP3048452A JP4845291A JPH04283831A JP H04283831 A JPH04283831 A JP H04283831A JP 3048452 A JP3048452 A JP 3048452A JP 4845291 A JP4845291 A JP 4845291A JP H04283831 A JPH04283831 A JP H04283831A
Authority
JP
Japan
Prior art keywords
quotient
divisor
dividend
division
divider
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
JP3048452A
Other languages
English (en)
Inventor
Koichi Kuroiwa
功一 黒岩
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP3048452A priority Critical patent/JPH04283831A/ja
Priority to DE69227348T priority patent/DE69227348T2/de
Priority to EP92906716A priority patent/EP0529101B1/en
Priority to PCT/JP1992/000296 priority patent/WO1992016892A1/ja
Priority to US07/946,316 priority patent/US5309383A/en
Priority to KR1019920702842A priority patent/KR950006584B1/ko
Publication of JPH04283831A publication Critical patent/JPH04283831A/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/52Multiplying; Dividing
    • G06F7/535Dividing 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/52Multiplying; Dividing
    • 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/52Multiplying; Dividing
    • G06F7/535Dividing only
    • G06F7/537Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
    • G06F7/5375Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
    • 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
    • G06F7/487Multiplying; Dividing
    • G06F7/4873Dividing

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はIEEE浮動小数点規格
等の所定の規格に準じた除算器に係り、特に低消費電力
で除算を行う除算器に関する。従来より、除算をハード
ウェアで実現する(即ち除算器の)場合、例えば加算器
或いは乗算器といった他の演算器とは異なり演算サイク
ル数が余分にかかっていた。この除算の方式については
、回復型除算、非回復型除算、それらを応用した高基数
回復型除算、高基数非回復型除算、或いは乗算器を利用
する繰り返し近似除算など様々な方式が知られている。
【0002】一般的に、多くの除算器では、除算命令を
次の(1)式の再帰的な手順の繰り返しにより実行する
。     R(j+1)=r×R(j)−qj+1×D 
     …(1)ここで、j=0、1、…、n−1は
漸化式の指数、Dは除数、qj+1は小数点から数えて
j+1番目の商デジット(但しq0は符号)、nは商の
デジット長、rは基数、r×R(j)はj+1番目の商
デジットを決定する以前の部分被除数、R(j+1)は
j+1番目の商デジットを決定した後の部分剰余、R(
0)は被除数(部分剰余の初期値)、R(n)は最終剰
余であり、商Qは次の(2)式で表される。
【0003】 Q=q0q1q2…qn−1qn      …(2)
従って、除算命令に必要な実行時間の大部分は、この再
帰的手順の繰り返しに費やされている。
【0004】
【従来の技術】高速演算が求められる中、除算もまた高
速且つ正確に行われることが望ましい。しかしながら、
除算を小面積で正確にそして高速に実現することは非常
に難しい。非回復型除算方式を例として説明する。この
方式においては、商の各桁を作成するときに使用される
商の集合として、零を含まない符号付き商集合があるこ
とに着目して、該商集合から商の各桁を選ぶよう制御さ
れる。ここで上記符号付き商集合はrを基数とすると、
一般に以下のように表される。
【0005】[−(r−1)、−(r−2)、…、−1
、+1、…、r−2、r−1] 非回復型除算方式の特徴は、演算結果の各桁を決定する
際に生じる被除数の正負逆転をそのままとして演算結果
の桁に負数を許し、被除数の符号によりこれに除数或い
は除数の倍数を加算或いは減算する、所謂引き離し法で
あるところにある。
【0006】具体例を上げると、例えば除数のk倍[即
ち、−(r−1)、−(r−2)、…、−1、+1、…
、r−2、r−1倍]を減数レジスタに置数して置き、
部分商予測器から出力される予測信号によって、上記減
数レジスタを選択して、除数のk倍を加減算することを
繰り返すことにより、商を求めていくものである。 この除算方式において、高速に且つ正確に演算しようと
するならば、基数rを大きくして演算単位となるビット
数を大きくして除算のループ数を減らす高基数非回復型
除算方式が考えられるが、それに伴う倍数発生回路の増
大、商予測回路の複雑化且つ増大化は避けられない。ま
してその除算器がプロセッサ内の1つの演算器であった
なら除算器が占めることができるチップ上のスペースに
は限りがある。
【0007】また、LSIの大規模化、クロック周波数
の高速化に伴い、そのLSIが発生する消費電力も必然
的に増大する。よって、除算を高速且つ正確そして低消
費電力で演算プロセッサ上に実現することは、上述の問
題点を考慮したそれぞれの兼ね合い(トレードオフ)が
必要である。
【0008】
【発明が解決しようとする課題】以上のように、従来の
除算器では、LSIの大規模化、クロック周波数の高速
化に伴い、そのLSIが発生する消費電力も必然的に増
大するという問題があった。本発明は、IEEE等の浮
動小数点規格に基づいた非演算パターンを検出した時に
は商生成部の繰り返しを停止させて規定パターンを出力
させ、また除算命令が実行されていない時には商生成部
の繰り返しを停止させて、除算をできるだけ低消費電力
で行う除算器を提供することを目的とする。
【0009】
【課題を解決するための手段】上記課題を解決するため
に、本発明は、図1に示す如く、除数D及び被除数Nを
入力して除算を行う浮動小数点除算器であって、前記除
数D及び被除数Nのデータから非数、ゼロ、無限大、デ
ノーマル等の所定の非演算パターンを検出して停止信号
DSTOP#Xを出力する例外及び非演算検出部3と、
除算命令が実行されている時にはクロック信号により計
数を行って該計数値に基づく制御信号DCNT0−15
#Xを出力し、除算命令が実行されていない時には計数
を停止して固定値とし前記制御信号DCNT0−15#
Xを無効とすると共に非実行信号DRUN#Xを出力す
る制御部6と、前記除数D及び被除数Nの仮数部データ
を入力して所定のアルゴリズムに基づく手順を繰り返し
行って商の仮数部データを生成する仮数除算部4とを有
して構成する。
【0010】尚、前記停止信号DSTOP#Xは、前記
仮数除算部4内のレジスタのラッチ信号を制御して、非
演算パターンを検出した時には前記仮数除算部4の繰り
返しを停止させ、規定パターンを出力させる。また、前
記仮数除算部4内の各レジスタのラッチ信号は、前記非
実行信号DRUN#X及び制御信号DCNT0−15#
Xにより制御され、除算命令が実行されていない時には
前記仮数除算部4の繰り返しを停止する。
【0011】
【作用】本発明では、図1の如く、除数D及び被除数N
のデータから非数、ゼロ、無限大、デノーマル等の(I
EEE等の浮動小数点規格に基づいた)非演算パターン
を検出した時には、仮数除算部4の繰り返しを停止させ
て規定パターンを出力させ、また除算命令が実行されて
いない時には前記仮数除算部4の繰り返しを停止させる
ようにしている。
【0012】従って、除算をできるだけ低消費電力で行
うことができる。
【0013】
【実施例】次に、本発明に係る実施例を図面に基づいて
説明する。図1は本発明の実施例に係る除算器の全体構
成図を示したものである。同図における除算器は、IE
EE規格に基づく浮動小数点除算器であり、除算前処理
及び型判定部1、指数演算部2、例外及び非演算検出部
3、仮数除算部4、丸め出力判定部5、及び制御部6か
ら構成されている。
【0014】以下、IEEE規格に基づく浮動小数点倍
精度除算を例に、各部を詳細に説明する。先ず、除算前
処理及び型判定部1の内、型判定部は入力レジスタOP
D及びOPNにそれぞれセットされた除数D及び被除数
Nの型、即ち非数、ゼロ、無限大、デノーマル等を判定
して型判定フラグレジスタEXCにセットする。また前
処理部では、除数D及び被除数Nの浮動小数点データに
ついて符号S(1ビット)、指数部EXP(11ビット
)、及び仮数部M(52ビット)を切り出し、仮数部M
の隠れビット(IEEE規格に基づき、正規化数は仮数
部Mの最上位ビットの更に上位1ビットに隠れビット1
を持つように正規化されている)を復元し、更に、被除
数Nの仮数部の絶対値が除数Dの仮数部の絶対値よりも
小さくなるように設定する。この前処理部の処理を図2
に示す概念図を用いて説明する。先ず、入力レジスタO
PD及びOPNにセットされた除数D及び被除数Nのそ
れぞれの仮数部MD及びMNを切り出し、隠れビットを
復元する。次に、これら2つのデータを53ビット比較
器11で比較し、被除数Nの仮数部MNの絶対値が除数
Dの仮数部MDの絶対値よりも小さい時そのままとし、
また被除数Nの仮数部MNの絶対値が除数Dの仮数部M
Dの絶対値より大きい時には、被除数Nの仮数部MNを
シフタ12で右に1ビットシフトする(1桁下げる)と
共に被除数Nの指数部EXPNを+1加算器13でイン
クリメントする。尚、上記前処理後の被除数Nの指数部
EXPNはレジスタEPNに、仮数部MNは部分剰余レ
ジスタPRに、また除数Dの指数部EXPDはレジスタ
EPDに、仮数部MDは除数レジスタDSRに、それぞ
れセットされる。
【0015】次に、指数演算部2では指数値の減算とバ
イアス値の加算を行う。つまり、図3の指数演算部2の
構成図に示すように、除数Dの指数部EXPDの補数値
と被除数Nの指数部EXPNの値とIEEE規格による
バイアス値の3つの値を3入力高速加算器22で加算し
て、結果をレジスタEXPにセットする。また、例外及
び非演算検出部3では、例外判定と非演算の検出を行う
。例外判定としてはゼロ除算例外やインバリッドオペレ
ーション例外等があり、除数D及び被除数Nのデータか
ら判定される。また非演算パターンとしては、IEEE
規格に基づき下記の組み合わせがあり、除数D及び被除
数Nのデータから下記のパターンを判定し、下記組み合
わせの論理和により停止信号DSTOP#Xを出力して
規格パターンを出力するように制御する。
【0016】 SNaN÷SNaN  QNaN÷SNaN  INF
 ÷SNaN  NORM÷SNaNSNaN÷QNa
N  QNaN÷QNaN  INF ÷QNaN  
NORM÷QNaNSNaN÷INF   QNaN÷
INF   INF ÷INF   NORM÷INF
SNaN÷ZERO  QNaN÷ZERO  INF
 ÷ZERO  NORM÷ZEROSNaN÷NOR
M  QNaN÷NORM  INF ÷NORM  
NORM÷NORMここで、SNaN:Signali
ng Not A NumberQNaN:Quiet
 Not A NumberINF :無限大 ZERO:ゼロ NORM:正規化数              (I
EEE754−1985規格より) 尚、停止信号DSTOP#Xは、図4のタイムチャート
に示すように、除数D及び被除数Nのデータから判定し
てアサートされて後、1つの演算終了でネゲートされる
までアクティブである。
【0017】次に仮数除算部4では、基数を16とした
非回復型除算法による除算を行う。仮数除算部4は、除
数倍数発生部31、加減算部32、商予測部33、及び
商補正部34から構成されており、更に詳細な構成は図
5に示すとおりである。本実施例では、基数が16であ
るので、−15×除数、−14×除数、…、−1×除数
、1×除数、…、15×除数の30通りの除数倍数デー
タが必要であり、除数倍数発生部31で生成する。除数
倍数発生部31は、シフタと補数回路で構成されて除数
レジスタDSRから除数を入力して±1倍の除数を発生
する除数倍数発生器SR1、±2/±4倍の除数を発生
する除数倍数発生器SR2、及び±8/±16倍の除数
を発生する除数倍数発生器SR3と、それぞれの除数倍
数を選択する3:1セレクタ41、5:1セレクタ42
、及び5:1セレクタ43とを有して、商予測部33か
ら出力される商予測信号SQPにより何れかの除数倍数
を選択して加減算部32に出力する。尚、+n倍はシフ
トのみで達成し、−n倍は補数をとってシフトすること
で達成する。
【0018】加減算部32は、4入力桁上げ保存加算器
CSAと、CSAから出力されるキャリーC及び和Sを
加算する桁上げ伝搬加算器CPAとを有して、部分除数
レジスタPRの内容からセレクタ41、42、及び43
で選択された3値の和だけ減じて次の繰り返しにおける
部分剰余とする。商予測部33は、部分商予測回路QP
Dと、部分商発生器QPGとで構成され、デジット毎に
除数Dと部分剰余から部分商を予測して予測商レジスタ
QPにセットすると共に商予測信号SQPを出力する。
【0019】商補正部34は、商発生器QGを有して、
該繰り返しにおける部分剰余の符号と前の繰り返しにお
ける部分剰余の符号とから商予測部33で生成された予
測部分商を補正して、部分商レジスタQにセットする。 本実施例では、除算の繰り返し回数は隠れビットを含め
た仮数部データ53ビットに対して15回となり、扱う
数値はIEEE形式の倍精度浮動小数点データであるの
で、商は56ビット(4ビット×14デジット)をもと
めることになる。この除算動作を下記のパラメータ及び
関数を用いて定式化すると次のようになる。
【0020】パラメータ;被除数仮数部:NM除数仮数
部  :DM 部分剰余    :PR(i) 予測部分商  :QP(i) 部分商      :Q(i) 関数;Predict (PR(i),DM):部分剰
余PR(i)と除数仮数部DMから予測テーブルを参照
して予測部分商QP(i)を求める 初期化; PR(0)=NM QP(0)=0 1回目の繰り返し; PR(1)=PR(0)−QP(0)×DMQP(1)
=Predict (PR(1),DM)2回目の繰り
返し; PR(2)=PR(1)−QP(1)×DMQP(2)
=Predict (PR(2),DM)Q(1)=Q
P(1)modified by PR(1)及びPR
(2)の符号ビット 14回目の繰り返し; PR(14)=PR(13)−QP(13)×DMQP
(14)=Predict (PR(14),DM)Q
(13)=QP(13)modified by PR
(13)及びPR(14)の符号ビット 15回目の繰り返し; PR(15)=PR(14)−QP(14)×DMQ(
14)=QP(14)modified by PR(
14)及びPR(15)の符号ビット以上の操作により
、商は図6のように求まり、商レジスタQにセットされ
、また最終部分剰余PR(15)が剰余レジスタREM
に残る。
【0021】前述の前処理で隠れビットを付加し、被除
数Nの仮数部MNの絶対値が除数Dの仮数部MDの絶対
値より小さくなるように操作してあり、部分商Q(1)
の数値は必ず8H〜FH間での値となるので、商Qの1
1ビット目の隠れビットは1になり、求まった数値をそ
のまま結果とすることができる。従って、正規化のため
に左シフトする必要はなく、最終的な商の仮数部として
使用するビットは、部分商Q(1)の1ビット目から部
分商Q(14)の0ビット目までとなる。また、部分商
Q(14)の1ビット目がガードビット(Guard 
bit )G、部分商Q(14)の2ビット目がラウン
ドビット(Roundbit )R、部分商Q(14)
の3ビット目と部分剰余PR(15)の全ビットの論理
和がスティッキィビット(Sticky bit)Sと
なる。
【0022】次に丸め出力判定部5では、IEEE規格
に基づいた丸め処理を行う。ここでは、ガードビットG
、ラウンドビットR、及びスティッキィビットSに基づ
いて、求めた商に1加えるか或いは切り捨てるかを決定
し、また無効演算の場合はそれに応じた規定パターンを
、例外が生じた場合にもそれに応じた規定パターンを発
生させ、出力値を制御する。更には、IEEE規格に応
じた例外フラグも発生させる。
【0023】図7はこの丸め出力判定部5を説明する構
成図である。先ず、仮数除算部4の演算結果である商レ
ジスタQの内容(部分商Q(1)〜Q(14))からの
部分商Q(14)の3ビット目と、剰余レジスタREM
の内容である部分剰余PR(15)の全ビットの論理和
をとりスティッキィビットSを生成し、ガードビットG
、ラウンドビットR、LSB、符号と共にインクリメン
ト/切り捨て制御部51に入力する。インクリメント/
切り捨て制御部51では、丸めのモード(切り捨て、切
り上げ等)を示す丸めモード信号に従って、インクリメ
ントか或いは切り捨てかを判断して、仮数除算部4の演
算結果そのままとした商Qの仮数部MQデータと、商Q
の仮数部MQに1加えたデータとをセレクタ52で選択
する。尚、2つのデータは上記判断処理の間に並行して
処理される。また、商Qの符号SQは、除数D及び被除
数Nの符号の排他的論理和が取られて生成される。結果
として最終的な商Qの仮数部MQが決定し、商Qの符号
SQ、レジスタEXP内の商Qの指数部EXPQと共に
合わせて出力レジスタOPOに商Qとしてセットされる
【0024】以上説明した各部の処理を図8に示すタイ
ムチャートを使用してまとめる。先ず、入力データ10
(除数D及び被除数N)がマシンサイクルM1(クロッ
ク0)で入力レジスタOPD、OPNにそれぞれラッチ
される。マシンサイクルM2で入力データ10に対して
除算前処理及び型判定部1で前処理を行い、その結果を
指数演算部2の入力レジスタEPD及びEPN、並びに
仮数除算部4の入力レジスタ、即ち除数レジスタDSR
及び部分剰余レジスタPRにラッチする。マシンサイク
ルM3から、仮数除算部4で除数レジスタDSR及び部
分剰余レジスタPRにラッチされた内容に対して除算の
繰り返し処理、即ち部分剰余PR(i)と部分商Q(i
)を繰り返し求めていく処理を開始する。15回の繰り
返しの後、マシンサイクルM17で繰り返し処理を終了
し、演算結果である商の仮数部QMが格納されている商
レジスタQの内容と、最終部分剰余PR(15)が格納
されている剰余レジスタREMの内容と、商の指数部E
XPQが格納されている指数レジスタEXPの内容と、
例外フラグ等の情報が格納された例外レジスタEXNの
内容とが丸め出力判定部5に入力されて丸め処理が行わ
れ、マシンサイクルM18で最終結果が出力レジスタO
POに格納されると共に、該出力データに対応する例外
フラグ情報が例外レジスタEXNにラッチされる。
【0025】次に制御部6では、除算命令が実行されて
いる時にはクロック信号によりカウンタ62で計数を行
って該計数値に基づく制御信号DCNT0−15#Xを
出力し、除算命令が実行されていない時には計数を停止
して固定値とし前記制御信号DCNT0−15#Xを無
効とすると共に非実行信号DRUN#Xを出力する。制
御部6の構成図を図9(a)に、非実行信号DRUN#
X及び制御信号DCNT0−15#Xのタイムチャート
を図9(b)に示す。図9(b)に示すように、除算ス
タート信号START#Xがアクティブ(Lレベル)に
なるとクロックの立ち上がりエッジでそれを検出し、非
実行信号DRUN#Xがアクティブ(Lレベル)として
出力される。またこのときカウンタ62が計数を開始し
て、カウンタ62の計数値に応じて制御信号DCNT0
−15#Xをアクティブとして出力する。また、除算終
了信号END#Xがアクティブ(Lレベル)になるとク
ロックの立ち上がりエッジでそれを検出し、制御信号D
CACT#Xをネゲートしてカウンタ62の計数値を固
定値にして、各制御信号DCNT0−15#Xをネゲー
トする。
【0026】次に、仮数除算部4において、停止信号D
STOP#X、非実行信号DRUN#X、及び制御信号
DCNT0−15#Xが、仮数部の除算処理をどのよう
に制御していくかを説明する。先ず、例外及び非演算検
出部3において、仮数部の演算を行うまでもなく商Qの
仮数部MQの出力パターンを認識できた場合、即ち前述
のIEEE規格に基づく非演算パターンが検出された場
合には、停止信号DSTOP#Xにより部分剰余レジス
タPR及び予測商レジスタQPのラッチ信号をネガティ
ブにし、仮数除算部4の回路をスイッチングさせないよ
うにする。つまり、図1或いは図5に示すように、停止
信号DSTOP#Xは、部分剰余レジスタPR及び予測
商レジスタQPのイネーブル信号として入力され、アク
ティブの時にはデータのラッチを行わない。
【0027】次に、除算器がアサートされない時、即ち
除算命令が実行されない時にも、非実行信号DRUN#
Xにより部分剰余レジスタPR及び予測商レジスタQP
のラッチ信号を無効とし、仮数除算部4の回路を動作さ
せず、回路が発生する消費電力を抑えるようにする。つ
まり、図1或いは図5に示すように、停止信号DSTO
P#Xは、部分剰余レジスタPR及び予測商レジスタQ
Pのイネーブル信号として入力され、アクティブの時に
はデータのラッチを行わない。
【0028】更に、図8のタイムチャートからも分かる
ように、除数レジスタDSR、指数レジスタEXP、型
判定フラグレジスタEXC、例外フラグレジスタEXD
、商レジスタQ、剰余レジスタREM、出力レジスタO
PO、例外レジスタEXNの各レジスタは、除算開始か
らスタートさせたカウンタ62の値によってラッチする
よう制御されるが、これらレジスタも、即ち除算命令が
実行されない時には、制御信号DCACT#Xをネゲー
トしてカウンタ62の計数値を固定値にして、各制御信
号DCNT0−15#Xをネゲートして上記各レジスタ
のラッチ信号を無効とし、仮数除算部4の回路を動作さ
せず、回路が発生する消費電力を抑えるようにする。 つまり、図1或いは図5に示すように、除数レジスタD
SR及び型判定フラグレジスタEXCは制御信号DCN
T1#X、指数レジスタEXP及び例外フラグレジスタ
EXDは制御信号DCNT2#X、商レジスタQは制御
信号DCNT0、3−15#X、剰余レジスタREMは
制御信号DCNT0#X、出力レジスタOPO及び例外
レジスタEXNは制御信号DCNT1#Xがそれぞれイ
ネーブル信号として入力され、ネゲートの時にはデータ
のラッチを行わない。
【0029】
【発明の効果】以上説明したように、本発明によれば、
除数及び被除数のデータから非数、ゼロ、無限大、デノ
ーマル等の(IEEE等の浮動小数点規格に基づいた)
非演算パターンを検出した時には、仮数部の除算処理の
繰り返しを停止させて規定パターンを出力させ、また除
算命令が実行されていない時には仮数部の除算処理の繰
り返しを停止させるようにしたことにより、除算をでき
るだけ低消費電力で行いうる除算器を提供することがで
きる。
【図面の簡単な説明】
【図1】本発明の実施例に係る除算器の全体構成図であ
る。
【図2】本発明の除算器の前処理部における処理を説明
する概念図である。
【図3】本発明の除算器の指数演算部の構成図である。
【図4】停止信号DSTOP#Xのタイムチャートであ
る。
【図5】本発明の除算器の仮数除算部の構成図である。
【図6】本発明の除算器における商及び商レジスタのビ
ット構成を説明する図である。
【図7】本発明の除算器の丸め出力判定部の構成図であ
る。
【図8】本発明の除算器における各レジスタのタイムチ
ャートである。
【図9】図9(a)は本発明の除算器の制御部の構成図
、図9(b)は非実行信号DRUN#X及び制御信号D
CNT0−15#Xのタイムチャートである。
【符号の説明】
1…除算前処理及び型判定部 2…指数演算部 3…例外及び非演算検出部 4…仮数除算部 5…丸め出力判定部 6…制御部 31…除数倍数発生部 32…加減算部 33…商予測部 34…商補正部 41、42、43…セレクタ CSA…4入力桁上げ保存加算器 CPA…桁上げ伝搬加算器 QPD…部分商予測回路 QPG…部分商発生器 QG…商発生器 OPD…入力レジスタ(除数) OPN…入力レジスタ(被除数) EPD…レジスタ(除数の指数部) EPN…レジスタ(被除数の指数部) EXC…型判定フラグレジスタ PR…部分剰余レジスタ DSR…除数レジスタ EXP…指数レジスタ EXD…例外フラグレジスタ REM…剰余レジスタ QP…予測商レジスタ Q…商レジスタ OPO…出力レジスタ EXN…例外レジスタ DSTOP#X…停止信号 DRUN#X…非実行信号 DCNT0−15#X…制御信号

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】  除数(D)及び被除数(N)を入力し
    て除算を行う除算器であって、前記除数(D)及び被除
    数(N)のデータから非数、ゼロ、無限大等の所定の非
    演算パターンを検出して停止信号(DSTOP#X)を
    出力する例外及び非演算検出部(3)と、前記除数(D
    )及び被除数(N)を入力して所定のアルゴリズムに基
    づく手順を繰り返し行って商を生成する商生成部(4)
    とを有し、前記停止信号(DSTOP#X)は、前記商
    生成部(4)内の各レジスタのラッチ信号を制御して、
    非演算パターンを検出した時には前記商生成部(4)の
    繰り返しを停止させ、規定パターンを出力させることを
    特徴とする除算器。
  2. 【請求項2】  除数(D)及び被除数(N)を入力し
    て除算を行う浮動小数点除算器であって、前記除数(D
    )及び被除数(N)のデータから非数、ゼロ、無限大、
    デノーマル等の所定の非演算パターンを検出して停止信
    号(DSTOP#X)を出力する例外非演算検出部(3
    )と、前記除数(D)及び被除数(N)の仮数部データ
    を入力して所定のアルゴリズムに基づく手順を繰り返し
    行って商の仮数部データを生成する仮数除算部(4)と
    を有し、前記停止信号(DSTOP#X)は、前記仮数
    除算部(4)内のレジスタのラッチ信号を制御して、非
    演算パターンを検出した時には前記仮数除算部(4)の
    繰り返しを停止させ、規定パターンを出力させることを
    特徴とする浮動小数点除算器。
  3. 【請求項3】  除数(D)及び被除数(N)を入力し
    て除算を行う除算器であって、除算命令が実行されてい
    ない時に非実行信号(DRUN#X)を出力する制御部
    と、前記除数(D)及び被除数(N)を入力して所定の
    アルゴリズムに基づく手順を繰り返し行って商を生成す
    る商生成部(4)とを有し、前記非実行信号(DRUN
    #X)は、前記商生成部(4)内の各レジスタのラッチ
    信号を制御して、除算命令が実行されていない時には前
    記商生成部(4)の繰り返しを停止させることを特徴と
    する除算器。
  4. 【請求項4】  除数(D)及び被除数(N)を入力し
    て除算を行う除算器であって、除算命令が実行されてい
    る時にはクロック信号により計数を行って該計数値に基
    づく制御信号(DCNT0−15#X)を出力し、除算
    命令が実行されていない時には計数を停止して固定値と
    し前記制御信号(DCNT0−15#X)を無効とする
    制御部(6)と、前記除数(D)及び被除数(N)を入
    力して所定のアルゴリズムに基づく手順を繰り返し行っ
    て商を生成する商生成部(4)とを有し、前記商生成部
    (4)内の各レジスタのラッチ信号は、前記制御信号(
    DCNT0−15#X)により制御され、除算命令が実
    行されていない時には前記商生成部(4)の繰り返しを
    停止することを特徴とする除算器。
JP3048452A 1991-03-13 1991-03-13 除算器 Pending JPH04283831A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP3048452A JPH04283831A (ja) 1991-03-13 1991-03-13 除算器
DE69227348T DE69227348T2 (de) 1991-03-13 1992-03-12 DIVIDIERSCHALTUNG FüR GLEITKOMMAZAHLEN
EP92906716A EP0529101B1 (en) 1991-03-13 1992-03-12 Floating-point dividing circuit
PCT/JP1992/000296 WO1992016892A1 (en) 1991-03-13 1992-03-12 Floating-point dividing circuit
US07/946,316 US5309383A (en) 1991-03-13 1992-03-12 Floating-point division circuit
KR1019920702842A KR950006584B1 (ko) 1991-03-13 1992-03-12 부동소수점 제산회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3048452A JPH04283831A (ja) 1991-03-13 1991-03-13 除算器

Publications (1)

Publication Number Publication Date
JPH04283831A true JPH04283831A (ja) 1992-10-08

Family

ID=12803744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3048452A Pending JPH04283831A (ja) 1991-03-13 1991-03-13 除算器

Country Status (6)

Country Link
US (1) US5309383A (ja)
EP (1) EP0529101B1 (ja)
JP (1) JPH04283831A (ja)
KR (1) KR950006584B1 (ja)
DE (1) DE69227348T2 (ja)
WO (1) WO1992016892A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005229312A (ja) * 2004-02-12 2005-08-25 Daihen Corp 適応型ディジタルフィルタ

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2803506B2 (ja) * 1992-12-25 1998-09-24 三菱電機株式会社 除算器
US5404324A (en) * 1993-11-01 1995-04-04 Hewlett-Packard Company Methods and apparatus for performing division and square root computations in a computer
US5553015A (en) * 1994-04-15 1996-09-03 International Business Machines Corporation Efficient floating point overflow and underflow detection system
GB2296350B (en) * 1994-12-21 1999-10-06 Advanced Risc Mach Ltd Data processing divider
US5757682A (en) * 1995-03-31 1998-05-26 International Business Machines Corporation Parallel calculation of exponent and sticky bit during normalization
US5687106A (en) * 1995-03-31 1997-11-11 International Business Machines Corporation Implementation of binary floating point using hexadecimal floating point unit
US5771366A (en) * 1995-06-09 1998-06-23 International Business Machines Corporation Method and system for interchanging operands during complex instruction execution in a data processing system
USH1993H1 (en) * 1997-06-25 2001-09-04 Sun Microsystems, Inc. Floating-point division and squareroot circuit with early determination of resultant exponent
US20050289208A1 (en) * 2004-06-23 2005-12-29 Harrison John R Methods and apparatus for determining quotients
US20060179092A1 (en) * 2005-02-10 2006-08-10 Schmookler Martin S System and method for executing fixed point divide operations using a floating point multiply-add pipeline
US8140608B1 (en) * 2007-05-31 2012-03-20 Nvidia Corporation Pipelined integer division using floating-point reciprocal
US9983850B2 (en) * 2015-07-13 2018-05-29 Samsung Electronics Co., Ltd. Shared hardware integer/floating point divider and square root logic unit and associated methods
US10353671B2 (en) * 2016-01-13 2019-07-16 Arm Limited Circuitry and method for performing division
US10359995B2 (en) 2016-04-29 2019-07-23 Texas Instruments Incorporated Architecture and instruction set to support integer division
US10635395B2 (en) * 2016-06-30 2020-04-28 Texas Instruments Incorporated Architecture and instruction set to support interruptible floating point division
KR20240033565A (ko) * 2022-09-05 2024-03-12 리벨리온 주식회사 뉴럴 프로세싱 장치, 그에 포함되는 프로세싱 엘리먼트 및 뉴럴 프로세싱 장치의 다양한 포맷 연산 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5979350A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 浮動小数点演算装置
JPS62145418A (ja) * 1985-12-20 1987-06-29 Nec Corp Aluのスタンバイ制御方式
JPH02138620A (ja) * 1980-02-13 1990-05-28 Intel Corp 数値量を計算する方法および数値データ処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57169849A (en) * 1981-04-11 1982-10-19 Japan Radio Co Ltd Division circuit
US4507676A (en) * 1982-10-28 1985-03-26 Rca Corporation Digital matrixing system
CA1231455A (en) * 1984-04-09 1988-01-12 Masayuki Ikeda Nonrestoring divider
JPS6145354A (ja) * 1984-08-10 1986-03-05 Nec Corp マイクロプロセツサ
JPH0789346B2 (ja) * 1985-07-05 1995-09-27 日本電気株式会社 Dmaコントローラ
US4760550A (en) * 1986-09-11 1988-07-26 Amdahl Corporation Saving cycles in floating point division
US4999801A (en) * 1988-07-15 1991-03-12 Fujitsu Limited Floating point operation unit in division and square root operations
DE68927398T2 (de) * 1988-08-29 1997-05-28 Nec Corp Digitale Divisionsschaltung mit einem N/2-Bit-Subtrahierer für N-Subtraktionen
US4996660A (en) * 1989-04-17 1991-02-26 International Business Machines Corporation Selection of divisor multipliers in a floating point divide circuit
JPH0391028A (ja) * 1989-09-04 1991-04-16 Mitsubishi Electric Corp パイプライン処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02138620A (ja) * 1980-02-13 1990-05-28 Intel Corp 数値量を計算する方法および数値データ処理装置
JPS5979350A (ja) * 1982-10-29 1984-05-08 Toshiba Corp 浮動小数点演算装置
JPS62145418A (ja) * 1985-12-20 1987-06-29 Nec Corp Aluのスタンバイ制御方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005229312A (ja) * 2004-02-12 2005-08-25 Daihen Corp 適応型ディジタルフィルタ

Also Published As

Publication number Publication date
US5309383A (en) 1994-05-03
WO1992016892A1 (en) 1992-10-01
EP0529101A1 (en) 1993-03-03
EP0529101B1 (en) 1998-10-21
KR950006584B1 (ko) 1995-06-19
DE69227348T2 (de) 1999-03-18
DE69227348D1 (de) 1998-11-26
KR930700905A (ko) 1993-03-16
EP0529101A4 (en) 1993-10-20

Similar Documents

Publication Publication Date Title
US6529928B1 (en) Floating-point adder performing floating-point and integer operations
JPH04283831A (ja) 除算器
EP0351242B1 (en) Floating point arithmetic units
CN107769791B (zh) 用于定点到浮点的转换的装置和方法及2的负幂检测器
JP2000259394A (ja) 浮動小数点乗算器
JP2002108606A (ja) スティッキービット生成回路及び乗算器
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
EP0356153B1 (en) Radix-2**n divider method and apparatus using overlapped quotient bit selection and concurrent quotient rounding and correction
KR100203468B1 (ko) 부동소수점수를 위한 산술연산장치
JP4858794B2 (ja) 浮動小数点除算器、及びそれを用いた情報処理装置
WO1997045787A1 (en) A novel division algorithm for floating point or integer numbers
JP4273071B2 (ja) 除算・開平演算器
US7552165B2 (en) Method and system to implement an improved floating point adder with integrated adding and rounding
US6598065B1 (en) Method for achieving correctly rounded quotients in algorithms based on fused multiply-accumulate without requiring the intermediate calculation of a correctly rounded reciprocal
EP0394162A2 (en) Two-bit floating point divide circuit with single carry-save adder
JPH0687218B2 (ja) 浮動小数点数演算処理装置及び除数倍数生成装置
JP2857505B2 (ja) 除算装置
EP0543024B1 (en) Divider
JPH04355827A (ja) 開平演算装置
EP0377992A2 (en) Floating point division method and apparatus
JPH04172526A (ja) 浮動小数点除算器
JPH086766A (ja) 正弦余弦演算装置
JP3233432B2 (ja) 乗算器
KR20060078258A (ko) 가변 진법 나눗셈 연산기
JP2710412B2 (ja) 乗除算回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19960709