JPH0773015A - 固定小数点データ加算装置 - Google Patents
固定小数点データ加算装置Info
- Publication number
- JPH0773015A JPH0773015A JP5217173A JP21717393A JPH0773015A JP H0773015 A JPH0773015 A JP H0773015A JP 5217173 A JP5217173 A JP 5217173A JP 21717393 A JP21717393 A JP 21717393A JP H0773015 A JPH0773015 A JP H0773015A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- fixed
- overflow
- point data
- operand
- 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
- 238000001514 detection method Methods 0.000 claims description 22
- 230000000295 complement effect Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Abstract
(57)【要約】
【構成】 オペランドの負の数と最終キャリーおよび符
号部の値との組合わせからオーバーフローとなる場合を
検出する。 【効果】 従来よりも少ないの量のハードウエアで固定
小数点データを加算した場合のオーバーフローを検出す
ることが可能になり、従ってハードウエア量を削減する
ことができる。
号部の値との組合わせからオーバーフローとなる場合を
検出する。 【効果】 従来よりも少ないの量のハードウエアで固定
小数点データを加算した場合のオーバーフローを検出す
ることが可能になり、従ってハードウエア量を削減する
ことができる。
Description
【0001】
【産業上の利用分野】本発明は、2の補数で表現された
3個以上の固定小数点データを加算するための加算回路
に関し、特に固定小数点のオーバーフローを検出できる
固定小数点データ加算装置に関する。
3個以上の固定小数点データを加算するための加算回路
に関し、特に固定小数点のオーバーフローを検出できる
固定小数点データ加算装置に関する。
【0002】
【従来の技術】2の補数で表現された3個以上の固定小
数点データを加算するための加算回路のうち、特に固定
小数点のオーバーフローを検出できる従来の固定小数点
データ加算装置は、加算器内でオペランドの符号を上位
の方に拡張して演算を行い、その結果の符号ビットと拡
張したビットとが不一致の場合にオーバーフローを検出
している。
数点データを加算するための加算回路のうち、特に固定
小数点のオーバーフローを検出できる従来の固定小数点
データ加算装置は、加算器内でオペランドの符号を上位
の方に拡張して演算を行い、その結果の符号ビットと拡
張したビットとが不一致の場合にオーバーフローを検出
している。
【0003】
【発明が解決しようとする課題】上述したように、従来
の固定小数点データ加算装置は、符号付き固定小数点演
算オーバーフローを検出するため、加算器内でオペラン
ドの符号を上位の方に拡張しなければならないため、ハ
ードウエアの量が多くなるという欠点を有している。
の固定小数点データ加算装置は、符号付き固定小数点演
算オーバーフローを検出するため、加算器内でオペラン
ドの符号を上位の方に拡張しなければならないため、ハ
ードウエアの量が多くなるという欠点を有している。
【0004】
【課題を解決するための手段】本発明の固定小数点デー
タ加算装置は、2の補数で表現された3個以上の固定小
数点データを加算する加算回路と、前記3個以上の固定
小数点データのオペランドの負の数を検出するオペラン
ド負数検出回路と、前記加算回路からの情報によって2
個の最終キャリーを生成する最終キャリー生成回路と、
前記オペランド負数検出回路からのオペランドの負の数
と前記最終キャリー生成回路からの2個の最終キャリー
および前記加算回路からの符号部の組合わせとによって
固定小数点のオーバーフローを検出するオーバーフロー
検出回路とを備えている。
タ加算装置は、2の補数で表現された3個以上の固定小
数点データを加算する加算回路と、前記3個以上の固定
小数点データのオペランドの負の数を検出するオペラン
ド負数検出回路と、前記加算回路からの情報によって2
個の最終キャリーを生成する最終キャリー生成回路と、
前記オペランド負数検出回路からのオペランドの負の数
と前記最終キャリー生成回路からの2個の最終キャリー
および前記加算回路からの符号部の組合わせとによって
固定小数点のオーバーフローを検出するオーバーフロー
検出回路とを備えている。
【0005】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0006】図1は本発明の一実施例を示すブロック図
である。
である。
【0007】図1の実施例は、2の補数で表現された3
個の固定小数点データAおよびBおよびCを加算する加
算回路1と、固定小数点データAおよびBおよびCのオ
ペランドの負の数を検出するオペランド負数検出回路2
と、加算回路1に接続され、固定小数点データAおよび
BおよびCの加算結果から最終キャリィC0 およびC1
を生成する最終キャリィ生成回路3と、加算回路1およ
び最終キャリィ生成回路3およびオペランド負数検出回
路2に接続され、オペランド負数検出回路2で検出され
たオペランドの負の数と、最終キャリィ生成回路3で生
成された最終キャリィC0 およびC1 と、加算回路1の
加算結果の符号Sとの組合わせから、固定小数点のオー
バーフローを検出するオーバーフロー検出回路4とを備
えている。
個の固定小数点データAおよびBおよびCを加算する加
算回路1と、固定小数点データAおよびBおよびCのオ
ペランドの負の数を検出するオペランド負数検出回路2
と、加算回路1に接続され、固定小数点データAおよび
BおよびCの加算結果から最終キャリィC0 およびC1
を生成する最終キャリィ生成回路3と、加算回路1およ
び最終キャリィ生成回路3およびオペランド負数検出回
路2に接続され、オペランド負数検出回路2で検出され
たオペランドの負の数と、最終キャリィ生成回路3で生
成された最終キャリィC0 およびC1 と、加算回路1の
加算結果の符号Sとの組合わせから、固定小数点のオー
バーフローを検出するオーバーフロー検出回路4とを備
えている。
【0008】次に、上述のように構成した固定小数点デ
ータ加算装置の動作について説明する。
ータ加算装置の動作について説明する。
【0009】2の補数で表現された3個の固定小数点デ
ータを加算したときにオーバーフローを発生する場合に
ついて、具体例によって考察する。具体例は、4ビット
形式の固定小数点データを取扱うものとし、ビット0は
符号部とする。
ータを加算したときにオーバーフローを発生する場合に
ついて、具体例によって考察する。具体例は、4ビット
形式の固定小数点データを取扱うものとし、ビット0は
符号部とする。
【0010】取扱うデータをXとすると、データXの表
現範囲は、 −8≦X≦7 ………式(1) である。
現範囲は、 −8≦X≦7 ………式(1) である。
【0011】オペランドの負の数が0個の場合は、入力
オペランドをAおよびBおよびCとし、AおよびBおよ
びCを正の数とすると、AおよびBおよびCのとる範囲
は、0≦A≦7,0≦B≦7,0≦C≦7である。これ
らを加算回路1において加算した結果は、0≦A+B+
C≦21の範囲内となる。
オペランドをAおよびBおよびCとし、AおよびBおよ
びCを正の数とすると、AおよびBおよびCのとる範囲
は、0≦A≦7,0≦B≦7,0≦C≦7である。これ
らを加算回路1において加算した結果は、0≦A+B+
C≦21の範囲内となる。
【0012】しかし、式(1)によってデータの表現範
囲が制限されているため、 8≦A+B+C≦21 ………式(2) の範囲は表現することができず、オーバーフローとな
る。
囲が制限されているため、 8≦A+B+C≦21 ………式(2) の範囲は表現することができず、オーバーフローとな
る。
【0013】例えば、A=7,B=7,C=7のときの
加算結果Fは、次のようになる。
加算結果Fは、次のようになる。
【0014】
【0015】式(2)を2の補数で表わすと、次のよう
になる。
になる。
【0016】
【0017】これから、上位の3ビットが“010”お
よび“001”のとき、オーバーフローであると判断で
きる。すなわち、上位の3ビットを上から順に C0 ,
C1,S (C0 およびC1 を最終キャリーと呼び、S
を符号部と呼ぶ)とすると、オペランドの負の数が0個
の場合は、 (C0 ,C1 ,S)=(0,1,0)および(0,0,
1) のとき、オーバーフローとなる。
よび“001”のとき、オーバーフローであると判断で
きる。すなわち、上位の3ビットを上から順に C0 ,
C1,S (C0 およびC1 を最終キャリーと呼び、S
を符号部と呼ぶ)とすると、オペランドの負の数が0個
の場合は、 (C0 ,C1 ,S)=(0,1,0)および(0,0,
1) のとき、オーバーフローとなる。
【0018】オペランドの負の数が1個の場合は、入力
オペランドをAおよびBおよびCとし、Aを負の数と
し、BおよびCを正の数とすると、AおよびBおよびC
のとる範囲は、 −8≦A≦−1,0≦B≦7,0≦C
≦7である。これらを加算回路1において加算した結果
は、 −8≦A+B+C≦13 の範囲内となる。
オペランドをAおよびBおよびCとし、Aを負の数と
し、BおよびCを正の数とすると、AおよびBおよびC
のとる範囲は、 −8≦A≦−1,0≦B≦7,0≦C
≦7である。これらを加算回路1において加算した結果
は、 −8≦A+B+C≦13 の範囲内となる。
【0019】しかし、式(1)によってデータの表現範
囲が制限されているため、 8≦A+B+C≦13 ………式(3) の範囲は表現することができず、オーバーフローとな
る。
囲が制限されているため、 8≦A+B+C≦13 ………式(3) の範囲は表現することができず、オーバーフローとな
る。
【0020】例えば、A=−1,B=7,C=7のとき
の加算結果Fは、次のようになる。
の加算結果Fは、次のようになる。
【0021】
【0022】また、A=−6,B=7,C=7のときの
加算結果Fは、次のようになる。
加算結果Fは、次のようになる。
【0023】
【0024】式(3)を2の補数で表わすと、次のよう
になる。
になる。
【0025】
【0026】これらから、オペランドの負の数が1個の
場合にオーバーフローとなるのは、(011000)2
〜(011101)2 の範囲であることがわかる。
場合にオーバーフローとなるのは、(011000)2
〜(011101)2 の範囲であることがわかる。
【0027】すなわち、オペランドの負の数が1個の場
合は、 (C0 ,C1 ,S)=(0,1,1) のとき、オーバーフローとなる。
合は、 (C0 ,C1 ,S)=(0,1,1) のとき、オーバーフローとなる。
【0028】同様に、オペランドの負の数が2個の場
合、およびオペランドの負の数が3個の場合の(C0 ,
C1 ,S)の組合わせを求めることができる。
合、およびオペランドの負の数が3個の場合の(C0 ,
C1 ,S)の組合わせを求めることができる。
【0029】表1は、このようにして求めたオーバーフ
ローとなる場合のオペランドの負の数と(C0 ,C1 ,
S)の組合わせを示したものである。
ローとなる場合のオペランドの負の数と(C0 ,C1 ,
S)の組合わせを示したものである。
【0030】
【表1】
【0031】以上の結果から、オペランドの負の数と最
終キャリーおよび符号部の値との組合わせから、オーバ
ーフローとなる場合の検出が可能である。
終キャリーおよび符号部の値との組合わせから、オーバ
ーフローとなる場合の検出が可能である。
【0032】次に、本実施例の動作について説明する。
【0033】2の補数で表現された3個の固定小数点デ
ータAおよびBおよびCを加算回路1に入力して加算を
行い、その結果を最終キャリィ生成回路3に出力する。
最終キャリィ生成回路3は、加算回路1からの情報から
最終キャリーC0 およびC1を生成してオーバーフロー
検出回路4に出力する。一方、オペランド負数検出回路
2は、3個の固定小数点データAおよびBおよびCの符
号ビットを入力し、それらからオペランドの負の数を検
出してオーバーフロー検出回路4に出力する。オーバー
フロー検出回路4は、最終キャリィ生成回路3からの最
終キャリーC0およびC1 と、オペランド負数検出回路
2からのオペランドの負の数と、加算回路1の演算結果
の符号部Sとを入力し、表1の組合わせを参照してオー
バーフローを検出する。
ータAおよびBおよびCを加算回路1に入力して加算を
行い、その結果を最終キャリィ生成回路3に出力する。
最終キャリィ生成回路3は、加算回路1からの情報から
最終キャリーC0 およびC1を生成してオーバーフロー
検出回路4に出力する。一方、オペランド負数検出回路
2は、3個の固定小数点データAおよびBおよびCの符
号ビットを入力し、それらからオペランドの負の数を検
出してオーバーフロー検出回路4に出力する。オーバー
フロー検出回路4は、最終キャリィ生成回路3からの最
終キャリーC0およびC1 と、オペランド負数検出回路
2からのオペランドの負の数と、加算回路1の演算結果
の符号部Sとを入力し、表1の組合わせを参照してオー
バーフローを検出する。
【0034】上述の動作を具体例で説明する。
【0035】2の補数で表現された3個の4ビット固定
小数点データAおよびBおよびCをそれぞれ A=7,
B=7,C=7 とすると、これらの加算回路1におけ
る加算結果は、(0101)2 となる。 A+B+C
=21>7 であるため、オーバーフローとなる。この
とき加算回路1は、符号部S=0 をオーバーフロー検
出回路4に出力する。加算回路1はまた、最終キャリィ
を生成するために必要な情報を最終キャリィ生成回路3
に出力し、最終キャリィ生成回路3は、最終キャリーC
0 =0およびC1 =1を生成する。オペランド負数検出
回路2は、オペランドAおよびBおよびCの符号ビット
a0 =0およびb0 =0およびc0 =0を入力し、それ
らから オペランドの負の数=0 を検出する。オーバ
ーフロー検出回路4は、オペランド負数検出回路2で検
出された オペランドの負の数=0 と、最終キャリィ
生成回路3で生成された 最終キャリーC0 =0および
C1 =1 と、加算回路1から出力された 符号部S=
0 とから、表1の組合わせを参照してオーバーフロー
を検出する。
小数点データAおよびBおよびCをそれぞれ A=7,
B=7,C=7 とすると、これらの加算回路1におけ
る加算結果は、(0101)2 となる。 A+B+C
=21>7 であるため、オーバーフローとなる。この
とき加算回路1は、符号部S=0 をオーバーフロー検
出回路4に出力する。加算回路1はまた、最終キャリィ
を生成するために必要な情報を最終キャリィ生成回路3
に出力し、最終キャリィ生成回路3は、最終キャリーC
0 =0およびC1 =1を生成する。オペランド負数検出
回路2は、オペランドAおよびBおよびCの符号ビット
a0 =0およびb0 =0およびc0 =0を入力し、それ
らから オペランドの負の数=0 を検出する。オーバ
ーフロー検出回路4は、オペランド負数検出回路2で検
出された オペランドの負の数=0 と、最終キャリィ
生成回路3で生成された 最終キャリーC0 =0および
C1 =1 と、加算回路1から出力された 符号部S=
0 とから、表1の組合わせを参照してオーバーフロー
を検出する。
【0036】上述の実施例は、入力する固定小数点デー
タのデータ幅が4ビットの場合であるが、本発明は、デ
ータ幅がが更に大きく、8ビットまたは16ビットまた
は64ビットの場合にも適用できる。
タのデータ幅が4ビットの場合であるが、本発明は、デ
ータ幅がが更に大きく、8ビットまたは16ビットまた
は64ビットの場合にも適用できる。
【0037】
【発明の効果】以上説明したように、本発明の固定小数
点データ加算装置は、オペランドの負の数と最終キャリ
ーおよび符号部の値との組合わせからオーバーフローと
なる場合を検出することにより、従来よりも少ないの量
のハードウエアで固定小数点データを加算した場合のオ
ーバーフローを検出することが可能になるという効果が
あり、従ってハードウエア量を削減することができると
いう効果がある。
点データ加算装置は、オペランドの負の数と最終キャリ
ーおよび符号部の値との組合わせからオーバーフローと
なる場合を検出することにより、従来よりも少ないの量
のハードウエアで固定小数点データを加算した場合のオ
ーバーフローを検出することが可能になるという効果が
あり、従ってハードウエア量を削減することができると
いう効果がある。
【図1】本発明の一実施例を示すブロック図である。
1 加算回路 2 オペランド負数検出回路 3 最終キャリィ生成回路 4 オーバーフロー検出回路
Claims (2)
- 【請求項1】 2の補数で表現された3個以上の固定小
数点データを加算する加算回路と、前記3個以上の固定
小数点データのオペランドの負の数を検出するオペラン
ド負数検出回路と、前記加算回路に接続されて最終キャ
リーを生成する最終キャリー生成回路と、前記加算回路
および前記最終キャリィ生成回路および前記オペランド
負数検出回路に接続されて固定小数点のオーバーフロー
を検出するオーバーフロー検出回路とを備えることを特
徴とする固定小数点データ加算装置。 - 【請求項2】 2の補数で表現された3個以上の固定小
数点データを加算する加算回路と、前記3個以上の固定
小数点データのオペランドの負の数を検出するオペラン
ド負数検出回路と、前記加算回路からの情報によって2
個の最終キャリーを生成する最終キャリー生成回路と、
前記オペランド負数検出回路からのオペランドの負の数
と前記最終キャリー生成回路からの2個の最終キャリー
および前記加算回路からの符号部の組合わせとによって
固定小数点のオーバーフローを検出するオーバーフロー
検出回路とを備えることを特徴とする固定小数点データ
加算装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5217173A JPH0773015A (ja) | 1993-09-01 | 1993-09-01 | 固定小数点データ加算装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5217173A JPH0773015A (ja) | 1993-09-01 | 1993-09-01 | 固定小数点データ加算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0773015A true JPH0773015A (ja) | 1995-03-17 |
Family
ID=16700008
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5217173A Pending JPH0773015A (ja) | 1993-09-01 | 1993-09-01 | 固定小数点データ加算装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0773015A (ja) |
-
1993
- 1993-09-01 JP JP5217173A patent/JPH0773015A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5367477A (en) | Method and apparatus for performing parallel zero detection in a data processing system | |
| US7428567B2 (en) | Arithmetic unit for addition or subtraction with preliminary saturation detection | |
| US6480873B1 (en) | Power operation device | |
| US7499962B2 (en) | Enhanced fused multiply-add operation | |
| JP3345894B2 (ja) | 浮動小数点乗算器 | |
| JP2001222410A (ja) | 除算器 | |
| JPH02294731A (ja) | 浮動小数点数演算処理装置及び除数倍数生成装置 | |
| US5920493A (en) | Apparatus and method to determine a most significant bit | |
| US20040093367A1 (en) | Method and apparatus for computing an approximation to the reciprocal of a floating point number in IEEE format | |
| JPH0773015A (ja) | 固定小数点データ加算装置 | |
| JP3137131B2 (ja) | 浮動小数点乗算器及び乗算方法 | |
| JP2901463B2 (ja) | 加算装置 | |
| JPH113210A (ja) | 3入力比較器、並びにこれを用いた飽和演算装置およびその演算方法 | |
| JPH09330210A5 (ja) | ||
| US20060277246A1 (en) | Multiplication circuitry | |
| JPH05119969A (ja) | 積和演算器 | |
| JPH04328630A (ja) | 浮動小数点乗除算装置 | |
| JP3110072B2 (ja) | 事前正規化回路 | |
| JPH0414173A (ja) | 固定小数点演算器 | |
| JPH05100826A (ja) | 逆数演算装置 | |
| JP2001092639A (ja) | 除算・開平演算装置 | |
| JPH0285922A (ja) | 演算回路 | |
| JPS60230266A (ja) | 演算装置 | |
| JPS6359170B2 (ja) | ||
| JPH0553759A (ja) | 固定小数点演算ユニツト |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20000718 |