JPS6273346A - アドレス変換装置 - Google Patents
アドレス変換装置Info
- Publication number
- JPS6273346A JPS6273346A JP60212382A JP21238285A JPS6273346A JP S6273346 A JPS6273346 A JP S6273346A JP 60212382 A JP60212382 A JP 60212382A JP 21238285 A JP21238285 A JP 21238285A JP S6273346 A JPS6273346 A JP S6273346A
- Authority
- JP
- Japan
- Prior art keywords
- tlb
- management program
- running
- address
- vmcp
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の利用分野〕
本発明は、TLBを有する仮想計算機システムに関し、
特にアドレス変換装置に関するものである。
特にアドレス変換装置に関するものである。
仮想計算機システムは、1台の実計算機の資源(処理装
置、実記憶装置、チャネルおよび入出力装置等)のもと
てあたかも複数の計算機が存在するかのごとく制御する
計算機システムである。仮想計算機システム(以下VM
S)では、主記憶装置や入出力装置は勿論、処理装置を
含むすべての資源をオペレーティング・システム(以下
O8)間で共有することができるように、多数のO8が
1台の実計算機上で見掛は上向時に走行できるようにす
る。このため、実計算機における2つの動作モード、つ
まり特権モードと非特権モードの動作形態を利用する。
置、実記憶装置、チャネルおよび入出力装置等)のもと
てあたかも複数の計算機が存在するかのごとく制御する
計算機システムである。仮想計算機システム(以下VM
S)では、主記憶装置や入出力装置は勿論、処理装置を
含むすべての資源をオペレーティング・システム(以下
O8)間で共有することができるように、多数のO8が
1台の実計算機上で見掛は上向時に走行できるようにす
る。このため、実計算機における2つの動作モード、つ
まり特権モードと非特権モードの動作形態を利用する。
すなわち、一般的には特権モードはO8の動作モードに
利用されているが、VMSでは特権モードは特殊な制御
プログラム(これを仮想計算機制御プログラム、以下V
MCPという)の動作モードとし、O8を非特権モード
で動作させるのである。複数の仮想計算機(以下VM)
は、実計算機と機能的に等価となるようにVMCPによ
りシミュレーションされる。
利用されているが、VMSでは特権モードは特殊な制御
プログラム(これを仮想計算機制御プログラム、以下V
MCPという)の動作モードとし、O8を非特権モード
で動作させるのである。複数の仮想計算機(以下VM)
は、実計算機と機能的に等価となるようにVMCPによ
りシミュレーションされる。
第1図は通常のVMSの概念図である。実計算機1は、
特権または非特権モードの処理要求(マシン命令)を扱
うことができる実計算機インタフェースをVMCP 4
に対し与えると、VMCP 4はこれを利用して動作し
各VM31,32の○5311や08321の動作を可
能にするため、別の実計算機インタフェースをこれらに
与える。第1図では、2つのVMLか示されていないが
、多数のVMが存在しても同じであって、08311,
321はVMSl、32が与える実計算機インタフェー
スを用いて動作することになり、あたがも実計算機1上
で動作しているように見える。また、08311.32
1はユーザ・プログラム511゜521.531,54
1に対して拡張マシン・インタフェースを与える。ここ
で、拡張マシン51゜52.53,54とは、ユーザ・
プログラムからノアルマとまった機能処理の要求(スー
パバイザ・コール)に対する処理をO8ごとにそのO8
内で実行する機能、および非特権モードのマシン命令等
である。コノように、VMCP 4とVM31,32と
の関係は一般のO8における制御プログラムと処理プロ
グラムとの関係に類似する。すなわち、制御プログラム
に相当するものがVMCP 4であり、処理プログラム
に相当するものがVM31,32である。 VMCP4
が生成したVM31,32は非特権モードで実行するた
め、VM31,32上での特権命令は特権命令例外とし
てVMCP 4に報告され、VMCP 4がシミュレー
ションを行うことにより実行される。
特権または非特権モードの処理要求(マシン命令)を扱
うことができる実計算機インタフェースをVMCP 4
に対し与えると、VMCP 4はこれを利用して動作し
各VM31,32の○5311や08321の動作を可
能にするため、別の実計算機インタフェースをこれらに
与える。第1図では、2つのVMLか示されていないが
、多数のVMが存在しても同じであって、08311,
321はVMSl、32が与える実計算機インタフェー
スを用いて動作することになり、あたがも実計算機1上
で動作しているように見える。また、08311.32
1はユーザ・プログラム511゜521.531,54
1に対して拡張マシン・インタフェースを与える。ここ
で、拡張マシン51゜52.53,54とは、ユーザ・
プログラムからノアルマとまった機能処理の要求(スー
パバイザ・コール)に対する処理をO8ごとにそのO8
内で実行する機能、および非特権モードのマシン命令等
である。コノように、VMCP 4とVM31,32と
の関係は一般のO8における制御プログラムと処理プロ
グラムとの関係に類似する。すなわち、制御プログラム
に相当するものがVMCP 4であり、処理プログラム
に相当するものがVM31,32である。 VMCP4
が生成したVM31,32は非特権モードで実行するた
め、VM31,32上での特権命令は特権命令例外とし
てVMCP 4に報告され、VMCP 4がシミュレー
ションを行うことにより実行される。
第2図は、VM−ヒで実行されろO8が仮想記憶制御を
採用している場合のアドレス空間とアドレス変換テーブ
ルの関連図を示す。
採用している場合のアドレス空間とアドレス変換テーブ
ルの関連図を示す。
第2図において、O8は自分が作成した仮想記憶装置上
のプログラムを実行するとき、O8が管理する変換テー
ブルを使用して、アドレス変換を行いプログラムを実行
させろ。ところがVM上でO8を実行すると、VM上の
O8が変換したアドレスはVMCPから見れば仮想アド
レスであり、さらにVMC:Pがそのアドレスを実記憶
装置ヒのアドレスに変換して実行させる必要がある。す
なわち、仮想記憶制御を行うO8ttvM上で実行させ
る場合は2段階のアドレス変換が必要となる。
のプログラムを実行するとき、O8が管理する変換テー
ブルを使用して、アドレス変換を行いプログラムを実行
させろ。ところがVM上でO8を実行すると、VM上の
O8が変換したアドレスはVMCPから見れば仮想アド
レスであり、さらにVMC:Pがそのアドレスを実記憶
装置ヒのアドレスに変換して実行させる必要がある。す
なわち、仮想記憶制御を行うO8ttvM上で実行させ
る場合は2段階のアドレス変換が必要となる。
また、O8の仮想記憶機能のサポートのためのアドレス
変換の効率をあげるため、例えば「(日立製作所製HI
TACMシリーズ処理装置」で示されるように実計算機
内にアドレス変換バッファ(TLB)を設けて、アドレ
ス変換操作の高速化を図るという方法がある。
変換の効率をあげるため、例えば「(日立製作所製HI
TACMシリーズ処理装置」で示されるように実計算機
内にアドレス変換バッファ(TLB)を設けて、アドレ
ス変換操作の高速化を図るという方法がある。
TLBには、以前に変換されたことのある論理アドレス
と、それに対応する実アドレス、論理アドレスの属する
仮想アドレス空間、言い換えると変換に用いたセグメン
トテーブルの区別などが登録されている。このように、
TLBを用;毬することによって、実計算機は1つのエ
ントリーに対する最初のアクセスに対してのみ主記憶装
置上のテーブルを参照すれば良く、その後の同一エント
リに対するアクセスは通常、TLBから直接実アドレス
を得ておこない、アドレス変換に要する時間を減らし効
率をあげている。TLBを用いた場合のアドレス変換の
過程を第3図に示す。
と、それに対応する実アドレス、論理アドレスの属する
仮想アドレス空間、言い換えると変換に用いたセグメン
トテーブルの区別などが登録されている。このように、
TLBを用;毬することによって、実計算機は1つのエ
ントリーに対する最初のアクセスに対してのみ主記憶装
置上のテーブルを参照すれば良く、その後の同一エント
リに対するアクセスは通常、TLBから直接実アドレス
を得ておこない、アドレス変換に要する時間を減らし効
率をあげている。TLBを用いた場合のアドレス変換の
過程を第3図に示す。
しかし、仮想計算機システムにおいて上記T L Bを
用いてアドレス変換を行った場合、VMCPの使用して
いるTLBのエントリとVMの使用しているTLBのエ
ントリ区別がないため、TLBの同一エントリに対しV
MCPとVM間の競合が起こり、TLBエントリが非所
望に無効化されてしまうという問題があった。
用いてアドレス変換を行った場合、VMCPの使用して
いるTLBのエントリとVMの使用しているTLBのエ
ントリ区別がないため、TLBの同一エントリに対しV
MCPとVM間の競合が起こり、TLBエントリが非所
望に無効化されてしまうという問題があった。
本発明の目的は、仮想計算機システムにおいてTLBを
使用してアドレス変換を行う場合、TLBをVMCPの
使用する領域とO8の使用する領域に分割することによ
り、アドレス変換の効率を向上させる装置を提供するこ
とにある。
使用してアドレス変換を行う場合、TLBをVMCPの
使用する領域とO8の使用する領域に分割することによ
り、アドレス変換の効率を向上させる装置を提供するこ
とにある。
本発明のアドレス変換装置は、VMC)’が走行してい
ることを示す標識を保持し、T L B t&VMCP
によって使用される領域とO8によって使用される領域
に分割し1分割されたT L Bのいずれかの領域を選
択する手段をそなえ、VMCPが走行する場合はTLB
内のVMCPによって使用される領域を選択し、VMC
Pが走行していない場合はTLB中のO8によって使用
される領域を選択することに特徴がある。
ることを示す標識を保持し、T L B t&VMCP
によって使用される領域とO8によって使用される領域
に分割し1分割されたT L Bのいずれかの領域を選
択する手段をそなえ、VMCPが走行する場合はTLB
内のVMCPによって使用される領域を選択し、VMC
Pが走行していない場合はTLB中のO8によって使用
される領域を選択することに特徴がある。
以下1本発明の第一の実施例及び第二の実施例をそれぞ
れ第4図及び第5図により詳細に説明する。
れ第4図及び第5図により詳細に説明する。
第4図の装置は、論理アドレス・レジスタ(LAR)1
01.TLBエントリ制御回路(TEC) 102 a
、アドレス変換バッファ(TLB)1’03.物理ア
ドレス・レジスタ(PAR)104.比較器105 、
VMCP走行表示レジスタ(CPR)106から構成
される。
01.TLBエントリ制御回路(TEC) 102 a
、アドレス変換バッファ(TLB)1’03.物理ア
ドレス・レジスタ(PAR)104.比較器105 、
VMCP走行表示レジスタ(CPR)106から構成
される。
LARIOIには仮想記憶装置上のアドレスがセットさ
れ、VMCP走行表示レジスタ106にはVMCPが走
行している時に“1”がセットされ、VMCPが走行し
ていない時に“O”がセットされる。
れ、VMCP走行表示レジスタ106にはVMCPが走
行している時に“1”がセットされ、VMCPが走行し
ていない時に“O”がセットされる。
第4図の動作は以下の通りである。LARIOIにセッ
トされた論理アドレスのページ・フィールドはTLBエ
ントリ制御回路102aの入力となる。LARIOIに
セットされた論理アドレスのセグメント・フィールド及
びTLB103から読み出されたセグメントインデスク
は比較器105の入力となる。VMCP走行表示レジス
タ106の内容はTLBエントリ制御回路102aの入
力となる。TLB103は、VMCP (7)使用する
領域103aとO8の使用する領域103bに分割され
ている。
トされた論理アドレスのページ・フィールドはTLBエ
ントリ制御回路102aの入力となる。LARIOIに
セットされた論理アドレスのセグメント・フィールド及
びTLB103から読み出されたセグメントインデスク
は比較器105の入力となる。VMCP走行表示レジス
タ106の内容はTLBエントリ制御回路102aの入
力となる。TLB103は、VMCP (7)使用する
領域103aとO8の使用する領域103bに分割され
ている。
VMCP走行表示レジスタ106の内容が“1”の場合
、つまりVMCPが走行しているとき、TLBエントリ
制御回路102aはLAR101のページ・フィールド
に対応するTLB103の該当エントリをT L B
103 aの範囲内から参照する。また、VMCP走行
表示レジスタ106の内容が“0″の場合、つまりVM
CPが走行していないとき、TLBエントリ制御回路]
、 02 aはLARIOIのページ・フィールドに対
応するTLB 103の該当エントリをTLB103b
の範囲内から参照する。
、つまりVMCPが走行しているとき、TLBエントリ
制御回路102aはLAR101のページ・フィールド
に対応するTLB103の該当エントリをT L B
103 aの範囲内から参照する。また、VMCP走行
表示レジスタ106の内容が“0″の場合、つまりVM
CPが走行していないとき、TLBエントリ制御回路]
、 02 aはLARIOIのページ・フィールドに対
応するTLB 103の該当エントリをTLB103b
の範囲内から参照する。
比較器105は、LARIOI4のセグメント・フィー
ルドとTLB 103内の1038の範囲あるいは10
3bの範囲から読み出された該当エントリのセグメント
インデスク比較して、両者が一致したときに“1”を出
力する。比較器105の出力が“1″の時、T L B
403内の103aの範囲あるいは103bの範囲か
ら読み出された該当エントリのページ実アドレスが有効
となりPAR104のページアドレス部に格納される。
ルドとTLB 103内の1038の範囲あるいは10
3bの範囲から読み出された該当エントリのセグメント
インデスク比較して、両者が一致したときに“1”を出
力する。比較器105の出力が“1″の時、T L B
403内の103aの範囲あるいは103bの範囲か
ら読み出された該当エントリのページ実アドレスが有効
となりPAR104のページアドレス部に格納される。
LAR101の変位フィールドは、直接PAR104の
変位フィールドに格納される。
変位フィールドに格納される。
次に、第二の実施例である第5図について説明する。第
5図の装置は、論理アドレス・レジスタ(LAR)10
1.TLBエントリ#御回路(TEC)102b、アド
レス変換バッファ(TLB)’103.物理アドレス・
レジスタ(PAR) 104 、 VMCP走行表示
レジスタ(CP R)106ページアドレス選択回路(
PSC)107から構成される。
5図の装置は、論理アドレス・レジスタ(LAR)10
1.TLBエントリ#御回路(TEC)102b、アド
レス変換バッファ(TLB)’103.物理アドレス・
レジスタ(PAR) 104 、 VMCP走行表示
レジスタ(CP R)106ページアドレス選択回路(
PSC)107から構成される。
第5図の動作は以下の通りである。LARlolにセッ
トされた論理アドレスのセグメント・フィールド及びペ
ージ・フィールドは、TLB工ントリ制御回路102b
の入力となる。 VMCP走行表示レジスタ106の内
容はページアドレス選択回路107の入力となる。
トされた論理アドレスのセグメント・フィールド及びペ
ージ・フィールドは、TLB工ントリ制御回路102b
の入力となる。 VMCP走行表示レジスタ106の内
容はページアドレス選択回路107の入力となる。
T L Bエントリ制御回路102bは、LARlol
のゼクメント・フィールド及びページ・フィールドに対
応するTLB103の該当エントリをTLB 103
a及びTLB103bから参照する。
のゼクメント・フィールド及びページ・フィールドに対
応するTLB103の該当エントリをTLB 103
a及びTLB103bから参照する。
ページアドレス選択回路107は、VMCP走行表示レ
ジスタ106の内容が# I IIの場合、TLB10
3内の1038の範囲から読み出されたページ実アドレ
スをPAR104のページアドレス部に格納する。また
、VMCP走行表示レジスタ106の内容が0”の場合
、TLB103内(7)103bの範囲から読み出され
たページ実アドレスをPAR104のページアドレス部
に格納する。
ジスタ106の内容が# I IIの場合、TLB10
3内の1038の範囲から読み出されたページ実アドレ
スをPAR104のページアドレス部に格納する。また
、VMCP走行表示レジスタ106の内容が0”の場合
、TLB103内(7)103bの範囲から読み出され
たページ実アドレスをPAR104のページアドレス部
に格納する。
LARI O1の変位フィールドは、直接PAR104
の変位フィールドに格納される。
の変位フィールドに格納される。
以上説明したように本実施例によれば、VMCPが走行
している場合はT L B 103 aを使用してアド
レス変換が行われ、VMCPが走行していない場合はT
L B 103 bを使用してアドレス変換が行われ
ろため、VMCPとO8によるT L Bの競合が起こ
らないのでアドレス変換を効率良く行うことができる。
している場合はT L B 103 aを使用してアド
レス変換が行われ、VMCPが走行していない場合はT
L B 103 bを使用してアドレス変換が行われ
ろため、VMCPとO8によるT L Bの競合が起こ
らないのでアドレス変換を効率良く行うことができる。
本発明によれば、VMCPが走行していることを示す標
識を保持し、TLBをVMCPの使用する領域とO8の
使用する領域に分割することにより、T LBの同一エ
ントリに対するVMCPとVM間の競合が起らないので
アドレス変換の効率を向上させることができ、VMSの
性能を向上させることが可能となる。
識を保持し、TLBをVMCPの使用する領域とO8の
使用する領域に分割することにより、T LBの同一エ
ントリに対するVMCPとVM間の競合が起らないので
アドレス変換の効率を向上させることができ、VMSの
性能を向上させることが可能となる。
第1図は通常の仮想計算機システムの概念図、第2図は
VMSにおけるアドレス空間とアドレス変換テーブルの
関連図、第3図は通常の計算機システムにおけるアドレ
ス変換装置の構成図、第4図は本発明の第一の実施例の
構成図、第5図は本発明の第二の実施例の構成図である
。 1・・・実計算機、101・・・論理アドレス・レジス
タ。 102.102a、102b−TLBエントリ制御回路
、103・・・アドレス変換バッファ、104・・・物
理アドレス・レジスタ、105・・・比較器、106・
・・VMCP走行表示レジスタ、107・・・ページア
ドレス選択回路。
VMSにおけるアドレス空間とアドレス変換テーブルの
関連図、第3図は通常の計算機システムにおけるアドレ
ス変換装置の構成図、第4図は本発明の第一の実施例の
構成図、第5図は本発明の第二の実施例の構成図である
。 1・・・実計算機、101・・・論理アドレス・レジス
タ。 102.102a、102b−TLBエントリ制御回路
、103・・・アドレス変換バッファ、104・・・物
理アドレス・レジスタ、105・・・比較器、106・
・・VMCP走行表示レジスタ、107・・・ページア
ドレス選択回路。
Claims (1)
- 【特許請求の範囲】 1、ひとつ又は複数のオペレーティング・システムを1
つの実計算機上で同時に動作させる管理プログラムを備
え、TLBを有する仮想記憶方式のもとで動作するTL
Bを有する仮想計算機システムにおいて、該管理プログ
ラムが走行していることを示す標識を保持し、該TLB
を該管理プログラムによつて使用される領域と、オペレ
ーティング・システムによつて使用される領域に分割し
、分割されたTLBのいずれかの領域を選択する手段を
備え、該標識によつて管理プログラムが走行しているこ
とが示される場合は、該選択手段によつて該TLB内の
管理プログラムで使用される領域を選択し、該標識によ
つて管理プログラムが走行していことが示されない場合
は、該選択手段によつて該TLB内のオペレーティング
・システムで使用される領域を選択することを特徴とす
るアドレス変換装置。 2、特許請求範囲第1項記載のアドレス変換装置におい
て、分割されたTLBのいずれかの領域を選択する手段
にかわり、分割されたTLBの両方の領域を同時に参照
する手段と、両方のTLBから読み出されたエントリの
いずれか一方のエントリを選択する手段を備え、該標識
によつて管理プログラムが走行していることが示される
場合は、該選択手段によつて該TLB内の管理プログラ
ムで使用される領域から読み出されたエントリを選択し
、該標識によつて管理プログラムが走行していることが
示されない場合は、該選択手段によつて該TLB内のオ
ペレーティング・システムで使用される領域から読み出
されたエントリを選択することを特徴とするアドレス変
換装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60212382A JPS6273346A (ja) | 1985-09-27 | 1985-09-27 | アドレス変換装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60212382A JPS6273346A (ja) | 1985-09-27 | 1985-09-27 | アドレス変換装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS6273346A true JPS6273346A (ja) | 1987-04-04 |
Family
ID=16621648
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60212382A Pending JPS6273346A (ja) | 1985-09-27 | 1985-09-27 | アドレス変換装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS6273346A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004526229A (ja) * | 2000-12-27 | 2004-08-26 | インテル・コーポレーション | 仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するための方法 |
-
1985
- 1985-09-27 JP JP60212382A patent/JPS6273346A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004526229A (ja) * | 2000-12-27 | 2004-08-26 | インテル・コーポレーション | 仮想マシン・モニタとゲスト・オペレーティング・システムの間のアドレス空間の競合を解決するための方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4802084A (en) | Address translator | |
| US4814975A (en) | Virtual machine system and method for controlling machines of different architectures | |
| CA1134052A (en) | Address control system for software simulation | |
| US7089377B1 (en) | Virtualization system for computers with a region-based memory architecture | |
| US5815686A (en) | Method and apparatus for address space translation using a TLB | |
| JPS62165250A (ja) | 仮想記憶方法 | |
| US5077654A (en) | Virtual machine system which translates virtual address from a selected virtual machine into real address of main storage | |
| JPH0195347A (ja) | アドレス変換方式 | |
| JPS61156445A (ja) | Tlbパ−ジ制御方式 | |
| JPS6273346A (ja) | アドレス変換装置 | |
| JPS61160160A (ja) | 仮想計算機システムにおけるアドレツシング制御装置 | |
| JPH06332803A (ja) | 仮想計算機システムにおけるtlb制御方法 | |
| JPS6273347A (ja) | アドレス変換装置 | |
| JP2798275B2 (ja) | 仮想記憶アドレス空間アクセス制御方式 | |
| JP2523502B2 (ja) | リカ−シブ仮想計算機の制御方式 | |
| JPS5850383B2 (ja) | 情報処理装置 | |
| JP3645671B2 (ja) | 命令バッファを有するプロセッサ装置 | |
| JPS6299844A (ja) | アドレス変換装置 | |
| JPS6336012B2 (ja) | ||
| CN121934821A (zh) | 一种编译方法、运行客户机的方法及相应装置 | |
| JPS6121545A (ja) | 仮想計算機制御方式 | |
| JPH07134658A (ja) | 仮想計算機システムのアドレス変換バッファ制御方式 | |
| JPH05334192A (ja) | Cpuアドレス変換方式 | |
| JPH0193831A (ja) | 仮想計算機のオペランドアクセス制御方式 | |
| JPS5918787B2 (ja) | Tlbパ−テイシヨン方式 |