JPS6349806B2 - - Google Patents
Info
- Publication number
- JPS6349806B2 JPS6349806B2 JP57088571A JP8857182A JPS6349806B2 JP S6349806 B2 JPS6349806 B2 JP S6349806B2 JP 57088571 A JP57088571 A JP 57088571A JP 8857182 A JP8857182 A JP 8857182A JP S6349806 B2 JPS6349806 B2 JP S6349806B2
- Authority
- JP
- Japan
- Prior art keywords
- segment
- address
- virtual
- page table
- page
- 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
Links
- 238000000034 method Methods 0.000 claims description 49
- 238000006243 chemical reaction Methods 0.000 claims description 44
- 230000015654 memory Effects 0.000 claims description 33
- 230000006870 function Effects 0.000 claims description 22
- 238000006073 displacement reaction Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 13
- 101000577619 Homo sapiens Profilin-1 Proteins 0.000 description 7
- 102100028857 Profilin-1 Human genes 0.000 description 7
- 101000619345 Homo sapiens Profilin-2 Proteins 0.000 description 2
- 102100022555 Profilin-2 Human genes 0.000 description 2
- 101150100956 VSP2 gene Proteins 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
〔発明の技術分野〕
本発明はセグメント番号、ページ番号および変
位情報を有する仮想アドレスを実アドレスに変換
するアドレス変換方式に関する。DETAILED DESCRIPTION OF THE INVENTION [Technical Field of the Invention] The present invention relates to an address conversion method for converting a virtual address having a segment number, page number, and displacement information into a real address.
一般に仮想記憶システムは第1図に示されるよ
うに構成されていた。このようなシステムではプ
ロセツサ11,11……や入出力チヤネル(以
下、CHと称する)12,12……などがメモリ
装置(以下、MEMと称する)13をアクセスす
るためにシステムバス14上に送出されるアドレ
スは実アドレスであつた。したがつて、仮想記憶
実現のために仮想アドレスを実アドレスに変換す
るアドレス変換処理はプロセツサ11,11…
…、CH12,12……でそれぞれ行なわれてい
た。このため、第1図のシステムでは各プロセツ
サ、各CHにそれぞれアドレス変換機能を持たせ
なくてはならず、コスト高となる欠点があつた。
Generally, virtual storage systems have been configured as shown in FIG. In such a system, processors 11, 11..., input/output channels (hereinafter referred to as CH) 12, 12..., etc. send data onto the system bus 14 in order to access the memory device (hereinafter referred to as MEM) 13. The address received was a real address. Therefore, the processors 11, 11, . . . perform address conversion processing for converting virtual addresses into real addresses in order to realize virtual memory.
..., CH12, 12... were carried out respectively. For this reason, in the system shown in FIG. 1, each processor and each CH must have an address translation function, which has the disadvantage of increasing costs.
そこで、第1図のシステムの欠点を解消するた
めに、第2図に示されるように仮想記憶制御装置
(以下、VSPと称する)21を備えた仮想記憶シ
ステムが考えられている。このシステムでは、
VSP21にアドレス変換機能を持たせ、VSP2
1においてプロセツサ11,11……やCH1
2,12……に代えて仮想アドレスを実アドレス
に変換するようになつている。このため、第2図
のシステムでは、プロセツサ11,11……や
CH12,12……にアドレス変換機能を持たせ
る必要がなく、コストの低減を図ることができ
る。なお、22,22……はプロセツサ11,1
1……側に設けられたキヤツシユメモリ、23は
VSP21によつて管理されるページング装置で
ある。 Therefore, in order to eliminate the drawbacks of the system shown in FIG. 1, a virtual storage system including a virtual storage control device (hereinafter referred to as VSP) 21 as shown in FIG. 2 has been considered. In this system,
VSP21 has an address translation function, and VSP2
In 1, processors 11, 11... and CH1
2, 12, etc., a virtual address is converted into a real address. Therefore, in the system shown in Fig. 2, the processors 11, 11...
There is no need to provide an address conversion function to CH12, 12, . . . , and costs can be reduced. Note that 22, 22... are processors 11, 1
1...The cache memory provided on the side, 23 is
This is a paging device managed by VSP21.
このような第2図のシステムでは、プロセツサ
11,11……やCH12,12……が取り扱う
アドレスは仮想アドレスだけであり、プロセツサ
11,11……やCH12,12……からシステ
ムバス14上に送出されるアドレスは第1図のシ
ステムと異なつて仮想アドレスとなつている。し
たがつてプロセツサ11がキヤツシユメモリ22
をアクセス(キヤツシユアクセス)する場合に
も、仮想アドレスを用いる必要がある。しかし、
従来、MEM13上のすべての情報(全ての実ア
ドレス位置)に1対1対応で仮想アドレスが割り
付けられているわけではないため、このような情
報を仮想アドレスを用いてキヤツシユメモリ22
にエントリしたり、キヤツシユメモリ22から読
み出したりすることは極めて困難であつた。例え
ば、ページテーブルはMEM13すなわち実記憶
装置上だけに置かれており、したがつてページテ
ーブルには仮想アドレスが割り付けられておらず
(すなわち仮想記憶装置側からはページテーブル
が見えず)、ページテーブルエントリを仮想アド
レスによつてキヤツシユアクセスすることは不可
能であつた。このため第2図のシステムは実現性
に乏しかつた。 In the system shown in FIG. 2, the addresses handled by processors 11, 11, . . . and CH 12, 12, . Unlike the system shown in FIG. 1, the address to be sent is a virtual address. Therefore, the processor 11 uses the cache memory 22.
It is also necessary to use a virtual address when accessing (cache access). but,
Conventionally, virtual addresses were not assigned to all information (all real address positions) on the MEM 13 in a one-to-one correspondence, so such information was stored in the cache memory 22 using virtual addresses.
It has been extremely difficult to enter or read data from the cache memory 22. For example, the page table is located only on the MEM13, that is, the real storage device, so no virtual address is assigned to the page table (that is, the page table is not visible from the virtual storage device), and the page table It was not possible to cache entries by virtual address. For this reason, the system shown in FIG. 2 has poor feasibility.
本発明は上記事情に鑑みてなされたものでその
目的は、仮想アドレスを実アドレスに変換する機
能をメモリ制御装置側に持たせている仮想記憶シ
ステムが実現できるアドレス変換方式を提供する
ことにある。
The present invention has been made in view of the above circumstances, and its purpose is to provide an address conversion method that can realize a virtual memory system in which a memory control device has a function of converting virtual addresses to real addresses. .
本発明の他の目的は、大規模な仮想記憶空間を
サポートできるアドレス変換方式を提供すること
にある。 Another object of the present invention is to provide an address translation method that can support a large-scale virtual storage space.
本発明の更に他の目的はセグメントの用途に対
応した性質、更に具体的に述べるならば規模は小
さくても超高速処理を必要とするプログラム等の
配置に用いられるセグメントか、高速処理は必要
ないが大規模なプログラム等の配置に用いられる
セグメントかなどセグメントの種類に応じたアド
レス変換が行なえるアドレス変換方式を提供する
ことにある。 Still another object of the present invention is the properties of segments that are compatible with their intended use.More specifically, segments are used for arranging programs that require extremely high-speed processing even though they are small in scale, or segments that do not require high-speed processing. An object of the present invention is to provide an address translation method that can perform address translation according to the type of segment, such as whether it is a segment used for arranging a large-scale program or the like.
本発明はメモリ制御装置側に仮想アドレスを実
アドレスに変換する機能を持たせることによつて
プロセツサや入出力チヤネルなどにアドレス変換
機能を持たせることが不要となるシステムが実現
できるように、ページテーブルなど実記憶上のす
べての情報に仮想アドレスを割り付けるようにし
たものである。そこで本発明では、セグメントテ
ーブルをV=Rセグメントに置くと共に、通常の
セグメントに対するページテーブルを独立した別
のセグメント(ページテーブルセグメント)に置
き、このページテーブルセグメントのページテー
ブルをV=Rセグメントに置き、この2種のペー
ジテーブルを用いて仮想アドレスを実アドレスに
変換する2レベルページング方式のアドレス変換
を行なうようにしている。こうすることにより、
上記2種のページテーブル(の各エントリ)に対
しすべて仮想アドレスを1対1対応で割り付けら
れ、しかも収容数に制限のあるV=Rセグメント
に置かれるページテーブルのサイズは小さくて済
む。
The present invention provides a memory control device with a function to convert virtual addresses into real addresses, thereby realizing a system that does not require an address conversion function in a processor or input/output channel. Virtual addresses are assigned to all information in real memory, such as tables. Therefore, in the present invention, the segment table is placed in the V=R segment, the page table for the normal segment is placed in another independent segment (page table segment), and the page table of this page table segment is placed in the V=R segment. These two types of page tables are used to perform address conversion using a two-level paging method that converts a virtual address into a real address. By doing this,
Virtual addresses can be assigned to (each entry in) the two types of page tables mentioned above in a one-to-one correspondence, and the size of the page table placed in the V=R segment, which has a limited capacity, can be small.
更に本発明は、セグメントの用途に対応した性
質(セグメント種類)によつて効率の良いアドレ
ス変換が行なえるように、上述の2レベルページ
ング方式のほかに、仮想アドレスのセグメント番
号がV=Rセグメントに一致する場合には、仮想
アドレス中の変位をそのまま実アドレスとして出
力するV=R方式のアドレス変換、セグメント全
体が連続した状態で実記憶上にマツピングされる
リロケーシヨン方式のアドレス変換、更には1レ
ベルページング方式のアドレス変換のための性能
をメモリ制御装置側に持たせ、セグメントの用途
に対応した性質(セグメント種類)によつて選択
できるようにしている。また、上記1レベルペー
ジング方式で使用されるページテーブルをV=R
セグメントに置き、このページテーブル(の各エ
ントリ)に対しても仮想アドレスを1対1対応で
割り付けられるようにしている。 Furthermore, in addition to the above-mentioned two-level paging method, the present invention provides a method in which the segment number of a virtual address is set to V=R segment so that efficient address conversion can be performed depending on the characteristics (segment type) corresponding to the purpose of the segment. , the V=R method address conversion that outputs the displacement in the virtual address as it is as a real address, the relocation method address conversion that maps the entire segment onto real memory in a continuous state, and furthermore, 1 The memory control device has performance for level paging address conversion, and can be selected depending on the characteristics (segment type) corresponding to the purpose of the segment. Also, the page table used in the above one-level paging method is V=R
This page table is placed in a segment so that virtual addresses can be assigned in a one-to-one correspondence to (each entry in) this page table.
以下、本発明の一実施例を図面を参照して説明
する。第3図は仮想記憶システムの構成を示すも
のである。図中30,30……はキヤツシユメモ
リ31,31……を有するプロセツサ、40,4
0……はCH(入出力チヤネル)である。プロセ
ツサ30,30……、CH40,40……は仮想
アドレスVAおよび実アドレスRAのうち仮想ア
ドレスのみを扱うようになつており、したがつて
仮想アドレスVAを実アドレスRAに変換するア
ドレス変換機能を有していない。50はMEM
(メモリ装置)であり、MEM50にはセグメン
トテーブル(以下、STと称する)51、第1ペ
ージテーブル(以下、PTAと称する)52、第2
ページテーブル(以下、PTBと称する)53、お
よび第3ページテーブル(以下、PTCと称する)
54が置かれる。ST51、PTA52、PTB5
3、PTC54は第11図に示されるようにセグ
メント単位で分割して管理される仮想記憶装置
(仮想アドレス空間)90にも置かれる。これに
より、この仮想記憶装置90に置かれている上記
ST51などのテーブル類を、仮想アドレスのみ
を扱うプロセツサ30およびCH40からでも見
ることが可能となる。このことは、仮想アドレス
のみを扱うプロセツサ30およびCH40からで
も、アドレス変換機能を持つ後述するVSP70
を通すことで、MEM50に置かれている上記
ST51などのテーブル類を見ることが可能とな
ることを示す。
Hereinafter, one embodiment of the present invention will be described with reference to the drawings. FIG. 3 shows the configuration of the virtual storage system. In the figure, 30, 30... are processors having cache memories 31, 31...
0... is CH (input/output channel). The processors 30, 30..., CH40, 40... handle only the virtual address of the virtual address VA and the real address RA, and therefore have an address conversion function to convert the virtual address VA to the real address RA. I don't have it. 50 is MEM
(memory device), and the MEM 50 includes a segment table (hereinafter referred to as ST) 51, a first page table (hereinafter referred to as PT A) 52, and a second page table (hereinafter referred to as PT A ) 52.
Page table (hereinafter referred to as PT B ) 53, and third page table (hereinafter referred to as PT C )
54 is placed. ST51, PTA52, PTB5
3. The PTC 54 is also placed in a virtual storage device (virtual address space) 90 that is divided and managed in segments as shown in FIG. As a result, the above files stored in this virtual storage device 90 are
Tables such as ST51 can be viewed even from processor 30 and CH40, which handle only virtual addresses. This means that even from processors 30 and CH40 that handle only virtual addresses, VSP70, which will be described later, has an address translation function.
By passing the above
Indicates that it is possible to view tables such as ST51.
仮想記憶装置90内の任意アドレス位置を示す
仮想アドレスVAは、第4図に示されているよう
にセグメント番号SN(16ビツト)、ページ番号
PN(13ビツト)、および変位BN(11ビツト)から
構成されている。周知のようにセグメント番号
SNが0の仮想アドレスVAは実アドレスRAに一
致する。 A virtual address VA indicating an arbitrary address position in the virtual storage device 90 is a segment number SN (16 bits) and a page number as shown in FIG.
It consists of PN (13 bits) and displacement BN (11 bits). Segment number as we know
A virtual address VA with an SN of 0 matches the real address RA.
再び第11図を参照すると、ST51、PTB5
3、PTC54は、仮想記憶装置90内のセグメ
ント番号SNが0のセグメント、いわゆるV=R
セグメントに置かれている。したがつて、MEM
50(実記憶装置)上のST51、PTB53、
PTC54の各エントリには1対1対応で仮想ア
ドレスVAが割り付けられることになる。仮想記
憶装置90を構成するセグメントとしては、上記
V=Rセグメントのほかに、セグメント番号SN
が偶数(但し「0」を除く)の通常セグメントと
奇数のページテーブルセグメントとがある。そし
て、通常セグメントには後述するリロケーシヨン
方式が適用される第1種通常セグメントと、1レ
ベルページング方式が適用される第2種通常セグ
メントと、2レベルページング方式が適用される
第3種通常セグメントとがある。上記ページテー
ブルセグメントは当該セグメント自身が上述した
第3種通常セグメントに対するPTA52として使
用される。すなわちPTA52は仮想アドレス空間
上で独立のセグメントとなつている。本実施例で
は目的セグメント(第3種通常セグメント)のセ
グメント番号SNは第11図に示すように2i(iは
正の整数)であり、ページテーブルセグメントの
セグメント番号SNは2i+1である。PTA52は
セグメント2i(第3種通常セグメント)に対する
ページテーブルであり、ページテーブルセグメン
ト2i+1に置かれる。このページテーブルセグメ
ント2i+1に対するページテーブルはV=Rセグ
メントに置かれるPTB53である。また、第1
種、第2種通常セグメントの各セグメント番号
SNは、それぞれ2j(jは正の整数、j≠i)、2k
(kは正の整数、k≠i、j)である。第2種通
常セグメント2kに対するページテーブルはV=
Rセグメントに置かれるPTC54である。この
ように本実施例では、ページテーブル(PTA5
2、PTB53、PTC54)にもセグメント番号
SNが与えられる。 Referring to Figure 11 again, ST51, PTB5
3. The PTC 54 stores the segment whose segment number SN is 0 in the virtual storage device 90, so-called V=R.
located in the segment. Therefore, MEM
ST51, PTB53 on 50 (real storage device),
A virtual address VA is assigned to each entry in the PTC 54 in a one-to-one correspondence. In addition to the above V=R segment, the segments configuring the virtual storage device 90 include segment number SN.
There are normal segments with an even number (excluding "0") and page table segments with an odd number. The normal segments are classified into type 1 normal segments to which the relocation method described below is applied, type 2 normal segments to which the 1-level paging method is applied, and type 3 normal segments to which the 2-level paging method is applied. There is. The page table segment itself is used as the PTA 52 for the above-mentioned type 3 normal segment. That is, PTA 52 is an independent segment on the virtual address space. In this embodiment, the segment number SN of the target segment (type 3 normal segment) is 2i (i is a positive integer) as shown in FIG. 11, and the segment number SN of the page table segment is 2i+1. PTA 52 is a page table for segment 2i (type 3 normal segment), and is placed in page table segment 2i+1. The page table for this page table segment 2i+1 is the PTB 53 placed in the V=R segment. Also, the first
Each segment number of species, type 2 normal segment
SN are 2j (j is a positive integer, j≠i) and 2k, respectively.
(k is a positive integer, k≠i, j). The page table for type 2 normal segment 2k is V=
This is the PTC 54 placed in the R segment. In this way, in this embodiment, the page table (PT A 5
2, PT B 53, PT C 54) also have segment numbers
SN is given.
第3図において、60はページング装置、70
はMEM50に接続されるVSP(仮想記憶制御装
置)、80はプロセツサ30,30……、CH4
0,40……、およびVSP70などを結合する
ためのシステムバスである。VSP70はプロセ
ツサ30,30……、CH40,40……などか
らシステムバス80上に送出される仮想アドレス
を実アドレスRAに変換してMEM50をアクセ
スすると共に、ページング装置60を管理してペ
ージングを行なう機能を有する。以上の説明から
明らかなように、本実施例ではプロセツサ30,
30……、CH40,40……に仮想アドレス
VAを実アドレスRAに変換するアドレス変換機
能を持たせておらず、このアドレス変換機能を
VSP70に集中させている。 In FIG. 3, 60 is a paging device, 70
is a VSP (virtual storage controller) connected to MEM50, 80 is a processor 30, 30..., CH4
This is a system bus for connecting buses 0, 40, etc., and VSP70. The VSP 70 converts the virtual address sent onto the system bus 80 from the processors 30, 30, . . . , CH 40, 40, . Has a function. As is clear from the above description, in this embodiment, the processor 30,
30..., CH40, 40... virtual address
It does not have an address conversion function to convert VA to real address RA, and this address conversion function is
I am concentrating on VSP70.
プロセツサ30においてメモリリードアクセス
が必要となると、仮想アドレスVAを用いたキヤ
ツシユメモリ31へのアクセスが行なわれる。そ
して、目的情報がキヤツシユメモリ31に存在し
ないキヤツシユミスの場合、或いはメモリライト
アクセスの場合には、プロセツサ30はシステム
バス80上に仮想アドレスVAを送出する。VSP
70はシステムバス80上の仮想アドレスVAを
対応する実アドレスRAに変換し、この実アドレ
スRAを用いてMEM50をアクセスする。そし
てメモリリードであればVSP70はMEM50か
ら目的情報を読み出してプロセツサ30に送出
し、メモリライトであればVSP70はMEM50
に対する情報の書き込みを行なう。これは、CH
40がメモリアクセスを必要とする場合において
も、CH40にキヤツシユメモリが設けられてお
らずキヤツシユアクセスが行なわれない点を除い
てプロセツサ30の場合と同様である。プロセツ
サ30、CH40のいずれかからのメモリライト
アクセスが行なわれる場合、書き込み情報と仮想
アドレスVAを同一とする情報がキヤツシユメモ
リ31に存在すれば、キヤツシユメモリ31内の
該当する情報も更新される。 When a memory read access is required in the processor 30, the cache memory 31 is accessed using the virtual address VA. In the case of a cache miss in which the target information does not exist in the cache memory 31, or in the case of memory write access, the processor 30 sends the virtual address VA onto the system bus 80. VSP
70 converts the virtual address VA on the system bus 80 into a corresponding real address RA, and accesses the MEM 50 using this real address RA. If it is a memory read, the VSP 70 reads the target information from the MEM 50 and sends it to the processor 30, and if it is a memory write, the VSP 70 reads the target information from the MEM 50.
Write information to. This is CH
Even when CH 40 requires memory access, it is similar to the case of processor 30 except that CH 40 is not provided with a cache memory and no cache access is performed. When a memory write access is performed from either the processor 30 or CH 40, if information in which the write information and the virtual address VA are the same exists in the cache memory 31, the corresponding information in the cache memory 31 is also updated. Ru.
第3図のVSP70において、71はシステム
バス80を介して転送される40ビツトの仮想アド
レスVAが置数される仮想アドレスレジスタ(以
下、VARと称する)である。また、72は
MEM50(実記憶装置)上に置かれているST
51の起点アドレス情報が置数されるセグメント
テーブル起点アドレスレジスタ(以下、STORと
称する)である。73はV=Rセグメントの仮想
アドレスVAに対するアドレス変換時に起動され
る第1アドレス変換部(以下、ATAと称する)、
74は第1種通常セグメントの仮想アドレスVA
に対するアドレス変換時に起動される第2アドレ
ス変換部(以下、ATBと称する)である。75,
76はそれぞれ第2種通常セグメント、第3種通
常セグメントの仮想アドレスVAに対するアドレ
ス変換時に起動される第3アドレス変換部(以
下、ATCと称する)、第4アドレス変換部(以
下、ATDと称する)である。77はMEM50に
出力するための実アドレスRAが置数される32ビ
ツトの実アドレスレジスタ(以下、RARと称す
る)、78はVSP70の中心を成す制御部(以
下、CNTと称する)である。CNT78はマイク
ロプログラムメモリ(図示せず)を内蔵してお
り、マイクロプログラム制御によりATA73、
ATB74、ATC75、ATD76などを制御する。
CNT78はVAR71に置数されている仮想アド
レスVA中のセグメント番号SNがSN=0(オー
ル“0”)であるか否かを判断し、SN=0すなわ
ちV=Rセグメントである場合、ATA73を起
動してV=R方式のアドレス変換を行なう。明ら
かなように、V=Rセグメントでは仮想アドレス
VAは実アドレスRAに一致する。本実施例にお
いてV=Rセグメントに該当する仮想アドレス
VAはSN=0のセグメント番号SN(16ビツト)
と、24ビツトのセグメント内相対アドレス(PN
とBNとの連結情報に対応)とから構成されてお
り、このセグメント内相対アドレスが実アドレス
RAを示すことにある。ただし、本実施例で取り
扱われる実アドレスRAは32ビツト構成であるた
め、ATA73はVAR71に置数されている仮想
アドレスVA中の下位32ビツトを実アドレスRA
としてRAR77に出力する。 In the VSP 70 shown in FIG. 3, 71 is a virtual address register (hereinafter referred to as VAR) in which a 40-bit virtual address VA transferred via the system bus 80 is stored. Also, 72 is
ST located on MEM50 (real storage device)
This is a segment table starting point address register (hereinafter referred to as STOR) in which starting point address information No. 51 is set. 73 is a first address conversion unit (hereinafter referred to as AT A ) activated when converting the address for the virtual address VA of the V=R segment;
74 is the virtual address VA of the first type normal segment
This is a second address translation unit (hereinafter referred to as AT B ) that is activated when converting an address for. 75,
Reference numerals 76 denote a third address translation unit (hereinafter referred to as AT C ) and a fourth address translation unit (hereinafter referred to as AT ). 77 is a 32-bit real address register (hereinafter referred to as RAR) in which a real address RA for output to the MEM 50 is set; 78 is a control unit (hereinafter referred to as CNT) forming the center of the VSP 70; CNT78 has a built-in microprogram memory (not shown), and under microprogram control AT A73 ,
Controls AT B 74, AT C 75, AT D 76, etc.
The CNT 78 determines whether the segment number SN in the virtual address VA stored in the VAR 71 is SN = 0 (all "0"), and if SN = 0, that is, V = R segment, AT A 73 to perform V=R method address conversion. As is clear, in the V=R segment, the virtual address
VA matches real address RA. In this example, the virtual address corresponding to the V=R segment
VA is the segment number SN (16 bits) for SN = 0.
and a 24-bit intra-segment relative address (PN
(corresponding to the concatenation information with BN), and the relative address within this segment is the real address.
The purpose is to show RA. However, since the real address RA handled in this embodiment has a 32-bit configuration, the AT A 73 uses the lower 32 bits of the virtual address VA set in the VAR 71 as the real address RA.
Output to RAR77 as
上記したように、V=R方式のアドレス変換の
対象となるV=Rセグメント内仮想アドレスVA
は実アドレスRAに一致し、実質的なアドレス変
換処理を必要としないため、極めて高速にアドレ
ス変換が行なえる。したがつて、V=R方式は実
質的なアドレス変換を行わずに参照する必要があ
るST51などのテーブル類、更には超高速処理
を必要とするプログラムをアクセスするのに適す
る。但し、V=Rセグメント(に対応するMEM
50内の領域)の大きさは限られているため、適
用できるプログラム量などは著しく制限される。 As mentioned above, the virtual address VA in the V=R segment that is the target of address conversion in the V=R method
matches the real address RA and does not require any actual address translation processing, so address translation can be performed extremely quickly. Therefore, the V=R method is suitable for accessing tables such as ST51 that need to be referenced without performing substantial address conversion, and for accessing programs that require ultra-high-speed processing. However, V = R segment (MEM corresponding to
Since the size of the area (area within 50) is limited, the amount of programs that can be applied is significantly limited.
一方、SN≠0すなわちV=Rセグメント以外
のセグメントである場合、CNT78はセグメン
ト番号SNおよびSTOR72の内容に基づいて
MEM50上のST51の対応するエントリを参
照する。ST51の各エントリの内容であるセグ
メント記述子は第5図に示されているように、2
ビツト構成の変換タイプ指定情報(以下、変換タ
イプ番号と称する)T、22ビツト構成のページテ
ーブル起点アドレスPTOなどから構成されてい
る。変換タイプ番号TはT=0、1、2のいずれ
かであり、T=0でリロケーシヨン方式のアドレ
ス変換を、T=1で1レベルページング方式のア
ドレス変換を、T=2で2レベルページング方式
のアドレス変換をそれぞれ指定するようになつて
いる。なお、T=0の場合、ST51の対応する
エントリにはページテーブル起点アドレスPTO
に代えて該当セグメントのMEM50(実記憶装
置)上での先頭位置を実ページ番号で示す起点情
報ORIGIN(最上位ビツトは“0”)が書き込まれ
ている。CNT78はST51を参照した結果、対
応エントリ中の変換タイプ番号TがT=0であれ
ばATB74を起動してリロケーシヨン方式のア
ドレス変換を行なう。同じくCNT78はT=1
であればATC75を起動して1レベルページン
グ方式のアドレス変換を行ない、T=2であれば
ATD76を起動して2レベルページング方式の
アドレス変換を行なう。すなわち、ATB74、
CNT78はリロケーシヨン方式のアドレス変換
機能を有し、ATC75、CNT78は1レベルペ
ージング方式のアドレス変換機能を有し、ATD
76、CNT78は2レベルページング方式のア
ドレス変換機能を有している。 On the other hand, if SN≠0, that is, V=a segment other than the R segment, CNT78 is based on the segment number SN and the contents of STOR72.
Refer to the corresponding entry in ST51 on MEM50. The segment descriptor, which is the content of each entry in ST51, is 2 as shown in Figure 5.
It consists of bit-structured conversion type designation information (hereinafter referred to as conversion type number) T, page table starting point address PTO of 22-bit structure, and so on. The translation type number T is either T=0, 1, or 2, where T=0 indicates relocation method address translation, T=1 indicates 1-level paging method address translation, and T=2 indicates 2-level paging method address translation. It is designed to specify address translation for each address. Note that when T=0, the corresponding entry in ST51 contains the page table starting address PTO.
Instead, origin information ORIGIN (the most significant bit is "0") indicating the starting position of the corresponding segment on the MEM 50 (real storage device) by a real page number is written. As a result of referring to ST51, the CNT 78 activates the AT B 74 to perform relocation type address translation if the translation type number T in the corresponding entry is T=0. Similarly, T=1 for CNT78
If so, start AT C 75 and perform address translation using the 1-level paging method, and if T=2,
AT D 76 is activated to perform two-level paging type address translation. That is, AT B 74,
CNT78 has a relocation type address conversion function, AT C75 and CNT78 have a one-level paging type address conversion function, and AT D
76, CNT78 has a two-level paging type address translation function.
第6図はATB74、CNT78によるアドレス
変換機能を模式的に示す機能構成図であり、10
0は加算器である。VAR71に置数されている
仮想アドレスVA中のセグメント番号SNと
STOR72の内容に基づいてST51の対応する
エントリの内容(セグメント記述子)が読み出さ
れ、当該セグメント記述子中の変換タイプ番号T
がT=0である場合、同じセグメント記述子中の
ORIGIN(下位21ビツト)と、上記仮想アドレス
VA中のページ番号PNとが加算器100に導か
れる。しかして、加算器100によりORIGINと
PNとが加算され、これによりページフレーム番
号PFNが求められる。そして、このページフレ
ーム番号PFNと上記仮想アドレスVA中の変位
BNとの連結情報が実アドレスRAとしてRAR7
7に置数される。これがリロケーシヨン方式のア
ドレス変換である。 FIG. 6 is a functional configuration diagram schematically showing the address conversion function of AT B74 and CNT78.
0 is an adder. Segment number SN in virtual address VA placed in VAR71 and
The contents of the corresponding entry (segment descriptor) in ST51 are read based on the contents of STOR72, and the conversion type number T in the segment descriptor is read out.
is T=0, then in the same segment descriptor
ORIGIN (lower 21 bits) and the above virtual address
The page number PN in VA is directed to an adder 100. Therefore, the adder 100 adds ORIGIN and
PN is added, and the page frame number PFN is obtained. And the displacement in this page frame number PFN and the above virtual address VA
Connection information with BN is RAR7 as real address RA
The number is placed at 7. This is relocation-based address translation.
上記したように、リロケーシヨン方式のアドレ
ス変換では、ページテーブルを参照する必要がな
いため、高速アドレス変換が可能となり、したが
つて高速処理を必要とするプログラムをアクセス
するのに適する。但し、ページング方式でないこ
とから、MEM50に対する領域割り付けのため
にはMEM50上で大きな連続領域が必要となる
ので、適用プログラムはそのサイズが小規模のも
のに限られる。 As described above, in relocation-based address conversion, there is no need to refer to a page table, so high-speed address conversion is possible, and therefore it is suitable for accessing programs that require high-speed processing. However, since it is not a paging method, a large continuous area is required on the MEM 50 in order to allocate an area to the MEM 50, so the applicable programs are limited to those with a small size.
第7図はATC75、CNT78によるアドレス
変換機能を模式的に示す機能構成図であり、20
0は加算器、201は24ビツトのレジスタであ
る。VAR71に置数されている仮想アドレス
VAが前記第2種通常セグメントに対応する場
合、ST51から読み出されるセグメント記述子
中の変換タイプ番号TはT=1となつている。こ
の場合、セグメント記述子中のPTOと、上記仮
想アドレスVA中のPNとが加算器200に導か
れる。しかして加算器200によりPTOとPNと
が加算され、この加算結果(22ビツト)は24ビツ
トのレジスタ201の上位22ビツトの領域に置数
される。このレジスタ201の下位2ビツトには
“00”が置数されており、これにより上記加算結
果が4倍されたことになる。これは、本実施例に
おいてPTC54の各エントリのサイズを4バイト
した(PTA52、PTB53についても同様)こと
による。この場合、PTOはV=Rセグメントに
置かれたPTC54の起点アドレスであり、したが
つてPTOとPNとを加算してその加算結果を4倍
した値、すなわちレジスタ201の内容はPTC5
4における目的のエントリの実アドレスRA0(=
仮想アドレスVA0)を示している。レジスタ2
01で指定されるPTC54のエントリには目的と
するページフレーム番号PFNが書かれており、
このPFNと仮想アドレスVA中のBNとの連結情
報が実アドレスRAとしてRAR77に置数され
る。これが1レベルページング方式のアドレス変
換である。 Figure 7 is a functional configuration diagram schematically showing the address translation function of AT C75 and CNT78.
0 is an adder, and 201 is a 24-bit register. Virtual address placed in VAR71
When VA corresponds to the second type normal segment, the conversion type number T in the segment descriptor read from ST51 is T=1. In this case, the PTO in the segment descriptor and the PN in the virtual address VA are directed to the adder 200. PTO and PN are added by adder 200, and the result of this addition (22 bits) is placed in the upper 22 bits of register 201 of 24 bits. "00" is placed in the lower two bits of this register 201, which means that the above addition result has been multiplied by four. This is because the size of each entry in PTC 54 is 4 bytes in this embodiment (the same applies to PTA 52 and PT B 53). In this case, PTO is the starting address of PTC 54 located in the V=R segment, and therefore the value obtained by adding PTO and PN and multiplying the addition result by 4, that is, the contents of register 201 is PTO 5
The real address of the target entry in 4 is RA 0 (=
virtual address VA 0 ). register 2
The target page frame number PFN is written in the entry of PT C 54 specified by 01,
Concatenation information between this PFN and the BN in the virtual address VA is placed in the RAR 77 as the real address RA. This is address translation using the one-level paging method.
第8図はATD76、CNT78によるアドレス
変換機能を模式的に示す機能構成図であり、30
0,301はそれぞれ24ビツト、32ビツトのレジ
スタである。VAR71に置数されている仮想ア
ドレスVAが前記第3種通常セグメントの場合、
ST51から読み出されるセグメント記述子中の
変換タイプ番号TはT=2となつている。この場
合、セグメント記述子中のPTO(22ビツト)はそ
の上位18ビツトだけが意味があり(下位4ビツト
は例えばオール“0”)、PTB53のV=Rセグメ
ント上での起点アドレスを64バイト単位で指定す
る。このPTOの上位18ビツトは24ビツトのレジ
スタ300の上位18ビツトの領域に置数される。
このレジスタ300の後続する4ビツトの領域に
は仮想アドレスVA中のPN(13ビツト)の上位4
ビツト(これをHPNと称する)が置数される。
レジスタ300の下位2ビツトには“00”が置数
されており、このレジスタ300の内容すなわち
PTO、HPN、“00”の連結情報がPTB53にお
ける目的のエントリの実アドレスRA0(=仮想ア
ドレスVA0)となる。レジスタ300で指定さ
れるPTB53のエントリには、目的セグメント
(第3種通常セグメント2i)に対するページテー
ブル(PTA52)が置かれているページのページ
フレーム番号PFN1(21ビツト)が書かれてお
り、このPFN1と仮想アドレスVA中のPN(13ビ
ツト)の下位9ビツト(これをLPNと称する)
との連結情報(30ビツト)が32ビツトのレジスタ
301の上位30ビツトの領域に置数される。この
レジスタ301の下位2ビツトには“00”が置数
されており、このレジスタ301の内容すなわち
PFN1、LPN、“00”の連結情報がPTA52にお
ける目的エントリの実アドレスRA1となる。レジ
スタ301で指定されるPTA52のエントリには
目的とするページフレーム番号PFN2が書かれ
ており、このPFN2と仮想アドレスVA中のBN
との連結情報が実アドレスRAとしてRAR77に
置数される。これが2レベルページング方式のア
ドレス変換である。 FIG. 8 is a functional configuration diagram schematically showing the address conversion function of AT D 76 and CNT 78.
0 and 301 are 24-bit and 32-bit registers, respectively. If the virtual address VA set in VAR71 is the third type normal segment,
The conversion type number T in the segment descriptor read from ST51 is T=2. In this case, only the upper 18 bits of PTO (22 bits) in the segment descriptor are meaningful (the lower 4 bits are all "0", for example), and the starting address on the V=R segment of PTB 53 is 64 Specify in bytes. The upper 18 bits of this PTO are placed in the upper 18 bit area of the 24-bit register 300.
The following 4-bit area of this register 300 contains the upper 4 bits of PN (13 bits) in the virtual address VA.
A bit (this is called HPN) is set.
“00” is set in the lower two bits of register 300, and the contents of this register 300, that is,
The concatenated information of PTO, HPN, and “00” becomes the real address RA 0 (=virtual address VA 0 ) of the target entry in PT B 53. The page frame number PFN1 (21 bits) of the page where the page table (PT A 52) for the target segment (type 3 normal segment 2i) is placed is written in the entry of PT B 53 specified by the register 300. This PFN1 and the lower 9 bits of the PN (13 bits) in the virtual address VA (this is called LPN)
Concatenation information (30 bits) is placed in the upper 30 bits of the 32-bit register 301. “00” is set in the lower two bits of this register 301, and the contents of this register 301 are
The concatenated information of PFN1, LPN, and "00" becomes the real address RA1 of the target entry in PTA 52. The target page frame number PFN2 is written in the entry of PT A 52 specified by the register 301, and this PFN2 and the BN in the virtual address VA
The connection information with the real address RA is placed in the RAR 77. This is the two-level paging method address translation.
本実施例において、1セグメントを構成するペ
ージ数は、ページフレーム番号PNが13ビツト構
成であることから213ページである。したがつて
1セグメントに対するページテーブルのエントリ
数は213であり、1エントリに4バイト(4アド
レス分)を充てている本実施例では1セグメント
に対するページテーブルのサイズは215(バイト)
となる。このため、このようなページテーブルを
(当該ページテーブルにも仮想アドレスが割り付
けられるように)V=Rセグメント内に置く本実
施例の1レベルページング方式では、V=Rセグ
メントが圧迫されてしまい、実記憶装置(MEM
50)の容量を大きくすると共にセグメントサイ
ズを大きくしないと(この場合、同一仮想アドレ
ス空間のもとでは、セグメント数を小なくするこ
とになる)多数のセグメントすなわち大規模な仮
想アドレス空間をサポートすることが困難とな
る。但し、1レベルページング方式では、ページ
テーブルの参照回数が1回で済むために比較的高
速なアドレス変換が可能となり、高速処理が要求
される中規模プログラムに適する。また、リロケ
ーシヨン方式は上述の問題は無いものの、動的再
配置の融通性が少ないため、実記憶装置(MEM
50)の効率的運用が図り難い欠点がある。 In this embodiment, the number of pages constituting one segment is 213 pages because the page frame number PN has a 13-bit configuration. Therefore, the number of entries in the page table for one segment is 2 13 , and in this embodiment where 4 bytes (for 4 addresses) are allocated to 1 entry, the size of the page table for 1 segment is 2 15 (bytes).
becomes. For this reason, in the one-level paging method of this embodiment in which such a page table is placed within the V=R segment (so that the page table is also assigned a virtual address), the V=R segment is compressed. Real storage device (MEM)
50) and the segment size (in this case, under the same virtual address space, the number of segments will be smaller) to support a large number of segments, that is, a large virtual address space. This becomes difficult. However, the one-level paging method allows relatively high-speed address conversion because the page table is referenced only once, and is suitable for medium-sized programs that require high-speed processing. In addition, although the relocation method does not have the above-mentioned problems, it has less flexibility in dynamic relocation, so
50) has the disadvantage that it is difficult to operate it efficiently.
これに対し2レベルページング方式では、以下
に示すように大規模な仮想アドレス空間をサポー
トすることが可能となる。本実施例では(第3種
通常)セグメント2iのページテーブル(PTA5
2)を(ページテーブル)セグメント2i+1に置
き、このセグメント2i+1に置かれるページテー
ブル(PTB53)をV=Rセグメント置き、これ
らのページテーブルに仮想アドレスを割り付けな
がら2レベルページング方式を可能としている。
上記セグメント2i+1に置かれる、サイズが215
(バイト)のページテーブル(PTA52)の占め
るページ数は1ページのサイズが211(バイト)で
あることから215/211=24ページである。これは、
セグメント2i+1に置かれるページテーブル
(PTA52)に対するページテーブル(PTB53)
に必要なエントリ数が24であることを示すもので
ある。このため、1エントリに4バイトを充てて
いる本実施例では上記ページテーブル(PTB5
3)のサイズは26(バイト)となる。このページ
テーブル(PTB53)はV=Rセグメント内に置
かれているが、そのサイズが上述のように26(バ
イト)、すなわち1レベルページング方式で適用
されるページテーブル(PTC54)の26/215=
1/211であるため、V=Rセグメントを圧迫す
ることなく極めて多数のセグメントに対し、2レ
ベルページング方式を適用することができる。但
し、2レベルページング方式では2種のページテ
ーブル(PTA52、PTB53)を参照する必要
があるため、1レベルページングに比べて高速ア
ドレス変換が困難であり、したがつてそれほど高
速処理を必要としない大規模プログラム等に適す
る。 In contrast, the two-level paging method can support a large-scale virtual address space as shown below. In this embodiment, the page table (PT A 5) of segment 2i (type 3 normal)
2) is placed in (page table) segment 2i+1, the page table (PT B 53) placed in this segment 2i+1 is placed in the V=R segment, and a two-level paging method is enabled by assigning virtual addresses to these page tables. .
Placed in segment 2i+1 above, size 2 15
Since the size of one page is 2 11 (bytes), the number of pages occupied by the (byte) page table (PT A 52) is 2 15 /2 11 = 2 4 pages. this is,
Page table (PT B 53) for page table (PT A 52) placed in segment 2i+1
This shows that the number of entries required is 24 . Therefore, in this embodiment where 4 bytes are allocated to one entry, the above page table (PT B 5
The size of 3) is 2 6 (bytes). This page table (PT B 53) is placed in the V=R segment, but its size is 2 6 (bytes) as described above, that is, the page table (PT C 54) applied in the one-level paging method. 2 6 / 2 15 =
Since 1/2 11 , the two-level paging method can be applied to a very large number of segments without compressing the V=R segment. However, in the two-level paging method, it is necessary to refer to two types of page tables (PTA52, PTB53), so high-speed address translation is difficult compared to one-level paging. Suitable for large-scale programs, etc.
ところで2レベルページング方式で、V=Rセ
グメント内に置かれるページテーブル(PTB5
3)を参照するための24ビツトの実アドレスRA0
(=仮想アドレスVA0)中のHPN(4ビツト)は
明らかなようにページテーブル(PTB53)の24
個のエントリの一つを示すものである。したがつ
て、当該エントリの内容であるページフレーム番
号PFN1(21ビツト)は1ページテーブル当り
24種類あり、それぞれ下位4ビツトが異なつてい
る。一方、セグメント2i+1に置かれるセグメン
ト2iのページテーブル(PTA52)のサイズは
215すなわちエントリ数は213個であり、32ビツト
の実アドレスRA1中のPFN1の下位4ビツトと
LPN(9ビツト)との連結情報(13ビツト)によ
つてこれら213個のエントリの一つが示される。
本実施例において、(第3種通常)セグメント2i
中の任意の仮想アドレスVAが第8図に示されて
いるようにSN(16ビツト)、HPN(4ビツト)、
LPN(9ビツト)およびBN(11ビツト)で構成さ
れている場合、(ページテーブル)セグメント2i
+1に置かれているセグメント2iのページテーブ
ル(PTA52)の上記仮想アドレスVAに対応す
るエントリの先頭位置を示す仮想アドレスVA1
の変位BN(11ビツト)は、第8図のレジスタ3
01の内容(上記対応するエントリの先頭位置を
示す実アドレスRA1)から明らかなように上記
LPN(9ビツト)と“00”との連結情報である。
一方、上記仮想アドレスVA1のページ番号PN
は、第8図のレジスタ300の内容(セグメント
2i+1に置かれているセグメント2iのページテー
ブルの更にページテーブル、すなわちPTA52の
対応するエントリの先頭位置を示す実アドレス
RA0)から明らかなように上記仮想アドレスVA
中のHPNである。PNは13ビツト、HPNは4ビ
ツトであり、したがつて仮想アドレスVA1のペ
ージ番号PNは9ビツトのオール“0”情報(上
位ビツト)と4ビツトのHPN(下位ビツト)との
連結情報である。第9図はこの仮想アドレスVA
と仮想アドレスVA1との関係を示したものであ
る。以上の説明から容易に理解できるように本実
施例によれば全てのページテーブル(PTA52、
PTB53、PTC54)の各エントリに対して1対
1対応で仮想アドレスVAを割り付けることがで
きる。したがつて、各プロセツサ30,30……
において仮想アドレスVAを用いたキヤツシユア
クセスが行なえる。これにより、プロセツサ3
0,30……がCH40,40……に仮想アドレ
スVAを実アドレスRAに変換する機能を持たせ
ず、このアドレス変換機能をVSP70に集中さ
せるようにした仮想記憶システムは有効に機能し
得る。 By the way, in the two-level paging method, the page table (PT B 5
3) 24-bit real address RA 0 to reference
As is clear, the HPN (4 bits) in the virtual address VA 0 is 2 4 of the page table (PT B 53).
This indicates one of the entries. Therefore, the page frame number PFN1 (21 bits), which is the content of the entry, is per page table.
2 There are 4 types, each with a different lower 4 bits. On the other hand, the size of the page table (PT A 52) of segment 2i placed in segment 2i+1 is
215 , that is, the number of entries is 213 , and the lower 4 bits of PFN1 in the 32-bit real address RA1 and
One of these 213 entries is indicated by the link information (13 bits) with the LPN (9 bits).
In this example, (3rd type normal) segment 2i
As shown in Figure 8, any virtual address VA in the SN (16 bits), HPN (4 bits),
If it consists of LPN (9 bits) and BN (11 bits), (page table) segment 2i
Virtual address VA 1 indicating the start position of the entry corresponding to the above virtual address VA in the page table (PT A 52) of segment 2i located at +1
The displacement BN (11 bits) is the register 3 in Figure 8.
As is clear from the contents of 01 (real address RA 1 indicating the start position of the corresponding entry above), the above
This is concatenation information between LPN (9 bits) and “00”.
Meanwhile, the page number PN of the above virtual address VA 1
is the contents of register 300 (segment
The actual address indicating the start position of the corresponding entry in the page table of segment 2i located at 2i+1, that is, PT A 52.
RA 0 ) as evident from the above virtual address VA
This is the middle HPN. PN is 13 bits and HPN is 4 bits, so the page number PN of virtual address VA 1 is the concatenated information of 9 bits of all “0” information (upper bits) and 4 bits of HPN (lower bits). be. Figure 9 shows this virtual address VA
This shows the relationship between the virtual address VA1 and the virtual address VA1 . As can be easily understood from the above explanation, according to this embodiment, all page tables (PT A 52,
A virtual address VA can be assigned to each entry in PT B 53, PT C 54) in a one-to-one correspondence. Therefore, each processor 30, 30...
Cache access using virtual address VA can be performed at . This allows processor 3
A virtual memory system in which CHs 40, 40, . . . 0, 30, .
次に、(ページテーブル)セグメント2i+1内
の仮想アドレスVA1を実アドレスRA1に変換する
場合について説明する。この場合には、CNT7
8によつてATD76が起動され、(第3種通常)
セグメント2i内の仮想アドレスVAを実アドレス
RAに変換するときと一部類似した動作が行なわ
れる。第10図はATD76、CNT78による上
記仮想アドレスVA1に対するアドレス変換機能
を模式的に示す機能構成図であり、400は減算
器である。本実施例では、ST51のセグメント
テーブルエントリは偶数番号のセグメントに対し
てのみ存在しているため、奇数番号のセグメント
(ページテーブルセグメント)2i+1内の仮想ア
ドレスVA1をアドレス変換する場合、減算器4
00により仮想アドレスVA1中のセグメント番
号SNを−1して2iというセグメント番号に対す
る(ST51の)セグメントテーブルエントリを
用いるようにしている。ST51から読み出され
るセグメント記述子中のPTOの上位18ビツトは
第8図の場合と同様に24ビツトのレジスタ300
の上位18ビツトの領域に置数される。このレジス
タ300の後続する4ビツトの領域には仮想アド
レスVA1中のPNの下位4ビツト(第9図の
HPNに対応)が置数される。レジスタ300の
下位2ビツトには“00”が置数されており、この
レジスタ300の内容がPTB53における目的エ
ントリの実アドレスRA0(=仮想アドレスVA0)
となる。レジスタ300で指定されているPTB5
3のエントリには、目的とするページフレーム番
号PFN1が書かれており、このPFN1と仮想ア
ドレスVA1中のBN(第9図のLPNと“00”との
連結情報に対応)との連結情報が実アドレスRA1
としてRAR77に置数される。このアドレス変
換は、PTA52を更新する場合などに必要とな
る。 Next, a case will be described in which the virtual address VA 1 in the (page table) segment 2i+1 is converted to the real address RA 1 . In this case, CNT7
AT D 76 is activated by 8 (3rd type normal)
Convert virtual address VA in segment 2i to real address
Some operations similar to those performed when converting to RA are performed. FIG. 10 is a functional configuration diagram schematically showing the address translation function for the virtual address VA 1 by the AT D 76 and CNT 78, and 400 is a subtracter. In this embodiment, the segment table entry of ST51 exists only for even-numbered segments, so when converting the virtual address VA 1 in odd-numbered segment (page table segment) 2i+1, the subtracter 4
00, the segment number SN in the virtual address VA 1 is decremented by 1 to use the segment table entry (in ST51) for the segment number 2i. The upper 18 bits of PTO in the segment descriptor read from ST51 are stored in the 24-bit register 300 as in the case of FIG.
It is placed in the upper 18 bit area of The subsequent 4-bit area of this register 300 contains the lower 4 bits of PN in virtual address VA 1 (see FIG. 9).
(corresponding to HPN) is set. “00” is set in the lower two bits of register 300, and the contents of this register 300 are the real address RA 0 (=virtual address VA 0 ) of the target entry in PT B 53.
becomes. PT B 5 specified in register 300
In entry 3, the target page frame number PFN1 is written, and the connection information between this PFN1 and the BN in the virtual address VA 1 (corresponding to the connection information between LPN and "00" in Figure 9). is the real address RA 1
It is placed in RAR77 as . This address translation is required when updating the PTA 52, for example.
ここまでの説明では、目的とするページが全て
実記憶装置(MEM50)に存在するものとした
が、もし実記憶装置に存在しない場合にはページ
フオールト例外が発生し、次の動作が行なわれ
る。すなわち、VSP70により、MEM50とペ
ージング装置60との間でページアウト或いはペ
ージインが行なわれる。そして、メモリ参照を要
求したプロセツサ30はその間、現在実行中のタ
スクを持たせ、別のタスクを実行する。 In the explanation so far, it is assumed that all the target pages exist in the real storage device (MEM50), but if they do not exist in the real storage device, a page fault exception occurs and the following operation is performed. . That is, the VSP 70 performs page-out or page-in between the MEM 50 and the paging device 60. During this time, the processor 30 that requested the memory reference retains the currently executing task and executes another task.
なお、前記実施例では、VSP70内にATA7
3、ATB74、ATC75、ATD76が設けられ
ているものとして説明したが、第6図乃至第8
図、並びに第10図の機能構成図から理解できる
ように、加算器100,200やレジスタ20
1,300などを有する共通のハード機構部と
し、CNT78がセグメントの性質に応じてハー
ド機構部を制御すると共にST51、PTA52、
PTB53、PTC54の参照等を行なうことによ
り、前述した4種のアドレス変換を行なうように
してもよい。また、前記実施例では、偶数セグメ
ント番号のセグメントを通常セグメント、奇数セ
グメント番号のセグメントをページテーブルセグ
メントとした場合について説明したが、これらの
分れ方については前記実施例に限定されるもので
はない。更に前記実施例では、V=R方式のアド
レス変換であるか否かを仮想アドレスVA中のセ
グメント番号によつて判断するものとして説明し
たが、他のアドレス変換方式と同様にセグメント
記述子中の変換タイプ番号TでV=R方式を指定
するようにしてもよい。この場合には、V=Rセ
グメント内の仮想アドレスであつても、ST51
(セグメントテーブル)が参照されることになる。 In addition, in the above embodiment, AT A 7 is included in the VSP 70.
3, AT B 74, AT C 75, and AT D 76 have been described, but FIGS. 6 to 8
As can be understood from the diagram and the functional configuration diagram of FIG.
1,300, etc., and CNT78 controls the hard mechanism according to the properties of the segment, and ST51, PT A52 ,
By referring to PT B 53, PT C 54, etc., the above four types of address translation may be performed. Furthermore, in the embodiment described above, a case has been described in which segments with even segment numbers are used as normal segments and segments with odd segment numbers are used as page table segments, but the way they are divided is not limited to the above embodiment. . Furthermore, in the above embodiment, it was explained that whether or not the address conversion is based on the V=R method is determined based on the segment number in the virtual address VA, but as with other address conversion methods, the segment number in the segment descriptor is The conversion type number T may specify the V=R method. In this case, even if the virtual address is in the V=R segment, ST51
(segment table) will be referenced.
以上詳述したように本発明のアドレス変換方式
によれば、仮想アドレスを実アドレスに変換する
機能をメモリ制御装置側に持たせている仮想記憶
システムの実現が図れ、しかも大規模な仮想記憶
空間をサポートすることができる。
As detailed above, according to the address conversion method of the present invention, it is possible to realize a virtual memory system in which the memory control device has the function of converting virtual addresses to real addresses, and moreover, it is possible to realize a virtual memory system that has a large-scale virtual memory space. can be supported.
また本発明によれば、セグメントの用途に対応
した性質(セグメント種類)に応じて最適なアド
レス変換が行なえる。 Further, according to the present invention, optimal address translation can be performed according to the characteristics (segment type) corresponding to the purpose of the segment.
第1図および第2図は従来例を示すシステム構
成図、第3図は本発明の一実施例を示すブロツク
図、第4図は仮想アドレスのフオーマツトを示す
図、第5図はセグメント記述子のフオーマツトを
示す図、第6図乃至第8図はそれぞれリロケーシ
ヨン方式、1レベルページング方式、2レベルペ
ージング方式のアドレス変換機能を模式的に示す
機能構成図、第9図は第3種通常セグメント内仮
想アドレスと当該仮想アドレスに対応したページ
テーブルセグメント内仮想アドレスとの関係を示
す図、第10図は上記ページテーブルセグメント
内仮想アドレスを実アドレスに変換するアドレス
変換機能を模式的に示す機能構成図、第11図は
仮想記憶装置を構成する各種セグメントを説明す
ると共に同装置並びにメモリ装置(実記憶装置)
に置かれる各種テーブル類の位置関係を説明する
ための図である。
11,11…,30,30……プロセツサ、1
3,50……メモリ装置(MEM)、14,80
……システムバス、21,70……仮想記憶制御
装置(VSP)、22,22…,31,31……キ
ヤツシユメモリ、51……セグメントテーブル
(ST)、52……第1ページテーブル(PTA)、5
3……第2ページテーブル(PTB)、53……第
3ページテーブル(PTC)、73……第1アドレ
ス変換部(ATA)、74……第2アドレス変換部
(ATB)、75……第3アドレス変換部(ATC)、
76……第4アドレス変換部(ATD)、78……
制御部(CNT)。
Fig. 1 and Fig. 2 are system configuration diagrams showing a conventional example, Fig. 3 is a block diagram showing an embodiment of the present invention, Fig. 4 is a diagram showing a virtual address format, and Fig. 5 is a segment descriptor. Figures 6 to 8 are functional configuration diagrams schematically showing the address conversion functions of the relocation method, 1-level paging method, and 2-level paging method, respectively. A diagram showing the relationship between a virtual address and a virtual address in a page table segment corresponding to the virtual address, and FIG. 10 is a functional configuration diagram schematically showing an address conversion function that converts the virtual address in the page table segment to a real address. , FIG. 11 explains the various segments that make up the virtual storage device, as well as the virtual storage device and the memory device (real storage device).
FIG. 3 is a diagram for explaining the positional relationship of various tables placed in the . 11, 11..., 30, 30... processor, 1
3,50...Memory device (MEM), 14,80
...System bus, 21,70...Virtual storage controller (VSP), 22,22...,31,31...Cache memory, 51...Segment table (ST), 52...First page table (PT) A ), 5
3...Second page table ( PTB ), 53...Third page table ( PTC ), 73...First address translation unit ( ATA ), 74...Second address translation unit ( ATB ), 75...Third address translation unit (AT C ),
76...Fourth address translation unit ( ATD ), 78...
Control unit (CNT).
Claims (1)
を有する仮想アドレスを実アドレスに変換する機
能をメモリ制御装置側に持たせている仮想記憶シ
ステムにおいて、仮想アドレスが実アドレスに一
致するV=Rセグメント、通常セグメント、およ
びそれ自身が当該通常セグメントに対する第1ペ
ージテーブルとして使用されるページテーブルセ
グメントの3種のセグメントから成る仮想記憶装
置と、上記ページテーブルセグメントに対するペ
ージテーブルであつて上記V=Rセグメント内に
置かれる第2ページテーブルと、1レベルページ
ング方式が適用される上記通常セグメントに対す
るページテーブルであつて上記V=Rセグメント
内に置かれる第3ページテーブルと、上記V=R
セグメント内に置かれるセグメントテーブルと、
上記仮想アドレスの所定フイールドをそのまま実
アドレスとして出力するV=R方式の第1アドレ
ス変換手段と、セグメント全体が連続した状態で
実記憶装置上にマツピングされるリロケーシヨン
方式のアドレス変換手段であつて、上記仮想アド
レス中のセグメント番号に基づく上記セグメント
テーブルの参照結果と上記仮想アドレス中のペー
ジ番号並びに変位情報とにより実アドレスを得る
第2アドレス変換手段と、上記仮想アドレス中の
セグメント番号に基づく上記セグメントテーブル
の参照結果と上記仮想アドレス中のページ番号と
に基づいて上記第3ページテーブルを参照し、こ
の第3ページテーブルの参照結果と上記仮想アド
レス中の変位情報とにより実アドレスを得る1レ
ベルページング方式の第3アドレス変換手段と、
上記仮想アドレス中のセグメント番号に基づく上
記セグメントテーブルの参照結果と上記仮想アド
レス中のページ番号の上位ビツトとに基づいて上
記第2ページテーブルを参照し、この第2ページ
テーブルの参照結果と上記仮想アドレス中のペー
ジ番号の下位ビツトとに基づいて上記第1テーブ
ルを参照し、この第1ページテーブルの参照結果
と上記仮想アドレス中の変位情報とにより実アド
レスを得る2レベルページング方式の第4アドレ
ス変換手段と、セグメントの性質に応じて上記第
1乃至第4アドレス変換手段の一つを選択する制
御手段とを具備することを特徴とするアドレス変
換方式。 2 上記セグメントテーブルの各エントリ中にア
ドレス変換方式を指定するための変換タイプ指定
フイールドが設けられていることを特徴とする特
許請求の範囲第1項記載のアドレス変換方式。 3 上記変換タイプ指定フイールドには上記リロ
ケーシヨン方式、1レベルページング方式、また
は2レベルページング方式のいずれか一つを指定
する変換タイプ指定情報が設定されることを特徴
とする特許請求の範囲第2項記載のアドレス変換
方式。 4 上記制御手段は上記仮想アドレス中のセグメ
ント番号によつて対応するセグメントが上記V=
Rセグメントであるか否かを判断し、V=Rセグ
メントである場合に上記第1アドレス変換手段を
選択し、V=Rセグメントでない場合に上記セグ
メント番号に基づいて上記セグメントテーブルを
参照し、当該セグメントテーブルの対応するエン
トリ中の上記変換指定フイールドの内容に応じて
上記第2、第3、または第4変換手段の一つを選
択することを特徴とする特許請求の範囲第3項記
載のアドレス変換方式。[Scope of Claims] 1. In a virtual memory system in which a memory control device has a function of converting a virtual address having a segment number, page number, and displacement information into a real address, a V in which a virtual address matches a real address is provided. = a virtual storage device consisting of three types of segments: an R segment, a normal segment, and a page table segment that itself is used as the first page table for the normal segment, and a page table for the page table segment, which is the V a second page table placed in the =R segment; a third page table for the normal segment to which the 1-level paging method is applied and placed in the V=R segment; and a third page table placed in the V=R segment.
A segment table placed within the segment,
A V=R type first address conversion means that outputs a predetermined field of the virtual address as it is as a real address, and a relocation type address conversion means in which the entire segment is mapped onto the real storage device in a continuous state, a second address conversion means for obtaining a real address based on the segment table reference result based on the segment number in the virtual address and the page number and displacement information in the virtual address; One-level paging that refers to the third page table based on the table reference result and the page number in the virtual address, and obtains a real address based on the third page table reference result and displacement information in the virtual address. a third address translation means of the method;
The second page table is referenced based on the segment table reference result based on the segment number in the virtual address and the upper bits of the page number in the virtual address, and the second page table reference result and the virtual A fourth address in a two-level paging system in which the first table is referenced based on the lower bits of the page number in the address, and the real address is obtained from the reference result of the first page table and the displacement information in the virtual address. An address translation method comprising: a translation means; and a control means for selecting one of the first to fourth address translation means according to the characteristics of a segment. 2. The address translation method according to claim 1, wherein a translation type designation field for specifying an address translation method is provided in each entry of the segment table. 3. Conversion type designation information specifying any one of the relocation method, one-level paging method, or two-level paging method is set in the conversion type designation field. Address translation method described. 4 The control means determines whether the corresponding segment is V= by the segment number in the virtual address.
It is determined whether or not it is an R segment, and if V=R segment, the first address conversion means is selected, and if V=R segment, the segment table is referred to based on the segment number, and the corresponding The address according to claim 3, wherein one of the second, third, or fourth conversion means is selected depending on the content of the conversion specification field in the corresponding entry of the segment table. Conversion method.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57088571A JPS58205973A (en) | 1982-05-25 | 1982-05-25 | Address conversion system |
| US06/495,615 US4654777A (en) | 1982-05-25 | 1983-05-18 | Segmented one and two level paging address translation system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP57088571A JPS58205973A (en) | 1982-05-25 | 1982-05-25 | Address conversion system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS58205973A JPS58205973A (en) | 1983-12-01 |
| JPS6349806B2 true JPS6349806B2 (en) | 1988-10-05 |
Family
ID=13946548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP57088571A Granted JPS58205973A (en) | 1982-05-25 | 1982-05-25 | Address conversion system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS58205973A (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0793220A (en) * | 1993-09-20 | 1995-04-07 | Agency Of Ind Science & Technol | Virtual memory managing system |
-
1982
- 1982-05-25 JP JP57088571A patent/JPS58205973A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS58205973A (en) | 1983-12-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4654777A (en) | Segmented one and two level paging address translation system | |
| US5864876A (en) | DMA device with local page table | |
| US3761881A (en) | Translation storage scheme for virtual memory system | |
| JP2625385B2 (en) | Multiprocessor system | |
| JPH1091525A (en) | Translation lookaside buffer and memory management system | |
| JPH1083352A (en) | Address conversion control circuit and address conversion method | |
| JP3439167B2 (en) | Method and apparatus for addressing the contents of main memory including a directory structure in a computer system | |
| US5132927A (en) | System for cache space allocation using selective addressing | |
| JPH0312339B2 (en) | ||
| US5991848A (en) | Computing system accessible to a split line on border of two pages within one cycle | |
| JP2768503B2 (en) | Virtual memory address space access control method | |
| US4654791A (en) | Input/output paging mechanism in a data processor | |
| JPS6349806B2 (en) | ||
| JPS6349807B2 (en) | ||
| JPS63244152A (en) | Access control system for extended memory device | |
| US20060085569A1 (en) | Method for minimizing the translation overhead for large I/O transfers | |
| JPS6149703B2 (en) | ||
| JPS6015971B2 (en) | buffer storage device | |
| JPS5858752B2 (en) | address translation device | |
| JPH1091527A (en) | Storage device and recording medium | |
| JPH07152710A (en) | Multi-processor system | |
| JPS5821352B2 (en) | Buffer memory control method | |
| JPS63186347A (en) | Memory device | |
| JPH07152653A (en) | Data processing device | |
| JPS608971A (en) | Central processing unit |