JPS6375931A - 高速加減算器 - Google Patents

高速加減算器

Info

Publication number
JPS6375931A
JPS6375931A JP22101886A JP22101886A JPS6375931A JP S6375931 A JPS6375931 A JP S6375931A JP 22101886 A JP22101886 A JP 22101886A JP 22101886 A JP22101886 A JP 22101886A JP S6375931 A JPS6375931 A JP S6375931A
Authority
JP
Japan
Prior art keywords
carry
digit
subtraction
gate
arithmetic
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
JP22101886A
Other languages
English (en)
Inventor
Shinichi Utsunomiya
晋一 宇都宮
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP22101886A priority Critical patent/JPS6375931A/ja
Publication of JPS6375931A publication Critical patent/JPS6375931A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 キャリー伝搬方法に工夫を加え、多数桁データの加減算
を高速化した加減算器。
〔産業上の利用分野〕
本発明は、多数桁データの加減算を高速に行なう加減算
器に関する。
〔従来の技術〕
加減算器の高速化の方法としては、キャリー伝搬の道筋
に沿って実際に通過する加減算回路の数を最小化する、
キャリー早見形のマンチェスタ形連鎖回路が一般に用い
られる。マンチェスタ形連鎖回路を用いた加減算器は、
最下位桁からのキャリー伝搬方法としては高速である。
〔発明が解決しようとする問題点〕
しかしこの回路では、トランスファゲートでキャリーを
伝搬するが、該トランスファゲートは1ビツトに1つ必
要であり、64ビツト長の数の加減算では64個のトラ
ンスファゲートが必要である。キャリーがこれらのトラ
ンスファゲートを逐次伝搬すると所要時間が大になり、
多数桁データの演算には時間の短縮化が求められる。
それ数本発明はキャリー伝11方法に工夫を加え、多数
桁データの加減算を高速に実行可能にしようとするもの
である。
〔問題点を解決するための手段〕
本発明の高速加減算器は、多数(N)桁データをM桁ず
つ独立に加減算する演算ブロックをN7M個備える演算
部(10)と、各演算ブロックの計算結果を、最下位桁
から最上位桁までの一連した加減算結果に補正して出力
する補正部(20)と、各り個の演算ブロックN/LM
個からの各キャリーを選択出力する一次キャリー選択部
(30)および該一次キャリー選択部からのN/LM個
のキャリーを選択する二次キャリー選択部(40)を備
えることを特徴とするものである。
〔作用〕
この加減算器によれば、N桁例えば64桁データをM桁
例えば4桁ずつに分けて並列に加減算し、各M桁演算ブ
ロックの加減算結果を一次キャリーと二次キャリーで補
正してN桁データの加減算結果とするので、また−次キ
ャリーはL(II例えば4個の演算ブロック毎に選択し
、その選択されたL個の一次キャリーを二次キャリー選
択部で選択するので、キャリーが高速に得られ、加減算
を高速に行なうことができる。
〔実施例〕
図面を参照して説明すると、第1図は本発明に係る高速
加減算器の全体を示す。10は演算部で、複数個の4ビ
ツト(4桁)加減算器10a、10b、・・・・・・1
0pを有する。本例では64ビツトデークに対する加減
算を想定しており、加減算器10a、lOb、 ・・・
・・・は161固ある。64ビツトデータは4ビツトず
つの16個に分割されて演算部10の各加減算器10a
、10b、・・・・・・10pに入力され、そのLSB
は加減算器10aの左端、MSBは加減算器topの右
端にある。
加減算器10a、10b、・・・・・・はそれぞれが独
立で計算動作を行ない、各々の演算結果は補正部20へ
送られ、こ−で最下位ピントから最上位ビットまでの一
連した計算結果に補正して出力される。また各演算ブロ
ックからのキャリーは、演算部のマンチェスタ形連鎖回
路におけるゲート設定状態によって上位へのキャリーを
選択する。
演算部10の各4ピント加減算器(演算ブロック)10
a、10b、・・・・・・の最下位入力キャリーは、第
2図に示すようにグランドからのしくロー)レベル信号
である。
一次キャリー選択部30はゲート30a、30b、・・
・・・・を備え、各演算ブロックからのキャリー信号が
上位桁のキャリーとして正しい信号であるかを選択する
。即ち第2図に示すように、各演算ブロックのマンチェ
スタ連鎖の部分MCは下位桁からのキャリーをそのま\
上位桁へ通すか、ゲートGi  (i=1.2,3.4
)を閉じて上位桁へ自己の桁からの新たなキャリーを送
るかの動作を行なう。こ\で新たなキャリー(Cr++
1)は表1に示すように当該桁の演算数(Xn、Yn)
によ表   1 catXn+Yn  (blXn−Yn  (C)Yn
−Xn即ち、加算Xn+YnのときはXn=Yn=L又
はHならCr1+1=L又はHであり、Xn=L。
Yn=H又はこの逆なら下位桁からのキャリーCnを通
す(CnをCrr+ 1 にする)。減算Xn−Ynの
ときはXn=Yn=L又はHならCnをCn+ 1とし
、Xn=L、Yn=Hまたはこの逆ならCn+ 1=H
又はLにする。Yn−Xnもこれに準する。
ゲート02〜G4はpチャネルMO3)ランジスタとn
チャネルMO3I−ランジスタの並列回路で構成され、
ゲートG +はnチャネルMO3)うンジスタ単独で構
成される。これはゲー1−.G+はLレベルを通す7通
さないだけであるのに対し、02〜G4はH,Lレベル
を通す7通さないであることによる。
一次キャリー選択部30のゲート30h(他も同様であ
るが)は、マンチェスタ連鎖のゲート設定信号を調べ、
ゲートG+〜G4が全て開いている(従って出力はグラ
ンドレベルL)場合は正しいキャリーではないとして、
下位演算ブロックからのキャリーCgを選択し、ゲート
01〜G4が1つでも閉じて新たなキャリーが送られて
いる場合は正しいキャリーであるとしてそれ(Ch)を
選択する。
一次キャリー選択部30は図示の如く3個のゲ−)30
a〜30c等を1ブロツクとし、4ブロツクが並列処理
をする。一次キャリー選択部30の1ブロツクには4つ
の演算ブロックが含まれる。
二次キャリー選択部40はゲート40a、40b、・・
・・・・を備え、一次キャリー選択部30からのキャリ
ーを、更に上位のキャリーとして正しい信号の選択を行
なう。即ち、第3図に示すように、一次キャリー選択ブ
ロック内の最下位演算ブロック101 (構成は第2図
と同じ)におけるマンチェスタ連鎖MCのゲート設定が
全て開放であると共に、一次キャリー選択ブロックの3
つのゲート30g、30h、30iが下位演算ブロック
からのキャリーを選択している場合は、この一次キャリ
ー選択ブロックからのキャリーCiはグランドからのL
レベル信号になる。二次キャリー選択部40のゲート4
0bはこの場合のみ、下位一次キャリー選択ブロックか
らのキャリーCaを上位のキャリーcbとする。これに
対して、一次キャリー選択ブロック内の演算部最下位ブ
ロック10iにおいてマンチェスタ連鎖のゲート設定が
1つでも閉じるか、又は一次キャリー選択ブロックにお
いて新たな設定キャリーを選択している場合は、それら
のキャリーを次の上位キャリーとする(Ci=cbとす
る)。
二次キャリー選択部40の他のゲー1−403 。
40cも同様である。二次キャリー選択部40のゲート
40b等は、一次キャリー選択ブロック1つと演算ブロ
ック4つを含む。
補正部20は、各演算ブロック10a、10b。
・・・・・・によって独立に計算された4ビツトずつの
演算結果を、一連の65ビツト演算結果(最上位キャリ
ービットを含む)とするための補正を行なう。
この補正部は、下位演算ブロックからの一次キャリーと
、下位一次キャリー選択ブロックからの二次キャリー信
号と、下位演算ビットにおけるマンチェスタ連鎖のゲー
ト設定信号によって補正を行なう。
補正において重要なことは、補正を行なおうとする計算
値の正しいキャリー信号を知ることにある。演算部では
4ビツトずつの独立計算を行うために、演算ブロックの
最下位演算部にはグランドからのLレベルをキャリーと
して入力している。
補正の方法としては、−次キャリーと二次キャリーが存
在する領域のビット補正と、−次キャリー又は二次キャ
リーのみ存在する領域のビット補正に分けられる。これ
らを築4図、第5図で説明する。
第4図の矢印で示す演算ブロックの桁からの計算値は、
−次キャリーと二次キャリーが両方とも存在するとする
と、この場合は下位の演算ブロックの桁c、dにおける
マンチェスタ連鎖のゲート設定がどちらか1つでも閉じ
ていれば、正しいキャリーが設定されていると見て計算
値をそのま\出力する。c、dが両方ともゲートを開い
ている時は、下位の演算ブロックa、bにおけるゲート
設定が1つでも閉じている場合、−次キャリーを正しい
信号とし、全てゲートが開いている場合は二次キャリー
を正しい信号とする。そして選択したキャリー信号がL
なら計算値をそのま一出力し、Hならば計算値を反転さ
せて出力する。
次に第5図の矢印で示す演算ブロックの桁からの計算値
については下位演算桁eのゲートが閉じているか又は二
次キャリーの信号がLなら計算値をそのま\出力し、こ
れに対して下位演算桁eのゲートが開き、二次キャリー
の信号がHなら、計算値を反転して出力する。−次キャ
リーのみ存在する領域でも同様である。
この演算器におけるクリティカルバスは、マンチェスタ
連鎖回路による4ビツト加減算、−次キャリー及び二次
キャリーの6つの選択部、最上位計算値MSBの補正と
なる。
次に計算例を挙げる。第6図は加算例、第7図は減算例
である。既知のように和と桁上げ、差と桁借りは次式で
定義される。
和Sn= CnYXnyYn 桁上げC1+4 =Cn−Xn+Cn−Yn+Xn−Y
n差I n = B n YX n Y Y n桁借り
BH+1 =Bn−Xn+Bn−Xn−Yn+Xn−Y
nこ\でVは排他オアを示し、Xn、Ynはn桁目のビ
ット、Cnはn−1桁目からのキャリー、Bnはn−1
桁目へのボローである。上式より次の真理値表が得られ
る。
表   2 Xn+Yn    Xn Yn 差Yn−Xnは、差Xn−YnのXn、Ynを入れ換え
たものである。この真理値表から分るようにキャリーと
ボローの違いを除くと和Snと差Inは同じ結果になる
。キャリーとボローについては前記表1の関係があり、
XnとYnの排他オアを調べることにより、Cn++ 
、  Bn++ を判断することができる。これを次表
に示す。
表   3 Xn+Yn   Xn−Yn ビット計算の回路例を第8図に示す。51.52は排他
オアゲート、53.54.・・・・・・はnチャネルM
OSトランジスタとpチャネルMO3)ランジスタを並
列接続してなるゲート、61,62゜・・・・・・はイ
ンバータである。CNTl、CNT2は制御信号で、C
NT1がL(ロー)のとき加算、H(ハイ)のとき減算
となり、またCNT2がLのときYn±X n SHの
ときXn±Ynを指示する。CBはキャリー又はボロー
、SInはn桁目の加減算結果、GCnはキャリーゲー
ト制御信号である。
第9図に4ビット分割補正部20の1部の詳細を示す。
これは第1図のブロック20にの斜線を付した1桁分で
ある。ナントゲート71には加減算器10i〜10にの
ゲート制御信号GC(第2図のGC+〜GCaと同種の
もの)が入力し、その出カフ1cがゲート73を制御す
る。選択ゲー1−73.74.75は制御入カフ1c、
72c。
73cがI(のときH側入力を選択し、LのときL側入
力を選択する。ゲート73の出カフ3cはゲート74の
制御入力となり、該ゲート74には加減算器iozのM
 S B O[IJ 1ビツト10j7Dとその反転が
入力する。ナントゲート72は加減算器101のLSB
側3ビット10#A 〜l07IC(7)ゲート制御信
号GCが入力し、その出カフ2cがゲート75の制御信
号になる。該ゲート75にはゲート74の出力と10β
Dの計算結果が入力し、その出力がl0IDの修正結果
になる。なおゲート73は補正部20のブロック20a
〜20d。
20h、20βにはない(73は存在する一次又は二次
キャリーを選択する)。またゲート75は各補正部ブロ
ック20a、20b、・・・・・・のLSB側1ビット
にはない(L側入力を出力)。またゲート制御信号GC
はHでゲートを導通にする。
〔発明の効果〕
以上説明したことから明らかなように、この加減算器に
よれば、N桁例えば64桁データをM桁例えば4桁ずつ
に分けて並列に加減算し、各M桁演算ブロックの加減算
結果を一部キャリーと二次キャリーで補正してN桁デー
タの加減算結果とするので、また−次キャリーはL個例
えば4個の演算ブロック毎に選択し、その選択されたL
個の一部キ十す−を二次キャリー選択部で選択するので
、キャリーが高速に得られ、加減算を高速に行なうこと
ができる。
シミュレーション結果によると、第1図の例ではキャリ
ーは最も多くてトランジスタを10個通るだけであり、
途中にバッファを入れて強化しても約57nSで最上位
キャリーが得られることが分った。
【図面の簡単な説明】
第1図は本発明の加減算器の構成を示すブロック図、 第2図は演算ブロックのキャリー選択ゲートの回路図、 第3図は二次キャリー選択ゲートの回路図、第4図およ
び第5図は補正要領の説明図、第6図は加算例を示すブ
ロック図、 第7図は減算例を示すブロック図、 第8図はビット計算の回路例を示す図、第9図は補正部
の一部の詳細を示す回路図である。 第1図で10は演算部、20は補正部、30は一部キャ
リー選択部、40は二次キャリー選択部である。

Claims (1)

  1. 【特許請求の範囲】 多数(N)桁データをM桁ずつ独立に加減算する演算ブ
    ロックをN/M個備える演算部(10)と、各演算ブロ
    ックの計算結果を、最下位桁から最上位桁までの一連し
    た加減算結果に補正して出力する補正部(20)と、 各L個の演算ブロックN/LM個からの各キャリーを選
    択出力する一次キャリー選択部(30)および該一次キ
    ャリー選択部からのN/LM個のキャリーを選択する二
    次キャリー選択部(40)を備えることを特徴とする高
    速加減算回路。
JP22101886A 1986-09-19 1986-09-19 高速加減算器 Pending JPS6375931A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22101886A JPS6375931A (ja) 1986-09-19 1986-09-19 高速加減算器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22101886A JPS6375931A (ja) 1986-09-19 1986-09-19 高速加減算器

Publications (1)

Publication Number Publication Date
JPS6375931A true JPS6375931A (ja) 1988-04-06

Family

ID=16760192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22101886A Pending JPS6375931A (ja) 1986-09-19 1986-09-19 高速加減算器

Country Status (1)

Country Link
JP (1) JPS6375931A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100475012B1 (ko) * 1997-10-08 2005-04-14 삼성전자주식회사 그룹데이터에대한산술연산을수행하는64비트산술연산기

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100475012B1 (ko) * 1997-10-08 2005-04-14 삼성전자주식회사 그룹데이터에대한산술연산을수행하는64비트산술연산기

Similar Documents

Publication Publication Date Title
US6233597B1 (en) Computing apparatus for double-precision multiplication
US4623982A (en) Conditional carry techniques for digital processors
JPS6053329B2 (ja) 加算装置
JPH05233228A (ja) 浮動小数点演算装置およびその演算方法
JPS6222146A (ja) 並列乗算器
EP0471723B1 (en) Digital processor for two's complement computations
US4878192A (en) Arithmetic processor and divider using redundant signed digit arithmetic
JP3436994B2 (ja) シフト装置
EP0295788B1 (en) Apparatus and method for an extended arithmetic logic unit for expediting selected operations
JPH0628158A (ja) 桁上げ先見加算方法とその装置
US3816734A (en) Apparatus and method for 2{40 s complement subtraction
KR100308726B1 (ko) 고속 산술 장치에서 올림수 예견가산기 스테이지의 수를 감소시키는 장치 및 방법
JPS584369B2 (ja) デイジツトの有効性追跡装置
US4677583A (en) Apparatus for decimal multiplication
GB2263002A (en) Parallel binary adder.
JPH08221256A (ja) 乗算器及び積和演算装置
JPS6375931A (ja) 高速加減算器
JPH0464091B2 (ja)
GB2127187A (en) Circuits for operating on N- digit operands
JPH0374419B2 (ja)
JPH056263A (ja) 加算器およびその加算器を用いた絶対値演算回路
US20050114423A1 (en) Binary coded decimal addition
US6654776B1 (en) Method and apparatus for computing parallel leading zero count with offset
JPS6349836A (ja) 演算処理装置
JP3612950B2 (ja) 演算装置およびその方法