JPH10283164A - 除算回路 - Google Patents

除算回路

Info

Publication number
JPH10283164A
JPH10283164A JP9088187A JP8818797A JPH10283164A JP H10283164 A JPH10283164 A JP H10283164A JP 9088187 A JP9088187 A JP 9088187A JP 8818797 A JP8818797 A JP 8818797A JP H10283164 A JPH10283164 A JP H10283164A
Authority
JP
Japan
Prior art keywords
register
dividend
quotient
divisor
division
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.)
Granted
Application number
JP9088187A
Other languages
English (en)
Other versions
JP3544821B2 (ja
Inventor
Naoyoshi Yano
直佳 矢野
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP08818797A priority Critical patent/JP3544821B2/ja
Priority to US09/055,993 priority patent/US6047305A/en
Publication of JPH10283164A publication Critical patent/JPH10283164A/ja
Priority to US09/521,221 priority patent/US6477557B1/en
Application granted granted Critical
Publication of JP3544821B2 publication Critical patent/JP3544821B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5352Non-restoring division not covered by G06F7/5375
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5353Restoring division

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】 【課題】 この発明は、被除数及び/又は除数の負の値
を正の値に変換することなく符号付の除算を行い、正確
な商と剰余を求めることができる除算回路を提供するこ
とを課題とする。 【解決手段】 この発明は、符号が付いた状態での回復
型又は非回復型の除算過程において、部分剰余の一部と
除数との絶対値の比較を行ない、部分剰余の一部が大き
い場合又は双方が等しい場合はその桁の商を1とし、小
さい場合には商を0として除算を行うように構成され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、除算回路、特に符
号付除算を行なう除算回路に関する。
【0002】
【従来の技術】従来、2の補数表示された符号付きの被
除数及び除数の除算を行う場合に、正確な商及び剰余を
求めようとすると、負の被除数及び/又は除数を正に変
換して除算を行なっていた。この代表的な除算アルゴリ
ズムとして、回復型(引き戻し法)の除算と非回復型
(引き放し法)の除算の2例を挙げて説明する。
【0003】まずはじめに、従来の回復型除算のアルゴ
リズムを、図6に示す除算回路の構成を参照して説明す
る。
【0004】図6において、nビットの被除数をa、n
ビットの除数をbとすると、除算回路は、除算実行中に
部分剰余の上位側を格納し除算終了時に剰余を格納する
nビットの剰余レジスタ101と、除算開始時に被除数
を格納し除算実行中に部分剰余の下位側と商を順次格納
するnビットの被除数&商レジスタ102と、除数を格
納するnビットの除数レジスタ103と、nビットの減
算器104と、剰余レジスタ101と被除数&商レジス
タ102の内容を連結して上位側(図面左方向)に1ビ
ットシフトし最上位ビットをシフトアウトした上位nビ
ットのデータP’又は減算器104の出力を選択して剰
余レジスタ101に与えるセレクタ105と、減算器1
04の減算結果を受けて商を決定し、セレクタ105を
選択制御する制御回路106を備えて構成されている。
【0005】次に、このような構成の除算回路を用いた
除算動作を動作サイクルにしたがって説明する。
【0006】まず、被除数a,除数bの双方とも負の場
合には補数をとり正の数に変換し、負でない場合にはそ
のままとし、この値をa’、b’とする(第1サイク
ル、第2サイクル、作用1)。
【0007】次に、被除数a’を被除数&商レジスタ1
02に、除数b’を除数レジスタ103にロードする。
剰余レジスタ101には、全ビット0をロードする(第
3サイクル、作用2)。
【0008】次に、剰余レジスタ101、被除数&商レ
ジスタ102をそれぞれ1ビット左にシフトし、シフト
後の両レジスタの連結した内容の上位nビットのデータ
をP’とする(第4サイクル、作用3−1)。続いて、
減算器104によってデータP’から除数レジスタ10
3の出力を減じる(第4サイクル、作用3−2)。続い
て、被除数&商レジスタ102は出力を左に1ビットシ
フトして格納する。減算器104の出力が負の時は被除
数&商レジスタ102の最下位に商として0を書き込
み、減算器104の出力が負でなければ被除数&商レジ
スタ102の最下位に商として1を書き込む(第4サイ
クル、作用3−3)。続いて、減算器104の出力が負
でなければ減算器104の出力を剰余レジスタ101に
格納し、減算器104の出力が負の時は剰余レジスタ1
01にデータP’を格納する(引き戻し)(第4サイク
ル、作用3−4)。
【0009】次に、上記第4サイクルの作用3−1〜3
−4をさらに(n−1)回繰り返して行う(第5サイク
ル〜第(n+3)サイクル)。
【0010】次に、被除数と除数の符号が同一の場合
は、被除数&商レジスタ102の出力は商として、その
まま被除数&商レジスタ102に保存される。一方、被
除数と除数の符号が異なる場合には、被除数&商レジス
タ102の出力の補数をとり、被除数&商レジスタ10
2に書き戻される(第(n+4)サイクル、作用5)。
【0011】次に、被除数が負でない場合は、剰余レジ
スタ101の出力は剰余としてそのまま保存される。一
方、被除数が負の場合には、剰余レジスタ101の出力
の補数をとり剰余レジスタ101に書き戻される(第
(n+5)サイクル、作用6)。
【0012】最後に、被除数&商レジスタ102には商
が格納され、剰余レジスタ101には剰余が格納され、
符号付の除算が終了する(第(n+6)サイクル、作用
7)。
【0013】このようにして除算処理が行われ、例えば
被除数a=1001(2進数)(10進数で−7を示
す)と除数b=0011(2進数)(10進数で3を示
す)の除算例を図7に示す。なお、図7において、剰余
レジスタ101の内容をPと表記し、被除数&商レジス
タ102の内容をAと表記し、除数レジスタ103の内
容をBと表記している。
【0014】次に、従来の非回復型除算のアルゴリズム
を、図8に示す除算回路の構成を参照して説明する。
【0015】上述した従来の回復型除算では、部分剰余
が負になった場合は、(剰余+除数)×2−除数という
演算を行っているのと同じであった。そこで、(剰余+
除数)×2−除数は剰余×2+除数であるので、部分剰
余が負になった場合には、そのまま部分剰余を格納して
左に1ビットシフトし、部分剰余と除数の減算に代えて
加算を行ってもよい。この手法では回復型除算に比べて
サイクル当たりの演算時間を短縮することができる。こ
のような手法を用いたのが非回復型除算のアルゴリズム
である。
【0016】図8において、nビットの被除数をa、n
ビットの除数をbとすると、除算回路は、除算実行中に
部分剰余の上位側を格納し除算終了時に剰余を格納する
nビットの剰余レジスタ111と、除算開始時に被除数
を格納し除算実行中に部分剰余の下位側と商を順次格納
するnビットの被除数&商レジスタ112と、除数を格
納するnビットの除数レジスタ113と、nビットの加
減算器114と、加減算器114の演算結果を受けて商
を決定し、加減算器114の演算結果にしたがって加減
算器114に加算又は減算を指示する制御回路115を
備えて構成されている。
【0017】次に、このような構成の除算回路を用いた
除算動作を動作サイクルにしたがって説明する。
【0018】まず、被除数a,除数bの双方とも負の場
合には補数をとり正の数に変換し、負でない場合にはそ
のままとし、この値をa’、b’とする(第1サイク
ル、第2サイクル、作用1)。
【0019】次に、被除数a’を被除数&商レジスタ1
12に、除数b’を除数レジスタ113にロードする。
剰余レジスタ111には全ビット0をロードする(第3
サイクル、作用2)。
【0020】次に、剰余レジスタ111、被除数&商レ
ジスタ112をそれぞれ1ビット左にシフトし、シフト
後の両レジスタの連結した内容の上位nビットのデータ
をP’とする(第4サイクル、作用3−1)。続いて、
加減算器114によってデータP’から除数レジスタ1
13の出力を減じる(第4サイクル、作用3−2)。続
いて、被除数&商レジスタ112は、出力を左に1ビッ
トシフトして格納する。被除数&商レジスタ112の最
下位ビットに格納する値は、加減算器114の出力が負
の時は被除数&商レジスタ112の最下位に商として0
を書き込み、加減算器114の出力が負でなければ被除
数&商レジスタ102の最下位に商として1を書き込む
(第4サイクル、作用3−3)。続いて、加減算器11
4の出力を剰余レジスタ111に格納する(第4サイク
ル、作用3−4)。
【0021】次のサイクルにおいて、剰余レジスタ11
1の出力が負の場合は、剰余レジスタ111,被除数&
商レジスタ112をそれぞれ1ビット左にシフトする。
シフト後の両レジスタの連結した内容の上位nビットの
データP’と除数レジスタ113の出力を加減算器11
4により加算する。一方、剰余レジスタ111の出力が
負でない場合には、剰余レジスタ111ならびに被除数
&商レジスタ112をそれぞれ1ビット左にシフトし、
シフト後の両レジスタの連結した内容の上位nビットの
データP’から除数レジスタ113の出力を加減算器1
14により減じる(第5サイクル、作用4−1)。続い
て、被除数&商レジスタ112は出力を左に1ビットシ
フトして格納する。被除数&商レジスタ112の最下位
ビットには、加減算器114の出力が負の時は商として
0を書き込み、加減算器114の出力が負でなければ商
として1を書き込む(第5サイクル、作用4−2)。続
いて、加減算器114の出力を剰余レジスタ111に格
納する(第5サイクル、作用4−3)。
【0022】次に、上述した第5サイクルでの作用4−
1〜4−3をさらに(n−2)回繰り返して行う(第6
サイクル〜第(n+3)サイクル)。
【0023】次に、剰余レジスタ111の出力が負でな
ければ、剰余レジスタ111はそのままの値を保持す
る。一方、剰余レジスタ111の出力が負であれば、加
減算器114により剰余レジスタ111の出力と除数レ
ジスタ113の出力を加算して剰余レジスタ111に格
納する(第(n+4)サイクル、作用6)。
【0024】次に、被除数と除数の符号が同一の場合
は、被除数&商レジスタ112の出力はそのまま被除数
&商レジスタ112に保存される。被除数と除数の符号
が異なる場合には、被除数&商レジスタ112の出力の
補数をとり、被除数&商レジスタ112に書き戻される
(第(n+5)サイクル、作用7)。
【0025】次に、被除数が負でない場合は、剰余レジ
スタ111の出力はそのまま保持される。被除数が負の
場合には、剰余レジスタ111の出力の補数をとり、剰
余レジスタ111に書き戻される(第(n+6)サイク
ル、作用8)。
【0026】最後に、被除数&商レジスタ112には商
が格納され、剰余レジスタ111には剰余が格納され、
符号付の除算が終了する(第(n+7)サイクル、作用
9)。
【0027】このようにして除算処理が行われ、例えば
前述した従来例と同様に被除数a=1001(2進数)
(10進数で−7を示す)と除数b=0011(2進
数)(10進数で3を示す)の除算例を図9に示す。な
お、図9において、剰余レジスタ111の内容をPと表
記し、被除数&商レジスタ112の内容をAと表記し、
除数レジスタ113の内容をBと表記している。
【0028】
【発明が解決しようとする課題】以上説明したように、
符号付の被除数及び除数の除算において、商及び剰余を
正確に求めようとすると、被除数及び/又は除数が負の
値の場合には、負の値の被除数及び/又は除数の2の補
数をとり負の値を正の値に変換し、正の値の被除数及び
除数で除算を行っていた。このため、被除数ならびに除
数の双方が負の値の場合には、両者とも2の補数をとら
なければならないため、補数をとるための時間が除算時
間に加わり、除算時間が長くなるという不具合を招いて
いた。また、被除数が負の値の場合には、剰余も2の補
数をとり補正しなければならず、さらに除算時間が長く
なっていた。
【0029】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、被除数及び/
又は除数の負の値を正の値に変換することなく符号付の
除算を行い、正確な商と剰余を求めることができる除算
回路を提供することにある。
【0030】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明は、符号付の除数を格納する除
数レジスタと、除算開始時に符号付の被除数を格納し、
除算実行中にはレジスタ内の値を所定ビットシフトしつ
つ保持する被除数レジスタと、加算又は減算を行なう加
減算器と、除算実行中に加減算器の出力を格納し、除算
終了時に剰余を格納する剰余レジスタと、商を格納する
商レジスタと、剰余レジスタに格納された内容の所定ビ
ットに被除数レジスタに格納された内容の上位所定ビッ
トを連結した連結値又は加減算器の演算結果を選択して
剰余レジスタに出力するセレクタと、部分剰余が0であ
るか否かを判別する判別器と、被除数と除数の符号を比
較する第1の比較器と、加減算器で行った演算結果の符
号が被除数の符号と同符号か否かを比較する第2の比較
器と、加減算器の演算結果、判別器の判別結果ならびに
第2の比較器の比較結果を受けて、商を決定し、セレク
タの選択を制御する制御回路を具備し、第1の比較器の
比較結果にしたがって連結値と除数を加減算器により加
算又は減算し、第2の比較器の比較結果にしたがって連
結値と除数の絶対値比較を行い、この比較結果ならびに
判別器による判別結果に基づいて商を決定し、商の値に
したがってセレクタにより選択された演算結果又は連結
値を剰余レジスタに格納し、被除数レジスタはレジスタ
内の値を所定ビットシフトして格納する動作を所定の回
数反復して行い、被除数と除数の符号に応じて商レジス
タに格納された値の補数をとり、符号付の被除数と符号
付の除数の除算を行うことを特徴とする。
【0031】請求項2記載の発明は、符号付の除数を格
納する除数レジスタと、除算開始時に符号付の被除数を
格納し、除算実行中にはレジスタ内の値を所定ビットシ
フトしつつ保持する被除数レジスタと、加算又は減算を
行なう加減算器と、除算実行中に加減算器の出力を格納
し、除算終了時に剰余を格納する剰余レジスタと、商を
格納する商レジスタと、仮の部分剰余が0であるか否か
を判別する判別器と、被除数と除数の符号を比較する第
1の比較器と、加減算器で行った演算結果の符号が被除
数の符号と同符号か否かを比較する第2の比較器と、加
減算器の演算結果、判別器の判別結果ならびに第1及び
第2の比較器の比較結果を受けて、商を決定し、商の値
ならびに第1の比較器の比較結果に応じて次サイクル時
の加算又は減算を加減算器に指示する制御回路を具備
し、剰余レジスタに格納された内容の所定ビットに前記
被除数レジスタに格納された内容の上位所定ビットを連
結し、第1の比較器の比較結果にしたがって前記連結し
た連結値と除数を加減算器により加算又は減算し、第2
の比較器の比較結果にしたがって連結値と除数の絶対値
比較を行い、この比較結果ならびに判別器による判別結
果に基づいて商を決定し、加算又は減算結果を剰余レジ
スタに格納し、次サイクルの連結値と除数を前サイクル
で得られた商に基づく制御回路の指示にしたがって加減
算器により加算又は減算する動作と、この演算結果にし
たがって前記商を決定したと同様にして商を決定する動
作と、被除数レジスタの値を所定ビットシフトして格納
する動作と、加減算器の演算結果を剰余レジスタに格納
する動作を所定の回数反復して行い、前サイクルで得ら
れた商に応じて剰余レジスタに格納された値を補正して
剰余を求め、第1の比較器の比較結果に応じて商レジス
タに格納された値の補数をとり商を求め、符号付の被除
数と符号付の除数の除算を行うことを特徴とする。
【0032】請求項3記載の発明は、請求項1又は2記
載の除算回路において、前記被除数レジスタと前記商レ
ジスタを兼用して兼用レジスタとし、除算実行中は兼用
レジスタに格納された値の所定ビットを順に所定ビット
ずつ上位側へシフトし、商は兼用レジスタの下位側から
順次格納されることを特徴とする。
【0033】請求項4記載の発明は、請求項1,2又は
3記載の除算回路において、符号なし除算を行う場合は
被除数ならびに除数の上位側に0を拡張し、符号付除算
を行う場合には被除数ならびに除数にそれぞれの符号ビ
ットを符号拡張し、符号付除算及び符号なし除算を同一
の除算回路で行うことを特徴とする。
【0034】
【発明の実施の形態】以下、図面を用いてこの発明の実
施形態を説明する。
【0035】図1は請求項1記載の発明の一実施形態に
係る除算回路の構成を示す図である。
【0036】この実施形態は、前述した従来の回復型の
除算アルゴリズムを基本にして符号付の被除数ならびに
除数により除算を行うものであり、前述した回復型の除
算アルゴリズムと大きく異なるところは、商の判定手法
である。
【0037】商として下位からkビット目に1が立つか
否かの判定は、その時点での部分剰余の一部と除数×2
k-1 との絶対値の比較による。部分剰余の一部の絶対値
が、除数×2k-1 の絶対値よりも小さい場合には商は0
となり、それ以外は商は1となる。絶対値の比較は、部
分剰余と除数とが同符号の場合は、部分剰余の一部から
除数の減算を行い、異符号の場合には加算を行えばよ
い。その結果が、部分剰余と同符号であれば部分剰余の
一部の絶対値が大きいことになり、商として1が得られ
る。一方、演算結果が部分剰余と異符号になれば商は0
になる。これに対して、加減算結果の符号の比較で決定
できないのは、加減算結果の絶対値が0の場合である。
この場合には、演算結果の符号によらず部分剰余の一部
と除数の絶対値は等しいことになり商は1となる。この
実施形態の除算回路では、この状態を検出するための従
来にはない本発明に特徴的な構成を備えている。以下、
この実施形態の除算回路の具体的な構成ならびに作用を
説明する。
【0038】図1において、この実施形態の除算回路
は、2の補数表現された符号付きnビットの被除数を
a、mビットの除数をbとすると、符号付の除数を格納
するmビットの除数レジスタ1と、除算開始時に符号付
の被除数を格納し除算実行中に部分剰余の下位側を格納
してシフトするnビットの被除数レジスタ2と、除算実
行中に部分剰余の上位側を格納してシフトし除算終了時
に剰余を格納するmビットの剰余レジスタ3と、商を順
次格納するnビットの商レジスタ4と、加算又は減算を
行なうmビットの加減算器5と、剰余レジスタ3に格納
された内容の最上位ビットを除く値の下位に被除数レジ
スタ2に格納された内容の上位所定ビットを連結した連
結値又は加減算器5の演算結果を選択して剰余レジスタ
3に出力するセレクタ6と、被除数レジスタ2の出力の
下位(n−1)ビットがすべて0であるか否かを判別す
る判別器(all zero detector)7と、加減算器5の出力
のうち下位(m−1)ビットがすべて0であるか否かを
判別する判別器(all zero detector)8と、被除数と除
数の符号を比較する第1の比較器9と、加減算器5で行
った演算結果の符号が部分剰余の符号と同符号か否かを
比較する第2の比較器10と、加減算器5の演算結果、
判別器7、8の判別結果ならびに第2の比較器10の比
較結果を受けて、商を決定し、セレクタ6の選択を制御
する制御回路11を備えている。
【0039】判別器7、8は例えば図2に示すように構
成される。図2において判別器7、8は、クロック信号
(CLK)に同期したプリチャージ型の回路であり、ク
ロック信号を受けるPチャネルのFET(電界効果トラ
ンジスタ)21と、0か否かを判別しようとするデー
タ、ここでは被除数レジスタ2の出力の下位(n−1)
ビット又は加減算器5の出力のうち下位(m−1)ビッ
トを受けて並列接続されたNチャネルのFET22と、
クロック信号を受けるNチャネルのFET23が高位電
源と低位電源との間に接続され、クロック信号がハイレ
ベル時にFET22に与えられたデータのすべてが0の
場合はバッファ24、25を介して判別結果の1が出力
され、FET22に与えられたデータの内ひとつでも0
でない場合にはバッファ24、25を介して判別結果の
0が出力されて構成される。
【0040】次に、このような構成の除算回路を用いて
符号付の除算動作を動作サイクルにしたがって説明す
る。
【0041】まず、被除数及び除数の符号によらず被除
数aを被除数レジスタ2に、除数bを除数レジスタ1に
ロードする。また、剰余レジスタ3には被除数aの符
号、すなわちここでは被除数の最上位ビットのデータを
全ビットにロードし、商レジスタ4には全ビットに0を
ロードする(第1サイクル、作用1)。
【0042】次に、剰余レジスタ3と被除数レジスタ2
をそれぞれ1ビット左(上位)にシフトし、シフト後の
両レジスタの連結した内容の上位mビットのデータ(連
結値)をP’とする(第2サイクル、作用2−1)。続
いて、被除数aと除数bの符号が同一の場合は、加減算
器5によりデータP’から除数レジスタ1の出力を減じ
る。一方、被除数aと除数bの符号が異なる場合には、
加減算器5によりデータP’と除数レジスタ1の出力を
加算する(第2サイクル、作用2−2)。続いて、被除
数レジスタ2は出力を左に1ビットシフトして格納す
る。被除数レジスタ2の最下位ビットには0を格納する
(第2サイクル、作用2−3)。
【0043】続いて、商レジスタ4は出力を左に1ビッ
トシフトして格納する。商レジスタ4の最下位ビットに
格納するデータは次のようにして決定する。ただし、判
別器7、8の出力がともに1の場合は、この時点での部
分剰余と除数×2k-1 との絶対値が等しいことを意味す
る。(n−k+1)は加減算の回数に相当する。また、
基本的には被除数aの符号と部分剰余の符号は同じにな
るので、ここでは被除数aの符号を使用して商を決定す
る。加減算器5の出力の符号と被除数aの符号が同一の
場合は、商レジスタ4の最下位に商として1を書き込
む。加減算器5の出力の符号が被除数aの符号と異な
り、かつ判別器7及び判別器8の出力がともに1である
場合は、商レジスタ4の最下位に商として1を書き込
み、判別器7又は判別器8の出力のいずれか一方が0の
場合には、商レジスタ4の最下位に商として0を書き込
む(第2サイクル、作用2−4)。続いて、前作用(2
−4)で決定した商の値が1ならば減算器5の出力を剰
余レジスタ3に格納し、商の値が0ならば剰余レジスタ
3には、データP’の値を書き込む(第2サイクル、作
用2−5)。
【0044】次に、前サイクルの作用2−1〜2−5を
さらに(n−1)回繰り返す(第3サイクル〜第(n+
1)サイクル)。
【0045】次に、被除数と除数の符号が同一の場合
は、商レジスタ4の出力はそのまま商レジスタ4に保存
される。一方、被除数と除数の符号が異なる場合には、
商レジスタ4の出力の補数をとり商レジスタ4に書き戻
される(第(n+2)サイクル、作用4)。
【0046】最後に、上述した動作の結果として、商レ
ジスタ4には商が格納され、剰余レジスタ3には剰余が
格納され、符号付の除算が終了する(第(n+3)サイ
クル、作用5)。
【0047】このようにして除算処理が行われ、例えば
前述した従来例と同様に被除数a=1001(2進数)
(10進数で−7を示す)と除数b=0011(2進
数)(10進数で3を示す)の除算例を図3に示す。な
お、図3において、除数レジスタ1の内容をBと表記
し、剰余レジスタ3の内容をPと表記し、被除数レジス
タ2の内容をAと表記し、商レジスタ4の内容をQと表
記している。
【0048】この実施形態では、被除数レジスタ2と商
レジスタ4を別のレジスタに分けたが、図6に示す従来
構成のように一つのレジスタを共用するようにすればレ
ジスタの本数を削減することができ、面積の削減が可能
になる。
【0049】上記実施形態にあっては、符号付きの被除
数及び/又は除数をそのまま扱うことにより、図6に示
す従来例と比較して、除数、被除数の補数の算出、及び
剰余の補正を行う必要がなくなり、除算時間の短縮を実
現することができる。
【0050】図4は請求項2記載の発明の一実施形態に
係る除算回路の構成を示す図である。
【0051】この実施形態は、前述した従来の非回復型
の除算アルゴリズムを基本にして符号付の被除数ならび
に除数により除算を行うものであり、前述した非回復型
の除算アルゴリズムと大きく異なるところは、商の判定
手法である。商が0の場合は、正確な部分剰余の代わり
に仮の部分剰余として加減算器の出力を仮の部分剰余と
して一旦レジスタに格納しておき、除数と被除数が同符
号ならば、前のサイクルでは絶対値比較として減算を行
なっている。正確な部分剰余を求めるためには、(仮の
部分剰余+除数)を行わなければならない。したがっ
て、次のサイクルで、仮の部分剰余と除数の加算を行な
えばよい((仮剰余+除数)×2−除数=仮剰余×2+
除数による)。一方、除数と被除数が異符号ならば、前
のサイクルでは絶対値比較として加算を行なっている。
正確な部分剰余を求めるためには、(剰余−除数)を行
なわなければならない。したがって、次のサイクルで、
仮の部分剰余と除数との減算を行なえばよい((仮剰余
−除数)×2+除数=仮剰余×2−除数による)。これ
により、上記実施形態の除算と同じ結果が得られる。
【0052】図4において、この実施形態の除算回路
は、2の補数表現された符号付きnビットの被除数を
a、mビットの除数をbとすると、図1に示す構成に比
べて、図1に示すセレクタ6を削除して剰余レジスタ3
に加減算器5の出力を入力し、図1に示す制御回路11
に代えて、第1及び第2の比較器9,10と判別器7、
8の判別結果を受けて商を決定するとともに加減算器5
に加算又は減算を指示する制御回路31を設け、他の構
成は図1に示すものと同様であり、図1と同符号をもっ
て示す。
【0053】次に、このような構成の除算回路を用いて
符号付の除算動作を動作サイクルにしたがって説明す
る。
【0054】まず、被除数及び除数の符号によらず被除
数aを被除数レジスタ2に、除数bを除数レジスタ2に
ロードする。剰余レジスタ3には被除数aの符号、ここ
では被除数aの最上位ビットのデータを全ビットにロー
ドし、商レジスタ4には全ビットに0をロードする(第
1サイクル、作用1)。
【0055】次に、剰余レジスタ3及び被除数レジスタ
2をそれぞれ1ビット左にシフトし、シフト後の両レジ
スタの連結した内容の上位mビットのデータ(連結値)
をP’とする(第2サイクル、作用2−1)。続いて、
被除数aと除数bの符号が同一の場合は、加減算器5に
よりデータP’から除数レジスタ1の出力を減じ、被除
数aと除数bの符号が異なる場合には、加減算器5によ
りデータP’と除数レジスタ1の出力を加算する(第2
サイクル、作用2−2)。続いて、被除数レジスタ2は
出力を左に1ビットシフトして格納し、被除数レジスタ
2の最下位ビットには0を格納する(第2サイクル、作
用2−3)。
【0056】続いて、商レジスタ4は出力を左に1ビッ
トシフトして格納する。商レジスタ4の最下位ビットに
格納するデータは次のようにして決定する。ただし、判
別器7、8の出力がともに1の場合は、この時点での部
分剰余と除数×2k-1 との絶対値が等しいことを意味す
る。(n−k+1)は加減算の回数に相当する。また、
基本的には被除数aの符号と、部分剰余の符号は同じに
なるので、ここでは被除数aの符号を使用して商を決定
する。加減算器5の出力の符号と被除数aの符号が同一
の場合は、商レジスタ4の最下位に商として1を書き込
む。一方、加減算器5の出力の符号が被除数aの符号と
異なり、かつ判別器7、8の出力がともに1である場合
には商レジスタ4の最下位に商として1を書き込み、判
別器7、8の出力のいずれか一方でも0の場合には、商
レジスタ4の最下位に商として0を書き込む(第2サイ
クル、作用2−4)。続いて、加減算器5の出力を被除
数レジスタ3に格納する(第2サイクル、作用2−
5)。
【0057】次のサイクルでは、前サイクルの作用2−
4で算出した商が1の場合は、剰余レジスタ3、被除数
レジスタ2をそれぞれ1ビット左にシフトする。被除数
aと除数bの符号が同一の場合には、加減算器5により
シフト後の両レジスタの連結した上位mビットのデータ
P’から除数レジスタ1の出力を減じ、被除数aと除数
bの符号が異なる場合には加減算器5によりデータP’
と除数レジスタ1の出力を加算する。一方、前サイクル
の作用2−4で算出した商が0の場合には、剰余レジス
タ3、被除数レジスタ2をそれぞれ1ビット左にシフト
する。被除数aと除数bの符号が同一の場合は、加減算
器5によりデータP’と除数レジスタ1の出力とを加算
し、被除数aと除数bの符号が異なる場合には、加減算
器5によりデータP’から剰余レジスタ1の出力を減じ
る(第3サイクル、作用3−1)。続いて、被除数レジ
スタ2は出力を左に1ビットシフトして格納し、被除数
レジスタ2の最下位ビットには0を格納する(第3サイ
クル、作用3−2)。続いて、商レジスタ4は出力を左
に1ビットシフトして格納する。商レジスタ4の最下位
ビットに格納するデータを(第2サイクル、作用2−
4)で行ったのと同様の方法で決定し商レジスタ4に格
納する(第3サイクル、作用3−3)。続いて、加減算
器5の出力を剰余レジスタ3に格納する(第3サイク
ル、作用3−4)。
【0058】次に、第3サイクルの作用3−1〜3−4
をさらに(n−2)回繰り返す(第4サイクル〜第(n
+1)サイクル)。
【0059】次に、直前のサイクルで算出した商が1の
場合は、剰余レジスタ3はそのままの値を保持し、算出
した商が0でかつ被除数aと除数bの符号が同一の場合
は、加減算器5により剰余レジスタ3の出力と除数レジ
スタ1の出力とを加算し、算出した商が0でかつ被除数
aと除数bの符号が異なる場合には、加減算器5により
剰余レジスタ3の出力から除数レジスタ1の出力を減
じ、その結果を剰余レジスタ3に格納する(第(n+
2)サイクル、作用5)。
【0060】次に、被除数と除数の符号が同一の場合
は、被除数レジスタ2の出力はそのまま被除数レジスタ
2に保存され、被除数と除数の符号が異なる場合には、
被除数レジスタ2の出力の2の補数をとり被除数レジス
タ2に書き戻される(第(n+3)サイクル、作用
6)。
【0061】最後に、商レジスタ4には商が格納され、
剰余レジスタ3には剰余が格納されて符号付の除算が終
了する(第(n+4)サイクル、作用7)。
【0062】このようにして除算処理が行われ、例えば
前述した従来例と同様に被除数a=1001(2進数)
(10進数で−7を示す)と除数b=0011(2進
数)(10進数で3を示す)の除算例を図5に示す。な
お、図5において、除数レジスタ1の内容をBと表記
し、剰余レジスタ3の内容をPと表記し、被除数レジス
タ2の内容をAと表記し、商レジスタ4の内容をQと表
記している。
【0063】この実施形態では、被除数レジスタ2と商
レジスタ4を別のレジスタに分けたが、図8に示す従来
構成のように一つのレジスタを共用するようにすればレ
ジスタの本数を削減することができ、面積の削減が可能
になる。
【0064】上記実施形態にあっては、符号付きの被除
数及び/又は除数をそのまま扱うことにより、図8に示
す従来例と比較して、除数、被除数の2の補数の算出、
及び剰余の補正を行う必要がなくなり、除算時間の短縮
を実現することができる。また、図1に示す実施形態に
比べて、最後に剰余の補正のための加減算の回数が一回
多くなるが、引き戻し分の時間を削減できるのでサイク
ル当たりの演算にかかる時間を短縮することができる。
【0065】また、符号なし除算を行う場合は被除数な
らびに除数の上位側に0を拡張し、符号付の除算を行う
場合には被除数ならびに除数にそれぞれの符号ビットを
符号拡張するようにすれば、少ないハードウェア量の増
加で符号付除算及び符号なし除算を同一の除算回路で行
うことができる。
【0066】
【発明の効果】以上説明したように、この発明によれ
ば、符号が付いた状態での回復型又は非回復型の除算過
程において、部分剰余の一部と除数との絶対値の比較を
行ない、部分剰余の一部が大きい場合又は双方が等しい
場合はその桁の商を1とし、小さい場合には商を0とす
るようにしたので、除数、被除数及び剰余の補数をとる
必要がなくなり、除算時間を短縮することが可能とな
る。
【図面の簡単な説明】
【図1】請求項1記載の発明の一実施形態に係わる除算
回路の構成を示す図である。
【図2】図1に示す判別器の構成を示す図である。
【図3】図1に示す構成における具体的な除算例を示す
図である。
【図4】請求項2記載の発明の一実施形態に係わる除算
回路の構成を示す図である。
【図5】図4に示す構成における具体的な除算例を示す
図である。
【図6】従来の除算回路の一構成例を示す図である。
【図7】図6に示す構成における具体的な除算例を示す
図である。
【図8】従来の除算回路の他の構成例を示す図である。
【図9】図8に示す構成における具体的な除算例を示す
図である。
【符号の説明】
1 除数レジスタ 2 被除数レジスタ 3 剰余レジスタ 4 商レジスタ 5 加減算器 6 セレクタ 7,8 判別器 9,10比較器 11,31 制御回路 21,22,23 FET 24,25 バッファ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 符号付の除数を格納する除数レジスタ
    と、 除算開始時に符号付の被除数を格納し、除算実行中には
    レジスタ内の値を所定ビットシフトしつつ保持する被除
    数レジスタと、 加算又は減算を行なう加減算器と、 除算実行中に加減算器の出力を格納し、除算終了時に剰
    余を格納する剰余レジスタと、 商を格納する商レジスタと、 剰余レジスタに格納された内容の所定ビットに被除数レ
    ジスタに格納された内容の上位所定ビットを連結した連
    結値又は加減算器の演算結果を選択して剰余レジスタに
    出力するセレクタと、 部分剰余が0であるか否かを判別する判別器と、 被除数と除数の符号を比較する第1の比較器と、 加減算器で行った演算結果の符号が被除数の符号と同符
    号か否かを比較する第2の比較器と、 加減算器の演算結果、判別器の判別結果ならびに第2の
    比較器の比較結果を受けて、商を決定し、セレクタの選
    択を制御する制御回路を具備し、 第1の比較器の比較結果にしたがって連結値と除数を加
    減算器により加算又は減算し、第2の比較器の比較結果
    にしたがって連結値と除数の絶対値比較を行い、この比
    較結果ならびに判別器による判別結果に基づいて商を決
    定し、商の値にしたがってセレクタにより選択された演
    算結果又は連結値を剰余レジスタに格納し、被除数レジ
    スタはレジスタ内の値を所定ビットシフトして格納する
    動作を所定の回数反復して行い、被除数と除数の符号に
    応じて商レジスタに格納された値の補数をとり、符号付
    の被除数と符号付の除数の除算を行うことを特徴とする
    除算回路。
  2. 【請求項2】 符号付の除数を格納する除数レジスタ
    と、 除算開始時に符号付の被除数を格納し、除算実行中には
    レジスタ内の値を所定ビットシフトしつつ保持する被除
    数レジスタと、 加算又は減算を行なう加減算器と、 除算実行中に加減算器の出力を格納し、除算終了時に剰
    余を格納する剰余レジスタと、 商を格納する商レジスタと、 仮の部分剰余が0であるか否かを判別する判別器と、 被除数と除数の符号を比較する第1の比較器と、 加減算器で行った演算結果の符号が被除数の符号と同符
    号か否かを比較する第2の比較器と、 加減算器の演算結果、判別器の判別結果ならびに第1及
    び第2の比較器の比較結果を受けて、商を決定し、商の
    値ならびに第1の比較器の比較結果に応じて次サイクル
    時の加算又は減算を加減算器に指示する制御回路を具備
    し、 剰余レジスタに格納された内容の所定ビットに前記被除
    数レジスタに格納された内容の上位所定ビットを連結
    し、第1の比較器の比較結果にしたがって前記連結した
    連結値と除数を加減算器により加算又は減算し、第2の
    比較器の比較結果にしたがって連結値と除数の絶対値比
    較を行い、この比較結果ならびに判別器による判別結果
    に基づいて商を決定し、加算又は減算結果を剰余レジス
    タに格納し、 次サイクルの連結値と除数を前サイクルで得られた商に
    基づく制御回路の指示にしたがって加減算器により加算
    又は減算する動作と、この演算結果にしたがって前記商
    を決定したと同様にして商を決定する動作と、被除数レ
    ジスタの値を所定ビットシフトして格納する動作と、加
    減算器の演算結果を剰余レジスタに格納する動作を所定
    の回数反復して行い、 前サイクルで得られた商に応じて剰余レジスタに格納さ
    れた値を補正して剰余を求め、第1の比較器の比較結果
    に応じて商レジスタに格納された値の補数をとり商を求
    め、符号付の被除数と符号付の除数の除算を行うことを
    特徴とする除算回路。
  3. 【請求項3】 前記被除数レジスタと前記商レジスタを
    兼用して兼用レジスタとし、除算実行中は兼用レジスタ
    に格納された値の所定ビットを順に所定ビットずつ上位
    側へシフトし、商は兼用レジスタの下位側から順次格納
    されることを特徴とする請求項1又は2記載の除算回
    路。
  4. 【請求項4】 符号なし除算を行う場合は被除数ならび
    に除数の上位側に0を拡張し、符号付除算を行う場合に
    は被除数ならびに除数にそれぞれの符号ビットを符号拡
    張し、符号付除算及び符号なし除算を同一の除算回路で
    行うことを特徴とする請求項1,2又は3記載の除算回
    路。
JP08818797A 1997-04-07 1997-04-07 除算回路 Expired - Fee Related JP3544821B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP08818797A JP3544821B2 (ja) 1997-04-07 1997-04-07 除算回路
US09/055,993 US6047305A (en) 1997-04-07 1998-04-07 Division circuit not requiring taking complements of divisor, dividend and remainder
US09/521,221 US6477557B1 (en) 1997-04-07 2000-03-08 Division circuit not requiring taking complements of divisor, dividend and remainder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08818797A JP3544821B2 (ja) 1997-04-07 1997-04-07 除算回路

Publications (2)

Publication Number Publication Date
JPH10283164A true JPH10283164A (ja) 1998-10-23
JP3544821B2 JP3544821B2 (ja) 2004-07-21

Family

ID=13935907

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08818797A Expired - Fee Related JP3544821B2 (ja) 1997-04-07 1997-04-07 除算回路

Country Status (2)

Country Link
US (2) US6047305A (ja)
JP (1) JP3544821B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073323A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Ind Co Ltd 演算処理装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2341950B (en) * 1998-06-10 2003-03-12 Lsi Logic Corp Digital processing
JP2001034472A (ja) * 1999-07-16 2001-02-09 Mitsubishi Electric Corp データ処理装置および除算、剰余算アルゴリズム
US7237000B2 (en) * 2001-08-16 2007-06-26 Texas Instruments Incorporated Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly
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
JP5169760B2 (ja) * 2008-01-28 2013-03-27 富士通株式会社 通信装置、受信データサイズチェック方法、倍数判定回路および倍数判定方法
US8261176B2 (en) * 2009-06-30 2012-09-04 Sandisk Il Ltd. Polynomial division
JP5397061B2 (ja) * 2009-07-21 2014-01-22 富士通株式会社 演算処理装置、その制御方法および演算処理プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5016210A (en) * 1989-11-15 1991-05-14 United Technologies Corporation Binary division of signed operands
US5208769A (en) * 1991-09-19 1993-05-04 Zilog, Inc. Unsigned integer multiply/divide circuit
FR2720172B1 (fr) * 1994-05-20 1996-06-28 Sgs Thomson Microelectronics Dispositif de mise en Óoeuvre numérique d'une opération de division.
US5574677A (en) * 1994-11-23 1996-11-12 Exponential Technology, Inc. Adaptive non-restoring integer divide apparatus with integrated overflow detect

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073323A (ja) * 2000-08-28 2002-03-12 Matsushita Electric Ind Co Ltd 演算処理装置

Also Published As

Publication number Publication date
US6047305A (en) 2000-04-04
US6477557B1 (en) 2002-11-05
JP3544821B2 (ja) 2004-07-21

Similar Documents

Publication Publication Date Title
EP1058184A2 (en) High radix division
US4893268A (en) Circuit and method for accumulating partial products of a single, double or mixed precision multiplication
JP2835153B2 (ja) 高基数除算器
US5309383A (en) Floating-point division circuit
JP2585649B2 (ja) 除算回路
US4992969A (en) Integer division circuit provided with a overflow detector circuit
US5815423A (en) Parallel processing division circuit
JP3544821B2 (ja) 除算回路
US9009209B2 (en) Processor, control method of processor, and computer readable storage medium storing processing program for division operation
JPS63123125A (ja) 浮動小数点数の加算装置
JP2000311079A (ja) 実数演算器
JPH0511980A (ja) 桁あふれ検出方式とその回路
JP2509279B2 (ja) 浮動小数点数一固定小数点数変換装置
JP2664750B2 (ja) 演算装置及び演算処理方法
JP2605848B2 (ja) 非回復型除算器
JPH0736149B2 (ja) シフトフラグ生成回路
JP4428778B2 (ja) 演算装置及び演算方法並びに計算装置
KR100385233B1 (ko) 데이터 프로세싱 시스템의 익스포넌트 유닛
JP2591250B2 (ja) データ処理装置
KR100198783B1 (ko) 직렬처리 나눗셈기의 구동 방법
JPH01274234A (ja) 除算装置
JP2993119B2 (ja) 浮動小数点演算装置
JPH1040073A (ja) ディジタル信号処理装置
JPH0413734B2 (ja)
JPH08212052A (ja) 正規化データ生成回路

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040330

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040406

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080416

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090416

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100416

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110416

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130416

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140416

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees