JPS63278141A - 除算回路 - Google Patents

除算回路

Info

Publication number
JPS63278141A
JPS63278141A JP62114124A JP11412487A JPS63278141A JP S63278141 A JPS63278141 A JP S63278141A JP 62114124 A JP62114124 A JP 62114124A JP 11412487 A JP11412487 A JP 11412487A JP S63278141 A JPS63278141 A JP S63278141A
Authority
JP
Japan
Prior art keywords
register
dividend
divisor
partial
stored
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
JP62114124A
Other languages
English (en)
Other versions
JP2605715B2 (ja
Inventor
Kazunori Takahashi
一徳 高橋
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP62114124A priority Critical patent/JP2605715B2/ja
Publication of JPS63278141A publication Critical patent/JPS63278141A/ja
Application granted granted Critical
Publication of JP2605715B2 publication Critical patent/JP2605715B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は符号なし整数の除算を行う除算回路に関するも
のである。
従来の技術 従来の除算回路の構成図を第4図に示す。
2/、− 2は除算演算の開始時に被除数を入力して演算中は部分
剰余を、演算終了時には演算結果の余シを保持する被除
数レジスタ、3は除数を入力し保持する除数レジスタ、
12は被除数レジスタ2の値と除数レジスタ3の値との
加算あるいは減算を行う演算回路、19は演算回路12
の演算を示す演算フラグ、13は演算回路12のキャリ
ー出力を保持するキャリフラグ、20は演算回路12の
出力を被除数レジスタ2に入力する時に左に1ビツトシ
フトするシフタ、10は部分商を保持し、演算終了時に
は演算結果の商を保持する部分商レジスタ、11はキャ
リフラグ13より次の演算フラグを生成する演算制御回
路、18は除算演算処理を制御するタイミング制御回路
、21はデータの入出力を行う入出力データバスである
以上のように構成された従来の除算回路について、以下
にその動作を説明する。
除算の始めK、被除数及び除数をそれぞれ被除数レジス
タ2と除数レジスタ3に入力し、演算フラグ19を1に
設定する。
31.7 演算回路12において、演算フラグ19が00ときは被
除数レジスタ2と除数レジスタ3の加算を、演算フラグ
19が1のときは被除数レジスタ2から除数レジスタ3
の減算を行う。演算回路12の加減算の結果によジオ−
バーフローが発生した場合は、キャリフラグ13を1に
、オーバーフローが発生しない場合は、○に設定する。
このキャリフラグ13を部分商レジスタ10の右入力よ
シ入力し、部分商レジスタ1oの内容を左に1ビツトシ
フトする。さらにキャリフラグ13は演算制御回路11
を通して、演算フラグ19に入力される。演算回路12
の出力はシフタ20を通して左に1ビツトシフトし被除
数レジスタ2に入力される。
以上の加減算およびシフトは、除数のビット長+1回繰
り返される。
演算の結果、商は商レジスタ10に、余りは被除数レジ
スタ2に設定される。
(「コンピュータの高速演算方式」近代科学社、堀越彌
監訳 j214〜224)。
発明が解決しようとする問題点 しかしながら上記のような構成では、被除数及び除数の
内容にかかわらず処理に要する加減算及びシフトは除数
のビット長+1回繰り返されるため、除算に要する演算
時間が長いという問題点を有していた。
本発明はかかる点に鑑み、被除数又は除数の内容によっ
て除算に要する演算時間の短縮が可能な除算回路を提供
することを目的とする。
問題点を解決するだめの手段 本発明はnビットの被除数及び除数の最もMSB側にあ
る1″のビット位置を出力し、入力の全てのビットが0
″のときはnを出力するプライオリティエンコーダと、
被除数を前記プライオリティエンコーダから得られるビ
ット数シフトするバレルシフタと、被除数又は部分剰余
と除数の加算・減算を実行できる演算回路とを備えた除
算回路である。
作用 本発明は前記した構成により、プライオリティエンコー
ダで被除数と除数の桁数を出力し、バレルシフタで被除
数をその桁数差だけシフトした後、被除数と除数の加減
算およびシフトを行うことで演算時間を短縮することが
できる。まだ、プライオリティエンコーダの出力及び加
減算結果から零除算や商がOになる場合、商が被除数に
等しくなる場合、オーバーフローが容易にかつ高速に検
出できる。
実施例 第1図は本発明の実施例における除算回路の構成を示す
ものである。第1図において、1は被除数の上位又はQ
を保持する被除数レジスタ人、2は被除数の下位又は被
除数を保持する被除数レジスタB、3は除数を保持する
除数レジスタ、4はシフトカウントを保持するシフトカ
ウントレジスタ、5はシフトカウントレジスタ4の値だ
け左にシフ)するバレルシフタ、6はnビットの入力デ
ータの最もMSB側にある1“′のビット位置を出力し
、入力の全てのビットが゛0パのときはnを出力するプ
ライオリティエンコーダ、12は加算・減算・通過がで
きる演算回路、13は演算回路12のキャリー出力を保
持するキャリーフラグ、11はキャリーフラグ13によ
り演算回路12の演算を決める演算制御回路、9は演算
処理中は部分剰余を保持し、演算終了時は剰余を保持す
る部分剰余レジスタ、10は演算処理中は部分商を保持
し、演算終了時は商を保持する部分商レジスタ、8はキ
ャリーフラグ13をキャリー人力とし、部分商レジスタ
10を左へ1ビツトシフト又はバレルシフタの出力を通
過させる部分商シフタ、7は部分商シフタ8のキャリー
出力をキャリー人力とし、演算処理中は演算回路12の
出力を左へ1ビツトシフト又は除算前処理中は入力デー
タを通過させる部分剰余シフタ、14はデータを転送す
るデータバスA115はデータを転送するデータバスB
、16は部分剰余レジスタ9と除数レジスタ3の加減算
とシフトの繰り返し回数をカウントするループカウンタ
、17はプライオリティエンコーダ6からの入力で、除
数0.除数1を検出し、演算回路12の出力で商が0に
なる場合と商のオ7、、−7゜ −バー70−ヲ検出し、ループカウンタ16及び回路全
体を制御する制御回路、22は制御回路1了が除数0を
検出したとき、1を設定する零除算フラグ、23は制御
回路17がオーバーフローを検出したとき、1を設定す
るオーバーフローフラグ、24.26は3人力1出力の
セレクタ、26は2人力1出力のセレクタである。
以上のように構成された本芙施例の除算回路について以
下その動作を説明する。
第1図に示す構成図を第2図に示すフローチャートに従
って説明する。ここで、被除数nビット、除数nピット
のとき通常除算、被除数2nビツト、除数nビットのと
き拡張除算と呼ぶことにする。
まず、通常除算について述べる。(イ)0を被除数レジ
スタA1に、被除数を被除数レジスタB2に、除数を除
数レジスタ3にそれぞれ入力する。(0)被除数レジス
タA1はデータバスB15からプライオリティエンコー
ダ6に入力され、その出力(値はピット数nに等しい)
は演算回路12、データバス人14、部分剰余シフタ7
をそのまま通過して部分剰余レジスタ9に格納される。
(ハ)被除数レジスタB2はデータバスB15からプラ
イオリティエンコーダ6に入力され、その出力(k+と
する)は演算回路12で部分剰余レジスタ9の値nと減
算(n1=n  k+)を行い、その出力n1はデータ
バスA14から部分剰余シフタ7をそのまま通過して部
分剰余レジスタ9に格納される。に)除数レジスタ3は
データバスB15からプライオリティエンコーダ6に入
力され、その出力(k2とする)は演算回路12で部分
剰余レジスタ9の値n1と加算(n2=L++に2)を
行い、その出力n2はデータバスA14からシフトカウ
ントレジスタ4に格納される。ここで、制御回路17に
おいてプライオリティエンコーダ6の出力に2と、演算
回路12の出力n2をチェックし、に”)) k 2 
= nのとき除数が0であるから零除算フラグ22をセ
ットし、除算を終了する。に)また、k2=oのとき除
数は1であるから被除数レジスタB2をバレルシフタ6
と部分商シフタ8とをそのまま通過して部分商レジスタ
1oに格納し、○を部分剰余レジスタ9に格納−、、−
/ して除算を終了する。啓)また、n 2 ) nのとき
に1〈k2であることを示し、被除数〈除数であるから
商が0になり、0を部分商レジスタ1oに格納し、被除
数レジスタB2をデータバスB15、演算回路12、デ
ータバスA14、部分剰余シフタ7をいずれもそのまま
通過して部分剰余レジスタ9に格納し除算を終了する。
(ホ))被除数レジスタAI、被除数レジスタB2はバ
レルシフタ5でシフトカウントレジスタ4の値n2 ピ
ットだけ左にシフトし、部分剰余シフタ7、部分商シフ
タ8を通過して部分剰余レジスタ9、部分商レジスタ1
0にそれぞれ格納される。一方、キャリーフラグ13に
1″を格納する。CI+’)ループカウンタ16に繰り
返し回数N(=n−n2)をセットする。(へ)キャリ
ーフラグ13を演算制御回路11に入力し、キャリーフ
ラグ13が0のとき部分剰余レジスタ9と除数レジスタ
3の加算を、キャリーフラグ13が1のとき部分剰余レ
ジスタ9から除数レジスタ3の減算を、それぞれ演算回
路12において行うように制御し、その時生じたキャリ
ーはキャリーフラグ131o/、−7、 に保持すると共に部分商シフタ8のキャリー人力として
、部分商レジスタ10は部分商シフタ8で左へ1ピツト
シフトされ、再び部分商レジスタ1゜に格納される。同
時に演算回路12の出力はデータバスA14を経由して
、部分商シフタ8のキャリー出力をキャリー人力とする
部分剰余シフタ7で左へ1ビツトシフトされて部分剰余
レジスタ9に格納される。(ト)ループカウンタ16は
カウントダウン(N4−N−1)LSN=oになるまで
(へ)を繰シ返す。(7)終了時、商は部分商レジスタ
1oに、剰余は部分剰余レジスタ9に格納されている。
次に、拡張除算について述べる。(す)被除数上位を被
除数レジスタA1に、被除数下位を被除数レジスタB2
に、除数を除数レジスタ3にそれぞれ格納する。休)除
数レジスタ3はデータバスB15からプライオリティエ
ンコーダ6に入力され、その出力(k2とする)は演算
回路12、データバスA14、部分剰余シフタ7をいず
れもそのまま通過して部分剰余レジスタ9に格納される
。ψ)ここで、制御回路17において、ブライオリティ
エン114、 コーグ6の出力に2をチェックし、k2=nのとき除数
が0であるから、零除算フラグ22をセットし除算を終
了する。Q→被除数レジスタA1はデータバスB15か
らプライオリティエンコーダ6に入力し、その出力(k
oとする)は演算回路12で部分剰余レジスタ9の値に
2と減算(n2=kz ko)され、その出力n2はデ
ータバスA14からシフトカウントレジスタ4に格納さ
れる。(7)演算回路12の出力n2を制御回路17に
送り、n2くoならばkD>k2であることを示し、被
除数/2n〉除数であるから、オーバーフローフラグ2
3をセットし除算を終了する。以下(ホ)〜(1)を実
行する。
通常除算の前処理(イ)(ロ)(ハ)に)の具体例を第
3図aに、拡張除算の前処理(IJ)休)Qりの具体例
を第3図すにそれぞれ示す。このように、除算の最初に
被除数を一度にシフトするため、それだけ時間を短縮す
ることができる。
以上のように、本実施例によれば、プライオリティエン
コーダ6とバレルシフタ5を用いる最初の被除数のシフ
ト動作を含む前処理により、被除数と除数の演算及びシ
フト動作の回数を減らすことができ、除算時間を短縮す
ることができる。さらに、除数が0の場合、除数が1の
場合、商が○の場合、商がオーバーフローの場合の検出
を容易に高速に行うことができる。
発明の詳細 な説明したように、本発明によれば、プライオリティエ
ンコーダとバレルシフタを用いる最初の被除数のシフト
動作を含む前処理により、被除数と除数の演算及びシフ
ト動作の回数が減小することで、除算時間を短縮でき、
さらに、除数が○の場合、除数が1の場合、商が○の場
合、商がオーバーフローの場合の検出を容易に高速に行
うことができ、その実用的効果は大きい。
【図面の簡単な説明】
第1図は本発明における一実施例の除算回路の構成図、
第2図は同実施例の動作説明のだめのフローチャート、
第3図は同実施例の前処理部の具体例の説明図、第4図
は従来の除算回路の構成図である。 13、、−7 1・・・・・・被除数レジスタ人、2・・・・・・被除
数レジスタB、3・・・・・・除数レジスタ、4・川・
・シフトカウントレジスタ、6・・印・バレルシフタ、
6・・・・・・プライオリティエンコーダ、7・・・・
・・部分剰余シフタ、8・・・・・・部分商シフタ、9
・・・・・・部分剰余レジスタ、10・・・・・・部分
商レジスタ、11・・・・・・演算制御回路、12・・
・・・・演算回路、13・・・・・・キャリーフラグ、
14・・・・・・データバスA115・山・・データバ
スB、16・・・・・・ループカウンタ、17・・印・
制御回路、18・・印・タイミング制御回路、19・・
・・・・演算フラグ、20・・・・・・シフタ、21・
・・・・・入出力データバス、22・・・・・・零除算
フラグ、23・・・・・・オーバーフローフラグ、24
・・・・・・3人力1出力セレクタ、25・・印・3人
力1出力セレクタ、26・・・・・・2人力1出力セレ
クタ。

Claims (1)

    【特許請求の範囲】
  1. nビットの被除数及び除数の最もMSB側にある“1”
    のビット位置を出力し、入力の全てのビットが“0”の
    ときはnを出力するプライオリティエンコーダと、被除
    数を前記プライオリティエンコーダから得られるビット
    数シフトするバレルシフタと、被除数又は部分剰余と除
    数の加算・減算を実行できる演算回路と、前記プライオ
    リティエンコーダ及び前記演算回路の出力から零除算並
    びにオーバーフローを検出する制御回路とを備えたこと
    を特徴とする除算回路。
JP62114124A 1987-05-11 1987-05-11 除算回路 Expired - Fee Related JP2605715B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62114124A JP2605715B2 (ja) 1987-05-11 1987-05-11 除算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62114124A JP2605715B2 (ja) 1987-05-11 1987-05-11 除算回路

Publications (2)

Publication Number Publication Date
JPS63278141A true JPS63278141A (ja) 1988-11-15
JP2605715B2 JP2605715B2 (ja) 1997-04-30

Family

ID=14629735

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62114124A Expired - Fee Related JP2605715B2 (ja) 1987-05-11 1987-05-11 除算回路

Country Status (1)

Country Link
JP (1) JP2605715B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02212928A (ja) * 1989-02-14 1990-08-24 Fujitsu Ltd 2進整数除算処理方法
JPH052471A (ja) * 1991-06-26 1993-01-08 Kawasaki Steel Corp 除算装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53112627A (en) * 1977-03-14 1978-10-02 Toshiba Corp Division control system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS53112627A (en) * 1977-03-14 1978-10-02 Toshiba Corp Division control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02212928A (ja) * 1989-02-14 1990-08-24 Fujitsu Ltd 2進整数除算処理方法
JPH052471A (ja) * 1991-06-26 1993-01-08 Kawasaki Steel Corp 除算装置

Also Published As

Publication number Publication date
JP2605715B2 (ja) 1997-04-30

Similar Documents

Publication Publication Date Title
KR950006580B1 (ko) 나눗셈연산장치
KR900010545A (ko) 연산장치와 연산방법
JPS6244292B2 (ja)
JPS60140429A (ja) 10進乗算装置
JP2511527B2 (ja) 浮動小数点演算器
JPH0479015B2 (ja)
JPS63278141A (ja) 除算回路
JPH01302425A (ja) 浮動小数点加減算回路
JPH07107664B2 (ja) 乗算回路
JPS608933A (ja) 演算処理装置
JPH028936A (ja) コンピユータシステム
JPS61224036A (ja) 演算装置
JPS60167030A (ja) シフトフラグ生成方式及びシフトフラグ生成回路
JP2591250B2 (ja) データ処理装置
JP2706459B2 (ja) 小数乗算器を有するマイクロプロセッサ
SU1552176A1 (ru) Устройство дл вычитани дес тичных чисел
JPH025128A (ja) 除算回路
JP2615746B2 (ja) ビット操作回路
JPH04160533A (ja) マイクロ・プロセッサ
JPS61177542A (ja) 符号補数・符号絶対値併用加減算装置
JPH07104777B2 (ja) 浮動小数点加減算装置
JPH0330018A (ja) 10進演算方式
JPH0324614A (ja) シフト演算装置
JPH01128129A (ja) 浮動小数点加減算装置
JPH0736857A (ja) 信号処理プロセッサ

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees