JP3193651B2 - ゲスト命令をエミュレートするプロセッサ - Google Patents
ゲスト命令をエミュレートするプロセッサInfo
- Publication number
- JP3193651B2 JP3193651B2 JP33828796A JP33828796A JP3193651B2 JP 3193651 B2 JP3193651 B2 JP 3193651B2 JP 33828796 A JP33828796 A JP 33828796A JP 33828796 A JP33828796 A JP 33828796A JP 3193651 B2 JP3193651 B2 JP 3193651B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- data
- processor
- registers
- 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
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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
- G06F9/30167—Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
-
- 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/3017—Runtime instruction translation, e.g. macros
- G06F9/30174—Runtime instruction translation, e.g. macros for non-native instruction set, e.g. Javabyte, legacy code
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)
Description
におけるゲスト命令をエミュレートするプロセッサに関
し、特に、専用レジスタの内容を操作する命令を与える
ことによって、エミュレーション性能を改善するプロセ
ッサに関する。
のホストプロセッサ上で、インテル社のx86命令セッ
トなどのゲスト命令セットをソフトウェアでエミュレー
トする方法には2つある。第1の方法は、インタープリ
タを用いる解釈処理として知られ、第2の方法は、ダイ
ナミックトランスレータを用いる動的変換として知られ
ている。インタープリタは、従来のホストプロセッサに
おけるハードウェアにより行われるフェッチ、デコード
および実行サイクルを模倣する。ダイナミックトランス
レータは、ゲスト命令のブロックをフェッチおよびデコ
ードし、それらをホスト命令へ変換する。それらは、そ
の後再利用される。いずれの方法にも長所と短所があ
る。
少ないが、ダイナミックトランスレータより実行が遅
い。ダイナミックトランスレータは、ゲストプログラム
が、頻繁に再利用されるパーツを含んでいると、うまく
実行される。しかし、ゲストプログラムが、以前に変換
したパーツを修正するときは、うまく実行されない。
ズおよびダイナミックトランスレータの実行速度の両者
の長所を有するような解決策を得るために、ソフトウェ
アエミュレーション方法を支援するハードウェアを開発
した。その支援するハードウェアを使用する前に、各ゲ
スト命令の機能を実行するのに必要なホスト命令のシー
ケンスは、意味ルーチンと呼ばれる個別の機能にコンパ
イルされ、メモリにストアされる。このハードウェア
は、ソフトウェアと共に作動して、ゲスト命令をフェッ
チし、それらをデコードし、ホストプロセッサにある対
応する意味ルーチンをディスパッチする。
ペランドの操作を実行し、その結果を宛先オペランドに
ストアするものがある。一般に、2-オペランド命令の
第1のオペランドは、レジスタまたはメモリロケーショ
ンの内容のいずれかであり、第2のオペランドは、通
常、レジスタの内容または数値定数である即値データの
いずれかである。
一般に、ハードウェア支援ユニットは、ゲスト命令から
のソースオペランドを、ホストプロセッサ内の、1つ以
上の汎用レジスタ(GPR)にストアする。しかし、即
値データであるソースオペランドは、一般に、ハードウ
ェア支援ユニット内の専用レジスタ(SPR)にストア
される。
ペランドおよび即値データに実行するときは、GPR内
のソースオペランドは、SPR内の即値データに加算さ
れなければならない。しかし、この加算は、一般に、G
PRの内容しか加算できないホストプロセッサ内の整数
ユニットにより実行される。そのため、SPRの内容を
操作する意味ルーチンは、SPRの内容をGPRへ移動
する追加のホスト命令を含んでいなければならない。整
数ユニットは、次に、第1のGPRのオペランドを、第
2のGPRの即値データに加算することができる。この
方法の短所は、意味ルーチン内の追加の移動命令の実行
が、プロセッサのエミュレーション性能を大幅に遅くす
る可能性があることである。
いるものは、専用レジスタの内容を操作する命令を用い
たエミュレーション性能を改善するプロセッサである。
本発明は、かかる必要性に取り組んだものである。
2のオペランドが含まれているゲスト命令をエミュレー
トするプロセッサの性能を改善する。第1のオペランド
は、汎用レジスタにストアされており、第2のオペラン
ドは、専用レジスタにストアされている。このプロセッ
サは、第2のオペランドを専用レジスタから汎用レジス
タへ移動することなく、第1のオペランドおよび第2の
オペランドを用いて操作を実行するホスト命令を提供す
る。
明は、即値データを操作する意味ルーチン内の命令の数
を減らし、それによって、意味ルーチンの実行時間が減
少し、エミュレーション性能が増大される。
スト命令のエミュレーションにおける改善に関するもの
である。好ましい実施形態のさまざまな変形例は、当業
者に直ちに明らかとなるものであり、ここに示した一般
的な原理はその他の実施例にも適用される。このよう
に、本発明は、本実施例に限られるものではなく、ここ
に説明した原理および特徴に従う最も広い範囲に適用さ
れる。
ーキテクチャを示すブロック図である。一般に、プロセ
ッサ10は、メモリ12、レベル2(L2)キャッシュ
14、データキャッシュ16、命令キャッシュ(IC)
18、命令キュー(IQ)20、分岐予測ユニット2
2、機能ユニット24−32および完了バッファ34と
いったさまざまなハードウェアコンポーネントを用いて
ネイティブソフトウェア命令を実行する。
ロセッサ10は、PowerPC(PPC)命令セット
を実行するモトローラ社製PowerPCである。PP
C命令セットを実行するほか、プロセッサ10は、イン
テル社のx86命令およびモトロ−ラ社の68Kコンプ
レックス・インストラクション・セット・コンピュータ
(CISC)命令といった複数のゲスト命令38をエミ
ュレートすることもできる。
プロセッサ10を支援する役割のコンポーネントは、エ
ミュレーション支援ユニット(EAU)36である。プ
ロセッサ10に、ゲスト命令38をエミュレートさせる
ためには、まず、各ゲスト命令38を、ホストプロセッ
サ10でゲスト命令38の機能を実行する意味ルーチン
40と呼ばれる対応するホスト命令セットへ変換する。
各意味ルーチン40は、メモリ12の特定のアドレス位
置にストアされる。ゲスト命令38(およびデータ)も
このメモリ12にストアされる。
38およびデータをL2キャッシュ14およびデータキ
ャッシュ16へそれぞれキャッシュする。EAU36
は、ゲスト命令38をフェッチおよびデコードし、次
に、ゲスト命令38をそれぞれ対応する意味ルーチン4
0のホストメモリアドレスへマップする。プロセッサ1
0は、特定のメモリアドレスに位置する意味ルーチン4
0を命令キャッシュ18へフェッチする。次に、意味ル
ーチン40に含まれるホスト命令は、IQ20へ移され
る。さらに、各ホスト命令は、分岐予測ユニット22お
よび機能ユニット24−32を用いてデコードされ、実
行される。意味ルーチン40が、実行されて、その結果
が、完了バッファ34にストアされた後、EAU36
は、次のゲスト命令38のホストアドレスをマップし、
このプロセスを繰り返す。
いる。EAU36には、命令バッファ50、命令プリフ
ェッチユニット52、専用レジスタ(SPR)54、デ
コードユニット56、分岐ヒストリテーブル58、タグ
生成ユニット60、ゲストキャッシュ(gcache)
62およびgcache命令キュー64が含まれてい
る。EAU36のこれらの機能が、ダイレクトマッピン
グスキーマを用いて、ゲスト命令38のエミュレートの
際にプロセッサ10を支援する。
チユニット52によりデータキャッシュ16からプリフ
ェッチされる。次に、ゲスト命令38が、命令バッファ
50へロードされ、デコードユニット56へ移される。
ゲスト命令38のホストアドレスへのダイレクトマッピ
ングが、その構文により複雑なため、デコードユニット
56がゲスト命令38を構文解析またはデコードするの
に使われ、長さ、分岐タイプおよび即値データを決定す
る。ゲスト命令38が分岐の場合には、分岐ヒストリテ
ーブル58を使って、次のプリフェッチアドレスを予測
する。
のエントリおよびそれに対応するホストメモリアドレス
を含む配列である。ゲスト命令38がデコードされた
後、タグ生成ユニット60がそのゲスト命令38を固有
のopcodeタグにコンバートし、このopcode
タグが対応する意味ルーチン40のアドレスをアクセス
するためのgcache62へのインデックスとして使
われる。
応する意味ルーチン40がわかるようになると、意味ル
ーチン40とそのアドレスがgcache命令キュー6
4にストアされる。gcache命令キュー64におけ
る各エントリには、オフセットフィールドおよびデータ
フィールドが含まれている。オフセットフィールドは、
意味ルーチン40のホスト(PowerPC(PP
C))アドレスへのポインタである。データフィールド
には、意味ルーチン40が処理するゲスト命令38から
の即値データが含まれている。本発明の好ましい実施形
態においては、オフセットフィールドおよび即値データ
を含むデータフィールドは、SPR54にストアされ
る。
セッサ10は、命令キュー64の最初のエントリを線6
6を介してフェッチし、適切な意味ルーチン40を実行
するためにメモリ12から検索する。各意味ルーチン4
0における最後の命令は分岐命令であり、好ましい実施
形態においては、ゲストディスパッチ完了(gdis
c)命令である。プロセッサ10が、gdisc命令を
フェッチおよびデコードすると、それに応じて、プロセ
ッサ10が線68を介して命令キュー64から次の意味
ルーチン40のアドレスをフェッチするようになる。
次の意味ルーチン40のアドレスは、カレント命令ポイ
ンタ(IP)70にストアされる。gdisc命令のデ
コードはまた、次のIP72をカレントIP72へ移動
させる。好ましい実施形態においては、gdisc命令
は、無条件分岐命令であるが、プロセッサ10に次の意
味ルーチンをフェッチさせる命令を使っても良い。
命令などのいくつかの異なる機能タイプのゲスト命令3
8がある。これらのタイプの命令が、該命令により即値
データ、レジスタ、またはメモリ位置の内容に操作を行
うかどうかを指定する。例えば、サンプルのゲスト命令
38は次のフォーマットを有する。 ADD G1,'4 これは、「ADD」命令が、GPRの内容に即値4を加
算をするということを示している。再び図2を参照する
と、このサンプルのゲスト命令38は、ゲスト「AD
D」命令に対応する意味ルーチン40を使ってプロセッ
サ10でエミュレートされる。この意味ルーチン40が
いったんディスパッチされると、整数ユニット28およ
び30のうち一つにより実行される。これの意味すると
ころは、整数ユニット28および30が同一であるとい
うことである。
1のブロック図が示されている。IU31には、複数の
汎用レジスタ100、整数命令ユニット102、算術演
算論理ユニット(ALU)104、マルチプレクサ10
6およびリネームバッファ108が含まれている。
ト整数命令は、それらをデコードし実行する整数命令ユ
ニット102により受け取られる。
ンドをストアする。これらのオペランドは、ALU10
4の入力として使われ、ALU104は特定の算術演算
操作をオペランドに行う。ALU104からの結果は、
マルチプレクサ106へ入力され、マルチプレクサ10
6の出力はリネームバッファ108にストアされる。リ
ネームバッファ108の内容は、後にGPR100へ移
動しても良い。
4は、gbus110を介してIU31のマルチプレク
サ106に連結される。ゲスト命令38がGPR100
のオペランドを即値データへ加算することを指定すると
き、この加算を行う対応する意味ルーチン40は、即値
データをSPR54からGPR100へ移動するホスト
命令を含んでいなければならない。
意味ルーチン40は、例えば、次の命令を含むことがあ
る。 MFSPR imm.,temp ADD G1,temp GDISC ホスト命令MFSPR(Move From SPR)
は、即値データをSPR54から、GPR100の一つ
にストアされるtempと呼ばれる一時変数へコピーす
る移動命令である。ホスト「ADD」命令により、AL
U104は、G1の内容をGPR100にストアされて
いるtempの内容に加える。その後、加算の結果がリ
ネームバッファ108にストアされる。前述のとおり、
GDISC命令により、プロセッサ10は、実行すべき
次の意味ルーチン40をフェッチする。
いな「MFSPR」命令は、プロセッサ10のエミュレ
ーション性能を大幅に遅くする可能性がある。これは、
意味ルーチン40がSPR54にストアされた即値デー
タを操作するときは必ず、MFSPR命令を実行するた
めのよけいなプロセッササイクルが必要であることによ
る。
る命令を与えることによってエミュレーションの性能を
改善するプロセッサである。本発明によるプロセッサを
より詳細に説明するために、かかるプロセッサの一実施
例のブロック図を示す図4を参照する。
U)28を示すブロック図である。本発明によれば、S
PR54をALU104と直接連結するためにqbus
112が提供されている。これにより、最初にSPR5
4の内容をGPR100へ移動することなく、ALU1
04は、SPR54の内容について操作を行うことがで
きる。
に、新しいホスト命令のセットを定義している。これら
の新しい命令は、即値データを有するゲスト命令38を
エミュレートする意味ルーチン40に使われる。
ータを操作する新しいPPC命令のセットをリストする
表である。命令にあるニーモニック「RT」は、宛先と
して使われるGPR100を指定し、一方ニーモニック
「RA」は、ソースとして使われるGPR100を指定
する。
から移動し、そのデータをRTに位置づける。命令AD
DFGIは、SPR54からの即値データをRAのオペ
ランドへ加算し、その結果をRTに位置づける。命令S
UGFGIは、RAのオペランドをSPR54の即値デ
ータから減算し、その結果をRTに位置づける。命令S
HIFTFGIは、SPR54の即値データをRAのオ
ペランドにより指定されたシフト量だけシフトし、その
結果をRTに位置づける。
術では、少なくとも2つのホスト命令がSPR54の即
値データの操作を行うのに必要であった。本発明のホス
ト命令では、かかる操作に1つのホスト命令しか必要と
しない。これは、意味ルーチン40でプロセッサ10が
実行しなければならない命令の数を減らし、これによっ
てエミュレーション性能が増大する。
結させることによって可能となる新しい命令のセット
は、図5にリストされたホスト命令に限定されない。図
5にリストされたデータ転送、算術演算および論理命令
は、一例にすぎない。
4を整数ユニット28のALU104と連結させること
により、ホスト命令がSPR54の内容を直接操作する
ことを可能にする。本発明は、ここに示した実施例に従
って説明されたが、本実施例の変形が可能であり、これ
らの変形が本発明の技術的思想および範囲内であること
は当業者であれば容易に理解されよう。従って、請求項
に記載の技術的思想および範囲から逸脱することのない
範囲で、当業者は多くの変形例を実施することができ
る。
すブロック図である。
ある。
る。
操作するホスト命令のセットをリストする表である。
Claims (5)
- 【請求項1】第1および第2のオペランドのうち一方の
オペランドとしての即値データを含むゲスト命令をエミ
ュレートするプロセッサであって、 前記第1および第2のオペランドのうち他方のオペラン
ドを複数の汎用レジスタのうち選択された汎用レジスタ
にストアするとともに、前記即値データをエミュレーシ
ョン支援ユニット中に設けられた複数の専用レジスタの
うち選択された専用レジスタにストアする手段と、 一の算術演算論理ユニットおよび当該算術演算論理ユニ
ットの出力に連結された一のマルチプレクサとを備え、 前記算術演算論理ユニットの一方の入力が、前記即値デ
ータを受け取るように前記選択された専用レジスタに連
結され、前記算術演算論理ユニットの他方の入力が、前
記他方のオペランドを受け取るように前記選択された汎
用レジスタに連結され、 さらに、 前記即値データを前記選択された専用レジスタ
から前記複数の汎用レジスタのうち一の汎用レジスタへ
移動させることなく、前記選択された専用レジスタにあ
る前記即値データおよび前記選択された汎用レジスタに
ある前記他方のオペランドを用いて操作を行い、当該操
作の結果を、前記マルチプレクサを介して、前記選択さ
れた汎用レジスタまたは他のレジスタにストアする命令
手段を備えることを特徴とする前記プロセッサ。 - 【請求項2】前記命令手段が算術演算操作であることを
特徴とする請求項1記載のプロセッサ。 - 【請求項3】前記命令手段が論理操作であることを特徴
とする請求項1記載のプロセッサ。 - 【請求項4】前記命令手段が前記ゲスト命令の機能をエ
ミュレートするための一の意味ルーチン中の命令である
ことを特徴とする請求項1から請求項3のいずれか1項
に記載のプロセッサ。 - 【請求項5】第1および第2のオペランドのうち一方の
オペランドとしての即値データを含む複数のゲスト命令
をエミュレートするプロセッサであって、 前記ゲスト命令の機能をエミュレートするホスト命令の
ブロックを含む各意味ルーチンを、選択されたアドレス
にストアするためのメモリと、前記 ゲスト命令をデコードし、当該デコードされたゲス
ト命令に対応する意味ルーチンをディスパッチするため
のエミュレーション支援ユニットとを備え、 前記エミュレーション支援ユニットが、複数のエントリ
をストアするための複数の専用レジスタを含み、前記複
数のエントリの各々が、一のオフセットフィールドおよ
び一のデータフィールドを含み、前記オフセットフィー
ルドが、前記意味ルーチンがストアされている前記メモ
リアドレスへの一のポインタを保持し、前記データフィ
ールドが、前記デコードされたゲスト命令からの即値デ
ータを保持し、 さらに、第1および第2のオペランドのうち他方の オペ
ランドをストアするための複数の汎用レジスタと、一の算術演算論理ユニットおよび当該算術演算論理ユニ
ットの出力に連結された一のマルチプレクサを含む、前
記ホスト命令を実行するための整数ユニットとを備え、 前記算術演算論理ユニットの一方の入力が、前記即値デ
ータを受け取るように前記複数の専用レジスタのうち選
択された専用レジスタに連結され、前記算術演算論理ユ
ニットの他方の入力が、前記他方のオペランドを受け取
るように前記複数の汎用レジスタのうち選択された汎用
レジスタに連結され、 前記意味ルーチンにおける前記ホスト命令が、前記即値
データを 前記選択された専用レジスタから前記複数の汎
用レジスタのうち一の汎用レジスタへ移動させることな
く、前記選択された専用レジスタにある前記即値データ
および前記選択された汎用レジスタにある前記他方のオ
ペランドを用いて操作を行い、当該操作の結果を、前記
マルチプレクサを介して、前記選択された汎用レジスタ
または他 のレジスタにストアすることを特徴とする前記
プロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/581793 | 1996-01-25 | ||
US08/581,793 US5758140A (en) | 1996-01-25 | 1996-01-25 | Method and system for emulating instructions by performing an operation directly using special-purpose register contents |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09212370A JPH09212370A (ja) | 1997-08-15 |
JP3193651B2 true JP3193651B2 (ja) | 2001-07-30 |
Family
ID=24326583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33828796A Expired - Fee Related JP3193651B2 (ja) | 1996-01-25 | 1996-12-18 | ゲスト命令をエミュレートするプロセッサ |
Country Status (5)
Country | Link |
---|---|
US (1) | US5758140A (ja) |
EP (1) | EP0786722A1 (ja) |
JP (1) | JP3193651B2 (ja) |
KR (1) | KR100237987B1 (ja) |
TW (1) | TW417064B (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6044220A (en) * | 1997-02-25 | 2000-03-28 | Motorola, Inc. | Method and apparatus for operating a data processor to execute software written using a foreign instruction set |
US6223339B1 (en) * | 1998-09-08 | 2001-04-24 | Hewlett-Packard Company | System, method, and product for memory management in a dynamic translator |
US6308318B2 (en) * | 1998-10-07 | 2001-10-23 | Hewlett-Packard Company | Method and apparatus for handling asynchronous exceptions in a dynamic translation system |
WO2001025900A1 (en) * | 1999-10-06 | 2001-04-12 | Cradle Technologies | Risc processor using register codes for expanded instruction set |
US6711672B1 (en) * | 2000-09-22 | 2004-03-23 | Vmware, Inc. | Method and system for implementing subroutine calls and returns in binary translation sub-systems of computers |
KR100388943B1 (ko) * | 2000-10-23 | 2003-06-25 | 아스텔 주식회사 | 디지털 신호 처리 프로세서의 즉시 데이터 처리 장치 |
US7219337B2 (en) * | 2003-03-06 | 2007-05-15 | Northrop Grumman Corporation | Direct instructions rendering emulation computer technique |
US7290253B1 (en) | 2003-09-30 | 2007-10-30 | Vmware, Inc. | Prediction mechanism for subroutine returns in binary translation sub-systems of computers |
GB2426083A (en) * | 2005-05-09 | 2006-11-15 | Sony Comp Entertainment Europe | Software emulation of a pipeline processor |
US20070006178A1 (en) * | 2005-05-12 | 2007-01-04 | Microsoft Corporation | Function-level just-in-time translation engine with multiple pass optimization |
CN100447702C (zh) * | 2005-05-23 | 2008-12-31 | 联想(北京)有限公司 | 一种防止未被授权程序在计算机系统运行的方法及其系统 |
US9851969B2 (en) | 2010-06-24 | 2017-12-26 | International Business Machines Corporation | Function virtualization facility for function query of a processor |
US10521231B2 (en) | 2010-06-24 | 2019-12-31 | International Business Machines Corporation | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor |
JP5367020B2 (ja) * | 2011-06-24 | 2013-12-11 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、情報処理方法、プログラム及び情報記憶媒体 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2253430A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
FR2253435A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
US3891974A (en) * | 1973-12-17 | 1975-06-24 | Honeywell Inf Systems | Data processing system having emulation capability for providing wait state simulation function |
US4084235A (en) * | 1975-04-14 | 1978-04-11 | Honeywell Information Systems Inc. | Emulation apparatus |
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 |
JPH07109589B2 (ja) * | 1985-07-25 | 1995-11-22 | 日本電気株式会社 | 命令処理方式 |
US4841476A (en) * | 1986-10-06 | 1989-06-20 | International Business Machines Corporation | Extended floating point operations supporting emulation of source instruction execution |
EP0264215A3 (en) * | 1986-10-14 | 1991-10-23 | Amdahl Corporation | Fast entry to emulation |
JPS63106836A (ja) * | 1986-10-24 | 1988-05-11 | Hitachi Ltd | 異ア−キテクチヤ・エミユレ−シヨン方式 |
JPH02236734A (ja) * | 1989-03-10 | 1990-09-19 | Nec Corp | マイクロプロセッサのエミュレーション方式 |
US5077657A (en) * | 1989-06-15 | 1991-12-31 | Unisys | Emulator Assist unit which forms addresses of user instruction operands in response to emulator assist unit commands from host processor |
JPH05181671A (ja) * | 1992-01-07 | 1993-07-23 | Kobe Nippon Denki Software Kk | ソフトウェア命令のエミュレーション方式 |
DE4232053C1 (de) * | 1992-09-24 | 1993-11-25 | Siemens Ag | Schaltung zur Emulationsbeschleunigung |
WO1994027215A1 (en) * | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
WO1994027214A1 (en) * | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding sequences of guest instructions for a host computer |
-
1996
- 1996-01-25 US US08/581,793 patent/US5758140A/en not_active Expired - Lifetime
- 1996-06-22 TW TW085107506A patent/TW417064B/zh not_active IP Right Cessation
- 1996-10-18 KR KR1019960046662A patent/KR100237987B1/ko not_active IP Right Cessation
- 1996-12-18 JP JP33828796A patent/JP3193651B2/ja not_active Expired - Fee Related
- 1996-12-27 EP EP96309517A patent/EP0786722A1/en not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
IBM TECHNICAL DISCLOSURE BULLETIN,Vol.36,No.2,1993年2月,p.231−234 |
Also Published As
Publication number | Publication date |
---|---|
KR970059922A (ko) | 1997-08-12 |
JPH09212370A (ja) | 1997-08-15 |
EP0786722A1 (en) | 1997-07-30 |
KR100237987B1 (ko) | 2000-01-15 |
US5758140A (en) | 1998-05-26 |
TW417064B (en) | 2001-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100317770B1 (ko) | 데이터처리시스템의에뮬레이션모드를위한어드레스변환버퍼 | |
US6332215B1 (en) | Java virtual machine hardware for RISC and CISC processors | |
US20180341504A1 (en) | Virtual machine coprocessor for accelerating software execution | |
JP3615770B2 (ja) | アドレスされた構成部分の思索の失敗を検出するメモリ・コントローラ | |
JP4171496B2 (ja) | スタックを用いる演算マシンのための命令フォールディング処理 | |
US6349377B1 (en) | Processing device for executing virtual machine instructions that includes instruction refeeding means | |
US8473718B2 (en) | Java hardware accelerator using microcode engine | |
US6122638A (en) | Object-oriented processor and method for caching intermediate data in an object-oriented processor | |
US20010010072A1 (en) | Instruction translator translating non-native instructions for a processor into native instructions therefor, instruction memory with such translator, and data processing apparatus using them | |
KR100284788B1 (ko) | 데이터 처리 시스템에서 에뮬레이션 동안의 브랜치 처리 방법및 시스템 | |
US5812823A (en) | Method and system for performing an emulation context save and restore that is transparent to the operating system | |
US5995743A (en) | Method and system for interrupt handling during emulation in a data processing system | |
JP3193651B2 (ja) | ゲスト命令をエミュレートするプロセッサ | |
KR100443759B1 (ko) | 개선된 마이크로프로세서 | |
WO2000034844A9 (en) | Java virtual machine hardware for risc and cisc processors | |
US8769508B2 (en) | Virtual machine hardware for RISC and CISC processors | |
US5764962A (en) | Emulation of asynchronous signals using a branch mechanism | |
US5732235A (en) | Method and system for minimizing the number of cycles required to execute semantic routines | |
US20030130834A1 (en) | Execution time modification of instruction emulation parameters | |
KR100421687B1 (ko) | 개선된 마이크로프로세서를 위한 변환 메모리 보호 장치 | |
KR100522468B1 (ko) | 타겟 프로세서의 상태를 일시적으로 홀딩하는 장치를 갖는 호스트 마이크로프로세서 | |
US8356156B2 (en) | Method and system for using external storage to amortize CPU cycle utilization | |
KR19980070147A (ko) | 제 1 처리 환경내에서 제 1 명령어를 에뮬레이션 환경내에서의제 2 명령어 처리 개시에 응하여 처리하는 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080525 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080525 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090525 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100525 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110525 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120525 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130525 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140525 Year of fee payment: 13 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
LAPS | Cancellation because of no payment of annual fees |