JPH09106361A - プロセッサ間nmi通信装置およびシステムバスコントローラ - Google Patents
プロセッサ間nmi通信装置およびシステムバスコントローラInfo
- Publication number
- JPH09106361A JPH09106361A JP7287963A JP28796395A JPH09106361A JP H09106361 A JPH09106361 A JP H09106361A JP 7287963 A JP7287963 A JP 7287963A JP 28796395 A JP28796395 A JP 28796395A JP H09106361 A JPH09106361 A JP H09106361A
- Authority
- JP
- Japan
- Prior art keywords
- nmi
- mpu
- interrupt
- processor
- inter
- 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.)
- Granted
Links
- 238000004891 communication Methods 0.000 title claims description 23
- 238000012545 processing Methods 0.000 claims abstract description 83
- 230000010365 information processing Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000005856 abnormality Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 24
- 238000000034 method Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 18
- 238000012546 transfer Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 230000000873 masking effect Effects 0.000 description 3
- 101000713310 Homo sapiens Sodium bicarbonate cotransporter 3 Proteins 0.000 description 2
- 102100036911 Sodium bicarbonate cotransporter 3 Human genes 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】
【課題】 ソフトウェアの暴走時に1台のMPUが異常
を検出することができれば、全MPUを停止させ、その
ときのMPU状態を引出し可能とする。 【解決手段】 1台のMPU1が異常を検出すると、そ
のMPU1のNMI発行手段31によりNMIで全MP
U1を停止させ、NMIを受けたMPU1は、そのとき
のMPU状態を障害情報収集手段32によりセーブさ
せ、ポーリング手段33に移行させる。その後、異常を
検出したMPU1が、再びNMI発行手段31によりコ
マンド構造体で指示を出すことにより、ポーリング手段
33を実行中のMPU1から障害情報収集手段32によ
りセーブされた情報を引き出すことが可能になる。ま
た、NMIを受信したMPU1ごとに存在するタイマカ
ウンタをプロセッサ間NMI処理手段34により同時に
設定することが可能となる。
を検出することができれば、全MPUを停止させ、その
ときのMPU状態を引出し可能とする。 【解決手段】 1台のMPU1が異常を検出すると、そ
のMPU1のNMI発行手段31によりNMIで全MP
U1を停止させ、NMIを受けたMPU1は、そのとき
のMPU状態を障害情報収集手段32によりセーブさ
せ、ポーリング手段33に移行させる。その後、異常を
検出したMPU1が、再びNMI発行手段31によりコ
マンド構造体で指示を出すことにより、ポーリング手段
33を実行中のMPU1から障害情報収集手段32によ
りセーブされた情報を引き出すことが可能になる。ま
た、NMIを受信したMPU1ごとに存在するタイマカ
ウンタをプロセッサ間NMI処理手段34により同時に
設定することが可能となる。
Description
【0001】
【発明の属する技術分野】本発明はエッジトリガのNM
I(Non−Maskable Interrupt)
端子を備えたマイクロプロセッサのプロセッサ間NMI
通信装置およびシステムバスコントローラに関し、特に
NMIを用いたマイクロプロセッサ間のコマンドのやり
とりおよび障害情報の収集を行うプロセッサ間NMI通
信装置およびシステムバスコントローラに関する。
I(Non−Maskable Interrupt)
端子を備えたマイクロプロセッサのプロセッサ間NMI
通信装置およびシステムバスコントローラに関し、特に
NMIを用いたマイクロプロセッサ間のコマンドのやり
とりおよび障害情報の収集を行うプロセッサ間NMI通
信装置およびシステムバスコントローラに関する。
【0002】
【従来の技術】NMIを用いたプロセッサの暴走監視機
構としては、特開昭60−176147号公報に開示さ
れた「異常処理状態制御方式」,特開昭63−1231
38号公報に開示された「マイコン暴走検知回路」,特
開平4−69746号公報に開示された「メモリダンプ
方式」,特開平4−88448号公報に開示された「プ
ログラムエリアの保護装置」等がある。
構としては、特開昭60−176147号公報に開示さ
れた「異常処理状態制御方式」,特開昭63−1231
38号公報に開示された「マイコン暴走検知回路」,特
開平4−69746号公報に開示された「メモリダンプ
方式」,特開平4−88448号公報に開示された「プ
ログラムエリアの保護装置」等がある。
【0003】これに対して、NMI端子を備えたマイク
ロプロセッサで構成された密結合マルチプロセッサ方式
の情報処理装置におけるプロセッサ間通信では、NMI
は用いられておらず、エラー割り込みより一段低い割り
込みレベルが用いられるのが一般的であった。というの
は、NMIでは、ソフトウェアでのマスクができないた
めである。すなわち、通常のソフトウェアでは、プロセ
ッサ間通信中に他のプロセッサからのプロセッサ間通信
を受ける競合を考慮し、プロセッサヘの割り込みを発行
するシステムコール実行中は、プロセッサからの割り込
みを処理する割り込みハンドラとの排他制御のために、
プロセッサ間の割り込みをマスクする方法が採られるた
めである。
ロプロセッサで構成された密結合マルチプロセッサ方式
の情報処理装置におけるプロセッサ間通信では、NMI
は用いられておらず、エラー割り込みより一段低い割り
込みレベルが用いられるのが一般的であった。というの
は、NMIでは、ソフトウェアでのマスクができないた
めである。すなわち、通常のソフトウェアでは、プロセ
ッサ間通信中に他のプロセッサからのプロセッサ間通信
を受ける競合を考慮し、プロセッサヘの割り込みを発行
するシステムコール実行中は、プロセッサからの割り込
みを処理する割り込みハンドラとの排他制御のために、
プロセッサ間の割り込みをマスクする方法が採られるた
めである。
【0004】一方、従来のシングルプロセッサのプロセ
ッサ暴走監視のために用いられているウォッチドッグタ
イマのランアウトの通知は、一般にNMIが用いられて
いる(例えば、特開昭61−271545号公報参
照)。これは、プロセッサの暴走停止にはNMIが最も
効果的であるためである。つまり、通常のマスク可能の
割り込みでは、ソフトウェアが割り込みをマスクした状
態で暴走したケースでは暴走を停止することが不可能に
なってしまうためである。暴走停止後は、一般的には、
メモリダンプ等の障害情報の収集のために、そのプロセ
ッサが使用されている。また、障害情報の収集が不要な
安価な制御用プロセッサの場合には、ウォッチドッグタ
イマのランアウト信号をプロセッサのリセット信号とし
て入力し、プロセッサを再スタートさせる方法もある。
ッサ暴走監視のために用いられているウォッチドッグタ
イマのランアウトの通知は、一般にNMIが用いられて
いる(例えば、特開昭61−271545号公報参
照)。これは、プロセッサの暴走停止にはNMIが最も
効果的であるためである。つまり、通常のマスク可能の
割り込みでは、ソフトウェアが割り込みをマスクした状
態で暴走したケースでは暴走を停止することが不可能に
なってしまうためである。暴走停止後は、一般的には、
メモリダンプ等の障害情報の収集のために、そのプロセ
ッサが使用されている。また、障害情報の収集が不要な
安価な制御用プロセッサの場合には、ウォッチドッグタ
イマのランアウト信号をプロセッサのリセット信号とし
て入力し、プロセッサを再スタートさせる方法もある。
【0005】
【発明が解決しようとする課題】上述した従来のプロセ
ッサ間通信割り込みでは、異常時には、例えば、他のプ
ロセッサの暴走を別のプロセッサが検出し、その暴走し
たプロセッサを強制的にストップしたい場合,デバッグ
時にソフトウェアの暴走をストップさせたい場合などに
は、最優先処理(エラー処理以上の優先度で)でプロセ
ッサ間の通信を行いたい場合が存在するのもかかわら
ず、これを行うことができないという問題点があった。
ッサ間通信割り込みでは、異常時には、例えば、他のプ
ロセッサの暴走を別のプロセッサが検出し、その暴走し
たプロセッサを強制的にストップしたい場合,デバッグ
時にソフトウェアの暴走をストップさせたい場合などに
は、最優先処理(エラー処理以上の優先度で)でプロセ
ッサ間の通信を行いたい場合が存在するのもかかわら
ず、これを行うことができないという問題点があった。
【0006】また、従来のウォッチドッグタイマの割り
込みでは、エラーを検出する側が非インテリジェントな
デバイスであったため、NMIを受信するプロセッサは
自分自身での暴走の停止,メモリダンプ等の障害情報の
収集を行う必要があるという問題点があった。しかし、
マルチプロセッサの場合、暴走したプロセッサを使用せ
ずに、別の正常なプロセッサで障害情報の収集およびエ
ラーのリカバリを行った方がよいケースが多い。プロセ
ッサ自身の障害の場合は、特にそうである。
込みでは、エラーを検出する側が非インテリジェントな
デバイスであったため、NMIを受信するプロセッサは
自分自身での暴走の停止,メモリダンプ等の障害情報の
収集を行う必要があるという問題点があった。しかし、
マルチプロセッサの場合、暴走したプロセッサを使用せ
ずに、別の正常なプロセッサで障害情報の収集およびエ
ラーのリカバリを行った方がよいケースが多い。プロセ
ッサ自身の障害の場合は、特にそうである。
【0007】本発明の目的は、上述の点に鑑み、プロセ
ッサ間通信でNMIを発生させ、如何なるソフトウェア
の暴走であれ、1台のMPUが異常を検出することがで
きれば、全MPUを停止させ、そのときのMPU状態を
引き出すことができるようにしたプロセッサ間NMI通
信装置およびシステムバスコントローラを提供すること
にある。
ッサ間通信でNMIを発生させ、如何なるソフトウェア
の暴走であれ、1台のMPUが異常を検出することがで
きれば、全MPUを停止させ、そのときのMPU状態を
引き出すことができるようにしたプロセッサ間NMI通
信装置およびシステムバスコントローラを提供すること
にある。
【0008】
【課題を解決するための手段】本発明のプロセッサ間N
MI通信装置は、エッジトリガのNMI端子を有するM
PUを1台以上と、上記全てのMPUからアクセス可能
な共有メモリとがシステムバスを介して接続されてなる
情報処理装置において、前記MPUの1つが割り込みコ
ードと割り込み通知先MPUを指示するデータとを書き
込むことにより前記システムバス上に割り込みトランザ
クションを発生させるプロセッサ間割り込み発生ポート
と、自MPU宛の割り込みトランザクションを前記シス
テムバスから受信することによりセットまたはリセット
される割り込み要因レジスタと、この割り込み要因レジ
スタにNMI要因がセットされるとセットされてNMI
信号を前記割り込み通知先MPUのNMI端子に入力し
てNMIを発生させ、前記割り込み要因レジスタのNM
I要因がリセットされてもリセットされないNMIフリ
ッププロップと、前記割り込み通知先MPUがダミーデ
ータを書き込むことにより前記NMIフリップフロップ
をリセットして前記NMI信号の駆動を停止させ、前記
割り込み通知先MPUが次のNMIを受け付け可能にす
るNMIフリップフロップリセットポートとを有し、前
記共有メモリ上にMPU制御テーブルを備え、前記割り
込みトランザクションを発行するMPUにおいて、前記
MPU制御テーブルにコマンドテーブルを書き込み前記
コマンドテーブルによって指定されたMPU宛にNMI
の割り込みコードを指示するデータを前記プロセッサ間
割り込み発生ポートに書き込むNMI発生手段を有し、
前記割り込み通知先MPUにおいて、NMI発生後のM
PUの障害情報をセーブする障害情報収集手段と、前記
コマンドテーブルのコマンドを参照して該当するコマン
ド処理を実行するプロセッサ間NMI処理手段と、前記
割り込み要因レジスタをチェックし、NMI要因がセッ
トされていたならば前記プロセッサ間NMI処理手段に
制御を移行しセットされていなかった場合にセットされ
るまでチェックし続けるポーリング手段とを有する。
MI通信装置は、エッジトリガのNMI端子を有するM
PUを1台以上と、上記全てのMPUからアクセス可能
な共有メモリとがシステムバスを介して接続されてなる
情報処理装置において、前記MPUの1つが割り込みコ
ードと割り込み通知先MPUを指示するデータとを書き
込むことにより前記システムバス上に割り込みトランザ
クションを発生させるプロセッサ間割り込み発生ポート
と、自MPU宛の割り込みトランザクションを前記シス
テムバスから受信することによりセットまたはリセット
される割り込み要因レジスタと、この割り込み要因レジ
スタにNMI要因がセットされるとセットされてNMI
信号を前記割り込み通知先MPUのNMI端子に入力し
てNMIを発生させ、前記割り込み要因レジスタのNM
I要因がリセットされてもリセットされないNMIフリ
ッププロップと、前記割り込み通知先MPUがダミーデ
ータを書き込むことにより前記NMIフリップフロップ
をリセットして前記NMI信号の駆動を停止させ、前記
割り込み通知先MPUが次のNMIを受け付け可能にす
るNMIフリップフロップリセットポートとを有し、前
記共有メモリ上にMPU制御テーブルを備え、前記割り
込みトランザクションを発行するMPUにおいて、前記
MPU制御テーブルにコマンドテーブルを書き込み前記
コマンドテーブルによって指定されたMPU宛にNMI
の割り込みコードを指示するデータを前記プロセッサ間
割り込み発生ポートに書き込むNMI発生手段を有し、
前記割り込み通知先MPUにおいて、NMI発生後のM
PUの障害情報をセーブする障害情報収集手段と、前記
コマンドテーブルのコマンドを参照して該当するコマン
ド処理を実行するプロセッサ間NMI処理手段と、前記
割り込み要因レジスタをチェックし、NMI要因がセッ
トされていたならば前記プロセッサ間NMI処理手段に
制御を移行しセットされていなかった場合にセットされ
るまでチェックし続けるポーリング手段とを有する。
【0009】また、本発明のシステムバスコントローラ
は、エッジトリガのNMI端子を有するMPUを1台以
上と、上記全てのMPUからアクセス可能な共有メモリ
とがシステムバスを介して接続されてなる情報処理装置
において、前記MPUの1つが割り込みコードと割り込
み通知先MPUを指示するデータとを書き込むことによ
り前記システムバス上に割り込みトランザクションを発
生させるプロセッサ間割り込み発生ポートと、自MPU
宛の割り込みトランザクションを前記システムバスから
受信することによりセットまたはリセットされる割り込
み要因レジスタと、この割り込み要因レジスタにNMI
要因がセットされるとセットされてNMI信号を前記割
り込み通知先MPUのNMI端子に入力してNMIを発
生させ、前記割り込み要因レジスタのNMI要因がリセ
ットされてもリセットされないNMIフリッププロップ
と、前記割り込み通知先MPUがダミーデータを書き込
むことにより前記NMIフリップフロップをリセットし
て前記NMI信号の駆動を停止させ、前記割り込み通知
先MPUが次のNMIを受け付け可能にするNMIフリ
ップフロップリセットポートとを有する。
は、エッジトリガのNMI端子を有するMPUを1台以
上と、上記全てのMPUからアクセス可能な共有メモリ
とがシステムバスを介して接続されてなる情報処理装置
において、前記MPUの1つが割り込みコードと割り込
み通知先MPUを指示するデータとを書き込むことによ
り前記システムバス上に割り込みトランザクションを発
生させるプロセッサ間割り込み発生ポートと、自MPU
宛の割り込みトランザクションを前記システムバスから
受信することによりセットまたはリセットされる割り込
み要因レジスタと、この割り込み要因レジスタにNMI
要因がセットされるとセットされてNMI信号を前記割
り込み通知先MPUのNMI端子に入力してNMIを発
生させ、前記割り込み要因レジスタのNMI要因がリセ
ットされてもリセットされないNMIフリッププロップ
と、前記割り込み通知先MPUがダミーデータを書き込
むことにより前記NMIフリップフロップをリセットし
て前記NMI信号の駆動を停止させ、前記割り込み通知
先MPUが次のNMIを受け付け可能にするNMIフリ
ップフロップリセットポートとを有する。
【0010】
【発明の実施の形態】次に、本発明について図面を参照
して詳細に説明する。
して詳細に説明する。
【0011】
【実施例】図2は、本発明の一実施例に係るプロセッサ
間NMI通信装置が適用された情報処理装置の構成を示
すブロック図である。この情報処理装置は、エッジトリ
ガのNMI端子を備えたマイクロプロセッサ(以下、M
PUと略記する)1と、システムバス4とMPU1とを
接続するシステムバスコントローラ(以下、SBCと略
記する)2と、MPU1からアクセス可能なローカルメ
モリ3と、システムバス4と、共有メモリ5とから、そ
の主要部が構成されている。
間NMI通信装置が適用された情報処理装置の構成を示
すブロック図である。この情報処理装置は、エッジトリ
ガのNMI端子を備えたマイクロプロセッサ(以下、M
PUと略記する)1と、システムバス4とMPU1とを
接続するシステムバスコントローラ(以下、SBCと略
記する)2と、MPU1からアクセス可能なローカルメ
モリ3と、システムバス4と、共有メモリ5とから、そ
の主要部が構成されている。
【0012】MPU1は、コプロセッサ10を内蔵して
いる。MPUlは、それぞれ自分のMPU番号を持って
いる。本実施例の場合、MPU1の最大台数は16台で
あるので、MPU番号は0から15までの数である。な
お、本実施例では、MPU1として、MIPS社のR4
000を想定している。R4000では、R4000内
部にアドレス変換テーブル(TLB)11を内蔵してお
り、障害発生時にはTLB11の内容のダンプが有効に
なることが多い。また、R4000は、32本の汎用レ
ジスタと、32本のコプロセッサレジスタを有してお
り、これも障害発生時の情報としては有効である。ただ
し、汎用レジスタの待避のためには、最低1レジスタを
破壊しなければならないので、その場合はkl(r2
6)レジスタを破壊することとする。
いる。MPUlは、それぞれ自分のMPU番号を持って
いる。本実施例の場合、MPU1の最大台数は16台で
あるので、MPU番号は0から15までの数である。な
お、本実施例では、MPU1として、MIPS社のR4
000を想定している。R4000では、R4000内
部にアドレス変換テーブル(TLB)11を内蔵してお
り、障害発生時にはTLB11の内容のダンプが有効に
なることが多い。また、R4000は、32本の汎用レ
ジスタと、32本のコプロセッサレジスタを有してお
り、これも障害発生時の情報としては有効である。ただ
し、汎用レジスタの待避のためには、最低1レジスタを
破壊しなければならないので、その場合はkl(r2
6)レジスタを破壊することとする。
【0013】ローカルメモリ3は、MPU1毎に設けら
れ、該当MPU1からしかアクセスを許可されないよう
にSBC2により制御される。このようにすることで、
他のMPU1や入出力装置(図示せず)の誤動作から該
当MPU1のデータを保護でき、システムバス4や共有
メモリ5の障害でも該当MPU1のデータの保護が可能
となる。
れ、該当MPU1からしかアクセスを許可されないよう
にSBC2により制御される。このようにすることで、
他のMPU1や入出力装置(図示せず)の誤動作から該
当MPU1のデータを保護でき、システムバス4や共有
メモリ5の障害でも該当MPU1のデータの保護が可能
となる。
【0014】ローカルメモリ3上には、NMI発行手段
31,障害情報収集手段32,ポーリング手段33およ
びプロセッサ間NMI処理手段34を含む制御プログラ
ム30がロードされている。
31,障害情報収集手段32,ポーリング手段33およ
びプロセッサ間NMI処理手段34を含む制御プログラ
ム30がロードされている。
【0015】また、ローカルメモリ3は、ROM(Re
ad Only Memory)部とRAM(Rand
om Access Memory)部とを持つ。RA
M部は、揮発性RAMの場合と不揮発性RAM(nvR
AM)の場合とがある。通常、電源オン時に最初に実行
される制御プログラム30は、ROM部あるいはRAM
部に格納される。nvRAMの場合のメリットは、プロ
グラムがロードされると電源を落としても消えないこと
にある。制御プログラム30の一部は、nvRAMに格
納されることもある。用途は、制御プログラム30のワ
ークエリアである。その場合、一度ロードされると電源
オフされても消えないので、ROMと同じように使用で
き、かつ制御プログラム30の書き換えも可能であるの
で制御プログラム30のバージョンアップが容易に行え
るというメリットがある。
ad Only Memory)部とRAM(Rand
om Access Memory)部とを持つ。RA
M部は、揮発性RAMの場合と不揮発性RAM(nvR
AM)の場合とがある。通常、電源オン時に最初に実行
される制御プログラム30は、ROM部あるいはRAM
部に格納される。nvRAMの場合のメリットは、プロ
グラムがロードされると電源を落としても消えないこと
にある。制御プログラム30の一部は、nvRAMに格
納されることもある。用途は、制御プログラム30のワ
ークエリアである。その場合、一度ロードされると電源
オフされても消えないので、ROMと同じように使用で
き、かつ制御プログラム30の書き換えも可能であるの
で制御プログラム30のバージョンアップが容易に行え
るというメリットがある。
【0016】共有メモリ5上には、MPU制御テーブル
50が確保されている。
50が確保されている。
【0017】図1は、SBC2のより詳しい構成を示す
回路ブロック図である。SBC2は、アドレスバスおよ
びデータバス分離のローカルバス6を有しており、バッ
ファ201と、デコーダ202と、割り込み要因レジス
タ203と、NMIフリップフロップ204と、NMI
フリップフロップリセットポート207と、プロセッサ
間割り込み発生ポート208と、アドレス制御部209
とを含んで構成されている。なお、図1中、符号205
はINT(割り込み)信号、206はNMI信号、21
0はNMIリセット信号をそれぞれ示す。
回路ブロック図である。SBC2は、アドレスバスおよ
びデータバス分離のローカルバス6を有しており、バッ
ファ201と、デコーダ202と、割り込み要因レジス
タ203と、NMIフリップフロップ204と、NMI
フリップフロップリセットポート207と、プロセッサ
間割り込み発生ポート208と、アドレス制御部209
とを含んで構成されている。なお、図1中、符号205
はINT(割り込み)信号、206はNMI信号、21
0はNMIリセット信号をそれぞれ示す。
【0018】割り込み要因レジスタ203は、自MPU
1宛の割り込みトランザクションデータをシステムバス
4からバッファ201およびデコーダ202を介して受
信することによりセットまたはリセットされる。
1宛の割り込みトランザクションデータをシステムバス
4からバッファ201およびデコーダ202を介して受
信することによりセットまたはリセットされる。
【0019】NMIフリッププロップ204は、割り込
み要因レジスタ203にNMI要因がセットされるとセ
ットされてNMI信号206を割り込み通知先のMPU
1のNMI端子に入力してNMIを発生させる。なお、
NMIフリッププロップ204は、割り込み要因レジス
タ203のNMI要因がリセットされてもリセットされ
ない。
み要因レジスタ203にNMI要因がセットされるとセ
ットされてNMI信号206を割り込み通知先のMPU
1のNMI端子に入力してNMIを発生させる。なお、
NMIフリッププロップ204は、割り込み要因レジス
タ203のNMI要因がリセットされてもリセットされ
ない。
【0020】NMIフリップフロップリセットポート2
07は、割り込み通知先のMPU1がダミーデータを書
き込むことによりNMIフリップフロップ204をリセ
ットしてNMI信号206の駆動を停止させ、割り込み
通知先のMPU1が次のNMIを受け付け可能にする。
07は、割り込み通知先のMPU1がダミーデータを書
き込むことによりNMIフリップフロップ204をリセ
ットしてNMI信号206の駆動を停止させ、割り込み
通知先のMPU1が次のNMIを受け付け可能にする。
【0021】プロセッサ間割り込み発生ポート208
は、MPU1の1つが割り込みコードと割り込み通知先
MPU指定フィールドとを含む割り込みトランザクショ
ンデータを書き込むことによりシステムバス4上に割り
込みトランザクションを発生させる。
は、MPU1の1つが割り込みコードと割り込み通知先
MPU指定フィールドとを含む割り込みトランザクショ
ンデータを書き込むことによりシステムバス4上に割り
込みトランザクションを発生させる。
【0022】アドレス制御部209は、MPU1が出力
するアドレスを監視し、アドレスに応じてローカルメモ
リ3,システムバス4,プロセッサ間割り込み発生ポー
ト208またはNMIフリップフロップリセットポート
207を選択する。
するアドレスを監視し、アドレスに応じてローカルメモ
リ3,システムバス4,プロセッサ間割り込み発生ポー
ト208またはNMIフリップフロップリセットポート
207を選択する。
【0023】図3は、プロセッサ間割り込みポート20
8にMPU1がライトするデータであると同時に、シス
テムバス4のアドレス上に出力される割り込みトランザ
クションの形式でもあり、またバッファ201に取り込
まれる形式でもある割り込みトランザクションデータの
フォーマットを示す図である。ビット0〜15までがど
のMPU1に対する割り込みであるかを示すビットから
なる割り込み先通知先MPU指定フィールドである。割
り込みコードは、ビット16〜22の7ビットあり、値
0〜63までが通常の割り込み、値64〜79までがプ
ロセッサ間NMIと定義する。また、割り込みオペレー
ションビットOPが1のときに割り込み要因のセットで
あり、割り込みオペレーションビットOPが2のときに
割り込み要因のリセットである。なお、ビット24〜3
1は、RFU(Reservefor Future
Use)である。
8にMPU1がライトするデータであると同時に、シス
テムバス4のアドレス上に出力される割り込みトランザ
クションの形式でもあり、またバッファ201に取り込
まれる形式でもある割り込みトランザクションデータの
フォーマットを示す図である。ビット0〜15までがど
のMPU1に対する割り込みであるかを示すビットから
なる割り込み先通知先MPU指定フィールドである。割
り込みコードは、ビット16〜22の7ビットあり、値
0〜63までが通常の割り込み、値64〜79までがプ
ロセッサ間NMIと定義する。また、割り込みオペレー
ションビットOPが1のときに割り込み要因のセットで
あり、割り込みオペレーションビットOPが2のときに
割り込み要因のリセットである。なお、ビット24〜3
1は、RFU(Reservefor Future
Use)である。
【0024】MPU1がプロセッサ間割り込み発生ポー
ト208に対して、割り込みトランザクションデータを
書き込むと、SBC2は、システムバス4のアドレス上
にそのデータを出力し、これにより割り込みトランザク
ションが発生する。MPU1は、自MPU1宛の割り込
みトランザクションを発生することも可能である。この
割り込みトランザクションは、システムバス4からSB
C2を経由して割り込み通知先のMPU1に通知され
る。本実施例のケースでは、SBC2は、システムバス
4のアドレスをバッファ201に取り込んで常時監視
し、割り込みトランザクションデータのビット0〜15
によりその割り込みトランザクションが自MPU1宛で
あることを認識すると、ビット16〜22の割り込みコ
ードをデコーダ202でデコードし、割り込み要因レジ
スタ203に保持する。このとき、割り込みオペレーシ
ョンビットOPが1のときは割り込み要因のセットとな
って1が保持され、0のときは割り込み要因のリセット
となって0が保持される。
ト208に対して、割り込みトランザクションデータを
書き込むと、SBC2は、システムバス4のアドレス上
にそのデータを出力し、これにより割り込みトランザク
ションが発生する。MPU1は、自MPU1宛の割り込
みトランザクションを発生することも可能である。この
割り込みトランザクションは、システムバス4からSB
C2を経由して割り込み通知先のMPU1に通知され
る。本実施例のケースでは、SBC2は、システムバス
4のアドレスをバッファ201に取り込んで常時監視
し、割り込みトランザクションデータのビット0〜15
によりその割り込みトランザクションが自MPU1宛で
あることを認識すると、ビット16〜22の割り込みコ
ードをデコーダ202でデコードし、割り込み要因レジ
スタ203に保持する。このとき、割り込みオペレーシ
ョンビットOPが1のときは割り込み要因のセットとな
って1が保持され、0のときは割り込み要因のリセット
となって0が保持される。
【0025】通常のプロセッサ間割り込み要因はNMI
ではなく通常の割り込みであるが、割り込みコードのい
くつかをNMI要因と定義し、このNMI要因のビット
が1になった場合は、NMIフリッププロップ204を
セットし、NMI信号206を駆動して、MPU1のN
MI端子に入力する。割り込み要因レジスタ203の通
常割り込みのビットがセットされると、INT信号20
5が駆動されて割り込みがMPU1に対して通知され
る。
ではなく通常の割り込みであるが、割り込みコードのい
くつかをNMI要因と定義し、このNMI要因のビット
が1になった場合は、NMIフリッププロップ204を
セットし、NMI信号206を駆動して、MPU1のN
MI端子に入力する。割り込み要因レジスタ203の通
常割り込みのビットがセットされると、INT信号20
5が駆動されて割り込みがMPU1に対して通知され
る。
【0026】割り込み要因レジスタ203のリセット
は、プロセッサ間割り込み発生ポート208に対して、
自MPU1宛にリセットしたい割り込みコードと値0の
割り込みオペレーションビットOPを含む割り込みトラ
ンザクションデータをライトすることにより行える。ま
た、NMIフリッププロップ204のリセットは、NM
Iフリッププロップリセットポート207に対してダミ
ーデータをライトすることによってのみ行うことができ
る。
は、プロセッサ間割り込み発生ポート208に対して、
自MPU1宛にリセットしたい割り込みコードと値0の
割り込みオペレーションビットOPを含む割り込みトラ
ンザクションデータをライトすることにより行える。ま
た、NMIフリッププロップ204のリセットは、NM
Iフリッププロップリセットポート207に対してダミ
ーデータをライトすることによってのみ行うことができ
る。
【0027】NMIは、名前の示す通り、マスクできな
い割り込みである。しかしながら、NMIが連続して発
生したならばNMI処理をソフトウェアで行うことがで
きなくなるので、ごく一般的なMPUは、NMI端子を
エッジトリガにして、一度NMI信号がアクティブにな
った場合、次のNMI処理をソフトウェアが受け付け可
能な状態となるまでは、このNMI信号をリセットしな
いことによって、次のNMIが発生することを防ぐこと
ができる。本発明においても、NMI信号203を割り
込み要因レジスタ203直接出力せずに、NMIフリッ
プフロップ204を介して出力している理由は、このN
MI信号206のリセットを割り込み要因レジスタ20
3のリセットとは別に行うことにより、次のNMIの発
生をマスクできるようにするためである。
い割り込みである。しかしながら、NMIが連続して発
生したならばNMI処理をソフトウェアで行うことがで
きなくなるので、ごく一般的なMPUは、NMI端子を
エッジトリガにして、一度NMI信号がアクティブにな
った場合、次のNMI処理をソフトウェアが受け付け可
能な状態となるまでは、このNMI信号をリセットしな
いことによって、次のNMIが発生することを防ぐこと
ができる。本発明においても、NMI信号203を割り
込み要因レジスタ203直接出力せずに、NMIフリッ
プフロップ204を介して出力している理由は、このN
MI信号206のリセットを割り込み要因レジスタ20
3のリセットとは別に行うことにより、次のNMIの発
生をマスクできるようにするためである。
【0028】図4は、共有メモリ5内に置かれたMPU
制御テーブル50の内容を示す図である。MPU制御テ
ーブル50は、MPU1の台数分のMPU制御ブロック
から成り立っている。各MPU制御ブロックは、実行ス
テータスとNMI発行元のMPU1の台数分のコマンド
テーブルとから成り立っている。
制御テーブル50の内容を示す図である。MPU制御テ
ーブル50は、MPU1の台数分のMPU制御ブロック
から成り立っている。各MPU制御ブロックは、実行ス
テータスとNMI発行元のMPU1の台数分のコマンド
テーブルとから成り立っている。
【0029】図5に示すように、MPU制御ブロック内
の実行ステータスは、MPU1の現在の状態を表す。−
1(dead状態)は、MPU1が致命的なエラーを検
出して、システムバス4へのアクセスを停止しているこ
とを表す。0(none状態)は、MPU制御ブロック
が対応するMPU1が存在しないことを示す。1(id
le状態)は、MPU1が他のMPU1からのNMIを
ポーリングして待っている状態であることを示してい
る。すなわち、ポーリング手段33が実行中であること
を示す。2(busy状態)は、MPU1が他のMPU
1からのNMIによりプロセッサ間NMI処理手段34
を実行中であることを示す。idle状態およびbus
y状態の場合は、NMI端子のレベルは割り込み状態で
あるので、次のNMIは抑止されている。run状態と
busy状態との違いは、run状態ではNMI信号2
06が駆動されていないので、次のNMIが受け付け可
能であるということである。
の実行ステータスは、MPU1の現在の状態を表す。−
1(dead状態)は、MPU1が致命的なエラーを検
出して、システムバス4へのアクセスを停止しているこ
とを表す。0(none状態)は、MPU制御ブロック
が対応するMPU1が存在しないことを示す。1(id
le状態)は、MPU1が他のMPU1からのNMIを
ポーリングして待っている状態であることを示してい
る。すなわち、ポーリング手段33が実行中であること
を示す。2(busy状態)は、MPU1が他のMPU
1からのNMIによりプロセッサ間NMI処理手段34
を実行中であることを示す。idle状態およびbus
y状態の場合は、NMI端子のレベルは割り込み状態で
あるので、次のNMIは抑止されている。run状態と
busy状態との違いは、run状態ではNMI信号2
06が駆動されていないので、次のNMIが受け付け可
能であるということである。
【0030】図6は、MPU制御ブロック内のコマンド
テーブルの内容を詳細に示す図である。コマンドテーブ
ルには、フラグ,ST,CMD,MPU#,REG#,
上位32ビットデータ,下位32ビットデータ,転送ア
ドレス(nvRAMオフセット)および転送長(バイト
数)が格納されている。コマンドテーブルは、MPU1
の台数の2乗分存在する。それは、あるMPU1から他
のMPU1へのNMIを発行する場合の数がMPU1の
台数の2乗分あり、その1つ1つに対してコマンドテー
ブルを持つからである。NMIを発行するMPU1は、
NMI発行先のMPU1のMPU制御ブロックの中の自
MPU1のMPU番号に該当するコマンドテーブルにコ
マンド構造体(図24参照)をセットした後で、NMI
を発行する。また、コマンドテーブル内のMPU#は、
必ずNMIを受け付けたMPU1自身のMPU番号と一
致しているはずである。なお、MPU#が0xff(先
頭2桁の0xは下2桁の数字が16進数であることを示
す。以下同様)のときは、全MPU1に対する割り込み
である。
テーブルの内容を詳細に示す図である。コマンドテーブ
ルには、フラグ,ST,CMD,MPU#,REG#,
上位32ビットデータ,下位32ビットデータ,転送ア
ドレス(nvRAMオフセット)および転送長(バイト
数)が格納されている。コマンドテーブルは、MPU1
の台数の2乗分存在する。それは、あるMPU1から他
のMPU1へのNMIを発行する場合の数がMPU1の
台数の2乗分あり、その1つ1つに対してコマンドテー
ブルを持つからである。NMIを発行するMPU1は、
NMI発行先のMPU1のMPU制御ブロックの中の自
MPU1のMPU番号に該当するコマンドテーブルにコ
マンド構造体(図24参照)をセットした後で、NMI
を発行する。また、コマンドテーブル内のMPU#は、
必ずNMIを受け付けたMPU1自身のMPU番号と一
致しているはずである。なお、MPU#が0xff(先
頭2桁の0xは下2桁の数字が16進数であることを示
す。以下同様)のときは、全MPU1に対する割り込み
である。
【0031】図7に示すように、コマンドテーブル内の
フラグは、1でNMI要求中を示し、0でNMI要求が
ないことを示す。NMIを発行するMPU1は、ここに
必ず1をセットしてNMIを発行する。その後、NMI
を発行したMPU1は、このフラグがNMIを受け付け
たMPU1が0にリセットしてNMI処理を終了するま
で待つことになる。
フラグは、1でNMI要求中を示し、0でNMI要求が
ないことを示す。NMIを発行するMPU1は、ここに
必ず1をセットしてNMIを発行する。その後、NMI
を発行したMPU1は、このフラグがNMIを受け付け
たMPU1が0にリセットしてNMI処理を終了するま
で待つことになる。
【0032】図8は、NMIを受け付けたMPU1が実
行する障害情報収集手段32の処理を示す流れ図であ
る。図8を参照すると、障害情報収集手段32の処理
は、汎用レジスタ待避ステップS201と、コプロセッ
サレジスタ待避ステップS202と、TLBダンプステ
ップS203とからなる。
行する障害情報収集手段32の処理を示す流れ図であ
る。図8を参照すると、障害情報収集手段32の処理
は、汎用レジスタ待避ステップS201と、コプロセッ
サレジスタ待避ステップS202と、TLBダンプステ
ップS203とからなる。
【0033】図9は、NMIを受け付けたMPU1が実
行するポーリング手段33の処理を示す流れ図である。
図9を参照すると、ポーリング手段33の処理は、SB
C内レジスタリードステップS301と、プロセッサ間
NMI発生判断ステップS302とからなる。
行するポーリング手段33の処理を示す流れ図である。
図9を参照すると、ポーリング手段33の処理は、SB
C内レジスタリードステップS301と、プロセッサ間
NMI発生判断ステップS302とからなる。
【0034】図10ないし図16は、プロセッサ間NM
I処理手段34の処理を示す流れ図である。本実施例で
は、割り込みコードの64〜79までがNMI要因であ
るので、割り込みコードと発行元のMPU番号との対応
を、図17に示すように定義している。したがって、割
り込み要因レジスタ203をリードして、割り込みコー
ドを認識するだけで、どのMPU1からのNMIである
かを認識することができる。なお、MPU1間のNMI
のレベルが1つだけであったとしても、NMIを受け取
ったMPU1は、自分のMPU制御ブロック内のコマン
ドテーブルを検索できれば、そのコマンドテーブルの位
置からNMI発行元のMPU番号を認識することも可能
である。
I処理手段34の処理を示す流れ図である。本実施例で
は、割り込みコードの64〜79までがNMI要因であ
るので、割り込みコードと発行元のMPU番号との対応
を、図17に示すように定義している。したがって、割
り込み要因レジスタ203をリードして、割り込みコー
ドを認識するだけで、どのMPU1からのNMIである
かを認識することができる。なお、MPU1間のNMI
のレベルが1つだけであったとしても、NMIを受け取
ったMPU1は、自分のMPU制御ブロック内のコマン
ドテーブルを検索できれば、そのコマンドテーブルの位
置からNMI発行元のMPU番号を認識することも可能
である。
【0035】図10を参照すると、プロセッサ間NMI
処理手段34のメイン処理は、NMIビットリセットス
テップS401と、MPU制御ブロックリードステップ
S402と、イニシャライズコマンド判定ステップS4
03と、レジスタリードコマンド判定ステップS404
と、レジスタライトコマンド判定ステップS405と、
nvRAMリードコマンド判定ステップS406と、n
vRAMライトコマンド判定ステップS407と、ST
不正コマンドセットステップS408と、実行ステータ
スidle設定ステップS409とからなる。
処理手段34のメイン処理は、NMIビットリセットス
テップS401と、MPU制御ブロックリードステップ
S402と、イニシャライズコマンド判定ステップS4
03と、レジスタリードコマンド判定ステップS404
と、レジスタライトコマンド判定ステップS405と、
nvRAMリードコマンド判定ステップS406と、n
vRAMライトコマンド判定ステップS407と、ST
不正コマンドセットステップS408と、実行ステータ
スidle設定ステップS409とからなる。
【0036】図11を参照すると、プロセッサ間NMI
処理手段34のイニシャライズコマンド処理は、レジス
タ待避エリア初期化ステップS410と、TLB初期化
ステップS411と、TLBダンプエリア初期化ステッ
プS412と、ST正常終了セットステップS413と
からなる。
処理手段34のイニシャライズコマンド処理は、レジス
タ待避エリア初期化ステップS410と、TLB初期化
ステップS411と、TLBダンプエリア初期化ステッ
プS412と、ST正常終了セットステップS413と
からなる。
【0037】図12を参照すると、プロセッサ間NMI
処理手段34のレジスタリードコマンド処理は、レジス
タ待避エリア情報上位/下位データエリアセットステッ
プS414と、ST正常終了セットステップS415と
からなる。
処理手段34のレジスタリードコマンド処理は、レジス
タ待避エリア情報上位/下位データエリアセットステッ
プS414と、ST正常終了セットステップS415と
からなる。
【0038】図13および図14を参照すると、プロセ
ッサ間NMI処理手段34のレジスタライトコマンド処
理は、REG#判定ステップS416と、上位/下位デ
ータレジスタ待避エリアセットステップS417と、S
T正常終了セットステップS418と、CRC(Cyc
lic Redundancy Check)ビット判
定ステップS419と、CRCビットセットステップS
420と、COUNTビット判定ステップS421と、
COUNTレジスタ0ライトステップS422と、TL
BCLRビット判定ステップS423と、TLBおよび
TLBダンプエリア初期化ステップS424と、SCF
CLRビット判定ステップS425と、制御プログラム
エリア初期化ステップS426と、ST正常終了セット
ステップS429と、EXECビット判定ステップS4
30と、コプロセッサレジスタ復帰ステップS431
と、NMIリセットステップS432と、汎用レジスタ
等復帰ステップS433と、eret(excepti
on return)命令実行ステップS434とから
なる。
ッサ間NMI処理手段34のレジスタライトコマンド処
理は、REG#判定ステップS416と、上位/下位デ
ータレジスタ待避エリアセットステップS417と、S
T正常終了セットステップS418と、CRC(Cyc
lic Redundancy Check)ビット判
定ステップS419と、CRCビットセットステップS
420と、COUNTビット判定ステップS421と、
COUNTレジスタ0ライトステップS422と、TL
BCLRビット判定ステップS423と、TLBおよび
TLBダンプエリア初期化ステップS424と、SCF
CLRビット判定ステップS425と、制御プログラム
エリア初期化ステップS426と、ST正常終了セット
ステップS429と、EXECビット判定ステップS4
30と、コプロセッサレジスタ復帰ステップS431
と、NMIリセットステップS432と、汎用レジスタ
等復帰ステップS433と、eret(excepti
on return)命令実行ステップS434とから
なる。
【0039】図15を参照すると、プロセッサ間NMI
処理手段34のnvRAMリードコマンド処理は、ロー
カルメモリからのデータ転送ステップS435と、ST
正常終了セットステップS436とからなる。
処理手段34のnvRAMリードコマンド処理は、ロー
カルメモリからのデータ転送ステップS435と、ST
正常終了セットステップS436とからなる。
【0040】図16を参照すると、プロセッサ間NMI
処理手段34のnvRAMライトコマンド処理は、ロー
カルメモリへのデータ転送ステップS437と、ST正
常終了セットステップS438とからなる。
処理手段34のnvRAMライトコマンド処理は、ロー
カルメモリへのデータ転送ステップS437と、ST正
常終了セットステップS438とからなる。
【0041】図18は、コマンドテーブル内のCMDの
種類を示す図である。本実施例では、CMDとして5種
類のコマンドが定義されている。0x0fは、イニシャ
ライズを示すコマンドであり、障害情報収集手段32に
よってローカルメモリ3内に待避したレジスタ,TLB
およびTLBダンプエリアを全て初期化するコマンドで
ある。0x12は、レジスタリードを示すコマンドであ
り、障害情報収集手段32によってローカルメモリ3内
に待避したレジスタのうち、コマンドテーブル内のRE
G#で示されるレジスタ番号のレジスタの内容を、コマ
ンドテーブル内の上位32ビットデータおよび下位32
ビットデータにコピーするコマンドである。0x13
は、0x12の逆で、レジスタライトを示すコマンドで
あり、コマンドテーブル内の上位32ビットデータおよ
び下位32ビットデータの内容を、障害情報収集手段3
2によってローカルメモリ3内に待避するエリアの中の
コマンドテーブル内のREG#で示されるレジスタ番号
の待避エリアにコピーするコマンドである。0x02
は、コマンドテーブル内の転送アドレスで示されるロー
カルメモリ3内のオフセットアドレスから、転送長(バ
イト数)で示されるバイト数だけ、下位32ビットデー
タで示される共有メモリ5内に転送するコマンドであ
る。0x03は、0x02の逆で、コマンドテーブル内
の下位32ビットデータで示される共有メモリ5から、
転送長(バイト数)で示されるバイト数だけ、転送アド
レスで示されるローカルメモリ3内のオフセットアドレ
スに転送するコマンドである。これらのコマンドはロー
カルメモリ3内に制御プログラム30をロードしたり、
あるいはローカルメモリ3の内容をダンプしたりするの
に有効である。
種類を示す図である。本実施例では、CMDとして5種
類のコマンドが定義されている。0x0fは、イニシャ
ライズを示すコマンドであり、障害情報収集手段32に
よってローカルメモリ3内に待避したレジスタ,TLB
およびTLBダンプエリアを全て初期化するコマンドで
ある。0x12は、レジスタリードを示すコマンドであ
り、障害情報収集手段32によってローカルメモリ3内
に待避したレジスタのうち、コマンドテーブル内のRE
G#で示されるレジスタ番号のレジスタの内容を、コマ
ンドテーブル内の上位32ビットデータおよび下位32
ビットデータにコピーするコマンドである。0x13
は、0x12の逆で、レジスタライトを示すコマンドで
あり、コマンドテーブル内の上位32ビットデータおよ
び下位32ビットデータの内容を、障害情報収集手段3
2によってローカルメモリ3内に待避するエリアの中の
コマンドテーブル内のREG#で示されるレジスタ番号
の待避エリアにコピーするコマンドである。0x02
は、コマンドテーブル内の転送アドレスで示されるロー
カルメモリ3内のオフセットアドレスから、転送長(バ
イト数)で示されるバイト数だけ、下位32ビットデー
タで示される共有メモリ5内に転送するコマンドであ
る。0x03は、0x02の逆で、コマンドテーブル内
の下位32ビットデータで示される共有メモリ5から、
転送長(バイト数)で示されるバイト数だけ、転送アド
レスで示されるローカルメモリ3内のオフセットアドレ
スに転送するコマンドである。これらのコマンドはロー
カルメモリ3内に制御プログラム30をロードしたり、
あるいはローカルメモリ3の内容をダンプしたりするの
に有効である。
【0042】図19は、コマンドテーブル内のREG#
の内容を示す図である。ビット0〜4は0〜31のレジ
スタ番号を示し、ビット5〜7は値0のときにR400
0レジスタを、値4のときにcp0(システム制御)レ
ジスタを、値5のときにcp1(浮動少数点)レジスタ
をそれぞれ示す。レジスタ一覧は、図20に示す通りで
ある。
の内容を示す図である。ビット0〜4は0〜31のレジ
スタ番号を示し、ビット5〜7は値0のときにR400
0レジスタを、値4のときにcp0(システム制御)レ
ジスタを、値5のときにcp1(浮動少数点)レジスタ
をそれぞれ示す。レジスタ一覧は、図20に示す通りで
ある。
【0043】図21は、プロセッサ間NMI処理手段3
4がコマンドテーブルに格納するSTの内容を説明する
図である。0x00はコマンドが正常終了したことを示
し、0x07はコマンドが異常終了したことを示し、0
x0Aは未定義コマンドが発行されたことを示す。
4がコマンドテーブルに格納するSTの内容を説明する
図である。0x00はコマンドが正常終了したことを示
し、0x07はコマンドが異常終了したことを示し、0
x0Aは未定義コマンドが発行されたことを示す。
【0044】図22は、NMI発行手段31のメイン処
理を示す流れ図である。NMIを発行する手順もサブル
ーチンとしてまとめておいた方がソフトウェアで使用す
る場合、便利なことが多い。図23がそのサブルーチン
(NMI発行サブルーチン)の処理を示す流れ図であ
る。また、NMI発生手段31のコールの方法を図式化
したのが、図24である。
理を示す流れ図である。NMIを発行する手順もサブル
ーチンとしてまとめておいた方がソフトウェアで使用す
る場合、便利なことが多い。図23がそのサブルーチン
(NMI発行サブルーチン)の処理を示す流れ図であ
る。また、NMI発生手段31のコールの方法を図式化
したのが、図24である。
【0045】図22を参照すると、NMI発行手段31
のメイン処理は、コマンド構造体作成ステップS101
と、共有メモリアドレスセットステップS102と、N
MI発行サブルーチン呼出しステップS103とからな
る。
のメイン処理は、コマンド構造体作成ステップS101
と、共有メモリアドレスセットステップS102と、N
MI発行サブルーチン呼出しステップS103とからな
る。
【0046】図23を参照すると、NMI発行サブルー
チンの処理は、MPU#正常判定ステップS104と、
実行ステータスnone/dead判定ステップS10
5と、ST不正MPU番号セットステップS106と、
実行ステータスbusy判定ステップS107と、ST
ビジーセットステップS108と、フラグリセットステ
ップS109と、コマンド構造体コピーステップS11
0と、ST0xffセットステップS111と、NMI
発生ステップS112と、ST0xff変化判定ステッ
プS113と、10ms経過判定ステップS114と、
フラグ0設定ステップS115と、実行ステータスde
ad設定ステップS116と、ST0x30セットステ
ップS117と、コマンドテーブルコピーステップS1
18とからなる。
チンの処理は、MPU#正常判定ステップS104と、
実行ステータスnone/dead判定ステップS10
5と、ST不正MPU番号セットステップS106と、
実行ステータスbusy判定ステップS107と、ST
ビジーセットステップS108と、フラグリセットステ
ップS109と、コマンド構造体コピーステップS11
0と、ST0xffセットステップS111と、NMI
発生ステップS112と、ST0xff変化判定ステッ
プS113と、10ms経過判定ステップS114と、
フラグ0設定ステップS115と、実行ステータスde
ad設定ステップS116と、ST0x30セットステ
ップS117と、コマンドテーブルコピーステップS1
18とからなる。
【0047】図25は、NMI発行手段31がコマンド
テーブルに格納するSTの内容を説明する図である。0
x10はビジー状態を示し、0x20は不正MPU番号
を示し、0x30はタイムアウトを示す。
テーブルに格納するSTの内容を説明する図である。0
x10はビジー状態を示し、0x20は不正MPU番号
を示し、0x30はタイムアウトを示す。
【0048】図26は、レジスタ0へのライトを説明す
る図である。本実施例のプロセッサ間NMI通信装置で
は、レジスタ番号0のレジスタ(以下、レジスタ0と表
記する)へのライトは特別な意味を持たせている。通常
R4000では、レジスタ0はゼロレジスタと呼ばれ、
リードしても0が読め、ライトしても無視される特殊な
レジスタである。しかし、プロセッサ間NMIを通し
て、相手のMPU1のレジスタ0へのライトは、図26
に示すような意味がある。
る図である。本実施例のプロセッサ間NMI通信装置で
は、レジスタ番号0のレジスタ(以下、レジスタ0と表
記する)へのライトは特別な意味を持たせている。通常
R4000では、レジスタ0はゼロレジスタと呼ばれ、
リードしても0が読め、ライトしても無視される特殊な
レジスタである。しかし、プロセッサ間NMIを通し
て、相手のMPU1のレジスタ0へのライトは、図26
に示すような意味がある。
【0049】すなわち、上位32ビットデータのビット
31のEXECビットに1を立てたデータをライトする
ことにより、相手のMPU1に対して、待避したレジス
タを全て復帰した後で、ErrorEPCレジスタの示
すアドレスからスタートすることを指示することができ
る。ErrorEPCレジスタは、NMIが発生したと
きのプログラムカウンタを保持するレジスタである。具
体的にいえば、コプロセッサ10の内容をローカルメモ
リ3のレジスタ待避エリアから復帰し、その後で汎用レ
ジスタを復帰し、さらにNMIが受け付けられるよう
に、eret命令を実行することにより、ErrorE
PCレジスタの内容がプログラムカウンタにロードさ
れ、そこから命令が実行されることになる。
31のEXECビットに1を立てたデータをライトする
ことにより、相手のMPU1に対して、待避したレジス
タを全て復帰した後で、ErrorEPCレジスタの示
すアドレスからスタートすることを指示することができ
る。ErrorEPCレジスタは、NMIが発生したと
きのプログラムカウンタを保持するレジスタである。具
体的にいえば、コプロセッサ10の内容をローカルメモ
リ3のレジスタ待避エリアから復帰し、その後で汎用レ
ジスタを復帰し、さらにNMIが受け付けられるよう
に、eret命令を実行することにより、ErrorE
PCレジスタの内容がプログラムカウンタにロードさ
れ、そこから命令が実行されることになる。
【0050】この機能を使えば、あるMPU1は、プロ
セッサ間NMIで相手のMPU1をストップさせて、そ
のときのレジスタの値を自由に得ることができると同時
に、相手のMPU1をまた元のプログラムに復帰させる
ことも可能となる。この機能は、マルチプロセッサデバ
ッギングに威力を発揮する。すなわち、ブレーク命令を
実行したMPU1が全MPU1に対してNMIを発行す
ることにより、他のMPU1に命令実行をストップさ
せ、自分自身はデバッグモニタを実行し、デバッグモニ
タから他のMPU1にレジスタをリード/ライトするこ
とにより、他のMPU1の実行状態を知ることができ、
その後、デバッグモニタからのコマンドにより、NMI
発生以前の命令から再スタートする機能を実現すること
が可能となる。
セッサ間NMIで相手のMPU1をストップさせて、そ
のときのレジスタの値を自由に得ることができると同時
に、相手のMPU1をまた元のプログラムに復帰させる
ことも可能となる。この機能は、マルチプロセッサデバ
ッギングに威力を発揮する。すなわち、ブレーク命令を
実行したMPU1が全MPU1に対してNMIを発行す
ることにより、他のMPU1に命令実行をストップさ
せ、自分自身はデバッグモニタを実行し、デバッグモニ
タから他のMPU1にレジスタをリード/ライトするこ
とにより、他のMPU1の実行状態を知ることができ、
その後、デバッグモニタからのコマンドにより、NMI
発生以前の命令から再スタートする機能を実現すること
が可能となる。
【0051】また、本実施例では、レジスタ0へのライ
トで、nvRAM上の制御プログラム30のCRC機能
を実現している。これは、ローカルメモリ3のnvRA
M上に制御プログラム30を格納した場合で、制御プロ
グラム30が正常にロードされているか否かを判断する
ために、制御プログラム30の最終番地の2バイトにC
RCコードを埋め込んでおき、各MPU1にCRCを行
わせることで、制御プログラム30をロードする必要が
あるかないかを判断するために使用できる。CRCの結
果は、レジスタ0へのリードを行い、上位32ビットデ
ータのCRCビットをチェックすることで行える。
トで、nvRAM上の制御プログラム30のCRC機能
を実現している。これは、ローカルメモリ3のnvRA
M上に制御プログラム30を格納した場合で、制御プロ
グラム30が正常にロードされているか否かを判断する
ために、制御プログラム30の最終番地の2バイトにC
RCコードを埋め込んでおき、各MPU1にCRCを行
わせることで、制御プログラム30をロードする必要が
あるかないかを判断するために使用できる。CRCの結
果は、レジスタ0へのリードを行い、上位32ビットデ
ータのCRCビットをチェックすることで行える。
【0052】レジスタ0へのライトだけは、自MPU1
への発行が可能である。本発明がMPU1が1台しか存
在しない場合でも成立する理由はここにある。これは、
コマンド構造体のMPU#に自MPU番号を格納してN
MI発行手段31を呼び出すことで実現できる。例え
ば、コマンド構造体内のREG#に0を設定し、MPU
#に自分のMPU#を設定し、上位32ビットデータ
に、図26で示すCRCビットとEXECビットとをと
もに1であるデータをセットして、NMI発行手段31
を呼び出すと、図23のNMI発行サブルーチン内のス
テップS112の直後で、自分自身にNMIが発生す
る。NMIは、マスク不可であるので、NMI発行手段
31自体も途中で中断される。その後、NMIによって
障害情報収集手段32,ポーリング手段33およびプロ
セッサ間NMI処理手段34が実行される。CRCビッ
トが1であることにより、プロセッサ間NMI処理手段
34内のステップS419およびS420によりCRC
チェックが行われ、その後、EXECビットが1である
ことにより、ステップS431,S432,S433お
よびS434によりプロセッサ間NMI処理手段34を
終了し、中断されたNMI前の状態に復帰し、ステップ
S113から処理を再開する。NMI発行手段31内の
ステップS429により、STには正常終了がセットさ
れているので、NMI発行手段31は、ステップS11
8を実行して処理を終了することになる。
への発行が可能である。本発明がMPU1が1台しか存
在しない場合でも成立する理由はここにある。これは、
コマンド構造体のMPU#に自MPU番号を格納してN
MI発行手段31を呼び出すことで実現できる。例え
ば、コマンド構造体内のREG#に0を設定し、MPU
#に自分のMPU#を設定し、上位32ビットデータ
に、図26で示すCRCビットとEXECビットとをと
もに1であるデータをセットして、NMI発行手段31
を呼び出すと、図23のNMI発行サブルーチン内のス
テップS112の直後で、自分自身にNMIが発生す
る。NMIは、マスク不可であるので、NMI発行手段
31自体も途中で中断される。その後、NMIによって
障害情報収集手段32,ポーリング手段33およびプロ
セッサ間NMI処理手段34が実行される。CRCビッ
トが1であることにより、プロセッサ間NMI処理手段
34内のステップS419およびS420によりCRC
チェックが行われ、その後、EXECビットが1である
ことにより、ステップS431,S432,S433お
よびS434によりプロセッサ間NMI処理手段34を
終了し、中断されたNMI前の状態に復帰し、ステップ
S113から処理を再開する。NMI発行手段31内の
ステップS429により、STには正常終了がセットさ
れているので、NMI発行手段31は、ステップS11
8を実行して処理を終了することになる。
【0053】また、レジスタ0へのライトだけは、全M
PU1への一斉ライトが可能である。例えば、レジスタ
0へのライトでCOUNTレジスタの初期化を行うこと
ができる。COUNTレジスタとは、各MPU1が1ク
ロック毎にカウントアップしていくレジスタであり、イ
ンターバールタイマとして、R4000が使用すること
ができるレジスタである。この値はリセット時には、ま
ちまちの値をとるため、一斉に初期化してやる方法が必
要となる。この場合にもレジスタ0へのライトを全MP
U1に対して一斉に行うことで、一斉にCOUNTレジ
スタを0に初期化することが可能である。
PU1への一斉ライトが可能である。例えば、レジスタ
0へのライトでCOUNTレジスタの初期化を行うこと
ができる。COUNTレジスタとは、各MPU1が1ク
ロック毎にカウントアップしていくレジスタであり、イ
ンターバールタイマとして、R4000が使用すること
ができるレジスタである。この値はリセット時には、ま
ちまちの値をとるため、一斉に初期化してやる方法が必
要となる。この場合にもレジスタ0へのライトを全MP
U1に対して一斉に行うことで、一斉にCOUNTレジ
スタを0に初期化することが可能である。
【0054】さらに、レジスタ0へのライトにより、T
LBエリアのクリアや、nvRAM上の制御プログラム
エリアのクリアも可能である。
LBエリアのクリアや、nvRAM上の制御プログラム
エリアのクリアも可能である。
【0055】レジスタレジスタ0へのリードは、上位3
2ビットデータはnvRAM上のCRCビットを、下位
32ビットデータは制御プログラム30のレビジョンを
読むのに使用される。
2ビットデータはnvRAM上のCRCビットを、下位
32ビットデータは制御プログラム30のレビジョンを
読むのに使用される。
【0056】次に、このように構成された本実施例のプ
ロセッサ間NMI通信装置の動作について説明する。
ロセッサ間NMI通信装置の動作について説明する。
【0057】NMI発行手段31は、共有メモリ5上に
コマンド構造体を作成し(ステップS101)、コマン
ド構造体が格納された共有メモリアドレスをr4レジス
タにセットし(ステップS102)、NMI発行サブル
ーチンを呼び出す(ステップS103)。すると、r4
レジスタを引数として、共有メモリ5上にあるコマンド
構造体の先頭アドレスがNMI発行サブルーチンに渡さ
れる。
コマンド構造体を作成し(ステップS101)、コマン
ド構造体が格納された共有メモリアドレスをr4レジス
タにセットし(ステップS102)、NMI発行サブル
ーチンを呼び出す(ステップS103)。すると、r4
レジスタを引数として、共有メモリ5上にあるコマンド
構造体の先頭アドレスがNMI発行サブルーチンに渡さ
れる。
【0058】NMI発行サブルーチンでは、NMI発行
手段31は、まずコマンド構造体内のMPU#が0〜1
5の間または0xffであるかどうかをチェックする
(ステップS104)。もしそれ以外の値だった場合
は、不正MPU番号(0x20)をコマンド構造体内の
STにセットして(ステップS106)、リターンす
る。コマンド構造体内のMPU#が0〜15の間または
0xffであった場合には、NMI発行手段31は、共
有メモリ5内の該当するMPU制御ブロックの実行ステ
ータスをチェックし(ステップS105)、実行ステー
タスがdeadまたはnoneであった場合は、不正M
PU番号(0x20)をコマンド構造体内のSTにセッ
トして(ステップS106)、リターンする。実行ステ
ータスがbusyであった場合は(ステップS10
7)、NMI発行手段31は、ビジー(0x10)をコ
マンド構造体内のSTにセットして(ステップS10
8)、リターンする。実行ステータスがidleまたは
runの場合は、NMIが発行可能であるので、NMI
発行手段31は、該当するコマンドテーブル内のMPU
#で示されるMPU1のMPU制御ブロック内の自MP
U#に相当するコマンドテーブル内のフラグを1にリセ
ットし(ステップS109)、コマンド構造体の内容を
当該コマンドテーブルにコピーする(ステップS11
0)。なお、MPU#が0xffの場合には、MPU番
号が0〜15までの全てのMPU1に関するコマンドテ
ーブルのフラグを1にセットし、コマンド構造体の内容
をコピーする。
手段31は、まずコマンド構造体内のMPU#が0〜1
5の間または0xffであるかどうかをチェックする
(ステップS104)。もしそれ以外の値だった場合
は、不正MPU番号(0x20)をコマンド構造体内の
STにセットして(ステップS106)、リターンす
る。コマンド構造体内のMPU#が0〜15の間または
0xffであった場合には、NMI発行手段31は、共
有メモリ5内の該当するMPU制御ブロックの実行ステ
ータスをチェックし(ステップS105)、実行ステー
タスがdeadまたはnoneであった場合は、不正M
PU番号(0x20)をコマンド構造体内のSTにセッ
トして(ステップS106)、リターンする。実行ステ
ータスがbusyであった場合は(ステップS10
7)、NMI発行手段31は、ビジー(0x10)をコ
マンド構造体内のSTにセットして(ステップS10
8)、リターンする。実行ステータスがidleまたは
runの場合は、NMIが発行可能であるので、NMI
発行手段31は、該当するコマンドテーブル内のMPU
#で示されるMPU1のMPU制御ブロック内の自MP
U#に相当するコマンドテーブル内のフラグを1にリセ
ットし(ステップS109)、コマンド構造体の内容を
当該コマンドテーブルにコピーする(ステップS11
0)。なお、MPU#が0xffの場合には、MPU番
号が0〜15までの全てのMPU1に関するコマンドテ
ーブルのフラグを1にセットし、コマンド構造体の内容
をコピーする。
【0059】次に、NMI発行手段31は、コマンドテ
ーブル内のSTを0xffにセットし(ステップS11
1)、該当MPU1に対してNMIを発生させる(ステ
ップS112)。詳しくは、MPU1は、プロセッサ間
割り込み発生ポート208に割り込みトランザクション
データを書き込む。プロセッサ間割り込み発生ポート2
08に書きこまれた割り込みトランザクションデータ
は、システムバス4を介して割り込み通知先のMPU1
に接続されたSBC2のバッファ201に取り込まれ、
デコーダ202でデコードされて、割り込み要因レジス
タ203に設定される。これにより、NMIフリップフ
ロップ204がセットされて、NMI信号206が駆動
されMPU1にNMIが発生する。
ーブル内のSTを0xffにセットし(ステップS11
1)、該当MPU1に対してNMIを発生させる(ステ
ップS112)。詳しくは、MPU1は、プロセッサ間
割り込み発生ポート208に割り込みトランザクション
データを書き込む。プロセッサ間割り込み発生ポート2
08に書きこまれた割り込みトランザクションデータ
は、システムバス4を介して割り込み通知先のMPU1
に接続されたSBC2のバッファ201に取り込まれ、
デコーダ202でデコードされて、割り込み要因レジス
タ203に設定される。これにより、NMIフリップフ
ロップ204がセットされて、NMI信号206が駆動
されMPU1にNMIが発生する。
【0060】NMIを受け付けたMPU1では、障害情
報収集手段32が、まずk1レジスタを除く汎用レジス
タの内容をローカルメモリ3に待避し(ステップS20
1)、引き続きコプロセッサレジスタの内容を汎用レジ
スタを使用してローカルメモリ3に待避し(ステップS
202)、TLBの内容を汎用レジスタおよびコプロセ
ッサレジスタを使用してローカルメモリ3にダンプする
(ステップS203)。この後、障害情報収集手段32
は、コプロセッサ10の内容を初期化して、ポーリング
手段33に制御を移す。
報収集手段32が、まずk1レジスタを除く汎用レジス
タの内容をローカルメモリ3に待避し(ステップS20
1)、引き続きコプロセッサレジスタの内容を汎用レジ
スタを使用してローカルメモリ3に待避し(ステップS
202)、TLBの内容を汎用レジスタおよびコプロセ
ッサレジスタを使用してローカルメモリ3にダンプする
(ステップS203)。この後、障害情報収集手段32
は、コプロセッサ10の内容を初期化して、ポーリング
手段33に制御を移す。
【0061】ポーリング手段33は、SBC2の割り込
み要因レジスタ203をリードして(ステップS30
1)、割り込みオペレーションビットOPが1で割り込
みコードが64〜79のプロセッサ間NMIが発生する
までチェックし続け(ステップS302)、プロセッサ
間NMIが発生していた場合には、プロセッサ間NMI
処理手段34に制御を移す。
み要因レジスタ203をリードして(ステップS30
1)、割り込みオペレーションビットOPが1で割り込
みコードが64〜79のプロセッサ間NMIが発生する
までチェックし続け(ステップS302)、プロセッサ
間NMIが発生していた場合には、プロセッサ間NMI
処理手段34に制御を移す。
【0062】プロセッサ間NMI処理手段34は、ま
ず、割り込み要因レジスタ203内の該当MPU1内の
NMI割り込みコードをリセットし(ステップS40
1)、割り込みコードに相当するMPU1のMPU制御
ブロックをリードする(ステップS402)。次に、プ
ロセッサ間NMI処理手段34は、NMI発行手段31
が書き込んだコマンドテーブル内のCMDをリードして
コマンドを認識する(ステップS403〜S407)。
ず、割り込み要因レジスタ203内の該当MPU1内の
NMI割り込みコードをリセットし(ステップS40
1)、割り込みコードに相当するMPU1のMPU制御
ブロックをリードする(ステップS402)。次に、プ
ロセッサ間NMI処理手段34は、NMI発行手段31
が書き込んだコマンドテーブル内のCMDをリードして
コマンドを認識する(ステップS403〜S407)。
【0063】ステップS403で、CMDがイニシャラ
イズ(0x0f)の場合には、プロセッサ間NMI処理
手段34は、NMIのレジスタ退避エリアを初期化する
(ステップS410)。すなわち、汎用レジスタをすべ
て0し、コプロセッサレジスタのステータスレジスタを
初期設定する。次に、プロセッサ間NMI処理手段34
は、TLB11を初期化し(ステップS411)、TL
Bダンプエリアを初期化する(ステップS412)。続
いて、プロセッサ間NMI処理手段34は、コマンドテ
ーブル内のSTに正常終了(0x00)をセットし(ス
テップS413)、実行ステータスをidleにして
(ステップS409)、処理を終了する。
イズ(0x0f)の場合には、プロセッサ間NMI処理
手段34は、NMIのレジスタ退避エリアを初期化する
(ステップS410)。すなわち、汎用レジスタをすべ
て0し、コプロセッサレジスタのステータスレジスタを
初期設定する。次に、プロセッサ間NMI処理手段34
は、TLB11を初期化し(ステップS411)、TL
Bダンプエリアを初期化する(ステップS412)。続
いて、プロセッサ間NMI処理手段34は、コマンドテ
ーブル内のSTに正常終了(0x00)をセットし(ス
テップS413)、実行ステータスをidleにして
(ステップS409)、処理を終了する。
【0064】ステップS404で、CMDがレジスタリ
ード(0x12)の場合には、プロセッサ間NMI処理
手段34は、REG#に相当するレジスタ待避エリア内
の情報をコマンドテーブル内の上位/下位32ビットデ
ータエリアにセットする(ステップS414)。ただ
し、レジスタ番号0ならば、図26に示すように、上位
32ビットデータエリアにCRCビットをセットし、下
位32ビットデータエリアに制御プログラム30のレビ
ジョンをセットする。なお、リードオンリーのレジスタ
(Random,Count,PRid)に関しては、
コプロセッサ10から直接リードしてセットする。続い
て、プロセッサ間NMI処理手段34は、コマンドテー
ブル内のSTに正常終了(0x00)をセットし(ステ
ップS415)、実行ステータスをidleにして(ス
テップS409)、処理を終了する。
ード(0x12)の場合には、プロセッサ間NMI処理
手段34は、REG#に相当するレジスタ待避エリア内
の情報をコマンドテーブル内の上位/下位32ビットデ
ータエリアにセットする(ステップS414)。ただ
し、レジスタ番号0ならば、図26に示すように、上位
32ビットデータエリアにCRCビットをセットし、下
位32ビットデータエリアに制御プログラム30のレビ
ジョンをセットする。なお、リードオンリーのレジスタ
(Random,Count,PRid)に関しては、
コプロセッサ10から直接リードしてセットする。続い
て、プロセッサ間NMI処理手段34は、コマンドテー
ブル内のSTに正常終了(0x00)をセットし(ステ
ップS415)、実行ステータスをidleにして(ス
テップS409)、処理を終了する。
【0065】CMDがレジスタライト(0x13)の場
合には、プロセッサ間NMI処理手段34は、REG#
が0ならば(ステップS416)、ステップS419に
制御を移す。REG#が0以外ならば、プロセッサ間N
MI処理手段34は、REG#に相当するレジスタ待避
エリア内のコマンドテーブル内の上位32ビットデータ
のデータをレジスタ待避エリア37にセットし、MPU
制御ブロック内の下位32ビットデータのデータをレジ
スタ待避エリアにセットする(ステップS417)。続
いて、プロセッサ間NMI処理手段34は、コマンドテ
ーブル内のSTに正常終了(0x00)をセットし(ス
テップS418)、実行ステータスをidleにして
(ステップS409)、処理を終了する。ステップS4
19では、CRCビットがセットされていかどうかをチ
ェックし、セットされていれば、プロセッサ間NMI処
理手段34は、コマンドテーブル内の転送アドレスから
コマンドテーブル内のバイト長分のCRCを行い、結果
をCRCビットにセットする(ステップS420)。次
に、プロセッサ間NMI処理手段34は、COUNTビ
ットがセットされているかどうかをチェックし(ステッ
プS421)、セットされていなければ、COUNTレ
ジスタに直接0のデータをライトする(ステップS42
2)。続いて、プロセッサ間NMI処理手段34は、T
LBCLRビットがセットされているかどうかをチェッ
クし(ステップS423)、セットされていれば、TL
B11およびTLBダンプエリアを初期化する(ステッ
プS424)。
合には、プロセッサ間NMI処理手段34は、REG#
が0ならば(ステップS416)、ステップS419に
制御を移す。REG#が0以外ならば、プロセッサ間N
MI処理手段34は、REG#に相当するレジスタ待避
エリア内のコマンドテーブル内の上位32ビットデータ
のデータをレジスタ待避エリア37にセットし、MPU
制御ブロック内の下位32ビットデータのデータをレジ
スタ待避エリアにセットする(ステップS417)。続
いて、プロセッサ間NMI処理手段34は、コマンドテ
ーブル内のSTに正常終了(0x00)をセットし(ス
テップS418)、実行ステータスをidleにして
(ステップS409)、処理を終了する。ステップS4
19では、CRCビットがセットされていかどうかをチ
ェックし、セットされていれば、プロセッサ間NMI処
理手段34は、コマンドテーブル内の転送アドレスから
コマンドテーブル内のバイト長分のCRCを行い、結果
をCRCビットにセットする(ステップS420)。次
に、プロセッサ間NMI処理手段34は、COUNTビ
ットがセットされているかどうかをチェックし(ステッ
プS421)、セットされていなければ、COUNTレ
ジスタに直接0のデータをライトする(ステップS42
2)。続いて、プロセッサ間NMI処理手段34は、T
LBCLRビットがセットされているかどうかをチェッ
クし(ステップS423)、セットされていれば、TL
B11およびTLBダンプエリアを初期化する(ステッ
プS424)。
【0066】次に、プロセッサ間NMI処理手段34
は、SCFCLRビットがセットされているかどうかを
チェックし(ステップS425)、セットされていれ
ば、制御プログラムエリアを初期化し、nvRAMを無
効とする(ステップS426)。次に、プロセッサ間N
MI処理手段34は、コマンドテーブル内のSTに正常
終了(0x00)をセットし(ステップS429)、E
XECビットがセットされているかどうかをチェックし
(ステップS433)、セットされていなければ処理を
終了する。EXECビットがセットされていれば、プロ
セッサ間NMI処理手段34は、コプロセッサレジスタ
0のRandom,Count,PRid,Cache
Err,EPC,Status以外の全レジスタをレジ
スタ待避エリアから復帰させ(ステップS431)、N
MIをリセットし(ステップS432)、klを除く汎
用レジスタとEPC,Statusを復帰し(ステップ
S433)、eret命令を実行して(ステップS43
4)、処理を終了する。
は、SCFCLRビットがセットされているかどうかを
チェックし(ステップS425)、セットされていれ
ば、制御プログラムエリアを初期化し、nvRAMを無
効とする(ステップS426)。次に、プロセッサ間N
MI処理手段34は、コマンドテーブル内のSTに正常
終了(0x00)をセットし(ステップS429)、E
XECビットがセットされているかどうかをチェックし
(ステップS433)、セットされていなければ処理を
終了する。EXECビットがセットされていれば、プロ
セッサ間NMI処理手段34は、コプロセッサレジスタ
0のRandom,Count,PRid,Cache
Err,EPC,Status以外の全レジスタをレジ
スタ待避エリアから復帰させ(ステップS431)、N
MIをリセットし(ステップS432)、klを除く汎
用レジスタとEPC,Statusを復帰し(ステップ
S433)、eret命令を実行して(ステップS43
4)、処理を終了する。
【0067】ステップS406で、CMDがnvRAM
リード(0x02)の場合には、プロセッサ間NMI処
理手段34は、コマンドテーブル内の転送アドレスで示
されるローカルメモリアドレスからバイト長分のデータ
をコマンドテーブル内の下位32ビットデータで示され
るメモリアドレスに転送し(ステップS435)、コマ
ンドテーブル内のSTに正常終了(0x00)をセット
し(ステップS436)、処理を終了する。
リード(0x02)の場合には、プロセッサ間NMI処
理手段34は、コマンドテーブル内の転送アドレスで示
されるローカルメモリアドレスからバイト長分のデータ
をコマンドテーブル内の下位32ビットデータで示され
るメモリアドレスに転送し(ステップS435)、コマ
ンドテーブル内のSTに正常終了(0x00)をセット
し(ステップS436)、処理を終了する。
【0068】ステップS407で、CMDがnvRAM
ライト(0x03)の場合には、プロセッサ間NMI処
理手段34は、コマンドテーブル内の下位データで示さ
れるメモリアドレスから、コマンドテーブル内の転送ア
ドレスで示されるローカリメモリアドレスにバイト長分
のデータを転送し(ステップS437)、コマンドテー
ブル内のSTに正常終了(0x00)をセットして(ス
テップS438)、処理を終了する。
ライト(0x03)の場合には、プロセッサ間NMI処
理手段34は、コマンドテーブル内の下位データで示さ
れるメモリアドレスから、コマンドテーブル内の転送ア
ドレスで示されるローカリメモリアドレスにバイト長分
のデータを転送し(ステップS437)、コマンドテー
ブル内のSTに正常終了(0x00)をセットして(ス
テップS438)、処理を終了する。
【0069】なお、コマンド処理中に例外を検出し、コ
マンド処理を継続できなくなってしまった場合には、プ
ロセッサ間NMI処理手段34は、STに異常終了コー
ドをセットして、処理を終了する。
マンド処理を継続できなくなってしまった場合には、プ
ロセッサ間NMI処理手段34は、STに異常終了コー
ドをセットして、処理を終了する。
【0070】CMDが上記5種類以外であった場合は、
プロセッサ間NMI処理手段34は、MPU制御ブロッ
クのSTに不正コマンドをセットし(ステップS40
8)、コマンドテーブルのフラグを0にリセットし、ポ
ーリング手段33に制御を戻す。
プロセッサ間NMI処理手段34は、MPU制御ブロッ
クのSTに不正コマンドをセットし(ステップS40
8)、コマンドテーブルのフラグを0にリセットし、ポ
ーリング手段33に制御を戻す。
【0071】NMI発行元のNMI発行手段31は、ス
テップS112でNMIを発生させた後、コマンドテー
ブル内のSTが0xff以外に変化するのを待っており
(ステップS113)、例えば、10msec待っても
STが0xffから変化せず(ステップS114)、ま
た実行ステータスもbusyに変化しない場合には、コ
マンドテーブル内のフラグを0にクリアし(ステップS
115)、MPU制御ブロックの実行ステータスをde
adに書き換えて(ステップS116)、コマンドテー
ブル内のSTにタイムアウト(0x30)をセットして
(ステップS117)、処理を終了する。ステップS1
13でコマンドテーブル内のSTが0xffから変化し
た場合には、NMI発行手段31は、コマンドテーブル
からコマンド構造体に内容をコピーして(ステップS1
18)、処理を終了する。
テップS112でNMIを発生させた後、コマンドテー
ブル内のSTが0xff以外に変化するのを待っており
(ステップS113)、例えば、10msec待っても
STが0xffから変化せず(ステップS114)、ま
た実行ステータスもbusyに変化しない場合には、コ
マンドテーブル内のフラグを0にクリアし(ステップS
115)、MPU制御ブロックの実行ステータスをde
adに書き換えて(ステップS116)、コマンドテー
ブル内のSTにタイムアウト(0x30)をセットして
(ステップS117)、処理を終了する。ステップS1
13でコマンドテーブル内のSTが0xffから変化し
た場合には、NMI発行手段31は、コマンドテーブル
からコマンド構造体に内容をコピーして(ステップS1
18)、処理を終了する。
【0072】以上のように、NMIプロセッサ間通信機
能を用いることによって、ソフトウェア暴走を停止させ
そのときのレジスタ類を採取する機能、マルチプロセッ
サのデバッグ時における全MPUのスタート/ストップ
機能,各MPUのインターバルカウンタの同時設定機能
等の様々な機能をその上に実現することが可能である。
能を用いることによって、ソフトウェア暴走を停止させ
そのときのレジスタ類を採取する機能、マルチプロセッ
サのデバッグ時における全MPUのスタート/ストップ
機能,各MPUのインターバルカウンタの同時設定機能
等の様々な機能をその上に実現することが可能である。
【0073】
【発明の効果】以上説明したように本発明は、プロセッ
サ間割り込み発生ポート,割り込み要因レジスタ,NM
Iフリッププロップ,NMIフリップフロップリセット
ポート,MPU制御テーブル,NMI発行手段,障害情
報収集手段,プロセッサ間NMI処理手段およびポーリ
ング手段を設けたことにより、以下のような効果があ
る。
サ間割り込み発生ポート,割り込み要因レジスタ,NM
Iフリッププロップ,NMIフリップフロップリセット
ポート,MPU制御テーブル,NMI発行手段,障害情
報収集手段,プロセッサ間NMI処理手段およびポーリ
ング手段を設けたことにより、以下のような効果があ
る。
【0074】(1) プロセッサ間通信でNMI割り込
みを発生可能なため、如何なるソフトウェアの暴走であ
れ、1台のMPUが異常を検出することができれば、全
MPUをNMI発行手段によりNMIで停止させ、NM
Iを受け付けたMPUは、そのときのMPU状態を障害
情報収集手段によりセーブさせ、ポーリング手段に移行
させることができる。その後、異常を検出したMPU
が、再びNMI発行手段によりコマンド構造体で指示を
出すことにより、ポーリング手段を実行中のMPUから
障害情報収集手段によりセーブされた情報を引き出すこ
とが可能になる。
みを発生可能なため、如何なるソフトウェアの暴走であ
れ、1台のMPUが異常を検出することができれば、全
MPUをNMI発行手段によりNMIで停止させ、NM
Iを受け付けたMPUは、そのときのMPU状態を障害
情報収集手段によりセーブさせ、ポーリング手段に移行
させることができる。その後、異常を検出したMPU
が、再びNMI発行手段によりコマンド構造体で指示を
出すことにより、ポーリング手段を実行中のMPUから
障害情報収集手段によりセーブされた情報を引き出すこ
とが可能になる。
【0075】(2) マルチプロセッサシステムのデバ
ッガにおいて、1台のプロセッサがブレーク命令を実行
してデバッガにエントリした際、全MPUをNMI発行
手段によりNMIで停止させ、障害情報収集手段により
MPUの内部レジスタをセーブさせ、ポーリング手段に
移行させることが可能となる。以前は、例外処理中など
の割り込み禁止状態のときにMPUをストップすること
ができなかった。その後、コマンド構造体に書き換えた
レジスタを指定して、NMI発行手段を呼び出すことに
より、1台のMPUから全てのMPUのレジスタ状態を
参照および変更することが可能となる。また、MPU#
として0xffを指定し、REG#として0を指定し、
上位32ビットデータのEXECビットを1としたコマ
ンド構造体をNMI発行手段に渡すことにより、全MP
Uに対しての実行の再開を指示することが可能となる。
ッガにおいて、1台のプロセッサがブレーク命令を実行
してデバッガにエントリした際、全MPUをNMI発行
手段によりNMIで停止させ、障害情報収集手段により
MPUの内部レジスタをセーブさせ、ポーリング手段に
移行させることが可能となる。以前は、例外処理中など
の割り込み禁止状態のときにMPUをストップすること
ができなかった。その後、コマンド構造体に書き換えた
レジスタを指定して、NMI発行手段を呼び出すことに
より、1台のMPUから全てのMPUのレジスタ状態を
参照および変更することが可能となる。また、MPU#
として0xffを指定し、REG#として0を指定し、
上位32ビットデータのEXECビットを1としたコマ
ンド構造体をNMI発行手段に渡すことにより、全MP
Uに対しての実行の再開を指示することが可能となる。
【0076】(3) コマンド構造体で、MPU#とし
て0xffを指定し、REG#として0を指定し、上位
32ビットデータのCOUNTビットとEXECビット
とを1としたデータを指定し、NMI発行手段を呼び出
すことにより、NMIを受信したMPUごとに存在する
タイマカウンタをプロセッサ間NMI処理手段により同
時に設定することが可能となる。
て0xffを指定し、REG#として0を指定し、上位
32ビットデータのCOUNTビットとEXECビット
とを1としたデータを指定し、NMI発行手段を呼び出
すことにより、NMIを受信したMPUごとに存在する
タイマカウンタをプロセッサ間NMI処理手段により同
時に設定することが可能となる。
【図1】本発明の一実施例のプロセッサ間NMI通信装
置で使用されるSBCの構成を示す回路ブロック図であ
る。
置で使用されるSBCの構成を示す回路ブロック図であ
る。
【図2】本実施例に係るプロセッサ間NMI通信装置の
構成を示すブロック図である。
構成を示すブロック図である。
【図3】図1中のプロセッサ間割り込みポートにMPU
がライトするデータであると同時に、システムバスのア
ドレス上に出力される割り込みトランザクションの形式
であり、またバッファに取り込まれる形式でもある割り
込みトランザクションデータのフォーマットを示す図で
ある。
がライトするデータであると同時に、システムバスのア
ドレス上に出力される割り込みトランザクションの形式
であり、またバッファに取り込まれる形式でもある割り
込みトランザクションデータのフォーマットを示す図で
ある。
【図4】図2中の共有メモリ内に置かれたMPU制御テ
ーブルの内容を示す図である。
ーブルの内容を示す図である。
【図5】図4中の実行ステータスを説明する図である。
【図6】図4中のコマンドテーブルの内容を詳細に示す
図である。
図である。
【図7】図6中のコマンドテーブル内のフラグを説明す
る図である。
る図である。
【図8】図2中の障害情報収集手段の処理を示す流れ図
である。
である。
【図9】図2中のポーリング手段の処理を示す流れ図で
ある。
ある。
【図10】図2中のプロセッサ間NMI処理手段のメイ
ン処理を示す流れ図である。
ン処理を示す流れ図である。
【図11】図2中のプロセッサ間NMI処理手段のイニ
シャライズコマンド処理を示す流れ図である。
シャライズコマンド処理を示す流れ図である。
【図12】図2中のプロセッサ間NMI処理手段のレジ
スタリードコマンド処理を示す流れ図である。
スタリードコマンド処理を示す流れ図である。
【図13】図2中のプロセッサ間NMI処理手段のレジ
スタライトコマンド処理の前半部を示す流れ図である。
スタライトコマンド処理の前半部を示す流れ図である。
【図14】図2中のプロセッサ間NMI処理手段のレジ
スタライトコマンド処理の後半部を示す流れ図である。
スタライトコマンド処理の後半部を示す流れ図である。
【図15】図2中のプロセッサ間NMI処理手段のnv
RAMリードコマンド処理を示す流れ図である。
RAMリードコマンド処理を示す流れ図である。
【図16】図2中のプロセッサ間NMI処理手段のnv
RAMライトコマンド処理を示す流れ図である。
RAMライトコマンド処理を示す流れ図である。
【図17】本実施例のプロセッサ間NMI通信装置にお
けるNMIを発行するMPUの番号と使用する割り込み
コードとの対応を示す図である。
けるNMIを発行するMPUの番号と使用する割り込み
コードとの対応を示す図である。
【図18】図6中のコマンドテーブル内のCMDに格納
されるコマンドの種類を示す図である。
されるコマンドの種類を示す図である。
【図19】図6中のコマンドテーブル内のREG#に格
納されるレジスタの種類を示す図である。
納されるレジスタの種類を示す図である。
【図20】図19中のREG#により定義されるレジス
タ一覧表を示す図である。
タ一覧表を示す図である。
【図21】図2中のプロセッサ間NMI処理手段が格納
するSTの内容を説明する図である。
するSTの内容を説明する図である。
【図22】図2中のNMI発行手段のメイン処理を示す
流れ図である。
流れ図である。
【図23】図22中で呼び出されるNMI発行サブルー
チンの処理を示す流れ図である。
チンの処理を示す流れ図である。
【図24】図6のコマンドテーブルに格納されるコマン
ド構造体の内容を説明する図である。
ド構造体の内容を説明する図である。
【図25】図2中のNMI発行手段が格納するSTの内
容を説明する図である。
容を説明する図である。
【図26】本実施例のプロセッサ間NMI通信装置にお
けるレジスタ0へのライトを説明する図である。
けるレジスタ0へのライトを説明する図である。
1 マイクロプロセッサ(MPU) 2 システムバスコントローラ(SBC) 3 ローカルメモリ 4 システムバス 5 共有メモリ 6 ローカルバス 10 コプロセッサ 11 アドレス変換テーブル(TLB) 30 制御プログラム 31 NMI発行手段 32 障害情報収集手段 33 ポーリング手段 34 プロセッサ間NMI処理手段 50 MPU制御テーブル 201 バッファ 202 デコーダ 203 割り込み要因レジスタ 204 NMIフリップフロップ 205 INT信号 206 NMI信号 207 NMIフリップフロップリセットポート 208 プロセッサ間割り込み発生ポート 209 アドレス制御部 210 NMIリセット信号
Claims (5)
- 【請求項1】 エッジトリガのNMI端子を有するMP
Uを1台以上と、上記全てのMPUからアクセス可能な
共有メモリとがシステムバスを介して接続されてなる情
報処理装置において、 前記MPUの1つが割り込みコードと割り込み通知先M
PUを指示するデータとを書き込むことにより前記シス
テムバス上に割り込みトランザクションを発生させるプ
ロセッサ間割り込み発生ポートと、 自MPU宛の割り込みトランザクションを前記システム
バスから受信することによりセットまたはリセットされ
る割り込み要因レジスタと、 この割り込み要因レジスタにNMI要因がセットされる
とセットされてNMI信号を前記割り込み通知先MPU
のNMI端子に入力してNMIを発生させ、前記割り込
み要因レジスタのNMI要因がリセットされてもリセッ
トされないNMIフリッププロップと、 前記割り込み通知先MPUがダミーデータを書き込むこ
とにより前記NMIフリップフロップをリセットして前
記NMI信号の駆動を停止させ、前記割り込み通知先M
PUが次のNMIを受け付け可能にするNMIフリップ
フロップリセットポートとを有し、 前記共有メモリ上にMPU制御テーブルを備え、 前記割り込みトランザクションを発行するMPUにおい
て、前記MPU制御テーブルにコマンドテーブルを書き
込み前記コマンドテーブルによって指定されたMPU宛
にNMIの割り込みコードを指示するデータを前記プロ
セッサ間割り込み発生ポートに書き込むNMI発生手段
を有し、 前記割り込み通知先MPUにおいて、NMI発生後のM
PUの障害情報をセーブする障害情報収集手段と、前記
コマンドテーブルのコマンドを参照して該当するコマン
ド処理を実行するプロセッサ間NMI処理手段と、前記
割り込み要因レジスタをチェックし、NMI要因がセッ
トされていたならば前記プロセッサ間NMI処理手段に
制御を移行しセットされていなかった場合にセットされ
るまでチェックし続けるポーリング手段とを有するプロ
セッサ間NMI通信装置。 - 【請求項2】 前記MPUが、各MPU専用のローカル
メモリを備える請求項1記載のプロセッサ間NMI通信
装置。 - 【請求項3】 前記MPU制御テーブルにMPUの台数
分のMPU制御ブロックが設けられ、各MPU制御ブロ
ックにMPUの台数分のコマンドテーブルが設けられて
いる請求項1記載のプロセッサ間NMI通信装置。 - 【請求項4】 前記NMI発生手段が、前記MPUのレ
ジスタ番号0のレジスタに対して、上位32ビットデー
タのビット31のEXECビットに1を立てたデータを
ライトすることにより、相手のMPU1に対して待避し
たレジスタを全て復帰した後で、ErrorEPCレジ
スタの示すアドレスからスタートすることを指示する請
求項1記載のプロセッサ間NMI通信装置。 - 【請求項5】 エッジトリガのNMI端子を有するMP
Uを1台以上と、上記全てのMPUからアクセス可能な
共有メモリとがシステムバスを介して接続されてなる情
報処理装置において、 前記MPUの1つが割り込みコードと割り込み通知先M
PUを指示するデータとを書き込むことにより前記シス
テムバス上に割り込みトランザクションを発生させるプ
ロセッサ間割り込み発生ポートと、 自MPU宛の割り込みトランザクションを前記システム
バスから受信することによりセットまたはリセットされ
る割り込み要因レジスタと、 この割り込み要因レジスタにNMI要因がセットされる
とセットされてNMI信号を前記割り込み通知先MPU
のNMI端子に入力してNMIを発生させ、前記割り込
み要因レジスタのNMI要因がリセットされてもリセッ
トされないNMIフリッププロップと、 前記割り込み通知先MPUがダミーデータを書き込むこ
とにより前記NMIフリップフロップをリセットして前
記NMI信号の駆動を停止させ、前記割り込み通知先M
PUが次のNMIを受け付け可能にするNMIフリップ
フロップリセットポートとを有することを特徴とするシ
ステムバスコントローラ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7287963A JP2737724B2 (ja) | 1995-10-09 | 1995-10-09 | プロセッサ間nmi通信装置およびシステムバスコントローラ |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP7287963A JP2737724B2 (ja) | 1995-10-09 | 1995-10-09 | プロセッサ間nmi通信装置およびシステムバスコントローラ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09106361A true JPH09106361A (ja) | 1997-04-22 |
| JP2737724B2 JP2737724B2 (ja) | 1998-04-08 |
Family
ID=17724023
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP7287963A Expired - Fee Related JP2737724B2 (ja) | 1995-10-09 | 1995-10-09 | プロセッサ間nmi通信装置およびシステムバスコントローラ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2737724B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006201946A (ja) * | 2005-01-19 | 2006-08-03 | Fujitsu Ltd | プロセッサ間通信装置 |
| WO2007080931A1 (ja) * | 2006-01-11 | 2007-07-19 | Seiko Epson Corporation | デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム |
| JP2011070655A (ja) * | 2009-08-24 | 2011-04-07 | Toshiba Corp | 情報処理装置、メモリダンプシステムおよびメモリダンプ方法 |
| JP5733389B2 (ja) * | 2011-04-22 | 2015-06-10 | 富士通株式会社 | 情報処理装置及び情報処理装置の処理方法 |
-
1995
- 1995-10-09 JP JP7287963A patent/JP2737724B2/ja not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006201946A (ja) * | 2005-01-19 | 2006-08-03 | Fujitsu Ltd | プロセッサ間通信装置 |
| WO2007080931A1 (ja) * | 2006-01-11 | 2007-07-19 | Seiko Epson Corporation | デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム |
| US7992042B2 (en) | 2006-01-11 | 2011-08-02 | Seiko Epson Corporation | Debug support device, and program for directing computer to perform debugging method |
| JP2011070655A (ja) * | 2009-08-24 | 2011-04-07 | Toshiba Corp | 情報処理装置、メモリダンプシステムおよびメモリダンプ方法 |
| JP5733389B2 (ja) * | 2011-04-22 | 2015-06-10 | 富士通株式会社 | 情報処理装置及び情報処理装置の処理方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2737724B2 (ja) | 1998-04-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI230860B (en) | Integrated system management memory for system management interrupt handler independent of BIOS and operating system | |
| US6948094B2 (en) | Method of correcting a machine check error | |
| US5745770A (en) | Method and apparatus for servicing simultaneous I/O trap and debug traps in a microprocessor | |
| US5386565A (en) | Method and system for controlling/monitoring computer system having plural operating systems to run thereon | |
| US5511217A (en) | Computer system of virtual machines sharing a vector processor | |
| JP3628372B2 (ja) | コンピュータシステム、コンピュータシステムに周辺装置をインタフェースさせるための並列ポート回路、およびその動作方法 | |
| JP3093293B2 (ja) | 情報処理装置の割り込み方式 | |
| CN113821257B (zh) | 处理器内核调用栈信息查询方法及装置 | |
| JP2737724B2 (ja) | プロセッサ間nmi通信装置およびシステムバスコントローラ | |
| JP2522158B2 (ja) | マルチプロセッサシステムのプログラムデバッグ方法 | |
| JPH07105023A (ja) | データ処理システム内でスプリアス割込みを検出するための方法及び装置 | |
| JPH03175537A (ja) | デバッグ用マイクロプロセッサのエラー制御装置 | |
| US6687845B2 (en) | Fault vector pointer table | |
| JPH064417A (ja) | メモリのバッテリバックアップ制御方式 | |
| JP3124788B2 (ja) | 組込型マルチタスクオペレーティングシステムの例外処理方法 | |
| JPH0833840B2 (ja) | エラー回復手順通知システム | |
| JPS6158054A (ja) | プログラムの暴走検出方式 | |
| JPH03138753A (ja) | マルチプロセッサシステムのブートロード装置 | |
| KR920003909B1 (ko) | 디버깅지원회로 | |
| SU959079A1 (ru) | Мультимикропрограммное устройство управлени | |
| JPH01280818A (ja) | 演算制御装置の初期化方法 | |
| JPH02114364A (ja) | マルチプロセッサシステム | |
| KR19980014207A (ko) | 멀티프로세서 시스템의 데이타 프로토콜 처리장치 및 방법 | |
| JPH0248739A (ja) | デバッグ用マイクロプロセッサ | |
| JPH01175052A (ja) | マイクロアドレスレジスタ機構 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080116 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090116 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100116 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110116 Year of fee payment: 13 |
|
| LAPS | Cancellation because of no payment of annual fees |