JPH03126144A - 仮想アドレス式情報処理システムにおけるメモリの使用方法及びこの方法を実施するための装置 - Google Patents

仮想アドレス式情報処理システムにおけるメモリの使用方法及びこの方法を実施するための装置

Info

Publication number
JPH03126144A
JPH03126144A JP2269291A JP26929190A JPH03126144A JP H03126144 A JPH03126144 A JP H03126144A JP 2269291 A JP2269291 A JP 2269291A JP 26929190 A JP26929190 A JP 26929190A JP H03126144 A JPH03126144 A JP H03126144A
Authority
JP
Japan
Prior art keywords
address
memory
descriptor
bits
space
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
JP2269291A
Other languages
English (en)
Other versions
JPH067377B2 (ja
Inventor
Michel Dorotte
ミシェル ドロットゥ
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.)
Bull SAS
Original Assignee
Bull SAS
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 Bull SAS filed Critical Bull SAS
Publication of JPH03126144A publication Critical patent/JPH03126144A/ja
Publication of JPH067377B2 publication Critical patent/JPH067377B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877—Cache access modes
    • G06F12/0886—Variable-length word access
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00—Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02—Addressing or allocation; Relocation
    • G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10—Address translation
    • G06F12/109—Address translation 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)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、仮想アドレス式情報処理システムにおけるメ
モリの使用方法及びこの方法を実施するための装置に関
するものである。
従来の技術 仮想アドレス指定(すなわち仮想記憶)の公知の概念に
よって、システム及びそのユーザにフィジカルメモリ容
量よりかなり大きいロジカルメモリ容量を提供すること
ができる。仮想記憶を互いに独立した複数の区域(セグ
メントと呼ぶ))に分割することのできる公知のセグメ
ンテーションの概念と組合わせると、仮想記憶は、特に
、マルチプログラミング及びマルチプロセッシングに適
することが証明されている。
情報処理装置のメモリのフィジカルメモリ容量の、頻繁
であると共に意義のある容量増大(現在、IMB  D
RAM(DynamicRandomAccessMe
mories)が市販されており、入手しやすい)によ
り、仮想記憶を対応して拡張することが必要である。
しかし、情報処理システムのオペレーティングシステム
の設計者は、様々なアドレス指定の問題に直面している
。例えば、以下に示す問題等である。
アドレス指定フォーマットのサイズが不十分になり、拡
張しなければならない。
新規な、拡張されたアドレス指定オペレーティングシス
テムは、なお、少なくとも十分に長い移行時間の間、旧
オペレーティングシステム下で設計された現行のユーザ
プログラムを使用することができるように、旧オペレー
ティングシステムと互換性がなければならない。
発明が解決しようとする課題 本発明の目的は、互換性とユーザ適応性の必要性をどち
ら満たす大容量仮想メモリの操作方法である。
課題を解決するための手段 さらに詳しく言えば、本発明は、仮想アドレス式の情報
処理システムにおけるメモリ操作方法であって、 第1のメモリ領域DXは、サイズがNXビットの論理ア
ドレスの周囲に設け、 上記メモリ領域DX中に、同一の構造で、サイズがNL
ビット(但し、NLはNXより小さい)ノ相対アドレス
指定を可能にする複数のアドレス空間EAXを画成し、 上記アドレス空間EAXの1つ(以後、現在のアドレス
空間EACと呼ぶ)を−時的且つ交換可能に、サイズが
NLビットのアドレスの周囲に設けた第2のメモリ領域
DLに割り当てる、ことを特徴とする方法である。
本発明の方法の実施の第1の実施態様では、サイズNX
のアドレス指定フォーマットFXIが構成されて、対応
する空間EAXの識別子を受けるだめの少なくとも1つ
のフィールドを含む補足ゾーンを使用するサイズNLの
相対アドレス指定フォーマットFLを拡張することによ
って、空間EAXにアクセスすることができる。
このように、交換可能なアドレス空間EAXの1つDL
領領域一時的に割り当て、2つの使用可能なアドレスサ
イズNL及びNX (例えば、32及ヒ64ヒツト)に
従ってアドレスを特別にリフオーマットすることによっ
て、新規なメモリ組織は、両方のアドレスサイズを同時
に使用するオプションを提供する。従って、本発明によ
る仮想メモリの組織は、現行のプログラムに、拡張を利
用する機会を全く与えないメモリの単純な線型拡張より
はるかに優れている。
本発明の方法を実施する別の実施態様では、メモリ領域
DLは、構造がアドレス空間EAXと同一の永久アドレ
ス空間EAPCBを含む。この空間EAPCBは、0に
等しい値を有する識別子によって、領域DX内において
マークをつけることができる。
アドレス空間は、セグメント型であることが好ましくは
、場合によっては、複数のサイズを有し及び/または複
数のプロセスによって分割共有することができる。
本発明の方法を実施するまた別の実施態様では、サイズ
NXの異なるアドレス指定フォーマットFx2からアク
セス可能な複数のセグメントが、メモリゾーンDXに画
成される。
本発明の方法を実施すれば、情報処理システムによる処
理の実行において、その柔軟性が全てわかる。また、特
に、本発明のさらに別の実施態様では、 サイズNLのアドレス空間、すなわち、空間EAX及び
場合によっては空間EAPCBとして、同一基本構造の
プロシージャディスクリプタPDを選択し、 上記のプロシージャディスクリプタPDと同一の基本構
造を有するアドレス空間変換ディスクリプタ(以下、C
ASDと呼ぶ)を決定し、所定のアドレス空間で実行で
きる処理で始めて、CASD型のディスクリプタによっ
てもう1つのアドレス空間で実行できるプロシージャの
呼び出しを可能にする。
CASD型ディスクリプタは、好ましくは、呼び出され
たプロシージャを含むアドレス空間の識別子及びこの新
しいアドレス空間における呼び出されたプロシージャの
ポインタを受けるためのフィールドを含む。
このように、限られたサイズDLのアドレス指定モード
によって設計された現行のプログラムは、他のアドレス
空間にあけるプロシージャ呼び出しのセットによって、
システムの新しい容量を十分に利用することができる。
また、これらの旧プログラムは、新規なアドレス空間内
に、コードを含んで完全に含まれる。
本発明は、また、上記の方法をそのあらゆる実施態様で
実行するためのハードウェア及びソフトウェアを含む情
報処理システムに関するものである。さらに詳しく言え
ば、この情報処理システムは、1つまたは複数の中央プ
ロセッサ(CP U)及び中央メモリの周辺に構成され
たプロセッササブシステムを含む。中央プロセッサは、
各々、特に仮想アドレス指定に十分な大容量のメモリ手
段を有する周辺サブシステムに動作的に接続された入力
/出力コントローラIOCと上記中央メモリの管理を実
行するためのマイクロプログラミング制御される手段と
、オペレーティングシステムの名で集められたプログラ
ムのセットを特に含むソフトウェアとを備えており、該
ソフトウェアと上記マイクロプログラミング制御される
手段とが協動して、本発明の方法を実行することができ
る。
本発明は、添付図面を参照して行う以下の詳細な説明に
よって明らかになろう。
実施例 慣習により、以下の説明で、「0」の記号は、「指数」
の数学的表現であり、例えば、2”10=1024であ
る。同様に、「<〉」は、「〜と異なる」の数学的表現
である。
非限定的な実施例としてここで説明する本発明の実施態
様では、情報処理システムは、32ビツトアドレス指定
をサポートする現行のシステムと互換性があるように設
計されている。その結果、本発明によるシステムは、程
度は様々であるが、現在のシステムの幾つかのハードウ
ェア及びソフトウェアを内蔵する。しかし、以下の説明
を複雑にしないために、本発明の開示を中心にする。よ
り詳細には、読者は、入手できる文献、特に、セグメン
ト化メモリ内のアドレス拡張及び計算用装置に関するア
メリカ合衆国特許第4.385.352号及びコンピュ
ータ用のプロシージャ呼び出し機構とコオペレーテイン
ダスタック機構に関するアメリカ合衆国特許第4.29
7.743号を参照するとよい。上記の特許の内容は、
ここに引用して本明細書に組み入れる。
まず、ここで、以下のように、種々の定義を記載してお
く。
一プロセス: プロセスは、中央サブシステムによって非同期で実行さ
れる命令によって決定される規則的なシーケンスのオペ
レーションとして定義される。このため、複数のプロセ
スが、アクティブ可能であり、システムが備えるリソー
ス(資源)を分割共有するが、所定のプロセッサでは、
所定の時には1つのプロセスだけが実行される。プロセ
ス群は、1つのオペレーティング段階を実行するのに必
要な組合わされたプロセスのセットであり、そのオペレ
ーティング段階では、特定のリソースがシステムによっ
て一時的に割り付けられる。プロセスは、各々、メモリ
中にプロセス制御ゾーン(PCB)として公知のゾーン
を有し、そのゾーン中には、システムによってプロセス
を実行するのに必要な情報がセーブされている。
−プロシージャ: プロシージャは、プロセスのコンテキスト内において実
行されるように適切に接続されたプログラム命令の識別
可能なセットとして定義される。
1つのプロシージャから他のプロシージャに変えるため
、または、オペレーティングシステムの様々なサービス
を使用するため(特に、モジニラ−構成のプログラムを
使用する時)、プロシージャ呼び出しくプロシージャコ
ール)として公知の特定の機構(後段で詳細に説明)が
使用される。本発明の長所の1つは、2つのアドレス指
定サイズにもかかわらず、この呼び出し機構の有効性(
システムの性能の程度として評価できる)を保持してい
ることである。
−アドレス空間: プロセスに割り付けられ且つプロセスによってアクセス
できるメモリゾーンである。多くの場合、プロセスによ
って使用されるアドレスは、主メモリの絶対アドレスよ
り、むしろ、論理アドレスである。
一生メモリのセグメント化: プロセスの仮想メモリの必要性に応えるために、アドレ
ス空間は、通常、サイズを変更できる非連続的なセグメ
ントによって、プロセスの設計時にスタティックに、ま
たは、プロセスの実行中にダイナミックに割り付けられ
る。従って、そのプロセスは、セグメントを記述するセ
グメントディスクリプタシステムを介して、それ自体の
メモリセグメントまたは組み合わされたセグメントにア
クセスする。これらのディスクリプタは、オペレーティ
ングシステムによって管理されているテーブルに含まれ
ている。中央メモリ中のテーブルのサイズを最小化する
ためには、(0)〜(3)にエンコードされたセグメン
ト分割レベルが決定されている。
このセグメント分配レベルに無関係に、システムは、種
々のプロセスを順位付けするシステム、例えば、アメリ
カ合衆国特許第4.177、510号に記載のリング化
概念を使用するシステムを内蔵する。
第1図を参照すると、情報処理システムは、2つの主要
なサブシステムを備える。特に中央メモlJMMU10
2を含む中央サブシステム100と、周辺サブシステム
104とを備える。中央サブシステム100は、入力/
出力コントローラIOC108に接続された中央CPU
106を中心にして構成されている。この人力/出力チ
ャネルI10によってコントローラ108は、周辺制御
装置UCPを介して周辺サブシステム104と接続され
ている。周辺制御装置UCPIIOは、アダプタAD1
12を介して種々の周辺機器PER114、特に、大容
量メモリ (ディスクメモリ)、スクリーン及びキーボ
ードを備える能動端末機器、プリンタ及びデータ転送装
置に接続されている。完全な情報処理システム内には、
数百ものの周辺装置があることもある。
中央メモlJMMU102は、最大総容量が1024ギ
ガバイト(1024GB)のダイナミックランダムアク
セス型(DRAM)の半導体マイクロチップネットワー
クを備える。場合によっては、各プロセッサが、キャッ
シュメモリ (図示せず)を備え、最も頻度の高い処理
された情報についてのアクセス及び転送時間を短くする
ことができる。
アドレス指定領域 第2図及び第3図は、本発明の仮想メモリの構成を概略
的に図示したものである。
主メモリは、以下のサイズが大きくなる3つの型のセグ
メントによって構成されているニー64キロバイトセグ
メント、すなわち、2°16バイ ト (64KB) 一4メガバイトのセグメント、すなわち、2°22バイ
ト (4MB) 一4ギガバイトのセグメント、すなわち、2*$32バ
イト (4GB) 最初の2つの型のセグメントは、バッチにグループ化さ
れる。このバッチを、以下、アドレス空間64に/4M
Bまたは空間EAXと呼ぶ。このバッチは、全体で25
6メガバイトすなわち2 ”28バイトであり、32セ
グメントの4MB型及び2040セグメントの64KB
型を備える。
結局、アドレス空間64に/4MB及び4GB型のセグ
メントは、各々、4つの段階にグループ化される。各グ
ループの総容量は、68.000テラバイト (1テラ
バイト=2”40バイト)であり、2 lI24セグメ
ントの4GB型を、2I*24のアドレス空間64に/
4MBを備える。
4つの段階は、4つのセグメント分割レベルに対応する
。このレベルとは、各々、レベル(0)すナワチ「シス
テムレベル」、レベル(1)すなわちr未定1ルベル」
、レベル(2) t すわチ「プロセスグループレベル
」及びレベル(3) rプロセスレベル」である。
このように構成された仮想メモリの総容量は、272、
000テラバイトである( 2 ”58〜2 ”59バ
イトの容量)。その結果形成されるメモリ領域DXは、
明らかに、互換できるサイズNXの論理アドレス指定を
必要とする。サイズNXは、64ビツトポインタ中に含
まれる。同様に、メモリ容量が制限されたアドレス空間
EAXによって、相対的な論理アドレス指定を可能にす
る。このアドレス指定のサイズは、1つの32ビツトワ
ードの中に含まれる。
空間EAXは、番号(序数)によって、または、より多
く場合は、より洗練された識別子によって識別される。
例えば、ここに図示した本発明の実施態様では、識別子
(第9図に図示)は、主に、セグメント分割レベルを示
すゾーンと対応するメモリ段階中の番号(序数)によっ
て構成される。
第3図を参照すると、メモリ領域DX内で、メモリ領域
DLlt、64に/4MB型(7)EAX7)’L。
大空間の1つを含むように決定される。このアドレス空
間は、この領域DLに一時的に、交換可能に割り当てら
れる。これによって、32ビツトのアドレスサイズが可
能になる。領域DLに割り当てられたEAX型のこの空
間を、以下、現アドレス空間EACと呼ぶ。
32ビツトアドレス指定用に設計された現行のプログラ
ムとの互換性を向上させるために、空間64に/4MB
に構造が同一の永久アドレス空間すなわちEAPCB空
間をメモリ領域DLに割り当てる。メモリ領域DXでは
、この空間EAPCBは、0に等しい値を有するその識
別子(識別子に割り当てられたフィールドの全ビットが
二進値0を有する)によって標識化されている。従って
、32ビツトアドレス指定をサポートするメモリ領域D
Lの容量は、512MBである。
第4図及び第6図は、64ビツトアドレス指定を使用す
るデータディスクリプタのフォーマットの2つの型を図
示したものである。通常、これらのフォーマットは、3
2ビツトワード(左から右へ0から31の番号が付けら
れている)により構成される。これらのフォーマットは
、データにも命令にも同様に使用できる。
データの場合、これらのフォーマットは、二進数形であ
るが、二進数、十進数、浮動または英数字として解釈で
きる。データビットは、二進化十進数にエンコードされ
た場合は、4ビツトのグループごとに解釈され、英数字
データの場合は8ビツトのグループごとに解釈され、浮
動データの場合は64または128ビツトのグループご
とに解釈され、二進数データの場合は1〜64ビツトの
グループで解釈される。
主メモリ内でのバイトのロケーションは、0から始めて
、連続的に番号が付されている。数字は、各々、バイト
の実アドレスに対応する。上記の実施例では、■ワード
は32ビツト、すなわち、4バイトで構成されている。
また、バイトの群は、群の最左端のアドレスが2.4.
8または16の倍数であるならば、各々、半ワード、単
一ワード、ダブルワード(2ワード)またはクワッドラ
ブルワード(4ワード)上に配列される。この場合、デ
ータバイトの1つの完全な群は、−括して、メモリから
選択される。メモリ内のデータのロケーションは、以下
に記載するアドレス拡張機構によって、データのくアド
レスの)ディスクリプタから得られる。
第4図は、最大セグメント、従って、4ギガバイトに対
、応する64ビツトのデータディスクリプタのフォーマ
ットFX2を図示したものである。ディスクリプタ4G
B/ITS64は、2つのワードを含み、以下のように
分解されるニ ー第1のフィールドは、最初の2つのビット0及び1に
よって構成されており、TAGと呼ばれ、二進値01を
含み、 一第2のフィールドは、ビット2及び3で構成されてお
り、RINGと呼ばれ、アドレス化されたセグメントの
データのアクセス上のポインタ(リグ数)と組合わされ
た順位付はレベルを示す二進値を含み、 一第3のフィールドは、ビット4及び5によって構成さ
れており、XTAGと呼ばれ、ディスクリプタのコード
の型を示す二進数を含む。より正確には、 XTAG=00は、直接アドレス指定に対応する(アド
レス拡張は、探索していた対象に到達する)。
XTAG=01は、フィジカルメモリでの絶対アドレス
指定に対応し、フィールドXSN及びX5RAの連結に
よって得られる(この動作は、第10図を参照して、後
段で記載する)。
XTAG=10は、間接アドレス指定(アドレス拡張に
よって、異なる64ビツトデータデイスクリブタに達し
、次に、直接的または間接的に探索していた対象に到達
する)。
XTAG= 11は、デフォルトに対応し、特定の拡張
プロシージャに到達する。
一第4のフィールドは、ビット6及び7によって形成さ
れており、SHRと呼ばれ、アドレスされたセグメント
、すなわち、セグメントが配置されたメモリ段階の(0
)〜(3)の分割レベルを示す二進値を含み、 一第5のフィールドは、ビット8〜31(全部で24ビ
ツト)によって形成されており、XSNと呼ばれ、対応
するメモリ段階でアドレスされたセグメントの番号(序
数)を示す二進値を含み、及び、−第6のフィールドは
、ビット32〜63(第2のワード)によって構成され
ており、X5RAと呼ばれ、プロセスがアクセスしよう
とする対象のセグメントでの位置(相対アドレス)を示
す二進数を含む。
このディスクリプタ4GB/ITS64のアドレス拡張
(第5図に図示)は、アドレスされた4GB型セグメン
トにアクセスを求めるプロセスに対応するメモリブロッ
クP CB (Process ControlBlo
ck)の特定ゾーンに含まれたデータに基づいて、以下
の方法によって実行される。この目的のため、第5図に
一部分を図示したブロックPCBは、2ワード長く32
ビツトワードの2ワード)の4つのゾーンを含み、各々
、ASDW4 (SHR=O)、ASDW5  (SH
R=1) 、ASDW6  (SHR−2)及びASD
W7 (SHR=3)である。ゾーンASDW4/7 
 (2ワ一ドアドレス空間)は、フィールドP(ビット
32、または、存在ビット)の内容が単位に等しい以外
は、実際に意味がない。
このフィールドPは、探索していた構造、この場合、X
STと呼ばれるセグメントディスクリプタテーブルのメ
モリ内での存在を示す。この存在ビットが0の時、例外
プロシージャが初期化され、探索ディスクリプタリスト
をメモリにロードする。
ゾーンASDW4/7は、2つの他のフィールドを含む
。第1のフィールドは、NBMAX (ビット8〜31
)と呼ばれ、テーブルXST中のエントリ数を定義しく
 2 ”24の最大値)、第2のフィールドxSTA(
ビット33〜63) はテーブルXSTの第1にエント
リの16の倍数として絶対アドレスを決定するポインタ
である。従って、この絶対アドレスは、X5TAの値の
最下位ビット側に4つの0を加算することによって得ら
れる。以下の説明では、「エントリ」という語は、通常
、テーブルの1つのエレメントの第1のバイトを示し、
「ポインタ」という語はそのようなエントリの絶対アド
レスを示す値を示す。ポインタは、絶対アドレスの整数
分の1の値の倍数であることが多い。
次に、ディスクリプタ4GB/ITS64のフィールド
XSNの内容を使用して、テーブルXST中で、4ワー
ドで形成された二重セグメントディスクリプタDSD、
4にアクセスする。存在ビットP(ビット0)及び様々
な保護フィールドに加えて、二重直接ディスクリプタに
対応するこの4ワードは、16の倍数としてページテー
ブルワードアレーPTWAの第1のエントリの絶対アド
レスを与えるアドレスポインタPTWAA (ビット3
2〜63)  とセグメントサイズフィールド(ビット
64〜87)を含む。その値に1単位をプラスすると、
4096バイトの倍数として、セグメントのサイズが与
えられる。
次に、ディスクリプタ4GB/ITS64のフィールド
X5RAの内容の一部分を使用する。実際、フィールド
X5RAを3つのゾーンに分解する(第4図を参照)。
この3つのゾーンとは、ページテーブルPTの数に対応
するサブフィールドPTN (ビット32〜41)、ペ
ージテーブルの対応するセグメントのエントリ番号に対
応するサブフィールドPTE (ビット42〜51)及
びページ中で探索された構造の相対アドレスに対応する
サブフィールドPRA (ビット52〜63)である。
このページのサイズは、4キロバイトであり、従って、
2*$12バイトである。
このように、サブフィールドPTHの内容は、ページテ
ーブルワードアレーPTWA (最大サイズMAX=2
”10エントリ)内のエントリの番号(序数)を与え、
このページテーブル中に探索された(32−ビット)ワ
ードにアクサスすることができる。このワードは、また
、存在ビットと、探索されるページテーブルPTの第1
のエントリの絶対アドレスPTAが(最大サイズMAX
=2”10エントリ)とを含む。サブフィールドPTE
の内容は、ページテーブル中T中に探索されたエントリ
の番号(序数)を与え、ページディスクリプタへのアク
セスを可能にする。また、存在ビットP1ページの第1
のバイトの絶対アドレスを含む。
仮想アドレス(またはセグメント化アドレスと呼ばれる
)を実アドレスに変換する機構は、通常、連想記憶装置
を使用する加速装置と組合わされており、それによって
、これらのアドレスを後で使用する時、実アドレスを仮
想アドレスに直接対応させることができる。
第6図は、空間64に/4MBに含まれたセグメントに
対応する別の64ビツトデータデイスクリブタのフォー
マットFXIを図示したものである。
このディスクリプタは、64に/4MB/I TS64
と呼ばれ、2つのワードを含み、以下のように分解され
る。
一第1のフィールドは、ビット0及び1によって形成さ
れており、ディスクリプタのコードの型を示す二進値を
含む。より詳しく言えば、TAG=00は、直接アドレ
ス指定に対応し、TAG=01は、4GB/ITS64
型のディスクリプタに対応し、 TAG=10は、間接アドレス指定に対応し、TAG=
11は、特定の例外プロシージャに至るデフォルトに対
応する。
一第2のフィールドは、ビット2及び3によっ形成され
ており、RINGと呼ばれ、アドレスされたセグメント
のデータ(リング数)へのアクセス時にポインタと組合
わされ順位付はレベルを示す二進値を含む。
一第3のフィールドは、ビット4〜8 (4ビツト)に
よって形成されてあり、STNと呼ばれ、セグメントテ
ーブルワードアレー5TWA中のエントリの番号(序数
)を示す二進値を含む。
−第4のフィールドSTE及び第5のフィールドSRA
は、各々、セグメントテーブルSR中のエントリの数及
び問題のセグメント中で探索された対象の相対アドレス
を示し、アドレスされたセグントによって各々異なるフ
ォーマットを有する。
4MB型のセグメントのアドレス指定(STEはビット
8及び9によって決定され、SRAはビット10〜31
によって決定される)は、STNの0〜7の範囲の十進
値に対応する。64KBバイトのセグメントのアドレス
指定(STEはビット8〜15によって決定されており
、SRAはビット16〜31によって決定されている)
は、STNの8〜15の範囲の十進値に対応する。
上記のように、フィールドSRAは、2つのサブフィー
ルドを含む。すなわち、ページテーブル中のエントリの
番号(序数)に対応するサブフィールドPTE (セグ
メントの型に応じて、10ビツト長または4ビツト長で
ある)及び探索された対象のページの相対アドレスに対
応するサブフィールドPRA(20〜31ビツト)であ
る。
ディスクリプタ64に/4MB/ITS64の第2のワ
ードは、第6、第7及び第8のフィールドを含む。
一第6のフィールド(ビット32〜37)は、二進値0
を含む。
一第7のフィールド(ビット38〜39)は、SHRと
呼ばれ、セグメントアドレス指定の分割レベルを二進値
を含み、 一第8のフィールドビット (ビット40〜63)は、
ASNと呼ばれ、対応するアドレス空間EAXの識別を
可能にする番号(序数)を含む。
このディスクリプタ64に/4MB/ITS64のアド
レス拡張(第7図を参照)は、対応するメモリブロック
PCBの特定のゾーンに含まれたデータから始まって、
以下のように実行される。この目的のため、ブロックP
CB (第7図に一部分を図示)は、長さが1ダブルワ
ード長の4つのゾーンを備える。すなわち、ASDWO
(SHR=0)、ASDWI  (SHR=1) 、A
SDW2 (SHR=2)及びASDW3 (SHR=
3)である。上記のように、二重アドレス空間ワードA
SDWQ/3は、存在ビットP(ビット32)が1の場
合を除くと、実際には有効ではない。ゾーンASDWO
/3は、2つの他のフィールドを含む。すなわち、主セ
グメントテーブルワードアレーX5TWA(最大値2*
′″24)中のエン) IJ数を定義する、NBMAX
と呼ばれる第1のフィールド(8〜31ビツト)と、主
セグメントテーブルワードアレーX5TWAの第1のエ
ン) IJの16の倍数として絶対アドレスを決定する
ポインタである第2のフィール)’ X S TWA 
A (33〜63ビツト) である。
次に、ディスクリプタ64に/ 4 MB/ I T 
364 。
のフィルードASNの内容は、対応するワードX5TW
のアクセスに使用される。このワードは、存在ビットP
に加えて、セグメントテーブルワードアレー5TWAの
第1の入力の絶・対アドレスを示スフイールド5TWA
A (ポインタ)を含む。
ディスクリプタ64に/4MB/I T364のフィー
ルドSTNによって、フィールドSTA (ポインタ)
を含むワードにアクセスすることができる。
このフィールドSTAは、セグメントテーブルSTの第
1の人力の倍数16として絶対アドレスを決定する。
次に、ディスクリプタ64に/ 4 MB/ I T 
S64のフィルードSTEを使用して、テーブルST内
で、1ダブルワードで形成された二重ディスクリプタセ
グメントDSD、2にアクセスする。直接ディスクリプ
タに対応する1ダブルワードは、存在ビットP(ビット
0)及び様々な保護フィールドの他に、対応するページ
テーブルFTの第1の入力の絶対アドレスを16の倍数
として与えるアドレスポインタPTA (ビット8〜3
1)と、1単位を足すと4096バイトの倍数としてセ
グメントのサイズを与える値のサイズフィールド(ビッ
ト46〜55)とを含む。サブフィールドPTEの内容
によって、テーブルPT内で探索されたページに対応す
るページディスクリプタにアクセスすることができ、ま
た、存在ビットPの他に、探索されたページの第1のバ
イトの絶対アドレスのポインタPAGEを含む。
第7図は、また、5HR=0及びASN=Oに対応する
5TWA (0,0)によって示されるセグメントテー
ブルワードアレーを示す。アドレス空間EAPCBに対
応する、この特定のテーブルへのアクセスは、かなりの
時間を節約して、アドレス空間ワードすなわちASW、
0と呼ばれるブロックPCBの特定ゾーンから直接実施
される。
このアドレス空間ワードは、サイズが1ワードに等しく
、アレー5TWA (0,0)の第1のエントリの絶対
アドレスのポインタを含む。この能力は、第8図に図示
したフォーマットFLによって32ビツトアドレスで構
成された現行のプログラムとの本発明によるシステムの
互換性にとって極めて価値がある。この時、32ビツト
領域(DL)及び64ビツト領域(DX)の両アドレス
領域でデータを共有することができる。
32ビツトアドレス指定領域DL (空間EAPCB及
び空間EAC)を使用する構造と64KB及び4MB型
のセグメントのバッチを備えるアドレス空間EAXの構
造との同一性を考慮すると、第8図に図示した64に/
4MB/ITS32と呼ばれる32ビツトアドレス指定
データデイスクリブタのフォーマットは、フィールドR
INGとEARが相当するので、第6図に図示したディ
スクリプタ64に/4B/ITS64の第1のワードの
構造と同一の構造を有する。空間EAPCB中のアドレ
スは、TAG=OOによって得られる。反対に、TAG
=01は、空間EAX中で識別できる現在のアドレス空
間EAC中のアドレスに到達する。このため、EAC空
間の識別子、すなわち、−時的に領域DLに割り当てら
れる空間EAXの特定の1つの識別子の値を記憶するた
めの特殊なレジスタCSRが考案された。このレジスタ
CSRのフォーマットを第9図に図示したが、1ワード
のサイズであり、ディスクリプタ64に/4MB/IT
S64の第2のワードのサイズと同じである。このレジ
スタは、3つのフィールドによって構成されている。第
1のフィールドはビット0〜5で形成されており、各々
二進値0を含み、第2のフィールドSHRはビット6及
び7によって形成されており、アドレスされたセグメン
ト分割レベルを示す値を含み、第3のフィールドASN
はビット8〜31によって形成されており、問題のアド
レス空間EAXを形成するセグメントのバッチの識別(
実際は、対応するメモリ段階中の番号(序数))を含む
。
第10図は、実記憶内の絶対アドレス指定を可能にする
64ビツトデイスクリブタAA64のフォーマットを図
示したものである。このフォーマットは、フィールドX
TAG=01の4GB型のセグメントに対応する第4図
に図示たディスクリプタ4GB/ I T S64から
由来する。ビット6〜24によって形成されたフィール
ドMBZ (フィールドSHRを含むが、この場合は有
効でない)は、0と等しい値に設定される。絶対アドレ
スの最上位の8つのビットは、ビット24〜31に配置
されており、一方、同じ絶対アドレスの最下位ビットは
ディスクリプタの第2のワード、すなわち、32〜63
ビツトによって形成されたフィールドに配置されている
。その結果、絶対アドレス指定容量は、2−40バイト
、すなわち、1024ギガバイトである。
32ビツトデイスクリブタに基づく絶対アドレス指定は
、直接的には可能ではない。まず、フォーマット動作の
変換を実行して、64ビツトフオーマツトに変更しなけ
ればならない。この動作を以下に説明する。
プロセスの実行モード 上記に記載したメモリアドレス指定の様々な例は、全部
、本発明の状況では情報処理装置に使用れる3つのプロ
セスの実行に使用される。すなわち、 一第1のモード「32モード」は、32ビツトアドレス
指定を使用し、 一第2のモード「64モード」は、64ビツトアドレス
指定を使用し、 一第3のモードr32/64モード」は、あるセグメン
トで、且つ、後段で詳細に説明する特定の条件下で、二
重アドレス指定を使用する。
第1のモードは、本出願人によって、その「DPS 7
Jシステムで使用されるモードに由来する。
特に、この32モードに直接対応するプロセス制御ブロ
ックPCBは、アメリカ合衆国特許第4.297.74
3号に記載のものとほぼ同一のフォーマットを有する。
ブロックPCBは、8個のベースレジスタ(ルジスタに
つき32ビツト)、16個の汎用レジスタ (ルジスタ
につき32ビツト)、4個の算術計算レジスタ(ルジス
タにつき64ビツト)、レジスタI C(Instru
ction Counter)の記憶またセーブ領域、
レジスタT(スタックのトップ)(32ビツト)及びS
TRレジスタ(状態レジスタ)の記憶ゾーン(8ビツト
)を備える。しかしながら、絶対アドレス指定は、もは
や32ビツトでは正当とは認められないが、64、また
は、32/64モードのプロセスモードに変更すると得
られる。実際、コード型TAG=01は、32/64モ
ードで仮想アドレスを拡張するのに使用される。
従って、実行の第1のモード、32モードは、空11J
jEAPCBの1つのセグメントにだけアクセスするた
めに、直接ディスクリプタlR332(TAG=00)
、間接ディスクリプタ(TAG=10)及びデフォルト
ディスクリプタ (TAG=11)を管理することがで
きる。また、このプロセスは、他のモード用のメモリ内
で空間EAPCBの新しいポインタを管理し、XMOV
Eと呼ばれる特定の命令によって仮想メモリの他のセグ
メントから、または、他のセグメントに転送することが
できる。
64モードと呼ばれるプロセス実行モードは、32モー
ドに相当するが、新しいメモリ領域DX及びその64ビ
ツトアドレス指定に適している。命令リストは、32モ
ードのリストに類似しているが、以下の新しい命令が補
足されている: 新しい64ビツト環境の能動化テスト、現在の動作モー
ドのテスト、 XMOVE動作、 新しいページ及びセグメントディスクリプタと、記憶割
付はテーブルの管理に対応する命令。
64モードによる実行を可能にするために、プロセス制
御ブロックPCBは、第11図、すなわち、第11図(
1)及び第11図(2)に図示した新規なフォーマット
を有する。これを以下に簡単に説明する。
ブロックPCB (基準バイト0)の初期バイトのアド
レスに関して、ブロック化は、プロセス実行時間の用意
のために残されたメモリゾーン(アドレス−60〜0)
を含む。バイト−60〜−17が占めるゾーンは、オプ
ションである。メモリ位置に沿って配置された数字は、
制御ブロックPCBの基準位置0に関するバイトのオフ
セットを明確にすることが注目される。バイトOからバ
イト15の間に、4つの主プロセスワードPMW、0〜
PMW、3がメモリ中に格納される。ワードPMW。
0は、バイト0〜3を占め、1つのバイトにつき1つの
フィールドで、4つのフィールドを有する。
容量フィールドCAP、優先フィールドPRI、プロセ
ス実行状態フィールドEXE (例えば、「ウェイト」
 「レディ」等)及び実行フィールドDEXTを備える
。ワードPMW、Oの4つのフィールドの内容の詳細は
、アメリカ合衆国特許第4、297.743号に記載さ
れている。
主プロセスワードPMW、1は、バイト4〜7に格納さ
れている。状態パイ)STRによって、システムの状態
レジスタSTRのメモリ中に格納することができる。続
くバイト (エンコードされたMBZ)は、0に設定さ
れる。次のフィールドESは、2つのビットからなり、
その内容の値に応じて、以下のようにプロセス実行モー
ドを示すES=00.32モード ES=OL 32/64モード ES=10.64モード ES=L L違法PCB フィールドESの内容は、プロセス開始命令(STAR
T)の実行に先立って、ソフトウェアによって変更する
ことができ、従って、プロセス実行モードを変更したり
、または、特定の命令によって変更うすることができる
。
主プロセスワードPMW、2は、プロセス状態に関する
補足命令を伝えるために使用され、ワードPMW、3は
2つの有効フィールド、すなわち、ある特定の命令を実
行するプロセスの権利に関するフィールドDCN (ビ
ット0〜7)及びプロセスを実行することを許可するプ
ロセスのマスクに関するフィールドCPSM (ビット
16〜31) ヲ含む。
次に、ブロックPCBは、既に導入された2つのアドレ
ス空間ワードASW、O/1  (セグメントテーブル
5TWAを記載するアレーのアドレスを提供する)及び
ES=0(lまたは01の時有効であるバイト24〜5
1を備えるサブブロックを備える。また、例外ワードE
XW、プロシージャ呼び出しに使用されるスタックレジ
スタTの内容を記憶するスタックワードSKW、実行さ
れる命令のアドレスを知るのに使用される命令カウンタ
fCの内容を記憶するワードICW、番号(序数)すな
わち現在のアドレス空間EACの識別を知るのに使用さ
れるレジスタCSRの内容を記憶するワードC8W及び
3つのスタックペースワード5BW1〜5BW3を備え
る。これらのワードは、リング(OL  (1)及び(
2)のスタックセグメントの最初のバイトの各セグメン
ト化されたアドレスを含む。
バイト52〜83は、ベースレジスタ記憶ゾーンZMR
B (ES=1及びES=10のモードで、有効でない
)の8ワードに対応する。これらのベースレジスタは、
第8図を参照して説明したディスクリプタITS32に
類似の32ビツトフオーマツトを有する。
バイト84〜147は汎用レジスタ記憶化ゾーンZMR
Gの16ワードに対応し、バイト148〜179は科学
レジスタ記憶化ゾーンZMR3の8ワードに対応する。
バイト180〜255は、ES=00の時有効でないサ
ブブロックに対応する。このサブブロックの第1のワー
ドは、32/64モード、従って、ES=01の時使用
できるレジスタBREM (拡張されたベースレジスタ
のマスクを示す)の内容を記憶するために使用される第
1のフィールドBREM及び0に設定された第2のフィ
ールドMBZを含む。バイト184〜247は、拡張さ
れたベースレジスタ記憶ゾーンEXZMRB (8個の
ダブルワード)に対応する。これらのベースレジスタは
、第4図、第6図及び第10図に図示したディスクリプ
タITS64 (TAG=01及びTAG<>01)に
ついて記載したフォーマットに類似した64ビツトフオ
ーマツトを有する。バイト248〜255は、二重主プ
ロセスワードEXPMW、2に対応する。
バイト256〜303は、64モード(EX=10)を
除いて有効ではなく、拡張された命令カウンタの内容に
記憶化された1つのダブルワードEXICW。
スタックレジスタTの拡張された頂上の内容を記憶する
1つのダブルワードEXKWSEXSCW、0〜EXS
BWZ2の3つのダブルワード及びダブルワードEXE
XWを含む。
また、新しいフォーマットのブロックPCBは8つの例
外に関する記憶化ワードZMRB (バイト304〜3
52)と、64に/4MB型のセグメント用の4つの二
重アドレス空間ワードASDW、0〜ASDW、3 (
第7図を参照)の1つのゾーン(バイト336〜367
)と、4GB型セグメント用の4つの二重アドレス空間
ワードASDW、4〜ASDW、7の1つのゾーン(バ
イト368〜399)とを有する。
32/64モードと呼ばれるプロセス実行方法は、64
に/4MB型のセグメントをより良く使用するために、
及び、2つのメモリ領域DL及びDX間のブリッジを可
能にするために、特に、64ビツトアドレス指定への移
行を可能にするように設計されている。
32/64モードは、レジスタBREMの内容を使用す
る。それによって、ベースレジスタに含まれる8個のデ
ィスクリプタITS (ベースレジスタBRiにつき1
つのビットBREMi、但し、iは0〜7)の長さを1
つのバイトに記憶することが可能になる。ビットBRE
Miの内容の値「0」は、対応するベースレジスタBR
iが32ビツトフオーマツトを有するディスクリプタI
TSを含むことを示し、ビットBREMiの内容の値「
1」は、この同じベースレジスタBRiが64ビツトフ
オーマツトを有するディスクリプタITSを含むことを
示す。
ベースレジスタをアレンジし、ロードする命令は、可能
な変換(32→64または64→32) を決定するレ
ジスタBREMの内容を使用する。より詳しく言えば、
BREMi=1の時、ベースレジスタBRiは64ビツ
ト仮想アドレスを含み、アドレス拡張は、フィールド5
HRSASN、ST’N、STE及びSRAの内容に基
づいて行われる。また、BREMi=[]の時、ベース
レジスタBRiは32ビツト仮想アドレスを含む。レジ
スタBRiに含まれるコードTAGが01とは異なる時
、この時32ビツトで、アドレス指定拡張が実施される
。反対(BRi中のTAG=01)の場合、アドレスフ
ォーマットのダイナミック拡張は、現在の空間レジスタ
CSRのアドレスフィールドSHR及びASNを考慮し
て、実行される(このようにして得られた新しい64ビ
ツトデイスクリブタITSのフィールドTAGは、自動
的に0にセットされる)。
さらに、コードTAG=10を有するベースレジスタB
Rの内容に基づいて、アドレス拡張を実行する。これに
は、2つの可能なケースがある。
−ベースレジスタBRi中のコードTAG=10、その
BREMi=0  (32ビツトアドレス)は、TAG
=00のデータディスクリプタITS32に対応する。
一メモリ内でアクセスされ、BREMi=0と組合わさ
れたデータディスクリプタITSのコードTAG=10
は、アドレス拡張に使用される本来のベースレジスタの
内容がコードTAG=01を有する時、レジスタCSR
の内容に加えられなければならない。
また、データディスクリプタITSのコードTAGが、
BREMi=O(32ビツトレジスタ)が10(または
11)と異なるレジスタからメモリにシフトした時、こ
のディスクリプタは、そのコードTAG=01の時、レ
ジスタCSRの内容に加えられる。
このように、32/64モードで実行されるプロセスは
、32ビツトアドレス及び64ビツトアドレスを処理す
ることができる。アドレスフォーマットにおけるこれら
の変換を可能にし、32ビツト構成から64ピツト構成
に変換させるために、以下の2つの特定命令が生成され
たニ ー命令XLBDは、ベースレジスタBRiにアドレスX
の2つのワード(8バイト)をロードし、値1をBRE
Miに配置する。
一命令X5TBは、32ビツトから64ビツトへのヤオ
ーマットの拡張後、BREMi=O且つコードTAG=
lの時、ベースレジスタBRiの内容をアドレスXに基
づく2つのワード(8バイト)内に配置する。
呼び出しプロシージャ機構 一般的に、情報処理システムは、実行のプロシージャコ
ールとして公知の操作を広く使用する。
それによって、プロシージャを実行するプロセスは、他
の実行プロシージャAPEを呼び出し、次に、初期のプ
ロシージャAPTに戻ることによってそれ自体の実行を
再度始めることができる。このプロシージャコールは、
モジニラ−プログラムの使用の際に特に利点がある。本
出願人は、アメリカ合衆国特許第4.297.743号
に、この型のプロシージャコール操作に適したスタック
メモリ構造を使用する方法及び装置を記載した。
スタックは、それに対するアクセスがLIFO(Las
t In、 First (Jut)システムによって
行われる隣接した素子を備える特定のメモリセグメント
である。スタック素子は、プロシージャ呼び出しのたび
に生成され、呼び出しプロセスへ戻ることを可能にする
情報を記憶化するために使用される。
従って、スタックでは、概括的なコール状態が得られる
。
オペレーティングシステムでは、能動スタック素子のロ
ケーションはベースメモ’JBROに記憶され、続いて
使用できるロケーションは専用レジスタTまたはスタッ
クレジスタのトップに記憶される。また、幾つかのパラ
メータの転送は、プログラムによって選択されたベース
レジスタを介して実施される。
プロシージャ呼び出しは、命令P RS K (pre
para−tion of the 5tack)の実
行から始まる。その結果、スタック内に、レジスタST
Rの内容がセーブされ、ユーザープログラマにパラメー
タを受けることのできるゾーンのポインタが提供される
。このゾーン内に、呼び出されるプロシージャに転送す
れるべき情報がロードされる。プロシージャ呼び出しは
、次に、以下のステップによって、命令ENT(ent
ry to the procedure)の実行で終
了される: IJソング御(リングの変更が必要な場合、この時、「
ゲート」サブプロシージャが実行される。)−命令カウ
ンタICのレジスタ内容のセーブ−ベースレジスタBR
Oのロード(パラメータの指示) 一アドレスがENT命令で与えられるプロシージャディ
スクリプタによるプロシージャのエントリ点の決定 一所定のベースレジスタ、例えば、レジスタBR7での
結合データを示すポインタのロード−適用できるものと
して、新しいリング数と命令カウンタICにレジスタへ
のエントリ点のアドレスをロードすることによる新しい
プロシージャへのエントリ。
現在のスタック素子ゾーン、すなわち、作動ゾーンZT
は、また、メモリ中にローカル変数を格納することによ
って呼び出されたプロシージャを使用することができる
。リターンは、レジスタ及び命令カウンタICに関する
スタック記憶化ゾーンの内容からの命令E X I T
(exit from theprocedure)で
実施される。
安全性のため、リング数を介したスタック構造が提供さ
れる。各スタックでは、素子の特定のフォーマットは、
呼び出しプロセスの実行モードによる。第12図は、3
2/64モードで使用されるスタック素子のフォーマッ
トを概略的に図示したものである。
第12図を参照すると、32/64モードスタツク素子
は、3つの主なゾーン、すなわち、作業ゾーンZT、情
報セーブまたは記憶ゾーンZS(新しいプロシージャの
呼び出しに先行)及び連絡ゾーンZC(その中に、呼び
出されたプロシージャを実行するのに必要な情報が配置
されている)に、32ビット幅を備える。これらの3つ
のゾーンは、命令PR3Kによって生成される。ゾーン
ZCの第1のバイトは、ベースレジスタBROによって
指示される。
ゾーンZSの第1のワードはセーブゾーンマスクすなわ
ちS AM (saving zone mask)を
備え、そのSAMは以下の形態であるニ ーこの場合は4つのビットを備え、内容0100の「フ
ォーマット」フィールドであり、8ビツトゾーンBRは
8個のベースレジスタBRO〜BRT用の指示マスクを
備え(メモリ内に格納されるため)、 一16個の汎用レジスタGRO〜GR15のための指示
マスクを備える16ビツトゾーンGR。
−及び、4個の算術用レジスタSRO〜SR3のための
指示マスクを備える4つのピットゾーンS0 第2のワードはレジスタCSRをセーブするためのもの
であり、第3のワードはレジスタBREMをセーブする
ためのものである。次に、ベースレジスタセーブゾーン
BR3A (ルジスタにつき2つのワードであり、BR
EMi=Oの時第2のワードが0にセットされる)、そ
の次に、レジスタのセーブゾーン0R3Aが来る。最後
の1つ前のワードは、状態レジスタSTR(第1のバイ
ト)と呼び出しプロセスの実行中のプロシージャが操作
している部分的なメモリ拡張の可能な数をセーブするた
めに使用される。また、セーブゾーンZSの最後のワー
ドPTVは、レジスタTの前段の値、すなわち、命令P
R3Kの開始時のレジスタTの値を含む。
エントリがベースレジスタBROに含まれたポインタに
よって与えられる通信ゾーンZCは、ワードSAMのポ
インタを含むワードPSAで始まる。次に、ワードIC
Cが来る。このワードは、命令ENTに続く命令のアド
レスを含む。命令PR3KのフィールドNBPの内容(
パラメータゾーンのバイト数は、スタック素子のフィー
ルドNBPに配置されている。連絡ゾーンZCは、パラ
メータゾーンPARAMで終わる。この終わりは、スタ
ックの一番上のパイ)Tによって境界が付けられる。レ
ジスタTは、スタック素子が生成すると毎回更新される
。
32モードでの実行の場合、スタックフォーマットは、
第12図を参照して説明したものに類似しているが、以
下の変更がある。ニ ーワードSAMの「フォーマット」フィールドの内容は
、0000に設定される。
−ワードCSR及びBREMは、除去される。
−ベースレジスタの内容のセーブは、2ワードではなく
、1つのワードについて実施される。
64モードでの実行の場合、スタックフォーマットは、
第12図を参照して説明した、32/64モード用のも
のに類似しているが、以下の変更があるニーワードSA
Mの「フォーマット」フィールドの内容は、1000に
設定される。
−ワードCSR及びBREMは、除去される。
−ベースレジスタのセーブゾーン、すなわち、ゾーンP
TV、PSA及びICCはサイズとしてはダブルワード
を有する。従って、ゾーンPARAMの第1のバイトの
アドレスは、レジスタBROの内容によって指示された
アドレスから、20バイトのシフトによって得られる。
呼び出し機構の内容中で使用される様々なプロシージャ
へのアクセスは、プロシージャディスクリプタPDとし
て公知のプロシージャアドレスディスクリプタによって
実行される。プロシージャアドレスディスクリプタのフ
ォーマットは、プロセスの実行モードに関係する。
32モードまたは32/62モードで実行される時、プ
ロシージャディスクリプタまたはP D32のモードは
、第13図に図示したモードと一致する。第1のワード
M、0は、フィールドTAG (ビット0及び1)と、
TAG<>0の時フィールドRING(リング数)と呼
び出されたプロシージャ(ビット4〜31) のセグメ
ント化されたアドレスフィールド(SEGSSRA)に
相当するフィールドEPRN (ビット3及び4)とを
含む。フィールドSEGによって、セグメント数の識別
が可能になり、フィールドSEGは、第6図及び第8図
のディスクリプタのフィールドSTN及びSTEのセッ
トとして同じ意味を有する。同様に、フィールドSRA
は、SEGによって決定されたセグメントでのオフセッ
トを決定する。場合によっては、第2の32ビツトワ一
ドM、1は、拡張パラメータEXPARAMを有する。
より詳細には、以下の通りであるニ ーTAG=00(直接ディスクリ・ブタ)の場合、プロ
シージャディスクリプタは、1つのワードに限定され、
セグメント化されたアドレスは、プロシージャのエント
リ点のアドレスに対応する。
−TAG=01(拡張されたディスクリプタ)の場合、
ディスクリプタは2つのワードを有する。
セグメント化されたアドレスは、プロシージャのエント
リ点のアドレスに対応する。さらに、第2のワードの内
容は、プロシージャのエントリの際ベースレジスタBR
7にロードされる。
−TAG=10(ディスクリプタCASD)の場合、ア
ドレス空間ディスクリプタCASDの変換のフォーマッ
トは第14図に図示されている。
ディスクリプタCASDの第1のワードM、  0は、
10にセットされたフィールドTAGの他に、呼び出さ
れたプロシージャの実行モードを決定するフィールドN
XM (ビット2及び3)及び呼び出されたプロシージ
ャのディスクリプタのセグメント化されたアドレスのフ
ィールドFDAI  (SEGSSRA)を含む。第2
のワードM、  1は、0にセットされた6ビツトゾー
ン及び呼び出されたプロシージャのディスクリプタのセ
グメント化されたアドレスの補足フィールドPDA2 
 (SHR,ASN)(ビット38〜63) を含む。
64モードで実行した時、プロシージャディスクリプタ
すなわちP D64のフォーマットを第15図に図示し
た。フォーマットは、少なくとも2つのワード(M、0
及びM、1)、及び、場合によっては、2つの拡張ワー
ド(M、2及びM、3)を備える。ワードM、  O及
びM、  1の構造は、64ビツトアドレス指定を有す
るデータディスクリプタITS64について記載した構
造に類似している。また、ワードM、2及びM、  3
は、拡張パラメータEXPARAMI/2を含む。
−TAG=00 (または、TAG=01及びXTAG
=00)(直接ディスクリプタ)の場合、ディスクリプ
タのサイズは2ワードであり、セグメント化されたアド
レスはプロシージャのエントリ点のアドレスである。
−TAG=10(まタハ、TAG=01及びXTAG=
10)(拡張ディスクリプタ)の場合、ディスクリプタ
のサイズは4ワードであり、セグメント化されたアドレ
スはプロシージャへのエントリ点のアドレスであり、ワ
ードM、2及びM、  3の内容はベースレジスタBR
7にロードされる。
−TAG=11  (まタハ、TAG=01及びXTA
G<>(00または10))の時、システムによって提
供された例外プロシージャへの分岐が生じる。
通常、保護されていないセグメント内に内蔵されたプロ
シージャディスクリプタは、使用されるアドレス指定と
プロセス実行モードと互換性のあるセグメントのいずれ
にも配置できる。
−32モードの場合、プロシージャディスクリプタは、
0に等しいSHR及びASNを介してアクセスすること
のできる空間64に/4MBのセグメント内に配置され
る。また、ディスクリプタCASDを介して参照される
時、空間64に/4MB (EAX)のいかなるセグメ
ントにも配置される。そのディスクリプタCASDは、
0に等しいSHR及びASNによってアクセスできる空
間64に/4MBのセグメント内に配置されている。
−64モードの場合、プロセスがそのセグメントにアク
セスすることが8忍められている限り、プロシージャデ
ィスクリプタはいかなる型のセグメント内に配置されて
いてもよい。
一32/64モードの場合、プロシージャディスクリプ
タは、64ビツト仮想アドレス(BREMi=1)によ
って参照される時、64に/4MBまたは4GB型のい
かなるセグメントに配置されていてもよい。CASDを
介して参照されるならば、64に/4MBの型のいかな
るセグメントに配置されていてもよい。セグメン)64
に/4MBがSHR及びASN=0、または、レジスタ
CSRの内容でアクセスできる時、直接参照することが
できる。
実行モードに関係なく、プロシージャ呼び出し機構は、
以下の4つの主な機能を果たす。
a)アクセス権、すなわち、各リングの値に応じて呼び
出されるもの(APR)を呼び出す、呼び出し者(AP
T)の権利の確認 b)新しいリング番号の決定 C)スタック及びスタックレジスタの更新d)プロシー
ジャのエントリ点での分岐32モード及び32/64モ
ードでは、コールおよびらリターン機構は、実行モード
の自動変更が必要かどうか及び/または32ビツト仮想
アドレスを介して直接アクセスすることのできないプロ
シージャディスクリプタの存在するかどうかによって、
僅かに異なる。
以下の説明のために、次のことを定義しておく:・アド
レス空間PCB (EAPCB):プロセスが32モー
ドで実行される時直接アクセスできるセグメントのセッ
ト ・現アドレス空間(EAC): レジスタCSRの内容を介してアクセスできるアドレス
空間EAXに属するセグメントのセット。
レジスタCSRが0の時、空間EAPCB及び現アドレ
ス空間EACは同一のセグメントのセットである。
・新アドレス空間(NEA): ディスクリプタCASDの第2のワードを介してアクセ
スできるアドレス空間に属するセグメントのセット。
プロセスの実行中、本発明は、プロシージャコール及び
対応するリターン時での実行モードのダイナミックな変
化について3つのケースを提供する。これらのケース、
DYNl、DYN2及びDYN3は、各々、第18図、
第19図及び第20図を参照して説明される。
まず、命令カウンタICのレジスタの種々のフォーマッ
トを簡単に説明する。特に、第16図は、TAG=00
の時、64モード用の対応するレジスタICのフォーマ
ットを図示したものである。この場合、フォーマット(
ダブルワードを備える)は、ディスクリプタ64に/4
MB/ITS64について記載したもとに類似しており
、フィールドRING (第6図に図示)とフィールド
PRN (第16図に図示)とは等価である。TAG=
I Qの場合、レジスタICのフォーマットは、ディス
クリプタ4GB/ITS64(第4図に図示)について
記載したものに類似している。32モード及び32/6
4モードでは、レジスタICは、1つのワードを備え、
そのフォーマットは、ディスクリプタ64に/4MB/
IATS32 (第8図に図示)について記載したもの
と類似しており、フィールドEAR(第8図に図示)と
レジスタICのフィールドPRNとは等価である。32
モードでは、フィールドTAGは、常に00である。反
対に、32/64モードでは、フィールドTAGは、値
00 (レジスタICは、実行されるべき次の命令の仮
想アドレスを含む)または値01 (命令レジスタの内
容は、実行されるべき次の命令の仮想アドレスを形成す
るレジスタCSRの内容に連結されなければならない)
になることがある。
一般に、所定のアドレス空間EA内での呼び出すプロシ
ージャAPTから呼び出されるプロシージャAPEへの
、プロシージャディスクリプタPDを使用するプロシー
ジャ呼び出し機構は、第17図に図示した基本的なアウ
トラインに沿って実行される。呼び出し機構でのプロシ
ージャディスクリプタの使用によって、システムの完全
性を確実するのに必要な一貫性のある制御を困難な〈実
施することができる。また、間接機構を使用するソフト
ウェアの慣習によって、実行すべきプログラムの外部の
リファレンスのスタティック及び高性能ダイナミック導
出法のどちらも有することができる(この間接は、第1
7図〜第20図では、符号ENTに付した星印(本)に
よって示した)。
これを実施するために、コンパイラは、解くべきリファ
レンスをテーブルにまとめる。このテーブルは、リンク
編集セクションLKSと呼ばれる。
命令コードC0DEの外部のプロシージャ呼び出しは、
間接法を使用して、呼び出されるプロシージャAPEの
ディスクリプタPDに達する。この方法の利点は、以下
のように、多数あるニーコードとプログラムの外部のリ
ファレンスの独立性を可能にする。
一ローカルサーチ規則を使用することによって、符号の
共有を有するダイナミックリンク編集が可能になる(各
プログラムは、個々の結合の1つのサブセクションを有
する)。
一命令用キャッシュメモリを備える装置内で、外部リフ
ァレンスの導出後、キャッシュメモリを空にせずに、ダ
イナミックリンク編集を実施することができる。
−また、外部リファレンスの導出は、符号内の使用数に
関係なく、−回しか実施されない。
第1の近似では、コンパイラは2つのオブジェクトを生
じさせる。第1のオブジェクトは、オブジェクトコード
C0DE (実行されるべき命令のセット)を含み、第
2のオブジェクトはリンク編集セクションLKSを含む
。このセクションは、解かれるべき外部リファレンスに
よるワードにコードによって使用される定数を足したも
のを含む。
また、付されたテーブルは、外部リファレンスのシンボ
ル名を組む(スタティックまたはダイナミックリンク編
集用)。リンク編集セクションLKSとよびコードC0
DEは、セグメント節約のため、同一セグメント内に集
められる。同様に、複数のコンパイル単位もまた一緒に
集められる。
実行中、命令ENT (ENTER)は、ベースBR7
に対してディスプレイスメントXを探す。
すなわち、このレベルで間接(この場合は第17図に図
示)が存在しない時プロシージャディスクリプタPDを
直接探し、または、間接が存在する時(例えば、第18
図、第19図及び第20図に図示した場合)他のアドレ
スディスクリプタを探す。プロシージャディスクリプタ
PDは、アクセス制御(順位付は後)の後に読み出され
、呼び出されたプロシージャでのエントリ点のアドレス
とベースレジスタBR7に配置される値が得られる。
従って、プロシージャ呼び出し機構は、2つの命令PR
3K及びENTを作動させる。第1の命令PR8Kは、
コンテキスト(プロセスに割り付けられたレジスタの瞬
間的な内容のセット)をセーブする役割を果たすスタッ
クゾーンと、パラメータの通過とを用意する。この命令
のアーギュメントは、セーブするレジスタ、パラメータ
ゾーンのサイズ、及び、命令の終点では保持されたゾー
ンにパラメータを配置することのできるアドレスを含む
レジスタ数を指示するマスクSAMである。
第2の命令ENTは、「制御の移転」、すなわち、実行
すべき命令の新しいコードシーケンスへの移行を実施す
る。呼び出しの準備がそれ自体は呼び出しと別であると
いう事実によって、レジスタを解放して、パラメータの
移行シーケンスを実行することができる。
コンテキストを指し示すレジスタは、呼び出しプロシー
ジャのコンテキストのためのベースレジスタBROであ
ることに注目すべきである。これは、呼び出し命令EN
Tの実行まで、新しいコンテキストのための命令PR3
Kで記載したレジスタである。ベースレジスタBROは
対称的にセーブされるので、呼び出し列を遡ることがで
きる。
リターンでは、命令EXITは、コンテキストを取り除
き、セーブした値で種々のレジスタを再初期化する。
・ケース#l  (DYNI):32モードから32/
64モードへ 32モードから32/64モードへの移行は、単純に、
アクセスルートにおけるアドレス空間ディスクリプタC
ASDの変化をプロシージャディスクリプタPDに挿入
することによって実施される。ディスクリプタCASD
の2ワードは、64ビツトアドレスを形成し、それによ
って、プロシージャディスクリプタPDの読出しを可能
にする。外部リファレンスの導出は、テーブルLKSま
たはプロシージャディスクリプタのフォーマットの変更
せずに、オペレーティングシステムの制御化で実施され
るので、ディスクリプタCASDの挿入は、旧プログラ
ムに全く阻害されない。ディスクリプタCASDの第2
のワード(レジスタCSRのものと形態が同一)は、空
間EACとして能動化される新アドレス空間NEAがど
れであるかを示す。
これは、呼び出されるプロシージャのコードまたはリン
ク編集セクションが空間EAC内にあることは必要ない
。その全部まはた一部分が空間EAC内に配置されてい
る事実は、本発明によって提供される新規な可能性が望
まれる使用法(仮想アドレスの拡張、絶対アドレス指定
、空間DXへのアクセス等)による。
このように、呼び出されるプロシージャAPEに到達す
る第1のディスクリプタがCASD型の場合、例えば、
命令INATの実行を伴う呼び出しプロシージャ(コー
ル)の時に、ダイナミックな変化が起こる。このアクセ
スは、第18図に図示した方法によって実施される。命
令カウンタレジスタICは、00にセットされたフィー
ルドTAGを備える32ビツトフオーマツトを有する。
空間EAPCBでは、レジスタICは、命令コードテー
ブル(テーブルC0DE)でのエントリENTのアドレ
スを指示する。命令ENTは、ベースレジスタBR7を
呼び出す間接を示す有効なアドレスとして公知のアドレ
スフィールドを含む(アメリカ合衆国特許第4.385
.352号及び4.297.743号を参照)。ベース
レジスタBR7の内容と組み合わされた指示アドレスの
拡張は、リンクテーブル(LKS)内のエントリを指示
する。その内容によって、新アドレス空間NEAに配置
されたPD32型の実プロシージャディスクリプタPD
を指示することができる。ディスクリプタPDのフィー
ルドTAGは、値01にセットされており、ダブルワー
ドフォーマットを意味する。ディスクリプタPDのセグ
メント化されたアドレスフィールドは、ディスクリプタ
CASDの対応するフィールドの内容がロードされてい
る。従って、システムは、従来のように、ディスクリプ
タPDの第1のワードを使用して、新アドレス空間NE
AのテーブルC0DE内で呼び出されたプロシージャA
PEの命令コードのエントリを決定し、ディスクリプタ
PDの第2のワードを使用して、リンクテーブルLKS
における対応するエントリを設定し、呼び出されたプロ
シージャAPEを実行するのに必要な情報を検索する。
また、レジスタICのフィールドTAGは、ディスクリ
プタCASDの第1のワードのビット2及び3にロード
されている。このディスクリプタは、次に、直接ディス
クリプタ(TAG=O(1)になる。また、プロセス実
行モードは、32/64モード(ES=01)に変化す
る。
リターン命令EXITの実行中、32/64モードへの
ダイナミック変化が起こり、呼び出しプロシージャAP
Tがそのモードで実行可能ならば、すなわち、言い換え
れば、対応するスタック素子のワードSAMの「フォー
マット」フィールド(最初の4ビツト)が0100に等
しい時、スタックからシーZSが除去される。
・ケース#2  (DYN2):32/64モードから
32/64モードへ(擬似変化) プロセスが32/64モードで実行される時、ダイナミ
ックモード変化機構は、現アドレス空間EACを変化°
させるのに使用される。この場合、ダイナミック変化機
構は、上記のものに類似しており、第19図に図示した
ものである。ディスクリプタCASDは、新アドレス空
間でプロシージャディスクリプタDを指示するのに使用
される。また、レジスタICのフィールドTAGは、デ
ィスクリプタCASDの第1のワードのビット2及び3
のフィールドにロードされる。さらに、レジスタC8R
は、ディスクリプタCASEの第2のワードの内容(前
段の内容は、スタックにセーブされている)がロードさ
れる。プロセスの実行モードは、32/64モードのま
まであることが分かる。
・ケース#3  (DYN3):32/64モードから
32モードへ プロセスが32/64モードで実行される時、命令EN
Tによってダイナミック変化が可能になる。
この変化は、ディスクリプタCADのビット2及び3の
フィールドが10の時、実施される。対応するダイナミ
ック変化機構を第20図に図示した。
再度、ディスクリプタCASDを使用して、プロシージ
ャディスクリプタPDを選択する。また、レジスタIC
のフィールドTAGは00にセットされ、レジスタCS
RはディスクリプタCASDの第2のワードの内容がロ
ードされる(前段の内容はスタックにセーブされている
)。さらに、プロセス実行モードは、32モードに変化
する。
命令EXITが実行される時、ダイナミック変化は、ス
タックのワードSAMの最初の4つのビットの値によっ
て行われる(0000=32モード、または、0100
 =32/64モード)。
このように、実行モードのダイナミック変化によって、
32ビツトフオーマツトで書き込まれた現プログラムに
対する大きな柔軟性がユーザに与えられる。これらのプ
ログラム(符号を含む)は、64ビツトメモリ領域DX
で配置される。また、64ビットフォーマットに書き込
まれ、32/64モードで実行できるプロシージャ及び
その他のプログラム及び/またはサブルーチンを呼び出
すことができる。この実行モードでは、プログラムは、
32ビツトアドレス指定と64ビツトアドレス指定の両
方の型のアドレス指定を管理することができる。
本発明は、上記に記載した方法のみに限定されるもので
はなく、様々に変更した、上記の方法を使用するハード
ウェア及びソフトウェアを含む情報処理システムに関す
るものである。本発明によるシステムは、1つまたは複
数の中央プロセッサCPU106及び中央メモリMMU
 102を中心に構成されたプロセッササブシステムを
備え、各プロセッサは、周辺サブシステム104、特に
、仮想アドレス用の十分な容量を有する大容量メモリ手
段に対する入力/出力用コントローラIOC108及び
中央メモリ102を管理するマイクロプログラム制御さ
れる手段と、ソフトウェア手段、特に、マイクロプログ
ラム制御される手段と協動して本発明による方法を使用
することを可能にするオペレーティングシステムの名で
含まれるプログラムのセットを備える。具体的には、本
発明のコンテキストで記載されたと特定の操作は、ソフ
トウェア及び/またはマイクロプログラミング及び/ま
たは論理回路によって実行される。
【図面の簡単な説明】
第1図は、本発明の方法を使用する情報処理システムの
回路図であり、 第2図は、本発明による仮想メモリのセグメンテーショ
ンの概略図であり、 第3図は、本発明によるメモリ領域の32及び64ビツ
トへの組織化の概略図であり、 第4図は、本発明による、サイズが64ビツトの第1の
データディスクリプタ4GB/ITS64のフォーマッ
トFX2の概略図であり、 第5図は、第4図に図示したディスクリプタに基づくア
ドレス拡張の概略図であり、 第6図は、本発明による、サイズが64ビツトの別のデ
ータディスクリプタ64に/ 4 MB/ I T S
64のフォーマットFXIの概略図であり、第7図は、
第6図に図示したディスクリプタに基づくアドレス拡張
の概略図であり、 第8図は、本発明の実行に使用される、サイズが32ビ
ツトのデータディスクリプタ64に/4MB/ITS3
2のフォーマットFLの概略図であり、第9図は、本発
明によるレジスタCSRのフォーマットの概略図であり
、 第10図は、本発明による、フィジカルメモリ中の、サ
イズが64ビツトの絶対アドレスディスクリプタA A
64のフォーマットの概略図であり、第11図(1)及
び第11図(2)は、本発明によるプロセス制御ブロッ
クPCBの概略図であり、第12図は、本発明によるス
タック素子の概略図であり、 第13図は、32モード及び32/64モードで使用さ
れるプロシージャディスクリプタP D32の概略図で
あり、 第14図は、アドレス空間変化の場合に使用されるプロ
シージャディスクリプタCASDの概略図であり、 第15図は、64モードで使用されるプロシージャディ
スクリプタP D64の概略図であり、第16図は、本
発明で使用される命令カウンタレジスタICの1フオー
マツトの概略図であり、第17図は、本発明のコンテキ
ストで使用される、プロシージャディスクリプタ型のプ
ロシージャの呼び出しの基本的な機構の概略図であり、
第18図、第19図及び第20図は、本発明で説明した
ケース1.2及び3で、プロセス実行モードのダイナミ
ック変化の機構の概略図である。 (主な参照番号) 100  ・・・プロセッササブシステム102  ・
・・中央メモリ 104  ・・・周辺サブシステム 106  ・・・中央プロセッサ 108  ・・・入力/出力コントローラ110  ・
・・周辺制御装置

Claims (14)

    【特許請求の範囲】
  1. (1)仮想アドレス式の情報処理システムにおけるメモ
    リ操作方法であって、 サイズがNXビットの論理アドレスの周囲に第1のメモ
    リ領域DXを設け、 上記メモリ領域DX中に、同一の構造で、サイズがNX
    より小さいNLビットの相対アドレス指定を可能にする
    複数のアドレス空間EAXを決定し、 上記アドレス空間EAXの1つ(以後、現アドレス空間
    EACと呼ぶ)を、サイズがNLビットのアドレスの周
    囲に設けられ第2のメモリ領域DLに一時的且つ交換可
    能に割り当てる、 ことを特徴とする方法。
  2. (2)対応する空間EAXの識別子を受けるための少な
    くとも1つのフィールドを含む補足のゾーンを使用して
    、サイズNLの相対アドレス指定フォーマットFLの拡
    張によって、上記空間EAXにアクセスするためのサイ
    ズNXの第1のアドレス指定フォーマットを構築するこ
    とを含む請求項1に記載の方法。
  3. (3)さらに、上記補足のゾーンに含まれる上記現アド
    レス空間EACの識別子をリザーブレジスタ(レジスタ
    CSR)に記憶することを特徴とする請求項2に記載の
    方法。
  4. (4)上記メモリ領域DLは、上記アドレス指定空間E
    AXの構造と同一構造の永久アドレス指定空間EAPC
    Bを備え、該空間EAPCBは値が0に等しい識別子に
    よって上記領域DX内においてマーク可能である請求項
    1〜3のいずれか1項に記載の方法。
  5. (5)上記アドレス指定空間は、場合によっては、複数
    のサイズを備え、及び/または、複数のプロセスによっ
    て分割共有できるセグメント型であることを特徴とする
    請求項1〜3のいずれか1項に記載の方法。
  6. (6)サイズNXの別のアドレス指定フォーマットFX
    2からアクセスできる複数のセグメントは、上記メモリ
    ゾーンDX中に形成されることを特徴とする請求項1〜
    3のいずれか1項に記載の方法。
  7. (7)上記フォーマットFX1及びFX2は、上記のフ
    ィジカルメモリにおいて絶対アドレス指定を可能にする
    ことのできる変形AA64を内蔵することを特徴とする
    請求項1〜3のいずれか1項に記載の方法。
  8. (8)上記アドレス指定サイズNX及びNLの両方をサ
    ポートするプロセス実行モード(32/64モード)を
    決定することを特徴とする請求項1〜3のいずれか1項
    に記載の方法。
  9. (9)上記のアドレス指定サイズNLをサポートする別
    のプロセス実行モード(32モード)を決定し、上記の
    2つのプロセスモード(32モード及び32/64モー
    ド)はダイナミック変換によって自動的に、または、プ
    ログラミングによって、1つのモードから別のモードの
    切り換えできることを特徴とする請求項8に記載の方法
    。
  10. (10)さらに、 上記のサイズNLのアドレス空間、すなわち、上記空間
    EAX及び場合によっては上記空間EAPCBとして、
    基本構造が同一のプロシージャディスクリプタを選択し
    、 上記プロシージャディスクリプタPD基本構造が同一の
    アドレス空間変換ディスクリプタ(以下、CASDと呼
    ぶ)を決定し、 所定のアドレス空間で実行できるプロセスで始め、上記
    CASD型ディスクリプタによって、別のアドレス空間
    で実行されるプロシージャAPDの呼び出しを可能にす
    る、 ことを特徴とする請求項1〜3のいずれか1項に記載の
    方法。
  11. (11)上記CASD型ディスクリプタは、上記の呼び
    出されたプロシージャAPEを含むアドレス空間の識別
    子と、その新アドレス空間NEAにおける呼び出された
    プロシージャのポインタを受けるためのフィールドを備
    えることを特徴とする請求項10に記載の方法。
  12. (12)上記アドレス指定サイズNX及びサイズNLの
    両方をサポートする第1及び第2のプロセス(32/6
    4モード)を決定し、この2つの実行モードはどちらか
    からもう一方に切り換えることができ、自動切り換えは
    、CASD型ディスクリプタを表すコード型式のプロシ
    ージャディスクリプタの識別によってプロシージャ呼び
    出しでダイナミックに行われることを特徴とする請求項
    11に記載の方法。
  13. (13)単位命令を実行するプロセスは、ベースレジス
    タBRとして公知のアドレスレジスタを使用し、サイズ
    NL及びNXのベースレジスタの2つのセットを決定し
    、メモリゾーンBREM中に、対応するレジスタBRi
    にロードされるまたはそれから抽出されるアドレスのサ
    イズNL及びNXを示す各ビットBREMiの内容のた
    めのマスクを設け、上記アドレス移動時に、上記対応す
    るサイズビットBREMiの内容でロードされたまたは
    抽出されたアドレスの互換性を確認し、使用できるなら
    ば、該対応サイズビットBREMiの結果として、変化
    させて、自動アドレス縮小または拡張を実行することを
    特徴とする請求項1〜3のいずれか1項に記載の方法。
  14. (14)仮想アドレス式メモリの操作方法を実行する情
    報処理システムであって、1つまたは複数の中央プロセ
    ッサCPU106と中央メモリMMU102を中心にし
    て構成されたプロセッササブシステム100を備え、各
    中央プロセッサは、特に仮想アドレス指定に十分な大容
    量のメモリ手段を有する周辺サブシステム104に動作
    的に接続された入力/出力コントローラIOC108と
    上記中央メモリの管理を実行するためのマイクロプログ
    ラミング制御される手段と、該マイクロプログラミング
    制御される手段と協動して、以下の操作方法を実行する
    オペレーティングシステムの名で集められたプログラム
    のセットを特に含むソフトウェアとを備えており、上記
    操作方法は サイズがNXビットの論理アドレスの周囲に第1のメモ
    リ領域DXを設け、 上記メモリ領域DX中に、同一の構造で、サイズがNL
    ビット(但し、NLはNXより小さい)の相対アドレス
    指定を可能にする複数のアドレス空間EAXを画成し 上記アドレス空間EAXの1つ(以後、現在のアドレス
    空間EACと呼ぶ)を、サイズがNXより小さいNLビ
    ットのアドレスの周辺に組織化された第2のメモリ領域
    DLに一時的且つ交換可能に割り当てる、 ことを含むことを特徴とする装置。
JP2269291A 1989-10-06 1990-10-06 仮想アドレス式情報処理システムにおけるメモリの使用方法及びこの方法を実施するための装置 Expired - Fee Related JPH067377B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR8913110A FR2652926B1 (fr) 1989-10-06 1989-10-06 Procede d'exploitation de la memoire dans un systeme informatique du type a adressage virtuel et dispositif pour la mise en óoeuvre dudit procede.
FR8913110 1989-10-06

Publications (2)

Publication Number Publication Date
JPH03126144A true JPH03126144A (ja) 1991-05-29
JPH067377B2 JPH067377B2 (ja) 1994-01-26

Family

ID=9386179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2269291A Expired - Fee Related JPH067377B2 (ja) 1989-10-06 1990-10-06 仮想アドレス式情報処理システムにおけるメモリの使用方法及びこの方法を実施するための装置

Country Status (7)

Country Link
US (1) US5129070A (ja)
EP (1) EP0421845B1 (ja)
JP (1) JPH067377B2 (ja)
AT (1) ATE142035T1 (ja)
DE (1) DE69028269T2 (ja)
ES (1) ES2093639T3 (ja)
FR (1) FR2652926B1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0492970B1 (en) * 1990-12-21 1995-08-02 Sun Microsystems, Inc. Method and apparatus for extending computer architecture from thirty-two to sixty-four bits
JPH0546447A (ja) * 1991-08-08 1993-02-26 Hitachi Ltd 空き領域検索方法
US5826057A (en) * 1992-01-16 1998-10-20 Kabushiki Kaisha Toshiba Method for managing virtual address space at improved space utilization efficiency
JP3219826B2 (ja) * 1992-02-21 2001-10-15 日本電気株式会社 情報処理装置
US5295081A (en) * 1992-10-30 1994-03-15 International Business Machines Corporation Concurrent interactive wire editing
JPH06231047A (ja) * 1993-02-05 1994-08-19 Fujitsu Ltd アドレス変換方法および装置
JPH06230977A (ja) * 1993-02-05 1994-08-19 Nec Corp 言語処理装置
US5487158A (en) * 1993-04-06 1996-01-23 International Business Machines Corporation Method and procedure call mechanism for calling 16-bit functions from 32-bit functions
CA2093451C (en) * 1993-04-06 2000-03-14 David M. Mooney Method and mechanism for calling 32-bit functions from 16-bit functions
US5956751A (en) * 1995-06-28 1999-09-21 Industrial Technology Research Institute Computer memory management system using physical segmentation space allocation
US5732404A (en) * 1996-03-29 1998-03-24 Unisys Corporation Flexible expansion of virtual memory addressing
US6167498A (en) * 1997-10-02 2000-12-26 Cirrus Logic, Inc. Circuits systems and methods for managing data requests between memory subsystems operating in response to multiple address formats
FR2787901B1 (fr) 1998-12-28 2001-02-09 Bull Sa Organisation memoire par zones physiques
US6449710B1 (en) * 1999-10-29 2002-09-10 Stmicroelectronics, Inc. Stitching parcels
US6898697B1 (en) * 2002-03-29 2005-05-24 Advanced Micro Devices, Inc. Efficient method for mode change detection and synchronization
US7397809B2 (en) * 2002-12-13 2008-07-08 Conexant Systems, Inc. Scheduling methods for combined unicast and multicast queuing
US7574419B2 (en) * 2004-05-13 2009-08-11 Oracle International Corporation Automatic tuning of undo retention
US8756200B2 (en) * 2004-05-14 2014-06-17 Oracle International Corporation Undo advisor
US7801932B2 (en) * 2005-10-11 2010-09-21 Oracle International Corporation Undo hints to speed up segment extension and tuning of undo retention
US7885939B2 (en) * 2005-10-11 2011-02-08 Oracle International Corporation Longest query duration for auto tuning undo retention
US20070143352A1 (en) * 2005-12-21 2007-06-21 International Business Machines Corporation Method and system for implementing database migration using a staged approach
US9201678B2 (en) 2010-11-29 2015-12-01 International Business Machines Corporation Placing a virtual machine on a target hypervisor
US9053053B2 (en) * 2010-11-29 2015-06-09 International Business Machines Corporation Efficiently determining identical pieces of memory used by virtual machines
US9323654B2 (en) * 2013-07-17 2016-04-26 Infineon Technologies Ag Memory access using address bit permutation
US9778945B2 (en) * 2015-02-10 2017-10-03 Red Hat Israel, Ltd. Providing mode-dependent virtual machine function code

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6086637A (ja) * 1983-10-19 1985-05-16 Fujitsu Ltd 拡張仮想記憶制御方式
JPS6425259A (en) * 1987-07-21 1989-01-27 Fujitsu Ltd Method for controlling extension virtual

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2046834C3 (de) * 1970-09-23 1975-04-24 Gesellschaft Fuer Kernforschung Mbh, 7500 Karlsruhe Einrichtung zum Optimieren der Ausnutzung des virtuellen Speichers einer Datenverarbeitungseinrichtung
US3820078A (en) * 1972-10-05 1974-06-25 Honeywell Inf Systems Multi-level storage system having a buffer store with variable mapping modes
FR2230258A5 (ja) * 1973-05-16 1974-12-13 Honeywell Bull Soc Ind
FR2253425A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
FR2258112A5 (ja) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US4206503A (en) * 1978-01-10 1980-06-03 Honeywell Information Systems Inc. Multiple length address formation in a microprogrammed data processing system
US4363091A (en) * 1978-01-31 1982-12-07 Intel Corporation Extended address, single and multiple bit microprocessor
US4258419A (en) * 1978-12-29 1981-03-24 Bell Telephone Laboratories, Incorporated Data processing apparatus providing variable operand width operation
US4876639A (en) * 1983-09-20 1989-10-24 Mensch Jr William D Method and circuitry for causing sixteen bit microprocessor to execute eight bit op codes to produce either internal sixteen bit operation or internal eight bit operation in accordance with an emulation bit
JPS623358A (ja) * 1985-06-28 1987-01-09 Yokogawa Hewlett Packard Ltd 複数アドレス空間アクセス方式
US4730249A (en) * 1986-01-16 1988-03-08 International Business Machines Corporation Method to operate on large segments of data in a virtual memory data processing system
US4970639A (en) * 1988-05-20 1990-11-13 International Business Machines Corporation Virtual machine architecture independent program loader

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6086637A (ja) * 1983-10-19 1985-05-16 Fujitsu Ltd 拡張仮想記憶制御方式
JPS6425259A (en) * 1987-07-21 1989-01-27 Fujitsu Ltd Method for controlling extension virtual

Also Published As

Publication number Publication date
US5129070A (en) 1992-07-07
DE69028269D1 (de) 1996-10-02
FR2652926A1 (fr) 1991-04-12
FR2652926B1 (fr) 1994-07-08
ATE142035T1 (de) 1996-09-15
EP0421845B1 (fr) 1996-08-28
EP0421845A1 (fr) 1991-04-10
ES2093639T3 (es) 1997-01-01
JPH067377B2 (ja) 1994-01-26
DE69028269T2 (de) 1997-01-09

Similar Documents

Publication Publication Date Title
US5129070A (en) Method of using the memory in an information processing system of the virtual addressing type, and apparatus for performing the method
US3938096A (en) Apparatus for developing an address of a segment within main memory and an absolute address of an operand within the segment
US5835743A (en) Application binary interface and method of interfacing binary application program to digital computer
US4511964A (en) Dynamic physical memory mapping and management of independent programming environments
US4992936A (en) Address translation method and apparatus therefor
US5539899A (en) System and method for handling a segmented program in a memory for a multitasking data processing system utilizing paged virtual storage
US7124275B2 (en) Apparatus and method for determining a physical address from a virtual address by using a hierarchical mapping regulation with compressed nodes
US4385352A (en) Addressing of operands within a segment utilizing segment descriptors
US4777588A (en) General-purpose register file optimized for intraprocedural register allocation, procedure calls, and multitasking performance
CA1172375A (en) Program call method
JP3631896B2 (ja) オブジェクト変換装置及びオブジェクト変換方法及びプログラム記録媒体
US6341325B2 (en) Method and apparatus for addressing main memory contents including a directory structure in a computer system
US3701977A (en) General purpose digital computer
US5732404A (en) Flexible expansion of virtual memory addressing
EP0403124A2 (en) Overlay swapping
US4096570A (en) Subchannel memory access control system
JPH11149372A (ja) データramを用いたマイクロコントローラ用の強制ページゼロページング方式
US6272613B1 (en) Method and system for accessing storage area of a digital data processing machine in both the physical and virtual addressing modes
JPS5818708B2 (ja) 共用アクセス多重プログラム型デ−タ処理システムにおいて情報を記憶しアクセスするための方法及び装置
Gehringer Variable-length capabilities as a solution to the small-object problem
US5408674A (en) System for checking the validity of two byte operation code by mapping two byte operation codes into control memory in order to reduce memory size
US5450587A (en) Expanded memory addressing scheme
Welch An investigation of descriptor oriented architecture
US7181587B1 (en) Mapping an arbitrary number of contiguous memory pages at an arbitrary alignment
EP0389886B1 (en) Ring reduction logic mechanism

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees