JPH10187538A - 仮想アドレス変換資源の共用化の方法及びシステム - Google Patents

仮想アドレス変換資源の共用化の方法及びシステム

Info

Publication number
JPH10187538A
JPH10187538A JP9114690A JP11469097A JPH10187538A JP H10187538 A JPH10187538 A JP H10187538A JP 9114690 A JP9114690 A JP 9114690A JP 11469097 A JP11469097 A JP 11469097A JP H10187538 A JPH10187538 A JP H10187538A
Authority
JP
Japan
Prior art keywords
code
data
context identifier
context
address
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
Application number
JP9114690A
Other languages
English (en)
Inventor
Ahmed Hassan Mohamed
アーメド・ハッサン・モハメド
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 JPH10187538A publication Critical patent/JPH10187538A/ja
Pending 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/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation

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つのプロセスからの要求
を処理するコアユニットを含む。該プロセスは、第1コ
ード・コンテキスト識別子を有するセグメントを備える
コード部分と、第1データ・コンテキスト識別子を備え
るデータ部分を有する。プロセッサは、コード・アドレ
ス変換を記憶する第1記憶デバイス、データ・アドレス
変換を記憶する第2記憶デバイス、コアユニットと第1
記憶デバイスとに結合され第2コード・コンテキスト識
別子を記憶するコード・コンテキスト・レジスタ、及び
コアユニットと第2記憶デバイスとに結合され第2デー
タ・コンテキスト識別子を記憶するデータ・コンテキス
ト・レジスタを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にコンピュー
タ・システムの分野に関する。特に、本発明は、メモリ
管理サブシステムに関する。
【0002】
【従来の技術】オペレーティング・システムについての
主たる関心は、コンピュータ・ハードウエアに存する制
限された量の物理メモリに鑑みると種々のプロセスに対
する記憶割振りを管理することにある。設計者は、主記
憶装置内のどこにプロセスが置かれるかを、またプロセ
スがその実行中に変更されるときいかにメモリがプロセ
スに対して割り振られるかを決定しなければならない。
全てのオペレーティング・システムに共通する1つの問
題は、メモリが疎状態(sparse)になったときの
メモリアドレッシングの処理の仕方を決定することであ
る。この問題と取り組むため、多数のオペレーティング
・システムが仮想記憶アドレッシングを採用してきた。
【0003】仮想記憶アドレッシングは、プログラマ及
びコンパイル・システムがハードウエア・アーキテクチ
ャにより強いられるアドレスよりむしろ作業するのに便
利なアドレスを選定することを可能にする。これは、オ
ペレーティング・システムが物理メモリにおいて利用で
きる空間より多くの空間を要求するプログラムを実行す
ることを可能にする。プログラムが実行するにつれ、プ
ログラムは、物理アドレスへ透過的に変換される仮想ア
ドレスを用いることによりコード及びデータを参照す
る。実行するため、プログラムは、物理メモリに存在し
なければならず、プログラムはそのコード及びデータの
双方に対して実アドレスを持たねばならない。こうし
て、変換機構が、実行時に仮想記憶アドレスを物理記憶
アドレスに変換するため必要とされる。仮想アドレスを
物理記憶アドレスにマップするため、マッピング機能が
用いられる。このマッピング機能は、仮想アドレスを取
り出し、所定のアドレス・マッピングを用いることによ
り該仮想アドレスを物理アドレスに変換する。
【0004】非限定的例示において、仮想アドレスは、
3つの部分、即ち、図1に示される前向き(forwa
rded)のページ・テーブル構造(scheme)に
おいて示されるそのページ内における仮想セグメント番
号111、仮想ページ番号112及びオフセット113
を含む。仮想セグメント番号111、仮想ページ番号1
12及びオフセット113は、実行時に物理ページ番号
(ページ・フレーム番号とも呼ばれる。)とオフセット
に変換される。ソフトウエア技術とハードウエア技術の
組合せを用いて、仮想アドレスが、セグメント・テーブ
ル130及びページ・テーブル140内に探索され、物
理ページ番号を発生する。前向きのページ・テーブル構
造100は、コンテキスト・テーブル120、セグメン
ト・テーブル130及びページ・テーブル140の3つ
の異なるテーブルに連続的にアクセスすることにより仮
想アドレス110を物理アドレス150へ変換すること
に関わる。詳細には、仮想アドレス110は、メモリ管
理ユニット(MMU)の初期化中に設定されたプロセッ
サ・レジスタ(即ち、ルート・テーブル・ポインタ11
5)の内容とコンテキスト・レジスタ116内の情報と
を最初に組み合わせることにより物理アドレス150に
変換される。コンテキスト・レジスタ116は、同じ仮
想アドレスをたまたま所有するプロセスを独特に識別す
る情報を記憶する記憶要素(例えば、プロセッサ・レジ
スタ)である。ルート・テーブル・ポインタ115をコ
ンテキスト・レジスタ116の情報と組合せことによ
り、コンテキスト・テーブル120のエントリ121へ
のポインタが生成される。このエントリ121は、セグ
メント・テーブル130内のエントリ131の内容をア
クセスするための索引として用いられる。エントリ13
1は、仮想アドレス110のセグメント部分111の内
容により設定されたエントリ131のベースアドレスを
有する。同様に、エントリ131の内容が、ページ・エ
ントリ141の内容をアクセスするため、ページ部分1
12をページ・テーブル141のベースアドレスとして
有する、該ページ・テーブル140に対する索引として
用いられる。ページ・エントリ141の内容が、仮想ア
ドレス110のページ・オフセット113と組み合わさ
れ、物理アドレス150を形成する。
【0005】図1に示されるページ・テーブルのような
ページ・テーブルは、物理メモリに通常保持されている
データ構造である。仮想アドレスが参照される度毎に、
仮想アドレスが、それと対応する物理アドレスを生じる
ためこのテーブルの中に探索されねばならない。しかし
ながら、オペレーティング・システムが仮想ページを必
要とする度毎にこのテーブルを探索するのは非常に時間
を消費することになる。図1に示されるテーブルは、代
替として、プロセッサ・チップにしばしば組み込まれた
連想メモリの中に、より都合よく記憶され得る。
【0006】アーキテクチャの数の増大は、ソフトウエ
アにより管理された変換ルックアサイド(look−a
side)・バッファ(TLB)を介して仮想メモリの
支援を与える。これは、アドレス変換ページ・テーブル
を保持するため巨大容量の物理メモリを必要とする64
ビット・アドレス・ページの出現に主として起因する。
図2に示されるソフトウエアにより管理されたTLB
170は、最も最近の仮想アドレスを物理アドレスに変
換(the recent virtualto ph
ysical address translatio
ns)する小さい連想キャッシュであり、オペレーティ
ング・システムにより管理されている。TLB 170
は、データ部分174及びタグ部分176を含む多数の
変換エントリ172を含む。タグ部分176は、仮想ア
ドレス231と、プロセスを独特に識別するプロセス・
コンテキスト識別(「コンテキストID」)178とを
含む。データ部分174は、物理ページ番号180とペ
ージ属性(例えば、保護、参照、修正等)187とを含
む。プロセスがアドレスを参照するとき、プロセッサは
仮想アドレスをTLBの中に探索する。仮想アドレスが
TLBの中に見いだされない場合、現在実行しているプ
ロセスの実行が中断され、例外が発生される(障害又は
トラップ)。例外処理ハンドラが、主記憶装置内のペー
ジ・テーブルを探索して、キャッシュ連想メモリに見い
だされなかった仮想アドレスと対応するエントリが存在
するかを調べる。エントリが見つかるならば、このペー
ジについての変換情報がキャッシュ連想メモリ(TL
B)の中に置かれる。次いで、TLBミス(miss)
を起こした命令が再実行される。こうして、仮想アドレ
スが再びTLB内に探索されるが、今度は仮想アドレス
がTLB内に見いだされ物理アドレスに変換され、次い
で該物理アドレスにプロセッサがアクセスすることが可
能となる。
【0007】ユニックス・システムV リリース4(U
NIX System V release 4)にお
いて、プロセスのアドレス空間は、セグメントあるいは
領域と呼ばれる異なるセクションに分割される。セグメ
ントは仮想アドレス空間の連続部分である。セグメント
は、プロセスがそのアドレス空間の部分を他のプロセス
と共用することを可能にする便利な方法を提供する。セ
グメントはまた、オペレーティング・システムがプロセ
ス1アドレス空間を保護することを可能にし、その結果
プロセス自身はプロセス1アドレス空間を変えることが
できない。図3は、テキスト・セグメント204、デー
タ・セグメント206及びスタック・セグメント208
を含むプロセス・アドレス空間202を示す。テキスト
・セグメントは、通常、プロセスのための実行可能コー
ド(即ち機械語命令)を含む。一般に、このセグメント
は、読出し専用とマークされ、その結果プロセスはそれ
自身のコードを変えることができず、あるいは他のプロ
セスがそのコードを変えることができない。テキスト・
セグメントは、同じコードを実行する多くのプロセスの
間で共用され得る。例えば、特定のプログラムを同時に
実行する多くのユーザが有り得る。オペレーティング・
システムは、コードを実行している全てのプロセスの間
で共用されるテキスト・セグメントの中に特定のプログ
ラムのための当該コードを置くであろう。
【0008】データ・セグメント206は、プロセスに
よりその実行中に用いられそして変更されるデータを保
持する。データ・セグメントは、通常、読出し及び書込
みとマークされている。しかしながら、データ・セグメ
ントは決して他のプロセスと共用されず、むしろそれは
専用(private)のままである。このセグメント
が共用可能であるとすれば、プロセスは他のプロセスの
データを偶然に変更するかも知れない。最後に、プロセ
ス・アドレス空間202は、プロセス・スタックを含む
スタック・セグメント208を含む。スタック・セグメ
ント208は、読出し及び書込みとマークされ、データ
・セグメントと同様に他のプロセスと共用されない。
【0009】プロセス・アドレス空間202のテキスト
・セグメントの共用可能性は、多数のユーザが同時に同
じプログラムを実行しているタイム・シェアリング及び
データベース・システムにおいて特に有用な特徴であ
る。図4は、物理メモリ306の物理ページ308内の
同じ場所に含まれる同じプログラム(オブジェクト)を
実行する少なくとも1つのセグメント310及び314
のそれぞれを有する2つのプロセスi及びjを図示す
る。物理ページ308に記憶されている共通オブジェク
トを含む物理メモリ306は、通常、仮想アドレスVA
を検索し、共通オブジェクトと対応させ、且つ各プロセ
スについて、プロセスiに対してプロセス識別子iを、
プロセスjに対してプロセス識別子jをそれぞれ含む変
換キー316及び318を探索することによりアクセス
される。次いで、プロセス識別子i及びjと関係して仮
想アドレスVAが、カーネル・ページ・テーブル32
2、変換ソフトウエア・バッファ324あるいはハード
ウエア変換ルックアサイド・バッファ326のようなオ
ペレーティング・システム変換資源の一つの中で探索さ
れる。分かり得るように、双方の変換エントリVA,i
及びVA,jが、図4に示される全ての変換資源内の同
じ物理ページにマップする。この場合、たとえ各変換エ
ントリが同じ変換情報、即ち仮想アドレス及び対応する
物理ページを有しても、全ての仮想変換資源322、3
24及び326は実質的にTLBエントリを複写(re
plicate)する(本質的に同じ情報に対して2つ
のエントリがある。)。こうして、共通テキスト・オブ
ジェクトを共用することは、変換資源において実質的な
オーバヘッドを生じる。共通テキスト・オブジェクトを
共用するプロセスに実質的なオーバヘッドなしで変換資
源を共用することを可能にさせる機構を提供することが
望ましい。
【0010】
【発明が解決しようとする課題】本発明の課題は、共通
テキスト・オブジェクトを共用するプロセスに実質的な
オーバヘッドなしで変換資源を共用することを可能にさ
せる機構を提供することにある。
【0011】
【課題を解決するための手段】本発明は、少なくとも1
つのプロセスからの要求を処理するためのコア・ユニッ
トを含むプロセッサを提供する。前記少なくとも1つの
プロセスは、第1のコード・コンテキスト識別子を有す
る少なくとも1つのセグメントを備えるコード部分を有
する。前記少なくとも1つのプロセスはまた、第1のデ
ータ・コンテキスト識別子を備えるデータ部分を有す
る。前記プロセッサは更に、コード・アドレス変換を記
憶するための第1の記憶装置と、データ・アドレス変換
を記憶するための第2の記憶装置を含む。前記プロセッ
サはまた、コア・ユニットと第1の記憶装置とに結合さ
れ第2のコード・コンテキスト識別子を記憶するための
コード・コンテキスト・レジスタを含む。前記プロセッ
サはまた、コア・ユニットと第2の記憶装置とに結合さ
れ第2のデータ・コンテキスト識別子を記憶するための
データ・コンテキスト・レジスタを含む。
【0012】本発明はまた、バス、当該バスに結合され
た記憶装置、及び前記バスに結合されたプロセッサを備
える。前記プロセッサは、少なくとも1つのプロセスか
らの要求を処理するためのコア・ユニットを含み、当該
少なくとも1つのプロセスは少なくとも1つのコード・
セグメントを備えるコード部分を有する。前記少なくと
も1つのコード・セグメントは、第1のコード・コンテ
キスト識別子を有する。前記少なくとも1つのプロセス
は更に、第1のデータ・コンテキスト識別子を有する少
なくとも1つのデータ・セグメントを備えるデータ部分
を有する。コンピュータ・システムはまた、コード・ア
ドレス変換を記憶するための第1の記憶装置と、データ
・アドレス変換を記憶するための第2の記憶装置と、コ
ア・ユニットと第1の記憶装置とに結合され第2のコー
ド・コンテキスト識別子を記憶するためのコード・コン
テキスト・レジスタとを含む。コンピュータ・システム
は更に、コア・ユニットと第2の記憶装置とに結合され
第2のデータ・コンテキスト識別子を記憶するためのデ
ータ・コンテキスト・レジスタを含む。
【0013】本発明はまた、コード・コンテキスト・レ
ジスタ、データ・コンテキスト・レジスタ、コード変換
ルックアヘッド(look−ahead)・バッファ
(CTLB)、データ変換ルックアヘッド・バッファ
(DTLB)及び仮想アドレス・レジスタを有するプロ
セッサを含むコンピュータ・システムにおいて制御アド
レス変換資源を共用するためコンピュータにより実現さ
れる方法を提供する。仮想アドレス変換資源を複数のプ
ロセスが共用するためコンピュータにより実現される方
法は、前記プロセスのコード及びデータのセグメントの
各々をアドレス空間にマップするステップと、前記プロ
セスの各々に対してデータ・サブアドレス空間コンテキ
スト識別子を割り振るステップと、第1のプロセスが共
通コード・サブアドレス空間コンテキスト識別子を有す
る他のプロセスとコード・セグメントを共用することが
できるかを決定するステップと、前記第1のプロセスが
コード・セグメントを前記他のプロセスと共用すること
ができる場合前記共通コード・サブアドレス空間コンテ
キスト識別子を前記第1のプロセスに割り当てるステッ
プと、前記プロセスが共通コード・サブアドレス空間コ
ンテキスト識別子を有する前記他のプロセスとコード・
セグメントを共用することができない場合独特のコード
・サブアドレス空間コンテキスト識別子を前記第1のプ
ロセスに割り当てるステップとを含む。
【0014】本発明の特徴、局面及び利点は、以下の発
明の詳細な説明、特許請求の範囲及び添付の図面からよ
り充分に明らかになるであろう。
【0015】
【発明の実施の形態】以下の記載において、特定の要素
又はステップ、手順、コマンド・オプション、コマンド
項目及び特定物(specifics)は、本発明の完
全な理解を与えるために記述されている。しかしなが
ら、本発明がこれらの特定の詳細なしに実行し得ること
は当業者には明らかであろう。他の事例において、周知
のシステム及び方法が、本発明を不必要に隠すことを避
けるためブロック図あるいは流れ図の形式で示されてい
る。
【0016】図5を参照すると、本発明を組み込んだコ
ンピュータ・システム400のブロック図が示されてい
る。コンピュータ・システム400は、このコンピュー
タ・システムの他の構成要素へ情報を通信するためのバ
ス401と、バス401に結合され情報を処理するため
のプロセッサ402とを備える。コンピュータ・システ
ム400は更に、バス401に結合され、情報と、プロ
セッサ402により実行されるべき命令とを記憶するた
めのランダム・アクセス・メモリ(RAM)又は他のダ
イナミック記憶装置404(主記憶装置と呼ばれる)を
備える。主記憶装置404はまた、プロセッサ402に
よる命令の実行中に一時的な変数あるいは他の中間の情
報を記憶するために用いられ得る。コンピュータ・シス
テム400はまた、バス401に結合されプロセッサ4
02のための情報及び命令を記憶するための読出し専用
メモリ(ROM)及び/又は他のスタティック記憶装置
406と、磁気ディスクあるいは光ディスク及びそれと
対応するディスク駆動装置のような大容量記憶装置40
7とを備える。大容量記憶装置407は、情報及び命令
を記憶するためバス401に結合されている。コンピュ
ータ・システム400はまた、コンピュータ・ユーザに
対して情報を表示するため、陰極線管(CRT)あるい
は液晶ディスプレイ(LCD)のようなディスプレイ装
置421にバス401を介して結合され得る。コンピュ
ータ・システム400はまた、情報及びコマンド選択を
プロセッサ402に通信するため、キーボードを含む英
数字入力装置422に結合されている。プロセッサ40
2への直接情報及びコマンド選択が、バス401に結合
されている、マウス、トラックボール、スタイラス、あ
るいはカーソル方向キーのようなカーソル制御装置42
3を介して入力され得る。バス401に結合され得る他
の装置は、用紙、フィルムあるいは類似のタイプの媒体
のような媒体上に命令、データあるいは他の情報を印字
するため用いられ得るハードコピー装置424である。
コンピュータ・システム400は、別のシステム450
とネットワーク・インタフェース425及び通信リンク
426、430及び434を介して結合されている。コ
ンピュータ・システム400の構成要素のいずれかある
いはその全部及び関連のハードウエアが好適実施形態に
おいて用いられ得るが、システムのいずれの他のタイプ
の形態が種々の目的のため用いられ得ることを当業者は
認めることができる。
【0017】ここで提供される論述において、「プロセ
ス」は、実行のためアドレス変換資源(即ち、割り当て
られたコード、データ、スタック、共用されるライブラ
リ)に依存するプロセッサにより実施される一連の操作
ステップとして定義される。各プロセスは独特のコンテ
キスト識別子を割り当てられる。
【0018】図6は、本発明のアドレッシング・アーキ
テクチャ及びプロセスを採用するコンピュータ・システ
ム500をより詳細に表すブロック図である。コンピュ
ータ・システム500(破線で示す)は、複数の端末
(例えば、パーソナル・コンピュータ、ワーク・ステー
ション等)550a〜550nに通信リンク560を介
して結合されている。コンピュータ・システム500
は、共に第1のバス515を介して結合されているプロ
セッサ505及び主記憶装置510を備える。第1のバ
ス515は、その第1のバス515と第2のバス525
(例えば、I/Oバス)の間に通信経路を与える入力/
出力コントローラ520に結合されている。第2のバス
525は、複数の端末550a〜550nの内の一つか
ら出てトランシーバ・ユニット530(例えば、モデ
ム)により受信される情報を伝搬する。
【0019】図6に更に示されるように、プロセッサ5
05は、コア・ユニット506及びメモリ管理ユニット
(「MMU」)507を含む。MMU 507は、主記
憶装置510に記憶されている情報をアクセスするとき
仮想アドレスを物理アドレスに変換するためプロセッサ
505により用いられる。MMU 507は、以降コー
ド変換ルックアサイド(look−aside)・バッ
ファ(CTLB)508と呼ぶコード・アドレス変換を
記憶するための第1の記憶装置を含む。MMU507は
更に、以降データ変換ルックアサイド・バッファ(DT
LB)509と呼ぶデータ・アドレス変換を記憶するた
めの第2の記憶装置を含む。更に、MMU 507は、
コア・ユニット506とCTLB 508とに結合さ
れ、現在のプロセスを独特に識別する現在コード・コン
テキスト識別子を記憶するための命令コンテキスト・レ
ジスタ即ちコード・コンテキスト・レジスタ536を含
む。コア・ユニット506は、少なくとも1つのプロセ
スからの要求を処理する。要求をコア・ユニットに発行
するプロセスは、通常、少なくとも1つのセグメントを
備えるコード・アドレス空間を有する。各セグメントに
対して、コード・コンテキスト識別子が割り当てられ
る。プロセスは更に、データ・コンテキスト識別子を備
えるデータ・アドレス空間を有する。MMU 507は
更に、コア・ユニット506とDTLB 509とに結
合され現在データ・コンテキスト識別子を記憶するため
のデータ・コンテキスト・レジスタ538を含む。非限
定的事例により、コード・コンテキスト・レジスタ53
6は通常命令取り出しのため用いられ、一方データ・コ
ンテキスト・レジスタは通常メモリ・ロード及び記憶装
置アクセスのため用いられる。
【0020】図7は、本発明に従った複数の仮想アドレ
ス変換資源610、612及び614と関係して、本発
明に従った2つのプロセスi及びjを図示する。この特
定の事例において、プロセスi及びjは、同じテキスト
・オブジェクト、即ち物理メモリにおいてページXに配
置された共通コードを共用する。共用されたテキスト・
オブジェクトは、各プロセス・アドレス空間において同
じ仮想アドレスVAにマップされている。システムにお
ける各プロセスは、各セグメントに対して、データのた
めのサブアドレス空間を備えるデータ部分632と、コ
ード(テキスト)のための異なるコード・サブアドレス
空間を備える異なるコード部分630とを有する。シス
テムは、コードの各セグメントに対して、独特のコード
・コンテキスト識別子634と、データの各セグメント
に対してコード・コンテキスト識別子と異なる独特のデ
ータ・コンテキスト識別子635とを割り当てる。図6
に示された2つの別個のコンテキスト・レジスタを備え
る、本発明に従ったアドレス変換アーキテクチャは、テ
キスト・オブジェクト(共通コード)を共用するプロセ
スがアドレス変換資源において単一の変換エントリを共
用することを可能にし、一方依然それら自身の専用のデ
ータ・オブジェクトを維持することを可能にする。プロ
セッサは、実施するためのオペレーションのタイプに基
づく各プロセスに対して2つの異なるコンテキスト識別
子、即ちコード・コンテキスト識別子及びデータ・コン
テキスト識別子を用いる。つまり、命令取り出しに対し
て、コード・コンテキスト識別子が用いられ、一方レジ
スタ及びメモリのロード/格納アクセスに対して、デー
タ・コンテキスト識別子が用いられる。同じサブアドレ
ス空間を共用(オブジェクト共用)するプロセスもま
た、同じコンテキスト識別子を共用する。図7は、同じ
コード・コンテキスト識別子Kを共用するプロセスi及
びjに対するコード・セグメント630を示す。このコ
ード・コンテキスト識別子は、i及びjのプロセスのそ
れぞれのデータ・セグメント632に割り当てられるコ
ンテキスト識別子i及びjとは異なる。
【0021】コード及びデータに対するコンテキスト識
別子間の分離は、共通オブジェクトを共用する602及
び604のようなプロセスに対する単一の変換エントリ
622を与えることを可能にする。同じ共通オブジェク
トを共用する種々のプロセスのセグメントが同じコンテ
キスト識別子Kを有する限り、唯一つの変換エントリ6
22が、各別個のプロセスに対する多数の変換の代わり
に、図7に示される変換テーブル内に現れる。しかしな
がら、プロセスi及びjに対するデータ・サブアドレス
空間は、異なるコンテキスト識別子i及びjのそれぞれ
を割り当てられる。このようにして、1つのプロセス
は、別のプロセスのデータを偶然にアクセスして修正し
ないであろう。別のプロセスと、上記1つのプロセス
は、同じ仮想アドレスVAと同じコード・コンテキスト
識別子Kとを共用し得る。
【0022】図8は、本発明に従ったアドレス変換アー
キテクチャのより詳細なブロック図を示す。メモリ管理
ユニット(MMU)は、命令コンテキスト識別子即ちコ
ード・コンテキスト識別子706、プロセッサ仮想アド
レス・レジスタ704及びデータ・コンテキスト・レジ
スタ748を含む。MMU 702はまた、コードTL
Bロジック730及びデータTLBロジック732を含
む。コードTLBロジック730はコードTLB 70
8を含み、一方データTLBロジック732はデータT
LB 738を含む。コードTLB 708は、コンテ
キスト識別子情報712、物理アドレス714及び仮想
アドレス716を含む少なくとも1つの変換エントリ7
10を含む。仮想アドレス716が物理アドレス714
にマップされる。
【0023】コア・ユニット(図示せず)は、現在の仮
想アドレスを発生し、その仮想アドレスをプロセッサ仮
想アドレス・レジスタ704にロードする。MMU、特
にアドレス変換制御回路は物理アドレス探索を実施し、
該探索において、それは、プロセッサ仮想アドレス・レ
ジスタ704に記憶された現在の仮想アドレスと、コー
ド・コンテキスト・レジスタ706に存在する現在のコ
ンテキスト情報、即ち現在のコンテキスト識別子とを利
用して、所定の(現在の)仮想アドレスに対する変換情
報がコードTLB 708に記憶されているかを確かめ
る。オペレーティング・システムは、コード・コンテキ
スト・レジスタ706に記憶されている現在のコンテキ
スト識別子と、プロセッサ仮想アドレスレジスタ704
に記憶されている現在の仮想アドレスとの双方を含むエ
ントリに対してコードTLB 708を走査する。コー
ドTLBロジック730に配置されている第1の比較ユ
ニット718は、コード・コンテキスト・レジスタ70
6の内容をコンテキスト識別子712と比較する。コン
テキスト識別子712がコード・コンテキスト・レジス
タ706に記憶されている現在のコンテキスト識別子と
同一である場合、第1の比較ユニット718はANDゲ
ート716の入力への信号720を発生する。コードT
LBロジック730は第2の比較ユニット719を含
み、該第2の比較ユニット719は、プロセッサ仮想ア
ドレスレジスタ704に記憶されている現在の仮想アド
レスを、走査された変換エントリ710における仮想ア
ドレス716と比較する。現在の仮想アドレスが変換エ
ントリ710における仮想アドレスと同一である場合、
第2の比較ユニット719は、ANDゲート716の第
2の入力への第2の信号722を発生する。次いで、コ
ンテキスト識別子と、変換エントリに見い出される仮想
アドレスとの双方が現在のコンテキスト識別子と現在の
仮想アドレスとに一致するならば、ANDゲート716
はコード・ヒット信号を発生する。コードTLBロジッ
ク730は、コード「ヒット」信号を出力し、次いで物
理アドレス714をコア・ユニット(図示せず)へ通
す。
【0024】そうでなく、仮想アドレスとコード・コン
テキスト識別子とがコードTLB708に見い出されな
いならば、MMUは、トラップを発生し、変換「ミス
(miss)」信号をコア・ユニットに送る。その後、
オペレーティング・システム・ソフトウエアは、プロセ
ッサへ与えられる物理アドレスを得るため仮想アドレス
の物理アドレスへの変換の全部を含み、通常主記憶装置
に記憶されているカーネル・ページ・テーブルの探索を
実施する。オペレーティング・システムはまた、現在の
コンテキスト識別子と現在の仮想アドレスとを含むエン
トリをコードTLB 708に複写する。
【0025】図8はまた、データ・コンテキスト・レジ
スタ748及びプロセッサ仮想アドレス・レジスタ70
4と関係してデータTLBロジック732を示す。専用
と考えられ従って共用可能でないデータのため、オペレ
ーティング・システムは、異なるコンテキスト識別子を
割り当てるであろう。換言すると、図7に示されるi及
びjのような2つのプロセスは、データ・サブアドレス
空間のためそれぞれのコンテキスト識別子i及びjを有
する。従って、データに対して、異なるプロセスのため
のデータ変換ルックアサイド・バッファ738に別個の
変換エントリ736が存在するであろう。データ情報を
参照するアドレスのための変換機構は、コード情報と関
係して前述した変換機構と類似している。プロセッサ
は、プロセッサ仮想アドレスレジスタ704とデータ・
コンテキスト・レジスタ748とのそれぞれに含まれて
いる現在の仮想アドレスと現在のコンテキスト識別子と
の双方を含むデータ・エントリ736のためデータ変換
ルックアサイド・バッファ738を走査する。現在の仮
想アドレスと現在のデータ・コンテキスト識別子との双
方がDTLB 738の単一のエントリに見い出される
場合、比較ユニット746及び750は、論理レベル1
の2つの信号を発生するであろう。これらの信号はAN
Dゲート752へゲートされ、該ANDゲート752は
これに応答して双方の入力信号がハイである場合データ
・ヒット信号を発生する。
【0026】図9は、先の記載において説明された変換
資源を共用することを実現するコンピュータ・システム
において仮想アドレス変換資源及びコンテキスト識別子
を共用するプロセス(方法)のフローチャート図を示
す。この方法は、ブロック802で開始し、そこでシス
テムは、プロセスのためのコード及びデータのセグメン
トを生成し、該コード及びデータのセグメントを仮想ア
ドレスに割り当てて、該コード及びデータのセグメント
を利用可能なアドレス空間にマップする。次いで、この
方法は、ブロック804に続き、そこで当該方法は、そ
れぞれのプロセスにデータ・サブアドレス空間コンテキ
スト識別子を割り振る。当該方法は、継続し、判断ブロ
ック806へ行き、そこでシステムは、プロセスがコー
ド・セグメントをシステムの他のプロセスと共用するか
を決定する。プロセスがコード・セグメントをシステム
の他のプロセスと共用すると決定された場合、当該方法
は、ブロック808へ行き、そこでシステムは、コード
・セグメントを共用する他のプロセスと同じ(共通)コ
ード・サブアドレス空間コンテキスト識別子をプロセス
に割り当てる。しかしながら、プロセスがコード・セグ
メントをシステムの他のプロセスと共用しない場合、新
しい独特のコード・サブアドレス空間コンテキスト識別
子が、ブロック810でプロセスに割り当てられる。シ
ステムの幾つかのプロセスが同じコード・サブアドレス
空間コンテキスト識別子を共用することができる一方、
これらのプロセスは別個のデータ・サブアドレス空間コ
ンテキスト識別子を有することに注目すべきである。
【0027】ブロック812で、コード・コンテキスト
・レジスタは、現在のコード・サブアドレス空間コンテ
キスト識別子をロードされる。ブロック814で、デー
タ・コンテキスト・レジスタは、現在のデータ・サブア
ドレス空間コンテキスト識別子をロードされる。ブロッ
ク816で、プロセスは、プログラム・カウンタ、汎用
レジスタ及びスタック・ポインタのような他のプロセス
・システム状態をロードし、実行を開始する。そこか
ら、プロセスは、判断ブロック818に行き、そこでシ
ステムは、コード変換・ルックアサイド・テーブル(C
TLB)が現在のコード・サブアドレス空間コンテキス
ト識別子と現在の仮想アドレスとを含むエントリを有す
るかを決定する。そのように有する場合、本発明に従っ
た方法はコード・ヒット信号を発生する。またこのブロ
ックで、システムは、CTLBに見いだされる現在の仮
想アドレスと対応する物理アドレスをコア・ユニットへ
与える。次いで、プロセスはブロック820で終了す
る。しかしながら、コード変換ルックアサイド・バッフ
ァが現在のコンテキスト識別子と現在の仮想アドレスと
を含むエントリを有しない場合、システムは、トラップ
を発生し、「ミス」信号をコア・ユニットへ送る。次い
で、当該方法は、ブロック822で変換ミス・ハンドラ
へ移る。
【0028】図10は、本発明に従った変換ミス・ハン
ドラ方法についてのフローチャート図を示す。当該方法
はブロック902で開始し、そこから当該方法は判断ブ
ロック904に行き、そこでシステムは、どの変換ルッ
クアサイド・バッファ(TLB)、即ちコード変換ルッ
クアサイド・バッファ(CTLB)又はデータ変換ルッ
クアサイド・バッファが変換ミス障害を発生したかを決
定する。コード変換ルックアサイド・バッファが現在の
コンテキスト識別子と現在の仮想アドレスとを含むエン
トリを有しない場合、プロセスはブロック906へ行
き、そこでシステムは、現在の仮想アドレスと現在のコ
ンテキスト識別子との双方を含むエントリのためカーネ
ル変換データ構造を走査する。次いで、システムは、ブ
ロック908で、現在のコンテキスト識別子と現在の仮
想アドレスとを含む変換エントリを検索し、現在の仮想
アドレスと現在のコード・サブアドレス空間コンテキス
ト識別子とをCTLBにロード(更新)する。次いで、
当該方法はブロック914に行き、そこでプロセス実行
が再開される。
【0029】データ変換ルックアサイド・バッファが変
換ミス障害を発生する場合、本発明に従った方法におい
てステップの類似の手順が起こる。プロセスはブロック
910に行き、そこでシステムは、現在の仮想アドレス
と現在のデータ・コンテキスト識別子(現在のコード・
コンテキスト識別子と現在のデータ・コンテキスト識別
子のうちのいずれか)との双方を含むエントリに対して
カーネル変換データ構造を走査する。ブロック912
で、システムは、現在のデータ・サブアドレス空間コン
テキスト識別子と現在の仮想アドレスとを含む変換エン
トリを検索し、データ変換ルックアサイド・バッファに
変換エントリをロード(更新)する。次いで、プロセス
は、ブロック914で実行を再開する。
【0030】先の記載において、本発明は、その特定の
実施形態を参照して記載された。しかしながら、特許請
求の範囲に記載された本発明のより広い精神及び範囲か
ら離れることなく、種々の修正及び変更がその実施形態
に対してなされ得ることは明らかであろう。従って、発
明の詳細な説明及び図面は限定的意味より例示と見做す
べきである。よって、本発明の範囲は特許請求の範囲に
よってのみ限定されるべきである。
【図面の簡単な説明】
【図1】仮想アドレスを物理アドレスに変換する機構を
示す図である。
【図2】ソフトウエアにより管理された変換ルックアサ
イド・バッファを示す図である。
【図3】セグメント化された処理形態を示す図である。
【図4】オブジェクト共用構造と関係した変換データ構
造を示す図である。
【図5】本発明を組み込むコンピュータ・システムのブ
ロック図である。
【図6】本発明のアドレス変換アーキテクチャ及びプロ
セスを採用したコンピュータ・システムをより詳細に示
す図である。
【図7】本発明に従った、変換資源における同じエント
リを共用する2つのプロセスを示す図である。
【図8】本発明に従ったアドレス変換アーキテクチャを
詳細に示す図である。
【図9】本発明に従った、仮想アドレス変換資源を共用
するプロセスについてのフローチャート図を示す。
【図10】本発明に従った変換ミス・ハンドラ方法につ
いてのフローチャート図を示す。
【符号の説明】
400、500 コンピュータ・システム 505 プロセッサ 510 主記憶装置 507、702 メモリ管理ユニット(MMU) 622 変換エントリ 630 コード・セグメント(コード部分) 632 データ・セグメント(データ部分) 634 コード・コンテキスト識別子 635 データ・コンテキスト識別子 730 コードTLBロジック 732 データTLBロジック
フロントページの続き (71)出願人 597004720 2550 Garcia Avenue,MS PAL1−521,Mountain V iew,California 94043− 1100,United States of America

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも1つのプロセスからの要求を
    処理するコア・ユニットを備え、 前記少なくとも1つのプロセスは、少なくとも1つのコ
    ード・セグメントを備えるコード部分を有し、 前記少なくとも1つのコード・セグメントは第1のコー
    ド・コンテキスト識別子を有し、 前記プロセスは更に、第1のデータ・コンテキスト識別
    子を有する少なくとも1つのデータ・セグメントを備え
    るデータ部分を有し、 コード・アドレス変換を記憶する第1の記憶デバイス
    と、 データ・アドレス変換を記憶する第2の記憶デバイス
    と、 前記コア・ユニットと前記第1の記憶デバイスとに結合
    され第2のコード・コンテキスト識別子を記憶するコー
    ド・コンテキスト・レジスタと、 前記コア・ユニットと前記第2の記憶デバイスとに結合
    され第2のデータ・コンテキスト識別子を記憶するデー
    タ・コンテキスト・レジスタとを更に備えるプロセッ
    サ。
  2. 【請求項2】 前記第1の記憶デバイスがコード・アド
    レス変換ルックアヘッド・テーブル(CTLB)である
    請求項1記載のプロセッサ。
  3. 【請求項3】 前記第2の記憶デバイスがデータ・アド
    レス・ルックアヘッド・テーブル(DTLB)である請
    求項1記載のプロセッサ。
  4. 【請求項4】 前記CTLBが、仮想アドレス、前記第
    1のコード・コンテキスト識別子及び物理アドレスを記
    憶するための少なくとも1つのエントリを含む請求項3
    記載のプロセッサ。
  5. 【請求項5】 前記第1のコード・コンテキスト識別子
    を前記第2のコード・コンテキスト識別子と比較し、該
    比較に応答してコード・コンテキスト・ヒット信号を発
    生するためのコード・コンテキスト比較ユニットを更に
    含む請求項4記載のプロセッサ。
  6. 【請求項6】 前記CTLBが、同じ仮想アドレスと同
    じプロセス・コンテキスト識別子とを有する、プロセス
    のセグメントのための単一のエントリを含む請求項5記
    載のプロセッサ。
  7. 【請求項7】 バスと、 前記バスに結合されたメモリ・デバイスと、 前記バスに結合されたプロセッサとを備え、 当該プロセッサは、少なくとも1つのプロセスからの要
    求を処理するコア・ユニットを含み、 前記プロセスは、少なくとも1つのコード・セグメント
    を備えるコード部分を有し、 前記少なくとも1つのコード・セグメントは第1のコー
    ド・コンテキスト識別子を有し、 前記プロセスは更に、第1のデータ・コンテキスト識別
    子を備えるデータ部分を有し、 前記プロセッサは更に、 コード・アドレス変換を記憶する第1の記憶デバイス
    と、 データ・アドレス変換を記憶する第2の記憶デバイス
    と、 前記コア・ユニットと前記第1の記憶デバイスとに結合
    され第2のコード・コンテキスト識別子を記憶するため
    のコード・コンテキスト・レジスタと、 前記コア・ユニットと前記第2の記憶デバイスとに結合
    され第2のデータ・コンテキスト識別子を記憶するデー
    タ・コンテキスト・レジスタとを含む、コンピュータ・
    システム。
  8. 【請求項8】 前記第1の記憶デバイスがコード・アド
    レス変換ルックアヘッド・テーブル(CTLB)である
    請求項7記載のコンピュータ・システム。
  9. 【請求項9】 前記第2の記憶デバイスがデータ・アド
    レス変換ルックアヘッド・テーブル(DTLB)である
    請求項8記載のコンピュータ・システム。
  10. 【請求項10】 前記CTLBが、仮想アドレス、前記
    第1のコード・コンテキスト識別子及び物理アドレスを
    記憶するための少なくとも1つのエントリを含む請求項
    9記載のコンピュータ・システム。
  11. 【請求項11】 前記第1のコード・コンテキスト識別
    子を前記第2のコード・コンテキスト識別子と比較し、
    該比較に応答してコード・コンテキスト・ヒット信号を
    発生するためのコード・コンテキスト比較ユニットを更
    に含む請求項10記載のコンピュータ・システム。
  12. 【請求項12】 前記CTLBが、同じ仮想アドレスと
    同じプロセス・コンテキスト識別子とを有する、プロセ
    スのセグメントのための単一のエントリを含む請求項1
    1記載のコンピュータ・システム。
  13. 【請求項13】 コード・コンテキスト・レジスタ、デ
    ータ・コンテキスト・レジスタ、コード変換ルックアサ
    イド・バッファ(CTLB)、データ変換ルックアサイ
    ド・バッファ(DTLB)及び仮想アドレス・レジスタ
    を有するプロセッサを含むコンピュータ・システムにお
    いて、コード及びデータのセグメントを有する複数のプ
    ロセスにより仮想アドレス変換資源を共用するためコン
    ピュータにより実現される方法であって、 前記プロセスのコード及びデータのセグメントの各々を
    アドレス空間にマップするステップと、 前記プロセスの各々に対してデータ・サブアドレス空間
    コンテキスト識別子を割り振るステップと、 第1のプロセスが、共通コード・サブアドレス空間コン
    テキスト識別子を有する他のプロセスとコード・セグメ
    ントを共用することができるかを決定するステップと、 前記第1のプロセスがコード・セグメントを前記他のプ
    ロセスと共用することができる場合、前記第1のプロセ
    スに前記共通コード・サブアドレス空間コンテキスト識
    別子を割り当てるステップと、 前記第1のプロセスがコード・セグメントを、共通コー
    ド・サブアドレス空間コンテキスト識別子を有する前記
    他のプロセスと共用することができない場合、前記第1
    のプロセスに固有のコード・サブアドレス・コンテキス
    ト識別子を割り当てるステップとを備える方法。
  14. 【請求項14】 コード・コンテキスト・レジスタに現
    在のコンテキスト識別子をロードし、仮想レジスタに現
    在の仮想アドレスをロードするステップと、 前記CTLBが、前記現在のコンテキスト識別子と前記
    現在の仮想アドレスとを含むエントリを有するかを決定
    するステップとを更に含む請求項13記載の方法。
  15. 【請求項15】 前記CTLBが前記現在のコンテキス
    ト識別子と前記現在の仮想アドレスとを含むエントリを
    有しない場合、前記現在のコード・コンテキスト識別子
    と前記現在の仮想アドレスとを含むカーネル変換データ
    構造に変換エントリを見いだすステップと、 前記変換エントリを前記CTLBにロードするステップ
    とを更に含む請求項14記載の方法。
JP9114690A 1996-05-02 1997-05-02 仮想アドレス変換資源の共用化の方法及びシステム Pending JPH10187538A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/643,047 US6427162B1 (en) 1996-05-02 1996-05-02 Separate code and data contexts: an architectural approach to virtual text sharing
US643047 1996-05-02

Publications (1)

Publication Number Publication Date
JPH10187538A true JPH10187538A (ja) 1998-07-21

Family

ID=24579149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9114690A Pending JPH10187538A (ja) 1996-05-02 1997-05-02 仮想アドレス変換資源の共用化の方法及びシステム

Country Status (3)

Country Link
US (1) US6427162B1 (ja)
EP (1) EP0805398A1 (ja)
JP (1) JPH10187538A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155841A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 演算処理装置および演算処理方法

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7149776B1 (en) * 2001-08-31 2006-12-12 Oracle International Corp. System and method for real-time co-browsing
US7010791B2 (en) * 2001-09-20 2006-03-07 Intel Corporation Method for implementing multiple type hierarchies
JP4226816B2 (ja) * 2001-09-28 2009-02-18 株式会社東芝 マイクロプロセッサ
US7085889B2 (en) * 2002-03-22 2006-08-01 Intel Corporation Use of a context identifier in a cache memory
GB2411751A (en) * 2002-04-25 2005-09-07 Livedevices Ltd Improvements relating to reduced-overhead context-saving in static priority scheduled operating systems
US20050044301A1 (en) * 2003-08-20 2005-02-24 Vasilevsky Alexander David Method and apparatus for providing virtual computing services
US8776050B2 (en) * 2003-08-20 2014-07-08 Oracle International Corporation Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
US7188229B2 (en) * 2004-01-17 2007-03-06 Sun Microsystems, Inc. Method and apparatus for memory management in a multi-processor computer system
US7526617B2 (en) 2005-12-29 2009-04-28 Sap Ag System and method for memory management using memory windows
GB2456813B (en) * 2008-01-24 2012-03-07 Advanced Risc Mach Ltd Diagnostic context construction and comparison
US20120316956A1 (en) * 2011-06-07 2012-12-13 Microsoft Corporation Client-Server Joint Personalization for Private Mobile Advertising
US8918608B2 (en) * 2012-01-09 2014-12-23 Ravello Systems Ltd. Techniques for handling memory accesses by processor-independent executable code in a multi-processor environment
US8914778B2 (en) * 2012-11-05 2014-12-16 International Business Machines Corporation Data placement for execution of an executable
US8863099B2 (en) 2012-11-05 2014-10-14 International Business Machines Corporation Compilation and placement of instructions in a memory system
US9734083B2 (en) 2014-03-31 2017-08-15 International Business Machines Corporation Separate memory address translations for instruction fetches and data accesses
US9715449B2 (en) 2014-03-31 2017-07-25 International Business Machines Corporation Hierarchical translation structures providing separate translations for instruction fetches and data accesses
US9824021B2 (en) * 2014-03-31 2017-11-21 International Business Machines Corporation Address translation structures to provide separate translations for instruction fetches and data accesses
US10977192B1 (en) * 2016-04-08 2021-04-13 Amazon Technologies, Inc. Real-time memory-page state tracking and its applications
CN108139981B (zh) * 2016-08-11 2020-08-14 华为技术有限公司 一种页表缓存tlb中表项的访问方法,及处理芯片

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3650782T2 (de) 1985-02-22 2004-06-17 Intergraph Hardware Technologies Co., Las Vegas Anordnung von Cachespeicherverwaltungseinheiten
US4761733A (en) * 1985-03-11 1988-08-02 Celerity Computing Direct-execution microprogrammable microprocessor system
EP0282213A3 (en) 1987-03-09 1991-04-24 AT&T Corp. Concurrent context memory management unit
JPS63231550A (ja) * 1987-03-19 1988-09-27 Hitachi Ltd 多重仮想空間制御方式
US5008811A (en) 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
US5247632A (en) * 1989-01-23 1993-09-21 Eastman Kodak Company Virtual memory management arrangement for addressing multi-dimensional arrays in a digital data processing system
JPH0512126A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 仮想計算機のアドレス変換装置及びアドレス変換方法
US5727179A (en) * 1991-11-27 1998-03-10 Canon Kabushiki Kaisha Memory access method using intermediate addresses
US5638382A (en) * 1994-06-29 1997-06-10 Intel Corporation Built-in self test function for a processor including intermediate test results
US5630087A (en) * 1994-11-02 1997-05-13 Sun Microsystems, Inc. Apparatus and method for efficient sharing of virtual memory translations
JPH09153067A (ja) * 1995-11-29 1997-06-10 Nec Corp ハイパーメディア文書ナビゲーション方式
US5754818A (en) * 1996-03-22 1998-05-19 Sun Microsystems, Inc. Architecture and method for sharing TLB entries through process IDS

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155841A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 演算処理装置および演算処理方法

Also Published As

Publication number Publication date
EP0805398A1 (en) 1997-11-05
US6427162B1 (en) 2002-07-30

Similar Documents

Publication Publication Date Title
US6427162B1 (en) Separate code and data contexts: an architectural approach to virtual text sharing
US10740249B2 (en) Maintaining processor resources during architectural events
US5493660A (en) Software assisted hardware TLB miss handler
US4742450A (en) Method to share copy on write segment for mapped files
US5724538A (en) Computer memory address control apparatus utilizing hashed address tags in page tables which are compared to a combined address tag and index which are longer than the basic data width of the associated computer
US7165164B2 (en) Method and apparatus including heuristic for sharing TLB entries
US7409487B1 (en) Virtualization system for computers that use address space indentifiers
US5852738A (en) Method and apparatus for dynamically controlling address space allocation
US7149873B2 (en) Methods and apparatus for a dual address space operating system
US6442664B1 (en) Computer memory address translation system
JPH05233458A (ja) コンピュータシステムのメモリ管理装置
US20090187731A1 (en) Method for Address Translation in Virtual Machines
US20040078631A1 (en) Virtual mode virtual memory manager method and apparatus
JPH04320553A (ja) アドレス変換機構
JPH05233425A (ja) メモリ管理装置
JPH08272692A (ja) 仮想アドレス変換方法
WO1998014878A1 (en) A method of obtaining a buffer of contiguous memory and building a page table
US7269825B1 (en) Method and system for relative address translation
US6606697B1 (en) Information processing apparatus and memory control method
US5319761A (en) Directory look-aside table for a virtual storage system including means for minimizing synonym entries
US7444636B2 (en) Method and system of determining attributes of a functional unit in a multiple processor computer system
US6567907B1 (en) Avoiding mapping conflicts in a translation look-aside buffer
Faraz AReview OF MEMORY ALLOCATION AND MANAGEMENT IN COMPUTER SYSTEMS
JP2635310B2 (ja) アドレス変換装置
JPH04360252A (ja) 計算機の仮想記憶におけるアドレス変換方式

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061109

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070208

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070214

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070705