JPS62189543A - Address conversion system - Google Patents
Address conversion systemInfo
- Publication number
- JPS62189543A JPS62189543A JP61030831A JP3083186A JPS62189543A JP S62189543 A JPS62189543 A JP S62189543A JP 61030831 A JP61030831 A JP 61030831A JP 3083186 A JP3083186 A JP 3083186A JP S62189543 A JPS62189543 A JP S62189543A
- Authority
- JP
- Japan
- Prior art keywords
- page
- shared
- address
- conversion table
- address conversion
- 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 29
- 238000000034 method Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 3
- 238000006073 displacement reaction Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は仮想記憶方式を採る計算機に係り、特に該計算
機上で動作するジョブ間でメモリを共用するのに好適な
アドレス変換方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a computer that employs a virtual memory system, and particularly to an address conversion system suitable for sharing memory between jobs running on the computer.
従来の方式は、特開昭56−65380号記載のように
、各仮想空間の間で共用する共用の単位に自由度を持た
せるためアドレス変換テーブルをページテーブルのみと
し、かつ間接アドレシングの導入によりページ単位の共
用を実現している。In the conventional method, as described in Japanese Patent Application Laid-Open No. 56-65380, the address translation table is only a page table in order to have flexibility in the unit of sharing between each virtual space, and indirect addressing is introduced. Achieves page-by-page sharing.
しかし、間接アドレシングで使用する共通ページアドレ
ステーブルのインディクスとして各仮想空間構成上のペ
ージアドレスが用いられており共通ページアドレステー
ブルは共通ページ分のみならず仮想空間全減分の容量を
必要とする。さらに仮想空間は拡張の傾向にあり、従来
方式では共通ページアドレステーブルのために膨大な記
憶容量が必要となる。また、領域を共用するには、各仮
想空間上のアドレスを実アドレスに変換した結果として
同−実アドレスを指すことにより実現されるが、従来式
では各仮想空間上の仮想アドレスも同じでなければなら
ない。However, the page address on each virtual space configuration is used as the index of the common page address table used in indirect addressing, and the common page address table requires capacity not only for the common pages but also for the total decrement of the virtual space. . Furthermore, virtual space tends to expand, and conventional methods require a huge amount of storage capacity for the common page address table. In addition, to share an area, the address in each virtual space is converted into a real address and the result is a result of pointing to the same real address, but in the conventional method, the virtual address in each virtual space must also be the same. Must be.
このような方式では、仮想空間上の任意の場所を共用す
ることができない。In such a system, it is not possible to share any location in the virtual space.
本発明の目的は仮想空間の間で領域を共用する場合に発
生する種々の制約を廃し、共用ページ変換テーブルの増
大を抑え、かつ各仮想空間上の任意のページを共用でき
る融通性の高いアドレス変換方式を提供することにある
。The purpose of the present invention is to eliminate various restrictions that occur when sharing areas between virtual spaces, suppress the increase in shared page conversion tables, and provide highly flexible addresses that can share any page in each virtual space. The purpose is to provide a conversion method.
本発明のアドレス変換方式では、最初に共通ページの要
求が行われた時に、要求された必要分のみの共用ページ
変換テーブルを動的に確保し、各仮想空間上のページ変
換テーブル・エントリより間接アドレシング方式を用い
前記共用ページ変換テーブル中の対応するエントリをポ
イントする。In the address translation method of the present invention, when a request for a common page is made for the first time, a common page translation table for only the requested amount is dynamically secured, and the page translation table entry in each virtual space is used indirectly. An addressing scheme is used to point to a corresponding entry in the shared page translation table.
また、計算機上の全ての前記共用ページ変換テーブルを
管理するディレクトリテーブルを設け、該ディレクトリ
テーブル中に前記共用ページ変換テーブル管理情報(大
きさ、識別名、アドレスなど)を格納する。Further, a directory table for managing all the shared page conversion tables on the computer is provided, and the shared page conversion table management information (size, identification name, address, etc.) is stored in the directory table.
〔作用〕
前記ディレクトリテーブルに登録されている共通ページ
に対する共用要求が各仮想空間から行われると、該仮想
空間上では、まず自仮想空間内に仮想領域割り当て、す
なわちページ変換テーブルのエントリを作成する。該ペ
ージ変換テーブルのエントリ中には、前記ディレクトリ
テーブルより目的とする前記共用ページが含まれている
前記共通ページ変換テーブルのエントリアドレスを得て
、該アドレスをセットする。[Operation] When a sharing request for a common page registered in the directory table is made from each virtual space, the virtual space first allocates a virtual area in its own virtual space, that is, creates an entry in a page conversion table. . In the entry of the page conversion table, an entry address of the common page conversion table that includes the target shared page is obtained from the directory table, and the address is set.
以降、前記の各仮想空間上の仮想アドレスを実アドレス
にに変換する場合には、該各仮想空間上の前記ページ変
換テーブル中の共用ビットをチェックし、前記共通ペー
ジ変換テーブルを介した間接アドレシング方式か否かを
判断する。Thereafter, when converting a virtual address in each virtual space to a real address, check the shared bit in the page translation table in each virtual space, and perform indirect addressing via the common page translation table. Determine whether it is a method or not.
以下、本発明の一実施例を第1図〜第5図により説明す
る。第1図は本実施例におけるページ共用の概捻を示し
ている。第1図において、仮想空間AIOおよび仮想空
間B20上のページAllとページB21とを本発明に
適応したアドレス変換100を介し実記憶30上の同−
実ページ31に変換することによりページAllとペー
ジB21を共用する。An embodiment of the present invention will be described below with reference to FIGS. 1 to 5. FIG. 1 shows an outline of page sharing in this embodiment. In FIG. 1, pages All and B21 in the virtual space AIO and the virtual space B20 are transferred to the same address in the real memory 30 through an address conversion 100 adapted to the present invention.
By converting to real page 31, page All and page B21 are shared.
次に第2図〜第5図によりアドレス変換100について
説明する。Next, address translation 100 will be explained with reference to FIGS. 2 to 5.
第2図は本実施例におけるアドレス変換テーブルの概要
を示す。本実施例では、仮想空間を論理単位セグメント
に分割し、さらにセグメント内をページ単位に分割し、
それぞれをセグメントテーブル5GT120、ページテ
ーブルPGT 140で管理し、該5GT120の各エ
ントリは、当セグメントを構成する前記ページテーブル
PGT140へのポインタにより構成され、該PGT1
40の各エントリ141,142は共用ビット144の
内容により、直接実記憶30上の実ページ31を指す場
合と、共用アドレス変換テーブルNCPGT 150
を介し間接アドレシングにより実記憶3o上のページ
31を指す場合とがある。FIG. 2 shows an outline of the address translation table in this embodiment. In this embodiment, the virtual space is divided into logical unit segments, and the segments are further divided into page units.
Each of these is managed by a segment table 5GT120 and a page table PGT140, and each entry in the 5GT120 is composed of a pointer to the page table PGT140 that constitutes the segment.
Depending on the content of the shared bit 144, each of the 40 entries 141 and 142 may directly point to the real page 31 on the real memory 30, or the shared address translation table NCPGT 150
In some cases, the page 31 on the real memory 3o may be pointed to by indirect addressing via.
第3,4図に前記ページテーブルPGT140の各エン
トリ形式141,142を示す。該エントリ上の前記共
用ビット144は、仮想記憶割り当て時に、本実施例の
場合には共用ページに対しては1.非共用ページに対し
ては0をセットしておく。さらに、前記共用アドレス変
換テーブルCPGT 150を作成した場合には、共用
アドレス変換テーブル・ディレクトリCPD70上に該
共用アドレス変換テーブルCPGTI 50の識別名7
1゜サイズ72.共用者数73、およびアドレス74を
セットする。一方、他仮想空間からあるページを共用す
る場合には、前記識別名71を指定し、該識別名71を
キーとして前記共用アドレス変換テープ・ディレクトリ
CPD70をサーチし、一致するエントリを見つけ目的
の共用アドレス変換テーブルCPGT50のアドレス7
4等の情報を得て、これを基にページ変換テーブル14
0上の各エントリ142を作成できる。3 and 4 show the entry formats 141 and 142 of the page table PGT140. The shared bit 144 on the entry is set to 1 for a shared page in this embodiment at the time of virtual memory allocation. Set to 0 for non-shared pages. Further, when the shared address translation table CPGT 150 is created, the identification name 7 of the shared address translation table CPGTI 50 is written on the shared address translation table directory CPD 70.
1° size 72. The number of users 73 and address 74 are set. On the other hand, when sharing a page from another virtual space, specify the identification name 71, search the shared address conversion tape directory CPD 70 using the identification name 71 as a key, find a matching entry, and use the desired shared page. Address 7 of address conversion table CPGT50
4 etc. information, and based on this, create page conversion table 14.
Each entry 142 on 0 can be created.
次に、第5図により以上述べた各種テーブルを用い、ど
のようにしてアドレス変換動作が行われるかを説明する
。第5図は、本発明のアドレス変換方式を示すブロック
図である。仮想空間に対応する仮想アドレス60の内容
は、セグメント・インデクス5G61.ページ・インデ
クス62、およびページ内の変位を示すディスプレース
メントDP63からなっている。該仮想アドレス60の
変換は、まず、制御レジスタ50上のセグメント・テー
ブル5GT120の先頭アドレスと前記仮想アドレス6
0上の5G61とをALUIIOにより加算(図中に示
すように各位に所定の定数を掛けてから加算する、以下
の加算時も同様)し、目的のセグメントテーブル・エン
トリ120を求める0次に、該セグメントテーブル・エ
ントリ120上のページテーブルPGT140の先頭ア
ドレスと前記仮想アドレス上のPG62とをALU13
0にて加算しPGT140上のページテーブル・エント
リ141を求める。該ページテーブル・エントリ141
は、32ビツトの情報(左から第0ビツト、第1ビツト
・・・と表現する)を含み、第0ビツトは共用ビット1
44でセレクタ160の制御信号となり、また、共用ビ
ット144が0の場合は第1ビツト〜第19ビツトによ
り直接実ページアドレスを示す、一方、共用ビット14
4が1の場合は、共用ページテーブル150(第2図)
中のエントリCPGEI 51を指す。Next, how the address translation operation is performed will be explained using the various tables described above with reference to FIG. FIG. 5 is a block diagram showing the address translation method of the present invention. The contents of the virtual address 60 corresponding to the virtual space are segment index 5G61. It consists of a page index 62 and a displacement DP 63 indicating displacement within the page. The conversion of the virtual address 60 is performed by first converting the start address of the segment table 5GT 120 on the control register 50 and the virtual address 6
Add 5G61 on 0 using ALUIIO (as shown in the figure, multiply each position by a predetermined constant and then add; the same applies to the following additions) to obtain the target segment table entry 120. The start address of the page table PGT140 on the segment table entry 120 and the PG62 on the virtual address are stored in the ALU 13.
0 is added to obtain the page table entry 141 on the PGT 140. The page table entry 141
contains 32 bits of information (expressed as the 0th bit, 1st bit, etc. from the left), and the 0th bit is the shared bit 1.
44 becomes a control signal for the selector 160, and when the shared bit 144 is 0, the 1st to 19th bits directly indicate the real page address.
If 4 is 1, the shared page table 150 (Figure 2)
Points to entry CPGEI 51 in.
該CPGE 151および前記ページテーブルエントリ
141 (共用ビットか0時の第1〜19ビツト)がセ
レクタ160に入力され、前記共用ビット144の制御
により、実アドレス170の上位アドレスRPAI71
となる。このとき、実アドレス170.下位アドレスB
A172は、前記仮想アドレス中のディスプレースメン
トDP63がそのまま実アドレスとなる。本実施例によ
れば、共用ページテーブル150は共通ページ1ページ
につき4バイトのみの容量でよく、さらに、各仮想空間
上の共通ページのアドレスを任意の位置に設定でき自由
度の高いページ単位の共用が実現できる。〔発明の効果
〕
本発明によれば、共用ページが各仮想空間上で同一のペ
ージアドレスを持つ必要がなく、さらに共通ページ変換
テーブルも共用する量に見合ったテーブル容量のみでよ
く、小さな共用テーブルで自由度の高い、ページ共用制
御を実現するのに効果がある。The CPGE 151 and the page table entry 141 (shared bits 1st to 19th bits at 0) are input to the selector 160, and under the control of the shared bit 144, the upper address RPAI 71 of the real address 170 is
becomes. At this time, the real address 170. Lower address B
In A172, the displacement DP63 in the virtual address becomes the real address as it is. According to this embodiment, the shared page table 150 only needs to have a capacity of 4 bytes per common page, and furthermore, the address of the common page in each virtual space can be set at any position, allowing for a high degree of freedom in page units. Sharing can be achieved. [Effects of the Invention] According to the present invention, it is not necessary for a shared page to have the same page address in each virtual space, and furthermore, the common page conversion table only needs a table capacity commensurate with the amount of sharing, and a small shared table can be used. This is effective in realizing page sharing control with a high degree of freedom.
第1図は、本発明の実施例におけるページ共用の概念図
、第2図は、本発明の実施例におけるアドレス変換テー
ブルの概要図、第3図、第4図は、本発明の実施例にお
けるページ変換テーブル・エントリの形式図、第5図は
、本発明の実施例を示すアドレス変換方式のブロック図
である。
10.20・・・仮想空間、30・・・実記憶、50・
・・制御レジスタ、6o・・・仮想アドレス形式、70
・・・共用アドレス変換テーブル・ディレクトリ、10
0・・・アドレス変換器、110,130・・・加算器
、120・・・ページ変換テーブル、140・・・セグ
メント・テーブル、141,142・・・ページ変換テ
ーブルのエントリ形式、150・・・共通ページ変換テ
ーブル、151・・・共通ページ変換テーブルのエン′
43 図
冨 5 図FIG. 1 is a conceptual diagram of page sharing in an embodiment of the present invention, FIG. 2 is a schematic diagram of an address translation table in an embodiment of the present invention, and FIGS. 3 and 4 are a conceptual diagram of page sharing in an embodiment of the present invention. FIG. 5 is a block diagram of an address translation scheme illustrating an embodiment of the present invention. 10.20...Virtual space, 30...Real memory, 50.
...Control register, 6o...Virtual address format, 70
...Shared address translation table directory, 10
0... Address converter, 110, 130... Adder, 120... Page conversion table, 140... Segment table, 141, 142... Entry format of page conversion table, 150... Common page conversion table, 151... common page conversion table en'
43 Figure 5 Figure 5
Claims (1)
記憶装置上の実アドレスに変換する変換テーブルを設け
た計算機において、該変換テーブルのいくつかのエント
リ対応に前記各仮想空間の間で共用する領域の共用アド
レス変換テーブルと該共用アドレス変換テーブルを前記
各仮想空間より検知する手段を設けたことを特徴とする
アドレス変換方式。In a computer that adopts a virtual memory system and is provided with a conversion table that converts a virtual address in each virtual space to a real address on a real storage device, a table shared among the virtual spaces corresponding to several entries in the conversion table is used. 1. An address translation method comprising: a shared address translation table for an area in which the address is to be translated; and means for detecting the shared address translation table from each of the virtual spaces.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61030831A JPS62189543A (en) | 1986-02-17 | 1986-02-17 | Address conversion system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP61030831A JPS62189543A (en) | 1986-02-17 | 1986-02-17 | Address conversion system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPS62189543A true JPS62189543A (en) | 1987-08-19 |
Family
ID=12314643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP61030831A Pending JPS62189543A (en) | 1986-02-17 | 1986-02-17 | Address conversion system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS62189543A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0441508A2 (en) * | 1990-02-09 | 1991-08-14 | International Business Machines Corporation | Data storage using a cache and method therefor |
-
1986
- 1986-02-17 JP JP61030831A patent/JPS62189543A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0441508A2 (en) * | 1990-02-09 | 1991-08-14 | International Business Machines Corporation | Data storage using a cache and method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6286092B1 (en) | Paged based memory address translation table update method and apparatus | |
KR920005853B1 (en) | Apparatus for controlling input/output operation in virtual memory/visual computer type data processing system | |
JP2625385B2 (en) | Multiprocessor system | |
US4742450A (en) | Method to share copy on write segment for mapped files | |
US5802341A (en) | Method for the dynamic allocation of page sizes in virtual memory | |
US5899994A (en) | Flexible translation storage buffers for virtual address translation | |
US6401181B1 (en) | Dynamic allocation of physical memory space | |
EP0568195A1 (en) | Data processing system having multiple virtual address spaces | |
JPH0654479B2 (en) | Virtual memory method | |
JPS62237547A (en) | Address conversion system | |
US4991082A (en) | Virtual storage system and method permitting setting of the boundary between a common area and a private area at a page boundary | |
US6341325B2 (en) | Method and apparatus for addressing main memory contents including a directory structure in a computer system | |
EP0194415A2 (en) | Bus to bus converter | |
US5940868A (en) | Large memory allocation method and apparatus | |
US5873120A (en) | Variable split virtual address space allocation with multi-system compatibility | |
JPS62189543A (en) | Address conversion system | |
Motobayashi et al. | The HITAC5020 time sharing system | |
US6981120B1 (en) | Method and apparatus for virtual memory segmentation | |
KR930003439B1 (en) | System for virtual memory | |
US6671783B1 (en) | Method and article for managing references between objects in memories of different durations in a run-time environment | |
JP2001022640A (en) | Memory managing method | |
JPH0246971B2 (en) | ||
JPH05265426A (en) | Control method for character pattern | |
JPS62274351A (en) | Address conversion system | |
JPS62174848A (en) | Resource allocation/access method |