JPH07160480A - 10進除算器 - Google Patents

10進除算器

Info

Publication number
JPH07160480A
JPH07160480A JP30956193A JP30956193A JPH07160480A JP H07160480 A JPH07160480 A JP H07160480A JP 30956193 A JP30956193 A JP 30956193A JP 30956193 A JP30956193 A JP 30956193A JP H07160480 A JPH07160480 A JP H07160480A
Authority
JP
Japan
Prior art keywords
quotient
divisor
register
partial
circuit
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
JP30956193A
Other languages
English (en)
Other versions
JP3259489B2 (ja
Inventor
Toshimitsu Nagata
敏光 永田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP30956193A priority Critical patent/JP3259489B2/ja
Publication of JPH07160480A publication Critical patent/JPH07160480A/ja
Application granted granted Critical
Publication of JP3259489B2 publication Critical patent/JP3259489B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】10進除算器に関し、桁当たりの除数の倍数の
減算回数を少なくし、また引きすぎ補正の確率を下げる
ことにより、高速にした10進除算器を実現することを
目的とする。 【構成】10進除算器において、除倍数生成回路3は、
除数の1倍、2倍、4倍、6倍、8倍の値、すなわち除
数そのものの他に除数の偶数倍の値を生成するように構
成し、予測部分商保持レジスタ6の内容が1でない奇数
かどうかを判定する奇偶判定回路10を設ける。制御回路
9は、桁ごとの演算サイクルで、奇偶判定回路10の出力
に従って、予測商が1か偶数のとき、部分剰余レジスタ
1の内容から除数の予測商倍を減算して部分剰余レジス
タ1にセットし、減算結果の符号が正なら次の桁の演算
サイクルに移り、減算結果の符号が負なら補助演算サイ
クルを起動して、引きすぎを補正し、予測商が1でない
奇数のとき、除数の(予測商−1)倍の数を減算するサ
イクルと除数の1倍を減算する補助演算サイクルとによ
って商を求めるように構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は10進除算器に関する。
【0002】
【従来の技術】図6は従来の10進除算器の概念図であ
る。従来、10進除算器は、被除数から除数を繰り返し
て減算し、余りが負になったとき、それまでの繰り返し
回数から1を引いた値をその桁の商(部分商)とし、引
きすぎた被除数に除数を加えて余り(部分剰余)として
1桁分の演算結果を得、次に部分商と部分剰余とを1桁
左シフト(10倍)して、同様に次の桁の処理として部
分剰余からの除数の減算と引きすぎ補正を行なうこと
を、桁数回繰り返すことが基本であった。その改良型と
して部分商予測方式がある。これは、被除数の上位数桁
と除数の上位数桁とから部分商1桁の値を1以下の誤差
で予測することができることを利用したものである。予
測範囲の値の大きい数値を予測部分商とし、除数の予測
部分商倍の値を部分剰余から減算し、結果の剰余が負で
あれば1倍分の補正をする。これは筆算による除算と基
本的に同じである。例えば除数の1倍、2倍、4倍、8
倍をあらかじめ作成して除倍数保持回路3にセットして
おき(または除数から生成して)、部分商予測回路5に
よって予測した部分商の値になるように除数の1倍、2
倍、4倍、8倍を組み合わせて減算する方式である。例
えば予測部分商が7であるとすると、部分剰余(被除
数)レジスタ1の内容から、順に除倍数保持回路3の除
数の4倍、2倍、1倍の値を選択して減算する。これに
より直接除数を繰り返して減算するときの7回に対して
3回で済み、また予測が正しくて引きすぎ補正を必要と
しない場合があり、高速化される。しかし、この場合依
然として桁当たり最大3回の減算を必要とし、約半分の
確率で引きすぎの補正が必要である。
【0003】
【発明が解決しようとする課題】本発明は桁当たりの除
数の倍数の減算回数を少なくし、また引きすぎ補正の確
率を下げることにより、高速にした10進除算器を実現
することを目的としている。
【0004】
【課題を解決するための手段】図1は本発明の原理構成
図である。最初は入力された10進の被除数を保持し、
演算サイクル毎に生成される部分剰余を保持する部分剰
余レジスタ1と、入力された10進の除数を保持する除
数レジスタ2と、除数レジスタの内容の倍数を生成する
除倍数生成回路3と、部分剰余レジスタ1の内容から、
除倍数生成回路3の出力を減算して部分剰余レジスタ1
にシフト入力する、10進加算器を主体とした部分剰余
演算回路4と、部分剰余演算回路4の出力の上位桁の値
と、除数レジスタ2の上位桁の値とから1桁の部分商を
予測する部分商予測回路5と、予測された部分商を保持
する予測部分商保持レジスタ6と、部分剰余演算回路4
の出力の符号により部分商を−1して補正し、商レジス
タにセットする部分商補正回路7と、全体を制御する制
御回路9とを備え、制御回路9は予測部分商保持レジス
タ6の内容に従って除倍数を選択して部分剰余から除倍
数を減算し、部分剰余演算回路4の出力の符号により部
分剰余と部分商とを補正して、10進1桁ずつの部分商
を求める除算器である点は従来と変わりはない。
【0005】本発明は、除倍数生成回路3は、除数の1
倍、2倍、4倍、6倍、8倍の値、すなわち除数そのも
のの他に除数の偶数倍の値を生成するように構成し、予
測部分商保持レジスタ6の内容が1でない奇数かどうか
を判定する奇偶判定回路10を設ける。
【0006】制御回路9は、桁ごとの演算サイクルで、
奇偶判定回路10の出力に従って、予測商が1か偶数のと
き、部分剰余演算回路4によって部分剰余レジスタ1の
内容から除数の予測商倍を減算して部分剰余レジスタ1
にセットし、減算結果の符号が正なら予測部分商保持レ
ジスタ6の内容を商レジスタ8にシフト入力して次の桁
の演算サイクルに移り、減算結果の符号が負なら補助演
算サイクルを起動して、部分剰余レジスタ1の内容に除
数の1倍を加算し、予測部分商保持レジスタ6の内容を
−1して商レジスタ8にシフト入力し、予測商が1でな
い奇数のとき、除数の予測商−1倍の数を減算して部分
剰余レジスタ1にセットし、補助演算サイクルを起動し
て、除数の1倍を減算し、減算結果の符号が正なら結果
を部分剰余レジスタ1にセットし、予測部分商保持レジ
スタ6の内容を商レジスタ8にシフト入力し、減算結果
の符号が負なら部分剰余レジスタ1の内容を更新しない
ようにし、予測部分商保持レジスタ6の内容を−1して
商レジスタ8にシフト入力することにより商を求めるよ
うに構成する。
【0007】なお、除倍数生成回路3によって除数レジ
スタ2から直接除倍数を生成する代わりに、除倍数保持
回路を設け、除算の演算処理に先立って除数の偶数倍の
数値を部分剰余演算回路4の加算器によって計算し、結
果を保持させておくようにしてもよい。
【0008】
【作用】図2に部分商の予測値と処理の説明とをまとめ
たものを示す。部分商予測値が0または1の場合は、そ
の値を除数の倍数値として選択して演算は1サイクルで
終了する。部分商予測値が偶数の場合もその値を除数の
倍数値として選択して減算を第1サイクルで行ない、そ
の結果の符号が正ならば同様にして終了する。結果の符
号が負ならば補助サイクルを起動して、引きすぎた1倍
分を加算し、部分商予測値も−1して補正し確定部分商
とする。
【0009】部分商予測値が1でない奇数の場合は、1
だけ少ない偶数値を除数の倍数値として選択して減算を
第1サイクルで行なう。この場合、予測商より1だけ小
さい値を用いたのであるから、結果の符号は必ず正であ
る。補助サイクルを起動して残りの1倍分を減算し、そ
の結果が正である場合はその結果が正しく、負である場
合は引きすぎである。負である場合の引きすぎ分は除数
の1倍に決まっているので結果を部分剰余レジスタ1に
セットするのを禁止することにより正しい部分剰余を部
分剰余レジスタ1に残すことができる。従って、さらに
補正のための補助サイクルを起動する必要はない。予測
部分商は−1して補正する。
【0010】以上のように、除算は1桁あたり、1また
は2サイクルで処理することができる。
【0011】
【実施例】以下、図面を参照して本発明の実施例を説明
する。図3は本発明の実施例の構成図である。図1と同
一の機能のものは、同一の符号を付して示す。
【0012】図において、除倍数生成回路3は、除数レ
ジスタ2の1桁ごとに2倍、4倍、6倍、8倍の値2桁
を生成する論理回路とその補数に変換する論理回路およ
び出力の選択回路とよりなる。倍数出力の2桁は上位C
と下位Sとに分け、補数に変換する場合は1桁ごとに行
なう。結果として、除倍数生成回路3は除数レジスタ2
の内容の0倍、+1倍、−1倍、−2倍、−4倍、−6
倍、−8倍の出力を上位側の値Cと下位側の値Sとに分
けた2数として出力する。出力する倍数は、制御回路9
が予測部分商保持レジスタ6に従って選択する。
【0013】3入力10進加算器4は部分剰余演算器で
あり、部分剰余レジスタ1の出力と除倍数生成回路3の
2つの出力とを加算する。除倍数生成回路3の2つの出
力が補数になっている場合は結果として減算処理とな
る。この3入力10進加算器はどのように構成してもよ
いが、「特願平5−300711」に開示した10進加
算器のように構成すれば高速にできる。
【0014】制御処理は、予測商が奇数であるとき次の
桁の処理を高速化するため予測部分商保持レジスタのバ
ックアップレジスタ6bを設けてある点を除けば、基本的
に課題を解決するための手段および作用の項で述べたこ
とと同じである。図4のタイムチャート、図5の演算例
を参照して具体的数値の演算例を説明する。以下レジス
タ、加算器の内容は左詰めで表現する。
【0015】初めに、部分剰余レジスタ1に被除数とし
て2468が、除数レジスタ2には208がセットされ
ているものとする。部分剰余演算器(加算器)の出力2
468と除数レジスタ2の内容208との上位桁から次
の部分商は1であると予測される。 演算サイクル1において、予測部分商保持レジスタ6
の内容が1であるので、208×1=208を部分剰余
レジスタ1から減算して388が部分剰余レジスタ1に
セットされる。部分剰余演算器(加算器)の出力388
と除数レジスタ2の内容208の上位桁から次の部分商
予測値は1であると予測される。 演算サイクル2において、同様に208×1=208
を部分剰余レジスタ1から減算して1880が部分剰余
レジスタ1にセットされる。部分剰余演算器(加算器)
の出力1800と除数レジスタ2の内容208の上位桁
から次の部分商予測値は9であると予測される。 演算サイクル3において、予測部分商保持レジスタ6
の内容が9(奇数)であるので、208×8=1664
を部分剰余レジスタ1から減算して136が部分剰余レ
ジスタ1にセットされる。次の桁の部分商の予測値は6
であると予測され、予測部分商保持レジスタのバックア
ップレジスタ6bに保持される。演算サイクル4において
補助サイクルが起動される。演算サイクル4では、部分
剰余演算器(加算器)の出力136から201×1=2
08を減算して、負の値−72となる。この結果は部分
剰余レジスタ1入力ゲートを閉じてセットしない。ま
た、予測部分商保持レジスタ6へバックアップレジスタ
6bの値を移す。このため部分剰余と次の桁の部分商の予
測値とは演算サイクル3において行なった値が保持され
る。 演算サイクル5において、予測部分商保持レジスタ6
の内容が6(偶数)であるので、208×6=1248
を部分剰余レジスタ1から減算して1120が部分剰余
レジスタ1にセットされる。結果が正であるので補正の
必要はない。次の桁の部分商の予測値は5であると予測
される。 演算サイクル6において、予測部分商保持レジスタ6
の内容が5(奇数)であるので、208×4=832を
部分剰余レジスタ1から減算して2880が部分剰余レ
ジスタ1にセットされる。次の桁の部分商の予測値が4
であると予測され予測部分商保持レジスタのバックアッ
プレジスタ6bにセットされる。補助サイクルとして演算
サイクル7が起動される。演算サイクル7では、部分剰
余レジスタの出力288から201×1=208を減算
して、正の値+80となる。この場合は演算サイクル4
と違って部分剰余レジスタ1の入力ゲートを開いて値を
更新する。また、予測部分商保持レジスタ6にバックア
ップレジスタ6bから次の桁の部分商の予測値4がセット
される。 演算サイクル8において、予測部分商保持レジスタ6
の内容が4(偶数)であるので、208×4=832を
部分剰余レジスタ1から減算して−32が部分剰余レジ
スタ1にセットされる。結果が負であるので補正の必要
があり、補助サイクルとして演算サイクル9が起動され
る。演算サイクル9では、部分剰余レジスタの出力−3
2に、201×1=208を加算して、引きすぎの補正
を行なって正の値176となる。部分商も−1補正を行
なう。 以下同様にして演算する。
【0016】このようにして商レジスタ8には、確定部
分商が求められるたびに、シフト入力され、11865
3・・の値が残る。
【0017】
【発明の効果】以上説明したように、本発明によれば1
0進除算において、1桁当たり、1または2サイクルで
演算することができる高速除算器を実現することができ
る。
【図面の簡単な説明】
【図1】 本発明の原理構成図
【図2】 部分商予測値と処理の説明図
【図3】 実施例の構成図
【図4】 実施例のタイムチャート
【図5】 演算例
【図6】 従来の10進除算器の概念図
【符号の説明】
1 部分剰余レジスタ 2 除数レジスタ 3 除倍数生成回路(除倍数保持回路) 4 部分剰余演算回路(10進加算器) 5 部分商予測回路 6 予測部分商保持レジスタ 6b バックアップ
レジスタ 7 部分商補正回路 8 商レジスタ 9 制御回路 10 奇偶判定回路

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 最初は入力された10進の被除数を保持
    し、演算サイクル毎に生成される部分剰余を保持する部
    分剰余レジスタ(1)と、 入力された10進の除数を保持する除数レジスタ(2)
    と、 除数レジスタの内容の倍数を生成する除倍数生成回路
    (3)と、 部分剰余レジスタ(1)の内容から、除倍数生成回路
    (3)の出力を加減算して部分剰余レジスタ(1)にシ
    フト入力する、10進加算器を主体とした部分剰余演算
    回路(4)と、 部分剰余演算回路(4)の出力の上位桁の値と、除数レ
    ジスタ(2)の上位桁の値とから1桁の部分商を予測す
    る部分商予測回路(5)と、 予測された部分商を保持する予測部分商保持レジスタ
    (6)と、 部分剰余演算回路(4)の出力の符号により部分商を−
    1して補正し、商レジスタにセットする部分商補正回路
    (7)と、 全体を制御する制御回路(9)とを備え、 制御回路(9)は予測部分商保持レジスタ(6)の内容
    に従って除倍数を選択して部分剰余から除倍数を減算
    し、部分剰余演算回路(4)の出力の符号により部分剰
    余と部分商とを補正して、10進1桁ずつの部分商を求
    める除算器において、 除倍数生成回路(3)は、除数の1倍、2倍、4倍、6
    倍、8倍の値を生成するように構成し、 予測部分商保持レジスタ(6)の内容が1でない奇数か
    どうかを判定する奇偶判定回路(10)を設け、 制御回路(9)は、桁ごとの演算サイクルで、奇偶判定
    回路(10)の出力に従って、 予測商が、1または偶数のとき、部分剰余演算回路
    (4)によって部分剰余レジスタ(1)の内容から除数
    の予測商倍を減算して部分剰余レジスタ(1)に入力
    し、減算結果の符号が正なら予測部分商保持レジスタ
    (6)の内容を商レジスタ(8)にシフト入力して次の
    桁の演算サイクルに移り、減算結果の符号が負なら補助
    演算サイクルを起動して、部分剰余レジスタ(1)の内
    容に除数の1倍を加算し、予測部分商保持レジスタ
    (6)の内容を−1して商レジスタ(8)にシフト入力
    し、 予測商が1でない奇数のとき、除数の(予測商−1)倍
    の数を減算して部分剰余レジスタ(1)に入力し、補助
    演算サイクルを起動して、除数の1倍を減算し、減算結
    果の符号が正なら結果を部分剰余レジスタ(1)にセッ
    トし、予測部分商保持レジスタ(6)の内容を商レジス
    タ(8)にシフト入力し、減算結果の符号が負なら部分
    剰余レジスタ(1)の内容を更新しないようにし、予測
    部分商保持レジスタ(6)の内容を−1して商レジスタ
    (8)にシフト入力することにより商を求めるように構
    成したことを特徴とする10進除算器。
  2. 【請求項2】 除倍数生成回路(3)の代わりに、除倍
    数保持回路を設け、演算処理に先立って除数の偶数倍の
    数値を保持させておくことを特徴とする請求項1に記載
    の10進除算器。
JP30956193A 1993-12-10 1993-12-10 10進除算器 Expired - Fee Related JP3259489B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30956193A JP3259489B2 (ja) 1993-12-10 1993-12-10 10進除算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30956193A JP3259489B2 (ja) 1993-12-10 1993-12-10 10進除算器

Publications (2)

Publication Number Publication Date
JPH07160480A true JPH07160480A (ja) 1995-06-23
JP3259489B2 JP3259489B2 (ja) 2002-02-25

Family

ID=17994507

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30956193A Expired - Fee Related JP3259489B2 (ja) 1993-12-10 1993-12-10 10進除算器

Country Status (1)

Country Link
JP (1) JP3259489B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014041415A (ja) * 2012-08-21 2014-03-06 Fujitsu Ltd 演算回路、演算処理装置、及び除算方法
US11669304B2 (en) 2021-02-08 2023-06-06 Kioxia Corporation Arithmetic device and arithmetic circuit for performing multiplication and division

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014041415A (ja) * 2012-08-21 2014-03-06 Fujitsu Ltd 演算回路、演算処理装置、及び除算方法
US11669304B2 (en) 2021-02-08 2023-06-06 Kioxia Corporation Arithmetic device and arithmetic circuit for performing multiplication and division

Also Published As

Publication number Publication date
JP3259489B2 (ja) 2002-02-25

Similar Documents

Publication Publication Date Title
US5909385A (en) Multiplying method and apparatus
JP2835153B2 (ja) 高基数除算器
KR19990013698A (ko) 연산방법 및 연산장치
JPH0234054B2 (ja)
JPH07160480A (ja) 10進除算器
JPH01302425A (ja) 浮動小数点加減算回路
KR100309520B1 (ko) 라운드오프기능을갖는승산방법및승산회로
JP3415569B2 (ja) 10進データ除算方法およびそのプログラム記録媒体
JPS60247736A (ja) 除算回路
JP2777265B2 (ja) 高基数開平演算装置
JP3517162B2 (ja) 除算・開平演算装置
JP2607759B2 (ja) 除算器
JPS60160438A (ja) 除算装置
SU734705A1 (ru) Специализированный процессор
JP3230349B2 (ja) 10進乗算器
JPH1185471A (ja) 演算方法および演算装置
JPH04160533A (ja) マイクロ・プロセッサ
JPH0370252B2 (ja)
JPH0836483A (ja) 除算装置
JPH08123667A (ja) 高速除算回路
JPS5985539A (ja) 除算処理装置
JPH0754458B2 (ja) 乗算回路
JPH01274234A (ja) 除算装置
JPH0387924A (ja) 10進整数除算回路
JP2001344093A (ja) 除算装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20011113

LAPS Cancellation because of no payment of annual fees