JPH07334374A - 割り込み検出処理装置 - Google Patents

割り込み検出処理装置

Info

Publication number
JPH07334374A
JPH07334374A JP15297194A JP15297194A JPH07334374A JP H07334374 A JPH07334374 A JP H07334374A JP 15297194 A JP15297194 A JP 15297194A JP 15297194 A JP15297194 A JP 15297194A JP H07334374 A JPH07334374 A JP H07334374A
Authority
JP
Japan
Prior art keywords
interrupt
instruction code
code
interruption
virtual
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
JP15297194A
Other languages
English (en)
Inventor
Shunichi Yasuda
俊一 安田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP15297194A priority Critical patent/JPH07334374A/ja
Publication of JPH07334374A publication Critical patent/JPH07334374A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 エミュレータによって実行されるソフトウェ
アプログラムへの割り込み検出処理に伴う、実行速度の
低下と実計算機のメモリ消費とを低減する割り込み検出
処理装置を提供する。 【構成】 割り込みの発生によって実計算機から起動さ
れる割込ハンドラ部4において、命令コード記憶制御手
段43が割り込みが発生した命令コードAの後続の命令
コードBの先頭アドレスから所定長の命令コードを退避
し、命令コード書替手段44が上記所定長の命令コード
を割込前処理部5へのジャンプ命令コード6に書き替え
た後、実行途中の命令コードAに復帰する。次に、後続
のジャンプ命令コード6を実行して割込前処理部5の処
理に移行し、命令コード書戻手段51がジャンプ命令コ
ード6を退避した上記所定長の命令コードに書き戻し、
割込検出手段52が実計算機での割り込みの発生および
その種類を検出し割込処理部7に通知する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、割り込み処理手段を備
えるソフトウェアプログラムを異なるプロセッサアーキ
テクチャの計算機で実行するエミュレータに係わり、前
記計算機で発生した割り込みを検出し前記割り込み処理
手段に割り込みを通知する割り込み検出処理装置に関す
るものである。
【0002】
【従来の技術】ソフトウェアプログラムを異なるプロセ
ッサアーキテクチャの計算機で実行するために、ソフト
ウェアプログラムコード列を計算機の命令コード列に翻
訳し、計算機が翻訳された命令コード列を実行すること
によって、ソフトウェアプログラムを実行する手段とし
て、エミュレーション方式およびトランスレーション方
式が一般に知られている(以下、翻訳された命令コード
列を実行する計算機を「実計算機」と呼ぶ)。また、翻
訳前のソフトウェアプログラムは、実計算機上で実行さ
れるエミュレーション方式あるいはトランスレーション
方式によるエミュレータによって実現される仮想計算機
上で実行される。なお、トランスレーション方式は、広
義のエミュレーション方式に含める考え方もあるが、本
発明では従来技術の問題点と発明の改良点の説明上、区
別して記述する。
【0003】前記仮想計算機においては、実計算機のハ
ードウェア割り込みは、仮想計算機上でのソフトウェア
プログラムの実行とは非同期で発生する。また、仮想計
算機での割り込み処理は、仮想計算機上での一つのプロ
セスで実現されるため、実計算機のハードウェア割り込
みが発生した場合は、実行中の仮想計算機上のプロセス
から、仮想計算機上の割り込み処理に確実に移行する必
要がある。そのために、仮想計算機上での命令コードの
実行に同期して割り込みの発生を検出するために、メモ
リあるいはレジスタなどを利用して割り込みが発生した
かどうかを示すフラグを用意しておき、このフラグの状
態を検査することによって割り込み発生の有無を検出す
るコードを、実計算機の翻訳されたコードに含める必要
がある。このことによって、実計算機で発生したハード
ウェア割り込みに対して、仮想計算機上で実行中のプロ
セスから、割り込み処理に確実に移行することが可能に
なる。
【0004】この割り込み検出方法として、次の3つの
方法が知られている。第一の方法は、エミュレーション
方式において、翻訳前のソフトウェアプログラムの命令
コード、すなわち、仮想計算機の命令コード(以下、
「仮想コード」と呼ぶ)を読み込む段階の前と、あるい
は読み込んだ仮想コードに対応した各々の仮想コードの
処理にディスパッチする段階の前に、割り込み検出処理
を組み込む方法である。図3は、エミュレーション方式
の基本動作の一例を示す。この例は、手続型言語のプロ
グラミング言語でのスタックマシンにおいて、仮想コー
ドを規定した場合に一般的に用いられる方式である。ま
ず、仮想計算機は、仮想コードの読み込みを行い(ステ
ップS1)、次に、読み込んだ仮想コードに対応した仮
想コードの処理にディスパッチし(ステップS2)、次
に、読み込んだ仮想コードの処理を実行する(ステップ
S3)。以上の処理が終了すると、再び次の仮想コード
に対して同様の処理を繰り返すことによって処理が進ん
でいく。
【0005】図4は、前述の図3の方式に割り込み検出
処理を加えた一例を示す。図4に示すように割り込み検
出処理は、次に述べる理由によりディスパッチ処理の前
に行う(ステップS0)のが一般的である。つまり、割
り込み検出処理を仮想コードの処理を行う際、すなわち
ステップS3で行った場合、仮想コードの処理が中断し
た段階で割り込み処理に制御を移すことになり、割り込
みされた元の実行状態への復帰が困難になるため、割り
込みは仮想コードの実行と実行の間で行う必要がある。
【0006】第二の方法は、トランスレーション方式に
おいて、仮想コードに対応した翻訳された実計算機のオ
ブジェクトコード列に割込検出処理コードを組み込むも
のである。図5は、トランスレーション方式による仮想
コード列80と仮想コード列80から翻訳されて実計算
機キャシュ81に記憶された実計算機のオブジェクトコ
ード列の対応関係の一例を示す。トランスレーション方
式は、エミュレーション方式の実行性能の不足を改善す
る場合などに、実行するソフトウエアプログラムに対し
適用され、実行性能の高速化をはたす。トランスレーシ
ョンの実行は、プロシジャコールやリターンなどのコン
トロールトランスファが発生した場合にプロシジャ単位
で行われる。また毎回の呼出しでプロシジャのトランス
レーションを行うと、トランスレーションに要する処理
時間がオーバーヘッドになり、ソフトウェアプログラム
の実用的な実行性能を得られない場合がある。このため
に、一度トランスレーションした結果をプロシジャ単位
でキャッシュしておき、再利用を図ることによってトラ
ンスレーションによるオーバーヘッドを軽減できる。つ
まりキャッシュによって、一度トランスレーションされ
た仮想計算機のプロシジャは、2度目以後の実行では実
計算機のオブジェクトコードで実現されたプロシジャと
して高速に実行できる。従って、キャッシュされたプロ
シジャの再利用の割合が高くなればなるほど、トランス
レーション方式による高速化のメリットを得ることがで
きる。
【0007】図6は、前述の図5に示された翻訳されて
実計算機の実計算機キャシュ81に記憶されたオブジェ
クトコード列に割込検出処理コード82を組み込んだ一
例を示す。図6に示すように、エミュレーション方式と
同じ手法で割り込み待ちを最小にするために、仮想コー
ドに対応する実計算機のオブジェクトコードの各々の命
令コードに割込検出処理コード82を含める必要があ
る。この方法は、割込検出処理コード82を加えること
によって、コード量が増大するとともに実行速度が大幅
に低下するため実用的でない。
【0008】第三の方法は、コントロールトランスファ
と後方へのジャンプに限定して割込検出処理コードを組
み込むものである。この方法は、実行速度の低下を最小
化することを重視する用途に利用される。ただし、仮想
コードがコントロールトランスファあるいは後方へのジ
ャンプをしばらく含まない場合には、割り込み待ちが延
びる可能性がある。しかし、実際のオブジェクトコード
には、長くとも数十命令のうちにはコントロールトラン
スファあるいは後方へのジャンプは出現するため、特に
割り込み処理の実行のタイミングがクリテカルな用途で
の利用を除いては、実用上は問題ない場合が多い。
【0009】
【発明が解決しようとする課題】前述の第一の方法、す
なわちエミュレーション方式において、仮想コードを読
み込む段階の前、あるいは読み込んだ仮想コードに対応
した各々の仮想コードの処理にディスパッチする段階の
前に、割り込み検出処理を行う方法では、割り込みが発
生していない状況においても、割り込み検出処理を実行
することによるソフトウェアプログラムの実行速度の低
下、および割り込み検出処理をメモリ上に展開すること
によるにコード量の増加を避けられない。また、前述の
第二の方法、すなわちトランスレーション方式におい
て、仮想コードに対応した翻訳された実計算機のオブジ
ェクトコード列に割込検出処理コードを組み込む方法に
おいても、前述の第一の方法と同様の問題がある。ま
た、前述の第三の方法、すなわちコントロールトランス
ファと後方へのジャンプに限定して割り込み検出処理を
組み込む方法では、割り込みが発生した時刻から割り込
み処理までの待ち時間が延びる場合がある。
【0010】本発明の目的は、エミュレータによって実
行されるソフトウェアプログラムへの割り込み検出処理
に伴う、実行速度の低下と、実計算機のメモリ消費とを
低減する割り込み検出処理装置を提供することにある。
【0011】
【課題を解決するための手段】上述の目的を達成するた
めに、本発明の割り込み検出処理装置は、実計算機での
割り込みの発生によって実計算機から起動される割込ハ
ンドラ部が、割り込みが発生した実計算機で実行中の命
令コードの後続の命令コードの先頭アドレスから所定長
の命令コードをジャンプ命令コードに書き替える書替手
段と、書替込手段によって書き替えられる前記所定長の
命令コードを退避するための記憶制御手段とを備え、書
替手段によって出力されたジャンプ命令コードのジャン
プ先の割込前処理部が、書替手段によって書き替えたジ
ャンプ命令コードを記憶制御手段によって退避した前記
所定長の命令コードに書き戻す書戻手段と、実計算機で
の割り込みの発生およびその種類を検出し、割り込み処
理手段に割り込みの発生およびその種類を通知する割込
検出手段とを備える。
【0012】
【作用】上記構成の本発明の割り込み検出処理装置にお
いては、割り込みの発生によって実計算機から起動され
る割込ハンドラ部において、割り込みが発生した実計算
機で実行中の命令コードの先頭アドレスから所定長の命
令コードを退避し、前記所定長の命令コードを、割込前
処理部へのジャンプ命令コードに書き替え、割込前処理
部において、ジャンプ命令コードを前記退避した所定長
の命令コードの命令コードに書き戻し、前記割り込みの
発生およびその種類を検出して割り込み処理手段に通知
する。従って、割込前処理部に割込検出手段を実現する
割込検出処理コードを組み込むことができるため、割込
前処理部以外の実計算機の命令コード列の中に割込検出
処理コードを組み込む必要はない。また、割込検出手段
を含む割込前処理部の処理は、割り込みの発生によって
起動される割込ハンドラ部の書替手段が前記所定長の命
令コードをジャンプ命令に書き替えることよって実行さ
れるため、割り込みが発生しない通常の処理では前記割
込検出手段の処理は全く実行されない。また、前記実行
中の命令コードの実行終了後に実行する前記割込前処理
部の割込検出手段によって、実計算機での割り込みの発
生と種類を検出し、割り込み処理手段に通知するので、
前記後続の命令コードが実行される前の段階で割り込み
処理手段を実行することができる。
【0013】
【実施例】図1は、本発明の割り込み検出処理装置の一
実施例の構成を示す。実施例として用いた仮想計算機
は、手続型のプログラミング言語をベースにスタックマ
シンとして仮想コードを規定したものである。仮想計算
機メモリ1には、翻訳前のソフトウェアプログラムコー
ド列、すなわち仮想計算機コード(以下、「仮想コー
ド」と略称する)列が記憶されている。仮想コードのデ
ータ長は可変であり、一個の仮想コードは一もしくは一
以上のアドレス領域を必要とする。実計算機メモリ2に
は、仮想コード列を実計算機のオブジェクトコードに翻
訳することによって得られる命令コード列が記憶されて
いる。一個の仮想コードは、一個もしくは一個以上の実
計算機のオブジェクトコードに翻訳される。また、一個
の命令コードは一個の仮想コードに対応づけられてい
る。従って、一個の命令コードは、一個もしくは一個以
上の実計算機のオブジェクトコードから構成される。マ
ップテーブル3は、仮想計算機メモリ1に記憶されてい
る各々の仮想コードの先頭アドレスと、この各々の仮想
コードに対応する実計算機メモリ2の各々の命令コード
の先頭アドレスを対にして記憶している。このマップテ
ーブル3は、仮想計算機メモリ1のアドレスから対応す
る実計算機メモリ2の命令コードの先頭アドレス、およ
びこの逆に、命令コードのアドレスから対応する仮想計
算機メモリ1の仮想コードの先頭アドレスを算出するた
めに用いる。
【0014】割込ハンドラ部4は、ハードウェア割り込
みが発生した時に、実計算機のオペレーティングシステ
ムによって呼び出されるソフトウエアプログラムであ
り、割込位置特定手段42、命令コード記憶制御手段4
3および命令コード書替手段44を含み構成されてい
る。割込位置特定手段42は、実行環境記憶部21から
割り込みが発生した時点の実計算機のプログラムカウン
タの値を得て、この値からマップテーブル3を参照し
て、割り込みが発生した仮想計算機メモリ1の仮想コー
ドAと、実計算機メモリ2の命令コードAを特定し、さ
らに、命令コードAからマップテーブル3を参照して後
続の命令コードBを特定する手段である。前記プログラ
ムカウンタの値は、割り込みの発生によって割込ハンド
ラ部4に処理が移行した時点までに実行が終了したオブ
ジェクトコードの次のオブジェクトコードの実計算機メ
モリ2のアドレスを示している。命令コード記憶制御手
段43は、命令コード書替込手段44によって書き替え
られる後続の命令コードBの先頭アドレスから所定長
(後述のジャンプ命令コードの長さに等しい)の命令コ
ードを命令コード記憶部22に退避する手段である。命
令コード書替手段44は、前記命令コードBの先頭アド
レスから所定長の命令コードを割込前処理部5へのジャ
ンプ命令6に書き替える手段である。
【0015】割込前処理部5は、割込処理部7での処理
に移行するために必要な前処理を行うもので、命令コー
ド書戻手段51、割込検出手段52および割込処理起動
手段53を含み構成されている。命令コード書戻手段5
1は、ジャンプ命令6を命令コード記憶部22に退避さ
れている上記所定長の命令コードに書き替え、実計算機
メモリ2の命令コードBを割り込み発生前の状態に戻す
手段である。実計算機での割り込みの発生によって、実
計算機では割り込みレジスタに発生したハードウェア割
り込みの種類を示すフラグをセットする。割込検出手段
52は、前記割り込みレジスタを参照し、仮想計算機メ
モリ1の割込フラグレジスタ11に前記割り込みの種類
に対応するフラグをセットすることによって、仮想計算
機の割り込み処理手段に割り込みの発生と種類を通知す
る。
【0016】割込処理起動手段53は、仮想計算機のス
ケジューラによってスケジューリングを実行し、発生し
た割り込みの仮想計算機での実行順位を決め、さらに前
記スケジューリングの実行によって、次に実行する割込
処理の先頭の仮想コードアドレス、すなわち仮想コード
列71の仮想コードCのアドレスを決定する。通常は、
割り込み処理が最高のプライオリティで実行される。ま
た、割込処理起動手段53は、前記スケジューリングに
よって決定された、次に実行するプロシジャの実行に必
要な各パラメータと属性などのデータを準備する。次に
実行する仮想コードに対応する実計算機のオブジェクト
コードが実計算機のキャッシュに無い場合は、新たにト
ランスレートして前記キャッシュに記憶する。また、割
込処理起動手段53は、前記仮想コードCのアドレスか
らマップテーブル3を参照して次に実行する先頭の命令
コードのアドレス、すなわち割込処理命令コード列73
の命令コードCのアドレスを決定する。
【0017】ジャンプ命令6は、割り込みが発生した実
計算機メモリ2で実行中の命令コードの後続の上記所定
長(ジャンプ命令6の長さに等しい)の命令コードを、
割込ハンドラ部4の命令コード書替手段44によって、
割込前処理部5へのジャンプ命令コードに書き替えた結
果得られる命令コードである。
【0018】割込処理部7は、割込処理仮想コード列7
1、割込処理マップテーブル72、および割込処理命令
コード列73を含み構成されている割り込み処理部であ
る。割込処理部7は、割り込み処理に伴う実際のハード
ウェア等のリソース操作の処理を行い、この割り込み処
理もトランスレーションにより実計算機のオブジェクト
コードに変換され実行される。割込処理仮想コード列7
1は、割り込みの種類毎に用意された仮想計算機のプロ
シジャの仮想コード列の一部であり、仮想コードCは、
割り込み要求のあった割り込み処理の先頭の仮想コード
である。割込処理マップテーブル72は、割込処理仮想
コード列71と割込処理命令コード列73のマップテー
ブルである。割込処理命令コード列73は、割込処理仮
想コード列71に対応した実計算機メモリ2上の命令コ
ード列である。
【0019】割込フラグレジスタ11は、仮想計算機で
実計算機で発生した割り込みの種類に対応した処理を行
うために、実計算機で発生した割り込みの種類を割込検
出手段52によって仮想計算機の割り込み処理手段に通
知するためのレジスタである。実行環境記憶部21は、
割り込みの発生によって実計算機上での処理が割り込み
処理に移行し、再び実計算機上の元の処理に復帰する際
に必要なプログラム実行環境データを退避する記憶部で
ある。割り込み発生時のプログラムカウンタの値も実行
環境記憶部21の記憶データに含まれる。命令コード記
憶部22は、命令書替手段44によって書き替えられる
命令コードを退避するための記憶部である。
【0020】次に、上述のように構成された図1の割り
込み検出処理装置の実施例の動作について図2を参照し
て説明する。実計算機メモリ2に記憶されている命令コ
ードAを実行中に(ステップS11)、実計算機のI/
O等からのハードウェア割り込みの発生によって、割込
ハンドラ部4に制御が移る(ステップS12)。
【0021】次に、割込ハンドラ部4は、以後の処理の
割り込みを禁止にする。次に、割込ハンドラ部4の割込
位置特定手段42は、実行環境記憶部21から割り込ま
れた時点での実計算機のプログラムカウンタの値aを得
て(ステップS13)、前記値aからマップテーブル3
を検索して、値aが命令コードAの先頭アドレスと命令
コードBの先頭アドレスの間の値であることから、実計
算機メモリ2の命令コードAの実行中に割り込みが発生
したことを知る(ステップS14)。ここでの検索は、
マップテーブル3に含まれる実計算機メモリ2のアドレ
スをアドレス順に検索するか、あるいは二分検索等によ
って行う。
【0022】次に、割込位置特定手段42は、マップテ
ーブル3を検索して前記命令コードAに対応する仮想計
算機メモリ1の仮想コードAを特定する。仮想コードA
の命令の種類がジャンプあるいはコントロールトランス
ファの場合は、次の命令が実行されない可能性があるた
めに、今回の割り込みはキャンセルする。つまり命令の
書き替えは行わず命令コードAにリターンする。この操
作により一度割り込みを逃すことになるが、タイマー割
り込みが数十分の一秒ごとに入るために、タイマー割り
込みが入った時点で、一度逃した割り込み処理を行うこ
とができる。実施例の仮想計算機では、割り込みのタイ
ミングは各仮想コードの実行ごととなっており、割り込
みの種別を判別するために、レジスタを用意して、レジ
スタの各ビットをどの割り込みが発生したかを示すフラ
グとして使う。従って、割り込みを逃した場合にでも、
次回の割り込み処理時に逃した割り込みも処理されるこ
ととなり、タイマー割り込みが上記のように必ず入るた
めに、割り込み処理待ちは発生するが通常は問題がな
い。さらに、割込位置特定手段42は、マップテーブル
3に記憶されている前記仮想コードAのアドレスの後の
アドレスは、仮想コードBであることから、次に実行す
る仮想コードBを特定し、さらに、前記仮想コードBの
アドレスからマップテーブル3を参照して、仮想コード
Bに対応する実計算機メモリ2に記憶されている命令コ
ードBの先頭アドレスを特定する(ステップS15)。
【0023】次に、命令コード記憶制御手段43は、ス
テップS15で特定した命令コードBの先頭アドレスか
ら、割込前処理部5へのジャンプ命令6の長さに等しい
命令コード、すなわち命令コードBの先頭のオブジェク
トコードを含む領域、を実計算機メモリ2の命令コード
記憶部22に退避する(ステップS16)。
【0024】次に,命令コード書替手段44は、前記命
令コードBの先頭アドレスの内容を割込前処理部5への
ジャンプ命令6に書き替える(ステップS17)。以上
の割込ハンドラ部4での処理が終了した後、実行途中の
命令コードAに復帰する(ステップS18)。実計算機
のプロセッサがインストラクションキャッシュを備えて
いる場合には、命令の書き替えを行っているのでインス
トラクションキャッシュのフラッシュ等の処理が必要と
なる。
【0025】次に、実計算機は、実行途中の命令コード
Aの残りを実行し、後続の命令コードBの実行に移る。
後続の命令コードBは命令コード書替手段44によって
ジャンプ命令6に書き替えられているため、割込前処理
部5にジャンプする(ステップS19)。次に、割込前
処理部5の命令コード書戻手段51は、ジャンプ命令6
を命令コード記憶制御手段43によって命令コード記憶
部22に退避した命令コードに書き戻し、命令コードB
を割り込み発生前の状態に戻す(ステップS20)。次
に、割込検出手段52は、実計算機で発生したハードウ
ェア割り込みの種類を仮想計算機メモリ1の割込フラグ
レジスタ11にセットし、仮想計算機に割り込みの発生
を通知する(ステップS21)。
【0026】次に、割込処理起動手段53は、仮想計算
機のスケジューラによってスケジューリングを実行し、
発生した割り込みの仮想計算機での実行順位を決め(ス
テップS22)、前記スケジューリングの実行によっ
て、次に実行する割込処理の先頭の仮想コードアドレ
ス、すなわち仮想コード列71の仮想コードCのアドレ
スを決定し(ステップS23)、前記仮想コードCのア
ドレスからマップテーブル3を参照して、次に実行する
割込処理の先頭の命令コードのアドレス、すなわち割込
処理の命令コード列73の命令コードCのアドレスを決
定する(ステップS24)。次に、割込処理起動手段5
3は、割込処理部7の処理に移行するため、命令コード
Cのアドレスにジャンプする(ステップS25)。
【0027】これ以降は割込処理部7が実行を行い、割
込処理部7が処理を終了すると、通常は再びスケジュー
ラが動作し(ステップS26)、割り込まれた実計算機
メモリ2の命令コードBが実行される(ステップS2
7)。以上のように処理が実行される。なお、上記実施
例では、ジャンプ命令6に等しい長さの命令コードを退
避し書き戻しているが、退避し書き戻す領域にジャンプ
命令6に書き替えれる領域を含んでいれば、ジャンプ命
令6の長さより長い領域であってもよい。
【0028】
【発明の効果】本発明の割り込み検出処理装置によれ
ば、割り込みの発生によって実計算機から起動される割
込ハンドラ部に、割り込みが発生した実計算機で実行中
の命令コードの後続の命令コードを割込前処理部へのジ
ャンプ命令コードに書き替え、ジャンプ先の割込前処理
部で割り込み検出処理を行うことにより、割り込みが発
生した時にのみ割り込み検出処理を行うので、割り込み
が発生しない通常の処理では割り込み検出処理に伴う実
行速度の低下がない。また、割り込み検出手段を実現す
る割り込み検出処理コードは、前記割込前処理部にのみ
組み込めばよいので、割り込み検出処理に伴う実計算機
のオブジェクトコード量の増加はほとんどない。また、
前記後続の命令コードが実行される前の段階で割り込み
処理手段の処理を実行するので、割り込み処理の待ち時
間が延びることはない。
【図面の簡単な説明】
【図1】本発明の割り込み検出処理装置の一実施例の構
成を示すブロック図である。
【図2】図1の実施例の全体の動作を示す流れ図であ
る。
【図3】従来のエミュレーション方式の動作を示す流れ
図である。
【図4】図3のエミュレーション方式に割り込み検出処
理を組み入れた従来の方法の動作を示す流れ図である。
【図5】従来のトランスレーション方式でのトランスレ
ーションの例を示す説明図である。
【図6】図5トランスレーション方式のトランスレーシ
ョンの例に割り込み検出処理を組み入れた従来の方法を
示す図である。
【符号の説明】
1 仮想計算機メモリ 2 実計算機メモリ 3 マップテーブル 4 割込ハンドラ部 5 割込前処理部 6 ジャンプ命令 7 割込処理部 11 割込フラグレジスタ 21 実行環境記憶部 22 命令コード記憶部 42 割込位置特定手段 43 命令コード記憶制御手段 44 命令コード書替手段 51 命令コード書戻手段 52 割込検出手段 53 割込処理起動手段 71 割込処理仮想コード列 72 割込処理マップテーブル 73 割込処理命令コード列 80 仮想コード列 81 実計算機キャッシュ 82 トランスレーションでの割込検出処理コード

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 割り込み処理手段を備えるソフトウェア
    プログラムを異なるプロセッサアーキテクチャの計算機
    で実行するために、前記ソフトウェアプログラムコード
    列を前記計算機の命令コード列に翻訳し、前記計算機が
    前記命令コード列を実行することによって前記割り込み
    処理を備えるソフトウェアプログラムを実行するエミュ
    レータにおいて、 前記計算機での割り込みの発生によって前記計算機から
    起動される割込ハンドラ部が、前記割り込みが発生した
    前記計算機で実行中の命令コードの後続の命令コードの
    先頭アドレスから所定長の命令コードをジャンプ命令コ
    ードに書き替える書替手段と、前記書替手段によって書
    き替えられる前記所定長の命令コードを退避するための
    記憶制御手段とを備え、 前記書替手段から出力されるジャンプ命令コードのジャ
    ンプ先の割込前処理部が、前記書替手段によって書き替
    えた前記ジャンプ命令コードを前記記憶制御手段によっ
    て退避した前記所定長の命令コードに書き戻す書戻手段
    と、前記計算機での割り込みの発生およびその種類を検
    出し、前記割り込み処理手段に対して前記割り込みの発
    生およびその種類を通知する割込検出手段とを備えるこ
    とを特徴とする割り込み検出処理装置。
JP15297194A 1994-06-10 1994-06-10 割り込み検出処理装置 Pending JPH07334374A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP15297194A JPH07334374A (ja) 1994-06-10 1994-06-10 割り込み検出処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15297194A JPH07334374A (ja) 1994-06-10 1994-06-10 割り込み検出処理装置

Publications (1)

Publication Number Publication Date
JPH07334374A true JPH07334374A (ja) 1995-12-22

Family

ID=15552151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15297194A Pending JPH07334374A (ja) 1994-06-10 1994-06-10 割り込み検出処理装置

Country Status (1)

Country Link
JP (1) JPH07334374A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716537B2 (en) 2008-04-16 2010-05-11 Kabushiki Kaisha Toshiba Information processing apparatus and error correction method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7716537B2 (en) 2008-04-16 2010-05-11 Kabushiki Kaisha Toshiba Information processing apparatus and error correction method

Similar Documents

Publication Publication Date Title
US6634023B1 (en) Compile method, exception handling method and computer
JP2858140B2 (ja) パイプラインプロセッサ装置および方法
JPH06168146A (ja) 仮想計算機方式
JPH0638234B2 (ja) 変換されたプログラムコードのソース命令不可分性を保持するためのシステムおよび方法
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
JPH06309178A (ja) 割込処理コードによって割込みを処理するための方法およびコンピュータシステム
JPS58121457A (ja) 情報処理装置
CN115391079A (zh) 一种基于五级流水线处理器的中断与异常处理方法
US6125443A (en) Interrupt processing system and method for information processing system of pipeline control type
CN116841614B (zh) 乱序访存机制下的顺序向量调度方法
JP2000353092A (ja) 情報処理装置及びそのレジスタファイル切替方法
JPH07334374A (ja) 割り込み検出処理装置
JPH0895798A (ja) データ処理装置
US8732721B2 (en) Method for reducing trap overhead when executing a guest in a virtual machine
JP2009230479A (ja) マイクロプロセッサ
JP2022107229A (ja) 情報処理装置、制御方法及び制御プログラム
JP2671160B2 (ja) 例外処理方式
JP3766772B2 (ja) 情報処理装置、例外回復処理方法および記録媒体
JP2715988B2 (ja) プログラムシミュレータ装置及びプログラムデバッグ方法
JPH06324861A (ja) Cpu制御システム及び制御方法
JP2000076095A (ja) プログラムトレース装置およびプログラムトレース方法およびそのプログラムを記憶した記憶媒体
JPH1021067A (ja) プログラムの動的修正方法
KR100538282B1 (ko) 체크 포인트를 이용한 실시간 병렬 프로그램 디버깅 방법
JP3029355B2 (ja) 命令のシングルステップ実行方式
JP3102381B2 (ja) タスクデバッグ装置、タスクデバッグ方法及びその記録媒体