JPH0667852A - 除算器 - Google Patents

除算器

Info

Publication number
JPH0667852A
JPH0667852A JP4217664A JP21766492A JPH0667852A JP H0667852 A JPH0667852 A JP H0667852A JP 4217664 A JP4217664 A JP 4217664A JP 21766492 A JP21766492 A JP 21766492A JP H0667852 A JPH0667852 A JP H0667852A
Authority
JP
Japan
Prior art keywords
quotient
divider
digit
binary
redundant binary
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
JP4217664A
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 JP4217664A priority Critical patent/JPH0667852A/ja
Publication of JPH0667852A publication Critical patent/JPH0667852A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機システムの算術
演算制御方式に係り、特に除算を高速に実現するのに好
適な除算器に関する。
【0002】
【従来の技術】一般に、除算は、1桁単位に商が決定さ
れ、その商決定にもとづいて部分剰余が計算され、次の
演算ステップでは、この部分剰余値が1桁シフトされ、
それにもとづいて次の桁の商が決定され、という具合
に、繰り返し演算が実行される。この1桁単位に商を決
定して行く方法は、基数2の除算法と呼ばれている。こ
れを高速に実現する方法として、部分剰余計算に冗長2
進数と呼ばれる{+1,0,−1}の表現を利用する冗
長2進加算器を設けて、桁上げ伝播のない加算を行う方
法が考案されている(谷口隆志、枝松壽一、西山保、國
信茂郎、高木直史:冗長2進表現を用いた高速乗除算
器、電子情報通信学会技術研究報告ICD88−39、
1−6ページ、1988年)。
【0003】
【発明が解決しようとする課題】この方法では、商を決
定するのに部分剰余値の最上位3桁分を参照する必要が
ある。回路の論理段数(2入力AND、ORまたはEO
R相当を1段として数える)にして、4段分である。ま
た、商を決定した後、冗長2進加算器を使用して部分剰
余を計算する部分には論理段数にして6段分が必要であ
る。従って、商1桁を決定するためには、回路の総論理
段数として10段分が必要である。しかし、従来のよう
に、除数Xを1/2≦X<1(表記的には、[1/2,
1)=O.1・・・と書く)の範囲に正規化しているか
ぎり、商決定のための部分剰余値の参照を3桁より小さ
くすることは原理的にできない。
【0004】また、この方法により決定された商は、冗
長2進数で表現されているために、最終的には、通常の
2進数に変換する必要がある。この操作は簡単で、+1
で表現されている桁成分と−1で表現されている桁成分
とに分けて、通常の2進加算器で前者から後者を減算す
ればよい。そのため、冗長2進→2進変換器は、前記引
用文献も含めた大抵の文献では、通常の2進加算器で容
易に構成できるとして直接構成するようなことはしてい
ない。しかし、冗長2進→2進変換器を直接構成すれば
もっと簡単になる。
【0005】従って、本発明の目的とするところは、商
を決定するのに必要な部分剰余値の参照桁数を3桁より
も少なくする除数の範囲条件を求めることにより、商決
定の論理を簡単にし、回路の論理段数を削減することに
より、また商の冗長2進→2進変換器を直接構成するこ
とにより高速な除算器を提供することにある。
【0006】
【課題を解決するための手段】3桁より少ない部分剰余
値の参照で商を決定することができるための条件を求め
た結果、除数の範囲は[1,3/2)=1.0・・・で
あり、2桁の参照であることが解明された。従って、除
数をこの範囲に収まるように変換する。具体的には、正
規化されている除数X=0.1・・・から、小数点以下
2桁目の結果を参照し、もし0ならば、除数Xを2倍す
ることにより、すなわち、2X=1.0・・・にする。
もし1ならば、桁上げ先見付き加算器によって除数Xと
(1/2)Xを加算することにより、すなわち、X+
(1/2)X=1.0・・・にする。このとき、同時に
被除数Yに対しても同じ変換をかければ、商の値は変ら
ないので、正しく商が求まることになる。
【0007】また、商の冗長2進→2進変換器は、+1
で表現されている桁成分と−1で表現されている桁成分
は互いに排他的であるという性質を利用して、通常の2
進加算器よりも簡単化する。さらに、商は1桁単位の演
算ステップで逐次求められていくので、前演算ステップ
のゲートのスイッチング動作はすでに決定されていると
いうことに注目することにより、通常の回路の動作速度
よりも速くなることを示す。
【0008】
【作用】本発明によれば、除数の範囲を[1,3/2)
に収めるという余分な変換が必要になるが、通常の除算
では、ゼロで除算することを防ぐために、ゼロ・オペラ
ンドの検出を行うことや除数と被除数の桁合わせするな
どの前処理が必要であるので、この前処理と並列に除数
の範囲変換を実行することができ、まったくオーバヘッ
ドとならないために高速な除算器が実現できる。
【0009】
【実施例】本発明の基数2の除算器の基本構成の実施例
を、図1に示す。一般に、浮動小数点演算では、指数
部、符号部、仮数部に分かれているが、本実施例では、
最も処理が重く、本質的な仮数部の処理のみを説明する
ことにする。その他の部分は、処理がそんなに重くない
ので本質的ではない。また、固定小数点演算や整数演算
へ応用するには、桁合わせ処理が必要になるが、これも
別途考慮すればよいので本質的ではない。
【0010】被除数をY、除数をXとする。そして被除
数Yと除数Xの格納レジスタをそれぞれ10、20とす
る。これらは、後に説明するスケーリング操作が施され
て、それぞれY’11、X’21に変換される。Y’と
X’の値にもとづいて、1桁単位に商が決定され(回路
30)、冗長2進加算器を使って部分剰余計算が桁上げ
伝播なしに実行される(回路40)。そして、部分剰余
計算結果は1桁シフトされ、以下同様に、次々の桁の商
が決定されていく。これらの演算回路30,31,・・
・;40,41,・・・は、図1に示すように、配列状
に配置される。最後に、決定された各桁の商q(0),
・・・,q(n−1)は冗長2進数で表現されているの
で、冗長2進→2進変換器50によって通常の2進数に
変換されて、最終的な商が求まる。
【0011】以下、図1の乗算器の回路動作を、より詳
細に説明する。
【0012】まず、被除数Yと除数Xはともに正規化さ
れていて、0.1・・・のかたちをしているものとす
る。これらは、表1に示すように、除数Xの範囲を
[1,3/2)に収めるというスケーリング操作によっ
てそれぞれY’11、X’21に変換される。
【0013】
【表1】
【0014】すなわち、図2および図3に示すように、
小数点以下2桁目の値がもし0ならば、除数Xを2倍に
して、2X=1.0・・・のかたちにする。もし1なら
ば、除数Xとその1/2の値を桁上げ先見付き加算器1
2,22で加算し、X+(1/2)X=1.0・・・の
かたちにする。この変換をMとし、X’=MX、Y’=
MY、商をQとすると、 Q=Y/X=(MY)/(MX)=Y’/X’ ・・・(数1) なる関係にあるので、スケーリング操作によっても正し
く商が求まることがわかる。
【0015】基数2の除算は、漸化式 R(i+1)=2・(R(i)−q(i)・X’) ・・・(数2) によって繰り返し実行される。ここで、iは演算の繰り
返しステップ数を表し、小数点以下i桁目の商を決定す
る演算に係わるものであることを示す。R(i)はiス
テップ目の部分剰余計算を行う前の部分剰余値であり、
この値にもとづいて小数点以下i桁目の商が決定され
る。特に、R(0)=Y’である。そして、部分剰余が
冗長2進加算器を使って桁上げ伝播なしで求められる。
その部分剰余結果が2倍(1桁シフト)されて、次の演
算ステップi+1で使われる部分剰余値R(i+1)に
なる。
【0016】次に、部分剰余値R(i)の上位2桁から
商q(i)を決定し、図4に示す冗長2進加算器80の
加算を制御する信号出力の割当てを表2に示す。
【0017】
【表2】
【0018】これは除数Xをスケーリング操作してX’
=[1,3/2)の範囲に収めることによって求められ
たものである。加算制御信号の出力には、qcとqvが
あり、qcはいわば絶対値qvの符号信号である。これ
により、冗長2進数で表される商q(i)を2個の2値
信号で表すことができる。この表2によれば、商q
(i)の値がゼロでも、加算制御信号qcの出力値が1
の場合があるので、冗長2進加算器80には1が入力さ
れる場合があることが示されている。その理由は、ゼロ
値を加算する場合には、2の補数表現では2通りの方法
があり、本発明ではこれらをうまく使い分けていること
を示している。すなわち、最上位2桁目と3桁目の間に
小数点があり、最上位1桁目は2の補数表現のための符
号ビットであるとするとゼロ値は次の2通りの表現がで
きる。
【0019】(1) 0=00.0・・・00 または (2) 0=11.1・・・11+00.0・・・01 (すなわち、ゼロの反転+1はまたゼロである) このような使い分けによって、制御論理が簡単化され、
商の決定回路60は図4に示すように、論理段数2段で
構成され、従来の4段の半分になる。図4の商決定回路
60には部分剰余値R(i)の上位2桁が入力される
が、記号r0-,r0+はそれぞれ最上位2桁目(小数点0桁
目)の−1表現成分、+1表現成分の値が入力されるこ
とを示している。また、記号r1-,r1+はそれぞれ最上位
3桁目(小数点以下1桁目)の−1表現成分、+1表現
成分の値が入力されることを示している。さらに、記号
rj-,rj+はそれぞれ小数点以下j桁目の−1表現成分、
+1表現成分の値が冗長2進加算器80に入力されるこ
とを示している。小数点以下j桁目の冗長2進加算器8
0の部分剰余計算結果は、記号r'j-,r'j+で示される。
冗長2進加算器80には、小数点以下(j+1)桁目の
桁上げc-out(j+1)が入力されるが、それより上位への桁
上げ伝播は生じていない。同様に、小数点以下j桁目の
桁上げc-out(j)が出力される。記号x'(j)はスケーリン
グされた除数X’の小数点以下j桁目の値が入力される
ことを示している。
【0020】最後に、決定された商q(0).q(1)
・・・q(n−1)は、冗長2進数表現であるため、冗
長2進→2進変換器50によって通常の2進数に変換さ
れて、最終的な商Qが求まる。4桁の冗長2進数、(qj
-,qj+),(q(j+1)-,q(j+1)+),(q(j+2)-,q(j+2)+),(q(j+3)
-,q(j+3)+)が通常の2進数qj,q(j+1),q(j+2),q(j+3)に
変換される例を図5に示す。最右側の記号+,-はそれぞ
れ−1表現成分、+1表現成分の値に関係していること
を示している。この変換器の原理は、まず、各桁では、
−1表現成分と+1表現成分の値は互いに排他的である
という性質を利用して論理を簡略化している。そして、
ある桁から上位桁の+1表現成分の値がゼロならば、下
位桁からの−1表現成分の値が伝播するという性質を利
用して論理を構成している。すなわち、ある桁に−1表
現成分の値が1のものがる場合、これを桁借り生成信号
gとして出す。また、ある桁の+1表現成分の値がゼロ
のときは、桁借り伝播信号pとして出す。除算の場合、
今まで説明してきたように、商は1桁単位に上位桁から
下位桁に向かって逐次決定されていく。ここで、図6に
示すように、パス・トランジスタを使った基本論理回路
90によって回路50の論理回路を構成すれば、回路9
0のゲートのスイッチングの役割をしているA入力(回
路50では上位側入力に相当する)の方が先に動作して
いると仮定すれば、入力B(回路50では下位側入力に
相当する)の動作がその後に定まっても、Bの入力信号
は瞬時にゲートを通過するだけなので回路50は高速に
動作することになる。従って、商を冗長2進→2進変換
する場合にかぎって、通常の場合と違って桁上げ伝播は
生じない。
【0021】
【発明の効果】本発明によれば、従来、商1桁あたりの
決定において、論理段数10段を必要としていたのに対
して、7段で実現でき、また冗長2進→2進変換が効率
化されるなどのため、30パーセント以上の性能向上を
提供できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施例による基数2の除算器の構成図
である。
【図2】スケーリング変換をゼロ検出回路と並列に実行
させ、スケーリング変換のオーバヘッドをなくす方法の
説明図である。
【図3】スケーリング変換を制御するセレクタ回路であ
る。
【図4】任意ステップの商決定とある桁の部分剰余を計
算する回路である。
【図5】冗長2進変換する回路である。
【図6】パス・トランジスタを使って論理回路を構成す
る場合の基本回路である。
【符号の説明】
1・・・ゼロ除算検出信号,2・・・スケーリング変換のセレ
クタ回路,10・・・被除数Y格納レジスタ,20・・・除数
X格納レジスタ,11・・・スケーリング変換された被除
数Y’格納レジスタ,12,22・・・桁上げ先見付き加
算器,21・・・スケーリング変換された除数X’格納レ
ジスタ,30,31,32,33・・・商決定回路,4
0,41,42・・・部分剰余計算回路,50・・・冗長2進
→2進変換回路,60・・・商決定回路,80・・・任意桁の
部分剰余計算回路,90・・・パス・トランジスタを使っ
て構成した基本論理回路,∨・・・論理和,∧・・・論理積,
¬論理否定.

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】部分剰余計算に冗長2進数と呼ばれる{+
    1,0,−1}の表現を利用する冗長2進加算器を設
    け、除数Xを1≦X<3/2の範囲にスケーリング変換
    し、部分剰余値の上位2桁のみを参照することによって
    商決定を簡単にすることを特徴とする基数2の除算器。
  2. 【請求項2】ゼロ除算検出などの前処理部分と並列にス
    ケーリング変換を実行することを特徴とする請求項1に
    記載の基数2の除算器。
  3. 【請求項3】部分剰余にゼロ値を加算する場合に、加数
    の2の補数表現により、(1)オール0パターンと
    (2)オール1パターン+1、すなわち、オール0パタ
    ーンの反転+1を使い分け、商決定の論理を簡単にする
    ことを特徴とする請求項1に記載の基数2の除算器。
  4. 【請求項4】冗長2進数表現では、同じ桁内に−1表現
    成分と+1表現成分が同時に出現することがないという
    性質を利用した冗長2進→2進変換器を設けて、冗長2
    進数で表現されている商を通常の2進数に効率的に変換
    することを特徴とする請求項1に記載の基数2の除算
    器。
  5. 【請求項5】請求項4に記載の冗長2進→2進変換器の
    回路において、パス・トランジスタを使って論理回路を
    構成し、ゲート動作の伝播遅延なしに高速に実行するこ
    とを特徴とする請求項1に記載の基数2の除算器。
JP4217664A 1992-08-17 1992-08-17 除算器 Pending JPH0667852A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4217664A JPH0667852A (ja) 1992-08-17 1992-08-17 除算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4217664A JPH0667852A (ja) 1992-08-17 1992-08-17 除算器

Publications (1)

Publication Number Publication Date
JPH0667852A true JPH0667852A (ja) 1994-03-11

Family

ID=16707788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4217664A Pending JPH0667852A (ja) 1992-08-17 1992-08-17 除算器

Country Status (1)

Country Link
JP (1) JPH0667852A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11117194B2 (en) 2017-03-15 2021-09-14 Applied Materials, Inc. Additive manufacturing having energy beam and lamp array
US11235274B2 (en) 2011-06-30 2022-02-01 Donaldson Company, Inc. Filter systems; components; features; and, methods of assembly and use
US11318405B2 (en) 2016-06-17 2022-05-03 Donaldson Company, Inc. Air cleaner assemblies and methods of use

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11235274B2 (en) 2011-06-30 2022-02-01 Donaldson Company, Inc. Filter systems; components; features; and, methods of assembly and use
US11318405B2 (en) 2016-06-17 2022-05-03 Donaldson Company, Inc. Air cleaner assemblies and methods of use
US11117194B2 (en) 2017-03-15 2021-09-14 Applied Materials, Inc. Additive manufacturing having energy beam and lamp array

Similar Documents

Publication Publication Date Title
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US4999803A (en) Floating point arithmetic system and method
Wahba et al. Area efficient and fast combined binary/decimal floating point fused multiply add unit
US6175851B1 (en) Fast adder/subtractor for signed floating point numbers
Timarchi et al. Arithmetic circuits of redundant SUT-RNS
KR100465371B1 (ko) 덧셈 및 반올림 연산을 동시에 수행하는 부동 소수점alu 연산 장치
JP3436994B2 (ja) シフト装置
Erle et al. Decimal floating-point multiplication
Yan et al. An energy-efficient multiplier with fully overlapped partial products reduction and final addition
KR100627993B1 (ko) 3입력 분할 가산기
US20200183650A1 (en) Radix-1000 decimal floating-point numbers and arithmetic units using a skewed representation of the fraction
JP2857505B2 (ja) 除算装置
JPH0667852A (ja) 除算器
Kwak et al. High-speed CORDIC based on an overlapped architecture and a novel σ-prediction method
San et al. Hardware implementation of floating-point operating devices by using IEEE-754 binary arithmetic standard
JPH063578B2 (ja) 演算処理装置
JPH0667853A (ja) 除算器
Dawid et al. Bit-level systolic carry-save array division
Veeramachaneni et al. A novel carry-look ahead approach to a unified bcd and binary adder/subtractor
Chawla et al. Hardware efficient reconfigurable arithmetic unit
SHIRISHA et al. A Fast Binary to BCD Conversion for Binary/Decimal Multi-Operand Adder
JPH0614318B2 (ja) 演算処理装置
Naziyan et al. IMPLEMENTATION OF FAST RADIX-10 BCD MULTIPLIER FOR SPEED OPTIMIZED APPLICATIONS
SWETHA et al. VLSI Implementation of a High Speed Single Precision Floating Point Multiplier using Verilog
VIJAYALAKSHMI et al. High Performance of Fast Radix-10 Parallel Multiplication using Redundant BCD Codes