JPH06282488A - キャッシュ記憶装置 - Google Patents
キャッシュ記憶装置Info
- Publication number
- JPH06282488A JPH06282488A JP5066554A JP6655493A JPH06282488A JP H06282488 A JPH06282488 A JP H06282488A JP 5066554 A JP5066554 A JP 5066554A JP 6655493 A JP6655493 A JP 6655493A JP H06282488 A JPH06282488 A JP H06282488A
- Authority
- JP
- Japan
- Prior art keywords
- data
- cache
- storage device
- area
- storage 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.)
- Pending
Links
- 230000003247 decreasing effect Effects 0.000 abstract 1
- 238000000034 method Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 20
- 238000010926 purge Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 4
- 239000013256 coordination polymer Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 230000007717 exclusion 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
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
-
- 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
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)
Abstract
(57)【要約】
【目的】 キャッシュミスを低減することにより計算機
システムの高速化を図るキャッシュ記憶装置を提供す
る。 【構成】 キャッシュ記憶装置3は、主記憶装置上のそ
れぞれ異なるデータが記憶される4つのユーザ記憶領域
31a、31b、31c、31dと、ユーザ記憶領域3
1上のプログラム間の共有データ等を記憶するシステム
記憶領域33とを有する。データコントローラ39は、
各ユーザ記憶領域31上のデータの置換可不可、タスク
情報を含むアドレス情報を記憶するルートレジスタを有
しており、キャッシュ内部アドレスデータバス37と、
ユーザ領域用キャッシュ内部サブアドレスデータバス3
5を介して各ユーザ記憶領域31とを接続させる。内部
バス37は、アドレス変換機構等を行うメモリマネージ
メントユニット41を介してCPUバス43、メモリバ
ス45に接続される。
システムの高速化を図るキャッシュ記憶装置を提供す
る。 【構成】 キャッシュ記憶装置3は、主記憶装置上のそ
れぞれ異なるデータが記憶される4つのユーザ記憶領域
31a、31b、31c、31dと、ユーザ記憶領域3
1上のプログラム間の共有データ等を記憶するシステム
記憶領域33とを有する。データコントローラ39は、
各ユーザ記憶領域31上のデータの置換可不可、タスク
情報を含むアドレス情報を記憶するルートレジスタを有
しており、キャッシュ内部アドレスデータバス37と、
ユーザ領域用キャッシュ内部サブアドレスデータバス3
5を介して各ユーザ記憶領域31とを接続させる。内部
バス37は、アドレス変換機構等を行うメモリマネージ
メントユニット41を介してCPUバス43、メモリバ
ス45に接続される。
Description
【0001】
【産業上の利用分野】本発明はキャッシュ記憶装置、特
にキャッシュミスを低減することにより計算機システム
の高速化を図るキャッシュ記憶装置に関する。
にキャッシュミスを低減することにより計算機システム
の高速化を図るキャッシュ記憶装置に関する。
【0002】
【従来の技術】従来のキャッシュ記憶装置は、高価であ
り、システム内で少量使用されるのみであったが、プロ
セス技術の進歩により、近来は、より廉価に、多量に使
用することが可能になってきた。一方、CPUの高速化
を図るにつれ、キャッシュミスによるペナルティは高い
ものになり、ますます、キャッシュメモリの使用がシス
テム性能の鍵を握るようになってきている。
り、システム内で少量使用されるのみであったが、プロ
セス技術の進歩により、近来は、より廉価に、多量に使
用することが可能になってきた。一方、CPUの高速化
を図るにつれ、キャッシュミスによるペナルティは高い
ものになり、ますます、キャッシュメモリの使用がシス
テム性能の鍵を握るようになってきている。
【0003】従来、キャッシュミスの低減、データのパ
ージ、ロードを高速化する技術として以下の示す先行技
術がある。
ージ、ロードを高速化する技術として以下の示す先行技
術がある。
【0004】特開昭60−79446号公報には、デー
タにタスク識別子を持たせ、アクセスすべき論理アドレ
スとタスク識別子の双方が一致したデータがある時のみ
キャッシュメモリ上のデータへアクセスするようにした
構成が開示されている。また、特開昭62−14534
1号公報には、キャッシュ記憶を共通空間領域と多重空
間領域とに分割し、それぞれパージ制御可能にした構成
が開示されている。このように、データのパージ、ロー
ドを行う際の条件を設けたり、キャッシュデータの入替
えの範囲の指定することで、データのパージ、ロードを
高速化することに主眼をおいてキャッシュデータの入替
えに伴うオーバーヘッドを低減させ、効率化を図ってい
る。
タにタスク識別子を持たせ、アクセスすべき論理アドレ
スとタスク識別子の双方が一致したデータがある時のみ
キャッシュメモリ上のデータへアクセスするようにした
構成が開示されている。また、特開昭62−14534
1号公報には、キャッシュ記憶を共通空間領域と多重空
間領域とに分割し、それぞれパージ制御可能にした構成
が開示されている。このように、データのパージ、ロー
ドを行う際の条件を設けたり、キャッシュデータの入替
えの範囲の指定することで、データのパージ、ロードを
高速化することに主眼をおいてキャッシュデータの入替
えに伴うオーバーヘッドを低減させ、効率化を図ってい
る。
【0005】更に、特開平4−18649号公報には、
LRUアルゴリズムを持たないディスク装置用簡易キャ
ッシュ記憶において、指定したキャッシュ記憶領域のデ
ータ保持を行う構成により、書込み/読出し命令の処理
速度を大幅に改善することが開示されている。
LRUアルゴリズムを持たないディスク装置用簡易キャ
ッシュ記憶において、指定したキャッシュ記憶領域のデ
ータ保持を行う構成により、書込み/読出し命令の処理
速度を大幅に改善することが開示されている。
【0006】
【発明が解決しようとする課題】前述したように、CP
Uの高速化を図るにつれ、キャッシュミスによるペナル
ティが増大しつつあり、また同時にキャッシュ記憶の大
容量化が進んでいる。かかる状況でより高速の計算機シ
ステムを実現するためには、キャッシュミスの低減ある
いはキャッシュ記憶に対するCPUの待ち時間の有効利
用を図らなければならない。
Uの高速化を図るにつれ、キャッシュミスによるペナル
ティが増大しつつあり、また同時にキャッシュ記憶の大
容量化が進んでいる。かかる状況でより高速の計算機シ
ステムを実現するためには、キャッシュミスの低減ある
いはキャッシュ記憶に対するCPUの待ち時間の有効利
用を図らなければならない。
【0007】本発明は以上のような問題を解決するため
になされたものであり、その目的は、キャッシュミスを
低減することにより計算機システムの高速化を図るキャ
ッシュ記憶装置を提供することにある。
になされたものであり、その目的は、キャッシュミスを
低減することにより計算機システムの高速化を図るキャ
ッシュ記憶装置を提供することにある。
【0008】
【課題を解決するための手段】以上のような目的を達成
するために、本発明におけるキャッシュ記憶装置は、処
理装置の近傍に設けられ、主記憶装置上のデータの一部
を格納して高速化を図るキャッシュ記憶装置において、
前記主記憶装置上のそれぞれ異なるデータを記憶する1
ないし複数の第一の記憶領域と、キャッシュ内部アドレ
スデータバスと前記第一の各記憶領域との間に配設さ
れ、前記各第一の記憶領域上のデータへのアクセス情報
を記憶するレジスタと、前記キャッシュ内部アドレスデ
ータバスに接続され、前記各第一の記憶領域上のデータ
間に共有するデータを記憶する第二の記憶領域と、を有
し、選択されたデータのみにアクセスされることを特徴
とする。
するために、本発明におけるキャッシュ記憶装置は、処
理装置の近傍に設けられ、主記憶装置上のデータの一部
を格納して高速化を図るキャッシュ記憶装置において、
前記主記憶装置上のそれぞれ異なるデータを記憶する1
ないし複数の第一の記憶領域と、キャッシュ内部アドレ
スデータバスと前記第一の各記憶領域との間に配設さ
れ、前記各第一の記憶領域上のデータへのアクセス情報
を記憶するレジスタと、前記キャッシュ内部アドレスデ
ータバスに接続され、前記各第一の記憶領域上のデータ
間に共有するデータを記憶する第二の記憶領域と、を有
し、選択されたデータのみにアクセスされることを特徴
とする。
【0009】また、他の発明におけるキャッシュ記憶装
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、前記主記憶装置上のそれぞれ異なるデータを記
憶する1ないし複数の記憶領域と、キャッシュ内部アド
レスデータバスと前記各記憶領域との間に配設され、前
記各記憶領域上のデータそれぞれのアクセス情報を記憶
するレジスタと、を有し、前記アクセス情報は、前記各
記憶領域上のデータを識別するタスク識別子と、そのデ
ータの置換可不可を示す置換可フラグと、を含み、前記
アクセス情報に基づいてアクセスされるデータが記憶さ
れている前記記憶領域を選択することを特徴とする。
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、前記主記憶装置上のそれぞれ異なるデータを記
憶する1ないし複数の記憶領域と、キャッシュ内部アド
レスデータバスと前記各記憶領域との間に配設され、前
記各記憶領域上のデータそれぞれのアクセス情報を記憶
するレジスタと、を有し、前記アクセス情報は、前記各
記憶領域上のデータを識別するタスク識別子と、そのデ
ータの置換可不可を示す置換可フラグと、を含み、前記
アクセス情報に基づいてアクセスされるデータが記憶さ
れている前記記憶領域を選択することを特徴とする。
【0010】更に、他の発明におけるキャッシュ記憶装
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、キャッシュ内部アドレスデータバスに配設さ
れ、前記主記憶装置上のデータの追い出しを禁止するア
ドレス領域を記憶するレジスタと、前記主記憶装置上の
データとそのデータの追い出し禁止を示すフラグとが格
納されている記憶領域と、を有し、前記主記憶装置上の
アドレス領域を指定してデータの追い出しを禁止させる
ことを特徴とする。
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、キャッシュ内部アドレスデータバスに配設さ
れ、前記主記憶装置上のデータの追い出しを禁止するア
ドレス領域を記憶するレジスタと、前記主記憶装置上の
データとそのデータの追い出し禁止を示すフラグとが格
納されている記憶領域と、を有し、前記主記憶装置上の
アドレス領域を指定してデータの追い出しを禁止させる
ことを特徴とする。
【0011】
【作用】以上のような構成を有する本発明に係るキャッ
シュ記憶装置においては、システムソフトウェア、共有
データ等のパージされる可能性の低いあるいは常駐して
いるのが望ましいデータが記憶されている第二の記憶領
域をユーザデータが記憶される第一の記憶領域とは別に
キャッシュ内部アドレスデータバスに接続することで、
より高速化することができる。
シュ記憶装置においては、システムソフトウェア、共有
データ等のパージされる可能性の低いあるいは常駐して
いるのが望ましいデータが記憶されている第二の記憶領
域をユーザデータが記憶される第一の記憶領域とは別に
キャッシュ内部アドレスデータバスに接続することで、
より高速化することができる。
【0012】また、他の発明によれば、コンテキストス
イッチの際、ディスパッチすべきタスクがタスク識別子
を参照することで記憶領域のいずれかに存在することが
認識できれば、そのタスクが記憶されている記憶領域が
選択される。ディスパッチすべきタスクが記憶領域のい
ずれにも存在しなければ置換可フラグを参照して、置換
可能な記憶領域の中から選出し、そのタスクは選出され
たの記憶領域にロードされる。また、記憶領域上のデー
タは置換可フラグを置換不可に設定することにより、置
換されることはない。
イッチの際、ディスパッチすべきタスクがタスク識別子
を参照することで記憶領域のいずれかに存在することが
認識できれば、そのタスクが記憶されている記憶領域が
選択される。ディスパッチすべきタスクが記憶領域のい
ずれにも存在しなければ置換可フラグを参照して、置換
可能な記憶領域の中から選出し、そのタスクは選出され
たの記憶領域にロードされる。また、記憶領域上のデー
タは置換可フラグを置換不可に設定することにより、置
換されることはない。
【0013】このようにアクセス情報を参照して記憶領
域上のデータの置換が行われるので、キャッシュミスを
低減することができる。
域上のデータの置換が行われるので、キャッシュミスを
低減することができる。
【0014】また、他の発明によれば、記憶領域に記憶
されているデータに対応して設けられたフラグにデータ
の追い出し禁止を示す値を設定することでデータの追い
出しを禁止することができる。また、追い出し禁止の領
域があれば、その範囲の先頭アドレスと最終アドレスを
レジスタに記憶させ、追い出し禁止の領域がなければ、
レジスタに所定の値を設定する。これにより、システム
プログラム等アクセス頻度の高いプログラム等を追い出
し禁止に設定することで記憶領域に常駐させることがで
きるので、キャッシュミスを低減することができる。
されているデータに対応して設けられたフラグにデータ
の追い出し禁止を示す値を設定することでデータの追い
出しを禁止することができる。また、追い出し禁止の領
域があれば、その範囲の先頭アドレスと最終アドレスを
レジスタに記憶させ、追い出し禁止の領域がなければ、
レジスタに所定の値を設定する。これにより、システム
プログラム等アクセス頻度の高いプログラム等を追い出
し禁止に設定することで記憶領域に常駐させることがで
きるので、キャッシュミスを低減することができる。
【0015】
【実施例】実施例1 以下、図面に基づいて、本発明の好適な第一実施例を説
明する。
明する。
【0016】図1は、本実施例を適用するコンピュータ
システムの概略を示すブロック図である。バス1には、
本実施例の特徴であるキャッシュ記憶装置3を介してC
PU5、主記憶装置7及び補助記憶装置9が接続されて
いる。キャッシュ記憶装置3には、主記憶装置7上のプ
ログラム(あるいはタスク)、データ(以下、総称して
データと言うが、場合によって、プログラムあるいはタ
スクと言うこともある。)の一部が格納される。なお、
本実施例では、CPU数は1であるが、複数CPUにつ
いても適用可能である。
システムの概略を示すブロック図である。バス1には、
本実施例の特徴であるキャッシュ記憶装置3を介してC
PU5、主記憶装置7及び補助記憶装置9が接続されて
いる。キャッシュ記憶装置3には、主記憶装置7上のプ
ログラム(あるいはタスク)、データ(以下、総称して
データと言うが、場合によって、プログラムあるいはタ
スクと言うこともある。)の一部が格納される。なお、
本実施例では、CPU数は1であるが、複数CPUにつ
いても適用可能である。
【0017】図2には、キャッシュ記憶装置3の構成を
示すブロック図である。本実施例におけるキャッシュ記
憶装置3の記憶領域は、第一の記憶領域である4つのユ
ーザ記憶領域31a、31b、31c、31dと第二の
記憶領域であるシステム記憶領域33とを有する。各ユ
ーザ記憶領域31には、主記憶装置7上のそれぞれ異な
るユーザデータの全部あるいは一部が記憶される。シス
テム記憶領域33には、システムソフトウェアの命令、
ユーザ記憶領域31上のプログラム間の共有データを記
憶する。各ユーザ記憶領域31はユーザ領域用キャッシ
ュ内部サブアドレスデータバス35(以下、サブバスと
いう)に、システム記憶領域33はキャッシュ内部アド
レスデータバス37(以下、内部バスという)にそれぞ
れ接続されている。データコントローラ39は、各ユー
ザ記憶領域31上のデータの置換可不可、タスク情報を
含むアドレス情報を記憶するルートレジスタを有してお
り、内部バス37と、サブバス35を介して各ユーザ記
憶領域31とを接続させる。このように、ユーザ記憶領
域31とシステム記憶領域33は別々に内部バス37に
接続されている。内部バス37は、アドレス変換機構、
内部バス37の制御を行うメモリマネージメントユニッ
ト41(以下、MMUと言う)を介してCPUバス4
3、メモリバス45に接続される。
示すブロック図である。本実施例におけるキャッシュ記
憶装置3の記憶領域は、第一の記憶領域である4つのユ
ーザ記憶領域31a、31b、31c、31dと第二の
記憶領域であるシステム記憶領域33とを有する。各ユ
ーザ記憶領域31には、主記憶装置7上のそれぞれ異な
るユーザデータの全部あるいは一部が記憶される。シス
テム記憶領域33には、システムソフトウェアの命令、
ユーザ記憶領域31上のプログラム間の共有データを記
憶する。各ユーザ記憶領域31はユーザ領域用キャッシ
ュ内部サブアドレスデータバス35(以下、サブバスと
いう)に、システム記憶領域33はキャッシュ内部アド
レスデータバス37(以下、内部バスという)にそれぞ
れ接続されている。データコントローラ39は、各ユー
ザ記憶領域31上のデータの置換可不可、タスク情報を
含むアドレス情報を記憶するルートレジスタを有してお
り、内部バス37と、サブバス35を介して各ユーザ記
憶領域31とを接続させる。このように、ユーザ記憶領
域31とシステム記憶領域33は別々に内部バス37に
接続されている。内部バス37は、アドレス変換機構、
内部バス37の制御を行うメモリマネージメントユニッ
ト41(以下、MMUと言う)を介してCPUバス4
3、メモリバス45に接続される。
【0018】図3には、システムソフトウェアがコンテ
キストスイッチの際、ユーザ記憶領域31のキャッシュ
記憶管理に使用する前述したアクセス情報を含むキャッ
シュ管理テーブル50が示されている。51は各ユーザ
記憶領域31それぞれに対応したユーザ記憶領域識別子
(以下、ユーザ領域IDと言う)であり、各ユーザ記憶
領域31a、31b、31c、31dはそれぞれ、0、
1、2、3である。53は他のデータによって置換可能
かどうかを表す置換可フラグであり、本実施例において
は、置換可を1、置換不可を0とする。この置換可フラ
グ53は、システムソフトウェア等により設定される。
55は各ユーザ記憶領域31を占有しているデータであ
るタスクを識別するタスク識別子である。タスク識別子
55は、システム内においてタスク毎にユニークに与え
られた番号である。図3によると、ユーザ領域IDが0
であるユーザ記憶領域31aは他のタスクでの置換は不
可であり、タスク識別子が11であるタスクが記憶され
ている。同様に、ユーザ領域IDがそれぞれ1、2、3
であるユーザ記憶領域31a、31b、31cは他のタ
スクでの置換は可能であり、タスク識別子がそれぞれ
8、4、7であるタスクが記憶されている。
キストスイッチの際、ユーザ記憶領域31のキャッシュ
記憶管理に使用する前述したアクセス情報を含むキャッ
シュ管理テーブル50が示されている。51は各ユーザ
記憶領域31それぞれに対応したユーザ記憶領域識別子
(以下、ユーザ領域IDと言う)であり、各ユーザ記憶
領域31a、31b、31c、31dはそれぞれ、0、
1、2、3である。53は他のデータによって置換可能
かどうかを表す置換可フラグであり、本実施例において
は、置換可を1、置換不可を0とする。この置換可フラ
グ53は、システムソフトウェア等により設定される。
55は各ユーザ記憶領域31を占有しているデータであ
るタスクを識別するタスク識別子である。タスク識別子
55は、システム内においてタスク毎にユニークに与え
られた番号である。図3によると、ユーザ領域IDが0
であるユーザ記憶領域31aは他のタスクでの置換は不
可であり、タスク識別子が11であるタスクが記憶され
ている。同様に、ユーザ領域IDがそれぞれ1、2、3
であるユーザ記憶領域31a、31b、31cは他のタ
スクでの置換は可能であり、タスク識別子がそれぞれ
8、4、7であるタスクが記憶されている。
【0019】本実施例において特徴的なことは、複数タ
スクの共有データ等が記憶されているためデータがパー
ジされる可能性の低い、あるいは常駐しているのが望ま
しいタスクが記憶されているシステム記憶領域33をユ
ーザ記憶領域31とは別に直接内部バス37に接続する
ことで、データのロード・パージ等のアクセス制御の対
象から外すことができ、より高速化を図ることができる
ことである。
スクの共有データ等が記憶されているためデータがパー
ジされる可能性の低い、あるいは常駐しているのが望ま
しいタスクが記憶されているシステム記憶領域33をユ
ーザ記憶領域31とは別に直接内部バス37に接続する
ことで、データのロード・パージ等のアクセス制御の対
象から外すことができ、より高速化を図ることができる
ことである。
【0020】更に、ユーザ記憶領域31それぞれへのア
クセス情報を含むキャッシュ管理テーブル50を設けた
ことで、各ユーザ記憶領域31の置換可不可等のアクセ
ス制御が選択的に行いことができ、したがって、キャッ
シュミスを低減することができることである。
クセス情報を含むキャッシュ管理テーブル50を設けた
ことで、各ユーザ記憶領域31の置換可不可等のアクセ
ス制御が選択的に行いことができ、したがって、キャッ
シュミスを低減することができることである。
【0021】図4は、コンテキストスイッチの際に行わ
れるキャッシュ記憶制御のフローチャートである。この
キャッシュ記憶制御はシステムソフトウェアレベルで実
現される。以下、図4に基づいて本実施例におけるユー
ザ記憶領域の選択処理について説明する。
れるキャッシュ記憶制御のフローチャートである。この
キャッシュ記憶制御はシステムソフトウェアレベルで実
現される。以下、図4に基づいて本実施例におけるユー
ザ記憶領域の選択処理について説明する。
【0022】ステップ101では、コンテキストスイッ
チの際、ディスパッチすべきタスクがユーザ記憶領域3
1のいずれかに存在すれば、そのユーザ記憶領域31に
該当するエントリのユーザ領域ID51を選択する。こ
れは、キャッシュ管理テーブル50のタスク識別子55
を検索することで選出され、検索されたタスク識別子に
対応するユーザ領域ID51が選択されることになる。
チの際、ディスパッチすべきタスクがユーザ記憶領域3
1のいずれかに存在すれば、そのユーザ記憶領域31に
該当するエントリのユーザ領域ID51を選択する。こ
れは、キャッシュ管理テーブル50のタスク識別子55
を検索することで選出され、検索されたタスク識別子に
対応するユーザ領域ID51が選択されることになる。
【0023】そのタスクがユーザ記憶領域31のいずれ
にも存在しない場合は、ユーザ記憶領域31のうちのい
ずれかにそのタスクをロードしなければならないが、タ
スクをロードすべきユーザ記憶領域31は次のようにし
て選出する。
にも存在しない場合は、ユーザ記憶領域31のうちのい
ずれかにそのタスクをロードしなければならないが、タ
スクをロードすべきユーザ記憶領域31は次のようにし
て選出する。
【0024】データの無効、すなわちタスク識別子55
が未使用であることを示す値(−1)であるエントリを
検索する(ステップ102)。未使用エントリが存在す
ればそのエントリに対応したユーザ記憶領域31にディ
スパッチすべきタスクをロードする。もちろん、ロード
したタスクのタスク識別子でそのエントリのタスク識別
子55の値を書き換える。これにより、そのタスクは新
たに登録されたことになる。そして、該当するエントリ
のユーザ領域ID51が選択されることになる(ステッ
プ103)。未使用エントリが存在しなければ、置換可
フラグ33が置換可(フラグの値が1)であるエントリ
のうち、ランキュー上にないタスクか、もしくはランキ
ュー上で最もプライオリティの低いタスクを選択する。
この選択されたタスクは、このタスクが記憶されている
ユーザ記憶領域31にディスパッチすべきタスクをロー
ドすることで置換される。もちろん、置換したタスクの
タスク識別子でそのエントリのタスク識別子55の値を
書き換える。これにより、そのタスクは新たに登録され
たことになる。そして、該当するエントリのユーザ領域
ID51が選択されることになる(ステップ104)。
が未使用であることを示す値(−1)であるエントリを
検索する(ステップ102)。未使用エントリが存在す
ればそのエントリに対応したユーザ記憶領域31にディ
スパッチすべきタスクをロードする。もちろん、ロード
したタスクのタスク識別子でそのエントリのタスク識別
子55の値を書き換える。これにより、そのタスクは新
たに登録されたことになる。そして、該当するエントリ
のユーザ領域ID51が選択されることになる(ステッ
プ103)。未使用エントリが存在しなければ、置換可
フラグ33が置換可(フラグの値が1)であるエントリ
のうち、ランキュー上にないタスクか、もしくはランキ
ュー上で最もプライオリティの低いタスクを選択する。
この選択されたタスクは、このタスクが記憶されている
ユーザ記憶領域31にディスパッチすべきタスクをロー
ドすることで置換される。もちろん、置換したタスクの
タスク識別子でそのエントリのタスク識別子55の値を
書き換える。これにより、そのタスクは新たに登録され
たことになる。そして、該当するエントリのユーザ領域
ID51が選択されることになる(ステップ104)。
【0025】このようにして、ディスパッチすべきタス
クがロードされているユーザ領域ID51が選択され
(ステップ105)、したがって、選択されたユーザ記
憶領域31上のタスクがCPU5で処理されることにな
る。
クがロードされているユーザ領域ID51が選択され
(ステップ105)、したがって、選択されたユーザ記
憶領域31上のタスクがCPU5で処理されることにな
る。
【0026】以上のように、本実施例においては、ユー
ザ記憶領域31を複数設け、置換可フラグ53をキャッ
シュ管理テーブル50のエントリ毎、すなわち各ユーザ
記憶領域31毎に設けたことで、ユーザ記憶領域31に
常駐していることが望ましい、例えばリアルタイムアプ
リケーションであるタスク等は置換不可とすることがで
きる。したがって、このようなデータの置換可不可、デ
ータの無効化等は、各ユーザ記憶領域31毎に必要に応
じて行うことができるので、キャッシュミスを低減する
ことができる。また、その作用による他のユーザ記憶領
域31には一切影響を与えない。また、システム記憶領
域33は、ユーザ記憶領域31とは別に内部バス37に
直接接続されているので、上記処理の対象にはならず、
より高速化が望める。
ザ記憶領域31を複数設け、置換可フラグ53をキャッ
シュ管理テーブル50のエントリ毎、すなわち各ユーザ
記憶領域31毎に設けたことで、ユーザ記憶領域31に
常駐していることが望ましい、例えばリアルタイムアプ
リケーションであるタスク等は置換不可とすることがで
きる。したがって、このようなデータの置換可不可、デ
ータの無効化等は、各ユーザ記憶領域31毎に必要に応
じて行うことができるので、キャッシュミスを低減する
ことができる。また、その作用による他のユーザ記憶領
域31には一切影響を与えない。また、システム記憶領
域33は、ユーザ記憶領域31とは別に内部バス37に
直接接続されているので、上記処理の対象にはならず、
より高速化が望める。
【0027】なお、4つのユーザ記憶領域31をそれぞ
れの小さな記憶装置に設けてもよいし、大きい記憶装置
を分割して設けてもよい。また、システム記憶領域33
側においても、システムソフトウェアと共有データとを
分割し、ユーザ記憶領域31と同様、複数の領域を持た
せてもよい。
れの小さな記憶装置に設けてもよいし、大きい記憶装置
を分割して設けてもよい。また、システム記憶領域33
側においても、システムソフトウェアと共有データとを
分割し、ユーザ記憶領域31と同様、複数の領域を持た
せてもよい。
【0028】実施例2 以下、図面に基づいて、本発明の好適な第二実施例を説
明する。
明する。
【0029】図1は、本実施例を適用するコンピュータ
システムの概略を示すブロック図であり、第一実施例と
ほぼ同様なので説明を省略する。
システムの概略を示すブロック図であり、第一実施例と
ほぼ同様なので説明を省略する。
【0030】図5には、キャッシュ記憶装置3の構成を
示すブロック図である。なお、実施例1とほぼ同様な要
素には同一の符号を付け、説明を省略する。キャッシュ
内部アドレスデータバス37(以下、内部バスという)
には、主記憶装置7上のデータの追い出しを禁止するア
ドレス領域の先頭アドレス及び最終アドレスを登録する
追い出し禁止領域レジスタを備えたデータコントローラ
47を介して主記憶装置7上のデータを記憶する記憶領
域49が接続されている。なお、本実施例におけるメモ
リマネージメントユニット41(以下、MMUと言う)
は、そのアドレス変換機構により内部バス37には物理
アドレスが発行される。
示すブロック図である。なお、実施例1とほぼ同様な要
素には同一の符号を付け、説明を省略する。キャッシュ
内部アドレスデータバス37(以下、内部バスという)
には、主記憶装置7上のデータの追い出しを禁止するア
ドレス領域の先頭アドレス及び最終アドレスを登録する
追い出し禁止領域レジスタを備えたデータコントローラ
47を介して主記憶装置7上のデータを記憶する記憶領
域49が接続されている。なお、本実施例におけるメモ
リマネージメントユニット41(以下、MMUと言う)
は、そのアドレス変換機構により内部バス37には物理
アドレスが発行される。
【0031】図6には、記憶領域49の構成が示されて
いる。本実施例においてはセットアソシエイティブ方式
を採用しており、4ウェイライン60のセット数は10
24で、1ライン4ワードである。61、62、63、
64はそれぞれのラインウェイ(アドレスタグとも言
う)、71はライン選択ロジック、73はLRU(Le
ast Recent Used)アルゴリズム及び本
実施例の特徴であるデータの追い出し禁止を実現するた
めのフラグが格納されているLRU/禁止フラグであ
り、各ラインには4ワードずつ格納される。
いる。本実施例においてはセットアソシエイティブ方式
を採用しており、4ウェイライン60のセット数は10
24で、1ライン4ワードである。61、62、63、
64はそれぞれのラインウェイ(アドレスタグとも言
う)、71はライン選択ロジック、73はLRU(Le
ast Recent Used)アルゴリズム及び本
実施例の特徴であるデータの追い出し禁止を実現するた
めのフラグが格納されているLRU/禁止フラグであ
り、各ラインには4ワードずつ格納される。
【0032】図7にはLRU/禁止フラグ73に格納さ
れているLRU値の状態例81、82、83がそれぞれ
示されており、このLRU値は4ウェイライン60の出
力により更新される。以下に、このLRU値の更新とこ
れを用いてキャッシュデータの追い出し禁止の動作を説
明する。
れているLRU値の状態例81、82、83がそれぞれ
示されており、このLRU値は4ウェイライン60の出
力により更新される。以下に、このLRU値の更新とこ
れを用いてキャッシュデータの追い出し禁止の動作を説
明する。
【0033】図7に示されるLRU値の0、1、2、3
はLRUの順位を表しており、3が最も高い。当該セッ
トのキャッシュデータ追い出しが必要な時には最初にL
RU値の大きいものからキャッシュデータの追い出しが
実行される。キャッシュデータが更新されるとLRU値
は0に更新され、他のラインのLRU値は1ずつインク
リメントされる。図7において、LRU値の状態例81
で一番上のLRU値3に対応したデータが追い出され、
各LRU値はそれぞれLRU値の状態例82のように更
新される。なお、初期状態は全てLRU値3が格納され
ている。また、同じLRU値を示す場合はランキュー上
にないタスクか、もしくはランキュー上で最もプライオ
リティの低いタスクを選択する等所定の条件によりいず
れかのラインが選択される。追い出し禁止の領域に対応
するラインには禁止フラグ(−1)を設定する。LRU
値の状態例83では、全てのラインが追い出し禁止の状
態に設定されている。全てのラインが追い出し禁止でな
い禁止解除状態、例えばLRU値の状態例81、82の
状態であるときはデータコントローラ47中の追い出し
禁止領域レジスタの先頭アドレスに−1を設定する。
はLRUの順位を表しており、3が最も高い。当該セッ
トのキャッシュデータ追い出しが必要な時には最初にL
RU値の大きいものからキャッシュデータの追い出しが
実行される。キャッシュデータが更新されるとLRU値
は0に更新され、他のラインのLRU値は1ずつインク
リメントされる。図7において、LRU値の状態例81
で一番上のLRU値3に対応したデータが追い出され、
各LRU値はそれぞれLRU値の状態例82のように更
新される。なお、初期状態は全てLRU値3が格納され
ている。また、同じLRU値を示す場合はランキュー上
にないタスクか、もしくはランキュー上で最もプライオ
リティの低いタスクを選択する等所定の条件によりいず
れかのラインが選択される。追い出し禁止の領域に対応
するラインには禁止フラグ(−1)を設定する。LRU
値の状態例83では、全てのラインが追い出し禁止の状
態に設定されている。全てのラインが追い出し禁止でな
い禁止解除状態、例えばLRU値の状態例81、82の
状態であるときはデータコントローラ47中の追い出し
禁止領域レジスタの先頭アドレスに−1を設定する。
【0034】図8はキャッシュラインのLRU値更新処
理を示すフローチャートである。本実施例におけるキャ
ッシュ記憶装置3のコマンドインターフェイスを通して
追い出し禁止領域が指定されることによって、追い出し
禁止領域の設定が行われるが、図8を用いてキャッシュ
ラインのLRU値更新処理の動作を説明する。
理を示すフローチャートである。本実施例におけるキャ
ッシュ記憶装置3のコマンドインターフェイスを通して
追い出し禁止領域が指定されることによって、追い出し
禁止領域の設定が行われるが、図8を用いてキャッシュ
ラインのLRU値更新処理の動作を説明する。
【0035】ステップ201において、CPU5で処理
されるべきデータのアドレスに対応するセットにそのデ
ータがすでに存在すれば(キャッシュヒット)、そのデ
ータを用いればよいので更新処理は終了する。
されるべきデータのアドレスに対応するセットにそのデ
ータがすでに存在すれば(キャッシュヒット)、そのデ
ータを用いればよいので更新処理は終了する。
【0036】ステップ202において、当該アドレスに
対応するセットがすでにLRU値の状態例83のように
全てのラインがキャッシュデータの追い出し禁止の状態
になっているかをチェックする。もし、全てのラインが
追い出し禁止の状態になっていれば、更新されるLRU
値はないのでエラー報告し(ステップ203)、終了す
る。以後、当該アドレスへのアクセスが発生するときに
は全て主記憶装置7へアクセスすることになるが、この
ような状況はシステムソフトウェアにより回避するよう
に設計されるべきである。
対応するセットがすでにLRU値の状態例83のように
全てのラインがキャッシュデータの追い出し禁止の状態
になっているかをチェックする。もし、全てのラインが
追い出し禁止の状態になっていれば、更新されるLRU
値はないのでエラー報告し(ステップ203)、終了す
る。以後、当該アドレスへのアクセスが発生するときに
は全て主記憶装置7へアクセスすることになるが、この
ような状況はシステムソフトウェアにより回避するよう
に設計されるべきである。
【0037】ステップ204において、使用可能なライ
ンが存在すれば、そのうち、前述したようにLRU値の
高いラインを選択し、そのラインに対応した所定の記憶
領域に当該アドレスのデータで置換する。当該アドレス
がすでに追い出し禁止領域レジスタに設定されている領
域内のアドレスあればそのラインのLRU値を禁止フラ
グ(−1)に設定する(ステップ205)。当該アドレ
スが追い出し禁止領域内になければキャッシュデータ置
換終了後、選択されたラインのLRU値を0とし(ステ
ップ206)、他のラインのLRU値が−1あるいは3
でなければ1ずつインクリメントする(ステップ20
7)。
ンが存在すれば、そのうち、前述したようにLRU値の
高いラインを選択し、そのラインに対応した所定の記憶
領域に当該アドレスのデータで置換する。当該アドレス
がすでに追い出し禁止領域レジスタに設定されている領
域内のアドレスあればそのラインのLRU値を禁止フラ
グ(−1)に設定する(ステップ205)。当該アドレ
スが追い出し禁止領域内になければキャッシュデータ置
換終了後、選択されたラインのLRU値を0とし(ステ
ップ206)、他のラインのLRU値が−1あるいは3
でなければ1ずつインクリメントする(ステップ20
7)。
【0038】また、本実施例におけるキャッシュ記憶装
置3は、1ウェイ1024セット分の記憶容量である1
6KB単位に4ウェイライン60分の最大64KBのデ
ータ連続領域をコマンドインターフェイスを通して指定
し、コマンド発行時に全てのデータ指定領域分のLRU
/禁止フラグ73内のLRU値置換を行う機能を有して
いる。この機能により、データの追い出しを禁止するこ
とができる。図9には、データの追い出しを禁止するフ
ラッシュ禁止処理のフローチャートが示されており、こ
の図9に基づいてその動作を説明する。
置3は、1ウェイ1024セット分の記憶容量である1
6KB単位に4ウェイライン60分の最大64KBのデ
ータ連続領域をコマンドインターフェイスを通して指定
し、コマンド発行時に全てのデータ指定領域分のLRU
/禁止フラグ73内のLRU値置換を行う機能を有して
いる。この機能により、データの追い出しを禁止するこ
とができる。図9には、データの追い出しを禁止するフ
ラッシュ禁止処理のフローチャートが示されており、こ
の図9に基づいてその動作を説明する。
【0039】CPU5で処理されるべきデータのアドレ
スの指定範囲が16KBの1〜4の整数倍のいずれかで
あることをチェックし(ステップ301)、整数倍でな
ければエラー報告し(ステップ302)、終了する。更
に、本動作では、全てのデータ指定領域分のLRU/禁
止フラグ73内のLRU値置換を行うので、前述したよ
うにデータコントローラ47中の追い出し禁止領域レジ
スタの先頭アドレスに−1が設定されている必要がある
ので、追い出し禁止領域レジスタをチェックする(ステ
ップ303)。もし、設定されていなければ、エラー報
告し(ステップ302)、終了する。
スの指定範囲が16KBの1〜4の整数倍のいずれかで
あることをチェックし(ステップ301)、整数倍でな
ければエラー報告し(ステップ302)、終了する。更
に、本動作では、全てのデータ指定領域分のLRU/禁
止フラグ73内のLRU値置換を行うので、前述したよ
うにデータコントローラ47中の追い出し禁止領域レジ
スタの先頭アドレスに−1が設定されている必要がある
ので、追い出し禁止領域レジスタをチェックする(ステ
ップ303)。もし、設定されていなければ、エラー報
告し(ステップ302)、終了する。
【0040】ここで、追い出し禁止領域レジスタの先頭
アドレスに−1を設定するには、図10における禁止解
除処理のフローチャートに示すように、LRU値の禁止
フラグ(−1)を3に設定した後(ステップ401)、
追い出し禁止領域レジスタの先頭アドレスに−1を設定
すればよい(ステップ402)。この処理はシステムソ
フトウェアにより行えばよい。
アドレスに−1を設定するには、図10における禁止解
除処理のフローチャートに示すように、LRU値の禁止
フラグ(−1)を3に設定した後(ステップ401)、
追い出し禁止領域レジスタの先頭アドレスに−1を設定
すればよい(ステップ402)。この処理はシステムソ
フトウェアにより行えばよい。
【0041】この後、全てのセットから必要なラインL
RU値の高いラインからデータを追い出し確保し(ステ
ップ304)、指定された範囲である追い出し禁止領域
のデータを読み込む(ステップ305)。そして、ステ
ップ304及び305でデータが置換されたLRU/禁
止フラグ73内のLRU値を禁止フラグ(−1)にする
(ステップ306)。
RU値の高いラインからデータを追い出し確保し(ステ
ップ304)、指定された範囲である追い出し禁止領域
のデータを読み込む(ステップ305)。そして、ステ
ップ304及び305でデータが置換されたLRU/禁
止フラグ73内のLRU値を禁止フラグ(−1)にする
(ステップ306)。
【0042】以上のようにして、本実施例によれば、指
定された主記憶装置7上の物理アドレスのデータをキャ
ッシュ記憶装置3からの追い出しを禁止できる。これに
より、例えば、頻繁に使用されるシステムプログラム、
リアルタイムプログラム等を追い出し禁止領域に設定す
ることでキャッシュミスの発生を低減することができ
る。
定された主記憶装置7上の物理アドレスのデータをキャ
ッシュ記憶装置3からの追い出しを禁止できる。これに
より、例えば、頻繁に使用されるシステムプログラム、
リアルタイムプログラム等を追い出し禁止領域に設定す
ることでキャッシュミスの発生を低減することができ
る。
【0043】
【発明の効果】以上のように、本発明に係るキャッシュ
記憶装置によれば、1ないし複数の第一の記憶領域と、
第二の記憶領域とを別々にキャッシュ内部アドレスデー
タバスに接続したので、共有データ等が記憶されている
ためデータがパージされる可能性の低いあるいは常駐し
ているのが望ましいデータが記憶されている第二の記憶
領域をデータをパージすべき対象から外すことができ、
より高速化を図ることが可能となる。
記憶装置によれば、1ないし複数の第一の記憶領域と、
第二の記憶領域とを別々にキャッシュ内部アドレスデー
タバスに接続したので、共有データ等が記憶されている
ためデータがパージされる可能性の低いあるいは常駐し
ているのが望ましいデータが記憶されている第二の記憶
領域をデータをパージすべき対象から外すことができ、
より高速化を図ることが可能となる。
【0044】また、アクセス情報を含むレジスタを設け
たことにより、各記憶領域のデータの他のデータによる
置換可不可等のアクセス制御が選択的に行いことがで
き、キャッシュミスを低減することが可能となる。
たことにより、各記憶領域のデータの他のデータによる
置換可不可等のアクセス制御が選択的に行いことがで
き、キャッシュミスを低減することが可能となる。
【0045】また、他の発明に係るキャッシュ記憶装置
によれば、記憶領域上に、例えばオペレーティングシス
テムのカーネルコードのような主記憶装置上に常駐すべ
きプログラムをキャッシュ記憶装置上の追い出しを禁止
するアドレス領域に記憶させることで、キャッシュミス
の発生を低減させることが可能となる。この追い出しを
禁止するアドレス領域も連続に取ることができる。
によれば、記憶領域上に、例えばオペレーティングシス
テムのカーネルコードのような主記憶装置上に常駐すべ
きプログラムをキャッシュ記憶装置上の追い出しを禁止
するアドレス領域に記憶させることで、キャッシュミス
の発生を低減させることが可能となる。この追い出しを
禁止するアドレス領域も連続に取ることができる。
【0046】更に、上記のように追い出し禁止領域に記
憶されたデータは、処理装置とキャッシュ記憶装置との
間で閉じた環境で処理される。いったん主記憶装置経由
でキャッシュ記憶装置に記憶されたこのデータは、追い
出し禁止の設定が解除されない限り、主記憶装置上に記
憶されている必要もなく、したがって、主記憶装置上の
そのデータ分の領域が他のデータで使用することが可能
となる。
憶されたデータは、処理装置とキャッシュ記憶装置との
間で閉じた環境で処理される。いったん主記憶装置経由
でキャッシュ記憶装置に記憶されたこのデータは、追い
出し禁止の設定が解除されない限り、主記憶装置上に記
憶されている必要もなく、したがって、主記憶装置上の
そのデータ分の領域が他のデータで使用することが可能
となる。
【図1】本発明に係るキャッシュ記憶装置を有するコン
ピュータシステムのブロック図である。
ピュータシステムのブロック図である。
【図2】本発明に係るキャッシュ記憶装置の第一実施例
を示す構成ブロック図である。
を示す構成ブロック図である。
【図3】第一実施例におけるキャッシュ管理テーブルを
示す図である。
示す図である。
【図4】第一実施例におけるユーザ記憶領域選択処理を
示すフローチャートである。
示すフローチャートである。
【図5】本発明に係るキャッシュ記憶装置の第二実施例
を示す構成ブロック図である。
を示す構成ブロック図である。
【図6】第二実施例における記憶領域の構成を示す図で
ある。
ある。
【図7】第二実施例におけるLRU値の状態例を示す図
である。
である。
【図8】第二実施例におけるキャッシュラインのLRU
値更新処理を示すフローチャートである。
値更新処理を示すフローチャートである。
【図9】第二実施例におけるフラッシュ禁止処理を示す
フローチャートである。
フローチャートである。
【図10】第二実施例における禁止解除処理を示すフロ
ーチャートである。
ーチャートである。
1 キャッシュ記憶装置 31 ユーザ記憶領域 33 システム記憶領域 35 ユーザ領域用キャッシュ内部サブアドレスデータ
バス 37 キャッシュ内部アドレスデータバス 39、47 データコントローラ 41 メモリマネージメントユニット 49 記憶領域 50 キャッシュ管理テーブル 51 ユーザ記憶領域識別子 53 置換可フラグ 55 タスク識別子 60 4ウェイライン 73 LRU/禁止フラグ
バス 37 キャッシュ内部アドレスデータバス 39、47 データコントローラ 41 メモリマネージメントユニット 49 記憶領域 50 キャッシュ管理テーブル 51 ユーザ記憶領域識別子 53 置換可フラグ 55 タスク識別子 60 4ウェイライン 73 LRU/禁止フラグ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成5年10月25日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】 キャッシュ記憶装置
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はキャッシュ記憶装置、特
にキャッシュミスを低減することにより計算機システム
の高速化を図るキャッシュ記憶装置に関する。
にキャッシュミスを低減することにより計算機システム
の高速化を図るキャッシュ記憶装置に関する。
【0002】
【従来の技術】従来のキャッシュ記憶装置は、高価であ
り、システム内で少量使用されるのみであったが、プロ
セス技術の進歩により、近来は、より廉価に、多量に使
用することが可能になってきた。一方、CPUの高速化
を図るにつれ、キャッシュミスによるペナルティは高い
ものになり、ますます、キャッシュメモリの使用がシス
テム性能の鍵を握るようになってきている。
り、システム内で少量使用されるのみであったが、プロ
セス技術の進歩により、近来は、より廉価に、多量に使
用することが可能になってきた。一方、CPUの高速化
を図るにつれ、キャッシュミスによるペナルティは高い
ものになり、ますます、キャッシュメモリの使用がシス
テム性能の鍵を握るようになってきている。
【0003】従来、キャッシュミスの低減、データのパ
ージ、ロードを高速化する技術として以下の示す先行技
術がある。
ージ、ロードを高速化する技術として以下の示す先行技
術がある。
【0004】特開昭60−79446号公報には、デー
タにタスク識別子を持たせ、アクセスすべき論理アドレ
スとタスク識別子の双方が一致したデータがある時のみ
キャッシュメモリ上のデータへアクセスするようにした
構成が開示されている。また、特開昭62−14534
1号公報には、キャッシュ記憶を共通空間領域と多重空
間領域とに分割し、それぞれパージ制御可能にした構成
が開示されている。このように、データのパージ、ロー
ドを行う際の条件を設けたり、キャッシュデータの入替
えの範囲の指定することで、データのパージ、ロードを
高速化することに主眼をおいてキャッシュデータの入替
えに伴うオーバーヘッドを低減させ、効率化を図ってい
る。
タにタスク識別子を持たせ、アクセスすべき論理アドレ
スとタスク識別子の双方が一致したデータがある時のみ
キャッシュメモリ上のデータへアクセスするようにした
構成が開示されている。また、特開昭62−14534
1号公報には、キャッシュ記憶を共通空間領域と多重空
間領域とに分割し、それぞれパージ制御可能にした構成
が開示されている。このように、データのパージ、ロー
ドを行う際の条件を設けたり、キャッシュデータの入替
えの範囲の指定することで、データのパージ、ロードを
高速化することに主眼をおいてキャッシュデータの入替
えに伴うオーバーヘッドを低減させ、効率化を図ってい
る。
【0005】更に、特開平4−18649号公報には、
LRUアルゴリズムを持たないディスク装置用簡易キャ
ッシュ記憶において、指定したキャッシュ記憶領域のデ
ータ保持を行う構成により、書込み/読出し命令の処理
速度を大幅に改善することが開示されている。
LRUアルゴリズムを持たないディスク装置用簡易キャ
ッシュ記憶において、指定したキャッシュ記憶領域のデ
ータ保持を行う構成により、書込み/読出し命令の処理
速度を大幅に改善することが開示されている。
【0006】
【発明が解決しようとする課題】前述したように、CP
Uの高速化を図るにつれ、キャッシュミスによるペナル
ティが増大しつつあり、また同時にキャッシュ記憶の大
容量化が進んでいる。かかる状況でより高速の計算機シ
ステムを実現するためには、キャッシュミスの低減ある
いはキャッシュ記憶に対するCPUの待ち時間の有効利
用を図らなければならない。
Uの高速化を図るにつれ、キャッシュミスによるペナル
ティが増大しつつあり、また同時にキャッシュ記憶の大
容量化が進んでいる。かかる状況でより高速の計算機シ
ステムを実現するためには、キャッシュミスの低減ある
いはキャッシュ記憶に対するCPUの待ち時間の有効利
用を図らなければならない。
【0007】本発明は以上のような問題を解決するため
になされたものであり、その目的は、キャッシュミスを
低減することにより計算機システムの高速化を図るキャ
ッシュ記憶装置を提供することにある。
になされたものであり、その目的は、キャッシュミスを
低減することにより計算機システムの高速化を図るキャ
ッシュ記憶装置を提供することにある。
【0008】
【課題を解決するための手段】以上のような目的を達成
するために、本発明におけるキャッシュ記憶装置は、処
理装置の近傍に設けられ、主記憶装置上のデータの一部
を格納して高速化を図るキャッシュ記憶装置において、
前記主記憶装置上のそれぞれ異なるデータを記憶する1
ないし複数の第一の記憶領域と、キャッシュ内部アドレ
スデータバスと前記第一の各記憶領域との間に配設さ
れ、前記各第一の記憶領域上のデータへのアクセス情報
を記憶するレジスタと、前記キャッシュ内部アドレスデ
ータバスに接続され、前記各第一の記憶領域上のデータ
間に共有するデータを記憶する第二の記憶領域と、を有
し、選択されたデータのみにアクセスされることを特徴
とする。
するために、本発明におけるキャッシュ記憶装置は、処
理装置の近傍に設けられ、主記憶装置上のデータの一部
を格納して高速化を図るキャッシュ記憶装置において、
前記主記憶装置上のそれぞれ異なるデータを記憶する1
ないし複数の第一の記憶領域と、キャッシュ内部アドレ
スデータバスと前記第一の各記憶領域との間に配設さ
れ、前記各第一の記憶領域上のデータへのアクセス情報
を記憶するレジスタと、前記キャッシュ内部アドレスデ
ータバスに接続され、前記各第一の記憶領域上のデータ
間に共有するデータを記憶する第二の記憶領域と、を有
し、選択されたデータのみにアクセスされることを特徴
とする。
【0009】また、他の発明におけるキャッシュ記憶装
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、前記主記憶装置上のそれぞれ異なるデータを記
憶する1ないし複数の記憶領域と、キャッシュ内部アド
レスデータバスと前記各記憶領域との間に配設され、前
記各記憶領域上のデータそれぞれのアクセス情報を記憶
するレジスタと、を有し、前記アクセス情報は、前記各
記憶領域上のデータを識別するタスク識別子と、そのデ
ータの置換可不可を示す置換可フラグと、を含み、前記
アクセス情報に基づいてアクセスされるデータが記憶さ
れている前記記憶領域を選択することを特徴とする。
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、前記主記憶装置上のそれぞれ異なるデータを記
憶する1ないし複数の記憶領域と、キャッシュ内部アド
レスデータバスと前記各記憶領域との間に配設され、前
記各記憶領域上のデータそれぞれのアクセス情報を記憶
するレジスタと、を有し、前記アクセス情報は、前記各
記憶領域上のデータを識別するタスク識別子と、そのデ
ータの置換可不可を示す置換可フラグと、を含み、前記
アクセス情報に基づいてアクセスされるデータが記憶さ
れている前記記憶領域を選択することを特徴とする。
【0010】更に、他の発明におけるキャッシュ記憶装
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、キャッシュ内部アドレスデータバスに配設さ
れ、前記主記憶装置上のデータの追い出しを禁止するア
ドレス領域を記憶するレジスタと、前記主記憶装置上の
データとそのデータの追い出し禁止を示すフラグとが格
納されている記憶領域と、を有し、前記主記憶装置上の
アドレス領域を指定してデータの追い出しを禁止させる
ことを特徴とする。
置は、処理装置の近傍に設けられ、主記憶装置上のデー
タの一部を格納して高速化を図るキャッシュ記憶装置に
おいて、キャッシュ内部アドレスデータバスに配設さ
れ、前記主記憶装置上のデータの追い出しを禁止するア
ドレス領域を記憶するレジスタと、前記主記憶装置上の
データとそのデータの追い出し禁止を示すフラグとが格
納されている記憶領域と、を有し、前記主記憶装置上の
アドレス領域を指定してデータの追い出しを禁止させる
ことを特徴とする。
【0011】
【作用】以上のような構成を有する本発明に係るキャッ
シュ記憶装置においては、システムソフトウェア、共有
データ等のパージされる可能性の低いあるいは常駐して
いるのが望ましいデータが記憶されている第二の記憶領
域をユーザデータが記憶される第一の記憶領域とは別に
キャッシュ内部アドレスデータバスに接続することで、
より高速化することができる。
シュ記憶装置においては、システムソフトウェア、共有
データ等のパージされる可能性の低いあるいは常駐して
いるのが望ましいデータが記憶されている第二の記憶領
域をユーザデータが記憶される第一の記憶領域とは別に
キャッシュ内部アドレスデータバスに接続することで、
より高速化することができる。
【0012】また、他の発明によれば、コンテキストス
イッチの際、ディスパッチすべきタスクがタスク識別子
を参照することで記憶領域のいずれかに存在することが
認識できれば、そのタスクが記憶されている記憶領域が
選択される。ディスパッチすべきタスクが記憶領域のい
ずれにも存在しなければ置換可フラグを参照して、置換
可能な記憶領域の中から選出し、そのタスクは選出され
たの記憶領域にロードされる。また、記憶領域上のデー
タは置換可フラグを置換不可に設定することにより、置
換されることはない。
イッチの際、ディスパッチすべきタスクがタスク識別子
を参照することで記憶領域のいずれかに存在することが
認識できれば、そのタスクが記憶されている記憶領域が
選択される。ディスパッチすべきタスクが記憶領域のい
ずれにも存在しなければ置換可フラグを参照して、置換
可能な記憶領域の中から選出し、そのタスクは選出され
たの記憶領域にロードされる。また、記憶領域上のデー
タは置換可フラグを置換不可に設定することにより、置
換されることはない。
【0013】このようにアクセス情報を参照して記憶領
域上のデータの置換が行われるので、キャッシュミスを
低減することができる。
域上のデータの置換が行われるので、キャッシュミスを
低減することができる。
【0014】また、他の発明によれば、記憶領域に記憶
されているデータに対応して設けられたフラグにデータ
の追い出し禁止を示す値を設定することでデータの追い
出しを禁止することができる。また、追い出し禁止の領
域があれば、その範囲の先頭アドレスと最終アドレスを
レジスタに記憶させ、追い出し禁止の領域がなければ、
レジスタに所定の値を設定する。これにより、システム
プログラム等アクセス頻度の高いプログラム等を追い出
し禁止に設定することで記憶領域に常駐させることがで
きるので、キャッシュミスを低減することができる。
されているデータに対応して設けられたフラグにデータ
の追い出し禁止を示す値を設定することでデータの追い
出しを禁止することができる。また、追い出し禁止の領
域があれば、その範囲の先頭アドレスと最終アドレスを
レジスタに記憶させ、追い出し禁止の領域がなければ、
レジスタに所定の値を設定する。これにより、システム
プログラム等アクセス頻度の高いプログラム等を追い出
し禁止に設定することで記憶領域に常駐させることがで
きるので、キャッシュミスを低減することができる。
【0015】
【実施例】実施例1 以下、図面に基づいて、本発明の好適な第一実施例を説
明する。
明する。
【0016】図1は、本実施例を適用するコンピュータ
システムの概略を示すブロック図である。バス1には、
本実施例の特徴であるキャッシュ記憶装置3を介してC
PU5、主記憶装置7及び補助記憶装置9が接続されて
いる。キャッシュ記憶装置3には、主記憶装置7上のプ
ログラム(あるいはタスク)、データ(以下、総称して
データと言うが、場合によって、プログラムあるいはタ
スクと言うこともある。)の一部が格納される。なお、
本実施例では、CPU数は1であるが、複数CPUにつ
いても適用可能である。
システムの概略を示すブロック図である。バス1には、
本実施例の特徴であるキャッシュ記憶装置3を介してC
PU5、主記憶装置7及び補助記憶装置9が接続されて
いる。キャッシュ記憶装置3には、主記憶装置7上のプ
ログラム(あるいはタスク)、データ(以下、総称して
データと言うが、場合によって、プログラムあるいはタ
スクと言うこともある。)の一部が格納される。なお、
本実施例では、CPU数は1であるが、複数CPUにつ
いても適用可能である。
【0017】図2には、キャッシュ記憶装置3の構成を
示すブロック図である。本実施例におけるキャッシュ記
憶装置3の記憶領域は、第一の記憶領域である4つのユ
ーザ記憶領域31a、31b、31c、31dと第二の
記憶領域であるシステム記憶領域33とを有する。各ユ
ーザ記憶領域31には、主記憶装置7上のそれぞれ異な
るユーザデータの全部あるいは一部が記憶される。シス
テム記憶領域33には、システムソフトウェアの命令、
ユーザ記憶領域31上のプログラム間の共有データを記
憶する。各ユーザ記憶領域31はユーザ領域用キャッシ
ュ内部サブアドレスデータバス35(以下、サブバスと
いう)に、システム記憶領域33はキャッシュ内部アド
レスデータバス37(以下、内部バスという)にそれぞ
れ接続されている。データコントローラ39は、各ユー
ザ記憶領域31上のデータの置換可不可、タスク情報を
含むアドレス情報を記憶するルートレジスタを有してお
り、内部バス37と、サブバス35を介して各ユーザ記
憶領域31とを接続させる。このように、ユーザ記憶領
域31とシステム記憶領域33は別々に内部バス37に
接続されている。内部バス37は、アドレス変換機構、
内部バス37の制御を行うメモリマネージメントユニッ
ト41(以下、MMUと言う)を介してCPUバス4
3、メモリバス45に接続される。
示すブロック図である。本実施例におけるキャッシュ記
憶装置3の記憶領域は、第一の記憶領域である4つのユ
ーザ記憶領域31a、31b、31c、31dと第二の
記憶領域であるシステム記憶領域33とを有する。各ユ
ーザ記憶領域31には、主記憶装置7上のそれぞれ異な
るユーザデータの全部あるいは一部が記憶される。シス
テム記憶領域33には、システムソフトウェアの命令、
ユーザ記憶領域31上のプログラム間の共有データを記
憶する。各ユーザ記憶領域31はユーザ領域用キャッシ
ュ内部サブアドレスデータバス35(以下、サブバスと
いう)に、システム記憶領域33はキャッシュ内部アド
レスデータバス37(以下、内部バスという)にそれぞ
れ接続されている。データコントローラ39は、各ユー
ザ記憶領域31上のデータの置換可不可、タスク情報を
含むアドレス情報を記憶するルートレジスタを有してお
り、内部バス37と、サブバス35を介して各ユーザ記
憶領域31とを接続させる。このように、ユーザ記憶領
域31とシステム記憶領域33は別々に内部バス37に
接続されている。内部バス37は、アドレス変換機構、
内部バス37の制御を行うメモリマネージメントユニッ
ト41(以下、MMUと言う)を介してCPUバス4
3、メモリバス45に接続される。
【0018】図3には、システムソフトウェアがコンテ
キストスイッチの際、ユーザ記憶領域31のキャッシュ
記憶管理に使用する前述したアクセス情報を含むキャッ
シュ管理テーブル50が示されている。51は各ユーザ
記憶領域31それぞれに対応したユーザ記憶領域識別子
(以下、ユーザ領域IDと言う)であり、各ユーザ記憶
領域31a、31b、31c、31dはそれぞれ、0、
1、2、3である。53は他のデータによって置換可能
かどうかを表す置換可フラグであり、本実施例において
は、置換可を1、置換不可を0とする。この置換可フラ
グ53は、システムソフトウェア等により設定される。
55は各ユーザ記憶領域31を占有しているデータであ
るタスクを識別するタスク識別子である。タスク識別子
55は、システム内においてタスク毎にユニークに与え
られた番号である。図3によると、ユーザ領域IDが0
であるユーザ記憶領域31aは他のタスクでの置換は不
可であり、タスク識別子が11であるタスクが記憶され
ている。同様に、ユーザ領域IDがそれぞれ1、2、3
であるユーザ記憶領域31a、31b、31cは他のタ
スクでの置換は可能であり、タスク識別子がそれぞれ
8、4、7であるタスクが記憶されている。
キストスイッチの際、ユーザ記憶領域31のキャッシュ
記憶管理に使用する前述したアクセス情報を含むキャッ
シュ管理テーブル50が示されている。51は各ユーザ
記憶領域31それぞれに対応したユーザ記憶領域識別子
(以下、ユーザ領域IDと言う)であり、各ユーザ記憶
領域31a、31b、31c、31dはそれぞれ、0、
1、2、3である。53は他のデータによって置換可能
かどうかを表す置換可フラグであり、本実施例において
は、置換可を1、置換不可を0とする。この置換可フラ
グ53は、システムソフトウェア等により設定される。
55は各ユーザ記憶領域31を占有しているデータであ
るタスクを識別するタスク識別子である。タスク識別子
55は、システム内においてタスク毎にユニークに与え
られた番号である。図3によると、ユーザ領域IDが0
であるユーザ記憶領域31aは他のタスクでの置換は不
可であり、タスク識別子が11であるタスクが記憶され
ている。同様に、ユーザ領域IDがそれぞれ1、2、3
であるユーザ記憶領域31a、31b、31cは他のタ
スクでの置換は可能であり、タスク識別子がそれぞれ
8、4、7であるタスクが記憶されている。
【0019】本実施例において特徴的なことは、複数タ
スクの共有データ等が記憶されているためデータがパー
ジされる可能性の低い、あるいは常駐しているのが望ま
しいタスクが記憶されているシステム記憶領域33をユ
ーザ記憶領域31とは別に直接内部バス37に接続する
ことで、データのロード・パージ等のアクセス制御の対
象から外すことができ、より高速化を図ることができる
ことである。
スクの共有データ等が記憶されているためデータがパー
ジされる可能性の低い、あるいは常駐しているのが望ま
しいタスクが記憶されているシステム記憶領域33をユ
ーザ記憶領域31とは別に直接内部バス37に接続する
ことで、データのロード・パージ等のアクセス制御の対
象から外すことができ、より高速化を図ることができる
ことである。
【0020】更に、ユーザ記憶領域31それぞれへのア
クセス情報を含むキャッシュ管理テーブル50を設けた
ことで、各ユーザ記憶領域31の置換可不可等のアクセ
ス制御が選択的に行いことができ、したがって、キャッ
シュミスを低減することができることである。
クセス情報を含むキャッシュ管理テーブル50を設けた
ことで、各ユーザ記憶領域31の置換可不可等のアクセ
ス制御が選択的に行いことができ、したがって、キャッ
シュミスを低減することができることである。
【0021】図4は、コンテキストスイッチの際に行わ
れるキャッシュ記憶制御のフローチャートである。この
キャッシュ記憶制御はシステムソフトウェアレベルで実
現される。以下、図4に基づいて本実施例におけるユー
ザ記憶領域の選択処理について説明する。
れるキャッシュ記憶制御のフローチャートである。この
キャッシュ記憶制御はシステムソフトウェアレベルで実
現される。以下、図4に基づいて本実施例におけるユー
ザ記憶領域の選択処理について説明する。
【0022】ステップ101では、コンテキストスイッ
チの際、ディスパッチすべきタスクがユーザ記憶領域3
1のいずれかに存在すれば、そのユーザ記憶領域31に
該当するエントリのユーザ領域ID51を選択する。こ
れは、キャッシュ管理テーブル50のタスク識別子55
を検索することで選出され、検索されたタスク識別子に
対応するユーザ領域ID51が選択されることになる。
チの際、ディスパッチすべきタスクがユーザ記憶領域3
1のいずれかに存在すれば、そのユーザ記憶領域31に
該当するエントリのユーザ領域ID51を選択する。こ
れは、キャッシュ管理テーブル50のタスク識別子55
を検索することで選出され、検索されたタスク識別子に
対応するユーザ領域ID51が選択されることになる。
【0023】そのタスクがユーザ記憶領域31のいずれ
にも存在しない場合は、ユーザ記憶領域31のうちのい
ずれかにそのタスクをロードしなければならないが、タ
スクをロードすべきユーザ記憶領域31は次のようにし
て選出する。
にも存在しない場合は、ユーザ記憶領域31のうちのい
ずれかにそのタスクをロードしなければならないが、タ
スクをロードすべきユーザ記憶領域31は次のようにし
て選出する。
【0024】データの無効、すなわちタスク識別子55
が未使用であることを示す値(−1)であるエントリを
検索する(ステップ102)。未使用エントリが存在す
ればそのエントリに対応したユーザ記憶領域31にディ
スパッチすべきタスクをロードする。もちろん、ロード
したタスクのタスク識別子でそのエントリのタスク識別
子55の値を書き換える。これにより、そのタスクは新
たに登録されたことになる。そして、該当するエントリ
のユーザ領域ID51が選択されることになる(ステッ
プ103)。未使用エントリが存在しなければ、置換可
フラグ33が置換可(フラグの値が1)であるエントリ
のうち、ランキュー上にないタスクか、もしくはランキ
ュー上で最もプライオリティの低いタスクを選択する。
この選択されたタスクは、このタスクが記憶されている
ユーザ記憶領域31にディスパッチすべきタスクをロー
ドすることで置換される。もちろん、置換したタスクの
タスク識別子でそのエントリのタスク識別子55の値を
書き換える。これにより、そのタスクは新たに登録され
たことになる。そして、該当するエントリのユーザ領域
ID51が選択されることになる(ステップ104)。
が未使用であることを示す値(−1)であるエントリを
検索する(ステップ102)。未使用エントリが存在す
ればそのエントリに対応したユーザ記憶領域31にディ
スパッチすべきタスクをロードする。もちろん、ロード
したタスクのタスク識別子でそのエントリのタスク識別
子55の値を書き換える。これにより、そのタスクは新
たに登録されたことになる。そして、該当するエントリ
のユーザ領域ID51が選択されることになる(ステッ
プ103)。未使用エントリが存在しなければ、置換可
フラグ33が置換可(フラグの値が1)であるエントリ
のうち、ランキュー上にないタスクか、もしくはランキ
ュー上で最もプライオリティの低いタスクを選択する。
この選択されたタスクは、このタスクが記憶されている
ユーザ記憶領域31にディスパッチすべきタスクをロー
ドすることで置換される。もちろん、置換したタスクの
タスク識別子でそのエントリのタスク識別子55の値を
書き換える。これにより、そのタスクは新たに登録され
たことになる。そして、該当するエントリのユーザ領域
ID51が選択されることになる(ステップ104)。
【0025】このようにして、ディスパッチすべきタス
クがロードされているユーザ領域ID51が選択され
(ステップ105)、したがって、選択されたユーザ記
憶領域31上のタスクがCPU5で処理されることにな
る。
クがロードされているユーザ領域ID51が選択され
(ステップ105)、したがって、選択されたユーザ記
憶領域31上のタスクがCPU5で処理されることにな
る。
【0026】以上のように、本実施例においては、ユー
ザ記憶領域31を複数設け、置換可フラグ53をキャッ
シュ管理テーブル50のエントリ毎、すなわち各ユーザ
記憶領域31毎に設けたことで、ユーザ記憶領域31に
常駐していることが望ましい、例えばリアルタイムアプ
リケーションであるタスク等は置換不可とすることがで
きる。したがって、このようなデータの置換可不可、デ
ータの無効化等は、各ユーザ記憶領域31毎に必要に応
じて行うことができるので、キャッシュミスを低減する
ことができる。また、その作用による他のユーザ記憶領
域31には一切影響を与えない。また、システム記憶領
域33は、ユーザ記憶領域31とは別に内部バス37に
直接接続されているので、上記処理の対象にはならず、
より高速化が望める。
ザ記憶領域31を複数設け、置換可フラグ53をキャッ
シュ管理テーブル50のエントリ毎、すなわち各ユーザ
記憶領域31毎に設けたことで、ユーザ記憶領域31に
常駐していることが望ましい、例えばリアルタイムアプ
リケーションであるタスク等は置換不可とすることがで
きる。したがって、このようなデータの置換可不可、デ
ータの無効化等は、各ユーザ記憶領域31毎に必要に応
じて行うことができるので、キャッシュミスを低減する
ことができる。また、その作用による他のユーザ記憶領
域31には一切影響を与えない。また、システム記憶領
域33は、ユーザ記憶領域31とは別に内部バス37に
直接接続されているので、上記処理の対象にはならず、
より高速化が望める。
【0027】なお、4つのユーザ記憶領域31をそれぞ
れの小さな記憶装置に設けてもよいし、大きい記憶装置
を分割して設けてもよい。また、システム記憶領域33
側においても、システムソフトウェアと共有データとを
分割し、ユーザ記憶領域31と同様、複数の領域を持た
せてもよい。
れの小さな記憶装置に設けてもよいし、大きい記憶装置
を分割して設けてもよい。また、システム記憶領域33
側においても、システムソフトウェアと共有データとを
分割し、ユーザ記憶領域31と同様、複数の領域を持た
せてもよい。
【0028】実施例2 以下、図面に基づいて、本発明の好適な第二実施例を説
明する。
明する。
【0029】図1は、本実施例を適用するコンピュータ
システムの概略を示すブロック図であり、第一実施例と
ほぼ同様なので説明を省略する。
システムの概略を示すブロック図であり、第一実施例と
ほぼ同様なので説明を省略する。
【0030】図5には、キャッシュ記憶装置3の構成を
示すブロック図である。なお、実施例1とほぼ同様な要
素には同一の符号を付け、説明を省略する。キャッシュ
内部アドレスデータバス37(以下、内部バスという)
には、主記憶装置7上のデータの追い出しを禁止するア
ドレス領域の先頭アドレス及び最終アドレスを登録する
追い出し禁止領域レジスタを備えたデータコントローラ
47を介して主記憶装置7上のデータを記憶する記憶領
域49が接続されている。なお、本実施例におけるメモ
リマネージメントユニット41(以下、MMUと言う)
は、そのアドレス変換機構により内部バス37には物理
アドレスが発行される。
示すブロック図である。なお、実施例1とほぼ同様な要
素には同一の符号を付け、説明を省略する。キャッシュ
内部アドレスデータバス37(以下、内部バスという)
には、主記憶装置7上のデータの追い出しを禁止するア
ドレス領域の先頭アドレス及び最終アドレスを登録する
追い出し禁止領域レジスタを備えたデータコントローラ
47を介して主記憶装置7上のデータを記憶する記憶領
域49が接続されている。なお、本実施例におけるメモ
リマネージメントユニット41(以下、MMUと言う)
は、そのアドレス変換機構により内部バス37には物理
アドレスが発行される。
【0031】図6には、記憶領域49の構成が示されて
いる。本実施例においてはセットアソシエイティブ方式
を採用しており、4ウェイライン60のセット数は10
24で、1ライン4ワードである。61、62、63、
64はそれぞれのラインウェイ(アドレスタグとも言
う)、71はライン選択ロジック、73はLRU(Le
ast Recent Used)アルゴリズム及び本
実施例の特徴であるデータの追い出し禁止を実現するた
めのフラグが格納されているLRU/禁止フラグであ
り、各ラインには4ワードずつ格納される。
いる。本実施例においてはセットアソシエイティブ方式
を採用しており、4ウェイライン60のセット数は10
24で、1ライン4ワードである。61、62、63、
64はそれぞれのラインウェイ(アドレスタグとも言
う)、71はライン選択ロジック、73はLRU(Le
ast Recent Used)アルゴリズム及び本
実施例の特徴であるデータの追い出し禁止を実現するた
めのフラグが格納されているLRU/禁止フラグであ
り、各ラインには4ワードずつ格納される。
【0032】図7にはLRU/禁止フラグ73に格納さ
れているLRU値の状態例81、82、83がそれぞれ
示されており、このLRU値は4ウェイライン60の出
力により更新される。以下に、このLRU値の更新とこ
れを用いてキャッシュデータの追い出し禁止の動作を説
明する。
れているLRU値の状態例81、82、83がそれぞれ
示されており、このLRU値は4ウェイライン60の出
力により更新される。以下に、このLRU値の更新とこ
れを用いてキャッシュデータの追い出し禁止の動作を説
明する。
【0033】図7に示されるLRU値の0、1、2、3
はLRUの順位を表しており、3が最も高い。当該セッ
トのキャッシュデータ追い出しが必要な時には最初にL
RU値の大きいものからキャッシュデータの追い出しが
実行される。キャッシュデータが更新されるとLRU値
は0に更新され、他のラインのLRU値は1ずつインク
リメントされる。図7において、LRU値の状態例81
で一番上のLRU値3に対応したデータが追い出され、
各LRU値はそれぞれLRU値の状態例82のように更
新される。なお、初期状態は全てLRU値3が格納され
ている。また、同じLRU値を示す場合はランキュー上
にないタスクか、もしくはランキュー上で最もプライオ
リティの低いタスクを選択する等所定の条件によりいず
れかのラインが選択される。追い出し禁止の領域に対応
するラインには禁止フラグ(−1)を設定する。LRU
値の状態例83では、全てのラインが追い出し禁止の状
態に設定されている。全てのラインが追い出し禁止でな
い禁止解除状態、例えばLRU値の状態例81、82の
状態であるときはデータコントローラ47中の追い出し
禁止領域レジスタの先頭アドレスに−1を設定する。
はLRUの順位を表しており、3が最も高い。当該セッ
トのキャッシュデータ追い出しが必要な時には最初にL
RU値の大きいものからキャッシュデータの追い出しが
実行される。キャッシュデータが更新されるとLRU値
は0に更新され、他のラインのLRU値は1ずつインク
リメントされる。図7において、LRU値の状態例81
で一番上のLRU値3に対応したデータが追い出され、
各LRU値はそれぞれLRU値の状態例82のように更
新される。なお、初期状態は全てLRU値3が格納され
ている。また、同じLRU値を示す場合はランキュー上
にないタスクか、もしくはランキュー上で最もプライオ
リティの低いタスクを選択する等所定の条件によりいず
れかのラインが選択される。追い出し禁止の領域に対応
するラインには禁止フラグ(−1)を設定する。LRU
値の状態例83では、全てのラインが追い出し禁止の状
態に設定されている。全てのラインが追い出し禁止でな
い禁止解除状態、例えばLRU値の状態例81、82の
状態であるときはデータコントローラ47中の追い出し
禁止領域レジスタの先頭アドレスに−1を設定する。
【0034】図8はキャッシュラインのLRU値更新処
理を示すフローチャートである。本実施例におけるキャ
ッシュ記憶装置3のコマンドインターフェイスを通して
追い出し禁止領域が指定されることによって、追い出し
禁止領域の設定が行われるが、図8を用いてキャッシュ
ラインのLRU値更新処理の動作を説明する。
理を示すフローチャートである。本実施例におけるキャ
ッシュ記憶装置3のコマンドインターフェイスを通して
追い出し禁止領域が指定されることによって、追い出し
禁止領域の設定が行われるが、図8を用いてキャッシュ
ラインのLRU値更新処理の動作を説明する。
【0035】ステップ201において、CPU5で処理
されるべきデータのアドレスに対応するセットにそのデ
ータがすでに存在すれば(キャッシュヒット)、そのデ
ータを用いればよいので更新処理は終了する。
されるべきデータのアドレスに対応するセットにそのデ
ータがすでに存在すれば(キャッシュヒット)、そのデ
ータを用いればよいので更新処理は終了する。
【0036】ステップ202において、当該アドレスに
対応するセットがすでにLRU値の状態例83のように
全てのラインがキャッシュデータの追い出し禁止の状態
になっているかをチェックする。もし、全てのラインが
追い出し禁止の状態になっていれば、更新されるLRU
値はないのでエラー報告し(ステップ203)、終了す
る。以後、当該アドレスへのアクセスが発生するときに
は全て主記憶装置7へアクセスすることになるが、この
ような状況はシステムソフトウェアにより回避するよう
に設計されるべきである。
対応するセットがすでにLRU値の状態例83のように
全てのラインがキャッシュデータの追い出し禁止の状態
になっているかをチェックする。もし、全てのラインが
追い出し禁止の状態になっていれば、更新されるLRU
値はないのでエラー報告し(ステップ203)、終了す
る。以後、当該アドレスへのアクセスが発生するときに
は全て主記憶装置7へアクセスすることになるが、この
ような状況はシステムソフトウェアにより回避するよう
に設計されるべきである。
【0037】ステップ204において、使用可能なライ
ンが存在すれば、そのうち、前述したようにLRU値の
高いラインを選択し、そのラインに対応した所定の記憶
領域に当該アドレスのデータで置換する。当該アドレス
がすでに追い出し禁止領域レジスタに設定されている領
域内のアドレスあればそのラインのLRU値を禁止フラ
グ(−1)に設定する(ステップ205)。当該アドレ
スが追い出し禁止領域内になければキャッシュデータ置
換終了後、選択されたラインのLRU値を0とし(ステ
ップ206)、他のラインのLRU値が−1あるいは3
でなければ1ずつインクリメントする(ステップ20
7)。
ンが存在すれば、そのうち、前述したようにLRU値の
高いラインを選択し、そのラインに対応した所定の記憶
領域に当該アドレスのデータで置換する。当該アドレス
がすでに追い出し禁止領域レジスタに設定されている領
域内のアドレスあればそのラインのLRU値を禁止フラ
グ(−1)に設定する(ステップ205)。当該アドレ
スが追い出し禁止領域内になければキャッシュデータ置
換終了後、選択されたラインのLRU値を0とし(ステ
ップ206)、他のラインのLRU値が−1あるいは3
でなければ1ずつインクリメントする(ステップ20
7)。
【0038】また、本実施例におけるキャッシュ記憶装
置3は、1ウェイ1024セット分の記憶容量である1
6KB単位に4ウェイライン60分の最大64KBのデ
ータ連続領域をコマンドインターフェイスを通して指定
し、コマンド発行時に全てのデータ指定領域分のLRU
/禁止フラグ73内のLRU値置換を行う機能を有して
いる。この機能により、データの追い出しを禁止するこ
とができる。図9には、データの追い出しを禁止するフ
ラッシュ禁止処理のフローチャートが示されており、こ
の図9に基づいてその動作を説明する。
置3は、1ウェイ1024セット分の記憶容量である1
6KB単位に4ウェイライン60分の最大64KBのデ
ータ連続領域をコマンドインターフェイスを通して指定
し、コマンド発行時に全てのデータ指定領域分のLRU
/禁止フラグ73内のLRU値置換を行う機能を有して
いる。この機能により、データの追い出しを禁止するこ
とができる。図9には、データの追い出しを禁止するフ
ラッシュ禁止処理のフローチャートが示されており、こ
の図9に基づいてその動作を説明する。
【0039】CPU5で処理されるべきデータのアドレ
スの指定範囲が16KBの1〜4の整数倍のいずれかで
あることをチェックし(ステップ301)、整数倍でな
ければエラー報告し(ステップ302)、終了する。
スの指定範囲が16KBの1〜4の整数倍のいずれかで
あることをチェックし(ステップ301)、整数倍でな
ければエラー報告し(ステップ302)、終了する。
【0040】 この後、ラインLRU値の高いラインから
データを追い出し、ラインを確保し(ステップ30
4)、追い出し禁止領域レジスタに指定された範囲の追
い出し禁止領域のデータを読み込む(ステップ30
5)。そして、ステップ304及び305でデータが置
換されたLRU/禁止フラグ73内のLRU値を禁止フ
ラグ(−1)にする(ステップ306)。
データを追い出し、ラインを確保し(ステップ30
4)、追い出し禁止領域レジスタに指定された範囲の追
い出し禁止領域のデータを読み込む(ステップ30
5)。そして、ステップ304及び305でデータが置
換されたLRU/禁止フラグ73内のLRU値を禁止フ
ラグ(−1)にする(ステップ306)。
【0041】以上のようにして、本実施例によれば、指
定された主記憶装置7上の物理アドレスのデータをキャ
ッシュ記憶装置3からの追い出しを禁止できる。これに
より、例えば、頻繁に使用されるシステムプログラム、
リアルタイムプログラム等を追い出し禁止領域に設定す
ることでキャッシュミスの発生を低減することができ
る。
定された主記憶装置7上の物理アドレスのデータをキャ
ッシュ記憶装置3からの追い出しを禁止できる。これに
より、例えば、頻繁に使用されるシステムプログラム、
リアルタイムプログラム等を追い出し禁止領域に設定す
ることでキャッシュミスの発生を低減することができ
る。
【0042】
【発明の効果】以上のように、本発明に係るキャッシュ
記憶装置によれば、1ないし複数の第一の記憶領域と、
第二の記憶領域とを別々にキャッシュ内部アドレスデー
タバスに接続したので、共有データ等が記憶されている
ためデータがパージされる可能性の低いあるいは常駐し
ているのが望ましいデータが記憶されている第二の記憶
領域をデータをパージすべき対象から外すことができ、
より高速化を図ることが可能となる。
記憶装置によれば、1ないし複数の第一の記憶領域と、
第二の記憶領域とを別々にキャッシュ内部アドレスデー
タバスに接続したので、共有データ等が記憶されている
ためデータがパージされる可能性の低いあるいは常駐し
ているのが望ましいデータが記憶されている第二の記憶
領域をデータをパージすべき対象から外すことができ、
より高速化を図ることが可能となる。
【0043】また、アクセス情報を含むレジスタを設け
たことにより、各記憶領域のデータの他のデータによる
置換可不可等のアクセス制御が選択的に行いことがで
き、キャッシュミスを低減することが可能となる。
たことにより、各記憶領域のデータの他のデータによる
置換可不可等のアクセス制御が選択的に行いことがで
き、キャッシュミスを低減することが可能となる。
【0044】また、他の発明に係るキャッシュ記憶装置
によれば、記憶領域上に、例えばオペレーティングシス
テムのカーネルコードのような主記憶装置上に常駐すべ
きプログラムをキャッシュ記憶装置上の追い出しを禁止
するアドレス領域に記憶させることで、キャッシュミス
の発生を低減させることが可能となる。この追い出しを
禁止するアドレス領域も連続に取ることができる。
によれば、記憶領域上に、例えばオペレーティングシス
テムのカーネルコードのような主記憶装置上に常駐すべ
きプログラムをキャッシュ記憶装置上の追い出しを禁止
するアドレス領域に記憶させることで、キャッシュミス
の発生を低減させることが可能となる。この追い出しを
禁止するアドレス領域も連続に取ることができる。
【0045】更に、上記のように追い出し禁止領域に記
憶されたデータは、処理装置とキャッシュ記憶装置との
間で閉じた環境で処理される。いったん主記憶装置経由
でキャッシュ記憶装置に記憶されたこのデータは、追い
出し禁止の設定が解除されない限り、主記憶装置上に記
憶されている必要もなく、したがって、主記憶装置上の
そのデータ分の領域が他のデータで使用することが可能
となる。
憶されたデータは、処理装置とキャッシュ記憶装置との
間で閉じた環境で処理される。いったん主記憶装置経由
でキャッシュ記憶装置に記憶されたこのデータは、追い
出し禁止の設定が解除されない限り、主記憶装置上に記
憶されている必要もなく、したがって、主記憶装置上の
そのデータ分の領域が他のデータで使用することが可能
となる。
【図面の簡単な説明】
【図1】本発明に係るキャッシュ記憶装置を有するコン
ピュータシステムのブロック図である。
ピュータシステムのブロック図である。
【図2】本発明に係るキャッシュ記憶装置の第一実施例
を示す構成ブロック図である。
を示す構成ブロック図である。
【図3】第一実施例におけるキャッシュ管理テーブルを
示す図である。
示す図である。
【図4】第一実施例におけるユーザ記憶領域選択処理を
示すフローチャートである。
示すフローチャートである。
【図5】本発明に係るキャッシュ記憶装置の第二実施例
を示す構成ブロック図である。
を示す構成ブロック図である。
【図6】第二実施例における記憶領域の構成を示す図で
ある。
ある。
【図7】第二実施例におけるLRU値の状態例を示す図
である。
である。
【図8】第二実施例におけるキャッシュラインのLRU
値更新処理を示すフローチャートである。
値更新処理を示すフローチャートである。
【図9】第二実施例におけるフラッシュ禁止処理を示す
フローチャートである。
フローチャートである。
【図10】第二実施例における禁止解除処理を示すフロ
ーチャートである。
ーチャートである。
【符号の説明】 1 キャッシュ記憶装置 31 ユーザ記憶領域 33 システム記憶領域 35 ユーザ領域用キャッシュ内部サブアドレスデータ
バス 37 キャッシュ内部アドレスデータバス 39、47 データコントローラ 41 メモリマネージメントユニット 49 記憶領域 50 キャッシュ管理テーブル 51 ユーザ記憶領域識別子 53 置換可フラグ 55 タスク識別子 60 4ウェイライン 73 LRU/禁止フラグ
バス 37 キャッシュ内部アドレスデータバス 39、47 データコントローラ 41 メモリマネージメントユニット 49 記憶領域 50 キャッシュ管理テーブル 51 ユーザ記憶領域識別子 53 置換可フラグ 55 タスク識別子 60 4ウェイライン 73 LRU/禁止フラグ
【手続補正2】
【補正対象書類名】図面
【補正対象項目名】図9
【補正方法】変更
【補正内容】
【図9】
Claims (3)
- 【請求項1】 処理装置の近傍に設けられ、主記憶装置
上のデータの一部を格納して高速化を図るキャッシュ記
憶装置において、 前記主記憶装置上のそれぞれ異なるデータを記憶する1
ないし複数の第一の記憶領域と、 キャッシュ内部アドレスデータバスと前記第一の各記憶
領域との間に配設され、前記各第一の記憶領域上のデー
タへのアクセス情報を記憶するレジスタと、 前記キャッシュ内部アドレスデータバスに接続され、前
記各第一の記憶領域上のデータ間に共有するデータを記
憶する第二の記憶領域と、 を有し、選択されたデータのみにアクセスされることを
特徴とするキャッシュ記憶装置。 - 【請求項2】 処理装置の近傍に設けられ、主記憶装置
上のデータの一部を格納して高速化を図るキャッシュ記
憶装置において、 前記主記憶装置上のそれぞれ異なるデータを記憶する1
ないし複数の記憶領域と、 キャッシュ内部アドレスデータバスと前記各記憶領域と
の間に配設され、前記各記憶領域上のデータそれぞれの
アクセス情報を記憶するレジスタと、 を有し、 前記アクセス情報は、 前記各記憶領域上のデータを識別するタスク識別子と、 そのデータの置換可不可を示す置換可フラグと、 を含み、前記アクセス情報に基づいてアクセスされるデ
ータが記憶されている前記記憶領域を選択することを特
徴とするキャッシュ記憶装置。 - 【請求項3】 処理装置の近傍に設けられ、主記憶装置
上のデータの一部を格納して高速化を図るキャッシュ記
憶装置において、 キャッシュ内部アドレスデータバスに配設され、前記主
記憶装置上のデータの追い出しを禁止するアドレス領域
を記憶するレジスタと、 前記主記憶装置上のデータとそのデータの追い出し禁止
を示すフラグとが格納されている記憶領域と、 を有し、 前記主記憶装置上のアドレス領域を指定してデータの追
い出しを禁止させることを特徴とするキャッシュ記憶装
置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5066554A JPH06282488A (ja) | 1993-03-25 | 1993-03-25 | キャッシュ記憶装置 |
US08/156,011 US6182194B1 (en) | 1993-03-25 | 1993-11-23 | Cache memory system having at least one user area and one system area wherein the user area(s) and the system area(s) are operated in two different replacement procedures |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5066554A JPH06282488A (ja) | 1993-03-25 | 1993-03-25 | キャッシュ記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06282488A true JPH06282488A (ja) | 1994-10-07 |
Family
ID=13319256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5066554A Pending JPH06282488A (ja) | 1993-03-25 | 1993-03-25 | キャッシュ記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6182194B1 (ja) |
JP (1) | JPH06282488A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004178571A (ja) * | 2002-11-11 | 2004-06-24 | Matsushita Electric Ind Co Ltd | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
JP2008269224A (ja) * | 2007-04-19 | 2008-11-06 | Internatl Business Mach Corp <Ibm> | データをキャッシュする技術 |
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 |
JP2014534520A (ja) * | 2011-10-26 | 2014-12-18 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | セグメント化されたキャッシュ |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6349363B2 (en) * | 1998-12-08 | 2002-02-19 | Intel Corporation | Multi-section cache with different attributes for each section |
US6330556B1 (en) * | 1999-03-15 | 2001-12-11 | Trishul M. Chilimbi | Data structure partitioning to optimize cache utilization |
US6457102B1 (en) * | 1999-11-05 | 2002-09-24 | Emc Corporation | Cache using multiple LRU's |
US7904897B2 (en) * | 2002-08-08 | 2011-03-08 | Rudelic John C | Executing applications from a semiconductor nonvolatile memory |
US7124262B2 (en) * | 2002-11-20 | 2006-10-17 | Intel Corporation | Selectivity pipelining and prefetching memory data |
US7117306B2 (en) | 2002-12-19 | 2006-10-03 | Intel Corporation | Mitigating access penalty of a semiconductor nonvolatile memory |
US6781912B2 (en) * | 2002-12-31 | 2004-08-24 | Intel Corporation | Providing protection against transistor junction breakdowns from supply voltage |
US7496740B2 (en) * | 2004-07-26 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Accessing information associated with an advanced configuration and power interface environment |
JP2006163801A (ja) * | 2004-12-07 | 2006-06-22 | Canon Inc | 情報記録再生装置 |
EP1834231A1 (en) * | 2004-12-10 | 2007-09-19 | Koninklijke Philips Electronics N.V. | Data processing system and method for cache replacement |
US8069308B2 (en) * | 2008-02-13 | 2011-11-29 | Honeywell International Inc. | Cache pooling for computing systems |
US10083096B1 (en) * | 2015-12-15 | 2018-09-25 | Workday, Inc. | Managing data with restoring from purging |
US11409643B2 (en) | 2019-11-06 | 2022-08-09 | Honeywell International Inc | Systems and methods for simulating worst-case contention to determine worst-case execution time of applications executed on a processor |
US20230102843A1 (en) * | 2021-09-27 | 2023-03-30 | Nvidia Corporation | User-configurable memory allocation |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4464712A (en) * | 1981-07-06 | 1984-08-07 | International Business Machines Corporation | Second level cache replacement method and apparatus |
US4463420A (en) * | 1982-02-23 | 1984-07-31 | International Business Machines Corporation | Multiprocessor cache replacement under task control |
JPS6079446A (ja) | 1983-10-06 | 1985-05-07 | Hitachi Ltd | 多重仮想記憶デ−タ処理装置 |
US4775955A (en) * | 1985-10-30 | 1988-10-04 | International Business Machines Corporation | Cache coherence mechanism based on locking |
JPS62145341A (ja) | 1985-12-20 | 1987-06-29 | Fujitsu Ltd | キヤツシユメモリシステム |
JP2650965B2 (ja) * | 1988-05-27 | 1997-09-10 | 株式会社日立製作所 | 計算機システムおよびそのタスクスケジュール方法 |
CA1322422C (en) * | 1988-07-18 | 1993-09-21 | James P. Emmond | Single-keyed indexed file for tp queue repository |
US5125085A (en) * | 1989-09-01 | 1992-06-23 | Bull Hn Information Systems Inc. | Least recently used replacement level generating apparatus and method |
JPH0748190B2 (ja) * | 1990-01-22 | 1995-05-24 | 株式会社東芝 | キャッシュメモリ内蔵マイクロプロセッサ |
JPH0418649A (ja) | 1990-05-11 | 1992-01-22 | Fujitsu Ltd | バッファメモリ制御方式 |
US5249286A (en) * | 1990-05-29 | 1993-09-28 | National Semiconductor Corporation | Selectively locking memory locations within a microprocessor's on-chip cache |
US5497477A (en) * | 1991-07-08 | 1996-03-05 | Trull; Jeffrey E. | System and method for replacing a data entry in a cache memory |
US5325504A (en) * | 1991-08-30 | 1994-06-28 | Compaq Computer Corporation | Method and apparatus for incorporating cache line replacement and cache write policy information into tag directories in a cache system |
US5353425A (en) * | 1992-04-29 | 1994-10-04 | Sun Microsystems, Inc. | Methods and apparatus for implementing a pseudo-LRU cache memory replacement scheme with a locking feature |
US5493667A (en) * | 1993-02-09 | 1996-02-20 | Intel Corporation | Apparatus and method for an instruction cache locking scheme |
-
1993
- 1993-03-25 JP JP5066554A patent/JPH06282488A/ja active Pending
- 1993-11-23 US US08/156,011 patent/US6182194B1/en not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7673155B2 (en) | 2001-09-28 | 2010-03-02 | Kabushiki Kaisha Toshiba | Microprocessor with improved task management and table management mechanism |
JP2004178571A (ja) * | 2002-11-11 | 2004-06-24 | Matsushita Electric Ind Co Ltd | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
JP4664586B2 (ja) * | 2002-11-11 | 2011-04-06 | パナソニック株式会社 | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
JP2008269224A (ja) * | 2007-04-19 | 2008-11-06 | Internatl Business Mach Corp <Ibm> | データをキャッシュする技術 |
JP2009064462A (ja) * | 2008-10-27 | 2009-03-26 | Toshiba Corp | マイクロプロセッサ |
JP4643702B2 (ja) * | 2008-10-27 | 2011-03-02 | 株式会社東芝 | マイクロプロセッサ |
JP2014534520A (ja) * | 2011-10-26 | 2014-12-18 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | セグメント化されたキャッシュ |
US9697115B2 (en) | 2011-10-26 | 2017-07-04 | Hewlett-Packard Development Company, L.P. | Segmented caches |
Also Published As
Publication number | Publication date |
---|---|
US6182194B1 (en) | 2001-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06282488A (ja) | キャッシュ記憶装置 | |
RU2212704C2 (ru) | Структура совместно используемого кэша для временных и невременных команд | |
US5983324A (en) | Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof | |
US6957304B2 (en) | Runahead allocation protection (RAP) | |
US7676632B2 (en) | Partial cache way locking | |
US20110167224A1 (en) | Cache memory, memory system, data copying method, and data rewriting method | |
US6976126B2 (en) | Accessing data values in a cache | |
US8566564B2 (en) | Method and system for caching attribute data for matching attributes with physical addresses | |
CN1520549A (zh) | 系统启动时间减少的方法 | |
WO1994003856A1 (en) | Column-associative cache | |
US20100217937A1 (en) | Data processing apparatus and method | |
JP2735781B2 (ja) | キャッシュ・メモリ制御システム及び方法 | |
US6671779B2 (en) | Management of caches in a data processing apparatus | |
KR20210019584A (ko) | 다중 테이블 분기 타겟 버퍼 | |
WO2010004497A1 (en) | Cache management systems and methods | |
US7555610B2 (en) | Cache memory and control method thereof | |
JPWO2005066796A1 (ja) | キャッシュメモリ及びその制御方法 | |
JP4812876B2 (ja) | 演算処理装置および演算処理装置の制御方法 | |
US6792498B2 (en) | Memory system with mechanism for assisting a cache memory | |
US7689776B2 (en) | Method and system for efficient cache locking mechanism | |
US20110179227A1 (en) | Cache memory and method for cache entry replacement based on modified access order | |
EP1502191B1 (en) | Methods and apparatus for controlling a cache memory | |
US20050010740A1 (en) | Address predicting apparatus and methods | |
US20120102271A1 (en) | Cache memory system and cache memory control method | |
JPH01125638A (ja) | キャッシュメモリ装置 |