JPH0823814B2 - 多重ディジット10進数を2進数に変換する装置および統一された比復号器 - Google Patents

多重ディジット10進数を2進数に変換する装置および統一された比復号器

Info

Publication number
JPH0823814B2
JPH0823814B2 JP3109806A JP10980691A JPH0823814B2 JP H0823814 B2 JPH0823814 B2 JP H0823814B2 JP 3109806 A JP3109806 A JP 3109806A JP 10980691 A JP10980691 A JP 10980691A JP H0823814 B2 JPH0823814 B2 JP H0823814B2
Authority
JP
Japan
Prior art keywords
carry
decoder
digits
adder
partial
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.)
Expired - Lifetime
Application number
JP3109806A
Other languages
English (en)
Other versions
JPH04232529A (ja
Inventor
クラウス、カール、マース
デイビッド、ジェン‐ミン、シェン
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04232529A publication Critical patent/JPH04232529A/ja
Publication of JPH0823814B2 publication Critical patent/JPH0823814B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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.
    • 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
    • G06F7/537Reduction of the number of iteration steps or stages, e.g. using the Sweeny-Robertson-Tocher [SRT] algorithm
    • G06F7/5375Non restoring calculation, where each digit is either negative, zero or positive, e.g. SRT
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • H03M7/12Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word having two radices, e.g. binary-coded-decimal code
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02BINTERNAL-COMBUSTION PISTON ENGINES; COMBUSTION ENGINES IN GENERAL
    • F02B75/00Other engines
    • F02B75/02Engines characterised by their cycles, e.g. six-stroke
    • F02B2075/022Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle
    • F02B2075/027Engines characterised by their cycles, e.g. six-stroke having less than six strokes per cycle four

Landscapes

  • Engineering & Computer Science (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)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は2進法の除算に関し、よ
り詳細には、除数の倍数を複数個用いて減算を繰り返す
ことにより実行される方式の2進法の除算に関する。
【0002】
【従来技術】ディジタル・コンピュータで行なわれてい
るように、2進法の除算は、部分被除数から除数の倍数
の減算を繰り返すことにより従来実行されていた。こう
した方式で除算を実行することで、各減算毎に商の倍数
ビットがつくられるので、除算中を通してかなりの数の
マシン・サイクルを節約できる。通常の除算の繰り返し
は、次のように行なわれる。 R=PD−M*D ただし、Rは、繰返しステップnが終わったときの余
りを表し、PDは繰返しステップnが始まるときの部
分被除数を表し、Dは除数(1/2≦D≦1)を表し、
は繰り返しステップnで使用される除数倍数を表す
(記号「*」は乗算を示す)。
【0003】2ビットの除算では、PDn+1=4*R
(2ビットが左に桁送りされる)となる。Mが値−
2、−1、0、+1、+2に制限される場合、以下のよ
うになる。|R/D|≦2/3 又は |PD/D
−M|≦2/3したがって、PD/Dの比が分かれ
ば、除数倍数Mは表1により定められる。
【0004】 表1 X=PD/D M 4/3 ≦X≦8/3 2 1/3 ≦X≦5/3 1 -2/3 ≦X≦2/3 0 -5/3 ≦X≦-1/3 -1 -8/3 ≦X≦-4/3 -2 さらに、Qは次の表2により定められる。
【0005】 表2 M(R≧0) Q(R<0) 2 2 1 1 1 0 0 0 3 -1 3 2 -2 2 1
【0006】上記のように、通常の除算は2つの連続す
る演算を含む、すなわち、(1)PD/DからM
定める演算と、(2)R=PD−M*DによりR
を定める演算、である。従来の技術には、Mn+1
と平行して生成できることが示してある。したがっ
て、繰り返しの時間はRを生成することにより制限さ
れる。従来は、MはPDとDをの復号器(負のPD
値のための1つの復号器と正のPD値のための別の
復号器)に供給し、ルック・アップ・テーブルを使用し
てMを決定することにより定められていた。Mを定
めるためには、PDとDの高位ビットだけが必要とな
る。PD=4Rn−1=4(PDn−1−Mn−1
D)より、PDの高位ビット(PD´で示される)
は、PDn−1とMn−1*Dのより高位のビットから
PDに平行して生成できる。そのように生成されたP
´はより下位ビットからの桁上げを無視する。この
誤差は、倍数の間の重複した領域の倍数境界を選択する
ことにより補償できる。 PDn−1=4Rn−2=4(PDn−2−Mn−2*D)なので、 PD=4Rn−1=4(PDn−1−Mn−1*D)=4[4(PDn−2 −Mn−2*D)−Mn−1*D] となる。したがって、PDの高位ビット(PD)と
はPDn−2、Mn−2、Mn−1から決定でき
る。
【0007】商のビットQ(1繰返しステップ当たり
2ビット)は以下の関係により決定できる。すなわち、 C=1の場合、Q=M、C=0の場合、Q=M−1 ただし、Cは剰余(R)の符号を示す桁送りビット
である。非回復除算を実行するとともに上記の原理を具
体化する装置の1例を図1に示す。図1は固定小数点2
進除算装置100を示す。データ位置はn番目の繰返し
ステップの開始を示す。前の繰返しステップn−1の剰
余は桁上げ伝播加算器104の剰余ラッチ102にラッ
チされる。(剰余の終わりからの)最後の桁上げは商生
成器106により使用されて、Qn−1を生成する。と
いうのは、Qn−1=Mn−1−Cn−1が成り立つか
らである。ここで、Cn−1は最後の桁上げを表す。C
n−1はRn−1の符号を示し(負ならば1で、正なら
ば0である)桁上げ伝播加算器104からの桁上げ出力
を数えることにより生成される。これはQn−1=M
n−1−1の場合を含む。Mn−1は倍数ラッチ108
で2の補数の形により表される。商生成器106は2ビ
ット・ダウン・カウンタと2進トリガーを含む。
【0008】最後の剰余Rn−1は、2ビット配線左桁
送り110により桁上げ伝播加算器104で折り返して
PDになる。M*Dは、倍数ゲート112から桁上
げ伝播加算器104の他の側に送られる。倍数ゲート
は、倍数選択線116により選択されたように除数レジ
スタ114から真数または補数形式で1Xまたは2X除
数倍数を形成する。倍数選択線は、2の補数の除数が選
択されると加算器への特別桁上げ(新しい桁上げ)を生
成する。最後の剰余(2ビット左に桁送りされたもの)
も比復号器加算器118に送られる。比復号器加算器1
18は、その高位ビットを、M*Dの高位ビットに沿
ってRの高位ビットに還元する。Rの高位ビットは
2ビット左に桁送りされて、PDn+1となり、2つの
比復号器120、122に送られる。比復号器120、
122はそれぞれ、PDn+1と除数Dの比から正と負
のMn+1を選択する。倍数復号器加算器はPDn+1
の符号を選択し、その符号は、倍数ラッチ・ドライバ1
24から反対の符号のMn+1を選択するのに使用され
る。選択されたMn+1は商倍数ラッチ108にラッチ
にされて次の繰返しステップを待つ。
【0009】図1の除算器では、Rn−1の符号が2進
トリガーにより桁上げ伝播加算器の桁上げ数をカウント
することによりつくられ、PDn+1の符号は、復号器
加算器118の桁上げを待つことによりつくられる。と
もかく、どちらの方法でも加算器による決定を使用す
る。初期被除数は図4には示されてない。初期被除数の
通常のハードウェア上の保管位置は商レジスタ126
(時分割法により)である。上記に説明したように、正
の比復号器120と負の比復号器122の2つの比復号
器が備えてある。これら2つの個別の復号器が備えてあ
るのは、正と負の領域が完全に対称的なわけではないか
らである。すなわち、所与の除数では、部分被除数PD
が正であれば、Mの適切な値は、部分被除数PD
が同じ大きさであるが負である場合と必ずしも同じでは
ないということである。この原理は図2と図3に示して
ある。各図とも横軸は16番目までの部分被除数値、縦
軸は16番目までの除数値が示してある。図2は正の部
分被除数を示し、図3は負の部分被除数を示す。両図と
も、「境界線」と呼ばれる4つの斜の線がある。境界線
202−216は、Mを復号するときに使用され表1
から取りだされるPD/Dの4つの可能な比を表す。
2/3と5/3境界の近くに位置する折れ線218、2
20は、その大きさが正確な比率以下である最も近い整
数の比を表している。復号器加算器118では、PDと
Dがビット位置重み64に表されており(したがって、
復号器として利用できるPDn+1の下位ビットは16
個の重みをもつ)。すなわち、図面の各矩形は、比復号
器により確認できるPDn+1とDの間の使用可能な比
を表す。
【0010】整数の境界により区切られている正と負の
領域は対称的ではない。負の領域は、部分被除数の1の
補数の形をしめすので1ビット分離れている。しかし、
2つの倍数が重複している境界領域は正と負の領域で等
しい。正の部分被除数の図では、各矩形の左上の角の点
はPDn+1とDのビット・パターンを表すが、その特
定のPDn+1対Dの正確な比は、矩形内またはその上
方または左の境界の任意の点により表される。
【0011】PD/Dの値に対する倍数の範囲は重複
しているので(図2参照)、特定の倍数の復号境界は柔
軟性をもって選ぶことができる。しかし、復号器加算器
118でPDの最下位ビット位置への桁上げを無視す
ることにより発生するエラーのためこの柔軟性の多くが
失われてしまう。例えば、倍数ゼロ用の正の復号器12
0は、左側の矩形により表されて境界の1/3により切
り取られている場所のPDとDのすべてのビット・パ
ターン上で選択しなければならない。これらの矩形の左
端のものを通して引かれる線は1/3整数境界と呼ばれ
る。M=0とM=1の選択範囲は重複しているの
で、M=0用の復号器は、1/3および2/3境界間
の任意の矩形上で選択を行なうことになる。桁上げエラ
ーによりPDが1ビット分低くなるので、倍数ゼロ復
号器は、2/3整数境界のちょうど左側にある境界では
選択してはならない。破線は、ビット・パターンがM
=1を選択するよう復号される矩形の左端を表す。上方
の範囲にある残りの矩形はM=2を選択するように復
号される。負の比復号器122(負の部分被除数の復号
器)も同様な方法で誘導される。この場合の切捨ておよ
び桁上げエラーはゼロ部分被除数に向けられているの
で、各矩形の左上の角の点は復号器がとらえるビット・
パターンを表す。破線はM=−1に対して選択された
矩形の左端を表す。M=0線はM=−1の右端を暗
示するために示してある。比復号器120、122と図
2,図3の表に於て、変数は除数=0、1xyzと部分
被除数=ab.cdefとして定義されている。
【0012】
【発明が解決しようとする課題】図1の除算器は、非回
復型の2進法の除算方法を実行するすぐれた機構を示し
ていたが、改良すべき点も多く備えている。たとえば、
正と負の部分被除数領域用にそれぞれの復号器を備えて
いるので、集積回路の面積を効率よく使えない。さら
に、こうした復号器を含むと、除算の速度が技術的に制
約される結果となることを示す例もある。
【0013】
【課題を解決するための手段】本発明の発明者は、極め
て少数の例外を除いて正と負の領域が対称になるように
倍数境界を選択できることを発見した。こうした境界を
利用すると、ほぼ対称的で、統一された比復号器が、従
来の比復号器の対が集積回路に占める面積のわずか約1
/2で構成できた。比復号器加算器からの符号ビットを
復号することにより、比復号器は例外的な領域を認識で
き、したがってそれらの領域も処理できる。
【0014】
【実施例】本明細書で記載されるのは、A)極めて小数
の例外を除いて正と負の領域におけるすべての部分を対
称的にカバーするほぼ対称的な比復号器、B)対称的な
比復号器を用いた改良型除算器、C)実行時間を半分に
減らす共通データ経路を用いた除算および2進値変換回
路、D)桁上げ保存加算器および桁上げ伝播加算器を用
いた実行時間短縮2進値変換回路である。
【0015】A)2進値の除算の対称型比復号器 本項は、極めて少数の例外を除いて正と負の領域におけ
るすべての部分を対称的にカバーするほぼ対称的な比復
号器を記載する。この対称型比復号器を使用することに
より、正負それぞれの復号器は不必要になり、集積回路
のかなりの面積が復号器と2進除算器に割けるようにな
る。図4は、対称型比復号器を持つ2進除算器を示す。
図1の除算器のように、本除算器は、除数レジスタ11
4、倍数ゲート112、桁上げ伝播加算器14、剰余ラ
ッチ102、2ビット配線左桁送り110(Rn−1
らPDを形成)、比復号器加算器118、および商レ
ジスタ126を含む。これらの構成要素は図1に記載さ
れた同じ番号の構成要素と同様に動作する。図4の装置
は、クロック・サイクルnの開始点で、初期剰余R
n−1が剰余ラッチ102にあり、初期桁出しと倍数
(CRYn−1とMn−1)は倍数ラッチ308に記憶
されている。実際の起動は、図8と図9の実施例に関連
して後により詳細に説明される。
【0016】図1の2進除算器とは対照的に、本除算器
には、正と負の比復号器120、122と倍数ラッチ・
ドライバ124が除いてある。代わりに、比復号器加算
器から6つの下位ビットが排他的論理和ゲート302に
送られる。ここで、それらの6ビットはそれぞれ、比復
号器加算器118からの最上位ビット(ビット0)と論
理和が取られる。この方式で、比復号加算器118から
の和S´の6つの下位ビットは、最上位ビットがゼロ
(正の剰余)のとき比復号器304に真数の形で、最上
位ビットが1(負の剰余)のとき1の補数の形で供給さ
れる。この仕様の剰余において、任意の比復号器加算器
から送られる結果の最上位ビット(MSB)はsumbit0
と呼ばれる。排他的論理和ゲートの出力(S´の下位の
6つのビットまたはその1の補数)を受け取るととも
に、対称型比復号器304は、比復号器加算器118か
ら除数Dとsumbit0 を受け取る。当然のことながら、図
4の対称型比復号器304は単に図1の正と負の復号器
120、122の組合せを示すものではない。こうした
組合せは、正と負の領域復号論理を1つの大きな復号器
に組み込み、比復号器加算器から最上位ビットを復号を
付け加えさえすれば達成できるが、これだけでは、回路
と集積回路上の面積の節約という目的を達成したことに
ならない。
【0017】図4の対称復号器の利点は、倍数領域を適
切に選択することにより画定された1つの組合せ領域を
使用して、正と負の部分被除数値を処理することであ
る。比復号器加算器からの最上位ビットを1の補数であ
る負部分被除数として使用することにより、対称型比復
号器304は、それらが正であるかのようにすべての部
分被除数を復号して、比復号器加算器からの最上位ビッ
トを使用して、あいまいなケースを解消する。桁上げ伝
播加算器104からの桁出しは、M*Dの結果を除数
に加算するか除数から減算するかを選択するために使用
される(すなわち、桁上げなし=加算、桁上げ=減
算)。図4の対称型比復号器の動作は、図5を参照する
とよりよく理解できる。図5は正と負の比両方の組合せ
復号図である。図5において、4つの傾斜線402−4
08はそれぞれ、M=0ないしM=2の領域の整数
境界を表す。倍数値は短縮形で指示されている、すなわ
ち、M=0はMで示され、M=1はMで示さ
れ、M=2はMで示される。2つの折れ線410、
412は、適切な対称性を達成するために発明者が選択
した境界を表す。特に、第1折れ線410は、M=0
とM=1の間の選択された境界を示す。同様に、第2
折れ線412は、M=1とM=2の間の選択された
境界を示す。
【0018】図5に示すように境界領域を選択すること
により、本発明者は、わずか5つのあいまいな復号比が
あるように組合せ復号図を構成した(2つはM=1領
域で、3つはM=2領域)。これらのあいまいな比
(参照番号414ないし422で示される)は復号器3
04により認識され、比復号器算器1の出力端からの最
上位ビット(sumbit0)を参照することにより適
切に処理される。特に、M=1領域中の部分414、
416の2つは、それらが1の補数化(sumbit=
1)により正になった部分被除数である場合に限りM
=0と復号する。そうでない場合、これらの部分41
4、416はM=1と復号する。さらに、M=1領
域の3つの部分418、420、422は、それらが、
1の補数化されてない部分被除数である場合に限り(s
umbit0=0)M=2と復号する。そうでない場
合、これら3つの部分はM=1と復号する。
【0019】例として、比復号器加算器118(図4)
は部分被除数04(2進数00000100)から部分
除数8(Mn−1=1、D=00001000(2進
数))を減算したと仮定する。比復号器118は、以下
に示すように部分除数の1の補数を部分被除数に加算す
ることにより減算を実行することになる。 その結果の6つの下位ビットが排他的論理和ゲート30
2に送られて、そこで、各ビットは比復号器加算器から
のビット0と排他的論理和が取られる。この場合、sumb
it0 は1となるので、その結果は1の補数となり、00
000100として復号器に送られる。
【0020】図5を参照すると、部分除数が1000で
あり部分被除数の6つの下位ビット(abcdef)が
000100である場合、次の繰返しステップでの倍数
は1または0となることが分かる。比復号器加算器
118の出力からsumbit0 に目を向けると、比復号器
は、部分被除数が1の補数を取ることにより正になると
設定してある。すなわち、値M=0は復号の結果とし
て出力される。ビット1は、2つ左に移送された結果
(SL2)が復号器304により入力されるために、不
必要になる。
【0021】図6は、図4の加算器と排他的論理和部分
の実施例のより詳細な図である。図6に示すように、8
ビット加算器が比復号器加算器118として使用され、
ビット1が比復号器に送られず、ビット2ないし7がそ
れぞれsumbit0 と排他的論理和が取られて、その後で、
比復号器に送られる。図7は、部分剰余(排他的論理和
ゲートの出力)がabcdefの形式であり除数が1x
yzの形式である比復号器304に具体化された論理式
を示す。sumbit0=0 は正の和を示すが、sumbit0=1 は負
の符号を示す。
【0022】図4の実施例の動作がより詳細に記載され
る。クロック・サイクルnの開始端で、初期剰余R
n−1が剰余ラッチ102に保持され、初期繰り上げ出
力CRYn−1と倍数Mn−1が倍数ラッチ308に保
持される。この例には、34ビットの初期剰余と32ビ
ットの除数も採用できる。サイクルnの初めには、除数
D(除数レジスタ114から)は倍数ゲート112に送
られる。倍数ゲート112は、倍数選択線316により
選択されたように1Xまたは2X除数倍数を真数または
補数の形で形成する。倍数選択線316は前のサイクル
の倍数Mn−1と桁上げ出力CRYn−1を桁上げす
る。1(CRYn−1=1)の桁上げ出力により、倍数
ゲート112はMn−1*Dの1の補数を出力する。桁
上げがない場合(CRYn−1=0)、倍数ゲート11
2は真数の形式でMn−1*Dを出力する。Mn−1
D(倍数ゲート112から出力され、真数または補数形
式は平行に桁上げ伝播加算器104と比復号器加算器1
18に供給される。桁上げ伝播加算器104は部分被除
数PDと倍数ゲートから出力されたMn−1*D値の
和をとる。CRYn−1(倍数選択線上)は、補数化さ
れた除数の倍数が選択されると(CRYn−1=1)新
たに1を生成して、桁上げ伝播加算器104に送る。そ
の結果現われた剰余Rは剰余ラッチ102にラッチさ
れる。図4に示してあるように、部分被除数PDは2
ビット位置分左にRn−1を桁移動することにより形成
される。
【0023】桁上げ伝播加算器104に平行して、比復
号器加算器は、部分被除数PDの下位8ビットと倍数
ゲートから出力されたMn−1*D値の和をとる。その
和の最上位ビット(ビット0)は排他的論理和ゲート3
02と上記のように倍数値Mを作成するよう動作する
対称型比復号器304に入力される。そうしで生成され
たM値は、桁上げ伝播加算器104からの桁上げ出力
CRYとともに、倍数ラッチ308に記憶される。こ
のM値、桁上げ出力CRY、および(比復号器加算
器からの)sumbit0は商生成器306に送られる。図1
の商生成器106のように、図4の商生成器306は、
桁上げ伝播加算器104からの桁上げ出力CRYを使
用して、復号された倍数Mから商のビットを判断す
る。しかし、図4の装置では、対称型比復号器304
は、復号された倍数の絶対値だけを供給する。したがっ
て、たとえば、比復号器加算器からの結果が負で、復号
された倍数がM1である場合、比復号器はM=1(2
進数01)を出力することになるが、実さいには、適切
な倍数はM=−1(2進数11)である。
【0024】復号倍数が絶対値の形で供給されることを
補うために、比復号器加算器からのsumbit0 は商生成器
306に供給される。sumbit0=1 は復号された倍数の実
際の符号を示すので(sumbit0=1は負の倍数を、sumbit0
=0 は正の倍数を示す)、商生成器はこのビットを使用
して、適切な符号を反映するように復号された倍数値を
調整する。これは、sumbit0=1 のときに復号された倍数
を2の補数化することにより容易に実現できる。桁上げ
伝播加算器104からの桁上げ出力CRYは、商生成
器により生成された商は倍数Mまたは倍数マイナス1
(M−1)に等しいかどうかを決定する。桁上げ出力
が1に等しい場合は、商QはQ=(M−1)とな
る。桁上げ出力CRYが0(桁上げなし)に等しい場
合、Q=Mとなる。1度決定されると、商(2ビッ
ト)は商レジスタ126に蓄えられる。商レジスタ12
6は最下位の2ビットで充足する。当然のことながら、
上記の原理は、復号当たり3ビット以上を生成する対称
型比復号器を考案するのにも使用できる。こうした実施
例では、倍数領域の数は、復号器が消化できるビット数
が増えるにつれて増加する。
【0025】B)対称型比復号器を用いた改良型除算器 図7の方程式により定義された対称型比復号器は、各繰
返しステップで4ビットの商を回収できる改良型除算回
路で使用できることが利点である。このような回路が図
8及び9に示されている。図8及び9の装置の動作は、
32ビット除数が正になり001XX...X.の形に
正規化される起動段階を取り入れている。除数レジスタ
(W−REG)702は正規化された除数を保持する。
上位ビット・オーバーフロー・トリガー704は、除数
が1を右に桁移送することにより正規化された場合に元
の除数の最下位ビット(ビット31)を保持する。たと
えば、元の除数は01XX...01である場合、1の
右への移送が実行されて001XX...Xの形に正規
化されて、オーバーフロー・トリガーが1に設定され
る。追加部分である起動段階では、64ビットの固定小
数点被除数が正になり正規化される(すなわち、除数と
同じ量で同じ方向に桁移送される)。被除数の高位の3
2ビットは、高位被除数レジスタ(H−REG)706
に保持される。被除数の下位の32ビットは、下位被除
数レジスタ(L−REG)710に保持される。H−R
EGとL−REGはそれぞれ2つのオーバーフロー・ト
リガー708、712を含む。L−REGのオーバーフ
ロー・トリガー712は、起動段階で除数が最高の負の
数であり2ビット右に桁移送が必要なとき、または除数
が01XX...Xの形の正の数であり1ビット右に桁
移送が必要なときに使用される。H−REGのオーバー
フロー・トリガー708は、CPA2 728からの下
位の2ビットを保持するのに使用されるので、H−RE
G706、708は34ビット・レジスタとして機能す
る。
【0026】1度初期化されると、図8及び9の装置
は、繰返しステップ毎に4ビット(2つのビット対)の
割合で商の生成を始める。初期の商の対は第1商生成器
(Q−GEN)714により生成される。初期の商の
対を生成するために、倍数Mは、第1対称型比復号器
716でH−REGビット2−7とW−REGビット3
−5から復号される。倍数ゲート717の第1の組合せ
は、M復号器716により供給されたMの値に応じ
て、2の補数化除数、左に1桁移送された2の補数化除
数(SL1)、またはゼロの2の補数のうち任意のもの
を第1の34ビットCPA(CPA1)718に供給す
る。次いで、第1の34ビットCPAはそのように供給
された値を左に2桁移送された正規化された被除数(S
L2)に加える。 Mと34ビット桁上げ伝播加算器
718の動作の間の特定の関係は、以下の表3に示され
る。表3 M 32ビットCPA1の動作 0 0の2の補数を減算する(CPA1’718からの桁上げ出力CRY を取り出す) 1 除数を減算する 2 左に1桁移送された除数を減算する
【0027】当然のことであるが、動作サイクル中に、
第1のサイクル以外に、倍数ゲート717、725も、
桁上げCRYn+1=0のときに補数化除数または補数
化除数SL1を供給する。しかし、減算は第1サイクル
で行なわれなければならないので、桁上げが開始される
(第1サイクルのみで)。すなわち、この要因は表3で
は考慮されない。CPA1 718からの桁上げ出力
(CRY)と8ビット桁上げ伝播加算器(CPA
2’)720からの結果(sumbit0 )の最上位ビット
は、商生成器714で使用され、復号された倍数から商
の最初の2ビットを決定する。図4の実施例に関連して
説明すると、sumbit0 は、倍数の実際の符号を示す(倍
数は、対称型比復号器により絶対値の形でのみ供給され
る)。
【0028】商の最初の2ビットを決定するために、su
mbit0 は0に設定される。これは、CPA2’720が
これらのビットの決定に役割を果たさないことと正規化
された被除数が最初に正になることから第1倍数M
常に正になることのためである。その後のサイクルで
は、sumbit0 は8ビット加算器720からMn+2復号
器/ラッチ730にラッチされて、第1商生成器714
に送り返される。第1商生成器714による商ビットの
生成は以下の表4に示される。
【0029】表4 条件:CRY=1(桁上げ出力)とsumbit0=
条件:CRY=0(桁上げ出力なし)とsumbit
0=0 条件:CRY=1とsumbit0=1 条件:CRY=0とsumbit0=1
【0030】CPA1 718の動作に平行して、8ビ
ット桁上げ伝播加算器(CPA1’)724は、SL2
から被除数の高位の8ビットを減算する。この減算は、
(W−REG702からの)除数の高位の8ビットの1
の補数またはSL1の1の補数をSL2に加えることに
より実施される。再び、加算器720に供給する適切な
値が、第2の倍数ゲート組合せ725に選択入力を供給
するM復号器716により選択される。CPA1’7
24からのビット2ないし7は適切な部分被除数PD´
を表す。sumbit0 は、CPA1’の最上位ビットであ
り、の結果の符号を表す。
【0031】CPA1’724からのsumbit0 は、CP
A1’724からの出力されたビット2ないし7と排他
的論理和(XORゲート722において)が取られる。
図6で説明されたように、XORゲートは、これらのビ
ットが真数形式または1の補数形式で復号器に送られる
かどうかを決定する。sumbit0=1 は、第1の8ビットC
PA724からのビット2ないし7が、第2の倍数復号
器(Mn+1復号器)726により使用される前に補数
化されたビットでなければならないことを示している。
CPA1’724のsumbit0=0 は、ビット2ないし7が
n+1復号器726により使用されている時に使用で
きることを示す。除数の高位3ないし5ビットもW−R
EG702(PD´/D´、ただしD´は部分除数であ
る)からの倍数復号器724にも供給される。Mn+1
復号器726により生成された倍数とCPA1 718
(CRY)からの桁上げ出力が、第3の倍数ゲート7
27の組合せに入力され、そこで、それらは、真数、S
L1真数、除数の2の補数、またはSL1除数の2の補
数の任意のものを選択して、CPA2 728に送られ
る。CPA2 728は、CPA1 718から出力さ
れたSL2剰余に上記のように供給された値を加算す
る。
【0032】CPA2の動作は以下の表5に記載されて
いる。 表5 M CRY 32ビットCPA2の動作 =0 CRY=1 PD+0の2の補数(強制桁上げ) M=0 CRY=0 PD+0 M=1 CRY=1 PD+除数の2の補数 M=1 CRY=0 PD+除数 M=2 CRY=1 PD+SL1除数の2の補数 M=2 CRY=0 PD+SL1除数 (CRY=1は桁上げを示し、CRY=0は桁上げなしを示す。)
【0033】Mn+1復号器726により生成された倍
数も、第2商生成器(Qn+1GEN)723において
34ビットCPA2 728からのCRYn+1と組み
合わされる。この第2商生成器723は、以前記載され
た規則により第2の商の対を生成する。L−REG71
0、712の内容は、左に4桁移送されて (SL
4)、4つの商ビットはレジスタの空の低位4ビット部
分にロードされる。CPA2 728からの34ビット
剰余は、H−REG706、708に供給され、次のサ
イクルで使用される。CPA2 728の動作と平行し
て、CPA2’720は、CPA1 718からの剰余
SL2の高位8ビットをとり、Mn+1復号器726に
より生成された倍数にしたがって、W−REG 702
の真数、SL1真数または補数、またはSL1補数の高
位8ビットを加える。ふたたび、Mn+1復号器726
により選択された倍数は、倍数ゲート729の第4の組
合せによりCPA2’720に供給される。
【0034】CPA2’720からのsumbit2ないし7
は、適切な部分被除数PD’を表し、sumbit0 は符号ビ
ットを表す。図6に関連して記載されたように、排他的
論理和ゲートの第2の組合せ732はsumbit0 を使用し
て、Mn+2復号器からの倍数が絶対値の形でのみ供給
されることを補正する。再び、8ビットCPA2’72
0からのsumbit0=1 は、CPA2’720からのビット
2ないし7が、第3の倍数復号器730(Mn+2復号
器)により使用される前に1の補数化される必要があ
る。CPA2’720からのsumbit0=0 は、CPA2’
720からのビット2ないし7は、それらがMn+2
号器730により使用されるときに使用できる。(W−
REG702からの)除数もMn+2復号器730に供
給されて、その除数から次の倍数を生成できるようにな
る。
【0035】Mn+2復号器730により生成された倍
数、CPA2’730からのsumbit0 、CPA2 72
8からの桁上げ出力(CRYn+1)は、Mn+2復号
器ラッチ731においてラッチされて、次のサイクルで
使用できる。Mn+2復号器730でラッチされた倍数
とラッチされたCRYn+1は、次の除算繰返しステッ
プのために、真数の除数、SL1真数の除数、2の補数
の除数、またはSL1の2の補数の除数のどれかを、H
−REG706、708からのSL2除数に加算するか
を決定する。次の除算繰返しステップと以後の繰返しサ
イクルにおける第1の商の対は、ラッチされた倍数、ラ
ッチされたsumbit0 (Mn+2復号器ラッチ731によ
りラッチされている)およびCPA1 718の桁上げ
出力CRYから決定される。商ビットをL−REG
710、712の空の部分にロードする代わりに、商は
別の商レジスタにロードできる。従来そうであるよう
に、商を保持するレジスタは、固定小数点除算の例外を
検出する論理を備えることができる。それらの例外は割
込みによりシステムに報告される。
【0036】C)実行時間を半減する共通データ経路を
使用する除算および2進数変換回路 図8及び9の2つの空の34ビット加算器718、72
8は、2進数変換(CVB)回路と共有できることが利
点である。除算とCVB命令用の共通データ経路を使用
することにより、かなりの量のチップ論理とチップ面積
が節約できる。さらに、チップの交点の数も、それぞれ
の時間の損失とともに、減少させることができる。さら
に有利なことは、2つの空の加算器の使用によりCVB
の実行時間を半分に削減でき(16サイクルから8サイ
クルに)、除算の実行時間も削減できる(28から13
サイクルに)。2進数への変換命令は、図10を参照し
て説明される。この変換命令とは、2進形で表された1
0進ディジットを2進数に変換する命令である。たとえ
ば、16のディジット(15のディジットは数を表し、
1つは数の符号を表す)で表された10進数は32ビッ
ト2進ワードに変換できる。10進ディジットのダブル
・ワードの高位32ビット・ワード802は、汎用レジ
スタからのCVB回路に供給される。高位32ビット・
ワード802において、8つの10進ディジットはそれ
ぞれ4ビットで表される。低位の32ビット・ワード
(図示せず)では、7つの10進ディジットはそれぞれ
4ビットであらわされ、低位の4ビットは10進数の符
号を表す。図10に示すように、高位32ビット・ワー
ドのビット0−3により定義された高位10進ディジッ
ト(A)が第1復号器804により復号され、その復号
結果はCPA1 718に送られる。第2復号器806
は、高位32ビット・ワードのビット4−7により定義
された第2の10進ディジット(B)を復号して、その
復号結果をCPA2 728に送り(CPA1 718
からの出力のSL1とSL3により空になった位置に送
られる)。CPA2からの出力は、第1の2つの変換1
0進ディジットの2進数であり、W−REG 702に
ラッチされる。
【0037】次に、1つ(SL1)左に桁送りされたW
−REG 702の内容と3つ(SL3)左に桁送りさ
れたW−REG702の内容をCPA1に送り、次の1
0進ディジットの復号結果を各桁上げ伝播加算器の空の
ビット位置に加算する。変換された数のSL1およびS
L3加算により10の乗算が行なわれたことになる。各
10進ディジットの最上位ビット(ビット0)は、対応
する桁上げ伝播加算器718、728の左側に直接ゲー
トされる(すなわち、CPA1 718は10進ディジ
ットAのビットA0を受け取り、CPA2は10進ディ
ジットBのビットB0を受け取る)。復号器804、8
06は、4つのオリジナル・ビットから各ディジットの
残りの3つのビットを作成し、それらを対応する桁上げ
伝播加算器の右側にゲートする。10進ディジットが
「8」(1000 2進法)の場合、復号器はビット1
−3(たとえば、A1−A3またはB1−B3)に対し
て「111」を出力する。10進ディジットが「9」
(1001 2進法)の場合、復号器はビット1−3に
対して「111」を出力し、新しい1を対応する桁上げ
伝播加算器に追加する。他の10進数(0000ないし
0111、2進法)の下位の3ビットは、元の形のまま
復号器から桁上げ伝播加算器にゲートされる。
【0038】ダブル・ワードの最下位10進ディジット
(LSD)は、10進数の符号を示す。負の数は16進
ディジット値BまたはDにより示される。16進ディジ
ット値A、C、EまたはFは正の数を示す。最下位ディ
ジットが10(16進数)よりも小さいと例外データを
合図するような回路構成も追加できる。負の数(LSD
=BまたはD)では、CPA1からの結果が2の補数の
形でCPA2に供給される。10進数が正であると(L
SD=A、C、EまたはF)、CPA1の結果は補数の
形でCPA2に供給される。上記の実施例では、LSD
以外の10進ディジットは決して10以上にはならない
ことが理解されるであろう。この状態が発生すると(す
なわち、LSD以外のディジットが10以上である)例
外データを合図するような回路構成も追加できる。2つ
のカスケード式の桁上げ伝播加算器を使用すると、1サ
イクル当たり2つの10進ディジットの変換が可能にな
る(16ディジットで表された1つの10進数に対して
8サイクルづつ利用できる)。
【0039】D)実行時間矩縮2進変換回路 CVB動作の実行時間を4サイクルに減少する2進変換
回路の他の実施例を図11に示す。図10の回路と同
様、図11の回路は15ディジット+1符号ディジット
からなる10進数を2進形式に変換し、左から右に(最
上位から最下位へ)10進ディジットを検査する。図1
1の装置は第1桁上げ保存加算器902と第1桁上げ伝
播加算器904によりダブル・ワードの10進ディジッ
トの第1の対を変換し、第2CSA/CPA対906、
908によりダブル・ワードの10進ディジットの第2
対を変換し、その後変換された数はレジスタ(W−RE
G)910にラッチされる。図11では、4(2つの
対)で1グループのそれぞれで10進ディジットが文字
AないしDにより表される。図10のW−REG 70
2と同様に、W−REG 910は32ビット・レジス
タである。図11では、W−REG 910の32ビッ
トはW0−W31(W0は最上位ビット)により示され
る。同時に4つの10進ディジットの正確なビットにア
クセスするとともに正確な新しい1の値に(HA−H
D)にアクセスするために、図11の回路は、図10の
実施例の復号器804、806と同様に動作する4つの
復号器912−918を使用する。
【0040】桁上げ保存加算器902、906はそれぞ
れ、4つの4−2CSA(920−926と932−9
38)と28の3−2CSA(参照番号928、93
0、940、942により示された形式)を含む。4−
2CSAは、以下に示す最初の4つの列の加算を処理す
る。3−2CSAは、残りの列の加算を処理する。4−
2CSAと単一レベルCSAトリーの例は「4−2桁上
げ保管加算器モジュール」IBMテクニカル・ディスク
ロージャ・ブルテンVol.23,No.8、1989
年1月、pp.3811−3814(IBM Tech
nical Disclosure Bulletin
Vol.23,No.8,January 198
9,pp.3811−3814,entitled″4
−2 Carry−Save Adder Modul
e″)に示してある。この論文は参考のために本明細書
に組み込まれている。
【0041】2進値の結果を得るのに加算される数字の
量が異なること以外は図11の装置で使用されたCVB
は図10のそれと同様である。図11の装置の方が多く
の数字が加算される。図10のCVB回路におけるよう
に、第1の変換2進数(図8の実施例のCPA1 71
8)は以下のように式1により定義される。 (式1) W3...W30 W31 A1 A2 A3 + W1...W28 W29 W30 W31 A0 + HA 第1変換数 さらに、図10のCPA1/CPA2 718、728
のように、図11の実施例の第1CSA/CPA対は、
以下のようにして第1の2つの変換数を生成する。
【0042】第1変換数に式1を代入すると、式2は次
のようになる。 (式3) W3 ・・・W30 W31 A1 A2 A3 B1 B2 B3 + W1 ・・・W28 W29 W30 W31 A0 + HA + W3 ・・・・・・ W30 W31 A1 A2 A3 B0 + W1 ・・・・・・ W28 W29 W30 W31 A0 + HA + HB ( 第1および第2変換数)
【0043】ディジットAに対して、W−REG 91
0のSL1とSL3、第1復号器912のディジットA
の正確なビットおよび復号器912からのHAが一緒に
加算される。ディジットBに対して、第1変換ディジッ
トAのSL1とSL3、第2復号器914のディジット
Bの正確のビットおよび復号器914のHBは一緒に加
算される。この加算をより効率よく行なうために、第1
ディジットからの新しい1(HA)が第1列に動かされ
て、3つのHAが行2に加算される。HAは行5に加算
される(以下を参照のこと)
【0044】 列 行 W30 W31 A1 A2 A3 B1 B2 B3 + W28 W29 W30 W31 A0 HA HA HA + HA + W28 W29 W30 W31 A1 A2 A3 B0 + W26 W27 W28 W29 W30 W31 A0 HA + HA + HB (第1の2つの10進数の2進数への変換)
【0045】上記の加算を実行するのに、4−2CSA
920−926は、第1の4つの列のそれぞれに使用
され、3−2CSA 928、930は、4番目の列以
降の各列に使用される。列1は4−2CSA 920に
より加算される。5つの入力は行1ないし行5である。
行6はCPA1 904の左側のビット位置31に加算
される。行7は(新しい1)の桁上げとしてCPA1
904に加算される。列4の後で1行削除されているの
は、その位置では行2と4が等しくなるからである。行
2と4は、列5からビットが左に1つ桁移送される(2
倍化と等価である)場合に1つの行に結合される(列5
から始まる)。図11では、第1桁上げ保存加算器90
2が各列を加算して、和と桁上げを作成する。第1桁上
げ伝播加算器904は、第1桁上げ保存加算器902か
らの和と桁上げを加算する。上記の処理は、10進ディ
ジット(C、D)の第2対にも続いて行なわれ、第2桁
上げ保存加算器906でXビットを使用するので、CP
A1からの出力XバスはWビットとXビットを置換す
る。、同様に、第2CSA/CPA対では、Aディジッ
トがCディジットと置換され、BディジットがDディジ
ットと置換される。CPA2 908から出力された和
はW−REGにラッチされ、次のサイクルで使用され
る。次のサイクルでは、10進ディジットの次の2つの
対が変換される。
【0046】ダブルワードの最後の4つのディジットA
BCDが復号されるときには、上記とは異なる変換が行
なわれる。AとBディジットは第1CSA 902と第
1CPA 904により(上記のように)変換される。
ディジットCは変換される最後のデータ・ディジットで
ある。ディジットCは、第1CPA 904の出力を取
り、第2CPA 908によりその出力を左に1および
3桁移送することにより変換される。ディジットCの復
号結果は、対応する空のビット位置に挿入される(たと
えば、図10の実施例ではCPA2 728が行ったの
と同様である)。第2CSA 906はその処理には加
わらない。ダブルワードの最後のディジットは符号ディ
ジットである。符号ディジットが正である場合(すなわ
ち、16進数のBでもCでもない)、第2CPA 90
8の出力が最終的な結果になり、汎用レジスタに保管さ
れる。符号ディジットが負の場合、第2CPA908の
出力はW−REG 910に入力される。別のサイクル
が加算されて、W−REG 910の内容を2の補数化
し(第2CPA910を介して)、その後その符号が付
けられ変換された数が汎用レジスタに送られる。本発明
の範囲と精神から逸脱しない変更と修正は当業者にとっ
て明らかであろう。すなわち、当然のことながら、上記
の実施例は本発明を制限するものではなく例として開示
されたものである。
【図面の簡単な説明】
【図1】従来の2進除算器のハードウェアの構成図。
【図2】比復号器の境界領域と部分被除数/除数の比を
示し、正の部分被除数を表す図。
【図3】比復号器の境界領域と部分被除数/除数の比を
示し、負の部分被除数を表す図。
【図4】対称型比復号器を備えた改良型2進除算器を示
す構成図。
【図5】図4、図8、図9の対称型比復号器の実施例の
境界領域を示す図。
【図6】図4の比復号器加算器と排他的論理和ゲートの
より詳細な構成図。
【図7】図4、図8、図9の対称型比復号器に具体化さ
れた論理方程式を示す図。
【図8】1クロック・サイクル当たり4つの商ビットを
生成可能な非復元除算を実行する装置の実施例を示す構
成図。
【図9】1クロック・サイクル当たり4つの商ビットを
生成可能な非復元除算を実行する装置の実施例を示す構
成図。
【図10】図8および図9の装置と共通データ・パスを
共有する2進変換回路の実施例を示す構成図。
【図11】4つのサイクルで10進ディジットの64ビ
ット・ダブル・ワードを回収可能な2進値変換回路の他
の実施例を示す構成図。
【符号の説明】
104 桁上げ伝播加算器 112 倍数ゲート 114 除数レジスタ 118 比復号器加算器 302 排他的論理和ゲート
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−214037(JP,A) 特開 昭61−7939(JP,A)

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】多重ディジット10進数を2進数に変換す
    る装置において、 前記多重ディジット10進数を保持する記憶手段と、 この記憶手段に接続されて前記多重ディジット10進数
    内の10進ディジットの第1の対を第1の2進表現に同
    時に変換する第1の変換手段であって、 前記記憶手段から前記10進ディジットの第1の対を受
    け取り、第1および第2の復号されたディジットを生成
    する第1の論理復号器と、前記第1および第2の復号さ
    れたディジットを受け取り、それらから前記第1の2進
    表現を生成する第1の加算器とを有する第1の変換手段
    と、 前記第1の変換手段および前記記憶手段に接続されて前
    記多重ディジット10進数内の10進ディジットの第2
    の対および前記第1の2進表現を前記第1および第2の
    10進ディジットの対によって決定される10進数の第
    2の2進表現に同時に変換する第2の変換手段であっ
    て、前記記憶手段から前記10進ディジットの第2の対
    を受け取り、第3および第4の復号されたディジットを
    生成する第2の論理復号器と、前記第1の加算器からの
    結果および前記第2の論理復号器からの第3および第4
    の復号されたディジットを受け取り、それらから前記第
    1の2進表現を生成する第2の加算器とを有する第2の
    変換手段と、 を備えていることを特徴とする装置。
  2. 【請求項2】前記第2の変換手段に接続されて前記第2
    の2進表現を記憶し、この第2の2進表現の少なくとも
    一部分を前記第1の変換手段に与える第2の記憶手段を
    更に備え 前記第1の変換手段は前記第2の2進表現の少なくとも
    一部分を、前記10進ディジットの次のものと結合して
    その結合された10進表現を形成する結合手段を有して
    いることを特徴とする請求項1記載の装置。
  3. 【請求項3】多重ディジット10進数を2進数に変換す
    る装置において、 前記多重ディジット10進数を保持する記憶手段と、 前記記憶手段に接続されて前記多重ディジット10進数
    内の10進ディジットの第1の対を第1の2進表現に同
    時に変換する第1の変換手段と、 前記第1の変換手段および前記記憶手段に接続されて、
    前記多重ディジット10進数内の10進ディジットの第
    2の対を、前記第1および第2の10進ディジットの対
    によって決定される10進数の第2の2進表現に同時に
    変換するための第2の変換手段と、 を備え、 (a) 前記第1の変換手段は、 (i) 前記記憶手段から前記第1の対内の前記10進
    ディジットの第1の連続部を受け取り第1の復号された
    ディジットを生成する第1の復号器と、 (ii) 前記記憶手段から前記第1の対内の前記10
    進ディジットの第2の連続部を受け取り第2の復号され
    たディジットを生成する第2の復号器と、 (iii) 前記第1および第2の復号されたディジッ
    トを受け取り、これらから前記第1の2進表現を生成す
    る第1の論理加算器と、 を有し、 (b) 前記第2の変換手段は、 (i) 前記記憶手段から前記第2の対内の前記10進
    ディジットの第1の連続部を受け取り、第3の復号され
    たディジットを生成する第3の復号器と、 (ii) 前記第2記憶手段から前記第2の対内の前記
    10進ディジットの第2の連続部を受け取り第4の復号
    されたディジットを生成する第4の復号器と、 (iii) 前記第3の復号されたディジット、前記第
    4の復号されたディジット、および前記第1の2進表現
    を受け取り、これらから前記第2の2進表現を生成する
    第2の論理加算器と、 を有していることを特徴とする装置。
  4. 【請求項4】前記第1および第2の論理加算器の各々
    は、桁上げ伝播加算器を直列接続した桁上げ保存加算器
    を有していることを特徴とする請求項3記載の装置。
  5. 【請求項5】前記第1の論理加算器は、 前記第1の復号されたディジットを受け取るように前記
    第1の復号器に接続され、かつ前記第2の復号されたデ
    ィジットの少なくとも一部分を受け取るように前記第2
    の復号器に接続された第1の桁上げ保存加算器と、 この第1の桁上げ保存加算器と直列に接続され、その出
    力を受け取る第1の桁上げ伝播加算器と、を有し、 前記第2の論理加算器は、 前記第3の復号されたディジットを受け取るように前記
    第3の復号器に接続されるとともに、前記第4の復号さ
    れたディジットの少なくとも一部分を受け取るために前
    記第4の復号器に接続され、更に前記第1の桁上げ伝播
    加算器に接続された第2の桁上げ保存加算器と、 前記第2の桁上げ保存加算器に直列に接続されてその出
    力を受け取り、前記第2の2進表現を生成する第2の桁
    上げ伝播加算器と、 を有していることを特徴とする請求項3記載の装置。
  6. 【請求項6】多重ディジット10進数を2進数に変換す
    る装置において、 (a) 前記多重ディジット10進数を複数の2進コー
    ド化された10進ディジットとして記憶する第1のレジ
    スタと、 (b) 前記第1のレジスタから、前記2進コード化さ
    れた10進ディジットの第1のものを受け取り第1の復
    号されたディジットを生成する第1の復号器と、 (c) 前記第1のレジスタから、前記2進コード化さ
    れた10進ディジットの連続した第2のものを受け取
    り、第2の復号されたディジットを生成する第2の復号
    器と、 (d) 前記第1の復号されたディジットを受け取るよ
    うに接続された第1の桁上げ伝播加算器と、 (e) 前記第1の桁上げ伝播加算器からシフトされた
    結果を受け取るように接続されるとともに、前記第2の
    復号されたディジットを受け取るように接続されて前記
    第1および第2の2進コード化された10進ディジット
    の2進表現を生成する第2の桁上げ伝播加算器と、 (f) 前記第1および第2の2進コード化された10
    進ディジットの前記2進表現を受け取るように接続され
    た第2のレジスタと、 を備えていることを特徴とする装置。
  7. 【請求項7】多重ディジット10進数を2進数に変換す
    る装置において、 (a) 前記多重ディジット10進数を複数の2進コー
    ド化された10進ディジットとして記憶する第1のレジ
    スタと、 (b) 前記第1のレジスタから前記2進コード化され
    た10進ディジットの第1の連続するものを受け取り第
    1の復号されたディジットを生成する第1の復号器と、 (c) 前記第1のレジスタから前記2進コード化され
    た10進ディジットの第2の連続するものを受け取り第
    2の復号化されたディジットを生成する第2の復号器
    と、 (d) 前記第1のレジスタから前記2進コード化され
    た10進ディジットの第3の連続するものを受け取り第
    3の復号化されたディジットを生成する第3の復号器
    と、 (e) 前記第1のレジスタから前記2進コード化され
    た10進ディジットの第4の連続するものを受け取り第
    4の復号化されたディジットを生成する第4の復号器
    と、 (f) 前記第1の復号器から前記第1の復号されたデ
    ィジットを受け取るとともに前記第2の復号器から前記
    第2の復号されたディジットを受け取る第1の桁上げ保
    存加算器と、 (g) 前記第1および第2の復号器に接続されるとと
    もに、前記第1の桁上げ保存加算器から第1の結果を受
    け取る第1の桁上げ伝播加算器と、 (h) 前記第1の桁上げ伝播加算器からの結果、前記
    第3の復号器からの前記第3の復号されたディジット、
    および前記第4の復号器からの前記第4の復号されたデ
    ィジットを受け取るように接続された第2の桁上げ保存
    加算器と、 (i) 前記第3および第4の復号器に接続されるとと
    もに前記第2の桁上げ保存加算器からの第2の結果を受
    け取るように接続されて、前記2進コード化された10
    進ディジットの第1乃至第4の連続するものの2進表現
    を生成する第2の桁上げ伝播加算器と、 (j) 前記第2の桁上げ伝播加算器からの前記2進コ
    ード化された10進数の第1乃至第4の連続するものの
    前記2進表現を受け取るように接続されるとともに、前
    記第1の桁上げ保存加算器に前記2進表現の少なくとも
    一部分を与えるように接続された第2のレジスタと、 を備えていることを特徴とする装置。
  8. 【請求項8】被除数から除数の倍数を引くことによって
    部分剰余が求められる非回復型2進除算装置に用いら
    れ、前記部分剰余の正および負の値用の統一された比復
    号器において、 前記部分剰余および前記除数の少なくとも高位部分を受
    け取り、前記部分剰余および前記部分除数から復号され
    た倍数を決定する論理手段を含み、 前記論理手段は、前記部分剰余および前記部分除数を受
    け取るために接続され、 前記部分剰余および前記部分除数の値の部分集合であっ
    て、前記部分剰余の符号に依存する復号された倍数が5
    個以下である部分集合を復号する復号手段を備えている
    ことを特徴とする統一された比復号器。
  9. 【請求項9】被除数から除数の倍数を引くことによって
    部分剰余が求められる非回復型2進除算装置に用いられ
    る比復号器において、 前記除数が1xyzの形のとき、この1xyzの第1の
    オペランドを受け取るための第1の入力手段と、 前記部分剰余が左に2だけシフトされた後の前記部分剰
    余の6個の連続する高位ビットabcdefの形の第2
    のオペランドを受け取るための第2の入力手段と、 前記部分剰余の符号(submit0)を示すビット受
    け取る第3の入力手段と、 Mに等しい倍数を決定
    し、 【数1】 の論理演算を実行する第1論理ゲート手段を含む第1手
    段と、 Mに等しい倍数を決定し、 【数2】 の論理演算を実行する第2論理ゲート手段を含む第2手
    段と、 Mに等しい倍数を決定し、 【数3】 の論理演算を実行する第3論理ゲート手段を含む第3手
    段と、 を含み、submit0=1は前記部分剰余の負の符号
    を示す、請求項8記載の統一された比復号器。
  10. 【請求項10】被除数と除数を使用して非回復型除算を
    実行する装置において、 前記被除数の高位部分および前記除数の高位部分を受取
    るように接続された第1の比復号器と前記第1の比復号
    器に結合されて前記被除数の前記高位部分を受け取るよ
    うに接続された第1の桁上げ伝播加算器と、 この第1の桁上げ伝播加算器に直列に接続された第2の
    桁上げ伝播加算器と、 前記第1の比復号器に結合されて前記被除数および前記
    除数を受取りキャリアウトを示す出力を含む第3の桁上
    げ伝播加算器と、 この第3の桁上げ伝播加算器に直列に接続され、キャリ
    アウトを示す出力を含む第4の桁上げ伝播加算器と、 前記第1の桁上げ伝播加算器の出力と前記第2の桁上げ
    伝播加算器の入力との間に配置され、前記第3の桁上げ
    伝播加算器からの前記キャリアウトを受け取る第2の比
    復号器と、 前記直列接続された第1および第2の桁上げ伝播加算器
    の出力に結合された第3の比復号器と、 前記第1乃至第3の比復号器および第3乃至第4の桁上
    げ伝播加算器に結合され、前記第3乃至第4の桁上げ伝
    播加算器の各々からの前記キャリアウトと、前記第1乃
    至第3の比復号器によって発生された倍数とに応じた商
    を発生する商発生手段と、 を備えていることを特徴とする装置。
  11. 【請求項11】部分剰余および部分除数から倍数を復号
    する装置において、 前記部分剰余が負であるときを決定する決定手段と、 この決定手段に接続されて前記部分剰余が負であるとき
    に前記部分剰余の一部分を補数化する補数化手段と、 前記補数化手段および前記決定手段に接続されるととも
    に前記部分除数を受け取るように接続され、前記部分剰
    余および前記部分除数に応答して前記倍数を生成する復
    号手段と、 を備え、 前記生成された倍数は5個以下であることを特徴とする
    装置。
  12. 【請求項12】前記部分除数が1xyzの形をとり、前
    記部分剰余が左に2だけシフトされた後の前記部分剰余
    の6個の連続する高位ビットがabcdefの形をと
    り、 前記復号手段は、 Mに等しい倍数を決定し、 【数4】 の論理演算を実行する第1論理ゲート手段を含む第1手
    段と、 Mに等しい倍数を決定し、 【数5】 の論理演算を実行する第2論理ゲート手段を含む第2手
    段と、 Mに等しい倍数を決定し、 【数6】 の論理演算を実行する第3論理ゲート手段を含む第3手
    段と、 を含み、submit0=1は前記部分剰余の負の符号
    を示す、請求項11記載の装置
  13. 【請求項13】正規化された被除数から正規化された除
    数の倍数を引くことによってその差およびキャリアウト
    を求める第1の加算手段と、 前記正規化された被除数の一部分から前記正規化された
    除数の倍数の一部分を引くことによって部分剰余および
    この部分剰余の符号を示す符号ビットを求める第2の加
    算手段と、 前記部分剰余および前記符号ビットを受け取るように接
    続されて前記部分剰余の一部分と前記符号ビットの排他
    的論理和を取ることによって正の部分被除数を求める補
    数化手段と、 前記補数化手段および前記第2の加算手段に結合され
    て、前記符号ビット、前記正規化された除数および前記
    正の部分被除数に応答して正の倍数を生成する復号手段
    であって、値が前記符号ビットの値に依存する、5個以
    下の値の倍数を復号する手段を含む復号手段と、 前記キャリアウト、前記符号ビット、および前記正の倍
    数を受け取るように接続されて前記部分剰余が負であっ
    たことを符号ビットが示しているときに真の倍数を生成
    するように前記正の倍数の2の補数を求め、前記真の倍
    数から前記キャリアウトを引くことによって部分商を生
    成する商決定手段と、 を備えていることを特徴とする非回復型の2進除算を実
    行する装置。
  14. 【請求項14】正規化された部分被除数および正短化さ
    れた除数の倍数の高位部が減じられて部分剰余およびこ
    の部分剰余の符号を示す符号ビットを生成する、非回復
    型除算を実行する装置において、 前記部分剰余および前記符号ビットを受け取るように接
    続されて、前記部分剰余の一部および前記符号ビットの
    排他的論理和を演算して正の部分被除数を生成する補数
    化手段と、 前記補数化手段に結合されるとともに前記符号ビットお
    よび前記正規化された除数の少なくとも一部分を受け取
    るように接続されて前記符号ビット、前記正の部分被除
    数および前記正規化された除数に応答して正の倍数を生
    成する復号手段であって、値が前記符号ビットに依存す
    る5個以下の倍数を復号する手段を含む復号手段と、 を備えていることを特徴とする比復号器。
JP3109806A 1990-06-04 1991-04-15 多重ディジット10進数を2進数に変換する装置および統一された比復号器 Expired - Lifetime JPH0823814B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/532,729 US5031138A (en) 1990-06-04 1990-06-04 Improved ratio decoder for use in a non-restoring binary division circuit
US532729 1990-06-04

Publications (2)

Publication Number Publication Date
JPH04232529A JPH04232529A (ja) 1992-08-20
JPH0823814B2 true JPH0823814B2 (ja) 1996-03-06

Family

ID=24122915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3109806A Expired - Lifetime JPH0823814B2 (ja) 1990-06-04 1991-04-15 多重ディジット10進数を2進数に変換する装置および統一された比復号器

Country Status (3)

Country Link
US (1) US5031138A (ja)
EP (1) EP0460353A3 (ja)
JP (1) JPH0823814B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0543024B1 (en) * 1991-06-07 1998-09-02 Fujitsu Limited Divider
EP0562137A1 (de) * 1992-03-24 1993-09-29 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren für Datenverarbeitungsanlagen zur Division von normalisierten Operanden
US5239498A (en) * 1992-08-31 1993-08-24 Intel Corporation Methods and apparatus for improved quotient correction in nonrestoring division computation circuits
US10209957B2 (en) * 2015-05-04 2019-02-19 Samsung Electronics Co., Ltd. Partial remainder/divisor table split implementation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3621218A (en) * 1967-09-29 1971-11-16 Hitachi Ltd High-speed divider utilizing carry save additions
US3591787A (en) * 1968-01-29 1971-07-06 Ibm Division system and method
US3852581A (en) * 1972-12-14 1974-12-03 Burroughs Corp Two bit binary divider
JPS617939A (ja) * 1984-06-22 1986-01-14 Fujitsu Ltd 高基数非回復型除算装置
CA1231455A (en) * 1984-04-09 1988-01-12 Masayuki Ikeda Nonrestoring divider
JPS60214037A (ja) * 1984-04-09 1985-10-26 Fujitsu Ltd 高基数非回復型除算器

Also Published As

Publication number Publication date
EP0460353A3 (en) 1993-05-26
JPH04232529A (ja) 1992-08-20
EP0460353A2 (en) 1991-12-11
US5031138A (en) 1991-07-09

Similar Documents

Publication Publication Date Title
US5408670A (en) Performing arithmetic in parallel on composite operands with packed multi-bit components
US5506799A (en) Booth array multiplying circuit having carry correction
JP3244506B2 (ja) 小型乗算器
EP0158530B1 (en) Nonrestoring divider
EP0328063B1 (en) Absolute value calculating circuit having a single adder
US4792793A (en) Converting numbers between binary and another base
US5184318A (en) Rectangular array signed digit multiplier
US5132925A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
EP0642093B1 (en) Method, system and apparatus for automatically designing a multiplier circuit and multiplier circuit designed by performing said method
US5309383A (en) Floating-point division circuit
US3711693A (en) Modular bcd and binary arithmetic and logical system
US6728744B2 (en) Wide word multiplier using booth encoding
US5357455A (en) Floating point remainder generator for a math processor
EP0416308A2 (en) Rectangular array signed digit multiplier
US4805131A (en) BCD adder circuit
KR970006408B1 (ko) 논리회로의 자동설계방법 및 그 장치와 승산기
JPH0619685A (ja) 並列乗算回路
JPH0823814B2 (ja) 多重ディジット10進数を2進数に変換する装置および統一された比復号器
Kuninobu et al. High speed MOS multiplier and divider using redundant binary representation and their implementation in a microprocessor
Schmookler High-speed binary-to-decimal conversion
US8417761B2 (en) Direct decimal number tripling in binary coded adders
US5146422A (en) Reduced execution time convert to binary circuit
JPH04256016A (ja) 2の補数の乗算器を無符号数の乗算を行うように修正する方法および装置
US5153847A (en) Arithmetic processor using signed digit representation of internal operands