JPH07248899A - 除算器 - Google Patents

除算器

Info

Publication number
JPH07248899A
JPH07248899A JP6042164A JP4216494A JPH07248899A JP H07248899 A JPH07248899 A JP H07248899A JP 6042164 A JP6042164 A JP 6042164A JP 4216494 A JP4216494 A JP 4216494A JP H07248899 A JPH07248899 A JP H07248899A
Authority
JP
Japan
Prior art keywords
quotient
partial remainder
redundant binary
circuit
divider
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.)
Pending
Application number
JP6042164A
Other languages
English (en)
Inventor
Motonobu Tonomura
元伸 外村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP6042164A priority Critical patent/JPH07248899A/ja
Publication of JPH07248899A publication Critical patent/JPH07248899A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】部分剰余計算に桁上げ伝播のない{−1,0,
+1}の冗長2進加算器を利用する除算器において、部
分剰余値の上位7桁で商を決定する効率的な除算器を提
供する。 【構成】除算器は、除数Xの範囲を72/64≦X<7
3/64にスケーリング変換する冗長2進加算器,桁借
り先見付き減算器を設け、部分剰余計算に冗長2進加算
器を設け、部分剰余値の上位7桁で商を決定することに
より加算を制御する回路を設け、商を冗長2進→2進変
換する回路を設けることにより達成される。 【効果】従来、商1桁あたりの決定において、論理段数
10段を必要としていたのに対して、4.75 段で実現
でき、約50パーセントの性能向上を提供できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムの算術
演算制御方式に係り、特に除算を高速に実現するのに好
適な除算器に関する。
【0002】
【従来の技術】一般に、除算は、1桁単位に商が決定さ
れ、その商決定にもとづいて部分剰余が計算され、次の
演算ステップでは、この部分剰余値が1桁シフトされ、
それにもとづいて次の桁の商が決定され、という具合
に、繰り返し演算が実行される。この1桁単位に商を決
定して行く方法は、基数2の除算法と呼ばれている。
【0003】基数2の除算法では、n桁の商を求めるの
にn回の商決定と部分剰余計算の繰返し演算が必要であ
る。従来、この繰返し演算数を1/2に減らし、除算を
高速化するために、2桁単位に商を決定していく基数4
(=2の2乗)の除算法が知られている。例えば、電子情
報通信学会英文論文誌A、1993年4月号の593〜
602ページのものがある(題名:シンプル クウォー
シエント・ディジット・セレクション ラディックス−
4 ディバイダー ウイズ スケーリング オペレーシ
ョン,著者:外村元伸)。
【0004】さらに除算を高速化するために、4桁単位
に商を決定していく基数16(=2の4乗)の除算法が
考えられるが、これに関しては、実際に効果のある効率
的な方法はまだ考えられたことがない。しかも、部分剰
余計算には、桁上げ伝播のない加算器、例えば、{−
1,0,+1}の冗長2進数表現を利用した冗長2進加
算器を使用すると、総ゲート段数の少ない効率的な除算
器が構成できるが、基数16で構成した例はまだ報告さ
れていない。
【0005】
【発明が解決しようとする課題】商の決定を冗長2進数
表現の4桁単位に行い、4桁につき3桁分の部分剰余計
算を削減し、1桁あたりの商の決定と部分剰余計算に必
要な総ゲート段数を基数2や4の場合よりも削減するこ
とにより高速な基数16の除算器を提供することにあ
る。
【0006】
【課題を解決するための手段】冗長2進数表現の4桁単
位で商を決定することができるための条件を求めた結
果、除数Xの範囲は72/64≦X<73/64(表記
的には、[72/64,73/64)=1.00100
0・・・ と書く)で、7桁の参照で4桁単位に商を決
定できることが解明された。しかも7桁解は最適かつ一
意であり、この解以外は存在しない。従って、除数Xを
この範囲に収まるようにある数Mを掛けてスケーリング
変換する。すなわち、正規化されている除数X=0.1
・・・ から、その小数点以下2桁目から8桁目の結果
を参照し、冗長2進加算器と桁借り先見付き減算器を使
用し、X′=MX=1.001000・・・ のかたちに
変換する。このとき、同時に被除数Yに対しても同じ変
換Mをかければ、商の値は変らないので、正しく商が求
まることになる。さらに、このとき、同時に、除数X′
の3倍,5倍,7倍,9倍値を求めておく。
【0007】
【作用】本発明によれば、除数の範囲を[72/64,
73/64)に収めるという余分なスケーリング変換が
必要になるが、スケーリング変換のゲート段数が除算器
全体に占める割合は1割程度なので、それよりも部分剰
余計算の反復回数を削減する効果の方が大きいために高
速除算器が実現できる。
【0008】
【実施例】本発明の基数16の除算器の基本構成を図1
に示す。被除数をY,除数をXとする。そして被除数Y
と除数Xの格納レジスタをそれぞれ10,20とする。
これらは、スケーリング操作が回路3によって施され
て、それぞれY′11,X′21に変換される。同時
に、除数X′の3倍(3X′23),5倍(5X′2
5),7倍(7X′27),9倍(9X′29)もそれ
ぞれ計算される。Y′とX′の値にもとづいて、4桁単
位に商が決定され(回路30)、冗長2進加算器を使っ
て部分剰余計算が桁上げ伝播なしに実行される(回路4
0)。そして、部分剰余計算結果は4桁シフトされ、以
下同様に、次々の桁の商が決定されていく。
【0009】これらの演算回路30,31,・・・;4
0,41,・・・は、図1に示すように、配列状に配置
される。最後に、決定された各桁の商q(−1),q
(0),q(1),q(2),・・・,q(4p−3),q(4p
−2),q(4p−1),q(4p)は冗長2進数で表現され
ているので、冗長2進から2進への変換器50によって
通常の2進数に変換されて、最終的に商が求まる。
【0010】以下、詳細に説明すると、まず、被除数Y
と除数Xはともに正規化されていて、0.1・・・ のか
たちをしているものとする。これらは、図5に示すよう
に、除数Xの範囲を[72/64,73/64)=1.
001000・・・ に収めるというスケーリング変換
MによってそれぞれY′11,X′21に変換される。
すなわち、図5に示すように、除数Xの小数点以下2桁
目から8桁目の値を参照することによって変換し、X′
=MX=1.001000・・・ のかたちにする。図5
で、1の上の傍線は−1であることを表す。以下でも同
様の記述を使う。
【0011】図5に示したスケーリング変換Mを具体的
に実行するために、図2に示す回路3が設けられる。回
路3は、除数Xの小数点以下2桁目から8桁目の値にし
たがってオペランド10,20の値(図2では、j桁目
の値を基準にj+1〜j−6桁目)をシフト・セレクト
する組み合せ回路61,62、冗長2進加算器(RB
A.B)63,除数X′の3倍(73),5倍(75),
7倍(77),9倍(79)回路および桁借り先見付き
減算器(BLB)81,83,85,87,89から構
成されている。
【0012】冗長2進加算器(RBA.B)63は図3に
示す1桁分の回路を必要桁分並べて実現される。入力側
には、+1と−1表現部の信号がともに1のときには、
+1−1=0だから、相殺してゼロにする回路が付加さ
れている。この機能によって、初段の冗長2進加算器が
不要になり、ゲート段数の節約になる。
【0013】X′=MX,Y′=MY,商をQとする
と、次の数1なる関係にあるので、スケーリング操作M
によっても正しく商が求まることがわかる。
【0014】
【数1】 Q=Y/X=(MY)/(MX)=Y′/X′ …(数1) 基数16の除算は、数2の漸化式によって繰り返し演算
実行される。
【0015】
【数2】 R(p+1)=16・(R(p)−q(p)・X′) …(数2) ここで、pは演算の繰り返しステップ数を表し、小数点
以下4p−1,4p,4p+1,4p+2桁目の商を決
定する演算に係わるものであることを示す。
【0016】R(p)はpステップ目の部分剰余計算を行
う前の部分剰余値であり、この値にもとづいて小数点以
下4p−1,4p,4p+1,4p+2桁目の商が決定
される。特に、R(0)=Y′である。そして、部分剰余
が冗長2進加算器を使って桁上げ伝播なしで求められ
る。その部分剰余結果が16倍(4桁シフト)されて、
次の演算ステップp+1で使われる部分剰余値R(p+
1)になる。
【0017】図4は商数字選択回路を示す。部分剰余値
R(p)の上位7桁(r(−1),r(0),r(1),r
(2),r(3),r(4),r(5),:r(j)は小数点以下
j桁目の部分剰余値を表す)から商、q(4p−1),q
(4p),q(4p+1),q(4p+2)を決定する(図4
の回路60)。
【0018】図6は図4に示す冗長2進加算器(部分剰
余計算回路80の組み合せで形成される)の加算を制御
する信号出力の割当てを示す。同図の関数値mはX′の
m倍数を選択することを意味する。図6は除数Xをスケ
ーリング変換してX′を[72/64,73/64)の
範囲に収めることによって求められたものである。符号
信号sは、部分剰余値が非負のとき1で、負のとき0で
あり、加算制御信号の意味も兼ねている。
【0019】図7には、次の部分剰余結果の値の上位2
桁を、冗長2進加算器を使わずに、直接組み合せ回路で
求めるための関数値を示してある。符号信号sは、やは
り現在の部分剰余値が非負のとき1で、負のとき0であ
る。sが負のときは、関数値の正負の符号が互いに入れ
替わる。この組み合せ回路によって、図6に示す引数値
の上位2桁が先に確定され、商決定のための組み合せ回
路のゲート段数が節約される。なぜならば、もし、組み
合せ回路のかわりに冗長2進加算器で計算すると、引数
値の上位2桁よりさらに上位桁に冗長2進数の非ゼロ値
が発生し、これをゼロに還元するためにゲート段数を余
分に消費するからである。
【0020】また、図7の関数値の組み合せ回路は、図
4に示した商決定と部分剰余計算回路のゲート段数以内
に収まるだけの余裕をもっている。したがって、この組
み合せ回路はゲート段数を数える意味がないことから、
ここではその回路例を示すことを省略する。
【0021】
【発明の効果】本発明によれば、従来、商1桁あたりの
決定において、基数2の除算器は論理段数10段を必要
としていたのに対して、基数16の除算器は4.75 段
で実現できるため、約50パーセント以上の性能向上を
提供できるという効果がある。ただし、基数16の除算
器は、基数2のものに比べて2〜3倍のゲート数を必要
とし、しかも設計はかなり複雑になる。
【図面の簡単な説明】
【図1】本発明の一実施例の基数16の除算器の構成
図。
【図2】本発明の一実施例のスケーリング変換器のブロ
ック図。
【図3】本発明の一実施例のスケーリング変換で使用す
る相殺機能付き冗長2進加算回路(1桁分)。
【図4】本発明の一実施例の任意ステップの商決定とあ
る桁の部分剰余を計算する回路。
【図5】本発明の一実施例のスケーリング変換を示す
図。
【図6】冗長2進加算器の加算を制御する信号割当を示
す図。
【図7】部分剰余結果の値の上位2桁を組み合せ回路で
求めるための関数値を示す図。
【符号の説明】
3…スケーリング変換回路、10…被除数Y格納レジス
タ、20…除数X格納レジスタ、11…スケーリング変
換された被除数Y′格納レジスタ,21,23,25,
27,29…スケーリング変換された除数X′のn倍値
格納レジスタ、30,31,32,39…商決定回路、
40,41,42,49…部分剰余計算回路、50…冗
長2進から2進への変換回路、60…商決定回路、63
…スケーリング変換ブロックで使われる相殺機能付き冗
長2進加算回路、73,75,77,79…n倍加算を
実行する冗長2進加算器、80…任意桁の部分剰余計算
回路、81,83,85,87,89…桁借り先見付き
減算器(BLB)。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】計算機システムの除算処理装置において、
    部分剰余計算に冗長2進数と呼ばれる{+1,0,−
    1}の表現を利用する冗長2進加算器を設け、除数Xを
    72/64≦X<73/64の範囲にスケーリング変換
    し、部分剰余値の上位7桁のみを参照することによって
    商決定を簡単にすることを特徴とする除算器。
  2. 【請求項2】部分剰余計算において、次の結果の上位2
    桁分については、部分剰余値の上位7桁を参照して組み
    合せ回路によって直接求めることを特徴とする請求項1
    に記載した除算器。
  3. 【請求項3】冗長2進加算回路の入力部に、+1と−1
    の値が同時に入力されたときに、ゼロに相殺する機能を
    埋め込んだことを特徴とする冗長2進加算回路および該
    回路を採用した請求項1に記載した除算器。
JP6042164A 1994-03-14 1994-03-14 除算器 Pending JPH07248899A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6042164A JPH07248899A (ja) 1994-03-14 1994-03-14 除算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6042164A JPH07248899A (ja) 1994-03-14 1994-03-14 除算器

Publications (1)

Publication Number Publication Date
JPH07248899A true JPH07248899A (ja) 1995-09-26

Family

ID=12628328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6042164A Pending JPH07248899A (ja) 1994-03-14 1994-03-14 除算器

Country Status (1)

Country Link
JP (1) JPH07248899A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847986B2 (en) 2000-02-07 2005-01-25 Nec Corporation Divider

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847986B2 (en) 2000-02-07 2005-01-25 Nec Corporation Divider

Similar Documents

Publication Publication Date Title
US6763368B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
JPH02294819A (ja) 浮動小数点数演算処理装置
JPH02196328A (ja) 浮動小数点演算装置
US5184318A (en) Rectangular array signed digit multiplier
WO1993020502A1 (en) Exponential/logarithmic computational apparatus and method
JP3529828B2 (ja) ポピュレーション・カウントの計算装置
Ma et al. A Novel Modulo $2^{n}-2^{k}-1$ Adder for Residue Number System
US5144576A (en) Signed digit multiplier
JP2511527B2 (ja) 浮動小数点演算器
US6813628B2 (en) Method and apparatus for performing equality comparison in redundant form arithmetic
US20040083255A1 (en) Apparatus and method for performing operations implemented by iterative execution of a recurrence equation
EP0840207A1 (en) A microprocessor and method of operation thereof
JPH07248899A (ja) 除算器
JPH09222991A (ja) 加算方法および加算器
US5351207A (en) Methods and apparatus for subtraction with 3:2 carry-save adders
JPH07248900A (ja) 基数16の除算器
SalehiTabrizi et al. Designing Efficient Two-Level Reverse Converters for Moduli Set {2^ 2n+ 1-1, 2^ 2n, 2^ n-1\} 2 2 n+ 1-1, 2 2 n, 2 n-1
JPH07261982A (ja) 基数2の除算器
JPH0667852A (ja) 除算器
JPH0251732A (ja) 浮動小数点演算器
JPH0424730B2 (ja)
US5588127A (en) High speed microprocessor branch decision circuit
AU672787B2 (en) Exponential/Logarithmic Computational Apparatus and Method
JP3122622B2 (ja) 除算装置
Gowreesrinivas et al. Performance Efficient Floating-Point Multiplication Using Unified Adder–Subtractor-Based Karatsuba Algorithm