JPH0343651B2 - - Google Patents

Info

Publication number
JPH0343651B2
JPH0343651B2 JP60062052A JP6205285A JPH0343651B2 JP H0343651 B2 JPH0343651 B2 JP H0343651B2 JP 60062052 A JP60062052 A JP 60062052A JP 6205285 A JP6205285 A JP 6205285A JP H0343651 B2 JPH0343651 B2 JP H0343651B2
Authority
JP
Japan
Prior art keywords
address
user
main memory
page
valid bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP60062052A
Other languages
English (en)
Other versions
JPS61221950A (ja
Inventor
Yoshihiro Myazaki
Yoshiaki Takahashi
Masaaki Tanji
Keijiro Hayashi
Tadaaki Bando
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60062052A priority Critical patent/JPS61221950A/ja
Publication of JPS61221950A publication Critical patent/JPS61221950A/ja
Publication of JPH0343651B2 publication Critical patent/JPH0343651B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想記憶方式を用いた処理装置のア
ドレス変換方法に係わり、特に多数のユーザをサ
ポートしかつ1ユーザヘ割当てることのできる論
理空間が広い処理装置に適したアドレス変換方法
に関する。
〔発明の背景〕
ネツトワークを用いた分散システムの発達によ
り、処理装置がサポートできるユーザ数は例えば
1024といつた大きな数になつている。また画像処
理等では1ユーザが1GBといつた広い論理空間
を必要とする。このためにユーザ関連の論理空間
は非常に大きなものとなり、この大きな論理空間
を物理アドレスと対応づけるためのアドレス変換
テーブルも相当な大きさになる。このアドレス変
換テーブルを主記憶上へ常駐させると主記憶の使
用効率が低下するから、データだけでなく、アド
レス変換テーブルも仮想化するという仮想記憶方
式が用いられており、その従来例としてDEC社
のVAX11シリーズがある(VAX11ハードウエア
ハンドブツク、VAX11HARDWARE
HANDBOOK参照)。この従来例では、論理空間
をシステム空間とユーザー(プロセス)空間とに
分け、システム空間へのアクセスに対しては主記
憶に常駐するシステム用ページテーブルを索引し
て物理アドレスを求める。一方、ユーザ用ページ
テーブルは仮想化されていて、ユーザ空間へのア
クセス時にはそのユーザ空間の論理アドレスをま
ずユーザ用ページテーブルのアドレスを示すシス
テム空間内の論理アドレスへ変換する。そしてこ
の論理アドレスに対し上記システム用ページテー
ブルを索引して物理アドレスを求める。従つてユ
ーザ用ページテーブルが主記憶上にないときは、
システム用ページテーブルの索引時にページテー
ブルフオールトが発生し、フオールト処理のシス
テムプログラムにリンクすることによりユーザ用
ページテーブルの仮想化を実現し、主記憶の利用
効率の向上をはかつている。
しかし、この従来方式には以下の短所がある。
それは、ページテーブルのみの索引であるため、
論理空間をとびとびに使おうとしたとき、無駄な
ページテーブルを主記憶上に置かねばならないこ
とである。第14図はその説明のためのもので、
1ユーザに約1GBの論理空間(ユーザ空間)を
割り当て、1ページを4KBとしてページに分割
した例である。この時にはこのユーザ空間のペー
ジ数は256×103ページになるからユーザ用ページ
テーブルのエントリも256K個となる。1エント
リに4B(16ビツト)使うとするとこのテーブルは
全体で256K×4=約1MBの空間を占める。そこ
で今最初の1Kエントリ分のデータ4MBと最後の
1Kエントリ分のデータ4MBを使おうとすると、
これらに対応したユーザ用ページテーブルの部分
だけでなく、その間の部分(第14図の斜線部)
のページテーブルも主記憶上に置かねばならず、
結局約1MB容量のユーザ用ページテーブル全部
を主記憶に置くことになる。このため最大の主記
憶容量が2〜8MB程度である一般と処理装置で
は許容できないことになる。また論理空間をとび
とびに使うことを禁止すればプログラミングの自
由性が損われる。
この欠点をなくす別の従来方法として、論理空
間をまずセグメントに分割し、更にそれをページ
に細分し、夫々に対応してセグメントテーブル及
びページテーブルを用いて2段階変換を行うもの
である(HIDIC V90/50処理装置ハードウエア
マニユアル参照)。第15図はその説明図で、
1GBの論理空間を1セグメント1MB、1ページ
4KBで分割した例である。この場合には、セグ
メントテーブルSTの最初の4エントリ(1エン
トリの容量は4Bとする)分のデータ4MBと最後
の4エントリ分のデータ4MBを使うには、セグ
メントテーブルSTの斜線部を含んだ全部を主記
憶上に置かねばならないが、それは1024×4B=
約4KB程度ですむ。この時ページテーブルPTの
方はセグメントテーブルSTの最初、最後の各4
エントリ分に対応して各1Kエントリ分、即ち合
計で約8KB分を主記憶上におけばよく、アドレ
ス変換のための主記憶上のオーバーヘツドを大幅
に減らすことができる。しかし、この方式をその
まま前記したVAX11シリーズ方式に使用すると、
ユーザ空間へのアクセスは(1)アクセスされた論理
アドレスのセグメント部とユーザ用セグメントテ
ーブルの先頭アドレス(レジスタにセツトされて
いる)からユーザ用セグメントテーブルのシステ
ム空間上の論理アドレス算出、(2)同アドレスに対
するシステム用セグメントテーブル索引、(3)その
結果得られた論理アドレスに対するシステム用ペ
ージテーブル索引、(4)その結果得られたユーザ用
ページテーブルの先頭アドレスとアクセスされた
論理アドレスのページ部とからユーザ用ページテ
ーブルのシステム空間上の論理アドレス算出、(5)
同アドレスに対するシステム用セグメントテーブ
ル索引、(6)その結果から得られた論理アドレスに
対するシステム用ページテーブル索引という手順
を要し、変換スピードが半分以下に低下してしま
う。アドレス変換の高速化のために変換高速バツ
フア(TLB)を設けることも考えられるが、今
日のLSIの技術では1KエントリをこえるTLBは
製造できない。このため小容量のTLBを用いた
のでは、例えばグラフイツク処理等で1MB以上
の大きな論理空間を使用するとTLBのミスヒツ
トの確率が大きくなつて変換スピードの低下の影
響はさけられない。更に(1)〜(6)の変換途中でテー
ブルのシステム空間上の論理アドレスを保存せね
ばならず、ハード量が増加するという欠点もあ
る。
〔発明の目的〕
本発明は、上記した従来技術の欠点を除去し、
変換速度が低下せず、またハード量の大幅な増加
を伴わないでユーザ用セグメントテーブル及びペ
ージテーブルを仮想化できるアドレス変換方法を
提供するにある。
〔発明の概要〕
本発明は、システム空間又はユーザ空間いずれ
へのアクセス時であつても、システムセグメント
テーブルSST又はユーザセグメントテーブル
USTをその先頭アドレス(物理アドレス)を示
すシステムセグメントテーブル用オリジンレジス
タSSTOR又はユーザセグメントテーブル用オリ
ジンレジスタUSTORの内容とアクセスされたア
ドレスのセグメント部の内容とから検索し当該セ
グメント対応のシステムページテーブルSPT又
はユーザページテーブルUPTの先頭アドレス
(物理アドレス)を求め、続いて当該ページテー
ブルSPT又はUPTを、上記ページテーブルの先
頭アドレスとアクセスされたアドレスのページ部
の内容とから検索し当該ページの先頭アドレス
(物理アドレス)を求め、このような2段変換に
よりアクセスしたいデータの物理アドレスを求め
るようにするとともに、ユーザ切換時に当該ユー
ザ用のユーザセグメントテーブルUSTの先頭ア
ドレスをユーザセグメントテーブル用オリジンレ
ジスタUSTORへ設定するために各ユーザ対応の
上記先頭アドレスを格納したUST先頭アドレス
テーブルを設け、更にオリジンレジスタUSTOR
には、その時点のユーザ対応のUST先頭アドレ
スの他に当該ユーザセグメントテーブルUSTが
主記憶上に存在するか仮想記憶(フアイル)上に
存在するかを識別する情報をセツトするように
し、もし主記憶上にないユーザセグメントテーブ
ルUSTがアクセスされるとセグメントテーブル
フオールトとしてフオールト処理のシステムプロ
グラムにリンクすることにより、セグメントテー
ブルの仮想化を実現したことを特徴とするもので
ある。
〔発明の実施例〕
本発明の実施例を以下に説明する。第9図は本
発明を実施するためのシステムの全体構成例であ
つてアドレス変換機構2は、プロセツサ1からイ
ンターフエイス7を介して与えられた論理アドレ
スをインターフエイス8上の物理アドレスに変換
して主記憶3へアクセスする。フアイル装置5、
入出力装置6はインターフエイス9、入出力アダ
プタ4、インターフエイス8を介して主記憶3に
アクセスする。プロセツサ1の実行するプログラ
ムの全てはフアイル5の中に格納されており、そ
の一部が主記憶3にローデイングされ実行され
る。
本発明の方法を実行するアドレス変換機構2の
内部構成を第10図に示す。プロセツサ1から転
送された論理アドレス20はレジスタ11にセツ
トされ、主記憶3に転送される物理アドレス32
はレジスタ16の出力である。主記憶3からの読
出しデータ28はレジスタ17にセツトされ、そ
の出力23はプロセツサ1に出力される。プロセ
ツサ1からの書込みデータ24はレジスタ18に
セツトされ、その出力25は主記憶3に転送され
る。制御部19は、プロセツサ1との制御インタ
ーフエイス26を介してプロセツサ1より起動さ
れ、論理アドレス信号21の上位ビツトを判定し
ながら、セレクタ15の制御、レジスタ16、レ
ジスタ17の制御、主記憶3との制御インターフ
エイス27を介しての主記憶3の起動応答制御を
行い、処理終了後、制御インターフエイス26を
介してプロセツサ1応答を行う。また、アドレス
変換機構2内にはアドレス変換のためのセレクタ
15が設けられ、入力としては、変換高速バツフ
ア(TLB)12の出力22、論理アドレス21、
ユーザセグメントテーブル用オリジンレジスタ
(USTOR)13の出力29、システムセグメン
トテーブル用オリジンレジスタ(SSTOR)14
の出力30、主記憶読出しデータ23とが接続さ
れる。セレクタ15の出力31はレジスタ16に
入力される。
セレクタ15の内部構成を第11図に示す。セ
レクタ41はレジスタ11から与えられる論理ア
ドレス21の最上位ビツト43が0即ちユーザ空
間のときA入力を選択し、1即ちシステム空間の
ときB入力を選択する。従つてその出力47に
は、ユーザ空間アクセス時はUSTOR13にセツ
トされたUSTの先頭アドレス(USTTOP)29
が、システム空間アクセス時はSSTOR14にセ
ツトされたSSTの先頭アドレス(SSTTOP)3
0が転送される。出力47と論理アドレスのセグ
メント番号44とを合成した信号51はセグメン
トテーブル(UST又はSST)のその時点で参照
すべき物理アドレスを示す。レジスタ17から与
えられる読出しデータ23は、上記セグメントテ
ーブルの物理アドレスアクセス時には参照すべき
ページテーブルの先頭アドレスPTTOPであるの
で、これと論理アドレスのベージ番号とを合成し
た信号50はページテーブルの参照すべき物理ア
ドレスを示す。この物理アドレスへのアクセスに
よつて得られた読出しデータ23は参照したいペ
ージの先頭アドレスPAGETOPであるから、こ
れに論理アドレスのオフセツト部46を合成した
信号49は、求めるべき最終の物理アドレスを示
す。TLB12の出力22と論理アドレス21の
オフセツト部46とを合成した信号48は、
TLBヒツトの場合の求めるべき最終の物理アド
レスを示す。論理アドレス21のセグメント番号
44、ページ番号45、オフセツト46をそのま
ま合成した信号52は、後述のV=R空間の場合
の物理アドレスとなる。
TLB12の内部構成を第12図に示す。論理
アドレス21のオフセツト以外の部分は2分さ
れ、上位アドレス部(LAU)64は比較器77
の入力及びLAU記憶用RAM61のデータ入力と
なる。同RAM61の出力73は比較器77のも
う一方の入力となる。比較器77の出力78は比
較結果が一致したとき1となり、不一致のとき0
となる。読出しデータのPAGETOP部23は
PAGETOP記憶用RAM62のデータ入力とな
る。同RAM62の出力22はTLBヒツト時のペ
ージ先頭の物理アドレスを示す。セレクタ66の
出力70はTLBエントリの有効ビツト記憶用
RAM63のデータ入力である。同RAM63の
出力74と比較器出力78の出力はアンド回路7
9に入力されその出力80は、1のときTLBヒ
ツト、0のときTLBミスを示す信号である。ま
た、RAM63の出力74とLAU記憶用RAM6
1のデータ出力の最上位ビツト72とはアンド回
路75に入力され、その出力76はLAUの最上
位ビツト=1(即ちシステム空間)かつ有効ビツ
ト=1のとき1となる。この出力76はセレクタ
66のD入力に接続される。一方、論理アドレス
21のLAM部65はセレクタ67のA入力及び
B入力に接続される。カウンタ68はTLB12
の全エントリをクリアするときにアドレスを0か
ら最大値まで更新しながら使用されるカウンタで
あり、その出力69はセレクタ67のC入力及び
D入力に接続される。セレクタ67の出力71
は、LAU記憶用RAM61,PAGETOP記憶用
RAM62、及び有効ビツト記憶用RAM63の
共通アドレスである。
制御部19の内部構成を第13図に示す。ステ
ータスレジスタ96にはクロツク発生器95のク
ロツクにより毎回論理条件生成部94の出力がセ
ツトされ、ステータスレジスタ96の出力は、プ
ロセツサ1との制御インターフエイス26、主記
憶3との制御インターフエイス27の他に、アド
レス変換機構内の各セレクタの選択制御や、レジ
スタへのセツト制御を行う。論理条件生成部94
の入力は、論理アドレス21、プロセツサ1との
制御インターフエイス26、主記憶3との制御イ
ンターフエイス27、TLB12のヒツト/ミス
を示す信号、UDSTOR13のVビツト91、
SSTOR14のVビツト92、主記憶読出しデー
タレジスタ17の、セグメントテーブルやページ
テーブルのVビツトに対応する信号93、ステー
タスレジスタ96の出力の一部97等が入力さ
れ、次のステータスの決定が行われる。
このような構成の制御部19は、本発明の方法
に従つてTLBヒツト時のアドレス変換、TLBミ
ス時のアドレス変換の手順を制御するだけでな
く、後述のV=R空間アクセス時の制御、TLB
12のパージの制御、USTOR13,SSTOR1
4の書換えの制御を行うもので、その制御手順の
実施例をフローチヤートの形で第1図A〜第1図
Dに示す。また、このフローチヤートに従つてア
ドレス変換される論理空間を第2図Aに示す。第
2図Aに於て、論理アドレスを16進8桁で表わ
し、最上位桁が0〜7のものをユーザ空間(231
≒2GB)、8〜Bのものをシステム空間(約
1GBB)、CのものをV=R空間(後述、約
256MB)、D〜Fのものを他の特別用途の空間
(約3×256MB)とする。これは論理アドレスを
2進表現した時には最上位ビツトが0のものがユ
ーザ空間、1のものがその他の空間に対応するこ
とになる。また第2図Aでは以上の様な論理空間
が各種テーブルUST、UPT、SST、SPT等を用
いて物理空間へ写される様子を模擬的に示してい
る。
そして今第2図Aで示した論理空間の任意アド
レス、つまり論理アドレス21がレジスタ11へ
プロセツサ1から入力されたとすると、第1図A
のステツプ101ではこの論理アドレス(図ではLA
と略記)21の上位2ビツトが11であるかどう
かを判定する。これは第2図の16進表示のアドレ
ス最上位桁がC又はそれ以上に相当するV=R空
間かその他の空間の時YESとなる。今はそうで
はなくて最上位が0のユーザ空間が10のシステム
空間とするとステツプ102へ進む。ここでTLBヒ
ツトかどうか即ち、第12図の信号80が1かど
うかを判定し、これは今NOであるとすると、ス
テツプ103に進む。ステツプ103では論理アドレス
21の最上位ビツト=1(即ちシステム空間)か
つSSTOR14の有効ビツト(Vビツト;第13
図)92=1であか、または、論理アドレス21の
最上位ビツト=0(即ちユーザ空間)かつ
USTOR13のVビツト91=1であるかを判定
する。そのVビツト91又は92が1というのは
対応するシステムセグメントテーブルSST又は
ユーザセグメントテーブルUSTが主記憶3上に
あることを示し、0というのは無いことを示すも
ので、本発明では、従来のようにUSTのアドレ
スをシステム空間の論理アドレスとすることで
USTの仮想化を行うのではなく、このVビツト
の判定によつてセグメントテーブルフオールトを
発生することにより仮想化を実現している。そこ
で今はVビツト91又は92=1でセグメントテ
ーブルは主記憶上にあるとすると第1図Bに示す
変換処理のステツプ110へ進む。ステツプ110では
セレクタ42(第11図)のD入力、即ちセグメ
ントテーブルの先頭物理アドレスUSTTOPまた
はSSTTOPと入力された論理アドレス21のセ
グメント番号SEGの合成信号51が、セグメン
トテーブルの物理アドレスとして選択され、レジ
スタ16にセツトされる。そして主記憶3への起
動が行われる。次のステツプ111では主記憶3の
応答を待つ。この応答によつてレジスタ17
(RDR)に読み出されたデータは求めるページテ
ーブルUPT又はSPTの先頭アドレスUPTTOP
又はSPTTOPであり、また同データのVビツト
は対応するページテーブルが主記憶3上にあるか
否かを示している。従つてステツプ112ではレジ
スタ17の最下位に位置するビツト93(第13
図)を判定し(これによつてページテーブルも仮
想化している)、1の時はページテーブルが主記
憶上にあるとしてステツプ113へ進む。ここでは
セレクタ42のC入力、即ちページテーブル
SPT又はUPTの先頭物理アドレスPTTOPと入
力論理アドレスのページ番号PAGEの合成信号5
0が、ページテーブルの物理アドレスとし選択さ
れレジスタ16にセツトされる。そして主記憶3
への起動が行われる。次のステツプ114では主記
憶3の応答を待つ。この応答によつてレジスタ1
7に読み出されたデータは求めるページの先頭物
理アドレスRAGETOPであり、Vビツトはその
ページが主記憶3上にあるか否かを示している。
そこでステツプ115ではレジスタ17の最下位ビ
ツト93を判定し、これが1で当該ページが主記
憶3上にあるとするとステツプ116へ進む。ステ
ツプ116では、セレクタ42のB入力、即ち上記
PAGETOPと入力論理アドレスのオフセツトの
合成信号49が求めるべき最終の物理アドレスと
して選択され、レジスタ16にセツトされる。そ
して主記憶3への起動が行われる。次のステツプ
117では主記憶の応答を待つ。応答があるとステ
ツプ118ではプロセツサに正常終了の応答を行い、
変換処理を終了する。また。ステツプ116に示し
たTLBセツトというのは、第12図のセレクタ
66、セレクタ67でともにA入力を選択し、
RAM61〜63への書込みを行うことである。
即ち、論理アドレス21のLAM部65に対応す
るTLBのエントリに同アドレス21のLAU部6
4、レジスタ17にセツトされている。
PAGETOPをRAM61,62に書込み、また
セレクタ66からの1をRAM63にセツトする
ことにより、今アドレス変換されたページを
TLB上に書込んで以後の変換に備える。以上が
TLBミスヒツト(ステツプ102NO)で各テーブ
ルが主記憶上にある時の制御手順であり、システ
ム空間であれば第1図Bに示すアドレス変換が行
われ、ユーザ空間であれば第1図Cに示すアドレ
ス変換行われることがわかる。また、ステツプ
109(第1図A)、ステツプ119、120(第1図B)の
フオールト発生時の処理は、従来から既知のシス
テムプログラムにより実行される。但しステツプ
109に於るセグメントテーブルのフオールト発生
時の同テーブルオリジンレジスタの処理等につい
ては後述する。
次に、TLBヒツトの場合の制御手順について
説明する。第1図Aにステツプ102ではTLBヒツ
トであつた時、即ち信号80が1の時はステツプ
105に進み、セレクタ42(第11図)はA入力、
即ちTLB12の出力22と入力された論理アド
レス21のオフセツト部46とを合成した信号4
8が、求めるべき最終の物理アドレスとして選択
され、レジスタ16にセツトされる。そして主記
憶への起動が行われる。ステツプ106では主記憶
の応答を待つ。次のステツプ107ではプロセツサ
に正常終了の応答を行い、処理を終了する。以上
がTLBヒツトの場合の制御手順であり、第3図
に示すアドレス変換が行われることがわかる。こ
の変換は、入力論理アドレス21から直接ページ
の先頭アドレスPAGETOPをとり出せて極めて
早いが、TLB12に格納できるのはごく一部の
ページのみであつて、TLBミスの確率は高く、
ミスの時は前述の処理を必要とする。
次にV=R空間アクセスの場合の制御手順につ
いて説明する。V=R空間はセグメントテーブ
ル、ページテーブルをダイレクトにアクセスする
ための空間である。このV=R空間は論理アドレ
スがC=(1100)で始つている(第2図A)から、
第1図Aのステツプ101からステツプ104、108と
進み、ここでセレクタ42(第11図)はE入
力、即ち論理アドレス21の下位部(主記憶の大
きさに応じた大きさ)そのものである信号52
が、求めるべき最終の物理アドレスとして選択さ
れ、レジスタ16にセツトされる。そして主記憶
3への起動が行われる。ステツプ106では主記憶
3の応答を待つ。次のステツプ107ではプロセツ
サに正常終了の応答を行い処理を終了する。この
時は第4図に示すアドレス変換が行われることが
わかる。
次にTLB12の部分パージの場合の制御手順
について説明する。部分パージはTLB12のエ
ントリの一部を無効化するもので、あるページを
主記憶上から削除したい時に使用される。このた
めには削除したいページの論理アドレスの上位6
ビツトを110100に変更したアドレスでもつてプロ
セツサが書込みアクセスを行う。このアドレスの
上位4ビツトは16進のDであるから、第2図Aの
論理空間の特殊レジスタ領域に対応する。そして
このアドレス入力に対しては、第1図Aステツプ
104から第1図Cパージ処理へ移る。ここではま
ずステツプ121で論理アドレスの上位6ビツトが
判定され、110100であるためステツプ122に進む。
ステツプ122ではセレクタ66、セレクタ67
(第12図)のB入力を選択してRAM61〜6
3に書込みが行われる。即ち論理アドレス21の
LAM部65に対応するTLBエントリ(削除した
いアドレスに対応)のVビツトがクリアされ無効
化される。次にステツプ131ではプロセツサに正
常終了の応答を行い、処理を終了する。
TLB12の全パージはシステム立上げ時に
TLB12の全エントリを無効化するものであり、
論理アドレス21の上位6ビツトを110110として
プロセツサが書込みアクセスを行うことにより起
動される。即ち、この入力論理アドレスに対して
は、第1図Cのステツプ121からステツプ123へ移
り、ここではカウンタ68(第12図)をクリア
する。ステツプ124ではセレクタ66、セレクタ
67のC入力を選択し、RAM61〜63の書込
みを行う。従つて、カウンタ68の内容に対応す
るTLB12のエントリのVビツトがクリアされ
る。次にステツプ125ではカウンタ68を1だけ
インクリメントする。次に126ではカウンタ68
の内容がTLB12のエントリの最大アドレスを
越えたかどうか判定し、YESのときステツプ131
に進み、NOのときステツプ124に戻る。従つて、
TLB12の全エントリについてステツプ124、
125、126が繰り返されてVビツトがクリアされ
る。ステツプ131ではプロセツサ1に正常終了の
応答を行い処理を終了する。
TLB12のユーザパージはユーザ切換時に
TLB12のエントリの中でユーザ空間の入つて
いた全エントリを無効化し、システム空間の入つ
ている全エントリは保存するものであり、論理ア
ドレスの上位6ビツトを110111としてプロセツサ
が書込みアクセスを行うことはより起動される。
即ちこの入力論理アドレスに対しては第1図Cの
ステツプ121からステツプ127へ移り、ここでカウ
ンタ68(第12図)をクリアする。次にステツ
プ128ではセレクタ66、セレクタ67のD入力
を選択し、RAM61〜63の書込みを行う。従
つて、カウンタ68の内容に対応するTLB12
のエントリについて、LAU部の最上位ビツト7
2=1(即ちシステム空間)かつ有効ビツト74
=1のときのみ信号76が1となつて対応する有
効ビツトは1のままに保存される。しかしユーザ
空間ではビツト72が0なので有効ビツトVはク
リアされる。次にステツプ129ではカウンタ68
を1だけインクリメントする。ステツプ130では
カウンタ68の内容がTLB12のエントリの最
大アドレスを越えたかどうか判定し、YESのと
きステツプ131に進み、NOのときステツプ128に
戻る。従つてTLB12の全エントリについてス
テツプ128,129、130が繰り返され、第5図に示
すようにユーザ空間のエントリだけすべて無効と
される。ステツプ131ではプロセツサに正常終了
の応答を行い、処理を終了する。
次にユーザセグメントテーブル用オリジンレジ
スタ(USTOR)13への書込み制御手順につい
て説明する。本制御は、入力論理アドレス21の
上位6ビツトを111000としてプロセツサ1が書込
みアクセスを行うことにより起動される。即ちこ
の入力アドレスに対しては、第1図Aのステツプ
104から第1図Dに示すレジスタセツト処理のス
テツプ132、133へと進み、ここでUSTOR13に
プロセツサからの書込みデータ25がセツトされ
る。次に136ではプロセツサに正常終了の応答を
行い、処理を終了する。システムセグメントテー
ブル用オリジンレジスタ(SSTOR)14への書
込み制御手順も同様で、入力論理アドレス21の
上位ビツトを111001とすることにより第1図Dの
ステツプ134が実行される。USTOR13への書
込みは後述のように、システムプログラムによる
ユーザ切換時に必要となるものである。
以上、第1図A〜第1図Dのフローチヤートに
従つてアドレス変換機構2内の制御部19による
アドレス変換制御を説明してきたが、特にユーザ
からのユーザ空間へのアクセス時には、USTOR
13には当該ユーザに対応したセグメントテーブ
ルUSTの先頭アドレスと、そのテーブルが主記
憶上にあるか否かを示すVビツトが既にセツトさ
れているものとしていた。これらのセツトは、ユ
ーザ変換時等にシステムプログラムによつて行わ
れるものであつて、この説明を以下で行う。第6
図はユーザ切換時のシステムプログラムによる
USTOR13の書換え手順を示すもので、まずス
テツプ141ではUST先頭アドレステーブル(図で
はUSTOR−TABLEと表示)上の新たなユーザ
の番号に対応するエントリの内容をUSTOR13
にセツトする。このセツトは、第1図Dのステツ
プ133で説明の如く、論理アドレス21の先頭を
111000とした書込みによつて行われる。なお、
UST先頭アドレステーブルそのものは、予めシ
ステムプログラムによつて第2図Aのように、シ
ステム空間に対応する主記憶上に作成されている
ものである。次にステツプ142にて、第1図Cの
ステツプ127〜130によるユーザページを実行すべ
く、先頭が11011の論理アドレスを発行し、TLB
中のユーザ空間のエントリを無効化する。システ
ムプログラムはこれらを実行後、ユーザプログラ
ムにリンクする。
ユーザプログラムの実行が始まると、ユーザ空
間にアクセスを行うが、このときUSTが実記憶
3上にない、即ちUSTOR13のVビツト=0で
あると、第1図Aのステツプ109に示す如くセグ
メントテーブルフオールトが発生する。プロセツ
サ1はフオールト発生時システムプログラムのフ
オールト処理にダイレクトジヤンプする。これに
よつてシステムプログラムは第7図の処理を実行
する。即ちまずステツプ143では実記憶上の空き
のページを見つけ、ステツプ144ではフアイルか
らそのページにUSTを転送する。このUSTをフ
アイルからとり出すときのフアイル上のアドレス
はそのUSTが主記憶上にない時はUST先頭アド
レステーブルの該当エントリのUSTTOPの部分
に設定されている。なお、USTがフアイル上に
も存在しない、即ち該当ユーザが未定義の場合は
UST先頭アドレステーブルの該当エントリのD
ビツトが0である。この場合、システムプログラ
ムは処理を中断し、オペレータへの報告等を行
う。次のステツプ145ではUST先頭アドレステー
ブルの該当エントリのUSTTOPに今USTを転送
した主記憶上の物理アドレスを設定しかつVビツ
トを1にセツトして主記憶上にあることを示す。
ステツプ146ではそのエントリの内容を更に
USTOR13にセツトし(このセツトは第1図C
ステツプ133)、これによつて所要のUSTを主記
憶へ用意し、かつUSTOR13の内容を正しくセ
ツトして処理を終了し、第1B図に制御部19に
よる変換処理へ制御を移す。なお、使用済の
USTを実記憶からフアイルへ転送するときは、
第8図に示すように、まずステツプ147で不要と
思われるユーザのUSTを実記憶からフアイルに
転送する。次のステツプ148ではUST先頭アドレ
ステーブルの該当エントリのVビツトをクリア
し、USTのフアイル上のアドレスを物理をアド
レスに代つてUSTTOPの部分にセツトしてお
く。
〔発明の効果〕
以上の実施例で詳細に説明したように、従来例
ではユーザ用のセグメントテーブル及びページテ
ーブルをもとに論理空間上のシステム空間をアド
レスすることにより仮想化していたので、アクセ
ス時にはシステム空間のアドレス算出とシステム
空間から実アドレスへの変換という2重の変換を
必要としたが、本発明では各テーブルの先頭アド
レスデータにそのテーブルが主記憶上にあるか否
かを示す有効ビツトを設けることによつて各各テ
ーブル仮想化を実現しており、各テーブルは実ア
ドレスをアドレスとしているから、2段変換のア
ドレス変換テーブルを仮想化しても変換の手順が
少なく変換速度が早いという効果がある。
【図面の簡単な説明】
第1図A〜第1図Dは本発明のアドレス変換方
法の一実施例を示すフローチヤート、第2図A〜
第2図Cは変換される論理アドレス空間及びその
空間から実空間への変換過程の説明図、第3図は
高速変換バツフアヒツト時のアドレス変換過程の
説明図、第4図はV=R空間への変換過程の説明
図、第5図はユーザパージの説明図、第6図〜第
8図はシステムプログラムによるユーザ切換時、
USTフオールト発生時、及びUSTのフアイルへ
の退避時に於る処理のフローチヤート、第9図は
本発明を適用するシステムの構成例を示す図、第
10図は本発明の方法を実行するアドレス変換機
構のブロツク図、第11図はセレクタの構成を示
す図、第12図は高速変換バツフアの構成を示す
図、第13図は制御部の構成を示す図、第14図
及び第15図は従来のアドレス変換方法の説明図
である。 1……プロセツサ、2……アドレス変換機構、
3……主記憶、5……フアイル、13……ユーザ
セグメントテーブル用オリジンレジスタ、15…
…セレクタ、19……制御部、21……入力論理
アドレス。

Claims (1)

    【特許請求の範囲】
  1. 1 アドレス変換機構によりオリジンレジスタに
    セツトされたユーザ対応のセグメントテーブルの
    先頭アドレスと入力論理アドレスのセグメント部
    とから上記セグメントテーブルを索引して求める
    ページテーブルの先頭アドレスを読出し、該先頭
    アドレスと上記入力論理アドレスのページ部とか
    ら上記ページテーブルを索引して求めるページの
    先頭アドレスを読出し、更に該先頭アドレスと上
    記入力論理アドレスのオフセツト部からアクセス
    すべき物理アドレスを得るようにした仮想記憶シ
    ステムのアドレス変換方法に於て、ユーザ対応の
    エントリを有しかつ該エントリは、該当ユーザ用
    のセグメントテーブルが主記憶上にあればセツト
    されなければリセツトされる有効ビツトと、該有
    効ビツトがセツトされている時該当セグメントテ
    ーブルの主記憶上の先頭アドレスを示し上記有効
    ビツトがリセツトされている時は該当セグメント
    テーブルの補助記憶上の先頭アドレスを示すアド
    レスデータとから成つているところの先頭アドレ
    ステーブルを設け、また上記アドレス変換機構に
    は上記オリジンレジスタにセツトされる有効ビツ
    トをチエツクする機能を有せしめるとともに、シ
    ステムプログラムは、新しいユーザからのアクセ
    スがあつた時にはそのユーザ対応の先頭アドレス
    データと有効ビツトとを上記先頭アドレステーブ
    ルから読み出して上記オリジンレジスタヘセツト
    し、しかる後にもし上記有効ビツトがリセツトさ
    れていることが上記アドレス変換機構により検出
    された時はフオールト処理によつて当該ユーザ対
    応のセグメントテーブルを補助記憶から主記憶へ
    転送し、上記オリジンレジスタ及び先頭アドレス
    テーブル内対応エントリの有効ビツトをセツトし
    かつ先頭アドレスデータを転送した主記憶上の先
    頭アドレスに書換え、更にユーザがアクセスを終
    了した時には当該ユーザ対応のセグメントテーブ
    ルを主記憶から補助記憶へ転送し、上記先頭アド
    レステーブル内の対応エントリの有効ビツトをリ
    セツトしかつ先頭アドレスデータを転送した補助
    記憶上の先頭アドレスに書換えるようにしたこと
    を特徴とするアドレス変換方法。
JP60062052A 1985-03-28 1985-03-28 アドレス変換方法 Granted JPS61221950A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60062052A JPS61221950A (ja) 1985-03-28 1985-03-28 アドレス変換方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60062052A JPS61221950A (ja) 1985-03-28 1985-03-28 アドレス変換方法

Publications (2)

Publication Number Publication Date
JPS61221950A JPS61221950A (ja) 1986-10-02
JPH0343651B2 true JPH0343651B2 (ja) 1991-07-03

Family

ID=13188991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60062052A Granted JPS61221950A (ja) 1985-03-28 1985-03-28 アドレス変換方法

Country Status (1)

Country Link
JP (1) JPS61221950A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4575028B2 (ja) * 2004-05-27 2010-11-04 株式会社日立製作所 ディスクアレイ装置およびその制御方法

Also Published As

Publication number Publication date
JPS61221950A (ja) 1986-10-02

Similar Documents

Publication Publication Date Title
US4616311A (en) Data processing system
JP4608484B2 (ja) ストレージの無効化、バッファ・エントリの消去
US8799621B2 (en) Translation table control
US4376297A (en) Virtual memory addressing device
US4400774A (en) Cache addressing arrangement in a computer system
JPH05257803A (ja) 仮想記憶空間管理方法及びアドレス計算装置
US5555395A (en) System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table
US5956751A (en) Computer memory management system using physical segmentation space allocation
JPH0552540B2 (ja)
JPH0654479B2 (ja) 仮想記憶方式
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JP2768503B2 (ja) 仮想記憶アドレス空間アクセス制御方式
JPH0520197A (ja) 記憶管理システム及びマイクロプロセツサ
US20060112256A1 (en) Method and apparatus for address mapping
US6766435B1 (en) Processor with a general register set that includes address translation registers
US6567907B1 (en) Avoiding mapping conflicts in a translation look-aside buffer
JPH0343651B2 (ja)
US6385712B1 (en) Method and apparatus for segregation of virtual address space
JP2823038B2 (ja) 論理ダイレクトメモリアクセス方式
JPH0612528B2 (ja) アドレス変換テ−ブルの制御方法
JPS588073B2 (ja) アドレス変換装置
JPH0320847A (ja) キャッシュメモリ制御方式
JPS62120543A (ja) メモリバンクの切替方式
JP2618096B2 (ja) キャッシュ管理方法
JPH08147216A (ja) データ処理装置

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term