JP2530070B2 - 加算器 - Google Patents
加算器Info
- Publication number
- JP2530070B2 JP2530070B2 JP3231520A JP23152091A JP2530070B2 JP 2530070 B2 JP2530070 B2 JP 2530070B2 JP 3231520 A JP3231520 A JP 3231520A JP 23152091 A JP23152091 A JP 23152091A JP 2530070 B2 JP2530070 B2 JP 2530070B2
- Authority
- JP
- Japan
- Prior art keywords
- adder
- input
- circuit
- data
- register
- 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 - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
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)
- Synchronisation In Digital Transmission Systems (AREA)
- Dc Digital Transmission (AREA)
- Logic Circuits (AREA)
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサな
どにおいて高速演算を必要とする場合に用いられる加算
器に係り、特にマンチェスター型加算器を用いた加算器
に関する。
どにおいて高速演算を必要とする場合に用いられる加算
器に係り、特にマンチェスター型加算器を用いた加算器
に関する。
【0002】
【従来の技術】図5は、高速演算を必要とするマイクロ
プロセッサに設けられる加算器の一例として3ビット加
算器を示すブロック図である。
プロセッサに設けられる加算器の一例として3ビット加
算器を示すブロック図である。
【0003】ここで、11は3ビットの第1の加算入力
データaが入力する第1のレジスタ、12は3ビットの
第2の加算入力データbが入力する第2のレジスタ、1
3は第1のレジスタ11のデータfおよび第2のレジス
タ12のデータgが入力するALU(算術論理演算ユニ
ット)であり、マンチェスター型の加算器が用いられて
いる。14はALU13の出力データhが入力する第3
のレジスタである。さらに、15はクロック信号CLK
および演算指令制御信号cが入力する二入力のアンド回
路であり、その出力は前記第1のレジスタ11および第
2のレジスタ12に入力する。そして、dは下位からの
キャリー入力、eは上位へのキャリー出力である。
データaが入力する第1のレジスタ、12は3ビットの
第2の加算入力データbが入力する第2のレジスタ、1
3は第1のレジスタ11のデータfおよび第2のレジス
タ12のデータgが入力するALU(算術論理演算ユニ
ット)であり、マンチェスター型の加算器が用いられて
いる。14はALU13の出力データhが入力する第3
のレジスタである。さらに、15はクロック信号CLK
および演算指令制御信号cが入力する二入力のアンド回
路であり、その出力は前記第1のレジスタ11および第
2のレジスタ12に入力する。そして、dは下位からの
キャリー入力、eは上位へのキャリー出力である。
【0004】図6は、図5の3ビット加算器におけるス
タティック型加算動作の一例を示すタイミング波形図で
ある。taは演算指令制御信号生成用のデコード時間、
tbは演算実行時間、tcは演算結果格納用レジスタの
セットアップ時間である。
タティック型加算動作の一例を示すタイミング波形図で
ある。taは演算指令制御信号生成用のデコード時間、
tbは演算実行時間、tcは演算結果格納用レジスタの
セットアップ時間である。
【0005】即ち、加算命令コード信号がデコードされ
ることにより発生する演算指令制御信号cがアクティブ
になり、かつ、クロック信号CLKが立上ることによ
り、3ビットデータfおよびgがALU13に入力す
る。この場合、加算命令コード信号をデコードする時間
ta以降の時間tbで実際の加算動作が行われる。但
し、加算後の結果を第3のレジスタ14に格納する必要
があり、この格納時間tcを含めたta+tb+tc
が、加算器が演算を開始してその結果を演算結果格納用
レジスタに格納するまでの実際の実行時間となる。図7
は、マンチェスター型のスタティック型の3ビット加算
器を示す回路図である。
ることにより発生する演算指令制御信号cがアクティブ
になり、かつ、クロック信号CLKが立上ることによ
り、3ビットデータfおよびgがALU13に入力す
る。この場合、加算命令コード信号をデコードする時間
ta以降の時間tbで実際の加算動作が行われる。但
し、加算後の結果を第3のレジスタ14に格納する必要
があり、この格納時間tcを含めたta+tb+tc
が、加算器が演算を開始してその結果を演算結果格納用
レジスタに格納するまでの実際の実行時間となる。図7
は、マンチェスター型のスタティック型の3ビット加算
器を示す回路図である。
【0006】このマンチェスター型のスタティック型の
3ビット加算器は、2つの加算入力データ(f0 〜f2
)、(g0 〜g2 )のそれぞれ対応する位のビットデ
ータが入力する3個の加算回路70の各キャリーライン
71をバストランジスタ(本例ではCMOSトランスフ
ァゲート72)を介してシリアルに接続したものであ
る。
3ビット加算器は、2つの加算入力データ(f0 〜f2
)、(g0 〜g2 )のそれぞれ対応する位のビットデ
ータが入力する3個の加算回路70の各キャリーライン
71をバストランジスタ(本例ではCMOSトランスフ
ァゲート72)を介してシリアルに接続したものであ
る。
【0007】図7中の各加算回路70において、73は
二入力のナンド回路、74は二入力のノア回路、75は
排他的ノア回路、76は排他的オア回路、77はインバ
ータ回路、78は電源電位(Vcc)ノードとキャリーラ
イン71との間にソース・ドレイン間が接続され、ゲー
トに前記ナンド回路73の出力ノードが接続されたPチ
ャネルトランジスタ、79はキャリーライン71と接地
電位(Vss)ノードとの間にドレイン・ソース間が接続
され、ゲートに前記ノア回路74の出力ノードが接続さ
れたNチャネルトランジスタである。
二入力のナンド回路、74は二入力のノア回路、75は
排他的ノア回路、76は排他的オア回路、77はインバ
ータ回路、78は電源電位(Vcc)ノードとキャリーラ
イン71との間にソース・ドレイン間が接続され、ゲー
トに前記ナンド回路73の出力ノードが接続されたPチ
ャネルトランジスタ、79はキャリーライン71と接地
電位(Vss)ノードとの間にドレイン・ソース間が接続
され、ゲートに前記ノア回路74の出力ノードが接続さ
れたNチャネルトランジスタである。
【0008】次に、図7の3ビット加算器の動作を説明
する。ある位のビットデータが入力する加算回路70に
おいて、1ビット分の入力データとして(“0”、
“0”)が入力した場合、ノア回路74の出力は“1”
になり、このノア回路74の出力が接続されているNチ
ャネルトランジスタ79がオンになり、下位からのキャ
リーに依存せずにキャリーライン71に“0”が出力す
る。上記とは逆に、上記1ビット分の入力データとして
(“1”、“1”)が入力した場合、ナンド回路73の
出力は“0”になり、このナンド回路73の出力が接続
されているPチャネルトランジスタ78がオンになり、
下位からのキャリーに関係なくキャリーライン71に
“1”が出力し、上位側に伝搬される。これに対して、
上記1ビット分の入力データとして(“0”、“1”)
または(“1”、“0”)が入力した場合、ノア回路7
4の出力は“0”になり、ナンド回路73の出力は
“1”になり、ノア回路74の出力が接続されているN
チャネルトランジスタ79がオフになると共にナンド回
路73の出力が接続されているPチャネルトランジスタ
78がオフになる。この時、排他的ノア回路75の出力
は“0”になり、CMOSトランスファゲート72がオ
ンになり、下位からのキャリーがそのまま上位側に伝搬
される(即ち、下位からのキャリーに依存する)。
する。ある位のビットデータが入力する加算回路70に
おいて、1ビット分の入力データとして(“0”、
“0”)が入力した場合、ノア回路74の出力は“1”
になり、このノア回路74の出力が接続されているNチ
ャネルトランジスタ79がオンになり、下位からのキャ
リーに依存せずにキャリーライン71に“0”が出力す
る。上記とは逆に、上記1ビット分の入力データとして
(“1”、“1”)が入力した場合、ナンド回路73の
出力は“0”になり、このナンド回路73の出力が接続
されているPチャネルトランジスタ78がオンになり、
下位からのキャリーに関係なくキャリーライン71に
“1”が出力し、上位側に伝搬される。これに対して、
上記1ビット分の入力データとして(“0”、“1”)
または(“1”、“0”)が入力した場合、ノア回路7
4の出力は“0”になり、ナンド回路73の出力は
“1”になり、ノア回路74の出力が接続されているN
チャネルトランジスタ79がオフになると共にナンド回
路73の出力が接続されているPチャネルトランジスタ
78がオフになる。この時、排他的ノア回路75の出力
は“0”になり、CMOSトランスファゲート72がオ
ンになり、下位からのキャリーがそのまま上位側に伝搬
される(即ち、下位からのキャリーに依存する)。
【0009】上記したようにマンチェスター型のスタテ
ィック型の加算器は、各加算回路70の入力データとし
てそれぞれ(“0”、“1”)または(“1”、
“0”)が入力した際、“0”または“1”のキャリー
伝搬が発生するので、全てのビットの演算結果が下位か
らのキャリーに依存した場合に演算速度が最悪になる。
また、入力データの数はビット数の2乗の組合わせがあ
り、キャリー伝搬は“0”または“1”の両方が考えら
れるが、どちらのキャリーも高速に伝搬する必要があ
る。
ィック型の加算器は、各加算回路70の入力データとし
てそれぞれ(“0”、“1”)または(“1”、
“0”)が入力した際、“0”または“1”のキャリー
伝搬が発生するので、全てのビットの演算結果が下位か
らのキャリーに依存した場合に演算速度が最悪になる。
また、入力データの数はビット数の2乗の組合わせがあ
り、キャリー伝搬は“0”または“1”の両方が考えら
れるが、どちらのキャリーも高速に伝搬する必要があ
る。
【0010】この改善策として、キャリー伝搬を“0”
または“1”のうちの1種類だけとし、この1種類のキ
ャリー伝搬を高速化するように対策することにより加算
器の動作速度を向上させるようにしたダイナミック型加
算器が考えられる。
または“1”のうちの1種類だけとし、この1種類のキ
ャリー伝搬を高速化するように対策することにより加算
器の動作速度を向上させるようにしたダイナミック型加
算器が考えられる。
【0011】図8は、マンチェスター型加算器のキャリ
ー伝搬を“0”だけとするように、キャリーライン71
をVcc電位にプリチャージするようにしたダイナミック
型加算器を示す回路図である。ここで、80はVccノー
ドとキャリーライン71との間にソース・ドレイン間が
接続され、ゲートに反転クロック信号/CLKが与えら
れるプリチャージ用のPチャネルトランジスタである。
ー伝搬を“0”だけとするように、キャリーライン71
をVcc電位にプリチャージするようにしたダイナミック
型加算器を示す回路図である。ここで、80はVccノー
ドとキャリーライン71との間にソース・ドレイン間が
接続され、ゲートに反転クロック信号/CLKが与えら
れるプリチャージ用のPチャネルトランジスタである。
【0012】このダイナミック型加算器は、クロック信
号CLKの周期の前半をプリチャージ時間としており、
実際に加算を行う加算器の演算時間bの許される範囲が
クロック信号CLKの周期の後半だけとなり、加算器の
動作速度が向上しても、システム的に考えた場合には動
作周波数の向上にはつながらず、システムとしての性能
向上は望めない。
号CLKの周期の前半をプリチャージ時間としており、
実際に加算を行う加算器の演算時間bの許される範囲が
クロック信号CLKの周期の後半だけとなり、加算器の
動作速度が向上しても、システム的に考えた場合には動
作周波数の向上にはつながらず、システムとしての性能
向上は望めない。
【0013】さらに、ダイナミック型加算器の場合に
は、キャリーライン71をプリチャージするための回路
(Pチャネルトランジスタ80)を付加しなければなら
ない。その結果、キャリーライン71の負荷が大きくな
り、キャリー伝搬の高速化の妨げとなる。さらに、プリ
チャージを行うには、入力データを(“0”、“1”)
または(“1”、“0”)のように全てのビットの全加
算器が下位からのキャリーに依存した状態にしなくては
ならず、そのためにハードウェアの付加が必要であり、
半導体チップ上のパターン面積が増加するという問題が
ある。
は、キャリーライン71をプリチャージするための回路
(Pチャネルトランジスタ80)を付加しなければなら
ない。その結果、キャリーライン71の負荷が大きくな
り、キャリー伝搬の高速化の妨げとなる。さらに、プリ
チャージを行うには、入力データを(“0”、“1”)
または(“1”、“0”)のように全てのビットの全加
算器が下位からのキャリーに依存した状態にしなくては
ならず、そのためにハードウェアの付加が必要であり、
半導体チップ上のパターン面積が増加するという問題が
ある。
【0014】
【発明が解決しようとする課題】上記したように従来の
加算器は、スタティック型のものはキャリー伝搬速度が
遅く、ダイナミック型のものは加算器の動作速度を向上
できるがシステム的に動作周波数を向上できないという
問題があった。
加算器は、スタティック型のものはキャリー伝搬速度が
遅く、ダイナミック型のものは加算器の動作速度を向上
できるがシステム的に動作周波数を向上できないという
問題があった。
【0015】本発明は上記の問題点を解決すべくなされ
たもので、ダイナミック型加算器と同等の演算速度が得
られ、スタティック型加算器のようにクロックの1サイ
クル間に演算が可能になり、システム的に動作周波数を
向上させ得る加算器を提供することを目的とする。
たもので、ダイナミック型加算器と同等の演算速度が得
られ、スタティック型加算器のようにクロックの1サイ
クル間に演算が可能になり、システム的に動作周波数を
向上させ得る加算器を提供することを目的とする。
【0016】
【課題を解決するための手段】本発明は、2つの加算入
力データのそれぞれ対応する位のビットデータが入力す
る複数個の加算回路の各キャリーラインをシリアルに接
続したマンチェスター型加算器と、このマンチェスター
型加算器で演算を行う毎に演算直前にある特定のデータ
が入力されることにより前記各加算回路を初期化するた
めの初期化信号を出力する初期化信号出力回路とを具備
することを特徴とする。
力データのそれぞれ対応する位のビットデータが入力す
る複数個の加算回路の各キャリーラインをシリアルに接
続したマンチェスター型加算器と、このマンチェスター
型加算器で演算を行う毎に演算直前にある特定のデータ
が入力されることにより前記各加算回路を初期化するた
めの初期化信号を出力する初期化信号出力回路とを具備
することを特徴とする。
【0017】
【作用】マンチェスター型加算器が演算を行う毎に、演
算直前に初期化信号出力回路により初期化されるので、
スタティック型加算器のようにクロックの1サイクル間
に演算が可能になり、システム的に動作周波数を向上さ
せることが可能になる。しかも、キャリー伝搬が1種類
だけで済むので、この1種類のキャリー伝搬を高速化す
るように構成することにより、加算器の動作速度を向上
させることが可能になり、ダイナミック型加算器と同等
の演算速度が得られる。
算直前に初期化信号出力回路により初期化されるので、
スタティック型加算器のようにクロックの1サイクル間
に演算が可能になり、システム的に動作周波数を向上さ
せることが可能になる。しかも、キャリー伝搬が1種類
だけで済むので、この1種類のキャリー伝搬を高速化す
るように構成することにより、加算器の動作速度を向上
させることが可能になり、ダイナミック型加算器と同等
の演算速度が得られる。
【0018】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。図1は、本発明の一実施例として、高速演
算を必要とするマイクロプロセッサに設けられる加算器
の一例として3ビット加算器を示すブロック図である。
に説明する。図1は、本発明の一実施例として、高速演
算を必要とするマイクロプロセッサに設けられる加算器
の一例として3ビット加算器を示すブロック図である。
【0019】11は3ビットの第1の加算入力データa
が入力する第1のレジスタ、12は3ビットの第2の加
算入力データbが入力する第2のレジスタ、21および
22はクロック信号CLK入力に基ずいて初期化信号を
出力する第1の初期化信号出力回路および第2の初期化
信号出力回路である。23は第1のレジスタ11からの
データfおよび第1の初期化信号出力回路21からの初
期化信号i1 が入力し、この初期化信号i1 が入力する
時はこれを選択して出力し、それ以外の時は前記第1の
レジスタ11からのデータfを選択して出力する第1の
選択回路である。24は第2のレジスタ12からのデー
タgおよび第2の初期化信号出力回路22からの初期化
信号i2 が入力し、この初期化信号i2 が入力する時は
これを選択して出力し、それ以外の時は前記第2のレジ
スタ12からのデータgを選択して出力する第2の選択
回路である。これらの第1の選択回路23および第2の
選択回路24は、それぞれ例えば二入力のオア回路から
なる。13は第1の選択回路23からのデータjおよび
第2の選択回路24からのデータkが入力するALUで
あり、図7に示したようなマンチェスター型加算器が用
いられている。14はALU13の出力データhが入力
する第3のレジスタ(演算結果格納用レジスタ)であ
る。さらに、15はクロック信号CLKおよび演算指令
制御信号cが入力する二入力のアンド回路であり、その
出力は前記第1のレジスタ11および第2のレジスタ1
2に入力する。そして、dは下位からのキャリー入力、
eは上位へのキャリー出力である。
が入力する第1のレジスタ、12は3ビットの第2の加
算入力データbが入力する第2のレジスタ、21および
22はクロック信号CLK入力に基ずいて初期化信号を
出力する第1の初期化信号出力回路および第2の初期化
信号出力回路である。23は第1のレジスタ11からの
データfおよび第1の初期化信号出力回路21からの初
期化信号i1 が入力し、この初期化信号i1 が入力する
時はこれを選択して出力し、それ以外の時は前記第1の
レジスタ11からのデータfを選択して出力する第1の
選択回路である。24は第2のレジスタ12からのデー
タgおよび第2の初期化信号出力回路22からの初期化
信号i2 が入力し、この初期化信号i2 が入力する時は
これを選択して出力し、それ以外の時は前記第2のレジ
スタ12からのデータgを選択して出力する第2の選択
回路である。これらの第1の選択回路23および第2の
選択回路24は、それぞれ例えば二入力のオア回路から
なる。13は第1の選択回路23からのデータjおよび
第2の選択回路24からのデータkが入力するALUで
あり、図7に示したようなマンチェスター型加算器が用
いられている。14はALU13の出力データhが入力
する第3のレジスタ(演算結果格納用レジスタ)であ
る。さらに、15はクロック信号CLKおよび演算指令
制御信号cが入力する二入力のアンド回路であり、その
出力は前記第1のレジスタ11および第2のレジスタ1
2に入力する。そして、dは下位からのキャリー入力、
eは上位へのキャリー出力である。
【0020】図2は、図1中の2個の初期化信号出力回
路21、22のうちの一方を代表的に取り出してその一
例を示す回路図である。30…は3ビットデータにそれ
ぞれ対応して設けられたビット初期化回路である。この
ビット初期化回路30において、31はクロック信号C
LKが入力する遅延素子であり、抵抗および容量、ある
いは、チェーン接続されたインバータなどにより構成さ
れており、遅延時間taを有する。32は上記遅延素子
31の出力を反転するインバータであり、33は上記イ
ンバータ32の出力と前記クロック信号CLKが入力す
る二入力のアンド回路である。また、図1中の2個の選
択回路23、24は例えばそれぞれ3個のオア回路によ
って構成されている。
路21、22のうちの一方を代表的に取り出してその一
例を示す回路図である。30…は3ビットデータにそれ
ぞれ対応して設けられたビット初期化回路である。この
ビット初期化回路30において、31はクロック信号C
LKが入力する遅延素子であり、抵抗および容量、ある
いは、チェーン接続されたインバータなどにより構成さ
れており、遅延時間taを有する。32は上記遅延素子
31の出力を反転するインバータであり、33は上記イ
ンバータ32の出力と前記クロック信号CLKが入力す
る二入力のアンド回路である。また、図1中の2個の選
択回路23、24は例えばそれぞれ3個のオア回路によ
って構成されている。
【0021】図3は、図1の3ビット加算器における動
作例を示すタイミング波形図である。taは演算指令制
御信号生成用のデコード時間、tbは演算実行時間、t
cは演算結果格納用レジスタのセットアップ時間であ
る。
作例を示すタイミング波形図である。taは演算指令制
御信号生成用のデコード時間、tbは演算実行時間、t
cは演算結果格納用レジスタのセットアップ時間であ
る。
【0022】即ち、クロック信号CLKの立上りから加
算命令コード信号のデコードを開始することにより演算
指令制御信号cがアクティブになり、クロック信号CL
Kの立上りから加算器の動作が開始するまでにデコード
時間taが必要である。この間に、ビット初期化回路3
0においては、クロック信号CLKが入力してから遅延
時間ta後に遅延素子31から反転された遅延クロック
信号が出力し、この遅延クロック信号がインバータ32
で反転されることにより得られる信号CLK´と前記ク
ロック信号CLK入力とがアンド回路33に入力するこ
とによりワンショットパルス信号mが発生する。これに
より、第1の選択回路23の3ビット出力jおよび第2
の選択回路24の3ビット出力kは、3ビットデータ入
力fおよびgの値に関係なく全て“1”になり、ALU
13のマンチェスター型加算器に初期化のためのダミー
入力データとして入力する。これにより、加算器のキャ
リーラインが“1”の状態に初期化される。
算命令コード信号のデコードを開始することにより演算
指令制御信号cがアクティブになり、クロック信号CL
Kの立上りから加算器の動作が開始するまでにデコード
時間taが必要である。この間に、ビット初期化回路3
0においては、クロック信号CLKが入力してから遅延
時間ta後に遅延素子31から反転された遅延クロック
信号が出力し、この遅延クロック信号がインバータ32
で反転されることにより得られる信号CLK´と前記ク
ロック信号CLK入力とがアンド回路33に入力するこ
とによりワンショットパルス信号mが発生する。これに
より、第1の選択回路23の3ビット出力jおよび第2
の選択回路24の3ビット出力kは、3ビットデータ入
力fおよびgの値に関係なく全て“1”になり、ALU
13のマンチェスター型加算器に初期化のためのダミー
入力データとして入力する。これにより、加算器のキャ
リーラインが“1”の状態に初期化される。
【0023】上記ワンショットパルス信号mの発生が終
了した後は、第1の選択回路23および第2の選択回路
24は、実際に加算すべき3ビットデータ入力fおよび
gを選択してマンチェスター型加算器に入力するので、
加算が行われるようになる。この場合、キャリー伝搬は
“0”だけとなる。即ち、図7に示したマンチェスター
型加算器のある位の加算回路70において、1ビット分
の入力データとして(“0”、“0”)が入力した場
合、ノア回路74の出力は“1”になり、このノア回路
74の出力が接続されているNチャネルトランジスタ7
9がオンになり、下位からのキャリーに依存せずにキャ
リーライン71に“0”が出力する。上記とは逆に、上
記1ビット分の入力データとして(“1”、“1”)が
入力した場合、ナンド回路73の出力は“0”になり、
このナンド回路73の出力が接続されているPチャネル
トランジスタ78がオンになり、下位からのキャリーに
関係なくキャリーライン71に“1”が出力するが、キ
ャリーライン71が“1”の状態に初期化されているの
で、上位側への伝搬は既に実行されていることになる。
これに対して、上記1ビット分の入力データとして
(“0”、“1”)または(“1”、“0”)が入力し
た場合、ノア回路74の出力は“0”になり、ナンド回
路73の出力は“1”になり、上記ノア回路74の出力
が接続されているNチャネルトランジスタ79がオフに
なると共に上記ナンド回路73の出力が接続されている
Pチャネルトランジスタ78がオフになる。この時、排
他的ノア回路15の出力は“0”になり、CMOSトラ
ンスファゲート72がオンになり、下位からのキャリー
がそのまま上位側に伝搬される(即ち、下位からのキャ
リーに依存する)が、上記したようにキャリー伝搬は
“0”だけとなる。
了した後は、第1の選択回路23および第2の選択回路
24は、実際に加算すべき3ビットデータ入力fおよび
gを選択してマンチェスター型加算器に入力するので、
加算が行われるようになる。この場合、キャリー伝搬は
“0”だけとなる。即ち、図7に示したマンチェスター
型加算器のある位の加算回路70において、1ビット分
の入力データとして(“0”、“0”)が入力した場
合、ノア回路74の出力は“1”になり、このノア回路
74の出力が接続されているNチャネルトランジスタ7
9がオンになり、下位からのキャリーに依存せずにキャ
リーライン71に“0”が出力する。上記とは逆に、上
記1ビット分の入力データとして(“1”、“1”)が
入力した場合、ナンド回路73の出力は“0”になり、
このナンド回路73の出力が接続されているPチャネル
トランジスタ78がオンになり、下位からのキャリーに
関係なくキャリーライン71に“1”が出力するが、キ
ャリーライン71が“1”の状態に初期化されているの
で、上位側への伝搬は既に実行されていることになる。
これに対して、上記1ビット分の入力データとして
(“0”、“1”)または(“1”、“0”)が入力し
た場合、ノア回路74の出力は“0”になり、ナンド回
路73の出力は“1”になり、上記ノア回路74の出力
が接続されているNチャネルトランジスタ79がオフに
なると共に上記ナンド回路73の出力が接続されている
Pチャネルトランジスタ78がオフになる。この時、排
他的ノア回路15の出力は“0”になり、CMOSトラ
ンスファゲート72がオンになり、下位からのキャリー
がそのまま上位側に伝搬される(即ち、下位からのキャ
リーに依存する)が、上記したようにキャリー伝搬は
“0”だけとなる。
【0024】上記したように本実施例の加算器によれ
ば、マンチェスター型加算器が演算を行う毎に、演算直
前に初期化信号出力回路21、22から各加算回路70
にそれぞれ“1”が入力して初期化されるので、スタテ
ィック型加算器のようにクロック信号CLKの1サイク
ル間に演算が可能になり、システム的に動作周波数を向
上させることが可能になる。
ば、マンチェスター型加算器が演算を行う毎に、演算直
前に初期化信号出力回路21、22から各加算回路70
にそれぞれ“1”が入力して初期化されるので、スタテ
ィック型加算器のようにクロック信号CLKの1サイク
ル間に演算が可能になり、システム的に動作周波数を向
上させることが可能になる。
【0025】しかも、キャリー伝搬が1種類だけ(本例
では“0”)で済むので、この1種類のキャリー伝搬を
高速化するように構成することにより、加算器の動作速
度を向上させることが可能になり、ダイナミック型加算
器と同等の演算速度が得られる。この1種類のキャリー
伝搬を高速化するためには、キャリーライン71を駆動
するためにセンスインバータなどを使用すればよい。あ
るいは、例えば“0”のキャリー伝搬を高速化するため
には、前記CMOSトランスファゲート72のNチャネ
ルトランジスタのディメンションを大きくするなどの対
策を施すようにすればよい。
では“0”)で済むので、この1種類のキャリー伝搬を
高速化するように構成することにより、加算器の動作速
度を向上させることが可能になり、ダイナミック型加算
器と同等の演算速度が得られる。この1種類のキャリー
伝搬を高速化するためには、キャリーライン71を駆動
するためにセンスインバータなどを使用すればよい。あ
るいは、例えば“0”のキャリー伝搬を高速化するため
には、前記CMOSトランスファゲート72のNチャネ
ルトランジスタのディメンションを大きくするなどの対
策を施すようにすればよい。
【0026】なお、キャリー伝搬が1種類だけで済むの
で、キャリーライン71のバストランジスタとして、前
記CMOSトランスファゲート72のようなPチャネル
トランジスタおよびNチャネルトランジスタの抱き合わ
せでなく、Nチャネルトランジスタだけ(キャリー伝搬
が“0”だけの場合)、あるいは、Pチャネルトランジ
スタだけ(キャリー伝搬が“1”だけの場合)を用いて
もよい。図9は上記CMOSトランスファゲート72の
代わりにNチャネルトランジスタ81だけを用いた構成
例を示すものである。図9のような加算器では使用素子
数を低減することができる。
で、キャリーライン71のバストランジスタとして、前
記CMOSトランスファゲート72のようなPチャネル
トランジスタおよびNチャネルトランジスタの抱き合わ
せでなく、Nチャネルトランジスタだけ(キャリー伝搬
が“0”だけの場合)、あるいは、Pチャネルトランジ
スタだけ(キャリー伝搬が“1”だけの場合)を用いて
もよい。図9は上記CMOSトランスファゲート72の
代わりにNチャネルトランジスタ81だけを用いた構成
例を示すものである。図9のような加算器では使用素子
数を低減することができる。
【0027】また、上記実施例の初期化信号出力回路2
1、22は、特定のデータとして全て“1”あるいは
“0”が入力することにより初期化信号を出力する場合
を示したが、これに限らず、特定のデータとして
“1”、“0”の組合わせが入力することにより初期化
信号を出力するように構成を変更してもよい。
1、22は、特定のデータとして全て“1”あるいは
“0”が入力することにより初期化信号を出力する場合
を示したが、これに限らず、特定のデータとして
“1”、“0”の組合わせが入力することにより初期化
信号を出力するように構成を変更してもよい。
【0028】また、各桁が4ビットでバイナリーコード
化されている加算データ入力を加算する場合には、図4
に示すように、各桁に対応する4ビットマンチェスター
型加算器40…のキャリーライン41をシリアルに接続
すると共に各桁間に駆動回路(例えばインバータ回路)
42を挿入するように構成し、下位桁の4ビットマンチ
ェスター型加算器40に対応する初期化信号出力回路4
3には、特定のデータとして全て“1”を入力し、上位
桁の4ビットマンチェスター型加算器40に対応する初
期化信号出力回路44には、特定のデータとして全て
“0”を入力するようにしてもよい。
化されている加算データ入力を加算する場合には、図4
に示すように、各桁に対応する4ビットマンチェスター
型加算器40…のキャリーライン41をシリアルに接続
すると共に各桁間に駆動回路(例えばインバータ回路)
42を挿入するように構成し、下位桁の4ビットマンチ
ェスター型加算器40に対応する初期化信号出力回路4
3には、特定のデータとして全て“1”を入力し、上位
桁の4ビットマンチェスター型加算器40に対応する初
期化信号出力回路44には、特定のデータとして全て
“0”を入力するようにしてもよい。
【0029】
【発明の効果】上述したように本発明の加算器によれ
ば、ダイナミック型加算器と同等の演算速度が得られ、
スタティック型加算器のようにクロックの1サイクル間
に演算が可能になり、システム的に動作周波数を向上さ
せることができるので、マイクロプロセッサのALUや
アドレス加算回路に用いて好適である。
ば、ダイナミック型加算器と同等の演算速度が得られ、
スタティック型加算器のようにクロックの1サイクル間
に演算が可能になり、システム的に動作周波数を向上さ
せることができるので、マイクロプロセッサのALUや
アドレス加算回路に用いて好適である。
【図1】本発明の第1実施例に係る3ビット加算器を示
すブロック図。
すブロック図。
【図2】図1中の初期化信号出力回路の一具体例を示す
回路図。
回路図。
【図3】図1の3ビット加算器の動作を示すタイミング
波形図。
波形図。
【図4】本発明の第2実施例に係る加算器を示す回路
図。
図。
【図5】マイクロプロセッサに設けられる3ビット加算
器を示すブロック図。
器を示すブロック図。
【図6】従来の3ビット加算器における加算動作の一例
を示すタイミング波形図。
を示すタイミング波形図。
【図7】マンチェスター型のスタティック型加算器の一
例を示す回路図。
例を示す回路図。
【図8】マンチェスター型のダイナミック型加算器の一
例を示す回路図。
例を示す回路図。
【図9】マンチェスター型のダイナミック型加算器の一
例を示す回路図。
例を示す回路図。
11…第1のレジスタ、12…第2のレジスタ、21、
22、43、44…初期化信号出力回路、13…AL
U、14…第3のレジスタ(演算結果格納用レジス
タ)、23…第1の選択回路、24…第2の選択回路、
30…ビット初期化回路、31…遅延素子、32…イン
バータ、33…アンド回路、40…加算器、70…加算
回路、41、71…キャリーライン、72…バストラン
ジスタ(CMOSトランスファゲート)、73…ナンド
回路、74…ノア回路、75…排他的ノア回路、76…
排他的オア回路、42、77…インバータ回路、78…
Pチャネルトランジスタ、79…Nチャネルトランジス
タ、CLK…クロック信号、a…第1の加算入力デー
タ、b…第2の加算入力データ、c…演算指令制御信
号、d…下位からのキャリー入力、e…上位へのキャリ
ー出力、i1 、i2 …初期化信号。
22、43、44…初期化信号出力回路、13…AL
U、14…第3のレジスタ(演算結果格納用レジス
タ)、23…第1の選択回路、24…第2の選択回路、
30…ビット初期化回路、31…遅延素子、32…イン
バータ、33…アンド回路、40…加算器、70…加算
回路、41、71…キャリーライン、72…バストラン
ジスタ(CMOSトランスファゲート)、73…ナンド
回路、74…ノア回路、75…排他的ノア回路、76…
排他的オア回路、42、77…インバータ回路、78…
Pチャネルトランジスタ、79…Nチャネルトランジス
タ、CLK…クロック信号、a…第1の加算入力デー
タ、b…第2の加算入力データ、c…演算指令制御信
号、d…下位からのキャリー入力、e…上位へのキャリ
ー出力、i1 、i2 …初期化信号。
Claims (4)
- 【請求項1】 2つの加算入力データのそれぞれ対応す
る位のビットデータが入力する複数個の加算回路の各キ
ャリーラインをシリアルに接続したマンチェスター型加
算器と、 このマンチェスター型加算器で演算を行う毎に演算直前
にある特定のデータが入力されることにより前記各加算
回路を初期化するための初期化信号を出力する初期化信
号出力回路とを具備することを特徴とする加算器。 - 【請求項2】 第1の加算入力データが入力する第1の
レジスタと、 第2の加算入力データが入力する第2のレジスタと、 クロック入力に基ずいて初期化信号を出力する第1の初
期化信号出力回路および第2の初期化信号出力回路と、 前記第1のレジスタからのデータおよび第1の初期化信
号出力回路からの初期化信号が入力し、この初期化信号
が入力する時はこれを選択して出力し、それ以外の時は
前記第1のレジスタからのデータを選択して出力する第
1の選択回路と、 前記第2のレジスタからのデータおよび第2の初期化信
号出力回路からの初期化信号が入力し、この初期化信号
が入力する時はこれを選択して出力し、それ以外の時は
前記第2のレジスタからのデータを選択して出力する第
2の選択回路と、 上記第1の選択回路からのデータおよび第2の選択回路
からのデータが入力するマンチェスター型加算器と、 このマンチェスター型加算器の出力データが入力する第
3のレジスタとを具備することを特徴とする加算器。 - 【請求項3】 請求項2記載の加算器において、前記第
1の初期化信号出力回路および第2の初期化信号出力回
路は、前記第1のレジスタおよび第2のレジスタからそ
れぞれ入力するビットデータに対応してビット初期化回
路が設けられており、このビット初期化回路は、前記ク
ロックが入力する遅延素子と、この遅延素子の出力と前
記クロックが入力する二入力の論理積回路とを有するこ
とを特徴とする加算器。 - 【請求項4】 マイクロプロセッサに設けられることを
特徴とする請求項1乃至3のいずれか1項に記載の加算
器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3231520A JP2530070B2 (ja) | 1991-09-11 | 1991-09-11 | 加算器 |
KR1019920016493A KR950000387B1 (ko) | 1991-09-11 | 1992-09-09 | 가산기 |
US07/943,561 US5329477A (en) | 1991-09-11 | 1992-09-11 | Adder circuit having carry signal initializing circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3231520A JP2530070B2 (ja) | 1991-09-11 | 1991-09-11 | 加算器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0573268A JPH0573268A (ja) | 1993-03-26 |
JP2530070B2 true JP2530070B2 (ja) | 1996-09-04 |
Family
ID=16924776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3231520A Expired - Fee Related JP2530070B2 (ja) | 1991-09-11 | 1991-09-11 | 加算器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5329477A (ja) |
JP (1) | JP2530070B2 (ja) |
KR (1) | KR950000387B1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719803A (en) * | 1996-05-31 | 1998-02-17 | Hewlett-Packard Company | High speed addition using Ling's equations and dynamic CMOS logic |
GB2317971B (en) * | 1996-10-02 | 2000-12-06 | Advanced Risc Mach Ltd | Digital adder circuit |
US5881274A (en) * | 1997-07-25 | 1999-03-09 | International Business Machines Corporation | Method and apparatus for performing add and rotate as a single instruction within a processor |
US6119141A (en) * | 1998-05-06 | 2000-09-12 | Integrated Device Technology, Inc. | Resistive decoupling of function selection signals from input multiplexers in arithmetic logical units ALU |
KR100369999B1 (ko) * | 1999-01-30 | 2003-01-29 | 엘지전자 주식회사 | 직렬 데이터 평균 연산 장치 |
US6826588B2 (en) | 1999-12-23 | 2004-11-30 | Intel Corporation | Method and apparatus for a fast comparison in redundant form arithmetic |
US20040220994A1 (en) * | 2003-04-30 | 2004-11-04 | Intel Corporation | Low power adder circuit utilizing both static and dynamic logic |
US20040220993A1 (en) * | 2003-04-30 | 2004-11-04 | Intel Corporation | Low power adder |
JP2005011272A (ja) * | 2003-06-23 | 2005-01-13 | Oki Electric Ind Co Ltd | 演算回路 |
US7406495B2 (en) * | 2003-12-17 | 2008-07-29 | International Business Machines Corporation | Adder structure with midcycle latch for power reduction |
US8086657B2 (en) * | 2004-10-26 | 2011-12-27 | International Business Machines Corporation | Adder structure with midcycle latch for power reduction |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62111325A (ja) * | 1985-07-12 | 1987-05-22 | Mitsubishi Electric Corp | マンチェスタ型キャリィ伝搬回路 |
US4899305A (en) * | 1988-06-15 | 1990-02-06 | National Semiconductor Corp. | Manchester carry adder circuit |
DE59010655D1 (de) * | 1990-04-25 | 1997-04-03 | Itt Ind Gmbh Deutsche | Paralleladdierwerk |
-
1991
- 1991-09-11 JP JP3231520A patent/JP2530070B2/ja not_active Expired - Fee Related
-
1992
- 1992-09-09 KR KR1019920016493A patent/KR950000387B1/ko not_active IP Right Cessation
- 1992-09-11 US US07/943,561 patent/US5329477A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
KR930006539A (ko) | 1993-04-21 |
US5329477A (en) | 1994-07-12 |
KR950000387B1 (ko) | 1995-01-16 |
JPH0573268A (ja) | 1993-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5767700A (en) | Pulse signal transfer unit employing post charge logic | |
JP2005045746A (ja) | 論理演算回路および論理演算装置 | |
JP2530070B2 (ja) | 加算器 | |
US3962686A (en) | Memory circuit | |
US3942162A (en) | Pre-conditioning circuits for MOS integrated circuits | |
JPH0570180B2 (ja) | ||
JP3380828B2 (ja) | 半導体メモリ装置 | |
JP3287990B2 (ja) | バースト長さ検出回路 | |
US3976892A (en) | Pre-conditioning circuits for MOS integrated circuits | |
US4641278A (en) | Memory device with a register interchange function | |
US6212615B1 (en) | Semiconductor circuit having burst counter circuit which is reduced the circuits passing from the clock input terminal to output terminal | |
KR100224768B1 (ko) | 외부 데이타의 입력없이 라이트 동작을 수행하는기능을 갖는 반도체 기억장치 | |
US4918657A (en) | Semiconductor memory device provided with an improved precharge and enable control circuit | |
US6229369B1 (en) | Clock control circuit | |
JP3513158B2 (ja) | 半導体集積回路装置 | |
JP3068382B2 (ja) | プログラマブルロジックアレイ | |
JPH01196790A (ja) | 半導体メモリ装置 | |
KR100524950B1 (ko) | 전류 소모를 줄이는 인터페이싱 회로 | |
JP3235105B2 (ja) | 演算回路 | |
JPS62249233A (ja) | マイクロプロセツサ | |
JP2001344977A (ja) | 半導体記憶装置 | |
JPH0765577A (ja) | 半導体記憶装置の出力回路 | |
JP2873385B2 (ja) | シフトレジスタ回路 | |
JPS5932819B2 (ja) | アドレス制御装置 | |
JPH1116345A (ja) | カウンタ回路及びそれを用いた半導体メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19960416 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090614 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090614 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100614 Year of fee payment: 14 |
|
LAPS | Cancellation because of no payment of annual fees |