JPH1153188A - 命令キャッシュ制御方式 - Google Patents

命令キャッシュ制御方式

Info

Publication number
JPH1153188A
JPH1153188A JP9204881A JP20488197A JPH1153188A JP H1153188 A JPH1153188 A JP H1153188A JP 9204881 A JP9204881 A JP 9204881A JP 20488197 A JP20488197 A JP 20488197A JP H1153188 A JPH1153188 A JP H1153188A
Authority
JP
Japan
Prior art keywords
instruction
address
branch destination
prefetch
cache
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
Application number
JP9204881A
Other languages
English (en)
Inventor
Takakazu Takeuchi
孝和 竹内
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.)
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe Ltd
Original Assignee
KOBE NIPPON DENKI SOFTWARE KK
NEC Software Kobe 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 KOBE NIPPON DENKI SOFTWARE KK, NEC Software Kobe Ltd filed Critical KOBE NIPPON DENKI SOFTWARE KK
Priority to JP9204881A priority Critical patent/JPH1153188A/ja
Publication of JPH1153188A publication Critical patent/JPH1153188A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】 分岐先命令のキャッシュヒット率を向上させ
ることにより、命令フェッチの高速化を図る。 【解決手段】 命令が実行されることによりプリフェッ
チバッファ4に空きができるとプリフェッチが起動され
る。非分岐命令キャッシュ2に対しプリフェッチアドレ
スを出力しプリフェッチを行う。現在実行している命令
の後続命令を実行する場合、このプリフェッチした命令
を実行する。分岐命令実行時、分岐が成立した場合、分
岐先命令キャッシュ1を参照し、ヒットした場合、分岐
先命令キャッシュ1から命令をフェッチする。ミスヒッ
トした場合、外部メモリより分岐先命令をフェッチする
と同時に同命令を分岐先命令キャッシュ1へ登録する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、命令キャッシュ制
御方式に関し、特に、分岐先命令の高速化を実現する命
令キャッシュ制御方式に関する。
【0002】
【従来の技術】従来の命令キャッシュでは命令のフェッ
チを効率よく行うために、キャッシュの大容量化を図る
方法が採られている。また、「特開平4−239342
号公報」、「特開昭62−224829号公報」記載の
技術のように、前回の分岐命令を実行した際の分岐方
向、分岐先アドレスを保持し、次回に同一分岐命令をプ
リフェッチした際に、前回保持した分岐方向により分岐
先命令をプリフェッチする命令キャッシュ制御方式があ
る。
【0003】
【発明が解決しようとする課題】上述した従来の技術に
おいては、分岐先命令、非分岐先命令にかかわらず全て
同じキャッシュに保持している。このため、分岐先命令
が非分岐先命令により上書きされてしまい、分岐先命令
のフェッチにおいて、キャッシュミスが発生する可能性
がある。したがって、分岐先の命令フェッチが遅れるた
め性能が大きく低下すると言う問題がある。
【0004】特に外部メモリのアクセスが性能の上限を
決定するような、いわゆる「バス・ネック」となるシス
テムにおいては、分岐先命令のキャッシュミスによる性
能の低下が著しい。その理由は、命令のリプレースの
際、分岐先命令に対する管理を行っていないからであ
る。
【0005】本発明の目的は、分岐先命令のキャッシュ
ヒット率を向上させることにより、命令フェッチの高速
化を図り、従来の分岐予測による分岐先命令のプリフェ
ッチに対してキャッシュ制御を容易にすることである。
【0006】
【課題を解決するための手段】本発明の第1の命令キャ
ッシュ制御方式は、プリフェッチアドレスによりプリフ
ェッチ先の命令を格納する非分岐先命令キャッシュと、
分岐命令の分岐成立時の分岐先命令のみを格納する分岐
先命令キャッシュとを備え、分岐命令実行時に、分岐が
成立した場合、前記分岐先命令キャッシュより分岐先命
令をフェッチする。
【0007】本発明の第2の命令キャッシュ制御方式
は、前記第1の命令キャッシュ制御方式であって、前記
非分岐先命令キャッシュおよび分岐先命令キャッシュ
が、命令のアドレスを格納する命令アドレスバッファ
と、前記命令アドレスバッファ内の各アドレスに対応す
る命令コードを格納する命令コードバッファとを備え
る。
【0008】本発明の第3の命令キャッシュ制御方式
は、前記第1または第2の命令キャッシュ制御方式であ
って、プリフェッチアドレスを保持し、前記非分岐先命
令キャッシュに対するアドレスを供給するプリフェッチ
アドレスレジスタと、前記非分岐先命令キャッシュおよ
び外部メモリからプリフェッチした命令を命令デコード
を待つ間一時的に保持するプリフェッチバッファと、分
岐先アドレスを保持し前記分岐先命令キャッシュに対す
るアドレスを供給する分岐先アドレスレジスタと、前記
分岐先命令キャッシュおよび前記プリフェッチバッファ
からの命令コードをデコードする命令デコーダと、前記
分岐先アドレスレジスタおよび前記プリフェッチアドレ
スレジスタにフェッチするアドレスを出力するアドレス
生成手段とを有する。
【0009】本発明の第4の命令キャッシュ制御方式
は、前記第1、第2または第3の命令キャッシュ制御方
式であって、前記プリフェッチバッファに空きがある場
合、プリフェッチが起動され、前記非分岐先命令キャッ
シュが検索され、ヒットすると、前記非分岐先命令キャ
ッシュから命令コードを前記プリフェッチバッファにロ
ードし、ミスヒットすると、外部メモリから命令コード
をプリフェッチし、前記プリフェッチバッファおよび前
記非分岐先命令キャッシュにロードする。
【0010】
【発明の実施の形態】次に、本発明の実施の形態につい
て図1、図2を参照して詳細に説明する。図1は本発明
の実施の形態を示すブロック図である。図1を参照する
と、本発明の実施の形態は、分岐先命令のみを保持する
分岐先命令キャッシュ1と、プリフェッチ先の命令を保
持する非分岐先命令キャッシュ2と、プリフェッチアド
レスを保持するプリフェッチアドレスレジスタ3と、複
数段のバッファで構成され、非分岐先命令キャッシュ2
および外部メモリからプリフェッチした命令を命令デコ
ードを待つ間一時的に保持するためのプリフェッチバッ
ファ4と、アドレス計算により求めた分岐先アドレスを
保持する分岐先アドレスレジスタ5と、命令デコーダ6
と、アドレス生成手段7とから構成される。
【0011】図2は、分岐先命令キャッシュ1および非
分岐先命令キャッシュ2の構成を示すブロック図であ
る。図2を参照すると、分岐先命令キャッシュ1は、分
岐先のアドレスを複数保持する命令アドレスバッファ1
1と、命令アドレスバッファ11で保持されるアドレス
に対応した命令のコードを含むメモリ部分を保持する命
令コードバッファ12と、命令アドレスバッファ11お
よび命令コードバッファ12がそれぞれ有効なデータを
保持していることを示す有効ビット13とから構成され
る。非分岐先命令キャッシュ2は、プリフェッチ先のア
ドレスを複数保持する命令アドレスバッファ21と、命
令アドレスバッファ21で保持されるアドレスに対応し
た命令のコードを含むメモリ部分を保持する命令コード
バッファ22と、命令アドレスバッファ21および命令
コードバッファ22がそれぞれ有効なデータを保持して
いることを示す有効ビット23とから構成される。
【0012】次に本発明の実施の形態の動作について図
3を参照して説明する。図3は本発明の実施の形態の動
作を示すフローチャートである。命令が処理されるとさ
れると、プリフェッチバッファ4から命令デコーダ6へ
命令がロードされる。このときアドレス生成手段7は、
フェッチしたバイト数をプリフェッチアドレスに加算し
プリフェッチアドレスレジスタ3を更新する(図3の3
01)。次に命令デコーダ6でロードされた命令がデコ
ードされる(図3の302)。そしてプリフェッチバッ
ファ4に空きができると(図3の303のYES)、プ
リフェッチが起動される。301で更新されたプリフェ
ッチアドレスにより非分岐先命令キャッシュ2が検索さ
れる(図3の304)。
【0013】キャッシュヒットした場合、すなわち、プ
リフェッチアドレスレジスタ3のアドレスと非分岐先命
令キャッシュ2の命令アドレスバッファ21のアドレス
が一致し、かつ、そのアドレスが一致したエントリの有
効ビット23が有効であることを示している場合、命令
コードバッファ22に格納されているデータがプリフェ
ッチバッファ4にロードされる(図3の305)。
【0014】ミスヒットした場合、すなわち、プリフェ
ッチアドレスレジスタ3のアドレスと非分岐先命令キャ
ッシュ2の命令アドレスバッファ21のアドレスが一致
しなかった、もしくは、プリフェッチアドレスレジスタ
3と命令アドレスバッファ21は一致したが、そのエン
トリの有効ビット23が有効でないことを示している場
合、外部メモリに対してプリフェッチアドレスを出力し
命令フェッチを行う。フェッチされた命令は、直接、経
路10を通ってプリフェッチバッファ4にロードされる
と同時に、非分岐先命令キャッシュ2にも登録される。
プリフェッチアドレスが命令アドレスバッファ21に登
録され、外部メモリからフェッチした命令が命令コード
バッファ22にロードされ、有効ビット23が有効にさ
れる(図3の306)。
【0015】また、分岐命令実行時、アドレス生成手段
7において生成された分岐先アドレス(図3の307)
を分岐先アドレスレジスタ5にロードする(図3の30
8、309)。分岐成立時(図3の310のYES)、
分岐先アドレスレジスタ5のアドレスにより分岐先命令
キャッシュ1の検索が行われる(図3の311)。キャ
ッシュヒットした場合、すなわち、分岐先アドレスレジ
スタ5のアドレスと分岐先命令キャッシュ1の命令アド
レスバッファ11のアドレスが一致し、かつそのエント
リの有効ビット13が有効であることを示している場
合、命令コードバッファ12に格納されているデータ
が、経路8を通って命令デコーダ6にロードされる(図
3の312)。
【0016】ミスヒットした場合、すなわち、分岐先ア
ドレスレジスタ5と分岐先命令キャッシュ1の命令アド
レスバッファ11のアドレスが一致しなかった、もしく
は、一致したが、そのエントリの有効ビット13が有効
でなかった場合、外部メモリに対して分岐先アドレスを
出力し命令フェッチを行う。フェッチされた命令は、直
接、経路9を通って命令デコーダ6へロードされると同
時に、分岐先命令キャッシュ1にも登録される。分岐先
アドレスが命令アドレスバッファ11に登録され、外部
メモリよりフェッチした命令が命令コードバッファ12
にロードされ、有効ビット13が有効にされる(図3の
313)。
【0017】次に、プリフェッチバッファ4のデータを
無効化し、同時にアドレス生成手段7においてプリフェ
ッチアドレスの生成を行う。分岐先アドレスに312、
313でフェッチした命令の命令長を加算し、プリフェ
ッチアドレスレジスタ3にロードする(図3の31
4)。これにより、分岐先の後続命令のプリフェッチが
始まる(図3の303)。分岐不成立時、後続命令の実
行に伴う前記のプリフェッチ動作を行う(図3の30
1)。
【0018】
【発明の効果】本発明の効果は、分岐成立時、分岐先命
令のキャッシュヒット率が高くなり、その結果、命令フ
ェッチを効率よく行うことが可能となることである。特
に外部メモリからのフェッチ速度が情報処理装置の性能
の上限を決定してしまうシステムの場合に有効である。
その理由は、命令キャッシュを分岐先命令のみを保持す
る分岐先命令キャッシュとプリフェッチ先の命令を保持
する非分岐先命令キャッシュに分けることにより、分岐
先命令が非分岐先命令によってリプレースされることが
無くなるからである。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すブロック図である。
【図2】分岐先命令キャッシュおよび非分岐先命令キャ
ッシュの構成を示すブロック図である。
【図3】本発明の実施の形態の動作を示すフローチャー
トである。
【符号の説明】
1 分岐先命令キャッシュ 2 非分岐先命令キャッシュ 3 プリフェッチアドレスレジスタ 4 プリフェッチバッファ 5 分岐先アドレスレジスタ 6 命令デコーダ 7 アドレス生成手段 8 経路 9 経路 10 経路 11、21 命令アドレスバッファ 12、22 命令コードバッファ 13、23 有効ビット

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 プリフェッチアドレスによりプリフェッ
    チ先の命令を格納する非分岐先命令キャッシュと、分岐
    命令の分岐成立時の分岐先命令のみを格納する分岐先命
    令キャッシュとを備え、分岐命令実行時に、分岐が成立
    した場合、前記分岐先命令キャッシュより分岐先命令を
    フェッチすることを特徴とする命令キャッシュ制御方
    式。
  2. 【請求項2】 前記非分岐先命令キャッシュおよび分岐
    先命令キャッシュが、命令のアドレスを格納する命令ア
    ドレスバッファと、前記命令アドレスバッファ内の各ア
    ドレスに対応する命令コードを格納する命令コードバッ
    ファとを備えることを特徴とする請求項1記載の命令キ
    ャッシュ制御方式。
  3. 【請求項3】 プリフェッチアドレスを保持し、前記非
    分岐先命令キャッシュに対するアドレスを供給するプリ
    フェッチアドレスレジスタと、前記非分岐先命令キャッ
    シュおよび外部メモリからプリフェッチした命令を命令
    デコードを待つ間一時的に保持するプリフェッチバッフ
    ァと、分岐先アドレスを保持し前記分岐先命令キャッシ
    ュに対するアドレスを供給する分岐先アドレスレジスタ
    と、前記分岐先命令キャッシュおよび前記プリフェッチ
    バッファからの命令コードをデコードする命令デコーダ
    と、前記分岐先アドレスレジスタおよび前記プリフェッ
    チアドレスレジスタにフェッチするアドレスを出力する
    アドレス生成手段とを有することを特徴とする請求項1
    または2記載の命令キャッシュ制御方式。
  4. 【請求項4】 前記プリフェッチバッファに空きがある
    場合、プリフェッチが起動され、前記非分岐先命令キャ
    ッシュが検索され、ヒットすると、前記非分岐先命令キ
    ャッシュから命令コードを前記プリフェッチバッファに
    ロードし、ミスヒットすると、外部メモリから命令コー
    ドをプリフェッチし、前記プリフェッチバッファおよび
    前記非分岐先命令キャッシュにロードすることを特徴と
    する請求項1または2または3記載の命令キャッシュ制
    御方式。
JP9204881A 1997-07-30 1997-07-30 命令キャッシュ制御方式 Pending JPH1153188A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9204881A JPH1153188A (ja) 1997-07-30 1997-07-30 命令キャッシュ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9204881A JPH1153188A (ja) 1997-07-30 1997-07-30 命令キャッシュ制御方式

Publications (1)

Publication Number Publication Date
JPH1153188A true JPH1153188A (ja) 1999-02-26

Family

ID=16497951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9204881A Pending JPH1153188A (ja) 1997-07-30 1997-07-30 命令キャッシュ制御方式

Country Status (1)

Country Link
JP (1) JPH1153188A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147807A (ja) * 1999-10-01 2001-05-29 Hitachi Ltd 改良された分岐制御命令を利用するためのマイクロプロセッサ、分岐目標命令メモリ、命令ロード制御回路、パイプラインへの命令供給維持方法、分岐制御メモリ、およびプロセッサ
CN117573574A (zh) * 2024-01-15 2024-02-20 北京开源芯片研究院 一种预取方法、装置、电子设备及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001147807A (ja) * 1999-10-01 2001-05-29 Hitachi Ltd 改良された分岐制御命令を利用するためのマイクロプロセッサ、分岐目標命令メモリ、命令ロード制御回路、パイプラインへの命令供給維持方法、分岐制御メモリ、およびプロセッサ
CN117573574A (zh) * 2024-01-15 2024-02-20 北京开源芯片研究院 一种预取方法、装置、电子设备及可读存储介质
CN117573574B (zh) * 2024-01-15 2024-04-05 北京开源芯片研究院 一种预取方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US5507028A (en) History based branch prediction accessed via a history based earlier instruction address
JP3095802B2 (ja) 性能向上命令キャッシュを備えるデータ処理システム
JP3518770B2 (ja) 命令をその少なくとも1つの実行装置へ迅速にディスパッチする方法および装置
US20050278505A1 (en) Microprocessor architecture including zero impact predictive data pre-fetch mechanism for pipeline data memory
US20080294867A1 (en) Arithmetic processor, information procesing apparatus and memory access method in arithmetic processor
US5941981A (en) System for using a data history table to select among multiple data prefetch algorithms
KR19980034443A (ko) 슈퍼 스칼라 마이크로 프로세서의 효율적인 비티비(btb) 방법
JPS6323586B2 (ja)
JP2560889B2 (ja) マイクロプロセッサ
CN101164043A (zh) 前视分支目标地址高速缓存
US6684319B1 (en) System for efficient operation of a very long instruction word digital signal processor
EP0655679B1 (en) Method and apparatus for controlling instruction in pipeline processor
JP3486690B2 (ja) パイプライン方式プロセッサ
JP3683248B2 (ja) 情報処理装置及び情報処理方法
US9507600B2 (en) Processor loop buffer
JPH0773104A (ja) キャッシュ・システム
JP3811140B2 (ja) 情報処理装置
US20080065870A1 (en) Information processing apparatus
JPH07306785A (ja) 分岐命令実行機能を持つプロセッサおよび分岐命令制御方法
KR19990003937A (ko) 프리페치 장치
JP4413663B2 (ja) 命令キャッシュシステム
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
US20040083349A1 (en) System for allowing only a partial value prediction field/cache size
JPH10283185A (ja) プロセッサ
JP4049490B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19990525