JPH08328854A - パイプラインデ−タ処理装置 - Google Patents
パイプラインデ−タ処理装置Info
- Publication number
- JPH08328854A JPH08328854A JP7132231A JP13223195A JPH08328854A JP H08328854 A JPH08328854 A JP H08328854A JP 7132231 A JP7132231 A JP 7132231A JP 13223195 A JP13223195 A JP 13223195A JP H08328854 A JPH08328854 A JP H08328854A
- Authority
- JP
- Japan
- Prior art keywords
- pipeline
- instruction
- cache
- data
- stage
- 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
Landscapes
- Advance Control (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
て、キャッシュミス処理の信頼度の向上およびクロック
サイクルの低下防止による性能向上を目的とする。 【構成】 ISR10からの主記憶アクセス命令を実
行し、キャッシュディレクトリ32でミスが検出される
と、ヒットミスレジスタ41をセットする。これにより
パイプライン制御回路15は主記憶データがロードされ
るBR13、GR14の番号を示すミスハザードフラグ
11をセットする。また、15はパイプライン中の命令
をキャンセルする。11の出力はハザード検出回路12
で新たな命令によって使用されるBR、GRの番号と比
較され、一致すればその命令をDステージでホールドす
る。主記憶からデータが転送されてくると、11をリセ
ットし、新たな命令の実行を開始する。
Description
理装置に関し、特にキャッシュを有するパイプラインデ
−タ処理装置に関する。
ッシュ索引においてキャッシュミスが判定され、所望の
デ−タを主記憶装置から読み出す間、パイプラインをホ
−ルドし、デ−タの待ち合わせを行うように制御してい
る。今、図4に示す5ステ−ジからなる従来のパイプラ
イン処理装置を例に説明する。この5ステ−ジは、命令
をフェッチするIFステ−ジと、命令のデコ−ドとレジ
スタの読み出しを行うDステ−ジと、命令の実行もしく
はアドレス生成を行うEAステ−ジと、オペランドアク
セスを行うOステ−ジと、結果の格納を行うWステ−ジ
とからなる計5ステ−ジである。図4は定常状態で命令
を処理しているパイプラインの実行過程を示している。
が流れているときには、1クロックサイクル毎に命令の
結果を得ることができる。しかしながら、パイプラン処
理装置では各種の要因により、パイプラインのスト−ル
が発生する。このうち代表的ななものに、レジスタハザ
−ド処理とキャッシュミス処理がある。
用するレジスタが先行命令により更新されるか否かを検
出し、もし使用するレジスタがまだ更新されておらず、
使用不能である場合には、使用可能になるまでパイプラ
インをスト−ルさせることをいう。レジスタハザ−ド処
理を行うためには、まずDステ−ジで命令をデコ−ドし
た際に得られるレジスタ番号と該レジスタが更新される
か否かを示すレジスタ更新情報を、Dステ−ジ以降のス
テ−ジに存在する命令個数分保持しておく。ある一つの
命令によるレジスタの更新が完了すると、この命令に関
するレジスタ更新情報は無効化される。そして、新たな
命令がDステ−ジに供給されるとこの命令が使用するレ
ジスタ番号と保持されている先行命令が更新するレジス
タ番号とを比較することで、Dステージ上の命令が使用
しようとしているレジスタが更新待ちであるか否か、つ
まりレジスタハザードが起きているか否かを検出する。
レジスタハザードが検出されると、IFステ−ジ、Dス
テ−ジをホ−ルドさせ、レジスタの内容が更新されるま
で処理を待たせる。レジスタハザ−ド処理は、パイプラ
インの制御方法やパイプライン段数の違いによって1T
もしくは2Tのクロックサイクルの処理時間を必要とす
る。
セスしたときに、所望のデ−タがキャッシュ内に存在せ
ず、主記憶装置からの読み出しを行っている間パイプラ
インをスト−ルさせることをいう。図5に、従来のパイ
プライン処理装置において、命令2のオペランドアクセ
スによりオペランドキャッシュのミスが発生した状態を
示す。Oステ−ジでオペランドミスが発生したために、
主記憶装置から所望のデ−タがフェッチできるまで、I
Fステ−ジ、Dステ−ジ、AEステ−ジ、Oステ−ジを
ホ−ルドさせている。主記憶装置から所望のデ−タがフ
ェッチされるとIFステ−ジ、Dステ−ジ、AEステ−
ジ、Oステ−ジの処理を再開させる。キャッシュミス処
理には、主記憶装置の構成の違いによって10数Tから
数10Tの処理時間を必要とする。パイプラインデ−タ
処理装置は、複数の命令を各ステ−ジで連続的に処理し
ているため、パイプラインスト−ルが発生することが検
出された場合には、実行を継続できないステージは即座
にホ−ルドさせなければならない。さもないと、同一ス
テ−ジ上で複数の命令の処理が競合してしまい、命令情
報の喪失、リソ−ス破壊などが起こり、スト−ルが解除
されたときに、正しくパイプライン処理を再開できなく
なるからである。
ルが発生した場合の各ステ−ジをホ−ルドさせる従来の
技術を示したものとしては、例えば、特開平3−271
843号公報記載の「メモリアクセス制御方式」があ
る。この技術には、キャッシュミスを検出した信号によ
りクロックを停止させる方法と、ステ−ジ遷移抑止信号
をセットすることにより各ステ−ジ間の遷移を抑止し
て、パイプラインの各ステ−ジをホ−ルドさせる方法と
がある。
ラインデ−タ処理装置で用いられているクロックを停止
させる方法は、クロックスキュ−が増大するために、装
置全体の遅延時間が増大し、今日の高速クロックで動作
する装置の高速化の大きな妨げになるという欠点があ
る。さらに、クロックと他の論理の論理積がゲートで実
現されるために、この論理とクロックの信号の時間差に
よってノイズが発生し、装置の信頼度が低下するという
欠点がある。
−ジ遷移抑止信号を点灯し、このステ−ジ遷移抑止信号
によって、パイプラインの各ステ−ジをホ−ルドする従
来の方法は、ホ−ルドすべきステ−ジの対象がキャッシ
ュミスを検出したステ−ジおよび上段の全てのステ−ジ
(IFステ−ジ、Dステ−ジ、AEステ−ジおよびOス
テ−ジ)をホ−ルドしなければならないために、このス
テ−ジ遷移抑止信号の遅延時間が増大している。したが
って、パイプラインデ−タ処理装置のクロックサイクル
を高速化することが困難となり、システムの性能が低下
するという欠点もある。
インデータ制御装置は、主記憶装置内のデ−タのコピ−
をブロック単位で保持するキャッシュを有し命令の実行
を複数のステ−ジに分割して処理するパイプライン方式
のパイプラインデ−タ処理装置であって、(a)キャッ
シュ索引におけるキャッシュヒットまたはミスを判定す
る判定手段と、(b)前記判定手段でキャッシュミスが
判定されたときにパイプライン中の命令をキャンセルす
るキャンセル手段と、(c)キャッシュミス処理中であ
ることを表示するキャッシュミス表示手段と、(d)パ
イプライン処理の停滞条件を検出する停滞条件検出手段
と、(e)前記キャッシュミス表示手段の出力を前記停
滞条件検出手段に入力し前記キャッシュミス表示手段が
点灯している場合に新たに発行された命令を検出し前記
キャッシュミス表示手段の点灯が消えるまで該命令の処
理を保留する保留手段と、を備えている。
置は、主記憶装置内のデ−タのコピ−をブロック単位で
保持するキャッシュを有し命令の実行を複数のステ−ジ
に分割して処理するパイプライン方式のパイプラインデ
−タ処理装置であって、(a)キャッシュ索引における
キャッシュヒットまたはミスを判定する判定手段と、
(b)前記判定手段でキャッシュミスが判定されたとき
にパイプライン中の命令をキャンセルするキャンセル手
段と、(c)前記判定手段でキャッシュミスが判定され
たときにファ−ムウェアに通知するファームウェア通知
手段と、(d)前記主記憶装置から要求デ−タを受け取
ったことを上記ファ−ムウェアに通知するデータ受け取
り通知手段と、を備えている。
明する。
ラインデ−タ処理装置のブロック図である。本発明の特
徴を示す上で、重要でない部分は説明を分かり易くする
ために省略してある。図1において、ISR10は、信
号線L1を通して図示されていないIFステ−ジから送
出された命令を受け付けるレジスタである。ISR10
に命令がセットされると命令に従った処理が実行され
る。本実施例では、主記憶の内容をロ−ドしてレジスタ
に格納する命令を例に取って説明する。
す。OP部は命令の種類を示すオペレ−ションコ−ド、
GR1部は主記憶からロ−ドされたオペランドの内容を
格納する汎用レジスタの番号、BR部はロ−ドする主記
憶の番地を生成するための基底番地を格納するベ−スレ
ジスタの番号、GR部は上記BRのアドレスを修飾する
インデックス値を格納する汎用レジスタの番号、D部は
BR部とGR部から生成されたアドレスからのディスプ
レ−スメント値を示す。
3を参照して説明する。
されると、OP部、BR部、GR部はハザ−ド検出回路
12に送出される。ハザ−ド検出回路12はOP部によ
って命令が主記憶からのロ−ド命令であることを知り、
アドレス生成に必要なBR、GRが使用可能か否かを判
断し、結果をパイプライン制御回路15に通知する。
ン全体の制御を司る制御回路で、ハザ−ド検出回路12
からの通知で命令で指定されたBRもしくはGRが使用
不可である場合は、使用可能になるまでDステ−ジの処
理を待ち合わせるためにDステ−ジおよびIFステ−ジ
のホ−ルドを行う。
る複数のBRとGRを保持するレジスタファイルであ
る。ISR10にセットされた命令のBR番号およびG
R番号はBR13およびGR14の索引アドレスとして
BR13およびGR14に供給される。BR13および
GR14にBR番号およびGR番号が供給されると所望
のBRおよびGRが読み出され、それぞれBRD20、
GRD21にセットされる。
よびGR14から読み出されたBRおよびGRの内容を
それぞれ格納するレジスタである。DD22はISR1
0にセットされた命令のD部を格納するレジスタであ
る。
り、ISR10にセットされたロ−ド命令に従って、B
RD20、GRD21およびDD22にBR値、GR値
およびD値がセットされると論理アドレスを生成してL
AR30にセットする。
アドレスを格納するレジスタで、論理アドレスがセット
されると内容をTLB31、AA32およびDA33に
供給する。
ドレスを指定する絶対アドレスに変換するためのアドレ
ス変換バッファである。
スディレクトリ部であり、DA33はオペンドキャッシ
ュのデ−タアレイ部である。AA32にはDA33に格
納されている主記憶上のデ−タのコピ−に対応する絶対
アドレスが格納されており、TLB31で変換された絶
対アドレスと一致すれば命令が要求している主記憶デ−
タがキャッシュに存在している、即ちヒットしているこ
とになり、不一致の場合は、要求されている主記憶デ−
タがキャッシュに存在しない、即ちミスしていることに
なる。
た絶対アドレスは比較器34に供給され、アドレスの比
較が行われる。比較器34は値が一致しているとき、つ
まりヒットしているときは“1”を出力し、値が不一致
のとき、つまりミスのときは“0”を出力する。比較器
34の比較結果はヒットミスレジスタ41にセットされ
て、パイプライン制御回路15に通知される。
は、DA33から読み出されたデ−タがセレクタ35を
通してDAR40にセットされる。オペランドキャッシ
ュがミスしたときは、所望のデ−タの読み出し要求が、
図示されていない主記憶装置に出される。主記憶装置か
ら読み出された所望のデ−タは、信号線L5からセレク
タ35を介してDAR40にセットされると共にDA3
3の所望の位置に格納される。
ランドデ−タを格納するレジスタであり、オペランドデ
−タは命令で指定されたBR13もしくはGR14の所
望の場所に格納される。本実施例では、命令のGR1部
によって指定されたGR14の位置にオペランドが格納
される。
関して説明する。
スした場合のタイムチャ−トが示されている。クロック
5で命令2のOステ−ジでオペランドキャッシュのミス
が検出される。オペランドミスはヒットミスレジスタ4
1にセットされ、パイプライン制御回路15に通知され
る。
で信号線L3を通じてパイプライン全体をキャンセルす
る。パイプラインのキャンセルは制御回路のみをリセッ
トするだけの動作であり、デ−タレジスタにはなんらの
制御も行われない。そのため、従来のパイプラインデ−
タ処理装置のように、IFステ−ジ、Dステ−ジ、AE
ステ−ジ、Oステ−ジの制御回路およびデ−タレジスタ
の全てをホ−ルドするよりも遅延の負荷が格段に小さ
い。
テ−ジに到達しているため、命令1のみ、クロック6で
のキャンセルは行われず、命令が完了する。従って、図
示されてはいないが、命令の完了によって更新される命
令カウンタは、クロック6で命令2を指定するように更
新される。
で命令カウンタが指示している命令2のIFステ−ジか
らの再実行を要求し、同時にミスハザ−ドフラグ11を
セットする。
ットされた命令に対して無条件にハザ−ドを検出するこ
とをハザ−ド検出回路12に要求する。そのため、クロ
ック8で命令2がISR10にセットされたときは、無
条件にハザ−ドが検出され、ハザ−ドの要因が解除され
るまで、即ちミスハザ−ドフラグ11がリセットされる
まで、信号線L4から送出されるDステ−ジホ−ルド信
号によりIFステ−ジおよびDステ−ジがホ−ルドされ
る。このIFステ−ジおよびDステ−ジのホ−ルドは既
存のハザ−ド検出時のホ−ルド回路を使用しており、I
Fステ−ジ、Dステ−ジ、AEステ−ジおよびOステ−
ジをホ−ルドするよりも遅延の負荷が格段に小さい。
ンデ−タ処理装置に届く2クロック前にデ−タが届くこ
とを信号線L2通してパイプラインデ−タ処理装置に通
知してくる。この信号線L2の信号によって、ミスハザ
−ドフラグ11がリセットされてパイプラインスト−ル
が解除される。
のハザ−ドチェックが終了していることに注意しなけれ
ばならない。従って命令2には他のハザ−ド要因は検出
されず滞りなく処理が実行される。そして、クロックN
で主記憶装置から送られてきた所望デ−タが信号線L5
を通してDA33に格納されると共に、セレクタ35を
通してDAR40にセットされる。このとき、ヒットミ
スレジスタ41は再びオペランドキャッシュのミスをパ
イプライン制御回路15に通知するが、信号線L2を通
してパイプライン制御回路に通知された主記憶デ−タの
返送信号により再度のオペランドキャッシュミスの処理
は抑止される。
クN+1でGR14の所望の場所に格納され、命令2の
処理が終了する。
フラグ11を設けるかわりに、パイプライン制御回路1
5からの指示でファ−ムウェアに割り込みを送出し、信
号線L2を通じて、主記憶装置からのデ−タ転送の通知
があるまでアイドル状態で待ち合わせ、デ−タ転送報告
を受け取った後、命令2をIFステ−ジより再実行させ
るようにして、ハ−ドウェアを削減する構成をとる。キ
ャッシュミス処理T数を増やさないためには主記憶装置
からのデ−タ転送報告をもう1T速くもらえばよい。
インデータ処理装置は、キャッシュミス検出時に、クロ
ック停止を実施しなのでノイズが発生せず信頼性が保持
されるという効果がある。さらに、ステ−ジ遷移抑止信
号によるキャッシュ索引ステ−ジ以前の全ステ−ジのホ
−ルドをしなくてすむため、クロックスキュ−を増大さ
せることなく、また、パイプラインデ−タ処理装置を構
成する上でクリティカルとなっていたパイプラインホ−
ルド信号の遅延時間の大幅な削減が可能となるため、パ
イプラインデ−タ処理装置のクロックサイクルを高速化
が可能となりシステムの処理性能向上が達成できるとい
う効果がある。
マット図である。
イミング図である。
処理を示すタイミング図である。
グ図である。
Claims (2)
- 【請求項1】 主記憶装置内のデ−タのコピ−をブロッ
ク単位で保持するキャッシュを有し命令の実行を複数の
ステ−ジに分割して処理するパイプライン方式のパイプ
ラインデ−タ処理装置において、(a)キャッシュ索引
におけるキャッシュヒットまたはミスを判定する判定手
段と、(b)前記判定手段でキャッシュミスが判定され
たときにパイプライン中の命令をキャンセルするキャン
セル手段と、(c)キャッシュミス処理中であることを
表示するキャッシュミス表示手段と、(d)パイプライ
ン処理の停滞条件を検出する停滞条件検出手段と、
(e)前記キャッシュミス表示手段の出力を前記停滞条
件検出手段に入力し前記キャッシュミス表示手段が点灯
している場合に新たに発行された命令を検出し前記キャ
ッシュミス表示手段の点灯が消えるまで該命令の処理を
保留する保留手段と、を備えたことを特徴とするパイプ
ラインデ−タ処理装置。 - 【請求項2】 主記憶装置内のデ−タのコピ−をブロッ
ク単位で保持するキャッシュを有し命令の実行を複数の
ステ−ジに分割して処理するパイプライン方式のパイプ
ラインデ−タ処理装置において、(a)キャッシュ索引
におけるキャッシュヒットまたはミスを判定する判定手
段と、(b)前記判定手段でキャッシュミスが判定され
たときにパイプライン中の命令をキャンセルするキャン
セル手段と、(c)前記判定手段でキャッシュミスが判
定されたときにファ−ムウェアに通知するファームウェ
ア通知手段と、(d)前記主記憶装置から要求デ−タを
受け取ったことを上記ファ−ムウェアに通知するデータ
受け取り通知手段と、を備えたことを特徴とするパイプ
ラインデ−タ処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13223195A JP3251148B2 (ja) | 1995-05-30 | 1995-05-30 | パイプラインデ−タ処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP13223195A JP3251148B2 (ja) | 1995-05-30 | 1995-05-30 | パイプラインデ−タ処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08328854A true JPH08328854A (ja) | 1996-12-13 |
| JP3251148B2 JP3251148B2 (ja) | 2002-01-28 |
Family
ID=15076445
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP13223195A Expired - Fee Related JP3251148B2 (ja) | 1995-05-30 | 1995-05-30 | パイプラインデ−タ処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3251148B2 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02224023A (ja) * | 1988-10-11 | 1990-09-06 | Mips Computer Syst Inc | 命令ストリーム機能を有するプロセサ制御型インターフェイス |
| JPH03271843A (ja) * | 1990-03-20 | 1991-12-03 | Fujitsu Ltd | メモリアクセス制御方式 |
| JPH0452759A (ja) * | 1990-06-14 | 1992-02-20 | Fujitsu Ltd | ベクトル命令多重処理方式 |
| JPH05181676A (ja) * | 1991-04-05 | 1993-07-23 | Toshiba Corp | 並列処理型プロセッサシステム |
-
1995
- 1995-05-30 JP JP13223195A patent/JP3251148B2/ja not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH02224023A (ja) * | 1988-10-11 | 1990-09-06 | Mips Computer Syst Inc | 命令ストリーム機能を有するプロセサ制御型インターフェイス |
| JPH03271843A (ja) * | 1990-03-20 | 1991-12-03 | Fujitsu Ltd | メモリアクセス制御方式 |
| JPH0452759A (ja) * | 1990-06-14 | 1992-02-20 | Fujitsu Ltd | ベクトル命令多重処理方式 |
| JPH05181676A (ja) * | 1991-04-05 | 1993-07-23 | Toshiba Corp | 並列処理型プロセッサシステム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3251148B2 (ja) | 2002-01-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3781419B2 (ja) | パイプライン方式のプロセッサにおける例外処理 | |
| JP2744890B2 (ja) | ブランチ予測式データ処理装置および動作方法 | |
| EP0381447B1 (en) | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system | |
| US5297281A (en) | Multiple sequence processor system | |
| US6760835B1 (en) | Instruction branch mispredict streaming | |
| US5961633A (en) | Execution of data processing instructions | |
| JP3242508B2 (ja) | マイクロコンピュータ | |
| JP5815596B2 (ja) | プロシージャリターンシーケンスを加速するための方法およびシステム | |
| KR101048178B1 (ko) | 링크 스택 회로를 정정하는 방법 및 장치 | |
| US8549235B2 (en) | Method for detecting address match in a deeply pipelined processor design | |
| US11099851B2 (en) | Branch prediction for indirect branch instructions | |
| US6240503B1 (en) | Cumulative lookahead to eliminate chained dependencies | |
| JP3683439B2 (ja) | 分岐予測を抑止する情報処理装置および方法 | |
| EP0550289A2 (en) | A mechanism to detect stores into the instruction stream | |
| US20040049666A1 (en) | Method and apparatus for variable pop hardware return address stack | |
| JPH02310624A (ja) | データ処理装置 | |
| JPH06295243A (ja) | データ処理装置 | |
| EP0374598B1 (en) | Control store addressing from multiple sources | |
| WO2025144412A1 (en) | Predict-block skipping and early injection | |
| JP3251148B2 (ja) | パイプラインデ−タ処理装置 | |
| JP2894438B2 (ja) | パイプライン処理装置 | |
| JP2783285B2 (ja) | 情報処理装置 | |
| JP3156773B2 (ja) | 命令処理装置 | |
| JPH05113931A (ja) | アドレス変換処理方式 | |
| JPH0773034A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970304 |
|
| 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: 20071116 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081116 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091116 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |