JP2629727B2 - 階層化キャッシュ装置 - Google Patents
階層化キャッシュ装置Info
- Publication number
- JP2629727B2 JP2629727B2 JP62207382A JP20738287A JP2629727B2 JP 2629727 B2 JP2629727 B2 JP 2629727B2 JP 62207382 A JP62207382 A JP 62207382A JP 20738287 A JP20738287 A JP 20738287A JP 2629727 B2 JP2629727 B2 JP 2629727B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- data
- index
- address
- directory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は階層化キャッシュ装置に関し,特に第1キャ
ッシュを論理アドレスで管理するキャッシュ装置に関す
る。
ッシュを論理アドレスで管理するキャッシュ装置に関す
る。
従来,この種の階層化キャッシュ装置は,第1キャッ
シュ装置,第2キャッシュ装置とも実アドレス管理キャ
ッシュであり,又,第2キャッシュ装置はシステム共用
キャッシュとして構成されていた。
シュ装置,第2キャッシュ装置とも実アドレス管理キャ
ッシュであり,又,第2キャッシュ装置はシステム共用
キャッシュとして構成されていた。
上述した従来の階層化キャッシュ装置では,システム
性能の決定要因であるマシンサイクルが年年高速化さ
れ,それに伴ってキャッシュ容量も増加の傾向にありな
がら,キャッシュに使用されるスタティック・メモリ
(SRAM)素子のスピードはマシンサイクルの高速化に追
いつかないのが現状である。このため,キャッシュのア
クセスタイムを増加せざるを得ないという欠点があっ
た。
性能の決定要因であるマシンサイクルが年年高速化さ
れ,それに伴ってキャッシュ容量も増加の傾向にありな
がら,キャッシュに使用されるスタティック・メモリ
(SRAM)素子のスピードはマシンサイクルの高速化に追
いつかないのが現状である。このため,キャッシュのア
クセスタイムを増加せざるを得ないという欠点があっ
た。
本発明による階層化キャッシュ装置は,論理アドレス
で登録データを管理する第1のディレクトリを含む第1
のキャッシュと,実アドレスで登録データを管理する第
2のディレクトリを含む第2のキャッシュと,該第2の
キャッシュの登録データを論理アドレスで管理する第3
のディレクトリと,実アドレスで索引される前記第2の
キャッシュからの前記第2および第3のディレクトリ索
引結果を用いて前記第1のキャッシュからの索引結果の
有効性を確認する手段と,前記第1のキャッシュの索引
データが無効化されたとき前記第2のディレクトリ索引
結果により前記第2キャッシュまたは主メモリから索引
データを得る手段とを有する。
で登録データを管理する第1のディレクトリを含む第1
のキャッシュと,実アドレスで登録データを管理する第
2のディレクトリを含む第2のキャッシュと,該第2の
キャッシュの登録データを論理アドレスで管理する第3
のディレクトリと,実アドレスで索引される前記第2の
キャッシュからの前記第2および第3のディレクトリ索
引結果を用いて前記第1のキャッシュからの索引結果の
有効性を確認する手段と,前記第1のキャッシュの索引
データが無効化されたとき前記第2のディレクトリ索引
結果により前記第2キャッシュまたは主メモリから索引
データを得る手段とを有する。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例の構成を示すブロック図で
ある。
ある。
第1図において,1および6は要求元からのリクエスト
アドレスを受ける論理アドレスレジスタ(LAR)および
(LAB),2はアドレス変換バッファ(TLB),3は論理アド
レスで管理された第1のディレクトリ(L1AA),4は第1
のディレクトリ対応の第1のデータアレイ(L1DA),7は
アドレス変換後の実アドレスを受ける実アドレスレジス
タ(PAR),8は第1のデータアレイ読出しデータレジス
タ(LDAR),10は論理アドレスで管理された第2のディ
レクトリ(L2AA),11は実アドレスで管理された第2の
ディレクトリ(P2AA),12は第2のディレクトリと第3
のディレクトリに対応した第2のデータアレイ(P2D
A),20は第1のキャッシュ索引ミス検出フリップフロッ
プ(C1H),21は第1のキャッシュ索引データが有効であ
ることを要求元へ報告する表示フリップフロップ(C2
H),22は第1のキャッシュ索引データを無効化し第2の
キャッシュ索引データが有効であることを表示するフリ
ップフロップ(P2H),23は第1のキャッシュおよび第2
のキャッシュ索引結果がミスで主メモリからの読出しが
必要なことを表示するフリップフロップ(CM),17は第
1のキャッシュと第2のキャッシュおよび主メモリ間の
データ転送制御を行う制御回路(MAC),14は第2のデー
タアレイ又は主メモリからの読出しデータを受けるレジ
スタ(PDAR),5および9は主メモリ又は第2キャッシュ
からの転送データを第1および第2のデータアレイに書
込むためのレジスタ(LDW)および(PDW),16は要求元
へのデータ送出に関するデータ整列回路(ALN),15は要
求元へのデータ送出レジスタ(RDR)である。
アドレスを受ける論理アドレスレジスタ(LAR)および
(LAB),2はアドレス変換バッファ(TLB),3は論理アド
レスで管理された第1のディレクトリ(L1AA),4は第1
のディレクトリ対応の第1のデータアレイ(L1DA),7は
アドレス変換後の実アドレスを受ける実アドレスレジス
タ(PAR),8は第1のデータアレイ読出しデータレジス
タ(LDAR),10は論理アドレスで管理された第2のディ
レクトリ(L2AA),11は実アドレスで管理された第2の
ディレクトリ(P2AA),12は第2のディレクトリと第3
のディレクトリに対応した第2のデータアレイ(P2D
A),20は第1のキャッシュ索引ミス検出フリップフロッ
プ(C1H),21は第1のキャッシュ索引データが有効であ
ることを要求元へ報告する表示フリップフロップ(C2
H),22は第1のキャッシュ索引データを無効化し第2の
キャッシュ索引データが有効であることを表示するフリ
ップフロップ(P2H),23は第1のキャッシュおよび第2
のキャッシュ索引結果がミスで主メモリからの読出しが
必要なことを表示するフリップフロップ(CM),17は第
1のキャッシュと第2のキャッシュおよび主メモリ間の
データ転送制御を行う制御回路(MAC),14は第2のデー
タアレイ又は主メモリからの読出しデータを受けるレジ
スタ(PDAR),5および9は主メモリ又は第2キャッシュ
からの転送データを第1および第2のデータアレイに書
込むためのレジスタ(LDW)および(PDW),16は要求元
へのデータ送出に関するデータ整列回路(ALN),15は要
求元へのデータ送出レジスタ(RDR)である。
次に第1図の動作を詳細に説明する。
演算部から要求されたキャッシュアクセス論理アドレ
スはLAR 1に保持され,LAR 1のアドレス下位ビットでTLB
2,L1AA 3およびL1DA 4を並列にアドレスする。本実施
例では,TLB 2は2行,L1AA 3およびL1DA 4は4行構成で
表現していて,比較回路(TEQ)30によりアドレス変換
結果がTLB 2の0行又は1行のいずれに存在するかを検
出して,アドレス変換後の実ページアドレスとLAR 1の
実ページ内相対アドレス(LAR 1のL部)をPAR 7に設定
する。同時に,LAR 1の論理ページアドレス(LAR 1のP
部)の下位とLAR 1のL部の上位ビットを連結した論理
ブロックアドレスで索引されたL1AA 3の4行の出力をLA
R 1の上位アドレスを比較回路(L1EQ)31で比較し,L1DA
4に所望のデータが存在するときL1EQ 31のいずれかの
行出力がオンになり,L1DA 4の各行出力を選択回路32で
選択してデータをLDAR 8に保持する。いずれの行にも存
在しないときは,L1EQ 31の各行出力がオフとなり,C1H20
がオンとなる。
スはLAR 1に保持され,LAR 1のアドレス下位ビットでTLB
2,L1AA 3およびL1DA 4を並列にアドレスする。本実施
例では,TLB 2は2行,L1AA 3およびL1DA 4は4行構成で
表現していて,比較回路(TEQ)30によりアドレス変換
結果がTLB 2の0行又は1行のいずれに存在するかを検
出して,アドレス変換後の実ページアドレスとLAR 1の
実ページ内相対アドレス(LAR 1のL部)をPAR 7に設定
する。同時に,LAR 1の論理ページアドレス(LAR 1のP
部)の下位とLAR 1のL部の上位ビットを連結した論理
ブロックアドレスで索引されたL1AA 3の4行の出力をLA
R 1の上位アドレスを比較回路(L1EQ)31で比較し,L1DA
4に所望のデータが存在するときL1EQ 31のいずれかの
行出力がオンになり,L1DA 4の各行出力を選択回路32で
選択してデータをLDAR 8に保持する。いずれの行にも存
在しないときは,L1EQ 31の各行出力がオフとなり,C1H20
がオンとなる。
はじめに,L1AA 3の索引でミスした場合の動作を説明
する。
する。
L1AA 3でミスすると,PAR 7に設定された実アドレスを
使用して第1のキャッシュ同様の索引がP2AA 11,比較回
路(P2EQ)41で行われ,ヒットならゲート回路35,42お
よび43がオンとなり,P2H 22をセットして,第2のデー
タアレイP2DA 12から選択回路36を通してPDAR 14にセッ
トされたデータを有効とし,第1のデータアレイ(L1D
A)4への書込みレジスタ(LDW)5および要求元への転
送のためデータ整列回路(ALN)16からRDR 15へデータ
を転送する。また,P2AA 11,P2EQ 41での索引がミスな
ら,ゲート回路35がオフし,ゲート回路39がオンとなり
CM23をセットして,主メモリへのデータロード要求をMA
C 17の制御により行い,主メモリからのデータを第2の
データアレイ(P2DA)12への書込みレジスタ(PDW)9
および第1のデータアレイへの転送のためPDAR 14にセ
ットし,PDAR 14からLDW 5(L1DA 4への書込み)とRDR15
へセットして要求元へデータを送出する。
使用して第1のキャッシュ同様の索引がP2AA 11,比較回
路(P2EQ)41で行われ,ヒットならゲート回路35,42お
よび43がオンとなり,P2H 22をセットして,第2のデー
タアレイP2DA 12から選択回路36を通してPDAR 14にセッ
トされたデータを有効とし,第1のデータアレイ(L1D
A)4への書込みレジスタ(LDW)5および要求元への転
送のためデータ整列回路(ALN)16からRDR 15へデータ
を転送する。また,P2AA 11,P2EQ 41での索引がミスな
ら,ゲート回路35がオフし,ゲート回路39がオンとなり
CM23をセットして,主メモリへのデータロード要求をMA
C 17の制御により行い,主メモリからのデータを第2の
データアレイ(P2DA)12への書込みレジスタ(PDW)9
および第1のデータアレイへの転送のためPDAR 14にセ
ットし,PDAR 14からLDW 5(L1DA 4への書込み)とRDR15
へセットして要求元へデータを送出する。
次にL1AA 3の索引でヒットした場合の動作を説明す
る。
る。
L1AA 3でヒットした場合,即ちL1DA 4の内容を有効と
することはできない。何故なら,L1AA 3は論理アドレス
で管理しているため,ソフトウエアによる論理アドレス
と実アドレスの対応変更処理時に第1キャッシュを全ク
リアせず処理するため,および異る論理アドレスで同一
実アドレスが許されるシステムではストアによる第1キ
ャッシュへの反映が唯一の論理アドレスエントリのみし
かできないため,L1AA 3の索引のみでは100%の有効性は
保証できない。従って,実アドレス管理された第2キャ
ッシュ(第1キャッシュエントリを包含して第1キャッ
シュより大容量)による確認処理が必要となる。
することはできない。何故なら,L1AA 3は論理アドレス
で管理しているため,ソフトウエアによる論理アドレス
と実アドレスの対応変更処理時に第1キャッシュを全ク
リアせず処理するため,および異る論理アドレスで同一
実アドレスが許されるシステムではストアによる第1キ
ャッシュへの反映が唯一の論理アドレスエントリのみし
かできないため,L1AA 3の索引のみでは100%の有効性は
保証できない。従って,実アドレス管理された第2キャ
ッシュ(第1キャッシュエントリを包含して第1キャッ
シュより大容量)による確認処理が必要となる。
以下確認処理の詳細をケース別に説明する。
a.P2AA 11索引がミスのとき, 第1キャッシュに登録されている論理アドレスの実ア
ドレス対応が変更されたとき発生し,P2DA 12にも有効デ
ータが存在しないため,L1AA 3ミス/P2AA 11ミスと同
様,主メモリからのデータロード要求を行い,第1およ
び第2キャッシュへ登録し直す。
ドレス対応が変更されたとき発生し,P2DA 12にも有効デ
ータが存在しないため,L1AA 3ミス/P2AA 11ミスと同
様,主メモリからのデータロード要求を行い,第1およ
び第2キャッシュへ登録し直す。
b.P2AA 11索引がヒットし,L2AA 10索引がミスのとき, 第1キャッシュに登録されている論理アドレスと異な
る論理アドレスが第2キャッシュに登録されているた
め,第1キャッシュへのストアが正しく反映されていな
い。従って,L1AA 3ミス/P2AA 11ヒットと同様,P2DA 12
からのデータを有効として第1キャッシュの登録をし直
す。
る論理アドレスが第2キャッシュに登録されているた
め,第1キャッシュへのストアが正しく反映されていな
い。従って,L1AA 3ミス/P2AA 11ヒットと同様,P2DA 12
からのデータを有効として第1キャッシュの登録をし直
す。
c.P2AA 11索引がヒットし,L2AA 10索引がヒットのと
き, 第1キャッシュと第2キャッシュの登録論理アドレス
が同一であり,第1キャッシュの読出しデータが有効で
あることを,C2H 21をセットして演算部へ報告する。
き, 第1キャッシュと第2キャッシュの登録論理アドレス
が同一であり,第1キャッシュの読出しデータが有効で
あることを,C2H 21をセットして演算部へ報告する。
以上説明したように本発明は,プロセッサ内に高速マ
シンサイクルに適した小容量の論理アドレス管理の第1
のキャッシュと,ヒット率を高めるための大容量の実ア
ドレス管理の第2のキャッシュによる階層化キャッシュ
構造とすることにより,プロセッサのマシンサイクルを
キャッシュアクセスネックとさせず,かつ第1キャッシ
ュのアクセスタイムを削減でき,システムの高性能化が
期待できる。
シンサイクルに適した小容量の論理アドレス管理の第1
のキャッシュと,ヒット率を高めるための大容量の実ア
ドレス管理の第2のキャッシュによる階層化キャッシュ
構造とすることにより,プロセッサのマシンサイクルを
キャッシュアクセスネックとさせず,かつ第1キャッシ
ュのアクセスタイムを削減でき,システムの高性能化が
期待できる。
第1図は本発明の一実施例による階層化キャッシュ装置
の構成を示すブロック図である。 1……論理アドレスレジスタ(LAR),2……アドレス変
換バッファ(TLB),3……第1のディレクトリ(L1AA),
4……第1のデータアレイ(L1DA),5……書込みレジス
タ(LDW),6……論理アドレスレジスタ(LAB),7……実
アドレスレジスタ(PAR),8……第1のデータアレイ読
出しデータレジスタ(LDAR),9……書込みレジスタ(PD
W),10……第2のディレクトリ(L2AA),11……第2の
ディレクトリ(P2AA),12……第2のデータアレイ(P2D
A),13……レジスタ(MRQA),14……レジスタ(PDAR),
15……データ送出レジスタ(RDR),16……データ整列回
路(ALN),17……制御回路(MAC),20……第1のキャッ
シュ索引ミス検出フリップフロップ(C1H),21……フリ
ップフロップ(C2H),22……フリップフロップ(P2H),
23……フリップフロップ(CM),30……比較回路(TE
Q),31……比較回路(L1EQ),32……選択回路,33,34,35
……ゲート回路,36……選択回路,37,38,39……ゲート回
路,40……比較回路(L2EQ),41……比較回路(P2EQ),4
2,43……ゲート回路。
の構成を示すブロック図である。 1……論理アドレスレジスタ(LAR),2……アドレス変
換バッファ(TLB),3……第1のディレクトリ(L1AA),
4……第1のデータアレイ(L1DA),5……書込みレジス
タ(LDW),6……論理アドレスレジスタ(LAB),7……実
アドレスレジスタ(PAR),8……第1のデータアレイ読
出しデータレジスタ(LDAR),9……書込みレジスタ(PD
W),10……第2のディレクトリ(L2AA),11……第2の
ディレクトリ(P2AA),12……第2のデータアレイ(P2D
A),13……レジスタ(MRQA),14……レジスタ(PDAR),
15……データ送出レジスタ(RDR),16……データ整列回
路(ALN),17……制御回路(MAC),20……第1のキャッ
シュ索引ミス検出フリップフロップ(C1H),21……フリ
ップフロップ(C2H),22……フリップフロップ(P2H),
23……フリップフロップ(CM),30……比較回路(TE
Q),31……比較回路(L1EQ),32……選択回路,33,34,35
……ゲート回路,36……選択回路,37,38,39……ゲート回
路,40……比較回路(L2EQ),41……比較回路(P2EQ),4
2,43……ゲート回路。
Claims (1)
- 【請求項1】論理アドレスで登録データを管理する第1
のディレクトリを含む第1のキャッシュと、実アドレス
で登録データを管理する第2のディレクトリを含む第2
のキャッシュと、該第2のキャッシュの登録データを論
理アドレスで管理する第3のディレクトリと、実アドレ
スで索引される前記第2のキャッシュからの前記第2お
よび第3のディレクトリ索引結果を用いて前記第1のキ
ャッシュからの索引結果の有効性を確認する手段と、前
記第1のキャッシュの索引データが無効化されたとき前
記第2のディレクトリ索引結果により前記第2のキャッ
シュまたは主メモリからの索引データを得る手段とを有
することを特徴とする階層化キャッシュ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62207382A JP2629727B2 (ja) | 1987-08-22 | 1987-08-22 | 階層化キャッシュ装置 |
FR888811094A FR2619641B1 (fr) | 1987-08-22 | 1988-08-22 | Dispositif de cache hierarchique |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62207382A JP2629727B2 (ja) | 1987-08-22 | 1987-08-22 | 階層化キャッシュ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6451544A JPS6451544A (en) | 1989-02-27 |
JP2629727B2 true JP2629727B2 (ja) | 1997-07-16 |
Family
ID=16538804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62207382A Expired - Lifetime JP2629727B2 (ja) | 1987-08-22 | 1987-08-22 | 階層化キャッシュ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2629727B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2617425B2 (ja) | 1994-08-03 | 1997-06-04 | 株式会社ジーデイーエス | 電荷転送素子を用いた乗算器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5922315B2 (ja) * | 1979-07-18 | 1984-05-25 | 富士通株式会社 | バツフア記憶制御方式 |
JPS57117170A (en) * | 1981-01-10 | 1982-07-21 | Nec Corp | Processing system for buffer memory coincidence |
JPS586570A (ja) * | 1981-07-02 | 1983-01-14 | Nec Corp | バツフアメモリ装置 |
-
1987
- 1987-08-22 JP JP62207382A patent/JP2629727B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS6451544A (en) | 1989-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6751720B2 (en) | Method and system for detecting and resolving virtual address synonyms in a two-level cache hierarchy | |
US6636949B2 (en) | System for handling coherence protocol races in a scalable shared memory system based on chip multiprocessing | |
US5386524A (en) | System for accessing information in a data processing system | |
KR100274771B1 (ko) | Smp 버스의 공유 상태에서의 캐시 라인들의 공유 개입 방법 | |
KR100293136B1 (ko) | Smp버스의최근판독상태에서의캐시라인들의공유개입방법 | |
JP5373173B2 (ja) | アドレス変換方法及び装置 | |
US5940864A (en) | Shared memory-access priorization method for multiprocessors using caches and snoop responses | |
JP2000250812A (ja) | メモリ・キャッシュ・システムおよびその管理方法 | |
US5943685A (en) | Method of shared intervention via a single data provider among shared caches for SMP bus | |
US7472227B2 (en) | Invalidating multiple address cache entries | |
US7024520B2 (en) | System and method enabling efficient cache line reuse in a computer system | |
JPH03225542A (ja) | データ記憶方法及びビットエンコードデータの処理回路 | |
US6336169B1 (en) | Background kill system bus transaction to optimize coherency transactions on a multiprocessor system bus | |
EP0519685A1 (en) | Address translation | |
JPH0754484B2 (ja) | 複数のプロセッサを有する計算機システムの記憶制御装置 | |
JP2629727B2 (ja) | 階層化キャッシュ装置 | |
JPH04336641A (ja) | 処理システムにおける使用のためのデータキャッシュおよび方法 | |
JP2629726B2 (ja) | 階層化キャッシュ装置 | |
JPH1091521A (ja) | 二重ディレクトリー仮想キャッシュ及びその制御方法 | |
US5510973A (en) | Buffer storage control system | |
US5426749A (en) | Buffer control system using synonymic line address to retrieve second tag portion for fetch and store accesses while first tag portion is invalidated | |
US7519778B2 (en) | System and method for cache coherence | |
JP3709586B2 (ja) | 階層記憶システムにおけるデバイスアクセス方法 | |
JP3015528B2 (ja) | アドレス変換バッファ機構 | |
JP3564343B2 (ja) | キャッシュバイパス時のデータ転送装置と方法 |