JPH02259926A - 加算制御方式 - Google Patents

加算制御方式

Info

Publication number
JPH02259926A
JPH02259926A JP1082333A JP8233389A JPH02259926A JP H02259926 A JPH02259926 A JP H02259926A JP 1082333 A JP1082333 A JP 1082333A JP 8233389 A JP8233389 A JP 8233389A JP H02259926 A JPH02259926 A JP H02259926A
Authority
JP
Japan
Prior art keywords
adder
bit
addition
value
signal
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
JP1082333A
Other languages
English (en)
Inventor
Toru Nojiri
徹 野尻
Masahiro Uminaga
正博 海永
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1082333A priority Critical patent/JPH02259926A/ja
Priority to US07/500,467 priority patent/US5065353A/en
Priority to EP19900106080 priority patent/EP0390174A3/en
Publication of JPH02259926A publication Critical patent/JPH02259926A/ja
Pending 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
    • 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/5052Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination using carry completion detection, either over all stages or at sample stages only

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、加算制御方式、すなわち、計算機の演算器を
構成する加算回路の制御方式に関し、特にデータおよび
アドレスに関してビット幅の長い計算機において、計算
機を制御するクロック幅を伸ばすことのない加算器の制
御方式、および、これをプログラム・カウンタの更新に
応用した加算制御方式ならびにスタックポインタの更新
に応用した加算制御方式に関する。
〔従来の技術〕
従来の加算機回路およびその制御方式については、ジェ
イ・ピー・ヘイズ著「コンピュータ・アーキテクチャ・
アンド・オーガニゼイシJンJ1978年、マグロ−ヒ
ル刊、第171頁〜第178頁(J 、 P 、 Ha
yss。
“Computer Architecture an
d Organization”1978、McGra
w−Hill、pp、171−178)に詳細に記述さ
れている。
上記従来技術によれば、加算器回路は、リップル・キャ
リー・アダーを基本としたものを用いて実現されている
。nビットのリップル・キャリー・アダーは、n個のフ
ルアダーをキャリーの入出力線に関して直列に連結した
もの(これを「キャリーチエイン」と呼ぶ)で構成され
る。それぞれのフルアダーはキャリービットを隣接した
フルアダーに供給する。そして、それぞれのフルアダー
は、キャリービットを隣接したフルアダーから受取ると
、2人カデータの該当ビットと受取ったキャリービット
とから、結果の該当ビットとキャリービットの値を確定
する。
このように、キャリービットがキャリーチエイン中をL
SBからMSBへと順に受は渡される状況を、キャリー
の伝播と呼んでいる。また、この加算器を用いてnビッ
トの加算を行うのに要する時間は、フルアダーが2人カ
データの該当ビットと受取ったキャリービットとから、
結果の該当ビットとキャリービットの値を確定し、隣接
するフルアダーヘキャリービットを出力するまでの時間
をdとすると、ndとなる。
従来技術では、この加算器の処理は、1クロツクサイク
ルで完了するようにクロックが設定される。従って、こ
の加算器を含む計算機システムを制御するクロックの幅
は、ndより長くなくてはならない。
また、キャリービットの伝播による遅延時間を短縮する
ことで加算器の処理速度の高速化を図ったものとして、
キャリー・ルックアヘッド・アダーがある。この加算器
は、二つの入力 X、Yを1ビツト毎に加算するのでは
なく、これをmビットのX(i)、Y(i)なる複数の
部分に分割し、mビット毎4ニーX(i)、Y(i)、
C(i−1)を入力とし、結果Z(i)とキャリービッ
トC(i)とを生成する加算を順次行い、結果Zを生成
するものである。
これによれば、回路が複雑になるために、個々のmビッ
トの加算を行う回路の処理時間は伸びるが、キャリービ
ットの伝播による遅延時間は17mになる。
〔発明が解決しようとする課題〕
上記従来技術は、今後、計算機システムにおけるデータ
およびアドレスのビット幅が、32ビツトから48ビツ
ト、64ビツト、もしくはそれ以上へと拡がる点につい
て配慮がなされておらず、ビット幅が拡がるにつれ、加
算器のキャリーチエインの長さが伸び、その結果、加算
器がクリティカルパスを含み、計算機システムを制御す
るクロックの幅を伸ばすという問題があった。
この問題を解決するために、上に述べたキャリー・ルッ
クアヘッド・アダーを用いても、データおよびアドレス
のビット幅が拡がる状況においては、結局、キャリーチ
エインが伸びる。もしくは、キャリーの先読みを行うビ
ット数を増やした結果、回路が複雑になる等から、加算
器がクリティカルパスを含み、本質的な解決とならない
また、更に、上記従来技術は、加算処理の2人カデータ
のうち、一方は少ないビット数で表現できる値である場
合が多いというプログラムの特性について配慮がなされ
ておらず、大部分の加算処理において、1クロツクサイ
クルの半ばにして結果の値が確定しており、計算機シス
テムは加算処理において無駄な時間を費やしているとい
う問題があった。
本発明は上記事情に鑑みてなされたもので、その目的と
するところは、従来の技術における上述の如き問題を解
消し、今後、計算機システムにおけるデータおよびアド
レスのビット幅が拡がった際に、加算器がクリティカル
パスを含み、その結果、計算機システムを制御するクロ
ックの幅が伸びることを防ぐことを可能とする加算制御
方式を提供することにある。
また、通常の加算器処理以外にも、プログラムカウンタ
の更新ならびにスタックポインタの更新等、加算処理に
おける2人カデータのうち一方は少ないビット数で表現
できる値である場合が多いというプログラムの特性につ
いて配慮し、従来技術で費やしていた加算処理における
無駄時間を省略することを可能とする加算制御方式を提
供することにある。
〔課題を解決するための手段〕
本発明の上記目的は、二つのnビットの数X。
Yを入力とし、これをn(i)ビットの X(i)、Y
(i)(、:m、1mで、i>O,LSBはx(1)、
Y(i)に含まれる)なる複数の部分に分割し、前記n
ビットの数X(i)、Y(i)およびキャリービットC
(i−1)で全加算を行い(但し、C(0)=0)、結
果Z(i)とキャリービットC(i)とを生成し、該Z
(i)からnビットの数Zを結果として出力する加算器
において、前記nビットの数X(i)、Y(i)および
キャリービットC(i−1)を入力してがら。
結果Z(i)とキャリービットC(i)を生成し、これ
を隣接する加算器に出力するまでに要する時間に関して
、前記複数の部分に分割した各部分に対する時間のうち
の最長のものをクロック幅として、各部分の加算器の処
理を制御することを特徴とする加算制御方式、または、
プログラムカウンタの更新ならびにスタックポインタの
更新等を行う加算処理を、上述の加算制御方式により実
現することによって達成される。
(作用〕 本発明に係る加算制御方式においては、二つのnビット
の数X、Yを入力とし、それをn(i)ビットのX(i
)、Y(i)(但し、i>O,LSBはX(1)、Y(
1)に含まれる)なる複数の部分に分割し、それぞれ、
X(i)とY(i)とC(i−1)とで全加算を行い(
但し、C(0)=0)、結果Z(i)とキャリービット
C(i)とを生成し、Z(i)からnビットの数2を結
果として出力する加算器において、クロックにより各部
分の加算処理を制御する。すなわち、第1サイクルにお
いて全X(i)、Y(i)に関して排他的論理和と論理
積をとり、その結果をそれぞれ z(x)、g(1)と
し、同時に、Z(1)=z(1)、C(1)=g(1)
とし、以下順次、第iサイクルで z(x)、g(x)
およびC(i−1)からZ(i)とC(i)とを定め、
すべてのi≧jに関して、キャリービットC(i )が
Oである場合、第j+1サイクルでZ(i)=z(i)
(但し、i>j)とし、全Z(i)を連結してnビット
の数Zを出力するよう動作する。
これによって、nビットの数Zが結果の値として確定さ
れるので、誤動作することがない、その他の詳細な作用
については、実施例の説明中で説明することにする。
[実施例〕 以下、本発明の実施例を図面に基づいて詳細に説明する
第1図は1本発明の一実施例である64ビツトの加算器
を示すブロック図である1本実施例の加算器は、64ビ
ツトの数XとYを入力とし、64ビツトの数Zを出力す
るものである。
本実施例の加算器は、四個の16ビツトの加算器10a
〜10d、クロック信号12により制御される三個のラ
ッチlla〜llcおよび出力制御回路13から構成さ
れており、64ビツトの数XとYを16ビツトの数X 
4− X s −X z −X 1; Y 4 、Y 
a 、Y z −Y 1ニ分割して、それぞれ加算器1
0d 、10c 、10bおよび10aにより16ビツ
ト単位で処理を行うものである。
加算器10d、10c、10bおよび10a間のキャリ
ーC1,C,およびC2の信号伝播は、クロック信号1
2により制御される三個のラッチ11 a 、11 b
 、11 cにより制御される。つまり、クロックの立
上がりによって、それまでラッチに入力されていたキャ
リーの値が、次のクロックの立上がりまで出力側に保持
される。また、加算処理が始まる第1サイクルのクロッ
クの立上がりによって、三個のラッチ11 a 、11
 b 、11 cの値が0にセットされ、入力X4゜X
z−Xs−Xt : Ya、Ya−Ys−Ytが有効値
となり、それぞれの加算器10d、10c、10bおよ
び10aで加算処理が開始され、次のクロックの立上が
りまでに* Z*jZssZ**Ztef!:*eg3
sgz*g1vCz+CztC3の値が確定する。
ここで、ZiはX i、Y iy Ch−1の三つの排
他的論理和ygiはX、とYlとの論理積である。キャ
リーC工、C2およびC3の信号伝播は、クロック信号
12により制御される三個のラッチ11 a 、11 
b 、11 cにより制御されるため、C1−xの値は
、第iサイクルのクロックの立上がりまでに入力XとY
に対する値に確定する。従って、24は入力XとYに対
する値に、第i+1サイクルのクロック立上がりまでに
確定する。
ところで−C,−Xが0でgi(但し、すべてのi≧j
)が0であると、帰納的にCi(但し、すべてのi≧j
)はOとなる。従って、その時点、つまり、第1サイク
ルのクロックの立上がりでのz41Z3*Z2eZ工の
値は、入力X、Yに対する加算結果Zに対する24.2
.、2□ZLの値に確定している。
そこで、第5サイクルのクロック立上がりまで処理を続
ける必要がない。
上記Z4tZatZitZiの値が、入力XとYに対す
る加算結果Zに対する z、、z、、z、、zlの値に
確定していることを示すのが、バリッドシグナル14で
ある。出力制御回路13は1g4tgaygztg工。
C1,C,、C,を基にバリッドシグナル14を生成す
る機能を有するものである。
第2図は、上記出力制御回路13の詳細な構成を示すも
のである。本回路は、4人力NOR回路2〇−1,3人
力NOR回路20−2.2人力NOR回路20−3.ク
ロックカウンタ回路21(21−1〜2l−4)、 4
人力OR回路25から構成されている。
クロックカウンタ回路21−1は、入力として、クロッ
ク12,1ビツトのシグナルzz−i、 nビットのカ
ウンタ指示信号23.後述するスタートシグナル(加算
処理開始信号) 103.出力として1ビツトのシグナ
ル27−1を有する。このクロックカウンタ回路21−
1は、スタートシグナル103がアサートされている状
態でクロック12が立上がったサイクルを第1サイクル
とし、上述の3ビツトのカウンタ指示信号23の値が示
すサイクルのクロックの立上がり時点での1ビツトのシ
グナル22−1の値を、1ビツトのシグナル27−1に
出力し、その値をそのサイクル中保持し続け、また、そ
れ以外の時点では、値″0”を1ビツトのシグナル27
−1に出力する。
従って、クロックカウンタ回路21−1は、第5サイク
ルのクロックの立上がり時点で、1ビツトのシグナル2
2−1の値、っまり“′1″を、1ビツトのシグナル2
7−1に出力し、同様に、クロックカウンタ回路21−
2は、第2サイクルのクロックの立上がり時点で、1ビ
ツトのシグナル22−2の値を、1ビツトのシグナル2
7−2に出力し、クロックカウンタ回路21−3は、第
3サイクルのクロックの立上がり時点で、1ビツトのシ
グナル22−3の値を、1ビツトのシグナル27−3に
出力し、クロックカウンタ回路21−4は、第4サイク
ルのクロックの立上がり時点で、1ビツトのシグナル2
2−4の値を、1ビツトのシグナル27−4に出力する
4人力NOR回路20−1は、入力 g4tgsmgz
およびC工のすべてが“0”のときに、1ビツトのシグ
ナル22−2の値を′1”とする、3人力NOR回路2
0−2は、入力f14egs、c*のすべてが0”のと
きに、1ビツトのシグナル22−3の値を“1”とする
また、2人力NOR回路20−3は、入力 g 4 t
 Csのすべてが“0”のときに、1ビツトのシグナル
22−4の値を′1″とする。
4人力OR回路25は、四ツノ入力27−1〜27−4
の論理和をとり、出力として、前述のバリッドシグナル
14を生成する。従って、バリッドシグナル14は、第
1サイクルではat Q 92を、第2サイクルでは1
ビツトのシグナル22−2の値を、第3サイクルでは1
ビツトのシグナル22−3の値を、第4サイクルでは1
ビツトのシグナル22−4の値を、第5サイクルでは1
ビツトのシグナル22−1の値、つまり111”を出力
する。
上記実施例の出力制御回路13によれば、クロックカウ
ンタ回路21(21−1〜2l−4)と、論理回路との
組合せによって、バリッドシグナル14を生成すること
ができる。また、これを用いる前述の実施例においては
、C,−1がOで gsc但し、すべてのi≧j)が0
で、帰納的にCi(但し、すべてのi≧j)が0となる
と、本来は、第5サイクルのクロック立上がりまで処理
を続ける必要があるところを、Z4tZ31Z1jZ1
の値が、入力x、yに対する加算結果Zに対する z、
、z3.z、、z、の値に確定している第jサイクルの
クロックの立上がりで処理を打切ることが可能となると
いう効果がある。
第3図は、本発明の第二の実施例である、64ビツトの
数Xと16ビツトの数Yを入力とし、64ビツトの数Z
を出力する加算器のブロック図である。
本実施例の加算器は、四個の16ビツトの加算器10a
〜10d、クロック信号12により制御される三個のラ
ッチLla〜licおよび出力制御回路13から構成さ
れており、64ビツトの数Xを16ビツトの数X4.X
、、X2およびX工に分割し、それぞれ、加算器10d
 、10c 、10bおよび10aにより16ビツト単
位で処理を行うものである。
加算器10d 、10c 、10bおよび10a間のキ
ャリーc z t c iおよびC3の信号伝播は、ク
ロック信号12により制御される三個のラッチ11 a
 、11 b 、11 cにより制御される。つまり、
クロックの立上がりによって、それまでラッチに入力さ
れていたキャリーの値が、次のクロックの立上がりまで
出力側に保持される。また、加算処理が始まる第1サイ
クルのクロックの立上がりによって、三個のラッチ11
 a 、11 b 、11 cの値が0にセットされ、
入力X 41x、、x、、xi; yが有効値となり、
それぞれの加算器10d、10c、10bおよび10a
で加算処理が開始され、次のクロックの立上がりまでに
*z41z3tZ x + Z h + g L e 
C□# Cz + Caの値が確定する。ココで、Zi
はXi*Yi+C1−2の三つの排他的論理和、giは
XiとYiとの論理積である。キャリーC工。
C2およびC1の信号伝播は、クロック信号12により
制御される三個のラッチ11 a 、11 b 、11
 cにより制御されるため、C,、の値は第1サイクル
のクロックの立上がりまでに入力X、Yに対する値に確
定する。従って、Ziは入力X、Yに対する値に、第i
+1サイクルのクロック立上がりまでに確定する。
ところで、C4−1が0で gi(但し、すべてのi≧
j)が0であると、前述の如く、帰納的にCi(但し、
すべてのi≧j)はOとなる。従って、その時点、つま
り、第jサイクルのクロックの立上がりでのz4tzi
tzttziの値は、入力X、Yに対する加算結果Zに
対する24.23.2.およびZlの値に確定している
。そこで、第5サイクルのクロック立上がりまで処理を
続ける必要がない、上述のZllZ3tZttZlの値
が、入力X、Yに対する加算結果2に対するz4.z、
、z、、z工の値に確定していることを示すのが、バリ
ッドシグナル!4であることも、前述の通りである。出
力制御回路13は、g**ga+g2+gzおよびC1
,C2,C,を基に、バリッドシグナル14を生成する
上記実施例によれば、CJ−1がOで、gi(但し、す
べてのi≧j)がOとなり、帰納的に、Cz(但し、す
べてのi≧j)はOとなると、本来、第5サイクルのク
ロックの立上がりまで処理を続ける必要があるところを
* z4 e Z a e z29 Z□の値は、入力
x、yに対する加算結果2に対するZ、、z、。
2、、2.の値に確定している第1サイクルのクロック
の立上がりで処理を打切ることが可能になるという効果
がある。
第4図は、上記実施例における制御信号のタイミングチ
ャートである。クロック信号12は、第1図に示した加
算器の動作の同期をとる基準となる信号であり、これを
基に各種の制御信号が生成される。第1図に示す加算器
を構成する個々の加算回路は、クロック信号12が”L
”(low)のとき(tl。
t 3+ t St t 7* t 9)に、加算処理
を行う。つまり、個々の加算回路は、クロック信号12
の立下がり時に確定する個々の加算回路の入力X(i)
、Y(i)=C(i)を基に加算処理を開始し、クロッ
ク信号12の立上がりまでに加算処理を終了し、個々の
加算回路の出力C(i+1)とZ(i)が確定する。
加算器入力制御信号101は、上記クロック信号12の
立下がり時にttH”(high)となるパルス信号で
ある。この加算器入力制御信号101が11 )(19
のときに、個々の加算回路に入力されているデータが入
力として確定され、その値が個々の加算回路が加算処理
を行う間、保持される。つまり、加算器入力制御信号1
01が1H″となることによって、個々の加算回路は、
加算処理を開始する。
キャリー伝播信号102は、上記クロック信号12の立
上がり時に“H”となるパルス信号で、個々の加算回路
間に設けられたラッチを制御する。このキャリー伝播信
号102が“H”となった時点では、前記実施例の加算
器を構成する個々の加算回路は加算処理を終了し、その
出力およびキャリーは確定している。キャリー伝播信号
102がglH”になると、個々の加算回路が出力する
キャリーの値を確定したものとみなし、個々の加算回路
の間に設けられたラッチはその値を、キャリー伝播信号
102がit L 17の間、つまり、個々の加算回路
が加算処理を行う間中、そして、次にキャリー伝播信号
102がJIH”になるまで、保持し続ける。
スタートシグナル(加算処理開始信号)103は、前記
実施例に示した加算器の加算処理開始を制御するもので
あり、加算処理を開始する第1サイクル、つまり、クロ
ック信号12の tOの立上がり時に“H”となるパル
ス信号である。スタートシグナル103が11 HIt
になると、個々の加算器の間に設けられたラッチはリセ
ットされ、値110nがセットされ、また、後述するク
ロックカウンタ回路21をリセットし、更に、その時点
で加算器に入力されているデータを有効値とみなして、
そのデータを基に加算器が加算処理を開始する。
加算処理終了信号104(104−1〜104−4)は
、前記実施例に示した加算器が加算処理を終了したこと
を示すもので、第2図に示したバリッドシグナル14と
キャリー伝播信号102との論理和をとって生成される
信号であり、第1図で説明した終了条件が満たされた際
にアサートされる信号である。
つまり、第2サイクルのクロック立上がり、すなわち、
tlの立上がり時点で、C□がIt Ol)であり、か
つ、g□e g x v g 3が11011であると
、加算処理終了信号104−1によって、第2サイクル
のクロックの立上がり(tlの立上がり時点)で前記実
施例に示した加算器が加算処理を終了したことを示す。
同様に、第3サイクルのクロック立上がり、すなわち、
t4の立上がり時点で、C2が“0”であり、かつ、g
xegzが′″0″であると、加算処理終了信号104
−2によって、第3サイクルのクロックの立上がり(t
4の立上がり時点)で前記実施例に示した加算器が加算
処理を終了したことを示す。同様に、第4サイクルのク
ロック立上がり、すなわち。
t6の立上がり時点で、Cつが′O″であり、かつ、g
、が“0”であると、加算処理終了信号104−3によ
って、第4サイクルのクロックの立上がり、つまり、t
6の立上がり時点で前記実施例に示した加算器が加算処
理を終了したことを示す。第5サイクルのクロック立上
がり、つまり、t8の立上がり時点では、前記実施例に
示した加算器は必ず加算処理を終了しており、加算処理
終了信号104−4によって、本実施例に示した加算器
の加算処理が終了したことが示される。
上記実施例に示した加算制御方式においては、二つのn
ビットの数X、Yを入力とし、それをn(i)ビットの
 X(i)、Y(i)(但し、i > O、L SBは
X(1)、Y(1)に含まれる)なる複数の部分に分割
し、それぞれ、X(i)とY(i)とC(i−1)とで
全加算を行って(但し、C(0)=0)、結果2(i)
とキャリービットC(i)とを生成し、Z(i)からn
ビットの数2を結果として出力する加算器において、第
1サイクルで全X(i)、Y(i)に関して排他的論理
和と論理積をとり、その結果をそれぞれ z(iLg(
x)とし、同時に、Z(1)=z(1)、C(1)=g
(1)とし、以下順次、第1サイクルでz(i)、g(
i)およびC(i−1)からZ(i)とC(i)とを定
め、すべてのi≧jに関して、キャリービットC(i)
が0である場合、第j+1サイクルでZ(i)=z(i
)(但し、i>j)とし、全Z(i)を連結してnビッ
トの数Zを出力するようにしたので、nビットの数Zが
結果の値として確定されることになり、誤動作すること
がない。
また、前記nビットの数X(iLY(i)の全部に関し
て全加算を行う加算器回路のキャリービットC(i)の
出力と、X(i+1)、Y(i+1)に関して全加算を
行う加算器回路のキャリービットC(i)の入力との間
にラッチを挿入し、該ラッチを前記クロックにより制御
することにより、キャリーの伝播がクロックにより制御
されるので、誤動作することがない。更に、任意のjに
対して、すべてのi > j L=関して論理積X(i
)Y(i)が0、かつ、C(j)がOである場合、制御
信号によって加算器の処理が終了し、結果の値Zが確定
したことが示されることにより、Z(i)のうち、その
算出にキャリーが影響を与えないものに関しては、z(
i)がZ(i)となるので、誤動作することがない、ま
た、あるjに対し、すべてのi>jに関してY(i)が
Oである入力に限定し、前記すべてのi≧jに関してキ
ャリービットC(i)が0である場合、制御信号によっ
て加算処理が終了し、結果の値Zが確定したことが示さ
れることにより、Z(i)のうち、その算出にキャリー
が影響を与えないものに関しては、z(i)がZ(i)
となるので、誤動作することがない。
なお、プログラムカウンタやスタックポインタの更新に
ついても、これらを、プログラムカウンタと命令のバイ
ト長を表現する値を入力とし、次の命令のアドレスを出
力とする加算器、または、スタックポインタ値と、スタ
ックのエントリの長さをバイト長で表現した値を入力と
し、次または前のエントリのアドレスを出力とする加算
器と考えれば、これらについても1本発明を適用するこ
とが可能であることは容易に理解されよう。
〔発明の効果〕
以上、詳細に述べた如く、本発明によれば、nビットの
数X(i)、Y(i)およびキャリービットC(i−1
)を入力してから、結果Z(i)とキャリービットC(
i )を生成し、これを隣接する加算器に出力するまで
に要する時間に関して、前記複数の部分に分割した各部
分に対する時間のうちの最長のものをクロック幅として
、各部分の加算器の処理を制御するようにしたので、今
後、計算機システムにおけるデータおよびアドレスのビ
ット幅が拡がった際に、加算器がクリティカルパスを含
み、その結果、計算機システムを制御するクロックの幅
が伸びることを防ぐことを可能とする加算制御方式を実
現できるという顕著な効果を奏するものである。
また、プログラムカウンタの更新ならびにスタックポイ
ンタの更新等を行う加算処理を、上述の加算制御方式に
より実現することによって、通常の加算器処理以外にも
、プログラムカウンタの更新ならびにスタックポインタ
の更新等、加算処理における2人カデータのうち一方は
少ないビット数で表現できる値である場合が多いという
プログラムの特性について配慮し、従来技術で費やして
いた加算処理における無駄時間を省略することを可能と
する加算制御方式を実現することが可能なものである。
【図面の簡単な説明】 第1図は本発明の一実施例である加算器の構成を示すブ
ロック図、第2図は実施例の出力制御回路の詳細を示す
構成図、第3図は本発明の他の実施例である加算器の構
成を示すブロック図、第4図は実施例における制御信号
のタイミングチャートである。 10a 〜10d : 16ビツトの加算器、 11a
〜11c :ラッチ、12:クロック信号、13:出力
制御回路、14:バリッドシグナル、20−1 : 4
人力NOR回路、20−2:3人力NOR回路、20−
3:2人力NOR回路、21(21−1〜2l−4) 
:クロックカウンタ回路、25:4人力OR回路、10
3ニスタートシグナル(加算処理開始信号)、X、Y:
64ビツトの数、X 1 y Y i :16ビツトの
数、Ci:キャリー Z:入力x、yに対する加算結果
。 、l「1、 代理人弁理士磯村雅俊1・k゛ン ?ゞ 第 図 第 図 スタートシグナル スタートシグナル

Claims (1)

  1. 【特許請求の範囲】 1、二つのnビットの数X、Yを入力とし、これをn(
    i)ビットのX(i)、Y(i)(ここで、i>0、L
    SBはX(1)、Y(i)に含まれる)なる複数の部分
    に分割し、前記nビットの数X(i)、Y(i)および
    キャリービットC(i−1)で全加算を行い(但し、C
    (0)=0)、結果Z(i)とキャリービットC(i)
    とを生成し、Z(i)からnビットの数Zを結果として
    出力する加算器において、前記nビットの数X(i)、
    Y(i)およびキャリービットC(i−1)を入力して
    から、結果Z(i)とキャリービットC(i)を生成し
    、これを隣接する加算器に出力するまでに要する時間に
    関して、前記複数の部分に分割した各部分に対する時間
    のうちの最長のものをクロック幅として、各部分の加算
    器の処理を制御することを特徴とする加算制御方式。 2、動作の第1サイクルにおいて、前記nビットの数X
    (i)、Y(i)の全部に関して排他的論理和z(i)
    、論理積g(i)、論理和p(i)をとり、同時にZ(
    1):z(1)、C(1)=g(1)とし、以下、第i
    サイクルでZ(i)とC(i−1)の排他的論理和をZ
    (i)、C(i−1)とp(i)の論理積と前記論理積
    g(i)との論理和をC(i)とし、あるjにおいて、
    すべてのi≧jに関してキャリービットC(i)が0で
    ある場合、第j+1サイクルでZ(i)=z(i)(但
    し、i>j)とし、全Z(i)を連結してnビットの数
    Zを結果として出力することを特徴とする請求項1記載
    の加算制御方式。 3、前記nビットの数X(i)、Y(i)の全部に関し
    て全加算を行う加算器回路のキャリービットC(i)の
    出力と、X(i+1)、Y(i+1)に関して全加算を
    行う加算器回路のキャリービットC(i)の入力との間
    にラッチを挿入し、該ラッチを前記クロックにより制御
    することを特徴とする請求項1または2記載の加算制御
    方式。 4、前記二つのnビットの数X、YをX(i)、Y(i
    )なる複数の部分に分割する際、それらをすべて等しい
    ビット幅とすることを特徴とする請求項1〜3のいずれ
    かに記載の加算制御方式。 5、前記すべてのi≧jに関してキャリービットC(i
    )が0であることを、すべてのi>jに関して論理積X
    (i)Y(i)が0、かつ、C(j)が0であることに
    よって示し、これに基づいて加算器の処理を制御する信
    号を生成することを特徴とする請求項1〜4のいずれか
    に記載の加算制御方式。 6、すべてのi>jに関してY(i)が0である入力に
    限定し、前記すべてのi≧jに関してキャリービットC
    (i)が0であることを、C(j)が0であることによ
    って示し、これに基づいて加算器の処理を制御する信号
    を生成することを特徴とする請求項1〜4のいずれかに
    記載の加算制御方式。 7、請求項6に記載の加算器の処理制御信号を用いて、
    プログラムカウンタ、つまりプログラムカウンタ値と命
    令のバイト長を表現する値を入力とし、次の命令のアド
    レス(nビットの値)を出力する加算器の更新を行うこ
    とを特徴とする加算制御方式。 8、請求項6に記載の加算器の処理制御信号を用いて、
    スタックポインタ、つまりスタックポインタ値とスタッ
    クのエントリの長さをバイト長で表現した値を入力とし
    、次または前のエントリのアドレス(nビットの値)を
    出力する加算器の更新を行うことを特徴とする加算制御
    方式。
JP1082333A 1989-03-31 1989-03-31 加算制御方式 Pending JPH02259926A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP1082333A JPH02259926A (ja) 1989-03-31 1989-03-31 加算制御方式
US07/500,467 US5065353A (en) 1989-03-31 1990-03-28 Adder control method and adder control circuit
EP19900106080 EP0390174A3 (en) 1989-03-31 1990-03-29 Adder control method and adder control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1082333A JPH02259926A (ja) 1989-03-31 1989-03-31 加算制御方式

Publications (1)

Publication Number Publication Date
JPH02259926A true JPH02259926A (ja) 1990-10-22

Family

ID=13771635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1082333A Pending JPH02259926A (ja) 1989-03-31 1989-03-31 加算制御方式

Country Status (3)

Country Link
US (1) US5065353A (ja)
EP (1) EP0390174A3 (ja)
JP (1) JPH02259926A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5161119A (en) * 1990-02-14 1992-11-03 Lsi Logic Corporation Weighted-delay column adder and method of organizing same
EP0473102B1 (en) * 1990-08-29 1995-11-22 Honeywell Inc. Data communication system with checksum calculating means
US5995546A (en) * 1996-04-10 1999-11-30 Texas Instruments Incorporated Digital integrator for pulse-density modulation using an adder carry or an integrator overflow
JP3112000B2 (ja) * 1998-10-28 2000-11-27 日本電気株式会社 加算回路
US8082419B2 (en) * 2004-03-30 2011-12-20 Intel Corporation Residual addition for video software techniques

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3932734A (en) * 1974-03-08 1976-01-13 Hawker Siddeley Dynamics Limited Binary parallel adder employing high speed gating circuitry
IT1038941B (it) * 1974-07-06 1979-11-30 Ibm Sistema di calcolo perfezionato
JPS601650B2 (ja) * 1977-03-31 1985-01-16 株式会社東芝 1ビツト遅延型全加算器
US4203157A (en) * 1978-09-05 1980-05-13 Motorola, Inc. Carry anticipator circuit and method
US4357675A (en) * 1980-08-04 1982-11-02 Bell Telephone Laboratories, Incorporated Ripple-carry generating circuit with carry regeneration
EP0051079B1 (de) * 1980-11-03 1984-09-26 Deutsche ITT Industries GmbH Binäres MOS-Ripple-Carry-Parallel-Addier/Subtrahierwerk und dafür geeignete Addier/Subtrahierstufe
DE3216196A1 (de) * 1982-04-30 1983-11-03 Siemens AG, 1000 Berlin und 8000 München Verfahren und vorrichtung zur schnellen addition von binaer codierter information
US4536855A (en) * 1982-12-23 1985-08-20 International Telephone And Telegraph Corporation Impedance restoration for fast carry propagation
US4623981A (en) * 1983-09-20 1986-11-18 Digital Equipment Corporation ALU with carry length detection
US4887233A (en) * 1986-03-31 1989-12-12 American Telephone And Telegraph Company, At&T Bell Laboratories Pipeline arithmetic adder and multiplier
DE3806570A1 (de) * 1988-03-01 1989-09-07 Siemens Ag Verfahren zum zaehlen von in kurzen zeitabstaenden aufeinander folgenden ereignissen durch elektronische zaehleinrichtungen und entsprechende zaehleinrichtungen

Also Published As

Publication number Publication date
US5065353A (en) 1991-11-12
EP0390174A2 (en) 1990-10-03
EP0390174A3 (en) 1992-03-04

Similar Documents

Publication Publication Date Title
EP0656582B1 (en) Parallel adding and averaging circuit and method
US4525797A (en) N-bit carry select adder circuit having only one full adder per bit
JPS6059470A (ja) 乗算‐累算処理装置に適する基本セル及び乗算‐累算処理装置
JPH05216624A (ja) 演算装置
US4172288A (en) Binary or BCD adder with precorrected result
JPH064271A (ja) 乗算器
US4138731A (en) High speed binary and binary coded decimal adder
JPS642986B2 (ja)
JPH02259926A (ja) 加算制御方式
US5586071A (en) Enhanced fast multiplier
JPH09231055A (ja) 論理演算回路及びキャリールックアヘッド加算器
JPH09222991A (ja) 加算方法および加算器
JPH10307707A (ja) 倍数判定回路及びその判定方法
KR0147942B1 (ko) 승산기에서의 부스 레코딩회로
JPH0370416B2 (ja)
JP3123060B2 (ja) ディジタル演算回路
JP3155026B2 (ja) 累算器
JP2001034457A (ja) 加減算回路
JP2864598B2 (ja) ディジタル演算回路
KR950010451B1 (ko) 그룹 트리구조 알고리즘(GTSM ; Group Tree Structure Method)을 적용한 고속 승산기
KR100206119B1 (ko) 가산기
JPH04257025A (ja) シリアル入力の乗算回路
JPH0934687A (ja) 演算回路および演算方法
JP2004234110A (ja) 全加算器用のパリティ予測回路
JPH11119976A (ja) データ分割並列シフタ