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

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

Info

Publication number
JP2797280B2
JP2797280B2 JP1029503A JP2950389A JP2797280B2 JP 2797280 B2 JP2797280 B2 JP 2797280B2 JP 1029503 A JP1029503 A JP 1029503A JP 2950389 A JP2950389 A JP 2950389A JP 2797280 B2 JP2797280 B2 JP 2797280B2
Authority
JP
Japan
Prior art keywords
memory space
processor
emulator
user
user program
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.)
Expired - Lifetime
Application number
JP1029503A
Other languages
English (en)
Other versions
JPH02207340A (ja
Inventor
勉 斎藤
政光 渡辺
達也 鈴木
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 Solutions Technology Ltd
Original Assignee
Hitachi ULSI Systems 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 Hitachi ULSI Systems Co Ltd filed Critical Hitachi ULSI Systems Co 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)

Description

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

Claims (3)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3526700B2 (ja) * 1995-12-21 2004-05-17 三菱電機株式会社 複合計算機システム

Family Cites Families (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
JPH0652507B2 (ja) * 1987-04-27 1994-07-06 日本電気株式会社 マイクロコンピユ−タの開発装置
JPH01234943A (ja) * 1988-03-16 1989-09-20 Hitachi Ltd エミュレータ

Also Published As

Publication number Publication date
JPH02207340A (ja) 1990-08-17

Similar Documents

Publication Publication Date Title
US4547849A (en) Interface between a microprocessor and a coprocessor
KR970011212B1 (ko) 데이타 프로세서
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) Coprocessor instruction format
KR950009455A (ko) 디지탈 신호처리 프로세서
JPH0731615B2 (ja) 情報処理装置
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4750110A (en) Method and apparatus for executing an instruction contingent upon a condition present in another data processor
JPH08202563A (ja) コンピュータシステム
US5029073A (en) Method for fast establishing a co-processor to memory linkage by main processor
US5021991A (en) Coprocessor instruction format
JP3201786B2 (ja) ディジタル信号処理システムの制御方法
EP0523758B1 (en) A method and apparatus for coordinating execution of an instruction by a coprocessor
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4758950A (en) Method and apparatus for selectively delaying an interrupt of a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
EP0840223B1 (en) Microcomputer capable of accessing an external memory
JP2797280B2 (ja) エミュレーションシステム及びエミュレータ
AU606083B2 (en) Interface between processor and special instruction processor in digital data processing system
US4994961A (en) Coprocessor instruction format
JP3005626B2 (ja) データ処理システムおよびデータ転送方法
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US20070038435A1 (en) Emulation method, emulator, computer-attachable device, and emulator program
JP2808757B2 (ja) デバッグ用マイクロプロセッサ
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor