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
Application number
JP11997992A
Other languages
English (en)
Other versions
JPH0793270A (ja
Inventor
ウィルソン・クオ・ウェン
ジョン・デイビッド・ディカミーロ
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.)
Boeing North American Inc
Original Assignee
Rockwell International Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rockwell International Corp filed Critical Rockwell International Corp
Publication of JPH0793270A publication Critical patent/JPH0793270A/ja
Application granted granted Critical
Publication of JP3255701B2 publication Critical patent/JP3255701B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software 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

【発明の詳細な説明】
【0001】この発明は空軍によって与えられた契約第
F08635−89−C−0083号で政府支援により
なされた。政府はこの発明において或る権利を有する。
【0002】ここで言及されるコンピュータプログラム
リストはマイクロフィッシュ付録として、総計176フ
レームにおいて現われる。著作権1991、ロックウェ
ル・インターナショナル・コーポレイション(Rockwell
International Corporation)。この特許書類の開示の
一部は資料、すなわち、前記コンピュータプログラムリ
ストを含み、それは著作権保護の支配下にある。著作権
所有者は、それが特許商標庁特許ファイルおよび記録に
おいて現われるように、特許開示のうちのいずれか1つ
によるファクシミリ再生に対して異議はないが、しか
し、それ以外は、いかなるすべての著作権を留保する。
【0003】
【発明の背景】この発明はアプリケーションソフトウェ
ア開発に関するものであり、かつ特に、多重プロセッサ
において動作されるべきアプリケーションソフトウェア
の開発に関するものである。
【0004】アプリケーションソフトウェアを開発する
とき、プロセッサにおける各レジスタの状態およびメモ
リにおける各ロケーションをモニタすることができるこ
とは重要である。ここで使用されているように、「モニ
タ」は、開始、停止、特定のプログラムロケーションに
おけるブレークポイントの設定、シングルステップ、個
々のレジスタおよび記憶場所への書込、ならびに個々の
レジスタおよび記憶場所からの読出を含む。このような
各アクティビティはここでは「モニタリング作用」と呼
ばれる。単一プロセッサソフトウェアではこれは比較的
容易である。ホストコンピュータはプロセッサおよびメ
モリに取付けられ、かつ開発下のアプリケーションソフ
トウェアをそれらが動作させるときにそれらの能力をた
めす。いつでも、かつプログラマがホストコンピュータ
にロードするように選択してもよい時のプロセッサおよ
びメモリのどのような独特の状態下においても、ホスト
コンピュータはプロセッサを止め、様々なレジスタおよ
び記憶場所を検査し、1回につきシングルステップをア
プリケーションプログラムを介してステップし、様々な
レジスタおよび記憶場所を再検査し、新しい情報をそれ
らに書込み、かつよりよく動作するかどうかを確認する
ために、アプリケーションプログラムを再開始すること
ができる。もしよりよく動作すれば、アプリケーション
プログラムは、それから、新しい情報自体を書込むよう
に変えられ得る。
【0005】多重プロセッサソフトウェアをモニタする
ことはより複雑である。各プロセッサ(かつ16以上の
プロセッサがあってもよいが)別個のコンピュータによ
ってモニタされねばならない。アプリケーションソフト
ウェアの開発のためのエミュレータソフトウェアは未だ
単一プロセッサを想定して広く設計されている。したが
って、16のエミュレータの各々は別個のキーボードお
よび別個の陰極線管によって別個にモニタされる。これ
は多数のプログラマー、または、多重インターフェース
に注意を転じる単一のプログラマーを必要とする。先行
技術のこの制限は成句、「16のエミュレータ、16の
手」によって適切に表われてきた。
【0006】
【発明の概要】この発明の目的は、「16のエミュレー
タ、16の手」という問題を除去することである。単一
のプロセッサ(「マスタプロセッサ」)を直接モニタ
し、残りの1つのプロセッサまたは複数個のプロセッサ
(「スレーブプロセッサ」)を、マスタプロセッサおよ
びスレーブプロセッサによって共有されるメモリにおい
て、間接的にモニタするためにソフトウェアを分配する
ことによってこの目的は達成される。
【0007】この発明の特徴は、アプリケーションソフ
トウェアはマスタプロセッサおよびスレーブプロセッサ
(単数または複数)によって共有される単一のメモリの
ために開発されてもよく、このような共有されるメモリ
および関連するプロセッサは「ノード」とここでは呼ば
れ、または、アプリケーションソフトウェアはプログラ
マーに対して単一のインターフェースを有する多重ノー
ドのために開発されてもよいということである。
【0008】この発明の利点は、プログラマーが最も便
利であると思うように、別個のノードにおいて動作され
るべきアプリケーションソフトウェアがいくつかのノー
ドにおいて同時に開発されてもよく、またはそれが一度
に1つのノード(または2、3のノード)において連続
して開発されてもよいということである。
【0009】
【好ましい実施例の説明】図1において示されているよ
うに、この発明のソフトウェアは、以下により詳細に説
明される、ホストコンピュータ10(好ましくはSPA
RCプロセッサを使用するSUNワークステーショ
ン)、制御プロセッサ12(好ましくはMOTOROL
A 68030)、および1つ以上のノード14上で動
作する。ホストコンピュータ、制御プロセッサ、および
ノードはバス16、好ましくはVMEバスによって結合
される。ホストコンピュータ10と制御プロセッサ12
は適当なアダプタ18、好ましくはBIT3 Inter VMEアダ
プタによって接続される。制御プロセッサ12およびア
ダプタ18は必ずしも必要なわけではないが、しかしホ
ストコンピュータ10がノード14を動作し得る速度を
大いに高める。
【0010】各ノード14はマスタ伝送/受信バッファ
20、マスタプロセッサ22、複数個のスレーブプロセ
ッサ24、およびマスタプロセッサ22とスレーブプロ
セッサ24とによって共有されるメモリ26(RAM部
分28およびROM部分30の両方を含む)を含む。制
御レジスタ32は望ましいが、要求はされない。各ノー
ドメモリ26はホストコンピュータ10、制御プロセッ
サ12、制御レジスタ32(もし存在すれば)、または
他のどのノード14のプロセッサ22、24によって共
有されない。各スレーブプロセッサ24は、マスタプロ
セッサ22がそうであるように、好ましくは、テキサス
・インストラメンツ(TEXAS INSTRUMENTS )C30プロ
セッサである。
【0011】通常の使用の間は、ノード14のためのア
プリケーションソフトウェアはノードのマスタプロセッ
サ22およびスレーブプロセッサ24において同時にか
つ区別できない状態で動作されてもよい。それはホスト
プロセッサ10および制御プロセッサ12において動作
されず、それらはアプリケーションソフトウェア開発目
的のためにのみ使用される。アプリケーションソフトウ
ェアはノード14が互いと交信することを許容してもよ
いが、そうするのに他の手段も使用する。これらの他の
手段は手近にあるアーキテクチャのために特に実現され
てもよい。
【0012】同様に、通常の使用の間で動作するアプリ
ケーションソフトウェアは同じノード14におけるプロ
セッサ22、24間の交信のためのいかなる便利な手段
を使用してもよい。好ましい手段は共有されるメモリに
おける1つ以上のノード内伝送/受信バッファである。
別個のノード内伝送/受信バッファをプロセッサ22、
24の各組間で(またはいかなるより多数の複数個間で
も)設けなければいけないという必要性はないが、この
多数のバッファが、もし便利であれば、設けられてもよ
い。特に、マスタプロセッサ22は通常の使用の間では
スレーブプロセッサ24とは区別できず、そのためマス
タプロセッサ22がそれと各スレーブプロセッサ24の
間に別個のノード内伝送/受信バッファを有することは
必要とされない(しかし便利かもしれない)。
【0013】アプリケーションソフトウェア開発の間
は、ホストモニタソフトウェア34(これはホストコン
ピュータ10内で常駐である)が制御モニタソフトウェ
ア36(これは制御プロセッサ12内で常駐である)と
ともに各ノード14をモニタする。それらはノード14
のためのマスタ伝送/受信バッファ20を介して直接ノ
ード14のマスタプロセッサ22をモニタする。ノード
のマスタ伝送/受信バッファ20はVMEバス16とマ
スタプロセッサ22との間に接続される。
【0014】スレーブプロセッサ24はいかなる伝送/
受信バッファを介しても直接VMEバス16に接続され
ない。その代わりに、各スレーブプロセッサ24および
マスタプロセッサ22は共有されるメモリ26のRAM
部分28におけるスレーブ伝送/受信バッファ38を介
して互いと更新する。これらのスレーブ伝送/受信バッ
ファ38はマスタモニタソフトウェア40とスレーブモ
ニタソフトウェア42とによって動作される。マスタモ
ニタソフトウェア40およびスレーブモニタソフトウェ
ア42もまた共有されるメモリ26内の常駐である。そ
れらは、こうして、制御プロセッサ12およびノードの
マスタプロセッサ22を介してノードのスレーブプロセ
ッサ24の分配された(間接)モニタリングをホストコ
ンピュータ10に与える。さらに他の伝送/受信バッフ
ァが、もし便利であれば、スレーブプロセッサ24の間
に設けられてもよいが、各スレーブプロセッサ24とマ
スタプロセッサ22との間にはスレーブ伝送/受信バッ
ファ38がなければならない。
【0015】制御レジスタ32は共有されるメモリ26
の一部ではなく、かつノード14におけるスレーブプロ
セッサ24にさらに他の制御を与える。制御レジスタ3
2の主たる使用は1つのプロセッサ22、24から他の
プロセッサへの割込を発生することである。いずれのプ
ロセッサ22、24が他のどのプロセッサまたは複数個
のプロセッサに直接割込むことができる間、制御レジス
タ32は割込を促進する。
【0016】すべてのノード14におけるすべてのプロ
セッサ22、24においてのアプリケーションソフトウ
ェアの同時の開発は2つの理由によって強化される。ハ
ードウェア側では、各スレーブプロセッサ24のための
別個の外部のモニタリング装置は設けられる必要がな
い。単一のホストコンピュータ10、アダプタ18、制
御プロセッサ12およびバス16はすべてのノード14
におけるすべてのプロセッサ22、24のためにジョブ
をなすであろう。ソフトウェア側では、ノード14にお
けるプロセッサ22、24においてのソフトウェア常駐
のかなりの部分がアプリケーションソフトウェア開発タ
スクに転じられない。
【0017】動作もまたアプリケーションソフトウェア
開発が完了した後、強化される。どのマスタプロセッサ
22をも残りの(スレーブ)プロセッサ24と区別する
ことなく、かつハードウェアとソフトウェアの双方の著
しく減少したオーバヘッドで各ノード14は動作されて
もよい。制御プロセッサ12、ホストコンピュータ10
と制御プロセッサ12との間のアダプタ18、バス1
6、およびノードのマスタ伝送/受信バッファ20と同
じように、ホストコンピュータ10も排除されてもよ
い。前述の構成要素のすべてを動作するのに必要とされ
るソフトウェア34、36もまた排除されてもよい。
【0018】この発明のソフトウェアの好ましい実施例
のコンピュータプログラムリストプリントアウトがマイ
クロフィッシュ付録として与えられ、かつ以下の議論の
詳細をよりよく理解するために参照されるべきである。
図6ないし図115はホストコンピュータ10上にロー
ドされるべきソフトウェアを含む。図116ないし図1
49は制御プロセッサ12においてロードされるべきソ
フトウェアを含む。図150ないし図182はノード1
4のプロセッサ22、24においてロードされるべきソ
フトウェアを含む。以下の議論を通して、各ソフトウェ
ア細分はコンピュータソフトウェア構成項目(CSC
I、上部レベル)、コンピュータソフトウェア構成要素
(CSC、中間レベル)、またはコンピュータソフトウ
ェアユニット(CSU、底部のレベル)と呼ばれるであ
ろう。各CSCIはいくつかのCSCからなる。CSC
は存在するのと同じ数の中間レベルに対してさらに他の
CSCに順に細分化されてもよい。最も低いCSCはC
SUに分割され、それらのすべてはソフトウェア階層の
底部レベルにある。
【0019】モニタCSCはソフトウェアモジュールで
あって、それはマシーンステートおよびブレークポイン
トや単一ステップのような実行制御機能に可視性を与
え、ノード14におけるプロセッサ22、24のすべて
の制御を許容する。モニタソフトウェア34、36、4
0、42はデバッギング、かつ他の態様では開発につい
て、ノードプロセッサ22、24における信号処理アル
ゴリズムに大きく依存する。
【0020】マスタプロセッサ22(プロセッサ番号
0)はリセットから解放されたとき、ROM30におい
て存在するリセットソフトウェア44を実行する。スレ
ーブプロセッサ24はリセットに保たれ、かつマスタプ
ロセッサ22によって解放されるに過ぎないであろう。
ROMリセットソフトウェア44は制御プロセッサ12
からのメモリ修正モニタソフトウェアコマンド(すなわ
ち、制御モニタソフトウェア36の一部)を待ち、それ
らの各々はマスタプロセッサ22がマスタモニタソフト
ウェア40の32までの全ワードでそのメモリを初期設
定することを許容する。
【0021】マスタモニタソフトウェア40が完全にロ
ードされた後、マスタプロセッサ22はマスタ初期設定
状態に遷移し、すなわち、マスタプロセッサは内部で検
査され、外部のメモリもまた検査され、かつユーザメモ
リ領域のすべてが「0」に初期設定される。マスタモニ
タソフトウェア40は、それから、スレーブモニタソフ
トウェア42にロードし、再び制御プロセッサ36から
のメモリ修正モニタソフトウェアコマンドを使用する。
スレーブモニタソフトウェア42が完全にロードされた
とき、マスタプロセッサ22はスレーブプロセッサ24
がROMリセットシーケンスを介して行き、かつ新しく
ロードされたスレーブモニタソフトウェア42に飛び越
えるのを待ち、かつスレーブ初期設定ルーチンの完了に
最終的に工程応答し、スレーブプロセッサ24の各々を
1つずつ解放するであろう。
【0022】すべてのノードのプロセッサは単一の8K
ワード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はその後の使用のために予め定められた内部の記憶場
所にそれをストアしてしまうであろう。
【0023】もしプロセッサ番号が「0」であれば、リ
セットされているのはマスタプロセッサ22である。ハ
ードウェアは、プロセッサの残りが、すなわち、スレー
ブプロセッサ24がリセットにすべて保たれ、すなわ
ち、それらはROMリセットシシーケンスで進行するこ
とができないように設計される。マスタプロセッサ22
は、制御プロセッサ12からのメモリ修正コマンドに応
答することによってマスタモニタソフトウェア40を最
初にブーストラップする。設計フィロソフィは、ROM
30に絶対最小量の論理を入れることであり、そのため
モニタソフトウェア機能性におけるいかなる変更も、R
OM常駐ソフトウェアにおけるいかなる変更をも必要と
せずモニタソフトウェア40のRAM常駐部分において
のみ必要であろう。ROMリセットソフトウェアもま
た、マスタモニタソフトウェアダウンローディングルー
プを出ることによってロードの完全なコマンドに応答す
るであろう。このときに、プログラムはRAM常駐マス
タモニタソフトウェア40への直接の飛越を実行する。
【0024】もしプロセッサ番号が「0」でなければ、
このROMリセットシーケンスを受けているのは個々の
スレーブプロセッサ24である。この時点で、RAM常
駐スレーブモニタソフトウェア42はマスタモニタソフ
トウェア40によってすでにダウンロードされているべ
きである。したがって、スレーブモニタソフトウェアR
AM常駐ソフトウェア42に対する直接の飛越は適当で
ある。
【0025】マスタモニタCSCは以下のCSUに分割
され得、マスタ初期設定、マスタコマンドループ、動作
要求ハンドラ、信号プロセッサ割込ハンドラ、ブレーク
ポイント例外ハンドラ、アプリケーション文脈スイッチ
ャ、モニタソフトウェアユーティリティルーチンであ
る。
【0026】これらのCSU間の関係は図2において示
されている。マスタ初期設定46はマスタモニタCSC
の第1のCSUである。プロセッサ番号が「0」である
と想定すると、それはROMリセットプログラムから直
接の飛越を介して入れられる。それが達成する第1の機
能は、内部のプロセッサ22、24および外部のグロー
バルメモリ28の両方におけるすべてのアプリケーショ
ンメモリ領域を検査することである。これは破壊メモリ
検査であり、そのためプログラムおよびデータメモリの
ようなマスタモニタソフトウェア40の使用に専用とさ
れる領域は注意深く検査から抜かされる。メモリ検査に
続いて、すべての検査された記憶場所は完全に「ゼロ
に」される。
【0027】モニタソフトウェアは割込ベクトルロケー
ション1に対する間接ベクトリングを許容する。好まし
いC30プロセッサの構造においては、これは割込IN
TOに対応する。標準の割込ベクトル1ハンドラは各プ
ロセッサのための別個のロケーションを有するベクトル
テーブルに基づく所望される割込ハンドラに間接的に飛
越えるであろう。この特徴はアプリケーションが、割込
ベクトル番号がPROM30において永久にロードされ
るときでさえ割込ハンドリングルーチンを変更すること
を許容する。しかし、マスタモニタソフトウェア40は
モニタソフトウェアによって与えられるように、標準I
NTOハンドラへの初期設定の間、このベクトルテーブ
ルを初期設定せねばならない。
【0028】マスタ初期設定CSC46もまたスレーブ
モニタソフトウェア42のダウンローディングを含む。
これは、マスタモニタソフトウェアダウンローディング
と同一のメモリ修正コマンド機構を使用して達成され
る。ダウンローディングののち、マスタ22とスレーブ
24モニタプロセッサの間の交信メイルボックスはクリ
アされる。マスタ22は、それから、リセット保持状態
からスレーブプロセッサ24の各々を解放し、スレーブ
24がリセットシーケンスを完了することを許容する。
マスタ22は各スレーブ24がリセットシーケンスの完
了に割込INTO信号で応答するのを待つ。
【0029】マスタモニタソフトウェア初期設定46が
完了すると、マスタモニタソフトウェア40はマスタコ
マンドループCSU48に直接飛越える。マスタモニタ
ソフトウェア40は2つの割込信号のどちらか1つの到
着に対して割込フラグを検査するであろう。第1の信号
はINTOであり、それはスレーブプロセッサからの信
号プロセッサ割込の到着を信号で知らせる。第2の信号
はINTIであり、これは制御プロセッサからの動作要
求コマンドの到着を信号で知らせる。これらの割込信号
の1つが検出されたとき、マスタモニタソフトウェアは
相当するハンドリングルーチンを呼び、かつそれから割
込フラグレジスタにおける割込ビットをクリアする。
【0030】動作要求ハンドラCSU50は制御プロセ
ッサからの動作要求を取扱う。これらの要求のいくつか
は実行時間の間に起こる。このような実行時間要求はア
プリケーション依存であり、かつこの発明の部分を形成
しない。これらのうちの大抵は使いやすいインターフェ
ースCSCIを介してユーザ動作に起因する。このCS
U50はさらに2つの部分に分けられ、それらは、アプ
リケーション実行時間の間のすべての動作要求を処理す
る割込ハンドラ52およびプロセッサがモニタソフトウ
ェアコマンドループ48にある間、すべての動作要求を
取扱うコマンドインタプリタ54である。これが大抵の
可視モニタソフトウェア機能性が取扱われるところであ
る。図3はモニタソフトウェアによって現在取扱われる
動作要求の型のリストを示す。
【0031】動作要求ハンドラCSU50は、ホストコ
ンピュータ10がマスタプロセッサ22から動作を要求
しているのか、またはスレーブプロセッサ24の1つか
ら動作を要求しているのかを決定しなければならない。
マスタプロセッサ22に対する要求はマスタモニタソフ
トウェア40によって直接扱われるであろうし、一方ス
レーブプロセッサ24の1つに対する要求はモニタソフ
トウェアメールボックス機構を介してスレーブプロセッ
サ24に渡されるであろう。コマンドはスレーブ入力メ
ールボックスに複写される。それから、割込INTOは
コマンドメーセージの可用性を信号で知らせるための発
生される。
【0032】制御プロセッサ22からの要求を取扱うの
に加えて、マスタモニタソフトウェア40もまたスレー
ブモニタプロセッサ24からの要求を取扱う。スレーブ
要求は「ブレークポイント到達した」状態のような非同
期に発生されたメッセージか、または「メモリを検査せ
よ」または「レジスタを検査せよ」コマンドのようなホ
ストコマンドに対する返答になり得る。これらは信号プ
ロセッサ割込ハンドラCSU56を介して取扱われる。
再び、このCSU56は2つの部分において動作する。
割込ハンドラ58は実行時間の間、動作する。スレーブ
モニタソフトウェアコマンドインタプリタ60はモニタ
ソフトウェアコマンドループ48の間、動作する。正当
なスレーブモニタソフトウェアコマンドの組が図3にお
いて示される。
【0033】ブレークポイント例外ハンドラCSU62
はモニタソフトウェアへのアプリケーション例外トラッ
プを取扱うために使用される。好ましい実施例では、ブ
レークポイント例外は取扱われる唯一のトラップである
が、特定のアプリケーションはさらに他のトラップの使
用を要求してもよい。このCSU62はアプリケーショ
ンプログラマーがアプリケーションソフトウェアにおい
てスタティックブレークポイントを設定することを許容
し、それによって全体のシステムにおけるすべてのプロ
セッサ22、24は実行時間モードを出、かつ各々のモ
ニタソフトウェアループに入るであろう。
【0034】プロセッサレジスタ文脈はアプリケーショ
ン文脈スイッチCSU66からの2つのルーチンの適当
な1つによってアプリケーション64とモニタソフトウ
ェア46のモードの間で切換えられてもよい。第1のル
ーチン、savereg( )は、プロセッサ内部メモリにおける
レジスタ保管域においてアプリケーションレジスタを保
管するためにすべての割込ハンドラの最初に通常呼出さ
れる。第2のルーチン、loadreg( )、はアプリケーショ
ンソフトウェアを再び入れるために割込ハンドラルーチ
ンの最終において使用される。それはまた、アプリケー
ションプログラムを最初から始めるか、または各ブレー
クポイントの後、アプリケーションソフトウェアを再び
始めるかのどちらかのためにモニタソフトウェアによっ
て使用される機構である。
【0035】モニタソフトウェアユーティリティルーチ
ンCSU68は他のCSUの多くによって使用されるす
べてのモニタソフトウェアユーティリティルーチンの収
集である。これらのうちのいくつかの例は、 割込0を特定のプロセッサに送るためのsend into cpu( ) メモリ保持状態から特定のプロセッサを解放するためのunhold cpu( ) システムにおけるすべてのプロセッサを止めるためのhalt all cpu( ) すべてのプロセッサの実行を開始するためのexgo all cpu( ) 特定された時間量によってプログラム実行を遅延するた
めのdelay( )である。
【0036】信号プロセッサスレーブモニタCSC42
はすべてのスレーブプロセッサに存在し、かつ以下のC
SUに分割され得、それらは スレーブ初期設定 スレーブコマンドループ 信号プロセッサ割込ハンドラ、ブレークポイント例外ハ
ンドラ、アプリケーション文脈スイッチャ、モニタソフ
トウェアユーティリティルーチンである。
【0037】図4はこれらのCSU間の関係を表わす。
スレーブモニタCSCはROMリセットプログラムから
直接の飛越を介して入れられる。それが達成する第1の
スレーブ初期設定70機能は内部のプロセッサメモリに
おけるすべてのアプリケーションメモリ領域を検査する
ことである。これはマスタモニタソフトウェア40によ
って使用されるメモリ検査プログラムと同じである。再
び、メモリ検査に続き、記憶場所は完全に「ゼロに」さ
れる。最後に、スレーブモニタソフトウェア42はこの
特定のスレーブプロセッサの初期設定の終了を信号で知
らせるためにマスタプロセッサ22に割込INTOを送
る。
【0038】スレーブモニタソフトウェア初期設定70
が完了したとき、スレーブモニタソフトウェア42はス
レーブモニタソフトウェアコマンドループCSC72に
直接飛越える。スレーブモニタソフトウェア42は信号
プロセッサ割込信号INTOの到着に対する割込フラグ
を検査するであろうが、それはマスタモニタソフトウェ
アコマンドがメイルボックスにおいてペンディングされ
ていることを暗示する。この信号が到着したとき、スレ
ーブモニタソフトウェア42は対応するハンドリングル
ーチン74を呼びだし、かつ割込フラグレジスタにおけ
る割込ビットをクリアする。
【0039】モニタソフトウェアコマンドは信号プロセ
ッサ割込ハンドラCSU74を介してスレーブモニタソ
フトウェアによって取扱かわれる。マスタモニタソフト
ウェアと同様に、このCSU74内には2つの部分があ
り、それらはアプリケーションソフトウェア実行時間の
ための割込ハンドラ76と、モニタソフトウェアコマン
ドループの間の動作のためのマスタモニタソフトウェア
コマンドインタプリタ78である。正当なモニタソフト
ウェアコマンドの組もまた図3において示されている。
【0040】スレーブモニタソフトウェアのためのブレ
ークポイント例外ハンドラCSU80は始めに、アプリ
ケーションプログラムのレジスタ内容を保管する。それ
から、それは他のプロセッサ22、24での実行を止め
るために、マスタモニタソフトウェア40にGORPY
(execution go command rep
ly)を送る。最後に、それはスレーブモニタソフトウ
ェアコマンドループ72に飛越える。
【0041】アプリケーション文脈スイッチャCSU6
6とモニタソフトウェアユーティリティルーチンCSU
68は上記のように、マスタモニタCSC40によって
使用されるものと同一である。
【0042】
【産業応用性】この発明は産業においての利用が可能で
あり、かつ多重プロセッサにおける使用のためのアプリ
ケーションソフトウェアを開発することが所望されると
きはいつでも使用されてよい。この発明のハードウェア
実施例は、互いに離されると完全に従来のものであって
もよい構成要素からなってもよく、またはそれらはそれ
らの従来のものでない対応物から作られてもよい。
【0043】この発明の特に好ましい実施例が詳細に記
述されたが、この発明の真の精神および範囲はこれらの
特定の実施例に制限されず、前掲の特許請求の範囲によ
ってのみ制限される。
【図面の簡単な説明】
【図1】この発明の好ましい実施例のハードウェアの概
略図である。
【図2】信号プロセッサマスタモニタソフトウェアコン
ピュータソフトウェア構成要素のコンピュータソフトウ
ェアユニット間の関係を示す図である。
【図3】動作要求opコードのリストの図である。
【図4】信号プロセッサスレーブモニタソフトウェアコ
ンピュータソフトウェア構成要素のコンピュータソフト
ウェアユニット間の関係を示す図である。
【図5】図5はマイクロフィッシュ付録として与えられ
たコンピュータプログラムリストを示す図である。
【図6】図6はマイクロフィッシュ付録として与えられ
たコンピュータプログラムリストを示す図である。
【図7】図7はマイクロフィッシュ付録として与えられ
たコンピュータプログラムリストを示す図である。
【図8】図8はマイクロフィッシュ付録として与えられ
たコンピュータプログラムリストを示す図である。
【図9】図9はマイクロフィッシュ付録として与えられ
たコンピュータプログラムリストを示す図である。
【図10】図10はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図11】図11はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図12】図12はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図13】図13はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図14】図14はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図15】図15はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図16】図16はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図17】図17はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図18】図18はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図19】図19はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図20】図20はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図21】図21はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図22】図22はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図23】図23はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図24】図24はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図25】図25はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図26】図26はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図27】図27はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図28】図28はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図29】図29はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図30】図30はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図31】図31はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図32】図32はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図33】図33はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図34】図34はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図35】図35はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図36】図36はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図37】図37はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図38】図38はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図39】図39はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図40】図40はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図41】図41はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図42】図42はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図43】図43はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図44】図44はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図45】図45はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図46】図46はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図47】図47はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図48】図48はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図49】図49はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図50】図50はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図51】図51はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図52】図52はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図53】図53はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図54】図54はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図55】図55はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図56】図56はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図57】図57はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図58】図58はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図59】図59はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図60】図60はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図61】図61はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図62】図62はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図63】図63はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図64】図64はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図65】図65はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図66】図66はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図67】図67はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図68】図68はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図69】図69はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図70】図70はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図71】図71はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図72】図72はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図73】図73はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図74】図74はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図75】図75はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図76】図76はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図77】図77はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図78】図78はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図79】図79はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図80】図80はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図81】図81はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図82】図82はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図83】図83はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図84】図84はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図85】図85はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図86】図86はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図87】図87はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図88】図88はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図89】図89はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図90】図90はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図91】図91はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図92】図92はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図93】図93はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図94】図94はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図95】図95はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図96】図96はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図97】図97はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図98】図98はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図99】図99はマイクロフィッシュ付録として与え
られたコンピュータプログラムリストを示す図である。
【図100】図100はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図101】図101はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図102】図102はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図103】図103はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図104】図104はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図105】図105はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図106】図106はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図107】図107はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図108】図108はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図109】図109はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図110】図110はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図111】図111はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図112】図112はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図113】図113はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図114】図114はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図115】図115はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図116】図116はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図117】図117はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図118】図118はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図119】図119はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図120】図120はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図121】図121はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図122】図122はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図123】図123はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図124】図124はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図125】図125はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図126】図126はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図127】図127はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図128】図128はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図129】図129はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図130】図130はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図131】図131はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図132】図132はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図133】図133はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図134】図134はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図135】図135はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図136】図136はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図137】図137はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図138】図138はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図139】図139はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図140】図140はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図141】図141はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図142】図142はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図143】図143はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図144】図144はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図145】図145はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図146】図146はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図147】図147はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図148】図148はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図149】図149はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図150】図150はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図151】図151はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図152】図152はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図153】図153はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図154】図154はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図155】図155はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図156】図156はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図157】図157はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図158】図158はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図159】図159はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図160】図160はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図161】図161はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図162】図162はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図163】図163はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図164】図164はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図165】図165はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図166】図166はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図167】図167はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図168】図168はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図169】図169はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図170】図170はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図171】図171はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図172】図172はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図173】図173はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図174】図174はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図175】図175はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図176】図176はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図177】図177はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図178】図178はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図179】図179はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図180】図180はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図181】図181はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【図182】図182はマイクロフィッシュ付録として
与えられたコンピュータプログラムリストを示す図であ
る。
【符号の説明】
10 ホストコンピュータ 12 制御プロセッサ 14 ノード 16 バス 18 アダプタ 22 マスタプロセッサ 24 スレーブプロセッサ 26 メモリ
フロントページの続き (72)発明者 ジョン・デイビッド・ディカミーロ アメリカ合衆国、92626 カリフォルニ ア州、コスタ・メサ、サウス・コース ト・ドライブ、1000、アパートメント・ エル・203 (56)参考文献 特開 昭63−177231(JP,A) 特開 平2−27450(JP,A) 特開 昭63−174160(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 15/177,11/30

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項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. 【請求項2】 前記外部ソース(12)が前記マスタプ
    ロセッサ(22)と通信するステップの後、前記マスタ
    プロセッサ(22)において、モニタリング動作がマス
    タプロセッサ(22)に対して意図されているのか、ま
    たはスレーブプロセッサ(24)に対して意図されてい
    るのかを決定するステップをさらに含む、請求項1に記
    載の方法。
  3. 【請求項3】 前記ノード(14)は、間接的にモニタ
    されるべき複数個の前記スレーブプロセッサ(24)を
    含み、前記決定するステップにより、モニタリング動作
    がスレーブプロセッサ(24)に対して意図されている
    と決定された場合、マスタプロセッサ(22)におい
    て、どのスレーブプロセッサ(24)に対してモニタリ
    ング動作が意図されているのかを決定するステップをさ
    らに含む、請求項2に記載の方法。
  4. 【請求項4】 前記多重プロセッサシステムは、直接モ
    ニタされるべき複数個の前記マスタプロセッサ(22)
    を含み、前記外部ソース(12)が前記マスタプロセッ
    サ(22)と通信するステップの後、各マスタプロセッ
    (22)ごとに、モニタリング動作が当該マスタプロ
    セッサ(22)に対して意図されているのか、または、
    当該マスタプロセッサ(22)を介して間接的にモニタ
    されるスレーブプロセッサ(24)に対して意図されて
    いるのかを決定するステップをさらに含む、請求項1に
    記載の方法。
  5. 【請求項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. 【請求項6】 マスタプロセッサ(22)において、モ
    ニタリング動作がマスタプロセッサ(22)に対して意
    図されているのか、またはスレーブプロセッサ(24)
    に対して意図されているのかを決定するための手段をさ
    らに含む、請求項5に記載の装置。
  7. 【請求項7】 前記ノード(14)は、間接的にモニタ
    されるべき複数個のスレーブプロセッサ(24)を含
    み、前記決定するための手段により、モニタリング動作
    がスレーブプロセッサ(24)に対して意図されている
    と決定された場合、マスタプロセッサ(22)におい
    て、どのスレーブプロセッサ(24)に対してモニタリ
    ング動作が意図されているのかを決定するための手段を
    さらに含む、請求項6に記載の装置。
  8. 【請求項8】 前記多重プロセッサシステムは、直接モ
    ニタされるべき複数個のマスタプロセッサ(22)を含
    、各マスタプロセッサ(22)ごとに、モニタリング
    動作がマスタプロセッサ(22)に対して意図されてい
    るのか、または、当該マスタプロセッサ(22)を介し
    て間接的にモニタされるスレーブプロセッサ(24)
    対して意図されているのかを決定するための手段をさら
    に含む、請求項5に記載の装置。
JP11997992A 1991-04-12 1992-04-13 多重プロセッサソフトウェア開発のための方法および装置 Expired - Lifetime JP3255701B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 マルチプロセツサシステム

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