JP5936640B2 - 協調設計されたプロセッサへの、隔離された実行環境の作成 - Google Patents
協調設計されたプロセッサへの、隔離された実行環境の作成 Download PDFInfo
- Publication number
- JP5936640B2 JP5936640B2 JP2014042957A JP2014042957A JP5936640B2 JP 5936640 B2 JP5936640 B2 JP 5936640B2 JP 2014042957 A JP2014042957 A JP 2014042957A JP 2014042957 A JP2014042957 A JP 2014042957A JP 5936640 B2 JP5936640 B2 JP 5936640B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- binary conversion
- code segment
- core
- state
- 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 - Fee Related
Links
- 238000006243 chemical reaction Methods 0.000 claims description 110
- 238000000034 method Methods 0.000 claims description 35
- 238000013519 translation Methods 0.000 claims description 29
- 238000013507 mapping Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 10
- 238000005457 optimization Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009249 intrinsic sympathomimetic activity Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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
- 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
-
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45516—Runtime code conversion or optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
-
- 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
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
を備える。
BTコンテナを管理して、第1のコードセグメントを特定するホスト実体論理と、BTコンテナをソフトウェアスタックから隔離する保護論理とを備え、ソフトウェアスタックは、仮想マシンモニタ(VMM)層と、オペレーティングシステム(OS)層と、アプリケーション層とを含み、BTコンテナは、ソフトウェアスタックに対してトランスペアレントである。
BTコンテナ手段を管理して、第1のコードセグメントを特定するホスト実体手段と、BTコンテナ手段をソフトウェアスタックから隔離する保護手段とを備え、ソフトウェアスタックは、仮想マシンモニタ(VMM)層と、オペレーティングシステム(OS)層と、アプリケーション層とを含み、BTコンテナ手段は、ソフトウェアスタックに対してトランスペアレントである。
Claims (22)
- 第1の命令セットアーキテクチャ(ISA)の命令を実行する第1のコアと、
第2のISAの命令を実行する第2のコアと、
プロセッサによりソフトウェアスタックにトランスペアレントに制御されるバイナリ変換コンテナと、
前記バイナリ変換コンテナを管理するホスト実体ロジックと、
を備える前記プロセッサであって、
前記第2のコアを複数備え、
前記バイナリ変換コンテナは、バイナリ変換状態を格納するバイナリ変換状態ストレージと、コードセグメントを受け取り、前記コードセグメントのバイナリ変換を生成し、前記バイナリ変換を変換キャッシュに格納するバイナリ変換エンジンとを含み、前記バイナリ変換は、前記第2のISA内で利用不可能な前記第1のISAの命令をエミュレートするための少なくとも1つのエミュレーションルーチンを含み、前記第2のコアが前記バイナリ変換を実行し、
前記第2のコアは前記第1のコアと非対称であり、
前記ホスト実体ロジックは、
バイナリ変換の実行を可能とするべく、前記プロセッサの状態を第1の状態ストレージに格納させ、前記バイナリ変換状態ストレージに格納されている前記バイナリ変換状態を、前記プロセッサ内にロードし、複数の前記第2のコアのうちの複数のアイドルコアに対してバイナリ変換タスクをスケジューリングし、
前記バイナリ変換が実行された後で、前記バイナリ変換状態を、前記バイナリ変換状態ストレージに格納させ、前記プロセッサの状態を前記第1の状態ストレージからロードする、プロセッサ。 - 前記少なくとも1つのエミュレーションルーチンは、前記第2のコアに、第1のベクトルオペランドにオペレーションを実行する命令を実行することを可能にさせ、
前記第2のコアのデータパスの幅は、前記第1のベクトルオペランドの幅未満である、請求項1に記載のプロセッサ。 - 前記プロセッサは、前記コードセグメントを含むアプリケーションをプロファイリングして、前記バイナリ変換エンジンに、前記プロファイリングに呼応して前記バイナリ変換を生成させる、請求項1または2に記載のプロセッサ。
- 前記プロセッサは、それぞれがネイティブコードセグメントをバイナリ変換コードセグメントに関連付ける、複数のエントリを含むマッピングテーブルを含む、請求項1から3の何れか一項に記載のプロセッサ。
- 前記プロセッサは、前記マッピングテーブルにアクセスして、前記コードセグメントへのエントリポイントに遭遇して、前記マッピングテーブルが、前記コードセグメントを前記バイナリ変換に関連付けるエントリを含むとき、前記コードセグメントの代わりに、前記バイナリ変換を実行する、請求項4に記載のプロセッサ。
- 前記バイナリ変換エンジンは、前記コードセグメントの代わりに前記バイナリ変換を実行させるステアリング論理を含む、請求項1から5の何れか一項に記載のプロセッサ。
- 前記第2のコアは、前記第1のコアよりも低い電力消費レベルを有する、請求項1から6の何れか一項に記載のプロセッサ。
- プロセッサのバイナリ変換エージェントで、第1のコードセグメントのバイナリ変換を実行する命令を受信する段階と、
第1の命令セットアーキテクチャ(ISA)の第1の命令をサポートしていない前記プロセッサのコアの上で実行されると、前記第1の命令をエミュレートする第1のルーチンを含む、前記第1のコードセグメントのインスツルメントコードセグメントを生成する段階と、
前記インスツルメントコードセグメントを、インスツルメントキャッシュメモリに格納する段階と、
前記第1のコードセグメントへのエントリポイントに遭遇したときに、前記第1のコードセグメントの代わりに前記インスツルメントコードセグメントを実行することを前記コアに可能とするよう、前記プロセッサをプログラミングする段階と
を備え、
前記プロセッサは前記コアを複数有し、
前記インスツルメントコードセグメントを実行する段階は、
前記エントリポイントに遭遇したときに前記バイナリ変換を実行する命令を受信し、前記プロセッサの状態を第1の状態ストレージに格納させ、前記バイナリ変換エージェントのバイナリ変換状態ストレージに格納されているバイナリ変換状態を、前記プロセッサ内にロードし、複数の前記コアのうちの複数のアイドルコアに対してバイナリ変換タスクをスケジューリングする段階と、
前記バイナリ変換が実行された後で、前記バイナリ変換状態を前記バイナリ変換エージェントの前記バイナリ変換状態ストレージに格納させ、前記プロセッサの状態を前記第1の状態ストレージからロードする段階と
を有する、方法。 - 前記バイナリ変換エージェントは、前記プロセッサの上で実行されるソフトウェアスタックに対してトランスペアレントである、請求項8に記載の方法。
- 前記インスツルメントキャッシュメモリ内の前記インスツルメントコードセグメントの位置に、前記エントリポイントを関連付けるために、マッピングテーブルにエントリを格納する段階を更に備える、請求項8または9に記載の方法。
- 前記コアに、第2のコードセグメントの代わりに、第2のインスツルメントコードセグメントを実行させるために、マッピングテーブルにエントリを格納する段階を更に備え、
前記第2のコードセグメントは、ホットスポットを含む、請求項8から10の何れか一項に記載の方法。 - 前記コアに、第3のコードセグメントの代わりに、第3のインスツルメントコードセグメントを実行させるために、マッピングテーブルにエントリを格納する段階を更に備え、
前記第3のコードセグメントは、自己修正コードを含む、請求項8から11の何れか一項に記載の方法。 - コアがサポートしていない第1のコードセグメントに対するバイナリ変換を生成して、前記バイナリ変換を変換キャッシュに格納するコードを含む、バイナリ変換コンテナ手段(BTコンテナ手段)と、
前記BTコンテナ手段を管理して、前記第1のコードセグメントを特定するホスト実体手段と、
前記BTコンテナ手段をソフトウェアスタックから隔離する保護手段と
を備えるプロセッサであって、
前記コアを複数備え、
前記ソフトウェアスタックは、仮想マシンモニタ層(VMM層)と、オペレーティングシステム層(OS層)と、アプリケーション層とを含み、前記BTコンテナ手段は、前記ソフトウェアスタックに対してトランスペアレントであり、
前記ホスト実体手段は、BT呼び出しへのエントリがあると、前記プロセッサの状態を第1の状態ストレージに格納させ、前記BTコンテナ手段のBT状態ストレージに格納されているBT状態を、前記プロセッサ内にロードし、複数の前記コアのうちの複数のアイドルコアに対してバイナリ変換タスクをスケジューリングし、
前記バイナリ変換が実行された後で、前記BT状態を、前記BTコンテナ手段の前記BT状態ストレージに格納させ、前記プロセッサの状態を前記第1の状態ストレージからロードする、プロセッサ。 - 前記保護手段は、前記BTコンテナ手段の位置を特定するためのレンジ値を格納する少なくとも1つのレジスタを有する、請求項13に記載のプロセッサ。
- 前記ホスト実体手段は、前記プロセッサのアイドルコアの上での前記バイナリ変換の実行を可能とするために、前記アイドルコアの状態ストレージに前記BT状態をロードさせ、前記ソフトウェアスタックのアプリケーションは、前記プロセッサの前記コアの上で実行される、請求項13または14に記載のプロセッサ。
- 前記ホスト実体手段は、前記ソフトウェアスタックの前記VMM層及び前記OS層への前記BTコンテナのアクセスを回避させる、請求項13から15の何れか一項に記載のプロセッサ。
- 前記ホスト実体手段は、前記ソフトウェアスタックの前記アプリケーション層への前記BTコンテナの書き込みアクセスを回避させる、請求項13から16の何れか一項に記載のプロセッサ。
- 前記ホスト実体手段は、前記BTコンテナの、前記プロセッサの状態の第1のサブセットへのアクセスを可能として、前記BTコンテナの、前記プロセッサの状態の第2のサブセットへのアクセスを回避させる、請求項13から17の何れか一項に記載のプロセッサ。
- 請求項8から12のいずれか一項に記載の方法を実行するよう構成された通信デバイス。
- コンピューターに請求項8から12のいずれか一項に記載の方法を実行させるためのプログラム。
- 請求項8から12のいずれか一項に記載の方法を実行する命令を処理する装置。
- 請求項8から12のいずれか一項に記載の方法を実行する手段を備える装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/795,720 US9405551B2 (en) | 2013-03-12 | 2013-03-12 | Creating an isolated execution environment in a co-designed processor |
US13/795,720 | 2013-03-12 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014174998A JP2014174998A (ja) | 2014-09-22 |
JP2014174998A5 JP2014174998A5 (ja) | 2015-07-09 |
JP5936640B2 true JP5936640B2 (ja) | 2016-06-22 |
Family
ID=50554836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014042957A Expired - Fee Related JP5936640B2 (ja) | 2013-03-12 | 2014-03-05 | 協調設計されたプロセッサへの、隔離された実行環境の作成 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9405551B2 (ja) |
JP (1) | JP5936640B2 (ja) |
KR (1) | KR101673435B1 (ja) |
CN (1) | CN104050010A (ja) |
DE (1) | DE102014003540A1 (ja) |
GB (2) | GB2514221B (ja) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10621092B2 (en) | 2008-11-24 | 2020-04-14 | Intel Corporation | Merging level cache and data cache units having indicator bits related to speculative execution |
US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
WO2013048468A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
US9032381B2 (en) | 2012-06-29 | 2015-05-12 | Intel Corporation | State recovery methods and apparatus for computing platforms |
US9454487B2 (en) * | 2012-08-27 | 2016-09-27 | Vmware, Inc. | Transparent host-side caching of virtual disks located on shared storage |
US9563432B2 (en) * | 2013-04-19 | 2017-02-07 | Nvidia Corporation | Dynamic configuration of processing pipeline based on determined type of fetched instruction |
US9891936B2 (en) | 2013-09-27 | 2018-02-13 | Intel Corporation | Method and apparatus for page-level monitoring |
US9652612B2 (en) * | 2015-03-25 | 2017-05-16 | International Business Machines Corporation | Security within a software-defined infrastructure |
GB2554201B (en) * | 2015-04-10 | 2022-05-11 | Google Llc | Binary translation into native client |
WO2016162721A1 (en) * | 2015-04-10 | 2016-10-13 | Google Inc. | Binary translation on shared object level |
CN106325819B (zh) * | 2015-06-17 | 2019-08-02 | 华为技术有限公司 | 计算机指令处理方法、协处理器和系统 |
US10713146B2 (en) * | 2015-06-26 | 2020-07-14 | AVAST Software s.r.o. | Dynamic binary translation and instrumentation with postponed attachment to running native threads |
US9524183B1 (en) | 2015-07-22 | 2016-12-20 | Bluedata Software, Inc. | Employing application containers in a large scale processing environment |
GB2542646B (en) * | 2016-03-18 | 2017-11-15 | Imagination Tech Ltd | Non-linear cache logic |
US11650902B2 (en) * | 2017-11-08 | 2023-05-16 | Intel Corporation | Methods and apparatus to perform instruction-level graphics processing unit (GPU) profiling based on binary instrumentation |
US11281767B2 (en) * | 2018-03-23 | 2022-03-22 | International Business Machines Corporation | Secure system state extraction software extensibility via plugin sandboxing |
US11188361B1 (en) | 2020-06-26 | 2021-11-30 | Red Hat, Inc. | Cross-architecture software distribution using a virtual instruction set architecture |
US20220308867A1 (en) * | 2021-03-26 | 2022-09-29 | Intel Corporation | Apparatus and method for managing unsupported instruction set architecture (isa) features in a virtualized environment |
CN113342436B (zh) * | 2021-06-10 | 2023-03-17 | 网易(杭州)网络有限公司 | 一种游戏翻译方法和装置 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1325288C (en) | 1989-02-03 | 1993-12-14 | Ricky C. Hetherington | Method and apparatus for controlling the conversion of virtual to physical memory addresses in a digital computer system |
JPH0581070A (ja) | 1990-12-10 | 1993-04-02 | Omron Corp | プログラマブルコントローラ、およびプログラマブルコントローラにおけるユーザプログラム実行方法 |
US5345576A (en) | 1991-12-31 | 1994-09-06 | Intel Corporation | Microprocessor simultaneously issues an access to an external cache over an external cache bus and to an internal cache, cancels the external cache access on an internal cache hit, and reissues the access over a main memory bus on an external cache miss |
JP3516963B2 (ja) | 1993-03-12 | 2004-04-05 | 株式会社東芝 | メモリアクセス制御装置 |
US5513337A (en) | 1994-05-25 | 1996-04-30 | Intel Corporation | System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type |
US5524208A (en) | 1994-06-09 | 1996-06-04 | Dell Usa, L.P. | Method and apparatus for performing cache snoop testing using DMA cycles in a computer system |
US5826089A (en) | 1996-01-04 | 1998-10-20 | Advanced Micro Devices, Inc. | Instruction translation unit configured to translate from a first instruction set to a second instruction set |
US6003129A (en) * | 1996-08-19 | 1999-12-14 | Samsung Electronics Company, Ltd. | System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture |
US5926832A (en) | 1996-09-26 | 1999-07-20 | Transmeta Corporation | Method and apparatus for aliasing memory data in an advanced microprocessor |
US6631514B1 (en) | 1998-01-06 | 2003-10-07 | Hewlett-Packard Development, L.P. | Emulation system that uses dynamic binary translation and permits the safe speculation of trapping operations |
US7257814B1 (en) | 1998-12-16 | 2007-08-14 | Mips Technologies, Inc. | Method and apparatus for implementing atomicity of memory operations in dynamic multi-streaming processors |
US7941647B2 (en) | 1999-01-28 | 2011-05-10 | Ati Technologies Ulc | Computer for executing two instruction sets and adds a macroinstruction end marker for performing iterations after loop termination |
US8127121B2 (en) | 1999-01-28 | 2012-02-28 | Ati Technologies Ulc | Apparatus for executing programs for a first computer architechture on a computer of a second architechture |
US8121828B2 (en) | 1999-01-28 | 2012-02-21 | Ati Technologies Ulc | Detecting conditions for transfer of execution from one computer instruction stream to another and executing transfer on satisfaction of the conditions |
US6820255B2 (en) * | 1999-02-17 | 2004-11-16 | Elbrus International | Method for fast execution of translated binary code utilizing database cache for low-level code correspondence |
US6615340B1 (en) | 2000-03-22 | 2003-09-02 | Wilmot, Ii Richard Byron | Extended operand management indicator structure and method |
US6615300B1 (en) | 2000-06-19 | 2003-09-02 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
US20020156977A1 (en) | 2001-04-23 | 2002-10-24 | Derrick John E. | Virtual caching of regenerable data |
US20040015874A1 (en) * | 2001-05-14 | 2004-01-22 | David Ungar | Method and apparatus for finding resource allocation errors in virtual machine compilers |
US6907519B2 (en) | 2001-11-29 | 2005-06-14 | Hewlett-Packard Development Company, L.P. | Systems and methods for integrating emulated and native code |
US7269825B1 (en) | 2002-12-27 | 2007-09-11 | Unisys Corporation | Method and system for relative address translation |
JP4713820B2 (ja) * | 2003-05-28 | 2011-06-29 | パナソニック株式会社 | プログラム実行制御装置、プログラム実行制御方法 |
US7290253B1 (en) * | 2003-09-30 | 2007-10-30 | Vmware, Inc. | Prediction mechanism for subroutine returns in binary translation sub-systems of computers |
JP4563669B2 (ja) * | 2003-11-25 | 2010-10-13 | 三菱電機株式会社 | 命令模擬装置 |
JP2006039879A (ja) * | 2004-07-26 | 2006-02-09 | Aplix Corp | クラスファイル実行方法およびJava(R)実行環境プログラム |
WO2009076324A2 (en) * | 2007-12-10 | 2009-06-18 | Strandera Corporation | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
WO2006069485A1 (en) * | 2004-12-30 | 2006-07-06 | Intel Corporation | Selecting formats for multi-format instructions in binary translation of code from a hybrid source instruction set architecture to a unitary target instruction set architecture |
US7734895B1 (en) * | 2005-04-28 | 2010-06-08 | Massachusetts Institute Of Technology | Configuring sets of processor cores for processing instructions |
WO2007101969A1 (en) | 2006-03-06 | 2007-09-13 | Arm Limited | Accessing a cache in a data processing apparatus |
JP4208895B2 (ja) | 2006-05-30 | 2009-01-14 | 株式会社東芝 | キャッシュメモリ装置および処理方法 |
JP4784827B2 (ja) * | 2006-06-06 | 2011-10-05 | 学校法人早稲田大学 | ヘテロジニアスマルチプロセッサ向けグローバルコンパイラ |
US8505002B2 (en) * | 2006-09-29 | 2013-08-06 | Arm Limited | Translation of SIMD instructions in a data processing system |
CN101295265A (zh) | 2007-04-25 | 2008-10-29 | 国际商业机器公司 | 全系统isa仿真系统及其识别进程的方法 |
JP4608011B2 (ja) | 2007-06-19 | 2011-01-05 | 富士通株式会社 | 演算処理装置および演算処理方法 |
JP4687729B2 (ja) | 2008-03-04 | 2011-05-25 | 日本電気株式会社 | キャッシュメモリ及びベクトル処理装置並びにベクトルデータ整列方法 |
US9672019B2 (en) | 2008-11-24 | 2017-06-06 | Intel Corporation | Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads |
US8464035B2 (en) | 2009-12-18 | 2013-06-11 | Intel Corporation | Instruction for enabling a processor wait state |
US8700943B2 (en) * | 2009-12-22 | 2014-04-15 | Intel Corporation | Controlling time stamp counter (TSC) offsets for mulitple cores and threads |
US8775153B2 (en) | 2009-12-23 | 2014-07-08 | Intel Corporation | Transitioning from source instruction set architecture (ISA) code to translated code in a partial emulation environment |
US20110320766A1 (en) | 2010-06-29 | 2011-12-29 | Youfeng Wu | Apparatus, method, and system for improving power, performance efficiency by coupling a first core type with a second core type |
CN101923492B (zh) | 2010-08-11 | 2013-05-01 | 上海交通大学 | 面向嵌入式异构多核上执行动态分配指令的方法 |
US8683243B2 (en) * | 2011-03-11 | 2014-03-25 | Intel Corporation | Dynamic core selection for heterogeneous multi-core systems |
WO2013048468A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Instruction and logic to perform dynamic binary translation |
-
2013
- 2013-03-12 US US13/795,720 patent/US9405551B2/en not_active Expired - Fee Related
-
2014
- 2014-03-05 JP JP2014042957A patent/JP5936640B2/ja not_active Expired - Fee Related
- 2014-03-11 CN CN201410088411.0A patent/CN104050010A/zh active Pending
- 2014-03-11 GB GB1404228.7A patent/GB2514221B/en active Active
- 2014-03-11 GB GB1520824.2A patent/GB2540640B/en active Active
- 2014-03-12 KR KR1020140029253A patent/KR101673435B1/ko active IP Right Grant
- 2014-03-12 DE DE102014003540.9A patent/DE102014003540A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20140281376A1 (en) | 2014-09-18 |
GB201404228D0 (en) | 2014-04-23 |
KR101673435B1 (ko) | 2016-11-07 |
GB2540640A (en) | 2017-01-25 |
GB201520824D0 (en) | 2016-01-06 |
JP2014174998A (ja) | 2014-09-22 |
GB2514221A (en) | 2014-11-19 |
DE102014003540A1 (de) | 2014-09-18 |
KR20140111998A (ko) | 2014-09-22 |
CN104050010A (zh) | 2014-09-17 |
US9405551B2 (en) | 2016-08-02 |
GB2514221B (en) | 2017-02-01 |
GB2540640B (en) | 2017-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5936640B2 (ja) | 協調設計されたプロセッサへの、隔離された実行環境の作成 | |
US10963281B2 (en) | Nested virtualization for virtual machine exits | |
US10120691B2 (en) | Context switching mechanism for a processor having a general purpose core and a tightly coupled accelerator | |
US8099541B2 (en) | Minivisor entry point in virtual machine monitor address space | |
TWI407366B (zh) | 具有微代碼之微處理器、在微處理器中儲存資料的方法、以及使用於計算裝置之電腦程式產品 | |
US10162655B2 (en) | Hypervisor context switching using TLB tags in processors having more than two hierarchical privilege levels | |
Neiger et al. | Intel virtualization technology: Hardware support for efficient processor virtualization. | |
US8561060B2 (en) | Processor and method configured to determine an exit mechanism using an intercept configuration for a virtual machine | |
US9171159B2 (en) | Performing security operations using binary translation | |
US20150370591A1 (en) | Hypervisor context switching using a redirection exception vector in processors having more than two hierarchical privilege levels | |
Varanasi | Implementing Hardware-supported Virtualization in OKL4 on ARM | |
TWI620124B (zh) | 虛擬機器控制結構陰影化技術 | |
Fisher-Ogden | Hardware support for efficient virtualization | |
US20060224815A1 (en) | Virtualizing memory management unit resources | |
US10019275B2 (en) | Hypervisor context switching using a trampoline scheme in processors having more than two hierarchical privilege levels | |
KR101640769B1 (ko) | 가상화 시스템 및 그것의 명령어 실행 방법 | |
US7966458B2 (en) | Method and apparatus for controlling a primary operating system and an appliance operating system on the same machine | |
Penneman et al. | Formal virtualization requirements for the ARM architecture | |
TW202147116A (zh) | 監視處理器之操作之系統 | |
Chang et al. | Efficient memory virtualization for cross-isa system mode emulation | |
US10963280B2 (en) | Hypervisor post-write notification of control and debug register updates | |
US11573910B2 (en) | Apparatus, system and method to define memory information leak zones in a computing system | |
CN113474754A (zh) | 有条件退让给管理程序指令 | |
Yao et al. | SWVM: a light-weighted virtualization platform based on Sunway CPU architecture | |
Kinebuchi et al. | Constructing machine emulator on portable microkernel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150224 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20150521 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160304 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20160311 |
|
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: 20160412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5936640 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |