JPH07121405A - シミュレーション方式 - Google Patents
シミュレーション方式Info
- Publication number
- JPH07121405A JPH07121405A JP5268588A JP26858893A JPH07121405A JP H07121405 A JPH07121405 A JP H07121405A JP 5268588 A JP5268588 A JP 5268588A JP 26858893 A JP26858893 A JP 26858893A JP H07121405 A JPH07121405 A JP H07121405A
- Authority
- JP
- Japan
- Prior art keywords
- model
- monitor
- mpu
- simulator
- input
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
(57)【要約】
【目的】 機器組込み型マイクロコンピュータ用ソフト
ウェアをターゲットマシンと異なる汎用計算機でシミュ
レーションしてテスト/デバッグ作業を効率的に行う。 【構成】 MPU、及びメモリを模擬するMPUシミュ
レータと、入出力装置を模擬するI/Oモデル、及びM
PUと1つ以上の入出力装置を接続する信号線群を模擬
するI/Oモニタとで構成されるI/Oシミュレータで
あり、上記MPUシミュレータ、I/Oモデル、I/O
モニタを別計算機において動作させ、それらの計算機を
ネットワークで接続しデータを授受することによりシミ
ュレーションを行う。
ウェアをターゲットマシンと異なる汎用計算機でシミュ
レーションしてテスト/デバッグ作業を効率的に行う。 【構成】 MPU、及びメモリを模擬するMPUシミュ
レータと、入出力装置を模擬するI/Oモデル、及びM
PUと1つ以上の入出力装置を接続する信号線群を模擬
するI/Oモニタとで構成されるI/Oシミュレータで
あり、上記MPUシミュレータ、I/Oモデル、I/O
モニタを別計算機において動作させ、それらの計算機を
ネットワークで接続しデータを授受することによりシミ
ュレーションを行う。
Description
【0001】
【産業上の利用分野】本発明は、機器組込み型マイクロ
コンピュータ用ソフトウェアを、実際にソフトウェアが
稼働するターゲットマシンと異なる汎用計算機でシミュ
レーションしてテスト/デバッグ作業を行うためのシミ
ュレーション方式に関する。
コンピュータ用ソフトウェアを、実際にソフトウェアが
稼働するターゲットマシンと異なる汎用計算機でシミュ
レーションしてテスト/デバッグ作業を行うためのシミ
ュレーション方式に関する。
【0002】
【従来の技術】マイコンシステムの開発では、システム
設計の後にハードウェアとソフトウェアを並行に開発し
ている。このような機器組込み型ソフトウェアの開発に
おいては、ハードウェアの開発以前にソフトウェアのテ
ストを行わなければならないという前提があった。そこ
で、ソフトウェアのテストには、実際のコンピュータシ
ステムと論理的等価にシミュレーションを行なうシミュ
レータを用いて、テスト/デバッグを行っている。例え
ば、コンピュータのMPUとメモリ部を模擬するMPU
シミュレータを用いてコンピュータ用ソフトウェアを実
行することで、テスト/デバッグを行っている。又、M
PUシミュレータでの入出力命令(以下、I/O命令)
に対するシミュレーションは、疑似的なデータの設定を
行うなどしてテスト可能であったが、手間がかかるた
め、入出力制御部の制御動作を模擬する入出力モデル、
MPUとバスライン部の制御を模擬して前記入出力モデ
ルの実行を制御する入出力モニタ、前記各入出力モデル
の入出力データを一括管理する入出力ファイルで構成さ
れる入出力シミュレータを用いて、入出力命令に対する
シミュレーションを行っている。
設計の後にハードウェアとソフトウェアを並行に開発し
ている。このような機器組込み型ソフトウェアの開発に
おいては、ハードウェアの開発以前にソフトウェアのテ
ストを行わなければならないという前提があった。そこ
で、ソフトウェアのテストには、実際のコンピュータシ
ステムと論理的等価にシミュレーションを行なうシミュ
レータを用いて、テスト/デバッグを行っている。例え
ば、コンピュータのMPUとメモリ部を模擬するMPU
シミュレータを用いてコンピュータ用ソフトウェアを実
行することで、テスト/デバッグを行っている。又、M
PUシミュレータでの入出力命令(以下、I/O命令)
に対するシミュレーションは、疑似的なデータの設定を
行うなどしてテスト可能であったが、手間がかかるた
め、入出力制御部の制御動作を模擬する入出力モデル、
MPUとバスライン部の制御を模擬して前記入出力モデ
ルの実行を制御する入出力モニタ、前記各入出力モデル
の入出力データを一括管理する入出力ファイルで構成さ
れる入出力シミュレータを用いて、入出力命令に対する
シミュレーションを行っている。
【0003】このような機器組込み型ソフトウェアのテ
スト/デバッグ作業を支援する従来技術として、「シミ
ュレーション方式」(特開昭62ー274436)、
「複数マイクロプロセッサシステムシミュレーション方
式」(特願平1ー288889)がある。
スト/デバッグ作業を支援する従来技術として、「シミ
ュレーション方式」(特開昭62ー274436)、
「複数マイクロプロセッサシステムシミュレーション方
式」(特願平1ー288889)がある。
【0004】
【発明が解決しようとする課題】上記従来技術は、独立
に動作可能であるが、I/Oシミュレータ(I/Oモニ
タ、I/Oモデル)はMPUシミュレータに付属し、M
PUシミュレータと一体となって動作していた。このた
め、複数のMPUと複数の入出力装置のあるシステムの
動作を模擬するためには、MPUシミュレータを複数動
作させ、複数の入出力装置の同期機能を個々のMPUシ
ミュレータに付属するI/Oシミュレータ(I/Oモニ
タ、I/Oモデル)各々に分散して設ける必要があっ
た。即ち、I/Oシミュレータ(I/Oモニタ、I/O
モデル)作成者は、複数の入出力装置の同期機能を個々
のMPUシミュレータに付属するI/Oモデルの数だけ
作成する必要があり、シミュレータの数が増大するほ
ど、作成作業も複雑化し、困難になる問題があった。
に動作可能であるが、I/Oシミュレータ(I/Oモニ
タ、I/Oモデル)はMPUシミュレータに付属し、M
PUシミュレータと一体となって動作していた。このた
め、複数のMPUと複数の入出力装置のあるシステムの
動作を模擬するためには、MPUシミュレータを複数動
作させ、複数の入出力装置の同期機能を個々のMPUシ
ミュレータに付属するI/Oシミュレータ(I/Oモニ
タ、I/Oモデル)各々に分散して設ける必要があっ
た。即ち、I/Oシミュレータ(I/Oモニタ、I/O
モデル)作成者は、複数の入出力装置の同期機能を個々
のMPUシミュレータに付属するI/Oモデルの数だけ
作成する必要があり、シミュレータの数が増大するほ
ど、作成作業も複雑化し、困難になる問題があった。
【0005】又、上記従来技術は、シミュレータの実行
動作も複雑化し、効率が悪くなるという問題があった。
又、上記従来技術は、MPUシミュレータ、I/Oモニ
タ、I/Oモデル各々の間で関数呼出しを行うことによ
り、シーケンシャルなシミュレーションを実現している
が、模擬対象マイコンシステムの装置構成に変更が起き
る度に、各々の関数の呼び出し先、そして呼び出し元の
モジュールを修正しなければいけないという問題があっ
た。
動作も複雑化し、効率が悪くなるという問題があった。
又、上記従来技術は、MPUシミュレータ、I/Oモニ
タ、I/Oモデル各々の間で関数呼出しを行うことによ
り、シーケンシャルなシミュレーションを実現している
が、模擬対象マイコンシステムの装置構成に変更が起き
る度に、各々の関数の呼び出し先、そして呼び出し元の
モジュールを修正しなければいけないという問題があっ
た。
【0006】本発明の目的は、従来の方式における上述
の問題を解消するシミュレーション方式を提供すること
にある。
の問題を解消するシミュレーション方式を提供すること
にある。
【0007】
【課題を解決するための手段】本発明の目的を達成する
ため、本発明のシミュレーション方式は、マイクロプロ
セッサユニット(以下、MPU)、及びメモリを模擬す
るMPUシミュレータと、入出力装置を模擬する入出力
装置模擬部(以下、I/Oモデル)、及びMPUと1つ
以上の入出力装置を接続する信号線群を模擬する入出力
装置模擬部実行制御機構(以下、I/Oモニタ)とで構
成される入出力シミュレータ(以下、I/Oシミュレー
タ)であり、上記MPUシミュレータ、I/Oモデル、
I/Oモニタを別計算機において動作させ、それらの計
算機をネットワークで接続しデータを授受することによ
りシミュレーションを行うことを手段とする。
ため、本発明のシミュレーション方式は、マイクロプロ
セッサユニット(以下、MPU)、及びメモリを模擬す
るMPUシミュレータと、入出力装置を模擬する入出力
装置模擬部(以下、I/Oモデル)、及びMPUと1つ
以上の入出力装置を接続する信号線群を模擬する入出力
装置模擬部実行制御機構(以下、I/Oモニタ)とで構
成される入出力シミュレータ(以下、I/Oシミュレー
タ)であり、上記MPUシミュレータ、I/Oモデル、
I/Oモニタを別計算機において動作させ、それらの計
算機をネットワークで接続しデータを授受することによ
りシミュレーションを行うことを手段とする。
【0008】又、前記の方法において、MPUシミュレ
ータ、I/Oモデル、I/Oモニタを別プロセスで互い
に動作させ、それらのプロセスをネットワークで接続し
データを授受することによりシミュレーションを行うこ
とを手段とする。又、前記の方法において、 MPUシ
ミュレータとI/Oモデルの間での同期管理と割込み管
理を行なう機能をI/Oモニタに持たせることを手段と
する。又、前記の方法において、数のMPUシミュレー
タ、I/Oモデル、I/Oモニタを動作させる時、これ
らの同期管理と割込み管理を行なう機能を複数の MP
U、及び入出力装置間を接続する信号線群を模擬するシ
ステムバスI/Oモニタに持たせることを手段とする。
ータ、I/Oモデル、I/Oモニタを別プロセスで互い
に動作させ、それらのプロセスをネットワークで接続し
データを授受することによりシミュレーションを行うこ
とを手段とする。又、前記の方法において、 MPUシ
ミュレータとI/Oモデルの間での同期管理と割込み管
理を行なう機能をI/Oモニタに持たせることを手段と
する。又、前記の方法において、数のMPUシミュレー
タ、I/Oモデル、I/Oモニタを動作させる時、これ
らの同期管理と割込み管理を行なう機能を複数の MP
U、及び入出力装置間を接続する信号線群を模擬するシ
ステムバスI/Oモニタに持たせることを手段とする。
【0009】
【作用】本発明の目的を達成するため、本発明は、MP
Uシミュレータ、I/Oモデル、I/Oモニタを別計算
機上で動作させることにより、計算機の負荷を減少可能
にし、かつ複数のマイクロプロセッサを搭載した複雑な
コンピュータシステムでも実際のコンピュータシステム
と同等の動作をシミュレート可能にし、ひいては、テス
ト/デバッグ作業を効率化することにある。
Uシミュレータ、I/Oモデル、I/Oモニタを別計算
機上で動作させることにより、計算機の負荷を減少可能
にし、かつ複数のマイクロプロセッサを搭載した複雑な
コンピュータシステムでも実際のコンピュータシステム
と同等の動作をシミュレート可能にし、ひいては、テス
ト/デバッグ作業を効率化することにある。
【0010】又、前記の方法において、MPUシミュレ
ータ、I/Oモデル、I/Oモニタを別プロセス上で動
作させることにより、複数のマイクロプロセッサを搭載
した複雑なコンピュータシステムでも実際のコンピュー
タシステムと同等の動作をシミュレート可能に、かつ従
来では複数の入出力装置の同期機能をI/Oモデルの数
だけ作成したが、それを一つに統一できることができ、
ひいては、テスト/デバッグ作業を効率化することにあ
る。
ータ、I/Oモデル、I/Oモニタを別プロセス上で動
作させることにより、複数のマイクロプロセッサを搭載
した複雑なコンピュータシステムでも実際のコンピュー
タシステムと同等の動作をシミュレート可能に、かつ従
来では複数の入出力装置の同期機能をI/Oモデルの数
だけ作成したが、それを一つに統一できることができ、
ひいては、テスト/デバッグ作業を効率化することにあ
る。
【0011】又、前記の方法において、MPUシミュレ
ータとI/Oモデルの間での同期管理と割込み管理を行
なう機能をI/Oモニタに持たせることにより、複数の
マイクロプロセッサを搭載した複雑なコンピュータシス
テムでも実際のコンピュータシステムと同等の動作をシ
ミュレート可能に、かつ従来では複数の入出力装置の同
期機能をI/Oモデルの数だけ作成したが、それを一つ
に統一できることができ、ひいては、テスト/デバッグ
作業を効率化することにある。
ータとI/Oモデルの間での同期管理と割込み管理を行
なう機能をI/Oモニタに持たせることにより、複数の
マイクロプロセッサを搭載した複雑なコンピュータシス
テムでも実際のコンピュータシステムと同等の動作をシ
ミュレート可能に、かつ従来では複数の入出力装置の同
期機能をI/Oモデルの数だけ作成したが、それを一つ
に統一できることができ、ひいては、テスト/デバッグ
作業を効率化することにある。
【0012】又、前記の方法において、複数のMPUシ
ミュレータ、I/Oモデル、I/Oモニタを動作させる
時、これらの同期管理と割込み管理を行なう機能を複数
のMPU、及び入出力装置間を接続する信号線群を模擬
するシステムバスI/Oモニタに持たせることにより、
複数のマイクロプロセッサを搭載した複雑なコンピュー
タシステムでも実際のコンピュータシステムと同等の動
作をシミュレート可能に、かつ従来では複数の入出力装
置の同期機能をI/Oモデルの数だけ作成したが、それ
を一つに統一できることができ、ひいては、テスト/デ
バッグ作業を効率化することにある。
ミュレータ、I/Oモデル、I/Oモニタを動作させる
時、これらの同期管理と割込み管理を行なう機能を複数
のMPU、及び入出力装置間を接続する信号線群を模擬
するシステムバスI/Oモニタに持たせることにより、
複数のマイクロプロセッサを搭載した複雑なコンピュー
タシステムでも実際のコンピュータシステムと同等の動
作をシミュレート可能に、かつ従来では複数の入出力装
置の同期機能をI/Oモデルの数だけ作成したが、それ
を一つに統一できることができ、ひいては、テスト/デ
バッグ作業を効率化することにある。
【0013】又、前記の方法において、プロセス間通
信、計算機間通信はソケット通信を用いて行なうことに
より、計算機の機種を問わないオープン化システムを実
現することができ、かつ模擬対象マイコンシステムの装
置構成に変更が起きても、通信で送る相手先のデータを
変更するだけでシミュレーションの呼び出し先を動的に
変更でき、かつモジュールの修正作業を不要にし、ひい
ては、テスト/デバッグ作業を効率化することにある。
信、計算機間通信はソケット通信を用いて行なうことに
より、計算機の機種を問わないオープン化システムを実
現することができ、かつ模擬対象マイコンシステムの装
置構成に変更が起きても、通信で送る相手先のデータを
変更するだけでシミュレーションの呼び出し先を動的に
変更でき、かつモジュールの修正作業を不要にし、ひい
ては、テスト/デバッグ作業を効率化することにある。
【0014】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。図1は本発明の対象であるシミュレータの
構成を示す図である。図2は本発明を適用したシミュレ
ータを動作させるハードウェア環境を示す図である。例
えば、図1について、101はMPUシミュレータであ
り、汎用計算機内のメモリ104に読み込んだ被テスト
プログラム103を実行するMPU(Micro Processer
Unit)の動作をシミュレーションするものである。10
2は入出力シミュレータであり、上記MPUシミュレー
タにおいて被テストプログラム103を実行シミュレー
ションした結果、MPUシミュレータが模擬する対象外
の周辺機器への入出力信号がある場合、その入出力信号
に対する周辺機器の動作をシミュレートするものであ
る。入出力シミュレータ102は、入出力装置自体の動
作を模擬するI/Oモデル106と、MPUシミュレー
タからの入出力信号に対するバスの動作をシミュレーシ
ョンすると共にI/Oモデルの実行を制御するI/Oモ
ニタ105とから構成されている。
に説明する。図1は本発明の対象であるシミュレータの
構成を示す図である。図2は本発明を適用したシミュレ
ータを動作させるハードウェア環境を示す図である。例
えば、図1について、101はMPUシミュレータであ
り、汎用計算機内のメモリ104に読み込んだ被テスト
プログラム103を実行するMPU(Micro Processer
Unit)の動作をシミュレーションするものである。10
2は入出力シミュレータであり、上記MPUシミュレー
タにおいて被テストプログラム103を実行シミュレー
ションした結果、MPUシミュレータが模擬する対象外
の周辺機器への入出力信号がある場合、その入出力信号
に対する周辺機器の動作をシミュレートするものであ
る。入出力シミュレータ102は、入出力装置自体の動
作を模擬するI/Oモデル106と、MPUシミュレー
タからの入出力信号に対するバスの動作をシミュレーシ
ョンすると共にI/Oモデルの実行を制御するI/Oモ
ニタ105とから構成されている。
【0015】図2について、206は開発拠点内で複数
の計算機を接続する通信路を、208、209、210
はシミュレータを動作させる汎用計算機を、207は計
算機に接続された記憶装置をそれぞれ示している。ここ
で記憶装置207はソフトウェア開発で作成されるテス
トデータ、仕様書、プログラム等の全ての情報を一元管
理する。またネットワークで接続された汎用計算機の内
部構成で、外部記憶装置205は、本発明のシミュレー
ション方式の被テストプログラムを格納する。メモリ2
01は、システムを実行する場合に外部記憶装置205
より、シミュレーション方式の被テストプログラムを読
み込むといった一時的にデータやプログラム等を記憶す
る内部記憶装置を示す。MPU203は、メモリ201
に読み込んだシミュレーション方式のプログラムを実行
する演算装置や制御装置を、入力装置204は、利用者
が実行する指示を入力するキーボード、マウス等の装置
を、表示装置202は、利用者への確認事項などを表示
する装置をそれぞれ示す。
の計算機を接続する通信路を、208、209、210
はシミュレータを動作させる汎用計算機を、207は計
算機に接続された記憶装置をそれぞれ示している。ここ
で記憶装置207はソフトウェア開発で作成されるテス
トデータ、仕様書、プログラム等の全ての情報を一元管
理する。またネットワークで接続された汎用計算機の内
部構成で、外部記憶装置205は、本発明のシミュレー
ション方式の被テストプログラムを格納する。メモリ2
01は、システムを実行する場合に外部記憶装置205
より、シミュレーション方式の被テストプログラムを読
み込むといった一時的にデータやプログラム等を記憶す
る内部記憶装置を示す。MPU203は、メモリ201
に読み込んだシミュレーション方式のプログラムを実行
する演算装置や制御装置を、入力装置204は、利用者
が実行する指示を入力するキーボード、マウス等の装置
を、表示装置202は、利用者への確認事項などを表示
する装置をそれぞれ示す。
【0016】図3、図4、図5は本発明の実施例におけ
るMPUシミュレータで入出力命令が起きた時のそれぞ
れの制御フローを示す図であり、図3はMPUの制御フ
ローを、図4はI/Oモニタの制御フローを、図5はI
/Oモデルの制御フローをそれぞれ示す。図6、図7は
MPUシミュレータとI/Oモニタ間、I/Oモニタと
I/Oモデル間をやりとりするメッセージの内容をそれ
ぞれ示す図である。
るMPUシミュレータで入出力命令が起きた時のそれぞ
れの制御フローを示す図であり、図3はMPUの制御フ
ローを、図4はI/Oモニタの制御フローを、図5はI
/Oモデルの制御フローをそれぞれ示す。図6、図7は
MPUシミュレータとI/Oモニタ間、I/Oモニタと
I/Oモデル間をやりとりするメッセージの内容をそれ
ぞれ示す図である。
【0017】本実施例ではI/Oモデル「モデル1」に
I/O命令としてアドレス値「656」、レジスタ値
「28」を設定したら、どのようなハードウェア動作を
行うか、という例を用いて、図3、図4、図5を基に本
実施例を説明する。但し、図2で示す計算機208には
MPUシミュレータが、計算機209にはI/Oモニタ
が、計算機210にはI/Oモデルがそれぞれ動作して
いるものとする。
I/O命令としてアドレス値「656」、レジスタ値
「28」を設定したら、どのようなハードウェア動作を
行うか、という例を用いて、図3、図4、図5を基に本
実施例を説明する。但し、図2で示す計算機208には
MPUシミュレータが、計算機209にはI/Oモニタ
が、計算機210にはI/Oモデルがそれぞれ動作して
いるものとする。
【0018】MPUシミュレータにコマンド入力が起き
た時、入力されたコマンドから、命令とクロックサイク
ル数の値が幾つになったら、周期メッセージをI/Oモ
ニタに送信するかを表す基準値を抽出する(ステップ3
01、ステップ302)。次に抽出した命令がI/O命
令かを検索する(ステップ303、ステップ304)。
た時、入力されたコマンドから、命令とクロックサイク
ル数の値が幾つになったら、周期メッセージをI/Oモ
ニタに送信するかを表す基準値を抽出する(ステップ3
01、ステップ302)。次に抽出した命令がI/O命
令かを検索する(ステップ303、ステップ304)。
【0019】入力された命令がI/O命令でない場合は
ステップ302の処理を行なう。I/O命令の場合、M
PUシミュレータはI/O命令に対応したバス情報をP
IOメッセージとして、I/Oモニタに送信する(ステ
ップ305)。この時に、MPUシミュレータは送信先
がわからない、つまりどのI/Oモデルに対してのI/
O命令かは判断できない状態なので、PIOメッセージ
内の送信先には何も設定せず、I/Oモニタに送信す
る。図6で示す601がMPUシミュレータからI/O
モニタに送信されたPIOメッセージの内容である。例
えば、602はメッセージの種別を表し、ここではメッ
セージ601はI/O命令についてのメッセージである
ことを表す。「送信」603は信号を外部の伝送路に送
り出すという意味を表し、「MPU」604は送信元を
表す。605は送信先を表すが、どのI/Oモデルに対
してのI/O命令かわからないので、ここでは空白であ
る。「IO WR」606は実際の装置上での信号線の
名称を表し、信号線はレジスタライトを行う時に使用す
るバスの名称である。「656」607はI/O命令を
実行させるI/Oモデルのアドレス値を表し、「28」
608はアドレスのレジスタ値をそれぞれ示す。
ステップ302の処理を行なう。I/O命令の場合、M
PUシミュレータはI/O命令に対応したバス情報をP
IOメッセージとして、I/Oモニタに送信する(ステ
ップ305)。この時に、MPUシミュレータは送信先
がわからない、つまりどのI/Oモデルに対してのI/
O命令かは判断できない状態なので、PIOメッセージ
内の送信先には何も設定せず、I/Oモニタに送信す
る。図6で示す601がMPUシミュレータからI/O
モニタに送信されたPIOメッセージの内容である。例
えば、602はメッセージの種別を表し、ここではメッ
セージ601はI/O命令についてのメッセージである
ことを表す。「送信」603は信号を外部の伝送路に送
り出すという意味を表し、「MPU」604は送信元を
表す。605は送信先を表すが、どのI/Oモデルに対
してのI/O命令かわからないので、ここでは空白であ
る。「IO WR」606は実際の装置上での信号線の
名称を表し、信号線はレジスタライトを行う時に使用す
るバスの名称である。「656」607はI/O命令を
実行させるI/Oモデルのアドレス値を表し、「28」
608はアドレスのレジスタ値をそれぞれ示す。
【0020】次に、PIOメッセージを受信したI/O
モニタは、PIOメッセージが送信か、または返信かを
メッセージ内から判別する(ステップ401)。送信で
あれば次に、アドレスバスの内容を管理しているI/O
マップと照合し(ステップ402)、合致するアドレス
のI/Oモデル名を該PIOメッセージ内の送信先に設
定(ステップ403)、そしてPIOメッセージをI/
Oモデルに送信する(ステップ404)。図8は、アド
レスバスの内容を管理しているI/Oマップの内容を示
す図である。例えば、図6で示す609がI/Oモニタ
からI/Oモデルに送信されたPIOメッセージの内容
である。ここで、入力命令の対象となるI/Oモデル
は、図8で示す801の内容から、該当するI/Oモデ
ルは「モデル1」610であることがわかる。
モニタは、PIOメッセージが送信か、または返信かを
メッセージ内から判別する(ステップ401)。送信で
あれば次に、アドレスバスの内容を管理しているI/O
マップと照合し(ステップ402)、合致するアドレス
のI/Oモデル名を該PIOメッセージ内の送信先に設
定(ステップ403)、そしてPIOメッセージをI/
Oモデルに送信する(ステップ404)。図8は、アド
レスバスの内容を管理しているI/Oマップの内容を示
す図である。例えば、図6で示す609がI/Oモニタ
からI/Oモデルに送信されたPIOメッセージの内容
である。ここで、入力命令の対象となるI/Oモデル
は、図8で示す801の内容から、該当するI/Oモデ
ルは「モデル1」610であることがわかる。
【0021】次に、PIOメッセージの送信先に合致す
るI/OモデルがPIOメッセージを受信すると、I/
OモデルはPIOメッセージ内の制御線に対応したレジ
スタリード/レジスタライトの処理を行う。レジスタリ
ードの場合は、PIOメッセージ内のデータバスに、リ
ードした結果を設定して、ステップ502の処理を行う
(ステップ513)。レジスタライトの場合、I/Oモ
デルはMPUの入出力命令に対応したハードウェア動作
を行う(ステップ512)。ここでハードウェアが動作
している状態でイベントが発生した場合(ステップ50
3)、以下の処理を行う。発生したイベントに必要な時
間を生成、そして生成した時間とI/Oモデル名をイベ
ント登録メッセージに設定してI/Oモニタに送信する
(ステップ504)。ここでの生成する時間は、I/O
モデルがI/Oモニタから送信されたPIOメッセージ
を受信してからI/Oモニタにイベント登録メッセージ
を送信するまでの時間を表す。イベント登録メッセージ
を受信したI/Oモニタは、イベント登録メッセージに
設定されているイベントに必要な時間とI/Oモデル名
をI/Oモニタで管理しているイベント登録テーブルに
登録する(ステップ406)。イベント登録テーブルに
登録し終えたら、イベント登録メッセージをI/Oモデ
ルに返信する(ステップ406)。
るI/OモデルがPIOメッセージを受信すると、I/
OモデルはPIOメッセージ内の制御線に対応したレジ
スタリード/レジスタライトの処理を行う。レジスタリ
ードの場合は、PIOメッセージ内のデータバスに、リ
ードした結果を設定して、ステップ502の処理を行う
(ステップ513)。レジスタライトの場合、I/Oモ
デルはMPUの入出力命令に対応したハードウェア動作
を行う(ステップ512)。ここでハードウェアが動作
している状態でイベントが発生した場合(ステップ50
3)、以下の処理を行う。発生したイベントに必要な時
間を生成、そして生成した時間とI/Oモデル名をイベ
ント登録メッセージに設定してI/Oモニタに送信する
(ステップ504)。ここでの生成する時間は、I/O
モデルがI/Oモニタから送信されたPIOメッセージ
を受信してからI/Oモニタにイベント登録メッセージ
を送信するまでの時間を表す。イベント登録メッセージ
を受信したI/Oモニタは、イベント登録メッセージに
設定されているイベントに必要な時間とI/Oモデル名
をI/Oモニタで管理しているイベント登録テーブルに
登録する(ステップ406)。イベント登録テーブルに
登録し終えたら、イベント登録メッセージをI/Oモデ
ルに返信する(ステップ406)。
【0022】返信されてきたイベント登録メッセージを
受信したI/Oモデルは、現在動作しているハードウェ
アの処理を一旦放棄し、PIOメッセージをI/Oモニ
タに返信する(ステップ502)。本実施例では、ハー
ドウェア動作を行なっている最中にI/Oモデル「モデ
ル1」内にイベントが発生したものとして以下を説明す
る。図6で示す611がI/Oモデル「モデル1」から
I/Oモニタに送信されたイベント登録メッセージの内
容を、そして613がI/OモニタからI/Oモデル
「モデル1」に返信されたイベント登録メッセージの内
容である。ここで611内の「1」612は、I/Oモ
デル「モデル1」内で生成した時間を示す。
受信したI/Oモデルは、現在動作しているハードウェ
アの処理を一旦放棄し、PIOメッセージをI/Oモニ
タに返信する(ステップ502)。本実施例では、ハー
ドウェア動作を行なっている最中にI/Oモデル「モデ
ル1」内にイベントが発生したものとして以下を説明す
る。図6で示す611がI/Oモデル「モデル1」から
I/Oモニタに送信されたイベント登録メッセージの内
容を、そして613がI/OモニタからI/Oモデル
「モデル1」に返信されたイベント登録メッセージの内
容である。ここで611内の「1」612は、I/Oモ
デル「モデル1」内で生成した時間を示す。
【0023】次に、返信されてきたPIOメッセージを
受信したI/Oモニタは、受信したPIOメッセージが
送信か、または返信かをPIOメッセージ内から判別し
(ステップ401)、返信であればPIOメッセージ内
の送信元、つまりMPUシミュレータに返信する(ステ
ップ405)。図6で示す614が、I/Oモデル「モ
デル1」からI/Oモニタ返信されてきたPIOメッセ
ージの内容を示す。I/OモニタからMPUシミュレー
タに返信したPIOメッセージの内容も614と同じで
ある。
受信したI/Oモニタは、受信したPIOメッセージが
送信か、または返信かをPIOメッセージ内から判別し
(ステップ401)、返信であればPIOメッセージ内
の送信元、つまりMPUシミュレータに返信する(ステ
ップ405)。図6で示す614が、I/Oモデル「モ
デル1」からI/Oモニタ返信されてきたPIOメッセ
ージの内容を示す。I/OモニタからMPUシミュレー
タに返信したPIOメッセージの内容も614と同じで
ある。
【0024】返信されてきたPIOメッセージを受信し
たMPUシミュレータは、次に1命令を処理する毎にク
ロックサイクル数をカウント(ステップ306)、そし
てステップ301で抽出したクロックサイクル数の基準
値と比較する(ステップ307)。比較した結果、等し
くない場合は、ステップ302の処理を行なう。等しい
場合はI/Oモニタに周期メッセージを送信する(ステ
ップ308)。図6で示す615がMPUシミュレータ
からI/Oモニタに送信した周期メッセージの内容であ
る。
たMPUシミュレータは、次に1命令を処理する毎にク
ロックサイクル数をカウント(ステップ306)、そし
てステップ301で抽出したクロックサイクル数の基準
値と比較する(ステップ307)。比較した結果、等し
くない場合は、ステップ302の処理を行なう。等しい
場合はI/Oモニタに周期メッセージを送信する(ステ
ップ308)。図6で示す615がMPUシミュレータ
からI/Oモニタに送信した周期メッセージの内容であ
る。
【0025】I/Oモニタは受信した周期メッセージか
ら、現在I/Oモニタにイベントが発生しているI/O
モデルが存在するか、同じI/Oモニタで管理している
イベント登録テーブルを検索する(ステップ408)。
検索した結果、現在I/Oモニタにイベントが発生して
いるI/Oモデルが存在しない場合は、ステップ412
の処理を行う。存在する場合、イベント登録テーブルに
設定されている情報全てのイベント発生周期数をー1す
る(ステップ409)。
ら、現在I/Oモニタにイベントが発生しているI/O
モデルが存在するか、同じI/Oモニタで管理している
イベント登録テーブルを検索する(ステップ408)。
検索した結果、現在I/Oモニタにイベントが発生して
いるI/Oモデルが存在しない場合は、ステップ412
の処理を行う。存在する場合、イベント登録テーブルに
設定されている情報全てのイベント発生周期数をー1す
る(ステップ409)。
【0026】イベント発生周期数を減算した際、イベン
ト登録テーブル内のイベント発生周期数が0になったI
/Oモデルが存在するか、再びイベント登録テーブルを
検索する(ステップ410)。イベント発生周期数が0
になったI/Oモデルが存在しない場合は、ステップ4
12の処理を行う。イベント発生周期数が0になったI
/Oモデルが存在する場合は、I/Oモデル名をイベン
ト実行メッセージの送信先に設定して、イベント実行メ
ッセージをI/Oモデルに送信する(ステップ41
1)。この時、イベント登録テーブル内のI/Oモデル
の情報は削除する。図6で示す616がI/Oモニタか
らI/Oモデル「モデル1」に送信したイベント実行メ
ッセージの内容である。図11はイベント発生周期数を
1減算した後のイベント登録テーブルの内容を示す図で
ある。例えば、図11で示す1101の内容から、I/
Oモニタは図6で示す616内の送信先として「モデル
1」618を設定し、I/Oモデル「モデル1」にイベ
ント実行メッセージを送信していることを示す。
ト登録テーブル内のイベント発生周期数が0になったI
/Oモデルが存在するか、再びイベント登録テーブルを
検索する(ステップ410)。イベント発生周期数が0
になったI/Oモデルが存在しない場合は、ステップ4
12の処理を行う。イベント発生周期数が0になったI
/Oモデルが存在する場合は、I/Oモデル名をイベン
ト実行メッセージの送信先に設定して、イベント実行メ
ッセージをI/Oモデルに送信する(ステップ41
1)。この時、イベント登録テーブル内のI/Oモデル
の情報は削除する。図6で示す616がI/Oモニタか
らI/Oモデル「モデル1」に送信したイベント実行メ
ッセージの内容である。図11はイベント発生周期数を
1減算した後のイベント登録テーブルの内容を示す図で
ある。例えば、図11で示す1101の内容から、I/
Oモニタは図6で示す616内の送信先として「モデル
1」618を設定し、I/Oモデル「モデル1」にイベ
ント実行メッセージを送信していることを示す。
【0027】イベント実行メッセージを受信したI/O
モデルは、前回のイベント登録で一旦処理を放棄したハ
ードウェア動作を再開する(ステップ506)。I/O
モデルのハードウェア動作が終了したら、I/Oモニタ
にイベント実行メッセージを返信するが、ここで、ハー
ドウェア動作を行なっている最中に再びI/Oモデル内
にイベントが発生した場合(ステップ507)は、同様
にイベント登録メッセージをI/Oモニタに送信し、I
/Oモニタにイベントに必要な時間とI/Oモデル名を
イベント登録テーブルに登録する(ステップ508)。
またイベントが発生した時とは別に、ハードウェア動作
を行なっている最中にI/Oモデル内に割込みが発生し
た場合(ステップ509)、割込み登録メッセージをI
/Oモニタに送信し(ステップ510)、I/Oモニタ
で管理している割込み登録テーブルにモデル名を登録す
る。登録し終えたら、割込み登録メッセージをI/Oモ
デルに返信する(ステップ407)。本実施例では、ハ
ードウェア動作を行なっている最中にI/Oモデル「モ
デル1」内に割込みが発生したものとして以下を説明す
る。図10はI/Oモニタで管理している割り込み登録
テーブルの内容を示す図である。例えば、図10で示す
1001の内容から、ハードウェア動作中にI/Oモデ
ル「モデル1」で割込みが起きたことを示している。図
7で示す710がI/Oモデル「モデル1」からI/O
モニタに送信された割込み登録メッセージの内容を、そ
して711がI/OモニタからI/Oモデル「モデル
1」に返信された割り込み登録メッセージの内容をそれ
ぞれ示す。ここで割込み登録メッセージ710を受信し
たI/Oモニタは、割込み登録メッセージ710内の送
信元「モデル1」712から図10で示す「モデル1」
1002を設定していることがわかる。
モデルは、前回のイベント登録で一旦処理を放棄したハ
ードウェア動作を再開する(ステップ506)。I/O
モデルのハードウェア動作が終了したら、I/Oモニタ
にイベント実行メッセージを返信するが、ここで、ハー
ドウェア動作を行なっている最中に再びI/Oモデル内
にイベントが発生した場合(ステップ507)は、同様
にイベント登録メッセージをI/Oモニタに送信し、I
/Oモニタにイベントに必要な時間とI/Oモデル名を
イベント登録テーブルに登録する(ステップ508)。
またイベントが発生した時とは別に、ハードウェア動作
を行なっている最中にI/Oモデル内に割込みが発生し
た場合(ステップ509)、割込み登録メッセージをI
/Oモニタに送信し(ステップ510)、I/Oモニタ
で管理している割込み登録テーブルにモデル名を登録す
る。登録し終えたら、割込み登録メッセージをI/Oモ
デルに返信する(ステップ407)。本実施例では、ハ
ードウェア動作を行なっている最中にI/Oモデル「モ
デル1」内に割込みが発生したものとして以下を説明す
る。図10はI/Oモニタで管理している割り込み登録
テーブルの内容を示す図である。例えば、図10で示す
1001の内容から、ハードウェア動作中にI/Oモデ
ル「モデル1」で割込みが起きたことを示している。図
7で示す710がI/Oモデル「モデル1」からI/O
モニタに送信された割込み登録メッセージの内容を、そ
して711がI/OモニタからI/Oモデル「モデル
1」に返信された割り込み登録メッセージの内容をそれ
ぞれ示す。ここで割込み登録メッセージ710を受信し
たI/Oモニタは、割込み登録メッセージ710内の送
信元「モデル1」712から図10で示す「モデル1」
1002を設定していることがわかる。
【0028】I/Oモデルでのイベント発生、割込み発
生、もしくはI/Oモデルのハードウェア動作が終了し
たら、イベント実行メッセージをI/Oモニタに返信す
る(ステップ511)。図6で示す617がI/Oモデ
ル「モデル1」からI/Oモニタに返信されたイベント
実行メッセージの内容である。イベント実行メッセージ
を受信したI/Oモニタは、減算してイベント発生周期
数が0になったI/Oモデル全てについてイベント実行
メッセージの送信/返信の処理を行う。
生、もしくはI/Oモデルのハードウェア動作が終了し
たら、イベント実行メッセージをI/Oモニタに返信す
る(ステップ511)。図6で示す617がI/Oモデ
ル「モデル1」からI/Oモニタに返信されたイベント
実行メッセージの内容である。イベント実行メッセージ
を受信したI/Oモニタは、減算してイベント発生周期
数が0になったI/Oモデル全てについてイベント実行
メッセージの送信/返信の処理を行う。
【0029】処理が終了したら、次に割込みが発生した
I/Oモデルが存在するか、同じI/Oモニタで管理し
ている割込み登録テーブルを検索する。割込みが発生し
たI/Oモデルが存在する場合のみ、周期メッセージ内
の制御線に、割込み要求が発生したI/Oモデルが存在
することを表す「REQ」を設定する(ステップ41
2)。
I/Oモデルが存在するか、同じI/Oモニタで管理し
ている割込み登録テーブルを検索する。割込みが発生し
たI/Oモデルが存在する場合のみ、周期メッセージ内
の制御線に、割込み要求が発生したI/Oモデルが存在
することを表す「REQ」を設定する(ステップ41
2)。
【0030】次に、周期メッセージを送信元であるMP
Uシミュレータに返信する(ステップ418)。図7で
示す703が、I/OモニタからMPUシミュレータに
返信した周期メッセージの内容である。図10で示す1
001の内容から、I/Oモニタが周期メッセージをM
PUシミュレータに返信する前に図7で示す制御線「R
EQ」713を設定していることがわかる。
Uシミュレータに返信する(ステップ418)。図7で
示す703が、I/OモニタからMPUシミュレータに
返信した周期メッセージの内容である。図10で示す1
001の内容から、I/Oモニタが周期メッセージをM
PUシミュレータに返信する前に図7で示す制御線「R
EQ」713を設定していることがわかる。
【0031】返信されてきた周期メッセージを受信した
MPUシミュレータは、周期メッセージ内の制御線に割
込み要求が設定されているかを検索する。設定されてい
ない場合は、ステップ302の処理を行なう。割込み要
求が設定されている場合は、次に以下の処理を行なう。
MPUシミュレータは、周期メッセージ内の制御線に割
込み要求が設定されているかを検索する。設定されてい
ない場合は、ステップ302の処理を行なう。割込み要
求が設定されている場合は、次に以下の処理を行なう。
【0032】MPUシミュレータは割込み要求を表すI
NT ACKメッセージをI/Oモニタに送信する(ス
テップ311)。この時に、MPUシミュレータは送信
先がわからない、つまりどのI/Oモデルで割り込みが
発生したかわからない状態なので、INT ACKメッ
セージ内の送信先には何も設定せず、I/Oモニタに送
信する。図7で示す704がMPUシミュレータからI
/Oモニタに送信されたINT ACKメッセージの内
容である。ここでINT ACKメッセージ内の送信先
705には何も設定されていないことがわかる。
NT ACKメッセージをI/Oモニタに送信する(ス
テップ311)。この時に、MPUシミュレータは送信
先がわからない、つまりどのI/Oモデルで割り込みが
発生したかわからない状態なので、INT ACKメッ
セージ内の送信先には何も設定せず、I/Oモニタに送
信する。図7で示す704がMPUシミュレータからI
/Oモニタに送信されたINT ACKメッセージの内
容である。ここでINT ACKメッセージ内の送信先
705には何も設定されていないことがわかる。
【0033】I/OモニタはINT ACKメッセージ
を受信すると、送信か返信かを判定し(ステップ41
3)、送信であればI/Oモニタで管理している割込み
登録テーブルを照合する(ステップ414)。照合した
結果、割込みが発生したI/Oモデルを送信先としてI
NT ACKメッセージ内の送信先にI/Oモデル名を
設定(ステップ415)、そしてINT ACKメッセ
ージをI/Oモデルに送信する(ステップ416)。図
7で示す706がI/OモニタからI/Oモデル「モデ
ル1」に送信されたINT ACKメッセージの内容で
ある。ここで図10で示す割込み登録テーブル内の10
01から、図7で示す706内の送信先「モデル1」7
07を設定していることがわかる。
を受信すると、送信か返信かを判定し(ステップ41
3)、送信であればI/Oモニタで管理している割込み
登録テーブルを照合する(ステップ414)。照合した
結果、割込みが発生したI/Oモデルを送信先としてI
NT ACKメッセージ内の送信先にI/Oモデル名を
設定(ステップ415)、そしてINT ACKメッセ
ージをI/Oモデルに送信する(ステップ416)。図
7で示す706がI/OモニタからI/Oモデル「モデ
ル1」に送信されたINT ACKメッセージの内容で
ある。ここで図10で示す割込み登録テーブル内の10
01から、図7で示す706内の送信先「モデル1」7
07を設定していることがわかる。
【0034】I/OモデルがINT ACKメッセージ
を受信すると、次にI/Oモデルで発生した割込みを取
り下げるために、I/Oモニタに対して割込み取り下げ
メッセージを送信する(ステップ505)。図7で示す
714がI/Oモデル「モデル1」からI/Oモニタに
送信した割込み取り下げメッセージの内容である割込み
取り下げメッセージを受信したI/Oモニタは、管理し
ている割込み登録テーブルの中から、割込み取り下げメ
ッセージの送信元に設定されているI/Oモデルについ
ての情報を削除し、割込み取り下げメッセージをI/O
モデルに返信する。図7で示す715がI/Oモニタか
ら該I/Oモデル「モデル1」に返信してきた割込み取
り下げメッセージの内容である。
を受信すると、次にI/Oモデルで発生した割込みを取
り下げるために、I/Oモニタに対して割込み取り下げ
メッセージを送信する(ステップ505)。図7で示す
714がI/Oモデル「モデル1」からI/Oモニタに
送信した割込み取り下げメッセージの内容である割込み
取り下げメッセージを受信したI/Oモニタは、管理し
ている割込み登録テーブルの中から、割込み取り下げメ
ッセージの送信元に設定されているI/Oモデルについ
ての情報を削除し、割込み取り下げメッセージをI/O
モデルに返信する。図7で示す715がI/Oモニタか
ら該I/Oモデル「モデル1」に返信してきた割込み取
り下げメッセージの内容である。
【0035】返信されてきた割込み取り下げメッセージ
を受信したI/Oモデルはベクタ番号を抽出し、ベクタ
番号をINT ACKメッセージ内のデータバスに設定
して、INT ACKメッセージをI/Oモニタに返信
する(ステップ505)。I/OモニタはINT AC
Kメッセージの返信を受信すると、送信/返信を確認
し、返信であれば送信元であるMPUシミュレータに返
信する。図7で示す708がI/OモデルからI/Oモ
ニタに、そしてI/Oモニタから送信元であるMPUシ
ミュレータに返信したINT ACKメッセージの内容
である。例えば、708内の716から、I/Oモデル
「モデル1」はベクタ番号として「8」を抽出し、IN
T ACKメッセージに設定していることがわかる。
を受信したI/Oモデルはベクタ番号を抽出し、ベクタ
番号をINT ACKメッセージ内のデータバスに設定
して、INT ACKメッセージをI/Oモニタに返信
する(ステップ505)。I/OモニタはINT AC
Kメッセージの返信を受信すると、送信/返信を確認
し、返信であれば送信元であるMPUシミュレータに返
信する。図7で示す708がI/OモデルからI/Oモ
ニタに、そしてI/Oモニタから送信元であるMPUシ
ミュレータに返信したINT ACKメッセージの内容
である。例えば、708内の716から、I/Oモデル
「モデル1」はベクタ番号として「8」を抽出し、IN
T ACKメッセージに設定していることがわかる。
【0036】返信されてきたINT ACKメッセージ
を受信したMPUシミュレータは、次にINT ACK
メッセージ内のデータバスに設定されているベクタ番号
に対応する割込み処理ルーチンを起動する(ステップ3
12)。割込み処理ルーチンが終了した後、ステップ3
02の処理を行う。
を受信したMPUシミュレータは、次にINT ACK
メッセージ内のデータバスに設定されているベクタ番号
に対応する割込み処理ルーチンを起動する(ステップ3
12)。割込み処理ルーチンが終了した後、ステップ3
02の処理を行う。
【0037】以上の述べたように、実際のシステムにお
いては、MPU、I/Oデバイスそれぞれ並列に動作し
ており、システムクロック等により同期を採っている
が、シミュレータでクロックを模擬すれば実際のシステ
ムと同様に動作するが、周期が細かすぎてオーバヘッド
となる。本実施例では、MPUシミュレータが要求をだ
したら、要求の返信が返ってくるまで他の要求は実行で
きないようにすることにより、被テストプログラム実行
系とI/Oモデルをシーケンシャルに動作させ、交互に
同期時刻まで動作させることにより同期を採る。
いては、MPU、I/Oデバイスそれぞれ並列に動作し
ており、システムクロック等により同期を採っている
が、シミュレータでクロックを模擬すれば実際のシステ
ムと同様に動作するが、周期が細かすぎてオーバヘッド
となる。本実施例では、MPUシミュレータが要求をだ
したら、要求の返信が返ってくるまで他の要求は実行で
きないようにすることにより、被テストプログラム実行
系とI/Oモデルをシーケンシャルに動作させ、交互に
同期時刻まで動作させることにより同期を採る。
【0038】このように、内部的な論理状態の遷移を正
確に模擬し、入出力動作を時間に置き換えることによっ
て、割込み制御、バスライン制御等のコンピュータの制
御動作を実環境と等価に実現することができる。
確に模擬し、入出力動作を時間に置き換えることによっ
て、割込み制御、バスライン制御等のコンピュータの制
御動作を実環境と等価に実現することができる。
【0039】
【発明の効果】本発明は、以上に説明した処理手順を有
するので、以下に記載するような効果を奏する。MPU
シミュレータ、I/Oモデル、I/Oモニタを別計算機
上で動作させることにより、計算機の負荷を減少可能に
し、かつ複数のマイクロプロセッサを搭載した複雑なコ
ンピュータシステムでも実際のコンピュータシステムと
同等の動作をシミュレート可能にし、ひいては、テスト
/デバッグ作業を効率化することができる。
するので、以下に記載するような効果を奏する。MPU
シミュレータ、I/Oモデル、I/Oモニタを別計算機
上で動作させることにより、計算機の負荷を減少可能に
し、かつ複数のマイクロプロセッサを搭載した複雑なコ
ンピュータシステムでも実際のコンピュータシステムと
同等の動作をシミュレート可能にし、ひいては、テスト
/デバッグ作業を効率化することができる。
【0040】又、前記の方法において、MPUシミュレ
ータ、I/Oモデル、I/Oモニタを別プロセス上で動
作させることにより、複数のマイクロプロセッサを搭載
した複雑なコンピュータシステムでも実際のコンピュー
タシステムと同等の動作をシミュレート可能に、かつ従
来では複数の入出力装置の同期機能をI/Oモデルの数
だけ作成したが、それを一つに統一できることができ、
ひいては、テスト/デバッグ作業を効率化することがで
きる。
ータ、I/Oモデル、I/Oモニタを別プロセス上で動
作させることにより、複数のマイクロプロセッサを搭載
した複雑なコンピュータシステムでも実際のコンピュー
タシステムと同等の動作をシミュレート可能に、かつ従
来では複数の入出力装置の同期機能をI/Oモデルの数
だけ作成したが、それを一つに統一できることができ、
ひいては、テスト/デバッグ作業を効率化することがで
きる。
【0041】又、前記の方法において、MPUシミュレ
ータとI/Oモデルの間での同期管理と割込み管理を行
なう機能をI/Oモニタに持たせることにより、複数の
マイクロプロセッサを搭載した複雑なコンピュータシス
テムでも実際のコンピュータシステムと同等の動作をシ
ミュレート可能に、かつ従来では複数の入出力装置の同
期機能をI/Oモデルの数だけ作成したが、それを一つ
に統一できることができ、ひいては、テスト/デバッグ
作業を効率化することができる。
ータとI/Oモデルの間での同期管理と割込み管理を行
なう機能をI/Oモニタに持たせることにより、複数の
マイクロプロセッサを搭載した複雑なコンピュータシス
テムでも実際のコンピュータシステムと同等の動作をシ
ミュレート可能に、かつ従来では複数の入出力装置の同
期機能をI/Oモデルの数だけ作成したが、それを一つ
に統一できることができ、ひいては、テスト/デバッグ
作業を効率化することができる。
【0042】又、前記の方法において、複数のMPUシ
ミュレータ、I/Oモデル、I/Oモニタを動作させる
時、これらの同期管理と割込み管理を行なう機能を複数
のMPU、及び入出力装置間を接続する信号線群を模擬
するシステムバスI/Oモニタに持たせることにより、
複数のマイクロプロセッサを搭載した複雑なコンピュー
タシステムでも実際のコンピュータシステムと同等の動
作をシミュレート可能に、かつ従来では複数の入出力装
置の同期機能をI/Oモデルの数だけ作成したが、それ
を一つに統一できることができ、ひいては、テスト/デ
バッグ作業を効率化することができる。
ミュレータ、I/Oモデル、I/Oモニタを動作させる
時、これらの同期管理と割込み管理を行なう機能を複数
のMPU、及び入出力装置間を接続する信号線群を模擬
するシステムバスI/Oモニタに持たせることにより、
複数のマイクロプロセッサを搭載した複雑なコンピュー
タシステムでも実際のコンピュータシステムと同等の動
作をシミュレート可能に、かつ従来では複数の入出力装
置の同期機能をI/Oモデルの数だけ作成したが、それ
を一つに統一できることができ、ひいては、テスト/デ
バッグ作業を効率化することができる。
【0043】又、前記の方法において、プロセス間通
信、計算機間通信はソケット通信を用いて行なうことに
より、計算機の機種を問わないオープン化システムを実
現することができ、かつ模擬対象マイコンシステムの装
置構成に変更が起きても、通信で送る相手先のデータを
変更するだけでシミュレーションの呼び出し先を動的に
変更でき、かつモジュールの修正作業を不要にし、ひい
ては、テスト/デバッグ作業を効率化することができ
る。
信、計算機間通信はソケット通信を用いて行なうことに
より、計算機の機種を問わないオープン化システムを実
現することができ、かつ模擬対象マイコンシステムの装
置構成に変更が起きても、通信で送る相手先のデータを
変更するだけでシミュレーションの呼び出し先を動的に
変更でき、かつモジュールの修正作業を不要にし、ひい
ては、テスト/デバッグ作業を効率化することができ
る。
【0044】以上を纒めれば、本発明により、テスト/
デバッグ作業を効率化することができ、開発期間の短縮
を図ることができるので、組込み型マイコン用ソフトウ
ェアの生産性を上げることが出来る。
デバッグ作業を効率化することができ、開発期間の短縮
を図ることができるので、組込み型マイコン用ソフトウ
ェアの生産性を上げることが出来る。
【図1】本発明を適用するシミュレータの構成を示す図
である。
である。
【図2】本発明を動作させる汎用計算機の構成を示す図
である。
である。
【図3】MPUシミュレータの制御フローを示す図であ
る。
る。
【図4】I/Oモニタの制御フローを示す図である。
【図5】I/Oモデルの制御フローを示す図である。
【図6】MPUシミュレータ、I/Oモニタ、I/Oモ
デルの間で送信/返信するメッセージのフォーマットを
示す図である。
デルの間で送信/返信するメッセージのフォーマットを
示す図である。
【図7】MPUシミュレータ、I/Oモニタ、I/Oモ
デルの間で送信/返信するメッセージのフォーマットを
示す図である。
デルの間で送信/返信するメッセージのフォーマットを
示す図である。
【図8】I/Oマップの内容を示す図である。
【図9】イベント登録テーブルの内容を示す図である。
【図10】割込み登録テーブルの内容を示す図である。
【図11】イベント登録テーブルの内容を示す図であ
る。
る。
101;MPUシミュレータ、102;入出力シミュレ
ータ、103;被テストプログラム、104;メモリ、
105;I/Oモニタ、106;I/Oモデル、20
1;メモリ、202;表示装置、203;CPU、20
4;入力装置、205;外部記憶装置、301;コマン
ド入力待ち、302;命令フェッチ、303;命令解
析、305;I/O命令シミュレーション、306;ク
ロックサイクル数カウント、308;周期発生、30
9;クロックサイクル数リセット、311;割込み受付
処理、312;割込みベクタ番号、402;I/Oマッ
プと照合、404;送信フォーマット転送、405;返
信フォーマット転送、406;イベント登録、407;
割込み登録、411;イベント発生モデルの実行、41
2;割込み登録取得、414;割込み登録テーブルと照
合、416;送信フォーマット転送、417;返信フォ
ーマット転送、418;返信フォーマット転送、50
2;返信フォーマット転送、504;イベント発生時間
登録、505;割込み取り下げ、506;イベント実行
ハードウェア動作実行、508;イベント発生時間登
録、510;割込み要求、511;返信フォーマット転
送、512;レジスタライト処理、513;レジスタリ
ード処理、602;PIO、603;送信、604;M
PU、606;IO WR。
ータ、103;被テストプログラム、104;メモリ、
105;I/Oモニタ、106;I/Oモデル、20
1;メモリ、202;表示装置、203;CPU、20
4;入力装置、205;外部記憶装置、301;コマン
ド入力待ち、302;命令フェッチ、303;命令解
析、305;I/O命令シミュレーション、306;ク
ロックサイクル数カウント、308;周期発生、30
9;クロックサイクル数リセット、311;割込み受付
処理、312;割込みベクタ番号、402;I/Oマッ
プと照合、404;送信フォーマット転送、405;返
信フォーマット転送、406;イベント登録、407;
割込み登録、411;イベント発生モデルの実行、41
2;割込み登録取得、414;割込み登録テーブルと照
合、416;送信フォーマット転送、417;返信フォ
ーマット転送、418;返信フォーマット転送、50
2;返信フォーマット転送、504;イベント発生時間
登録、505;割込み取り下げ、506;イベント実行
ハードウェア動作実行、508;イベント発生時間登
録、510;割込み要求、511;返信フォーマット転
送、512;レジスタライト処理、513;レジスタリ
ード処理、602;PIO、603;送信、604;M
PU、606;IO WR。
フロントページの続き (72)発明者 永松 祐嗣 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内
Claims (5)
- 【請求項1】マイクロプロセッサユニット(以下、MP
U)、及びメモリを模擬するMPUシミュレータと、入
出力装置を模擬する入出力装置模擬部(以下、I/Oモ
デル)、及びMPUと1つ以上の入出力装置を接続する
信号線群を模擬する入出力装置模擬部実行制御機構(以
下、I/Oモニタ)とで構成される入出力シミュレータ
(以下、I/Oシミュレータ)であり、上記MPUシミ
ュレータ、I/Oモデル、I/Oモニタを別計算機にお
いて動作させ、それらの計算機をネットワークで接続し
データを授受することによりシミュレーションを行うこ
とを特徴とするシミュレーション方式。 - 【請求項2】請求項1記載のシミュレーション方式にお
いて、上記MPUシミュレータ、I/Oモデル、I/O
モニタを別プロセスで互いに動作させ、それらのプロセ
スをネットワークで接続しデータを授受することにより
シミュレーションを行うことを特徴とするシミュレーシ
ョン方式。 - 【請求項3】請求項1、2記載のシミュレーション方式
において、 MPUシミュレータとI/Oモデルの間で
の同期管理と割込み管理を行なう機能をI/Oモニタに
持たせることを特徴とするシミュレーション方式。 - 【請求項4】請求項1、2、3記載のシミュレーション
方式において、複数のMPUシミュレータ、I/Oモデ
ル、I/Oモニタを動作させる時、これらの同期管理と
割込み管理を行なう機能を複数の MPU、及び入出力
装置間を接続する信号線群を模擬するシステムバスI/
Oモニタに持たせることを特徴とするシミュレーション
方式。 - 【請求項5】請求項1、2、3、4記載のシミュレーシ
ョン方式において、プロセス間通信、計算機間通信はソ
ケット通信を用いて行なうことを特徴とするシミュレー
ション方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5268588A JPH07121405A (ja) | 1993-10-27 | 1993-10-27 | シミュレーション方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5268588A JPH07121405A (ja) | 1993-10-27 | 1993-10-27 | シミュレーション方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07121405A true JPH07121405A (ja) | 1995-05-12 |
Family
ID=17460623
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5268588A Pending JPH07121405A (ja) | 1993-10-27 | 1993-10-27 | シミュレーション方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07121405A (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005222420A (ja) * | 2004-02-06 | 2005-08-18 | Toyota Motor Corp | 分散処理支援プログラム |
| US7079999B2 (en) | 2001-07-19 | 2006-07-18 | Matsushita Electric Industrial Co., Ltd. | Bus simulation apparatus and bus simulation program |
| JPWO2013145270A1 (ja) * | 2012-03-30 | 2015-08-03 | 三菱電機株式会社 | 空調機試験システム、空調システムシミュレータ及びプログラム |
-
1993
- 1993-10-27 JP JP5268588A patent/JPH07121405A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7079999B2 (en) | 2001-07-19 | 2006-07-18 | Matsushita Electric Industrial Co., Ltd. | Bus simulation apparatus and bus simulation program |
| JP2005222420A (ja) * | 2004-02-06 | 2005-08-18 | Toyota Motor Corp | 分散処理支援プログラム |
| JPWO2013145270A1 (ja) * | 2012-03-30 | 2015-08-03 | 三菱電機株式会社 | 空調機試験システム、空調システムシミュレータ及びプログラム |
| US9817410B2 (en) | 2012-03-30 | 2017-11-14 | Mitsubishi Electric Corporation | Air conditioner testing system, air-conditioning system simulator, and program |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113961453B (zh) | 航空机载软件全数字仿真测试系统 | |
| CN117422026B (zh) | 一种基于risc-v架构的处理器验证系统 | |
| US5911059A (en) | Method and apparatus for testing software | |
| US5768567A (en) | Optimizing hardware and software co-simulator | |
| Wulf et al. | Overview of the Hydra operating system development | |
| CN102841837B (zh) | 一种基于模拟器的软硬件协同验证方法及系统 | |
| CN112115022B (zh) | 基于aadl的ima系统健康监控的测试方法 | |
| JPH11505645A (ja) | プロセッサに基づくデジタルシステムをシミュレートするための装置および方法 | |
| Engblom et al. | Full-system simulation from embedded to high-performance systems | |
| CN111506395B (zh) | 一种混合仿真的全数字虚拟运行环境的实现方法及装置 | |
| Bacivarov et al. | Timed HW-SW cosimulation using native execution of OS and application SW | |
| JPH07121405A (ja) | シミュレーション方式 | |
| CN118313325A (zh) | 一种基于qemu虚拟环境的星载计算机cmu模拟器设计方法 | |
| US9317636B1 (en) | System and method for stopping integrated circuit simulation | |
| CN111338761B (zh) | 一种51单片机虚拟中断控制器及实现方法 | |
| Ko et al. | Hardware-in-the-loop simulation for CPU/GPU heterogeneous platforms | |
| JP2000259445A (ja) | ソフトウェア/ハードウェア協調シミュレーション方法 | |
| CN118052194A (zh) | 芯片仿真验证系统、方法以及电子设备 | |
| US20060070042A1 (en) | Automatic clocking in shared-memory co-simulation | |
| JP2000194610A (ja) | システム分析のためにバス・ア―ビトレ―ション制御を使用する同期方法及び装置 | |
| JP2004021907A (ja) | 性能評価用シミュレーションシステム | |
| Murillo et al. | SWAT: Assertion-based debugging of concurrency issues at system level | |
| Anderson | An overview of Motorola's PowerPC simulator family. | |
| CN115757130B (zh) | 模拟器生成方法、装置、设备及存储介质 | |
| JPS6349851A (ja) | シミユレ−シヨンシステム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |