JPH03235144A - キャッシュメモリ制御装置 - Google Patents
キャッシュメモリ制御装置Info
- Publication number
- JPH03235144A JPH03235144A JP2033055A JP3305590A JPH03235144A JP H03235144 A JPH03235144 A JP H03235144A JP 2033055 A JP2033055 A JP 2033055A JP 3305590 A JP3305590 A JP 3305590A JP H03235144 A JPH03235144 A JP H03235144A
- Authority
- JP
- Japan
- Prior art keywords
- identification number
- memory
- data
- cache
- process identification
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 98
- BMQYVXCPAOLZOK-NJGYIYPDSA-N D-monapterin Chemical compound C1=C([C@H](O)[C@@H](O)CO)N=C2C(=O)NC(N)=NC2=N1 BMQYVXCPAOLZOK-NJGYIYPDSA-N 0.000 description 8
- 238000011010 flushing procedure Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
(イ)産業上の利用分野
本発明は、主記憶のデータの一部のコピーを記憶し、記
憶データの仮想アドレスをタグ情報として記憶する仮想
アドレスキャッシュメモリに関する。
憶データの仮想アドレスをタグ情報として記憶する仮想
アドレスキャッシュメモリに関する。
(ロ)従来の技術
「インターフェース 1989年2月号 P、263〜
P、276Jに開示されているように、キャッシュメモ
リは大別して2つの方式に分けられ、1つは、仮想アド
レスをベースとしたタグ情報を記憶する仮想アドレスキ
ャッシュ、他の1つは、仮想アドレスをアドレス変換ユ
ニット(MMUと言う)で変換した物理アドレスを、タ
グ情報として記憶する物理アドレスキャッシュである。
P、276Jに開示されているように、キャッシュメモ
リは大別して2つの方式に分けられ、1つは、仮想アド
レスをベースとしたタグ情報を記憶する仮想アドレスキ
ャッシュ、他の1つは、仮想アドレスをアドレス変換ユ
ニット(MMUと言う)で変換した物理アドレスを、タ
グ情報として記憶する物理アドレスキャッシュである。
仮想アドレスキャッシュは、プロセッサが出力する仮想
アドレスをそのまま用いてキャッシュをアクセスするの
で、アクセスを高速化できるという利点を有しているが
、プロセッサが実行しようとするプロセスを切換える、
所謂、コンテキストスイッチが起こる度に、キャッシュ
の内容をプラッシュしなければならないという欠点があ
る。
アドレスをそのまま用いてキャッシュをアクセスするの
で、アクセスを高速化できるという利点を有しているが
、プロセッサが実行しようとするプロセスを切換える、
所謂、コンテキストスイッチが起こる度に、キャッシュ
の内容をプラッシュしなければならないという欠点があ
る。
一方、物理アドレスキャッシュは、キャッシュと主記憶
との情報の一貫性が保たれるので、コンテキストスイッ
チが起こる度にキャッシュの内容をフラッシュする必要
はないが、アクセスのために物理アドレスへの変換を要
するため、その変換時間の分だけキャッシュのアクセス
が遅くなる。
との情報の一貫性が保たれるので、コンテキストスイッ
チが起こる度にキャッシュの内容をフラッシュする必要
はないが、アクセスのために物理アドレスへの変換を要
するため、その変換時間の分だけキャッシュのアクセス
が遅くなる。
(ハ)発明が解決しようとする課題
従来の技術では、仮想アドレスキャッシュであっても物
理アドレスキャッシュであっても、利点を有するものの
各々個有の欠点を有し、理想的なキャッシュメモリ制御
を実現できなかった。
理アドレスキャッシュであっても、利点を有するものの
各々個有の欠点を有し、理想的なキャッシュメモリ制御
を実現できなかった。
そこで、本発明は、仮想アドレスキャッシュにおけるア
クセスの高速化という利点を生かしつつ、キャッシュの
フラッシュ回数を減少させ、キャッシュの内容を有効に
利用できるようにすることを目的とするものである。
クセスの高速化という利点を生かしつつ、キャッシュの
フラッシュ回数を減少させ、キャッシュの内容を有効に
利用できるようにすることを目的とするものである。
(ニ)課題を解決するための手段
本発明は、主記憶のデータの一部のコピーを記憶するデ
ータメモリと、該データメモリに記憶したデータの仮想
アドレスの第1部分をタグ情報として記憶し、且つ、デ
ータの有効性を示すバリッドビットを記憶したタグメモ
リより成り、プロセッサが出力する仮想アドレスの第2
部分をアドレスとして入力するキャッシュメモリの制御
装置において、複数のプロセスの中から選択した2′″
×2°数(m、nは自然数)のプロセスに対して(m+
n)ビットのシリアルなプロセス識別番号を割り付け、
前記プロセッサが実行しようとするプロセスの前記プロ
セス識別番号を発生するプロセス識別番号発生手段を設
け、該発生手段から発生するプロセス識別番号の前記m
ビット部分を前記タグメモリのタグ情報として付加的に
記憶し、且つ、前記nビット部分を前記キャッシュメモ
リのアドレスとして付加すると共に、前記プロセッサが
出力する仮想アドレスの第1部分及び前記発生手段から
発生するプロセス識別番号の前記mビット部分を、前記
タグメモリのタグ情報と比較する比較手段を備えること
により、上記課題を解決するものである。
ータメモリと、該データメモリに記憶したデータの仮想
アドレスの第1部分をタグ情報として記憶し、且つ、デ
ータの有効性を示すバリッドビットを記憶したタグメモ
リより成り、プロセッサが出力する仮想アドレスの第2
部分をアドレスとして入力するキャッシュメモリの制御
装置において、複数のプロセスの中から選択した2′″
×2°数(m、nは自然数)のプロセスに対して(m+
n)ビットのシリアルなプロセス識別番号を割り付け、
前記プロセッサが実行しようとするプロセスの前記プロ
セス識別番号を発生するプロセス識別番号発生手段を設
け、該発生手段から発生するプロセス識別番号の前記m
ビット部分を前記タグメモリのタグ情報として付加的に
記憶し、且つ、前記nビット部分を前記キャッシュメモ
リのアドレスとして付加すると共に、前記プロセッサが
出力する仮想アドレスの第1部分及び前記発生手段から
発生するプロセス識別番号の前記mビット部分を、前記
タグメモリのタグ情報と比較する比較手段を備えること
により、上記課題を解決するものである。
又、本発明は、上述のキャッシュメモリ制御装置におい
て、前記nは自然数だけでなくOを含み、更に、前記キ
ャッシュメモリのデータを無効化しようとするプロセス
の前記プロセス識別番号を発生する無効化プロセス識別
番号発生手段と、該無効化プロセス識別番号の前記nビ
ット部分により特定される前記タグメモリ内のエリアに
タグ情報として記憶されたプロセス識別番号部分と前記
無効化プロセス識別番号の前記mビット部分とを比較す
る第2の比較手段とを有し、比較の結果一致するキャッ
シュエントリーのデータのみを無効化するようにして、
上記課題を解決するものである。
て、前記nは自然数だけでなくOを含み、更に、前記キ
ャッシュメモリのデータを無効化しようとするプロセス
の前記プロセス識別番号を発生する無効化プロセス識別
番号発生手段と、該無効化プロセス識別番号の前記nビ
ット部分により特定される前記タグメモリ内のエリアに
タグ情報として記憶されたプロセス識別番号部分と前記
無効化プロセス識別番号の前記mビット部分とを比較す
る第2の比較手段とを有し、比較の結果一致するキャッ
シュエントリーのデータのみを無効化するようにして、
上記課題を解決するものである。
(*)作用
本発明では、所定数のプロセスに割り付けられた(m+
n)ビットのプロセス識別番号のうちmビット部をタグ
メモリのタグ情報として付加し、nビット部分をキャッ
シュメモリのアドレスとして付加しているので、キャッ
シュメモリは21数のエリアに分割され、各エリアが2
1数のプロセスより成るプロセスグループで利用される
こととなる。依って、プロセス識別番号が割り付けられ
た所定数のプロセス間であれば、コンテキストスイッチ
が起こっても、キャッシュ内容をフラッシュ、即ち、無
効化する必要がなくなる。又、基本的には仮想アドレス
キャッシュを採用しているため、アクセスの高速性も損
われない。
n)ビットのプロセス識別番号のうちmビット部をタグ
メモリのタグ情報として付加し、nビット部分をキャッ
シュメモリのアドレスとして付加しているので、キャッ
シュメモリは21数のエリアに分割され、各エリアが2
1数のプロセスより成るプロセスグループで利用される
こととなる。依って、プロセス識別番号が割り付けられ
た所定数のプロセス間であれば、コンテキストスイッチ
が起こっても、キャッシュ内容をフラッシュ、即ち、無
効化する必要がなくなる。又、基本的には仮想アドレス
キャッシュを採用しているため、アクセスの高速性も損
われない。
更に、フラッシュの必要性が生じたときは、上記分割エ
リアの1エリアのみをフラッシュして、他のエリアのデ
ータを有効的に利用できる。
リアの1エリアのみをフラッシュして、他のエリアのデ
ータを有効的に利用できる。
又、第2の比較手段を用いるときは、上記分割エリアの
1エリアのうち所望のプロセスに関するデータのみをフ
ラッシュすることが可能となり、より一層の有効利用が
計られる。この第2の比較手段を採用する構成は、キャ
ッシュメモリが分割されず唯1つのエリアに2″″数の
プロセスが混在する場合にも適用できる。
1エリアのうち所望のプロセスに関するデータのみをフ
ラッシュすることが可能となり、より一層の有効利用が
計られる。この第2の比較手段を採用する構成は、キャ
ッシュメモリが分割されず唯1つのエリアに2″″数の
プロセスが混在する場合にも適用できる。
〈へ)実施例
第1図は、本発明の実施例としてのダイレクトマツブト
キャッシュを示すブロック図であり、(1)は仮想アド
レスVAを出力するMPU、(2)はデータを記憶する
主記憶、(3)は仮想アドレス■Aを物理アドレスRA
に変換するアドレス変換手段としてのMMU、(4>は
主記憶のデータの一部のコピーを記憶するデータメモリ
(5)とタグメモリ(6)とより成るキャッシュメモリ
である。
キャッシュを示すブロック図であり、(1)は仮想アド
レスVAを出力するMPU、(2)はデータを記憶する
主記憶、(3)は仮想アドレス■Aを物理アドレスRA
に変換するアドレス変換手段としてのMMU、(4>は
主記憶のデータの一部のコピーを記憶するデータメモリ
(5)とタグメモリ(6)とより成るキャッシュメモリ
である。
(7)はO5が複数のプロセスに割り付けたプロセスI
Dのうち、MPU(1)が実行しようとするプロセスI
DがセットされるレジスタAであって、本実施例ではO
8が割り付けられるプロセスIDを256通りとしてい
るため、レジスタAは8ビツトで構成されている。この
レジスタAの出力は、MMU(3)に入力されており、
MMU(3)では実行しようとするプロセスに応じて仮
想アドレスVAを物理アドレスRAに変換し、主記憶(
2)にアドレスとして与えている。尚、仮想アドレスV
Aのうちオフセット部分は主記憶(2)の下位アドレス
としてそのまま与えられる。
Dのうち、MPU(1)が実行しようとするプロセスI
DがセットされるレジスタAであって、本実施例ではO
8が割り付けられるプロセスIDを256通りとしてい
るため、レジスタAは8ビツトで構成されている。この
レジスタAの出力は、MMU(3)に入力されており、
MMU(3)では実行しようとするプロセスに応じて仮
想アドレスVAを物理アドレスRAに変換し、主記憶(
2)にアドレスとして与えている。尚、仮想アドレスV
Aのうちオフセット部分は主記憶(2)の下位アドレス
としてそのまま与えられる。
又、本実施例では、O8において、256通りのプロセ
スIDから任意の64個までのプロセスを選択し、各プ
ロセスにシリアルな6ビツトのプロセス識別番号’oo
oooo、、’ooo。
スIDから任意の64個までのプロセスを選択し、各プ
ロセスにシリアルな6ビツトのプロセス識別番号’oo
oooo、、’ooo。
01」、・・・・・・’111111.を割り付けてお
り、その対応を第4図に示すようにテーブル(8)に記
憶している。そして、MPU(1)が実行しようとする
プロセスに対応したプロセス識別番号を6ビツトのレジ
スタB(9)にセットするようにしている。
り、その対応を第4図に示すようにテーブル(8)に記
憶している。そして、MPU(1)が実行しようとする
プロセスに対応したプロセス識別番号を6ビツトのレジ
スタB(9)にセットするようにしている。
キャッシュメモリ(4)のデータメモリ(5〉及びタグ
メモリ(6)には、第2図に示す仮想アドレスVA中の
インデックスフィールドが下位アドレスとして与えられ
、レジスタB(9)の下位2ビツトが上位アドレスとし
て与えられる。又、タグメモリ(6)には仮想アドレス
VA中のタグフィールドがタグ情報の下位ビットとして
記憶され、レジスタB(9)の上位4ビツトがタグ情報
の上位ビ・7トとして記憶される。このタグメモリ(6
)には、記憶したデータの有効性を示すバリッドビット
Vも記憶されており、このバリッドビットをリセットす
ることにより、対応するキャッシュデータはフラッシュ
、即ち、無効化される。
メモリ(6)には、第2図に示す仮想アドレスVA中の
インデックスフィールドが下位アドレスとして与えられ
、レジスタB(9)の下位2ビツトが上位アドレスとし
て与えられる。又、タグメモリ(6)には仮想アドレス
VA中のタグフィールドがタグ情報の下位ビットとして
記憶され、レジスタB(9)の上位4ビツトがタグ情報
の上位ビ・7トとして記憶される。このタグメモリ(6
)には、記憶したデータの有効性を示すバリッドビット
Vも記憶されており、このバリッドビットをリセットす
ることにより、対応するキャッシュデータはフラッシュ
、即ち、無効化される。
ところで、第1図において、(10)(11)(12)
(13)はバスの接続を制御するバッファ、(14)は
レジスタBの上位4ビツトの出力及びMPU(1)が出
力する仮想アドレスのタグフィールドをタグメモリ(6
)から読出したタグ情報と比較する比較器、(15)は
比較器の出力と読出したバリッドビットとの論理積をと
るANDゲート、(16)はANDゲートの出力に応じ
てバッファ(10)(11)(12)(13)を制御す
ると共に、タグメモリ(6)のバリッドビットをリセッ
トするコントロールロジック、(17)はバリッドビッ
トをリセットするときのみコントロールロジック(16
)が発生するロジックアドレスを選択スるマルチプレク
サMUX、(18)はスーパーバイザーモードのときの
みMPU(1)が出力する物理アドレスを選択するMU
Xであり、主記憶(2)の特定領域にはテーブル(8)
を含むO8が常駐されており、O8はスーパーバイザー
モードにおいてMPU(1)が出力する物理アドレスに
より直接アクセスされる。
(13)はバスの接続を制御するバッファ、(14)は
レジスタBの上位4ビツトの出力及びMPU(1)が出
力する仮想アドレスのタグフィールドをタグメモリ(6
)から読出したタグ情報と比較する比較器、(15)は
比較器の出力と読出したバリッドビットとの論理積をと
るANDゲート、(16)はANDゲートの出力に応じ
てバッファ(10)(11)(12)(13)を制御す
ると共に、タグメモリ(6)のバリッドビットをリセッ
トするコントロールロジック、(17)はバリッドビッ
トをリセットするときのみコントロールロジック(16
)が発生するロジックアドレスを選択スるマルチプレク
サMUX、(18)はスーパーバイザーモードのときの
みMPU(1)が出力する物理アドレスを選択するMU
Xであり、主記憶(2)の特定領域にはテーブル(8)
を含むO8が常駐されており、O8はスーパーバイザー
モードにおいてMPU(1)が出力する物理アドレスに
より直接アクセスされる。
以下、本実施例を更に詳しく説明する。
先ず、キャッシュメモリ(4)のアドレスには、上位に
レジスタBからのプロセス識別番号の下位2ビツトが、
そして、下位に仮想アドレスVAのインデックスが与え
られているため、データメモリ(5)及びタグメモリ(
6)は、第3図に示すように、プロセス識別番号の下位
2ビツトに対応した4つのエリア(5a) 〜(5d)
及び(6a)−(6d)に分割され、これら各エリア内
においてインデックスでアドレス指定されるエントリー
にデータ及びタグ情報が記憶され、又、そのエントリー
からデータ及びタグ情報が読出される。ここで、レジス
タBは6ビツトでアドレスとして利用される2ビツトを
除いた残りのビット数は4ビツトであるので、各分割エ
リアには、2’=16通りのプロセスに関するデータが
記憶可能となり、これらプロセスの識別は、タグメモリ
(6)内にタグ情報とし工記憶したプロセス識別番号の
上位4ビット部分で行われる。
レジスタBからのプロセス識別番号の下位2ビツトが、
そして、下位に仮想アドレスVAのインデックスが与え
られているため、データメモリ(5)及びタグメモリ(
6)は、第3図に示すように、プロセス識別番号の下位
2ビツトに対応した4つのエリア(5a) 〜(5d)
及び(6a)−(6d)に分割され、これら各エリア内
においてインデックスでアドレス指定されるエントリー
にデータ及びタグ情報が記憶され、又、そのエントリー
からデータ及びタグ情報が読出される。ここで、レジス
タBは6ビツトでアドレスとして利用される2ビツトを
除いた残りのビット数は4ビツトであるので、各分割エ
リアには、2’=16通りのプロセスに関するデータが
記憶可能となり、これらプロセスの識別は、タグメモリ
(6)内にタグ情報とし工記憶したプロセス識別番号の
上位4ビット部分で行われる。
例えば、第4図のようにプロセスIDに対してプロセス
識別番号が割り付けられているとき、プロセスID’4
1.のプロセスをMPU(1)が実行しようとして、プ
ロセスID’41JをレジスタAに、モして、プロセス
識別番号’otoo。
識別番号が割り付けられているとき、プロセスID’4
1.のプロセスをMPU(1)が実行しようとして、プ
ロセスID’41JをレジスタAに、モして、プロセス
識別番号’otoo。
1」をレジスタBにセットし、仮想アドレスVAを出力
すると、データメモリ(5)においては、分割エリア(
5b)のインデックスによりアドレス指定されたデータ
がバッファ(11)を介してMPU(1>に取込まれ、
タグメモリ(6)においては、分割エリア(6b)のイ
ンデックスによりアドレス指定されたタグ情報が読出さ
れ、比較器(14)において、レジスタBの上位mビッ
ト部分及びMPU(1)が出力した仮想アドレスのタグ
フィールドと比較される。
すると、データメモリ(5)においては、分割エリア(
5b)のインデックスによりアドレス指定されたデータ
がバッファ(11)を介してMPU(1>に取込まれ、
タグメモリ(6)においては、分割エリア(6b)のイ
ンデックスによりアドレス指定されたタグ情報が読出さ
れ、比較器(14)において、レジスタBの上位mビッ
ト部分及びMPU(1)が出力した仮想アドレスのタグ
フィールドと比較される。
比較の結果、タグが一致し、そのバリッドピットが有効
であれば、キャッシュがヒツトしたので、MPU(1)
は取り込んだデータを正しいと判断して利用する。ヒツ
トしなかったときは、MMU(3)で変換された物理ア
ドレスに基づき主記憶(2)から仮想アドレスに対応す
るデータがバッファ(10)を介してMPU(1)に読
込まれる。又、このデータ及びレジスタBの上位mビッ
ト部分とデータに対応する仮想アドレスのタグフィール
ドは、データメモリ(5)及びタグメモリ(6)におい
て、各々、分割エリア(5b)及び(6b)のインテ・
ノクスによりアドレス指定されるエントリーに記憶され
る。このとき、記憶したデータのパリ・ノドビ・ットが
リセットされていればそれを有効化する。
であれば、キャッシュがヒツトしたので、MPU(1)
は取り込んだデータを正しいと判断して利用する。ヒツ
トしなかったときは、MMU(3)で変換された物理ア
ドレスに基づき主記憶(2)から仮想アドレスに対応す
るデータがバッファ(10)を介してMPU(1)に読
込まれる。又、このデータ及びレジスタBの上位mビッ
ト部分とデータに対応する仮想アドレスのタグフィール
ドは、データメモリ(5)及びタグメモリ(6)におい
て、各々、分割エリア(5b)及び(6b)のインテ・
ノクスによりアドレス指定されるエントリーに記憶され
る。このとき、記憶したデータのパリ・ノドビ・ットが
リセットされていればそれを有効化する。
このように、キャッシュメモリ(4)の各分割エリアは
、1グループが最大16通りのプロセスを含む、4つの
プロセスグループによって各々利用され、従って、これ
ら4つのプロセスグループに含まれる64のプロセス間
でフンテキストスイ・7チが起こったときは、キャッシ
ュのフン・ソシュを行う必要がない。
、1グループが最大16通りのプロセスを含む、4つの
プロセスグループによって各々利用され、従って、これ
ら4つのプロセスグループに含まれる64のプロセス間
でフンテキストスイ・7チが起こったときは、キャッシ
ュのフン・ソシュを行う必要がない。
即ち、第5図に示すように、O8はコンテキストスイッ
チが起こると、次にMPU(1)が実行すべきプロセス
が、テーブル(8)に割り付けられているプロセスであ
るか検索し、テーブル(8)のプロセスであれば、キャ
ッシュをフラッシュすることなく、そのプロセスIDを
レジスタAに、そのプロセス識別番号をレジスタBにセ
ットする。
チが起こると、次にMPU(1)が実行すべきプロセス
が、テーブル(8)に割り付けられているプロセスであ
るか検索し、テーブル(8)のプロセスであれば、キャ
ッシュをフラッシュすることなく、そのプロセスIDを
レジスタAに、そのプロセス識別番号をレジスタBにセ
ットする。
又、テーブル(8)に割り付けられていないプロセスを
実行すべきときは、キャッシュメモリ(4)の4つの分
割エリアのうちいずれか1つのエリアを全てフラッシュ
する。具体的には、レジスタBにフラッシュしようとす
るエリアに対応するプロセス識別番号の下位2ビツトを
セットし、MPU(1)からコントロールロジック(1
6)にフラッシュの指示を与える。すると、フントロー
ルロジック(16)は、エリア全域をカバーするロジッ
クアドレスをタグメモリ(6)に順次出力すると共に、
リセット信号を出力することにより、エリア内のバリッ
ドピットを全てハード的にリセットしてフラッシュを行
う。
実行すべきときは、キャッシュメモリ(4)の4つの分
割エリアのうちいずれか1つのエリアを全てフラッシュ
する。具体的には、レジスタBにフラッシュしようとす
るエリアに対応するプロセス識別番号の下位2ビツトを
セットし、MPU(1)からコントロールロジック(1
6)にフラッシュの指示を与える。すると、フントロー
ルロジック(16)は、エリア全域をカバーするロジッ
クアドレスをタグメモリ(6)に順次出力すると共に、
リセット信号を出力することにより、エリア内のバリッ
ドピットを全てハード的にリセットしてフラッシュを行
う。
そして、1エリアのフラッシュの後、そのエリアに対応
する複数のプロセス識別番号のいずれかを新たに実行し
ようとするプロセスIDに割り付は変更し、以下同様に
、レジスタA及びBへのセットを行う。
する複数のプロセス識別番号のいずれかを新たに実行し
ようとするプロセスIDに割り付は変更し、以下同様に
、レジスタA及びBへのセットを行う。
上述の実施例においては、分割エリアの1つのエリアを
全てフラッシュするようにしたが、第6図に示す構成を
付加すれば、1エリア中の1つのプロセスに関するデー
タのみをフラッシュすることができる。
全てフラッシュするようにしたが、第6図に示す構成を
付加すれば、1エリア中の1つのプロセスに関するデー
タのみをフラッシュすることができる。
即ち、第6図において、(17)はレジスタBの上位m
ビットとタグメモリの上位mビットのタグ情報とを比較
する比較器、(18)は比較器(17)からの一致信号
に応じてリセット信号を発生する以外は、コントロール
ロジック(16)と同一の機能を有するコントロールロ
ジックであり、あるプロセスに関するデータをフラッシ
ュする場合には、レジスタBにそのプロセスのプロセス
識別番号をセットする。このようにすれば、タグメモリ
(6)のレジスタBの下位2ビツトで指定されるエリア
の全エントリーが、ロジックアドレスにより順次アトス レ犀指定されるが、プロセス識別番号のmビット部分が
一致するエントリーのバリッドビットのみがリセットさ
れ、従って、レジスタBにセットしたプロセスに関する
データのみがフラッシュされることとなる。依って、他
のプロセスに関するデータは有効的に利用できる。
ビットとタグメモリの上位mビットのタグ情報とを比較
する比較器、(18)は比較器(17)からの一致信号
に応じてリセット信号を発生する以外は、コントロール
ロジック(16)と同一の機能を有するコントロールロ
ジックであり、あるプロセスに関するデータをフラッシ
ュする場合には、レジスタBにそのプロセスのプロセス
識別番号をセットする。このようにすれば、タグメモリ
(6)のレジスタBの下位2ビツトで指定されるエリア
の全エントリーが、ロジックアドレスにより順次アトス レ犀指定されるが、プロセス識別番号のmビット部分が
一致するエントリーのバリッドビットのみがリセットさ
れ、従って、レジスタBにセットしたプロセスに関する
データのみがフラッシュされることとなる。依って、他
のプロセスに関するデータは有効的に利用できる。
ところで、キャッシュメモリ(4)の上位アドレスとし
て与えるレジスタBの下位nビットにおいて、数値nが
r□」のときは、26=1となりキャッシュメモリ(4
)は分割されず唯tつのエリアとなる。そして、この唯
1のエリアに2“通りのプロセスに関するデータを記憶
可能となる。第6図に示した比較器(17)を用いた第
2の実施例は、このような唯tつのエリアしかない場合
に対しても適用可能であり、キャッシュメモリ(4)の
データを有効に利用できるように作用する。
て与えるレジスタBの下位nビットにおいて、数値nが
r□」のときは、26=1となりキャッシュメモリ(4
)は分割されず唯tつのエリアとなる。そして、この唯
1のエリアに2“通りのプロセスに関するデータを記憶
可能となる。第6図に示した比較器(17)を用いた第
2の実施例は、このような唯tつのエリアしかない場合
に対しても適用可能であり、キャッシュメモリ(4)の
データを有効に利用できるように作用する。
以上の説明においては、実行しようとするプロセスのプ
ロセスID及びプロセス識別番号を各々セットする独立
したレジスタA及びBを有する例であったが、レジスタ
Aの所定のビット出力をプロセス識別番号として用い、
レジスタBをAで兼用することもできる。例えば、レジ
スタAの下位6ビツトの出力を、レジスタBの出力の代
わりに用いるのである。この場合、例えば、プロセス識
別番号’oooooo、には、プロセスID0゜64.
128,192のうちのいずれか1つのプロセスIDを
割り付けなければならないように、プロセス識別番号に
対して任意のプロセスIDを割り付けることができない
という制御が加えられ、このために、前述の実施例と比
べれば自由度は減るが、回路構成は簡略化される。
ロセスID及びプロセス識別番号を各々セットする独立
したレジスタA及びBを有する例であったが、レジスタ
Aの所定のビット出力をプロセス識別番号として用い、
レジスタBをAで兼用することもできる。例えば、レジ
スタAの下位6ビツトの出力を、レジスタBの出力の代
わりに用いるのである。この場合、例えば、プロセス識
別番号’oooooo、には、プロセスID0゜64.
128,192のうちのいずれか1つのプロセスIDを
割り付けなければならないように、プロセス識別番号に
対して任意のプロセスIDを割り付けることができない
という制御が加えられ、このために、前述の実施例と比
べれば自由度は減るが、回路構成は簡略化される。
又、本発明は、上述のダイレクトマツブトキャッシュだ
けでなく、nウエイセットアソシエイテイブキャッシュ
にも適用できることは言うまでもない。
けでなく、nウエイセットアソシエイテイブキャッシュ
にも適用できることは言うまでもない。
(ト)発明の効果
本発明に依れば、仮想アドレスキャッシュを基本として
アクセスの高速化を保ちながら、コンテキストスイッチ
によるキャッシュ内容のフラッシュ回数を減少させるこ
とができる。又、プロセスに関連してキャッシュ内容の
フラッシュを部分的に行えるので、キャッシュ内容の有
効利用を計ることができる。
アクセスの高速化を保ちながら、コンテキストスイッチ
によるキャッシュ内容のフラッシュ回数を減少させるこ
とができる。又、プロセスに関連してキャッシュ内容の
フラッシュを部分的に行えるので、キャッシュ内容の有
効利用を計ることができる。
第1図は本発明の実施例の構成を示すブロック図、第2
図は仮想アドレスのフィールド内容を示す図、第3図は
キャッシュメモリとプロセス識別番号との関係を示す図
、第4図はプロセスIDとプロセス識別番号との対応テ
ーブルを示す図、第5図は実施例におけるO8の処理内
容を示すフローチャート、第6図は他の実施例の要部を
示すブロック図である。 (1)・・・MPU、 (2)・・・主記憶、 (3)
・・・MMU、 (4)・・・キャッシュメモリ、
(5)・・・データメモリ、 (6)・・・タグ
メモリ、 (7)・・・レジスタA1(8)・・・テー
ブル、 (9)・・レジスタB、 (14)(17)
・・・比較器、(16)(18)・・・コントロールロ
ジック。
図は仮想アドレスのフィールド内容を示す図、第3図は
キャッシュメモリとプロセス識別番号との関係を示す図
、第4図はプロセスIDとプロセス識別番号との対応テ
ーブルを示す図、第5図は実施例におけるO8の処理内
容を示すフローチャート、第6図は他の実施例の要部を
示すブロック図である。 (1)・・・MPU、 (2)・・・主記憶、 (3)
・・・MMU、 (4)・・・キャッシュメモリ、
(5)・・・データメモリ、 (6)・・・タグ
メモリ、 (7)・・・レジスタA1(8)・・・テー
ブル、 (9)・・レジスタB、 (14)(17)
・・・比較器、(16)(18)・・・コントロールロ
ジック。
Claims (2)
- (1)主記憶のデータの一部のコピーを記憶するデータ
メモリと、該データメモリに記憶したデータの仮想アド
レスの第1部分をタグ情報として記憶し、且つ、データ
の有効性を示すバリッドビットを記憶したタグメモリと
より成り、プロセッサが出力する仮想アドレスの第2部
分をアドレスとして入力するキャッシュメモリの制御装
置において、複数のプロセスの中から選択した2^m×
2^n数(m、nは自然数)のプロセスに対して(m+
n)ビットのシリアルなプロセス識別番号を割り付け、
前記プロセッサが実行しようとするプロセスの前記プロ
セス識別番号を発生するプロセス識別番号発生手段を設
け、該発生手段から発生するプロセス識別番号の前記m
ビット部分を前記タグメモリのタグ情報として付加的に
記憶し、且つ、前記nビット部分を前記キャッシュメモ
リのアドレスとして付加すると共に、前記プロセッサが
出力する仮想アドレスの第1部分及び前記発生手段から
発生するプロセス識別番号の前記mビット部分を、前記
タグメモリのタグ情報と比較する比較手段を備えたこと
を特徴とするキャッシュメモリ制御装置。 - (2)請求項1記載のキャッシュメモリ制御装置におい
て、前記nは自然数だけでなく0を含み、更に、前記キ
ャッシュメモリのデータを無効化しようとするプロセス
の前記プロセス識別番号を発生する無効化プロセス識別
番号発生手段と、該無効化プロセス識別番号の前記nビ
ット部分により特定される前記タグメモリ内のエリアに
タグ情報として記憶されたプロセス識別番号部分と前記
無効化プロセス識別番号の前記mビット部分とを比較す
る第2の比較手段とを有し、比較の結果一致するキャッ
シュエントリーのデータのみを無効化することを特徴と
したキャッシュメモリ制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2033055A JP2846697B2 (ja) | 1990-02-13 | 1990-02-13 | キャッシュメモリ制御装置 |
DE69126898T DE69126898T2 (de) | 1990-02-13 | 1991-02-13 | Vorrichtung und Verfahren zum Steuern eines Cache-Speichers |
EP91102021A EP0442474B1 (en) | 1990-02-13 | 1991-02-13 | Apparatus and method for controlling cache memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2033055A JP2846697B2 (ja) | 1990-02-13 | 1990-02-13 | キャッシュメモリ制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH03235144A true JPH03235144A (ja) | 1991-10-21 |
JP2846697B2 JP2846697B2 (ja) | 1999-01-13 |
Family
ID=12376077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2033055A Expired - Lifetime JP2846697B2 (ja) | 1990-02-13 | 1990-02-13 | キャッシュメモリ制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2846697B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259362A (ja) * | 1998-03-13 | 1999-09-24 | Nec Corp | キャッシュメモリ制御方法及び装置 |
JP2004178571A (ja) * | 2002-11-11 | 2004-06-24 | Matsushita Electric Ind Co Ltd | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
JP2005346168A (ja) * | 2004-05-31 | 2005-12-15 | Matsushita Electric Ind Co Ltd | キャッシュメモリ、システムおよびデータ格納方法 |
JP2006520044A (ja) * | 2003-03-06 | 2006-08-31 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データフローアプリケーションを処理するために最適化されるキャッシュを備えるデータ処理システム |
JP2008512758A (ja) * | 2004-09-07 | 2008-04-24 | フリースケール セミコンダクター インコーポレイテッド | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 |
WO2008155849A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | 演算処理装置、tlb制御方法、tlb制御プログラムおよび情報処理装置 |
JP2009064462A (ja) * | 2008-10-27 | 2009-03-26 | Toshiba Corp | マイクロプロセッサ |
US7673155B2 (en) | 2001-09-28 | 2010-03-02 | Kabushiki Kaisha Toshiba | Microprocessor with improved task management and table management mechanism |
CN111984197A (zh) * | 2020-08-24 | 2020-11-24 | 许昌学院 | 计算机缓存分配方法 |
-
1990
- 1990-02-13 JP JP2033055A patent/JP2846697B2/ja not_active Expired - Lifetime
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11259362A (ja) * | 1998-03-13 | 1999-09-24 | Nec Corp | キャッシュメモリ制御方法及び装置 |
US7673155B2 (en) | 2001-09-28 | 2010-03-02 | Kabushiki Kaisha Toshiba | Microprocessor with improved task management and table management mechanism |
JP4664586B2 (ja) * | 2002-11-11 | 2011-04-06 | パナソニック株式会社 | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
JP2004178571A (ja) * | 2002-11-11 | 2004-06-24 | Matsushita Electric Ind Co Ltd | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
JP2006520044A (ja) * | 2003-03-06 | 2006-08-31 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データフローアプリケーションを処理するために最適化されるキャッシュを備えるデータ処理システム |
JP2005346168A (ja) * | 2004-05-31 | 2005-12-15 | Matsushita Electric Ind Co Ltd | キャッシュメモリ、システムおよびデータ格納方法 |
JP4753549B2 (ja) * | 2004-05-31 | 2011-08-24 | パナソニック株式会社 | キャッシュメモリおよびシステム |
US7904675B2 (en) | 2004-05-31 | 2011-03-08 | Panasonic Corporation | Cache memory, system, and method of storing data |
JP2008512758A (ja) * | 2004-09-07 | 2008-04-24 | フリースケール セミコンダクター インコーポレイテッド | 仮想アドレス・キャッシュに格納されたデータを共用する仮想アドレス・キャッシュ及び方法 |
WO2008155849A1 (ja) * | 2007-06-20 | 2008-12-24 | Fujitsu Limited | 演算処理装置、tlb制御方法、tlb制御プログラムおよび情報処理装置 |
JPWO2008155849A1 (ja) * | 2007-06-20 | 2010-08-26 | 富士通株式会社 | 演算処理装置、tlb制御方法、tlb制御プログラムおよび情報処理装置 |
JP2009064462A (ja) * | 2008-10-27 | 2009-03-26 | Toshiba Corp | マイクロプロセッサ |
JP4643702B2 (ja) * | 2008-10-27 | 2011-03-02 | 株式会社東芝 | マイクロプロセッサ |
CN111984197A (zh) * | 2020-08-24 | 2020-11-24 | 许昌学院 | 计算机缓存分配方法 |
CN111984197B (zh) * | 2020-08-24 | 2023-12-15 | 许昌学院 | 计算机缓存分配方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2846697B2 (ja) | 1999-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920005280B1 (ko) | 고속 캐쉬 시스템 | |
US5119290A (en) | Alias address support | |
US5265227A (en) | Parallel protection checking in an address translation look-aside buffer | |
US6014732A (en) | Cache memory with reduced access time | |
US4797814A (en) | Variable address mode cache | |
US6425055B1 (en) | Way-predicting cache memory | |
KR20090117798A (ko) | 주소 변환 방법 및 장치 | |
US5675763A (en) | Cache memory system and method for selectively removing stale aliased entries | |
JPH0322155A (ja) | キャッシュメモリ装置 | |
JPH03235144A (ja) | キャッシュメモリ制御装置 | |
JPH05257811A (ja) | メモリ管理装置 | |
US5276829A (en) | Data processing system including cache memory for rapidly converting a logical address into a physical address using shared memory flag | |
EP0442474B1 (en) | Apparatus and method for controlling cache memory | |
JPH0550776B2 (ja) | ||
JP3210637B2 (ja) | データ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム | |
JPH03235143A (ja) | キャッシュメモリ制御装置 | |
JP3447588B2 (ja) | メモリ管理装置、方法及びプログラムを記憶した記憶媒体 | |
JPH02308349A (ja) | バッファ記憶制御装置 | |
JPS623354A (ja) | キヤツシユメモリ・アクセス方式 | |
KR0184475B1 (ko) | 캐쉬메모리 액세스회로 | |
US6581139B1 (en) | Set-associative cache memory having asymmetric latency among sets | |
US6460118B1 (en) | Set-associative cache memory having incremental access latencies among sets | |
US6460117B1 (en) | Set-associative cache memory having a mechanism for migrating a most recently used set | |
JPH04248645A (ja) | キャッシュメモリ | |
JPH03110648A (ja) | データ処理システム |