JPH0234054B2 - - Google Patents
Info
- Publication number
- JPH0234054B2 JPH0234054B2 JP58119556A JP11955683A JPH0234054B2 JP H0234054 B2 JPH0234054 B2 JP H0234054B2 JP 58119556 A JP58119556 A JP 58119556A JP 11955683 A JP11955683 A JP 11955683A JP H0234054 B2 JPH0234054 B2 JP H0234054B2
- Authority
- JP
- Japan
- Prior art keywords
- decimal
- carry
- digit
- circuit
- adder
- 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
Links
- 238000012937 correction Methods 0.000 claims description 174
- 239000000047 product Substances 0.000 claims description 79
- 239000013067 intermediate product Substances 0.000 claims description 38
- 239000012467 final product Substances 0.000 claims description 37
- 238000004364 calculation method Methods 0.000 claims description 34
- 238000000034 method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 210000003813 thumb Anatomy 0.000 description 16
- 230000000644 propagated effect Effects 0.000 description 8
- 239000000470 constituent Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/491—Computations with decimal numbers radix 12 or 20.
- G06F7/4915—Multiplying; Dividing
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)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明はループ・アダーにより部分積と中間積
の加算を行う10進乗算装置に係り、特にループ・
アダーにキヤリ・セーブ・アダーを用いることに
よりループ加算を高速化した10進乗算装置に関す
るものである。
の加算を行う10進乗算装置に係り、特にループ・
アダーにキヤリ・セーブ・アダーを用いることに
よりループ加算を高速化した10進乗算装置に関す
るものである。
一般に、2進化10進数で表わされる被乗数に同
じく2進化10進数で表わされる乗数を乗算して2
進化10進数で表わされる最終積を求める場合、第
1図に示す様に、乗数の所定処理巾毎に被乗数に
乗算を行つてn個の部分積を求め、これらの部分
積1〜nを加算して最終積を得る方式が用いられ
る。
じく2進化10進数で表わされる乗数を乗算して2
進化10進数で表わされる最終積を求める場合、第
1図に示す様に、乗数の所定処理巾毎に被乗数に
乗算を行つてn個の部分積を求め、これらの部分
積1〜nを加算して最終積を得る方式が用いられ
る。
第1図の如き演算を行う10進乗算装置の従来の
構成例を第2図に示す。第2図において、例えば
重数レジスタ1に格納されている乗数と被乗数レ
ジスタ2に格納されている被乗数の乗算は、以下
の通りである。10進部分積演算器4が起動される
と、被乗数レジスタ2に格納されている被乗数と
乗数レジスタ1に格納されている乗数の下位から
所定処理巾分だけ切出し、最初の10進部分積演算
が行われ、この最初の10進部分積が部分レジスタ
6に格納される。これと同時に中間積レジスタ5
に初期状態としてゼロが格納され、さらに乗数レ
ジスタ1に格納されている乗数は、切出されたデ
ータ巾分だけシフタ3により右シフトされて再び
乗数レジスタ1に格納される。次に中間積レジス
タ5に格納されている初期値ゼロと部分積レジス
タ6に格納されている。最初の10進部分積が10進
ループ・アダー7で加算され、最初の10進中間積
が中間積レジスタ5に転送格納される。この際、
10進ループ・アダー7の出力は、シフタ8により
乗数の所定処理巾分だけ右シフトされて中間積レ
ジスタ5に格納される。同時に、10進ループ・ア
ダー7からの出力の下位乗数所定処理巾のデー
タ、即ち10進最終積の最下位乗数所定処理巾の値
は乗数レジスタ1の上位乗数所定処理巾位置に転
送格納される。以下同様の処理を乗数の有効桁す
べてについて繰返すことにより、乗数有効桁巾分
の10進最終積の下位部分が乗数レジスタ1に左詰
めに求まり、10進最終積の上位部分が最終演算サ
イクル10進ループ・アダー7の出力として求まつ
た後、被乗数レジスタ2に転送格納される。
構成例を第2図に示す。第2図において、例えば
重数レジスタ1に格納されている乗数と被乗数レ
ジスタ2に格納されている被乗数の乗算は、以下
の通りである。10進部分積演算器4が起動される
と、被乗数レジスタ2に格納されている被乗数と
乗数レジスタ1に格納されている乗数の下位から
所定処理巾分だけ切出し、最初の10進部分積演算
が行われ、この最初の10進部分積が部分レジスタ
6に格納される。これと同時に中間積レジスタ5
に初期状態としてゼロが格納され、さらに乗数レ
ジスタ1に格納されている乗数は、切出されたデ
ータ巾分だけシフタ3により右シフトされて再び
乗数レジスタ1に格納される。次に中間積レジス
タ5に格納されている初期値ゼロと部分積レジス
タ6に格納されている。最初の10進部分積が10進
ループ・アダー7で加算され、最初の10進中間積
が中間積レジスタ5に転送格納される。この際、
10進ループ・アダー7の出力は、シフタ8により
乗数の所定処理巾分だけ右シフトされて中間積レ
ジスタ5に格納される。同時に、10進ループ・ア
ダー7からの出力の下位乗数所定処理巾のデー
タ、即ち10進最終積の最下位乗数所定処理巾の値
は乗数レジスタ1の上位乗数所定処理巾位置に転
送格納される。以下同様の処理を乗数の有効桁す
べてについて繰返すことにより、乗数有効桁巾分
の10進最終積の下位部分が乗数レジスタ1に左詰
めに求まり、10進最終積の上位部分が最終演算サ
イクル10進ループ・アダー7の出力として求まつ
た後、被乗数レジスタ2に転送格納される。
以上の様にして、2進化10進数で表わされる被
乗数と同じく2進化10進数で表わされる乗数を乗
算して、2進化10進数で表わされる積を求めるこ
とができるが、上記10進乗算を高速化する一手段
として、10進ループ・アダー7の高速化がある。
乗数と同じく2進化10進数で表わされる乗数を乗
算して、2進化10進数で表わされる積を求めるこ
とができるが、上記10進乗算を高速化する一手段
として、10進ループ・アダー7の高速化がある。
10進ループ・アダーは一般に第3図に示す如き
構成をとり、その動作は以下の通りである。加算
に先立ち、まず入力Aが6加算回路9i,9i+1…
により2進化10進数一桁(iは任意桁を表わして
いる)毎に6加算され(A′)、このA′と他の入力
Bが2進アダー10i,10i+1…により2進加算
される(R)。この2進加算の際、2進化10進数
一桁からキヤリが生じなかつた場合(第1ケース
と称す)、Rから6減算回路11i,11i+1…によ
り2進化10進一桁毎に6減算され、キヤリが生じ
た場合(第2ケースと称す)、Rの値そのものを
10進ループ・アダーの出力R′とする様に6減算
補正回路12i,12i+1が制御される。第4図a
に上記第1ケースの例を示し、第4図bに上記第
2ケースの例を示す。
構成をとり、その動作は以下の通りである。加算
に先立ち、まず入力Aが6加算回路9i,9i+1…
により2進化10進数一桁(iは任意桁を表わして
いる)毎に6加算され(A′)、このA′と他の入力
Bが2進アダー10i,10i+1…により2進加算
される(R)。この2進加算の際、2進化10進数
一桁からキヤリが生じなかつた場合(第1ケース
と称す)、Rから6減算回路11i,11i+1…によ
り2進化10進一桁毎に6減算され、キヤリが生じ
た場合(第2ケースと称す)、Rの値そのものを
10進ループ・アダーの出力R′とする様に6減算
補正回路12i,12i+1が制御される。第4図a
に上記第1ケースの例を示し、第4図bに上記第
2ケースの例を示す。
以上の様にして、2つの2進化10進数を入力し
て2進加算し、2進化10進数の和を求めることが
できるが、2進加算の際、最下位ビツトから最上
位ビツトまでキヤリが伝播するのを待つて次の演
算サイクルを開始しなければならず、方式的に高
速化に限界がある。
て2進加算し、2進化10進数の和を求めることが
できるが、2進加算の際、最下位ビツトから最上
位ビツトまでキヤリが伝播するのを待つて次の演
算サイクルを開始しなければならず、方式的に高
速化に限界がある。
一方、2進乗算装置におけるループ・アダーを
高速化する加算方式として、第5図に示す如き構
成がある。これは、乗算の途中で生ずるキヤリは
そのまま保留し、乗数の有効桁すべてについての
加算が終了してから最後にキヤリ伝播処理を行う
というものである。第5図において、例えば乗数
レジスタ1に格納されている乗数と被乗数レジス
タ2に格納されている被乗数の乗算は以下の通り
である。2進部分積演算器13が起動されると、
被乗数レジスタ2に格納されている被乗数と乗数
レジスタ1に格納されている乗数の下位から所定
処理巾分だけ切出し、最初の2進部分積演算が行
われ、最初の部分積が部分積レジスタ16,17
に格納される。一般に2進部分積演算器13にも
キヤリ・セーブ・アダーが用いられ、第5図では
部分積もサム(部分和)と保留キヤリの形でそれ
ぞれ部分積サム・レジスタ16および部分積キヤ
リ・レジスタ17に格納される。これと同時に中
間積サム・レジスタ14および中間積キヤリ・レ
ジスタ15に初期状態としてゼロが格納され、乗
数レジスタ1に格納されている乗数は、必要な巾
のデータが切出されるとシフタ3により処理デー
タ巾分だけ右シフトされて再び乗数レジスタ1に
格納される。中間積キヤリ・レジスタ14および
中間積キヤリ・レジスタ15に格納されている初
期値ゼロと部分積サム・レジスタ16と部分積キ
ヤリ・レジスタ17に格納されている最初の中間
積が、23の破線ブロツクで示す2段のキヤリ・
セーブ・アダー18および21でキヤリ保留加算
され、最初の中間積のサムとキヤリがそれぞれ中
間積サム・レジスタ14および中間積キヤリ・レ
ジスタ15に転送格納される。この時、キヤリ・
セーブ・アダーのキヤリ出力が次段のアダーに転
送される場合には桁合せのために1ビツト左シフ
ト回路19,20および22により1ビツト左シ
フトされる。又、キヤリ・セーブ・アダー21の
サム出力および1ビツト左シフト回路22の出力
は、シフタ24および25により乗数の所定処理
データ巾だけ右シフトされて、それぞれ中間積サ
ム・レジスタ14および中間積キヤリ・レジスタ
15に格納される。キヤリ・セーブ・アダー21
のサム出力および1ビツト左シフト回路22出力
の下位乗数所定処理巾のデータ、即ち最終積の最
下位乗数所定処理巾のサムおよびキヤリはスピ
ル・アダー26に入力され2進加算される。スピ
ル・アダー26の出力、即ち最終積の最下位乗数
所定処理巾の値は乗数レジスタ1の上位乗数所定
処理巾位置に転送格納される。
高速化する加算方式として、第5図に示す如き構
成がある。これは、乗算の途中で生ずるキヤリは
そのまま保留し、乗数の有効桁すべてについての
加算が終了してから最後にキヤリ伝播処理を行う
というものである。第5図において、例えば乗数
レジスタ1に格納されている乗数と被乗数レジス
タ2に格納されている被乗数の乗算は以下の通り
である。2進部分積演算器13が起動されると、
被乗数レジスタ2に格納されている被乗数と乗数
レジスタ1に格納されている乗数の下位から所定
処理巾分だけ切出し、最初の2進部分積演算が行
われ、最初の部分積が部分積レジスタ16,17
に格納される。一般に2進部分積演算器13にも
キヤリ・セーブ・アダーが用いられ、第5図では
部分積もサム(部分和)と保留キヤリの形でそれ
ぞれ部分積サム・レジスタ16および部分積キヤ
リ・レジスタ17に格納される。これと同時に中
間積サム・レジスタ14および中間積キヤリ・レ
ジスタ15に初期状態としてゼロが格納され、乗
数レジスタ1に格納されている乗数は、必要な巾
のデータが切出されるとシフタ3により処理デー
タ巾分だけ右シフトされて再び乗数レジスタ1に
格納される。中間積キヤリ・レジスタ14および
中間積キヤリ・レジスタ15に格納されている初
期値ゼロと部分積サム・レジスタ16と部分積キ
ヤリ・レジスタ17に格納されている最初の中間
積が、23の破線ブロツクで示す2段のキヤリ・
セーブ・アダー18および21でキヤリ保留加算
され、最初の中間積のサムとキヤリがそれぞれ中
間積サム・レジスタ14および中間積キヤリ・レ
ジスタ15に転送格納される。この時、キヤリ・
セーブ・アダーのキヤリ出力が次段のアダーに転
送される場合には桁合せのために1ビツト左シフ
ト回路19,20および22により1ビツト左シ
フトされる。又、キヤリ・セーブ・アダー21の
サム出力および1ビツト左シフト回路22の出力
は、シフタ24および25により乗数の所定処理
データ巾だけ右シフトされて、それぞれ中間積サ
ム・レジスタ14および中間積キヤリ・レジスタ
15に格納される。キヤリ・セーブ・アダー21
のサム出力および1ビツト左シフト回路22出力
の下位乗数所定処理巾のデータ、即ち最終積の最
下位乗数所定処理巾のサムおよびキヤリはスピ
ル・アダー26に入力され2進加算される。スピ
ル・アダー26の出力、即ち最終積の最下位乗数
所定処理巾の値は乗数レジスタ1の上位乗数所定
処理巾位置に転送格納される。
以下同様の処理を乗数の有効桁すべてについて
繰返し、乗数有効巾の最終積の下位部分が乗数レ
ジスタ1に左詰めに求まり、最終積の上位部分が
最終演算サイクルでキヤリ・セーブ・アダー21
のサム出力およびキヤリ・セーブ・アダー21の
キヤリ出力を左1ビツトシフトした1ビツト左シ
フト回路22の出力に、それぞれサムとキヤリの
形で求まる。最終積の上位部分のサムとキヤリは
フル・アダー27に入力され2進加算される。フ
ル・アダー27の出力、即ち最終積の上位部分の
値は被乗数レジスタ2に転送格納される。
繰返し、乗数有効巾の最終積の下位部分が乗数レ
ジスタ1に左詰めに求まり、最終積の上位部分が
最終演算サイクルでキヤリ・セーブ・アダー21
のサム出力およびキヤリ・セーブ・アダー21の
キヤリ出力を左1ビツトシフトした1ビツト左シ
フト回路22の出力に、それぞれサムとキヤリの
形で求まる。最終積の上位部分のサムとキヤリは
フル・アダー27に入力され2進加算される。フ
ル・アダー27の出力、即ち最終積の上位部分の
値は被乗数レジスタ2に転送格納される。
以上の様にして、2進数の乗数と同じく2進数
の被乗数を乗算して2進数の積を求めることがで
きる。この際、第5図に示す如くキヤリ・セー
ブ・アダー18および21が1段ないしは2段の
ゲート段数で構成可能なこと、さらに加算の中途
でアダーの最下位のビツトから最上位ビツトへの
キヤリ伝播完了を待つ必要がないことから、高速
なループ・アダーが構成できる。しかし、2進数
と異なり2進化10進数は1桁を表示するのに4ビ
ツト巾を使用するが、数値としては0から9まで
のみを取り扱うため、演算の結果、10進法表現を
越える2進値(1010)2〜(1111)2がサム出力およ
びキヤリ出力に現れる2進数用キヤリ・セーブ・
アダーをそのまま10進乗数に適用することはでき
ないという欠点がある。
の被乗数を乗算して2進数の積を求めることがで
きる。この際、第5図に示す如くキヤリ・セー
ブ・アダー18および21が1段ないしは2段の
ゲート段数で構成可能なこと、さらに加算の中途
でアダーの最下位のビツトから最上位ビツトへの
キヤリ伝播完了を待つ必要がないことから、高速
なループ・アダーが構成できる。しかし、2進数
と異なり2進化10進数は1桁を表示するのに4ビ
ツト巾を使用するが、数値としては0から9まで
のみを取り扱うため、演算の結果、10進法表現を
越える2進値(1010)2〜(1111)2がサム出力およ
びキヤリ出力に現れる2進数用キヤリ・セーブ・
アダーをそのまま10進乗数に適用することはでき
ないという欠点がある。
本発明の目的は、10進乗算を部分積演算と演算
した部分積と中間積のループ加算(繰返し加算)
で行う際、ループアダーとしてキヤリ・セーブ・
アダーを用いて10進ループ加算を高速に行うこと
が可能な10進乗算装置を提供することにある。
した部分積と中間積のループ加算(繰返し加算)
で行う際、ループアダーとしてキヤリ・セーブ・
アダーを用いて10進ループ加算を高速に行うこと
が可能な10進乗算装置を提供することにある。
本発明の10進乗算装置の特徴とするところは、
2進化10進数の被乗数と同じく2進化10進数の乗
数を乗算するのに被乗数に対し所定処理巾毎の乗
数を演算して2進化10進数の部分積を求め、初期
状態の中間積の10進1桁毎あるいは最初の部分積
の10進1桁毎に6加算して演算を始め、被乗数に
対し乗数を所定処理巾毎に乗算して求めた部分積
とそれ以前にサムとキヤリの形で得られている中
間積を、キヤリ・セーブ・アダーを用いて加算し
て当該所定処理巾乗算までの中間積をサムとキヤ
リの形で求めておき、乗数の有効桁すべての乗算
を該演算サイクルを繰返すことにより行つたのち
最終積のサムとキヤリを2進フル・アダーを用い
て加算し、その結果10進1桁毎にキヤリを生じた
場合には該値を最終積の10進1桁の値とし、キヤ
リを生じなかつた場合には該値から6を減ずるこ
とにより最終積の10進1桁の値とする10進乗算装
置において、3入力キヤリ・セーブ・アダーの2
入力をサムおよびキヤリの形で表わされている中
間積の入力として用い、他の1入力を10進部分積
の入力として用いる共に、該キヤリ・セーブ・ア
ダーと次段のアダーの間に該キヤリ・セーブ・ア
ダーの10進1桁毎のサム出力およびキヤリ出力の
値から、これらを全加算し10進1桁毎のキヤリ発
生の有無により6減算補正した時に正しい2進化
10進数の中間積あるいは最終積が得られるための
サム出力補正および上位桁への桁上げ補正の要否
およびその補正量を判定する判定回路とその判定
結果により該サム出力を補正するサム出力補正回
路および次段上位桁の10進部分積入力を補正する
桁上げ補正回路を設けて10進キヤリ・セーブ・ア
ダー・ユニツトを構成し、該10進キヤリ・セー
ブ・アダー・ユニツトを単数個あるいは複数個組
合わせて高速動作可能な10進ループ・アダーを構
成したことである。
2進化10進数の被乗数と同じく2進化10進数の乗
数を乗算するのに被乗数に対し所定処理巾毎の乗
数を演算して2進化10進数の部分積を求め、初期
状態の中間積の10進1桁毎あるいは最初の部分積
の10進1桁毎に6加算して演算を始め、被乗数に
対し乗数を所定処理巾毎に乗算して求めた部分積
とそれ以前にサムとキヤリの形で得られている中
間積を、キヤリ・セーブ・アダーを用いて加算し
て当該所定処理巾乗算までの中間積をサムとキヤ
リの形で求めておき、乗数の有効桁すべての乗算
を該演算サイクルを繰返すことにより行つたのち
最終積のサムとキヤリを2進フル・アダーを用い
て加算し、その結果10進1桁毎にキヤリを生じた
場合には該値を最終積の10進1桁の値とし、キヤ
リを生じなかつた場合には該値から6を減ずるこ
とにより最終積の10進1桁の値とする10進乗算装
置において、3入力キヤリ・セーブ・アダーの2
入力をサムおよびキヤリの形で表わされている中
間積の入力として用い、他の1入力を10進部分積
の入力として用いる共に、該キヤリ・セーブ・ア
ダーと次段のアダーの間に該キヤリ・セーブ・ア
ダーの10進1桁毎のサム出力およびキヤリ出力の
値から、これらを全加算し10進1桁毎のキヤリ発
生の有無により6減算補正した時に正しい2進化
10進数の中間積あるいは最終積が得られるための
サム出力補正および上位桁への桁上げ補正の要否
およびその補正量を判定する判定回路とその判定
結果により該サム出力を補正するサム出力補正回
路および次段上位桁の10進部分積入力を補正する
桁上げ補正回路を設けて10進キヤリ・セーブ・ア
ダー・ユニツトを構成し、該10進キヤリ・セー
ブ・アダー・ユニツトを単数個あるいは複数個組
合わせて高速動作可能な10進ループ・アダーを構
成したことである。
本発明の実施例を説明する前に、まず本発明の
動作原理を第6図及び第7図により説明する。
動作原理を第6図及び第7図により説明する。
第6図はキヤリ・セーブ・アダーを使つた10進
ループ加算器と10進ループ加算の繰返しにより最
終積を求める方式の動作概念説明図である。PP1
〜PP3はそれぞれ演算サイクル毎の10進部分積、
Pは10進最終積、S1〜S3およびC1〜C3はとれぞ
れ演算サイクル毎のキヤリ・セーブ・アダーのサ
ム出力およびキヤリ出力、S′1〜S′3,C′1〜C′3お
よびPP′1〜PP′3はそれぞれ桁上げ補正後のサム、
ビツト位置合わせ後のキヤリおよび桁上げ補正後
の10進部分積である。ループ加算は、6加算補正
回路28により初期設定として10進1桁毎に6を
加算して開始され、サムとキヤリの形で保持され
ている中間積と他の演算手段で求められた10進部
分積PPが3入力キヤリ・セーブ・アダー
(GSA)29でキヤリ・セーブ加算され、キヤ
リ・セーブ・アダー29の10進1桁毎に、サム出
力補正回路31と10進上位桁補正回路32によ
り、例えばそれぞれ後述の第8図および第9図に
示す如きある10進1桁のサム出力Sとキヤリ出力
Cの値から決定されるサム出力への補正および該
10進桁の上位桁への補正を施すことにより、桁上
げ補正後のサムS′と、ビツト位置合わせ後、即ち
シフト回路30による1ビツト左シフト後のキヤ
リC′とを加算した場合に正しい中間積を示す様に
して、最初の中間積と10進部分積の10進加算が行
われる。桁上げ補正後のサムS′とビツト位置合わ
せ後のキヤリC′は、次サイクルでキヤリ・セー
ブ・アダー29に入力される時には、シフタ3
3,34により乗数の処理巾分だけ右にシフトさ
れる。該処理を1演算サイクルとし、乗数の有効
桁数に対応した10進部分積PPの数分の演算サイ
クルを繰返し、最終積を求めていく。
ループ加算器と10進ループ加算の繰返しにより最
終積を求める方式の動作概念説明図である。PP1
〜PP3はそれぞれ演算サイクル毎の10進部分積、
Pは10進最終積、S1〜S3およびC1〜C3はとれぞ
れ演算サイクル毎のキヤリ・セーブ・アダーのサ
ム出力およびキヤリ出力、S′1〜S′3,C′1〜C′3お
よびPP′1〜PP′3はそれぞれ桁上げ補正後のサム、
ビツト位置合わせ後のキヤリおよび桁上げ補正後
の10進部分積である。ループ加算は、6加算補正
回路28により初期設定として10進1桁毎に6を
加算して開始され、サムとキヤリの形で保持され
ている中間積と他の演算手段で求められた10進部
分積PPが3入力キヤリ・セーブ・アダー
(GSA)29でキヤリ・セーブ加算され、キヤ
リ・セーブ・アダー29の10進1桁毎に、サム出
力補正回路31と10進上位桁補正回路32によ
り、例えばそれぞれ後述の第8図および第9図に
示す如きある10進1桁のサム出力Sとキヤリ出力
Cの値から決定されるサム出力への補正および該
10進桁の上位桁への補正を施すことにより、桁上
げ補正後のサムS′と、ビツト位置合わせ後、即ち
シフト回路30による1ビツト左シフト後のキヤ
リC′とを加算した場合に正しい中間積を示す様に
して、最初の中間積と10進部分積の10進加算が行
われる。桁上げ補正後のサムS′とビツト位置合わ
せ後のキヤリC′は、次サイクルでキヤリ・セー
ブ・アダー29に入力される時には、シフタ3
3,34により乗数の処理巾分だけ右にシフトさ
れる。該処理を1演算サイクルとし、乗数の有効
桁数に対応した10進部分積PPの数分の演算サイ
クルを繰返し、最終積を求めていく。
第5図で10進部分積が2つ即ち10進部分積PP1
および10進部分PP2を10進加算する場合が示され
ており、第2サイクル即ち最終の乗数有効桁につ
いての演算サイクルでの10進部分積のループ加算
の結果、キヤリ・セーブ・アダー29のサム出力
S2とビツト位置合わせ後のキヤリC′2とで10進桁
上げを2ないし3だけ保留している場合の桁上げ
補正を、第3サイクル(最終サイクル)にてゼロ
の他を持つ10進部分積PP3とキヤリ・セーブ加算
することにより完結し、最終積のサムS′3とキヤ
リC′3を2進フル・アダー35で2進全加算し、
該2進全加算の結果、10進1桁毎にキヤリが発生
した場合には加算結果の値そのものを10進最終積
Pの10進1桁の値とし、キヤリが発生しなかつた
場合には6減算補正回路36により加算結果の値
から6を減じて10進最終値Pの10進1桁の値とし
て、正しい最終積が得られる様に演算が行われ
る。上記キヤリ・セーブ・アダーのサム出力とビ
ツト位置合わせ後のキヤリとで10進桁上げを0〜
3だけ保留しうることについては後述する。
および10進部分PP2を10進加算する場合が示され
ており、第2サイクル即ち最終の乗数有効桁につ
いての演算サイクルでの10進部分積のループ加算
の結果、キヤリ・セーブ・アダー29のサム出力
S2とビツト位置合わせ後のキヤリC′2とで10進桁
上げを2ないし3だけ保留している場合の桁上げ
補正を、第3サイクル(最終サイクル)にてゼロ
の他を持つ10進部分積PP3とキヤリ・セーブ加算
することにより完結し、最終積のサムS′3とキヤ
リC′3を2進フル・アダー35で2進全加算し、
該2進全加算の結果、10進1桁毎にキヤリが発生
した場合には加算結果の値そのものを10進最終積
Pの10進1桁の値とし、キヤリが発生しなかつた
場合には6減算補正回路36により加算結果の値
から6を減じて10進最終値Pの10進1桁の値とし
て、正しい最終積が得られる様に演算が行われ
る。上記キヤリ・セーブ・アダーのサム出力とビ
ツト位置合わせ後のキヤリとで10進桁上げを0〜
3だけ保留しうることについては後述する。
第7図はキヤリ・セーブ・アダー出力の加算表
であり、10進1桁巾のキヤリ・セーブ・アダーの
サム出力Sとキヤリ出力Cおよびビツト位置を合
わせるためにキヤリ出力Cを1ビツト左シフトし
たキヤリC′を入力条件とし、サム出力Sとキヤリ
C′を加算した時に結果となるべき10進数値が示さ
れている。(S)10および(C′)10は、それぞれサム
出力SおよびC′の10進数表現である。ループ・ア
ダーに対する初期設定として10進1桁毎に(6)
10を加算して演算を行うため、キヤリ・セーブ・
アダーのサム出力とキヤリ出力から加算結果とし
て得るべき10進数値は、(S)10+(C′)10−(6)1
0
で求められている。例えばある10進1桁に対する
キヤリ・セーブ・アダーのサム出力Sおよびキヤ
リ出力CがそれぞれS=“6”,C=“3”である
場合、C′は該10進桁の下位桁のCの値が“0”〜
“7”か“8”〜“F”であるかによりそれぞれ
C′=“6”かC′=“7”となり、下位桁のCの値が
“8”〜“F”であるときには、(S)10+(C′)10
−
(6)10=“6”+“7”−“6”=“7”である。
であり、10進1桁巾のキヤリ・セーブ・アダーの
サム出力Sとキヤリ出力Cおよびビツト位置を合
わせるためにキヤリ出力Cを1ビツト左シフトし
たキヤリC′を入力条件とし、サム出力Sとキヤリ
C′を加算した時に結果となるべき10進数値が示さ
れている。(S)10および(C′)10は、それぞれサム
出力SおよびC′の10進数表現である。ループ・ア
ダーに対する初期設定として10進1桁毎に(6)
10を加算して演算を行うため、キヤリ・セーブ・
アダーのサム出力とキヤリ出力から加算結果とし
て得るべき10進数値は、(S)10+(C′)10−(6)1
0
で求められている。例えばある10進1桁に対する
キヤリ・セーブ・アダーのサム出力Sおよびキヤ
リ出力CがそれぞれS=“6”,C=“3”である
場合、C′は該10進桁の下位桁のCの値が“0”〜
“7”か“8”〜“F”であるかによりそれぞれ
C′=“6”かC′=“7”となり、下位桁のCの値が
“8”〜“F”であるときには、(S)10+(C′)10
−
(6)10=“6”+“7”−“6”=“7”である。
第6図に示した如きの演算方式では、キヤリ・
セーブ・アダーのサム出力S、キヤリ出力Cおよ
びキヤリC′はそれぞれ16進数表現で“0”〜
“R”の値をとり得、サムとキヤリを2進フル・
アダーで加算し、10進1桁毎にキヤリが発生した
場合は該10進桁の値そのものを結果とし、キヤリ
が発生しなかつた場合は該10進桁の値から“6”
を減じたものを結果とする10進数演算方式(以降
単に10進数演算方式と記す)を適用した場合に正
しい値、即ち、第7図に示した如き10進数値を得
るために、サムS、キヤリCおよびキヤリC′の値
により、サムSおよび該10進桁の上位桁に対し適
当な補正を行う必要がある。
セーブ・アダーのサム出力S、キヤリ出力Cおよ
びキヤリC′はそれぞれ16進数表現で“0”〜
“R”の値をとり得、サムとキヤリを2進フル・
アダーで加算し、10進1桁毎にキヤリが発生した
場合は該10進桁の値そのものを結果とし、キヤリ
が発生しなかつた場合は該10進桁の値から“6”
を減じたものを結果とする10進数演算方式(以降
単に10進数演算方式と記す)を適用した場合に正
しい値、即ち、第7図に示した如き10進数値を得
るために、サムS、キヤリCおよびキヤリC′の値
により、サムSおよび該10進桁の上位桁に対し適
当な補正を行う必要がある。
第7図の加算表は、10進桁上げの数およびキヤ
リ・セーブ・アダーのサム出力S、キヤリ出力C
およびキヤリC′の値の条件により、A〜Iの9部
分に分割され、それぞれの部分に対して適当な10
進桁上げ補正を以下の様に行う。
リ・セーブ・アダーのサム出力S、キヤリ出力C
およびキヤリC′の値の条件により、A〜Iの9部
分に分割され、それぞれの部分に対して適当な10
進桁上げ補正を以下の様に行う。
A部分は、サムSおよびキヤリC′の値が“0”
S+C′“5”なる条件を満足する部分である
が、初期設定として10進1桁毎に6加算して演算
を行うため発生しない条件あり、またキヤリ・セ
ーブ・アダーと該第7図の加算表の10進桁上げ論
理を満足する桁上げ補正回路から構成される第6
図の如き演算方式において、最終積のサムとキヤ
リ、例えばS′3とC′3の値が“0”S′3+C′3
“5”なる条件を満足するためには、演算の初期
設定として10進1桁毎に6加算せずに演算を開始
しなければならないことが説明でき、該第7図の
加算表において、“0”S+C′“5”なる条
件を満足するサムSとキヤリC′の組合せは生じな
い。
S+C′“5”なる条件を満足する部分である
が、初期設定として10進1桁毎に6加算して演算
を行うため発生しない条件あり、またキヤリ・セ
ーブ・アダーと該第7図の加算表の10進桁上げ論
理を満足する桁上げ補正回路から構成される第6
図の如き演算方式において、最終積のサムとキヤ
リ、例えばS′3とC′3の値が“0”S′3+C′3
“5”なる条件を満足するためには、演算の初期
設定として10進1桁毎に6加算せずに演算を開始
しなければならないことが説明でき、該第7図の
加算表において、“0”S+C′“5”なる条
件を満足するサムSとキヤリC′の組合せは生じな
い。
B部分は、サムSおよびキヤリC′の値が“6”
S+C′“F”で、かつ、上位桁へのキヤリ発
生なしなる条件を満足する部分である。従つて、
B部分は10進数演算方式をそのまま適用できる部
分であり、SとC′が2進全加算された後、6減算
補正が施される。例えば、S=“6”、C′=“7”
の場合、S+C′−“6”=“6”+“7”−“6”=
“7”
となる。従つて、B部分についてはキヤリ・セー
ブ加算後のサム出力Sおよび10進上位桁に対する
10進桁上げ補正は不要である。
S+C′“F”で、かつ、上位桁へのキヤリ発
生なしなる条件を満足する部分である。従つて、
B部分は10進数演算方式をそのまま適用できる部
分であり、SとC′が2進全加算された後、6減算
補正が施される。例えば、S=“6”、C′=“7”
の場合、S+C′−“6”=“6”+“7”−“6”=
“7”
となる。従つて、B部分についてはキヤリ・セー
ブ加算後のサム出力Sおよび10進上位桁に対する
10進桁上げ補正は不要である。
C部分は、サムSおよびキヤリC′の値が“10”
S+C′“19”となり、2進全加算によりSと
C′で1だけ保留しているキヤリを上位桁に伝播
し、該10進桁の結果がそのまま加算結果の10進数
値を表わすことのできる部分である。従つて、C
部分は10進数演算方式をそのまま適用できる部分
であり、キヤリ・セーブ加算後のサム出力Sおよ
び10進上位桁に対する10進桁上げ補正は不要であ
る。例えば、S=“A”,C′=“F”の場合、S+
C′=“A”+“F”=“19”となる。
S+C′“19”となり、2進全加算によりSと
C′で1だけ保留しているキヤリを上位桁に伝播
し、該10進桁の結果がそのまま加算結果の10進数
値を表わすことのできる部分である。従つて、C
部分は10進数演算方式をそのまま適用できる部分
であり、キヤリ・セーブ加算後のサム出力Sおよ
び10進上位桁に対する10進桁上げ補正は不要であ
る。例えば、S=“A”,C′=“F”の場合、S+
C′=“A”+“F”=“19”となる。
D部分は、キヤリ・セーブ・アダーのキヤリ出
力Cをビツト位置合わせのために1ビツト左シフ
トしてキヤリC′を求める際、キヤリCの値がキヤ
リ・セーブ加算結果の10進上位桁への伝播キヤリ
を発生しない値であること、即ち、“0”C
“7”、かつ、サムSおよびキヤリC′の値が“1A”
S+C′“1E”なる条件を満足する部分であ
る。D部分では、2進全加算によりSとC′でキヤ
リを2だけ保留しており、その内の1について10
進数演算方式を適用することにより10進上位桁へ
キヤリが伝播するため、これについてはSとC′と
で保留したままとし、他の1についてはSとC′を
2進全加算した場合の結果が“A”〜“E”とい
う2進化10進数表示を越えた表現となるため、こ
れを“10”〜“14”とするための10進桁上げ補正
を行う。D部分に対する10進桁上げ補正は、キヤ
リ・セーブ・アダーのサム出力Sの該10進桁に
(16)10を法とする(6)1 0加算を行い、かつ該10
進桁の上位桁に1加算することにより行う。例え
ば、S=“E”、C=“6”、C′=“D”の場合10進
桁上げ補正後のサムをS′とし、該10進桁の上位桁
へ1加算することを“10”を加算することで表わ
すと、S′=S+“6”(mod16)=“E”+“6”
(mod16)=“4”、従つてS′+C′+“10”=“4”
+
“D”+“10”=“21”となる。
力Cをビツト位置合わせのために1ビツト左シフ
トしてキヤリC′を求める際、キヤリCの値がキヤ
リ・セーブ加算結果の10進上位桁への伝播キヤリ
を発生しない値であること、即ち、“0”C
“7”、かつ、サムSおよびキヤリC′の値が“1A”
S+C′“1E”なる条件を満足する部分であ
る。D部分では、2進全加算によりSとC′でキヤ
リを2だけ保留しており、その内の1について10
進数演算方式を適用することにより10進上位桁へ
キヤリが伝播するため、これについてはSとC′と
で保留したままとし、他の1についてはSとC′を
2進全加算した場合の結果が“A”〜“E”とい
う2進化10進数表示を越えた表現となるため、こ
れを“10”〜“14”とするための10進桁上げ補正
を行う。D部分に対する10進桁上げ補正は、キヤ
リ・セーブ・アダーのサム出力Sの該10進桁に
(16)10を法とする(6)1 0加算を行い、かつ該10
進桁の上位桁に1加算することにより行う。例え
ば、S=“E”、C=“6”、C′=“D”の場合10進
桁上げ補正後のサムをS′とし、該10進桁の上位桁
へ1加算することを“10”を加算することで表わ
すと、S′=S+“6”(mod16)=“E”+“6”
(mod16)=“4”、従つてS′+C′+“10”=“4”
+
“D”+“10”=“21”となる。
E〜I部分では、キヤリ・セーブ・アダーのキ
ヤリ出力Cの値が“8”C“F”であるた
め、キヤリ出力Cをビツト位置合わせのために1
ビツト左シフトしてキヤリC′を求める際に、該10
進桁の上位桁に明らかなキヤリ伝播が行われる。
即ち、“10”C′“1F”となり、これとサム出
力Sに対して10進演算方式を適用して正しい10進
数を得るため、サム出力Sの該10進桁に(16)10
を法とする6加算を行う。例えば、S=“0”、C
=“8”、C′=“10”の場合、10進桁上げ補正後の
サムをS′とすると、S′=S+“6”(mod16)=
“0”+“6”(mod16)=“6”、従つて、演算は
S′+C′−“6”=“6”+“10”−“6”=“10”と
なる。
ヤリ出力Cの値が“8”C“F”であるた
め、キヤリ出力Cをビツト位置合わせのために1
ビツト左シフトしてキヤリC′を求める際に、該10
進桁の上位桁に明らかなキヤリ伝播が行われる。
即ち、“10”C′“1F”となり、これとサム出
力Sに対して10進演算方式を適用して正しい10進
数を得るため、サム出力Sの該10進桁に(16)10
を法とする6加算を行う。例えば、S=“0”、C
=“8”、C′=“10”の場合、10進桁上げ補正後の
サムをS′とすると、S′=S+“6”(mod16)=
“0”+“6”(mod16)=“6”、従つて、演算は
S′+C′−“6”=“6”+“10”−“6”=“10”と
なる。
E部分は、上記の如くキヤリC′で該10進桁の上
位桁に明らかなキヤリ伝播が生じる即ち、“8”
C“F”で、かつ、サムSおよびキヤリC′の
値が“10”S+C′“19”なる条件を満足する
部分である。E部分では、上記の如きキヤリC′で
の明らかなキヤリ伝播に起因したサム出力Sに対
する10進桁上げ補正、即ち、サムSの該10進桁に
(16)10を法とする(6)10加算を行う。例えば、
S=“4”,C=“A”,C′=“15”の場合、10進桁
上げ補正後のサムS′は、S′=S+“6”(mod16)
=“4”+“6”(mod16)=“A”、従つて、演算は
S′+C′−“6”=“A”+“15”−“6”=“19”と
なる。
位桁に明らかなキヤリ伝播が生じる即ち、“8”
C“F”で、かつ、サムSおよびキヤリC′の
値が“10”S+C′“19”なる条件を満足する
部分である。E部分では、上記の如きキヤリC′で
の明らかなキヤリ伝播に起因したサム出力Sに対
する10進桁上げ補正、即ち、サムSの該10進桁に
(16)10を法とする(6)10加算を行う。例えば、
S=“4”,C=“A”,C′=“15”の場合、10進桁
上げ補正後のサムS′は、S′=S+“6”(mod16)
=“4”+“6”(mod16)=“A”、従つて、演算は
S′+C′−“6”=“A”+“15”−“6”=“19”と
なる。
F部分は、キヤリCで該10進桁の上位桁に明ら
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値が“1A”
S+C′“23”で、かつ、サムSが“0”S
“9”なる条件を満足する部分である。F部分
では、キヤリC′で該10進桁の上位桁へ明らかに伝
播するキヤリが1と、SとC′で保留しているキヤ
リが1だけある。キヤリC′での該10進桁の上位桁
への明らかなキヤリ伝播に対する10進桁上げ補正
は、前記の始くサムSの該10進桁に(16)10を法
とする(6)10加算を行い、SとC′で保留してい
るキヤリについては、上記の如くサムSに対して
キヤリC′での該10進桁の上位桁への明らかなキヤ
リ伝播に対する10進桁上げ補正を行つた後のサム
の値とキヤリC′について10進数演算方式を適用す
れば、該10進桁の上位桁へキヤリが伝播するた
め、これについてはS′とC′とで保留したままとす
る。従つて、F部分に対する10進桁上げ補正は、
キヤリ・セーブ・アダーのサム出力Sの該10進桁
に(16)10を法とする(6)10加算を行う。例え
ば、S=“8”,C=“D”,C′=“1B”の場合、10
進桁上げ補正後のサムS′は、S′=S+“6”
(mod16)=“8”+“6”(mod16)=“E”、従つて
、
演算はS′+C′=“E”+“1B”=“29”となる。
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値が“1A”
S+C′“23”で、かつ、サムSが“0”S
“9”なる条件を満足する部分である。F部分
では、キヤリC′で該10進桁の上位桁へ明らかに伝
播するキヤリが1と、SとC′で保留しているキヤ
リが1だけある。キヤリC′での該10進桁の上位桁
への明らかなキヤリ伝播に対する10進桁上げ補正
は、前記の始くサムSの該10進桁に(16)10を法
とする(6)10加算を行い、SとC′で保留してい
るキヤリについては、上記の如くサムSに対して
キヤリC′での該10進桁の上位桁への明らかなキヤ
リ伝播に対する10進桁上げ補正を行つた後のサム
の値とキヤリC′について10進数演算方式を適用す
れば、該10進桁の上位桁へキヤリが伝播するた
め、これについてはS′とC′とで保留したままとす
る。従つて、F部分に対する10進桁上げ補正は、
キヤリ・セーブ・アダーのサム出力Sの該10進桁
に(16)10を法とする(6)10加算を行う。例え
ば、S=“8”,C=“D”,C′=“1B”の場合、10
進桁上げ補正後のサムS′は、S′=S+“6”
(mod16)=“8”+“6”(mod16)=“E”、従つて
、
演算はS′+C′=“E”+“1B”=“29”となる。
G部分は、キヤリC′を該10進桁の上位桁に明ら
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値が“1A”
S+C′“23”で、かつ、サムSが“A”S
“F”なる条件を満足する部分である。G部分
では、キヤリC′で該10進桁の上位桁へ明らかに伝
播するキヤリ1と、SとC′で保留しているキヤリ
が1だけある。キヤリC′での該10進桁の上位桁へ
の明らかなキヤリ伝播に対する10進桁上げ補正
は、前記の如くサムSの該10進桁に(16)10を法
とする(6)10加算を行い、SとC′で保留してい
るキヤリについては、上記の如くサムSに対して
キヤリC′での該10進桁の上位桁への明らかなキヤ
リ伝播に対する10進桁上げ補正を行つた後のサム
の値とキヤリC′について10進数演算方式を適用し
て正しい10進数値を得るために、上記サムの値に
(16)10を法とする(6)10加算を行い、かつ、該
10進桁の上位桁に1加算することにより行う。従
つて、G部分に対する10進桁上げ補正は、キヤ
リ・セーブ・アダーのサム出力Sの該10進桁に
(16)10を法とする(12)10加算を行い、かつ、該
10進桁の上位桁に1加算を行う。例えば、S=
“B”,C=“8”,C′=“11”の場合、10進桁上げ
補正後のサムをS′とし、該10進桁の上位桁へ1加
算することを“10”を加算することで表わすと、
S′=S+“C”(mod16)=“B”+“C”(mod16)
=
“7”、従つて、演算はS′+C′+“10”−“6”=“
7”
+“11”+“10”−“6”=“22”となる。
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値が“1A”
S+C′“23”で、かつ、サムSが“A”S
“F”なる条件を満足する部分である。G部分
では、キヤリC′で該10進桁の上位桁へ明らかに伝
播するキヤリ1と、SとC′で保留しているキヤリ
が1だけある。キヤリC′での該10進桁の上位桁へ
の明らかなキヤリ伝播に対する10進桁上げ補正
は、前記の如くサムSの該10進桁に(16)10を法
とする(6)10加算を行い、SとC′で保留してい
るキヤリについては、上記の如くサムSに対して
キヤリC′での該10進桁の上位桁への明らかなキヤ
リ伝播に対する10進桁上げ補正を行つた後のサム
の値とキヤリC′について10進数演算方式を適用し
て正しい10進数値を得るために、上記サムの値に
(16)10を法とする(6)10加算を行い、かつ、該
10進桁の上位桁に1加算することにより行う。従
つて、G部分に対する10進桁上げ補正は、キヤ
リ・セーブ・アダーのサム出力Sの該10進桁に
(16)10を法とする(12)10加算を行い、かつ、該
10進桁の上位桁に1加算を行う。例えば、S=
“B”,C=“8”,C′=“11”の場合、10進桁上げ
補正後のサムをS′とし、該10進桁の上位桁へ1加
算することを“10”を加算することで表わすと、
S′=S+“C”(mod16)=“B”+“C”(mod16)
=
“7”、従つて、演算はS′+C′+“10”−“6”=“
7”
+“11”+“10”−“6”=“22”となる。
H部分は、キヤリC′を該10進桁の上位桁に明ら
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値が“24”
S+C′“2D”なる条件を満足する部分である。
H部分では、キヤリC′で該10進桁の上位桁へ明ら
かに伝播するキヤリが1と、SとC′で保留してい
るキヤリ2だけある。キヤリC′での該10進桁の上
位桁への明らかなキヤリ伝播に対する10進桁上げ
補正は、前記の如くサムSの該10進桁に(16)10
を法とする(6)10加算を行い、SとC′で保留し
ている2のキヤリの内、1については、10進数演
算方式を適用することにより10進上位桁へキヤリ
が伝播するため、これについてはSとC′で保留し
たままとし、他の1については、上記サムの値に
(16)10を法とする(6)10加算を行い、かつ、該
10進桁の上位桁に1加算することにより行う。従
つて、H部分に対する10進桁上げ補正は、キヤ
リ・セーブ・アダーのサム出力Sの該10進桁に
(16)10を法とする(12)10加算を行い、かつ、該
10進桁の上位桁に1加算を行う。例えば、S=
“D”,C=“B”,C′=“17”の場合、10進桁上げ
補正後のサムをS′とし、該10進桁の上位桁へ1加
算することを“10”を加算することで表わすと、
S′=S+“C”(mod16)=“D”+“C”(mode16)
=“9”、従つて、演算はS′+C′+“10”=“9”+
“17”+“10”=“30”となる。
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値が“24”
S+C′“2D”なる条件を満足する部分である。
H部分では、キヤリC′で該10進桁の上位桁へ明ら
かに伝播するキヤリが1と、SとC′で保留してい
るキヤリ2だけある。キヤリC′での該10進桁の上
位桁への明らかなキヤリ伝播に対する10進桁上げ
補正は、前記の如くサムSの該10進桁に(16)10
を法とする(6)10加算を行い、SとC′で保留し
ている2のキヤリの内、1については、10進数演
算方式を適用することにより10進上位桁へキヤリ
が伝播するため、これについてはSとC′で保留し
たままとし、他の1については、上記サムの値に
(16)10を法とする(6)10加算を行い、かつ、該
10進桁の上位桁に1加算することにより行う。従
つて、H部分に対する10進桁上げ補正は、キヤ
リ・セーブ・アダーのサム出力Sの該10進桁に
(16)10を法とする(12)10加算を行い、かつ、該
10進桁の上位桁に1加算を行う。例えば、S=
“D”,C=“B”,C′=“17”の場合、10進桁上げ
補正後のサムをS′とし、該10進桁の上位桁へ1加
算することを“10”を加算することで表わすと、
S′=S+“C”(mod16)=“D”+“C”(mode16)
=“9”、従つて、演算はS′+C′+“10”=“9”+
“17”+“10”=“30”となる。
I部分は、キヤリC′を該10進桁の上位桁に明ら
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値がS+C′=
“2E”なる条件を満足する部分である。I部分で
は、キヤリC′で該10進桁の上位桁へ明らかに伝播
するキヤリが1と、SとC′で保留しているキヤリ
が3だけである。キヤリCでの該10進桁の上位桁
への明らかなキヤリ伝播に対する10進桁上げ補正
は、前記の如くサムSの該10進桁に(16)10を法
とする(6)10加算を行い、SとC′で保留してい
る3のキヤリの内、1については、10進数演算方
式を適用することにより10進上位桁へキヤリが伝
播するため、これについてはSとC′で保留したま
まとし、他の2については、上記サムの値に
(16)10を法とする(12)10加算を行い、かつ、該
10進桁の上位桁に2加算を行う。従つて、I部分
に対する10進桁げ補正は、キヤリ・セーブ・アダ
ーのサム出力Sの該10進桁に(16)10を法とする
(18)10加算を行い、かつ、該10進桁の上位桁に2
加算を行う。例えば、S=“F”,C=“F”,C′=
“1F”の場合、10進桁上げ補正後のサムをS′と
し、該10進桁の上位桁へ2加算することを“20”
を加算することで表わすと、S′=S+“12”
(mod16)=“F”+“12”(mod16)=“1”、従つて
、
演算はS′+C′+“20”=“1”+“1F”+“20”=“
40”
となる。
かなキヤリ伝播が生じる即ち、“8”C“F”
で、かつ、サムSおよびキヤリC′の値がS+C′=
“2E”なる条件を満足する部分である。I部分で
は、キヤリC′で該10進桁の上位桁へ明らかに伝播
するキヤリが1と、SとC′で保留しているキヤリ
が3だけである。キヤリCでの該10進桁の上位桁
への明らかなキヤリ伝播に対する10進桁上げ補正
は、前記の如くサムSの該10進桁に(16)10を法
とする(6)10加算を行い、SとC′で保留してい
る3のキヤリの内、1については、10進数演算方
式を適用することにより10進上位桁へキヤリが伝
播するため、これについてはSとC′で保留したま
まとし、他の2については、上記サムの値に
(16)10を法とする(12)10加算を行い、かつ、該
10進桁の上位桁に2加算を行う。従つて、I部分
に対する10進桁げ補正は、キヤリ・セーブ・アダ
ーのサム出力Sの該10進桁に(16)10を法とする
(18)10加算を行い、かつ、該10進桁の上位桁に2
加算を行う。例えば、S=“F”,C=“F”,C′=
“1F”の場合、10進桁上げ補正後のサムをS′と
し、該10進桁の上位桁へ2加算することを“20”
を加算することで表わすと、S′=S+“12”
(mod16)=“F”+“12”(mod16)=“1”、従つて
、
演算はS′+C′+“20”=“1”+“1F”+“20”=“
40”
となる。
上記第7図の加算表のA〜I部分における10進
桁上げ補正をまとめると以下の様になる。
桁上げ補正をまとめると以下の様になる。
A部分はSとC′の組合せが生じない部分であ
る。B部分とC部分では補正は不要である。D部
分では、サムSに(16)10を法とした(6)10加算
を行い、かつ、該10進桁の上位桁へ1加算を行
う。E部分とF部分では、サムSに(16)10を法
とした(6)10加算を行う。G部分とH部分では、
サムSに(16)10を法とした(12)10加算を行い、
かつ、該10進桁の上位桁へ1加算を行う。I部分
では、サムSに(16)10と法とした(18)10加算を
行い、かつ、該10進桁の上位桁へ2加算を行う。
る。B部分とC部分では補正は不要である。D部
分では、サムSに(16)10を法とした(6)10加算
を行い、かつ、該10進桁の上位桁へ1加算を行
う。E部分とF部分では、サムSに(16)10を法
とした(6)10加算を行う。G部分とH部分では、
サムSに(16)10を法とした(12)10加算を行い、
かつ、該10進桁の上位桁へ1加算を行う。I部分
では、サムSに(16)10と法とした(18)10加算を
行い、かつ、該10進桁の上位桁へ2加算を行う。
ところで、I部分およびH部分の1部に含まれ
るSとC′の組合せは生じないことが説明でき、特
にI部分の補正については考慮する必要がない。
又、C部分、D部分、F部分およびH部分に含ま
れるSとC′の組合せに対して上記10進桁上げ補正
を行い、10進数演算方式を適用した場合、補正後
のサムS′とキヤリC′との2進全加算において該10
進桁の上位桁へのキヤリ伝播が生じる。従つて、
C部分およびF部分では上記キヤリ伝播が発生す
ることをあらかじめ検出し、強制的にキヤリ伝播
のための10進桁上げ補正を行つても良い。即ち、
C部分ではサム出力に(16)10を法とした(6)10
加算を行い、かつ該10進桁の上位桁に1加算を行
つても良く、F部分ではサム出力に(16)10を法
とした(12)10加算を行い、かつ該10進桁の上位
桁に1加算を行つても良い。
るSとC′の組合せは生じないことが説明でき、特
にI部分の補正については考慮する必要がない。
又、C部分、D部分、F部分およびH部分に含ま
れるSとC′の組合せに対して上記10進桁上げ補正
を行い、10進数演算方式を適用した場合、補正後
のサムS′とキヤリC′との2進全加算において該10
進桁の上位桁へのキヤリ伝播が生じる。従つて、
C部分およびF部分では上記キヤリ伝播が発生す
ることをあらかじめ検出し、強制的にキヤリ伝播
のための10進桁上げ補正を行つても良い。即ち、
C部分ではサム出力に(16)10を法とした(6)10
加算を行い、かつ該10進桁の上位桁に1加算を行
つても良く、F部分ではサム出力に(16)10を法
とした(12)10加算を行い、かつ該10進桁の上位
桁に1加算を行つても良い。
上記原理に基づいて、第7図の加算表における
A〜I部分におけるサム出力および該10進桁の上
位桁に対する10進桁上げ補正を満足し、キヤリ・
セーブ・アダーを用いた10進ループ加算器を実現
するのに使用する10進桁上げ補正表および該補正
を実現する10進桁上げ補正回路の一実施例を第8
図、第9図および第10図に示す。
A〜I部分におけるサム出力および該10進桁の上
位桁に対する10進桁上げ補正を満足し、キヤリ・
セーブ・アダーを用いた10進ループ加算器を実現
するのに使用する10進桁上げ補正表および該補正
を実現する10進桁上げ補正回路の一実施例を第8
図、第9図および第10図に示す。
第8図はキヤリ・セーブ・アダーのサム出力に
対する10進桁上げ補正表の一例、第9図は該10進
桁の上位桁に対する10進桁上げ補正表の一例であ
る。第8図の表の補正量およびその補正条件は、
(“A”S“F”)・(“4”C“7”)+
(“0”S“3”)・(“8”C“F”)+
(“0”S“9”)・(“8”C“B”)=1
の
とき、サム出力Sに6加算(mod16)の補正を行
い、(“A”S“F”)・(“8”C“F”)
+
(“4”S“F”)・(“C”C“F”)=1
の
とき、サム出力Sに12加算(mod16)の補正を行
い、その他のときは補正を行わない。又、第9図
の表の補正量およびその補正条件は、(“A”S
“F”)・(“4”C“F”)+(“4”S
“F”)・(“C”C“F”)=1のとき、該当10
進桁の上位桁に1加算の補正を行い、その他のと
きは補正を行わない。
対する10進桁上げ補正表の一例、第9図は該10進
桁の上位桁に対する10進桁上げ補正表の一例であ
る。第8図の表の補正量およびその補正条件は、
(“A”S“F”)・(“4”C“7”)+
(“0”S“3”)・(“8”C“F”)+
(“0”S“9”)・(“8”C“B”)=1
の
とき、サム出力Sに6加算(mod16)の補正を行
い、(“A”S“F”)・(“8”C“F”)
+
(“4”S“F”)・(“C”C“F”)=1
の
とき、サム出力Sに12加算(mod16)の補正を行
い、その他のときは補正を行わない。又、第9図
の表の補正量およびその補正条件は、(“A”S
“F”)・(“4”C“F”)+(“4”S
“F”)・(“C”C“F”)=1のとき、該当10
進桁の上位桁に1加算の補正を行い、その他のと
きは補正を行わない。
第10図は、第8図および第9図に示した補正
を満足する10進一桁(4ビツト)毎の10進桁上げ
補正回路を用いた10進キヤリ・セーブ・アダー・
ユニツトの一部を示している。左側の10進一桁巾
の構成単位(10進第(d+1)桁)は右側の構成
単位(10進第d桁)の10進上位桁である。キヤ
リ・セーブ・アダーのサム出力に対する補正は、
10進一桁毎に、キヤリ・セーブ・アダー29のサ
ム出力Sおよびキヤリ出力Cの値を入力とする補
正量判定回路37の判定結果にもとづき、サム出
力補正回路31により、〔{(“A”S“F”)
かつ(“4”C“7”)}もしくは{(“0”
S“3”)かつ(“8”C“F”)}もしくは
{(“0”S“9”)かつ(“8”C
“B”)}〕が成立する場合は、サムSに16を法とす
る6加算した値を補正後のサムS′とし、〔{(“A”
S“F”)かつ(“8”C“F”)}もしく
は{(“4”S“F”)かつ(“C”C
“F”)}〕が成立する場合は、サムSに16を法とす
る12加算した値を補正後のサムS′とし、該2条件
が不成立の場合にはサムSの値そのものを補正後
のサムS′として選択して行う。該10進桁の上位桁
への1加算補正は、次段キヤリ・セーブ・アダー
の10進部分積入力PPに対して行い、サムSおよ
びキヤリCを入力とする上記補正量判定回路37
の判定結果にもとづき、10進上位桁補正回路32
により、〔{(“A”S“F”)かつ(“4”C
“F”)}もしくは{(“4”S“F”)かつ
(“C”C“F”)}〕が成立する場合は、該10
進桁の上位桁次段キヤリ・セーブ・アダーの10進
部分積入力PPに1加算した値を補正後の10進部
分積入力PP′とし、上記条件が不成立の場合に
は、10進部分積入力PPそのものを補正後の10進
部分積入力PP′として選択して行う。キヤリ・セ
ーブ・アダーのキヤリ出力Cは、次段キヤリ・セ
ーブ・アダーもしくは最終積のサムとキヤリを2
進加算する2進フル・アダーへ入力する際には、
ビツト位置合わせのために1ビツト左シフト回路
30により1ビツト左シフトされ、次段キヤリ入
力C′となる。
を満足する10進一桁(4ビツト)毎の10進桁上げ
補正回路を用いた10進キヤリ・セーブ・アダー・
ユニツトの一部を示している。左側の10進一桁巾
の構成単位(10進第(d+1)桁)は右側の構成
単位(10進第d桁)の10進上位桁である。キヤ
リ・セーブ・アダーのサム出力に対する補正は、
10進一桁毎に、キヤリ・セーブ・アダー29のサ
ム出力Sおよびキヤリ出力Cの値を入力とする補
正量判定回路37の判定結果にもとづき、サム出
力補正回路31により、〔{(“A”S“F”)
かつ(“4”C“7”)}もしくは{(“0”
S“3”)かつ(“8”C“F”)}もしくは
{(“0”S“9”)かつ(“8”C
“B”)}〕が成立する場合は、サムSに16を法とす
る6加算した値を補正後のサムS′とし、〔{(“A”
S“F”)かつ(“8”C“F”)}もしく
は{(“4”S“F”)かつ(“C”C
“F”)}〕が成立する場合は、サムSに16を法とす
る12加算した値を補正後のサムS′とし、該2条件
が不成立の場合にはサムSの値そのものを補正後
のサムS′として選択して行う。該10進桁の上位桁
への1加算補正は、次段キヤリ・セーブ・アダー
の10進部分積入力PPに対して行い、サムSおよ
びキヤリCを入力とする上記補正量判定回路37
の判定結果にもとづき、10進上位桁補正回路32
により、〔{(“A”S“F”)かつ(“4”C
“F”)}もしくは{(“4”S“F”)かつ
(“C”C“F”)}〕が成立する場合は、該10
進桁の上位桁次段キヤリ・セーブ・アダーの10進
部分積入力PPに1加算した値を補正後の10進部
分積入力PP′とし、上記条件が不成立の場合に
は、10進部分積入力PPそのものを補正後の10進
部分積入力PP′として選択して行う。キヤリ・セ
ーブ・アダーのキヤリ出力Cは、次段キヤリ・セ
ーブ・アダーもしくは最終積のサムとキヤリを2
進加算する2進フル・アダーへ入力する際には、
ビツト位置合わせのために1ビツト左シフト回路
30により1ビツト左シフトされ、次段キヤリ入
力C′となる。
例えば、S=“0”,C=“8”の場合、サム出
力に対する補正条件のうち{(“0”S“3”)
かつ(“8”C“F”)}が成立するため、補
正後のサムS′にはサムSに16を法とした6加算し
た値を選択し、該10進桁の上位桁の次段キヤリ・
セーブ・アダーの10進部分積PP′には、前記補正
条件が不成立であるため、10進部分積PPの値そ
のものを選択する。即ち、S′=S+“6”
(mod16)=“0”+“6”(mod16)=“6”,C′=
“10”もしくはC′=“11”、上位桁のPP′はPP′=
PPとなる。また、S=“4”,C=“C”の場合、
サム出力に対する補正条件のうち{(“4”S
“F”)かつ(“C”C“F”)}が成立するため、
補正後のサムS′にはサムSに16を法とした12加算
した値を選択し、同様に該10進桁の上位桁に対す
る補正は{(“4”S“F”)かつ(“C”C
“F”)}が成立するため、該10進桁の上位桁の
次段キヤリ・セーブ・アダーの10進部分積入力
PP′には10進部分積入力PPに1加算した値を選択
する。即ち、S=S+“C”(mod16)=“4”+
“C”(mod16)=“0”、C′=“18”もしくはC′=
“19”、上位桁のPP′はPP′=PP+“1”となる。
力に対する補正条件のうち{(“0”S“3”)
かつ(“8”C“F”)}が成立するため、補
正後のサムS′にはサムSに16を法とした6加算し
た値を選択し、該10進桁の上位桁の次段キヤリ・
セーブ・アダーの10進部分積PP′には、前記補正
条件が不成立であるため、10進部分積PPの値そ
のものを選択する。即ち、S′=S+“6”
(mod16)=“0”+“6”(mod16)=“6”,C′=
“10”もしくはC′=“11”、上位桁のPP′はPP′=
PPとなる。また、S=“4”,C=“C”の場合、
サム出力に対する補正条件のうち{(“4”S
“F”)かつ(“C”C“F”)}が成立するため、
補正後のサムS′にはサムSに16を法とした12加算
した値を選択し、同様に該10進桁の上位桁に対す
る補正は{(“4”S“F”)かつ(“C”C
“F”)}が成立するため、該10進桁の上位桁の
次段キヤリ・セーブ・アダーの10進部分積入力
PP′には10進部分積入力PPに1加算した値を選択
する。即ち、S=S+“C”(mod16)=“4”+
“C”(mod16)=“0”、C′=“18”もしくはC′=
“19”、上位桁のPP′はPP′=PP+“1”となる。
第11図、第12図および第13図は、第7図
の加算表のA〜I部分におけるサム出力および該
10進桁の上位桁に対する10進桁上げ補正を満足
し、キヤリ・セーブ・アダーを用いた10進ループ
加算器を実現するのに使用する10進桁上げ補正表
および該補正を実現する10進桁上げ補正回路の他
の実施例である。
の加算表のA〜I部分におけるサム出力および該
10進桁の上位桁に対する10進桁上げ補正を満足
し、キヤリ・セーブ・アダーを用いた10進ループ
加算器を実現するのに使用する10進桁上げ補正表
および該補正を実現する10進桁上げ補正回路の他
の実施例である。
第11図はキヤリ・セーブ・アダーのサム出力
に対する10進桁上げ補正表の他の例である。第1
1図における補正量およびその補正条件は2段階
に分かれる。第1の補正では、(“8”C
“F”)=1のとき、キヤリ・セーブ・アダーのサ
ム出力Sに6加算(mod16)し、その他のときに
は補正せず、このサム出力Sを第1補正した値を
S′とし、キヤリ・セーブ・アダーのキヤリ出力C
を1ビツト左シフトした値をC′とする。第2の補
正では、(“A”S“F”)・(“8”C
“F”)+(“A”S′“F”)・(G′=1)=1
のと
き、S′に6加算し、その他のときには補正しな
い。こゝで、 G′=g′0+P′0・g′1+p′0・p′1・g′2+p′0・p
′1・
p′2・g′3、 g″i=S′i・C′i(i=0〜3)、 p′i=S′j+C′j(j=0〜2) である。S′0〜S′3およびC′0〜C′3はそれぞれ10進
一桁巾のS′およびC′のビツト表現であり、S′0お
よびC′0が最上位ビツトでありS′3およびC′3が最下
位ビツトである。G′はS′とC′を2進全加算した時
にキヤリが発生する条件である。
に対する10進桁上げ補正表の他の例である。第1
1図における補正量およびその補正条件は2段階
に分かれる。第1の補正では、(“8”C
“F”)=1のとき、キヤリ・セーブ・アダーのサ
ム出力Sに6加算(mod16)し、その他のときに
は補正せず、このサム出力Sを第1補正した値を
S′とし、キヤリ・セーブ・アダーのキヤリ出力C
を1ビツト左シフトした値をC′とする。第2の補
正では、(“A”S“F”)・(“8”C
“F”)+(“A”S′“F”)・(G′=1)=1
のと
き、S′に6加算し、その他のときには補正しな
い。こゝで、 G′=g′0+P′0・g′1+p′0・p′1・g′2+p′0・p
′1・
p′2・g′3、 g″i=S′i・C′i(i=0〜3)、 p′i=S′j+C′j(j=0〜2) である。S′0〜S′3およびC′0〜C′3はそれぞれ10進
一桁巾のS′およびC′のビツト表現であり、S′0お
よびC′0が最上位ビツトでありS′3およびC′3が最下
位ビツトである。G′はS′とC′を2進全加算した時
にキヤリが発生する条件である。
第12図は該当10進桁の上位桁に対する10進桁
上げ補正表の他の例である。第12図における補
正量およびその補正条件は、(“A”S
“F”)・(“8”C“F”)+(“A”S′
“F”)・(G′=1)=1のとき、該10進桁の上位桁
に1加算し、その他のときには補正しない。S′、
C′、G′は前記定義と同様である。
上げ補正表の他の例である。第12図における補
正量およびその補正条件は、(“A”S
“F”)・(“8”C“F”)+(“A”S′
“F”)・(G′=1)=1のとき、該10進桁の上位桁
に1加算し、その他のときには補正しない。S′、
C′、G′は前記定義と同様である。
第13図は第11図および第12図に示した補
正を満足する10進一桁(4ビツト)毎の10進桁上
げ補正回路を用いた10進キヤリ・セーブ・アダ
ー・ユニツトの他の実施例の一部を示している。
左側の10進一桁巾の構成単位(10進第(d+1)
桁)は右側の構成単位(10進第d桁)の10進上位
桁である。キヤリ・セーブ・アダーのサム出力に
対する補正は、10進一桁毎に、まずキヤリ・セー
ブ・アダー29のキヤリ出力Cの値を入力とする
第1の補正量判定回路47の判定結果にもとづ
き、第1サム出力補正回路48により、(“8”
C“F”)が成立する場合は、サムSに16を法
とする6加算した値を第1の補正後のサムS′と
し、上記条件が不成立の場合には、サムSの値そ
のものを第1の補正後のサムS′と選択することに
より、第1の補正を完結する。次に、キヤリ・セ
ーブ・アダーのサム出力S、キヤリ出力C、第1
の補正後のサムS′およびシフト回路30による1
ビツト左シフト後のキヤリC′を入力とする第2の
補正量判定回路49の判定結果にもとづき、第2
サム出力補正回路50により、〔{(“A”S
“F”)かつ(“8”C“F”)}もしくは
{(“A”S′“F”)かつ(G′=1)}〕が成立
す
る場合は、第1の補正後のサムS′に16を法とする
6加算した値を第2の補正数のサムS″とし、上
記条件が不成立の場合には第1の補正後のサム
S′の値そのものを第2の補正数のサムS″として選
択する。
正を満足する10進一桁(4ビツト)毎の10進桁上
げ補正回路を用いた10進キヤリ・セーブ・アダ
ー・ユニツトの他の実施例の一部を示している。
左側の10進一桁巾の構成単位(10進第(d+1)
桁)は右側の構成単位(10進第d桁)の10進上位
桁である。キヤリ・セーブ・アダーのサム出力に
対する補正は、10進一桁毎に、まずキヤリ・セー
ブ・アダー29のキヤリ出力Cの値を入力とする
第1の補正量判定回路47の判定結果にもとづ
き、第1サム出力補正回路48により、(“8”
C“F”)が成立する場合は、サムSに16を法
とする6加算した値を第1の補正後のサムS′と
し、上記条件が不成立の場合には、サムSの値そ
のものを第1の補正後のサムS′と選択することに
より、第1の補正を完結する。次に、キヤリ・セ
ーブ・アダーのサム出力S、キヤリ出力C、第1
の補正後のサムS′およびシフト回路30による1
ビツト左シフト後のキヤリC′を入力とする第2の
補正量判定回路49の判定結果にもとづき、第2
サム出力補正回路50により、〔{(“A”S
“F”)かつ(“8”C“F”)}もしくは
{(“A”S′“F”)かつ(G′=1)}〕が成立
す
る場合は、第1の補正後のサムS′に16を法とする
6加算した値を第2の補正数のサムS″とし、上
記条件が不成立の場合には第1の補正後のサム
S′の値そのものを第2の補正数のサムS″として選
択する。
該10進桁の上位桁への1加算補正は、次段キヤ
リ・セーブ・アダーの10進部分積入力ppに対し
て行い、サム出力S、キヤリ出力C、第1の補正
後のサムS′および1ビツト左シフト後のキヤリ
C′を入力とする第2の補正量判定回路49の判定
結果にもとづき、10進上位桁補正回路32によ
り、〔{(“A”S“F”)かつ(“8”C
“F”)}もしくは{(“A”S′“F”)かつ
(G′=1)}〕が成立する場合は、該10進桁の上位
桁の次段キヤリ・セーブ・アダーの10進部分積入
力ppに1加算した値を補正後の10進部分積入力
pp′とし、上記条件が不成立の場合には、10進部
分積入力ppそのものを補正後の10進部分積入力
pp′として選択して行う。
リ・セーブ・アダーの10進部分積入力ppに対し
て行い、サム出力S、キヤリ出力C、第1の補正
後のサムS′および1ビツト左シフト後のキヤリ
C′を入力とする第2の補正量判定回路49の判定
結果にもとづき、10進上位桁補正回路32によ
り、〔{(“A”S“F”)かつ(“8”C
“F”)}もしくは{(“A”S′“F”)かつ
(G′=1)}〕が成立する場合は、該10進桁の上位
桁の次段キヤリ・セーブ・アダーの10進部分積入
力ppに1加算した値を補正後の10進部分積入力
pp′とし、上記条件が不成立の場合には、10進部
分積入力ppそのものを補正後の10進部分積入力
pp′として選択して行う。
例えば、S=“A”、C=“3”の場合、サム出
力Sに対する第1の補正条件(“8”C
“F”)が不成立であるため、第1の補正後のサム
S′=S=“A”、同時にC′=“6”もしくは、C′=
“7”となるため、S′とC′を2進全加算した場合、
該10進桁から上位桁へキヤリが伝播し、(G′=
1)が成立する。従つて、第2の補正条件のうち
{(“A”S′“F”)かつ(G′=1)}が成立す
るため、第2の補正後のサムS″には第1の補正
後のサムS′に16を法とした6加算した値を選択
し、同時に該10進桁の上位桁の次段キヤリ・セー
ブ・アダーの10進部分積pp′には、前記補正条件
のうち{(“A”S′“F”)かつ(G′=1)}が
成立するため、10進部分積入力ppの値に1加算
した値を選択する。即ち、S″=S′+“6”
(mod16)=“A”+“6”(mod16)=“0”、C′=
“6”もしくはC′=“7”、上位桁のpp′は、pp′=
pp+1となる。また、S=“8”、C=“E”の場
合、サム出力に対する第1の補正条件(“8”
C“F”)が成立し、第1の補正後のサムS′は、
S′=S+“6”(mod16)=“8”+“6”(mod16)
=
“E”、同時にC′=“C”もしくはC′=“D”となる
ため、S′とC′を2進全加算した場合、該10進桁か
ら上位桁へキヤリが伝播し、(G′=1)が成立す
る。従つて、第2の補正条件のうち{(“A”
S′“F”)かつ(G′=1)}が成立するため、第
2の補正後のサムS″には第1の補正後のサムS′に
16を法とした6加算した値を選択する。同時に該
10進桁の上位桁の次段キヤリ・セーブ・アダーの
10進部分積入力pp′には、前記補正条件のうち
{(“A”S′“F”)かつ(G′=1)}が成立す
るため、10進部分積入力ppの値に1加算した値
を選択する。即ち、S″=S′+“6”(mod16)=
“E”+“6”(mod16)=“4”、C′=“C”もしく
は
C′=“D”、上位桁のpp′はpp′=pp+1となる。
力Sに対する第1の補正条件(“8”C
“F”)が不成立であるため、第1の補正後のサム
S′=S=“A”、同時にC′=“6”もしくは、C′=
“7”となるため、S′とC′を2進全加算した場合、
該10進桁から上位桁へキヤリが伝播し、(G′=
1)が成立する。従つて、第2の補正条件のうち
{(“A”S′“F”)かつ(G′=1)}が成立す
るため、第2の補正後のサムS″には第1の補正
後のサムS′に16を法とした6加算した値を選択
し、同時に該10進桁の上位桁の次段キヤリ・セー
ブ・アダーの10進部分積pp′には、前記補正条件
のうち{(“A”S′“F”)かつ(G′=1)}が
成立するため、10進部分積入力ppの値に1加算
した値を選択する。即ち、S″=S′+“6”
(mod16)=“A”+“6”(mod16)=“0”、C′=
“6”もしくはC′=“7”、上位桁のpp′は、pp′=
pp+1となる。また、S=“8”、C=“E”の場
合、サム出力に対する第1の補正条件(“8”
C“F”)が成立し、第1の補正後のサムS′は、
S′=S+“6”(mod16)=“8”+“6”(mod16)
=
“E”、同時にC′=“C”もしくはC′=“D”となる
ため、S′とC′を2進全加算した場合、該10進桁か
ら上位桁へキヤリが伝播し、(G′=1)が成立す
る。従つて、第2の補正条件のうち{(“A”
S′“F”)かつ(G′=1)}が成立するため、第
2の補正後のサムS″には第1の補正後のサムS′に
16を法とした6加算した値を選択する。同時に該
10進桁の上位桁の次段キヤリ・セーブ・アダーの
10進部分積入力pp′には、前記補正条件のうち
{(“A”S′“F”)かつ(G′=1)}が成立す
るため、10進部分積入力ppの値に1加算した値
を選択する。即ち、S″=S′+“6”(mod16)=
“E”+“6”(mod16)=“4”、C′=“C”もしく
は
C′=“D”、上位桁のpp′はpp′=pp+1となる。
上記補正演算は第1および第2の補正により、
サムSに16を法とした12加算し、上位桁の10進部
分積入力ppに1加算する補正が行われたことを
示している。これは第11図および第12図のサ
ム出力および10進上位桁への10進桁上げ補正を満
足していると同時に、第7図の加算法におけるA
〜I部分におけるサム出力および該10進桁の上位
桁に対する10進桁上げ補正を満足する補正回路を
キヤリ・セーブ・アダーに付加することにより、
回路構成に依存せずに10進キヤリ・セーブ・アダ
ー・ユニツトを構成できることを示すものであ
る。
サムSに16を法とした12加算し、上位桁の10進部
分積入力ppに1加算する補正が行われたことを
示している。これは第11図および第12図のサ
ム出力および10進上位桁への10進桁上げ補正を満
足していると同時に、第7図の加算法におけるA
〜I部分におけるサム出力および該10進桁の上位
桁に対する10進桁上げ補正を満足する補正回路を
キヤリ・セーブ・アダーに付加することにより、
回路構成に依存せずに10進キヤリ・セーブ・アダ
ー・ユニツトを構成できることを示すものであ
る。
第14図は、第10図に示した10進キヤリ・セ
ーブ・アダーユニツトを用いて構成した10進乗算
装置の一実施例である。第14図において、乗数
レジスタ1に格納されている2進化10進数の乗数
と被乗数レジスタ2に格納されている2進化10進
数の被乗数の乗算は以下の通りである。
ーブ・アダーユニツトを用いて構成した10進乗算
装置の一実施例である。第14図において、乗数
レジスタ1に格納されている2進化10進数の乗数
と被乗数レジスタ2に格納されている2進化10進
数の被乗数の乗算は以下の通りである。
10進部分積演算器46が起動されると、被乗数
レジスタ2に格納されている被乗数と乗数レジス
タ1に格納されている乗数の下位から所定処理巾
分だけ切出して、最初の10進部分積演算が行わ
れ、最初の10進部分積が求められる。ここでは、
一度の10進部分積演算により求められる部分積が
2数DHおよびDLに分割されて、それぞれ部分
積レジスタ16および17に格納される実施例が
示されている。これと同時に、中間積サム・レジ
スタ14および中間積キヤリ・レジスタ15に初
期状態としてゼロが格納され、又、乗数レジスタ
1に格納されている乗数は切出されたデータ巾分
だけシフタ3により右シフトされ、再び乗数レジ
スタ1に格納される。中間積サム・レジスタ14
および中間積キヤリ・レジスタ15に格納されて
いる初期値ゼロと部分積レジスタ16に格納され
ている10進部分積DHが、キヤリ・セーブ・アダ
ー29によりキヤリ保留加算される際、第3図に
示した如き2進加算器を用いて2進化10進数で表
わされた2数を加算し、正しい2進化10進数の和
を求めるための方式の基づき、初期値ゼロが格納
されている中間積サム・レジスタ14の出力に10
進一桁毎に6加算する様に6加算回路28が制御
される。1加算補正回路45は部分積レジスタ1
6の出力をそのままキヤリ・セーブ・アダー29
の入力とする様に制御される。キヤリ・セーブ・
アダー29のサム出力とキヤリ出力の値を入力と
する補正量判定回路37の判定結果により、キヤ
リ・セーブ・アダー29のサム出力および部分積
レジスタ17に格納されている10進部分積DLに
対して、それぞれサム出力補正回路31および10
進上位桁補正回路32で10進一桁毎に10進桁上げ
補正を行う。キヤリ・セーブ・アダーのキヤリ出
力はビツト位置合わせのため1ビツト左シフト回
路30により1ビツト左シフトされる。サム出力
補正回路31により10進桁上げ補正されたサム、
1ビツト左シフト回路30により1ビツト左シフ
トされたキヤリおよび10進上位桁への桁上げ補正
を加えられた10進部分積はキヤリ・セーブ・アダ
ー38でキヤリ保留加算され、結果がサムとキヤ
リの形で得られる。上記サム出力とキヤリ出力の
値を入力とする補正量判定回路41の判定結果に
より、キヤリ・セーブ・アダー38のサム出力に
対してサム出力補正回路40で10進桁上げ補正を
行う。上記補正量判定回路41の判定結果は、判
定結果レジスタ42に格納され、次演算サイクル
においてキヤリ・セーブ・アダー29の10進部分
積DH入力にて、10進上位桁へ1加算する様に1
加算補正回路45を制御する。キヤリ・セーブ・
アダー38のキヤリ出力はビツト位置合わせのた
めの1ビツト左シフト回路39で1ビツト左シフ
トされる。サム出力補正回路40で10進桁上げ補
正されたサムおよび1ビツト左シフト回路39で
1ビツト左シフトされたキヤリは、シフタ33お
よび34により乗数の所定処理データ巾だけ右シ
フトされて、それぞれ中間積サム・レジスタ14
および中間積キヤリ・レジスタ15に格納され
る。サム出力補正回路40の出力および1ビツト
左シフト回路39の出力の下位乗数所定処理巾の
データ、即ち、最終積の最下位乗数所定処理巾の
サムおよびキヤリは、10進スピル・アダー43に
入力され、2進全加算された後、10進一桁毎に、
上位桁にキヤリ伝播した場合は加算結果そのまま
を最終積の10進一桁の値とし、キヤリ伝播しなか
つた場合は6減算補正回路44により加算結果か
ら6減算した値を最終積の10進一桁の値とする6
減算補正が施され、求まつた最終積の最下位乗数
所定処理巾の値が手数レジスタ1の上位乗数所定
処理巾位置に転送格納される。
レジスタ2に格納されている被乗数と乗数レジス
タ1に格納されている乗数の下位から所定処理巾
分だけ切出して、最初の10進部分積演算が行わ
れ、最初の10進部分積が求められる。ここでは、
一度の10進部分積演算により求められる部分積が
2数DHおよびDLに分割されて、それぞれ部分
積レジスタ16および17に格納される実施例が
示されている。これと同時に、中間積サム・レジ
スタ14および中間積キヤリ・レジスタ15に初
期状態としてゼロが格納され、又、乗数レジスタ
1に格納されている乗数は切出されたデータ巾分
だけシフタ3により右シフトされ、再び乗数レジ
スタ1に格納される。中間積サム・レジスタ14
および中間積キヤリ・レジスタ15に格納されて
いる初期値ゼロと部分積レジスタ16に格納され
ている10進部分積DHが、キヤリ・セーブ・アダ
ー29によりキヤリ保留加算される際、第3図に
示した如き2進加算器を用いて2進化10進数で表
わされた2数を加算し、正しい2進化10進数の和
を求めるための方式の基づき、初期値ゼロが格納
されている中間積サム・レジスタ14の出力に10
進一桁毎に6加算する様に6加算回路28が制御
される。1加算補正回路45は部分積レジスタ1
6の出力をそのままキヤリ・セーブ・アダー29
の入力とする様に制御される。キヤリ・セーブ・
アダー29のサム出力とキヤリ出力の値を入力と
する補正量判定回路37の判定結果により、キヤ
リ・セーブ・アダー29のサム出力および部分積
レジスタ17に格納されている10進部分積DLに
対して、それぞれサム出力補正回路31および10
進上位桁補正回路32で10進一桁毎に10進桁上げ
補正を行う。キヤリ・セーブ・アダーのキヤリ出
力はビツト位置合わせのため1ビツト左シフト回
路30により1ビツト左シフトされる。サム出力
補正回路31により10進桁上げ補正されたサム、
1ビツト左シフト回路30により1ビツト左シフ
トされたキヤリおよび10進上位桁への桁上げ補正
を加えられた10進部分積はキヤリ・セーブ・アダ
ー38でキヤリ保留加算され、結果がサムとキヤ
リの形で得られる。上記サム出力とキヤリ出力の
値を入力とする補正量判定回路41の判定結果に
より、キヤリ・セーブ・アダー38のサム出力に
対してサム出力補正回路40で10進桁上げ補正を
行う。上記補正量判定回路41の判定結果は、判
定結果レジスタ42に格納され、次演算サイクル
においてキヤリ・セーブ・アダー29の10進部分
積DH入力にて、10進上位桁へ1加算する様に1
加算補正回路45を制御する。キヤリ・セーブ・
アダー38のキヤリ出力はビツト位置合わせのた
めの1ビツト左シフト回路39で1ビツト左シフ
トされる。サム出力補正回路40で10進桁上げ補
正されたサムおよび1ビツト左シフト回路39で
1ビツト左シフトされたキヤリは、シフタ33お
よび34により乗数の所定処理データ巾だけ右シ
フトされて、それぞれ中間積サム・レジスタ14
および中間積キヤリ・レジスタ15に格納され
る。サム出力補正回路40の出力および1ビツト
左シフト回路39の出力の下位乗数所定処理巾の
データ、即ち、最終積の最下位乗数所定処理巾の
サムおよびキヤリは、10進スピル・アダー43に
入力され、2進全加算された後、10進一桁毎に、
上位桁にキヤリ伝播した場合は加算結果そのまま
を最終積の10進一桁の値とし、キヤリ伝播しなか
つた場合は6減算補正回路44により加算結果か
ら6減算した値を最終積の10進一桁の値とする6
減算補正が施され、求まつた最終積の最下位乗数
所定処理巾の値が手数レジスタ1の上位乗数所定
処理巾位置に転送格納される。
以下同様の処理を乗数の有効桁すべてについて
繰返し、乗数有効桁巾の最終積の下位部分が乗数
レジスタ1に左詰めに求まり、最終積の上位部分
が最終の乗数有効桁についての演算サイクルでキ
ヤリ・セーブ・アダー38のサム出力およびキヤ
リ出力に求まる。この10進一桁毎のサム出力とキ
ヤリ出力の値の組合せによつては、前記第7図の
加算表において示した如く、該10進桁の上位桁へ
の1加算補正を必要とする場合がある。したがつ
て、上記の如く乗数の有効桁すべてについて処理
を繰返した後、さらに乗数の有効桁の上位のゼロ
を用いて1演算サイクルだけ上記演算処理を繰返
すことにより、該10進桁の上位桁への1加算補正
が完結される。上記の如くして求まつた最終積の
サムとキヤリ、即ち、サム出力補正回路40の出
力と1ビツト左シフト回路39の出力を2進フ
ル・アダー35で2進全加算した後、10進一桁毎
に、上位桁にキヤリ伝播した場合は加算結果その
ままを最終積の10進一桁の値とし、キヤリ伝播し
なかつた場合は6減算補正回路36により加算結
果から6減算した値を最終積の10進一桁の値とす
る6減算補正が施される。求まつた最終積の上位
部分の値は被乗数レジスタ2に転送格納される。
繰返し、乗数有効桁巾の最終積の下位部分が乗数
レジスタ1に左詰めに求まり、最終積の上位部分
が最終の乗数有効桁についての演算サイクルでキ
ヤリ・セーブ・アダー38のサム出力およびキヤ
リ出力に求まる。この10進一桁毎のサム出力とキ
ヤリ出力の値の組合せによつては、前記第7図の
加算表において示した如く、該10進桁の上位桁へ
の1加算補正を必要とする場合がある。したがつ
て、上記の如く乗数の有効桁すべてについて処理
を繰返した後、さらに乗数の有効桁の上位のゼロ
を用いて1演算サイクルだけ上記演算処理を繰返
すことにより、該10進桁の上位桁への1加算補正
が完結される。上記の如くして求まつた最終積の
サムとキヤリ、即ち、サム出力補正回路40の出
力と1ビツト左シフト回路39の出力を2進フ
ル・アダー35で2進全加算した後、10進一桁毎
に、上位桁にキヤリ伝播した場合は加算結果その
ままを最終積の10進一桁の値とし、キヤリ伝播し
なかつた場合は6減算補正回路36により加算結
果から6減算した値を最終積の10進一桁の値とす
る6減算補正が施される。求まつた最終積の上位
部分の値は被乗数レジスタ2に転送格納される。
以上の様にして、2進化10進数の乗数と同じく
2進化10進数の被乗数を、キヤリ・セーブ・アダ
ーと10進桁上げ補正回路からなる10進キヤリ・セ
ーブ・アダー・ユニツトを用いて構成した10進乗
算装置により10進乗算して2進化10進数の積を求
めることができる。
2進化10進数の被乗数を、キヤリ・セーブ・アダ
ーと10進桁上げ補正回路からなる10進キヤリ・セ
ーブ・アダー・ユニツトを用いて構成した10進乗
算装置により10進乗算して2進化10進数の積を求
めることができる。
第15図は、第13図に示した10進キヤリ・セ
ーブ・アダー・ユニツトを用いて構成した10進ル
ープ・アダーの部分を示している。該10進ルー
プ・アダーを用いても、第14図に示したと同様
の処理を行うことにより、2進化10進数の乗数と
2進化10進数の被乗数を10進乗算して2進化10進
数の積を求めることができる。全体の動作は第1
4図と同様であるので、説明は省略する。
ーブ・アダー・ユニツトを用いて構成した10進ル
ープ・アダーの部分を示している。該10進ルー
プ・アダーを用いても、第14図に示したと同様
の処理を行うことにより、2進化10進数の乗数と
2進化10進数の被乗数を10進乗算して2進化10進
数の積を求めることができる。全体の動作は第1
4図と同様であるので、説明は省略する。
以上の本発明実施例の10進乗算装置では、第1
4図において示した如く、10進ループ・アダーで
サムとキヤリの形で求まつた最終積をそのまま2
進フル・アダーで加算した後、10進一桁毎に上位
桁にキヤリを伝播したか否かにより6減算補正を
行い、正しい2進化10進数の積が求まる様に、乗
数の有効桁すべてについて演算処理を繰返した後
にさらに乗数の有効桁の上位のゼロを用いて1サ
イクルだけ演算を繰返すことにより、上位桁への
1加算補正が完結する様に制御されている。
4図において示した如く、10進ループ・アダーで
サムとキヤリの形で求まつた最終積をそのまま2
進フル・アダーで加算した後、10進一桁毎に上位
桁にキヤリを伝播したか否かにより6減算補正を
行い、正しい2進化10進数の積が求まる様に、乗
数の有効桁すべてについて演算処理を繰返した後
にさらに乗数の有効桁の上位のゼロを用いて1サ
イクルだけ演算を繰返すことにより、上位桁への
1加算補正が完結する様に制御されている。
第16図は本発明の10進乗算装置の他の実施例
を示したもので、上記の目的で乗算の有効桁の上
位のゼロを用いて行う最終演算サイクルを不要と
するために、最終積のサムおよびキヤリの他に10
進一桁毎に1加算補正回路55の出力を3入力構
成の2進フル・アダー54に入力し、10進一桁毎
に、乗数の最上位有効桁についての演算の結果、
該10進桁の上位桁への1加算補正が必要な場合
は、3入力2進フル・アダー54にて上位桁への
1加算補正を完結させたものである。
を示したもので、上記の目的で乗算の有効桁の上
位のゼロを用いて行う最終演算サイクルを不要と
するために、最終積のサムおよびキヤリの他に10
進一桁毎に1加算補正回路55の出力を3入力構
成の2進フル・アダー54に入力し、10進一桁毎
に、乗数の最上位有効桁についての演算の結果、
該10進桁の上位桁への1加算補正が必要な場合
は、3入力2進フル・アダー54にて上位桁への
1加算補正を完結させたものである。
以上説明した如く、本発明によれば、2進乗算
を高速に行うのに用いられるキヤリ・セーブ・ア
ダーに比較的少ないハードウエア量で実現できる
10進桁上げ補正回路を付加することにより10進キ
ヤリ・セーブ・アダー・ユニツトを構成し、これ
を用いて10進乗算装置の10進ループ・アダーを構
成することにより、10進乗算ループ・アダーが2
進乗算ループ・アダーと同等の性能で動作できる
という効果がある。具体的には、従来の10進乗算
装置に比べ、ループ性能で約4倍の高速化が達成
できる。
を高速に行うのに用いられるキヤリ・セーブ・ア
ダーに比較的少ないハードウエア量で実現できる
10進桁上げ補正回路を付加することにより10進キ
ヤリ・セーブ・アダー・ユニツトを構成し、これ
を用いて10進乗算装置の10進ループ・アダーを構
成することにより、10進乗算ループ・アダーが2
進乗算ループ・アダーと同等の性能で動作できる
という効果がある。具体的には、従来の10進乗算
装置に比べ、ループ性能で約4倍の高速化が達成
できる。
また、本発明の10進乗算装置は、2進のキヤ
リ・セーブ・アダー・を基本とし10進桁上げ補正
回路を付加して実現しているため、本発明の装置
のループ・アダーをわずかな制御の変更により、
そのまま2進乗算と10進乗算で共用できるという
効果もある。
リ・セーブ・アダー・を基本とし10進桁上げ補正
回路を付加して実現しているため、本発明の装置
のループ・アダーをわずかな制御の変更により、
そのまま2進乗算と10進乗算で共用できるという
効果もある。
第1図は被乗数に対して乗数を乗算する処理を
説明する説明図、第2図は従来の10進乗算装置の
構成図、第3図は10進アダーの構成図、第4図は
第3図の動作説明図、第5図はキヤリ・セーブ・
アダーから構成される高速2進乗算装置の構成
図、第6図は本発明の10進乗算装置の動作概念
図、第7図は本発明の10進桁上げ補正を説明する
加算表の図、第8図はキヤリ・セーブ・アダーの
サム出力に対する10進桁上げ補正表の一例を示す
図、第9図は10進上位桁に対する10進桁上げ補正
表の一例を示す図、第10図は本発明で用いるキ
ヤリ・セーブ・アダーと10進桁上げ補正回路から
成る10進キヤリ・セーブ・アダー・ユニツトの一
実施例を示す図、第11図はキヤリ・セーブ・ア
ダーのサム出力に対する10進桁上げ補正表の他の
例を示す図、第12図は10進上位桁に対する10進
桁上げ補正表の他の例を示す図、第13図はキヤ
リ・セーブ・アダーと10進桁上げ補正回路から成
る10進キヤリ・セーブ・アダー・ユニツトの他の
実施例を示す図、第14図は第10図の10進キヤ
リ・セーブ・アダー・ユニツトから構成される本
発明の10進乗算装置の全体構成図、第15図は第
13図の10進キヤリ・セーブ・アダー・ユニツト
から構成される本発明の10進乗算装置の10進ルー
プ・アダー部の構成図、第16図は本発明の10進
乗算装置の他の実施例の構成図である。 1……乗数レジスタ、2……被乗数レジスタ、
3……シフタ、14……中間積サム・レジスタ、
15……中間積キヤリ・レジスタ、16,17…
…部分積レジスタ、28……6加算補正回路、2
9,38……キヤリ・セーブ・アダー、30,3
9……1ビツト左シフト回路、31,40……サ
ム出力補正回路、32,45……10進上位桁補正
回路、33,34……シフタ、35,54……フ
ル・アダー、36,44……6減算補正回路、3
7,41……補正量判定回路、42……補正量判
定結果レジスタ、43……10進スピル・アダー、
46……10進部分積演算器、47,51……第1
補正量判定回路、48,52……第1サム出力補
正回路、49,53……第2補正量判定回路、5
0……第2サム出力補正回路。
説明する説明図、第2図は従来の10進乗算装置の
構成図、第3図は10進アダーの構成図、第4図は
第3図の動作説明図、第5図はキヤリ・セーブ・
アダーから構成される高速2進乗算装置の構成
図、第6図は本発明の10進乗算装置の動作概念
図、第7図は本発明の10進桁上げ補正を説明する
加算表の図、第8図はキヤリ・セーブ・アダーの
サム出力に対する10進桁上げ補正表の一例を示す
図、第9図は10進上位桁に対する10進桁上げ補正
表の一例を示す図、第10図は本発明で用いるキ
ヤリ・セーブ・アダーと10進桁上げ補正回路から
成る10進キヤリ・セーブ・アダー・ユニツトの一
実施例を示す図、第11図はキヤリ・セーブ・ア
ダーのサム出力に対する10進桁上げ補正表の他の
例を示す図、第12図は10進上位桁に対する10進
桁上げ補正表の他の例を示す図、第13図はキヤ
リ・セーブ・アダーと10進桁上げ補正回路から成
る10進キヤリ・セーブ・アダー・ユニツトの他の
実施例を示す図、第14図は第10図の10進キヤ
リ・セーブ・アダー・ユニツトから構成される本
発明の10進乗算装置の全体構成図、第15図は第
13図の10進キヤリ・セーブ・アダー・ユニツト
から構成される本発明の10進乗算装置の10進ルー
プ・アダー部の構成図、第16図は本発明の10進
乗算装置の他の実施例の構成図である。 1……乗数レジスタ、2……被乗数レジスタ、
3……シフタ、14……中間積サム・レジスタ、
15……中間積キヤリ・レジスタ、16,17…
…部分積レジスタ、28……6加算補正回路、2
9,38……キヤリ・セーブ・アダー、30,3
9……1ビツト左シフト回路、31,40……サ
ム出力補正回路、32,45……10進上位桁補正
回路、33,34……シフタ、35,54……フ
ル・アダー、36,44……6減算補正回路、3
7,41……補正量判定回路、42……補正量判
定結果レジスタ、43……10進スピル・アダー、
46……10進部分積演算器、47,51……第1
補正量判定回路、48,52……第1サム出力補
正回路、49,53……第2補正量判定回路、5
0……第2サム出力補正回路。
Claims (1)
- 【特許請求の範囲】 1 2進化10進数の被乗数に対して同じく2進化
10進数の乗数を乗算するに当たり、上記被乗数に
対し所定処理巾の乗数を乗算して求めた最初の部
分積の10進1桁毎あるいは初期状態の中間積の10
進1桁毎に6加算して演算を始め、上記被乗数に
対し乗数を所定処理巾毎に乗算して求めた部分積
と当該所定処理巾乗算以前にサムとキヤリの形で
得られている前中間積の加算を、ループ・アダー
により乗数の有効桁について繰り返し行つた後、
最終積のサムとキヤリを2進フル・アダーを用い
て加算し、その結果10進1桁毎にキヤリを生じた
場合には該値を最終積の10進1桁の値とし、キヤ
リを生じなかつた場合には該値から6を減ずるこ
とにより最終積の10進1桁の値とする10進乗算装
置において、上記サムとキヤリの形で表わされて
いる中間積と10進部分積とを入力して、当該所定
処理巾乗算までの中間積をサムとキヤリの形で求
めておくキヤリ・セーブ・アダーと、該キヤリ・
セーブ・アダーの10進1桁毎のサム出力およびキ
ヤリ出力の値から、これらを全加算して10進1桁
毎のキヤリ発生の有無により、6減算補正した時
に正しい2進化10進数の中間積あるいは最終積が
得られるためのサム出力補正および上位桁への桁
上げ補正の要否を判定する判定回路と、該判定回
路の判定結果により上記サム出力を補正するサム
出力補正回路および次段上位桁の10進部分積入力
を補正する桁上げ補正回路とにより10進キヤリ・
セーブ・アダー・ユニツトを構成し、該10進キヤ
リ・セーブ・アダー・ユニツトを単数個あるいは
複数個組合わせて10進ループ・アダーを構成した
ことを特徴とする10進乗算装置。 2 前記10進キヤリ・セーブ・アダー・ユニツト
の判定回路と補正回路部分は、キヤリ・セーブ・
アダーの10進1桁巾のサム出力およびキヤリ出力
を入力とするデータ判定回路を備えると共に、該
キヤリ・セーブ・アダーの10進1桁巾のサム出力
に16を法とする6加算回路および16を法とする12
加算回路と、上記判定回路の判定結果に基づいて
上記キヤリ・セーブ・アダーの10進1桁巾のサム
出力そのものあるいは上記6加算回路出力あるい
は上記12加算回路出力のいずれかを選択する第1
の選択回路と、次段キヤリ・セーブ・アダーの10
進1桁巾の10進部分積入力に設けた1加算回路
と、上記判定回路の判定結果に基づいて10進部分
積そのものあるいは上記1加算回路出力のいずれ
かを選択する第2の選択回路とを有することを特
徴とする特許請求の範囲第1項記載の10進乗算装
置。 3 前記10進キヤリ・セーブ・アダー・ユニツト
の判定回路と補正回路部分は、キヤリ・セーブ・
アダーの10進1桁巾のキヤリ出力を入力とする第
1のデータ判定回路と、キヤリ・セーブ・アダー
の10進1桁巾のサム出力に16を法とする第1の6
加算回路と、該第1の判定回路の判定結果に基づ
いて上記キヤリ・セーブ・アダーの10進1桁巾の
サム出力そのものあるいは上記第1の6加算回路
出力のいずれかを選択する第1の選択回路と、上
記キヤリ・セーブ・アダーの10進1桁巾のサム出
力およびキヤリ出力と上記第1の選択回路出力と
上記キヤリ・セーブ・アダーのキヤリ出力を1ビ
ツト左シフトした出力を入力とする第2のデータ
判定回路と、上記第1の選択回路出力に16を法と
する第2の6加算回路と該第2の判定回路の判定
結果に基づいて上記第1の選択回路出力そのもの
あるいは第2の6加算回路出力のいずれかを選択
する第2の選択回路と、次段キヤリ・セーブ・ア
ダーの10進1桁巾の10進部分積入力に設けた1加
算回路と、上記第2の判定回路の判定結果に基づ
いて10進部分積そのものあるいは上記1加算回路
出力のいずれかを選択する第3の選択回路とを有
することを特徴とする特許請求の範囲第1項記載
の10進乗算装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58119556A JPS6011927A (ja) | 1983-07-01 | 1983-07-01 | 10進乗算装置 |
US06/625,131 US4677583A (en) | 1983-07-01 | 1984-06-27 | Apparatus for decimal multiplication |
DE19843424078 DE3424078A1 (de) | 1983-07-01 | 1984-06-29 | Dezimalmultiplikations-einrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58119556A JPS6011927A (ja) | 1983-07-01 | 1983-07-01 | 10進乗算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6011927A JPS6011927A (ja) | 1985-01-22 |
JPH0234054B2 true JPH0234054B2 (ja) | 1990-08-01 |
Family
ID=14764235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58119556A Granted JPS6011927A (ja) | 1983-07-01 | 1983-07-01 | 10進乗算装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US4677583A (ja) |
JP (1) | JPS6011927A (ja) |
DE (1) | DE3424078A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS60140429A (ja) * | 1983-12-28 | 1985-07-25 | Hitachi Ltd | 10進乗算装置 |
US4947364A (en) * | 1985-10-23 | 1990-08-07 | Hewlett-Packard Company | Method in a computing system for performing a multiplication |
DE3608914A1 (de) * | 1986-03-18 | 1987-10-01 | Thomson Brandt Gmbh | Verfahren zur korrektur |
JPH0769784B2 (ja) * | 1987-09-29 | 1995-07-31 | 日本電気株式会社 | 10進加算装置 |
US7546328B2 (en) * | 2004-08-31 | 2009-06-09 | Wisconsin Alumni Research Foundation | Decimal floating-point adder |
US7743084B2 (en) * | 2004-09-23 | 2010-06-22 | Wisconsin Alumni Research Foundation | Processing unit having multioperand decimal addition |
US7475104B2 (en) * | 2005-02-09 | 2009-01-06 | International Business Machines Corporation | System and method for providing a double adder for decimal floating point operations |
US7519647B2 (en) | 2005-02-09 | 2009-04-14 | International Business Machines Corporation | System and method for providing a decimal multiply algorithm using a double adder |
US8577952B2 (en) * | 2008-12-08 | 2013-11-05 | International Business Machines Corporation | Combined binary/decimal fixed-point multiplier and method |
US8566385B2 (en) * | 2009-12-02 | 2013-10-22 | International Business Machines Corporation | Decimal floating point multiplier and design structure |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57172446A (en) * | 1980-12-24 | 1982-10-23 | Honeywell Inf Systems | Information processor using unit digit carrying device and ten digit carrying device supporting decimal multiplication |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1196298A (en) * | 1966-10-04 | 1970-06-24 | Zentralen Inst Istchislitelna | Electric Circuit for Performing the Operation 'Multiplication', Especially in Electronic Calculators |
US3958112A (en) * | 1975-05-09 | 1976-05-18 | Honeywell Information Systems, Inc. | Current mode binary/bcd arithmetic array |
DE2952229A1 (de) * | 1979-01-03 | 1980-07-17 | Honeywell Inf Systems | Verfahren und einrichtung zur multiplikation von dezimalzahlen in einer dv-anlage |
JPS58129653A (ja) * | 1982-01-29 | 1983-08-02 | Hitachi Ltd | 乗算方式 |
-
1983
- 1983-07-01 JP JP58119556A patent/JPS6011927A/ja active Granted
-
1984
- 1984-06-27 US US06/625,131 patent/US4677583A/en not_active Expired - Fee Related
- 1984-06-29 DE DE19843424078 patent/DE3424078A1/de active Granted
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS57172446A (en) * | 1980-12-24 | 1982-10-23 | Honeywell Inf Systems | Information processor using unit digit carrying device and ten digit carrying device supporting decimal multiplication |
Also Published As
Publication number | Publication date |
---|---|
DE3424078C2 (ja) | 1989-06-29 |
US4677583A (en) | 1987-06-30 |
DE3424078A1 (de) | 1985-01-10 |
JPS6011927A (ja) | 1985-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0890899B1 (en) | Multiplication method and apparatus | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
JPH0234054B2 (ja) | ||
US5177703A (en) | Division circuit using higher radices | |
JPH0317132B2 (ja) | ||
JP3660075B2 (ja) | 除算装置 | |
JPH05158659A (ja) | 乗算器 | |
JPH05197525A (ja) | オペランドを否定するための否定方法及び否定回路 | |
JPS6226723B2 (ja) | ||
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
JPH0368415B2 (ja) | ||
JP2777265B2 (ja) | 高基数開平演算装置 | |
JPS6259828B2 (ja) | ||
JP3231298B2 (ja) | 乗算装置 | |
JP3851024B2 (ja) | 乗算器 | |
JP2803442B2 (ja) | 開平装置 | |
KR100386979B1 (ko) | 갈로아체상에서 비트 직렬 승산기의 병렬화 방법 및 이를이용한 직병렬 승산기 | |
KR0153759B1 (ko) | 고속 승산-누산회로 | |
JP2812365B2 (ja) | 乗算回路 | |
JP2995721B2 (ja) | 除算装置および除算方法 | |
JPH07160480A (ja) | 10進除算器 | |
JPS63182738A (ja) | 乗算回路 | |
JPS5958542A (ja) | 乗算回路 | |
JPH1185471A (ja) | 演算方法および演算装置 | |
JPS5957342A (ja) | 10進加算装置 |