JPH0348541B2 - - Google Patents

Info

Publication number
JPH0348541B2
JPH0348541B2 JP60179563A JP17956385A JPH0348541B2 JP H0348541 B2 JPH0348541 B2 JP H0348541B2 JP 60179563 A JP60179563 A JP 60179563A JP 17956385 A JP17956385 A JP 17956385A JP H0348541 B2 JPH0348541 B2 JP H0348541B2
Authority
JP
Japan
Prior art keywords
guest
address
tlb
datm
mode
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
JP60179563A
Other languages
English (en)
Other versions
JPS61117637A (ja
Inventor
Robaato Buranto Henrii
Meruin Gyanon Patoritsuku
Rin Ryuungu Wan
Richaado Maachini Chimoshii
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS61117637A publication Critical patent/JPS61117637A/ja
Publication of JPH0348541B2 publication Critical patent/JPH0348541B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】
A 産業上の利用分野 この発明は動的アドレス変換(DAT)と、他
のアーキテクチヤであつて同様にDATを行える
ものに対するエミユレーシヨンとの双方を行える
データ処理システムに関する。 B 用語の略称 用語の略称は以下のとおりである。 AA 絶対アドレス BC 基本制御モード(S/360) BCAR バツフア制御アドレス・レジスタ BCE バツフア制御要求(キヤツシユ制御お
よびTLBを含む) BDBO バツフア・データ・バス出力(キヤツ
シユ出力バス) BI バイト・インデツクス(仮想アドレスの
一部) C 共通セグメント・ビツト CR 制御レジスタ DATM 動的アドレス変換メカニズム DIAR DATM入力アドレス・レジスタ DLS DATM局所記憶 EC 拡張制御モード(S/370) EE 実行要素 G ゲスト H ホスト I 無効ビツト IE 命令要素 LA 論理アドレス LFAR ライン取込みアドレス・レジスタ LRA ロード実アドレス命令 LRU リースト・リースントリ・ユースト LSAR ライン記憶アドレス・レジスタ ML メモリ限界(エクステント) MP 多重処理システム MS 主記憶 OFFSET 主記憶中のゲスト記憶 PP ページ・プロテクト・ビツト PFRA ページ・フレーム実アドレス PFX プレフイクス PT ページ・テーブル PTE ページ・テーブル・エントリ PTL ページ・テーブル長 PTO ページ・テーブル起点 PX ページ・インデツクス RA 実アドレス SCE システム制御要素 ST セグメント・テーブル STE セグメント・テーブル・エントリ STO セグメント・テーブル起点 SX セグメント・インデツクス(仮想アドレ
スの一部) TAR 変換アドレス・レジスタ TBLR テーブル・レジスタ TLB 変換索引バツフア UP 単一処理システム V 有効ビツト VA 仮想アドレス XL 変換 C 従来技術 従来では、システム370基本制御(BC)モード
により、そのCPUがシステム360アーキテクチヤ
(これはDATを使用しない)でも動作できるよう
になつている。システム370拡張制御(EC)モー
ドはシステム370アーキテクチヤを利用し、この
アーキテクチヤは、実記憶中のセグメント・テー
ブルおよびページ・テーブルを用いてアドレス変
換を行うDATを使用する。システム370のDAT
はECモードにおける単一レベルのプロセスであ
り、これにより要求仮想アドレスが実アドレスに
変換される。これは以下のとおりである。 1 セグメント起点(STO)を制御レジスタた
とえばCR1から選択する、STOは主記憶にお
けるセグメント・テーブルの開始位置の実アド
レスである。 2 変換すべき仮想アドレスのセグメント・イン
デツクス(SX)部をSTOに加算してセグメン
ト・テーブル・エントリ(STE)の実アドレ
スを生成する。セグメント・テーブル・エント
リは所望のページ・テーブル起点(PTO)を
含んでいる。STEをそののち主記憶からフエ
ツチする。 3 こののち仮想アドレスのページ・インデツク
ス部(PX)をPTOに加算してページ・テーブ
ル・エントリ(PTE)の実アドレスを生成す
る、PTEをこののち主記憶からフエツチする。 4 PTEは所望のページ・フレーム実アドレス
(PFRA)を有し、このPFRAが、アドレスす
べきデータを有する主記憶中のページ・フレー
ムを位置決めする。PFRAは、所望データを有
するページについての仮想アドレスの変換結果
である。こののち、PFRA、その仮想アドレス
およびフラグ・フイールドをTLB(変換索引バ
ツフア)エントリに書き込んで所望データのペ
ージ・アドレスの変換を表示するようにし、か
つ将来同一ページのアドレス要求があつたとき
にアクセスを高速化できるようにする。 5 PFRAを仮想アドレスのバイト・インデツク
ス(BI)部に連結して要求データのシステム
主記憶の実アドレス(変換結果)を得る。この
のち要求データを主記憶においてアクセスす
る。 STEまたはPTEのいずれか一方に無効ビツト
があるとその内容を利用できない。変換は中止さ
せられ、例外表示をCPUに送る。CPUが所望の
ページ・テーブルまたはページにページ・インで
きれば将来要求が繰り返されて変換を行える。 CPUの「固有」(native)モードはアーキテク
チヤに合致したモードであり、主にこのモードに
おいて最良のパフオーマンスを実現すべくCPU
は設計される。そしてこのモードがCPUの非エ
ミユレーシヨン・モードと考えられる。CPUの
「エミユレーシヨン」モードは固有モード以外の
アーキテクチヤに関するモードであり、このモー
ドでもCPUは動作可能である。「ホスト」はCPU
上で固有モードで動作してシステム資源を直接に
制御する制御プログラムである。「ゲスト」は
CPU上でエミユレーシヨン・モードで動作して
被エミユレート・システムの見かけのシステム資
源を制御する制御プログラムである。被エミユレ
ート・システムはCPU上で実行を行つているア
プリケーシヨン・プログラムに対するものであ
る。したがつて、ゲストは、ゲストに見える資源
を制御し、この資源はホストにより制御されるシ
ステム資源の部分集合である。 従来のアドレス変換機構はつぎのことを含む。 1 CPUが固有モードで動作する場合には、
CPUがECモードで、かつDATモードがオンの
間に仮想アドレスを実アドレスに変換する。そ
ののちCPUは2つのテーブル(STおよびPT)
のルツク・アツプのシーケンスを利用して単一
レベルのアドレス変換を行う。 2 CPUがエミユレーシヨン・モードで動作す
る場合には、ページ可能なゲストのオペランド
および命令の仮想アドレスを、ゲスト・ホスト
間セグメント・ページ・テーブルにより、2レ
ベルのアドレス変換プロセスを利用して実アド
レスに変換する。この変換はページ可能なゲス
トがゲストのDATオン・モードで動作してい
るときに行われる。これはたとえば米国特許
4456954号に説明されている。この米国特許で
はホストのページ・フレームをゲスト・プログ
ラムに動的に割り当てるのを、ゲストが主記憶
スペースの他のページを要求する際に行うよう
にしている。 3 CPUに対する優先ゲスト・モードはホスト
絶対記憶の連続した領域をゲストに予め割り当
てておくことにより実現できる。この結果、優
先ゲストでは変換が簡略化され、この場合優先
ゲストがゲストDATオンで動作しているとき
に優先ゲストのみが単一レベルDATを用いる
必要がある。 4 CPUが多重プロセツサの場合、実アドレス
のゼロで始まる各ページ・フレームに対する実
アドレスの各々はCPUのプレフイクス・レジ
スタのプレフイクス(PFX)値を加算して変
更される。プレフイクス・ページ・アドレスお
よび他のすべての不変更ページ実アドレスは
「絶対アドレス」と呼ばれる。 5 命令Load Real Address(LRA)に対して
は、どのようなプログラムが実行されている場
合でも、その命令からの仮想アドレスを実アド
レスに変換して条件コードとともにCPUに戻
す。 6 1984年1月に発行されたIBM社の出版物
「システム370インタープリテイブ実行」
(System/370Interpretive Execution)には、
ホスト上の多数の仮想計算機(VM)を操作す
るために命令Start Interpretive Execution
(SIE)を用いるホスト計算機上のゲスト計算
機のエミユレーシヨンが説明されている。この
文献では、ゲスト主記憶の量を、ゲスト主記憶
始点バリユーにより、ホスト・アドレス空間内
のページ可能なゲスト用に配される程度のもの
としてどのように特定するかという点と、ゲス
ト・プレフイクス値がゲスト実ページをどのよ
うにゼロにするかという点につき詳細な説明が
ある。 従来のCPUは変換索引バツフア(TLB)を有
し、このTLBがCPU仮想アドレス要求の各々を
受け取つている。仮想記憶要求のアドレス変換を
TLBエントリで発見できないならばDATプロセ
スを実行して変換をTLBエントリに配置する。 従来のDAT装置は以下の様にして固有モード
の変換を実現するよう動作する。 1 セグメント・テーブル・エントリ(STE)
を計算する。 2 主記憶のSTEを取り込む。 3 ページ・テーブル・エントリ(PTE)を計
算する。 4 主記憶のPTEを取り込んでページ・フレー
ム実アドレス(PFRA)を得る。 5 PFRAおよびバイト・インデツクス(BI)
を連結して所望の実アドレスを得る。 6 プレフイクスを所望の実アドレスに適用して
(データがページ0にあるならば)、所望の絶対
アドレスを得る。 7 所望のデータを取り込む。 つぎの場合は変換が行われない。 (1)命令が実アドレスを含むものとして定義され
ていれば、DATがオンの間いくつかのシステム
制御命令によつては変換が行われない。また(2)
CPUがBCモードで動作しているか、または
DATがオフでECモードで動作しているならばい
ずれの記憶要求によつても変換は行われない。 エミユレーシヨン・モードは「優先」
(Preferred)および「非優先」(non−preferred)
の部分集合モードを有している。「優先」はゲス
ト絶対アドレスをホスト絶対アドレスと等しいと
特定して(そのゲストに対して特定されたホス
ト・オフセツトが通常ゼロとなる)ゲスト変換手
順を簡略化するようにしたエミユレーシヨン・モ
ードである。優先ゲストDATがオンであれば、
優先ゲスト絶対アドレスの各々はホスト絶対アド
レス(ホスト・オフセツトをともなう)と等しく
なり、かつゲスト単一レベルDAT動作のみが実
行される。ゲストDATがオフであれば優先ゲス
ト所望アドレス(オフセツトをともなう)がホス
ト絶対アドレスと等しくなり、DAT動作は行わ
れない。換言すればつぎのようになる。すなわち
「優先ゲスト・モード」はゲストがホストと同一
のDAT効率で動作できることを意味し、他方
「非優先モード」はホストに較べ著しく低いDAT
効率で動作することを意味する。 「優先ゲスト」はまた予め割り当てられたシス
テム記憶および部分集合のI/O資源を、「ホス
ト」制御プログラムを利用することなく、直接に
管理することができる。他方「非優先ゲスト」
(すなわちページ可能ゲスト)はどのようなシス
テム資源をも直接には管理できず完全にホスト・
プログラムを介して動作する。 第16図は従来の種々の型のアドレス変換たと
えばゲスト仮想アドレス変換、ゲスト実アドレス
変換および優先ゲスト・アドレス変換を示してい
る。CPU内の状況トリガが現行のアドレス・モ
ードを表示する。動的アドレス変換(DAT)ビ
ツトがCPUのプログラム状況ワード(PSW)で
オン(すなわちDATオン)の間仮想アドレスは
実行プログラムからの記憶アドレスにより表示さ
れる。実行プログラムからの実アドレスはオフの
DATビツト(すなわちDATオフ)のCPU中の
PSWにより表示される。 IBM370XAアーキテクチヤではエミユレーシ
ヨン・モードへの移行は命令Start Interpretive
Execution(SIE)の実行により行われる。この命
令は状況記述(SD)テーブルを主記憶に有し、
SDテーブルが被エミユレートCPUの状況を定義
する。ホスト・プログラムはSIE命令を実行して
CPUをエミユレーシヨン・モードにしてゲス
ト・プログラムがつぎに実行すべき命令を実行開
始するようにする。ゲスト・プログラムは、ホス
ト制御システムに制御を移すような割込みまたは
通知割り込みイベントを生じるまで、実行を継続
する。 D 発明の概要 この発明によれば変換索引バツフア(TLB)
と組み合わさつて2レベルの変換を生成する新規
なハードウエアが提供される。この発明によれば
370XAのSIE(解釈実行開始)命令をサポートし
て、これにより、VM/370で以前用いられてい
た低速動作のソフトウエアTLB(すなわちシヤド
ウ・テーブル)を用いる必要がなくなるようにで
き、また米国特許4456954号で説明されているよ
うな2レベルDATマイクロ・コードを用いる必
要もなくなる。このマイクロ・コードは変換の初
めおよび終りにおいてTLBをインターフエース
するものである。 この発明の目的はつぎのようなハードウエアの
2レベルDAT機構を提供することにある。 1 記憶オペランドを有する命令用の命令実行マ
イクロコードにつき再開始能力を要求しないよ
うにすること。従来、命令実行マイクロコード
(これはDAT機能を行わない)が命令中のオペ
ランド・フイールドを実行する際TLBがヒツ
トであるかぎりスムーズに動作する。TLBの
ミスが起こると命令実行マイクロコードが
DATマイクロコードに分岐し、こののちDAT
マイクロコードがオペランド・アドレスの変換
を実行する。この変換結果はTLB中に配置さ
れる。こののち命令マイクロコードは初めから
再開始し、命令マイクロコードが同一オペラン
ド・フイールドにいたるとTLBヒツトを得る。
このようなマイクロコードは、変換の各々が終
了したのちマイクロコードを再開させるため
CPU内のIEからTLBインターフエースにわた
る再開制御を必要とする。この発明は変換のた
めには何らマイクロコードの再開制御を必要と
しないようにするものである。 マイクロコードの割込み保管による別の手法
(これはマイクロコードの再開を回避できる)
は効率上の問題を解決できない。この手法では
命令中の記憶オペランドの各々につき割込み保
管のスタツクを実現するのに付加的なマイクロ
コードを要するからである。割込み保管のスタ
ツクは命令マイクロコードに復帰点を保持する
ので、DATマイクロコードにより変換が完了
させられるつど割込みがあつた場所から命令マ
イクロコードが継続する。この互換手法は非常
に大きなマイクロコードを付加して長大な
CPU実行サイクルを必要とし、この結果シス
テム効率は改善されない。 2 命令実行マイクロコードによる潜在的な
CPUデツト・ロツクを回避すること。DATマ
イクロコードが2レベル変換時にゲスト中間変
換をTLB中に置くとCPUデツドロツクが起こ
る。このことは従来では禁止されている。たと
えば2つの記憶オペランドをともなう命令は3
個までの2レベル変換を必要とする可能性があ
る。1つは命令取込み用であり、他の2つはオ
ペランド取込み用である。2レベル変換の各々
は3つの中間変換を必要とする。それゆえその
ような命令は最高で9個の中間変換をともな
う。第2オペランド用の2つの中間変換が、2
段セツト連想TLB中の第1オペランドと同一
のTLB適合クラスを利用するならば、第1オ
ペランドの変換は、データ取込みのために利用
されたのち、オーバーレイさせられる。命令マ
イクロコードが第2オペランド変換後に再開さ
せられたとき、マイクロコードは、その先行し
て変換された第1オペランドについて再度
TLBミスを有する。なぜならばそのTLBエン
トリは後の中間変換によりオーバーレイさせら
れるからである。この結果、マイクロコードの
動作は第1および第2オペランド変換の間を繰
り返すことになり、CPUのデツドロツクが招
来される。従前のマイクロコード制御変換器は
特殊な「禁止TLB」特性を利用し、中間変換
が同一の命令につき有効ゲストTLBエントリ
の内容をオーバレイしないようにし、これによ
りマイクロコードのデツドロツクを回避する。 (3) 将来の2レベル変換要求を高速化するために
ゲスト中間アドレス変換をTLBに書き込むこ
と。この発明のハードウエア変換器では記憶取
込み要求は変換の各々が完了するまさにそのと
きに送出される。変換が最終的なものか中間的
なものかは問題でない。そしてこのとき同時に
変換の各々がTLBに書き込まれる。TLB中の
第1オペランド変換が、のちにTLBに送られ
る中間アドレス変換によりオーバーレイされる
ならば、データは主記憶においてすでにアクセ
スされているのでデツドロツクは起こらない。
オーバーレイしている中間変換は後刻の命令用
に使用されるかもしれず、第1オペランド変換
をTLBに保持しておく場合に比して同等かそ
れ以上にシステム効率上有益である。米国特許
4456954の従前の2レベル変換過程ではゲスト
中間変換はTLBに書き込まれない。 4 DAT動作を要求するオペランド・アドレス
によりTLBミスに対する命令マイクロコード
の実行の割込みを行わず、マイクロコード再開
が必要とされないようにすること。通常記憶オ
ペランド・アクセス用に供給される命令マイク
ロコードのその点で、要求オペランドが呼び出
されると、要求オペランドがこの発明のDAT
装置の制御の下で記憶装置から受け取られる。
換言すれば、この発明のハードウエアDATメ
カニズムを用いる命令マイクロコードは、
TLBミス時のいかなる再開に対しても停止し
たり戻つたりすることなく、その通常のシーケ
ンスを実行させられることだけが必要となる。
TLBミスをともなうゲスト命令記憶要求の
各々は、TLBエントリにある可能性のある任
意のホスト単一レベル中間アドレス変換を用い
て、2レベル変換の間スピード・アツプされ
る。このため、この発明は中間変換を、TLB
中に置いて何らかのセツト・アソーシヤチブ性
を、デツド・ロツクが発生するかどうかを考慮
することなく有するようにしている。同時に
TLBに中間変換を保持することにより得られ
る付加的なシステム効率を実現する。 5 動的アドレス変換を実行する独立した機能を
提供すること。これは完全にハードウエアで実
現することができる。このDAT機構は、CPU
が要求するすべての2レベル・アドレス変換お
よび単一レベル・アドレス変換を行うことがで
きる。これはいかなる命令実行マイクロコード
の動作からも独立であり、オーバラツプするも
のである。従前のDATは限られた範囲の変換
を「加速ゲスト・モード」(acceleratedguest
mode)変換として処理できるのみであつた。
またゲスト2レベル変換は「加速ゲスト・モー
ド」で行われなかつた。「加速ゲスト・モード」
で行われないアドレス変換は「非加速ゲスト・
モード」と呼ばれていた。この発明に関しては
加速モードはシステム上必要ない。なぜならば
すべての変換がその最高速度で行われるからで
ある。 6 マシン・サイクル時間が同一であつても、こ
の発明では、従前のマイクロコード制御変換器
より数倍速く2レベルDATを実行でき、CPU
効率上顕著な高速化をもたらす。すなわち、こ
の発明では命令マイクロコード再開をなくし、
またTLBが中間変換および最終変換の双方を
記憶できるようにし、また中間変換が必要とす
るテーブル・エントリのすべてを取り付むこと
により、さらに要求データを各変換結果ととも
に取り付むことにより、複雑なアドレス変換を
実行するのに必要なマシン・サイクルの数を著
しく削減することができる。 この発明はステート制御されたハードウエア
DATメカニズム(DATA)を提供する。この
DATMはCPUにおいてTLBに連給され、ゲス
ト、ホストまたは固有アドレスにより必要とさ
れるすべての仮想アドレス変換を高速で実行す
る。DATMは次ステート論理回路を有し、次
ステート論理回路がステート・レジスタを通じ
てDATM動作を続ける。ステート・レジスタ
は現行DATMステートを入力して次ステート
論理回路を制御し、これにより、DATMが次
ステートを生成できるようにする。次ステート
はつぎにステート・レジスタに現行のステート
として入力され、処理が継続される。処理は、
DATMが変換動作を完了して非使用状態にい
たるまで続けられる。 DATMの内部シーケンスは、TLBヒツト・
ミス信号、キヤツシユヒツト・ミス信号、また
はDATが現行プログラムにつきオンかオフか
により制御される。また、CPU要求信号にも
制御される。たとえば要求がゲスト・プログラ
ム、固有プログラム、優先ゲスト・プログラム
または非優先ゲスト・プログラムからのものか
とか、ゲストDATステートがオンか、オフか
または任意のプログラムの実アドレス転送
(LRA)命令からのものかとかに制御される。 いくつかのDATMステートは記憶取込み要
求を生成する。この要求にはアドレス・ステー
トに対する待ち状態が続く。このときDATM
は主記憶から取り込むべき要求データ(たとえ
ばセグメントやページ・テーブル・エントリ)
を待つことになる。 2レベル変換のためのDATMシーケンスは
TLBエントリに中間ゲスト変換(たとえばゲ
ストSTE実アドレスやゲストPTE実アドレス
用のもの)の各々を入力し、そののちゲスト要
求データ絶対アドレスをゲスト要求仮想アドレ
ス変換としてTLBに入力する(このゲスト・
データ絶対アドレスはまたゲスト・データの中
間ホスト仮想絶対アドレスの変換でもあり、後
者の中間変換はTLBエントリのいずれにも入
力されない。将来それを使いそうもないからで
ある)。 2つの中間ゲスト・テーブル・エントリ変換
をTLBに置いておくことにより、システム効
率が改善される。将来のゲスト要求がこれら中
間TLBエントリを用いなければならない蓋然
性があるからである。 E 実施例 良好な実施例はデータ処理システムで実行を行
つているプログラムにより供給される仮想アドレ
スを、変換する方法と、この方法を用いるハード
ウエアとの双方である。仮想アドレスは一般にデ
ータ処理システムのCPU内の命令ユニツトまた
は実行ユニツトにより供給される。 第1図はバツフア制御エレメント(BCE)に
この発明の一実施例を含んでなるCPUを示して
いる。BCEは高速バツフア(すなわちキヤシユ)
を有する。この実施例は動的アドレス変換機構
(DATM)を有し、DATMは変換索引バツフア
(TLB)と共働して動作する。DATMはCPU中
のすべての仮想アドレス(VA)要求を受け取
る。この要求はバス11,12および13を介し
て供給される。要求指令CMDはバス11を介し
て送られ要求が取込み命令用かまたは実アドレス
転送(LRA)命令用かを示す。要求アドレス
ADRは指令と同一サイクルでバス13を介して
供給される。 指令および指令のアドレスに関する具体的な情
報が修飾バス12のIDビツトにより与えられる。
具体的な情報はたとえばアドレスが(1)仮想か実
か、(2)取込み要求か記憶要求か、(3)ゲスト実要求
か、(4)LRA命令要求か、または(5)ホストLRA命
令要求かということである。CPUがエミユレー
シヨン・モードでないとき、CPUは固有モード
であり、したがつてその仮想アドレス(DATオ
ン状態で示される)は固有モードで変換される。 EEバスはDATMが必要とする特殊な情報を伝
送する。たとえば現行のSIE命令の状況記述部の
エクステント・フイールド中のオフセツトの値で
ある。 BCE3によつて受け取られたVA要求は直ちに
BCE3により受諾されるか、リジエクトされる。
リジエクト時にはBCE3が命令要素(IE)1に
対するリジエクト遅延信号(REJ DLY)をバス
14を介してIEに送出する。この結果、通常で
は後のサイクルでIEがBCE3に対して要求を繰
り返す。 BCE3が要求を許諾すると、BCE3が直ちに
要求に対するサービスを実行する。あるいは将来
のサービスに備えて要求を記憶する。許諾された
要求はすべて、割り当てられた優先度に応じてサ
ービスを主張する。この優先度はBCE優先度回
路に送られる。ここではこの回路をBCAR優先
度回路と呼ぶ。 BCAR優先度回路が要求に対し優先度を付与
すると、つぎのサイクルでその要求がバツフア制
御アドレス・レジスタ(BCAR)に入れられる。
要求は、変換すなわち対応する絶対アドレスの生
成のために、TLBに直ちに送られ、これにより
要求がBCARからアクセスされる。要求の変換
がTLBに存在しないならば(すなわちTLBミス
ならば)BCARにより要求VAがDATMに送ら
れて対応する絶対アドレスに変換される。 BCARおよび主たるアドレス保有レジスタ
(たとえばBCEやSCE中のもの)の各々に関連す
るのは識別子(ID)フイールドである。IDフイ
ールドは要求レジスタのそれぞれソースおよび特
徴に関する情報を保有している。情報はたとえば
アドレスが仮想であるか、ゲスト用のものか、取
込み、記憶もしくは実アドレス転送(LRA)要
求用のものかというものである。アドレスが
BCE3中のアドレス・レジスタを介して流れて
いく際、アドレスの各々に関連するIDビツトは
これに対応してIDレジスタに伝送される。 BCEの状態は当初一群のモード・タイプ・ト
リガにより決定される。トリガは既知の状態にあ
り、BCEの動作を予想できるようにする必要が
ある。IEおよびEEのモードが変更されたとき、
モード線19(第1図)を介して供給される指令
(MODE)によりトリガが設定される。モード・
トリガはつぎのものである。 1 XAモードーは370ままたは370/XAアーキ
テクチヤを選択する。 2 DATオン・モードでは仮想アドレスをCPU
で用いることができる。 (3) エミユレーシヨン・モードではゲスト・プロ
グラムがホスト・プログラムの下で被エミユレ
ート・アーキテクチヤ上で実行を行うことがで
きる。ホスト・プログラムはCPUの固有アー
キテクチヤを用いる。 4 優先ゲスト・モード(PGモード)。このPG
モードでは、ホストがホスト絶対記憶の連続領
域を予め割り当て、優先ゲストが単一レベル・
アドレス変換で動作できるようにしている。非
優先ゲスト・モード(NPGモード)は、ゲス
トの要求時にホストがホスト仮想記憶のページ
を動的に割り当てるゲスト・モードである。 S/370および370XAアーキテクチヤでは、ア
ドレス変換(DATオン・モードにおいて)がプ
ログラムの仮想アドレスを主記憶の絶対アドレス
に変更している。単一プロセツサ(UP)では絶
対アドレスは実アドレスと同一である。多重プロ
セツサ(MP)では原則として絶対アドレスは実
アドレスと同一である。例外は、実アドレスがゼ
ロのページに対する実アドレスであり、このペー
ジはプレフイクス値により修正された実アドレス
を有し、プレフイクス値はMPの各CPUごとに異
なつて、これによりCPUのそれぞれに割り当て
られた特別なページ(すなわちPSAページ)を
位置付けるようになつている。MPの各CPUは緊
密結合共有主記憶の異なるページ・フレームに
PSAを有する。プレフイクシングはUPにおいて
も特別なシステム制御動作を可能にするために用
いられる。 CPUがDATオフ・モードであると、IEから受
け取られたアドレスはすべて実アドレスとして取
り扱われ、変換は利用されないけれども、プレフ
イクシングはMPにおいて常に利用される。 BCEにおける記憶要求すべてに対して行われ
る第1の段階は要求を優先付けして要求処理の所
望の順番を維持することである。第5図に示すよ
うに、IEからの要求の各々は要求Rマシン・サ
イクル(Rサイクル)の間BCEに受諾される。
BCARが利用可能であれば(すなわちBCAR優
先度が付与されていれば)、要求はつぎのサイク
ル(C1サイクル)でBCARに供給され、TLBに
転送される。C1サイクルでTLBヒツトかTLBミ
スかが判別される。TLBミスが起これば、
DATM手順によるアドレス変換を行うべく
DATMが要求を入力する。DATM手順は、他の
要求を処理していなければ、入力された要求の先
行C1サイクルで開始される。 第2A図はBCAR優先回路40、BCAR41
およびBCAR IDレジスタ42を示す。レジスタ
42のBCAR IDビツトは、BCARに現在アドレ
スを供給している要求の型を表示することにな
る。制御信号はBCAR IDビツトの状況から生成
される。たとえばゲストVA、ゲスト実アドレス
(RA)、固有モードVAまたは固有モードRAであ
る。DATMが要求した取込みおよび記憶は
DATMから内部例外条件信号により阻止される。 VAがBCARに転送されるとき、同一のマシ
ン・サイクルにおいてBCARからVAがバス43
(第2A図)を介してTLBに、また第2B図のキ
ヤシユ・デイレクトリ51および変換入力アドレ
ス・レジスタ53に出力される。現行のSTOは
CR1またはCR7から通常の態様で選ばれ、線4
5を介してTLBアレイXおよびYに供給される。
またTLBおよびキヤツシユ・デイレクトリも通
常の態様で動作する。それゆえBCARアドレス
はTLBから1つの適合クラスを選択し、またキ
ヤツシユ・デイレクトリから1つの適合クラスを
選択する。選択されたクラスの連想アレイ・セツ
トXおよびY中のTLBエントリがテストされ、
それらの内容がBCARのアドレスとCR1または
CR7からの選択STOとに比較される。TLB共通
ビツトがオンであればSTOの比較は禁止される。
XまたはYTLBエントリの比較結果のいずれか
が同一であると、TLBヒツトが生成されて、エ
ントリの絶対ページ・アドレス(ABS)がゲー
ト48XまたはYによつてエントリXまたはYか
らゲートされる。TLBがテストされている際、
選択されたキヤツシユ・デイレクトリがパラレル
にテストされる。連想エントリA、B、Cまたは
Dにつき選択されたデイレクトリ・クラスにおい
てつぎの場合に一致が起こるであろう。(1)いずれ
かのエントリに保持されている絶対アドレスが、
TLBからゲートされた絶対アドレスと一致して
いること。かつ(2)一致しているエントリにおいて
有効ビツトがオンであること。 キヤツシユは米国特許4317168号の特許請求の
範囲に記載されているタイプのものでよい。 TLBはときおりデイレクトリ索引アドレス・
テーブル(DLAT)と呼ばれる。この実施例で
はTLBは2段セツト・アソシヤテイブ・アレイ
であり、アレイは256のエントリを有する(すな
わち128列からなる。列の各々はXセツト・エン
トリおよびYセツト・エントリを有する)。新た
なアドレスがIEからBCEに到来したときに、ア
ドレスがBCAR優先度を保持していればアドレ
スはTLBをアドレスするのに用いられる。この
のちTLBの出力およびBCARアドレスの比較が
行われる。両者が一致すると(すなわちTLBヒ
ツト)、要求がキヤツシユ中を進行する(キヤツ
シユ・デイレクトリ・ヒツトがあれば)。TLBの
一致が起こらなければ(すなわちTLBミス)、
TLBはDATMに信号を送つてアドレス変換を開
始させなくてはならない。こののち新たに変換さ
れたアドレスは、アドレスされたTLB適合クラ
スのLRU選択エントリ中に置かれる。TLB中の
有効絶対アドレスは4Kビツトのページ・フレー
ムを主記憶に位置決めする。 第3図に示すように、セツトXおよびYの
TLBエントリの各々はつぎのフイールドを有す
る。 1 セグメント・テーブル起点(STO)ビツト
8−25(S/370)またはビツト5〜19(370/
XA) 2 仮想アドレスビツト1〜12 3 絶対アドレスビツト5〜19 4 ゲスト実ビツト(G) 5 エミユレーシヨン・フラグ 6 有効ビツト(V) 7 共通セグメント(C)ビツト 8 ページ・プロテクト(PP)リード・オンリ
(RO)ビツト ライン取込みレジスタ(図示しない)は、要求
によつてキヤツシユ・デイレクトリ・ミスが生じ
た場合に用いることができる(すなわち所望ライ
ンのデータはキヤツシユにおいて入取できない場
合である)。こののち要求絶対アドレスが得られ、
LFARにゲートされる。ライン取込み要求はSCE
へと導入される。SCEは主記憶中の取込みを制御
する。ライン取込みは1ラインの複数ダブルワー
ドを主記憶からSCEを介してBCEに供給する。
BCEは新たなラインをキヤツシユに転送してキ
ヤツシユ・デイレクトリに対応するエントリを書
き込む。 ライン記憶アドレス・レジスタ(LSAR)(図
示しない)はキヤツシユ・ラインの放出が必要な
ときはいつでも用いることができる(SCEからの
交差問合わせ(cross interrogationまたはBCE
のRLUC−least−recently−used)アルゴリズム
のいずれが放出を要求する場合である)。これに
よりキヤツシユ中のLRUエントリを新たに取り
込まれたラインに利用可能にできる。放出すべき
ラインの絶対アドレスはLSARに配され、SCEへ
の要求がなされる。SCEがその絶対アドレスを主
記憶に配する。LSAR中の絶対アドレスはデイレ
クトリ・ミスが検出されたときにキヤツシユ・デ
イレクトリから得られる。 第2A図においてVA要求にBCAR優先度が付
され、BCARに入力されると、VAはBCARから
DATM入力アドレス・レジスタ(DIAR)53
にC1サイクルで出力される。このC1サイクルに
おいてVAはキヤツシユ・デイレクトリに送出さ
れる。要求C1サイクルの間に行われるVAの
DIAR53への入力はDATMにおいて一連の動
作を開始させる。受け取られたVAはこれらの動
作によりBCAR IDレジスタ42の情報とBCEに
おいてセツトされた現行モードとにしたがつて変
換される。DATMはつぎのサイクルC2(第5図)
において能動化される。 DIAR53は28ビツトのレジスタであり、その
出力はDATMアドレス加算器54の一端に接続
されている。DIAR53は、第2C図のDATM
次状態論理回路91がTLBミス信号を受け取つ
て線64の信号がゲートを行うとき、そのVAを
出力する。DATM局所記憶(DLS)は、VAが
処理される間中、VAが変換の最後で選択TLBエ
ントリに書き込まれるまで、VAの各々を保持す
る。DIARはゲストVAをDLSから受け取る。
DIARはDATM処理の間原則としてゲストVAを
保持する。ただしDIARがゲスト絶対アドレス、
ホスト仮想アドレスまたはゲスト実アドレスを保
持しなければならないときのゲストVA変換の間
は例外である。DIARがゲストVAを必要とする
ときは、ゲストVAはDLSからコピーされる。
DIAR53の出力は変換アドレス・バス(TAB)
56を介してBCAR41に接続されている。こ
の結果所望TLBエントリを選択して、こののち、
変換AAをTAR58からTLBエントリに書き込
む際にVAを同時にTLBエントリに書き込むこと
ができる。 またDIAR53およびDLS55の間に入力パス
および出力パスが設けられている。アドレス出力
は、第2B図のプレフイクシング・ステーシヨン
により適用されたゲスト・プレフイクシングをと
もなつて、あるいはともなうことなく、DIARに
戻すことができる。 テーブル・アドレス(TBLR)57はDLSか
ら種々のSTO、オフセツト、メモリ・エクステ
ントを受け取り、キヤツシユ52から変換テーブ
ル・エントリを受け取り、こののちこれらを加算
器54に供給してDIAR53からの仮想アドレ
ス・インデツクス(SX、PXおよびBI)を加算
させる。それゆえTBLR57はSTO、オフセツ
トおよびメモリ・エクステントをDLSから受け
取りPTOおよびPFRAをキヤツシユ52から受
け取る。 アドレス加算器54は2ポート30ビツトのキヤ
リーアヘツドの加算器であり、変換時のアドレス
計算に用いられる。加算器54の一端はTBLR
57の出力を受け取り、他端はDIAR53の出力
を受け取る。加算器54は第14A図〜第14E
図に詳細に示すようにTBLR57の内容をDIAR
53の内容に加算する。2つの入力は整合され、
無視のフイールドはマスクされ、ビツト位置の残
りはゼロで埋められる。 加算器54の出力は変換アドレス・レジスタ
(TAR)58、プレフイクス・ステーシヨン72
およびTAB56に供給される。ある場合には、
加算器54はゼロをDIAR出力に加算してDIAR
の内容をTAR58およびプレフイクス・ステー
シヨン72にそのまま供給する。またゼロを
TBLR出力を加算してTBLRの内容をTAR58
およびプレフイクス・ステーシヨン72に供給す
るようにもできる。 TAR58はテーブル取込み用のアドレスおよ
び最終の変換アドレスを保持する。TAR58の
出力は(1)LRA命令の実行結果として命令要求
(IE)1に供給され、(2)AA変換をTLBに書き込
むためにTLBに供給され、また(3)TLBサーチ用
にTAB56を介してBCAR41に供給される。 第2B図において、プレフイクス・ステーシヨ
ン72は、加算器54から出力されたゲスト実ア
ドレスをゲスト絶対アドレスに変換する。 ゲスト・プレフイクス・レジスタ(GPFX)7
1はDLSからのゲスト・プレフイクス値を保持
する。GPFXへのDLS55の転送はエミユレーシ
ヨン時にセツト・プレフイクス命令によつて行わ
れる。またSIE命令実行によつても行われる。
GPFXの内容を加算器の出力端からの実アドレス
の各々と比較し、プレフイクスを実アドレスに適
用して絶対アドレスを生成する。絶対アドレスは
こののちDIARへ供給されてメモリ限界チエツク
されることとなる。メモリ限界チエツクは、生成
されたアドレスを現行のSIE状態記述部からのエ
クステント値から減算して行われる減算結果は正
にならなくてはならず、そうならないならアドレ
ス例外条件が供給される。 プレフイクス・ステーシヨン72をバイパスさ
せて加算器の出力をDIAR53に戻すこともでき
る。たとえばプレフイクス動作によつては処理さ
れないメモリ限界チエツクを行うためである。 DATM局所記憶(DLS)は、高速変換に不可
欠なCPUにおけるシステム制御アドレスおよび
パラメータをすべて保持するのに用いるアレイで
ある。エミユレーシヨン・モードではDLSはホ
スト・アドレスのほかホスト・ゲスト・アドレス
をも保持する。またDLSは変換過程における中
間的な処理結果をも保持する。DLSは局所記憶
機構として用いられ、最高で、32ビツト・ワード
16個にバイトあたり1ビツトを加えてなる大きさ
となつている。システム制御命令はEEからDLS
に転送を行う。DLSへの第2書込みポートへは
DIARから転送が行われ、これによりアドレスお
よび中間結果が保管される。つぎの項目がDLS
に記憶される。 1 ホストSTOおよびST長 2 ゲストSTOおよびST長(SIEから) 3 ゲスト・メモリ・オフセツト(SIEから) 4 ゲスト・メモリ限界(SIEから) 5 論理アドレス保管 6 絶対アドレス保管 7 中間変換結果 DATM例外チエツク論理回路(ECL)81は、
ゲストまたは固有VAの変換時に何らかの例外条
件が起こるかどうかを判別する。ゲストVAを
DATMで変換するとき、ECL83はゲスト識別
信号に各ビツト例外条件を付す。例外条件出力コ
ードはIEおよび第2C図の部分に供給され、現
行の例外条件の原因を知らせ、特定する。これに
はSTEまたはPTE無効ビツトがオンであること、
STEまたはPTEが特定のテーブル長を外れてい
ること、ゲスト絶対アドレスが特定のメモリ限界
より大きいこと、ゲスト低位記憶プロテクト違
反、またはゲスト・セグメントまたはゲスト・ヘ
ージのプロテクシヨンのゲスト違反が含まれる。
メモリ限界は加算器54によりチエツクされる。
加算器54がゲスト・アドレスを、DLSから得
たゲスト・エクステントと比較するのである。 DTMの良好な例は複数状況マシンとして構成
される。これはつぎの5つの変換モードのどれに
おいても動作し得る。 1 固有モード 2 エミユレーシヨン(すなわちゲスト)・モー
ド a 優先、DATオフ(優先ゲスト実) b 優先、DATオン(優先ゲスト仮想) c 非優先、DATオフ(非優先ゲスト実) d 非優先、DATオン(非優先ゲスト仮想) これら5つのDATM変換モードの各々は一連
の原始マシン・ステートとして実行される。 原始マシン・ステートの各々のコードは、第2
C図のDATMステート・レジスタ90中の6ビ
ツト・フイールド0〜5として表現される。レジ
スタ90の原始ステートの各々は変換動作の要素
のうちの現行部分を制御する。この現行部分は現
行のマシン・サイクルの間にDATMにより実行
される。このマシン・サイクルの間DATM次ス
テース論理回路(DNSL)91が次のステートを
レジスタ90に対し生成する。 第14A−E図は原始マシン・ステートの動作
手順を示す。ここでは対応する円の中の2デジツ
トの16進数でマシン・ステートを表示している。
2デジツトの16進数の各々は6ビツト・コードを
表すもので、右がわの4個の2進デジツトを右が
わの16進デジツトで表わし、左がわの2個の2進
デジツトを左がわの16進デジツトで表わす。 DATMステート・レジスタ90の出力は
DATMゲート論理回路92に供給され、第2C
図の部分への出力信号が生成されるようになつて
いる。この出力信号は第2B図の部分へ供給さ
れ、DLS55、DIAR53、加算器54、ECL8
1、TAR58、TBLR57およびTAB56の動
作を制御するようになつている。 つぎの表1はDATM原始マシン・ステートを
32ビツトのコンビーネーシヨンとして示すもの
で、これらコンビネーシヨンは6ポジシヨン
DATMステート・レジスタで入手できる。
【表】
【表】 なお、以上の表1において、*のコードは使用
しない。<=は「以下」を示す。Pは優先、NP
は非優先を示す。 優先ゲスト動作の間、ゼロのオフセツト値が用
いられる。 原始ステートはDATM「非使用」(not busy)
ステートであることに留意されたい。このステー
トはDATMステート・レジスタのオール・ゼロ
で表示される。DATMは、次のアドレスの変換
を開始すべく新たな変換モードを設定するまえ
に、非使用となつていなければならない。 DATM原始ステート中の所定のビツト位置の、
部分的に組み合わせてなるステートには具体的な
意味がある。たとえば左がわビツト0、1はつぎ
のような意味を有する。ただし、これは、任意の
ゲスト(優先でも非優先でもよい)に対し任意の
仮想アドレスを変換すべくCPUがエミユレーシ
ヨン・モードのとき(すなわちSIE命令実行中の
とき)である。
【表】
【表】 右がわのステート・レジスタ・ビツト位置4、
5は動作の型を表4に表わされるようなものとし
て特定する。
【表】 DATMはエミユレーシヨン・モードの変換の
際ゲスト動作およびホスト動作の間の切り換えを
行えなければならないので、DATMにおいてゲ
ストCRおよびホストCR用にレジスタを設けてい
る。 DATMは、要求によりTLBミスを通知される
まえにDATMシーケンスを開始して、実現しう
る変換が要求されるつど動作開始をすでに行つて
いるようにする。これは第5図のタイミンング・
チヤートから理解できる。 第2C図のレジスタ90のDATMシーケンス
の原始ステート・コードは変換の型の各々につい
て以下のように図示される。
【表】 第4図は、BCARがIE要求を受諾するマシ
ン・サイクルの間DATMが使用中でなければ、
そのマシン・サイクルの間に、任意の型の要求さ
れた変換を行うDATMシーケンスを開始させる
論理回路を示す。アンド回路101の出力信号
は、BCARからの記憶アクセス要求またはLRA
要求がアンド回路101を能動化するときはいつ
でもDATMシーケンスを開始させる。能動化の
条件は、アンド回路102からのBCARID非実
(すなわち仮想)信号、BCARID記憶要求信号、
またはアンド回路103からのBCARID取込み
信号、またはアンド回路104からのLRA要求
信号によつて満たされる。ただしアンド回路10
6の入力条件により、決定される禁止信号がな
く、また低位記憶プロテクト違反信号がなく、こ
れによりアンド回路をゲートしておかなければな
らない。 変換の型はEEからの信号よりDATMに知らせ
る。EEはDATM中の複数のモード・トリガを設
定する。 このモード・トリガはつぎのものを含む。 1 第4図のエミユレーシヨン・モード・トリガ
108。これはオンに設定されると、エミユレ
ーシヨン・モードを示す。エミユレーシヨン・
モード時の要求はすべてゲスト要求である。ト
リガ108がオフに設定されると、すべての要
求は固有要求として識別される。 2 第4図DATモード・トリガ109。これは
オン時にDATモードを表示する。DATモード
時の記憶アクセス要求は、DATMに対し変換
要求仮想アドレス(VA)として特定される。
トリガ109がオフ(DATオフ)であると、
アクセス要求はDATMに対し、実アドレス
(RA)を有するものとして特定され、アドレ
ス変換は必要とされない。 3 第6図の優先(P)ゲスト・モード・トリガ
11。これは、オン時(エミユレーシヨン・ト
リガ108がオン)に優先ゲスト・モードを表
示する。優先ゲスト・モード時の要求はすべて
優先ゲスト要求としてDATMにより処理され
る必要がある。優先ゲスト・トリガ111がオ
フであると、非優先(NP)ゲスト・モードで
あり(エミユレーシヨン・トリガ108がオ
ン)、DATMへの要求はNPゲスト要求である。 4 Pゲスト・モードやNPゲスト・モード時の
要求はそれぞれ第4図のDATトリガ109の
オンまたはオフ状態に応じてゲスト仮想
(GV)要求またはゲスト実(GR)要求とな
る。 モード・トリガ108,109および111
は、DATMシーケンスが第4図のアンド回路1
01の出力により開始されるまえに、オン状態ま
たはオフ状態セツトされ、これらモード・トリガ
108,109および111はそれぞれのモード
が終了したときにEEからの対応するリセツト信
号により独立してリセツトされる。 CPUにおいて、現行のプログラム状況ワード
(PSW)はDATオン・トリガを有し、このDAT
オン・トリガは、(1)エミユレーシヨン・モードで
ないなら固有DATステート、または(2)エミユレ
ーシヨン・モードならゲストDATステートにセ
ツトされる。 第14A図、第14B図および第14C図は第
14A図のNPゲストVA200の変換用の
DATMの動作シーケンスを示す。第2A図にお
いてBCAR41がアドレスを受諾すると、この
アドレスはTLBに自動的に逆出され、TLBサー
チが実行される。これは第14A図の201で示
す。上述のアドレスの変換がTLBエントリにあ
るならば、TLBヒツトが起こり、第14A図、
第14B図および第14C図においてミス・パス
がバイパスされる(ステツプ202)。第2A図にお
いて、TLBヒツトはゲート48Xまたは48Y
を能動化して変換に要求されるデータ絶対アドレ
ス(AA)を出力する。変換は、NPゲスト要求
VAを含む主記憶(MS)中に要求ゲスト・ペー
ジ・フレームを位置決める。AAは第14C図に
おいてDATMコード28とともに示され、この
コードはページ・クレームAAにゲスト・バイ
ン・インデツクスG(BI)を連結する動作を表わ
す。この結果ゲスト要求データAA416が生成
され、このゲスト要求データAA416は、所望
TLBエントリがあるなら、実変換動作を完了さ
せる。 しかしながら所望TLBエントリがない場合も
あり、またゲスト・ページへの最初の要求の際に
はTLBミスが起こるにちがいない。第14A図
において、ステツプ201でTLBミスとなると、ミ
ス・パス210をとることになる。これは要求
VAのG(SX)およびG(PX)フイールドを利用
する。ゲスト変換はゲスト・セグメント・テーブ
ル・アドレス(STO)をも用いる。これは、現
在実行を行つているSIE命令により位置決めされ
る主記憶のステート記述部のゲストCR1フイー
ルドG(CR1)から得られる実アドレスである
(変換を要求しない)。 第14A図において、DATMはこの時点で第
2C図のレジスタ90にステート・コード10を
供給し、G(STO)およびG(SX)を加算、ゲス
トSTEの実アドレスGR(STE)を得る(第14
A図〜第14E図においてDATMステート・コ
ードは円の中に示し、参照番号と区別した)。こ
れは、加算器54でTBLR57のSTOをDIAR5
3のゲスト要求VAからのSXフイールドに加算
して行われる。アドレス212は第2A図の
BCAR41に入力され、TLBサーチが導入され
る。これは第14A図のステツプ214として示す
ようにGR(STE)が有効なTLBエントリを有す
るかどうかをテストする。 TLBヒツトを得ると、第2C図のレジスタ4
1にDATMコード12が生成され、第14A図
においてTLBヒツト・パスがとられる。ここで
コード12によりDATMが、キヤツシユがゲス
ト・セグメント・テーブル・エントリ(STE)
を送るというゲストからのアドバンス信号を待つ
ようにされる。ゲスト・セグメント・テーブル・
エントリはG(STE)AA216によりアドレス
される。このうちミス・パスがゲスト実アドレス
212からバイパスされてホストAA216に到
る。 しかしながら、GR(STE)212がTLBミス
を得ると、ミス・パスをとる必要がある。このパ
スでは第14A図のステツプ212が任意のゲス
ト・プレフイクスG(PFX)に適用される。ゲス
ト・プレフイクスの値は主記憶の現行SIESDか
ら第2B図のDLS55へCPUにより供給される。
このプレフイクシングは第2B図のDATMプレ
フイクス・ステーシヨン72によつて、加算器5
4からステーシヨン72へのGR(STE)出力に
対して実行され、第14A図のGA(STE)22
2が生成される。さらにGA(STE)222は、
DIARの内容(すなわちゲスト要求VA)がDLS
55に保管されたのち、DIARに転送される。 こののち第14A図において、ゲスト・メモリ
限界チエツクがDATMによりコード11に応じ
て実行される。このコード11により、DIAR5
5のGA(STE)値が、DLS55からTBLR57
に転送されたメモリ・エクステントから減算され
る。CPUは現行STE SDからメモリ・エクステ
ントを得ている。GA(STE)がこのエクステン
トを超えていると、例外条件信号が線83を介し
て第2B図のECL81から供給される。これに
より当該ゲスト要求VAについての変換プロセス
が終了させられることになる。 ECL81から線82を介して例外条件信号が
供給されないならば、第2C図のレジスタ91に
第11A図の回路によつてDATMコード13が
生成される。そしてゲスト・メモリ・オフセツト
がDLS55からTBLR57へ転送される。ステ
ート13の間、加算器54はDIAR53のGA
(STE)値にオフセツトを加算し、ゲストSTEの
オフセツトAAを生成する。これは第14A図の
ホストVA230であり、これがDIAR53に転
送される。 ホストVA230はこのうち、ホストSTOのH
(CR1)からTBLR57への転送およびコード1
4の供給により、ホスト・セグメントおよびペー
ジ・テーブルを用いて変換される。ステート14
の間、加算器54はH(STO)+H(SX)を実行
して所望のH(STE)の実アドレスを生成し、ま
たコード16がレジスタ91に生成されて、
DATHが、H(STE)がキヤツシユまたはMSか
ら取り込まれたというアドバンス信号を待つよう
にする。DATMはH(STE)絶対アドレスを用
いて、BCAR41に対して取込み要求を生成す
る。H(STE)絶対アドレスはTLBをバイパスす
る。H(STE)が取り込まれると、これがTBLR
57に転送され、コード1Cがステート・レジス
タ91に生成される。H(STE)についてはTLB
サーチも変換も行われない。その絶対アドレスが
直接に得られているからである。 ステート1Cの間、加算器54はDIAR53か
らのH(PX)フイールド)をTBLR57のH
(STE)のH(PTO)フイールドに加算し、所望
のH(PTE)のアドレスを生成し、また、取込み
要求がBCAR41に対しなされ、またコード1
Eがステート・レジスタ91に生成される。コー
ド1EはDATMがアドバンス信号を待つように
させる。アドバンス信号は、H(PTE)がキヤツ
シユまたはMSから取り込まれTBLR57に転送
され、コード18がレジスタ91に生成されてい
ること示す。TLB動作も変換もH(PTE)に対し
ては用いられない。H(PTE)は絶対アドレスと
して直接生成されているからである。 また、TLBエントリは第14A図のステツプ
236によつてGR(STE)212として書き込まれ
る。コード18によつて加算器54がTBLR5
7からのH(PFRA)フイールドにDIAR53か
らのH(BI)フイールドを連結し、第14B図の
ゲストSTEのホストAA、G(STE)AA316
を生成する。またステート1Aがレジスタ91に
生成されてPATMを待ち状態にする。DATMは
このG(STE)の取込み要求を生成し、またこの
要求は受け取られたとき、これがTBLR57に
置かれる。好ましくは取込み要求およびTLBエ
ントリの書込みは同一のサイクルにハードウエア
回路で実行される。 NPゲスト要求アドレス200は先にDLS55
に保管され、DIAR53に再ロードされる。この
のち加算器54がDIARからのG(PX)フイール
ドとTBLR57のG(STE)からのG(PTO)と
を加算してゲストPTEのゲスト実アドレスGR
(PTE)312を得る。GR(PTE)312は
BCAR41に転送され、GR(PTE)から絶対ア
ドレスへの現存の任意の変換を行うべくTLBを
サーチするようにする。 GR(PTE)についてTLBヒツトが起こると、
第14B図のGR(PTE)AA316が直ちに
TLBから得られ、また第14B図のGR(PTE)
用のミス・パスがバイパスされる。 GR(PTE)についてTLBミスが起こると、第
14B図のミス・パスが実行されて第14図のミ
ス・パスの場合と同様の態様でG(PTE)AA3
16が生成される。ただし、今度のミス・パスで
は、DATMステート32または31,33,3
4,36,3C,3Eおよび38がかわりに用い
られ、TLBエントリがGR(PTE)に対するステ
ツプ336により書き込まれる。 G(PTE)AA316が得られると(TLBヒツ
トによつてか、あるいはTLBミス・パスに沿う
生成によつて)、DATM取込み要求がキヤツシユ
に対しG(PTE)AAを用いて生成され、また
DATMコード3Aがレジスタ91に生成されて
DATMを待状態にする。キヤツシユのミス時に
は、MSに対する要求が生成される。 キヤツシユからアドバンス信号が供給されたの
ち、G(PTE)がTBLR57に置かれ、NPゲス
ト要求VA(これはDLS55に保管されていた)
がDIAR53に転送され、さらにDATMコード
20がレジスタ91に生成される。第12図12
のステート・コード38の間、第13図のアン
ド・ゲート801の制御の下でTLBエントリが
GR(PTE)につき書き込まれ、第2B図のTAR
58のAA変換をゲート出力する。 ステート38の間、加算器54はG(PTE)か
らのG(PFRA)フイールドとDIAR53のゲス
ト要求VAからのG(BI)フイールドとを連結し
てゲスト要求データの実アドレス(RA)420
を生成する。また、必要であれば、ステート20
により第2B図のステーシヨン72がゲスト・フ
レフイクスG(PFX)をゲスト要求データのRA
に適用してRAを第14C図の絶対アドレス42
2に変更する。さらにステート21がレジスタ2
1に生成される。 こののちつぎのサイクルでDATMステート2
1が実行されてゲスト・メモリ限界チエツクが行
われ、さらにレジスタ91にステート23を生成
する。 限界チエツクによつて例外条件が生成されない
ならば、ステート23によりゲスト絶対オフセツ
トが絶対アドレスに加えられゲスト要求データの
ホスト仮想(HV)アドレス430が生成され、
このアドレス430をDIAR53に置く。またレ
ジスタ91にコード24を生成する。DIAR53
のHVアドレス430はまたゲスト要求データの
ホストVA430である。これはつぎに全変換プ
ロセスにおいて変換しなくてはならない。 こののちステート24により加算器54が
DIARのH(VH)からのH(SX)を、H(CR1)
からのH(STO)に加算して要求ゲストSTEの絶
対アドレスを生成する。DATM取込み要求が、
このH(STE)の絶対アドレスを用いて生成され
BCAR41に送出される。しかし、BCAR IDビ
ツトが絶対アドレスを表示しているので、TLB
動作は用いられず、ステート26がレジスタ91
に生成される。 ステート26の間、DATMは、H(STE)が
取込まれたというキヤツシユからのアドバンス信
号が後刻受け取られるまで、待ち状態となつてい
る。これはTLBR57に置かれ、ステート2Cが
レジスタ91に生成される。 ステート2Cの間加算器54はDIARのH
(VA)からのH(PX)をTBLR57のH(STE)
からのH(PTO)に加算して所望ホストPTEの絶
対アドレスを生成する。DATM取込み要求をこ
はH(PTE)絶対アドレスを用いて生成しBCAR
41に送出する。ステート2Eがレジスタ91に
生成される。 ステート2Eの間、H(PTE)が取り込まれた
というキヤツシユからのアドバンス信号が受け取
られるまで、DATMは待ち状態とされる。H
(PTE)はTBLR57に置かれ、ステート28が
レジスタ91に生成される。 第14A図のNPゲスト要求VA200用の
TLBエントリを最後に取り込まれたH(PFRA)
を用いていま書き込むことができる。また加算器
54がH(PFRA)を、DIAR53のH(VA)4
30から得たH(BI)に連結して、これにより
NPゲストVA200により要求されているデー
タの絶対アドレスを生成する。 ゲスト要求VA200についてTLBミスが起こ
つているならば、第12図からのステート・コー
ド28の間第13図のアンド・ゲート803のタ
イミング制御の下でTLEエントリが、いま書き
込まれる。そして、この結果第2B図のTAR5
8のAA変換がゲート出力される。 HV430のH(BI)がNPゲストVA200の
G(BI)と同一の値にあることに留意されたい。 NPゲストVA200を変換するプロセスが完
了し、コード2Aがレジスタ91に生成され
DATMがリセツトされる。 第14C図における好ましい実施例では、ゲス
ト要求データのゲストRA420は、TLBミスと
いうことになつたならば、サーチのためにTLB
に送出されず、TLBに新たなエントリを供給し
ないようになつている。ゲストRAがゲストVA
200として同一のAAに変換されるということ
から、TLBヒツトがゲストRAに対して起こるの
はまれだと考えられるからである。これは以前に
同一のNPゲストVA変換プロセスの初めでTLB
ミスを得ている。ミスが起こる可能性が大である
ので、複写(duplicate)AAを有する他のTLB
エントリを生成させやすい。またこれを回避し
て、TLBにおいてより有益なエントリになりや
すいものをオーバレイするのをさける。 良好な実施例における第14A図のNPゲスト
VA200についてのTLBミスの変換効率は、そ
のGR(STE)212やGR(PTE)312とGR
(DATA)420を変換する単一レベル・プロセ
スとに対するものである。この最適2レベル変換
は、2つのTLBヒツトおよび単一レベルアドレ
ス変換となる。これは固有単一レベル変換と大い
に異なる。なぜならば2つの順次的なTLBヒツ
トは固有単一レベル変換のサイクルのほんの数パ
ーセントしか必要としないからである。 2レベル変換の際TLBヒツトがたつた1つし
かないとしても、アクセス・タイムを著しく減ら
すことができる。 しかしながら、2レベル変換時にTLBヒツト
が得られないとしても、ここで説明したハードウ
エアDATMは従前のソフトウエアまたはマイク
ロ・コードの2レベル・アドレス変換に較べ数倍
も速く実行を行える。 第14D図は、第1図〜第13図のDATMの
プロセスであつて、TLBミスが優先ゲスト要求
VA500につき起こつた際に優先ゲスト要求
VA500を要求データの絶対アドレスに変換す
るものを示している。優先ゲスト変換が完了する
と第13図のアンド・ゲート806のタイミング
制御の下第2B図のTAR58のAAを用いて
TLBエントリを書き込む。アンド・ゲート80
6はDATMステート28により能動化される。 第14E図は、第1〜第13図のDATMのプ
ロセスであつて、任意の固有モード要求VA60
0につきTLBミスが起こつた際その固有モード
要求VA600を要求データについての絶対アド
レス610に変換するものを示している。固有モ
ード変換が完了すると、第13図のアンド・ゲー
ト808のタイミング制御の下第2B図のTAR
58のAAを用いてTLBエントリを書き込む。ア
ンド・ゲート808はDATMステート28によ
り能動化される。 第13図のトリガ802,804,807およ
び809は単一サイクル・トリガである。これら
トリガは、対応するアンド・ゲートからオア回路
811へ信号を転送する際に1サイクル分の遅延
を実現する。オア回路811は線68を介して信
号を出力して第2B図のTARを能動化する。そ
れゆえ第13図の回路は第2C図のDATMゲー
ト論理回路92の中にある。 第14A図〜第14E図の変換を行うための
DATMの一連の動作の間、DATMはホストSTE
およびPTEにつきBCAR41に対し自らの記憶
取込み要求をなす。これらは何ら変換を必要とし
ない。TLBを使用しないようにするため、
DATMはBCAR IDビツトが実または絶対アド
レスであることを示すようにBCAR IDビツトを
セツトする。これにより、TLBの使用は禁止さ
れるけれども、いぜん実または絶対アドレスをキ
ヤツシユにおいてアクセスできるようにし、また
キヤツシユ・ミスの時にMSへ要求を行えるよう
にしている。 DATMはIE要求より高い優先度でBCEに対し
主記憶要求を行う。 第6図および第7図は一体となつて、BCAR
41に対するDATMフエツチ取込み要求を形成
する実施例回路を示している。この要求は第7図
のオア回路700を介して形成される。そしてこ
のオア回路700の出力がDATM要求トリガ7
01をオンに設定する。トリガ701はDATM
要求をBCAR優先度論理回路40(第2A図に
も示されている)に出力する。トリガ701がオ
ンに設定されていると、トリガ701はRサイク
ルに出力を行う。BCARがDATM要求を受諾す
ると、BCARはトリガ701をオフに設定し、
受諾トリガ702を1サイクルだけ能動化し(す
なわちC1サイクル)、こののちつぎのサイクルで
受諾トリガ703が能動化される(C2サイク
ル)。 どの要求がTLBをアクセスするのかまたはし
ないのかをDATMが制御できるように、DATM
は第7図の回路を具備している。この回路は第2
A図のBCAR IDレジスタ42のゲスト実(GR)
フラグ・ビツトの設定を制御する。GRビツトが
オフであると、要求はホスト実(HR)要求であ
り、変換されない。それゆえ、GRフラグ・ビツ
トがBCAR要求につきオンに設定されると、ビ
ツトはその要求につきTLBサーチを表わし、
TLBミスが起こればTLBエントリを書き込む。 アンド・ゲート712が能動化されるなら、
BCAR優先度論理回路がDATM要求を受諾した
とき、第7図のトリガ711はBCAR IDレジス
タのGRビツトをオンにする。ゲート712がア
ンド・ゲート714からの能動回路を受け取るな
ら、ゲート712は能動化される。ゲート714
は第6図の部分から非優先(NP)ゲスト・モー
ド信号を受け取り、第12図の部分からX100XX
ステートを受け取る。X100XXステートは第14
A図および第14B図の10,11,13,12
および30,31,33,32を含み、DATM
要求がBCAR受諾を待ち、プレフイクシング、
限界チエツクおよびオフセツテイングのDATM
動作をオーバーラツプさせることができるように
なつている。
【図面の簡単な説明】
第1図はこの発明の一実施例を含むデータ処理
システムを示す図、第2A図、第2B図および第
2C図は第1図例のBCEを示す図、第3図は第
2C図のTLBのTLBエントリの各々の内容を示
す図、第4図は実現可能開始DATM論理回路を
示す図、第5図は実現可能DATM開始に対する
タイミングを示す図、第6図〜第13図は第2B
図の次ステート論理回路のハードウエアの細部を
示す図、第14A図、第14B図および第14C
図は非優先(すなわちページ可能)ゲストに対す
るDATMの動作を示す図、第14D図はDATオ
ン時の優先ゲストに対するDATMの動作を示す
図、第14E図は固有モードのDATMの動作を
示す図、第15A図〜第15G図はDATMの内
部動作を示す図、第16図は種々のゲスト・アド
レス変換を示す図である。

Claims (1)

  1. 【特許請求の範囲】 1 エミユレーシヨン・モードで動作するゲス
    ト・プログラムにより供給されるゲスト仮想アド
    レスの2レベル・アドレス変換を含む、CPUが
    必要とする、すべてのアドレス変換を実行できる
    動的アドレス変換装置おいて、 次ステートにつきセツトされて次の動的アドレ
    ス変換動作の各々を制御する動的アドレス変換ス
    テート・レジスタと、 CPUの任意の動的アドレス変換モードと任意
    のエミユレーシヨン・モードとを表示するモード
    双安定回路と、 最近のアドレス変換を含むエントリを具備する
    変換索引バツフアと、 ゲスト、ホストおよび固有のセグメント・テー
    ブルの実または絶対アドレスと動的アドレス変換
    動作の際生成される一時的な値とを含む局所記憶
    手段および連想レジスタと、 動的アドレス変換ステート・レジスタ、モード
    双安定回路、局所記憶手段および連想レジスタか
    らの入力を受け取つて、動的アドレス変換動作の
    一部を生起させるとともに次ステートを上記動的
    アドレス変換ステート・レジスタにセツトする次
    ステート制御回路と、 上記次ステート制御回路においてセグメント・
    テーブル・エントリおよびページ・テーブル・エ
    ントリに対する動的アドレス変換要求を生成する
    とともに、要求されたテーブル・アドレスの各々
    をゲスト実またはホスト実として識別する記憶要
    求生成手段とを有することを特徴とする動的アド
    レス変換装置。
JP60179563A 1984-09-17 1985-08-16 動的アドレス変換装置 Granted JPS61117637A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/651,491 US4695950A (en) 1984-09-17 1984-09-17 Fast two-level dynamic address translation method and means
US651491 1984-09-17

Publications (2)

Publication Number Publication Date
JPS61117637A JPS61117637A (ja) 1986-06-05
JPH0348541B2 true JPH0348541B2 (ja) 1991-07-24

Family

ID=24613049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60179563A Granted JPS61117637A (ja) 1984-09-17 1985-08-16 動的アドレス変換装置

Country Status (5)

Country Link
US (1) US4695950A (ja)
EP (1) EP0175091B1 (ja)
JP (1) JPS61117637A (ja)
CA (1) CA1229424A (ja)
DE (1) DE3584657D1 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61148551A (ja) * 1984-12-24 1986-07-07 Hitachi Ltd アドレス変換方式
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
US4811206A (en) * 1986-01-16 1989-03-07 Ibm Corporation Data processing system with overlapped address translation and address computation
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム
JPH0661066B2 (ja) * 1986-10-20 1994-08-10 株式会社日立製作所 記憶制御装置
US5249276A (en) * 1987-06-22 1993-09-28 Hitachi, Ltd. Address translation apparatus having a memory access privilege check capability data which uses mask data to select bit positions of priviledge
US5452231A (en) * 1988-10-05 1995-09-19 Quickturn Design Systems, Inc. Hierarchically connected reconfigurable logic assembly
US5109353A (en) 1988-12-02 1992-04-28 Quickturn Systems, Incorporated Apparatus for emulation of electronic hardware system
US5058003A (en) * 1988-12-15 1991-10-15 International Business Machines Corporation Virtual storage dynamic address translation mechanism for multiple-sized pages
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
IT1228728B (it) * 1989-03-15 1991-07-03 Bull Hn Information Syst Sistema multiprocessore con replicazione di dati globali e due livelli di unita' di traduzione indirizzi.
US5282274A (en) * 1990-05-24 1994-01-25 International Business Machines Corporation Translation of multiple virtual pages upon a TLB miss
JP2839201B2 (ja) * 1990-07-30 1998-12-16 株式会社日立製作所 仮想計算機システム
US5230069A (en) * 1990-10-02 1993-07-20 International Business Machines Corporation Apparatus and method for providing private and shared access to host address and data spaces by guest programs in a virtual machine computer system
US5283876A (en) * 1990-10-05 1994-02-01 Bull Hn Information Systems Inc. Virtual memory unit utilizing set associative memory structure and state machine control sequencing with selective retry
US5317705A (en) * 1990-10-24 1994-05-31 International Business Machines Corporation Apparatus and method for TLB purge reduction in a multi-level machine system
US5412787A (en) * 1990-11-21 1995-05-02 Hewlett-Packard Company Two-level TLB having the second level TLB implemented in cache tag RAMs
GB2251102B (en) * 1990-12-21 1995-03-15 Sun Microsystems Inc Translation lookaside buffer
EP0506236A1 (en) * 1991-03-13 1992-09-30 International Business Machines Corporation Address translation mechanism
JP2514292B2 (ja) * 1991-04-25 1996-07-10 インターナショナル・ビジネス・マシーンズ・コーポレイション オペランドペ―ジメモリ及び命令ペ―ジメモリを有するコンピュ―タシステム
JPH0512126A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 仮想計算機のアドレス変換装置及びアドレス変換方法
US5530823A (en) * 1992-05-12 1996-06-25 Unisys Corporation Hit enhancement circuit for page-table-look-aside-buffer
JP2675961B2 (ja) * 1992-05-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 実記憶のページをロックするための方法
US5455922A (en) * 1992-07-28 1995-10-03 International Business Machines Corporation Dynamic validity facility for fast purging of translation bypass buffers
US5479631A (en) * 1992-11-19 1995-12-26 International Business Machines Corporation System for designating real main storage addresses in instructions while dynamic address translation is on
JPH06348584A (ja) * 1993-06-01 1994-12-22 Internatl Business Mach Corp <Ibm> データ処理システム
US5584042A (en) * 1993-06-01 1996-12-10 International Business Machines Corporation Dynamic I/O data address relocation facility
US5765207A (en) * 1993-06-22 1998-06-09 International Business Machines Corporation Recursive hardware state machine
EP0634721B1 (de) * 1993-07-16 1998-09-23 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren und Schaltungsanordnung zur Übersetzung von virtuellen Adressen in Datenverarbeitungsanlagen
US5680583A (en) * 1994-02-16 1997-10-21 Arkos Design, Inc. Method and apparatus for a trace buffer in an emulation system
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5649140A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation System for use in translating virtual addresses into absolute addresses
US5787492A (en) * 1996-04-09 1998-07-28 International Business Machines Corporation Address limit check apparatus with conditional carry logic
US5832276A (en) * 1996-10-07 1998-11-03 International Business Machines Corporation Resolving processor and system bus address collision in a high-level cache
US5841967A (en) * 1996-10-17 1998-11-24 Quickturn Design Systems, Inc. Method and apparatus for design verification using emulation and simulation
US5970512A (en) * 1997-03-27 1999-10-19 International Business Machines Corporation Translation shadow array adder-decoder circuit for selecting consecutive TLB entries
US5960191A (en) * 1997-05-30 1999-09-28 Quickturn Design Systems, Inc. Emulation system with time-multiplexed interconnect
US5970240A (en) * 1997-06-25 1999-10-19 Quickturn Design Systems, Inc. Method and apparatus for configurable memory emulation
US6728800B1 (en) * 2000-06-28 2004-04-27 Intel Corporation Efficient performance based scheduling mechanism for handling multiple TLB operations
US7080373B2 (en) * 2001-03-07 2006-07-18 Freescale Semiconductor, Inc. Method and device for creating and using pre-internalized program files
US6772315B1 (en) * 2001-05-24 2004-08-03 Rambus Inc Translation lookaside buffer extended to provide physical and main-memory addresses
JP4116346B2 (ja) * 2002-07-05 2008-07-09 富士通株式会社 演算処理装置及びそのアドレス変換方法
US7886126B2 (en) * 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system
US9251091B2 (en) 2012-06-15 2016-02-02 International Business Machines Corporation Translation look-aside table management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2400729A1 (fr) * 1977-08-17 1979-03-16 Cii Honeywell Bull Dispositif pour la transformation d'adresses virtuelles en adresses physiques dans un systeme de traitement de donnees
US4285040A (en) * 1977-11-04 1981-08-18 Sperry Corporation Dual mode virtual-to-real address translation mechanism
US4241401A (en) * 1977-12-19 1980-12-23 Sperry Corporation Virtual address translator utilizing interrupt level code
JPS5576447A (en) * 1978-12-01 1980-06-09 Fujitsu Ltd Address control system for software simulation
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4456954A (en) * 1981-06-15 1984-06-26 International Business Machines Corporation Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations
JPS5898893A (ja) * 1981-12-09 1983-06-11 Toshiba Corp 情報処理装置

Also Published As

Publication number Publication date
DE3584657D1 (de) 1991-12-19
EP0175091B1 (en) 1991-11-13
JPS61117637A (ja) 1986-06-05
CA1229424A (en) 1987-11-17
EP0175091A2 (en) 1986-03-26
US4695950A (en) 1987-09-22
EP0175091A3 (en) 1988-03-16

Similar Documents

Publication Publication Date Title
JPH0348541B2 (ja)
US8549211B2 (en) Method and system for providing hardware support for memory protection and virtual memory address translation for a virtual machine
EP0067344B1 (en) Data processing system with guest architectural support
US5574936A (en) Access control mechanism controlling access to and logical purging of access register translation lookaside buffer (ALB) in a computer system
US5247639A (en) Microprocessor having cache bypass signal terminal
EP1701269B1 (en) Invalidating storage, clearing buffer entries
US6321314B1 (en) Method and apparatus for restricting memory access
EP0327798B1 (en) Control method and apparatus for zero-origin data spaces
US5283882A (en) Data caching and address translation system with rapid turnover cycle
US5339417A (en) Computer system with two levels of guests
JP2000231549A (ja) マイクロプロセッサ
US7269825B1 (en) Method and system for relative address translation
JPH08272692A (ja) 仮想アドレス変換方法
JP3045952B2 (ja) フルアソシアティブ・アドレス変換器
US5615327A (en) Apparatus and method for controlling the initiating of a synchronization protocol for synchronizing a plurality of processors in a multi-processor system
US5226132A (en) Multiple virtual addressing using/comparing translation pairs of addresses comprising a space address and an origin address (sto) while using space registers as storage devices for a data processing system
US5280592A (en) Domain interlock
US5428759A (en) Associative memory system having segment and page descriptor content-addressable memories
JPH11265286A (ja) レガシ指令のエミュレ―ション装置及び方法
US5341485A (en) Multiple virtual address translation per computer cycle
JP2000339221A (ja) 変換装置のエントリを無効化するシステム及び方法
US5305458A (en) Multiple virtual storage system and address control apparatus having a designation table holding device and translation buffer
JPH0519176B2 (ja)
JPH0327940B2 (ja)
US6324635B1 (en) Method and apparatus for address paging emulation