JP3181001B2 - キャッシュ・メモリ・システム並びにキャッシュ・メモリ・アクセス方法及びシステム - Google Patents
キャッシュ・メモリ・システム並びにキャッシュ・メモリ・アクセス方法及びシステムInfo
- Publication number
- JP3181001B2 JP3181001B2 JP09029994A JP9029994A JP3181001B2 JP 3181001 B2 JP3181001 B2 JP 3181001B2 JP 09029994 A JP09029994 A JP 09029994A JP 9029994 A JP9029994 A JP 9029994A JP 3181001 B2 JP3181001 B2 JP 3181001B2
- Authority
- JP
- Japan
- Prior art keywords
- array
- cache
- redundant
- main
- accessing
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 93
- 238000000034 method Methods 0.000 title claims description 22
- 238000012545 processing Methods 0.000 claims description 16
- 230000011664 signaling Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 101100272235 Mus musculus Bcar3 gene Proteins 0.000 description 1
- 238000007664 blowing Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【0001】
【産業上の利用分野】本発明はデータ処理システムに関
し、特に、こうしたデータ処理システムにより使用され
るメモリ・キャッシュに関する。
し、特に、こうしたデータ処理システムにより使用され
るメモリ・キャッシュに関する。
【0002】
【従来の技術】キャッシュは小容量で高速なメモリであ
り、大容量のメモリを使用する装置と大容量の低速な主
メモリとの間のバッファとして機能する。キャッシュの
目的は平均メモリ・アクセス時間を低減することであ
る。キャッシュはソフトウェア・プログラムの2つの特
性すなわち空間的局所性及び時間的局所性により効果的
である。空間的局所性とは、プログラムは一般に順次的
に実行されるサブルーチン及びプロシージャにより構成
されるために、これらがそのアドレスが最も近いデータ
及び命令をしばしば使用することを意味する。時間的局
所性は、多くのプログラムがループを含み、リスト及び
アレイ内に並ぶデータを処理するために、最近使用され
た情報が旧情報よりも再使用される可能性が高いことを
認識する。
り、大容量のメモリを使用する装置と大容量の低速な主
メモリとの間のバッファとして機能する。キャッシュの
目的は平均メモリ・アクセス時間を低減することであ
る。キャッシュはソフトウェア・プログラムの2つの特
性すなわち空間的局所性及び時間的局所性により効果的
である。空間的局所性とは、プログラムは一般に順次的
に実行されるサブルーチン及びプロシージャにより構成
されるために、これらがそのアドレスが最も近いデータ
及び命令をしばしば使用することを意味する。時間的局
所性は、多くのプログラムがループを含み、リスト及び
アレイ内に並ぶデータを処理するために、最近使用され
た情報が旧情報よりも再使用される可能性が高いことを
認識する。
【0003】メモリ・キャッシュはデータ処理システム
において、こうしたデータ処理システム内のマイクロプ
ロセッサまたは実行ユニットにより統計的に使用される
可能性の高い命令またはデータを保持することにより、
システム性能を改良する。こうした使用の可能性は、一
般に、現在実行中の命令または現在アクセスされるデー
タに極めて接近する命令/データにおいて存在すると見
なされる。図1を参照すると、高速メモリ・キャッシュ
11は、こうした命令またはデータをマイクロプロセッ
サまたはCPU(実行ユニット)9に迅速に提供し、そ
れによりプロセッサが低速な主メモリ13をアクセスす
ることを要求される場合に生じる遅延を最小化するため
に使用される。この低速な主メモリは、例えばダイナミ
ックRAM、読出し専用メモリ(ROM)、電気的、磁
気的または光学的ディスクまたはディスケット、または
他の型の揮発性記憶装置または不揮発性記憶装置などで
ある。
において、こうしたデータ処理システム内のマイクロプ
ロセッサまたは実行ユニットにより統計的に使用される
可能性の高い命令またはデータを保持することにより、
システム性能を改良する。こうした使用の可能性は、一
般に、現在実行中の命令または現在アクセスされるデー
タに極めて接近する命令/データにおいて存在すると見
なされる。図1を参照すると、高速メモリ・キャッシュ
11は、こうした命令またはデータをマイクロプロセッ
サまたはCPU(実行ユニット)9に迅速に提供し、そ
れによりプロセッサが低速な主メモリ13をアクセスす
ることを要求される場合に生じる遅延を最小化するため
に使用される。この低速な主メモリは、例えばダイナミ
ックRAM、読出し専用メモリ(ROM)、電気的、磁
気的または光学的ディスクまたはディスケット、または
他の型の揮発性記憶装置または不揮発性記憶装置などで
ある。
【0004】メモリ・キャッシュの内容は、主メモリか
らの命令/データにより周期的に補充されなければなら
ない。キャッシュと主メモリ間のデータ転送レートは、
それらの間で情報を移動するためのブロック・データ転
送を使用することにより、著しく向上される。キャッシ
ュ・メモリは通常データ・ラインで編成され、各ライン
は複数のデータ・バイトまたはワードを含む。このライ
ンは、単一のバイト/ワードではなくグループ単位のバ
イト/ワードをキャッシュで転送するために使用され
る。例えば、各キャッシュ・ラインは32バイト、64
バイトまたは128バイトのデータを有する。32バイ
トのキャッシュ・ラインでは、キャッシュ・ミスの度に
主メモリからの単一のブロック・データ転送を使用し
て、32バイトがフェッチされる。
らの命令/データにより周期的に補充されなければなら
ない。キャッシュと主メモリ間のデータ転送レートは、
それらの間で情報を移動するためのブロック・データ転
送を使用することにより、著しく向上される。キャッシ
ュ・メモリは通常データ・ラインで編成され、各ライン
は複数のデータ・バイトまたはワードを含む。このライ
ンは、単一のバイト/ワードではなくグループ単位のバ
イト/ワードをキャッシュで転送するために使用され
る。例えば、各キャッシュ・ラインは32バイト、64
バイトまたは128バイトのデータを有する。32バイ
トのキャッシュ・ラインでは、キャッシュ・ミスの度に
主メモリからの単一のブロック・データ転送を使用し
て、32バイトがフェッチされる。
【0005】キャッシュ・ミスは、キャッシュがCPU
により必要とされる命令またはデータを含まない時に発
生する。キャッシュ・ミスが発生すると、現キャッシュ
・ラインは、低速なメモリ/記憶装置から、要求値及び
後続の(n−1)バイトの命令/データで再ロードされ
る(ここでnはキャッシュ・ラインのサイズを示す)。
により必要とされる命令またはデータを含まない時に発
生する。キャッシュ・ミスが発生すると、現キャッシュ
・ラインは、低速なメモリ/記憶装置から、要求値及び
後続の(n−1)バイトの命令/データで再ロードされ
る(ここでnはキャッシュ・ラインのサイズを示す)。
【0006】しかしながら、しばしば、現キャッシュ内
に存在するラインを置換(displace)または上書きする
ことなく、特定のロード/ストア動作に対応して、メモ
リからラインをフェッチすることが有利である。非置換
性(non-displacement)に対するこの要求は、例えば、
キャッシュ内に含まれるデータに対しマトリクス演算を
実行する時に発生する。非マトリクス・データをアクセ
スする時にキャッシュ・ミスが発生する場合、既存のマ
トリクス・データを乱さずに、この非マトリクス・デー
タ値をアクセスすることが望ましい。非置換性に対する
この要求は、ロードされるラインが長い時間再使用され
ないことが知られている場合(例えばページ・フレーム
・テーブルの更新)、または1ワードだけが稀にメモリ
から読出される必要がある場合にも発生する。現在知ら
れているシステムは、キャッシュ・ラインの再ロードを
先取りする選択的なメモリ・アクセスを許可しない。
に存在するラインを置換(displace)または上書きする
ことなく、特定のロード/ストア動作に対応して、メモ
リからラインをフェッチすることが有利である。非置換
性(non-displacement)に対するこの要求は、例えば、
キャッシュ内に含まれるデータに対しマトリクス演算を
実行する時に発生する。非マトリクス・データをアクセ
スする時にキャッシュ・ミスが発生する場合、既存のマ
トリクス・データを乱さずに、この非マトリクス・デー
タ値をアクセスすることが望ましい。非置換性に対する
この要求は、ロードされるラインが長い時間再使用され
ないことが知られている場合(例えばページ・フレーム
・テーブルの更新)、または1ワードだけが稀にメモリ
から読出される必要がある場合にも発生する。現在知ら
れているシステムは、キャッシュ・ラインの再ロードを
先取りする選択的なメモリ・アクセスを許可しない。
【0007】
【発明が解決しようとする課題】本発明の目的は、改良
されたデータ処理システムを提供することである。
されたデータ処理システムを提供することである。
【0008】本発明の別の目的は、データ処理システム
における改良された性能を提供することである。
における改良された性能を提供することである。
【0009】更に本発明の別の目的は、データ処理シス
テムにおける改良されたキャッシュを提供することであ
る。
テムにおける改良されたキャッシュを提供することであ
る。
【0010】更に本発明の別の目的は、データ処理シス
テムにおいて要求されるキャッシュ・ライン再ロードの
回数を最小化することである。
テムにおいて要求されるキャッシュ・ライン再ロードの
回数を最小化することである。
【0011】更に本発明の別の目的は、キャッシュ・ラ
イン再ロードをプリエンプト(preempt)しながら、選
択的にメモリをアクセスすることである。
イン再ロードをプリエンプト(preempt)しながら、選
択的にメモリをアクセスすることである。
【0012】
【課題を解決するための手段】記憶アレイの冗長な行の
1つを使用することにより、データ・キャッシュ内に追
加のラインが提供される。記憶アレイへの入力信号によ
り、この追加ラインがいつアクセスされるかが示され
る。キャッシュ・アレイの他の行に対し実行される全て
の動作が、この追加ラインに対しても同様に実行でき
る。
1つを使用することにより、データ・キャッシュ内に追
加のラインが提供される。記憶アレイへの入力信号によ
り、この追加ラインがいつアクセスされるかが示され
る。キャッシュ・アレイの他の行に対し実行される全て
の動作が、この追加ラインに対しても同様に実行でき
る。
【0013】アレイセット・アソシアティビティが考慮
される場合、複数ラインが行内に配置される。例えば、
4ウェイ・セット・アソシアティビティでは、合計4本
の追加ラインが追加の行にもたらされる。キャッシュ・
ラインの余分なラインを提供するアレイ冗長行の使用
は、より多くのラインを含むようにキャッシュを拡張す
る従来方法よりも優れている。これらの従来方法は、追
加されるキャッシュ・ラインに対応するレジスタ、マル
チプレクサ及び制御論理の追加を必要とした。アレイ冗
長行を追加のキャッシュ・ラインとして使用することに
より、物理的空間及び結果的な配線の密集が最小化され
る。
される場合、複数ラインが行内に配置される。例えば、
4ウェイ・セット・アソシアティビティでは、合計4本
の追加ラインが追加の行にもたらされる。キャッシュ・
ラインの余分なラインを提供するアレイ冗長行の使用
は、より多くのラインを含むようにキャッシュを拡張す
る従来方法よりも優れている。これらの従来方法は、追
加されるキャッシュ・ラインに対応するレジスタ、マル
チプレクサ及び制御論理の追加を必要とした。アレイ冗
長行を追加のキャッシュ・ラインとして使用することに
より、物理的空間及び結果的な配線の密集が最小化され
る。
【0014】本明細書においては、理解を容易にするた
めに、1ウェイ・セット・アソシアティビティ・アレイ
について述べるが、これはMウェイに拡張し、より多く
の "追加ライン" を提供することを妨げるものではな
い。
めに、1ウェイ・セット・アソシアティビティ・アレイ
について述べるが、これはMウェイに拡張し、より多く
の "追加ライン" を提供することを妨げるものではな
い。
【0015】
【実施例】本明細書で述べられるデータ・キャッシュの
主アレイは8行を含む。各行は256バイトのライン・
データを含む。追加ラインは、キャッシュ・チップの冗
長行セクションから提供され、この追加ラインに対し実
行される動作は、主アレイ行の内容に影響しない。用
語"行(row)" が使用されるが、これは特定の物理的方
向に制限されることを意味するものではない。列、対角
線または他の型の物理的方向に構成されるメモリにおい
ても、本明細書で述べられる技術を同様に使用すること
が可能である。行は、読出し、書込み、フラッシュなど
の単一の動作を使用する際にアクセスまたは動作される
複数のメモリ・ロケーションを単に意味する。
主アレイは8行を含む。各行は256バイトのライン・
データを含む。追加ラインは、キャッシュ・チップの冗
長行セクションから提供され、この追加ラインに対し実
行される動作は、主アレイ行の内容に影響しない。用
語"行(row)" が使用されるが、これは特定の物理的方
向に制限されることを意味するものではない。列、対角
線または他の型の物理的方向に構成されるメモリにおい
ても、本明細書で述べられる技術を同様に使用すること
が可能である。行は、読出し、書込み、フラッシュなど
の単一の動作を使用する際にアクセスまたは動作される
複数のメモリ・ロケーションを単に意味する。
【0016】図2は好適な実施例のメモリ・キャッシュ
11を表す。主アレイ10は合計8つの行をアドレスす
る3本のアドレス・ライン12を含む。冗長行14は、
典型的には、主アレイの行の1つが故障の場合に使用さ
れる。主アレイ内に故障が判断されると、製造工程の間
に主アレイ10内の故障行をバイパスするために、予備
/冗長行14の1つが使用される。悪いビットを含む行
は、通常はヒューズ・リンクを切断することにより使用
禁止とされ、冗長行がこれに代わり使用可能とされる。
主アレイ内の1行を予備/冗長行により代替可能とする
ために、予備/冗長行は、自身が置換する行と同一の論
理的外観を有さなければならない。予備/冗長行14
は、予備/冗長行を主アレイの故障行または列の論理ロ
ケーションにマップする時、論理的に上書きされる。こ
の冗長的置換は、業界では一般に知られており、米国特
許第4630241号及び1991年7月17日出願の
米国特許出願第731487号(及び対応する欧州特許
出願第523996−A1号)に述べられている。
11を表す。主アレイ10は合計8つの行をアドレスす
る3本のアドレス・ライン12を含む。冗長行14は、
典型的には、主アレイの行の1つが故障の場合に使用さ
れる。主アレイ内に故障が判断されると、製造工程の間
に主アレイ10内の故障行をバイパスするために、予備
/冗長行14の1つが使用される。悪いビットを含む行
は、通常はヒューズ・リンクを切断することにより使用
禁止とされ、冗長行がこれに代わり使用可能とされる。
主アレイ内の1行を予備/冗長行により代替可能とする
ために、予備/冗長行は、自身が置換する行と同一の論
理的外観を有さなければならない。予備/冗長行14
は、予備/冗長行を主アレイの故障行または列の論理ロ
ケーションにマップする時、論理的に上書きされる。こ
の冗長的置換は、業界では一般に知られており、米国特
許第4630241号及び1991年7月17日出願の
米国特許出願第731487号(及び対応する欧州特許
出願第523996−A1号)に述べられている。
【0017】アレイ制御論理18(図3を参照してより
詳細に後述される)は、冗長行14が主アレイ10内の
他の行と同一の論理機能を有するように実現される。冗
長行14は主アレイ行と同一の論理的外観を有するた
め、主アレイに対する"追加行"と見なすことができる。
従って、故障行に対する代替としてマップされていない
冗長行は、追加行またはキャッシュ・ラインとして使用
することが可能である。主アレイの行の代替行として使
用される場合、これを「マップ化」といい、未使用の場
合、これを「非マップ化」という。それにより主アレイ
に対する論理的拡張を提供する。これらのマップされて
いない冗長なキャッシュ・ライン(冗長非マップ化キャ
ッシュ・ライン)14は、キャッシュの主アレイ内容を
置換または上書きすることなく、一時キャッシュ・ロケ
ーションとして使用可能である。
詳細に後述される)は、冗長行14が主アレイ10内の
他の行と同一の論理機能を有するように実現される。冗
長行14は主アレイ行と同一の論理的外観を有するた
め、主アレイに対する"追加行"と見なすことができる。
従って、故障行に対する代替としてマップされていない
冗長行は、追加行またはキャッシュ・ラインとして使用
することが可能である。主アレイの行の代替行として使
用される場合、これを「マップ化」といい、未使用の場
合、これを「非マップ化」という。それにより主アレイ
に対する論理的拡張を提供する。これらのマップされて
いない冗長なキャッシュ・ライン(冗長非マップ化キャ
ッシュ・ライン)14は、キャッシュの主アレイ内容を
置換または上書きすることなく、一時キャッシュ・ロケ
ーションとして使用可能である。
【0018】"追加行"入力信号が16に提供される。後
述されるように、この信号16はキャッシュ制御装置に
より生成され、要求ラインが主アレイ10内に存在する
か、主アレイ10外の(主アレイをバイパスする)冗長
行領域14内に存在するかに依存して、セットされる。
この信号はまた、アレイの"高位"アドレス・ビットとし
ても考慮される。この信号が論理"0"にセットされる場
合、アクセスは主アレイに対して実施され、また論理"
1"にセットされる場合、"追加行"がアクセスされる。
述されるように、この信号16はキャッシュ制御装置に
より生成され、要求ラインが主アレイ10内に存在する
か、主アレイ10外の(主アレイをバイパスする)冗長
行領域14内に存在するかに依存して、セットされる。
この信号はまた、アレイの"高位"アドレス・ビットとし
ても考慮される。この信号が論理"0"にセットされる場
合、アクセスは主アレイに対して実施され、また論理"
1"にセットされる場合、"追加行"がアクセスされる。
【0019】図3はアレイ制御論理18を示し、アレイ
・アドレス・デコーダ20及びアレイ・インタフェース
22を含む。アレイ・アドレス・デコーダは追加の行信
号16を処理するように拡張される。この拡張は24に
おいて、アレイ・アドレス・デコーダ20の出力と追加
行信号16の論理積により達成される。行信号16はキ
ャッシュ制御装置により生成される。この追加行信号は
24で論理積演算される以前に、26において反転され
る。論理積演算の出力は、23、25及び27で示され
るように、主アレイ10のそれぞれの行(0乃至7)を
アクセス/許可するために使用される。追加行信号16
は、キャッシュ11の冗長行14部分の追加非マップ化
行をアクセス/許可するために使用される。
・アドレス・デコーダ20及びアレイ・インタフェース
22を含む。アレイ・アドレス・デコーダは追加の行信
号16を処理するように拡張される。この拡張は24に
おいて、アレイ・アドレス・デコーダ20の出力と追加
行信号16の論理積により達成される。行信号16はキ
ャッシュ制御装置により生成される。この追加行信号は
24で論理積演算される以前に、26において反転され
る。論理積演算の出力は、23、25及び27で示され
るように、主アレイ10のそれぞれの行(0乃至7)を
アクセス/許可するために使用される。追加行信号16
は、キャッシュ11の冗長行14部分の追加非マップ化
行をアクセス/許可するために使用される。
【0020】キャッシュ制御装置18は、いつラインを
冗長行領域の"追加行"に配置するかを知らされなければ
ならない。これは、メモリからキャッシュへの再ロード
を引き起こす全てのCPU命令(すなわちロード、スト
ア、ゼロ・ライン)内に、ビットを割当てることにより
達成される。例えば、10ビット命令は表1に示される
ように構成され、ビット5が追加行をアクセスするため
に使用される。
冗長行領域の"追加行"に配置するかを知らされなければ
ならない。これは、メモリからキャッシュへの再ロード
を引き起こす全てのCPU命令(すなわちロード、スト
ア、ゼロ・ライン)内に、ビットを割当てることにより
達成される。例えば、10ビット命令は表1に示される
ように構成され、ビット5が追加行をアクセスするため
に使用される。
【0021】
【表1】
【0022】アプリケーション・プログラムを作成する
プログラマ(またはこの選択キャッシュを管理する知能
的コンパイラまたはオペレーティング・システム)は、
このビットを"1"にセットし、メモリから入力されるラ
インが追加行に配置されるべきことを示す。このビット
が"0"の場合、ラインは主アレイ10に配置される。C
PU9(図1)はOPコード内のこのビットを解釈し、
それに従い上述のようにキャッシュの制御セクションに
伝達する。
プログラマ(またはこの選択キャッシュを管理する知能
的コンパイラまたはオペレーティング・システム)は、
このビットを"1"にセットし、メモリから入力されるラ
インが追加行に配置されるべきことを示す。このビット
が"0"の場合、ラインは主アレイ10に配置される。C
PU9(図1)はOPコード内のこのビットを解釈し、
それに従い上述のようにキャッシュの制御セクションに
伝達する。
【0023】このビットの値は次に表2に示すように、
ラインのアドレスと一緒にタグ・テーブル内に記憶され
る。
ラインのアドレスと一緒にタグ・テーブル内に記憶され
る。
【0024】
【表2】 (タグ・テーブル・エントリ) 追加行 ラインのメモリ・アドレス 0または1 XXXXX
【0025】このラインのアドレスにおいて"キャッシ
ュ・ヒット"が発生する時、タグ・テーブルに以前に記
憶された"追加行"ビットが、対応するアドレス・ビット
と一緒に制御装置からキャッシュに送られる。"キャッ
シュ・ライン"がメモリに記憶され戻す必要がある場
合、同一のキャッシュ・アドレス機構が使用される(す
なわち、追加行ビットがアクセスするラインを示すアド
レスと共に送られる)。上述のシナリオは、実行ユニッ
トのストア/ロードが発生している場合にも、キャッシ
ュの再ロード/ストアバックが発生している場合にも適
用可能であり、主アレイ動作と比較して、"追加行"を処
理するために余計な対策は要求されない。
ュ・ヒット"が発生する時、タグ・テーブルに以前に記
憶された"追加行"ビットが、対応するアドレス・ビット
と一緒に制御装置からキャッシュに送られる。"キャッ
シュ・ライン"がメモリに記憶され戻す必要がある場
合、同一のキャッシュ・アドレス機構が使用される(す
なわち、追加行ビットがアクセスするラインを示すアド
レスと共に送られる)。上述のシナリオは、実行ユニッ
トのストア/ロードが発生している場合にも、キャッシ
ュの再ロード/ストアバックが発生している場合にも適
用可能であり、主アレイ動作と比較して、"追加行"を処
理するために余計な対策は要求されない。
【0026】上述のシナリオにおいて、プログラマは単
に初期にラインが追加行に配置されるかどうかを識別す
ればよく、更に別のモニタリングまたは活動は要求され
ない。
に初期にラインが追加行に配置されるかどうかを識別す
ればよく、更に別のモニタリングまたは活動は要求され
ない。
【0027】更に多くの"追加行"がアレイ内に設計され
る場合にも、制御装置によるそれらへのアクセスの妨げ
は存在しない。第2の"追加行"を設けるために、次の変
更が実施される。
る場合にも、制御装置によるそれらへのアクセスの妨げ
は存在しない。第2の"追加行"を設けるために、次の変
更が実施される。
【0028】表1を参照して述べたのと同様にして、"
第2追加行"アドレス・ビットが命令内に割当てられ
る。(表2の)タグ・テーブルがこの新たなラインを収
容するために1ビット分広げられる。しかしながら、冗
長行領域を使用する時を示す "追加行信号" の使用はそ
のまま維持される。"追加行信号"が活動状態かまたは許
可される場合、冗長行に対してアクセスが実施され
る。"第2追加行"信号が論理 "0" の場合、追加行0が
アクセスされ、この信号が論理"1"の場合、追加行1が
アクセスされる。
第2追加行"アドレス・ビットが命令内に割当てられ
る。(表2の)タグ・テーブルがこの新たなラインを収
容するために1ビット分広げられる。しかしながら、冗
長行領域を使用する時を示す "追加行信号" の使用はそ
のまま維持される。"追加行信号"が活動状態かまたは許
可される場合、冗長行に対してアクセスが実施され
る。"第2追加行"信号が論理 "0" の場合、追加行0が
アクセスされ、この信号が論理"1"の場合、追加行1が
アクセスされる。
【0029】図3の追加行信号16は、図4に示される
ように拡張される。"第2追加行"信号が30に提供され
る。この信号30は32で反転され、次に34で追加行
信号16と論理積される。AND34の出力は信号38
で示され、冗長行14の追加非マップ化行0をアクセス
/許可するために使用される。同様にして、 "第2追加
行" 信号30は、36においても追加行信号16と論理
積される。AND36の出力は信号40で示され、冗長
行14の追加非マップ化行1をアクセス/許可するため
に使用される。
ように拡張される。"第2追加行"信号が30に提供され
る。この信号30は32で反転され、次に34で追加行
信号16と論理積される。AND34の出力は信号38
で示され、冗長行14の追加非マップ化行0をアクセス
/許可するために使用される。同様にして、 "第2追加
行" 信号30は、36においても追加行信号16と論理
積される。AND36の出力は信号40で示され、冗長
行14の追加非マップ化行1をアクセス/許可するため
に使用される。
【0030】追加行の数は更に拡張可能であるが、この
場合、論理オーバヘッドを低減するために、例えば2対
4ウェイ、または3対8ウェイ・エンコーダなどを使用
する従来方法により、第2、第3、...などのアドレ
ス・ビット及びそれらに対応する信号の符号化を開始す
ることが好ましい。これは従来の既知の技術を使用して
達成される。
場合、論理オーバヘッドを低減するために、例えば2対
4ウェイ、または3対8ウェイ・エンコーダなどを使用
する従来方法により、第2、第3、...などのアドレ
ス・ビット及びそれらに対応する信号の符号化を開始す
ることが好ましい。これは従来の既知の技術を使用して
達成される。
【0031】Mウェイ・セット・アソシアティブ・アレ
イでは、図5の42で示されるように、1行がM個のラ
インを含む。従って、セット・アソシアティビティが使
用される場合、複数の "追加" ラインが冗長行にもたら
される。セット・アソシアティビティは一般に知られて
おり、本発明がセット・アソシアティビティと共存する
様子が簡単な例により示される。
イでは、図5の42で示されるように、1行がM個のラ
インを含む。従って、セット・アソシアティビティが使
用される場合、複数の "追加" ラインが冗長行にもたら
される。セット・アソシアティビティは一般に知られて
おり、本発明がセット・アソシアティビティと共存する
様子が簡単な例により示される。
【0032】図6を参照すると、アレイ44は46で示
されるY行から構成され、各行は48で示されるように
Xバイトを含む。任意のバイトをアクセスするために、
行アドレス(1〜Y)及びバイト・アドレス(1〜X)
が指定されなければならない。1ラインが行全体として
定義されると、その長さはXバイトである。この場合、
ライン及び行は同一の意味を有する。
されるY行から構成され、各行は48で示されるように
Xバイトを含む。任意のバイトをアクセスするために、
行アドレス(1〜Y)及びバイト・アドレス(1〜X)
が指定されなければならない。1ラインが行全体として
定義されると、その長さはXバイトである。この場合、
ライン及び行は同一の意味を有する。
【0033】セット・アソシアティビティが使用される
場合、アレイ44は図7に示されるように、選択される
セット数Sにもとづき、追加のグループに分割される。
セットの幅はX/Sバイト(Xは行の合計バイト長)で
あり、この値が新たなライン長になる。従って、Sセッ
トを有するアレイ行はS個のラインを含む。任意のバイ
トをアクセスするために、行アドレス、セット番号、及
びセット内のバイト・アドレスが、キャッシュ制御装置
により指定されなければならない。冗長行は主アレイの
行と同一の特性(すなわち幅及びアドレス指定)を有す
るため、冗長行も同様に同一のセット・アソシアティビ
ティ機構を有する。従って、追加ラインを記憶するため
に冗長行を使用することは、同様にセット・アソシアテ
ィビティにも拡張され、冗長非マップ化行は1ウェイ・
セット・アソシアティビティに対して上述されたのと同
一の技術を使用してS個のラインを記憶するか、または
保持することができる。
場合、アレイ44は図7に示されるように、選択される
セット数Sにもとづき、追加のグループに分割される。
セットの幅はX/Sバイト(Xは行の合計バイト長)で
あり、この値が新たなライン長になる。従って、Sセッ
トを有するアレイ行はS個のラインを含む。任意のバイ
トをアクセスするために、行アドレス、セット番号、及
びセット内のバイト・アドレスが、キャッシュ制御装置
により指定されなければならない。冗長行は主アレイの
行と同一の特性(すなわち幅及びアドレス指定)を有す
るため、冗長行も同様に同一のセット・アソシアティビ
ティ機構を有する。従って、追加ラインを記憶するため
に冗長行を使用することは、同様にセット・アソシアテ
ィビティにも拡張され、冗長非マップ化行は1ウェイ・
セット・アソシアティビティに対して上述されたのと同
一の技術を使用してS個のラインを記憶するか、または
保持することができる。
【0034】本欄のまとめとして、本発明の構成を以下
のとおりに開示する。
のとおりに開示する。
【0035】1.キャッシュ内の複数のキャッシュ・ラ
インと、1または複数のマップされていない冗長キャッ
シュ・ラインとを含むキャッシュと、上記キャッシュ
に、上記複数のキャッシュ・ラインまたは上記冗長キャ
ッシュ・ラインの1つをアクセスすることを信号で知ら
せる手段と、を含むキャッシュ・メモリ・システム。
インと、1または複数のマップされていない冗長キャッ
シュ・ラインとを含むキャッシュと、上記キャッシュ
に、上記複数のキャッシュ・ラインまたは上記冗長キャ
ッシュ・ラインの1つをアクセスすることを信号で知ら
せる手段と、を含むキャッシュ・メモリ・システム。
【0036】2.主アレイ及び冗長アレイを有するキャ
ッシュ・メモリ・システムであって、該冗長アレイがマ
ップ化及び非マップ化キャッシュ・ラインを含むものに
おいて、上記主アレイをアクセスする第1のアクセス手
段と、上記マップ化キャッシュ・ラインをアクセスする
第2のアクセス手段と、上記非マップ化キャッシュ・ラ
インをアクセスする第3のアクセス手段と、を含むキャ
ッシュ・メモリ・システム。
ッシュ・メモリ・システムであって、該冗長アレイがマ
ップ化及び非マップ化キャッシュ・ラインを含むものに
おいて、上記主アレイをアクセスする第1のアクセス手
段と、上記マップ化キャッシュ・ラインをアクセスする
第2のアクセス手段と、上記非マップ化キャッシュ・ラ
インをアクセスする第3のアクセス手段と、を含むキャ
ッシュ・メモリ・システム。
【0037】3.上記2.に記載の方法において、上記
マップ化キャッシュ・ラインが上記主アレイに対する論
理上書きである、キャッシュ・メモリ・システム。
マップ化キャッシュ・ラインが上記主アレイに対する論
理上書きである、キャッシュ・メモリ・システム。
【0038】4.上記2.に記載の方法において、上記
非マップ化キャッシュ・ラインが上記主アレイの論理拡
張である、キャッシュ・メモリ・システム。
非マップ化キャッシュ・ラインが上記主アレイの論理拡
張である、キャッシュ・メモリ・システム。
【0039】5.主アレイ及び冗長アレイを有するキャ
ッシュ・メモリをアクセスする方法であって、該主アレ
イが少なくとも1つの主キャッシュ・ラインを有し、該
冗長アレイが少なくとも1つの冗長非マップ化キャッシ
ュ・ラインを有するものにおいて、上記主アレイのメモ
リ・ロケーションのアドレスを生成するステップと、上
記アドレスに対応するキャッシュ・ラインをアクセスす
るステップと、上記冗長アレイをアクセスする信号を生
成するステップと、上記冗長アレイ内の冗長非マップ化
キャッシュ・ラインをアクセスするステップと、を含む
方法。
ッシュ・メモリをアクセスする方法であって、該主アレ
イが少なくとも1つの主キャッシュ・ラインを有し、該
冗長アレイが少なくとも1つの冗長非マップ化キャッシ
ュ・ラインを有するものにおいて、上記主アレイのメモ
リ・ロケーションのアドレスを生成するステップと、上
記アドレスに対応するキャッシュ・ラインをアクセスす
るステップと、上記冗長アレイをアクセスする信号を生
成するステップと、上記冗長アレイ内の冗長非マップ化
キャッシュ・ラインをアクセスするステップと、を含む
方法。
【0040】6.主アレイ及び冗長アレイを有するキャ
ッシュ・メモリをアクセスする方法であって、該主アレ
イ及び該冗長アレイが複数のメモリ・ロケーションを有
するものにおいて、上記主アレイのメモリ・ロケーショ
ンのアドレスを生成するステップと、第1のデータを上
記主アレイの複数のメモリ・ロケーションの少なくとも
1つに読出しまたは書込みするステップと、上記冗長ア
レイをアクセスする信号を生成するステップと、上記第
1のデータを置換することなく、第2のデータを上記冗
長アレイに読出しまたは書込みするステップと、を含む
方法。
ッシュ・メモリをアクセスする方法であって、該主アレ
イ及び該冗長アレイが複数のメモリ・ロケーションを有
するものにおいて、上記主アレイのメモリ・ロケーショ
ンのアドレスを生成するステップと、第1のデータを上
記主アレイの複数のメモリ・ロケーションの少なくとも
1つに読出しまたは書込みするステップと、上記冗長ア
レイをアクセスする信号を生成するステップと、上記第
1のデータを置換することなく、第2のデータを上記冗
長アレイに読出しまたは書込みするステップと、を含む
方法。
【0041】7.主アレイ及び少なくとも1つの冗長非
マップ化キャッシュ・ラインを有するキャッシュ・メモ
リをアクセスする方法であって、該主アレイが複数のメ
モリ・ロケーションを有するものにおいて、上記少なく
とも1つの冗長非マップ化キャッシュ・ラインをアクセ
スする信号を生成するステップと、上記複数のメモリ・
ロケーションの内容を変更することなく、上記少なくと
も1つの冗長非マップ化キャッシュ・ラインをアクセス
するステップと、を含む方法。
マップ化キャッシュ・ラインを有するキャッシュ・メモ
リをアクセスする方法であって、該主アレイが複数のメ
モリ・ロケーションを有するものにおいて、上記少なく
とも1つの冗長非マップ化キャッシュ・ラインをアクセ
スする信号を生成するステップと、上記複数のメモリ・
ロケーションの内容を変更することなく、上記少なくと
も1つの冗長非マップ化キャッシュ・ラインをアクセス
するステップと、を含む方法。
【0042】8.主アレイ及び冗長アレイを有するキャ
ッシュ・メモリをアクセスする方法であって、該主アレ
イが少なくとも1つの主キャッシュ・ラインを有し、該
冗長アレイが少なくとも1つの冗長キャッシュ・ライン
を有するものにおいて、上記冗長アレイをアクセスする
信号を生成するステップと、上記主アレイ内の上記少な
くとも1つの主キャッシュ・ラインを置換することな
く、上記冗長アレイ内の冗長キャッシュ・ラインをアク
セスするステップと、を含む方法。
ッシュ・メモリをアクセスする方法であって、該主アレ
イが少なくとも1つの主キャッシュ・ラインを有し、該
冗長アレイが少なくとも1つの冗長キャッシュ・ライン
を有するものにおいて、上記冗長アレイをアクセスする
信号を生成するステップと、上記主アレイ内の上記少な
くとも1つの主キャッシュ・ラインを置換することな
く、上記冗長アレイ内の冗長キャッシュ・ラインをアク
セスするステップと、を含む方法。
【0043】9.主アレイ及び冗長アレイを有するキャ
ッシュ・メモリをアクセスするシステムであって、該主
アレイが少なくとも1つの主キャッシュ・ラインを有
し、該冗長アレイが少なくとも1つの冗長キャッシュ・
ラインを有するものにおいて、上記主アレイのメモリ・
ロケーションのアドレスを生成する手段と、上記アドレ
スに対応するキャッシュ・ラインをアクセスする手段
と、上記冗長アレイをアクセスする信号を生成する手段
と、上記主アレイ内の上記少なくとも1つの主キャッシ
ュ・ラインを置換することなく、上記冗長アレイ内の冗
長キャッシュ・ラインをアクセスする手段と、を含むシ
ステム。
ッシュ・メモリをアクセスするシステムであって、該主
アレイが少なくとも1つの主キャッシュ・ラインを有
し、該冗長アレイが少なくとも1つの冗長キャッシュ・
ラインを有するものにおいて、上記主アレイのメモリ・
ロケーションのアドレスを生成する手段と、上記アドレ
スに対応するキャッシュ・ラインをアクセスする手段
と、上記冗長アレイをアクセスする信号を生成する手段
と、上記主アレイ内の上記少なくとも1つの主キャッシ
ュ・ラインを置換することなく、上記冗長アレイ内の冗
長キャッシュ・ラインをアクセスする手段と、を含むシ
ステム。
【0044】10.主アレイ及び冗長アレイを有するキ
ャッシュ・メモリをアクセスするシステムであって、該
主アレイ及び該冗長アレイが複数のメモリ・ロケーショ
ンを有するものにおいて、上記主アレイのメモリ・ロケ
ーションのアドレスを生成する手段と、第1のデータを
該主アレイの該メモリ・ロケーションの少なくとも1つ
に読出しまたは書込みする手段と、上記冗長アレイをア
クセスする信号を生成する手段と、上記第1のデータを
置換することなく、第2のデータを上記冗長アレイに読
出しまたは書込みする手段と、を含むシステム。
ャッシュ・メモリをアクセスするシステムであって、該
主アレイ及び該冗長アレイが複数のメモリ・ロケーショ
ンを有するものにおいて、上記主アレイのメモリ・ロケ
ーションのアドレスを生成する手段と、第1のデータを
該主アレイの該メモリ・ロケーションの少なくとも1つ
に読出しまたは書込みする手段と、上記冗長アレイをア
クセスする信号を生成する手段と、上記第1のデータを
置換することなく、第2のデータを上記冗長アレイに読
出しまたは書込みする手段と、を含むシステム。
【0045】11.主アレイ及び少なくとも1つの冗長
非マップ化キャッシュ・ラインを有するキャッシュ・メ
モリをアクセスするシステムであって、該主アレイが複
数のメモリ・ロケーションを有するものにおいて、上記
少なくとも1つの冗長非マップ化キャッシュ・ラインを
アクセスする信号を生成する手段と、上記複数のメモリ
・ロケーションの内容を変更することなく、上記少なく
とも1つの冗長非マップ化キャッシュ・ラインをアクセ
スする手段と、を含むシステム。
非マップ化キャッシュ・ラインを有するキャッシュ・メ
モリをアクセスするシステムであって、該主アレイが複
数のメモリ・ロケーションを有するものにおいて、上記
少なくとも1つの冗長非マップ化キャッシュ・ラインを
アクセスする信号を生成する手段と、上記複数のメモリ
・ロケーションの内容を変更することなく、上記少なく
とも1つの冗長非マップ化キャッシュ・ラインをアクセ
スする手段と、を含むシステム。
【0046】12.主アレイ及び冗長アレイを有するキ
ャッシュ・メモリをアクセスするシステムであって、該
主アレイが少なくとも1つの主キャッシュ・ラインを有
し、該冗長アレイが少なくとも1つの冗長キャッシュ・
ラインを有するものにおいて、上記冗長アレイをアクセ
スする信号を生成する手段と、上記主アレイ内の上記少
なくとも1つの主キャッシュ・ラインを置換することな
く、上記冗長アレイ内の冗長キャッシュ・ラインをアク
セスする手段と、を含むシステム。
ャッシュ・メモリをアクセスするシステムであって、該
主アレイが少なくとも1つの主キャッシュ・ラインを有
し、該冗長アレイが少なくとも1つの冗長キャッシュ・
ラインを有するものにおいて、上記冗長アレイをアクセ
スする信号を生成する手段と、上記主アレイ内の上記少
なくとも1つの主キャッシュ・ラインを置換することな
く、上記冗長アレイ内の冗長キャッシュ・ラインをアク
セスする手段と、を含むシステム。
【0047】13.主アレイ及び非マップ化冗長アレイ
を有するキャッシュ・メモリをアクセスするシステムで
あって、該主アレイ及び該冗長アレイが複数のメモリ・
ロケーションを有するものにおいて、上記キャッシュ・
メモリに接続される中央処理ユニットと、上記キャッシ
ュ・メモリに接続される主メモリと、上記中央処理ユニ
ットにより、上記主メモリのメモリ・ロケーションのア
ドレスを生成する手段と、第1のデータを上記主アレイ
のメモリ・ロケーションに読出しまたは書込みする手段
と、上記中央処理ユニットにより、上記非マップ化冗長
アレイをアクセスする信号を生成する手段と、上記第1
のデータを置換することなく、第2のデータを上記冗長
非マップ化アレイに読出しまたは書込みする手段と、を
含むシステム。
を有するキャッシュ・メモリをアクセスするシステムで
あって、該主アレイ及び該冗長アレイが複数のメモリ・
ロケーションを有するものにおいて、上記キャッシュ・
メモリに接続される中央処理ユニットと、上記キャッシ
ュ・メモリに接続される主メモリと、上記中央処理ユニ
ットにより、上記主メモリのメモリ・ロケーションのア
ドレスを生成する手段と、第1のデータを上記主アレイ
のメモリ・ロケーションに読出しまたは書込みする手段
と、上記中央処理ユニットにより、上記非マップ化冗長
アレイをアクセスする信号を生成する手段と、上記第1
のデータを置換することなく、第2のデータを上記冗長
非マップ化アレイに読出しまたは書込みする手段と、を
含むシステム。
【0048】
【発明の効果】以上説明したように、本発明によれば、
データ処理システムにおいてキャッシュ・ライン再ロー
ドをプリエンプトし、選択的にメモリをアクセスするこ
とにより、要求されるキャッシュ・ライン再ロードの回
数を最小化し、システム・スループットを向上すること
が可能となる。
データ処理システムにおいてキャッシュ・ライン再ロー
ドをプリエンプトし、選択的にメモリをアクセスするこ
とにより、要求されるキャッシュ・ライン再ロードの回
数を最小化し、システム・スループットを向上すること
が可能となる。
【図1】データ処理キャッシュ及びその制御システムを
示す図である。
示す図である。
【図2】キャッシュの全体的アレイ・ブロック及び制御
インタフェースを示す図である。
インタフェースを示す図である。
【図3】1つの追加冗長非マップ化行に対するアレイ・
ブロックのアレイ制御論理を示す図である。
ブロックのアレイ制御論理を示す図である。
【図4】2つの追加冗長非マップ化行に対するアレイ・
ブロックのアレイ制御論理を示す図である。
ブロックのアレイ制御論理を示す図である。
【図5】セット・アソシアティビティが使用される時の
複数ラインを有するアレイ行を示す図である。
複数ラインを有するアレイ行を示す図である。
【図6】1ウェイ・セット・アソシアティブ・キャッシ
ュ構成を示す図である。
ュ構成を示す図である。
【図7】Mウェイ・セット・アソシアティブ・キャッシ
ュ構成を示す図である。
ュ構成を示す図である。
9 CPU 10 主アレイ 11 高速メモリ・キャッシュ 12 アドレス・ライン 13 主メモリ 14 冗長行 16 追加行信号 18 アレイ制御論理 20 アレイ・アドレス・デコーダ 22 アレイ・インタフェース
フロントページの続き (72)発明者 ジョージ・マリア・ブラセラス アメリカ合衆国05446、バーモント州コ ルチェスター、キャニオン・エステー ト・ドライブ 12 (72)発明者 ローレンス・カーレイ・ハウエル、ジュ ニア アメリカ合衆国78727、テキサス州オー スティン、ノースフィールド・ロード 3903 (56)参考文献 特開 昭60−15758(JP,A) 特開 平3−30036(JP,A)
Claims (13)
- 【請求項1】複数のキャッシュ・ラインと、1または複
数のマップされていない冗長キャッシュ・ラインとを含
むキャッシュと、 上記キャッシュに、上記複数のキャッシュ・ラインまた
は上記冗長キャッシュ・ラインの1つをアクセスするこ
とを信号で知らせる手段と、 を含むキャッシュ・メモリ・システム。 - 【請求項2】主アレイ及び冗長アレイを有するキャッシ
ュ・メモリ・システムであって、該冗長アレイがマップ
化及び非マップ化キャッシュ・ラインを含むものにおい
て、 上記主アレイをアクセスする第1のアクセス手段と、 上記マップ化キャッシュ・ラインをアクセスする第2の
アクセス手段と、 上記非マップ化キャッシュ・ラインをアクセスする第3
のアクセス手段と、 を含むキャッシュ・メモリ・システム。 - 【請求項3】上記マップ化キャッシュ・ラインが上記主
アレイに対する論理上書きである、請求項2記載のキャ
ッシュ・メモリ・システム。 - 【請求項4】上記非マップ化キャッシュ・ラインが上記
主アレイの論理拡張である、請求項2記載のキャッシュ
・メモリ・システム。 - 【請求項5】主アレイ及び冗長アレイを有するキャッシ
ュ・メモリをアクセスする方法であって、該主アレイが
少なくとも1つの主キャッシュ・ラインを有し、該冗長
アレイが少なくとも1つの冗長非マップ化キャッシュ・
ラインを有するものにおいて、 上記主アレイのメモリ・ロケーションのアドレスを生成
するステップと、 上記アドレスに対応するキャッシュ・ラインをアクセス
するステップと、 上記冗長アレイをアクセスする信号を生成するステップ
と、 上記冗長アレイ内の冗長非マップ化キャッシュ・ライン
をアクセスするステップと、 を含む方法。 - 【請求項6】主アレイ及び冗長アレイを有するキャッシ
ュ・メモリをアクセスする方法であって、該主アレイ及
び該冗長アレイが複数のメモリ・ロケーションを有する
ものにおいて、 上記主アレイのメモリ・ロケーションのアドレスを生成
するステップと、 第1のデータを上記主アレイの複数のメモリ・ロケーシ
ョンの少なくとも1つに読出しまたは書込みするステッ
プと、 上記冗長アレイをアクセスする信号を生成するステップ
と、 上記第1のデータを置換することなく、第2のデータを
上記冗長アレイに読出しまたは書込みするステップと、 を含む方法。 - 【請求項7】主アレイ及び少なくとも1つの冗長非マッ
プ化キャッシュ・ラインを有するキャッシュ・メモリを
アクセスする方法であって、該主アレイが複数のメモリ
・ロケーションを有するものにおいて、 上記少なくとも1つの冗長非マップ化キャッシュ・ライ
ンをアクセスする信号を生成するステップと、 上記複数のメモリ・ロケーションの内容を変更すること
なく、上記少なくとも1つの冗長非マップ化キャッシュ
・ラインをアクセスするステップと、 を含む方法。 - 【請求項8】主アレイ及び冗長アレイを有するキャッシ
ュ・メモリをアクセスする方法であって、該主アレイが
少なくとも1つの主キャッシュ・ラインを有し、該冗長
アレイが少なくとも1つの冗長キャッシュ・ラインを有
するものにおいて、 上記冗長アレイをアクセスする信号を生成するステップ
と、 上記主アレイ内の上記少なくとも1つの主キャッシュ・
ラインを置換することなく、上記冗長アレイ内の冗長キ
ャッシュ・ラインをアクセスするステップと、 を含む方法。 - 【請求項9】主アレイ及び冗長アレイを有するキャッシ
ュ・メモリをアクセスするシステムであって、該主アレ
イが少なくとも1つの主キャッシュ・ラインを有し、該
冗長アレイが少なくとも1つの冗長キャッシュ・ライン
を有するものにおいて、 上記主アレイのメモリ・ロケーションのアドレスを生成
する手段と、 上記アドレスに対応するキャッシュ・ラインをアクセス
する手段と、 上記冗長アレイをアクセスする信号を生成する手段と、 上記主アレイ内の上記少なくとも1つの主キャッシュ・
ラインを置換することなく、上記冗長アレイ内の冗長キ
ャッシュ・ラインをアクセスする手段と、 を含むシステム。 - 【請求項10】主アレイ及び冗長アレイを有するキャッ
シュ・メモリをアクセスするシステムであって、該主ア
レイ及び該冗長アレイが複数のメモリ・ロケーションを
有するものにおいて、 上記主アレイのメモリ・ロケーションのアドレスを生成
する手段と、 第1のデータを該主アレイの該メモリ・ロケーションの
少なくとも1つに読出しまたは書込みする手段と、 上記冗長アレイをアクセスする信号を生成する手段と、 上記第1のデータを置換することなく、第2のデータを
上記冗長アレイに読出しまたは書込みする手段と、 を含むシステム。 - 【請求項11】主アレイ及び少なくとも1つの冗長非マ
ップ化キャッシュ・ラインを有するキャッシュ・メモリ
をアクセスするシステムであって、該主アレイが複数の
メモリ・ロケーションを有するものにおいて、 上記少なくとも1つの冗長非マップ化キャッシュ・ライ
ンをアクセスする信号を生成する手段と、 上記複数のメモリ・ロケーションの内容を変更すること
なく、上記少なくとも1つの冗長非マップ化キャッシュ
・ラインをアクセスする手段と、 を含むシステム。 - 【請求項12】主アレイ及び冗長アレイを有するキャッ
シュ・メモリをアクセスするシステムであって、該主ア
レイが少なくとも1つの主キャッシュ・ラインを有し、
該冗長アレイが少なくとも1つの冗長キャッシュ・ライ
ンを有するものにおいて、 上記冗長アレイをアクセスする信号を生成する手段と、 上記主アレイ内の上記少なくとも1つの主キャッシュ・
ラインを置換することなく、上記冗長アレイ内の冗長キ
ャッシュ・ラインをアクセスする手段と、 を含むシステム。 - 【請求項13】主アレイ及び非マップ化冗長アレイを有
するキャッシュ・メモリをアクセスするシステムであっ
て、該主アレイ及び該冗長アレイが複数のメモリ・ロケ
ーションを有するものにおいて、 上記キャッシュ・メモリに接続される中央処理ユニット
と、 上記キャッシュ・メモリに接続される主メモリと、 上記中央処理ユニットにより、上記主メモリのメモリ・
ロケーションのアドレスを生成する手段と、 第1のデータを上記主アレイのメモリ・ロケーションに
読出しまたは書込みする手段と、 上記中央処理ユニットにより、上記非マップ化冗長アレ
イをアクセスする信号を生成する手段と、 上記第1のデータを置換することなく、第2のデータを
上記非マップ化冗長アレイに読出しまたは書込みする手
段と、 を含むシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7116893A | 1993-06-01 | 1993-06-01 | |
US071168 | 1993-06-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06348596A JPH06348596A (ja) | 1994-12-22 |
JP3181001B2 true JP3181001B2 (ja) | 2001-07-03 |
Family
ID=22099704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP09029994A Expired - Fee Related JP3181001B2 (ja) | 1993-06-01 | 1994-04-27 | キャッシュ・メモリ・システム並びにキャッシュ・メモリ・アクセス方法及びシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US6754791B1 (ja) |
JP (1) | JP3181001B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3457611B2 (ja) * | 2000-02-16 | 2003-10-20 | 日本電気株式会社 | 半導体記憶装置 |
US8356145B2 (en) * | 2010-01-15 | 2013-01-15 | Qualcomm Incorporated | Multi-stage multiplexing operation including combined selection and data alignment or data replication |
US9824030B2 (en) | 2015-10-30 | 2017-11-21 | International Business Machines Corporation | Adjusting active cache size based on cache usage |
US10540295B2 (en) * | 2017-06-21 | 2020-01-21 | International Business Machines Corporation | Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4197580A (en) * | 1978-06-08 | 1980-04-08 | Bell Telephone Laboratories, Incorporated | Data processing system including a cache memory |
JPS6015758A (ja) * | 1983-07-06 | 1985-01-26 | Mitsubishi Electric Corp | バツフア記憶装置 |
US4637024A (en) * | 1984-11-02 | 1987-01-13 | International Business Machines Corporation | Redundant page identification for a catalogued memory |
US4751656A (en) * | 1986-03-10 | 1988-06-14 | International Business Machines Corporation | Method for choosing replacement lines in a two dimensionally redundant array |
US5070502A (en) * | 1989-06-23 | 1991-12-03 | Digital Equipment Corporation | Defect tolerant set associative cache |
JPH0330036A (ja) * | 1989-06-28 | 1991-02-08 | Hitachi Ltd | 半導体記憶装置 |
US5297094A (en) * | 1991-07-17 | 1994-03-22 | Sgs-Thomson Microelectronics, Inc. | Integrated circuit memory device with redundant rows |
US5367655A (en) * | 1991-12-23 | 1994-11-22 | Motorola, Inc. | Memory and associated method including an operating mode for simultaneously selecting multiple rows of cells |
US5341381A (en) * | 1992-01-21 | 1994-08-23 | Tandem Computers, Incorporated | Redundant array parity caching system |
US5301153A (en) * | 1992-06-03 | 1994-04-05 | Mips Computer Systems, Inc. | Redundant element substitution apparatus |
US5497347A (en) * | 1994-06-21 | 1996-03-05 | Motorola Inc. | BICMOS cache TAG comparator having redundancy and separate read an compare paths |
-
1994
- 1994-04-27 JP JP09029994A patent/JP3181001B2/ja not_active Expired - Fee Related
-
1996
- 1996-02-09 US US08/599,227 patent/US6754791B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06348596A (ja) | 1994-12-22 |
US6754791B1 (en) | 2004-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5091851A (en) | Fast multiple-word accesses from a multi-way set-associative cache memory | |
JP2554449B2 (ja) | キャッシュ・メモリを有するデータ処理システム | |
US5640534A (en) | Method and system for concurrent access in a data cache array utilizing multiple match line selection paths | |
KR100423276B1 (ko) | 명령어인출방법및장치 | |
US7493446B2 (en) | System and method for completing full updates to entire cache lines stores with address-only bus operations | |
US7237067B2 (en) | Managing a multi-way associative cache | |
US5668972A (en) | Method and system for efficient miss sequence cache line allocation utilizing an allocation control cell state to enable a selected match line | |
JPH06243039A (ja) | キャッシュメモリシステムおよびマイクロプロセッサ内の命令を操作するための方法 | |
JPH0364893B2 (ja) | ||
JPS624745B2 (ja) | ||
US6826652B1 (en) | Smart cache | |
CN109416656B (zh) | 混合存储器模块 | |
US6438672B1 (en) | Memory aliasing method and apparatus | |
US20040215900A1 (en) | System and method for reducing contention in a multi-sectored cache | |
EP0803818B1 (en) | Single-cycle multi-accessible interleaved cache | |
EP0533427B1 (en) | Computer memory control system | |
EP1111511B1 (en) | Cache with multiple fill modes | |
US6202128B1 (en) | Method and system for pre-fetch cache interrogation using snoop port | |
EP0470739B1 (en) | Method for managing a cache memory system | |
US7219197B2 (en) | Cache memory, processor and cache control method | |
US5287512A (en) | Computer memory system and method for cleaning data elements | |
EP0706132A2 (en) | Method and system for miss sequence handling in a data cache array having multiple content addressable fields per cache line | |
JP3181001B2 (ja) | キャッシュ・メモリ・システム並びにキャッシュ・メモリ・アクセス方法及びシステム | |
JPH06202951A (ja) | キャッシュ・メモリ・システム | |
JPH044617B2 (ja) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |