JP2573255B2 - データキャッシュ制御方式 - Google Patents
データキャッシュ制御方式Info
- Publication number
- JP2573255B2 JP2573255B2 JP62246130A JP24613087A JP2573255B2 JP 2573255 B2 JP2573255 B2 JP 2573255B2 JP 62246130 A JP62246130 A JP 62246130A JP 24613087 A JP24613087 A JP 24613087A JP 2573255 B2 JP2573255 B2 JP 2573255B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data cache
- cache
- local
- area
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、中央処理装置と主記憶装置間に比較的高速
小容量のデータキャッシュを配置して成るキャッシュメ
モリシステムに採用して好適なデータキャッシュ制御方
式に関する。
小容量のデータキャッシュを配置して成るキャッシュメ
モリシステムに採用して好適なデータキャッシュ制御方
式に関する。
(従来の技術) キャッシュは小容量ではあるが高速の性能を持ち、こ
れを低速ではあるが大容量の主記憶装置と組合せて計算
機システムの性能をあげることが通常行なわれる。これ
はキャッシュメモリシステムと呼ばれ、キャッシュと呼
ばれる半導体メモリを中央処理装置と主記憶装置との間
におく記憶階層構成をとるものであり、実質的に主記憶
装置を高速化したのと同じ効果が得られる。
れを低速ではあるが大容量の主記憶装置と組合せて計算
機システムの性能をあげることが通常行なわれる。これ
はキャッシュメモリシステムと呼ばれ、キャッシュと呼
ばれる半導体メモリを中央処理装置と主記憶装置との間
におく記憶階層構成をとるものであり、実質的に主記憶
装置を高速化したのと同じ効果が得られる。
(発明が解決しようとする問題点) ところで、プログラム中で使われる変数には、グロー
バル変数とローカル変数があり、あるモジュール内のみ
でアクセスされるローカル変数はCPUの内部レジスタに
割当てるか、システム・スタック・ポインタ(SP)によ
り主記憶装置上にローカル領域を確保し、スタックポイ
ンタからのオフセットによりアクセスしている。キャッ
シュを持つ計算機システムでは、従来、ローカル変数の
ようなアクセス頻度の高い局所的データもキャッシュに
対してWRITEを行ったときは、ライト・スルー等の手法
により、主記憶装置へもWRITEするためヒット率を低下
させていたものである。
バル変数とローカル変数があり、あるモジュール内のみ
でアクセスされるローカル変数はCPUの内部レジスタに
割当てるか、システム・スタック・ポインタ(SP)によ
り主記憶装置上にローカル領域を確保し、スタックポイ
ンタからのオフセットによりアクセスしている。キャッ
シュを持つ計算機システムでは、従来、ローカル変数の
ようなアクセス頻度の高い局所的データもキャッシュに
対してWRITEを行ったときは、ライト・スルー等の手法
により、主記憶装置へもWRITEするためヒット率を低下
させていたものである。
本発明は上記欠点に鑑みてなされたものであり、デー
タ・キャッシュをグローバル・データとローカルデータ
の2つのタイプにダイナミックに分割することにより、
ローカルデータに対するアクセス・スピードを大幅に向
上させるデータキャッシュ制御方式を提供することを目
的とする。
タ・キャッシュをグローバル・データとローカルデータ
の2つのタイプにダイナミックに分割することにより、
ローカルデータに対するアクセス・スピードを大幅に向
上させるデータキャッシュ制御方式を提供することを目
的とする。
[発明の構成] (問題点を解決するための手段と作用) 本発明は、データキャッシュを他のタスクからもアク
セス可能なグローバル領域と特定のタスク内でしかアク
セス出来ないローカル領域とにダイナミックに割付け、
グローバル領域では従来同様ライトスルーによりコント
ロールし、ローカル領域に対してはキャッシュ内のみの
アクセスとし主記憶アクセスを禁止する方式をとった。
セス可能なグローバル領域と特定のタスク内でしかアク
セス出来ないローカル領域とにダイナミックに割付け、
グローバル領域では従来同様ライトスルーによりコント
ロールし、ローカル領域に対してはキャッシュ内のみの
アクセスとし主記憶アクセスを禁止する方式をとった。
このため、データキャッシュのタグ部は、ローカル領
域かグローバル領域かを切替えるフラグ、確保されたロ
ーカル領域はどのタスク内でアクセスされるかを示すタ
スク識別部、キャッシュ内のデータフィールドに保持さ
れているデータのメモリアドレスを示すアドレスタグ
部、1以上のセグメントから成るデータフィールド内の
データが有効か否かを示すプレゼントフラグにより各エ
ントリイを構成する。このことにより、高速化がはかれ
る。
域かグローバル領域かを切替えるフラグ、確保されたロ
ーカル領域はどのタスク内でアクセスされるかを示すタ
スク識別部、キャッシュ内のデータフィールドに保持さ
れているデータのメモリアドレスを示すアドレスタグ
部、1以上のセグメントから成るデータフィールド内の
データが有効か否かを示すプレゼントフラグにより各エ
ントリイを構成する。このことにより、高速化がはかれ
る。
(実施例) 以下図面を使用して本発明実施例について詳細に説明
する。第1図は本発明の実施例を示すブロック図であ
る。図において、1は32ビットマイクロプロセッサ(μ
CPU)である。2は主メモリであり、1メガバイト容量
を持つ。主メモリ2はドライバ/レシーバ5を介しデー
タバス12へ接続される。3はデータキャッシュであり、
主メモリ2の一部内容の写しが格納される小容量高速メ
モリである。本発明実施例では64バイト容量を持つ。
又、本発明実施例では、主メモリ2とデータキャッシュ
のアドレス対応表が記憶されるタグメモリも含まれてい
る。第2図にそのメモリ構造が示されている。4はメモ
リバス制御回路であり、主メモリ2、キャッシュメモリ
3、そして後述するRMとの間のメモリインタフェー
スならびにマイクロプロセッサ1とのバスインタフェー
ス制御を司どる。13はバスインタフェース制御信号(HO
LD,HLDA)、14はDRAM制御信号(RAS/CAS)、15はRM
出力許可信号(RE)、16はデータ出力及び方向制御
信号(DIR/DEN)、17はキャッシュインタフェース信
号、(HIT/CDWE/CACE/CAWE)、18は動作クロック(CL
K)、19はリセット信号(REST)がそれぞれ伝播する信
号ラインである。5はドライバ/レシーバ、6はキャッ
シュヒットの判定を行なう比較回路、7はイニシャルプ
ログラムを含むS(オペレーティングシステム)が格
納されるRM、8はDRMアドレス用マルチプレクサ、1
1はアドレスバス(ADR)、12はデータバス(DATA)であ
る。
する。第1図は本発明の実施例を示すブロック図であ
る。図において、1は32ビットマイクロプロセッサ(μ
CPU)である。2は主メモリであり、1メガバイト容量
を持つ。主メモリ2はドライバ/レシーバ5を介しデー
タバス12へ接続される。3はデータキャッシュであり、
主メモリ2の一部内容の写しが格納される小容量高速メ
モリである。本発明実施例では64バイト容量を持つ。
又、本発明実施例では、主メモリ2とデータキャッシュ
のアドレス対応表が記憶されるタグメモリも含まれてい
る。第2図にそのメモリ構造が示されている。4はメモ
リバス制御回路であり、主メモリ2、キャッシュメモリ
3、そして後述するRMとの間のメモリインタフェー
スならびにマイクロプロセッサ1とのバスインタフェー
ス制御を司どる。13はバスインタフェース制御信号(HO
LD,HLDA)、14はDRAM制御信号(RAS/CAS)、15はRM
出力許可信号(RE)、16はデータ出力及び方向制御
信号(DIR/DEN)、17はキャッシュインタフェース信
号、(HIT/CDWE/CACE/CAWE)、18は動作クロック(CL
K)、19はリセット信号(REST)がそれぞれ伝播する信
号ラインである。5はドライバ/レシーバ、6はキャッ
シュヒットの判定を行なう比較回路、7はイニシャルプ
ログラムを含むS(オペレーティングシステム)が格
納されるRM、8はDRMアドレス用マルチプレクサ、1
1はアドレスバス(ADR)、12はデータバス(DATA)であ
る。
第2図は第1図に示したデータキャッシュ3の各エン
トリイの構成を示す図である。図中、35,36,37はデータ
キャッシュ3のタグ部であり、35は、グローバルなデー
タかローカルなデータかを示すフラブ、36は、タスク番
号、37は、アドレスタグ、また38は各タグ部に対応した
アドレスのデータを保持するデータ・フィールド、39
は、データフィールド38をアクセスの最小単位に分割し
たときの各データが有効かどうかを示すプレゼント・フ
ラグである。
トリイの構成を示す図である。図中、35,36,37はデータ
キャッシュ3のタグ部であり、35は、グローバルなデー
タかローカルなデータかを示すフラブ、36は、タスク番
号、37は、アドレスタグ、また38は各タグ部に対応した
アドレスのデータを保持するデータ・フィールド、39
は、データフィールド38をアクセスの最小単位に分割し
たときの各データが有効かどうかを示すプレゼント・フ
ラグである。
以下、本発明実施例の動作について詳細に説明する。
まず、タスクAが起動され、ローカル変数領域をスタッ
ク上に確保する命令をμCPU1が実行すると、システムは
ローカル・キャッシュ領域の大きさを検討する。ここ
で、領域確保が可能であるならば、グローバル領域とし
て割当ててあるデータキャッシュ3の一部をLRU(least-
recendtly-used)等のアルゴリズムによりローカル・デ
ータ・キャッシュとして割当て、G/Lフラグ35(グロー
バル/ローカル)をL(ローカル)に設定し、同時に現
在のタスク番号をフラグ36に設定する。μCPU1のデータ
アクセスに対してグローバル・データの場合は、タスク
番号36は無視し、アドレス・タグ37とプレゼント・フラ
グ39を比較し、ヒットかミスかを判定し、ローカルデー
タの場合は更に、現在実行中のタスク番号とタスク番号
36も同時に比較する。CPU1がデータをWRITEした場合、
グローバルデータに対しては、従来のように、ライトス
ルー等の処理を行い、ローカルデータに対しては、ヒッ
トした場合データフィールド38のデータのみを変更し主
記憶装置2へはWRITEしない。μCPU1がローカル領域を
スタックより取消す命令を実行すると、現在のタスク番
号とタスク番号36が一致するデータキャッシュ3のG/Lフ
ラブ35をG(グローバル)に設定する。データキャッシ
ュ3のローカル領域のプレゼント・フラグ39は、ローカ
ル領域へライトした場合にセットされ、プレゼント・フ
ラグ39が立っていないときにCPU1がローカルデータをリ
ードした場合は、トラップを発生し異常アクセスを知ら
せる。
まず、タスクAが起動され、ローカル変数領域をスタッ
ク上に確保する命令をμCPU1が実行すると、システムは
ローカル・キャッシュ領域の大きさを検討する。ここ
で、領域確保が可能であるならば、グローバル領域とし
て割当ててあるデータキャッシュ3の一部をLRU(least-
recendtly-used)等のアルゴリズムによりローカル・デ
ータ・キャッシュとして割当て、G/Lフラグ35(グロー
バル/ローカル)をL(ローカル)に設定し、同時に現
在のタスク番号をフラグ36に設定する。μCPU1のデータ
アクセスに対してグローバル・データの場合は、タスク
番号36は無視し、アドレス・タグ37とプレゼント・フラ
グ39を比較し、ヒットかミスかを判定し、ローカルデー
タの場合は更に、現在実行中のタスク番号とタスク番号
36も同時に比較する。CPU1がデータをWRITEした場合、
グローバルデータに対しては、従来のように、ライトス
ルー等の処理を行い、ローカルデータに対しては、ヒッ
トした場合データフィールド38のデータのみを変更し主
記憶装置2へはWRITEしない。μCPU1がローカル領域を
スタックより取消す命令を実行すると、現在のタスク番
号とタスク番号36が一致するデータキャッシュ3のG/Lフ
ラブ35をG(グローバル)に設定する。データキャッシ
ュ3のローカル領域のプレゼント・フラグ39は、ローカ
ル領域へライトした場合にセットされ、プレゼント・フ
ラグ39が立っていないときにCPU1がローカルデータをリ
ードした場合は、トラップを発生し異常アクセスを知ら
せる。
[発明の効果] 以上説明の様に本発明に従えが、データ・キャッシュ
をグローバル・データ領域とローカルデータ領域とにダ
イナミックに分け、CPUからのローカルデータのライト
がデータ・キャッシュ内でヒットした場合、データキャ
ッシュのみデータを変更し主記憶のライトを行わないた
め、高速化がはかれる。又、データ・キャッシュのタグ
部にタスク番号を付加することにより、タスクA処理中
に割込みが起こりタスクBへ処理がかわっても、タスク
Aのローカルキャッシュ領域は保存され、コピーバック
等の処理をする必要がなくなる。本発明は今後、集積度
が上がり、大容量のデータ・キャッシュが構成可能にな
った場合に特に有効な方式となり得る。
をグローバル・データ領域とローカルデータ領域とにダ
イナミックに分け、CPUからのローカルデータのライト
がデータ・キャッシュ内でヒットした場合、データキャ
ッシュのみデータを変更し主記憶のライトを行わないた
め、高速化がはかれる。又、データ・キャッシュのタグ
部にタスク番号を付加することにより、タスクA処理中
に割込みが起こりタスクBへ処理がかわっても、タスク
Aのローカルキャッシュ領域は保存され、コピーバック
等の処理をする必要がなくなる。本発明は今後、集積度
が上がり、大容量のデータ・キャッシュが構成可能にな
った場合に特に有効な方式となり得る。
第1図は本発明の実施例を示すブロック図、第2図は第
1図に示されるデータキャッシュのデータ構造を示す図
である。 1…CPU、2…主記憶装置、3…データキャッシュ。
1図に示されるデータキャッシュのデータ構造を示す図
である。 1…CPU、2…主記憶装置、3…データキャッシュ。
Claims (4)
- 【請求項1】データキャッシュを他のタスクからもアク
セス可能なグローバル領域と、特定のタスク内でしかア
クセスできないローカル領域とにダイナミックに割付
け、グローバル領域ではライトスルーによりコントロー
ルし、ローカル領域に対しては、キャッシュ内のみのア
クセスとし、主記憶アクセスを禁止することを特徴とす
るデータキャッシュ制御方式。 - 【請求項2】データキャッシュのタグ部は、ローカル領
域かグローバル領域かを切換えるフラグ、確保されたロ
ーカル領域はどのタスク内でアクセスされるかを示すタ
スク識別部、キャッシュ内のデータ・フィールドに保持
されているデータのメモリアドレスを示すアドレス・タ
グ部、1以上のセグメントからなるデータ・フィールド
内のデータが有効であるかどうかを示すプレゼント・フ
ラグにより構成されることを特徴とする特許請求の範囲
第1項記載のデータキャッシュ制御方式。 - 【請求項3】データキャッシュは、上記タグ部に対応し
たデータ・フィールドの組が複数あり、プロセッサから
のアドレスと前記アドレス・タグ部の比較結果と、上記
タグの内容によりヒット/ミスを判定する制御回路によ
り構成されることを特徴とする特許請求の範囲第2項記
載のデータキャッシュ制御方式。 - 【請求項4】データキャッシュの複数のタグに対し、上
記タグ中のローカル/グローバルフラグを制御し、キャ
ッシュ・メモリをグローバル領域とローカル領域に割付
けるためプロセッサ内にローカル変数領域操作のための
手段を持つことを特徴とする特許請求の範囲第2項記載
のデータキャッシュ制御方式。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62246130A JP2573255B2 (ja) | 1987-09-30 | 1987-09-30 | データキャッシュ制御方式 |
KR1019880012817A KR890005619A (ko) | 1987-09-30 | 1988-09-30 | 데이타 처리 장치에 있어서의 데이타 캐쉬 메모리 제어시스템 |
US08/401,292 US5513353A (en) | 1987-09-30 | 1995-03-09 | Cache control system which permanently inhibits local but not global parameter data writes to main memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62246130A JP2573255B2 (ja) | 1987-09-30 | 1987-09-30 | データキャッシュ制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6488757A JPS6488757A (en) | 1989-04-03 |
JP2573255B2 true JP2573255B2 (ja) | 1997-01-22 |
Family
ID=17143925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62246130A Expired - Lifetime JP2573255B2 (ja) | 1987-09-30 | 1987-09-30 | データキャッシュ制御方式 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2573255B2 (ja) |
KR (1) | KR890005619A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7991965B2 (en) * | 2006-02-07 | 2011-08-02 | Intel Corporation | Technique for using memory attributes |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58142437A (ja) * | 1982-02-18 | 1983-08-24 | Toshiba Corp | 情報処理装置 |
JPS6079446A (ja) * | 1983-10-06 | 1985-05-07 | Hitachi Ltd | 多重仮想記憶デ−タ処理装置 |
-
1987
- 1987-09-30 JP JP62246130A patent/JP2573255B2/ja not_active Expired - Lifetime
-
1988
- 1988-09-30 KR KR1019880012817A patent/KR890005619A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR890005619A (ko) | 1989-05-16 |
JPS6488757A (en) | 1989-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0349122B1 (en) | Method and apparatus for filtering invalidate requests | |
EP0777183A1 (en) | Computer cache system | |
EP1139222A1 (en) | Prefetch for TLB cache | |
US5161219A (en) | Computer system with input/output cache | |
US5765195A (en) | Method for distributing interprocessor interrupt requests via cache memory coherency mechanisms | |
US6952761B2 (en) | Bus interface selection by page table attributes | |
JPH07248967A (ja) | メモリ制御方式 | |
US5619673A (en) | Virtual access cache protection bits handling method and apparatus | |
JPH0727492B2 (ja) | 緩衝記憶装置 | |
JP2573255B2 (ja) | データキャッシュ制御方式 | |
JPH03230238A (ja) | キャッシュメモリ制御方式 | |
JPH07282023A (ja) | データ転送量可変プロセッサ及びそれを用いたシステム | |
KR960005394B1 (ko) | 멀티 프로세서 시스템 | |
JP3378270B2 (ja) | マルチプロセッサシステム | |
JPH04291642A (ja) | キャッシュ制御方式 | |
JPH0336648A (ja) | 電子計算機及びtlb装置とマイクロプロセッサチップ | |
JPH05233443A (ja) | マルチプロセッサシステム | |
JPS63240649A (ja) | デ−タ処理装置 | |
JPH02226447A (ja) | コンピユータ・システムおよびその記憶装置アクセス方法 | |
JPH077355B2 (ja) | 情報処理装置 | |
JPH0877072A (ja) | キャッシュメモリ装置 | |
JPH0496155A (ja) | 記憶制御方式およびデータ処理装置 | |
JPH01276348A (ja) | 2次キャッシュメモリ方式 | |
JPH06309229A (ja) | データ処理装置 | |
JPH0455959A (ja) | 記憶装置 |