JP2968509B2 - コンピュータシステム及びキャッシュの内容のコヒーレンシー状態を変更する方法 - Google Patents
コンピュータシステム及びキャッシュの内容のコヒーレンシー状態を変更する方法Info
- Publication number
- JP2968509B2 JP2968509B2 JP10053904A JP5390498A JP2968509B2 JP 2968509 B2 JP2968509 B2 JP 2968509B2 JP 10053904 A JP10053904 A JP 10053904A JP 5390498 A JP5390498 A JP 5390498A JP 2968509 B2 JP2968509 B2 JP 2968509B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- main memory
- address
- data
- instruction
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- 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
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0837—Cache consistency protocols with software control, e.g. non-cacheable data
-
- 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
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
テム、及びキャッシュの内容のコヒーレンシー状態を変
更する方法に関するものである。
よびコードに対するアクセス待ち時間を短縮し、かつそ
のデータおよびコードのために使用するメモリの帯域幅
を狭くするために、コンピュータシステムにおいてキャ
ッシュメモリが用いられる。キャッシュメモリはメモリ
アクセスを遅らせ、まとめ、かつ集合させることができ
る。
ッサと主メモリとの間で動作する。プロセッサで実行し
ているプロセッサにより求められるデータと命令のデー
タとの少なくとも一方を、そのプロセスの実行中にキャ
ッシュに保持することができる。キャッシュのアクセス
は主メモリのアクセスより通常はるかに迅速である。プ
ロセッサがキャッシュメモリ内の求められているデータ
項目または命令項目を見つけないときは、プロセッサは
主メモリを直接にアクセスしてそれを検索し、求められ
ているデータ項目または命令項目がキャッシュにロード
される。キャッシュメモリを使用および再び充たすため
の種々の既知のシステムが存在する。
めには、キャッシュの動作を予測できる必要がある。す
なわち、キャッシュ内で見出されることが予測される特
定のデータ項目または特定の命令が、実際にそこに見出
される合理的な確実性に富む必要がある。既存の再充填
機構のほとんどは、求められているデータ項目または命
令をキャッシュ内に置くことを通常つねに試みる。これ
を行うために、既存の機構は他のデータ項目または他の
命令をキャッシュから削除しなければならない。そうす
ると、後で使用するために存在することが予測されてい
る項目が削除される結果となることがある。これは、多
重タスキングの場合、または割り込みプロセスあるいは
その他の予測できないプロセスを取り扱わなければなら
ないプロセッサの場合に、とくにそうである。
ッサを持つことがあり、各プロセッサはそれ自身のキャ
ッシュを持つことができる。あるいは、プロセッサは複
数のCPUを持つことができる。各CPUはそれ自身の
キャッシュを有する。しかし、それらのキャッシュは単
一のメモリ資源を普通にアクセスする。
シュ2をおのおの持つ2つのプロセッサCPU1とCP
U2がある場合を示す。それらのキャッシュは1つのメ
モリ資源MEMを共有する。図8はそのような状況にお
いて起きることがあるものを示す。主メモリ内のアドレ
ス1010について考えることにする。これはキャッシ
ュ1と2のキャッシュ記憶場所10にマップされる。ア
ドレス1010に記憶されている値V3は初期値Xを持
っていた。値V3=Xは最初は両方のキャッシュのキャ
ッシュ記憶場所に記憶されていた。その段階では、デー
タ項目V3は「見ることが」できた、すなわち、アドレ
ス1010をアクセスしているいずれのプロセッサもそ
れのキャッシュから値V3=Xを検索する。しかし、C
PU1はプロセスを実行し、値V3=Xを変更し、これ
をCASH1の記憶場所10へ戻していた。今は主メモ
リ内の値V3=Xは「汚れている」−すなわち、それは
V3の現在の値をもはや反映しない。更に、キャッシュ
2内の値V3=Xは「古い」、すなわち、それは真の値
とは異なる。この状況は、CPU2が値V3を検索しよ
うとする前に訂正する必要がある。その理由は、もし訂
正しないとV3=Xを誤って検索するからである。
よび装置がメモリを正しく共用できるようにするため
に、キャッシュ・コヒーレンシー制御が求められる。こ
れは下記のようにして行うことができる。 1.自動コヒーレンシー。ハードウェアを追加すること
により、どのプロセッサまたはどの装置が書き込んだか
とは無関係に、最後に書き込まれた値をロード(load
s)が検索できることが保証される。自動コヒーレンシ
ーの機能的ではあるが、性能が低い、実現はキャッシュ
を不能にすることであることに注目されたい。そのよう
な追加のハードウェアを図7に参照記号 COHERE で示
す。 2.ソフトウエア・コヒーレンシー。キャッシュとメモ
リとの間のデータの転送を制御するために特殊なコード
列を用いる。それらのコード列によりコヒーレンシーの
精密な制御と、キャッシュの効率的な使用が可能にな
る。
ヒーレントであるか否かに依存する。キャッシュが自動
的にコヒーレントでないとすると、メモリの内容と、そ
のメモリの自身のキャッシュの内容だけがプロセッサに
とって見える。適切な時にデータがメモリに確実に書込
まれるようにするために、ソフトウエアは協力しなけれ
ばならない。キャッシュが自動的にコヒーレントであれ
ば、任意のプロセッサにより最後に書込まれた値を他の
全てのプロセッサが見ることができる。
を戻すならば、そのデータ項目をプロセッサが見ること
ができる。 古い キャッシュ内の値が最後に書込まれた値とは異
なるならば、データ項目は古い。 汚れ データ項目が主メモリに関してキャッシュ内で
修正されたならば、そのデータ項目は汚れている。
をプロセスが希望するが、そのプロセスはそのキャッシ
ュ記憶場所に記憶されているアドレスをアクセスせず、
既存のソフトウエア・コヒーレンシー技術が、カーネル
モードと呼ばれる特殊な、特権プロセッサ動作モードの
使用を求める。正常なユーザーモードでは、カーネルモ
ードへの転送によること以外のソフトウエア・コヒーレ
ンシー技術を用いて、キャッシュをコヒーレントにする
ことがそのような状況においては可能でない。
実行することによりプロセスを実行するプロセッサと、
命令、および命令に対するデータを保持する主メモリ
と、プロセッサと主メモリとの間のメモリアクセス経路
中に接続され、それぞれ主メモリ内の複数のアドレスの
うちのいずれかのデータをロードすることができる複数
の記憶場所を有するキャッシュとを備え、プロセッサ
は、(i)キャッシュ内の記憶場所の内容に対して実行
すべきオペレーションと、(ii)主メモリ内のアドレ
スと、を指定するキャッシュ・コヒーレンシー命令を含
む一連の命令を実行することができ、さらにプロセッサ
は、キャッシュ・コヒーレンシー命令を実行する際に、
キャッシュ・コヒーレンシー命令が指定する主メモリ内
のアドレスのデータがキャッシュ内の記憶場所に保持さ
れているか否かとは無関係に、実行中のプロセスでキャ
ッシュ・コヒーレンシー命令が指定する主メモリ内のア
ドレスを通常アクセスすることによりそのアドレスのデ
ータを主メモリからロードすることができる記憶場所の
内容に対して、キャッシュ・コヒーレンシー命令が指定
するオペレーションを実行する実行ユニットを含んでい
る、コンピュータシステムが提供される。
リ内のアドレスと、主メモリ内のそのアドレスに記憶さ
れているデータとを含むことができる。
キャッシュに記憶されている特定のアドレスについてキ
ャッシュ・コヒーレンシーオペレーションを実行するこ
とを要求する必要がないという利点を持つ。そのキャッ
シュ記憶場所にマップする任意のアドレスを指定でき、
プロセッサは命令がそのアドレスを通常アクセスするな
らばその命令を実行することができる。したがって、実
行しているプロセスがキャッシュ・コヒーレンシー命令
の主メモリ内の指定されたアドレスをアクセスしなけれ
ばキャッシュ・コヒーレンシー・オペレーションが実行
されないから、どのような保護モードも自動的に考慮に
入れる。
命令は、キャッシュ内の記憶場所に保持されているデー
タを主メモリ内のアドレスにライトバックするフラッシ
ュ命令である。
令は、キャッシュ内の記憶場所の内容をクリアする除去
命令である。
リ内の一連のアドレスを指定し、実行中のプロセスでキ
ャッシュ・コヒーレンシー命令が指定する主メモリ内の
一連のアドレスを通常アクセスすることによりその一連
のアドレスのデータをロードすることができる記憶場所
の内容に対して、キャッシュ・コヒーレンシー命令が指
定するオペレーションを実行することができる。
することができる。その場合、アクセスされた主メモリ
内のアドレスのデータがキャッシュ区画のいずれにロー
ドすることができるかはアクセスされた主メモリ内のア
ドレスに基づいて決定される。
る。各ページは一連のアドレスを含む。その場合には、
キャッシュ・コヒーレンシー命令はオペレーションを実
行すべき主メモリ内のページを指定することができる。
オペレーションは指定されたページ内の一連のアドレス
のおのおのについて実行される。
々のキャッシュ区画のサイズ以上であるならば、ページ
を指定することによりキャッシュ区画を常に完全にクリ
アできることを決定することができる。
マップすることができる。しかし、他の結合(associat
ivities)が可能である。
データをキャッシュの各記憶場所にロードすることがで
きるコンピュータシステムにおいて、主メモリに保持さ
れているデータに関してキャッシュの内容のコヒーレン
シー状態を変更する方法であって、 (i)キャッシュ内の記憶場所の内容に対して実行すべ
きオペレーションと、 (ii)主メモリ内のアドレスとを指定するキャッシュ
・コヒーレンシー命令を実行する過程と、キャッシュ・
コヒーレンシー命令に応じて、キャッシュ・コヒーレン
シー命令が指定する主メモリ内のアドレスのデータがキ
ャッシュ内の記憶場所に保持されているか否かとは無関
係に、実行中のプロセスでキャッシュ・コヒーレンシー
命令が指定する主メモリ内のアドレスを通常アクセスす
ることによりそのアドレスのデータを主メモリからロー
ドすることができる記憶場所の内容に対して、キャッシ
ュ・コヒーレンシー命令が指定するオペレーションを実
行する過程とを備える、主メモリに保持されているデー
タに関してキャッシュの内容のコヒーレンシー状態を変
更する方法も提供する。
ザー動作モードと、特権(カーネル)動作モードとを有
する。キャッシュ・コヒーレンシー命令はユーザーモー
ドで実行することができる。
施の形態について説明する。
ュータのブロック図である。このコンピュータはCPU
2を有する。そのCPU2は、主メモリ6から項目をア
クセスするためにアドレスバス4に接続され、かつ項目
をCPU2に戻すためにデータバス8に接続される。デ
ータバス8をここではデータバスと呼んでいるが、それ
は、主メモリ6からの項目が実際のデータ、またはCP
Uが実行する命令を構成しようが、構成しまいが、それ
らの項目を戻すためのものであることがわかるであろ
う。ここで説明する装置は命令キャッシュおよびデータ
キャッシュに使用するために適当なものである。よく知
られているように、データキャッシュと命令キャッシュ
を別々に設けることもできれば、データキャッシュと命
令キャッシュを組み合わせることもできる。ここで説明
しているコンピュータでは、アドレッシングのやり方は
いわゆる垂直アドレッシング法である。アドレスはライ
ンインページ・アドレス4aと、垂直ページアドレス4
bとに分割される。垂直ページアドレス4bは翻訳ルッ
クアサイド・バッファ(TLB)10に供給される。ラ
インインページ・アドレス4aはルックアップ回路12
に供給される。翻訳ルックアサイド・バッファ10は、
垂直アドレス4bから変換された実ページアドレス14
をルックアップ回路12に供給する。ルックアップ回路
12はアドレスバス16およびデータバス18を介して
キャッシュアクセス回路20に接続される。また、デー
タバス18は主メモリ6からのデータ項目または命令の
ためのものにすることができる。キャッシュアクセス回
路20はアドレスバス24と、データバス26と、制御
バス28とを介してキャッシュメモリ22に接続され
る。制御バス28はキャッシュメモリのための交換情報
を転送する。補充装置(refill engine)30が補充バ
ス(refill bus)32を介してキャッシュアクセス回路
20に接続される。補充バス32は交換情報と、データ
項目(または命令)と、アドレスとを補充装置とキャッ
シュアクセス回路との間で転送する。補充装置32自体
は主メモリ6に接続される。
ルックアサイド・バッファ10から受ける。フル実アド
レス34は主メモリ6内の項目の実ページアドレスと、
ラインインページ・アドレスとを含む。また、補充装置
30は翻訳ルックアサイド・バッファ10からの区画標
識を4ビットバス36を介して受ける。区画標識の機能
については後で説明する。
を介して受ける。ミス信号は、後で詳しく説明するやり
方でルックアップ回路12で発生される。
は直接マップされるキャッシュである。すなわち、それ
は複数のアドレス可能な記憶場所を有する。各記憶場所
はキャッシュの1つの行を構成する。各行は主メモリか
らの項目と、その項目の主メモリ内のアドレスの部分と
を含む。各行に記憶されているデータ項目の主メモリ内
のアドレスの最下位ビットを表すビットの数により構成
された行アドレスにより、各行はアドレスすることがで
きる。たとえば、8つの行があるキャッシュ・メモリで
は、それらの行を一意に特定するために各行アドレスは
3ビット長である。たとえば、キャッシュの第2の行の
行アドレスは001であるから、ビット001で終わる
アドレスを持つ主メモリからの任意のデータを保持する
ことができる。明らかに、主メモリでは、そのようなア
ドレスが多数存在するために、キャッシュメモリ内のそ
の行に保持されるデータ項目が潜在的に多数存在する。
もちろん、キャッシュメモリはその行には1度にただ1
つのデータ項目を保持することができる。
動作を説明するが、説明に際しては区画標識が存在しな
いものとする。CPU2は主メモリ6内のアドレスを用
いて主メモリから項目を要求し、そのアドレスをアドレ
スバス4を介して送る。仮想ページ数が翻訳ルックアサ
イド・バッファ10に供給される。そのバッファはその
ページ数を、所定の仮想−実ページ翻訳アルゴリズムに
従って実ページ数14に翻訳する。実ページ数14は、
CPU2により送られた元のアドレスのラインインペー
ジ数4aとともにルックアップ回路12に供給される。
キャッシュアドレス回路20はキャッシュメモリ22を
アドレスするためにラインインページ・アドレスを用い
る。ラインインページ・アドレスは、キャッシュメモリ
22内の行アドレスに等しいメモリ内の主メモリの1組
の最下位ビット(終りのビットを必ずしも含まない)を
含む。ラインインページ・アドレスにより特定された行
アドレスにおけるキャッシュメモリ22の内容(データ
項目(または命令)とデータ項目(または命令)の主メ
モリ内のアドレスである)がルックアップ回路12に供
給される。そこで、キャッシュメモリから検索されたア
ドレスの実ページ数を、翻訳ルックアサイド・バッファ
10から供給された実ページ数と比較する。それらのア
ドレスが一致したならば、キャッシュメモリのその行に
保持されていたデータ項目をデータバス8に沿ってCP
Uへ戻させるヒットをルックアップ回路は指示する。し
かし、キャッシュメモリ22内のアドレスされた行に保
持されていたアドレスの実ページ数が、翻訳ルックアサ
イド・バッファ10から供給された実ページ数に一致し
ないとすると、補充装置30への線38にミス信号が発
生される。翻訳ルックアサイド・バッファ10からバス
34を通じて供給される実アドレスを用いて、主メモリ
6から正しい項目を検索することが補充装置30のタス
クである。主メモリ6からひとたびフェッチされたデー
タ項目は、補充バス32を介してキャッシュアクセス回
路20に供給され、主メモリ内のアドレスと共にキャッ
シュメモリ22にロードされる。CPUが実行を継続で
きるように、データ項目自体もデータバス8に沿ってC
PUへ戻される。上で簡単に述べた直接マップ・キャッ
シュメモリでは、主メモリ6から再び呼び出されたデー
タ項目およびそれのアドレスが、データ項目が検査のた
めに最初にアクセスされた記憶場所にロードされること
が明らかであろう。すなわち、そのデータ項目は、それ
を受けることができて、主メモリ内のラインインページ
・アドレス中の最下位ビットセットに一致する行アドレ
スを持つ記憶場所にのみ重ね書きされる。もちろん、キ
ャッシュメモリにもともと記憶されているデータ項目の
ページ数と、それにいまロードすべきデータ項目とは異
なる。この「1対1マッピング」はキャッシュの有用性
を制限する。
たせるために、nウエイセット連想キャッシュメモリが
開発されている。4ウエイセット連想キャッシュメモリ
の例を図2に示す。このキャッシュメモリは4つのバン
クB1、B2、B3、B4に分割される。それらのバン
クは、図2に1つの行について概略的に示しているよう
に、共通行アドレスにより行ごとに共通にアドレスする
ことができる。しかし、その行は、各バンクに1つず
つ、合計4つのキャッシュエントリを含む。バンクB1
のキャッシュエントリはバス26aに出力され、バンク
B2のキャッシュエントリはバス26bに出力され、以
下バンクB3、B4についても同様である。そうする
と、1つの行アドレス(またはラインインページ・アド
レス)に対して4つのキャッシュエントリが認められ
る。行がアドレスされるたびに、4つのキャッシュエン
トリが出力され、それらのエントリのアドレスの実ペー
ジ数が、翻訳ルックアサイド・バッファ10からの実ペ
ージ数と比較されて、どのエントリが正しいエントリで
あるかを判定する。このキャッシュに対してアクセスを
試みたときにキャッシュミスがあったとすると、補充装
置30が求められた項目を主メモリ6から検索し、たと
えば、特定の項目がキャッシュに保持されている長さを
基にする補充アルゴリズム、またはシステムの他のプロ
グラム・パラメータに従って、その項目を1つのバンク
の正しい行にロードする。そのような交換アルゴリズム
は知られているのでここではこれ以上は説明しない。
(ここにnはバンクの数で、図2では4に等しい)は、
シングル直接マップシステムの改良ではあるが、いぜん
として柔軟性に欠け、更に重要なことに、キャッシュの
動作を正しく予測することができない。
なキャッシュ補充システムによりコンピュータがキャッ
シュメモリを最適に使用できるようにするキャッシュ区
画機構を提供するものである。
ルックアサイド・バッファ10では、各TLBエントリ
に仮想ページ数と、実ページ数と、情報シーケンスとが
関連づけられる。エントリの例を図3に示す。ここに、
VPは仮想ページ数を表し、RPは実ページ数を表し、
INFOは情報シーケンスを表す。情報シーケンスはメ
モリ内のアドレスについての種々の情報を知られている
やり方で含む。そのやり方についてはここでは説明しな
い。しかし、ここで説明しているシステムによれば、情
報シーケンスは区画標識PIを更に含む。その標識はこ
こで説明している実施の形態では4ビット長である。し
たがって、情報シーケンスINFOのビット0ないし3
は特定の標識を構成する。区画標識は、データ項目がキ
ャッシュメモリ22に最初にロードされる時にそのデー
タ項目を置くことができる区画についての情報を与え
る。図2に示すキャッシュ構造では、各区画はキャッシ
ュの1つのバンクを構成することができる。特定の標識
では、各ビットはバンクの1つを指す。区画標識のビッ
トjにおける1の値は、そのページにおけるデータを区
画jに置けないことを意味する。ビットjにおける0の
値は、そのページにおけるデータを区画jに置けること
を意味する。区画標識の2つ以上のビットを0とするこ
とにより、2つ以上の区画にデータを置くことができ
る。全部が0の区画標識では、データをキャッシュの任
意の区画に置くことができる。全部が1の区画標識で
は、どのデータ項目もキャッシュメモリにロードするこ
とができない。これは、たとえば、診断目的のために、
キャッシュの内容をたとえば「凍結する」ために使用す
ることができる。
内にその実ページ数を持つデータ項目の交換にバンクB
1またはB3を使用できず、バンクB2またはB4を使
用できることを示す。
とは全く可能である。その場合には、ラインインページ
・アドレスがそのキャッシュのための行アドレスより多
くのビットを有するものとすると、区画はkウエイセッ
ト連想キャッシュとして振る舞う。この場合にはk個の
区画がページに割り当てられる。そうすると、ここで説
明している例では、図3の実ページ数はバンクB2とB
4を使用することができる。しかし、それはバンクB1
とB3を使用することができない。
用されず、キャッシュの交換または補充の場合のみに使
用される。したがって、キャッシュアクセスがキャッシ
ュメモリのどの場所に保持されているデータ項目も探す
ことができ、交換ではそのページアドレスに対して許さ
れている区画内に交換するだけである。
すものである。図4には補充バス32を、データバス3
2aと、アドレスバス32bと、交換情報を伝えるバス
32cとの3つの別々のバスとして示す。データバス3
2aとアドレスバス32bはメモリアクセス回路50に
接続される。メモリアクセス回路50はメモリバス54
を介して主メモリ6をアクセスする。交換情報は決定回
路52に供給される。決定回路52は実アドレス34
と、バス36における区画標識PIと、ミス信号38と
をも受ける。決定回路52は、主メモリ6からアクセス
されたデータを置くべきキャッシュ内の正しい区画を決
定する。
のようにTLBでセットすることができる。ここで説明
している例では、CPU2で実行しているカーネルモー
ド・ソフトウエアによって区画標識はセットされ、特定
のキャッシュ区画に置くべきでないページが、その区画
のためにセットされたその特定のキャッシュ区画の区画
標識ビットを持たないようにすることが、カーネルモー
ド・ソフトウエアの責任である。しかし、ユーザーは、
キャッシュ区画を変更することを求めることにより、区
画を変更することができる。その場合にはCPU2はカ
ーネルモードへ変更して要求を実現し、それに従ってT
LBエントリを変更し、その後でユーザーモードへ戻っ
てユーザーが継続できるようにする。このようにしてユ
ーザーはキャッシュの区画の動作を変更して、従来可能
であったものより高い柔軟性を持たせることができる。
マルチタスクCPUにとってはとくに有用である。マル
チタスクプロセッサは2つ以上のプロセスを「同時に」
実行することができる。実際には、プロセッサはプロセ
スの一部を実行し、何らかの理由、おそらくデータを必
要とするとか、続行するための刺激を必要とするとか、
でそのプロセスが中断された場合に、プロセッサは他の
プロセスを直ちに開始するものである。したがって、こ
このプロセスを停止して続行するためのデータまたは他
の刺激を待つことができる場合でも、プロセッサは常に
動作する。図5はそのような状況を線図的に示す。図5
の左側に、種々のプロセスP1、P2、P3、P4を実
行することをプロセッサが企てることができるシーケン
スを示す。図5の右側に、それらのプロセスのデータが
メモリに保持されていることをプロセスが予測できる場
所を示す。そうすると、プロセスP1のためのデータが
ページ0に保持される。プロセスP2のためのデータが
ページ1と2に保持される。プロセスP3とP4のため
のデータがページ3を共用する。この例では、プロセッ
サはプロセスP1の第1のシーケンスと、プロセスP2
の第1のシーケンスと、プロセスP1の第2のシーケン
スと、プロセスP2の第2のシーケンスとを実行し、そ
の後でプロセスP3の第1のシーケンスを実行する。プ
ロセッサはプロセスP1の第2のシーケンスが実行され
ると、プロセスP1が完全に実行されたことになる。従
来のキャッシュシステムでは、プロセッサがプロセスP
2の第1のシーケンスの実行を開始して、ページ2から
のアクセスを求めると、それらのラインにおけるデータ
項目と命令はキャッシュ内で、ページ0からの以前に記
憶されたデータ項目および命令と交換することが容易に
わかるであろう。しかし、プロセスP1の第2のシーケ
ンスが実行されると、それらをまもなく再び求めること
ができる。
は、タイミングの遅れと、それに起因する不確実性とを
避ける。図6はプロセッサがプロセスP1を実行中のキ
ャッシュの区画と、プロセッサがプロセスP3を実行す
るために切り替えた時の区画の変更、等を示す。図6は
各キャッシュのためのTLBキャッシュ区画標識も示
す。したがって、図6の左側はプロセッサがプロセスP
1とP2を実行している間に区画されたキャッシュを示
す。プロセスP1はキャッシュのバンクB1とB2を使
用できるが、バンクB3とB4は使用できない。逆に、
プロセスP2はキャッシュのバンクB3とB4を使用で
きるが、バンクB1とB2は使用できない。これを下の
TLBエントリに見ることができる。すなわち、ページ
0が、バンクB3とB4ではなくて、バンクB1とB2
をアクセスできるようにするキャッシュ区画標識を有す
る。ページ1と2が、バンクB1とB2ではなくて、バ
ンクB3とB4をアクセスできるようにするキャッシュ
区画標識を有する。ページ3がキャッシュをアクセスす
ることを阻止するキャッシュ区画標識を有する。したが
って、データ項目をプロセスP3からキャッシュにロー
ドするというプロセッサによるどのような試みも禁止さ
れる。しかし、ここで説明しているプロセス・シーケン
スでは、これは欠点ではない。その理由は、わかるであ
ろうが、プロセッサはプロセスP1の実行を終了するま
ではプロセスP3のどの部分も実行しようとはしないか
らである。プロセスP3を実行しなければならないとい
う何らかの理由で、プロセッサがそれを行ったとする
と、ダウンサイドだけになって、直接メモリからそれの
アクセスを行わなければならず、かつキャッシュの使用
を許されない。
ッサがTLB内のキャッシュ区画標識を変更できるよう
にするために、プロセッサはカーネルモードを要求する
ことができる。ここで説明している実施の形態では、カ
ーネルプロセスはキャッシュをアクセスしない。その代
わりに、カーネルプロセスは、区画標識がキャッシュの
挙動を変更するためにTLBエントリを変更する。この
変更を図6の右側に示す。したがって、今はキャッシュ
区画標識はプロセスP1がキャッシュを使用することを
全く阻止するが、キャッシュのバンクB1とB2をアク
セスできるようにキャッシュ区画標識を変更することに
より、それらのバンクをプロセスP3とP4に割り当て
る。そうすると、プロセスP3を実行することをプロセ
ッサが予測すると、そのプロセッサは今はキャッシュ機
能を有する。
以下に説明する。
スバス4に出されたアドレスが仮想ページ数4bと、ラ
インインページ4aとに分割される。しかし、全体の仮
想アドレスはCPUからキャッシュのためのルックアッ
プ回路に送られる。逆に、CPUは実アドレスをルック
アップ回路へ直接送ることができる。重要なことは、キ
ャッシュ区画標識が主メモリ内のアドレスと共同して提
供されることである。上記実施の形態では、ルックアッ
プおよび補充におけるキャッシュをアクセスするため
に、1つのキャッシュアクセス回路20を示している。
しかし、補充のために追加のアクセスポートをキャッシ
ュに設けることも可能であるから、ルックアップと補充
はキャッシュメモリ22のための種々のアクセスポート
を介して起きる。
ッシュアクセス回路20を個々のブロックで示してい
る。しかし、補充装置の機能とキャッシュアクセス回路
の機能とを、ルックアップと補充を行う単一のキャッシ
ュアクセス回路に組み合わせることが全く可能である。
シュ内の各記憶場所は主メモリ内のアドレスと項目(デ
ータまたは命令)を保持する。メモリアドレスの全てを
キャッシュ記憶場所に保持することが必要ではない。た
とえば、アドレスの最上位ビットが全体として保持され
て、そのキャッシュエントリのためのタイミングを構成
する。これはこの技術で知られているためにここでは説
明しない。
いて説明する。データおよびメモリキャッシュの状態を
変更するオペレーションのタイプを表1に示す。
ョンの範囲内で主メモリ内のアドレスでメモリ内の項目
をアクセスするロードおよびストアに関して命令され
る。たとえば、アドレス空間の重なり合う部分への「フ
ラッシュ」ご続く「ストア」により、新たに書込まれた
データについてフラッシュが確実に動作するようにす
る。動作はユーザーモードで実行される。ユーザーモー
ド・スレッドが、オペレーションを実行すべきであるペ
ージについての読出し許可または書込み許可をとらなけ
ればならない。
各コヒーレンシー・オペレーションが提供される。ライ
ンオペレーションはここでは完全にするために説明する
が、本発明の構成部分ではない。
ションにより個々のラインのキャッシュ制御を行えるよ
うにされる。ラインはラインに含まれている任意のバイ
トアドレスにより指定される。それらの命令は、所与の
アドレス範囲において動作する命令の最適化できるルー
プの構成を容易にすることを意図している。たとえば、
キャッシュから所与のバッファを除去するために、除去
ライン命令がループにおいて実行され、第1のアドレス
オペランドがバッファのスタートであり、次のアドレス
が次のキャッシュラインのスタートアドレスである。ア
ドレスがバッファの終りを超過するとループは終わる。
キャッシュラインのサイズはインプリメンテーションに
より決定される。ここで説明している実施の形態ではそ
のサイズは32バイトである。
令は、1組の区画のうちのどの1つに対して働きかける
かを、関連するTLBエントリを介して、決定するため
にアドレスを用いる。その後で命令は、アドレスを交換
できるそれらの区画のキャッシュの内部のラインについ
て働きかける。
使用することを意図するものである。下記の諸条件は、
アドレスを含んでいるページを交換できる全区画に対し
てオペレーションを実行する。 ・ アドレスはページ内の最初のバイトのアドレスに対
して初期化される。 ・ データを常駐できる各区画について、区画オペレー
ションは同じアドレスで1回反復される。 ・ ページ内のオフセットが区画サイズに達するまでア
ドレスは増加される。区画オペレーションを各増加ごと
に反復する。
のページサイズは区画サイズと少なくとも同じである。
したがって、単一のページについてのオペレーションを
用いることは全区画について働きかけることである。
大きいバイトのアドレスを用いるものとすると、これ
は、既に働きかけられた、キャッシュ内のラインにマッ
プする。したがって、コードは正しく実行するが、そう
すると不必要な命令の実行において性能が低下するとい
う不利益をこうむる。
組のラインを識別するためにアドレス(および、したが
って、区画識別子)を用いる。その後で、指定されたア
ドレスがキャッシュに保持されている主メモリ内のアド
レスに一致しようがしまいが、その1組のラインの1つ
に対して働きかけられる。PIビットがクリヤされてい
る区画のみがそれらの命令により変更される。すなわ
ち、実行中のプロセスがアクセスする区画のみに対して
コヒーレンシー命令が働きかける。
記の命令を提供する。それらの命令では、dmemとい
う記号がコンピュータシステムの主メモリを指す。
ータを他のユーザーが確実に見ることができるようにす
るために提供される。すなわち、関連する記憶場所に保
持されている項目が、項目を有するそのキャッシュ記憶
場所に保持されている主メモリ内のアドレスにライトバ
ックされる。
データを除去するためにそれらの命令が提供される−そ
れらの命令はキャッシュ内のデータ項目を、それらの項
目で指定された主メモリ内のアドレスにライトバックす
る。
が古いデータを命令キャッシュから読出す内容にするた
めにそれらの命令が提供される。
令は下記のフォームを持つことである。下記の命令で
は、var<a:b>は可変varのビットaないしb
である。
合に、除去命令およびコヒーレンスでない(incoh
ere)命令が類似の形態をとることができる。
画されない場合、すなわち、全体のキャッシュが単一の
区画であるとみなされる場合、にあてはまる。
のブロック図である。
る。
リの例である。
る。
示す線図である。
示す。
Claims (19)
- 【請求項1】一連の命令を実行することによりプロセス
を実行するプロセッサと、 前記命令、および前記命令に対するデータを保持する主
メモリと、 プロセッサと主メモリとの間のメモリアクセス経路中に
接続され、それぞれ主メモリ内の複数のアドレスのうち
のいずれかのデータをロードすることができる複数の記
憶場所を有するキャッシュとを備え、前記プロセッサ
は、(i)キャッシュ内の記憶場所の内容に対して実行
すべきオペレーションと、(ii)主メモリ内のアドレ
スと、を指定するキャッシュ・コヒーレンシー命令を含
む一連の命令を実行することができ、 さらに前記プロセッサは、前記キャッシュ・コヒーレン
シー命令を実行する際に、前記キャッシュ・コヒーレン
シー命令が指定する主メモリ内のアドレスのデータがキ
ャッシュ内の前記記憶場所に保持されているか否かとは
無関係に、実行中のプロセスで前記キャッシュ・コヒー
レンシー命令が指定する主メモリ内のアドレスを通常ア
クセスすることによりそのアドレスのデータを主メモリ
からロードすることができる前記記憶場所の内容に対し
て、前記キャッシュ・コヒーレンシー命令が指定するオ
ペレーションを実行する実行ユニットを含んでいる、コ
ンピュータシステム。 - 【請求項2】請求項1記載のコンピュータシステムであ
って、キャッシュの各記憶場所の内容は、主メモリ内の
アドレスと、主メモリ内のそのアドレスに記憶されてい
るデータとを含んでいるコンピュータシステム。 - 【請求項3】請求項1または2記載のコンピュータシス
テムであって、主メモリはページで編成され、各ページ
は一連のアドレスを含み、キャッシュ・コヒーレンシー
命令は主メモリ内のページのうち、オペレーションを実
行すべきページを指定し、オペレーションは指定された
ページ内の一連の各アドレスに対して実行されるコンピ
ュータシステム。 - 【請求項4】請求項1ないし3のいずれかに記載のコン
ピュータシステムであって、キャッシュは直接マップさ
れるコンピュータシステム。 - 【請求項5】請求項1ないし3のいずれかに記載のコン
ピュータシステムであって、キャッシュは複数のキャッ
シュ区画に区分され、アクセスされた主メモリ内のアド
レスのデータが前記キャッシュ区画のいずれにロードす
ることができるかはアクセスされた主メモリ内のアドレ
スに基づいて決定されるコンピュータシステム。 - 【請求項6】請求項5記載のコンピュータシステムであ
って、各キャッシュ区画は直接マップされるコンピュー
タシステム。 - 【請求項7】請求項5または6記載のコンピュータシス
テムであって、主メモリはページで編成され、各ページ
のサイズは、常に個々のキャッシュ区画のサイズ以上で
あるコンピュータシステム。 - 【請求項8】請求項1ないし7のいずれかに記載のコン
ピュータシステムであって、プロセッサはユーザー動作
モードと特権動作モードとを有し、キャッシュ・コヒー
レンシー命令はユーザー動作モードで実行されるコンピ
ュータシステム。 - 【請求項9】主メモリ内の複数のアドレスのデータをキ
ャッシュの各記憶場所にロードすることができるコンピ
ュータシステムにおいて、主メモリに保持されているデ
ータに関してキャッシュの内容のコヒーレンシー状態を
変更する方法であって、 (i)キャッシュ内の記憶場所の内容に対して実行すべ
きオペレーションと、 (ii)主メモリ内のアドレスとを指定するキャッシュ
・コヒーレンシー命令を実行する過程と、 前記キャッシュ・コヒーレンシー命令に応じて、前記キ
ャッシュ・コヒーレンシー命令が指定する主メモリ内の
アドレスのデータがキャッシュ内の前記記憶場所に保持
されているか否かとは無関係に、実行中のプロセスで前
記キャッシュ・コヒーレンシー命令が指定する主メモリ
内のアドレスを通常アクセスすることによりそのアドレ
スのデータを主メモリからロードすることができる前記
記憶場所の内容に対して、前記キャッシュ・コヒーレン
シー命令が指定するオペレーションを実行する過程とを
備える、主メモリに保持されているデータに関してキャ
ッシュの内容のコヒーレンシー状態を変更する方法。 - 【請求項10】請求項9記載の方法であって、各キャッ
シュ記憶場所の内容は主メモリ内のアドレスと、主メモ
リ内のそのアドレスに記憶されているデータとを含む方
法。 - 【請求項11】請求項10記載の方法であって、キャッ
シュ・コヒーレンシー命令が、前記キャッシュ内の前記
記憶場所に保持されているデータを前記主メモリ内のア
ドレスにライトバックするフラッシュ命令である方法。 - 【請求項12】請求項9または10記載の方法であっ
て、キャッシュ・コヒーレンシー命令が、キャッシュ内
の前記記憶場所の内容をクリアする除去命令である方
法。 - 【請求項13】請求項9ないし12のいずれかに記載の
方法であって、キャッシュ・コヒーレンシー命令が主メ
モリ内の一連のアドレスを指定し、実行中のプロセスで
前記キャッシュ・コヒーレンシー命令が指定する主メモ
リ内の一連のアドレスを通常アクセスすることによりそ
の一連のアドレスのデータをロードすることができる前
記記憶場所の内容に対して、前記キャッシュ・コヒーレ
ンシー命令が指定するオペレーションを実行する方法。 - 【請求項14】請求項9ないし13のいずれかに記載の
方法であって、主メモリはページで編成され、各ページ
は一連のアドレスを含み、キャッシュ・コヒーレンシー
命令は主メモリ内のページのうち、オペレーションを実
行すべきページを指定し、オペレーションは指定された
ページ内の一連の各アドレスに対して実行される方法。 - 【請求項15】請求項9ないし14のいずれかに記載の
方法であって、キャッシュは直接マップされる方法。 - 【請求項16】請求項9ないし14のいずれかに記載の
方法であって、前記キャッシュは複数のキャッシュ区画
に区分され、アクセスされた主メモリ内のアドレスのデ
ータが前記キャッシュ区画のいずれにロードすることが
できるかはアクセスされた主メモリ内のアドレスに基づ
いて決定される方法。 - 【請求項17】請求項16記載の方法であって、各キャ
ッシュ区画は直接マップされる方法。 - 【請求項18】請求項16または17記載の方法であっ
て、主メモリはページで編成され、各ページのサイズ
は、常に個々のキャッシュ区画のサイズ以上である方
法。 - 【請求項19】請求項9ないし18のいずれかに記載の
方法であって、プロセッサはユーザー動作モードと特権
動作モードとを有し、キャッシュ・コヒーレンシー命令
はユーザー動作モードで実行される方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB9704542.1A GB9704542D0 (en) | 1997-03-05 | 1997-03-05 | A cache coherency mechanism |
GB9704542.1 | 1997-03-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10293720A JPH10293720A (ja) | 1998-11-04 |
JP2968509B2 true JP2968509B2 (ja) | 1999-10-25 |
Family
ID=10808731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10053904A Expired - Lifetime JP2968509B2 (ja) | 1997-03-05 | 1998-03-05 | コンピュータシステム及びキャッシュの内容のコヒーレンシー状態を変更する方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6546467B2 (ja) |
EP (1) | EP0863464A1 (ja) |
JP (1) | JP2968509B2 (ja) |
GB (1) | GB9704542D0 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7000078B1 (en) * | 1999-10-01 | 2006-02-14 | Stmicroelectronics Ltd. | System and method for maintaining cache coherency in a shared memory system |
US6848026B2 (en) * | 2001-11-09 | 2005-01-25 | International Business Machines Corporation | Caching memory contents into cache partitions based on memory locations |
JP3900025B2 (ja) | 2002-06-24 | 2007-04-04 | 日本電気株式会社 | 共有キャッシュメモリのヒット判定制御方法及び共有キャッシュメモリのヒット判定制御方式 |
US8185602B2 (en) * | 2002-11-05 | 2012-05-22 | Newisys, Inc. | Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters |
JP4664586B2 (ja) * | 2002-11-11 | 2011-04-06 | パナソニック株式会社 | キャッシュ制御装置、キャッシュ制御方法、コンピュータシステム |
US20040225944A1 (en) * | 2003-05-09 | 2004-11-11 | Brueggen Christopher M. | Systems and methods for processing an error correction code word for storage in memory components |
US7047366B1 (en) * | 2003-06-17 | 2006-05-16 | Emc Corporation | QOS feature knobs |
KR100826757B1 (ko) | 2003-11-18 | 2008-04-30 | 마쯔시다덴기산교 가부시키가이샤 | 캐시 메모리 및 그 제어 방법 |
ATE407398T1 (de) * | 2004-10-25 | 2008-09-15 | Bosch Gmbh Robert | Verfahren und vorrichtung zur synchronisierung in einem mehrprozessorsystem |
DE102005037248A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigsterns zwei Ausführungseinheiten |
DE102005037250A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten |
DE102005037227A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten |
DE102005037247A1 (de) * | 2005-08-08 | 2007-02-15 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Steuerung eines Speicherzugriffs bei einem Rechnersystem mit wenigstens zwei Ausführungseinheiten |
JP2008026944A (ja) * | 2006-07-18 | 2008-02-07 | Renesas Technology Corp | バス結合型マルチプロセッサ |
US20090019232A1 (en) * | 2007-07-11 | 2009-01-15 | Freescale Semiconductor, Inc. | Specification of coherence domain during address translation |
WO2009153703A1 (en) * | 2008-06-17 | 2009-12-23 | Nxp B.V. | Multiprocessor system with mixed software hardware controlled cache management |
US9098417B2 (en) * | 2012-12-13 | 2015-08-04 | Advanced Micro Devices, Inc. | Partitioning caches for sub-entities in computing devices |
US20150331608A1 (en) * | 2014-05-16 | 2015-11-19 | Samsung Electronics Co., Ltd. | Electronic system with transactions and method of operation thereof |
KR102533241B1 (ko) | 2018-01-25 | 2023-05-16 | 삼성전자주식회사 | 적응적으로 캐시 일관성을 제어하도록 구성된 이종 컴퓨팅 시스템 |
US11841796B2 (en) * | 2021-01-21 | 2023-12-12 | Micron Technology, Inc. | Scratchpad memory in a cache |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4713755A (en) * | 1985-06-28 | 1987-12-15 | Hewlett-Packard Company | Cache memory consistency control with explicit software instructions |
EP0220451B1 (en) | 1985-10-30 | 1994-08-10 | International Business Machines Corporation | A cache coherence mechanism based on locking |
US5091846A (en) * | 1986-10-03 | 1992-02-25 | Intergraph Corporation | Cache providing caching/non-caching write-through and copyback modes for virtual addresses and including bus snooping to maintain coherency |
US5029070A (en) * | 1988-08-25 | 1991-07-02 | Edge Computer Corporation | Coherent cache structures and methods |
US5579503A (en) * | 1993-11-16 | 1996-11-26 | Mitsubishi Electric Information Technology | Direct cache coupled network interface for low latency |
US5515522A (en) * | 1994-02-24 | 1996-05-07 | Hewlett-Packard Company | Coherence index generation for use by an input/output adapter located outside of the processor to detect whether the updated version of data resides within the cache |
US5586297A (en) * | 1994-03-24 | 1996-12-17 | Hewlett-Packard Company | Partial cache line write transactions in a computing system with a write back cache |
US6122711A (en) * | 1997-01-07 | 2000-09-19 | Unisys Corporation | Method of and apparatus for store-in second level cache flush |
US5907853A (en) * | 1997-01-17 | 1999-05-25 | Hewlett-Packard Company | Method and apparatus for maintaining duplicate cache tags with selectable width |
EP0856798B1 (en) * | 1997-01-30 | 2004-09-29 | STMicroelectronics Limited | A cache system |
US6128706A (en) * | 1998-02-03 | 2000-10-03 | Institute For The Development Of Emerging Architectures, L.L.C. | Apparatus and method for a load bias--load with intent to semaphore |
GB9806184D0 (en) * | 1998-03-23 | 1998-05-20 | Sgs Thomson Microelectronics | A cache coherency mechanism |
US6412043B1 (en) * | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
-
1997
- 1997-03-05 GB GBGB9704542.1A patent/GB9704542D0/en active Pending
-
1998
- 1998-03-02 US US09/033,134 patent/US6546467B2/en not_active Expired - Lifetime
- 1998-03-04 EP EP98301617A patent/EP0863464A1/en not_active Ceased
- 1998-03-05 JP JP10053904A patent/JP2968509B2/ja not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
International Business Machines Corporation,「PowerPCアーキテクチャ」,初版,インターナショナル・トムソン・パブリッシング・ジャパン,1995年12月20日,p.297−304 |
Motorola Inc.,「MC68020ユーザーズ・マニュアル」,CQ出版株式会社,昭和63年5月30日,p.89−91 |
Also Published As
Publication number | Publication date |
---|---|
US6546467B2 (en) | 2003-04-08 |
GB9704542D0 (en) | 1997-04-23 |
US20020007442A1 (en) | 2002-01-17 |
JPH10293720A (ja) | 1998-11-04 |
EP0863464A1 (en) | 1998-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2968509B2 (ja) | コンピュータシステム及びキャッシュの内容のコヒーレンシー状態を変更する方法 | |
EP0856798B1 (en) | A cache system | |
JP3370683B2 (ja) | キャッシュシステム | |
US6351790B1 (en) | Cache coherency mechanism | |
US4298929A (en) | Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability | |
JP2833062B2 (ja) | キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置 | |
US5689679A (en) | Memory system and method for selective multi-level caching using a cache level code | |
US8806177B2 (en) | Prefetch engine based translation prefetching | |
US5715427A (en) | Semi-associative cache with MRU/LRU replacement | |
US5802574A (en) | Method and apparatus for quickly modifying cache state | |
US6711653B1 (en) | Flexible mechanism for enforcing coherency among caching structures | |
JPH0561770A (ja) | データ処理システムのコヒーレンス手段 | |
US6065099A (en) | System and method for updating the data stored in a cache memory attached to an input/output system | |
US7039768B2 (en) | Cache predictor for simultaneous multi-threaded processor system supporting multiple transactions | |
US20070113042A1 (en) | Sparse matrix | |
KR20070040340A (ko) | 소형 캐시 시스템에서 원자적 보존 라인에 라이트백하는것을 배제하는 방법 및 시스템 | |
JP2930071B2 (ja) | 情報処理装置およびプロセッサ | |
JPH0519176B2 (ja) | ||
JPH08314802A (ja) | キャッシュシステム、キャッシュメモリアドレスユニット、およびキャッシュメモリを動作させる方法 | |
EP0271187A2 (en) | Split instruction and operand cache management | |
JP2002116956A (ja) | キャッシュ制御方法及びキャッシュ制御システム | |
KR19980028842A (ko) | 리드/라이트 데이터 포워딩 경로를 가진 캐쉬 데이터 경로 회로 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080820 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090820 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100820 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100820 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110820 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120820 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130820 Year of fee payment: 14 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |