JP3473772B2 - キャッシュ・メモリを利用したデータ処理システム - Google Patents

キャッシュ・メモリを利用したデータ処理システム

Info

Publication number
JP3473772B2
JP3473772B2 JP12041593A JP12041593A JP3473772B2 JP 3473772 B2 JP3473772 B2 JP 3473772B2 JP 12041593 A JP12041593 A JP 12041593A JP 12041593 A JP12041593 A JP 12041593A JP 3473772 B2 JP3473772 B2 JP 3473772B2
Authority
JP
Japan
Prior art keywords
cache
address
array
data
bus
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 - Fee Related
Application number
JP12041593A
Other languages
English (en)
Other versions
JPH0644138A (ja
Inventor
ノーマン・エム・ヘイーズ
アダム・アラミイ
ラジヴ・エヌ・パテル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH0644138A publication Critical patent/JPH0644138A/ja
Application granted granted Critical
Publication of JP3473772B2 publication Critical patent/JP3473772B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1054Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently physically addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、キャッシュ・メモリを
利用したデータ処理システムに関するものであり、とり
わけ、クロック・サイクル毎に複数の命令を実行可能
な、マルチプロセッサをベースにしたシステムに関する
ものである。こうしたシステムに関するキャッシュ編成
が提案される。
【0002】
【従来の技術】コンピュータ・システムの動作全体を高
速化するため、コンピュータ・システムにはキャッシュ
が利用される。キャッシュの理論は、より大容量の低速
の主メモリと共に、小容量の超高速メモリをキャッシュ
として利用して高速化するということである。キャッシ
ュ・メモリは、通常、単一または複数のデータ処理装置
と主メモリの間で動作可能に配置される。プログラムが
必要とする際に、データ及び命令が主メモリから呼び出
されて、キャッシュ・メモリに置かれると、そのシステ
ムは、まずキャッシュ・メモリを調べて、必要な情報が
キャッシュにおいて得られるか否かを確かめる。この結
果、通常は、コンピュータ・システムがキャッシュ・メ
モリに所望の情報を見つけ、メモリがほとんど高速のキ
ャッシュ・メモリから構成されているかのような速度で
動作する。これは、統計的一時的配置、すなわちプロセ
スの特定の部分の利用したばかりの情報は引き続き利用
される可能性があるということの結果である。
【0003】キャッシュ・メモリの利用効率を高めるた
め、数多くのキャッシング装置が開発された。1つのア
プローチは、各データ処理装置毎に、2つのキャッシ
ュ、すなわち、最近利用された命令を記憶するためのキ
ャッシュ及び最近アクセスされたデータを記憶するため
のキャッシュを利用することである。キャッシュに記憶
されたデータに関連したタグ情報を記憶するため、さら
に小さいメモリ・アレイをキャッシュ・メモリと連係さ
せることが可能である。タグ・アレイに記憶されるアド
レスは、タグ・アレイに連係してキャッシュに保持され
たデータまたは命令に対応するデータを備える主メモリ
からのアドレスである。特定のアドレスの情報に対する
検索が要求されると、そのアドレスとタグ・アレイのア
ドレスの比較が行われる。そのアドレスが、タグ・アレ
イのアドレスと一致すると、キャッシュ・メモリからそ
の情報にアクセスし、一致しなければ、情報を求めて主
メモリにアクセスする。その情報はデータ処理装置によ
る利用のためにキャッシュ・メモリに送り込まれる。こ
うした装置については、コンピュータ・システムにおい
てページのタグ付けを行うための装置を開示した、本発
明の譲受人に譲渡された米国特許第4、969、122
号に開示がある。
【0004】現在、多くのプロセッサはプロセスを実行
するために仮想アドレス指定を利用しているので、キャ
ッシュ装置の設計において、仮想アドレス・キャッシュ
を維持すべきか、物理的アドレス・キャッシュを維持す
べきかを決定しなければならない。仮想アドレス・キャ
ッシュを利用することによって、与えられた仮想アドレ
スを物理的アドレスに変換する必要がなくなる。これ
は、プロセスの仮想アドレスが、タグ・アレイに記憶さ
れたアドレスに対応するためである。しかし、新しい各
プロセスが、キャッシュを利用すると、同じデータ及び
命令が用いられている場合でさえ、仮想アドレス指定が
異なることになるので、キャッシュ・メモリは、フラッ
シングしなければならない。
【0005】物理的アドレス指定には、タグ・アレイに
所望のデータまたは命令の主メモリにおける物理的アド
レスに対応するアドレスを記憶する必要がある。新しい
プロセスが開始し、新しい仮想アドレスが生成される
と、キャッシュ・タグ・アレイには物理的アドレスが記
憶されているので、データ及び命令は、やはり、主メモ
リの同じ位置に常駐することになり、キャッシュのフラ
ッシングが不要になる。キャッシュ・データに関する物
理的アドレス指定の欠点は、プロセスにおいて利用され
る仮想アドレスを物理的アドレスに変換しなければなら
ないということである。この変換は、アドレス変換バッ
ファ(TLB)を維持する、ある形態のメモリ管理装置
によって実施される。TLBは、所定のプロセスの仮想
アドレスと主メモリにおける関連の物理的アドレスとの
相互参照を維持することになる。従来、この変換に要す
る時間は、キャッシュに対する各参照毎に、1クロック
・サイクルであった。一般に、第1のクロック・サイク
ルにおいて、仮想アドレスが、物理的アドレスに変換さ
れ、次のクロック・サイクルにおいて、物理的アドレス
とキャッシュに記憶されたアドレスの比較を行って、所
望の命令またはデータが、キャッシュに存在するか否か
が判定される。変換に関するこの追加サイクルは、この
システムに極度な低速化の影響を及ぼす可能性がある。
【0006】最近のコンピュータ・システムには、デー
タ処理の速度を高める有効な手段として、複数のプロセ
ッサが利用されるようになってきた。多重処理システム
の各プロセッサは、上述のように、関連する命令及びデ
ータ・キャッシュ装置を備えることが可能である。独立
したキャッシングに複数のプロセッサを利用することに
よって生じる関心事は、主メモリの同じブロックからの
データを2つ以上のキャッシュに記憶することができる
という点である。これらのキャッシュに記憶されている
データの整合性は、維持されなければならない。整合性
の問題は、プロセッサが、排他的アクセスによって、オ
ブジェクトを書き込むこと、及び、オブジェクトの読み
取り時に、最も新しいコピーを有していることを確認す
ることである。物理的メモリのブロックからのデータに
関するコピーを有するキャッシュは、全て、それに関す
る情報のコピーも備えている。これらのキャッシュは、
通常、共用メモリ・バスに結合されており、各キャッシ
ュは、バスについてモニターまたはスヌープを行って、
キャッシュが共用ブロックのコピーを有しているか否か
を判定しなければならない。読み取りミスが生じると、
全てのキャッシュがチェックして、要求されたブロック
のコピーがキャッシュ内にあるか否かを確かめ、ミスを
生じたキャッシュにデータを供給するといった、適切な
アクションをとることができる。より重要なことは、書
き込みの際、各キャッシュは、コピーがキャッシュ内に
存在するか否かを確かめて、次に、コピーを無効にする
か、または、そのコピーを新しい値に変更するかを決定
する。
【0007】キャッシュの整合を有効に維持するため、
各クロック・サイクル毎に、スヌープの検出することが
望ましい。従来、2つのアプローチによって、検出され
るスヌープが処理されてきた。その1つは、データ・キ
ャッシュの各部分毎に、2つのタグ・アレイ、すなわ
ち、スヌープに従って更新されるタグ・アレイと、デー
タにアドレス指定するためのタグ・アレイを維持するこ
とである。もう1つのアプローチは、スヌープを検出し
て、キャッシュが更新される間、プロセッサを機能停止
させることであった。これらのアプローチには、両方と
も、システムの過剰なオーバヘッドまたは好ましくない
速度低下を必要とするという欠点がある。
【0008】これらの欠点は、複数命令を送ることが可
能なスーパースケーラ・タイプ・システムにおいて倍加
されることになる。クロック・サイクル毎に2つ以上の
命令を実行するシステムにおいて、スヌープを検出する
と、機能停止によって、このシステムが伝搬し得るクロ
ック・サイクル毎の命令数に応じて、そのサイクルに関
して、1つの命令ではなく、2つまたは3つ、あるい
は、潜在的可能性としては、それ以上の命令が損なわれ
ることになる。
【0009】キャッシュに関するこれ以上の説明につい
ては、1990年にMorganKaufmann P
ublishers,Inc.から刊行されたJ.L.
Hennessy及び D.A.Pattersonに
よるComputer Architecture A
Quantitatve Approach参照のこ
と。
【0010】
【発明が解決しようとする課題】本発明の目的は、キャ
ッシュ・メモリを利用したコンピュータ・システムの動
作を改良し、高速化することにある。
【0011】本発明の目的は、互換性があり、毎サイク
ル複数命令システムの利用が可能なキャッシュ装置を提
供することにある。
【0012】本発明の目的は、仮想メモリ・システムに
キャッシング装置を設けて、データ及び命令のキャッシ
ュ検索について、物理的アドレス指定及び単一クロック
・サイクルによる実施が行われるようにすることにあ
る。
【0013】本発明のもう1つの目的は、各クロック・
サイクル毎に、スヌープ及び更新を行って、機能停止を
生じることなく、あるいは、第2のタグ・アレイを必要
とせずに、整合性を維持することができるシステムを提
供することにある。
【0014】
【課題を解決するための手段】本発明の以上の及びその
他の目的は、複数のプロセッサのそれぞれについて、関
連する命令キャッシュ及びデータ・キャッシュを備える
コンピュータ・システムに用いられるキャッシュ装置に
よって実現される。キャッシュ装置の各コンポーネント
は、各クロック・サイクル毎に、スヌープだけでなく、
変換、比較、データ検索も完了するように、二重ポンピ
ングされる。このシステムは、キャッシュ装置内におけ
る各種コンポーネントの相対速度によって、変換のほう
が速く行われ、ヒットが生じた場合に、データにアドレ
ス指定されるのと同時に、選択が可能になるので、変換
とデータ検索を同時に行うことができる。こうした装置
の場合、各サイクル毎に実行可能な操作数が増し、プロ
セッサを機能停止させなければならない回数が減ること
になる。
【0015】本発明のキャッシュ装置は、データキャッ
シュと命令キャッシュの両方に共用されることになるア
ドレス変換バッファ(TLB)を用意している。各キャ
ッシュには、タグ・アレイ及びデータ・アレイが含まれ
ている。クロック・サイクルの1つの位相において、ペ
ージ識別子とオフセットからなる仮想アドレスが、TL
Bと、キャッシュ・タグ・アレイの1つ及びその関連す
るデータ・アレイに供給される。クロック・サイクルの
後続位相において、TLBと、他のキャッシュ・タグア
レイ及びその関連するデータ・アレイに、別の仮想アド
レスが供給されるので、クロック・サイクルの2つの位
相において、両方のキャッシュから検索を行うことがで
きる。交番位相において、一方のキャッシュにアドレス
指定されている場合には、もう一方のキャッシュは、検
出されたスヌープを自由に処理することができる。
【0016】
【実施例】表記及び用語法 以下の詳細な説明の一部は、コンピュータ・メモリ内に
おけるデータ・ビットに関する操作のアルゴリズム及び
記号表現によって行われている。これらのアルゴリズム
記述及び表現は、データ処理技術における技術者が、当
この技術の他の技術者にその仕事の内容を最も有効に伝
達するために用いる手段である。本書で示されるアルゴ
リズムは、特定のコンピュータまたは他の装置に固有の
関連性を備えるものではない。
【0017】アルゴリズムは、本書では、一般に、所望
の結果に導くことになる、筋の通ったシーケンスをなす
ステップとみなされる。これらのステップは、物理的量
の物理的操作を必要とするものである。必ずしもそうと
は限らないが、これらの量は、記憶し、転送し、組み合
わせ、比較し、さらに、別様の操作を加えることの可能
な電気的または磁気的信号の形をとるのが普通である。
主として、共通した慣習により、これらの信号をビッ
ト、値、要素、記号、文字、項、数等と呼ぶほうが便利
な場合もあることが分かっている。ただし、留意してお
くべきは、これらの及び同様の用語は、全て、適合する
物理的量に関連していなければならず、これらの量に適
用される便利なラベルにすぎないということである。
【0018】さらに、実施される操作は、一般に、人間
のオペレータが実施する精神的な操作に関連した、加算
または比較といった用語で表現されることが多い。本発
明の一部をなす本書に解説の操作のどれにおいても、人
間のオペレータのこうした能力は、ほとんどの場合、不
要であり、あるいは、望ましいものではない。これらの
操作は機械の操作である。本発明の操作を実施するのに
有効な機械には、汎用デジタル・コンピュータまたは他
の同様の装置がある。全ての場合において、コンピュー
タの操作に関する操作方法と計算自体の方法との区別に
留意しなければならない。本発明は、電気的または他の
(例えば、機械的、化学的、物理的)信号の処理におい
てコンピュータに操作を施し、他の所望の物理的信号を
発生するための装置及び方法のステップを明らかにする
ものである。
【0019】図1を参照すると、本発明の望ましい実施
例に基づくキャッシュ装置のブロック図が示されてい
る。この実施例の場合、命令キャッシュ10及びデータ
・キャッシュ20が別個に維持されている。命令キャッ
シュ10は、各ページが4キロバイト(KB)の5ペー
ジのメモリからなる5ウェイの連想キャッシュである。
各ページは主メモリからの64ブロックの64バイト命
令情報を維持している。命令タグ・アレイ15は、命令
キャッシュ・アレイ10に連係している。命令タグ・ア
レイ15の各ページは、64行のアドレスを維持してい
る。命令タグ・アレイ15及び命令キャッシュ・アレイ
10は、例えば、命令タグ・アレイ15の最初のページ
の10番目の行に、命令キャッシュ・アレイに保持され
た最初のページの10番目のブロックに対応する、主メ
モリにおける物理的アドレスが含まれるように関連づけ
られている。命令キャッシュ・アレイのデータの各ブロ
ック毎に、命令タグ・アレイ15の対応する行には、そ
のデータ・ブロックに対応する主メモリの位置の物理的
アドレスが含まれている。
【0020】データ・キャッシュ・アレイ20は、ま
た、ページ毎に128の32バイト・ブロックをなすよ
うに構成された4KBページも備えている。望ましい実
施例の場合、データ・キャッシュは4ウェイの連想キャ
ッシュである。データ・タグ・アレイ25はデータ・キ
ャッシュ・アレイに関連している。命令タグ・アレイ1
5の場合のように、データ・タグ・アレイは、データ・
キャッシュ・アレイ20に保持されたデータ・ブロック
の主メモリでの位置に相当する物理的アドレスを維持し
ている。図1には、キャッシュ・アレイから独立したコ
ンポーネントとしてタグ・アレイが示されているが、双
方同じ記憶デバイスに属することが可能である。
【0021】タグ・アレイに記憶されたアドレスは、デ
ータ・ブロックの主メモリにおける物理的アドレスを表
しているので、また、各プロセスは、実行時、仮想アド
レスを利用するので、キャッシュからデータを検索する
には、プロセッサが供給する仮想アドレスを変換する必
要がある。従って、望ましい実施例の構成では、64エ
ントリのフルアソシェティブ・アドレス変換バッファ
(TLB)30が供給される。プロセスの実行に関し
て、TLB30は、アクティブ仮想アドレスと実際の物
理的アドレスとの相互参照を維持する。望ましい実施例
のTLB30は、4KBのページとして維持される。新
しいプロセスが開始すると、TLBの相互参照アドレス
が、用いられる新しい仮想アドレスに対応するように更
新される。キャッシュ・タグ・アレイに記憶されている
物理的アドレスは、変化しないので、キャッシュ・デー
タをフラッシングする必要はない。
【0022】所定のキャッシュに関連したプロセッサ
が、命令またはデータ・ブロックを検索しようとする場
合、キャッシング装置に32ビット・アドレスを供給し
て、まず、キャッシュのチェックが行われる。プロセッ
サによって送られる32ビット・アドレスは、主メモリ
内の物理的アドレスに対応する、実行プロセスによって
生成される仮想アドレスである。キャッシュは、物理的
にアドレス指定を受けるので、キャッシュからメモリの
所望のブロックを検索するには、供給された仮想アドレ
スの変換が必要になる。従来は、検索操作の開始前に、
まず仮想アドレスの変換を行うことが必要とされた。し
かし、本発明では、キャッシュ・アレイ、タグ・アレ
イ、及び、TLBの相対的サイズの物理的効果を利用す
る。この利用について説明する前に、まず、プロセッサ
が供給する仮想アドレスを編成する方法について解説す
る必要がある。
【0023】図2には、プロセッサからそのキャッシュ
に検索のために伝送されるタイプの32ビット仮想アド
レスに関するブロック図である。このアドレスは、2つ
の部分から構成されていることが分かる。最初の20ビ
ットは、主メモリのページを選択するための仮想アドレ
スを表している。下位の12ビットは、所望のデータ・
ブロックを見つけるための、選択されたページに対する
索引を表している。この下位の12ビットは、仮想アド
レスから物理的アドレスへの変換時に、変換されない。
すなわち、このページの仮想アドレスは、主メモリのペ
ージに関する物理的アドレスに変換されるが、この12
ビットは、調べるべきページにおいて、同じままの部分
を示している。従って、所望のブロックの物理的アドレ
スを表したアドレスの上位の24ビットを判定するため
に、TLB30によって変換しなければならないのは、
上位の20ビットだけである。必要なページに関係な
く、下位の12ビットは、そのページのどこに所望のデ
ータが記憶されているかを指示する。
【0024】従って、アドレスは、どの検索が行われる
かに基づいて、TLB30、データまたは命令キャッシ
ュ・アレイ、及び、対応するタグ・アレイと並列に供給
される。例えば、プロセッサが、命令情報のブロックを
検索するため、32ビットの仮想アドレスを送る場合、
キャッシュからの検索方法は、それがキャッシュに存在
する場合には次のようになる。すなわち、ページに対す
る仮想アドレスを表した上位の20ビットが、変換のた
めにTLB30に送られ、所定のページに対する索引を
表した下位の12ビットが、命令キャッシュ・アレイ1
0及び命令タグ・アレイ15に供給される。望ましい実
施例の場合、所望のデータ・ブロックが命令キャッシュ
・アレイ10に存在するか否かが分からなくてもかまわ
ない。ページの検索及びページ・アドレスの変換を同時
に行おうとするように見えるが、実際には、TLB3
0、命令タグ・アレイ15、及び、命令キャッシュ・ア
レイ10の相対サイズから生じる物理的効果が存在す
る。
【0025】TLB30は、3つのアレイのうちで最小
のため、約9ナノ秒間で、20ビットの仮想ページ・ア
ドレスを24ビットの物理的ページ・アドレスに変換す
ることができる。命令タグ・アレイ15に供給される下
位の12ビットは、キャッシュ・アレイに保持されたデ
ータの物理的アドレスを保持するタグ・アレイ内の位置
に対応する。タグ・アレイのサイズのため、12ビット
の索引によって判定される位置に記憶された物理的アド
レスを求めるのに、約11ナノ秒かかる。その変換に要
する時間は、タグ・アレイのほうがTLB30よりも長
いので、20ビットの仮想ページ・アドレスに対応する
24ビットの物理的アドレスは、既に、タグ・アレイに
供給され、タグ・アレイに記憶された物理的ページ・ア
ドレスと比較されていることになる。
【0026】変換された物理的ページ・アドレスが、命
令タグ・アレイの各ページ毎に12ビットの索引によっ
て指示される位置の物理的ページ・アドレスと比較され
る。その1つが等しい場合、キャッシュ・アレイの対応
するページに記憶された命令データが、供給された仮想
アドレスによって検索しようとした主メモリのデータと
同じであることを示す、ヒットが生じる。
【0027】命令キャッシュ・アレイ10のサイズのた
め、12ビットの索引アドレスによってキャッシュ・ア
レイのページの所望の位置を選択するには、約14ナノ
秒を要することになる。これには、アドレスの比較また
は変換よりも時間がかかるので、ヒットが生じるか否か
が判定されるまでに、所望のブロックを適正な位置から
即座に検索することができる。MUX論理回路17は、
12ビットの索引によって、プロセッサに供給するため
の所望のデータ・ブロックを備えた命令キャッシュ・ア
レイ10のページを選択する、命令タグ・アレイ15に
よって駆動される。データ・キャッシュ・アレイ20か
ら所望のデータを検索する場合には、同じ手順が実施可
能であり、実施される。後述の理由から、命令キャッシ
ュ・アレイ10及びデータ・キャッシュ・アレイ20
は、単一TLB30を共用することが可能である。
【0028】仮想アドレスの下位の12ビットは、デー
タ・キャッシュ・アレイの所望の位置に索引を付けるた
めに変換する必要がないので、データ・キャッシュ・ア
レイの各ページは、212の位置、すなわち、4KBしか
備えていない。従って、4KB・ブロックのデータのペ
ージを維持するため、命令及びデータ・キャッシュ・ア
レイは、それぞれ、5ウェイの連想キャッシュ・アレイ
及び4ウェイの連想キャッシュ・アレイである。
【0029】本発明の望ましい実施例による実施は、ス
ーパースケーラ・プロセッサ、すなわち、クロック・サ
イクル毎に、2つ以上の命令を伝搬することが可能なプ
ロセッサによって行うことを意図したものである。命令
検索に関連した以上の複数の操作がクロック・サイクル
の1つの位相で実施されることになる。同様に、データ
・キャッシュからの検索が、クロック・サイクルのもう
1つの位相で実施されることになる。従って、クロック
の各サイクル毎に、命令検索とデータ検索の両方が、実
施されることになる。これは、クロック・サイクルの立
ち上がり区間と立ち下がり区間で実施される操作と呼ば
れる場合もある。望ましい実施例の場合、データ検索
は、各サイクルの立ち上がり区間で実施され、命令検索
は、立ち下がり区間で実施される。命令及びデータ・キ
ャッシュ操作が、クロック・サイクルの異なる位相で実
施されるので、望ましい実施例の実施は、両方の検索と
も、単一のTLBを利用することが可能である。サイク
ルの立ち上がり区間において、データに対応するデータ
のブロックに関する24ビットの物理的ページ・アドレ
スをデータ・タグ・アレイ25に対して出力するTLB
30によって変換されるのは、仮想データ・アドレスで
ある。キャッシュ装置の論理回路26は、変換されたア
ドレスが、データ・タグ・アレイ25において比較すべ
きであることを判定する。クロック・サイクルの立ち上
がり区間において、受信するのは、命令情報に関する3
2ビットの仮想アドレスであり、そのうちの20ビット
は、TLB30によって解読される。次に、論理回路2
6は、比較のために、変換されたアドレスを命令タグ・
アレイ15に送る。
【0030】図3には、数クロック・サイクルに関連さ
せた各種の操作を示すタイミング図が示されている。図
3のライン40は、数期間にわたるタイミング信号を示
している。ライン41には、クロック・サイクルに関連
して、サイクルの立ち上がり区間において、データ・キ
ャッシュ・アドレスがTLB30によって処理される方
法、及び、立ち下がり区間において、命令アドレスがT
LB30によって変換されることが示されている。図3
のライン42で示すように、各クロック・サイクルの立
ち上がり区間毎に、データ・キャッシュ・タグ・アレイ
25が、12ビットのデータを受信し、変換されたアド
レスが比較される。同様に、図3のライン44で示すよ
うに、各サイクルの立ち上がり区間毎に、ヒットが生じ
かどうかの検索のため、データ・アドレスがデータ・キ
ャッシュ・アレイ20に供給される。図3のライン43
及び45で示すように、クロック・サイクルの立ち下が
り区間に関して周期的に、ヒットが生じかどうか検索の
ためアドレス指定されるのは、命令キャッシュ・タグ・
アレイ15及び命令データ・キャッシュ・アレイ10で
ある。クロック・サイクル毎に、2つ以上の命令を出す
方法がいくつか存在する。本発明の望ましい実施例によ
る方法は、本出願と同時に提出され、本発明の譲受人に
譲渡された、「Method and Apparat
us forGrouped Instruction
s Simultaneously,and Exec
uting Grouped Instruction
sin a Pipelined Processo
r」と題する同時係属の出願に開示されている。
【0031】本発明は、その望ましい実施例の場合、多
重処理システムにおいて用いられることを意図したもの
であるため、取り組まなければならない重要な問題点が
もう1つある。多重処理システムでは、2つ以上のプロ
セッサが、実行中の場合、2つ以上のキャッシュが、主
メモリの同じ物理的位置からのデータを有している可能
性があるか、あるいは、有していそうでさえある。これ
らのキャッシュは、整合性がとれたままであることが必
須である。キャッシュの1つにおいてデータが変わる
と、そのデータを含む別のキャッシュは、古くなり、古
いデータに対するアドレス指定は行うべきではない。設
計の考慮事項では、他のキャッシュが新しいデータを実
際にコピーするか、あるいは、キャッシュ内のそのブロ
ックを無効にするだけで、必要とする場合に限って新し
いデータを検索するかの決定が行われる。プロセッサの
性能を劣化させることなく、こうした可能性のある不整
合を検出し、処理する互換性のある方法が必要である。
【0032】先行技術の場合、各データ・キャッシュ・
アレイ毎に、複数のタグ・アレイを用いるものもある。
各キャッシュは、図4に示すMバス40として識別され
るバスによって互いにリンクしている。データ・ブロッ
クが、マイクロプロセッサの1つに関連したキャッシュ
によって変更されると、信号がMバス40によって同報
通信される。この信号は、どのデータ・ブロックが影響
されたかを識別する。同じデータ・ブロックを含んでい
る全てのキャッシュが、そのブロックを無効にするか、
あるいは、新しい値に書き直さなければならない。第2
のタグ・アレイの場合、このタグ・アレイは、他のタグ
・アレイ及びキャッシュ・データが、中断されずにいる
間に、Mバスによって送られてくるアドレスとタグ・ア
レイのアドレスを比較する。
【0033】代替方法は、1つのタグ・アレイを維持す
ることであった。キャッシュ内の影響を受けたメモリ・
ブロックを見張ることをスヌープと呼ぶ。単一タグ・ア
レイ構成の場合、そのキャッシュ内のブロックが別のキ
ャッシュにおいて変更されたことを示すスヌープが検出
されると、Mバス40からのデータに基づいて、キャッ
シュが更新されるか、あるいは、無効になるまで、プロ
セッサの機能が停止される。
【0034】本発明の望ましい実施例は、スーパースケ
ーラ多重処理システムにおいて用いられるので、新規の
解決法が開発された。交番位相のクロック・サイクルに
おいて、クロック・サイクル毎に1回、命令キャッシュ
及びデータ・キャッシュにアクセスされるので、それぞ
れ、交番サイクルにおいては自由のままである。すなわ
ち、データ・キャッシュは、クロック・サイクルの立ち
上がり区間において、プロセッサに検索を行うだけであ
り、クロック・サイクルの立ち下がり区間においては用
いられない。従って、クロック・サイクルの立ち下がり
区間において、データ・キャッシュ・タグ・アレイ25
及びデータ・キャッシュ・アレイ20は、検出されたス
ヌープの処理を行うことができる。同様に、クロック・
サイクルの立ち上がり区間において、命令キャッシュ
は、スヌープの処理を行うことができる。従って、不整
合の処理において、サイクルが損なわれることはなく、
タグ・アレイを追加する必要がない。従って、図3のプ
ロセッサのアドレス指定による交番サイクルおけるライ
ン42及び43においてスヌープが指示されている。ク
ロック・パルスによって駆動される論理回路26は、キ
ャッシュに対する入力ストリーム間の、すなわち、プロ
セッサに駆動されるアドレスとMバス・スヌープ・アド
レスの間のスイッチを制御する。クロックは論理回路2
6のMUXに送り込まれる。位相の1つで、プロセッサ
からアドレスへ向け、もう1つの位相ではスヌープ・ア
ドレスに向けられる。
【0035】TLB30、タグ・アレイ15及び25、
及び、データ・キャッシュ・アレイ10及び20は、二
重ポンピングすると言われている。すなわち、それぞ
れ、高いスループットを得るため、サイクル毎に2回ず
つアクセスされる。クロック・サイクル毎に1つの命令
だけしか処理できない先行技術によるシステムでは、性
能を高めるためには、クロック速度を高くする必要があ
った。この二重ポンピングは、多重処理システムだけで
しか実施する必要がない。これは、サイクル毎に2つ以
上の命令を実施することの可能な、任意の単一プロセッ
サ・システムでも有効である。
【0036】さらに、データ・キャッシュ及び命令キャ
ッシュは、交番位相において、サイクル毎に1回だけし
か利用されないので、サイクルの1つの位相において、
Mバス40からの行充填を行い、一方、次の位相におい
て、読み取りを行うことによって、機能停止することな
く、行充填とキャッシュ・アクセスが同時に行えるよう
にすることが可能である。これが、図3のタイミング・
ライン44及び45において示されている。この結果、
ミス時のキャッシングが、従来のキャッシング・システ
ムで通常可能な速度より速くなる。
【0037】望ましい実施例に関連して、本発明の解説
を行ってきたが、当この技術の熟練者であれば、もちろ
ん、本発明の精神及び範囲を逸脱することなく、各種修
正及び変更を施すことが可能である。従って、本発明
は、付属の請求項によって判断するのが望ましい。
【図面の簡単な説明】
【図1】本発明の望ましい実施例に基づいて構成された
キャッシング・ハードウェアのブロック図である。
【図2】実行プロセスの仮想アドレスを形成するデータ
・ビットの配列を表した図である。
【図3】クロック・サイクルの交番位相において行われ
る各種操作を表したタイミング図である。
【図4】共用メモリ・バスによって、キャッシュをリン
クさせる、マルチ・プロセッサ・システムにおける2つ
のプロセッサを示すように構成された、ブロック図であ
る。
【符号の説明】
10 命令キャッシュ・アレイ 15 命令タグ・アレイ 20 データ・キャッシュ・アレイ 25 データ・タグ・アレイ 26 論理回路 30 TLB 32 キャッシング装置 40 Mバス
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アダム・アラミイ アメリカ合衆国 01890 マサチューセ ッツ州・ウィンチェスター・ワイルドウ ッド ストリート・39 (72)発明者 ラジヴ・エヌ・パテル アメリカ合衆国 95148 カリフォルニ ア州・サン ホゼ・ホワイトサンド ド ライブ・3116 (56)参考文献 特開 平4−44142(JP,A) 特開 昭54−118739(JP,A) 特開 昭57−169990(JP,A) 特開 昭62−3354(JP,A) 特開 昭64−26253(JP,A) 特開 昭63−240651(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/10

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくとも一つのCPU、少なくとも第
    1位相と第2位相を備えるサイクルを有するクロック、
    キャッシュ・データ・アレイとキャッシュ・タグ・アレ
    イを備えるキャッシュメモリ、前記キャッシュメモリを
    アクセスするため仮想アドレスを伝送する第1バス及び
    そのキャッシュメモリに他の情報を伝送する第2バスと
    を備えたコンピュータシステムにおいて、 前記クロックサイクルの第1位相において前記第1バス
    からのアクセスを受け、前記第2位相において前記第2
    バスからのスヌープ・アドレスを受け入れ可能にするよ
    前記第1及び第2バスに接続した第1キャッシュ・タ
    グ・アレイと、クロックサイクルの前記第1位相において第2バスから
    のスヌープ・アドレスを受け入れ可能にするとともにク
    ロックサイクルの前記第2位相において前記第1バスに
    よるアクセスを受けるよう前記第1及び第2バスに接続
    した第2キャッシュ・タグ・アレイとを有し、 これにより、検出されるスヌープ・アドレスが第2キャ
    ッシュ・タグ・アレイまたは第1キャッシュ・タグ・ア
    レイにより処理されている間、情報を取り出すためのア
    ドレスが前記第1キャッシュ・タグ・アレイまたは第2
    キャッシュ・タグ・アレイによって処理されるよう構成
    された ことを特徴とするコンピュータシステム。
  2. 【請求項2】 処理中に物理アドレスに対応する仮想ア
    ドレスを生成する少なくとも一つのCPU、少なくとも
    第1位相と第2位相を備えたサイクルを有するクロッ
    ク、それぞれが物理アドレスによりあらわされる複数の
    メモリ場所を有するメインメモリ、キャッシュメモリ装
    置、このキャッシュメモリ装置をアクセスするため前記
    仮想アドレスを伝送する第1バス及び前記キャッシュメ
    モリ装置に命令及びデータを含む他の情報を伝送する第
    2バスとを備えたコンピュータシステムに使用するキャ
    ッシュメモリ装置において、このキャッシュメモリ装置
    がそれぞれクロックサイクルの第1、第2位相における
    第1、第2の仮想アドレスを受けるよう前記第1バスに
    接続し、該第1、第2の仮想アドレスを物理アドレスに
    変換するTLB(アドレス変換バッファ)と、 前記TLBが前記第1の仮想アドレスを受けると同時に
    前記第1の仮想アドレスの下位ビットを受け、かつクロ
    ックサイクルの前記第1位相において索引付けされた場
    所に格納済みの物理アドレスを判定するため前記TLB
    により変換された物理アドレスを受けて前記TLBから
    の物理アドレスと前記索引づけされた場所にある前記格
    納済み物理アドレスとを前記下位ビットに基づき比較し
    てキャッシュヒットを判定するため前記第1バスと前記
    TLBに接続され、さらに第1バスからアクセスされて
    いないときスヌープ・アドレスをモニターするよう前記
    第2バスに接続された第1キャッシュ・タグ・アレイ
    と、 前記TLB及び前記第1キャッシュ・タグ・アレイが前
    記仮想アドレスを受け取ると同時に前記第1仮想アドレ
    スの下位ビットを受け取り、クロックサイクルの前記第
    1位相において前記第1キャッシュ・タグ・アレイによ
    り前記第1の仮想アドレスについてのキャッシュヒット
    が示されたとき前記索引付けされた場所からデータを前
    記CPUに出力するため前記第1バスに接続され、かつ
    前記第1バスからアクセスされていないときに情報を受
    け取るため前記第2バスに接続される第1キャッシュ・
    データ・アレイと、 前記TLBが前記第2の仮想アドレスを受けると同時に
    前記第2の仮想アドレスの下位ビットを受け、かつクロ
    ックサイクルの前記第2位相において索引付けされた場
    所に格納済みの物理アドレスを判定するため前記TLB
    により変換された物理アドレスを受けて前記TLBから
    の物理アドレスと前記索引づけされた場所にある前記格
    納済み物理アドレスとを前記下位ビットに基づき比較し
    てキャッシュヒットを判定するため前記第1バスと前記
    TLBに接続され、さらに第1バスからアクセスされて
    いないときスヌープ・アドレスをモニターするよう前記
    第2バスに接続された第2キャッシュ・タグ・アレイ
    と、 前記TLB及び前記第2キャッシュ・タグ・アレイが前
    記仮想アドレスを受け取ると同時に前記第2仮想アドレ
    スの下位ビットを受け取り、クロックサイクルの前記第
    2位相において前記第2キャッシュ・タグ・アレイによ
    り前記第2の仮想アドレスについてのキャッシュヒット
    が示されたとき前記索引付けされた場所からデータを前
    記CPUに出力するため前記第1バスに接続され、かつ
    前記第1バスからアクセスされていないときに情報を受
    け取るため前記第2バスに接続される第2キャッシュ・
    データ・アレイと、 を備え、前記第1仮想アドレスがクロックサイクルの
    1位相において前記TLB、前記第1のキャッシュ・タ
    グ・アレイ及び前記第1のキャッシュ・データ・アレイ
    に変換及びヒット判定のために供給され、前記第2仮想
    アドレスがクロックサイクルの第2位相において前記T
    LB、前記第2のキャッシュ・タグ・アレイ及び前記第
    2のキャッシュ・データ・アレイに供給されておのおの
    のクロックサイクルにて第1、第2のキャッシュ・デー
    タ・アレイからのキャッシングが行われることを特徴と
    するキャッシュメモリ装置。
  3. 【請求項3】 おのおのが少なくとも第1位相と第2位
    相とを有するクロックサイクルに応答し物理アドレスに
    対応する仮想アドレスを使用するマイクロプロセッサ、
    TLB(アドレス変換バッファ)と、下位ビットを保持
    する少なくとも一つの行を含む少なくとも一つのブロッ
    クをともに有する第1、第2のキャッシュ・タグ・アレ
    イ及び第1、第2のキャッシュ・データ・アレイとを備
    えるキャッシングシステムを有したスーパースケーラー
    マイクロプロセッサシステムにおける高速キャッシング
    方法において、この方法は、 クロックサイクルの第1位相中、前記TLB、前記第1
    キャッシュ・タグ・アレイ及び前記第1キャッシュ・デ
    ータ・アレイに同時に仮想アドレスを伝送するステップ
    と、 前記TLBにおいて前記仮想アドレスの上位ビットを対
    応する物理ページアドレスに変換し、前記第1キャッシ
    ュ・タグ・アレイに当該物理ページアドレスを供給する
    ステップと、 前記変換供給ステップに並列に、前記仮想アドレスの下
    位ビットにより示され、かつ前記第1キャッシュ・デー
    タ・アレイ内の対応する場所に保持されたデータの物理
    アドレスを保持する前記第1キャッシュ・タグ・アレイ
    の前記行に索引付けするステップと、 前記変換供給ステップに並列に、前記仮想アドレスの下
    位ビットにより示された前記第1キャッシュ・データ・
    アレイのブロックに索引付けするステップと、 前記変換された物理アドレスと前記第1キャッシュ・タ
    グ・アレイの索引行に格納された物理アドレスとを比較
    してキャッシュヒットであるか判定するステップと、 キャッシュヒットであるとき、前記マイクロプロセッサ
    が、前記第1キャッシュ・データ・アレイから前記索引
    付けされたデータ・ブロックに対するアクセスが行える
    ようにするステップと、 クロックサイクルの第2位相中、前記TLB、前記第2
    キャッシュ・タグ・アレイ及び前記第2キャッシュ・デ
    ータ・アレイに仮想アドレスを伝送するステップと、 前記TLBにおいて前記仮想アドレスの上位ビットを対
    応する物理ページアドレスに変換し、前記第2キャッシ
    ュ・タグ・アレイに当該物理ページアドレスを供給する
    ステップと、 前記変換供給ステップに並列に、前記仮想アドレスの下
    位ビットにより示され、かつ前記第2キャッシュ・デー
    タ・アレイ内の対応する場所に保持されたデータの物理
    アドレスを保持する前記第2キャッシュ・タグ・アレイ
    の前記行に索引付けするステップと、 前記変換供給ステップに並列に、前記仮想アドレスの下
    位ビットにより示された前記第2キャッシュ・データ・
    アレイのブロックに索引付けするステップと、 前記変換された物理アドレスと前記第2キャッシュ・タ
    グ・アレイの索引行に格納された物理アドレスとを比較
    してキャッシュヒットであるか判定するステップと、 キャッシュヒットであるとき、前記マイクロプロセッサ
    が、前記第2キャッシュ・データ・アレイから前記索引
    付けされたデータ・ブロックに対するアクセスが行える
    ようにするステップと、前記クロックサイクルの第1位相中前記第2キャッシュ
    ・タグ・アレイのスヌープ・アドレスをモニターするス
    テップと、 クロックサイクルの前記第2位相中前記第1キャッシュ
    ・タグ・アレイのスヌープ・アドレスをモニターするス
    テップと からなる方法。
JP12041593A 1992-04-29 1993-04-26 キャッシュ・メモリを利用したデータ処理システム Expired - Fee Related JP3473772B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US875,692 1992-04-29
US07/875,692 US5440707A (en) 1992-04-29 1992-04-29 Instruction and data cache with a shared TLB for split accesses and snooping in the same clock cycle

Publications (2)

Publication Number Publication Date
JPH0644138A JPH0644138A (ja) 1994-02-18
JP3473772B2 true JP3473772B2 (ja) 2003-12-08

Family

ID=25366209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12041593A Expired - Fee Related JP3473772B2 (ja) 1992-04-29 1993-04-26 キャッシュ・メモリを利用したデータ処理システム

Country Status (2)

Country Link
US (1) US5440707A (ja)
JP (1) JP3473772B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740613B2 (en) 2013-09-20 2017-08-22 Kabushiki Kaisha Toshiba Cache memory system and processor system
US10360151B2 (en) 2015-09-16 2019-07-23 Kabushiki Kaisha Toshiba Cache memory system including first cache memory and second cache memory having multiple regions with different access speed and processor system

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5905997A (en) * 1994-04-29 1999-05-18 Amd Inc. Set-associative cache memory utilizing a single bank of physical memory
US6223255B1 (en) * 1995-02-03 2001-04-24 Lucent Technologies Microprocessor with an instruction level reconfigurable n-way cache
US5897654A (en) * 1995-02-10 1999-04-27 International Business Machines Corporation Method and system for efficiently fetching from cache during a cache fill operation
US5659710A (en) * 1995-11-29 1997-08-19 International Business Machines Corporation Cache coherency method and system employing serially encoded snoop responses
US6199152B1 (en) 1996-08-22 2001-03-06 Transmeta Corporation Translated memory protection apparatus for an advanced microprocessor
US5875469A (en) * 1996-08-26 1999-02-23 International Business Machines Corporation Apparatus and method of snooping processors and look-aside caches
US6012131A (en) * 1996-11-06 2000-01-04 Hyundai Electronics Industries. Co., Ltd. High speed translation lookaside buffer employing content address memory
GB2323187B (en) * 1997-03-14 2001-09-19 Nokia Mobile Phones Ltd Data processing circuit using both edges of a clock signal
US5996048A (en) * 1997-06-20 1999-11-30 Sun Microsystems, Inc. Inclusion vector architecture for a level two cache
US6119204A (en) * 1998-06-30 2000-09-12 International Business Machines Corporation Data processing system and method for maintaining translation lookaside buffer TLB coherency without enforcing complete instruction serialization
US6230260B1 (en) 1998-09-01 2001-05-08 International Business Machines Corporation Circuit arrangement and method of speculative instruction execution utilizing instruction history caching
US6487671B1 (en) * 1998-09-29 2002-11-26 International Business Machines Corporation Elimination of turnaround cycles on multiplexed address/data buses
US6412043B1 (en) * 1999-10-01 2002-06-25 Hitachi, Ltd. Microprocessor having improved memory management unit and cache memory
US6529968B1 (en) * 1999-12-21 2003-03-04 Intel Corporation DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
JP2004094807A (ja) * 2002-09-03 2004-03-25 Toshiba Corp 命令キャッシュおよびマイクロプロセッサとその設計方法
US7234037B2 (en) * 2003-11-25 2007-06-19 International Business Machines Corporation Memory mapped Input/Output operations
US7552436B2 (en) * 2003-11-25 2009-06-23 International Business Machines Memory mapped input/output virtualization
US7206916B2 (en) * 2004-03-08 2007-04-17 Sun Microsystems, Inc. Partial address compares stored in translation lookaside buffer
US7460989B2 (en) * 2004-10-14 2008-12-02 International Business Machines Corporation Method and apparatus for modeling multiple concurrently dispatched instruction streams in super scalar CPU with a sequential language
US20060095690A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method, and storage medium for shared key index space for memory regions
US7552283B2 (en) * 2006-01-20 2009-06-23 Qualcomm Incorporated Efficient memory hierarchy management
US7502913B2 (en) 2006-06-16 2009-03-10 Microsoft Corporation Switch prefetch in a multicore computer chip
US8296482B2 (en) * 2010-06-27 2012-10-23 Intel Corporation Translating requests between full speed bus and slower speed device wherein the translation logic is based on snoop result and modified cache state
US20120124327A1 (en) 2010-11-17 2012-05-17 Mccombs Edward M Translation Lookaside Buffer Structure Including a Data Array Storing an Address Selection Signal
US10069727B2 (en) 2015-04-17 2018-09-04 International Business Machines Corporation Data packet retransmission processing
US20170002465A1 (en) 2015-06-30 2017-01-05 Lam Research Corporation Separation of Plasma Suppression and Wafer Edge to Improve Edge Film Thickness Uniformity

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4953930A (en) * 1989-03-15 1990-09-04 Ramtech, Inc. CPU socket supporting socket-to-socket optical communications
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5222222A (en) * 1990-12-18 1993-06-22 Sun Microsystems, Inc. Apparatus and method for a space saving translation lookaside buffer for content addressable memory
US5317711A (en) * 1991-06-14 1994-05-31 Integrated Device Technology, Inc. Structure and method for monitoring an internal cache
US5335335A (en) * 1991-08-30 1994-08-02 Compaq Computer Corporation Multiprocessor cache snoop access protocol wherein snoop means performs snooping operations after host bus cycle completion and delays subsequent host bus cycles until snooping operations are completed

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740613B2 (en) 2013-09-20 2017-08-22 Kabushiki Kaisha Toshiba Cache memory system and processor system
US10360151B2 (en) 2015-09-16 2019-07-23 Kabushiki Kaisha Toshiba Cache memory system including first cache memory and second cache memory having multiple regions with different access speed and processor system

Also Published As

Publication number Publication date
JPH0644138A (ja) 1994-02-18
US5440707A (en) 1995-08-08

Similar Documents

Publication Publication Date Title
JP3473772B2 (ja) キャッシュ・メモリを利用したデータ処理システム
EP0088239B1 (en) Multiprocessor cache replacement under task control
US7366829B1 (en) TLB tag parity checking without CAM read
US6920531B2 (en) Method and apparatus for updating and invalidating store data
US5392410A (en) History table for prediction of virtual address translation for cache access
KR920005280B1 (ko) 고속 캐쉬 시스템
US5694568A (en) Prefetch system applicable to complex memory access schemes
JP3927556B2 (ja) マルチプロセッサ・データ処理システム、変換索引バッファ無効化インストラクション(tlbi)のハンドリングを行うための方法、およびプロセッサ
US6105113A (en) System and method for maintaining translation look-aside buffer (TLB) consistency
US7617378B2 (en) Multiprocessor system with retry-less TLBI protocol
US6418515B1 (en) Cache flush unit
JP4065660B2 (ja) 機能が並列に分散された変換索引バッファ
WO2015057846A1 (en) Computer processor employing cache memory with pre-byte valid bits
US11775445B2 (en) Translation support for a virtual cache
JPH07295886A (ja) 階層メモリ、階層メモリを有するコンピュータ・システムおよび階層メモリ管理方法
CA2240616C (en) Cache address generation
JP3431878B2 (ja) マルチスレッド・プロセッサの命令キャッシュ
US6338128B1 (en) System and method for invalidating an entry in a translation unit
US5619673A (en) Virtual access cache protection bits handling method and apparatus
JPH0667981A (ja) アドレス変換バッファの置換えるエントリを選択する回路及び方法
US7076635B1 (en) Method and apparatus for reducing instruction TLB accesses
JP2845754B2 (ja) マルチプロセッサシステム
JPH06187244A (ja) アドレス変換バッファ機構
JP2507785B2 (ja) ペ―ジテ―ブルエントリ無効化装置
JPH0683709A (ja) データ処理装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees