JPH07239774A - 除算方法および除算装置 - Google Patents

除算方法および除算装置

Info

Publication number
JPH07239774A
JPH07239774A JP6029468A JP2946894A JPH07239774A JP H07239774 A JPH07239774 A JP H07239774A JP 6029468 A JP6029468 A JP 6029468A JP 2946894 A JP2946894 A JP 2946894A JP H07239774 A JPH07239774 A JP H07239774A
Authority
JP
Japan
Prior art keywords
subtraction
remainder
circuit
circuits
register
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
JP6029468A
Other languages
English (en)
Other versions
JP3506753B2 (ja
Inventor
Yuji Yoshida
裕司 吉田
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 JP02946894A priority Critical patent/JP3506753B2/ja
Priority to US08/329,317 priority patent/US5638314A/en
Publication of JPH07239774A publication Critical patent/JPH07239774A/ja
Application granted granted Critical
Publication of JP3506753B2 publication Critical patent/JP3506753B2/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/491Computations with decimal numbers radix 12 or 20.
    • G06F7/4915Multiplying; Dividing
    • G06F7/4917Dividing

Landscapes

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

Abstract

(57)【要約】 【目的】 本発明は、2進化10進数表記の10進デー
タを被除数および除数として除算を行なう方法,装置に
関し、複雑な商予測回路やメモリ回路による商予測テー
ブルを使用することなく、簡単な回路構成で一桁の商を
確定するための処理時間を短縮し、10進除算の高速化
を実現することを目的とする。 【構成】 被除数又は中間剰余から除数の複数の異なる
整数倍数をそれぞれ同時に減算し、その減算結果がいず
れも負である場合には減算前の被除数又は中間剰余をそ
のまま新たな中間剰余とする一方、その減算結果の一部
又は全部が正又は0となった場合には減算結果が正又は
0となったもののうち最大倍数の減算結果を新たな中間
剰余とするとともに、その減算結果に伴うキャリー信号
の状態を保持するという処理サイクルを複数回繰り返し
実行した後、保持しているキャリー信号の状態に基づい
て商を算出する構成する。

Description

【発明の詳細な説明】
【0001】(目次) 産業上の利用分野 従来の技術 発明が解決しようとする課題 課題を解決するための手段(図1) 作用(図1) 実施例 (a)第1実施例の説明(図2〜図5) (b)第2実施例の説明(図6〜図9) 発明の効果
【0002】
【産業上の利用分野】本発明は、データ処理装置におい
て、2進化10進数(BCD;Binary-CodedDecimal no
tation)で表現される10進データを被除数および除数
として除算を行なうための除算方法および除算装置に関
する。
【0003】
【従来の技術】一般に、データ処理装置において10進
データは2進化10進数で表現される。このような10
進データを被除数および除数として除算を行なう場合に
は、筆算で行なう場合と同様に、両オペランド(被除
数,除数)のゼロでない最上位桁の桁位置を合わせてお
き(左詰めの桁合わせ)、商の上位桁から順に商を算出
し、最終的な商を求めている。従って、ある一桁の商の
算出に要する時間を短縮することにより、10進除算の
高速化をはかることができる。
【0004】ここで、各桁毎の商を求めるための最も基
本的な手段としては、以下の2通りのものがある。 被除数または中間剰余(以下、特に被除数と中間剰余
とを区別する必要がない限り中間剰余という)から除数
を減算していき、減算結果が負になるまでの回数をカウ
ントし、そのカウント値に基づいて商を決定する手段。
【0005】商予測回路もしくは商予測テーブルを予
め用意しておき、中間剰余と除数の上位数ビットとに基
づいて、商予測回路もしくは商予測テーブルにより一桁
の商を予測してから、予め用意した除数の倍数、また
は、その倍数を組み合わせることにより予測商に相当す
る除数の倍数を被除数から減算し、その減算結果の正負
によって予測商を補正する手段。
【0006】上述したの手段では、商が“0”の場合
には1回の減算処理が、商が“1”の場合には2回の減
算処理が、…、商が“8”の場合には9回の減算処理
が、商が“9”の場合には9回(商が10になることは
ないため)の減算処理が少なくとも必要であるため、一
桁の商算出処理に要する最小サイクル数は平均5.4
回,最大9回である。
【0007】このようなの手段では、商の値が大きい
程、減算回数が増大するため、商の値が大きい場合の商
算出サイクル数を如何に少なくして処理時間を短縮する
かにより、10進除算の高速化をはかることができる。
例えば、商の平均値を“5”と考え、除数の5倍数を用
意して、商算出処理において商が“5”以上か否か、即
ち中間剰余が除数の5倍よりも大きいか否かを検査し、
大きい場合には5倍数を減算してから除数の繰り返し減
算を行なうことにより(例えば特開昭58−13283
7号公報参照)、商が“0”の場合には2回の減算処理
で、商が“1”の場合には3回の減算処理で、商が
“2”の場合には4回の減算処理で、商が“3”の場合
には5回の減算処理で、商が“4”の場合には5回の減
算処理で、商が“5”の場合には2回の減算処理で、商
が“6”の場合には3回の減算処理で、商が“7”の場
合には4回の減算処理で、商が“8”の場合には5回の
減算処理で、商が“9”の場合には5回の減算処理で一
桁の商を算出することができる。従って、この場合、一
桁の商算出処理に要する最小サイクル数を平均3.8
回,最大5回まで削減することが可能である。
【0008】また、一桁の商算出に要する繰り返し減算
回数をさらに削減するためには、数回の除数の減算をま
とめて1回の減算に変換すればよい。即ち、除数の倍数
を使用する必要があるが、この場合、必要な倍数の種類
と減算する倍数の選択アルゴリズムとが問題となる。一
般的にデータ処理装置においては10進数は4ビットの
2進化10進数で表現され、4ビットの各ビットの重み
は上位ビットから順に8,4,2,1であることに着目
し、除数の8倍数,4倍数,2倍数,1倍数を予め用意
し、一桁の商の各ビットの上位ビットに対応する倍数か
ら順に、即ち8倍数,4倍数,2倍数,1倍数の順に被
除数からの減算を行ない、減算結果が正であれば商の対
応するビットをオンにすることで、一桁の商を算出する
アルゴリズムが一般的である(例えば特開昭55−82
352号公報参照)。
【0009】ここで、商は“9”以下であるから最初に
8倍数を減算した結果が正であれば、次に4倍数を減算
する必要はなく、1倍数を減算すれば十分である。従っ
て、一桁の商算出に要する倍数の最小減算回数は、商が
“0”〜“7”の場合には4回、商が“8”,“9”の
場合には2回となり、平均3.6回,最大4回となる。
【0010】なお、上述した処理中の8倍数の減算を、
4倍数を2回減算することにより実現する以外(従って
使用する倍数は4倍数,2倍数,1倍数の3種類)、上
述の商算出アルゴリズムと全く同じものを採用した10
進除算手段も提案されている(例えば特開昭57−11
1738号公報参照)。
【0011】
【発明が解決しようとする課題】しかしながら、上述し
たの手段を採用した除算手段では、現状、一桁の商を
確定するために最も少ない例でも最大4回,平均3.6
回の減算が必要で、処理時間が比較的長く、さらなる処
理時間の短縮を可能にして10進除算の高速化をはかる
ことが望まれている。
【0012】一方、上述したの手段では、正しい商に
等しいかあるいはそれよりも1だけ大きい予測商を使用
することにより、減算回数を1回に減らすことができる
が、例えばメモリ回路で商予測テーブルを構成し、予測
商として正しいかあるいはそれよりも1だけ大きい値を
格納するためには、仮に中間剰余の上位3桁(12ビッ
ト)と除数の上位2桁(8ビット)で商予測テーブルを
索引するとなると、予測商を4ビットとして、4ビット
×1024Kワードものメモリ容量が必要になり、かな
りの回路面積を消費することになるとともに、大容量の
メモリ程、十分な読出時間が必要となり、結局は処理時
間を要することになる。
【0013】また、メモリ回路を使用せず論理ゲートに
よって商予測回路を構成する場合は、論理が複雑で設計
の困難さを増し、また多くの論理段数を必要とする。そ
こで、いずれの場合でも商を予測するために要する遅延
時間はマシンサイクルの増大を招くため、実際には商予
測サイクルと減算サイクルとの少なくとも2サイクルに
分けるのが現実的である。
【0014】従って、上述したの手段のように予測商
を使用した場合には、減算結果の正負による商の補正を
次の桁の商予測サイクルとオーバラップさせて実行する
としても、一桁の商の算出に2サイクルを要する。さら
に、上述した,の手段のいずれでも、減算結果で減
算しすぎが発生した場合、中間剰余に除数の1倍数を加
算するリストア方式では、さらに1サイクルを必要と
し、また、除数の1倍数を加算する処理を実質的に次の
商算出サイクルに含めて行なうノンリストア方式では、
前回の商算出処理において減算しすぎが発生したか否か
により、除数の加算補正を含めて行なうため、制御がよ
り複雑になってしまう。
【0015】以上のように、予測商を使用することによ
り、一桁の商算出サイクルに要する時間を2〜3サイク
ルに短縮することは可能であるが、予測商を得るために
要する回路面積の増大あるいは回路設計の複雑さの増大
という課題があった。本発明は、このような課題に鑑み
創案されたもので、予め決められた手順に従って除数の
整数倍数を複数個選択して被除数あるいは中間剰余から
複数の減算器で同時に減算していき、結果として一桁の
商を確定することにより、複雑な商予測回路あるいはメ
モリ回路による商予測テーブルを使用することなく、簡
単な回路構成で一桁の商を確定するための処理時間を短
縮し、10進除算の高速化を実現した除算方法および除
算装置を提供することを目的とする。
【0016】
【課題を解決するための手段】図1は本発明の原理ブロ
ック図で、この図1において、1は被除数あるいは中間
剰余を保持する剰余レジスタ、2は除数についての複数
の異なる整数倍数を保持する倍数保持手段、3はそれぞ
れ剰余レジスタ1の被除数あるいは中間剰余から倍数保
持手段2に保持される複数の異なる整数倍数のうちの一
つを減算する複数の減算回路、4はそれぞれ倍数保持手
段2に保持される複数の異なる整数倍数のうちの一つを
選択して各減算回路3へ出力する複数の倍数選択回路、
5は各倍数選択回路4により選択する整数倍数を切換制
御する第1の制御回路である。
【0017】また、6は各減算回路3からのキャリー信
号の状態をフラグとして格納するフラグ回路、7は剰余
レジスタ1からの被除数(中間剰余)または各減算回路
3による減算結果のうちの一つを新たな中間剰余として
選択して剰余レジスタ1へ出力する中間剰余選択回路、
8は各減算回路3からのキャリー信号に基づいて中間剰
余選択回路7により選択する中間剰余を切換制御する第
2の制御回路、9はフラグ回路6に格納される各減算回
路3からのキャリー信号の状態に基づいて一桁の商を決
定する商決定回路9である。
【0018】そして、本発明では、1回の処理サイクル
に際して、第1の制御回路5により各倍数選択回路4を
切換制御することにより、各倍数選択回路4にて倍数保
持手段2から複数の適当な整数倍数を選択して各減算回
路3へ出力し、各減算回路3により、剰余レジスタ1の
被除数あるいは中間剰余から、各倍数選択回路4にて選
択された前記複数の適当な整数倍数をそれぞれ同時に減
算する。
【0019】ついで、第2の制御回路8にて各減算回路
3からのキャリー信号に基づいて中間剰余選択回路7を
切換制御することにより、各減算回路3による減算結果
がいずれも負である場合には中間剰余選択回路7により
剰余レジスタ1からの被除数あるいは中間剰余を新たな
中間剰余として選択して剰余レジスタ1へ出力する一
方、各減算回路3による減算結果の一部もしくは全部が
正または0である場合には中間剰余選択回路7により減
算結果が正または0であるもののうち最大倍数の減算結
果を新たな中間剰余として選択して剰余レジスタ1へ出
力するとともに、各減算回路3からのキャリー信号の状
態をフラグとしてフラグ回路6に順次格納する。
【0020】このような処理サイクルを必要回数だけ繰
り返し実行する(以上、請求項1,6)。このとき、倍
数保持手段2が、除数の整数倍数として、1倍数と2倍
数とを含む異なる少なくとも4種類の倍数を保持するも
のとし、減算回路3および倍数選択回路4をそれぞれ2
つずつそなえてもよい。
【0021】この場合、一桁の商算出処理の第1サイク
ルでは、第1の制御回路5により2つの倍数選択回路4
を切換制御することにより、2つの倍数選択回路4にて
倍数保持手段2から2倍数よりも大きい2つの整数倍数
を選択して2つの減算回路3へそれぞれ出力し、2つの
減算回路3により、剰余レジスタ1の被除数から、2つ
の倍数選択回路4にて選択された2つの整数倍数をそれ
ぞれ同時に減算する。
【0022】そして、第2の制御回路8にて2つの減算
回路3からのキャリー信号に基づいて中間剰余選択回路
7を切換制御することにより、2つの減算回路3による
減算結果の両方が負である場合には中間剰余選択回路7
により剰余レジスタ1からの被除数を中間剰余として選
択して剰余レジスタ1へ出力し、2つの減算回路3によ
る減算結果の一方が正または0である場合には中間剰余
選択回路7により減算結果が正または0となった方の減
算結果を中間剰余として選択して剰余レジスタ1へ出力
し、2つの減算回路3による減算結果の両方が正または
0である場合には中間剰余選択回路7により最大倍数の
減算結果を中間剰余として選択して剰余レジスタ1へ出
力するとともに、2つの減算回路3からのキャリー信号
の状態をフラグとしてフラグ回路6に格納する。
【0023】この後、一桁の商算出処理の第2サイクル
以降では、第1の制御回路5により2つの倍数選択回路
4を切換制御することにより、2つの倍数選択回路4に
て倍数保持手段2から1倍数および2倍数を選択して2
つの減算回路3へそれぞれ出力し、2つの減算回路3に
より、剰余レジスタ1の中間剰余から、2つの倍数選択
回路4にて選択された1倍数および2倍数をそれぞれ同
時に減算する。
【0024】そして、第2の制御回路8にて2つの減算
回路3からのキャリー信号に基づいて中間剰余選択回路
7を切換制御することにより、2つの減算回路3による
減算結果の両方が負である場合には中間剰余選択回路7
により剰余レジスタ1からの中間剰余を新たな中間剰余
として選択して剰余レジスタ1へ出力し、2つの減算回
路3による減算結果の一方が正または0である場合には
中間剰余選択回路7により減算結果が正または0となっ
た方の減算結果を新たな中間剰余として選択して剰余レ
ジスタ1へ出力し、2つの減算回路3による減算結果の
両方が正または0である場合には中間剰余選択回路7に
より2倍数の減算結果を新たな中間剰余として選択して
剰余レジスタ1へ出力するとともに、2つの減算回路3
からのキャリー信号の状態をフラグとしてフラグ回路6
に格納する(以上、請求項2,7)。
【0025】ここで、倍数保持手段2が保持する除数の
整数倍数としては、1倍数,2倍数,3倍数,6倍数の
4種類の倍数が適している(請求項3,8)。さらに、
本発明では、倍数保持手段2保持する除数の整数倍数
を、1倍数,2倍数,3倍数,6倍数の4種類の倍数と
し、減算回路3および倍数選択回路4をそれぞれ2つず
つそなえるとともに、一桁の商算出処理の第2サイクル
を開始するに当たり剰余レジスタ1に保持される中間剰
余の上位2桁と倍数保持手段2に保持される除数の3倍
数の上位2桁とを比較してその大小関係を求めその比較
結果を第1の制御回路5へ通知する比較回路をそなえて
もよい。
【0026】この場合、一桁の商算出処理の第1サイク
ルでは、第1の制御回路5により2つの倍数選択回路4
を切換制御することにより、2つの倍数選択回路4にて
倍数保持手段2から3倍数および6倍数を選択して2つ
の減算回路3へそれぞれ出力し、2つの減算回路3によ
り、剰余レジスタ1の被除数から、2つの倍数選択回路
4にて選択された3倍数および6倍数をそれぞれ同時に
減算する。
【0027】そして、第2の制御回路8にて2つの減算
回路3からのキャリー信号に基づいて中間剰余選択回路
7を切換制御することにより、2つの減算回路3による
減算結果の両方が負である場合には中間剰余選択回路7
により剰余レジスタ1からの被除数を中間剰余として選
択して剰余レジスタ1へ出力し、2つの減算回路3によ
る減算結果の一方が正または0である場合には中間剰余
選択回路7により減算結果が正または0となった方の減
算結果を中間剰余として選択して剰余レジスタ1へ出力
し、2つの減算回路3による減算結果の両方が正または
0である場合には中間剰余選択回路7により6倍数の減
算結果を中間剰余として選択して剰余レジスタ1へ出力
するとともに、2つの減算回路3からのキャリー信号の
状態をフラグとしてフラグ回路6に格納する。
【0028】ついで、一桁の商算出処理の第2サイクル
では、まず、比較回路により、剰余レジスタ1に保持さ
れる中間剰余の上位2桁と倍数保持手段2に保持される
除数の3倍数の上位2桁とを比較し、その比較の結果、
中間剰余の上位2桁が除数の3倍数の上位2桁以上であ
る場合には、第1の制御回路5により2つの倍数選択回
路4を切換制御することにより、2つの倍数選択回路4
にて倍数保持手段2から2倍数および3倍数を選択して
2つの減算回路3へそれぞれ出力し、2つの減算回路3
により、剰余レジスタ1の中間剰余から、2つの倍数選
択回路4にて選択された2倍数および3倍数をそれぞれ
同時に減算する。
【0029】そして、第2の制御回路8にて2つの減算
回路3からのキャリー信号に基づいて中間剰余選択回路
7を切換制御することにより、2つの減算回路3による
減算結果の一方が正または0である場合には中間剰余選
択回路7により減算結果が正または0となった方の減算
結果を新たな中間剰余として選択して剰余レジスタ1へ
出力し、2つの減算回路3による減算結果の両方が正ま
たは0である場合には中間剰余選択回路7により3倍数
の減算結果を新たな中間剰余として選択して剰余レジス
タ1へ出力するとともに、2つの減算回路3からのキャ
リー信号の状態および比較回路による比較結果をフラグ
としてフラグ回路6に格納する。
【0030】一方、比較回路による比較の結果が中間剰
余の上位2桁が除数の3倍数の上位2桁よりも小さい場
合には、第1の制御回路5により2つの倍数選択回路4
を切換制御することにより、2つの倍数選択回路4にて
倍数保持手段2から1倍数および2倍数を選択して2つ
の減算回路3へそれぞれ出力し、2つの減算回路3によ
り、剰余レジスタ1の中間剰余から、2つの倍数選択回
路4にて選択された1倍数および2倍数をそれぞれ同時
に減算する。
【0031】そして、第2の制御回路8にて2つの減算
回路3からのキャリー信号に基づいて中間剰余選択回路
7を切換制御することにより、2つの減算回路3による
減算結果の両方が負である場合には中間剰余選択回路7
により剰余レジスタ1からの中間剰余を新たな中間剰余
として選択して剰余レジスタ1へ出力し、2つの減算回
路3による減算結果の一方が正または0である場合には
中間剰余選択回路7により減算結果が正または0となっ
た方の減算結果を新たな中間剰余として選択して剰余レ
ジスタ1へ出力し、2つの減算回路3による減算結果の
両方が正または0である場合には中間剰余選択回路7に
より2倍数の減算結果を新たな中間剰余として選択して
剰余レジスタ1へ出力するとともに、2つの減算回路3
からのキャリー信号の状態および比較回路による比較結
果をフラグとしてフラグ回路6に格納する(以上、請求
項4,9)。
【0032】なお、倍数保持手段2を、除数の1倍数を
保持する1倍数レジスタと、除数の3倍数を保持する3
倍数レジスタと、1倍数レジスタからの1倍数に2を乗
算して除数の2倍数を出力する第1の2倍回路と、3倍
数レジスタからの3倍数に2を乗算して除数の6倍数を
出力する第2の2倍回路とから構成してもよい(請求項
10)。
【0033】また、2つの減算回路3のうちの一方を加
算機能を有する加減算回路として構成するとともに、剰
余レジスタ1からの被除数と1倍数レジスタからの除数
の1倍数とのいずれか一方を選択して加減算回路へ出力
する選択回路をそなえ、加減算回路が、選択回路により
選択されて入力される1倍数レジスタからの除数の1倍
数と、2つの倍数選択回路4の一方により選択されて入
力される第1の2倍回路からの除数の2倍数とを加算す
ることにより除数の3倍数を算出し、3倍数レジスタに
格納するように構成してもよい(請求項11)。
【0034】さらに、2つの減算回路3による減算結果
の正負の状態が論理的に有り得ない組合せのものである
場合には、エラー通知を行なうエラー通知回路をそなえ
てもよい(請求項5,12)。
【0035】
【作用】上述した本発明の除算方法(請求項1)および
除算装置(請求項6)では、各処理サイクル毎に、除数
の整数倍数を倍数保持手段2から倍数選択回路4により
複数個選択して、複数の減算回路3により被除数あるい
は中間剰余からそれぞれ同時に減算し、各減算回路3の
減算結果の正負(キャリー信号の状態)に基づいて、中
間剰余選択回路7により、減算結果が正となった場合に
は最大の整数倍数を減算した結果を選択して剰余レジス
タ1に格納する一方、全ての減算結果が負である場合は
減算前の被除数あるいは中間剰余を選択して剰余レジス
タ1に格納し、各減算回路3の正負を示すキャリー信号
の状態をフラグ回路6に格納する動作を必要回数だけ繰
り返すことにより、複雑な商予測回路あるいはメモリ回
路による商予測テーブルを使用することなく、一桁の商
を少ないサイクル数で(つまりは短時間で)確定するこ
とが可能になる。
【0036】また、除数の整数倍数として、1倍数と2
倍数とを含む異なる少なくとも4種類の倍数を予め用意
し、予め決められた手順(アルゴリズム的に決められた
順)に従って除数の整数倍数を2個ずつ選択して被除数
あるいは中間剰余からそれぞれ同時に減算することによ
り(請求項2,7)、一桁の商算出処理を最大3サイク
ル,最小2サイクルで実行することができる。
【0037】特に、除数の整数倍数として、1倍数,2
倍数,3倍数,6倍数を使用する場合(請求項3,
8)、第1サイクルで被除数から3倍数および6倍数を
それぞれ同時に減算することにより、商が、“2”以
下の範囲,“3”〜“5”の範囲,“6”以上の範
囲のいずれに属するかを限定することができる。この
後、第2サイクル以降で中間剰余から1倍数および2倍
数を減算することにより、各範囲内で商を限定すること
ができる。従って、商が“7”以下の場合には2サイク
ルで、商が“8”,“9”の場合には3サイクルで一桁
の商を算出でき、一桁の商算出処理を最大3サイクル,
平均2.2サイクルで実行することができる。
【0038】ここで、商が“6”以上の範囲にある場
合、商の候補は“6”〜“9”の4つとなるので、第2
サイクルに際して、1倍数と2倍数との2つを用いて減
算を行なうと、前述の通り、商を“8”,“9”を確定
するためには最低あと2サイクル(合計3サイクル)の
処理が必要となる。そこで、比較回路により、剰余レジ
スタ1の中間剰余の上位2桁と倍数保持手段2の除数の
3倍数の上位2桁とを比較し、その大小関係に応じて、
第1の制御回路5により、第2サイクルで減算すべき倍
数を、2倍数と3倍数、または、1倍数と2倍数のいず
れかに切り換える(請求項4,9)。
【0039】即ち、中間剰余の上位2桁が除数の3倍数
の上位2桁以上である場合には、商は“8”以上つまり
“8”または“9”であると限定でき、中間剰余から2
倍数と3倍数とをそれぞれ減算することにより、商を
“8”または“9”に確定することができる。これに対
し、中間剰余の上位2桁が除数の3倍数の上位2桁より
も小さい場合には、商の候補は前述した,の範囲も
しくはの中の“6”〜“8”の範囲あると限定でき、
いずれの範囲においても商の候補数は3つであるので、
中間剰余から1倍数と2倍数とをそれぞれ減算すること
により、商を確定することができる。
【0040】従って、中間除数の上位2桁と除数の3倍
数の上位2桁とを比較し、その大小関係に応じて減算す
べき倍数を倍数選択回路4により切換・選択すること
で、一桁の商算出処理を固定2サイクルで実行すること
ができる。なお、倍数保持手段2を、1倍数レジスタ,
3倍数レジスタと2つの2倍回路とから構成することに
より(請求項10)、1倍数,3倍数はそれぞれ各レジ
スタから得られるとともに、2倍数,6倍数は、各レジ
スタに保持される1倍数,3倍数にそれぞれ2倍回路で
2を乗算することにより算出される。
【0041】また、2つの減算回路3のうちの一方を加
算機能を有する加減算回路として構成するとともに、剰
余レジスタ1からの被除数と1倍数レジスタからの除数
の1倍数とのいずれか一方を選択して加減算回路へ出力
する選択回路をそなえておくことにより(請求項1
1)、選択回路により選択される1倍数レジスタからの
除数の1倍数と、2つの倍数選択回路4の一方により選
択される第1の2倍回路からの除数の2倍数とを、前記
加減算回路にて加算することで、除数の3倍数が算出さ
れ、これが3倍数レジスタに格納される。
【0042】さらに、2つの減算回路3による減算結果
の一方が正または0である場合、当然、2つの減算結果
のうち、小さい方の整数倍数を減算した結果が正または
0で、大きい方の整数倍数を減算した結果が負である。
しかし、万一、有り得ない組合せ、つまり、小さい方の
整数倍数を減算した結果が正または0で、大きい方の整
数倍数を減算した結果が負であった場合など、2つの減
算回路3による減算結果の正負の状態が論理的に有り得
ない組合せのものである場合には、本発明の除算処理に
際して何らかの異常が生じたものとして、エラー通知回
路によりエラー通知を行なうことにより(請求項5,1
2)、本発明の除算処理の正常性の検査を行なうことが
可能である。
【0043】
【実施例】以下、図面を参照して本発明の実施例を説明
する。 (a)第1実施例の説明 図2は本発明の第1実施例としての除算装置の構成例を
示すブロック図であり、この図2において、101は被
除数あるいは中間剰余Rを保持する剰余レジスタで、こ
の剰余レジスタ101には、除算処理開始前に被除数R
が選択回路100を介して格納され、除算処理開始後に
は各処理サイクル毎に得られる中間除数Rが選択回路1
00を介して格納されるようになっている。
【0044】また、102は除数Dについての複数の異
なる整数倍数を保持する倍数保持回路(倍数保持手段)
で、本実施例では、1倍数D,2倍数2D,3倍数3
D,6倍数6Dの4つを保持している。この倍数保持回
路102は、例えば、除数の1倍数Dを保持する1倍数
レジスタ201と、除数の3倍数3Dを保持する3倍数
レジスタ202と、1倍数レジスタ201からの1倍数
Dに2を乗算して除数の2倍数2Dを出力する第1の2
倍回路203と、3倍数レジスタ202からの3倍数3
Dに2を乗算して除数の6倍数6Dを出力する第2の2
倍回路204とから構成されている。
【0045】103は後述する倍数選択回路104,1
05および選択回路106による選択動作を制御するた
めの第1の制御回路、104,105はそれぞれ倍数保
持回路102に保持される4つの倍数のうちの一つを選
択して後述する減算回路107,108へ出力する倍数
選択回路である。ここで、倍数選択回路104は、第1
の制御回路103により制御され、倍数保持回路102
から1倍数D(1倍数レジスタ201の出力)と3倍数
3D(3倍数レジスタ202の出力)とのいずれか一方
を選択して後述の減算回路107へ出力するものであ
り、倍数選択回路105は、第1の制御回路103によ
り制御され、倍数保持回路102から2倍数D(第1の
2倍回路203の出力)と6倍数6D(第2の2倍回路
204の出力)とのいずれか一方を選択して後述の減算
回路108へ出力するものである。
【0046】また、106は選択回路で、この選択回路
106は、第1の制御回路103により制御され、剰余
レジスタ101からの被除数Rと倍数保持回路102か
らの1倍数D(1倍数レジスタ201の出力)とのいず
れか一方を選択して後述の減算回路108へ出力するも
のである。この選択回路106は、第1の制御回路10
3により、通常、剰余レジスタ101からの被除数Rを
選択しているが、後述するごとく、3倍数3Dを作成す
る場合のみ、倍数保持回路102からの1倍数Dを選択
して出力するようになっている。
【0047】107,108はいずれも減算回路で、減
算回路107は、剰余レジスタ101のデータ内容(被
除数または中間剰余R)を入力されるとともに、倍数選
択回路104を介して倍数保持回路102から1倍数D
または3倍数3Dを入力され、剰余レジスタ101の被
除数または中間剰余Rから、1倍数Dまたは3倍数3D
を減算するものである。
【0048】また、減算回路108は、通常、選択回路
106を介して剰余レジスタ101のデータ内容(被除
数または中間剰余R)を入力されるとともに、倍数選択
回路105を介して倍数保持回路102から2倍数2D
または6倍数6Dを入力され、剰余レジスタ101の被
除数または中間剰余Rから、2倍数2Dまたは6倍数6
Dを減算するものである。
【0049】ただし、本実施例の減算回路108は、加
算機能を有する加減算回路として構成されており、除数
の3倍数3Dを作成する際のみ加算機能を実行するよう
になっている。つまり、第1実施例では、倍数保持回路
102の3倍数レジスタ202に保持される除数の3倍
数3Dは次のようにして作成されている。即ち、除数の
1倍数Dは除数そのものであり、2倍数2Dは第2の2
倍回路203により直ちに得られる。従って、1倍数D
と2倍数2Dとを加算することにより除数の3倍数3D
を得ることができる。そこで、除数の3倍数3Dの作成
時には、選択回路106で1倍数Dを、倍数選択回路1
05で2倍数2Dを選択し、加減算回路108でD+2
Dの加算を行ない、その結果を3倍数レジスタ202へ
格納するように構成している。
【0050】なお、倍数保持回路102は、これに限定
されるものではなく、別途の手段により2倍数2D,3
倍数3D,6倍数6Dを生成し、それぞれをレジスタに
格納するように構成してもよい。また、選択回路106
が1倍数Dを選択するのは、3倍数の作成時のみであ
り、後述する商算出処理では、常に、被除数または中間
剰余Rを選択する。加減算回路108で加算を行なうの
も3倍数の作成時のみであり、後述する商算出処理で
は、常に、被除数中間剰余Rと倍数選択回路105で選
択された除数の倍数との減算のみを行なう。
【0051】さらに、3倍数3Dを別途の手段で作成で
きる場合は選択回路106は不要で加減算回路108は
減算機能のみをもつ減算回路として構成することができ
る。従って、以下の商算出動作の説明においては、選択
回路106は常に中間剰余Rを選択しているものとし、
加減算回路108は単に減算回路と呼ぶものとする。さ
て、図2において、109は各減算回路107,108
からのキャリー信号(減算結果の正負情報をもつ桁上げ
信号)C1,C2に基づいて後述する中間剰余選択回路
110による選択動作を制御するための第2の制御回
路、110は第2の制御回路109により制御される中
間剰余選択回路である。
【0052】この中間剰余選択回路110は、各減算回
路107,108による減算結果に応じて、剰余レジス
タ101からの被除数または中間剰余Rと、2つの減算
回路107,108による減算結果とのいずれか一つを
新たな中間剰余Rとして選択して、選択回路100を介
して剰余レジスタ101へ出力するものである。また、
111は各減算回路107,108による減算結果であ
るキャリー信号(減算結果の正負情報で、正または0の
場合に“1”、負の場合に“0”となる信号)の状態を
フラグC11,C12,C13,C21,C22,C2
3として格納・保持するフラグ回路である。ここで、フ
ラグC11,C21は、それぞれ、第1サイクルで得ら
れる減算回路107,108からのキャリー信号の状態
であり、フラグC12,C22は、それぞれ、第2サイ
クルで得られる減算回路107,108からのキャリー
信号の状態であり、フラグC13,C23は、それぞ
れ、第3サイクルで得られる減算回路107,108か
らのキャリー信号の状態である。
【0053】さらに、112は商決定回路で、この商決
定回路112は、フラグ回路111に格納されるフラグ
C11,C12,C13,C21,C22,C23(つ
まり各処理サイクルで得られた各減算回路107,10
8からのキャリー信号の状態)に基づいて、後述するご
とく一桁の商を決定するものであり、113は商決定回
路112により決定された商を格納する商レジスタであ
る。
【0054】なお、本実施例の第2の制御回路109
は、2つの減算回路107,108による減算結果の正
負の状態が論理的に有り得ない組合せ(図3,図4にて
後述する※印で示す)のものである場合には、エラー通
知を行なうエラー通知回路としての機能を併せもってい
る。次に、図2に示すごとく構成された第1実施例とし
ての除算装置の動作を、図5に示すフローチャートに従
い、図3および図4を参照しながら説明する。
【0055】なお、図3は、第1実施例において各処理
サイクル(第1〜第3サイクル)で実行する減算動作
と、その減算結果の正負により選択される減算結果(中
間剰余)との関係を示す図であり、図4は、第1実施例
における各処理サイクル(第1〜第3サイクル)での減
算結果の正負と商との関係を示す図である。まず、被除
数Rは、選択回路100を介して、ゼロでない最上位桁
を左詰めにして剰余レジスタ100にセットされるとと
もに、除数Dは、ゼロでない最上位桁を左詰めにして倍
数保持回路102の1倍数レジスタ201にセットされ
る。
【0056】一桁の商算出処理の第1サイクルでは、第
1の制御回路103により倍数選択回路104,105
が切換制御され、倍数選択回路104は倍数保持回路1
02から除数の3倍数3Dを選択し、倍数選択回路10
5は倍数保持回路102から除数の6倍数6Dを選択す
る。これにより、減算回路107では被除数Rと除数の
3倍数3Dとの減算(R1=R−3D)が実行されると
同時に、減算回路108では被除数Rと6倍数6Dとの
減算(R2=R−6D)が実行される(図5のステップ
S1)。
【0057】ここで、10進数の減算は、例えば被減数
に減数の9の補数を最下位桁へのキャリー入力を“1”
として加算することで実行される。この場合、加算結果
の最上位桁からのキャリー出力が“0”であれば減算結
果は負であり、キャリー出力が“1”であれば減算結果
はゼロまたは正である(以下、ゼロの場合も正に含める
ものとする)。
【0058】第2の制御回路109は、減算回路10
7,108のキャリー信号C1およびC2に基づいて、
2つの減算回路107,108による減算結果R1,R
2の正負を判断し(図5のステップS2)、中間剰余選
択回路110を切換制御することにより、選択された結
果を中間剰余Rとして選択回路100を介して剰余レジ
スタ101へ再び格納する(図5のステップS3〜S
5)。
【0059】つまり、R1<0かつR2<0(即ちC1
=C2=0)の場合には、中間剰余選択回路110によ
り、剰余レジスタ101からの被除数Rを中間剰余Rと
して選択し剰余レジスタ101に格納し(ステップS
3)、R1≧0かつR2<0(即ちC1=1かつC2=
0)の場合には、中間剰余選択回路110により、減算
回路107による減算結果R1を中間剰余Rとして選択
し剰余レジスタ101に格納し(ステップS4)、R1
≧0かつR2≧0(即ちC1=C2=1)の場合には、
中間剰余選択回路110により、減算回路108からの
減算結果R2を中間剰余Rとして選択し剰余レジスタ1
01に格納する(ステップS5)。
【0060】なお、被除数Rから除数の1倍数Dを減算
した結果R1が負になり、且つ、同じ被除数Rから1倍
数Dよりも大きい除数の2倍数2Dを減算した結果R2
が正または0になることは考えられず、従って、R1<
0かつR2≧0なる正負の組合せは論理的に有り得な
い。そこで、本実施例では、ステップS2の判断によ
り、万一、R1<0かつR2≧0(即ちC1=0かつC
2=1)であると判定された場合には、第2の制御回路
109のエラー通知機能により、除算処理に際して何ら
かの異常が生じたものとして、オペレータ等に対してエ
ラー通知を行なうことにより(図5のステップS6)、
除算処理の正常性の検査を行なっている。
【0061】また、図3の上段に、第1サイクルで実行
する減算動作とその減算結果の正負により選択される減
算結果との関係を示す。そして、ステップS1における
減算処理に伴い減算回路107,108から出力される
キャリー信号C1,C2の状態は、それぞれフラグC1
1,C21としてフラグ回路111に格納される(図5
のステップS8)。
【0062】次に、一桁の商算出処理の第2サイクルで
は、第1の制御回路103により倍数選択回路104,
105が切換制御され、倍数選択回路104は倍数保持
回路102から除数の1倍数Dを選択し、倍数選択回路
105は倍数保持回路102から除数の2倍数2Dを選
択する。これにより、減算回路107では中間剰余Rと
除数の1倍数Dとの減算(R1=R−D)が実行される
と同時に、減算回路108では中間除数Rと2倍数2D
との減算(R2=R−2D)が実行される(図5のステ
ップS8)。
【0063】制御回路109は、1サイクル目と同様
に、減算回路107,108のキャリー信号C1および
C2に基づいて、2つの減算回路107,108による
減算結果R1,R2の正負を判断し(図5のステップS
9)、中間剰余選択回路110を切換制御することによ
り、選択された結果を新たな中間剰余Rとして選択回路
100を介して剰余レジスタ101へ再び格納する(図
5のステップS10〜S12)。
【0064】つまり、前述したステップS3〜S5と同
様に、R1<0かつR2<0(即ちC1=C2=0)の
場合には、中間剰余選択回路110により、剰余レジス
タ101からの被除数Rを中間剰余Rとして選択し剰余
レジスタ101に格納し(ステップS10)、R1≧0
かつR2<0(即ちC1=1かつC2=0)の場合に
は、中間剰余選択回路110により、減算回路107に
よる減算結果R1を中間剰余Rとして選択し剰余レジス
タ101に格納し(ステップS11)、R1≧0かつR
2≧0(即ちC1=C2=1)の場合には、中間剰余選
択回路110により、減算回路108からの減算結果R
2を中間剰余Rとして選択し剰余レジスタ101に格納
する(ステップS12)。
【0065】また、ここでも、ステップS6にて説明し
た通り、ステップS9の判断により、万一、R1<0か
つR2≧0(即ちC1=0かつC2=1)であると判定
された場合には、第2の制御回路109のエラー通知機
能により、除算処理に際して何らかの異常が生じたもの
として、オペレータ等に対してエラー通知を行なうこと
により(図5のステップS13)、除算処理の正常性の
検査を行なっている。
【0066】なお、図3の中段に、第2サイクルで実行
する減算動作とその減算結果の正負により選択される減
算結果との関係を示す。そして、ステップS8における
減算処理に伴い減算回路107,108から出力される
キャリー信号C1,C2の状態は、それぞれフラグC1
2,C22としてフラグ回路111に格納される(図5
のステップS14)。
【0067】ここで、図4に示す各処理サイクルでの減
算結果の正負と商との関係から分かるように、商が
“0”〜“7”のいずれかである場合は、2サイクルま
での減算結果によって商は確定する。従って、第2サイ
クルにおいて、第1サイクルのキャリー信号C1,C2
の状態(フラグC11,C21)と第2サイクルのキャ
リー信号C1,C2の状態(フラグC12,C22)に
より商が確定すると判断された場合、つまり、図5のス
テップS15において、フラグ回路111に格納された
フラグC21,C22が両方とも1ではない〔(C1
2,C22)=(0,0),(1,0),(0,1)〕
と判断された場合には、商算出動作は第2サイクルで終
了し、次の桁の商算出動作に移行する。
【0068】この場合、中間剰余選択回路110から剰
余レジスタ101へ格納される結果は、実際には次の商
算出処理のために一桁左へシフトして格納される。ま
た、商決定回路112は、フラグ回路111のフラグC
11,C12,C21,C22に基づき、図4に従って
一桁の商を決定し、商レジスタ113に格納する(図5
のステップS23)。
【0069】さて、図4から分かるように、商が
“8”,“9”の場合、つまり、つまり、図5のステッ
プS15において、フラグ回路111に格納されたフラ
グC21,C22が両方とも1である〔(C21,C2
2)=(1,1)〕と判断された場合には、まだ、商は
確定していないので、第3サイクルの処理を実行する。
この場合は、中間剰余選択回路110の出力はシフトさ
れずに剰余レジスタ101に格納され、引き続き第3サ
イクルの処理に移行する。
【0070】一桁の商算出処理の第3サイクルでは、第
2サイクルのステップS8と同様に、減算回路107で
は中間剰余Rと除数の1倍数Dとの減算(R1=R−
D)が実行されると同時に、減算回路108では中間除
数Rと2倍数2Dとの減算(R2=R−2D)が実行さ
れる(図5のステップS16)。そして、制御回路10
9も、第2サイクルと同様に、減算回路107,108
のキャリー信号C1およびC2に基づいて、2つの減算
回路107,108による減算結果R1,R2の正負を
判断し(図5のステップS17)、R1<0かつR2<
0(即ちC1=C2=0)の場合には、中間剰余選択回
路110により、剰余レジスタ101からの被除数Rを
中間剰余Rとして選択し剰余レジスタ101に格納し
(図5のステップS18)、R1≧0かつR2<0(即
ちC1=1かつC2=0)の場合には、中間剰余選択回
路110により、減算回路107による減算結果R1を
中間剰余Rとして選択し剰余レジスタ101に格納する
(ステップS19)。
【0071】また、ここでも、ステップS6にて説明し
た通り、ステップS17の判断により、万一、R1<0
かつR2≧0(即ちC1=0かつC2=1)であると判
定された場合には、第2の制御回路109のエラー通知
機能により、除算処理に際して何らかの異常が生じたも
のとして、オペレータ等に対してエラー通知を行なうこ
とにより(図5のステップS21)、除算処理の正常性
の検査を行なっている。
【0072】さらに、ここでは、ステップS17の判断
によりR1≧0かつR2≧0(即ちC1=C2=1)で
あると判定された場合にも、第2の制御回路109のエ
ラー通知機能により、除算処理に際して何らかの異常が
生じたものとして、オペレータ等に対してエラー通知を
行なっている(図5のステップ20)。これは、第3サ
イクルで、R1≧0かつR2≧0(即ちC1=C2=
1)となるということは商が“9”よりも大きい場合で
あり、このようなことは論理的に有り得ないからであ
る。
【0073】なお、図3の下段に、第3サイクルで実行
する減算動作とその減算結果の正負により選択される減
算結果との関係を示す。そして、ステップS16におけ
る減算処理に伴い減算回路107,108から出力され
るキャリー信号C1,C2の状態は、それぞれフラグC
13,C23としてフラグ回路111に格納される(図
5のステップS22)。
【0074】本実施例によれば、図4から分かるよう
に、3サイクルまでの減算結果によって商は完全に確定
する。従って、一桁の商算出動作は多くても3サイクル
で終了し、次の桁の商算出動作に移行する。このとき、
剰余レジスタ101へ格納される結果は次の商算出処理
のために一桁左へシフトして格納される。また、商決定
回路112は、フラグ回路111のフラグC11,C1
2,C21,C22,C13,C23に基づき、図4に
従って一桁の商を決定し、商レジスタ113に格納する
(図5のステップS23)。
【0075】ここで、より具体的な例として、商が
“5”である場合について説明する。本実施例では、第
1サイクルで被除数Rから3倍数3Dと6倍数6Dとを
それぞれ同時に減算すると、6倍数6Dの減算結果R2
が負になるとともに3倍数3Dの減算結果R1が正とな
るため、商は“3”〜“5”の間であることが分かる。
次に、第2サイクルでは、3倍数3Dを減じた結果(中
間剰余)Rから2倍数2Dと1倍数Dとの減算をそれぞ
れ同時に行なう。この結果、2倍数2Dの減算結果R2
が正であるから、商は“5”以上であり、且つ、前回の
結果より商は“3”〜“5”の範囲であるから商は
“5”であることが確定する(フラグ回路111におい
てC11=1,C21=0,C12=1,C22=
1)。このように、被除数もしくは中間剰余Rから2つ
の倍数の減算をそれぞれ同時に行なうことにより、商の
範囲が順次絞られて一桁の商が確定される。
【0076】また、本実施例においては、除数の整数倍
数の種類にも特徴がある。2サイクルで商を確定するた
めには、1倍数〜9倍数を2つの倍数の和で表現できる
必要がある。本実施例における1倍数,2倍数,3倍
数,6倍数の組合せは以下のようにこの条件を満足して
いる。 9倍数=6倍数+3倍数 8倍数=6倍数+2倍数 7倍数=6倍数+1倍数 6倍数=6倍数 5倍数=3倍数+2倍数 4倍数=3倍数+1倍数 3倍数=3倍数 2倍数= 2倍数 1倍数= 1倍数 一方、例えば1倍数,2倍数,4倍数,8倍数の組合せ
では、以下のように7倍数が2つの倍数の和では表現す
ることができない。
【0077】9倍数=8倍数+1倍数 8倍数=8倍数 7倍数=4倍数+2倍数+1倍数 6倍数=4倍数+2倍数 5倍数=4倍数+1倍数 4倍数=4倍数 3倍数=2倍数+1倍数 2倍数= 2倍数 1倍数= 1倍数 このように、本発明の第1実施例によれば、除数の整数
倍数として1倍数D,2倍数2D,3倍数3D,6倍数
6Dを使用し、第1サイクルで被除数から3倍数3Dお
よび6倍数6Dをそれぞれ同時に減算することにより、
商が“2”以下の範囲,“3”〜“5”の範囲,
“6”以上の範囲のいずれに属するかが限定され、この
後、第2サイクル以降で中間剰余から1倍数Dおよび2
倍数2Dを減算することにより、各範囲内で商を限定す
ることができる。
【0078】従って、図4にも示すように、商が“7”
以下の場合には2サイクルで、商が“8”,“9”の場
合には3サイクルで一桁の商を算出でき、一桁の商算出
処理を最大3サイクル,最小2サイクル,平均2.2サ
イクルで実行することができるので、より簡単な論理構
成で一桁の商を確定するための処理時間を短縮でき、1
0進除算を大幅に高速化できるのである。
【0079】また、本実施例では、倍数保持回路102
を、1倍数レジスタ201,3倍数レジスタ202と2
つの2倍回路203,204とから構成することで、1
倍数D,2倍数2D,3倍数3Dおよび6倍数6Dを保
持するものを容易に構成することができる。さらに、減
算回路108に加算機能をもたせ、剰余レジスタ1から
の被除数Rと1倍数レジスタ201からの除数の1倍数
Dとのいずれか一方を選択して減算回路108へ出力す
る選択回路106をそなえることにより、3倍数レジス
タ202に格納されるべき除数の3倍数3Dを、選択回
路106により選択した除数の1倍数Dと、倍数選択回
路105により選択した除数の2倍数2Dとの加算によ
り容易に算出することができる。
【0080】またさらに、2つの減算回路107,10
8による減算結果R1,R2の正負の状態が論理的に有
り得ない組合せのものである場合には、第2の制御回路
109のもつエラー通知機能により、オペレータ等に対
するエラー通知が行なわれるので、除算処理の正常性を
検査することができ、除算処理の信頼性を向上できる利
点もある。
【0081】(b)第2実施例の説明 図6は本発明の第2実施例としての除算装置の構成例を
示すブロック図であり、この図6に示すように、本実施
例の除算装置も図2に示す第1実施例の除算装置とほぼ
同様に構成されているが、第2実施例では、比較回路1
14が新たに設けられている この比較回路114は、一桁の商算出処理の第2サイク
ルを開始するに当たり剰余レジスタ101に保持される
中間剰余Rの上位2桁rと、倍数保持回路102の3倍
数レジスタ202に保持される除数の3倍数3Dの上位
2桁3dとを比較し、3倍数3Dが大きい(以下、r<
3dと表現する)か中間剰余R側が大きいまたは等しい
(以下、r≧3dと表現する)かを第1の制御回路10
3に通知するとともに、フラグ回路111の大小比較フ
ラグP(r≧3dのときP=1)をセットするものであ
る。ここで、比較回路114による大小比較は上位2桁
(8ビット)の内、下位6ビットだけでも十分である。
【0082】そして、本実施例の第1の制御回路103
は、第2サイクルにおいて、比較回路114によりr≧
3dと判定された場合には倍数選択回路104により倍
数保持回路102から除数の3倍数3Dを選択して減数
回路107へ出力する一方、比較回路114によりr<
3dと判定された場合には倍数選択回路104により倍
数保持回路102から除数の1倍数Dを選択して減数回
路107へ出力するようになっている。
【0083】また、本実施例のフラグ回路111では、
第1実施例と同様に、第1サイクルで得られる減算回路
107,108からのキャリー信号の状態をフラグC1
1,C21としてそれぞれ保持し、第2サイクルで得ら
れる減算回路107,108からのキャリー信号の状態
をフラグC12,C22としてそれぞれ保持するが、第
3サイクルに対応するフラグC13,C23は保持せ
ず、代わって、比較回路114による比較結果を大小比
較フラグPとして保持している。この大小比較フラグP
は、比較回路114によりr≧3dと判定された場合に
“1”となり、r<3dと判定された場合に“0”とな
るものである。
【0084】以上の点を除けば、第2実施例における除
算装置も図2に示した第1実施例の除算装置と全く同様
に構成されており、図6中、既述の符号と同一の符号は
同一部分を示しているので、その説明は省略する。次
に、図6に示すごとく構成された第1実施例としての除
算装置の動作を、図9に示すフローチャートに従い、図
7および図8を参照しながら説明する。
【0085】なお、図7は、第2実施例において各処理
サイクル(第1,第2サイクル)で実行する減算動作
と、その減算結果の正負により選択される減算結果(中
間剰余)との関係を示す図であり、図8は、第1実施例
における各処理サイクル(第1,第2サイクル)での減
算結果の正負と商との関係を示す図である。ここで、ま
ず、第2実施例の除算装置が、第1実施例の除算装置と
機能的に異なる点について具体的に説明する。
【0086】第1実施例の除算装置では、図4に示した
通り、商が“6”以上の範囲にある場合、商の候補は
“6”〜“9”の4つとなるので、第2サイクルに際し
て、1倍数と2倍数との2つを用いて減算を行なうと、
商を“8”,“9”を確定するためには、さらに1サイ
クル(合計3サイクル)の処理が必要となる。そこで、
第2実施例の除算装置では、比較回路114により、剰
余レジスタ101の中間剰余Rの上位2桁rと倍数保持
回路102の除数の3倍数3Dの上位2桁3dとを比較
し、その大小関係に応じて、第1の制御回路103によ
り倍数選択回路104が選択する倍数を1倍数Dまたは
3倍数3Dのいずれかに切り換えることで、第2サイク
ルで減算すべき倍数を、2倍数2Dと3倍数3D、また
は、1倍数Dと2倍数2Dのいずれかに切り換えてい
る。
【0087】即ち、図8に示すように、r≧3dの場合
には、商は“8”以上つまり“8”または“9”である
と限定でき、中間剰余Rから2倍数2Dと3倍数3Dと
をそれぞれ減算回路108,107にて減算することに
より、商を“8”または“9”に確定することができ
る。これに対し、r<3dの場合には、商の候補は第1
実施例で前述した,の範囲もしくはの中の“6”
〜“8”の範囲あると限定でき、いずれの範囲において
も商の候補数は3つであるので、中間剰余Rから1倍数
Dと2倍数Dとをそれぞれ減算回路107,108にて
減算することにより、商を確定することができる。
【0088】さて、第2実施例においても、除算処理に
際しては、まず、被除数Rは、選択回路100を介し
て、ゼロでない最上位桁を左詰めにして剰余レジスタ1
00にセットされるとともに、除数Dは、ゼロでない最
上位桁を左詰めにして倍数保持回路102の1倍数レジ
スタ201にセットされる。一桁の商算出処理の第1サ
イクルでは、第1実施例と全く同様の処理が行なわれ
る。図9に示す第2実施例におけるステップS31〜S
37の各処理は、図5に示す第1実施例におけるステッ
プS1〜S7の各処理と全く同じであるので、ここで
は、その説明を省略する。なお、図7の上段に、第1サ
イクルで実行する減算動作とその減算結果の正負により
選択される減算結果との関係を示す。
【0089】そして、第2実施例では、一桁の商算出処
理の第2サイクルの開始に際して、まず、比較回路11
4により、剰余レジスタ101の中間剰余Rの上位2桁
rと倍数保持回路102の除数の3倍数3Dの上位2桁
3dとを比較する(図9のステップS38)。その比較
の結果、r≧3dの場合(ステップS38によりYES
判定の場合)には、フラグ回路111に大小比較フラグ
P=1を設定してから(図9のステップ39)、第1の
制御回路103により倍数選択回路104,105が切
換制御され、倍数選択回路104は倍数保持回路102
から除数の3倍数3Dを選択し、倍数選択回路105は
倍数保持回路102から除数の2倍数2Dを選択する。
【0090】これにより、減算回路107では中間剰余
Rと除数の3倍数3Dとの減算(R1=R−3D)が実
行されると同時に、減算回路108では中間除数Rと2
倍数2Dとの減算(R2=R−2D)が実行される(図
9のステップS40)。そして、制御回路109は、第
1実施例とほぼ同様に、減算回路107,108のキャ
リー信号C1およびC2に基づいて、2つの減算回路1
07,108による減算結果R1,R2の正負を判断し
(図9のステップS41)、R1<0かつR2≧0(即
ちC1=0かつC2=1)の場合には、中間剰余選択回
路110により、減算回路108による演算結果R2を
中間剰余Rとして選択し剰余レジスタ101に格納し
(図9のステップS42)、R1≧0かつR2≧0(即
ちC1=C2=1)の場合には、中間剰余選択回路11
0により、減算回路108による減算結果R1を中間剰
余Rとして選択し剰余レジスタ101に格納する(ステ
ップS19)。
【0091】なお、第1実施例のステップS6にて説明
した通り、ステップS41の判断により、万一、R1≧
0かつR2<0(即ちC1=1かつC2=0)であると
判定された場合には、第2の制御回路109のエラー通
知機能により、除算処理に際して何らかの異常が生じた
ものとして、オペレータ等に対してエラー通知を行なう
ことにより(図9のステップS45)、除算処理の正常
性の検査を行なっている。ここで、減算回路107,1
08により減算される倍数値の大小関係は、前述の例と
は逆転しているため、不等号の関係も逆転している。
【0092】さらに、ここでは、ステップS41の判断
によりR1<0かつR2<0(即ちC1=C2=0)で
あると判定された場合にも、第2の制御回路109のエ
ラー通知機能により、除算処理に際して何らかの異常が
生じたものとして、オペレータ等に対してエラー通知を
行なっている(図9のステップ44)。これは、比較回
路114によりr≧3dであると判定された場合に、R
1<0かつR2<0(即ちC1=C2=0)となるとい
うことは商が“8”よりも小さい場合であり、このよう
なことは論理的に有り得ないからである。
【0093】なお、図7の中段に、第2サイクルでr≧
3dの場合に実行する減算動作とその減算結果の正負に
より選択される減算結果との関係を示す。そして、ステ
ップS40における減算処理に伴い減算回路107,1
08から出力されるキャリー信号C1,C2の状態は、
それぞれフラグC12,C22としてフラグ回路111
に格納される(図9のステップS46)。
【0094】一方、第2サイクルの開始に際して、比較
回路114によりr<3dであると判定された場合(ス
テップS38によりNO判定の場合)には、フラグ回路
111に大小比較フラグP=0を設定してから(図9の
ステップS47)、第1の制御回路103により倍数選
択回路104,105が切換制御され、倍数選択回路1
04は倍数保持回路102から除数の1倍数Dを選択
し、倍数選択回路105は倍数保持回路102から除数
の2倍数2Dを選択する。
【0095】これにより、減算回路107では中間剰余
Rと除数の1倍数Dとの減算(R1=R−D)が実行さ
れると同時に、減算回路108では中間除数Rと2倍数
2Dとの減算(R2=R−2D)が実行される(図9の
ステップS48)。そして、制御回路109による図9
のステップS49〜S53およびS46の各処理は、図
5に示す第1実施例におけるステップS9〜S14の各
処理と全く同じであるので、ここでは、その説明を省略
する。なお、図7の下段に、第2サイクルでr<3dの
場合に実行する減算動作とその減算結果の正負により選
択される減算結果との関係を示す。
【0096】本実施例によれば、図8から分かるよう
に、2サイクルまでの減算結果によって商は完全に確定
する。従って、一桁の商算出動作は固定2サイクルで終
了し、次の桁の商算出動作に移行する。このとき、剰余
レジスタ101へ格納される結果は次の商算出処理のた
めに一桁左へシフトして格納される。また、商決定回路
112は、フラグ回路111のフラグC11,C12,
C21,C22と、第2サイクルにおいてr≧3dであ
ったか否かを示す大小比較フラグPに基づき、図8に従
って一桁の商を決定し、商レジスタ113に格納する
(図9のステップS54)。
【0097】このように、本発明の第2実施例によれ
ば、第1実施例と同様の作用効果が得られるほか、この
第2実施例では、比較回路114により中間除数Rの上
位2桁rと除数の3倍数3Dの上位2桁3dとを比較
し、その大小関係に応じて減算すべき倍数を切換・選択
することで、一桁の商算出処理を固定2サイクルで実行
することができ、第1実施例よりもさらに処理時間がさ
らに短縮され、10進除算を大幅に高速化できるのであ
る。
【0098】なお、上述した各実施例では、商算出処理
と商レジスタ113への商の格納処理とを別サイクルで
行なっているが、商の格納と次の商算出処理の第1サイ
クルとは同時に実行可能であるため、第1実施例では一
桁当たりの商算出は2〜3サイクルで実行可能であり、
第2実施例では一桁当たりの商算出は固定2サイクルで
実行可能である。また、いれずれの実施例においても、
第2サイクルあるいは第3サイクルにおいて商が確定す
ると同時に、その商を商レジスタ113へ格納するよう
に変更することは容易に可能である。
【0099】また、上述した各実施例では、倍数保持回
路102により保持される除数の倍数が、1倍数,2倍
数,3倍数,6倍数の4種類の場合について説明した
が、本発明は、これに限定されるものではなく、例え
ば、1倍数,2倍数,5倍数,8倍数の組合せや、1倍
数,2倍数,4倍数,8倍数の組合せや、1倍数,2倍
数,3倍数,4倍数,8倍数の組合せなど、種々の組合
せが考えられ、いずれの場合も、上述した実施例の場合
と同様、一桁の商算出処理を2〜3サイクルで実行する
ことができ、上述した実施例と同様の作用効果が得られ
ることは言うまでもない。
【0100】さらに、上述した各実施例では、減算回路
を2つそなえ、2つの異なる除数の倍数を同時に減算す
る場合について説明したが、本発明は、これに限定され
るものではなく、ハードウエア上あるいは製造コスト上
の問題がなければ、3つ以上の減算回路をそなえ、3つ
以上の異なる除数の倍数を同時に減算してもよい。ただ
し、前述したように2つの減算回路を用いる場合が、最
もハードウエア上簡素で且つ製造コストも低く、効率の
よい除算処理が行なうことができる。
【0101】
【発明の効果】以上詳述したように、本発明の除算方法
(請求項1)および除算装置(請求項6)によれば、各
処理サイクル毎に除数の整数倍数を複数個選択して被除
数あるいは中間剰余からそれぞれ同時に減算することに
より、複雑な商予測回路あるいはメモリ回路による商予
測テーブルを使用することなく、一桁の商を少ないサイ
クル数で確定することが可能で、より簡単な論理構成で
一桁の商を確定するための処理時間が短縮され、10進
除算を大幅に高速化できる効果がある。
【0102】また、除数の整数倍数として、1倍数と2
倍数とを含む異なる少なくとも4種類の倍数を予め用意
し、アルゴリズム的に決められた順に従って除数の整数
倍数を2個ずつ選択して被除数あるいは中間剰余からそ
れぞれ同時に減算することにより(請求項2,7)、一
桁の商算出処理を最大3サイクル,最小2サイクルで実
行することができ、より簡単な論理構成で一桁の商を確
定するための処理時間が短縮され、10進除算を大幅に
高速化できる。
【0103】特に、除数の整数倍数として、1倍数,2
倍数,3倍数,6倍数を使用する場合、第1サイクルで
被除数から3倍数および6倍数をそれぞれ同時に減算
し、その減算結果に基づいて商が“2”以下の範囲,
“3”〜“5”の範囲,“6”以上の範囲のいずれに属
するかを限定してから、第2サイクル以降で中間剰余か
ら1倍数および2倍数を減算し、その減算結果に基づい
て各範囲内で商を限定することにより(請求項3,
8)、商が“7”以下の場合には2サイクルで、商が
“8”,“9”の場合には3サイクルで一桁の商を算出
でき、一桁の商算出処理を最大3サイクル,平均2.2
サイクルで実行でき、より簡単な論理構成で一桁の商を
確定するための処理時間が短縮され、10進除算を大幅
に高速化できる。
【0104】さらに、第1サイクルにおける2つの減算
結果の両方が正であった場合には、中間剰余の上位2桁
と除数の3倍数の上位2桁とを比較し、その大小関係に
応じて、第2サイクルで減算すべき倍数を、2倍数と3
倍数、または、1倍数と2倍数のいずれかに切り換える
ことにより(請求項4,9)、一桁の商算出処理を
“0”〜“9”のいずれの商についても固定2サイクル
で実行でき、より簡単な論理構成で一桁の商を確定する
ための処理時間がさらに短縮され、10進除算を大幅に
高速化できる。
【0105】なお、倍数保持手段を、1倍数レジスタ,
3倍数レジスタと2つの2倍回路とから構成することに
より(請求項10)、1倍数,3倍数はそれぞれ各レジ
スタから得られるとともに、2倍数,6倍数は、各レジ
スタに保持される1倍数,3倍数にそれぞれ2倍回路で
2を乗算することにより算出され、これら4種類の倍数
を保持する倍数保持手段を容易に構成することができ
る。
【0106】また、2つの減算回路のうちの一方を加算
機能を有する加減算回路として構成し、剰余レジスタか
らの被除数と1倍数レジスタからの除数の1倍数とのい
ずれか一方を選択して加減算回路へ出力する選択回路を
そなえることにより(請求項11)、選択回路により選
択した除数の1倍数と、2つの倍数選択回路の一方によ
り選択した除数の2倍数とを前記加減算回路にて加算す
ることで、3倍数レジスタに保持されるべき除数の3倍
数が、減算回路を兼ねる回路を用いて容易に算出され
る。
【0107】さらに、2つの減算回路による減算結果の
正負の状態が論理的に有り得ない組合せのものである場
合には、本発明の除算処理に際して何らかの異常が生じ
たものと判断して、エラー通知が行なわれ(請求項5,
12)、除算処理の正常性の検査を行なうことができ、
本発明の除算処理の信頼性の向上に寄与する効果もあ
る。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の第1実施例としての除算装置の構成例
を示すブロック図である。
【図3】第1実施例において各処理サイクルで実行する
減算動作とその減算結果の正負により選択される減算結
果(中間剰余)との関係を示す図である。
【図4】第1実施例における各処理サイクルでの減算結
果の正負と商との関係を示す図である。
【図5】第1実施例の動作を説明するためのフローチャ
ートである。
【図6】本発明の第2実施例としての除算装置の構成例
を示すブロック図である。
【図7】第2実施例において各処理サイクルで実行する
減算動作とその減算結果の正負により選択される減算結
果(中間剰余)との関係を示す図である。
【図8】第2実施例における各処理サイクルでの減算結
果の正負と商との関係を示す図である。
【図9】第2実施例の動作を説明するためのフローチャ
ートである。
【符号の説明】
1 剰余レジスタ 2 倍数保持手段 3 減算回路 4 倍数選択回路 5 第1の制御回路 6 フラグ回路 7 中間剰余選択回路 8 第2の制御回路 9 商決定回路 100 選択回路 101 剰余レジスタ 102 倍数保持回路(倍数保持手段) 103 第1の制御回路 104,105 倍数選択回路 106 選択回路 107,108 減算回路 109 第2の制御回路 110 中間剰余選択回路 111 フラグ回路 112 商決定回路 113 商レジスタ 114 比較回路 201 1倍数レジスタ 202 3倍数レジスタ 203 第1の2倍回路 204 第2の2倍回路

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 被除数または中間剰余から、除数につい
    ての複数の異なる整数倍数をそれぞれ同時に減算し、当
    該減算結果がいずれも負である場合には減算前の被除数
    または中間剰余をそのまま新たな中間剰余とする一方、
    当該減算結果の一部もしくは全部が正または0である場
    合には減算結果が正または0であるもののうち最大倍数
    の減算結果を新たな中間剰余とするとともに、当該減算
    結果に伴うキャリー信号の状態を保持するという処理サ
    イクルを複数回繰り返し実行した後、 保持している当該減算結果に伴うキャリー信号の状態に
    基づいて、商を算出することを特徴とする、除算方法。
  2. 【請求項2】 除数の整数倍数として、1倍数と2倍数
    とを含む異なる少なくとも4種類の倍数を予め用意し、 一桁の商算出処理の第1サイクルでは、 被除数から2倍数よりも大きい2つの整数倍数をそれぞ
    れ同時に減算し、当該2つの減算結果の両方が負である
    場合には前記被除数をそのまま中間剰余とし、当該2つ
    の減算結果の一方が正または0である場合には減算結果
    が正または0となった方の減算結果を中間剰余とし、当
    該2つの減算結果の両方が正または0である場合には最
    大倍数の減算結果を中間剰余とし、当該2つの減算結果
    に伴うキャリー信号の状態を保持し、 前記一桁の商算出処理の第2サイクル以降では、 前記中間剰余から除数の1倍数および2倍数をそれぞれ
    同時に減算し、当該2つの減算結果の両方が負である場
    合には前記中間剰余をそのまま新たな中間剰余とし、当
    該2つの減算結果の一方が正または0である場合には減
    算結果が正または0となった方の減算結果を新たな中間
    剰余とし、当該2つの減算結果の両方が正または0であ
    る場合には2倍数の減算結果を新たな中間剰余とし、当
    該2つの減算結果に伴うキャリー信号の状態を保持した
    後、 保持している当該2つの減算結果に伴うキャリー信号の
    状態に基づいて、一桁の商を算出することを特徴とす
    る、除算方法。
  3. 【請求項3】 前記除数の整数倍数が、1倍数,2倍
    数,3倍数,6倍数の4種類であることを特徴とする、
    請求項2記載の除算方法。
  4. 【請求項4】 除数の整数倍数として、1倍数,2倍
    数,3倍数,6倍数の4種類を予め用意し、 一桁の商算出処理の第1サイクルでは、 被除数から除数の3倍数,6倍数をそれぞれ同時に減算
    し、当該2つの減算結果の両方が負である場合には前記
    被除数をそのまま中間剰余とし、当該2つの減算結果の
    一方が正または0である場合には減算結果が正または0
    となった方の減算結果を中間剰余とし、当該2つの減算
    結果の両方が正または0である場合には6倍数の減算結
    果を中間剰余とし、当該2つの減算結果に伴うキャリー
    信号の状態を保持し、 前記一桁の商算出処理の第2サイクルでは、 前記第1サイクルにおける2つの減算結果の両方が正ま
    たは0であった場合には、まず、前記中間剰余の上位2
    桁と除数の3倍数の上位2桁とを比較し、 前記中間剰余の上位2桁が前記除数の3倍数の上位2桁
    以上であれば、 前記中間剰余から除数の2倍数および3倍数をそれぞれ
    同時に減算し、当該2つの減算結果の両方が負である場
    合には前記中間剰余をそのまま新たな中間剰余とし、当
    該2つの減算結果の一方が正または0である場合には減
    算結果が正または0となった方の減算結果を新たな中間
    剰余とし、当該2つの減算結果の両方が正または0であ
    る場合には3倍数の減算結果を新たな中間剰余とし、当
    該2つの減算結果に伴うキャリー信号の状態を保持する
    一方、 前記第1サイクルにおける2つの減算結果の両方が正ま
    たは0で且つ前記中間剰余の上位2桁が前記除数の3倍
    数の上位2桁よりも小さい場合、または、前記第1サイ
    クルにおける2つの減算結果の両方が負であった場合も
    しくは一方が正または0であった場合には、 前記中間剰余から除数の1倍数および2倍数をそれぞれ
    同時に減算し、当該2つの減算結果の両方が負である場
    合には前記中間剰余をそのまま新たな中間剰余とし、当
    該2つの減算結果の一方が正または0である場合には減
    算結果が正または0となった方の減算結果を新たな中間
    剰余とし、当該2つの減算結果の両方が正または0であ
    る場合には2倍数の減算結果を新たな中間剰余とし、当
    該2つの減算結果に伴うキャリー信号の状態を保持し、 保持している当該2つの減算結果に伴うキャリー信号の
    状態と、前記中間剰余の上位2桁と除数の3倍数の上位
    2桁との比較結果とに基づいて、一桁の商を算出するこ
    とを特徴とする、除算方法。
  5. 【請求項5】 当該2つの減算結果の正負の状態が論理
    的に有り得ない組合せのものである場合には、エラー通
    知を行なうことを特徴とする、請求項2〜4のいずれか
    に記載の除算方法。
  6. 【請求項6】 被除数あるいは中間剰余を保持する剰余
    レジスタ(1)と、 除数についての複数の異なる整数倍数を保持する倍数保
    持手段(2)と、 該剰余レジスタ(1)の被除数あるいは中間剰余から、
    前記複数の異なる整数倍数のうちの一つを減算する複数
    の減算回路(3)と、 該倍数保持手段(2)に保持される前記複数の異なる整
    数倍数のうちの一つを選択して、各減算回路(3)へ出
    力する複数の倍数選択回路(4)と、 各倍数選択回路(4)により選択する整数倍数を切換制
    御する第1の制御回路(5)と、 前記の各減算回路(3)からのキャリー信号の状態をフ
    ラグとして格納するフラグ回路(6)と、 該剰余レジスタ(1)からの被除数あるいは中間剰余、
    または、前記の各減算回路(3)による減算結果のうち
    の一つを新たな中間剰余として選択して、該剰余レジス
    タ(1)へ出力する中間剰余選択回路(7)と、 前記の各減算回路(3)からのキャリー信号に基づい
    て、該中間剰余選択回路(7)により選択する中間剰余
    を切換制御する第2の制御回路(8)と、 該フラグ回路(6)に格納される前記の各減算回路
    (3)からのキャリー信号の状態に基づいて、一桁の商
    を決定する商決定回路(9)とがそなえられ、 1回の処理サイクルでは、 該第1の制御回路(5)により前記の各倍数選択回路
    (4)を切換制御することにより、前記の各倍数選択回
    路(4)にて該倍数保持手段(2)から複数の適当な整
    数倍数を選択して前記の各減算回路(3)へ出力し、 前記の各減算回路(3)により、該剰余レジスタ(1)
    の被除数あるいは中間剰余から、前記の各倍数選択回路
    (4)にて選択された前記複数の適当な整数倍数をそれ
    ぞれ同時に減算し、 該第2の制御回路(8)にて前記の各減算回路(3)か
    らのキャリー信号に基づいて該中間剰余選択回路(7)
    を切換制御することにより、前記の各減算回路(3)に
    よる減算結果がいずれも負である場合には該中間剰余選
    択回路(7)により該剰余レジスタ(1)からの被除数
    あるいは中間剰余を新たな中間剰余として選択して該剰
    余レジスタ(1)へ出力する一方、前記の各減算回路
    (3)による減算結果の一部もしくは全部が正または0
    である場合には該中間剰余選択回路(7)により減算結
    果が正または0であるもののうち最大倍数の減算結果を
    新たな中間剰余として選択して該剰余レジスタ(1)へ
    出力するとともに、 前記の各減算回路(3)からのキャリー信号の状態をフ
    ラグとして該フラグ回路(6)に順次格納することを特
    徴とする、除算装置。
  7. 【請求項7】 該倍数保持手段(2)が、除数の整数倍
    数として、1倍数と2倍数とを含む異なる少なくとも4
    種類の倍数を保持するとともに、 該減算回路(3)および該倍数選択回路(4)がそれぞ
    れ2つずつそなえられ、 一桁の商算出処理の第1サイクルでは、 該第1の制御回路(5)により前記2つの倍数選択回路
    (4)を切換制御することにより、前記2つの倍数選択
    回路(4)にて該倍数保持手段(2)から2倍数よりも
    大きい2つの整数倍数を選択して前記2つの減算回路
    (3)へそれぞれ出力し、 前記2つの減算回路(3)により、該剰余レジスタ
    (1)の被除数から、前記2つの倍数選択回路(4)に
    て選択された2つの整数倍数をそれぞれ同時に減算し、 該第2の制御回路(8)にて前記2つの減算回路(3)
    からのキャリー信号に基づいて該中間剰余選択回路
    (7)を切換制御することにより、前記2つの減算回路
    (3)による減算結果の両方が負である場合には該中間
    剰余選択回路(7)により該剰余レジスタ(1)からの
    被除数を中間剰余として選択して該剰余レジスタ(1)
    へ出力し、前記2つの減算回路(3)による減算結果の
    一方が正または0である場合には該中間剰余選択回路
    (7)により減算結果が正または0となった方の減算結
    果を中間剰余として選択して該剰余レジスタ(1)へ出
    力し、前記2つの減算回路(3)による減算結果の両方
    が正または0である場合には該中間剰余選択回路(7)
    により最大倍数の減算結果を中間剰余として選択して該
    剰余レジスタ(1)へ出力するとともに、 前記2つの減算回路(3)からのキャリー信号の状態を
    フラグとして該フラグ回路(6)に格納し、 前記一桁の商算出処理の第2サイクル以降では、 該第1の制御回路(5)により前記2つの倍数選択回路
    (4)を切換制御することにより、前記2つの倍数選択
    回路(4)にて該倍数保持手段(2)から1倍数および
    2倍数を選択して前記2つの減算回路(3)へそれぞれ
    出力し、 前記2つの減算回路(3)により、該剰余レジスタ
    (1)の中間剰余から、前記2つの倍数選択回路(4)
    にて選択された1倍数および2倍数をそれぞれ同時に減
    算し、 該第2の制御回路(8)にて前記2つの減算回路(3)
    からのキャリー信号に基づいて該中間剰余選択回路
    (7)を切換制御することにより、前記2つの減算回路
    (3)による減算結果の両方が負である場合には該中間
    剰余選択回路(7)により該剰余レジスタ(1)からの
    中間剰余を新たな中間剰余として選択して該剰余レジス
    タ(1)へ出力し、前記2つの減算回路(3)による減
    算結果の一方が正または0である場合には該中間剰余選
    択回路(7)により減算結果が正または0となった方の
    減算結果を新たな中間剰余として選択して該剰余レジス
    タ(1)へ出力し、前記2つの減算回路(3)による減
    算結果の両方が正または0である場合には該中間剰余選
    択回路(7)により2倍数の減算結果を新たな中間剰余
    として選択して該剰余レジスタ(1)へ出力するととも
    に、 前記2つの減算回路(3)からのキャリー信号の状態を
    フラグとして該フラグ回路(6)に格納することを特徴
    とする、請求項6記載の除算装置。
  8. 【請求項8】 該倍数保持手段(2)が、除数の整数倍
    数として、1倍数,2倍数,3倍数,6倍数の4種類の
    倍数を保持していることを特徴とする、請求項7記載の
    除算装置。
  9. 【請求項9】 該倍数保持手段(2)が、除数の整数倍
    数として、1倍数,2倍数,3倍数,6倍数の4種類の
    倍数を保持し、 該減算回路(3)および該倍数選択回路(4)がそれぞ
    れ2つずつそなえられるとともに、 一桁の商算出処理の第2サイクルを開始するに当たり、
    該剰余レジスタ(1)に保持される中間剰余の上位2桁
    と該倍数保持手段(2)に保持される除数の3倍数の上
    位2桁とを比較してその大小関係を求め、該第1の制御
    回路(5)へ通知する比較回路がそなえられ、 一桁の商算出処理の第1サイクルでは、 該第1の制御回路(5)により前記2つの倍数選択回路
    (4)を切換制御することにより、前記2つの倍数選択
    回路(4)にて該倍数保持手段(2)から3倍数および
    6倍数を選択して前記2つの減算回路(3)へそれぞれ
    出力し、 前記2つの減算回路(3)により、該剰余レジスタ
    (1)の被除数から、前記2つの倍数選択回路(4)に
    て選択された3倍数および6倍数をそれぞれ同時に減算
    し、 該第2の制御回路(8)にて前記2つの減算回路(3)
    からのキャリー信号に基づいて該中間剰余選択回路
    (7)を切換制御することにより、前記2つの減算回路
    (3)による減算結果の両方が負である場合には該中間
    剰余選択回路(7)により該剰余レジスタ(1)からの
    被除数を中間剰余として選択して該剰余レジスタ(1)
    へ出力し、前記2つの減算回路(3)による減算結果の
    一方が正または0である場合には該中間剰余選択回路
    (7)により減算結果が正または0となった方の減算結
    果を中間剰余として選択して該剰余レジスタ(1)へ出
    力し、前記2つの減算回路(3)による減算結果の両方
    が正または0である場合には該中間剰余選択回路(7)
    により6倍数の減算結果を中間剰余として選択して該剰
    余レジスタ(1)へ出力するとともに、 前記2つの減算回路(3)からのキャリー信号の状態を
    フラグとして該フラグ回路(6)に格納し、 前記一桁の商算出処理の第2サイクルでは、 まず、該比較回路により、該剰余レジスタ(1)に保持
    される中間剰余の上位2桁と該倍数保持手段(2)に保
    持される除数の3倍数の上位2桁とを比較し、 該比較回路による比較の結果、前記中間剰余の上位2桁
    が前記除数の3倍数の上位2桁以上である場合には、 該第1の制御回路(5)により前記2つの倍数選択回路
    (4)を切換制御することにより、前記2つの倍数選択
    回路(4)にて該倍数保持手段(2)から2倍数および
    3倍数を選択して前記2つの減算回路(3)へそれぞれ
    出力し、 前記2つの減算回路(3)により、該剰余レジスタ
    (1)の中間剰余から、前記2つの倍数選択回路(4)
    にて選択された2倍数および3倍数をそれぞれ同時に減
    算し、 該第2の制御回路(8)にて前記2つの減算回路(3)
    からのキャリー信号に基づいて該中間剰余選択回路
    (7)を切換制御することにより、前記2つの減算回路
    (3)による減算結果の一方が正または0である場合に
    は該中間剰余選択回路(7)により減算結果が正または
    0となった方の減算結果を新たな中間剰余として選択し
    て該剰余レジスタ(1)へ出力し、前記2つの減算回路
    (3)による減算結果の両方が正または0である場合に
    は該中間剰余選択回路(7)により3倍数の減算結果を
    新たな中間剰余として選択して該剰余レジスタ(1)へ
    出力するとともに、 前記2つの減算回路(3)からのキャリー信号の状態お
    よび該比較回路による比較結果をフラグとして該フラグ
    回路(6)に格納する一方、 該比較回路による比較の結果が前記中間剰余の上位2桁
    が前記除数の3倍数の上位2桁よりも小さい場合には、 該第1の制御回路(5)により前記2つの倍数選択回路
    (4)を切換制御することにより、前記2つの倍数選択
    回路(4)にて該倍数保持手段(2)から1倍数および
    2倍数を選択して前記2つの減算回路(3)へそれぞれ
    出力し、 前記2つの減算回路(3)により、該剰余レジスタ
    (1)の中間剰余から、前記2つの倍数選択回路(4)
    にて選択された1倍数および2倍数をそれぞれ同時に減
    算し、 該第2の制御回路(8)にて前記2つの減算回路(3)
    からのキャリー信号に基づいて該中間剰余選択回路
    (7)を切換制御することにより、前記2つの減算回路
    (3)による減算結果の両方が負である場合には該中間
    剰余選択回路(7)により該剰余レジスタ(1)からの
    中間剰余を新たな中間剰余として選択して該剰余レジス
    タ(1)へ出力し、前記2つの減算回路(3)による減
    算結果の一方が正または0である場合には該中間剰余選
    択回路(7)により減算結果が正または0となった方の
    減算結果を新たな中間剰余として選択して該剰余レジス
    タ(1)へ出力し、前記2つの減算回路(3)による減
    算結果の両方が正または0である場合には該中間剰余選
    択回路(7)により2倍数の減算結果を新たな中間剰余
    として選択して該剰余レジスタ(1)へ出力するととも
    に、 前記2つの減算回路(3)からのキャリー信号の状態お
    よび該比較回路の比較結果をフラグとして該フラグ回路
    (6)に格納することを特徴とする、請求項6記載の除
    算装置。
  10. 【請求項10】 該倍数保持手段(2)が、 除数の1倍数を保持する1倍数レジスタと、 除数の3倍数を保持する3倍数レジスタと、 該1倍数レジスタからの1倍数に2を乗算して除数の2
    倍数を出力する第1の2倍回路と、 該3倍数レジスタからの3倍数に2を乗算して除数の6
    倍数を出力する第2の2倍回路とから構成されているこ
    とを特徴とする、請求項8または9に記載の除算装置。
  11. 【請求項11】 前記2つの減算回路(3)のうちの一
    方が加算機能を有する加減算回路として構成されるとと
    もに、 該剰余レジスタ(1)からの被除数と該1倍数レジスタ
    からの除数の1倍数とのいずれか一方を選択して該加減
    算回路へ出力する選択回路がそなえられ、 該加減算回路が、該選択回路により選択されて入力され
    る該1倍数レジスタからの除数の1倍数と、前記2つの
    倍数選択回路(4)の一方により選択されて入力される
    該第1の2倍回路からの除数の2倍数とを加算すること
    により除数の3倍数を算出し、該3倍数レジスタに格納
    することを特徴とする、請求項10記載の除算装置。
  12. 【請求項12】 前記2つの減算回路(3)による減算
    結果の正負の状態が論理的に有り得ない組合せのもので
    ある場合には、エラー通知を行なうエラー通知回路がそ
    なえられたことを特徴とする、請求項7〜11のいずれ
    かに記載の除算装置。
JP02946894A 1994-02-28 1994-02-28 除算方法および除算装置 Expired - Fee Related JP3506753B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP02946894A JP3506753B2 (ja) 1994-02-28 1994-02-28 除算方法および除算装置
US08/329,317 US5638314A (en) 1994-02-28 1994-10-26 Dividing apparatus for use in a data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02946894A JP3506753B2 (ja) 1994-02-28 1994-02-28 除算方法および除算装置

Publications (2)

Publication Number Publication Date
JPH07239774A true JPH07239774A (ja) 1995-09-12
JP3506753B2 JP3506753B2 (ja) 2004-03-15

Family

ID=12276941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02946894A Expired - Fee Related JP3506753B2 (ja) 1994-02-28 1994-02-28 除算方法および除算装置

Country Status (2)

Country Link
US (1) US5638314A (ja)
JP (1) JP3506753B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3609512B2 (ja) * 1994-12-15 2005-01-12 株式会社東芝 演算器
US5818745A (en) * 1996-05-31 1998-10-06 Intel Corporation Computer for performing non-restoring division
US6021487A (en) * 1996-12-16 2000-02-01 Intel Corporation Method and apparatus for providing a signed integer divide by a power of two
JP3173419B2 (ja) * 1997-05-08 2001-06-04 日本電気株式会社 倍数判定回路及びその判定方法
US7185041B1 (en) * 2001-10-05 2007-02-27 Unisys Corporation Circuit and method for high-speed execution of modulo division
US7149767B2 (en) * 2003-05-12 2006-12-12 International Business Machines Corporation Method and system for determining quotient digits for decimal division in a superscaler processor
JP2008305335A (ja) * 2007-06-11 2008-12-18 Sanyo Electric Co Ltd 除算回路
US8539015B2 (en) * 2008-08-01 2013-09-17 Hewlett-Packard Development Company, L.P. Performing a binary coded decimal (BCD) calculation
KR101592920B1 (ko) * 2009-06-10 2016-02-12 삼성전자주식회사 모듈러 연산 방법 및 이를 위한 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3733477A (en) * 1972-02-04 1973-05-15 Control Data Corp Iterative binary divider utilizing multiples of the divisor
JPS5582352A (en) * 1978-12-18 1980-06-21 Sharp Corp Multiplication and division operation system
JPS57111738A (en) * 1980-12-29 1982-07-12 Fujitsu Ltd Dividing circuit
JPS58132837A (ja) * 1982-02-03 1983-08-08 Hitachi Ltd 10進除算装置
US5446651A (en) * 1993-11-30 1995-08-29 Texas Instruments Incorporated Split multiply operation

Also Published As

Publication number Publication date
US5638314A (en) 1997-06-10
JP3506753B2 (ja) 2004-03-15

Similar Documents

Publication Publication Date Title
EP1058184A2 (en) High radix division
JP2835153B2 (ja) 高基数除算器
US5020014A (en) Generic interpolation pipeline processor
US4891780A (en) Divisional operation system for obtaining a quotient by repeated subtraction and shift operations
JP3506753B2 (ja) 除算方法および除算装置
EP0323619A2 (en) Circuit for comparing a plurality of binary inputs
US6163790A (en) Modular arithmetic coprocessor comprising an integer division circuit
JP6064435B2 (ja) 演算回路、演算処理装置、及び除算方法
JP3544821B2 (ja) 除算回路
JP3558119B2 (ja) 情報処理システム、プログラマブル論理回路の回路情報形成方法、プログラマブル論理回路の再構成方法
US5912904A (en) Method for the production of an error correction parameter associated with the implementation of modular operations according to the Montgomery method
JP2664750B2 (ja) 演算装置及び演算処理方法
EP0822481A1 (en) Constant divider
EP0442220B1 (en) Decoder
JPH0383127A (ja) 10進除算器
US4141077A (en) Method for dividing two numbers and device for effecting same
JP3122622B2 (ja) 除算装置
JP3068640B2 (ja) 計算装置
JPH0435777B2 (ja)
JPH0315942A (ja) 除算器
KR0164728B1 (ko) 2진 연산처리에 있어서의 나머지를 구하는 회로
JPH02252023A (ja) 引き去り法または引き戻し法アルゴリズムで除算を行う除算器
JPS6261122A (ja) 高基数非回復型除算装置
JPH01142928A (ja) 演算装置
JP2001243051A (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: 20031209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031217

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

Free format text: PAYMENT UNTIL: 20071226

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081226

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091226

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091226

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20101226

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20111226

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees