JPH04348437A - Debugging device - Google Patents

Debugging device

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
Japanese (ja)
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/en
Publication of JPH04348437A publication Critical patent/JPH04348437A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To use effectively a register contained in a debugger by performing a debugging job in consideration of the synchronization between the microprocessors when the data are transferred between the CPUs and also omitting the need to set the break conditions to plural debuggers. CONSTITUTION:A debugging job is applied to a parallel processing computer where the processors 11-14, a 1st memory 20 which stores the data shared to all processors, and a 2nd memory are connected to each other via a common bus. A shared debugger 21 monitors the operation of each microprocessor when the data are transferred to the memory 20 or to another microprocessor. Meanwhile each 2nd local debugger monitors the operation of each microprocessor when the data are transferred to the microprocessors and the 2nd memories corresponding to these microprocessors. Then the date on the debugging jobs are transferred to a local debugger from the debugger 21.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、複数のマイクロプロセ
ッサとこれらマイクロプロセッサに共有なデータの記憶
をするメモリと各マイクロプロセッサ専用のデータの記
憶をする複数の専用メモリとが共通バスで接続される並
列処理コンピュータに対してデバッグ作業を行なうデバ
ッグ装置に関する。
[Industrial Application Field] The present invention provides a system in which a plurality of microprocessors, a memory for storing data shared by these microprocessors, and a plurality of dedicated memories for storing data exclusive to each microprocessor are connected by a common bus. The present invention relates to a debugging device that performs debugging work on a parallel processing computer.

【0002】0002

【従来の技術】ブレーク要求を受け付ける機能を持った
マイクロプロセッサを4個使用した従来例のデバッグ装
置のブロッグ図を図6に示し、この図6のCPU部15
〜18の具体例を図7に示す。
2. Description of the Related Art FIG. 6 is a block diagram of a conventional debugging device using four microprocessors each having a function of accepting break requests.
-18 specific examples are shown in FIG.

【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へ割込用の信号を出力する。
In FIG. 6, the CPU units 15 to 18 include a CPU 90, a local debugger 92, and a cache memory 94, as shown in FIG.
The CPUs included in each of the PU units 15 to 18 are referred to as CPUa.
, CPUb, CPUc, and CPUd. shared memory 2
0 holds the addresses output by CPUa to CPUd, data input/output, etc., and the bus arbiter 22 holds the addresses output by CPUa to CPUd.
The transfer interrupt controller 23 outputs the arbitration result for bus use according to the signal output by PUd requesting bus use, and the transfer interrupt controller 23
When transferring data between U, a signal from the transfer source CPU is input, and an interrupt signal is output to the transfer destination 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に接続
されている。
The shared bus 24 is connected to the CPUs CPUa to CPUd and the shared memory 20, and the request signals 31 to 34 are the outputs of the CPUs CPUa to CPUd, respectively, and are connected to the bus arbiter 22.
A request to use the shared bus 24 is made to the CP.Acknowledge signals 36 to 39 are outputs of the bus arbiter 22, and each
The arbitration result of the use of the shared bus 24 is transmitted to Ua to CPUd. Transfer request signals 41 to 44 request an interrupt to the transfer destination CPU during data transfer between CPUs, and transfer interrupt signals 46 to 49 are outputs of the transfer interrupt controller 23,
When transferring data between PUs, an interrupt is sent to the transfer destination CPU, and local buses 65 to 68 are connected to CPU units 15 to 18 (CPU
It is the input/output of Ua to CPUd) and is connected to the shared bus 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として出力す
る。
FIG. 7 is a block diagram of a specific example of the CPU section 15 in FIG. 6, and the CPU sections 16 to 18 also receive request signals,
They are the same except that the acknowledge signal, transfer interrupt request signal, transfer interrupt signal, and local bus number are different. This CPU section is composed of a CPU 90, a local debugger 92, and a cache memory 94, and the local debugger 92 is composed of a register 73 and a comparator 78. The break signal 58, which is the output of the comparator 78, issues a break request to the CPU 90 (in this case, CPUa), and the register(s) 73 holds information such as addresses and data to be broken. The comparator 78 receives the local bus 65 and the register signal 83 output from the register 73.
The comparison result is output as a break signal 58.

【0006】CPU90は、マイクロプロセッサとして
ローカルバス65上にアドレスの出力とデータ等の入出
力をし、バスアービタ22にバス使用を要求し、調停結
果を受け入れ、CPU間のデータ転送時に他の3つのC
PUに割込をかけるための転送割込リクエスト信号41
を出力し、他の3つのCPUから転送割込信号46を入
力し、ブレーク要求を受付ける。ローカルデバッガ92
はローカルバス65上のアドレス、データ等を受入れ、
内部のレジスタ73に設定したブレーク条件によってC
PU90にブレーク要求を出力し、キャッシュメモリ9
4はCPU90専用のデータを保持する。
The CPU 90, as a microprocessor, outputs addresses and inputs/outputs data etc. on the local bus 65, requests the bus arbiter 22 to use the bus, accepts arbitration results, and uses the other three when transferring data between CPUs. C
Transfer interrupt request signal 41 for interrupting the PU
It outputs a transfer interrupt signal 46 from the other three CPUs, and accepts a break request. local debugger 92
accepts addresses, data, etc. on the local bus 65,
C by the break condition set in the internal register 73.
Outputs a break request to the PU 90 and stores it in the cache memory 9.
4 holds data exclusive to the CPU 90.

【0007】図8は図7の比較器78の一例の回路図で
ある。この比較器は、レジスタ信号83と、このレジス
タ信号83に対応するローカルバス65とをビットごと
にエクスクルーシブNOR演算をして、その結果をAN
D演算で統合することで実現している。
FIG. 8 is a circuit diagram of an example of comparator 78 of FIG. This comparator performs an exclusive NOR operation on each bit of the register signal 83 and the local bus 65 corresponding to this register signal 83, and applies the result to the AN
This is achieved by integrating using D operations.

【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として
出力している。
FIG. 9 is a circuit diagram of an example of the transfer interrupt controller 23 of FIG. 6. There are 12 transfer interrupt request signals 41 to 44, three each, from CPUa to CPU
b, CPUc, CPUd, from CPUb to CPUa,
CPUc to CPUa, CP to CPUc, CPUd
Ub, CPUd, from CPUd to CPUa, CPUb
, CPUc, respectively. The transfer interrupt controller 23 performs an OR operation on three transfer interrupt request signals to the CPU a and outputs the result as a transfer interrupt signal 46. Similarly, CPUb, CPUc,
The three transfer interrupt request signals to CPUd are ORed and the results are output as transfer interrupt signals 47 to 48, respectively.

【0009】図10は共有メモリ20を介したCPU間
のデータ転送を説明する模式図であり、CPUbからC
PUaへデータ転送を行なう場合の共有メモリ20を介
したCPU間のデータ転送例を示す。
FIG. 10 is a schematic diagram illustrating data transfer between CPUs via the shared memory 20.
An example of data transfer between CPUs via the shared memory 20 when data is transferred to PUa is shown.

【0010】まず、t1でCPUaとCPUbの同期を
とるために共有メモリ20内にロック領域を設定する。 次に、t2で転送するデータを共有メモリ20内に書き
込む。次に、t3でCPUbからCPUaへの転送割込
リクエスト信号42を出力し、転送割込制御器23を経
て転送割込信号46によってCPUaに割込みをかける
。CPUaに割込みがかかったならば、t4でCPUa
が共有メモリ20内の転送データを読み込む。最後に、
t5でCPUaが共有メモリ20内に設定していたクロ
ック領域を解除する。
First, at t1, a lock area is set in the shared memory 20 in order to synchronize CPUa and CPUb. Next, the data to be transferred is written into the shared memory 20 at t2. Next, at t3, the CPUb outputs a transfer interrupt request signal 42 to the CPUa, and the transfer interrupt signal 46 passes through the transfer interrupt controller 23 to interrupt the CPUa. If an interrupt is applied to CPUa, CPUa
reads the transfer data in the shared memory 20. lastly,
At t5, the CPUa releases the clock region set in the shared memory 20.

【0011】図6,7における動作を説明する。4個の
CPU90各々に接続されているローカルデバッガ92
内のレジスタ73に、あらかじめブレーク条件アドレス
、データ等を保持しておき(ブレーク条件の設定はソフ
トウェアで行なう)、そのレジスタ73が出力するレジ
スタ信号83の内容と、CPU90がキャッシュメモリ
94または共有メモリ20へのアクセス(リード、ライ
ト等)する時用いるアドレス、データ等であるローカル
バス65の内容とを比較して、その比較結果をブレーク
信号58としてCPU90へ出力する。
The operation in FIGS. 6 and 7 will be explained. Local debugger 92 connected to each of the four CPUs 90
A break condition address, data, etc. are held in advance in a register 73 (setting of break conditions is done by software), and the content of the register signal 83 output by that register 73 and the contents of the register signal 83 output by the CPU 90 are stored in the cache memory 94 or shared memory. It compares the contents of the local bus 65, such as addresses and data used when accessing (reading, writing, etc.) 20, and outputs the comparison result to the CPU 90 as a break signal 58.

【0012】4個のローカルデバッガは、独立に各CP
Uのデバッグ作業を行ない、あるローカルデバッガがブ
レーク条件を満たすと、そのローカルデバッガと接続し
ているCPUがプログラムの実行を停止する。
[0012] The four local debuggers independently
When U is debugged and a certain local debugger satisfies a break condition, the CPU connected to that local debugger stops execution of the program.

【0013】[0013]

【発明が解決しようとする課題】上述した従来のデバッ
グ装置は、各マイクロプロセッサ用のデバッグがそのマ
イクロプロセッサのデバッグ作業しか行わないので、例
えば、あるCPUのレジスタから別のCPUのレジスタ
への転送時にブレークさせようとすると、転送元ではブ
レーク条件が成立しても、転送先ではどのCPUからデ
ータ転送されるかを認識しないので、ブレーク条件が成
立するとは限らない。これを避けるには、ブレーク条件
を転送元と転送先のデバッガに設定するか、あるいは全
てのデバッガに設定すればよいが、それではデバッガ内
のレジスタ資源を無駄に使用することになるという欠点
がある。
[Problems to be Solved by the Invention] In the conventional debugging device described above, debugging for each microprocessor only performs debugging work for that microprocessor. When attempting to cause a break, even if the break condition is satisfied at the transfer source, the break condition does not necessarily hold true because the transfer destination does not recognize which CPU the data is transferred from. To avoid this, you can set the break condition in the transfer source and transfer destination debuggers, or set it in all debuggers, but this has the disadvantage of wasting the register resources in the debugger. .

【0014】本発明の目的は、このような欠点を除き、
共有なデバッガを用いることによりブレーク条件を複数
のデバッガに設定することなく、レジスタを有効利用で
きるようにしたデバッグ装置を提供することにある。
[0014] The purpose of the present invention is to eliminate such drawbacks,
It is an object of the present invention to provide a debugging device that can effectively utilize registers without setting break conditions for multiple debuggers by using a shared debugger.

【0015】[0015]

【課題を解決するための手段】本発明の構成は、複数の
マイクロプロセッサとこれらマイクロプロセッサ全てに
対して共有なデータの記憶が可能である第1のメモリと
前記各マイクロプロセッサ専用のデータの記憶が可能で
ある複数の第2のメモリとが共通なバスで接続される並
列処理コンピュータに対しデバッグ作業を行なうデバッ
グ装置において、前記マイクロプロセッサと前記第1の
メモリとのデータ転送時やあるマイクロプロセッサから
別のマイクロプロセッサへのデータの転送時に前記各マ
イクロプロセッサの動作を監視する第1のデバッガと、
前記各マイクロプロセッサとそのマイクロプロセッサに
対応する前記各第2のメモリとのデータ転送時に各マイ
クロプロセッサの動作をそれぞれ監視する複数の第2の
デバッガと、前記第1のデバッガから前記各第2のデバ
ッガへデバッグ作業用のデータを転送する手段とを有す
ることを特徴とする。
[Means for Solving the Problems] The structure of the present invention includes a plurality of microprocessors, a first memory capable of storing data shared by all of these microprocessors, and a first memory capable of storing data exclusive to each of the microprocessors. In a debugging device that performs debugging work on a parallel processing computer in which a plurality of second memories capable of a first debugger that monitors the operation of each microprocessor during data transfer from one microprocessor to another;
a plurality of second debuggers that respectively monitor the operation of each microprocessor during data transfer between each of the microprocessors and each of the second memories corresponding to the microprocessors; The present invention is characterized by comprising means for transferring data for debugging work to a debugger.

【0016】本発明において、第1のデバッガが、マイ
クロプロセッサが出力するアドレス信号、及び入出力す
るデータ信号、その他の入出力する信号によって構成さ
れるデータのパターンと対応する任意のデータのパター
ンを保持するレジスタと、前記各マイクロプロセッサが
持つ固有の識別番号と対応する識別番号を保持するCP
UID回路と、前記レジスタの保持内容と、前記マイク
ロプロセッサが出力するアドレス信号及び入出力するデ
ータ信号、その他の入出力する信号とを比較し、前記C
PUID回路の保持内容とバス使用の調停を行なう回路
が出力する調停結果を表す信号とを比較し、これら比較
結果を統合した比較結果を出力する比較器と、前記各マ
イクロプロセッサ間のデータ転送時に転送先のマイクロ
プロセッサの実行を一時中断させる信号と、前記バス使
用の調停結果を表す信号と、前記比較器の出力信号とを
用いて論理演算を行いその演算結果をブレーク信号とし
て出力する論理回路とからなることができる。
[0016] In the present invention, the first debugger detects an arbitrary data pattern that corresponds to a data pattern constituted by an address signal outputted by a microprocessor, an input/output data signal, and other input/output signals. a CP that holds registers that hold and identification numbers that correspond to the unique identification numbers that each of the microprocessors has;
The UID circuit compares the contents held in the register with the address signal outputted by the microprocessor, the input/output data signal, and other input/output signals, and
A comparator that compares the contents held in the PUID circuit with a signal representing the arbitration result output by a circuit that arbitrates bus use, and outputs a comparison result that integrates these comparison results, and a comparator that outputs a comparison result that integrates these comparison results, and a a logic circuit that performs a logical operation using a signal that temporarily interrupts the execution of the transfer destination microprocessor, a signal representing the arbitration result of the bus use, and an output signal of the comparator, and outputs the result of the operation as a break signal; It can consist of.

【0017】[0017]

【実施例】図1はブレーク要求を受け付ける機能を持っ
たマイクロプロセッサを4個使用した本発明の一実施例
のブロック図である。本実施例は、CPU部11〜14
と、共有メモリ20と、共有デバッガ21と、バスアー
ビタ(バス調停器)22と、転送割込制御器23と、共
有バス24およびローカルバス25とから主に構成され
る。
DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a block diagram of an embodiment of the present invention using four microprocessors having the function of accepting break requests. In this embodiment, the CPU units 11 to 14
, a shared memory 20 , a shared debugger 21 , a bus arbiter 22 , a transfer interrupt controller 23 , a shared bus 24 , and a local bus 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を出力する。
In the figure, the CPU sections 11 to 14 are shown in FIG.
As shown in the figure, each includes a CPU 90, a local debugger 91 and a cache memory 94.
The CPUs included in the U units 11 to 14, respectively, are CPUa,
Let them be CPUb, CPUc, and CPUd. shared debugger 2
1 sets a break condition internally in advance, outputs the break condition to the debugger bus 25, and outputs the break condition to the bus arbiter 22.
, the transfer interrupt signals 46 to 49 output from the transfer interrupt controller 23, and the shared bus 24, and output break signals 51 to 54 according to internal break conditions.

【0019】また、デバッガバス25は共有デバッガ2
1より出力されたブレーク条件をCPU部11〜14内
のローカルデバッガ91へ出力し、ブレーク信号51〜
54はCPU部11〜14内のCPU90をブレークさ
せるために共有デバッガ21が出力し、ローカルバス6
1〜64はCPU部11〜14(CPUa〜CPUd)
の入出力であり、共有バス24に接続されている。なお
、この他の部分は従来例と同等なので説明を省略する。
Further, the debugger bus 25 is connected to the shared debugger 2.
The break condition output from 1 is output to the local debugger 91 in the CPU sections 11 to 14, and the break conditions are output to the local debugger 91 in the CPU units 11 to 14, and break signals 51 to
54 is output from the shared debugger 21 to break the CPU 90 in the CPU units 11 to 14, and is output to the local bus 6.
1 to 64 are CPU units 11 to 14 (CPUa to CPUd)
, and is connected to the shared bus 24. Note that the other parts are the same as those of the conventional example, so the explanation will be omitted.

【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の入力とな
る。
FIG. 2 is a concrete block diagram of the shared debugger 21 shown in FIG. 1. This circuit consists of M registers 7 that hold information such as addresses and data to be broken.
1, M CPU IDs 75 holding identification numbers corresponding to the CPUs on which the break condition set in this register 71 is processed, a shared bus 24, and a register signal 81.
In addition to comparing the acknowledge signals 36 to 39 and CP
It is composed of a comparator 76 that compares UID signals 85 to 89 and outputs the comparison result as a break signal 55, and a logic circuit section. The register signal 81 is the contents held in the register 71 and becomes an input to the comparator 71 and the debugger bus 25, and the CPUID signals 85 to 89 are the contents held in the CPUID 75 and are input to the comparator 71 and the debugger bus 25.

【0021】図3は比較器71の一例の回路図である。 この比較器71はレジスタ信号81と、このレジスタ信
号81に対応する共有バス24とをビットごとにエクス
クルージブNOR演算をし、また、アクノレッジ信号3
6〜39とCPUID信号85〜89とをそれぞれエク
スクルーシブNOR演算をして、それらの結果をAND
演算で統合し、ブレーク信号55として出力している。
FIG. 3 is a circuit diagram of an example of the comparator 71. This comparator 71 performs an exclusive NOR operation bit by bit on the register signal 81 and the shared bus 24 corresponding to this register signal 81, and also performs an exclusive NOR operation on the register signal 81 and the shared bus 24 corresponding to this register signal 81.
6 to 39 and CPUID signals 85 to 89, respectively, and perform an exclusive NOR operation on them, and AND the results.
The signals are integrated by calculation and output as a break signal 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となる。
FIG. 4 is a block diagram of a specific example of the CPU section 11 in FIG. 1, and the CPU sections 12 to 14 also receive request signals,
They are the same except that the acknowledge signal, transfer interrupt request signal, transfer interrupt signal, break signal, and local bus number are different. This CPU section 11 includes a CPU 90
, a local debugger 91 , and a cache memory 94 , and the local debugger 91 is comprised of a register 72 and a comparator 77 . local debugger 91
A break signal 56, which is the output of the CPU 90, issues a break request to the CPU 90 (in this case, CPUa). The result of ORing this break signal 56 and the input break signal 51 becomes a break signal 57 to the CPU 90.

【0023】レジスタ72はデバッガバス25からの入
力であり、ブレークさせたいアドレス、データ等の情報
を保持し、比較器77はローカルバス61とレジスタ7
2が出力したレジスタ信号82を比較し、その比較結果
をブレーク信号56として出力する。このローカルデバ
ッガ91はローカルバス61上のアドレス、データ等を
受け入れ、内部のレジスタ72に設定したブレーク条件
によってCPU90にブレーク要求を出力する。
The register 72 is an input from the debugger bus 25 and holds information such as address and data to be broken, and the comparator 77 is input from the local bus 61 and register 7.
2 and outputs the comparison result as a break signal 56. This local debugger 91 accepts addresses, data, etc. on the local bus 61, and outputs a break request to the CPU 90 according to break conditions set in an internal register 72.

【0024】以下、本実施例の動作を説明する。プログ
ラム実行の前に、共有デバッガ21内のレジスタ71に
ブレーク条件アドレス、データ等を設定する。この設定
が行われると、そのアドレスが処理されるCPUに対応
する識別番号がCPUID75に保持される。例えば、
CPUaで処理する場合は、「1000」と保持される
。このCPUID75への設定はソフトウェア、例えば
OS(オペレーティング・システム)が管理する。
The operation of this embodiment will be explained below. Before program execution, a break condition address, data, etc. are set in the register 71 in the shared debugger 21. When this setting is made, the identification number corresponding to the CPU that processes the address is held in the CPU ID 75. for example,
When processing is performed by CPUa, it is held as "1000". This setting to the CPU ID 75 is managed by software, for example, an OS (operating system).

【0025】次に、レジスタ71の内容を、CPUID
75の識別番号に対応したCPUのデバッグ作業を行な
うローカルデバッガ91内のレジスタ72へ、デバッガ
バス25を介して出力される。この時CPUID75の
内容もデバッガバス25に出力され、4個のうちどのロ
ーカルデバッガに出力するかを管理する。例えば、CP
UID75が「1000」の場合は、CPU部11、つ
まりCPUaのデバッグ作業を行なうローカルデバッガ
91のみにレジスタ71の内容が出力される。この作業
を、設定したブレーク条件の回数だけ繰り返す。
Next, the contents of the register 71 are set to CPUID.
It is output via the debugger bus 25 to the register 72 in the local debugger 91 which performs debugging of the CPU corresponding to the identification number 75. At this time, the contents of the CPUID 75 are also output to the debugger bus 25, and it is managed which of the four local debuggers to output to. For example, C.P.
When the UID 75 is "1000", the contents of the register 71 are output only to the local debugger 91 that debugs the CPU section 11, that is, the CPUa. Repeat this process as many times as the set break condition.

【0026】プログラム実行時において、4個のローカ
ルデバッガ91は、主に各々のキャッシュメモリ94へ
のアクセス時のデバッグ作業を行なう。各々のローカル
デバッガ91内のレジスタ72には、上記の操作によっ
て、そのローカルデバッガ91に対応するCPU90が
処理するアドレスのブレーク条件が保持されている。従
って、ローカルデバッガ91は、キャッシュメモリ94
へのアクセス時にブレーク条件を満たすと、CPU90
をブレークさせ、プログラムの実行を停止させる。この
場合、4個のローカルデバッガ91はこの場合、独立し
て動作している。
During program execution, the four local debuggers 91 mainly perform debugging work when accessing each cache memory 94. In the register 72 in each local debugger 91, the break condition of the address processed by the CPU 90 corresponding to that local debugger 91 is held by the above operation. Therefore, the local debugger 91 uses the cache memory 94
If the break condition is met when accessing, the CPU90
breaks and stops program execution. In this case, the four local debuggers 91 are operating independently in this case.

【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の
みをブレークする。
The shared debugger 21 mainly uses the shared memory 20
Perform debugging work when accessing the CPU and when transferring data from one CPU to another CPU. When accessing the shared memory 20, the accessing CPU, that is, the CPU using the shared bus 24, can be recognized by the acknowledge signals 36 to 39 output from the bus arbiter 22. Therefore, the shared bus 24 and the register 71, the acknowledge signals 36 to 39, and the CPU ID 75 are compared, and the break signal 55, which is the result of integrating the comparison results, is ANDed with the acknowledge signals 36 to 39, respectively, and the results are used as the break signals 51 to 39. 54 to each CPU, only the CPU that has accessed the shared memory 20 is broken.

【0028】CPUから他のCPUへの転送時は、アク
ノレッジ信号36〜39が転送元のCPUを表し、転送
割込信号46〜49が転送先のCPUを表しているので
、それぞれOR演算し、さらにそれぞれブレーク信号5
5とAND演算した結果をブレーク信号51〜54とし
て各CPUへ出力することにより、転送元と転送先のC
PUをブレークする。
When transferring from a CPU to another CPU, the acknowledge signals 36 to 39 represent the transfer source CPU, and the transfer interrupt signals 46 to 49 represent the transfer destination CPU, so an OR operation is performed on each of them. Furthermore, each break signal 5
By outputting the result of the AND operation with 5 to each CPU as break signals 51 to 54, the transfer source and destination CPUs
Break PU.

【0029】図5はマイクロプロセッサを4個使用した
本発明の第2の実施例の共有デバッガの一例のブロック
図に示す。
FIG. 5 shows a block diagram of an example of a shared debugger according to the second embodiment of the present invention using four microprocessors.

【0030】本実施例は、転送割込信号46〜49の全
てをOR演算し、その結果とアクノレッジ信号36〜3
9それぞれをOR演算し、その結果をブレーク信号55
とそれぞれAND演算した結果をブレーク信号51〜5
4として各CPUへ出力している。この場合、転送時に
は、転送元と転送先だけでなく全てのCPUをブレーク
する点が、第1の実施例と相違している。
In this embodiment, all of the transfer interrupt signals 46 to 49 are ORed, and the result and the acknowledge signals 36 to 3 are
9 are ORed and the result is sent to the break signal 55.
The results of the AND operation are sent to break signals 51 to 5.
4 and is output to each CPU. This case differs from the first embodiment in that, at the time of transfer, not only the transfer source and transfer destination but also all CPUs are broken.

【0031】[0031]

【発明の効果】以上説明したように本発明は、N個のマ
イクロプロセッサそれぞれを管理するN個のローカルな
デバッガに加えて、N個のマイクロプロセッサ全てを管
理する共有なデバッガを用いることにより、特にCPU
から別のCPUへのデータ転送時に、マイクロプロセッ
サ間の同期を考慮したデバッグ作業が可能であり、また
、ブレーク条件を複数のデバッガに設定する必要がなく
、デバッガ内のレジスタを有効に利用できるという効果
がある。
As explained above, the present invention uses a shared debugger that manages all N microprocessors in addition to N local debuggers that manage each of N microprocessors. Especially CPU
When transferring data from one CPU to another, it is possible to perform debugging work that takes into account synchronization between microprocessors, and there is no need to set break conditions in multiple debuggers, allowing effective use of registers within the debugger. effective.

【図面の簡単な説明】[Brief explanation of drawings]

【図1】本発明の一実施例のブロック図、FIG. 1 is a block diagram of an embodiment of the present invention;

【図2】図1
の共有デバッガ21の一例のブロック図、
[Figure 2] Figure 1
A block diagram of an example of the shared debugger 21 of

【図3】図2
の比較器76の一例の回路図、
[Figure 3] Figure 2
A circuit diagram of an example of the comparator 76 of

【図4】図1のCPU部
の具体例のブロック図、
FIG. 4 is a block diagram of a specific example of the CPU section in FIG. 1;

【図5】図1の共有デバッガの
第2の実施例のブロック図、
FIG. 5 is a block diagram of a second embodiment of the shared debugger of FIG. 1;

【図6】従来例のデバッグ装置のブロック図、[Fig. 6] Block diagram of a conventional debug device,

【図7】
図6のCPU部の具体例を示したブロック図、
[Figure 7]
A block diagram showing a specific example of the CPU section in FIG. 6,

【図8】
図7のローカルデバッガ内の比較器78の回路図
[Figure 8]
Circuit diagram of comparator 78 in local debugger of FIG.

【図9】図6aの転送割込制御器23の一例の回路図、
FIG. 9 is a circuit diagram of an example of the transfer interrupt controller 23 in FIG. 6a;

【図10】共有メモリ20を介したCPU間のデータ転
送を説明する模式的ブロック図、
FIG. 10 is a schematic block diagram illustrating data transfer between CPUs via the shared memory 20;

【符号の説明】[Explanation of symbols]

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    キャッシュメモリ
11-18 CPU section 20 Shared memory 21 Shared debugger 22 Bus arbiter 23 Transfer interrupt controller 24 Shared bus 25 Debugger buses 31-34 Request signals 36-39 Acknowledge signals 41-44 Transfer request signals 46-49
Transfer interrupt signals 51-58 Break signals 61-68 Local buses 71-73 Register 75 CPUID 76-78 Comparators 81-83 Register signals 85-89 CPUID signal 90 CPU 91, 92 Local debugger 94 Cache memory

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】  複数のマイクロプロセッサとこれらマ
イクロプロセッサ全てに対して共有なデータの記憶が可
能である第1のメモリと前記各マイクロプロセッサ専用
のデータの記憶が可能である複数の第2のメモリとが共
通なバスで接続される並列処理コンピュータに対しデバ
ッグ作業を行なうデバッグ装置において、前記マイクロ
プロセッサと前記第1のメモリとのデータ転送時やある
マイクロプロセッサから別のマイクロプロセッサへのデ
ータの転送時に前記各マイクロプロセッサの動作を監視
する第1のデバッガと、前記各マイクロプロセッサとそ
のマイクロプロセッサに対応する前記各第2のメモリと
のデータ転送時に各マイクロプロセッサの動作をそれぞ
れ監視する複数の第2のデバッガと、前記第1のデバッ
ガから前記各第2のデバッガへデバッグ作業用のデータ
を転送する手段とを有することを特徴とするデバッグ装
置。
1. A plurality of microprocessors, a first memory capable of storing data shared by all of these microprocessors, and a plurality of second memories capable of storing data exclusive to each of the microprocessors. In a debugging device that performs debugging work on a parallel processing computer connected by a common bus, when data is transferred between the microprocessor and the first memory, or when data is transferred from one microprocessor to another microprocessor. a first debugger that monitors the operation of each of the microprocessors during data transfer between each of the microprocessors and the second memories that correspond to the microprocessors; 1. A debugging device comprising: two debuggers; and means for transferring debugging data from the first debugger to each of the second debuggers.
【請求項2】  第1のデバッガが、マイクロプロセッ
サが出力するアドレス信号、及び入出力するデータ信号
、その他の入出力する信号によって構成されるデータの
パターンと対応する任意のデータのパターンを保持する
レジスタと、前記各マイクロプロセッサが持つ固有の識
別番号と対応する識別番号を保持するCPUID回路と
、前記レジスタの保持内容と、前記マイクロプロセッサ
が出力するアドレス信号及び入出力するデータ信号、そ
の他の入出力する信号とを比較し、前記CPUID回路
の保持内容とバス使用の調停を行なう回路が出力する調
停結果を表す信号とを比較し、これら比較結果を統合し
た比較結果を出力する比較器と、前記各マイクロプロセ
ッサ間のデータ転送時に転送先のマイクロプロセッサの
実行を一時中断させる信号と、前記バス使用の調停結果
を表す信号と、前記比較器の出力信号とを用いて論理演
算を行いその演算結果をブレーク信号として出力する論
理回路とからなる請求項1記載のデバッグ装置。
2. A first debugger holds an arbitrary data pattern corresponding to a data pattern formed by an address signal outputted by the microprocessor, an input/output data signal, and other input/output signals. A register, a CPUID circuit that holds an identification number corresponding to the unique identification number of each microprocessor, the contents held in the register, address signals output by the microprocessor, data signals input/output, and other inputs. a comparator that compares the content held in the CPUID circuit with a signal representing an arbitration result output from a circuit that arbitrates bus use, and outputs a comparison result that integrates these comparison results; Performing a logical operation using a signal that temporarily suspends execution of the transfer destination microprocessor during data transfer between the respective microprocessors, a signal representing the arbitration result of the bus use, and an output signal of the comparator. 2. The debugging device according to claim 1, further comprising a logic circuit that outputs a result as a break signal.
JP3001364A 1991-01-10 1991-01-10 Debugging device Pending JPH04348437A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3001364A JPH04348437A (en) 1991-01-10 1991-01-10 Debugging device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3001364A JPH04348437A (en) 1991-01-10 1991-01-10 Debugging device

Publications (1)

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

Family

ID=11499447

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3001364A Pending JPH04348437A (en) 1991-01-10 1991-01-10 Debugging device

Country Status (1)

Country Link
JP (1) JPH04348437A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289126A (en) * 1997-04-15 1998-10-27 Fujitsu Ltd Microcontroller and repeater
JP2011180840A (en) * 2010-03-01 2011-09-15 Toshiba Corp Processor, multiprocessor system, and method of detecting illegal memory access

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10289126A (en) * 1997-04-15 1998-10-27 Fujitsu Ltd Microcontroller and repeater
JP2011180840A (en) * 2010-03-01 2011-09-15 Toshiba Corp Processor, multiprocessor system, and method of detecting illegal memory access

Similar Documents

Publication Publication Date Title
KR940001878B1 (en) Multiprocessor system and apparatus for interrupt control thereof
KR0160193B1 (en) Dma control apparatus
US9690719B2 (en) Mechanism for managing access to at least one shared integrated peripheral of a processing unit and a method of operating thereof
KR20040023692A (en) Mechanism for interrupt handling in computer systems that support concurrent execution of multiple threads
JPH0430053B2 (en)
US5291605A (en) Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode
EP1163593A2 (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 (en) Multiprocessor system and access right setting method in multiprocessor system
JPH056223B2 (en)
JP2581323B2 (en) How to update reference bits and change bits
JP3814521B2 (en) Data processing method and apparatus
JPH04348437A (en) Debugging device
JP2797760B2 (en) Parallel processing computer system
US5247685A (en) Interrupt handling in an asymmetric multiprocessor computer system
Maekawa et al. Experimental polyprocessor system (EPOS)—Architecture
JPH03656B2 (en)
JP5431823B2 (en) Semiconductor device
US7765383B2 (en) Data processing unit and data processing apparatus using data processing unit
JPH02281341A (en) Write data confirming method for debugging
JP2825589B2 (en) Bus control method
JPH01316851A (en) Channel control system
JPS62219058A (en) Exclusive control system for shared memory
JP2837522B2 (en) I / O instruction control method
JPH05508496A (en) Method and apparatus for loading and flagging instructions