JP3652956B2 - エミュレーション装置 - Google Patents
エミュレーション装置 Download PDFInfo
- Publication number
- JP3652956B2 JP3652956B2 JP2000124327A JP2000124327A JP3652956B2 JP 3652956 B2 JP3652956 B2 JP 3652956B2 JP 2000124327 A JP2000124327 A JP 2000124327A JP 2000124327 A JP2000124327 A JP 2000124327A JP 3652956 B2 JP3652956 B2 JP 3652956B2
- Authority
- JP
- Japan
- Prior art keywords
- exception
- instruction
- block
- emulation
- host
- 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
Images
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
この発明は、エミュレーション装置に関し、特に、ターゲットプログラムから取り出したターゲット命令のエミュレーション中に、次ターゲット命令を取り出して、エミュレーションを高速化するエミュレーション装置に関する。
【0002】
【従来の技術】
従来のエミュレーションシステムにおいては、主記憶装置上のターゲットプログラムのエミュレーションを正確に実行するために、ターゲット命令コードのロードと、該当するエミュレーションプログラムの選定と、該当するエミュレーションプログラムでの該当のターゲット命令のエミュレーションと、が順次実行されていた。この仕方では、ターゲット命令のエミュレーションを正確に実行することができるが、エミュレーションに係わるロードと、プログラム選定と、エミュレーション処理と、が順次実行されるためエミュレーションを高速化することが難しいという問題があった。また、この問題を解決してエミュレーションの性能を向上させるためには、ターゲット命令のエミュレーションと次ターゲット命令コードのロード及び該当するエミュレーションプログラムの選定とを並列に行うことが考えられるが、この仕方では、次ターゲット命令コードのロード等で発生した例外をターゲット命令で発生した例外として順次処理しなければならないため、ターゲットプログラムのエミュレーションを正確に行うことができないという問題があった。
【0003】
【発明が解決しようとする課題】
従来の問題を解決するため、ターゲットプログラムのターゲット命令のエミュレーション中に、次ターゲット命令コードの先行ロードを行うため、エミュレーションプログラムのホスト命令コードを特定の予約コードで定義し、それを例外遅延用ホスト命令として例外遅延用ホスト命令コード管理テーブルに登録する。
この例外遅延用ホスト命令は、特定のレジスタを使用した命令フォーマットで構成(命令プリフィックス、オペコード、ModR/Mなど)することによって、他の命令コードと判別することが出来る。次のターゲット命令の先行ロードの際に例外が発生した場合、例外処理ブロックで、例外発生番地のホスト命令コードを読み出し、例外遅延用ホスト命令コード管理テーブルの例外遅延用ホスト命令と比較することによって、例外が発生した箇所を、次ターゲット命令の取り出しであるか、あるいはエミュレーションで生じた例外であるかを切り分けて記憶し、次ターゲット命令取り出しの例外の処理を遅延させて実施し、この例外で該ターゲット命令のエミュレーションに影響を与えない仕組みに設けることによって、ターゲット命令のエミュレーションを正確に実施する。この仕組みは、上述したように例外遅延用ホスト命令を特定のレジスタを使用した命令フォーマットを用いて予約命令とすることで、例えば、同じMOVE命令であっても、オペコードで判別できる。また、この仕組みによって、ターゲット命令の先行取り出しを可能にして、エミュレーションを高速化する。
【0004】
この発明の目的は、エミュレーション中の例外処理において、先行ロードにおける例外とエミュレーションに係わる例外とを区別し、先行ロードによる例外の処理を遅延させることによりターゲット命令のエミュレーションを正確に実行し、かつ高速化することにある。
【0005】
【課題を解決するための手段】
そのため、この発明の、ターゲットプロセッサ用に記述されたターゲットプログラムを異なるアーキテクチャのホストプロセッサでエミュレーションするエミュレーション装置において、前記ターゲットプログラムに記述されたターゲット命令をメモリより取り出し、前記ターゲット命令のエミュレーション中に、次に実行する次ターゲット命令をメモリより先行して取り出す例外遅延用ホスト命令でもって記述された次ターゲット命令取り出しを実行するエミュレーションプログラムブロックと、前記エミュレーションプログラムブロックに例外が発生したとき起動され、前記例外が前記次ターゲット命令取り出しによる例外か、あるいはエミュレーション処理による例外かを、前記例外遅延用ホスト命令を登録するメモリ上の例外遅延ホスト命令コード管理テーブルを参照して判別し、判別結果をメモリ上の例外チェックフィルードに記憶させる例外処理ブロックと、を有することを特徴とする。
【0006】
更に、前記例外遅延用ホスト命令は、ホスト命令の内からターゲット命令の先行取り出し用に予め定義された命令であることを特徴とする。
【0007】
更に、前記エミュレーションプログラムブロックは、前記ターゲットプログラムに記述されたターゲット命令のエミュレーションを実行し、前記エミュレーション中に前記例外遅延用ホスト命令で記述される次ターゲット命令のメモリ上からの取り出し並びに前記次ターゲット命令のデコードを並行して実行するターゲット命令エミュレーションブロックと、前記ターゲットプログラムから取り出されるターゲット命令を指すポインタを更新するターゲット命令インクリメントブロックと、メモリ上の前記例外チェックフィールドに記憶されている例外が、次ターゲット命令の取り出しによる例外であるか否かを判別する例外チェックブロックと、前記次ターゲット命令の取り出しによる例外であるとき、前記例外を起こしたターゲット命令のメモリからの取り出しを、前記例外遅延用ホスト命令以外の命令で再実行するターゲット命令ロードブロックと、を有することを特徴とする。
【0008】
更に、前記例外処理ブロックは、前記次ターゲット命令のメモリからの取り出し、あるいはエミュレーション処理中に生じた例外によって起動され、ホストプログラムのインストラクションポインタが指すホスト命令を取り出すHIPホスト命令コード読み出しブロックと、前記ホスト命令が前記例外遅延用ホスト命令コードであるか否かを判別する例外遅延用ホスト命令コード判別ブロックと、前記例外遅延用ホスト命令コードであるとき、前記例外をメモリ上の例外チェックフィールドに記憶し、前記次ターゲット命令デコードブロックに戻る例外書き込みブロックと、前記例外遅延用ホスト命令コードでないとき、前記例外を処理する例外処理ブロックと、を有することを特徴とする。
【0009】
【発明の実施の形態】
この発明の実施の形態について図面を参照して説明する。図1を参照すると、この発明の実施の形態であるエミュレーション装置1は、エミュレーション対象となるターゲットプログラムのインストラクションポインタ(以降TIPと称す)が指すターゲット命令のエミュレーション処理を行うエミュレーションプログラムブロック10と、例外発生を契機に起動される例外処理ブロック20と、を備える。
【0010】
図2を参照すると、エミュレーション装置1が、メモリに展開されることを示している。エミュレーション対象のターゲットプログラム空間30と、ターゲットプログラムをエミュレーションするためのエミュレーションプログラム空間40と、エミュレーションデータ空間50と、がメモリ上に展開されている。更に、エミュレーションデータ空間50は、例外発生箇所を判別する例外遅延用ホスト命令コード管理テーブル51と、例外処理を遅延させるため、例外を記憶する例外チェックフィールド52を含む。
【0011】
これらの各ブロックは、次のように機能動作する。図1に示すエミュレーションプログラムブロック10は、図2に示すメモリ上のエミュレーションプログラム空間40に存在する。ターゲットの’AAAA’命令が、’AAAA’命令エミュレーションブロック41に、’BBBB’命令が、’BBBB’命令エミュレーションブロックに、対応する。ターゲットプログラム空間30中のTIPが指す該ターゲット命令のエミュレーションを実施するエミュレーションブロック11は、次ターゲット命令の命令コードの先行ロードを行う次ターゲット命令先行ロードブロック111と、次ターゲット命令のエミュレーションブロックの選定を行う次ターゲット命令デコードブロック112を有する。更に、ターゲット命令のエミュレーション実行後に、TIPを次ターゲット命令を指す様に更新するTIPインクリメントブロック12と、エミュレーション中の先行ロードによって例外が発生したか否かを、図2に示す例外チェックフィールド52に記憶されている例外で判別する例外チェックブロック13と、例外が発生していた場合に、先行ロードで例外が発生した際のターゲット命令を再度ロードするターゲット命令ロードブロック14と、を有する。
【0012】
また、例外発生を契機に起動される例外処理ブロック20は、例外が発生したホストプログラムのインストラクションポインタ(以降HIPと称す)が指すホスト命令コードの読み出しを行うHIPホスト命令コード読み出しブロック21と、それによって読み込まれたホスト命令コードが、図2に示すエミュレーションデータ空間50中の例外遅延用ホスト命令コード管理テーブル51に含まれる例外遅延用ホスト命令コードと比較して判別する例外遅延用ホスト命令コード判別ブロック22と、該判別結果が一致した場合に、例外処理を行わずに例外を図2に示す例外チェックフィールド52に書き込む例外書き込みブロック23と、判別結果が不一致であった場合に、発生した例外を処理する例外処理ブロック24と、を有する。
【0013】
次に、この実施の形態の動作について図面を参照して説明する。図1のエミュレーション装置1と、図2のメモリ展開図と、図3の例外遅延用ホスト命令コード管理テーブル51と、を参照して全体の動作について説明する。まず、図1の命令エミュレーションプログラムブロック10は、ターゲット命令のエミュレーション処理を行うターゲット命令エミュレーションブロック11において、TIPが指すターゲット命令のエミュレーションシーケンスで、次ターゲット命令の先行ロードを行う次ターゲット命令先行ロードブロック111及びターゲット命令エミュレーションプログラムの実行アドレスを選定する次ターゲット命令デコードブロック112によって、ターゲット命令のエミュレーション処理中に次ターゲット命令エミュレーションのための処理を先行して実施する。次ターゲット命令先行ロードブロック111では、ターゲット命令のロードを例外遅延用ホスト命令で実行する。TIPインクリメントブロック12では、ターゲット命令のエミュレーションが完全に実行された時点で、TIPをインクリメントし、次ターゲット命令に対するポインタにする。その後に、例外チェックブロック13が、図2に示す例外チェックフィールド52に例外が書き込まれているか否かを判別する。例外が例外チェックフィールド52に書き込まれていないとき、ターゲット命令エミュレーションブロック11に移行する。例外が例外チェックフィールド52に書き込まれているとき、ターゲット命令ロードブロック14で、次ターゲット命令先行ロードブロック111が対象としたターゲット命令を再ロードする。この再ロードは、例外遅延用ホスト命令以外のホスト命令を用いて、実行する。
【0014】
例外処理ブロック20では、HIPホスト命令コード読み出しブロック21が、HIPが指す例外発生番地のホスト命令コードを読み出し、例外遅延用ホスト命令コード判別ブロック22が、読み出されたホスト命令コードが次ターゲット命令先行ロードブロック111の例外遅延用ホスト命令コードであるか否かを判別する。判別結果が例外遅延用ホスト命令である場合は、該ターゲット命令の先行ロードで生じた例外として、例外処理を行わずに、例外書き込みブロック23で、図2に示す例外チェックフィールド52に該例外を書き込み、ターゲット命令デコードブロック112に戻る。判別結果が例外遅延用ホスト命令ではなかった場合は、該ターゲット命令のエミュレーション処理で生じた例外であるとして、例外処理ブロック24が例外処理を実行する。
【0015】
図2のターゲットプログラム空間30は、エミュレーション対象プログラムのプログラム論理ブロック31,32で構成される。‘AAAA’命令コード,‘BBBB’命令コードあるいは‘CCCC’命令コードは、エミュレーション対象のターゲット命令コードを模したものである。また、エミュレーションプログラム空間40は、エミュレーション対象のターゲット命令コードに対応したエミュレーションブロック41,42,43と、例外処理ブロック44と、を含む。更に、エミュレーションデータ空間50は、例外が発生した際のHIPが指すエミュレーションプログラムのホスト命令コードが例外遅延用ホスト命令であるか否かを判別するための例外遅延用ホスト命令コード管理テーブル51と、生じた例外を記憶する例外チェックフィールド52と、を含む。図3は、例外遅延用ホスト命令コード管理テーブル51を図示したものである。
【0016】
次に、具体例を用いて説明する。この具体例は、簡単のため、仮想記憶システムにおいて、プログラム実行中にページフォルト例外が発生した場合を想定して説明する。エミュレーション装置1では、図2に示すように、メモリ上のターゲットプログラム空間30に展開されたターゲットプログラムをTIPでトレースしながら、エミュレーションプログラム空間40のエミュレーションプログラムにおいて順次エミュレーションを行う。ここでは具体例として、ターゲットプログラムが2つの論理ブロック31及び論理ブロック32に跨っており、第1の論理ブロック31はメモリにロード済みであるが、第2の論理ブロック32はメモリにロードされていない、つまりターゲットプログラム中の‘CCCC’命令の読み込み時にページフォルト例外が発生するケースで動作説明をする。
【0017】
まず、ターゲットプログラム空間30の‘AAAA’命令コードを読み込み‘AAAA’命令エミュレーションブロック41にて、エミュレーション処理を実施する。‘AAAA’命令エミュレーションブロック41では、‘AAAA’命令のエミュレーション処理と並列して、ターゲットプログラム空間30中の次のターゲット命令である‘BBBB’命令コードを、例外遅延用ホスト命令コードを用いた先行ロードを実施する。読み込まれたターゲットプログラムの命令コードが、次ターゲット命令デコードブロック112によって、エミュレーションプログラム空間40中の‘BBBB’命令エミュレーションブロック42の実行アドレス選定を実施する。
【0018】
‘AAAA’命令エミュレーションブロック41では、‘AAAA’命令のエミュレーション処理が終了した後に、TIPを‘BBBB’命令コードを指すようにインクリメントし、例外チェックブロック13が、例外の有無をチェックする。この例では、‘BBBB’命令コードの先行ロードにより例外は発生していないので‘BBBB’命令エミュレーションブロック42に処理が移行する。‘BBBB’命令エミュレーションブロック42では、‘BBBB’命令のエミュレーション処理中に、ターゲットプログラム空間30中の次のターゲット命令である‘CCCC’命令コードの先行ロードを、例外遅延用ホスト命令を用いて実施するが、ターゲット命令の‘CCCC’命令は、第2の論理ブロック32に存在し、メモリにロードされていないため、’CCC’命令の先行ロードにおいてページフォルト例外が発生する。
【0019】
ページフォルト例外が発生すると例外処理ブロック20が起動される。HIPホスト命令コード読み出しブロック21は、例外発生番地のHIPより例外を発生させたホスト命令コードを読み込む。HIPホスト命令コード読み出しブロック22では、読み込まれたホスト命令コードと例外遅延用ホスト命令コード管理テーブル51に登録されたホスト命令コード511,512等と比較する。この例では、読み込まれたホスト命令コードが例外遅延用ホスト命令コードであるため、例外書き込みブロック23では例外チェックフィールド52に先行ロードによる例外を書き込み、ページフォルトの例外処理を行わずに遅延させ、次ターゲット命令デコードブロック11に戻る。‘BBBB’命令エミュレーションブロック42では、次ターゲット命令の‘CCCC’命令コードの先行ロードにおいて例外が発生したことを意識せず、‘BBBB’命令のエミュレーション処理が継続される。
【0020】
‘BBBB’命令のエミュレーション処理が終了した際に、TIPインクリメントブロック12は、TIPを‘CCCC’命令コードを指すようにインクリメントし、例外チェックブロック13では、例外チェックフィールド52に例外が書き込まれているか否かを判別する。この例では、‘CCCC’命令コードの先行ロードにおいて例外が発生しているので、‘CCCC’命令コードの再ロードを行うターゲット命令ロードブロック14に処理が移行する。ターゲット命令ロードブロック14での‘CCCC’命令コードのロードは、例外遅延用ホスト命令コード以外のホスト命令を使用して実施される。ターゲット命令ロードブロック14では、再度ページフォルトの例外が発生するため、例外処理ブロック20が起動される。例外処理ブロック20では、HIPホスト命令コード読み出しブロック21で、例外発生番地のHIPよって、例外を発生させたホスト命令コードを読み込む。この例では、‘CCCC’命令コードのロードで、ページフォルト例外が発生しており、使用しているホスト命令コードが例外遅延用ホスト命令コードではないため、ブロック22における例外遅延用ホスト命令との比較では、例外遅延用ホスト命令コードと一致しないため、‘CCCC’命令のエミュレーション処理中に発生した例外として、例外処理ブロック24で、本来のページフォルト例外として処理される。
【0021】
以上の具体例では、仮想記憶システムにおけるプログラム実行時のページフォルト例外処理に関して説明したが、外部事象で発生する同期非同期割り込みについても同様の効果を得ることができる。また、遅延された例外の処理方法については、上述の例外遅延用ホスト命令による処理以外にも、直接ページフォルト処理を起動する方法が考えられる。
【0022】
次に、以上で説明したこの実施例に第1の変更を施した例について説明する。図1の例外処理ブロック20のHIPホスト命令コード読み出しブロック21において、読み出した例外発生番地を指すHIPのホスト命令コードが次ターゲット命令先行ロードのための例外遅延用ホスト命令コードであった場合の処理で、例外の書き込みブロック23が例外の書き込みを行わず、例外発生番地のホスト命令の結果として、ターゲット命令ロードブロック14へ移行する疑似命令コードがロードされたとして、次ターゲット命令デコードブロック112へ戻る。これによって、ターゲット命令エミュレーションブロック11は、ターゲット命令のエミュレーションを完全に実行した後に、例外チェックブロック13で例外のチェックを行うことなくターゲット命令ロードブロック14への移行ができる。
【0023】
更に、この実施例に第2の変更を施した例について説明する。ホストプロセッサがメモリアクセスブレーク機構を有する場合には、メモリアクセスブレークポイントを用いる例として、図1の例外処理ブロック20において、例外チェックフィールド52へのアクセスで、ブレークポイント例外が発生する様に設定を行うことで、例外チェックフィールド52を読み込んだ際に、メモリアクセスブレーク例外を発生させることができる。メモリアクセスブレーク例外処理の戻りアドレスをターゲット命令ロードブロック14とすることで、図1の例外チェックブロック13での条件分岐を行うことなく、ターゲット命令ロードブロック14への移行ができる。
【0024】
更に、この実施例に第3の変更を施した例について説明する。例外遅延用ホスト命令が少数であるとき、例外遅延用ホスト命令コード管理テーブル51を省略し、例外遅延用ホスト命令コード判別ブロック22に、判別用の例外遅延用ホスト命令コードを即値で組み込むことができる。
【0025】
更に、この実施例に第4の変更を施した例について説明する。例外チェックブロック13が、例外チェックフィールド52をチェックする際に、発生している例外がターゲット命令の先行取り出しによるものであるとき、ターゲット命令ロードブロック14に渡る前に先行して、ページイン処理を実施することにより、ターゲット命令ロードブロック14で例外が発生することを抑止できる。
【0026】
【発明の効果】
第1の効果は、例外発生時の例外処理において、例外遅延用ホスト命令コードを使用したホストプログラムで例外が発生した場合に、例外処理を先送りして遅延させる仕組みを設けることで、ターゲット命令のエミュレーション処理で、ターゲット命令以外の処理での例外がターゲット命令のエミュレーションに影響を与えないため、ターゲット命令を正確にエミュレーションできる。
【0027】
更に、第2の効果は、ターゲット命令以外の処理において発生した例外がターゲット命令のエミュレーションに影響を与えないので、ターゲット命令のエミュレーションと並行して、次ターゲット命令を取り出すことが可能となり、エミュレーションを高速化できる。
【図面の簡単な説明】
【図1】発明の実施の形態を示す図である。
【図2】ターゲットプログラムとエミュレーションプログラムとエミュレーションデータをメモリ上の展開を示した図である。
【図3】例外遅延用ホスト命令管理テーブルを例示する図である。
【符号の説明】
1 エミュレーション装置
10 エミュレーションプログラムブロック
11 ターゲット命令エミュレーションブロック
12 TIPインクリメントブロック
13 例外チェックブロック
14 ターゲット命令ロードブロック
20 例外処理ブロック
21 HIPホスト命令コード読み出しブロック
22 例外遅延用ホスト命令コード判別ブロック
23 例外書き込みブロック
24 例外処理ブロック
30 ターゲットプログラム空間
40 エミュレーションプログラム空間
50 エミュレーションデータ空間
51 例外遅延用ホスト命令コード管理テーブル
111 次ターゲット命令先行ロードブロック
112 次ターゲット命令デコードブロック
Claims (8)
- ターゲットプロセッサ用に記述されたターゲットプログラムを異なるアーキテクチャのホストプロセッサでエミュレーションするエミュレーション装置において、
前記ターゲットプログラムに記述されたターゲット命令をメモリより取り出し、前記ターゲット命令のエミュレーション中に、次に実行する次ターゲット命令をメモリより先行して取り出す例外遅延用ホスト命令でもって記述された次ターゲット命令取り出しを実行するエミュレーションプログラムブロックと、
前記エミュレーションプログラムブロックに例外が発生したとき起動され、前記例外が前記次ターゲット命令取り出しによる例外か、あるいはエミュレーション処理による例外かを、前記例外遅延用ホスト命令を登録するメモリ上の例外遅延ホスト命令コード管理テーブルを参照して判別し、判別結果をメモリ上の例外チェックフィルードに記憶させる例外処理ブロックと、
を有することを特徴とするエミュレーション装置。 - 前記例外遅延用ホスト命令は、
ホスト命令の内からターゲット命令の先行取り出し用に予め定義された命令であることを特徴とする請求項1記載のエミュレーション装置。 - 前記エミュレーションプログラムブロックは、
前記ターゲットプログラムに記述されたターゲット命令のエミュレーションを実行し、前記エミュレーション中に前記例外遅延用ホスト命令で記述される次ターゲット命令のメモリ上からの取り出し並びに前記次ターゲット命令のデコードを並行して実行するターゲット命令エミュレーションブロックと、
前記ターゲットプログラムから取り出されるターゲット命令を指すポインタを更新するターゲット命令インクリメントブロックと、
メモリ上の前記例外チェックフィールドに記憶されている例外が、次ターゲット命令の取り出しによる例外であるか否かを判別する例外チェックブロックと、
前記次ターゲット命令の取り出しによる例外であるとき、前記例外を起こしたターゲット命令のメモリからの取り出しを、前記例外遅延用ホスト命令以外の命令で再実行するターゲット命令ロードブロックと、
を有することを特徴とする請求項1記載のエミュレーション装置。 - 前記例外処理ブロックは、
前記次ターゲット命令のメモリからの取り出し、あるいはエミュレーション処理中に生じた例外によって起動され、ホストプログラムのインストラクションポインタが指すホスト命令を取り出すHIPホスト命令コード読み出しブロックと、
前記ホスト命令が前記例外遅延用ホスト命令コードであるか否かを判別する例外遅延用ホスト命令コード判別ブロックと、
前記例外遅延用ホスト命令コードであるとき、前記例外をメモリ上の例外チェックフィールドに記憶し、前記次ターゲット命令デコードブロックに戻る例外書き込みブロックと、
前記例外遅延用ホスト命令コードでないとき、前記例外を処理する例外処理ブロックと、
を有することを特徴とする請求項1記載のエミュレーション装置。 - 請求項4の例外書き込みブロックが、
例外をメモリ上の例外チェックフィールドに記憶する代わりに、前記次ターゲット命令デコードブロックに戻る疑似命令コードを次ターゲット命令の代わりに取り出されたとして、前記次ターゲット命令デコードブロックに戻ることを特徴とするエミュレーション装置。 - 請求項3の例外チェックブロックが、
メモリ上の前記例外チェックフィールドにアクセスするとき、ブレークポイント例外を発生させて、前記ブレークポイント例外の戻りを前記ターゲット命令ロードブロックとすることを特徴とするエミュレーション装置。 - 請求項4の例外遅延用ホスト命令コード判別ブロックが、
メモリ上の前記例外遅延用ホスト命令コード管理テーブルに登録される例外遅延用ホスト命令が少数であるとき、自身に例外遅延用ホスト命令コードを即値で組み込み、前記例外遅延用ホスト命令コード管理テーブルの参照を省略することを特徴とするエミュレーション装置。 - 請求項3の例外チェックブロックが、
メモリ上の前記例外チェックフィールドの判別で、発生している例外が前記次ターゲット命令先行ロードブロックの先行取り出しによる例外であるとき、ターゲット命令ロードブロックのメモリからの再ロードで例外発生することを抑止するページイン処理を実施する手段を備えることを特徴とするエミュレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000124327A JP3652956B2 (ja) | 2000-04-25 | 2000-04-25 | エミュレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000124327A JP3652956B2 (ja) | 2000-04-25 | 2000-04-25 | エミュレーション装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001306334A JP2001306334A (ja) | 2001-11-02 |
JP3652956B2 true JP3652956B2 (ja) | 2005-05-25 |
Family
ID=18634471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000124327A Expired - Fee Related JP3652956B2 (ja) | 2000-04-25 | 2000-04-25 | エミュレーション装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3652956B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268487A (ja) * | 2005-03-24 | 2006-10-05 | Nec Corp | エミュレーション装置及びエミュレーション方法、並びに、エミュレーションプログラム |
JP4778359B2 (ja) | 2006-05-17 | 2011-09-21 | エヌイーシーコンピュータテクノ株式会社 | エミュレーション方法及びコンピュータシステム |
US7783867B2 (en) * | 2007-02-01 | 2010-08-24 | International Business Machines Corporation | Controlling instruction execution in a processing environment |
US7882336B2 (en) * | 2007-02-01 | 2011-02-01 | International Business Machines Corporation | Employing a buffer to facilitate instruction execution |
JP5533538B2 (ja) * | 2010-10-12 | 2014-06-25 | 富士通株式会社 | 情報処理装置、エミュレーション処理プログラム及びエミュレーション処理方法 |
US9928067B2 (en) * | 2012-09-21 | 2018-03-27 | Intel Corporation | Methods and systems for performing a binary translation |
US9703562B2 (en) | 2013-03-16 | 2017-07-11 | Intel Corporation | Instruction emulation processors, methods, and systems |
-
2000
- 2000-04-25 JP JP2000124327A patent/JP3652956B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001306334A (ja) | 2001-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6965984B2 (en) | Data processing using multiple instruction sets | |
US7552314B2 (en) | Fetching all or portion of instructions in memory line up to branch instruction based on branch prediction and size indicator stored in branch target buffer indexed by fetch address | |
US4710866A (en) | Method and apparatus for validating prefetched instruction | |
US7089539B2 (en) | Program instruction interpretation | |
US7162611B2 (en) | Unhandled operation handling in multiple instruction set systems | |
US4757445A (en) | Method and apparatus for validating prefetched instruction | |
US6907515B2 (en) | Configuration control within data processing systems | |
JP3652956B2 (ja) | エミュレーション装置 | |
US5787241A (en) | Method and apparatus for locating exception correction routines | |
US5951676A (en) | Apparatus and method for direct loading of offset register during pointer load operation | |
JP2004110827A (ja) | 複数の個別記憶アドレス領域内に記憶された可変長命令の実行 | |
US5864877A (en) | Apparatus and method for fast forwarding of table index (TI) bit for descriptor table selection | |
EP0155275B1 (en) | Prefetch validation | |
US6289439B1 (en) | Method, device and microprocessor for performing an XOR clear without executing an XOR instruction | |
Lutsyk et al. | Pipelining | |
JP3739556B2 (ja) | 情報処理装置 | |
US7406406B2 (en) | Instructions to load and store containing words in a computer system emulator with host word size larger than that of emulated machine | |
JP2000231495A (ja) | 仮想マシン | |
JPH10124313A (ja) | 並列処理計算機 | |
KR20040047399A (ko) | 메모리 영역 억세스 제어 방법 | |
JP2012088839A (ja) | デバッグ装置、デバッグ方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041005 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041203 |
|
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: 20050208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080304 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090304 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100304 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110304 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120304 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130304 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140304 Year of fee payment: 9 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |