JPH0424730B2 - - Google Patents

Info

Publication number
JPH0424730B2
JPH0424730B2 JP63126066A JP12606688A JPH0424730B2 JP H0424730 B2 JPH0424730 B2 JP H0424730B2 JP 63126066 A JP63126066 A JP 63126066A JP 12606688 A JP12606688 A JP 12606688A JP H0424730 B2 JPH0424730 B2 JP H0424730B2
Authority
JP
Japan
Prior art keywords
sum
pseudo
carry
signal
formula
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
Application number
JP63126066A
Other languages
English (en)
Other versions
JPS649523A (en
Inventor
Uashiriideisu Sutaamatesu
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS649523A publication Critical patent/JPS649523A/ja
Publication of JPH0424730B2 publication Critical patent/JPH0424730B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • G06F7/508Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using carry look-ahead circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
以下の順にこの発明の詳細な説明を行う。 A 産業上の利用分野 B 従来技術 C 発明が解決しようとする問題点 D 問題点を解決するための手段 E 実施例 E1 はじめに E2 表記の説明 E3 SUMを得る新しい再帰式に用いる回路(第
1図〜第7図) E4 SUMを得る新しい再帰式の証明 E5 スキーマ間の全般的比較 E6 SUM。を生成する回路(第8図〜第20
図) E7 実理例 F 発明の効果 A 産業上の利用分野 この発明はデジタル・コンピユータ・システム
の算術演算ユニツトに関し、より具体的には2進
加算器に関する。 B 従来技術 コンピユータ・システムの算術演算操作たとえ
ば加算や減算は2つのオペランドに関して実行さ
れ、この場合オペランドの各々が所定数たとえば
N個のビツトを有し、算術演算操作の結果もNビ
ツトである。 高速デジタル・コンピユータは比較的短かい時
間間隔たとえば1秒間に非常に多くの回数の算術
演算操作を実行するので、その操作の1つを実行
するのに必要な時間が重要なフアクタとなる。そ
のフアクタは操作の回数で乗じた上で効いてくる
からである。設計者は算術演算操作をより高速に
実行する公式を発案する必要にせまられている。 通常の加算機能たとえばキヤリー(桁借り)発
生およびキヤリー伝播についてはKai Hwangに
よるCOMPUTER ARITHMETIC
PRINCIPLES、ARCHITECTURE、AND
DESIGNに説明されている。これらの機能は通
常2つの経路から影響を受ける。1つの経路はビ
ツト位置にキヤリーを生成するものであり、もう
1つの経路は半和を生成するものである。通常の
再帰式はつぎにように導き出され、以下のとおり
のものである。 加算式 A,B=オペランド A0……Ai……Ao B0……Bi……Bo S=結果 S0……Si……So すべての桁位置iにおいて桁位置i+1からキ
ヤリーが受け取られAi,Biとともに加算される。
つまり Ai Bi + Ci+1 CiSi ただしCi+1は桁位置i+1からのキヤリー・ビ
ツトである。 各桁別オペランドの最高値は1であり、このた
めMAX〔Ai+Bi+Ci+1〕=1+1+1=3である。
数「3」を表わすには2ビツトが必要であるので
(2進コードで11)次桁位置へのキヤリーが生成
される。 すべての組合せは表1に示される。
【表】 表1のブール式 以下が真のときのみSi=1である。 Si=(2)または(3)または(5)または(8) (2)=Ci+1′Ai′Bi ここでN′の表記はNの否定を表わす。以下同
様である。 Ci+1=0、Ai=0かつBi=1のときのみ(2)=1
である。 (3)=Ci+1′AiBi′ (5)=Ci+1Ai′Bi′ (8)=Ci+1AiBi したがつて、 Si=Ci+1′Ai′Bi+ Ci+1′AiBi+ Ci+1Ai′Bi′+ Si=Ci+1′[Ai′Bi+AiBi′]+ Ci+1[Ai′Bi′+AiBi] Ai′Bi+AiBi′ =排他的オア(V) Ai′Bi′+AiBi =排他的オアの反転したがつて、 Si=Ci+1[AiVBi] +Ci+1[AiVBi 同様に、 Si=Ci+1VAiVBi AiVBiは半和Hiとして定義される。 Si=HiVCi+1 Ci=(4)または(6)または(7)または(8) Ci=Ci+1′AiBi+Ci+1Ai′ Bi+Ci+1AiBi′+ Ci+1AiBi 前に現われた項にそれを同じ項を加えてもブー
ル式は変化しない。したがつて、 Ci=Ci+1′AiBi+Ci+1Ai′ Bi+Ci+1AiBi′+Ci+1 AiBi+Ci+1AiBi Ci=[Ci+1′+Ci+1]AiBi+ Ci+1[Ai′Bi+AiBi′+ AiBi] しかし Ai′Bi+AiBi′+AiBi= Bi[Ai′+Ai]+AiBi′ Bi+AiBi′=(ブール式等価) [Bi+Ai]Ci+1′+Ci+1=1. したがつて、 Ci=AiBi+[Ai+Bi]Ci+1 AiBiをGiと定義し、Ai+BiをTiと定義する。 それゆえ、 Ci=Gi+TiCi+1 SUMi=HiVCi+1 Ci=Gi+TiCi+1 ただし、Vは排他的オアを示し、SUMiはビツ
トiの和ある。 この式は実行するには比較的時間がかかる。こ
の式が、即時に計算される半和値Hiおよび前回
のキヤリー(Ci+2)の計算に依存する項Ci+1が必
要だからである。 同一の公式を使う、より優れた解決手法は、キ
ヤリー・ルツク・アヘツド(CLA:キヤリー辞
書引き)手法である。この手法を用いることによ
り加算器におけるキヤリー伝播が高速化される。
加算器の各ビツト位置に加えられるキヤリーは付
加的な論理回路によつて同時に生成される。 CLA手法を用いると改善が図られるけれども、
キヤリー操作はいぜん限界経路である。和SUM
は黙示的にも(すなわち先行グループのビツトヘ
ツド伝播するキヤリーを生成し、このキヤリーに
関連するSUMに関する公式を用いる)、また明示
的にも(すなわち今考慮しているビツト位置への
キヤリーを生成し、排他的オア操作を行つて
SUMを生成する)計算することができる。黙示
的計算では1グループへとキヤリーを生成したと
きから1ステージ分あとにSUMを生成し、明示
的計算では1グループへとキヤリーを生成したと
きから2ステージ分あとにSUMを生成する。 したがつて、この限界経路における遅延はキヤ
リーの生成によるものである。さらにSUMを得
るには、黙示的計算にしろ明示的計算にしろ適切
なキヤリーを生成したのち少なくとも1ステージ
必要である。 SUMを求める改良型の公式はIBMジヤーナ
ル・オブ・リサーチ・アンド・デベロツプメント
Vol.25、No.3、pp156−166の“High−Speed
Binary Adder”(Huey Ling著)に開示されて
いる。この再帰式はつぎのようなものである。 SUMi=HiTi′+TiHi′+ KiHi+1Ti+1 =(HiVTi)+KiHi+1 Ti+1 ただし Hi=Ki+Ti+1Hi+1;Ki =AiBi;Ti=Ai+Bi と定義する。 項Hiは常に定義されるとはかぎらない。 すなわち、Hiには何ら値が与えられない場合
がある。そして、このような場合のSUMiは何ら
意味を持たず、計算を行えない。 オペランドAおよびBがともに32ビツト幅とす
ると(各ビツトは0〜31の番号が付され、0が最
上位ビツトである)、 H31=K31+T32H32 である。 この場合、T32=A32+B32はT32が加算の範囲
外であることを意味し、役にたたない。したがつ
てH31とSUM30,31とは計算できない。なぜな
らばこれらはつぎのように記述されるからであ
る。 SUM31=H31T31′+T31H31′ +K31H32T32 SUM30=H30T30′+T30H30′ +K30H31T31 また、SUM31がH32を含むことも理解でき、こ
のH32はH32=K32+H33である。 これらパラメータはすべて定義されないから、
H32は計算できない。 さらにCLA操作が行われるとき、i=30,29
および28を代入してそれぞれつぎの結果となる。 H30=K30+T31H31=K30+ T31K31+T31T32K32 H29=K29+T30H30=K29+ T30K30+T30T31K31+ T30T31K31+T30T31 T32H32 (1)H28=K28+T29H29 =K28+T29K29+T29 T30K30+T29T30T31 =K28+T29K29+T29 K31+T29T30T31T32 H32 上述した式は意味のない量を有するという事実
にもかかわらず、すなわちH28はそれ自体に依存
し、定義されないという事実にもかかわらず、上
述Lingの論文ではH28はつぎのように定義されし
ばしば使用されている。 (2)H28=K28+T29H29 =K28+T29K29+T29 T30K30+T29T30K31 K31+T29T30T31T32 式(1)は、T29T30T31T32T33=0のときのみ式(2)
と等価である。なぜならば、H32=K32+T33H33
および式(1)はつぎのように書き直せるからであ
る。 (3)H28=K28+T29H29 =K28+T29K29+T29 T30K30+T29T30 T31K31+T29T30T31 T32K32+T29T30T31 T32T33H33 結局T29T30T31T32T33H33は未定義であり加算
の範囲ではパラメータを含まず、意味を持たな
い。したがつてこの項は2進0と同一と仮定する
ことはできない。 CLA手法は重畳となる。とくに、すべてのTi
KiはKiと等しく、省略すべきであつた。同様の結
論はすべての長さの加算にあてはまる。 C 発明が解決しようとする問題点 この発明の主たる目的はどのような技法にも適
用できる加算操作と等価な新規な一組の式を提供
することである。 この発明の他の目的はキヤリー・ルツク・アヘ
ツド回路を用いて実現できる加算器を提供し、こ
れにより並列モードで動作する加算器を提供する
ことである。 この発明のさらに他の目的は最大で3×8個の
アンド・オア・ブツクを用いて3つの論理ステー
ジ分の遅延しか生じない並列加算器を生成するこ
とである。ただしブツクとはブール式を計算でき
る論理素子を有する1または複数のセルである。
具体的には3×8は3線アンド・ゲートおよび8
線オア・ゲートの構造を意味する。 D 問題点を解決するための手段 この発明はコンピユータ算術演算ユニツトにお
ける加算の実行に必要な遅延を減少させる。また
この発明では加算操作と等価であることが証明さ
れたSUM式を提供するものである。このことは
再帰式が動作可能であることを保証する。SUM
を計算するのに必要な遅延を減少させるために、
重大な値が生成される。この値はキヤリーに較べ
遅延が少なくなつている。SUMは、通常の公式
に必要な遅延と同じか少ない遅延で実現できるブ
ール式を必要とするような方法で生成される。 この発明による機構に用いる公式は従来のもの
と異なつている。疑似値および新キヤリーは通常
の公式のキヤリーに較べ高速に動作するので、こ
の機構の新しい公式は高速な行を可能とするとと
もに加算との等価性を維持する。上述Lingの論
文と比較した場合、この発明のSUM式には項が
少なくなつている。実装したときにより小さなブ
ツクですみ、遅延を減少させる。新キヤリーは自
然数すべてについて定義され、これは未定義な量
の領域がないことを意味する。したがつてSUM
は常に正しい加算値を有することになる。この発
明の式は、除去すべき重畳度をともなうことなく
ルツク・アヘツド用の新キヤリーを生成する。疑
似値はCLA設計における遅延を改善するために
定義され、グループ・ルツク・アヘツドと結合さ
れ、定義された新キヤリーを生成する。この疑似
値は重畳度を有しないので、不必要な値を削除す
る手間もなく、また具現上不利となる操作も必要
がない。 新規な再帰式が加算機構用に提供される。この
式をどのような技法で実現するにしろ、リプル・
キヤリーまたは並列処理手法を用いることができ
る。この実装による加算回路は、疑似生成信号、
疑似伝送信号、疑似半加算信号および疑似伝送半
加算信号を生成する。新キヤリーはいかなる幅の
加算にも適合すべく定義され、また2進値とリプ
ルまたは並列処理構成用に選択されたSUM式と
を表わす。 すべての値は単一ビツト境界で用いることがで
き、またどのような選定グルーピング・ビツトに
も拡張できる。すべての式はどのような選定技法
すなわち選定グルーピングを用いても設計を容易
にでき、またハードウエア実理態様の加算器の効
率を向上させる。これは種々のブツク・セツトの
制約下でも同様である。 2つの所定長Nのオペランドが加算器に供給さ
れ、最終結果はNビツト・ストリングで表わされ
る正確な2進加算となる。リプル・キヤリーによ
る加算器においては、すべてのビツト位置につ
き、疑似伝送半和信号が、疑似半和信号、新キヤ
リー信号およびその補数と同様に生成される。新
リプル・キヤリーは疑似生成、疑似伝送および先
行の新キヤリーととにに生成される。 並列処理加算器においては、技法に応じ、その
技法に便利なSUM式が選ばれる。加算器の幅に
応じて便利なグルーピングが強制される。所定の
グルーピングおよびSUM式について、そのSUM
およびグルーピングにより指示されたグループ疑
似伝送および疑似生成信号に加えて、ビツト疑似
伝送半和および疑似半和が求められる。すべての
グループについて新キヤリーが導出され、求めら
れる。この新キヤリーは自己のグループ疑似生
成、疑似伝送信号および所定の先行グループの新
キヤリーを必要とする。 32ビツト並列処理加算器の設計に関していえ
ば、加算処理を反映し、しかも技術的な制約を考
慮した補助的な機構を用いて限界経路を短絡する
よう式に変更が加えられる。3×8アンド・オア
の最大ブツクの技術的制約がある場合でも、変更
後の式によればたつたの3つの論理ステージの遅
延しか生じない。 E 実施例 E1 はじめに 理解を容易にするため図面はブール式で説明さ
れる。式に現われるシンボルはつぎのように定義
する。ビツト位置については最上位桁を0とし、
最下位桁をrとする。r0である。サフイツク
スは高順位から低順位に付するものとする。変数
i,m,nは自然数であり、n+1は加算の幅で
ある。 この発明では、疑似値および新キヤリー(PSi
を生成して全体の遅延を減少させている。疑似値
および新キヤリーはキヤリーと等価でも等しくも
ない。PSiにはキヤリーの場合に較べハードウエ
アも少ないし遅延も少ない。新しいSUM式は、
疑似値、新キヤリー項(SPi;任意の幅に加算に
切適に定義されている)およびSUMを表わすグ
ループ式によつて加算機構との等価性が維持され
るように作られた。新しいSUM式は、新キヤリ
ー生成後1ステージ分の遅延しかともなわないよ
うに実現することができる。 E2 表記の説明 1 N=自然数 2 V=排他的オア 3 |=未定義;値が、そのような値またはそれ
に関連する何らかの論理操作が意味を
持たない(すなわち値の属性を有しな
い)ものとして定義される。 4 F(.)は明示的に述べられていない変数によ
つて決定されることを意味する。 E3 SUMを得る新しい再帰式に用いる回路(第
1図〜第7図) 第1図〜第7図は以下に示されるブール式によ
つて説明することができる。 第1図において、疑似生成信号G*(i,n)はi
mのビツトiからビツトmによつて記述される。 G*(i,n)=0 i>nのとき G*(i,n)=Gi+Gi+1+Ti+1 Gi+2+Ti+1Ti+2 Gi+3+…+Ti+1 Ti+2 Ti+3…Tn-1Gnif inのとき 第2図も参照すると、疑似伝送信号T(i,m)
はビツトiからビツトmによつて記述される。た
だしimである。 T(i,n)=1 i>nのとき T(i,n)=TiTi+1Ti+2… Tn-1Tn inのとき 第3図も参照すると、新キヤリーPS(i,n)はビツ
トiからビツトmによつて記述される。ただしi
mである。 PS(i,n)=Cin i>nのとき PS(i,n)=C*(i,n) +T(i+1n+1)PS(n+1,z) inのとき ただしzはm<zを満たす自然数であり、Cin
は加算器へのキヤリーである。 また第4図を参照すると、疑似半和Hiは各ビ
ツトiにつきつぎのように記述される。 Hi=| i>nのとき Hi=AiVBi inのとき また第4図は疑似伝送半和Miを各ビツトごと
に記述する。 Mi=| Hi=|のとき Mi=HiVTi+1 Hi≠|のとき また第5図を参照すると、SUMを計算する式
が記述されている。ただし、式表理に関連する適
切な値がすでに計算されているという前提があ
る。 SUMi-1=Mi-1PS(i,n) +Hi-1PS(i,n)′ 第5図により記述される式および第3図により
記述される式はパラメトリツクである。関連する
パラメータは任意である(すなわち何の規則もそ
れらに値を付与しない)。パラメータに付られる
唯一の規約はつぎのような定義のみである。 im<z 以下の前提の下、SUM式の中の変数に種々の
境界を付与し、適切な代入を行つてPS(.)にお
ける再帰が除去され、またいくつかの系が得られ
る。 また第6図および第7図を参照して系の2つに
対するSUM式を計算するのに必要な回路が説明
される。 第6図はつぎのブール式を記述する。 SUMi-1=Mi-1G*(i,n)+ Mi-1T(i+1,n+1) PS(n+1,z)+Hi+1 T(i+1,n+1)′ G*(i,n)′+Hi-1 G*(i,n)′ PS(n+1,z) 第7図はつぎの式を記述する。 SUMi-1=Mi-1G*(i,n)+ Mi-1T(i+1,n+1) G*(n+1,z)+Mi-1 T(i+1,z+1) PS(z+1,z)+Hi-1 T(i+1,n+1)′ G*(i,n)′+Hi-1 G*(i,n)′T(n+2,z+1)′G *(n+1,z)′+ Hi-1G*(i,n)′ G*(n+1,z)′ PS(z+1,k)′ E4 .SUMを得る新しい再帰式の証明 以下で上述の定義およびSUM表現が加算機能
を保持すことが証明される。 補題 1 G(i,n)=TiG*(i,n) i,mnのとき 証 明 定義から、 G(i,n)=Gi+TiGi+1 +TiTi+1 Gi+1Gi+2+…+ TiTi+1Ti+2… Tn-1Gn =Gi+TiGi+1 +T(i+1)Gi+2+…+ T(i,n-1)Gn しかし TiGi=Gi したがつて G(i,n)=Ti(Gi+Gi+1+Ti+1 Gi+2+…+ T(i+1,n-1)Gn) =TiG*(i,n) 補題 2 G*(i,z)=G*(i,n) +T(i+1,n+1) G*(n+1,z)m<z対して 証 明 定義から、 G*(i,z)=Gi+Gi+1Ti+1 Gi+2+…+Ti+1 …Tn-1Gn+Ti+1 …Tn-1TnGn+1+ Ti+1Ti+2…Tn Tn+1Gn+2+…+ Ti+1Ti+2… Tn-1TnTn+1… Tz-1Gz =G*(i,n)+T(i+1,n+1) (Gn+1+Gn+2 …+Tn+2+… Tz-1Gz) =G*(i,n)+T(i+1n+1) G*(n+1,z) 補題 3 PS(n,z)=PS(n,o) =G*(n,o)+T(n+1,o)Cin 証 明 ケース1 Znのとき 定義から(第3図) PS(n,z)=G*(n,z) +T(n+1,z+1) PS(z+1,x) Xは所定のN 定義(第1図)および整理について G*(n,z)=Gn+Gn+1+Tn+1Gn +2+…+Tn+1Tn+2 …To-1Go+Tn+1 Tn+2Tn+3…To To+1(Go+1+Go+2 +…+To+2…Tz-1 Gz) しかし定義(第2図)から Go+1+Go+2+…+To+2 …Tz-1Gz=G*(o+1,z) =OThus G*(n,z)=G*(n,o) T(n+1,z+1)=Tn+1Tn+2… ToTo+1…Tz1=T(n+1,o) T(o+1,z+1) しかし T(o+1,z+1)=1 したがつて T(n+1,z+1) =T(n+1,o) 定義から(第3図) PS(z+1,x)=Cinなぜならz+1> nであるから。 したがつて PS(n,z) =G*(n,o)+T(n+1,o) Cin Znのとき という結論に達する。 ケース2:z<nのとき (0.0)PS(n,z)=G*(n,z) +T(n+1,z+1)PS(z+1,x) ただし (0.1)z<Xnまたは(0.2)X>n サブ・ケース1 (0.1)はつぎのような自然数の系統があるこ
とを意味する。 z<X<X0<X1<X2<…<Xj<Xi ただしXi=n 代入および定義2(0.1)から PS(n,z)=G*(n,z) +T(n+1z+1) G*(z+1,x)+ T(n+1,x+1)G*(x+ 1,x0)+T(n+1,x0+1) G*(x0+1,x1)+ T(n+1,x1+1)G* (x1+1,x2)+…+ T(n+1,xj)G*(xj,xi) +T(n+1,xi+1) PS(o+1,y) 必要な回数だけ補題2を適用して PS(n,z)=PS(n,o) したがつてサブ・ケース1について補題が維持
される。 サブ・ケース2 (0.2)は、代入によつて(0.0)がつぎのよう
に書き換えられることを示唆する。 PS(n,z)=G*(n,z) +T(n+1,z+1) G*(z+1,o)+ T(n+1,z+1) T(z+2,o)+PS(o+1,x) 補題2およびPS(.)の定義から、 PS(n,z)=G*(n,o) +T(n+1o)Cin 補題3はサブ・ケース2を維持する。 定理 1 以下の式の組は加算と等価である。 (2.1) SUMi-1=Mi-1 PS(i,n) +Hi-1PS(i,n)′ (2.2) PSi,n=G*(i,n) T(i+1,n+1) PS(n+1,z) 証 明 (2.1)はつぎの点を示唆する。 SUMi-1=(Hi-1′Ti+Hi-1 Ti′)PS(i,n)+Hi-1 PS(i,n)′ =Hi-1′TiPS(i,n) +Hi-1Ti′PS(i,n) +Hi-1PS(i,n)′ =Hi-1′TiPS(i,n) +Hi-1(Ti′PS(i,n) +PS(i,n)′) =Hi-1′TiPS(i,n) +Hi-1(Ti′PS(i,n)′) =Hi-1′TiPS(i,n) +Hi-1(TiPS(i,n)′) =Hi-1VTiPS(i,n) ケース1:i>n+1のとき i>n+1であれば定義より(第4図) SUMi-1=1 ケース2:i=n+1のとき 定義より(第2図および第3図) Ti=1かつPS(i,n)=Cin したがつてTiPS(i,n)=CinかつSUMn=HnVCin したがつて式(2.1)および(2.2)の組は最下
位ビツトに関し加算と等価である。 ケース3:i<n+1のとき P(i,n)が式(2.2)で定義されるときビツト位置
i−1へのキヤリーCiがTiPS(i,n)と等価であるこ
とを証明する必要がある。 Ci=G(i,o)+T(i,o)Cinとすれば、 (1) G(i,o)+T(i,o)Cin =TiPS(i,n) 補題3から PS(i,n)=G*(i,o)+ T(i+1,o)Cin したがつて TiPS(i,n)=Ti(G*(i,o)+ T(i+1,o)Cin) =TiG*(i,o)+ TiT(i+1,o)Cin しかし TiG*(i,o)=G(i,o) (補題1) そして定義から TiT(i+1,o)=T(i,o) したがつて G(i,o)+T(i,o)Cin= TiPS(i,n) 式(2.1)および(2.2)はパラメトリツクであ
る。関連するパラメータは任意である(すなわち
式に値を属性付ける規則がない)。先の定義によ
り唯一パラメータに課される規約はim<zで
ある。 上の前提を利用し、SUM式に入力される変数
に種々の境界を付与し、適切な代入を行うと、
PS(.)における再帰が除去でき、いくつかはつ
ぎの系として報告することができる。 系1(1個の再帰の除去) つぎの1組の式は加算と等価である。 (2.3) SUMi-1=Mi-1G*(i,n)+Mi-1T(i+1,n+1
PS(n+1,z)+Hi-1T(i+1,n+1)′G*(i,n)′+
Hi-1G*(i,n)′PS(n+1,z)′ (2.4) PS(n+1,z) =G*(n+1,z) +T(n+2,z+1) PS(z+1,k) 証 明 (2.2)を(2.1)に直接代入し、かつim<
z<kによる。 系2(2個の再帰の除去) つぎの1組の式は加算と等価である。 (2.5) SUMi-1=Mi-1 G*(i,n)+Mi-1T(i+1,n+1) PS(z+1,k)+Hi-1 T(i+1,n+1)′ G*(i,n)′+Mi-1G*(i,n)′ T(n+2,Z+1)′ G*(n+1,z)′+Hi-1G*(i,n
′G*(n+1,z)′ PS(z+1,k)′ (2.6) PS(z+1,k) =G*(z+1,x)+T(z+2,k+1) PS(k+1,x) 証 明 im<z<k<xの下、系1と同様の手順を
行う。 系3(3個の再帰の除去) つぎの1組の式は加算と等価である。 (2.7) SUMi-1=Mi-1 G*(i,n)+Mi-1T(i+1,n+1) G*(n+1,z)+Mi-1T(i+1,z+1)′G*(z+1,k)
Mi-1T(i+1,k+1)PS(k+1,x)+Mi-1T(i+1,n+
1)′G*(i,n)′+Hi-1G*(i,n)′T(n+2,z+1)′ G*(n+1,z)′H(i-1)G*(i,n)G*(n+1,z)
G*(z+1,k)′ T(z+2,k+2)′+Hi-1 G*(i,n)′G*(n+1,z)′ G*(z+1,k)′PS(k+1,x)′ (2.8) PS(k+1,x)=G* (k+1,x)+T(k+2,x+1) PS(x+1,v) 証 明 im<z<k<x<vの下、系1と同様の手
順を行う。 定理 2 すべての再帰の除去において、 (1) 得られた式は再帰的な2つの項を有する。す
なわち1つの項は新キヤリーを含み、他の1つ
の項はその補数を含む。 (2) 先の除去操作に関連して2つのオア項が付加
される。 (3) 再帰を含む項は最大幅のアンドである。 (4) m線が先の除去操作における最大の多線アン
ドであればm+1線が今回の除去操作における
最大の多線アンドである。 帰納法による証明 定理1および系1は帰納の基礎事項が真である
こと(すなわちi=0およびi=1について)を
意味する。 除去iについて真であるとする。この場合 (1) Fi(.)が再帰的でないブール式であり、かつ
Ri(.)、Yi(.)、G*i(.)およびTi(.)が再

的な項でなければi番目の除去について、 )(2.9)SUM(i-1)=Fi(.)+Ri(.)PSi(.)+Yi
(.)PSi(.)′ (2.10)PSi(.)=Gi(.)Ti(.)PSi+1(.) (2) 先の除去でn−2個の項があつたなら、
(2.9)はn個の項を有する。 (3) 項Ri(.)、PS(.)およびYi(.)PS(.)′
がm
線アンドである。ただし、mは(2.9)の最大
線数である。 (4) 先の除去の最大線のアンドはm−1である。 この定理はi+1についても成立することが
証明されなければならない。(2.9)に(2.10)
を代入して SUMi=Fi(.)+Ri(.)Gi*(.) +Ri(.)Ti(.)PSi+1 (.)+Yi(.)Gi(.)′ Ti(.)′+Yi(.)G*i (.)′PSi+1(.)′ したがつてi+1番目の除去によつて (1) SUMに関連するすべての項のうち2つは再
帰的である。 (2) 関連する項の数はn+2である。 (3) Yi(.)PSi(.)およびRi(.)PS(.)が最大

のアンドであり、かつFi(.)が変化していない
とすれば、最大幅のアンドはYi(.)Gi
(.)′Ti(.)′Ri(.)Ti(.)PSi+1(.)′お
よびYi
(.)Gi*(.)′PSi+1(.)の項である。Yi(.)
G*i(.)′PSi+1(.)′は2個の再帰項も含む。
アンドの幅はmであるので、上記のすべての値
は、m+1線アンドである。 したがつてこの定理はすべての再帰の除去に
ついて成立する。 定理 3 SUMを計算する式は(i+2)×2(i+1)のアンド・アオ
機構である。iは除去された再帰の数である。 帰納による証明 i=0について この定理は成立する。なぜならば(2.1)は2
×2のアンド・オアだからである。 これが、iについて真であるとする。i+1に
ついてSUMが(i+3)×2(i+2)のアン
ド・オアであることを証明する。 この定理がiについて成立するとし、また定理
2を用いて、i+1番目の再帰の除去は最大線の
アンドがi+2+1=i+3であり、かつ最大線
のオアが2(i+1)+2=2(i+2)であるこ
とを示唆する。したがつてSUMは(i+3)×2
(i+2)のアンド・オアとなり、すべての再帰
の除去について定理が成立する。 E5.スキーマ間の全般的比較 所定の技法を考慮したとき、どのスキーマも1
またはそれ以上のアルゴリズムで実現することが
できるけれども、1つの事実が依然ユニークなま
まである。すなわち所定の機能をその正または負
の入力から記述する式が黙示的または明示的にゲ
ートの幅を決定し、この結果、その機能を最適に
実現するのに必要な等価的なブツクを決定すると
いうことである。実際の技法はゲートまたはブツ
クの幅が任意となることを許さないので、そのよ
うな式が選定された技法のための適切なアルゴリ
ズムで所定の機能を最良に実現する際に対応する
論理レベルを決定するということができる。そし
て、各論理レベルに1つの遅延と多数のセルが関
連付けられるので(これらは論理設計の主たる考
慮点のうちの2つである)、主ある式は効率およ
び範囲を決定する。 このような前提はつぎのことを意味する。すな
わち1つの機能(たとえば加算)に2つの行式が
存在するならば、主たる項のみを利用して公式化
されたそれらのアンド・オアの式を比較して、効
率と領域に関するコストとを測定することができ
る。 この発明の目的の1つは加算器の限界経路を短
絡することであり、通常の処理に対するこの発明
の優越性を明らかにすることである。技法および
アルゴリズムと独立に、関与する式がその固有の
性質として実現上より優れていることを明らかに
することで十分である。これはつぎの点を明らか
にすることで達成される。すなわち、まず限界経
路に関与する主たる式の幅が通常の加算手法のそ
れより短かく、さらにこの発明における限界経路
の式を生成するのに必要な領域がより小さいとい
うことである。これは、たとえこの新しいスキー
マにより記述されるSUMの最終公式がよりハー
ドウエアを複雑にするとしても、このワードウエ
アが限界経路以外の経路としか関与しないからで
ある。主たる式の幅、限界経路と関与する領域が
少なければ、限界経路は改善される。 加算機能に関し、両スキーマではともに限界経
路の遅延は再帰を含む遅延である。すなわち
(1,b)により記述されるCiおよび(2.2)によ
り記述されるPS(i,n)である。しかしSUMを決定
する他の式は直ちに計算することができる。 定理 4 #が主たる入力から始まるPS(i,n)を生成するの
に必要なオア項の数であるとすると、Ciを生成す
るのに2#−1個の項が必要となる。 証 明 補題3より PS(i,n)=G*(i,o)+T(i+1,o)C(i,o) g,tをG*(i,o)およびT(i+1,o)Cinにそれぞれ必
要なオア項とすると、 #=g+t Ci=G(i,o)+T(i,o)Cin とすると、補題1から G(i,o)=TiG*(i,o)=Gi+TiG(i+1,o) G*(i,o)=Gi+G(i+1,o) したがつてG(i+1,o)はg−1個のオア項を有す
る。Tiが2個のオア項を有するとすると、 G(i,o)は1+2(g−1)=2g−1個の項を有す
る。 Gi,oが他にオア項を生成しないとすると、 T(i,o)=TiT(i+1,o)という定義から、T(i,o)が2t個のオ
ア項を有し、Ciが2(g+t)−1=2#−1個の
オア項を有する。 定理 5 P(i,n)を完全に展開すると、P(i,n)はちようど
2(n-i+1)個のオア項を有する。 証 明 G*(i,o)は 1+1+2+22+23+…… +2(n

Claims (1)

  1. 【特許請求の範囲】 1 つぎの(1)〜(3)の各手段を有することを特徴と
    する、所定ビツトの2つのオペランドAおよびB
    を加算する加算器。 (1) つぎの(a)〜(d)の信号を生成する手段。 (a) 疑似生成信号G*(i,n)。これはつぎのよう
    に規定される。 G*(i,n)=0:i>nのとき G*(i,n)=Gi+Gi+1+Ti+1Gi+2+Ti+1Gi+2Gi+3
    +…+Ti+1Ti+2Ti+3…Tn-1Gn :inのとき ただしnは加算のビツト幅より1だけ小さい数
    である。 Gi=AiBi Ti=Ai+Bi ここでAiおよびBiはオペランドAおよびBのi
    番目のビツト桁位置である。 (b) 疑似伝送信号T(i,n)。これはつぎのように
    規定される。 T(i,n)=1 : i>nのとき T(i,n)=TiTi+1Ti+2……Tn-1Tn : inの
    とき (c) 疑似半和信号Hioこれはつぎにように規定
    される。 Hiは未定義 : i>nのとき Hi=AiVBi : inのとき ただしVは排他的オアを示す。 (d) 疑似伝送半和信号Mioこれはつぎのように
    規定される。 Miは未定義 : Hiが未定義のとき Mi=HiVTi+1 :Hiが未定義でないとき。 (2) 疑似キヤリー信号PS(i,n)を生成する手段。こ
    の疑似キヤリー信号PS(i,n)はつぎのように規定
    される。 PS(i,n)=Cin : i>nのとき PS(i,n)=G*(i,n)+T(i+1,n+1) PS(n+1,z) :i

    nのときただしCinは加算器自体への外部からの
    キヤリーであり、zはm<zを満たす自然数であ
    る。 (3) 上記(a)〜(d)の信号および疑似キヤリー信号
    PS(i,n)に基づいて各ビツト桁位置の和SUMi
    つぎの式にしたがつて生成する手段。 SUMi-1=Mi-1P(i,n) +Hi-1PS(i,n)′ ただし(′)は反転信号を示す。
JP63126066A 1987-06-25 1988-05-25 Adder Granted JPS649523A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/066,364 US4942548A (en) 1987-06-25 1987-06-25 Parallel adder having removed dependencies

Publications (2)

Publication Number Publication Date
JPS649523A JPS649523A (en) 1989-01-12
JPH0424730B2 true JPH0424730B2 (ja) 1992-04-27

Family

ID=22069030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63126066A Granted JPS649523A (en) 1987-06-25 1988-05-25 Adder

Country Status (4)

Country Link
US (1) US4942548A (ja)
EP (1) EP0296344B1 (ja)
JP (1) JPS649523A (ja)
DE (1) DE3854284T2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0478731A4 (en) * 1990-04-04 1993-09-22 International Business Machines Corporation Early scism alu status determination apparatus
JP4531838B2 (ja) * 2006-09-28 2010-08-25 富士通株式会社 桁上先見回路および桁上先見方法
US7991820B1 (en) 2007-08-07 2011-08-02 Leslie Imre Sohay One step binary summarizer
WO2010045378A2 (en) * 2008-10-14 2010-04-22 The Research Foundation Of State University Of New York (Sunyrf) Generating partial sums

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5384647A (en) * 1976-12-30 1978-07-26 Fujitsu Ltd High-speed adder for binary and decimal
US4157590A (en) * 1978-01-03 1979-06-05 International Business Machines Corporation Programmable logic array adder
GB2011669B (en) * 1978-01-03 1982-01-13 Ibm Programmable logic array adders
US4348736A (en) * 1978-10-05 1982-09-07 International Business Machines Corp. Programmable logic array adder
IL59907A0 (en) * 1980-04-23 1980-06-30 Nathan Grundland Arithmetic logic unit
US4737926A (en) * 1986-01-21 1988-04-12 Intel Corporation Optimally partitioned regenerative carry lookahead adder

Also Published As

Publication number Publication date
EP0296344A2 (en) 1988-12-28
DE3854284T2 (de) 1996-03-28
DE3854284D1 (de) 1995-09-14
EP0296344B1 (en) 1995-08-09
JPS649523A (en) 1989-01-12
EP0296344A3 (en) 1991-01-30
US4942548A (en) 1990-07-17

Similar Documents

Publication Publication Date Title
Vergos et al. On modulo 2^ n+ 1 adder design
US4228520A (en) High speed multiplier using carry-save/propagate pipeline with sparse carries
US20040117424A1 (en) High-speed/low power finite impulse response filter
JP2002108606A (ja) スティッキービット生成回路及び乗算器
JPH0542011B2 (ja)
JP2002099208A (ja) マルチプレシジョン整数演算の実行方法および装置
JP3813127B2 (ja) 3つのゲートのクリティカル・パスを有するワイド加算器
JPS62256034A (ja) パイプライン演算ユニツト
JP3388819B2 (ja) 数値計算を実行するプロセスおよびそのプロセスを実現する演算装置
Sakthivel et al. Low power area optimized and high speed carry select adder using optimized half sum and carry generation unit for FIR filter
JPH0424730B2 (ja)
US7693925B2 (en) Multiplicand shifting in a linear systolic array modular multiplier
US5351207A (en) Methods and apparatus for subtraction with 3:2 carry-save adders
JPH0464091B2 (ja)
US5239498A (en) Methods and apparatus for improved quotient correction in nonrestoring division computation circuits
JPH0370416B2 (ja)
Veena et al. Low power high speed brent kung adder using spst
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry
JP2681968B2 (ja) 演算処理装置
Jyoti Singh et al. Study of Area-delay and Energy Efficient Multi-operand Binary Tree Adder
JPH0644047A (ja) 並列化借りルックアヘッド減算器
JPH0621983B2 (ja) 乗算器
Pai et al. Overflow detection in multioperand addition
JP2812365B2 (ja) 乗算回路
Lee et al. Self-timed shared division and square-root implementation using full redundant signed digit numbers