JPS6155691B2 - - Google Patents

Info

Publication number
JPS6155691B2
JPS6155691B2 JP55115532A JP11553280A JPS6155691B2 JP S6155691 B2 JPS6155691 B2 JP S6155691B2 JP 55115532 A JP55115532 A JP 55115532A JP 11553280 A JP11553280 A JP 11553280A JP S6155691 B2 JPS6155691 B2 JP S6155691B2
Authority
JP
Japan
Prior art keywords
register
quotient
divisor
multiplier
value
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.)
Expired
Application number
JP55115532A
Other languages
English (en)
Other versions
JPS5741737A (en
Inventor
Hajime Matsumoto
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
Nippon Electric Co 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP55115532A priority Critical patent/JPS5741737A/ja
Publication of JPS5741737A publication Critical patent/JPS5741737A/ja
Publication of JPS6155691B2 publication Critical patent/JPS6155691B2/ja
Granted 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

Description

【発明の詳細な説明】
本発明はデータ処理装置におけるデータ演算用
除算装置に関する。 従来の大型計算機の除算方式の1つに引放し方
式がある。 この方式においては、被除数Nと除数Dとの除
算は1番目の部分剰余をR1とするときi+1番
目の部分剰余はRiが正のときRi+1=2Ri−D、
Riが負のときはRi+1=2Ri+Dとし、加減算を
n回繰返して2進nビツトの商を求める方式であ
り、1回の繰返しで複数ビツトの商を得ることが
できないため性能上の欠点がある。 従来の除算方式の他の1つにRi−2DとRi+2D
との符号を調べRi−2DとRi+2Dとの符号により
Ri+1として4(Ri-3D)、4(Ri-D)、4(Ri+D)およ
び4(Ri+3D)を選択し、1回の繰返しで商を2ビ
ツトずつ求める方法があるが、1回の繰返しで求
める商のビツト数が多くなるとRi±RD型の比較
回路が多数必要となるため、実装上の欠点があ
る。 従来の除算方式の他の1つにDとNとにRk
かけていきD×R1×R2×………Rkを1に収束さ
せることによりN×R1×R2×………×Rkを商に
収束させる方式があるが、商の最後の1ビツトが
他の方式と異るという欠点がある。 従来の除算方式の他の1つに部分剰余Riと除
数Dとの各々の上位ビツトをデコードして商をも
とめる方式があるが、一回の繰返しで求める商の
ビツト数が多いと、デコーダが複雑になり、実装
上の欠点がある。 本発明の目的は簡単な構成を有し1回の繰返し
で複数ビツトの商を誤差なく求めるようにした除
算装置を提供することにある。 本発明の装置は、被除数と除数とから商をg進
法で求める除算装置において、 除数の近似逆数を求める手段と、 前記除数と前記近似逆数との積から補正除数を
求める除数補正手段と、 前記被除数に前記近似逆数を乗じて1番目の部
分剰余R1を求める乗算手段と、 i番目の部分剰余Riを四捨五入して仮商Piを求
める丸め手段と、 前記i番目の部分剰余Riから前記補正除数と
i番目の仮商Piとの積を減じた差をg倍してi+
1番目の部分剰余Ri+1を求める部分除算手段
と、 前記部分剰余Ri+1の正負に応じて仮商Piから
0または1を減じた値の法gの主値を商の上位か
らi桁目の商ビツトとする商補正手段とも含む。 本発明は次のような原理により成り立つてい
る。 説明を簡単にするため、正の被除数Nと正の除
数Dについての除算で0(N/D)<g(gは
2以上の整数)であるように、NとDとが予め正
規化されているものとする。このとき商Qは式(1)
で表わされる。 Q=N/D<g (1) Qをg進数で表わし、上位桁から順にQ1
Q2、………とするとき次の式(2)が成立つ。 Dの逆数の近似値Tを式(3)が成立するように選
前記(1)の右辺にT/T=1を乗じR1=N・
T、C=D・Tとおくと式(4)が得られる。 Q=N×T/D×T=R/C }(4) 式(4)の両辺にC=D・T=1+δを乗じて式(5)
を得る。 R1=Q(1+δ) (5) R1を四捨五入した値をP1とすると式(6)が成り
たつ。 |R1−R1|≦1/2 (6) 式(1)と式(3)により |Q・δ|<1/2 (7) 式(5)(6)(7)より |Q−P1|=|R1−Q・δ−P1|≦|R1 −P1|+|Q・δ|<1/2+1/2=1 (8) これより、R2=(R1−P1・C)・gを計算する
と次式が得られる。 |R2|<(1+δ)・g (9) 〓R2=(R1−P1・C)・g=(Q・C −P1・C)g=(Q−P1)・C・g=(Q −P1)・(1+δ)・g ここでR2=Q′2・C、Q′1=Qとおけば 同様にしてRi、Pi、Q′iを式(11)で定義する。 Pi=〔Ri+1/2〕G (11−1) 〔X〕Gはガウス記号でxより小さい整数の最大
値を表す。 Ri=(Ri-1−Pi-1・C)g (11−2) Ri-1=Q′i-1・C (11−3) Q′i=(Q′i-1−Pi-1)・g (11−4) 又は Pi-1=Q′i-1−Qi・g-1 (11−5) |Q′i|<g (11−6) (i=2、3、4、………) 式(11−5)から式(12)を得る。 次にQiを次のように求める。 このとき式(14)が常に成り立つ。 0Qig-1 (14) (証明) 式(11−6)、(11−3)、(3)およびC=D・T
から −g−1/2<Ri <g+1/2 式(11−1)より −gPig (i) Pi=gのときは式(11−6)、(11−4)から
Q′i-1<0であり、Cが正であるので式(11−
3)からRi+1<0となるため、Qiは式(13)
で(i)の場合は該当せず(ii)の場合に該当するので Qi=Pi-1g-1 (ii) Pi=−gのときは式(11−6)、(11−4)か
らQ′i+1>0でありCが正であるので式(11−
3)からRi+1>0となるためQiは式(13)で
(v)の場合に該当せず(iv)の場合に該当するので Qi=Pi+g=−g+g=0 (iii) 0<Pi<gのときは式(13)の(i)、(ii)に該当
し 0Qi<g (iv) Pi=0のときは式(13)の(i)または(iii)に該当
し Qi=0またはg−1 (viii) −g<Pi<0ときは式(13)の(iv)(v)に該当
し 0Pig-1 となる。 (証明終り) これより式(12)Qiを用いて式(15)に変形され
る。 (証明) Siを次のように定義する。 Ri0のときSi=0 Ri<0のときSi=1 (11−1)から Ri0のときPi0 Ri<0のときPi0 でありRi<0でPi=0となるとき式(11−2)よ
り Ri+1=(Ri−Pi・C)g=Ri・g<0 なのでRi+1<0となるので、式(13)は式
(16)となる。 Qi=Pi+Si・g−Si+1 (16) 式(16)をi=1からkまで式(15)にならつ
て総和をとると 定義よりR1=Q0なのでS1=0なので 従つて式(12)より εk=Sk+1・g+Qk+1とおくと 式(11−3)よりRiとQiは同符号なので Qk+10のときεk=0・g+Qk+1=Qk+1k+1<0のときεk=1・g+Qk+1=g +Qk+1 Q′1は定義によりQに等しい (証明終) 式(15)と式(2)を比較するとg進法展開は一意
に定まることが知られているので、式(11)、式
(13)によつて求めたQ1、Q2、………、Qkが商
Qのg進法の各桁になることが証明される。 本発明は以上述べた原理により除算の商を1桁
ずつ正確に算出する除算装置である。 次に本発明について図形を参照して詳細に説明
する。 本発明の一実施例を示す第1図において、本発
明の除算方式による除算回路は部分剰余レジスタ
1、補正除数レジスタ2、乗算回路3、逆数表メ
モリ4、乗数レジスタ5、部分商レジスタ6、商
補正回路7および商レジスタ8を有し、部分剰余
レジスタ1には被除数Nと乗算回路3の出力が供
給され、補正除数レジスタ2には除数Dと乗算回
路3の出力が供給され、乗算回路3にはX入力と
して前記レジスタ1の出力が供給され、Y入力に
は前記レジスタ2の出力が供給され、M入力には
乗数レジスタ5の出力が供給され、逆数表メモリ
4には補正除数レジスタ2の出力の一部が供給さ
れ、乗数レジスタ5には定数−32と乗算回路3の
出力の一部と逆数表メモリ4の出力が選択的に供
給され、部分商レジスタ6には乗数レジスタ5の
出力が供給され、商補正回路7には部分商レジス
タ6の出力と乗数レジスタ5の出力が供給され、
商レジスタ8には商補正回路7の出力を遂次シフ
トインするために商補正回路7の出力および商レ
ジスタ8自身の出力の一部が供給されている。 乗数回路3は、第6図に示すように、除数補正
器3aと、被除数補正器3bと、部分除算器3cc
との3つの演算器からなる。これらの3つの演算
器の機能は同一であり、A×16+B×MまたはA
×32+B×Mの演算結果を出力できる。第7図は
乗算回路3の他の構成例を示す。図において、乗
算回路3は1つの乗算器3dから構成され、同図
(b)に示されるように、A入力およびB入力にX入
力およびY入力のいずれかを選択的に入力するこ
とにより除数補正器3aまたは被除数補正器3b
または部分除算器3cとして機能する。除算補正
器3aと被除数補正器3bと部分除算器3cと乗
算器3dとは全て同一構成である。 乗算回路3dは第3図に示すように、A入力は
値16または32を選択的に乗じ、B入力にはM入力
を次の表に示すように乗算3ビツト毎に−2から
2までに
【表】 変換された倍率を乗じたあと、乗数の上位からの
順に対応してそれぞれ16、4、1を乗じ、加算す
ることによりA入力に対する乗数を16に選択した
ときはA×16+B×Mを乗算器の出力とし、A入
力に対する乗数を32に選択したときはA×32+B
×Mを乗算器の出力とするように構成されてい
る。本実施例における乗算の方法はブースのアル
ゴリズムとして知られている方法であり、M入力
の上位ビツトよりM0、M1、………、M6とし、M0
の重みを25、M1の重みを24、………M5の重みを
20、M6の重みを2-1とするとき、B入力に各倍率
乗じ、それぞれ16、4、1倍したものを加算した
B×Mの値はB×(−M0・25+M1・24+M2・23
………+M5・20+M6・20)となつており、2の補
数として表現された乗数Mの最下位ビツトを四捨
五入した値をBに乗じた積になる。商補正回路7
は第4図に示すように、2入力加算器71で構成
され、法16では−1の主値は15であり、、法16で
の主値は20〜23の重みのビツトのみをとり出すこ
とにより得られることを利用し、また2-1の桁が
0のときは四捨五入した結果はかわらず、2-1
桁が1のときは四捨五入した結果は1を加えたも
のに等しいので、乗数レジスタ5の値が負である
ことを示す乗数レジスタ5の最左端ビツトM0
15倍と、部分商レジスタ6の重み23〜20のビツト
と該レジスタ6の2-1のビツトを重み20として加
算して得られる和の23〜20のビツトを取り出し、
部分商レジスタ6の値を四捨五入したものから、
乗数レジスタ5が負のとき1を減じた値の法16の
主値を得る。 本実施例は16の進数の場合の例であり、16進は
4ビツトの2進数で表わされている。以下、第1
図での除算の過程を第2図のタイムチヤートに沿
つて詳細に説明する。乗算回路3としては第7図
(a)の構成をとつた場合について説明する。本実施
例では除数Dは2-6D<2-5となるように予め正
規化されており、被除数はN<2-2となるように
予め正規化されているものとする。時刻0で部分
剰余レジスタ1に被除数(0.1)16、補正除数レジ
スタ2に除数(0.057)16、乗数レジスタ5には
(−20)16=(−32)10がセツトされる。乗算回路3
dのA入力とB入力とに補正除数レジスタ2の値
を選び、除数補正器として機能させ、A入力の乗
数を16に選ぶと乗算回路3の出力として16×(レ
ジスタ2の値)−32×(レジスタ2の値)=−16×
(レジスタ2の値)=(−0.57)16が得られる。一
方、レジスタ2の値により逆数表メモリ4を索引
し、(0.057)16の近似逆数(2F)16=(20)16
(OF)16を得、乗算回路3の出力は補正除数レジ
スタ2に、逆数表メモリ4の出力の下位5ビツト
は乗数レジスタ5にセツトする。 時刻1では部分剰余レジスタ1の値=
(0.1)16、補正除数レジスタ2の値=(−0.57)16
乗数レジスタ5の値(OF)16であり、乗算回路3
dのA入力とB入力とに再び補正除数レジスタ2
の値が選択供給され、除数補正器として機能し、
A入力の乗数を(20)16=(32)10にすると乗算回路
3の出力として補正除数の−16倍、(−0.57)16×
(2F)16=(−F・F9)16=−16×(0FF9)16が得ら
れる。時刻2では補正除数レジスタ2の値は補正
除数の−16倍(−F・F9)16であり、乗算回路3
dのA入力、B入力に部分剰余レジスタ1の値を
選択供給し、被除数補正器として機能させ、A入
力の乗数を32として再び逆数の近似値による乗算
を行なうと乗算回路3の出力として1番目の部分
剰余Ro=(0.1)16×(2F)16=(2F)16が得られる。
該回路3の出力を部分剰余レジスタ1に、乗算回
路3の出力の2-1以上のビツトを乗数レジスタ5
にセツトする。時刻3では部分商レジスタ6の値
=(2・F)16、乗数レジスタ5の値=(2.8)16
(000010.1)16である。 乗算回路3dのA入力に部分剰余レジスタ1の
値をB入力に補正除数レジスタ2の値をそれぞれ
選び、部分除算器として機能させ、A入力の乗数
を16とすると、乗算回路3dのB入力に対する乗
算は第1表よりM0、M1およびM2による倍率は乗
数“000”に対応する倍率0であり、M2、M3およ
びM4による倍率は乗数“001”に対応する倍率1
であり、M4、M5およびM6よる倍率は乗数
“101”に対応する倍率−1となるため、乗算回路
3の出力は(部分剰余レジスタ1の値)×16+(補
正除数レジスタ2の値)×(0×16+1×4−1×
1)=(部分剰余レジスタ1の値)×16+(補正除数
レジスタ2の値)×(4−1)=(部分剰余レジスタ
1の値)×16+3×(補正除数レジスタ2の値)と
なり、該レジスタの値に対する乗数は前記レジス
タ1の値(2.F)16を四捨五入した値3となる。乗
算回路3の出力は2番目の部分剰余R1=(2.F)16
×16−(F・F9)16×3=(2.F)16−(2F・EB)16
(−0.EB)16である。時刻4では部分剰余レジスタ
1の値は2番目の部分剰余(−0.EB)16、乗数レ
ジスタ5の値は(−0.EB)16=−1+(0.15)16
2-1未満を切捨てた(111111.0)2であり部分商レ
ジスタ6の値は1番目の仮商の四捨五入前の値
(2.8)16である。乗算回路3dの入力は時刻3と
同じにすると、B入力に対する乗数は−1となり
乗算回路3の出力は(−0.EB)16×16+(−F・
F9)16×(−1)=(1.49)16となる。このとき、商
補正回路7の出力は、乗数レジスタ5の値MR0
1、部分商レジスタ6の値=(2.8)16であるので
1×15+2+1=2mod16すなわち、1番目の仮
商3から、2番目の部分剰余の符号ビツトを減算
して法16の主値をとつた値2が得られる。時刻5
では部分剰余レジスタ1に3番目の部分剰余
(1.49)16、乗数レジスタ5には(1.0)16
(000001.0)2、部分商レジスタ6には(2)16がセツト
されている。乗算回路3dのA入力に部分剰余レ
ジスタ1の値を、A入力の乗数として16を、B入
力に補正除数レジスタ2の値を固定して選ぶこと
により、第5図で示すように逐次除算が行われ、
商が16進数で1桁ずつ商レジスタ8に求まる。 このよううにして得られた商は次に示す筆算に
よる商と一致する。 本発明には、被除数Nを除数Dで割つて得られ
る商Qをg進数で求める除算を、除数の近似逆数
と除数との積Cおよび被除数との積R1を求める
それぞれの乗算手段と、R1を1番目の部分剰余
とするとき、i番目の部分剰余Riを四捨五入し
て仮商Piを求める丸め手段と、i+1番目の部分
剰余をRi+1=g(Ri−C・Pi)として決める部
分除算手段と、i+1番目の部分剰余Ri+1と1
番目の仮商Piから商のi桁目Qiを求める商補正手
段とで構成することにより、従来の除算装置より
少ない回路で高速かつ誤差なく商を算出すること
ができるという効果がある。
【図面の簡単な説明】
第1図は本発明の一実施例を示す図、第2図は
第1図の実施例の動作例を示すタイムチヤート、
第6図は第1図に示す乗算回路3の一構成例を示
す図、第7図は第1図に示す乗算回路3の他の構
成例を示す図、第3図は第6図および第7図に示
す構成要素の詳細を示す図、第4図は第1図に示
す商補正回路7部の一例を示す回路図および第5
図は第1図による計算の数値例を示す図である。 1……部分剰余レジスタ、2……補正除数レジ
スタ、3……乗算回路、4……逆数表メモリ、5
……乗数レジスタ、6……部分商レジスタ、7…
…商補正回路、8……商レジスタ、31……倍数
選択回路、32……4入力加算回路、71……2
入力加算回路。

Claims (1)

  1. 【特許請求の範囲】 1 被除数と除数とから商をg進数で求める除算
    装置において、 除数の近似逆数を求める手段と、 前記除数と前記近似逆数との積から補正除数を
    求める除数補正手段と、 前記被除数に前記近似逆数を乗じて1番目の部
    分剰余R1を求める乗算手段と、 i番目の部分剰余Riを四捨五入して仮商Piを求
    める丸め手段と、 前記i番目の部分剰余Riから前記補正除数と
    i番目の仮商Piとの積を減じた差をg倍してi+
    1番目の部分剰余Ri+1を求める部分除算手段
    と、 前記部分剰余Ri+1の正負に応じて仮商Piから
    0または1を減じた値の法gの主値を商の上位か
    らi桁目の商ビツトとする商補正手段とを含むこ
    とを特徴とする除算装置。
JP55115532A 1980-08-22 1980-08-22 Dividing device Granted JPS5741737A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP55115532A JPS5741737A (en) 1980-08-22 1980-08-22 Dividing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP55115532A JPS5741737A (en) 1980-08-22 1980-08-22 Dividing device

Publications (2)

Publication Number Publication Date
JPS5741737A JPS5741737A (en) 1982-03-09
JPS6155691B2 true JPS6155691B2 (ja) 1986-11-28

Family

ID=14664856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP55115532A Granted JPS5741737A (en) 1980-08-22 1980-08-22 Dividing device

Country Status (1)

Country Link
JP (1) JPS5741737A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60142738A (ja) * 1983-12-30 1985-07-27 Hitachi Ltd 内挿近似を使用する除算装置
JPS60164837A (ja) * 1984-02-07 1985-08-27 Nec Corp 除算装置
JP2007257225A (ja) * 2006-03-23 2007-10-04 Hitachi Ltd 計算装置、および、計算方法
JP7036075B2 (ja) * 2019-03-26 2022-03-15 日本電産株式会社 整数除算装置およびモータ制御装置

Also Published As

Publication number Publication date
JPS5741737A (en) 1982-03-09

Similar Documents

Publication Publication Date Title
US4707798A (en) Method and apparatus for division using interpolation approximation
EP0411491B1 (en) Method and apparatus for performing division using a rectangular aspect ratio multiplier
US5065352A (en) Divide apparatus employing multiplier with overlapped partial quotients
KR100756137B1 (ko) 제산 및 제곱근 연산 유닛
KR920010183B1 (ko) Rom테이블을 갖춘 역수연산회로
EP0154182B1 (en) Electronic circuit capable of carrying out a succession of divisions at a high speed without an objectionable error
US6847986B2 (en) Divider
JPH0833816B2 (ja) 固定小数点除算方式
JP2004258141A (ja) モンゴメリ乗算剰余の多倍長演算のための演算装置
JPH04205026A (ja) 除算回路
JPS6155691B2 (ja)
Walter Still faster modular multiplication
US5954788A (en) Apparatus for performing modular multiplication
JPH0368415B2 (ja)
Mekhallalati et al. Radix modular multiplication algorithm
JP2803442B2 (ja) 開平装置
Doran Special cases of division
JP2710412B2 (ja) 乗除算回路
JPH0621983B2 (ja) 乗算器
JP2777265B2 (ja) 高基数開平演算装置
Kumar et al. Implementation and Performance Analysis of Reconfigurable Montgomery Modular Multiplier
JP3477866B2 (ja) 除算器の除算方法
JPH08249161A (ja) 立方根演算装置
JPH05324274A (ja) 2進10進変換装置
JP2002182899A (ja) 除算の計算方法及び装置