JPH0331930A - ディジタル信号処理システムにおける実時間2の補数コードの乗算方法及び装置 - Google Patents
ディジタル信号処理システムにおける実時間2の補数コードの乗算方法及び装置Info
- Publication number
- JPH0331930A JPH0331930A JP2162540A JP16254090A JPH0331930A JP H0331930 A JPH0331930 A JP H0331930A JP 2162540 A JP2162540 A JP 2162540A JP 16254090 A JP16254090 A JP 16254090A JP H0331930 A JPH0331930 A JP H0331930A
- Authority
- JP
- Japan
- Prior art keywords
- multiplier
- partial sum
- msb
- complement
- multiplicand
- 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
Links
- 230000000295 complement effect Effects 0.000 title claims abstract description 54
- 238000000034 method Methods 0.000 title description 5
- 238000007792 addition Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised 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/52—Multiplying; Dividing
-
- 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
- G06F7/53—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
- G06F7/5306—Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel with row wise addition of partial products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/3804—Details
- G06F2207/386—Special constructional features
- G06F2207/3884—Pipelining
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
本発明は、一般にディジタル信号処理システムにおいて
使用される実時間乗算器(高速乗算器)に係り、特にス
トレートコードデータを乗算する代わりに2’s補数コ
ード数を乗算する実時間乗算器に係る。
使用される実時間乗算器(高速乗算器)に係り、特にス
トレートコードデータを乗算する代わりに2’s補数コ
ード数を乗算する実時間乗算器に係る。
従来の技術及び問題点
一般にディジタル信号処理システムは常に正の値を扱う
ものではない。例えば、そのように変換されたディジタ
ル信号を減算することにより新しい値を得るよう、A/
D (アナログ・ディジタル)変換器がアナログ入力デ
ータをディジタル信号に変換する場合を考えると、A−
Bの減算が行われる時、値Aが値Bより大きい場合、出
力は正の値で発生される。ここで、出力データは勿論有
効である。しかし、(mAが値Bより少ない場合、出力
データは負の値として発生され望ましくないことに無効
値になる。
ものではない。例えば、そのように変換されたディジタ
ル信号を減算することにより新しい値を得るよう、A/
D (アナログ・ディジタル)変換器がアナログ入力デ
ータをディジタル信号に変換する場合を考えると、A−
Bの減算が行われる時、値Aが値Bより大きい場合、出
力は正の値で発生される。ここで、出力データは勿論有
効である。しかし、(mAが値Bより少ない場合、出力
データは負の値として発生され望ましくないことに無効
値になる。
従って、ディジタルコードデータは、正の値(数)のみ
ならず、負の値も扱えなければならないことが理解され
る。実際、この為、従来のディジタル信号処理システム
は種々のコードシステムを使用していた。
ならず、負の値も扱えなければならないことが理解され
る。実際、この為、従来のディジタル信号処理システム
は種々のコードシステムを使用していた。
第1に、この為に、コードの値か正であるか負であるか
を付加的に示すコードの一番前に追加ビットを有する符
号振幅コードが用いられる。このコードシステムは、コ
ードの絶対値を示す部分とその符号値を示す他の部分に
分けられる。
を付加的に示すコードの一番前に追加ビットを有する符
号振幅コードが用いられる。このコードシステムは、コ
ードの絶対値を示す部分とその符号値を示す他の部分に
分けられる。
第2に、いわゆる2’s補数コードの基本原理は補数の
概念を用いることである。加算及び減算の両方を一貫的
に計算する為、このコードシステムは一般のディジタル
信号処理システムで広く用いられる。
概念を用いることである。加算及び減算の両方を一貫的
に計算する為、このコードシステムは一般のディジタル
信号処理システムで広く用いられる。
一般のディジタル信号処理システムでは、同し結果かコ
ードシステムにかかわらず得られる。しかし、非常に高
い周波数(恐らく、数十M Hz )が作動クロック用
に用いられる時、種々の特性、特にディジタル信号処理
システムの速度特性はコードシステムに大きく依存する
。実質的なディジタル信号処理システムによると、構成
は、加算器。
ードシステムにかかわらず得られる。しかし、非常に高
い周波数(恐らく、数十M Hz )が作動クロック用
に用いられる時、種々の特性、特にディジタル信号処理
システムの速度特性はコードシステムに大きく依存する
。実質的なディジタル信号処理システムによると、構成
は、加算器。
減算器9乗算器及び除算器の組み合わせとして考えられ
、その全ては入力データコード(例えばストレートコー
ド、符号付き大きさコード又は2’s補数コード)を対
応して処理するためのものである。
、その全ては入力データコード(例えばストレートコー
ド、符号付き大きさコード又は2’s補数コード)を対
応して処理するためのものである。
これらの加算器、減算器9乗算器及び除算器の動作のう
ち、乗算器及び除算器の動作は比較的時間が長い。従っ
て、システム速度は実質的に乗算器及び除算器の構成に
依存する。
ち、乗算器及び除算器の動作は比較的時間が長い。従っ
て、システム速度は実質的に乗算器及び除算器の構成に
依存する。
2’s補数コードシステムは、加算及び減算の両方の一
貫性が数を演算するのに結果良く用いられるよう負の数
が容易に示され、演算できるという点で有利であること
は良く知られている。
貫性が数を演算するのに結果良く用いられるよう負の数
が容易に示され、演算できるという点で有利であること
は良く知られている。
第1A及び18図を参照するに、加算(X十Y)は第1
A図の回路で実施され、一方減算(X−Y)は第1B図
の回路で実施される。上記の2つの回路の間の差は桁上
げで入力端子Cin及び第1B図の回路にのみ含まれる
インバータ108の状態にあることか注目される。すな
わち、桁上げ入力信号が0の時、第1A図の回路は加算
を行ない一方、桁上げ信号が1の時、第1B図の回路は
減算を行う。
A図の回路で実施され、一方減算(X−Y)は第1B図
の回路で実施される。上記の2つの回路の間の差は桁上
げで入力端子Cin及び第1B図の回路にのみ含まれる
インバータ108の状態にあることか注目される。すな
わち、桁上げ入力信号が0の時、第1A図の回路は加算
を行ない一方、桁上げ信号が1の時、第1B図の回路は
減算を行う。
二進演算の一般的理論によると、二進数(加数)の全て
のビットは、加算を実施するよう加算されるべき二進数
の対応ビットに加算される。しかし、二進数の減算に対
し、加数の全てのビットは、加算きるべき二進数の2′
S補数の対応ビットに加算される。2’s捕数の数がビ
S補数の数に1を加算することにより得られるうろこと
は前もって注意されねばならない。この関係は下記の如
く表 されうる; A−B=A+ (−B)=A十π+1 ・・・(1)式
(11は第2図に示す加算器/減算器として具体化され
つる。
のビットは、加算を実施するよう加算されるべき二進数
の対応ビットに加算される。しかし、二進数の減算に対
し、加数の全てのビットは、加算きるべき二進数の2′
S補数の対応ビットに加算される。2’s捕数の数がビ
S補数の数に1を加算することにより得られるうろこと
は前もって注意されねばならない。この関係は下記の如
く表 されうる; A−B=A+ (−B)=A十π+1 ・・・(1)式
(11は第2図に示す加算器/減算器として具体化され
つる。
一方、2’s補数コードが乗算される場合には、2′S
補数コードは符号及び絶対値(コードの大きさ)に分け
られ、先ず絶対値が乗算され、次に符号は別々に補正さ
れる。
補数コードは符号及び絶対値(コードの大きさ)に分け
られ、先ず絶対値が乗算され、次に符号は別々に補正さ
れる。
コードの大きさだけを考えるに、それは2’s補数加算
を繰り返し実施することで得られる。しかし、乗数及び
被乗数が大きい数のコードである場合、システムは、加
算を実施するので複雑になる。
を繰り返し実施することで得られる。しかし、乗数及び
被乗数が大きい数のコードである場合、システムは、加
算を実施するので複雑になる。
この問題を解決する為、装置が2つのコードを加算して
部分和を計算しシステムのハードウェアを簡素化する公
知の装置が一般に用いられる。次に、部分和は、乗算結
果を得る為再び互いに加算される。かかる装置を適合す
る時、演算速度が大きく減少するという最も最大な欠点
がある。
部分和を計算しシステムのハードウェアを簡素化する公
知の装置が一般に用いられる。次に、部分和は、乗算結
果を得る為再び互いに加算される。かかる装置を適合す
る時、演算速度が大きく減少するという最も最大な欠点
がある。
パイプライン構造の乗算器を導入し計算の速度を高める
別な装置が開示される。第3図では、パイプライン構造
を有する従来の振幅乗算器が説明される。図面の全ての
ラッチはシステムクロックと同期される。ラッチ回路3
01はnビットの入力値Yをラッチし、各加算器310
.313.317.323は全て論理ロウ値の桁上げ信
号Cinを供給される。
別な装置が開示される。第3図では、パイプライン構造
を有する従来の振幅乗算器が説明される。図面の全ての
ラッチはシステムクロックと同期される。ラッチ回路3
01はnビットの入力値Yをラッチし、各加算器310
.313.317.323は全て論理ロウ値の桁上げ信
号Cinを供給される。
その後、nビットの入力値Xがラッチ回路302でラッ
チされる場合、ゲート303及び304は値を最下位ビ
ット(LSB)Y、及び第2のLSBピッビットと夫々
論理積演算を行う。同時に、ラッチ306は入力値Xを
ラッチする。次に、加算器310の出力は、ANDゲー
ト308の出力に加算器313で加算されるべきラッチ
回路311でラッチされる。従って、ラッチ回路316
のラッチ出力S、は下式になる。
チされる場合、ゲート303及び304は値を最下位ビ
ット(LSB)Y、及び第2のLSBピッビットと夫々
論理積演算を行う。同時に、ラッチ306は入力値Xを
ラッチする。次に、加算器310の出力は、ANDゲー
ト308の出力に加算器313で加算されるべきラッチ
回路311でラッチされる。従って、ラッチ回路316
のラッチ出力S、は下式になる。
S、=X−Y、+X−Yl ・2
更に、この場合での部分和P3は下式になる。
Ps =X−Yo +X−Y、 ・2+x−Yz ・
2この様にして、部分和は各加算器で得られ、結果は、
被乗数に加算されるべき次の段階に遷移される。
2この様にして、部分和は各加算器で得られ、結果は、
被乗数に加算されるべき次の段階に遷移される。
パイプライン構造を用いるかかる振幅乗算器は実際演算
の速度を高める長所を有する。しかし、この振幅乗算器
が2’s補数を扱わない欠点を依然前する。
の速度を高める長所を有する。しかし、この振幅乗算器
が2’s補数を扱わない欠点を依然前する。
問題点を解決する手段
本発明の目的は、2’s補数の原理を用いることにより
演算速度を上昇できる振幅乗算器を提供することである
。
演算速度を上昇できる振幅乗算器を提供することである
。
本発明の別な目的は、被乗数を2′S補数コードに変換
しないで2つの2′S補数コードを直接演算する振幅乗
算器を提供することである。
しないで2つの2′S補数コードを直接演算する振幅乗
算器を提供することである。
本発明の更に別な目的は、パイプライン構造を有する、
2つの2′S補数コ一ド乗算する改良された振幅乗算器
を提供することである。
2つの2′S補数コ一ド乗算する改良された振幅乗算器
を提供することである。
本発明の更に他の目的は、被乗数の符号及び大きさを別
々に演算しないで、直接2’s補数乗算を用いる乗算器
を提供することである。
々に演算しないで、直接2’s補数乗算を用いる乗算器
を提供することである。
本発明の別な目的は、2′S補数コードの乗算を正確に
実施するばかりでなくパイプライン構造が高速演算を実
施できるようにする方法及び回路を提供することである
。
実施するばかりでなくパイプライン構造が高速演算を実
施できるようにする方法及び回路を提供することである
。
本発明の前記及びその他の目的及び特徴を達成するため
、パイプライン構造を有する振幅乗算器は、乗算器の第
1の所定のビット及び被乗数の第2の所定のビットを受
け、該第2の所定のビット数の回数に対し最下位ビット
(LSB)から遂次乗算された乗数を生じ、先の部分和
の最上位ピッ) (MSB)を該部分和を補正するよう
本部分和のMSBと論理和する部分和補正手段と、被乗
数及び該被乗数の第2の所定のビットのMSBを否定論
理積(ナンド)して作られた値から最終部分和の出力を
減算する2′S補数補正器よりなる。
、パイプライン構造を有する振幅乗算器は、乗算器の第
1の所定のビット及び被乗数の第2の所定のビットを受
け、該第2の所定のビット数の回数に対し最下位ビット
(LSB)から遂次乗算された乗数を生じ、先の部分和
の最上位ピッ) (MSB)を該部分和を補正するよう
本部分和のMSBと論理和する部分和補正手段と、被乗
数及び該被乗数の第2の所定のビットのMSBを否定論
理積(ナンド)して作られた値から最終部分和の出力を
減算する2′S補数補正器よりなる。
実施例
本発明をより明確に理解するため以下図面と共に本発明
による実施例を説明する。
による実施例を説明する。
第4図を参照するに、全てのラッチ回路、 ANDゲー
ト及び加算器が第3図に示す同様の物を示す本発明の振
幅乗算器が示されている。図面では、ANDゲー) 3
03.304の出力の最上位ビット(MSB)値がOR
ゲート401に印加され、ORゲート401の出力がラ
ッチ311に印加され、ANDゲート308からのMS
B出力とラッチ311からのMSB出力がそこの部分和
を補正するようORゲート402に印加される従来の振
幅乗算器と僅か異なっている。同し様に、ラッチ318
からのMS8出力及びラッチ319からのMSB出力は
NANDゲート322に供給され、NANDゲート32
2の出力は、2′S補数コードを補正するよう加算器3
23の入力端子に結合され、その他の入力端子はラッチ
320の出力端子に結合される。この様に、NANDゲ
ート322及びラッチ320の出力に対する減算演算は
実施される。
ト及び加算器が第3図に示す同様の物を示す本発明の振
幅乗算器が示されている。図面では、ANDゲー) 3
03.304の出力の最上位ビット(MSB)値がOR
ゲート401に印加され、ORゲート401の出力がラ
ッチ311に印加され、ANDゲート308からのMS
B出力とラッチ311からのMSB出力がそこの部分和
を補正するようORゲート402に印加される従来の振
幅乗算器と僅か異なっている。同し様に、ラッチ318
からのMS8出力及びラッチ319からのMSB出力は
NANDゲート322に供給され、NANDゲート32
2の出力は、2′S補数コードを補正するよう加算器3
23の入力端子に結合され、その他の入力端子はラッチ
320の出力端子に結合される。この様に、NANDゲ
ート322及びラッチ320の出力に対する減算演算は
実施される。
更にラッチ回路305.306.311.312. A
N Dゲー) 308. ORゲート 402及び
加算器313からなる部分40aと同し複数の部分は、
順次部分40bの各χ・を応する出力端子に結合されう
る。
N Dゲー) 308. ORゲート 402及び
加算器313からなる部分40aと同し複数の部分は、
順次部分40bの各χ・を応する出力端子に結合されう
る。
第5図を参照するに、本発明の特に示された実施例では
、被乗数Xは12ビツトデータで、乗数Yか5ビツトで
ある。この実施例は2つの値X及びYを乗算する例を示
す。
、被乗数Xは12ビツトデータで、乗数Yか5ビツトで
ある。この実施例は2つの値X及びYを乗算する例を示
す。
本発明の説明の便宜上ストレートコードから2’s補数
コードに変換する論理を以下に簡単に説明する。被乗数
IFか乗数IRで乗算されると考える時、2つのコード
値は共に2“S補数コートであり、各値は下記の様にな
る。
コードに変換する論理を以下に簡単に説明する。被乗数
IFか乗数IRで乗算されると考える時、2つのコード
値は共に2“S補数コートであり、各値は下記の様にな
る。
F = F *−1,F 、、、・・・F、、F、、F
、 ・・・(2)(例えばIF=101001) IR= G a−1,G−2,・・・G2.G、、G、
・・・(3)(例えばIR二011001) 上記2′S補数コードの振幅(絶対値)は下式になる。
、 ・・・(2)(例えばIF=101001) IR= G a−1,G−2,・・・G2.G、、G、
・・・(3)(例えばIR二011001) 上記2′S補数コードの振幅(絶対値)は下式になる。
11F l y=−F、 −2・2a−1+ΣF、 2
・・・(4) ・・・(5) 上記の式では、MSBピッピッOの場合、2′S補数コ
ードは正であり、一方、MSBピッピッ1であり、2’
s補数コードは負である。従って、2’s補数コードの
値は下式のように計算される。
・・・(4) ・・・(5) 上記の式では、MSBピッピッOの場合、2′S補数コ
ードは正であり、一方、MSBピッピッ1であり、2’
s補数コードは負である。従って、2’s補数コードの
値は下式のように計算される。
Fv=−2’ +2’ +1=−23(負)・・・(6
)Rv= 2’ +2’ +1= 25 (正)
・・・(7)第4図の演算と同様にパイプライン構造を
有する第5図の乗算器は、所望の乗算を実施するよう上
記の如く繰り返して加算演算を行う。被乗数4F文び乗
数IRか2’s補数コードに変換される場合、値は下式
の如く計算される。
)Rv= 2’ +2’ +1= 25 (正)
・・・(7)第4図の演算と同様にパイプライン構造を
有する第5図の乗算器は、所望の乗算を実施するよう上
記の如く繰り返して加算演算を行う。被乗数4F文び乗
数IRか2’s補数コードに変換される場合、値は下式
の如く計算される。
Rx IF = (IF)
x (−R,−、°2巴−1+ΣR,2,1=lF(R
n 1)・2”−’ 十・−・+lFHR+2’+1
F−R,2° −= (
8)ここてR2は0かlのいずれかである。従って、2
つの2′S補数コードの乗算を行う為、被乗数Fは、R
1の値により各加算でシフトされた後、それ自体に繰り
返し加算される。この演算に関する限り、それはストレ
ートコードの加算演算と同じである。しかし、2’s補
数コードの特別な特性によると、MSBピッピッ演算す
る時、2′S補数コードの乗算演算は、ストレートコー
ドの乗算演算と異なる。即ち、MSBピッピッ値R3−
1が0の場合、ストレートコードを実施する場合のよう
に2′S補数の乗算を実施するに問題はない。しかし、
MSBピッピッ値かlである場合、乗算器かMSBピッ
ピッすなわちこの場合1をその時迄加算された部分和か
ら減算することが必要である。
n 1)・2”−’ 十・−・+lFHR+2’+1
F−R,2° −= (
8)ここてR2は0かlのいずれかである。従って、2
つの2′S補数コードの乗算を行う為、被乗数Fは、R
1の値により各加算でシフトされた後、それ自体に繰り
返し加算される。この演算に関する限り、それはストレ
ートコードの加算演算と同じである。しかし、2’s補
数コードの特別な特性によると、MSBピッピッ演算す
る時、2′S補数コードの乗算演算は、ストレートコー
ドの乗算演算と異なる。即ち、MSBピッピッ値R3−
1が0の場合、ストレートコードを実施する場合のよう
に2′S補数の乗算を実施するに問題はない。しかし、
MSBピッピッ値かlである場合、乗算器かMSBピッ
ピッすなわちこの場合1をその時迄加算された部分和か
ら減算することが必要である。
2′S補数コードの基本理論によると、2’s補数コー
ドを得る為に、コードの全ビットは先ず反転され(1°
S補正され)、次に反転された結果は二進値lを加算
される。従って、第1B図に示す如く、減算は、被乗数
コードの全ビットを反転し、論理lの桁上げ信号を桁上
げ端子Cinに印加することにより実施される。
ドを得る為に、コードの全ビットは先ず反転され(1°
S補正され)、次に反転された結果は二進値lを加算
される。従って、第1B図に示す如く、減算は、被乗数
コードの全ビットを反転し、論理lの桁上げ信号を桁上
げ端子Cinに印加することにより実施される。
この原理に基づいて、2“S補数コードの補正は、第4
図に示す如< (NANDゲート322でラッチ318
.319の出力を否定論理積し、NANDゲート322
の出力をラッチ321の出力に加算することにより実施
されつる。
図に示す如< (NANDゲート322でラッチ318
.319の出力を否定論理積し、NANDゲート322
の出力をラッチ321の出力に加算することにより実施
されつる。
下記で、ORゲート401.402及び403により作
られた部分和の補正を考える為、4ビツト2’s補数コ
ードの例をとる。すなわち、2′S補数コードがIF
= 1100及び1R=Io+1として与えられる場合
、下式になる。
られた部分和の補正を考える為、4ビツト2’s補数コ
ードの例をとる。すなわち、2′S補数コードがIF
= 1100及び1R=Io+1として与えられる場合
、下式になる。
Fv=−2’ +22=−4
Rv=−2’ +2’ +2°ニー5
従って、乗算は下式になる。
1FxlR=−4x−5=20
1 to。
XXXXXXXX
この計算の為、乗数及び被乗数は各ANDゲー) 30
3.304により夫々論理的に乗算され、上記ゲートの
各出力は加算器310に供給され、これにより互いに加
算された出力はラッチ311により作られる。
3.304により夫々論理的に乗算され、上記ゲートの
各出力は加算器310に供給され、これにより互いに加
算された出力はラッチ311により作られる。
従って、2′S補数コードの特別な特性を用いることに
より、乗算は2つのコードを加算することにより2つの
コードに対して実行されつる。この時に、符号拡張はな
されるべきこれは上式でFとして示される。符号拡張は
再び下式で表される。
より、乗算は2つのコードを加算することにより2つの
コードに対して実行されつる。この時に、符号拡張はな
されるべきこれは上式でFとして示される。符号拡張は
再び下式で表される。
11100 部分和
上記計算の結果は、乗数の第2のビットを論理積された
被乗数に加算されるよう加算器313に加算される。次
に、ラッチ311及びANDゲート308のMSBはO
Rゲート 402により論理和され、ORゲート402
の出力はラッチ316に供給され、その出力は下記の様
になる。
被乗数に加算されるよう加算器313に加算される。次
に、ラッチ311及びANDゲート308のMSBはO
Rゲート 402により論理和され、ORゲート402
の出力はラッチ316に供給され、その出力は下記の様
になる。
1101100□部分和
し−一一一一 オーバーフロー
符号拡張がなされた時、オーバーフローか起こることは
上記実施例の計算かられかる。しかし、オーバーフロー
は、それが次の段階であり、符号拡張が自然に行なわれ
るよう用いられるので、コードを補正することは必要で
はない。
上記実施例の計算かられかる。しかし、オーバーフロー
は、それが次の段階であり、符号拡張が自然に行なわれ
るよう用いられるので、コードを補正することは必要で
はない。
この様にして、nビット乗数及び被乗数が夫々ラッチ3
01及び302に印加され、nビット被乗数と論理和(
乗算)されるようANDゲート303゜304に夫々供
給された乗数のLSB、(最小位ビット)及びLSB、
、ANDゲートの出力は各々加算器310により互いに
加算される。この実施例では、ORゲート401は、A
NDゲート303゜304からの出力を加算することに
より作られた部分和を補正するのに用いられる。加算器
310及びORゲー) 401の出力はラッチ311で
ラッチされる。従って、同じ演算は、乗数のMSBか処
理されるまで繰り返される。最後に、ラッチ318から
のMSB及びラッチ319を通ったビット被乗数はNA
NDゲート322により否定論理積される。
01及び302に印加され、nビット被乗数と論理和(
乗算)されるようANDゲート303゜304に夫々供
給された乗数のLSB、(最小位ビット)及びLSB、
、ANDゲートの出力は各々加算器310により互いに
加算される。この実施例では、ORゲート401は、A
NDゲート303゜304からの出力を加算することに
より作られた部分和を補正するのに用いられる。加算器
310及びORゲー) 401の出力はラッチ311で
ラッチされる。従って、同じ演算は、乗数のMSBか処
理されるまで繰り返される。最後に、ラッチ318から
のMSB及びラッチ319を通ったビット被乗数はNA
NDゲート322により否定論理積される。
次に、NANDゲート322の出力及びラッチ320の
出力間の減算は、加算器323により上記出力を加算す
ることにより実行され、一方、桁上げ端子Cinは加算
器310.313.317の桁上げ端子Cinの反転論
理とは反対に反転論理lを受ける。
出力間の減算は、加算器323により上記出力を加算す
ることにより実行され、一方、桁上げ端子Cinは加算
器310.313.317の桁上げ端子Cinの反転論
理とは反対に反転論理lを受ける。
従って、上記計算の結果として、FXRの乗算はうまく
実行される。
実行される。
2’s補数の補正を必要としない上記の場合と反対に、
2’s補数の補正を必要とする別な例を考える。部分和
か例えば二進値+ 1XXXXである場合(ここでXが
「無関係」を表す)、2つの場合が存在しつる。すなわ
ち、一つは乗算の必要を示す論理1である。他は乗算の
不要を示す論理0である。実際、論理が0である時、コ
ードを乗算するのに問題はない。しかし、論理が1であ
る時、その乗数の特性により「部分和十乗算さるべき値
」の演算は下式の如く表される。
2’s補数の補正を必要とする別な例を考える。部分和
か例えば二進値+ 1XXXXである場合(ここでXが
「無関係」を表す)、2つの場合が存在しつる。すなわ
ち、一つは乗算の必要を示す論理1である。他は乗算の
不要を示す論理0である。実際、論理が0である時、コ
ードを乗算するのに問題はない。しかし、論理が1であ
る時、その乗数の特性により「部分和十乗算さるべき値
」の演算は下式の如く表される。
11XXX
該計算から分かる如く、部分和演算の結果はコードの符
号を負の数から正の数に反転させる。
号を負の数から正の数に反転させる。
この誤り計算を補正するため、ORゲート401.40
2、403が用いられる。更に、部分和演算の結果が正
から負に符号を反転する場合、ORゲート401.40
2、403は再びMSBを生じ、これにより乗算−が完
成する。
2、403が用いられる。更に、部分和演算の結果が正
から負に符号を反転する場合、ORゲート401.40
2、403は再びMSBを生じ、これにより乗算−が完
成する。
第5図を参照するに、被乗数が12であり、乗数が5で
ある別な例が示される。即ち、要するに、2’s補数コ
ードを処理する為、本発明の乗算器は、2’s補数コー
ドのMSBビットを処理する最終段階のNANDゲート
322の出力をラッチ320の出力から減算し、桁上げ
入力端子は加算器が減算を行うのを許容する所定の論理
信号を供給される。
ある別な例が示される。即ち、要するに、2’s補数コ
ードを処理する為、本発明の乗算器は、2’s補数コー
ドのMSBビットを処理する最終段階のNANDゲート
322の出力をラッチ320の出力から減算し、桁上げ
入力端子は加算器が減算を行うのを許容する所定の論理
信号を供給される。
部分和の演算では、オーバーフローを補正する為、部分
和のMSBは乗数の対応ビットによってANDゲート3
04.308.315を介して供給される被乗数のMS
Bに論理的に加算される。従って、乗算はMSBビット
を変換する処理により実行されうる。
和のMSBは乗数の対応ビットによってANDゲート3
04.308.315を介して供給される被乗数のMS
Bに論理的に加算される。従って、乗算はMSBビット
を変換する処理により実行されうる。
演算か具体的方法で2“S補数によりなされるか、MS
Bかディジタル信号処理器で補正される場合の2つの2
′SS補数の代わりに一つが2”s補数フードであり、
他のストレートコードである時、第4図のNANDゲー
ト322は、現在のゲートの如<ANDゲートになり、
加算器323の桁上げC1nか「0」に設定される場合
、本発明のこれらの目的は、容易に当業者により実現さ
れつる。
Bかディジタル信号処理器で補正される場合の2つの2
′SS補数の代わりに一つが2”s補数フードであり、
他のストレートコードである時、第4図のNANDゲー
ト322は、現在のゲートの如<ANDゲートになり、
加算器323の桁上げC1nか「0」に設定される場合
、本発明のこれらの目的は、容易に当業者により実現さ
れつる。
発明の効果
従って、本発明は2’s補数コードの正しい計算を行な
い、パイプラインの利点である高速演算を行ない、部分
和のMSB及び乗算数のMSBを補正することによりパ
イプライン振幅乗算器にて不可能である2’s補数を計
算することを可能にするのに効果的である。
い、パイプラインの利点である高速演算を行ない、部分
和のMSB及び乗算数のMSBを補正することによりパ
イプライン振幅乗算器にて不可能である2’s補数を計
算することを可能にするのに効果的である。
本発明を特に望ましい実施例を参照して説明したが、当
業者により詳細な変形を本発明の精神および範囲から逸
脱することなくなしうろことか理解されよう。
業者により詳細な変形を本発明の精神および範囲から逸
脱することなくなしうろことか理解されよう。
第1A及び18図は夫々2’s補数コードを演算する加
算器及び減算器を示す図、 第2図は従来の汎用の加算器/減算器を示す図、第3図
は従来のパイプライン乗算器を示す図、第4図は本発明
によるパイプライン乗算器の回路図、 第5図は本発明による5×12の乗算を示す図である。 100、101.103.104.105.107.2
01.202.205.204.301゜302、30
5.306.307.309.311.312.314
.316.318.319゜320、321.324.
325・・・ラッチ、102.106.203.310
.313、317.323・・・加算器、108・・・
インバータ、303.304、308.315.322
・・・ANDゲート、401.402.403 ・・
・ORゲート。
算器及び減算器を示す図、 第2図は従来の汎用の加算器/減算器を示す図、第3図
は従来のパイプライン乗算器を示す図、第4図は本発明
によるパイプライン乗算器の回路図、 第5図は本発明による5×12の乗算を示す図である。 100、101.103.104.105.107.2
01.202.205.204.301゜302、30
5.306.307.309.311.312.314
.316.318.319゜320、321.324.
325・・・ラッチ、102.106.203.310
.313、317.323・・・加算器、108・・・
インバータ、303.304、308.315.322
・・・ANDゲート、401.402.403 ・・
・ORゲート。
Claims (5)
- (1)ラッチ回路と、複数の加算器とを有するパイプラ
イン乗算器において、 乗算器の第1の所定のビット及び複乗数の第2の所定の
ビットを受け、該第2の所定のビット数の回数に対し最
下位ビット(LSB)から遂次乗算された乗数を生じ、
先の部分和の最上位ビット(MSB)を該部分和を補正
するよう本部分和のMSBと論理和する部分和補正手段
と、 該乗数及び該被乗数の第2の所定のビットのMSBを否
定論理積(ナンド)して作られた補数補正手段とからな
る、 2′S補数コードの乗算装置。 - (2)該部分和補正手段は、先の部分和の各MSB及び
該乗算器に動作可能に結合され、該各MSBを論理和す
る手段と、 該論理和手段の出力及び対応する該部分和の出力が動作
可能に結合され、補正された部分和を生ずる手段とから
なる、 請求項1記載の装置。 - (3)該2′S補数補正手段は、該乗数及び該被乗数に
動作可能に結合され、該被乗数のMSBを基に該乗数を
選択的に転送する手段と、 該転送手段に動作可能に結合され、最終部分和を該転送
手段の出力から減算する手段とからなる、請求項2記載
の装置。 - (4)該論理和手段の数が該被乗数の該第2の所定ビッ
ト数により2だけ少ない請求項2記載の装置。 - (5)第1の所定のビットの乗数及び第2の所定のビッ
トの被乗数を受け、 該第2の所定のビット数の回数に対し最下位ビット(L
SB)から遂次的に乗算された乗数を作り、 該部分和を補正するよう先の部分和の最上位ビット(M
SB)を本部分和のMSBと論理和し、該乗数及び該第
2の所定のビットの被乗数のMSBを否定論理積するこ
とにより生じた値から最終部分和の出力を減算する段階
とからなるパイプライン乗算器の2′S補数コードを乗
算する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1989-8480 | 1989-06-20 | ||
KR1019890008480A KR920003494B1 (ko) | 1989-06-20 | 1989-06-20 | 디지탈 신호처리 시스템에서의 실시간 2's 콤플리멘트코드 숫자의 승산방법 및 회로 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0331930A true JPH0331930A (ja) | 1991-02-12 |
JP2608165B2 JP2608165B2 (ja) | 1997-05-07 |
Family
ID=19287253
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2162540A Expired - Fee Related JP2608165B2 (ja) | 1989-06-20 | 1990-06-20 | ディジタル信号処理システムにおける実時間2の補数コードの乗算方法及び装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5181184A (ja) |
JP (1) | JP2608165B2 (ja) |
KR (1) | KR920003494B1 (ja) |
DE (1) | DE4019646C2 (ja) |
FR (1) | FR2648585B1 (ja) |
GB (1) | GB2234374B (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0576262B1 (en) * | 1992-06-25 | 2000-08-23 | Canon Kabushiki Kaisha | Apparatus for multiplying integers of many figures |
US5404323A (en) * | 1993-11-09 | 1995-04-04 | United Microelectronics Corp. | Pipelined multiplier for signed multiplication |
US5734601A (en) | 1995-01-30 | 1998-03-31 | Cirrus Logic, Inc. | Booth multiplier with low power, high performance input circuitry |
US6347326B1 (en) * | 1999-03-02 | 2002-02-12 | Philips Electronics North America Corporation | N bit by M bit multiplication of twos complement numbers using N/2+1 X M/2+1 bit multipliers |
US6584483B1 (en) * | 1999-12-30 | 2003-06-24 | Intel Corporation | System and method for efficient hardware implementation of a perfect precision blending function |
US7124237B2 (en) * | 2002-10-03 | 2006-10-17 | Seagate Technology Llc | Virtual machine emulation in the memory space of a programmable processor |
JP2006529043A (ja) * | 2003-05-09 | 2006-12-28 | サンドブリッジ テクノロジーズ インコーポレーテッド | 飽和あり、または飽和なしで、オペランドの積和を実行するプロセッサ簡約ユニット |
US8074051B2 (en) * | 2004-04-07 | 2011-12-06 | Aspen Acquisition Corporation | Multithreaded processor with multiple concurrent pipelines per thread |
DE102007056104A1 (de) * | 2007-11-15 | 2009-05-20 | Texas Instruments Deutschland Gmbh | Verfahren und Vorrichtung zur Multiplikation von Binäroperanden |
US12014184B2 (en) | 2019-10-31 | 2024-06-18 | SK Hynix Inc. | Arithmetic devices for neural network including an input distribution signal generation circuit, an output distribution signal generation circuit, and an output distribution signal compensation circuit |
CN112749796B (zh) * | 2019-10-31 | 2024-06-11 | 爱思开海力士有限公司 | 用于神经网络的计算设备 |
US11915125B2 (en) | 2019-10-31 | 2024-02-27 | SK Hynix Inc. | Arithmetic devices for neural network |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR1149028A (fr) * | 1956-04-16 | 1957-12-19 | Electronique & Automatisme Sa | Multiplieur numérique perfectionné |
US3956622A (en) * | 1974-12-20 | 1976-05-11 | Bell Telephone Laboratories, Incorporated | Two's complement pipeline multiplier |
US4761756A (en) * | 1983-08-24 | 1988-08-02 | Amdahl Corporation | Signed multiplier with three port adder and automatic adjustment for signed operands |
US4736335A (en) * | 1984-11-13 | 1988-04-05 | Zoran Corporation | Multiplier-accumulator circuit using latched sums and carries |
-
1989
- 1989-06-20 KR KR1019890008480A patent/KR920003494B1/ko not_active IP Right Cessation
-
1990
- 1990-06-18 FR FR9007569A patent/FR2648585B1/fr not_active Expired - Fee Related
- 1990-06-18 GB GB9013572A patent/GB2234374B/en not_active Expired - Fee Related
- 1990-06-20 US US07/540,686 patent/US5181184A/en not_active Expired - Lifetime
- 1990-06-20 DE DE4019646A patent/DE4019646C2/de not_active Expired - Fee Related
- 1990-06-20 JP JP2162540A patent/JP2608165B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE4019646C2 (de) | 1995-01-19 |
DE4019646A1 (de) | 1991-01-10 |
GB2234374A (en) | 1991-01-30 |
GB9013572D0 (en) | 1990-08-08 |
US5181184A (en) | 1993-01-19 |
FR2648585B1 (fr) | 1997-01-31 |
KR910001535A (ko) | 1991-01-31 |
JP2608165B2 (ja) | 1997-05-07 |
KR920003494B1 (ko) | 1992-05-01 |
FR2648585A1 (fr) | 1990-12-21 |
GB2234374B (en) | 1993-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0331930A (ja) | ディジタル信号処理システムにおける実時間2の補数コードの乗算方法及び装置 | |
US4878192A (en) | Arithmetic processor and divider using redundant signed digit arithmetic | |
JPH01144122A (ja) | 除算回路 | |
KR930001024B1 (ko) | 신경회로망을 이용한 제곱근 연산용 집적회로 | |
US6519621B1 (en) | Arithmetic circuit for accumulative operation | |
EP0436905A2 (en) | High performance adder using carry predictions | |
Kuninobu et al. | High speed MOS multiplier and divider using redundant binary representation and their implementation in a microprocessor | |
EP0472030A2 (en) | Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication | |
JP2645422B2 (ja) | 浮動小数点演算処理装置 | |
US7240085B2 (en) | Faster shift value calculation using modified carry-lookahead adder | |
JP2991788B2 (ja) | 復号器 | |
JPS5966790A (ja) | 演算回路 | |
JP3074958B2 (ja) | 加算機能付きシリアル乗算器 | |
Natarajan et al. | Arithmetic Operations and Circuits | |
KR0176883B1 (ko) | 복소수 승산기 | |
Bisoyi et al. | Design of a Novel Fused Add-Sub Module for IEEE 754-2008 Floating Point Unit in High Speed Applications | |
JP2777265B2 (ja) | 高基数開平演算装置 | |
KR100196520B1 (ko) | 면적 개선을 위한 2의보수 변환 장치 | |
JPS61118835A (ja) | ハ−ドウエア除算器 | |
JP2537876B2 (ja) | 丸め処理回路 | |
KR0161485B1 (ko) | 산술 연산 장치를 이용한 부스 알고리즘 곱셈 연산 장치 | |
JPH10333885A (ja) | 乗算回路 | |
KR0138856B1 (ko) | 다치 논리 부정 연산장치 | |
JPH0285922A (ja) | 演算回路 | |
Chinal | Boolean features of sign-flipping and signed-carry logic in base-2 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080213 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |