JPH08286914A - メモリ制御装置 - Google Patents

メモリ制御装置

Info

Publication number
JPH08286914A
JPH08286914A JP7108220A JP10822095A JPH08286914A JP H08286914 A JPH08286914 A JP H08286914A JP 7108220 A JP7108220 A JP 7108220A JP 10822095 A JP10822095 A JP 10822095A JP H08286914 A JPH08286914 A JP H08286914A
Authority
JP
Japan
Prior art keywords
instruction
memory
address
branch
memory block
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
JP7108220A
Other languages
English (en)
Inventor
Hirohisa Amagasaki
浩久 尼崎
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP7108220A priority Critical patent/JPH08286914A/ja
Publication of JPH08286914A publication Critical patent/JPH08286914A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 命令中に分岐命令が存在する場合でも命令プ
リフェッチの効率を高めるメモリ制御装置の提供。 【構成】主メモリ105又は命令プリフェッチバッファ107
から命令キャッシュメモリ103へ転送される命令をデコ
ードし命令が分岐命令であるか否かを検出すると共に、
命令が分岐命令である場合に分岐先アドレスを生成出力
するデコード手段110と、デコード手段の出力に基づき
次にプリフェッチするメモリブロックのアドレスを決定
する制御手段113と、を備え、デコード手段は、CPU1
01が必要とする命令が命令キャッシュメモリ中に存在し
ない場合に命令を主メモリ又は命令プリフェッチバッフ
ァから命令キャッシュメモリへ転送する際に、転送中の
命令をデコードし、分岐命令を検出した際分岐先アドレ
スの命令を含むメモリブロックをプリフェッチする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリ制御装置に関し、
特に情報処理装置の主メモリと命令キャッシュメモリと
の間の転送制御に関する。
【0002】
【従来の技術】命令キャッシュ、命令プリフェッチバッ
ファ、及び主メモリの階層構造を備えた情報処理装置の
従来のメモリ制御装置においては、プリフェッチされる
メモリブロックは最後にアクセスした(Most Recently
Used、最も最近使用されたの意味で「MRU」ともい
う)メモリブロック(所定ワード数からなる)の次のア
ドレスのメモリブロックとされていた。例えばアドレス
に従った集合として順序付けられたメモリ中のブロック
を想定し、メモリブロックLiをアクセスする時に、通
常プログラムの振舞の局所性等から次のメモリブロック
Li+1が命令キャッシュ及び命令プリフェッチバッフ
ァ中に存在しない場合メモリブロックLi+1が主メモ
リからプリフェッチされる。
【0003】
【発明が解決しようとする課題】前記従来のメモリ制御
装置においては、CPUが実行する命令中に分岐命令が
含まれている場合、プリフェッチした命令が無駄になる
場合がある。すなわち、分岐先アドレスの命令の写し
(コピー)が命令キャッシュメモリ内に存在せず、また
命令プリフェッチバッファにも存在しない場合には該ア
ドレスの命令を含むメモリブロックを新たに主メモリか
らリードする(読み出す)ことが必要とされ、既にプリ
フェッチした命令が無駄になる。キャッシュメモリを備
えた高速プロセッサの処理能力はキャッシュメモリに対
する高いヒット率に依存し、分岐命令実行時には処理性
能が低下する場合があるという問題がある。
【0004】また、メモリ制御装置が主メモリから命令
をプリフェッチしている最中にCPUから分岐先の命令
の要求が来た場合に、進行中のメモリ読み出し動作を中
断して分岐先の命令を含むメモリブロックを主メモリか
らリードしなければならず、命令要求から命令の転送終
了までに要する時間が、プリフェッチ機能を持たないメ
モリ制御装置よりも長くなるという問題がある。
【0005】従って、本発明は上記問題点を解消し、実
行命令中に分岐命令が存在する場合でも命令プリフェッ
チの効率を向上するメモリ制御装置を提供することを目
的とする。
【0006】
【課題を解決するための手段】前記目的を達成するため
本発明は、キャッシュメモリの前段に配置され、前記キ
ャッシュメモリに転送される分岐命令を検出し、分岐先
のアドレスを生成出力するデコード手段を備えると共
に、前記デコード手段の出力に基づき次にプリフェッチ
するメモリブロックのアドレスを決定する手段と、を備
えたことを特徴とするメモリ制御装置を提供する。
【0007】本発明は、好ましくは、CPUと、命令キ
ャッシュメモリと、命令プリフェッチバッファと、主メ
モリと、を備えた情報処理装置において、前記主メモリ
又は前記命令プリフェッチバッファから前記命令キャッ
シュメモリへ転送される命令をデコードし前記命令が分
岐命令であるか否かを検出すると共に、前記命令が分岐
命令である場合に分岐先アドレスを生成出力するデコー
ド手段と、前記デコード手段の出力に基づき次にプリフ
ェッチするメモリブロックのアドレスを決定する制御手
段と、を備えたことを特徴とする。
【0008】本発明のメモリ制御装置は、好ましい態様
として、前記デコード手段が、前記主メモリの出力と前
記命令プリフェッチバッファの出力のいずれか一を選択
出力するセレクタの出力を入力とし、且つ前記命令キャ
ッシュメモリの前段に配置され、前記CPUが必要とす
る命令が前記命令キャッシュメモリ中に存在せず、且つ
前記命令プリフェッチバッファに前記命令を含むメモリ
ブロックが存在しない場合において前記命令を前記主メ
モリ又は前記命令プリフェッチバッファから前記命令キ
ャッシュメモリへ転送する際に、転送中の前記命令をデ
コードするように構成される。
【0009】本発明においては、好ましくは、前記制御
手段が、前記デコード手段から出力される分岐命令検出
信号がアクティブ状態のときに、前記分岐先アドレスを
含むメモリブロックのアドレスを次にプリフェッチする
メモリブロックのアドレスとして前記主メモリから読み
出すことを特徴とする。
【0010】本発明においては、好ましくは、前記制御
手段が、メモリブロック転送中において前記デコード手
段から出力される前記分岐命令の検出信号がインアクテ
ィブ状態の時には、転送した前記メモリブロックの次の
メモリブロックのアドレスを次にプリフェッチするメモ
リブロックのアドレスとして前記主メモリから読み出す
ことを特徴とする。
【0011】
【作用】本発明によれば、主メモリから命令キャッシュ
メモリへ転送中の命令をデコードし、分岐命令がある場
合には分岐先アドレスの命令を主メモリからプリフェッ
チして命令プリフェッチバッファに格納し、CPUにお
ける該分岐命令の実行時に分岐先アドレスの命令が命令
キャッシュメモリに存在しない場合において主メモリを
新たにリードすることなくプリフェッチバッファから命
令を供給するようにしたことにより、プリフェッチの効
率を改善し、処理性能を向上している。
【0012】
【実施例】図面を参照して、本発明の実施例を以下に説
明する。
【0013】図1は本発明の一実施例の構成を示す図で
ある。図1において、101はCPU(中央演算処理装
置)、102はCPUバス、103は命令キャッシュメ
モリ、104はシステムバス、105は主メモリ、10
6はメモリデータバス、107はプリフェッチバッフ
ァ、108はデータセレクタ、109はデコーダ入力、
110は分岐命令デコーダ回路、111は分岐命令検出
信号、112は分岐オフセット、113はメモリ制御装
置(コントローラ)、114はメモリ制御信号、115
はメモリアドレス信号である。
【0014】CPU101が命令を要求すると、要求さ
れた命令アドレスのメモリの写し(コピー)が命令キャ
ッシュメモリ103中に存在する場合(キャッシュ・ヒ
ット時)には、要求された命令がCPUバス102を経
由してCPU101へ供給される。
【0015】一方、命令キャッシュメモリ103中に要
求された命令アドレスのメモリのコピーが存在せず、且
つプリフェッチバッファ107に要求された命令を含む
メモリブロックが存在しない場合、メモリ制御装置11
3は要求された命令を含むメモリブロックのリード(読
み出し)を主メモリ105に対して行う。
【0016】主メモリ105から読み出されたメモリブ
ロックはメモリデータバス106、データセレクタ10
8、システムバス104を経由し、命令キャッシュメモ
リ103に格納される。同時にCPU101が要求した
命令はCPUバス102を経由してCPU101へ供給
される。
【0017】要求された命令を含むメモリブロックが主
メモリ105から命令キャッシュメモリ103へ転送さ
れている間、デコーダ回路110は、転送されている命
令を逐次デコードし、転送中の命令が分岐命令(Branch
又はJump命令)である場合には分岐命令検出信号111
をアサートする(即ちアクティブ状態とする)。
【0018】メモリ制御装置113は、メモリブロック
転送中に分岐命令検出信号111がアサートされた場合
には、現在転送中の命令(分岐命令)のアドレスと分岐
オフセット112を加算し、これをプリフェッチのため
にリードするメモリブロックのアドレス(メモリアドレ
ス信号)115とする。ここでは、分岐命令は、オペラ
ンドに分岐オフセット値を指定し、分岐先アドレスは分
岐命令のアドレスにオフセット値を加算して決定される
アドレッシング方式とする。
【0019】メモリブロック転送中に分岐命令検出信号
111がアサートされなかった場合には、転送したメモ
リブロックの次のメモリブロックのアドレスを、プリフ
ェッチするためにリードするメモリブロックのアドレス
とする。
【0020】メモリ制御装置113は、現在転送中のメ
モリブロックの転送が終了し次第、プリフェッチのため
のメモリブロックのリード動作を行い、主メモリ105
から読み出しメモリブロックをプリフェッチバッファ1
07に格納する。
【0021】CPU101が命令キャッシュメモリ10
3中に転送された分岐命令を実行し、分岐先アドレスの
命令が命令キャッシュメモリ103にない場合は主メモ
リ105をリードすることなくプリフェッチバッファ1
07から命令を供給する。
【0022】プリフェッチのための主メモリ105のリ
ード動作中に、CPU101から現在プリフェッチ中の
メモリブロックと異なるアドレスのメモリブロックに含
まれる命令が要求された場合には、プリフェッチ動作を
中止し、CPU101から要求された命令を含むメモリ
ブロックのリード動作を行う。
【0023】以上、本発明を上記実施例に即して説明し
たが、本発明は上記態様にのみ限定されるものでなく、
本発明の原理に準ずる各種態様を含むことは勿論であ
る。例えば、CPUの命令セットにおける分岐命令の分
岐先アドレスのアドレス決定方式は上記実施例に示した
分岐命令のアドレスに分岐オフセットを加算する方式に
限定されない。また、本発明は、FIFO(先入れ先出
し)構成のレジスタ等で構成される命令キュー、命令プ
リフェッチバッファ、主メモリからなる階層構造をとる
高速マイクロプロセッサ等の情報処理装置に対しても適
用できる。
【0024】
【発明の効果】以上説明したように、本発明によれば、
命令キャッシュメモリへ転送中の命令をデコードし、分
岐命令がある場合には分岐先の命令をプリフェッチする
ことにより、プリフェッチの効率を改善し、処理性能を
向上させるという効果を有する。特に、本発明によれ
ば、命令キャッシュメモリに転送された命令をCPUが
実行する段階では分岐先アドレスを含むメモリブロック
はプリフェッチバッファに既に格納されているため、メ
モリブロックを主メモリから読み出すことが不要とさ
れ、分岐命令実行の際の処理性能の低下を抑止してい
る。
【図面の簡単な説明】
【図1】本発明の一実施例の構成を示す図である。
【符号の説明】
101 CPU 102 CPUバス 103 命令キャッシュメモリ 104 システムバス 105 主メモリ 106 メモリデータバス 107 プリフェッチバッファ 108 データセレクタ 109 デコーダ入力 110 分岐命令デコーダ回路 111 分岐命令検出信号 112 分岐オフセット 113 メモリ制御手段 114 メモリ制御信号 115 メモリアドレス信号

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】キャッシュメモリの前段に配置され、前記
    キャッシュメモリに転送される分岐命令を検出し、分岐
    先のアドレスを生成出力するデコード手段を備えると共
    に、 前記デコード手段の出力に基づき次にプリフェッチする
    メモリブロックのアドレスを決定する手段と、 を備えたことを特徴とする情報処理装置のメモリ制御装
    置。
  2. 【請求項2】CPUと、命令キャッシュメモリと、命令
    プリフェッチバッファと、主メモリと、を備えた情報処
    理装置において、 前記主メモリ又は前記命令プリフェッチバッファから前
    記命令キャッシュメモリへ転送される命令をデコードし
    前記命令が分岐命令であるか否かを検出すると共に、前
    記命令が分岐命令である場合に分岐先アドレスを生成出
    力するデコード手段と、 前記デコード手段の出力に基づき次にプリフェッチする
    メモリブロックのアドレスを決定する制御手段と、 を備えたことを特徴とするメモリ制御装置。
  3. 【請求項3】前記デコード手段が、前記主メモリの出力
    と前記命令プリフェッチバッファの出力のいずれか一を
    選択出力するセレクタの出力を入力とし、且つ前記命令
    キャッシュメモリの前段に配置され、 前記CPUが必要とする命令が前記命令キャッシュメモ
    リ中に存在しない場合において前記命令を前記主メモリ
    又は前記命令プリフェッチバッファから前記命令キャッ
    シュメモリへ転送する際に、 転送中の前記命令を入力しこれをデコードするように構
    成されたことを特徴とする請求項2記載のメモリ制御装
    置。
  4. 【請求項4】前記制御手段が、前記デコード手段から出
    力される分岐命令検出信号がアクティブ状態のときに、
    前記分岐先アドレスを含むメモリブロックのアドレスを
    次にプリフェッチするメモリブロックのアドレスとして
    前記主メモリから読み出すことを特徴とする請求項2記
    載のメモリ制御装置。
  5. 【請求項5】前記制御手段が、メモリブロック転送中に
    おいて前記デコード手段から出力される前記分岐命令の
    検出信号がインアクティブ状態の時には、転送した前記
    メモリブロックの次のメモリブロックのアドレスを次に
    プリフェッチするメモリブロックのアドレスとして前記
    主メモリから読み出すことを特徴とする請求項2記載の
    メモリ制御装置。
JP7108220A 1995-04-07 1995-04-07 メモリ制御装置 Pending JPH08286914A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7108220A JPH08286914A (ja) 1995-04-07 1995-04-07 メモリ制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7108220A JPH08286914A (ja) 1995-04-07 1995-04-07 メモリ制御装置

Publications (1)

Publication Number Publication Date
JPH08286914A true JPH08286914A (ja) 1996-11-01

Family

ID=14479090

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7108220A Pending JPH08286914A (ja) 1995-04-07 1995-04-07 メモリ制御装置

Country Status (1)

Country Link
JP (1) JPH08286914A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502238A (ja) * 2000-06-29 2004-01-22 モトローラ・インコーポレイテッド 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法
JP2007207246A (ja) * 2006-02-03 2007-08-16 Internatl Business Mach Corp <Ibm> 命令ラインのための自己プリフェッチl2キャッシュ機構

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60103454A (ja) * 1983-11-09 1985-06-07 Matsushita Electric Ind Co Ltd 命令先読み制御装置
JPS63172343A (ja) * 1987-01-12 1988-07-16 Hitachi Ltd 命令先取り方式
JPH02157939A (ja) * 1988-12-09 1990-06-18 Toshiba Corp 命令処理方法及び命令処理装置
JPH03147134A (ja) * 1989-11-02 1991-06-24 Oki Electric Ind Co Ltd 命令シーケンス制御装置
JPH0773104A (ja) * 1993-07-01 1995-03-17 Internatl Business Mach Corp <Ibm> キャッシュ・システム
JPH08123723A (ja) * 1994-08-30 1996-05-17 Mitsubishi Electric Corp 先行読出機能付命令キャッシュメモリ

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60103454A (ja) * 1983-11-09 1985-06-07 Matsushita Electric Ind Co Ltd 命令先読み制御装置
JPS63172343A (ja) * 1987-01-12 1988-07-16 Hitachi Ltd 命令先取り方式
JPH02157939A (ja) * 1988-12-09 1990-06-18 Toshiba Corp 命令処理方法及び命令処理装置
JPH03147134A (ja) * 1989-11-02 1991-06-24 Oki Electric Ind Co Ltd 命令シーケンス制御装置
JPH0773104A (ja) * 1993-07-01 1995-03-17 Internatl Business Mach Corp <Ibm> キャッシュ・システム
JPH08123723A (ja) * 1994-08-30 1996-05-17 Mitsubishi Electric Corp 先行読出機能付命令キャッシュメモリ

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004502238A (ja) * 2000-06-29 2004-01-22 モトローラ・インコーポレイテッド 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法
JP4748918B2 (ja) * 2000-06-29 2011-08-17 フリースケール セミコンダクター インコーポレイテッド 復号された情報を格納し且つ供給するキャッシュを有する装置及びそのように行う方法
JP2007207246A (ja) * 2006-02-03 2007-08-16 Internatl Business Mach Corp <Ibm> 命令ラインのための自己プリフェッチl2キャッシュ機構

Similar Documents

Publication Publication Date Title
US6959367B2 (en) System having read-modify-write unit
JPH10232827A (ja) 先取りキャッシュ書戻しの方法と装置
JP2008186233A (ja) 命令キャッシュプリフェッチ制御方法及びその装置
JPH0816394A (ja) システムメモリから命令コードを先取りするための先取り装置および方法
JP3683248B2 (ja) 情報処理装置及び情報処理方法
JP3867427B2 (ja) プロセッサ装置および集積回路
US6308242B1 (en) Apparatus for adaptively controlling a prefetch queue based on various flush conditions
JP2004192021A (ja) マイクロプロセッサ
JPH11232171A (ja) 情報処理システム
JPH08286914A (ja) メモリ制御装置
JP4111645B2 (ja) キャッシュミスした後のメモリバスアクセス制御方式
JPH02287828A (ja) プリフェッチ制御方式
JPH0342723A (ja) データ処理装置
US20040103267A1 (en) Data processor having cache memory
JPH027128A (ja) 情報処理装置
JP2685664B2 (ja) 情報処理装置
JPH01193938A (ja) 命令先読み装置
JPH10187531A (ja) キャッシュメモリのプリフェッチ方式
JPH1145180A (ja) キャッシュ制御方式
JPH04188226A (ja) 命令先読み制御装置
JP2003076609A (ja) メモリアクセス装置及び方法
JPS63148329A (ja) 命令先取り制御方式
KR20000010200A (ko) 명령어 디코딩 경로를 줄인 명령어 디코딩 장치
JP2002222115A (ja) メモリシステム
JPH0361213B2 (ja)

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970415