JP2636107B2 - デバッグ支援装置 - Google Patents
デバッグ支援装置Info
- Publication number
- JP2636107B2 JP2636107B2 JP3350691A JP35069191A JP2636107B2 JP 2636107 B2 JP2636107 B2 JP 2636107B2 JP 3350691 A JP3350691 A JP 3350691A JP 35069191 A JP35069191 A JP 35069191A JP 2636107 B2 JP2636107 B2 JP 2636107B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- trace
- address
- memory
- cache
- 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
Landscapes
- Advance Control (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、スヌープキャッシュを
持つ共有バス型並列処理システムにおけるデバッグ支援
装置に関する。 【0002】 【従来の技術】プロセッサの実行するプロセスをデバッ
グする場合に、プログラムがアクセスするメモリアドレ
スをトレースする機構を持つものがある。これによれ
ば、命令やデータの処理をするためのプログラムの実行
軌跡をトレースすることができる(特開昭62-103779 号
公報)。高度かつ複雑なプロセスを実行するための並列
処理システムでは、ひとつのまとまった所定のプロセス
を複数のプロセッサに分担させて処理する。この場合
に、複数のプロセッサは必要に応じて互いに通信しなが
ら処理を実行する。 【0003】図2にこのような処理を実行する共有バス
型並列処理システムブロック図を示す。図のシステム
は、例えば2台のプロセッサボード1A,1Bが、バス
ライン2を介して共有メモリ3をアクセスする構成とな
っている。このバスライン2のアクセスを制御するため
にバス制御部4が設けられている。また、システム全体
の制御のために、バス制御部4にサービスプロセッサ5
が接続されている。このようなシステムにおいては、プ
ロセッサボード1Aのプロセッサとプロセッサボード1
Bのプロセッサが共有メモリ3を介して通信を行う。ま
た、各プロセッサボード1A,1Bには、キャッシュメ
モリ6A,6Bがそれぞれ設けられており、各プロセッ
サボード1A,1Bにおけるアクセス高速化のために共
有メモリ3上のデータの一部が転記される。このような
システムにおいてもプロセスデバッグのために上記のよ
うなメモリアドレスをトレースする機構が設けられる。 【0004】 【発明が解決しようとする課題】ここで、上記のような
システムにおいて、従来の単一のプロセッサによるプロ
セスのメモリアドレストレースをそのまま実行した場
合、次のような問題が生じる。まず、あるプロセッサが
共有メモリ3に他のプロセッサに送信すべきデータを書
き込む場合、両プロセッサのアクセス競合による誤動作
を避けるため、受信側のプロセッサのアクセスを一時的
に禁止する同期命令が出される。例えば、このような同
期命令を実行する部分にプログラムバグが存在する場
合、受信側のプロセッサは正常に動作している場合にお
いても、共有メモリ3を誤ったタイミングでアクセス
し、プロセスに障害が生じる。従って、このような場
合、トレース結果を詳細に時間をかけて解析し、同期部
分に関するデバッグを行わなければならない。しかしな
がら、この作業は極めて複雑になり、作業効率が悪くな
るという難点がある。また、並列処理システムにおいて
は、プロセス実行時、そのプログラムを実行するプロセ
ッサが動的に決定されるため、デバッグ対象となるプロ
セッサが移り変わる。従って、デバッグが非常に難しく
なるという問題もある。 【0005】また、ハードウエアの初期デバッグ及び故
障診断等においては、キャッシュ間の一貫性が正しく保
たれていなければならないが、これを確保するのが難し
い。即ち、各プロセッサボード1A,1Bごとに、共有
メモリ3上のデータがキャッシュメモリ6A,6Bに転
記されるため、キャッシュメモリ6A,6Bがバッファ
となって、実際のメモリアクセスをプログラムの進行に
合わせて忠実にトレースすることが難しい。即ち、プロ
セッサボード1A,1B中でのデータ読み書きのタイミ
ングと、実際に共有メモリ3にデータが読み書きされる
タイミングは、キャッシュメモリ6A,6Bからのデー
タの追い出しタイミング等によって時間的なずれを生じ
るため、リアルタイムなトレースが困難になる。本発明
は以上の点に着目してなされたもので、上記のようなス
ヌープキャッシュを持つ共有バス型並列処理システムに
おいて、各プロセッサのメモリ領域に対するプログラム
のアクセスを効率的に観察することのできるデバッグ支
援装置を提供することを目的とするものである。 【0006】 【課題を解決するための手段】本発明の第1発明は、複
数のプロセッサが共同して所定のプロセスを実行するた
めに、バスラインを介して共有メモリをアクセスし、前
記各プロセッサがそれぞれ前記共有メモリ上のデータの
一部を転記するキャッシュメモリを有するものにおい
て、プロセスデバックの対象となるプロセッサのキャッ
シュメモリの使用を禁止するキャッシュ制限手段と、前
記バスラインを介して、プロセスデバックのためのトレ
ース情報を、アクセス主体となるプロセッサ名と共に取
り込むトレース情報収集手段とを備えたことを特徴とす
るデバッグ処理装置に関する。 【0007】本発明の第2発明は、複数のプロセッサが
共同して所定のプロセスを実行するために、バスライン
を介して共有メモリをアクセスし、前記各プロセッサが
それぞれ前記共有メモリ上のデータの一部を転記するキ
ャッシュメモリを有するものにおいて、前記共有メモリ
上のトレース領域をセグメント単位で指定するトレース
領域指定手段と、このトレース領域指定手段によりセグ
メント単位で指定されたトレース領域について、プロセ
スデバックの対象となるプロセッサのキャッシュメモリ
の使用を禁止するキャッシュ制限手段と、前記バスライ
ンを介して、プロセスデバックのためのトレース情報
を、アクセス主体となるプロセッサ名と共に取り込むト
レース情報収集手段とを備えたことを特徴とするデバッ
グ処理装置に関する。 【0008】 【作用】この装置は、プロセスデバッグの対象となるプ
ロセッサのキャッシュメモリの使用を、全体にあるいは
一定の範囲で禁止する。これにより、その範囲で、共有
メモリをアクセスするアドレスがバスラインを介してト
レースできる。また、そのアクセス主体となるプロセッ
サ名を同時に取り込む。これにより、プロセスを実行す
るプロセッサの動的な変化もとらえられる。こうして得
たトレース情報は、スヌープキャッシュを持つ共有バス
型並列処理システムのプログラムデバッグを効率化す
る。 【0009】 【実施例】以下本発明を図の実施例を用いて詳細に説明
する。図1は、本発明の装置におけるプロセッサボード
の具体的な実施例を示すブロック図である。図のプロセ
ッサボードは、図2において既に説明した共有バス型並
列処理システムのバスライン2に接続されるもので、各
プロセッサ毎にこの図と同様の構成の回路が設けられて
いるものとする。図において、このプロセッサボードに
は、プロセッサ11の他に、トレースフラグレジスタ1
2、アドレスレジスタ13、データレジスタ14及びキ
ャッシュ制御部15が設けられている。また、このキャ
ッシュ制御部15によって制御される、キャッシュメモ
リ16、ステータスメモリ17及びヒット判定部18が
設けられる。 【0010】また、バスライン2は、共有データ線2
A、共有アドレス線2B、プロセッサアドレス線2C及
び制御データ線2Dから構成される。共有データ線2A
は、共有アドレス線2Bで指定された共有メモリ3上の
所定のアドレスのデータをアクセスするための線であ
る。従って、共有データ線2A及び共有アドレス線2B
は、所定のビット数の信号線から構成される。プロセッ
サアドレス線2Cは、アクセス主体となるプロセッサが
そのアクセス動作と同時に自己のプロセッサアドレスを
送出するための線である。これはバスライン2に接続さ
れたプロセッサボードの数に応じたビット数の信号線に
より構成される。制御データ線2Dは、バスライン2を
使用して各プロセッサが共有メモリ3をアクセスする場
合の制御に使用される。従って、これは、例えば後で説
明するバス要求信号やバス権許可信号、ビジー信号、ト
レース要求信号等を伝送するための信号線から構成され
る。プロセッサボードには上記の回路の他、アドレスレ
ジスタ13と共有アドレス線2Bの間に挿入されたバッ
ファメモリ19と、キャッシュアドレス制御のための共
有アドレスレジスタ20と、データレジスタ14と共有
データ線2Aとの間に挿入されたバッファメモリ21が
設けられている。また、本発明に係るプロセスデバッグ
を実行するために、セグメント無効レジスタ22及び比
較器23が設けられている。 【0011】上記トレースフラグレジスタ12は、トレ
ースを行いたい場合、その内容を“1”に、トレースを
行わない場合、その内容を“0”にするためのレジスタ
から構成される。また、アドレスレジスタ13は、プロ
セッサ11が共有メモリ3等をアクセスする場合に出力
するアドレスを、一時格納するためのレジスタである。
また、データレジスタ14は、プロセッサ11がアクセ
スしたデータを一時格納するためのレジスタである。キ
ャッシュメモリ16は、共有メモリ3中の所定のデータ
を転記し、高速アクセスを実現するためのメモリであ
る。ステータスメモリ17は、キャッシュメモリ16中
の各記憶領域が有効か無効かを識別するためのデータを
格納するメモリである。ヒット判定部18は、プロセッ
サ11がアクセスするアドレスがキャッシュメモリ16
に転記されたデータのアドレスと一致するか否かを判断
するための、いわゆるキャッシュヒットの有無を判定す
るための回路である。キャッシュ制御部15は、キャッ
シュメモリ16、ステータスメモリ17、ヒット判定部
18の動作を制御するための回路である。共有アドレス
レジスタ20には、キャッシュメモリ16をアクセスす
る場合のアドレス信号が格納される。これらのキャッシ
ュ制御機構は、従来のものとかわるところはない。一
方、セグメント無効レジスタ22には、共有メモリ3上
のセグメント単位で指定した所定の範囲のトレース領域
を指定するセグメントアドレスがセットされる。 【0012】図3にセグメントアドレス説明のためのア
ドレス信号構成説明図を示す。図3のように、各プロセ
ッサの出力するアドレスは、上位側から下位側に向かっ
て、セグメントアドレス25、ブロックアドレス26及
びブロック内アドレス27により構成される。キャッシ
ュメモリ16には、ブロック単位でデータの転送が行わ
れる。ここで、トレースに当たっては、プロセスデバッ
グの対象となるプロセッサが使用する共有メモリ3上の
領域を予め認識しておく。そして、その範囲を含む十分
広い範囲をトレース領域に指定する。これをセグメント
アドレスを用いてセグメント無効レジスタ22に格納す
る。比較器23は、セグメント無効レジスタ22の出力
とプロセッサ11の出力するアクセスアドレスとを比較
し、その結果をキャッシュ制御部15に向け出力する回
路である。即ち、キャッシュ制御部15は、トレースフ
ラグレジスタ12がトレース中であることを示し、か
つ、比較器23の出力がトレース領域であることを示し
ていれば、キャッシュメモリ16の使用を停止する。従
って、プロセッサ11がアクセスしようとするアドレス
を直接共有アドレス線2Bに出力させ、共有データ線2
Aから該当するデータを取り込むように制御する。な
お、この場合にキャッシュ制御部15は、プロセッサア
ドレス線2Cに対し、このプロセッサ11のプロセッサ
アドレスを出力する。また、制御データ線2Dに対し、
トレース要求を出力する。バスライン2には、このよう
なトレース情報を受け入れるトレース情報収集手段40
が接続されている。なお、本発明において、上記セグメ
ント無効レジスタ22をトレース領域指定手段と呼び比
較器23をキャッシュ制御手段と呼んでいる。 【0013】図4に上記バスライン2に接続されたバス
制御部の具体的なブロック図を示す。図のバス制御部
は、バッファRを介して制御データ線2D、プロセッサ
アドレス線2C、共有アドレス線2B及び共有データ線
2Aに接続されている。また、このバス制御部とサービ
スプロセッサ30とは、データレジスタ31、アドレス
レジスタ32、プロセッサアドレスレジスタ33及び制
御データレジスタ34を介して接続されている。さらに
本発明のバス制御部には、トレースメモリ35、アドレ
スカウンタ36及びトレースアドレスレジスタ37から
成るトレース情報収集手段が設けられている。 【0014】トレースメモリ35は、共有アドレス線2
B及びプロセッサアドレス線2Cに接続され、トレース
対象となるプロセッサ名及びアクセスアドレスを取り込
むスタック式のメモリから構成される。アドレスカウン
タ36は、トレースメモリ35がプロセッサ名及びアク
セスアドレスを取り込む度に、“1”ずつインクリメン
トするよう動作し、トレースメモリ35から格納された
データが読み出される場合には、“1”ずつデクリメン
トする動作を行うカウンタである。サービスプロセッサ
30は、このトレースメモリ35から共有アドレス線2
B及びプロセッサアドレス線2Cを介して、先に格納さ
れたトレース情報を読み出す。トレースアドレスレジス
タ37はその際のバッファに使用される。 【0015】図5に本発明の装置によるトレース動作タ
イムチャートを示す。このタイムチャートを用いて本発
明の装置の具体的な動作を説明する。まず、予めサービ
スプロセッサ30が図1に示すバスライン2を介して、
プロセスデバッグの対象となるプロセッサのセグメント
無効レジスタ22に対し、トレース領域指定のためのセ
グメントアドレスを格納する。また、トレース開始に当
たっては、所定のタイミングでトレースフラグレジスタ
12の内容を“1”にするようプロセッサ11に要求す
る。ここで、プロセスデバッグが開始されると、プロセ
ッサ11がトレース領域以外のアドレスをアクセスした
場合、通常通りキャッシュメモリ16が使用され、共有
メモリ3上のデータの高速アクセスが実行される。一
方、トレース領域をアクセスした場合、比較器23はセ
グメント無効レジスタ22に格納されたセグメントアド
レスとプロセッサ11がアクセスするセグメントアドレ
スの一致を検出し、キャッシュ制御部15に対しその旨
を通知する。キャッシュ制御部15は、この通知を受
け、かつ、トレースフラグレジスタ12が“1”の場
合、プロセッサ11の出力するバス要求信号をバスライ
ン2の制御データ線2Dに対して出力する。 【0016】図5の時刻t1にこのようなバス要求信号
が有効となる。これに対して、バスライン2に接続され
た図2に示すバス制御部4は、制御データ線2Dを通じ
てバス権許可信号を出力する。即ち、図5(b)に示す
ように時刻t2において、バス権許可信号が有効とな
る。その後、バス使用中を知らせるためのビジー信号
が、図5(c)に示す時刻t3に有効になる。一方、キ
ャッシュ制御部15は、図5(d)に示すようにトレー
ス要求信号を時刻t2に立ち上げて有効にする。この信
号は制御データ線2Dに向けて出力され、時刻t5まで
の間有効となる。ビジー信号は時刻t3から時刻t4の
間有効になっている。従って、この間に図4に示すバス
制御部のトレースメモリ35は、プロセッサアドレス及
びアクセスアドレスの取り込みを実行する。 【0017】このようにしてトレースメモリ35にトレ
ース情報が格納されると、その後先に説明したように、
サービスプロセッサ30がトレースメモリ35中のトレ
ース情報を読み出し、デバッグ処理に使用する。本発明
は以上の実施例に限定されない。上記実施例において
は、トレース領域指定をセグメントアドレスによって行
ったが、トレース領域は必要に応じてブロックアドレス
等を用いてもよい。また、トレース情報の取り込みは、
上記のようなトレースメモリを使用する他、所定のデバ
ッグ用のプロセッサを設け、磁気ディスク装置への転送
等によって必要なデータを取り込むようにしても差し支
えない。また、上記キャッシュメモリの使用禁止はプロ
セッサ単位で全面禁止としてもよいが、各プロセッサご
とに、トレース領域を指定することによって、トレース
を必要とする領域以外については、キャッシュメモリを
使用させ処理を高速に実行することができる。従って、
全体としてデバッグ処理を高速に行うことも可能にな
る。 【0018】 【発明の効果】以上説明した本発明のデバッグ支援装置
は、プロセッサのキャッシュメモリの使用を一定範囲で
禁止し、バスラインを介してアクセスアドレスを取り込
むことにより、トレース範囲においてはキャッシュメモ
リの影響を受けずリアルタイムにトレース情報を得るこ
とができる。また、アクセス主体となるプロセッサ名を
トレース情報中に含めることによって、複数のプロセッ
サが動的にプロセスを実行する場合に、プロセス実行中
のプロセッサを明確に区別し認識することができる。以
上により、スヌープキャッシュを持つ共有バス型並列処
理システムにおけるプログラムの、メモリ領域に対する
アクセスを効率的に観察し、デバッグを能率よく行うこ
とが可能となる。
持つ共有バス型並列処理システムにおけるデバッグ支援
装置に関する。 【0002】 【従来の技術】プロセッサの実行するプロセスをデバッ
グする場合に、プログラムがアクセスするメモリアドレ
スをトレースする機構を持つものがある。これによれ
ば、命令やデータの処理をするためのプログラムの実行
軌跡をトレースすることができる(特開昭62-103779 号
公報)。高度かつ複雑なプロセスを実行するための並列
処理システムでは、ひとつのまとまった所定のプロセス
を複数のプロセッサに分担させて処理する。この場合
に、複数のプロセッサは必要に応じて互いに通信しなが
ら処理を実行する。 【0003】図2にこのような処理を実行する共有バス
型並列処理システムブロック図を示す。図のシステム
は、例えば2台のプロセッサボード1A,1Bが、バス
ライン2を介して共有メモリ3をアクセスする構成とな
っている。このバスライン2のアクセスを制御するため
にバス制御部4が設けられている。また、システム全体
の制御のために、バス制御部4にサービスプロセッサ5
が接続されている。このようなシステムにおいては、プ
ロセッサボード1Aのプロセッサとプロセッサボード1
Bのプロセッサが共有メモリ3を介して通信を行う。ま
た、各プロセッサボード1A,1Bには、キャッシュメ
モリ6A,6Bがそれぞれ設けられており、各プロセッ
サボード1A,1Bにおけるアクセス高速化のために共
有メモリ3上のデータの一部が転記される。このような
システムにおいてもプロセスデバッグのために上記のよ
うなメモリアドレスをトレースする機構が設けられる。 【0004】 【発明が解決しようとする課題】ここで、上記のような
システムにおいて、従来の単一のプロセッサによるプロ
セスのメモリアドレストレースをそのまま実行した場
合、次のような問題が生じる。まず、あるプロセッサが
共有メモリ3に他のプロセッサに送信すべきデータを書
き込む場合、両プロセッサのアクセス競合による誤動作
を避けるため、受信側のプロセッサのアクセスを一時的
に禁止する同期命令が出される。例えば、このような同
期命令を実行する部分にプログラムバグが存在する場
合、受信側のプロセッサは正常に動作している場合にお
いても、共有メモリ3を誤ったタイミングでアクセス
し、プロセスに障害が生じる。従って、このような場
合、トレース結果を詳細に時間をかけて解析し、同期部
分に関するデバッグを行わなければならない。しかしな
がら、この作業は極めて複雑になり、作業効率が悪くな
るという難点がある。また、並列処理システムにおいて
は、プロセス実行時、そのプログラムを実行するプロセ
ッサが動的に決定されるため、デバッグ対象となるプロ
セッサが移り変わる。従って、デバッグが非常に難しく
なるという問題もある。 【0005】また、ハードウエアの初期デバッグ及び故
障診断等においては、キャッシュ間の一貫性が正しく保
たれていなければならないが、これを確保するのが難し
い。即ち、各プロセッサボード1A,1Bごとに、共有
メモリ3上のデータがキャッシュメモリ6A,6Bに転
記されるため、キャッシュメモリ6A,6Bがバッファ
となって、実際のメモリアクセスをプログラムの進行に
合わせて忠実にトレースすることが難しい。即ち、プロ
セッサボード1A,1B中でのデータ読み書きのタイミ
ングと、実際に共有メモリ3にデータが読み書きされる
タイミングは、キャッシュメモリ6A,6Bからのデー
タの追い出しタイミング等によって時間的なずれを生じ
るため、リアルタイムなトレースが困難になる。本発明
は以上の点に着目してなされたもので、上記のようなス
ヌープキャッシュを持つ共有バス型並列処理システムに
おいて、各プロセッサのメモリ領域に対するプログラム
のアクセスを効率的に観察することのできるデバッグ支
援装置を提供することを目的とするものである。 【0006】 【課題を解決するための手段】本発明の第1発明は、複
数のプロセッサが共同して所定のプロセスを実行するた
めに、バスラインを介して共有メモリをアクセスし、前
記各プロセッサがそれぞれ前記共有メモリ上のデータの
一部を転記するキャッシュメモリを有するものにおい
て、プロセスデバックの対象となるプロセッサのキャッ
シュメモリの使用を禁止するキャッシュ制限手段と、前
記バスラインを介して、プロセスデバックのためのトレ
ース情報を、アクセス主体となるプロセッサ名と共に取
り込むトレース情報収集手段とを備えたことを特徴とす
るデバッグ処理装置に関する。 【0007】本発明の第2発明は、複数のプロセッサが
共同して所定のプロセスを実行するために、バスライン
を介して共有メモリをアクセスし、前記各プロセッサが
それぞれ前記共有メモリ上のデータの一部を転記するキ
ャッシュメモリを有するものにおいて、前記共有メモリ
上のトレース領域をセグメント単位で指定するトレース
領域指定手段と、このトレース領域指定手段によりセグ
メント単位で指定されたトレース領域について、プロセ
スデバックの対象となるプロセッサのキャッシュメモリ
の使用を禁止するキャッシュ制限手段と、前記バスライ
ンを介して、プロセスデバックのためのトレース情報
を、アクセス主体となるプロセッサ名と共に取り込むト
レース情報収集手段とを備えたことを特徴とするデバッ
グ処理装置に関する。 【0008】 【作用】この装置は、プロセスデバッグの対象となるプ
ロセッサのキャッシュメモリの使用を、全体にあるいは
一定の範囲で禁止する。これにより、その範囲で、共有
メモリをアクセスするアドレスがバスラインを介してト
レースできる。また、そのアクセス主体となるプロセッ
サ名を同時に取り込む。これにより、プロセスを実行す
るプロセッサの動的な変化もとらえられる。こうして得
たトレース情報は、スヌープキャッシュを持つ共有バス
型並列処理システムのプログラムデバッグを効率化す
る。 【0009】 【実施例】以下本発明を図の実施例を用いて詳細に説明
する。図1は、本発明の装置におけるプロセッサボード
の具体的な実施例を示すブロック図である。図のプロセ
ッサボードは、図2において既に説明した共有バス型並
列処理システムのバスライン2に接続されるもので、各
プロセッサ毎にこの図と同様の構成の回路が設けられて
いるものとする。図において、このプロセッサボードに
は、プロセッサ11の他に、トレースフラグレジスタ1
2、アドレスレジスタ13、データレジスタ14及びキ
ャッシュ制御部15が設けられている。また、このキャ
ッシュ制御部15によって制御される、キャッシュメモ
リ16、ステータスメモリ17及びヒット判定部18が
設けられる。 【0010】また、バスライン2は、共有データ線2
A、共有アドレス線2B、プロセッサアドレス線2C及
び制御データ線2Dから構成される。共有データ線2A
は、共有アドレス線2Bで指定された共有メモリ3上の
所定のアドレスのデータをアクセスするための線であ
る。従って、共有データ線2A及び共有アドレス線2B
は、所定のビット数の信号線から構成される。プロセッ
サアドレス線2Cは、アクセス主体となるプロセッサが
そのアクセス動作と同時に自己のプロセッサアドレスを
送出するための線である。これはバスライン2に接続さ
れたプロセッサボードの数に応じたビット数の信号線に
より構成される。制御データ線2Dは、バスライン2を
使用して各プロセッサが共有メモリ3をアクセスする場
合の制御に使用される。従って、これは、例えば後で説
明するバス要求信号やバス権許可信号、ビジー信号、ト
レース要求信号等を伝送するための信号線から構成され
る。プロセッサボードには上記の回路の他、アドレスレ
ジスタ13と共有アドレス線2Bの間に挿入されたバッ
ファメモリ19と、キャッシュアドレス制御のための共
有アドレスレジスタ20と、データレジスタ14と共有
データ線2Aとの間に挿入されたバッファメモリ21が
設けられている。また、本発明に係るプロセスデバッグ
を実行するために、セグメント無効レジスタ22及び比
較器23が設けられている。 【0011】上記トレースフラグレジスタ12は、トレ
ースを行いたい場合、その内容を“1”に、トレースを
行わない場合、その内容を“0”にするためのレジスタ
から構成される。また、アドレスレジスタ13は、プロ
セッサ11が共有メモリ3等をアクセスする場合に出力
するアドレスを、一時格納するためのレジスタである。
また、データレジスタ14は、プロセッサ11がアクセ
スしたデータを一時格納するためのレジスタである。キ
ャッシュメモリ16は、共有メモリ3中の所定のデータ
を転記し、高速アクセスを実現するためのメモリであ
る。ステータスメモリ17は、キャッシュメモリ16中
の各記憶領域が有効か無効かを識別するためのデータを
格納するメモリである。ヒット判定部18は、プロセッ
サ11がアクセスするアドレスがキャッシュメモリ16
に転記されたデータのアドレスと一致するか否かを判断
するための、いわゆるキャッシュヒットの有無を判定す
るための回路である。キャッシュ制御部15は、キャッ
シュメモリ16、ステータスメモリ17、ヒット判定部
18の動作を制御するための回路である。共有アドレス
レジスタ20には、キャッシュメモリ16をアクセスす
る場合のアドレス信号が格納される。これらのキャッシ
ュ制御機構は、従来のものとかわるところはない。一
方、セグメント無効レジスタ22には、共有メモリ3上
のセグメント単位で指定した所定の範囲のトレース領域
を指定するセグメントアドレスがセットされる。 【0012】図3にセグメントアドレス説明のためのア
ドレス信号構成説明図を示す。図3のように、各プロセ
ッサの出力するアドレスは、上位側から下位側に向かっ
て、セグメントアドレス25、ブロックアドレス26及
びブロック内アドレス27により構成される。キャッシ
ュメモリ16には、ブロック単位でデータの転送が行わ
れる。ここで、トレースに当たっては、プロセスデバッ
グの対象となるプロセッサが使用する共有メモリ3上の
領域を予め認識しておく。そして、その範囲を含む十分
広い範囲をトレース領域に指定する。これをセグメント
アドレスを用いてセグメント無効レジスタ22に格納す
る。比較器23は、セグメント無効レジスタ22の出力
とプロセッサ11の出力するアクセスアドレスとを比較
し、その結果をキャッシュ制御部15に向け出力する回
路である。即ち、キャッシュ制御部15は、トレースフ
ラグレジスタ12がトレース中であることを示し、か
つ、比較器23の出力がトレース領域であることを示し
ていれば、キャッシュメモリ16の使用を停止する。従
って、プロセッサ11がアクセスしようとするアドレス
を直接共有アドレス線2Bに出力させ、共有データ線2
Aから該当するデータを取り込むように制御する。な
お、この場合にキャッシュ制御部15は、プロセッサア
ドレス線2Cに対し、このプロセッサ11のプロセッサ
アドレスを出力する。また、制御データ線2Dに対し、
トレース要求を出力する。バスライン2には、このよう
なトレース情報を受け入れるトレース情報収集手段40
が接続されている。なお、本発明において、上記セグメ
ント無効レジスタ22をトレース領域指定手段と呼び比
較器23をキャッシュ制御手段と呼んでいる。 【0013】図4に上記バスライン2に接続されたバス
制御部の具体的なブロック図を示す。図のバス制御部
は、バッファRを介して制御データ線2D、プロセッサ
アドレス線2C、共有アドレス線2B及び共有データ線
2Aに接続されている。また、このバス制御部とサービ
スプロセッサ30とは、データレジスタ31、アドレス
レジスタ32、プロセッサアドレスレジスタ33及び制
御データレジスタ34を介して接続されている。さらに
本発明のバス制御部には、トレースメモリ35、アドレ
スカウンタ36及びトレースアドレスレジスタ37から
成るトレース情報収集手段が設けられている。 【0014】トレースメモリ35は、共有アドレス線2
B及びプロセッサアドレス線2Cに接続され、トレース
対象となるプロセッサ名及びアクセスアドレスを取り込
むスタック式のメモリから構成される。アドレスカウン
タ36は、トレースメモリ35がプロセッサ名及びアク
セスアドレスを取り込む度に、“1”ずつインクリメン
トするよう動作し、トレースメモリ35から格納された
データが読み出される場合には、“1”ずつデクリメン
トする動作を行うカウンタである。サービスプロセッサ
30は、このトレースメモリ35から共有アドレス線2
B及びプロセッサアドレス線2Cを介して、先に格納さ
れたトレース情報を読み出す。トレースアドレスレジス
タ37はその際のバッファに使用される。 【0015】図5に本発明の装置によるトレース動作タ
イムチャートを示す。このタイムチャートを用いて本発
明の装置の具体的な動作を説明する。まず、予めサービ
スプロセッサ30が図1に示すバスライン2を介して、
プロセスデバッグの対象となるプロセッサのセグメント
無効レジスタ22に対し、トレース領域指定のためのセ
グメントアドレスを格納する。また、トレース開始に当
たっては、所定のタイミングでトレースフラグレジスタ
12の内容を“1”にするようプロセッサ11に要求す
る。ここで、プロセスデバッグが開始されると、プロセ
ッサ11がトレース領域以外のアドレスをアクセスした
場合、通常通りキャッシュメモリ16が使用され、共有
メモリ3上のデータの高速アクセスが実行される。一
方、トレース領域をアクセスした場合、比較器23はセ
グメント無効レジスタ22に格納されたセグメントアド
レスとプロセッサ11がアクセスするセグメントアドレ
スの一致を検出し、キャッシュ制御部15に対しその旨
を通知する。キャッシュ制御部15は、この通知を受
け、かつ、トレースフラグレジスタ12が“1”の場
合、プロセッサ11の出力するバス要求信号をバスライ
ン2の制御データ線2Dに対して出力する。 【0016】図5の時刻t1にこのようなバス要求信号
が有効となる。これに対して、バスライン2に接続され
た図2に示すバス制御部4は、制御データ線2Dを通じ
てバス権許可信号を出力する。即ち、図5(b)に示す
ように時刻t2において、バス権許可信号が有効とな
る。その後、バス使用中を知らせるためのビジー信号
が、図5(c)に示す時刻t3に有効になる。一方、キ
ャッシュ制御部15は、図5(d)に示すようにトレー
ス要求信号を時刻t2に立ち上げて有効にする。この信
号は制御データ線2Dに向けて出力され、時刻t5まで
の間有効となる。ビジー信号は時刻t3から時刻t4の
間有効になっている。従って、この間に図4に示すバス
制御部のトレースメモリ35は、プロセッサアドレス及
びアクセスアドレスの取り込みを実行する。 【0017】このようにしてトレースメモリ35にトレ
ース情報が格納されると、その後先に説明したように、
サービスプロセッサ30がトレースメモリ35中のトレ
ース情報を読み出し、デバッグ処理に使用する。本発明
は以上の実施例に限定されない。上記実施例において
は、トレース領域指定をセグメントアドレスによって行
ったが、トレース領域は必要に応じてブロックアドレス
等を用いてもよい。また、トレース情報の取り込みは、
上記のようなトレースメモリを使用する他、所定のデバ
ッグ用のプロセッサを設け、磁気ディスク装置への転送
等によって必要なデータを取り込むようにしても差し支
えない。また、上記キャッシュメモリの使用禁止はプロ
セッサ単位で全面禁止としてもよいが、各プロセッサご
とに、トレース領域を指定することによって、トレース
を必要とする領域以外については、キャッシュメモリを
使用させ処理を高速に実行することができる。従って、
全体としてデバッグ処理を高速に行うことも可能にな
る。 【0018】 【発明の効果】以上説明した本発明のデバッグ支援装置
は、プロセッサのキャッシュメモリの使用を一定範囲で
禁止し、バスラインを介してアクセスアドレスを取り込
むことにより、トレース範囲においてはキャッシュメモ
リの影響を受けずリアルタイムにトレース情報を得るこ
とができる。また、アクセス主体となるプロセッサ名を
トレース情報中に含めることによって、複数のプロセッ
サが動的にプロセスを実行する場合に、プロセス実行中
のプロセッサを明確に区別し認識することができる。以
上により、スヌープキャッシュを持つ共有バス型並列処
理システムにおけるプログラムの、メモリ領域に対する
アクセスを効率的に観察し、デバッグを能率よく行うこ
とが可能となる。
【図面の簡単な説明】
【図1】本発明の装置におけるプロセッサボードの具体
的な実施例を示すブロック図である。 【図2】共有バス型並列処理システムのブロック図であ
る。 【図3】アドレス信号構成説明図である。 【図4】本発明の装置におけるバス制御部の具体的なブ
ロック図である。 【図5】本発明の装置によるトレース動作タイムチャー
トである。 【符号の説明】 2 バスライン 3 共有メモリ 11 プロセッサ 22 セグメント無効レジスタ(トレース領域指定手
段) 23 比較器(キャッシュ制限手段) 40 トレース情報収集手段
的な実施例を示すブロック図である。 【図2】共有バス型並列処理システムのブロック図であ
る。 【図3】アドレス信号構成説明図である。 【図4】本発明の装置におけるバス制御部の具体的なブ
ロック図である。 【図5】本発明の装置によるトレース動作タイムチャー
トである。 【符号の説明】 2 バスライン 3 共有メモリ 11 プロセッサ 22 セグメント無効レジスタ(トレース領域指定手
段) 23 比較器(キャッシュ制限手段) 40 トレース情報収集手段
─────────────────────────────────────────────────────
フロントページの続き
(72)発明者 山下 修
東京都港区虎ノ門1丁目7番12号 沖電
気工業株式会 社内
(56)参考文献 特開 平3−137736(JP,A)
特開 平2−82344(JP,A)
Claims (1)
- (57)【特許請求の範囲】 複数のプロセッサが共同して所定のプロセスを実行する
ために、バスラインを介して共有メモリをアクセスし、
前記各プロセッサがそれぞれ前記共有メモリ上のデータ
の一部を転記するキャッシュメモリを有するものにおい
て、 プロセスデバックの対象となるプロセッサのキャッシュ
メモリの使用を禁止するキャッシュ制限手段と、 前記共有メモリ上のセグメント単位のトレース領域を指
定するトレース領域指定手段と、 このトレース領域指定手段によりセグメント単位で指定
されたトレース領域について、プロセスデバックの対象
となるプロセッサのキャッシュメモリの使用を禁止する
キャッシュ制限手段と、 前記バスラインを介して、プロセスデバックのためのト
レース情報を、アクセス主体となるプロセッサ名と共に
取り込むトレース情報収集手段とを備えたことを特徴と
するデバック支援装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3350691A JP2636107B2 (ja) | 1991-12-12 | 1991-12-12 | デバッグ支援装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3350691A JP2636107B2 (ja) | 1991-12-12 | 1991-12-12 | デバッグ支援装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05165675A JPH05165675A (ja) | 1993-07-02 |
JP2636107B2 true JP2636107B2 (ja) | 1997-07-30 |
Family
ID=18412192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3350691A Expired - Lifetime JP2636107B2 (ja) | 1991-12-12 | 1991-12-12 | デバッグ支援装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2636107B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098628B2 (en) | 2012-07-26 | 2015-08-04 | International Business Machines Corporation | Memory system with multiple block write control to control state data |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954826B2 (en) * | 2003-05-21 | 2005-10-11 | Freescale Semiconductor, Inc. | Read access and storage circuitry read allocation applicable to a cache |
JP4189402B2 (ja) | 2005-02-21 | 2008-12-03 | パナソニック株式会社 | キャッシュ回路 |
JP5329983B2 (ja) | 2009-01-08 | 2013-10-30 | 株式会社東芝 | デバッグ支援装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0282344A (ja) * | 1988-09-20 | 1990-03-22 | Fujitsu Ltd | マルチプロセッサシステムにおけるプログラムのデバッギングの方法 |
JPH03137736A (ja) * | 1989-10-24 | 1991-06-12 | Fujitsu Ltd | マイクロプロセッサ動作トレース方式 |
-
1991
- 1991-12-12 JP JP3350691A patent/JP2636107B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098628B2 (en) | 2012-07-26 | 2015-08-04 | International Business Machines Corporation | Memory system with multiple block write control to control state data |
Also Published As
Publication number | Publication date |
---|---|
JPH05165675A (ja) | 1993-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5263142A (en) | Input/output cache with mapped pages allocated for caching direct (virtual) memory access input/output data based on type of I/O devices | |
US5247648A (en) | Maintaining data coherency between a central cache, an I/O cache and a memory | |
KR100496116B1 (ko) | 멀티프로세서 장치 | |
EP0301354A2 (en) | Cache consistency protocol for multiprocessor system | |
JPH0950400A (ja) | マルチプロセッサシステム | |
JP2695017B2 (ja) | データ転送方式 | |
JPH06309230A (ja) | バススヌ−プ方法 | |
JP2636107B2 (ja) | デバッグ支援装置 | |
WO1997004392A1 (en) | Shared cache memory device | |
JP4097883B2 (ja) | データ転送装置および方法 | |
JPH0744459A (ja) | キャッシュ制御方法およびキャッシュ制御装置 | |
CA2036372C (en) | An input/output cache for caching direct (virtual) memory access data | |
JPS6356569B2 (ja) | ||
JP2596637B2 (ja) | キャッシュ制御方式 | |
JP2506975B2 (ja) | 情報処理装置のバッファ無効化処理方式 | |
AU617514B2 (en) | Multiple processor/cache memory system and data transaction control therefor | |
KR950012510B1 (ko) | 다중 프로세서간 시스템 버스 사용 제어 방법 | |
JP3219422B2 (ja) | キャッシュメモリ制御方式 | |
JP2791319B2 (ja) | データ処理装置 | |
JP2507544B2 (ja) | 記憶制御装置 | |
KR0138585B1 (ko) | 분리형 트랜잭션 버스를 이용한 공유 메모리 다중 프로세서 | |
KR100391246B1 (ko) | 다중 프로세서 시스템의 시스템 버스 운용방법 | |
JPH04291642A (ja) | キャッシュ制御方式 | |
JPH057740B2 (ja) | ||
JPH02121053A (ja) | テスト・アンド・セット方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |