JPH04160543A - キャッシュ装置 - Google Patents
キャッシュ装置Info
- Publication number
- JPH04160543A JPH04160543A JP2286284A JP28628490A JPH04160543A JP H04160543 A JPH04160543 A JP H04160543A JP 2286284 A JP2286284 A JP 2286284A JP 28628490 A JP28628490 A JP 28628490A JP H04160543 A JPH04160543 A JP H04160543A
- Authority
- JP
- Japan
- Prior art keywords
- block
- data
- address
- cache
- fetch
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[産業上の利用分野]
この発明は、密結合マルチプロセッサシスナム等の中央
処理装置(CPU)におけるキャッシュ装置の構成に関
するものである。
処理装置(CPU)におけるキャッシュ装置の構成に関
するものである。
[従来の技術]
第3図は、従来の密結合マルチプロセッサシステムの概
要を示すブロック図であり、 (1)は主記憶装置(MMU)、(2)は中央処理装置
(CPU)、(3)は主記憶装置(1)と中央処理装置
(2)との間のデータ転送を行うためのシステムバスで
ある。 ゛第4図は、中央処理装置(2)内の
構成を示すブロック図であり、 (4)はデータ処理を実行する基本処理装置(BPU)
、(5)は主記憶装置(1)内のデータを一時的に保持
するストアイン型キャッシュブロックであり、ここでは
、8つのブロックから構成されていることを示す。
要を示すブロック図であり、 (1)は主記憶装置(MMU)、(2)は中央処理装置
(CPU)、(3)は主記憶装置(1)と中央処理装置
(2)との間のデータ転送を行うためのシステムバスで
ある。 ゛第4図は、中央処理装置(2)内の
構成を示すブロック図であり、 (4)はデータ処理を実行する基本処理装置(BPU)
、(5)は主記憶装置(1)内のデータを一時的に保持
するストアイン型キャッシュブロックであり、ここでは
、8つのブロックから構成されていることを示す。
(6)は基本処理装置(4)とキャッシュブロック(5
)の間のデータ転送をするためのキャッシュデータバス
を示す。
)の間のデータ転送をするためのキャッシュデータバス
を示す。
第5図は、主記憶装置(1)内の主記憶R’シンク成と
各キャッシュブロック構成の関係を示す構成図であり、
主記憶装置(1)の複数のブロックからひとつのバンク
(ブロック群)が構成され、8つのバンクがキャッシュ
ブロック(5)のそれぞれに対応することを示す。
各キャッシュブロック構成の関係を示す構成図であり、
主記憶装置(1)の複数のブロックからひとつのバンク
(ブロック群)が構成され、8つのバンクがキャッシュ
ブロック(5)のそれぞれに対応することを示す。
第6図は、キャッシュブロック(5)内の機能ブロック
を示したブロック図であり、 (7)はキャッシュ内のデータを管理するタグアレー部
、 (8)は主記憶装置(1)からフェッチしたデータ及び
基本処理装置(4)からの変更内容を保持するデータア
レー部を示す。
を示したブロック図であり、 (7)はキャッシュ内のデータを管理するタグアレー部
、 (8)は主記憶装置(1)からフェッチしたデータ及び
基本処理装置(4)からの変更内容を保持するデータア
レー部を示す。
第7図は、タグアレー部(7)の内部を示すブロック図
であり、 (9)はキャッシュブロック(5)内のデータのアドレ
ス及びデータの有効性等を保持するためのタグアレー、 (10)はタグアレー(9)の4つのセットから同時に
読み出されるアドレスと、キャッシュアクセスアドレス
の対応部分を比較するタグアドレス比較部、 (11)はタグアドレス比較部(10)からの−致信号
を用いてデータアレー部(8)からの読み出しデータを
選択するデータアレー読み出し制御部、 (12)はキャッシュブロック(5)のブロック番号を
保持するブロック番号保持部、 (13)は基本処理装置(4)からの主記憶アクセスア
ドレスを保持する基本処理装置アドレスレジスター、 (14)は他系中央処理装置からのキャッシュ無効化要
求アドレスを保持するキャッシュ無効化アドレスレジス
ターであり、 (15)は基本処理装置アドレスレジスター(13)か
キャッシュ無効化アドレスレジスター(14)のいずれ
かをタグアレー(9)の読み出しアドレスとするタグア
ドレス選択回路、 (16)はタグアドレス選択回路(15)によって選択
されたアドレスのブロック番号相当部分とブロック番号
保持部(12)の内容とを比較し、当該アドレスが自キ
ャッシュブロック(5)に対するものか否かを判定する
ブロック番号比較部、(17)はデータアレー部(8)
のデータを主記憶装置(1)に書き戻す際にストアバッ
クアドレスを保持するするストアバックアドレスレジス
ター、 (18)は主記憶装置(1)からデータをブロックフェ
ッチする際にブロックフェッチアドレスを保持するため
のブロックフェッチアドレス保持部を示す。
であり、 (9)はキャッシュブロック(5)内のデータのアドレ
ス及びデータの有効性等を保持するためのタグアレー、 (10)はタグアレー(9)の4つのセットから同時に
読み出されるアドレスと、キャッシュアクセスアドレス
の対応部分を比較するタグアドレス比較部、 (11)はタグアドレス比較部(10)からの−致信号
を用いてデータアレー部(8)からの読み出しデータを
選択するデータアレー読み出し制御部、 (12)はキャッシュブロック(5)のブロック番号を
保持するブロック番号保持部、 (13)は基本処理装置(4)からの主記憶アクセスア
ドレスを保持する基本処理装置アドレスレジスター、 (14)は他系中央処理装置からのキャッシュ無効化要
求アドレスを保持するキャッシュ無効化アドレスレジス
ターであり、 (15)は基本処理装置アドレスレジスター(13)か
キャッシュ無効化アドレスレジスター(14)のいずれ
かをタグアレー(9)の読み出しアドレスとするタグア
ドレス選択回路、 (16)はタグアドレス選択回路(15)によって選択
されたアドレスのブロック番号相当部分とブロック番号
保持部(12)の内容とを比較し、当該アドレスが自キ
ャッシュブロック(5)に対するものか否かを判定する
ブロック番号比較部、(17)はデータアレー部(8)
のデータを主記憶装置(1)に書き戻す際にストアバッ
クアドレスを保持するするストアバックアドレスレジス
ター、 (18)は主記憶装置(1)からデータをブロックフェ
ッチする際にブロックフェッチアドレスを保持するため
のブロックフェッチアドレス保持部を示す。
第8図は、データアレー部(8)の内部構成を示したブ
ロック図であり、 (19)は主記憶装置(1)からのフェッチデータを保
持する2ボート読み出し機能付きデータアレー、 (20)は主記憶装置(1)からのフェッチデータをデ
ータアレー(19)の4つのセットに振り分けたり、逆
に主記憶装置(1)への書き戻しデータをデータアレー
(19)の4つのセットから選択する主記憶データ選択
回路、 (21)は基本処理装置(4)からのストアデータをデ
ータアレー(19)の4つのセットに振り分けたり、逆
に基本処理装置(4)への読み出しデータをデータアレ
ー(19)の4つのセットから選択する基本処理装置デ
ータ選択回路、(22)は主記憶装置(1−)からのフ
ェッチデータを保持したり、主記憶装置(1)またはデ
ータアレー(19)からの読み出しデータに、基本処理
装置(4)からの書き込みデータを埋め込むためのマー
ジレジスター、 (23)はデータアレー(19)のデータを主記憶装置
(1)へ書き戻す際に、書き込みデータを一時保存する
ストアバックデータレジスター、(24)は主記憶装置
(1)からのフェッチデータをデータアレー(19)へ
書き込むと同時に基本処理装置(4)へも転送するため
のフェッチデータ通過回路である。
ロック図であり、 (19)は主記憶装置(1)からのフェッチデータを保
持する2ボート読み出し機能付きデータアレー、 (20)は主記憶装置(1)からのフェッチデータをデ
ータアレー(19)の4つのセットに振り分けたり、逆
に主記憶装置(1)への書き戻しデータをデータアレー
(19)の4つのセットから選択する主記憶データ選択
回路、 (21)は基本処理装置(4)からのストアデータをデ
ータアレー(19)の4つのセットに振り分けたり、逆
に基本処理装置(4)への読み出しデータをデータアレ
ー(19)の4つのセットから選択する基本処理装置デ
ータ選択回路、(22)は主記憶装置(1−)からのフ
ェッチデータを保持したり、主記憶装置(1)またはデ
ータアレー(19)からの読み出しデータに、基本処理
装置(4)からの書き込みデータを埋め込むためのマー
ジレジスター、 (23)はデータアレー(19)のデータを主記憶装置
(1)へ書き戻す際に、書き込みデータを一時保存する
ストアバックデータレジスター、(24)は主記憶装置
(1)からのフェッチデータをデータアレー(19)へ
書き込むと同時に基本処理装置(4)へも転送するため
のフェッチデータ通過回路である。
次に動作について説明する。
中央処理装置(例えばCPU 1 )はシステムバス(
3)によって主記憶装置(1)及び他糸中央処理装置(
例えばCPU2.3、・・、n)とデータの授受を行い
ながらデータ処理を実行する。
3)によって主記憶装置(1)及び他糸中央処理装置(
例えばCPU2.3、・・、n)とデータの授受を行い
ながらデータ処理を実行する。
中央処理装置(2)の内部では、主記憶装置、(1)内
のデータの写しを複数のキャッシュブロック(5)に保
持することによって、低速の主記憶装置(1)へのアク
セス頻度を減らすと同時に、システムバス(3)利用の
競合を減らして、基本処理装置(4)によるデータ処理
速度を維持している。
のデータの写しを複数のキャッシュブロック(5)に保
持することによって、低速の主記憶装置(1)へのアク
セス頻度を減らすと同時に、システムバス(3)利用の
競合を減らして、基本処理装置(4)によるデータ処理
速度を維持している。
主記憶装置(1)は8つの独立に動作可能なブロック群
(バンクO11、・・、7)に分かれており、それぞれ
のバンクに対応して、キャッジゴブロック(5)が設け
られている。これによって、主記憶装置内のデータブロ
ック番号0,8,16、、、(バンクO)とキャッシュ
ブロックC0間、データブロック番号1..9.17.
、− (バンク1)とキャッシュブロックC1間等で
化データバンクとは独立にデータ転送を実行出来る。
(バンクO11、・・、7)に分かれており、それぞれ
のバンクに対応して、キャッジゴブロック(5)が設け
られている。これによって、主記憶装置内のデータブロ
ック番号0,8,16、、、(バンクO)とキャッシュ
ブロックC0間、データブロック番号1..9.17.
、− (バンク1)とキャッシュブロックC1間等で
化データバンクとは独立にデータ転送を実行出来る。
一方、キャッシュブロック(5)はタグアレー部(7)
とデータアレー部(8)とに大きく分割できる。基本処
理装置(4)が主記憶装置(1)内のデータをフェッチ
する場合には、フェッチアドレスをキャッシュバス(6
)上に出力すると同時に、主記憶データフェッチ要求を
全キャッシュブロック(5)へ送出する。各キャッシュ
ブロック(5)内のタグアレー部(7)は、キャッシュ
バス(6)上のフェッチアドレスを用いて同時にそれぞ
れのデータアレー部(8)におけるデータの有無を調べ
、データが存在した場合には、当該キャッシュブロック
(5)のデータアレー部(8)からキャッシュバス(6
)上へフェッチデータを出力する。いずれのキャッシュ
ブロック(5)にもデータが存在しない場合には、フェ
ッチアドレスのブロック番号部に対応するキャッシュブ
ロック(5)が主記憶装置(1)へシステムバス(3)
を利用してデータフェッチ要求を送出する。
とデータアレー部(8)とに大きく分割できる。基本処
理装置(4)が主記憶装置(1)内のデータをフェッチ
する場合には、フェッチアドレスをキャッシュバス(6
)上に出力すると同時に、主記憶データフェッチ要求を
全キャッシュブロック(5)へ送出する。各キャッシュ
ブロック(5)内のタグアレー部(7)は、キャッシュ
バス(6)上のフェッチアドレスを用いて同時にそれぞ
れのデータアレー部(8)におけるデータの有無を調べ
、データが存在した場合には、当該キャッシュブロック
(5)のデータアレー部(8)からキャッシュバス(6
)上へフェッチデータを出力する。いずれのキャッシュ
ブロック(5)にもデータが存在しない場合には、フェ
ッチアドレスのブロック番号部に対応するキャッシュブ
ロック(5)が主記憶装置(1)へシステムバス(3)
を利用してデータフェッチ要求を送出する。
以上が、システムの概略であるが、以下に詳細に説明す
る。
る。
まず、基本処理装置(4)からのフェッチ要求処理の様
子を、第7図及び第8図を用いて説明する。基本処理装
置(4)からキャッシュバス(6)へ出力されたフェッ
チアドレスは、タグアレー部(7)の基本処理装置アド
レスレジスター(13)に保持される。基本処理装置ア
ドレスレジスター(13)に保持されたフェッチアドレ
スはタグアドレス選択回路(15)を経由してタグアレ
ー(9)の4つのセットを同時に読み出す。この読み出
しアドレスは、同時にデータアレー部(8)のデータア
レーをも読みだす。タグアレー(9)の4つのセットか
ら同時に読み出されたアドレスとタグアドレス選択回路
(15)から出力されるアドレスの対応する部分をタグ
アドレス比較部(10)で比較し、比較結果をデータア
レー読み出し制御部(11)に入力する。
子を、第7図及び第8図を用いて説明する。基本処理装
置(4)からキャッシュバス(6)へ出力されたフェッ
チアドレスは、タグアレー部(7)の基本処理装置アド
レスレジスター(13)に保持される。基本処理装置ア
ドレスレジスター(13)に保持されたフェッチアドレ
スはタグアドレス選択回路(15)を経由してタグアレ
ー(9)の4つのセットを同時に読み出す。この読み出
しアドレスは、同時にデータアレー部(8)のデータア
レーをも読みだす。タグアレー(9)の4つのセットか
ら同時に読み出されたアドレスとタグアドレス選択回路
(15)から出力されるアドレスの対応する部分をタグ
アドレス比較部(10)で比較し、比較結果をデータア
レー読み出し制御部(11)に入力する。
一方、タグアドレス選択回路(15)から出力されるア
ドレスのブロック番号部とブロック番号保持部(12)
の内容をブロック番号比較部(16)で比較し、この比
較結果もデータアレー読み出し制御部(11)に入力す
る。
ドレスのブロック番号部とブロック番号保持部(12)
の内容をブロック番号比較部(16)で比較し、この比
較結果もデータアレー読み出し制御部(11)に入力す
る。
データアレー読み出し制御部(11)は以上の比較結果
をもとに、基本処理装置(4)からのフェッチアドレス
が自キャッシュフ゛ロック(5)に対応し、かつタグア
レー(9)内に対応する有効なアドレスが保持されてい
る場合に、当該アドレスが保持されているセットと同一
のセット番号のデータアレー(19)から読み出される
データをキャッシュバス(6)へ出力するように、基本
処理装置データ選択回路(21)を制御する。
をもとに、基本処理装置(4)からのフェッチアドレス
が自キャッシュフ゛ロック(5)に対応し、かつタグア
レー(9)内に対応する有効なアドレスが保持されてい
る場合に、当該アドレスが保持されているセットと同一
のセット番号のデータアレー(19)から読み出される
データをキャッシュバス(6)へ出力するように、基本
処理装置データ選択回路(21)を制御する。
もし、いずれのキャッシュブロック゛(5)も有効なフ
ェッチデータを保持していない場合には、ブロック番号
保持部(12)の内容とタグアドレス選択回路(15)
から出力されるアドレスのブロック番号部が一致するキ
ャッシュブロック(5)が主記憶装置(1)へフェッチ
リクエストを出す。この場合、タグアドレス選択回路(
15)から出力されるアドレスをブロックフェッチアド
レス保持部(18)へ移し、ここからシステムバス(3
)へブロックフェッチアドレスを送出する。
ェッチデータを保持していない場合には、ブロック番号
保持部(12)の内容とタグアドレス選択回路(15)
から出力されるアドレスのブロック番号部が一致するキ
ャッシュブロック(5)が主記憶装置(1)へフェッチ
リクエストを出す。この場合、タグアドレス選択回路(
15)から出力されるアドレスをブロックフェッチアド
レス保持部(18)へ移し、ここからシステムバス(3
)へブロックフェッチアドレスを送出する。
主記憶装置(1)からフェッチされ、システムバス(3
)へ出力されたデータは、−旦マージレジスター(22
)へ保持した後、データアレー(19)へ書き込むと同
時に、フェッチデータ通過回路(24)を経由してキャ
ッシュバス(6)へ出力される。データアレー(19)
への書き込みに際しては、タグアレー(9)内のLRU
(Lea゛st Recently Used)
制御情報をもとに、データアレー読み出し制御部(11
)が主記憶データ選択回路(20)によってデータアレ
ー(19)の書き込みセットを選択する。
)へ出力されたデータは、−旦マージレジスター(22
)へ保持した後、データアレー(19)へ書き込むと同
時に、フェッチデータ通過回路(24)を経由してキャ
ッシュバス(6)へ出力される。データアレー(19)
への書き込みに際しては、タグアレー(9)内のLRU
(Lea゛st Recently Used)
制御情報をもとに、データアレー読み出し制御部(11
)が主記憶データ選択回路(20)によってデータアレ
ー(19)の書き込みセットを選択する。
次に、他系中央処理装置(CP ’U 2 、)が自系
中央処理装置(CPUI)のキャッシュブロック(5)
内データに書き込みを行う場合の自系キャッ゛シュブロ
ック(5)の動作について説明する。
中央処理装置(CPUI)のキャッシュブロック(5)
内データに書き込みを行う場合の自系キャッ゛シュブロ
ック(5)の動作について説明する。
たとえば、他系中央処理装置(CPU2)が主記憶装置
(1)内のデータに書き込みを行う場合には、まず、書
き込みアドレスをシステムバス(3)上に送出し、他の
中央処理装置(CPUI、3、・・、n)内の当該デー
タブロックの無効化を要求する。この無効化アドレスは
、各自系中央処理装置(CPUI、3、・・、n)のタ
グアレー部(7)のキャッシュ無効化アドレスレジスタ
ー(14)に保持される。この後、キャッシュ無効化ア
ドレスは、タグアドレス選択回路(15)を経由してタ
グアレー(9)の4つのセットを同時に読み出す。タグ
アレー(9)から読み出され゛た4つのアドレスは、タ
グアドレス比較部(10)によってタグアドレス選択回
路(15)から出力されるアドレスの対応部分と同時に
比較され、比較結果がデータアレー読み出し制御部(1
1)に入力される。
(1)内のデータに書き込みを行う場合には、まず、書
き込みアドレスをシステムバス(3)上に送出し、他の
中央処理装置(CPUI、3、・・、n)内の当該デー
タブロックの無効化を要求する。この無効化アドレスは
、各自系中央処理装置(CPUI、3、・・、n)のタ
グアレー部(7)のキャッシュ無効化アドレスレジスタ
ー(14)に保持される。この後、キャッシュ無効化ア
ドレスは、タグアドレス選択回路(15)を経由してタ
グアレー(9)の4つのセットを同時に読み出す。タグ
アレー(9)から読み出され゛た4つのアドレスは、タ
グアドレス比較部(10)によってタグアドレス選択回
路(15)から出力されるアドレスの対応部分と同時に
比較され、比較結果がデータアレー読み出し制御部(1
1)に入力される。
一方、タグアドレス選択回路(15)から出力されるア
ドレスのブロック番号部とブロック番号保持部(12)
の内容をブロック番号比較部(16)で比較し、この比
較結果もデータアレー読み出し制御部(11)に入力す
る。
ドレスのブロック番号部とブロック番号保持部(12)
の内容をブロック番号比較部(16)で比較し、この比
較結果もデータアレー読み出し制御部(11)に入力す
る。
以上の結果から、データアレー読み出し制御部(11)
は、無効化すべきデータが自系キャッシュブロック(5
)に存在するか否かを判定する。
は、無効化すべきデータが自系キャッシュブロック(5
)に存在するか否かを判定する。
この結果、無効化すべきデータが自系キャッシュブロッ
ク(5)に存在していて、かつ、そのデ−夕が主記憶装
置(1)から読み込んでタグアレー(9)に記憶して以
降、自系中央処理装置内では、いまだ変更がない未変更
のデータである場合には、タグアレー(9)の当該セッ
ト内対応エントリーを無効化する。
ク(5)に存在していて、かつ、そのデ−夕が主記憶装
置(1)から読み込んでタグアレー(9)に記憶して以
降、自系中央処理装置内では、いまだ変更がない未変更
のデータである場合には、タグアレー(9)の当該セッ
ト内対応エントリーを無効化する。
もし、無効化すべきデータが自系キャッシュブロック(
5)に存在していて、かつ、そのデータが主記憶装置(
1)から読み込んでタグアレ−(9)に記憶して以降、
自系中央処理装置内で変更があった変更済みのデータで
ある場合には、当該セット番号とおなしセット番号のデ
ータアレー(19)の対応データをシステムバス(3)
へ出力した後に、タグアレー(9)の当該セット内対応
エントリーを無効化する。
5)に存在していて、かつ、そのデータが主記憶装置(
1)から読み込んでタグアレ−(9)に記憶して以降、
自系中央処理装置内で変更があった変更済みのデータで
ある場合には、当該セット番号とおなしセット番号のデ
ータアレー(19)の対応データをシステムバス(3)
へ出力した後に、タグアレー(9)の当該セット内対応
エントリーを無効化する。
当該データのシステムバス(3)への出力に際しては、
主記憶データ選択回路(20)によってデータアレー(
19)の当該データを選択し、選択結果をストアバック
データレジスター(23)に保持する一方、タグアドレ
ス選択回路(15)の出力をストアバックアドレスとし
てストアバラクアドレスレジスター(17)へ保持する
。自系キャッシュブロック(5)は、これらストアバッ
クアドレスレジスター(17)とストアバックデータレ
ジスター(23)の内容をシステムバス(3)上に送出
することによって、主記憶装置(1)内のデータの更新
を行うと同時に、他系中央処理装置へ変更後のデータを
転送する。
主記憶データ選択回路(20)によってデータアレー(
19)の当該データを選択し、選択結果をストアバック
データレジスター(23)に保持する一方、タグアドレ
ス選択回路(15)の出力をストアバックアドレスとし
てストアバラクアドレスレジスター(17)へ保持する
。自系キャッシュブロック(5)は、これらストアバッ
クアドレスレジスター(17)とストアバックデータレ
ジスター(23)の内容をシステムバス(3)上に送出
することによって、主記憶装置(1)内のデータの更新
を行うと同時に、他系中央処理装置へ変更後のデータを
転送する。
[発明が解決しようとする課題]
従来のキャッシュ装置は以上のように構成されているた
め、 (1)データを基本処理装置へ出力する処理において、
その都度、タグアレーを参照する必要があった。
め、 (1)データを基本処理装置へ出力する処理において、
その都度、タグアレーを参照する必要があった。
(2)更に、連続したデータブロックを必要とする処理
において、その都度各キャッシュブロックに必要なデー
タのアドレスを与えブロックフェッチを実行する必要が
有った。
において、その都度各キャッシュブロックに必要なデー
タのアドレスを与えブロックフェッチを実行する必要が
有った。
(3)また、基本処理装置によるブロックフェッチデー
タの使用と、他系中央処理装置によるキャッシュ無効化
要求処理を逐次実行しなければならなかった。
タの使用と、他系中央処理装置によるキャッシュ無効化
要求処理を逐次実行しなければならなかった。
この発明は、上記の問題点を解消するためになされたも
ので、 (1)データブロックを基本処理装置へ出力する処理に
おいて、その都度、タグアレーを参照する必要がなく、 (2)また、基本処理装置が必要とする長さのデータを
、基本処理装置からの1回のフェッチ要求によって自動
的にフェッチすることができ、(3)また、ブロックフ
ェッチデータの基本処理装置への転送と、他系中央処理
装置によるキャッシュ無効化処理を同時に実行でき、 (4)更に、上記(1)、(2)(3)を、同時に達成
できるキャッシュ装置を得ることを目的とする。
ので、 (1)データブロックを基本処理装置へ出力する処理に
おいて、その都度、タグアレーを参照する必要がなく、 (2)また、基本処理装置が必要とする長さのデータを
、基本処理装置からの1回のフェッチ要求によって自動
的にフェッチすることができ、(3)また、ブロックフ
ェッチデータの基本処理装置への転送と、他系中央処理
装置によるキャッシュ無効化処理を同時に実行でき、 (4)更に、上記(1)、(2)(3)を、同時に達成
できるキャッシュ装置を得ることを目的とする。
[課題を解決するための手段]
第一の発明によるキャッシュ装置は、
(a1)主記憶装置へのブロックフェッチアドレスを保
持するブロックフェッチアドレス保持部と(b1)ブロ
ックフェッチしたデータを一時的に保持するブロックフ
ェッチデータ保持部とを設け(a2)ブロックフェッチ
アドレス保持部の有効性を示す有効ビット保持部を設け
、 (a4)基本処理装置からのデータフェッチ要求アドレ
スとブロックフェッチアドレスを比較するアドレス比較
部とを設け、 (b2)上記フェッチアドレス比較部の比較の結果、両
者が一致した場合には、ブロックフェッチデータ保持部
の内容を基本処理装置へ出力するフェッチデータ通過手
段を 設けたものである。
持するブロックフェッチアドレス保持部と(b1)ブロ
ックフェッチしたデータを一時的に保持するブロックフ
ェッチデータ保持部とを設け(a2)ブロックフェッチ
アドレス保持部の有効性を示す有効ビット保持部を設け
、 (a4)基本処理装置からのデータフェッチ要求アドレ
スとブロックフェッチアドレスを比較するアドレス比較
部とを設け、 (b2)上記フェッチアドレス比較部の比較の結果、両
者が一致した場合には、ブロックフェッチデータ保持部
の内容を基本処理装置へ出力するフェッチデータ通過手
段を 設けたものである。
第二の発明によるキャッシュ装置は、
基本処理装置からのフェッチ要求にデータ長を付加する
と共に、各キャッシュブロック毎にフェッチアドレスと
データ長から自キャッシュブロック用フェッチアドレス
を計算するアドレス計算部を設けたものである。すなわ
ち、 (a1)主記憶装置のブロック群に対応する自キャッシ
ュブロックのブロック番号を保持するブロック番号保持
部と、 (a2)基本処理装置からキャッシュブロックへ与えら
れた主記憶装置のアクセスアドレスを保持する基本処理
装置アドレスレジスターと、(a3)基本処理装置から
キャッシュブロックへ与えられたデータ長を保持するデ
ータ長保持部を設け、 (a4)上記アクセスアドレスとデータ長とブロック番
号から自キャッシュブロックへのアクセスか否かを判定
し、自キャッシュブロックへのアクセスの場合には自キ
ャッシュブロック用データアドレスを計算するフェッチ
アドレス計算部を、設けたものである。
と共に、各キャッシュブロック毎にフェッチアドレスと
データ長から自キャッシュブロック用フェッチアドレス
を計算するアドレス計算部を設けたものである。すなわ
ち、 (a1)主記憶装置のブロック群に対応する自キャッシ
ュブロックのブロック番号を保持するブロック番号保持
部と、 (a2)基本処理装置からキャッシュブロックへ与えら
れた主記憶装置のアクセスアドレスを保持する基本処理
装置アドレスレジスターと、(a3)基本処理装置から
キャッシュブロックへ与えられたデータ長を保持するデ
ータ長保持部を設け、 (a4)上記アクセスアドレスとデータ長とブロック番
号から自キャッシュブロックへのアクセスか否かを判定
し、自キャッシュブロックへのアクセスの場合には自キ
ャッシュブロック用データアドレスを計算するフェッチ
アドレス計算部を、設けたものである。
第三の発明によるキャッシュ装置は、
(a1)基本処理装置からのアクセスアドレスとと主記
憶装置のブロック群に対応する自キャッシュブロックの
ブロック番号から自キャッシュブロックへのアクセスか
否かを判定し、自キャッシュブロックへのアクセスの場
合には自ギャッシ並ブ0ツク用データアドレスを計算す
るフェッチアドレス計算部と、 (a2)キャッシュ無効化要求に基づき生成されたキャ
ッシュ無効化アドレスと上記ブロック番号から、キャッ
シュ無効化要求が自キャッシュブロックの無効化を要求
しているか否か判定し、自キャッシュブロックへのアク
セスの場合には自キャッシュブロックへの無効化アドレ
スを計算する無効化アドレス計算部を設けたものである
。
憶装置のブロック群に対応する自キャッシュブロックの
ブロック番号から自キャッシュブロックへのアクセスか
否かを判定し、自キャッシュブロックへのアクセスの場
合には自ギャッシ並ブ0ツク用データアドレスを計算す
るフェッチアドレス計算部と、 (a2)キャッシュ無効化要求に基づき生成されたキャ
ッシュ無効化アドレスと上記ブロック番号から、キャッ
シュ無効化要求が自キャッシュブロックの無効化を要求
しているか否か判定し、自キャッシュブロックへのアク
セスの場合には自キャッシュブロックへの無効化アドレ
スを計算する無効化アドレス計算部を設けたものである
。
第四の発明によるキャッシュ装置は、
上記第一から第三の発明を結合したものである。
[作用]
第一の発明に係るキャッシュ装置は、データアレー(1
9)にデータを記憶するとともに最後に入力されたデー
タはブロックフェッチデータ保持部に(33)に記憶し
ておくことにより、このブロックフェッチデータ保持部
(33)に記憶したデータと同一アドレスのアクセス要
求があり、かつ、このデータが有効ビット保持部(30
)の内容により有効である場合にはタグアレー(9)・
を検索しないでデータを基本処理装置(4)へ送れる。
9)にデータを記憶するとともに最後に入力されたデー
タはブロックフェッチデータ保持部に(33)に記憶し
ておくことにより、このブロックフェッチデータ保持部
(33)に記憶したデータと同一アドレスのアクセス要
求があり、かつ、このデータが有効ビット保持部(30
)の内容により有効である場合にはタグアレー(9)・
を検索しないでデータを基本処理装置(4)へ送れる。
この発明におけるフェッチアドレス比較、部(31)は
、ブロックフェッチアドレス保持部のアドレスと基本処
理装置からのフェッチアドレスを比較し、一致した場合
には、タグアレーを調べることな(ブロックフェッチデ
ータ保持部のデータを基本処理装置へ送出する。
、ブロックフェッチアドレス保持部のアドレスと基本処
理装置からのフェッチアドレスを比較し、一致した場合
には、タグアレーを調べることな(ブロックフェッチデ
ータ保持部のデータを基本処理装置へ送出する。
第二の発明に係るキャッシュ装置は(ブロック番号保持
部(12)と基本処理装置アドレスレジスター(13)
とデータ長保持部(26)の内容から、それぞれのキャ
ッシュブロック(5)が自分のキャッシュブロックに関
係する要求かを計算するフェッチアドレス計算部(27
)を設け、各キャッシュブロック(5)が基本処理装置
からのフェッチアドレスとデータ長から自キャッシュブ
ロック内アドレスを求め、自キャッシュブロック内に有
効なデータが存在しない場合には、各キャッシュブロッ
ク(5)が自動的にブロックフェッチを実行する。した
がって、データ長をプロラフ長の2倍に指定すれば、2
個のキャッシュブロック(5)がデータを同時に準備で
き、3倍のデータ町を指定すれば3個のキャッシュブロ
ック(5)がデータを同時に準備できることになる。
部(12)と基本処理装置アドレスレジスター(13)
とデータ長保持部(26)の内容から、それぞれのキャ
ッシュブロック(5)が自分のキャッシュブロックに関
係する要求かを計算するフェッチアドレス計算部(27
)を設け、各キャッシュブロック(5)が基本処理装置
からのフェッチアドレスとデータ長から自キャッシュブ
ロック内アドレスを求め、自キャッシュブロック内に有
効なデータが存在しない場合には、各キャッシュブロッ
ク(5)が自動的にブロックフェッチを実行する。した
がって、データ長をプロラフ長の2倍に指定すれば、2
個のキャッシュブロック(5)がデータを同時に準備で
き、3倍のデータ町を指定すれば3個のキャッシュブロ
ック(5)がデータを同時に準備できることになる。
第三の発明に係るキャッシュ装置は、アドレス゛計算部
としてフェッチアドレス計算部(27)と無効化アドレ
ス計算部(28)を設け、基本処理装置からの要求用と
、他系中央処理装置からのキャッシュ無効化要求用に、
アドレス計算部を独立にふたつ設けることによって、基
本処理装置からのブロックフェッチデータ転送処理と、
キャッシュ無効化処理とを同時に実行出来るようにした
。
としてフェッチアドレス計算部(27)と無効化アドレ
ス計算部(28)を設け、基本処理装置からの要求用と
、他系中央処理装置からのキャッシュ無効化要求用に、
アドレス計算部を独立にふたつ設けることによって、基
本処理装置からのブロックフェッチデータ転送処理と、
キャッシュ無効化処理とを同時に実行出来るようにした
。
第四の発明に係るキャッシュ装置は、上記第一〜第三の
発明を結合したものである。すなわち、(1)最新のデ
ータとそのアドレスを記憶しておくことにより、そのデ
ータが有効であるかぎり、要求があれば、タグアレーを
参照しないでそのデータを出力でき、 (2)また、アクセスアドレスとデータ長を保持するの
で基本処理装置が必要とする長さのデータを、基本処理
装置からの1回のフェッチ要求によって自動的にフェッ
チすることができ、(3)また、アドレス計算部を二重
化したのでブロックフェッチデータの基本処理装置への
転送と、他系中央処理装置によるキャッシュ無効化処理
を同時に実行できるようにしたものである。
発明を結合したものである。すなわち、(1)最新のデ
ータとそのアドレスを記憶しておくことにより、そのデ
ータが有効であるかぎり、要求があれば、タグアレーを
参照しないでそのデータを出力でき、 (2)また、アクセスアドレスとデータ長を保持するの
で基本処理装置が必要とする長さのデータを、基本処理
装置からの1回のフェッチ要求によって自動的にフェッ
チすることができ、(3)また、アドレス計算部を二重
化したのでブロックフェッチデータの基本処理装置への
転送と、他系中央処理装置によるキャッシュ無効化処理
を同時に実行できるようにしたものである。
[実施例]
以下、この発明の一実施例を図について説明する。
第1図はこの実施例におけるタグアレー部(7)の構成
を示すブロック図であり、 (9)はタグアレー、 (10)はタグアドレス比較部、 (11)はデータアレー読み出し制御部、(12)はブ
ロック番号保持部、 (13)は基本処理装置アドレスレジスター、(14)
はキャッシュ無効化アドレスレジスター(16)はタグ
アドレス選択回路、 (17)はストアバックアドレスレジスター、覧(18
)はブロックフェッチアドレス保持部、(25)は基本
処理装置(4)からのフェッチリクエスト受信時に、フ
ェッチデータ長を受は取るためのデータ長保持部、 (26)はキャッシュ無効化要求に対する既定の無効化
データ長を保持するデータ長保持部、(27)は基本処
理装置アドレスレジスター(13)、データ長保持部(
25)及びブロック番号保持部(12)の内容から、基
本処理装置(4)からのフェッチリクエストが自キャツ
シコ〜フ゛ロックへのアクセスを必要としているか否か
判定すると同時に、自キャッシュブロックへのアクセス
アドレスを計算するフエチアドレス計算部、(28)は
キャッシュ無効化アドレスレジスター(14)、データ
長保持部(26)及びブロック番号保持部(12)の内
容から、キャッシュ無効化要求が自キャッシュブロック
の無効化を要求しているか否か判定すると同時に、自キ
ャッシュブロックへの無効化アドレスを計算する無効化
アドレス計算部、 (29)は処理中のリクエストに対応するアドレス計算
部(27)又は(28)からのアドレス有効信号を選択
する有効信号選択回路、 (30)はブロックフェッチアドレス保持部(18)の
有効性を示す内容を保持する有効ビ・ン1〜保持部、 (31)はブロックフェッチアドレス保持部(18)内
のアドレスとフェッチアドレス計算部(27)のアドレ
ス出力を比較し、一致した場合にデータアレー(19)
内のデータではなく、直前のブロックフェッチデータを
出力するように制御するフェッチアドレス比較部、 (32)はブロックフェッチアドレス保持部(18)内
のアドレスと無効化アドレス計算部(28)のキャッシ
ュ無効化アドレスを比較し、一致した場合に有効ビット
保持部(30)の内容を無効化する無効化アドレス比較
部である。
を示すブロック図であり、 (9)はタグアレー、 (10)はタグアドレス比較部、 (11)はデータアレー読み出し制御部、(12)はブ
ロック番号保持部、 (13)は基本処理装置アドレスレジスター、(14)
はキャッシュ無効化アドレスレジスター(16)はタグ
アドレス選択回路、 (17)はストアバックアドレスレジスター、覧(18
)はブロックフェッチアドレス保持部、(25)は基本
処理装置(4)からのフェッチリクエスト受信時に、フ
ェッチデータ長を受は取るためのデータ長保持部、 (26)はキャッシュ無効化要求に対する既定の無効化
データ長を保持するデータ長保持部、(27)は基本処
理装置アドレスレジスター(13)、データ長保持部(
25)及びブロック番号保持部(12)の内容から、基
本処理装置(4)からのフェッチリクエストが自キャツ
シコ〜フ゛ロックへのアクセスを必要としているか否か
判定すると同時に、自キャッシュブロックへのアクセス
アドレスを計算するフエチアドレス計算部、(28)は
キャッシュ無効化アドレスレジスター(14)、データ
長保持部(26)及びブロック番号保持部(12)の内
容から、キャッシュ無効化要求が自キャッシュブロック
の無効化を要求しているか否か判定すると同時に、自キ
ャッシュブロックへの無効化アドレスを計算する無効化
アドレス計算部、 (29)は処理中のリクエストに対応するアドレス計算
部(27)又は(28)からのアドレス有効信号を選択
する有効信号選択回路、 (30)はブロックフェッチアドレス保持部(18)の
有効性を示す内容を保持する有効ビ・ン1〜保持部、 (31)はブロックフェッチアドレス保持部(18)内
のアドレスとフェッチアドレス計算部(27)のアドレ
ス出力を比較し、一致した場合にデータアレー(19)
内のデータではなく、直前のブロックフェッチデータを
出力するように制御するフェッチアドレス比較部、 (32)はブロックフェッチアドレス保持部(18)内
のアドレスと無効化アドレス計算部(28)のキャッシ
ュ無効化アドレスを比較し、一致した場合に有効ビット
保持部(30)の内容を無効化する無効化アドレス比較
部である。
第2図はこの実施例におけるデータアレー部(8)の構
成を示すブロック図であり、 (19)はデータアレー、 (20)は主記憶データ選択回路、 (21)は基本処理装置データ選択回路、(22)はマ
ージレジスター、 (23)はストアバックデータレジスター、(24)は
フェッチデータ通過回路、 (33)はブロックフェッチしたデータを一時的に保持
するブロックフェッチデータ保持部である本実施例にお
いて、基本処理装置(4)が主記憶装置(1)からデー
タをフェッチする場合の動作について説明する。また、
具体例として、基本処理装置(4)の処理単位を64ビ
ツトとし、システムバス(3)とキャッシュデータバス
(6)の転送単位、及び、主記憶装置(1)のブロック
サイズも64ビツトであるものとする。以下、この64
ビツトを既定のデータ長という。
成を示すブロック図であり、 (19)はデータアレー、 (20)は主記憶データ選択回路、 (21)は基本処理装置データ選択回路、(22)はマ
ージレジスター、 (23)はストアバックデータレジスター、(24)は
フェッチデータ通過回路、 (33)はブロックフェッチしたデータを一時的に保持
するブロックフェッチデータ保持部である本実施例にお
いて、基本処理装置(4)が主記憶装置(1)からデー
タをフェッチする場合の動作について説明する。また、
具体例として、基本処理装置(4)の処理単位を64ビ
ツトとし、システムバス(3)とキャッシュデータバス
(6)の転送単位、及び、主記憶装置(1)のブロック
サイズも64ビツトであるものとする。以下、この64
ビツトを既定のデータ長という。
まず、第一の発明について主として説明する。
基本処理装置(4)は、キャツシコーパス(6)へフェ
ッチアドレスを出力すると共に全ギヤ・ソシュブロツク
へ、必要とするデータ長とフエツチリクエストを送出す
る。ここで、データ長は、例えば、既定のデータ長(6
4ビツト)でも良いし、あるいは、それ以上のデータ長
でも良い(例えば、128ビツト、256ビツト等)。
ッチアドレスを出力すると共に全ギヤ・ソシュブロツク
へ、必要とするデータ長とフエツチリクエストを送出す
る。ここで、データ長は、例えば、既定のデータ長(6
4ビツト)でも良いし、あるいは、それ以上のデータ長
でも良い(例えば、128ビツト、256ビツト等)。
キャッシュブロック(5)は基本処理装置(4)から送
出されたフェッチアドレスを基本処理装置アドレスレジ
スター(13)に保持し、データ長をデータ長保持部(
25)に保持する。
出されたフェッチアドレスを基本処理装置アドレスレジ
スター(13)に保持し、データ長をデータ長保持部(
25)に保持する。
基本処理装置アドレスレジスター(13)とデータ長保
持部(25)の内容からアドレス計算部(27)は基本
処理装置(4)が要求しているデータのアドレス範囲を
求め、ブロック番号保持部(12)の値がこのアドレス
範囲に当てはまるか否かをチエツクする。例えば、フェ
ッチアドレスが、第5図のブロック0を先頭とするアド
レスであり、データ長が64ビツトであれば、キャッシ
ュブロック(CO,)は、自己のブロックに関する要求
であると判断する。キャッシュブロック(01〜C7)
は、自分に関係ない要求であると判断する。
持部(25)の内容からアドレス計算部(27)は基本
処理装置(4)が要求しているデータのアドレス範囲を
求め、ブロック番号保持部(12)の値がこのアドレス
範囲に当てはまるか否かをチエツクする。例えば、フェ
ッチアドレスが、第5図のブロック0を先頭とするアド
レスであり、データ長が64ビツトであれば、キャッシ
ュブロック(CO,)は、自己のブロックに関する要求
であると判断する。キャッシュブロック(01〜C7)
は、自分に関係ない要求であると判断する。
自己のキャッシュブロック(5)に当てはまる場合には
(この例ではCO)、自キャッシュブロック(5)に相
当するブロックアドレスを計算し、タグアドレス選択回
路(16)に人力すると同時に、アドレスが有効である
旨をデータアレー読み出し制御部(11)へ報告する。
(この例ではCO)、自キャッシュブロック(5)に相
当するブロックアドレスを計算し、タグアドレス選択回
路(16)に人力すると同時に、アドレスが有効である
旨をデータアレー読み出し制御部(11)へ報告する。
タグアドレス選択回路(16)から出力されるアドレス
のタグアドレス部を用いてタグアレー(9)から読み出
されたアドレスとタグアドレス選択回路(16)から出
力されるアドレスの対応部分によって、タグアドレス比
較部は基本処理装置(4)から要求されたデータの有無
を調べる。
のタグアドレス部を用いてタグアレー(9)から読み出
されたアドレスとタグアドレス選択回路(16)から出
力されるアドレスの対応部分によって、タグアドレス比
較部は基本処理装置(4)から要求されたデータの有無
を調べる。
データが存在する場合、データアレー読み出し制御部(
11)は、データアレー(19)の該当するセットから
データをキャッシュバス(6)へ出力させる。
11)は、データアレー(19)の該当するセットから
データをキャッシュバス(6)へ出力させる。
データが存在しない場合には、タグアドレス選択回路(
16)のアドレス出力がブロックフェッチアドレス保持
部(18)に保持され、主記憶装置(1)へブロックフ
ェッチ要求が送出されると共にブロックフェッチアドレ
ス保持部(18)内のアドレスがシステムバス(3)へ
出力される。
16)のアドレス出力がブロックフェッチアドレス保持
部(18)に保持され、主記憶装置(1)へブロックフ
ェッチ要求が送出されると共にブロックフェッチアドレ
ス保持部(18)内のアドレスがシステムバス(3)へ
出力される。
この時点で有効ビット保持部(30)の内容は無効化さ
れ、ブロックフェッチデータ保持部(33)の内容が無
効であることが示される。
れ、ブロックフェッチデータ保持部(33)の内容が無
効であることが示される。
主記憶装置(1)がデータフェッチを完了し、システム
バス(3)へデータが出力されると、キャッシュブロッ
ク(5)はマージレジスター(22)へフェッチデータ
を保持する。マージレジスター(22)のデータは、主
記憶データ選択回路(20)を通して該当するデータア
レーのエントリーに書き込まれると同時に、フェッチデ
ータ通過回路(24)を通してキャッシュバス(6)へ
直接出力される。
バス(3)へデータが出力されると、キャッシュブロッ
ク(5)はマージレジスター(22)へフェッチデータ
を保持する。マージレジスター(22)のデータは、主
記憶データ選択回路(20)を通して該当するデータア
レーのエントリーに書き込まれると同時に、フェッチデ
ータ通過回路(24)を通してキャッシュバス(6)へ
直接出力される。
又、このタイミングで、ブロックフェッチデータ保持部
(33)はマージレジスター(22)の出力を保持し、
有効ビット保持部(30)の内容を有効にする。
(33)はマージレジスター(22)の出力を保持し、
有効ビット保持部(30)の内容を有効にする。
基本処理装置(4)のデータ処理が進んで次のデータが
必要になった場合には、基本処理装置(4)は当該デー
タのアドレスを指定すると共にフェッチリクエストを送
出する。キャッシュブロック(5)は、このアドレスを
基本処理装置アドレスレジスター(13)に取り込み、
アドレス計算部(27)によってブロック用アドレスを
計算する。このブロック用アドレスとフ゛ロックフェッ
チアドレス保持部(18)の内容をアドレス比較部(3
1)で比較し、両者が一致した場合には、キャッシュブ
ロック(5)はタグアレー(9)を調べることな(、ブ
ロックフェッチデータ保持部(33)の内容をキャッシ
ュバス(6)へ出力する以上の処理においてはタグアレ
ー(9)が使用されないため、高速アクセフが可能にな
る。
必要になった場合には、基本処理装置(4)は当該デー
タのアドレスを指定すると共にフェッチリクエストを送
出する。キャッシュブロック(5)は、このアドレスを
基本処理装置アドレスレジスター(13)に取り込み、
アドレス計算部(27)によってブロック用アドレスを
計算する。このブロック用アドレスとフ゛ロックフェッ
チアドレス保持部(18)の内容をアドレス比較部(3
1)で比較し、両者が一致した場合には、キャッシュブ
ロック(5)はタグアレー(9)を調べることな(、ブ
ロックフェッチデータ保持部(33)の内容をキャッシ
ュバス(6)へ出力する以上の処理においてはタグアレ
ー(9)が使用されないため、高速アクセフが可能にな
る。
以上のように、第一の発明は、複数のバンクに分割され
た主記憶装置のデータを一時的に保持するキャッシュ装
置で、主記憶装置の各バンク対応に独立にデータを管理
できるタグアレー部とデータアレー部を備えた複数のキ
ャッシュブロックからなるキャッシュ装置において、 各キャッシュブロックへのアクセスアドレス、データ長
及び自キャッシュブロックのブロック番号から自キャッ
シュブロックへのアクセスか否かを判定し、自キャッシ
ュブロックへのアクセスの場合には自キャッシュブロッ
ク用データアドレスを計算するアドレス計算部と、 主記憶へのブロックフェッチアドレスとブロックフェッ
チデータ及びそれらの有効性を一時的に保持するブロッ
クフェッチアドレス保持部、ブロックフェッチデータ保
持部及び有効ビット保持部と、 有効なブロックフェッチアドレス保持部の内容とアドレ
ス計算部の出力とを比較し、一致した場合にタグアレー
を調べることなくブロックフェッチデータ保持部のデー
タをフェッチデータとして出力するように制御するアド
レス比較部とを備えたことを特徴とするキャッシュ装置
である。
た主記憶装置のデータを一時的に保持するキャッシュ装
置で、主記憶装置の各バンク対応に独立にデータを管理
できるタグアレー部とデータアレー部を備えた複数のキ
ャッシュブロックからなるキャッシュ装置において、 各キャッシュブロックへのアクセスアドレス、データ長
及び自キャッシュブロックのブロック番号から自キャッ
シュブロックへのアクセスか否かを判定し、自キャッシ
ュブロックへのアクセスの場合には自キャッシュブロッ
ク用データアドレスを計算するアドレス計算部と、 主記憶へのブロックフェッチアドレスとブロックフェッ
チデータ及びそれらの有効性を一時的に保持するブロッ
クフェッチアドレス保持部、ブロックフェッチデータ保
持部及び有効ビット保持部と、 有効なブロックフェッチアドレス保持部の内容とアドレ
ス計算部の出力とを比較し、一致した場合にタグアレー
を調べることなくブロックフェッチデータ保持部のデー
タをフェッチデータとして出力するように制御するアド
レス比較部とを備えたことを特徴とするキャッシュ装置
である。
次に、第二の発明について主に説明する。
基本処理装置(4)から送出されるフェッチアドレスは
基本処理装置(4)が処理に使用するデ−タブロックの
最初のアドレスを示し、基本処理装置(4)はこのアド
レスから既定の長さ(64ビツト)のデータをキャッシ
ュバス(6)から取り込む。一方、フェッチリクエスト
とともに送出されるデータ長は、基本処理装置(4)が
取り込む既定の取り込みデータ長よりも長い値を指定で
きる。これによって、基本処理装置(4)は必要な長さ
のデータを各キャッシュブロックにあらかじめブロック
フェッチさせることが出来る。
基本処理装置(4)が処理に使用するデ−タブロックの
最初のアドレスを示し、基本処理装置(4)はこのアド
レスから既定の長さ(64ビツト)のデータをキャッシ
ュバス(6)から取り込む。一方、フェッチリクエスト
とともに送出されるデータ長は、基本処理装置(4)が
取り込む既定の取り込みデータ長よりも長い値を指定で
きる。これによって、基本処理装置(4)は必要な長さ
のデータを各キャッシュブロックにあらかじめブロック
フェッチさせることが出来る。
例えば、ブロックOの先頭から128ビット読み込む要
求があるとキャッシュブロック(Co−C7)のうちC
OとC1のフェッチアドレス計算部(27)が自己に関
係する要求であると判断する。C2〜C7のフェッチア
ドレス計算部(27)は、自己に無関係であると判断す
る。そして、キャッシュブロックCOは、ブロック0を
準備し、C1はブロック1を準備する。
求があるとキャッシュブロック(Co−C7)のうちC
OとC1のフェッチアドレス計算部(27)が自己に関
係する要求であると判断する。C2〜C7のフェッチア
ドレス計算部(27)は、自己に無関係であると判断す
る。そして、キャッシュブロックCOは、ブロック0を
準備し、C1はブロック1を準備する。
しかし、C1は、この場合、基本処理装置(4)がキャ
ッシュバス(6)から取り込む既定の取り込みデータ長
を越えた部分のデータを保持する36 ・ キャッシュブロックであり、主記憶装置(1)からフェ
ッチしたデータをデータアレー(19)とブロックフェ
ッチデータ保持部(33)に保存するだけで、キャッシ
ュバス(6)へのデータ出力は行わない。
ッシュバス(6)から取り込む既定の取り込みデータ長
を越えた部分のデータを保持する36 ・ キャッシュブロックであり、主記憶装置(1)からフェ
ッチしたデータをデータアレー(19)とブロックフェ
ッチデータ保持部(33)に保存するだけで、キャッシ
ュバス(6)へのデータ出力は行わない。
基本処理装置(4)のデータ処理が進んでブロックOの
64ビツトの処理を終え、次に既定の取り込みデータ長
を越えた部分のデータが必要になった場合には(つまり
、ブロック1の64ビツトが必要になった場合には)、
基本処理装置(4)は当該データのアドレス(ブロック
1のアドレス)を指定すると共に既定の取り込みデータ
長(劉4ビット)を指定してフェッチリクエストを送出
する。キャッシュブロック(5)は、このアドレスと取
り込みデータ長をそれぞれ基本処理装置アドレスレジス
ター(13)とデータ長保持部(25)に取り込み、フ
ェッチアドレス計算部(27)によってブロック用アド
レスを計算する。このブロック用アドレスとブロックフ
ェッチアドレス保持部(18)の内容をアドレス比較部
(3ti)で比較し、両者が一致した場合には、キャッ
シュブロック(5)はタグアレ−(9)を調べることな
く、ブロックフェッチデータ保持部(33)の内容をキ
ャッシュバス(6)へ出力する。この例では、すでにブ
ロック1のデータは一つ前の要求で準備されているので
、ブロックフェッチデータ保持部(33)の内容をその
まま出力すればよく、高速な処理が期待できる。
64ビツトの処理を終え、次に既定の取り込みデータ長
を越えた部分のデータが必要になった場合には(つまり
、ブロック1の64ビツトが必要になった場合には)、
基本処理装置(4)は当該データのアドレス(ブロック
1のアドレス)を指定すると共に既定の取り込みデータ
長(劉4ビット)を指定してフェッチリクエストを送出
する。キャッシュブロック(5)は、このアドレスと取
り込みデータ長をそれぞれ基本処理装置アドレスレジス
ター(13)とデータ長保持部(25)に取り込み、フ
ェッチアドレス計算部(27)によってブロック用アド
レスを計算する。このブロック用アドレスとブロックフ
ェッチアドレス保持部(18)の内容をアドレス比較部
(3ti)で比較し、両者が一致した場合には、キャッ
シュブロック(5)はタグアレ−(9)を調べることな
く、ブロックフェッチデータ保持部(33)の内容をキ
ャッシュバス(6)へ出力する。この例では、すでにブ
ロック1のデータは一つ前の要求で準備されているので
、ブロックフェッチデータ保持部(33)の内容をその
まま出力すればよく、高速な処理が期待できる。
次に、第三の発明について主に説明する。
たとえば、他系中央処理装置(CP、U2)が主記憶装
置(1)内のデータに書き込みを行う場合には、まず、
書き込みアドレスをシステムバス(3)上に送出し、他
の中央処理装置(CPUI、3、・・、n)内の当該デ
ータブロックの無効化を要求する。この無効化アドレス
は、各自系中央処理装置(CPUI、3、・・、n)の
タグアレー部(7)のキャッシュ無効化アドレスレジス
ター(1,4)に保持される。
置(1)内のデータに書き込みを行う場合には、まず、
書き込みアドレスをシステムバス(3)上に送出し、他
の中央処理装置(CPUI、3、・・、n)内の当該デ
ータブロックの無効化を要求する。この無効化アドレス
は、各自系中央処理装置(CPUI、3、・・、n)の
タグアレー部(7)のキャッシュ無効化アドレスレジス
ター(1,4)に保持される。
また、既定のキャッシュ無効化ブロックデータ長を保持
するデータ長保持部(26)の内容と共に無効化アドレ
ス計算部(28)によって、自キャッシュブロック用無
効化アドレスを求める。このアドレスでタグアドレス選
択部(16)を通してタグアレー(9)を調べ、該当エ
ントリーを無効化する。
するデータ長保持部(26)の内容と共に無効化アドレ
ス計算部(28)によって、自キャッシュブロック用無
効化アドレスを求める。このアドレスでタグアドレス選
択部(16)を通してタグアレー(9)を調べ、該当エ
ントリーを無効化する。
このように、第三の発明はアドレス計算部を、基本処理
装置からの要求用と、他系中央処理装置からのキャッシ
ュ無効化要求用に、独立にふたつ設けることによって、
基本処理装置からのブロックフェッチデータ転送処理と
キャッシュ無効化処理とを同時に実行出来るようにした
ものである。
装置からの要求用と、他系中央処理装置からのキャッシ
ュ無効化要求用に、独立にふたつ設けることによって、
基本処理装置からのブロックフェッチデータ転送処理と
キャッシュ無効化処理とを同時に実行出来るようにした
ものである。
また、アドレス比較部を、基本処理装置からの要求用と
他系中央処理装置からのキャッシュ無効化要求用に、独
立にふたつ設け、基本処理装置からの要求を処理するフ
ェッチアドレス比較部(31)からの一致信号によって
ブロックフェッチデータ保持部から基本処理装置へデー
タを転送し、キャッシュ無効化要求を処理する無効化ア
ドレス比較部(32)からの一致信号によってブロック
フェッチデータ保持部の有効ビット保持部の内容を無効
化するようにしたものでもある。
他系中央処理装置からのキャッシュ無効化要求用に、独
立にふたつ設け、基本処理装置からの要求を処理するフ
ェッチアドレス比較部(31)からの一致信号によって
ブロックフェッチデータ保持部から基本処理装置へデー
タを転送し、キャッシュ無効化要求を処理する無効化ア
ドレス比較部(32)からの一致信号によってブロック
フェッチデータ保持部の有効ビット保持部の内容を無効
化するようにしたものでもある。
更に、キャッシュ無効化要求用アドレスに対応するデー
タ長として、既定のデータブロック長を保持するデータ
長保持部(26)を備え、キャッシュ無効化要求受信時
に各キャッシュブロックが独立に自己のキャッシュ無効
化を実行できるようにしたものである。
タ長として、既定のデータブロック長を保持するデータ
長保持部(26)を備え、キャッシュ無効化要求受信時
に各キャッシュブロックが独立に自己のキャッシュ無効
化を実行できるようにしたものである。
最後に、第四の発明に係るキャッシュ装置は、第1図と
第2図に描かれた要素を有しているキャッシュブロック
(5)を複数布するキャッシュ装置である。
第2図に描かれた要素を有しているキャッシュブロック
(5)を複数布するキャッシュ装置である。
なお、上記実施例では、本装置が、どのような形態で実
現できるか記載していないが、システムボードとして実
現しようが、1チツプ半導体として実現しようが、ある
いは、その全部または一部をソフトウェアで実現しよう
が構わない。
現できるか記載していないが、システムボードとして実
現しようが、1チツプ半導体として実現しようが、ある
いは、その全部または一部をソフトウェアで実現しよう
が構わない。
また、上記実施例では、データ長やブロック長が64ビ
ツトの場合や、キャッシュブロック(5)が8個有る場
合を示したが、他の値であってもこの発明と同様な効果
を奏する。
ツトの場合や、キャッシュブロック(5)が8個有る場
合を示したが、他の値であってもこの発明と同様な効果
を奏する。
[発明の効果]
以上のように、この発明によれば、
(1)最新のデータとそのアドレスを記憶しておくこと
により、そのデータが有効であるかぎり、要求があれば
、タグアレーを参照しないでそのデータを出力でき、 (2)また、アクセスアドレスとデータ長を保持するの
で基本処理装置が必要とする長さのデータを、基本処理
装置からの1回のフェッチ要求によってあらかじめ必要
なデータを基本処理装置の処理に先行して独自にフェッ
チすることができ、(3)また、アドレス計算部を二重
化したのでブロックフェッチデータの基本処理装置への
転送と、他系中央処理装置によるキャッシュ無効化処理
を同時に実行できるようにしたので、 キャッシュミスによる基本処理装置の処理速度低下を軽
減し、マルチプロセッサ構成におけるキャッシュ無効化
による基本処理装置の処理速度低下を軽減する高速処理
のキャッシュ装置が得られる効果がある。
により、そのデータが有効であるかぎり、要求があれば
、タグアレーを参照しないでそのデータを出力でき、 (2)また、アクセスアドレスとデータ長を保持するの
で基本処理装置が必要とする長さのデータを、基本処理
装置からの1回のフェッチ要求によってあらかじめ必要
なデータを基本処理装置の処理に先行して独自にフェッ
チすることができ、(3)また、アドレス計算部を二重
化したのでブロックフェッチデータの基本処理装置への
転送と、他系中央処理装置によるキャッシュ無効化処理
を同時に実行できるようにしたので、 キャッシュミスによる基本処理装置の処理速度低下を軽
減し、マルチプロセッサ構成におけるキャッシュ無効化
による基本処理装置の処理速度低下を軽減する高速処理
のキャッシュ装置が得られる効果がある。
第1図はこの発明による一実施例によるタグアレー部を
示す図、 第2図はこの発明による一実施例によるデータアレー部
を示す図、 第3図は密結合マルチプロセッサシステムの構成例を示
すブロック図、 第4図は中央処理装置内の構成例を示すブロック図、 第5図は主記憶装置内のバンク構成とキャッシュブロッ
ク構成の関係を示す構成図、 第6図はキャッシュブロック内の機能構成を示すブロッ
ク図、 第7図は従来のキャッシュブロック内のタグアレー部を
示すブロック図、 第8図は従来のキャッシュブロック内のデータアレー部
を示すブロック図である。 (1)は主記憶装置、 (2)は中央処理装置、 (3)はシステムバス、 (4)は基本処理装置、 (5)はキャッシュブロック、 (6)はキャッシュデータバス、 (7)はタグアレー部、 (8)はデータアレー部、 (9)はタグアレー、 (10)はタグアドレス比較部、 (11)はデルタアレー読み出し制御部、(12)はブ
ロック番号保持部、 (13)は基本処理装置アドレスレジスター、(14)
はキャッシュ無効化アドレスレジスター(15)はタグ
アドレス選択回路、 (16)はブロック番号比較部、 (17)はストアバックアドレスレジスター、(18)
はブロックフェッチアドレス保持部、(19)はデータ
アレー、 (20)は主記憶データ選択回路、 (21)は基本処理装置データ選択回路、(22)はマ
ージレジスター、 (23)はストアバックデータレジスター、(24)は
フェッチデータ通過回路、 (26)はデータ長保持部、 (27)はフェッチアドレス計算部、 (28)は無効化アドレス計算部、 (30)は有効ビット保持部、 (31)はフェッチアドレス比較部、 (32)は無効化アドレス比較部、 (33)はブロックフェッチデータ保持部である。 なお、図中、同一符号は同一、又は相当部分を示す。 以上
示す図、 第2図はこの発明による一実施例によるデータアレー部
を示す図、 第3図は密結合マルチプロセッサシステムの構成例を示
すブロック図、 第4図は中央処理装置内の構成例を示すブロック図、 第5図は主記憶装置内のバンク構成とキャッシュブロッ
ク構成の関係を示す構成図、 第6図はキャッシュブロック内の機能構成を示すブロッ
ク図、 第7図は従来のキャッシュブロック内のタグアレー部を
示すブロック図、 第8図は従来のキャッシュブロック内のデータアレー部
を示すブロック図である。 (1)は主記憶装置、 (2)は中央処理装置、 (3)はシステムバス、 (4)は基本処理装置、 (5)はキャッシュブロック、 (6)はキャッシュデータバス、 (7)はタグアレー部、 (8)はデータアレー部、 (9)はタグアレー、 (10)はタグアドレス比較部、 (11)はデルタアレー読み出し制御部、(12)はブ
ロック番号保持部、 (13)は基本処理装置アドレスレジスター、(14)
はキャッシュ無効化アドレスレジスター(15)はタグ
アドレス選択回路、 (16)はブロック番号比較部、 (17)はストアバックアドレスレジスター、(18)
はブロックフェッチアドレス保持部、(19)はデータ
アレー、 (20)は主記憶データ選択回路、 (21)は基本処理装置データ選択回路、(22)はマ
ージレジスター、 (23)はストアバックデータレジスター、(24)は
フェッチデータ通過回路、 (26)はデータ長保持部、 (27)はフェッチアドレス計算部、 (28)は無効化アドレス計算部、 (30)は有効ビット保持部、 (31)はフェッチアドレス比較部、 (32)は無効化アドレス比較部、 (33)はブロックフェッチデータ保持部である。 なお、図中、同一符号は同一、又は相当部分を示す。 以上
Claims (4)
- (1)複数のブロック群に分割された主記憶装置と基本
処理装置の間にあって、主記憶装置のデータを一時的に
保持し、主記憶装置の各ブロック群対応に独立にデータ
をアクセス管理できる複数のキャッシュブロックからな
り、各キャッシュブロックは以下の要素を有することを
特徴とするキャッシュ装置、 (a)以下の要素を有するタグアレー部、 (a1)主記憶装置をアクセスするためのアドレスを保
持するブロックフェッチアドレス保持部、 (a2)主記憶装置からデータを入力したとき有効とさ
れ、ブロックフェッチアドレス保持部の有効性を示す内
容を保持する有効ビット保持部、 (a3)ブロックフェッチアドレス保持部内のアドレス
とキャッシュ無効化要求に基づくキャッシュ無効化アド
レスを比較し、一致した場合に上記有効ビット保持部の
内容を無効化する無効化アドレス比較部、 (a4)これからアクセスしようとする主記憶装置のア
ドレスとブロックフェッチアドレス保持部の内容を比較
するフェッチアドレス比較部、 (b)以下の要素を有するデータアレー部、 (b1)主記憶装置から入力したデータを一時的に保持
するブロックフェッチデータ保持部、 (b2)上記フェッチアドレス比較部の比較の結果、両
者が一致した場合には、ブロックフェッチデータ保持部
の内容を基本処理装置へ出力するフェッチデータ通過手
段。 - (2)複数のブロック群に分割された主記憶装置と基本
処理装置の間にあって、主記憶装置のデータを一時的に
保持し、主記憶装置の各ブロック群対応に独立にデータ
をアクセス管理できる複数のキャッシュブロックからな
り、各キャッシュブロックは以下の要素を有することを
特徴とするキャッシュ装置、 (a)以下の要素を有するタグアレー部、 (a1)主記憶装置のブロック群に対応する自キャッシ
ュブロックのブロック番号を保持するブロック番号保持
部、 (a2)基本処理装置からキャッシュブロックへ与えら
れた主記憶装置のアクセスアドレスを保持する基本処理
装置アドレスレジスター、 (a3)基本処理装置からキャッシュブロックへ与えら
れたデータ長を保持するデータ長保持部、 (a4)上記基本処理装置アドレスレジスターに保持さ
れたアクセスアドレスと上記データ長保持部に保持され
たデータ長と上記ブロック番号保持部に保持されたブロ
ック番号から自キャッシュブロックへのアクセスか否か
を判定し、自キャッシュブロックへのアクセスの場合に
は自キャッシュブロック用データアドレスを計算するフ
ェッチアドレス計算部、 (b)主記憶装置からフェッチしたデータ及び基本処理
装置からの変更内容を保持するデータアレー部。 - (3)複数のブロック群に分割された主記憶装置と基本
処理装置の間にあって、主記憶装置のデータを一時的に
保持し、主記憶装置の各ブロック群対応に独立にデータ
をアクセス管理できる複数のキャッシュブロックからな
り、各キャッシュブロックは以下の要素を有することを
特徴とするキャッシュ装置、 (a)以下の要素を有するタグアレー部、 (a1)基本処理装置からのアクセスアドレスとと主記
憶装置のブロック群に対応する自キャッシュブロックの
ブロック番号から自キャッシュブロックへのアクセスか
否かを判定し、自キャッシュブロックへのアクセスの場
合には自キャッシュブロック用データアドレスを計算す
るフェッチアドレス計算部、 (a2)キャッシュ無効化要求に基づき生成されたキャ
ッシュ無効化アドレスと上記ブロック番号から、キャッ
シュ無効化要求が自キャッシュブロックの無効化を要求
しているか否か判定し、自キャッシュブロックへのアク
セスの場合には自キャッシュブロックへの無効化アドレ
スを計算する無効化アドレス計算部、 (b)主記憶装置からフェッチしたデータ及び基本処理
装置からの変更内容を保持するデータアレー部。 - (4)複数のブロック群に分割された主記憶装置と基本
処理装置の間にあって、主記憶装置のデータを一時的に
保持し、主記憶装置の各ブロック群対応に独立にデータ
をアクセス管理できるタグアレー部とデータアレー部を
備えた複数のキャッシュブロックからなり、各キャッシ
ュブロックは以下の要素を有することを特徴とするキャ
ッシュ装置、 (a)主記憶装置のブロック群に対応する自キャッシュ
ブロックのブロック番号を保持するブロック番号保持部
、 (b)基本処理装置からキャッシュブロックへ与えられ
た主記憶装置のアクセスアドレスを保持する基本処理装
置アドレスレジスター、 (c)基本処理装置からキャッシュブロックへ与えられ
たデータ長を保持するデータ長保持部、 (d)上記基本処理装置アドレスレジスターに保持され
たアクセスアドレスと上記データ長保持部に保持された
データ長と上記ブロック番号保持部に保持されたブロッ
ク番号から自キャッシュブロックへのアクセスか否かを
判定し、自キャッシュブロックへのアクセスの場合には
自キャッシュブロック用データアドレスを計算するフェ
ッチアドレス計算部、(e)キャッシュ無効化要求に基
づき生成されたキャッシュ無効化アドレスと上記ブロッ
ク番号から、キャッシュ無効化要求が自キャッシュブロ
ックの無効化を要求しているか否か判定し、自キャッシ
ュブロックへのアクセスの場合には自キャッシュブロッ
クへの無効化アドレスを計算する無効化アドレス計算部
、 (f)主記憶装置をアクセスするためのアドレスを保持
するブロックフェッチアドレス保持部、 (g)主記憶装置からのブロックフェッチデータを保持
するブロックフェッチデータ保持部、 (h)ブロックフェッチアドレス保持部とブロックフェ
ッチデータ保持部の有効性を示す内容を保持する有効ビ
ット保持部、 (i)有効なブロックフェッチアドレス保持部の内容と
アドレス計算部の出力とを比較し、一致した場合にタグ
アレーを調べることなくブロックフェッチデータ保持部
のデータをフェッチデータとして出力するように制御す
るフェッチアドレス比較部、 (j)上記フェッチアドレス比較部の比較の結果、両者
が一致した場合には、ブロックフェッチデータ保持部の
内容を基本処理装置へ出力するフェッチデータ通過手段
、 (k)ブロックフェッチアドレス保持部内のアドレスと
キャッシュ無効化要求に基づくキャッシュ無効化アドレ
スを比較し、一致した場合に上記有効ビット保持部の内
容を無効化する無効化アドレス比較部。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2286284A JPH04160543A (ja) | 1990-10-24 | 1990-10-24 | キャッシュ装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2286284A JPH04160543A (ja) | 1990-10-24 | 1990-10-24 | キャッシュ装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04160543A true JPH04160543A (ja) | 1992-06-03 |
Family
ID=17702381
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2286284A Pending JPH04160543A (ja) | 1990-10-24 | 1990-10-24 | キャッシュ装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04160543A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6412059B1 (en) | 1998-10-02 | 2002-06-25 | Nec Corporation | Method and device for controlling cache memory |
-
1990
- 1990-10-24 JP JP2286284A patent/JPH04160543A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6412059B1 (en) | 1998-10-02 | 2002-06-25 | Nec Corporation | Method and device for controlling cache memory |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6665774B2 (en) | Vector and scalar data cache for a vector multiprocessor | |
| CA1124888A (en) | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability | |
| US5155832A (en) | Method to increase performance in a multi-level cache system by the use of forced cache misses | |
| US5379394A (en) | Microprocessor with two groups of internal buses | |
| EP0029517A2 (en) | Store-in-cache mode data processing apparatus | |
| EP0379769B1 (en) | Write-read/write-pass memory subsystem cycle | |
| US5263144A (en) | Method and apparatus for sharing data between processors in a computer system | |
| US5155828A (en) | Computing system with a cache memory and an additional look-aside cache memory | |
| JP2818415B2 (ja) | バッファ記憶装置 | |
| JPH03225542A (ja) | データ記憶方法及びビットエンコードデータの処理回路 | |
| EP0533427A1 (en) | Computer memory control system | |
| WO1997004392A1 (en) | Shared cache memory device | |
| US4737908A (en) | Buffer memory control system | |
| EP0271187B1 (en) | Split instruction and operand cache management | |
| JPH04160543A (ja) | キャッシュ装置 | |
| EP0475730B1 (en) | Write-read/write-pass memory subsystem cycle | |
| JPH02110646A (ja) | メモリの先行読出し装置 | |
| JP3081635B2 (ja) | キャッシュメモリの無効化処理装置および無効化制御方法 | |
| JP2703255B2 (ja) | キャッシュメモリ書込み装置 | |
| JPH1185613A (ja) | キャッシュメモリ | |
| EP0407053B1 (en) | Small, fast, look-aside data cache memory | |
| KR970004520B1 (ko) | 고속 메모리 제어방법 및 장치 | |
| JPH0212543A (ja) | 情報処理システム | |
| JP2982197B2 (ja) | キャッシュ用バスモニタ回路 | |
| JP2588547B2 (ja) | マルチcpuシステム |