JPH0635678A - 十進除算回路 - Google Patents

十進除算回路

Info

Publication number
JPH0635678A
JPH0635678A JP21212592A JP21212592A JPH0635678A JP H0635678 A JPH0635678 A JP H0635678A JP 21212592 A JP21212592 A JP 21212592A JP 21212592 A JP21212592 A JP 21212592A JP H0635678 A JPH0635678 A JP H0635678A
Authority
JP
Japan
Prior art keywords
divisor
dividend
register
circuit
output
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
JP21212592A
Other languages
English (en)
Inventor
Hirobumi Watanabe
博文 渡邊
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP21212592A priority Critical patent/JPH0635678A/ja
Publication of JPH0635678A publication Critical patent/JPH0635678A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 効率的な演算を可能とする。 【構成】 被除数レジスタ1は演算すべき十進数の被除
数を格納し、倍数レジスタ2は演算すべき除数の1、
2、4、8倍の数のうちいずれかを格納し、除数レジス
タ3は演算すべき十進数の除数を格納する。加減算回路
4は被除数レジスタ1の出力101である被除数データ
と、倍数レジスタ2の出力102である除数の倍数デー
タとの加減算を行う。比較回路5は被除数レジスタ1の
出力101である被除数データと、除数レジスタ3の出
力103である除数データとを比較する。記憶回路6は
加減算回路4を用いて算出した演算すべき除数の1、
2、4、8倍の数を夫々記憶する。除算商算出回路7は
加減算回路4の桁上がり出力105と、比較回路5の比
較結果出力106とを基に商を算出する。

Description

【発明の詳細な説明】
【0001】
【技術分野】本発明は十進除算回路に関し、特に十進数
データの除算を行う十進除算回路に関する。
【0002】
【従来技術】従来、十進除算回路においては、図2に示
すように、被除数レジスタ1と、倍数レジスタ2と、加
減算回路4と、除数の1、2、4、8倍の数各々を記憶
する記憶回路6と、除算商算出回路8とを含んで構成さ
れている。
【0003】被除数に対する除数の除算によって商を算
出する場合、まず加減算回路4で加算を繰返すことによ
って、除数111の1、2、4、8倍の数を生成し、そ
れら倍数を予め記憶回路6に記憶しておく。
【0004】その後、記憶回路6からそれら倍数各々を
読出し、被除数110または加減算回路4の出力104
を保持する被除数レジスタ1の出力101と、記憶回路
6からの出力107であるそれら倍数を保持する倍数レ
ジスタ2の出力102との加減算を加減算回路4で行
う。
【0005】このとき加減算回路4で発生する桁上がり
出力105を用いて、除算商算出回路8によって十進数
の商を1桁ずつ算出している。すなわち、商1桁を算出
するのに少なくとも被除数110と除数111の1、
2、4、8倍の数との4回の加減算を行っている。
【0006】特に、商の最下位桁が偶数となる場合には
さらに補正の加減算を一回行うので、商n桁を算出する
には4×n+i(iは商の最下位桁が偶数の時に1、奇
数の時に0)回の加減算を行う。
【0007】このような従来の十進除算回路では、商算
出の過程で商の値にかかわらず、商1桁に対して4回の
加減算を行う必要があり、さらに補正時に1回の加減算
を行う必要があるので、演算の実行クロック数が多くな
り、効率が悪いという問題がある。
【0008】
【発明の目的】本発明は上記のような従来のものの問題
点を除去すべくなされたもので、効率的な演算を行うこ
とができる十進除算回路の提供を目的とする。
【0009】
【発明の構成】本発明による十進除算回路は、各々除数
に対して異なる倍率の数を示す複数の倍数と被除数との
加減算を行う加減算手段を含む十進除算回路であって、
前記除数と前記被除数とを比較する比較手段と、前記加
減算手段の桁上がり出力と前記比較手段の比較結果とか
ら前記被除数と前記除数との除算商を算出する算出手段
とを設けたことを特徴とする。
【0010】
【実施例】次に、本発明の一実施例について図面を参照
して説明する。
【0011】図1は本発明の一実施例の構成を示すブロ
ック図である。図において、被除数レジスタ1は演算す
べき十進数の被除数を格納し、倍数レジスタ2は演算す
べき除数の1、2、4、8倍の数のうちいずれかを格納
し、除数レジスタ3は演算すべき十進数の除数を格納す
る。
【0012】加減算回路4は被除数レジスタ1の出力1
01である被除数データと、倍数レジスタ2の出力10
2である除数の倍数データとの加減算を行う。比較回路
5は被除数レジスタ1の出力101である被除数データ
と、除数レジスタ3の出力103である除数データとを
比較する。
【0013】記憶回路6は加減算回路4を用いて算出し
た演算すべき除数の1、2、4、8倍の数を夫々記憶す
る。除算商算出回路7は加減算回路4の桁上がり出力1
05と、比較回路5の比較結果出力106とを基に商を
算出する。
【0014】この図1を用いて本発明の一実施例による
十進数の除算を行うときの制御方法について説明する。
【0015】除算の1クロックサイクル目では、入力信
号100によって倍数レジスタ2および除数レジスタ3
に夫々除数をセットする。このとき、被除数レジスタ1
は0にリセットする。
【0016】除算の2クロックサイクル目では、記憶回
路6のアドレス1番地と被除数レジスタ1とに夫々加減
算回路4の出力104を書込む。このとき、加減算回路
4は被除数レジスタ1の出力101と倍数レジスタ2の
出力102との加算を行うので、出力104としてはそ
の加算結果(除数の1倍)が出力される。
【0017】除算の3クロックサイクル目では、記憶回
路6のアドレス2番地と被除数レジスタ1と倍数レジス
タ2とに夫々加減算回路4の出力104を書込む。この
とき、加減算回路4は被除数レジスタの出力101と倍
数レジスタ2の出力102との加算を行うので、出力1
04としてはその加算結果(除数の2倍)が出力され
る。
【0018】除算の4クロックサイクル目では、記憶回
路6のアドレス4番地と被除数レジスタ1と倍数レジス
タ2とに夫々加減算回路4の出力104を書込む。この
とき、加減算回路4は被除数レジスタ1の出力101と
倍数レジスタ2の出力102との加算を行うので、出力
104としてはその加算結果(除数の4倍)が出力され
る。
【0019】除算の5クロックサイクル目では、記憶回
路6のアドレス8番地と倍数レジスタ2とに夫々加減算
回路4の出力104を書込む。このとき、加減算回路4
は被除数レジスタ1の出力101と倍数レジスタ2の出
力102との加算を行うので、出力104としてはその
加算結果(除数の8倍)が出力される。
【0020】上記の処理動作によって、記憶回路6には
除数の1、2、4、8倍の数が記憶されて用意される。
この後に、入力信号100によって被除数レジスタ1に
被除数をセットする。
【0021】除算の6クロックサイクル目では、比較回
路5において被除数レジスタ1の出力101(被除数)
と除数レジスタ3の出力103(除数)とが比較され
る。その結果、除数の方が被除数よりも大きいことが検
出されると、除算商算出回路7でその桁の商として0を
設定し、次の桁の処理を行う。
【0022】また、除数の方が被除数よりも小さいかあ
るいは等しいことが検出されると、加減算回路4におい
て被除数レジスタ1の出力101(被除数)から倍数レ
ジスタ2の出力102(除数の8倍の数)を減算し、加
減算回路4の出力104(減算結果)を被除数レジスタ
1にセットする。
【0023】このとき、倍数レジスタ2には記憶回路6
のアドレス4番地から読出した出力106(除数の4倍
の数)がセットされる。除算商算出回路7では中間商と
して8を設定する。
【0024】除算の7クロックサイクル目では、比較回
路5において被除数レジスタ1の出力101[被除数−
(除数の8倍の数)]と、除数レジスタ3の出力103
(除数)とが比較される。その結果、除数の方が被除数
よりも大きいことが検出されると、除算商算出回路7で
その桁の商として8を設定し、次の桁の処理を行う。
【0025】但し、被除数レジスタ1の出力101が負
のときには比較結果にかかわらず以下のような動作を行
う。すなわち、除数の方が被除数よりも小さいかあるい
は等しいことが検出されると、加減算回路4において被
除数レジスタ1の出力101[被除数−(除数の8倍の
数)]と倍数レジスタ2の出力102(除数の4倍の
数)との加減算を行い、加減算回路4の出力104(加
減算結果)を被除数レジスタ1にセットする。
【0026】この場合、加減算回路4で加算を行うのか
あるいは減算を行うのかは、この直前の6クロックサイ
クル目における減算の結果が負か正かによる。つまり、
減算の結果が負であれば加算が行われ、減算の結果が正
であれば減算が行われる。
【0027】このとき、倍数レジスタ2には記憶回路6
のアドレス2番地から読出した出力106(除数の2倍
の数)がセットされる。除算商算出回路7では中間商と
して8±4=12or4を設定する。
【0028】除算の8クロックサイクル目では、比較回
路5において被除数レジスタ1の出力101[被除数−
(除数の12倍or4倍の数)]と、除数レジスタ3の
出力103(除数)とが比較される。その結果、除数の
方が被除数よりも大きいことが検出されると、除算商算
出回路7でその桁の商として4を設定し、次の桁の処理
を行う。
【0029】但し、被除数レジスタ1の出力101が負
のときには比較結果にかかわらず以下のような動作を行
う。すなわち、除数の方が被除数よりも小さいかあるい
は等しいことが検出されると、加減算回路4において被
除数レジスタ1の出力101[被除数−(除数の12倍
or4倍の数)]と倍数レジスタ2の出力102(除数
の2倍の数)との加減算を行い、加減算回路4の出力1
04(加減算結果)を被除数レジスタ1にセットする。
【0030】この場合、加減算回路4で加算を行うのか
あるいは減算を行うのかは、この直前の7クロックサイ
クル目における減算の結果が負か正かによる。つまり、
減算の結果が負であれば加算が行われ、減算の結果が正
であれば減算が行われる。
【0031】このとき、倍数レジスタ2には記憶回路6
のアドレス1番地から読出した出力106(除数の1倍
の数)がセットされる。除算商算出回路7では中間商と
して12−2=10かまたは4±2=6or2を設定す
る。
【0032】除算の9クロックサイクル目では、比較回
路5において被除数レジスタ1の出力101[被除数−
(除数の10倍or6倍or2倍の数)]と除数レジス
タ3の出力103(除数)とが比較される。その結果、
除数の方が被除数よりも大きいことが検出されると、除
算商算出回路7でその桁の商として6or2を設定し、
次の桁の処理を行う。
【0033】但し、被除数レジスタ1の出力101が負
のときには比較結果にかかわらず以下のような動作を行
う。すなわち、除数の方が被除数よりも小さいかあるい
は等しいことが検出されると、加減算回路4において被
除数レジスタ1の出力101[被除数−(除数の10倍
or6倍or2倍の数)]と倍数レジスタ2の出力10
2(除数の1倍の数)との加減算を行い、加減算回路4
の出力104(加減算結果)を被除数レジスタ1にセッ
トする。
【0034】この場合、加減算回路4で加算を行うのか
あるいは減算を行うのかは、この直前の8クロックサイ
クル目における減算の結果が負か正かによる。つまり、
減算の結果が負であれば加算が行われ、減算の結果が正
であれば減算が行われる。
【0035】このとき、倍数レジスタ2には記憶回路6
のアドレス8番地から読出した出力106(除数の8倍
の数)が次の桁算出のためにセットされる。除算商算出
回路7では中間商として10−1=9かまたは6±1=
7or5、あるいは2±1=3or1を設定する。
【0036】以上のように除算の6〜9クロックサイク
ルの間に商1桁が算出される。商=0なら6クロックサ
イクル目、商=8なら7クロックサイクル目、商=4な
ら8クロックサイクル目、商=6,2,9,7,5,
3,1なら9クロックサイクル目に決まることになる。
これら6〜9クロックサイクルの動作を繰返し行うこと
で、商全桁を求めることができる。
【0037】次に、例えば「98765÷321」の商
を求める場合の動作手順について、いくつかのステップ
に分けて以下説明する。
【0038】ステップ1において、被除数レジスタ1を
0にリセットし、倍数レジスタ2および除数レジスタ3
に夫々除数「321」をセットする。
【0039】ステップ2において、加減算回路4で「0
+321」の加算を行い、除数の1倍である加算結果
「321」を記憶回路6のアドレス1番地に書込むとと
もに、除数の1倍である加算結果「321」を被除数レ
ジスタ1にセットする。この場合、倍数レジスタ2およ
び除数レジスタ3の値はそのままとする。
【0040】ステップ3において、加減算回路4で「3
21+321」の加算を行い、除数の2倍である加算結
果「642」を記憶回路6のアドレス2番地に書込むと
ともに、除数の2倍である加算結果「642」を被除数
レジスタ1および倍数レジスタ2にセットする。この場
合、除数レジスタ3の値はそのままとする。
【0041】ステップ4において、加減算回路4で「6
42+642」の加算を行い、除数の4倍である加算結
果「1284」を記憶回路6のアドレス4番地に書込む
とともに、除数の4倍である加算結果「1284」を被
除数レジスタ1および倍数レジスタ2にセットする。こ
の場合、除数レジスタ3の値はそのままとする。
【0042】ステップ5において、加減算回路4で「1
284+1284」の加算を行い、除数の8倍である加
算結果「2568」を記憶回路6のアドレス8番地に書
込むとともに、除数の8倍である加算結果「2568」
を倍数レジスタ2にセットする。この場合、被除数レジ
スタ1には被除数「098765」をセットし、除数レ
ジスタ3の値はそのままとする。
【0043】ステップ6において、比較回路5で被除数
「098765」の上位3桁「987」と除数「32
1」との比較を行う。このとき、比較回路5では除数
「321」の方が小さいことを検出するので、加減算回
路4は「098765−256800」の減算を行う。
【0044】ここで、加減算回路4ではこの減算をその
ままの値で行うことができないので、除算商算出回路7
に桁上がり出力105を出力して「1098765−2
56800」の減算を行い、被除数−(除数の8倍の
数)である減算結果「841965」を被除数レジスタ
1にセットする。
【0045】この場合、倍数レジスタ2には除数の4倍
である「1284」をセットし、除数レジスタ3の値は
そのままとする。除算商算出回路7では中間商として
「8」を設定する。
【0046】ステップ7において、加減算回路4で「8
41965+128400」の加算を行い、被除数−
(除数の4倍の数)である加算結果「970365」を
被除数レジスタ1にセットする。
【0047】この場合、倍数レジスタ2には除数の2倍
である「642」をセットし、除数レジスタ3の値はそ
のままとする。除算商算出回路7では「8−4=4」を
中間商として設定する。
【0048】ステップ8において、加減算回路4で「9
70365+064200」の加算を行う。加減算回路
4ではこの加算結果が「1034565」となるので、
除算商算出回路7に桁上がり出力105を出力し、被除
数−(除数の2倍の数)である減算結果「03456
5」を被除数レジスタ1にセットする。
【0049】この場合、倍数レジスタ2には除数の1倍
である「321」をセットし、除数レジスタ3の値はそ
のままとする。除算商算出回路7では「4−2=2」を
中間商として設定する。
【0050】ステップ9において、比較回路5で被除数
「034565」の上位3桁「345」と除数「32
1」との比較を行う。このとき、比較回路5では除数
「321」の方が小さいことを検出するので、加減算回
路4は「034565−032100」の減算を行う。
【0051】加減算回路4は被除数−(除数の3倍の
数)である減算結果「2465」を被除数レジスタ1に
セットする。この場合、倍数レジスタ2には除数の8倍
である「2586」をセットし、除数レジスタ3の値は
そのままとする。除算商算出回路7では「2+1=3」
をこの桁の商として設定する。
【0052】ステップ10において、比較回路5で被除
数「2465」の上位3桁「246」と除数「321」
との比較を行う。このとき、比較回路5では除数「32
1」の方が大きいことを検出するので、除算商算出回路
7では「0」をこの桁の商として設定する。この場合、
被除数レジスタ1には被除数「2465」をセットし、
除数レジスタ3の値はそのままとする。
【0053】ステップ11において、比較回路5で被除
数「2465」と除数「321」との比較を行う。この
とき、比較回路5では除数「321」の方が小さいこと
を検出するので、加減算回路4は「2465−256
8」の減算を行う。
【0054】ここで、加減算回路4ではこの減算をその
ままの値で行うことができないので、除算商算出回路7
に桁上がり出力105を出力して「12465−256
8」の減算を行い、被除数−(除数の8倍の数)である
減算結果「9897」を被除数レジスタ1にセットす
る。
【0055】この場合、倍数レジスタ2には除数の4倍
である「1284」をセットし、除数レジスタ3の値は
そのままとする。除算商算出回路7では中間商として
「8」を設定する。
【0056】ステップ12において、加減算回路4で
「9897+1284」の加算を行う。加減算回路4で
はこの加算結果が「11181」となるので、除算商算
出回路7に桁上がり出力105を出力し、被除数−(除
数の4倍の数)である加算結果「1181」を被除数レ
ジスタ1にセットする。
【0057】この場合、倍数レジスタ2には除数の2倍
である「642」をセットし、除数レジスタ3の値はそ
のままとする。除算商算出回路7では「8−4=4」を
中間商として設定する。
【0058】ステップ13において、比較回路5で被除
数「1181」と除数「321」との比較を行う。この
とき、比較回路5では除数「321」の方が小さいこと
を検出するので、加減算回路4は「1181−064
2」の減算を行う。
【0059】加減算回路4は被除数−(除数の2倍の
数)である減算結果「0539」を被除数レジスタ1に
セットする。この場合、倍数レジスタ2には除数の1倍
である「321」をセットし、除数レジスタ3の値はそ
のままとする。除算商算出回路7では「4+2=6」を
中間商として設定する。
【0060】ステップ14において、比較回路5で被除
数「539」と除数「321」との比較を行う。このと
き、比較回路5では除数「321」の方が小さいことを
検出するので、加減算回路4は「0539−0321」
の減算を行う。
【0061】加減算回路4は被除数−(除数の1倍の
数)である減算結果「0218」を被除数レジスタ1に
セットする。この場合、除算商算出回路7では「6+1
=7」をこの桁の商として設定する。
【0062】上述したステップ1〜ステップ14の動作
によって、「98765÷321」の商として「30
7」が求められる。尚、剰余は加減算回路4から出力さ
れる「218」である。
【0063】このように、被除数と除数の1、2、4、
8倍の数との加減算を行う加減算回路4の桁上がり出力
105と、除数と被除数との比較を行う比較回路5の比
較結果出力106とから除数と被除数との除算の商を算
出する除算商算出回路7において、除数が被除数よりも
大なることを比較結果出力106が示すときに当該桁の
算出を中止して当該桁の次の桁の算出を行うようにする
ことによって、被除数と除数との組合せによってはその
商の値に関係して、加減算回路4において最大3×m+
1(mは商の桁数)回の加減算回数を減らすことができ
る。よって、本発明の一実施例による十進除算回路にお
いて効率的な演算を行うことができる。
【0064】
【発明の効果】以上説明したように本発明によれば、各
々除数に対して異なる倍率の数を示す複数の倍数と被除
数との加減算における桁上がり出力と、除数と被除数と
の比較結果とから被除数と除数との除算商を算出するこ
とによって、効率的な演算を行うことができるという効
果がある。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示すブロック図であ
る。
【図2】従来例の構成を示すブロック図である。
【符号の説明】
1 被除数レジスタ 2 倍数レジスタ 3 除数レジスタ 4 加減算回路 5 比較回路 6 記憶回路 7 除算商算出回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 各々除数に対して異なる倍率の数を示す
    複数の倍数と被除数との加減算を行う加減算手段を含む
    十進除算回路であって、前記除数と前記被除数とを比較
    する比較手段と、前記加減算手段の桁上がり出力と前記
    比較手段の比較結果とから前記被除数と前記除数との除
    算商を算出する算出手段とを設けたことを特徴とする十
    進除算回路。
  2. 【請求項2】 前記比較手段によって前記除数が前記被
    除数よりも大なることを検出したときに前記加減算手段
    による当該桁の演算を中止して当該桁の次の桁の演算を
    行うようにしたことを特徴とする請求項1記載の十進除
    算回路。
JP21212592A 1992-07-15 1992-07-15 十進除算回路 Pending JPH0635678A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21212592A JPH0635678A (ja) 1992-07-15 1992-07-15 十進除算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21212592A JPH0635678A (ja) 1992-07-15 1992-07-15 十進除算回路

Publications (1)

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

Family

ID=16617304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21212592A Pending JPH0635678A (ja) 1992-07-15 1992-07-15 十進除算回路

Country Status (1)

Country Link
JP (1) JPH0635678A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7789210B2 (en) 2004-10-05 2010-09-07 Nok Corporation Sealing device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7789210B2 (en) 2004-10-05 2010-09-07 Nok Corporation Sealing device

Similar Documents

Publication Publication Date Title
US6369725B1 (en) Method for binary to decimal conversion
JP2835153B2 (ja) 高基数除算器
JP3418460B2 (ja) 倍精度除算回路および方法
JPH0368416B2 (ja)
US4797849A (en) Pipelined vector divide apparatus
JPH1195982A (ja) 演算処理回路及び演算処理方法並びに演算処理システム
JPH0635678A (ja) 十進除算回路
JP3415569B2 (ja) 10進データ除算方法およびそのプログラム記録媒体
JP2991788B2 (ja) 復号器
JP3315042B2 (ja) 乗算装置
JP2705162B2 (ja) 演算処理装置
JP3517162B2 (ja) 除算・開平演算装置
JP2608090B2 (ja) 高基数非回復型除算装置
JPS6259828B2 (ja)
JPH08202533A (ja) 除算処理装置
JP2607759B2 (ja) 除算器
JPH0553768A (ja) 除算器
SU734705A1 (ru) Специализированный процессор
JP3185861B2 (ja) 多桁整数と単桁整数との乗算方法
JPS6175926A (ja) ハ−ドウエア除算器
JPH06180640A (ja) 除算装置及び方法
JPH0695855A (ja) 逆数発生回路及びこれを用いたディジタルシグナルプロセッサ
JPH09134277A (ja) 演算器
JPH05150951A (ja) 除算処理方式
JPH02178833A (ja) 異なるビット長のデータを加算する加算器