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
Application number
JP57088571A
Other languages
English (en)
Other versions
JPS58205973A (ja
Inventor
Hiroshi Nakamura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Priority to JP57088571A priority Critical patent/JPS58205973A/ja
Priority to US06/495,615 priority patent/US4654777A/en
Publication of JPS58205973A publication Critical patent/JPS58205973A/ja
Publication of JPS6349806B2 publication Critical patent/JPS6349806B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明はセグメント番号、ページ番号および変
位情報を有する仮想アドレスを実アドレスに変換
するアドレス変換方式に関する。
〔発明の技術的背景とその問題点〕
一般に仮想記憶システムは第1図に示されるよ
うに構成されていた。このようなシステムではプ
ロセツサ11,11……や入出力チヤネル(以
下、CHと称する)12,12……などがメモリ
装置(以下、MEMと称する)13をアクセスす
るためにシステムバス14上に送出されるアドレ
スは実アドレスであつた。したがつて、仮想記憶
実現のために仮想アドレスを実アドレスに変換す
るアドレス変換処理はプロセツサ11,11…
…、CH12,12……でそれぞれ行なわれてい
た。このため、第1図のシステムでは各プロセツ
サ、各CHにそれぞれアドレス変換機能を持たせ
なくてはならず、コスト高となる欠点があつた。
そこで、第1図のシステムの欠点を解消するた
めに、第2図に示されるように仮想記憶制御装置
(以下、VSPと称する)21を備えた仮想記憶シ
ステムが考えられている。このシステムでは、
VSP21にアドレス変換機能を持たせ、VSP2
1においてプロセツサ11,11……やCH1
2,12……に代えて仮想アドレスを実アドレス
に変換するようになつている。このため、第2図
のシステムでは、プロセツサ11,11……や
CH12,12……にアドレス変換機能を持たせ
る必要がなく、コストの低減を図ることができ
る。なお、22,22……はプロセツサ11,1
1……側に設けられたキヤツシユメモリ、23は
VSP21によつて管理されるページング装置で
ある。
このような第2図のシステムでは、プロセツサ
11,11……やCH12,12……が取り扱う
アドレスは仮想アドレスだけであり、プロセツサ
11,11……やCH12,12……からシステ
ムバス14上に送出されるアドレスは第1図のシ
ステムと異なつて仮想アドレスとなつている。し
たがつてプロセツサ11がキヤツシユメモリ22
をアクセス(キヤツシユアクセス)する場合に
も、仮想アドレスを用いる必要がある。しかし、
従来、MEM13上のすべての情報(全ての実ア
ドレス位置)に1対1対応で仮想アドレスが割り
付けられているわけではないため、このような情
報を仮想アドレスを用いてキヤツシユメモリ22
にエントリしたり、キヤツシユメモリ22から読
み出したりすることは極めて困難であつた。例え
ば、ページテーブルはMEM13すなわち実記憶
装置上だけに置かれており、したがつてページテ
ーブルには仮想アドレスが割り付けられておらず
(すなわち仮想記憶装置側からはページテーブル
が見えず)、ページテーブルエントリを仮想アド
レスによつてキヤツシユアクセスすることは不可
能であつた。このため第2図のシステムは実現性
に乏しかつた。
〔発明の目的〕
本発明は上記事情に鑑みてなされたものでその
目的は、仮想アドレスを実アドレスに変換する機
能をメモリ制御装置側に持たせている仮想記憶シ
ステムが実現できるアドレス変換方式を提供する
ことにある。
本発明の他の目的は、大規模な仮想記憶空間を
サポートできるアドレス変換方式を提供すること
にある。
本発明の更に他の目的はセグメントの用途に対
応した性質、更に具体的に述べるならば規模は小
さくても超高速処理を必要とするプログラム等の
配置に用いられるセグメントか、高速処理は必要
ないが大規模なプログラム等の配置に用いられる
セグメントかなどセグメントの種類に応じたアド
レス変換が行なえるアドレス変換方式を提供する
ことにある。
〔発明の概要〕
本発明はメモリ制御装置側に仮想アドレスを実
アドレスに変換する機能を持たせることによつて
プロセツサや入出力チヤネルなどにアドレス変換
機能を持たせることが不要となるシステムが実現
できるように、ページテーブルなど実記憶上のす
べての情報に仮想アドレスを割り付けるようにし
たものである。そこで本発明では、セグメントテ
ーブルをV=Rセグメントに置くと共に、通常の
セグメントに対するページテーブルを独立した別
のセグメント(ページテーブルセグメント)に置
き、このページテーブルセグメントのページテー
ブルをV=Rセグメントに置き、この2種のペー
ジテーブルを用いて仮想アドレスを実アドレスに
変換する2レベルページング方式のアドレス変換
を行なうようにしている。こうすることにより、
上記2種のページテーブル(の各エントリ)に対
しすべて仮想アドレスを1対1対応で割り付けら
れ、しかも収容数に制限のあるV=Rセグメント
に置かれるページテーブルのサイズは小さくて済
む。
更に本発明は、セグメントの用途に対応した性
質(セグメント種類)によつて効率の良いアドレ
ス変換が行なえるように、上述の2レベルページ
ング方式のほかに、仮想アドレスのセグメント番
号がV=Rセグメントに一致する場合には、仮想
アドレス中の変位をそのまま実アドレスとして出
力するV=R方式のアドレス変換、セグメント全
体が連続した状態で実記憶上にマツピングされる
リロケーシヨン方式のアドレス変換、更には1レ
ベルページング方式のアドレス変換のための性能
をメモリ制御装置側に持たせ、セグメントの用途
に対応した性質(セグメント種類)によつて選択
できるようにしている。また、上記1レベルペー
ジング方式で使用されるページテーブルをV=R
セグメントに置き、このページテーブル(の各エ
ントリ)に対しても仮想アドレスを1対1対応で
割り付けられるようにしている。
〔発明の実施例〕
以下、本発明の一実施例を図面を参照して説明
する。第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などのテーブル類を見ることが可能とな
ることを示す。
仮想記憶装置90内の任意アドレス位置を示す
仮想アドレスVAは、第4図に示されているよう
にセグメント番号SN(16ビツト)、ページ番号
PN(13ビツト)、および変位BN(11ビツト)から
構成されている。周知のようにセグメント番号
SNが0の仮想アドレスVAは実アドレス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が与えられる。
第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に集中させている。
プロセツサ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内の
該当する情報も更新される。
第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に出力する。
上記したように、V=R方式のアドレス変換の
対象となるV=Rセグメント内仮想アドレスVA
は実アドレスRAに一致し、実質的なアドレス変
換処理を必要としないため、極めて高速にアドレ
ス変換が行なえる。したがつて、V=R方式は実
質的なアドレス変換を行わずに参照する必要があ
るST51などのテーブル類、更には超高速処理
を必要とするプログラムをアクセスするのに適す
る。但し、V=Rセグメント(に対応するMEM
50内の領域)の大きさは限られているため、適
用できるプログラム量などは著しく制限される。
一方、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レベルページング方式のア
ドレス変換機能を有している。
第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に置数される。これがリロケーシヨン方式のア
ドレス変換である。
上記したように、リロケーシヨン方式のアドレ
ス変換では、ページテーブルを参照する必要がな
いため、高速アドレス変換が可能となり、したが
つて高速処理を必要とするプログラムをアクセス
するのに適する。但し、ページング方式でないこ
とから、MEM50に対する領域割り付けのため
にはMEM50上で大きな連続領域が必要となる
ので、適用プログラムはそのサイズが小規模のも
のに限られる。
第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レベルページング方式のアドレス変
換である。
第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レベルページング方式のア
ドレス変換である。
本実施例において、1セグメントを構成するペ
ージ数は、ページフレーム番号PNが13ビツト構
成であることから213ページである。したがつて
1セグメントに対するページテーブルのエントリ
数は213であり、1エントリに4バイト(4アド
レス分)を充てている本実施例では1セグメント
に対するページテーブルのサイズは215(バイト)
となる。このため、このようなページテーブルを
(当該ページテーブルにも仮想アドレスが割り付
けられるように)V=Rセグメント内に置く本実
施例の1レベルページング方式では、V=Rセグ
メントが圧迫されてしまい、実記憶装置(MEM
50)の容量を大きくすると共にセグメントサイ
ズを大きくしないと(この場合、同一仮想アドレ
ス空間のもとでは、セグメント数を小なくするこ
とになる)多数のセグメントすなわち大規模な仮
想アドレス空間をサポートすることが困難とな
る。但し、1レベルページング方式では、ページ
テーブルの参照回数が1回で済むために比較的高
速なアドレス変換が可能となり、高速処理が要求
される中規模プログラムに適する。また、リロケ
ーシヨン方式は上述の問題は無いものの、動的再
配置の融通性が少ないため、実記憶装置(MEM
50)の効率的運用が図り難い欠点がある。
これに対し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レベルページングに比べて高速ア
ドレス変換が困難であり、したがつてそれほど高
速処理を必要としない大規模プログラム等に適す
る。
ところで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に集中さ
せるようにした仮想記憶システムは有効に機能し
得る。
次に、(ページテーブル)セグメント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を更新する場合などに必要とな
る。
ここまでの説明では、目的とするページが全て
実記憶装置(MEM50)に存在するものとした
が、もし実記憶装置に存在しない場合にはページ
フオールト例外が発生し、次の動作が行なわれ
る。すなわち、VSP70により、MEM50とペ
ージング装置60との間でページアウト或いはペ
ージインが行なわれる。そして、メモリ参照を要
求したプロセツサ30はその間、現在実行中のタ
スクを持たせ、別のタスクを実行する。
なお、前記実施例では、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
(セグメントテーブル)が参照されることになる。
〔発明の効果〕
以上詳述したように本発明のアドレス変換方式
によれば、仮想アドレスを実アドレスに変換する
機能をメモリ制御装置側に持たせている仮想記憶
システムの実現が図れ、しかも大規模な仮想記憶
空間をサポートすることができる。
また本発明によれば、セグメントの用途に対応
した性質(セグメント種類)に応じて最適なアド
レス変換が行なえる。
【図面の簡単な説明】
第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)。

Claims (1)

  1. 【特許請求の範囲】 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項記
    載のアドレス変換方式。
JP57088571A 1982-05-25 1982-05-25 アドレス変換方式 Granted JPS58205973A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP57088571A JPS58205973A (ja) 1982-05-25 1982-05-25 アドレス変換方式
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 (ja) 1982-05-25 1982-05-25 アドレス変換方式

Publications (2)

Publication Number Publication Date
JPS58205973A JPS58205973A (ja) 1983-12-01
JPS6349806B2 true JPS6349806B2 (ja) 1988-10-05

Family

ID=13946548

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57088571A Granted JPS58205973A (ja) 1982-05-25 1982-05-25 アドレス変換方式

Country Status (1)

Country Link
JP (1) JPS58205973A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793220A (ja) * 1993-09-20 1995-04-07 Agency Of Ind Science & Technol 仮想記憶管理方式

Also Published As

Publication number Publication date
JPS58205973A (ja) 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
JP2625385B2 (ja) マルチプロセッサシステム
JPH1091525A (ja) 変換索引バッファ及びメモリ管理システム
JP3439167B2 (ja) コンピュータ・システムにおいてディレクトリ構造を含むメイン・メモリの内容にアドレスするための方法および装置
US5132927A (en) System for cache space allocation using selective addressing
JPH0312339B2 (ja)
US5991848A (en) Computing system accessible to a split line on border of two pages within one cycle
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
US4654791A (en) Input/output paging mechanism in a data processor
JPS6349807B2 (ja)
JPS63244152A (ja) 拡張記憶装置アクセス制御装置
GB2221066A (en) Address translation for I/O controller
US20060085569A1 (en) Method for minimizing the translation overhead for large I/O transfers
JPS6149703B2 (ja)
JPS6015971B2 (ja) 緩衝記憶装置
JPS5858752B2 (ja) アドレス変換装置
JPH1091527A (ja) 記憶装置および記録媒体
JPH07152710A (ja) マルチプロセサシステム
JPS5821352B2 (ja) バツフア・メモリ制御方式
JPH0320777B2 (ja)
JPS6143744B2 (ja)
JPS63186347A (ja) 記憶装置
JPH07152653A (ja) データ処理装置
JPS608971A (ja) 中央処理装置