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
JPH0456345B2 - - Google Patents
[go: Go Back, main page]

JPH0456345B2 - - Google Patents

Info

Publication number
JPH0456345B2
JPH0456345B2 JP62110868A JP11086887A JPH0456345B2 JP H0456345 B2 JPH0456345 B2 JP H0456345B2 JP 62110868 A JP62110868 A JP 62110868A JP 11086887 A JP11086887 A JP 11086887A JP H0456345 B2 JPH0456345 B2 JP H0456345B2
Authority
JP
Japan
Prior art keywords
cache
request
address
signal
req
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 - Lifetime
Application number
JP62110868A
Other languages
Japanese (ja)
Other versions
JPS63276643A (en
Inventor
Kazue Yamaguchi
Hideki Oosone
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 JP62110868A priority Critical patent/JPS63276643A/en
Publication of JPS63276643A publication Critical patent/JPS63276643A/en
Publication of JPH0456345B2 publication Critical patent/JPH0456345B2/ja
Granted legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 〔概要〕 本発明は、小容量の高速なキヤツシユ・メモリ
を用いて等価的に大容量の高速なメモリを実現す
るキヤツシユ・メモリの制御方式に関する。キヤ
ツシユ・メモリを中央処理装置(CPU)内に有
する計算機システムに於いて、主記憶装置へのブ
ロツクフエツチで、従来は、キヤツシユにデータ
がなくキヤツシユ・ミスを起した要求の直後の要
求アドレスは無視されずプリフエツチの対象とし
て処理されていたが、それ以後の要求アドレスは
無視されていた。本発明はキヤツシユ・ミスを起
した要求の直後の要求、あるいはさらにその後の
要求をプリフエツチの対象として処理可能とし、
プリフエツチ機能の向上を図るものである。 〔産業上の利用分野〕 本発明は、中央処理装置内における命令()
ユニツトからのオペランドアクセス要求に対しS
(Storage)ユニツトが行うキヤツシユ・ミスの
要求に後続する要求アドレスを保持するためのプ
リフエツチ機能に係り、特にCPU内のキヤツシ
ユ・メモリの制御主記憶読出しポートの制御およ
びプリフエツチ制御に関する。 〔従来技術〕 計算機システムにおいて、中央処理装置
(CPU)内のキヤツシユ・メモリアクセス時間に
対し、主記憶装置に対するアクセス時間は非常に
大きい。計算機システムの処理能力の向上をはか
るためにはアクセス時間の小さいキヤツシユ・メ
モリ内に有効なデータを主記憶装置より効率よく
転送する必要がある。 中央処理装置(CPU)と主記憶装置(MSU)
との中間に置く小容量で高速なメモリをキヤツシ
ユ・メモリ(Cache Memory)という。メモリ
は一般に高速なほど高価格なので大容量な主記憶
メモリ(以後主メモリと呼ぶ)を全て高速なメモ
リで構成するのは経済的でない。そのため、小容
量の高速なキヤツシユ・メモリを用いて等価的に
大容量の高速なメモリを実現するキヤツシユ・メ
モリ方式は特に大型計算機の処理速度を向上する
ために極めて重要な技術である。主メモリに格納
している命令(インストラクシヨン)やオペラン
ドデータの中でさしあたり使用する部分をキヤツ
シユ・メモリに格納する。CPUが命令を実行す
るとき、CPUは最初にキヤツシユ・メモリにア
ドレスを与える。キヤツシユ・メモリ内にそのア
ドレスがあればキヤツシユ・ヒツト、なければキ
ヤツシユ・ミスが起こる。キヤツシユ・ヒツトし
ている間はCPUはキヤツシユ・メモリだけを参
照するので高速処理が可能となる。キヤツシユ・
ミスの場合にはCPUは命令の実行を中断し、キ
ヤツシユ・メモリの内容と主メモリの内容を交換
する。 キヤツシユ・メモリの各ユニツトの構成単位は
「ブロツク」と呼ばれ、1ブロツクは数ワードか
ら構成される。キヤツシユ・メモリと主メモリの
内容を交換する場合にはブロツク単位で実行され
る。また、キヤツシユ・ミスの場合、CPUが書
込み実行の場合には、その時点で書込み内容をキ
ヤツシユ・メモリに書込み、内容交換時に全ブロ
ツクを主メモリに書込むスワツプ方式と、書込み
が行われる毎にキヤツシユ・メモリと主メモリに
共に書込みを実行するストア・スルー方式があ
る。 第1図はキヤツシユ・メモリを用いる場合の計
算機システム構成である。CPU10は命令に関
する制御を行うI(Instruction)ユニツト10
0、オペランドデータに対して演算を実行するE
(Execution)ユニツト101、及びキヤツシ
ユ・メモリや主メモリに対するメモリの読出しや
書込みの制御で特にIユニツト100からの要求
に対してキヤツシユのヒツトとミスにおける制御
を行うS(Storage)ユニツト102から構成さ
れる。CPU10はSユニツト102を介して
MCU11(Main Storage Control Unit(主記
憶制御装置))に接続され、MCU11はユニツト
102からの要求に従い主メモリのあるMSU1
2(Main Storage Unit(主記憶装置))の読書
き動作の制御を実行する。Iユニツト100から
Sユニツト102にオペランドの要求信号(OP
REQ)とオペランドの要求に対するるフエツ
チアドレス(OP REQ ADRS)が送出され
る。またIユニツト100からSユニツト102
に命令フエツチの要求信号(IF REQ)と命令
フエツチの要求に対するアドレス(IF REQ
ADRS)が送出される。その要求に答えるため、
Sユニツト102は内部にあるオペランド或いは
命令用のキヤツシユ・メモリを調べ、キヤツシ
ユ・メモリにその内容がある場合、すなわちキヤ
ツシユ・ヒツトの場合には、OP STV
(Operand Status Valid)信号或いはIF STV
(Instruction Fetch Status Valid)信号をIユ
ニツト100に返す。このときはIユニツトはキ
ヤツシユ・メモリに対して読書きが可能となる。
Iユニツト100はキヤツシユ・メモリから命令
をIF CACHE DATAとして受け取る。また、
Eユニツト101はキヤツシユ・メモリからオペ
ランドをOP CACHE DATAとして受け取る。
キヤツシユ・ミスの場合はそれぞれオペランドに
対するOP LMD(Operand Line Missing
Ditect)信号や命令に対するIF LMD
(Instruction Fetch Line Missing Ditect)信号
を返す。この時にはキヤツシユ・メモリに要求し
た内容はないため、Sユニツト102はMCU1
1に対してMS REQ信号を出して主メモリの参
照の要求を行い、それと同時に、MS REQ
ADRSの参照アドレスを与える。また、要求に対
する識別信号のREQ ID信号も送出する。そし
てMCU11はMSU12の主メモリにアクセスす
る。REQ IDによつてオペランドのブロツクフ
エツチ、命令のブロツクフエツチ、オペランドの
プリフエツチ、Translationのブロツクフエツチ
などが識別される。MCU11からSユニツト1
02には要求されたデータ(MS DATA)が送
出されると同時に、前記REQ IDと等価な識別
信号RTN IDも送出される。DATA IDはデー
タの順番等の制御用の識別信号である。 このように、キヤツシユ・メモリを用いるシス
テムにおいて、キヤツシユ・ミスを起こしたオペ
ランド要求の直後オペランド要求が更に存在する
場合には後者の要求に対してSユニツト102で
はプリフエツチ処理が行われる。上記プリフエツ
チに関する従来方式のアドレス制御系の説明図及
びそのタイムチヤートはそれぞれ第5図及び第6
図に示され、これ等の図を参照して従来のキヤツ
シユ・メモリ制御方式を説明する。 第6図のタイミングチヤートにおいて、オペラ
ンドの要求(OP REQ)はSユニツト102内
ではP(Priority),T(Translative address)、
B(Buffer access),R(Result)の4つの各サイ
クルで処理される。Rサイクルにおいて、
Buffer(キヤツシユ・メモリ)にデータがある場
合には、キヤツシユ・メモリにあるデータを
CPU内の汎用レジスタへ転送する。DMRは
Directory Match Register信号でキヤツシユに
要求用のデータがあるる場合にアクテイブにな
り、ない場合にノンアクテイブとなる信号であ
る。DMRがノンアクテイブでキヤツシユにデー
タがない場合にキヤツシユ・ミスを通知する
LMD信号がアクテイブとなる。これと同時にS
ユニツト102はMS REQ信号をMCU11に
送出し主メモリの内容とキヤツシユ・メモリの内
容との交換動作に対する要求を行う。LMD信号
が出された場合には該オペランド要求OP REQ
に後読するオペランド要求OP REQ1,OP
REQ2はパイプライン的に処理されず、それぞれ
Bサイクル、Tサイクルにおいて処理が中断され
る。Bサイクルで処理がが中断されたOP
REQ1のオペランド要求に対するオペランドアド
レスは後述するOP BEAR(B−cycle
Effective Address Register)というレジスタに
格納されるとともに、OP PFAR(Pri−Fetch
Address Register)というレジスタ52にも格
納される。しかし、Tサイクルで処理が中断され
たOP REQ2のオペランド要求に対するオペラ
ンドアドレスはOP PFARというレジスタ52
には格納されない。 OP LMDを送出し、キヤツシユ・ミスとなつ
たオペランド要求(OP REQ)に対する要求ア
ドレスは、主メモリに対する参照アドレスとして
MCU11に転送されブロツクフエツチの処理が
なされる。また、OP PFARというレジスタ5
2にアドレスが格納された要求OP REQ1に対
してはSユニツト102からMCU11へ、その
アドレスがプリフエツチアドレスとして送られ
る。すなわち、LMD信号が送出された4サイク
ル後にプリフエツチ要求(SET PF REQ)信
号を送出し、次のBサイクルにおいてキヤツシユ
のヒツトまたはミスを示すDMR信号がOFF(キ
ヤツシユ・ミス)であればブロツクフエツチ要求
用のMS REQ信号をLMD信号と共にRサイク
ルで送出する。また該DMR信号がON(キヤツシ
ユ・ヒツト)の場合はMS REQは送出されな
い。 しかし、OP REQ1の次のOP REQ2に対す
る要求アドレスはOP PFARというレジスタ5
2には格納されないので、プリフエツチ要求信号
は送出されず、該オペランド要求(OP REQ2)
は無視される。 次に、第5図を用いて従来のキヤツシユ・メモ
リ制御方式のシステムとその動作を説明する。 Valid(OP OP VAL)信号は現在Tサ
イクルにあるオペランド要求がValid(正当)で
あるかを示す信号である。Valid信号が有効で2
ビツトのポート識別(OP OP PORT
ID)信号が有効となつたとき、Bサイクルにお
いて、デコーダDEC50によりポート0,1,
2のいずれか1つが選択され、Rサイクルにおい
て選択されたポートに要求アドレスが格納され
る。 OP TEARレジスタ51はTサイクルにおい
てオペランド要求アドレスを格納するレジスタで
ある。該OP TEARレジスタ51への入力はI
ユニツト102からのオペランド要求アドレス
(IU OP REQ ADRS)、OP PFARレジス
タ52からのアドレス、オペランドポート(OP
PORT)0〜2からのアドレス、ブロツク・
フエツチ・アドレス・レジスタ(BFARO,1,
2,3)からのアドレスをPサイクルで選択した
ものである。OP TEAR51に格納されたオペ
ランドの要求アドレスはTサイクルでTLB53
を用いて論理アドレスから絶対アドレスに変換さ
れる。それと同時にオペランド・キヤツシユ・デ
イレクトリ(OP CACHE DIRECTORY)メモ
リ54とMATCH回路55を用いて、該アドレ
スがキヤツシユ・メモリにあるかどうかを調べ
る。キヤツシユのヒツトかミスかの信号はBサイ
クルにおいてOP DMRレジスタ56にセツトさ
れる。またTLB53からの絶対アドレスはOP
PFARレジスタ52とOP BAARレジスタ57
に格納される。キヤツシユ・ヒツトの場合は要求
アドレスはBサイクルにおいてOP BEARレジ
スタ58に格納されOP CACHE DATA
ARRAY59をアクセスしてキヤツシユの読み書
きを実行する。キヤツシユ・ミスの場合にはRサ
イクルにおいて絶対アドレスがMSAR(Main
Storage Address Register)レジスタ60に格
納され、そのアドレスはMCU11を介して主メ
モリをアクセスするために使われる。 このように、従来技術のキヤツシユ・メモリ制
御方式ではBサイクルにおいて処理が中断された
OP REQ1の要求アドレスはOP PFARレジ
スタ52に格納され、このレジスタのみを用いて
オペランドのプリフエツチ処理を実行していた。
すなわち、第6図に示すように、キヤツシユ・ミ
スを起こしOP LMD信号を送出したオペランド
要求(OP REQ)に後続する要求OP REQ1と
OP REQ2は各々Bサイクル、Tサイクルにお
いて処理が中断される。OP LMD信号を送出し
たオペランド要求(OP REQ)は、該要求がT
サイクルのときのOP OP PORT ID信
号に従い、RサイクルにおいてOP PORT0,
1,2のいずれか1個に格納される。なお、上記
OP OP PORT ID信号は0〜2の値を
取り、サイクル0→1→2→0→1→…と変化し
ており、TサイクルがVALIDのときの値がとら
れる。Bサイクルにおいて処理が中断されたOP
REQ1の該要求アドレスはOP BEARレジス
タ58に格納されるとともにOP PFARレジス
タ52に格納される。更に1サイクル後には該要
求がTサイクルのときのOP OP PORT
ID信号に従い、該要求アドレスがOP PORT0,
1,2のいずれか1つに格納される。 同様にTサイクルにおいて処理が中断された
OP REQ2の該要求アドレスはOP TEARレジ
スタ51に格納され、更に1サイクル後にはOP
BEARレジスタ58に該要求アドレスが格納
される。しかし、OP PFARレジスタ52には
OP REQ2の該要求アドレスは格納されない。
すなわち、従来技術ではOP PFARレジスタ5
2には1サイクル前に格納された値がそのまま保
持され、更に1サイクル後には該要求がTサイク
ルのときのOP OP PORT ID信号に従
い該要求アドレスがOP PORT0,1,2のいず
れか1個に格納される。 上記OP PORT0,1,2に格納された要求ア
ドレスのうちのOP LMDを送出したOP REQ
の要求アドレスはブロツクフエツチ処理がなさ
れ、それ以外の要求アドレスに対しては上記要求
の処理終了後再度処理が開始される。 以上、従来技術においてはキヤツシユ・ミスを
起こしたOP REQの1サイクル後にSユニツト
101に受け渡された要求、つまり該OP REQ
の直後のOP REQ1の要求アドレスのみがOP
PFARレジスタ52に格納されるため、オペラン
ド要求に対するプリフエツチ機能はかなり制限さ
れたものとなつていた。 〔発明が解決しようとする問題点〕 以上のように、従来方式においては、キヤツシ
ユ・ミスを起こしたオペランド要求の直後のオペ
ランド要求についてのみプリフエツチの対象とし
て処理可能であつた。このためキヤツシユ・ミス
を起こしたオペランド要求に後続するオペランド
要求が複数個存在する場合、或いは該オペランド
要求との間が2サイクル以上あいているものにつ
いては、上記プリフエツチ機能を充分に行うこと
が下可能であるという問題が生じていた。 本発明はこのような従来技術の欠点を除去し、
キヤツシユ・ミスを起こしたオペランド要求の後
の複数のオペランド要求に対してもプリフエツチ
の対象として処理することを可能とするキヤツシ
ユ・メモリ制御方式を提供する。 〔問題点を解決するための手段〕 本発明のキヤツシユ・メモリ制御方式に従う装
置の動作は、キヤツシユ・ミスを示すOP LMD
信号を送出した要求の直後の要求、あるいはさら
に後の要求がオペランド要求である場合、キヤツ
シユ・ミスを起こした要求に後続する要求を第3
図に示すプリフエツチ制御装置を用いることによ
り無視せずプリフエツチの対象として処理可能と
している。 該プリフエツチ制御装置は、OP LMD信号、
OP OP VAL(Bサイクルにおいて処理が
中断された要求に対するValid)信号、OP
OP PORT ID(Bサイクルにおいて処理が
中断された要求アドレス格納ポートの識別符号)
信号、OP OP VAL(Tサイクルにおいて
処理が中断された要求に対するValid)信号、
OP OP PORT ID(Tサイクルにおいて
処理が中断された要求アドレス格納ポートの識別
符号)信号を受取り、OP PORTを制御する
SET PF REQ(プリフエツチアドレスの送出
を制御する)信号、ならびにOP PORT OUT
ID(送出されるアドレスのポートを識別する)
信号を出力する。OP PORT0,1,2のいずれ
かに格納されたプリフエツチアドレスは、キヤツ
シユ・ミスをおこした要求の8サイクル後、また
それに後続するプリフエツチアドレスに対しては
さらに8サイクル後にプリフエツチの起動を開始
するよう、上記SET PF REQ信号により制御
される。また上記プリフエツチアドレス送出に際
しては、上記OP PORT OUT ID信号により
OP PORT0,1,2中のいずれか1個が選択さ
れる。 〔作用〕 本発明は、キヤツシユ・ミスを起したオペラン
ド要求の後続する複数のオペランド要求について
の要求アドレスをポートレジスタに格納し、プリ
フエツチ制御装置からの制御信号を用いてポート
レジスタの内容を選択している。このことによ
り、後続する複数のオペランド要求のアドレスを
無視せず全てプリフエツチの対象とすることが可
能となる。 〔実施例〕 本発明のキヤツシユ・メモリ制御方式を前述し
た第1図の計算機のシステム構成図を用いて説明
する。Iユニツト100からのIU REQ
ADRS信号によりオペランド要求を受けたSユニ
ツト102は、キヤツシユ・メモリ内に該オペラ
ンドが存在する場合にはIユニツト100に対し
OP STATUS VALID(OP STV)信号を返
す。該オペランドがキヤツシユ・メモリ内に存在
しない場合にはIユニツト100に対しOP
LINE MISSING DETECT(OP LMD)信
号を返すとともに、主記憶制御装置(MCU)1
1に対してMS REQ信号を送出し、MCU11
が主記憶装置(MSU)12を制御することによ
りり該オペランドを含むブロツクフエツチが行な
われる。キヤツシユ・メモリを用いる第1図の計
算機システムにおいて、キヤツシユ・ミスを起し
たオペランド要求の直後にオペランド要求が更に
存在するる場合には後者の要求に対してSユニツ
ト102ではプリフエツチ処理が行われる。上記
プリフエツチに関する本発明のアドレス制御系の
説明図及びそのタイムチヤートはそれぞれ第2図
及び第4図に示され、それ等の図を参照して本発
明のキヤツシユ・メモリ制御方式を説明する。 第2図と第4図において、オペランドの要求
(OP REQ)はSユニツト102内ではP
(Priority)、T(Translative address)、B
(Buffer access)、R(Result)の4つの各サイク
ルで処理される。Rサイクルにおいて、Buffer
(キヤツシユ・メモリ)にデータがない場合には
ブロツクフエツチを行い、ある場合にはキヤツシ
ユ・メモリのデータをCPU内の汎用レジスタへ
転送する。第4図のDMRはDirectory Match
Register信号でキヤツシユに要求用のデータがあ
る場合にactiveになり、ない場合にnon−active
となる信号である。DMRがnon−activeでキヤ
ツシユにデータがない場合にキヤツシユ・ミスを
通知するLMD信号がactiveとなる。これと同時
にSユニツト102はMS REQ信号をMCU1
1に送出し、主メモリの内容とキヤツシユ・メモ
リの内容との交換動作に対する要求を行う。
LMD信号が出された場合には該オペランド要求
OP REQに後続するオペランド要求OP
REQ1,OP REQ2は第4図に示されるように、
それぞれBサイクル、Tサイクルにおいて処理が
一度中断される。Bサイクルで処理が中断された
OP REQ1のオペランド要求に対するオペラン
ドアドレスは従来技術ではOP PFAR(Rri−
Fetch Address Register)という単一のレジス
タに格納され、制限的なプリフエツチ処理がなさ
れた。本発明では、従来プリフエツチアドレスを
格納していたOP PFARレジスタを除去し、後
述する第3図のプリフエツチ制御装置を付加する
ことにより、第2図のOP PORTレジスタ20
に格納された要求アドレスをすべてプリフエツチ
の対象として保持し、かつ選択し、送出すること
を可能としたものである。 本実施例の第4図に示される動作は、結論を先
に述べるとOP LMD信号を送出したオペランド
要求(OP REQ)の直後の要求(OP REQ1)、
あるいはさらに後の要求(OP REQ2)がある
場合、キヤツシユ・ミスを起した要求(OP
REQ)に後続する2個のこれらの要求(OP
REQ1,OP REQ2)を第3図のプリフエツチ制
御装置を用いることにより無視することなくプリ
フエツチの対象として処理可能なものとしてい
る。尚、プリフエツチする要求の数は2個を越え
ても原理的になんら問題は無く拡張される。 第4図のタイミングチヤートを説明する前に、
まず、第2図および第3図を用いて本発明のキヤ
ツシユ・メモリ制御方式のシステムとその動作を
説明する。 第2図の構成図において、Valid(OP OP
VAL)信号は現在Tサイクルにあるオペラン
ド要求がValid(正当)であるかどうかを示す信
号である。Valid信号が有効で2ビツトのポート
識別(OP TOP PORT ID)信号が有効とな
つたとき、Bサイクルにおいて、デコーダ
DEC50によりポート0,1,2のいずれか1つ
選択され、Rサイクルにおいて選択されたポート
に要求アドレスが格納される。 このOP PORT0〜2のどのポートから出力す
るかの選択は第3図のプリフエツチ制御装置30
の出力信号によつてなされる。 OP TEARレジスタ51はTサイクルにおい
てオペランド要求アドレスを格納するレジスタで
ある。該OP TEARレジスタ51への入力は、
Iユニツト102からのオペランド要求アドレス
(IU OP REQ ADRS)、オペランドポート
(OP PORT0〜2)からのアドレス、ブロツ
ク・フエツチ・アドレス・レジスタ(BFAR0,
1,2,3)からのアドレスをPサイクルで選択
したものである。本発明では従来のOP PFAR
レジスタ52は存在せず、従つてOP PFARレ
ジスタからのアドレスはOP TEARレジスタ5
1には入力されない。OP TEARレジスタ51
に格納されたオペランドの要求アドレスはTサイ
クルでTLB53を用いて論理アドレスから絶対
アドレスに変換される。それと同時にオペラン
ド・キヤツシユ・デイレクトリ(OP CACHE
DIRECTORY)メモリ54とMATCH回路55
を用いて該アドレスがキヤツシユ・メモリにある
かどうかを調べる。キヤツシユのヒツトかミスか
の信号はBサイクルにおいてOP DMRレジスタ
56にセツトされる。また、TLB53からの絶
対アドレスはOP BAARレジスタ57に格納さ
れる。キヤツシユ・ヒツトの場合は要求アドレス
はBサイクルにおいてOP BEARレジスタ58
に格納され、OP CACHE DATA ARRAY59
をアクセスしてキヤツシユの読書きを実行する。
キヤツシユ・ミスの場合にはRサイクルにおいて
絶対アドレスがMSAR(Main Storage Address
Register)レジスタ60に格納され、そのアドレ
スはMCU11を介して主メモリをアクセスする
ために使われる。 キヤツシユ・ミスを起した要求(OP REQ)
の後の複数の要求(OP REQ1,OP REQ2)
をプリフエツチの対象とする処理の制御を実行す
る本発明のプリフエツチ制御装置30は第3図に
示される。この装置において、OP REQの要求
のキヤツシユ・ミスを示すOP LMD信号、Bサ
イクルにおいて処理が中断された要求(OP
REQ1)に対するValidを示すOP OP
VAL信号、Bサイクルにおいて処理が中断され
た要求(OP REQ1)の要求アドレスを格納し
ているポートの識別を示すOP OP PORT
ID信号、Tサイクルにおいて処理が中断され
た要求(OP REQ2)に対するValidを示すOP
OP VAL信号、Tサイクルにおいて処理
が中断された要求(OP REQ2)の要求アドレ
スを格納するポートの識別を示すOP OP
PORT ID信号を受け取る。そして、この装置
30はOP PORT0〜2,20を制御しプリフ
エツチアドレスを送出する制御を行うSET PF
REQ信号、並びに送出されるアドレスのポー
トを識別するOP PORT OUT ID信号を送出
する。 OP REQ要求がキヤツシユ・ミスを起こす
と、OP LMD信号がactiveとなり、この信号が
トリガとなつて、OP OP VAL,OP
OP PORT ID,OP OP VAL,OP
OP PORT IDの各信号はそれぞれ、プ
リフエツチ用のレジスタであるPF REQ
VAL,B,PF OP PORT ID B,PF
REQ VAL T,PF OP PORT ID Tの
各レジスタにそれぞれ格納される。前記2つの
Valid信号(OP OP VAL,OP OP
VAL)を回路301を用いて混合し、その出
力はデコーダ302の選択制御信号となる。ま
た、PF REQ VAL B信号は、SET PF
REQ信号によりプライオリテイがとれることに
よりリセツトされる。該デコーダ302は該PF
OP PORT ID Bと該PF OP PORT
ID Tのレジスタの各信号を選択する。該デコ
ーダ302の出力信号OP PORT OUT IDは
キヤツシユ・ミスを起したオペランド要求(OP
REQ)に後続しそれぞれBとTのサイクルで
中断しているオペランド要求OP REQ1,OP
REQ2に対する要求アドレスを格納するポートの
ポート識別信号である。それゆえ、第3図に示す
ように該オペランド要求OP REQ1とOP
REQ2のそれぞれの要求アドレスを格納している
OP PORT0〜2の出力のどれか1つがデコー
ダ21によつて該ポート識別信号で選択すれば、
プリフエツチされた要求アドレスはすべて無視さ
れることなく、送出されることになる。 OP PORT0,1,2のいずれかに格納され
たOP REQ1に対応するプリフエツチアドレス
は第4図のタイムチヤートに示すように、キヤツ
シユ・ミスを起した要求(OP REQ)のPサイ
クルから8サイクル後、またそれに後続するOP
REQ2に対応するプリフエツチアドレスに対し
てはさらに8サイクル後のPサイクルからプリフ
エツチの起動が開始される。この開始は上記プリ
フエツチ制御装置30から出力されるSET PF
REQ信号により制御される。また上記プリフ
エツチアドレスの送出に際しては、Pサイクルに
出される上記OP PORT OUT ID信号により
OP PORT0,1,2中のいずれか1個が選択
される。また、プリフエツチとして送出された要
求(OP REQ1,OP REQ2)において、Bサ
イクルにおいてキヤツシユに存在するかいなかを
示すOP DMRレジスタ56の内容がOFF(キヤ
ツシユ・ミス)であれば、プリフエツチ要求用の
MS REQ信号がLMD信号と共にRサイクルで
送出される。またON状態すなわちキヤツシユ・
ヒツトである場合にはプリフエツチ要求のMS
REQ信号は送出されない。 〔発明の効果〕 本発明によれば、該プリフエツチ制御装置によ
り、キヤツシユを起こした要求の後の複数の要求
はすべてプリフエツチの対象として無視されず、
従つて、オペランド要求に対するプリフエツチ機
能が向上し、高速でかつ効率の良いキヤツシユ・
メモリの制御が可能となる。
DETAILED DESCRIPTION OF THE INVENTION [Summary] The present invention relates to a cache memory control method that uses a small-capacity, high-speed cache memory to equivalently realize a large-capacity, high-speed memory. In computer systems that have cache memory in the central processing unit (CPU), when performing a block fetch to the main memory, the requested address immediately after the request that caused a cache miss because there was no data in the cache was conventionally ignored. The address was initially treated as a prefetch target, but subsequent requests were ignored. The present invention makes it possible to process a request immediately after a request that caused a cache error, or a subsequent request as a prefetch target.
This is intended to improve the prefetch function. [Industrial Application Field] The present invention relates to instructions () within a central processing unit.
S in response to an operand access request from the unit.
(Storage) Pertains to a prefetch function for holding a request address following a cache miss request made by a storage unit, and in particular relates to control of the cache memory in the CPU, control of the main memory read port, and prefetch control. [Prior Art] In a computer system, the time required to access a main memory is much longer than the time required to access a cache memory within a central processing unit (CPU). In order to improve the processing power of a computer system, it is necessary to transfer valid data more efficiently into cache memory, which requires less access time, than from main memory. Central processing unit (CPU) and main storage unit (MSU)
A small-capacity, high-speed memory placed between the two is called cache memory. In general, the faster the memory, the more expensive it is, so it is not economical to configure a large-capacity main memory (hereinafter referred to as main memory) entirely with high-speed memory. Therefore, the cache memory method, which uses a small-capacity, high-speed cache memory to equivalently realize a large-capacity, high-speed memory, is an extremely important technology especially for improving the processing speed of large computers. The parts of the instructions and operand data stored in main memory that are to be used for the time being are stored in cache memory. When the CPU executes an instruction, it first gives an address to cache memory. If the address is in cache memory, a cache hit occurs; if not, a cache miss occurs. While the cache is being hit, the CPU only refers to the cache memory, enabling high-speed processing. cashier
In the event of a miss, the CPU suspends instruction execution and swaps the contents of cache memory with the contents of main memory. The constituent unit of each unit of cache memory is called a "block", and one block consists of several words. When exchanging the contents of cache memory and main memory, it is executed in blocks. In addition, in the case of a cache miss, if the CPU executes a write, the contents are written to the cache memory at that point, and the swap method writes the entire block to the main memory when the contents are exchanged. There is a store-through method that writes to both cache memory and main memory. FIG. 1 shows the configuration of a computer system using a cache memory. The CPU 10 is an I (Instruction) unit 10 that controls instructions.
0, E to perform operations on operand data
(Execution) unit 101, and an S (Storage) unit 102 which performs control of cache hits and misses in response to requests from the I unit 100, particularly by controlling reading and writing of the cache memory and main memory. Ru. The CPU 10 via the S unit 102
The MCU 11 is connected to the MCU 11 (Main Storage Control Unit), and the MCU 11 controls the MSU 1 with the main memory according to requests from the unit 102.
2 (Main Storage Unit). An operand request signal (OP) is sent from the I unit 100 to the S unit 102.
REQ) and the fetch address (OP) for the operand request. REQ ADRS) is sent. Also, from the I unit 100 to the S unit 102
command fetch request signal (IF REQ) and address (IF) for instruction fetch requests. REQ
ADRS) is sent. In order to answer that demand,
The S unit 102 examines the internal cache memory for operands or instructions, and if the cache memory contains the contents, that is, if the cache is a cache hit, the OP STV
(Operand Status Valid) signal or IF STV
(Instruction Fetch Status Valid) signal is returned to I-unit 100. At this time, the I unit can read and write from and to the cache memory.
The I-unit 100 retrieves instructions from cache memory. CACHE Receive as DATA. Also,
E unit 101 opens the operand from cache memory. CACHE Receive as DATA.
In case of cache miss, OP for each operand LMD (Operand Line Missing)
Detect) IF for signals and commands LMD
Returns the (Instruction Fetch Line Missing Detect) signal. At this time, there is no requested content in the cache memory, so the S unit 102
MS for 1 The REQ signal is issued to request main memory reference, and at the same time, the MS REQ
Give the ADRS reference address. Also, the identification signal REQ for the request It also sends out an ID signal. Then, the MCU 11 accesses the main memory of the MSU 12. REQ The ID identifies operand block fetches, instruction block fetches, operand prefetches, translation block fetches, etc. MCU11 to S unit 1
02 contains the requested data (MS DATA) is sent, and at the same time the REQ Identification signal RTN equivalent to ID The ID is also sent. DATA The ID is an identification signal for controlling the order of data, etc. In this way, in a system using a cache memory, if there is another operand request immediately after the operand request that caused the cache miss, the S unit 102 performs prefetch processing on the latter request. An explanatory diagram of the conventional address control system related to the above prefetch and its time chart are shown in FIGS. 5 and 6, respectively.
A conventional cache memory control scheme will be described with reference to the figures. In the timing chart in Figure 6, the operand request (OP REQ) is P (Priority), T (Translative address) within the S unit 102,
Processing is performed in four cycles: B (Buffer access) and R (Result). In the R cycle,
If there is data in Buffer (cache memory), the data in cache memory is
Transfer to general-purpose register in CPU. DMR is
This is a Directory Match Register signal that becomes active when there is requested data in the cache, and becomes inactive when there is not. Notify cache miss when DMR is inactive and there is no data in cache
LMD signal becomes active. At the same time, S
Unit 102 is MS A REQ signal is sent to the MCU 11 to request an exchange operation between the contents of the main memory and the contents of the cache memory. If the LMD signal is issued, the corresponding operand request OP REQ
Operand request OP to lookbehind to REQ1, OP
REQ2 is not processed in a pipeline manner, and the processing is interrupted in the B cycle and T cycle, respectively. OP whose processing was interrupted in B cycle
The operand address for the operand request of REQ1 is OP described later. BEAR (B-cycle
It is stored in a register called OP Effective Address Register. PFAR (Pri-Fetch
It is also stored in a register 52 called Address Register. However, the OP whose processing was interrupted in T cycle Operand address for REQ2 operand request is OP Register 52 called PFAR
is not stored in . OP The operand request (OP) that sent LMD and resulted in a cache miss The request address for (REQ) is used as a reference address to main memory.
The data is transferred to the MCU 11 and block fetch processing is performed. Also, OP Register 5 called PFAR
Request OP with address stored in 2 For REQ1, the address is sent from the S unit 102 to the MCU 11 as a prefetch address. In other words, a prefetch request (SET) is issued 4 cycles after the LMD signal is sent. P.F. REQ) signal, and if the DMR signal indicating a cache hit or miss is OFF (cache miss) in the next B cycle, the MS for block fetch request is sent. Send the REQ signal together with the LMD signal in R cycles. Also, if the DMR signal is ON (cash hit), the MS REQ is not sent. But OP Next OP of REQ1 The request address for REQ2 is OP Register 5 called PFAR
2, the prefetch request signal is not sent and the operand request (OP REQ2)
is ignored. Next, a conventional cache memory control system and its operation will be explained using FIG. Valid (OP T OP The VAL) signal is a signal indicating whether the operand request currently in the T cycle is valid. Valid signal is valid and 2
Bit port identification (OP T OP PORT
When the ID) signal becomes valid, the decoder DEC50 decodes ports 0, 1,
2 is selected, and the requested address is stored in the selected port in the R cycle. OP The TEAR register 51 is a register that stores an operand request address in the T cycle. The OP The input to TEAR register 51 is I
Operand request address (IU) from unit 102 OP REQ ADRS), OP Address from PFAR register 52, operand port (OP
PORT) Addresses from 0 to 2, block
Fetch address register (BFARO, 1,
2, 3) are selected in P cycles. OP The requested address of the operand stored in TEAR51 is TLB53 in T cycles.
is used to convert logical addresses to absolute addresses. At the same time, an operand cache directory (OP CACHE DIRECTORY) memory 54 and a MATCH circuit 55 are used to check whether the address is in the cache memory. The cache hit or miss signal is OP in the B cycle. It is set in the DMR register 56. Also, the absolute address from TLB53 is OP
PFAR register 52 and OP BAAR register 57
is stored in In the case of a cache hit, the requested address is opened in the B cycle. Stored in BEAR register 58 and OP CACHE DATA
Access ARRAY59 to read and write the cache. In the case of a cache miss, the absolute address is MSAR (Main
The address is stored in the Storage Address Register (Storage Address Register) register 60, and the address is used to access the main memory via the MCU 11. In this way, in the conventional cache memory control method, processing was interrupted in the B cycle.
OP The request address for REQ1 is OP It is stored in the PFAR register 52, and only this register is used to perform operand prefetch processing.
In other words, as shown in Figure 6, a cache error occurs and the OP The operand request (OP) that sent the LMD signal REQ) subsequent request OP REQ1 and
OP Processing of REQ2 is interrupted in cycle B and cycle T, respectively. OP The operand request (OP) that sent the LMD signal REQ) indicates that the request is T
OP during cycle T OP PORT OP in R cycle according to ID signal PORT0,
It is stored in either one of 1 or 2. In addition, the above
OP T OP PORT The ID signal takes a value of 0 to 2, and changes in cycles 0→1→2→0→1→..., and takes the value when the T cycle is VALID. OP whose processing was interrupted in B cycle
The request address of REQ1 is OP Stored in BEAR register 58 and OP It is stored in the PFAR register 52. After one more cycle, the OP when the request is T cycle T OP PORT
According to the ID signal, the requested address is OPEN PORT0,
It is stored in either one of 1 and 2. Similarly, processing was interrupted in T cycle.
OP The request address of REQ2 is OP Stored in TEAR register 51, and OPENed after one more cycle.
The requested address is stored in the BEAR register 58. But OP The PFAR register 52 contains
OP The requested address of REQ2 is not stored.
In other words, in the conventional technology, OP PFAR register 5
2 retains the value stored one cycle ago, and after another cycle, the OP when the request is T cycle. T OP PORT The requested address is OPENed according to the ID signal. Stored in one of PORT0, 1, and 2. Above OP OP of the request addresses stored in PORT0, 1, 2 OP that sent LMD REQ
Block fetch processing is performed on the requested address, and processing is restarted for other requested addresses after the above-mentioned request processing is completed. As mentioned above, in the conventional technology, the OP that caused a cache error The request passed to the S unit 101 after one cycle of REQ, that is, the OP REQ
OP immediately after Only the request address of REQ1 is OP
Since the data is stored in the PFAR register 52, the prefetch function for operand requests is quite limited. [Problems to be Solved by the Invention] As described above, in the conventional system, only the operand request immediately after the operand request that caused the cache error could be processed as a prefetch target. Therefore, if there are multiple operand requests following the operand request that caused the cache miss, or if there is a gap of two or more cycles between the operand requests, the above prefetch function may not be able to perform sufficiently. The question arose as to whether it was possible. The present invention eliminates these drawbacks of the prior art,
To provide a cache memory control method that makes it possible to process a plurality of operand requests after an operand request causing a cache error as targets for prefetching. [Means for Solving the Problems] The operation of the device according to the cache memory control method of the present invention is based on the OP that indicates a cache miss. LMD
If the request that immediately follows the request that sent the signal, or the request that occurs even later, is an operand request, the request that follows the request that caused the cache error is
By using the prefetch control device shown in the figure, it is possible to process the data as a prefetch target without ignoring it. The prefetch control device is OP LMD signal,
OP B OP VAL (Valid for requests whose processing was interrupted in B cycle) signal, OP B
OP PORT ID (Identification code of the request address storage port whose processing was interrupted in the B cycle)
signal, OP T OP VAL (Valid for a request whose processing was interrupted in T cycle) signal,
OP T OP PORT Receives the ID (identification code of the request address storage port whose processing was interrupted in the T cycle) signal and opens the OP Control PORT
SET P.F. REQ (controls sending of prefetch address) signal and OP PORT OUT
ID (identifies the port of the outgoing address)
Output a signal. OP The prefetch address stored in either PORT0, 1, or 2 will cause the prefetch to start 8 cycles after the request that caused the cache miss, and another 8 cycles for the subsequent prefetch address. SET above to start P.F. Controlled by REQ signal. In addition, when sending the above prefetch address, the above OP PORT OUT By ID signal
OP One of PORT0, 1, and 2 is selected. [Operation] The present invention stores request addresses for multiple operand requests following the operand request that caused a cache miss in a port register, and selects the contents of the port register using a control signal from a prefetch control device. ing. This makes it possible to prefetch all addresses of a plurality of subsequent operand requests without ignoring them. [Embodiment] The cache memory control method of the present invention will be explained using the system configuration diagram of the computer shown in FIG. 1 mentioned above. IU from I unit 100 REQ
The S unit 102, which receives an operand request by the ADRS signal, requests the I unit 100 if the operand exists in the cache memory.
OP STATUS VALID (OP STV) returns the signal. OP to I-unit 100 if the operand does not exist in cache memory.
LINE MISSING DETECT (OP LMD) signal and main memory control unit (MCU) 1
MS for 1 Send REQ signal, MCU11
A block fetch including the operand is performed by controlling the main storage unit (MSU) 12. In the computer system shown in FIG. 1 using a cache memory, if there is another operand request immediately after the operand request that caused the cache miss, the S unit 102 performs prefetch processing on the latter request. An explanatory diagram of the address control system of the present invention relating to the prefetch and its time chart are shown in FIGS. 2 and 4, respectively, and the cache memory control system of the present invention will be explained with reference to these figures. In Figures 2 and 4, the operand request (OP REQ) is P in S unit 102.
(Priority), T (Translative address), B
(Buffer access) and R (Result) are processed in each of the four cycles. In the R cycle, Buffer
If there is no data in the cache memory, a block fetch is performed, and if there is, the data in the cache memory is transferred to a general-purpose register in the CPU. DMR in Figure 4 is Directory Match
Register signal indicates that the cache is active if there is data for the request, and non-active if there is no data.
This is the signal. When the DMR is non-active and there is no data in the cache, the LMD signal that notifies a cache miss becomes active. At the same time, the S unit 102 REQ signal to MCU1
1 to request an exchange operation between the contents of main memory and cache memory.
If the LMD signal is issued, request the corresponding operand.
OP Operand request OP following REQ
REQ1, OP REQ2 is as shown in Figure 4,
Processing is interrupted once in each B cycle and T cycle. Processing was interrupted in B cycle
OP In the conventional technology, the operand address for the operand request of REQ1 is OP PFAR (Rri−
Fetch Address Register), and limited prefetch processing was performed. In the present invention, the OP that conventionally stores the prefetch address By removing the PFAR register and adding the prefetch control device shown in FIG. 3, which will be described later, the OP shown in FIG. PORT register 20
This makes it possible to hold, select, and send all requested addresses stored in the prefetch as targets for prefetching. The operation shown in FIG. 4 of this embodiment is OP The operand request (OP) that sent the LMD signal REQ) immediately following the request (OP) REQ1),
Or even a later request (OP REQ2), the request that caused the cache error (OP
REQ) followed by two of these requests (OP
REQ1, OP By using the prefetch control device shown in FIG. 3, REQ2) can be processed as a prefetch target without being ignored. Note that even if the number of requests to be prefetched exceeds two, there is no problem in principle and the number of requests can be expanded. Before explaining the timing chart in Figure 4,
First, the cache memory control system of the present invention and its operation will be explained using FIGS. 2 and 3. In the configuration diagram shown in Figure 2, Valid (OP T OP
The VAL) signal is a signal indicating whether the operand request currently in the T cycle is valid. Valid signal is valid and 2-bit port identification (OP TOP PORT When the ID) signal becomes valid, the decoder
One of ports 0, 1, and 2 is selected by the DEC 50, and the requested address is stored in the selected port in the R cycle. This OP The selection of which port to output from PORT0 to 2 is made by the prefetch control device 30 in Figure 3.
This is done by the output signal of OP The TEAR register 51 is a register that stores an operand request address in the T cycle. The OP The input to the TEAR register 51 is
Operand request address from I unit 102 (IU OP REQ ADRS), operand port (OP PORT0~2), block fetch address register (BFAR0,
1, 2, 3) are selected in P cycles. In the present invention, conventional OP PFAR
Register 52 is not present and therefore OP Address from PFAR register is OP TEAR register 5
1 is not entered. OP TEAR register 51
The requested address of the operand stored in is converted from a logical address to an absolute address using the TLB 53 in T cycles. At the same time, the operand cache directory (OP CACHE
DIRECTORY) Memory 54 and MATCH circuit 55
to see if the address is in cache memory. The cache hit or miss signal is OP in the B cycle. It is set in the DMR register 56. Also, the absolute address from TLB53 is OP It is stored in the BAAR register 57. In the case of a cache hit, the requested address is opened in the B cycle. BEAR register 58
stored in OP CACHE DATA ARRAY59
Access to read and write cash.
In the case of a cache miss, the absolute address is changed to MSAR (Main Storage Address) in the R cycle.
(Register) register 60, and its address is used to access the main memory via the MCU 11. The request that caused the cache error (OP REQ)
Multiple requests after (OP REQ1, OP REQ2)
A prefetch control device 30 of the present invention that executes control of processing for prefetching is shown in FIG. In this device, OP OP indicating cache miss of REQ request LMD signal, request whose processing was interrupted in B cycle (OP
OP indicating Valid for REQ1) B OP
VAL signal, request whose processing was interrupted in B cycle (OP OP indicating the identification of the port storing the request address for REQ1) B OP PORT
ID signal, request whose processing was interrupted in T cycle (OP OP indicating Valid for REQ2)
T OP VAL signal, request whose processing was interrupted in T cycle (OP OP indicating the identification of the port that stores the request address for REQ2) T OP
PORT Receive ID signal. And this device 30 is OP SET that controls PORT0 to 2, 20 and sends prefetch addresses P.F.
OP that identifies the port of the REQ signal and the address being sent PORT OUT Sends an ID signal. OP If a REQ request causes a cache miss, the OP The LMD signal becomes active, this signal becomes a trigger, and the OP B OP VAL,OP B
OP PORT ID, OP T OP VAL,OP
T OP PORT Each ID signal corresponds to the PF, which is a prefetch register. REQ
VAL, B, PF OP PORT ID B.PF
REQ VAL T, P.F. OP PORT ID The data is stored in each register of T. the two above
Valid signal (OP B OP VAL,OP T OP
VAL) using a circuit 301, and its output becomes a selection control signal for a decoder 302. Also, P.F. REQ VAL B signal is SET P.F.
It is reset when the priority is determined by the REQ signal. The decoder 302
OP PORT ID B and the PF OP PORT
ID Select each signal in the T register. Output signal OP of the decoder 302 PORT OUT The ID is the operand request (OP) that caused the cache miss.
REQ) followed by operand requests OP interrupted by cycles B and T, respectively. REQ1, OP
This is the port identification signal of the port that stores the request address for REQ2. Therefore, as shown in Figure 3, the operand request OP REQ1 and OP
Stores each request address of REQ2
OP If any one of the outputs of PORT0 to PORT2 is selected by the decoder 21 using the port identification signal,
All prefetched request addresses will not be ignored and will be sent. OP OP stored in either PORT0, 1, or 2 As shown in the time chart in Figure 4, the prefetch address corresponding to REQ1 is the request that caused the cache error (OP 8 cycles after the P cycle of REQ), and the subsequent OP
For the prefetch address corresponding to REQ2, activation of prefetch is started from the P cycle eight cycles later. This start is performed by the SET signal output from the prefetch control device 30. P.F.
Controlled by REQ signal. In addition, when sending the above prefetch address, the above OP sent in the P cycle PORT OUT By ID signal
OP One of PORT0, 1, and 2 is selected. Also, the request sent as a prefetch (OP REQ1, OP In REQ2), OP indicating whether or not it exists in the cache in the B cycle If the contents of the DMR register 56 are OFF (cache miss), the
M.S. The REQ signal is sent out in R cycles along with the LMD signal. Also, the ON state, that is, the cash
MS of prefetch request if hit
No REQ signal is sent. [Effects of the Invention] According to the present invention, the prefetch control device does not ignore all requests after the request that caused caching as targets for prefetching.
Therefore, the prefetch function for operand requests is improved, and fast and efficient cache processing is possible.
Memory control becomes possible.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図はキヤツシユ・メモリを有する計算機シ
ステムの構成図、第2図は本発明のキヤツシユ・
メモリ制御方式によるプリフエツチに関するアド
レス制御系の構成図、第3図は本発明方式による
プリフエツチ制御装置の構成図、第4図は本発明
方式におけるタイムチヤート、第5図は従来のキ
ヤツシユ・メモリ制御方式によるプリフエツチに
関するアドレス制御系の構成図、第6図は従来方
式におけるタイムチヤートである。 10…中央処理装置(CPU)、11…主記憶制
御装置(MCU)、12…主記憶装置(MSU)、2
0…ポートレジスタ、21…デコーダ、30…本
発明におけるプリフエツチ制御装置、50…デコ
ーダ、51…Tサイクルにおいてオペランド要求
アドレスを格納するOP TEAR(Operand T−
cycle Effective Address Register)レジスタ、
52…プリフエツチアドレスを格納するるOP
PFARレジスタ(従来技術)、53…論理アドレ
スを絶対アドレスに変換するTLB、54…オペ
ランド・キヤツシユ・デイレクトリ・メモリ、5
5…MATCH回路、56…キヤツシユのヒツト
かミスを示す信号をセツトするOP DMRレジス
タ、57…絶対アドレスを格納するBAAR(B−
cycle Absolute Address Register)レジスタ、
58…キヤツシユヒツトの要求アドレスを格納す
るOP BEARレジスタ、59…オペランドキヤ
ツシユ・データアレイ、60…キヤツシユ・ミス
のときの絶対アドレスを格納するMSARレジス
タ、100…命令()ユニツト、101…実行
(E)ユニツト、102…S(Storage)ユニツ
ト、301…ゲート回路、302…デコーダ。
FIG. 1 is a configuration diagram of a computer system having a cache memory, and FIG. 2 is a configuration diagram of a computer system having a cache memory.
A block diagram of an address control system related to prefetch using the memory control method, FIG. 3 is a block diagram of a prefetch control device according to the present invention, FIG. 4 is a time chart in the present invention, and FIG. 5 is a conventional cache memory control method. FIG. 6 is a block diagram of an address control system related to prefetch according to the present invention, and is a time chart in the conventional system. 10...Central processing unit (CPU), 11...Main memory control unit (MCU), 12...Main storage unit (MSU), 2
0... Port register, 21... Decoder, 30... Prefetch control device in the present invention, 50... Decoder, 51... OP that stores operand request address in T cycle. TEAR (Operand T-
cycle Effective Address Register) register,
52...OP that stores the prefetch address
PFAR register (prior art), 53... TLB for converting logical addresses to absolute addresses, 54... Operand cache directory memory, 5
5...MATCH circuit, 56...OP that sets a signal indicating cache hit or miss. DMR register, 57... BAAR (B-
cycle Absolute Address Register) register,
58...OP that stores the cache request address BEAR register, 59... Operand cache data array, 60... MSAR register that stores the absolute address in case of cache miss, 100... Instruction () unit, 101... Execution (E) unit, 102... S (Storage) unit , 301...gate circuit, 302...decoder.

Claims (1)

【特許請求の範囲】 1 中央処理装置10内の命令制御ユニツト10
0が主記憶装置12の内容の一部の写しを保持す
るキヤツシユ・メモリにアドレスを与え前記キヤ
ツシユ・メモリ内に前記アドレスがあればキヤツ
シユ・ヒツトの制御を行い、前記アドレスがなけ
ればキヤツシユ・ミスの制御を行うキヤツシユ・
メモリ制御ユニツト102において、前記命令制
御ユニツト100から送出されるキヤツシユの参
照要求(OP REQ)がキヤツシユ・ミスを起こ
したとき、 キヤツシユ・ミスを起こした前記要求(OP
REQ)の後の複数の要求(OP REQ1,OP
REQ2,…)に対して処理が中断された要求アド
レスを少なくとも格納する複数の主記憶読出しポ
ート20と、 前記キヤツシユ・ミスを通知するキヤツシユ・
ミス信号(OP LMD)、キヤツシユ・ミスを起
こした前記参照要求(OP REQ)の後の全ての
参照要求(OP REQ1,OP REQ2,…)に対
して処理が中断されたことを通知するVALID信
号(OP OP VAL,OP OP VAL,
…)、及び処理が中断された要求アドレスを格納
する前記主記憶読出しポート20の識別信号
(OP OP PORT ID,OP OP
PORT ID,…)を入力し、キヤツシユ・ミス
を起こした前記参照要求(OP REQ)から予め
決められたサイクル毎に中断された前記全ての参
照要求(OP REQ1,OP REQ2…)に対する
メモリ参照のプリフエツチ起動を開始する制御信
号(SET PF REQ)及び前記複数の主記憶読
出しポート20のいずれか1個を選択する選択制
御信号(OP PORT OUT ID)とを形成する
プリフエツチ制御手段30を有し、キヤツシユ・
ミスを起こした参照要求(OP REQ)の後の複
数の全ての要求(OP REQ1,OP REQ2,…)
に対する要求アドレスを無視することなくプリフ
エツチの対象として処理することを特徴とするキ
ヤツシユ・メモリ制御方式。
[Claims] 1. Command control unit 10 in central processing unit 10
0 gives an address to a cache memory that holds a copy of a portion of the contents of main memory 12; if the address is in the cache memory, it controls the cache hit; if the address is not there, a cache miss occurs. The cashier that controls the
The memory control unit 102 receives a cache reference request (OP) sent from the instruction control unit 100. REQ) causes a cache error, the request (OP) that caused the cache error
Multiple requests (OP) after REQ) REQ1, OP
a plurality of main memory read ports 20 for storing at least request addresses whose processing has been interrupted for REQ2,...), and a cache read port 20 for notifying the cache miss.
Miss signal (OP LMD), the reference request that caused the cache miss (OP All reference requests (OP) after the REQ) REQ1, OP VALID signal (OP B OP VAL,OP T OP VAL,
), and the identification signal (OP B OP PORT ID, OP T OP
PORT ID,...) and enter the reference request (OP ID,...) that caused the cache error. All the reference requests (OP) interrupted every predetermined cycle from REQ1, OP A control signal (SET P.F. REQ) and a selection control signal (OP PORT OUT ID) and a prefetch control means 30 for forming a cache ID).
The reference request that caused the error (OP All requests (OP) after multiple requests (REQ) REQ1, OP REQ2,…)
A cache memory control method characterized in that a request address for a cache is processed as a prefetch target without being ignored.
JP62110868A 1987-05-08 1987-05-08 Cache memory control system Granted JPS63276643A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62110868A JPS63276643A (en) 1987-05-08 1987-05-08 Cache memory control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62110868A JPS63276643A (en) 1987-05-08 1987-05-08 Cache memory control system

Publications (2)

Publication Number Publication Date
JPS63276643A JPS63276643A (en) 1988-11-14
JPH0456345B2 true JPH0456345B2 (en) 1992-09-08

Family

ID=14546723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62110868A Granted JPS63276643A (en) 1987-05-08 1987-05-08 Cache memory control system

Country Status (1)

Country Link
JP (1) JPS63276643A (en)

Also Published As

Publication number Publication date
JPS63276643A (en) 1988-11-14

Similar Documents

Publication Publication Date Title
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US6269433B1 (en) Memory controller using queue look-ahead to reduce memory latency
US5461718A (en) System for sequential read of memory stream buffer detecting page mode cycles availability fetching data into a selected FIFO, and sending data without aceessing memory
US5490113A (en) Memory stream buffer
US4831581A (en) Central processor unit for digital data processing system including cache management mechanism
US5091845A (en) System for controlling the storage of information in a cache memory
US5119484A (en) Selections between alternate control word and current instruction generated control word for alu in respond to alu output and current instruction
US5226170A (en) Interface between processor and special instruction processor in digital data processing system
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
JPH06243038A (en) Method for reading and writing cached data and device for caching data
US20080098176A1 (en) Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching
US5287483A (en) Prefetched operand storing system for an information processor
JPH07121443A (en) Information process system and its operating method
CN114637467B (en) A method for improving memory access performance based on three-dimensional DRAM memory controller
WO1998012639A1 (en) Computer system
JPH0456345B2 (en)
JPH0516061B2 (en)
US5276892A (en) Destination control logic for arithmetic and logic unit for digital data processor
JPH0461384B2 (en)
JPH02301843A (en) Pre-fetch controlling system
JPH0210450A (en) Prefetch control system for cache memory
US6593931B1 (en) Method and apparatus for improving system memory bandwidth utilization during graphics translational lookaside buffer cache miss fetch cycles
JPH06149669A (en) System and device for transferring cache data
JP3039391B2 (en) Memory system
CA1305557C (en) Control signal generation circuit for arithmetic and logic unit for digital processor