JP2965058B2 - Cpu命令エミュレートシステム - Google Patents

Cpu命令エミュレートシステム

Info

Publication number
JP2965058B2
JP2965058B2 JP7348456A JP34845695A JP2965058B2 JP 2965058 B2 JP2965058 B2 JP 2965058B2 JP 7348456 A JP7348456 A JP 7348456A JP 34845695 A JP34845695 A JP 34845695A JP 2965058 B2 JP2965058 B2 JP 2965058B2
Authority
JP
Japan
Prior art keywords
cpu
emulation
host machine
machine
function
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 - Fee Related
Application number
JP7348456A
Other languages
English (en)
Other versions
JPH09167102A (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.)
NEC Corp
Original Assignee
Nippon Electric 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP7348456A priority Critical patent/JP2965058B2/ja
Publication of JPH09167102A publication Critical patent/JPH09167102A/ja
Application granted granted Critical
Publication of JP2965058B2 publication Critical patent/JP2965058B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置やそ
の情報処理装置上で実行されるプログラム(ソフトウェ
ア)の開発・保守作業(その開発・保守作業を行うツー
ル)に関し、特にその情報処理装置のCPU(Cent
ral Processing Unit)命令のエミ
ュレート(上記開発・保守のためのエミュレート)を行
うCPU命令エミュレートシステムに関する。なお、以
下、開発・保守の対象となる情報処理装置をターゲット
マシンという。
【0002】
【従来の技術】従来、情報処理装置に関する開発・保守
ツールについては、次の〜に示すような従来技術が
存在した。
【0003】 特開昭61−217840号公報に記
載されている「組込みマイクロコンピュータの開発装
置」は、マイクロコンピュータのプログラムのデバッグ
を行う際に、組込みマイクロコンピュータ内に設けられ
た「デバッグするプログラム」を用いて実際に機器を運
転しつつ、当該プログラムのデバッグを行うことができ
る方式をとっている。
【0004】 上記公報中の「従来の技術」に記載さ
れている技術は、プログラムの開発作業において、RO
M(Read Only Memory)の焼付けを繰
り返して行う方法や、インサーキットエミュレータを使
用してプログラムのトレースを組込み機器においてスタ
ンドアロンで行う方法をとっている。
【0005】 特開平3−65738号公報に記載さ
れている「携帯端末機のプログラムシミュレーション装
置」は、携帯端末機用アプリケーションプログラム開発
支援装置にデバッグ用のプログラムと通信機能とを設
け、アプリケーションプログラムのデバッグを容易に行
うことができる方式をとっている。
【0006】ここで、上述した従来の技術(情報処理装
置の開発・保守ツール)によっては、いずれによって
も、そのままでは(通信機器等の特別の仕組みを組み込
むことなしには)、遠隔的な開発・保守作業(リモート
デバッグ等)を実現することができなかった。
【0007】
【発明が解決しようとする課題】上述した従来の技術で
は、ターゲットマシンに通信機器等の特別の仕組みを組
み込むことなしには、遠隔的な開発・保守作業を実現す
ることができないので、ターゲットマシンに関する開発
・保守作業に制約が生じ、その開発・保守作業の作業効
率が低下するという問題点があった。例えば、従来の技
術では、ターゲットマシンの近くの箇所と離れた箇所と
の2箇所で開発・保守作業を行うということができなか
った。
【0008】なお、上述の特開平3−65738号公報
に係る発明では、携帯端末機用アプリケーションプログ
ラム開発支援装置にデバッグ用のプログラムと通信機能
とを組み込めばリモートデバッグが可能になるが、その
ような通信機器等を設けることが必要となるので、不要
な機器の存在によってコスト高になるという問題点があ
った。
【0009】また、特開昭61−217840号公報に
係る発明では、開発・保守作業とともにターゲットマシ
ンの実際の運用が可能になるという点で効率的ではある
が、遠隔的な開発・保守作業を実現することは全く考慮
されていなかった。
【0010】さらに、特開昭61−217840号公報
に記載されている「インサーキットエミュレータを使用
するデバッグ方式」では、スタンドアロンのみでしか使
用できないので、そのようなインサーキットエミュレー
タではリモートデバッグ等の遠隔的な開発・保守作業を
全く行うことができなかった。
【0011】本発明の目的は、上述の点に鑑み、ターゲ
ットマシンに特別の仕組みを組み込むことなしに(エミ
ュレート用CPUによって本来のCPUを置換すること
は必要になるがこの置換は通信機器等の特別の仕組みを
組み込むことに比べてはるかに簡易なことである)、リ
モートアクセスによるCPU命令レベルでのエミュレー
トを行うことができるようにし、ターゲットマシンに関
する開発・保守作業(プログラムの開発支援作業やトラ
ブル解析等の保守作業等)の作業効率を向上させること
ができるCPU命令エミュレートシステムを提供するこ
とにある。
【0012】
【課題を解決するための手段】本発明のCPU命令エミ
ュレートシステムは、ターゲットマシンの本来のCPU
と同一の機能を備え、さらにエミュレートを実現するた
めの機能を備え、ターゲットマシンの本来のCPUに置
換してターゲットマシン上に設置されるエミュレート用
CPUと、前記エミュレート用CPUに対してエミュレ
ート制御用のコマンドを示す信号を発行し、当該信号に
基づく前記エミュレート用CPUの実行に基づいて遷移
するターゲットマシンの状態を検出するCPU機能エミ
ュレート機構と、リモートホストマシンとの交信とロー
カルホストマシンとの交信との選択を制御するホストマ
シン制御機構を備え、リモートホストマシンおよびロー
カルホストマシンから発行されるエミュレート制御用の
コマンドを前記CPU機能エミュレート機構に送付し、
前記CPU機能エミュレート機構から受け取ったターゲ
ットマシンの状態に基づいてCPUエミュレート結果を
生成し、リモートホストマシン上およびローカルホスト
マシン上に出力するために適した形式に当該CPUエミ
ュレート結果を加工し、加工後の当該CPUエミュレー
ト結果をリモートホストマシンおよびローカルホストマ
シンに対して通信機構を介して送信するCPUエミュレ
ート制御部とを有する。
【0013】
【発明の実施の形態】図1は、本発明のCPU命令エミ
ュレートシステムの一実施例の構成を示すブロック図で
ある。
【0014】本実施例のCPU命令エミュレートシステ
ムは、ホストマシン制御機構2を備えるCPUエミュレ
ート制御部1と、CPU機能エミュレート機構3と、エ
ミュレート用CPU4と、ローカルホストマシン5と、
CPUエミュレート制御部通信機構6と、リモートホス
トマシン通信機構7と、リモートホストマシン8と、タ
ーゲットマシン10とを含んで構成されている(CPU
エミュレート制御部通信機構6およびリモートホストマ
シン通信機構7によって「通信機構」が形成されてい
る)。
【0015】ターゲットマシン10は、開発・保守の対
象となる通常の情報処理装置であり、CPU(図1では
エミュレート用CPU4に置換されている)と、メモリ
(ROMおよび/またはRAM(Random Acc
ess Memory))と、各種周辺装置とを含んで
構成されている。
【0016】本実施例、ひいては本発明の適用に際して
は、ターゲットマシン10のCPU(本来のCPU)が
エミュレート用CPU4に物理的に置換され(CPUの
すげ替えが行われ)、本来のCPU自身の機能がエミュ
レート用CPU4によって実現されている。
【0017】エミュレート用CPU4は、上述の「本来
のCPUと同一の機能」とともに、エミュレートを実現
するための機能(ワンステップ毎の命令実行を可能なら
しめる機能,デバッグ等のためにターゲットマシン10
の状態を外部から検出できるようにする機能,およびト
レース機能等)を備えており、CPU機能エミュレート
機構3の制御等によって本来のCPUの機能のエミュレ
ートを実現する。
【0018】CPUエミュレート制御部1を介してCP
U機能エミュレート機構3を制御するためには、エミュ
レートのためのコマンドの入力等を行うホストマシンが
必要になる。本実施例では、ローカルホストマシン5
(ターゲットマシン10の近傍のホストマシン)と、リ
モートホストマシン8(ターゲットマシン10から遠隔
の箇所に存在するホストマシン)との、2台のホストマ
シンが使用される。このように、2台のホストマシンが
設けられているので、CPUエミュレート制御部1内に
ホストマシン制御機構2が設置される。ホストマシン制
御機構2は、ローカルホストマシン5とリモートホスト
マシン8とを適切に切り分けた上で、両ホストマシンか
らのエミュレート制御用のコマンドの受付けや両ホスト
マシンへのCPUエミュレート結果の送信等を行うため
の制御を行う。
【0019】リモートホストマシン8とCPUエミュレ
ート制御部1(具体的にはホストマシン制御機構2)と
の接続は、各々に対応して、リモートホストマシン通信
機構7とCPUエミュレート制御部通信機構6とを用意
することによって実現される。なお、この通信機構(C
PUエミュレート制御部通信機構6およびリモートホス
トマシン通信機構7)による通信方法は、汎用通信規格
(RS−232C,Ethernet等)や、独自の通
信シーケンスによって行われる。
【0020】図2は、本実施例のCPU命令エミュレー
トシステムの処理を示す流れ図である。この処理は、初
期化ステップ201と、ローカルホストマシンコマンド
入力受取り試行ステップ202と、ローカルホストマシ
ンコマンド入力有無チェックステップ203と、リモー
トホストマシンコマンド入力受取り試行ステップ204
と、リモートホストマシンコマンド入力有無チェックス
テップ205と、CPUエミュレート処理ステップ20
6と、CPUエミュレート結果ローカルホストマシン出
力ステップ207と、CPUエミュレート結果リモート
ホストマシン出力ステップ208とからなる。
【0021】次に、このように構成された本実施例のC
PU命令エミュレートシステムの動作について説明す
る。
【0022】CPUエミュレート制御部1は、ホストマ
シン制御機構2によって、ローカルホストマシン5とリ
モートホストマシン8とからのコマンド(エミュレート
制御用のコマンド)を受け付け、そのコマンドに基づい
てCPU機能エミュレート機構3にCPUエミュレート
処理を実行させる。
【0023】最初に、CPUエミュレート制御部1は、
CPU機能エミュレート機構3にその旨を示す指令を発
行することや、自己の制御内容を新たなエミュレートを
実行する状態に設定すること等により、本実施例のCP
U命令エミュレートシステムの初期化を行う(ステップ
201)。なお、CPU機能エミュレート機構3は、上
記指令に基づき、自己とエミュレート用CPU4の状態
を新たなエミュレートを実行する状態に設定する。
【0024】次に、CPUエミュレート制御部1内のホ
ストマシン制御機構2は、ローカルホストマシン5から
のコマンド入力の受取りを試み(ステップ202)、そ
のコマンド入力の有無をチェックする(ステップ20
3)。
【0025】ステップ203のチェックで「コマンド入
力がない」と判定した場合には、リモートホストマシン
8からのコマンド入力の受取りを試み(ステップ20
4)、そのコマンド入力の有無をチェックする(ステッ
プ205)。なお、リモートホストマシン8より入力さ
れるコマンドは、通信機構(リモートホストマシン通信
機構7およびCPUエミュレート制御部通信機構6)を
介してホストマシン制御機構2に送信される。
【0026】ステップ205のチェックで「コマンド入
力がない」と判定した場合には、ステップ202の「ロ
ーカルホストマシン5からのコマンド入力の受取りの試
行」に制御を戻す。これにより、実際にコマンド入力が
あるまで、ローカルホストマシン5およびリモートホス
トマシン8からのコマンド入力の有無のチェックを繰り
返す。
【0027】ホストマシン制御機構2によるステップ2
03または205のチェックで「コマンド入力がある」
と判定された場合には、CPUエミュレート制御部1は
そのコマンドに基づくCPUエミュレート処理に移行す
る(ステップ206)。
【0028】すなわち、以下の〜に示すような手順
でCPUエミュレート処理が実行される。
【0029】 CPUエミュレート制御部1は、受け
付けたコマンドをCPU機能エミュレート機構3に送付
する。
【0030】 CPU機能エミュレート機構3は、そ
のコマンドを所定の形式(エミュレート用CPU4が認
識できる形式)の信号にし、その信号(そのコマンドを
示す信号)をエミュレート用CPU4に発行する。
【0031】 エミュレート用CPU4は、その信号
に基づく実行によって、ターゲットマシン10を動作さ
せる。
【0032】 CPU機能エミュレート機構3は、そ
の動作によって遷移するターゲットマシン10の状態
(ターゲットマシン10におけるメモリ,レジスタ,お
よびI/O(Input/Output)ポート等の状
態)の内容を、エミュレート用CPU4を介して検出
し、その検出内容(ターゲットマシン10の状態)をC
PUエミュレート制御部1に送付する。
【0033】 CPUエミュレート制御部1は、その
検出内容を解析(判断)し、その検出内容やその解析結
果に基づいてCPUエミュレート結果を生成する。
【0034】 CPUエミュレート制御部1は、さら
に、で生成したCPUエミュレート結果をローカルホ
ストマシン5上やリモートホストマシン8上に出力(表
示,印字,およびファイル出力等)するために適した形
式に加工(編集)する。
【0035】CPUエミュレート制御部1は、以上の一
連の処理(CPUエミュレート処理)が終了すると、そ
のCPUエミュレート結果をホストマシン制御機構2を
介してローカルホストマシン5に送信し、ローカルホス
トマシン5でそのCPUエミュレート結果を出力(表示
等)させる(ステップ207)。
【0036】また、CPUエミュレート制御部1は、そ
のCPUエミュレート結果をホストマシン制御機構2お
よび通信機構(CPUエミュレート制御部通信機構6お
よびリモートホストマシン通信機構7)を介してリモー
トホストマシン8に送信し、リモートホストマシン8で
そのCPUエミュレート結果を出力(表示等)させる
(ステップ208)。
【0037】なお、ステップ207および208の各ホ
ストマシンにおけるCPUエミュレート結果の出力は、
ホストマシン制御機構2の制御によって、いずれかのホ
ストマシンに対する出力(例えば、コマンド入力があっ
たホストマシンだけへの出力)だけにとどめるようにす
ることも可能である。
【0038】ステップ207および208の処理が終了
すると、ステップ202の「ローカルホストマシン5か
らのコマンド入力の受取りの試行」に制御が戻り、再度
ホストマシン(ローカルホストマシン5またはリモート
ホストマシン8)からのコマンド入力の待ち状態とな
る。
【0039】図3は、本発明のCPU命令エミュレート
システムの他の実施例の構成を示すブロック図である。
【0040】このCPU命令エミュレートシステムは、
CPUエミュレート制御部1と、CPU機能エミュレー
ト機構3と、エミュレート用CPU4と、CPUエミュ
レート制御部通信機構6と、リモートホストマシン通信
機構7と、リモートホストマシン8と、ターゲットマシ
ン10(CPU(図3ではエミュレート用CPU4に置
換されている),メモリ,および各種周辺装置等を持つ
通常の情報処理装置)とを含んで構成されている(CP
Uエミュレート制御部通信機構6およびリモートホスト
マシン通信機構7によって「通信機構」が形成されてい
る)。なお、図1と図3とにおいて、対応する機能実現
手段については、同一の符号を使用している。
【0041】このCPU命令エミュレートシステムは、
以下の内容を持つ機能実現手段を有している。
【0042】 ターゲットマシン10の本来のCPU
と同一の機能を備え、さらにエミュレートを実現するた
めの機能を備え、ターゲットマシン10の本来のCPU
に置換してターゲットマシン10上に設置されるエミュ
レート用CPU4
【0043】 エミュレート用CPU4に対してエミ
ュレート制御用のコマンドを示す信号を発行し、当該信
号に基づくエミュレート用CPU4の実行に基づいて遷
移するターゲットマシン10の状態を検出するCPU機
能エミュレート機構3
【0044】 リモートホストマシン8から発行され
るエミュレート制御用のコマンドをCPU機能エミュレ
ート機構3に送付し、CPU機能エミュレート機構3か
ら受け取ったターゲットマシン10の状態に基づいてC
PUエミュレート結果を生成し、リモートホストマシン
8上に出力するために適した形式に当該CPUエミュレ
ート結果を加工(編集)し、加工後の当該CPUエミュ
レート結果をリモートホストマシン8に対して通信機構
(CPUエミュレート制御部通信機構6およびリモート
ホストマシン通信機構7)を介して送信するCPUエミ
ュレート制御部1
【0045】この実施例のCPU命令エミュレートシス
テムにおいては、ローカルホストマシン5(図1参照)
からのコマンド入力が考慮されていない。したがって、
図1に示すCPU命令エミュレートシステムにおけるホ
ストマシン制御機構2による制御が不要になる。
【0046】ただし、図1に示すCPU命令エミュレー
トシステムにおいては、ターゲットマシンの近傍と遠隔
との両箇所からの開発・保守作業が可能になるという利
点がある。その意味では、図1に示すCPU命令エミュ
レートシステムの構成の方が、より一般的であると考え
られる。
【0047】
【発明の効果】以上説明したように、本発明によると、
以下に示すような効果が生じる。
【0048】一般的な効果としては、ターゲットマシン
内のCPUをエミュレート用CPUに置換するだけで、
通信機器等の特別な機器(デバッグ等のための特別の仕
組み)をターゲットマシンに設ける必要がなく、リモー
トアクセスによるCPU命令レベルでのエミュレートを
行うことが可能になり、遠隔的な開発・保守作業を実現
でき、ターゲットマシンに関する開発・保守作業の作業
効率を向上させることができるという効果がある。
【0049】具体的な効果としては、ローカルホストマ
シンおよびリモートホストマシンの2台のホストマシン
を用意し、ターゲットマシンの近くの箇所と離れた箇所
との2箇所でデバッグや保守作業等を行うことができる
ようになるという効果がある。
【図面の簡単な説明】
【図1】本発明のCPU命令エミュレートシステムの一
実施例の構成を示すブロック図である。
【図2】図1に示すCPU命令エミュレートシステムの
処理を示す流れ図である。
【図3】本発明のCPU命令エミュレートシステムの他
の実施例の構成を示すブロック図である。
【符号の説明】
1 CPUエミュレート制御部 2 ホストマシン制御機構 3 CPU機能エミュレート機構 4 エミュレート用CPU 5 ローカルホストマシン 6 CPUエミュレート制御部通信機構 7 リモートホストマシン通信機構 8 リモートホストマシン 10 ターゲットマシン 201 初期化ステップ 202 ローカルホストマシンコマンド入力受取り試行
ステップ 203 ローカルホストマシンコマンド入力有無チェッ
クステップ 204 リモートホストマシンコマンド入力受取り試行
ステップ 205 リモートホストマシンコマンド入力有無チェッ
クステップ 206 CPUエミュレート処理ステップ 207 CPUエミュレート結果ローカルホストマシン
出力ステップ 208 CPUエミュレート結果リモートホストマシン
出力ステップ

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 ターゲットマシンの本来のCPUと同一
    の機能を備え、さらにエミュレートを実現するための機
    能を備え、ターゲットマシンの本来のCPUに置換して
    ターゲットマシン上に設置されるエミュレート用CPU
    と、 前記エミュレート用CPUに対してエミュレート制御用
    のコマンドを示す信号を発行し、当該信号に基づく前記
    エミュレート用CPUの実行に基づいて遷移するターゲ
    ットマシンの状態を検出するCPU機能エミュレート機
    構と、 リモートホストマシンとの交信とローカルホストマシン
    との交信との選択を制御するホストマシン制御機構を備
    え、リモートホストマシンおよびローカルホストマシン
    から発行されるエミュレート制御用のコマンドを前記C
    PU機能エミュレート機構に送付し、前記CPU機能エ
    ミュレート機構から受け取ったターゲットマシンの状態
    に基づいてCPUエミュレート結果を生成し、リモート
    ホストマシン上およびローカルホストマシン上に出力す
    るために適した形式に当該CPUエミュレート結果を加
    工し、加工後の当該CPUエミュレート結果をリモート
    ホストマシンおよびローカルホストマシンに対して通信
    機構を介して送信するCPUエミュレート制御部とを有
    することを特徴とするCPU命令エミュレートシステ
    ム。
  2. 【請求項2】 ローカルホストマシンからのコマンド入
    力の受取りの試行および当該コマンド入力の有無の判定
    とリモートホストマシンからのコマンド入力の受取りの
    試行および当該コマンド入力の有無の判定とを繰り返す
    ことによって「リモートホストマシンとの交信とローカ
    ルホストマシンとの交信との選択」を制御するホストマ
    シン制御機構を備えるCPUエミュレート制御部を有す
    ることを特徴とする請求項1記載のCPU命令エミュレ
    ートシステム。
JP7348456A 1995-12-18 1995-12-18 Cpu命令エミュレートシステム Expired - Fee Related JP2965058B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7348456A JP2965058B2 (ja) 1995-12-18 1995-12-18 Cpu命令エミュレートシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7348456A JP2965058B2 (ja) 1995-12-18 1995-12-18 Cpu命令エミュレートシステム

Publications (2)

Publication Number Publication Date
JPH09167102A JPH09167102A (ja) 1997-06-24
JP2965058B2 true JP2965058B2 (ja) 1999-10-18

Family

ID=18397133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7348456A Expired - Fee Related JP2965058B2 (ja) 1995-12-18 1995-12-18 Cpu命令エミュレートシステム

Country Status (1)

Country Link
JP (1) JP2965058B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108885580B (zh) * 2016-03-23 2022-05-13 雾角系统公司 实时数据流编程中模式驱动反应的组合

Also Published As

Publication number Publication date
JPH09167102A (ja) 1997-06-24

Similar Documents

Publication Publication Date Title
US6868375B1 (en) Emulation of dynamically reconfigurable computer system
JP2965058B2 (ja) Cpu命令エミュレートシステム
JP3652307B2 (ja) プリントエンジンシミュレータ、開発システム、シュミレート方法、コンピュータプログラム製品、及びコンピュータプログラム
KR20050037537A (ko) 무선통신 단말기의 원격제어 방법 및 시스템
CN103257924A (zh) Gdb代理调试方法和装置
JP2002189617A (ja) 評価システム、及び評価方法
Li et al. Research of “Stub” remote debugging technique
JP2002132534A (ja) 入出力試験システム
JP3129397B2 (ja) マイクロコンピュータ用エミュレーション装置
JPH047655A (ja) プログラム評価方法および通信システム評価装置
JP3373581B2 (ja) 計算機システム
JPH07230393A (ja) 情報処理システムおよび情報処理システムのプログラムデバッグ方法
JPS60122432A (ja) 計算機システムにおける割込機能診断方式
JP2000215079A (ja) Cpuデバッガ
KR100477138B1 (ko) 퍼스널컴퓨터시스템
JPH0546429A (ja) ソフトウエアのデバツグ方式
JPH0273435A (ja) 情報処理装置の外部サブルーチンテスト方式
JPH06232947A (ja) 通信制御における受信データの情報および装置情報を出力する装置
JPH11167501A (ja) プログラムデバッグシステムとそのデバッグ方法
JPH05120176A (ja) オンラインテスト装置
JP2000222012A (ja) デバッグ支援装置およびデバッグ支援方法
JPH1040133A (ja) ソフトウェアシミュレータ
JPH09330249A (ja) プロセス制御用計算機システムの開発装置
JPH09114567A (ja) バスデータ転送装置
JPH03209534A (ja) プログラム開発支援装置

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees