JP2004242292A - ゼロ検出で速い計算が可能なインクリメンタ及びその方法 - Google Patents

ゼロ検出で速い計算が可能なインクリメンタ及びその方法 Download PDF

Info

Publication number
JP2004242292A
JP2004242292A JP2004000578A JP2004000578A JP2004242292A JP 2004242292 A JP2004242292 A JP 2004242292A JP 2004000578 A JP2004000578 A JP 2004000578A JP 2004000578 A JP2004000578 A JP 2004000578A JP 2004242292 A JP2004242292 A JP 2004242292A
Authority
JP
Japan
Prior art keywords
logical state
bit
group
increment
logical
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.)
Granted
Application number
JP2004000578A
Other languages
English (en)
Other versions
JP4204482B2 (ja
Inventor
Yo-Han Kwon
ヨ ハン 権
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2004242292A publication Critical patent/JP2004242292A/ja
Application granted granted Critical
Publication of JP4204482B2 publication Critical patent/JP4204482B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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/5055Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination in which one operand is a constant, i.e. incrementers or decrementers

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)
  • Executing Machine-Instructions (AREA)
  • Logic Circuits (AREA)

Abstract

【課題】 ゼロ検出で速い計算が可能なインクリメンタ及びその方法を提供する。
【解決手段】 オペランド、4ビットグループ別の第1論理状態の存在情報、4ビットグループ別のフラグ情報、及び所定のインクリメント値に対して所定論理式による所定の論理組合わせを行って4ビットグループ別に、第1論理状態の4ビット、オペランドそのままの4ビット、または所定のインクリメント値の4ビットを出力して全体インクリメント値を発生させるインクリメンタである。本発明によれば、ゼロ検出する簡単なロジックとMUX構造の簡単な回路によってダイナミックに計算するので、速い計算が可能で、チップ上の面積を減らせる。
【選択図】 図1

Description

本発明はマイクロプロセッサ演算器に係り、特に、インクリメンタに関する。
インクリメンタは、入力されるオペランドに“1”を加算するアダーまたはカウンタである。マイクロプロセッサにおいて、インクリメンタは、ブールロジックの2つの補数を計算したり、その他のオペランドに1を加算する計算を含む多様な演算を行うのに使われる。
フルアダーを使用する従来のインクリメンタは、キャリビットの伝達を待つ時間によって動作スピードが落ち、しかもキャリビットを処理するための回路を備えることによって、その全体回路がチップ上で相当な面積を占める問題点がある。
また、特許文献1に開示されているような従来のゼロ・ストッピング・インクリメンタは、入力されるオペランドが偶数か奇数かを区別して、偶数である場合にはLSB(Least Significant Bit)を“1”とし、奇数である場合には最初“0”が検出される時にその“0”を“1”とした後、その前方のLSBの“0”を全て“1”とする方法を取る。しかし、従来のゼロ・ストッピング・インクリメンタは、多量のスタティックなロジックゲートの使用によってチップ上で相当な面積を占める問題点がある。
米国特許第5,635,858号明細書
本発明が解決しようとする技術的課題は、ゼロ検出する簡単なロジックとMUX構造の簡単な回路とによってダイナミックに速い計算が可能で、チップ上の面積を減らせるインクリメンタを提供することにある。
本発明が解決しようとする他の技術的課題は、ゼロ検出する簡単なロジックとMUX構造の簡単な回路とによってダイナミックに速い計算が可能で、チップ上の面積を減らせるインクリメンタのインクリメント方法を提供することにある。
上記の技術的課題を達成するための本発明によるインクリメンタは、4ビットゼロ検出部、フラグ情報生成部、4ビットインクリメント部、及びインクリメント出力部を備える。
前記4ビットゼロ検出部は、入力されるオペランドINを下位から4ビットずつでグループを作り、グループの各々について第1論理状態の存否を判断して、前記第1論理状態が存在すれば第2論理状態として発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させて4ビットグループ別の第1論理状態の存在情報ZDを出力する。
前記フラグ情報生成部は、前記4ビットグループ別の第1論理状態の存在情報ZDの下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させて4ビットグループ別のフラグ情報CAを出力する。
前記4ビットインクリメント部は、入力される前記オペランドINを受けて前記4ビットグループ別の所定のインクリメントを行う。
前記インクリメント出力部は、前記オペランドIN、前記4ビットグループ別の第1論理状態の存在情報ZD、前記4ビットグループ別のフラグ情報CA、及び前記所定のインクリメント値ADDを所定の論理組合わせして前記4ビットグループ別に、第1論理状態の4ビット、前記オペランドINそのままの4ビット、または前記所定のインクリメント値ADDの4ビットを出力して全体インクリメント値IOを発生させる。
ここで、前記所定のインクリメントは、論理式、
IF IN<0>and IN<1>=“1”,
(IN+1)<3:2>=INC<3:2>,
(IN+1)<1:0>=“00”
IF IN<0>and IN<1>=“0”,
(IN+1)<3:2>=IN<3:2>,
(IN+1)<1:0>=INC<1:0>
(ここで、INはオペランド、“IN+1”はインクリメント値、INCは新しく定義されたインクリメント、“0”は第1論理状態、“1”は第2論理状態)
及び、論理式、
INC<0>=〜IN<0>
INC<1>=IN<0>OR IN<1>
INC<2>=〜IN<2>
INC<3>=IN<2>OR IN<3>
(ここで、INはオペランド、INCは新しく定義されたインクリメント)
によって行われることを特徴とする。
前記所定の論理組合わせは、論理式、
IF ZD=“0”and CA=“0”,IO=“0000”,
IF ZD=“1”and CA=“0”,IO=IN+1,
IF CA=“1”(ZD=don’t care),IO=IN
(ここで、ZDは4ビットグループ別の第1論理状態の存在情報、CAは4ビットグループ別のフラグ情報、IOは全体インクリメント値の4ビットグループ別出力、INはオペランド、“IN+1”はインクリメント値、“0”は第1論理状態、“1”は第2論理状態)
によって行われることを特徴とする。
前記インクリメンタは、前記4ビットゼロ検出部、前記フラグ情報生成部、前記4ビットインクリメント部、及び前記インクリメント出力部が所定のクロックによって活性化される時に動作することを特徴とする。前記所定のクロックが非活性化状態である時、前記4ビットゼロ検出部、前記フラグ情報生成部、前記4ビットインクリメント部、及び前記インクリメント出力部それぞれの出力バッファの入力端が所定の電圧にプリチャージされる。前記出力バッファの各々は、前記プリチャージ電圧をインバートするインバータと、このインバータ出力の制御を受けて前記インバータの入力端に前記所定の電圧を供給するPMOSFETとを備える。前記インバータの出力は、前記所定のクロックが活性化状態であり、かつ前記出力バッファそれぞれの入力端と接地間で直列連結されているNMOSFETが全て活性化される時、前記第2論理状態に変換されることを特徴とする。
前記他の技術的課題を達成するための本発明によるインクリメンタのインクリメント方法は、次のような段階を備える。
すなわち、本発明によるインクリメンタのインクリメント方法は、まず、インクリメンタが、入力されるオペランドINを下位から4ビットずつでグループを作り、グループの各々について第1論理状態の存否を判断して、前記第1論理状態が存在すれば第2論理状態として発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させて4ビットグループ別の第1論理状態の存在情報ZDを出力する。
次いで、前記インクリメンタは、前記4ビットグループ別の第1論理状態の存在情報ZDの下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させて4ビットグループ別のフラグ情報CAを出力する。
これにより、前記インクリメンタは、入力される前記オペランドINを受けて前記4ビットグループ別の所定のインクリメントを行う。また、前記オペランドIN、前記4ビットグループ別の第1論理状態の存在情報ZD、前記4ビットグループ別のフラグ情報CA、及び前記所定のインクリメント値ADDを所定の論理組合わせして前記4ビットグループ別に、第1論理状態の4ビット、前記オペランドINそのままの4ビット、または前記所定のインクリメント値ADDの4ビットを出力して全体インクリメント値IOを発生させる。
上記のような本発明によるインクリメンタは、ゼロ検出する簡単なロジックとMUX構造の簡単な回路とによってダイナミックに計算するので、速い計算が可能で、チップ上の面積を減らせる。
以下、添付した図面を参照して本発明の望ましい実施形態を詳細に説明する。各図に提示された同一参照符号は同一部分を表す。
図1は、本発明の一実施形態によるインクリメンタのブロック図である。
図1を参照すれば、本発明の一実施形態によるインクリメンタは、4ビットゼロ検出部110、フラグ情報生成部120、4ビットインクリメント部130、及びインクリメント出力部140を備える。
前記4ビットゼロ検出部110は、入力されるオペランドINを下位から4ビットずつでグループを作り、グループ各々にゼロ、すなわち、第1論理状態(論理ロー状態)が存在しているかを判断して、前記第1論理状態が存在すれば“1”、すなわち、第2論理状態(論理ハイ状態)として発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させて4ビットグループ別の第1論理状態の存在情報ZDを出力する。
ここで、前記オペランドINは、マイクロプロセッサの演算で32ビットあるいは64ビット値を有し、それ以外のオペランドINのビット数でも本発明の一実施形態によるインクリメンタの演算は問題ないが、ここでは前記オペランドINが32ビットのデータで入力されると仮定する。
したがって、前記4ビットゼロ検出部110から出力される4ビットグループ別の第1論理状態の存在情報ZDは、入力される32ビットのオペランドINを4ビットずつ8グループに分ける時の8ビット情報であって、ゼロが存在するグループに対して“1”になり、ゼロが存在しないグループに対して“0”になる値を有する8ビットの情報である。
下記[例1]で、オペランドINの下位から4ビットずつグループを作って判断する時、ZD<6>,ZD<3>各々が属するグループで“0”があらわれるので、ZD<6>,ZD<3>は“1”になり、残りのZD<7>,ZD<5>,ZD<4>,ZD<2>,ZD<1>,ZD<0>は“0”になる。
[例1]
オペランド :1111 0000 1111 1111 1011 1111 1111 1111
全体インクリメント値:1111 0000 1111 1111 1100 0000 0000 0000
CA<7:1> :CA<7>CA<6>CA<5>CA<4>CA<3>CA<2>CA<1>
ZD<7:0> :ZD<7>ZD<6>ZD<5>ZD<4>ZD<3>ZD<2>ZD<1>ZD<0>
前記フラグ情報生成部120は、前記4ビットグループ別の第1論理状態の存在情報ZDの下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させて4ビットグループ別のフラグ情報CAを出力する。
すなわち、前記フラグ情報生成部120から出力される4ビットグループ別のフラグ情報CAは、入力される32ビットのオペランドINを4ビットずつ8グループに分ける時の8ビット情報であって、前記4ビットグループ別の第1論理状態の存在情報ZDによって前記ZDが最初に“1”になるグループの上位グループ(ZD<4>が属するグループ)から全体上位グループまでに対しては“1”になり、前記ZDが最初に“1”になるグループ(ZD<3>が属するグループ)を含んで全体下位グループまでに対しては“0”になる8ビットの情報である。
前記[例1]で、オペランドINの下位から4ビットずつグループを作って判断してZD<6>,ZD<3>各々が属するグループで“0”があらわれるが、その下位はZD<3>であるので、ZD<3>が属するグループを含んで全体下位グループまで、すなわち、CA<3>,CA<2>,CA<1>は“0”になり、その上位グループから全体上位グループまで、すなわち、CA<7>,CA<6>,CA<5>,CA<4>は“1”になる。
前記4ビットインクリメント部130は、入力される前記オペランドINを受けて前記4ビットグループ別の所定のインクリメントを行う。ここで行われて出力される所定のインクリメント値ADDは、前記インクリメント出力部140に入力される。
ここで、前記所定のインクリメントは、[論理式1]、及び[論理式2]によって行われることを特徴とする。
[論理式1]
IF IN<0>and IN<1>=“1”,
(IN+1)<3:2>=INC<3:2>,
(IN+1)<1:0>=“00”
IF IN<0>and IN<1>=“0”,
(IN+1)<3:2>=IN<3:2>,
(IN+1)<1:0>=INC<1:0>
(ここで、INはオペランド、“IN+1”はインクリメント値、INCは新しく定義されたインクリメント、“0”は第1論理状態、“1”は第2論理状態である)
[論理式2]
INC<0>=〜IN<0>
INC<1>=IN<0>OR IN<1>
INC<2>=〜IN<2>
INC<3>=IN<2>OR IN<3>
(ここで、INはオペランド、INCは新しく定義されたインクリメントである)
前記インクリメント出力部140は、前記オペランドIN、前記4ビットグループ別の第1論理状態の存在情報ZD、前記4ビットグループ別のフラグ情報CA、及び前記所定のインクリメント値ADDを所定の論理組合わせして前記4ビットグループ別に、第1論理状態の4ビット、前記オペランドINそのままの4ビット、または前記所定のインクリメント値ADDの4ビットを出力して全体インクリメント値IOを発生させる。
前記所定の論理組合わせは、[論理式3]によって行われることを特徴とする。
[論理式3]
IF ZD=“0”and CA=“0”,IO=“0000”,
IF ZD=“1”and CA=“0”,IO=IN+1,
IF CA=“1”(ZD=don’t care),IO=IN
(ここで、ZDは4ビットグループ別の第1論理状態の存在情報、CAは4ビットグループ別のフラグ情報、IOは全体インクリメント値の4ビットグループ別出力、INはオペランド、“IN+1”はインクリメント値、“0”は第1論理状態、“1”は第2論理状態である)
前記[例1]で、ZD<3>が属するグループでオペランドINに“1”を加算して全体インクリメント値IOが“1111 0000 1111 1111 1100 0000 0000 0000”と計算されることが分かる。このように計算する本発明の一実施形態によるインクリメンタの動作スピードは、200ps(pico sec)以下となり、この時に全体システムの動作周波数は10GHz以上になると期待される。
このような本発明の一実施形態によるインクリメンタの動作を図2ないし図5に示された具体的な回路図によってさらに詳細に説明する。
図2は、図1の4ビットゼロ検出部110の具体的な回路図である。
図2を参照すれば、図1の4ビットゼロ検出部110は、所定のクロックCLKが非活性化状態、すなわち、第1論理状態である時、出力バッファINV21,P2の入力端が所定の回路P1によって所定の電圧VDDにプリチャージされる。出力バッファINV21,P2は、前記プリチャージ電圧VDDをインバートするインバータINV21と、このインバータINV21の出力による制御を受けてインバータINV21の入力端に前記所定の電圧VDDを供給するPMOSFET P2とを備える。前記インバータINV21の出力は、前記所定のクロックCLKが活性化状態、すなわち、第2論理状態であり、かつ前記出力バッファINV21,P2の入力端と接地間で直列連結されている各2つのNMOSFET N1とN2,N3とN4,N5とN6,N7とN8の少なくとも一組が活性化される時、前記第2論理状態に変換されることを特徴とする。NIN<0>ないしNIN<3>は、前記オペランドINの32ビットのうち任意のグループに属する4ビットのインバート信号である。ここで、4ビットに関する回路について例をあげて図示したが、32ビットのオペランドINに関する8つのグループについて各々図2のような回路が必要である。
すなわち、図2のような4ビットゼロ検出部110は、入力されるオペランドINを下位から4ビットずつでグループを作り、グループ各々にゼロ、すなわち、第1論理状態(論理ロー状態)が存在しているかを判断して、前記第1論理状態が存在すれば“1”、すなわち、第2論理状態(論理ハイ状態)を発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させて4ビットグループ別の第1論理状態の存在情報ZDを出力できる。
図3(A)及び図3(B)は、図1のフラグ情報生成部120の具体的な回路図である。
図3(A)及び図3(B)を参照すれば、図1のフラグ情報生成部120は、クロックバッファ310を通じて入力される所定のクロックCLKが非活性化状態、すなわち、第1論理状態である時、出力バッファINV31,P32の入力端ZZCAノードが所定の回路320によって所定の電圧VDDにプリチャージされる。出力バッファINV31,P32は、前記プリチャージ電圧VDDをインバートするインバータINV31と、このインバータINV31の出力による制御を受けてインバータINV31の入力端ZZCAノードに前記所定の電圧VDDを供給するPMOSFET P32とを備える。前記インバータINV31の出力は、前記所定のクロックCLKが活性化状態、すなわち、第2論理状態であり、かつ前記出力バッファINV31,P32の入力端ZZCAノードと接地間で直列連結されているNMOSFET330が活性化される時、前記第2論理状態に変換されることを特徴とする。ZD<0>ないしZD<6>は、前記4ビットグループ別の第1論理状態の存在情報ZDである。ここで、最上位4ビットで“0”が最初にあらわれる場合はフラグ情報CA<7>が“0”になるので、後述する図5のように動作する回路で、ZD<7>は4ビットグループ別のフラグ情報CAの生成に不要であり、また、CA<0>は常に“0”であるので、CA<0>信号は不要である。
すなわち、図3(A)及び図3(B)のようなフラグ情報生成部120は、前記4ビットグループ別の第1論理状態の存在情報ZDの下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させて4ビットグループ別のフラグ情報CAを出力できる。
図4(A)及び図4(B)は、図1の4ビットインクリメント部130の具体的な回路図である。
図4(A)及び図4(B)を参照すれば、図1の4ビットインクリメント部130は、ビット別のインクリメント回路420〜450を備え、クロックバッファ410を通じて入力される所定のクロックCLKが非活性化状態、すなわち、第1論理状態である時、出力バッファINV41とP12,INV42とP14,INV43とP16,INV44とP18の入力端が所定の回路P11,P13,P15,P17によって所定の電圧VDDにプリチャージされる。出力バッファINV41とP12,INV42とP14,INV43とP16,INV44とP18は、前記プリチャージ電圧VDDをインバートするインバータINV41,INV42,INV43,INV44と、このインバータINV41,INV42,INV43,INV44の出力による制御を受けてインバータINV41,INV42,INV43,INV44の入力端に前記所定の電圧VDDを供給するPMOSFET P12,P14,P16,P18とを備える。前記インバータINV41,INV42,INV43,INV44の出力は、前記所定のクロックCLKが活性化状態、すなわち、第2論理状態であり、かつ前記出力バッファINV41とP12,INV42とP14,INV43とP16,INV44とP18の入力端と接地間で直列連結されている2つのNMOSFET N111とN12,N13とN14,N16とN17,N20とN21の両方が活性化される時、前記第2論理状態に変換されることを特徴とする。IN<0>ないしIN<3>及びNIN<0>とNIN<2>の各々は、前記オペランドINの32ビットのうち任意のグループに属する4ビット信号及びそのインバート信号である。ここで、4ビットに関する回路について例をあげて図示したが、32ビットのオペランドINに関する8つのグループについて各々図4(A)及び図4(B)のような回路が必要である。
すなわち、図4(A)及び図4(B)のような4ビットインクリメント部130は、入力される前記オペランドINを受けて前記4ビットのグループ別に[論理式1]、及び[論理式2]によって行われるインクリメントを行う。[論理式1]は、4ビットのうち下位2ビットによって“0”があるかを判断して、“0”がある場合と“0”がない場合とについて各ビットに対するインクリメント値を定義する。[論理式2]は、各ビットに対するインクリメント値を求める方法を定義する。[論理式2]で“〜”はインバート値を意味する。
例えば、4ビットのうち下位2ビットに“0”があれば、前記4ビットインクリメント部130は、上位2ビット出力でオペランドINをそのまま出力し、下位2ビット出力で[論理式2]に定義されたインクリメント値を出力する。4ビットのうち下位2ビットに“0”がなければ、前記4ビットインクリメント部130は、上位2ビット出力で[論理式2]に定義されたインクリメント値を出力し、下位2ビット出力で“00”を出力する。
図5は、図1のインクリメント出力部140の具体的な回路図である。
図5を参照すれば、図1のインクリメント出力部140は、クロックバッファ510を通じて入力される所定のクロックCLKが非活性化状態、すなわち、第1論理状態である時、出力バッファ550の入力端が所定の回路520(PMOSFET P52)によって所定の電圧VDDにプリチャージされる。出力バッファ550は、前記プリチャージ電圧VDDをインバートするインバータINV51と、このインバータINV51の出力による制御を受けてインバータINV51の入力端に前記所定の電圧VDDを供給するPMOSFETP52とを備える。前記インバータINV51の出力は、前記所定のクロックCLKが活性化状態、すなわち、第2論理状態であり、かつ前記出力バッファ550の入力端と接地間で直列連結されている多数のNMOSFET530または540の全てが活性化される時、前記第2論理状態に変換されることを特徴とする。NCAは、前記CAのインバート信号である。ここで、1ビットに対する回路について例をあげて図示したが、32ビットのオペランドINを受ける32ビット各々に対して図5のような回路が必要である。この時、NCA、CA、及びZDの各々は、4ビットグループに関する情報であって、8ビットずつであり、IN及びADDの各々は、同じビット別に対応しており、32ビットずつである。
すなわち、図5のようなインクリメント出力部140は、前記オペランドIN、前記4ビットグループ別の第1論理状態の存在情報ZD、前記4ビットグループ別のフラグ情報CA、及び前記所定のインクリメント値ADDを所定の論理組合わせして前記4ビットグループ別に、第1論理状態の4ビット([論理式3]で“0000”)、前記オペランドINそのままの4ビット([論理式3]で“IN”)、または前記所定のインクリメント値ADDの4ビット([論理式3]で“IN+1”)を出力して全体インクリメント値IOを発生させる。
以上のように、本発明の一実施形態によるインクリメンタは、まず4ビットゼロ検出部110が、入力されるオペランドINを下位から4ビットずつでグループを作り、グループの各々について第1論理状態の存否を判断して、前記第1論理状態が存在すれば第2論理状態として発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させて4ビットグループ別の第1論理状態の存在情報ZDを出力する。フラグ情報生成部120は、前記4ビットグループ別の第1論理状態の存在情報ZDの下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させて4ビットグループ別のフラグ情報CAを出力する。4ビットインクリメント部130は、入力される前記オペランドINを受けて[論理式1]及び[論理式2]によって前記4ビットグループ別の所定のインクリメントを行う。これにより、インクリメント出力部140は、前記オペランドIN、前記4ビットグループ別の第1論理状態の存在情報ZD、前記4ビットグループ別のフラグ情報CA、及び前記所定のインクリメント値ADDに対して[論理式3]による所定の論理組合わせを行って前記4ビットグループ別に、第1論理状態の4ビット、前記オペランドINそのままの4ビット、または前記所定のインクリメント値ADDの4ビットを出力して全体インクリメント値IOを発生させる。
以上により最適な実施形態が開示された。ここで、特定の用語が使われたが、これは単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、当業者ならば、これから多様な変形及び均等な他の実施形態が可能であることが分かる。よって、本発明の真の技術的な保護範囲は、特許請求の範囲の技術的思想によって決まらなければならない。
本発明によるインクリメンタは、マイクロプロセッサ内で各種の演算器に利用できる。
本発明の一実施形態によるインクリメンタのブロック図である。 図1の4ビットゼロ検出部の具体的な回路図である。 (A)及び(B)は、図1のフラグ情報生成部の具体的な回路図である。 (A)及び(B)は、図1の4ビットインクリメント部の具体的な回路図である。 図1のインクリメント出力部の具体的な回路図である。
符号の説明
110 4ビットゼロ検出部
120 フラグ情報生成部
130 4ビットインクリメント部
140 インクリメント出力部
IN オペランド
ZD 4ビットグループ別の第1論理状態の存在情報
CA 4ビットグループ別のフラグ情報
IO 全体インクリメント値
ADD 所定のインクリメント値

Claims (28)

  1. 入力されるオペランドを下位から4ビットずつでグループを作り、グループの各々について第1論理状態の存否を判断して、前記第1論理状態が存在すれば第2論理状態として発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させて4ビットグループ別の第1論理状態の存在情報ZDを出力する4ビットゼロ検出部と、
    前記4ビットグループ別の第1論理状態の存在情報ZDの下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させて4ビットグループ別のフラグ情報を出力するフラグ情報生成部と、
    入力される前記オペランドを受けて前記4ビットグループ別の所定のインクリメントを行う4ビットインクリメント部と、
    前記オペランド、前記4ビットグループ別の第1論理状態の存在情報、前記4ビットグループ別のフラグ情報、及び前記所定のインクリメント値を所定の論理組合わせして前記4ビットグループ別に、第1論理状態である4ビット、前記オペランドそのままの4ビット、または前記所定のインクリメント値の4ビットを出力して全体インクリメント値を発生させるインクリメント出力部と、を備えることを特徴とするインクリメンタ。
  2. 前記所定のインクリメントは、
    論理式、
    IF IN<0> and IN<1>=“1”,
    (IN+1)<3:2>=INC<3:2>,
    (IN+1)<1:0>=“00”
    IF IN<0> and IN<1>=“0”,
    (IN+1)<3:2>=IN<3:2>,
    (IN+1)<1:0>=INC<1:0>
    (ここで、INはオペランド、“IN+1”はインクリメント値、INCは新しく定義されたインクリメント、“0”は第1論理状態、“1”は第2論理状態)
    及び、論理式、
    INC<0>=〜IN<0>
    INC<1>=IN<0>OR IN<1>
    INC<2>=〜IN<2>
    INC<3>=IN<2>OR IN<3>
    (ここで、INはオペランド、INCは新しく定義されたインクリメント)
    によって行われることを特徴とする請求項1に記載のインクリメンタ。
  3. 前記所定の論理組合わせは、
    論理式、
    IF ZD=“0”and CA=“0”,IO=“0000”,
    IF ZD=“1”and CA=“0”,IO=IN+1,
    IF CA=“1”(ZD=don’t care),IO=IN
    (ここで、ZDは4ビットグループ別の第1論理状態の存在情報、CAは4ビットグループ別のフラグ情報、IOは全体インクリメント値の4ビットグループ別出力、INはオペランド、“IN+1”はインクリメント値、“0”は第1論理状態、“1”は第2論理状態)
    によって行われることを特徴とする請求項1に記載のインクリメンタ。
  4. 前記インクリメンタは、
    前記4ビットゼロ検出部、前記フラグ情報生成部、前記4ビットインクリメント部、及び前記インクリメント出力部が所定のクロックによって活性化される時、動作することを特徴とする請求項1に記載のインクリメンタ。
  5. 前記所定のクロックが非活性化状態である時、
    前記4ビットゼロ検出部、前記フラグ情報生成部、前記4ビットインクリメント部、及び前記インクリメント出力部それぞれの出力バッファの入力端が所定の電圧にプリチャージされることを特徴とする請求項4に記載のインクリメンタ。
  6. 前記出力バッファの各々は、
    前記プリチャージ電圧をインバートするインバータと、このインバータ出力の制御を受けて前記インバータの入力端に前記所定の電圧を供給するPMOSFETと、を備えることを特徴とする請求項5に記載のインクリメンタ。
  7. 前記インバータの出力は、
    前記所定のクロックが活性化状態であり、かつ前記出力バッファそれぞれの入力端と接地間で直列連結されているNMOSFETが全て活性化される時、前記第2論理状態に変換されることを特徴とする請求項6に記載のインクリメンタ。
  8. インクリメンタによって、入力されるオペランドを下位から4ビットずつでグループを作り、グループの各々について第1論理状態の存否を判断して、前記第1論理状態が存在すれば第2論理状態として発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させて4ビットグループ別の第1論理状態の存在情報を出力する段階と、
    前記インクリメンタによって、前記4ビットグループ別の第1論理状態の存在情報の下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させて4ビットグループ別のフラグ情報を出力する段階と、
    前記インクリメンタによって、入力される前記オペランドを受けて前記4ビットグループ別の所定のインクリメントを行う段階と、
    前記インクリメンタによって、前記オペランド、前記4ビットグループ別の第1論理状態の存在情報、前記4ビットグループ別のフラグ情報、及び前記所定のインクリメント値を所定の論理組合わせして前記4ビットグループ別に、第1論理状態の4ビット、前記オペランドそのままの4ビット、または前記所定のインクリメント値の4ビットを出力して全体インクリメント値を発生させる段階と、を備えることを特徴とするインクリメンタのインクリメント方法。
  9. 前記所定のインクリメントは、
    論理式、
    IF IN<0>and IN<1>=“1”,
    (IN+1)<3:2>=INC<3:2>,
    (IN+1)<1:0>=“00”
    IF IN<0>and IN<1>=“0”,
    (IN+1)<3:2>=IN<3:2>,
    (IN+1)<1:0>=INC<1:0>
    (ここで、INはオペランド、“IN+1”はインクリメント値、INCは新しく定義されたインクリメント、“0”は第1論理状態、“1”は第2論理状態)
    及び、論理式、
    INC<0>=〜IN<0>
    INC<1>=IN<0>OR IN<1>
    INC<2>=〜IN<2>
    INC<3>=IN<2>OR IN<3>
    (ここで、INはオペランド、INCは新しく定義されたインクリメント)
    によって行われることを特徴とする請求項8に記載のインクリメンタのインクリメント方法。
  10. 前記所定の論理組合わせは、
    論理式、
    IF ZD=“0”and CA=“0”,IO=“0000”,
    IF ZD=“1”and CA=“0”,IO=IN+1,
    IF CA=“1”(ZD=don’t care),IO=IN
    (ここで、ZDは4ビットグループ別の第1論理状態の存在情報、CAは4ビットグループ別のフラグ情報、IOは全体インクリメント値の4ビットグループ別出力、INはオペランド、“IN+1”はインクリメント値、“0”は第1論理状態、“1”は第2論理状態)
    によって行われることを特徴とする請求項8に記載のインクリメンタのインクリメント方法。
  11. 前記インクリメンタは、
    所定のクロックが活性化される時に動作することを特徴とする請求項8に記載のインクリメンタのインクリメント方法。
  12. 前記所定のクロックが非活性化状態である時、
    前記インクリメンタの出力バッファの入力端が所定の電圧にプリチャージされることを特徴とする請求項11に記載のインクリメンタのインクリメント方法。
  13. 前記出力バッファの各々は、
    前記プリチャージ電圧をインバートするインバータと、このインバータ出力の制御を受けて前記インバータの入力端に前記所定の電圧を供給するPMOSFETと、を備えることを特徴とする請求項12に記載のインクリメンタのインクリメント方法。
  14. 前記インバータの出力は、
    前記所定のクロックが活性化状態であり、かつ前記出力バッファそれぞれの入力端と接地間で直列連結されているNMOSFETが全て活性化される時、前記第2論理状態に変換されることを特徴とする請求項13に記載のインクリメンタのインクリメント方法。
  15. 入力されるオペランドを所定順序で3より大きいbビットずつでグループを作って、bビットグループ別の第1論理状態の存在情報を出力するbビットゼロ検出部と、
    前記bビットグループ別のフラグ情報を出力するフラグ情報生成部と、
    入力される前記オペランドを受けて前記bビットグループ別の所定のインクリメントを行うbビットインクリメント部と、
    所定の論理組合わせによって前記bビットグループ別に、第1論理状態のbビット、前記オペランドそのままのbビット、または前記所定のインクリメント値のbビットを出力して全体インクリメント値を発生させるインクリメント出力部と、を備えることを特徴とするインクリメンタ。
  16. 前記bは、
    4であることを特徴とする請求項15に記載のインクリメンタ。
  17. 前記所定順序は、
    最下位ビットから始まることを特徴とする請求項16に記載のインクリメンタ。
  18. 前記bビットゼロ検出部は、
    前記bビットグループの各々について第1論理状態の存否を判断して、前記第1論理状態が存在すれば第2論理状態、前記第1論理状態が存在しなければ前記第1論理状態を有する前記第1論理状態の存在情報を出力することを特徴とする請求項17に記載のインクリメンタ。
  19. 前記フラグ情報生成部は、
    前記bビットグループ別の第1論理状態の存在情報の下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態、真上の上位グループから全体上位グループまでは前記第2論理状態を有する前記フラグ情報を出力することを特徴とする請求項18に記載のインクリメンタ。
  20. 前記所定の論理組合わせは、
    前記オペランド、前記bビットグループ別の第1論理状態の存在情報、前記bビットグループ別のフラグ情報、及び前記bビットグループ別の前記所定のインクリメント値に対して行うことを特徴とする請求項19に記載のインクリメンタ。
  21. 入力されるオペランドを所定順序でbビットずつでグループを作ってbビットグループを生成する段階と、
    前記bビットグループ別の第1論理状態の存否を判断する段階と、
    前記bビットグループ別の第1論理状態の存在情報を出力する段階と、
    前記bビットグループ別のフラグ情報を出力する段階と、
    前記bビットグループ別の所定のインクリメントを行う段階と、
    前記オペランド、前記bビットグループ別の第1論理状態の存在情報、前記bビットグループ別のフラグ情報、及び前記bビットグループ別の前記所定のインクリメント値に対して所定の論理組合わせを行う段階と、
    全体インクリメント値を発生させる段階と、を備えることを特徴とするインクリメンタのインクリメント方法。
  22. 前記bは、
    4であることを特徴とする請求項21に記載のインクリメンタのインクリメント方法。
  23. 前記所定順序は、
    最下位ビットから始まることを特徴とする請求項22に記載のインクリメンタのインクリメント方法。
  24. 前記第1論理状態の存在情報は、
    前記第1論理状態が存在すれば第2論理状態であり、前記第1論理状態が存在しなければ前記第1論理状態であることを特徴とする請求項23に記載のインクリメンタのインクリメント方法。
  25. 前記フラグ情報は、
    前記bビットグループ別の第1論理状態の存在情報の下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態であり、真上の上位グループから全体上位グループまでは前記第2論理状態であることを特徴とする請求項24に記載のインクリメンタのインクリメント方法。
  26. 前記全体インクリメント値は、
    前記bビットグループ別に、第1論理状態のbビット、前記オペランドそのままのbビット、または前記所定のインクリメント値のbビットを出力することによって生成されることを特徴とする請求項25に記載のインクリメンタのインクリメント方法。
  27. 入力されるオペランドを下位から3より大きいbビットずつでグループを作り、グループの各々について第1論理状態の存否を判断して、前記第1論理状態が存在すれば第2論理状態として発生させ、前記第1論理状態が存在しなければ前記第1論理状態として発生させてbビットグループ別の第1論理状態の存在情報を出力するbビットゼロ検出部と、
    前記bビットグループ別の第1論理状態の存在情報の下位で最初にあらわれる前記第2論理状態に対応して、前記第2論理状態が属するグループから全体下位グループまでは前記第1論理状態として発生させ、真上の上位グループから全体上位グループまでは前記第2論理状態として発生させてbビットグループ別のフラグ情報を出力するフラグ情報生成部と、
    入力される前記オペランドを受けて前記bビットグループ別の所定のインクリメントを行うbビットインクリメント部と、
    前記オペランド、前記bビットグループ別の第1論理状態の存在情報、前記bビットグループ別のフラグ情報、及び前記所定のインクリメント値を所定の論理組合わせして前記bビットグループ別に、第1論理状態のbビット、前記オペランドそのままのbビット、または前記所定のインクリメント値のbビットを出力して全体インクリメント値を発生させるインクリメント出力部と、を備えることを特徴とするインクリメンタ。
  28. 前記bは、
    4であることを特徴とする請求項27に記載のインクリメンタ。
JP2004000578A 2003-02-06 2004-01-05 ゼロ検出で速い計算が可能なインクリメンタ及びその方法 Expired - Fee Related JP4204482B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0007415A KR100459734B1 (ko) 2003-02-06 2003-02-06 제로 검출로 빠른 계산이 가능한 인크리멘터 및 그 방법

Publications (2)

Publication Number Publication Date
JP2004242292A true JP2004242292A (ja) 2004-08-26
JP4204482B2 JP4204482B2 (ja) 2009-01-07

Family

ID=32822650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004000578A Expired - Fee Related JP4204482B2 (ja) 2003-02-06 2004-01-05 ゼロ検出で速い計算が可能なインクリメンタ及びその方法

Country Status (4)

Country Link
US (1) US7349937B2 (ja)
JP (1) JP4204482B2 (ja)
KR (1) KR100459734B1 (ja)
CN (1) CN100472429C (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8554821B2 (en) 2010-08-09 2013-10-08 International Business Machines Corporation Expanded scope incrementor
GB2595676B (en) * 2020-06-02 2022-06-22 Dualitas Ltd A display device and system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5635858A (en) 1995-06-07 1997-06-03 International Business Machines, Corporation Zero-stopping incrementers
US6665698B1 (en) * 2000-05-12 2003-12-16 Hewlett-Packard Development Company, L.P. High speed incrementer/decrementer
US6678711B1 (en) * 2000-09-20 2004-01-13 Lsi Logic Corporation Incrementer/decrementer circuit
US20030097392A1 (en) * 2001-11-21 2003-05-22 Masteller Steven R. Four-rail NCL incrementor/decrementor
US20040015534A1 (en) * 2002-07-17 2004-01-22 Sun Microsystems, Inc. Method for adding one to a binary number

Also Published As

Publication number Publication date
US7349937B2 (en) 2008-03-25
CN100472429C (zh) 2009-03-25
US20040158599A1 (en) 2004-08-12
CN1519698A (zh) 2004-08-11
JP4204482B2 (ja) 2009-01-07
KR20040071447A (ko) 2004-08-12
KR100459734B1 (ko) 2004-12-03

Similar Documents

Publication Publication Date Title
US5850568A (en) Circuit having plurality of carry/sum adders having read count, write count, and offset inputs to generate an output flag in response to FIFO fullness
JPH0785221B2 (ja) 補数化装置
US5450056A (en) Method and apparatus for comparing two numbers
JP3813127B2 (ja) 3つのゲートのクリティカル・パスを有するワイド加算器
US5612911A (en) Circuit and method for correction of a linear address during 16-bit addressing
US6470440B1 (en) Vector compare and maximum/minimum generation apparatus and method therefor
JPH11249870A (ja) 二進比較回路
US6499046B1 (en) Saturation detection apparatus and method therefor
US6066978A (en) Partial product generating circuit
US5944771A (en) Arithmetic operation system for binary addition/subtraction
JP4204482B2 (ja) ゼロ検出で速い計算が可能なインクリメンタ及びその方法
JP5124209B2 (ja) 半導体集積回路のdbi信号生成装置および方法
US8005880B2 (en) Half width counting leading zero circuit
US7386583B2 (en) Carry generator based on XOR, and conditional select adder using the carry generator, and method therefor
US20040015534A1 (en) Method for adding one to a binary number
JPH01220528A (ja) パリテイ発生器
JP3509069B2 (ja) 飽和選択装置とそのための方法
US7461118B2 (en) Arithmetic logic unit with merged circuitry for comparison, minimum/maximum selection and saturation for signed and unsigned numbers
US20040001505A1 (en) Circuit for adding one to a binary number
US7194501B2 (en) Complementary pass gate logic implementation of 64-bit arithmetic logic unit using propagate, generate, and kill
EP1041720B1 (en) Binary zero determination signal generating circuit
KR100486255B1 (ko) 데이터 검출회로 및 데이터 검출 방법
US7919991B1 (en) Comparator circuit
KR100464425B1 (ko) 인크리먼트 회로
JPH0573703A (ja) 半導体集積回路装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080408

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080625

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080916

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081014

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111024

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121024

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131024

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees