[go: up one dir, main page]

JPH04348437A - デバッグ装置 - Google Patents

デバッグ装置

Info

Publication number
JPH04348437A
JPH04348437A JP3001364A JP136491A JPH04348437A JP H04348437 A JPH04348437 A JP H04348437A JP 3001364 A JP3001364 A JP 3001364A JP 136491 A JP136491 A JP 136491A JP H04348437 A JPH04348437 A JP H04348437A
Authority
JP
Japan
Prior art keywords
data
debugger
microprocessors
signal
microprocessor
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
JP3001364A
Other languages
English (en)
Inventor
Yasumitsu Oki
沖 康充
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 JP3001364A priority Critical patent/JPH04348437A/ja
Publication of JPH04348437A publication Critical patent/JPH04348437A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のマイクロプロセ
ッサとこれらマイクロプロセッサに共有なデータの記憶
をするメモリと各マイクロプロセッサ専用のデータの記
憶をする複数の専用メモリとが共通バスで接続される並
列処理コンピュータに対してデバッグ作業を行なうデバ
ッグ装置に関する。
【0002】
【従来の技術】ブレーク要求を受け付ける機能を持った
マイクロプロセッサを4個使用した従来例のデバッグ装
置のブロッグ図を図6に示し、この図6のCPU部15
〜18の具体例を図7に示す。
【0003】図6において、CPU部15〜18は、図
7に示すようにCPU90と、ローカルデバッガ92と
、キャッシュメモリ94とを含んで構成され、これらC
PU部15〜18それぞれに含まれるCPUをCPUa
,CPUb,CPUc,CPUdとする。共有メモリ2
0はCPUa〜CPUdが出力するアドレス、入出力す
るデータ等を保持し、バスアービタ22はCPUa〜C
PUdが出力するバス使用を要求する信号によって、バ
ス使用の調停結果を出力し、転送割込制御器23はCP
U間のデータ転送時に、転送元のCPUからの信号を入
力し、転送先のCPUへ割込用の信号を出力する。
【0004】共有バス24はCPUa〜CPUd、共有
メモリ20に接続され、リクエスト信号31〜34は各
々CPUa〜CPUdの出力であり、バスアービタ22
に共有バス24の使用要求を行ない、アクノレッジ信号
36〜39はバスアービタ22の出力であり、各々CP
Ua〜CPUdへ共有バス24の使用の調停結果を伝え
る。転送リクエスト信号41〜44はCPU間のデータ
転送時に転送先のCPUに割込みの要求をし、転送割込
信号46〜49は転送割込制御器23の出力であり、C
PU間のデータ転送時に転送先のCPUに割込みをかけ
、ローカルバス65〜68はCPU部15〜18(CP
Ua〜CPUd)の入出力であり、共有バス24に接続
されている。
【0005】図7は図6のCPU部15の具体例のブロ
ック図であり、CPU部16〜18もリクエスト信号,
アクノレッジ信号,転送割込リクエスト信号,転送割込
信号,ローカルバスの番号が異なることを除けば同様で
ある。このCPU部は、CPU90と、ローカルデバッ
ガ92と、キャッシュメモリ94とから構成され、ロー
カルデバッガ92はレジスタ73と比較器78とから構
成される。比較器78の出力であるブレーク信号58は
CPU90(ここではCPUa)にブレーク要求を行い
、レジスタ(複数可)73はブレークさせたいアドレス
、データ等の情報を保持している。比較器78はローカ
ルバス65とレジスタ73の出力したレジスタ信号83
とを比較し、比較結果をブレーク信号58として出力す
る。
【0006】CPU90は、マイクロプロセッサとして
ローカルバス65上にアドレスの出力とデータ等の入出
力をし、バスアービタ22にバス使用を要求し、調停結
果を受け入れ、CPU間のデータ転送時に他の3つのC
PUに割込をかけるための転送割込リクエスト信号41
を出力し、他の3つのCPUから転送割込信号46を入
力し、ブレーク要求を受付ける。ローカルデバッガ92
はローカルバス65上のアドレス、データ等を受入れ、
内部のレジスタ73に設定したブレーク条件によってC
PU90にブレーク要求を出力し、キャッシュメモリ9
4はCPU90専用のデータを保持する。
【0007】図8は図7の比較器78の一例の回路図で
ある。この比較器は、レジスタ信号83と、このレジス
タ信号83に対応するローカルバス65とをビットごと
にエクスクルーシブNOR演算をして、その結果をAN
D演算で統合することで実現している。
【0008】図9は図6の転送割込制御器23の一例の
回路図である。転送割込リクエスト信号41〜44は各
々3本づつ計12本あり、図上からCPUaからCPU
b,CPUc,CPUdへの、CPUbからCPUa,
CPUc,CPUdへの、CPUcからCPUa,CP
Ub,CPUdへの、CPUdからCPUa,CPUb
,CPUcへの転送時にそれぞれ用いる信号である。 この転送割込制御器23は、CPUaへの3つの転送割
込リクエスト信号をOR演算してその結果を転送割込信
号46として出力する。同様に、CPUb,CPUc,
CPUdへの3つの転送割込リクエスト信号をOR演算
してその結果をそれぞれ転送割込信号47〜48として
出力している。
【0009】図10は共有メモリ20を介したCPU間
のデータ転送を説明する模式図であり、CPUbからC
PUaへデータ転送を行なう場合の共有メモリ20を介
したCPU間のデータ転送例を示す。
【0010】まず、t1でCPUaとCPUbの同期を
とるために共有メモリ20内にロック領域を設定する。 次に、t2で転送するデータを共有メモリ20内に書き
込む。次に、t3でCPUbからCPUaへの転送割込
リクエスト信号42を出力し、転送割込制御器23を経
て転送割込信号46によってCPUaに割込みをかける
。CPUaに割込みがかかったならば、t4でCPUa
が共有メモリ20内の転送データを読み込む。最後に、
t5でCPUaが共有メモリ20内に設定していたクロ
ック領域を解除する。
【0011】図6,7における動作を説明する。4個の
CPU90各々に接続されているローカルデバッガ92
内のレジスタ73に、あらかじめブレーク条件アドレス
、データ等を保持しておき(ブレーク条件の設定はソフ
トウェアで行なう)、そのレジスタ73が出力するレジ
スタ信号83の内容と、CPU90がキャッシュメモリ
94または共有メモリ20へのアクセス(リード、ライ
ト等)する時用いるアドレス、データ等であるローカル
バス65の内容とを比較して、その比較結果をブレーク
信号58としてCPU90へ出力する。
【0012】4個のローカルデバッガは、独立に各CP
Uのデバッグ作業を行ない、あるローカルデバッガがブ
レーク条件を満たすと、そのローカルデバッガと接続し
ているCPUがプログラムの実行を停止する。
【0013】
【発明が解決しようとする課題】上述した従来のデバッ
グ装置は、各マイクロプロセッサ用のデバッグがそのマ
イクロプロセッサのデバッグ作業しか行わないので、例
えば、あるCPUのレジスタから別のCPUのレジスタ
への転送時にブレークさせようとすると、転送元ではブ
レーク条件が成立しても、転送先ではどのCPUからデ
ータ転送されるかを認識しないので、ブレーク条件が成
立するとは限らない。これを避けるには、ブレーク条件
を転送元と転送先のデバッガに設定するか、あるいは全
てのデバッガに設定すればよいが、それではデバッガ内
のレジスタ資源を無駄に使用することになるという欠点
がある。
【0014】本発明の目的は、このような欠点を除き、
共有なデバッガを用いることによりブレーク条件を複数
のデバッガに設定することなく、レジスタを有効利用で
きるようにしたデバッグ装置を提供することにある。
【0015】
【課題を解決するための手段】本発明の構成は、複数の
マイクロプロセッサとこれらマイクロプロセッサ全てに
対して共有なデータの記憶が可能である第1のメモリと
前記各マイクロプロセッサ専用のデータの記憶が可能で
ある複数の第2のメモリとが共通なバスで接続される並
列処理コンピュータに対しデバッグ作業を行なうデバッ
グ装置において、前記マイクロプロセッサと前記第1の
メモリとのデータ転送時やあるマイクロプロセッサから
別のマイクロプロセッサへのデータの転送時に前記各マ
イクロプロセッサの動作を監視する第1のデバッガと、
前記各マイクロプロセッサとそのマイクロプロセッサに
対応する前記各第2のメモリとのデータ転送時に各マイ
クロプロセッサの動作をそれぞれ監視する複数の第2の
デバッガと、前記第1のデバッガから前記各第2のデバ
ッガへデバッグ作業用のデータを転送する手段とを有す
ることを特徴とする。
【0016】本発明において、第1のデバッガが、マイ
クロプロセッサが出力するアドレス信号、及び入出力す
るデータ信号、その他の入出力する信号によって構成さ
れるデータのパターンと対応する任意のデータのパター
ンを保持するレジスタと、前記各マイクロプロセッサが
持つ固有の識別番号と対応する識別番号を保持するCP
UID回路と、前記レジスタの保持内容と、前記マイク
ロプロセッサが出力するアドレス信号及び入出力するデ
ータ信号、その他の入出力する信号とを比較し、前記C
PUID回路の保持内容とバス使用の調停を行なう回路
が出力する調停結果を表す信号とを比較し、これら比較
結果を統合した比較結果を出力する比較器と、前記各マ
イクロプロセッサ間のデータ転送時に転送先のマイクロ
プロセッサの実行を一時中断させる信号と、前記バス使
用の調停結果を表す信号と、前記比較器の出力信号とを
用いて論理演算を行いその演算結果をブレーク信号とし
て出力する論理回路とからなることができる。
【0017】
【実施例】図1はブレーク要求を受け付ける機能を持っ
たマイクロプロセッサを4個使用した本発明の一実施例
のブロック図である。本実施例は、CPU部11〜14
と、共有メモリ20と、共有デバッガ21と、バスアー
ビタ(バス調停器)22と、転送割込制御器23と、共
有バス24およびローカルバス25とから主に構成され
る。
【0018】図において、CPU部11〜14は、図4
に示すように各々CPU90とローカルデバッガ91と
キャッシュメモリ94とを含んで構成され、これらCP
U部11〜14にそれぞれ含まれるCPUをCPUa,
CPUb,CPUc,CPUdとする。共有デバッガ2
1は内部に予めブレーク条件を設定し、かつそのブレー
ク条件をデバッガバス25に出力し、バスアービタ22
が出力したアクノレッジ信号36〜39と、転送割込制
御器23が出力した転送割込信号46〜49と、共有バ
ス24とを入力し、内部のブレーク条件によってブレー
ク信号51〜54を出力する。
【0019】また、デバッガバス25は共有デバッガ2
1より出力されたブレーク条件をCPU部11〜14内
のローカルデバッガ91へ出力し、ブレーク信号51〜
54はCPU部11〜14内のCPU90をブレークさ
せるために共有デバッガ21が出力し、ローカルバス6
1〜64はCPU部11〜14(CPUa〜CPUd)
の入出力であり、共有バス24に接続されている。なお
、この他の部分は従来例と同等なので説明を省略する。
【0020】図2は図1の共有デバッガ21の具体的の
ブロック図である。この回路は、ブレークさせたいアド
レス、データ等の情報を保持しているM個のレジスタ7
1と、このレジスタ71で設定されたブレーク条件が処
理されるCPUに対応した識別番号を保持しているM個
のCPUID75と、共有バス24とレジスタ信号81
との比較に加えて、アクノレッジ信号36〜39とCP
UID信号85〜89とを比較して比較結果をブレーク
信号55として出力する比較器76と、論理回路部とか
ら構成される。レジスタ信号81はレジスタ71の保持
内容であり、比較器71やデバッガバス25の入力とな
り、CPUID信号85〜89はCPUID75の保持
内容であり、比較器71やデバッガバス25の入力とな
る。
【0021】図3は比較器71の一例の回路図である。 この比較器71はレジスタ信号81と、このレジスタ信
号81に対応する共有バス24とをビットごとにエクス
クルージブNOR演算をし、また、アクノレッジ信号3
6〜39とCPUID信号85〜89とをそれぞれエク
スクルーシブNOR演算をして、それらの結果をAND
演算で統合し、ブレーク信号55として出力している。
【0022】図4は図1CPU部11の具体例のブロッ
ク図であるが、CPU部12〜14もリクエスト信号,
アクノレッジ信号,転送割込リクエスト信号,転送割込
信号,ブレーク信号,ローカルバスの番号が異なること
を除けば同様である。このCPU部11は、CPU90
と、ローカルデバガ91と、キャッシュメモリ94とか
ら構成され、ローカルデバッガ91はレジスタ72と比
較器77とから構成されている。ローカルデバッガ91
の出力であるブレーク信号56は、CPU90(ここで
はCPUa)にブレーク要求を行なう。このブレーク信
号56と入力ブレーク信号51とのOR演算した結果が
CPU90へのブレーク信号57となる。
【0023】レジスタ72はデバッガバス25からの入
力であり、ブレークさせたいアドレス、データ等の情報
を保持し、比較器77はローカルバス61とレジスタ7
2が出力したレジスタ信号82を比較し、その比較結果
をブレーク信号56として出力する。このローカルデバ
ッガ91はローカルバス61上のアドレス、データ等を
受け入れ、内部のレジスタ72に設定したブレーク条件
によってCPU90にブレーク要求を出力する。
【0024】以下、本実施例の動作を説明する。プログ
ラム実行の前に、共有デバッガ21内のレジスタ71に
ブレーク条件アドレス、データ等を設定する。この設定
が行われると、そのアドレスが処理されるCPUに対応
する識別番号がCPUID75に保持される。例えば、
CPUaで処理する場合は、「1000」と保持される
。このCPUID75への設定はソフトウェア、例えば
OS(オペレーティング・システム)が管理する。
【0025】次に、レジスタ71の内容を、CPUID
75の識別番号に対応したCPUのデバッグ作業を行な
うローカルデバッガ91内のレジスタ72へ、デバッガ
バス25を介して出力される。この時CPUID75の
内容もデバッガバス25に出力され、4個のうちどのロ
ーカルデバッガに出力するかを管理する。例えば、CP
UID75が「1000」の場合は、CPU部11、つ
まりCPUaのデバッグ作業を行なうローカルデバッガ
91のみにレジスタ71の内容が出力される。この作業
を、設定したブレーク条件の回数だけ繰り返す。
【0026】プログラム実行時において、4個のローカ
ルデバッガ91は、主に各々のキャッシュメモリ94へ
のアクセス時のデバッグ作業を行なう。各々のローカル
デバッガ91内のレジスタ72には、上記の操作によっ
て、そのローカルデバッガ91に対応するCPU90が
処理するアドレスのブレーク条件が保持されている。従
って、ローカルデバッガ91は、キャッシュメモリ94
へのアクセス時にブレーク条件を満たすと、CPU90
をブレークさせ、プログラムの実行を停止させる。この
場合、4個のローカルデバッガ91はこの場合、独立し
て動作している。
【0027】共有デバッガ21は、主に共有メモリ20
へのアクセス時と、CPUから他のCPUへのデータ転
送時のデバッグ作業を行なう。共有メモリ20へのアク
セス時は、そのアクセスしているCPU、つまり共有バ
ス24を使用しているCPUは、バスアービタ22の出
力するアクノレッジ信号36〜39によって認識可能で
ある。よって、共有バス24とレジスタ71、アクノレ
ッジ信号36〜39とCPUID75とをそれぞれ比較
し、その比較結果を統合したブレーク信号55を、再び
アクノレッジ信号36〜39とそれぞれAND演算した
結果をブレーク信号51〜54として各CPUへ出力す
ることにより、共有メモリ20にアクセスしたCPUの
みをブレークする。
【0028】CPUから他のCPUへの転送時は、アク
ノレッジ信号36〜39が転送元のCPUを表し、転送
割込信号46〜49が転送先のCPUを表しているので
、それぞれOR演算し、さらにそれぞれブレーク信号5
5とAND演算した結果をブレーク信号51〜54とし
て各CPUへ出力することにより、転送元と転送先のC
PUをブレークする。
【0029】図5はマイクロプロセッサを4個使用した
本発明の第2の実施例の共有デバッガの一例のブロック
図に示す。
【0030】本実施例は、転送割込信号46〜49の全
てをOR演算し、その結果とアクノレッジ信号36〜3
9それぞれをOR演算し、その結果をブレーク信号55
とそれぞれAND演算した結果をブレーク信号51〜5
4として各CPUへ出力している。この場合、転送時に
は、転送元と転送先だけでなく全てのCPUをブレーク
する点が、第1の実施例と相違している。
【0031】
【発明の効果】以上説明したように本発明は、N個のマ
イクロプロセッサそれぞれを管理するN個のローカルな
デバッガに加えて、N個のマイクロプロセッサ全てを管
理する共有なデバッガを用いることにより、特にCPU
から別のCPUへのデータ転送時に、マイクロプロセッ
サ間の同期を考慮したデバッグ作業が可能であり、また
、ブレーク条件を複数のデバッガに設定する必要がなく
、デバッガ内のレジスタを有効に利用できるという効果
がある。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図、
【図2】図1
の共有デバッガ21の一例のブロック図、
【図3】図2
の比較器76の一例の回路図、
【図4】図1のCPU部
の具体例のブロック図、
【図5】図1の共有デバッガの
第2の実施例のブロック図、
【図6】従来例のデバッグ装置のブロック図、
【図7】
図6のCPU部の具体例を示したブロック図、
【図8】
図7のローカルデバッガ内の比較器78の回路図
【図9】図6aの転送割込制御器23の一例の回路図、
【図10】共有メモリ20を介したCPU間のデータ転
送を説明する模式的ブロック図、
【符号の説明】
11〜18    CPU部 20    共有メモリ 21    共有デバッガ 22    バスアービタ 23    転送割込制御器 24    共有バス 25    デバッガバス 31〜34    リクエスト信号 36〜39    アクノレッジ信号 41〜44    転送リクエスト信号46〜49  
  転送割込信号 51〜58    ブレーク信号 61〜68    ローカルバス 71〜73    レジスタ 75    CPUID 76〜78    比較器 81〜83    レジスタ信号 85〜89    CPUID信号 90    CPU 91,92    ローカルデバッガ 94    キャッシュメモリ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】  複数のマイクロプロセッサとこれらマ
    イクロプロセッサ全てに対して共有なデータの記憶が可
    能である第1のメモリと前記各マイクロプロセッサ専用
    のデータの記憶が可能である複数の第2のメモリとが共
    通なバスで接続される並列処理コンピュータに対しデバ
    ッグ作業を行なうデバッグ装置において、前記マイクロ
    プロセッサと前記第1のメモリとのデータ転送時やある
    マイクロプロセッサから別のマイクロプロセッサへのデ
    ータの転送時に前記各マイクロプロセッサの動作を監視
    する第1のデバッガと、前記各マイクロプロセッサとそ
    のマイクロプロセッサに対応する前記各第2のメモリと
    のデータ転送時に各マイクロプロセッサの動作をそれぞ
    れ監視する複数の第2のデバッガと、前記第1のデバッ
    ガから前記各第2のデバッガへデバッグ作業用のデータ
    を転送する手段とを有することを特徴とするデバッグ装
    置。
  2. 【請求項2】  第1のデバッガが、マイクロプロセッ
    サが出力するアドレス信号、及び入出力するデータ信号
    、その他の入出力する信号によって構成されるデータの
    パターンと対応する任意のデータのパターンを保持する
    レジスタと、前記各マイクロプロセッサが持つ固有の識
    別番号と対応する識別番号を保持するCPUID回路と
    、前記レジスタの保持内容と、前記マイクロプロセッサ
    が出力するアドレス信号及び入出力するデータ信号、そ
    の他の入出力する信号とを比較し、前記CPUID回路
    の保持内容とバス使用の調停を行なう回路が出力する調
    停結果を表す信号とを比較し、これら比較結果を統合し
    た比較結果を出力する比較器と、前記各マイクロプロセ
    ッサ間のデータ転送時に転送先のマイクロプロセッサの
    実行を一時中断させる信号と、前記バス使用の調停結果
    を表す信号と、前記比較器の出力信号とを用いて論理演
    算を行いその演算結果をブレーク信号として出力する論
    理回路とからなる請求項1記載のデバッグ装置。
JP3001364A 1991-01-10 1991-01-10 デバッグ装置 Pending JPH04348437A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3001364A JPH04348437A (ja) 1991-01-10 1991-01-10 デバッグ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3001364A JPH04348437A (ja) 1991-01-10 1991-01-10 デバッグ装置

Publications (1)

Publication Number Publication Date
JPH04348437A true JPH04348437A (ja) 1992-12-03

Family

ID=11499447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3001364A Pending JPH04348437A (ja) 1991-01-10 1991-01-10 デバッグ装置

Country Status (1)

Country Link
JP (1) JPH04348437A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289126A (ja) * 1997-04-15 1998-10-27 Fujitsu Ltd マイクロコントローラ及び中継器
JP2011180840A (ja) * 2010-03-01 2011-09-15 Toshiba Corp プロセッサ、マルチプロセッサシステム、及びメモリアクセス不正検出方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289126A (ja) * 1997-04-15 1998-10-27 Fujitsu Ltd マイクロコントローラ及び中継器
JP2011180840A (ja) * 2010-03-01 2011-09-15 Toshiba Corp プロセッサ、マルチプロセッサシステム、及びメモリアクセス不正検出方法

Similar Documents

Publication Publication Date Title
US5640508A (en) Fault detecting apparatus for a microprocessor system
KR940001878B1 (ko) 멀티 프로세서시스템 및 인터럽션 제어장치
KR0160193B1 (ko) 직접메모리접근 제어장치
US9690719B2 (en) Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof
KR20040023692A (ko) 다수의 스레드의 동시 실행을 지원하는 컴퓨터시스템에서의 인터럽트 처리 메커니즘
US5291605A (en) Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode
JPH0430053B2 (ja)
WO2000043894A2 (en) Method and apparatus for communicating between multiple functional units in a computer environment
EP0431326A2 (en) Inter-processor interrupts in an n-element multi-processor
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JPH056223B2 (ja)
JP2581323B2 (ja) 参照ビット,変更ビットの更新方法
JP3814521B2 (ja) データ処理方法および装置
JPH04348437A (ja) デバッグ装置
JP2797760B2 (ja) 並列処理コンピュータシステム
US5247685A (en) Interrupt handling in an asymmetric multiprocessor computer system
US7765383B2 (en) Data processing unit and data processing apparatus using data processing unit
Maekawa et al. Experimental polyprocessor system (EPOS)—Architecture
JPH03656B2 (ja)
JP5431823B2 (ja) 半導体装置
JPH02281341A (ja) デバッグ時のライトデータ確認方法
JP2825589B2 (ja) バス制御方式
JPH01316851A (ja) チャネル制御方式
JPS62219058A (ja) 共有メモリの排他制御方式
JPH05508496A (ja) 命令をロードおよびフラグする方法および装置