JP3147876B2 - マルチプロセッサシステムで用いられるトレース方法及びトレース装置 - Google Patents

マルチプロセッサシステムで用いられるトレース方法及びトレース装置

Info

Publication number
JP3147876B2
JP3147876B2 JP32270298A JP32270298A JP3147876B2 JP 3147876 B2 JP3147876 B2 JP 3147876B2 JP 32270298 A JP32270298 A JP 32270298A JP 32270298 A JP32270298 A JP 32270298A JP 3147876 B2 JP3147876 B2 JP 3147876B2
Authority
JP
Japan
Prior art keywords
trace
bus
multiprocessor system
processor
tracer
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 - Fee Related
Application number
JP32270298A
Other languages
English (en)
Other versions
JP2000148533A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP32270298A priority Critical patent/JP3147876B2/ja
Publication of JP2000148533A publication Critical patent/JP2000148533A/ja
Application granted granted Critical
Publication of JP3147876B2 publication Critical patent/JP3147876B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、マルチプロセッ
サシステムにおいて、データやコマンドを順に監視する
ためのトレース方法及びトレース装置に関する。
【0002】
【従来の技術】従来、この種のトレース装置としては、
特開平6−223046号(以下、第1の公報と略称す
る。)に記載のものが提供されている。この第1の公報
記載のシステムでは、図9に示すように、各プロセッサ
モジュール31,32,33内のプロセッサ15で処理
されてローカルバス20に流れるトレースデータは、各
プロセッサモジュール31,32,33内のトレースイ
ンタフェース19を経てトレース装置3へ転送され、ト
レース装置3ではトレースデータをそのトレースインタ
フェース8、ローカルバスデータ入力部10を経てトレ
ースメモリ4へ転送してトレースメモリ4に記憶され
る。また、トレース制御部5の制御によってトレースタ
イマ6に設定されたタイマ値に基づいて、各プロセッサ
モジュール31,32,33のプロセッサ15で処理さ
れ、バスインタフェース17を介して共通バス1に流れ
るトレースデータは、バッファ回路13,14、共通バ
スデータ入力部9を経て、上記ローカルバス20に流れ
るトレースデータと同時にトレースメモリ4にトレース
されたり、任意に選択した一方のトレースデータがトレ
ースメモリ4にトレースされたりするように構成されて
いる。この構成により、ローカルバス20に流れるトレ
ースデータと共通バス1に流れるトレースデータとを同
時にトレースメモリ4にトレースしたり、任意に選択し
た一方のトレースデータをトレースメモリ4にトレース
したりすることができる。
【0003】また、特開平9−114695号公報(以
下、第2の公報と略称する。)記載のトレース装置も知
られている。このトレース装置では、図10に示すよう
に、通常は、二重チェックを行うために、マスタ/スレ
ーブ制御回路1からトレース書き込み回路8に対してマ
スタを、そしてトレース書き込み回路13に対してスレ
ーブを指示するマスタ/スレーブ信号2が供給されると
共に、トレーサ制御回路4からはトレース書き込み回路
8,13に対して通常の書き込みを指示するモード及び
マイクロプログラムの書き込み制御を指示するトレース
装置制御信号が供給される。したがって、トレース書き
込み回路8,13は、マスタ/スレーブ制御信号2に関
係なく、同一のトレース情報をトレース書き込み回路
8,13を経て各プロセッサ5,10のトレースメモリ
9,14に書き込む。
【0004】デバック時や障害発生時には、マスタ/ス
レーブ制御回路1からトレース書き込み回路8、及びト
レース書き込み回路13へのマスタ/スレーブ信号2
は、二重チェックの場合と同様であるが、トレーサ制御
回路4からトレース書き込み回路8,13に対して分岐
命令のみの書き込み制御を指示するモード及びマイクロ
プログラムの書き込み制御を指示するトレーサ制御信号
4が供給される。したがって、トレース書き込み回路8
は、マスタであることを指示されているから、トレーサ
制御信号4で指示されるモードに無関係に、通常のマイ
クロプログラムで指示されたトレース情報7をトレース
メモリ9に書き込み、トレース書き込み回路13は、ス
レーブを指示されているから、トレーサ制御信号4で指
示される分岐命令のみのトレース情報の書き込みをトレ
ースメモリ14に行う。この構成により、トレースメモ
リ9及びトレースメモリ14に同一のトレース情報をト
レースしたり、トレースメモリ9及びトレースメモリ1
4にトレース情報を異なる態様でトレースしたりするこ
とができる。上述した第1及び第2の公報に開示される
トレース装置は、いずれも、マルチプログラムシステム
でのトレース情報をトレースメモリにトレースすること
はできる。
【0005】
【発明が解決しようとする課題】しかしながら、第1の
公報記載の従来トレース装置にあっては、マルチプロセ
ッサシステムの各プロセッサモジュールとは別個に、ト
レース装置を設けて、初めてそのトレース機能をマルチ
プロセッサシステムの中で構築し得るものであり、ま
た、第2の公報記載のトレース装置にあっては、マルチ
プロセッサシステムの各プロセッサに、トレース機能を
設けなければ、そのトレース機能を構築し得ないもので
ある。したがって、いずれの公報記載のトレース装置に
おいても、マルチプロセッサシステムにトレース装置を
構築するに際して、マルチプロセッサシステムとは別個
にハードウェアを設計して実装しなければならない。
【0006】それ故、その設計、実装に掛かる開発コス
トが嵩むばかりでなく、そのトレース機能をLSI上に
搭載しようとするときゲート量の制約等を受けるため、
トレース装置に必要なメモリ容量やトレースするデータ
の種類等と前記制約等との間で妥協をしなければならな
い、という不具合がある。
【0007】この発明は、上述の事情に鑑みてなされた
もので、マルチプロセッサシステム自体がトレース機能
を持つことのできるマルチプロセッサシステムのトレー
ス方法及びトレース装置を提供することを目的としてい
る。
【0008】
【課題を解決するための手段】上記課題を解決するため
に、請求項1記載の発明は、複数のプロセッサがバスに
接続されるマルチプロセッサシステムのプロセッサが動
作しているときに、バスに流れるデータやコマンドを順
に追うためのトレース方法に係り、前記複数のプロセッ
サのうち、記憶手段を有し、かつ、トレースモードに設
定可能な1つの特定プロセッサをトレースモードに設定
することで、該特定プロセッサ以外のプロセッサの動作
によって前記バスに流れるデータやコマンドを順次前記
特定プロセッサに引き込ませ、引き込んだデータやコマ
ンドを前記特定プロセッサの前記記憶手段に順次記憶さ
せてトレース情報を採取させることを特徴としている。
【0009】また、請求項2記載の発明は、請求項1記
載のマルチプロセッサシステムで用いられるトレース方
法に係り、前記トレースモードの設定を、マルチプロセ
ッサシステムの診断バスを介して行うことを特徴として
いる。
【0010】また、請求項3記載の発明は、請求項1記
載のマルチプロセッサシステムで用いられるトレース方
法に係り、前記トレースモードの設定を、トレースモー
ド専用の信号線を介して行うことを特徴としている。
【0011】また、請求項4記載の発明は、請求項1,
2又は3記載のマルチプロセッサシステムで用いられる
トレース方法に係り、当該プロセッサ内のローカルバス
とマルチプロセッサシステムのグローバルバスとを接続
するバスブリッジのタグ情報記憶手段を、前記特定プロ
セッサに、前記記憶手段として用いさせて、前記トレー
ス情報を採取させることを特徴としている。
【0012】請求項5記載の発明は、複数のプロセッサ
がバスに接続されるマルチプロセッサシステムのプロセ
ッサが動作しているときに、バスに流れるデータやコマ
ンドを順に追うマルチプロセッサシステムで用いられる
トレース装置に係り、前記バスに接続される複数のプロ
セッサのうち、記憶手段を有し、かつ、トレースモード
に設定可能な1つの特定プロセッサと、該1つの特定プ
ロセッサに接続され、前記1つの特定プロセッサをトレ
ースモードに設定するモード設定手段と、前記バスに接
続され、前記1つの特定プロセッサ以外のプロセッサの
動作によって前記バスに流れる前記データやコマンドを
前記1つの特定プロセッサに引き込む引き込み手段と、
該引き込み手段により前記1つの特定プロセッサに引き
込んだ前記データやコマンドを前記特定プロセッサの記
憶手段に順次記憶させる記憶制御手段とを設けたことを
特徴としている。
【0013】また、請求項6記載の発明は、請求項5記
載のマルチプロセッサシステムで用いられるトレース装
置に係り、前記モード設定手段が、マルチプロセッサシ
ステムの診断バスを含んで構成されることを特徴として
いる。
【0014】また、請求項7記載の発明は、請求項5記
載のマルチプロセッサシステムで用いられるトレース装
置に係り、前記モード設定手段が、トレースモード専用
の信号線を含んで構成されることを特徴としている。
【0015】また、請求項8記載の発明は、請求項5,
6又は7記載のマルチプロセッサシステムで用いられる
トレース装置に係り、前記バスが、複数のプロセッサが
接続されるグローバルバスであり、かつ、前記記憶手段
が、前記プロセッサ内のローカルバスと前記グローバル
バスとの間に接続されたバスブリッジのタグ情報記憶手
段としたことを特徴としている。
【0016】
【発明の実施の形態】以下、図面を参照して、この1つ
の発明の実施の形態について説明する。説明は、実施例
を用いて具体的に行う。 ◇第1実施例 図1は、この発明の第1実施例であるトレーサ(トレー
ス装置)を含むマルチプロセッサシステムの電気的構成
を示すブロック図、図2は、同トレーサとして動作する
CPU、及びマルチプロセッサシステムを構成する他の
CPUの電気的構成を示すブロック図、図3は、同トレ
ーサとして動作するCPU内のバスブリッジの電気的構
成のブロック図、また、図4は、同トレーサとして動作
するCPU内のバスブリッジのCTAGインタフェース
の詳細図てある。この例のトレーサは、マルチプロセッ
サを構成する1つのCPUをトレーサとして動作させて
マルチプロセッサのグローバルバス上に流れるトレース
情報を採取する装置に係り、このトレーサは、図1に示
すように、マルチプロセッサを構成する複数のCPU1
0−1乃至10−Nのうちのトレース可能に構成された
CPU10−iであり、このCPU10−iは、後述す
るようにしてトレース機能を遂行し得るように設定され
たときトレーサとしてのみ動作する。
【0017】そのCPU10−iの構成は、図2に示す
ように、複数のプロセッサ(EPU)群105−i乃至
108−iと、ローカルバス110−iと、各プロセッ
サ群105−i乃至108−iとローカルバス110−
iとの間に配置されるストアインキャシュ101−i乃
至104−iと、ローカルバス110−iとグローバル
バス12との間に接続されるバスブリッジ120−iと
から成り、そのバスブリッジ120−iにトレース機能
を遂行するトレース手段が構築されている。ストアイン
キャシュ101−iは、複数のプロセッサ群105−i
によって共有されるシェアドキャッシュであり、ストア
インキャシュ102−iは、複数のプロセッサ群106
−iによって共有されるシェアドキャッシュであり、ス
トアインキャシュ103−iは、複数のプロセッサ群1
07−iによって共有されるシェアドキャッシュであ
り、ストアインキャシュ104−iは、複数のプロセッ
サ群108−iによって共有されるシェアドキャッシュ
である。なお、CPU10−iを除く他のCPUは、図
2に示すように、CPU10−iのバスブリッジ120
−iを除き、CPU10−iと同じ構成である。したが
って、その他のCPUには、参照番号10−j(jは
1,2,…,Nのうちのiを除くいずれか1つを表
す。)を付し、複数のプロセッサ(EPU)群には、1
05−j乃至108−jを付し、ローカルバスには11
0−jを付し、各プロセッサ群105−j乃至108−
jとローカルバス110−jとの間に配置されるストア
インキャシュには101−j乃至104−jを付し、ロ
ーカルバス110−jとグローバルバス12との間に接
続されるバスブリッジには120−jを付して示すこと
により、図2には、CPU10−jを代表させて示して
ある。
【0018】CPU10−iのバスブリッジ120−i
には、当該バスブリッジ120−iが所属するCPU1
0−iがトレーサとして指定されてトレース機能を遂行
する第1の動作モードと、該CPU10−iがバスブリ
ッジとしての通常の動作を遂行する第2の動作モードと
がある。第1の動作モードで動作するバスブリッジ12
0−iは、図3に示すように、グローバルバス12に接
続されるグローバルバスインタフェース121と、グロ
ーバルバスインタフェース121に接続されるトレーサ
回路126と、診断バス22に接続される診断バスイン
タフェース129と、トレーサ回路126及び診断バス
インタフェース129に接続されるCTAGインタフェ
ース128と、CTAGインタフェース128に接続さ
れるCTAGメモリ130とから成る。診断バスインタ
フェース129には、サービスプロセッサ26のコンソ
ールから打ち込まれたトレーサコマンドを診断バス22
を介して受け取ると、そのトレーサコマンドで設定され
て2ビットのトレーサコマンド信号(CMD)と1ビッ
トのモード信号(MODE)を出力する論理回路が設け
られている。この第1の動作状態に置かれたCPU10
−iの他の回路部分は、ハードウエア上では何らかの動
作状態にあるが、ソフトウェア上では他のCPUと切り
放された状態にあるから、ソフトウェアからみた動作は
何もしたない状態にあり、上述のように、CPU10−
iは、トレーサとしてのみ動作する。
【0019】第2の動作モードで動作するバスブリッジ
120−iには、図3中のローカルバスインタフェース
122と、ローカルバッファ(L−BUF)123と、
グローバルバスインタフェース121と、グローバルバ
ッファ(G−BUF)124と、CTAG制御部125
と、CTAGインタフェース128とが設けられてい
る。バスブリッジ120−iにCTAGRAM130が
接続されている。そのCTAGRAM130は、SRA
Mである。このCTAG制御部125は、グローバルバ
スインタフェース121及びローカルバスインタフェー
ス122の出力に接続されると共にCTAGインタフェ
ース128に接続され、グローバルバス12とローカル
バス110の動作を監視することにより、公知のバスコ
ヒーレンシを維持してデータ処理の正常性を保つ制御を
行う。
【0020】そして、図3に示すCTAGインタフェー
ス128は、また、上述したようにトレーサとして指定
されてトレース機能を遂行するトレースモードのインタ
フェースとして動作する第1の場合と、通常の動作をす
る第2の場合とがある。第1の場合におけるCTAGイ
ンタフェース128の構成は、図4に示すように、アド
レスカウンタ151と、診断バスインタフェース129
から出力された“1”のモード信号(MODE)
(“1”はトレース動作を示す高レベルを示す。)に応
答して通常の動作においてCTAG制御部125から出
力されるアドレスに代えてアドレスカウンタ151のカ
ウント値をアドレスとして出力バッファ155を介して
出力するセレクタ152と、診断バスインタフェース1
29から出力された“1”のモード信号に応答して通常
の動作においてCTAG制御部125から出力される書
き込みデータに代えてトレーサ回路126から転送され
る書き込みデータを出力するセレクタ153と、セレク
タ153の出力に接続される入出力バッファ157と、
診断バスインタフェース129から出力される2ビット
のトレーサコマンド信号(CMD)及び“1”のモード
信号に応答して2ビットのトレーサコマンド信号を出力
バッファ156を介してCTAGRAM130へ出力
し、カウントアップ信号をアドレスカウンタ151へ出
力すると共に、トレーサスタートコマンドのとき入力バ
ッファとしての動作を指定する入出力切り替え信号を入
出力バッファ157へ供給し、トレーサリードコマンド
のとき入力バッファとしての動作を指定しない入出力切
り替え信号を入出力バッファ157へ供給するコントロ
ーラ154とから成る。入出力バッファ157の出力
は、CTAG制御部125及び診断バスインタフェース
129に接続されている。
【0021】第2の場合におけるCTAGインタフェー
ス128は、CPUが通常の動作状態に置かれた場合の
バスブリッジ120−iの通常の機能を生じさせるため
のCTAG制御部125とCTAGRAM130との間
のインタフェースを取るように動作する。この場合のC
TAGインタフェース128も、その構成としては、第
1の場合と同様にセレクタ152と、出力バッファ15
5と、セレクタ153と、入出力バッファ157と、コ
ントローラ154と、出力バッファ156とを有する。
その制御形式において次のように第1の場合と相違す
る。セレクタ152は、診断バスインタフェース129
から出力された“0”のモード信号(“0”は、通常の
動作を示す低レベルを表す。)に応答してアドレスカウ
ンタ151から出力されるアドレスの代わりにCTAG
制御部125から出力されるアドレスを出力バッファ1
55を介して出力するように制御され、セレクタ153
は、診断バスインタフェース129から出力された
“0”のモード信号に応答してトレーサ回路126から
転送される書き込みデータに代えてCTAG制御部12
5から出力される書き込みデータを出力するように制御
され、コントローラ154は、診断バスインタフェース
129から出力される2ビットのトレーサコマンド信号
及び“0”のモード信号に応答して2ビットのトレーサ
コマンド信号を出力バッファ156を介してCTAGR
AM130へ出力すると共に、CTAGRAM130へ
の書き込みを指示する書き込みコマンドのとき入出力バ
ッファ157を入力バッファとして動作させる入出力切
り替え信号を入出力バッファ157へ供給し、CTAG
RAM130からの読み出しのとき入出力バッファ15
7を入力バッファとして動作させない入出力切り替え信
号を入出力バッファ157へ供給するように制御され
る。
【0022】なお、この例のトレーサとして動作される
CPU10−iは、モード信号として“0”のモード信
号を供給されてトレース機能を解除されたときは、他の
CPUと同様の通常の動作をする。その意味で、マルチ
プロセッサは、図1に示すように、複数のCPU10−
1乃至10−Nと、主記憶装置(MMU)14と、複数
のCPU10−1乃至10−Nと主記憶装置14とを相
互に接続し得るグローバルバス12と、複数のCPU1
0−1乃至10−N毎に各CPUにそれぞれ接続される
入出力プロセッサ(IOP)18−1乃至18−N(1
8−2乃至18−Nは図示せず)と、入出力プロセッサ
18−1乃至18−Nに接続されるディスク装置20−
1乃至20−N(20−2乃至20−Nは図示せず)
と、複数のCPU10−1乃至10−Nの各々に接続さ
れる診断バス22と、診断バス22に接続される診断プ
ロセッサ(GDP)24と、診断プロセッサ24に接続
されるサービスプロセッサ(SVP)26とから構成さ
れている。
【0023】次に、図1乃至図4を参照して、この例の
動作について説明する。動作開始時、又は動作中のマル
チプロセッサシステムにおいて、そのトレース情報の採
取をしたいとき、サービスプロセッサ26のコンソール
からトレーサコマンドを入力する。トレーサコマンドに
は、3種類のコマンド、すなわち、トレーサスタートコ
マンド、トレーサストップコマンド、及びトレーサリー
ドコマンドである。トレース開始時に、トレーサスター
トコマンドが、サービスプロセッサ26のコンソールか
ら入力される。このトレーサスタートコマンドは、診断
プロセッサ24、診断バス22を経てマルチプロセッサ
システム内の各CPUに入力される。トレース機能を予
め割り当てられているCPU10−i内のバスブリッジ
120−iの診断バスインタフェース129には、トレ
ーサスタートコマンドを受け付けて2ビットのトレーサ
コマンド信号(CMD)及び“1”のモード信号(MO
DE)を出力する論理回路が設けられているから、CP
U10−iは、トレーサスタートコマンドによりトレー
ス指定が為されたCPUとして動作し、そのバスブリッ
ジ120−iの診断バスインタフェース129から2ビ
ットのトレーサスタートコマンド信号と“1”のモード
信号とが出力される。“1”のモード信号は、2ビット
のトレーサスタートコマンド信号の出力よりも、所定の
時間だけ早めに出力される。
【0024】その“1”のモード信号は、セレクタ15
2及びセレクタ153へ供給される。このモード信号を
受けるセレクタ152は、CTAG制御部125から入
力されていたアドレスに代えて、アドレスカウンタ15
1から出力されるアドレスを出力する。そのアドレス
は、出力バッファ155を経てCTAGRAM130へ
供給される。また、モード信号を受けるセレクタ153
は、CTAG制御部125から入力される、又は入力さ
れていた書き込みデータ(ストアインキャッシュ101
乃至104のタグ情報)に代えて、トレーサ回路126
から入力される書き込みデータを出力する。また、診断
バスインタフェース129から出力された2ビットのト
レーサスタートコマンド信号と“1”のモード信号は、
コントローラ154に供給されてコントローラ154か
ら出力バッファ156を介してCTAGRAM130に
当該トレーサスタートコマンド信号を送出する。コント
ローラ154は、またアドレスカウントアップ信号をア
ドレスカウンタ151に供給してそのカウントアップ動
作を生じさせ、また入出力バッファ157を入力バッフ
ァとして動作させる(入出力バッファ157をスルーで
データを通過させる)入出力制御信号を入出力バッファ
157の出力イネーブルへ送出する。
【0025】トレース回路126から出力される書き込
みデータは、この時刻にマルチプロセッサシステムを構
成している他のCPU、すなわち、“トレーサとして指
定されたCPU以外の通常の動作をしている1又は複数
のCPU”によって時系列上で順次に発生され、グロー
バルバス12上に流れる処理データ(トレース情報)で
ある。このグローバルバス12上に流れる処理データに
は、CPU10−j内のバスブリッジ120−jにおい
て遂行されるキャッシュコヒーレンシに係る処理データ
も含まれる。このトレース情報は、トレーサとして動作
しているCPU10−iのバスブリッジ120−i内の
グローバルバスインタフェース121を経てトレーサ回
路126に引き込まれる。そのトレース情報は、バス上
の同期信号、バスを要求したプロセッサ番号、バスを獲
得したプロセッサ番号、コマンドアドレス等を含むが、
これらを一度に取り込む必要はなく、複数のトレースモ
ードを設けてモード毎に取り込む情報の種類を決めても
よい。また、コントローラ154から出力バッファ15
6を経てCTAGRAM130へ書き込みの開始を指示
する2ビットのトレーサスタートコマンド信号が供給さ
れ、該2ビットのトレーサスタートコマンド信号の制御
の下に、入出力バッファ157からCTAGRAM13
0へ時系列上で順次に供給されるトレース情報の各々
は、出力バッファ155から時系列上で順次に出力され
る各アドレスで指定されるCTAGRAM130の記憶
位置に順次に書き込まれる。
【0026】そして、トレース情報の書き込み終了時刻
に、サービスプロセッサ26のコンソールからトレース
ストップコマンドが入力される。このコマンドは、診断
プロセッサ24、診断バス22を経てトレーサとして動
作しているCPU10−iで受け取られる。そのCPU
10−iのバスブリッジ120−i内の診断バスインタ
フェース129から2ビットのトレーサストップコマン
ド信号が出力される。この時刻におけるモード信号は、
“1”の信号でトレーサモードの信号状態にある。2ビ
ットのトレースストップコマンド信号を受けたコントロ
ーラ154は、そのトレースストップコマンド信号を出
力バッファ156を経てCTAGRAM130へ供給し
てトレース情報のCTAGRAM130への書き込みを
停止する。
【0027】この書き込み停止後、サービスプロセッサ
26のコンソールからトレースリードコマンドが入力さ
れる。このコマンドは、診断プロセッサ24、診断バス
22を経てトレーサとして動作しているCPU10−i
で受け取られる。そのCPU10−iのバスブリッジ1
20−i内の診断バスインタフェース129から2ビッ
トのトレーサリードコマンド信号(CMD)が出力され
る。この時刻におけるモード信号は、“1”の信号で、
トレーサモードの信号状態にある。トレースリードコマ
ンド信号を受けるコントローラ154は、アドレスカウ
ンタ151にカウントアップ信号を供給してトレース情
報を読み出すアドレスをアドレスカウンタ151から出
力バッファ155を経てCTAGRAM130へ供給す
る。この読み出しアドレスに応答するCTAGRAM1
30からトレース情報を読み出す。CTAGRAM13
0から読み出されて来たトレース情報は、診断バスイン
タフェース129、診断バス22を経て診断プロセッサ
24で採取されてCPUの動作の検証に供される。
【0028】このように、この例の構成によれば、マル
チプロセッサシステムを構成している1つのCPU内の
バスブリッジの通常の動作を一旦解除すると同時に、そ
のバスブリッジにトレース機能を行なわせるように当該
バスブリッジの構成を再構成するようにしたので、マル
チプロセッサシステムにトレース機能を設けるに当たっ
て、バスブリッジに既設のCTAGRAMをそれ本来の
記憶機能のほか、トレース用メモリとしても活用できる
から、マルチプロセッサシステムに新たにトレース専用
のメモリを装備する必要性がなくなり、マルチプロセッ
サシステムにトレーサを設ける場合のコストを削減する
ことができる。また、LSI内にトレース専用のメモリ
を設けようとする場合に生じてしまう制約、すなわち、
LSIの収容性やコストの制限から限られた容量のメモ
リしかトレース情報の記憶に使用し得なくなるという制
約が、バスブリッジのCTAGRAMのトレース用メモ
リへの共用により、大幅に緩和されるから、トレーサと
しての性能を向上させることがてきる。
【0029】◇第2実施例 図5は、この発明の第2実施例であるトレーサを含むマ
ルチプロセッサシステムの電気的構成を示すブロック
図、図6は、同トレーサとして動作するCPU、及びマ
ルチプロセッサシステムを構成する他のCPUの電気的
構成を示すブロック図、図7は、同トレーサとして動作
するCPU内のバスブリッジの電気的構成のブロック
図、また、図8は、同トレーサとして動作するCPU内
のバスブリッジのCTAGインタフェースの詳細図てあ
る。この実施例の構成が、第1実施例のそれと大きく異
なるところは、診断バス22の代わりに、トレース専用
の信号線22Aを設け、信号線22Aを介してトレース
コマンドをバスブリッジ120−iの診断インタフェー
ス129Aへ転送するようにした点である。すなわち、
サービスプロセッサ26から、診断プロセッサ24、信
号線22Aを介してバスブリッジ120−iの診断イン
タフェース129Aへトレーサコマンドを転送する。信
号線インタフェース129Aは、トレーサコマンドに応
答してそのトレースコマンドの種類に応じた2ビットの
トレースコマンド信号及び“1”又は“0”のモード信
号を出力する。これらトレースコマンド信号及びモード
信号に応じてグローバルバス12上のトレース情報をバ
スブリッジ120−iのCTAGRAM130に記憶さ
せて、バスブリッジ120−iにトレース機能を付与す
るようにした点である。なお、これ以外の点では、この
例の構成は、第1実施例は同一構成であるので、図5乃
至図8においては、図1乃至図4の構成部分と同一の各
部には同一の符号を付してその説明を省略する。
【0030】図5乃至図8を参照して、この例の動作に
ついて説明する。トレース開始時に、トレーススタート
コマンドが、診断プロセッサ24、信号線22Aを経て
マルチプロセッサシステム内のトレース機能が予め割り
当てられているCPU10−iへ転送されてその信号線
インタフェース129Aから2ビットのトレーススター
トコマンド信号及び“1”のモード信号が出力される。
これら両信号に応答したコントローラ154は、2ビッ
トのトレーススタートコマンド信号を出力バッファ15
6を経てCTAGRAM130に供給すると同時に、ア
ドレスカウンタ151からアドレスを出力させてそのア
ドレスを出力バッファ155を経てCTAGRAM13
0へ供給し、かつトレーサ回路126からの書き込みデ
ータ、すなわち、トレース情報を入出力バッファ157
を経てCTAGRAM130へ供給する。これにより、
トレース情報は、アドレスカウンタ151から供給され
て来たアドレスで指定されるCTAGRAM130の記
憶位置に書き込まれる。この書き込みは、グローバルバ
ス12上に流れる処理データ、すなわち、トレース情報
毎に行われる。トレース情報の書き込み終了は、サービ
スプロセッサ26から発生されるトレースストップコマ
ンドによって、第1実施例と同様にして終了される。ま
た、トレース情報のCTAGRAM130からの読み出
しは、サービスプロセッサ26から発生されるトレース
リードコマンドによって、第1実施例と同様にして行わ
れる。
【0031】このように、この例の構成によれば、マル
チプロセッサシステムを構成している1つのCPU内の
バスブリッジの通常の動作の一時的な解除と同時に、そ
のバスブリッジをトレーサに再構築するようにしたの
で、マルチプロセッサシステムにトレース機能を設ける
に当たって、バスブリッジに既設のCTAGRAMをそ
れ本来の記憶機能のほか、トレース用メモリとしても活
用できるから、マルチプロセッサシステムに新たにトレ
ース専用のメモリを装備する必要性はなくなり、マルチ
プロセッサシステムにトレーサを設ける場合のコストを
削減することができる。また、LSI内にトレース専用
のメモリを設けようとする場合に生じてしまう制約、す
なわち、LSIの収容性やコストの制限から限られた容
量のメモリしかトレース情報の記憶に使用し得なくなる
という制約が、バスブリッジのCTAGRAMのトレー
ス用メモリへの共用により、大幅に緩和されるから、ト
レーサとしての性能を向上させることがてきる。
【0032】以上、この発明の実施例を図面を参照して
詳述して来たが、この発明の具体的な構成は、これらの
実施例に限られるものではなく、この発明の要旨を逸脱
しない範囲の設計の変更等があってもこの発明に含まれ
る。例えば、CPUは、バスブリッジを含む構成のもの
であったが、マルチプロセッサシステム内の各CPUが
メモリを含み、そのメモリがCPUの接続されるバスに
インタフェースを介して接続される構成であり、当該メ
モリがトレース以外の目的にも使用されるものであり、
当該CPUがトレーサとしての機能を指定されたとき
に、当該メモリがトレース目的に使用し得るように切り
替えられる構成のマルチプロセッサシステムでもよい。
この場合にも、診断バスを介してトレースコマンドをト
レーサとして機能し得るCPUへ転送するか、又はトレ
ース専用の信号線を介して当該CPUへ転送するように
するかは、また任意である。
【0033】
【発明の効果】以上説明したように、この発明の構成に
よれば、マルチプロセッサシステムを構成している1つ
のプロセッサの通常の動作を一時的に解除すると同時
に、そのプロセッサをトレーサに再構成するようにした
ので、マルチプロセッサシステムにトレース機能を設け
るに当たって、CPUのメモリをトレース用メモリとし
ても活用できるから、マルチプロセッサシステムのCP
Uに新たにトレース専用のメモリを装備する必要性はな
くなり、マルチプロセッサシステムにトレーサを設ける
場合のコストを削減することができる。また、CPUを
搭載するLSI内にトレース専用のメモリを設けようと
する場合には生じてしまう制約、すなわち、LSIの収
容性やコストの制限から限られた容量のメモリしかトレ
ース情報の記憶に使用し得なくなるという制約が、CP
Uに内蔵するメモリのトレース用メモリへの共用によ
り、大幅に緩和されるから、トレーサとしての性能を向
上させることがてきる。
【図面の簡単な説明】
【図1】この発明の第1実施例であるトレーサを含むマ
ルチプロセッサシステムの電気的構成を示すブロック図
である。
【図2】同トレーサとして動作するCPU、及びマルチ
プロセッサシステムを構成する他のCPUの電気的構成
を示すブロック図である。
【図3】同トレーサとして動作するCPU内のバスブリ
ッジの電気的構成のブロック図である。
【図4】同トレーサとして動作するCPU内のバスブリ
ッジのCTAGインタフェースの詳細図てある。
【図5】この発明の第2実施例であるトレーサを含むマ
ルチプロセッサシステムの電気的構成を示すブロック図
である。
【図6】同トレーサとして動作するCPU、及びマルチ
プロセッサシステムを構成する他のCPUの電気的構成
を示すブロック図である。
【図7】同トレーサとして動作するCPU内のバスブリ
ッジの電気的構成のブロック図である。
【図8】同トレーサとして動作するCPU内のバスブリ
ッジのCTAGインタフェースの詳細図てある。
【図9】従来技術を説明するための説明図である。
【図10】別の従来技術を説明するための説明図であ
る。
【符号の説明】
10−i CPU(プロセッサ) 10−j CPU(プロセッサ) 12 グローバルバス(バス) 22 診断バス(モード設定手段の一部) 22A トレーサ専用の信号線(モード設定手段の
一部) 24 診断プロセッサ(モード設定手段の一部) 26 サービスプロセッサ(モード設定手段の一
部) 121 グローバルバスインタフェース(引き込み
手段の一部) 126 トレーサ回路(引き込み手段の一部) 128 CTAGインタフェース(引き込み手段の
残部) 129 診断バスインタフェース(モード設定手段
の残部) 129A 信号線インタフェース(モード設定手段の
残部) 130 CTAGRAM(記憶手段) 151 アドレスカウンタ(記憶制御手段の一部) 152 セレクタ(記憶制御手段の一部) 153 セレクタ(記憶制御手段の一部) 154 コントローラ(記憶制御手段の一部) 155 出力バッファ(記憶制御手段の一部) 156 出力バッファ(記憶制御手段の一部) 157 入出力バッファ(記憶制御手段の残部)
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 11/28 - 11/36 G06F 15/173 G06F 15/177

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサがバスに接続されるマ
    ルチプロセッサシステムのプロセッサが動作していると
    きに、バスに流れるデータやコマンドを順に追うための
    トレース方法であって、 前記複数のプロセッサのうち、記憶手段を有し、トレー
    スモードに設定可能な1つの特定プロセッサをトレース
    モードに設定することで、 該特定プロセッサ以外のプロセッサの動作によって前記
    バスに流れるデータやコマンドを順次前記特定プロセッ
    サに引き込ませ、 引き込んだデータやコマンドを前記特定プロセッサが管
    轄する記憶手段に順次記憶させてトレース情報を採取さ
    せることを特徴とするマルチプロセッサシステムで用い
    られるトレース方法。
  2. 【請求項2】 前記トレースモードの設定を、マルチプ
    ロセッサシステムの診断バスを介して行うことを特徴と
    する請求項1記載のマルチプロセッサシステムで用いら
    れるトレース方法。
  3. 【請求項3】 前記トレースモードの設定を、トレース
    モード専用の信号線を介して行うことを特徴とする請求
    項1記載のマルチプロセッサシステムで用いられるトレ
    ース方法。
  4. 【請求項4】 前記特定プロセッサ内のローカルバスと
    マルチプロセッサシステムのグローバルバスとを接続す
    るバスブリッジのタグ情報記憶手段を、前記特定プロセ
    ッサに、前記記憶手段として用いさせ、前記トレース情
    報を採取させることを特徴とする請求項1、2、又は3
    記載のマルチプロセッサシステムで用いられるトレース
    方法。
  5. 【請求項5】 複数のプロセッサがバスに接続されるマ
    ルチプロセッサシステムのプロセッサが動作していると
    きに、バスに流れるデータやコマンドを順に追うマルチ
    プロセッサシステムで用いられるトレース装置であっ
    て、 前記バスに接続される複数のプロセッサのうち、記憶手
    段を有し、かつ、トレースモードに設定可能な1つの特
    定プロセッサと、 該1つの特定プロセッサに接続され、前記1つの特定プ
    ロセッサをトレースモードに設定するモード設定手段
    と、 前記バスに接続され、前記1つの特定プロセッサ以外の
    プロセッサの動作によって前記バスに流れる前記データ
    やコマンドを前記特定プロセッサに引き込む引き込み手
    段と、 該引き込み手段により前記1つの特定プロセッサに引き
    込んだ前記データやコマンドを前記1つの特定プロセッ
    サの記憶手段に順次記憶させる記憶制御手段とを設けた
    ことを特徴とするマルチプロセッサシステムで用いられ
    るトレース装置。
  6. 【請求項6】 前記モード設定手段は、マルチプロセッ
    サシステムの診断バスを含んで構成されることを特徴と
    する請求項5記載のマルチプロセッサシステムで用いら
    れるトレース装置。
  7. 【請求項7】 前記モード設定手段は、トレースモード
    専用の信号線を含んで構成されることを特徴とする請求
    項5記載のマルチプロセッサシステムで用いられるトレ
    ース装置。
  8. 【請求項8】 前記バスは、複数のプロセッサが接続さ
    れるグローバルバスであり、かつ、 前記記憶手段は、前記1つの特定プロセッサ内のローカ
    ルバスと前記グローバルバスとの間に接続されたバスブ
    リッジのタグ情報記憶手段としたことを特徴とする請求
    項5、6、又は7記載のマルチプロセッサシステムで用
    いられるトレース装置。
JP32270298A 1998-11-12 1998-11-12 マルチプロセッサシステムで用いられるトレース方法及びトレース装置 Expired - Fee Related JP3147876B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP32270298A JP3147876B2 (ja) 1998-11-12 1998-11-12 マルチプロセッサシステムで用いられるトレース方法及びトレース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32270298A JP3147876B2 (ja) 1998-11-12 1998-11-12 マルチプロセッサシステムで用いられるトレース方法及びトレース装置

Publications (2)

Publication Number Publication Date
JP2000148533A JP2000148533A (ja) 2000-05-30
JP3147876B2 true JP3147876B2 (ja) 2001-03-19

Family

ID=18146675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32270298A Expired - Fee Related JP3147876B2 (ja) 1998-11-12 1998-11-12 マルチプロセッサシステムで用いられるトレース方法及びトレース装置

Country Status (1)

Country Link
JP (1) JP3147876B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060110359A (ko) * 2004-02-09 2006-10-24 콘티넨탈 테베스 아게 운트 코. 오하게 자동차내의 임계 안전 컴퓨터 시스템을 위한 통합형시스템용 디바이스 및 방법
EP1999588A1 (en) * 2006-03-09 2008-12-10 ARM Limited An apparatus, method and computer program product for generating trace data
JP5217128B2 (ja) * 2006-08-01 2013-06-19 日本電気株式会社 エミュレーション装置及びエミュレーション方法
JP4768658B2 (ja) * 2007-03-30 2011-09-07 エヌイーシーコンピュータテクノ株式会社 解析情報の採取方法及びトレーサー回路
JP5470177B2 (ja) * 2010-07-06 2014-04-16 株式会社日立製作所 トレースシステム
US8918797B2 (en) * 2011-06-10 2014-12-23 International Business Machines Corporation Processing operator message commands
US10031834B2 (en) 2016-08-31 2018-07-24 Microsoft Technology Licensing, Llc Cache-based tracing for time travel debugging and analysis
US10459824B2 (en) * 2017-09-18 2019-10-29 Microsoft Technology Licensing, Llc Cache-based trace recording using cache coherence protocol data
US11907091B2 (en) 2018-02-16 2024-02-20 Microsoft Technology Licensing, Llc Trace recording by logging influxes to an upper-layer shared cache, plus cache coherence protocol transitions among lower-layer caches

Also Published As

Publication number Publication date
JP2000148533A (ja) 2000-05-30

Similar Documents

Publication Publication Date Title
US4942518A (en) Cache store bypass for computer
US5125081A (en) Inter-configuration changing controller based upon the connection and configuration information among plurality of clusters and the global storage
US4646233A (en) Physical cache unit for computer
US7533213B2 (en) Memory hub and method for memory system performance monitoring
JPH01154241A (ja) 同期二重コンピュータシステム
JP3147876B2 (ja) マルチプロセッサシステムで用いられるトレース方法及びトレース装置
JPH0690682B2 (ja) マルチプロセツサシステムの障害処理方式
US10176131B1 (en) Controlling exclusive access using supplemental transaction identifiers
US20050050522A1 (en) Data processing system
JP3461956B2 (ja) 集積回路制御
JP3052857B2 (ja) クラスタ間共有メモリアクセス方式
US5132973A (en) Testable embedded RAM arrays for bus transaction buffering
CN119719020A (zh) 一种星上实时信息处理系统中fpga加载、刷新及在轨重构方法
US5812559A (en) Controlling method and apparatus for examination of multiport RAM(s)
US5796753A (en) High speed test pattern transfer apparatus for semiconductor test system
US10983932B2 (en) Processor and information processing apparatus
JP3055395B2 (ja) 信号処理装置
JPH03176710A (ja) 情報処理装置の初期化制御方式
JP2876737B2 (ja) プログラム事象記録処理方式
JPH0612338A (ja) 情報処理システム
JPH079636B2 (ja) バス診断装置
JPH0324640A (ja) 情報処理装置のデバッグ方式
JP2002175262A (ja) 階層型バスシステム
JPH0830514A (ja) コントロ−ラシステム
JP3596730B2 (ja) メモリ制御装置およびメモリ制御方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees