JPH0363851A - キャッシュメモリ - Google Patents
キャッシュメモリInfo
- Publication number
- JPH0363851A JPH0363851A JP1201670A JP20167089A JPH0363851A JP H0363851 A JPH0363851 A JP H0363851A JP 1201670 A JP1201670 A JP 1201670A JP 20167089 A JP20167089 A JP 20167089A JP H0363851 A JPH0363851 A JP H0363851A
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- invalidation
- cache
- address
- 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
- 238000011010 flushing procedure Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 4
- 238000000034 method Methods 0.000 claims description 3
- 230000000717 retained effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 4
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明はキャッシュメモリに関し、特に主記憶との一致
性制御における無効化手段を有するメモリに関する。
性制御における無効化手段を有するメモリに関する。
従来のキャッジ、:Lメモリは、第1の無効化手段によ
って無効化された場合も第2の無効化手段によって無効
化された場合も無効化対象のデータの有効ビットをリセ
ットするだけであった。
って無効化された場合も第2の無効化手段によって無効
化された場合も無効化対象のデータの有効ビットをリセ
ットするだけであった。
上述した従来のキャッシュメモリは、実際には主記憶と
のデータの不一致は起きていないにもかかわらず、無効
化される場合があり、そのデータに対しプロセサからの
アクセスがあった場合、データ自身は保持しているのに
有効ビットがリセットされていることによりミスとなり
、主記憶へのアクセスが生じプロセスのスリープツトを
低下させてしまうという欠点がある。
のデータの不一致は起きていないにもかかわらず、無効
化される場合があり、そのデータに対しプロセサからの
アクセスがあった場合、データ自身は保持しているのに
有効ビットがリセットされていることによりミスとなり
、主記憶へのアクセスが生じプロセスのスリープツトを
低下させてしまうという欠点がある。
本発明の目的は、フラッシング命令による全データの無
効化がなされた場合でもフラッシングの対象ではないデ
ータに対してのプロセサからのアクセスに対しては有効
とみなし過度のメインメモリへのアクセスを防ぐことの
できるキャッシュメモリを提供することにある。
効化がなされた場合でもフラッシングの対象ではないデ
ータに対してのプロセサからのアクセスに対しては有効
とみなし過度のメインメモリへのアクセスを防ぐことの
できるキャッシュメモリを提供することにある。
本発明の構成は、他のプロセサの主記憶の書換えを監視
し、この書換えの行われたデータを保持していた場合に
このデータの有効ビットをリセットすることでデータの
無効化を行なう第1の無効化手段と、プロセサからフラ
ッシング命令によりキャッシュ内の全データの有効ビッ
トをリセットすることによりキャッシュ内の全データを
無効化する第2の無効化手段とを有するキャッシュメモ
リにおいて、前記第1の無効化手段によって無効化され
たことを示す無効化履歴ビットと前記プロセスからのフ
ラッシング対象アドレスタグとを保持するアドレスレジ
スタと、このアドレスレジスタと前記キャッシュ内のア
ドレスタグとを比較する比較器とを備え、前記プロセサ
からのアクセスに対しアドレスタグがヒ、ツトしかつ有
効ビットがリセットの場合、前記無効化履歴ビットを参
照してこと無効化履歴ビットがセットされていなければ
アドレスタグと前記アドレスレジスタの内容との比較し
、一致していない場合は有効ビットをセットしキャッシ
ュ内のデータをプロセサへ渡すように制御することを特
徴とする。
し、この書換えの行われたデータを保持していた場合に
このデータの有効ビットをリセットすることでデータの
無効化を行なう第1の無効化手段と、プロセサからフラ
ッシング命令によりキャッシュ内の全データの有効ビッ
トをリセットすることによりキャッシュ内の全データを
無効化する第2の無効化手段とを有するキャッシュメモ
リにおいて、前記第1の無効化手段によって無効化され
たことを示す無効化履歴ビットと前記プロセスからのフ
ラッシング対象アドレスタグとを保持するアドレスレジ
スタと、このアドレスレジスタと前記キャッシュ内のア
ドレスタグとを比較する比較器とを備え、前記プロセサ
からのアクセスに対しアドレスタグがヒ、ツトしかつ有
効ビットがリセットの場合、前記無効化履歴ビットを参
照してこと無効化履歴ビットがセットされていなければ
アドレスタグと前記アドレスレジスタの内容との比較し
、一致していない場合は有効ビットをセットしキャッシ
ュ内のデータをプロセサへ渡すように制御することを特
徴とする。
次に本発明について図面を参照して説明する。
第1図は本発明の一実施例をブロック図である0本実施
例のキャッシュメモリ1を介してプロセッサ2がアドレ
スバス102、データバス103とに接続される。プロ
セサ2はキャッシュメモリ1に対しアドレス201の出
力、データ202の入出力を行なう他、フラッシング命
令203とフラッシング対象アドレス204を出力する
。キャッシュディレクトリ3は、アドレスタグ4、有効
ビット(V)S、無効化履歴ビット(IH)6の3つの
フィールドに分割されており、データ7はキャッシュの
データを保持している。全データ無効化回路8は、プロ
セサ2からのフラッシング命令203によりキャッシュ
ディレクトリ3の全有効ビット5をリセットする。
例のキャッシュメモリ1を介してプロセッサ2がアドレ
スバス102、データバス103とに接続される。プロ
セサ2はキャッシュメモリ1に対しアドレス201の出
力、データ202の入出力を行なう他、フラッシング命
令203とフラッシング対象アドレス204を出力する
。キャッシュディレクトリ3は、アドレスタグ4、有効
ビット(V)S、無効化履歴ビット(IH)6の3つの
フィールドに分割されており、データ7はキャッシュの
データを保持している。全データ無効化回路8は、プロ
セサ2からのフラッシング命令203によりキャッシュ
ディレクトリ3の全有効ビット5をリセットする。
アドレスレジスタ9はプロセサ2からのフラッシング対
象アドレス204を保持する。比較器10はプロセサ2
からのアクセス時にアドレスレジスタ9とキャッシュタ
・グ4とを比較し、比較結果101を無効化制御回路1
2へ渡す、無効化制御回路12は他のプロセサの主記憶
に書換えを監視し、自分が書換えられたデータを保持し
ている場合はそのデータに対応する有効ビット5をリセ
ットするとともに無効化履歴ビット6をカットする。ま
た、プロセサ2からアクセスに対しアドレスタグ4がヒ
ツトし、かつ有効ビット5がリセットされているとき無
効化履歴ビットIHを参照し、無効化履歴ビットがセッ
トされておらずかつ比較器10を比較結果101が不一
致の場合は有効ビット5をセットする。
象アドレス204を保持する。比較器10はプロセサ2
からのアクセス時にアドレスレジスタ9とキャッシュタ
・グ4とを比較し、比較結果101を無効化制御回路1
2へ渡す、無効化制御回路12は他のプロセサの主記憶
に書換えを監視し、自分が書換えられたデータを保持し
ている場合はそのデータに対応する有効ビット5をリセ
ットするとともに無効化履歴ビット6をカットする。ま
た、プロセサ2からアクセスに対しアドレスタグ4がヒ
ツトし、かつ有効ビット5がリセットされているとき無
効化履歴ビットIHを参照し、無効化履歴ビットがセッ
トされておらずかつ比較器10を比較結果101が不一
致の場合は有効ビット5をセットする。
次にこの回路の動作について説明する。
キャッシュディレクトリ3、データ7か、第1表(a)
の様になっていたとする。このとき他のプロセサによっ
て主記憶が書換えられ、そのときデータがBであった場
合、無効化制御回路12はデータBに対応する有効ビッ
ト5をリセットするとともに、無効化履歴ビット6をセ
ットする第1表(a) 第2表 第1表(b) 次にプロセサよりフラッシング命令203が発せられそ
のときのフラッシング対象タグアドレスがCの場合、全
データ無効化回路8は全有効ビット5をリセットしアド
レスレジスタ9にCを保持この状態でプロセサよりデー
タAに対するアクセスがあった場合、アドレスタグ4は
一致するが有効ビット5がリセットされているため無効
化履歴ビット6を参照する。このとき無効化履歴ビット
6はセットされていないので、次にアドレスタグ4の内
容とアドレスレジスタ9の内容が比較器10で比較され
る。この場合アドレスタグ4の内容はaでありアドレス
レジスタ9の内容はCであるので不一致となり無効化制
御回路12はデータAに対応する有効ビット5をセット
しプロセサにデータAをプロセサにデータAを渡す(第
3表)。
の様になっていたとする。このとき他のプロセサによっ
て主記憶が書換えられ、そのときデータがBであった場
合、無効化制御回路12はデータBに対応する有効ビッ
ト5をリセットするとともに、無効化履歴ビット6をセ
ットする第1表(a) 第2表 第1表(b) 次にプロセサよりフラッシング命令203が発せられそ
のときのフラッシング対象タグアドレスがCの場合、全
データ無効化回路8は全有効ビット5をリセットしアド
レスレジスタ9にCを保持この状態でプロセサよりデー
タAに対するアクセスがあった場合、アドレスタグ4は
一致するが有効ビット5がリセットされているため無効
化履歴ビット6を参照する。このとき無効化履歴ビット
6はセットされていないので、次にアドレスタグ4の内
容とアドレスレジスタ9の内容が比較器10で比較され
る。この場合アドレスタグ4の内容はaでありアドレス
レジスタ9の内容はCであるので不一致となり無効化制
御回路12はデータAに対応する有効ビット5をセット
しプロセサにデータAをプロセサにデータAを渡す(第
3表)。
第3表
プロセサからデータDに対するアクセスがあった場合も
同様の処理となる。
同様の処理となる。
プロセサからのアクセスがデータB、データCに対する
アクセスの場合は、前者は無効化履歴ビット6がセット
されているため、後者はアドレスレジスタ9とアドレス
タグ4の比較結果が一致しているためミスの扱いとなる
。
アクセスの場合は、前者は無効化履歴ビット6がセット
されているため、後者はアドレスレジスタ9とアドレス
タグ4の比較結果が一致しているためミスの扱いとなる
。
第2図は本発明の第2の実施例のブロック図である無効
化制御回路106は、無効化制御回路12からのフラッ
シング命令であり、他のプロセサからの主記憶の書換が
連続して起きた場合に発せられる。このとき無効化制御
回路12は、アドレスバス線102上のアドレスを無効
化制御回路12に出力し、アドレスレジスタ9に無効化
制御信号107に従って保持する。
化制御回路106は、無効化制御回路12からのフラッ
シング命令であり、他のプロセサからの主記憶の書換が
連続して起きた場合に発せられる。このとき無効化制御
回路12は、アドレスバス線102上のアドレスを無効
化制御回路12に出力し、アドレスレジスタ9に無効化
制御信号107に従って保持する。
この実施例では、プロセサ2からのフラッシング命令だ
けでなく、他のプロセサの主記憶の書換えが連続した場
合のキャッシュメモリのフラッシングに対しても無駄な
無効化を防げるという利点がある。
けでなく、他のプロセサの主記憶の書換えが連続した場
合のキャッシュメモリのフラッシングに対しても無駄な
無効化を防げるという利点がある。
以上説明したように本発明は、無効化履歴ビットとフラ
ッシング対象アドレスタグを保持するアドレスレジスタ
とこのアドレスレジスタとキャッシュ内のアドレスタグ
とを比較する比較器とを有することにより、主記憶との
不一致が生じてないデータまで無効化された場合でも、
プロセサからのプロセサに対しヒツトの扱いをして過度
のメインメモリアクセスを防ぎプロセサのスループット
を向上することができるという効果がある。
ッシング対象アドレスタグを保持するアドレスレジスタ
とこのアドレスレジスタとキャッシュ内のアドレスタグ
とを比較する比較器とを有することにより、主記憶との
不一致が生じてないデータまで無効化された場合でも、
プロセサからのプロセサに対しヒツトの扱いをして過度
のメインメモリアクセスを防ぎプロセサのスループット
を向上することができるという効果がある。
第1図は本発明の第1の実施例のブロック図、ヱ
第〆図は本発明の第2の実施例のブロック図である。
1・・・キャッシュメモリ、2・・・プロセサ、3・・
・キャッシュディレクトリ、4・・・アドレスタグ、5
・・・有効ビット、6・・・無効化履歴ビット、7・・
・キャッシュデータ、8・・・全データ無効化回路、9
・・・アドレスレジスタ、10・・・比較器、12・・
・無効化制御回路、101・・・比較器出力線、102
・・・アドレスバス、1.03・・・データバス、10
4・・・有効ピットセット/リセット信号線、105・
・・無効化履歴ピットセット/リード線、106・・・
無効化制御回路フラッシング命令線、107・・・アド
レスレジスタ制御線、108・・・無効化制御回路アド
レス線、201・・・プロセサアドレス線、202・・
・プロセサデータ線、203・・・フラッシング命令線
、204・・・フラッシング対象アドレスタグ線、30
1・・・アドレスタグ出力線、801・・・線データ無
効化信号線、802・・・アドレスレジスタ制御線、9
01・・・アドレスレジスタ出力線。 1゛(理人弁理士内原 晋
・キャッシュディレクトリ、4・・・アドレスタグ、5
・・・有効ビット、6・・・無効化履歴ビット、7・・
・キャッシュデータ、8・・・全データ無効化回路、9
・・・アドレスレジスタ、10・・・比較器、12・・
・無効化制御回路、101・・・比較器出力線、102
・・・アドレスバス、1.03・・・データバス、10
4・・・有効ピットセット/リセット信号線、105・
・・無効化履歴ピットセット/リード線、106・・・
無効化制御回路フラッシング命令線、107・・・アド
レスレジスタ制御線、108・・・無効化制御回路アド
レス線、201・・・プロセサアドレス線、202・・
・プロセサデータ線、203・・・フラッシング命令線
、204・・・フラッシング対象アドレスタグ線、30
1・・・アドレスタグ出力線、801・・・線データ無
効化信号線、802・・・アドレスレジスタ制御線、9
01・・・アドレスレジスタ出力線。 1゛(理人弁理士内原 晋
Claims (1)
- 他のプロセサの主記憶の書換えを監視し、この書換え
の行われたデータを保持していた場合にこのデータの有
効ビットをリセットすることでデータの無効化を行なう
第1の無効化手段と、プロセサからフラッシング命令に
よりキャッシュ内の全データの有効ビットをリセットす
ることによりキャッシュ内の全データを無効化する第2
の無効化手段とを有するキャッシュメモリにおいて、前
記第1の無効化手段によつて無効化されたことを示す無
効化履歴ビットと前記プロセスからのフラッシング対象
アドレスタグとを保持するアドレスレジスタと、このア
ドレスレジスタと前記キャッシュ内のアドレスタグとを
比較する比較器とを備え、前記プロセサからのアクセス
に対しアドレスタグがヒットしかつ有効ビットがリセッ
トの場合、前記無効化履歴ビットを参照してこと無効化
履歴ビットがセットされていなければアドレスタグと前
記アドレスレジスタの内容との比較し、一致していない
場合は有効ビットをセットしキャッシュ内のデータをプ
ロセサへ渡すように制御することを特徴とするキャッシ
ュメモリ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1201670A JPH0363851A (ja) | 1989-08-02 | 1989-08-02 | キャッシュメモリ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP1201670A JPH0363851A (ja) | 1989-08-02 | 1989-08-02 | キャッシュメモリ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0363851A true JPH0363851A (ja) | 1991-03-19 |
Family
ID=16444953
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP1201670A Pending JPH0363851A (ja) | 1989-08-02 | 1989-08-02 | キャッシュメモリ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0363851A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5535361A (en) * | 1992-05-22 | 1996-07-09 | Matsushita Electric Industrial Co., Ltd. | Cache block replacement scheme based on directory control bit set/reset and hit/miss basis in a multiheading multiprocessor environment |
-
1989
- 1989-08-02 JP JP1201670A patent/JPH0363851A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5535361A (en) * | 1992-05-22 | 1996-07-09 | Matsushita Electric Industrial Co., Ltd. | Cache block replacement scheme based on directory control bit set/reset and hit/miss basis in a multiheading multiprocessor environment |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4445174A (en) | Multiprocessing system including a shared cache | |
| JPS58118083A (ja) | 多重処理システムにおけるキヤツシユ制御機構 | |
| JPS6134178B2 (ja) | ||
| JPH03225542A (ja) | データ記憶方法及びビットエンコードデータの処理回路 | |
| JP2583525B2 (ja) | データ処理装置 | |
| JPH0363851A (ja) | キャッシュメモリ | |
| US5749092A (en) | Method and apparatus for using a direct memory access unit and a data cache unit in a microprocessor | |
| JPH0721781B2 (ja) | マルチプロセツサ・システム | |
| JP2659007B2 (ja) | 情報処理方法及び装置 | |
| US20040143711A1 (en) | Mechanism to maintain data coherency for a read-ahead cache | |
| JPH03230238A (ja) | キャッシュメモリ制御方式 | |
| JPH01228035A (ja) | データ処理装置 | |
| JP2507544B2 (ja) | 記憶制御装置 | |
| JP2845754B2 (ja) | マルチプロセッサシステム | |
| JPH01128156A (ja) | マルチプロセッサシステムにおけるキャッシュ制御方式 | |
| JPS5927994B2 (ja) | コンピユ−タシステム | |
| KR0140952B1 (ko) | 다중 프로세서 시스템의 단일 캐시 공유 장치 및 그 장치를 이용한 데이타 기록/판독 방법 | |
| JPH0237446A (ja) | キャッシュ制御方式 | |
| JPH0628258A (ja) | マイクロプロセッサ | |
| JPH03220645A (ja) | 情報処理装置 | |
| JPH0690684B2 (ja) | データ処理システム | |
| JPH0748189B2 (ja) | データ処理装置 | |
| JPH03228151A (ja) | キャッシュメモリの無効化制御装置 | |
| JPH0528043A (ja) | 命令キヤツシユメモリの無効化制御方法 | |
| JP2923273B2 (ja) | データ処理システム |