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
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 T OP VAL)信号は現在Tサ
イクルにあるオペランド要求がValid(正当)で
あるかを示す信号である。Valid信号が有効で2
ビツトのポート識別(OP T 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 T OP PORT ID信
号に従い、RサイクルにおいてOP PORT0,
1,2のいずれか1個に格納される。なお、上記
OP T OP PORT ID信号は0〜2の値を
取り、サイクル0→1→2→0→1→…と変化し
ており、TサイクルがVALIDのときの値がとら
れる。Bサイクルにおいて処理が中断されたOP
REQ1の該要求アドレスはOP BEARレジス
タ58に格納されるとともにOP PFARレジス
タ52に格納される。更に1サイクル後には該要
求がTサイクルのときのOP T 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 T 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 B OP VAL(Bサイクルにおいて処理が
中断された要求に対するValid)信号、OP B
OP PORT ID(Bサイクルにおいて処理が
中断された要求アドレス格納ポートの識別符号)
信号、OP T OP VAL(Tサイクルにおいて
処理が中断された要求に対するValid)信号、
OP T 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 T 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 B OP
VAL信号、Bサイクルにおいて処理が中断され
た要求(OP REQ1)の要求アドレスを格納し
ているポートの識別を示すOP B OP PORT
ID信号、Tサイクルにおいて処理が中断され
た要求(OP REQ2)に対するValidを示すOP
T OP VAL信号、Tサイクルにおいて処理
が中断された要求(OP REQ2)の要求アドレ
スを格納するポートの識別を示すOP T OP
PORT ID信号を受け取る。そして、この装置
30はOP PORT0〜2,20を制御しプリフ
エツチアドレスを送出する制御を行うSET PF
REQ信号、並びに送出されるアドレスのポー
トを識別するOP PORT OUT ID信号を送出
する。 OP REQ要求がキヤツシユ・ミスを起こす
と、OP LMD信号がactiveとなり、この信号が
トリガとなつて、OP B OP VAL,OP B
OP PORT ID,OP T OP VAL,OP
T OP PORT IDの各信号はそれぞれ、プ
リフエツチ用のレジスタであるPF REQ
VAL,B,PF OP PORT ID B,PF
REQ VAL T,PF OP PORT ID Tの
各レジスタにそれぞれ格納される。前記2つの
Valid信号(OP B OP VAL,OP T 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信号は送出されない。 〔発明の効果〕 本発明によれば、該プリフエツチ制御装置によ
り、キヤツシユを起こした要求の後の複数の要求
はすべてプリフエツチの対象として無視されず、
従つて、オペランド要求に対するプリフエツチ機
能が向上し、高速でかつ効率の良いキヤツシユ・
メモリの制御が可能となる。
を用いて等価的に大容量の高速なメモリを実現す
るキヤツシユ・メモリの制御方式に関する。キヤ
ツシユ・メモリを中央処理装置(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 T OP VAL)信号は現在Tサ
イクルにあるオペランド要求がValid(正当)で
あるかを示す信号である。Valid信号が有効で2
ビツトのポート識別(OP T 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 T OP PORT ID信
号に従い、RサイクルにおいてOP PORT0,
1,2のいずれか1個に格納される。なお、上記
OP T OP PORT ID信号は0〜2の値を
取り、サイクル0→1→2→0→1→…と変化し
ており、TサイクルがVALIDのときの値がとら
れる。Bサイクルにおいて処理が中断されたOP
REQ1の該要求アドレスはOP BEARレジス
タ58に格納されるとともにOP PFARレジス
タ52に格納される。更に1サイクル後には該要
求がTサイクルのときのOP T 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 T 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 B OP VAL(Bサイクルにおいて処理が
中断された要求に対するValid)信号、OP B
OP PORT ID(Bサイクルにおいて処理が
中断された要求アドレス格納ポートの識別符号)
信号、OP T OP VAL(Tサイクルにおいて
処理が中断された要求に対するValid)信号、
OP T 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 T 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 B OP
VAL信号、Bサイクルにおいて処理が中断され
た要求(OP REQ1)の要求アドレスを格納し
ているポートの識別を示すOP B OP PORT
ID信号、Tサイクルにおいて処理が中断され
た要求(OP REQ2)に対するValidを示すOP
T OP VAL信号、Tサイクルにおいて処理
が中断された要求(OP REQ2)の要求アドレ
スを格納するポートの識別を示すOP T OP
PORT ID信号を受け取る。そして、この装置
30はOP PORT0〜2,20を制御しプリフ
エツチアドレスを送出する制御を行うSET PF
REQ信号、並びに送出されるアドレスのポー
トを識別するOP PORT OUT ID信号を送出
する。 OP REQ要求がキヤツシユ・ミスを起こす
と、OP LMD信号がactiveとなり、この信号が
トリガとなつて、OP B OP VAL,OP B
OP PORT ID,OP T OP VAL,OP
T OP PORT IDの各信号はそれぞれ、プ
リフエツチ用のレジスタであるPF REQ
VAL,B,PF OP PORT ID B,PF
REQ VAL T,PF OP PORT ID Tの
各レジスタにそれぞれ格納される。前記2つの
Valid信号(OP B OP VAL,OP T 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信号は送出されない。 〔発明の効果〕 本発明によれば、該プリフエツチ制御装置によ
り、キヤツシユを起こした要求の後の複数の要求
はすべてプリフエツチの対象として無視されず、
従つて、オペランド要求に対するプリフエツチ機
能が向上し、高速でかつ効率の良いキヤツシユ・
メモリの制御が可能となる。
第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…デコーダ。
ステムの構成図、第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…デコーダ。
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 B OP VAL,OP T OP VAL,
…)、及び処理が中断された要求アドレスを格納
する前記主記憶読出しポート20の識別信号
(OP B OP PORT ID,OP T 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,…)
に対する要求アドレスを無視することなくプリフ
エツチの対象として処理することを特徴とするキ
ヤツシユ・メモリ制御方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62110868A JPS63276643A (ja) | 1987-05-08 | 1987-05-08 | キャッシュ・メモリ制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62110868A JPS63276643A (ja) | 1987-05-08 | 1987-05-08 | キャッシュ・メモリ制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63276643A JPS63276643A (ja) | 1988-11-14 |
| JPH0456345B2 true JPH0456345B2 (ja) | 1992-09-08 |
Family
ID=14546723
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62110868A Granted JPS63276643A (ja) | 1987-05-08 | 1987-05-08 | キャッシュ・メモリ制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63276643A (ja) |
-
1987
- 1987-05-08 JP JP62110868A patent/JPS63276643A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63276643A (ja) | 1988-11-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5371870A (en) | Stream buffer memory having a multiple-entry address history buffer for detecting sequential reads to initiate prefetching | |
| US5388247A (en) | History buffer control to reduce unnecessary allocations in a memory stream buffer | |
| US5490113A (en) | Memory stream buffer | |
| US4831581A (en) | Central processor unit for digital data processing system including cache management mechanism | |
| KR100335785B1 (ko) | 데이타처리명령의실행 | |
| 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 (ja) | キャッシュされたデータを読出しおよび書込む方法ならびにデータをキャッシングする装置 | |
| 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 (ja) | 情報処理システム及びその動作方法 | |
| CN114637467B (zh) | 一种基于三维dram内存控制器的访存性能提升方法 | |
| JPH0456345B2 (ja) | ||
| JPH0516061B2 (ja) | ||
| US5276892A (en) | Destination control logic for arithmetic and logic unit for digital data processor | |
| JPH0461384B2 (ja) | ||
| JPH02301843A (ja) | プリフェッチ制御方法およびプリフェッチ制御装置 | |
| JPH0210450A (ja) | キヤツシユメモリの先行フエツチ制御方式 | |
| JPH06149669A (ja) | キャッシュデータ転送方式およびキャッシュデータ転送装置 | |
| JP3039391B2 (ja) | メモリシステム | |
| CA1305557C (en) | Control signal generation circuit for arithmetic and logic unit for digital processor | |
| JPH02259945A (ja) | ストア処理方式 | |
| JPS5818710B2 (ja) | 記憶システム |