JPH02170227A - 絶対値加減算方式とその装置 - Google Patents

絶対値加減算方式とその装置

Info

Publication number
JPH02170227A
JPH02170227A JP63325223A JP32522388A JPH02170227A JP H02170227 A JPH02170227 A JP H02170227A JP 63325223 A JP63325223 A JP 63325223A JP 32522388 A JP32522388 A JP 32522388A JP H02170227 A JPH02170227 A JP H02170227A
Authority
JP
Japan
Prior art keywords
carry
bit
absolute value
output
generation function
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
Application number
JP63325223A
Other languages
English (en)
Inventor
Fuyuki Okamoto
冬樹 岡本
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP63325223A priority Critical patent/JPH02170227A/ja
Publication of JPH02170227A publication Critical patent/JPH02170227A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、桁上げ先見方式を用いた絶対値加減算方式と
その装置に関するものである。
(従来の技術) 従来、絶対値加減算方式は、減算を実行する場合は、2
つの入力オペランドのうち一方(便宜上これをAとする
)をその2の補数Aに変換し、もう一方のオペランドB
と加算して答Sを得る。しかし、もしA>Bならば、S
t月A−Blの2つの補数表現となる。したがって8を
絶対値表面になおすため、Sの2の補数を計算する処理
が必要となる。Sの2の補数の計算は、Sの各ビットを
反転したSと、最下位桁の重みをもった数(便宜上これ
を1とする)とを加えることで実現する。また加算を高
速に実行するために桁上げ先見方式がしばしば用いられ
る。第4図はこのような従来型の桁上げ先見方式を用い
た絶対値加減算装置の構成図である。以下図面を用いて
従来型の絶対値加減算装置の動作を説明する。説明の便
宜上、記号のを排他的論理和演算、記号△を論理積演算
、記号を論理和演算として表現する。
第1のデータバス200に入力オペランドAが、第2の
データバス201に入力オペランドBが、それぞれ供給
される。ビット反転器220はAの各ビットを反転した
Aを出力する。実行する演算の種類が加算の場合は、第
1の選択回路230はAを選択し、桁上げ発生関数生成
器240はAとBとから桁上げ発生関数Gを生成する。
Gの各ビットGiはAの各ビットAiとBの各ビットB
iとからGi=A4ABiで求められる。G、は、Aと
Bの加算において第i番目のビットで桁上げが発生する
かどうかを示す。桁上げ伝播関数生成器250はAとB
から桁上げ伝播関数Pを生成する。Pの各ビットPiは
Aの各ビットAiとBの各ビットBiとからPi=Ai
■Biで求められる。Piは、AとBとの加算において
第i番目のビットで桁上げが伝播するかどうかを示す。
桁上げ先見器260はAとBとの加算の際、各ビットで
生じる桁上げCiを、PとGとから生成する。ここでC
iは次式で計算される。
C1=Gi(Gi−1△Pi)■(Gi−2△Pi−1
△Pi)■・・・■(C−1△Po△・・・△Pi) 但しc−i=o    (1) 和生成器270はAとBの和Sの各ビットSiをPとC
どがら5i=PiのCiとして出力する。加算の場合は
第2の選択回路231はこのSを選択し出力する。
一方、実行する演算の種類が減算の場合は、前述のよう
に2の補数による加算で減算を実行する。
第1の選択回路230はビット反転器220の出力穴を
選択し、桁上げ発生関数生成器240はAとBとがら桁
上げ発生関数Gを生成する。また桁上げ伝播関数250
はAとBとがら桁上げ伝播関数Pを生成する。桁上げ先
見器260はPとGとがら、次式に基づいてCiを出力
する。
C,=Gi(Gi−1△Pi)■(Gi−2△Pi−1
△P:)v−■(C−1△PoAP1△・・・△Pi)
但しC1=l    (2) 和生成器270はPとCとがら5i=PiのCiを出力
する。
式(2)は式(1)と違い最下位桁への桁上げC−□が
あるとしている。したがってSはAの2の補数とBとの
加算結果(A+B+1)とみなせる。
Aの2の補数とBとの加算において、最上位桁で桁上げ
が生じたならばB≧A、最上位桁で桁上げが生じなけれ
ばA>Bである。故に、後者の場合にはSの2の補数を
計算して絶対値化を行なう必要がある。そこで第2の選
択回路231は最上位桁で桁上げが生じたならばSを、
最上位桁で桁上げが生じなければ2の補数生成器280
の出力(Sの2の補数)を選択的に出力する。前述のよ
うに、Sの2の補数の計算は、Sの各ビットを反転した
Sに、最下位桁の重みをもった数(文中では1とした)
を加えることで実現する。([コンピュータの高速演算
方式」堀越他訳、近代科学社) (発明が解決しようとする課題) 以上述べた従来の絶対値加減算方式とその装置は、減算
を実行する場合、入力オペランドの大小によって演算結
果の絶対値化が必要となるが、この絶対値化処理は本質
的に加算処理であるため実行に時間がかかり、減算処理
の高速化を妨げるという欠点がある。
(課題を解決するための手段) 本発明の絶対値加減算方式は、絶対値表現の2つのオペ
ランドAとBについて、加算を実行する場合は、桁上げ
発生関数G(各ビットはAとBの各ビットの論理積で与
えらる)及び、桁上げ伝播関数P(各ビットはAとBの
各ビットの排他的論理和で与えられる)とを使って、加
算A+Bの各ビットで生じる桁上げを先見して和を求め
、減算を実行する場合1   。
は、第1の桁上げ発生関数G(各ヒツトはBの1の補数
BとAの各ビットの論理積で与えられる)と第2の2 
  + 桁上げ発生関数G(各ヒツトはAの1の補数AとBの各
ビットの論理積で与えられる)と桁上げ伝播関数P(各
ビットはAの1の補数AとBの各ビットの排他的論理和
で与えられる)とを生成し、第2の桁上げ発生関数Gと
桁上げ伝播関数Pとを用いて、A+B+1の最上位ビッ
トで発生する桁上げを先見し、桁上げがあるならGとP
とを用いて、桁上げが無いならG1とPとを用いて全ビ
ットの桁上げを先見して、差を求めることを特徴とする
また本発明の絶対値加減算装置は、絶対値表現の第1の
オペランドを入力とするビット反転器と、前記第1のオ
ペランドと前記ビット反転器の出力とを入力とする第1
の選択回路と、前記選択回路の出力と第2のオペランド
とを入力とする桁上げ伝播関数生成器と、前記ビット反
転器の出力と前記第2のオペランドとを入力とする第1
の桁上げ発生関数生成器と、前記第1の選択回路の出力
と前記第2のオペランドとを入力とする第2の桁上げ発
生関数生成器と、前記桁上げ伝播関数生成器の出力と前
記第2の桁上げ発生関数生成器の出力とを入力とする最
上位桁上げ先見器と、前記第1の桁上げ発生関数生成器
と前記第2の桁上げ発生関数生成器と前記最上位桁上げ
先見器の出力とを入力とする第2の選択回路と、前記桁
上げ伝播関数生成器の出力と前記第2の選択回路の出力
とを入力とする桁上げ先見器と、桁上げ先見器の出力と
桁上げ伝播関数生成器の出力とを入力とする和生成器と
から構成されることを特徴とする。
(作用) 本発明の絶対値加減算方式とその装置は、IA−川とい
う絶対値減算処理においてA≦Bの場合とB<Aの場合
の両方について桁上げ発生関数を求めておき、A+B+
1の最上位から桁上げを最上位桁上げ先見器によって計
算し、もし最上位からの桁上げが発生するならA≦Bの
場合の桁上げ発生関数を使ってA+B+1の計算を桁上
げ先見方式によって行い、もし最上位から桁上げが発生
しないのならばB<Aの場合の桁上げ発生関数を使って
A十B+1の計算を桁上げ先見方式によって行い、常に
両者の差が計算されるようにして、従来型の絶対値加減
算装置であった、答の2の補数を計算する絶対値化処理
をなくすことができる。2の補数の計算は本質的に加算
処理であり、その実行には通常の加算の約1/2の時間
を要する。したがって本発明は、従来型の約273の実
行時間で処理ができ、高速化か実現できる。
(実施例) 次に図面を参照して本発明の実施例について説明する。
第1図は本発明の方式を示したフローチャート図である
。以下第1図を用いて本発明の詳細な説明する。まず絶
対値加算をどの様に処理するかを述べる。絶対値表現の
2つのオペランドAとBとから、桁上げ発生関数G(各
ビットGiはAとBの各ピッ) Ai、Biの論理積で
与えられる)及び桁上げ伝播関数P(Pi=AiのBi
)が生成される。Giは、AとBの加算において第i番
目のビットで桁上げが発生するかどうかを示す。またP
iは、AとBとの加算において第i番目のビットで桁上
げが伝播するかどうかを示す(以上は第1図a、bに和
光する)。このGとPとから式(1)を用いて、各ビッ
トの桁上げCiが計算され(第1図C)、Ciをもとに
、和ビットが生成される(第1図i)。
次に絶対値減算をどの様に処理するかを述べる。絶対値
表現の2つのオペランドAとBとから、第1の桁上げ発
生関数G (G 1=AiABi)、第2の桁上発生関
数G (G 1=AiABi)、及び桁上げ伝播関数P
(P1=Ai■Bi)が生成される。GはBAAの場合
、G2はA≦Bの場合の桁上げ発生関数として用いる。
(以上は第1図a、dに相当する)次に加算A十B+1
(すなわちB−A)で最上位ビットで桁上げが生じるか
どうかをGとPとを用いて計算する(第1図e)。もし
桁上げがないならBAAであり、桁上げがあるならA≦
Bである。したがって前者の場合はGとPとを使ってA
+B+1の桁上げが先見され(第1図g)後者の場合は
GとPとを使ってA+B+1の桁上げが先見される(第
1図h)。その桁上げをもとに差ビットが求められるの
は加算処理と同様である(第1図i)。
次に本発明の装置について説明する。
第2図は本発明の実施例を示す基本構成図である。
第2図において100〜110はデータバス、120は
ビット反転器、130,131は第1、第2の選択回路
、140.141は第1、第2の桁上げ発生関数生成器
、150は桁上げ伝播関数生成器、160は最上位桁上
げ先見器、170は桁上げ先見器、180は和生成器で
ある。
まず、絶対値加算がどの様に実行されるかを第1図、第
3図を参照して述べる。第3図は加算に関係するブロッ
クだけを第2図から抽出して示したものである。
第3図において、第1の選択回路130がデータバス1
00を、第2の選択回路131がデータバス105を選
択するように制御する。加数が第1のデータバス100
に、被加数が第2のデータバス101に供給される。
加数は第1の選択回路130を経由して第2の桁上げ発
生関数生成器141に入力される。第2の桁上げ発生関
数生成器141は加数と被加数の各ビットから桁上げ発
生関数を生成する。また桁上げ伝播関数生成器150は
第1の選択回路の出力(すなわち加数)と被加数とから
桁上げ伝播関数を生成する(以上は第1図a、bに相当
する)。第2の桁上げ発生関数生成器141の出力は第
2の選択回路131を経由して、桁上げ先見器170へ
入力される。桁上げ伝播関数と桁上げ発生関数とを入力
として、桁上げ先見器170は加算で生じる各ビットの
桁上げを計算する(第1図Cに相当)。
和生成器180は各ビットの桁上げと桁上げ伝播関数と
から、和の各ビットを出力する(第1図iに相当)。
次に絶対値減算がとのように実行されるかを説明する。
第1の選択回路130がデータバス102を選択するよ
うに制御する。減数Aが第1のデータバス100に、被
減数Bが第2のデータバス101に供給される。減数A
はビット反転器120に入力され、減数Aの各ビットを
反転したデータAが出力される。Aは第1の選択回路1
30を経由して、第2の桁上げ発生関数生成器141に
供給される。第2の桁上げ発生関数生成器141はAと
Bの各ビットAi、BからGi=A4ABHを出力する
。一方第1の桁上げ発生関数生成器140はA、!:B
の各ビットからG =AiABiを出力する。GはA≦
Bの場合の桁上げ発生関数、GはBAAの場合の桁上げ
発生関数である。また、桁上げ伝播関数はA、Bの大小
関係によらずPi = Ai■Biで与えられ(何故な
らPi=Ai■B=AiOBiであるから)これは桁上
げ伝播関数生成器150で生成される(以上は第1図a
、dに相当)。
最上位桁上げ先見器160はPとGとからA+B+1の
計算で最上位に発生する桁上げを計算する(第1図eに
相当)。もし最上位から桁上げが発生するなら、A≦B
、最上位で桁上げが発生しないならBAAである。そこ
で前者の場合には第2の桁上げ発生関数生成器141で
生成されたGを、後者の場合は第1の桁上げ発生関数生
成器140で生成されたGを、第2の選択回路131が
選択的に出力し、桁上げ先見器170に入力する。桁上
げ先見器170は式(2)によって各ビットの桁上げを
算出する(第1図g、hに相当)。和生成器180は各
ビットの桁上げと桁上げ伝播関数とから、差の各ピント
を出力する(第11図i)。
(発明の効果) 以上述べたように本発明の絶対値加減算方式とその装置
は、減算を行なうとき、A≦Bの場合とBAAの場合の
、桁上げ発生関数をあらかじめ算出しておき、最上位桁
上げ先見器でAとBの大小を判定してから、適切な桁上
げ発生関数を選択し各ビットの桁上げ、及び和を計算す
る。したがって、従来のように絶対値化のために2の補
数を計算する必要がなく、高速な処理が実現できる。
【図面の簡単な説明】
第1図は本発明の方式を示したフローチャート図、第2
図は本発明の実施例を示す基本構成図、第3図は加算実
行に関係のあるブロックだけを第2図から抽出したブロ
ック図、第4図は従来の絶対値加減算装置の構成図であ
る。 図において、 100〜110・・・データバス、120・・・ビット
反転器、130.131・・・第1、第2の選択回路、
140,141・・・第1、第2の桁上げ発生関数生成
器、150・・・桁上げ伝播関数生成器、160・・・
最上位桁上げ発生関数生成器、170・・・桁上げ先見
器、180・・・和生成器、200〜210・・・デー
タバス、220・・・ビット反転器、230,231・
・・第1、第2の選択回路、240・・・桁上げ発生関
数生成器、250・・・桁上げ伝播関数生成器、260
・・・桁上げ先見器、270・・・和生成器、280・
・・2の補数生成器。

Claims (2)

    【特許請求の範囲】
  1. (1)絶対値表現の2つのオペランドAとBについて、
    加算を実行する場合は、各ビットがAとBの各ビットの
    論理積で与えられる桁上げ発生関数G及び、各ビットが
    AとBの各ビットの排他的論理和で与えられる桁上げ伝
    播関数Pとを使って、加算A+Bの各ビットで生じる桁
    上げを先見して和を求め、減算を実行する場合は、各ビ
    ットがBの1の補数■とAの各ビットの論理積で与えら
    れる第1の桁上げ発生関数G^1と各ビットがAの1の
    補数■とBの各ビットの論理積で与えられる第2の桁上
    げ発生関数G^2と各ビットがAの1の補数■とBの各
    ビットの排他的論理和で与えられる桁上げ伝播関数Pと
    を生成し、第2の桁上げ発生関数G^2と桁上げ伝播関
    数Pとを用いて■+B+1の最上位ビットで発生する桁
    上げを先見し、もし桁上げがあるならG^2とPとを用
    いて、もし桁上げが無いならG^1とPとを用いて全ビ
    ットの桁上げを先見して、差を求めることを特徴とする
    絶対値加減算方式。
  2. (2)絶対値表現の第1のオペランドを入力とするビッ
    ト反転器と、前記第1のオペランドと前記ビット反転器
    の出力とを入力とする第1の選択回路と、前記選択回路
    の出力と第2のオペランドとを入力とする桁上げ伝播関
    数生成器と、前記ビット反転器の出力と前記第2のオペ
    ランドとを入力とする第1の桁上げ発生関数生成器と、
    前記第1の選択回路の出力と前記第2のオペランドとを
    入力とする第2の桁上げ発生関数生成器と、前記桁上げ
    伝播関数生成器の出力と前記第2の桁上げ発生関数生成
    器の出力とを入力とする最上位桁上げ先見器と、前記第
    1の桁上げ発生関数生成器と前記第2の桁上げ発生関数
    生成器と前記最上位桁上げ先見器の出力とを入力とする
    第2の選択回路と、前記桁上げ伝播関数生成器の出力と
    前記第2の選択回路の出力とを入力とする桁上げ先見器
    と、桁上げ先見器の出力と桁上げ伝播関数生成器の出力
    とを入力とする和生成器とから構成されることを特徴と
    する、絶対値加減算装置。
JP63325223A 1988-12-22 1988-12-22 絶対値加減算方式とその装置 Pending JPH02170227A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63325223A JPH02170227A (ja) 1988-12-22 1988-12-22 絶対値加減算方式とその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63325223A JPH02170227A (ja) 1988-12-22 1988-12-22 絶対値加減算方式とその装置

Publications (1)

Publication Number Publication Date
JPH02170227A true JPH02170227A (ja) 1990-07-02

Family

ID=18174398

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63325223A Pending JPH02170227A (ja) 1988-12-22 1988-12-22 絶対値加減算方式とその装置

Country Status (1)

Country Link
JP (1) JPH02170227A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6225325A (ja) * 1985-07-25 1987-02-03 Fujitsu Ltd 絶対値数加減算回路
EP0295788A2 (en) * 1987-05-15 1988-12-21 Digital Equipment Corporation Apparatus and method for an extended arithmetic logic unit for expediting selected operations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6225325A (ja) * 1985-07-25 1987-02-03 Fujitsu Ltd 絶対値数加減算回路
EP0295788A2 (en) * 1987-05-15 1988-12-21 Digital Equipment Corporation Apparatus and method for an extended arithmetic logic unit for expediting selected operations

Similar Documents

Publication Publication Date Title
JPH05216624A (ja) 演算装置
JP2511527B2 (ja) 浮動小数点演算器
JPH0464091B2 (ja)
JPH02170227A (ja) 絶対値加減算方式とその装置
JP3941868B2 (ja) 計算装置及び計算方法
JPH0511980A (ja) 桁あふれ検出方式とその回路
EP0328779A2 (en) Apparatus for branch prediction for computer instructions
JP3517162B2 (ja) 除算・開平演算装置
JP2856792B2 (ja) 浮動小数点数演算装置
JPH11312076A (ja) 10進演算装置
JPH0251732A (ja) 浮動小数点演算器
JP2619964B2 (ja) 加算、又は減算のための二入力算術演算方式及び10進加減算回路
JP3100868B2 (ja) 浮動小数点数のための算術演算装置
JP2506891B2 (ja) 浮動小数点演算装置
Veeramachaneni et al. A novel carry-look ahead approach to a unified bcd and binary adder/subtractor
JPS63254525A (ja) 除算装置
JPH0427587B2 (ja)
JP3522167B2 (ja) 演算処理回路及び演算処理方法
KR0170729B1 (ko) 캐리 셀렉트 애더를 이용한 두 수 차이의 절대값 계산기
JPS63310022A (ja) 演算処理装置
JPH04280319A (ja) 多入力減算装置
JPH05100825A (ja) 正規化浮動小数点加減算器
JPH0348331A (ja) 浮動小数点演算装置
JPH07319668A (ja) 冗長2進乗算器および冗長2進alu並びにプログラム制御回路
JPH06131161A (ja) 正規化浮動小数点乗算回路