JPS63282543A - Virtual address conversion system - Google Patents
Virtual address conversion systemInfo
- Publication number
- JPS63282543A JPS63282543A JP62117479A JP11747987A JPS63282543A JP S63282543 A JPS63282543 A JP S63282543A JP 62117479 A JP62117479 A JP 62117479A JP 11747987 A JP11747987 A JP 11747987A JP S63282543 A JPS63282543 A JP S63282543A
- Authority
- JP
- Japan
- Prior art keywords
- conversion table
- address
- virtual
- real
- shared area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 58
- 238000000034 method Methods 0.000 claims description 12
- 238000007796 conventional method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔概要〕
変換テーブルを参照して、仮想アドレスを実アドレスに
変換するにあたり、ユーザ間で共用される領域は非共用
領域に比べて小さいことに着目し。[Detailed Description of the Invention] [Summary] When converting a virtual address to a real address by referring to a conversion table, it is noted that the area shared among users is smaller than the non-shared area.
共用領域に対してのみ一意のアドレスに変換する仮想記
憶対応の共用領域用変換テーブルを用意して、共用領域
については、共用領域用変換テーブルによって変換した
後、実記憶対応の変換テーブルを利用してアドレス菱換
を行うことにより、ユーザ間で11域を共用可能とする
と共に、アドレス変換テーブルの縮小化を可能としてい
る。Prepare a virtual memory-compatible shared area conversion table that converts addresses to unique addresses only for the shared area, and use the real memory-compatible conversion table after converting the shared area using the shared area conversion table. By performing address conversion, it is possible to share 11 areas among users, and it is also possible to reduce the size of the address conversion table.
本発明は、多重仮想記憶方式を採用する計算機システム
において、仮想アドレスを実アドレスに変換するにあた
り、仮想記憶サイズに依存しない大きさの変換テーブル
を用いることができるようにした仮想アドレス変換方式
に関するものである。The present invention relates to a virtual address conversion method that allows a computer system that employs a multiple virtual memory method to use a conversion table whose size does not depend on the virtual memory size when converting a virtual address to a real address. It is.
第3図は従来方式の例を示す。 FIG. 3 shows an example of the conventional method.
多重仮想記憶方式を採用する計算機システムでは、第3
図(イ)図示のように、変換テーブル30を用いて、仮
想アドレスlOを動的に実アドレス15に変換すること
により、ユーザ毎の仮想空間を、主記憶装置上の実記憶
にマツピングする。In a computer system that uses multiple virtual memory, the third
(A) As shown in the figure, by dynamically converting the virtual address IO to the real address 15 using the conversion table 30, the virtual space for each user is mapped to the real memory on the main storage device.
この変換テーブル30の構造には、大別して第3図(ロ
)に示すものと第3図(ハ)に示すものとがある。The structure of this conversion table 30 can be roughly divided into two types, one shown in FIG. 3(b) and the other shown in FIG. 3(c).
第3図(ロ)に示す方式では5ユーザ毎の仮想記憶対応
に用意した変換テーブル30のエントリの中に、実アド
レスのページ番号を入れ、仮想アドレスのページ番号を
インデックスとして、変換テーブル30を参照し、実記
憶31の対応する実ページ番号を求める。In the method shown in FIG. 3(b), the page number of the real address is entered in the entry of the translation table 30 prepared for virtual memory correspondence for every five users, and the page number of the virtual address is used as an index to convert the translation table 30. With reference to this, the corresponding real page number in the real memory 31 is obtained.
一方、第3図(ハ)に示す方式では、変換テーブル30
に実記憶対応のエントリを用意し、ユーザIDと仮想ア
ドレスとにより、−意の値を求め。On the other hand, in the method shown in FIG. 3(C), the conversion table 30
Prepare an entry corresponding to real memory in , and find the value of - from the user ID and virtual address.
すれを用いて実記憶対応のエントリを位置付け。Position the entry corresponding to real memory using this.
そこに保持されているユーザIDと仮想アドレスとの一
致を調べて、対応する実ページ番号を求める。第3図(
ハ)に示すものは、いわゆる連想型の変換テーブル30
を用いるものである。A match between the user ID held there and the virtual address is checked to determine the corresponding real page number. Figure 3 (
The one shown in c) is a so-called associative conversion table 30.
is used.
第4図は従来方式の問題点説明図である。 FIG. 4 is an explanatory diagram of problems with the conventional method.
上記第3図(ロ)の方式は、仮想記憶が拡大するに従っ
て、大きな変換テーブル30が必要になるという問題が
ある。一方、第3図(ハ)の方式は、変換テーブル30
の大きさが実記憶の大きさによって決まり、仮想記憶の
大きさに依存しないという長所がある。しかし、この方
式には、同一の主記憶装置上の領域を、異なるユーザ間
で共用することができないという問題がある。The method shown in FIG. 3(b) has a problem in that as the virtual storage expands, a larger conversion table 30 is required. On the other hand, in the method shown in FIG. 3(c), the conversion table 30
The advantage is that the size of is determined by the size of real memory and does not depend on the size of virtual memory. However, this method has a problem in that an area on the same main storage device cannot be shared among different users.
即ち、第4図に示すように、ユーザaの仮想空間40a
と、ユーザbの仮想空間40bとがあり。That is, as shown in FIG. 4, the virtual space 40a of user a
and a virtual space 40b of user b.
各仮想空間における仮想アドレスv1の領域と仮想アド
レス■2の領域とを、実記憶31の実アドレスR1の領
域に対応づけることにより、その領域を共用領域とする
ことを考える。第3図(ロ)の方式の場合、変換テーブ
ルが仮想記憶対応に用意されるので、仮想アドレスVl
、V2を実アドレスR1に個別に対応づけることができ
る。しかし、第3図(ハ)の方式では、変換テーブルが
実記憶対応に構成されるので、1つの領域に複数の仮想
アドレスを対応づけることができず、従ってユーザ間で
領域を共用することはできない。Consider that by associating the area of virtual address v1 and the area of virtual address (2) in each virtual space with the area of real address R1 of the real memory 31, that area is made a shared area. In the case of the method shown in FIG. 3 (b), the translation table is prepared for virtual memory, so the virtual address Vl
, V2 can be individually associated with the real address R1. However, in the method shown in FIG. 3(C), since the translation table is configured to correspond to real memory, it is not possible to associate multiple virtual addresses with one area, and therefore it is not possible to share the area between users. Can not.
本発明は上記問題点の解決を図り、変換テーブルの大き
さが実質的に仮想記憶サイズに依存せず。The present invention aims to solve the above problems, and the size of the conversion table does not substantially depend on the virtual memory size.
かつユーザ間で領域の共用を可能とする方式を提供する
ことを目的としている。It also aims to provide a method that allows areas to be shared among users.
C問題点を解決するための手段〕 第1図は本発明の原理ブロック図を示す。Measures to solve problem C] FIG. 1 shows a block diagram of the principle of the present invention.
第1図において、lOはユーザ毎の仮想空間における位
置を示す仮想アドレス、11は共用領域か非共用領域か
を示すタグ、12は共用領域用変換テーブル、13は実
記憶対応の変換テーブル。In FIG. 1, IO is a virtual address indicating the position in the virtual space for each user, 11 is a tag indicating whether it is a shared area or a non-shared area, 12 is a conversion table for shared area, and 13 is a conversion table for real storage.
14は実記憶対応の変換テーブル13を参照し仮想アド
レスを実アドレスに変換する変換テーブル検索部915
は実記憶上の位置を示す実アドレスを表す。14 is a conversion table search unit 915 that refers to the conversion table 13 corresponding to real memory and converts a virtual address into a real address.
represents a real address indicating a location in real memory.
仮想アドレス10のタグ11は、この仮想アドレスが共
用領域であるか非共用領域であるかを示す。共用領域用
変換テーブル12は、共用領域の仮想アドレスまたはそ
の一部を、システムで共用領域用に一意に定めた仮想ア
ドレスまたはその一部に変換する情報を持つテーブルで
ある。The tag 11 of the virtual address 10 indicates whether this virtual address is a shared area or a non-shared area. The shared area conversion table 12 is a table having information for converting a virtual address of a shared area or a part thereof into a virtual address or a part thereof uniquely determined for the shared area in the system.
実記憶対応の牢換テーブル13は、実記憶対応に、ユー
ザ毎の仮想アドレスを実アドレスに変換する情報を持つ
テーブルである。The conversion table 13 for real storage is a table having information for converting virtual addresses for each user into real addresses for real storage.
変換テーブル検索部14は、仮想アドレス10のタグ1
1が共用領域であることを示すときに。The conversion table search unit 14 searches the tag 1 of the virtual address 10.
When 1 indicates a shared area.
共用領域用変換テーブル12により、アドレス変換を行
った結果に基づいて、上記実記憶対応の変換テーブル1
3を検索し、実アドレス15を求めるものである。仮想
アドレス10のタグ11が非共用領域を示す場合には、
従来の第3図(ハ)に示す変換と同様に、実記憶対応の
変換テーブルを用いてアドレス変換を行う。Based on the result of address conversion using the shared area conversion table 12, the conversion table 1 corresponding to the real memory is created.
3 to find the real address 15. If tag 11 of virtual address 10 indicates a non-shared area,
Similar to the conventional conversion shown in FIG. 3(c), address conversion is performed using a conversion table corresponding to real storage.
一般にユーザ間で共用される領域は、非共用領域に比べ
て小さい。本発明は、この点に着目してなされたもので
ある。即ち、共用領域に対してのみ、仮想記憶対応の共
用領域用変換テーブル12を用いて、仮想アドレス10
を一意のアドレスに変換する。これにより、同じ共用領
域については。In general, areas shared between users are smaller than non-shared areas. The present invention has been made with attention to this point. That is, only for the shared area, the virtual address 10 is converted using the shared area conversion table 12 that supports virtual memory.
to a unique address. This allows for the same shared area.
各ユーザの仮想アドレス10が同じ値に変換される。そ
こで、この値を用いて、変換テーブル検索部14により
、実記憶対応の変換テーブル13を検索すれば、共用領
域について、同じ実アドレス15が得られる。Each user's virtual address 10 is translated to the same value. Therefore, if the conversion table search unit 14 searches the conversion table 13 corresponding to real storage using this value, the same real address 15 can be obtained for the shared area.
非共用領域については、ユーザ毎の仮想アドレス10に
よって、実記憶対応の変換テーブル13を検索するので
1個別に対応する実アドレス15が得られる。Regarding the non-shared area, since the conversion table 13 corresponding to real storage is searched using the virtual address 10 for each user, the corresponding real address 15 can be obtained.
第2図は本発明の一実施例を示す。 FIG. 2 shows an embodiment of the invention.
第2図において、第1図と同符号のものは、第1図に示
すものに対応する。20は制御レジスタ。In FIG. 2, the same reference numerals as in FIG. 1 correspond to those shown in FIG. 20 is a control register.
21は共用ID出力回路、22および23は選択器、2
4は演算器を表す。21 is a shared ID output circuit, 22 and 23 are selectors, 2
4 represents an arithmetic unit.
本実施例では、共用/非共用の単位を、複数のページか
らなるセグメント単位としている。仮想アドレス10は
、先頭1ビツトのタグ11と、セグメントIDと、ペー
ジIDと、ページ内のオフセットからなる。In this embodiment, the shared/unshared unit is a segment unit consisting of a plurality of pages. The virtual address 10 consists of a first 1-bit tag 11, a segment ID, a page ID, and an offset within the page.
共用領域用変換テーブル12は、ユーザ毎に設けられ、
所定の制御レジスタ20からポイントされる。また制御
レジスタ20は、ユーザ(空間)を識別する情報である
ユーザIDを持つ。共用領域用変換テーブル12には、
現在、共用領域となっている仮想空間上の各セグメント
毎に、システムで一意に定めた真のセグメントIDが予
め設定される。The common area conversion table 12 is provided for each user,
It is pointed to from a predetermined control register 20. The control register 20 also has a user ID, which is information that identifies a user (space). In the common area conversion table 12,
A true segment ID uniquely determined by the system is set in advance for each segment in the virtual space that is currently a shared area.
仮想アドレス10のタグ11が“0″である場合、その
仮想アドレス10は非共用領域を示し。When the tag 11 of the virtual address 10 is "0", the virtual address 10 indicates a non-shared area.
選択器22.23は、それぞれ仮想アドレス10のセグ
メントIDと、制御レジスタ20のユーザIDとをその
まま演算器24に導く。演算器24による実アドレスへ
の変換は、従来と同様に行われる。例えば、演算器24
は、セグメントIDとユーザIDとをハツシング回路等
によって、−意の値(例えばj)に変換し、jをインデ
ックスとして、実記憶対応の変換テーブル13を検索す
る。The selectors 22 and 23 each lead the segment ID of the virtual address 10 and the user ID of the control register 20 to the arithmetic unit 24 as they are. Conversion to a real address by the arithmetic unit 24 is performed in the same manner as in the conventional art. For example, the computing unit 24
converts the segment ID and user ID into a negative value (for example, j) using a hashing circuit or the like, and uses j as an index to search the conversion table 13 corresponding to the real memory.
実記憶対応の変換テーブル13における図示のA部には
、対応するユーザID、セグメントID。The illustrated section A in the conversion table 13 corresponding to real storage stores the corresponding user ID and segment ID.
ページIDが設定されており、その値が演算器24の入
力値と一致すれば、そのエントリに格納されている実ア
ドレスのページ番号を引き出して。If a page ID is set and the value matches the input value of the arithmetic unit 24, the page number of the real address stored in that entry is extracted.
実アドレスを生成する。Generate real address.
仮想アドレス10のタグ11が′1”である場合、その
仮想アドレス10は共用領域を示す。この場合、仮想ア
ドレス10のセグメントIDは。When the tag 11 of the virtual address 10 is '1', the virtual address 10 indicates a shared area. In this case, the segment ID of the virtual address 10 is.
共用領域用変換テーブル12によって、一旦、システム
で一意に定めた共用領域用の真のセグメントIDに変換
される。選択器22.23は、共用領域用変換テーブル
12から読み出した真のセグメントIDと、共用ID出
力回路21の出力、ここではrOJを、それぞれ演算器
24に導く。以下の動作は、上記非共用領域の場合と同
様であり。The shared area conversion table 12 converts the segment ID into a true segment ID for the shared area that is uniquely determined by the system. The selectors 22 and 23 respectively guide the true segment ID read from the shared area conversion table 12 and the output of the shared ID output circuit 21, here rOJ, to the arithmetic unit 24. The following operation is the same as for the non-shared area above.
実記憶対応の変換テーブル13から実アドレスを求める
。A real address is obtained from the conversion table 13 corresponding to real memory.
以上説明したように9本発明によれば、共用領域につい
ても、実記憶対応の変換テーブルを用いテ、実アドレス
への変換ができるようになり、ユーザ間で領域を共用す
ることが可能となると共に。As explained above, according to the present invention, it becomes possible to convert a shared area to a real address using a conversion table compatible with real memory, making it possible to share the area among users. With.
仮恐記憶が大きくなっても、それに伴ってアドレス変換
テーブルを大きくする必要がなくなる。Even if the virtual memory becomes larger, there is no need to enlarge the address translation table accordingly.
第1図は本発明の原理ブロック図、第2U!Jは木発明
の一実施例、第3図は従来方式の例、第4図は従来方式
の問題点説明図を示す。
図中、10は仮想アドレス、11はタグ、12は共用領
域用変換テーブル、13は実記憶対応の変換テーブル、
14は変換テーブル検索部、15は実アドレスを表す。Fig. 1 is a block diagram of the principle of the present invention, and Fig. 2U! J shows one embodiment of the wooden invention, FIG. 3 shows an example of a conventional method, and FIG. 4 shows an explanatory diagram of problems with the conventional method. In the figure, 10 is a virtual address, 11 is a tag, 12 is a conversion table for shared area, 13 is a conversion table for real storage,
14 represents a conversion table search unit, and 15 represents a real address.
Claims (1)
識別するタグ(11)と、 実記憶に対応して、ユーザ毎の仮想アドレスを実アドレ
スに変換する情報を持つ実記憶対応の変換テーブル(1
3)と、 仮想記憶に対応して、共用領域の仮想アドレスまたはそ
の一部を、システムで共用領域用に一意に定めた仮想ア
ドレスまたはその一部に変換する情報を持つ共用領域用
変換テーブル(12)と、上記タグ(11)が共用領域
であることを示すときに、上記共用領域用変換テーブル
(12)により、アドレス変換を行い、その結果に基づ
いて、上記実記憶対応の変換テーブル(13)を検索す
る手段(14)とを備えたことを特徴とする仮想アドレ
ス変換方式。[Claims] In a computer system that adopts a multiplexed virtual memory method, there is provided a tag (11) for identifying whether a virtual address is a shared area or a non-shared area, and a tag (11) for each user corresponding to the real memory. Conversion table (1) for real memory that has information for converting virtual addresses to real addresses
3), and a shared area conversion table (corresponding to virtual memory) that has information for converting the virtual address of the shared area or a part thereof into a virtual address or a part thereof uniquely determined for the shared area in the system. 12) and the tag (11) indicates that it is a shared area, address conversion is performed using the shared area conversion table (12), and based on the result, the conversion table (12) for real storage is converted. 13) A virtual address translation method comprising: means (14) for searching.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62117479A JPS63282543A (en) | 1987-05-14 | 1987-05-14 | Virtual address conversion system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP62117479A JPS63282543A (en) | 1987-05-14 | 1987-05-14 | Virtual address conversion system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS63282543A true JPS63282543A (en) | 1988-11-18 |
Family
ID=14712718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP62117479A Pending JPS63282543A (en) | 1987-05-14 | 1987-05-14 | Virtual address conversion system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS63282543A (en) |
-
1987
- 1987-05-14 JP JP62117479A patent/JPS63282543A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100297454B1 (en) | Computer | |
JPH0816536A (en) | Multiprocessor system | |
CN110532347A (en) | A kind of daily record data processing method, device, equipment and storage medium | |
JPS62164148A (en) | Data processing system | |
JPS63282543A (en) | Virtual address conversion system | |
JPH05151264A (en) | Information retrieving device | |
JPS626350A (en) | Tlb controller | |
JPS5858752B2 (en) | address translation device | |
JPH05181735A (en) | Method for managing storage device to be shared among plural information processors | |
JPS59140566A (en) | Information processing device | |
JPS63189955A (en) | Data transferring and processing system in virtual computer system | |
JPH04277846A (en) | High-speed address converting system | |
JPH04148352A (en) | Address converting system for information processor equipped with plural processor | |
JP2635310B2 (en) | Address translation device | |
JPS6327740B2 (en) | ||
JPS62171058A (en) | Address converter | |
JPH0934788A (en) | Device and method for translating address | |
JPH02254550A (en) | Information storage device and information processor | |
JPS61267828A (en) | Information registering and retrieving device | |
JPS6143357A (en) | Data direct access method | |
JPH0812640B2 (en) | Address translation method and apparatus | |
JPH03168853A (en) | Input/output processor | |
JPS59191649A (en) | Program production system | |
JPS608971A (en) | Central processing unit | |
JPH04506125A (en) | calculator with cache |