JPH04229340A - 共用メモリマルチプロセッサコンピュータのデバッグシステム - Google Patents

共用メモリマルチプロセッサコンピュータのデバッグシステム

Info

Publication number
JPH04229340A
JPH04229340A JP3098143A JP9814391A JPH04229340A JP H04229340 A JPH04229340 A JP H04229340A JP 3098143 A JP3098143 A JP 3098143A JP 9814391 A JP9814391 A JP 9814391A JP H04229340 A JPH04229340 A JP H04229340A
Authority
JP
Japan
Prior art keywords
data
bus
memory
processor
event
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3098143A
Other languages
English (en)
Inventor
Colin G Harrison
コリン、ジョージ、ハリソン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04229340A publication Critical patent/JPH04229340A/ja
Pending 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
    • G06F11/3636Software debugging by tracing the execution of the program
    • G06F11/364Software debugging by tracing the execution of the program tracing values on a bus

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)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は適用業務プログラムの並
列処理中に発生するデータ値のモニタに関する。詳細に
は、デバッグプログラムの制御により適用業務プログラ
ムの実行の分析を与えるバスモニタを開示する。
【0002】
【従来の技術】並列処理によるプログラム実行の改善は
広く知られており、並列処理システムが急増している。 初期の単一処理逐次実行機械と同様に並列処理システム
用プログラムは種々のエラーを生じがちである。そのよ
うなエラーの分析は従来事後または事前型で行われてい
る。この分析は一般に実行結果のトレースを集めること
を含み、このトレースが可能性のあるエラーのロケーシ
ョンを決定するために後に分析される。
【0003】大規模並列プログラムの事後分析はその技
術が分析困難であり高価なかなりのデータ量をつくり出
すために実用性がない。事前型も命令の複数同時処理の
ため実用性がない。プログラマは問題についてどこを検
索してよいかを知ることが出来ない。
【0004】単一プロセッサ機械用のデバッグ技術は周
知であり、一つのプログラム内の可能なエラー領域の識
別に広く利用されている。これら領域はプログラムの現
在の実行状態に関する動作についての情報を発生するた
めにそのプログラムにブレークポイントを与えられる。 これら技術はデータエラーの潜在的な源についてのある
程度の予知を必要とするという欠点を有する。
【0005】
【発明が解決しようとする課題】識別が特に困難なプロ
グラムエラーの一つの特殊な形はデータエラーである。 並列処理ではデータは数個の、多分多数のプロセッサに
おいて実行するプログラムの部分間で共用され、そして
どのプロセッサが共用データにエラーを導入したかを識
別することは困難である。そのようなデータエラーをデ
バッグする際の他の問題はそのようなエラーの発生に影
響をもつ並列プログラムのいくつか、多分多くの部分の
相対的実行速度により生じる。その結果、検査またはデ
バッグ技術は並列プログラムの通常の実行速度に影響す
るものであってはならない。
【0006】本発明の目的は並列処理システムに対し邪
魔とならないデータデバッグ技術を提供することである
【0007】本発明の更に特定の目的は適用業務プログ
ラムの実行中に生じるデータエラーを識別するための並
列処理システムの共用メモリデータのモニタを提供する
ことである。
【0008】
【課題を解決するための手段】上記目的は適用業務プロ
グラムの実行中に生じる選ばれたデータについて共用メ
モリデータバスをモニタするバスモニタにより達成され
る。並列プロセッサの1個が適用業務プログラムの走行
中に生じるブレークポイント事象に続きデバッグプログ
ラムを走行させるようにセットされる。このデバッグプ
ログラムはこのモニタにトラップされて記憶され、エラ
ーの決定のために後に分析されるべき共用データ値を識
別させる。
【0009】デバッグプログラムは並列プログラムが実
行される間には実行されず、かくしてこのプロセッサに
おいて走行する部分の性能に影響しない。
【0010】本発明の一実施例においては、初期化相に
おいてデバッグプログラムが並列プログラム実行中に共
用メモリバスに生じる選ばれた共用メモリデータの特徴
のバスモニタへのダウンロードを生じさせ、そしてこれ
がその適用業務のブレークポイント(区切り点)を行う
ために用いられる。モニタにより検出されるブレークポ
イントトリガー事象の結果として割込まれるべきプロセ
ッサの識別もバスモニタにダウンロードされる。適用業
務の実行中にモニタされるトリガー事象はそれが生じた
とき時間をスタンプされてバスモニタ内のトレースメモ
リに記録される。これら時間スタンプされた共用メモリ
データの獲得は共用メモリから読取られている記録値か
ら生じる不明確性を避けるためにこの共用メモリに対す
る書込動作中にのみ生じる。
【0011】集められたデータはデバッグプログラムが
ブレークポイントに続いて再スタートされるときまたは
並列プログラムの出口において、分析のためにバスモニ
タにデータインターフェースを介して回復される。仮想
メモリマッピングを用いてメモリロケーションにデータ
値をマッピングするシステムにおいては、オペレーティ
ングシステムに、仮想メモリマップをチェックするに適
当な時点でデバッグプログラムを再スタートさせ、そし
て共用メモリの他のアドレスに再割当されているデータ
を適正に識別するためにバスモニタを再構成するための
手段が設けられる。デバッグルーチンは夫々の新しいメ
モリマッピングについて呼出されてバスモニタがこのデ
ータ事象の新しい物理的アドレスで構成されうるように
する。
【0012】
【実施例】図1は並列プログラムを実行するためのマル
チプロセッサ並列処理システムを示す。入力/出力バス
29は個々のプロセッサ16−23の夫々に接続する。 入力/出力トラフィックはプロセッサ16−23の夫々
に対し入力/出力バスへのアクセスを割振るための適当
なコントローラとプロトコル装置により各プロセッサ1
6−23において調整される。
【0013】プロセッサ16−23は共用メモリバス1
5により共用メモリ11にも接続されている。
【0014】プロセッサ16−23の夫々は共用メモリ
バス15へのアクセスを競うメモリコントローラを含む
。それ故夫々のプロセッサ16−23は並列プログラム
実行において他のプロセッサにより用いられるデータ値
を共用メモリ11に書込(WRITE)そして読込(R
EAD)む。プロセッサ16−23の中の任意の1つに
よるWRITEまたはREAD動作中にそのプロセッサ
のIDも共用メモリバスの特定の信号ラインに置かれる
【0015】並列処理により生じるデータエラーは前述
のように分析およびデバッグが困難である。各プロセッ
サが共用メモリデータ値をアクセスしそしてその共用メ
モリデータ値を書込または変更する能力を有するから、
エラーを発生するプログラム内の正確なポイントの特定
は著しく困難である。
【0016】本発明によれば、バスモニタ12はメモリ
バスに接続されている。バスモニタ12はプロセッサ1
6−23の内のいずれによる共用メモリ11から書込ま
れそして読取られる共用データ値の夫々をモニタと出来
、そしてどのプロセッサが動作を行っているかを検出す
る。バスモニタ12は共用メモリバス15に生じるデー
タを識別し保持するように構成されている。共用メモリ
バス15に生じる検出された事象の夫々が時間スタンプ
されてプロセッサ16−23内のプログラム実行の事後
分析を行えるようにする。保持されるデータは後にバス
モニタ12から回復されてプログラムエラーが見い出さ
れたとき分析される。バスモニタ12はプロセッサ16
の内の1個と共にプロセッサ16−23で走行するプロ
グラム業務の種々の部分のデバッグを与える。
【0017】バスモニタ12はプロセッサ16−23の
内の1つでのデバッグプログラムの動作でインターフェ
ースされる。デバッグプログラムを走行させるプロセッ
サはデータ項目の特定のアドレスと値を構成する事象を
特定するために使用出来、そしてモニタに対しプロセッ
サ16−23のいずれかまたはすべてにより行われる動
作に制約され、そしてこれはプロセッサ16−23で走
行する適用業務をブレークポイントするために用いられ
る。バスモニタ12は割込まれるべきプロセッサおよび
使用されるべき割込レベルを識別するように構成される
。バスモニタ12についての他の構成、例えば共用メモ
リバスで検知されるデータの記録の開始およびその記録
の終了、並びに適用業務からデバッグへの実行をトリガ
した適用業務の実行の回復のための事象の識別、を行う
ことが出来る。
【0018】プロセッサ16−23で走行する適用業務
はバスモニタにより検出されるブレークポイント中に停
止されそして記号デバッグがこれら実行中のプロセッサ
16−23の夫々についてプロセッサ16で走行するデ
バッグプログラムを呼出すことにより行われる。プロセ
ッサ16で走行するデバッグプログラムはブレークポイ
ントを開始させた特定の事象の表示を与えそしてこのデ
バッグプログラムの制御によりブレークポイントに先行
するバス事象を例示するように構成される。バスモニタ
12に記憶された、トリガーされたブレークポイントの
限定はプログラムブレークポイントとなるときに変更し
うる。デバッグ動作がプロセッサ16−23において完
了してしまうと、適用業務はプロセッサ16からのオペ
レータによるコマンドにより実行を回復する。
【0019】プロセッサ16もプロセッサ17,23と
共に適用業務プログラムの実行に参加する。デバッグプ
ログラムはモニタ条件を初期化するためにプロセッサ1
6で走行しそして、ブレークポイントとなったとき呼び
出される。このデバッグプログラムは適用業務プログラ
ムが停止されるときに走行する。
【0020】バスモニタ12を図2にブロックで示す。 共用メモリバスインターフェース15が示されており、
これは各バスサイクルにおいてすべてのバスラインに生
じるデータをラッチしうる。図2の実施例ではバスのア
ーキテクチャは共用メモリ内のメモリロケーション並び
にアドレスされたメモリロケーションへのまたはそれか
ら取り出されるデータを識別するための複数のアドレス
ラインを含む。同じくデータ信号APIDとDPIDが
示されており、これらはプロトコルの一例として共用メ
モリへの書込データであるプロセッサIDと読取共用メ
モリデータであるプロセッサIDに対応する。他の信号
は有効サイクル形式信号である。この有効サイクル形式
は、共用メモリがデータ書込み、データ読取または応答
にアドレスされているかどうかを示す。図2のバスモニ
タでは有効サイクルデータはバスモニタが応答するWR
ITEサイクルを識別するために用いられる。READ
およびRESPOND サイクルは事象検出のために図
2のバスモニタにより無視されるが、トレースメモリに
記憶されうる。この限定はプログラム実行によるREA
Dサイクルデータの識別がより困難でありWRITEデ
ータ機能のように時間的に実行と同期していないという
ことによる。
【0021】共用メモリバスインターフェース15は好
適な実施例では63ビット以上までである上記のバス信
号の夫々をラッチする。共用メモリバスの15サイクル
時間は50ナノ秒の範囲であり、検出される事象の読取
とラッチのためにはインターフェース15に同様の速度
が要求される。
【0022】図2のバスモニタは共用メモリバスに生じ
る適用業務プログラムについての一つのブレークポイン
トを表わす、アドレス、データまたはその両方に対応す
るデータを識別する。インターフェース制御バス29は
並列プログラムの実行中に見い出されるすべてのブレー
クポイント事象の識別を受けるプロセッサ16に接続す
る。事象定義はプロセッサ16内のデバッグプログラム
から制御バスインターフェース29を介してダウンロー
ドされる。更に、デバッグプログラムを走行させるプロ
セッサ16へのコマンドは制御バスインターフェース2
9を介して転送される。共用メモリバスで検出されるべ
き事象定義のローディングとは別に、モードコマンドが
プロセッサ16内のデバッグプログラムにより与えられ
る。共用メモリバスで検出される或る種の事象はトレー
スメモリ20にログされ、他の事象はデバッグプログラ
ムを実行中のプロセッサ16についての割込みを発生す
る。これら割り込みは一つのブレークポイントが検出さ
れるとデバッグプログラムが実行を回復しうるようにす
る。デバッグプログラムは割込みの結果であるブレーク
ポイント条件の表示並びにこの割込みにより発生したブ
レークポイントに関係するトレースメモリ内の他のデー
タの表示を可能にする。
【0023】事象比較器がマスク31の前にあり、この
マスクは共用メモリバスに生じる、関係のないビットを
マスクする。それ故、DPID信号またはアドレス信号
あるいはいくつかのインスタンスにおけるデータ信号は
比較からマスクされて共用メモリバス15上の予め問題
とされているデータのみの比較が可能となる。
【0024】事象比較器30は複数の内容アドレス可能
メモリ(CAM)装置である。好適な実施例では4個の
8K×16ビットの内容アドレス可能メモリが問題の検
出されるべき共用メモリバスデータロードで制御ソフト
ウェアにより予めプログラムされる。制御バスインター
フェース29からのロード中にこれらCAMは2個の3
2ビットワードとしてアクセスされる。これにより、共
用メモリバス上の8192個までの異なった事象につい
ての64ビット幅の比較器が出来る。各CAMは共用メ
モリバスデータのその部分と記憶されたデータ限定とを
約45ナノ秒で比較する。一致すると対応するCAMが
1ビット出力を出し、他のCAMの出力とAND処理さ
れて総合事象検出を発生する。
【0025】CAM内の事象定義とバスデータとの比較
はWRITEサイクルにおいてのみ生じる。前述したよ
うに、共用メモリバスのREADサイクルよりもWRI
TEサイクルを事後分析中のプログラムの実行に関係づ
ける方が容易である。
【0026】時間スタンプ33は共用メモリバスに事象
が生じた時点を示すために設けられる。事象並びにそれ
が生じた時刻はトレースメモリ20に関連するトレース
メモリカウンタ(図示せず)により指標づけされるアド
レスでトレースメモリ20にロードされる。時間スタン
プ値はログ事象信号により、マスク31からのその時間
スタンプに関連したデータと共にトレースメモリにラッ
チされる。約128ビットが共用メモリデータのアドレ
ス、データ値、プロセッサ識別子および発生時刻を識別
するために用いられ、その内のビット0−47が100
ナノ秒をイクリメント単位として時間スタンプ値を表わ
す。
【0027】このトレースメモリは30−40ナノ秒の
サイクル時間をもつSRAMを4バンク有し、これらS
RAMは50ナノ秒のバスサイクル時間要件に合致する
。各バンクは128ビット幅であり、8+1ビット幅の
SIMMである。このトレースメモリは32SIMMと
考えることが出来る。トレースメモリカウンタ20は検
出された事象に続く共用メモリバス動作シーケンスの記
録を可能にするために制御バスインターフェース29を
介してプログラムされる。制御バスインターフェース2
9はトレースメモリ20に関連するトレース長レジスタ
についてのトレース長を識別する。使用時にはこのトレ
ース長レジスタは特定の事象の検出に続く共用メモリバ
スデータのサンプリングを可能にする。共用メモリバス
データの記録のための他の方法は、メモリが満杯になる
まであるいは他のプログラムされた事象が記録の終りを
識別するまで、第1の事象が検出された後にトレースメ
モリ20内のこのデータの連続記録を行うことである。
【0028】制御バスインターフェース29はまたプロ
セッサ16用の割込み発生を選択する。制御バスインタ
ーフェース29はデバッグプログラムを走行中のプロセ
ッサ16の制御により、特定の割込みマスクおよびプロ
セッサ16−23の割込みに必要な割込みレベルのロー
ドと読取を行うことが出来る。テストシーケンスの終り
にトレースメモリ20はアドレスづけされその内容が制
御バスインターフェース29に入るコマンドにより読取
られる。
【0029】図1および2に示すバスモニタはソフトウ
ェアデバッグ技術に関連して用いられる。従来のデバッ
グプログラムではブレークポイントは事象アクション対
を特定するユーザによりセットアップされる。並列処理
システムでは、事象アクション対は共用変数の特定の値
の検出を含む:IfいずれかのプロセッサによるWRI
TE(X)の場合に、thenすべてのプロセサを停止
、このブレークポイントはバスモニタにより、バスモニ
タが値xをもつデータが変数Xについて共用メモリロケ
ーションに書込まれていることを検出するときにすべて
の並列処理を停止させるための割込みを発生するための
コマンドと解釈される。この業務の実行は発生された割
込みの受信により停止し、そしてデバッグプログラムが
その事象の理由を関連するデータディスプレスを介して
オペレータに識別させる。コードラインと関係した変数
の値は、プログラムの変更がその適用業務の以降の実行
におけるブレークポイントを回避するためになされるよ
うにプログラマに知らされる。プログラム変更がなされ
るとその適用業務は付加的ブレークポイント事象が生じ
るまではじめから再スタートされる。
【0030】一つのブレークポイントを構成しうる他の
事象は特定のプロセッサによるデータ値の特定の変数へ
の割当てを含む:Ifプロセッサ#による任意値のWR
ITE(X)、thenプロセッサ停止。この事象は検
出されるとその特定のプロセッサの割込みを生じさせる
。そのときデバッグプログラムはその事象、適用業務プ
ログラム内の関連するコードラインおよび関連する変数
をディスプレイによりプログラマに与える。
【0031】並列処理モードではデバッグはバスモニタ
内のトレースメモリにより援助される。バスモニタは共
用メモリ内に記憶された共通の変数に対する各プロセッ
サによるアクセスシーケンスをトレースするために用い
られる。そのような事象のトレースを可能にするブレー
クポイントは次の通りである:トレースメモリクリアI
f任意プロセスによる任意値のWRITE(X),th
enトレーススタートIfトレースメモリが満杯、th
enすべてのプロセッサ停止。
【0032】これは共用メモリへの値Xのプロセッサ書
込みのすべての識別をバスモニタにより行いうるように
しそして適正な時間スタンプでメモリに記憶しうるよう
にする。トレースメモリが満杯のときすべてのプロセッ
サは結果としての割込みから停止しそしてデバッグプロ
グラムが呼出される。トレースメモリの内容は読取られ
そして変数Xについての値を得る際のプロセッサによる
実行シーケンスを決定するために分析される。
【0033】デバッグに有用な他の事象アクション群は
次のものを含む:トレースメモリクリアIf任意プロセ
ッサによるREAD(X)および1スタートトレース;
thenプロセッサ停止 If任意プロセッサによるWRITE(X),then
トレーススタート; Ifトレースメモリ満杯,thenすべてのプロセッサ
停止。 デバッグプロセッサからのこのコマンドシリーズは任意
の値がメモリに書込まれてしまう前に一つのプロセッサ
がXについて一つの値を読取ろうとするときにこれらプ
ロセッサを停止し、明らかなエラーを表示する。
【0034】図3はプロセッサ16で実行するデバッグ
プログラムにより開始される事象シーケンスを示す。ブ
ロック39においてシステムオペレータがデバッグプロ
グラムの実行を開始する。このデバッグプログラムは適
用業務プログラムを並列処理モードでの実行のためにプ
ロセッサ16−23にロードする。ステップ41におい
てこのデバッグプログラムは実際の物理的なアドレスで
はなく仮想アドレスを用いるプロセッサ16−23の夫
々について仮想アドレスマップを得る。仮想メモリアド
レスにより、プロセッサ16−23の夫々のコントロー
ラは仮想アドレスを与え、これらは共用メモリ11の物
理的アドレスに変換されねばならない。このように、ブ
レークポイントとバスモニタデータを識別するためには
このデータについての仮想アドレスを、プロセッサ16
−23で実行するプログラムにより対応する物理的アド
レスに変換しなければならない。
【0035】この仮想アドレスマップから夫々の物理的
アドレス、データ条件、そしてまたは問題とするAPI
D/DPID条件を識別することによりステップ42に
おいてブレークポイント条件をセットすることが可能で
ある。これらブレークポイント条件はプロセッサ1−2
3で走行する、デバッグシーケンスを開始するプログラ
ムにより発生された実行事象を表わす。バスモニタ12
がブレークポイントに必要な事象限定により構成される
と、ステップ43においてバスモニタが共用メモリバス
15上の条件のモニタを開始しうるようにされる。適用
業務はこのときステップ44で実行される。
【0036】図4はバスモニタ12により行われる動作
シーケンスを示す。共用メモリバスはステップ50にお
いてその各バスサイクルについて連続的にサンプリング
される。決定ブロック51においてWRITEバスサイ
クルが生じたかどうかを決定する。DON´T  CA
REマスク52は問題の事象の有無の検出に含まれない
データ条件をマスクする。検出された事象と事象比較器
30において限定される事象が一致すると、この事象は
その質と性質によりステップ61でトレースメモリにロ
グされるかあるいは割込みを発生させる。モード制御3
5は信号された事象の整合のどれをログしあるいは割込
を発生するかを識別するように予めプログラムされてい
る。割込みが出されるとその割込みはステップ62にお
いて制御バスインターフェース29を介して適正なプロ
セッサに運ばれる。
【0037】適用業務プログラムの実行中にこのオペレ
ーティングシステムはステップ68で検出されるページ
フォールトと呼ばれる条件の結果として記憶されたデー
タを前に識別されたメモリロケーションから新しいロケ
ーションに動かす必要がある。実行はステップ69にお
いてプロセッサ16内で実行されるデバッグプログラム
にシフトする。仮想アドレスマップがステップ70にお
いて再びとり出されてこのページフォールト条件が検出
されるべき事象を構成するデータについての物理的アド
レスの変更をもたらしたかどうかの決定を行う。この仮
想アドレスマップがステップ71において変更されてい
れば、バスモニタ72がモニタされるべき共用メモリバ
スに生じるデータの新しい物理的アドレスを反映する新
しいデータで更新される。次に適用業務がステップ73
において再スタートされ、バスモニタはここで共用メモ
リバスに生じる検出されるべき事象を構成する物理的デ
ータをさがすように構成される。
【0038】トレースメモリが満杯となると、バスモニ
タはステップ80で割込みを出す。これはプロセッサ1
6−23で走行するプログラム適用業務からプロセッサ
16で走行するデバッグプログラムへのシフトする制御
を再び生じさせる。事象ログはステップ82においてト
レースメモリからとり出されそしてステップ83におい
て事後分析のためにユーザに与えられる。この分析に続
き、デバッグがステップ84で再びロードされそしてバ
スモニタは適用業務プログラムのデバッグとモニタの新
しいシーケンスを行うためにクリアされる。
【0039】
【発明の効果】本発明によれば、並列処理システムに対
し邪魔とならないデータバッグを行うことができる。さ
らに適用業務プログラムの実行中に生じるデータエラー
を識別するための並列処理システムの共用メモリデータ
をモニタすることができる。
【図面の簡単な説明】
【図1】データエラーを識別するためのバスモニタを含
む多プロセッサ並列オペレーティングシステムを示す図
である。
【図2】バスモニタ12を記述するブロック図である。
【図3】プロセッサ16で動作するデバッグプログラム
シーケンスを示す図である。
【図4】事象比較器30の動作を示す図である。
【図5】ページフォールトが生じたときプロセッサ16
−23の夫々における適用業務プログラムシーケンスを
示す図である。
【図6】割込みがバスモニタから入るときプロセッサ1
6により実行される処理段階を示す図である。
【符号の説明】
4  共用メモリ 12  バスモニタ 13  制御バスインターフェース 15  共用メモリバス 16−23  プロセッサ 20  トレースメモリ 29  制御バスインターフェース 30  事象比較器 33  時間スタンプ

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサに接続された共用メモリ
    を有するマルチプロセッサシステム内で走行する適用業
    務プログラムをモニタしデバッグするための、下記要件
    を含むシステム:上記マルチプロセッサシステムのプロ
    セッサに上記共用メモリを相互接続する共用メモリバス
    をモニタするように接続される、下記を含むバスモニタ
    :この共用メモリバス上の予め識別されたデータ事象の
    存在を検出するプログラム可能事象検出器;上記共用メ
    モリバスに入る検出された夫々のデータ事象を記憶する
    ためのトレースメモリ;上記プロセッサ内の一つにロー
    ドされてこれらプロセッサの適用業務の走行と交互に上
    記プロセッサの内の少くとも1つにおいて実行し、上記
    適用業務の実行インターバルで上記共用メモリバス上の
    予め識別されたデータの発生によりマークされるプログ
    ラムを発生し、そして上記モニタにより識別される情報
    をデバッグするデバッグプログラム。
  2. 【請求項2】夫々の検出される事象を時間スタンプしそ
    してその時を前記トレースメモリ内に上記検出された予
    め識別されたデータと共に記憶する手段を更に含む請求
    項1のシステム。
  3. 【請求項3】前記トレースメモリのデータを解析のため
    に一つのプロセッサに転送するための入力/出力インタ
    ーフェース手段を更に含む請求項1のシステム。
  4. 【請求項4】前記共用メモリバスにおいて書込動作が行
    われているときを検出し、そして書込動作中にのみ前記
    プログラム可能事象検出器を動作可能にするための手段
    を更に含む請求項1のシステム。
  5. 【請求項5】データ事象が検出されるとき前記1つのプ
    ロセッサへの割込みを発生するための割込発生器を更に
    含む請求項1のシステム。
  6. 【請求項6】前記事象検出器と前記共用バスの間に配置
    されて無視されるべきデータビットから検出されるべき
    データビットを識別するためのマスクインターフェース
    を更に含む請求項3のシステム。
  7. 【請求項7】前記事象検出器は前記メモリバスのデータ
    幅に対応するデータ幅を有する複数の内容アドレス可能
    メモリを含み、上記メモリは前記予め識別されたデータ
    に対応する各メモリロケーションにデータを含む請求項
    1のシステム。
  8. 【請求項8】前記プログラム可能事象検出器は前記トレ
    ースメモリが第1トリガー事象に続く不変の逐次事象を
    識別しうるようにする請求項1のシステム。
  9. 【請求項9】前記プログラム可能事象検出器は前記トレ
    ースメモリを、この検出器から発生される第2トリガー
    事象に応じて動作不能とする請求項8のシステム。
  10. 【請求項10】第1の特定の検出されたデータ事象に応
    じて前記デバッグプログラムを実行する前記プロセッサ
    に割込むように接続されて前記プロセッサで走行する適
    用業務の制御を上記デバッグプログラムを実行するプロ
    セッサに移すようにする割込発生器を更に含む請求項1
    のシステム。
  11. 【請求項11】前記割込発生器は前記事象検出器による
    第2の特定の事象の検出に続き割込みを開始させる請求
    項1のシステム。
  12. 【請求項12】前記適用業務は仮想メモリアドレスとし
    て前記予め識別されたデータを識別するブレークポイン
    トを特定し、そして前記検出器は前記共用メモリの物理
    的アドレスに上記ブレークポイントに関連する仮想メモ
    リアドレスを変換しそしてこの関連する物理的アドスレ
    をバスモニタ事象検出器にロードする請求項1のシステ
    ム。
  13. 【請求項13】前記適用業務はデータが前記共用メモリ
    の一つのメモリロケーションからそのメモリの他のロケ
    ーションに再割当てされるとき前記デバッグプログラム
    を呼出しそして前記モニタが上記新しいロケーションの
    次の関連する物理的アドレスを与えられる請求項12の
    システム。
JP3098143A 1990-05-07 1991-04-03 共用メモリマルチプロセッサコンピュータのデバッグシステム Pending JPH04229340A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51971990A 1990-05-07 1990-05-07
US519719 1990-05-07

Publications (1)

Publication Number Publication Date
JPH04229340A true JPH04229340A (ja) 1992-08-18

Family

ID=24069484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3098143A Pending JPH04229340A (ja) 1990-05-07 1991-04-03 共用メモリマルチプロセッサコンピュータのデバッグシステム

Country Status (2)

Country Link
EP (1) EP0455946A3 (ja)
JP (1) JPH04229340A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332747A (ja) * 1993-05-25 1994-12-02 Nec Corp マルチプロセッサシステムのプログラムデバッグ方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2720173B1 (fr) * 1994-05-20 1996-08-14 Sgs Thomson Microelectronics Circuit intégré comprenant des moyens pour arrêter l'exécution d'un programme d'instructions quand une combinaison de points d'arrêt est vérifiée.
US6026503A (en) * 1997-08-12 2000-02-15 Telrad Communication And Electronic Industries Ltd. Device and method for debugging systems controlled by microprocessors
EP1039386A1 (en) * 1999-03-19 2000-09-27 Motorola, Inc. Computer system with trace unit, and method therefor
US6678838B1 (en) * 1999-08-23 2004-01-13 Advanced Micro Devices, Inc. Method to track master contribution information in a write buffer
DE10119266A1 (de) * 2001-04-20 2002-10-31 Infineon Technologies Ag Programmgesteuerte Einheit
DE10240088B4 (de) * 2002-08-30 2007-11-29 Infineon Technologies Ag Datenverarbeitungsvorrichtung
EP1475713A1 (en) * 2003-05-05 2004-11-10 Infineon Technologies AG Program-controlled unit with a first CPU and a second CPU used as bypass hardware
US6993453B2 (en) 2003-10-28 2006-01-31 International Business Machines Corporation Adjusted monitoring in a relational environment
US7500141B2 (en) 2005-11-29 2009-03-03 International Business Machines Corporation Saving state data in parallel in a multi-processor system
US20080046699A1 (en) 2006-08-21 2008-02-21 International Business Machines Corporation Method and apparatus for non-deterministic incremental program replay using checkpoints and syndrome tracking
WO2010052678A1 (en) * 2008-11-10 2010-05-14 Nxp B.V. Data processing circuit with run-time diagnostic monitor circuit
CN108196945B (zh) * 2016-12-08 2022-06-07 阿里巴巴集团控股有限公司 一种核间通信方法、装置和虚拟化设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5880751A (ja) * 1981-11-06 1983-05-14 Mitsubishi Electric Corp デ−タ処理装置
JPS58182766A (ja) * 1982-04-20 1983-10-25 Nec Corp プログラムトレ−ス装置
JPS62219140A (ja) * 1986-03-20 1987-09-26 Fujitsu Ltd デ−タ処理機のデバツク制御方式
JPS63201737A (ja) * 1987-02-17 1988-08-19 Kanebo Ltd コンピユ−タプログラム開発支援方法およびその装置
JPS63298452A (ja) * 1987-05-28 1988-12-06 Nec Corp トレ−サ回路
JPS6462737A (en) * 1987-09-02 1989-03-09 Mitsubishi Electric Corp Program debug device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3540003A (en) * 1968-06-10 1970-11-10 Ibm Computer monitoring system
DE2835764A1 (de) * 1978-08-16 1980-02-28 Siemens Ag Verfahren zum pruefen von in elektronischen einrichtungen, insbesondere in festwertspeichern gespeicherten daten
FR2454138B1 (fr) * 1979-04-11 1985-10-25 Materiel Telephonique Traceur pour calculateurs telephoniques
US4598364A (en) * 1983-06-29 1986-07-01 International Business Machines Corporation Efficient trace method adaptable to multiprocessors
US4720778A (en) * 1985-01-31 1988-01-19 Hewlett Packard Company Software debugging analyzer

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5880751A (ja) * 1981-11-06 1983-05-14 Mitsubishi Electric Corp デ−タ処理装置
JPS58182766A (ja) * 1982-04-20 1983-10-25 Nec Corp プログラムトレ−ス装置
JPS62219140A (ja) * 1986-03-20 1987-09-26 Fujitsu Ltd デ−タ処理機のデバツク制御方式
JPS63201737A (ja) * 1987-02-17 1988-08-19 Kanebo Ltd コンピユ−タプログラム開発支援方法およびその装置
JPS63298452A (ja) * 1987-05-28 1988-12-06 Nec Corp トレ−サ回路
JPS6462737A (en) * 1987-09-02 1989-03-09 Mitsubishi Electric Corp Program debug device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06332747A (ja) * 1993-05-25 1994-12-02 Nec Corp マルチプロセッサシステムのプログラムデバッグ方法

Also Published As

Publication number Publication date
EP0455946A3 (en) 1992-10-28
EP0455946A2 (en) 1991-11-13

Similar Documents

Publication Publication Date Title
US5134701A (en) Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities
CN109583200B (zh) 一种基于动态污点传播的程序异常分析方法
US5204956A (en) Method and apparatus for monitoring the execution time of a computer program
US6378087B1 (en) System and method for dynamically detecting unchecked error condition values in computer programs
US7698690B2 (en) Identifying code that wastes time performing redundant computation
JPH0823837B2 (ja) サンプリング性能分析方法及び装置
JPH04229340A (ja) 共用メモリマルチプロセッサコンピュータのデバッグシステム
CN111709031B (zh) 一种覆盖率引导的VxWorks内核模糊测试方法
US7574697B2 (en) Testing parallel applications using code instrumentation
CN114866300B (zh) 一种基于重放分析的网络协议软件状态变量识别方法
US5280626A (en) Multi-process emulator suitable for testing software under multi-process environments
JPH02294739A (ja) 障害検出方式
CN115878363A (zh) 用于解析处理器异常的方法、装置及计算机可读存储介质
US20160371501A1 (en) Tracing processing activity
Tsai et al. A replay mechanism for non-interference real-time software testing and debugging
Caerts et al. A powerful high-level debugger for parallel programs
JPS63113743A (ja) 計算機ハ−ドウエアデバツギング方式
CN115934504A (zh) 用于模糊测试的方法
JPH01306933A (ja) デバッグ装置
JP2967741B2 (ja) Cpu互換性テスト装置
JPH11119992A (ja) ファームウェアのトレース制御装置
JP2684966B2 (ja) 入出力処理装置のデバッグ装置
CN118132151A (zh) 多处理器并行架构中识别首个同步异常处理器的方法
JPH0362233A (ja) アドレスマッチタイミングトレース機構
JPS6146535A (ja) 擬似エラ−設定制御方式