JPH1124992A - バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え - Google Patents

バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え

Info

Publication number
JPH1124992A
JPH1124992A JP10139776A JP13977698A JPH1124992A JP H1124992 A JPH1124992 A JP H1124992A JP 10139776 A JP10139776 A JP 10139776A JP 13977698 A JP13977698 A JP 13977698A JP H1124992 A JPH1124992 A JP H1124992A
Authority
JP
Japan
Prior art keywords
address
virtual
cache
aliasing
aliased
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10139776A
Other languages
English (en)
Other versions
JP4021555B2 (ja
Inventor
Richard T Witek
ティー ウィーテック リチャード
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH1124992A publication Critical patent/JPH1124992A/ja
Application granted granted Critical
Publication of JP4021555B2 publication Critical patent/JP4021555B2/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/1063Address 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 virtually addressed

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)【要約】 (修正有) 【解決手段】 仮想アドレスエイリアシングをサポート
する装置においては、先ず、仮想キャッシュに対するア
ドレスがインターセプトされる。これらアドレスのエイ
リアシング(メモリの同じロケーションに対して1つよ
り多い仮想アドレスが存在する)があるかの決定がなさ
れる。そうでない場合には、それらアドレスは、単に、
仮想キャッシュへ通される。エイリアシングがある場合
には、デエイリアシングが行われる。新しいアドレスが
発生され、エイリアシングされていたアドレスが仮想キ
ャッシュの同じロケーションへ向けられるように仮想キ
ャッシュへと向けられる。 【効果】 CPUがエイリアシングされた仮想アドレス
を透過的に発することができるので、仮想アドレスエイ
リアシングを使用するオペレーティングシステムがサポ
ートされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的には、キャ
ッシュアドレスパスのハードウエア変更に関するもので
あり、より詳細には、仮想アドレスエイリアシングをサ
ポートする方法および装置に関するものである。
【0002】
【従来の技術】データ/命令キャッシュに対する仮想ア
ドレッシングは、物理アドレッシング技法に比べて利点
を有している。仮想アドレスを使用するソフトウエア
は、リローケーションに関連して有利であり、特に、多
重処理環境において有用である。さらに、ハードドライ
ブの如きより大きなデータストアにデータ/命令をキュ
ッシングすることにより、マシンに存在する物理メモリ
よりも大きなメモリを必要とするプログラムを実行する
ことができる。
【0003】しかしながら、典型的には、ハードウエア
は、仮想アドレッシングをサポートするために待ち時間
ペナルティを被る。ソフトウエアによって発生され中央
処理装置(CPU)または入力/出力(I/O)装置か
ら発せられる仮想アドレスは、先ず、翻訳バッファを使
用して仮想アドレスを物理アドレスへと変換するメモリ
管理装置(MMU)へと通されねばならない。それか
ら、この物理アドレスは、物理的にアドレスされるキャ
ッシュへと通される。しかしながら、これらのオペレー
タは、直列的であるため、すなわち、仮想−物理アドレ
ス翻訳に続いて物理アドレッシングを行なうので、情報
がキャッシュから戻されて受信されるまでに時間がかか
り、また、所望の情報がキャッシュに存在しないような
キャッシュミスの決定前に時間がかかってしまう。
【0004】仮想アドレッシングに通常伴うハードウエ
ア待ち時間を除去するようにした、仮想キャッシュ、す
なわち、仮想アドレッシングをサポートするキャッシュ
が開発されてきている。CPUからの仮想アドレスは、
MMUおよび仮想キャッシュへ並列に通される。MMU
は、キャッシュアドレッシングおよび物理アドレスのた
めの許可/アクセスを与え、仮想キャッシュは、アドレ
スされた情報を返すか、または、キャッシュミスを返
す。キャッシュミス状況においては、MMUの物理アド
レスが使用される。
【0005】仮想キャッシュで生ずる共通の問題点は、
エイリアシング、すなわち、多重の仮想アドレスがメモ
リの同じ物理アドレスにマッピングされてしまうことで
ある。このような場合には、ライトバックデータキャッ
シュに問題が生じ、主メモリへ戻されるまで、データが
有効な場所のみがキャッシュにあるように、ソフトウエ
アがそのキャッシュのデータを更新する。仮想キャッシ
ュにエイリアシングされた仮想アドレスが存在する場合
には、互いにインコヒーレントである仮想キャッシュの
部分が生じてしまう。データが戻されるとき、主メモリ
は、CPUによって元々キャッシュに対してなされた変
化の部分のみを含みうる。
【0006】ハードウエアは、どうしても仮想アドレス
エイリアシングの問題に直面する。それは、付加的ハー
ドウエアでサポートされるか、または、単に無効とされ
るか、すなわち、サポートされないかであり、これは、
そのソフトウエア両立性を制限する。
【0007】仮想アドレスエイリアシングに対するハー
ドウエアサポートは、バックマップの形をとる。これ
は、キャッシュと並列なタグストアである。バックマッ
プは、キャッシュミスに関して、アクセスされたブロッ
クが既にキャッシュに存在するがエイリアシングされた
アドレスの下にあるかを指示する。バックマップは、キ
ャッシュミスについてのみ調べられるようにクリチカル
パスの外にあるという点で利点がある。したがって、こ
れらは、待ち時間を増大しない。しかしながら、各キャ
ッシュロケーションに対して付加的なタグストアを設け
ねばならないという欠点がある。このために、多くのハ
ードウエアシステムは、仮想アドレスエイリアシングの
ためにバックマップを設けていない。
【0008】
【発明の概要】本発明は、プロセススロット粒度でキャ
ッシュアドレスに対してハードウエア変更をすることに
向けられている。このスケールでの仮想アドレスエイリ
アシングは、多重処理オペレーティングシステムにおい
ては普通である。本発明は、多重のエイリアシングされ
たアドレスのためのハードウエアサポートを提供するも
のであり、すなわち、CPUの観点から、アドレススペ
ースにおいて同じ物理アドレスに対する多重仮想アドレ
スをサポートする。しかしながら、この変更は、待ち時
間に実質的に影響を与えない。
【0009】本発明は、広義においては、仮想キャッシ
ュのためのアドレスを発生する方法および装置に関す
る。本発明は、オペレーティングシステムがアクティブ
プロセスの間でのエイリアシングの可能性を必要とする
だけであるような状況において最も有用である。より詳
細に述べると、本発明は、2つの仮想アドレスロケーシ
ョンに現在のプロセスのみが存在することを必要とする
システムにおける同じ物理アドレスに対する多重仮想ア
ドレスを効果的にサポートする。
【0010】次の実施例に関する説明は、仮想アドレス
エイリアシングをサポートする方法を特徴付けている。
仮想キャッシュおよび/またはメモリ管理装置に対する
アドレスは、先ず、インターセプトされ、そのアドレス
がエイリアシングされているかの判断がなされ、すなわ
ち、1つより多い仮想アドレスがメモリの同じロケーシ
ョンに存在するかの判断がなされる。もし、エイリアシ
ングされていな場合には、それらアドレスは、単に、仮
想キャッシュおよび/またはメモリ管理装置へ通され
る。しかしながら、エイリアシングがある場合には、デ
エイリアシング(dealiasing)が行われる。新しいアド
レスが発生され、仮想キャッシュおよび/またはメモリ
管理装置へと通され、エイリアシングされているアドレ
スが仮想キャッシュの同じロケーションへと向けられる
ようにされる。このようにして、仮想アドレスエイリア
シングを使用するオペレーティングシステムは、サポー
トされる。何故ならば、CPUは、透過的にエイリアシ
ングされた仮想アドレスを発し得るからである。しかし
ながら、これらのアドレスは、仮想キャッシュにおける
同じロケーションへ向けられ、それらアドレスは、キャ
ッシュの観点からはエイリアシングされていないように
なり、したがって、アドレススペースエイリアシングを
補償するために他のハードウエアを必要としないように
することができる。
【0011】好ましい実施例では、アドレスは、仮想キ
ャッシュおよびメモリ管理装置の両方へ通される。しか
しながら、ここで認識すべきことは、他の状況において
は、キャッシュまたはメモリ管理装置の個々に対するパ
スに関して本発明のデエリアザー(dealiaser)を実施す
るのが望ましいということである。
【0012】他の実施例では、仮想キャッシュは、現在
のプロセススロットとアクティブプロセススロットのう
ちの1つとの間でアドレスエイリアシングが存在する状
態で、別々のアクティブプロセスに対応するプロセスス
ロットへと分割される。現在のプロセススロットに対す
るアドレスは、エイリアシングされたアクティブプロセ
ススロットにアクセスするためにリダイレクションされ
る。これは、現在のプロセススロットに対するアドレス
を検出し、エイリアシングされたアクティブプロセスス
ロットにアクセスするように変更することによって達成
される。いくつかの実施例では、アドレスの高位ビット
のみを変更するだけでよい。
【0013】
【発明の実施の形態】次に、添付図面に基づいて、本発
明の好ましい実施例について、本発明をより詳細に説明
する。添付図面において、同様の参照符号は、同様の部
分を示すものである。また、これら図面は、尺度におい
て必ずしも同じでなく、むしろ、本発明の好ましい実施
例を例示するために強調がなされている。
【0014】あるいくつかのオペレーティングシステ
ム、例えば、Windows TM CEが有名であるが、これら
は、プロセス管理において仮想アドレスエイリアシング
を使用している。Windows TM CEの特定の例のコンテ
キストにおいては、オペレーティングシステムは、仮想
アドレススペースの下位の2つのギガバイト(GB)を
64スロット0..63に分割している。最上位仮想ア
ドレス(VA)ビットは、ユーザスペースとシステムス
ペースとの間で選択する。このビットは、ユーザスペー
スでクリアされる(VA<31>==0)。
【0015】ユーザスペースにおける最初のスロット、
すなわち、最上位7ビットが零に等しい(VA<31:
25>==0)仮想アドレスによって指定されるスロッ
ト0は、現在実行されているプロセスに対するものであ
る。スロット1から63(VA<31:25>==
1..63)は、このシステムによってサポートされる
63のアクティブプロセスを保持する。これらのプロセ
スの各々は、32メガバイト(MB)へ制限される。こ
のコンフィギュレーションは、図1に例示されている。
【0016】このような構成は、有用である。何故なら
ば、インタープロセスコミュニケーションを容易とする
からである。これらプロセスは、次のようにアドレスを
確立するだけで互いにアドレスする。 VA=procNum * 25+addressInProc ここで、procNum =1.63であり、すなわち、他のアク
ティブプロセスのうちの1つおよびaddressInProc =
0..1×1FFFFFF
【0017】仮想アドレスエイリアシングが起きる。何
故ならば、CPUをランさせている現在のプロセスまた
はアクティブプロセスは、そのスロット、すなわち、
1..63のうちの1つおよにスロット0の両方に対し
て仮想アドレススペースにてマップされる。図1の例で
は、スロット#4におけるプロセスは、現在のプロセス
であり、したがって、スロット#0にて見出される。こ
のようなオペレーティングシステムは、バックマッピン
グハードウエアを必要とするようなページレベルでの仮
想アドレスエイリアシングを必要としていない。その代
わりに、仮想アドレスエイリアシングは、サポートされ
たアプリケーションの間で、または、プロセススロット
スケールで起きる。
【0018】仮想アドレスデエリアザーの効果は、図2
に例示されている。スロット1..63プロセスパスに
おけるアクティブプロセスの任意の1つに対する仮想ア
ドレスは、仮想キャッシュを通して不変である。しかし
ながら、スロット0における現在のプロセスに対するど
のアドレスもハードウエアにおて、スロット1から63
におけるプロセスのうちの現在の1つへと、すなわち、
例示した例におけるスロット#4におけるプロセスへと
リダイレクションされる。
【0019】効果において、データおよび命令アドレス
パスに対して次のようなフィクスアップ(fix-up)がな
される。 ここで、va=CPUからのアドレス va′=仮想アドレスデエリアザーからのMMUおよび仮
想キャッシュへ送られた仮想アドレスであり、CPR
は、現在のプロセスの番号(1..63)を保持する付
加レジスタである。
【0020】図3は、本発明を使用したマイクロプロセ
ッサ10の構成を例示している。好ましい実施例では、
プロセッサは、StrongARM 1100型プロセッサである。一
般的には、レジスタファイル12は、読取りポートRN
およびRMを介して、データを演算論理装置(ALU)
および乗算器(Mul)14へ供給する。シフタ13
が、読取りポートRMに配置されており、シフトコント
ローラ36およびレジスタファイルポートRSによって
制御される。読取りポートRMは、また、PCマルチプ
レクサ15によって、新しいプログラムカウンタのため
のソースとして選択されうる。他のプログラムソースが
示されている。アドフォアインクレメンター(add-four
incrementer) 16が使用され、または、ALU14の
レッグまたはブランチ命令のための前のPCからの出力
をシフトする変位マルチプレクサ18が使用されうる。
【0021】PCマルチプレクサ15からの命令は、こ
れらの成分の観点からエイリアシングを除去するため
に、命令キャッシュ20および命令メモリ管理装置22
の前に本発明の仮想アドレスデエリアザー100に通さ
れる。結果として、MMU22における仮想キャッシュ
20または翻訳バッファは、エイリアシングされたアド
レスを有さず、したがって、エイリアシングをサポート
するための適当なハードウエアを必要としない。
【0022】データ側で、データ仮想キャッシュ24お
よびデータMMU26に対するロード/ストアアドレス
LD/STのソースは、LD/STマルチプレクサ28
である。これは、3つの入力から、すなわち、レジスタ
ファイル12からの読取りポートRN、ALU14から
の出力、または、バイトアドレスキャッシュ24におけ
る次の32ビットアドレスを選択するアドレスインクレ
メントー30を選択する。仮想キャッシュからのアドレ
スされたデータは、レジスタファイル12のロードバス
Lbusへ通される。
【0023】第2のデータデエリアザー100が、デー
タアドレスをデエイリアシングするために仮想データキ
ャッシュ24およびデータMMU26へのアドレスをイ
ンターセプトするように配置される。
【0024】図4は、命令またはデータ仮想キャッシュ
およびMMUのうちのどちらか、または両方のためのデ
エリアザー100の1つのハードウエア実施を示してい
る。32ビット仮想アドレスVA<31:0>が、AL
Uまたは他のソースからデエリアザー100で受け取ら
れる。その仮想アドレスの上位7ビットの値は、ロジッ
ク110において0と比較される。ロジック110は、
例えば、7入力NORゲートとして実施されうる。この
ロジック110の出力は、マルチプレクサ112のため
の選択ビットとして使用される。もし、仮想アドレスV
Aがスロット0において現在のプロセスに対するもので
ない場合には、その仮想アドレスは、デエリアザーを通
して不変のままVA′としてMMUおよび仮想キャッシ
ュの両方へ通される。何故ならば、マルチプレクサ11
2は、そのsel =0入力でVAを通すからである。しか
しながら、もし、アドレスがスロット0において現在の
プロセスのためのものである場合には、その仮想アドレ
スの下位25ビットは、デエリアザー100のマルチプ
レクサ112に通される。上位7ビットは、1..63
アクティブプロセススロットの中で現在のプロセスのス
ロットアドレスへと変えられる。これらの7ビットの値
は、現在プロセスレジスタ(CPR)114に保持され
る。これにより、仮想キャッシュは、レンジ0..0×
1FFFFFFにおけるアドレスに対するすべての基準
を知り、CPR * 225 +0..+0×1FFFFFFに対
する同様の基準をルックさせられる。このようなフィク
スアップにより、仮想キャッシュの観点から仮想エイリ
アシングを避けつつ、現在のプロセスもスロット#0に
あるとの仮定の下でのCPUのファンクションを行える
ようにすることができる。このようにして、本発明は、
バックマップを付加したり、各コンテキストスイッチ毎
にキャッシュをフラッシュする必要なしに、制限された
仮想アドレスエイリアシングをサポートする。
【0025】好ましい実施例について本発明を特に説明
してきたのであるが、当業者には、本発明の範囲から逸
脱することなく、それら実施例について種々な変更をな
すことができるものであることは、理解されよう。
【図面の簡単な説明】
【図1】プロセススロットスケール仮想アドレスエイリ
アシングを必要とするオペレーティングのための仮想ア
ドレスマップを示す図である。
【図2】制限されたエイリアシングをサポートするため
本発明の一実施例によって行われる仮想アドレス翻訳を
例示するアドレスマップを示す図である。
【図3】マイクロプロセッサの内部アーキテクチャおよ
び本発明のデエリアザーの好ましい実施例の関係を例示
するブロック図である。
【図4】本発明の好ましい実施例の一つのハドウエア実
施例を示す図である。
【符号の説明】
10 マイクロプロセッサ 12 レジスタファイル 13 シフタ 14 演算論理装置および乗算器 15 PCマルチプレクサ 16 アドフォアインクレメンター 18 変位マルチプレクサ 20 命令キャッシュ 22 命令メモリ管理装置 24 データ仮想キャッシュ 26 データMMU 28 LD/STマルチプレクサ 30 アドレスインクレメンター 36 シフトコントローラ 100 データデエリアザー 110 ロジック 112 マルチプレクサ 114 現在プロセスレジスタ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 仮想アドレスエイリアシングをサポート
    する方法において、仮想キャッシュおよび/またはメモ
    リ管理装置に対するアドレスをインターセプトし、前記
    アドレスがエイリアシングされているかを決定し、も
    し、それらアドレスがエイリアシングされていない場合
    には、前記仮想キャッシュおよび/またはメモリ管理装
    置へ前記アドレスを通し、もし、それらアドレスがエイ
    リアシングされている場合には、前記アドレスから新し
    いアドレスを形成して該新しいアドレスを前記仮想キャ
    ッシュおよび/またはメモリ管理装置へ通すことを特徴
    とする方法。
  2. 【請求項2】 前記仮想キャッシュを別々のアクティブ
    プロセスに対応するプロセススロットへと分割すること
    を更に含む請求項1記載の方法。
  3. 【請求項3】 異なるアクティブプロセスに対応するス
    ロットの間に仮想アドレスエイリアシングを与えること
    を更に含む請求項2記載の方法。
  4. 【請求項4】 前記アクティブプロセスのうちの現在の
    アクティブプロセスに対する仮想アドレスをエイリアシ
    ングし、前記現在のプロセスに対するアドレスエイリア
    シングをせずに、前記仮想キャッシュおよび/またはメ
    モリ管理装置がアドレスされるように、前記新しいアド
    レスを形成することを更に含む請求項3記載の方法。
  5. 【請求項5】 現在のプロセスに常に割り当てられてい
    るアドレススペースにおける該現在のプロセスのアクテ
    ィブプロセスのうちの現在のアクティブプロセスを付加
    的に捜し出すことを更に含み、前記新しいアドレスを形
    成するステップは、前記現在のプロセススロットに対す
    るアドレスを検出し、該アドレスを変更して、前記アク
    ティブプロセスのうちの現在のアクティブプロセスを保
    持する前記仮想キャッシュのセクションに対する新しい
    アドレスを発生することを含む請求項2記載の方法。
  6. 【請求項6】 前記仮想アドレスを変更するステップ
    は、前記仮想アドレスの高位ビットを前記アクティブプ
    ロセスのうちの現在のアクティブプロセスのアドレスへ
    と変えることを含む請求項5記載の方法。
  7. 【請求項7】 仮想キャッシュのためのアドレスを発生
    する仮想アドレスデエリアザーにおいて、前記アドレス
    がエイリアシングされているかを決定する比較ロジック
    と、前記仮想アドレスがエイリアシングされていないと
    前記比較ロジックが決定する場合に前記アドレスを仮想
    キャッシュおよび/またはメモリ管理装置へと通し、且
    つ前記アドレスがエイリアシングされている場合に前記
    アドレスから新しいアドレスを形成して該新しいアドレ
    スを前記仮想キャッシュおよび/またはメモリ管理装置
    へと通す選択ロジックとを備えることを特徴とする仮想
    アドレスデエリアザー。
  8. 【請求項8】 前記比較ロジックは、前記仮想アドレス
    が現在のプロセスを保持するだけであるアドレススペー
    スのセクションに対するものであるかを決定する請求項
    7記載のデエリアザー。
  9. 【請求項9】 前記選択ロジックは、前記比較ロジック
    が前記現在のプロセスのセクションに対するアドレスを
    検出するときに、前記現在のプロセスを保持してもいる
    アドレススペースの他のセクションに対する新しいアド
    レスを発生する請求項8記載のデエリアザー。
  10. 【請求項10】 前記アクティブプロセスのうちの現在
    のアクティブプロセスを記憶する現在プロセスレジスタ
    を更に備えており、前記選択ロジックは、前記現在プロ
    セスレジスタの内容を前記新しいアドレスの高位ビット
    として通す請求項7記載のデエリアザー。
JP13977698A 1997-05-23 1998-05-21 バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え Expired - Fee Related JP4021555B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/863084 1997-05-23
US08/863,084 US6061774A (en) 1997-05-23 1997-05-23 Limited virtual address aliasing and fast context switching with multi-set virtual cache without backmaps

Publications (2)

Publication Number Publication Date
JPH1124992A true JPH1124992A (ja) 1999-01-29
JP4021555B2 JP4021555B2 (ja) 2007-12-12

Family

ID=25340200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13977698A Expired - Fee Related JP4021555B2 (ja) 1997-05-23 1998-05-21 バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え

Country Status (3)

Country Link
US (1) US6061774A (ja)
EP (1) EP0880098A3 (ja)
JP (1) JP4021555B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134956A (ja) * 2004-02-06 2010-06-17 Intel Corp 状況切換え環境中におけるアドレス変換技術

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671762B1 (en) * 1997-12-29 2003-12-30 Stmicroelectronics, Inc. System and method of saving and restoring registers in a data processing system
US6167459A (en) * 1998-10-07 2000-12-26 International Business Machines Corporation System for reassigning alias addresses to an input/output device
US6560690B2 (en) 2000-12-29 2003-05-06 Intel Corporation System and method for employing a global bit for page sharing in a linear-addressed cache
GB2372589B (en) * 2001-02-21 2003-01-22 3Com Corp Memory aliasing in a processor system
US20040117589A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corp. Interrupt mechanism for a data processing system having hardware managed paging of disk data
US20040117590A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corp. Aliasing support for a data processing system having no system memory
US20040117583A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corporation Apparatus for influencing process scheduling in a data processing system capable of utilizing a virtual memory processing scheme
US7017024B2 (en) * 2002-12-12 2006-03-21 International Business Machines Corporation Data processing system having no system memory
US20040117587A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corp. Hardware managed virtual-to-physical address translation mechanism
US20040117588A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corporation Access request for a data processing system having no system memory
US20050055528A1 (en) * 2002-12-12 2005-03-10 International Business Machines Corporation Data processing system having a physically addressed cache of disk memory
US7130983B1 (en) * 2003-12-17 2006-10-31 Storage Technology Corporation System and method for reference count regeneration
US7096341B1 (en) * 2003-12-17 2006-08-22 Storage Technology Corporation System and method for reference count regeneration
US7240179B1 (en) * 2004-12-13 2007-07-03 Nvidia Corporation System, apparatus and method for reclaiming memory holes in memory composed of arbitrarily-sized memory devices
US8473964B2 (en) 2008-09-30 2013-06-25 Microsoft Corporation Transparent user mode scheduling on traditional threading systems
US9996390B2 (en) 2014-06-10 2018-06-12 Samsung Electronics Co., Ltd. Method and system for performing adaptive context switching
US9842051B1 (en) * 2015-03-25 2017-12-12 Marvell International Ltd. Managing aliasing in a virtually indexed physically tagged cache

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4400770A (en) * 1980-11-10 1983-08-23 International Business Machines Corporation Cache synonym detection and handling means
US4488256A (en) * 1981-11-23 1984-12-11 Motorola, Inc. Memory management unit having means for detecting and preventing mapping conflicts
US5119290A (en) * 1987-10-02 1992-06-02 Sun Microsystems, Inc. Alias address support
US5826057A (en) * 1992-01-16 1998-10-20 Kabushiki Kaisha Toshiba Method for managing virtual address space at improved space utilization efficiency
US5287508A (en) * 1992-04-07 1994-02-15 Sun Microsystems, Inc. Method and apparatus for efficient scheduling in a multiprocessor system
US5680577A (en) * 1995-04-27 1997-10-21 International Business Machines Corporation Method and system for processing multiple requests for data residing at the same memory address
US5787474A (en) * 1995-11-20 1998-07-28 Advanced Micro Devices, Inc. Dependency checking structure for a pair of caches which are accessed from different pipeline stages of an instruction processing pipeline
US5802567A (en) * 1996-10-31 1998-09-01 International Business Machines Corporation Mechanism for managing offset and aliasing conditions within a content-addressable memory-based cache memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134956A (ja) * 2004-02-06 2010-06-17 Intel Corp 状況切換え環境中におけるアドレス変換技術

Also Published As

Publication number Publication date
EP0880098A3 (en) 2000-12-20
EP0880098A2 (en) 1998-11-25
JP4021555B2 (ja) 2007-12-12
US6061774A (en) 2000-05-09

Similar Documents

Publication Publication Date Title
US10740249B2 (en) Maintaining processor resources during architectural events
EP0797149B1 (en) Architecture and method for sharing tlb entries
US7197585B2 (en) Method and apparatus for managing the execution of a broadcast instruction on a guest processor
US7194597B2 (en) Method and apparatus for sharing TLB entries
US7165164B2 (en) Method and apparatus including heuristic for sharing TLB entries
JP4021555B2 (ja) バックマップを有しないマルチセット仮想キャッシュでの制限された仮想アドレスエイリアシングおよび高速コンテキスト切換え
US6738889B2 (en) Apparatus and method for providing simultaneous local and global addressing with hardware address translation
EP1096385A1 (en) A method and apparatus for forming an entry address
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
EP0506236A1 (en) Address translation mechanism
US20030120892A1 (en) System and method for employing a global bit for page sharing in a linear-addressed cache
US7552254B1 (en) Associating address space identifiers with active contexts
US7444636B2 (en) Method and system of determining attributes of a functional unit in a multiple processor computer system
Smith Design of CPU cache memories

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050517

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070416

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070717

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070717

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070814

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070927

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees