JPH03220647A - データ処理システム - Google Patents

データ処理システム

Info

Publication number
JPH03220647A
JPH03220647A JP2326081A JP32608190A JPH03220647A JP H03220647 A JPH03220647 A JP H03220647A JP 2326081 A JP2326081 A JP 2326081A JP 32608190 A JP32608190 A JP 32608190A JP H03220647 A JPH03220647 A JP H03220647A
Authority
JP
Japan
Prior art keywords
page
page table
descriptor
access
rights
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
JP2326081A
Other languages
English (en)
Other versions
JP3237065B2 (ja
Inventor
Konrad K Lai
コンラツド・ケイ・ライ
Frederick J Pollack
フレドリツク・ジエイ・ポーラツク
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of JPH03220647A publication Critical patent/JPH03220647A/ja
Application granted granted Critical
Publication of JP3237065B2 publication Critical patent/JP3237065B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明はデータ処理システムに関し、特に、メモリの記
憶場所を無許可のアクセスから保護するメモリアクセス
システムに関する。
「従来の技術及び発明が解決しようとする問題点1 最新のコンピュータシステムは、システム内部の全ての
情報をオジエクトと呼ばれるハードウェア認識、メモリ
常駐情報構造によって表示するようにWMされている。
これはオブジェクト指向コンピュータアーキテクチャと
して知られている。
オブジェクトは、連続してアドレス指定された1組の記
憶場所に維持されている関連情報を表示するデータのパ
ッケージである。
オブジェクト指向プログラミングシステムでは、各タイ
プ又はクラスのオブジェクトは、そのクラスに属するオ
ブジェクトについて実行を許可されている1組の動作を
有する。これはオブジェクトベースアクセスメカニズム
として知られている。
オブジェクトの内部構造はプログラマ−にはわからない
。プログラマ−は許可された動作によってオブジェクト
を操作できるだけである。オブジェクトに対するアクセ
スは、アクセス記述子と呼ばれるオブジェクトへのポイ
ンタによって行われる。
アクセス記述子は、そのオブジェクトに関するアクセス
記述子のホルダーにより許可されるオブジェクトに対す
る様々な種類のアクセスを規定する種類の表示(rep
)権利(読取り権利又は書込み権利など)を記述する。
1982年4月13日Co11cy他に許可され且つI
ntel Corporationに譲渡されている米
国特許第4.325,120号には、2つの基本的なタ
イプのオブジェクトをプロセッサにより認識し、識別す
るオジエクトベースアクセスメカニズムが記載されてい
る。第1の基本タイプは、通常データを含むデータセグ
メントである。第2の基本タイプは、メモリ内の情報、
すなわち、他のオブジェクトをアクセスするために使用
されるアクセス記述子を含むアクセスリストである。各
アクセス記述子は、そのアクセス記述子と関連するアク
セスのエクステントを位置指定し、且つ限定するための
情報を提供する。メモリへの無許可のアクセスは、メモ
リにおいてオブジェクトに対する参照を生成するプロセ
スで利用されるアクセス記述子を検査する保護メカニズ
ムにより制御される。
初期のコンピュータシステムでは、アーキテクチャはス
ーパーバイザ状態と、問題状態の2つのプログラム状態
を設けており、プロセッサは2つの状態の間で切替わる
。問題状態のときは、全ての特権命令(入出力命令、保
護命令及び一連の制御命令)は無効である。スーパーバ
イザ状態のときには、全ての命令が有効である。問題状
態で特権命令が現われると、特権動作例外を認識して、
プログラム割込みが起こり、動作は制御される。
主メモリのいくつかの領域の内容を破壊又は誤用0 を保護するために、保護を実行する。記憶場所は、記憶
ブロックをキーによって識別し、このキーを記憶すべき
データと共に供給された保護キーと比較することにより
保護される。一致しないときには、例外を認識して、プ
ログラム割込みが起こり、動作は抑制される。
Co11ey他の特許のアーキテクチャの場合、プロセ
ッサ内で、スーパーバイザ状態と問題状態のような異な
る実行状態は不要になっている。このオブジェクト指向
アーキテクチャでは、プロセッサがスーパーバイザ状態
にあるときにのみ実行される特権命令は不要である。メ
モリの保護は、いくつかの記憶場所ではなく、いくつか
のオブジェクトに対するアクセスを許可又は抑止するこ
とにより実行される。
オブジェクト指向アーキテクチャでは、セグメントは全
てのアドレッシングと保護の基礎となる。
セグメントは、サイズ、すなわち長さを規定された単一
の線形アドレススペースである。セグメントは主メモリ
にあり、開始アドレス、すなわちベスアドレスと関連し
ている。セグメント又はオブジェクトの内部の1つのデ
ータ項目の実際の物理アドレスを確定するために、セグ
メント内部の項目の位置(項目の変位という)をセグメ
ントのベースアドレスに加算する。アドレッシングがセ
グメント化されているシステムにおいては、セグメント
を移動するために、セグメントのベースアドレスを更新
することが必要である。しかしながら、ベースアドレス
情報をメモリ全体と、プロセッサのレジスタに配分する
ことができる。すなわち、セグメントが移動するときに
は、その変更を反映するためにセグメントの多数のコピ
ーを位置指定し且つ更新しなければならない。この問題
を回避するために、Co11cy  他のアーキテクチ
ャはセグメントに関する全ての情報を統合し、その情報
をセグメントテーブルに導入する。次に、セグメントに
対する全ての参照はこのテーブルから必要なベースアド
レスと長さ情報を得ることが要求される。セグメントに
対するどの参照も、セグメント記述子をアクセスし、正
しい現在ベースアドレスと現在長さ情報を得るのである
本発明の目的は、単純なアドレッシング構造から複雑な
アドレッシング構造に至るまで、各アドレッシングレベ
ルでアクセス保護を伴なって対応するオブジェクトアド
レッシングメカニズムを提供することである。
本発明の別の目的は、オブジェクトのあらかじめ規定さ
れた特性を指定するシステムタイプと、オブジェクトの
タイプ特有ソフトウェア規定特性を指定する拡張タイプ
の双方を対応するオブジェクトタイプ管理メカニズムを
提供することである。
本発明の更に別の目的は、アクセス記述子の権利を拡大
又は制限するメカニズムを提供することである。
[問題点を解決するための手段1 簡単にいえば、上記の目的は、本発明によれば、オブジ
ェクトテーブルオブジェクト(42)と、ページテーブ
ルディレクトリオブジェクト(60)と、ページテーブ
ルオブジェクト(44)とを設けることにより達成され
る。各オブジェクトは複3 数のワードから構成され、そのワードはアクセス記述子
か、又はデータワードのいずれかである。
各アクセス記述子は、プロセッサのメモリのアドレスス
ペースにある1つのオブジェクトを選択するためのオブ
ジェクトインデックスと、アクセス記述子により選択さ
れるオブジェクトについて許容された動作を指定する権
利フィールドとを含む。
オブジェクトデープルオブジェクト(42)はプロセッ
サの初期設定時にプロセッサによりアクセス可能である
アドレスに記憶される。このテーブルには、ページテー
ブルディレクトリオブジェクト(60)に対する物理ア
ドレスを形成する際にプロセッサが使用するためのオブ
ジェクト記述子が記憶されている。それぞれのオブジェ
クト記述子は、オブジェクト記述子により参照されるオ
ブジェクトのベースアドレスを指定する第1の符号化フ
ィールド(52)と、オブジェクトエントリタイプを含
む第2の符号化フィールド(50)とを含む。ページテ
ーブル(44)には、ページ形オブジェクト(38)に
対する物理アドレスを形14 成する際にプロセッサが使用するためのページテブルエ
ントリが記憶されており、各ページテブルエントりはペ
ージ権利フィールド(8工)を有する。オフセット(2
2)は、ページデープルエントリを位置指定する目的で
選択されたページテーブルに対して索引付けするために
使用されるページインデックス(PI)と、ページ形オ
ブンエクト(38)におけるデータエントリを位置指定
するためにページテーブルエントリに記憶されたペース
アドレス(79)と組合せて使用されるペーシオフセッ
h(PO)とを含む。保護は、ページテーブルエントリ
のページ権利フィールド(81)及びページテーブルデ
ィレクトリエントリの権利フィールド(50)をメモリ
アクセスのタイプと比較することにより実行される。ア
クセスがページテーブルディレクトリエントリのページ
権利フィールド(62)又はページテーブルエントリの
ページ権利フィールl’(50)と一致していない場合
には、誤りを起こす。
本発明の別の面によれば、命令オブジェクトの1つは権
利拡大命令であり、タイプ定義オブジェクト(74)が
設けられている。タイプ定義オブジェクトはスーパーT
DOビットである。TDOビットは、ゼロ(0)である
ときは、TDOにより指定されるタイプと一致するタイ
プのオブジェクト(拡張ビットが1である場合)、又は
指定されたTDOとTDOが一致しているオブジェクト
についてアクセス記述子の権利を拡大するためにTDO
か使用されるように、権利拡大命令の実行中に解釈され
る。TDOピットか王にセットされたときには、TDO
はあらゆるアクセス記述子の権利を拡大するために使用
される。
本発明の上記の目的、特徴及び利点と、その他の目的、
特徴及び利点は、添付の図面に示すような本発明の好ま
しい実施例の以下の詳細な説明から明白になるであろう
[実施例コ 本発明を具現化できるマイクロプロセッサは特許出願第
       号(D−1256)に更に詳細に示され
ている。簡単に要約すると、マイクロプロセッサは、論
理的には、命令取出し装置と、命令デコーダ/マイクロ
命令シーケンサと、変換索引バッファと、局所パスシー
ケンサと、整数実行装置/浮動小数点装置という5つの
主要装置に分割される。
変換索引バッファ(TLB)は、仮想メモリメカニズム
を実現するために必要なアドレス変換を実行する。アド
レス変換とメモリ保護には、記憶記述子及びページテー
ブルエントリから成る連想テーブルを使用する。TLB
はアドレスキャッシュと、アドレス加算器と、メモリ保
護検査用ハードウェアとを含む。
実行モード 特許出願第       号(D−1256)に記載さ
れているように、従来のオペレーティングシステムの効
率良いエミュレーションを支援するために、システムは
ユーザーモードと、スーパーバイザモードという2つの
実行モードを有している。システムは特権命令の概念を
規定しない。全ての命令はいずれか一方のモードで実行
可能であ」 7 る。プログラムはそのアクセス表示(rep)権利と、
その実行モードの性質によって特権を獲得する。現在線
形アドレススペースにおけるページrep権利の解釈は
実行モードによって異なる。
オペレーティングシステムが使用する記憶装置は、一般
に、ユーザーアクセスを許さないページrep権利を有
するが、スーパーバイザモードでは読取り専用又は読取
り/書込みであっても良い。
メモリ内の命令(14)は、オブジェクト(38)に対
する仮想メモリアドレスであるアドレス(20)を含む
と考えられる。このアドレスはプロセッサ内のプロセッ
サレジスタ(11)に記憶される。アドレスはオフセッ
ト(22)と、アクセス記述子(24)とを含む。アク
セス記述子(24)は、タグピット(33)を有する3
2ビツトのワードである。アクセス記述子はオブジェク
トインデックス(34)と、権利フィールド(35)と
を含む。オブジェクトインデックスは、メモリに記憶さ
れているオブジェクトに関する記憶記述子を含むオブジ
ェクトテーブル(42)への8 オフセットを提供する。それらのオブジェクトの中の1
つがページテーブル(44)である。記述子は符号化フ
ィールド(50)と、ベースアドレス(52)とを含む
。オブジェクトを記述するのは、共に物理オブジェクト
を表示する記憶ブロック及びページの物理的アドレスに
関するマツピング情報を提供するオブジェクトテーブル
(42)の中の1つのオブジェクトテーブルエントリで
ある。単純オブジェクトの場合、そのオブジェクトは物
理的アドレススペース内の1つのブロックにより直接に
表示される。物理アドレススペース(52)はオブジェ
クトテーブルエントリに記憶されている。オブジェクト
内部の情報は、仮想アドレスにおける単純オフセットを
使用して位置指定される。
ページ形オブジェクトは、単レベルページテーブルを使
用して1組の物理ページにより表示される。2ページ形
オブジェクト(38)は、ページテーブル(44)及び
ページテーブルディレクトリ(60)を使用して1組の
物理ページにより表示される。ページ形オブジェクト記
述子と呼ばれるページ形オブジェクトに関するオブジェ
クトテーブルエントリはページテーブルディレクトリ 
(60)の物理ベースアドレス(6エ)を含む。このデ
ィレクトリは、ページテーブル(44)を含むページテ
ーブルに関するページテーブルディレクトリエントリの
アレイである。ページテーブルディレクトリエントリは
、オフセット(22)に位置するページテーブルディレ
クトリインデックス(DI)を使用して索引付けするこ
とにより見出される。ページテーブルエントリは、オフ
セット(22)に位置するページインデックス(PI)
を使用して索引付けすることにより見出される。
2ページ形オブジェクトエントリは、オフセット(22
)に位置するページオフセット(P O)を使用して索
引付けすることにより見出される。
オブジェクトアドレッシング 論理アドレススペースと、仮想アドレススペスと、物理
アドレススペースの3種類のアドレススペースが規定さ
れている。論理アドレススペスは、オブジェクトセレク
タと、オブジェクトオフセットとを含む線形アドレスに
よってアクセスされる。仮想アドレススペースはオブジ
ェクトインデックス及びオブジェクトオフセットによっ
てアクセスされる。物理アドレススペースはオブジェク
ト/ページテーブルエントリ及びブロック/ページオフ
セットによってアクセスされる。
論1理アドレススペースは仮想アドレススペースにマツ
ピングされ、その仮想アドレススペースは物理アドレス
スペースにマツピングされる。各スペースのアドレスは
以下で説明するような特有の構造を有する。
物理アドレススペース 物理アドレススペースは読取り・書込みメモリ、読取り
専用メモリ及びメモリマツプ形入出力装置に対応する。
物理ワールドとの通信は物理アドレスによって行われる
。物理アドレススペースはバイトアドレス可能であり、
アクセスのサイズに従ってアライメントされたメモリア
ドレスに対して原子単位の、それ以上は分割できないア
クセス(読1−一 取り又は書込み)を保証しなければならない。すなわち
、ワードアクセスはワード境界にアライメントされなけ
ればならないのである。分割不可能なアクセスにより、
1組の記憶場所を読取っている又は書込んでいるプロセ
ッサは、別のプロセッサが同じ記憶場所の読取り又は書
込みを許される前に必ずその動作を完了することになる
。原子単位動作によれば、プロセッサが1組の記憶場所
を読取り且つ変更するとき、同じブロックに対して原子
単位動作を実行する別のプロセッサは動作を遅延される
ということが保証される。
仮想アドレススペース 仮想アドレススペースは、オブジェクトド呼ばれる互い
に独立したアドレススペースの集合体である。1つのオ
ブジェクトの中にあるデータは、いずれも、単純オフセ
ットにより位置指定される。
データの仮想アドレスは、所望のアドレススペースを選
択するオブジェクトインデックスと、アドレススペース
内のそのデータを選択するオブジェクトオフセットとい
う2つの要素により指定され22 る。仮想アドレススペースのサイズは許可されたオブジ
ェクトの数と、各オブジェクトの最大サイズとの積であ
る。
オブジェクトは保護の単位としても規定されている。仮
想アドレススペース内におけるアクセスを制御するため
に、システムはオブジェクトインデックスの生成を保護
し且つ制限する。アクセス記述子(AD)は1つのオブ
ジェクトインデックスを含むものとして規定されている
。システムは、通常のデータをADポインタ表示のため
に使用するのを許可しないことによって、ADポインタ
を保護する。アクセス記述子(AD)は仮想アドレスス
ペースにあるオブジェクトのいずれかを指示することが
できる。従って、仮想アドレスは保護されたオブジェク
トインデックス(すなわち、アクセス記述子)と、オブ
ジェクトへの非保護オフ論理アドレススペース 直接に又は間接的にアクセス可能であるアクセス記述子
を概念の七で組としてアセンブルすると、論理(又は瞬
時)アドレススペースと呼ばれる第3の種類のアドレス
スペースが形成される。論理アドレススペースは実行環
境の可視度を規定する。
複数の論理アドレスが単一の仮想アドレススペスにマツ
ピングされる。できる限り高い融通性を得るため、線形
アドレスと、構造化アドレスという2種類の論理アドレ
スを規定している。
第1の種類である線形アドレスは、実行環境を形成する
4つのオブジェクトにより規定される。
線形アドレスは従来のプロセスアドレススペースの観念
を表わすために使用される。所定の環境の中で解釈した
とき、線形アドレスは仮想アドレススペースにマツピン
グされる。線形アドレスの仮想アドレスへのマツピング
は命令解釈プロセスの基礎を威す部分である。線形アド
レスでは、オペランド規則子はオフセットのみを与える
。現、在線形アドレススペースは暗示されるのである。
線形アドレスの上位2ビツトは、実行環境を規定する4
つのオブジェクトの中の1つを暗黙に選択し、残る30
ビツトは選択されたオブジェクトへのオフセットである
第2の種類である構造化アドレスは仮想アドレス(すな
わち、アクセス記述子+オフセット)により規定される
。構造化アドレスは、高度オブジェクト指向保護機能を
呼び出すために使用される。
構造化アドレスでは、オペランド規則子は仮想アドレス
を与える。システムは命令ストリームの中でADを直接
指定することを許さないので、命令の中のオペランド規
則子のADセレクタを使用して、仮想アドレスのAD部
を間接的に指定しなければならない。ADセレクタは、
プロセッサレジスタに局所的に記憶されているADを指
定する。
これで、オブジェクトの瞬時アドレス可能塵を、プロセ
ッサレジスタのADによりアクセス可能なものだけに限
定することになる。
アクセス記述子とその権利 アクセス記述子(AD)はアドレススペース内□25 のオブジェクトに対する非保護ポインタである。
システムはアクセス記述子を偶発的な又は悪意による生
成や変更から保護する、 プログラムはオブジェクトを直接アドレスすることがで
きず実行環境内のアクセス記述子を介して間接的にアド
レスできるだけである。プログラムはオブジェクトに対
するアクセス記述子なしではそのオブジェクトを参照で
きないので、プログラムの可視度を、それがアクセスし
なければならないオブジェクトのみに限定することが可
能である。
アクセス記述子はオブジェクトインデックスと、権利と
、寿命ビットとを情報として含む。オブジェクトインデ
ックスはオブジェクトを選択し、権利はADにおける読
取り権利、書込み権利及びタイプ権利を指定する。権利
はオブジェクトについて許容しうる動作を示す。権利は
アクセス記述子と関連しており、オブジェクト自体と関
連しているのではない。すなわち、異なるアクセス記述
子を選択すれば、同一のオブジェクトに対して異なる6 権利を有することが可能である。寿命ビットは、ADが
参照するオブジェクトの寿命を示す。
ADからオブジェクトへのマツピング オブジェクトは、システム幅の被保護ポインタであるア
クセス記述子を使用して参照される。アクセス記述子の
中のオブジェクトインデックス(34)は、システム幅
のオブジェクトテーブル(42)の1つのオブジェクト
テーブルエントリ(OTE)を選択する。オブジェクト
テーブルエントリは参照するオブジェクトの場所、サイ
ズ、タイプなどを指定する。
記憶ブロックとページ 記憶ブロック及びページ オブジェクトは、物理的にいえば、記憶プロ・ツク及び
/又は1組のページから構成されている。
ブロックは物理アドレススペース内の連続する1つの領
域である。ブロックを使用して1つの単純オブジェクト
、ページテーブル又はページテーブルディレクトリを表
すことができる。
記憶ブロックのベースアドレスはそのプロ・ツクの第1
の可視バイトを指示する。記憶ブロックのベースアドレ
スは64バイトの物理アドレス境界にアライメントされ
ていなければならない。1つのブロックの長さは64バ
イトから4096バイトまで様々である。ブロックが4
にバイト境界を越えることはできない。
1つ又は2つのレベルのページテーブルを伴なう1組の
ページによって1つのオブジェクトを表示することも可
能である。第1のレベルのテーブルはページではなく、
記憶ブロックである。2ページオブジェクト(38)を
規定するページは、ページテーブル(44)により表わ
される。ページは4にバイトの一意サイズのブロックで
あり、そのベースアドレスは4にバイト境界にアライメ
ントされている。
タグ付は オブジェクトはアクセス記述子及び/又はブタ、すなわ
ち、何らかの2進情報を含んでいても良い。アクセス記
述子とデータは同一のオブジェクトにあることができ、
任意の順序でインクリブすることも可能である。システ
ムによっては、アライメントされているメモリ内の各4
バイトワドがデータであるのか、又は有効なアクセス記
述子であるのかを指示するために、ワードを1つのタグ
ビットと関連させているものがある。有効なアクセス記
述子は4バイト境界にアライメントされていると共に、
そのタグビットが1にセットされていなければならない
。0のタグビットは、ワードがデータ又は参照を不可能
にする、すなわち、オブジェクトの内容を参照するため
に使用できないようなアクセス記述子を含むことを示す
ために使用される。
システムによっては、タグビットを利用できない。その
ようなシステムでは、ワードをデータとして解釈するか
、又はアクセス記述子として解釈するかは動作によって
決まる。
ワード全部のワードアライメント読取り又は書込みの際
、動作に応じて、タグビットは保存されるか又は0にセ
ットされる。非ワードアライメント読取り又はワードの
一部の読取りの場合には、9− 返される値のタグビットは常に強制的にOとされる。デ
ータ操作(演算又は論理)命令は、ソースオペランドの
タグビットとは無関係に、タグビットが強制的にOにさ
れた結果を生成する。タグ付けは特許出願第     
  号(D−1256)に更に詳細に説明されている。
タイプ付きオブジェクト いくつかのオブジェクトの内部編成は、そのアドレスス
ペースの内部のデータ構造を指定し且つ解釈することに
より規定される。そのようなオブジェクトは保護システ
ム、プロセス間/プロセッサ間通信システム及び記憶管
理システムにおいて重大な役割を果たす。それらのシス
テム規定オブジェクトを認識すると共に、その使用を制
限するために、それぞれのオブジェクトをコードによっ
て識別しても良い。コードはオブジェクトタイプと呼ば
れ、オブジェクトのアドレスマツピング情報と共に維持
される。本発明によれば、ユーザーは独自のオブジェク
トタイプを考案し、それらのタイプに一意のタイプコー
ドを割り当てることが30 できる。
オブジェクトオフセット オブジェクトオフセットはオブジェクト内の1つのデー
タを指定するために使用される32ビツト順序数である
。これはオブジェクト内のデータ又はアクセス記述子を
指示することができる。オブジェクトオフセットは複数
のフィールドに分割されている。それらのフィールドを
どのように解釈するかはオブジェクトの表示によって決
まる。
オブジェクトサイズ オブジェクトのサイズはオブジェクトテーブルエントリ
(OTE)の符号化フィールド(50)に指定されてい
る。仮想アドレス(20)のオブジェクトオフセット(
22)にオペランドサイズを加えたものを、アドレス変
換ごとに、参照したオブジェクトのサイズと比較する。
この動作は上下限検査と呼ばれ、別のオブジェクトに属
していると思われるデータが指定オブジェクトを越えて
参照されるのを阻止する。
オブジェクトの表示 オブジェクトは、共に物理オブジェクトを直接に又は間
接的に表示する記憶ブロックとページの物理アドレスに
関してマツピング情報を提供するオブシエクトテーブル
エントりにより表される。
システムは様々に異なる最大オブジェクトサイズに対し
て3種類のマツピング方式を使用して、オブジェクト表
示オーバーヘットを最小限に抑える。
単純オブジェクト。単純オブジェクトは物理アドレスス
ペース内の1つのブロックにより直接表示される。物理
ベースアドレスはオブジェクトテブルエントリに直接記
憶される。そのようなエントリを単純オブジェクト記述
子と呼ぶ。
ページ形オブジェクト。ページ形オブジェクトは単しベ
ルーシテーブルを使用して1紐の物理ペシにより表示さ
れる。ページ形オブジェクト記述子と呼ばれるページ形
オブジェクトのオブジェクトテーブルエントリは、ペー
ジに関するページテーブルエントリのアレイであるペー
ジテーブルの物理アドレスを含む。
2ページ形オブジェクト。2ページ形オブジェクトは2
レベルの一ジテーブルを使用して王組の物理ページによ
り表示される。第1図に示す通り、2ページ形オブジェ
クト記述子と呼ばれる2ベシ形オブジェクトのオブジェ
クトテーブルエントリは、図示したページテーブル(4
4)を含めたページテーブルに関するページテーブルエ
ントリのアレイであるページテーブルディレクトリ (
60)の物理アドレスを含む。
単純オブジェクトは単純オブジェクト記述子により規定
され且つ単一のブロックにより表示される。単純オブジ
ェクト記述子は物理ペースアドレスと、ブロック長さを
含む。単純オブジェクトは4にバイトの物理アドレス境
界を越えて広がることができない。
単純オブジェクトオフセットは次のように区分されてい
る。
ディレクトリインデックスDI(ビット22から31)
。この10ビツトフイールドはOでなければならない。
そうでない場合には、PROTECTION誤りが起こ
る。
3 ページインデックスPI(ビット12から21)。この
10ビツトフイールドは10でなければならない。そう
でない場合には、PROTECTION誤りが起こる。
ブロックオフセットSo(ビットOから11)。
この12ビ゛ットフィールドは、オペランドの第Iのバ
イトの物理アドレスを形成するためにブロックのヘース
アトレスに加算されるバイト変位である。
ページ形オブジェクト ベージ形オブジェクトは、ベーン形オブジェクト記述子
と呼ばれるオブジェクトテブルエントリレベルのページ
テーブルによって実現される。各ページは個別的にスワ
ップ及び再配置が可能であるので、物理アドレススペー
スに同時にページ形オブジェクトの全てのオブジェクト
か現われている必要はない。ページ形オブジェクトの1
つの項目をアクセスするためには、ページテーブルと選
択されたページを物理アドレススペース内に配置4 するだけで良い。
ページ形オブジェクト記述子はオブジェクト長さを含む
が、オブジェクトを表示しているページのベースアドレ
ス(45)を含んでいない。ページ形オブジェクト記述
子のベースアドレスフィールド(45)はページテーブ
ルブロックのベースアドレスを含む。ページテーブルブ
ロックの長さはオブジェクトのオブジェクト長さによっ
て規定される。
ページ形オブジェクトオフセット(22)は次のように
区分されている。
ディレクトリインデックスDI(ビット22から31)
。この10ビツトフイールドはOでなければならない。
そうでない場合には、PROTECTION誤りが起こ
る。
ページインデックス、PI(ビット12から21)。こ
の10ビツトフイールドは、ページテーブルエントリに
関して選択されたページテーブル(44)に索引付けす
るために使用される。
ページオフセット、PO(ビットOから11)。
この12ビツトフイールドは、バイト変位であり、ペー
ジ形オブジェクト(38)におけるオペランドの第1の
バイトを形成するためにページのページテーブルエント
リのベースアドレス(45)に付加される。
2ページ形オブジェクト 第1図を参照。2ページ形オブジェクト(38)は、2
ページ形オブジェクト記述子と呼ばれるオブジェクトテ
ーブルエントリ(50,52)により表わされる。2ペ
ージ形オブジェクトは2レベルのページテーブルによっ
て実現される。各ページ又はページテーブルは個別的に
スワップ及び再配置が可能であるので、2ページ形オブ
ジェクトの全てのページ又はページテーブルが同時に物
理アドレススペースに現れている必要はない。2ページ
形オブジェクトの1つの項目をアクセスするためには、
ページテーブルと、選択されたページテーブルと、選択
されたページとを物理アドレススペースに配置するだけ
で良い。
2ページ形オブジェクト記述子はオブジェクト長さを含
むが、ページのベースアドレスと、オブジェクトを表示
するページテーブルを共に含んでいない。2ページ形オ
ブジェクト記述子のベースアドレスフィールド(52)
は、ページテーブルデイレクトリブロック(60)のベ
ースアドレスを含む。ページテーブルデイレクトリブロ
ックの長さはオブジェクトのオブジェクト長さによって
規定される。
2ページ形オブジェクトオフセツトは次のように区分さ
れている。
ディレクトリインデックスDI(ビット22から31)
。ディレクトリインデックス(70)は、2ページ形オ
ブジェクト記述子により指定されるページテーブルディ
レクトリにおいて1つのページテーブルエントリを選択
する。
ページインデックスPI(ビット12から21)。ペー
ジインデックス(72)は、指定されたページテーブル
において1つのページテーブルエントリを選択する。
ページオフセットPO(ビット11からO)。
7 ページオフセット(74)はページへのオフセットとし
て使用される。ページオフセットは、オペランドの第1
のバイトに関する物理アドレスを形成スルために、(ペ
ージテーブルエントリ内の)ベースアドレスに付加され
る。
オブジェクト寿命 いくつかのオブジェクトの暗黙の割当と解除を支援する
と共に、懸垂参照を阻止するために、システムはオブジ
ェクト寿命の概念を規定している。
懸垂参照は、相対的に短い寿命をもつオブジェクトを指
示するアクセス記述子が長い寿命をもつオブジェクトに
記憶された場合にのみ起こりうる。
アクセス記述子、オブジェクト記述子及びページテーブ
ルエントリの符号化フィールドの部分にある局所オブジ
ェクト寿命ビットは、システムがオブジェクトの寿命を
確定し且つ潜在的懸垂参照アクセス記述子が記憶される
のを阻止するための手段となる。
局所ビット 局所ビットは各オブジェクトと関連し、その相8 対寿命を示す。局所ビットはオブジェクトに関するオブ
ジェクト記述子の符号化フィールド部、たとえば、オブ
ジェクトテーブル(42)の記憶記述子の符号化フィー
ルド(50)に位置している。
0の値は、オブジェクト寿命が規定されていないオブジ
ェクト寿命をもつ大域オブジェクトを示す。
1の値は、オブジェクト寿命が規定されている局所オブ
ジェクトを示す。
寿命検査 第7図を参照。オブジェクト寿命の検査は、ADが1つ
記憶されるたびに実行される。これには、ソースADと
宛先記憶場所の寿命を比較することが必要であるので、
その動作を寿命検査と呼んでいる。有効ソースADの関
連する局所ビットが1にセットされており且つ(オブジ
ェクトテーブルエントリ又はページテーブルエントリの
)宛先記憶場所の寿命に関連する局所ビットが0(大域
寿命の値)にセットされている場合、PROTECTI
ON、 LIFETTME誤りを報知する。宛先記憶場
所は、他に保護誤りかなければ変更されても良いが、局
所寿命のADは決して宛先に記憶されてはならない。
第7図によれば、AD (24)の符号化フィールド(
35)のAD局所ビットを、OTE寿命検査論理(15
0)で、宛先オブジェクト寿命であるOTEアクセス記
述子の符号化フィールド(50)のOTE局所ビットと
比較する。OTEの符号化フィールド(50)のOTE
局所ビットを、PDTE寿命検査論理(152)で、宛
先オブジェクト寿命であるPDTEアクセス記述子の符
号化フィールド(62)のPDTE局所ビットと比較す
る。PDTEの符号化フィー7レド(62)のPDTE
局所ビットを、PTE寿命検査論理(154)で、宛先
オブジェクト寿命であるPTEアクセス記述子の符号化
フィールド(62)のPTE局所ビットと比較する。こ
れらの検査のいずれかが失敗であれば、0R(156)
の出力端子で保護寿命誤り(158)が起こる。
システムオブジェクトの暗黙の操作においては、明示し
て指定しない限り、寿命検査は無視される。
アクセス記述子がメモリに記憶されると、まず、寿命検
査が実行される。アクセス記述子がメモリに書込まれた
ときには、寿命検査は実行されない。
マツピングテーブル オブジェクトテーブルのオブジェクト オブジェクトテーブルのオブジェクト(42)は仮想ア
ドレスマツピングの根として働く。オブジェクトテーブ
ルは16バイトオブジェクトテーブルエントリのアレイ
である。アクセス記述子(24)のオブジェクトインデ
ックスフィールド(34)はオブジェクトテーブル(4
2)の1つのオブジェクトテーブルエントリを選択する
。オブジェクトテーブルエントリについては以下に説明
する。
オブジェクトテーブルはシステム規定システムタイプを
有していない。オブジェクトテーブルOTに対するポイ
ンタであるADは大域寿命を有するが、オブジェクトテ
ーブル(OT)のオブジェクトテーブルエントリ(OT
E)又はページテーブルエントリは局所寿命を有してい
なければならない。これは、OTE及び組込み記述子に
おける1 タイプ規定オブジェクト(TDO)ADを支援するため
に必要である。
単一のシステム幅仮想アドレススペースを共用する全て
のプロセッサに対して、1つのシステム幅オブジェクト
テーブル(OT)が存在している。
システム規定オブジェクトインデック2次のようなオブ
ジェクトインデックスが規定されている。
オブジェクトインデックス       目的O空AD
のために予約 1〜7      保持 8        オブジェクトテーブル9〜15  
   保持 16〜31    オブジェクトタイプO〜15のため
のデイフォルトT o  AD ページテーブル又はページテーブルディレクトリページ
テーブル(44)は、ページ形オブジlクト及び2ペー
ジ形オブジェクトについてルベル又は2レベルのマツピ
ングを実行するために使2 用される。ページテーブルディレクトリ (60)は、
2ページ形オブジェクトについて第1のレベルのマツピ
ングを実行するために使用される。ページテーブル(又
はページテーブルディレクトリ)は、ページのベースア
ドレスを規定するページテーブルエントリ(又はページ
テーブルディレクトリエントす)と、仮想メモリ管理及
びガーベーシコレクションのための他の情報を含む。
ページテーブルとページテーブルディレクトリはシステ
ム認識されるが、オブジェクトではなく、システムタイ
プを有していない。
ページテーブル(44)は、それぞれが4バイトの長さ
をもつページテーブルエントリのアレイである。ページ
テーブルの各ページテーブルエントリは、ページ形オブ
ジェクト又は2ページ形オブジェクトにおける1つのペ
ージを表す。ページテーブルディレクトリ (60)の
各ページテーブルディレクトリエントリは、2ページ形
オブジェクト(38)に関するページテーブル(44)
を示す。
ページ形オブジェクトのページテーブル又は2ページ形
オブジェクトのページテーブルディレクトリは可変サイ
ズを有し、どの64バイト境界にもアライメントできる
。2ページ形オブジェクトのページテーブルは4にバイ
トのサイズでなければならず、また、4にバイト境界に
アライメントされていなければならない。
ページテーブルとページテーブルデイレクトりはオブジ
ェクトではないので、仮想アドレススペースで直接アク
セスできない。本発明の一実施例においては、物理アド
レスを使用してアクセスする。
本発明の別の実施例では、ページテーブルを、それらが
規定しているオブジェクトの一部にマツピングする。こ
の第2の方法によれば、ページテーブルディレクトリ又
はページテーブルの物理アドレスを複製する。ソフトウ
ェアは、ページスワップ中に物理アドレスの別名が更新
されるように保証する。
記述子のフォーマット データワード データワードのフィールドは次のように規定されている
データ(ビットOから31)。このフィールドは何らか
のデータ値を含む。
タグ(タグビット)。このビットはデータ値に関しては
Oである。
アクセス記述子 第3図はアクセス記述子を示す。アクセス記述子のフィ
ールドは次のように規定されている。
読み取り権利(ビットO)。このビットは、このアクセ
ス記述子により参照されるオブジェクトの内容を読み取
ることが許可されることを指示する。
書込み権利(ビット1)。このビットは、このアクセス
記述子により参照されるオブジェクトの内容を書込むこ
とが許可されることを指示する。
タイプ権利(ビット2から4)。この3ビツトフイール
ドをどのように解釈するかは、参照されるオブジェクト
のオブジェクトタイプによって決まる。
5 ビットの名前  AD中のビット位置 タイプ権利1   ビット2 タイプ権利2   ビット3 タイプ権利3   ビット4 局所(ビット5)。このビットはオブジェクトの寿命を
示す。このビットは大域オブジェクトについてはOであ
り、局所オブジェクトについては1である。
オブジェクトインデックス(ビット6から31)。この
26ビツトフイールドはオブジェクトテブルの1つのオ
ブジェクトテーブルエントリを選択する。
タグ(タグビット)。有効アクセス記述子の場合、この
ビットは1でなければならない。
混合ワード 混合ワードはで一タワードと、アクセス記述子とが合体
したものである。すなわち、コンチクストに応じて、混
合ワードをデータワード又はアクセス記述子のいずれか
としてみなすことができる。
混合ワードの値は次のようなりラスに分割され6 る。
(J、)  有効アクセス記述子。有効アクセス記述子
では、タグビットが1にセラI・されている。
対応するインデックスに関するオブジェクトが規定され
ていれば、ここからオブジェクトを参照することができ
る(これを使用してオブジェクトの内容を参照すること
ができる)。ADが期待されるときにタグビットか0で
ある場合には、C0N5TR八INT、 TNV八Tへ
 I D八り誤りが起こる。
(2) データ。データワードのタグビットはOにセッ
トされている。データ値が生成されると、タフビットは
常にOにセットされる。データ値が期待されるとき、タ
グビットは無視され、0であると解釈される。データ値
が期待されるときにタグビットが1である場合には、誤
りは起こらない。
仮想アドレス 第3図は、仮想アドレスのフォーマットを示す図である
。仮想アドレスのフィールドは次のように規定されてい
る。
オブジェクトオフセット(バイトOから3)。
この32ピツトフイールドは、仮想アドレス中のアクセ
ス記述子により参照されるオブジェクトへの順序数オフ
セットを含む。
アクセス記述子(バイト4から7)。このADは、この
仮想アドレスにより参照されるオブジェクトを指定する
。ADは、この仮想アドレスを使用する許容された動作
をさらに指定する。
オブジェクトテーブルエントリ オブシエクトテーブル(42)は次に示すようなタイプ
のオブジェクトテーブルエントリを含むことができる。
オブジェクトテーブルエントリは全て16バイトのサイ
ズである。特定のオブジェクトテーブルエントリは各オ
ブジェクトテーブルエントリのエントリタイプフィール
ド(ビット96から98)により次のようにして認識さ
れる。
00〇−無効オブジェクトテーブルエントリ001−組
込み記述子 010−無効単純オブジェクト記述子 011−@純オブジェクト記述子 、、 OO−無効ページ形オブジェクト記述子101−
ページ形オブジェクト記述子 工J〇−無効2ページ形オブジェクト記述子111−2
ページ形オブジェクト記述子終わりの6つの記述子をま
とめて記憶記述子という。記憶記述子のフォーマットを
第4図に示す。
有効な記憶記述子は物理アドレスを含む。無効の記憶記
述子−この場合、ベースアドレスフィールドは有効であ
ってはならない−は、選択されたオブジェクトをアクセ
スできないことを示すために使用される。
無効単純オブジェクト記述子又は無効ページ形オブジェ
クト記述子又は2ページ形オブジェクト記述子のフィー
ルドは次のように規定されている。
TDOAD(ビット32から63)。このフィルド(5
↓)はこのオブジェクト記述子と関連するタイプ定義オ
ブジェクトADを含む。
予約(ビット68から69)。このフィールドはOでな
ければならない。
ベースアドレス(ビット70から95)。この26ビツ
トフイールド(52)はブロック、ぺ9 ジテーブルディレクトリの物理ベースアドレス(64バ
イト単位)を含む。これは2°32バイトの物理アドレ
ススペースを構成する。このフィルトは無効記憶記述子
では解釈されない。
エントリタイプ(ビット96から98)。この3ビツト
フイールドはオブジェクトテーブルエントリのタイプと
、記述子の残り部分の定義を示す。
アクセス状態(ビット99から103)。この5ビツト
フイールドについては次の項で説明する。
このフィールドは単純オブジェクト記述子でのみ規定さ
れる。このフィールドは他のエントリタイプのために保
持される。
オブジェクト長さ(ビット114から119)。
このフィールドは、ベースアドレスフィールドにより参
照される記憶ブロックの64バイト単位の(符号化)長
さを含む、 「符号化」という用語は、長さフィールドで、そのフィ
ールドが実際の長さではなく、実際の長さ−1を含むこ
とを示すために使用される。
単純オブジェクトでは、このフィールドはこの0 記述子により規定される64バイト単位の(符号化)長
さを含む。
ページ形オブジェクト記述子では、このフィルドはこの
記述子により規定される64にバイト単位の(符号化)
長さ、すなわち、ページテーブル内のページテーブルエ
ントりの数(−1)/16を含む。
2ページ形オブジェクト記述子では、このフィールドは
この記述子により規定される64Mバイト単位の(符号
化)長さ、すなわち、ページテーブル登録簿内のページ
テーブルエントリの数(1)/16を含む。
戻し書込み(ビット122)。このビットは、セグメン
ト、すなわちページがキャッシュ可能である場合に、オ
ブジェクトについて戻し書込みキャッシングをイネーブ
ル子る。
オブジェクトタイプ(ビット124から127)。この
4ビツトフイールドはオブジェクトのオブジェクトタイ
プを符号化する。
アクセス状態 アクセス状態フィールドは、ブロック及びページの管理
のための情報を含む。これは単純オブジェクト記述子と
、有効ページテーブルエントリ(PTE)とで見られる
。このフィールドは無効オブジェクト記述子、ページ形
/2ページ形オブジェクト記述子、そしてページテーブ
ルディレクトリエントリ(PTDE)には現れない。
第4図に示すアクセス状態フィールドの5つのビットは
次のように規定されている。
アクセス済み(OTEではビット99、PTEではビッ
ト3)。このビットは、この記述子によって規定される
オブジェクト又はページが既に参照(読取り又は書込み
)されていることを示す。関連する記憶装置が参照され
る前に、このビットは確実に1となる。このビットはス
ティッキービットである(すなわち、システムにより暗
黙にセットされるが、決してクリアされない)。
変更済、み(OTEではビット100、PTEではビッ
ト4)。このビットは、この記述子により規定されるオ
ブジェクト又はページが既に重ね書きされていることを
示す。このビットは、関連する記憶装置が重ね書きされ
る前に、確実に1になる。このビットはスティッキーピ
ットである(すなわち、システムにより暗黙にセットさ
れるが、決してクリアされない)。
混合済み(OTEではビット10、、PTE又PTDE
ではビット5)。このビットは、この記述子により規定
されるオブジェクト又はページにADが書込まれている
ことを示す。このビットは、関連する記憶装置がOでな
いタグビットによって重ね書きされる前に、確実に1に
なる。このビットはスティッキービットである(すなわ
ち、システムにより暗黙にセットされるが、決してクリ
アされない)。
キャッシュ可能(OTEではビット102、PTEでは
ビット6)。このビットは、この記述子により規定され
るオブジェクト又はページをキャッシュできることを示
す。キャッシュ可能ビットは次のように符号化されてい
る。
0−キャッシュせず 3 1−キャッシュ可能 局所(OTEではビット103、PTEではビット7)
。このビットは、この記述子により規定されるオブジェ
クト又はページの寿命を示す。大域オブジェクト又は大
域ベージの場合は0であり、局所オブジェクト又は局所
ページの場合には1である。
メモリアクセス時に、メモリのOTE/PTEのアクセ
ス済みビット、変更済みビット又は混合済みビットを1
にセットすることが必要になる場合がある。この動作は
原子単位動作を使用して実行される。キャッシュ可能性
と、局所ビットは全く変更されない先行読取りの際にO
TE/PTEが有効であり且つ特定のOTE/PTEで
TLB無効化動作が実行されていない限り、原子単位読
取りにより戻されたOTE/PTEが無効であっても、
それらのビットを変更することが許容される。
OTE/PTEがソフトウェアにより無効化されたとき
は、アクセス済みビット、変更済みピッ54 ト及び混合済みビットを同時に変更しても良いので、ま
ず、有効ビットを変更すべきである。
アクセス済みビット、変更済みビット及び混合済みビッ
トがメモリにおいてRMW動作を使用して更新されたと
きには、元のOTE/PTEの有効ビットを変更しなく
とも良い。
組込み記述子 組込みオブジェクト記述子 組込み記述子は特殊なシステム規定で一夕構造を保持す
る。システトにより規定される唯一のそのようなデータ
構造はセマフォーである。
組込み記述子のフィールドは次のように規定されている
記憶領域(ビットOから95)。この12バイト領域は
で一夕構造を表示するために使用される。
エントリタイプ(ビット96から98)。このフィール
ドは、組込み記述子の場合、l#oo1#である。
デイフォルトTDO使用(ピッI−99>。セットされ
ていれば、この記述子は関連するデイフォルhTDoを
有する。クリアされていれば、TDOADは記述子のビ
ット32から63にあると仮定される。(通常、ソフト
ウェアは組込み記述子のこのビットをセットするものと
考えられる)。
タイプ(ビット124から127)。システムにより規
定される唯一の値はOlo Oであり、これは、初めの
3つのワードがセマフォーを保持しているであろうとい
うことを示す。
無効オブジェクトテーブルエントリ 無効オブジェクトテーブルエントリのフィールドは次の
ように規定されている。
TDOAD(ビット32から63)。このフィールドは
記憶記述子の場合と同じように解釈されるが、それは、
デイフォルトTDO使用フラグがクリア状態であるとき
に限られる。
エントリタイプ(ビット96から98)。このフィール
ドは、無効オブジェクトテーブルエントリの場合、2#
OOO#である。
デイフォルトTDO使用(ビット99)。セットされて
いれば、この記述子は関連するデイフォルトTDOを有
する。クリアされていれば、TDOADは記述子のビッ
ト32から63にあると想定される。
オブジェクトタイプ(ビット124から127)。この
フィールドは記憶記述子の場合と同じように解釈される
ページテーブルエントリ ページテーブル又はページテーブルディレクトリは同様
のフォーマットの4バイトページテーブルデイレクトリ
エントリのアレイを含む。ページテーブルディレクトリ
におけるページテーブルエントリはページテーブルを指
定し、ページテーブルにおけるページテーブルエントリ
はページを指定する。
有効ページテーブルエントリ(PTE)又は有効ページ
テーブルディレクトリエントリ (PTDE)のフィー
ルドは次のように規定されている。
有効(ビットO)。このビットは、有効なペジテーブル
エントリ又はページテーブルディレクトリエントリを指
示するために1である。
7 ページ権利(ビット1〜2)。この2ビツトフイルトは
、(ページテーブルエントリでは)このページの内容に
ついて、又は(ページテーブルディレクトリでは)この
ページテーブルによるページに対して、異なる複数の実
行モートの許容された動作(読取り又は書込み)を符号
化する。1つのページが2組以上のページ権利により制
御されることもありうるので、有効権利は最小限でも全
ページ権利である。
アクセス状態(ビット3から7)。この5ビツトフイー
ルドは記憶記述子におけるアクセス状態フィールドと同
様のものである。このフィールドはページテーブルエン
トリの場合に規定され、ペシテープルディレクトリエン
トリの場合には保持される。
ベースアドレス(ビット12から31)。この20ビツ
トフイールドはページの物理ベースアドレス(4096
バイトの単位ページ)を含む。
無効ページテーブルディレクトリエントリのフィルドは
次のように規定されている。
8 有効(ビットO)。このビットは、無効のベジテープル
ディレクトリエントリを指示するために0である。
仮想アドレス変換 メモリ要求に対し、命令は、それが読取りアクセスであ
れ、書込みアクセスであれ、アクセス記述子と、オブジ
ェクトオフセットと、要求の長さとを指定する。
以下、ページ形オブジェクトをアクセスするための仮想
アドレスから物理アドレスへの変換を説明する。
(1)  要求の長さをオブジェクトオフセットに加算
することにより、メモリ要求の最終バイトを計算する。
(2) 要求を2つの別個のメモリ要求として実行する
(3) 要求のタイプが必要とするrep権利を確定す
る。
(4) 必要な権利がADの読取り権利及び書込み権利
の中に提示されていなければ、PROTECTION誤
りを起こす。
(5) アクセス記述子のオブジェクトインデックスに
より選択されたオブジェクトテーブルエントリを読取る
。エントリタイプと有効ビットはオブジェクトテーブル
エントリの符号化フィールドにある。エントリタイプが
適切でなければ、DESCRIPTOR誤りを起こす。
オブジェクトテーブルエントリが有効記憶記述子でなけ
れば、VIRTUAL 1lEl[ORY誤りを起こす
(6) この説明に際しては、オブジェクトテーブルエ
ントリはページ形オブジェクトのものであると仮定する
。メモリ要求のアドレスのオフセット部に見られるディ
レクトリインデックスとページインデックスがページテ
ーブルに見られるベージ形オブジェクト記述子における
オブジェクト長さより大きい場合いには、PROTEC
TION誤りを起こす。
(7) ページインデックス(アドレス中のオフセット
のビット12から21にある)を4倍し、それをオブジ
ェクト記述子(オブジェクトテーブル中の)のベースア
ドレスに加算して、選択されたデータページテーブルエ
ントリ(ページテーブル中の)の物理アドレスを形成す
る。
(8) ページテーブルエントリを読取り、ページテー
ブルエントリが無効であるとマークされていれば、VI
RTUAL IIEMORY誤リヲ起コス。
す9) アクセス記述子権利がページ権利を越える場合
には、RIGHTS PROTECTION誤りを起こ
す。
(10) ページオフセット(アドレスオフセットフィ
ールドのビットOから11.にある)をページテーブル
のページテーブルエントリにあるベースアドレスと組み
合わせて、メモリ要求により参照されたページ形オブジ
ェクトの物理アドレスを形成する。
オブジェクト参照試験 COMPARE−自IXEDとCHEIJ TAGCO
MPAREjTXED命令は2つのAD又はデータが互
いに等しいか否かを比較する。2つのオペランドがAD
である場合、命令はそれらが同一のオブジェクトを参照
するか否かを試験する。2つのオ1 ペランドがデータである場合には、命令はデータ値が等
しいか否かを試験する。CHECK TAG命令はタグ
ビットを検査する。
スーパーバイザモードにあるタグなしシステムでは、タ
グビットはCOMPARE MIXEDにおいてセット
されると仮定される。
ADかアクセス変数を表すために使用しているAda式
1−アクセス−タイプ−変数−ヌル」では、オブジェク
トを参照するために依然として非ゼロデータ値を全く使
用できないので、C0IIPARE MIXEDの代わ
りに0を伴なってCIIECK TAGを使用すべきで
ある。
アクセス記述子の生成 保護システムは、タグビットが任意に1にセットされな
いこと、寿命検査をバイパスしないこと及びミューデー
タ動作を無視しないことを要求するが、被制御状況の下
では、システムソフトウェアが既存のオブジェクトに対
してアクセス記述子(AD)を生成しなければならない
場合もある。
これはCREATE ACCESS DI’:5CRI
PTOR命令によって実2 行される。
CREATE ACCESS DESCRIPTOR命
令はデータワードをADに変換する。
オブジェクトアドレッシング命令 LO八へ  PFIYSICAL  ADDRESSl
、OAD PITYSICAL ADDRESS命令は
オペランドの物理アドレスを戻す。
タイプ管理とアクセス制御 タイプ付きオブジェクト 本発明によるタイプ付はメカニズムには、システムタイ
プと、拡張タイプの2種類がある。それらは互いに排他
的ではない。システムタイプはあらかじめ規定されたオ
ブジェクトの特性であると見なすことができ、一方、拡
張タイプはタイプの一意識別子を構成し、タイプ特有の
ソフトウェア規定機能を実行させる。システムタイプメ
カニズムは、特定のシステムタイプのオペランドを要求
するシステムタイプ特有の命令を実行させるものである
。拡張タイプメカニズムはユーザーが規定したタイプを
支援する。これにより、ソフトウェア規定タイプ特有動
作と、拡張タイプの特定動作とか、それらの指定の機能
を実行する前に、オブジェクトのタイプを検査すること
が可能になる。
この機能はタイプマネシャ方式のプログラミングを支援
する。
タイプ定義オブジェクト(74)は、通常、いくつかの
タイプ特有手順を提供するタイプマネシャトメインオブ
ジェクト(71)に対する参照(75)を含む。
オブジェクトタイプフィールド オブジェクトのシステムタイプは、そのオブジェクト記
述子のオブジェクトタイプフィールドにより指定される
(特許出願第      号(D1256)を参照)。
システムタイプのlっは、アーキデクチャ規定フィール
ドを含まない総称(すなわち、単純平坦アドレススペー
ス)である。
オブジェクトタイプフィールドは次のように符号化され
ている。
符号化(2進)   オブジェクトタイプoooo  
     総称 0001       タイプ定義オブジェクト001
0       プロセスオブジェクト0011   
   ドメインオブジェクト0100       予
約 010エ      ポートオブジェクト0110−0
111  予約 1000〜1(↓l システムソフトウェアのために利
用可能 アーキタクチャは組込み記述子について1つのタイプ値
、すなわち0100を規定しており、これはセマフォー
を表わす。
タイプ定義オブジェクト(T D O)第1図を参照。
オブジェクト(38)の拡張タイプは、オブジェクトテ
ーブル(42)のオブジェクト記述子と関連するタイプ
定義オブジェクトのアクセス記述子(51)により、明
示して又はデイフォルトを介して指定される。デイフォ
ルトのタイプ定義オブジェクト(TDO)を使用すべき
場65 合、そのデイフォルトTDOに関するオブジェクトイン
デックスはオブジェクト又は組込み記述子のタイプ符号
化に16を加えたものである。たとえば、セマフォーの
場合には1.デイフォルトTDOはオブジェクトテーブ
ルのエントリ20である。
タイプ定義オブジェクトは、タイプマネジャドメイン(
71)に対する参照アドレス(75)を含む。タイプマ
ネジャトメイン(71)は、特定のオブジェクトタイプ
の実例を管理するために使用される他の情報を含む。こ
れらのタイプマネシャトメインは、手順(77)として
又は場合によっては独立プロセスとしてプログラムされ
ているソフトウェア規定、タイプ特有動作を参照する。
TDOAD (51)のオブジェクトインデックスを拡
張夕、イブの一意識別子と17で使用することもできる
。このように、2”26(64メガ)までの拡張タイプ
を規定できる。
システムオブジェクトの場合、オブジェクトタイプはタ
イプ特有命令のセットを指示するために使用されるが、
タイプ定義オブジェクトを使用し6一 て、アーキテクチャ規定、タイプ特有動作に対しソフト
ウェア(すなわち、手順の上の)拡張を実行することが
可能である。
同じシステムオブジェクトタイプの異なる実例と様々に
異なるタイプ定義オブジェクトが関連していることはあ
りうる。これにより、アーキテクチャ規定命令に対する
ソフトウェア拡張を実例ごとに規定することができる。
LOAD TYPE DEFINTIONこの命令は、
ソースADにより参照されたオブジェクトと関連するタ
イプ定義オブジェクトADを宛先にコピーする。指定さ
れたオブジェクトがデイフォルトTDOを有する場合、
デイフォルトTDOに対するAD(タイプとrep権利
をいずれも持たず、入城寿命を指定する)は戻される。
権利 アーキテクチャは様々な権利ビットを使用して、オブジ
ェクト又はADを操作しつる方法を制限する。権利ビッ
トには2組みあり、その一方の組はADに見られ、他方
の組はアクセス(すなわち、アドレス変換)経路中の様
々なページテーブルエントリに位置している。
異なるADは同一のオブジェクトに対して異なるアクセ
ス権利を有することができる。1つのアクセス経路にお
ける権利は、そのアクセス経路の全てのユーザーによっ
て共用される。ソースADと同じ権利又はそれより少な
い権利をもってADを容易に複製できる。アクセス経路
を同様にして複製するのは不可能であるので、アーキテ
クチャがアクセス経路中の権利に対して何らかの変更を
加えると、そのアクセス経路の全てのユーザーが影響を
受ける。
ADは次のような権利ビットを含む。
−タイプ権利 一読取り権利 書込み権利 アクセス経路中のページテーブルエントリは次の権利ビ
ットを含む。
ページ権利 タイプ権利 ADのタイプ権利は、そのADにより参照されるオブジ
ェクトに関して許容されるタイプ特有動作を規定する。
ADのタイプ権利ビットをどう解釈するかは、参照され
るオブジェクトのタイプによって決まる。総称オブジェ
クトのタイプ権利ビットは解釈されない。システムオブ
ジェクトごとのタイプ権利ビットの解釈はあらかじめ規
定されている。その内容については、この明細書を通し
て、個々のシステムオブジェクトを解説する項で説明す
る。解釈されないタイプ権利ビットはソフトウェア規定
タイプ権利のために保持されており、個々のソフトウエ
アレベルタイプマネジャによって解釈される。
アクセス記述子の読取り権利と書込み権利読取り権利は
参照されたオブジェクトの内容の読取りを制御し、書込
み権利は書込みを制御する。
実際に許容される動作は、ページテーブルのページ権利
によっても任意に確定される。これにより、アクセス不
可能オブジェクト(すなわち、カプセル封じオブジェク
トに対してはアクセスはない)69 と、読取り専用オブジェクトと、書込み専用オブジェク
トと、読取り・書込み可能オブジェクトの支援が可能に
なる。
実行権利は規定されない。すなわち、実行環境で命令を
実行するためには、読取り権利のみが要求されるのであ
る。
ページ権利 有効ページテーブルエントリにおけるページ権利は2ペ
ージ形オブジェクト又はページ形オブジェクトのページ
の読取り/書込み権利を規定する。
ページ権利は、ソフトウェア規定領域又は実行環境の領
域に異なるアクセス保護を受けさせるために使用される
ページ権利の解釈は、現在プロセスの実行モードと、プ
ロセッサのPTEブレークモードとによって異なる。ス
ーパーバイザ実行モードと、ユーザー実行モードについ
て、ページ権利はそれぞれ次のように規定されている。
70□ PTEブレーク  ユーザーモード         
  スーパーバイザモード1 0〇−読取り一書込み 
読取り一書込み(書込み時ブレーク) 0 00−アクセスなし  読取り専用×01−アクセ
スなし  読取り一書込みX   10−読取り専用 
  読取り一書込みX   11−読取り一書込み 読
取り一書込み線形アドレススペースの命令領域を偶発的
な変更から保護するためには、AD読取り/書込み権利
の代わりに、ページ権利を使用する。
プロセッサが物理アドレッシングモートにある(アドレ
ス変換はディスエーブルされている)とき、権利検査は
ディスエーブルされる。
前述のように、1つの項目に関するアクセス権利はアク
セス経路のレベルごとに権利フィールドにより規定され
る。各アクセス経路は次のようなものを含む。
ADの読取り権利と書込み権利。
2ページ形オブジェクトの場合、ページテーブルディレ
クトリエントリにおけるページ権利。
ページ形オブジェクト又は2ページ形オブジェクトの場
合、ページテーブルエントリにおけるページ権利。
オブジェクトアドレスの有効権利はアクセス経路の最小
限の権利である。
TNSPECT  八CCESS INSPECT ACCESS命令は、ソースアドレス
により指定されたアクセス経路の有効ページ権利を戻す
タイプ定義オブジェクト タイプ定義オブジェクト(74)はアクセス権利の拡大
を制御するために使用される。タイプ定義オブジェクト
ばあらかしめ規定されたシステムタイプを有する。
タイプ定義オブジェクトのAD (51)におけるタイ
プ権利は次のように規定されている。
タイプ権利1 解釈されず。
タイプ権利2 権利拡大。ビットが1であれば、AMP
LIFY RIGHTS命令でTDOを使用して良い。
タイプ権利3 権利生成。ビットが1であれば、CRE
ATE ACCESS DESCRIPTOR命令でT
DOを使用して良い。
第1図に示すタイプ定義オブジェクト(74)のフィー
ルドは次のように規定されている。
スーパーTDO(ビットO)。権利拡大中、このビット
は次のように解釈される。
〇−こののTDOにより指定されるタイプと一致するタ
イプのオブジェクトについて、ADを拡大するためにこ
のTDOを使用することができる。
1−どのADを拡大するときにも、このTDOを使用で
きる。
拡張(ビット1)。このオブジェクトをTDOADとし
て有しているオブジェクトを管理するためにTDOを使
用する場合、このビットは1である。TDOで指定され
ているのと同一のオブジェクトタイプを有するオブジェ
クトを管理するためにTDOを使用する場合には、この
ビットは0である。
このビットにより、単一のTDOで、指定され3− たオブジェクトタイプのオブジェクトをその1゛DOA
Dとは関係なく管理することも可能になる。
オブジェクトタイプ(ビット28から31)。
この4ビツトフイールドは、オブジェクト記述子にある
刻応するフィールドと同じフォーマットを有するように
規定されている。AI!PLIFY RrRHTS命令
ては、拡張タイプビット及びスーパーTDOビットがO
である場合、このフィールドを参照されたオブジェクト
のオブジェクトタイプと比較する。
権利操作 第8図を参照。ADのアクセス権利を増減するために、
2つの命令が規定されている。権利マスク(170)は
、権利拡大及び権利制限の間に命令のソース−2オペラ
ンドで指定される。権利マスクは、局所ビットと、オブ
ジェクトインデックスフィールトと、タグビットとを使
用しないという点を除いて、アクセス記述子と同一のフ
ォーマットを有する。
AMPLTFY RIGHTS命令(165)が復号さ
れる場合、アクセス権利は、権利拡大論理(168)に
4 おいてソースAD(162)のアクセス権利を権利マス
ク(170)のアクセス権利と論理和演算することによ
り拡大される。第8図の権利拡大論理(168)の内部
の論理の流れを第9図に示す。
RESTRICT RIGHTS命令(167)が復号
される場合には、アクセス権利は、権利制限論理(17
2)においてADのアクセス権利を権利マスク(170
)のアクセス権利の補数と論理積演算することにより縮
小される。第8図の権利制限論理(172)の内部の論
理の流れを第10図に示す。
AMPLIFY RIGHTS命令は、権利拡大を伴な
うタイプ定義オブジェクトAD(51)を要求する。A
MPLTFY−RIGITTS命令はソースAD (1
62)の権利を権利マスク(170)により指定される
通りに拡大し、拡大したADを宛先(176)に記憶す
る。
RESTRIC’JRIGHTS命令は、ソースAD 
(174)の権利を権利マスク(170)により指定さ
れる通りに除去し、制限したADを宛先(176)に記
憶する。
アドレッシング環境のアクセス可能塵を、プログラムの
実行に必要な、要求される最小限のアクセス権利を持つ
オブジェクトに制限することができる。不要なアクセス
権利を除去(すなわち制限)する命令が与えられる。ア
クセスの制限は、ADがパラメータとして手順に供給さ
れるか又は結果として戻される前に実行されるのが普通
である。
いくつか(システム又は拡張)のタイプ付きオブジェク
トは、それに対応するタイプマネジャにより排他的に操
作される。タイプ付きオブジェクトに対するADは、そ
のタイプマネジャのドメインの外では、通常、タイプマ
ネジャの知識なしにオブジェクトをアクセスしたり、オ
ブジェクトを変更したりすることを阻止するために限定
されたアクセス権利(たとえば、アクセスなし又は読取
り専用の権利)を有する。タイプマネジャは、その制御
の下にあるタイプのオブジェクトについて、ADのアク
セス権利をドメイン外へ供給する前に制限(すなわち除
去)する。そのようなADがタイプマネジャに戻される
と、参照されたオブジェクトのタイプマネジャによる拡
大ができるように、アクセス権利はタイプマネジャのド
メインの中にある間に拡大(すなわち増加)される。
AMPLIFY RIGHTS命令 以下のA11PI、TFY RIGTITS命令の説明
を理解できるように、第8図の権利拡大論理の内部のデ
ータの流れを示す第9図を参照する。
演算、タイプ定義オブジェクトの制御の下で、指定され
たソースADの指定された権利ビットを拡大し、拡大し
たADを宛先に記憶する。
命令コード: 拡大 653REG 5ourceJ(val:m)sour
ce−2(val:o)src/dst(vds:w+
) source l  タイプ定義オブジェクト5our
ce 2  権利マスク Src/dst  ソース/宛先 アクション TDOADのタグビットを検査する(202)。ソース
ADのタグビットがOであれば、C0N5TA7 INT rNVAIJD AD誤りを起こす(204)
権利拡大か指定されているか否かを知るために、タイプ
権利フィールドを検査する(206)。指定されていな
ければ、PROTECTION TYPE RIGHT
S誤りを起こす(208)。
スーパーTDOビットを検査する(210)。
TDOのスーパーTDOビットが1であれば、論理ブロ
ック(218)へ進む。TDOのスーパーTDOビット
がOであり且つ拡張ビットが1であれば(212) 、
TYPE、MISIIATCI+誤りを起こす(216
)。
ソースオブジェクトのオブジェクトタイプをTDoによ
り制御されるオブジェクトタイプと比較する(214)
。タイプが異なっており且っTDOのスーパーTDOビ
ットがゼロであり(210)、さらに拡張ビットがOで
あれば(212)、TYPE、 MISMATCIT誤
りを起こす(21,6)。
ソースオブジェクトのオブジェクトタイプとTDoによ
り制御されるオブジェクトタイプとが同じであれば(2
14)、ソースADの読取りピッ8 1・、書込みビット及びタイプビットと、権利マスクの
対応するビットとを論理和演算して、宛先ADのタイプ
権利を形成する(218)。
RESTRICT RIGHTS命令 以下のRESTRTCT RfGHTS命令の説明を理
解できるように、第8図の権利制限論理の内部のデータ
の流れを示す第10図を参照する。
演算 指定されたソースADの指定された権利ピントを
制限し、制限したADを宛先に記憶する。
命令コート・ 652 REG 5ourcc2(val :o)sr
c/dst(vds:w+)source 2  権利
マスク src/dst   ソース/宛先 アクション: 権利制限か指定されているか否かを知るために、タイプ
権利フィールドを検査する(252)。指定されていな
ければ、PROTECTION TYPE RTGFI
TS誤りを起こす(254)。
ソースのタグピットがOであれば(256)、後続する
権利制限アクションを飛越し、データセグメントを宛先
に記憶する(260)。
ソースのタグビットか1てあれば(256)、権利マス
クの読取りビット、書込みビット及びタイプビットが工
であるソースADの対応する権利ビットを除去する(2
60)。制限したADを宛先に記憶する(260)。
キャッシュ可能 キャッシュ可能ビットは、オブジェクト又はベーンの「
キャッシング」を駆出するために規定されている。この
ビットは、キャッシングが許可されている場合は1であ
り、そうでなければOである。
キャッシングはメモリアクセスを遅延させ(たとえば、
戻し書込み)、連続するメモリアクセスを単一のメモリ
トランザクションに統合させる(たとえば、キャッシュ
充填)。キャッシングがディスエーブルされると、メモ
リアクセスは変更なしで物理メモリに直接供給される。
メモリマツプ形デバイスレジスタを有するシステムでは
、ページ又はオブジェクトのキャッシュ可能ビットは0
であるべきである。このビットは、二重キャッシングを
回避するために命令領域の外部キャッシングを阻止する
目的で使用されても良く、あるいは、不要なキャッシン
グトラフィックを回避するために共用オブジェクトのキ
ャッシングを阻止する目的で使用されても良い。
単純オブジェクト記述子又はページテーブルエントリに
おけるキャッシュ可能ビットは、参照されるオブジェク
ト又はページの内容をキャッシュすることができるか否
かを指示する。
本発明をその好ましい実施例に関連して特定して図示し
且つ説明したが、本発明の範囲から逸脱せずに上記の形
態及び詳細部の変更並びに他の形態及び詳細部の変更を
実施しうろことは当業者には理解できるであろう。
【図面の簡単な説明】
第1図は、オブジェクトアドレッシング及び保護を支援
するプロセッサレジスタとシステムオブジェクトを示す
ブロック線図、 第2図は、第1図のオブジェクトオフセットのさらに詳
細なブロック線図、 1 第3図及び第4図は、合わせて、第1図のオブジェクト
テーブル内の記憶記述子を示す図、第5図は、第↑図の
ページテーブルディレクトリ内のページテーブルディレ
クトリエントリ (PTDE)を示す図、 第6図は、第1図のページテーブル内のページテーブル
エントリ(PTE)を示す図、第7図は、寿命保護検査
論理を示す図、第8図は、権利拡大命令及び権利制限命
令の実行論理を示す図、 第9図は、第8図の権利拡大論理の内部におけるデータ
の流れを示す図、 第10図は、第8図の権利制限論理の内部におけるデー
タの流れを示す図である。 10・・・メモリスペース、11・・・プロセッサレジ
スタ、王4・・・命令、20・・・アドレス、22・・
・オフセット、24・・・アクセス記述子、30・・・
アクセス記述子、32・・・データワード、34・・・
オブジェクトインデックス、35・・・符号化フィール
ド、38・・2ページオブジェクト、42・・オブジェ
クトチー2 プル、44・・・ページテーブル、50・・・符号化フ
ィールド、52・・・ベースアドレス、60・・・ペー
ジテーブルディレクトリ、61・・・ベースアドレス、
62・・・符号化フィールド、74・・・タイプ定義オ
ブジェクト、79・・・ベースアドレス、81・・・符
号化フィールド 代  理  人   山  川  政  樹3− FIG、9 FIG、(O 手 続 補 正 書 (方式) 、、事件の表示 平成2年特許願第326081号 2、発明の名称 データ処理システム 3、補正をする者 事件との関係 特 許 出 願 人 名称(氏名) インテル・コーポレーション 4、代理人

Claims (2)

    【特許請求の範囲】
  1. (1)オブジェクト記述子を記憶するためのメモリスペ
    ース(10)と、プロセッサレジスタスペース(11)
    とをデータ処理システムのプロセッサ内に含み、前期デ
    ータ記述子は、オブジェクトを前記メモリスペース内で
    位置指定する際に使用するためのベース情報と、長さ情
    報とを記憶しており、 前記プロセッサは前記メモリスペース(10)と通信す
    ることができると共に、命令(14)で指定された演算
    子によって演算を実行することができ、 2ページ形オブジェクト(38)を含む複数のアドレッ
    シング可能オブジェクトは、前記メモリスペースのアド
    レススペースに記憶されており、前記複数のアドレッシ
    ング可能オブジェクトは、演算を規定する前記命令(1
    4)を含む複数の命令から構成される命令オブジェクト
    を含み、前記命令で参照されるアドレス(20)はオフ
    セット(22)及びアクセス記述子(24)として指定
    されるようなデータ処理システムにおいて、前記複数の
    オブジェクトはオブジェクトテーブル(42)と、ペー
    ジテーブルディレクトリ(60)と、ページテーブル(
    44)とを含み、前記オブジェクトはそれぞれ複数のワ
    ードから構成されており、前記ワードはアクセス記述子
    (30)か、又はデータワード(32)のいずれかであ
    り、 前記アクセス記述子は、それぞれ、 イ、前記アドレススペースで1つのオブジェクトを選択
    するためのオブジェクトインデックスと、ロ、前記アク
    セス記述子により選択されるオブジェクトについて許容
    される動作を指定する権利フィールドとを含み、 前記オブジェクトテーブルオブジェクト(42)は、プ
    ロセッサの初期設定時に前記プロセッサによりアクセス
    可能であるアドレスに記憶され、前記オブジェクトテー
    ブルには、前記ページテーブルディレクトリオブジェク
    ト(60)に対する物理アドレスを形成するときに前記
    プロセッサが使用するためのオブジェクト記述子が記憶
    されており、 前記オブジェクト記述子は、前記オブジェクト記述子に
    より参照されるオブジェクトのベースアドレスを指定す
    る第1の符号化フィールド(50)と、オブジェクトエ
    ントリタイプを含む第2の符号化フィールド(52)と
    をそれぞれ含み、前記ページテーブル(44)には、前
    記ページ形オブジェクト(38)に対する物理アドレス
    を形成するときに前記プロセッサが使用するためのペー
    ジテーブルエントリが記憶されており、各ページテーブ
    ルエントリはページ権利フィールド(81)を有し、 前記オフセット(22)は、前記ページテーブルエント
    リを位置指定する目的で選択されたページテーブルに対
    して索引付けするために使用されるページインデックス
    (PI)と、前記ページ形オブジェクト(38)で1つ
    のデータエントリを位置指定するためにページテーブル
    エントリに記憶されたベースアドレス(79)と組合せ
    て使用されるページオフセット(PO)とを含み、前記
    ページテーブルエントリの前記ページ権利フィールド(
    81)及び前記ページテーブルディレクトリエントリの
    前記権利フィールド(50)をメモリアクセスのタイプ
    と比較し、アクセスが前記ページテーブルディレクトリ
    エントリのページ権利フィールド(62)又はページテ
    ーブルエントリのページ権利フィールド(50)と一致
    していない場合には誤りを起こす手段(60)が設けら
    れていることを特徴とするデータ処理システム。
  2. (2)オブジェクト記述子を記憶するためのメモリスペ
    ース(10)と、プロセッサレジスタスペース(11)
    とをデータ処理システムのプロセッサ内に含み、前記デ
    ータ記述子は、オブジェクトを前記メモリスペース内で
    位置指定する際に使用するためのベース情報と、長さ情
    報とを記憶しており、 前記プロセッサは前記メモリスペース(10)と通信す
    ることができると共に、命令(14)で指定された演算
    子によって演算を実行することができ、 2ページ形オブジェクト(38)を含む複数のアドレッ
    シング可能オブジェクトは、前記メモリスペースのアド
    レススペースに記憶されており、前記複数のアドレッシ
    ング可能オブジェクトは、演算を規定する前記命令(1
    4)を含む複数の命令から構成される命令オブジェクト
    を含み、前記命令で参照されるアドレス(20)はオフ
    セット(22)及びアクセス記述子(24)として指定
    され、 前記複数のオブジェクトはオブジェクトテーブル(42
    )と、ページテーブルディレクトリ(60)と、ページ
    テーブル(44)とを含み、前記オブジェクトはそれぞ
    れ複数のワードから構成されており、前記ワードはアク
    セス記述子(30)か、又はデータワード(32)のい
    ずれかであり、 前記アクセス記述子は、それぞれ、 イ、前記アドレススペースで1つのオブジェクトを選択
    するためのオブジェクトインデックスと、ロ、前記アク
    セス記述子により選択されるオブジェクトについて許容
    される動作を指定する権利フィールドとを含み、 前記オブジェクトテーブルオブジェクト(42)は、プ
    ロセッサの初期設定時に前記プロセッサによりアクセス
    可能であるアドレスに記憶され、前記オブジェクトテー
    ブルには、前記ページテーブルディレクトリオブジェク
    ト(60)に対する物理アドレスを形成するときに前記
    プロセッサが使用するためのオブジェクト記述子が記憶
    されており、 前記オブジェクト記述子は、前記オブジェクト記述子に
    より参照されるオブジェクトのベースアドレスを指定す
    る第1の符号化フィールド(50)と、オブジェクトエ
    ントリタイプを含む第2の符号化フィールド(52)と
    をそれぞれ含み、前記ページテーブル(44)には、、
    前記ページ形オブジェクト(38)に対する物理アドレ
    スを形成するときに前記プロセッサが使用するためのペ
    ージテーブルエントリが記憶されており、各ページテー
    ブルエントリはページ権利フィールド(81)を含み、 前記オフセット(22)は、前記ページテーブルエント
    リを位置指定する目的で選択されたページテーブルに対
    して索引付けするために使用されるページインデックス
    (PI)と、前記ページ形オブジェクト(38)で1つ
    のデータエントリを位置指定するためにページテーブル
    エントリに記憶されたベースアドレス(79)と組合せ
    て使用されるページオフセット(PO)とを含むような
    データ処理システムにおいて、 A、前記ページテーブルエントリの前記ページ権利フィ
    ールド(50)及び前記ページテーブルディレクトリエ
    ントリの前記権利フィールド(50)をメモリアクセス
    のタイプと比較し、 B、アクセスが前記ページテーブルディレクトリエント
    リのページ権利フィールド(62)又はページテーブル
    エントリのページ権利フィールド(50)と一致してい
    ない場合には誤りを起こす、ことを特徴とするデータ処
    理システム。
JP32608190A 1989-12-22 1990-11-29 データ処理システム Expired - Fee Related JP3237065B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US455,635 1989-12-22
US07/455,635 US5075845A (en) 1989-12-22 1989-12-22 Type management and control in an object oriented memory protection mechanism

Publications (2)

Publication Number Publication Date
JPH03220647A true JPH03220647A (ja) 1991-09-27
JP3237065B2 JP3237065B2 (ja) 2001-12-10

Family

ID=23809644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32608190A Expired - Fee Related JP3237065B2 (ja) 1989-12-22 1990-11-29 データ処理システム

Country Status (4)

Country Link
US (1) US5075845A (ja)
JP (1) JP3237065B2 (ja)
DE (1) DE4040994A1 (ja)
GB (1) GB2239333B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097597A (ja) * 2006-09-21 2008-04-24 Intel Corp 高インテグリティファームウェア
JP2010257475A (ja) * 1998-11-25 2010-11-11 Sony Electronics Inc 記録されたデジタルプログラムにアクセスするための方法及び装置

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPH04505977A (ja) * 1989-12-26 1992-10-15 富士通株式会社 オブジェクト指向分散処理システム
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
US5193184A (en) * 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5390310A (en) * 1991-09-30 1995-02-14 Apple Computer, Inc. Memory management unit having cross-domain control
US5627987A (en) * 1991-11-29 1997-05-06 Kabushiki Kaisha Toshiba Memory management and protection system for virtual memory in computer system
US5414812A (en) * 1992-03-27 1995-05-09 International Business Machines Corporation System for using object-oriented hierarchical representation to implement a configuration database for a layered computer network communications subsystem
US5428795A (en) * 1992-07-31 1995-06-27 International Business Machines Corporation Method of and apparatus for providing automatic security control of distributions within a data processing system
US5237616A (en) * 1992-09-21 1993-08-17 International Business Machines Corporation Secure computer system having privileged and unprivileged memories
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
CA2097540C (en) * 1993-06-01 1998-05-12 William G. O'farrell Accessing remote data objects in a distributed memory environment
JP2986051B2 (ja) * 1993-08-04 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクト指向コンピュータ・システム及びオブジェクト実行方法
US5504887A (en) * 1993-09-10 1996-04-02 International Business Machines Corporation Storage clustering and packing of objects on the basis of query workload ranking
US5432924A (en) * 1993-12-15 1995-07-11 Microsoft Corporation Method and system for selectively applying an appropriate object ownership model
US5836011A (en) * 1995-01-20 1998-11-10 International Business Machines Corporation Implementation of teams and roles within a people oriented work environment
US5671360A (en) * 1995-01-20 1997-09-23 International Business Machines Corporation Project management tool implementing authority for a people oriented work environment tool
US6178550B1 (en) * 1995-01-31 2001-01-23 Dell Usa Mechanism for optimizing location of machine-dependent code
US5644711A (en) * 1995-05-26 1997-07-01 Intel Corporation Multi-privileged level directory access on the AT&T worldworxsm personal conferencing service
US5878428A (en) * 1995-11-20 1999-03-02 International Business Machines Corporation System, method, and article of manufacture for adding transactional recovery to a binary class in an object oriented system
US5867708A (en) * 1995-11-20 1999-02-02 International Business Machines Corporation System, method, and article of manufacture for adding concurrency to a binary class in an object oriented system
US6782538B1 (en) 1995-12-14 2004-08-24 International Business Machines Corporation Object oriented information handling system including an extensible instance manager
US5873092A (en) * 1995-12-14 1999-02-16 International Business Machines Corporation Information handling system, method, and article of manufacture including persistent, distributed object name services including shared properties
US5765153A (en) * 1996-01-03 1998-06-09 International Business Machines Corporation Information handling system, method, and article of manufacture including object system authorization and registration
US5809506A (en) * 1996-01-22 1998-09-15 International Business Machines Corporation Method for creating an object base of persisent application objects in an object oriented programming environment and apparatus related thereto
US5768566A (en) * 1996-03-01 1998-06-16 Microsoft Corporation Method and facility for uninstalling a computer program package
US5790843A (en) * 1996-09-19 1998-08-04 International Business Machines Corporation System for modifying microprocessor operations independently of the execution unit upon detection of preselected opcodes
US5864848A (en) * 1997-01-31 1999-01-26 Microsoft Corporation Goal-driven information interpretation and extraction system
CN100338571C (zh) * 2003-09-27 2007-09-19 英特尔公司 处理器的扩展寄存器空间装置和方法
JP2005122474A (ja) * 2003-10-16 2005-05-12 Fujitsu Ltd 情報漏洩防止プログラムおよびその記録媒体並びに情報漏洩防止装置
US20090307783A1 (en) * 2006-04-24 2009-12-10 Manabu Maeda Data processing device, method, program, integrated circuit, and program generating device
US8364910B2 (en) * 2007-03-08 2013-01-29 Daniel Shawcross Wilkerson Hard object: hardware protection for software objects
US9026993B2 (en) * 2008-06-27 2015-05-05 Microsoft Technology Licensing, Llc Immutable types in imperitive language
US8495329B2 (en) * 2009-04-13 2013-07-23 Microsoft Corporation Type system support for memory isolation permissions
US9569282B2 (en) 2009-04-24 2017-02-14 Microsoft Technology Licensing, Llc Concurrent mutation of isolated object graphs
GB2482700A (en) 2010-08-11 2012-02-15 Advanced Risc Mach Ltd Memory access control
US8533695B2 (en) * 2010-09-28 2013-09-10 Microsoft Corporation Compile-time bounds checking for user-defined types
US9934166B2 (en) 2010-12-10 2018-04-03 Daniel Shawcross Wilkerson Hard object: constraining control flow and providing lightweight kernel crossings
US9569612B2 (en) 2013-03-14 2017-02-14 Daniel Shawcross Wilkerson Hard object: lightweight hardware enforcement of encapsulation, unforgeability, and transactionality
US9411600B2 (en) * 2013-12-08 2016-08-09 Intel Corporation Instructions and logic to provide memory access key protection functionality
EP3584708B1 (en) 2015-12-15 2022-05-11 LZLabs GmbH Protection key management and prefixing in virtual address space legacy emulation system
US10635479B2 (en) * 2016-12-19 2020-04-28 Bitdefender IPR Management Ltd. Event filtering for virtual machine security applications
US12373213B2 (en) 2019-04-22 2025-07-29 Whole Sky Technologies Company Hardware enforcement of boundaries on the control, space, time, modularity, reference, initialization, and mutability aspects of software

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1498116A (en) * 1974-04-18 1978-01-18 Honeywell Inf Systems Data processing systems
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4315310A (en) * 1979-09-28 1982-02-09 Intel Corporation Input/output data processing system
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
IN165278B (ja) * 1984-09-21 1989-09-09 Digital Equipment Corp

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257475A (ja) * 1998-11-25 2010-11-11 Sony Electronics Inc 記録されたデジタルプログラムにアクセスするための方法及び装置
JP2008097597A (ja) * 2006-09-21 2008-04-24 Intel Corp 高インテグリティファームウェア
JP2011238277A (ja) * 2006-09-21 2011-11-24 Intel Corp 高インテグリティファームウェア
US8312509B2 (en) 2006-09-21 2012-11-13 Intel Corporation High integrity firmware

Also Published As

Publication number Publication date
JP3237065B2 (ja) 2001-12-10
GB9019820D0 (en) 1990-10-24
US5075845A (en) 1991-12-24
GB2239333A (en) 1991-06-26
GB2239333B (en) 1993-12-01
DE4040994A1 (de) 1991-06-27

Similar Documents

Publication Publication Date Title
JPH03220647A (ja) データ処理システム
US5075848A (en) Object lifetime control in an object-oriented memory protection mechanism
US5075842A (en) Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
US6101590A (en) Virtual memory system with local and global virtual address translation
KR940011668B1 (ko) 페이지 메모리 관리 장치
US6393544B1 (en) Method and apparatus for calculating a page table index from a virtual address
US6895491B2 (en) Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching
US6216214B1 (en) Apparatus and method for a virtual hashed page table
EP0548315B1 (en) Translation buffer for virtual machines with address space match
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
US5287475A (en) Data processing apparatus operable in extended or unextended virtual address spaces without software modification
EP0036110A2 (en) Cache addressing mechanism
JP7444853B2 (ja) メモリ・アクセスを制御するための装置及び方法
KR20080041707A (ko) Tlb 록 표시자
JPS60221851A (ja) メモリ・アクセス・コントローラを具えるデータ処理装置
JPS59502123A (ja) デ−タ接続性が制御される仮想記憶アドレス変換機構
US6351797B1 (en) Translation look-aside buffer for storing region configuration bits and method of operation
US5287482A (en) Input/output cache
US5895489A (en) Memory management system including an inclusion bit for maintaining cache coherency
GB2260629A (en) A segment descriptor cache for a microprocessor
JPH03154949A (ja) ストアされたデータのプロテクシヨン方法及びシステム
JPH03211643A (ja) 並行例外検査及び更新バイパスを有する変換索引バッファ
EP0389886B1 (en) Ring reduction logic mechanism
JPH06318179A (ja) 仮想メモリ・システム
JP2608680B2 (ja) Cpu実行方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees