JPS60142428A - エミユレ−シヨン方式 - Google Patents

エミユレ−シヨン方式

Info

Publication number
JPS60142428A
JPS60142428A JP25036583A JP25036583A JPS60142428A JP S60142428 A JPS60142428 A JP S60142428A JP 25036583 A JP25036583 A JP 25036583A JP 25036583 A JP25036583 A JP 25036583A JP S60142428 A JPS60142428 A JP S60142428A
Authority
JP
Japan
Prior art keywords
instruction
emulation
program
privileged
privilege
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
JP25036583A
Other languages
English (en)
Inventor
Kimio Akita
秋田 君夫
Shigemi Adachi
茂美 足立
Yoshitake Nakaosa
中筬 恵丈
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP25036583A priority Critical patent/JPS60142428A/ja
Publication of JPS60142428A publication Critical patent/JPS60142428A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、エミュレーション方式に関し、特ニ特権命令
のエミュレーションを効率よく実行できるエミュレーシ
ョン方式に関するものである。
〔発明の背景〕
通常のデータ処理装置をポいて問題を解くためには、そ
の間顯の処理手順をプログラムの形に記述する作業、つ
まりプログラミングが必要であり、このプログラミング
を容易にするためFORTRAN、C0BOL等のマク
ロ命令が広く使用されている。しかし、マクロ命令で書
がねたソース・プログラムは、そのままでは実行するこ
とができず、コンパイラ方式、インタプリタ方式あるい
はコンパイラ・インタプリタ方式等により翻訳して機械
語のプログラムに変換した後、実行する。
通常のデータ処理装置は、その装置に固有のプログラム
、すなわち命令語群を持っており、各命令語の特定フィ
ールドに記述された操作コードによりその命令語の機能
が定められている。
ところで、新しいデータ処理装置が開発され、旧機種と
入れ換えられる場合に、旧機種で開発されて使用されて
きたプログラムをどのようにして受け継ぐかという問題
がある。その場合、ソース・プログラムがマクロ命令で
書かれていれば、システム切換え時に再コンパイルする
ことにより、新しい機種(ネーテイブ・マシン)の目的
プログラムとして使用することができる。しかし、現実
には、それぞれのデータ処理装置の言語仕様に差異があ
って、完全な互換性がないことが多く、そのために修正
が必要となり、またコンパイルの後のテスト・ラン等の
ため、人手による作業が多く必要となる。
したがって、新旧機種の間にそのアーキテクチャの上で
互換性がないにもかかわらず、旧機種(ターゲット・マ
シン)のプログラムをそのままの形で新機種のデータ処
理装置(ネーテイブ・マシン)により実行する場合、あ
るいはアーキテクチャの異なる仮想計算機のプログラム
を実在のデータ処理装置で実行する場合には、エミュレ
ーションが必要となる。エミュレーションは、マイクロ
プログラミングを利用して新しい処理装置(ネーフイプ
・マシン)の機能を拡張あるいは変更し、シミュレーシ
ョンを高速に行うものである。
ところで、データ処理装置に固有のプログラムには、特
権命令がある。
特m 命令は、被工;ニレージョン・プログラムのオペ
レーティング・システムにより発行され、マイクロプロ
グラムあるいはソフトウェアのいずれかにより特権命令
をインタブリット(解釈実行)するのが普通である。こ
の場合、特権命令はすべてマイクロプログラムか、ある
いはソフトウェアのいずれか一方でしかエミュレートさ
れない。
例えばI DLEやHALTのようなソフトウェアで自
身を停止させる特権命令が発行されることにより、エミ
ュレーション・モードの動作を一時停止することができ
る。停止により、ネーテイプ・モードのオペレーティン
グ・システムに制御を移すことができる。しかし、この
特権命令をマイクロプログラムですべて行うと、エミュ
レーション・モードの中で特権命令が実行され、ソフト
ウェア的に自身は停止するが、ネーテイブ・モードのオ
ペレーティング・システムには制御が移らない。
したがって、マイクロプログラム方式では、エミュレー
ション以外のプログラムを実行できないことになる。ま
た、ソフトウェア方式では、特1権命令が発行される度
に、変換用ソフトウェアが実行されるため、オンライン
・プログラムのような高速レスポンスが要求されるプロ
グラムをエミュレートする場合、性能的に問題となる。
通常、エミュレーション機能において、マイクロプログ
ラム方式では実行速度は上るが、融通性が少なく、逆に
ソフトウェア方式では、融通性は大きいが、実行速度は
遅い。
〔発明の目的〕
本発明の目的は、このような従来の問題点を改善し、特
権命令のエミュレーションを効率よく実行するとともに
、エミュレーション以外のプログラムも同時に実行でき
るオーバヘッドの少ないエミュレーション方式を提供す
ることにある。
〔発明の概要〕
上記目的を達成するため、本発明のエミュレーション方
式は、あらかじめエミュレーション制御テーブルに特権
命令コードに対応する値を、実行の中断を指示する特権
命令とそれ以外の特権命令とに区別して格納しておき、
被エミュレーションプログラムのオペレーティング・シ
ステムから特権命令が発行されたことを検出すると、該
特権命令コードに対応する値を上記制御テーブルから検
索し、実行を中断しうる特権命令のときは、一旦エミュ
レーション・モードを解除してインタフェース・プログ
ラムに割込みをかけ、エミュレーションを行うデータ処
理装置のオペレーティング・システムの特権命令あるい
は制御マクロ命令に変換する一方、実行中断する特権命
令以外のときは、マイクロプログラム制御で制御マクロ
命令に変換することに特徴がある。
〔発明の実施例〕
以下、本発明の実施例を、図面により説明する。
第1図は、本発明におけるエミュレーション時のプログ
ラム構成を示す図である。
lはネーテイブ・マシンのオペレーティング・システム
、2〜4.はネーテイブ・マシンのユーザ・・プoグ5
ム(UP)、δはエミュレーション・ジョブ、つまりタ
ーゲット・マシンのプログラムによるジョブ、6はE 
CP (Emul&tion Con、trolPro
gram )と呼ばれるインタフェース・プログラム、
9はエミュレーションされるプログラム、7はターゲッ
ト・マシンのオペレーティング・システム、8はターゲ
ット・マシンのユーザ・プログラム(U P)である。
本発明においては、ネーティブ・マシンのオペレーティ
ング・システムlとターゲット・マシンのプログラム9
0間にE C,P 6が設けられ、このE CP a 
カエミュレーションされるプログラム9に対しE X 
L命令(Execute Local)を発行してエミ
ュレーションの起動を行い、またターゲット・マシンの
オペレーティング・システム7で発行される特権命令を
、一部、ネーテイプ・マシンのオペレーティング・シス
テム1に対する制御マクロに変換する。
第2図は、EXL命令のフォーマット図である。
EXL命令は、プログラム処理状態をエミュレータが動
作するモードに切換えて、P S W (Pr。
gram 5tatus Word、 )や汎用レジ久
々等を設定するものである。そのフォーマットは、第2
図に示すように、命令コード部(BXL)と88部(4
ビツトでベース・レジスタとなる汎用レジスタを指定す
る)とB2部(12ビツトで2進扱値を表す)から構成
される。この命令が出されると、B2部で指定された汎
用レジスタの内・容をB2 部に加えて第2オペランド
・アドレスとする。第2オペランド・アドレスは、主記
憶装置のアドレスを指しており、ここに格納されている
第2オペランドはローカル実行リストである。ローカル
実行リストQこは、エミュレータの動作に必要なpsw
、汎用レジスタ、その他の情報が含まれており、その長
さは40バイトである。EXL命令を実行すると、CP
UはPSW、汎用レジスタの値をローカル実行リストの
内容を用いて判定し、その後ローカル実行モード(エミ
ュレータ動作モード)となる。
本発明のエミュレーション方式は、被エミュレーション
のオペレーティング・システム7よす発行される特権命
令がハードウェアとソフトウェアのいずれかに密接な関
係にあることに着目したものである。エミュレーション
を実行するマイクロプログラムにおいて、被エミュレー
ション・プログラム9中に特権命令を検出したとき、あ
らかじめソフトウェアで変換するように定められた実行
パティジョンを変更し、そのパティジョンを中断させる
特権命令以外はマイクロプログラムで変換するのである
特権命令をソフトウェアで変換する場合は、一旦、エミ
ュレーション・モードをsit、、エミュレーション・
コントロール・プログラム(ECP)6に割込みを発生
させる。エミュレーション・コントロール・プログラム
6は、ネーテイブ・モードで動作し、被エミュレーショ
ン・プログラム9から発行された特権命令を解析し、ネ
ーティブ、モード・オペレーティング・システム1の特
権命令または制御マクロに変換して発行する。このとき
は、ネーテイブ・モードになっているため、他のネーテ
ィプ・マシンUp(1〜4)に制御を移すことができる
このように、本発明では特権命令をマイクロプログラム
で変換する場合と、ソフトウェアで変換する場合に分け
ることにより、変換を効率的に行い、オーバヘッドが少
なく、またエミュレーション以外のプログラムも同時に
実行できる。
第3図は、本発明のエミュレーション方式の処理フロー
チャートとローカル実行リストの説明図である。
第3図(a)には、特権命令の制御マクロ変換を行うま
でのエミュレーション・マイクロプログラムの動作フロ
ーが示されている。
エミュレーション・マイクロプログラムがターゲット・
マシンの機械語を逐次実行していく遼中で特権命令コー
ドを検出すると、第3図(b)に示すようなエミュレー
ション起動時に設定されているローカル実行リスト(エ
ミュレーション・モード制御テーブル)41を参照して
、その中の1つのエントリである特権命令ジャンプ・テ
ーブル先頭アドレスを取得する(ステップ31.33)
取得した先頭アドレスとジャンプ・テーブル42の特権
命令コードで選択された番地1バイトにセットされてい
る値を参照する。この特権命令ジャンプ、テーブル42
の値は、ターゲット・マシン・オペレーティング・シス
テム7の特権命令コードを判定して、あらかじめコーデ
ィングされているものであり、ネーテイプ・モードに制
御を移す必要がある特権命令コードに対応するエントリ
には(FF)□6がセットされ、その他のエントリには
(FF)0.以外の値がセットされている。エミュレー
ション・マイク四プログラムは、テーブルキ2のエント
リの値を判別し、その特権命令コードに対応するエント
リの値が(FF)、6でない場合には、ターゲット・マ
シンのオペレーティング・システム7内で処理可能な特
権命令であると判定して、ターゲット・マシンのアーキ
テクチャで定められた特権命令の動作を行うようにエミ
ュレーションする(ステップ34.35)。エントリの
値が(FF□6)の場合、例えばI D L E命令の
場合には、ネーテイプ・モードに制御を移す必要のある
特権命令とみなし、現在のエミュレーション・モードの
状態を示すPSWを、第3図(b)に示すローカル実行
リスト41内のPSW退避エリアに退避すると同時に、
ECP6のターゲット・マシンの制御マクロ命令の変換
を行うための入口アドレスを示すECP割込み新PSW
をPSWにロードし、エミュレーション・モードを解除
して、ECP6に制御を渡す(ステップ34〜39)。
ECP6では、IDLEの特権命令であることがわかっ
ているので、WAITマク四を発行し、ネーテイブ・モ
ードのオペレーティング・システム1に制御を渡して、
他のネーテイブマシン(UP)が実行できるようにする
このように、ネーテイブ・モードのオペレーティング・
システムで実行させる必要のある特権命令のみをソフト
ウェアで行うことにより、ソフトウェアのオーバヘッド
はきわめて少なくなる。
〔発明の効果〕
以上説明したように、本発明によれば、異なるアーキテ
クチャを有するi¥を算機のエミュレーションにおいて
、ターゲット・マシンのオペレーティング・システムが
ら発行された特権命令を、ネーテイプ・マシンのオペレ
ーティング・システムで簡単に実行させるこ゛とができ
るため、少ないオーバヘッドでエミュレーションとエミ
ュレーションプログラム以外のプログラムを同時に実行
しながう、リアルタイムで動作するオンライン・プログ
ラムのエミュレーションも可能となる。
【図面の簡単な説明】
第1図は本発明の一実施例を示すエミュレーション時の
プログラム構造図、第2図は第1図におけるE X L
命令のフォーマット図、第3図は本発明のエミュレーシ
ョン方式の処理フローチャートとローカル実行リストの
説明図である。 1:ネーティプマシン・オペレーティング・システム、
2〜4:ネーティブ・マシン・ユーザプログラム、5:
エミュレーション・ジョブ、6:エミュレーション・コ
ントロールプログラム、7:ターゲットマシン・オペレ
ーティングシステム、8:ターゲット・マシン・ユーザ
プログラム、9:ターゲットマシン・プログラム。 特詐出願人 株式会社 日立製作所 、と− 代 理 人 弁理士 磯 村 雅 俊(:パ・4じ

Claims (1)

    【特許請求の範囲】
  1. α)命令語体系の異なるデータ処理装置のプログラムを
    エミュレーションするデータ処理装置において、あらか
    じめエミュレーション制御テーブルに特権命令コードに
    対応する値を、実行の中断を指示する特権命令とそれ以
    外の特権命令とに区別して格納しておき、被エミュレー
    ション・プログラムのオペレーティング・システムから
    特権命令が発行されたことを検出すると、該特権命令フ
    ードに対応する値を上記制御テーブルから検索し、実行
    を中断しうる特権命令のときは、一旦エミュレーション
    ・モードラ解除してインタフェース・プログラムに割込
    みをかけ、エミュレーションを行うデータ処理装置のオ
    ペレーティング・システムの特権命令あるいは制御マク
    ロ命令に変換する一方、実行中断する特権命令以外のと
    きは、マイクロプログラム制御で制御マクロ命令に変換
    することを特徴とするエミュレーション方式。
JP25036583A 1983-12-28 1983-12-28 エミユレ−シヨン方式 Pending JPS60142428A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25036583A JPS60142428A (ja) 1983-12-28 1983-12-28 エミユレ−シヨン方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25036583A JPS60142428A (ja) 1983-12-28 1983-12-28 エミユレ−シヨン方式

Publications (1)

Publication Number Publication Date
JPS60142428A true JPS60142428A (ja) 1985-07-27

Family

ID=17206835

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25036583A Pending JPS60142428A (ja) 1983-12-28 1983-12-28 エミユレ−シヨン方式

Country Status (1)

Country Link
JP (1) JPS60142428A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02238527A (ja) * 1988-12-06 1990-09-20 American Teleph & Telegr Co <Att> 目標コンピュータ・システム、異なるコンピュータ・システム間でプログラムを実行する方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02238527A (ja) * 1988-12-06 1990-09-20 American Teleph & Telegr Co <Att> 目標コンピュータ・システム、異なるコンピュータ・システム間でプログラムを実行する方法

Similar Documents

Publication Publication Date Title
KR900000092B1 (ko) 데이터 처리장치
US6895460B2 (en) Synchronization of asynchronous emulated interrupts
US5129064A (en) System and method for simulating the I/O of a processing system
JPH0333937A (ja) 仮想計算機における表示制御方式
JPH05216689A (ja) コンピュータ装置およびコンピュータ装置を動作させる方法
KR920003044B1 (ko) 가상 머신 시스템용의 게스트 머신 실행 제어 시스템
JPS60142428A (ja) エミユレ−シヨン方式
JPH0564375B2 (ja)
JPH0552535B2 (ja)
JPS6275734A (ja) エミユレ−シヨン方式
Goldberg et al. The PRIM System: An alternative architecture for emulator development and use
Ruschitzka An operating systems implementation project for an undergraduate course
JP3159155B2 (ja) プログラムのデバッグ方法および装置
JPH0638238B2 (ja) 仮想計算機システム
JPH05250221A (ja) シミュレータ実行方式
JP2899009B2 (ja) 情報処理装置
JPH0381827A (ja) リエントラントプログラム方式
JPS60225944A (ja) 仮想計算機システム
JPS61184644A (ja) 仮想計算機システム制御方式
JPS6338729B2 (ja)
JPH0247730A (ja) 仮想計算機システム
JPH03175539A (ja) デバッグ用マイクロプロセッサ
JPS6325736A (ja) 仮想計算機システムにおける割込み制御方式
JPH0762828B2 (ja) エミュレーション方法
JPH0259829A (ja) マイクロコンピュータ