(57)【特許請求の範囲】
【請求項１】
ターゲットプロセッサ用に記述されたターゲットプログラムを異なるアーキテクチャのホストプロセッサでエミュレーションするエミュレーション装置において、
前記ターゲットプログラムに記述されたターゲット命令をメモリより取り出し、前記ターゲット命令のエミュレーション中に、次に実行する次ターゲット命令をメモリより先行して取り出す例外遅延用ホスト命令でもって記述された次ターゲット命令取り出しを実行するエミュレーションプログラムブロックと、
前記エミュレーションプログラムブロックに例外が発生したとき起動され、前記例外が前記次ターゲット命令取り出しによる例外か、あるいはエミュレーション処理による例外かを、前記例外遅延用ホスト命令を登録するメモリ上の例外遅延ホスト命令コード管理テーブルを参照して判別し、判別結果をメモリ上の例外チェックフィルードに記憶させる例外処理ブロックと、
を有することを特徴とするエミュレーション装置。
【請求項２】
前記例外遅延用ホスト命令は、
ホスト命令の内からターゲット命令の先行取り出し用に予め定義された命令であることを特徴とする請求項１記載のエミュレーション装置。
【請求項３】
前記エミュレーションプログラムブロックは、
前記ターゲットプログラムに記述されたターゲット命令のエミュレーションを実行し、前記エミュレーション中に前記例外遅延用ホスト命令で記述される次ターゲット命令のメモリ上からの取り出し並びに前記次ターゲット命令のデコードを並行して実行するターゲット命令エミュレーションブロックと、
前記ターゲットプログラムから取り出されるターゲット命令を指すポインタを更新するターゲット命令インクリメントブロックと、
メモリ上の前記例外チェックフィールドに記憶されている例外が、次ターゲット命令の取り出しによる例外であるか否かを判別する例外チェックブロックと、
前記次ターゲット命令の取り出しによる例外であるとき、前記例外を起こしたターゲット命令のメモリからの取り出しを、前記例外遅延用ホスト命令以外の命令で再実行するターゲット命令ロードブロックと、
を有することを特徴とする請求項１記載のエミュレーション装置。
【請求項４】
前記例外処理ブロックは、
前記次ターゲット命令のメモリからの取り出し、あるいはエミュレーション処理中に生じた例外によって起動され、ホストプログラムのインストラクションポインタが指すホスト命令を取り出すＨＩＰホスト命令コード読み出しブロックと、
前記ホスト命令が前記例外遅延用ホスト命令コードであるか否かを判別する例外遅延用ホスト命令コード判別ブロックと、
前記例外遅延用ホスト命令コードであるとき、前記例外をメモリ上の例外チェックフィールドに記憶し、前記次ターゲット命令デコードブロックに戻る例外書き込みブロックと、
前記例外遅延用ホスト命令コードでないとき、前記例外を処理する例外処理ブロックと、
を有することを特徴とする請求項１記載のエミュレーション装置。
【請求項５】
請求項４の例外書き込みブロックが、
例外をメモリ上の例外チェックフィールドに記憶する代わりに、前記次ターゲット命令デコードブロックに戻る疑似命令コードを次ターゲット命令の代わりに取り出されたとして、前記次ターゲット命令デコードブロックに戻ることを特徴とするエミュレーション装置。
【請求項６】
請求項３の例外チェックブロックが、
メモリ上の前記例外チェックフィールドにアクセスするとき、ブレークポイント例外を発生させて、前記ブレークポイント例外の戻りを前記ターゲット命令ロードブロックとすることを特徴とするエミュレーション装置。
【請求項７】
請求項４の例外遅延用ホスト命令コード判別ブロックが、
メモリ上の前記例外遅延用ホスト命令コード管理テーブルに登録される例外遅延用ホスト命令が少数であるとき、自身に例外遅延用ホスト命令コードを即値で組み込み、前記例外遅延用ホスト命令コード管理テーブルの参照を省略することを特徴とするエミュレーション装置。
【請求項８】
請求項３の例外チェックブロックが、
メモリ上の前記例外チェックフィールドの判別で、発生している例外が前記次ターゲット命令先行ロードブロックの先行取り出しによる例外であるとき、ターゲット命令ロードブロックのメモリからの再ロードで例外発生することを抑止するページイン処理を実施する手段を備えることを特徴とするエミュレーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、エミュレーション装置に関し、特に、ターゲットプログラムから取り出したターゲット命令のエミュレーション中に、次ターゲット命令を取り出して、エミュレーションを高速化するエミュレーション装置に関する。
【０００２】
【従来の技術】
従来のエミュレーションシステムにおいては、主記憶装置上のターゲットプログラムのエミュレーションを正確に実行するために、ターゲット命令コードのロードと、該当するエミュレーションプログラムの選定と、該当するエミュレーションプログラムでの該当のターゲット命令のエミュレーションと、が順次実行されていた。この仕方では、ターゲット命令のエミュレーションを正確に実行することができるが、エミュレーションに係わるロードと、プログラム選定と、エミュレーション処理と、が順次実行されるためエミュレーションを高速化することが難しいという問題があった。また、この問題を解決してエミュレーションの性能を向上させるためには、ターゲット命令のエミュレーションと次ターゲット命令コードのロード及び該当するエミュレーションプログラムの選定とを並列に行うことが考えられるが、この仕方では、次ターゲット命令コードのロード等で発生した例外をターゲット命令で発生した例外として順次処理しなければならないため、ターゲットプログラムのエミュレーションを正確に行うことができないという問題があった。
【０００３】
【発明が解決しようとする課題】
従来の問題を解決するため、ターゲットプログラムのターゲット命令のエミュレーション中に、次ターゲット命令コードの先行ロードを行うため、エミュレーションプログラムのホスト命令コードを特定の予約コードで定義し、それを例外遅延用ホスト命令として例外遅延用ホスト命令コード管理テーブルに登録する。
この例外遅延用ホスト命令は、特定のレジスタを使用した命令フォーマットで構成（命令プリフィックス、オペコード、ＭｏｄＲ／Ｍなど）することによって、他の命令コードと判別することが出来る。次のターゲット命令の先行ロードの際に例外が発生した場合、例外処理ブロックで、例外発生番地のホスト命令コードを読み出し、例外遅延用ホスト命令コード管理テーブルの例外遅延用ホスト命令と比較することによって、例外が発生した箇所を、次ターゲット命令の取り出しであるか、あるいはエミュレーションで生じた例外であるかを切り分けて記憶し、次ターゲット命令取り出しの例外の処理を遅延させて実施し、この例外で該ターゲット命令のエミュレーションに影響を与えない仕組みに設けることによって、ターゲット命令のエミュレーションを正確に実施する。この仕組みは、上述したように例外遅延用ホスト命令を特定のレジスタを使用した命令フォーマットを用いて予約命令とすることで、例えば、同じＭＯＶＥ命令であっても、オペコードで判別できる。また、この仕組みによって、ターゲット命令の先行取り出しを可能にして、エミュレーションを高速化する。
【０００４】
この発明の目的は、エミュレーション中の例外処理において、先行ロードにおける例外とエミュレーションに係わる例外とを区別し、先行ロードによる例外の処理を遅延させることによりターゲット命令のエミュレーションを正確に実行し、かつ高速化することにある。
【０００５】
【課題を解決するための手段】
そのため、この発明の、ターゲットプロセッサ用に記述されたターゲットプログラムを異なるアーキテクチャのホストプロセッサでエミュレーションするエミュレーション装置において、前記ターゲットプログラムに記述されたターゲット命令をメモリより取り出し、前記ターゲット命令のエミュレーション中に、次に実行する次ターゲット命令をメモリより先行して取り出す例外遅延用ホスト命令でもって記述された次ターゲット命令取り出しを実行するエミュレーションプログラムブロックと、前記エミュレーションプログラムブロックに例外が発生したとき起動され、前記例外が前記次ターゲット命令取り出しによる例外か、あるいはエミュレーション処理による例外かを、前記例外遅延用ホスト命令を登録するメモリ上の例外遅延ホスト命令コード管理テーブルを参照して判別し、判別結果をメモリ上の例外チェックフィルードに記憶させる例外処理ブロックと、を有することを特徴とする。
【０００６】
更に、前記例外遅延用ホスト命令は、ホスト命令の内からターゲット命令の先行取り出し用に予め定義された命令であることを特徴とする。
【０００７】
更に、前記エミュレーションプログラムブロックは、前記ターゲットプログラムに記述されたターゲット命令のエミュレーションを実行し、前記エミュレーション中に前記例外遅延用ホスト命令で記述される次ターゲット命令のメモリ上からの取り出し並びに前記次ターゲット命令のデコードを並行して実行するターゲット命令エミュレーションブロックと、前記ターゲットプログラムから取り出されるターゲット命令を指すポインタを更新するターゲット命令インクリメントブロックと、メモリ上の前記例外チェックフィールドに記憶されている例外が、次ターゲット命令の取り出しによる例外であるか否かを判別する例外チェックブロックと、前記次ターゲット命令の取り出しによる例外であるとき、前記例外を起こしたターゲット命令のメモリからの取り出しを、前記例外遅延用ホスト命令以外の命令で再実行するターゲット命令ロードブロックと、を有することを特徴とする。
【０００８】
更に、前記例外処理ブロックは、前記次ターゲット命令のメモリからの取り出し、あるいはエミュレーション処理中に生じた例外によって起動され、ホストプログラムのインストラクションポインタが指すホスト命令を取り出すＨＩＰホスト命令コード読み出しブロックと、前記ホスト命令が前記例外遅延用ホスト命令コードであるか否かを判別する例外遅延用ホスト命令コード判別ブロックと、前記例外遅延用ホスト命令コードであるとき、前記例外をメモリ上の例外チェックフィールドに記憶し、前記次ターゲット命令デコードブロックに戻る例外書き込みブロックと、前記例外遅延用ホスト命令コードでないとき、前記例外を処理する例外処理ブロックと、を有することを特徴とする。
【０００９】
【発明の実施の形態】
この発明の実施の形態について図面を参照して説明する。図１を参照すると、この発明の実施の形態であるエミュレーション装置１は、エミュレーション対象となるターゲットプログラムのインストラクションポインタ（以降ＴＩＰと称す）が指すターゲット命令のエミュレーション処理を行うエミュレーションプログラムブロック１０と、例外発生を契機に起動される例外処理ブロック２０と、を備える。
【００１０】
図２を参照すると、エミュレーション装置１が、メモリに展開されることを示している。エミュレーション対象のターゲットプログラム空間３０と、ターゲットプログラムをエミュレーションするためのエミュレーションプログラム空間４０と、エミュレーションデータ空間５０と、がメモリ上に展開されている。更に、エミュレーションデータ空間５０は、例外発生箇所を判別する例外遅延用ホスト命令コード管理テーブル５１と、例外処理を遅延させるため、例外を記憶する例外チェックフィールド５２を含む。
【００１１】
これらの各ブロックは、次のように機能動作する。図１に示すエミュレーションプログラムブロック１０は、図２に示すメモリ上のエミュレーションプログラム空間４０に存在する。ターゲットの’ＡＡＡＡ’命令が、’ＡＡＡＡ’命令エミュレーションブロック４１に、’ＢＢＢＢ’命令が、’ＢＢＢＢ’命令エミュレーションブロックに、対応する。ターゲットプログラム空間３０中のＴＩＰが指す該ターゲット命令のエミュレーションを実施するエミュレーションブロック１１は、次ターゲット命令の命令コードの先行ロードを行う次ターゲット命令先行ロードブロック１１１と、次ターゲット命令のエミュレーションブロックの選定を行う次ターゲット命令デコードブロック１１２を有する。更に、ターゲット命令のエミュレーション実行後に、ＴＩＰを次ターゲット命令を指す様に更新するＴＩＰインクリメントブロック１２と、エミュレーション中の先行ロードによって例外が発生したか否かを、図２に示す例外チェックフィールド５２に記憶されている例外で判別する例外チェックブロック１３と、例外が発生していた場合に、先行ロードで例外が発生した際のターゲット命令を再度ロードするターゲット命令ロードブロック１４と、を有する。
【００１２】
また、例外発生を契機に起動される例外処理ブロック２０は、例外が発生したホストプログラムのインストラクションポインタ（以降ＨＩＰと称す）が指すホスト命令コードの読み出しを行うＨＩＰホスト命令コード読み出しブロック２１と、それによって読み込まれたホスト命令コードが、図２に示すエミュレーションデータ空間５０中の例外遅延用ホスト命令コード管理テーブル５１に含まれる例外遅延用ホスト命令コードと比較して判別する例外遅延用ホスト命令コード判別ブロック２２と、該判別結果が一致した場合に、例外処理を行わずに例外を図２に示す例外チェックフィールド５２に書き込む例外書き込みブロック２３と、判別結果が不一致であった場合に、発生した例外を処理する例外処理ブロック２４と、を有する。
【００１３】
次に、この実施の形態の動作について図面を参照して説明する。図１のエミュレーション装置１と、図２のメモリ展開図と、図３の例外遅延用ホスト命令コード管理テーブル５１と、を参照して全体の動作について説明する。まず、図１の命令エミュレーションプログラムブロック１０は、ターゲット命令のエミュレーション処理を行うターゲット命令エミュレーションブロック１１において、ＴＩＰが指すターゲット命令のエミュレーションシーケンスで、次ターゲット命令の先行ロードを行う次ターゲット命令先行ロードブロック１１１及びターゲット命令エミュレーションプログラムの実行アドレスを選定する次ターゲット命令デコードブロック１１２によって、ターゲット命令のエミュレーション処理中に次ターゲット命令エミュレーションのための処理を先行して実施する。次ターゲット命令先行ロードブロック１１１では、ターゲット命令のロードを例外遅延用ホスト命令で実行する。ＴＩＰインクリメントブロック１２では、ターゲット命令のエミュレーションが完全に実行された時点で、ＴＩＰをインクリメントし、次ターゲット命令に対するポインタにする。その後に、例外チェックブロック１３が、図２に示す例外チェックフィールド５２に例外が書き込まれているか否かを判別する。例外が例外チェックフィールド５２に書き込まれていないとき、ターゲット命令エミュレーションブロック１１に移行する。例外が例外チェックフィールド５２に書き込まれているとき、ターゲット命令ロードブロック１４で、次ターゲット命令先行ロードブロック１１１が対象としたターゲット命令を再ロードする。この再ロードは、例外遅延用ホスト命令以外のホスト命令を用いて、実行する。
【００１４】
例外処理ブロック２０では、ＨＩＰホスト命令コード読み出しブロック２１が、ＨＩＰが指す例外発生番地のホスト命令コードを読み出し、例外遅延用ホスト命令コード判別ブロック２２が、読み出されたホスト命令コードが次ターゲット命令先行ロードブロック１１１の例外遅延用ホスト命令コードであるか否かを判別する。判別結果が例外遅延用ホスト命令である場合は、該ターゲット命令の先行ロードで生じた例外として、例外処理を行わずに、例外書き込みブロック２３で、図２に示す例外チェックフィールド５２に該例外を書き込み、ターゲット命令デコードブロック１１２に戻る。判別結果が例外遅延用ホスト命令ではなかった場合は、該ターゲット命令のエミュレーション処理で生じた例外であるとして、例外処理ブロック２４が例外処理を実行する。
【００１５】
図２のターゲットプログラム空間３０は、エミュレーション対象プログラムのプログラム論理ブロック３１，３２で構成される。‘ＡＡＡＡ’命令コード，‘ＢＢＢＢ’命令コードあるいは‘ＣＣＣＣ’命令コードは、エミュレーション対象のターゲット命令コードを模したものである。また、エミュレーションプログラム空間４０は、エミュレーション対象のターゲット命令コードに対応したエミュレーションブロック４１，４２，４３と、例外処理ブロック４４と、を含む。更に、エミュレーションデータ空間５０は、例外が発生した際のＨＩＰが指すエミュレーションプログラムのホスト命令コードが例外遅延用ホスト命令であるか否かを判別するための例外遅延用ホスト命令コード管理テーブル５１と、生じた例外を記憶する例外チェックフィールド５２と、を含む。図３は、例外遅延用ホスト命令コード管理テーブル５１を図示したものである。
【００１６】
次に、具体例を用いて説明する。この具体例は、簡単のため、仮想記憶システムにおいて、プログラム実行中にページフォルト例外が発生した場合を想定して説明する。エミュレーション装置１では、図２に示すように、メモリ上のターゲットプログラム空間３０に展開されたターゲットプログラムをＴＩＰでトレースしながら、エミュレーションプログラム空間４０のエミュレーションプログラムにおいて順次エミュレーションを行う。ここでは具体例として、ターゲットプログラムが２つの論理ブロック３１及び論理ブロック３２に跨っており、第１の論理ブロック３１はメモリにロード済みであるが、第２の論理ブロック３２はメモリにロードされていない、つまりターゲットプログラム中の‘ＣＣＣＣ’命令の読み込み時にページフォルト例外が発生するケースで動作説明をする。
【００１７】
まず、ターゲットプログラム空間３０の‘ＡＡＡＡ’命令コードを読み込み‘ＡＡＡＡ’命令エミュレーションブロック４１にて、エミュレーション処理を実施する。‘ＡＡＡＡ’命令エミュレーションブロック４１では、‘ＡＡＡＡ’命令のエミュレーション処理と並列して、ターゲットプログラム空間３０中の次のターゲット命令である‘ＢＢＢＢ’命令コードを、例外遅延用ホスト命令コードを用いた先行ロードを実施する。読み込まれたターゲットプログラムの命令コードが、次ターゲット命令デコードブロック１１２によって、エミュレーションプログラム空間４０中の‘ＢＢＢＢ’命令エミュレーションブロック４２の実行アドレス選定を実施する。
【００１８】
‘ＡＡＡＡ’命令エミュレーションブロック４１では、‘ＡＡＡＡ’命令のエミュレーション処理が終了した後に、ＴＩＰを‘ＢＢＢＢ’命令コードを指すようにインクリメントし、例外チェックブロック１３が、例外の有無をチェックする。この例では、‘ＢＢＢＢ’命令コードの先行ロードにより例外は発生していないので‘ＢＢＢＢ’命令エミュレーションブロック４２に処理が移行する。‘ＢＢＢＢ’命令エミュレーションブロック４２では、‘ＢＢＢＢ’命令のエミュレーション処理中に、ターゲットプログラム空間３０中の次のターゲット命令である‘ＣＣＣＣ’命令コードの先行ロードを、例外遅延用ホスト命令を用いて実施するが、ターゲット命令の‘ＣＣＣＣ’命令は、第２の論理ブロック３２に存在し、メモリにロードされていないため、’ＣＣＣ’命令の先行ロードにおいてページフォルト例外が発生する。
【００１９】
ページフォルト例外が発生すると例外処理ブロック２０が起動される。ＨＩＰホスト命令コード読み出しブロック２１は、例外発生番地のＨＩＰより例外を発生させたホスト命令コードを読み込む。ＨＩＰホスト命令コード読み出しブロック２２では、読み込まれたホスト命令コードと例外遅延用ホスト命令コード管理テーブル５１に登録されたホスト命令コード５１１，５１２等と比較する。この例では、読み込まれたホスト命令コードが例外遅延用ホスト命令コードであるため、例外書き込みブロック２３では例外チェックフィールド５２に先行ロードによる例外を書き込み、ページフォルトの例外処理を行わずに遅延させ、次ターゲット命令デコードブロック１１に戻る。‘ＢＢＢＢ’命令エミュレーションブロック４２では、次ターゲット命令の‘ＣＣＣＣ’命令コードの先行ロードにおいて例外が発生したことを意識せず、‘ＢＢＢＢ’命令のエミュレーション処理が継続される。
【００２０】
‘ＢＢＢＢ’命令のエミュレーション処理が終了した際に、ＴＩＰインクリメントブロック１２は、ＴＩＰを‘ＣＣＣＣ’命令コードを指すようにインクリメントし、例外チェックブロック１３では、例外チェックフィールド５２に例外が書き込まれているか否かを判別する。この例では、‘ＣＣＣＣ’命令コードの先行ロードにおいて例外が発生しているので、‘ＣＣＣＣ’命令コードの再ロードを行うターゲット命令ロードブロック１４に処理が移行する。ターゲット命令ロードブロック１４での‘ＣＣＣＣ’命令コードのロードは、例外遅延用ホスト命令コード以外のホスト命令を使用して実施される。ターゲット命令ロードブロック１４では、再度ページフォルトの例外が発生するため、例外処理ブロック２０が起動される。例外処理ブロック２０では、ＨＩＰホスト命令コード読み出しブロック２１で、例外発生番地のＨＩＰよって、例外を発生させたホスト命令コードを読み込む。この例では、‘ＣＣＣＣ’命令コードのロードで、ページフォルト例外が発生しており、使用しているホスト命令コードが例外遅延用ホスト命令コードではないため、ブロック２２における例外遅延用ホスト命令との比較では、例外遅延用ホスト命令コードと一致しないため、‘ＣＣＣＣ’命令のエミュレーション処理中に発生した例外として、例外処理ブロック２４で、本来のページフォルト例外として処理される。
【００２１】
以上の具体例では、仮想記憶システムにおけるプログラム実行時のページフォルト例外処理に関して説明したが、外部事象で発生する同期非同期割り込みについても同様の効果を得ることができる。また、遅延された例外の処理方法については、上述の例外遅延用ホスト命令による処理以外にも、直接ページフォルト処理を起動する方法が考えられる。
【００２２】
次に、以上で説明したこの実施例に第１の変更を施した例について説明する。図１の例外処理ブロック２０のＨＩＰホスト命令コード読み出しブロック２１において、読み出した例外発生番地を指すＨＩＰのホスト命令コードが次ターゲット命令先行ロードのための例外遅延用ホスト命令コードであった場合の処理で、例外の書き込みブロック２３が例外の書き込みを行わず、例外発生番地のホスト命令の結果として、ターゲット命令ロードブロック１４へ移行する疑似命令コードがロードされたとして、次ターゲット命令デコードブロック１１２へ戻る。これによって、ターゲット命令エミュレーションブロック１１は、ターゲット命令のエミュレーションを完全に実行した後に、例外チェックブロック１３で例外のチェックを行うことなくターゲット命令ロードブロック１４への移行ができる。
【００２３】
更に、この実施例に第２の変更を施した例について説明する。ホストプロセッサがメモリアクセスブレーク機構を有する場合には、メモリアクセスブレークポイントを用いる例として、図１の例外処理ブロック２０において、例外チェックフィールド５２へのアクセスで、ブレークポイント例外が発生する様に設定を行うことで、例外チェックフィールド５２を読み込んだ際に、メモリアクセスブレーク例外を発生させることができる。メモリアクセスブレーク例外処理の戻りアドレスをターゲット命令ロードブロック１４とすることで、図１の例外チェックブロック１３での条件分岐を行うことなく、ターゲット命令ロードブロック１４への移行ができる。
【００２４】
更に、この実施例に第３の変更を施した例について説明する。例外遅延用ホスト命令が少数であるとき、例外遅延用ホスト命令コード管理テーブル５１を省略し、例外遅延用ホスト命令コード判別ブロック２２に、判別用の例外遅延用ホスト命令コードを即値で組み込むことができる。
【００２５】
更に、この実施例に第４の変更を施した例について説明する。例外チェックブロック１３が、例外チェックフィールド５２をチェックする際に、発生している例外がターゲット命令の先行取り出しによるものであるとき、ターゲット命令ロードブロック１４に渡る前に先行して、ページイン処理を実施することにより、ターゲット命令ロードブロック１４で例外が発生することを抑止できる。
【００２６】
【発明の効果】
第１の効果は、例外発生時の例外処理において、例外遅延用ホスト命令コードを使用したホストプログラムで例外が発生した場合に、例外処理を先送りして遅延させる仕組みを設けることで、ターゲット命令のエミュレーション処理で、ターゲット命令以外の処理での例外がターゲット命令のエミュレーションに影響を与えないため、ターゲット命令を正確にエミュレーションできる。
【００２７】
更に、第２の効果は、ターゲット命令以外の処理において発生した例外がターゲット命令のエミュレーションに影響を与えないので、ターゲット命令のエミュレーションと並行して、次ターゲット命令を取り出すことが可能となり、エミュレーションを高速化できる。
【図面の簡単な説明】
【図１】発明の実施の形態を示す図である。
【図２】ターゲットプログラムとエミュレーションプログラムとエミュレーションデータをメモリ上の展開を示した図である。
【図３】例外遅延用ホスト命令管理テーブルを例示する図である。
【符号の説明】
１    エミュレーション装置
１０    エミュレーションプログラムブロック
１１    ターゲット命令エミュレーションブロック
１２    ＴＩＰインクリメントブロック
１３    例外チェックブロック
１４    ターゲット命令ロードブロック
２０    例外処理ブロック
２１    ＨＩＰホスト命令コード読み出しブロック
２２    例外遅延用ホスト命令コード判別ブロック
２３    例外書き込みブロック
２４    例外処理ブロック
３０    ターゲットプログラム空間
４０    エミュレーションプログラム空間
５０    エミュレーションデータ空間
５１    例外遅延用ホスト命令コード管理テーブル
１１１    次ターゲット命令先行ロードブロック
１１２    次ターゲット命令デコードブロック
【図１】
0003652956.tif 000002
【図２】
0003652956.tif 000003
【図３】
0003652956.tif 000004