JPH0612528B2 - アドレス変換テ−ブルの制御方法 - Google Patents

アドレス変換テ−ブルの制御方法

Info

Publication number
JPH0612528B2
JPH0612528B2 JP60103760A JP10376085A JPH0612528B2 JP H0612528 B2 JPH0612528 B2 JP H0612528B2 JP 60103760 A JP60103760 A JP 60103760A JP 10376085 A JP10376085 A JP 10376085A JP H0612528 B2 JPH0612528 B2 JP H0612528B2
Authority
JP
Japan
Prior art keywords
address
space
logical
user
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 - Lifetime
Application number
JP60103760A
Other languages
English (en)
Other versions
JPS61262863A (ja
Inventor
義弘 宮崎
義明 高橋
雅行 丹治
慶治郎 林
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 JP60103760A priority Critical patent/JPH0612528B2/ja
Publication of JPS61262863A publication Critical patent/JPS61262863A/ja
Publication of JPH0612528B2 publication Critical patent/JPH0612528B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Description

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

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】アドレス変換テーブルによる索引により論
    理アドレスを物理アドレスに変換するアドレス変換機構
    を有した仮想記憶システムに於るアドレス変換テーブル
    の制御方法に於て、その空間を識別する特定ビットを有
    した論理アドレスによってアクセスされる直接アクセス
    空間を論理空間に設けかつ該直接アクセス空間がアクセ
    スされた時には論理アドレスから上記特定ビットを除い
    た部分によって表わされるアドレスをそのまま物理アド
    レスとして出力する機能をアドレス変換機構に有せしめ
    たことを特徴とするアドレス変換テーブルの制御方法。
  2. 【請求項2】アドレス変換テーブルとしてセグメントテ
    ーブル及びページテーブルによる二段の索引により論理
    アドレスを物理アドレスに変換するアドレス変換機構を
    有し、システムプログラムによってセグメントテーブル
    の参照又は変更を行う時には、セグメントテーブルの先
    頭アドレスを格納したレジスタから該先頭アドレスを読
    み出してこれに参照又は変更したいセグメント番号を加
    えてその内容を参照又は変更すべき物理アドレスを生成
    し、更に該物理アドレスに上記特定ビットを付加した論
    理アドレスでもって読み出し又は書き込みアクセスを行
    うことによってセグメントテーブルの参照又は変更を実
    行し、システムプログラムによってページテーブルの参
    照又は変更を行う時には、上記セグメントテーブルの参
    照を実行することによって当該ページテーブルの先頭ア
    ドレスを読み出してこれに参照又は変更したいページ番
    号を加えてその内容を参照又は変更すべき物理アドレス
    を生成し、更に該物理アドレスに上記特定ビットを付加
    した論理アドレスでもって読み出し又は書き込みアクセ
    スを行うことによってページテーブルの参照又は変更を
    実行するようにしたことを特徴とする特許請求の範囲第
    1項記載のアドレス変換テーブルの制御方法。
  3. 【請求項3】論理空間をユーザ空間と前記直接アクセス
    空間を含むその他のシステムプログラム用の空間とに分
    割するとともに、任意のアクセスがシステムプログラム
    からのものかユーザプログラムからのものかを判断する
    機能をアドレス変換機構に有せしめ、もしユーザプログ
    ラムからのアクセスが上記システムプログラム用の空間
    に対して行われた時にはアドレス変換機構に於るアドレ
    ス変換処理を中止してエラー処理を行うようにしたこと
    を特徴とする特許請求の範囲第2項記載のアドレス変換
    テーブルの制御方法。
JP60103760A 1985-05-17 1985-05-17 アドレス変換テ−ブルの制御方法 Expired - Lifetime JPH0612528B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60103760A JPH0612528B2 (ja) 1985-05-17 1985-05-17 アドレス変換テ−ブルの制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60103760A JPH0612528B2 (ja) 1985-05-17 1985-05-17 アドレス変換テ−ブルの制御方法

Publications (2)

Publication Number Publication Date
JPS61262863A JPS61262863A (ja) 1986-11-20
JPH0612528B2 true JPH0612528B2 (ja) 1994-02-16

Family

ID=14362471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60103760A Expired - Lifetime JPH0612528B2 (ja) 1985-05-17 1985-05-17 アドレス変換テ−ブルの制御方法

Country Status (1)

Country Link
JP (1) JPH0612528B2 (ja)

Also Published As

Publication number Publication date
JPS61262863A (ja) 1986-11-20

Similar Documents

Publication Publication Date Title
US5123101A (en) Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss
US5230045A (en) Multiple address space system including address translator for receiving virtual addresses from bus and providing real addresses on the bus
JP4268332B2 (ja) 仮想アドレスからページ・テーブル・インデックスを計算する方法および装置
US4400774A (en) Cache addressing arrangement in a computer system
US5586283A (en) Method and apparatus for the reduction of tablewalk latencies in a translation look aside buffer
KR100297454B1 (ko) 컴퓨터장치
US4616311A (en) Data processing system
JP2833062B2 (ja) キャッシュメモリ制御方法とこのキャッシュメモリ制御方法を用いたプロセッサおよび情報処理装置
US5721858A (en) Virtual memory mapping method and system for memory management of pools of logical partitions for bat and TLB entries in a data processing system
US3854126A (en) Circuit for converting virtual addresses into physical addresses
JPH0519177B2 (ja)
JPS59502123A (ja) デ−タ接続性が制御される仮想記憶アドレス変換機構
US5956751A (en) Computer memory management system using physical segmentation space allocation
JPH0552540B2 (ja)
US7493464B2 (en) Sparse matrix
JPH10177520A (ja) データプロセッサ及びデータ処理システム
JPH07200405A (ja) 情報をキャッシュするための回路および方法
JPH05257803A (ja) 仮想記憶空間管理方法及びアドレス計算装置
JPS61141055A (ja) 情報処理装置のアドレス変換方式
JPH0661068B2 (ja) 記憶再配置方法および階層化記憶システム
JPH08227380A (ja) データ処理システム
JP2930071B2 (ja) 情報処理装置およびプロセッサ
JPH0520197A (ja) 記憶管理システム及びマイクロプロセツサ
JPS5844263B2 (ja) 記憶制御回路
US5450587A (en) Expanded memory addressing scheme