JPH0367340A - シミュレータ - Google Patents

シミュレータ

Info

Publication number
JPH0367340A
JPH0367340A JP1202991A JP20299189A JPH0367340A JP H0367340 A JPH0367340 A JP H0367340A JP 1202991 A JP1202991 A JP 1202991A JP 20299189 A JP20299189 A JP 20299189A JP H0367340 A JPH0367340 A JP H0367340A
Authority
JP
Japan
Prior art keywords
input
output
program
simulator
target
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
JP1202991A
Other languages
English (en)
Inventor
Kenji Kudo
健治 工藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1202991A priority Critical patent/JPH0367340A/ja
Publication of JPH0367340A publication Critical patent/JPH0367340A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概要] ターゲットコンピュータのプログラムをホストコンピュ
ータ上で模擬実行するシミュレータに関し、 ターゲットプログラム中の入出力処理をもシミュレート
できるようにすることを目的とし、オペレーティングシ
ステム、ターゲットプログラム及び該ターゲットプログ
ラムを解釈実行するためのシミュレータプログラムがロ
ードされた主記憶装置と、バスを介して該主記憶装置に
接続さし、該オペレーティングシステムの下で該シミュ
レータプログラムを実行するCPUと、バスを介して該
CPUに接続された入出力インタフェースと、該入出力
インタフェースに接続され、該cPUの実行により該入
出力インタフェースを介して制御される入出力装置とを
備えたシミュレータにおいて、該シミコレ−タブログラ
ムは、該ターゲットプログラムに含まれる入出力処理を
該入出力装置に対する入出力処理に置き換え、スーパバ
イザコールを行なって該オペレーティングシステムに制
御権を移し該入出力処理を実行させるように構成する。
[産業上の利用分野] 本発明は、ターゲットコンピュータのプログラムをホス
トコンピュータ上で模擬実行するシミュレータに関する
[従来の技術] この種のシミュレータは、マイクロコンピュータのプロ
グラム開発を支援するために用いられてイル。一般に、
マイクロコンピュータのプログラム開発は、ホストコン
ピュータ上でソースプログラムの作成からオブジェクト
プログラムの生成まで行なった後、実際のハードウェア
(ターゲットマシン)を使用してデバッグを行なうとい
う過程を経る。ターゲットマシンの入出力装置が開発中
の場合には、この入出力装置のハードウェアシミュレー
タを用いてデバッグを行なうことが提案されている(特
開昭59−90126号公報)しかし、マイクロプロセ
ッサやCPUボード等が開発中である場合には、このデ
バッグを行なうことができず、したがって、ソフトウェ
ア開発とハードウェア開発とを同時並行して行なうこと
ができず、全体の開発期間が長くなる。
そこで従来では、プログラム中の入出力命令を、何もし
ないNOP命令で置き換えたり、無条件分岐命令を付加
して入出力命令を飛ばすことにより対処していた。また
は、入出力命令の直前にブレークポイントを設定してこ
の位置でプログラムの実行を強制的に停止させ、キーボ
ードを操作して、入出力命令を実行したら変化するであ
ろうレジスタまたはメモリに適当な値を書き込んだ後、
入出力命令を飛ばして再実行させるという操作を何回も
行なっていた。
[発明が解決しようとする課題] しかし、入出力命令を全く無視すればハードウェアデバ
ッグが全く行なわれず、また、ブレークポイント設定法
は、煩雑であるとともに、入出力の結果のみを用いるの
でハードウェアデバッグとしては不充分である。
本発明の目的は、このような問題点に鑑み、ターゲット
プログラム中の入出力処理をもシミュレートすることが
できるシミュレータを提供することにある。
[課題を解決するための手段] 第1図は本発明の原理構成を示す。
図中、1は主記憶装置であり、オペレーティングシステ
ム(O3)lc、ターゲットプログラム1a及び該ター
ゲットプログラム1aを解釈実行するためのシミュレー
タプログラムIbがロードされている。
2はCPUであり、バス4を介して主記憶装置1に接続
され、オペレーティングシステム1cの下でシミュレー
タプログラム1bを実行する。
3は入出力インタフェースであり、バス4を介してCP
U2に接続されている。
5、〜57は入出力装置であり、入出力インタフェース
3に接続され、CPU2の実行により入出力インタフェ
ース3を介して制御される。
シミュレータプログラム1bは、ターゲットプログラム
1aに含まれる入出力処理を入出力装置5、〜5fiに
対する入出力処理に置き換え、スーパバイザコールを行
なってオペレーティングシステム1cに制御権を移し該
入出力処理を実行させる。
[作用] ターゲットコンピュータ(マイクロコンピュータ)のO
8はホストコンピュータの031cよりも構成が簡単で
あり、両者は異なる。しかし、OSの入出カル−チンは
両者で類似している。したがって、上記の如く構成すれ
ば、ターゲットプログラム中の入出力処理をもシミュレ
ートすることができ、マイクロプロセッサやCPUボー
ド等が開発中であっても、ソフトウェア開発とハードウ
ェア開発とを同時並行して行なうことが可能となる。
[実施例] 以下、図面に基づいて本発明の一実施例を説明する。
第3図はシミュレータのハードウェア構成を示す。
10は主記憶装置であり、不図示のマイクロコンピュー
タを用いたターゲットマシン用のプログラム11、この
ターゲットプログラム11を1命令づつ解釈し模擬実行
するためのシミュレータプログラム12及びオペレーテ
ィングシステム(O3)13がロードされている。また
、主記憶装置10には、ターゲットプログラム11とシ
ミュレータプログラム12との共通利用データ領域であ
るソフトインタフェース14及びシミュレータプログラ
ム12と0513の共通利用データ領域であるソフトイ
ンタフェース15が確保されている。
20はCPUであり、○S13の下でシミュレータプロ
グラム12を実行することによりターゲットプログラム
11をシミコレートする。
30は入出力インタフェースであり、各種入出力装置、
本実施例ではコンソール51、イメージリーダ52、磁
気ディスク装置53及びプリンタ54が接続されている
40はバスであり、主記憶装置10SCPU20及び入
出力インタフェース30間を接続する。
第4図はシミュレータのソフトウェア構成を示す。以下
においては、現在開発中のあるマイクロプロセッサを例
にとって説明する。
(60)ターゲットプログラム11からl命令を取込み
、 (61)この命令が保護リングlヘジャンプするソフト
ウェア割込み命令JRNG#1(スーパバイザコール)
であるかどうかを判定する。
ここに保護リングとは記憶保護レベルの低いリングから
記憶保護レベルの高いリングへアクセスするのを禁止す
るためのものであり、JRNG#n命令(nが小さいほ
ど記憶保護レベルが高い)を用いた時のみレベルの低い
リングから高いリングnヘジャンプすることが可能とな
っている。
ターゲットコンピュータでは、入出力処理を行う場合、
このJRNG  #1命令を用いてターゲット用O3の
人出カル−チンを実行させるようになっているものとす
る。JRNG  #1命令により実行される内容は、こ
の命令実行前にソフトウェアインタフェース14に設定
されたパラメータによって決まる。しかし、ターゲット
コンピュータのO5とホストコンピュータの0313と
は一般に異なるので、パラメータの渡し方も異なる。
ソフトインタフェース15は、ターゲットコンピュータ
のO8用のパラメータ(定められたパラメータブロック
に格納されている内容)を0313用に変換して格納す
るための領域である。
JRNG  #1命令でなければ、 (62)通常のシミュレーション、すなわち、入出力処
理以外の周知のシミュレーションを行う。
ステップ61でJRNG  #1命令であれば、(63
)ソフトインタフェース14に書き込まれたパラメータ
から入出力処理を解釈し、○S13用のパラメータに変
換してソフトインタフェース15に書き込む。
第5図はソフトインタフェース14の1構成要素、すな
わちターゲットプログラム11が用いるパラメータブロ
ックの1形式を示す。CTRL  BLKはパラメータ
ブロックの先頭アドレスを示す。このパラメータブロッ
クは1ワード(32ビツト)であり、第0〜7ビツトに
機能番号、第8〜15ビツトにエラースティタス、第1
6〜23ビツトにファイル番号、第24〜31ビツトに
データが書き込まれる。
この機能番号は例えば次のような処理内容を示す。
機能番号 機能名 処理内容 00   8XIT   プログラム実行の終了10 
  0PBN   ファイルのオープン11    C
LO5E  ファイルのクローズ20    GBTC
ファイルから1バイト読出し21    PUTCファ
イルへ1バイト書込み22    GBTB   ファ
イルからnバイト読出し23    PUTB   フ
ァイルへnバイト書込み24    GBTS   フ
ァイルから文字列読出し25    P[lTS   
ファイルへ文字列書込み30    CEOF   フ
ァイル終了コードのチエツク 31    SE!EK   アクセスポイントの変更
32    GBTPTRアクセスポイントの読み取り
なお、実際には、JRNG  #1命令を用いて、上記
機能番号で区別される、入出力処理以外の処理も行われ
るが、本実施例では説明の簡単化の為に、JRNG  
#1命令は入出力処理を行う時のみ実行するものと仮定
する。
エラースティタスは、O3での処理が終了した時にO8
から渡されるものであり、例えばこの値が0の場合には
正常終了したことを示し、1の場合にはエラーが発生し
たことを示す。
また、ファイル番号は、ファイルをオーブンした時に割
り付けられたファイルの番号である。各種入出力装置5
1〜54もファイルとして取り扱われる。
例えば、機能番号が21でファイル番号がコンソール5
1を示す場合には、第24〜31ビツトに格納されてい
る1バイトのデータをコンソール51のデイスプレィに
表示させることを示す。この場合のターゲットプログラ
ム11の具体例を、アセンブリ言語のニモニックで次に
示す。
MOV  tfcTRL  BLK、 RO;ハ51−
9ブロツクノアドレスCTRL  BLKをレジス タROに設定 MOV、B#H’21.@RO;y)’レスcTRL 
 BLKニ機能番号21を設定 MOV、B @PILBNIIM、@(2,RO);7
ドL/ X (CTRL  BLK+2)にファイル番
号 PILBNUMを設定 NOV、B 5DATA、@(3,RO);y )’ 
しx (CTRL  BLK+3)に書込みデータDA
TAを設定 JRNG  Itl      ;スーパバイザコール
CMP、B H,@(1,RO)   ;アドレス(C
TRL  BLK+1)の内容は0? BNB  BRROR;oでなければBRRORルーチ
ンへ 上記各命令の内容は、;の右側(コメント)に記載した
通りである。なお、オペランドのラベルFILBNII
M及びDATAは定義済みの定数であ5゜(64)次に
、スーパバイザコール命令を実行して、0813に対し
入出力処理のサービス要求をする。
〈65)これにより内部割込みが発生して制御権が03
13に移り、○S13の入出カル−チンにより処理が行
われる。この処理結果、例えば正常終了したかエラーが
発生したかどうかは、ソフトウェアインタフェース15
に書き込まれる。次に、0313からシミュレータプロ
グラム12へ制御権が戻され、 (66)シミュレータプログラム12は、この入出力処
理結果をターゲット用に変換してソフトインタフェース
14の所定領域、上記例ではアドレス(CTRL  B
LK+1)に書き込む。
以上のような処理を行うことにより、入出力処理を含め
た全処理を、ホストコンピュータを用いてシミュレート
することができる。
[発明の効果] 以上説明した如く、本発明に係るシミュレータによれば
、ターゲットプログラム中の入出力処理をもシミコレー
トすることができ、マイクロプロセッサやCPUボード
等が開発中であっても、ソフトウェア開発とハードウェ
ア開発とを同時並行して行なうことが可能となるという
優れた効果を奏し、ソフトウェアとハードウェアの全開
発期間の短縮化に寄与するところが大きい。
【図面の簡単な説明】
第1図及び第2図は本発明に係るシミュレータの原理構
成を示し、 第1図は本発明のハードウェア構成を示すブロック図、 第2図は本発明のソフトウェア構成を示すフローチャー
トである。 第3図乃至第5図は本発明の一実施例に係り、第3図は
シミュレータのハードウェア構成を示すブロック図、 第4図はシミュレータのソフトウェア構成を示すフロー
チャート、 第5図は第3図のソフトインタフェース14の一構成要
素を示す図である。 14.15はソフトインタフェース 20はCPU 30は入出力インタフェース 40はバス 51はコンソール 52はイメージリーダ 53は磁気ディスク装置 54はプリンタ 図中、 10は主記憶装置 1■はターゲットプログラム 12はシミュレータプログラム 13は○S 発明のハードウェア構成 第1図 発明のソフトウェア構成 第2図 シミュレータのハードウェア精成 シミュレータのソフトウェア構成 笛 /、 固

Claims (1)

  1. 【特許請求の範囲】 オペレーティングシステム(1c)、ターゲットプログ
    ラム(1a)及び該ターゲットプログラムを解釈実行す
    るためのシミュレータプログラム(1b)がロードされ
    た主記憶装置(1)と、バス(4)を介して該主記憶装
    置(1)に接続され、該オペレーティングシステム(1
    c)の下で該シミュレータプログラム(1b)を実行す
    るCPU(2)と、 バス(4)を介して該CPU(2)に接続された入出力
    インタフェース(3)と、 該入出力インタフェース(3)に接続され、該CPU(
    2)の実行により該入出力インタフェース(3)を介し
    て制御される入出力装置(5_l〜5_n)とを備えた
    シミュレータにおいて、該シミュレータプログラム(1
    b)は、該ターゲットプログラム(1a)に含まれる入
    出力処理を該入出力装置(5_l〜5_n)に対する入
    出力処理に置き換え、スーパバイザコールを行なって該
    オペレーティングシステム(1c)に制御権を移し該入
    出力処理を実行させることを特徴とするシミュレータ。
JP1202991A 1989-08-04 1989-08-04 シミュレータ Pending JPH0367340A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1202991A JPH0367340A (ja) 1989-08-04 1989-08-04 シミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1202991A JPH0367340A (ja) 1989-08-04 1989-08-04 シミュレータ

Publications (1)

Publication Number Publication Date
JPH0367340A true JPH0367340A (ja) 1991-03-22

Family

ID=16466521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1202991A Pending JPH0367340A (ja) 1989-08-04 1989-08-04 シミュレータ

Country Status (1)

Country Link
JP (1) JPH0367340A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208480A (ja) * 1993-01-11 1994-07-26 Nec Corp システムプログラムシミュレーション方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06208480A (ja) * 1993-01-11 1994-07-26 Nec Corp システムプログラムシミュレーション方式

Similar Documents

Publication Publication Date Title
EP0537309B1 (en) System and method for preserving source instruction atomicity in translated program code
US5611043A (en) Debugger system and method for controlling child processes
EP0453394B1 (en) Dynamic process for the generation of biased pseudo-random test patterns for the functional verification of hardware designs
JPH05505692A (ja) 変換コードを実行するための効果的エラー報告
US5680584A (en) Simulator system for code execution and debugging within a multi-architecture environment
US20030177471A1 (en) System and method for graphically developing a program
JPS60107142A (ja) プログラム翻訳装置
US20020129336A1 (en) Automatic symbol table selection in a multi-cell environment
JP7774739B2 (ja) デバッグ装置及びデバッグ方法
Barbacci et al. An architectural research facility: ISP descriptions, simulation, data collection
CN115185638B (zh) 一种仿真运行应用程序时获取调用栈的方法及计算设备
JPH0367340A (ja) シミュレータ
Davidson High level microprogramming: Current usage, future prospects
JP3745968B2 (ja) 試験システム及び試験方法及び試験プログラム及び試験プログラムを記録した計算機で読み取り可能な記録媒体
JP3270729B2 (ja) 拡張命令セット・シミュレータ
Wang et al. An embedded C language Target Code level Unit Test method based on CPU Simulator
Ashby et al. Design of an interactive debugger for FORTRAN: MANTIS
JP2001236247A (ja) ソフトウェアシミュレータおよびシミュレーション処理方法
Aaltonen The software emulation of the MOS 6502 microprocessor
Davidson et al. Testing of microprograms using the lockheed SUE microinstruction simulator
AU2001237027A1 (en) Tcl pli, a framework for reusable, run time configurable test benches
Kápl Dynamic Analysis for Finding Endianity Bugs
JPH05250221A (ja) シミュレータ実行方式
JP2001043110A (ja) プログラムのデバッグ方法
JPH04358232A (ja) 情報処理装置の機能試験方法