Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0713811B2 - 命令プリフェッチ方法 - Google Patents
[go: Go Back, main page]

JPH0713811B2 - 命令プリフェッチ方法 - Google Patents

命令プリフェッチ方法

Info

Publication number
JPH0713811B2
JPH0713811B2 JP13868692A JP13868692A JPH0713811B2 JP H0713811 B2 JPH0713811 B2 JP H0713811B2 JP 13868692 A JP13868692 A JP 13868692A JP 13868692 A JP13868692 A JP 13868692A JP H0713811 B2 JPH0713811 B2 JP H0713811B2
Authority
JP
Japan
Prior art keywords
instruction
request
prefetch
branch
instruction prefetch
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
JP13868692A
Other languages
English (en)
Other versions
JPH05216665A (ja
Inventor
秀明 藤巻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP13868692A priority Critical patent/JPH0713811B2/ja
Publication of JPH05216665A publication Critical patent/JPH05216665A/ja
Publication of JPH0713811B2 publication Critical patent/JPH0713811B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バッファストレージ(L
BS,GBS) を有するパイプライン制御の計算機システムに
おいて、分岐命令を処理するときの命令プリフェッチ方
法に関する。
【0002】従来から、計算機システムの処理速度を向
上させる為に、パイプライン制御方法をとり、命令のオ
ーバラップ処理により、実効的な性能を向上させる方式
がよく知られているが、該命令のオーバラップの多重度
を上げると、分岐命令の実行時の上記パイプラインの乱
れによる性能の低下が問題となる。
【0003】そこで、該分岐命令実行時にも、このパイ
プラインの乱れをできるだけ小さくする制御方法が要求
される。又、計算機システムの処理速度を向上させる為
に、演算装置と主記憶装置(MS)との間に、バッファスト
レージ(LBS,GBS) を持っている計算機システムにおいて
は、該演算装置内にも、複数段の命令バッファを設け、
プログラムの実行アドレスの分布の局所性に着目した命
令のプリフェッチが行われているが、プログラム内の分
岐命令の分岐先も、比較的に近くのアドレスであること
が多く、近年のメモリ素子の低価格化, 大容量化によ
り、比較的ムーブイン単位の大きいバッファストレージ
(GBS) の導入が容易になってきたことから、該分岐命令
直前の命令プリフェッチも好結果をもたらす場合が多く
なり、効果的な命令プリフェッチ方法が必要とされる。
【0004】
【従来の技術】図3, 図4は従来の命令プリフェッチ動
作を説明する図であって、図3は従来の命令プリフェッ
チの構成例を示し、図4は、該従来の命令プリフェッチ
動作をタイムチャートで示した図である。
【0005】図3においては、バッファストレージを備
えた計算機システムとして、高速小容量のバッファスト
レージ (以下、LBS という) 11と, 中速大容量のバッフ
ァストレージ (以下、GBS という) 12の2階層のバッフ
ァストレージを備えた計算機システムの構成例を模式的
に示している。
【0006】先ず、演算装置(CPU) 2 の制御装置 20 か
ら命令フェッチ要求 2a が送出されると、LBS 制御部 1
1aが起動され、上記 LBS 11 内に当該命令を含むブロッ
ク (例えば、32バイト単位) が存在するかどうかが検索
され、該ブロックが存在すると、即、該命令が読み出さ
れ、演算装置(CPU) 2 内の命令バッファ 21 に格納さ
れ、該ブロックが存在しないときには、ムーブイン要求
が上位の GBS制御部 12aに送出され、該GBS 12から当該
ブロックが LBS 11 にムーブインされると共に、その先
頭番地の当該命令が読み出されて、上記命令バッファ 2
1 に格納されるように動作する。
【0007】該ブロックが GBS 12 にも存在しないとき
には、同じようにして、主記憶装置(MS) 1からムーブイ
ンされる。該命令バッファ 21 に格納されている命令
は、順次、読み出され、命令デコーダ 21aでデコードさ
れ、特定の演算を実行する。
【0008】パイプライン制御の計算機システムにおい
ては、図4の動作タイムチャートに示すごとく、一般
に、各命令は、デコードサイクル(D) と,オペランドア
ドレス計算サイクル(A) と, 命令実行サイクル(E) と,
コンディションコードチェックサイクル(C) と, 汎用レ
ジスタへの書き込みサイクル(W) とからなり、図示の如
く、該演算パイプラインにおいて、常に、何れかの命令
の演算サイクル(E) を実行しているように, 各命令がオ
ーバラップして処理されるように制御される。但し、命
令の種類によって、上記命令実行サイクル(E) が複数サ
イクルとなることがある。
【0009】この命令の実行サイクル(E) の直前のタイ
ミング{例えば、図4の T2,T3}において、命令プリフ
ェッチ要求(PFRQ,RMSIP) 2b が、上記 LBS制御部 11aに
送出され、該実行中の命令の次の命令に対するプリフェ
ッチが行われ、上記命令バッファ 21 には、常に、複数
個の命令が格納され、効率の良い上記オーバラップ制御
が行われるように機能する。
【0010】
【発明が解決しようとする課題】然しながら、該命令が
分岐命令になると、上記 T3 のタイミングが分岐先アド
レス生成サイクル(SA)であり、次の T4 のタイミング
が、該分岐先命令の読み取りサイクル(RMSI)であるの
で、該 T4 のタイミングの最初の実行サイクル(E1)にお
いて、該分岐命令の分岐条件の判定を行い、分岐が決定
すると、同じサイクル(T4)において、図示されているよ
うに、命令バッファ 21 がクリアされ、次の T5 サイク
ルにおいて、分岐先の命令が当該命令バッファ 21 に設
定されデコードされる。
【0011】そして、該従来方法においては、上記の命
令プリフェッチ要求 2b は、当該分岐命令の分岐先の命
令フェッチに悪影響を及ぼすとして、該分岐命令のデコ
ードサイクル(D) で分岐命令であることが認識された次
のサイクル(T3)において、例えば、上記命令のプリフェ
ッチ要求 2b の動作の内の、命令読み取りサイクル(RMS
IP) を抑止する (図4では、“X”で示す)等して、一
様に、該命令プリフェッチ要求 2b の抑止,或いは、キ
ャンセルをしていた。
【0012】従って、前述のように、一般に、プログラ
ム内の分岐命令の分岐先は、比較的近くのアドレスであ
ることが多く、特に、中速大容量の GBS 12 を持ってい
る計算機システムにおいては、該分岐命令の直前の命令
プリフェッチ要求 2b により、後続の該分岐命令の分岐
先の命令フェッチに対して、該 GBS 12,LBS 11への上記
命令プリフェッチ要求 2b によるムーブインが、先に実
行されることにより、好影響がある場合でも、該命令の
プリフェッチ要求 2b が、上記のように、一様にキャン
セルされてしまうと、該命令プリフェッチ要求 2b の有
効な利用ができないという問題があった。
【0013】本発明は上記従来の欠点に鑑み、分岐命令
直前の命令プリフェッチ要求は、必ず実行し、該分岐命
令の分岐条件判定直後に、必要に応じてキャンセルする
手段を提供することを目的とするものである。
【0014】
【課題を解決するための手段】図1は、本発明の一実施
例をブロック図で示した図である。本発明においては、
主記憶装置(MS) 1と演算装置(CPU) 2 との間に、例え
ば、高速小容量のバッファストレージ(LBS) 11と、中速
大容量のバッファストレージ(GBS) 12とを持ち、更に、
命令先取り (プリフェッチ) 要求 2b に基づいて動作す
る命令プリフェッチ回路, 及び、命令バッファとを備え
たパイプライン制御の計算機システムにおいて、上記命
令プリフェッチ要求 2b によるムーブインで上記バッフ
ァストレージ(LBS 11,又は、GBS 12) に転送されてきた
ブロック中に、該分岐命令の分岐先の命令アドレス(タ
ーゲットフェッチアドレス)の命令が含まれているか否
かを判定する判定回路 23 を設けて、該判定回路 23
で、該分岐先の命令アドレスの命令が、該命令プリフェ
ッチ要求 2b によってムーブインされたブロック中に含
まれていることが判定された場合には、該命令プリフェ
ッチ要求 2b を有効とし、該分岐先の命令アドレスの命
令が、該命令プリフェッチ要求 2b によってムーブイン
されたブロック中に含まれていないことが判定された場
合には、該命令プリフェッチ要求 2b をキャンセルする
ように構成する。
【0015】
【作用】即ち、本発明によれば、主記憶装置(MS)と演算
装置(CPU) との間に、例えば、高速小容量のバッファス
トレージ(LBS) と,中速大容量のバッファストレージ(G
BS) とを持ち、更に、命令先取り(プリフェッチ)要求
に基づいて命令プリフェッチを行う回路,及び命令バッ
ファを持つパイプライン制御の計算機システムにおい
て、上記命令プリフェッチ要求によるムーブインで上記
バッファストレージ(LBS, 又は、GBS)に転送されてきた
ブロック中に、該分岐命令の分岐先の命令アドレス(タ
ーゲットフェッチアドレス)の命令が含まれているか否
かを判定する判定回路を設けて、該判定回路で、該分岐
先の命令アドレスの命令が、該命令プリフェッチ要求に
よってムーブインされたブロック中に含まれていること
が判定された場合には、該命令プリフェッチ要求を有効
とし、該分岐先の命令アドレスの命令が、該命令プリフ
ェッチ要求によってムーブインされたブロック中に含ま
れていないことが判定された場合には、該命令プリフェ
ッチ要求をキャンセルするようにしたものであるので、
分岐先命令のGBS,或いはLBS でのヒット率を向上させ、
当該計算機システムの性能を向上させる効果がある。
【0016】
【実施例】以下本発明の実施例を図面によって詳述す
る。前述の図1が本発明の一実施例のブロック図を示し
た図であり、図2は本発明による命令プリフェッチの動
作をタイムチヤートで示した図であり、図1における命
令プリフェッチキャンセル要求 2c と、該命令プリフェ
ッチキャンセル要求 2c を制御する為の判定回路 23,及
び関連機構が本発明を実施するのに必要な機能ブロック
である。尚、全図を通して同じ符号は同じ対象物を示し
ている。
【0017】本発明を実施しても、LBS 11,GBS 12,及び
主記憶装置(MS) 1に対する命令フェッチ動作,及び命令
プリフェッチ要求に伴うムーブイン動作は特に変わるこ
とはないので省略し、ここでは、上記命令プリフェッチ
キャンセル要求 2c に対する制御動作を中心にして、本
発明による命令プリフェッチ方法を、図2のタイムチヤ
ートを参照しながら図1によって説明する。
【0018】先ず、本発明においては、分岐命令直前の
命令プリフェッチ要求 2b を必ず実行し、該命令プリフ
ェッチ要求 2b によるムーブイン動作を、判定回路 23
によって有効としたり,或いはキャンセルするように制
御する所に特徴がある。
【0019】図2の実施例においては、例えば、該分岐
命令直前の命令プリフェッチアドレス{即ち、命令プリ
フェッチ要求 2b に伴うムーブインで、GBS 12等に転送
されてきたブロックのアドレス}と,分岐先の命令アド
レス(ターゲットフェッチアドレス)とを比較する判定
回路 23 が設けられており、両者がGBS 12, 或いは LBS
11 上で同じブロック(64バイト/ 128 バイト/256
バイト,又は32バイト)に属することが、T4のタイミン
グで判定された場合には、上記命令プリフェッチキャン
セル要求 2c に対する付勢を抑止することにより、該分
岐命令直前の命令プリフェッチ要求 2b を有効とし、同
じブロックでないことが判定された場合には、GBS 12,
或いは LBS 11 へのムーブイン直前に、該命令プリフェ
ッチ動作をキャンセルするように制御する。{具体的に
は、命令プリフェッチキャンセル要求(PF CANCEL) 2cを
発行する。:図2参照} このように制御することにより、分岐命令直前の命令プ
リフェッチアドレスと,分岐先命令アドレス(ターゲッ
トフェッチアドレス)とが、例えば、GBS 12上で同じブ
ロックに属する場合には、該分岐先命令フェッチ要求
(SA) 以前に、GBS 12への命令プリフェッチ動作(PFRQ)
を開始することができ、結果的には分岐先命令のGBS 12
上でのヒット率を向上させることができる。
【0020】このように、本発明は、分岐命令実行直前
の命令プリフェッチ要求を必ず実行しておき、該命令プ
リフェッチ要求に伴うGBS,或いはLBS へのムーブイン動
作を必要により抑止するのに、該命令プリフェッチ要求
をキャンセルする制御機構、例えば、命令の分岐先アド
レスの命令が、バッファストレージ(LBS, 又は、GBS)に
ムーブインされた命令プリフェッチ要求によるブロック
に含まれているか否かを判定する回路を設けて、該命令
プリフェッチ要求に対する有効,無効 (キャンセル) を
任意に制御できるようにした所に特徴がある。
【0021】尚、上記実施例においては、主記憶装置(M
S)と演算装置(CPU) との間に、高速小容量のバッファス
トレージ(LBS) と,中速大容量のバッファストレージ(G
BS)を設けた例で説明したが、本願発明は、このよう
な、多段構成のバッファストレージ(LBS,GBS) を備えた
計算機システムに限定されるものではなく、該LBS,GBS
のいずれかの1段構成の計算機システムであってもよい
ことはいう迄もないことである。
【0022】
【発明の効果】以上、詳細に説明したように、本発明の
命令プリフェッチ方法は、主記憶装置(MS)と演算装置(C
PU) との間に、例えば、高速小容量のバッファストレー
ジ(LBS) と,中速大容量のバッファストレージ(GBS) と
を持ち、更に、命令先取り(プリフェッチ) 要求に基づ
いて、命令プリフェッチ動作を行う回路, 及び命令バッ
ファを持つパイプライン制御の計算機システムにおい
て、分岐命令の分岐先アドレスの命令が上記命令プリフ
ェッチ要求によるムーブインによって、LBS,GBS に転送
されてきたブロックに含まれているか否かを判定する判
定回路を設けて、上記判定回路の判定内容に基づいて、
命令プリキャンセル要求を制御する手段を設けることに
より、該命令プリフェッチ要求が有効と判断された時に
は、該分岐命令直前のプリフェッチ要求を有効とするよ
うにしたものであるので、分岐先命令のGBS,或いはLBS
でのヒット率を上げ、当該計算機システムの性能を向上
させる効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例をブロック図で示した図
【図2】本発明による命令プリフェッチ動作をタイムチ
ャートで示した図
【図3】従来の命令プリフェッチ動作を説明する図(そ
の1)
【図4】従来の命令プリフェッチ動作を説明する図(そ
の2)
【符号の説明】
1 主記憶装置(MS) 11 バッファストレージ(LBS) 12 バッファストレージ(GBS) 11a LBS 制御部, 12a GBS 制御部 2 演算装置(CPU) 20 制御装置 2a 命令フェッチ要求 2b 命令プリフェッチ要求(PFRQ,RMSIP) 2c 命令プリフェッチキャンセル要求 21 命令バッファ, 23 判定回路,

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】主記憶装置(1) と演算装置(2) との間に、
    バッファストレージ(11,12) とを持ち、更に、命令先取
    り (プリフェッチ) 要求(2b)に基づいて動作する命令プ
    リフェッチ回路, 及び、命令バッファとを備えたパイプ
    ライン制御の計算機システムにおいて、 上記命令プリフェッチ要求(2b)によるムーブインで上記
    バッファストレージに転送されてきたブロック中に、該
    分岐命令の分岐先の命令アドレス(ターゲットフェッチ
    アドレス)の命令が含まれているか否かを判定する判定
    回路(23)を設けて、 該判定回路(23)で、該分岐先の命令アドレスの命令が、
    該命令プリフェッチ要求(2b)によってムーブインされた
    ブロック中に含まれていることが判定された場合には、
    該命令プリフェッチ要求(2b)を有効とし、該分岐先の命
    令アドレスの命令が、該命令プリフェッチ要求(2b)によ
    ってムーブインされたブロック中に含まれていないこと
    が判定された場合には、該命令プリフェッチ要求(2b)を
    キャンセルすることを特徴とする命令プリフェッチ方
    法。
JP13868692A 1992-05-29 1992-05-29 命令プリフェッチ方法 Expired - Fee Related JPH0713811B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13868692A JPH0713811B2 (ja) 1992-05-29 1992-05-29 命令プリフェッチ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13868692A JPH0713811B2 (ja) 1992-05-29 1992-05-29 命令プリフェッチ方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP4582886A Division JPS62203236A (ja) 1986-03-03 1986-03-03 命令プリフェッチ方法

Publications (2)

Publication Number Publication Date
JPH05216665A JPH05216665A (ja) 1993-08-27
JPH0713811B2 true JPH0713811B2 (ja) 1995-02-15

Family

ID=15227740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13868692A Expired - Fee Related JPH0713811B2 (ja) 1992-05-29 1992-05-29 命令プリフェッチ方法

Country Status (1)

Country Link
JP (1) JPH0713811B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4393317B2 (ja) 2004-09-06 2010-01-06 富士通マイクロエレクトロニクス株式会社 メモリ制御回路

Also Published As

Publication number Publication date
JPH05216665A (ja) 1993-08-27

Similar Documents

Publication Publication Date Title
JP2504830Y2 (ja) デ―タ処理装置
CN100541423C (zh) 在推测性处理器中减少执行涉及不可靠数据的指令的系统与方法
US7797494B2 (en) Arithmetic processor, information processing apparatus and memory access method in arithmetic processor
US5146570A (en) System executing branch-with-execute instruction resulting in next successive instruction being execute while specified target instruction is prefetched for following execution
JP3683248B2 (ja) 情報処理装置及び情報処理方法
JP2526017B2 (ja) ランタイム遅延削減方法及びデ―タ処理システム
JP2000056970A5 (ja)
US6308242B1 (en) Apparatus for adaptively controlling a prefetch queue based on various flush conditions
JPH0713811B2 (ja) 命令プリフェッチ方法
JPH07306785A (ja) 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法
JPH10124312A (ja) 中央処理装置
JPH1153188A (ja) 命令キャッシュ制御方式
JPS62203236A (ja) 命令プリフェッチ方法
JPH0342723A (ja) データ処理装置
JPH08286914A (ja) メモリ制御装置
JPH0827718B2 (ja) 情報処理装置
JPH01239638A (ja) 分岐予測を行う情報処理装置
JPS63221427A (ja) 分岐予測を行う情報処理装置
JP5679263B2 (ja) 情報処理装置及びマイクロ命令処理方法
JPH1145180A (ja) キャッシュ制御方式
JPH027128A (ja) 情報処理装置
JPH06168120A (ja) 命令先取り装置
JP2878526B2 (ja) プリフェッチ制御方式
JPH0227430A (ja) 分岐命令のフェッチ方式
JPH08212068A (ja) 情報処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19950808

LAPS Cancellation because of no payment of annual fees