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
【発明の詳細な説明】
〔発明の利用分野〕
本発明は仮想記憶システムにおける仮想記憶制
御方式に係り、特にハードウエアで実記憶装置と
仮想記憶の主たる管理を行う仮想記憶方式に関す
るものである。DETAILED DESCRIPTION OF THE INVENTION [Field of Application of the Invention] The present invention relates to a virtual storage control method in a virtual storage system, and more particularly to a virtual storage method in which real storage and virtual storage are primarily managed by hardware.
仮想記憶システムでは、通常ページテーブルや
セグメントテーブルと呼ばれる実記憶装置(RS)
と仮想記憶(VS)の対応関係を管理するテーブ
ルを持ち、それらを使うことによつて仮想記憶上
のアドレス(仮想アドレス)から実記憶装置上の
アドレス(実アドレス)へのアドレス変換を行つ
ている。このテーブルの管理は、従来オペレーテ
イングシステム(OS)がRSとVSの両方を意識
することにより行つていたが、これをフアームウ
エア化し、ソフトウエアでの意識をVSに限つた
のが、例えば1レベルアドレツシング方式と呼ば
れるような仮想記憶制御方式である。この方式は
ソフトウエアが意識するアドレス空間が単一の仮
想アドレス空間であるため、例えば24ビツトのア
ドレス空間下で動作することを前提としている既
存プログラムとの互換を保持する限り、24ビツト
のアドレス空間以上にVSの容量を拡張すること
は困難である。
In virtual storage systems, real storage (RS), usually called page tables or segment tables,
It has a table that manages the correspondence between virtual memory (VS) and virtual memory (VS), and uses them to convert addresses from virtual memory (virtual addresses) to addresses on real storage (real addresses). There is. Conventionally, the operating system (OS) managed this table by being aware of both RS and VS, but by converting this to firmware and limiting the software's awareness to VS, for example, 1 This is a virtual memory control method called a level addressing method. In this method, the address space that software is aware of is a single virtual address space, so as long as it maintains compatibility with existing programs that are assumed to operate under a 24-bit address space, for example, 24-bit addresses can be used. It is difficult to expand the capacity of VS beyond space.
本発明の目的は、前記の如き従来の問題点を除
去するものであり、動作するアドレス空間の大き
さに制限を有する既存プログラムの動作を保証し
たつつ、しかもハードウエア及びソフトウエアの
変更量を最小にして、仮想記憶容量及び実記憶容
量の拡張ができるという効果を有する仮想記憶制
御方式を提供することにある。
The purpose of the present invention is to eliminate the above-mentioned conventional problems, and to guarantee the operation of existing programs that have a limit on the size of the operating address space, while minimizing the amount of changes in hardware and software. An object of the present invention is to provide a virtual storage control method that has the effect of expanding virtual storage capacity and real storage capacity while minimizing the amount of storage.
この発明の特徴とするところは、RSとVSとの
対応関係を管理するデイレクトリと、VSとをそ
れぞれ任意の大きさに分割する機構、分割された
VSの各々と分割されたデイレクトリの各々をそ
れぞれ論理仮想空間(LVS)、LVS用デイレクト
リと称するときそれらを認識する機構、認識した
LVS用デイレクトリを使つてLVS上のアドレス
(論理仮想アドレス)からRS上のアドレス(実ア
ドレス)へのアドレス変換を行う機構、及びある
LVS用デイレクトリの内容を他LVS用デイレク
トリに複写する機構を設け、1つ以上の記憶保護
キーを持つ0番地から始まる複数かつ任意の容量
を持つ論理仮想空間をVS上に生成することによ
り、ハードウエアでRSとVSの主たる管理を行う
ことによつてソフトウエアでのRSの管理をなく
した仮想記憶制御方式において、動作するアドレ
ス空間の大きさに制限を有する既存プログラムの
動作を保証しつつ、仮想記憶容量及び実記憶容量
の拡張を可能にするところにある。
The features of this invention include a directory that manages the correspondence between RS and VS, a mechanism for dividing VS into arbitrary sizes, and a mechanism for dividing VS into arbitrary sizes.
When each VS and each divided directory are called logical virtual spaces (LVS) and LVS directories, there is a mechanism for recognizing them.
A mechanism for converting an address on LVS (logical virtual address) to an address on RS (real address) using an LVS directory, and
By providing a mechanism to copy the contents of an LVS directory to another LVS directory, and creating multiple logical virtual spaces on VS with arbitrary capacities starting from address 0 and having one or more storage protection keys, the hardware In a virtual memory control method that eliminates the management of RS in software by primarily managing RS and VS in software, it guarantees the operation of existing programs that have limitations on the size of the operating address space. It is possible to expand virtual storage capacity and real storage capacity.
次に本発明の実施例につき、図面を用いて詳細
に説明する。
Next, embodiments of the present invention will be described in detail using the drawings.
第1図は、本発明におけるデイレクトリを示し
た図であり、各LVSの大きさを16MB(即ち、24
ビツトアドレスで示され得る大きさ)固定にした
例である。 Figure 1 is a diagram showing a directory in the present invention, and the size of each LVS is 16MB (i.e., 24MB).
This is an example in which the size (which can be represented by a bit address) is fixed.
VSはLVSoからLVSnよりなつていることを示
す。 VS indicates that LVSo is more similar to LVSn.
本発明におけるデイレクトリ1はLVSのそれ
ぞれに対応するLVS用デイレクトリ2からなり、
それぞれのLVS用デイレクトリ2は4Kバイトの
メモリエリア対応に設けられた複数のデイレクト
リエントリ3からなる。ここで4Kバイトのメモ
リエリアをページと称する。デイレクトリエント
リ3はRS上のページ番号を記憶するページアド
レスフイールド5を持つ。 The directory 1 in the present invention consists of LVS directories 2 corresponding to each LVS,
Each LVS directory 2 consists of a plurality of directory entries 3 provided corresponding to a 4K byte memory area. Here, a 4K byte memory area is called a page. Directory entry 3 has a page address field 5 that stores the page number on the RS.
各LVSとVSの対応付けはLVS番号によつて行
い、LVSの切り換えはOSが発行するLVS番号を
指定した論理仮想空間切り換え用特権命令によ
る。実行中のLVSの番号はレジスタ6上に記憶
される。 The correspondence between each LVS and VS is performed using an LVS number, and LVS switching is performed using a logical virtual space switching privileged command that specifies the LVS number issued by the OS. The number of the LVS being executed is stored on register 6.
OSのスーパバイザ部はLVS番号が0のLVS上
で動作し、スーパバイザの基本部分に対応するデ
イレクトリエントリはデイレクトリ複写用特権命
令により他の全てのLVS用デイレクトリの同じ
相対位置のデイレクトリエントリに複写され、各
LVSで動作するプログラムとスーパバイザとの
連絡が密になるよう制御される。第2図は、本発
明におけるデイレクトリ複写用特権命令を示し、
第3図はその命令に従う処理を示す。LVS番号
が0のLVS上のページLooからLomに対応する
デイレクトリDooからDomの内容を他の全ての
LVS用デイレクトリのデイレクトリエントリDno
からDnmに複写するときの例を示す。 The supervisor part of the OS operates on the LVS with LVS number 0, and the directory entry corresponding to the basic part of the supervisor is copied to the directory entry at the same relative position in all other LVS directories by the directory copy privileged command. each
Close communication between programs running on LVS and the supervisor is controlled. FIG. 2 shows a privileged command for directory copying in the present invention,
FIG. 3 shows the processing according to that command. The contents of the directory Doo to Dom corresponding to Lom from page Loo on LVS with LVS number 0 are transferred to all other
Directory entry Dno of directory for LVS
An example of copying from to Dnm is shown below.
OPコードは複写を指示するコードが入り、オ
ペランド1にはデイレクトリの0番からオペラン
ド2にはデイレクトリのm番までであることが示
され、オペランド3には論理仮想空間の0番のデ
イレクトリであることが示される。この命令が発
行されると制御プログラムは論理空間0番の0か
らmまでのデイレクトリを読み出し、これを他の
論理空間の0からmまでのデイレクトリに書き込
む処理を行なう。 The OP code contains a code that instructs copying, operand 1 indicates directory number 0, operand 2 indicates directory number m, and operand 3 indicates directory number 0 in the logical virtual space. It is shown that When this command is issued, the control program reads the directory from 0 to m in logical space number 0 and writes it to the directory from 0 to m in another logical space.
第3図は複写が終了した状態を示す。デイレク
トリ1は本実施例ではRS4の特定のエリアに格
納されている。これは専用のローカルメモリを設
け、そこに格納する方式でもよい。論理仮想空間
LVSoに対応するデイレクトリのDooからDomは
すべての他の論理仮想空間LVSnのDnoからDnm
までに複写される。従つて、各LVSにいおてDno
からDnmまでのアドレスでメモリアクセスが行
なわれるときはどのLVSであつてもRS上のMoo
からMomのエリアがアクセスされることになる。 FIG. 3 shows a state in which copying has been completed. Directory 1 is stored in a specific area of RS4 in this embodiment. This may be done by providing a dedicated local memory and storing the information there. logical virtual space
Directories Doo to Dom corresponding to LVSo are all other logical virtual spaces LVSn Dno to Dnm
will be copied by. Therefore, in each LVS, Dno
When a memory access is performed at an address from to Dnm, Moo on RS is
Mom's area will be accessed from.
第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ビツトの実アド
レスを得る。 FIG. 4 is an example of address translation and its operation according to the present invention, and shows an example where logical virtual address A is associated with real address B by directory entry 3. be. FIG. 5 shows the hardware of the address translation unit that performs such address translation, and the operation will be explained below. Address register 8 is a register that stores a logical virtual address, and this register consists of a 12-bit page field 9 and a 12-bit displacement field 10. Address register 12 is a register that stores a virtual address, and this register is composed of a 12-bit page field 9 and a 12-bit displacement field 10. The page field 13 is composed of a bit displacement field 14. Address conversion from a logical virtual address to a real address begins with the LVS number 11 specified by the logical virtual space switching privileged instruction issued by the OS stored in register 6, page field 9 of address register 8, and Displacement fields 10 are joined to obtain a 31-bit virtual address in address register 12.
Next, page field 1 of address register 12
Directory entry 16 is created by adding 2 bits "0" to the lower part of 3 and adding the start address of directory 1 indicated by register 15 to it.
Get the address of. This directory entry 1
The page address field 5 of 6 is read out on the register 17, and the displacement field 14 of the address register 12 is connected to the lower part thereof to obtain a 31-bit real address.
本例は、LVSの容量を16MB固定とし、RSの
容量を2GBにした例であるが、LVSの容量を
16MB以上にすること、及びRSの容量を2GB以
上にすることは、アドレスレジスタの拡張とデイ
レクトリの変更によつて容易に行うことができ
る。なお、デイレクトリは本例のごとく、実記憶
上にある必要はない。 In this example, the LVS capacity is fixed at 16MB and the RS capacity is 2GB.
Increasing the capacity to 16MB or more and increasing the RS capacity to 2GB or more can be easily done by expanding the address register and changing the directory. Note that the directory does not need to be on real memory as in this example.
以上述べた如き構成であるから、本発明により
次の如き効果が得られる。
With the configuration as described above, the following effects can be obtained by the present invention.
ハードウエアで実記憶装置と仮想記憶の主たる
管理を行うことによつてソフトエアの実記憶装置
の管理をなくした仮想記憶制御方式において、動
作するアドレス空間の大きさに制限を有する既存
プログラムの動作を保証しつつ、既存プログラム
が動作しうる最大アドレス空間の容量を越える仮
想記憶及び実記憶の拡張が、最小のハードウエア
及びソフトウエア修正で達成できる。 In a virtual memory control method that eliminates software management of real storage devices by primarily managing real storage devices and virtual memory using hardware, the operation of existing programs that have limitations on the size of the operating address space. Expansion of virtual and real memory beyond the capacity of the maximum address space in which existing programs can operate can be achieved with minimal hardware and software modifications, while guaranteeing the same performance.
第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,…)。
FIG. 1 is a system configuration diagram showing an embodiment of a directory according to the present invention, FIG. 2 is a diagram showing the structure of a command word according to an embodiment of the present invention, and FIG. 3 is a system configuration diagram showing an embodiment of a directory according to the present invention. FIG. 4 is a schematic configuration diagram for explaining address translation and its operation in an embodiment of the present invention, and FIG. 5 is a block diagram showing an embodiment of the present invention. . 1...Directory, 2...Logical virtual space (LVS)
Directory for, 3... Directory entry, 5
...Page address field, 6, 8, 12, 1
5, 17...Register, 7...Logic virtual space (LVS), 9,13...Page field, 10,
14...Displacement field, 11...Logical virtual space number (LVS#), Loo, Lom...Page, OP1, OP2,
OP3...operand, n...number of logical virtual spaces (1,
2,…)m…Page number (1, 2,…).
Claims (1)
るためのデイレクトリをもち、該デイレクトリを
参照することによつて仮想アドレスから実アドレ
スへのアドレス変換を行う仮想記憶制御方式にお
いて、単一の仮想記憶をそれぞれ0番地から始ま
る複数の論理仮想空間に分割し、前記論理仮想空
間を識別する情報と前記論理仮想空間上のアドレ
スに基づいて前記単一の仮想記憶に対応するデイ
レクトリを参照することにより前記論理仮想空間
上のアドレスから実記憶装置上のアドレスへのア
ドレス変換を行うことを特徴とする仮想記憶制御
方式。1 In a virtual memory control method that has a directory for managing real storage and virtual memory in page units, and converts addresses from virtual addresses to real addresses by referencing the directory, a single virtual memory is divided into a plurality of logical virtual spaces each starting from address 0, and the directory corresponding to the single virtual memory is referenced based on information identifying the logical virtual space and an address on the logical virtual space. A virtual memory control method characterized by performing address translation from an address in a logical virtual space to an address in a real storage device.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59081746A JPS60225950A (en) | 1984-04-25 | 1984-04-25 | Virtual memory control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP59081746A JPS60225950A (en) | 1984-04-25 | 1984-04-25 | Virtual memory control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60225950A JPS60225950A (en) | 1985-11-11 |
| JPH0319977B2 true JPH0319977B2 (en) | 1991-03-18 |
Family
ID=13754998
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP59081746A Granted JPS60225950A (en) | 1984-04-25 | 1984-04-25 | Virtual memory control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS60225950A (en) |
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/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS60225950A (en) | 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 (en) | ||
| US6289432B1 (en) | Sharing segments of storage by enabling the sharing of page tables | |
| US5765201A (en) | Changing page size in storage media of computer system | |
| Kaehler et al. | LOOM—large object-oriented memory for Smalltalk-80 systems | |
| JPH0425579B2 (en) | ||
| KR960032163A (en) | Semiconductor disk device | |
| 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 (en) | Method and device for addressing contents of main memory including directory structure in computer system | |
| JP3629507B2 (en) | System and method for providing shared memory using shared virtual segment identification in a computer system | |
| US5479631A (en) | System for designating real main storage addresses in instructions while dynamic address translation is on | |
| JPS6184755A (en) | Data processing system | |
| US6067601A (en) | Cache memory based instruction execution | |
| JPH0319977B2 (en) | ||
| US5873128A (en) | Data processing system with dynamic address translation function | |
| GB2221066A (en) | Address translation for I/O controller | |
| JPS6220583B2 (en) | ||
| KR930003439B1 (en) | System for virtual memory | |
| KR0162759B1 (en) | Extended virtual address space implementation method | |
| JP2612173B2 (en) | Virtual computer | |
| JP2618096B2 (en) | Cache management method |