JPH0658650B2 - 仮想計算機システム - Google Patents

仮想計算機システム

Info

Publication number
JPH0658650B2
JPH0658650B2 JP61054704A JP5470486A JPH0658650B2 JP H0658650 B2 JPH0658650 B2 JP H0658650B2 JP 61054704 A JP61054704 A JP 61054704A JP 5470486 A JP5470486 A JP 5470486A JP H0658650 B2 JPH0658650 B2 JP H0658650B2
Authority
JP
Japan
Prior art keywords
address
guest
register
tlb
instruction
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
JP61054704A
Other languages
English (en)
Other versions
JPS62212746A (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 JP61054704A priority Critical patent/JPH0658650B2/ja
Priority to US07/026,064 priority patent/US4816991A/en
Publication of JPS62212746A publication Critical patent/JPS62212746A/ja
Publication of JPH0658650B2 publication Critical patent/JPH0658650B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、アドレス変換バッファを有する仮想計算機シ
ステムに関する。
〔従来の技術〕
IBM社の370/XAアーキテクチャの仮想計算機システムで
は、ホスト制御プログラムで仮想計算機実行開始命令
(以下SE命令と呼ぶ)が実行された後、仮想計算機
(以下、VMと呼ぶ)の動作が開始される。第1図に、S
E命令の命令形式を示す。SE命令は、そのB2お
よびD2フィールドによって位置付けられる状態記述子
(以下SDと呼ぶ)をオペランドとして指定する。中央処
理装置(以下、CPUと呼ぶ。)の命令実行部は、SE
命令を実行する為に主記憶装置(以下、MSと呼ぶ)から
SDの各フィールドをCPUのリードウェア資源に設定し、C
PUをゲストVMとして動作させる。この時設定されるハー
ドウェア資源には、ゲストモード・ラッチやPSW,制御
レジスタ(CR),汎用レジスタ(GR),プリフィツクスおよ
びMSエクステント・レジスタなどがある。一方、ホスト
の状態はCPU内に保存される。かくて、SDはゲスト命令
から見たゲストVMのアーキテクチャを記述する。
SE命令によって開始されたゲストVMは割込み事象ま
たはインターセプションが発生するまでの間、ゲストプ
ログラムをエミュレートする。割込み事象とは、例えば
入出力割込みや外部割込みなどホストの処理を必要とす
る場合である。インターセプションとは、例えばホスト
処理の必要な命令の実行時に発生する。一部の特権命令
ではインターセプションを発生させるか否かSD内のイン
ターセプション・マスクフィールドで指定できる。
割込み事象またはインターセプションが発生した時、ゲ
ストVMは終了し、CPUはホスト・モードとなり、SE
命令実行時の状態に復元される。
仮想計算機システムにおける重要な技術課題の1つは、
ゲストの「主記憶」を表現する方法である。SE命令
で開始されたゲストVMでは、ページ記憶モードと優先記
憶モードの2つが用いられる。第2図はページ記憶モー
ドにおけるアドレス変換機構を示している。ゲストの仮
想アドレス(GV)は、ゲスト・アドレス変換によりゲスト
の絶対アドレス(GA)に変換される。このGAがSDで指定さ
れたMSエクステント内にあることをチェックする。GAに
MSオリジン(MSO)が加算され、ホスト仮想アドレス(HV)
が求められる。HVは、ホスト・アドレス変換によりホス
ト絶対アドレス(HA)に変換される。優先記憶モードで
は、ゲストの絶対アドレスがそのままホストの絶対アド
レスとみなされる。いずれのモードにおいても、アドレ
ス変換バッファ(TLB)のエントリには、GVとHAの対が登
録される。したがって、GVでTLBを検索することによりH
Aが求まる。
上記アーキテクチャの仮想計算機システムにおけるTLB
構成に関して、特開昭57-212680号が知られている。こ
こでは、TLBの各エントリにゲスト・フィールドを1ビ
ット分設け、ホストのアドレス変換情報を登録した時
“0”ゲストVMのアドレス変換情報を登録した時“1”
とする。これによりホスト・エントリとゲスト・エント
リを識別が可能となり、TLB内にホストと1つのゲストV
Mのアドレス変換情報が同時に保持される。しかし、TLB
内に保持できるゲストVMの数が1つに制限される為、例
えば、割込み事象またはインターセプションによってゲ
ストVMの実行を終了した時、該ゲストVMのゲスト・エン
トリをすべて無効化する必要がある。したがって、S
E命令によって該ゲストVMを再び起動した場合、前回の
該ゲストVM終了時にTLBに登録されていたエントリに対
応したページをアクセスする時にもアドレス変換が発生
し、命令処理性能上余計なオーバヘッドが生じる。以上
の問題を解決する為には、TLB内にホスト複数のゲストV
Mのアドレス変換情報を同時に保持できる構成とし、ゲ
ストVMを識別する手段を設けることが必要である。
ゲストVM識別する手段を設けた従来例として特公昭57-2
3347号公報に示されるものがある。この従来例では、ゲ
ストVM識別情報として、VM-ID(VMモニターによってMS
上に割当てられた領域の先頭アドレス又は最終アドレ
ス)を用い、アドレス変換バッファにVM-IDを記憶する
ためのフィールドを設け、かつVM-IDを設定するための
レジスタを設けている。アドレス変換バッファを検索す
る際は、予めレジスタにVM-IDを設定しておき、アドレ
ス変換バッファから読み出されたVM-IDとレジスタのVM-
IDとを比較して、一致した場合のみGVからHAの変換がな
される。この技術によればあるゲストVMから他のゲスト
VMへ制御が移される場合にアドレス変換バッファの内容
をクリアすることなくそのまま利用できるようになる。
〔発明が解決しようとする問題点〕
しかし、VM-IDは、VMモニターというソフトウェアにて
管理されるものであり、ハードウェア側から見た場合VM
-IDとして何が割り当てられているのかわからない。し
たがってVM-IDをレジスタにセットする際、ソフトウェ
アにおいてVM-IDとして何を割り当てたのか検出して、
ソフトウェアにより検出されたVM-IDをレジスタに設定
し、かつソフトウェアによりゲストVMの実行を開始させ
る必要がある。
本発明の目的は、仮想計算機システムにおけるゲストVM
の実行開始時の処理性能を向上させることにある。
〔問題点を解決するための手段〕
本発明では、ゲストVMの識別手段として、該ゲストVMを
起動したSE命令の第2オペランド、すなわちSDを示
すMS上アドレス(以下、SDアドレスと呼ぶ)、を用い
る。TLBの各エントリに、ホストまたはゲストVMのどち
らのアドレス変換情報を保持するかを指示するゲスト・
フィールドと該エントリがゲストVMの時対応するSDアド
レスを保持する為のSDアドレス・フィールドを設ける。
さらに、SE命令発行の際に該ゲストVMに対応したSD
アドレスがセットされゲストVM実行中保持し続ける手段
(例えばレジスタ)を設け、ゲストVM実行中にTLBを検
索する場合、TLBの各エントリにおいてゲスト・フィー
ルドの値が1でかつSDアドレス・フィールドの値がレジ
スタ上に保持したSDアドレスと一致することがTLBヒッ
ト条件となる。
〔作用〕
SDアドレスは各ゲストVMの状態記述子の位置を示すハー
ド的に決められたアドレスであって、ハードウェア側に
おいて管理可能なものである。
SE命令が実行された際SDの各フィールドがハードウ
ェアにより、CPUのハードウェア資源に設定されるが、
このとき、SDアドレスもハードウェアで管理可能なもの
であるので、ハードウェアによって自動的にレジスタに
設定できる。
すなわち、ゲストVMはソフト側からみるとSE命令を
一つ実行しただけで実行され、かつレジスタにゲストVM
を識別するための情報が設定されることになる。
これによりゲストVMの命令処理性能を向上させることが
できる。
〔実施例〕
以下、本発明の一実施例を第3図により説明する。
本発明では、TLBの読出しをTLB検索、TLBの書込みをTLB
登録(TLB無効化を含む)、両者を総称してTLBアクセス
と呼ぶ。
第3図は、仮想計算機システムのCPUのうち、本発明の
関連する部分、すなわち、TLB,TLB参照に必要なレジス
タ群、TLB出力よりTLBヒットまたはTLBミスを判定する
回路(TLBヒット判定部)を示している。
1は命令実行部、5はゲストVMモード・レジスタ(Gレ
ジスタ)、6はSDアドレス・レジスタ・(SDAレジス
タ)、7はゲストのセグメント・テーブル・オリジン・
レジスタ(GSTOレジスタ)、8はホストのセグメント・
テーブル・オリジン・レジスタ(HSTOレジスタ)であ
る。前述の如く、ホスト・プログラム中にSE命令が
実行された時、ゲストVMの実行が開始される。第4図に
示すとおり、ソフトウェア側でSE命令が発行される
と、ハードウェア側のマイクロ命令がSE命令の実行
を開始する。命令実行部1のハードウェア(マイクロ命
令は、SE命令50の処理としてGレジスタ5を‘1’
にセットし(処理60)、該SE命令の指定するSDアド
レスをSDAレジスタ6に設定し(処理61)、MSより読出
したSD内のCR1フィールドの値をGTSOレジスタ7に設定
する(処理62)。さらに、従来の如く、各フィールドの
値をCPUのハードウェア資源に設定する(処理63)。こ
のようにしてSE命令が実行される。Gレジスタ5が
‘0’の時CPUはホスト・モードとして動作し、‘1’
の時ゲストVMモードとして動作する。ゲスト・プログラ
ム中の割込み事象またはインタセプションによってゲス
トVMの実行を終了する時、Gレジスタ5は命令実行部1
によって‘0’にリセットされる。GSTOレジスタ7は、
ゲストアドレス変換に用いられゲストアドレス空間を識
別する。HSTOレジスタ8は、ホストアドレス変換に用い
られホストアドレス空間を識別する。HSTOレジスタ8お
よびGSTOレジスタ7は、命令実行部1がそれぞれホスト
・プログラム、ゲスト・プログラム中でLCTL命令(制御
レジスタを書換える命令)を実行した時、更新される。
10はTLB参照の為のアドレス・レジスタ、9はTLB参照を
仮想アドレスまたは実アドレスのいずれで行うかを示す
為のリアル・モード・レジスタ(Rレジスタ)を示す。
命令実行部1は、例えば命令読出しやオペランド読出し
でTLBを参照する時、アドレスレジスタ10およびRレジ
スタ9を設定しTLB参照要求を発行する。
TLB3は、本実施例ではセット・アソシアティブ方式と
する。すなわち、カラム・アドレスでアドレス付けさ
れ、カラム・アドレスによって選択された1つまたは複
数のエントリはローと呼ばれ、該ローが検索または登録
の対象となる。本実施例ではカラム数512、ロー数1、
すなわち合計512エントリを待つTLB構成とするが、他の
構成についても容易に類推される。カラム・アドレス
は、アドレスのビット11-19とする。TLB3は、アドレス
・レジスタ10のカラム・アドレス部34をアドレス・デコ
ーダ12によってデコードし、アクセスするエントリが選
択される。
TLB3の各エントリは、有効フィールド(V)、ゲスト・フ
ィールド(G)、状態記述子アドレス・フィールド(SDA)、
実アドレス・フィールド(R)セグメント・テーブル・オ
リジン・フィールド(STO)、仮想アドレス・フィールド
(VA)、絶対アドレス・フィールド(PA)から構成される。
第1図で各フィールドのビット数を()で示している。
Vフィールドは、該エントリが有効か無効を示す1ビッ
トのフィールドである。該エントリが有効な時‘1’と
なり、無効な時‘0’となる。Gフィールドは、該エン
トリかホストまたはゲストVMのいずれのアドレス変換情
報であるかを示す1ビットのフィールドである。ホスト
の時‘0’、ゲストVMの時‘1’となる。SDAフィール
ドは、該エントリがゲストVMの時、すなわち、Gフィー
ルドが‘1’の時意味を持ちゲストVMを起動したSE
命令の指定するSDアドレスが格納される。SDは256B境界
にある為、アドレスのビット1-23が格納され、23ビット
のフィールドである。Rフィールドは、該エントリが実
アドレスまたは仮想アドレスであるかを示す1ビットの
フィールドである。‘0’の時実アドレスを表わし、
‘1’の時仮想アドレスを表わす。Cフィールドは、該
エントリが共通セグメントを用いたアドレス変換情報で
あることを示す1ビットのフィールドである。ホスト・
モードではホスト・アドレス変換、ゲストVMモードでは
ゲスト・アドレス変換のそれぞれにおいて、参照したセ
グメント・テーブル・エントリの共通セグメント・ビッ
トが‘1’の時、本フィールドが‘1’となる。STOフ
ィールドは、該エントリのアドレス変換時のセグメント
・テーブル・オリジンを表わす。370/XAアーキテクチャ
では、STOのビット1-25がアドレスを表わし、本フィー
ルドは25ビットである。VAフィールドは、TLBアクセス
のページ・フレーム・アドレスのうちカラム・アドレス
以外のビット、すなわち、ビット1-10を格納する10ビッ
トのフィールドである。
PAフィールドは、絶対アドレスのページ・フレーム・ア
ドレスの19ビットを格納する。
TLBヒット判定部4は、比較回路14〜18,ANDゲート19・2
0・22,ORゲート21,50否定ゲート13・23から構成される。
比較回路14は、TLBのGフィールド出力38とGレジスタ
出力27を比較し、一致した時、‘1’を出力する。比較
回路15は、TLBのSDAフィールド出力39とSDAレジスタ出
力28を比較する。ANDゲート19・20,否定ゲート13,ORゲ
ート50によって、VMシステムに関するTLBヒット条件が
生成される。すなわち、ホスト・モード(Gレジスタ5
が‘0’)でかつTLBエントリのGフィールドが
‘0’、または、ゲストVMモード(Gレジスタ5が
‘1’)でかつTLBエントリのGフィールドが‘1’で
かつ現在実行中のゲストVMのSDアドレス(SDAレジスタ
6の値)がTLBエントリのSDAフィールドと一致する時、
ORゲート50に‘1’が出力される。ORゲート21は、アド
レス空間に関するTLBヒット条件を生成する。すなわ
ち、TLBエントリが共通セグメント(TLBのCフィールド
が‘1’)、またはTLBエントリのSTO値が現在のSTO31
と一致した時、ORゲート21に‘1’が出力される。な
お、現在のSTO31として、Gレジスタ5に対応してセレ
クタ11によってGSTOレジスタ7またはHSTO8のいずれか
が選択される。ANDゲート22によって、TLBヒット45が生
成される。否定ゲート23によってTLBミス46が生成され
る。TLBヒット45およびPAフィールド出力44は、キヤッ
シュ制御部(省略)へ転送される。TLBミス46は、アド
レス変換部(省略)へ転送される。
2は、TLB書込み制御部である。アドレス変換による
TLB登録、およびTLBエントリの無効化を制御する。TLB
登録時にはGフィールド、SDAフィールド、Rフィール
ド、STOフィールド、VMフィールドはそれぞれ、Gレジ
スタ5、SDAレジスタ6、Rレジスタ9、STO31、アドレ
ス・レジスタ10の値が格納される。また、Cフィールド
およびPAフィールドは、アドレス変換部から転送された
値が格納される。
〔発明の効果〕
本発明では、アドレス変換におけるゲストVMの識別手段
としてSDアドレスを採用した点に特徴がある。すなわ
ち、SE命令実行の際ハード的に該ゲストVMのSDアド
レスが設定されるSDAレジスタとTLB内の各エントリにSD
Aフィールドを設け、TLBヒット判定部に読出したTLBエ
ントリのSDAフィールド値とSDAレジスタを比較する手段
を設けた。SDAレジスタは、SE命令実行時にSDアド
レスがハードウェア的に設定される。これらにより、TL
B内にホストと複数のゲストVMのアドレス変換情報を同
時に保持することが可能となり、又ゲストVMはソフト側
から見るとSE命令を一つ実行しただけでディスパッ
チされる。
【図面の簡単な説明】
第1図はSE命令を示した図、第2図はゲストVMにお
けるアドレス変換を示した図、第3図は本特許の実施例
で特にTLBに関連した図、第4図はSE命令の処理を
示す図である。 1……命令実行部 2……TLB書込み制御部 3……TLB 4……TLBヒット判定部 5……ゲスト・レジスタ 6……SDAレジスタ 7……ゲスト・STOレジスタ 8……ホストSTOレジスタ 10……アドレス・レジスタ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ゲスト仮想計算機実行開始命令の実行の際
    に、該命令で指定される主記憶上のゲスト仮想計算機状
    態記述子を中央処理装置に設定することによりゲスト仮
    想計算機の開始を指示する命令実行部と、ゲスト仮想計
    算機で用いるアドレス空間を主記憶上のアドレス空間に
    変換するアドレス変換バッファとを有する仮想計算機シ
    ステムにおいて、 前記アドレス変換バッファの各エントリに設けられ、ゲ
    スト仮想計算機実行開始命令が指定する状態記述子の主
    記憶上のアドレスを格納するための状態記述子アドレス
    フィールドと、 前記命令実行部がゲスト仮想計算機実行開始命令を実行
    した時に、前記状態記述子が設定される状態記述子アド
    レスレジスタと、 ゲスト仮想計算機がアドレス空間をアクセスする時に、
    前記状態記述子アドレスレジスタと前記アドレス変換バ
    ッファの状態記述子アドレスフィールドとのデータを比
    較し、一致するときのみ、前記アドレス変換バッファの
    アドレス変換が成功したと判定する比較手段とを有する
    ことを特徴とする仮想計算機システム。
JP61054704A 1986-03-14 1986-03-14 仮想計算機システム Expired - Lifetime JPH0658650B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61054704A JPH0658650B2 (ja) 1986-03-14 1986-03-14 仮想計算機システム
US07/026,064 US4816991A (en) 1986-03-14 1987-03-16 Virtual machine system with address translation buffer for holding host and plural guest entries

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61054704A JPH0658650B2 (ja) 1986-03-14 1986-03-14 仮想計算機システム

Publications (2)

Publication Number Publication Date
JPS62212746A JPS62212746A (ja) 1987-09-18
JPH0658650B2 true JPH0658650B2 (ja) 1994-08-03

Family

ID=12978185

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61054704A Expired - Lifetime JPH0658650B2 (ja) 1986-03-14 1986-03-14 仮想計算機システム

Country Status (2)

Country Link
US (1) US4816991A (ja)
JP (1) JPH0658650B2 (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0810437B2 (ja) * 1987-05-11 1996-01-31 株式会社日立製作所 仮想計算機システムのゲスト実行制御方式
JP2523653B2 (ja) * 1987-07-08 1996-08-14 株式会社日立製作所 仮想計算機システム
JP2510605B2 (ja) * 1987-07-24 1996-06-26 株式会社日立製作所 仮想計算機システム
JP2507756B2 (ja) * 1987-10-05 1996-06-19 株式会社日立製作所 情報処理装置
JP2615103B2 (ja) * 1987-12-11 1997-05-28 株式会社日立製作所 仮想計算機システム
US5008811A (en) * 1988-02-10 1991-04-16 International Business Machines Corp. Control mechanism for zero-origin data spaces
JPH01255945A (ja) * 1988-04-06 1989-10-12 Hitachi Ltd 仮想計算機におけるアドレス変換装置
JPH0293952A (ja) * 1988-09-30 1990-04-04 Hitachi Ltd 仮想計算機システム
JP2825550B2 (ja) * 1989-09-21 1998-11-18 株式会社日立製作所 多重仮想空間アドレス制御方法および計算機システム
JPH07117918B2 (ja) * 1989-09-25 1995-12-18 株式会社日立製作所 データ処理システム
JP2839201B2 (ja) * 1990-07-30 1998-12-16 株式会社日立製作所 仮想計算機システム
US5317754A (en) * 1990-10-23 1994-05-31 International Business Machines Corporation Method and apparatus for enabling an interpretive execution subset
US5381535A (en) * 1990-10-24 1995-01-10 International Business Machines Corporation Data processing control of second-level quest virtual machines without host intervention
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
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
JP2778291B2 (ja) * 1991-05-31 1998-07-23 日本電気株式会社 アドレス変換レジスタ制御方式
US5319760A (en) * 1991-06-28 1994-06-07 Digital Equipment Corporation Translation buffer for virtual machines with address space match
JPH0512126A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 仮想計算機のアドレス変換装置及びアドレス変換方法
JP3259969B2 (ja) * 1991-07-09 2002-02-25 株式会社東芝 キャッシュメモリ制御装置
US5555385A (en) * 1993-10-27 1996-09-10 International Business Machines Corporation Allocation of address spaces within virtual machine compute system
US5649140A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation System for use in translating virtual addresses into absolute addresses
JPH0981459A (ja) * 1995-09-19 1997-03-28 Hitachi Ltd アドレス変換バッファ装置
US7069413B1 (en) 2003-01-29 2006-06-27 Vmware, Inc. Method and system for performing virtual to physical address translations in a virtual machine monitor
US7111146B1 (en) 2003-06-27 2006-09-19 Transmeta Corporation Method and system for providing hardware support for memory protection and virtual memory address translation for a virtual machine
US7444493B2 (en) * 2004-09-30 2008-10-28 Intel Corporation Address translation for input/output devices using hierarchical translation tables
US9058292B2 (en) 2004-12-29 2015-06-16 Intel Corporation System and method for one step address translation of graphics addresses in virtualization
US7734892B1 (en) 2005-03-31 2010-06-08 Rozas Guillermo J Memory protection and address translation hardware support for virtual machines
US8522253B1 (en) 2005-03-31 2013-08-27 Guillermo Rozas Hardware support for virtual machine and operating system context switching in translation lookaside buffers and virtually tagged caches
EP2477109B1 (en) 2006-04-12 2016-07-13 Soft Machines, Inc. Apparatus and method for processing an instruction matrix specifying parallel and dependent operations
US8677105B2 (en) 2006-11-14 2014-03-18 Soft Machines, Inc. Parallel processing of a sequential program using hardware generated threads and their instruction groups executing on plural execution units and accessing register file segments using dependency inheritance vectors across multiple engines
US8275971B2 (en) 2008-08-27 2012-09-25 International Business Machines Corporation Method and apparatus for managing software controlled cache of translating the physical memory access of a virtual machine between different levels of translation entities
EP3156896B1 (en) 2010-09-17 2020-04-08 Soft Machines, Inc. Single cycle multi-branch prediction including shadow cache for early far branch prediction
KR101636602B1 (ko) 2011-03-25 2016-07-05 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
KR101638225B1 (ko) 2011-03-25 2016-07-08 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 명령어 시퀀스 코드 블록의 실행
WO2012135041A2 (en) 2011-03-25 2012-10-04 Soft Machines, Inc. Register file segments for supporting code block execution by using virtual cores instantiated by partitionable engines
KR101639854B1 (ko) 2011-05-20 2016-07-14 소프트 머신즈, 인크. 복수의 엔진에 의해 명령어 시퀀스들의 실행을 지원하기 위한 상호접속 구조
TWI666551B (zh) 2011-05-20 2019-07-21 美商英特爾股份有限公司 以複數個引擎作資源與互連結構的分散式分配以支援指令序列的執行
WO2013077876A1 (en) 2011-11-22 2013-05-30 Soft Machines, Inc. A microprocessor accelerated code optimizer
EP2783280B1 (en) 2011-11-22 2019-09-11 Intel Corporation An accelerated code optimizer for a multiengine microprocessor
US8930674B2 (en) 2012-03-07 2015-01-06 Soft Machines, Inc. Systems and methods for accessing a unified translation lookaside buffer
US9710399B2 (en) 2012-07-30 2017-07-18 Intel Corporation Systems and methods for flushing a cache with modified data
US9916253B2 (en) 2012-07-30 2018-03-13 Intel Corporation Method and apparatus for supporting a plurality of load accesses of a cache in a single cycle to maintain throughput
US9229873B2 (en) 2012-07-30 2016-01-05 Soft Machines, Inc. Systems and methods for supporting a plurality of load and store accesses of a cache
US9430410B2 (en) 2012-07-30 2016-08-30 Soft Machines, Inc. Systems and methods for supporting a plurality of load accesses of a cache in a single cycle
US9740612B2 (en) 2012-07-30 2017-08-22 Intel Corporation Systems and methods for maintaining the coherency of a store coalescing cache and a load cache
US9678882B2 (en) 2012-10-11 2017-06-13 Intel Corporation Systems and methods for non-blocking implementation of cache flush instructions
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
KR20150130510A (ko) 2013-03-15 2015-11-23 소프트 머신즈, 인크. 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
WO2014150971A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for dependency broadcasting through a block organized source view data structure
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
WO2014150991A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for implementing a reduced size register view data structure in a microprocessor
CN105210040B (zh) 2013-03-15 2019-04-02 英特尔公司 用于执行分组成块的多线程指令的方法
WO2014150806A1 (en) 2013-03-15 2014-09-25 Soft Machines, Inc. A method for populating register view data structure by using register template snapshots
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9223574B2 (en) * 2014-03-27 2015-12-29 International Business Machines Corporation Start virtual execution instruction for dispatching multiple threads in a computer
US9772867B2 (en) * 2014-03-27 2017-09-26 International Business Machines Corporation Control area for managing multiple threads in a computer
US9213569B2 (en) 2014-03-27 2015-12-15 International Business Machines Corporation Exiting multiple threads in a computer
US9195493B2 (en) * 2014-03-27 2015-11-24 International Business Machines Corporation Dispatching multiple threads in a computer
US9389897B1 (en) 2014-12-18 2016-07-12 International Business Machines Corporation Exiting multiple threads of a simulation environment in a computer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4695950A (en) * 1984-09-17 1987-09-22 International Business Machines Corporation Fast two-level dynamic address translation method and means
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
US4660144A (en) * 1985-05-23 1987-04-21 International Business Machines Corp. Adjunct machine

Also Published As

Publication number Publication date
US4816991A (en) 1989-03-28
JPS62212746A (ja) 1987-09-18

Similar Documents

Publication Publication Date Title
JPH0658650B2 (ja) 仮想計算機システム
US9720846B2 (en) Memory swap for direct memory access by a device assigned to a guest operating system
US7886293B2 (en) Optimizing system behavior in a virtual machine environment
US7069413B1 (en) Method and system for performing virtual to physical address translations in a virtual machine monitor
US8380907B2 (en) Method, system and computer program product for providing filtering of GUEST2 quiesce requests
JP2618175B2 (ja) キャッシュ・アクセスのための仮想アドレス変換予測の履歴テーブル
US7734892B1 (en) Memory protection and address translation hardware support for virtual machines
US9772962B2 (en) Memory sharing for direct memory access by a device assigned to a guest operating system
US20080294867A1 (en) Arithmetic processor, information procesing apparatus and memory access method in arithmetic processor
US8458438B2 (en) System, method and computer program product for providing quiesce filtering for shared memory
US6519684B1 (en) Low overhead method for selecting and updating an entry in a cache memory
US7617379B2 (en) Multi-hit control method for shared TLB in a multiprocessor system
US10120709B2 (en) Guest initiated atomic instructions for shared memory page host copy on write
JPH0619739B2 (ja) 多重プロセツサ・システムのキヤツシユを制御する方法
JP4867451B2 (ja) キャッシュメモリ装置及びそれに用いるキャッシュメモリ制御方法並びにそのプログラム
US6615337B1 (en) Method and apparatus for maintaining coherency in a translation lookaside buffer
JP2534662B2 (ja) 命令キヤツシユ制御方法
US20230161709A1 (en) Processor, computer system, and method for flushing hierarchical cache structure based on a designated key identification code and a designated address
JPH0766352B2 (ja) 仮想計算機システム
JPS6252334B2 (ja)
JPS62222342A (ja) 仮想計算機システム
JP2555461B2 (ja) キャッシュメモリシステム
JPH03185539A (ja) データ処理装置
JPS63253449A (ja) 仮想計算機システム
JPH077365B2 (ja) 情報処理装置