JP3445535B2 - バイパス制御回路 - Google Patents
バイパス制御回路Info
- Publication number
- JP3445535B2 JP3445535B2 JP27117999A JP27117999A JP3445535B2 JP 3445535 B2 JP3445535 B2 JP 3445535B2 JP 27117999 A JP27117999 A JP 27117999A JP 27117999 A JP27117999 A JP 27117999A JP 3445535 B2 JP3445535 B2 JP 3445535B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- flip
- register
- output
- control circuit
- 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
- 238000012545 processing Methods 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 13
- 238000013519 translation Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 102000000532 Methionine Sulfoxide Reductases Human genes 0.000 description 1
- 108010041559 Methionine Sulfoxide Reductases Proteins 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3824—Operand accessing
- G06F9/3826—Bypassing or forwarding of data results, e.g. locally between pipeline stages or within a pipeline stage
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
Description
を実行する際に、命令実行に用いられるソース・レジス
タの内容を高速に取得するためにバイパス経路を設ける
技術に関し、特に、プロセッサ内部で用いられるバイパ
ス制御回路に関する。
ために、命令を複数の段階(ステージ)に細分化して並
列的に実行する、いわゆるパイプライン処理を行うこと
が多い。図7はパイプライン処理の概要を示すフローチ
ャートである。
ら、実行すべき命令を取り出す(ステップS1)。次
に、命令をデコードするとともに、ソース・レジスタか
らソース・オペランドを読み出す(ステップS2)。
8に示すように、命令の種類を表すオペレーション・コ
ードOpと、命令の実行結果の格納先であるデスティネー
ション・オペランドRdと、命令の実行に用いられるソー
ス・オペランドRs,Rtとで構成される。
ドがレジスタの場合は、デスティネーション・レジスタ
と呼ばれ、ソース・オペランドがレジスタの場合は、ソ
ース・レジスタと呼ばれる。デスティネーション・レジ
スタやソース・レジスタは、プロセッサ内のレジスタフ
ァイル33に格納される。
ファイル33からソース・レジスタを読み出したら、次
に、デコードした命令を実行する(ステップS3)。次
に、演算結果をデスティネーション・レジスタに書き戻
す(ステップS4)。
クル数が異なるため、ステップS4では、命令の実行結
果を複数段のフリップフロップで転送させて時間調整を
行っている。
スレジスタの内容をレジスタファイルから読み出してい
る。先行する命令のデスティネーションレジスタ番号
と、このソースレジスタ番号が同一であり、先行命令の
演算が終了していてその結果はもうすでに得られてお
り、その結果がまだレジスタファイルに書き込まれてい
ない場合、すなわち時間調整のために書き込みがまだ終
了していない時点では、デスティネーションレジスタの
内容をソースレジスタにバイパスして命令実行を行う。
のバイパス制御回路の概略ブロック図である。図9のバ
イパス制御回路は、命令キャッシュから出力された命令
を、A〜Dの4つのステージに細分化して実行し、最終
的な実行結果をレジスタファイル33中のデスティネー
ション・レジスタに書き戻す例を示している。
られるステージは異なっている。加減算のような単純な
命令の場合は、Aステージの終了時に演算結果は確定す
る。複雑なシフト命令は Bステージの終了時に演算結果
がきまり、ロードストア命令の結果はCステージ終了時
に得られる。32ビットの乗算命令などの計算時間のかか
る命令はDステージの後にならないと結果がでない。こ
のように、最終結果が得られるステージが命令によって
異なるが、レジスタファイルへのデータの下記戻しのタ
イミングを同一にしてある。このため、特に短時間で結
果が得られる命令に対しては、最終演算結果は得られて
いるが、レジスタファイルにはまだ書き込まれていない
時間帯が生じる。この時間帯に最終演算結果を後続命令
が参照する場合にデータを転送するのがバイパスであ
る。
テージごとに、フリップフロップ41a〜41dとコン
パレータ42〜44とを備えている。各フリップフロッ
プ41a〜41dは、命令キャッシュ11から出力され
たデスティネーション・レジスタRdのレジスタ番号
を、プロセッサのシステムクロックに同期させて順次に
転送する。
プフロップ41aの出力と、命令キャッシュ11から出
力されたソース・レジスタのレジスタ番号の出力とを比
較し、比較結果を出力する。コンパレータ43は、Bス
テージのフリップフロップ41bの出力と、命令キャッ
シュ11から出力されたソース・レジスタのレジスタ番
号の出力とを比較し、比較結果を出力する。コンパレー
タ44は、Cステージのフリップフロップ41cの出力
と、命令キャッシュ11から出力されたソース・レジス
タのレジスタ番号の出力とを比較し、比較結果を出力す
る。
バータIV1〜IV6とANDゲートG1〜G3に入力して論
理演算を行うことにより、最終的なバイパス経路が決定
される。
致が検出されると、優先順位付けを行い、命令キャッシ
ュ11に近い方のステージに対応するフリップフロップ
の出力を優先的に、次に実行すべき命令のソース・オペ
ランドとして利用する。
ーションレジスタが同一であった場合に相当し、この場
合は、そのうちもっとも最近の命令の演算結果をソース
オペランドとして利用しなければならないためである。
用するプロセッサやパイプライン・ステージの段数が多
いプロセッサでは、バイパス対象となるフリップフロッ
プの数が多いため、優先順位付けを行うゲート回路の規
模が大きくなる。すなわち、ゲート段数が増えるため、
命令の実行処理に時間がかかるという問題がある。
ら命令を取り出すのに比較的時間がかかるため、図9の
太線経路、すなわち、命令バスからレジスタ番号の比較
を行って優先順位づけを行う経路がタイミング上のクリ
ティカルパスになりやすかった。また、このようなクリ
ティカルパスの存在により、プロセッサの動作周波数が
制限されるおそれがあった。
ものであり、その目的は、命令バス上の実行されるべき
命令のソース・レジスタに、短時間でデータを設定でき
るようにしたバイパス制御回路を提供することにある。
ために、請求項1の発明は、命令バス上に縦続接続さ
れ、命令の格納先を示すデスティネーション・レジスタ
のレジスタ番号をシステムクロックに同期させて順次転
送する複数のフリップフロップと、前記複数のフリップ
フロップのうち、任意の2つのフリップフロップの出力
同士をそれぞれ比較する第1の比較手段と、命令バス上
の実行されるべき命令のソース・レジスタのレジスタ番
号と前記複数のフリップフロップの出力のそれぞれとを
比較する第2の比較手段と、前記第1および第2の比較
手段の比較結果に基づいて、命令バス上の実行されるべ
き命令のソース・レジスタに入力されるデータのバイパ
ス経路を設定するバイパス経路設定手段と、を備える。
・レジスタのレジスタ番号を順次転送する複数のフリッ
プフロップのうち、任意の2つのフリップフロップの出
力同士をそれぞれ比較する第1の比較手段を設けたた
め、その比較結果を利用することにより、実行すべき命
令のソース・レジスタに入力されるデータのバイパス経
路を短時間で設定することができる。
プフロップの出力同士を比較した結果、二組以上の一致
が検出されると、初段に近い側のフリップフロップの出
力に基づいてバイパス経路を設定するため、古いデータ
を誤ってソース・レジスタに設定するような不具合が起
きなくなる。
り一致が検出されると、一致した2つのフリップフロッ
プのうち、後段に近い側のフリップフロップの出力を比
較対象から外すため、効率的に比較対象の絞り込みを行
うことができ、比較処理時間を短縮できる。
較手段による比較処理を同時に行うため、比較処理時間
をより短縮できる。
出力の一致検出結果に応じて、レジスタファイルから読
み出したデータをソースレジスタとして命令に与えるこ
とができる。
回路について、図面を参照しながら具体的に説明する。
以下では、バイパス制御回路をプロセッサの内部に設け
る例について説明する。
実施形態のブロック図である。図1には、一実施形態の
バイパス制御回路1と、命令実行部2とが図示されてい
る。図1のバイパス制御回路1は、命令キャッシュから
出力された命令を4つのステージA〜Dに細分化して実
行するものである。
プロセッサの全体構成を示すブロック図である。まず、
図1のバイパス制御回路1の構成を説明する前に、図2
のプロセッサの全体構成について簡単に説明する。
れたBIU(バス・インタフェース・ユニット)3と、プロ
セッサにより実行される命令をフェッチするIFU(命令フ
ェッチ・ユニット)4と、仮想アドレスを物理アドレス
に変換するMMU(メモリ管理ユニット)5と、ロード/ス
トアに関する命令を実行するLSU(ロード/ストア・ユニ
ット)6と、ロード/ストア以外の命令を実行する複数
の実行ユニット7a,7b ,7cと、浮動小数点演算を行うFPU
(浮動小数点ユニット)8a,8bと、プロセッサ内の各ブロ
ックを制御する制御論理部9とを備えている。
TACを参照してPC(プログラム・カウンタ)を生成するPC
パイプ10と、命令を一時的に格納するICACHE(命令キ
ャッシュ)11と、命令のタイプを識別して識別した命
令を実行するための実行ユニットを選択する命令発行ス
テージング・ユニット12とを有する。図1のバイパス
制御回路1と命令実行部2は、命令発行ステージング・
ユニット12の内部に設けられる。
変換するための3つのTLBs(Translation Lookaside Buf
fers)を有する。プロセッサにより必要とされるアドレ
ス変換情報、例えば、物理ページ番号やメモリ保護情報
は、TLBsに書き込まれる。この情報に基づいて、MMU5
は、物理アドレスへの変換を行う。
anslation Lookaside Buffer)13と、ITLB(Instructio
n Translation Lookaside Buffer)14と、DTLB(Data T
ranslation Lookaside Buffer)15とである。
Bと呼ばれる。ITLB14は、命令の仮想アドレスのdatap
athに直接接続された専用のTLBである。DTLB15は、デ
ータの仮想アドレスのdatapathに直接接続された専用の
TLBである。これらTLBsのエントリー数は少ないが、高
速度にアドレス変換を行う。JTLB13により生成された
変換テーブルの一部が、必要に応じて、ITLB14やDTLB
15にコピーされる。
のに対し、micro TLBsとJTLBとのcoherencyはハードウ
ェアにより維持される。マイクロプロセッサは、JTLB1
3内に変換テーブルが存在しない場合には、例外を発行
する。exception handlerは、OSのメモリ上のページテ
ーブルから対応するページを検索し、JTLB13に書き込
む。
ータを一時的に格納するDCACHE(データ・キャッシュ)1
6と、キャッシュ以外の特定の目的に用いられるSPRAM
(Scratch Pad RAM)17と、DCACHE16とSPRAM17にア
クセスするのに必要な仮想アドレスを生成するアドレス
発生器(Virtual Address Computation)18とを有す
る。
クを制御する。制御論理部 7内に制御レジスタ 19が
設けられている。
成を説明する。命令実行部2は、各ステージごとに演算
器31a〜31cとフリップフロップ32a〜32cと
を備えている。最終段のフリップフロップ32cの出力
は、レジスタファイル33内のデスティネーション・レ
ジスタRdに書き戻される。
11から出力されたソース・レジスタRs,Rtの各アド
レス値に基づいて、ソース・レジスタRs,Rtの内容を
出力する。また、レジスタファイル33は、最終段のフ
リップフロップ32cの出力を、命令キャッシュ11か
ら出力されたデスティネーション・レジスタRdの書き
込みアドレスに格納する。
ス・レジスタRs,Rt中のデータはそれぞれ、フリップ
フロップ34a,34bでラッチされる。
はセレクタ35a,35bが設けられている。セレクタ
35aは、現在転送中のデスティネーション・レジスタ
Rdに書き戻されるべきデータとフリップフロップ34
aでラッチされたソース・レジスタRs中のデータとの
中から、いずれか一つを選択する。同様に、セレクタ3
5bは、現在転送中のデスティネーション・レジスタに
書き戻されるべきデータとフリップフロップ34bでラ
ッチされたソース・レジスタRs中のデータとの中か
ら、いずれか一つを選択する。
るバイパス制御回路1からの出力信号selRs[0:3]に基づ
いて行われる。
1aに入力されて、命令キャッシュ11から出力された
命令を実行する。演算器31aの演算結果はフリップフ
リップ32aに入力された後、次のステージの演算器3
1bに入力されて命令の実行が行われる。以下同様に、
Dステージまで命令の実行が継続して行われる。
を行う場合と、加減算命令などの単純な演算を行う場合
とでは、命令の実行に要するサイクル数が異なるが、図
2のプロセッサでは、命令の実行を開始してからレジス
タファイル33に書き戻すまでのサイクル数をすべて共
通にしている。
る単純な命令の実行を行う場合は、Aステージ内の演算
器31aで得られた演算結果を、Dステージまで転送さ
せてからレジスタファイル33に書き込む。一方、複雑
な命令の実行を行う場合は、複数のステージ(最大でD
ステージまで)を利用して演算を行った後、レジスタフ
ァイル33に書き込む。これにより、命令の種類によら
ずに、レジスタファイル33に書き戻すまでのサイクル
数を共通化することができる。
プ32cの出力は、命令のデスティネーション・レジス
タ番号に対応するレジスタファイル33内の格納位置に
書き戻される。
説明する。図1のバイパス制御回路1は、命令キャッシ
ュ11から出力されたソース・レジスタのレジスタ番号
が、各ステージ間で転送中のデスティネーション・レジ
スタRdのレジスタ番号と一致するか否かの判断を短時
間で行えるようにした点に特徴がある。
回路1と共通する構成部分には同一符号を付しており、
以下では、相違点を中心に説明する。
に加えて、命令キャッシュ11から出力されたデスティ
ネーション・レジスタRdのレジスタ番号を転送するフ
リップフロップ41a〜41cの出力同士を比較する複
数のコンパレータ45〜47を備えている。
比較手段に対応し、コンパレータ42〜44は第2の比
較手段に対応し、ANDゲートG1〜G4とインバータIV
1〜IV6はバイパス経路設定手段に対応する。また、図
1のセレクタ35a,35bは選択手段に対応する。
プフロップ41aの出力とBステージのフリップフロッ
プ41bの出力とを比較する。また、コンパレータ46
は、Aステージのフリップフロップ41aの出力とCス
テージのフリップフロップ41cの出力とを比較する。
また、コンパレータ47は、Bステージのフリップフロ
ップ41bの出力とCステージのフリップフロップ41
cの出力とを比較する。
で反転される。このインバータIV4の出力は、コンパレ
ータ45で一致が検出されると、ローレベルになる。
インバータIV5,IV6に入力されて反転された後、AND
ゲートG4に入力される。このANDゲートG4の出力
は、コンパレータ46,47のいずれかで一致が検出さ
れると、ローレベルになる。
に、Bステージのフリップフロップ41bの出力と命令
キャッシュ11から出力されたソース・レジスタのレジ
スタ番号とを比較する。ANDゲートG2は、インバータI
V4の出力がローレベルの場合、すなわち、Aステージ
とBステージの各フリップフロップ41a,41bの出
力が一致すれば、ローレベルになる。
に、Cステージのフリップフロップ41cの出力と命令
キャッシュ11から出力されたソース・レジスタのレジ
スタ番号とを比較する。ANDゲートG3は、ANDゲートG
4の出力がローレベルの場合、すなわち、Bステージと
Cステージの各フリップフロップ41c,41dの出力が
一致すれば、ローレベルになる。
ータ42の出力selRs[1]、ANDゲートG2の出力selRs
[2]、およびANDゲートG3の出力selRs[3]は、いったん
フリップフロップで受けた後、次のクロックにて、その
フリップフロップの出力値によってセレクタ35aの選
択対象が決定される。
=1の場合には、レジスタファイル33からソース・レ
ジスタ中のデータを選択し、selRs[1]=1の場合には、
Bステージのフリップフロップ32aの出力を選択し、
selRs[2]=1の場合には、Cステージのフリップフロッ
プ32bの出力を選択し、selRs[3]=1の場合には、D
ステージのフリップフロップ32cの出力を選択する。
イパス制御回路1がもう一組設けられている。省略した
バイパス制御回路1の出力selRt[0:3]は、図1のセレク
タ35bの選択を制御する。
を示す図である。図3は、4番目に実行されるSUB命令
のソース・レジスタRsのレジスタ番号R1が、その命
令に先行して実行される1〜3番目の各命令のデスティ
ネーション・レジスタRdのレジスタ番号R1に一致し
ている例を示している。
とって、図1のバイパス制御回路1の処理動作を説明す
る。
を細分化してパイプライン処理を行う。図4は図3の命
令列を実行する場合の各ステージの処理状況を示す図で
ある。図示のように、1番目のSLL命令はT1〜T4サ
イクルの間に実行され、2番目のXOR命令はT2〜T5
サイクルの間に実行される。また、3番目のADD命令は
T3〜T6サイクルの間に実行され、4番目のSUB命令
はT4〜T7サイクルの間に実行される。
a〜31cが命令を実行するタイミングよりも1サイク
ル早いタイミングで処理を行う。その理由は、命令キャ
ッシュ11から出力された命令がAステージでの実行処
理を開始するまでに、実行すべきソース・レジスタ中の
データが決まっていなければならないためである。
はT0サイクルまでに図1のバイパス制御回路1の処理
を終える必要がある。同様に、2番目のXOR命令はT1
サイクルまでに、3番目のADD命令はT2サイクルまで
に、4番目のSUB命令はT3サイクルまでにバイパス経
路を決定しておく必要がある。
のSUB命令が命令キャッシュ11から出力された場合に
ついて説明する。このSUB命令のソース・レジスタRsの
レジスタ番号は、1〜3番目の命令のデスティネーショ
ン・レジスタRdのレジスタ番号と一致するため、図1
の比較器42〜47はいずれも、一致したことを示すハ
イレベルを出力する。したがって、インバータIV4とAN
DゲートG4の出力はいずれもローレベルになり、selRs
[0:3]のうち、selRs[1]のみがハイレベルになる。
D命令の実行結果であるデスティネーション・レジスタ
Rd中のデータが、これから実行すべき4番目のSUB命令
のソース・レジスタRsとして用いられる。
は、フリップフロップ41a〜41dの出力同士を比較
するコンパレータ45〜47で一致が検出されると、比
較したフリップフロップ41a〜41dのうち、後段側
のフリップフロップの出力をバイパス対象から外すこと
で、バイパス対象の絞り込みを行っている。これによ
り、バイパス経路を短時間で検索することができるよう
になる。
タイミング図である。図5に示すように、命令キャッシ
ュ11の出力である命令バス上のデータが確定した時刻
t1から、図1のバイパス制御回路1の各コンパレータ
42〜44での比較処理が始まり、時刻t2のときにコ
ンパレータ42〜44から比較結果が出力される。その
後、時刻t3のときに、セレクタ35a,35bに入力
されるセレクト信号selRs[0:3]の論理が確定する。
は、サイクルタイムの最初(システムクロックの立ち上
がりエッジ)から確定しているため、コンパレータ 45
〜47の出力は十分早いタイミングで確定する。また、
それに続く IV4〜IV6 およびG4 の出力も十分早いタイ
ミングで確定し、これらはタイミング上のクリティカル
パスにならない。
入力されて、システムクロックの立ち上がりエッジが入
力された時刻t4でラッチされた後、図1のセレクタ3
5aに入力されて、バイパス経路の選定が行われる。
ロックの1サイクル内に行う必要がある。また、時刻t
3とt4との時間差は、selRs[0:3]をラッチする不図示
のフリップフロップのセットアップ時間以上必要であ
る。
イムは、命令キャッシュ11へのアクセス時間と、図1
のコンパレータ42〜44の比較処理時間と、図1のゲ
ート回路G1〜G3の論理演算時間と、selRs[0:3]をラ
ッチするフリップフロップのセットアップ時間とを併せ
た時間よりも長くなければならない。
御回路1のタイミング図である。図5と図6を比較すれ
ばわかるように、従来のバイパス制御回路1は、ゲート
回路の論理演算時間、すなわち、t2からt3までの時
間が本実施形態よりも長くかかるため、プロセッサのサ
イクルタイムをあまり短くできない。逆にいえば、本実
施形態の場合、ゲート回路の回路規模を最小にできるた
め、論理演算時間が短くて済み、従来よりもプロセッサ
のサイクルタイムを短くでき、プロセッサのシステムク
ロックの動作周波数をより高くすることができる。
されてステージ間を転送中のデスティネーション・レジ
スタRdのレジスタ番号を各ステージ間で比較し、その
比較結果と、実行すべき命令のソース・レジスタのレジ
スタ番号と各ステージのデスティネーション・レジスタ
Rdとの比較結果とに基づいて、バイパス経路を決定す
るようにしたため、比較処理に要するゲート回路の段数
を少なくすることができ、バイパス経路の決定に要する
時間を従来よりも短くできる。したがって、その分、プ
ロセッサのシステムクロックの動作周波数を高くするこ
とができる。
分けてパイプライン処理を行う例を説明したが、パイプ
ライン処理のステージ数は4段に限定されない。また、
図1では、インバータIV1〜IV7とANDゲートG1〜G
4でゲート回路を構成する例を説明したが、ゲート回路
を構成する論理素子の種類や回路構成には特に制限はな
い。
ンが1本だけ設けられている例を説明したが、パイプラ
インの本数には特に制限はない。
れば、デスティネーション・レジスタのレジスタ番号を
順次転送する複数のフリップフロップのうち、任意の2
つのフリップフロップの出力同士をそれぞれ比較する第
1の比較手段を設けたため、その比較結果を利用するこ
とにより、実行すべき命令のソース・レジスタに入力さ
れるデータのバイパス経路を短時間で設定することがで
きる。
が検出されると、初段側のフリップフロップの出力に基
づいてバイパス経路を設定するため、古いデータを誤っ
てソース・レジスタに入力するような不具合が生じなく
なる。
ブロック図。
全体構成を示すブロック図。
理状況を示す図。
図。
グ図。
ト。
リップフロップ 33 レジスタファイル 42〜47 コンパレータ
Claims (5)
- 【請求項1】命令バス上に縦続接続され、命令の格納先
を示すデスティネーション・レジスタのレジスタ番号を
システムクロックに同期させて順次転送する複数のフリ
ップフロップと、 前記複数のフリップフロップのうち、任意の2つのフリ
ップフロップの出力同士をそれぞれ比較する第1の比較
手段と、 命令バス上の実行されるべき命令のソース・レジスタの
レジスタ番号と前記複数のフリップフロップの出力のそ
れぞれとを比較する第2の比較手段と、 前記第1および第2の比較手段の比較結果に基づいて、
命令バス上の実行されるべき命令のソース・レジスタに
入力されるデータのバイパス経路を設定するバイパス経
路設定手段と、を備えることを特徴とするバイパス制御
回路。 - 【請求項2】前記バイパス経路設定手段は、前記第1お
よび第2の比較手段により二組以上の一致が検出される
と、初段に近い側のフリップフロップの出力に基づいて
前記バイパス経路を設定することを特徴とする請求項1
に記載のバイパス制御回路。 - 【請求項3】前記バイパス経路設定手段は、前記第1の
比較手段により一致が検出されると、一致した2つのフ
リップフロップのうち、後段に近い側のフリップフロッ
プの出力を比較対象から外すことを特徴とする請求項2
に記載のバイパス制御回路。 - 【請求項4】前記第1の比較手段による比較処理と前記
第2の比較手段による比較処理とを同タイミングで行う
ことを特徴とする請求項1〜3のいずれかに記載のバイ
パス制御回路。 - 【請求項5】前記第1または第2の比較手段による比較
処理を行った結果、命令バス上の実行されるべき命令の
ソース・レジスタのレジスタ番号に一致する前記フリッ
プフロップの出力が存在する場合には、該出力に基づい
て前記バイパス経路を設定し、命令バス上の実行される
べき命令のソース・レジスタのレジスタ番号に一致する
前記フリップフロップの出力が存在しなかった場合に
は、レジスタファイルから前記命令のソース・レジスタ
の内容を読み出す選択手段を備えることを特徴とする請
求項1〜4のいずれかに記載のバイパス制御回路。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27117999A JP3445535B2 (ja) | 1999-09-24 | 1999-09-24 | バイパス制御回路 |
US09/667,500 US6772318B1 (en) | 1999-09-24 | 2000-09-22 | Bypass control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27117999A JP3445535B2 (ja) | 1999-09-24 | 1999-09-24 | バイパス制御回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001092629A JP2001092629A (ja) | 2001-04-06 |
JP3445535B2 true JP3445535B2 (ja) | 2003-09-08 |
Family
ID=17496457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27117999A Expired - Fee Related JP3445535B2 (ja) | 1999-09-24 | 1999-09-24 | バイパス制御回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6772318B1 (ja) |
JP (1) | JP3445535B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7313244B2 (ja) * | 2019-09-20 | 2023-07-24 | 株式会社Screenホールディングス | 基板処理装置および基板処理方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4189770A (en) * | 1978-03-16 | 1980-02-19 | International Business Machines Corporation | Cache bypass control for operand fetches |
JPS5693363A (en) | 1979-12-04 | 1981-07-28 | Fujitsu Ltd | Semiconductor memory |
JPS59123937A (ja) * | 1982-12-29 | 1984-07-17 | Fujitsu Ltd | 演算装置におけるバイパス制御方式 |
JPS59177655A (ja) * | 1983-03-29 | 1984-10-08 | Fujitsu Ltd | 演算バイパス制御方式 |
JPS59177654A (ja) * | 1983-03-29 | 1984-10-08 | Fujitsu Ltd | 演算バイパス制御方式 |
JPS60178539A (ja) * | 1984-02-24 | 1985-09-12 | Fujitsu Ltd | 情報処理装置におけるバイパス制御方式 |
AU553416B2 (en) * | 1984-02-24 | 1986-07-17 | Fujitsu Limited | Pipeline processing |
JP3745450B2 (ja) | 1996-05-13 | 2006-02-15 | 株式会社ルネサステクノロジ | 並列処理プロセッサ |
US5778248A (en) | 1996-06-17 | 1998-07-07 | Sun Microsystems, Inc. | Fast microprocessor stage bypass logic enable |
US5872986A (en) | 1997-09-30 | 1999-02-16 | Intel Corporation | Pre-arbitrated bypassing in a speculative execution microprocessor |
US6266766B1 (en) * | 1998-04-03 | 2001-07-24 | Intel Corporation | Method and apparatus for increasing throughput when accessing registers by using multi-bit scoreboarding with a bypass control unit |
US6052307A (en) | 1998-08-11 | 2000-04-18 | Texas Instruments Incorporated | Leakage tolerant sense amplifier |
US6279100B1 (en) * | 1998-12-03 | 2001-08-21 | Sun Microsystems, Inc. | Local stall control method and structure in a microprocessor |
-
1999
- 1999-09-24 JP JP27117999A patent/JP3445535B2/ja not_active Expired - Fee Related
-
2000
- 2000-09-22 US US09/667,500 patent/US6772318B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6772318B1 (en) | 2004-08-03 |
JP2001092629A (ja) | 2001-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2911278B2 (ja) | プロセッサ | |
EP1296229A2 (en) | Scoreboarding mechanism in a pipeline that includes replays and redirects | |
JPH09212359A (ja) | マイクロプロセッサ及びデータ処理方法 | |
JP2010532063A (ja) | 条件命令を無条件命令および選択命令へと拡張する方法およびシステム | |
JP4996654B2 (ja) | プロセッサ | |
JP2003523573A (ja) | プロセッサにおける書き込みトラヒックを減少するシステム及び方法 | |
JP2011513843A (ja) | 実行装置内のデータ転送のシステムおよび方法 | |
US6725359B2 (en) | Address stage logic for generating speculative address operand interim results of preceding instruction by arithmetic operations and configuring | |
US6192461B1 (en) | Method and apparatus for facilitating multiple storage instruction completions in a superscalar processor during a single clock cycle | |
JPH10228376A (ja) | 複数レジスタ命令を処理する方法及びプロセッサ | |
US6418520B1 (en) | Address converting circuit utilizing string comparison and carry information calculation | |
US6145075A (en) | Apparatus and method for executing a single-cycle exchange instruction to exchange contents of two locations in a register file | |
US5815420A (en) | Microprocessor arithmetic logic unit using multiple number representations | |
JP4243271B2 (ja) | データ処理装置およびデータ処理方法 | |
KR100305935B1 (ko) | 데이타처리시스템및데이타처리시스템의데이타포착방법 | |
JP3611304B2 (ja) | 1サイクルのパイプライン・ストールを生成するパイプライン・プロセッサのシステム及び方法 | |
US6055628A (en) | Microprocessor with a nestable delayed branch instruction without branch related pipeline interlocks | |
US6014736A (en) | Apparatus and method for improved floating point exchange | |
JP3445535B2 (ja) | バイパス制御回路 | |
US6044460A (en) | System and method for PC-relative address generation in a microprocessor with a pipeline architecture | |
US5931942A (en) | Pipeline data processing apparatus of reduced circuit scale | |
US5784606A (en) | Method and system in a superscalar data processing system for the efficient handling of exceptions | |
US7991816B2 (en) | Inverting data on result bus to prepare for instruction in the next cycle for high frequency execution units | |
JP3461887B2 (ja) | 可変長パイプライン制御装置 | |
JP2819733B2 (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090627 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100627 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110627 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120627 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |