JPH02207340A - エミュレーションシステム及びエミュレータ - Google Patents

エミュレーションシステム及びエミュレータ

Info

Publication number
JPH02207340A
JPH02207340A JP1029503A JP2950389A JPH02207340A JP H02207340 A JPH02207340 A JP H02207340A JP 1029503 A JP1029503 A JP 1029503A JP 2950389 A JP2950389 A JP 2950389A JP H02207340 A JPH02207340 A JP H02207340A
Authority
JP
Japan
Prior art keywords
memory space
user
program
emulator
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.)
Granted
Application number
JP1029503A
Other languages
English (en)
Other versions
JP2797280B2 (ja
Inventor
Tsutomu Saito
勉 斎藤
Masamitsu Watanabe
渡辺 政光
Tatsuya Suzuki
達也 鈴木
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 Microcomputer System Ltd
Original Assignee
Hitachi Microcomputer Engineering 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 Microcomputer Engineering Ltd filed Critical Hitachi Microcomputer Engineering Ltd
Priority to JP1029503A priority Critical patent/JP2797280B2/ja
Publication of JPH02207340A publication Critical patent/JPH02207340A/ja
Application granted granted Critical
Publication of JP2797280B2 publication Critical patent/JP2797280B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はターゲットシステムのソフトウェアを開発支援
するためのエミュレーションシステム及びエミュレータ
に係り、例えばターゲットシステムにおける特定の入出
力機器及びそのための入出力インタフェース回路が未完
成もしくは取り揃えられていない状態におけるシステム
デバッグに適用して有効な技術に関する。
【従来技術〕
マイクロコンピュータ応用機器(以下単にターゲットシ
ステムとも記す)の開発において、そのシステムデバッ
グやシステム評価を行うためのエミュレータは、ターゲ
ットシステムに含まれるマイクロコンピュータもしくは
マイクロプロセッサ(以下単にターゲットマイクロプロ
セッサとも記す)の機能を代行しながらシステムデバッ
グを可能とするものである。
エミュレータは、ターゲットマイクロプロセッサと同等
のマイクロプロセッサを備え、このマイクロプロセッサ
にソフトウェアデバッグ対象とされるユーザプログラム
を実行させてターゲットシステムを代行制御する。この
とき、システム開発装置のようなホストシステムを介し
てユーザプログラムの内容を任意に変更したりして、そ
の制御状態をトレースし、所定のブレークポイントでそ
のトレース結果を確認可能にしながらターゲットシステ
ムのソフトウェアデバッグを支援する。このようにエミ
ュレータはユーザプログラムによって実際にターゲット
システムを動作させながらそのソフトウェアデバッグも
しくはシステムデバッグを支援する。
また、エミュレータは、ユーザプログラムの実行開始条
件やブレークポイント制御条件の設定、さらにはユーザ
プログラムの実行によって得られたトレース情報をホス
トシステムへ転送したり、ホストシステムからダウンロ
ードされたユーザプログラムをユーザメモリ空間に転送
したりするためのデータ転送制御が必要になり、そのた
め、エミュレータはユーザプログラムのほかにシステム
プログラムも実行しなければならない、特にシステムプ
ログラムを実行して行うデータ転送制御においては、ユ
ーザメモリ空間にあるデータやユーザプログラムをホス
トシステムに与えるためにシステムメモリ空間に転送し
たり、その逆を行ったりする必要がある。すなわち、エ
ミュレータ内蔵プロセッサによるデータ転送制御に際し
ては、アクセス対象メモリ空間を選択的にユーザメモリ
空間又はシステムメモリ空間に切り換えることが必要に
なる。
尚、エミュレータについて記載された文献の例としては
特願昭61−276504号がある。
〔発明が解決しようとする課題〕
ところで、エミュレータは、ユーザプログラムによって
実際にターゲットシステムを動作させながらそのソフト
ウェアデバッグを支援するため。
ユーザプログラムによって動作制御されるべき特定の回
路ブロック例えば入出力機器やそのためのインタフェー
ス回路が未完成もしくは取り揃えられていない場合には
、システムデバッグを行うことができない1例えばファ
イル管理用のユーザプログラムをシステムデバッグする
場合、磁気ディスク装置や光デイスク装置のような入出
力機器とそのためのインタフェース回路が実際に必要と
される。このため、従来のエミュレータを用いてシステ
ムデバッグする場合には、ターゲットシステムのハード
ウェアが完成するまでシステムデバッグを行うことがで
きず、これにより、ハードウェアを揃えるための経済的
負担が大きくなると共に、ターゲットシステムの開発期
間が長くなるという問題点が本発明者によって明らかに
された。
また、本発明者は、エミュレータ内蔵プロセッサによる
データ転送制御に際して、アクセス対象メモリ空間を選
択的にユーザメモリ空間又はシステムメモリ空間に切り
換える技術について検討したところ、従来、エミュレー
タに内蔵されるプロセッサは、メモリ空間の切り換え制
御を行うために、転送すべき一連のデータの転送単位毎
に命令もしくはコマンドをフェッチして夫々のメモリア
ドレス空間のエリアやアドレスポインタの管理を行わな
ければならなかった。したがって、一連のデータをシス
テムメモリ空間とユーザメモリ空間相互間で転送する場
合には、ワード又はバイトのようなデータ転送単位毎に
空間制御のためのプログラム実行ステップが必要になり
、一連のデータ転送動作にとってそのような空間制御の
ために無視し得ない時間を要することが明らかにされた
本発明の目的は、ターゲットシステムにおける入出力機
器インタフェース回路さらには入出力機器などの特定機
器や回路ブロックが取り揃えられていなくても当該ター
ゲットシステムのシステムデバッグを行うことができる
エミュレーションシステムを提供することにある。
本発明の別の目的は、アクセス対象メモリ空間を選択的
にユーザメモリ空間又はシステムメモリ空間に切換えて
行うべきデータ転送制御を効率的に行うことができるエ
ミュレータを提供することにある。
本発明の前記ならびにそのほかの目的と新規な特徴は1
本明細書の記述及び添付図面から明らかになるであろう
【課題を解決するための手段〕
本願において開示される発明のうち代表的なものの概要
を簡単に説明すれば下記の通りである。
すなわち、ユーザプログラムで実行すべき処理の一部を
ホストシステムが有する入出力機器インタフェース回路
や入出力機器などの周辺装置を利用してホストシステム
のプログラムに代替させるものである。このような動作
の指示は、エミュレータによるユーザプログラムの実行
状態に従って与えられる。ホストシステムに代替させる
べき処理動作に必要なデータや、ホストシステムの代替
処理で得られたデータなどは、エミュレータとホストシ
ステムとの間でやりとりされる。
ホストシステムに対する代替処理の指示は、エミュレー
タ側からの割込み要求によって与えることができる。こ
の割込み要求タイミングは、ユーザプログラムの実行状
態を監視するブレークコントロール回路の指示に基づい
てユーザプログラムが実行停止されるタイミングに同期
して与えることができる。或いは、ホストシステムが直
接ユーザプログラムの実行状態をサンプリングし、所定
の状態を検出することによって代替処理に分岐すること
ができる。
エミュレータとホストシステムがデータをやりとりする
とき、ターゲットシステムのためのユーザメモリ空間と
エミュレータのシステムメモリ空間との間でのデータ転
送に際しては、システムメモリ空間とユーザメモリ空間
との間のデータ転送方向を任意に設定可能なコントロー
ルレジスタを設け、このコントロールレジスタに設定さ
れたデータ転送方向に応じ、エミュレータ内プロセッサ
のリード・ライト制御に従ってアクセスされるメモリ空
間をユーザメモリ空間又はシステムメモリ空間に切換制
御するようにするとよい。
また、上記システムメモリ空間とユーザメモリ空間との
切換制御は、エミュレータとターゲットシステムとの間
でデータをやりとりするときにも適用することができる
〔作 用〕
上記した手段によれば、ユーザプログラムで実行すべき
処理の一部を必要に応じてホストシステムが代替処理す
ることにより、ユーザプログラムに従って動作制御され
るべきターゲットシステムに特定回路ブロックや入出力
機器などが取り揃えられていない場合にも、ホストシス
テムが備える資産を有効に利用してユーザプログラムの
ソフトウェアデバッグが可能になる。
ホストシステムによる代替処理の必要な時にユーザプロ
グラムの実行を停止させ、これに応じてホストシステム
に代替処理を指示するようにする゛ことにより、ユーザ
プログラムによる処理状態と、ホストシステムによる代
替処理状態との間の連続性を容易に得るものである。
ホストシステムが直接ユーザプログラムの実行状態を監
視して代替処理に分岐するようにすることにより、ホス
トシステムによる代替処理に付帯する制御をホストシス
テムに負担させることができる。
ユーザメモリ空間とシステムメモリ空間との間でのデー
タ転送方向がハードウェア的に制御されることにより、
相互に異なるメモリ空間の間でデータ転送を行う場合に
データ転送命令の連続実行が可能になり、これにより、
エミュレータ内プロセッサのリード・ライト制御に従っ
てアクセスされるメモリ空間を選択的にユーザメモリ空
間又はシステムメモリ空間に切換えて行われるデータ転
送制御の効率化を達成するものである。
〔実施例〕
第1図には本発明の一実施例であるエミュレーションシ
ステムのブロック図が示される。同図に示されるエミュ
レーションシステムは、エミュレータ1とホストシステ
ム2から成り、エミュレータ1は、ユーザインタフェー
ス3を介して所要のターゲットシステム4と結合可能に
されると共に、システムインタフェース5を介してホス
トシステム2のホストコンピュータ7に結合可能にされ
ている。
上記エミュレータ1は、特に制限されないが、ターゲッ
トシステム4を本来制御するための図示しないターゲッ
トプロセッサと同等の制御機能を有する1つのプロセッ
サ6を含む、このプロセッサ6は、ユーザプログラムを
実行しながら上記ユーザインタフェース3を介してター
ゲットシステム4を代行制御すると共に、ユーザプログ
ラムの実行停止時にはシステムプログラムを実行してエ
ミュレータ1の内部を制御する。このプロセッサ6が結
合される共有パス12には、上記ユーザインタフェース
3及びシステムインタフェース5のほかに、ターゲット
システム4におけるデータメモリやプログラムメモリを
代行するためのエミュレーションメモリ8、プロセッサ
6がユーザプログラムを実行しているときの制御状態な
どを監視し、その状態が予め設定されている状態に到達
したときにユーザプログラムの実行動作(エミュレーシ
ョン動作)をブレークするためのブレークコントロール
回路9.プロセッサ6がユーザプログラムを実行してい
るときに共有バス12に与えられるデータやアドレスさ
らには制御情報を逐次トレースして蓄えるリアルタイム
トレース回路10、プロセッサ6がシステム動作するた
めのシステムプログラムやデータを格納するためのシス
テムメモリ11などが夫々結合される。上記エミュレー
ションメモリ8はユーザプログラム格納領域8A及びユ
ーザデータ格納領域8Bを有し、システムメモリ11は
システムプログラム格納領域11A及びシステムデータ
格納領域11Bを有する。
また、システムインタフェース5にはインタフェース回
路14のほかに、システムプログラムを実行するプロセ
ッサ6及びホストコンピュータ7の双方からアクセス可
能な共有メモリ15が含まれている。
ここで先ず、プロセッサ6がアクセスするメモリ空間の
切換制御について説明する。
プロセッサ6がユーザプログラムを実行するとき上記エ
ミュレーションメモリ8はユーザプログラムによって規
定されるアドレス空間に配置されることになる。一方プ
ロセッサ6がシステムプログラムを実行するとき上記シ
ステムメモリ11や共有メモリ15はシステムプログラ
ムが規定されるアドレス空間しこ配置されることになる
が、システムプログラムに従って行われる制御動作では
、システムデバッグの必要上、ホストシステム2からダ
ウンロードされるユーザプログラムをユーザプログラム
格納領域8Aに転送したり、その逆を行ったり、さらに
は、エミュレーション動作で得られたデータをユーザデ
ータ格納領域8Bからシステムデータ格納領域11Bや
共有メモリ15に転送したり、その逆を行ってエミュレ
ーション動作に必要なデータをユーザデータ格納領域8
Bに転送したりする必要がある。したがって、プロセッ
サ6がユーザプログラムを実行する場合とシステムプロ
グラムを実行する場合とでメモリ空間を切換制御するこ
とが必要になり、さらにこのメモリ空間の切換制御はプ
ロセッサ6がシステムプログラムを実行する場合にも必
要になる。このようなメモリ空間の切換制御は切換制御
回路16が行う。
この切換制御回路16は、特に制限されないが、プロセ
ッサ6から出力されるリード信号RDによって指示され
るリード動作におけるメモリアクセス空間をシステムメ
モリ空間又はユーザメモリ空間の何れかに指定する制御
ビットRdirと、プロセッサ6から出力されるライト
信号WRによって指示されるライト動作におけるメモリ
アクセス空間をシステムメモリ空間又はユーザメモリ空
間の何れかに指定する制御ビットWdirとを任意に設
定可能なコントロールレジスタ20と、このコントロー
ルレジスタ20の設定状態に従ってメモリ空間をシステ
ムメモリ空間又はユーザメモリ空間に切換制御する制御
論理21とを含む、上記制御ビットRdir、Wdir
は、特に制限されないが、その論理「0」によってシス
テムメモリ空間へのアクセスを意味する。この制御ビッ
トRdir、Wdirは、システムプログラムに基づい
てプロセッサ6が任意に設定することができるが、プロ
セッサ6のリセット時やブレークコントロール回路9か
ら出力されるブレーク信号BRKの指示に基づいてユー
ザプログラムの実行が停止されたとき、さらにはホスト
システム2からの直接的な指示により、双方共に論理「
0」に初期設定可能とされる6本実施例において、空間
切換制御は、特に制限されないが、エミュレーションメ
モリ8の動作を選択するか、或いはシステムメモリl↓
及び共有メモリ15の動作を選択するかという手段で達
成するものである0例えば、エミュレーションメモリ8
、システムメモリ11、及び共有メモリ15のデータ入
出力端子には図示しないゲートが夫々設けられ、これら
ゲートが上記切換制御論理21から出力される選択信号
MS。
MUによって制御されるようになっている。尚、図示は
しないが、上記ブレークコントロール回路9などに含ま
れるコントロールレジスタもシステムプログラムの実行
によってデータ設定されるため、そのようなコントロー
ルレジスタなどに関して設けたゲートにも上記空間制御
を及ぼすことができる。
そして、システムメモリ11とエミュレーションメモリ
8との間でのデータ転送、又は共有メモリ15とエミュ
レーションメモリ8との間でのデータやプログラムの転
送に際して、データ転送命令を連続的に実行可能とする
ため、プロセッサ6によって設定されたデータ転送回数
を計数し、設定回数に到達したときその旨をプロセッサ
6に通知するための割込み信号IPLを出力する計数制
御回路22が設けられている。この計数制御回路22を
利用するデータ転送は、例えばデータをソースアドレス
からディスティネーションアドレスに転送し、その後そ
のソースアドレス及びディスティネーションアドレスを
インクリメント又はデクリメントして再びデータ転送を
繰り返すような、所謂MOVE命令を繰返し実行させて
ループさせるような単一もしくは複数命令が用いられる
例えば、共有メモリ15にダウンロードされたユーザプ
ログラムをエミュレーションメモリ8に転送する場合に
は、ソースアドレスには転送すべきデータに応する共有
メモリ15の転送元アドレスが設定され、ディスティネ
ーションアドレスにはデータ転送されるべきエミュレー
ションメモリ8の転送先アドレスが設定されている。こ
のとき、上記制御ビットRdirは論理rOJに、そし
て制御ビットWdirは論理「1」に設定される、これ
により、プロセッサ6がソースアドレスを出力してメモ
リ・リードサイクルを起動すると、切換制御回路21は
そのときアサートされるリード信号RDと論理「0」の
制御ビットRdirに基づいて選択信号MSをアサート
し、これによって共有メモリ15がアクセス可能とされ
、ソースアドレスに応する情報が読み出されてプロセッ
サ6に取り込まれる6次いでプロセッサ6がディスティ
ネーションアドレスを出力してメモリ・ライトサイクル
を起動すると、切換制御回路21はそのときアサートさ
れるライト信号WRと論理「1」の制御ビットWdir
に基づいて選択信号MUをアサートし、これによってエ
ミュレーションメモリ8がアクセス可能とされ、ディス
ティネーションアドレスに応する情報がプロセッサ6か
らエミュレーションメモリ8に書き込まれる。データ転
送が1回行われると、プロセッサ6はそのディスティネ
ーションアドレスとソースアドレスを内部で更新して再
び上記同様にデータ転送を繰り返す。そして、データ転
送回数が計数制御回路22に設定されている回数に到達
すると1割込み信号IPLによってプロセッサ6に割込
みが与えられることにより、当該データ転送命令の繰返
し実行が停止される。このようなデータ転送動作におい
てプロセッサ6は最初に空間切換制御のための制御ビッ
トRrir、Wdirを設定するだけでよく、1回のデ
ータ転送毎に空間切換のための制御を逐次行う必要はな
く、実質的に連続してデータ転送命令を実行することが
できる。このようにシステムメモリ空間とユーザメモリ
空間とを自動的に切り換えて行われるデータ転送は、ソ
ースアドレスとディスティネーションアドレスの設定内
容次第で、ターゲツトシステム4内部のメモリとシステ
ムメモリ11又は共有メモリ15との間でのデータ転送
や、エミュレーションメモリ8とシステムメモリ11と
の間でのデータ転送にも適用することができる。尚、プ
ロセッサ6がデータのブロック転送命令を実行すること
ができる場合には上記計数制御回路22の動作をディス
エーブルにしたり割込み信号IPLによる割込み要求に
材して割込みマスクすることにより、上記同様自動的な
空間切換制御によって効率的なデータ転送を行うことが
できる。
次にユーザプログラムによる処理の一部を…ストシステ
ム2に代替させる点について説明する。
−船釣にエミュレータは1本来ユーザプログラムにより
実際にターゲットシステムを動作させながらそのソフト
ウェアデバッグを支援するようになっているが1本実施
例のエミュレーションシステムは、ユーザプログラムに
よって動作制御されるべき特定の回路ブロック例えば入
出力機器やそのためのインタフェース回路が未完成もし
くは取り揃えられていない場合、ホストシステム2が有
する入出力機器や入出力機器インタフェース回路などの
周辺装置を利用してユーザプログラムのソフトウェアデ
バッグを行うことができるようになっている。
上記ホストシステム2は、汎用目的コンピュータとして
のホストコンピュータ7を中心に、ホストプログラムや
各種データを格納するためのメインメモリ30、キーボ
ードなどの入力装置i!31、CRTデイスプレィ装置
などの表示装置32、プリンタなどの出力装置133、
そして磁気ディスク装置のような補助記憶装置!34な
どを有する。
ユーザプログラムによって動作制御されるべきターゲッ
トシステム4における特定の回路ブロック例えば入出力
機器やそのためのインタフ”エース回路が未完成もしく
は取り揃えられていない場合にホストシステム2が有す
る入出力機器インタフェース回路や入出力機器などの周
辺装置を利用してホストプログラムの処理に代替させる
ため1例えばエミュレータ1は、そのような代替処理の
指示を割込み信号IRQによってホストシステム2に与
える0割込み信号IRQにより割込み要求を与えるタイ
ミングはユーザプログラムの実行状態と相関され、ユー
ザプログラムの一連の命令においてホストシステム2に
処理を代替させるべき命令の位置で割込みを要求させ、
その位置を検出するために本実施例ではブレークコント
ロール回路9を利用する。即ち、代替処理が必要なユー
ザプログラムのプログラムアドレスなどをブレークコン
トロール回路9に設定し、この設定状態に到達したとき
ユーザプログラムの実行を停止させる。
代替処理に必要なデータ例えば入出力機器に与えるべき
データなどがある場合には、システムプログラムに基づ
いてそのようなデータをユーザメモリ空間から共有メモ
リ15に内部転送しておく。
斯る所要の処理を終えた後、システムインタフェース5
を介して当該割込み信号IRQによってホストコンピュ
ータ7に割込みを要求する。
ホストシステム2においては、そのような割込み要求に
従って、ユーザプログラムによる処理の一部を代替し得
る形式にホストプログラムが整えられている。即ち当該
割込みによって受付けられることになる周辺装置の動作
と、その動作に必要なデータを共有メモリ15から取り
出し、或いは周辺装置の動作によって得られたデータを
共有メモリ15に転送する動作などを含む一連の代替処
理を行うためのサブルーチン、並びに当該ルーチンへ分
岐するための処理に必要なベクタリングテーブル類が追
加される。尚、その割込み形式はホストコンピュータ7
の構成に従って決定されるが、ホストコンピュータ7に
ベクタ割込みが採用されている場合には、分岐に必要な
ベクタをシステムインタフェース5から供給することが
できる。
ホストシステム2による代替処理が終了されると、ホス
トシステム2はエミュレータ1に対してその終了を通知
する。これにより、エミュレータは1代替処理で得られ
たデータが共有メモリISに転送されている場合には、
これを所定のユーザメモリ空間に転送し、その後ブレー
ク状態を解除し、その代替処理で得られたデータを利用
したりして再びユーザプログラムの実行を開始する。
第2図にはユーザプログラムに対する代替処理の実行手
順と、代替処理に付随するデータの流れが示されている
。同図に示されるように代替処理はユーザプログラム4
0、システムプログラム41、及びホストプログラム4
2がリンクされて行われる0例えばユーザプログラム4
0におけるファイル管理のための一連のプログラムのソ
フトウェアデバッグに際して代替処理を挿入する場合に
ついて説明すると、ユーザプログラム40のステップS
iの実行後に代替処理を挿入する場合には、当該ステッ
プSiの後に、ブレークコントロール回路9の制御に基
づいてユーザプログラム4゜の実行が停止され、プロセ
ッサ6の動作はシステムプログラム41による制御に移
行される。尚、代替処理に必要とされるデータ例えば読
み出しアドレスや、ファイルに書き込むべきデータ及び
書き込みアドレスがある場合、そのようなデータは、特
に制限されないが、ステップSi以前のユーザプログラ
ム40の実行によりエミュレーションメモリ8の所定領
域に格納されている。
システムプログラムによる制御に移行したプロセッサ6
は、ファイルへの書き込みアドレスや書き込みデータ、
又はファイルに対する読み出しアドレスを共有メモリ1
5に転送する。このときのデータ転送制御に切換制御回
路16を利用することにより、ユーザメモリ空間からシ
ステムメモリ空間へのデータ転送が効率的に行われる。
このような前処理を行った後、プロセッサ6はシステム
プログラム41に従ってシステムインタフェース5から
ホストコンピュータ7に割込み信号IRQをアサートす
る。
ホストコンピュータ7が斯る割込み要求を受け付けると
、代行処理のためのサブルーチンに分岐される。この代
行処理においては、共有メモリ15に与えられている書
き込みアドレスに従って所定の書き込みデータがファイ
ルに書き込まれ、あるいは読み出しアドレスに従ってデ
ータがファイルから読み出される。尚、エミュレータ1
から与えられる書き込みアドレスや読み出しアドレスは
ホストプログラム42に従ってホストシステム2の内部
アドレス空間に適合する適当なアドレスに変換されて処
理されることになる。ファイルから読み出されたデータ
は共有メモリ15に転送される。
ホストシステム2による代替処理が終了されると、ホス
トシステム2はエミュレータ1に対してその終了をアク
ルッジ信号ACKなどで通知する。ホストシステム2に
よる代替処理の終了が通知されたエミュレータ1は1代
替処理で得られた読み出しデータが共有メモリ15に転
送されている場合には、これを所定のユーザメモリ空閘
番こ転送し、その後ブレーク状態を解除し、その代替処
理が終了された命令実行段階の次の命令ステップSnか
ら再びユーザプログラムを実行開始し、そのとき前記代
替処理で得られたデータが利用されたりする。このよう
な手順で代替処理を行うと、ユーザプログラムで寒行す
べき処理内容は単にホストプログラムによる実行処理内
容に置き換えられたことになり、ユーザプログラム4o
による処理状態とホストプログラム42による代替処理
状態との間の連続性が得られる。
ホストシステム2を利用する代替処理内容はファイル管
理に限定されずホストシステム2が有するその他の周辺
装置を利用することができる範回において任意に決定す
ることができる。
以上説明した代替処理の制御手順では1代替処理の開始
を割込み信号IRQでホストコンピュータ7に与えるよ
うにしたが、ホストコンピユータ7自体がユーザプログ
ラムの実行状態を監視するようにしてもよい、この場合
には、ユーザプログラム40の実行時における各種バス
情報などがホストインタフェース5を介してホストシス
テム2に与えられなければならない。さらにホストシス
テム2による代替処理にユーザデータが必要な場合には
、そのような情報をユーザデータ領域からホストシステ
ムに転送可能なように、ホストプログラム42は、シス
テムプログラム41を介して必要な処理を指示しなけれ
ばならない、また、このとき、代替処理中にユーザプロ
グラムの実行を停止させるには上記同様ブレーク条件を
ブレークコントロール回路9に設定しておかなければな
らない。
またホストシステム2からエミュレータ1に対する代替
処理終了の通知はアクルッジ信号ACKに限定されず割
込み信号を用いてもよい。
また、ホストシステム2からエミュレータ1のユーザデ
ータ領域へのデータ転送は、上記実施例で説明したよう
にシステムプログラムを介在させて共有メモリ15をバ
ッファとして利用するような構成に限定されず、所謂オ
ンザフライレジスタ方式によって直接ホストメモリ空間
とユーザメモリ空間との間でデータ転送を行うようにし
てもよい。
上記実施例によれば以下の作用効果を得るものである。
(1)ホストシステム2は、エミュレータ1が行うべき
所定のユーザプログラムの実行処理内容を代替すると共
に、その代替処理に必要な情報やその処理によって得ら
れた情報をエミュレータ1との間でやりとり可能になっ
ているから、ユーザプログラムで実行すべき処理の一部
を必要に応じてホストシステム2が代替処理することに
より、ユーザプログラムに従って動作制御されるべきタ
ーゲットシステム4に特定回路ブロックや入出力機器な
どが取り揃えられていない場合にも、ホストシステム2
が備える資産を有効に利用してユーザプログラムのソフ
トウェアデバッグを行うことができる。
(2)上記作用効果(1)より、ターゲットシステム4
のハードウェアが完成するまでシステムデバッグを行う
ことができなかったり、ハードウェアを揃えるための経
済的負担が大きくなるという従来の問題点を解決するこ
とができる。
(3)ホストシステム2による代替処理の必要な時にユ
ーザプログラムの実行を停止させ、これに応じてホスト
システムに代替処理を割込みで指示するようにすること
により、ユーザプログラムによる処理状態と、ホストシ
ステム2による代替処理状態との間の連続性を容易に確
保することができ、こりれによって、システムデバッグ
効率を向上させることができる。
(4)ホストシステム2が直接ユーザプログラムの実行
状態を監視して代替処理に分岐するようにすることによ
り、ホストシステム2による代替処理に付帯する制御を
ホストシステム2に負担させることができる。
(5)ターゲットシステム4のためのユーザメモリ空間
とエミュレータのシステムメモリ空間との間でのデータ
転送に際しては、システムメモリ空間とユーザメモリ空
間との間のデータ転送方向を任意に設定可能なコントロ
ールレジスタ20の設定状態に従って、エミュレータ内
蔵プロセッサ6のリード・ライト制御に従ってアクセス
されるメモリ空間をユーザメモリ空間又はシステムメモ
リ空間に切換制御するようにすると、ユーザメモリ空間
とシステムメモリ空間との間でのデータ転送方向がハー
ドウェア的に制御されることにより、相互に異なるメモ
リ空間の間でデータ転送を行う場合にデータ転送命令の
連続実行が可能になり、これにより、エミュレータ内蔵
プロセッサ6のリード・ライト制御に従ってアクセスさ
れるメモリ空間を選択的にユーザメモリ空間又はシステ
ムメモリ空間に切換えて行うデータ転送制御の効率化を
達成することができる。
(6)上記作用効果(5)において、データ転送回数を
計数制御回路22のような監視手段でハードウェア的に
制御するようにすれば、データブロック転送命令を用い
なくても若しくは用いることができなくても、メモリ空
間の切換制御を必要とするデータ転送制御の効率化を図
ることができる。
(7)上記作用効果(5)、(6)に記載のデータ転送
技術を上記ホストシステムによる代替処理のためのデー
タ転送制御に利用することにより、データ転送にかかる
時間を短縮してシステムデバッグ効率の向上に寄与する
ことができる。
以上本発明者によってなされた発明を実施例に基づいて
具体的に説明したが本発明は上記実施例に限定されるも
のではなくその要旨を逸脱しない範囲において種々変更
することができる。
例えばホストシステムに含まれる周辺装置は上記実施例
に限定されるものではなく、適宜のホストシステムを利
用してエミュレーションシステムを構成することができ
る。また、このホストシステムはエンジニアリングワー
クステーションであってもよい、また、上記実施例のエ
ミュレーションシステムにおいては、ソフトウェアデバ
ッグ対象プログラムの内容次第ではターゲットシステム
が全くない状態でもソフトウェアデバッグが可能である
以上の説明では主として本発明者によってなされた発明
をその背景となった利用分野である、1つのプロセッサ
がユーザプログラムとシステムプログラムとを選択的に
実行するエミュレータに適用した場合について説明した
が、それに限定されるものではなく、専らユーザプログ
ラムを実行するためのエミュレーションプロセッサと、
専らシステムプログラムを実行するためのコントロール
プロセッサとを有するエミュレータ及びそのようなエミ
ュレータを含むエミュレーションシステムにも適用する
ことができる。
〔発明の効果〕
本願において開示される発明のうち代表的なものによっ
て得られる効果を簡単に説明すれば下記の通りである。
すなわち、ユーザプログラムで実行すべき処理の一部を
、ホストシステムが有する入出力機器インタフェース回
路や入出力機器などの周辺装置を利用してホストシステ
ムのプログラムに代替させるから、ユーザプログラムで
実行すべき処理の一部を必要に応じてホストシステムが
代替処理することにより、ユーザプログラムに従って動
作制御されるべきターゲットシステムに特定回路ブロッ
クや入出力機器などが取り揃えられていない場合にも、
ホストシステムが備える資産を有効に利用してユーザプ
ログラムのソフトウェアデバッグを行うことができる。
これにより、ターゲットシステムのハードウェアが完成
するまでシステムデバッグを行うことができなかったり
、ハードウェアを揃えるための経済的負担が大きくなる
という従来のエミュレーション技術の制約事項を解消す
ることができる。
また、ホストシステムによる代替処理の必要な時にユー
ザプログラムの実行を停止させ、これに応じてホストシ
ステムに代替処理を指示するようにすることにより、ユ
ーザプログラムによる処理状態と、ホストシステムによ
る代替処理状態との間の連続性を容易に確保して、シス
テムデバッグ効率を向上させることができる。
また、ホストシステムが直接ユーザプログラムの実行状
態を監視して代替処理に分岐するようにすることにより
、ホストシステムによる代替処理に付帯する制御をホス
トシステムに負担させることができる。
また、ターゲットシステムのためのユーザメモリ空間と
エミュレータのシステムメモリ空間との間でデータ転送
に際しては、システムメモリ空間とユーザメモリ空間と
の間のデータ転送方向をコントロールレジスタに任意に
設定し、その設定状態に応じ、エミュレータ内蔵プロセ
ッサのリード・ライト制御に従ってアクセスされるメモ
リ空間を、ユーザメモリ空間又はシステムメモリ空間に
切換制御するようにすることにより、ユーザメモリ空間
とシステムメモリ空間との間でのデータ転送方向をハー
ドウェア的に制御することができるようになる。これに
より、相互に異なるメモリ空間の間でデータ転送を行う
場合にデータ転送命令の連続実行が可能になり、アクセ
スされるメモリ空間を選択的にユーザメモリ空間又はシ
ステムメモリ空間に切換えて行うデータ転送制御の効率
化を図ることができる。特に、データ転送回数を監視手
段でハードウェア的に制御するようにすれば、データブ
ロック転送命令を用いなくても若しくは用いることがで
きなくても、メモリ空間の切換制御を必要とするデータ
転送制御の効率化を図ることができる。
そして、上記データ転送技術を上記ホストシステムによ
る代替処理のためのデータ転送制御に利用することによ
り、データ転送にかかる時間を短縮してシステムデバッ
グ効率の向上に寄与することができる。
【図面の簡単な説明】
第1図は本発明の一実施例であるエミュレーションシス
テムのブロック図。 第2図はユーザプログラムに対する代替処理の実行手順
の一例並びに代替処理に付随するデータの流れの一例が
示される説明図である。 1・・・エミュレータ、2・・・ホストシステム、3・
・・ユーザインタフェース、4・・・ターゲットシステ
ム5・・・システムインタフェース、6・・・プロセッ
サ、7・・・ホストコンピュータ、8・・・エミュレー
シ馬ンメモリ、9・・・ブレークコントロール回路、1
1・・・システムメモリ、15・・・共有メモリ、16
・・・切換制御回路、20・・・コントロールレジスタ
、21・・・切換制御論理、22・・・計数制御回路、
3oメインメモリ、31・・・入力装置、32・・・表
示装置、33・・・出力装置、34・・・補助記憶装置
、40・・・ユーザプログラム、41・・・システムプ
ログラム、42・・・ホストプログラム、IRQ・・・
割込み信号、ACK・・・アクルッジ信号、BRK・・
・ブレーク信号。

Claims (1)

  1. 【特許請求の範囲】 1、周辺装置を含むホストシステムと、上記ホストシス
    テムの指示に従ってデバッグ対象とされるユーザプログ
    ラムを実行しながらターゲットシステムを代行制御可能
    なエミュレータと、このエミュレータに含まれていて、
    ユーザプログラムの実行状態に応じてホストシステムに
    上記周辺装置の動作を指示する第1手段と、ホストシス
    テムに含まれていて、上記第1手段の指示に基づいてホ
    ストシステムの周辺装置を動作制御する第2手段と、第
    2手段の指示に基づいて得られた情報、又は第2手段の
    指示に基づく動作に必要な情報を、ホストシステムとエ
    ミュレータとの間でやりとり可能なインタフェース手段
    とを備えて成るエミュレーションシステム。 2、上記第1手段は、ユーザプログラムの実行状態を監
    視するブレークコントロール回路の指示に基づいてユー
    ザプログラムの実行が停止されたとき、ターゲットシス
    テムのためのユーザメモリ空間とエミュレータのシステ
    ムメモリ空間との間でのデータ転送制御を行うと共に、
    ホストシステムに割込み要求を発生させる、システムプ
    ログラムとこれを実行するプロセッサとを含み、第2手
    段は、上記割込み要求に従って周辺装置を動作させると
    共に、その処理に必要な情報をエミュレータのシステム
    メモリ空間から取り込み、又は処理されたデータを上記
    システムメモリ空間若しくはユーザメモリ空間に引渡し
    する、ホストプログラムとこれを実行するプロセッサを
    含んで成る請求項1記載のエミュレーションシステム。 3、上記第1手段に、システムメモリ空間とユーザメモ
    リ空間との間でのデータ転送方向を任意に設定可能なコ
    ントロールレジスタと、このコントロールレジスタに設
    定されたデータ転送方向に従い、上記プロセッサによる
    データのリード・ライト制御に基づいてプロセッサのア
    クセスするメモリ空間をユーザメモリ空間又はシステム
    メモリ空間に切り換え制御する制御手段とを設けた請求
    項2記載のエミュレーションシステム。 4、周辺装置を含むホストシステムと、上記ホストシス
    テムの指示に従ってデバッグ対象とされるユーザプログ
    ラムを実行しながらターゲットシステムを代行制御可能
    なエミュレータとを備えて成るエミュレーションシステ
    ムにおいて、ユーザプログラムの実行状態に応する情報
    及びその他の情報をエミュレータとホストシステムとの
    間でやりとり可能なインタフェース手段を設け、また、
    上記ホストシステムは、上記インタフェース手段を介し
    てエミュレータによるユーザプログラムの実行状態を監
    視し、ユーザプログラムの実行状態が所定の状態に到達
    したとき、必要な情報を上記インタフェース手段から受
    け取ってホストシステムの周辺装置を動作制御すると共
    に、この動作に基づいて得られた必要な情報を上記イン
    タフェース手段に与えるための、ホストプログラムとこ
    れを実行するホストプロセッサとを含んで成るものであ
    るエミュレーションシステム。 5、デバッグ対象とされるユーザプログラムを実行しな
    がらターゲットシステムを代行制御すると共に、ユーザ
    プログラムの実行停止時にはシステムプログラムにより
    内部を制御するエミュレータにおいて、ターゲットシス
    テムのためのユーザメモリ空間とエミュレータのシステ
    ムメモリ空間とをアクセス可能なプロセッサと、システ
    ムメモリ空間とユーザメモリ空間との間でのデータ転送
    方向を任意に設定可能なコントロールレジスタと、この
    コントロールレジスタに設定されたデータ転送方向に従
    い、上記プロセッサによるデータのリード・ライト制御
    に基づいてプロセッサがアクセスするメモリ空間をユー
    ザメモリ空間又はシステムメモリ空間に切り換え制御す
    る制御手段と、データ転送回数を監視し、設定回数に到
    達したとき上記プロセッサにそのデータ転送命令の実行
    停止を通知するための信号を出力する監視手段とを設け
    て成るエミュレータ。
JP1029503A 1989-02-08 1989-02-08 エミュレーションシステム及びエミュレータ Expired - Lifetime JP2797280B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1029503A JP2797280B2 (ja) 1989-02-08 1989-02-08 エミュレーションシステム及びエミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1029503A JP2797280B2 (ja) 1989-02-08 1989-02-08 エミュレーションシステム及びエミュレータ

Publications (2)

Publication Number Publication Date
JPH02207340A true JPH02207340A (ja) 1990-08-17
JP2797280B2 JP2797280B2 (ja) 1998-09-17

Family

ID=12277890

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1029503A Expired - Lifetime JP2797280B2 (ja) 1989-02-08 1989-02-08 エミュレーションシステム及びエミュレータ

Country Status (1)

Country Link
JP (1) JP2797280B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319562A (ja) * 1995-12-21 1997-12-12 Mitsubishi Electric Corp 複合計算機システム及び複合計算機システムへのインストール/アンインストール方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59189435A (ja) * 1983-04-13 1984-10-27 Nec Corp デ−タ転送制御装置
JPS63143947U (ja) * 1987-03-09 1988-09-21
JPS63269237A (ja) * 1987-04-27 1988-11-07 Nec Corp マイクロコンピユ−タの開発装置
JPH01234943A (ja) * 1988-03-16 1989-09-20 Hitachi Ltd エミュレータ

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59189435A (ja) * 1983-04-13 1984-10-27 Nec Corp デ−タ転送制御装置
JPS63143947U (ja) * 1987-03-09 1988-09-21
JPS63269237A (ja) * 1987-04-27 1988-11-07 Nec Corp マイクロコンピユ−タの開発装置
JPH01234943A (ja) * 1988-03-16 1989-09-20 Hitachi Ltd エミュレータ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319562A (ja) * 1995-12-21 1997-12-12 Mitsubishi Electric Corp 複合計算機システム及び複合計算機システムへのインストール/アンインストール方法

Also Published As

Publication number Publication date
JP2797280B2 (ja) 1998-09-17

Similar Documents

Publication Publication Date Title
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
US6944850B2 (en) Hop method for stepping parallel hardware threads
JPS6258341A (ja) 入出力割込処理方式
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
KR950009455A (ko) 디지탈 신호처리 프로세서
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JPH01173247A (ja) スレーブ制御装置
US5021991A (en) Coprocessor instruction format
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
KR920003044B1 (ko) 가상 머신 시스템용의 게스트 머신 실행 제어 시스템
US4994961A (en) Coprocessor instruction format
JPH02207340A (ja) エミュレーションシステム及びエミュレータ
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
JP2520158B2 (ja) ディジタルシグナルプロセッサのデバッグ方式
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS63177231A (ja) 並列プログラムデバグ方式
JP2954006B2 (ja) エミュレーション装置およびエミュレーション方法
JPS63247861A (ja) コプロセツサ制御方法
JP2711159B2 (ja) プロセッサ動作状態調整方法
JPH0259829A (ja) マイクロコンピュータ