JPH0319977B2 - - Google Patents
Info
- Publication number
- JPH0319977B2 JPH0319977B2 JP59081746A JP8174684A JPH0319977B2 JP H0319977 B2 JPH0319977 B2 JP H0319977B2 JP 59081746 A JP59081746 A JP 59081746A JP 8174684 A JP8174684 A JP 8174684A JP H0319977 B2 JPH0319977 B2 JP H0319977B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- directory
- virtual
- lvs
- logical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は仮想記憶システムにおける仮想記憶制
御方式に係り、特にハードウエアで実記憶装置と
仮想記憶の主たる管理を行う仮想記憶方式に関す
るものである。
御方式に係り、特にハードウエアで実記憶装置と
仮想記憶の主たる管理を行う仮想記憶方式に関す
るものである。
仮想記憶システムでは、通常ページテーブルや
セグメントテーブルと呼ばれる実記憶装置(RS)
と仮想記憶(VS)の対応関係を管理するテーブ
ルを持ち、それらを使うことによつて仮想記憶上
のアドレス(仮想アドレス)から実記憶装置上の
アドレス(実アドレス)へのアドレス変換を行つ
ている。このテーブルの管理は、従来オペレーテ
イングシステム(OS)がRSとVSの両方を意識
することにより行つていたが、これをフアームウ
エア化し、ソフトウエアでの意識をVSに限つた
のが、例えば1レベルアドレツシング方式と呼ば
れるような仮想記憶制御方式である。この方式は
ソフトウエアが意識するアドレス空間が単一の仮
想アドレス空間であるため、例えば24ビツトのア
ドレス空間下で動作することを前提としている既
存プログラムとの互換を保持する限り、24ビツト
のアドレス空間以上にVSの容量を拡張すること
は困難である。
セグメントテーブルと呼ばれる実記憶装置(RS)
と仮想記憶(VS)の対応関係を管理するテーブ
ルを持ち、それらを使うことによつて仮想記憶上
のアドレス(仮想アドレス)から実記憶装置上の
アドレス(実アドレス)へのアドレス変換を行つ
ている。このテーブルの管理は、従来オペレーテ
イングシステム(OS)がRSとVSの両方を意識
することにより行つていたが、これをフアームウ
エア化し、ソフトウエアでの意識をVSに限つた
のが、例えば1レベルアドレツシング方式と呼ば
れるような仮想記憶制御方式である。この方式は
ソフトウエアが意識するアドレス空間が単一の仮
想アドレス空間であるため、例えば24ビツトのア
ドレス空間下で動作することを前提としている既
存プログラムとの互換を保持する限り、24ビツト
のアドレス空間以上にVSの容量を拡張すること
は困難である。
本発明の目的は、前記の如き従来の問題点を除
去するものであり、動作するアドレス空間の大き
さに制限を有する既存プログラムの動作を保証し
たつつ、しかもハードウエア及びソフトウエアの
変更量を最小にして、仮想記憶容量及び実記憶容
量の拡張ができるという効果を有する仮想記憶制
御方式を提供することにある。
去するものであり、動作するアドレス空間の大き
さに制限を有する既存プログラムの動作を保証し
たつつ、しかもハードウエア及びソフトウエアの
変更量を最小にして、仮想記憶容量及び実記憶容
量の拡張ができるという効果を有する仮想記憶制
御方式を提供することにある。
この発明の特徴とするところは、RSとVSとの
対応関係を管理するデイレクトリと、VSとをそ
れぞれ任意の大きさに分割する機構、分割された
VSの各々と分割されたデイレクトリの各々をそ
れぞれ論理仮想空間(LVS)、LVS用デイレクト
リと称するときそれらを認識する機構、認識した
LVS用デイレクトリを使つてLVS上のアドレス
(論理仮想アドレス)からRS上のアドレス(実ア
ドレス)へのアドレス変換を行う機構、及びある
LVS用デイレクトリの内容を他LVS用デイレク
トリに複写する機構を設け、1つ以上の記憶保護
キーを持つ0番地から始まる複数かつ任意の容量
を持つ論理仮想空間をVS上に生成することによ
り、ハードウエアでRSとVSの主たる管理を行う
ことによつてソフトウエアでのRSの管理をなく
した仮想記憶制御方式において、動作するアドレ
ス空間の大きさに制限を有する既存プログラムの
動作を保証しつつ、仮想記憶容量及び実記憶容量
の拡張を可能にするところにある。
対応関係を管理するデイレクトリと、VSとをそ
れぞれ任意の大きさに分割する機構、分割された
VSの各々と分割されたデイレクトリの各々をそ
れぞれ論理仮想空間(LVS)、LVS用デイレクト
リと称するときそれらを認識する機構、認識した
LVS用デイレクトリを使つてLVS上のアドレス
(論理仮想アドレス)からRS上のアドレス(実ア
ドレス)へのアドレス変換を行う機構、及びある
LVS用デイレクトリの内容を他LVS用デイレク
トリに複写する機構を設け、1つ以上の記憶保護
キーを持つ0番地から始まる複数かつ任意の容量
を持つ論理仮想空間をVS上に生成することによ
り、ハードウエアでRSとVSの主たる管理を行う
ことによつてソフトウエアでのRSの管理をなく
した仮想記憶制御方式において、動作するアドレ
ス空間の大きさに制限を有する既存プログラムの
動作を保証しつつ、仮想記憶容量及び実記憶容量
の拡張を可能にするところにある。
次に本発明の実施例につき、図面を用いて詳細
に説明する。
に説明する。
第1図は、本発明におけるデイレクトリを示し
た図であり、各LVSの大きさを16MB(即ち、24
ビツトアドレスで示され得る大きさ)固定にした
例である。
た図であり、各LVSの大きさを16MB(即ち、24
ビツトアドレスで示され得る大きさ)固定にした
例である。
VSはLVSoからLVSnよりなつていることを示
す。
す。
本発明におけるデイレクトリ1はLVSのそれ
ぞれに対応するLVS用デイレクトリ2からなり、
それぞれのLVS用デイレクトリ2は4Kバイトの
メモリエリア対応に設けられた複数のデイレクト
リエントリ3からなる。ここで4Kバイトのメモ
リエリアをページと称する。デイレクトリエント
リ3はRS上のページ番号を記憶するページアド
レスフイールド5を持つ。
ぞれに対応するLVS用デイレクトリ2からなり、
それぞれのLVS用デイレクトリ2は4Kバイトの
メモリエリア対応に設けられた複数のデイレクト
リエントリ3からなる。ここで4Kバイトのメモ
リエリアをページと称する。デイレクトリエント
リ3はRS上のページ番号を記憶するページアド
レスフイールド5を持つ。
各LVSとVSの対応付けはLVS番号によつて行
い、LVSの切り換えはOSが発行するLVS番号を
指定した論理仮想空間切り換え用特権命令によ
る。実行中のLVSの番号はレジスタ6上に記憶
される。
い、LVSの切り換えはOSが発行するLVS番号を
指定した論理仮想空間切り換え用特権命令によ
る。実行中のLVSの番号はレジスタ6上に記憶
される。
OSのスーパバイザ部はLVS番号が0のLVS上
で動作し、スーパバイザの基本部分に対応するデ
イレクトリエントリはデイレクトリ複写用特権命
令により他の全てのLVS用デイレクトリの同じ
相対位置のデイレクトリエントリに複写され、各
LVSで動作するプログラムとスーパバイザとの
連絡が密になるよう制御される。第2図は、本発
明におけるデイレクトリ複写用特権命令を示し、
第3図はその命令に従う処理を示す。LVS番号
が0のLVS上のページLooからLomに対応する
デイレクトリDooからDomの内容を他の全ての
LVS用デイレクトリのデイレクトリエントリDno
からDnmに複写するときの例を示す。
で動作し、スーパバイザの基本部分に対応するデ
イレクトリエントリはデイレクトリ複写用特権命
令により他の全てのLVS用デイレクトリの同じ
相対位置のデイレクトリエントリに複写され、各
LVSで動作するプログラムとスーパバイザとの
連絡が密になるよう制御される。第2図は、本発
明におけるデイレクトリ複写用特権命令を示し、
第3図はその命令に従う処理を示す。LVS番号
が0のLVS上のページLooからLomに対応する
デイレクトリDooからDomの内容を他の全ての
LVS用デイレクトリのデイレクトリエントリDno
からDnmに複写するときの例を示す。
OPコードは複写を指示するコードが入り、オ
ペランド1にはデイレクトリの0番からオペラン
ド2にはデイレクトリのm番までであることが示
され、オペランド3には論理仮想空間の0番のデ
イレクトリであることが示される。この命令が発
行されると制御プログラムは論理空間0番の0か
らmまでのデイレクトリを読み出し、これを他の
論理空間の0からmまでのデイレクトリに書き込
む処理を行なう。
ペランド1にはデイレクトリの0番からオペラン
ド2にはデイレクトリのm番までであることが示
され、オペランド3には論理仮想空間の0番のデ
イレクトリであることが示される。この命令が発
行されると制御プログラムは論理空間0番の0か
らmまでのデイレクトリを読み出し、これを他の
論理空間の0からmまでのデイレクトリに書き込
む処理を行なう。
第3図は複写が終了した状態を示す。デイレク
トリ1は本実施例ではRS4の特定のエリアに格
納されている。これは専用のローカルメモリを設
け、そこに格納する方式でもよい。論理仮想空間
LVSoに対応するデイレクトリのDooからDomは
すべての他の論理仮想空間LVSnのDnoからDnm
までに複写される。従つて、各LVSにいおてDno
からDnmまでのアドレスでメモリアクセスが行
なわれるときはどのLVSであつてもRS上のMoo
からMomのエリアがアクセスされることになる。
トリ1は本実施例ではRS4の特定のエリアに格
納されている。これは専用のローカルメモリを設
け、そこに格納する方式でもよい。論理仮想空間
LVSoに対応するデイレクトリのDooからDomは
すべての他の論理仮想空間LVSnのDnoからDnm
までに複写される。従つて、各LVSにいおてDno
からDnmまでのアドレスでメモリアクセスが行
なわれるときはどのLVSであつてもRS上のMoo
からMomのエリアがアクセスされることになる。
第4図は、本発明におけるアドレス変換とその
動作を示したものの一例であり、論理仮想アドレ
スAが、デイレクトリエントリ3によつて実アド
レスBに対応付けられているときの例を示したも
のである。第5図は、このようなアドレス変換を
遂行するアドレス変換部のハードウエアを示した
ものであり、以下この動作を説明する。アドレス
レジスタ8は論理仮想アドレスを入れるレジスタ
であり、このレジスタは12ビツトのページフイー
ルド9と12ビツトの変位フイールド10から構成
され、アドレスレジスタ12は仮想アドレスを入
れるレジスタであり、このアドレスは19ビツトの
ページフイールド13としてビツトの変位フイー
ルド14から構成される。論理仮想アドレスから
実アドレスへのアドレス変換は、まず前記したレ
ジスタ6に格納されているOSが発行した論理仮
想空間切り換え用特権命令で指定されたLVS番
号11とアドレスレジスタ8のページフイールド
9、及び変位フイールド10を接合してアドレス
レジスタ12に31ビツトの仮想アドレスを得る。
次にアドレスレジスタ12のページフイールド1
3の下位に2ビツトの“0”を付加し、それにレ
ジスタ15が示すデイレクトリ1の先頭アドレス
を加算することによりデイレクトリエントリ16
のアドレスを得る。このデイレクトリエントリ1
6のページアドレスフイールド5を読み出しレジ
スタ17上でその下位にアドレスレジスタ12の
変位フイールド14を接合して31ビツトの実アド
レスを得る。
動作を示したものの一例であり、論理仮想アドレ
スAが、デイレクトリエントリ3によつて実アド
レスBに対応付けられているときの例を示したも
のである。第5図は、このようなアドレス変換を
遂行するアドレス変換部のハードウエアを示した
ものであり、以下この動作を説明する。アドレス
レジスタ8は論理仮想アドレスを入れるレジスタ
であり、このレジスタは12ビツトのページフイー
ルド9と12ビツトの変位フイールド10から構成
され、アドレスレジスタ12は仮想アドレスを入
れるレジスタであり、このアドレスは19ビツトの
ページフイールド13としてビツトの変位フイー
ルド14から構成される。論理仮想アドレスから
実アドレスへのアドレス変換は、まず前記したレ
ジスタ6に格納されているOSが発行した論理仮
想空間切り換え用特権命令で指定されたLVS番
号11とアドレスレジスタ8のページフイールド
9、及び変位フイールド10を接合してアドレス
レジスタ12に31ビツトの仮想アドレスを得る。
次にアドレスレジスタ12のページフイールド1
3の下位に2ビツトの“0”を付加し、それにレ
ジスタ15が示すデイレクトリ1の先頭アドレス
を加算することによりデイレクトリエントリ16
のアドレスを得る。このデイレクトリエントリ1
6のページアドレスフイールド5を読み出しレジ
スタ17上でその下位にアドレスレジスタ12の
変位フイールド14を接合して31ビツトの実アド
レスを得る。
本例は、LVSの容量を16MB固定とし、RSの
容量を2GBにした例であるが、LVSの容量を
16MB以上にすること、及びRSの容量を2GB以
上にすることは、アドレスレジスタの拡張とデイ
レクトリの変更によつて容易に行うことができ
る。なお、デイレクトリは本例のごとく、実記憶
上にある必要はない。
容量を2GBにした例であるが、LVSの容量を
16MB以上にすること、及びRSの容量を2GB以
上にすることは、アドレスレジスタの拡張とデイ
レクトリの変更によつて容易に行うことができ
る。なお、デイレクトリは本例のごとく、実記憶
上にある必要はない。
以上述べた如き構成であるから、本発明により
次の如き効果が得られる。
次の如き効果が得られる。
ハードウエアで実記憶装置と仮想記憶の主たる
管理を行うことによつてソフトエアの実記憶装置
の管理をなくした仮想記憶制御方式において、動
作するアドレス空間の大きさに制限を有する既存
プログラムの動作を保証しつつ、既存プログラム
が動作しうる最大アドレス空間の容量を越える仮
想記憶及び実記憶の拡張が、最小のハードウエア
及びソフトウエア修正で達成できる。
管理を行うことによつてソフトエアの実記憶装置
の管理をなくした仮想記憶制御方式において、動
作するアドレス空間の大きさに制限を有する既存
プログラムの動作を保証しつつ、既存プログラム
が動作しうる最大アドレス空間の容量を越える仮
想記憶及び実記憶の拡張が、最小のハードウエア
及びソフトウエア修正で達成できる。
第1図は、本発明におけるデイレクトリの一実
施例を示すシステム構成図、第2図は、本発明の
一実施例を示す命令語の構成を示す図、第3図
は、本発明のデイレクトリを説明するための概略
構成図、第4図は、本発明の一実施例におけるア
ドレス変換とその動作を説明するための概略構成
図、第5図は本発明の一実施例を示すブロツク図
である。 1…デイレクトリ、2…論理仮想空間(LVS)
用デイレクトリ、3…デイレクトリエントリ、5
…ページアドレスフイールド、6,8,12,1
5,17…レジスタ、7…論理仮想空間
(LVS)、9,13…ページフイールド、10,
14…変位フイールド、11…論理仮想空間番号
(LVS#)、Loo,Lom…ページ、OP1,OP2,
OP3…オペランド、n…論理仮想空間の数(1,
2,…)m…ページ番号(1,2,…)。
施例を示すシステム構成図、第2図は、本発明の
一実施例を示す命令語の構成を示す図、第3図
は、本発明のデイレクトリを説明するための概略
構成図、第4図は、本発明の一実施例におけるア
ドレス変換とその動作を説明するための概略構成
図、第5図は本発明の一実施例を示すブロツク図
である。 1…デイレクトリ、2…論理仮想空間(LVS)
用デイレクトリ、3…デイレクトリエントリ、5
…ページアドレスフイールド、6,8,12,1
5,17…レジスタ、7…論理仮想空間
(LVS)、9,13…ページフイールド、10,
14…変位フイールド、11…論理仮想空間番号
(LVS#)、Loo,Lom…ページ、OP1,OP2,
OP3…オペランド、n…論理仮想空間の数(1,
2,…)m…ページ番号(1,2,…)。
Claims (1)
- 1 実記憶装置と仮想記憶をページ単位で管理す
るためのデイレクトリをもち、該デイレクトリを
参照することによつて仮想アドレスから実アドレ
スへのアドレス変換を行う仮想記憶制御方式にお
いて、単一の仮想記憶をそれぞれ0番地から始ま
る複数の論理仮想空間に分割し、前記論理仮想空
間を識別する情報と前記論理仮想空間上のアドレ
スに基づいて前記単一の仮想記憶に対応するデイ
レクトリを参照することにより前記論理仮想空間
上のアドレスから実記憶装置上のアドレスへのア
ドレス変換を行うことを特徴とする仮想記憶制御
方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59081746A JPS60225950A (ja) | 1984-04-25 | 1984-04-25 | 仮想記憶制御方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59081746A JPS60225950A (ja) | 1984-04-25 | 1984-04-25 | 仮想記憶制御方式 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60225950A JPS60225950A (ja) | 1985-11-11 |
| JPH0319977B2 true JPH0319977B2 (ja) | 1991-03-18 |
Family
ID=13754998
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59081746A Granted JPS60225950A (ja) | 1984-04-25 | 1984-04-25 | 仮想記憶制御方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60225950A (ja) |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS57162162A (en) * | 1981-03-27 | 1982-10-05 | Fujitsu Ltd | Multiplex virtual space data processing system |
-
1984
- 1984-04-25 JP JP59081746A patent/JPS60225950A/ja active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60225950A (ja) | 1985-11-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5802605A (en) | Physical address size selection and page size selection in an address translator | |
| US4376297A (en) | Virtual memory addressing device | |
| US8799621B2 (en) | Translation table control | |
| US4742450A (en) | Method to share copy on write segment for mapped files | |
| US4758946A (en) | Page mapping system | |
| JPH0552540B2 (ja) | ||
| US5765201A (en) | Changing page size in storage media of computer system | |
| Kaehler et al. | LOOM—large object-oriented memory for Smalltalk-80 systems | |
| JPH0425579B2 (ja) | ||
| KR960032163A (ko) | 반도체 디스크 장치 | |
| US4991082A (en) | Virtual storage system and method permitting setting of the boundary between a common area and a private area at a page boundary | |
| JP2000227874A (ja) | コンピュ―タ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置 | |
| JP3629507B2 (ja) | コンピュータ・システム内で共用仮想セグメント識別を使用して共用メモリを提供するシステムおよび方法 | |
| US5479631A (en) | System for designating real main storage addresses in instructions while dynamic address translation is on | |
| JPS6184755A (ja) | デ−タ処理システム | |
| US6067601A (en) | Cache memory based instruction execution | |
| JPH0319977B2 (ja) | ||
| US5873128A (en) | Data processing system with dynamic address translation function | |
| GB2221066A (en) | Address translation for I/O controller | |
| JPS6220583B2 (ja) | ||
| JPS6149703B2 (ja) | ||
| KR930003439B1 (ko) | 가상 메모리 관리를 위한 메모리 구조 및 시스템 | |
| KR0162759B1 (ko) | 인텔 처리기의 메모리 관리 유니트를 이용한 확장된 가상주소공간 구축방법 | |
| JP2612173B2 (ja) | 仮想計算機 | |
| JP2618096B2 (ja) | キャッシュ管理方法 |