JPH09146789A - エミュレータ - Google Patents

エミュレータ

Info

Publication number
JPH09146789A
JPH09146789A JP7302847A JP30284795A JPH09146789A JP H09146789 A JPH09146789 A JP H09146789A JP 7302847 A JP7302847 A JP 7302847A JP 30284795 A JP30284795 A JP 30284795A JP H09146789 A JPH09146789 A JP H09146789A
Authority
JP
Japan
Prior art keywords
address
branch
memory
target program
emulator
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
JP7302847A
Other languages
English (en)
Inventor
Yoshiyuki Minami
義幸 南
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Mitsubishi Electric Semiconductor Systems Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
Mitsubishi Electric Semiconductor Systems Corp
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 Renesas Design Corp, Mitsubishi Electric Corp, Mitsubishi Electric Semiconductor Systems Corp filed Critical Renesas Design Corp
Priority to JP7302847A priority Critical patent/JPH09146789A/ja
Publication of JPH09146789A publication Critical patent/JPH09146789A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 スタック破壊などにより、例えば本来正しい
データが誤ったデータに化ける現象などが生じ不正な分
岐などの不具合が発生した場合に、分岐先の領域が実行
可能なプログラム領域であるときには異常検出を行うこ
とが出来ない課題があった。 【解決手段】 ターゲットとなる回路に用いられるメモ
リのROM領域の各アドレスに一対一に対応した分岐許
可フラグ格納用メモリへ、予め分岐命令に関係するアド
レスとしてアクセスが許可されるアドレスと許可されな
いアドレスとを識別する情報を格納しておき、ターゲッ
トプログラムの実行を遅延させることなく前記情報を基
に前記分岐命令が実行される際の前記アドレスに関係す
る誤りを検出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マイクロコンピ
ュータのプログラム開発を支援するために用いられるエ
ミュレータに関するものである。
【0002】
【従来の技術】マイクロコンピュータにおけるプログラ
ム開発では、ターゲットプログラムの誤りを発見して修
正するためにエミュレータを使用する。図6は、エミュ
レータとターゲット基板およびパーソナルコンピュータ
との接続関係を示す概念図である。図において、41は
ユーザが作成したターゲット基板、42はターゲット基
板41上のアドレスバス,データバス,制御信号線,入
出力ポートの信号を外部へ出力できるエミュレータ中央
処理装置、43はエミュレータ中央処理装置42から出
力される各信号を基にターゲットプログラムの実行制御
を行い、ターゲットプログラムの誤りを発見して修正す
るためのエミュレータである。43aはエミュレータ4
3のターゲットプログラムメモリであり、ターゲットプ
ログラムを格納する。44はエミュレータ43の制御お
よびターゲットプログラムのアセンブルを行うパーソナ
ルコンピュータであり、ソースプログラムをアセンブル
するためのアセンブラを備えており、このアセンブラに
よりアセンブルされたターゲットプログラムは通信ケー
ブル45を介してエミュレータ43のターゲットプログ
ラムメモリ43aに格納される。
【0003】図7は、ターゲット基板41上のメモリの
メモリマップと、アセンブルされたターゲットプログラ
ムを格納するターゲットプログラムメモリ43aのメモ
リマップとの対応関係を示した説明図である。図におい
て、51はターゲット基板41上のメモリのRAM領
域、52はターゲット基板41上のメモリの未使用領
域、53はターゲット基板41上のメモリのROM領
域、54はターゲットプログラムメモリ43aのデータ
領域、55および57はターゲットプログラムの未使用
領域、56と58はターゲットプログラムのプログラム
領域である。
【0004】エミュレータ43は、ターゲットプログラ
ムを実行中にターゲットプログラムを格納したターゲッ
トプログラムメモリ43aのプログラム領域56,58
に何らかのデータが書き込まれたり、未使用領域55,
57をアクセスしたときにターゲットプログラムの実行
を停止するメモリ保護機能を備えている。
【0005】図8は、このメモリ保護機能を実現したエ
ミュレータ43の構成を示すブロック図である。図にお
いて、43cはエミュレータ中央処理装置42から出力
される信号を常に監視するモニタ回路、43eはターゲ
ットプログラムメモリ43aのアクセス条件を設定する
メモリ保護機能用メモリ、43dは指定したアドレスの
命令実行や実行アドレスのアクセス状態とメモリ保護機
能用メモリ43eのアクセス条件とを比較して、アクセ
ス状態が前記アクセス条件と異なっているときにプログ
ラムの実行を停止させるブレーク回路である。
【0006】次に動作について説明する。ユーザは、図
6に示す構成によりソースプログラムをパーソナルコン
ピュータ44のアセンブラによりアセンブルして、アセ
ンブルしたターゲットプログラムをエミュレータ43上
で実行し、ターゲットプログラムの誤りの発見や修正を
行うのであるが、ターゲットプログラムをエミュレータ
43上で実行する前に、ユーザはメモリ保護機能を設定
するためにターゲットプログラムを格納したターゲット
プログラムメモリ43aのアクセス条件をメモリ保護機
能用メモリ43eへ設定する。この結果、ターゲットプ
ログラムを格納したターゲットプログラムメモリ43a
のプログラム領域56,58が書込み禁止、ターゲット
プログラムメモリ43aの未使用領域55,57がアク
セス禁止となり、メモリ保護機能が確立される。
【0007】このようなメモリ保護機能を設定した状態
でエミュレータ43上でターゲットプログラムを実行す
ると、モニタ回路43cはエミュレータ中央処理装置4
2から出力されるアドレスバス,データバスの信号や制
御信号線の信号を常に監視し、アクセス中のアドレスが
示すターゲットプログラムメモリ43aに対するアクセ
ス状態とメモリ保護機能用メモリ43eへ設定されてい
るアクセス条件とを比較する。そして、アクセス条件が
一致しないときには、一致しないことを示す制御信号を
ブレーク回路43dへ送る。ブレーク回路43dでは、
モニタ回路43cから送られてきた制御信号により、実
行中のプログラムを停止させるための信号をエミュレー
タ中央処理装置42へ送る。エミュレータ中央処理装置
42は前記信号を受けるとプログラムの実行を停止して
ターゲットプログラムメモリ43aの保護を行う。従っ
て、ターゲットプログラムを格納したターゲットプログ
ラムメモリ43aのプログラム領域56,58への書き
込み、未使用領域55,57へのアクセス(Fetch
/Read/Write)について検知することが可能
であり、ターゲットプログラムの誤りを検出すると共
に、ターゲットプログラムメモリ43aに格納されてい
るターゲットプログラムやデータの破壊などを回避して
ターゲットプログラムメモリ43aを保護することが可
能になる。
【0008】
【発明が解決しようとする課題】従来のエミュレータは
以上のように構成されているので、ターゲットプログラ
ムの誤りを検出すると共に、ターゲットプログラムメモ
リ43aに格納されているターゲットプログラムやデー
タの破壊などを回避して保護することが可能であるが、
スタック破壊などにより例えば本来正しいデータが誤っ
たデータに化ける現象などが生じ、不正な分岐などの不
具合が発生した場合に、分岐先の領域が実行可能なプロ
グラム領域56,58であるときには異常検出を行うこ
とが出来ないという課題があった。つまり、ターゲット
プログラムメモリ43aのプログラム領域56,58内
であればこのような不正な分岐により分岐先のプログラ
ム領域56,58がアクセスされても、その状態を正常
な分岐によるアクセスと区別することが出来ないため、
ブレーク回路43dは動作することはなく、プログラム
の暴走が発生する可能性が生じ、このような現象が生じ
たときの原因を探索するためのデバッグに時間を要して
しまう課題があった。
【0009】この発明は上記のような課題を解決するた
めになされたもので、ターゲットプログラム実行に要す
る時間に影響を与えることなく、分岐命令実行の際に生
じる誤りを検出し、デバッグに要する時間を短縮できる
エミュレータを得ることを目的とする。
【0010】
【課題を解決するための手段】請求項1記載の発明に係
るエミュレータは、ターゲットとなる回路に用いられる
メモリのROM領域の各アドレスに一対一に対応したア
ドレスを有する分岐許可フラグ格納用メモリと、予め分
岐命令に関係するアドレスとしてアクセスが許可される
アドレスと許可されないアドレスとを識別する情報を前
記分岐許可フラグ格納用メモリへ格納するための識別情
報格納手段と、該識別情報格納手段により格納された前
記情報を基に前記ターゲットプログラムの実行を遅延さ
せることなく前記分岐命令が実行される際の前記アドレ
スへのアクセスに関係する誤りを検出する誤分岐アドレ
ス判定回路と、該誤分岐アドレス判定回路が前記分岐命
令の実行される際の前記誤りを検出したときに前記ター
ゲットプログラムの実行を停止させるブレーク回路とを
備えたものである。
【0011】請求項2記載の発明に係るエミュレータ
は、分岐命令に関係するアドレスとしてアクセスが許可
されるアドレスと許可されないアドレスとを識別する
“1”あるいは“0”により設定されるフラグデータ
を、ターゲットとなる回路に用いられるメモリのROM
領域の各アドレスに一対一に対応した分岐許可フラグ格
納用メモリへ識別情報格納手段により予め格納するよう
にしたものである。
【0012】請求項3記載の発明に係るエミュレータ
は、分岐命令のオぺコードで指定された絶対アドレスで
あるかないかを基に前記分岐命令が実行される際のアド
レスに関係する誤りを検出するため、前記分岐命令のオ
ぺコードで指定された絶対アドレスであるかないかに応
じて前記分岐命令に関係するアドレスとしてアクセスが
許可されるアドレスと許可されないアドレスとを識別す
る“1”あるいは“0”により設定されるフラグデータ
を、ターゲットとなる回路に用いられるメモリのROM
領域の各アドレスに一対一に対応した分岐許可フラグ格
納用メモリへ識別情報格納手段により予め格納するよう
にしたものである。
【0013】請求項4記載の発明に係るエミュレータ
は、ラベルが定義されているプログラムの先頭アドレス
であるかないかを基に分岐命令が実行される際のアドレ
スに関係する誤りを検出するため、前記ラベルが定義さ
れているプログラムの先頭アドレスであるかないかに応
じて前記分岐命令に関係するアドレスとしてアクセスが
許可されるアドレスと許可されないアドレスとを識別す
る“1”あるいは“0”により設定されるフラグデータ
を、ターゲットとなる回路に用いられるメモリのROM
領域の各アドレスに一対一に対応した分岐許可フラグ格
納用メモリへ識別情報格納手段により予め格納するよう
にしたものである。
【0014】請求項5記載の発明に係るエミュレータ
は、サブルーチンへの分岐命令の次の命令アドレスであ
るかないかを基に前記分岐命令が実行される際のアドレ
スに関係する誤りを検出するため、前記サブルーチンへ
の分岐命令の次の命令アドレスであるかないかに応じて
前記分岐命令に関係するアドレスとしてアクセスが許可
されるアドレスと許可されないアドレスとを識別する
“1”あるいは“0”により設定されるフラグデータ
を、ターゲットとなる回路に用いられるメモリのROM
領域の各アドレスに一対一に対応した分岐許可フラグ格
納用メモリへ識別情報格納手段により予め格納するよう
にしたものである。
【0015】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.図1は、この発明の実施の形態1におけ
るエミュレータの構成を示すブロック図である。図にお
いて、11はエミュレータ中央処理装置、12はエミュ
レータ中央処理装置11から出力される信号を常に監視
するモニタ回路(モニタ手段)、13はターゲットプロ
グラムやデータを格納するターゲットプログラムメモ
リ、14は指定したアドレスの命令実行や不正分岐を行
った場合、および指定したアドレスの命令実行や実行ア
ドレスのアクセス状態とメモリ保護機能用メモリ17の
アクセス条件とを比較してアクセス状態が前記アクセス
条件と異なっている場合にターゲットプログラムの実行
を中止させるブレーク回路、15はターゲット基板上の
メモリのROM領域の各アドレスに対して一対一に対応
したアドレスを有し、分岐命令に関係するアドレスとし
てアクセスが許可されるアドレスと許可されないアドレ
スとを識別する情報を格納する分岐許可フラグ格納用メ
モリ、16は分岐命令実行時に分岐アドレスを判別する
分岐アドレス判別回路、17はターゲットプログラムメ
モリ13のアクセス条件を設定する前記メモリ保護機能
用メモリ(メモリ保護手段)、18は分岐許可フラグ格
納用メモリ15に格納された前記情報を基に前記ターゲ
ットプログラムの実行を遅延させることなく前記分岐命
令が実行される際の前記アドレスに関係する誤りを検出
する誤分岐アドレス判定回路、19はモニタ回路12,
ターゲットプログラムメモリ13,ブレーク回路14,
分岐許可フラグ格納用メモリ15,分岐アドレス判別回
路16,メモリ保護機能用メモリ17などを備えたエミ
ュレータを示す。20はソースプログラムをアセンブル
する際に予め分岐命令に関係するアドレスとしてアクセ
スが許可されるアドレスと許可されないアドレスとを識
別する前記情報を生成し前記分岐許可フラグ格納用メモ
リ15へ格納するためのパーソナルコンピュータ(識別
情報格納手段)である。
【0016】図2は、ターゲット基板上のメモリのメモ
リマップと、アセンブルされたターゲットプログラムを
格納するターゲットプログラムメモリ13のメモリマッ
プとの対応関係を示した説明図である。図において、2
1はターゲット基板上のメモリのRAM領域、22はタ
ーゲット基板上のメモリの未使用領域、23はターゲッ
ト基板上のメモリのROM領域、24はターゲットプロ
グラムメモリ13のデータ領域、25および27はター
ゲットプログラムメモリ13の未使用領域、26と28
はターゲットプログラムメモリ13のプログラム領域で
ある。
【0017】図3は、分岐が許可されているか許可され
ていないかを示すフラグが格納された分岐許可フラグ格
納用メモリ15を示す構成図である。図において、フラ
グ“1”のときには分岐可能であることを示し、またフ
ラグ“0”のときには分岐不可であることを示してい
る。
【0018】図4は、分岐命令の実行時にアドレスバス
上へ出力されるアドレスおよびデータバス上へ出力され
るデータと読出制御信号線および書込制御信号線へ出力
される制御信号を示すタイミング図である。図におい
て、31はアドレスバス上へ出力される信号であり現在
の実行アドレスを示し、32はアドレスバス上へ出力さ
れる分岐先のアドレス、33はデータバス上へ出力され
る分岐命令のオペコード、34はデータバス上へ出力さ
れる分岐命令のオペランドであり、これより指定された
分岐先アドレスが参照可能である。
【0019】図5に示すソースプログラムをアセンブル
する際に分岐命令に関係してアクセスが許可されるアド
レスは分岐許可情報ファイルとして生成し、アクセスが
許可されたアドレスと許可されないアドレスとを識別す
るための情報は、ターゲット基板上のメモリのROM領
域の各アドレスと対応する分岐許可フラグ格納用メモリ
15の各アドレスへ図3に示すように分岐可能であると
きにはフラグ“1”、分岐不可であるときにはフラグ
“0”として格納する。この場合、分岐を許可するアド
レスは、図5に示すように(1)分岐命令のオペコード
で指定された絶対アドレス、(2)ラベルが定義された
アドレス、(3)サブルーチン命令の次の命令アドレス
である。
【0020】また、ターゲットプログラムをエミュレー
タ上で実行する前に、従来技術で説明したようにユーザ
はメモリ保護機能を設定するためにターゲットプログラ
ムを格納したターゲットプログラムメモリ13のアクセ
ス条件をメモリ保護機能用メモリ17へ設定する。この
結果、ターゲットプログラムを格納したターゲットプロ
グラムメモリ13のプログラム領域26,28が書込み
禁止、未使用領域25,27がアクセス禁止となり、メ
モリ保護機能が確立される。
【0021】次に、図1,図2,図3を用いてこの実施
の形態1のエミュレータにおけるブレーク機能を説明す
る。ユーザは、ターゲットプログラムをエミュレータ上
で実行する前に、ソースプログラムをアセンブルする時
点でターゲットプログラムメモリのプログラム領域2
6、28の各アドレスに一対一に対応させて図3に示す
ように分岐が許可されるかされないかを示すフラグを分
岐許可フラグ格納用メモリ15に設定する。
【0022】ターゲットプログラム実行中、分岐アドレ
ス判別回路16はアドレスバス上に出力された分岐先の
アドレス32を判別する。このとき、分岐アドレス判別
回路16によって判別された分岐先アドレスの分岐許可
フラグ格納用メモリ15に設定されているフラグを参照
する。その結果、設定されているフラグが分岐不可を示
している場合には、分岐不可のフラグが設定されている
ことを示す制御信号をブレーク回路14に送る。ブレー
ク回路14は、分岐不可のフラグが設定されていること
を示す制御信号を分岐アドレス判別回路16から受ける
と、ターゲットプログラムの実行を中止する。
【0023】次に、ブレーク回路14が動作してターゲ
ットプログラムの実行を中止する場合について具体的に
説明する。前述したように分岐が許可されるアドレス
は、(1)分岐命令のオペコードで指定された絶対アド
レス、(2)ラベルが定義されたアドレス、(3)サブ
ルーチン命令の次の命令アドレスであるため、前記
(2)の条件を満足しないことでブレーク回路14が動
作する場合としては、次に示すような場合である。
【0024】つまり、ラベルが定義されているアドレス
は分岐先のプログラムの先頭アドレスであることから、
この先頭アドレスに対しては分岐先として許可されてい
なければならないため、この先頭アドレスについて分岐
許可フラグ格納用メモリ15に設定されているフラグは
当然に分岐先のアドレスとして許可されたフラグ“1”
が設定されている。従って、本来正しいアドレスが誤っ
たアドレスに変化するエラーが生じ前記ラベルが定義さ
れているアドレスへ分岐しない場合には、ブレーク回路
14が動作して誤った分岐先へ分岐することによる暴走
などを有効に回避することになる。
【0025】また、前記(3)の条件を満足しないこと
でブレーク回路14が動作する場合としては、次に示す
ような場合である。
【0026】つまり、従来のエミュレータでは、スタッ
クに格納されたアドレスにエラーが発生したり、スタッ
クポインタにエラーが生じたり、ハード的な原因でエラ
ーが生じると、エラーにより変化したアドレスがプログ
ラム領域である場合には、メモリ保護機能は動作するこ
とがなくブレーク回路も動作しないため、暴走状態に陥
ってしまう場合があったのに対し、この実施の形態1で
は、さらに分岐先のアドレスが分岐を許可されているア
ドレスか分岐不可であるアドレスかの条件をも加味して
ブレーク回路が動作するため、スタック破壊などにより
誤った分岐先アドレスへ戻ろうする場合には、そのアド
レスについて分岐許可フラグ格納用メモリ15に分岐不
可を示すフラグが設定されている限り、ブレーク回路1
4が動作して誤った戻り番地へ戻ることによる暴走など
を有効に回避することになる。
【0027】このように、この実施の形態1のエミュレ
ータによれば、誤った分岐が行われようとするとターゲ
ットプログラムの実行が即座に中止されるので、誤った
分岐による暴走を有効に回避することができる効果があ
る。
【0028】
【発明の効果】以上のように、請求項1記載の発明によ
れば、ターゲットとなる回路に用いられるメモリのRO
M領域の各アドレスに一対一に対応した分岐許可フラグ
格納用メモリへ識別情報格納手段により予め分岐命令に
関係するアドレスとして許可されるアドレスと許可され
ないアドレスとを識別する情報を格納しておき、ターゲ
ットプログラムの実行を遅延させることなく前記格納さ
れた前記情報を基に前記分岐命令が実行される際の前記
アドレスに関係する誤りを誤分岐アドレス判定回路によ
り検出し、ブレーク回路により前記ターゲットプログラ
ムの実行を停止させるように構成したので、例えば前記
分岐命令が実行される際の分岐先のアドレスに関係して
発生する誤りを容易に知ることができ、前記ターゲット
プログラムのデバッグに要する時間を短縮できる効果が
ある。
【0029】請求項2記載の発明によれば、ターゲット
となる回路に用いられるメモリのROM領域の各アドレ
スに一対一に対応した分岐許可フラグ格納用メモリへ識
別情報格納手段により予め分岐命令に関係するアドレス
としてアクセスが許可されるアドレスと許可されないア
ドレスとを識別する“1”あるいは“0”により設定さ
れるフラグデータを格納しておき、ターゲットプログラ
ムの実行を遅延させることなく前記格納された前記フラ
グデータを基に前記分岐命令が実行される際の前記アド
レスへのアクセスに関係する誤りを誤分岐アドレス判定
回路により検出し、ブレーク回路により前記ターゲット
プログラムの実行を停止させるように構成したので、前
記分岐命令が実行される際のアドレスへのアクセスに関
係する誤りを前記フラグデータを基に容易に知ることが
でき、前記ターゲットプログラムのデバッグに要する時
間を短縮できる効果がある。
【0030】請求項3記載の発明によれば、ターゲット
となる回路に用いられるメモリのROM領域の各アドレ
スに一対一に対応した分岐許可フラグ格納用メモリへ識
別情報格納手段により予め分岐命令のオぺコードで指定
された絶対アドレスであるかないかに応じてアクセスが
許可されるアドレスと許可されないアドレスとを識別す
る“1”あるいは“0”により設定されるフラグデータ
を格納しておき、ターゲットプログラムの実行を遅延さ
せることなく前記格納された前記フラグデータを基に前
記分岐命令が実行される際の前記絶対アドレスへのアク
セスに生じる誤りを誤分岐アドレス判定回路により検出
し、ブレーク回路により前記ターゲットプログラムの実
行を停止させるように構成したので、前記分岐命令が実
行される際のオぺコードで指定された前記絶対アドレス
へのアクセスに生じる誤りを容易に知ることができ、前
記ターゲットプログラムのデバッグに要する時間を短縮
できる効果がある。
【0031】請求項4記載の発明によれば、ターゲット
となる回路に用いられるメモリのROM領域の各アドレ
スに一対一に対応した分岐許可フラグ格納用メモリへ識
別情報格納手段により予めラベルが定義されているプロ
グラムの先頭アドレスであるかないかに応じたアクセス
が許可されるアドレスと許可されないアドレスとを識別
する“1”あるいは“0”により設定されるフラグデー
タを格納しておき、ターゲットプログラムの実行を遅延
させることなく前記格納された前記フラグデータを基に
前記分岐命令が実行される際の前記ラベルが定義されて
いるプログラムの先頭アドレスへのアクセスに生じる誤
りを誤分岐アドレス判定回路により検出し、ブレーク回
路により前記ターゲットプログラムの実行を停止させる
ように構成したので、前記分岐命令が実行される際のラ
ベルが定義されているプログラムの前記先頭アドレスへ
のアクセスに生じる誤りを容易に知ることができ、前記
ターゲットプログラムのデバッグに要する時間を短縮で
きる効果がある。
【0032】請求項5記載の発明によれば、ターゲット
となる回路に用いられるメモリのROM領域の各アドレ
スに一対一に対応した分岐許可フラグ格納用メモリへ識
別情報格納手段により予めサブルーチンへの分岐命令の
次の命令アドレスであるかないかに応じてアクセスが許
可されるアドレスと許可されないアドレスとを識別する
“1”あるいは“0”により設定されるフラグデータを
格納しておき、ターゲットプログラムの実行を遅延させ
ることなく前記格納された前記フラグデータを基に前記
分岐命令が実行される際の前記サブルーチンへの分岐命
令の次の命令アドレスへのアクセスに生じる誤りを誤分
岐アドレス判定回路により検出し、ブレーク回路により
前記ターゲットプログラムの実行を停止させるように構
成したので、前記サブルーチンへの分岐命令の次の命令
アドレスへのアクセスに生じる誤りを容易に知ることが
でき、特にスタック内のデータに生じたエラーが原因と
なる誤りを容易に知ることが出来、デバッグに要する時
間を短縮できる効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1によるエミュレータ
の構成を示すブロック図である。
【図2】 この発明の実施の形態1によるエミュレータ
のターゲット基板上のメモリのメモリマップと、アセン
ブルしたターゲットプログラムを格納するターゲットプ
ログラムメモリのメモリマップとの対応関係を示す説明
図である。
【図3】 この発明の実施の形態1によるエミュレータ
の分岐が許可されているか許可されていないかを示すフ
ラグが設定された分岐許可フラグ格納用メモリの構成図
である。
【図4】 この発明の実施の形態1のエミュレータによ
る分岐命令の実行時にアドレスバス上へ出力されるアド
レスおよびデータバス上へ出力されるデータと読出制御
信号線および書込制御信号線へ出力される制御信号を示
すタイミング図である。
【図5】 この発明の実施の形態1のエミュレータによ
るソースプログラムの構成を示す説明図である。
【図6】 従来のエミュレータにおけるターゲット基板
とパーソナルコンピュータとの接続関係を示す概念図で
ある。
【図7】 従来のエミュレータにおけるターゲット基板
上のメモリのメモリマップと、アセンブルしたターゲッ
トプログラムを格納するターゲットプログラムメモリの
メモリマップとの対応関係を示す説明図である。
【図8】 従来のエミュレータの構成を示すブロック図
である。
【符号の説明】
12 モニタ回路(モニタ手段)、13 ターゲットプ
ログラムメモリ、14ブレーク回路、15 分岐許可フ
ラグ格納用メモリ、17 メモリ保護機能用メモリ(メ
モリ保護手段)、18 誤分岐アドレス判定回路、19
エミュレータ、20 パーソナルコンピュータ(識別
情報格納手段)。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ターゲットとなる回路を動作させるター
    ゲットプログラムを格納するターゲットプログラムメモ
    リと、前記ターゲットプログラムを実行することで前記
    回路が動作する際の各種データをモニタするモニタ手段
    と、該モニタ手段により得られたモニタ結果を基に前記
    ターゲットプログラムによる前記ターゲットプログラム
    メモリへの誤ったアクセスを検出するメモリ保護手段と
    を備えたエミュレータにおいて、前記ターゲットとなる
    回路に用いられるメモリのROM領域の各アドレスに一
    対一に対応したアドレスを有する分岐許可フラグ格納用
    メモリと、予め分岐命令に関係するアドレスとしてアク
    セスが許可されるアドレスと許可されないアドレスとを
    識別する情報を前記分岐許可フラグ格納用メモリへ格納
    する識別情報格納手段と、該識別情報格納手段により格
    納された前記情報を基に前記ターゲットプログラムの実
    行を遅延させることなく前記分岐命令が実行される際の
    前記アドレスへのアクセスに関係する誤りを検出する誤
    分岐アドレス判定回路と、該誤分岐アドレス判定回路が
    前記分岐命令の実行される際の前記誤りを検出したとき
    に前記ターゲットプログラムの実行を停止させるブレー
    ク回路とを備えたことを特徴とするエミュレータ。
  2. 【請求項2】 識別情報格納手段により予め分岐許可フ
    ラグ格納用メモリへ格納される情報は、分岐命令に関係
    するアドレスとしてアクセスが許可されるアドレスと許
    可されないアドレスとを識別する“1”あるいは“0”
    により設定されるフラグデータであることを特徴とする
    請求項1記載のエミュレータ。
  3. 【請求項3】 分岐命令に関係するアドレスは、分岐命
    令のオぺコードで指定された絶対アドレスであることを
    特徴とする請求項2記載のエミュレータ。
  4. 【請求項4】 分岐命令に関係するアドレスは、ラベル
    が定義されているプログラムの先頭アドレスであること
    を特徴とする請求項2記載のエミュレータ。
  5. 【請求項5】 分岐命令に関係するアドレスは、サブル
    ーチンへの分岐命令の次の命令アドレスであることを特
    徴とする請求項2記載のエミュレータ。
JP7302847A 1995-11-21 1995-11-21 エミュレータ Pending JPH09146789A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7302847A JPH09146789A (ja) 1995-11-21 1995-11-21 エミュレータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7302847A JPH09146789A (ja) 1995-11-21 1995-11-21 エミュレータ

Publications (1)

Publication Number Publication Date
JPH09146789A true JPH09146789A (ja) 1997-06-06

Family

ID=17913820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7302847A Pending JPH09146789A (ja) 1995-11-21 1995-11-21 エミュレータ

Country Status (1)

Country Link
JP (1) JPH09146789A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434309B1 (ko) * 1998-03-09 2005-05-24 주식회사 하이닉스반도체 에뮬레이터 회로
US7664939B2 (en) 2006-04-28 2010-02-16 Hitachi, Ltd. Method and apparatus for detecting false operation of computer
JP2011048851A (ja) * 2010-10-29 2011-03-10 Fujitsu Ltd ソフトウェアの改竄検出装置及び改竄検出方法
JP2011048850A (ja) * 2010-10-29 2011-03-10 Fujitsu Ltd ソフトウェアの改竄防止装置及び改竄防止方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100434309B1 (ko) * 1998-03-09 2005-05-24 주식회사 하이닉스반도체 에뮬레이터 회로
US7664939B2 (en) 2006-04-28 2010-02-16 Hitachi, Ltd. Method and apparatus for detecting false operation of computer
JP2011048851A (ja) * 2010-10-29 2011-03-10 Fujitsu Ltd ソフトウェアの改竄検出装置及び改竄検出方法
JP2011048850A (ja) * 2010-10-29 2011-03-10 Fujitsu Ltd ソフトウェアの改竄防止装置及び改竄防止方法

Similar Documents

Publication Publication Date Title
US5386565A (en) Method and system for controlling/monitoring computer system having plural operating systems to run thereon
US6697971B1 (en) System and method for detecting attempts to access data residing outside of allocated memory
JPH0574099B2 (ja)
US4623962A (en) Register control processing system
US4945472A (en) Data processor with I/O area detection
KR960025210A (ko) 에뮬레이션 장치
US20100263050A1 (en) Method of detecting program attacks
JPH0769822B2 (ja) 演算レジスタのバイパスチェック方式
JPH06236300A (ja) マイクロコンピュータ
JP2716310B2 (ja) 関数コール・リターン検出方式
JPS5899841A (ja) 部分実装された制御メモリのアドレス制御方式
JPH0250226A (ja) マイクロコンピュータ
JP2000353109A (ja) エミュレータ及びエミュレーションシステム
JPS60233743A (ja) 計算機システムの異常検出回路
JPS63103330A (ja) アドレススタツク使用ミス検出方式
JPS6227421B2 (ja)
JPH08123734A (ja) データ格納領域のデータの破壊発生チェック方法及びプログラムの暴走チェック方法、並びにデータ格納領域のデータの破壊発生原因探究方法及びプログラムの暴走原因探究方法
JPH06202957A (ja) メモリ保護装置
JP2007042086A (ja) 入出力制御装置,入出力制御方法,プロセス制御装置及びプロセス制御方法
JPH08328900A (ja) エミュレータ
JPH07239802A (ja) 障害情報管理装置
JPS61228544A (ja) 書込保護方式
JPS6115237A (ja) 未定義命令検出方式
JPS6270956A (ja) 記憶保護装置
JPS61288242A (ja) メモリ保護方式