JPS6367662A - 仮想空間管理方式 - Google Patents

仮想空間管理方式

Info

Publication number
JPS6367662A
JPS6367662A JP61211557A JP21155786A JPS6367662A JP S6367662 A JPS6367662 A JP S6367662A JP 61211557 A JP61211557 A JP 61211557A JP 21155786 A JP21155786 A JP 21155786A JP S6367662 A JPS6367662 A JP S6367662A
Authority
JP
Japan
Prior art keywords
address
space
region
register
common region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP61211557A
Other languages
English (en)
Inventor
Katsuaki Takagi
高木 克明
Hirokazu Aoki
郭和 青木
Norio Nakagawa
中川 典夫
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 JP61211557A priority Critical patent/JPS6367662A/ja
Publication of JPS6367662A publication Critical patent/JPS6367662A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、コンピュータにおける仮想空間の管理方式に
係り、特に高速な仮想空間切換えと、効率のよいアドレ
ス変換バッファ制御を行なうに好適な仮想空間管理方式
に関する。
〔従来の技術〕
従来大型コンピュータにおける多重仮想空間の制御は、
特開昭56−163570のように各々の仮想空間に対
して1つづつのセグメントテーブルを割当てる方式がと
られている。この方式では、各仮想空間に対して共通な
領域であることを示す手段として、セグメントディスク
リブタ内に共通セグメントビットを持っており、このビ
ットをアドレス変換バッファ(TLB)で認識すること
によってTLBの使用効率を上げている。またセグメン
トテーブルの先頭アドレス(STO)と空間番号を対応
づける手段を設け、共通セグメントでないセグメントす
なわち個別セグメントについては、空間番号と論理アド
レスの組に対して物理アドレスを対応づけてTLBに登
録することにより、空間切換え時にTLBパージを行な
わないようにして、空間切換えに伴うオーバヘッドを低
減している6〔発明が解決しようとする問題点〕 しかし、上記の方式では、以下のごとき問題がある。す
なわち第1に、共通領域として指定するセグメントのデ
ィスクリブタに関しては、すべてのセグメントテーブル
の対応する位置にあるディスクリブタの内容が同一であ
ることが必要であり、このことをソフトウェアが保証し
なくてはならないという問題がある。すなわちもし内容
を書換える必要が生じた場合、ソフトウェアは多重空間
の数だけ存在するセグメントテーブルの所定のディスク
リブタをすべて書換えねばならない。またこの開割込み
等も一般に禁止されねばならない。
第2図に、論理アドレスのサイズが大きくなるとセグメ
ントテーブルが大きくなりすぎ、主メモリの無駄になる
と同時に、ソフトウェアにとっても管理しにくくなると
いう問題がある。例えば仮想空間の低位アドレス側にプ
ログラムやデータ。
中位アドレスにスタック、高位アドレス側にシステムプ
ログラムを置くというような割付けをすると、実際に使
っている空間サイズは小さいにもかかわらず、セグメン
トテーブルは全空間に対して割付けねばならない。この
場合、多くのディスクリブタはそのセグメントが使われ
ていないことを示すためにのみ存在することになる。
本発明の目的は、このような欠点を解決し、ソフトウェ
アが扱いやすくかつ高速な仮想空間切換えと効率のよい
アドレス変換が可能な多重仮想空間の管理方式を提供す
ることにある。
〔問題点を解決するための手段〕
上記目的は、仮想空間を複数のリージョンと呼ぶ単位に
分割し各リージョンが各々のセグメントテーブルによっ
て変換されるものとした場合に。
各リージョン毎にそれが多重空間の中で共通領域として
使われるか、個別領域(すなわち多重化の数だけ存在す
る領域)であるかを示す手段と、各空間ごとに持ちその
空間の個別リージョンに関する情報を集中的に管理する
空間管理テーブルと、アドレス変換に使用する仮想空間
を空間管理テーブルのアドレスという形で指定する空間
管理テーブルアドレスレジスタと、空間管理テーブルア
ドレスから空間番号を生成する手段と、空間番号および
共通領域内アドレスかどうかを示す共通フラグとを保持
する手段を有するアドレス変換バッファ(TLB)とか
らなる仮想空間管理方式を用いることにより達成される
〔作用〕
空間切換えを行なう場合、まず空間管理テーブルアドレ
スレジスタに新しい空間の空間管理テーブルのアドレス
を設定する。空間管理テーブルには個別リージョンに関
するセグメントテーブルアドレスなどの情報が入ってい
るので、個別リージョンのセグメントテーブルは切換え
られる。一方共通リージョンに関しては何らの変更もな
されないため、元のままのセグメントテーブルが継続し
”C変換に使われる。したがって従来と異なり共通リー
ジョンに関しては、単一のセグメントテーブルのみ管理
すればよいのでソフトウェアの負担が軽くなる。
一方空間切換えはソフトウェアが空間管理テーブルアド
レスレジスタを書換えるだけで行なわれるため、ハード
ウェアはこのレジスタの書換えを空間切換えと認識すれ
ばよい。空間切換えが行なわれると空間番号生成手段に
よって新しい空間番号が生成される。TLBに空間番号
と共通フラグを持つことによって、空間切換えに伴なう
TLBからの個別リージョンに対するアドレス変換対の
パージを行なう必要がなくなるため、新しい変換対を登
録するための最も使われていない変換対の追出しでいく
つかの変換対がTLBから消滅する以外は、再びもとの
空間に戻った時に有効に使うことができる。
さらに空間切換えがレジスタ1本への書込みだけで行な
われるため、複数のリージョンに対する複数のセグメン
トテーブルアドレスの入換え等の処理を例えばメモリ管
理機’Fat(MMU)がマイクロプロゲラ11により
実行することができる。したかってソフトウェアで入換
えを行なう場合に比べて空間切換えの高速化を計ること
ができる。
〔実施例〕
以下本発明の一実施例を以下に説明する。
第1図は本発明の概要を示す図であり、図中1はCPU
の論理アドレス(LA) 、2はメモリ管理機構(MM
U)、3は主メモリを表わす、また論理アドレス1はさ
らにリージョン指定部R、セグメント指定部S、ページ
指定部Pおよびオフセット部Oに分けられる。MMU3
はアドレス変換バッファ(TLB)22を持っており、
通常LA1のR,S、P部を結合したLA222部と、
空間管理テーブルレジスタSMTAR20がら空間番号
生成回路21を用いて生成される空間番号5N221部
とによって連想動作が行なわれ、ページフレーム番号(
PFN223)を読出す。物理アドレス25はPFN2
23と論理アドレス1のオフセット部○を結合したもの
である。ここで共通フラグC220は論理アドレスLA
222が共通リージョンに含まれているものであるかど
うかを共通リージョン表示回路24の表示に従って表示
している。そして共通リージョンに含まれているならば
例えばC220=“1″となり、このときTLB22は
そのエントリに関して空間番号5N221を無視して連
想を行なうように動作する。
次にMMU2への設定及び動作について説明する0本実
施例では、空間管理テーブルSMT31は個別リージョ
ンに関する情報のみを管理しているものとする。すると
MMU2を動作させる前にあらかじめ共通リージョンの
位置および共通リージヨンに関する情報が必要である。
共通リージョンの位置は共通リージョン表示回路24に
例えばCPUが共通リージョン位置の情報を書込むこと
により設定できる。また共通リージョンに関する情報、
例えばセグメントテーブルの先頭ア下レスやテーブルの
大きさなどの情報は、リージョンレジスタ23のうち共
通リージョン表示回路24で共通リージョンであると指
定されているリージョンに対応するレジスタすなわち共
通リージョンレジスタ231にCPUが書込んで設定す
る。
仮想空間が切換える場合、CPUはSMTAR20に新
しい空間管理テーブルのアドレスを書込むだけでよい。
すると、以後の処理は、すべてMMU2がそれ自身のマ
イクロプログラム等の制御によって行なう。新しい値が
SMTAr120に設定されるとまず空間番号生成回路
21により新しい空間番号が決められる。このとき、も
しSMTAR20に設定された値が以前に設定されたこ
とのある値であって、しかもまだその値に対応する空間
番号をTLB22が保持しているなら、保持している空
間番号に等しい空間番号が空間番号生成回路21により
生成される。一方M M U 2はSMTAR20が示
す空間管理テーブルSM、T31をアクセスし少くとも
その一部をリージョンレジスタ23のうち共通リージョ
ン表示口vr24で個別リージョンであると指定されて
いる個別リージョンレジスタ232に取込む。このよう
にして新しい仮想空間に関する共通リージョンおよび個
別リージョンの情報が準(Bされる。以後は論理アドレ
ス1がTLB22にヒツトしなかった場合、リージョン
レジスタ23あるいは取込まれていない情報があれば空
間管理テーブルSMT31の情報を用いてセグメントテ
ーブル32さらにページテーブル33を検索し、ページ
テーブル内のページフレーム番号PFNと論理アドレス
LA、空間番号SNおよび共通フラグCをTI、F12
2に書込んで登録する。その後同じ論理アドレスによる
アクセスが行なわれる場合にはTLB22から直接PF
Nが求められる。
第2図は本実施例における多重空間とテーブル類の関係
を示したものである。
共通リージョンに関する定義は共通り一ジョンレジスタ
231を起点にして与えられる。すなわち共通リージョ
ンレジスタ231はセグメントテーブル32−Cを指す
。セグメントテーブル内の各ディスクリブタは一般に各
々異なるページテーブル33を指定する。これらは多重
空間全体の中でユニークに存在するので、ソフトウェア
はこのテーブル群を管理しておけば共通リージョンに関
する処理は完結する。
一方個別リージョンに関する定義は空間管理テーブルア
ドレスレジスタSMTA!(20を起点とする。
各々の空間はそれぞれについて1つずつ持っている空間
管理テーブル31から順にセグメントテーブル32.ペ
ージテーブル33と連結されたテーブル群によって定義
される。そこでCPUが各々の空間を代表するものとし
て空間管理テーブル31の先頭アドレスをSMTAR2
0にセットすれば、所望の空間を選択することができる
。またMMtJ2もSMTAR20の値を監視しておく
ことにより。
空間の切替りあるいは元の空間への帰還が生じたことを
知ることができる。
第3図は空間番号発生回路21の実施例である。
この例では0から3までの4種の固定空間番号を割付け
る回路を示している。4本のレジスタ211はSMTA
R20の内容を記憶するレジスタである。また有効フラ
グ212はレジスタ211の内容が有効であるかどうか
を示す、今、ある空間管理テーブル31のアドレスがS
MTAR20に書込まれたとする。すると制御回路21
4はこのアドレスと一致するものがレジスタ211にあ
るかどうかを比較器216を使って調べる。もし一致す
るものがあり、かつその有効フラグ212が有効を表示
していれば、そのレジスタの位置に対応する固定空間番
号213が選択され、空間番号レジスタ215にセット
される。この場合にはレジスタ211にすでに入ってい
たのでTLB22にもこの空間におけるアドレス変換対
が空間番号レジスタ215にセットされた空間番号と共
に残っていると一般に考えられる。したがって主メモリ
上の変換テーブルを用いてのアドレス変換を行なわず直
接TLB22から物理アドレスを読出せるので、メモリ
アクセス時間が短縮される。次にSMTAR20にセッ
トされたアドレスとレジスタ211内のアドレスが一致
しない場合、制御回路214は有効フラグ212が無効
を示しているエントリがあるかどうかを調べる。もし無
効なエントリがあればそこにSMTAR20の値をセッ
トし対応する空間番号を空間番号レジスタ215にセッ
トする。
無効な“エントリがない場合、制御回路214は例えば
L RU制御(最も最近使われなかったものを追出す制
御)によりいづれかのエントリの内容を無効にする。こ
の時同時にTLB22からもその空間のアドレス変換対
を追出さねばならない、そのため無効にしたエントリの
空間番号を空間番号レジスタ215にセットするととも
に、TLBに対して空間番号レジスタ215にセットさ
れた空間番号を持つアドレス変換対をパージするための
パージ信号217をT L r3に送出する。その後S
MTAR20の内容を今無効にしたエントリのレジスタ
211にセットし有効フラグ212を有効にする。
なお空間番号の作り方は第3図に示した固定空間番号方
式の他に、空間管理テーブルのアドレスから作成する方
法、タイマの値を使う方法等がある。
第4図はT L B 22の構造の概要である。ここで
は完全連想型のT T、、 Bを想定している。アドレ
ス変換対の検索を行なう場合、空間番号5N221と論
理アドレスLA222を入力する。またエントリが有効
かどうかを示す有効フラグ■224には“1″を入力す
る。この連想メモリには共通フラグC220による特別
な制御機能がある。すなわち共通フラグC220が“O
”のエントリは空間番号5N221を連想の対象とする
が、共通フラグC220が5′1”の場合すなわち共通
リージョンに含まれるアドレスである場合にはそのエン
トリの空間番号5N221を比較の対象からはずすとい
う機能である。入力データと各エントリの内容との比較
はエントリ毎に同時に行なわれ一致判定回路226に入
力される。一致するエントリがあったかどうかは一致線
226−1に表示される。一方各エントリの比較結果は
PFN223および各種フラグ225を保持しているデ
ータアレイに入力され、一致の検出されたエントリの内
容が読出される。各種フラグ225にはページの保護内
容等が入っており、TLB判定回路227でアクセスが
許可されているかどうかが判定される。この結果と一致
線226−1とからT L B 22での変換が成功し
たかどうかを示すTLBヒツト信号228が出力される
。なお空間切換え時にある空間を追出す場合には、パー
ジ信号217により論理アドレスLA222をマスクし
連想の対象からはずすとともに、共通フラグC220に
は“O”を入力し個別リージョンのみを連想の対象とす
る。そして一致が検出されたエントリの有効フラグv2
24を“O”にクリアすることによってパージが完了す
る。
第5図はリージョンレジスタ23および共通リージョン
表示回路24に関する実施例である。リージョンレジス
タ23へのデータ入力は共通リージヨン表示回路24の
出力を受けてセレクタ233−1〜4により表示24が
“0”のときはメモリ側からのデータ、t!237が、
表示24が1′1 ##のときはCPUからのデータ線
236が選択される。こうして共通リージョン表示回路
24によってリージョンレジスタ23の各々の性格が決
まり、個別リージョンレジスタ232と共通リージョン
レジスタ231に分類される。共通リージヨンレジスタ
231に対してはCPUから直接書込みが行なわれ1通
常ひとつのオペレーティングシステムが稼動中は害換え
られることはない。
個別リージョンレジスタ232への書込みは変換制御回
路26により自動的に行なわれる。書込データはメモリ
からのデータ線237を通して取込まれた空間管理テー
ブルSMT31である。
変換テーブルによりアドレス変換を行なう場合まずCP
Uからの論理アドレス1のRフィールドが入力される。
セレクタ234は論理アドレス1と変換制御回路26か
らのレジスタアドレスの選択を行なう。アドレス変換時
にはセレクタ234は論理アドレス1の側をデコーダ2
35に通す。
デコーダ235により選択されたリージョンレジスタ2
3の内容は内部演算回路へのデータ線238に出力され
る。出力されたリージョンレジスタ23の内容は演算等
の処理されてセグメントテーブルの検索に使われる。
〔発明効果〕
以上述べたように、本発明によれば多重仮想空間におい
て、各空間に共通な共通リージヨンと、多重化される個
別リージョンとを分離し、かつ個別リージョンに関して
は統一的管理ができるので。
ソフトウェアにとって扱いやすく、かつ高速な仮想空間
の切換えと効率のよいアドレス変換が可能な多重化され
た仮想空間の管理方式を提供することがで我る。
【図面の簡単な説明】
第1図は本発明の概要を示す図、第2図は多重空間とテ
ーブル類の関係を示す図、第3図は空間番号発生回路の
一実施例を示す図、第4図はTLBの一実施例を示す図
、第5図はリージョンレジスタおよび共通リージョン表
示回路の一実施例を示す図である。 1・・・論理アドレス、2・・・メモリ管理機構、3・
・・主メモリ、20・・・空間管理テーブルアドレスレ
ジスタ、21・・・空間番号生成回路、22・・・アド
レス変換バッファ(TLB)、23・・・リージョンレ
ジスタ、31・・・空間管理テーブル、32・・・セグ
メント33、公−ンチーノーし 222・ 論理アトしス     227・・・丁LB
f’l’l@シシ223 ・・公−シフムー41ト号 ZZ4・・・清妨フラワー

Claims (1)

    【特許請求の範囲】
  1. 1、アドレス変換テーブルを用いて論理アドレスから物
    理アドレスへの変換を行なう動的アドレス変換機構と、
    論理アドレスと物理アドレスの対応の一部を格納するア
    ドレス変換バッファ(TLB)を有するデータ処理シス
    テムにおいて、仮想空間を複数のリージヨンに分割し、
    各リージヨン毎に共通リージヨンか個別リージヨンかを
    指定する手段と、すべての個別リージヨンに関する情報
    を集中して管理する空間管理テーブルのアドレスを保持
    する手段と、共通リージヨンに関する情報を保持する手
    段と、空間管理テーブルアドレスから空間番号を生成す
    る手段と、共通リージヨン内の論理アドレスかどうかを
    認識する手段、および個別リージヨン内アドレスに対し
    て空間番号を保持する手段を有するアドレス変換バッフ
    ァ(TLB)と、を有することを特徴とする仮想空間管
    理方式。
JP61211557A 1986-09-10 1986-09-10 仮想空間管理方式 Pending JPS6367662A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61211557A JPS6367662A (ja) 1986-09-10 1986-09-10 仮想空間管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61211557A JPS6367662A (ja) 1986-09-10 1986-09-10 仮想空間管理方式

Publications (1)

Publication Number Publication Date
JPS6367662A true JPS6367662A (ja) 1988-03-26

Family

ID=16607775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61211557A Pending JPS6367662A (ja) 1986-09-10 1986-09-10 仮想空間管理方式

Country Status (1)

Country Link
JP (1) JPS6367662A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164395A (ja) * 2002-11-14 2004-06-10 Renesas Technology Corp アドレス変換装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004164395A (ja) * 2002-11-14 2004-06-10 Renesas Technology Corp アドレス変換装置

Similar Documents

Publication Publication Date Title
US6408373B2 (en) Method and apparatus for pre-validating regions in a virtual addressing scheme
JP3640978B2 (ja) ページテーブル中のハッシュアドレスタグを用いたメモリアドレス制御装置
EP0208428B1 (en) Direct input/output in a virtual memory system
JP3666689B2 (ja) 仮想アドレス変換方法
JP3239218B2 (ja) キャッシュ管理システム
US8799621B2 (en) Translation table control
EP0431463B1 (en) Two-level translation look-aside buffer using partial addresses for enhanced speed
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
JPH05257803A (ja) 仮想記憶空間管理方法及びアドレス計算装置
JP2013145599A (ja) アーキテクチャイベントの間のプロセッサリソースの保持
JPH0628262A (ja) ルックアサイドバッファおよび仮想から物理的へアドレスを高速に翻訳する方法
JPH10228419A (ja) 様々なデフォルト・アドレス変換属性を事前ロードする方法および装置
JPH04232551A (ja) 多重仮想アドレス変換方法及び装置
JPS589277A (ja) デ−タ処理装置
JP2005509946A (ja) メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法
US5293622A (en) Computer system with input/output cache
JP3964821B2 (ja) プロセッサ、キャッシュシステム及びキャッシュメモリ
RU2487398C1 (ru) Способ формирования виртуальной памяти и устройство для его реализации
US6766435B1 (en) Processor with a general register set that includes address translation registers
JPH03235144A (ja) キャッシュメモリ制御装置
JPH11345168A (ja) デ―タ処理システム内のキャッシュ・メモリにアクセスするための方法およびシステム
JPS6367662A (ja) 仮想空間管理方式
JP4116346B2 (ja) 演算処理装置及びそのアドレス変換方法
JP3456727B2 (ja) データ処理装置
JPH10301848A (ja) 多重ページサイズを有する仮想記憶装置