JPH0635676A - 除算回路 - Google Patents

除算回路

Info

Publication number
JPH0635676A
JPH0635676A JP4193570A JP19357092A JPH0635676A JP H0635676 A JPH0635676 A JP H0635676A JP 4193570 A JP4193570 A JP 4193570A JP 19357092 A JP19357092 A JP 19357092A JP H0635676 A JPH0635676 A JP H0635676A
Authority
JP
Japan
Prior art keywords
circuit
quotient
register
partial
round
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
JP4193570A
Other languages
English (en)
Inventor
Toshimitsu Nagata
敏光 永田
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 JP4193570A priority Critical patent/JPH0635676A/ja
Publication of JPH0635676A publication Critical patent/JPH0635676A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 本発明は,浮動小数点用の除算回路に関し,
丸め処理によるキャリーアウト信号を高速で形成するこ
とを目的とする。 【構成】 浮動小数点除算の仮数部の最終商を各々が複
数ビットからなる部分商を繰り返し複数求めることによ
って求める除算回路に,複数の部分商の各々の複数ビッ
トが全て“1”であることを検出する検出回路5と,検
出回路5での検出結果を保持するレジスタ6と,繰り返
し複数求められた部分商のうちの最後に求められた部分
商と前記レジスタ6の出力とに基づいて,ラウンドモー
ド信号に従ってキャリーイン信号を出力する判定回路7
とを備えるように構成し,キャリーイン信号を丸め処理
を行うためのラウンド回路4と指数部の演算のための加
算回路8とへ入力するように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は除算回路に関し,特に,
浮動小数点の除算演算を高速に行うのに適した除算回路
に関する。
【0002】除算演算は,乗算と加減算との組み合わせ
によって行われるが,加減算毎に符号の判定を必要とす
るため高速化に向いていない。そこで通常,ハードウェ
アにより専用の高速除算回路(除算器)が用意される。
【0003】
【従来の技術】図2は従来技術説明図であり,従来の除
算回路の要部を示す。浮動小数点演算は指数部の演算と
仮数部の演算とに分けて行われるが,図2に示す回路は
主に仮数部の演算回路の要部を示す。仮数部の演算で
は,被除数を除数で割って商(最終商)を求める。最終
商は,大きい位の側から複数ビットづつ部分的に商(部
分商)を求めることを繰り返すことによって求められ
る。
【0004】図2において,レジスタ1は複数ビット
(例えば4ビット又は8ビット)からなる部分商を格納
する。レジスタ1の部分商は,補正回路2において必要
に応じて補正(“−1”を加える補正)を施された後,
レジスタ3に大きい位の側から(図中,左側から)順次
格納される。即ち,レジスタ3に最終商が得られる。例
えば,部分商が4ビット(16進数),最終商が64ビ
ット(倍精度)である場合,部分商を16回求めること
により,最終商が求まる。
【0005】最後の部分商を求めレジスタ3に格納した
時点で,丸め処理(ラウンド処理)が必要となる。即
ち,四捨五入,切上げ,切捨て等の処理を最後の部分商
について行い,その結果を仮数部の他の桁に反映させる
必要がある。四捨五入,切上げ,切捨て等のいずれを行
うかは,ラウンドモード信号で指示される。
【0006】例えば,レジスタ3において最後の部分商
を除く全てのビットが“1”( all1)であり,ラウン
ドモード信号は四捨五入を指示している場合において,
最後の部分商が5以上であるとする。この場合,判定回
路9からキャリー信号Cin(“+1”)が出力され,ラ
ウンド回路4に入力される。ラウンド回路4は,レジス
タ3の最後の部分商を除く全てのビットをレジスタ3か
ら取り込んでいる。その内容が“all 1”であるラウン
ド回路4にキャリー“+1”を加える(インクリメント
する)のであるから,ラウンド回路4の各ビットは全て
“0”になる。これと共に,ラウンド回路4からキャリ
ーアウト信号Cout (“+1”)が出力され,指数演算
部を構成する加算回路8へ入力される。
【0007】以上により,四捨五入の結果を仮数部の各
桁に反映させると共に,必要に応じて指数部に加算し仮
数部の右桁移動を行う。この後,加算回路8の出力を指
数部とし,ラウンド回路4の出力を仮数部として,指数
部と仮数部とからなる浮動小数点除算の結果を出力す
る。
【0008】
【発明が解決しようとする課題】前述の従来技術によれ
ば,丸め処理の内容によっては,最後の部分商の値の影
響が仮数部にまで及ぶ。即ち,切捨ての場合は影響がな
いが,四捨五入,切上げ等の場合には前述の如く加算回
路8への丸め処理によるキャリーアウト信号の入力があ
る。
【0009】この加算回路8への入力を考慮しなければ
ならないため,丸め処理が除算演算の高速化の障害とな
っていた。即ち,丸め処理による遅延が,除算演算の時
間の中で大きな割合を占めていた。
【0010】この遅延が大きくなる理由は以下のとおり
である。ラウンド回路4は,最後の部分商をその一端か
ら入力し,キャリーアウト信号をその他端から出力する
構成である。このため,最後の部分商を格納するレジス
タ3の部分又は判定回路9から加算回路8までの物理的
距離が長くなってしまい,信号の伝搬に時間がかかる。
また,入力から出力までのラウンド回路4の段数が多い
ので,段数分だけ遅延が大きくなる。この傾向は最終商
の桁が大きい程又は倍精度の場合程顕著になる。更に,
加算回路8への指数入力が既にall “1”である場合に
丸め処理によるキャリーアウト信号が入力されるとオー
バフローが生ずるが,このオーバフローの検出が,前述
の遅延により遅くなってしまう。
【0011】本発明は,丸め処理によるキャリーアウト
信号を高速に形成できる浮動小数点用の除算回路を提供
することを目的とする。
【0012】
【課題を解決するための手段】図1は本発明の原理構成
図であり,本発明による除算回路の要部を示す。この除
算回路は,浮動小数点除算を行う除算回路であって,各
々が複数ビットからなる部分商を繰り返し複数求めるこ
とによってその仮数部の最終商を求めるものである。こ
の除算回路において,検出回路5は複数の部分商の各々
の複数ビットが全て“1”であることを検出する。レジ
スタ6は検出回路5での検出結果を保持する。判定回路
7は,繰り返し複数求められた部分商のうちの最後に求
められた部分商とレジスタ6の出力とに基づいて,ラウ
ンドモード信号に従ってキャリーイン信号を出力する。
キャリーイン信号は丸め処理を行うためのラウンド回路
4と指数部の演算のための加算回路8とへ入力される。
【0013】
【作用】検出回路5は,部分商が求まる毎に,その部分
商の複数ビットとそれまでに求められた部分商の各々の
複数ビットとが全て“1”であるか否かを判定しこれを
検出する。従って,最後の部分商が求められた時,レジ
スタ6には,最後の部分商を除くまで求められた複数の
部分商の各々の複数のビットが全て“1”か否かの検出
結果が格納されている。
【0014】例えば,前述と同様に,レジスタ3におい
て最後の部分商を除く全てのビットが全て“1”であ
り,ラウンドモード信号は四捨五入を指示している場合
において,最後の部分商が5以上であるとする。この場
合,判定回路7には,最後の部分商,ラウンドモード信
号,レジスタ6の出力(全てのビットが“1”であるこ
とを示す出力)が入力される。
【0015】判定回路7は,この入力に応じて直ちに,
キャリーイン信号を出力する。このキャリーイン信号を
用いてラウンド回路4において丸め処理が行われると共
に,加算回路8において指数部への加算が行われる。こ
れにより,従来の如くラウンド回路4における丸め処理
の後に指数部への加算の発生を検出するのではなく,予
め丸め処理前に判定回路7において必ず指数部への加算
が発生することを検出し,当該加算を行うことができ
る。
【0016】この結果,加算回路8はラウンド回路4の
出力ではなく判定回路7の出力を用いるので判定回路7
の近傍に設けることができるので,物理的距離が短く,
信号の伝搬も短時間でできる。また,ラウンド回路4の
段数が多いことによる遅延は無関係となるので,この点
からも当該加算を高速化できる。また加算回路8でのオ
ーバフローの検出も高速化できる。
【0017】
【実施例】図1について更に説明する。前述の如く,浮
動小数点演算は指数部の演算と仮数部の演算とに分けて
行われるが,図1に示す回路は主に仮数部の演算回路の
要部を示す。仮数部の演算では,被除数を除数で割って
最終商を求める。最終商は,大きい位の側から複数ビッ
トづつ部分的に商(部分商)を求めることを繰り返すこ
とによって求められる。本実施例では,部分商が4ビッ
ト(16進数),最終商が64ビット(倍精度)であ
り,部分商を16回求めることにより最終商を求めてい
る。
【0018】部分商は周知の手段により所定のタイミン
グで求められてレジスタ1に入力される。更に,レジス
タ1の部分商は周知の手段により補正回路2において補
正される。
【0019】例えば,ある部分商Qiが求まっている
時, 部分剰余Ri−(部分商Qi×除数D)=部分剰余Ri
+1 により部分剰余Ri+1を求める。そして,この部分剰
余Ri+1と除数Dとにより予め設けられたテーブルを
検索して,新たな部分商Qi+1を求める。更にこれを
繰り返すことにより,順次部分商を求める。なお,最初
の部分商は,被除数Nと除数Dとにより前記テーブルを
検索して求める。被除数Nは最初の部分剰余でもある。
部分商Qi×除数Dは除数倍数の発生によって得る。
【0020】また,例えばある部分商Qiを求めレジス
タ1にセットしたが,この部分商Qiを代入して上式に
より求めた部分剰余Ri+1が負の値となった時,この
部分商Qiが補正回路2により補正される。即ち,レジ
スタ1の出力を補正回路2が取り込み,これから“−
1”だけ減算する補正を行う。従って,レジスタ3には
Qi−1が入力される。これにより,部分剰余Ri+1
は正の値となる。なお,部分剰余Ri+1が補正なしで
正の値となる時,部分商Qiがそのままレジスタ3に入
力される。
【0021】補正回路2の出力は順次レジスタ3に取り
込まれ,その所定の位置に格納される。このために,図
外のカウンタが用いられる。このカウンタ出力に従っ
て,補正回路2の4ビットの出力は,レジスタ3を構成
する16個の4ビットのレジスタ30−1乃至30−1
6に,図中左側即ちレジスタ30−1(大きい桁の側)
から順に格納される。
【0022】また,補正回路2の出力(部分商Qi)
は,検出回路5へ入力される。検出回路5は,例えば5
入力ANDゲートからなり,補正回路2の4ビットの出
力とレジスタ6の1ビットの出力とを入力とする。レジ
スタ6は,例えば1ビットのラッチ回路からなる。
【0023】部分商Qi−1のall “1”によりレジス
タ6に“1”がラッチされている時に,all “1”であ
る部分商Qiが検出回路5に入力されると,検出回路5
の出力は再び“1”となり,レジスタ6に“1”がラッ
チされる。なお,最初の部分商Q1の入力の時,レジス
タ6の出力は“1”とされる。また,最後の部分商Q1
6は,レジスタ3(レジスタ30−16)から判定回路
7へ入力されるので,検出回路5には入力されない。
【0024】最後の部分商Q16を求めレジスタ3(レ
ジスタ30−16)に格納した時点で,丸め処理が必要
となる。即ち,四捨五入,切上げ,切捨て等の処理を最
後の部分商について行い,その結果を他の部分商Q1乃
至Q15に反映させる必要がある。四捨五入,切上げ,
切捨て等のいずれを行うかは,ラウンドモード信号で指
示される。
【0025】例えば,レジスタ3において最後の部分商
Q16を除く全てのビットが“1”(all 1)であり,
ラウンドモード信号は四捨五入を指示している場合にお
いて,最後の部分商Q16が5以上であるとする。
【0026】この場合,レジスタ6は,検出回路5によ
り既にそれまでのall “1”を検出して,“1”を出力
する。そこで,判定回路7は,このレジスタ6の出力と
最後の部分商Q16とに基づいてラウンドモード信号に
従って,キャリーイン信号(“+1”)を形成する。
【0027】キャリーイン信号はラウンド回路4に入力
され,その最下位ビットに加算される。ラウンド回路4
はレジスタ3の内容のうち部分商Q1乃至Q15(レジ
スタ30−1乃至30−15の内容)を保持している。
従って,ラウンド回路4のall “1”は,その最下位ビ
ットへのキャリーイン信号(“+1”)の加算により,
all “0”とされる。
【0028】また,キャリーイン信号は指数演算部を構
成する加算回路8へ入力され,その指数入力に加算され
る。ここで,この指数入力は周知の手段により求められ
て加算回路8に入力される。
【0029】例えば,除数Dが被除数Nより大きい場合
には予め被除数を右桁移動した上で,除数Dと被除数N
の指数についての減算を行う。この減算結果が前述の指
数入力として加算回路8に入力される。
【0030】以上により,四捨五入の結果を仮数部に反
映させると共に,必要に応じて指数部に加算し仮数部の
右桁移動を行う。この後,加算回路8の出力を指数部と
し,ラウンド回路4の出力を仮数部として,指数部と仮
数部とからなる浮動小数点除算の結果を出力する。な
お,この出力には,言うまでもなく,サインビットが付
加される。
【0031】また,図1と図2との比較から明らかなよ
うに,加算回路8を,ラウンド回路4のキャリーイン信
号の入力される側であって,判定回路7の近傍に設ける
ことができる。これにより,加算回路8と判定回路7と
の間のICチップ上での物理的距離(即ち配線の長さ)
を短くできるので,信号の伝搬遅延時間を短くできる。
また,加算回路8への入力はラウンド回路4を経たもの
でないので,この点でも遅延時間を短くできる。更にこ
れにより,加算回路8でのオーバフローの検出も従来よ
りも高速に行うことができる。
【0032】なお,このようにすることにより,除数D
と被除数Nの指数についての減算を行う減算回路と加算
回路8との間の物理的距離(配線の長さ)が長くなる。
しかし,この減算は1回のみであるので,部分商Qを繰
り返し求めるための時間に比べ十分に短い。従って,こ
の距離の増加による遅延の増大は問題とはならない。ま
た,減算回路からの出力は,加算回路8の直前に設けら
れたレジスタに遅延を考慮した所定のタイミングで取り
込まれ保持されるので,この点からも問題はない。
【0033】
【発明の効果】以上説明したように,本発明によれば,
浮動小数点演算を行う除算回路において,複数の部分商
の各々の複数ビットが全て“1”であることを検出して
キャリーイン信号を形成することにより,丸め処理によ
り生じる指数値の補正を最終商を求めた後ラウンド回路
を経ることなく行うことができるので,指数値の補正を
行う回路までの伝搬時間を短くでき,また,ラウンド回
路を経ることによる遅延を無くすことができる結果,丸
め処理を高速に行い,除算全体をも高速に行うことが可
能となる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】従来技術説明図である。
【符号の説明】
1 レジスタ 2 補正回路 3 レジスタ 4 ラウンド回路 5 検出回路 6 レジスタ 7 判定回路 8 加算回路 9 判定回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 浮動小数点除算を行う除算回路であっ
    て,各々が複数ビットからなる部分商を繰り返し複数求
    めることによってその仮数部の最終商を求める除算回路
    において,前記複数の部分商の各々の複数ビットが全て
    “1”であることを検出する検出回路(5)と,前記検
    出回路(5)での検出結果を保持するレジスタ(6)
    と,前記繰り返し複数求められた部分商のうちの最後に
    求められた部分商と前記レジスタ(6)の出力とに基づ
    いて,ラウンドモード信号に従ってキャリーイン信号を
    出力する判定回路(7)とを備え,前記キャリーイン信
    号を丸め処理を行うためのラウンド回路(4)と指数部
    の演算のための加算回路(8)とへ入力することを特徴
    とする除算回路。
JP4193570A 1992-07-21 1992-07-21 除算回路 Pending JPH0635676A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4193570A JPH0635676A (ja) 1992-07-21 1992-07-21 除算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4193570A JPH0635676A (ja) 1992-07-21 1992-07-21 除算回路

Publications (1)

Publication Number Publication Date
JPH0635676A true JPH0635676A (ja) 1994-02-10

Family

ID=16310215

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4193570A Pending JPH0635676A (ja) 1992-07-21 1992-07-21 除算回路

Country Status (1)

Country Link
JP (1) JPH0635676A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438566B1 (ko) * 1996-12-10 2004-08-09 엘지전자 주식회사 디지탈신호처리기의반올림처리회로
WO2007063601A1 (ja) * 2005-12-02 2007-06-07 Fujitsu Limited 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法
CN102689083A (zh) * 2012-06-07 2012-09-26 中国东方电气集团有限公司 一种用于大厚板mig/mag多层多道焊接的自主移动式机器人系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438566B1 (ko) * 1996-12-10 2004-08-09 엘지전자 주식회사 디지탈신호처리기의반올림처리회로
WO2007063601A1 (ja) * 2005-12-02 2007-06-07 Fujitsu Limited 浮動小数点数の除算または平方根演算を行う演算装置及び演算方法
US8166092B2 (en) 2005-12-02 2012-04-24 Fujitsu Limited Arithmetic device for performing division or square root operation of floating point number and arithmetic method therefor
CN102689083A (zh) * 2012-06-07 2012-09-26 中国东方电气集团有限公司 一种用于大厚板mig/mag多层多道焊接的自主移动式机器人系统

Similar Documents

Publication Publication Date Title
US5993051A (en) Combined leading one and leading zero anticipator
US5136536A (en) Floating-point ALU with parallel paths
JP2618374B2 (ja) 最上位の数字の位置の検出
JPH07281872A (ja) 効率的な浮動小数点オーバーフローおよびアンダーフロー検出システム
US8370415B2 (en) Overflow detection and clamping with parallel operand processing for fixed-point multipliers
US7143126B2 (en) Method and apparatus for implementing power of two floating point estimation
US5745397A (en) Addition overflow detection circuit
US7433911B2 (en) Data processing apparatus and method for performing floating point addition
JPH04332036A (ja) 浮動小数点乗算器とその乗算方式
US6061707A (en) Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system
US7016930B2 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
US7337202B2 (en) Shift-and-negate unit within a fused multiply-adder circuit
JPH0635676A (ja) 除算回路
US5117384A (en) Method and apparatus for exponent adder
JPH09204295A (ja) スティッキービット検出回路
JPH04350724A (ja) シフト量検出回路
KR101922462B1 (ko) 데이터 처리장치 및 이진수에 대해 시프트 기능을 수행하는 방법
US7003540B2 (en) Floating point multiplier for delimited operands
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
KR20030056012A (ko) 비동기식 덧셈 곱셈 부동 소수점 연산기
JP2002366346A (ja) プロセッサ、演算装置及び演算方法
KR0175358B1 (ko) 고속화를 위한 연산기의 상태 플래그 검출회로
JPH0367328A (ja) 浮動小数点演算装置
JPS57196351A (en) Floating point multiplying circuit
JPH07104777B2 (ja) 浮動小数点加減算装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20011016