[go: up one dir, main page]

JP3560623B2 - 算術または論理演算の計算結果の検出方法 - Google Patents

算術または論理演算の計算結果の検出方法 Download PDF

Info

Publication number
JP3560623B2
JP3560623B2 JP19059893A JP19059893A JP3560623B2 JP 3560623 B2 JP3560623 B2 JP 3560623B2 JP 19059893 A JP19059893 A JP 19059893A JP 19059893 A JP19059893 A JP 19059893A JP 3560623 B2 JP3560623 B2 JP 3560623B2
Authority
JP
Japan
Prior art keywords
bit
signal
cell
zero
alu
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
Application number
JP19059893A
Other languages
English (en)
Other versions
JPH06348454A (ja
Inventor
ダブリュ.ボスハート パトリック
アガーワラ サンジブ
Original Assignee
テキサス インスツルメンツ インコーポレイテツド
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 テキサス インスツルメンツ インコーポレイテツド filed Critical テキサス インスツルメンツ インコーポレイテツド
Publication of JPH06348454A publication Critical patent/JPH06348454A/ja
Application granted granted Critical
Publication of JP3560623B2 publication Critical patent/JP3560623B2/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
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • 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/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30094Condition code generation, e.g. Carry, Zero flag
    • 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling

Landscapes

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

Description

【0001】
【産業上の利用分野】
この発明は一般にコンピュータの算術論理演算装置に関し、より詳細には算術または論理計算の結果を検出する方法に関する。
【0002】
【従来の技術】
計算の分野では、プログラムの実行の際の分岐の決定は、その前の計算結果に基づいて行われることが多い。一般のコンピュータは算術論理演算装置(ALU)を備え、2つ以上の「N」ビットの演算数(operand) に数学的演算を行う。ただし、「N」は、各演算数のビット総数を表す。また「n」番目のビットを参照する場合もある。ただし「n」は指標(index) 値で、その値は0からN−1までである。
【0003】
【発明が解決しようとする課題】
一般に、計算の結果ALU=0であると分岐を決定する。多くの場合、計算結果がゼロであれば分岐を行い、ゼロでなければプログラムは次の命令を引き続き実行する、またはその逆である。これまでこの分野では、算術計算の結果のテストは実際の計算結果に頼っている。
【0004】
【課題を解決するための手段】
この発明では、ゼロ条件(ALU=0)信号のタイミングの方が計算結果自体よりも一層厳密であると考える。この発明の望ましい実施態様では、算術または論理条件信号を、実際の計算結果が出る前に計算する。
【0005】
この発明の望ましい実施態様では、ALUの各ビットに対する信号(ここでは1ビット・ゼロ信号と呼ぶ)を生成するが、この算術または論理条件信号は計算結果とは独立に計算してよい。
【0006】
nを0からN−1までとすると、n番目の1ビット・ゼロ信号は各演算数のn番目および(n−1)番目のビットにだけ依存することが望ましい。最下位(ゼロ番目)の1ビット・ゼロ検出器は、各演算数のゼロ番目のビットとけた上げ入力(carry−in)信号Cinだけに依存する。というのは、最下位の1ビット・ゼロ検出器にとっては(n−1)番目のビットはないからである。
【0007】
この発明の望ましい実施態様では、全ての1ビット・ゼロ信号の論理積をとり、計算結果とは独立に全体のALU=0信号を生成する。ここに説明する新規な考え方は、加算器設計、減算器設計、ALU設計に取り入れてよい。
【0008】
これらのどの装置設計においてもまたその他においても、ここに説明する新規な考えは、計算結果が「0」すなわち全てのビットがゼロ、計算結果が「1」すなわち全てのビットが1、SUBFIELD=「0」または「1」を含む演算条件を検出するのに用いてよい。この論理を拡張すると、任意の選択された論理結果を既知の値と比較して、前記論理結果が前記既知の値と等しいかどうかをすぐ決定することができる。
【0009】
この発明の望ましい一実施態様において、ゼロ検出回路を説明する。この回路は、1組の1ビット・ゼロのセルを備え、第1演算数A、第2演算数B、およびCinを入力とし、1組の1ビット・ゼロ信号Zを発生する。組合わせ回路がこの1組の1ビット・ゼロ信号を受けて、この1ビット・ゼロ信号の既知の関数である選択された出力を出す。
【0010】
望ましい実施態様では、組合わせ回路は論理積機能であり、全ての1ビット・ゼロ信号が1になる(positively asserted) 条件を検出する。この発明の各種の望ましい実施態様において、1ビット・ゼロ信号は加算、減算または論理演算の操作のゼロ条件を検出してよい。その他の装置、システム、方法も開示する。
【0011】
【実施例】
図1に、従来の技術のALU=0回路20の略図を示す。このALU=0回路20は、ALU22の結果の出力であるRからRN−1 を受ける。ALU22は、その演算数AからAN−1 とBからBN−1 に特定の算術演算を行う。これらの演算は、加算や減算などの算術演算でも、論理積または論理和などの特定の論理演算でもよい。
【0012】
ALU=0回路20は組合わせ論理回路から成り、この論理回路をNビットの論理的NORゲート24で示す。否定論理和機能の定義により、このNORゲート24のALU=0出力は、NORゲート24の全ての入力がゼロ(従って計算結果がゼロ)の場合だけ1になる。
【0013】
一般にこのNビットのNORゲート24は、より小さいが同じ機能を持つゲート網で実現することができる。この構造の難点は、ALU=0条件の決定を行う前に算術または論理計算を完了して、ALU22から出力を出しておかなければならないということである。
【0014】
図2は別の従来の技術であるALU=0回路30の略図であって、米国特許番号4,815,019でボスハート(Bosshart)が開示したものである。このALU=0回路30は、実際にはALU≠0を計算し、ALUの各部分32はけた上げ入力信号が入る前にそれぞれの予備的ALU≠0信号を得ることによって、けた上げ選択先取りALUで動作する。この予備的ALU≠0出力は、ORゲート34の出力である。
【0015】
ORゲート34は、関連するALUの部分32の最下位ビットと、関連するALUの部分32からのR≠0信号と、もしあればその前の部分のORゲート34からのALU≠0を受ける。従ってけた上げ信号がALUの部分32全体でリプル(ripple)状態になるとALU≠0はORゲート34を通してALU全体でリプル状態になる。けた上げ入力信号が入ると、その部分の最下位ビットと最終的な比較を行い、最終のALU≠0信号を発生する。
【0016】
任意のALUの部分32におけるR≠0計算は、その部分のALUの結果が完了した後、1ゲート遅れて完了する。最終のALU≠0計算は、けた上げ選択先取りALUの計算が完了した後、1ゲート遅れて完了する。必要があればALU≠0信号を反転すればALU=0信号が得られることは、この分野の技術者には明かである。
【0017】
図3は、従来の加算器の1ビット加算器セルの略図である。各セルのけた上げ出力(carry−out) Cが次の最上位の隣接セルのけた上げ入力になるように接続して、N個のセルで全体を構成する。最上位(N−1番目)のセルのCはCout 信号で、Nビットより大きい演算数の、更に上位のビットで動作する他の加算器で用いる。
【0018】
最下位(ゼロ番目)のセルのCn−1 はCin信号で、Nビットより大きい演算数の、更に下位のビットで動作する追加の加算器からのCout 信号が入る。回路40は、1ビット演算数AおよびBと、下位の1ビット・セルからのけた上げ入力信号Cn−1 とによって1ビット和Sを計算する。最下位1ビット・セルの場合はCn−1 はCinである。
【0019】
またこの1ビット・セルは、一般に「発生」信号と呼ぶGと、「伝播」信号と呼ぶPの、2つの内部信号を発生する。伝播セル42は論理的な排他的ORゲートで、その機能は式
【数2】
Figure 0003560623
で表される。ただし、
【数3】
Figure 0003560623
は排他的論理和機能を表す符号である。排他的論理和機能の定義により、A,B=0,0または1,1であればP=0であり、A,B=0,1または1,0であればP=1である。
【0020】
発生セル44は論理的なANDゲートで、その機能は式G=A・Bで表される。ただし、・は論理積機能の符号である。論理積機能の定義により、A,B=0,0または0,1または1,0であればG=0、またA,B=1,1であればG=1である。1ビットの和Sは別の排他的ORゲート46からの出力で、
【数4】
Figure 0003560623
である。
【0021】
けた上げ出力Cは、GとANDゲート50の出力を入力とするORゲート48の出力と定義される。ANDゲート50の入力は、PとCn−1 である。出力Cは、Cn−1 とPとGからC=G+P・Cn−1 で定義される。ただし、「+」は論理和を表す符号である。言い換えると、発生信号(G)の発生と、伝播信号(P)の発生とけた上げ入力(Cn−1 )の存在との論理積と、の論理和でけた上げが発生する。
【0022】
図4はALU=0回路60の望ましい実施態様の略図を示す。図4は入力AからAN−1 と、BからBN−1 とを受けるNビットALU=0回路60を示す。ただし、nは0からN−1までである。N個の各1ビット・ゼロのセル62の入力は、A、B、Kn−1 である。ただし、nは0からN−1である。Kは「キル(kill)」信号で、以下に説明する。
【0023】
n番目の1ビット・ゼロのセルは、1ビット・ゼロ信号Zと、次の最上位(n+1)セルに入力する「キル」信号Kとを出力する。図4にNビットのANDゲート64で示す組合わせ回路は、n=0からN−1までのZが全て1になるとALU=0信号を1つ出力する。
【0024】
このNビットのANDゲート64は一般にNビットより少ないゲート網で動作する。これはディジタル論理回路設計の技術者には明かである。この構造の利点は、組合わせ論理ゲート遅れの数段階以内でALU=0信号を発生できることである。
【0025】
論理ゲートの遅れの大きさはlogNに1ゲート遅れを掛けた程度であるが、従来のALU=0検出回路で発生する遅れの大きさは計算遅れであって、これはALU=0の計算結果をデコードするのに必要な論理ゲート遅れ(logN)に加えて、ほぼ1+logNから2Nの値に1ゲート遅れを掛けた値だけ変動する。
【0026】
図4の望ましい実施態様のALU=0回路は、もしあればALUの既存の伝播および発生回路を、新しい1ビット・ゼロとキルと組合わせALU=0と共に用いて、ALU内でALU=0信号を発生するのに用いることができる。
【0027】
または望ましい実施態様の回路は、それぞれのPGKZ(伝播、発生、キル、ゼロ)回路を用いて個別の装置で実現し、AからAN−1 とBからBN−1 とCinを受け、独立のALU=0回路を形成することができる。
【0028】
第5図は、望ましい実施態様のALU=0回路を含んだ望ましい実施態様の回路70を高水準の略図で示す。この回路70は、n=0からN−1に対する入力AとBとけた上げ入力信号Cinとを受け、それから生じるn=0からN−1に対するRとALU=0とを出力する。入力AとBはPGKの部分72に入力し、そこからn=0からN−1までに対する伝播信号P、発生信号G、キル信号Kを発生する。P、G、K信号は次のように定義される。
【数5】
Figure 0003560623
【0029】
略図と機能を示した前記回路はいろいろの形で実現することができ、ディジタル回路設計の技術者にはよく知られている。1ビット・ゼロのセル配列74はPGK信号を受け、PおよびKn−1 に基づいてゼロ信号Zを発生する。1ビット・ゼロの配列74の最下位ビットでは、Kin(以下に説明する)はKn−1 である。Z信号は式
【数6】
Figure 0003560623
で表される。
【0030】
排他的論理和
【数7】
Figure 0003560623
機能の定義により、P,Kn−1 =0,0または1,1ならばZ=0であり、P,Kn−1 =0,1または1,0であればZ=1である。1ビット・ゼロのセル配列74はPGZ(伝播、発生、ゼロ)信号を通す。1ビット・ゼロのANDトリー(tree)76はゼロ信号を受け、n=0からN−1までに対して全てZ=1であればALU=0信号を1として出力する。
【0031】
組合わせ論理回路76はANDトリーであることが望ましく、PG信号をそのまま通す。作図の便宜上、PG信号は1ビット・ゼロのANDトリーを単に通すように示しているが、これらの信号をANDトリー76の中や近くを通す必要はない。
【0032】
更に図5において、加算器回路78はPG信号を受け、この技術でよく知られている方法でn=0からN−1までに対する演算結果Rを発生する。例えばこの加算器78は、ボスハートが米国特許番号4,815,019で説明しているけた上げ選択先取り加算器であってよい。
【0033】
または図3のN個の部分セルから成るリプルけた上げ加算器(ripple carry adder)であってよく、この場合排他的ORゲート46はCn−1 とPからSを計算し、ORゲート48とANDゲート50はPとGからCを計算する(nは0からN−1まで)。加算器回路78は実際は算術/論理回路として動作し、PGK発生装置72からPおよびGを発生するのに用いた方法に応じて加算、減算、論理演算の結果を発生してよい。
【0034】
この発明の望ましい実施態様において、加算器回路78の動作は実行中の演算には依存しない。望ましい実施態様では、全ての演算特有の機能はPGK発生装置72内で行われる。
【0035】
更に図5に示す望ましい実施態様の加算器は、下位の算術および論理回路からCin信号を受け、PGK発生装置72と1ビット・ゼロのセル配列74でKinとして用いる信号を反転するためのインバータ80を備える。
【0036】
次に図6に、上に述べた望ましい実施態様のけた上げトリー(carry tree)76を示す。けた上げトリー76のこの実施態様ではNを32ビットとしたが、Nはどんな数でもよい。この実施態様のけた上げトリー76は、N個の1ビット・ゼロ信号ZからALU=0信号を出す32ビットの論理積機能である。
【0037】
けた上げトリー76は、4入力ANDゲート90を1個と、8入力ANDゲート92を4個備える。この技術でよく知られているように、この8入力ANDゲート92は、2個の4入力NANDゲート96とその出力を受ける1個の2入力NORゲート94で形成することができる。この分野の一般的技術を用いれば、32ビットの論理積の機能は多くの回路で実現することができる。
【0038】
次に図7は、加算器用の第1のPGK発生回路72の実施態様の一例と、共に用いる1ビット・ゼロのセル74の実施態様の一例を部分的に示す。図7の実施態様は、PGK発生回路72のn番目のビットと1ビット・ゼロのセル配列74のn番目のビットに用いる1ビットPGKZセル100である。
【0039】
PGKZセル100は、第1および第2排他的ORゲート102,104と、ANDゲート106と、NORゲート108と、入力A、B、Kn−1 とを備える。このPGKZセル100の出力はP、G、K、Zである。最下位ビット(すなわちn=0)では、KinはKn−1 である。図に概略を示すように、このセルの機能は次のように表される。
【数8】
Figure 0003560623
【0040】
次に図8は、減算器用の第2のPGK発生回路72の実施態様の一例と、共に用いる1ビット・ゼロのセル74の実施態様の一例を部分的に示す。図8の実施態様は、PGK発生回路72のn番目のビットと、1ビット・ゼロのセル配列74のn番目のビットに用いる1ビットPGKZセル110である。
【0041】
PGKZセル110は、排他的ORゲート112と、排他的NORゲート114と、第1および第2NORゲート116,118と、第1および第2インバータ120,122とを備える。PGKZセル110の入力はA、B、Kn−1 である。このPGKZセル110の出力はP、G、K、Zである。最下位ビット(すなわちn=0)では、kinはKn−1 である。図に概略を示すように、このセルの機能は次のように表される。
【数9】
Figure 0003560623
【0042】
次に図9は、汎用ALU用の第3のPGK発生回路72の実施態様の一例と、共に用いる1ビット・ゼロのセル74の実施態様の一例を部分的に示す。図9の実施態様は、PGK発生回路72のn番目のビットと1ビット・ゼロのセル配列74のn番目のビットに用いる1ビットPGKZセル130である。
【0043】
PGKZセル130は、排他的ORゲート132と、3入力ANDゲート134と、NANDゲート136と、ORゲート138と、第1および第2インバータ140,142と、第1および第2および第3AND・OR・インバータ・ゲート144,146,148とを備える。各AND・OR・インバータ・ゲートは、否定論理和機能150と1対の論理積機能152で機能的に示している。PGKZセル130の入力は、A、B、Kn−1 および特殊ALU制御信号のC0、C1、C2、C3、ARITHである。
【0044】
このPGKZセル130の出力はP、G、K、Zである。最下位ビット(すなわちn=0)では、KinはKn−1 である。図に概略を示すように、このセルの機能は次のように表される。
【数10】
Figure 0003560623
【0045】
、G、K、Zに関する上記の各式と図9とをよく見ると、信号ARITHは算術演算と論理演算のどちらかを選ぶ働きをしていることが分かる。Kを検討すると、ARITHが0であればKが他の信号入力に関わらず1であることが分かる。
【0046】
「キル」信号Kは機能的に「けた上げ」機能の逆なので、Kが1ということは論理演算中はけた上げが起こらないということである。この機能は、よく知られている論理設計の機能の原則と一致する。
【0047】
次に図10は、N個のPGK1セルを備える加算器のALU=1回路の別の実施態様のPGK1セル160の概略を示す。この別の実施態様のPGK1は、伝播信号と、次の下位ビット(n−1番目)からけた上がり入力した発生信号とを用いて、1ビット1信号Z’を決定(assert)する。
【0048】
このPGK1セル160は、第1および第2排他的ORゲート162,164と、NORゲート166と、ANDゲート168とを備える。PGK1セル160の入力はA、B、Gn−1 である。このPGK1セル160の出力はP、G、K、Z’である。最下位ビット(すなわちn=0)では、Gn−1 はゼロである。図に概略を示すように、このセルの機能は次のように表される。
【数11】
Figure 0003560623
【0049】
図11は上に述べたALU回路として動作するSUBFIELD=0回路170を示すが、サブフィールドの最下位ビットの和(S、この場合n=4)と、NANDゲート174の出力であるSUBALU=0を2入力NORゲート172に受ける。NANDゲート174はサブフィールドの残りの1ビット・ゼロ信号(Z、ただしこの場合n=5,6,7)の否定的論理積を行う。
【0050】
一般にSUBFIELD=0回路は、サブフィールドの最下位ビット以外の全ての1ビット・ゼロのセルの出力の否定的論理積を行い、次にその結果とサブフィールドのALU出力との否定論理和をとることによって実現できる。SUBFIELD=1は同様にして実現することができる。
【0051】
全てが0または全てが1以外の一定値を検出するには、望ましい実施態様の回路をごくわずかに変更するだけでよい。例えば、加算器のALU=0の実施態様では、1ビット・ゼロ信号は
【数12】
Figure 0003560623
で定義される。言い換えると、次の下位(n−1)ビットがゼロであれば、n番目のビットのゼロ検出は、ビット(ビットn)の伝播出力と次の下位(n−1)ビットのキル出力との排他的論理和で行われる。
【0052】
ところでビットn−1がゼロであれば、1ビット・ゼロ信号の補数はビットnで1を検出する。この論理は式
【数13】
Figure 0003560623
で表される。同様に、
【数14】
Figure 0003560623
はビットn−1も1である場合にビットnで1を検出し、
【数15】
Figure 0003560623
はビットn−1が1である場合にビットnでゼロを検出するのに用いることができる。
【0053】
上の論理は次のように要約することができる。任意の所望の一定出力の検出器において、1ビット・ゼロのセルに相当するものを作ってビットnで所要の出力を検出するには、探索するパターンは全部で4つある。これはnビットで可能な値が2つあり、ビットn−1で可能な値が2つあるからである。4条件の式は次の表に要約される。
【表1】
Figure 0003560623
【0054】
上の論理式の回路は次の通りである。図7はビットn=0とビットn−1=0のときの
【数16】
Figure 0003560623
に関する1ビット・ゼロのセルの論理回路を示す。図12はビットn=0とビットn−1=1のときので
【数17】
Figure 0003560623
に関する1ビット・ゼロのセルの論理回路を示す。図13はビットn=1とビットn−1=0のときの
【数18】
Figure 0003560623
に関する1ビット・ゼロのセルの論理回路を示す。図14はビットn=1とビットn−1=1のときの
【数19】
Figure 0003560623
に関する1ビット・ゼロのセルの論理回路を示す。
【0055】
図12の論理回路のPG|Kの部分72は図7の部分と同じまたは同等であるが、異なるところは1ビット・ゼロのセル配列274の実現方法が、入力PとGn−1 との排他的NORゲートを用いてその論理式に対応している点である。図13の論理回路のPG|Kの部分72は図7の部分と同じまたは同等であるが、異なるところは1ビット・ゼロのセル配列374の実現方法が、排他的NORゲートを用いてその論理式に対応している点である。
【0056】
図14の論理回路のPG|Kの部分72は図7の部分と同じまたは同等であるが、異なるところは1ビット・ゼロのセル配列474の実現方法が、入力PとGn−1 との排他的ORゲートを用いてその論理式に対応している点である。
【0057】
任意の定数に等しいサブフィールドを検出するには、フィールドの最下位ビット以外の全てのビットが上記のセルのどれかであることが必要である。その出力全ての論理積を実行し、更にこれとフィールドの最下位ビットが必要な値を持つという条件とで論理積を実行する。
【0058】
この回路は図11のSUBFIELD=0検出器回路と同等であるが、異なるところは1ビット・ゼロのセルを上の表の中のセルに置き換え、最下位ビットはゼロではなくて1でよいという点である。
【0059】
次の表は、上の仕様に用いられた図の要素を示す。
【表2】
Figure 0003560623
【表3】
Figure 0003560623
【表4】
Figure 0003560623
【表5】
Figure 0003560623
【0060】
いくつかの望ましい実施態様について詳細に説明した。この発明の範囲は、上に説明したものとは異なっていても、特許請求の範囲に含まれる実施態様は含むものである。ここで含むというのは、この発明の範囲を網羅したものではないという意味である。
【0061】
この発明について図示の実施態様を参照して説明したが、この説明は制限的に解釈してはならない。図示の実施態様の各種の変形や組合わせや、この発明の他の実施態様は、この説明を参照すればこの分野に精通した人には明かである。
【0062】
例えば論理回路は、TTL、CMOS、NMOS、ECL、Bi−CMOS、BIPOLARおよびその他の多くの任意の論理回路を想定している。ここに想定した回路は、より大きな集積回路設計の一部として含まれる場合もあるし、また単一の集積回路設計として独立した場合もある。従って特許請求の範囲は、そのような変形や実施態様を全て含むものである。
【0063】
以上の説明に関して更に以下の項を開示する。
(1) 算術または論理演算の結果の(n−1)番目のビットが論理的1であるときに、前記結果のn番目のビットが論理的ゼロであるかどうかを、計算結果に依存せずに検出する法であって、
a) 少なくとも2ビットの演算数長さを持つ第1演算数Aを1ビット・セルのグループで受け、
b) 少なくとも2ビットの演算数長さを持つ第2演算数Bを前記1ビット・セルのグループで受け、
c) 前記第1演算数An−1 の(n−1)番目のビットからと、前記第2演算数Bn−1 の(n−1)番目のビットから、発生信号Gn−1 を前記1ビット・セルのグループの(n−1)番目のセルで計算し、
d) 前記発生信号Gn−1 を前記1ビット・セルのグループのn番目のセルで受け、
e) 前記第1演算数Aのn番目のビットからと、前記第2演算数Bのn番目のビットからと、前記Gn−1 から、1ビット・ゼロ信号Zを前記1ビット・セルのグループのn番目のセルで計算し、前記1ビット・ゼロ信号は
【数20】
Figure 0003560623
で定義される、
段階を含む方法。
【0064】
(2) 前記An−1 からと、前記Bn−1 からと、前記1ビット・セルのグループの(n−2)番目のセルからのキル信号Kn−2 から、1ビット1信号Zn−1 ’を前記1ビット・セルのグループの前記(n−1)番目のセルで計算する段階を更に含み、前記1ビット1信号は
【数21】
Figure 0003560623
で定義される、第1項記載の方法。
【0065】
(3) 前記An−1 からと、前記Bn−1 からと、前記1ビット・セルのグループの(n−2)番目のセルからの発生信号Gn−2 から、1ビット1信号Zn−1 ’を前記1ビット・セルのグループの前記(n−1)番目のセルで計算する段階を更に含み、前記1ビット1信号は
【数22】
Figure 0003560623
で定義される、第1項記載の方法。
【0066】
(4) 算術または論理演算の結果の(n−1)番目のビットが論理的ゼロであるときに、前記結果のn番目のビットが論理的1であるかどうかを、計算結果に依存せずに検出する方法であって、
a) 少なくとも2ビットの演算数長さを持つ第1演算数Aを1ビット・セルのグループで受け、
b) 少なくとも2ビットの演算数長さを持つ第2演算数Bを前記1ビット・セルのグループで受け、
c) 前記第1演算数An−1 の(n−1)番目のビットからと、前記第2演算数 Bn−1 の(n−1)番目のビットから、キル信号Kn−1 を前記1ビット・セルのグループの(n−1)番目のセルで計算し、
d) 前記キル信号Kn−1 を前記1ビット・セルのグループのn番目のセルで受け、
e) 前記第1演算数Aのn番目のビットからと、前記第2演算数Bのn番目のビットからと、前記Kn−1 から、1ビット・ゼロ信号Z’を前記1ビット・ゼロのグループのn番目のセルで計算し、前記1ビット1信号は
【数23】
Figure 0003560623
で定義される、
段階を含む方法。
【0067】
(5) 前記An−1 からと、前記Bn−1 からと、前記1ビット・セルのグループの(n−2)番目のセルからのキル信号K−2から、1ビット・ゼロ信号Zn−1 を前記1ビット・セルのグループの前記(n−1)番目のセルで計算する段階を更に含み、前記1ビット・ゼロ信号は
【数24】
Figure 0003560623
で定義される、第4項記載の方法。
【0068】
(6) 前記1ビット・ゼロ信号と前記1ビット1信号の論理積を実行してALU=CONSTANT信号を発生する段階を更に含む、第2項または第5項のいずれかに記載の方法。
【0069】
(7) 前記An−1 からと、前記Bn−1 からと、前記1ビット・セルのグループの(n−2)番目のセルからの発生信号Gn−2 から、1ビット・ゼロ信号Zn−1 を前記1ビット・セルのグループの前記(n−1)番目のセルで計算する段階を更に含み、前記1ビット1信号は
【数25】
Figure 0003560623
で定義される、第4項記載の方法。
【0070】
(8) 前記1ビット・ゼロ信号と前記1ビット1信号の論理積を実行してALU=CONSTANT信号を発生する段階を更に含む、第3項または第7項のいずれかに記載の方法。
【0071】
(9) n=0で、Kn−1 は前記1ビット・セルのグループへのけた上げ入力の論理的反転である、第4項記載の方法。
【0072】
(10) 算術または論理演算の結果の(n−1)番目のビットが論理的1であるときに、前記結果のn番目のビットが論理的1であるかどうかを、計算結果に依存せずに検出する方法であって、
a) 少なくとも2ビットの演算数長さを持つ第1演算数Aを1ビット・セルのグループで受け、
b) 少なくとも2ビットの演算数長さを持つ第2演算数Bを前記1ビット・セルのグループで受け、
c) 前記第1演算数An−1 の(n−1)番目のビットからと、前記第2演算数 Bn−1 の(n−1)番目のビットから、発生信号Gn−1 を前記1ビット・セルのグループの(n−1)番目のセルで計算し、
d) 前記発生信号Gn−1 を前記1ビット・セルのグループのn番目のセルで受け、
e) 前記第1演算数Aのn番目のビットからと、前記第2演算数Bのn番目のビットからと、前記Gn−1 から、1ビット1信号Z’を前記1ビット・セルのグループのn番目のセルで計算し、前記1ビット1信号は
【数26】
Figure 0003560623
で定義される、
段階を含む方法。
【0073】
(11) 前記An−1 からと、前記Bn−1 からと、前記1ビット・セルのグループの(n−2)番目のセルからのキル信号Kn−2 から、1ビット1信号Zn−1 ’を前記1ビット・セルのグループの前記(n−1)番目のセルで計算する段階を更に含み、前記1ビット1信号は
【数27】
Figure 0003560623
で定義される、第10項記載の方法。
【0074】
(12) 前記1ビット1信号Z’と前記1ビット1信号Zn−1 ’の論理積を実行してALU=CONSTANT信号を発生する段階を更に含む、第11項記載の方法。
【0075】
(13) 前記An−1 からと、前記Bn−1 からと、前記1ビット・セルのグループの(n−2)番目のセルからの発生信号Gn−2 から、1ビット1信号Zn−1 ’を前記1ビット・セルのグループの前記(n−1)番目のセルで計算する段階を更に含み、前記1ビット1信号は
【数28】
Figure 0003560623
で定義される、第10項記載の方法。
【0076】
(14) 前記1ビット1信号Z’と前記1ビット1信号Zn−1 ’の論理積を実行してALU=CONSTANT信号を発生する段階を更に含む、第13項記載の方法。
【0077】
(15) n=0で、Gn−1 は前記1ビット・セルのグループへのけた上げ入力である、第4項記載の方法。
【0078】
(16) 前記1ビット・セルのグループは、Nビットの長さの第1演算数A− AN−1 を受ける、第1項、第4項、第10項のいずれかに記載の方法。
【0079】
(17) 前記1ビット・セルのグループは、Nビットの長さの第2演算数B− BN−1 を受ける、第1項、第4項、第10項のいずれかに記載の方法。
【0080】
(18) 算術または論理演算の途中の結果のサブフィールドR−RN−1 の選択された条件を検出する方法であって、
a) 少なくとも2ビットの演算数長さを持つ第1演算数Aを1ビット・セルのグループで受け、
b) 少なくとも2ビットの演算数長さを持つ第2演算数Bを前記1ビット・セルのグループで受け、
c) 第1信号Xn−1 を前記1ビット・セルのグループの1つで受け、
d) 前記第1演算数Aのn番目のビットと、前記第2演算数Bのn番目のビットから、前記AおよびBの関数である第2信号Xを計算し、
e) 前記第2信号Xを前記1ビット・セルのグループの別の1つで受け、
f) 前記Aと前記Bと前記Xn−1 から、第1の1ビット結果信号Yを前記1ビット・セルのグループの前記1つで計算し、
g) 前記第1演算数An+1 の(n+1)番目のビットからと、前記第2演算数 Bn+1 の(n+1)番目のビットからと、前記Xから、第2の1ビット結果信号 Yn+1 を前記1ビット・セルのグループの前記別の1つで計算し、
h) 前記第1の1ビット結果信号Yを第1の組合わせ回路で受け、
i) 前記第2の1ビット結果信号Yn+1 を前記第1の組合わせ回路で受け、
j) 前記第1の1ビット結果信号Yと前記第2の1ビット結果信号Yn+1 からSUBALU=0信号を前記第1の組合わせ回路で計算し、
k) 前記SUBALU=0信号を第2の組合わせ論理回路で受け、
l) サブフィールドの最下位ビットの結果Rn−1 を前記第2の組合わせ論理回路で受け、
m) 前記第1の1ビット結果信号Yと前記第2の1ビット結果信号Yn+1 からSUBFIELD=CONSTANT信号を前記第2の組合わせ回路で計算する、
段階を含む方法。
【0081】
(19) 算術または論理計算の結果の検出回路(60)について説明する。前記回路は、第1演算数Aと第2演算数BとCinを受け、1組の1ビット・ゼロ信号Zを発生する1組の1ビット・ゼロのセル(62)を備える。組み合わせ回路(64)が前記1ビット・ゼロ信号の組を受け、前記1ビット・ゼロ信号の既知の関数である選択された出力を出す。望ましい実施態様では、組合わせ回路(64)は論理積機能であって、全ての前記1ビット・ゼロ信号が1になる条件を検出する。望ましい各種の実施態様において、前記1ビット・ゼロ信号は加算、減算、論理演算などの演算の算術ゼロ条件を検出する。その他の装置、システム、方法も開示する。
【0082】
関連する特許および出願の相互参照
特許/出願番号 出願日 TI事例番号
4,815,019 1987年2月26日 TI−12438
07/923,282 1992年9月29日 TI−16055
07/953,637 1992年7月31日 TI−16575
【図面の簡単な説明】
【図1】従来の技術のALU=0回路の略図。
【図2】別の従来の技術のALU=0回路の略図。
【図3】図1および図2の従来の技術のALUの伝播および発生回路の部分的略図。
【図4】望ましい実施態様のALU=0回路の略図。
【図5】望ましい実施態様のALU=0回路を含む加算器の高水準略図。
【図6】図5のANDトリーの略図。
【図7】加算用として図5のALUに含む1ビット・ゼロのセルの略図。
【図8】減算用として図5のALUに含む1ビット・ゼロのセルの略図。
【図9】一般算術および論理演算実行用として図5のALUに含む1ビット・ゼロのセルの略図。
【図10】「1」条件を検出するための1ビットのセルの略図。
【図11】SUBUFIELD=0セルの略図。
【図12】ビットn=0およびビットn−1=1のときの1ビット・ゼロのセルの略図。
【図13】ビットn=1およびビットn−1=0のときの1ビット・ゼロのセルの略図。
【図14】ビットn=1およびビットn−1=1のときの1ビット・ゼロのセルの略図。異なる図の対応する数字および符号は、別に説明のない限り対応する部分を指す。
【符号の説明】
60 ALU=0回路
62 セル
64 ANDゲート

Claims (1)

  1. 算術または論理演算の結果の(n−1)番目のビットが論理的1であるときに、前記結果のn番目のビットが論理的ゼロであるかどうかを、計算結果に依存せずに検出する法であって、
    a) 少なくとも2ビットの演算数(operand) 長さを持つ第1演算数Aを1ビット・セルのグループで受け、
    b) 少なくとも2ビットの演算数長さを持つ第2演算数Bを前記1ビット・セルのグループで受け、
    c) 前記第1演算数An−1 の(n−1)番目のビットからと、前記第2演算数Bn−1 の(n−1)番目のビットから、発生信号Gn−1 を前記1ビット・セルのグループの(n−1)番目のセルで計算し、
    d) 前記発生信号Gn−1 を前記1ビット・セルのグループのn番目のセルで受け、
    e) 前記第1演算数Aのn番目のビットからと、前記第2演算数Bのn番目のビットからと、前記Gn−1 から、1ビット・ゼロ信号Zを前記1ビット・セルのグループのn番目のセルで計算し、前記1ビット・ゼロ信号は
    Figure 0003560623
    で定義される、
    段階を含む方法。
JP19059893A 1992-07-31 1993-07-30 算術または論理演算の計算結果の検出方法 Expired - Fee Related JP3560623B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US922926 1992-07-31
US07/922,926 US5270955A (en) 1992-07-31 1992-07-31 Method of detecting arithmetic or logical computation result

Publications (2)

Publication Number Publication Date
JPH06348454A JPH06348454A (ja) 1994-12-22
JP3560623B2 true JP3560623B2 (ja) 2004-09-02

Family

ID=25447805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19059893A Expired - Fee Related JP3560623B2 (ja) 1992-07-31 1993-07-30 算術または論理演算の計算結果の検出方法

Country Status (4)

Country Link
US (3) US5270955A (ja)
EP (1) EP0585619B1 (ja)
JP (1) JP3560623B2 (ja)
DE (1) DE69327996T2 (ja)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469377A (en) * 1992-08-18 1995-11-21 Nec Corporation Floating point computing device for simplifying procedures accompanying addition or subtraction by detecting whether all of the bits of the digits of the mantissa are 0 or 1
US5598514A (en) * 1993-08-09 1997-01-28 C-Cube Microsystems Structure and method for a multistandard video encoder/decoder
US5487025A (en) * 1993-11-15 1996-01-23 Intergraph Corporation Carry chain adder using regenerative push-pull differential logic
US5367477A (en) * 1993-11-29 1994-11-22 Motorola, Inc. Method and apparatus for performing parallel zero detection in a data processing system
GB9404377D0 (en) * 1994-03-07 1994-04-20 Texas Instruments Ltd Improvements in or relating to a comparator scheme
US5638312A (en) * 1995-03-03 1997-06-10 Hal Computer Systems, Inc. Method and apparatus for generating a zero bit status flag in a microprocessor
US5910909A (en) * 1995-08-28 1999-06-08 C-Cube Microsystems, Inc. Non-linear digital filters for interlaced video signals and method thereof
US5978826A (en) * 1995-12-01 1999-11-02 Lucent Techologies Inc. Adder with even/odd 1-bit adder cells
US5798958A (en) * 1996-06-05 1998-08-25 Samsung Electronics Co., Ltd. Zero detect for binary sum
US5875121A (en) * 1996-08-06 1999-02-23 Hewlett-Packard Company Register selection system and method
US6018757A (en) * 1996-08-08 2000-01-25 Samsung Electronics Company, Ltd. Zero detect for binary difference
US6161164A (en) * 1996-09-16 2000-12-12 International Business Machines Corp. Content addressable memory accessed by the sum of two operands
US6114945A (en) * 1997-05-08 2000-09-05 Texas Instruments Incorporated Apparatus and method for programmable fast comparison of a result of a logic operation with an selected result
US5975749A (en) * 1997-07-11 1999-11-02 International Business Machines Corporation Zero and one detection chain for a carry select adder
US5978825A (en) * 1997-11-14 1999-11-02 Crystal Semiconductor Corp. Zero detection circuitry and methods
US6272514B1 (en) * 1997-11-18 2001-08-07 Intrinsity, Inc. Method and apparatus for interruption of carry propagation on partition boundaries
US6301600B1 (en) * 1997-11-18 2001-10-09 Intrinsity, Inc. Method and apparatus for dynamic partitionable saturating adder/subtractor
US6269387B1 (en) * 1997-12-11 2001-07-31 Intrinsity, Inc. Method and apparatus for 3-stage 32-bit adder/subtractor
US6088763A (en) * 1998-03-16 2000-07-11 International Business Machines Corporation Method and apparatus for translating an effective address to a real address within a cache memory
FR2776407B1 (fr) * 1998-03-20 2001-06-08 Gemplus Card Int Systeme et procede pour realiser des fonctions particulieres dans des etiquettes sans contact
US6065969A (en) 1998-08-10 2000-05-23 Mattel, Inc. Computer game for designing and printing nail coverings
US6963965B1 (en) 1999-11-30 2005-11-08 Texas Instruments Incorporated Instruction-programmable processor with instruction loop cache
US7231414B1 (en) * 2000-02-09 2007-06-12 Hewlett-Packard Development Company, L.P. Apparatus and method for performing addition of PKG recoded numbers
US6539413B1 (en) * 2000-03-15 2003-03-25 Agere Systems Inc. Prefix tree adder with efficient sum generation
US7028069B1 (en) * 2000-05-01 2006-04-11 Raza Microelectronics Inc. Dynamic circuit using exclusive states
US6598066B1 (en) * 2000-05-23 2003-07-22 Sun Microsystems, Inc. Fast carry-out generation
US6912560B2 (en) * 2000-12-08 2005-06-28 Agere Systems, Inc. Adder with improved overflow flag generation
US7290027B2 (en) * 2002-01-30 2007-10-30 International Business Machines Corporation Circuit suitable for use in a carry lookahead adder
US7739324B1 (en) 2006-03-22 2010-06-15 Cadence Design Systems, Inc. Timing driven synthesis of sum-of-product functional blocks
US8707225B1 (en) 2006-04-07 2014-04-22 Cadence Design Systems, Inc. Synthesis of area-efficient subtractor and divider functional blocks
US8015230B2 (en) * 2007-06-08 2011-09-06 Apple Inc. Fast modular zero sum and ones sum determination
RU2445680C1 (ru) * 2010-11-03 2012-03-20 Лев Петрович Петренко ФУНКЦИОНАЛЬНАЯ СТРУКТУРА СКВОЗНОГО ПЕРЕНОСА f1(←←)i+1 И f2(←←)i УСЛОВНО "i+1" И УСЛОВНО "i" РАЗРЯДОВ "k" ГРУППЫ АРГУМЕНТОВ МНОЖИМОГО [ni]f(2n) ПРЕДВАРИТЕЛЬНОГО СУММАТОРА fΣ([ni]&[ni,0]) ПАРАЛЛЕЛЬНО-ПОСЛЕДОВАТЕЛЬНОГО УМНОЖИТЕЛЯ fΣ(Σ) (ВАРИАНТЫ)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3983382A (en) * 1975-06-02 1976-09-28 International Business Machines Corporation Adder with fast detection of sum equal to zeroes or radix minus one
US4764887A (en) * 1985-08-02 1988-08-16 Advanced Micro Devices, Inc. Carry-bypass arithmetic logic unit
JP2610417B2 (ja) * 1985-12-23 1997-05-14 日本テキサス・インスツルメンツ株式会社 アドレス信号生成方法及びその回路
US4815019A (en) * 1987-02-26 1989-03-21 Texas Instruments Incorporated Fast ALU equals zero circuit
US4924422A (en) * 1988-02-17 1990-05-08 International Business Machines Corporation Method and apparatus for modified carry-save determination of arithmetic/logic zero results
JPH01277931A (ja) * 1988-04-29 1989-11-08 Nec Ic Microcomput Syst Ltd 零検出回路
US4926369A (en) * 1988-10-07 1990-05-15 International Business Machines Corporation Leading 0/1 anticipator (LZA)
US5095458A (en) * 1990-04-02 1992-03-10 Advanced Micro Devices, Inc. Radix 4 carry lookahead tree and redundant cell therefor

Also Published As

Publication number Publication date
EP0585619B1 (en) 2000-03-08
US5270955A (en) 1993-12-14
US5600583A (en) 1997-02-04
EP0585619A2 (en) 1994-03-09
US5508950A (en) 1996-04-16
JPH06348454A (ja) 1994-12-22
DE69327996D1 (de) 2000-04-13
EP0585619A3 (en) 1994-08-10
DE69327996T2 (de) 2000-10-26

Similar Documents

Publication Publication Date Title
JP3560623B2 (ja) 算術または論理演算の計算結果の検出方法
Parmar et al. Design of high speed hybrid carry select adder
US9146707B2 (en) Generating a fast 3x multiplicand term for radix-8 booth multiplication
US6018757A (en) Zero detect for binary difference
US4618956A (en) Method of operating enhanced alu test hardware
JP3813127B2 (ja) 3つのゲートのクリティカル・パスを有するワイド加算器
Akila et al. Implementation of high speed vedic multiplier using modified adder
Yagain et al. Design of High‐Speed Adders for Efficient Digital Design Blocks
JPH08212058A (ja) 加算オーバフロ検出回路
US7139789B2 (en) Adder increment circuit
Kumar et al. On-line detection of faults in carry-select adders
US9448767B2 (en) Three-term predictive adder and/or subtracter
JP3537378B2 (ja) 加算器および集積回路
EP1008033B1 (en) Digital adder circuit
GB2354091A (en) Zero result prediction.
US7206802B2 (en) Hybrid carry look ahead/carry select adder including carry logic generating complementary hot carry signals, and method for producing the carry logic
JPH09114641A (ja) 最上位デジットを決定するための装置と方法
US5635858A (en) Zero-stopping incrementers
JP3597547B2 (ja) 高速のマイクロプロセッサ分岐決定回路
Joshi et al. NCL Implementation of Dual-Rail 2 s Complement 8× 8 Booth2 Multiplier using Static and Semi-Static Primitives
US6470373B1 (en) Sum interval detector
Pan et al. Power efficient partial product compression
JP3741280B2 (ja) 桁上げ先見回路およびこれを用いた加算回路
Mounika et al. 45nm Technology based 8-Bit Data Comparator Architecture for Rank ordering Image Applications
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20031209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20031212

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: 20040511

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040526

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090604

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090604

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100604

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110604

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120604

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees