JPH01193938A - 命令先読み装置 - Google Patents
命令先読み装置Info
- Publication number
- JPH01193938A JPH01193938A JP1804888A JP1804888A JPH01193938A JP H01193938 A JPH01193938 A JP H01193938A JP 1804888 A JP1804888 A JP 1804888A JP 1804888 A JP1804888 A JP 1804888A JP H01193938 A JPH01193938 A JP H01193938A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- branch
- branch destination
- cache
- instructions
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 238000010586 diagram Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Advance Control (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
産業上の利用分野
2 ベーン
本発明は、プロセッサで用いられる命令先読み装置に関
するものである。
するものである。
従来の技術
命令の実行を複数のステージに分け、並行的に処理する
パイプライン方式のプロセッサにおいては、命令の実行
に先行した命令の先読み動作を行う。命令の読出しは通
常メインメモリから行われるが、近年、メインメモリと
プロセッサの間にキャッシュメモリを設け、高速な読出
し動作と、システムバスの効率的利用をはかるようにな
って来た〇 一方、命令の先読み動作はアドレス順に行なわれるため
、分岐時には、先読み効果は減少する。
パイプライン方式のプロセッサにおいては、命令の実行
に先行した命令の先読み動作を行う。命令の読出しは通
常メインメモリから行われるが、近年、メインメモリと
プロセッサの間にキャッシュメモリを設け、高速な読出
し動作と、システムバスの効率的利用をはかるようにな
って来た〇 一方、命令の先読み動作はアドレス順に行なわれるため
、分岐時には、先読み効果は減少する。
そこで、種々の方法が考案されている。例えば、マルチ
ストリーム方式、分岐予測方式等である。
ストリーム方式、分岐予測方式等である。
パイプライン方式のプロセッサでは、分岐の成立、不成
立が確定する以前に分岐先アドレスを計算することが可
能であるため、マルチストリーム方式は有効である。そ
の−例として、計算された分岐先アドレスを用いて、先
行的にキャソシュメモリ3 ベーン をアクセスし、ヒツトした場合には、その分岐先命令を
用意しておく方法がある。もし、分岐が成立した場合に
は、この命令を用いて、実行を再開すれば良いため、処
理効率の低下を低く抑えることができ、もし分岐が不成
立であった場合には、命令の先読み動作は、アドレス順
に行われるため、−殻内には、処理効率の低下は低く、
実行の再開はヌムーズであると考えられる。
立が確定する以前に分岐先アドレスを計算することが可
能であるため、マルチストリーム方式は有効である。そ
の−例として、計算された分岐先アドレスを用いて、先
行的にキャソシュメモリ3 ベーン をアクセスし、ヒツトした場合には、その分岐先命令を
用意しておく方法がある。もし、分岐が成立した場合に
は、この命令を用いて、実行を再開すれば良いため、処
理効率の低下を低く抑えることができ、もし分岐が不成
立であった場合には、命令の先読み動作は、アドレス順
に行われるため、−殻内には、処理効率の低下は低く、
実行の再開はヌムーズであると考えられる。
従来の技術としては上記のようなマルチストリーム方式
の命令先読み装置が考えられている。
の命令先読み装置が考えられている。
発明が解決しようとすm
しかし、上記のような構成では、分岐先アドレスを用い
てキャッシュメモリをアクセスする場、必ずしもキャッ
シュメモリが読出し状態にあるとは限らない。すなわち
、キャッシュメモリが、アップデート中である場合が存
在する。この時には、キャッシュメモリへの書込みが終
了するまで、分岐先アドレスのフェッチは待たされる。
てキャッシュメモリをアクセスする場、必ずしもキャッ
シュメモリが読出し状態にあるとは限らない。すなわち
、キャッシュメモリが、アップデート中である場合が存
在する。この時には、キャッシュメモリへの書込みが終
了するまで、分岐先アドレスのフェッチは待たされる。
ところが、この時キャッシュメモリへ書き込まれる命令
は、命令がアドレス順に先読みされていることから、分
岐が不成立であった場合に使用される命令であるだめ、
この命令先読み装置では、分岐が不成立であった場合に
使用される命令のフェッチが著るしく優先されている。
は、命令がアドレス順に先読みされていることから、分
岐が不成立であった場合に使用される命令であるだめ、
この命令先読み装置では、分岐が不成立であった場合に
使用される命令のフェッチが著るしく優先されている。
このように、従来の命令先読み装置では、分岐が成立し
た場合に使用される命令と、分岐が不成立の場合に使用
される命令とのフェッチのバランスが著しく悪く、分岐
が成立した場合のオーバーヘッドが大きくなるという問
題点を有していた。
た場合に使用される命令と、分岐が不成立の場合に使用
される命令とのフェッチのバランスが著しく悪く、分岐
が成立した場合のオーバーヘッドが大きくなるという問
題点を有していた。
本発明はかかる点に鑑み、上記2つの場合の命令フェッ
チのバランスを良くシ、分岐時のオーバーヘッドを小さ
く出来る命令先読み装置を提供す本発明はキャッシュメ
モリと未解読命令の量を検出する検出装置とを備えた命
令先読み装置である0 作 用 本発明は前記した構成により、分岐先命令をキャッシュ
メモリを用いてフェッチする際、キャツ5、、−1・ シュメモリがアップデート状態にあった場合に、検出装
置が、未解読命令の量、すなわち分岐が不成立であった
場合に使用する命令の量を検出し、その情報にもとづき
、分岐先命令のフェッチを優先するようにすることで、
命令フェッチのバランスを良くし、分岐時のオーバーヘ
ッドを減少することができる。
チのバランスを良くシ、分岐時のオーバーヘッドを小さ
く出来る命令先読み装置を提供す本発明はキャッシュメ
モリと未解読命令の量を検出する検出装置とを備えた命
令先読み装置である0 作 用 本発明は前記した構成により、分岐先命令をキャッシュ
メモリを用いてフェッチする際、キャツ5、、−1・ シュメモリがアップデート状態にあった場合に、検出装
置が、未解読命令の量、すなわち分岐が不成立であった
場合に使用する命令の量を検出し、その情報にもとづき
、分岐先命令のフェッチを優先するようにすることで、
命令フェッチのバランスを良くし、分岐時のオーバーヘ
ッドを減少することができる。
実施例
第1図は本発明の実施例における命令先読み装置のブロ
ック図を示すものである。第1図において、1は先読み
すべき命令のアドレスを保持する命令アドレスカウンタ
、2は、分岐先のアドレスを一時的に保持する分岐先ア
ドレスレジスタである。3は命令アドレスカウンタ1お
よび、分岐先アドレスレジスタ2に保持しているアドレ
スを用いて高速に命令をフェッチする命令キャッシュ、
4は命令キャッシュ3の動作を制御するキャッシュ制御
装置である。5は、命令アドレスカウンタ1に保持して
いるアドレスを用いて命令キャッシュ3から読出された
命令を保持するFIFO形式の命令ハソファ、6は、分
岐先アドレスレジスタ2に保持しているアドレスを用い
て命令キャッシュ3から読出された命令を保持する分岐
先命令レジスタである。7は命令バッフ75に保持して
いる未解読命令の数を検出する命令数検出装置、8は命
令バッファ5と分岐先命令レジスタ6に保持している命
令のうちどちらを選択するかを決定するセレクタである
。9は命令を解読し、分岐先命令のアドレスを計算する
命令解読部である。10は、メインメモリ、11はシス
テムバスである。
ック図を示すものである。第1図において、1は先読み
すべき命令のアドレスを保持する命令アドレスカウンタ
、2は、分岐先のアドレスを一時的に保持する分岐先ア
ドレスレジスタである。3は命令アドレスカウンタ1お
よび、分岐先アドレスレジスタ2に保持しているアドレ
スを用いて高速に命令をフェッチする命令キャッシュ、
4は命令キャッシュ3の動作を制御するキャッシュ制御
装置である。5は、命令アドレスカウンタ1に保持して
いるアドレスを用いて命令キャッシュ3から読出された
命令を保持するFIFO形式の命令ハソファ、6は、分
岐先アドレスレジスタ2に保持しているアドレスを用い
て命令キャッシュ3から読出された命令を保持する分岐
先命令レジスタである。7は命令バッフ75に保持して
いる未解読命令の数を検出する命令数検出装置、8は命
令バッファ5と分岐先命令レジスタ6に保持している命
令のうちどちらを選択するかを決定するセレクタである
。9は命令を解読し、分岐先命令のアドレスを計算する
命令解読部である。10は、メインメモリ、11はシス
テムバスである。
第2図は、本発明の実施例における命令先読み装置の動
作を示すシーケンス図である。図において、CI、02
等は動作サイクル、n 、n+1等は命令アドレス、I
(n)等は、アドレスn等に対応する命令である。1
は通常動作(後述)における命令キャッシュヒント時の
動作、2は命令キャッシュミスヒツト時の動作をそれぞ
れ示す。
作を示すシーケンス図である。図において、CI、02
等は動作サイクル、n 、n+1等は命令アドレス、I
(n)等は、アドレスn等に対応する命令である。1
は通常動作(後述)における命令キャッシュヒント時の
動作、2は命令キャッシュミスヒツト時の動作をそれぞ
れ示す。
第3図は、本発明の実施例における命令先読み装置の動
作を示すシーケンス図である。図において、Booは条
件分岐命令、mは分岐先アドレス、7 へ−/ 工(ホ)は分岐先命令である。他の記号は、第2図と同
様なだめ省略する。又、この図は分岐動作における分岐
先命令の先読み動作を示している。
作を示すシーケンス図である。図において、Booは条
件分岐命令、mは分岐先アドレス、7 へ−/ 工(ホ)は分岐先命令である。他の記号は、第2図と同
様なだめ省略する。又、この図は分岐動作における分岐
先命令の先読み動作を示している。
第4図は、本発明の実施例における命令先読み装置の分
岐先命令フェッチと、命令キャッシュ3のアップデート
とが同サイクルに重なった場合の動作を示すシーケンス
図である。図において、命令数検出装置子の命令数が0
3サイクルで1命令であることを示している。他の記号
は第2図、第3図と同様であるため、省略する。本図に
おいては、命令キャッシュ3への書込み動作が優先され
た場合が示されている。
岐先命令フェッチと、命令キャッシュ3のアップデート
とが同サイクルに重なった場合の動作を示すシーケンス
図である。図において、命令数検出装置子の命令数が0
3サイクルで1命令であることを示している。他の記号
は第2図、第3図と同様であるため、省略する。本図に
おいては、命令キャッシュ3への書込み動作が優先され
た場合が示されている。
第5図は、本発明の実施例における命令先読み装置の分
岐先命令フェッチと、命令キャッシュ3のアップデート
とが同サイクルに重なった場合の動作を示すシーケンス
図である。図において、命令数検出装置7の命令数が、
C3サイクルにおいて3命令であることを示している。
岐先命令フェッチと、命令キャッシュ3のアップデート
とが同サイクルに重なった場合の動作を示すシーケンス
図である。図において、命令数検出装置7の命令数が、
C3サイクルにおいて3命令であることを示している。
他の記号は、第2図、第3図、第4図で使用したものと
同様であるだめ省略する。本図においては、分岐先命令
先読みが優先された場合が示されている。
同様であるだめ省略する。本図においては、分岐先命令
先読みが優先された場合が示されている。
第1図のように構成されたこの実施例の命令先読み装置
について以下その動作を説明する。この実施例の命令先
読み装置の動作は大きく分けて以下の2つに分けられる
。
について以下その動作を説明する。この実施例の命令先
読み装置の動作は大きく分けて以下の2つに分けられる
。
(1)命令をアドレス順に先読みする通常動作、(2)
分岐命令を命令解読部9が解読した場合に、分岐の成立
または不成立が判定する以前に、分岐先命令の先読みを
行う分岐動作、 (2)の動作は、本命令先読み装置が、いわゆるマルチ
ヌトリーム方式の命令読出しを行うことを意味する。
分岐命令を命令解読部9が解読した場合に、分岐の成立
または不成立が判定する以前に、分岐先命令の先読みを
行う分岐動作、 (2)の動作は、本命令先読み装置が、いわゆるマルチ
ヌトリーム方式の命令読出しを行うことを意味する。
まず、通常動作について、第2図を用いて説明する。
第2図の(1)は通常動作において命令キャッシュ3が
ヒツトしている場合、?)は命令キャッシュ3がミスヒ
ノ)している場合をそれぞれ示す◎まず通常動作(1)
の場合について説明する。
ヒツトしている場合、?)は命令キャッシュ3がミスヒ
ノ)している場合をそれぞれ示す◎まず通常動作(1)
の場合について説明する。
C1サイクル
命令アドレスカウンタ1内に保持しているアト9、−プ
レス(n)を用いて、命令キャッシュ3をアクセスする
。命令キャッシュ3はこのアドレス(n)に対応する命
令があるためヒントし、その命令(I(n))を送出す
る。
。命令キャッシュ3はこのアドレス(n)に対応する命
令があるためヒントし、その命令(I(n))を送出す
る。
C2サイクル
C1サイクルで命令キャッシュ3より送出された命令(
I(n))を命令バッファ5に格納する0又、C1サイ
クルで命令キャッシュ3がヒツトしたため、命令アドレ
スカウンタ1内に保持しているアドレス(n)は歩進さ
れ、n+1になる。このアドレスを用いて、命令キャッ
シュ3をアクセスする0以下C1サイクルと同様である
。
I(n))を命令バッファ5に格納する0又、C1サイ
クルで命令キャッシュ3がヒツトしたため、命令アドレ
スカウンタ1内に保持しているアドレス(n)は歩進さ
れ、n+1になる。このアドレスを用いて、命令キャッ
シュ3をアクセスする0以下C1サイクルと同様である
。
C3サイクル以降は、CI、C2サイクルの動作を繰り
返し、第2図の(1)のように命令の先読み動作を行う
。
返し、第2図の(1)のように命令の先読み動作を行う
。
次に、通常動作(2)の場合について説明する。
、 C1サイクル
命令アドレスカウンタ1内に保持しているアドレス(n
) ヲ用いて、命令キャッシュ3をアクセスする。命令
キャッシュ3は、このアドレス(n)に対応10、−ゾ する命令が存在しないためミスヒツトし、同時にミスヒ
ツトしたことをキャッシュ制御装置4に通知する。
) ヲ用いて、命令キャッシュ3をアクセスする。命令
キャッシュ3は、このアドレス(n)に対応10、−ゾ する命令が存在しないためミスヒツトし、同時にミスヒ
ツトしたことをキャッシュ制御装置4に通知する。
C2サイクル
キャッシュ制御装置4は、C1サイクルにおいて命令キ
ャッシュ3がミスヒツトしたため、システムバス11を
獲得し、メインメモリ1oをアクセスするよう制御する
。又、命令キャッシュ3を書き込み状態にする。
ャッシュ3がミスヒツトしたため、システムバス11を
獲得し、メインメモリ1oをアクセスするよう制御する
。又、命令キャッシュ3を書き込み状態にする。
C3サイクル
バスサイクルである。システムバス11には、命令(I
(n)) が送出される。
(n)) が送出される。
C4サイクル
キャッシュ制御装置4は、システムバス11に送出され
た命令(I(n))を命令キャッシュ3に書き込むよう
制御し、命令キャッシュ3はアップデートされる。
た命令(I(n))を命令キャッシュ3に書き込むよう
制御し、命令キャッシュ3はアップデートされる。
C5サイクル
キャッシュ制御装置4は、命令キャッシュ3を読出し状
態にする。命令アドレスカウンタ1内に11 へ−ジ 保持しているアドレス(n)により、再度、命令キャッ
シュ3をアクセスするが、Cサイクルで命令キャッシュ
3がアップデートされたため、対応する命令(I(n)
)が存在し、ヒツトする0同時に、命令キャッシュ3
は命令(I(n))を送出する。
態にする。命令アドレスカウンタ1内に11 へ−ジ 保持しているアドレス(n)により、再度、命令キャッ
シュ3をアクセスするが、Cサイクルで命令キャッシュ
3がアップデートされたため、対応する命令(I(n)
)が存在し、ヒツトする0同時に、命令キャッシュ3
は命令(I(n))を送出する。
C6サイクル
命令キャッシュ3から送出された命令(I(n))を命
令バッファ5に格納する。又、命令アドレスカウンタ1
が歩進され、n+1となシ、命令キャクユ3をアクセス
する。
令バッファ5に格納する。又、命令アドレスカウンタ1
が歩進され、n+1となシ、命令キャクユ3をアクセス
する。
以上が通常動作であり、命令キャッシュ3がヒツトする
かどうかに応じて、上記(1)、に))の動作を行いな
がら、命令の先読み動作を行う。
かどうかに応じて、上記(1)、に))の動作を行いな
がら、命令の先読み動作を行う。
次に、分岐動作について、第3図、第4図、第5図を用
いて説明する。分岐動作では、分岐先命令を先読みする
がこのとき、命令キャッシュ3が、読出し状態にあるか
、書き込み状態にあるかで場合が分かれる。第3図は命
令キャッシュ3が読出し状態にある時で、第4図、第5
図は書き込み状態にある時である。
いて説明する。分岐動作では、分岐先命令を先読みする
がこのとき、命令キャッシュ3が、読出し状態にあるか
、書き込み状態にあるかで場合が分かれる。第3図は命
令キャッシュ3が読出し状態にある時で、第4図、第5
図は書き込み状態にある時である。
まず、命令キャッシュ3が読出し状態にある場合につい
て第3図を用いてその動作を説明するOC1サイクル、
C2サイクル 通常動作と同様であるため説明は省略する。
て第3図を用いてその動作を説明するOC1サイクル、
C2サイクル 通常動作と同様であるため説明は省略する。
C3サイクル
読出し動作は通常動作と同様である。命令解読部9が条
件分岐命令を解読し、分岐先アドレス(ホ)を計算し、
分岐先アドレスレジスタ2に送出する0又、キャッシュ
制御装置4に分岐動作を行うべきことを通知する。
件分岐命令を解読し、分岐先アドレス(ホ)を計算し、
分岐先アドレスレジスタ2に送出する0又、キャッシュ
制御装置4に分岐動作を行うべきことを通知する。
C4サイクル
分岐先アドレスレジヌタ2は分岐先アドレス(ホ)を格
納し、このアドレスを用いて命令キャッシュ3をアクセ
スする。この動作は、分岐動作中であるために、命令ア
ドレスカウンタ1に保持しているアドレスによるアクセ
スに優先して行われる0命令キヤツシユ3がヒツトし、
分岐先命令レジスタらへ命令(工(ホ))が送出される
。
納し、このアドレスを用いて命令キャッシュ3をアクセ
スする。この動作は、分岐動作中であるために、命令ア
ドレスカウンタ1に保持しているアドレスによるアクセ
スに優先して行われる0命令キヤツシユ3がヒツトし、
分岐先命令レジスタらへ命令(工(ホ))が送出される
。
C5サイクル
分岐先命令レジスタ6は、分岐先命令(工(ホ))を1
3 A−ノ 格納する。
3 A−ノ 格納する。
Ceサイクル以下は、命令先読み動作は中断され、分岐
の成立または不成立が確定するのを待つ。
の成立または不成立が確定するのを待つ。
分岐が成立した場合には、分岐先アドレスレジヌタ2に
保持している分岐先アドレスを命令アドレスカウンタ1
に歩進した上で格納し、通常動作へ移行する。分岐が不
成立の場合は、命令アドレスカウンタ1に保持している
アドレスによシ、そのまま通常動作に移行すれば良い。
保持している分岐先アドレスを命令アドレスカウンタ1
に歩進した上で格納し、通常動作へ移行する。分岐が不
成立の場合は、命令アドレスカウンタ1に保持している
アドレスによシ、そのまま通常動作に移行すれば良い。
以上述べたようにこの実施例ではいわゆるマルチストリ
ーム方式で分岐先命令を1つ分用窓しているだめ、スム
ーズに分岐以降の動作を続けることが可能となっている
。
ーム方式で分岐先命令を1つ分用窓しているだめ、スム
ーズに分岐以降の動作を続けることが可能となっている
。
次に分岐先命令を先読みする際、命令キャッシュ3が書
き込み状態にある場合について、説明する。この場合に
は、命令数検出装置子が示す命令バッファ5に残ってい
る命令数の情報により、命令キャッシュ3のアップデー
トを優先するか読出し状態にして分岐先命令のフェッチ
を優先するかを動的に制御する。前者が第4図に、後者
が第514 ページ 図に示しである。なお、命令バッファ5内に残っている
命令は分岐が不成立の場合に使用する命令である。
き込み状態にある場合について、説明する。この場合に
は、命令数検出装置子が示す命令バッファ5に残ってい
る命令数の情報により、命令キャッシュ3のアップデー
トを優先するか読出し状態にして分岐先命令のフェッチ
を優先するかを動的に制御する。前者が第4図に、後者
が第514 ページ 図に示しである。なお、命令バッファ5内に残っている
命令は分岐が不成立の場合に使用する命令である。
まず、第4図を用いて、アップデートを優先する場合に
ついて説明する。大まかな動作は第3図と同様であるた
め、要点だけを説明するOC3サイクル 命令数検出装置7が、命令バッファ5内に残っている命
令数(分岐が不成立であった場合に使用する命令)を検
出する。この場合は1命令であったO C4サイクル キャッシュ制御装置4は、命令数検出装置子からの情報
により、分岐が不成立であった場合に使用する命令数が
1命令しかないため、命令キャッシュ3へのアップデー
トを優先させると判断し、分岐先命令の読出しを禁止し
、命令キャッシュ3をアンプデートする。この時アップ
デートした命令は分岐が不成立であった場合に使用する
命令であることは命令の先読みがアドレス順に行われる
15、−ノ ことがら明らかであるO C5サイクル キャッシュ制御装置4は命令キャッシュ3を読出し状態
にし、分岐先命令のフェッチをする0今の場合、キャッ
シュはヒツトする。
ついて説明する。大まかな動作は第3図と同様であるた
め、要点だけを説明するOC3サイクル 命令数検出装置7が、命令バッファ5内に残っている命
令数(分岐が不成立であった場合に使用する命令)を検
出する。この場合は1命令であったO C4サイクル キャッシュ制御装置4は、命令数検出装置子からの情報
により、分岐が不成立であった場合に使用する命令数が
1命令しかないため、命令キャッシュ3へのアップデー
トを優先させると判断し、分岐先命令の読出しを禁止し
、命令キャッシュ3をアンプデートする。この時アップ
デートした命令は分岐が不成立であった場合に使用する
命令であることは命令の先読みがアドレス順に行われる
15、−ノ ことがら明らかであるO C5サイクル キャッシュ制御装置4は命令キャッシュ3を読出し状態
にし、分岐先命令のフェッチをする0今の場合、キャッ
シュはヒツトする。
C6サイクル
分岐先命令レジスタeに分岐先命令I(ホ)を格納する
。
。
このように命令バッフ15内に残っている命令数が少な
い場合には、分岐が不成立であった場合の性能低下を防
ぐために命令キャッシュ3へのアップデートを優先する
。
い場合には、分岐が不成立であった場合の性能低下を防
ぐために命令キャッシュ3へのアップデートを優先する
。
次に第6図を用いて、分岐先命令の先読みを優先させる
場合について説明する。
場合について説明する。
C3サイクル
命令数検出装置子は、命令バッファ5に残っている命令
数が3命令であることを検出する。
数が3命令であることを検出する。
C4サイクル
キャッシュ制御装置4は、命令数検出装置7からの情報
によシ、分岐が不成立であった場合に使用する命令数が
3命令であるため、分岐先命令の読出しを優先させるべ
きであると判断し、命令キャッシュ3のアップデートを
禁止し、分岐先命令の読出しを行うために命令キャッシ
ュ3を読出し状態にする。以下の動作は第4図の場合と
同様であるため省略する。
によシ、分岐が不成立であった場合に使用する命令数が
3命令であるため、分岐先命令の読出しを優先させるべ
きであると判断し、命令キャッシュ3のアップデートを
禁止し、分岐先命令の読出しを行うために命令キャッシ
ュ3を読出し状態にする。以下の動作は第4図の場合と
同様であるため省略する。
このように、命令バッファ5内に残っている命令(分岐
が不成立であった場合に使用する命令)が多いときには
、分岐先命令のフェッチを優先する0 以上のようにこの実施例によれば、命令数検出装置7を
設け、その情報によシキャッシュ制御装置4が、分岐先
命令の先読みを優先するか、命令キャッシュ3のアップ
デートを優先するかを制御することで、分岐時の命令読
出しのバランスを良くし、分岐動作時のオーバーヘッド
を小さくすることが出来る。
が不成立であった場合に使用する命令)が多いときには
、分岐先命令のフェッチを優先する0 以上のようにこの実施例によれば、命令数検出装置7を
設け、その情報によシキャッシュ制御装置4が、分岐先
命令の先読みを優先するか、命令キャッシュ3のアップ
デートを優先するかを制御することで、分岐時の命令読
出しのバランスを良くし、分岐動作時のオーバーヘッド
を小さくすることが出来る。
なお、この実施例では、命令バッファ5に残っている命
令数が1つのときには、命令キャッシュ3へのアップデ
ートを優先し、3つのときには、17 ベー1.ワ 分岐先命令の先読みを優先したが、この判断は任意に設
定できることは言うまでもない。
令数が1つのときには、命令キャッシュ3へのアップデ
ートを優先し、3つのときには、17 ベー1.ワ 分岐先命令の先読みを優先したが、この判断は任意に設
定できることは言うまでもない。
発明の詳細
な説明したように、本発明によれば、分岐先命令をマル
チストリーム方式で用意する場合に、分岐が成立した場
合と、不成立であった場合とで使用する命令のフェッチ
をバランス良く行うことが出来るため、分岐動作時のオ
ーバーヘッドを減少することができる。よって、その実
用的効果は大きい。
チストリーム方式で用意する場合に、分岐が成立した場
合と、不成立であった場合とで使用する命令のフェッチ
をバランス良く行うことが出来るため、分岐動作時のオ
ーバーヘッドを減少することができる。よって、その実
用的効果は大きい。
第1図は本発明における実施例の命令先読み装置のブロ
ック図、第2図〜第5図は同実施例の動作を示すシーケ
メシテある。 3・・・・・・命令キャッシュ、4・・・・・・キャッ
シュ制御装置、5・・・・・・命令バッフ1.6・・・
・・・分岐先命令レジスタ、7・・・・・命令数検出装
置、8・・・・・・セレクタ、9・・・・・命令解読部
、1o・・・・・・メインメモリ、11・ ・・・・ノ
くス 。
ック図、第2図〜第5図は同実施例の動作を示すシーケ
メシテある。 3・・・・・・命令キャッシュ、4・・・・・・キャッ
シュ制御装置、5・・・・・・命令バッフ1.6・・・
・・・分岐先命令レジスタ、7・・・・・命令数検出装
置、8・・・・・・セレクタ、9・・・・・命令解読部
、1o・・・・・・メインメモリ、11・ ・・・・ノ
くス 。
Claims (2)
- (1)キャッシュメモリと未解読命令の量を検出する検
出装置とを備え、分岐先命令を分岐条件の確定に先行し
て前記キャッシュメモリを用いフェッチする際に、前記
キャッシュメモリがアップデート状態にあった場合、前
記検出装置からの未解読命令の量の情報に応じて、前記
キャッシュメモリのアップデートを中止し、分岐先命令
のフェッチを行えるように制御することを特徴とした命
令先読み装置。 - (2)キャッシュメモリから命令を複数格納できる命令
バッファを備え、検出装置はこの命令バッファに格納さ
れている命令数を検出することで、未解読命令の量を検
出したとみなす特許請求の範囲第1項記載の命令先読み
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1804888A JPH01193938A (ja) | 1988-01-28 | 1988-01-28 | 命令先読み装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1804888A JPH01193938A (ja) | 1988-01-28 | 1988-01-28 | 命令先読み装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH01193938A true JPH01193938A (ja) | 1989-08-03 |
Family
ID=11960808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1804888A Pending JPH01193938A (ja) | 1988-01-28 | 1988-01-28 | 命令先読み装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH01193938A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03191427A (ja) * | 1989-12-20 | 1991-08-21 | Nec Corp | マイクロプロセッサ |
WO2006112190A1 (ja) * | 2005-04-08 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | プロセッサ |
-
1988
- 1988-01-28 JP JP1804888A patent/JPH01193938A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03191427A (ja) * | 1989-12-20 | 1991-08-21 | Nec Corp | マイクロプロセッサ |
WO2006112190A1 (ja) * | 2005-04-08 | 2006-10-26 | Matsushita Electric Industrial Co., Ltd. | プロセッサ |
JP2009104643A (ja) * | 2005-04-08 | 2009-05-14 | Panasonic Corp | プロセッサ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6088789A (en) | Prefetch instruction specifying destination functional unit and read/write access mode | |
JP3640355B2 (ja) | キャッシュ制御の命令プリフェッチ方法及びシステム | |
JPH09128293A (ja) | 情報処理装置 | |
JPH03147022A (ja) | 分岐命令処理装置および処理方法 | |
JP2560889B2 (ja) | マイクロプロセッサ | |
US20170109165A1 (en) | Apparatus and method for accessing data in a data store | |
JPS6356731A (ja) | デ−タ処理装置 | |
US20080140934A1 (en) | Store-Through L2 Cache Mode | |
US6684319B1 (en) | System for efficient operation of a very long instruction word digital signal processor | |
JP3837289B2 (ja) | 同じ論理的空間を占有する複数のレジスタファイルを含むマイクロプロセッサ | |
US6275903B1 (en) | Stack cache miss handling | |
JP2596712B2 (ja) | 近接した分岐命令を含む命令の実行を管理するシステム及び方法 | |
JPH02287626A (ja) | パイプライン方式の分岐命令制御装置 | |
JP2001166989A (ja) | プリフェッチ機構を有するメモリシステム及びその動作方法 | |
JPH01193938A (ja) | 命令先読み装置 | |
JP4111645B2 (ja) | キャッシュミスした後のメモリバスアクセス制御方式 | |
JPH0760387B2 (ja) | 情報処理装置 | |
JPH0342723A (ja) | データ処理装置 | |
JPH08286914A (ja) | メモリ制御装置 | |
JPH04246728A (ja) | 情報処理装置 | |
JPH1153188A (ja) | 命令キャッシュ制御方式 | |
JPH0695305B2 (ja) | デ−タ処理装置 | |
JPH027128A (ja) | 情報処理装置 | |
JPH01126733A (ja) | 情報処理装置 | |
JPS63163532A (ja) | マイクロプロセツサ |