JPH076032A - 高速のマイクロプロセッサ分岐決定回路 - Google Patents
高速のマイクロプロセッサ分岐決定回路Info
- Publication number
- JPH076032A JPH076032A JP5241814A JP24181493A JPH076032A JP H076032 A JPH076032 A JP H076032A JP 5241814 A JP5241814 A JP 5241814A JP 24181493 A JP24181493 A JP 24181493A JP H076032 A JPH076032 A JP H076032A
- Authority
- JP
- Japan
- Prior art keywords
- alu
- signal
- candidate
- circuit
- branch decision
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
- G06F7/507—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages using selection between two conditionally calculated carry or sum values
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30094—Condition code generation, e.g. Carry, Zero flag
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3842—Speculative instruction execution
- G06F9/3844—Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Advance Control (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Abstract
を計算してから分岐決定を行なうと遅れが大きいので、
計算と並行して分岐決定信号を出すことによって遅れを
最少にする方法を開示する。 【構成】 この発明において、算術または論理演算の結
果に基づいて分岐決定信号を出す回路(50)を説明す
る。この回路は少なくとも2つの候補分岐決定回路(5
2、54、56、58)を備え、それぞれは候補分岐決
定信号を計算し、それぞれは少なくとも1つのalu状
態信号に対して独特の候補条件コードを出力する。この
回路は第1選択回路(62,64,66)を更に備え、
前記状態信号が出たときに前記alu状態信号に基づい
て、前記候補分岐決定信号から正しい分岐決定信号を選
択する。その他の装置、システム、方法も開示する。
Description
セッサ分岐決定回路に関する。
C」圧縮命令セット計算機(RISC)構造と関連して
説明するが、これはこの発明の範囲を制限するものでは
ない。
U(算術論理演算装置)出力状態信号、すなわち、条件
コードALU=0、ALUあふれ、ALU出力負号、A
LUけた上げ出力(carry−out)に基づいてい
る。一般的な従来の構造では、ALUはその和出力を生
成するのとほぼ同時にこれらの状態信号を生成する。高
度に最適化した従来の分岐決定回路では、分岐決定すな
わちジャンプ信号はこれらの状態信号が出てから5ない
し6ゲート遅れ以内に生成する。
分岐決定回路で更に遅れが起こるのは、aluあふれ状
態信号の計算においてであり、これは算術けたあふれと
タグ付きあふれ(「SPARC」構造に特有の特徴)と
の論理和である。この論理和により更にゲート遅れが加
わる。従来の技術の分岐決定回路では、「SPARC」
構造がaluけた上げ出力の極性を決めるために一層遅
れが生じる。
出力信号の極性は加算の極性の逆と定義する。このため
減算のaluけた上げ出力条件を検査するには、論理反
転が必要になる。この論理反転により更にゲート遅れが
加わる。
決定回路の設計で遅れを生じる別の原因は、条件コード
を用いるからである。条件コードはALU演算で設定さ
れ、次の分岐命令で用いられる。一般的なパイプライン
方式において、分岐決定の前の命令によって条件コード
を変更すると、ALUは次の分岐決定を行うのと同じク
ロックサイクルで条件コードを生成する。
件コードを設定すれば、条件コードは条件コード・レジ
スタから読まなければならない。この場合、ALUはA
LU出力状態信号と条件コード・レジスターに記憶され
ている状態信号のどちらを用いるかを選ばなければなら
ない。この選択は一般に送り(forwarding)
mux(マルチプレクサ)を用いて行うので、従来の回
路の分岐決定に更に遅れが加わる。
実施態様では「SPARC」構造に関連して説明する
が、この特許の発明は、これらのまたは同様なALU出
力状態信号に基づいて分岐決定を行う任意のコンピュー
タ構造に適用するものである。
実施態様の各種の修正や組合わせは、この説明を参照す
ればこの技術に精通した人には明かである。従って特許
請求の範囲は、これらの修正や実施態様をすべて含むも
のとする。
信号は組合わせ論理回路の入力に入る。従来の組合わせ
論理回路はこれらの信号で作動し、入力がゲートの各レ
ベル(一般に高度に最適化した従来の回路では5ないし
6レベル)を通って伝搬した後、分岐決定信号が出る。
な最少数のゲートに加えて、「SPARC」のような特
殊な方式では、減算やmux送りでのaluけた上げ出
力の反転などの、プロセッサに特有の追加の条件を通っ
て状態信号や条件コードを伝搬する必要があるので、更
に遅れを生じる。
べた困難をかなり克服し、ALU和出力(または任意の
論理または算術のALU演算の出力)を計算してから分
岐決定するまでの遅れをなくし、または非常に減らす。
信号に依存するが、これらの状態信号が出る前に、和
(または別の演算)の計算に並行して分岐決定信号の計
算の大部分を行うことができるように、分岐決定回路を
構成できると考える。
分岐決定信号を出すための限界タイミング経路を後到着
(late−arriving)信号が決定するよう
に、分岐決定回路を構成する。この実施態様の目的か
ら、後到着信号は、alu演算のゼロ結果(信号名を
「ALU0」とする)、またはALUの最上位ビット
(MSB)へのけた上げ入力(carry−in)(信
号名を「cin31」とする)を表すことが望ましい。
到着状態信号は計算結果が出る少し前に出る。この望ま
しい実施態様の分岐決定信号は、ALU0信号かcin
31信号の遅い方が到着してから1ないし2遅れ以内に
発生する。この分岐決定は、計算結果とは独立に行われ
る。
た上げ選択加算器/ALUと両立するように分岐決定回
路を構成する。この構造は基本的には第1の望ましい実
施態様と同じであるが、2つの後到着信号cin31h
とcin31lを加算器のMSB段階からの候補けた上
げ入力信号とし、cin31の代わりにgcinを用い
るという点だけが異なる。
けた上げ入力によって2つの高いMSBバンクのどちら
かを選択するので、計算に使うけた上げ入力を待たなく
てすむためには、高いMSBバンクのそれぞれの値を決
め、また実際にけた上げ入力値が入ったときに候補分岐
決定を正しく選択しなければならない。
上げ先見(carry−looahead)加算器、け
た上げ選択加算器、条件付き和加算器に用いられる応用
について説明する。この発明の他の多くの実施態様が可
能である。応用によっては、分岐決定信号を生成するの
に必要な別の論理のために更に遅れが加わるので、後到
着信号が限界タイミング経路を決定しないことがある。
置より実質的に機能が高い。この発明は、ボスハート
(Bosshart)による米国特許申請番号923,
282に述べられている条件付き和加算器のような他の
型の加算器やALUにも容易に適用してよい。他の型の
加算器やALUにこの発明を適用できることは、コンピ
ュータ機構の設計に精通した人には明かである。
いてこの発明の機能の特長を十分に活用することが望ま
しい。速いALU=0回路の一例は、ボスハート他によ
る米国特許申請番号922,926に述べられている
が、他の多くのALU=0回路もここに述べる発明に適
用することができる。
結果に基づいて分岐決定信号を出す回路を説明する。こ
の回路は少なくとも2つの候補分岐決定回路を備え、そ
れぞれが候補分岐決定信号を計算し、それぞれが少なく
とも1つのalu状態信号に対して独特の候補条件コー
ドを出力する。更にこの回路は、alu状態信号が得ら
れたときにこの状態信号に基づいて、分岐決定信号の候
補の中から正しい分岐決定信号を選択するための第1選
択回路を備える。
で示す。この従来の分岐決定回路30では、レジスタ移
送レベル(RTL)の記述と両立するようにゲートを選
ぶ。図1に示すように、適当な分岐条件であるaluゼ
ロ、alu負号、aluあふれ、aluけた上げ出力の
ゲート制御は、ANDゲート32、33、34、35を
用いて使用可能信号EN<3:0>によって行う。図1
に示すように、また次式のようにEXORゲート36、
3入力ORゲート37、EXORゲート38により、分
岐決定信号JTAKENを生成する。
図を示す。この従来の分岐決定回路40では、CMOS
(相補形金属酸化膜半導体)を適用できるようにゲート
を選択する。
負号、aluあふれ、aluけた上げ出力のゲート制御
は、図2に示すようにNANDゲート42、43、4
4、45を用いてEN<3:0>によって行う。図2に
示すように、EXNORゲート46、3入力NANDゲ
ート47、EXORゲート48により、分岐決定信号J
TAKENを生成する。この回路の式は、上の式と同じ
である。
定回路50の略図を示す。この分岐決定回路には加算器
/ALUと両立する後到着状態信号が入る。ここで後到
着信号は、ALU=0信号すなわちALU0と、MSB
へのけた上げ入力信号cin31である。
aと図14bに示され、また米国特許申請番号922,
926に示されているが、多くの他のALU=0回路を
ここに説明する発明に適用してよい。cin31を決定
する回路は図10に示す。
ある。この第1の望ましい実施態様の分岐決定回路50
は多くの加算器やALU構造、すなわち、各種の後到着
状態信号と共にけた上げ先見加算器/ALU、けた上げ
選択加算器/ALU、条件付き和加算器/ALU、リッ
プルけた上げ加算器/ALUなどに適用してよいが、こ
れに限られるものではない。
岐決定の結果がcin31とALU0の関数として表す
ことができる、という事実を用いる。これらの信号は一
般に後で到着するので、4つの分岐回路52、54、5
6、58は全く同じである。各分岐回路は、cin31
とALU0に対して異なる組合わせの値をとる。
い。4つの候補分岐決定回路52、54、56、58の
すべてが結果を出力した後、mux62、64、66は
cin31とALU0の実際の値を選択制御に用いて、
候補分岐決定回路52、54、56、58から正しい結
果を選ぶ。
の遅れで分岐を決定するので、分岐決定は従来の技術に
比べてはるかに容易である。分岐決定をcin31の関
数として表す理由は、cin31の値が決まるとalu
あふれ、alu負号、aluけた上げ出力条件コードは
容易に計算できるからである。
分岐回路52、54、56、58のそれぞれで異なって
いる。aluゼロ分岐条件以外の候補条件コード名はA
LU−NZVCx(ただしxはcin31の候補値が0
か1に従って0か1)である。aluゼロの候補条件コ
ード名は、ALU−Zy(ただしyはALU=0の候補
値が0か1かに従って0か1)である。
ては後で説明する。候補分岐決定回路52、54、5
6、58のALU条件であるaluゼロ、alu負号、
aluあふれ、aluけた上げおよび関連する使用可能
信号EN<3:0>と、候補条件コードとの対応を次の
表1に示す。
8は候補分岐決定を発生する。第1の候補分岐決定回路
52は、図3と表2に示すように、cin31=0とA
LU0=0が入るとJT0−ALU0を発生する。第2
の候補分岐決定回路54は、図3と表2に示すように、
cin31=0とALU0=1が入るとJT0−ALU
1を発生する。
2に示すように、cin31=1とALU0=0が入る
とJT1−ALU0を発生する。最後に、第4の候補分
岐決定回路58は、図3と表2に示すように、cin3
1=1とALU0=1が入るとJT1−ALU1を発生
する。候補分岐決定信号および候補分岐決定回路52、
54、56、58と、cin31とALUOの候補条件
との対応を、次の表2に示す。
50では、候補分岐決定信号選択mux62、64、6
6によって、4つの候補分岐決定信号JT0−ALU
0、JT0−ALU1、JT1−ALU0、JT1−A
LU1から選択する。選択入力ALU0が入ると、候補
分岐mux62、64はこの4つの候補分岐決定から2
つの候補JT0、JT1を出力する。
asserted)の条件(ALU0=0)であれば、
信号としてJT0−ALU0を選択して候補分岐mux
62はJT0を出力し、また信号としてJT1−ALU
0を選択して候補分岐mux64はJT1を出力する。
ALU=0が正(positively assert
ed)の条件(ALU0=1)であれば、信号としてJ
T0−ALU1を選択して候補分岐mux62はJT0
を出力し、また信号としてJT1−ALU1を選択して
候補分岐mux64はJT1を出力する。
66はこれらの2つの候補JT0、JT1から1つの分
岐選択信号JTを出力する。cin31が負の条件(c
in31=0)であれば、JT0を選択して続いてJT
を出力する。cin31が正の条件(cin31=1)
であれば、JT1を選択して続いてJTを出力する。
ってから1ゲート遅れ以内に、また後到着信号ALU=
0が入ってから2ゲート遅れ以内に、分岐決定信号JT
を出力する。遅れを最小限に減らして分岐決定信号JT
を出力するために、後到着信号ALU=0はALU和出
力が出る前にまたは同時に出ることが望ましい。
な回路が、ボスハート他による米国特許申請番号92
2,926に開示されており、図14aと図14bにそ
の略図を示す。cin31とALU0を分岐決定信号の
条件付けのための後到着信号としたが、この発明の望ま
しい実施態様は別のまたは追加の後到着信号によって容
易に条件付けを行うことができる。
方法を説明する。上に述べたように、候補条件コードは
ALU−NZVCx<3:0>とALU−Zyである。
望ましい実施態様では分岐決定はALU=0で条件付け
を行うので、aluゼロ候補条件コードを表す候補条件
コードALU−NZVCx<2>は使わない。
コードALU−Zyによって表される。しかし別の実施
態様において分岐決定がcin31だけで条件付けされ
る場合は、候補条件コードはALU−NZVC0<3:
0>とALU−NZVC1<3:0>で完全な組にな
る。
luけた上げと、その対応する(上の表1に示す対応)
候補条件コードは、出力がICC<3,1:0>である
条件コード・レジスタ70(図示せず、図4参照)か
ら、または以下に動作を示す条件コード論理回路72、
74から直接に、選択してよい。
ードを設定するパイプライン構造では一般的であり、後
の分岐命令はいつでもこの条件コードを用いてよい。そ
の条件コードを用いる分岐命令の直前にALU操作によ
って条件コードを修正するときは、一般的なパイプライ
ン方式では、ALUは次の分岐命令を実行するのと同じ
クロックサイクルで条件コードを生成する。
前の命令に行われた場合は(その間に命令がいくつかあ
る)、次の分岐決定の条件コードは条件コード・レジス
タ70から得なければならない。その結果分岐決定回路
50は、状態コード論理回路72、74からの信号を用
いるか、状態コード・レジスタ70に記憶されている状
態信号ICC<3,1:0>を用いるか、を選択しなけ
ればならない。
(aluからicc)が入る条件コード選択mux8
0、82を用いて行われる。ICCFAは、負であれば
条件コード・レジスタ70から、正であれば条件コード
論理回路72、74から、候補条件コードを選択する。
1:0>の回路については、以下に図4を用いて詳細に
説明する。条件コードレジスタ70からのデータをIC
CFA=0によって選択すると、候補分岐決定回路5
2、54、56、58を通って同じ信号が送られる。全
ての分岐決定が同じなので、どの回路が適当な候補分岐
決定かを選択するのは重要ではない。
2、74の動作と、そこから得られる条件コードについ
て説明する。条件コード論理回路76、78およびその
条件コードについては後で説明する。第1の条件コード
論理回路72は、上に述べたように、cin31が0
で、ICCFAが正のときに候補条件コードを発生す
る。
次の表3に示す。減算についてこの論理を拡張しまたは
修正することは、コンピュータ構造設計の技術者には明
かである。
得るのに用いる論理を図3に示す。
れば、ALU−NZVC0<3>は候補alu負号信号
である。この信号は第1条件コード選択mux80の正
の入力のn=3ビットに入力する。alu負号は、加算
器のMSB和出力であるSUM<31>に等しい。
伝搬信号に等しい。というのは、けた上げ入力がゼロの
場合は、この出力信号は伝搬信号に等しいからである。
p31は、第1条件コード選択mux80の正の入力の
第4(n=3)ビットに直接入る。
れば、ALU−NZVC0<1>は候補aluあふれ信
号である。この信号は、g31とTOFLOの論理OR
を行うORゲート84から、第1条件コード選択mux
80の正の入力のn=1ビットに入力する。このOR機
能は、「SPARC」構造に特有のタイプをチェックす
るあふれTOFLO条件を考慮するのに必要であり、A
LU MSBあふれには関係ない。
力のMSBが結果の符号を正しく表さない場合に真、と
定義される。言い換えると、両入力が符号拡張1ビット
でかつALUが1ビット幅であれば、この新しい高いM
SBは現在のMSBとは異なる。
じなので、両者のけた上げ入力が異なるか、またはビッ
ト31のけた上げ出力がけた上げ入力と等しくなけれ
ば、両者の結果は異なる。cin31=0の場合のAL
U−NZVC0については、けた上げ出力が真の場合は
あふれは真である。けた上げ出力は、g31が真の場合
だけ真である。
れば、ALU−NZVC0<0>は候補aluけた上げ
出力信号である。この信号は、g31とALUSUBの
論理EXORを行うEXORゲート86から、第1条件
コード選択mux80の正の入力のn=0ビットに入力
する。cin31=0の場合、g31=1であればAL
Uけた上げ出力信号は真である。
より減算のけた上げ出力の極性は反転するので、NZV
C0<0>とALUSUBのEXOR機能が必要であ
る。上に用いた信号g31とp31は、加算器/ALU
のMSB(この実施態様では第31ビット)の発生信号
と伝搬信号である。これらの伝搬と発生は加算器/AL
U設計技術ではよく知られている。
31>とb<31>は、それぞれ第1および第2オペラ
ンドの第31ビットである。
>、NZVC0<1>、NZVC0<0>は、cin3
1の値が0の場合、候補の分岐決定回路52、54に入
る。
のMSBへのけた上げ入力が1でICCFAが正の場合
に、第2の条件コード論理回路74は候補条件コードを
発生する。これらの条件信号の論理を次の表4に示す。
この論理を減算に拡張しまたは修正することは、コンピ
ュータ構造設計の技術者には明かである。
選択mux82の正の入力(ICCFA=1)への入力
の論理について、図3を用いて以下に説明する。
線(tailing)「_」は図3でオーバーラインで
示す負論理信号を表す)は、第2条件コード選択mux
82の正の入力の第4(n=3)ビットに直接入る。
る論理は次の通りである。MSBの符号は、この技術で
よく知られているように、MSB和と同じである。1ビ
ット和は
で、
mux82の正の入力の第2(n=1)ビットへの入力
は、k31とTOFLOの論理ORを行うORゲート8
8から入る。ALU−NZVC0のn=1ビットと同じ
ように、ORゲート88は算術あふれとタグあふれすな
わちTOFLOとの論理ORを行うのに必要である。
LU MSBあふれは、ビット31のけた上げ出力がけ
た上げ入力と等しくないときに真、と定義される。ci
n31=1の場合のALU−NZVC1については、キ
ル信号k31が真の場合はあふれは真である。
れば、ALU−NZVC1<0>は候補aluけた上げ
出力信号である。この信号は、第2条件コード選択mu
x82の正の入力の第1(n=0)ビットに入る入力で
ある。EXNORゲート90は、k31とALUSUB
の論理EXNORとしてこの信号を発生する。
たはp31=1の場合は真である。この組合わせ条件
は、k31=0と同じである。上に述べたように、「S
PARC」構造では減算のけた上げ出力の極性は反転す
るので、ALUSUBとのEXNOR機能が必要であ
る。
/ALUの第31ビットのキル(kill)信号と伝搬
信号である。これらの信号は既存の加算器/ALU回路
内に一般的にあるので、これらの信号を発生する回路は
ここに含まない。これらの伝搬信号とキル信号およびそ
れらを発生する手段は、加算器/ALU設計の技術でよ
く知られている。
<31>とb<31>は、それぞれ第1および第2オペ
ランドの第31ビットである。
1<1>、NZVC1<0>は、cin31の値が1の
場合、候補分岐決定回路56、58に入る。
れぞれ発生する信号ALU−Z0とALU−Z1を得る
方法について説明する。この発明の望ましい実施態様で
は、ALU=0の値が負のときには候補分岐決定回路5
2、56によって、またALU=0すなわちALU0の
値が正のとき(すなわちALU0=1すなわちALU計
算の結果がゼロ)のときは候補分岐決定回路54、58
によって、ALU=0で条件付けを行う。
着ALU=0信号では条件付けをしない。この場合al
uゼロ条件コードは条件コード・レジスタ70のn=2
ビットから選択され、ALU=0信号はICCFAの条
件に基づくALUから選択される。従来のmux選択論
理は次の通りである。
1は、ALU0を0か1にそれぞれ設定することによっ
て上の式から条件付けされる。これらの式は次の通りで
ある。
路76で発生し、その出力信号ALU−Z0は第1およ
び第3候補分岐決定回路52、56に送られる。この第
3条件コード論理回路76は、図3に示すように一般的
にANDゲートである。
路78で発生し、その出力信号ALU−Z1は第2およ
び第4候補分岐決定回路54、58に送られる。この第
4条件コード論理回路78は、図3に示すように一般的
にORゲートである。
2、54、56、58のNANDゲート92、94、9
6、98には、前に説明したように使用可能信号EN<
3:0>とゲートされた候補条件コードが入る。EXN
OR100には、NANDゲート94、96からゲート
された候補状態コードが入る。
R100とNANDゲート92、98の出力を受けて候
補分岐決定信号JTx−ALUy’を生成する。ただし
x,yは表2に示したように、cin31とALU0の
候補条件である。JTx−ALUy’の論理表現は、候
補条件コードと使用可能信号を用いて次のように表され
る。
NDゲート102の出力と信号INV−JTを受ける2
入力EXORゲート104で反転してよい。INV−J
Tは、EXOR機能の定義により、次のように候補分岐
決定を反転する。
T=0)であれば、NANDゲート102の出力が負の
ときは負の候補分岐決定を発生し、NANDゲート10
2の出力が正のときは正の候補分岐決定を発生する。
あれば、NANDゲート102の出力が負のときは正の
候補分岐決定を発生し、NANDゲート102の出力が
正のときは負の候補分岐決定を発生する。EXOR10
4の後の最終出力はJTx−ALUyである。ただし、
上に述べたように候補条件に従って、x,yは0,0ま
たは0,1または1,0または1,1である。
回路50は、候補分岐決定信号選択mux62、64、
66によって、4つの候補分岐決定信号JT0−ALU
0、JT0−ALU1、JT1−ALU0、JT1−A
LU1から選択する。図3に示すmuxの配列は、リッ
プルけた上げ加算器、けた上げ先見加算器、条件付き和
加算器に一般的な信号と両立する。
正するのは、この技術に精通した人には簡単である。ま
た上に挙げた加算器は少し異なった構造を備えてよく、
これに関連してこの発明と両立するように改造できるこ
とは明かである。可能性のある別の実施態様を例示する
ため、修正を以下に示す。
実施態様の各種の修正や組合わせは、この説明を参照す
ればこの技術に精通した人には明かである。従って特許
請求の範囲は、そのような修正や実施態様を含むもので
ある。
連する回路110の望ましい実施態様の略図を示す。こ
の応用では、4ビットの4対1mux112は、4つの
条件コード源の1つから条件コード・レジスタ70にロ
ードするデータを選択する選択入力S0、S1によって
動作する。
ことが望ましい。この例でS0,S1=0,0であれ
ば、3ビットの2対1mux114からの3ビットのデ
ータと、ALU0信号からの第4ビットが、条件コード
レジスタ70に入る。このmux114は、候補分岐決
定信号ALU−NZVC0<3,1:0>とALU−N
ZVC1<3,1:0>からcin31の条件によって
選択して、信号ALU−NZVC<3,1:0>を生成
する。
112はデータとしてWRITE−DATA<3:0>
を選択して、条件コード・レジスタ70に送る。WRI
TE−DATA<3:0>は、ALUから直接に条件コ
ード・レジスタ70に書き込むデータでもよい。S0,
S1=1,0であれば、mux112はデータとしてT
RAP<3:0>を選択して、条件コード・レジスタ7
0に送る。
コード・レジスタ70の出力ICC<3:0>の値は条
件コード・レジスタ70に再び入力され、条件コード・
レジスタ内に一定のデータを保持する。
ジスタがどのように動作して異なる条件コードのグルー
プの中から選択するかを示す単なる例である。この機能
の特長は、TRAP<3:0>、WRITE−DATA
<3:0>、およびその他の条件コードのグループの用
い方と同様に、この技術の技術者には明かである。
mux80、82とゲート76、78は条件コードを送
るためのものである。条件コード送り回路76、78、
80、82と条件コード論理回路72、74の動作は、
図3と関連して図5aと図5bのタイミング図を見れば
よく理解できる。図5a、図5bは、パイプライン構造
の数個のクロックサイクルを示す。
に並べてあり、その実行はパイプライン構造内で部分的
に重なっている。図5a、図5bは送りがある場合とな
い場合の算術演算を示す。パイプライン構造では、分岐
決定直前の命令によって条件コードを変更すると、次の
分岐命令が分岐決定を行うのと同じクロックサイクル中
にALUは条件コードを生成する。
ード送り回路76、78、80、82は現在のコードを
直接選択し、条件コード・レジスタ70からは選択しな
い。ICCFA=0の場合は条件コードは前の命令によ
って設定されるので、分岐決定のためのラッチされた条
件コードは条件コード・レジスタ70から読まなければ
ならない。
1送りmux80、82とゲート76、78を用いて行
うことができる。ICCFA=0によって条件コード・
レジスタ70からのデータを選択すると、候補分岐決定
回路52、54、56、68を通って同じ信号が送られ
る。全ての分岐決定が同じなので、どの回路が適当な候
補分岐決定かを選択するのは重要でない。
決定回路の第1の応用120の部分的な略図を示す。こ
の実施態様の構造は、図9に示すようなけた上げ選択加
算器とも両立する。候補分岐決定信号選択mux62、
64は、ALU0を基にして候補分岐決定信号JTx−
ALUyを決定する。
0と同じように、4つの候補分岐決定から候補分岐mu
x62、64により2つの中間の候補分岐決定JT0、
JT1を出力する。しかし第2の望ましい実施態様の回
路は、cin31lとcin31hと更にgcinによ
って、中間の候補分岐決定信号JT0、JT1を出力し
なければならない。
力cin31lが入るmux122を用いてJT0とJ
T1のどちらかを選択して次のレベルの中間信号JT
0’に継続し、また選択入力cin31hが入るmux
124を用いてJT0とJT1のどちらかを選択してJ
T1’として継続する。次にJTは、選択入力gcin
が入るmux126によって、JT0’とJT1’から
選択する。
0を、図6bに示す。第1の応用120と同様に、候補
分岐決定信号選択mux62、64は、ALU0を基に
して候補分岐決定信号JTx−ALUyを決定する。
0と同じように、4つの候補分岐決定から候補分岐mu
x62、64により2つの中間の候補分岐決定JT0、
JT1を出力する。次にmux134は、cin31’
に基づいて中間信号JT0とJT1から選択し、分岐決
定信号JTを出力する。
けた上げ選択加算器とも両立する。第2の望ましい実施
態様の第2の応用は、第1の応用とは異なる信号経路遅
れを与えるもので、使用する加算器の信号遅れによって
は有効な場合に用いる。
定回路140の部分的な略図を示す。この実施態様の構
造は、最後に到着する条件コードであるALU0に対し
て最適化された、けた上げリップル加算器、けた上げ先
見加算器、条件付き和加算器、その他の加算器/ALU
と両立する。
n31を選択入力として用いてJT0−ALU0とJT
1−ALU0から中間分岐決定信号AL0を出力し、m
ux144は、cin31を選択入力として用いてJT
0−ALU1とJT1−ALU1からJT1を出力す
る。次にmux146は、ALU0をmux146の選
択入力として用いてAL0とAL1から分岐決定信号J
Tを出力する。
定回路150の部分的な略図を示す。この実施態様の構
造は、最後に到着する条件コードであるALU0に対し
て最適化されたけた上げ選択加算器/ALUと両立す
る。
n31lを選択入力として用いてJT0−ALU0とJ
T1−ALU0からJT0−ALU0(I)を出力し、
mux154は、cin31hを選択入力として用いて
JT0−ALU0とJT1−ALU0からJT1−AL
U0(I)を出力する。更にこの実施態様のmux15
6は、cin31lを選択入力として用いてJT0−A
LU1とJT1−ALU1からJT0−ALU1(I)
を出力し、mux158は、cin31hを選択入力と
して用いてJT0−ALU1とJT1−ALU1からJ
T1−ALU1(I)を出力する。
として用いてJT0−ALU0(I)とJT1−ALU
0(I)からAL0を出力し、mux162は、gci
nを選択入力として用いてJT0−ALU1(I)とJ
T1−ALU1(I)からAL1を出力する。最後に、
mux164は、ALU0をmux164への選択入力
として用いてAL0とAL1から分岐決定信号JTを出
力する。
けた上げ入力信号cin31lとcin31hを出力す
る、Nビットの部分的な和加算器172、174、17
6を備える、けた上げ選択加算器170の略図を示す。
この略図では、SUM<N−1:0>についてNビット
の部分的な和加算器172を用いて2Nビット和を行
う。
ットの加算器174とけた上げ入力が1のNビットの加
算器176とから、SUM<2N−1:N>を選択す
る。これらの2個の加算器174、176からの選択
は、部分的な和加算器172からのけた上げ出力gci
nによって行う。
出力cin31lを与え、加算器176はけた上げ入力
からMSBに出力cin31hを与える。cin31
l、cin31h、gcinは、図6a、図6b、図8
に示す第2および第4の望ましい実施態様の分岐決定回
路でmux選択に用いられる信号である。
和加算器172、174、176に用いるNビットのリ
ップルけた上げ加算器180の部分的な略図を示す。こ
れらの加算器は、図3に示す第1の望ましい実施態様の
加算器回路としてもよい。この場合Nは32であってよ
い。ただし、32は全加算器/ALUのビット数であっ
た。図10に示すcin31信号は、MSBけた上げ入
力の後到着状態信号である。
00の略図である。この加算器は、AND・ORゲート
204・206で計算されるグループけた上げ入力を受
ける、けた上げ先見加算器セル202を用いる。AND
・ORゲート204・206は、下位の加算器セル20
2からのグループ伝搬信号pとグループ発生信号gか
ら、けた上げ入力を計算する。
ようにSUM<N−1:N−4>を計算する。更にこの
最上位加算器セル202は、前に説明したように望まし
い実施態様の分岐決定回路で用いるMSBけた上げ入力
を出力する。
特定のけた上げ先見加算器の加算器セル202は4ビッ
トを持つ。ただしこの実施態様で選んだこのビット数は
例示のためであって、他の大きさの加算器セル202を
選んでもよい。けた上げ先見加算器構造はこの技術でよ
く知られている。
算器セル202を示す。このセルの動作は、この技術で
よく知られている。従って1ビットの和S<n>は、E
XORゲート212を用いてけた上げ入力信号C<n>
と伝搬信号P<n>から発生する。ただしnは入力信
号、出力信号、関連回路のビット位置を表す指標変数で
ある。
合は、nは0から3までである。C<0>信号は、下位
のけた上げ先見加算器セル202からのgcinであ
る。図11の実施態様の最上位加算器セル202のC<
3>信号は、望ましい実施態様の分岐決定回路へcin
31信号を与える。
ル202の動作はこの技術でよく知られている。よく知
られているように、AND・ORゲート214・216
はG<n−1>、P<n−1>、C<n−1>を受け、
けた上げ入力信号C<n>を関連する加算器セルに発生
する。けた上げ先見加算器セル202のこの部分は、リ
ップルけた上げ加算器と実質的に同じである。
ければならないゲートの数を最少にするために、AND
ゲート222は全てのP<n>信号、n=0から3ま
で、を受け、図11に示すg出力であるグループ伝搬信
号GRP PROPを発生する。更にAND・ORゲー
ト218・220は、P<n>、n=1,2,3、とG
<n>、n=0から3まで、の関数であるグループ発生
信号GRP GENを発生する。
ループけた上げ入力gcinを含めていかなるけた上げ
入力信号の関数でもないので、けた上げリップリングで
起こる遅れの量は非常に減少する。図12と上記の説明
に示した論理は分かりやすくするために簡単化してあ
り、速度や回路レイアウトの修正はこの技術の技術者に
は明かである。
施態様)を図3、図7(第1および第3実施態様)と比
べると、第1および第3実施態様の方が必要なmux段
階が少なく、従って正しい分岐決定信号を発生する際の
遅れが小さい。図3および図7の第1および第3実施態
様を支持する一般化したALU回路230を図13aに
示す。
めのN−1ビットのALU232と、分離した最上位
(MSB)のための別の1ビットのALU234を含
む、NビットALU230を示す。このように分ける
と、N−1ビットのALU232のけた上げ出力として
cin31信号を発生する。N−1ビットのALU23
2は、けた上げリップル加算器/ALU、けた上げ先見
加算器/ALU、けた上げ選択加算器/ALU、条件付
き和加算器/ALU、およびその他の加算器/ALUを
含む多くの異なる加算器構造で実現することができる。
算器240のハイレベル図を示す。この技術に共通のN
=32であれば、N−1ビットの条件付き和加算器はけ
た上げ入力を持つ31ビット加算器である。条件付き和
加算器は2の累乗ビット幅が望ましいので、これをけた
上げ入力なしの32ビットの加算器としても同等のもの
が実現できる。
げ発生はけた上げ入力と同じなので、加算器の単一LS
B回路は簡単になる。条件付き和加算器240のこの方
式の重要な特長は、ここに述べた望ましい実施態様の分
岐決定回路などの分岐決定回路に、cin31信号を与
えるのが容易になることである。
の条件付き和加算器の重要な構造的特長は、加算器を半
加算器242と244に分割するのに、この技術でよく
知られているビット15と16の間ではなくて、ビット
14と15の間で行うことである。条件付き和加算器2
40の動作は、この技術の技術者がよく見れば明かであ
る。
算器242は、A<14:0>とB<14:0>を受け
てSUM<14:0>を計算し、条件付き和加算器に共
通に用いられる2の累乗ビット幅を確保するために、け
た上げ入力をLSBに入力する。第1半加算器242か
らのけた上げ出力はmux246の選択入力として用い
られる。mux246は、条件付き和加算器240の第
2半加算器244の第1および第2部分244a、24
4bによって計算される2つの条件付き和のどちらかを
選択する。
更にmux248の選択入力として用いられ、条件付き
加算器240の第2半加算器244の第1および第2部
分244a、244bから、正しいけた上げ出力を選択
する。mux248の選択された出力は、この技術でよ
く知られているように、その後の加算器段階へのグルー
プけた上げ入力、すなわちgcinとして働く。
算器242からのけた上げ出力による正しい条件付き和
の選択によってSUM<30:15>を出力する。条件
付き和加算器240の第2半加算器244の第1および
第2部分244a、244bは、分かりやすくするため
に分離して示している。
路250の略図を示す。この例示のALU=0回路の詳
細は、ボスハート他による米国特許申請番号922,9
26に開示されている。図14aでは、実際のALU計
算の結果に関わらずALU=0を計算することのできる
ALU=0回路250を示し、ALUの計算結果が出る
前にまたは同時に、ALU=0信号を出力する。
252には、1ビットのゼロ・セル254からN個の1
ビットのゼロ信号Zn 、n=0からN−1まで、が入力
する。NビットのAND252回路は、N個の1ビット
のゼロ信号Zn の論理和を行う。図14aに示すよう
に、各n番目の1ビットのゼロ・セル254は、次の下
位の1ビットのゼロ・セル254からKn-1 を受け、次
の最上位の1ビットのゼロ・セル254にKn を出力す
る。
Zn はn番目とn−1番目のセルの信号だけによるの
で、加算器/減算器回路の全Nビットの特性を通じて信
号のリップルや伝搬を防ぐ。Kn 、Gn 、Pn 、Zn セ
ル262、264、466、468は、信号Kn 、
Gn 、Pn 、Zn (それぞれn=0からN−1)を発生
する。
用いられていない(Zn はPn を間接的に用いる。他の
方式でもよい)が、これらの信号は加算器/ALU設計
の技術でよく知られており、ここでは例示の目的で加算
器として示している。減算器すなわちALUは、Kn 、
Gn 、Pn 、Zn セル262、264、266、268
の他の構成を用いてよい。これらの他の方式や修正は、
この技術でよく知られている。
与える。
約は、例として32ビットALUを用いた。従ってMS
Bは、この文書の文脈の中では第31ビットである。3
2ビット以外の大きさのALUを使えることは明かであ
り、従って特許請求の範囲に規定しているように、この
発明でも予想している。
に説明した。この発明の範囲は、ここに説明したものと
は異なっても特許請求の範囲内にある実施態様をも含む
ものである。
タ」という語は記憶を持ったもので、「マイクロプロセ
ッサ」は記憶を持たないものとして用いられる。ここで
は、これらの用語は同義語であって同じものを指すもの
とする。
向け集積回路)、PAL(プログラマブル・アレイ論
理)、PLA(プログラマブル論理アレイ)、複号器、
記憶装置、非ソフトウエア基準プロセッサ、またはその
他の回路、または任意の構成のマイクロプロセッサやマ
イクロコンピュータを含むディジタル・コンピュータ、
またはそれらの組合わせを含む。発明の範囲を考慮する
際には、含むという語は無制限と解釈する。
その他の電子材料族を用いた離散要素または完全な集積
回路でも、光学的または他の技術を基にした形式や実施
態様でも考えられる。この発明の各種の実施態様は、ハ
ードウエア、ソフトウエア、マイクロコード化ファーム
ウエアを採用または実施することができる。
て説明したが、この説明は制限的に解釈してはならな
い。この発明の他の実施態様も例示の実施態様の各種の
修正や組合わせも、この説明を参照すればこの技術に精
通した人には明かである。従って特許請求の範囲は、そ
のような全ての修正や実施態様を含むものである。
る。 (1) alu状態信号を出力する関連算術論理ユニッ
トで実行する算術または論理操作の結果に基づいて分岐
決定信号を出す回路であって、 a) 少なくとも2つの候補分岐決定回路であって、そ
れぞれは候補分岐決定信号を計算し、それぞれは少なく
とも1つの前記alu状態信号に対して独特の候補条件
コードを出力し、前記alu状態信号は少なくとも2つ
の条件を持つものと、 b) 前記少なくとも1つのalu状態信号に基づい
て、前記少なくとも2つの候補分岐決定信号から正しい
分岐決定信号を選択する第1選択回路と、を含む回路。
信号と少なくとも1つの他のalu状態信号から、少な
くとも2つの計算された候補条件コードを計算するため
の少なくとも1つの条件コード論理回路を更に備え、各
計算された候補条件コードは候補alu状態信号の独特
の組合わせから得られる、第1項記載の回路。 (3) ラッチされた条件コードを記憶する条件コード
・レジスタを更に備える、第2項記載の回路。 (4) 前記計算された候補条件コードと前記ラッチさ
れた条件コードから選択するための第2選択回路を更に
備える、第3項記載の回路。
されまたプロセッサの制御の下に選択される、少なくと
も2つの条件コード源の1つを選択するための、第3選
択回路を更に備える、第3項記載の回路。 (6) 前記条件コード源の1つは1組のラッチされた
条件コードであって、前の命令サイクルからの条件コー
ドを用いてよい、第5項記載の回路。 (7) 前記第1選択回路はマルチプレクサ網を備え
る、第1項記載の回路。 (8) 前記マルチプレクサ網は単一のマルチプレクサ
である、第7項記載の回路。
反転ゲート網を備える、第1項記載の回路。 (10) 前記少なくとも1つのalu状態信号は、前
記算術または論理操作の結果が前記算術論理ユニットの
最上位ビットにけた上げ入力を生じたかどうかを示す、
第1項記載の回路。 (11) 前記少なくとも1つのalu状態信号は、前
記算術または論理演算の結果がゼロかどうかを示す、第
1項記載の回路。 (12) 前記第1選択回路は、前記少なくとも1つの
alu状態信号と少なくとも1つの他のalu状態信号
とに基づいて、正しい分岐決定信号を選択する、第1項
記載の回路。
信号は、前記少なくとも1つの前記alu状態信号に基
づいて前記少なくとも2つの候補分岐決定信号から選択
される、第12項記載の回路。 (14) 前記正しい分岐決定信号は、前記少なくとも
1つの他の前記alu状態信号に基づいて前記少なくと
も2つの中間分岐決定信号から選択される、第13項記
載の回路。 (15) 前記少なくとも1つの前記alu状態信号
は、前記算術または論理演算の結果がゼロかどうかを示
す、第14項記載の回路。
alu状態信号は、前記算術または論理操作の結果が前
記算術論理ユニットの最上位ビットにけた上げ入力を生
じたかどうかを示す、第15項記載の回路。 (17) 前記少なくとも1つの前記alu状態信号
は、前記算術または論理操作の結果が前記算術論理ユニ
ットの最上位ビットにけた上げ入力を生じたかどうかを
示す、第14項記載の回路。 (18) 前記少なくとも1つの他の前記alu状態信
号は、前記算術または論理演算の結果がゼロかどうかを
示す、第17項記載の回路。
alu状態信号は、下位グループのビットからのけた上
げ入力の結果を示す、第18項記載の回路。 (20) 前記少なくとも1つの前記alu状態信号
は、前記算術または論理演算の結果がゼロかどうかを示
す、第19項記載の回路。 (21) 前記少なくとも1つの他の前記alu状態信
号は、2つの追加のalu状態信号から選択する前記第
1選択回路の一部となる、第20項記載の回路。 (22) 前記算術および論理ユニットはNビットを持
つ、第12項記載の回路。
ユニットは、N−1ビットの算術および論理ユニットと
1ビットのMSB算術および論理ユニットを備える、第
22項記載の回路。 (24) 前記N−1ビットの算術および論理ユニット
は、けた上げ入力なしのNビットの算術および論理ユニ
ットの構造を備える、第23項記載の回路。 (25) 前記N−1ビットの算術および論理ユニット
は条件付き和算術および論理ユニットである、第24項
記載の回路。 (26) 前記条件付き和算術および論理ユニットは、
第1半分と第2半分を備え、前記第1半分は0ビットか
ら(N×1/2)−2ビットまでの和を計算し、前記第
2半分は(N×1/2)−1ビットからN−1ビットま
での和を計算する、第25項記載の回路。
ユニットは、条件付き和加算器である、第26項記載の
回路。 (28) 分岐決定を行う方法であって、 a) 算術または論理演算を実行し、 b) 少なくとも1つのalu状態信号を与え、 c) 少なくとも2つの候補分岐決定信号を計算し、そ
れぞれは前記少なくとも1つのalu状態信号に対して
独特の状態信号コードを出力し、 d) 前記状態信号が出るときの前記少なくとも1つの
alu状態信号に基づいて、前記少なくとも2つの候補
分岐決定信号から正しい分岐決定信号を選択する、段階
を含む方法。
論理演算の結果に基づいて分岐決定信号を出す回路50
を説明する。この回路は少なくとも2つの候補分岐決定
回路52、54、56、58を備え、それぞれは候補分
岐決定信号を計算し、それぞれは少なくとも1つのal
u状態信号に対して独特の候補条件コードを出力する。
この回路は第1選択回路62,64,66を更に備え、
前記状態信号が出たときに前記alu状態信号に基づい
て、前記候補分岐決定信号から正しい分岐決定信号を選
択する。その他の装置、システム、方法も開示する。
最適化された第1の望ましい実施態様の分岐決定回路の
略図。
施態様の略図。
と関連回路のタイミング図。bは送りなしの場合の、条
件コード・レジスタと関連回路のタイミング図。
候補分岐決定信号選択muxの第1方式で、最後に到着
する条件コードであるgcinに対して最適化されたけ
た上げ選択加算器/ALUと両立する構造を示す部分略
図。bは第2の望ましい実施態様の分岐決定回路の候補
分岐決定信号選択muxの第2方式で、最後に到着する
条件コードであるgcinに対して最適化されたけた上
げ選択加算器/ALUと両立する構造を示す部分略図。
分岐決定信号選択muxの方式で、最後に到着する条件
コードであるALU0に対して最適化された加算器/A
LUと両立する構造を示す部分略図。
分岐決定信号選択muxの方式で、最後に到着する条件
コードであるALU0に対して最適化されたけた上げ選
択加算器/ALUと両立する構造を示す部分略図。
信号を出すNビットの部分的な和加算器を備える、けた
上げ選択加算器のハイレベルの略図。
いることのできるNビットのリップルけた上げ加算器の
部分的な略図。
力信号を出すNビットの部分的な和加算器を備える、け
た上げ先見加算器のハイレベルの略図。
して用いることのできるNビットのけた上げ先見加算器
の部分的な略図。
されたALU回路を示す。
路を示す。特に指示のない限り、異なる図の対応する数
字と符号は、対応する部分に関連する。
分岐決定回路 52,54,56,58 候補分岐決定回路 62,64,66 選択回路 70 条件コード・レジスタ 72,74,76,78 条件コード論理回路 80,82 選択回路 84 ORゲート 86 EXORゲート 88 ORゲート 90 EXNORゲート 92,94,96,98 候補分岐決定信号ゲート 100 EXNORゲート 102 NANDゲート 104 EXORゲート 110 条件コード・レジスタ関連
回路 112 選択回路 114 3ビットの2対1mux 120 部分的な第2の望ましい実
施態様 122,124,,126 選択回路 130 別の部分的な第2の望まし
い実施態様 132,134,136 選択回路 140 部分的な第3の望ましい実
施態様 142,144,146 選択回路 150 部分的な第4の望ましい実
施態様 152,154,156,158 選択回路 160,162,164 選択回路 170 けた上げ選択加算器 172,174,176 部分的な和加算器 180 部分的な和加算器 182 EXORゲート 184 ANDゲート 186 ORゲート 200 けた上げ先見加算器 202 けた上げ先見の部分的な和
加算器 204 ANDゲート 206 ORゲート 212 EXORゲート 214 ANDゲート 216 ORゲート 218 ANDゲート 220 ORゲート 222 ANDゲート 230 一般化したALU回路 232 N−1ビットの条件付き和
加算器 234 1ビットのALU 240 N−1ビットの条件付き和
加算器 242 第1半加算器 244 第2半加算器 246 N−1ビットのmux 248 1ビットのmux 250 ALU=0回路 252 N入力AND回路 254 1ビットのゼロ・セル 262 Kn セル 264 Gn セル 266 Pn セル 268 Zn セル
Claims (2)
- 【請求項1】 alu(算術論理演算装置)状態信号を
出力する関連算術論理ユニットで実行する算術または論
理操作の結果に基づいて分岐決定信号を出す回路であっ
て、 a) 少なくとも2つの候補分岐決定回路であって、そ
れぞれは候補分岐決定信号を計算し、それぞれは少なく
とも1つの前記alu状態信号に対して独特の候補条件
コードを出力し、前記alu状態信号は少なくとも2つ
の条件を持つものと、 b) 前記少なくとも1つのalu状態信号に基づい
て、前記少なくとも2つの候補分岐決定信号から正しい
分岐決定信号を選択する第1選択回路と、を含む回路。 - 【請求項2】 分岐決定を行う方法であって、 a) 算術または論理演算を実行し、 b) 少なくとも1つのalu状態信号を与え、 c) 少なくとも2つの候補分岐決定信号を計算し、そ
れぞれは前記少なくとも1つのalu状態信号に対して
独特の状態信号コードを出力し、 d) 前記状態信号が出るときの前記少なくとも1つの
alu状態信号に基づいて、前記少なくとも2つの候補
分岐決定信号から正しい分岐決定信号を選択する、段階
を含む方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/953,637 US5504867A (en) | 1992-09-29 | 1992-09-29 | High speed microprocessor branch decision circuit |
| US953637 | 1992-09-29 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH076032A true JPH076032A (ja) | 1995-01-10 |
| JP3597547B2 JP3597547B2 (ja) | 2004-12-08 |
Family
ID=25494300
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP24181493A Expired - Lifetime JP3597547B2 (ja) | 1992-09-29 | 1993-09-28 | 高速のマイクロプロセッサ分岐決定回路 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5504867A (ja) |
| EP (1) | EP0590914B1 (ja) |
| JP (1) | JP3597547B2 (ja) |
| KR (1) | KR100286881B1 (ja) |
| DE (1) | DE69327030T2 (ja) |
| TW (1) | TW320702B (ja) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5758142A (en) * | 1994-05-31 | 1998-05-26 | Digital Equipment Corporation | Trainable apparatus for predicting instruction outcomes in pipelined processors |
| WO2001063416A1 (en) * | 2000-02-24 | 2001-08-30 | Bops Incorporated | Methods and apparatus for scalable array processor interrupt detection and response |
| US8707037B2 (en) * | 2008-04-17 | 2014-04-22 | Atmel Corporation | Cryptographic authentication apparatus, systems and methods |
| US9652242B2 (en) * | 2012-05-02 | 2017-05-16 | Apple Inc. | Apparatus for predicate calculation in processor instruction set |
| DE102013008367A1 (de) | 2013-05-16 | 2014-11-20 | Man Truck & Bus Ag | Antriebsvorrichtung sowie Verfahren zum Betreiben derselben unter Verwendung eines partiell oxidierten Dieselkraftstoffs |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4947369A (en) * | 1982-12-23 | 1990-08-07 | International Business Machines Corporation | Microword generation mechanism utilizing a separate branch decision programmable logic array |
| US4685078A (en) * | 1984-10-31 | 1987-08-04 | International Business Machines Corporation | Dual incrementor |
| US5247627A (en) * | 1987-06-05 | 1993-09-21 | Mitsubishi Denki Kabushiki Kaisha | Digital signal processor with conditional branch decision unit and storage of conditional branch decision results |
| JPH01277931A (ja) * | 1988-04-29 | 1989-11-08 | Nec Ic Microcomput Syst Ltd | 零検出回路 |
-
1992
- 1992-09-29 US US07/953,637 patent/US5504867A/en not_active Expired - Lifetime
-
1993
- 1993-09-27 EP EP93307644A patent/EP0590914B1/en not_active Expired - Lifetime
- 1993-09-27 DE DE69327030T patent/DE69327030T2/de not_active Expired - Fee Related
- 1993-09-28 KR KR1019930020078A patent/KR100286881B1/ko not_active Expired - Fee Related
- 1993-09-28 JP JP24181493A patent/JP3597547B2/ja not_active Expired - Lifetime
-
1994
- 1994-02-22 TW TW083101471A patent/TW320702B/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| EP0590914B1 (en) | 1999-11-17 |
| DE69327030T2 (de) | 2000-07-20 |
| TW320702B (ja) | 1997-11-21 |
| EP0590914A3 (en) | 1994-05-25 |
| JP3597547B2 (ja) | 2004-12-08 |
| DE69327030D1 (de) | 1999-12-23 |
| KR100286881B1 (ko) | 2001-04-16 |
| US5504867A (en) | 1996-04-02 |
| EP0590914A2 (en) | 1994-04-06 |
| KR940007722A (ko) | 1994-04-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6411980B2 (en) | Data split parallel shifter and parallel adder/subtractor | |
| US10340920B1 (en) | High performance FPGA addition | |
| EP0653703B1 (en) | Temporary pipeline register file for a superpipelined superscalar processor | |
| US6990510B2 (en) | Wide adder with critical path of three gates | |
| US6209076B1 (en) | Method and apparatus for two-stage address generation | |
| US20020143841A1 (en) | Multiplexer based parallel n-bit adder circuit for high speed processing | |
| US5815420A (en) | Microprocessor arithmetic logic unit using multiple number representations | |
| US20120173597A1 (en) | Leading sign digit predictor for floating point near subtractor | |
| US6101621A (en) | Logic circuit and method for designing the same | |
| US7170317B2 (en) | Sum bit generation circuit | |
| US5349671A (en) | Microprocessor system generating instruction fetch addresses at high speed | |
| JP3597547B2 (ja) | 高速のマイクロプロセッサ分岐決定回路 | |
| US6061707A (en) | Method and apparatus for generating an end-around carry in a floating-point pipeline within a computer system | |
| US6263424B1 (en) | Execution of data dependent arithmetic instructions in multi-pipeline processors | |
| US7330869B2 (en) | Hybrid arithmetic logic unit | |
| JPH09222991A (ja) | 加算方法および加算器 | |
| JPH06195201A (ja) | 不等桁上げ方式(varied carry scheme)を用いた高速加算器とそれに関連する方法 | |
| US5588127A (en) | High speed microprocessor branch decision circuit | |
| US6065034A (en) | Circuit and method employing an adder for sign extending operands | |
| US8473541B2 (en) | M-bit race delay adder and method of operation | |
| US20040225699A1 (en) | Method for early evaluation in micropipeline processors | |
| US6035310A (en) | Method and circuit for performing a shift arithmetic right operation | |
| US5926407A (en) | Combined add/shift structure | |
| EP0992884B1 (en) | Zero anticipation method and apparatus | |
| US20050033939A1 (en) | Address generation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040109 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20040409 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040414 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040709 |
|
| 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: 20040803 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040909 |
|
| 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: 20070917 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080917 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080917 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090917 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090917 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100917 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110917 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110917 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120917 Year of fee payment: 8 |