JPS60258644A - 乗算装置 - Google Patents
乗算装置Info
- Publication number
- JPS60258644A JPS60258644A JP59114748A JP11474884A JPS60258644A JP S60258644 A JPS60258644 A JP S60258644A JP 59114748 A JP59114748 A JP 59114748A JP 11474884 A JP11474884 A JP 11474884A JP S60258644 A JPS60258644 A JP S60258644A
- Authority
- JP
- Japan
- Prior art keywords
- multiplier
- circuit
- bit
- output
- multiplication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
- G06F7/523—Multiplying only
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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、符号付データの乗算装置に関し、乗算器の幅
を乗数および被乗数のデータ蔀の幅の和にとどめても全
ての演算結果が得られるようにするものである。
を乗数および被乗数のデータ蔀の幅の和にとどめても全
ての演算結果が得られるようにするものである。
[従来の技術〕
周知のように計算機では数値を2値数で表わし、2値数
の左側最上位ビットを符号ビット、中間複数ビットを仮
数部例えば正規化された真値部、右端複数ビットを指数
部としたりする。符号ビットは1ピントとし、正数なら
0、負数なら1とするのが普通であるが、演算器では符
号ビットを2ビツトにすることもある。
の左側最上位ビットを符号ビット、中間複数ビットを仮
数部例えば正規化された真値部、右端複数ビットを指数
部としたりする。符号ビットは1ピントとし、正数なら
0、負数なら1とするのが普通であるが、演算器では符
号ビットを2ビツトにすることもある。
計算機では補数もよく用いられる。nビット2値数をA
=An−1・・・・・・A + A oとし、最初の
A n−1は符号ビット、残りのA n−2・・・・・
・A + A aが真値(又は絶対値)とすると、への
1の補数A’ (擬補数)は各ビットを反転させたもの
であり、各ビットAn−1+ ・・・・・・A+、An
を各々の排他オアゲートに与え、該ゲートの他方の入力
にはH(ハイ)レベル″1”を与えることにより得られ
る。AとA′の和はオール1である。Aの2の補数A*
(真補数)はA+A*が1ビット多い100・・・・・
・0になる如き数でA+A* =A+A’ +1の関係
がある。A*をめるにはビット走査法が用いられ、右端
又は下位ビットから“1”を探していって1が発見され
たらそこまでの各ビットはそのま−1以後の各ビットは
反転する;例えばAtビットが最初の1ならA*=χn
−1,入n−2、”’ ・・’ A i+ lA1A1
−1 ・・・・・・A+Aoとする。
=An−1・・・・・・A + A oとし、最初の
A n−1は符号ビット、残りのA n−2・・・・・
・A + A aが真値(又は絶対値)とすると、への
1の補数A’ (擬補数)は各ビットを反転させたもの
であり、各ビットAn−1+ ・・・・・・A+、An
を各々の排他オアゲートに与え、該ゲートの他方の入力
にはH(ハイ)レベル″1”を与えることにより得られ
る。AとA′の和はオール1である。Aの2の補数A*
(真補数)はA+A*が1ビット多い100・・・・・
・0になる如き数でA+A* =A+A’ +1の関係
がある。A*をめるにはビット走査法が用いられ、右端
又は下位ビットから“1”を探していって1が発見され
たらそこまでの各ビットはそのま−1以後の各ビットは
反転する;例えばAtビットが最初の1ならA*=χn
−1,入n−2、”’ ・・’ A i+ lA1A1
−1 ・・・・・・A+Aoとする。
ところで符号ビットとmビット真値(データ)部からな
る2進数の2の補数と、同じく符号ビットとnビットデ
ータ部からなる2進数の2の補数とを乗算する場合、そ
のデータ部の積の最大桁数は、乗数Aが一2r′1.被
乗数Bが一2nのときであり、2”X −2nの乗算結
果(積)の桁数は(m+n+1)になる。他の場合の乗
算結果の桁数は(m+n)桁であり、従って−2”X
−2nの場合のみ他の場合より1桁(1ビツト)多くな
る。なおm、nビットの2進数の最大値は2”−1、2
”−1であるからこれらの積の最大値は2 m+n (
2m4−2n) +1であって(m+n)桁内に収まる
が、2の補数表示をするとその最小値は00・・・・・
・0、これは真数では1.該0の数をm、n個として2
m、2nに相当する。従って積は2I′rI+nとなり
、桁数はm + n +1桁となる。
る2進数の2の補数と、同じく符号ビットとnビットデ
ータ部からなる2進数の2の補数とを乗算する場合、そ
のデータ部の積の最大桁数は、乗数Aが一2r′1.被
乗数Bが一2nのときであり、2”X −2nの乗算結
果(積)の桁数は(m+n+1)になる。他の場合の乗
算結果の桁数は(m+n)桁であり、従って−2”X
−2nの場合のみ他の場合より1桁(1ビツト)多くな
る。なおm、nビットの2進数の最大値は2”−1、2
”−1であるからこれらの積の最大値は2 m+n (
2m4−2n) +1であって(m+n)桁内に収まる
が、2の補数表示をするとその最小値は00・・・・・
・0、これは真数では1.該0の数をm、n個として2
m、2nに相当する。従って積は2I′rI+nとなり
、桁数はm + n +1桁となる。
上述したケースにも対処できるようにするには乗算器の
幅を(m+n+1)ビア)にすればよいが−0稀にしか
起らないケースに対応するために乗算器の幅を広くして
おくことは得策ではない。乗算器は最近では1チツプ型
のものもあるが、通常は各々のチップに構成された同じ
型のバイトスライス乗算回路を所要数配列して構成され
る。そこで最上位側の乗算回路は1ビット多いとなると
、それだけ他とは異なる回路を用意せねばならず、コス
トアップを招く。
幅を(m+n+1)ビア)にすればよいが−0稀にしか
起らないケースに対応するために乗算器の幅を広くして
おくことは得策ではない。乗算器は最近では1チツプ型
のものもあるが、通常は各々のチップに構成された同じ
型のバイトスライス乗算回路を所要数配列して構成され
る。そこで最上位側の乗算回路は1ビット多いとなると
、それだけ他とは異なる回路を用意せねばならず、コス
トアップを招く。
図面で説明すると、一般の演算回路はブース(Boot
h )のアルゴリズムに依るものが用いられ、第2図に
示すように、乗数をデコードするデコーダ10、デコー
ドされた乗数により被乗数をシフトするシフタ12、シ
フタの出力を足し合わせるC3A (キャリーセーブア
ダー)14、及びCSAの出力の和をとり積を出力する
CPA (キャリープロパゲートアダー)16からなる
。これらを実現するには前述の部分ごとにチップ分割す
ることが多いが、C3Aは多入力の加算器であるためバ
イトスライスなどによりチップ分割することが多い。こ
の場合、各バイトスライスC3Aは共通なものを使用で
きればコストが安(て済む。
h )のアルゴリズムに依るものが用いられ、第2図に
示すように、乗数をデコードするデコーダ10、デコー
ドされた乗数により被乗数をシフトするシフタ12、シ
フタの出力を足し合わせるC3A (キャリーセーブア
ダー)14、及びCSAの出力の和をとり積を出力する
CPA (キャリープロパゲートアダー)16からなる
。これらを実現するには前述の部分ごとにチップ分割す
ることが多いが、C3Aは多入力の加算器であるためバ
イトスライスなどによりチップ分割することが多い。こ
の場合、各バイトスライスC3Aは共通なものを使用で
きればコストが安(て済む。
−例として9ビツトと8ビツト(共に最上位ピントは符
号、残りは2の補数表現)の乗算の時−28x 27の
場合を除いて積は(2+5−1)〜−(215−1)と
なり、16ビツト(最上位ビットは符号)で表わせるた
めC3AI4は第3図に示すように1バイトスライスの
チップ2個1.4a、14bで構成できる。しかし−2
8X 27の場合は積が215となり、符号を入れると
17ビツトになってしまうためC3Aも17ビツト幅で
構成せねばならず、1バイトスライスのチップ2個では
構成不可能になる。17ビツト幅にするには第4図に示
すように一方のC3A14Gは9ビツトスライスにする
、または第5図に示すように9ビツトスライスのチップ
2個を用い一方は最上位1ビツトを遊ばせる、他はなく
、前者の場合は共通化できず、後者の場合は無駄が住し
る。
号、残りは2の補数表現)の乗算の時−28x 27の
場合を除いて積は(2+5−1)〜−(215−1)と
なり、16ビツト(最上位ビットは符号)で表わせるた
めC3AI4は第3図に示すように1バイトスライスの
チップ2個1.4a、14bで構成できる。しかし−2
8X 27の場合は積が215となり、符号を入れると
17ビツトになってしまうためC3Aも17ビツト幅で
構成せねばならず、1バイトスライスのチップ2個では
構成不可能になる。17ビツト幅にするには第4図に示
すように一方のC3A14Gは9ビツトスライスにする
、または第5図に示すように9ビツトスライスのチップ
2個を用い一方は最上位1ビツトを遊ばせる、他はなく
、前者の場合は共通化できず、後者の場合は無駄が住し
る。
またCPA16の部分も17ビツト入力にしなくてはい
けないから、回路が大きくなってしまう。
けないから、回路が大きくなってしまう。
本発明は乗算器の幅を(m+n)桁にしたままでm、n
ビットの乗数、被乗数の積の全てのケースに対する乗算
出力を生じさせることができるようにしようとするもの
である。
ビットの乗数、被乗数の積の全てのケースに対する乗算
出力を生じさせることができるようにしようとするもの
である。
本発明の乗算装置は、符号付mビットデータの2の補数
と符号付nビットデータの2の補数との乗算を行う乗算
器と、真補数が同時に一2m、: −’2”であること
を検出して該乗算器の出方を禁止する2mx 2 n検
出回路と、該検出回路が一2m×−2nを検出したとき
予め記憶しである2ni+nを出力する2 出力回路と
、該出力回路の出力と該乗算器の出力を合成するオア回
路とを備えてなることを特徴とするものである。
と符号付nビットデータの2の補数との乗算を行う乗算
器と、真補数が同時に一2m、: −’2”であること
を検出して該乗算器の出方を禁止する2mx 2 n検
出回路と、該検出回路が一2m×−2nを検出したとき
予め記憶しである2ni+nを出力する2 出力回路と
、該出力回路の出力と該乗算器の出力を合成するオア回
路とを備えてなることを特徴とするものである。
このようにすれば乗算器は一2m×−2n以外の乗算を
行えばよいので、その幅は(m + H)ビットで済む
。代りに一2mx−21なる特殊なケースを別回路で検
出し、その積に相当する2 m”nを固定値として出力
する。従って乗算器の幅を(m+n)ビットにしたまま
で全てのケースに応じた乗算結果を出力できる。以下実
施例を参照しながら本発明の構成、作用を更に詳しく説
明する。
行えばよいので、その幅は(m + H)ビットで済む
。代りに一2mx−21なる特殊なケースを別回路で検
出し、その積に相当する2 m”nを固定値として出力
する。従って乗算器の幅を(m+n)ビットにしたまま
で全てのケースに応じた乗算結果を出力できる。以下実
施例を参照しながら本発明の構成、作用を更に詳しく説
明する。
図面は本発明の一実施例を示すブロック図で、1は8×
8ビツトの部分乗算を行なうバイトスライス乗算回路1
1,12.・・・・・・を例えば8個配列して1ビツト
の符号部、7ビツトの指数部、56ビツトのデータ(仮
数)部、計64ビットからなる2数A、 Bの乗算を行
う乗算器である。乗数Aのデータ部がmビット、被乗数
Bのデータ部がnビット(本例ではm=n−56)であ
るとき、この乗算器1には一2mx 2n以外の積Cを
出力させる。2は−2”X −2°の検出回路で、検出
時に乗算器1に対し出力禁止信号INHを与え、また同
時に後段回路3に対しイネーブル信号ENBを与える。
8ビツトの部分乗算を行なうバイトスライス乗算回路1
1,12.・・・・・・を例えば8個配列して1ビツト
の符号部、7ビツトの指数部、56ビツトのデータ(仮
数)部、計64ビットからなる2数A、 Bの乗算を行
う乗算器である。乗数Aのデータ部がmビット、被乗数
Bのデータ部がnビット(本例ではm=n−56)であ
るとき、この乗算器1には一2mx 2n以外の積Cを
出力させる。2は−2”X −2°の検出回路で、検出
時に乗算器1に対し出力禁止信号INHを与え、また同
時に後段回路3に対しイネーブル信号ENBを与える。
検出回路2はデータ部A、Bの最上位ビットが共に負を
示す1であること、そして残りのビットが全てOである
ことをアントゲ−1・及びインバータ等のネットワーク
でハード的に検出する。これが−2m×21のケースで
、これ以外では信号1NH,ENBは生じない。
示す1であること、そして残りのビットが全てOである
ことをアントゲ−1・及びインバータ等のネットワーク
でハード的に検出する。これが−2m×21のケースで
、これ以外では信号1NH,ENBは生じない。
2m+0出力回路3は一2rrIX −2”の積に相当
する2m+0を予めメモリ等に記憶しておき、これを検
出回路2からの信号ENBで出力する。4は乗算器10
出力Cと、これとは排他的に現われる出力回路3の出力
2 をいずれも外部に対しては乗算結果(積)Dとして
出力するオアゲートである。
する2m+0を予めメモリ等に記憶しておき、これを検
出回路2からの信号ENBで出力する。4は乗算器10
出力Cと、これとは排他的に現われる出力回路3の出力
2 をいずれも外部に対しては乗算結果(積)Dとして
出力するオアゲートである。
上記のように一2m×21の検出回路2とその積2m+
1の出力回路3を別設すると、乗算器1はこれ以外のケ
ースに対する乗算出力Cを生じればよいので、その幅は
(m+n)ビットで済む。このため、各乗算回路11,
12.・・・・・・は全て同じもの(チップ)を使用で
きる。因みにこれを(m+n+1)ビット幅にするには
1つの乗算回路を特殊な9×8ビツト型にする必要があ
る。またビン数を1つ増やす等の変更が必要になる。本
回路では1ビツト増加しない分だけ高速化できるという
利点もある。
1の出力回路3を別設すると、乗算器1はこれ以外のケ
ースに対する乗算出力Cを生じればよいので、その幅は
(m+n)ビットで済む。このため、各乗算回路11,
12.・・・・・・は全て同じもの(チップ)を使用で
きる。因みにこれを(m+n+1)ビット幅にするには
1つの乗算回路を特殊な9×8ビツト型にする必要があ
る。またビン数を1つ増やす等の変更が必要になる。本
回路では1ビツト増加しない分だけ高速化できるという
利点もある。
以上述べたように本発明によれば、乗算器としては(m
+n)ピントの幅で符号付mビットデータの2の補数と
符号付nビットデータの2の補数の積を全てのケースに
ついて出力することができる。従って前記の9ビツトと
8ビツトの乗算の場合はバイトスライスのチップ2個で
無駄なくC3Aを構成でき、またCPAも16ビツト入
力であるから大型化しなくて済む。更に−28x 27
の場合は積が直ちにまるから、平均乗算速度も向上させ
得る。
+n)ピントの幅で符号付mビットデータの2の補数と
符号付nビットデータの2の補数の積を全てのケースに
ついて出力することができる。従って前記の9ビツトと
8ビツトの乗算の場合はバイトスライスのチップ2個で
無駄なくC3Aを構成でき、またCPAも16ビツト入
力であるから大型化しなくて済む。更に−28x 27
の場合は積が直ちにまるから、平均乗算速度も向上させ
得る。
第1図は本発明の一実施例を示すブロック図、第2図〜
第5図は従来例を示すブロック図である。 図中、1は乗算器、2は一2m×2n検出回路、3は2
n″+n検出回路、4はオア回路である。 出願人 富士通株式会社 代理人弁理士 青 柳 稔 第1図 B A 第2図 第3図 第4図
第5図は従来例を示すブロック図である。 図中、1は乗算器、2は一2m×2n検出回路、3は2
n″+n検出回路、4はオア回路である。 出願人 富士通株式会社 代理人弁理士 青 柳 稔 第1図 B A 第2図 第3図 第4図
Claims (1)
- 符号付mビットデータの2の補数と符号付nビットデー
タの2の補数との乗算を行う乗算器と、真補数が同時に
−2”、!: −2”であることを検出して該乗算器の
出力を禁止する一2mx 、 21検出回路と、該稜出
回路が一2mx−21を検出したとき予め記憶しである
2m+1を出力する2m+1出力回路と、該出力回路の
出力と該乗算器の出力を合成するオア回路とを備えてな
ることを特徴とする乗算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59114748A JPS60258644A (ja) | 1984-06-05 | 1984-06-05 | 乗算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59114748A JPS60258644A (ja) | 1984-06-05 | 1984-06-05 | 乗算装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS60258644A true JPS60258644A (ja) | 1985-12-20 |
Family
ID=14645683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59114748A Pending JPS60258644A (ja) | 1984-06-05 | 1984-06-05 | 乗算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS60258644A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06342367A (ja) * | 1993-06-01 | 1994-12-13 | Nec Corp | 乗算回路 |
-
1984
- 1984-06-05 JP JP59114748A patent/JPS60258644A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06342367A (ja) * | 1993-06-01 | 1994-12-13 | Nec Corp | 乗算回路 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5500812A (en) | Multiplication circuit having rounding function | |
US3993891A (en) | High speed parallel digital adder employing conditional and look-ahead approaches | |
EP0328063B1 (en) | Absolute value calculating circuit having a single adder | |
US5553012A (en) | Exponentiation circuit utilizing shift means and method of using same | |
US5506799A (en) | Booth array multiplying circuit having carry correction | |
US5367477A (en) | Method and apparatus for performing parallel zero detection in a data processing system | |
US5629885A (en) | Squaring circuit for binary numbers | |
EP0416308A2 (en) | Rectangular array signed digit multiplier | |
US4110831A (en) | Method and means for tracking digit significance in arithmetic operations executed on decimal computers | |
US5862068A (en) | Arithmetic circuit for calculating a square-root of a sum of squares | |
US5153850A (en) | Method and apparatus for modifying two's complement multiplier to perform unsigned magnitude multiplication | |
US20050144214A1 (en) | Shift-and-negate unit within a fused multiply-adder circuit | |
EP0332215B1 (en) | Operation circuit based on floating-point representation | |
JPS60258644A (ja) | 乗算装置 | |
JPH05204602A (ja) | 制御信号の方法と装置 | |
US5798956A (en) | Parallel multiplier | |
EP0512686A2 (en) | Circuitry for rounding in a floating point multiplier | |
Cardarilli et al. | RNS-to-binary conversion for efficient VLSI implementation | |
US6665698B1 (en) | High speed incrementer/decrementer | |
US3975624A (en) | Two's complement subtracting system | |
US6631393B1 (en) | Method and apparatus for speculative addition using a limited carry | |
US4744045A (en) | Divider circuit for encoded PCM samples | |
US4716538A (en) | Multiply/divide circuit for encoder PCM samples | |
KR0172308B1 (ko) | 변형 부스 곱셈기 | |
US4716539A (en) | Multiplier circuit for encoder PCM samples |