JPH0895855A - 演算処理システムに用いられるプリフェッチバッファ装置 - Google Patents

演算処理システムに用いられるプリフェッチバッファ装置

Info

Publication number
JPH0895855A
JPH0895855A JP6229949A JP22994994A JPH0895855A JP H0895855 A JPH0895855 A JP H0895855A JP 6229949 A JP6229949 A JP 6229949A JP 22994994 A JP22994994 A JP 22994994A JP H0895855 A JPH0895855 A JP H0895855A
Authority
JP
Japan
Prior art keywords
address
data
storage means
arithmetic processing
output
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.)
Granted
Application number
JP6229949A
Other languages
English (en)
Other versions
JP2689920B2 (ja
Inventor
Atsushi Okamura
淳 岡村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP6229949A priority Critical patent/JP2689920B2/ja
Publication of JPH0895855A publication Critical patent/JPH0895855A/ja
Application granted granted Critical
Publication of JP2689920B2 publication Critical patent/JP2689920B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 演算処理装置とそれがアクセスするメインメ
モリとの間にプリフェッチバッファ装置を接続し、演算
処理装置のアクセス性能の低下を防止する。 【構成】 演算処理装置100とメインメモリ200と
の間に、プリフェップリフェッチバッファ部と外部制御
回路120とからなるプリフェップリフェッチバッファ
装置を設ける。プリフェップリフェッチバッファ部は、
プリフェップリフェッチバッファ121,122を有す
る。プリフェッチバッファは121,122は、対とな
ってデータを格納しているバッファメモリ118,11
9およびバッファメモリ126,127を有する。外部
制御回路は、演算処理部から要求されたデータが2つの
プリフェッチバッファのいずれかでヒットした場合に
は、そのデータを演算処理装置に渡すとともに、他方の
プリフェップリフェッチバッファにヒットしたデータの
次のデータをメインメモリから転送させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は演算処理システムに関
し、特には演算処理装置、メインメモリおよびキャッシ
ュメモリを具備する演算処理システムに関する。
【0002】
【従来の技術】図3は演算処理システムの従来例を示す
ブロック図、図4はダイレクトマップ方式が適用された
キャッシュメモリ周辺を示すブロック図である。図3に
おいてキャッシュメモリシステムは、キャッシュメモリ
207および比較器212からなり、演算部201とメ
インメモリ215との間に位置しメモリアクセスの高速
化を実現することにより演算処理システムの性能を向上
させる。
【0003】次に図3の演算処理システムの動作を例に
あげてキャッシュシステムの動作について説明する。演
算部201は、アドレスバス202とデータバス203
を用いてメモリアクセスを行う。演算部201は、アド
レスをアドレスバス202に出力するとともに、メモリ
アクセスの状態を外部に示す制御信号204,205,
206を出力する。また、演算部201がメモリ20
7,215からデータを読み出す場合は、データバス2
03を読み込み用に使用し、演算部201がメモリへデ
ータを書き込む場合は、データバス203を書き込み用
に用いる。
【0004】キャッシュメモリ207は、それぞれライ
ンとよばれる複数のメモリ単位を具備している。各ライ
ンはそれぞれタグアドレス、バリッドフラグおよびデー
タを記憶するためのメモリ領域であるタグアドレス記憶
部208,バリッドフラグ記憶部209,データ記憶部
210を有する。タグアドレス記憶部208のタグアド
レスには、データ記憶部210に格納されているデータ
がメインメモリ215においてはどこに格納されている
かを示すメインメモリ215のアドレスが格納される。
また、バリッドフラグ記憶部209のバリッドフラグ
は、対応するラインが有効なデータを含んでいるか否か
を示す。さらにキャッシュメモリ207は、アドレスバ
ス202からのアドレスの一部分を用いて前記複数のラ
インのうちの一つを選択するデコーダ211を具備して
いる。比較器212は、デコーダ211で選択したライ
ンのタグアドレスと、アドレスバス202からのアドレ
スの対応する部分とを比較する。
【0005】次にダイレクトマップ方式のアドレス比較
方法について図4を参照して説明する。アドレスバス2
02からのアドレスは、MSB側部分301,中央部分
302,LSB側部分303の3つの部分に分けられて
いる。LSB側部分303は、前記ラインのなかのデー
タを選択する部分である。中央部分302は、デコーダ
211でデコードされキャッシュメモリ300のエント
リを選択するために用いられる。MSB側部分301
は、ラインに入っているデータが、メインメモリのいず
れかのアドレスにあるデータかどうかを判定するキーと
して用いられる。キャッシュラインのサイズは、演算処
理装置のデザインによってことなるが、概ね1ワードか
ら8ワード位のサイズになる(データの入るメモリのサ
イズはラインサイズと呼ばれる)。
【0006】演算処理装置の命令/データアクセスに
は、アドレスの局所性という経験的な法則がある。アド
レスの局所性とは、あるアドレスにアクセスがあった場
合に、そのアクセスに関連して、その周辺のデータがア
クセスされやすいという位置的な局所性を有するととも
に、一度アクセスのあったデータは、時間をおいて、何
度かアクセスされるという時間的な局所性を有するとい
うことである。小容量の高速メモリからなるキャッシュ
メモリは、上述の性質を利用し、一度キャッシュメモリ
中に置いたデータは、アドレスの衝突が起こらない限り
キャッシュメモリ中に置き続け、小容量の高速メモリを
効果的に使用しようとするものである。また、ラインサ
イズを大きくとることで、一度アクセスしたアドレスの
周辺のデータを同時にとってくることによっても、やは
り、小容量の高速メモリを効果的に使用しようとする。
しかし、キャッシュメモリ付きの演算処理装置のメモリ
インターフェースバスに通常のメインメモリを接続する
と、メインメモリのアクセスタイムの遅さから、演算処
理装置の性能を低下させてしまういう問題がある。
【0007】本発明は上記問題に鑑み、演算処理装置と
メインメモリとの間に接続し、演算処理装置の性能が低
下するのを防止するプリフェッチバッファ装置を提供す
ることを目的とする。
【0008】
【課題を解決するための手段】本発明のプリフェッチバ
ッファ装置は、内部に演算部、キャッシュメモリ、内部
制御回路を有し、演算部はキャッシュメモリをアクセス
するとともに、内部制御回路を駆動して外部にアクセス
可能にされている演算処理装置と、前記演算処理装置の
外部に配置されたメインメモリとの間に設けられた、プ
リフェッチバッファ部および外部制御回路からなるプリ
フェッチバッファ装置であって、前記プリフェッチバッ
ファ部は、前記演算処理装置がデータを要求する際にア
ドレスバス端子に出力するアドレスを受け取るためのア
ドレス入力バスと、前記演算処理装置が要求したデータ
を前記演算処理装置のデータバス端子に転送するための
データ出力バスと、要求するデータのアドレスを前記メ
インメモリに出力するためのアドレス出力バスと、前記
メインメモリに要求したデータを前記メインメモリから
受け取るためのデータ入力バスと、前記メインメモリに
要求し、前記データ入力バスを介して受け取ったデータ
を格納するための複数のバッファ記憶手段と、前記各バ
ッファ記憶手段に対応してそれぞれ設けられ、前記各バ
ッファ記憶手段に記憶されたデータの前記メインメモリ
でのアドレスをそれぞれ記憶する複数のタグアドレス記
憶手段と、前記各バッファ記憶手段に対応してそれぞれ
設けられ、前記各バッファ記憶手段に記憶されているデ
ータが有効か無効かをそれぞれ記憶する複数のバリッド
フラグ記憶手段と、前記各バッファ記憶手段に対応して
それぞれ設けられ、前記各タグアドレス記憶手段のタグ
アドレスと前記演算処理装置からのアドレスとを比較
し、2つのアドレスが一致するか否かをそれぞれ検出す
る複数のアドレス比較手段とを有し、前記外部制御回路
は、前記複数のアドレス比較手段のいずれかが2つのア
ドレスの一致したこと検出すると、一致を検出したアド
レス比較手段に対応するバッファ記憶手段に格納されて
いるデータに連続するデータの格納場所を示す前記メイ
ンメモリのアドレスを生成し、一致を検出したアドレス
比較手段に対応するバッファ記憶手段以外のバッファ記
憶手段に、前記メインメモリから該当するデータを転送
させ、それぞれのバッファ記憶手段に格納させるととも
に、生成したアドレスを該当するタグアドレス記憶手段
に格納させる。
【0009】また、本発明のプリフェッチバッファ装置
は、演算処理装置が要求したデータの有効アドレスを受
け取るためのアドレス入力バスと、前記演算処理装置が
要求したデータを転送するためのデータ出力バスと、プ
リフェッチバッファ装置が外部に要求するデータのアド
レスを指定するアドレス出力バスと、前記プリフェッチ
バッファ装置が要求したデータを前記プリフェッチバッ
ファ装置の外部とデータを転送するためのデータ入力バ
スと、データを格納する複数のバッファ記憶手段と、前
記各バッファ記憶手段に記憶されているデータのメイン
メモリ中でのアドレスを記憶するタグアドレス記憶手段
と、前記バッファ記憶手段に記憶されているデータが有
効か無効かを記憶するバリッドフラグ記憶手段と、前記
各バッファ記憶手段に対応してそれぞれ設けられ、前記
各タグアドレス記憶手段のタグアドレスと前記演算処理
装置からのアドレスとを比較し、2つのアドレスが一致
するか否かをそれぞれ検出する複数のアドレス比較手段
とを有し、前記アドレス記憶手段の出力を前記アドレス
比較手段の一方のアドレス入力に接続し、前記演算処理
装置からのアドレス入力バスの示されたアドレスを前記
アドレス比較手段のもう一方のアドレス入力に接続した
纏まりをエントリとして、エントリを2組以上有し、前
記エントリ中の前記タグアドレス記憶手段に記憶されて
いるアドレスを選択する手段と、前記アドレス選択手段
の出力に一定の演算を行う演算手段を有し、前記複数の
エントリ中の前記タグアドレス記憶手段の出力をそれぞ
れ前記アドレス選択手段の入力に接続し、前記アドレス
選択手段の出力に前記演算手段の入力を接続している。
【0010】すなわち、本発明のプリフェッチバッファ
装置は、複数のエントリとよばれる記憶ブロック最小単
位と、その周辺回路で構成される。
【0011】
【作用】エントリは、データを格納するバッファ記憶手
段と、バッファ記憶手段に記憶されているデータのメイ
ンメモリ中でのアドレスを記憶するタグアドレス記憶手
段とバッファ記憶手段に記憶されているデータが有効か
無効かを記憶するバリッドフラグ手段と、2つの有効ア
ドレスを比較し、2つのアドレスが一致することを検出
する比較手段を有する。タグアドレス記憶手段の出力を
前記アドレス比較手段の一方のアドレス入力に接続し、
前記演算処理装置からのアドレス入力バスに示されたア
ドレスを前記アドレス比較手段のもう一方のアドレス入
力に接続する。エントリに入っているデータが演算処理
装置の要求するデータに等しい場合は、そのエントリの
バッファ記憶手段の内容を直接返し、かつ、他のエント
リのデータを更新することで、演算処理装置の発生する
連続するアドレスのアクセスを高速処理する。
【0012】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。図1は本発明のプリフェッチバッファ装置
の一実施例を示すブロック図、図2は図1の実施例の動
作を示す状態遷移図である。図1の実施例においては、
第1,第2のプリフェッチバッファ121,122から
なるプリフェッチバッファ部と、外部制御回路とがプリ
フェッチバッファ装置を構成している。プリフェッチバ
ッファ装置は、演算処理装置100とメインメモリ20
0との間に配置され、これらとともに全体で演算処理シ
ステムを構成している。
【0013】演算処理装置100は、演算部101と、
キャッシュメモリ102および比較器112を主要素と
するキャッシュシステムと、制御回路104とで構成さ
れている。このように構成された演算処理装置100は
集積回路として形成するのに適している。このキャッシ
ュメモリ付きの演算処理装置100は、32ビットのア
ドレスバス端子105と、64ビットのデータバス端子
106とを介してメインメモリ200とデータ交換を行
う。演算処理装置100は、前記端子を介して一般的に
20nS程度の時間で、1回のメモリアクセスサイクル
を実行し、64ビットのデータをメインメモリ200か
ら転送させる。ここで、キャッシュメモリ102のライ
ンサイズを16バイトとするとキャッシュメモリの1ラ
インを入れ替えるのに2回のバスサイクルを必要とす
る。
【0014】メインメモリ200は、32ビットのアド
レス端子113と256ビットのデータ端子114を有
し、一度に256ビットのデータを読み出すことができ
るが、前記アドレス端子にアドレスを受け取ってから、
前記データ端子にデータを出力するまで100nSから
300nS程度の一定の待ち時間を必要とする。
【0015】メインメモリ200と演算処理装置100
とを接続するためには、演算処理装置100がメインメ
モリ200をアクセスに行った場合に、メインメモリ2
00の待ち時間に合わせて、演算処理装置100の演算
処理を待たせることが必要になる。もちろん、演算処理
装置100からの要求に従ってメインメモリ200をア
クセスし、毎アクセスごとに待ち時間を挿入すると演算
処理装置100の性能が下がってしまうことになる。こ
の性能低下を防止すること、換言すればメインメモリ2
00に対する演算処理装置100の性能を向上させるの
がプリフェッチバッファ装置である。
【0016】プリフェッチバッファ装置のプリフェッチ
バッファ部は、上述したように、2エントリのプリフェ
ッチバッファ121,122を有する。プリフェッチバ
ッファ121,122の各エントリをそれぞれBANK
−A、BANK−Bと呼ぶこととする。プリフェッチバ
ッファ部は、BANK−A中に、32バイトのバッファ
メモリ118,119と、17ビットのアドレス比較器
115と、バッファメモリに記憶されているデータのア
ドレス[31:5](アドレスのMSBをビット31と
し、LSBをビット0としたとき、アドレスのビット3
1からビット5まで)がタグアドレスとして記憶される
タグアドレス記憶部116と、プリフェッチバッファ1
21,122に記憶されているデータが有効であること
を示すバリッドフラグを記憶するバリッドフラグ記憶部
117とを有する。勿論BANK−Bについても同様
で、32バイトのバッファメモリ126,127と、ア
ドレス比較器123と、タグアドレス記憶部124と、
バリッドフラグ記憶部125とを有する。
【0017】プリフェッチバッファ121,122は、
それぞれ対となっているバッファメモリ118,119
とバッファメモリ126,127とを含んでいる。各バ
ッファメモリのサイズは16バイトであるから、各プリ
フェッチバッファ121,122は、演算処理装置10
0が一度にアクセスするデータのサイズの2倍の32バ
イトのサイズを有することとなる。
【0018】バッファメモリ118,119のデータ
は、セレクタ142の選択により一方が選択され、16
バイト単位で取り扱われる。同様にバッファメモリ12
6,127のデータは、セレクタ143の選択により一
方が選択され、16バイト単位で取り扱われる。セレク
タ142,143は、演算処理装置の発生する前記実行
アドレスのビット[4](LSBから5番目のビット)
を用い、セレクタ141を介して選択される。
【0019】書き込みは例えば、対となっているバッフ
ァメモリ118,119に同時におこなえるようになっ
ている。バッファメモリ118,119には、データ
が、32バイトアラインで記憶され、データのLSB側
はバッファメモリ118に、データのMSB側はバッフ
ァメモリ119にそれぞれ記憶される。バッファメモリ
118,119についても同様である。このように構成
することにより、メインメモリ200がバンド幅が大き
いがレイテンシタイムも大きい構成となっていても、演
算処理装置から見ると、メインメモリ200が自己の扱
うバンド幅で扱うことができ、レイテンシタイムの小さ
いメインメモリに見える。
【0020】演算処理装置100の演算部101が、メ
モリアクセス要求を出す場合、アドレスバス端子105
にアドレスが出力される。前記アドレスは、BANK−
AおよびBANK−Bのアドレス比較器115,123
の一方の入力端に入力される。アドレス比較器115,
123は、BANK−AおよびBANK−Bに記憶され
ているタグアドレス記憶部116,124のタグアドレ
スと、アドレスバス端子105からのアドレスとを比較
し、比較の結果で両者が一致しており、かつバリッドフ
ラグ記憶部117,125のバリッドフラグが1であれ
ば、アドレス比較器115,123の出力であるヒット
信号128,129を1として出力する。外部制御回路
120は、BANK−AまたはBANK−Bから1なる
ヒット信号であるHITA132またはHITB134
を受け付けると、1なるヒット信号を出力したBANK
−AまたはBANK−Bからのデータ出力を選択するよ
うにセレクタの制御信号であるBANKSEL131を
出力する。
【0021】外部制御回路120は、演算処理装置のメ
モリアクセス要求にしたがって、プリフェッチバッファ
121,122のデータを更新する。これは、以下の手
順で行われる。演算処理装置のメモリアクセス要求が、
BANK−Aにヒットすると仮定する。この結果、HI
TA132が発生する。外部制御回路120は、このH
ITA132を受けて、後述する一定の条件を判定し
て、プリフェッチバッファのデータを更新するか否かを
決定する。演算処理装置のメモリアクセス要求がBAN
K−Aにヒットすると、外部制御回路は、アドレスセレ
クタ120により、BANK−Aのタグアドレス116
からのアドレスを選択する。
【0022】このタグアドレス116には現在演算処理
装置がアクセスしているアドレスがはいっている。この
アドレスに1を加えて現在BANK−Aに存在するデー
タに続くデータのアドレスを生成し、このアドレスをメ
インメモリをアクセスするアドレスバス113に出力
し、メインメモリ200をアクセスする。
【0023】メインメモリ200は、プリフェッチバッ
ファ部から、アドレスバス113を通してアドレスを受
け、該当するアドレスのデータをデータ端子114を介
してデータバス140に出力する。外部制御回路120
は、制御信号であるBA−BW135をアクティブにし
てBANK−Bのバッファメモリ126,127にデー
タバス140上のデータを書き込む。
【0024】以上の一連の動作で、BANK−Aがヒッ
トした場合に、BANK−Bのリプレイスが同時に行わ
れるシーケンスについて解説した。BANK−Bがヒッ
トした場合もBANK−Aのリプレイスが同様に行われ
る。
【0025】次にリプレイスの条件について解説する。
勿論,演算処理装置の要求は、1バイトから16バイト
までの任意大きさのアクセスが考えられるが、各BAN
Kは、最低でもプロセッサからの2回分のアクセスを受
け付けるだけの容量を有している。そこで、例えば演算
処理装置のアクセスが、BANK−Aにヒットし、デー
タの下位アドレス側のバッファメモリ118のデータを
要求した場合には、上位アドレス側のバッファメモリ1
19のデータは、まだアクセスされずに残っている。演
算処理装置のアクセスは、連続したアドレスに発生する
ことが多いから、次のアクセスが始まる前にBANK−
Aのデータを入れ替えてしまうと、BANK−Aにプリ
フェッチしたデータを破棄してしまうことになる。この
ため、プリフェッチを以下の手順で制御する。
【0026】外部制御回路120は、プリフェッチバッ
ファ部の動作に関する状態遷移を図2に示されるように
記憶している。図2において、符号505,506は内
部ステートを表わす。遷移502,503は、BANK
−AからのHITAが1で、演算処理装置からのデータ
ストローブ信号であるM−DS129が1になる条件で
発生する。また、BANK−BからのHITB134が
1で、演算処理装置からのM−DSが1になる条件で
は、遷移501,504が発生する。また、遷移501
または502が発生した場合にメインメモリ200をア
クセスすることと、バッファメモリのデータを更新する
こととを実行する。遷移501が発生した場合には、セ
レクタ120を用いてBANK−Bのタグアドレスを選
択し、BANK−Aの入れ替えを行い、遷移502が発
生した場合にはセレクタ120で、BANK−Aのタグ
アドレスを選択し、BANK−Bの入れ替えを実行す
る。
【0027】なお、上述の実施例ではバッファメモリが
2対の場合について説明したが、本発明は、これに限定
されるものでなく、3対以上でも良い。
【0028】
【発明の効果】本発明のプリフェッチバッファ装置は、
キャッシュメモリ付きの演算処理装置に、メインメモリ
を接続しようとする場合に、その両者の間に接続するの
が最も効果的である。
【0029】演算処理装置内部に集積するのであれば、
より効率の良い方法で、プリフェッチバッファ装置を制
御することができる。しかし、通常の集積化された回路
で構成された演算処理装置は、外部にプリフェッチバッ
ファ装置を接続するのは困難である。しかし本発明は、
集積された演算処理装置の外部にプリフェッチ装置を接
続することを可能にする。
【0030】ここで、キャッシュ付演算処理装置に単な
るメインメモリを接続した場合と、両装置の間にプリフ
ェッチ装置を接続した場合の性能を比較する。キャッシ
ュ付演算処理装置が、バスサイクル20nSでデータを
要求し、メインメモリが、データを返すのに100nS
必要であると仮定する。
【0031】プリフェッチバッファを挿入しない場合で
は、メインメモリサイクルは、5バスサイクルを必要と
するが、プリフェッチバッファを挿入し、かつ、プリフ
ェッチバッファに当った場合は、1バスサイクルでデー
タを返すことができる。勿論プリフェッチ装置は、はず
れることもあるため、この仮定は一概には言い切れな
い。しかし、はずれた場合でも、プリフェッチバッファ
を挿入した場合と変わらないため、結局性能は改善され
る。
【図面の簡単な説明】
【図1】本発明のプリフェッチバッファ装置の一実施例
を示すブロック図である。
【図2】図1の実施例の動作を示す状態遷移図である。
【図3】従来例を示すブロック図である。
【図4】ダイレクトマップ方式が適用されたキャッシュ
メモリを説明するためのブロック図である。
【符号の説明】
100 演算処理装置 101 演算部 102 アドレスバス 103 データバス 104 制御回路 105 アドレスバス端子 106 データバス端子 107 キャッシュメモリ 108,116,124 タグアドレス記憶部 109 バリッドフラグ記憶部 110 データ記憶部 111 デコーダ 112 比較器 115,123 アドレス比較器 117,125 バリッドフラグ記憶部 118,126 16バイトバッファメモリ(下位) 119,127 16バイトバッファメモリ(上位) 120 アドレスセレクタ 121 プリフェッチバッファ(BANK−A) 122 プリフェッチバッファ(BANK−B) 128 レディ信号(M−RDY) 129 データストローブ信号(M−DS) 130 リードライト信号(M−R/W) 131 バンクセレクト信号(BANKSEL) 132 バンクAヒット信号(HITA) 133 バンクA書き込み制御信号(BA−AW) 134 バンクBヒット信号(HITB) 135 バンクB書き込み制御信号(BA−BW) 136 プリフェッチアドレス選択制御信号(BA−
SEL) 137 アドレスセレクト制御信号(ADR−SE
L) 138 メモリ読み出し制御信号(RD) 139 メモリ書き込み制御信号(WE) 140 データ読み出しバス 141,142,143 データセレクタ 200 メインメモリ

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 内部に演算部、キャッシュメモリ、内部
    制御回路を有し、演算部はキャッシュメモリをアクセス
    するとともに、内部制御回路を駆動して外部にアクセス
    可能にされている演算処理装置と、前記演算処理装置の
    外部に配置されたメインメモリとの間に設けられた、プ
    リフェッチバッファ部および外部制御回路からなるプリ
    フェッチバッファ装置であって、 前記プリフェッチバッファ部は、 前記演算処理装置がデータを要求する際にアドレスバス
    端子に出力するアドレスを受け取るためのアドレス入力
    バスと、 前記演算処理装置が要求したデータを前記演算処理装置
    のデータバス端子に転送するためのデータ出力バスと、 要求するデータのアドレスを前記メインメモリに出力す
    るためのアドレス出力バスと、 前記メインメモリに要求したデータを前記メインメモリ
    から受け取るためのデータ入力バスと、 前記メインメモリに要求し、前記データ入力バスを介し
    て受け取ったデータを格納するための複数のバッファ記
    憶手段と、 前記各バッファ記憶手段に対応してそれぞれ設けられ、
    前記各バッファ記憶手段に記憶されたデータの前記メイ
    ンメモリでのアドレスをそれぞれ記憶する複数のタグア
    ドレス記憶手段と、 前記各バッファ記憶手段に対応してそれぞれ設けられ、
    前記各バッファ記憶手段に記憶されているデータが有効
    か無効かをそれぞれ記憶する複数のバリッドフラグ記憶
    手段と、 前記各バッファ記憶手段に対応してそれぞれ設けられ、
    前記各タグアドレス記憶手段のタグアドレスと前記演算
    処理装置からのアドレスとを比較し、2つのアドレスが
    一致するか否かをそれぞれ検出する複数のアドレス比較
    手段とを有し、 前記外部制御回路は、前記複数のアドレス比較手段のい
    ずれかが2つのアドレスの一致したこと検出すると、一
    致を検出したアドレス比較手段に対応するバッファ記憶
    手段に格納されているデータに連続するデータの格納場
    所を示す前記メインメモリのアドレスを生成し、一致を
    検出したアドレス比較手段に対応するバッファ記憶手段
    以外のバッファ記憶手段に、前記メインメモリから該当
    するデータを転送させ、それぞれのバッファ記憶手段に
    格納させるとともに、生成したアドレスを該当するタグ
    アドレス記憶手段に格納させることを特徴とするプリフ
    ェッチバッファ装置。
  2. 【請求項2】 演算処理装置が要求したデータの有効ア
    ドレスを受け取るためのアドレス入力バスと、 前記演算処理装置が要求したデータを転送するためのデ
    ータ出力バスと、 プリフェッチバッファ装置が外部に要求するデータのア
    ドレスを指定するアドレス出力バスと、 前記プリフェッチバッファ装置が要求したデータを前記
    プリフェッチバッファ装置の外部とデータを転送するた
    めのデータ入力バスと、 データを格納する複数のバッファ記憶手段と、 前記各バッファ記憶手段に記憶されているデータのメイ
    ンメモリ中でのアドレスを記憶するタグアドレス記憶手
    段と、 前記バッファ記憶手段に記憶されているデータが有効か
    無効かを記憶するバリッドフラグ記憶手段と、 前記各バッファ記憶手段に対応してそれぞれ設けられ、
    前記各タグアドレス記憶手段のタグアドレスと前記演算
    処理装置からのアドレスとを比較し、2つのアドレスが
    一致するか否かをそれぞれ検出する複数のアドレス比較
    手段とを有し、 前記アドレス記憶手段の出力を前記アドレス比較手段の
    一方のアドレス入力に接続し、 前記演算処理装置からのアドレス入力バスの示されたア
    ドレスを前記アドレス比較手段のもう一方のアドレス入
    力に接続した纏まりをエントリとして、エントリを2組
    以上有し、 前記エントリ中の前記タグアドレス記憶手段に記憶され
    ているアドレスを選択する手段と、 前記アドレス選択手段の出力に一定の演算を行う演算手
    段を有し、 前記複数のエントリ中の前記タグアドレス記憶手段の出
    力をそれぞれ前記アドレス選択手段の入力に接続し、前
    記アドレス選択手段の出力に前記演算手段の入力を接続
    したプリフェッチバッファ装置。
  3. 【請求項3】 前記データを格納するバッファ記憶手段
    の記憶容量は、演算処理装置が、発生するアクセスの最
    大の大きさの整数倍の大きさになっており、前記バッフ
    ァ記憶手段の読み出しが、演算処理装置の発生するアク
    セスの最大サイズまでの、任意のサイズのデータを選択
    することができ、書き込みは、エントリ内にある前記バ
    ッファ記憶手段の全体を一度に書き込むことができるよ
    うになった請求項2記載のプリフェッチバッファ装置。
  4. 【請求項4】 前記エントリ中の前記アドレス比較手段
    の出力が一致状態であり、かつ、前記エントリ中の前記
    データの有効/無効を記憶するバリッドフラグ記憶手段
    の出力が有効であるなら、同一エントリ中の前記バッフ
    ァ記憶手段に記憶されているデータを前記演算処理装置
    が要求されたデータを転送するためのデータ入出力バス
    に転送し、前記一致状態のエントリ中の前記タグアドレ
    ス記憶手段のアドレスを前記アドレス選択手段で選択
    し、前記演算手段で次にプリフェッチするアドレスを生
    成し、前記演算手段の出力を、外部にデータを要求する
    ためのアドレス出力バスに出力し、前記アドレスを用い
    て何れかのエントリを更新する請求項2または3記載の
    プリフェッチバッファ装置。
  5. 【請求項5】 前記エントリ中の前記アドレス比較手段
    の出力が一致状態であり、かつ、前記エントリ中の前記
    データの有効/無効を記憶するバリッドフラグ記憶手段
    の出力が有効であるなら、同一エントリ中の前記バッフ
    ァ記憶手段に記憶されているデータを前記演算処理装置
    が要求されたデータを転送するためのデータ入出力バス
    に転送し、前記一致状態のエントリ中の前記タグアドレ
    ス記憶手段のアドレスを前記アドレス選択手段で選択
    し、前記演算手段で次にプリフェッチするアドレスを生
    成し、前記演算手段の出力を、外部にデータを要求する
    ためのアドレス出力バスに出力し、前記アドレス出力バ
    スのアドレスを用いてメインメモリのアドレスを選択
    し、前記メインメモリは、前記プリフェッチバッファ装
    置が外部とデータを転送するための前記データ入出力バ
    スに記憶内容を転送し、前記プリフェッチバッファ装置
    は、前記一致状態以外のエントリのうち何れかを選択
    し、前記プリフェッチバッファ装置が外部とデータを転
    送するための前記データ入出力バスを用いて前記一致以
    外の選択したエントリのバッファ記憶手段のデータを前
    記バスを通して更新する請求項2または3記載のプリフ
    ェッチバッファ装置。
  6. 【請求項6】 前記演算処理装置からのメモリアクセス
    要求を受け付け、前記エントリ中の前記アドレス比較手
    段の出力が一致状態であり、かつ、前記エントリ中の前
    記データの有効/無効を記憶するバリッドフラグ記憶手
    段の出力が有効であり、かつ、プリフェッチバッファ装
    置が外部に要求するデータのアドレスを指定するアドレ
    ス出力バスと、前記プリフェッチバッファ装置が要求し
    たデータを前記プリフェッチバッファ装置の外部とデー
    タを転送するためのデータ入力バスが、使用中でないな
    らば、前記一致状態以外のエントリのうち何れかを選択
    し、前記選択したエントリを前記プリフェッチバッファ
    装置の外部とデータを転送するためのバスを通して更新
    する請求項2ないし5のいずれか1項記載のプリフェッ
    チバッファ装置。
  7. 【請求項7】 前記演算処理装置からのメモリアクセス
    要求を受け付け、前記エントリ中の前記アドレス比較手
    段の出力が一致状態であり、かつ、前記エントリ中の前
    記データの有効/無効を記憶するバリッドフラグ記憶手
    段の出力が有効であり、かつ、プリフェッチバッファ装
    置が外部に要求するデータのアドレスを指定するアドレ
    ス出力バスと、前記プリフェッチバッファ装置が要求し
    たデータを前記プリフェッチバッファ装置の外部とデー
    タを転送するためのデータ入力バスが、使用中でなく、
    かつ、前記一致したエントリ以外のエントリのいずれか
    が、前記メモリアクセス要求をうけるまえに一度も更新
    されていないときだけ、前記一致状態以外のエントリの
    うち何れかを選択し、前記選択したエントリを前記プリ
    フェッチバッファ装置の外部とデータを転送するための
    バスを通して更新する請求項2ないし5のいずれか1項
    記載のプリフェッチバッファ装置。
JP6229949A 1994-09-26 1994-09-26 演算処理システムに用いられるプリフェッチバッファ装置 Expired - Lifetime JP2689920B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6229949A JP2689920B2 (ja) 1994-09-26 1994-09-26 演算処理システムに用いられるプリフェッチバッファ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6229949A JP2689920B2 (ja) 1994-09-26 1994-09-26 演算処理システムに用いられるプリフェッチバッファ装置

Publications (2)

Publication Number Publication Date
JPH0895855A true JPH0895855A (ja) 1996-04-12
JP2689920B2 JP2689920B2 (ja) 1997-12-10

Family

ID=16900247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6229949A Expired - Lifetime JP2689920B2 (ja) 1994-09-26 1994-09-26 演算処理システムに用いられるプリフェッチバッファ装置

Country Status (1)

Country Link
JP (1) JP2689920B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215799A (ja) * 2005-02-03 2006-08-17 Toshiba Corp メモリコントローラ
US8225047B2 (en) 2008-03-01 2012-07-17 Kabushiki Kaisha Toshiba Memory system with pre-fetch operation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5039427A (ja) * 1973-08-10 1975-04-11
JPS53134335A (en) * 1977-04-28 1978-11-22 Fujitsu Ltd Memory control system
JPH04369061A (ja) * 1991-06-17 1992-12-21 Mitsubishi Electric Corp キャッシュメモリの制御方式
JPH0628180A (ja) * 1991-07-30 1994-02-04 Hitachi Ltd プリフェッチバッファ
JPH06103169A (ja) * 1992-09-18 1994-04-15 Nec Corp 中央演算処理装置のリードデータプリフェッチ機構

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5039427A (ja) * 1973-08-10 1975-04-11
JPS53134335A (en) * 1977-04-28 1978-11-22 Fujitsu Ltd Memory control system
JPH04369061A (ja) * 1991-06-17 1992-12-21 Mitsubishi Electric Corp キャッシュメモリの制御方式
JPH0628180A (ja) * 1991-07-30 1994-02-04 Hitachi Ltd プリフェッチバッファ
JPH06103169A (ja) * 1992-09-18 1994-04-15 Nec Corp 中央演算処理装置のリードデータプリフェッチ機構

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006215799A (ja) * 2005-02-03 2006-08-17 Toshiba Corp メモリコントローラ
US8225047B2 (en) 2008-03-01 2012-07-17 Kabushiki Kaisha Toshiba Memory system with pre-fetch operation

Also Published As

Publication number Publication date
JP2689920B2 (ja) 1997-12-10

Similar Documents

Publication Publication Date Title
US5642494A (en) Cache memory with reduced request-blocking
US5586294A (en) Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
US6496902B1 (en) Vector and scalar data cache for a vector multiprocessor
US6272597B1 (en) Dual-ported, pipelined, two level cache system
US6718441B2 (en) Method to prefetch data from system memory using a bus interface unit
JP2646854B2 (ja) マイクロプロセッサ
US5809524A (en) Method and apparatus for cache memory replacement line identification
US6934811B2 (en) Microprocessor having a low-power cache memory
US6993633B1 (en) Computer system utilizing speculative read requests to cache memory
US5918069A (en) System for simultaneously writing back cached data via first bus and transferring cached data to second bus when read request is cached and dirty
US6044447A (en) Method and apparatus for communicating translation command information in a multithreaded environment
US5987570A (en) Performing overlapping burst memory accesses and interleaved memory accesses on cache misses
JPH0695972A (ja) ディジタルコンピュータシステム
US6882589B2 (en) Prefetch buffer
US6704820B1 (en) Unified cache port consolidation
JP2689920B2 (ja) 演算処理システムに用いられるプリフェッチバッファ装置
JPH06103169A (ja) 中央演算処理装置のリードデータプリフェッチ機構
US5960456A (en) Method and apparatus for providing a readable and writable cache tag memory
US6904500B2 (en) Cache controller
KR20040047398A (ko) 캐쉬 메모리를 이용한 데이터 억세스 방법
JPH02110646A (ja) メモリの先行読出し装置
JP2976980B2 (ja) キャッシュ制御方式
JPS5927994B2 (ja) コンピユ−タシステム
JPH10207773A (ja) バス接続装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19970311

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970729