JPH04216156A - I/oアクセス方式 - Google Patents
I/oアクセス方式Info
- Publication number
- JPH04216156A JPH04216156A JP2402883A JP40288390A JPH04216156A JP H04216156 A JPH04216156 A JP H04216156A JP 2402883 A JP2402883 A JP 2402883A JP 40288390 A JP40288390 A JP 40288390A JP H04216156 A JPH04216156 A JP H04216156A
- Authority
- JP
- Japan
- Prior art keywords
- access
- nmi
- routine
- program
- stack
- 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)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、マイクロコンピュータ
・システムにおけるI/O(入出力装置)アクセス方式
に関する。マイクロコンピュータ・システムにおいては
、信頼性向上の目的から、一過性の障害でシステムが停
止しないことが要求される。したがって、一過性のI/
O障害が発生しても、システム全体の停止に至らないI
/Oアクセス方式が必要である。
・システムにおけるI/O(入出力装置)アクセス方式
に関する。マイクロコンピュータ・システムにおいては
、信頼性向上の目的から、一過性の障害でシステムが停
止しないことが要求される。したがって、一過性のI/
O障害が発生しても、システム全体の停止に至らないI
/Oアクセス方式が必要である。
【0002】また、ハードウェアとソフトウェアを同時
に開発している時に、ハードウェアの完成前にハードウ
ェアなしのソフトウェアテストを実行したり、障害解析
時に必要なI/Oアクセストレースがソフトウェアの改
造なしに実行できるI/Oアクセスルーチンが必要とな
っている。
に開発している時に、ハードウェアの完成前にハードウ
ェアなしのソフトウェアテストを実行したり、障害解析
時に必要なI/Oアクセストレースがソフトウェアの改
造なしに実行できるI/Oアクセスルーチンが必要とな
っている。
【0003】
【従来の技術】従来のマイクロコンピュータ・システム
においては、I/Oアクセス時にハードウェア障害、ハ
ードウェア未実装、ノイズによる確認信号(ACK信号
)の喪失等でI/Oへのアクセスが完了しない場合、中
央処理装置(CPU)のバス監視機構によってオーバー
タイム(OVT)が発生する。通常、I/Oアクセスの
OVTは重障害であるため、NMI(マスク不可能割込
み;NonMaskable Interrupt )
としてソフトウェアに通知され、ソフトウェアはシステ
ムダウンや、初期化等の対処を行う。また、ソフトウェ
アテストを行おうとする時にハードウェアが未だ完成し
ていない場合、ソフトウェアテストによりハードウエア
にアクセスすると、上記のOVTが発生してしまうので
、ソフトウェア中のハードウェアへのI/Oアクセス部
分を実行しないようにプログラムを修正したり、I/O
アクセス部分を他のサブルーチンに変更して、擬似的に
I/Oアクセスを行ったりしている。
においては、I/Oアクセス時にハードウェア障害、ハ
ードウェア未実装、ノイズによる確認信号(ACK信号
)の喪失等でI/Oへのアクセスが完了しない場合、中
央処理装置(CPU)のバス監視機構によってオーバー
タイム(OVT)が発生する。通常、I/Oアクセスの
OVTは重障害であるため、NMI(マスク不可能割込
み;NonMaskable Interrupt )
としてソフトウェアに通知され、ソフトウェアはシステ
ムダウンや、初期化等の対処を行う。また、ソフトウェ
アテストを行おうとする時にハードウェアが未だ完成し
ていない場合、ソフトウェアテストによりハードウエア
にアクセスすると、上記のOVTが発生してしまうので
、ソフトウェア中のハードウェアへのI/Oアクセス部
分を実行しないようにプログラムを修正したり、I/O
アクセス部分を他のサブルーチンに変更して、擬似的に
I/Oアクセスを行ったりしている。
【0004】
【発明が解決しようとする課題】従って、従来のI/O
アクセス方式では、一過性のノイズ等でI/Oアクセス
によるOVTが発生しても、発生させたプログラムに処
理が復帰せず、システムダウンや初期設定に至るので、
リトライや詳細なアラーム発報を行うことができず、処
理を継続することもできなかった。また、ハードウェア
なしのテストを行う為にはソフトウェアを改造する必要
が生じていた。
アクセス方式では、一過性のノイズ等でI/Oアクセス
によるOVTが発生しても、発生させたプログラムに処
理が復帰せず、システムダウンや初期設定に至るので、
リトライや詳細なアラーム発報を行うことができず、処
理を継続することもできなかった。また、ハードウェア
なしのテストを行う為にはソフトウェアを改造する必要
が生じていた。
【0005】本発明は、I/OアクセスにおいてOVT
が発生しても、アクセスしたプログラムにI/Oアクセ
スの異常が通知されることに留まり、システム全体への
直接的な影響が発生しないようにするI/Oアクセス方
式を提供することを目的とする。本発明はまた、ソフト
ウェアの改造なしに、ハードウェアなしのテストや、I
/Oアクセスのトレース採取が行えるI/Oアクセスル
ーチンを提供することを目的にしている。
が発生しても、アクセスしたプログラムにI/Oアクセ
スの異常が通知されることに留まり、システム全体への
直接的な影響が発生しないようにするI/Oアクセス方
式を提供することを目的とする。本発明はまた、ソフト
ウェアの改造なしに、ハードウェアなしのテストや、I
/Oアクセスのトレース採取が行えるI/Oアクセスル
ーチンを提供することを目的にしている。
【0006】
【課題を解決するための手段】図1は、本発明の原理説
明ブロック図である。図中、本発明によるマイクロコン
ピュータ・システムは、中央処理装置(CPU)1と、
この中央処理装置1により制御されるメモリ2とを具備
している。メモリ2は、入出力装置であるアダプタ3に
I/Oアクセスを行うI/Oアクセスプログラム(A)
4と、マスク不可能割り込み(NMI)が発生したとき
に実行されるNMIルーチン(B)5と、マスク不可能
割り込み発生時のI/Oアクセスプログラム4のアドレ
スを格納するスタック6とを具備する。
明ブロック図である。図中、本発明によるマイクロコン
ピュータ・システムは、中央処理装置(CPU)1と、
この中央処理装置1により制御されるメモリ2とを具備
している。メモリ2は、入出力装置であるアダプタ3に
I/Oアクセスを行うI/Oアクセスプログラム(A)
4と、マスク不可能割り込み(NMI)が発生したとき
に実行されるNMIルーチン(B)5と、マスク不可能
割り込み発生時のI/Oアクセスプログラム4のアドレ
スを格納するスタック6とを具備する。
【0007】中央処理装置1は、I/Oアクセスプログ
ラム4の実行中にI/Oアクセスが所定時間内に完了し
ないことによるオーバタイムを検出すると、I/Oアク
セスプログラム4からNMIルーチン5に制御を移行す
るとともに、マスク不可能割り込み発生時のI/Oアク
セスプログラム4のアドレスをスタック6に格納する。
ラム4の実行中にI/Oアクセスが所定時間内に完了し
ないことによるオーバタイムを検出すると、I/Oアク
セスプログラム4からNMIルーチン5に制御を移行す
るとともに、マスク不可能割り込み発生時のI/Oアク
セスプログラム4のアドレスをスタック6に格納する。
【0008】I/Oアクセスプログラム4は、I/Oア
クセス時に復帰依頼フラグ(a)7を設定し、中央処理
装置1はNMIルーチン5の実行開始時に復帰依頼フラ
グ7を検出するとNMIルーチン5からI/Oアクセス
プログラム4のスタック6に格納されているアドレスに
制御を復帰させる。NMIルーチン5は、NMIルーチ
ン5の実行開始後に復帰依頼フラグ7を検出するとNM
Iフラグ8を設定し、I/Oアクセスプログラム4は、
NMIルーチンからの復帰後にNMIフラグを検出する
ことにより、一過性のハード障害の発生を認識して、対
応する処理を実行することが好ましい。
クセス時に復帰依頼フラグ(a)7を設定し、中央処理
装置1はNMIルーチン5の実行開始時に復帰依頼フラ
グ7を検出するとNMIルーチン5からI/Oアクセス
プログラム4のスタック6に格納されているアドレスに
制御を復帰させる。NMIルーチン5は、NMIルーチ
ン5の実行開始後に復帰依頼フラグ7を検出するとNM
Iフラグ8を設定し、I/Oアクセスプログラム4は、
NMIルーチンからの復帰後にNMIフラグを検出する
ことにより、一過性のハード障害の発生を認識して、対
応する処理を実行することが好ましい。
【0009】I/Oアクセスプログラム4は、I/Oア
クセス実行結果のトレース採取、メモリ2上への擬似出
力、メモリ2からの擬似入力、および異常時の最新値代
替入力の少なくとも1つの機能を具備することが好まし
い。
クセス実行結果のトレース採取、メモリ2上への擬似出
力、メモリ2からの擬似入力、および異常時の最新値代
替入力の少なくとも1つの機能を具備することが好まし
い。
【0010】
【作用】図2は本発明によるI/Oアクセスプログラム
のフローチャートであり、図3は本発明によるNMIル
ーチンのフローチャートである。図1から図3において
、本発明では、I/Oアクセスプログラム4は、入出力
装置であるアダプタ3にアクセスする場合には、NMI
が発生してNMIルーチン5の実行開始後にNMIルー
チン5からI/Oアクセスプログラム4に復帰されるよ
うに、復帰依頼フラグ7に“1”をセットしてから実際
にI/Oにアクセスする(ステップ21)。
のフローチャートであり、図3は本発明によるNMIル
ーチンのフローチャートである。図1から図3において
、本発明では、I/Oアクセスプログラム4は、入出力
装置であるアダプタ3にアクセスする場合には、NMI
が発生してNMIルーチン5の実行開始後にNMIルー
チン5からI/Oアクセスプログラム4に復帰されるよ
うに、復帰依頼フラグ7に“1”をセットしてから実際
にI/Oにアクセスする(ステップ21)。
【0011】I/Oアクセスを行うと、CPU1は一定
時間アダプタからのACK信号を監視し、OVT(オー
バータイム)を検出すると、NMIを発生させる。NM
Iが発生するとスタック6に実行中だったI/Oアクセ
スプログラム4の該当アドレスが格納され、NMIルー
チン5に制御権が移行する。NMIルーチン5では、割
り込み要求信号のリセット等のNMI処理(ステップ3
1)後に、復帰依頼フラグ7をチェックして(ステップ
32)、“1”であればNMI発生フラグをセット(ス
テップ33)し、次いでスタック6から復帰アドレスを
求めて(ステップ34)I/Oアクセスプログラム4の
上記NMI発生時の次の命令に復帰する(ステップ35
)。
時間アダプタからのACK信号を監視し、OVT(オー
バータイム)を検出すると、NMIを発生させる。NM
Iが発生するとスタック6に実行中だったI/Oアクセ
スプログラム4の該当アドレスが格納され、NMIルー
チン5に制御権が移行する。NMIルーチン5では、割
り込み要求信号のリセット等のNMI処理(ステップ3
1)後に、復帰依頼フラグ7をチェックして(ステップ
32)、“1”であればNMI発生フラグをセット(ス
テップ33)し、次いでスタック6から復帰アドレスを
求めて(ステップ34)I/Oアクセスプログラム4の
上記NMI発生時の次の命令に復帰する(ステップ35
)。
【0012】ステップ32で復帰依頼フラグ7が“1”
でない場合は、NMI発生時に復帰することに対処して
いない他のプログラムが発生させたNMIであるので、
NMIルーチン5はシステムをダウンさせたり初期設定
(システムリセット)を行う(ステップ36)。I/O
アクセスプログラム4では、I/Oアクセスからの復帰
後、NMI発生フラグ8をチェックして(ステップ23
)、“1”であれば、NMI発生を認識し、一過性のハ
ード障害に対する対策としてリトライを行ったり、外部
へのアラーム発報を行ったり(ステップ24)、I/O
を一時的に使わないようにする縮退等をおこなった後で
処理を継続する。また、NMI発生フラグが“1”でな
い場合は、I/Oアクセスは正常に行われたと判断して
、正常な処理を続行する(ステップ25)。
でない場合は、NMI発生時に復帰することに対処して
いない他のプログラムが発生させたNMIであるので、
NMIルーチン5はシステムをダウンさせたり初期設定
(システムリセット)を行う(ステップ36)。I/O
アクセスプログラム4では、I/Oアクセスからの復帰
後、NMI発生フラグ8をチェックして(ステップ23
)、“1”であれば、NMI発生を認識し、一過性のハ
ード障害に対する対策としてリトライを行ったり、外部
へのアラーム発報を行ったり(ステップ24)、I/O
を一時的に使わないようにする縮退等をおこなった後で
処理を継続する。また、NMI発生フラグが“1”でな
い場合は、I/Oアクセスは正常に行われたと判断して
、正常な処理を続行する(ステップ25)。
【0013】このように、本発明のI/Oアクセス方式
を用いれば、I/OのOVTが発生した場合も、OVT
に対処した上で、処理を続行することができる。
を用いれば、I/OのOVTが発生した場合も、OVT
に対処した上で、処理を続行することができる。
【0014】
【実施例】図4は本発明の一実施例の構成図である。図
中、図1で示したものと同一のものは同一の記号で示し
てある。31は本発明の実施例により付加されたI/O
アクセスルーチン(D)であり、上記の本発明のI/O
アクセス方式、およびその他の拡張機能を一つにまとめ
てI/Oアクセスルーチンとしたものである。I/Oア
クセスプログラム4はI/Oに入出力をする場合は必ず
、このI/Oアクセスルーチン31を使用する。また、
復帰依頼フラグ7の設定およびNMI発生フラグ8のチ
ェック等は本実施例においては、I/Oアクセスルーチ
ン31が行うので、I/Oアクセスプログラム4は単に
I/Oアクセスルーチン31を起動するだけでよい。
中、図1で示したものと同一のものは同一の記号で示し
てある。31は本発明の実施例により付加されたI/O
アクセスルーチン(D)であり、上記の本発明のI/O
アクセス方式、およびその他の拡張機能を一つにまとめ
てI/Oアクセスルーチンとしたものである。I/Oア
クセスプログラム4はI/Oに入出力をする場合は必ず
、このI/Oアクセスルーチン31を使用する。また、
復帰依頼フラグ7の設定およびNMI発生フラグ8のチ
ェック等は本実施例においては、I/Oアクセスルーチ
ン31が行うので、I/Oアクセスプログラム4は単に
I/Oアクセスルーチン31を起動するだけでよい。
【0015】本実施例では、さらに、この機能を拡張し
て、I/Oアクセスに関する以下の機能を実現している
。各機能はI/Oアクセスルーチン31のどの機能を用
いるかを指定するパラメタで指定して選択する。■はO
VT検出機能であり、上述した本発明の直接的な利用で
ある。即ち、■によってOVTの発生をアクセスルーチ
ンの復帰コードとして通知する。
て、I/Oアクセスに関する以下の機能を実現している
。各機能はI/Oアクセスルーチン31のどの機能を用
いるかを指定するパラメタで指定して選択する。■はO
VT検出機能であり、上述した本発明の直接的な利用で
ある。即ち、■によってOVTの発生をアクセスルーチ
ンの復帰コードとして通知する。
【0016】■は疑似入力であり、I/Oアクセスを行
うと、ハードウエアからの実入力は行わず、テーブル3
2内の指定したI/Oアドレスの位置に予め設定された
値が入力値としてCPU1に通知される。■は上記の逆
の機能であり、CPU1からI/Oへの出力を行おうと
するとハードウエアへの実出力は行われず、テーブル3
3内の該当する位置に値が設定される。この■、■の機
能を使用すれば、ハードウェアが未開発のときでもハー
ドウエアなしで、一連のI/Oアクセスを含むソフトウ
ェアのテストが行える。
うと、ハードウエアからの実入力は行わず、テーブル3
2内の指定したI/Oアドレスの位置に予め設定された
値が入力値としてCPU1に通知される。■は上記の逆
の機能であり、CPU1からI/Oへの出力を行おうと
するとハードウエアへの実出力は行われず、テーブル3
3内の該当する位置に値が設定される。この■、■の機
能を使用すれば、ハードウェアが未開発のときでもハー
ドウエアなしで、一連のI/Oアクセスを含むソフトウ
ェアのテストが行える。
【0017】■は、■と■とを組み合わせた機能であり
、I/Oより実入力をする毎に入力値で最新値テーブル
34の内容を更新しておき、OVT発生時は入力データ
として最新値テーブル34に設定された最新の入力値を
OVT発生時の値の代わりにCPU1に通知する。■は
I/Oアクセスのトレース機能であり、I/Oアクセス
を行う毎に、指定されたI/Oアクセスと実入出力値を
トレースバッファ領域に順番に設定していく。
、I/Oより実入力をする毎に入力値で最新値テーブル
34の内容を更新しておき、OVT発生時は入力データ
として最新値テーブル34に設定された最新の入力値を
OVT発生時の値の代わりにCPU1に通知する。■は
I/Oアクセスのトレース機能であり、I/Oアクセス
を行う毎に、指定されたI/Oアクセスと実入出力値を
トレースバッファ領域に順番に設定していく。
【0018】これらにより、I/OのOVT発生時の継
続処理、ハードウェアなしのソフトウェアテスト、I/
Oの障害中の最新値の代替通知、およびI/O実行結果
のトレースが一つのルーチンを呼び出すことで実現でき
る。
続処理、ハードウェアなしのソフトウェアテスト、I/
Oの障害中の最新値の代替通知、およびI/O実行結果
のトレースが一つのルーチンを呼び出すことで実現でき
る。
【0019】
【発明の効果】以上説明した様に、本発明によれば、I
/Oアクセスを行った結果、オーバタイムが検出された
場合でも、そのオーバタイムが発生したプログラムに制
御権を復帰するようにしたので、リトライやアラーム発
報やI/Oを使わないようにする縮退等を行うことによ
り、ハードウエアの一過性の障害や未開発の場合でも、
処理を継続することができる。また、実施例で示したI
/Oアクセスルーチンを使用すれば、上記の効果に加え
、ハードウェアなしのソフトウェアテスト、I/OのO
VT発生時の最新値代替入力、I/Oアクセストレース
等の機能がソフトウェアの改造なしに行うことができる
。
/Oアクセスを行った結果、オーバタイムが検出された
場合でも、そのオーバタイムが発生したプログラムに制
御権を復帰するようにしたので、リトライやアラーム発
報やI/Oを使わないようにする縮退等を行うことによ
り、ハードウエアの一過性の障害や未開発の場合でも、
処理を継続することができる。また、実施例で示したI
/Oアクセスルーチンを使用すれば、上記の効果に加え
、ハードウェアなしのソフトウェアテスト、I/OのO
VT発生時の最新値代替入力、I/Oアクセストレース
等の機能がソフトウェアの改造なしに行うことができる
。
【図1】本発明の原理ブロック図である。
【図2】本発明によるI/Oアクセスプログラムのフロ
ーチャートである。
ーチャートである。
【図3】本発明によるNMIルーチンのフローチャート
である。
である。
【図4】本発明の実施例によるI/Oアクセス方式のブ
ロック図である。
ロック図である。
1…中央処理装置
2…メモリ
3…アダプタ
4…I/Oアクセスプログラム
5…NMIルーチン
6…スタック
7…復帰依頼フラグ
8…NMI発生フラグ
Claims (4)
- 【請求項1】 中央処理装置(1)と該中央処理装置
(1)により制御されるメモリ(2)とを具備し、該メ
モリ(2)は、入出力装置にI/Oアクセスを行うI/
Oアクセスプログラム(4)と、マスク不可能割り込み
が発生したときに実行されるNMIルーチン(5)と、
該マスク不可能割り込み発生時の該I/Oアクセスプロ
グラムのアドレスを格納するスタック(6)とを具備し
、該中央処理装置(1)は、該I/Oアクセスプログラ
ム(4)の実行中にI/Oアクセスが所定時間内に完了
しないことによるオーバタイムを検出すると、該I/O
アクセスプログラムから該NMIルーチンに制御を移行
するとともに、該マスク不可能割り込み発生時の該I/
Oアクセスプログラムのアドレスを該スタック(6)に
格納し、該NMIルーチンの実行開始後に該NMIルー
チン(6)から該I/Oアクセスプログラム(4)の該
スタック(6)に格納されているアドレスに制御を復帰
させることを特徴とするI/Oアクセス方式。 - 【請求項2】 該I/Oアクセスプログラム(4)は
、該I/Oアクセス時に復帰依頼フラグ(7)を設定し
、該中央処理装置(1)は該NMIルーチンの実行開始
時に該復帰依頼フラグ(7)を検出すると該NMIルー
チン(6)から該I/Oアクセスプログラム(4)の該
スタック(6)に格納されているアドレスに制御を復帰
させることを特徴とする請求項の1に記載のI/Oアク
セス方式。 - 【請求項3】 該NMIルーチン(5)は、該NMI
ルーチンの実行開始後に該復帰依頼フラグ(7)を検出
するとNMIフラグ(8)を設定し、該I/Oアクセス
プログラム(4)は、該NMIルーチンからの復帰後に
該NMIフラグを検出することにより、一過性のハード
障害の発生を認識して、対応する処理を実行することを
特徴とする請求項の2に記載のI/Oアクセス方式。 - 【請求項4】 該I/Oアクセスプログラム(4)は
、I/Oアクセス実行結果のトレース採取、該メモリ(
2)上への擬似出力、該メモリ(2)からの擬似入力、
および異常時の最新値代替入力の少なくとも1つの機能
を具備する請求項の1に記載のI/Oアクセス方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2402883A JPH04216156A (ja) | 1990-12-17 | 1990-12-17 | I/oアクセス方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2402883A JPH04216156A (ja) | 1990-12-17 | 1990-12-17 | I/oアクセス方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04216156A true JPH04216156A (ja) | 1992-08-06 |
Family
ID=18512652
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2402883A Pending JPH04216156A (ja) | 1990-12-17 | 1990-12-17 | I/oアクセス方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04216156A (ja) |
-
1990
- 1990-12-17 JP JP2402883A patent/JPH04216156A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20040268315A1 (en) | System and method for processing breakpoint events in a child process generated by a parent process | |
| JP3481737B2 (ja) | ダンプ採取装置およびダンプ採取方法 | |
| WO2007002940A2 (en) | Debugging using virtual watchpoints | |
| JP2870202B2 (ja) | プロセッサ間相互監視方法及びその装置 | |
| JPH0581087A (ja) | プロセサのモニタ方式 | |
| JPH09204205A (ja) | プログラム制御システム | |
| JP3102568B2 (ja) | ソフトウエア開発装置 | |
| JPH04320545A (ja) | メモリアクセス監視方式 | |
| JP2659366B2 (ja) | デバッグ方法及びその装置 | |
| JPS62278642A (ja) | 再試行制御方式 | |
| JP2502128B2 (ja) | コンパイラ装置 | |
| JP2677043B2 (ja) | プログラム開発支援装置 | |
| JPH0374737A (ja) | 自動データ収集方式 | |
| JPS6155748A (ja) | 電子計算機システム | |
| JPH07319724A (ja) | エミュレーションcpu | |
| JPH04337847A (ja) | プログラムチェック方法 | |
| JPS6146535A (ja) | 擬似エラ−設定制御方式 | |
| JPH05233359A (ja) | デバッグ装置 | |
| JPH0392934A (ja) | 命令コード読みだし再試行回路 | |
| JPH03184133A (ja) | データ処理装置における擬似障害発生機構 | |
| JPH01140348A (ja) | プログラムトレース装置 | |
| KR19980014207A (ko) | 멀티프로세서 시스템의 데이타 프로토콜 처리장치 및 방법 | |
| JPS6256541B2 (ja) | ||
| JPH0628218A (ja) | マイクロコンピュータのプログラム開発支援装置 | |
| JPS62190533A (ja) | 割込マスク制御方式 |