JP2590154B2 - Program debug support device for parallel processor - Google Patents
Program debug support device for parallel processorInfo
- Publication number
- JP2590154B2 JP2590154B2 JP62311927A JP31192787A JP2590154B2 JP 2590154 B2 JP2590154 B2 JP 2590154B2 JP 62311927 A JP62311927 A JP 62311927A JP 31192787 A JP31192787 A JP 31192787A JP 2590154 B2 JP2590154 B2 JP 2590154B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- processor
- network
- processors
- data transfer
- 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
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明は並列プロセツサに係り、特にプログラムのデ
バツグを支援するのに好適な並列プロセツサのプログラ
ムデバツグ支援に関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a parallel processor, and more particularly to a program debugging support for a parallel processor suitable for supporting program debugging.
従来では、たとえば特開昭60−5349号に記載のよう
に、複数のプロセツサから成る並列プロセツサのプログ
ラムのデバヅグ支援として、複数のプロセツサのプログ
ラム実行履歴を記録するトレース装置がある。Conventionally, as described in, for example, Japanese Patent Application Laid-Open No. Sho 60-5349, there is a trace device for recording program execution histories of a plurality of processors as a debugging support of a program of a parallel processor composed of a plurality of processors.
このトレース装置では複数プロセツサの任意の1つを
基準プロセツサとし、その基準プロセツサの動作状態
(アドレス,データ,割込み,CPU状態)があらかじめ定
められた状態と一致したときを基準点とし、その基準点
の前後の、複数のプロセツサのプログラム実行履歴を記
録するようになつていた。In this tracing device, any one of a plurality of processors is set as a reference processor, and when the operation state (address, data, interrupt, CPU state) of the reference processor matches a predetermined state, the reference point is set. Before and after, the program execution history of a plurality of processors was recorded.
上記従来技術は複数のプロセツサが同期して各プロセ
ツサのプログラムを実行する場合には有効である。しか
し、各プロセツサが各プロセツサ内のプログラムを非同
期に実行し、また、各プロセツサ間のデータ転送もネツ
トワークを介して各プロセツサ内の処理と非同期に行な
う並列プロセツサにおいては、各プロセツサ内でプログ
ラムを実行する時間が各プロセツサ間の距離あるいはネ
ツトワーク上のパスのぶつかりによるデータ転送の遅
れ、プロセツサ内の割込み処理等によつて異なつてく
る。The above prior art is effective when a plurality of processors execute programs of the respective processors in synchronization. However, in a parallel processor in which each processor executes a program in each processor asynchronously and transfers data between the processors asynchronously with processing in each processor via a network, the program is executed in each processor. The execution time varies depending on the distance between the processors, delay in data transfer due to collision of a path on the network, interrupt processing in the processors, and the like.
従来技術では上記の点について配慮がされておらず、
基準プロセツサのある動作状態を基準点とし、その前後
で、他のプロセツサの動作状態をトレースしても、基準
プロセツサ以外のプロセツサのトレース結果が必要な情
報を含んでいない可能性があつた。The prior art does not consider the above points,
Even when the operation state of a reference processor is set as a reference point and before and after the operation state of another processor is traced, the trace results of processors other than the reference processor may not include necessary information.
また、並列プロセツサのプログラム開発の初期段階に
おいて、各プロセツサで十分にデバツグが行なわれてい
ないプログラムを実行した場合、各プロセツサが非同期
にプログラムを実行する並列プロセツサでは、一回の実
行でいろいろな箇所でバグが発生し、また、プログラム
を実行するごとにバグの発生する箇所が異なり、プログ
ラム実行における再現性が保証できなかつた。このた
め、プログラマは、それらのバグが各プロセツサ間で関
連した複数の動作の中で引き起こされたものか、あるい
はプロセツサ固有のものか等、バグの切り分けが困難に
なり、並列プロセツサのプログラムデバツグの効率が悪
くなるという問題があつた。Also, in the initial stage of parallel processor program development, if a program that is not fully debugged is executed by each processor, the parallel processor in which each processor executes the program asynchronously can execute various processes in one execution. And the location where the bug occurs differs each time the program is executed, and reproducibility in executing the program cannot be guaranteed. This makes it difficult for programmers to isolate bugs, such as whether the bugs are caused in multiple operations related to each processor or whether they are unique to the processor. There was a problem that the efficiency of the system became poor.
本発明の目的は、プログラム実行における再現性を保
証し、並列プロセツサのプログラムのデバツグの効率を
向上させる並列プロセツサのプログラムデバツグ支援を
提供する。An object of the present invention is to provide a parallel processor program debugging support that guarantees reproducibility in program execution and improves the efficiency of parallel processor program debugging.
上記目的は、任意のプロセツサ間でデータ転送が可能
なネツトワークにおいて、ネツトワーク上にプロセツサ
間データ転送用バケツト、1個だけが流れるように制御
することにより達成される。The above object is achieved by controlling a single data transfer bucket between processors in a network capable of transferring data between arbitrary processors.
このため、まず、各プロセツサで実行する、任意のプ
ロセツサ間のデータ転送を指示する命令において、その
データ転送を行なう順番を指定するオペランドを設け
る。For this purpose, first, in an instruction executed by each processor for instructing data transfer between arbitrary processors, an operand for designating the order of data transfer is provided.
また、各プロセツサのデータ送信装置において、ネツ
トワークに送出する順番を保持するカウンタおよび命令
で指定されるデータ転送を行なう順番とそのカウンタを
比較する手段を設ける。In the data transmission device of each processor, there are provided a counter for holding the order of transmission to the network and means for comparing the counter with the order for data transfer specified by the instruction.
各プロセツサがプロセツサ間データ転送を行なうため
にネツトワーク上にパケツトを送出する場合、各プロセ
ツサ内のデータ送信装置において、プロセツサ間データ
転送用命令で指定されたデータ転送を行なう順番を指定
したオペランドとネツトワークに送出する順番を保持す
るカウンタを比較し、比較した結果、一致しているとき
だけネツトワークに送出する。一致しないとき一致する
までネツトワークにそのパケツトを送出しない。When each processor sends a packet on the network in order to perform inter-processor data transfer, the data transmission device in each processor uses an operand that specifies the order of data transfer specified by the inter-processor data transfer instruction. The counters which hold the order of sending to the network are compared, and only when the result of the comparison is coincident, the counter is sent to the network. If they do not match, do not send the packet to the network until they match.
各プロセツサで保持する、ネツトワークに送出する順
番を保持するカウンタの値は、ネツトワークにパケツト
を送出したプロセツサが全プロセツサに対して1つのパ
ケツトを送出したことを放送し、カウンタの値を更新す
ることにより、全プロセツサが同じ値になることを保証
する。これにより、ネツトワーク上に1個のパケツトだ
けが流れるように制御でき、また、そのパケツトを指定
された順番にネツトワークに送出できるので、プログラ
ム実行における再現性が保証でき、並列プロセツサのプ
ログラムデバツグの効率を向上することができる。The value of the counter that holds the order of sending to the network, which is held by each processor, broadcasts that the processor that sent the packet to the network sent one packet to all processors, and updated the counter value. By doing so, it is guaranteed that all processors have the same value. As a result, it is possible to control only one packet to flow on the network, and to send the packet to the network in a specified order, so that reproducibility in program execution can be guaranteed, and the program data of the parallel processor can be guaranteed. The efficiency of bagging can be improved.
以下、本発明の一実施例を図を用いて説明する。第1
図は、並列プロセツサの全体構成図を示している。101
は任意のプロセツサ間でデータ転送可能なネツトワーク
であり、データパケツト102および107の転送情報を用い
て、目的のプロセツサにデータパケツトを送る機能を持
つ。このネツトワーク101はクロスバスイツチ,多段ス
イツチネツトワーク,バス等いろいろな構成を考えるこ
とができる。110〜111はプロセツサであり、ここでは2
台のみを示している。各プロセツサ110〜111はデータ受
信装置120,データ送信装置130,命令プロセツサ140,およ
びローカルストレージ150から構成される。Hereinafter, an embodiment of the present invention will be described with reference to the drawings. First
The figure shows an overall configuration diagram of the parallel processor. 101
Is a network capable of transferring data between arbitrary processors, and has a function of sending a data packet to a target processor using the transfer information of the data packets 102 and 107. The network 101 can have various configurations such as a cross-bus switch, a multi-stage switch network, and a bus. 110 to 111 are processors, here 2
Only the stand is shown. Each of the processors 110 to 111 includes a data receiving device 120, a data transmitting device 130, an instruction processor 140, and a local storage 150.
命令プロセツサ140はローカルストレージ150から命令
を読出し、それを解読し、実行するための種々の制御を
行なうものである。The instruction processor 140 reads out an instruction from the local storage 150, decodes the instruction, and performs various controls for executing the instruction.
データ送信装置130はネツトワーク101に送出すべきデ
ータパケツト102あるいは107を生成し、ネツトワーク10
1に送り出すものであり、マイクロプロセツサで構成さ
れるネツトワーク送信制御131等により構成される。The data transmission device 130 generates a data packet 102 or 107 to be transmitted to the network 101, and
1 and is constituted by a network transmission control 131 composed of a microprocessor and the like.
データパケツト102は転送データを受信する受信側の
プロセツサ番号103(以下RCVPEと略す)と、受信側のプ
ロセツサが転送データをどういうふうに制御するかを表
わす制御コード104と、受信側のプロセツサで転送デー
タを格納するローカルストレージ150のアドレス105(以
下ADDRと略す)および転送データ106(以下DATAと略
す)から構成される。また、データパケツト107はそれ
を全てのプロセツサに渡すために全プロセツサに共通の
プロセツサ番号108(以下RCVPEALLと略す)およびその
データパケツトを受信側のプロセツサがどういうふうに
制御するかを表わす制御コード109より構成される。The data packet 102 includes a processor number 103 (hereinafter abbreviated as RCVPE) on the receiving side that receives the transfer data, a control code 104 indicating how the receiving processor controls the transfer data, and a transfer data on the receiving processor. Is stored in an address 105 of the local storage 150 (hereinafter abbreviated as ADDR) and transfer data 106 (hereinafter abbreviated as DATA). The data packet 107 is composed of a processor number 108 (hereinafter abbreviated as RCVPEALL) common to all processors and a control code 109 indicating how the receiving processor controls the data packet in order to pass the data packet to all processors. Is done.
データ受信装置120は、ネツトワーク101より送られて
きたデータパケツト102および107を入力し、データパケ
ツト内の制御コードに従い種々の制御を行なうものであ
り、マイクロプロセツサで構成されるネツトワーク受信
制御121により構成される。The data receiving device 120 receives the data packets 102 and 107 sent from the network 101 and performs various controls in accordance with control codes in the data packets. The data receiving device 120 is controlled by a network receiving control 121 composed of a microprocessor. Be composed.
プロセツサ間のデータ転送方式は本発明では特定する
必要ないが、ここでは、データ転送を行なうプロセツサ
間で非同期にデータを送受信するものとし、転送データ
が受信側のプロセツサに届くと命令プロセツサの処理を
中断し、データを取り込む。このとき、データにはその
データを格納するローカルストレージのアドレスが用い
られるものとする。Although it is not necessary to specify the data transfer method between the processors in the present invention, here, it is assumed that data is transmitted and received asynchronously between the processors performing data transfer, and the processing of the instruction processor is performed when the transferred data reaches the processor on the receiving side. Interrupt and capture data. At this time, it is assumed that an address of a local storage for storing the data is used for the data.
次に第1図を用いて並列プロセツサのプログラムデバ
ツグを支援について詳細に説明する。Next, the support of the program debugging of the parallel processor will be described in detail with reference to FIG.
まず、あるプロセツサが他のプロセツサにデータを送
出する送信処理について説明する。First, a transmission process in which a certain processor sends data to another processor will be described.
命令プロセツサ140はデータ転送命令を解読すると、
データ送信装置130に対してデータ転送が可能であるか
否か、すなわち、データ送信用バツフア132が空である
か否かをチエツクする。もし、データ転送が可能でない
なら、可能になるまで待つ。もし、データ転送が可能な
ら、命令プロセツサ140はデータ送信用バツフア132にデ
ータ転送命令で指定されるオペランドをセツトする。こ
のオペランドとしては、受信側のプロセツサ番号(RCVP
E),データ転送を行なうことを指示する制御コード(S
END),受信側のプロセツサが転送データをローカルス
トレージに格納するためのローカルストレージアドレス
(ADDR),転送データ(DATA)およびデータ転送を行な
う順番(SQN)である。When the instruction processor 140 decodes the data transfer instruction,
It is checked whether data transfer to the data transmitting apparatus 130 is possible, that is, whether the data transmitting buffer 132 is empty. If data transfer is not possible, wait until it is possible. If data transfer is possible, the instruction processor 140 sets the data transmission buffer 132 with the operand specified by the data transfer instruction. As this operand, the processor number of the receiving side (RCVP
E), a control code (S
END), a local storage address (ADDR) for storing the transfer data in the local storage by the receiving-side processor, the transfer data (DATA), and the order of data transfer (SQN).
ここで、データ転送命令のデータ転送を行なう順番を
指定するオペランドは、プログラマが各プロセツサのプ
ログラム上に組み込む、あるいは並列プロセツサのプロ
グラムコンパイル時にコンパイラがフロー解析により自
動的に生成されるものとする。Here, the operand for designating the data transfer order of the data transfer instruction is to be incorporated into the program of each processor by the programmer, or automatically generated by the compiler at the time of compiling the program of the parallel processor by flow analysis.
命令プロセツサ140は上記オペランドをセツトし終え
るとデータ送信装置130に対してネツトワーク101に送り
出すことを指示し、その命令を終了する。命令プロセツ
サは引き続き、次の命令を開始する。When the instruction processor 140 finishes setting the operand, it instructs the data transmitting apparatus 130 to send the operand to the network 101, and terminates the instruction. The instruction processor continues to start the next instruction.
データ送信装置130は命令プロセツサ140から起動がか
けられると、データ送信装置130内の送信順序番号を保
持するレジスタ133とデータ送信用バツフア132のSQNを
比較器134で比較する。比較した結果は信号135によりネ
ツトワーク送信制御131に送られる。ネツトワーク送信
制御131では、比較した結果が一致しているのであれば
データ送信用バツフア132のSQN以外をデータパケツト10
2としてネツトワーク101に送出する処理を行なう。比較
した結果が一致しないのであれば、ネツトワーク101に
データパケツト102を送り出さないで、比較した結果が
一致するまで待つ。When the data transmitting apparatus 130 is activated by the instruction processor 140, the comparator 134 compares the SQN of the data transmission buffer 132 with the register 133 in the data transmitting apparatus 130 that holds the transmission sequence number. The result of the comparison is sent to the network transmission control 131 by a signal 135. In the network transmission control 131, if the comparison results match, the data packet 10 other than the SQN of the data transmission buffer 132 is used.
As 2, a process of sending to the network 101 is performed. If the compared results do not match, the data packet 102 is not sent to the network 101, and the process waits until the compared results match.
また、ネツトワーク送信制御131では、データパケツ
ト102をネツトワーク101に送出した後、プロセツサ全体
に対してレジスタ133の内容をプラス1するためにデー
タパケツト107を生成し、ネツトワーク101に送出する。
このデータパケツト107は全プロセツサに共通のプロセ
ツサ番号(RCVPEALL)およびレジスタ133をプラス1す
ること表わす制御コード(COUNT UP)から成り、データ
送信装置内のバツフア136にあらかじめ命令プロセツサ1
40からセツトされる。Further, in the network transmission control 131, after transmitting the data packet 102 to the network 101, the data packet 107 is generated to add the contents of the register 133 to the entire processor plus 1, and the data packet 107 is transmitted to the network 101.
The data packet 107 is composed of a processor number (RCVPEALL) common to all processors and a control code (COUNT UP) indicating that the register 133 is incremented by one, and is stored in a buffer 136 in the data transmitting apparatus in advance.
Set from 40.
次にデータパケツトの受信処理について説明する。ネ
ツトワーク101から送られてきたデータパケツト102はデ
ータ受信装置120内のネツトワーク受信制御121に保持さ
れる。ネツトワーク受信制御121では受け取つたデータ
パケツト102内の制御コード(SEND)104を解読し、他プ
ロセツサからデータが送られてきたことを判別し、命令
プロセツサ140にそのことを報告する。命令プロセツサ1
40では報告を受け取ると、処理を中断し、ネツトワーク
受信制御121からデータパケツト102内のデータアドレス
(ADDR)105とデータ(DATA)106を受け取り、ローカル
ストレージ150に書き込む。命令プロセツサ140は、上記
の処理を行なつた後、中断した処理を再開する。Next, data packet reception processing will be described. The data packet 102 sent from the network 101 is held in the network reception control 121 in the data receiving device 120. The network reception control 121 decodes the control code (SEND) 104 in the received data packet 102, determines that data has been sent from another processor, and reports this to the instruction processor 140. Instruction processor 1
At 40, when the report is received, the processing is interrupted, the data address (ADDR) 105 and the data (DATA) 106 in the data packet 102 are received from the network reception control 121, and written to the local storage 150. After performing the above processing, the instruction processor 140 restarts the interrupted processing.
また、データ受信装置120がデータパケツト107を受け
取つた場合、データ受信装置120内のネツトワーク受信
制御121では、データパケツト107内の制御コード(COUN
T UP)109を解読し、データ送信装置130に対して送信順
序番号を保持するレジスタ133をプラス1することを信
号122により指示する。データ送信装置130では、信号12
2により送信順序番号制御136がレジスタ133の内容にプ
ラス1したものをセツトする。When the data receiving device 120 receives the data packet 107, the network reception control 121 in the data receiving device 120 controls the control code (COUN) in the data packet 107.
TUP) 109 is decoded, and a signal 122 instructs the data transmitting apparatus 130 to add 1 to the register 133 holding the transmission sequence number. In the data transmission device 130, the signal 12
According to 2, the transmission sequence number control 136 sets the content of the register 133 plus one.
一方、通常動作、すなわちプロセツサ間のデータ転送
は指定された順番でなく、各プロセツサが任意の時間に
非同期でデータ転送を行なう場合では、各プロセツサの
データ転送処理は以下のようになる。On the other hand, the normal operation, that is, the data transfer between the processors is not in the specified order, and when each processor performs the data transfer asynchronously at an arbitrary time, the data transfer processing of each processor is as follows.
送信処理では、命令プロセツサ140はデータ転送命令
を解読すると、データ送信装置130に対してデータ転送
が可能であるか否かチエツクする。もし、可能でないな
ら、可能になるまで待つ。もし、データ転送が可能な
ら、命令プロセツサ140はデータ送信用バツフア132にデ
ータ転送命令で指定されるオペランドをセツトする。こ
のとき、データ転送を行なう順番(SQN)はセツトしな
くてもよい。命令プロセツサ140は必要なオペランドを
セツトし終えるとデータ送信装置130に対して起動をか
け、その命令を終了する。In the transmission process, when the instruction processor 140 decodes the data transfer instruction, the instruction processor 140 checks whether data transfer is possible to the data transmitting apparatus 130. If not, wait until it is. If data transfer is possible, the instruction processor 140 sets the data transmission buffer 132 with the operand specified by the data transfer instruction. At this time, the order of data transfer (SQN) need not be set. When the instruction processor 140 finishes setting the necessary operands, it activates the data transmission device 130 and terminates the instruction.
データ送信装置130は命令プロセツサ140から起動がか
けられると、比較器134の比較結果135によらず、データ
送信用バツフア132のSQN以外をデータパケツト102とし
てネツトワーク101に送出する処理を行なう。また、ネ
ツトワーク送信制御131では、通常動作のとき、データ
パケツト107はネツトワーク101に送出しない。When activated by the instruction processor 140, the data transmitting apparatus 130 performs a process of transmitting data other than the SQN of the data transmission buffer 132 to the network 101 as the data packet 102 regardless of the comparison result 135 of the comparator 134. In the network transmission control 131, the data packet 107 is not transmitted to the network 101 during normal operation.
受信処理では、デバツグ支援のときと同じである。本
実施例では、デバツグ支援と通常動作を区別するため、
各プロセツサのデータ送信装置130内にモードレジスタ1
37を設けている。このモードレジスタ137は、命令プロ
セツサ130によりセツトされ、ネツトワーク送信制御131
に送られる。ネツトワーク送信制御131はモードレジス
タ137によりデバツグ支援と通常動作の処理を切り分け
る。The receiving process is the same as that for debugging support. In this embodiment, in order to distinguish between debugging support and normal operation,
Mode register 1 in the data transmitter 130 of each processor
37 are provided. This mode register 137 is set by the instruction processor 130, and the network transmission control 131
Sent to The network transmission control 131 uses the mode register 137 to distinguish between debugging support and normal operation processing.
第2図は、第1図の実施例にデータパケツトを指定さ
れた順番にネツトワークに送出する範囲を限定する手段
を設けた場合の一実施例である。この手段は、データ送
信装置230内に、データパケツトを指定された順番に送
出する送信順序番号の上限(UPPER)と下限(LOWER)を
保持するレジスタ232,233を設け、データ送信用バツフ
ア132のSQNとレジスタ232,233を比較し、UPPER232とLOW
ER233の間にあるデータパケツトだけ、指定された順番
に送出するようにする。FIG. 2 shows an embodiment in which the embodiment shown in FIG. 1 is provided with means for limiting the range in which data packets are transmitted to a network in a designated order. This means is provided with registers 232 and 233 for holding the upper limit (UPPER) and the lower limit (LOWER) of the transmission sequence number for transmitting the data packets in the designated order in the data transmitting device 230, and the SQN of the data transmission buffer 132 and the Compare 232,233, UPPER232 and LOW
Only data packets between ER233 are transmitted in the specified order.
以下、第2図に基づき説明する。送信処理では命令プ
ロセツサ140は第1図で説明した動作を行なう。データ
送信装置230では、命令プロセツサ140から起動をかけら
れると、送信順序番号を保持するレジスタ133とデータ
送信用バツフアのSQNを比較器134で比較する。比較した
結果は信号135によりネツトワーク送信制御231に送られ
る。また、データ送信用バツフア132のSQNとUPPER232お
よびLOWER233を比較器234で比較する。この比較器234
は、データ送信用バツフア132のSQNがUPPER232とLOWER2
33で示される範囲内にあるか否かを決定するものであ
る。ここで、UPPER232とLOWER233の値はあらかじめ命令
プロセツサ140にセツトされているものとする。比較器2
34の結果は信号235によりネツトワーク送信制御231に送
られる。Hereinafter, description will be made with reference to FIG. In the transmission process, the instruction processor 140 performs the operation described with reference to FIG. In the data transmission device 230, when activated by the instruction processor 140, the comparator 134 compares the register 133 holding the transmission sequence number with the SQN of the data transmission buffer. The result of the comparison is sent to the network transmission control 231 by a signal 135. The comparator 234 compares the SQN of the data transmission buffer 132 with the UPPER 232 and the LOWER 233. This comparator 234
SQN of data transmission buffer 132 is UPPER232 and LOWER2
It is determined whether or not it is within the range indicated by 33. Here, it is assumed that the values of UPPER232 and LOWER233 have been set in the instruction processor 140 in advance. Comparator 2
The result of 34 is sent by signal 235 to the network transmission control 231.
ネツトワーク送信制御231では、比較結果235において
UPPER232とLOWER233で示される範囲外にあるとき、比較
結果135によらず、データパケツト102をネツトワーク10
1に送出する処理を行なう。そして、データパケツト102
をネツトワーク101に送出した後、第1図で説明したよ
うにデータパケツト107を送出する処理を行なう。In the network transmission control 231, the comparison result 235
When the value is outside the range indicated by UPPER232 and LOWER233, the data packet 102 is transferred to the network 10 regardless of the comparison result 135.
Perform processing to send to 1. Then, the data packet 102
After transmitting the data packet 107 to the network 101, the data packet 107 is transmitted as described with reference to FIG.
一方、比較結果235においてUPPER232とLOWER233で示
される範囲内にあるとき、ネツトワーク送信制御231で
は比較結果135により制御を行ない、第1図で説明した
動作を行なう。また、受信処理についても第1図で説明
した動作を行なう。On the other hand, when the comparison result 235 is within the range indicated by UPPER 232 and LOWER 233, the network transmission control 231 performs control based on the comparison result 135 and performs the operation described in FIG. The operation described in FIG. 1 is also performed for the receiving process.
上記のように、本実施例によれば、プロセツサ間のデ
ータ転送を行なう場合、ネツトワーク上に1個のパケツ
トだけが流れるように制御でき、また、そのパケツトを
指定された順番にネツトワークに送出できる。As described above, according to this embodiment, when data is transferred between processors, it is possible to control so that only one packet flows on the network, and the packets are transferred to the network in the designated order. Can be sent.
さらに、第1図の実施例において、送信順序番号を保
持するレジスタ133とあらかじめ命令プロセツサ140から
定められた値と比較する手段を設け、この比較結果が一
致したとき命令プロセツサ140の処理を停止させること
もできる。これにより、全プロセツサが同時に停止する
ことができ、このときの各プロセツサの動作状態をみる
ことにより、プログラムデバツグの効率が向上する。Further, in the embodiment shown in FIG. 1, there is provided a register 133 for holding the transmission sequence number and a means for comparing with a value determined in advance by the instruction processor 140, and when the comparison result matches, the processing of the instruction processor 140 is stopped. You can also. As a result, all the processors can be stopped at the same time, and the efficiency of program debugging is improved by checking the operating state of each processor at this time.
本発明によれば、各プロセツサが任意の時間に各プロ
セツサの処理とは非同期にデータ転送を行なう並列プロ
セツサにおいて、並列プロセツサのプログラムデバツグ
を行なう場合、ネツトワーク上に1個のパケツトだけが
流れるように制御でき、また、そのパケツトを指定され
た順番にネツトワークに送出できるので、並列プロセツ
サのプログラム実行における再現性が保証でき、並列プ
ロセツサのプログラムデバツグの効率を向上することが
できる。According to the present invention, in a parallel processor in which each processor performs data transfer at an arbitrary time asynchronously with the processing of each processor, when performing program debugging of the parallel processor, only one packet flows on the network. In this manner, the packets can be sent to the network in the designated order, so that reproducibility in the parallel processor program execution can be guaranteed, and the efficiency of the parallel processor program debugging can be improved.
第1図は本発明の一実施例である。第2図は第1図に、
ネツトワークに送出する順番の範囲を限定する手段を設
けた、本発明の一実施例である。 101……ネツトワーク、102,107……データパケツト、11
0,111……プロセツサ、120……データ受信装置、130…
…データ送信装置、140……命令プロセツサ、150……ロ
ーカルストレージ、133……送信順序番号を保持するレ
ジスタ、134……比較器、137……通常動作とデバツグ動
作を切り分けるモードレジスタ。FIG. 1 shows an embodiment of the present invention. FIG. 2 is shown in FIG.
9 is an embodiment of the present invention provided with means for limiting the range of the order of sending to the network. 101… Network, 102,107 …… Data packet, 11
0,111… Processor, 120… Data receiving device, 130…
... data transmission device, 140 ... instruction processor, 150 ... local storage, 133 ... register holding transmission sequence number, 134 ... comparator, 137 ... mode register for separating normal operation and debug operation.
フロントページの続き (72)発明者 面田 耕一郎 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 長島 重夫 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 尾島 和郎 神奈川県秦野市堀山下1番地 株式会社 日立製作所神奈川工場内Continuing on the front page (72) Inventor Koichiro Menda 1-280 Higashi Koikekubo, Kokubunji-shi, Tokyo Inside the Central Research Laboratory, Hitachi, Ltd. (72) Inventor Shigeo Nagashima 1-280 Higashi Koikebo, Kokubunji-shi, Tokyo Hitachi, Ltd. In-house (72) Inventor Kazuo Ojima 1 Horiyamashita, Hadano City, Kanagawa Prefecture Inside the Kanagawa Plant of Hitachi, Ltd.
Claims (1)
ータ転送を行なうための通信路を備えた並列プロセッサ
に対してプログラムデバッグ支援を行なう並列プロセッ
サのプログラムデバッグ支援装置において、各プロセッ
サに、 プロセッサ間のデータ転送の順番を指定する第1の手段
と、 各プロセッサに共通であって、前記通信路に送出する順
番を保持する第2の手段と、 プロセッサ間のデータ転送を行なう毎に前記第2の手段
の順番を更新する第3の手段と、 前記第1の手段と前記第2の手段の順番内容を比較する
第4の手段と、 デバッグ支援または通常動作のいずれかのモードを指定
する第5の手段と、 前記第5の手段の指定がデッバグ支援のモードである場
合、前記第4の手段の比較結果が一致しているときに
は、プロセッサ間のデータ転送を行ない、比較結果が一
致していないときには、プロセッサ間のデータ転送を中
止し、前記第5の手段の指定が通常動作のモードである
場合、前記第4の手段の比較結果によらず、プロセッサ
間のデータ転送を行なうように制御する第6の手段と、
を備えたことを特徴とする並列プロセッサのプログラム
デバッグ支援装置。An apparatus for supporting program debugging of a parallel processor having a communication path for performing data transfer between a plurality of processors and each processor. First means for designating the order of data transfer, second means common to each processor for maintaining the order of transmission to the communication path, and the second means each time data transfer between processors is performed. A third means for updating the order of the means, a fourth means for comparing the contents of the order of the first means and the second means, and a third means for designating one of a debug support mode and a normal operation mode. In the case where the designation of the fifth means and the designation of the fifth means is a debug support mode, when the comparison result of the fourth means is the same, Data transfer is performed, and when the comparison results do not match, the data transfer between the processors is stopped. When the designation of the fifth means is a normal operation mode, regardless of the comparison result of the fourth means. Sixth means for controlling data transfer between processors,
A program debugging support device for a parallel processor, comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62311927A JP2590154B2 (en) | 1987-12-11 | 1987-12-11 | Program debug support device for parallel processor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62311927A JP2590154B2 (en) | 1987-12-11 | 1987-12-11 | Program debug support device for parallel processor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01154252A JPH01154252A (en) | 1989-06-16 |
| JP2590154B2 true JP2590154B2 (en) | 1997-03-12 |
Family
ID=18023106
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62311927A Expired - Lifetime JP2590154B2 (en) | 1987-12-11 | 1987-12-11 | Program debug support device for parallel processor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2590154B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2723651B2 (en) * | 1990-04-09 | 1998-03-09 | 三菱電機株式会社 | Magnetization correction method for geomagnetic bearing sensor |
-
1987
- 1987-12-11 JP JP62311927A patent/JP2590154B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01154252A (en) | 1989-06-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103729288B (en) | The adjustment method of application program under a kind of embedded multi-core environment | |
| US5621886A (en) | Method and apparatus for providing efficient software debugging | |
| US5630049A (en) | Method and apparatus for testing software on a computer network | |
| US7020871B2 (en) | Breakpoint method for parallel hardware threads in multithreaded processor | |
| CN109726135B (en) | Multi-core debugging method and device and computer readable storage medium | |
| WO2022227410A1 (en) | Embedded terminal remote software debugging method | |
| US7761744B2 (en) | Debugging method | |
| JPH01173247A (en) | slave control device | |
| JPH07120338B2 (en) | Method for a data processor to coordinate the execution of instructions by a coprocessor and the data processor | |
| EP0290942B1 (en) | Guest machine execution control system for virtual machine system | |
| JP2590154B2 (en) | Program debug support device for parallel processor | |
| CN112802527B (en) | Method for realizing high-speed programming of embedded flash memory and programming system of embedded flash memory | |
| IE62074B1 (en) | Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units | |
| JP2808558B2 (en) | Information processing device | |
| JPH0465729A (en) | Symbolic debugger | |
| JPH03218539A (en) | Debug method in parallel computer system | |
| JPH0426138B2 (en) | ||
| JP2638078B2 (en) | Information processing device | |
| JPS6128144A (en) | Executing device of tracing | |
| JPS638841A (en) | Interruption accepting system | |
| CN120705024A (en) | Interrupt debugging device, method and artificial intelligence chip | |
| JPS62109140A (en) | Tracing circuit for program processor | |
| JPH0259829A (en) | Microcomputer | |
| JPH0581068A (en) | Debugging support device | |
| JPH03175539A (en) | Debugging microprocessor |