JP2006018819A - 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 - Google Patents
64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2006018819A JP2006018819A JP2005171364A JP2005171364A JP2006018819A JP 2006018819 A JP2006018819 A JP 2006018819A JP 2005171364 A JP2005171364 A JP 2005171364A JP 2005171364 A JP2005171364 A JP 2005171364A JP 2006018819 A JP2006018819 A JP 2006018819A
- Authority
- JP
- Japan
- Prior art keywords
- mode
- page
- processor
- bit
- architecture
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45554—Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1004—Compatibility, e.g. with legacy hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Storage Device Security (AREA)
Abstract
【解決手段】 一時的プロセッサモードコンテキスト切り替えを実行するために、仮想マシンモニタが、「仮想=現実」ページをセットアップするステップと、そのページ上にプロセッサモードコンテキスト切り替えを実行するための遷移コードを置くステップと、そのページにジャンプするステップと、x86−64コンピュータハードウェアのMMU(メモリ管理ユニット)を無効にするステップと、モード制御レジスタを変更して、ロングスーパーモードビットまたはレガシスーパーモードビットに設定するステップと、新たなページテーブルを読み込むステップと、x86−64コンピュータハードウェアのMMUを再アクチベートするステップとを実行する。
【選択図】図5
Description
本発明の多数の実施形態が、コンピュータ上で実行されることが可能である。図1、および以下の説明は、本発明を実施することができる適切なコンピューティング環境の簡単な一般的説明を提供することを目的とする。必須ではないが、本発明は、クライアントワークステーションまたはサーバなどのコンピュータによって実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的な文脈で説明する。一般に、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む、他のコンピュータシステム構成を使用して実施してもよいことが当業者には認められよう。また、本発明は、通信網を介してリンクされたリモート処理装置によってタスクが実行される分散コンピューティング環境において実施してもよい。分散コンピューティング環境では、プログラムモジュール群は、ローカルメモリ記憶装置とリモートメモリ記憶装置の両方の中に配置することができる。
概念的に見ると、コンピュータシステムは、一般に、基礎的なハードウェアレイヤ上で実行される1つまたは複数のソフトウェアレイヤを含む。この階層化(layering)は、抽象化のために行われる。所与のソフトウェアレイヤに関するインターフェースを定義することにより、そのレイヤより上位の他のレイヤ群とは異なる形でそのレイヤが実施されることが可能である。うまく設計されたコンピュータシステムでは、各レイヤは、そのレイヤの1つ下のレイヤについてだけ知っている(またそのようなレイヤだけに依拠する)。これにより、レイヤ、または「スタック」(複数の隣接するレイヤ)を、前記レイヤまたは前記スタックより上位のレイヤ群に悪影響を与えることなしに、置き換えることが可能になる。例えば、ソフトウェアアプリケーション群(上位レイヤ群)は、通常、オペレーティングシステムの下位レベル(下位レイヤ)に依拠して、何らかの形態の永久ストレージにファイルを書き込み、これらのアプリケーションは、フロッピー(登録商標)ディスク、ハードドライブ、またはネットワークフォルダにデータを書き込むことの間の違いを理解する必要がない。その下位レイヤが、ファイルを書き込むための新たなオペレーティングシステムコンポーネント群で置き換えられた場合、上位レイヤのソフトウェアアプリケーション群の動作は、影響を受けないままである。
図4は、x86−64ホストオペレーティングシステムと並行に実行される仮想マシンモニタを含む、仮想化されたコンピューティングシステムの別の代替の実施形態を示す。図4の仮想化されたコンピューティングシステムは、x86ベースの64ビットプロセッサ(図示せず)を含むx86−64コンピュータハードウェア124の上で実行される、x86−64ベースのOSであるx86−64ホストOS122を含むこと以外は、すべての点で図3Bのシステムと同一である。図4の仮想化されたコンピューティングシステムのVMM104’、VM A108、VM B110、ゲストOS A112、およびゲストOS B114は、x86−64コンピュータハードウェア124上の仮想マシン環境において、レガシOS群およびレガシアプリケーション群を実行するためにx86−64ホストOS122と並行に実行される、32ビットx86仮想マシンを代表する。
本明細書で説明する様々なシステム、方法、および技術は、ハードウェアで、またはソフトウェアで、あるいは、適切な場合、ハードウェアとソフトウェアの組合せで実施することができる。このため、本発明の方法および装置、または方法および装置のいくつかの態様または部分は、フロッピー(登録商標)ディスケット、CD−ROM、ハードドライブ、または他の任意のマシン可読記憶媒体などの実体のある媒体で実体化されたプログラムコード(すなわち、命令群)の形態をとることができ、プログラムコードは、コンピュータなどのマシンに読み込まれ、マシンによって実行されると、そのマシンが、本発明を実施するための装置になる。プログラマブルコンピュータ上のプログラムコード実行のケースでは、コンピュータは、一般に、プロセッサ、プロセッサが読み取り可能な記憶媒体(揮発性メモリおよび不揮発性メモリ、および/または記憶要素を含む)、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスを含む。1つまたは複数のプログラムが、好ましくは、高級手続き言語、またはオブジェクト指向プログラミング言語で実装されて、コンピュータシステムと通信する。ただし、プログラムは、所望される場合、アセンブリ言語または機械語で実装することもできる。いずれにしても、言語は、コンパイルされる言語、または解釈される言語であることが可能であり、ハードウェア実施形態と組み合わせられることが可能である。
21 処理装置
22 システムメモリ
23 システムバス
27 ハードドライブ
28 フロッピー(登録商標)ドライブ
50 フロッピー(登録商標)ドライブ
29 リムーバブルなストレージ
30 光ドライブ
32 ハードディスクドライブI/F
33 磁気ディスクドライブI/F
34 光ドライブI/F
36 アプリケーションプログラム群
36’ アプリケーションプログラム群
37 他のプログラム群
38 プログラムデータ
40 キーボード
42 マウス
46 シリアルポートI/F
47 モニタ
48 ビデオアダプタ
49 リモートコンピュータ
53 ネットワークI/F
54 モデム
55 ホストアダプタ
56 SCSIバス
62 記憶装置
Claims (28)
- マルチモードアーキテクチャコンピュータシステム(「コンピュータシステム」)において第1のモードと第2のモードの間で一時的プロセッサモードコンテキスト切り替えを実行するための方法であって、
「仮想=現実」ページ(「切り替えページ」)を確立するステップであって、前記ページに対して使用される仮想アドレスは、前記ページの現実のメモリアドレスでもあるステップと、
プロセッサモードコンテキスト切り替えを実行するための遷移コードのセットを前記切り替えページにコピーするステップと、
継続した実行のために前記切り替えページにジャンプするステップと、
前記コンピュータシステムのMMU(メモリ管理ユニット)を無効にするステップと、
モード制御レジスタを変更して、コンテキストビットを前記第1のモードから前記第2のモードに設定するステップと、
前記第2のモードに関する新たなページテーブルを読み込むステップと、
前記コンピュータシステムの前記MMUを再アクチベートするステップと
を含むことを特徴とする方法。 - 前記方法の少なくとも1つのステップは、仮想マシンモニタによって実行されることを特徴とする請求項1に記載の方法。
- 前記方法は仮想マシンモニタによって実行されることを特徴とする請求項1に記載の方法。
- 前記第1のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第2のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードであることを特徴とする請求項1に記載の方法。
- 前記第2のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第1のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードであることを特徴とする請求項1に記載の方法。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットリング0コードを実行するのに使用されることを特徴とする請求項1に記載の方法。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットv86モードコードを実行するのに使用されることを特徴とする請求項1に記載の方法。
- マルチモードアーキテクチャコンピュータシステム(「コンピュータシステム」)において第1のモードと第2のモードの間で一時的プロセッサモードコンテキスト切り替えを実行するためのシステムであって、
「仮想=現実」ページ(「切り替えページ」)を確立するためのサブシステムであって、
前記ページに対して使用される仮想アドレスは、前記ページの現実のメモリアドレスでもあるサブシステムと、
プロセッサモードコンテキスト切り替えを実行するための遷移コードのセットを前記切り替えページにコピーするためのサブシステムと、
継続した実行のために前記切り替えページにジャンプするためのサブシステムと、
前記コンピュータシステムのMMU(メモリ管理ユニット)を無効にするためのサブシステムと、
モード制御レジスタを変更して、コンテキストビットを前記第1のモードから前記第2のモードに設定するためのサブシステムと、
前記第2のモードに関する新たなページテーブルを読み込むためのサブシステムと、
前記コンピュータシステムの前記MMUを再アクチベートするためのサブシステムと
を含むことを特徴とするシステム。 - 前記システムは仮想マシンモニタを含むことを特徴とする請求項8に記載のシステム。
- 仮想マシンモニタのためのサブシステムであることを特徴とする請求項8に記載のシステム。
- 前記第1のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第2のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードであることを特徴とする請求項8に記載のシステム。
- 前記第2のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第1のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードであることを特徴とする請求項8に記載のシステム。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットリング0コードを実行するのに使用されることを特徴とする請求項8に記載のシステム。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットv86モードコードを実行するのに使用されることを特徴とする請求項8に記載のシステム。
- マルチモードアーキテクチャコンピュータシステム(「コンピュータシステム」)において第1のモードと第2のモードの間で一時的プロセッサモードコンテキスト切り替えを実行するためのコンピュータ可読命令であって、「仮想=現実」ページ(「切り替えページ」)を確立するための命令であって、前記ページに対して使用される仮想アドレスは、前記ページの現実のメモリアドレスでもある命令と、
プロセッサモードコンテキスト切り替えを実行するための遷移コードのセットを前記切り替えページにコピーするための命令と、
継続した実行のために前記切り替えページにジャンプするための命令と、
前記コンピュータシステムのMMU(メモリ管理ユニット)を無効にするための命令と、
モード制御レジスタを変更して、コンテキストビットを前記第1のモードから前記第2のモードに設定するための命令と、
前記第2のモードに関する新たなページテーブルを読み込むための命令と、
前記コンピュータシステムの前記MMUを再アクチベートするための命令と
を含むことを特徴とするコンピュータ可読媒体。 - 前記方法の少なくとも1つのステップが仮想マシンモニタによって実行される命令をさらに含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
- 前記方法が仮想マシンモニタによって実行される命令をさらに含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
- 前記第1のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第2のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードである命令をさらに含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
- 前記第2のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第1のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードである命令をさらに含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットリング0コードを実行するのに前記方法が使用される命令をさらに含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットv86モードコードを実行するのに前記方法が使用される命令をさらに含むことを特徴とする請求項15に記載のコンピュータ可読媒体。
- マルチモードアーキテクチャコンピュータシステム(「コンピュータシステム」)において第1のモードと第2のモードの間で一時的プロセッサモードコンテキスト切り替えを実行するためのハードウェア制御デバイスであって、
「仮想=現実」ページ(「切り替えページ」)を確立するための手段であって、前記ページに対して使用される仮想アドレスは、前記ページの現実のメモリアドレスでもある手段と、
プロセッサモードコンテキスト切り替えを実行するための遷移コードのセットを前記切り替えページにコピーするための手段と、
継続した実行のために前記切り替えページにジャンプするための手段と、
前記コンピュータシステムのMMU(メモリ管理ユニット)を無効にするための手段と、
モード制御レジスタを変更して、コンテキストビットを前記第1のモードから前記第2のモードに設定するための手段と、
前記第2のモードに関する新たなページテーブルを読み込むための手段と、
前記コンピュータシステムの前記MMUを再アクチベートするための手段と
を含むことを特徴とするハードウェア制御デバイス。 - 前記方法の少なくとも1つのステップが仮想マシンモニタによって実行される手段をさらに含むことを特徴とする請求項22に記載のハードウェア制御デバイス。
- 前記方法が仮想マシンモニタによって実行される手段をさらに含むことを特徴とする請求項22に記載のハードウェア制御デバイス。
- 前記第1のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第2のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードである手段をさらに含むことを特徴とする請求項22に記載のハードウェア制御デバイス。
- 前記第2のモードは、x86−64アーキテクチャプロセッサに関するロングモードであり、前記第1のモードは、前記x86−64アーキテクチャプロセッサに関するレガシモードである手段をさらに含むことを特徴とする請求項22に記載のハードウェア制御デバイス。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットリング0コードを実行するのに前記方法が使用される手段をさらに含むことを特徴とする請求項22に記載のハードウェア制御デバイス。
- x86−64アーキテクチャプロセッサ上でレガシモードで32ビットv86モードコードを実行するのに前記方法が使用される手段をさらに含むことを特徴とする請求項22に記載のハードウェア制御デバイス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/883,496 US7260702B2 (en) | 2004-06-30 | 2004-06-30 | Systems and methods for running a legacy 32-bit x86 virtual machine on a 64-bit x86 processor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006018819A true JP2006018819A (ja) | 2006-01-19 |
JP2006018819A5 JP2006018819A5 (ja) | 2008-02-07 |
JP4156611B2 JP4156611B2 (ja) | 2008-09-24 |
Family
ID=35457210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005171364A Expired - Fee Related JP4156611B2 (ja) | 2004-06-30 | 2005-06-10 | 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7260702B2 (ja) |
EP (1) | EP1628215A3 (ja) |
JP (1) | JP4156611B2 (ja) |
KR (1) | KR20060046262A (ja) |
CN (1) | CN100530102C (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006196005A (ja) * | 2005-01-14 | 2006-07-27 | Intel Corp | バーチャルマシーンシステムの物理的メモリのバーチャル化 |
JP2008171428A (ja) * | 2007-01-09 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | プロセッサが規格合致するように見えるアーキテクチャ・レベルを選択するための方法および装置 |
US20120185688A1 (en) * | 2011-01-13 | 2012-07-19 | Google Inc. | Processor mode locking |
CN106133682A (zh) * | 2014-03-18 | 2016-11-16 | 国际商业机器公司 | 用于能在多种架构中初始化的控制实用工具的公用引导序列 |
US9626201B2 (en) | 2012-03-27 | 2017-04-18 | Fujitsu Limited | Processor emulation device and storage medium |
JP2017513113A (ja) * | 2014-03-18 | 2017-05-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 選択されたアーキテクチャ・ファシリティと関連した処理の管理 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9189230B2 (en) * | 2004-03-31 | 2015-11-17 | Intel Corporation | Method and system to provide concurrent user-level, non-privileged shared resource thread creation and execution |
US7478388B1 (en) * | 2004-04-21 | 2009-01-13 | Vmware, Inc. | Switching between multiple software entities using different operating modes of a processor in a computer system |
US20060070065A1 (en) * | 2004-09-29 | 2006-03-30 | Zimmer Vincent J | Memory support for heterogeneous virtual machine guests |
US9753754B2 (en) * | 2004-12-22 | 2017-09-05 | Microsoft Technology Licensing, Llc | Enforcing deterministic execution of threads of guest operating systems running in a virtual machine hosted on a multiprocessor machine |
US20060143517A1 (en) * | 2004-12-22 | 2006-06-29 | Microsoft Corporation | Replicated virtual machine |
CN100388195C (zh) * | 2006-02-22 | 2008-05-14 | 北京金山软件有限公司 | 一种64位视窗操作系统下获取函数参数的方法及系统 |
US8099730B2 (en) | 2006-03-30 | 2012-01-17 | Intel Corporation | Heterogeneous virtualization of host and guest OS having different register sizes using translation layer to extract device port numbers for host OS system memory addresses |
US7451298B2 (en) * | 2006-08-03 | 2008-11-11 | Apple Inc. | Processing exceptions from 64-bit application program executing in 64-bit processor with 32-bit OS kernel by switching to 32-bit processor mode |
US7555628B2 (en) * | 2006-08-15 | 2009-06-30 | Intel Corporation | Synchronizing a translation lookaside buffer to an extended paging table |
US8832679B2 (en) * | 2007-08-28 | 2014-09-09 | Red Hat, Inc. | Registration process for determining compatibility with 32-bit or 64-bit software |
US9652210B2 (en) * | 2007-08-28 | 2017-05-16 | Red Hat, Inc. | Provisioning a device with multiple bit-size versions of a software component |
US8127296B2 (en) * | 2007-09-06 | 2012-02-28 | Dell Products L.P. | Virtual machine migration between processors having VM migration registers controlled by firmware to modify the reporting of common processor feature sets to support the migration |
US7840783B1 (en) * | 2007-09-10 | 2010-11-23 | Netlogic Microsystems, Inc. | System and method for performing a register renaming operation utilizing hardware which is capable of operating in at least two modes utilizing registers of multiple widths |
US8281294B1 (en) * | 2007-11-12 | 2012-10-02 | Nvidia Corporation | System and method for representing and managing a multi-architecture co-processor application program |
US8276132B1 (en) * | 2007-11-12 | 2012-09-25 | Nvidia Corporation | System and method for representing and managing a multi-architecture co-processor application program |
CN100555225C (zh) * | 2008-03-17 | 2009-10-28 | 中国科学院计算技术研究所 | 一种支持x86虚拟机的risc处理器装置及方法 |
CN101609397B (zh) * | 2008-06-16 | 2012-07-04 | 安凯(广州)微电子技术有限公司 | 基于无线手持式设备的微内存系统内存交换失效方法 |
CN101673254B (zh) * | 2008-08-15 | 2011-08-17 | 北京北大众志微系统科技有限责任公司 | 嵌入式x86处理器应用于通用片上总线的方法、系统芯片 |
US20100100692A1 (en) * | 2008-10-21 | 2010-04-22 | International Business Machines Corporation | Exploiting Register High-Words |
US8413136B2 (en) | 2009-05-08 | 2013-04-02 | Microsoft Corporation | Application virtualization |
CN101620547B (zh) * | 2009-07-03 | 2012-05-30 | 中国人民解放军国防科学技术大学 | X86计算机虚拟化的物理中断处理方法 |
CN102662745B (zh) * | 2012-04-18 | 2015-01-21 | 国家电网公司 | 一种虚拟机管理系统与方法 |
US9348601B2 (en) * | 2012-12-26 | 2016-05-24 | Intel Corporation | Coalescing adjacent gather/scatter operations |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
CN105094870A (zh) * | 2014-05-13 | 2015-11-25 | 中标软件有限公司 | 64位Linux操作系统兼容32位应用软件的方法 |
GB2522290B (en) * | 2014-07-14 | 2015-12-09 | Imagination Tech Ltd | Running a 32-bit operating system on a 64-bit machine |
US9958932B2 (en) * | 2014-11-20 | 2018-05-01 | Apple Inc. | Processor including multiple dissimilar processor cores that implement different portions of instruction set architecture |
US10235219B2 (en) | 2015-07-27 | 2019-03-19 | Sony Interactive Entertainment America Llc | Backward compatibility by algorithm matching, disabling features, or throttling performance |
US11403099B2 (en) * | 2015-07-27 | 2022-08-02 | Sony Interactive Entertainment LLC | Backward compatibility by restriction of hardware resources |
US9727356B2 (en) | 2015-08-24 | 2017-08-08 | International Business Machines Corporation | Scaling past the java virtual machine thread limit |
US9928115B2 (en) | 2015-09-03 | 2018-03-27 | Apple Inc. | Hardware migration between dissimilar cores |
US20170177482A1 (en) * | 2015-12-18 | 2017-06-22 | Intel Corporation | Computing system having multi-level system memory capable of operating in a single level system memory mode |
US9898307B2 (en) * | 2015-12-21 | 2018-02-20 | Intel Corporation | Starting application processors of a virtual machine |
US10303488B2 (en) * | 2016-03-30 | 2019-05-28 | Sony Interactive Entertainment Inc. | Real-time adjustment of application-specific operating parameters for backwards compatibility |
US10915333B2 (en) * | 2016-03-30 | 2021-02-09 | Sony Interactive Entertainment Inc. | Deriving application-specific operating parameters for backwards compatiblity |
US10275239B2 (en) | 2016-03-30 | 2019-04-30 | Sony Interactive Entertainment Inc. | Deriving application-specific operating parameters for backwards compatiblity |
US10552172B2 (en) * | 2017-08-24 | 2020-02-04 | Vmware, Inc. | Virtual appliance supporting multiple instruction set architectures |
CN109918188A (zh) * | 2019-03-27 | 2019-06-21 | 网易(杭州)网络有限公司 | 游戏模式的切换方法、装置、电子设备及存储介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2001A (en) * | 1841-03-12 | Sawmill | ||
US4965720A (en) * | 1988-07-18 | 1990-10-23 | International Business Machines Corporation | Directed address generation for virtual-address data processors |
US5182805A (en) * | 1989-07-14 | 1993-01-26 | Ncr Corporation | Method and system for determining copy-on-write condition |
US5255379A (en) | 1990-12-28 | 1993-10-19 | Sun Microsystems, Inc. | Method for automatically transitioning from V86 mode to protected mode in a computer system using an Intel 80386 or 80486 processor |
US5732405A (en) * | 1992-10-02 | 1998-03-24 | Motorola, Inc. | Method and apparatus for performing a cache operation in a data processing system |
US5644755A (en) * | 1995-02-24 | 1997-07-01 | Compaq Computer Corporation | Processor with virtual system mode |
US6412043B1 (en) * | 1999-10-01 | 2002-06-25 | Hitachi, Ltd. | Microprocessor having improved memory management unit and cache memory |
US7124286B2 (en) | 2000-01-14 | 2006-10-17 | Advanced Micro Devices, Inc. | Establishing an operating mode in a processor |
US6807617B2 (en) | 2001-04-02 | 2004-10-19 | Advanced Micro Devices, Inc. | Processor, method and apparatus with descriptor table storing segment descriptors of varying size |
US6671791B1 (en) | 2001-06-15 | 2003-12-30 | Advanced Micro Devices, Inc. | Processor including a translation unit for selectively translating virtual addresses of different sizes using a plurality of paging tables and mapping mechanisms |
EP1331539B1 (en) * | 2002-01-16 | 2016-09-28 | Texas Instruments France | Secure mode for processors supporting MMU and interrupts |
US20030212878A1 (en) | 2002-05-07 | 2003-11-13 | Chen-Hanson Ting | Scaleable microprocessor architecture |
-
2004
- 2004-06-30 US US10/883,496 patent/US7260702B2/en active Active
-
2005
- 2005-05-30 KR KR1020050045456A patent/KR20060046262A/ko not_active Application Discontinuation
- 2005-05-30 CN CNB2005100760706A patent/CN100530102C/zh active Active
- 2005-06-10 JP JP2005171364A patent/JP4156611B2/ja not_active Expired - Fee Related
- 2005-06-23 EP EP05105589A patent/EP1628215A3/en not_active Ceased
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006196005A (ja) * | 2005-01-14 | 2006-07-27 | Intel Corp | バーチャルマシーンシステムの物理的メモリのバーチャル化 |
JP2008171428A (ja) * | 2007-01-09 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | プロセッサが規格合致するように見えるアーキテクチャ・レベルを選択するための方法および装置 |
US20120185688A1 (en) * | 2011-01-13 | 2012-07-19 | Google Inc. | Processor mode locking |
US9626201B2 (en) | 2012-03-27 | 2017-04-18 | Fujitsu Limited | Processor emulation device and storage medium |
CN106133682A (zh) * | 2014-03-18 | 2016-11-16 | 国际商业机器公司 | 用于能在多种架构中初始化的控制实用工具的公用引导序列 |
JP2017511941A (ja) * | 2014-03-18 | 2017-04-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 複数のアーキテクチャにおいて初期化することができる制御ユーティリティのための共通ブート・シーケンス |
JP2017513113A (ja) * | 2014-03-18 | 2017-05-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 選択されたアーキテクチャ・ファシリティと関連した処理の管理 |
CN106133682B (zh) * | 2014-03-18 | 2019-04-09 | 国际商业机器公司 | 用于能在多种架构中初始化的控制实用工具的公用引导序列 |
US10747582B2 (en) | 2014-03-18 | 2020-08-18 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
US10747583B2 (en) | 2014-03-18 | 2020-08-18 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
Also Published As
Publication number | Publication date |
---|---|
EP1628215A3 (en) | 2009-01-21 |
KR20060046262A (ko) | 2006-05-17 |
CN1716203A (zh) | 2006-01-04 |
US7260702B2 (en) | 2007-08-21 |
US20060005200A1 (en) | 2006-01-05 |
EP1628215A2 (en) | 2006-02-22 |
CN100530102C (zh) | 2009-08-19 |
JP4156611B2 (ja) | 2008-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4156611B2 (ja) | 64ビットx86プロセッサ上でレガシ32ビットx86仮想マシンを実行するためのシステムおよび方法 | |
JP5079246B2 (ja) | 仮想マシン環境におけるマルチレベルインターセプト処理のためのシステムおよび方法 | |
US8612633B2 (en) | Virtual machine fast emulation assist | |
US7558723B2 (en) | Systems and methods for bimodal device virtualization of actual and idealized hardware-based devices | |
EP3125113B1 (en) | Systems and methods for initializing multiple virtual processors within a single virtual machine | |
US7555596B2 (en) | Systems and methods for attaching a virtual machine virtual hard disk to a host machine | |
EP1524596B1 (en) | Systems and methods for using synthetic instructions in a virtual machine | |
US7434003B2 (en) | Efficient operating system operation on a hypervisor | |
RU2398267C2 (ru) | Иерархическая виртуализация посредством многоуровневого механизма виртуализации | |
JP2006018814A (ja) | 仮想マシン環境におけるエミュレートされたデバイスの開発のためのシステムおよび方法 | |
US20080065854A1 (en) | Method and apparatus for accessing physical memory belonging to virtual machines from a user level monitor | |
US20090265708A1 (en) | Information Processing Apparatus and Method of Controlling Information Processing Apparatus | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
TW201120752A (en) | Improving nested virtualization performance in a computer system | |
TW200813833A (en) | Launching hypervisor under running operating system | |
JP2005322242A (ja) | 仮想環境からのハードウェアへの直接アクセスの提供 | |
WO2013159652A1 (en) | Restoring from legacy os environment to uefi pre-boot environment | |
US11693722B2 (en) | Fast memory mapped IO support by register switch | |
Im et al. | On-demand virtualization for live migration in bare metal cloud | |
EP4187387A1 (en) | Inter-process communication method and apparatus, and computer storage medium | |
Early | ESPRIT LTR 21917 (Pegasus II) Deliverable 2.1. 2 Pentium Port Report | |
CN117075974A (zh) | 一种基于risc-v服务器cpu的新型edk2启动引导方法 | |
Wang et al. | MTX in 32-bit Protected Mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071218 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071218 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20071218 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20080219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080222 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080521 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080613 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080709 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4156611 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110718 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120718 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130718 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |