JPH0673103B2 - 浮動小数点乗算回路 - Google Patents

浮動小数点乗算回路

Info

Publication number
JPH0673103B2
JPH0673103B2 JP63180340A JP18034088A JPH0673103B2 JP H0673103 B2 JPH0673103 B2 JP H0673103B2 JP 63180340 A JP63180340 A JP 63180340A JP 18034088 A JP18034088 A JP 18034088A JP H0673103 B2 JPH0673103 B2 JP H0673103B2
Authority
JP
Japan
Prior art keywords
carry
product
adder
bits
addition
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 - Fee Related
Application number
JP63180340A
Other languages
English (en)
Other versions
JPH0231226A (ja
Inventor
邦彦 坂田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP63180340A priority Critical patent/JPH0673103B2/ja
Publication of JPH0231226A publication Critical patent/JPH0231226A/ja
Publication of JPH0673103B2 publication Critical patent/JPH0673103B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) この発明は、浮動小数点数を処理する計算機に好適な浮
動小数点乗算回路に関する。
(従来の技術) 浮動小数点数の乗算を倍数の加算により処理する方式で
は、仮数部の処理は従来は第3図の回路を用いて行われ
ていた。即ち第3図の構成においては、入力データX,Y
(の仮数部)を乗算して積(仮数部積)Zを得る場合
に、まず倍数発生回路11によりYによって選択されるX
の倍数が複数個発生される。このXの倍数の選択は、一
般にXを1ビットずつ左シフトした値を入力データYの
ビットの重みに従って行われるため、この選択されるX
の倍数はYのビット幅分の個数だけ発生する。これらの
倍数を全て加算することによって積Zが得られるが、1
個ずつの倍数をキャリールックアヘッドアダー(以下、
CLAと称する)で加算していくのでは1個の倍数加算毎
にキャリーの伝播が上位ビットまであるので遅延時間が
大きくなりすぎる。そのため、第3図に示すようにキャ
リー保存方式のキャリーセーブアダー(以下、CSAと称
する)12が用いられる。
CSA12においては、第4図の(PA1,PA2の2ビットから成
る)PA,(PB1,PB2の2ビットから成る)PB,(PC1,PC2の
2ビットから成る)PCの3入力の2ビットの例に示すよ
うに、アダー12-1のキャリーCは同じ段の上位のアダー
12-2のキャリー入力CIに伝播していくのではなく、次段
のアダー12-3,12-4のうちの上位のアダー12-4のキャリ
ー入力となる。このため、加算する入力の個数−1個の
アダーを通ることにより、2個の部分積、即ちPA,PB並
びにPCのキャリー伝播のない加算結果であるPDと保存さ
れたキャリー群であるPEを得ることができる。この2個
の部分積を第3図に示すCLA(#1)13により加算する
ことにより積が得られる。
さて、CLA(#1)13で生成される積は、(データXの
ビット幅)+(データYのビット幅)のビット幅(通常
X,Yは同一ビット幅であることから、入力データの2倍
長のビット幅)を持つ。しかし、浮動小数点数の乗算の
場合、結果のビット幅も入力のビット幅と同じにする必
要がある。そこで、第5図に示すようにCLA(#1)13
の出力結果である積14のうち、浮動小数点数の積として
必要なビット数分のデータ15を上位から取出し、このデ
ータ15の次の下位ビット16をCLA(#2)17のキャリー
入力とすることにより0捨1入(即ち丸め動作)を行
い、入力データX,Yに対する最終的な乗算結果(積)Z
を求める。
(発明が解決しようとする課題) 上記したように従来の浮動小数点乗算回路では、CSAを
使用してキャリーの伝播を少なくし、遅延時間を少なく
しようとしている。しかし、積を求めるためにCLA(#
1)によりキャリーの伝播を行った後、丸めを次の段の
CLA(#2)によって行っているため、二重にキャリー
の伝播が発生し、浮動小数点乗算の仮数部処理の高速化
が十分に図れないという問題があった。
したがってこの発明は、キャリーの伝播が二重に発生す
ることが防止でき、もって浮動小数点乗算の仮数部処理
の高速化が図れるようにすることを解決すべき課題とす
る。
[発明の構成] (課題を解決するための手段) この発明は、2つの乗算対象浮動小数点数の仮数部を入
力して複数個の倍数を発生し、この複数個の倍数を対象
にキャリー伝播のない加算を行ってその加算結果である
第1の部分積並びに保存されたキャリー群である第2の
部分積を求め、この第1並びに第2の部分積をもとに仮
数部の積を生成する浮動小数点乗算回路に、上記第1並
びに第2の部分積の下位部分のキャリー伝播のある加算
を行う第1加算器と、第1並びに第2の部分積の上位部
分のキャリー伝播のない加算を行う第2加算器と、この
第2加算器の加算結果並びに保存されたキャリー群およ
び上記第1加算器の加算によって生成される上位部分へ
のキャリー並びに丸めビットを加算して必要なビット数
の仮数部の積を生成する第3加算器とを設けたことを特
徴とする。
(作用) 上記の構成によれば、第2並びに第2の部分積がそれぞ
れ上位部分と下位部分に二分され、下位部分については
キャリー伝播のある第1加算器で加算が行われ、上位部
分についてはキャリー伝播のない第2加算器で加算が行
われる。そして、第2加算器の加算結果並びに保存され
たキャリー群および第1加算器の加算によって生成され
る上位部分へのキャリー並びに丸めビットが第3加算器
で加算され、仮数部積の生成と丸めとが同時に行われ
る。明らかなように、以上の第1並びに第2の部分積の
加算に関し、上位部分についてはキャリー伝播は発生せ
ず、したがって浮動小数点乗算の仮数部処理速度が向上
する。
(実施例) 第1図はこの発明の一実施例に係る浮動小数点乗算回路
のブロック構成を示す。同図において、21は浮動小数点
数で表現される2つの乗算対象入力データ(の仮数部)
X,Yをもとに複数個の倍数(部分積の群)を生成する
(第3図の倍数発生回路11に対応する)倍数発生回路、
22は倍数発生回路21で生成された複数個の倍数を高速で
加算して2つの部分積23,24(ここでは4ビット)を生
成するキャリー伝播のないキャリー保存方式の加算器、
即ち(第3図のCSA12に対応する)CSA(キャリーセーブ
アダー)である。25はCSA22で生成された2つの部分積2
3,24の下位半分を加算して上位半分へのキャリー26と丸
めビット27を生成するキャリー伝播のある加算器、即ち
CLA(キャリールックアヘッドアダー)、28はCSA22で生
成された2つの部分積23,24の上位半分を加算してビッ
ト位置の1ビットずれた2つの部分積29,30を生成するC
SAである。この例において、部分積29は部分積23,24の
上位半分のキャリー伝播のない加算結果を示し、部分積
30はこの加算時の各ビット位置からの(伝播されない)
保存されたキャリー出力ビットの群を示す。31はCSA28
で生成された2つの部分積29,30とCLA25からのキャリー
26並びに丸めビット27とを加算して浮動小数点数の仮数
部積Zを生成するCLAである。
次に、第1図の構成の動作を説明する。
まず倍数発生回路21は、X,Y2個の入力データの仮数部が
入力されると、入力データYによって選択されるXの倍
数(部分積)を複数個発生する。倍数発生回路21で発生
された複数個の倍数はCSA22に入力される。CSA22は、倍
数発生回路21からの複数個の倍数をもとに、入力データ
X,Yの2倍のビット幅を持つ2つの部分積23,24を発生す
る。部分積24は複数個の倍数のキャリー伝播のない加算
結果であり、部分積23はこのキャリー伝播のない加算に
おいて保存されたキャリー群である。ここまでの動作
は、第3図に示した従来の浮動小数点乗算回路における
倍数発生回路11およびCSA12の動作と変わらない。
CSA22によって2つの部分積23,24が生成されると、この
部分積23,24を加算して積を生成し、丸め動作を行うの
が一般的である。しかし、ビット幅2倍長の積を生成し
た後で丸め動作を実行するのでは、キャリーの伝播が一
旦最上位まで行われた後で、丸め動作時に再度キャリー
の伝播が最上位まで行われるので、効率が良くない。そ
こで、この実施例では、CLA25によって部分積23,24の下
位半分の加算を行い、CSA28とCLA31の組合わせにより、
部分積23,24の上位半分の加算と丸め動作を同時に実行
することにより、浮動小数点数の仮数部積Zを生成する
ようにしている。この加算の動作について、仮数部のビ
ット幅が2ビットの場合の例を示した第2図を第1図と
併用して説明する。
まず第1図に示すCSA22からはビット幅が入力データX,Y
(仮数部)の2倍となった2つの部分積(ここでは4ビ
ット)23,24が出力される。この部分積23,24のそれぞれ
下位半分(下位2ビット)はCLA25に入力される。このC
LA25は、2ビット分の全加算器で構成される。この例で
は、入力データが2ビット長しかないため、リップルキ
ャリーでキャリーが接続されているが、ビット長が長い
場合にはルックアヘッドキャリー方式が一般には適用さ
れる。CLA25は、上記部分積23,24の各下位2ビットの加
算を行い、ビット幅2倍長の積の下位半分と上位へのキ
ャリー26を生成する。このうち、積の仮数部の生成に必
要とされるのは、上位へのキャリー26と、積の下位半分
のうちの最上位ビット(MSB)である丸めビット27であ
り、他は不要となる。
一方、上記部分積23,24のそれぞれ上位半分(上位2ビ
ット)はCSA28に入力される。CSA28は、上記したCLA25
における部分積23,24の下位2ビットの加算と並行し
て、部分積23,24の上位2ビットの加算を行う。このCSA
28においては、キャリー伝播がなく、またCLA25からの
(下位2ビットの加算に伴う)キャリーの伝播もないた
め、CLA25の加算(下位2ビットの加算)より先に加算
が終了し、(キャリー伝播のない)上位2ビットの加算
結果である部分積29と、保存されたキャリー1ビット
(一般にビット長がnの場合には、キャリービットはn
−1ビット)である部分積30が生成される。ここで、積
は倍長を越えることはないため、最上位ビットからのキ
ャリー出力はあり得ない。即ち部分積30は部分積29より
1ビット少ない。
CSA28で生成された部分積29,30はCLA31に入力される。
このCLA31には、CLA25で生成されるキャリー26および丸
めビット27も入力される。CLA31は、CSA28からの部分積
29(即ち部分積23,24の上位2ビットのキャリー伝播な
し加算結果)並びに部分積30(即ち部分積23,24の上位
2ビットの加算時の伝播されないキャリービット、ここ
では1ビット)、およびCLA25からのキャリー26並びに
丸めビット27を加算し、即ちX,Yの仮数部(2ビット)
の積の上位2ビットの生成と丸めとを同時に行い、2ビ
ットの積(仮数部積)Zを得る。
上記した浮動小数点乗算回路では、入力データの仮数部
が2ビット構成の場合、キャリーの伝播はCLA25におけ
る2ビット分と、CLA31における2ビット分の計4ビッ
トしか発生しない。これに対して、従来の浮動小数点乗
算回路では、積の生成で4ビット分、丸め動作で2ビッ
ト分の計6ビット分のキャリー伝播がある。即ちこの実
施例によれば、入力データの仮数部が2ビット構成の場
合には、従来に比べて2ビット分キャリーの伝播が不要
となり、処理の高速化が図れる。
[発明の効果] 以上詳述したようにこの発明によれば、部分積の加算を
上位部分と下位部分とに分けて実行し、上位部分につい
てはキャリー伝播のない加算を行い、その補正のための
加算についてはキャリー伝播のある加算器により丸め動
作と同時に行うようにしたので、上位部分について二重
のキャリー伝播が発生することが防止でき、浮動小数点
乗算の仮数部処理の高速化が図れる。
【図面の簡単な説明】
第1図はこの発明の一実施例に係る浮動小数点乗算回路
のブロック構成図、第2図は第1図の回路のこの発明に
直接関係する部分の具体的構成を示すブロック構成図、
第3図は従来例を示すブロック構成図、第4図は第3図
のCSA12の一部の具体的構成を示す図、第5図は第3図
の構成における丸め動作を説明するための図である。 21……倍数発生回路、22……CSA(キャリーセーブアダ
ー)、23,24,29,30……部分積、25……CLA(キャリール
ックアヘッドアダー、第1加算器)、26……キャリー、
27……丸めビット、28……CSA(第2加算器)、31……C
LA(第3加算器)。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】2つの乗算対象浮動小数点数の仮数部を入
    力して複数個の倍数を発生し、この複数個の倍数を対象
    にキャリー伝播のない加算を行ってその加算結果である
    第1の部分積並びに保存されたキャリー群である第2の
    部分積を求め、この第1並びに第2の部分積をもとに必
    要なビット数の仮数部の積を生成する浮動小数点乗算回
    路において、 上記第1並びに第2の部分積の下位部分のキャリー伝播
    のある加算を行い、上位部分へのキャリー並びに丸めビ
    ットを生成する第1加算器と、上記第1並びに第2の部
    分積の上位部分のキャリー伝播のない加算を行い、その
    加算結果である第3の部分積並びに保存されたキャリー
    群である第4の部分積を生成するキャリー保存方式の第
    2加算器と、この第2加算器からの第3並びに第4の部
    分積および上記第1加算器からのキャリー並びに丸めビ
    ットを加算して、上記必要なビット数の仮数部の積を生
    成する第3加算器とを具備することを特徴とする浮動小
    数点乗算回路。
JP63180340A 1988-07-21 1988-07-21 浮動小数点乗算回路 Expired - Fee Related JPH0673103B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63180340A JPH0673103B2 (ja) 1988-07-21 1988-07-21 浮動小数点乗算回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63180340A JPH0673103B2 (ja) 1988-07-21 1988-07-21 浮動小数点乗算回路

Publications (2)

Publication Number Publication Date
JPH0231226A JPH0231226A (ja) 1990-02-01
JPH0673103B2 true JPH0673103B2 (ja) 1994-09-14

Family

ID=16081512

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63180340A Expired - Fee Related JPH0673103B2 (ja) 1988-07-21 1988-07-21 浮動小数点乗算回路

Country Status (1)

Country Link
JP (1) JPH0673103B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100438566B1 (ko) * 1996-12-10 2004-08-09 엘지전자 주식회사 디지탈신호처리기의반올림처리회로

Also Published As

Publication number Publication date
JPH0231226A (ja) 1990-02-01

Similar Documents

Publication Publication Date Title
US4168530A (en) Multiplication circuit using column compression
US5880985A (en) Efficient combined array for 2n bit n bit multiplications
JP2976114B2 (ja) 加算器回路
EP0613082B1 (en) 4:2 adder and multiplier circuit employing the same
WO1993022721A1 (en) Compact multiplier
JPH0447849B2 (ja)
US6018758A (en) Squarer with diagonal row merged into folded partial product array
US6065033A (en) Wallace-tree multipliers using half and full adders
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
US5177703A (en) Division circuit using higher radices
US5060183A (en) Parallel multiplier circuit using matrices, including half and full adders
US4727507A (en) Multiplication circuit using a multiplier and a carry propagating adder
US5142490A (en) Multiplication circuit with storing means
US4843585A (en) Pipelineable structure for efficient multiplication and accumulation operations
US5677863A (en) Method of performing operand increment in a booth recoded multiply array
KR950006582B1 (ko) 부동 소숫점 승산기의 반올림용 회로소자
US4811270A (en) Merged CCD/MOS integrated circuit
EP0529755B1 (en) Method and apparatus for negating an operand of a multiplication operation
JP3227538B2 (ja) 2進整数乗算器
US5327368A (en) Chunky binary multiplier and method of operation
KR100265355B1 (ko) 마이크로프로세서에서 2사이클 파이프라인방식으로 부동소수점 데이터를 곱셈 연산하는 장치
US6742011B1 (en) Apparatus and method for increasing performance of multipliers utilizing regular summation circuitry
US5148388A (en) 7 to 3 counter circuit
JPS5911445A (ja) 乗算器
JPH0231226A (ja) 浮動小数点乗算回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees