JPH1049350A - 定数除算器 - Google Patents

定数除算器

Info

Publication number
JPH1049350A
JPH1049350A JP8202361A JP20236196A JPH1049350A JP H1049350 A JPH1049350 A JP H1049350A JP 8202361 A JP8202361 A JP 8202361A JP 20236196 A JP20236196 A JP 20236196A JP H1049350 A JPH1049350 A JP H1049350A
Authority
JP
Japan
Prior art keywords
quotient
remainder
data
bit
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.)
Granted
Application number
JP8202361A
Other languages
English (en)
Other versions
JP3260630B2 (ja
Inventor
Kazuhiro Kozai
和浩 古財
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 IC Microcomputer Systems Co Ltd
Original Assignee
NEC IC Microcomputer Systems 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 NEC IC Microcomputer Systems Co Ltd filed Critical NEC IC Microcomputer Systems Co Ltd
Priority to JP20236196A priority Critical patent/JP3260630B2/ja
Priority to EP97112554A priority patent/EP0822481B1/en
Priority to DE69708782T priority patent/DE69708782T2/de
Priority to US08/898,243 priority patent/US5945657A/en
Publication of JPH1049350A publication Critical patent/JPH1049350A/ja
Application granted granted Critical
Publication of JP3260630B2 publication Critical patent/JP3260630B2/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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】 【課題】高速動作が可能で且つ小さなハードウェア規模
で実現可能な、グラフィック処理等に用いる定数である
除数で除算する定数除算器を提供する。 【解決手段】被除数の各ビットに設けられ、該当ビット
が“1”の時に該当ビットを除数で除した商と剰余を出
力するデコーダ群と、このデコーダ群の各デコーダの商
の出力を加算する商加算器とを含む部分除算器を複数段
有し、最終段以外の部分除算器はその段のデコーダ群の
各デコーダの剰余の出力を加算する剰余加算器を有し、
最終段の部分除算器は最終段のデコーダ群の各デコーダ
の剰余の出力を除数で除算した商の補正出力と剰余の補
正出力を出力する補正デコーダを有し、初段の部分除算
器は被除数を受け、次段以降の部分除算器は前段の部分
除算器の剰余加算器からの出力を被除数として受け、更
に格段の商加算器の出力と最終段の商の補正出力を加算
する商出力加算器を有する定数除算器を得る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は除算器の構成に関
し、特に除数が決められた定数である場合の除算器の構
成に関するものである。
【0002】
【従来の技術】従来、集積回路等で構成される除算器の
回路構成は減算処理を基本とし、被除数から除数減算で
きる回数を商とし、余りを剰余とするものが知られてい
る。
【0003】この減算処理を基本とするものでも、処理
のスピードを速くするために種々の工夫がなされてい
る。被除数の上位桁から除数を減算してその商(部分
商)と剰余(部分剰余)を得、この剰余と次位桁との和
から除数を再度減算して次の桁の商と剰余を得ることを
繰り返して減算回数を減らしている。
【0004】更に、除数が予め解っている定数である場
合には更に処理工数を少なくすることが出来る。例え
ば、特開昭61−88334号公報によれば、被除数と
して予め想定されるものに対する商と剰余とをメモリに
記憶しておき、被除数でメモリをアドレスして商と剰余
とを取り出すものである。しかしながら、被除数として
予め想定されるものを無制限に設定すると必要なメモリ
容量が膨大になるため、メモリには一定の桁数の全ての
数に対する商と剰余とを記憶しておき、被除数の上位桁
からメモリをアドレスして部分商と部分剰余とを得、こ
の部分剰余を加味した数に対して同様の処理を繰り返
し、最終的な商と剰余とを得ている。
【0005】このように、除算処理を繰り返した場合、
除算処理の回数分処理工数が多く必要となる。例えば、
除算処理1回に対しては少なくとも1制御クロック分の
処理時間が必要となり、被除数の桁数またはビット数に
応じて処理時間が長くなる欠点がある。この様子を、次
に図面を参照して説明する。
【0006】図8は特開昭61−88334号公報に記
載された除算器のブロック図であり、図9(A)はその
処理のフローを、同図(B)ならびに(C)は演算レジ
スタの状態のフローを示している。まず、図8によれ
ば、被除数は線500を通して選択器506の制御のも
とに演算レジスタ504にセットされる。演算レジスタ
504に格納された被除数の上位のビット情報が線50
3を通して除算用メモリ505にアドレスとして加えら
れ、線501および線502に部分剰余および部分商が
それぞれ出力される。線501の部分剰余は線507か
ら供給される被除数のまだ演算処理をしていない下位ビ
ットの情報と共に選択器506を介して再度演算レジス
タ504に設定される。このようにして再度設定された
演算レジスタ504の上位ビットの情報が除算用メモリ
05を利用して除算処理され、同様の除算処理が演算レ
ジスタ504内部の値が除数以下になるまで繰り返され
る。
【0007】次に、被除数の値を2進数値で“1111
b”、除数の値を2進数値で“10b”(bは2進数で
あることを表す)とし、演算レジスタ504から上位3
ビットを除算処理対象とする場合の具体的な動作を図9
(A)〜(C)を用いて説明する。最初の減算処理ルー
プでは演算レジスタ504にセットされた被除数“11
11b”の上位3ビット(即ち、“111b”)が線5
03を介して除算用メモリ505にアドレスとして加え
られる。アドレス“111b”には予め部分商“11
b”と部分剰余“1b”との値が設定されており、線5
01,502から出力される。部分商と部分剰余と被除
数の残りビットとは選択器506によって演算レジスタ
504にセットし直される。線502を介して出力され
た部分商“11b”は演算レジスタ504の下位ビット
601にセットされる。線501を介して出力された部
分剰余“b”も演算レジスタ504の上位ビット602
にセットされる。被除数の残りビットは部分商と部分剰
余との間で部分剰余に続いてセットされる。このよう
に、1回目の除算処理ループの結果、演算レジスタ50
4の値は“1111b”となる。次に、部分剰余“1
b”と被除数の残りビット“1b”とからなる上位ビッ
ト“11b”はまだ除数“10b”より大きいので、線
503を通して除算用メモリ505にアドレスとして加
えられて、2回目の除算処理ループが実施される。除算
用メモリ505のアドレス“11b”には部分商“1
b”と部分剰余“1b”とが設定されている。部分商
“1b”は演算レジスタ504の下位ビット603にセ
ットされ、部分剰余“1b”は上位ビット604にセッ
トされ、1回目の部分商“11b”が下位ビット603
の上位にシフトされる。この結果、部分商605,60
3以外の上位ビット“1b”が除数“10b”より小さ
くなったので、除算処理が終了し、部分商605と60
3とを組み合わせた値“111b”が最終的な商として
採用され、また、最後の剰余“1b”が最終的な剰余と
して採用される。
【0008】このように、メモリを使ったとしても、除
算処理は複数回繰り返されることとなり、最小処理回数
である1回での処理は出来ず、処理時間が長くなってい
た。演算レジスタ504から取り出してきて除算用メモ
リにアドレスするビット数が小さくなればメモリの容量
は少なくて住むが、除算処理のループ回数は増加し、処
理時間が長くなる。逆に、除算用メモリをアドレスする
ビット数が大きければ処理時間は短くて済むが、メモリ
に要求される容量はビット数の指数で増加することとな
る。
【0009】上記に説明した従来例で用いたメモリに代
わって、比較回路とデコーダとを用いた例が特開平2−
190928号公報に示されている。これは図8の除算
用メモリ505を比較回路とデコーダを用いた除算器に
置き換えたもので、被除数の除算対象ビットに対する除
数の整数倍とを比較する比較回路を複数設けておき、こ
れら複数の比較回路の出力をデコーダでデコードして部
分商と部分剰余とを算出し、図8の従来例と同様に部分
商の組み合わせを最終的な商、最後の余りを最終的な剰
余とするものである。
【0010】本従来例においても、除算処理を複数回行
わねばならず、処理時間が長くなることはメモリを用い
た従来例(特開昭61−88334号公報)と変わりは
ない。また、部分商を出す除算対象のビット数が大きく
なれば比較回路が多く必要となることもメモリを用いた
従来例と変わりはないが、比較回路の占める面積はメモ
リを用いた場合よりもはるかに大きくなる欠点がある。
【0011】
【発明が解決しようとする課題】本発明の目的は、必要
な処理時間が短くてすむ除算器、特に除数が一定である
除算器を提供することにある。
【0012】本発明の他の目的は、同じ処理が繰り返し
行われる処理ループを処理フローの中に含まないことに
よって処理時間を短縮できる除算器、特に除数が一定で
ある除算器を提供することにある。
【0013】本発明の更に他の目的は、半導体集積回路
に適した構成であって、除算処理に必要な回路構成の占
める集積回路上での専有面積が処理スピードの向上にも
かかわらず少ない除算器、特に除数が一定である除算器
を提供することにある。
【0014】
【課題を解決するための手段】本発明によれば、被除数
を予め定められた数の除数で除算する除算器において、
被除数を受け、この被除数の2進数の各ビットに設けら
れた、該当ビットが“1b”の時には該当ビットが持つ
値を除数で除した商と剰余とを出力し、該当ビットが
“0b”の時には商及び剰余として“0”を出力するデ
コーダで構成されるデコーダ群と、このデコーダ群の各
デコーダの商の出力値を加算する商加算器と、デコーダ
群の各デコーダの剰余の出力値を加算する剰余加算器と
を含む除算器を得る。
【0015】更に、本発明によれば、被除数を受け、こ
の被除数の2進数の各ビットに設けられた、該当ビット
が“1b”の時には該当ビットが持つ値を除数で除した
商と剰余とを出力し、該当ビットが“0b”の時には商
及び剰余として“0”を出力するデコーダで構成される
デコーダ群と、このデコーダ群の各デコーダの商の出力
値を加算する商加算器とを含む被除数を予め定められた
数の除数で除算する部分除算器を複数段有し、最終段以
外の部分除算器にはその段のデコーダ群の各デコーダの
剰余の出力値を加算する剰余加算器を有し、最終段の部
分除算器には最終段のデコーダ群の各デコーダの剰余の
出力値を除数で除算した商の補正出力と剰余の補正出力
とを出力する補正デコーダを有し、初段の部分除算器は
被除数を受け、次段以降の部分除算器は前段の部分除算
器の剰余加算器からの出力を被除数として受け、更に各
段の商加算器の出力と最終段の商の補正出力とを加算す
る商出力加算器を有し、この商出力加算器の出力と最終
段の商の補正出力とを加算する商出力加算器を有し、こ
の商出力加算器の出力を最終的な商とし、最終段の部分
除算器の補正デコーダからの剰余の補正出力を最終的な
剰余とする除算器を得る。
【0016】更に、本発明によれば、被除数を予め定め
られた除数で除算する除算方式において、被除数を受
け、この被除数の2進数の各ビット毎に、該当ビットが
“1b”の時には該当ビットが持つ値を除数で除した商
と剰余とを出力し、該当ビットが“0b”の時には商及
び剰余として”0“を出力するデコード手順と、このデ
コード手順で各ビット毎に出力された商を加算する商加
算手順と、該デコード手順で各ビット毎に出力された剰
余を加算する剰余加算手順とを備えた除算方式を得る。
【0017】更に、本発明によれば、被除数を受け、こ
の被除数の2進数の各ビット毎に、該当ビットが“1
b”の時には該当ビットが持つ値を除数で除した商と剰
余とを出力し、該当ビットが“0b”の時には商及び剰
余として“0”を出力するデコード手順と、このデコー
ド手順で各ビット毎に出力した商を加算する商加算手順
とこれら複数の除算手順を実行する除算方式であって、
複数の除算手順の内最終のものを除いた除算手順には各
ビット毎に出力される剰余を加算する剰余加算手順を有
し、複数の除算手順の内最終の除算手順には各ビット毎
に出力される剰余を除数で除した商の補正出力と剰余の
補正出力とを出力する補正デコード手順を有し、最初の
除算手順では求める除算の被除数を被除数として受け、
その後の除算手順では先立つ除算手順の剰余加算手順の
出力を被除数として受け、更に、各商加算手順の出力と
最終の除算手順の商の補正出力とを加算する商出力加算
手順を含み、この商出力加算手順の出力を最終的な商と
し、最後の除算手順の補正デコード手順の剰余の補正出
力を最終的な剰余とする予め決められた数値の除数で除
算する除算方式を得る。
【0018】本発明によれば、デコーダを直列に用いて
いるので処理を繰り返し行うループが存在しないため、
除算処理にクロックによる制御を必要としない。このた
め、1クロックで除算処理を完了でき、処理の高速化が
期待できる。また、このため、回路設計時に複雑なタイ
ミングを考慮する必要が無いので、回路設計が容易であ
る。さらに、デコーダを被除数のビット単位で形成して
いるので、各デコーダは除数が決まれはその回路構成は
自動的に決まる。被除数の複数ビットでの除算を繰り返
す従来例の場合、処理の高速化と共にメモリや比較器の
大型化が避けられなかったが、本発明で用いるデコーダ
は比較期に比べ小型であり且つメモリのようなアドレス
制御やセンスアンプ等の大きな周辺装置を必要としない
ので、比較的小さな専有面積で高速な除算が実行でき
る。
【0019】
【発明の実施の形態】次に、本発明について図面を参照
してさらに説明する。
【0020】図1は本発明の第1の実施の形態を示すフ
ローチャートである。この実施の形態は除算が1段のデ
コーダで済む場合のものである。被除数は線101を介
してデコーダ1に与えられる。デコーダ1は全体を総称
して示してあるが、実際には被除数として最大数である
64ビットの各ビットに対して1つづつの個別デコーダ
が設けられており、2進数で受けた被除数は各ビットが
対応する個別デコーダに入力される。
【0021】個別デコーダはその配置されたビットに対
応する数を予め設定された除数で除した場合の状態をデ
コードするように設計されている。即ち、個別デコーダ
はそのビットが持つ被除数のビット情報が“0b”の場
合には商および剰余として“0”を出力し、そのビット
が持つ被除数のビット情報が“1b”の場合にはそのビ
ットが持つ10進数値を予め設定された除数で除した時
の商と剰余とを出力するように設計されている。例えば
被除数が2進数で“1111b”で除数が“10b”で
ある時には、最下位ビットのデコーダは商として“0”
および剰余としてそのビットの被除数の10進数値(こ
の場合は“1h”(hは10進数であることを表す))
をそのまま出力する。最下位から2ビット目のデコーダ
は、被除数のこのビットが“1b”であるので、商とし
て“1h”を、また剰余として“0”を出力するように
設計されている。最下位から3ビット目のデコーダは被
除数の対応ビットは“1b”であるので、商として“2
h”を剰余として“0”をそれぞれ出力するように設計
されている。同様に最上位ビットのデコーダは商として
“4h”を剰余として“0”を出力するように設計され
ている。
【0022】各個別デコーダの商出力は線106(個別
デコーダの数分ある)から商加算器4に送られて加算さ
れる。各個別デコーダの剰余出力も線105(個別デコ
ーダの数分ある)から補正デコーダ10に送られて、剰
余が除数より大きくないかどうかデコード処理で判定さ
れる。剰余が除数より大きければ商の補正出力が出され
て商加算器に送られる。補正デコーダ10からは最終的
な剰余が出力される。個別デコーダの構成で説明した例
によれば、商の補正出力はないので、商加算器4の出力
は“1h”+“2h”+“4h”=“7h”となり、補
正デコーダ10からの出力は“1h”となる。これら出
力が最終的商と剰余とになる。
【0023】ここで、補正デコーダ10の役割を説明す
る。除数が4ビット(例えば、“1100b”)の値と
すると、各ビット毎に除数で除しているので、被除数の
下4ビットからはいずれも商が出力されない。この結
果、除数よりも大きな剰余が生じてしまうことがある。
この除数よりも大きな剰余をデコードして最終的な商の
値を補正するものである。
【0024】次に第2の実施の形態は2段構成のデコー
ダで形成されるものである。図2にその回路ブロックを
示し、図3にその除算処理の処理フローを示す。
【0025】被除数が線101から1段目のデコーダ1
に入力される。このデコーダ1は被除数のビットごとに
あり、各ビットで被除数の該当ビットが“1b”ならば
そのビットの数値を除数で除した商が線106に出力さ
れ、剰余が線105に出力される。各デコーダ1の商出
力は加算回路4で加算される。同様に、各剰余も加算回
路5で加算される。各剰余の加算値(加算回路5の出
力)は2段目のデコーダ2に加えられる。2段目のデコ
ーダ2も加算回路の2進数のビットごとに設けられてお
り、該当ビットが“1b”であればそのビットの数値を
除数で除した商が線109を介して加算回路6に加えら
れる、剰余が線108を介して補正デコーダ10に加え
られる。2段目デコーダ2の該当ビットが“0b”であ
れば出力はでない。補正デコーダ10は複数の2段目の
デコーダ2からの剰余が加えられており、剰余の合計が
除数よりも大きければ商の補正値を加算回路9に出力
し、その余りを線110に最終的な剰余として出力す
る。複数の2段目のデコーダ2,からの剰余の合計が除
数より小さければ、商の補正値はなく、そのまま剰余と
して線110から出力される。一方、商は加算器4の出
力と加算器6の出力とが補正デコーダ10の商の補正値
と共に加算器9に加えられて、線103に最終的な値と
して出力される。
【0026】本発明の第3の実施の形態は3段構成のデ
コーダで形成されるものである。図4にその回路ブロッ
クを示し、図5に除算処理の処理フローを示す。
【0027】被除数はその2進数のビット毎に線101
を介して1段目のデコーダ1に加えられる。1段目のデ
コーダ1によってビット毎に除数で除算のデコードがな
され、ビット毎の商が線106を介して加算器4に加え
られ、剰余は線105を介して加算器5に加えられる。
加算器5の出力は2進数のビット毎に2段目のデコーダ
2に加えられる。2段目のデコーダ2でもビット毎に除
数で除算のデコードがなされる。2段目の除算による商
は線109を介して加算器6に加えられ、剰余は同様に
線108を介して加算回路7に加えられる。加算回路7
の出力は2進数のビット毎に3段目のデコーダ3に加え
られる。3段目のデコーダ3もビット毎に除数で除算の
デコードがなされて、商が線112を介して加算回路8
に加えられる。3段目のデコーダ3のビット毎の剰余は
線102を介して補正デコーダ10に加えられる。補正
デコーダ10では各3段目のデコーダ3の剰余出力の合
計が除数を超えていれば商の補正出力を加算回路9に加
え、その剰余の線120を介して最終剰余として出力す
る。3段目のデコーダ3の剰余の合計が除数より小さけ
ればそのまま最終剰余として線120から出力する。各
デコード段の商出力は加算回路4,6,8から出力さ
れ、補正デコーダ10からの商の補正値と共に加算回路
9に加えられ加算結果が線103から最終的な商出力と
して出力される。
【0028】図6は被除数を”1111b”,除数を
“10b”とした時のデコーダの商出力と剰余出力の値
を被除数のビット毎に示した一覧表である。このデコー
ド一覧表に示した例では図1に示した1段構成で除算を
達成できる。商は“00b”と“01b”と“10b”
と“100b”とが4つの1段目の各デコーダから出力
されて加算回路4に加えられて、“1111b”の商を
得る。
【0029】被除数を“0101b”とすると最上位ビ
ットと下2桁目のビットからは商の出力も剰余の出力も
出ない。商は最下位ビットの商“00b”と下3桁目の
商“10b”との和“10b”となる。同様に、剰余は
最下位ビットの商“00b”と下3桁目の商“01b”
との和“01b”となる。
【0030】次に、図2の2段構成の計算例を示す。被
除数を28ビット“FFFFFFFh”とし、除数を3
ビットの“7h”とすると、1段目の加算回路4の商出
力(線114)は“2492489h”となり、加算回
路5の剰余出力(線107)は“40h”となる。2段
目の除算は剰余出力“40h”を除数“7h”で除する
ことになり、加算回路6の商出力(線111)は“9
h”、補正デコーダ10からは商の補正値はなく、剰余
“1h”が得られる。この剰余“1h”が最終的な剰余
となる最終的な商は加算回路9からの出力(線103)
として“2492489h”+“9h”=“24924
92h”が得られる。
【0031】次に、図4の3段構成の計算例を示す。被
除数を17ビットの“1FFFFh”とし、除数を3ビ
ットの“7h”とする。1段目の加算回路4の商出力
(線114)は“491h”、加算回路5の剰余出力
(線107)は“26h”となり、2段目の加算回路6
の商出力(線111)は“4h”、加算回路7の剰余出
力(線110)は“3h”となる。3段目の加算回路8
の商出力(線113)は、“1h”となり、補正デコー
ダ10からの商の補正値はなく、剰余出力が“3h”と
なる。この剰余出力“3h”が最終的な剰余となる。最
終的な商は1段目の加算回路4の商出力(線114)と
2段目の加算回路6の商出力(線111)と3段目の加
算回路8の商出力(線113)と補正デコーダ10から
の商の補正値出力との和となり、“491h”+“4
h”+“4h”+“0h”=“4924h”となる。
【0032】コンピュータで利用される数値のビット数
は通常64ビットを超えることがなく、除算に必要なデ
コーダの段数を種々の数値で検証したところ、最終段に
補正デコーダを持たせることによって3段で十分である
ことが判明している。例えば被除数として最大の64ビ
ット、除数として剰余の和が最大になる2ビットの“1
1b”を選ぶと、1段目の剰余の和の最大値は10進数
で“96”であり、7ビットの数となる。同様に、2段
目の剰余の和の最大値は10進数で“10”であり、4
ビットの数となる。3段目の剰余の和の最大値は10進
数で“96”であり、7ビットの数となる。同様に、2
段目の剰余の和の最大値は10進数で“10”であり、
4ビットの数となる。3段目の剰余の和の最大値は10
進数で“6”であり、4ビットの数である。このよう
に、剰余の和は3段で十分に小さくなり、デコーダで補
正すれば対応できるようになる。
【0033】この点、従来のメモリを用いた定数除算回
路では、被除数が大きくなると、メモリ容量が飛躍的に
大きくなり、メモリ周辺装置も含めた専有面積が大きく
なるが、本発明では3段以上にデコード段数が増えるこ
とはなく専有面積を少なくできる。
【0034】次に、図7を参照して、本発明の除算器の
動作タイミングを説明する。動作のタイミングは1段構
成であっても、2段構成であっても、3段構成であって
も1クロック周期で終了するが、ここでは3段構成を例
に説明する。
【0035】クロック401の立ち上がりで線101か
ら被除数が1段目のデコーダに入力され、タイミング4
03で入力が有効になる。1段目のデコーダ1と加算回
路4,5との動作の遅延時間の後、タイミング404で
線114,107に出力を得、2段目のデコーダ2に剰
余の和が加えられる。その後、2段目のデコーダ2と加
算回路6,7との動作の遅延時間の後、タイミング40
5で線111と110に出力を得、3段目のデコーダ3
に加えられる。3段目のデコーダ3の動作遅延時間の後
タイミング406で線112,102に出力を得、加算
回路8および補正デコーダ10に加えられる。その後、
加算回路8および補正デコーダ10の動作遅延時間の
後、タイミング407で加算回路8の出力(線113)
と補正デコーダ10の出力に出力信号を得る。加算回路
8の出力(線113)と商の補正値出力は加算回路9に
入力される。補正デコーダ10の剰余出力はこの時点で
線120に最終剰余として出力される。加算回路9で
は、その動作遅延時間の後、タイミング408で商出力
を線103に得る。その後、次のクロック402の立ち
上がりで次の除算が可能となる。このように、1クロッ
ク周期で1つの除算が終了する。
【0036】このように、1クロック周期で除算が終了
すると、除算動作が高速に出来るばかりでなく、全体の
装置の回路のクロック動作設計が非常に容易になるとい
う効果もある。このため、本発明はグラフィック処理な
どでのメモリアクセス時の1次元のアドレスから2次元
のアドレスへのアドレス変換などに有効である。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態を示すブロック図で
ある。
【図2】本発明の第2の実施の形態を示すブロック図で
ある。
【図3】本発明の第2の実施の形態による処理のフロー
チャートである。
【図4】本発明の第3の実施の形態を示すブロック図で
ある。
【図5】本発明の第3の実施の形態による処理のフロー
チャートである。
【図6】本発明の各実施の形態のデコーダの動作を説明
する表である。
【図7】本発明の各実施の形態の動作を説明するタイム
チャートである。
【図8】従来のメモリを用いた定数除算器を示すブロッ
ク図である。
【図9】(A)は従来のメモリを用いた定数除算器の処
理のフローチャートである。(B),(C)はそれぞれ
従来のメモリを用いた定数除算器の動作を説明する図で
ある。
【符号の説明】
1,2,3 デコーダ 2,5,6,7,8,9 加算回路 10 補正デコーダ 401,402 クロックパルス 403〜408 タイミング 504 演算レジスタ 505 除算用メモリ 506 選択器 601,603 下位ビット 602,604 上位ビット 605 部分商

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 入力された被除数データの各々のビット
    毎に設けられ、該当ビットが“1”である時に該当ビッ
    トの持つ値を所定の除数で除算処理した商データおよび
    剰余データを出力する第1のデコード手段と、 前記第1のデコード手段からビット毎に出力される商デ
    ータを加算する第1の商加算手段と、 前記第1のデコード手段からビット毎に出力される剰余
    データを加算する第1の剰余加算手段と、 前記第1の剰余加算手段より出力される加算処理された
    剰余データのビット毎に設けられ、該当ビットが“1”
    である時に該当ビットの持つ値を所定の除数で除算処理
    した商データおよび剰余データとを出力する第2のデコ
    ーダ手段と、 前記第2のデコード手段からビット毎に出力される剰余
    データから剰余値が前記所定の除数以上の場合に商の補
    正値と補正された剰余値とを出力する補正デコード手段
    と、 前記第1の商加算手段と前記第2の商加算手段と前記補
    正デコード手段との各出力を加算して最終的な商データ
    を出力する第3の商加算手段とを有することを特徴とし
    た定数除算器。
  2. 【請求項2】 入力された被除数データの各々のビット
    毎に設けられ、該当ビットが“1”である時に該当ビッ
    トの持つ値を所定の除数で除算処理した商データおよび
    剰余データとを出力する第1のデコード手段と、 前記第1のデコード手段からビット毎に出力される商デ
    ータを加算する第1の商加算手段と、 前記第1のデコード手段からビット毎に出力される剰余
    データを加算する第1の剰余加算手段と、 前記第1の剰余加算手段より出力される加算処理された
    剰余データのビット毎に設けられ、該当ビットが“1”
    である時に該当ビットの持つ値を所定の除数で除算処理
    した商データおよび剰余データとを出力する第2のデコ
    ード手段と、 前記第2のデコード手段からビット毎に出力される商デ
    ータを加算する第2の商加算手段と、 前記第2のデコード手段からビット毎に出力される剰余
    データを加算する第2の剰余加算手段と、 前記第2の剰余加算手段より出力される加算処理された
    剰余データのビット毎に設けられ、該当ビットが“1”
    である時に該当ビットの持つ値を所定の除数で除算処理
    した商データおよび剰余データとを出力する第3のデコ
    ード手段と、 前記第3のデコード手段からビット毎に出力される剰余
    データに基づいて剰余値が前記所定の除数以上の場合に
    商の補正値と補正された剰余値とを出力する補正デコー
    ド手段と、 前記第1の商加算手段と前記第2の商加算手段と前記第
    3の商加算手段と前記補正デコード手段との各々からの
    出力を加算して最終的な商データを出力する第4の商加
    算手段とを有することを特徴とする定数所算器。
  3. 【請求項3】 被除数データをそのビット毎に設けられ
    た第1のデコード手段に入力する第1の手順と、 前記被除数データをビット毎に所定の除数で所算したと
    きの商データ及び剰余データを生成する第1のデコード
    手順と、 前記第1のデコード手段でビット毎に生成された商デー
    タ及び剰余データを各々加算処理してそれぞれの総和デ
    ータを生成する第1の商加算手順及び第1の剰余加算手
    順と、 前記第1の剰余加算手順で生成された剰余データの総和
    データをそのビット毎に設けられた第2のデコード手段
    に加え、剰余データの総和データをビット毎に前記所定
    の除数で所算したときの商データおよび剰余データを生
    成する第2のデコード手順と、 前記第2のデコード手順でビット毎に生成された商デー
    タを加算処理する第2の商加算手順と、 前記第2のデコード手順でビット毎に生成された剰余デ
    ータに基づいて、その剰余値が前記所定の除数以上の値
    の場合には商の補正データと補正された剰余値とを出力
    する補正デコード手順と、 前記第1および第2の商加算手順で各々生成された商の
    総和データと前記商の補正値とを加算し、最終的な商デ
    ータとして出力すると共に前記補正デコード手順で生成
    された補正された剰余値を最終的な剰余データとして出
    力する出力手順とを有することを特徴とする定数除算
    器。
  4. 【請求項4】 被除数データをそのビット毎に設けられ
    た第1のデコード手段に入力する第1の手順と、 前記被除数データをビット毎に所定の除数で除算したと
    きの商データ及び剰余データを生成する第1のデコード
    手順と、 前記第1のデコード手順でビット毎に生成された商デー
    タ及び剰余データを各々加算処理してそれぞれの総和デ
    ータを生成する第1の商加算手順及び第1の剰余加算手
    段と、 前記第1の剰余加算手順で生成された剰余データの総和
    データをそのビット毎に設けられた第2のデコード手段
    に加え、剰余データの総和データをビット毎に前記所定
    の除数で除算したときの商データおよび剰余データを生
    成する第2のデコード手順と、 前記第2のデコード手順でビット毎に生成された商デー
    タ及び剰余データを各々加算処理してそれぞれの総和デ
    ータを生成する第2の商加算手順及び第1の剰余加算手
    順と、 前記第2の剰余加算手順で生成された剰余データの総和
    デートをそのビット毎に設けられた第3のデコード手段
    に加え、剰余データの総和データをビット毎に前記所定
    の除数で除算したときの商データおよび剰余データを生
    成する第3のデコード手順と、 前記第3のデコード手順でビット毎に生成された商デー
    タを加算処理する第3の商加算手順と、 前記第3のデコード手順でビット毎に生成された剰余デ
    ータに基づいて、その剰余値が前記所定の除数以上の値
    の場合には商の補正データと補正された剰余値とを出力
    する補正デコード手順と、 前記第1,第2及び第3の商加算手順で各々生成された
    商の総和データと前記商の補正値とを加算し、最終的な
    商データとして出力すると共に、前記補正デコード手順
    で生成された補正された剰余値を最終的な剰余データと
    して出力する出力手順とを有することを特徴とする定数
    除算器。
  5. 【請求項5】 被除数を予め定められた数の除数で除算
    する除算器において、被除数を受け、該被除数の2進数
    の各ビットに設けられた、該当ビットが“1”の時には
    該当ビットが持つ値を前記除数で除した商と剰余とを出
    力し、該当ビットが“0”の時には商及び剰余として
    “0”を出力するデコーダで構成されるデコーダ群と、 該デコーダ群の各デコーダの商の出力値を加算する商加
    算器と、 該デコーダ群の各デコーダの剰余の出力値を加算する剰
    余加算器とを含むことを特徴とする定数除算器。
  6. 【請求項6】 被除数を受け、この被除数の2進数の各
    ビットに設けられた、該当ビットが“1”の時には該当
    ビットが持つ値を除数で除した商と剰余とを出力し該当
    ビットが“0”の時には商及び剰余として“0”を出力
    するデコーダで構成されるデコーダ群と、該デコーダ群
    の各デコーダの商の出力値を加算する商加算器とを含む
    被除数を予め定められた数の除数で除算する部分除算器
    を複数段有し、最終段以外の前記部分除算器にはその段
    の前記デコーダ群の各デコーダの剰余の出力値を加算す
    る剰余加算器を有し、最終段の前記部分除算器には最終
    段の前記デコーダ群の各デコーダの剰余の出力値を除数
    で除算した商の補正出力と剰余の補正出力とを出力する
    補正手段を有し、初段の前記部分除算器は前記被除数を
    受け、次段以降の前記部分除算器は前段の前記部分除算
    器の前記剰余加算器からの出力を被除数として受け、更
    に各段の前記商加算器の出力と最終段の前記商の補正出
    力とを加算する商出力加算器を有し、該商出力加算器の
    出力を最終的な商とし、最終段の前記部分除算器の前記
    補正手段からの前記剰余の補正出力を最終的な剰余とす
    ることを特徴とする定数除算器。
  7. 【請求項7】 前記補正手段はデコーダであることを特
    徴とする請求項6に記載の定数除算器。
  8. 【請求項8】 前記複数段の部分除算器の初段の前記デ
    コーダ群に含まれる前記デコーダの数は64であること
    を特徴とする請求項7に記載の定数除算器。
  9. 【請求項9】 前記部分除算器の段数は2段であること
    を特徴とする請求項7または請求教8に記載の定数除算
    器。
  10. 【請求項10】 前記部分除算器の段数は3段であるこ
    とを特徴とする請求項7または請求項8に記載の定数除
    算器。
  11. 【請求項11】 被除数を受け、該被除数の2進数の各
    ビット毎に、該当ビットが“1”の時には該当ビットが
    持つ値を所定の除数で除した商と剰余とを出力し、該当
    ビットが“0”の時には商及び剰余として“0”を出力
    するデコード手順と、該デコード手順で各ビット毎に出
    力された商を加算する商加算手順とを有する除算手順を
    順次複数回実行する除算方式であって、前記複数の除算
    手順の内最終のものを除いた除算手順には各ビット毎に
    出力される剰余を加算する剰余加算手順を有し、前記複
    数の除算手順の内最終の除算手順には各ビット毎に出力
    される剰余を前記除数で除した商の補正出力と剰余の補
    正出力とを出力する補正手順を有し、最初の前記除算手
    順では求める除算の被除数を前記被除数として受け、そ
    の後の前記除算手順では先立つ除算手順の前記剰余加算
    手順の出力を前記被除数として受け、更に、前記商加算
    手順の各々の出力と最終の前記除酸手順の前記商の補正
    出力とを加算する商出力加算手順を含み、この商出力加
    算手順の出力を最終的な商とし、最後の前記除算手順の
    前記補正手順の前記剰余の補正出力を最終的な剰余とす
    ることを特徴とする被除数を予め定められた除数で除す
    る定数除算方式。
  12. 【請求項12】 前記補正手順はデコーダを用いて行う
    デコード手順であることを特徴とする請求項11に記載
    の被除数を予め定められた除数で除する定数除算方式。
  13. 【請求項13】 前記除算手順の実行回数は2回の実行
    であることを特徴とする請求項12に記載の被除数を予
    め定められた除数で除する定数除算方式。
  14. 【請求項14】 前記除算手順の実行回数は3回の実行
    であることを特徴とする請求項12に記載の被除数を予
    め定められた除数で除する定数除算方式。
JP20236196A 1996-07-31 1996-07-31 定数除算器及び定数除算方法 Expired - Fee Related JP3260630B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP20236196A JP3260630B2 (ja) 1996-07-31 1996-07-31 定数除算器及び定数除算方法
EP97112554A EP0822481B1 (en) 1996-07-31 1997-07-22 Constant divider
DE69708782T DE69708782T2 (de) 1996-07-31 1997-07-22 Konstantteiler
US08/898,243 US5945657A (en) 1996-07-31 1997-07-22 Constant divider

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20236196A JP3260630B2 (ja) 1996-07-31 1996-07-31 定数除算器及び定数除算方法

Publications (2)

Publication Number Publication Date
JPH1049350A true JPH1049350A (ja) 1998-02-20
JP3260630B2 JP3260630B2 (ja) 2002-02-25

Family

ID=16456240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20236196A Expired - Fee Related JP3260630B2 (ja) 1996-07-31 1996-07-31 定数除算器及び定数除算方法

Country Status (4)

Country Link
US (1) US5945657A (ja)
EP (1) EP0822481B1 (ja)
JP (1) JP3260630B2 (ja)
DE (1) DE69708782T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289602B2 (en) 2016-12-26 2019-05-14 Casio Computer Co., Ltd. Calculation apparatus, displaying method in calculation apparatus, and recording medium
US11669304B2 (en) 2021-02-08 2023-06-06 Kioxia Corporation Arithmetic device and arithmetic circuit for performing multiplication and division

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7464285B2 (en) * 2006-02-14 2008-12-09 Harris Corporation Controlling an accumulation of timing errors in a synchronous system
IT1395477B1 (it) * 2009-09-08 2012-09-21 St Microelectronics Srl "dispositivo per calcolare quozienti, ad esempio per convertire indirizzi logici in indirizzi fisici"

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5299030A (en) * 1976-02-17 1977-08-19 Yokogawa Hokushin Electric Corp Dividing operation circuit with constant divisor
GB2004089B (en) * 1977-07-16 1982-01-13 Rolls Royce Control system
DE2829656A1 (de) * 1978-07-06 1980-01-17 Rollei Werke Franke Heidecke Schaltungsanordnung zur belichtungszeitmessung und/oder belichtungszeitsteuerung fuer eine fotografische kamera
JPS58106638A (ja) * 1981-12-18 1983-06-25 Hitachi Ltd デイジタル微分解析機の演算方式
JPS58119045A (ja) * 1982-01-07 1983-07-15 Hitachi Medical Corp 高速固定数演算回路
JPS59134835A (ja) * 1983-01-21 1984-08-02 Mitsubishi Electric Corp 半導体装置の製造方法
JPS6188334A (ja) * 1984-10-06 1986-05-06 Nec Corp 除算回路
JPH02190928A (ja) * 1989-01-19 1990-07-26 Nec Corp 除算器
JPH04177529A (ja) * 1990-11-09 1992-06-24 Nec Corp 除算および乗算回路
US5216387A (en) * 1991-09-10 1993-06-01 John Fluke Mfg. Co., Inc. Noise reduction method and apparatus for phase-locked loops
US5315540A (en) * 1992-08-18 1994-05-24 International Business Machines Corporation Method and hardware for dividing binary signal by non-binary integer number
JPH06110661A (ja) * 1992-09-30 1994-04-22 Matsushita Electric Ind Co Ltd 除算装置
JP2541758B2 (ja) * 1993-06-02 1996-10-09 日本電気株式会社 剰余算出回路
US5473620A (en) * 1993-09-21 1995-12-05 Cirrus Logic, Inc. Programmable redundancy/syndrome generator
JPH08202533A (ja) * 1995-01-23 1996-08-09 Fujitsu Ltd 除算処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10289602B2 (en) 2016-12-26 2019-05-14 Casio Computer Co., Ltd. Calculation apparatus, displaying method in calculation apparatus, and recording medium
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
EP0822481A1 (en) 1998-02-04
DE69708782D1 (de) 2002-01-17
JP3260630B2 (ja) 2002-02-25
DE69708782T2 (de) 2002-08-08
US5945657A (en) 1999-08-31
EP0822481B1 (en) 2001-12-05

Similar Documents

Publication Publication Date Title
US5299145A (en) Adder for reducing carry processing
US4583199A (en) Apparatus for aligning and packing a first operand into a second operand of a different character size
JP3260630B2 (ja) 定数除算器及び定数除算方法
US6609142B1 (en) Method of performing multiplication with accumulation in a Galois body
US5781462A (en) Multiplier circuitry with improved storage and transfer of booth control coefficients
JP3173419B2 (ja) 倍数判定回路及びその判定方法
US6138133A (en) Circuit for calculating the inverse of an arbitrary element of a finite field
JP2991788B2 (ja) 復号器
KR0147942B1 (ko) 승산기에서의 부스 레코딩회로
EP1783602A2 (en) Apparatus and method to find the maximum or minimum of a set of numbers
JPH07200258A (ja) 加算デコード装置
CN114840175B (zh) 一种实现取余运算的装置、方法及运算芯片
US5535151A (en) Electronic processor for performing multiplication
JP2005165502A (ja) Lut符号化方法及びlut符号化装置並びにlutカスケード論理回路
KR0182169B1 (ko) 로그값 계산회로
US6578062B1 (en) Method and circuit for digital division
US7054894B2 (en) Generator circuit for generating large numbers
JP2000132539A (ja) 演算装置
JP3288273B2 (ja) 除算回路及びこれに用いる部分除算器
US5311460A (en) Method and apparatus for performing high speed divide operations
JPH06214754A (ja) 四捨五入演算回路及びこれを有する画像処理装置
JP3130797B2 (ja) 積和演算処理方法およびその装置
JPH09167082A (ja) 乗算装置
JPH05110451A (ja) 行列演算回路
JPH05150951A (ja) 除算処理方式

Legal Events

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