JP3255701B2 - 多重プロセッサソフトウェア開発のための方法および装置 - Google Patents
多重プロセッサソフトウェア開発のための方法および装置Info
- Publication number
- JP3255701B2 JP3255701B2 JP11997992A JP11997992A JP3255701B2 JP 3255701 B2 JP3255701 B2 JP 3255701B2 JP 11997992 A JP11997992 A JP 11997992A JP 11997992 A JP11997992 A JP 11997992A JP 3255701 B2 JP3255701 B2 JP 3255701B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- master
- slave
- computer program
- diagram showing
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Description
F08635−89−C−0083号で政府支援により
なされた。政府はこの発明において或る権利を有する。
リストはマイクロフィッシュ付録として、総計176フ
レームにおいて現われる。著作権1991、ロックウェ
ル・インターナショナル・コーポレイション(Rockwell
International Corporation)。この特許書類の開示の
一部は資料、すなわち、前記コンピュータプログラムリ
ストを含み、それは著作権保護の支配下にある。著作権
所有者は、それが特許商標庁特許ファイルおよび記録に
おいて現われるように、特許開示のうちのいずれか1つ
によるファクシミリ再生に対して異議はないが、しか
し、それ以外は、いかなるすべての著作権を留保する。
ア開発に関するものであり、かつ特に、多重プロセッサ
において動作されるべきアプリケーションソフトウェア
の開発に関するものである。
とき、プロセッサにおける各レジスタの状態およびメモ
リにおける各ロケーションをモニタすることができるこ
とは重要である。ここで使用されているように、「モニ
タ」は、開始、停止、特定のプログラムロケーションに
おけるブレークポイントの設定、シングルステップ、個
々のレジスタおよび記憶場所への書込、ならびに個々の
レジスタおよび記憶場所からの読出を含む。このような
各アクティビティはここでは「モニタリング作用」と呼
ばれる。単一プロセッサソフトウェアではこれは比較的
容易である。ホストコンピュータはプロセッサおよびメ
モリに取付けられ、かつ開発下のアプリケーションソフ
トウェアをそれらが動作させるときにそれらの能力をた
めす。いつでも、かつプログラマがホストコンピュータ
にロードするように選択してもよい時のプロセッサおよ
びメモリのどのような独特の状態下においても、ホスト
コンピュータはプロセッサを止め、様々なレジスタおよ
び記憶場所を検査し、1回につきシングルステップをア
プリケーションプログラムを介してステップし、様々な
レジスタおよび記憶場所を再検査し、新しい情報をそれ
らに書込み、かつよりよく動作するかどうかを確認する
ために、アプリケーションプログラムを再開始すること
ができる。もしよりよく動作すれば、アプリケーション
プログラムは、それから、新しい情報自体を書込むよう
に変えられ得る。
ことはより複雑である。各プロセッサ(かつ16以上の
プロセッサがあってもよいが)別個のコンピュータによ
ってモニタされねばならない。アプリケーションソフト
ウェアの開発のためのエミュレータソフトウェアは未だ
単一プロセッサを想定して広く設計されている。したが
って、16のエミュレータの各々は別個のキーボードお
よび別個の陰極線管によって別個にモニタされる。これ
は多数のプログラマー、または、多重インターフェース
に注意を転じる単一のプログラマーを必要とする。先行
技術のこの制限は成句、「16のエミュレータ、16の
手」によって適切に表われてきた。
タ、16の手」という問題を除去することである。単一
のプロセッサ(「マスタプロセッサ」)を直接モニタ
し、残りの1つのプロセッサまたは複数個のプロセッサ
(「スレーブプロセッサ」)を、マスタプロセッサおよ
びスレーブプロセッサによって共有されるメモリにおい
て、間接的にモニタするためにソフトウェアを分配する
ことによってこの目的は達成される。
トウェアはマスタプロセッサおよびスレーブプロセッサ
(単数または複数)によって共有される単一のメモリの
ために開発されてもよく、このような共有されるメモリ
および関連するプロセッサは「ノード」とここでは呼ば
れ、または、アプリケーションソフトウェアはプログラ
マーに対して単一のインターフェースを有する多重ノー
ドのために開発されてもよいということである。
利であると思うように、別個のノードにおいて動作され
るべきアプリケーションソフトウェアがいくつかのノー
ドにおいて同時に開発されてもよく、またはそれが一度
に1つのノード(または2、3のノード)において連続
して開発されてもよいということである。
うに、この発明のソフトウェアは、以下により詳細に説
明される、ホストコンピュータ10(好ましくはSPA
RCプロセッサを使用するSUNワークステーショ
ン)、制御プロセッサ12(好ましくはMOTOROL
A 68030)、および1つ以上のノード14上で動
作する。ホストコンピュータ、制御プロセッサ、および
ノードはバス16、好ましくはVMEバスによって結合
される。ホストコンピュータ10と制御プロセッサ12
は適当なアダプタ18、好ましくはBIT3 Inter VMEアダ
プタによって接続される。制御プロセッサ12およびア
ダプタ18は必ずしも必要なわけではないが、しかしホ
ストコンピュータ10がノード14を動作し得る速度を
大いに高める。
20、マスタプロセッサ22、複数個のスレーブプロセ
ッサ24、およびマスタプロセッサ22とスレーブプロ
セッサ24とによって共有されるメモリ26(RAM部
分28およびROM部分30の両方を含む)を含む。制
御レジスタ32は望ましいが、要求はされない。各ノー
ドメモリ26はホストコンピュータ10、制御プロセッ
サ12、制御レジスタ32(もし存在すれば)、または
他のどのノード14のプロセッサ22、24によって共
有されない。各スレーブプロセッサ24は、マスタプロ
セッサ22がそうであるように、好ましくは、テキサス
・インストラメンツ(TEXAS INSTRUMENTS )C30プロ
セッサである。
プリケーションソフトウェアはノードのマスタプロセッ
サ22およびスレーブプロセッサ24において同時にか
つ区別できない状態で動作されてもよい。それはホスト
プロセッサ10および制御プロセッサ12において動作
されず、それらはアプリケーションソフトウェア開発目
的のためにのみ使用される。アプリケーションソフトウ
ェアはノード14が互いと交信することを許容してもよ
いが、そうするのに他の手段も使用する。これらの他の
手段は手近にあるアーキテクチャのために特に実現され
てもよい。
ケーションソフトウェアは同じノード14におけるプロ
セッサ22、24間の交信のためのいかなる便利な手段
を使用してもよい。好ましい手段は共有されるメモリに
おける1つ以上のノード内伝送/受信バッファである。
別個のノード内伝送/受信バッファをプロセッサ22、
24の各組間で(またはいかなるより多数の複数個間で
も)設けなければいけないという必要性はないが、この
多数のバッファが、もし便利であれば、設けられてもよ
い。特に、マスタプロセッサ22は通常の使用の間では
スレーブプロセッサ24とは区別できず、そのためマス
タプロセッサ22がそれと各スレーブプロセッサ24の
間に別個のノード内伝送/受信バッファを有することは
必要とされない(しかし便利かもしれない)。
は、ホストモニタソフトウェア34(これはホストコン
ピュータ10内で常駐である)が制御モニタソフトウェ
ア36(これは制御プロセッサ12内で常駐である)と
ともに各ノード14をモニタする。それらはノード14
のためのマスタ伝送/受信バッファ20を介して直接ノ
ード14のマスタプロセッサ22をモニタする。ノード
のマスタ伝送/受信バッファ20はVMEバス16とマ
スタプロセッサ22との間に接続される。
受信バッファを介しても直接VMEバス16に接続され
ない。その代わりに、各スレーブプロセッサ24および
マスタプロセッサ22は共有されるメモリ26のRAM
部分28におけるスレーブ伝送/受信バッファ38を介
して互いと更新する。これらのスレーブ伝送/受信バッ
ファ38はマスタモニタソフトウェア40とスレーブモ
ニタソフトウェア42とによって動作される。マスタモ
ニタソフトウェア40およびスレーブモニタソフトウェ
ア42もまた共有されるメモリ26内の常駐である。そ
れらは、こうして、制御プロセッサ12およびノードの
マスタプロセッサ22を介してノードのスレーブプロセ
ッサ24の分配された(間接)モニタリングをホストコ
ンピュータ10に与える。さらに他の伝送/受信バッフ
ァが、もし便利であれば、スレーブプロセッサ24の間
に設けられてもよいが、各スレーブプロセッサ24とマ
スタプロセッサ22との間にはスレーブ伝送/受信バッ
ファ38がなければならない。
の一部ではなく、かつノード14におけるスレーブプロ
セッサ24にさらに他の制御を与える。制御レジスタ3
2の主たる使用は1つのプロセッサ22、24から他の
プロセッサへの割込を発生することである。いずれのプ
ロセッサ22、24が他のどのプロセッサまたは複数個
のプロセッサに直接割込むことができる間、制御レジス
タ32は割込を促進する。
セッサ22、24においてのアプリケーションソフトウ
ェアの同時の開発は2つの理由によって強化される。ハ
ードウェア側では、各スレーブプロセッサ24のための
別個の外部のモニタリング装置は設けられる必要がな
い。単一のホストコンピュータ10、アダプタ18、制
御プロセッサ12およびバス16はすべてのノード14
におけるすべてのプロセッサ22、24のためにジョブ
をなすであろう。ソフトウェア側では、ノード14にお
けるプロセッサ22、24においてのソフトウェア常駐
のかなりの部分がアプリケーションソフトウェア開発タ
スクに転じられない。
開発が完了した後、強化される。どのマスタプロセッサ
22をも残りの(スレーブ)プロセッサ24と区別する
ことなく、かつハードウェアとソフトウェアの双方の著
しく減少したオーバヘッドで各ノード14は動作されて
もよい。制御プロセッサ12、ホストコンピュータ10
と制御プロセッサ12との間のアダプタ18、バス1
6、およびノードのマスタ伝送/受信バッファ20と同
じように、ホストコンピュータ10も排除されてもよ
い。前述の構成要素のすべてを動作するのに必要とされ
るソフトウェア34、36もまた排除されてもよい。
のコンピュータプログラムリストプリントアウトがマイ
クロフィッシュ付録として与えられ、かつ以下の議論の
詳細をよりよく理解するために参照されるべきである。
図6ないし図115はホストコンピュータ10上にロー
ドされるべきソフトウェアを含む。図116ないし図1
49は制御プロセッサ12においてロードされるべきソ
フトウェアを含む。図150ないし図182はノード1
4のプロセッサ22、24においてロードされるべきソ
フトウェアを含む。以下の議論を通して、各ソフトウェ
ア細分はコンピュータソフトウェア構成項目(CSC
I、上部レベル)、コンピュータソフトウェア構成要素
(CSC、中間レベル)、またはコンピュータソフトウ
ェアユニット(CSU、底部のレベル)と呼ばれるであ
ろう。各CSCIはいくつかのCSCからなる。CSC
は存在するのと同じ数の中間レベルに対してさらに他の
CSCに順に細分化されてもよい。最も低いCSCはC
SUに分割され、それらのすべてはソフトウェア階層の
底部レベルにある。
あって、それはマシーンステートおよびブレークポイン
トや単一ステップのような実行制御機能に可視性を与
え、ノード14におけるプロセッサ22、24のすべて
の制御を許容する。モニタソフトウェア34、36、4
0、42はデバッギング、かつ他の態様では開発につい
て、ノードプロセッサ22、24における信号処理アル
ゴリズムに大きく依存する。
0)はリセットから解放されたとき、ROM30におい
て存在するリセットソフトウェア44を実行する。スレ
ーブプロセッサ24はリセットに保たれ、かつマスタプ
ロセッサ22によって解放されるに過ぎないであろう。
ROMリセットソフトウェア44は制御プロセッサ12
からのメモリ修正モニタソフトウェアコマンド(すなわ
ち、制御モニタソフトウェア36の一部)を待ち、それ
らの各々はマスタプロセッサ22がマスタモニタソフト
ウェア40の32までの全ワードでそのメモリを初期設
定することを許容する。
ードされた後、マスタプロセッサ22はマスタ初期設定
状態に遷移し、すなわち、マスタプロセッサは内部で検
査され、外部のメモリもまた検査され、かつユーザメモ
リ領域のすべてが「0」に初期設定される。マスタモニ
タソフトウェア40は、それから、スレーブモニタソフ
トウェア42にロードし、再び制御プロセッサ36から
のメモリ修正モニタソフトウェアコマンドを使用する。
スレーブモニタソフトウェア42が完全にロードされた
とき、マスタプロセッサ22はスレーブプロセッサ24
がROMリセットシーケンスを介して行き、かつ新しく
ロードされたスレーブモニタソフトウェア42に飛び越
えるのを待ち、かつスレーブ初期設定ルーチンの完了に
最終的に工程応答し、スレーブプロセッサ24の各々を
1つずつ解放するであろう。
ワードRCM30、好ましくはPROMを使用する。こ
のPROM30はメモリ26のスペクトルの最も低い8
Kワードを占める。割込ベクトルがメモリ26のこの部
分に位置するので、それらはすべてのプロセッサ22、
24によって共有される。同じトークンにより、ROM
リセットソフトウェア44はまたすべてのプロセッサ2
2、24によって共有される。したがって、リセットで
は、ROMリセットソフトウェア44はプロセッサ番号
を始めに決定しなければならない。この番号はモニタソ
フトウェア34、36、40、42およびアプリケーシ
ョンソフトウェアによってかなり頻繁に使用され、スタ
ティックI/Oピン値から急いでこの値を計算するのは
かなり面倒であるので、ROMリセットソフトウェア4
4はその後の使用のために予め定められた内部の記憶場
所にそれをストアしてしまうであろう。
セットされているのはマスタプロセッサ22である。ハ
ードウェアは、プロセッサの残りが、すなわち、スレー
ブプロセッサ24がリセットにすべて保たれ、すなわ
ち、それらはROMリセットシシーケンスで進行するこ
とができないように設計される。マスタプロセッサ22
は、制御プロセッサ12からのメモリ修正コマンドに応
答することによってマスタモニタソフトウェア40を最
初にブーストラップする。設計フィロソフィは、ROM
30に絶対最小量の論理を入れることであり、そのため
モニタソフトウェア機能性におけるいかなる変更も、R
OM常駐ソフトウェアにおけるいかなる変更をも必要と
せずモニタソフトウェア40のRAM常駐部分において
のみ必要であろう。ROMリセットソフトウェアもま
た、マスタモニタソフトウェアダウンローディングルー
プを出ることによってロードの完全なコマンドに応答す
るであろう。このときに、プログラムはRAM常駐マス
タモニタソフトウェア40への直接の飛越を実行する。
このROMリセットシーケンスを受けているのは個々の
スレーブプロセッサ24である。この時点で、RAM常
駐スレーブモニタソフトウェア42はマスタモニタソフ
トウェア40によってすでにダウンロードされているべ
きである。したがって、スレーブモニタソフトウェアR
AM常駐ソフトウェア42に対する直接の飛越は適当で
ある。
され得、マスタ初期設定、マスタコマンドループ、動作
要求ハンドラ、信号プロセッサ割込ハンドラ、ブレーク
ポイント例外ハンドラ、アプリケーション文脈スイッチ
ャ、モニタソフトウェアユーティリティルーチンであ
る。
されている。マスタ初期設定46はマスタモニタCSC
の第1のCSUである。プロセッサ番号が「0」である
と想定すると、それはROMリセットプログラムから直
接の飛越を介して入れられる。それが達成する第1の機
能は、内部のプロセッサ22、24および外部のグロー
バルメモリ28の両方におけるすべてのアプリケーショ
ンメモリ領域を検査することである。これは破壊メモリ
検査であり、そのためプログラムおよびデータメモリの
ようなマスタモニタソフトウェア40の使用に専用とさ
れる領域は注意深く検査から抜かされる。メモリ検査に
続いて、すべての検査された記憶場所は完全に「ゼロ
に」される。
ション1に対する間接ベクトリングを許容する。好まし
いC30プロセッサの構造においては、これは割込IN
TOに対応する。標準の割込ベクトル1ハンドラは各プ
ロセッサのための別個のロケーションを有するベクトル
テーブルに基づく所望される割込ハンドラに間接的に飛
越えるであろう。この特徴はアプリケーションが、割込
ベクトル番号がPROM30において永久にロードされ
るときでさえ割込ハンドリングルーチンを変更すること
を許容する。しかし、マスタモニタソフトウェア40は
モニタソフトウェアによって与えられるように、標準I
NTOハンドラへの初期設定の間、このベクトルテーブ
ルを初期設定せねばならない。
モニタソフトウェア42のダウンローディングを含む。
これは、マスタモニタソフトウェアダウンローディング
と同一のメモリ修正コマンド機構を使用して達成され
る。ダウンローディングののち、マスタ22とスレーブ
24モニタプロセッサの間の交信メイルボックスはクリ
アされる。マスタ22は、それから、リセット保持状態
からスレーブプロセッサ24の各々を解放し、スレーブ
24がリセットシーケンスを完了することを許容する。
マスタ22は各スレーブ24がリセットシーケンスの完
了に割込INTO信号で応答するのを待つ。
完了すると、マスタモニタソフトウェア40はマスタコ
マンドループCSU48に直接飛越える。マスタモニタ
ソフトウェア40は2つの割込信号のどちらか1つの到
着に対して割込フラグを検査するであろう。第1の信号
はINTOであり、それはスレーブプロセッサからの信
号プロセッサ割込の到着を信号で知らせる。第2の信号
はINTIであり、これは制御プロセッサからの動作要
求コマンドの到着を信号で知らせる。これらの割込信号
の1つが検出されたとき、マスタモニタソフトウェアは
相当するハンドリングルーチンを呼び、かつそれから割
込フラグレジスタにおける割込ビットをクリアする。
ッサからの動作要求を取扱う。これらの要求のいくつか
は実行時間の間に起こる。このような実行時間要求はア
プリケーション依存であり、かつこの発明の部分を形成
しない。これらのうちの大抵は使いやすいインターフェ
ースCSCIを介してユーザ動作に起因する。このCS
U50はさらに2つの部分に分けられ、それらは、アプ
リケーション実行時間の間のすべての動作要求を処理す
る割込ハンドラ52およびプロセッサがモニタソフトウ
ェアコマンドループ48にある間、すべての動作要求を
取扱うコマンドインタプリタ54である。これが大抵の
可視モニタソフトウェア機能性が取扱われるところであ
る。図3はモニタソフトウェアによって現在取扱われる
動作要求の型のリストを示す。
ンピュータ10がマスタプロセッサ22から動作を要求
しているのか、またはスレーブプロセッサ24の1つか
ら動作を要求しているのかを決定しなければならない。
マスタプロセッサ22に対する要求はマスタモニタソフ
トウェア40によって直接扱われるであろうし、一方ス
レーブプロセッサ24の1つに対する要求はモニタソフ
トウェアメールボックス機構を介してスレーブプロセッ
サ24に渡されるであろう。コマンドはスレーブ入力メ
ールボックスに複写される。それから、割込INTOは
コマンドメーセージの可用性を信号で知らせるための発
生される。
に加えて、マスタモニタソフトウェア40もまたスレー
ブモニタプロセッサ24からの要求を取扱う。スレーブ
要求は「ブレークポイント到達した」状態のような非同
期に発生されたメッセージか、または「メモリを検査せ
よ」または「レジスタを検査せよ」コマンドのようなホ
ストコマンドに対する返答になり得る。これらは信号プ
ロセッサ割込ハンドラCSU56を介して取扱われる。
再び、このCSU56は2つの部分において動作する。
割込ハンドラ58は実行時間の間、動作する。スレーブ
モニタソフトウェアコマンドインタプリタ60はモニタ
ソフトウェアコマンドループ48の間、動作する。正当
なスレーブモニタソフトウェアコマンドの組が図3にお
いて示される。
はモニタソフトウェアへのアプリケーション例外トラッ
プを取扱うために使用される。好ましい実施例では、ブ
レークポイント例外は取扱われる唯一のトラップである
が、特定のアプリケーションはさらに他のトラップの使
用を要求してもよい。このCSU62はアプリケーショ
ンプログラマーがアプリケーションソフトウェアにおい
てスタティックブレークポイントを設定することを許容
し、それによって全体のシステムにおけるすべてのプロ
セッサ22、24は実行時間モードを出、かつ各々のモ
ニタソフトウェアループに入るであろう。
ン文脈スイッチCSU66からの2つのルーチンの適当
な1つによってアプリケーション64とモニタソフトウ
ェア46のモードの間で切換えられてもよい。第1のル
ーチン、savereg( )は、プロセッサ内部メモリにおける
レジスタ保管域においてアプリケーションレジスタを保
管するためにすべての割込ハンドラの最初に通常呼出さ
れる。第2のルーチン、loadreg( )、はアプリケーショ
ンソフトウェアを再び入れるために割込ハンドラルーチ
ンの最終において使用される。それはまた、アプリケー
ションプログラムを最初から始めるか、または各ブレー
クポイントの後、アプリケーションソフトウェアを再び
始めるかのどちらかのためにモニタソフトウェアによっ
て使用される機構である。
ンCSU68は他のCSUの多くによって使用されるす
べてのモニタソフトウェアユーティリティルーチンの収
集である。これらのうちのいくつかの例は、 割込0を特定のプロセッサに送るためのsend into cpu( ) メモリ保持状態から特定のプロセッサを解放するためのunhold cpu( ) システムにおけるすべてのプロセッサを止めるためのhalt all cpu( ) すべてのプロセッサの実行を開始するためのexgo all cpu( ) 特定された時間量によってプログラム実行を遅延するた
めのdelay( )である。
はすべてのスレーブプロセッサに存在し、かつ以下のC
SUに分割され得、それらは スレーブ初期設定 スレーブコマンドループ 信号プロセッサ割込ハンドラ、ブレークポイント例外ハ
ンドラ、アプリケーション文脈スイッチャ、モニタソフ
トウェアユーティリティルーチンである。
スレーブモニタCSCはROMリセットプログラムから
直接の飛越を介して入れられる。それが達成する第1の
スレーブ初期設定70機能は内部のプロセッサメモリに
おけるすべてのアプリケーションメモリ領域を検査する
ことである。これはマスタモニタソフトウェア40によ
って使用されるメモリ検査プログラムと同じである。再
び、メモリ検査に続き、記憶場所は完全に「ゼロに」さ
れる。最後に、スレーブモニタソフトウェア42はこの
特定のスレーブプロセッサの初期設定の終了を信号で知
らせるためにマスタプロセッサ22に割込INTOを送
る。
が完了したとき、スレーブモニタソフトウェア42はス
レーブモニタソフトウェアコマンドループCSC72に
直接飛越える。スレーブモニタソフトウェア42は信号
プロセッサ割込信号INTOの到着に対する割込フラグ
を検査するであろうが、それはマスタモニタソフトウェ
アコマンドがメイルボックスにおいてペンディングされ
ていることを暗示する。この信号が到着したとき、スレ
ーブモニタソフトウェア42は対応するハンドリングル
ーチン74を呼びだし、かつ割込フラグレジスタにおけ
る割込ビットをクリアする。
ッサ割込ハンドラCSU74を介してスレーブモニタソ
フトウェアによって取扱かわれる。マスタモニタソフト
ウェアと同様に、このCSU74内には2つの部分があ
り、それらはアプリケーションソフトウェア実行時間の
ための割込ハンドラ76と、モニタソフトウェアコマン
ドループの間の動作のためのマスタモニタソフトウェア
コマンドインタプリタ78である。正当なモニタソフト
ウェアコマンドの組もまた図3において示されている。
ークポイント例外ハンドラCSU80は始めに、アプリ
ケーションプログラムのレジスタ内容を保管する。それ
から、それは他のプロセッサ22、24での実行を止め
るために、マスタモニタソフトウェア40にGORPY
(execution go command rep
ly)を送る。最後に、それはスレーブモニタソフトウ
ェアコマンドループ72に飛越える。
6とモニタソフトウェアユーティリティルーチンCSU
68は上記のように、マスタモニタCSC40によって
使用されるものと同一である。
あり、かつ多重プロセッサにおける使用のためのアプリ
ケーションソフトウェアを開発することが所望されると
きはいつでも使用されてよい。この発明のハードウェア
実施例は、互いに離されると完全に従来のものであって
もよい構成要素からなってもよく、またはそれらはそれ
らの従来のものでない対応物から作られてもよい。
述されたが、この発明の真の精神および範囲はこれらの
特定の実施例に制限されず、前掲の特許請求の範囲によ
ってのみ制限される。
略図である。
ピュータソフトウェア構成要素のコンピュータソフトウ
ェアユニット間の関係を示す図である。
ンピュータソフトウェア構成要素のコンピュータソフト
ウェアユニット間の関係を示す図である。
たコンピュータプログラムリストを示す図である。
たコンピュータプログラムリストを示す図である。
たコンピュータプログラムリストを示す図である。
たコンピュータプログラムリストを示す図である。
たコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
られたコンピュータプログラムリストを示す図である。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
与えられたコンピュータプログラムリストを示す図であ
る。
Claims (8)
- 【請求項1】 マスタプロセッサ(22)、少なくとも
一つのスレーブプロセッサ(24)、および前記マスタ
プロセッサ(22)と前記スレーブプロセッサ(24)
とにより共有されるメモリ(26)を含む少なくとも一
つのノード(14)を含む多重プロセッサシステムにお
ける、多重プロセッサソフトウェア開発のための方法で
あって、 (a) 前記マスタプロセッサ(22)を、外部ソース
(12)から、開始させ、停止させ、ブレークポイント
を設定し、シングルステップ実行させ、書込み、読出
し、またはそれ以外の態様により、直接モニタするステ
ップを含み、前記直接モニタするステップは、 (1) 外部ソース(12)が少なくとも1つのマスタ
動作要求コマンドを通してマスタプロセッサ(22)と
通信するステップと、 (2) マスタプロセッサ(22)がマスタ動作要求コ
マンドに応答して所望の直接のモニタリング動作を生じ
るステップとを含み、前記方法はさらに (b) 前記メモリ(26)内のスレーブ伝送/受信バ
ッファ(38)を介して、各マスタプロセッサ(22)
ごとに、少なくとも1つのスレーブプロセッサ(24)
を開始させ、停止させ、ブレークポイントを設定し、シ
ングルステップ実行させ、書込み、読出し、または他の
態様により、間接的にモニタするステップを含み、前記
間接的にモニタするステップは (1) 前記外部ソース(12)が前記マスタプロセッ
サ(22)と通信するステップにより、マスタプロセッ
サ(22)が外部ソース(12)からスレーブ動作要求
コマンドを受取るステップと、 (2) マスタプロセッサ(22)がプロセッサ間割込
機構(32)を介してスレーブプロセッサ(24)に知
らせるステップと、 (3) マスタプロセッサ(22)が伝送/受信バッフ
ァ(38)を介してスレーブプロセッサ(24)と通信
するステップと、 (4) スレーブプロセッサ(24)が前記バッファ
(38)を介して伝えられるスレーブ動作要求コマンド
に応答して所望の間接的なモニタリング動作を生じるス
テップとを含むことを特徴とする、方法。 - 【請求項2】 前記外部ソース(12)が前記マスタプ
ロセッサ(22)と通信するステップの後、前記マスタ
プロセッサ(22)において、モニタリング動作がマス
タプロセッサ(22)に対して意図されているのか、ま
たはスレーブプロセッサ(24)に対して意図されてい
るのかを決定するステップをさらに含む、請求項1に記
載の方法。 - 【請求項3】 前記ノード(14)は、間接的にモニタ
されるべき複数個の前記スレーブプロセッサ(24)を
含み、前記決定するステップにより、モニタリング動作
がスレーブプロセッサ(24)に対して意図されている
と決定された場合、マスタプロセッサ(22)におい
て、どのスレーブプロセッサ(24)に対してモニタリ
ング動作が意図されているのかを決定するステップをさ
らに含む、請求項2に記載の方法。 - 【請求項4】 前記多重プロセッサシステムは、直接モ
ニタされるべき複数個の前記マスタプロセッサ(22)
を含み、前記外部ソース(12)が前記マスタプロセッ
サ(22)と通信するステップの後、各マスタプロセッ
サ(22)ごとに、モニタリング動作が当該マスタプロ
セッサ(22)に対して意図されているのか、または、
当該マスタプロセッサ(22)を介して間接的にモニタ
されるスレーブプロセッサ(24)に対して意図されて
いるのかを決定するステップをさらに含む、請求項1に
記載の方法。 - 【請求項5】 マスタプロセッサ(22)、少なくとも
一つのスレーブプロセッサ(24)、および前記マスタ
プロセッサ(22)と前記スレーブプロセッサ(24)
とにより共有されるメモリ(26)を含む少なくとも一
つのノード(14)を含む多重プロセッサシステムにお
ける、多重プロセッサソフトウェア開発のための装置で
あって、 (a) 前記マスタプロセッサ(22)を、外部ソース
(12)から、開始させ、停止させ、ブレークポイント
を設定し、シングルステップ実行させ、書込み、読出
し、または他の態様により、直接モニタするための手段
を含み、前記直接モニタするための手段は、 (1) 外部ソース(12)が少なくとも1つのマスタ
動作要求コマンドを通してマスタプロセッサ(22)と
通信するための手段と、 (2) マスタプロセッサ(22)がマスタ動作要求コ
マンドに応答して所望の直接のモニタリング動作を生じ
るための手段とを含み、前記装置はさらに (b) 前記メモリ(26)内のスレーブ伝送/受信バ
ッファ(38)を介して、各マスタプロセッサ(22)
ごとに、少なくとも1つのスレーブプロセッサ (24)を開始させ、停止させ、ブレークポイントを設
定し、シングルステップ実行させ、書込み、読出し、ま
たは他の態様により、間接的にモニタするための手段を
含み、前記間接的にモニタするための手段は (1) マスタプロセッサ(22)が外部ソース(1
2)からスレーブ動作要求コマンドを受取るための手段
と、 (2) マスタプロセッサ(22)がプロセッサ間割込
機構(32)を介してスレーブプロセッサ(24)に知
らせるための手段と、 (3) マスタプロセッサ(22)が伝送/受信バッフ
ァ(38)を介してスレーブプロセッサ(24)と通信
するための手段と、 (4) スレーブプロセッサ(24)が前記バッファ
(38)を介して伝えられるスレーブ動作要求コマンド
に応答して所望の間接的なモニタリング動作を生じるた
めの手段とを含むことを特徴とする、装置。 - 【請求項6】 マスタプロセッサ(22)において、モ
ニタリング動作がマスタプロセッサ(22)に対して意
図されているのか、またはスレーブプロセッサ(24)
に対して意図されているのかを決定するための手段をさ
らに含む、請求項5に記載の装置。 - 【請求項7】 前記ノード(14)は、間接的にモニタ
されるべき複数個のスレーブプロセッサ(24)を含
み、前記決定するための手段により、モニタリング動作
がスレーブプロセッサ(24)に対して意図されている
と決定された場合、マスタプロセッサ(22)におい
て、どのスレーブプロセッサ(24)に対してモニタリ
ング動作が意図されているのかを決定するための手段を
さらに含む、請求項6に記載の装置。 - 【請求項8】 前記多重プロセッサシステムは、直接モ
ニタされるべき複数個のマスタプロセッサ(22)を含
み、各マスタプロセッサ(22)ごとに、モニタリング
動作がマスタプロセッサ(22)に対して意図されてい
るのか、または、当該マスタプロセッサ(22)を介し
て間接的にモニタされるスレーブプロセッサ(24)に
対して意図されているのかを決定するための手段をさら
に含む、請求項5に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US690176 | 1991-04-12 | ||
US07/690,176 US5956514A (en) | 1991-04-12 | 1991-04-12 | Apparatus and method for multiple processor software development |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0793270A JPH0793270A (ja) | 1995-04-07 |
JP3255701B2 true JP3255701B2 (ja) | 2002-02-12 |
Family
ID=24771411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11997992A Expired - Lifetime JP3255701B2 (ja) | 1991-04-12 | 1992-04-13 | 多重プロセッサソフトウェア開発のための方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5956514A (ja) |
EP (1) | EP0515812B1 (ja) |
JP (1) | JP3255701B2 (ja) |
DE (1) | DE69212238T2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
DE50112681D1 (de) * | 2000-10-10 | 2007-08-16 | Infineon Technologies Ag | Programmgesteuerte Einheit |
US7020871B2 (en) * | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
JP2003015906A (ja) * | 2001-06-28 | 2003-01-17 | Mitsubishi Electric Corp | リモートデバッグ方法および装置 |
JP2003196253A (ja) * | 2001-12-27 | 2003-07-11 | Denso Corp | シングルチップマイクロコンピュータ |
JP4208085B2 (ja) * | 2005-08-30 | 2009-01-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アプリケーションプログラムの制御方法およびその装置 |
CN101373434B (zh) * | 2007-08-22 | 2012-01-25 | 国际商业机器公司 | 在多处理器系统中快速加载和运行程序映像的方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3119457A1 (de) * | 1981-05-15 | 1982-12-09 | Siemens AG, 1000 Berlin und 8000 München | Mehrrechnersystem |
US4502116A (en) * | 1982-11-17 | 1985-02-26 | At&T Bell Laboratories | Multiple processor synchronized halt test arrangement |
US4641238A (en) * | 1984-12-10 | 1987-02-03 | Itt Corporation | Multiprocessor system employing dynamically programmable processing elements controlled by a master processor |
US5036453A (en) * | 1985-12-12 | 1991-07-30 | Texas Instruments Incorporated | Master/slave sequencing processor |
JP2610821B2 (ja) * | 1986-01-08 | 1997-05-14 | 株式会社日立製作所 | マルチプロセツサシステム |
-
1991
- 1991-04-12 US US07/690,176 patent/US5956514A/en not_active Expired - Lifetime
-
1992
- 1992-04-10 EP EP92106286A patent/EP0515812B1/en not_active Expired - Lifetime
- 1992-04-10 DE DE69212238T patent/DE69212238T2/de not_active Expired - Fee Related
- 1992-04-13 JP JP11997992A patent/JP3255701B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0515812A1 (en) | 1992-12-02 |
US5956514A (en) | 1999-09-21 |
JPH0793270A (ja) | 1995-04-07 |
DE69212238D1 (de) | 1996-08-22 |
DE69212238T2 (de) | 1996-11-21 |
EP0515812B1 (en) | 1996-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5889988A (en) | Debugger for debugging tasks in an operating system virtual device driver | |
US5511217A (en) | Computer system of virtual machines sharing a vector processor | |
US6513057B1 (en) | Heterogeneous symmetric multi-processing system | |
JP2986056B2 (ja) | 異なるアドレス空間にわたってスレッド事象を処理する方法 | |
KR100537813B1 (ko) | 에뮬레이션 코프로세서 | |
US4084228A (en) | Process management structures and hardware/firmware control | |
EP0887730B1 (en) | Method for providing exclusive access to a resource in a multiprocessor computer system | |
EP0210345B1 (en) | Virtual machine | |
US4725946A (en) | P and V instructions for semaphore architecture in a multiprogramming/multiprocessing environment | |
US5630074A (en) | Inter-program communication and scheduling method for personal computers | |
US10241829B2 (en) | Information processing device, information processing method, recording medium, calculation processing device, calculation processing method | |
US20080066077A1 (en) | Cooperatively multitasking in an interrupt free computing environment | |
JP3255701B2 (ja) | 多重プロセッサソフトウェア開発のための方法および装置 | |
US5463764A (en) | Method and system for system debugging through a keyboard device driver | |
US9032100B2 (en) | I/O hub-supported atomic I/O operations | |
US7096472B2 (en) | Systems and methods for ensuring atomicity of processes in a multitasking computing environment | |
Jensen et al. | The Honeywell Modular Microprogram Machine: M3 | |
JP2553526B2 (ja) | マルチタスク処理装置 | |
Radovici et al. | The Tock System Architecture | |
Frailey | DSOS—a skeletal, real–time, minicomputer operating system | |
Crutcher et al. | Operating System | |
BORGMAN et al. | An embedded multiprocessor computer for proof-of-principle testing of exploratory systems concepts | |
Coroneos | GERT: a go-based toolkit for embedded applications | |
JPH0340169A (ja) | 多重プロセツサシステムおよび複数の処理装置を制御する方法 | |
Harris | An input/output subsystem for the Hawk operating system kernel |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20011023 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081130 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091130 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091130 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101130 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111130 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 11 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121130 Year of fee payment: 11 |