JPH0555905B2 - - Google Patents

Info

Publication number
JPH0555905B2
JPH0555905B2 JP2629686A JP2629686A JPH0555905B2 JP H0555905 B2 JPH0555905 B2 JP H0555905B2 JP 2629686 A JP2629686 A JP 2629686A JP 2629686 A JP2629686 A JP 2629686A JP H0555905 B2 JPH0555905 B2 JP H0555905B2
Authority
JP
Japan
Prior art keywords
input
address
output
instruction
output instruction
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
JP2629686A
Other languages
English (en)
Other versions
JPS62182959A (ja
Inventor
Akira Kuwata
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 JP2629686A priority Critical patent/JPS62182959A/ja
Publication of JPS62182959A publication Critical patent/JPS62182959A/ja
Publication of JPH0555905B2 publication Critical patent/JPH0555905B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロコンピユータに関し、特に入
出力装置のエミユレーシヨン回路に関する。
〔従来の技術〕
あるコンピユータ:システムに他の既存のシス
テムからソフトウエアを移植しようとする場合の
問題点の1つに、そのソフトウエア中で使用して
いるI/Oの問題がある。すなわち、新しいシス
テムで使用しているI/Oのアドレスが既存のシ
ステムで使用しているI/Oのアドレスと異なる
場合、その部分のI/Oアドレスをすべて書き換
えてやらなければならない。しかしこの場合、ハ
ードウエア的には全く変更がいらないが、ソフト
ウエアの修正が大変である。そこでソフトウエア
を全く変更せずに移植するため、ハードウエア的
に対処する方法がある。
その従来例を第3図と第4図を参照しながら説
明する。
CPU301はプログラムを解読し実行する。
ここでCPU301が解読した命令が入出力命令
であるとアドレス生成器302によりアドレスを
計算して、外部アドレスバス303を通してI/
Oアドレスを出力し、I/Oバスサイクルを走ら
せる。レジスタ307およびレジスタ308には
エミユレーシヨンすべきI/Oアドレスの範囲が
あらかじめ設定されている。すなわち、レジスタ
307にはエミユレーシヨンすべき上限のI/O
アドレスが、レジスタ308には下限のアドレス
があらかじめ設定されている。
次に、CPU301がエミユレーシヨンすべき
I/Oアドレスに対するI/O命令を実行し、
I/Oバスサイクルを走らせたとする。このと
き、外部アドレスバス303を通して比較器30
6にI/Oアドレスが入力する。一方、比較器3
06にはレジスタ307およびレジスタ308が
入力し、実行されたI/Oアドレスがレジスタ3
07およびレジスタ308の範囲に入つていれば
そのI/Oバスサイクルがエミユレーシヨンすべ
きI/O命令であると判断し、CPU301に対
し割込み線309を活性化して知らせる。信号線
305は実行中のバスサイクルがI/Oバスサイ
クルであるときのみ活性化され、比較器306に
入力する。信号線305が不活性時は比較器30
6も比較動作をしない。すなわち比較器306は
I/O命令実行時のみ、そのI/Oアドレスがレ
ジスタ307および308に設定されたアドレス
の範囲内に入つているかどうかを判断し、入つて
いればCPU301に対し割込み線309を活性
化する。
次に、CPU301は割込み線309より割込
み要求と検知すると第4図に示すフローで割込み
処理を行なう。すなわち、割込みが発生すると、
CPU301は割込みが起きたときのプログラム
のアドレスを退避するため、この情報により、割
込み処理ルーチン内で実行された命令がどのよう
な入出力命令であつたのかを判別する(ステツプ
401)。次に実行された入出力命令を正しい入出力
命令に変換して(ステツプ402)それを実行する
(ステツプ403)。その後再び元のプログラムに戻
る。このような方法をとることで、誤つた入出力
命令を正しい入出力命令に変換して再実行する。
〔発明が解決しようとする問題点〕
上述した従来のI/Oエミユレーシヨン回路で
は、CPU外部で入出力命令の検出と割込みの発
生制御を行なつており、一度誤つた入出力命令を
実行して、その後再び正しい入出力命令を実行す
るため、もし、誤つて実行された入出力命令のア
ドレスに何か他の入出力装置が割当てられていた
場合はそのシステムが誤動作する可能性があると
いう欠点がある。特に、それが出力命令の場合は
入出力装置を誤プログラシングにしまい、正しい
出力命令を実行する前に誤動作する可能性が大き
い。
〔問題点を解決するための手段〕
本発明のI/Oエミユレーシヨン回路は入出力
命令検出手段と、第1、第2のデータ保持手段
と、入出力命令検出手段によつて入出力命令が検
出されると、第1、第2のデータ保持手段に格納
されたデータと実行中の前記入出力命令のI/O
アドレスとを比較する比較手段と、比較手段の比
較により、入出力命令のI/Oアドレスが第1と
第2のデータ保持手段に格納されたデータの範囲
外であれば、入出力バスサイクルを起動して入出
力命令の実行を継続させる入出力バスサイクル制
御手段と、比較手段の比較により、入出力命令の
I/Oアドレスが第1と第2のデータ保持手段内
に格納されたデータの範囲内であれば、内部割込
みを発生する内部割込み発生手段とを有し、割込
み処理によりI/Oアドレスを変換することを特
徴としている。
すなわち、入出力命令を実行する前にCPU内
部で正しい入出力命令か否かを判断し、もし誤つ
た入出力命令であれば誤つたI/Oバスサイクル
を実行せずに、割込みを起し、正しい入出力命令
だけを実行することができる。
〔実施例〕
次に、本発明の実施例について図面を参照して
説明する。
第1図は本発明のI/Oエミユレーシヨン回路
の一実施例を内臓したマイクロプロセツサCPU
のブロツク図である。CPU101内には、エミ
ユレーシヨンすべきI/Oアドレスの範囲つまり
エミユレーシヨンすべき上限のI/Oアドレス、
下限のI/Oアドレスが予め設定されたレジスタ
107,108と、CPU101が解読した命令
が入出力命令のときにI/Oアドレスを生成する
アドレス発生器102と、I/Oトラツプフラグ
109と、I/O命令識別信号105が活性時、
アドレス生成器102で生成されたI/Oアドレ
スをレジスタ107,108に設定したアドレス
と比較し、エミユレーシヨンすべきI/Oアドレ
スの範囲内にあれば“1”を、範囲外であれば
“0”をI/Oトラツプフラグ109にセツトす
る比較器106と、入出力命令が検出されると
I/O命令識別信号105を活性化し、また、
I/Oトラツプ109が“0”であればアドレス
出力制御線110を活性化してゲート111を開
き、“1”であれば割込み処理のマイクロプログ
ラムを起動するマイクロプログラム112が設け
られている。
次に、本実施例の動作を説明する。
CPU101はフエツチした命令を解読し実行
する。CPU101は命令を解読するとマイクロ
プログラム112を実行する。ここで解読した命
令が入出力命令である場合、マイクロプログラム
112の中の入出力命令用のマイクロプログラム
が走る。第2図はこの入出力命令用マイクロプロ
グラムのフローチヤートである。初期状態におい
てアドレス出力制御線110は不活性状態であ
り、ゲート111によりアドレスの外部への出力
を強制的に抑えている。まず、アドレス生成器に
よりI/Oアドレスを発生する。次に、レジスタ
107とレジスタ108にあらかじめ設定されて
いるアドレスと、発生したI/Oアドレスを比較
器106で比較し、発生したI/Oアドレスが設
定されているアドレスの範囲内に入つていれば
I/Oトラツプフラグ109を“1”にセツトす
る。次にマイクロプログラムはI/Oトラツプフ
ラグ109を調べ(ステツプ201)、“0”であれ
ばアドレス出力制御線110を活性化し、ゲート
111をあけて前記I/Oアドレスを外部アドレ
スバス103へ出力し、I/Oバスサイクルを走
らせ、I/O命令の実行を完了する(ステツプ
204)。一方、I/Oトラツプフラグ109が
“1”あれば、アドレス出力制御線110は不活
性状態のままであり、外部アドレスバス103に
I/Oアドレスを出力しない。さらに、I/Oト
ラツプフラグ109が“1”であるためマイクロ
プログラム112は割込み処理のマイクロプログ
ラムを起動し、割込み処理ルーチンへ分岐する
(ステツプ203)。割込み処理ルーチンへ分岐後は
割込みの発生したアドレスを、割込み時にスタツ
フに退避した命令ポインタの値から調べ、そこに
格納されている誤つた入出力命令を正しい入出力
命令に交換して、再度I/Oアドレスを発行す
る。新たに発行された正しいI/Oアドレスはレ
ジスタ107とレジスタ108に設定されたアド
レスの範囲に入つていないため、比較器106は
I/Oトラツプフラグ109を“1”にセツトし
ない。そのため、アドレス出力制御線110は活
性化されゲート111をあけてI/Oアドレスを
外部アドレスバス103へ出力し、I/Oバスサ
イクルを実行し、入出力命令の実行を完了する。
〔発明の効果〕
以上説明したように本発明は、入出力命令の検
出や割込みの発生制御をCPU内部で行なうこと
により、誤つた入出力命令を実行せずに割込みを
発生することができないため、そのシステムに対
し誤動作を引き起すこともなく、効果的なI/O
のエミユレーシヨンが可能となる効果がある。
【図面の簡単な説明】
第1図は本発明のI/Oエミユレーシヨン回路
の一実施例を有するCPUのブロツク図、第2図
は第1図の実施例の入出力命令のマイクロプログ
ラムのフローチヤート、第3図は従来のI/Oエ
ミユレーシヨン回路を示すCPUのブロツク図、
第4図は割込み処理ルーチン内での処理フローチ
ヤートである。 101……CPU、102……アドレス生成器、
103……外部アドレスバス、105……I/O
命令識別信号、106……比較器、107……上
限アドレスのレジスタ、108……下限アドレス
のレジスタ、109……I/Oトラツプフラグ、
110……アドレス出力制御線、111……ゲー
ト、112……マイクロプログラム。

Claims (1)

  1. 【特許請求の範囲】 1 入出力命令検出手段と、第1、第2のデータ
    保持手段と、入出力命令検出手段によつて出力命
    令が検出されると、第1、第2のデータ保持手段
    に格納されたデータと実行中の前記入出力命令の
    I/Oアドレスとを比較する比較手段と、 比較手段の比較により、入出力命令のI/Oア
    ドレスが第1と第2のデータ保持手段に格納され
    たデータの範囲外であれば、入出力バスサイクル
    を起動して入出力命令の実行を継続させ、入出力
    バスサイクル制御手段と、比較手段の比較によ
    り、入出力命令のI/Oアドレスが第1と第2の
    データ保持手段内に格納されたデータの範囲内で
    あれば、内部割込みを発生する内部割込み発生手
    段とを有し、割込み処理によりI/Oアドレスを
    変換することを特徴とするI/Oエミユレーシヨ
    ン回路。
JP2629686A 1986-02-07 1986-02-07 I/oエミユレ−シヨン回路 Granted JPS62182959A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2629686A JPS62182959A (ja) 1986-02-07 1986-02-07 I/oエミユレ−シヨン回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2629686A JPS62182959A (ja) 1986-02-07 1986-02-07 I/oエミユレ−シヨン回路

Publications (2)

Publication Number Publication Date
JPS62182959A JPS62182959A (ja) 1987-08-11
JPH0555905B2 true JPH0555905B2 (ja) 1993-08-18

Family

ID=12189361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2629686A Granted JPS62182959A (ja) 1986-02-07 1986-02-07 I/oエミユレ−シヨン回路

Country Status (1)

Country Link
JP (1) JPS62182959A (ja)

Also Published As

Publication number Publication date
JPS62182959A (ja) 1987-08-11

Similar Documents

Publication Publication Date Title
US7178062B1 (en) Methods and apparatus for executing code while avoiding interference
US4924382A (en) Debugging microprocessor capable of switching between emulation and monitor without accessing stack area
JPH07219809A (ja) データ処理装置およびデータ処理方法
KR920003044B1 (ko) 가상 머신 시스템용의 게스트 머신 실행 제어 시스템
JP2583525B2 (ja) データ処理装置
US6513110B1 (en) Check instruction and method
JPH0555905B2 (ja)
JPH05216721A (ja) 電子計算機
JPH06103109A (ja) データプロセッサ、及びこれを用いるデバッグ装置
JPS6158054A (ja) プログラムの暴走検出方式
JPH05257815A (ja) 中央処理装置
JP2814800B2 (ja) マイクロコンピュータ
JP2504191B2 (ja) マイクロプロセッサ
JP2562838B2 (ja) プロセッサ及びストアバッファ制御方法
KR920003909B1 (ko) 디버깅지원회로
JP2786215B2 (ja) 再開処理制御方式
JPS6118045A (ja) プログラムの暴走検出方式
JPH04364531A (ja) マイクロプロセッサ
JPH05250161A (ja) マイクロコンピュータ装置
JPH03208132A (ja) シングルチツプマイクロコンピユータ
JPS6349941A (ja) 演算処理装置
JPS63316137A (ja) 情報処理装置
JPH03225485A (ja) マイクロプロセッサ
JPH06250863A (ja) マイクロコンピュータ
JPS5848150A (ja) 障害波及防止方式

Legal Events

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