JPH0690681B2 - キャッシュメモリ制御方式 - Google Patents

キャッシュメモリ制御方式

Info

Publication number
JPH0690681B2
JPH0690681B2 JP62202092A JP20209287A JPH0690681B2 JP H0690681 B2 JPH0690681 B2 JP H0690681B2 JP 62202092 A JP62202092 A JP 62202092A JP 20209287 A JP20209287 A JP 20209287A JP H0690681 B2 JPH0690681 B2 JP H0690681B2
Authority
JP
Japan
Prior art keywords
prefetch
block
fetch
request
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP62202092A
Other languages
English (en)
Other versions
JPS6446145A (en
Inventor
優人 大野
秀樹 大曽根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62202092A priority Critical patent/JPH0690681B2/ja
Publication of JPS6446145A publication Critical patent/JPS6446145A/ja
Publication of JPH0690681B2 publication Critical patent/JPH0690681B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概 要〕 複数の主記憶読出しポートをプリフェッチに活用せしめ
たキャッシュメモリ制御方式に関し、 ブロックフェッチの最大許容回数以内で要求される任意
回数のプリフェッチを施行し得ることを目的とし、 先行するブロックフェッチの完結前に次のブロックフェ
ッチ処理に入ることを可能にする複数の主記憶読出しポ
ートを備え、ブロックフェッチ要求に応答して該主記憶
読出しポートを介して主記憶装置とキャッシュメモリと
の間でのデータの転送を行なうキャッシュメモリ制御方
式において、プリフェッチ要求信号発生回路と、プリフ
ェッチ起動回路と、プリフェッチ残回数出力回路と、信
号反復出力回路とを設け、プリフェッチ要求信号発生回
路からの順次の信号に応答してプリフェッチ動作を前記
複数の主記憶読出しポートを介して生ぜしめるように構
成した。
〔産業上の利用分野〕
本発明は、主記憶装置(MS)の内容の一部の写しを保持
するストアスルー方式、或いはスワップ方式のキャッシ
ュメモリを備えた情報処理装置におけるキャッシュメモ
リ制御方式に係り、特に、該情報処理装置の中央処理装
置(CPU)内における命令ユニット(Iユニット)から
の命令フェッチ要求,及びオペランドフェッチ要求等に
対応して、ミスヒットが生起した場合に、主記憶装置
(MS)に対して行なうブロックのプリフェッチ要求に対
する制御方式に関する。
情報処理装置における中央処理装置(CPU)内のキャッ
シュメモリに対するアクセス時間に対して、最近の半導
体技術の著しい進歩に伴う主記憶装置(MS)の大容量化
動向により、そのアクセス時間は非常に大きくなる傾向
にある。
一方、該情報処理装置における処理量の増大化と、多様
化に伴って、該情報処理装置に対する処理能力の向上に
対する要求は益々大きくなっており、該キャッシュメモ
リを備えた情報処理装置の処理能力の向上を図る為に
は、アクセス時間の小さいキャッシュメモリ内に、有効
なデータを、主記憶装置(MS)から効率よく転送する必
要がある。
〔従来の技術〕
第6図はキャッシュメモリを備えた情報処理装置の概略
図である。
キャッシュメモリ(OP-CACHE,IF-CACHE)52,53を備えた
情報処理装置は、図示されている如く、命令ユニット
(Iu)(以下、Iユニットと言う)1Aと、記憶制御ユニ
ット(Su)(以下、Sユニットと言う)1Bと、演算ユニ
ット(Eu)(以下、Eユニットという)1Cとからなる中
央処理装置(CPU)1と、記憶制御装置(MCU)2と、主
記憶装置(MS)3とから構成されており、キャッシュメ
モリ(OP-CACHE,IF-CACHE)52,53は、上記Sユニット1B
内に設けられている。
かかる情報処理装置において、Iユニッ1Aから命令フェ
ッチ要求(IF-REQ)信号により、命令フェッチ要求を受
けたSユニット1Bは、該命令が上記キャッシュメモリ
(IF-CACHE)53に存在する場合には、Iユニット1Aに対
して命令フェッチステータスバリッド(IF-STV)信号を
返し、該命令がキャッシュメモリ(IF-CACHE)53に存在
しない場合には、Iユニット1Aに対して命令フェッチラ
インミッシング検出(以下、IF-LMDと言う)信号を返す
と共に、主記憶制御装置(MCU)2に対して主記憶要求
(MS-REQ)信号を送出し、該記憶制御装置(MCU)2が
主記憶装置(MS)3を制御することにより、該命令を含
むブロックフェッチが行なわれる。
又、Iユニット1Aからオペランドフェッチ要求(OP-RE
Q)信号により、オペランドフェッチ要求を受けたSユ
ニット1Bは、該オペランドがキャッシュメモリ(OP-CAC
HE)52に存在する場合には、Iユニット1Aに対して、オ
ペランドステータスバリッド(以下、OP-STVと言う)信
号を返し、該オペランドがキャッシュメモリ(OP-CACH
E)52に存在しない場合には、Iユニット1Aに対して、
オペランドラインミッシング検出(OP-LMD)信号を返す
と共に、主記憶制御装置(MCU)2に対して主記憶要求
(MS-REQ)信号を送出し、該記憶制御装置(以下、MCU
と言う)2が主記憶装置(MS)3を制御することによ
り、該オペランドを含むブロックフェッチが行なわれ
る。
このとき、上記主記憶要求(MS-REQ)信号と共に、主記
憶要求アドレス(MS-REQ-ADRS)信号と、該要求の種
別、例えば、命令フェッチ,プリフェッチ,アドレス変
換バッファフェッチ,オペランドフェッチ等を示す要求
識別子(REQ-ID)が送出される。
そして、主記憶装置(MS)3から該ブロックフェッチデ
ータ(MS-DATA)が返送されるとき、そのデータの種別
を示すリターン識別子(RTN-ID){上記、要求識別子
(REQ-ID)対応}と共に、何バイト目のデータであるか
を示す識別子(DATA-ID)が返送される。
上記ブロックフェッチに関する従来方式を、第7図によ
って説明する。
第7図は従来のキャッシュメモリ制御方式を説明する図
であって、(a)はアドレス系を示し、(b)はデータ
系を示し、(c)は制御系を示し、(d)は要求識別子
(REQ-ID)の一例を示している。但し、以下の説明にお
いては、特に断らない限りオペランドキャッシュメモリ
の場合の例を主にして説明する。
先ず、第7図(a)は従来方式の主記憶読出しポートの
構成例のアドレス系を示している。
本図から分かるように、従来方式においては、該ブロッ
クフェッチ要求の種類によって固定される、主記憶読出
しポート(OP-BFAR,PR-BFAR,TR-BFAR,IF-BFAR)35〜38
を備えていた。
従って、Sユニット1BがMCU2に対して、各種のブロック
フェッチ要求を送出する場合には、該要求アドレスを主
記憶アドレスレジスタ(以下、MSARと言う)30にセット
すると共に、オペランド要求に関するものは、オペラン
ドブロックフェッチアドレスレジスタ(以下、OP-BFAR
と言う)35に、プリフェッチ要求に関するものは、プリ
フェッチアドレスレジスタ(PR-BFAR)36に、アドレス
変換バッファ(TLB)要求に関するものは、TLBブロック
フェッチアドレスレジスタ(TR-BFAR)37に、命令フェ
ッチ要求に関するものは、命令フェッチブロックアドレ
スレジスタ(IF-BFAR)38に、それぞれ該要求アドレス
がセットされていた。
また、MSAR30にセットされた該要求アドレスはMCU2に、
該要求アドレスを送出すると共に、即クリアされるが、
上記読出しポート(OP-BFAR,PR-BFAR,TR-BFAR,IF-BFA
R)35〜38にセットされた該要求アドレスは、該ブロッ
クフェッチ要求による処理が全て終了する迄保持されて
いる。
第8図は、キャッシュメモリ制御方式の動作タイムチャ
ートであり、(a)は従来方式の場合を示し、(b)は
後述する本発明の場合を示している。
先ず、第8図(a)によって、上記従来のキャッシュメ
モリ制御動作を、更に詳細に説明する。
第8図の(a)に示された各サイクルにおいて、Pサイ
クルは、プライオリティサイクルを示しており、T/Wサ
イクルはアドレス変換を行なうサイクル、又はキャッシ
ュメモリのディレクトリ50に対するディレクトリ検索サ
イクル、又は該ディレクトリ50に対する書込みサイクル
であり、B/Sサイクルはキャッシュメモリのデータアレ
イ51からの読出しサイクル、又は該データアレイ51に対
するライトサイクルであり、Rサイクルはリザルトサイ
クルを、それぞれ示している。
上記第7図(a)のアドレス系に示すように、上記Pサ
イクルにおいて、Iユニット1Aから送出されてきたオペ
ランドフェッチ要求アドレス(IU-OP-REQ-ADRS)は、次
のTサイクルには、オペランドTサイクル実効アドレス
レジスタ(以下、OP-TEARと言う)10に有効アドレスレ
ジスタとしてセットされ、オペランドアドレス変換バッ
ファ(OP-TLB)40により、絶対アドレスに変換されると
共に、該有効アドレスの一部(即ち、検索タグアドレ
ス)で、オペランドキャッシュディレクトリ(OP CACHE
DIR)50を検索し、比較器(C)50aにおいて、上記絶
対アドレス(即ち、比較タグアドレス)との比較が行な
われる。
次のBサイクルにおいては、上記絶対アドレスは、オペ
ランドBサイクル絶対アドレスレジスタ(以下、OP-BAA
Rと言う)20にセットされ、Tサイクルにおける比較結
果が、オペランドディレクトリ照合レジスタ(以下、OP
-DMRと言う)21にセットされ、該比較の結果、何れかの
ウエイ(即ち、セット)と一致したものがあった場合に
は、上記OP-DMR21より、前述のOP-STV信号がIユニット
1Aに送出されると共に、オペランドBサイクル実効アド
レスレジスタ(以下、OP-BEARと言う)22にセットされ
たアドレスにより、オペランドキャッシュデータアレイ
(OP CACHE DATA ARRAY)51内の、例えば、16ウエイ(W
AY 0〜WAY F)のデータが読み出され、上記OP-DMR21よ
り送出される信号により、その1つのウエイが選択さ
れる。
又、上記の比較により、何れのウエイとも一致の無かっ
た場合、つまり、キャッシュミスヒットした場合には、
上記OP-DMR21よりOP-LMD信号がIユニット1Aに送出され
る。
次のRサイクルにおいては、キャッシュヒットした場合
には、上記オペランドキャッシュデータアレイ(OP CAC
HE DATA ARRAY)51より選択されたデータが、第7図
(b)のデータ系に示されるように、演算ユニット(E
ユニット)1C内のレジスタ(OWR)100に書き込まれる。
然し、キャッシュミスヒットした場合には、第7図
(a)のOP-BAAR20にセットされた、該要求アドレスがM
SAR30と、OP-BFAR35にセットされ、MSAR30よりMCU2該要
求アドレスが送出される。
MCU2に該要求アドレスを送出する際には、第7図(c)
に示した制御系において、ブロックフェッチ制御部(以
下、BF-CNTLと言う)80により、MS-REQ信号90及び第7
図(d)に示すように、該主記憶読出しポートの種類、
つまり該要求の種類を示す要求識別子(REQ-ID)91が作
成され、MCU2に送出されて該オペランドを含むブロック
フェッチが開始される。
このとき、ブロックフェッチは、例えば、64バイト単位
で行なわれ、主記憶装置(MS)3から返送されてくるMS
-DATAは、8バイト単位で8回に分けられて送られてく
る。データ識別子(DATA-ID)はこのときの第何バイト
目のデータであるかを示す識別子である。
MCU2から中央処理装置(CPU)1へのデータ送出に際し
ては、上記MS-DATAが送出される数サイクル前{第8図
のタイムチャートでは、例えば、3サイクル(τ)前}
に、該MCU2からデータ出力指示(DOW)信号と共に、リ
ターン識別子(RTN-ID){前述の要求識別子(REQ-ID)
と等価なもの}信号、並びに、前述のデータ識別子(DA
TA-ID)信号の送出が開始される。
これらの制御により、第7図(b)のデータ系に示すオ
ペランドムーブインレジスタ偶数側(OP-MIR-EVN)65E,
オペランドムーブインレジスタ奇数側(OP-MIR-ODD)65
Oに、上記MS-DATAがセットされ、各々、オペランドキャ
ッシュデータインレジスタ偶数側(OP-CDIR-EVN)70,オ
ペランドキャッシュデータインレジスタ奇数側(OP-CDI
R-ODD)71に送出される。
第8図のタイムチャートに示された‘BYPASS'とは、該
ブロックフェッチ要求を起動することになったIユニッ
ト1Aからの要求アドレスで指定される8バイト以内のデ
ータを、第7図(b)のデータ系で示したオペランドキ
ャッシュデータアレイ(OP CACHE DATA ARRAY)51を介
することなく、レジスタ(OWR)100に書き込むタイムチ
ャートを示すものであり、ムーブイン(Move In)は、
上記オペランドキャッシュデータインレジスタ偶数側
(OP-CDIR-EVN)70,オペランドキャッシュデータインレ
ジスタ奇数側(OP-CDIR-ODD)71の両者にデータがセッ
トされた時点において、オペランドキャッシュデータア
レイ(OP CACHE DATA ARRAY)51に、該オペランドキャ
ッシュデータインレジスタ偶数側(OP-CDIR-EVN)70,オ
ペランドキャッシュデータインレジスタ奇数側(OP-CDI
R-ODD)71の内容を同時に、都合16バイトのデータを書
き込むタイムチャートを示したものである。
従って、該ムーブイン(Move In)動作は、上記16バイ
トの書込み動作を4回行なって、前述の64バイトのデー
タをムーブインすることになる。第8図のタイムチャー
トに示すように、該ムーブインが終了する迄、つまり、
ブロックフェッチが終了する迄、前述のオペランドブロ
ックフェッチアドレスレジスタ(OP-BFAR)35が有効で
あることを示す‘OP-BFAR-VALID信号’が送出され続け
ることになり、該タイムチャートに示されるように、次
のオペランド要求が送出可能となるのは、先行している
オペランド要求に対応する上記‘OP-BFAR-VALID信号’
の送出の終了の1サイクル後となる。
プリフェッチ(PR)のブロックフェッチ要求,アドレス
変換デーブル(TR)のブロックフェッチ要求,命令(I
F)のブロックフェッチ要求についても同様のことを行
なっていた。
そして、上述のようにして生じたブロックフェッチ要求
に伴って生ずるプリフェッチは次のようにして行なわれ
る。
第9図において、上述のオペランドアドレスはオペラン
ドリクエストを受けたプライオリティ制御回路250から
マルチプレクサ252に与えられる信号によりレジスタ(O
P-T-EAR)10、そしてレジスタ(OP-B-AAR)20を介して
主記憶アドレスレジスタ(MSAR)30へ転送されてそのフ
ェッチが上述の如くして行なわれる。
これと並行して、オペランド要求信号+R_OP_REQがIユ
ニットから出力され且つ2ブロック以上の処理を要する
旨の信号+R_NEXT_LINE_PREFETCHがIユニット1Aから出
力された状態において、次のブロックにキャッシュミス
ヒットが生ずるならば、第10図のアンド回路201の入力
条件が満たされてフリップフロップ回路208がセットさ
れてプリフェッチのためのブロックフェッチ要求信号+
PF_REQが線209上に出力される(第4図(a)参照)。
この線209上のブロックフェッチ要求信号+PF_REQは、
第10図に示すようにプライオリティ制御回路250で選択
されて出力され、その出力信号により次のブロックのた
めのフェッチアドレスを生成保持しているアドレスレジ
スタ(PF-EAR)112のそのフェッチアドレスをマルチプ
レクサ252等を介してオペランドフェッチの場合と同様
にして主記憶アドレスレジスタ(MSAR)30(第7図
(a))へ転送されてそのフェッチが上述と同様にして
行なわれる。ただし、この場合においては、上記レジス
タ(OP-BAAR)20にセットされた要求アドレスは、レジ
スタ(PR-BFAR)36にセットされ、ブロックフェッチ制
御部80から要求識別子(REQ-ID)“01"がレジスタ(REQ
-ID)91にセットされる。又、MCU2から中央処理装置1
へのデータ送出に際しては、オペランドフェッチの場合
と同様、MCU2から制御系(第7図(c))へ転送される
データ出力(DOW)指示信号、リターン識別子(RTN-I
D)信号及びデータ識別子(DATA-ID)信号により、主記
憶装置(MS)3から返送されて来るMS-DATAは第7図
(b)のデータ系のプリフェッチムーブインレジスタ偶
数側(PR-MIR-EVN)66E、プリフェッチムーブインレジ
スタ奇数側(PR-MIR-ODD)61Oに8バイトずつセットさ
れ、そしてオペランドキャッシュデータインレジスタ偶
数側(OP-CDIR-EVN)70,オペランドキャッシュデータイ
ンレジスタ奇数側(OP-CDIR-ODD)71にセットされる。
これ以降の“BYPASS"又はムーブイン(MoveIn)はオペ
ランドフェッチの場合と同じである。
〔発明が解決しようとする問題点〕
上記従来方式においては、ブロックフェッチの要求の種
類により、該主記憶読出しポート(35〜38)は固定され
ており、該要求のブロックフェッチが終了する迄、該ブ
ロックフェッチの要求アドレスを保持しているため、同
一種類の要求がIユニット1Aから送出され、且つキャッ
シュメモリ内に、該要求アドレスのデータが存在しなく
て、最初のブロックフェッチ要求の処理が開始された場
合には、該ブロックフェッチ処理が終了する迄、後続の
同じ種類のブロックフェッチ要求の送出が待たされ、効
率の良いムーブインができない。
この制限に加えて、上述のところから明らかなように、
オペランドフェッチにおいてプリフェッチし得るブロッ
クはオペランドフェッチされるブロックの次のブロック
についてのみしかできるに過ぎなかった。即ち、フリッ
プフロップ回路208をプリフェッチのために更にセット
する手段はなかった。従って、演算上それ以上に亘って
ミスヒットがIユニットで予測できたとしても、そのブ
ロックに至って改めてオペランドフェッチをかけねばな
らず、この点からもムーブイン効率が低度のものとなっ
ている。
本発明は、斯かる問題点に鑑みて創作されたもので、ブ
ロックフェッチの最大許容回数以内で要求される任意回
数のプリフェッチを施行し得るキャッシュメモリ制御方
式を提供することをその目的とする。
〔問題点を解決するための手段〕
第1図は本発明の原理ブロック図を示す。この図におい
て、21,・・・,2mは主記憶装置3とキャッシュメモリ5
との間に設けられ、先行するブロックフェッチの完結前
に次のブロックフェッチ処理に入ることを可能にする複
数の主記憶読出しポートである。7はキャッシュミスヒ
ットに応答してプリフェッチ要求信号発生回路6から最
初のプリフェッチ要求信号を発生させるプリフェッチ起
動回路である。8はプリフェッチブロック数を受け取っ
てプリフェッチ動作毎に残プリフェッチブロック数を出
力するプリフェッチ残回数出力回路である。そして、回
路8の出力に応答する信号反復出力回路9により、最初
のプリフェッチ動作開始以降の予め決められた時間経過
毎にプリフェッチ要求信号発生回路6から第2番目以降
のプリフェッチ要求信号を発生させて順次のプリフェッ
チ要求信号を発生させて順次プリフェッチ動作を複数の
主記憶読出しポートを介して生ぜしめるようにして本発
明は構成されている。
〔作 用〕
ブロックフェッチが生ぜしめられたときに、プリフェッ
チが必要になると、プリフェッチ起動回路7によってプ
リフェッチ要求信号発生回路6から最初のプリフェッチ
要求信号が発生されて複数の主記憶読出しポートのうち
の最初の空きポートを介して対応するブロックのプリフ
ェッチ動作に入る。
このプリフェッチのほかに、更にプリフェッチしなけれ
ばならないブロックがプリフェッチ残回数回路8から示
されるならば、先行するプリフェッチ動作開始後の予め
決められた時間経過毎に、先行するプリフェッチ動作が
完結していなくても、信号反復出力回路9によりプリフ
ェッチ要求信号発生回路6からプリフェッチ要求信号が
順次に発生せしめられ、順次に発生されるプリフェッチ
要求信号に対応するプリフェッチは先行する主記憶読出
しポートの次の空きポートを使用して行われる。
従って、ブロックフェッチにおける先行するフェッチの
完結前に順次のブロックフェッチへ進み得るという機能
はプリフェッチにおいても有効に活かされ、効率の良い
ムーブイン等を達成し得る。
〔実施例〕
第2図が本発明のキャッシュメモリ制御方式の構成例を
示した図であり、その(a)はアドレス系を示し、
(b)はデータ系を示し、(c)は制御系を示し、
(d)は要求識別子(REQ-ID)の一例を示し、(e)は
ブロックフェッチアドレスレジスタコード(BFAR-COD
E)の一例を示しており、ブロックフェッチアドレスレ
ジスタ(BFAR.0,1,2,3)31〜34、ムーブインレジスタ
(MIR0-EVN,ODD、MIR1-EVN,ODD、・・・MIR3-EVN,ODD)
60E,60O、61E,61O、・・・、63E,63O、ブロックフェッ
チ制御部(BF-CNTL)80′、及び関連機構並びに第2図
(c)のブロックフェッチ制御回路内のプリフェッチ要
求信号発生回路の詳細図(第3図)が本発明を実施する
のに必要な手段である。尚、全図を通して同じ符号は同
じ対象物を示している。
以下、第2図乃至第5図によって、本発明のキャッシュ
メモリ制御方式を説明する。
本発明を実施しても、当該Sユニット1Bにおける各演算
サイクル、即ち、Pサイクル,Tサイクル,Bサイクルにお
いては、従来方式と同様の動作が行なわれるが、Rサイ
クルにおいては。従来はブロックフェッチ要求の種類
(ブロックフェッチ,プリフェッチ,・・・)により、
該要求アドレスを保持するブロックアドレスレジスタ
は、例えば、第7図(a)に示す従来方式では、レジス
タ(OP-BFAR)35,レジスタ(PR-BFAR)36,・・・のよう
に固定されているが、本発明においては、主記憶読出し
ポート(BFAR.0,1,2,3)31〜34のように、ブロックフェ
ッチの種類に固定されることがなくなっており、空きポ
ートが存在する限り、同一種類の該ブロックフェッチの
要求アドレスを保持できるように構成されている所が異
なる。このときの動作は、第2図(c)の制御系で示し
たブロックフェッチ制御部(BF-CNTL)80′から送出さ
れるBFARn-VALD(n=0,1,2,3)信号により制御され
る。
つまり、該ブロックフェッチ要求アドレスを保持する際
には、上記BFARn-VALD(n=0,1,2,3)信号が‘オフ’
であり、且つ該レジスタの番号(n)の最も小さいレジ
スタに、該要求アドレスを保持して、該BFARn-VALD(n
=0,1,2,3)を‘オン’とするように制御される{第2
図(c)のブロックフェッチ制御部(BF-CNTL)80′参
照}。
又、第2図(c)の制御系に示した、MS-REQ信号90の送
出に際しては、本発明においても従来方式と同じく、要
求識別子(REQ-ID)91′が送出されるが、従来方式で説
明した要求識別子(REQ-ID)91とは、その生成条件が異
なる。
即ち、従来方式における要求識別子(REQ-ID)91は、ブ
ロックフェッチアドレスレジスタ(BFAR)35・・・38の
種類、つまりブロックフェッチ要求の種類を示していた
が、本発明における要求識別子(REQ-ID)91′は第2図
(d)に示すように、単に、ブロックフェッチアドレス
レジスタ(BFAR.0,1,2,3)31〜34を識別するだけのもの
であり、該ブロックフェッチ要求の種類を示すブロック
フェッチアドレスレジスタコード(BFAR-CODE)は、第
2図(e)に示すように、上記ブロックフェッチ制御部
(BF-CNTL)80′内において、前述のように、そのとき
発生したブロックフェッチ要求が捕捉した‘空き’即
ち、BFARn-VALD(n=0,1,2,3)が‘オフ’のブロック
フェッチアドレスレジスタ(BFAR.0,1,2,3)31〜34に対
応して、該ブロックフェッチの種類(OP,PR,TR,IF)の
コードを保持するようにする{第2図(c),(e)参
照}。
従って、MCU2より返送されてくるリターン識別子(RTN-
ID)(REQ-IDと等価なもの)により、ブロックフェッチ
アドレスレジスタ(BFAR.0,1,2,3)31〜34の番号(00,0
1,10,11)を認識し、該番号に基づいて、セレクタ(SE
L)82をアクセスして、該ブロックフェッチアドレスレ
ジスタコード(BFAR-CODE)を選択,出力する。
従来方式においては、主記憶装置(MS)3からのムーブ
インデータ(MS-DATA)のキャッシュメモリデータアレ
イ(OP CACHE DATA ARRAY)51への書込みに際して、リ
ターン識別子(RTN-ID)を制御信号として用いていた
{第7図(c)のバイパスムーブイン制御部(Bypass M
ove In CONTROL)81参照}が、本発明においては、上記
BFAR-CODEにより第2図(c)のバイパスムーブイン制
御部(Bypass Move In CONTROL)81′の制御を行なう。
本発明を実施した場合の、主記憶装置(MS)3からのブ
ロックフェッチデータ(MS-DATA)のバイパス(Bypas
s),ムーブイン(Move In)のタイミングは、第8図
(b)のタイムチャートに示す通りであり、同一種類の
ブロックフェッチ要求の処理中、即ち、BFAR0-VALIDが
‘オン’中であっても、同一種類のブロックフェッチ
が、一時期に重ならない程度、具体的には、該ムーブイ
ン処理に必要な8τ(64バイトのムーブインにおいて、
16バイト単位で4回のキャッシュメモリデータアレイ
(OP CACHE DATA ARRAY)51への書込みを行なうのに必
要な時間)を確保しさえすれば、次の同じブロックフェ
ッチ要求の送出を行なうことができる。
又、この特長はプリフェッチにも活用される。
即ち、上述のようなオペランドのブロックフェッチ要求
が発行され、そのブロックフェッチが上述したところと
同様にして、例えばブロックフェッチアドレスレジスタ
(BFAR0)31の使用及びこれに対応するブロックフェッ
チアドレスレジスタコード(BFAR-CODE)の保持により
開始される。
又、これと並行して、キャッシュメモリデータアレイ
(OP CACHE DATA ARRAY)51の前記ブロックフェッチを
要することになったブロックに続いてプリフェッチした
いブロック数を表す信号B_PFCODE_BiT0〜1〔上述の主
記憶読出しポート数が4つ(BFAR0〜BFAR3)である場合
には、2ビットから成る。〕がIユニット1Aからブロッ
クフェッチ制御回路80′のプリフェッチ制御回路(第3
図参照)へ転送されて来てその2ビットフリップフロッ
プ回路200にセットされる。これにより、アンド回路202
から“1"が発生してアンド回路204、そしてオア回路206
を介してフリップフロップ回路208(第1図のプリフェ
ッチ要求信号発生回路6の対応回路)をセットして線20
9上にプリフェッチ要求信号+PF_REQ(第4図(b)参
照)が発生される。このアンド回路202,204、オア回路2
06が第1図のプリフェッチ起動回路7の具体的回路例を
構成している。
発生されたプリフェッチ要求信号+PF_REQに対するSユ
ニット1Bにおける上述の4つのサイクルが予め決められ
る時間経過後に開始される(第4図(b)参照)。その
Pサイクルにおいて、信号+PF_GOが発生される。この
信号により、フリップフロップ回路208のリセット、プ
リフェッチしたい残ブロック数信号PFCODE_BiTO〜1
(この信号はマルチプレクサ210、減算器212、2ビット
フリップフロップ回路214にて発生される。マルチプレ
クサ210,減算器212及び2ビットフリップフロップ回路2
14が第1図のプリフェッチ残回数出力回路8の構成例で
ある。)の2ビットフリップフロップ回路214へのセッ
ト、並びに効率よいムーブインを行なうのに次のプリフ
ェッチ要求信号+PF_REQの発生までに必要な遅延時間を
与える遅延回路216への信号設定が行なわれる、遅延回
路216は所要数のラッチから成り、マシンサイクル毎に
信号を順次シフトさせる。
このプリフェッチのためのRサイクルにおいて、上述と
同様にして、次のブロックフェッチアドレスレジスタ
(BFAR1)32の使用及びこれに対応するブロックフェッ
チアドレスレジスタコード(BFAR-CODE)の保持が為さ
れて次のブロックフェッチ(最初のプリフェッチブロッ
ク)が開始される。
この最初のプリフェッチブロックのためのアドレスは第
5図に示すように、その加算器において先行するブロッ
クフェッチのためのアドレスに64を加算器110で加算し
た値(1ブロック先のアドレス)がレジスタ(PF-EAR)
112に保持されており、該レジスタ(PF-EAR)112のアド
レスが上記最初のプリフェッチの開始時に従来と同様に
してそのプリフェッチブロックのために用いられる。こ
の関係は第2番目以降のブロックのプリフェッチにおい
ても当て嵌り、その逐一の説明を以下において繰り返さ
ない。
この最初のプリフェッチの開始時には、先行して開始さ
れた最初のブロックのためのブロックフェッチは完結し
ていないが、上述した手順を踏むのに要する時間経過後
にその完結となる(第4図(b)参照)。
今、開始された最初のプリフェッチブロックに続いてプ
リフェッチしたいブロックがあるならば、即ちアンド回
路220から“1"なる信号が発生し続けているならば、上
述の遅延回路216から出力信号が発生される時刻に、ア
ンド回路222から出力信号が発生されて2番目のプリフ
ェッチブロックのためのプリフェッチ要求信号+PF_REQ
がフリップフロップ回路208から出力される。このフリ
ップフロップ回路208に第2回目以降のセットを順次に
生ぜしめる遅延回路216、アンド回路220,222、オア回路
206が第1図の信号反復出力回路9の構成例を示してい
る。
上述のプリフェッチ要求信号+PF_REQの発生以降の動作
は上述のところに準じて進行されるので、その逐一の説
明は省略する。
このように、本発明は、キャッシュメモリを備えた情報
処理装置において、該キャッシュメモリに対するヒット
ミスが生起した時のブロックフェッチを行なうのに、該
ブロックフェッチの種類には関係しない主記憶読出しポ
ートを複数個設け、該ポートが空いている限り、同じ種
類のブロックフェッチ要求であっても、該空きのポート
を使用して、先行する同一種類のブロックフェッチの処
理が終了するのを待つことなく、少なくとも、該ムーブ
イン処理に必要なタイミングだけずらせて、同一種類の
ブロックフェッチの多重処理を行なえる。この多重ブロ
ックフェッチ機能が、又プリフェッチのための系とも融
合されてフェッチブロック及びプリフェッチブロックの
ためのブロックフェッチを行なう統合された系を構築し
ているから、効率のよいムーブイン、バイパスを達成し
得る。
〔発明の効果〕
以上、詳細に説明したように、本発明のキャッシュメモ
リ制御方式は、主記憶装置(MS)の内容の一部の写しを
保持するストアスルー方式,或いはスワップ方式のキャ
ッシュメモリを備えた情報処理装置において、主記憶へ
のブロックフェッチ要求が、先行している同一種類のブ
ロックフェッチが終了する迄待たされることによる、主
記憶装置(MS)からのブロック転送の効率の低下を抑止
する為に、複数個の主記憶読出しポートを設け、該ポー
トに空きポートが存在する限り、該ブロックフェッチ要
求の種類に関わらず、該空きポートを使用してブロック
フェッチ要求を送出し、同一種類のブロックフェッチ要
求の多重処理を行なうようにしたものであるので、主記
憶読出しポートが、該主記憶に対するブロックフェッチ
の種類に固定されることができない為、同じ種類のブロ
ックフェッチが生起しても、又そのブロックフェッチに
続いて複数のプリフェッチを要することになる場合であ
っても、空きのポートが存在する限り、該空きポートに
該同じ種類のブロックフェッチをセットでき、アクセス
時間の小さいキャッシュメモリ内に、有効なデータを主
記憶装置(MS)から効率よく転送することができる効果
がある。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明のキャッシュメモリ制御方式の構成例を
示した図、 第3図は本発明のプリフェッチ制御回路の要部詳細図、 第4図は本発明のキャッシュメモリ制御方式の動作タイ
ムチャート、 第5図は本発明のプリフェッチアドレス生成系の詳細
図、 第6図はキャッシュメモリを備えた情報処理装置の概略
図、 第7図は従来のキャッシュメモリ制御方式を説明する
図、 第8図はキャッシュメモリ制御方式の動作タイムチャー
ト、 第9図は従来のプリフェッチアドレス制御系を示す図、 第10図は従来のプリフェッチ制御回路の本発明関連部分
を示す図である。 第1図及び第3図において、 21,22,・・・,2mは複数の主記憶読出しポート、 3は主記憶装置、 5はキャッシュメモリ、 6はプリフェッチ要求信号発生回路(フリップフロップ
回路208)、 7はプリフェッチ起動回路(アンド回路202,204、オア
回路206)、 8はプリフェッチ残回数出力回路(2ビットフリップフ
ロップ回路200,214、マルチプレクサ210、減算器21
2)、 9は信号反復出力回路(遅延回路206、アンド回路220,2
22)である。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】先行するブロックフェッチの完結前に次の
    ブロックフェッチ処理に入ることを可能にする複数の主
    記憶読出しポート(21,・・・,2m)を備え、ブロックフ
    ェッチ要求に応答して該主記憶読出しポート(21,・・
    ・,2m)を介して主記憶装置(3)とキャッシュメモリ
    (5)との間でのデータの転送制御を行なうキャッシュ
    メモリ制御方式において、 プリフェッチ要求信号発生回路(6)と、 キャッシュミスヒットに応答して該プリフェッチ要求信
    号発生回路(6)から最初のプリフェッチ要求信号を発
    生させるプリフェッチ起動回路(7)と、 プリフェッチブロック数を受け取ってプリフェッチ動作
    毎に残プリフェッチブロック数を出力するプリフェッチ
    残回数出力回路(8)と、 残プリフェッチブロック数が与えられている間予め決め
    られた時間経過毎に前記プリフェッチ要求信号発生回路
    (6)から第2番目以降のプリフェッチ信号を発生させ
    るプリフェッチのための信号反復出力回路(9)とを設
    け、 該プリフェッチ信号発生回路(6)から順次に出力され
    るプリフェッチ要求信号に応答してプリフェッチ動作を
    前記複数の主記憶読出しポートを介して生ぜしめるよう
    にしたことを特徴とするキャッシュメモリ制御方式。
JP62202092A 1987-08-13 1987-08-13 キャッシュメモリ制御方式 Expired - Fee Related JPH0690681B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62202092A JPH0690681B2 (ja) 1987-08-13 1987-08-13 キャッシュメモリ制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62202092A JPH0690681B2 (ja) 1987-08-13 1987-08-13 キャッシュメモリ制御方式

Publications (2)

Publication Number Publication Date
JPS6446145A JPS6446145A (en) 1989-02-20
JPH0690681B2 true JPH0690681B2 (ja) 1994-11-14

Family

ID=16451834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62202092A Expired - Fee Related JPH0690681B2 (ja) 1987-08-13 1987-08-13 キャッシュメモリ制御方式

Country Status (1)

Country Link
JP (1) JPH0690681B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143463A (ja) * 1991-11-20 1993-06-11 Toshiba Corp キヤツシユメモリ装置
JP4691335B2 (ja) 2004-07-30 2011-06-01 富士通株式会社 記憶制御装置、中央処理装置、情報処理装置及び記憶制御装置の制御方法
US10402332B2 (en) * 2016-05-24 2019-09-03 Xilinx, Inc. Memory pre-fetch for virtual memory

Also Published As

Publication number Publication date
JPS6446145A (en) 1989-02-20

Similar Documents

Publication Publication Date Title
KR100278328B1 (ko) 캐시 미스 버퍼
KR100274327B1 (ko) 캐시가 일관된 다중 처리기 컴퓨터 시스템에서 다중 미결동작을 제공하기 위한 장치 및 그 방법
US5586295A (en) Combination prefetch buffer and instruction cache
US5717895A (en) Associative scalar data cache with write-through capabilities for a vector processor
JPH04218835A (ja) 延滞キャッシュ・ロードを有するデータプロセッサ
JP2001290706A (ja) Tlbキャッシュのためのプリフェッチ
US6012135A (en) Computer having multiple address ports, each having logical address translation with base and limit memory management
JPH03225542A (ja) データ記憶方法及びビットエンコードデータの処理回路
EP0144268B1 (en) Method for controlling buffer memory in data processing apparatus
US5197145A (en) Buffer storage system using parallel buffer storage units and move-out buffer registers
JPS62102344A (ja) バツフア・メモリ制御方式
JPH0516061B2 (ja)
JPH0690681B2 (ja) キャッシュメモリ制御方式
US5276853A (en) Cache system
JP2004240616A (ja) メモリコントローラ及びメモリアクセス制御方法
JP2637320B2 (ja) バッファ記憶制御方式
JPH0326862B2 (ja)
JPH0546475A (ja) バツフア記憶制御方式
JPH02259945A (ja) ストア処理方式
JP2924708B2 (ja) 情報処理装置
JP2001344152A (ja) キャッシュメモリ装置
JP2507785B2 (ja) ペ―ジテ―ブルエントリ無効化装置
JP2538993B2 (ja) オペランドストアのキャッシュメモリヘのストア制御方式
JPS59218692A (ja) ロジカルバツフア記憶制御方式
JPS5818710B2 (ja) 記憶システム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees