JPH02181823A - 除算装置 - Google Patents

除算装置

Info

Publication number
JPH02181823A
JPH02181823A JP64000852A JP85289A JPH02181823A JP H02181823 A JPH02181823 A JP H02181823A JP 64000852 A JP64000852 A JP 64000852A JP 85289 A JP85289 A JP 85289A JP H02181823 A JPH02181823 A JP H02181823A
Authority
JP
Japan
Prior art keywords
reciprocal
bits
divisor
quotient
register
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
JP64000852A
Other languages
English (en)
Inventor
Masayuki Kimura
木村 真行
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 JP64000852A priority Critical patent/JPH02181823A/ja
Publication of JPH02181823A publication Critical patent/JPH02181823A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は除算装置に関し、特に除算を除数の近似逆数の
積におきかえ、引放し法を用いて実行する除算装置に関
する。
〔従来の技術〕
従来、除算を被除数と除数の積におきかえ引放し法を用
いて実行し多数桁の部分商を発生していくような情報処
理装置においては、特開昭57−41737号公報に示
されるように、オペランドの値によらず求めるべき商の
精度に応じ、所定回数の演算ループを実行し商を求めて
いる。例えば、第2図のような除算装置がある。
第2図中、17は被乗数レジスタ、18は乗数レジスタ
、28は除数レジスタ、29は除数レジスタ28に格納
されたデータの上位所定ビットからそのデータの近似逆
数を生成する逆数生成回路、さらに19は乗算回路、2
1.22はキャリーセーブアダ・−とキャリプロパゲー
トアダーからなる加算回路をあられす。ここで除算は以
下のようにして行われる。
1L1シ演算は絶対値データを用いて実行され被除数X
と除数Yの間に X  <IYIなる関係が成り立ちか
つYが2進正規形であるものとする。またYの近似逆数
r(r=(1+δ)/IYI)の精度δが1δl (2
−+3を謂しているものとする。なお除数逆数積−D・
212 ==  l y l・r・212はあらかじめ
求められているものとする。
1)被乗数レジスタ17に被除数lX11乗数レジスタ
18に除数の近似逆数rを格納しシフト/ゼロ回路20
をゼロ出力のモードとする。
2)被乗数レジスタ17と乗数レジスタ18の内容を乗
算回路19において乗算し、キャリセーブアダー21.
キャリプロパゲートアダー22においてシフト/ゼロ回
路20出力(ゼロ)と加算する。
3)  #J記キャリーセーブアダー21の出力全体の
中間結果レジスタ23に格納し、キャリフロパゲートア
ダー22出力の上位12ビツトを1回目の部分商とじて
乗数レジスタ18に格納する。同時に被乗数レジスタ1
7に除数逆数積−D・212を格納し、シフト/ゼロ回
路20を左12ビツトシフトモードとする。
4)被乗数レジスタ17と乗数レジスタ18の内容を乗
算回路19において乗算し、キャリーセーブアダー21
.  キャリプロパゲートアダー52において、シフト
/ゼロ回路20の出力(中間結果l/レジスタ3の出力
を左12ビツトシフト)と加算する。
5)@記ギヤリーグロバゲートアダー22出力の符号ビ
ットから乗数レジスタ18に格納された部分商を部分商
補正回路26において補正(符号が“1″の場合−1,
“0”の場合例もしない)シ、商レジスタ24に格納す
る。
同時に前記キャリーセーブアダー21出力全体を中間結
果レジスタ23に格納し、キャリーブロバゲートアター
22出力の上位12ビツトを次の部分商として乗数レジ
スタ18に格納する。
6)  4)、5)を所定回数(り返す。但し商レジス
タ25への部分商の格納は左から順に行う。
7)最終的な商はりザルトセレクタ27を通して出力さ
れる商レジスタ25の出力となる。
(商セレクタ26は単/倍精度の切替に用いる。) 〔発明が解決しようとする課題〕 上述した従来の除算装置はオペランドの値によらず求め
るべき商の精度に応じて所定回数の除算演算ループをく
り返さなければ商が求まらず、商を得るのに長時間を要
するという欠点がある。
本考案の課題は、上述した欠点を除去し、除算を高速に
行うことができる除算装置を提供することにある。
〔課題を解決するための手段〕
本発明によれば、除数の上位所定ビットから前記除数の
近似逆数を求め、除算を被除数と前記近似逆数の積にお
きかえ引放し法を用いて多数桁の部分商を発生してい(
除算方式であって。
前記除数のうち前記上位所定ビットより下位に”0”以
外のビットが存在するか否かを判定する除数チェック回
路と、前記除数の上位所定ビットから前記近似逆数を生
成する逆数生成回路と、前記除数チェック回路出力を入
力とし前記逆数生成回路を制御する逆数制御信号を出力
する制御回路を有し、前記除数チェック回路にお(′て
前記除数のうち前記上位所定ビットより下位に”0”以
外のビットが存在しないと判断された場合には前記逆数
生成回路において商の精度から一意に決まるビット数の
逆数を生成し該逆数と前記被除数を用いて乗算を1回だ
け実行することにより商を発生し、前記除数チェック回
路において前記除数のうち前記上位所定ビットより下位
に“0”以外のビットが存在すると判断された場合には
前記逆数生成回路において前記上位所定ビットのビット
数より一意に決まる精度の近似逆数を生成し、該近似逆
数と前記被除数とから引放し法を用いて毎回多数桁の部
分商を発生する演算ループを実行することにより商を発
生することを特徴とする除算装置が得られる。
〔実施例〕
次に本発明の実施例について図面を参照して説明する。
まず2本発明の理解を容易にするために、第6図を参照
して本発明の詳細な説明する。
ところで、従来例では除数IYIが2進正規形であると
仮定1−ていたが、実際には除算に先立ち除数及び被除
数は従来例で仮定した条件が成立するように桁合せされ
る。例えば単精度の整数データ(仮に66ビツトとする
)の除算を考える。この時オペランドは第3図(1ンに
示されるようにまず倍精度長(仮に72ビツトとする)
レジスタの左半分にセットされる。次に被除数Xolを
第3図(2)に示す如く右に35ビツトシフトしたのち
、第3図(3)に示すように除数lY。
が2進正規形になるまで両オペランドとも左シフトする
。しかるのち除数と除数の近似逆数の積を求め前述の演
算を(り返し単精度(66ビツト)の商が求まる。とこ
ろが、このような単精度整数除算で用いられる除数は比
較的小さい値であることが多い。このことは、第3図(
6)における2進正規化後の除数の有効ビットが比較的
少なく、下位側は”osが連続することを意味する。ま
た、浮動小数点データの除算においても除数を2進正規
化すると有効ビットは−」二位側に集中する。ここで前
述の演算の(り返しの最初の部分、すなわち第1回目の
部分商を求める演算に注目してみる。
RO−IXl 、r=lxl ・T7T(1+δ)  
 −(1)(δ:逆数の誤差1δl<2−”) 式(2)よりわかるように被除数IXIと逆数r(−一
)の乗算結果と真の商コイの誤差はIYI      
               IY+工δであること
がわかる。
IYI この時IXI<IYIが成立していれば+δくδ   
               ・・・(3)が成立す
る。従って1例えば単精度36ビツトの商を求める時に
は δ<256              ・・・(4)
なる逆数r(−1Yl)か生成できれば、IXl・rの
乗算を実行するだけで所要精度の商を求めることができ
、@述の演算ループを実行しなくともよいことがわかる
。除数IYIの有効ビット数が多い場合、このような逆
数を求めるのは困難であるが、除数IYIの有効ビット
が前述の逆数生成回路へ入力される上位所定ビットの範
囲に収まっていれば、このような逆数を求めることは可
能である。本発明はこの性質に着目し。
除算を確率的に高速化したものである。
次に、第1図を参照して本発明の一実施例による除算装
置について説明する。、第1図の除算装置は、第2図の
除算装置と同様に、被乗数レジスタ11除数レジスタ2
.乗数レジスタ8゜乗算回路9.シフト/ゼロ回路10
.キャリーセーブアダー11.キャリープロパゲートア
ダー12.中間結果レジスタ132部分商補正回路14
.商レジスタ15を持つ。また除数チェック回路3は以
下のチェックを行う。すなわち。
除数レジスタ2に格納されたデータのうち、逆数生成回
路5において使用される上位所定ビット以外のデータが
有効データを含むか否かをチェックし制御回路4に報告
する。ここで除数は絶対値IYIであるから有効データ
が存在するか否かは、下位側のデータがal、t″′0
“か否かということを・意味する。また制御回路4は第
1図中の各種レジスタのセット/リセット及び各種セレ
クタを制御する他、逆数生成回路5に逆数の生成方法を
指示する。逆数生成回路における逆数生成方法は以下の
とおりである。
1)除数の上位所定ビット以外に有効データが存在しな
い場合: この場合は逆数生成回路5に入力され る除数の上位所定ビットのみから真の逆数を求めつる為
、商の精度に応じたビット数の逆数を生成する。例えば
商の精度が矯精度36ビツトであれば56ビツトの逆数
を生成する。(倍精度64ビツトなら64ビツトの逆数
を生成) 2)除数の上位所定ビット以外に有効データが存在する
場合: この場合は逆数生成回路5に入力され る除数の上位所定ビットのみでは真の逆数を求められな
い為、入力された除数の上位所定ビットのビット数から
一意に決まる精度(ビット数)の近似逆数を生成する。
本発明によれば第1因の除算回路を用いて以下のように
除算が実行される。なお、従来例と同様に演算は絶対値
データを用いて実行され被除数Xと除数Yの間にIXI
<lY(なる関係が成り立ち、かつYが2進正規形であ
るものとする。また演算精度は短精度66ビツトとし乗
数レジスタ8のビット幅は18ビツトとする。ここで、
除数チェック回路2において除数の下位に有効データが
存在しないと判断された場合。
逆数生成回路5では56ビツト(精度δ<2−”)の逆
数が生成され、除数の下位に有効データが存在すると判
断された場合には第1図と同様に精度δ(2−15の近
似逆数が生成されるものとする。
(11除数レジスタ2に2進正規形の除数IYIを格納
し、除数チェック回路6において除数の下位に有効デー
タが存在するか否かをチェックする。
(2)除数チェック回路3において除数の下位側に有効
データが存在すると同断された場合には(3)、存在し
ないと判断された場合には(4)を実行する。
(3)逆数生成回路にて精度δ<2−13の近似逆数r
を求め、  −D・γj2=  yl・r・212を計
算した後従来例と同じ演算ループを実行。
(4)逆数生成回路5にて66ピツト(ビット0〜65
)の逆数を求め、被乗数レジスタ1にXI、乗数レジス
タ8に逆数セレクタ6゜乗数セレクタ7を介して逆数の
bit18−35を格納し、シフト/ゼロ回路10をゼ
ロ出力のモードとする。
(5)キャリーセーブアダー11の出力を中間結果レジ
スタ13に格納し1乗数レジスタ8に逆数のbitO−
18を格納する。同様にシフト/セロ回路10を右18
ビツトシフトのモードとする。
(6)キャリープロパゲートアダ12出力の上位66ビ
ツトをリザルトセレクタ16より出力し商を得る。
これらの演算実行のようすをタイムチャートに表わすと
第4図のようになる。なお、被乗数もしくは乗数レジス
タから乗算回路9.キャリーセーブアダー11を通って
中間結果レジスタ13に到達するまでの信号伝搬時間は
1クロツクサイクル、キャリーセーブアダー11からさ
らにキャリーグロパゲートアダ−12を通って上位12
ビツトが乗数レジスタ8に到達するまでの信号伝搬時間
は2クロツクサイクルとする。
第4図(1)は除数の下位に有効データが存在するケー
ス、(2)は存在しないケースを表わし、第4図よりわ
かるように、被乗数レジスタ1にIX乗数レジスタに逆
数r(■の場合には逆数の下位18ビツト)が格納され
てから、リザルトセレクタ出力より商が確定して出力さ
れるまでの時間は(1)が9クロツクサイクル、(2)
が3クロツクサイクルと(2)の下位に有効データが存
在しないケースの性能が非常に早い。なお、逆数生成回
路5の構成は一度に求める部分商のビット数。
商の精度等によp種々のバリエーションがある。
〔発明の効果〕
以上説明したように2本発明によれば若干の金物量の追
加により除算を確率的に高速化することができる。
【図面の簡単な説明】
第1図は本発明の一実施例による除算装置のブロック図
、第2図は従来の除算装置のプロ。 り図、第6図は本発明の詳細な説明するための図、第4
図は第1図の除算装置の実行過程を示すタイムチャート
である。 1・・・被乗数レジスタ、2・・・除数レジスタ。 3・・・除数チェック回路、4・・・制御回路、5・・
・逆数生成回路、6・・逆数セレクタ、7・・・乗数セ
レクタ、8・・・乗数レジスタ、9・・・乗算回路、1
0・・・シフト/ゼロ回路、11・・・キャリーセーブ
アダー 12・・・キャリーグロバゲートアダー16・
・・中間結果レジスタ、14・・・部分商補正回路、1
5・・・商レジスタ、16・・・リザルトセレクタ。 5:逆数生成回路 10:シフト/ゼロ回路 16:リザルトセレクタ 第3図 り二重」−よ− 22:キャリーブロパゲート7ダ− age買3E既BF6

Claims (1)

    【特許請求の範囲】
  1. 1、除数の上位所定ビットから前記除数の近似逆数を求
    め、除算を被除数と前記近似逆数の積におきかえ引放し
    法を用いて多数桁の部分商を発生していく除算装置にお
    いて、前記除数のうち前記上位所定ビットより下位に“
    0”以外のビットが存在するか否かを判定する除数チェ
    ック回路と、前記除数の上位所定ビットから前記近似逆
    数を生成する逆数生成回路と、前記除数チェック回路出
    力を入力とし前記逆数生成回路を制御する逆数制御信号
    を出力する制御回路を有し、前記除数チェック回路にお
    いて前記除数のうち前記上位所定ビットより下位に“0
    ”以外のビットが存在しないと判断された場合には前記
    逆数生成回路において商の精度から一意に決まるビット
    数の逆数を生成し該逆数と前記被除数を用いて乗算を1
    回だけ実行することにより商を発生し、前記除数チェッ
    ク回路において前記除数のうち前記上位所定ビットより
    下位に“0”以外のビットが存在すると判断された場合
    には前記逆数生成回路において前記上位所定ビットのビ
    ット数より一意に決まる精度の近似逆数を生成し該近似
    逆数と前記被除数とから引放し法を用いて毎回多数桁の
    部分商を発生する演算ループを実行することにより商を
    発生することを特徴とする除算装置。
JP64000852A 1989-01-07 1989-01-07 除算装置 Pending JPH02181823A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP64000852A JPH02181823A (ja) 1989-01-07 1989-01-07 除算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP64000852A JPH02181823A (ja) 1989-01-07 1989-01-07 除算装置

Publications (1)

Publication Number Publication Date
JPH02181823A true JPH02181823A (ja) 1990-07-16

Family

ID=11485175

Family Applications (1)

Application Number Title Priority Date Filing Date
JP64000852A Pending JPH02181823A (ja) 1989-01-07 1989-01-07 除算装置

Country Status (1)

Country Link
JP (1) JPH02181823A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04306731A (ja) * 1991-04-03 1992-10-29 Koufu Nippon Denki Kk ベクトル演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04306731A (ja) * 1991-04-03 1992-10-29 Koufu Nippon Denki Kk ベクトル演算装置

Similar Documents

Publication Publication Date Title
JP2002108606A (ja) スティッキービット生成回路及び乗算器
US5184318A (en) Rectangular array signed digit multiplier
JPH07210369A (ja) 並列加算および平均演算を行うための回路およびその方法
JP3418460B2 (ja) 倍精度除算回路および方法
JPH0542011B2 (ja)
US5144576A (en) Signed digit multiplier
US4477879A (en) Floating point processor architecture which performs square root by hardware
JP2502836B2 (ja) 除算回路の前処理装置
US5867413A (en) Fast method of floating-point multiplication and accumulation
US7174015B1 (en) Methods and apparatus for variable radix scalable modular multiplication
JP2511527B2 (ja) 浮動小数点演算器
US4173789A (en) Multiplication control system
JPH0628155A (ja) 除算方法および除算装置
Amin et al. High-radix multiplier-dividers: Theory, design, and hardware
JPH02181823A (ja) 除算装置
EP0534760A2 (en) High speed multiplier device
JP2578482B2 (ja) 浮動小数点演算器
JP3315042B2 (ja) 乗算装置
Fit-Florea et al. A digit-serial algorithm for the discrete logarithm modulo 2/sup k
US7051062B2 (en) Apparatus and method for adding multiple-bit binary-strings
US20070083584A1 (en) Integrated multiply and divide circuit
JP2664750B2 (ja) 演算装置及び演算処理方法
RU2231823C2 (ru) Устройство для контроля позиционных сумматоров по модулю
SU1059570A1 (ru) Устройство дл делени чисел с фиксированной зап той
SU928348A1 (ru) Устройство дл вычислени тригонометрических функций