JPS6011927A - 10進乗算装置 - Google Patents

10進乗算装置

Info

Publication number
JPS6011927A
JPS6011927A JP58119556A JP11955683A JPS6011927A JP S6011927 A JPS6011927 A JP S6011927A JP 58119556 A JP58119556 A JP 58119556A JP 11955683 A JP11955683 A JP 11955683A JP S6011927 A JPS6011927 A JP S6011927A
Authority
JP
Japan
Prior art keywords
carry
decimal
digit
output
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP58119556A
Other languages
English (en)
Other versions
JPH0234054B2 (ja
Inventor
Toru Otsuki
大築 徹
Yoshio Oshima
大島 喜男
Suketaka Ishikawa
石川 佐孝
Hideaki Yabe
矢部 英明
Masaharu Fukuda
福田 雅晴
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 JP58119556A priority Critical patent/JPS6011927A/ja
Priority to US06/625,131 priority patent/US4677583A/en
Priority to DE19843424078 priority patent/DE3424078A1/de
Publication of JPS6011927A publication Critical patent/JPS6011927A/ja
Publication of JPH0234054B2 publication Critical patent/JPH0234054B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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.
    • G06F7/4915Multiplying; 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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明はループ・アダーによりh分オλと中間積の加算
を行う1o進乗算装置に係り、釉にループ・アダーにキ
ャリ・セーブ・アダーを用いることによりループ加算を
高速化した10進乗算製置に関するものである。
〔発明の背景〕
一般に、2進化10進数で表わされる被乗数に同じく2
進化10進数で表わされる乗数を乗算して2進化IO進
数で表わされる最終積をめる場合、第1図に示す様に、
乗数の所定処理rlJ毎に被乗数に乗詩、を行ってル個
の部分47fをめ、これらの部分8t1〜rLを加算し
て最終積を得る方式が用いられる。
第1図の如き演算を行5 Io進乗算装置の従来のオd
成例を第2図に示す、、第2図において、例えば乗数レ
ジスタ1に格納されている乗数と被乗数レジスタ2に格
納されている被乗数の乗算は、以下の通りである。10
進部分積演算器4が起動されると、被乗数レジスタ2に
格納されている被乗数と乗数レジスタlK格納されてい
る乗数の下位から所定処理tij分だけ切出し、最初の
10進部分積演算が行われ、この最初のlO進部分積が
部分積レジスタ6に格納される。これと同時に中間積レ
ジスタ5に初期状態としてゼロが格納され、さらに乗数
レジスタlに格納されている乗数は、切出されたデータ
申分だけシフタ3により右シフトされて11)び乗数し
・シフタ1に格納される1、V(に中間4J□(レジス
タ5に格納されている初期値ゼロとtXl1分植レジス
し6に格納されているj1ン初の102ij曹)1>分
4Wが10 、if;ユルーブ・アダー7で加3゛ψ、
さtL、lド初の用進中間f?iが中間積レジスタ5に
転送格納される。このFJ(,10進ループ・アダー7
の出方は、シフタ8((より乗数の所定処Jjl 11
3分たけ右シフトされて中間4jtレジスタ5に格納さ
れる。同時に、1(ノ進ノI・−グ・アダー7からの出
方の下位乗数所定処i!lj巾のデータ、即ち10進最
終積の最下位乗数所定処理IJの1ffHま乗数レジス
タJの上位乗数所定処理中位置に転送格納される。以下
同様の処理を乗数の有効桁すべてについて繰返すことに
より、乗数有効桁11J分の1゜進最終積の下位部分が
乗数レジスタlに左詰めにまり、用進最終積の上位部分
が最終演訂ザイクルで10進ループ・アダー7の出力と
じてまった後、被乗数レジスタ2に転送格納される。
以上の様にして、2進化10進数で表わされる被乗数と
同じ(2進化io進数で表わされる乗数を乗算して、2
進化lO進数で表わされる積をめることができるが、上
記10進乗算を高速化する一手段として、lO進ループ
・アダー7の高速化がある。
io進ループ・アダーは一般に第3図に示す如き構成を
とり、その動作は以下の通りである。加算に先立ち、ま
ず入力Aが6加算回路91 + 9t+’・・・により
2進化10進数−桁(2は任詠桁を表わしている)毎に
6加算され(A買このA′と他の入力Bが2進アダー1
(+7 、10z+、・・・により2進加算される(R
)。
この2進加算の際、2進化10進数−桁からキャリが生
じなかった場合(第1ケースと称す)、Rから6減算回
路114 、llj+1・・・により2進化10進数−
桁毎に6減算され、キャリが生じた場合(第2ケースと
称す)、Rの値そのものを10進ループ・アダーの出力
(R′)とする様に6減算補正回路14 + 12t 
+ 1が制御される。第4図(a)に上記第1ケースの
例を示し、第4図(b)に上記第2ケースの例を示す。
以上の様にして、2つの2進化10進数を入力して2進
加算・し、2進化10進数の相をめることができるが、
2進加算の際、最下位ビットから最上位ビットまでキャ
リが仏前するのな待って次の演算サイク、ルを開始しl
Iければならず、方式的に高速化に限界がある。
一方、2進乗算装置におけるループ・アダーを高速化す
る加算方式として、第5図に示す如き構成がある。これ
は、乗算の途中で生1゛るキャリはそのまま保留し、乗
数の有効桁すべてについての加算が終了してから最後に
キャリ伝播処理を行う算は以下の通りである。2進部分
槓演7E器13が起動されると、被乗数レジスタ2に格
納されている被乗数と乗数レジスタ1に格納されている
乗数の下位から所定処理申分だけ切出し、最初の2進部
分積演算が行われ、最初の部分積が部分積レジスタ16
 、17に格納される。一般[2進部分績演算器13に
もキャリ・セーブ・アダーが用いられ、第5図では部分
積もサム(部分和)と保留キャリの形でそれぞれ部分積
サム・レジスタ16および部分積キャリ・レジスタ17
に格納される。これと同時罠中間積サム・レジスタ14
および中間積キャリ・レジスタ15に初期状態としてゼ
ロが格納され、乗数レジスタ1に格納され゛〔いる乗数
は、必要な1Jのデータが切出されるとシック3罠より
処理データrlj分だけ右シフトされて再び乗数レジス
タ1に格納される。中間積サム・レジスタ14および中
間積キャリ・レジスタ15に格納されている初期値ゼロ
と部分積サム・レジスタ16と部分積キャリ・レジスタ
17に格納されている最初の中間積が、乙の破線ブロッ
クで示す2段のキャリ・セーブ・アダー18および21
でキャリ保留加算され、最初の中間積のサムとキャリが
それぞれ中間積サム・レジスタ14および中間績キャリ
・レジスタ15に転送格納される。この時、キャリ・セ
ーブ・アダーのキャリ出力が次段のアダーに転送される
場合には桁合せのために1ビツト左シフト回路19 、
20および四により1ピ°゛ツi左シフトされる。又、
キャリ・セーブ・アダー21のす人出力およθ1ビット
左シフト回路22の出力は、シフタ冴およびbにより乗
数のD[定処理データrf」だけ右シフトさIして、そ
れぞれ中間積サム・レジスタ14および中間積キャリ・
レジスタ15に格納される。キャリ・セーブ・アク−2
1のサム出力および1ビツト左シフト回路22出力の下
位乗数所定処理11」のデータ、jjllち最終積の1
11下位乗数Pj1定処理1〕のサムおよびキャリはス
ピル・アダーかに入力され2進加n、される。スピル・
アダー26の出力、即ち最終積の最下位帳数Far定処
理11Jの値は乗数レジスタ1の上位乗数Rr定処理r
1位置に転送格納される。
以下同様の処理を乗数の有効桁ずべてについて繰返し、
乗数有効桁rlJの最終積の下位部分が乗数レジスタ1
に左詰めにまり、最終積の上位部りが最終演算サイクル
でキャリ・セーブ・アダー21のす人出力およびキャリ
・セーブ・アダー7.1の・\。
ヤリ出力を左1ピツトシフトした1ビツト左シフト回路
Uの出力に、それぞれサムどキャリの形でまる。最終績
の上位部分のサムとキャリはフル・アダー27に入力さ
れ2進加算される。フル・アダー27の出力、即ち最終
積の上位部分の値は被乗数レジスタ2に転送格納される
以上の様にして、2進数の乗数と同じ(2進数の被乗数
を乗算して2進数の積をめること力tできる。この際、
第5図に示す如くキャリ・セーフ゛・アダー18および
21が1段ないしは2段のゲート段数で構成可能1よこ
と、さらに加算の中途でアダーの最下位ビットから最上
位ビットへのキャリ伝播完了を待つ必要がないことから
、品速なルーフ。
・アダーが構成できる。しかし、2進数と異なり2進化
工IJ進数は1桁を表示するのに4ピツト巾を使用する
が、数値としてはOかも9までのみを取り扱うため、演
算の結果、io進法表現を越える2進値(1010)2
〜(1111)2がサム出力およびキャリ出力に現れる
2進数用キヤリ・セーブ・アダーをそのまま10進乗算
に適用することはできない゛とt15欠点力纂ある。
〔発明の目的〕
本発明の目的は、lO進乗′R,を部分積演算と演算し
た部分積と中間積のループ加算(繰返し加算)で行う際
、ループアダーとしてキャリ・セーブ・アダーを用いて
lO進ルーズ加計、をit5速に行うことが可能な10
進来算装置を提供することにある。
〔発明の概要〕
本発明のlO′a乗算装置の特徴とするどころは、2進
化lO進数の被乗数と同じ(2進化10進数の31と数
を乗算するのに被乗数に苅しJり1定処理113毎の乗
数を演算して2進化10進数の部分積をめ、初朗状態の
中間積の10進1桁毎あるいは最初の部分積の10進1
桁毎に6加算して演算を始め、被乗数に対し乗数を所定
処理中毎に乗算してめた部分積とそれ以前にサムとキャ
リの形で14)られている中間積を、キャリ、セーブ、
アダーを用いて加睨、して当該所定処理中乗算までの中
間績をサムとキャリの形でめておき、乗数の有効桁すべ
ての447を該演算サイクルを繰返すことにより行った
のし最終積のサムとキャリな2進フル・アダーを用いて
加算し、その結果工0進1桁毎にキャリを生じた場合に
は数値を最終積のlOO124’r7の値とし、キャリ
を生じなかった場合には数値から6を減することにより
最終積の10進1桁の値とする10進乗算装fffit
 において、3人カキヤリ・セーブ・アダーの2人力な
サムおよびキャリの形で表わされている中間積の入力と
して用い、他の1人力ヲ10通部分積の入力として用い
る共に、該キャリ・セーブ・アダーと次段のアダーの間
に該キャリ°セーブ°アダーのIO進1桁毎のサム出力
およびキャリ出力の値から、これらを全加算し10進1
桁毎のキャリ発生の有熱により6減算補正した時に正し
い2進化10進数の中間積あるいは最終積が得られるた
めのサム出力補正および上位4・nへの桁上げ補正の要
否およびその補正量をMiJ定する)′1j定回路とそ
の判定結果により該サノ、出力を補正するサム出力″?
i+i正回路および次段上位4fiの10進部分積人力
を補正する桁上げ補正回路を設けて10進キヤリ・セー
ブ・アダー・ユニットを構成し、該10進キヤリ・セー
ブ・アダー・ユニットを単数個あるいは複数個組会わせ
て重速動作可能な10進ループ・アダーを構成したこと
である。
〔発明の実施例〕
本発明の詳細な説明ずろ前に、まず本発明の動作原理を
第6図及び第7図により説明する。
第6図はキャリ・セーブ・アゲ−を使った1、0走ルー
プ加算器と10通ループ加Fミの繰返しにより最終積を
める方式の動作概念説明図である。1’I’。
〜PP3はそれぞれ演算ザイクルブσの10進部分積、
Pは10進最終積、Slへ83およびCl−03はそれ
ぞれ演算サイクル毎のキャリ・セーブ・アダーのサム出
力およびキャリ出力、S′□〜S’3.d、〜C/lお
よびp p’、〜P P’3はそitそれ桁上げ補正後
のサム、ビット位置合わせ後のキャリおよび桁上げ補正
後の10進部分積である。ループ加算は、6加n補正回
路路により初期設定として10進1桁4Uに6を加算し
て1始され、サムとキャリの形で保持されている中間積
と他の演算手段でめられたlO進部分A」′(PPが3
人カキヤリ・セーブ・アダー(C3A)29でキャリ・
セーブ加算され、キャリ・セーブ・アダー29の10進
1桁毎に、サム出力補正回路31と10進上位桁補正回
路32により、例えばそれぞれ後述の第8図および第9
図に示す如きある10進1桁のサム出力Sとキャリ出力
Cの値から決定されるサム出力への補正および該10進
桁の上位桁への補正を施すことにより、桁上げ補正後の
サムdと、ビット位置合わせ後、即ちシフト回路間によ
る1ビツト左シフト後のキャリC′とを加算した場合に
正しい中間積を示す様にして、最初の中間積とlO進部
分積の10進加算が行われる。桁上げ補正後のサムS′
とビット位置合わせ後のキャリdは、次サイクルでキャ
リ・セーブ・・アダー四に入力される時には、シフタ3
3,34により乗数の処理11分だけ右にシフトされる
。該処理を1演算サイクルとし、乗数の有効桁数に対応
した10進部分積PPO数分の演算サイクルをハさ返し
、最終積をめていく。
第5図ではlO進部分積が2つ即ちlO進部分積PP、
および10進部分PP2を10進加算する場合が示され
ており、第2サイクル即ち最終の乗数有効桁についての
演算サイクルでのIO進部分状のループ加算の結果、キ
ャリ・セーブ・アダー四のサム出力S2とビット位置合
わせ後のキャリC;とで10進桁上げを2ないし、は3
だけ保留している場合の桁上げ補正を、第3サイクル(
最終サイクル)にてゼロの値を持つ10進部分積1)P
、とキャリ・セーブ加算することにより完結し、最終積
のサムS′3とキャリC′3を企進うル・アダー35で
2スイ(ヨ全加算し、該2進全加算の結果、10進1桁
毎にキャリが発生した場合tこは加算結果の値そのもの
を10進最終イI(P。
lO進1桁の値とし、キャリが発生し1fかった場合に
は6減算補正回路36により加17.’結果の値から6
を減じて10進最終値Pの10巡1桁の値として、正し
い最終積が得られる様に@υ、が行われろ。上記キャリ
・セーブ・アダーのサム出力とビット位置合わせ後のキ
ャリとで10進桁上げを0〜3だけ保留しうろことにつ
いては後述する。
第7図はキャリ・セーブ・アゲ−出力の加算表であり、
10進1桁巾のキャリ・セーブ・アダーのサム出力Sと
キャリ出力Cおよびビット位置を合わせるためにキャリ
出力Cを1ビツト左シフトしたキャリCを入力条件とし
、サム出力SとキャリC′を加算した時に結果となるべ
き10進数値が示されている。(S)1oおよび(C’
)、oは、それぞれサム出力SおよびキャリC′の10
進数表現である。ループ・アダーに対する初期設定とし
て10進1桁毎に(6)、oを加算して演算を行うため
、キャリ・セーブ・アダーのサム出力とキャリ出力から
加算結果として得るべき10進数値は、(S)、。+(
C’)1o−<a>、。でめられている。例えばある1
0進1桁に対するキャリ・セーブ・アダーのサム出力S
およびキャリ出力CがそれぞれS=″6”、C=”3”
である場合、C′は該io進桁の下位桁のCの値が3′
0”〜u 771か(t 8 II〜tlF”であるか
によりそれぞれC′=”6″かC′=″′7″となり、
下位桁のCの値が8″〜6% F #であるときKは、
(S)□。−ト(C’)、。−(6)、。二″′6″′
十″7″−″′6″′二“7″である。
第6図に示した如きの演n方式では、キャリ・セーブ・
アダーのサム出力S1キヤリ出力CおよびキャリC′は
それぞれ16進数表現で°゛0′″〜IIF”のの値を
とり得、サムとキャリな2進フル・アダーで加算し、l
O進進相桁毎キャリが発生した場合は該10進桁の値そ
のものを結果とし、キャリが発生しなかった場合は該1
(]進桁の値から6″を減じたものを結果とする10進
数演算方式(以降斤に10進数演算方式と記す)を適用
した場合に正しい値、即ち、第7図に示した如ぎ10進
数値を11Iるために、サムS、キャリCおよびキャリ
C′の値により、−リムSおよび該10進桁の上位桁に
対しコ1殉当な補正な行う必要がある。
第7図の加算表は、10進桁上げの蝕およびキャリ・セ
ーブ・アダーのサム出力S1キヤリ出力Cおよびキャリ
C′の値の条件により、A、 −Iの9部分に分割され
、それぞれの部分にヌ]シて適当な10進桁上げ補正を
以下の様に行う。
A部分は、サムSおよびキャリC′の値が0″くS十C
七′5″なる条件を満足1−る部分であるが、初期設定
として10進1桁毎に6加算して演3Tを行うため発生
しない条件あり、またキャリ・セーブ・アダーと該第7
図の加詩8表の10進桁上げ+iii埋を満足する桁上
げ補正回路から構成される第6図の如き演算方式におい
て、最終績のサムとキャリ、例えばS′3とC′lの値
が” 0 ”りS’3+C1り“5“なる条件を満足す
るためには、演算の初期設定として10進1桁毎に6加
算せずに演算を開始しなければならないことが説明でき
、該第7図の加算表において、” 0 ” <S 十C
’<” 5 ”なる条件を満足するサムSとキャリC′
の組合せは生じない。
B部分は、サムSおよびキャリC′の値が” 6 ” 
<S+C’く”F”で、かつ、上位桁へのキャリ発生な
しなる条件を満足する部分である。従って、B部分はl
OO数演算方式をそのまま適用できる部分であり、Sと
C′が2進全加η4された後、6減算補正が施される。
例えば、S −It 6 II 、 C’−II 7”
の場合、S + d −” 6 ” = ” 6 ” 
+ ” 7 ” −” 6 ” = ” 7 ” トj
’x ル。
従って、B部分についてはキャリ・セーブ加算後のサム
出力SおよびlOO上位桁に対する10進桁上げ補正は
不要である。
C部分は、サムSおよびキャリC′の値が°’ 10 
”くS+C’<”19#となり、Z if社全加算によ
りSとC′で1だけ保留しているキャリを上位桁に伝播
し、該10進桁の結果がそのまま加算結果の10進数値
を表わすことのできる部分である。従って、C部分は1
0進数演算方式をそのままコ白用できる部分であり、キ
ャリ・セーブ加算後のサム出力SおよびJOO上位桁に
対するIO進桁上げ補正は不要である。
例えば、S二”I A # 、 C’== II p 
71の場合、S −1−C’−’ A ”十″′F”=
″′19”となる。
D部分は、キャリ・セーブ・アゲ−のキャリ出力Cをビ
ット位置合わせのために1ヒツト左シフトしてキャリC
′をめる際、今ヤリCの値がキャリ・セーブ加算結果の
10進上位桁への伝播キーY I7を発生しない値であ
ること、即ち、”’ 0 ” りC<”7″、かつ、サ
ムSおよびキャリC′のイ直か’IA”くS十C’< 
” I E ”なる条件を満足する部分である。D部分
では、2進全加算によりSとCでキャリを2だけ保留し
ており、その内の1については10進数演算方式を適用
することによりlO進進上位桁上キャリ伝播するため、
これについてはSとCとで保留したままとし、他の1に
ついてはSとCを2進全加nした場合の結果がu A 
#〜tt E ++という2進化10進数表示を越えた
表現となるため、これを10”〜II 1471とする
ための10進桁上げ補正を行う。D部分に対するIO進
桁上げ補正は、キャリ・セーブ・アダーのサム出力Sの
該10進桁に(16)、oを法とする(6)1迦算を行
い、かつ該10進桁の上位桁に1加算することにより行
う。例えば、5=tl B pl、C=゛6”、C′=
“D″の場合、10進桁上げ補正後のサムをS′とし、
該lO進桁の上位桁へ1加算することを10″を加算す
ることで表わすと、s’−s+“6#(mod16 )
 = ” E ” −1−” 6”(mod16 ) 
= ” 4 ”、従ってS′+ C’ + ” 10″
=”4”+”D”+”to”=”21”となる。
8〜1部分では、キャリ・セーブ・アダーのキャリ出力
Cの値が′8”くC<FIIであるため、キャリ出力C
をビット位置合わせのために1ビツト左シフトしてキヤ
・すC′をめる際に、該10進桁の上位桁に明らかなキ
ャリ伝播が行われる。即ち、10”、ICC’く”IF
”となり、これとサム出力Sに対して10進演算方式を
適用して正しいlO進数を得るため、サム出力Sの該1
0進桁に(16)1oを法とする6加算を行う。例えば
、s=”o”、C= tt 8y+、C′=”io’″
の場合、10a桁上げ補正後のサムなS′とすると、S
’= S +” 6 ” (modlii)=” 0 
”+ ”6″’ (mod16)=“′6″、従って、
演4Iは S +C−”6”二″′6”+” 10 ”
 −” 6”=“’ I O” となる。
E部分は、上記の如くキャリCで政10進桁の上位桁に
明らか1よキャリ伝播が生じる即ち、II 8 ITり
C<” F ”で、かつ、サムSおよびキャリC′の値
がパlO”<S + C’り” 19 ”なる条件を満
足する部分である。E部分では、」二記の如きキャリC
での明らかなキャリ伝播に起因したリム出力Sに対する
10進桁上げ補正、即ち、サムSの該1(Ja桁に(1
6)1゜を法とする(6)、o加算を行う。例えば、S
 = ” 4 ” 。
C−”A”、C’=”15”の場合、1()進桁上げ補
正後のサムS′は、S’=S+”6” (mod16)
=”4”+”6”(mod16 ) = ” A”、従
って、演aはS’十C’−” 6 ” =It A #
 + II 1571 1“6 ”:” 19 ”どな
る。
F部分は、キャリCで該10 ;a 4’i7の上位桁
に明らかなキャリ伝播が生じる即ち、“’ 8 ” <
 C<” F ”で、かつ、サムSおよびキャリC′の
値が°’IA”<。
s+cく”23”で、カッ、サムS カ” 0 ”S、
Sp” 9 ”なる条件を満足する部分である。F部分
では、キャリCで該1(J進桁の上位桁へ明らかに伝播
するキヤリが1と、Sとdで保留しているキャリが1だ
けある。キャリC′での該lO進桁の上位桁への明らか
ILキャリ伝播に対する10遥桁上げ補正は、前記の始
くサムSの該10進桁に(16)□0を法とする((+
)1゜加算を行い、SとCで保留しているキャリについ
ては、上記の如くサムSに対してキャリCでの該10進
桁の上位桁への明らかなキャリ伝播に対する10進桁上
げ補正を行った後のサムの値とキャリCについて10進
数演算方式を適用すれば、該10進桁の上位桁ヘキャリ
が伝播するため、これについてはS′とC′とで保留し
たままとする。従って、F部分に対する10進桁上げ補
正は、キャリ・セーブ・アダーのサム出力Sの該lO進
桁に(16)、。を法とする(6)、o7JI13tを
行う。例えば、S=”8”、C=”D”C’=”IB’
″の場合、lO進桁上げ補正後のサムSは、S’−8+
” 6 ” (mod16)==” 8 ”+” 6 
” (mad□6)=”E”、従って、演算はs’+ 
C”l= ” E ’ 十” I L(”=”29”と
なる。
G部分は、キャリCを該io進桁の上位桁に明らかなキ
ャリ伝播が生:じる即ち、′8”くCく@F″で、かつ
、サムSおよびキャリC′の値が1人”くS+C’<”
 23”で、かつ、サムSが°’ A ” りS < 
” F ” 7.Cる糸件を満足する部分である。G 
tli分では、キャリC′で該10進桁の上位桁へ明ら
かに伝播するキャリが1と、SとC′で保留しているキ
ャリが1だけある。キャリC′での該10進桁の上もL
桁への明らかなキャリ伝播に対する10進桁上げ補正は
、前記の如(サムSの該10進桁に(16)、。を法と
する(6)、。加算を行い、SとC′で保留しているキ
ャリについては、゛上記つ如(サムSに対してキャリC
′での該10進桁の上位桁への明らかなキャリ伝411
〜に対する10進桁上げ補正を行った後の一リームの値
とキャリCについて10進2a演鉢方式を、+14用し
て正しい10赴数値を得るために、上記サムの値に(1
6)、oを法とする(6)、o加算を行い、かつ、該1
0 、ilu桁の上位桁に1加3’/することにより行
う。従って、Gtfl、1分に対ず句10進桁上げ補正
は、キャリ・セーブ・アダーのサム出力Sの該10進桁
に(16)、oを法とする(12)、o加Ω。
を行い、かつ、該10進桁の上位桁に17J[+ 74
を行う。
例エバ、S二″′B”、C=”8”、C’=4”11’
のifJ合、10遥桁上げ補正後のサムをS′とし、該
lO巡桁の上位桁へ1加算することを°’ i o ”
を加算、することで表わずと、S’= S +”C” 
(+nod16)=” B”ゼC″’(mod16 )
 = ” ? ”、従って、演算はS’+ C’t+−
”’ 10 ” −パ6”=t′7”十′11″l +
−10II ’t 611 =″’22”となる。
I(部分は、キャリC′を該10進桁の上位桁に明らか
なキャリ伝播が生゛じる即ち、8”<C<”F″゛で、
かつ、サムSおよびキーr 9 C’の値が624”く
S 十C’<” 2 J) ”なる条件を満足する部分
である。■(部分では、キャリC′で該10進桁の上位
桁へ明らかに伝rii?するキャリが1と、SとCで保
留しているキャリが2だけある。キャリC′での該10
J桁の上位桁への明らかなキーY IJ伝播に対する1
0進桁上げ補正は、前記の如くサムSの該10進桁に(
16)、oを法とする(6)1o加nを行い、SとC′
で保留し℃いる2のキャリの内、1については、10進
数演71方式を適用することにより10進−に位桁ヘキ
ャリが伝播するため、これについてばSとdで保留した
ままとし、他の1については、上記サムの値に(16)
1゜を法とする(6)1゜加算を行い、かつ、該10進
桁の上位桁に1加算することにより行う。従って、Ht
rb分に対する10進桁上げ補正は、キャリ・セーブ・
アダーのサム出力Sの該1o進桁に(16) 10を法
とする(12)、o加算を行い、がっ、該1o進桁の上
位桁に1加箕を行う。例えば、S=”l)”、C,=“
B n 、 C’=″゛17”の場合、10進桁上げ補
正後のサムをS′とし、該10進桁の上位桁へ1加算す
ることを’ 10 ”を加算することで表わすと、S’
= S −1−” C”(mod16)−”D”十”C
”(rnode16)=” 9 ”Ai(−って、ii
’t J’S、はs’+C′十へ10 ” = ” 9
 ” + ” 17 ” −1−” 1゜PI ==:
 II 3 oIIとなる。
1部分は、キャリC′を該10進桁の上位桁に明1ろか
なキャリ伝播が生じる即ち It 81″りc <” 
F ”で、かつ、サムSおよびキャリC′の値がS+C
’=″2E”なる条件を満足する部分である。1部分で
は、キャリC′で該10進桁の上(M、桁へ明らかに伝
播するキャリが1と、SとC′で保留しているキャリが
3だけである。キャリcでの該10進桁の上位桁への明
らかなキャリ伝播に対する10進桁上げ補正は、前記の
如くサムSの該1o進桁に(16)、。を法とする(6
)□。加算を行い、SとC′で保留している3のキャリ
の内、1については、10進数演算方式を適用すること
によりlO推進上位桁へャリが伝播するため、これにつ
いてはSとC′で保留したままとし、他の2については
、上記サムの値に(16)1゜を法とする(12)I1
1加算を行い、かつ、該10進桁の上位桁に2加算を行
う。従って、工部分に対する10進桁げ補正は、キャリ
・セーブ・アダーのサム出力Sの該lO進桁に(16)
、。を法とする(18)、。加算を行い、かつ、該10
進桁の上位桁に2加算を行う。例えば、S=”F”IC
=”F”lc’=”IF”(7)場合、lO進桁上げ補
正後のサムなSとし、該lO進桁の上位桁へ2加算する
ことを”20”を加Ji−することで表わすと、S’=
S+”12”(mod16)=”F ”+ ” 12 
” (mod16)=″1#、従って、演算はS’十C
’+”20”=”l”十′’IF”十′′20n=“4
0”となる。
上記第7図の加算表のA〜工部分における10進桁上げ
補正をまとめると以下の様になる。
A部分はSとC′の組合せが生じない部分である。
B部分とC部分では補正は不安である。D部分では、サ
ムSに(16)1゜を法とした(6)1o加算を行(・
、かつ、該10進桁の上位桁へ1加詩、を行う。E B
IS分とF部分では、サムSに(16)、oを法とした
( 6 ) 、o加算を行う。0部分とHart分では
、サムSに(11;)、。
を法とした(12)1o加:j未を行い、かつ、WR1
0;+13桁の上位桁へ1加算を行う。1部分では、−
リームSに(16)、oを法とした(18)、o加算を
行い、かつ、該用進桁の上位桁へ2加算を行う。
ところで、1部分およびJl +?l1分の1 fit
〜に含まれるSとC′の担合せは生じ7jいことが6)
コ明でき、特に1部分の補正については考風する必り2
かない。
又、C部分、D部分、F部分およU H部分に含まれる
SとC′の組合せに対し℃土H+、 Kl jlfi桁
−ヒげ補正を行い、10進数演算方式を適用した場合、
補正後のサムS′とキャリC′との2進全加算において
該10進桁の上位桁へのキャリ伝播が生じる。従って、
C部分およびF部分では上記キャリ伝播が発生ずること
をあらかじめ検出し、強制的にキャリ伝播のためのIO
進桁上げ補正を行っても良い。即ち、C部分ではサム出
力K(16)、oを法とした(6 ) 、o)JIJ 
41−を行い、かつ該10進桁の上位桁に1加算を行っ
ても良く、F部分ではサム出力に(16)□。を法とし
た(12)>o加算を行い、かつ該10通桁の上位桁に
1加算を行っても良い。
上記原]!UK基づい、て、第7図の加算表におけるA
〜工部分におけるサム出力および該10進桁の上位桁に
対する10進桁上げ補正な洒足し、キャリ・セーブ・ア
ダーを用いたlO進ループ加訂器を実現するのに使用す
るlO進桁上げ補正表および該補正を実現するIO進桁
上げ補正回路の一実施例を第8図、第9図および第10
図に示す。
第8図はキャリ・セーブ・アダーのサム出力に対する1
0進桁上げ補正表の一例、第9図は該10進桁の上位桁
に対する10進桁上げtfii正表の一例である。第8
図の表の補正量およびその補正条件は、(“A”くSく
“F″)・(’4”くC≦パフ”)+(”0”(Sく“
′3”)・(”s”くc<” F”)+(′0”くSく
”9#)・C”8くC<;、B”)=1のとぎ、サム出
力Sに6加H−(mod16)の補正を行い、(”A”
くSく”F”)−(”8 ”<C(”1”” )+C″
4”<、、S<、”F”)・(”C”くCくF”)=1
のとき、サム出力Sに12加算(mod16)の補正を
行い、その他のときは補正を行わンヨい。
又、第9図の表の補正」iおよびその補正東f′ロゴ2
、(”’A”くS<“′F”)・(” 4 ”<C<、
” F ” )+(” 4 ”<Sく”F”)・(“’
c”くcく’“F” )−1のとき、該当】()進桁の
上位桁に1加算の補正をイJい、その他のとぎは補正を
1]わない。
第10図は、第8図および第9121に2」<シた補止
をfR足1−る10進−桁(4ビット)毎の10.1l
lj桁上げ補正回路を用いたIO進キャリ・士−プ・ア
ダー・ユニットの一部を示している。ムニ1411の1
0進−桁+lJの構成単位(1,(l進第(d+1)桁
)は右側の構成単位(10進第d桁)の10進上位桁で
ある。キャリ・セーブ・アダーの一部・入出力に対−J
る補正(:Il、]]Uiロ、−′桁に、キャリ・セー
ブ・アダー29のサム出力Sおよびキャリ出力Cの値を
人力とする補正量判定回路37の441定結果にもとづ
き、−リム出力補正回路31により、L((”A”く8
区” F ” )かつ(” 4 ”S、 Cく7”))
もしくは((” 0 ”<S:L ” 3 ” )かつ
(″ン3″くCく” F”月もしくはf(”0”くS亙
°′9′″)かつ(” a ”<cり”n ”月〕が成
立する場合は、サムS、に16を法とする6加算した値
を補正後のサムSとし、[:((”A”くSく”F”)
かつ(”8”くCく”F″′))もL < は((”4
”くSく”F”) かつ(”C”<C<”F” ) )
 )が成立する場合は、サムSに16を法とする12加
算した値を補正後のサムSとし、該2条件が不成立の場
合にはサムSの値そのものを補正後のサムSとして選択
して行う。該10進桁の上位桁への1加算補正は、次段
キャリ・セーブ・アダーの10進部分積人力PPに対し
て行い、サムSおよびキャリCを入力とする上記補正f
t判定回路370刊定結果にもとづき、IO進上位桁補
正回路32により、(((”A”くS<、”F”)かつ
(4”くCく“’F”))もしくは((”4’″<S<
”F”)かつ(C”<C<” F ’″月〕成立する場
合は、該10進桁の上位桁次段キャリ・セーブ・アダー
のIO進部分積入力PPに1加算した値を補正後のlO
進部分槙人力PP’とし、上記条件が不成立の場合には
、10進部分積入力PPそのものを補正後のlO進部分
積入力PP’として選択して行う。キャリ・セーブ・ア
ダーのキャリ出力Cは、次段キャリ・セーブ・アダーも
しくは最終積のサムとキャリを2進加算する2進フル・
アダーへ入力する際には、ビット位fir(@’わせの
ために1ビット左シフト回路加によりJビット左シント
され、次段キャリ人力C′となえ・・ 例えば、S二I+ 011 、 C−IH8″′のり信
、リーム出力に対する補正榮件のうち+(” 0 ”<
S<” 3 ” )がっ(°′8”(:、C〈”k”’
月が成立するため、補正後のサムS′にはサムSに16
を法としたG加I)、シた値を選択し、該lO進桁の」
二位桁の次段キャリ・セーブ・アダーの10進部分槓1
’P’には、前記袖正負〕件が不成立であるため、10
進部分y、3 p 1−+の値そのものをM択する。即
ち、S’= S +” 6 ” (modl+3)= 
” 0 ”十” 6 ” (rnod 16 ) =”
 6”、C′=″’ 10 ”もしくは(′=((1、
jl、上位桁のPF5はI’ p’−1) i’となる
。−1:だ、S二゛I 47+ 、 C−CIHの場合
、サム出力に対する補正条件のうち((” 4 ”(S
<”’)”’)かっ(”C11匁CII F″′月か成
立するため、補正後のサムS′にはサムSに16を法と
した12加4?、シた値をyX択1−1同様に該10進
桁の上位桁に対する補正は((” 4 ”<S<“”F
”)かつげC″<、C(、” F ”月が成立するため
、該10進桁の上位桁の次段キャリ・セーブ・アダーの
10通部分積人力PPKは用進部分稙入力PP罠1力I
]算した値を沼沢する。即ち、S=S十″C” (mo
d16) −” 4 ” −1−” C” (mod1
6) −” 0 ”、c’= ” 1 s ”もしくは
C′=゛19″、上位桁のPF5はP P’=P P+
 ” 1 ”ととなる。
第11図、第12図およびa′口13図は、第7図の加
算表のA〜1部分におけるサム出力および該1tJ進桁
の上位桁に対する10進桁上げ補正を溝足し、キャリ・
セーブ・アダーを用いた10 進ループ加算器を突現す
るのに使用するit) ;i14工桁上げ補正量および
該補止を大男する10進桁上げ補正回路の仲の実施例で
ある。
第11図はキャリ・セーブ・アダーtリサム出力に対す
る】0進桁上げ補正表の他の例である。第n図における
補正量およびその補正条件は2段階に分かれる。第1の
補正では、(8°°へ’C(”J、III〕=1のとき
、キャリ・セーブ・アダーのサム出力Sに(j加算(m
od 16 ) L、その他のときにはイ1h止亡ず、
このす人出力Sを第1補正した値をS′とし、キャリ・
セーブ・アダーのキャリ出力Cを1ピツ)・’)’Eシ
フトした値をC′とする。第2の補正では、(”AI+
くSぐF“戸じ、8−<C<”p”、>+(”Δ”<S
’<“I・’ ” )・(q午1)ユ1のとき、S′に
6加鼻し、その凹のとぎには補正しない。こ〜で、 G’ −g′O+ p二・g(+にゴp(・g;斗に・
p;・p:・g(、/g=si・c’、に=o〜3)、 p’−s′+c′(j=o〜2) 1 」 」 である。曵〜sWおよびc二〜弓はそれぞれ10進−H
j巾のS′およびC′のビット表現であり、sミおよび
c工が最上位ビットでありS≦およびC′3が最下位ビ
ットである。C′はS′とC′を2進全加j)シた時に
キャリが発生する条件である。
第12図は該当】0進桁の上位桁に対する10進桁上げ
補正表の他の例である。第12図における補正量および
その補正条rトは、(”A” <ms<”F” )・(
8”くCく”F” ) +(”A” りS’<”F” 
)・(G’=1)=1のとき、該10進桁の上位桁に1
 /Jll n I−1その他のときには補正しない。
S′、C′、G′は前記定義と同様である。
第13図は第11図および第12図に示した補正を満足
する】0進−桁(4ビツト)毎の10進桁上げ補正回路
を用いた】0進キヤリ・セーブ・アダー・ユニットの他
の実施例の一部を示している。左側の10進−桁巾の構
成単位(10進第(d+1)桁)は右側の構成単位(1
0進第d桁)の10進上位桁である。
キャリ・セーブ・アダーのす人出力に対する補正は、1
0進−桁毎に、まずキャリ・セーブ・アダー29のキャ
リ出力Cの値を人力とする第1の補正量判定回路470
判定結果にもとづき、第1?ム出力補正回路48により
、(”8”くC(”F”)が成立する場合は、サム5K
16を法とする6加算した値を第1の補正後のサムS′
とし、上記条件が不成立の場合には、サムSの値そのも
のを第1の補正後のサムS′として選択することにより
、第1の補正を完結する。次に、キャリ・セーブ・アダ
ーのサム出力S、キャリ出力C1第1の補正後のリーム
S′およびシフト回路30による1ビツト左シフト後の
キャリC′を入力とする第2の補正i?判定回路49の
il定結果にもとづき、第2サム出力曲正回路50によ
り、〔((A″’くS<、F″)かつ(”8”<c<“
1・”’))もしくは((”A”<S′りF″)かつ(
(−i’=1)))が成立する場合は、第1の補正後の
サムS′に16を法とする6加算した値を第2の補正後
のサムS“とし、上記条(4・が不成立の場合には第1
の補正後のサムδのイ(θ、そのものを第2の補正後の
サムS“として選択する。
該]00進の上位桁への1加J′(、補止は、次段キャ
リ・セーブ・アダーの10進部分積入力ppに対して行
い、サム出力S、キャリ出力C,第1の前止後とづき、
10進上位桁補正回路32により、(((“AIIくS
くF”)かつ(68”<Cり”F″月もしくは((”A
”<S′<”F″)かつ(G’−1)) )が成立る場
合は、該10進桁の上位桁の次段キャリ・セーブ・アダ
ーの10通部分積入力ppに1加算した1直を補正後の
」0進部分積入力pp’とし、上記条件が不成立の場合
には、10進部分積入力ppそのものを補正後の10進
部分績入力pp’として選択して行う。
例えば、S二″A”、C= ?+311の場合、サム出
力Sに対する第1の補正条件(8”くC<”ル゛)が不
成立であるため、第1の補正後のサムS’=S−”A”
、同1寺にC′二″6”もしくはC′=”7″となるた
め、ぎどC′を一2進全加算した場合、該jO進桁から
上位桁ヘキャリが伝播し、(G’=1)が成立する。従
って、第2の補正条件のうち((″へ′″(S′<”)
”’ )かつ< a/=1月が成立するため、第2の補
正後のサムS“には第1の補正後のサムS′に16を法
とした6加算した値を選択し、同時に該jO進桁の上位
桁の次段キャリ・セーブ・アダーのlO進部分積pp′
には、前記補正条件のうち(じA“<S′<1)n)か
つ(G’= 1月が成立するため、]Oa部分積部分積
入力値に1加算した値を選択する。即ち、S′:S′十
”6゛′(mOd16)=“°A′′+”6″(mod
 1.6 ) =“0”、c/ =n 6 +”もしく
はC′=67”、上位桁のpp’は、pp’= pp 
十iと1よる。また、5−n8TT、C=”E”の場合
、す入出力に対する第1の補正条件(8”くCくF”)
が成立し、ち01の(■li正後のサムS′は、S′二
5−1− ”6” (mod16 ) =″8”+”6
”(mod15):=’T”、同時にC’=”c”もし
くはC’=”Ll” となるため、S′とC′を2進全
加a6シた場合、該】0進桁から上位桁ヘキャリが伝拾
し、(G’−1)が成立する。従って、第2の補正条件
のうら((”A” 〈S’り”F” )かつ(G’−1
月が成立するI′こめ、第2の補正後のサムSHには第
1の補正後のサムS′に16を法とした6加算した値を
選択する。同時に該10進桁の上位桁の次段キャリ・セ
ーブ・アダーの10進部分積入力pp’には、前記補正
条件の5ら((”A” <S′<“F″)かつ(G’=
1)lが成立−づ−るため、10進部分積入力ppの値
に1加亦した11■をyB択J゛る。即ち、S”二S/
十″6”(mod 1G ) = ””l′十″(5”
 (rnod 16 ) ”= ”4”、C′=”CJ
TもしくはC′=”1ア°、上位桁のpp’はI) p
’ −pp+1となる。
上記補正演算は第1および第2の補正により、サム5K
16を法とした】2加算し、上位桁のJO進部公債入力
ppに1加算する補正が行われたことを示している。こ
れは第11図および第12図のサム出力および10進上
位桁への10進桁上げ補正を満足していると同一時に、
第7図の加算法におけるA−I部分におけるサム出力お
よび該jO進桁の上位桁に対するJO進桁上げ補正を満
足する補正回路をキャリ・セーブ・アダーに付加するこ
とにより、回路構成に依存せずに10進キヤリ・セーブ
・アダー・ユニットを構成できることを示すものである
第14図は、第10図に示したIll進キャリ・セーブ
・アダーユニットを用いて構成した10進乗算装置の一
実施例である。第14図に16いて、乗数レジスタlに
格納されている2進化10進数の乗数と被乗数レジスタ
2に格納されている2進化lO進数の被乗数の乗算は以
下の辿りである。
】0進部分績演詐器46が起動されると、被乗数レジス
タ2に格納されている被乗数と乗数レジスタlに格納さ
れている乗数の下位から所定処理申分だけ切出して、最
初の10進部分積演算が行われ、最初の10進部分積が
められる。ここでは、一度の10進部分積演算により;
J>られ/)部分イテ〔が2数DH−hよびDLに分割
されて、そ、Rそれ部分(1゛(レジスタ16および1
7にイ6納される実施国が示されている。これと同時に
、中間FN−9ム・レジスタ14および中間績キャリ・
レジスタ15にt2υJIIJ状態としてゼロが格納さ
れ、又、乗数レジスタ1にイ?5稍されている乗数は切
出さ2tだデーrt1分だけシフタ3により右シフトさ
れ、1与び乗数レジスタ1に格納される。中間積サム・
レジスタ14によび中間積キャリ・レジスタ15に格納
されている初期値ゼロと部分績レジスタ16に格納され
“〔いる」0走冒小う)イi’t IJ Ifが、キャ
リ・セーブ・アダー29によりキーVり保−イイ加nさ
れる際、283図に示した如き23I?’、 /II+
 3°1−器を用いて2進化10進数で表わされた2数
乞加J′口〜止し2い2進化10進数の相をめるための
方式に基つぎ、初期値ゼロが格納されている中間AJl
サム・レジスタ14の出力に10進−桁tσに6加J’
7−する様に6加詩。
回路路が制御される。1加算佃正回路45は771S分
積レジスタ16の出力をそのままキへ2す・セーブ・ア
ダー加の入力とする様に制御される。キャリ・セ蛍判定
回路370判定結果により、キャリ・セーブ・アダー2
9のサム出力および部分積レジスタ17に格納されてい
る10進部分積DLに対して、そnぞれサム出力補正回
路31および10進上位桁補正回路32でJO進−桁毎
Kio進桁上げ補正を行う。キャリ・セーブ・アダーの
キャリ出力はビット位置合わせのため1ビツト左シフト
回路Iにより1ビツト左シフトされる。サム出力補正回
路31により10進桁上げ補正されたサム、1ビツト左
シフト回路30により1ビツト左シフトされたキャリお
よび】0進上位桁への桁上げ補正を加えられたjO進部
分積はキャリ・セーブ・アダー38でキャリ保留加算さ
れ、結果がサムとキャリの形で1)↓られる。上記サム
出力とキャリ出力の値を人力とする補正量判定回路4工
の判定結果により、キャリ・セーブ・アダー38果レジ
スタ42に格納され、次演算サイクルにおいてキャリ・
セーブ・アダー四の10進部分積D I−1人力にて、
10進上位桁へ1加7「1−る様にj711+i袖正回
路4補正制御する。キャリ・セーフ アダー38のキャ
リ出力はビット位11(台わ・仕のためのjビット左シ
フト回路39で1ビツト左ジノ1されイ)、リーム出力
補正回j!* 40で】0進桁上げ補止されたリムお」
、び1ビツト左シフト回路39で1ピットノ1〕7ノト
されたキャリは、シフタ33およ0:34により、If
i:dの15「定処J里データ巾だけ右シフトされて、
それぞJ+、中間積サム・レジスタ】446よび中間積
キャリ・レジスタ15に格納される。サム出カイ11目
1−回j’ii 4tlの出力および1ビツト左シフト
回路30の出力の(;位、’!’: IQ。
所定処理11)のデータ、Ijljら、最終積の最ド位
乗数所定処理11]のサムA6よびキャリば、ICI 
dスピルアダー43に人力され、2進全加−tyr、さ
イしたfを、to jIL−桁毎に、上位桁にキャリ伝
1i1i L 7こ場、1は加1.結果そのf:、まを
J使小冬イ責の川越−打jの1代と(−1へ゛=ヤ91
尺播しなかった場合は6減lli、補正回:1’tS 
44 K J、り加算結果から6減オγした値を最終積
(1月0進−−1’i’jの値とする6減it補正が施
され請求まった最1tそARの最下位乗数所定処理中の
値が乗数レジスタ1の上IS′I乗数所定処理中位置に
転送格納される。
以下同様の処理を乗数の有効桁すべてについて繰返し、
乗数有効桁rIJの最終積の下位部分が乗数レジスタ1
に左詰めにまり、最終積り上位部分が最終の乗数有効桁
についての演算サイクルでキ組合せによっては、前記第
7図の加IT表において示した如く、該」O進相の上位
桁への1加算桶正を必要とする場合がある。したがって
、上記の如く31!数の有効桁すべてについて処理を繰
返した後、さらに乗数の有効桁の上位のゼロを用いて1
演昇サイクルだけ上記演算処理を繰返すことにより、該
jO進進相上位桁への1/JIJ t−:補正が完結さ
れる。
上記の如(してまった最終積のサムとキーヤリ、即ち、
す入出力補正回路40の出力と1ビツト左シフト回路3
9の出力を2進フル・アダー35で2進全加算した後、
10進−桁毎に、上位桁にキャリ伝播した場合は加界結
果そのままを最終積の10進−桁の値とし、キャリ伝播
しなかった場合は6減算抽正回路36により加算結果か
ら6減77: L 7こ旭を最終積の」O進−桁の値と
する6減算抽正が施される。
求まった最終積の上位部分の値は彼乗数しンスタ2に転
送格納される。
以上の様にして、2進化10進数の乗数と同じく2進化
10進数の被乗数を、キャリ・セーブ・アダーと10進
桁上げ補正回路から1.Cる10進ギー? IJ・セー
ブ・アダー・ユニットを用いて構成したjO進乗算装置
により10進乗算して2進化川進数の積をめることがで
きる。
第15図は、第13図に示したJ、0進ギヤリ・セーブ
・アダー・ユニットを用いて(1:j成した10進ルー
プ・アダーの部分を示している。該JO進ループ・アダ
ーを用いても、第14図に示したと同様の処理を行うこ
とにより、2進化]0進数の乗数と2進化10進数の被
乗数をJO進乗算して2進化10:M数の積をめること
ができる。全体の動作は第14図と同様であるので、説
明は省略する。
以上の本発明実施例の10進乗算装置では、第14図に
おいて示した如く、10進ループ・アダーでサムとキャ
リの形でまった最終積をそのまま2進フル・アダーで加
算した後、10進−桁毎に上位桁にキャリを伝播したか
否かにより6減算補正を行い、正しい2進化10進数の
積がまる様に、乗数の有効桁すべてについて演n、処理
を繰返した後にさらに乗数の有効桁の上位のゼロを用い
て1サイクルだけ演算を繰返−rことにより、上位桁へ
の1加算補正が完結する様に制御されている。
第16図は本発明の10進乗界装置直の他の実施例を示
したもので、上i己の目的で来3Tの有効桁の上位のゼ
ロを用いて行う最終演遭:ザイクルを不要とするために
、最終積のサムおよびキャリの他に10進−桁毎に1加
n:補正回路55の出力を3人力構成の2進フル・アダ
ー54に入力し、10進−桁毎に、乗数の最上位・1〕
効桁についての演算の結果、該10進桁の上位桁への1
加′n補正が必要な場合は、3人力2進フル・アダー5
4にて上位桁への1加算補正を完結させたものである。
〔発明の効果〕
以上説明した如く、不発IJIJによれば、27Ia5
に17を高速に行うのに用いられるキャリ・セーブ・ア
ダー罠比較的少ないハードウェア量で実現でさる10進
桁上げ補正回路を付加−「ることにより川・1ヘキヤリ
・セーブ・アダー・ユニットを構成し、こ扛を用いて1
0進乗算装置ft、のjO進ルーグ・アダーを構成する
ことにより、40進乗算ループ・アダーが2進乗算ルー
プ・アダーと同等の性能で動作できるという効果がある
。具体的には、従来のJU通乗〕t−装置に比べ、ルー
プ性能で約4計の+ニーfi速化が構成できる。
−f、 タ、本発明のjO進乗算装置百は、2通のキP
 1.トセーブ・アダーを基本と1.10 、+4桁上
げ11ij止回路を付加して実現しているため、本発明
の装置のルー フ・アダーをわずかフ工制御の変更によ
り、そのまま2進乗算と10進乗界で共用できるという
効果もある。
【図面の簡単な説明】
第1図は被乗数に対して乗数を乗孟フーする処理を説明
する説明図、第2図は従来のJO進乗算装置の構成図、
第3図はjO進アダーの構成図、第4図は第3図の動作
説明図、−第5図はキャリ・セーブ・アダーから4N成
される高速2進乗算装置の構成図、第6図は本発明の1
0進乗算装置の!)Φ作4!を急回、第7図は本発明の
用進悄上げ補正を説明する加算表の図、第8図はキャリ
・セーブ・アダーのサム出力に対する10進桁上げ補正
表の一例を示す図、第9図は10進上位桁に対するJO
進進相げ補正表の一例な示す図、第10図は本発明で用
いるキヤ、す・セー フ・アダーと10進桁上げ補正回
路から成る】0進ギヤリ・セーブ・アダー・ユニットの
一実施例を示す図、第11図はキャリ・ヒープ・アダー
のサム出力に対する10進桁上げ補正表の他の例を示す
図、第12図は10進上位桁に対する】0進桁上げ補正
表の他の例を示す図、第13図はキャリ・セーブ・アダ
ーと10進桁上げ・tmm開回路ら成るJO進キャリ、
セーブ・アダー・ユニットの他の実施例を示す図、第1
4図は第10図の10進キヤリ・セーブ・アダー・ユニ
ットから構成される本発明のlO進乗算装置の全体構成
図、第15図は第13図の」0進キヤリ・セーブ・アダ
ー・ユニットから構成される本発明の1゜進乗算装置の
10進ループ・アダー1411の構成図、第16図は本
発明の1o進乗:ivX装匝の他の実施例の構成図であ
る。 ■・・・乗数レジスタ、2・・・$未載しジXり、3・
・・シフタ、14・・・中間積サム・レジスタ、15・
・・中間積キャリ・レジスタ、 16、l’7・・・部
分積レジスタ、あ・・・6加算補正回路、29.3)3
・・キャリ・セーブ・アダー、刃、39・・・lビット
左ジット回路1.31.40・・・サム出力補正回路、
32.45・・1o進上位桁袖正回路、33.34・・
・シフタ、35.54・・・フル・アダー、36.44
・・・6減算補止IL!回路、37.41・・・補正裁
判定回路、42・・・補正量判定結果レジスク、43・
・・10進スピル・アダー、46・・・1o進部分稙6
互算器、47.51・・・第1補正量判定回路、48.
52・・・第■サム出力補正回路、49.53・・・第
2 ?+u止斌T(」定貼路、50・・・第2サム出力
葡正I!!回路。 代理人弁理土 鈴 木 誠 第1図 第2図 第3図 第5図 第15図 y千1 6 214− 55 ≦斗

Claims (1)

  1. 【特許請求の範囲】 (1)2進化10進数の被乗数に対して同じく2進化1
    0進数の乗数を乗算するに当たり、上記被乗数に対し所
    定処理中の乗数を乗算してめた最初の部分積のlO進1
    桁毎あるいは初期状態の中間積のlO進1桁毎[6加算
    して演算を始め、上記被乗数に対し乗数を所定処理巾毎
    に乗算してめた部分積と当該所定処理中乗算以前にサム
    とキャリの形で得られている前中間積の加算を、ループ
    ・アダーにより乗数の有効桁について繰り返し行った後
    、最終積のサムとキャリな2進フル・アダーを用いて加
    算し、その結果10進1桁毎にキャリを生じた場合には
    該値を最終積の10進1桁の値とし、キャリを生じなか
    った場合には該値から6を減することにより最終積の1
    0進1桁の値とするlO進乗算装置において、上記サム
    とキャリの形で表わされている中間積と10進部分積と
    を入力して、当該所定処理中乗算までの中間積をサムと
    キャリの形でめておくキャリ・セーブ・アダーと、該キ
    ャリ・セーブ°アダーの10進1桁毎のサム出力および
    キャリ出力の値から、これらを全加Rして1o進1桁毎
    のキャリ発生の有無により、6減3?: :tili正
    した時に正しい2進化10進数の中間積あるいは最終積
    が得られるためのサム出力補正および上位↑イiへの桁
    上げ補正の要否を判定する判定回路と、該判定回路の判
    定結果により上記サム出力を補正するサム出力補正回路
    および次段上位桁のltJ進部分Jet人カを補正する
    桁上げ補正回路とにより1o71キヤリ・セーブ・アダ
    ー・ユニットを474成し、該10 Qキャリ・セーブ
    ・′アダー・ユニットを単数個あるいは複数個組合わせ
    て1υ進ループ・アダーを114成したことを特徴とす
    るio進乗算装ぎC3 (21前記10 進キャリ・セーブ・アター・ユニット
    の判定回路と補正回路部分は、キャリ・セーブ・アダー
    のIO進1桁l〕のサム出力およびキャリ出力を入力と
    するデータ判定回路を備えると共に、該キャリ・セーブ
    ・アダーの10進1桁+ljのサム出ヵに16を法とす
    る6加算回路および16を法とする12加算回路と、上
    記判定回路の判定結果に基づいて上記キャリ・セーブ・
    アダーのto迦1桁巾のサム出力そのものあるいは上記
    6加算回路出方あるいは上記12加算回路出カのいずれ
    かを選択する第1の選択回路と、次段キャリ・セーブ・
    アダーの10進1桁+13の10進部分積入力に設けた
    1加算回路と、上記判定回路の判定結果忙基づいて1o
    進部分積そのものあるいは上記1加算回路出カのいずれ
    かを選択する第2の選択回路とを有することを特徴とす
    る特許請求の範囲第1項記載の10進乗算装置。 (3)前記】0進キヤリ・セーブ・アダー・ユニットの
    判定回路と補正回路部分は、キャリ・セーブ・アダーの
    10進1桁巾のキャリ出力を入力とする第1のデータ判
    定回路と、キャリ・セーブ・アダーの10進1桁巾のサ
    ム出力に16を法とするilの6加算回路と、該第1の
    判定回路の判定結果に基づいて上記キャリ・セーブ・ア
    ダーのlo進1桁巾のサム出力そのものあるいは上記第
    1の6加算回路出力のいずれかを選択する第1の選択回
    路と、上記キャリ・セーブ・アダーの10進1桁117
    のサム出力およびキャリ出力と上記第1の選択回路出方
    と上記キャリ・セーブ・アダーのキャリ出力をlビット
    左シフトした出力を入力と1−るar+ 2のデータ判
    定回路と、上記第1の選択回路出力に16を法とする第
    2の6加算回路と該第2の441定回路の判定結果に基
    づいて上記第1の選択回路出方そのものあるいは第2の
    6加算回路出カのいずJしかを選択する第2の選択回路
    と、次段キャリ・セーブ・アダーの10進1桁巾の用進
    部分槓入カに設けたl加算回路と、上記第2の判足回程
    1の19J定結果に基づいてlO進部分積そのものある
    いは上記1加算回路出力のいずれかを選択する第3の選
    択回路とを有することを特徴とする特許請求の範囲第1
    項記載の10進乗算装置。
JP58119556A 1983-07-01 1983-07-01 10進乗算装置 Granted JPS6011927A (ja)

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 true JPS6011927A (ja) 1985-01-22
JPH0234054B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488629A (en) * 1987-09-29 1989-04-03 Nec Corp Decimal adder

Families Citing this family (9)

* Cited by examiner, † Cited by third party
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
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 乗算方式

Patent Citations (1)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6488629A (en) * 1987-09-29 1989-04-03 Nec Corp Decimal adder

Also Published As

Publication number Publication date
JPH0234054B2 (ja) 1990-08-01
US4677583A (en) 1987-06-30
DE3424078C2 (ja) 1989-06-29
DE3424078A1 (de) 1985-01-10

Similar Documents

Publication Publication Date Title
EP0890899B1 (en) Multiplication method and apparatus
JPS6011927A (ja) 10進乗算装置
US5528529A (en) Electronic multiplying and adding apparatus and method
US7120660B2 (en) Method of and apparatus for modular multiplication
JP3345894B2 (ja) 浮動小数点乗算器
KR920003494B1 (ko) 디지탈 신호처리 시스템에서의 실시간 2's 콤플리멘트코드 숫자의 승산방법 및 회로
EP1672481B1 (en) Division and square root arithmetic unit
US20090013022A1 (en) Multiplier Engine Apparatus and Method
US6519621B1 (en) Arithmetic circuit for accumulative operation
JPS60140429A (ja) 10進乗算装置
US7827226B2 (en) Hybrid arithmetic logic unit
JP2682142B2 (ja) 乗算装置
CN117608522A (zh) 一种大整数乘法运算方法、装置及设备
JPS58137045A (ja) 並列乗算器
JP2777265B2 (ja) 高基数開平演算装置
US20060253522A1 (en) Large number mutpilication method and device
JPH0368415B2 (ja)
JP3074958B2 (ja) 加算機能付きシリアル乗算器
JP2995721B2 (ja) 除算装置および除算方法
US20040093369A1 (en) Multiplication remainder calculator
TW454144B (en) Method and apparatus for reducing the delay in generating saturation flags in an ALU
JP3261600B2 (ja) 剰余乗算器
JPS60230266A (ja) 演算装置
JP2003223316A (ja) 演算処理装置
JP3851025B2 (ja) 除算回路