JP2001306334A - エミュレーション装置 - Google Patents

エミュレーション装置

Info

Publication number
JP2001306334A
JP2001306334A JP2000124327A JP2000124327A JP2001306334A JP 2001306334 A JP2001306334 A JP 2001306334A JP 2000124327 A JP2000124327 A JP 2000124327A JP 2000124327 A JP2000124327 A JP 2000124327A JP 2001306334 A JP2001306334 A JP 2001306334A
Authority
JP
Japan
Prior art keywords
exception
instruction
block
emulation
target
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.)
Granted
Application number
JP2000124327A
Other languages
English (en)
Other versions
JP3652956B2 (ja
Inventor
Akira Yamaji
章 山地
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.)
NEC Solution Innovators Ltd
Original Assignee
NEC Software Hokuriku Ltd
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 NEC Software Hokuriku Ltd filed Critical NEC Software Hokuriku Ltd
Priority to JP2000124327A priority Critical patent/JP3652956B2/ja
Publication of JP2001306334A publication Critical patent/JP2001306334A/ja
Application granted granted Critical
Publication of JP3652956B2 publication Critical patent/JP3652956B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【課題】 エミュレーション中に次ターゲット命令コー
ドを先行ロードすることでターゲットプログラムのエミ
ュレーションを高速化する。 【解決手段】 ターゲットプログラムに記述されたター
ゲット命令を取り出し、ターゲット命令のエミュレーシ
ョン中に、次に実行する次ターゲット命令を先行して取
り出す、例外遅延用ホスト命令で記述された次ターゲッ
ト命令取り出しを実行するエミュレーションプログラム
ブロックと、次ターゲット命令取り出しで生じる例外を
例外遅延用ホスト命令による取り出しか否かによって判
別して処理する例外処理ブロックと、を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、エミュレーショ
ン装置に関し、特に、ターゲットプログラムから取り出
したターゲット命令のエミュレーション中に、次ターゲ
ット命令を取り出して、エミュレーションを高速化する
エミュレーション装置に関する。
【0002】
【従来の技術】従来のエミュレーションシステムにおい
ては、主記憶装置上のターゲットプログラムのエミュレ
ーションを正確に実行するために、ターゲット命令コー
ドのロードと、該当するエミュレーションプログラムの
選定と、該当するエミュレーションプログラムでの該当
のターゲット命令のエミュレーションと、が順次実行さ
れていた。この仕方では、ターゲット命令のエミュレー
ションを正確に実行することができるが、エミュレーシ
ョンに係わるロードと、プログラム選定と、エミュレー
ション処理と、が順次実行されるためエミュレーション
を高速化することが難しいという問題があった。また、
この問題を解決してエミュレーションの性能を向上させ
るためには、ターゲット命令のエミュレーションと次タ
ーゲット命令コードのロード及び該当するエミュレーシ
ョンプログラムの選定とを並列に行うことが考えられる
が、この仕方では、次ターゲット命令コードのロード等
で発生した例外をターゲット命令で発生した例外として
順次処理しなければならないため、ターゲットプログラ
ムのエミュレーションを正確に行うことができないとい
う問題があった。
【0003】
【発明が解決しようとする課題】従来の問題を解決する
ため、ターゲットプログラムのターゲット命令のエミュ
レーション中に、次ターゲット命令コードの先行ロード
を行うため、エミュレーションプログラムのホスト命令
コードを特定の予約コードで定義し、それを例外遅延用
ホスト命令として例外遅延用ホスト命令コード管理テー
ブルに登録する。次のターゲット命令の先行ロードの際
に例外が発生した場合、例外処理ブロックで、例外発生
番地のホスト命令コードを読み出し、例外遅延用ホスト
命令コード管理テーブルの例外遅延用ホスト命令と比較
することによって、例外が発生した箇所を、次ターゲッ
ト命令の取り出しであるか、あるいはエミュレーション
で生じた例外であるかを切り分けて記憶し、次ターゲッ
ト命令取り出しの例外の処理を遅延させて実施し、この
例外で該ターゲット命令のエミュレーションに影響を与
えない仕組みに設けることによって、ターゲット命令の
エミュレーションを正確に実施する。また、この仕組み
によって、ターゲット命令の先行取り出しを可能にし
て、エミュレーションを高速化する。
【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’命令エミュレーションブロック4
1に、’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,4
2,43と、例外処理ブロック44と、を含む。更に、
エミュレーションデータ空間50は、例外が発生した際
のHIPが指すエミュレーションプログラムのホスト命
令コードが例外遅延用ホスト命令であるか否かを判別す
るための例外遅延用ホスト命令コード管理テーブル51
と、生じた例外を記憶する例外チェックフィールド52
と、を含む。図3は、例外遅延用ホスト命令コード管理
テーブル51を図示したものである。
【0016】次に、具体例を用いて説明する。この具体
例は、簡単のため、仮想記憶システムにおいて、プログ
ラム実行中にページフォルト例外が発生した場合を想定
して説明する。エミュレーション装置1では、図2に示
すように、メモリ上のターゲットプログラム空間30に
展開されたターゲットプログラムをTIPでトレースし
ながら、エミュレーションプログラム空間40のエミュ
レーションプログラムにおいて順次エミュレーションを
行う。ここでは具体例として、ターゲットプログラムが
2つの論理ブロック31及び論理ブロック32に跨って
おり、第1の論理ブロック31はメモリにロード済みで
あるが、第2の論理ブロック32はメモリにロードされ
ていない、つまりターゲットプログラム中の‘CCC
C’命令の読み込み時にページフォルト例外が発生する
ケースで動作説明をする。
【0017】まず、ターゲットプログラム空間30の
‘AAAA’命令コードを読み込み‘AAAA’命令エ
ミュレーションブロック41にて、エミュレーション処
理を実施する。‘AAAA’命令エミュレーションブロ
ック41では、‘AAAA’命令のエミュレーション処
理と並列して、ターゲットプログラム空間30中の次の
ターゲット命令である‘BBBB’命令コードを、例外
遅延用ホスト命令コードを用いた先行ロードを実施す
る。読み込まれたターゲットプログラムの命令コード
が、次ターゲット命令デコードブロック112によっ
て、エミュレーションプログラム空間40中の‘BBB
B’命令エミュレーションブロック42の実行アドレス
選定を実施する。
【0018】‘AAAA’命令エミュレーションブロッ
ク41では、‘AAAA’命令のエミュレーション処理
が終了した後に、TIPを‘BBBB’命令コードを指
すようにインクリメントし、例外チェックブロック13
が、例外の有無をチェックする。この例では、‘BBB
B’命令コードの先行ロードにより例外は発生していな
いので‘BBBB’命令エミュレーションブロック42
に処理が移行する。‘BBBB’命令エミュレーション
ブロック42では、‘BBBB’命令のエミュレーショ
ン処理中に、ターゲットプログラム空間30中の次のタ
ーゲット命令である‘CCCC’命令コードの先行ロー
ドを、例外遅延用ホスト命令を用いて実施するが、ター
ゲット命令の‘CCCC’命令は、第2の論理ブロック
32に存在し、メモリにロードされていないため、’C
CC’命令の先行ロードにおいてページフォルト例外が
発生する。
【0019】ページフォルト例外が発生すると例外処理
ブロック20が起動される。HIPホスト命令コード読
み出しブロック21は、例外発生番地のHIPより例外
を発生させたホスト命令コードを読み込む。HIPホス
ト命令コード読み出しブロック22では、読み込まれた
ホスト命令コードと例外遅延用ホスト命令コード管理テ
ーブル51に登録されたホスト命令コード511,51
2等と比較する。この例では、読み込まれたホスト命令
コードが例外遅延用ホスト命令コードであるため、例外
書き込みブロック23では例外チェックフィールド52
に先行ロードによる例外を書き込み、ページフォルトの
例外処理を行わずに遅延させ、次ターゲット命令デコー
ドブロック11に戻る。‘BBBB’命令エミュレーシ
ョンブロック42では、次ターゲット命令の‘CCC
C’命令コードの先行ロードにおいて例外が発生したこ
とを意識せず、‘BBBB’命令のエミュレーション処
理が継続される。
【0020】‘BBBB’命令のエミュレーション処理
が終了した際に、TIPインクリメントブロック12
は、TIPを‘CCCC’命令コードを指すようにイン
クリメントし、例外チェックブロック13では、例外チ
ェックフィールド52に例外が書き込まれているか否か
を判別する。この例では、‘CCCC’命令コードの先
行ロードにおいて例外が発生しているので、‘CCC
C’命令コードの再ロードを行うターゲット命令ロード
ブロック14に処理が移行する。ターゲット命令ロード
ブロック14での‘CCCC’命令コードのロードは、
例外遅延用ホスト命令コード以外のホスト命令を使用し
て実施される。ターゲット命令ロードブロック14で
は、再度ページフォルトの例外が発生するため、例外処
理ブロック20が起動される。例外処理ブロック20で
は、HIPホスト命令コード読み出しブロック21で、
例外発生番地のHIPよって、例外を発生させたホスト
命令コードを読み込む。この例では、‘CCCC’命令
コードのロードで、ページフォルト例外が発生してお
り、使用しているホスト命令コードが例外遅延用ホスト
命令コードではないため、ブロック22における例外遅
延用ホスト命令との比較では、例外遅延用ホスト命令コ
ードと一致しないため、‘CCCC’命令のエミュレー
ション処理中に発生した例外として、例外処理ブロック
24で、本来のページフォルト例外として処理される。
【0021】以上の具体例では、仮想記憶システムにお
けるプログラム実行時のページフォルト例外処理に関し
て説明したが、外部事象で発生する同期非同期割り込み
についても同様の効果を得ることができる。また、遅延
された例外の処理方法については、上述の例外遅延用ホ
スト命令による処理以外にも、直接ページフォルト処理
を起動する方法が考えられる。
【0022】次に、以上で説明したこの実施例に第1の
変更を施した例について説明する。図1の例外処理ブロ
ック20のHIPホスト命令コード読み出しブロック2
1において、読み出した例外発生番地を指すHIPのホ
スト命令コードが次ターゲット命令先行ロードのための
例外遅延用ホスト命令コードであった場合の処理で、例
外の書き込みブロック23が例外の書き込みを行わず、
例外発生番地のホスト命令の結果として、ターゲット命
令ロードブロック14へ移行する疑似命令コードがロー
ドされたとして、次ターゲット命令デコードブロック1
12へ戻る。これによって、ターゲット命令エミュレー
ションブロック11は、ターゲット命令のエミュレーシ
ョンを完全に実行した後に、例外チェックブロック13
で例外のチェックを行うことなくターゲット命令ロード
ブロック14への移行ができる。
【0023】更に、この実施例に第2の変更を施した例
について説明する。ホストプロセッサがメモリアクセス
ブレーク機構を有する場合には、メモリアクセスブレー
クポイントを用いる例として、図1の例外処理ブロック
20において、例外チェックフィールド52へのアクセ
スで、ブレークポイント例外が発生する様に設定を行う
ことで、例外チェックフィールド52を読み込んだ際
に、メモリアクセスブレーク例外を発生させることがで
きる。メモリアクセスブレーク例外処理の戻りアドレス
をターゲット命令ロードブロック14とすることで、図
1の例外チェックブロック12での条件分岐を行うこと
なく、ターゲット命令ロードブロック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】 ターゲットプロセッサ用に記述されたタ
    ーゲットプログラムを異なるアーキテクチャのホストプ
    ロセッサでエミュレーションするエミュレーション装置
    において、 前記ターゲットプログラムに記述されたターゲット命令
    を取り出し、前記ターゲット命令のエミュレーション中
    に、次に実行する次ターゲット命令を先行して取り出
    す、例外遅延用ホスト命令で記述された次ターゲット命
    令取り出しを実行するエミュレーションプログラムブロ
    ックと、 前記エミュレーションプログラムブロックに例外が発生
    したとき起動され、前記例外が前記次ターゲット命令取
    り出しによる例外か、あるいはエミュレーション処理に
    よる例外かを、前記例外遅延用ホスト命令を登録する例
    外遅延ホスト命令コード管理テーブルを参照して判別
    し、判別結果を例外チェックフィルードに記憶させる例
    外処理ブロックと、 を有することを特徴とするエミュレーション装置。
  2. 【請求項2】 前記例外遅延用ホスト命令は、 ホスト命令の内からターゲット命令の先行取り出し用に
    予め定義された命令であることを特徴とする請求項1記
    載のエミュレーション装置。
  3. 【請求項3】 前記エミュレーションプログラムブロッ
    クは、 前記ターゲットプログラムに記述されたターゲット命令
    のエミュレーションを実行し、前記エミュレーション中
    に前記例外遅延用ホスト命令で記述される次ターゲット
    命令の取り出し並びに前記次ターゲット命令のデコード
    を並行して実行するターゲット命令エミュレーションブ
    ロックと、 前記ターゲットプログラムから取り出されるターゲット
    命令を指すポインタを更新するターゲット命令インクリ
    メントブロックと、 前記例外チェックフィールドに記憶されている例外が、
    次ターゲット命令の取り出しによる例外であるか否かを
    判別する例外チェックブロックと、 前記次ターゲット命令の取り出しによる例外であると
    き、前記例外を起こしたターゲット命令の取り出しを、
    前記例外遅延用ホスト命令以外の命令で再実行するター
    ゲット命令ロードブロックと、 を有することを特徴とする請求項1記載のエミュレーシ
    ョン装置。
  4. 【請求項4】 前記例外処理ブロックは、 前記次ターゲット命令の取り出し、あるいはエミュレー
    ション処理中に生じた例外によって起動され、ホストプ
    ログラムのインストラクションポインタが指すホスト命
    令を取り出すHIPホスト命令コード読み出しブロック
    と、 前記ホスト命令が前記例外遅延用ホスト命令コードであ
    るか否かを判別する例外遅延用ホスト命令コード判別ブ
    ロックと、 前記例外遅延用ホスト命令コードであるとき、前記例外
    を例外チェックフィールドに記憶し、前記次ターゲット
    命令デコードブロックに戻る例外書き込みブロックと、 前記例外遅延用ホスト命令コードでないとき、前記例外
    を処理する例外処理ブロックと、 を有することを特徴とする請求項1記載のエミュレーシ
    ョン装置。
  5. 【請求項5】 請求項4の例外書き込みブロックが、 例外を例外チェックフィールドに記憶する代わりに、前
    記次ターゲット命令デコードブロックに戻る疑似命令コ
    ードを次ターゲット命令の代わりに取り出されたとし
    て、前記次ターゲット命令デコードブロックに戻ること
    を特徴とする例外処理ブロック。
  6. 【請求項6】 請求項3の例外チェックブロックが、 前記例外チェックフィールドにアクセスするとき、ブレ
    ークポイント例外を発生させて、前記ブレークポイント
    例外の戻りを前記ターゲット命令ロードブロックとする
    ことを特徴とする例外チェックブロック。
  7. 【請求項7】 請求項4の例外遅延用ホスト命令コード
    判別ブロックが、 前記例外遅延用ホスト命令コード管理テーブルに登録さ
    れる例外遅延用ホスト命令が少数であるとき、自身に例
    外遅延用ホスト命令コードを即値で組み込み、前記例外
    遅延用ホスト命令コード管理テーブルの参照を省略する
    ことを特徴とする例外遅延用ホスト命令コード判別ブロ
    ック。
  8. 【請求項8】 請求項3の例外チェックブロックが、 前記例外チェックフィールドの判別で、発生している例
    外が前記次ターゲット命令先行ロードブロックの先行取
    り出しによる例外であるとき、ターゲット命令ロードブ
    ロックの再ロードで例外発生すること抑止するページイ
    ン処理を実施する手段を備えることを特徴とする例外チ
    ェックブロック。
JP2000124327A 2000-04-25 2000-04-25 エミュレーション装置 Expired - Fee Related JP3652956B2 (ja)

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 true JP2001306334A (ja) 2001-11-02
JP3652956B2 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)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268487A (ja) * 2005-03-24 2006-10-05 Nec Corp エミュレーション装置及びエミュレーション方法、並びに、エミュレーションプログラム
JP2007310546A (ja) * 2006-05-17 2007-11-29 Nec Computertechno Ltd エミュレーション方法及びコンピュータシステム
JP2010518471A (ja) * 2007-02-01 2010-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理環境での命令実行の制御
JP2010518470A (ja) * 2007-02-01 2010-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 命令実行を容易にするためのバッファの使用
JP2012083963A (ja) * 2010-10-12 2012-04-26 Fujitsu Ltd 情報処理装置、エミュレーション処理プログラム及びエミュレーション処理方法
JP2014194770A (ja) * 2013-03-16 2014-10-09 Intel Corp 命令エミュレーションプロセッサ、方法、およびシステム
JP2014532248A (ja) * 2012-09-21 2014-12-04 インテル コーポレイション バイナリトランスレーションを実行する方法及びシステム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268487A (ja) * 2005-03-24 2006-10-05 Nec Corp エミュレーション装置及びエミュレーション方法、並びに、エミュレーションプログラム
JP2007310546A (ja) * 2006-05-17 2007-11-29 Nec Computertechno Ltd エミュレーション方法及びコンピュータシステム
US8392893B2 (en) 2006-05-17 2013-03-05 Nec Computertechno, Ltd. Emulation method and computer system
JP2010518471A (ja) * 2007-02-01 2010-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 処理環境での命令実行の制御
JP2010518470A (ja) * 2007-02-01 2010-05-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 命令実行を容易にするためのバッファの使用
JP2012083963A (ja) * 2010-10-12 2012-04-26 Fujitsu Ltd 情報処理装置、エミュレーション処理プログラム及びエミュレーション処理方法
JP2014532248A (ja) * 2012-09-21 2014-12-04 インテル コーポレイション バイナリトランスレーションを実行する方法及びシステム
JP2014194770A (ja) * 2013-03-16 2014-10-09 Intel Corp 命令エミュレーションプロセッサ、方法、およびシステム
US9703562B2 (en) 2013-03-16 2017-07-11 Intel Corporation Instruction emulation processors, methods, and systems

Also Published As

Publication number Publication date
JP3652956B2 (ja) 2005-05-25

Similar Documents

Publication Publication Date Title
US4710866A (en) Method and apparatus for validating prefetched instruction
US6965984B2 (en) Data processing using multiple instruction sets
KR101249693B1 (ko) 서브루틴 복귀 메카니즘 선택
WO2002048887A2 (en) Single-step processing
JPS6125169B2 (ja)
US4757445A (en) Method and apparatus for validating prefetched instruction
JP2004538556A (ja) 複数命令セットシステムにおける非処理操作処理
JP2001306334A (ja) エミュレーション装置
CN107111525B (zh) 数据处理设备中的系统错误处置
US5951676A (en) Apparatus and method for direct loading of offset register during pointer load operation
US5819081A (en) Method of executing a branch instruction of jumping to a subroutine in a pipeline control system
JP2009230479A (ja) マイクロプロセッサ
JP5068552B2 (ja) プリフェッチ方法、及びキャッシュ機構用ユニット
JPH0954694A (ja) パイプラインプロセッサおよびその処理方法
JP2000029690A (ja) デ―タ処理の方法および装置
US11366668B1 (en) Method and apparatus for comparing predicated load value with masked load value
US8055888B2 (en) Initialisation of a pipelined processor
JP2006331415A (ja) データプロセッサ、データ処理方法
JPH06149569A (ja) レジスタ番号変更装置
US6289439B1 (en) Method, device and microprocessor for performing an XOR clear without executing an XOR instruction
JP3739556B2 (ja) 情報処理装置
JPH0248733A (ja) 情報処理装置
JP2856703B2 (ja) プロセッサ
JPH05257807A (ja) キャッシュメモリ制御装置
JP3748191B2 (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