JPS6275735A - エミユレ−シヨン方法 - Google Patents

エミユレ−シヨン方法

Info

Publication number
JPS6275735A
JPS6275735A JP61168229A JP16822986A JPS6275735A JP S6275735 A JPS6275735 A JP S6275735A JP 61168229 A JP61168229 A JP 61168229A JP 16822986 A JP16822986 A JP 16822986A JP S6275735 A JPS6275735 A JP S6275735A
Authority
JP
Japan
Prior art keywords
instructions
template
level
instruction
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP61168229A
Other languages
English (en)
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.)
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 JPS6275735A publication Critical patent/JPS6275735A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Manufacture, Treatment Of Glass Fibers (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は、第一のコンピュータを第二のコンピュータに
よってエミュレートすることに関する。
さらに詳しくは、そのようなエミュレーションの処理に
際して、第一のコンピュータによって修正される可能性
のある該第−のコンピュータ用のオブジェクト・コード
の検出に関する。
〈従来の技術および発明が解決しようとする問題点〉 以下の記述において、「上位コンピュータ」とは、エミ
ュレータプログラムが走行する現実のハードウェアをい
い、「下位コンピュータ」とは、エミュレートされるコ
ンピュータをいうものとする。
よく知られているように、原理的には、どのデジタル・
コンピュータも、ソフトウェア技術だけを使って他のコ
ンピュータ上でエミュレートされ得るものである。しか
しながら、ソフトウェアだけからなるエミュレータは、
実用的な観点からみれば、通常、遅すぎると考えられて
いる。なぜなら、そのようなエミュレータは、ただ一つ
の下位命令(ターゲット・インストラクション)を実行
するに際しても、常に多くの上位命令(ホスト・インス
トラクション)を実行する必要があるからである。
そこで、多くの試みがなされており、特殊な目的を持っ
た様々なハードウェアが開発されて、エミュレータプロ
グラムがそのタスクを行うのを助けている。このような
ハードウェアは、下位コンピュータの最も頻繁に用いら
れるレジスタのイメージを持つレジスタ下位命令のある
機能のすべてまたは一部を行う特殊な上位命令、等であ
る。このようなハードウェアは、通常、*用のかかるも
のとなる。すなわち、一般的には、エミュレータが速く
なれば、それだけ、ハードウェアによる助けは精巧で、
かつ高価のものでなければならないからである。このよ
うなハードウェアの費用を考慮すると、もしソフトウェ
アだけからなる十分速いエミュレータができるならば、
それは非常に魅力的なものとなる。そのようなソフトウ
ェアだけからなるエミュレータの速さの鍵を握るのは、
一つの平均的な下位命令を実行するのに要する上位命令
の平均的な数である。
そのようなエミュレータを設計しようと単純に試みても
、一つの下位命令につき、数十ないし数百の上位命令を
要するプログラムしか生まれない。
そして、このエミュレータを上位コンピュータで実行さ
せて現実の下位コンピュータに匹敵する速さを得ようと
すると、上位コンピュータは、下位コンピュータより二
指も速いものでなければならないことになる。上位と下
位のコンピュータの性能差がかくも大きくなると、実用
的な興味はほとんどなくなってしまう。
く問題点を解決するための手段〉 本発明では、一つの下位命令につき実行される上位命令
の数を10程度に減らす方策が採られている。
すなわち、本発明によるエミュレーション方法は、上位
コンピュータを下位コンピュータの命令で作動させるた
めに前記下位コンピュータの命令を前記上位コンピュー
タの命令にエミュレートする方法であって、前記下位コ
ンピュータが自分自身の命令およびデータを動作中に修
正する能力がある場合において。
前記下位命令の各に対して前記上位命令からなるテンプ
レートを作成し、 対応する下位命令が実行される度に再使用するのに備え
て前記各テンプレートを記憶し、前記記憶されたテンプ
レートに対するアクセスを、該テンプレートに対する読
取り操作のみに制限することを特徴とするエミュレーシ
ョン方法。
〈実施例〉 要約 前記問題点を解決するための手段をより具体的に述べる
と、次の通りになる。
■下位コンピュータの現命令のアドレスを用い、現在の
下位命令を調べる。
■下位命令の命令コードに基づき、−組の命令テンプレ
ートを選択する。各テンプレートは、特定の下位命令コ
ードの機能を営む一連の上位命令よりなる。各テンプレ
ートの中の命令の数は、約5ないし約15の範囲で変わ
る。
■下位命令の本例に存在する適当なレジスタ、アドレス
等に関連して築くことにより、テンプレートを特定の仕
様にする(カスタマイズ)。
■カスタマイズされたテンプレートを実行する。
これによって、一つの下位命令が現実にエミュレートさ
れる。
(Dエミュレートされた下位コンピュータが、当該命令
を後になって再び実行するときに再使用するのに備えて
、該カスタマイズされたテンプレートを保管する。これ
は、本発明におけるキーポイントであり、性能の向上を
もたらす要因である。
現在の代表的なエミュレータにおいて、一つの下位命令
の仕事を実行するテンプレートの選択およびカスタマイ
ズの処理自身、約85の上位命令を必要とする。カスタ
マイズされたテンプレートの実行は、約10の上位命令
を必要とする。本発明によってもたらされる高性能は、
一旦カスタマイズの操作が一度行われると、下位プログ
ラムがエミュレートされる間に、カスタマイズされたテ
ンプレートが平均に何十回、何百回と実行されるという
事実に由来する。
カスタマイズされたテンプレートは、高性能コンピュー
タ上のハードウェアの命令「キャッシュノに対する操作
と非常に似たやり方で、上位コンピュータのメモリの中
のキャッシュに保存される。
このようなキャッシュの管理に際しては、ハードウェア
のキャッシュにかかわるすべての問題を取り扱う必要が
ある。例えば、エミュレータが下位命令を実行する際、
下位命令(カスタマイズされたテンプレート)がキャッ
シュに存在するか否か、または、キャッシュにロードす
る(カスタマイズを行う)か否かについて、迅速に判断
を下さなければならない。キャッシュが一杯の場合は、
より多くの命令(テンプレート)のための余地を設ける
ため、−以上の記憶内容を除去しなければならない。
はとんどのハードウェアの命令キャッシュシステムが扱
わなければならない一つの問題は、下位プログラムが走
行する際に、キャッシュに含まれる命令に対してなされ
る変化を検出することである。IBMシステム/370
(そして他の多くのコンピュータシステム)のアーキテ
クチャは、そのような命令の修正を許容し、修正された
命令があたかもキャッシュが存在しないかのように実行
されるようにしている。このようなキャッシュされ修正
された命令テンプレートの検出が1本発明における主題
である。
好ましい実施例 上位コンピュータは、固有の命令の組を用いてエミュレ
ータプログラムを走行させる。一方、エミュレータプロ
グラムは、下位コンピュータの命令の組によって表現さ
れる下位プログラムを走行させる。すなわち、下位プロ
グラムの実行をエミュレートする。
ここで、「シミュレータ」と「エミュレータ」は技術的
に異なるものであるが、本発明の記述において、両者の
相違は無視することができる。本明細書に記述されてい
る技術は、シミュレータとエミュレータに等しく適用で
きるものである。
本実施例においては、特表昭59−502123号公報
において開示されているアドレス変換機溝の「ロック・
ビット」を利用している。前記公報で説明されている環
境において、ロック・ビットとは、データベース・プロ
グラムにおいて、データ構造に対してなされた変化を検
出し、これらの変化がディスク・ファイル・ジャーナル
記憶に対してジャーナルされるようにするものである。
コンピュータは、2048バイトからなる「特殊セグメ
ント」のページを、各128バイトからなる16のライ
ンに分割し、ロック・ビットは1記憶ページの1ライン
につき1つ関連する。したがって、1ページにつき、1
6のロック・ビットが関連することになる。これらのラ
インの各々は、以下の保護状態のうちの一つをとるよう
指定されている。
1、読取り/書込み 上位コンピュータ上で走行するプログラムによる、ライ
ンに対するすべてのアクセスが許される(ロードと記憶
が可能)。
2、読取専用 ロードのみが許される。すなわち、ラインに記憶させよ
うとしても、プログラム・チェックのための割込みを招
く結果に終る。
3、アクセス禁止 ロードも記憶も禁止される。ラインに対してアクセスし
ても、プログラム・チェックのための割込みを招く結果
に終る。
本実施例においては、読取り/書込み、および読取専用
の状態のみが用いられる。すなわち、アクセス禁止の状
態は使用されない。
上位コンピュータ上のエミュレータプログラムは、上位
仮想記憶域において、システム/370コンピユータ(
下位コンピュータ)のメモリの像を保持する。下位メモ
リのセグメントは、下位プログラム(システム/370
の命令)および下位データ(下位プログラムによって操
作されるデータ)を含む。これらのデータおよび命令は
、オリジナルの下位プログラムの著者が指定した方法で
下位メモリにおいて混ぜられる。
システム/370のアーキテクチャによれば、下位プロ
グラムが、自分自身の命令をデータとして扱い、そして
随意に修正することができる。このような命令の修正は
、それほど頻繁に行われるものではない。しかしながら
、エミュレータがシステム/370のアーキテクチャに
従うとすれば、命令の変更を考慮して、しかも適切な結
果をもたらすようにしなければならない。
本実施例は、命令の修正を、上位コンピュータやアドレ
ス変換機構によって検出されるとともに、プログラムチ
ェックのための割込みによって知らされる例外状態とす
ることによって、該命令の修正はほとんどなされない一
方、エミュレータのメインパスにおいて、ソフトウェア
をチェックするロジックは必要とされないという事実を
利用している。このようなことは、下位のようにロック
・ビットを用いて行われる。
以下、図面(フローチャート)を参照しつつ。
説明する。エミュレータプログラムが下位プログラムを
走らせ始めると、下位メモリの特殊セグメントに、下位
プログラムと下位データを結合した像がロードされる(
ブロック11)。既述したようにロックビットを用いる
と、下位メモリにおけるページのすべてのラインが「読
取り/書込み」状態にセットされ、下位プログラムがそ
のメモリ′に制限なくアクセス可能となる。次に、下位
プログラムの初期の入口点において、下位メモリから下
位命令を撤回することによって、エミュレータは下位命
令の処理を開始する(ブロック12)。
エミュレータは、下位命令を処理する際に、上述のよう
に上位命令のテンプレートをカスタマイズする(ブロッ
ク13)。テンプレートは、下位メモリ領域とは分離さ
れた上位仮想記憶域に保存される。下位命令が処理され
、そのカスタマイズされたテンプレートがキャッシュに
位置される際、下位命令を含む下位記憶の128バイ;
〜ライン(128バイトからなるライン)は、当該行に
関連するロック・ビットによって「読取専用J状態にセ
ットされる(ブロック14)。
エミュレータが下位プログラムを進める様子は次のよう
になる。すなわち、新しい下位命令に達すると、新しい
テンプレートがカスタマイズされ。
それがキャッシュに追加される。以前実行した下位命令
に再び出会うと、既存の特定されたテンプレートをキャ
ッシュから取り出して再び実行する(ブロック16.1
7参照)、、カスタマイズされたテンプレートは、それ
らが下位メモリ上で行った操作が既にキャッシュされた
下位命令の内容を修正したか否かを判断するテストを行
う必要はない。上位プログラムのチェックのための割込
みが起こらない限り、キャッシュの内容は下位メモリの
内容を正確に写したものであることがわかる。
下位命令が、万一128バイトラインのうちの一つの中
に含まれるデータ項目または命令(これらのためにテン
プレートはキャッシュされている)を修正する場合(ブ
ロック18)、修正を行う上位記憶命令は、プログラム
チェックのための割込みを招く結果に終る(ブロック1
9)。割込みの原因が、前記ロック・ビットの約束に違
反したため(つまり、読取専用のラインに記憶させよう
としたため)とわかると、エミュレータの割込み処理ル
ーチンに制御権が移る(ブロック21)。エミュレータ
は、次の二つのうちの何れかを行うことができる。
(1)エミュレータは、カスタマイズされたテンプレー
トのキャッシュから、プログラムチェックのための割込
みの原因となった、下位記憶の128バイトラインの中
に含まれる命令に対応するすべてのテンプレートを除去
することができる(ブロック22)。次に、エミュレー
タは、当該ラインの状態を読取り/書込みにリセットし
、割込ま−れたプログラムの実行を再開する(ブロック
23)。
したがって、割込みの原因となった「記憶」操作は成功
する。
(2)エミュレータは、記憶されるワードが、カスタマ
イズされたテンプレートがキャッシュされている下位命
令を現実に含むか否かを判断することができる。もし含
むならば、そのテンプレートだけをキャッシュから除去
する必要があるし、含まないならば、何も除去する必要
はない。次に、エミュレータは、128バイトラインを
一時的に読取り/書込み状態にセットし、記憶操作を完
了した後、読取専用状態に戻す。そして、割込まれたプ
ログラムは、割込みの原因となった記憶命令を起ぎた地
点で再開される。
どちらの方法も、正しい結果をもたらす。(1)の方法
では、保護されるラインに対する記憶に基づくプログラ
ム・チェックのための割込みがより少なくする反面、下
位命令が現実には修正されなかったテンプレートを再度
カスタマイズしなければならない。(2)の方法は、よ
り多くのテンプレートをキャッシュしたまま維持できる
が、保護されるラインに含まれるデータ項目の修正によ
り多くの時間がかかることになる。
本実施例は、命令の修正を許容するシステム/370そ
の他のコンピュータ・アーキテクチャの、ソフトウェア
だけからなるエミュレータにおいて、多くのオーバーヘ
ッドを取り除くために記述されたタイプのロック・ビッ
トを用いている。もし。
ロックビットによる助けがない場合、下位命令に対応す
るキャッシュされたテンプレートには、各データ項目の
アドレスが下位メモリにおいて修正されたか否かをチェ
ックすることが求められよう。
下位命令がそのアドレスでキャッシュされたか否かを判
断するためである。このようなチェックのためのロジッ
クは、極めて高価なものになり得るし、上位命令の数で
5,6程度より少くなることはないであろう。そのよう
なチェックのためのロジックを用いない、カスタマイズ
されたテンプレートの平均的な長さは約10命令分であ
るので、エミュレータのメインパスから、チェックのた
めのロジックを取り除くことによって、性能は飛躍的に
上昇するのである。
く効果〉 本発明のエミュレーション方法によれば、一つの下位命
令に対応して上位命令からなるテンプレートをカスタマ
イズして記憶し、これを該下位命令が実行される度に繰
り返し使用して、性能の向上をもたらすことができる。
【図面の簡単な説明】
図面は、本発明の一実施例によるエミュレーション方法
の手順を説明するフローチャートである。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  頓  宮  孝  −(外1名)

Claims (6)

    【特許請求の範囲】
  1. (1)上位コンピュータを、下位コンピュータの命令で
    作動させるために前記下位コンピュータの命令を前記上
    位コンピュータの命令にエミュレートする方法であつて
    、前記下位コンピュータが自分自身の命令およびデータ
    を動作中に修正する能力がある場合において、前記下位
    命令の各に対して前記上位命令からなるテンプレートを
    作成し、対応する下位命令が実行される度に再使用する
    のに備えて前記各テンプレートを記憶し、 前記記憶されたテンプレートに対するアクセスを、該テ
    ンプレートに対する読取り操作のみに制限する ことを特徴とするエミュレーション方法。
  2. (2)前記記憶されたテンプレートの一つに対して書込
    み操作を試みる下位命令を検出し、前記下位命令の検出
    に応じて、プログラム割込みを発生させる特許請求の範
    囲第(1)項記載のエミュレーション方法。
  3. (3)前記割込みを発生させた下位命令を検査し、前記
    記憶されたテンプレートに対する影響を判断する特許請
    求の範囲第(2)項記載のエミュレーション方法。
  4. (4)前記下位命令を検査し、前記下位命令が前記記憶
    されたテンプレートを修正すると判断した後、前記記憶
    されたテンプレートを消去する特許請求の範囲第(3)
    項記載のエミュレーション方法。
  5. (5)前記プログラム割込みを発生させた下位命令を実
    行し、記憶用に新しいテンプレートを作る特許請求の範
    囲第(4)項記載のエミュレーション方法。
  6. (6)前記プログラム割込みを発生させた下位命令を実
    行しても、前記記憶されたテンプレートの内容に影響し
    ないと判断する場合は、前記下位命令を実行する特許請
    求の範囲第(3)項記載のエミュレーション方法。
JP61168229A 1985-09-30 1986-07-18 エミユレ−シヨン方法 Pending JPS6275735A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US782323 1985-09-30
US06/782,323 US4794522A (en) 1985-09-30 1985-09-30 Method for detecting modified object code in an emulator

Publications (1)

Publication Number Publication Date
JPS6275735A true JPS6275735A (ja) 1987-04-07

Family

ID=25125678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61168229A Pending JPS6275735A (ja) 1985-09-30 1986-07-18 エミユレ−シヨン方法

Country Status (3)

Country Link
US (1) US4794522A (ja)
EP (1) EP0217068A3 (ja)
JP (1) JPS6275735A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268928A (ja) * 1991-02-25 1992-09-24 Toshiba Corp エミュレーション装置及び半導体装置
US5896774A (en) * 1993-01-05 1999-04-27 Minolta Co., Ltd. Actuating mechanism

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5167023A (en) * 1988-02-01 1992-11-24 International Business Machines Translating a dynamic transfer control instruction address in a simulated CPU processor
JPH0668724B2 (ja) * 1988-02-01 1994-08-31 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン シミユレーシヨン方法
JPH0628036B2 (ja) * 1988-02-01 1994-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーシヨン シミュレーシヨン方法
CA2002201C (en) * 1988-12-06 1999-04-27 John Charles Goettelmann Translation technique
US5652869A (en) * 1991-03-07 1997-07-29 Digital Equipment Corporation System for executing and debugging multiple codes in a multi-architecture environment using jacketing means for jacketing the cross-domain calls
DE69216020T2 (de) * 1991-03-07 1997-07-10 Digital Equipment Corp Verbessertes fehlersuchsystem und -verfahren, besonders für die fehlersuche in einer multi-architekturumgebung
FR2678401A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Dispositif de traitement de l'information plus particulierement adapte a un langage chaine, du type forth notamment.
EP0570646A1 (en) * 1992-05-18 1993-11-24 Advanced Computer Research Institute S.A.R.L. Method for processor simulation
US5542059A (en) * 1994-01-11 1996-07-30 Exponential Technology, Inc. Dual instruction set processor having a pipeline with a pipestage functional unit that is relocatable in time and sequence order
US5781750A (en) * 1994-01-11 1998-07-14 Exponential Technology, Inc. Dual-instruction-set architecture CPU with hidden software emulation mode
US5481684A (en) * 1994-01-11 1996-01-02 Exponential Technology, Inc. Emulating operating system calls in an alternate instruction set using a modified code segment descriptor
US5604895A (en) * 1994-02-22 1997-02-18 Motorola Inc. Method and apparatus for inserting computer code into a high level language (HLL) software model of an electrical circuit to monitor test coverage of the software model when exposed to test inputs
US5481693A (en) * 1994-07-20 1996-01-02 Exponential Technology, Inc. Shared register architecture for a dual-instruction-set CPU
US5685009A (en) * 1994-07-20 1997-11-04 Exponential Technology, Inc. Shared floating-point registers and register port-pairing in a dual-architecture CPU
US5875318A (en) * 1996-04-12 1999-02-23 International Business Machines Corporation Apparatus and method of minimizing performance degradation of an instruction set translator due to self-modifying code
DE19617842A1 (de) * 1996-05-03 1997-11-13 Siemens Nixdorf Inf Syst Verfahren zur Codetransformation
JPH1097431A (ja) * 1996-07-31 1998-04-14 Fujitsu Ltd シミュレーション装置及びシミュレーション方法並びにコンピュータ読取可能な記録媒体
US6142682A (en) * 1997-06-13 2000-11-07 Telefonaktiebolaget Lm Ericsson Simulation of computer processor
US6075937A (en) * 1998-03-18 2000-06-13 International Business Machines Corporation Preprocessing of stored target routines for controlling emulation of incompatible instructions on a target processor and utilizing target processor feedback for controlling non-sequential incompatible instruction emulation
US6397242B1 (en) 1998-05-15 2002-05-28 Vmware, Inc. Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US8631066B2 (en) 1998-09-10 2014-01-14 Vmware, Inc. Mechanism for providing virtual machines for use by multiple users
US7516453B1 (en) * 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US7761857B1 (en) * 1999-10-13 2010-07-20 Robert Bedichek Method for switching between interpretation and dynamic translation in a processor system based upon code sequence execution counts
US6363336B1 (en) * 1999-10-13 2002-03-26 Transmeta Corporation Fine grain translation discrimination
US6714904B1 (en) * 1999-10-13 2004-03-30 Transmeta Corporation System for using rate of exception event generation during execution of translated instructions to control optimization of the translated instructions
US6594821B1 (en) 2000-03-30 2003-07-15 Transmeta Corporation Translation consistency checking for modified target instructions by comparing to original copy
US6615300B1 (en) 2000-06-19 2003-09-02 Transmeta Corporation Fast look-up of indirect branch destination in a dynamic translation system
US7310723B1 (en) 2003-04-02 2007-12-18 Transmeta Corporation Methods and systems employing a flag for deferring exception handling to a commit or rollback point
US8621444B2 (en) * 2004-06-01 2013-12-31 The Regents Of The University Of California Retargetable instruction set simulators
US8413162B1 (en) 2005-06-28 2013-04-02 Guillermo J. Rozas Multi-threading based on rollback

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101769U (ja) * 1980-12-13 1982-06-23

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2253430A5 (ja) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US4245302A (en) * 1978-10-10 1981-01-13 Magnuson Computer Systems, Inc. Computer and method for executing target instructions
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
US4587612A (en) * 1982-10-22 1986-05-06 International Business Machines Corporation Accelerated instruction mapping external to source and target instruction streams for near realtime injection into the latter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57101769U (ja) * 1980-12-13 1982-06-23

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04268928A (ja) * 1991-02-25 1992-09-24 Toshiba Corp エミュレーション装置及び半導体装置
US5896774A (en) * 1993-01-05 1999-04-27 Minolta Co., Ltd. Actuating mechanism

Also Published As

Publication number Publication date
US4794522A (en) 1988-12-27
EP0217068A3 (en) 1989-07-12
EP0217068A2 (en) 1987-04-08

Similar Documents

Publication Publication Date Title
JPS6275735A (ja) エミユレ−シヨン方法
US7886293B2 (en) Optimizing system behavior in a virtual machine environment
US6633968B2 (en) Pre-fetching of pages prior to a hard page fault sequence
US8201187B2 (en) Object monitoring system in shared object space
JP3572016B2 (ja) 信頼されないプログラムを実行するための方法
US7149929B2 (en) Method of and apparatus for cross-platform core dumping during dynamic binary translation
US20070094648A1 (en) Caching dynamically compiled code to storage
JP2001504957A (ja) 先進のプロセッサにおけるメモリ・データ・エリアシング方法および装置
US6173248B1 (en) Method and apparatus for handling masked exceptions in an instruction interpreter
JP2001519953A (ja) マイクロプロセッサの改良
JPH05216689A (ja) コンピュータ装置およびコンピュータ装置を動作させる方法
CN107463513B (zh) 在存储位置之间转移控制的系统和方法
JP2004303114A (ja) インタープリタおよびネイティブコード実行方法
KR920003044B1 (ko) 가상 머신 시스템용의 게스트 머신 실행 제어 시스템
US10120709B2 (en) Guest initiated atomic instructions for shared memory page host copy on write
JP2007094986A (ja) シミュレーション装置およびシミュレーション方法
US20050138263A1 (en) Method and apparatus to retain system control when a buffer overflow attack occurs
KR101109984B1 (ko) 에뮬레이팅된 처리 환경에서 실행을 용이하게 하는 방법, 시스템 및 컴퓨터 판독가능 매체
JP2001519954A (ja) 一時的にターゲット・プロセッサの状態を保持する装置を備えたホスト・マイクロプロセッサ
CN110362501B (zh) 一种执行饱和寻址加载和存储操作的设备和方法
JP3263999B2 (ja) プログラム内容解析装置
JP6143038B1 (ja) アプリケーションに依存することなくファイルにアクセスするosプログラム及び方法
US7269830B2 (en) Methods and hardware for safe memory allocation in arbitrary program environments
JPS6212555B2 (ja)
JPS61148536A (ja) 情報処理システム