JP2006079142A - Multiprocessor device - Google Patents

Multiprocessor device Download PDF

Info

Publication number
JP2006079142A
JP2006079142A JP2004259152A JP2004259152A JP2006079142A JP 2006079142 A JP2006079142 A JP 2006079142A JP 2004259152 A JP2004259152 A JP 2004259152A JP 2004259152 A JP2004259152 A JP 2004259152A JP 2006079142 A JP2006079142 A JP 2006079142A
Authority
JP
Japan
Prior art keywords
status information
execution
program
processors
processor
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
JP2004259152A
Other languages
Japanese (ja)
Inventor
Yasuki Nakamura
泰基 中村
Shinichiro Tako
真一郎 多湖
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004259152A priority Critical patent/JP2006079142A/en
Publication of JP2006079142A publication Critical patent/JP2006079142A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To easily perform the simultaneous execution resumption of a program(program to be debugged, application program or the like) whose execution is temporarily stopped by a plurality of processors, as regards a multi-processor device equipped with a plurality of processors. <P>SOLUTION: A processor 12-i writes "0" in a register 16-i when executing a program to be debugged 13-i, and writes "1" in the register 16-i when the execution of a debug control program 14-i ends. A stop flag 19 permits the execution of programs to be debugged 13-0 to 13-2 by displaying "0" when values of all registers 16-0 to 16-2 are "0" or "1", and inhibits the execution of the programs to be debugged 13-0 to 13-2 by displaying "1" when the value of a part of the registers 16-0 to 16-2 is "1". <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、複数のプロセッサを有するマルチプロセッサ装置に関する。具体的には、マルチプロセッサ装置内の複数のプロセッサが一時的に実行を停止したプログラム(デバッグ対象プログラム、アプリケーション・プログラム等)の同時実行再開技術に関する。   The present invention relates to a multiprocessor device having a plurality of processors. Specifically, the present invention relates to a technique for resuming simultaneous execution of a program (a debug target program, an application program, etc.) that is temporarily stopped by a plurality of processors in a multiprocessor device.

図5はデバッグ装置の動作を説明するための図である。図1中、1はデバッグ装置、2はプロセッサ、3はプロセッサ2用のデバッグ対象プログラム、4はプロセッサ2用のデバッグ制御プログラムである。デバッグ装置1は、プロセッサ2がデバッグ対象プログラム3を実行してブレークポイントに達すると、実行プログラムをデバッグ対象プログラム3からデバッグ制御プログラム4にジャンプさせ、デバッグ制御プログラム4によりプロセッサ2のレジスタやメモリの内容等を調査し、その後、プロセッサ2にデバッグ対象プログラム3の実行を再開させる。   FIG. 5 is a diagram for explaining the operation of the debugging device. In FIG. 1, 1 is a debugging device, 2 is a processor, 3 is a debug target program for the processor 2, and 4 is a debug control program for the processor 2. When the processor 2 executes the debug target program 3 and reaches a breakpoint, the debug device 1 jumps the execution program from the debug target program 3 to the debug control program 4, and the debug control program 4 causes the registers and memory of the processor 2 to be jumped. The contents and the like are examined, and then the execution of the debug target program 3 is restarted by the processor 2.

図6は従来のマルチプロセッサ装置の一例をデバッグ装置とともに示す図である。5は従来のマルチプロセッサ装置の一例、6はデバッグ装置である。また、マルチプロセッサ装置5において、7−i(但し、i=0、1、2である。以下、同様。)はプロセッサ、8−iはプロセッサ7−i用のデバッグ対象プログラム、9−iはプロセッサ7−i用のデバッグ制御プログラムである。図6に示す従来のマルチプロセッサ装置5においては、デバッグ装置6は、デバッグ対象プログラム8−0〜8−2の各々を独立にデバッグすることになる。
特開平6−332747号公報 特開平5−313946号公報 特開平3−15949号公報
FIG. 6 is a diagram showing an example of a conventional multiprocessor device together with a debugging device. 5 is an example of a conventional multiprocessor device, and 6 is a debugging device. In the multiprocessor device 5, 7-i (where i = 0, 1, 2; the same applies hereinafter) is a processor, 8-i is a program to be debugged for the processor 7-i, and 9-i is This is a debug control program for the processor 7-i. In the conventional multiprocessor device 5 shown in FIG. 6, the debug device 6 debugs each of the debug target programs 8-0 to 8-2 independently.
JP-A-6-332747 JP-A-5-313946 Japanese Patent Laid-Open No. 3-15949

図6に示す従来のマルチプロセッサ装置5においては、デバッグ対象プログラム8−0〜8−2間に連携がある場合、異なるタイミングでデバッグ制御プログラム9−0〜9−2を実行させた場合であっても、その後、デバッグ対象プログラム8−0〜8−2の実行再開を同時に行うことが必要となる場合がある。例えば、或るタイミングでデバッグ対象プログラム8−0〜8−2の実行再開を同時に行わないと、或るバグが再現できないというようなタイミング・クリティカルな問題が発生した場合等である。   In the conventional multiprocessor device 5 shown in FIG. 6, when the debug target programs 8-0 to 8-2 are linked, the debug control programs 9-0 to 9-2 are executed at different timings. Even then, it may be necessary to simultaneously resume execution of the debug target programs 8-0 to 8-2. For example, there is a case where a timing critical problem occurs in which a bug cannot be reproduced unless execution of the debug target programs 8-0 to 8-2 is resumed at a certain timing.

しかしながら、図6に示す従来のマルチプロセッサ装置5においては、デバッグ装置6は、デバッグ対象プログラム8−0〜8−2の各々を独立にデバッグせざるを得ないので、デバッグ対象プログラム8−0〜8−2の実行再開を行うためには、デバッグ対象プログラム8−0〜8−2の実行再開指令をプロセッサ7−0〜7−2に対して順に行わざるを得ない。このため、デバッグ対象プログラム8−0〜8−2の同時実行再開が必要な場合であっても、開始タイミングに時間差が発生してしまうという問題点があった。   However, in the conventional multiprocessor device 5 shown in FIG. 6, the debug device 6 must debug each of the debug target programs 8-0 to 8-2 independently. In order to resume execution of 8-2, it is necessary to issue execution resume commands for the debug target programs 8-0 to 8-2 to the processors 7-0 to 7-2 in order. For this reason, even if it is necessary to resume the simultaneous execution of the debug target programs 8-0 to 8-2, there is a problem that a time difference occurs in the start timing.

また、プロセッサ7−0、7−1、7−2でそれぞれアプリケーション・プログラムA0、A1、A2を実行させる場合において、或るタイミングで、プロセッサ7−0、7−1、7−2におけるアプリケーション・プログラムA0、A1、A2の実行を揃えたいという場合がある。例えば、マルチタスク処理でタスクを切り換える場合において、切り換えたタスクを同時に実行開始させたいというような場合である。   Further, when the application programs A0, A1, and A2 are executed by the processors 7-0, 7-1, and 7-2, respectively, the application programs in the processors 7-0, 7-1, and 7-2 are processed at a certain timing. There is a case where it is desired to align the execution of the programs A0, A1, and A2. For example, when switching tasks in multitask processing, it is a case where it is desired to start executing the switched tasks simultaneously.

この場合、アプリケーション・プログラムA0〜A2の各々を適当なタイミングで一時的に停止させた後、適当なタイミングでアプリケーション・プログラムA0〜A2を同時実行再開させる必要がある。しかしながら、従来、マルチプロセッサ装置において、複数のプロセッサが実行する複数のアプリケーション・プログラムを時間差がないように揃える技術は提案されていない。   In this case, after each application program A0-A2 is temporarily stopped at an appropriate timing, it is necessary to resume execution of the application programs A0-A2 at an appropriate timing. However, conventionally, there has not been proposed a technique for aligning a plurality of application programs executed by a plurality of processors so that there is no time difference in a multiprocessor device.

本発明は、かかる点に鑑み、複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を容易に行うことができるようにしたマルチプロセッサ装置を提供することを目的とする。   In view of the above, an object of the present invention is to provide a multiprocessor device capable of easily resuming simultaneous execution of a program in which execution of a plurality of processors is temporarily stopped.

本発明は、複数のプロセッサを有するマルチプロセッサ装置であって、前記複数のプロセッサの中の選択された複数のプロセッサのステータス情報を保持するステータス情報保持装置を有し、前記ステータス情報保持装置が保持するステータス情報に基づいて、前記選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を行うことができるようにされているというものである。   The present invention is a multiprocessor device having a plurality of processors, and has a status information holding device that holds status information of a plurality of processors selected from the plurality of processors, and the status information holding device holds On the basis of the status information to be executed, the plurality of selected processors can resume the simultaneous execution of the programs temporarily stopped.

本発明によれば、ステータス情報保持装置が保持するステータス情報に基づいて、選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を行うことができるようにされている。したがって、選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を容易に行わせることができる。   According to the present invention, based on the status information held by the status information holding device, it is possible to resume the simultaneous execution of programs that have been temporarily stopped by a plurality of selected processors. Accordingly, it is possible to easily resume the simultaneous execution of programs that have been temporarily stopped by a plurality of selected processors.

(第1実施形態・・図1、図2)
図1は本発明の第1実施形態のマルチプロセッサ装置をデバッグ装置とともに示す図である。図1中、10は本発明の第1実施形態のマルチプロセッサ装置、11はデバッグ装置である。本発明の第1実施形態のマルチプロセッサ装置10は、その要部を概念的に示している。
(First embodiment. FIG. 1 and FIG. 2)
FIG. 1 is a diagram showing a multiprocessor device according to a first embodiment of the present invention together with a debugging device. In FIG. 1, 10 is a multiprocessor device according to the first embodiment of the present invention, and 11 is a debugging device. The multiprocessor device 10 of the first embodiment of the present invention conceptually shows the main part thereof.

本発明の第1実施形態のマルチプロセッサ装置10において、12−iはプロセッサ、13−iはプロセッサ12−i用のデバッグ対象プログラム、14−iはプロセッサ12−i用のデバッグ制御プログラム、15はデバッグ実行制御用のステータス情報保持装置である。   In the multiprocessor device 10 of the first embodiment of the present invention, 12-i is a processor, 13-i is a program to be debugged for the processor 12-i, 14-i is a debug control program for the processor 12-i, 15 is It is a status information holding device for debug execution control.

ステータス情報保持装置15において、16−iはプロセッサ12−iのステータス情報を保持するステータス情報保持レジスタであり、プロセッサ12−iは、デバッグ対象プログラム13−iを実行する場合(通常動作を行う場合)には、ステータス情報保持レジスタ16−iに“0”を書き込み、デバッグ制御プログラム14−iの実行が終了した場合には、ステータス情報保持レジスタ16−iに“1”を書き込む。   In the status information holding device 15, 16-i is a status information holding register that holds status information of the processor 12-i, and the processor 12-i executes the debug target program 13-i (when performing normal operation). ), “0” is written to the status information holding register 16-i, and when the execution of the debug control program 14-i is completed, “1” is written to the status information holding register 16-i.

17−iはステータス情報保持レジスタ16−iを有効とするか否かを設定することにより、プロセッサ12−iをデバッグ対象プログラム同時実行再開制御対象プロセッサとするか否かを設定する設定レジスタである。   17-i is a setting register for setting whether or not the processor 12-i is set as a debug target program simultaneous execution restart control target processor by setting whether or not the status information holding register 16-i is enabled. .

デバッグ装置11は、ステータス情報保持レジスタ16−iを有効とする場合(プロセッサ12−iをデバッグ対象プログラム同時実行再開制御対象プロセッサとする場合)には設定レジスタ17−iに “1”を書き込み、ステータス情報保持レジスタ16−iを無効とする場合(プロセッサ12−iをデバッグ対象プログラム同時実行再開制御対象プロセッサとしない場合)には設定レジスタ17−iに “0”を書き込む。   The debugging device 11 writes “1” in the setting register 17-i when the status information holding register 16-i is validated (when the processor 12-i is a processor subject to simultaneous execution / resume control of debugging target program), When invalidating the status information holding register 16-i (when the processor 12-i is not a debug target program simultaneous execution restart control target processor), “0” is written to the setting register 17-i.

なお、本実施形態では、ステータス情報保持レジスタ16−0〜16−2の中の2個又は3個のステータス情報保持レジスタが有効とされる。即ち、プロセッサ12−0〜12−2のうち、2個又は3個のプロセッサがデバッグ対象プログラム同時実行再開制御対象プロセッサとされる。   In the present embodiment, two or three status information holding registers among the status information holding registers 16-0 to 16-2 are validated. That is, of the processors 12-0 to 12-2, two or three processors are set as debug target program simultaneous execution restart control target processors.

18はステータス情報保持レジスタ16−0〜16−2のうち、有効とされたステータス情報保持レジスタの値のみを入力し、有効とされたステータス情報保持レジスタの全てが“0”又は“1”の場合には“0”を出力し、有効とされたステータス情報保持レジスタの一部が“1”の場合には“1”を出力する演算部、19は演算部18の出力値を更新的に保持する停止フラグである。   18 is a status information holding register 16-0 to 16-2, in which only the value of the valid status information holding register is inputted, and all the valid status information holding registers are “0” or “1”. In this case, “0” is output, and when a part of the validated status information holding register is “1”, an arithmetic unit that outputs “1”, 19 is an update of the output value of the arithmetic unit 18 This is a stop flag to be held.

ここに、停止フラグ19の値=“0”は、デバッグ対象プログラム同時実行再開制御対象プロセッサに対して、デバッグ対象プログラムの実行の許可を表示しており、停止フラグ19の値=“1”は、デバッグ対象プログラムの実行の禁止を表示している。なお、デバッグ制御プログラム14−0〜14−2については、停止フラグ19の値に関わらず、これを実行するとされている。   Here, the value of the stop flag 19 = “0” indicates that the debug target program simultaneous execution restart control target processor is permitted to execute the debug target program, and the value of the stop flag 19 = “1” The prohibition of execution of the debug target program is displayed. The debug control programs 14-0 to 14-2 are executed regardless of the value of the stop flag 19.

図2は本発明の第1実施形態のマルチプロセッサ装置10の動作例を示すタイムチャートであり、プロセッサ12−0〜12−2のステータス及び停止フラグ19の値を示している。なお、本動作例は、設定レジスタ17−0〜17−2に“1”が書き込まれた場合(プロセッサ12−0〜12−2の全てがデバッグ対象プログラム同時実行再開制御対象プロセッサとされた場合)を例にしている。   FIG. 2 is a time chart showing an operation example of the multiprocessor device 10 according to the first embodiment of the present invention, and shows the statuses of the processors 12-0 to 12-2 and the value of the stop flag 19. In this operation example, when “1” is written in the setting registers 17-0 to 17-2 (when all of the processors 12-0 to 12-2 are set as processors subject to simultaneous execution and restart control of debug target programs). ).

本動作例では、プロセッサ12−0〜12−2は、時刻T1では、デバッグ対象プログラム13−0〜13−2を実行しており、ステータス情報保持レジスタ16−0〜16−2の値=“0”、停止フラグ19の値=“0”とされている。   In this operation example, the processors 12-0 to 12-2 are executing the debug target programs 13-0 to 13-2 at time T1, and the value of the status information holding registers 16-0 to 16-2 = “ 0 ”and the value of the stop flag 19 =“ 0 ”.

その後、時刻T2、T3、T4で、プロセッサ12−0、12−1、12−2は、それぞれブレークポイントに達し、デバッグ制御プログラム14−0、14−1、14−2の実行を開始している。この状態では、ステータス情報保持レジスタ16−0〜16−2の値=“0”、停止フラグ19の値=“0”が維持される。   Thereafter, at times T2, T3, and T4, the processors 12-0, 12-1, and 12-2 reach breakpoints, respectively, and start executing the debug control programs 14-0, 14-1, and 14-2. Yes. In this state, the value of the status information holding registers 16-0 to 16-2 = “0” and the value of the stop flag 19 = “0” are maintained.

その後、時刻T5で、プロセッサ12−0はデバッグ制御プログラム14−0の実行を終了している。この場合、プロセッサ12−0は、ステータス情報保持レジスタ16−0の値を“1”にし、この結果、停止フラグ19の値は“1”となる。ここに、プロセッサ12−0は、デバッグ対象プログラム13−0の実行(通常動作)を再開しようとするが、停止フラグ19の値=“1”であるから、デバッグ対象プログラム13−0の実行再開を保留することになる。   Thereafter, at time T5, the processor 12-0 finishes executing the debug control program 14-0. In this case, the processor 12-0 sets the value of the status information holding register 16-0 to “1”, and as a result, the value of the stop flag 19 becomes “1”. Here, the processor 12-0 tries to resume execution (normal operation) of the debug target program 13-0, but since the value of the stop flag 19 is “1”, execution of the debug target program 13-0 is resumed. Will be put on hold.

その後、時刻T6で、プロセッサ12−1はデバッグ制御プログラム14−1の実行を終了している。この場合、プロセッサ12−1は、ステータス情報保持レジスタ16−1の値を“1”にし、停止フラグ19の値は“1”が維持される。ここに、プロセッサ12−1は、デバッグ対象プログラム13−1の実行(通常動作)を再開しようとするが、停止フラグ19の値=“1”であるから、デバッグ対象プログラム13−1の実行再開を保留することになる。   Thereafter, at time T6, the processor 12-1 finishes executing the debug control program 14-1. In this case, the processor 12-1 sets the value of the status information holding register 16-1 to “1”, and the value of the stop flag 19 is maintained at “1”. Here, the processor 12-1 tries to resume execution (normal operation) of the debug target program 13-1, but since the value of the stop flag 19 is “1”, execution of the debug target program 13-1 is resumed. Will be put on hold.

その後、時刻T7で、プロセッサ12−2はデバッグ制御プログラム14−2の実行を終了している。この場合、プロセッサ12−2は、ステータス情報保持レジスタ16−2の値を“1”にし、停止フラグ19の値は“0”となる。この結果、プロセッサ12−0〜12−2は、停止フラグ19の値“0”を確認し、時刻T8で、デバッグ対象プログラム13−0〜13−2の実行(通常動作)再開を同時に行うことになる。   Thereafter, at time T7, the processor 12-2 finishes executing the debug control program 14-2. In this case, the processor 12-2 sets the value of the status information holding register 16-2 to “1”, and the value of the stop flag 19 becomes “0”. As a result, the processors 12-0 to 12-2 confirm the value “0” of the stop flag 19 and simultaneously resume execution (normal operation) of the debug target programs 13-0 to 13-2 at time T8. become.

以上のように、本発明の第1実施形態のマルチプロセッサ装置10によれば、ステータス情報保持装置15が備える停止フラグ19の値に基づいて、複数のデバッグ対象プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したデバッグ対象プログラムの実行再開を行うことができるようにされているので、複数のデバッグ対象プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したデバッグ対象プログラムの同時実行再開を1サイクルの誤差もなく容易に行うことができる。   As described above, according to the multiprocessor device 10 of the first embodiment of the present invention, a plurality of debug target program simultaneous execution restart control target processors are temporarily set based on the value of the stop flag 19 included in the status information holding device 15. Since the execution of the debug target program whose execution has been stopped can be resumed, the simultaneous execution restart of multiple debug target programs can be resumed. Can be easily performed without an error of one cycle.

(第2実施形態・・図3、図4)
図3は本発明の第2実施形態のマルチプロセッサ装置をプログラム実行制御装置とともに示す図である。図3中、20は本発明の第2実施形態のマルチプロセッサ装置、21はプログラム実行制御装置である。本発明の第2実施形態のマルチプロセッサ装置20は、その要部を概念的に示している。
(Second embodiment: FIGS. 3 and 4)
FIG. 3 is a diagram showing a multiprocessor device according to the second embodiment of the present invention together with a program execution control device. In FIG. 3, 20 is a multiprocessor device according to the second embodiment of the present invention, and 21 is a program execution control device. The multiprocessor device 20 of the second embodiment of the present invention conceptually shows the main part thereof.

本発明の第2実施形態のマルチプロセッサ装置20において、22−iはプロセッサ、23−iはプロセッサ22−i用のアプリケーション・プログラム、24−iはプロセッサ22−i用のOS(オペレーティング・システム)、25はアプリケーション・プログラム実行制御用のステータス情報保持装置である。   In the multiprocessor device 20 according to the second embodiment of the present invention, 22-i is a processor, 23-i is an application program for the processor 22-i, and 24-i is an OS (operating system) for the processor 22-i. , 25 are status information holding devices for application / program execution control.

ステータス情報保持装置25において、26−iはプロセッサ22−iのステータス情報を保持するステータス情報保持レジスタであり、プロセッサ22−iは、アプリケーション・プログラム23−iを実行する場合(通常動作を行う場合)には、ステータス情報保持レジスタ26−iに“0”を書き込み、OS24−iの実行が終了した場合には、ステータス情報保持レジスタ26−iに“1”を書き込む。   In the status information holding device 25, 26-i is a status information holding register for holding the status information of the processor 22-i. The processor 22-i executes the application program 23-i (when performing normal operation). ), “0” is written into the status information holding register 26-i, and “1” is written into the status information holding register 26-i when the execution of the OS 24-i is completed.

27−iはステータス情報保持レジスタ26−iを有効とするか否かを設定することにより、プロセッサ22−iをアプリケーション・プログラム同時実行再開制御対象プロセッサとするか否かを設定する設定レジスタである。   27-i is a setting register that sets whether or not the processor 22-i is a processor subject to concurrent execution restart control by setting whether or not the status information holding register 26-i is valid. .

プログラム実行制御装置21は、ステータス情報保持レジスタ26−iを有効とする場合(プロセッサ22−iをアプリケーション・プログラム同時実行再開制御対象プロセッサとする場合)には設定レジスタ27−iに “1”を書き込み、ステータス情報保持レジスタ26−iを無効とする場合(プロセッサ22−iをアプリケーション・プログラム同時実行再開制御対象プロセッサとしない場合)には設定レジスタ27−iに “0”を書き込む。   The program execution control device 21 sets “1” to the setting register 27-i when the status information holding register 26-i is validated (when the processor 22-i is a processor subject to the application / program simultaneous execution restart control). When writing and disabling the status information holding register 26-i (when the processor 22-i is not a processor subject to concurrent execution restart control), “0” is written to the setting register 27-i.

なお、本実施形態では、ステータス情報保持レジスタ26−0〜26−2の中の2個又は3個のステータス情報保持レジスタが有効とされる。即ち、プロセッサ22−0〜22−2のうち、2個又は3個のプロセッサがアプリケーション・プログラム同時実行再開制御対象プロセッサとされる。   In the present embodiment, two or three status information holding registers among the status information holding registers 26-0 to 26-2 are validated. That is, of the processors 22-0 to 22-2, two or three processors are set as the application program concurrent execution restart control target processor.

28はステータス情報保持レジスタ26−0〜26−2のうち、有効とされたステータス情報保持レジスタの値のみを入力し、有効とされたステータス情報保持レジスタの全てが“0”又は“1”の場合には“0”を出力し、有効とされたステータス情報保持レジスタの一部が“1”の場合には“1”を出力する演算部、29は演算部28の出力値を更新的に保持する停止フラグである。   28, only the value of the valid status information holding register among the status information holding registers 26-0 to 26-2 is input, and all the valid status information holding registers are “0” or “1”. In this case, “0” is output, and when a part of the valid status information holding register is “1”, an arithmetic unit that outputs “1”, 29 is an update of the output value of the arithmetic unit 28 This is a stop flag to be held.

ここに、停止フラグ29の値=“0”は、アプリケーション・プログラム同時実行再開制御対象プロセッサに対して、アプリケーション・プログラムの実行の許可を表示しており、停止フラグ29の値=“1”は、アプリケーション・プログラムの実行の禁止を表示している。なお、OS24−0〜24−2については、停止フラグ29の値に関わらず、これを実行するとされている。   Here, the value of the stop flag 29 = “0” indicates that the application program concurrent execution / resumption control target processor is permitted to execute the application program, and the value of the stop flag 29 = “1” The prohibition of execution of the application program is displayed. It should be noted that the OSs 24-0 to 24-2 are executed regardless of the value of the stop flag 29.

図4は本発明の第2実施形態のマルチプロセッサ装置20の動作例を示すタイムチャートであり、プロセッサ22−0〜22−2のステータス及び停止フラグ29の値を示している。なお、本動作例は、設定レジスタ27−0〜27−2に“1”が書き込まれた場合(プロセッサ22−0〜22−2の全てがアプリケーション・プログラム同時実行再開制御対象プロセッサとされた場合)を例にしている。   FIG. 4 is a time chart showing an operation example of the multiprocessor device 20 according to the second embodiment of the present invention, and shows the status of the processors 22-0 to 22-2 and the value of the stop flag 29. In this operation example, when “1” is written in the setting registers 27-0 to 27-2 (when all of the processors 22-0 to 22-2 are set as the application / program simultaneous execution restart control target processor). ).

本動作例では、プロセッサ22−0〜22−2は、時刻T1では、アプリケーション・プログラム23−0〜23−2を実行しており、ステータス情報保持レジスタ26−0〜26−2の値=“0”、停止フラグ29の値=“0”とされている。   In this operation example, the processors 22-0 to 22-2 are executing the application programs 23-0 to 23-2 at time T1, and the value of the status information holding registers 26-0 to 26-2 = “ 0 ”and the value of the stop flag 29 =“ 0 ”.

その後、時刻T2、T3、T4で、プロセッサ22−0、22−1、22−2は、それぞれシステムコール/割り込みにより、OS24−0、24−1、24−2の実行を開始している。この状態では、ステータス情報保持レジスタ26−0〜26−2の値=“0”、停止フラグ29の値=“0”が維持される。   Thereafter, at times T2, T3, and T4, the processors 22-0, 22-1, and 22-2 respectively start executing the OSs 24-0, 24-1, and 24-2 by system calls / interrupts. In this state, the value of the status information holding registers 26-0 to 26-2 = "0" and the value of the stop flag 29 = "0" are maintained.

その後、時刻T5で、プロセッサ22−0はOS24−0の実行を終了している。この場合、プロセッサ22−0は、ステータス情報保持レジスタ26−0の値を“1”にし、この結果、停止フラグ29の値=“1”となる。ここに、プロセッサ22−0は、アプリケーション・プログラム23−0の実行(通常動作)を再開しようとするが、停止フラグ29の値は“1”であるから、アプリケーション・プログラム23−0の実行再開を保留することになる。   Thereafter, at time T5, the processor 22-0 finishes executing the OS 24-0. In this case, the processor 22-0 sets the value of the status information holding register 26-0 to “1”, and as a result, the value of the stop flag 29 = “1”. Here, the processor 22-0 tries to resume the execution (normal operation) of the application program 23-0, but since the value of the stop flag 29 is “1”, the execution of the application program 23-0 is resumed. Will be put on hold.

その後、時刻T6で、プロセッサ22−1はOS24−1の実行を終了している。この場合、プロセッサ22−1は、ステータス情報保持レジスタ26−1の値を“1”にし、停止フラグ29の値は“1”が維持される。ここに、プロセッサ22−1は、アプリケーション・プログラム23−1の実行(通常動作)を再開しようとするが、停止フラグ29の値=“1”であるから、アプリケーション・プログラム23−1の実行再開を保留することになる。   Thereafter, at time T6, the processor 22-1 has finished executing the OS 24-1. In this case, the processor 22-1 sets the value of the status information holding register 26-1 to “1”, and the value of the stop flag 29 is maintained at “1”. Here, the processor 22-1 tries to resume the execution (normal operation) of the application program 23-1, but since the value of the stop flag 29 is “1”, the execution of the application program 23-1 is resumed. Will be put on hold.

その後、時刻T7で、プロセッサ22−2はOS24−2の実行を終了している。この場合、プロセッサ22−2は、ステータス情報保持レジスタ26−2の値を“1”にし、停止フラグ29の値は“0”となる。この結果、プロセッサ22−0〜22−2は、停止フラグ29の値“0”を確認し、時刻T8で、アプリケーション・プログラム23−0〜23−2の実行(通常動作)再開を同時に行うことになる。   Thereafter, at time T7, the processor 22-2 has finished executing the OS 24-2. In this case, the processor 22-2 sets the value of the status information holding register 26-2 to “1”, and the value of the stop flag 29 becomes “0”. As a result, the processors 22-0 to 22-2 confirm the value “0” of the stop flag 29, and simultaneously resume execution (normal operation) of the application programs 23-0 to 23-2 at time T8. become.

以上のように、本発明の第2実施形態のマルチプロセッサ装置20によれば、ステータス情報保持装置25が備える停止フラグ29の値に基づいて、複数のアプリケーション・プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したアプリケーション・プログラムの実行再開を行うことができるようにされているので、複数のアプリケーション・プログラム同時実行再開制御対象プロセッサが一時的に実行を停止したアプリケーション・プログラムの同時実行再開を1サイクルの誤差もなく容易に行うことができる。   As described above, according to the multiprocessor device 20 of the second embodiment of the present invention, a plurality of application / program simultaneous execution restart control target processors are temporarily set based on the value of the stop flag 29 included in the status information holding device 25. Because it is possible to resume execution of an application program that has been suspended, multiple application programs can be resumed at the same time. Can be easily performed without an error of one cycle.

なお、図1に示す本発明の第1実施形態のマルチプロセッサ装置10が備えるデバッグ実行制御用のステータス情報保持装置15を本発明の第2実施形態のマルチプロセッサ装置が備えるアプリケーション・プログラム実行制御用のステータス情報保持装置25として兼用することもできる。   The status information holding device 15 for debug execution control provided in the multiprocessor device 10 of the first embodiment of the present invention shown in FIG. 1 is used for application / program execution control provided in the multiprocessor device of the second embodiment of the present invention. The status information holding device 25 can also be used.

ここで、特許文献1には、複数のプロセッサの中の一つをデバッグ制御専用として使用し、ユーザからのコマンド等により、他のプロセッサの停止、再開等を制御する技術が記載されているが、本発明は、複数のプロセッサとは別にステータス情報保持装置を設け、複数のプロセッサの通常動作には影響を与えず、デバッグ機能を実現するものであり、特許文献1に記載の技術とは構成、動作を全く異にするものである。   Here, Patent Document 1 describes a technique in which one of a plurality of processors is used exclusively for debug control, and other processors are stopped and restarted by a command or the like from a user. In the present invention, a status information holding device is provided separately from a plurality of processors, and the debugging function is realized without affecting the normal operation of the plurality of processors. The operation is completely different.

また、特許文献2には、デバッグのためにプロセッサを停止させたい時に、プロセッサに入力しているクロックを停止させる技術が記載されているが、本発明は、クロックを停止させることなく、ステータス情報保持装置の制御によりデバッグを行うものであり、特許文献2に記載の技術とは構成、動作を全く異にしている。   Further, Patent Document 2 describes a technique for stopping a clock input to a processor when it is desired to stop the processor for debugging. However, the present invention provides status information without stopping the clock. The debugging is performed under the control of the holding device, and the configuration and operation are completely different from the technique described in Patent Document 2.

また、特許文献3には、デバッグ時、対象のプロセッサが独占的にバスを使用することにより、デバッグ中にプロセッサ間の共有情報を保持する技術が記載されているが、本発明は、バス動作でなく、プロセッサの働きを制御することによりデバッグを行うものであり、特許文献3に記載の技術とは構成、動作を全く異にしている。   Patent Document 3 describes a technique for holding shared information between processors during debugging by using the bus exclusively by the target processor during debugging. In addition, debugging is performed by controlling the operation of the processor, and the configuration and operation are completely different from the technique described in Patent Document 3.

本発明の第1実施形態のマルチプロセッサ装置をデバッグ装置とともに示す図である。It is a figure which shows the multiprocessor device of 1st Embodiment of this invention with a debugging apparatus. 本発明の第1実施形態のマルチプロセッサ装置の動作例を示すタイムチャートである。It is a time chart which shows the operation example of the multiprocessor device of 1st Embodiment of this invention. 本発明の第2実施形態のマルチプロセッサ装置をプログラム実行制御装置とともに示す図である。It is a figure which shows the multiprocessor device of 2nd Embodiment of this invention with a program execution control apparatus. 本発明の第2実施形態のマルチプロセッサ装置の動作例を示すタイムチャートである。It is a time chart which shows the operation example of the multiprocessor device of 2nd Embodiment of this invention. デバッグ装置の動作を説明するための図である。It is a figure for demonstrating operation | movement of a debugging apparatus. 従来のマルチプロセッサ装置の一例をデバッグ装置とともに示す図である。It is a figure which shows an example of the conventional multiprocessor device with a debugging apparatus.

符号の説明Explanation of symbols

10…本発明の第1実施形態のマルチプロセッサ装置
11…デバッグ装置
12−0〜12−2…プロセッサ
13−0〜13−2…デバッグ対象プログラム
14−0〜14−2…デバッグ制御プログラム
15…ステータス情報保持装置
16−0〜16−2…ステータス情報保持レジスタ
17−0〜17−2…設定レジスタ
18…演算部
19…停止フラグ
20…本発明の第2実施形態のマルチプロセッサ装置
21…プログラム実行制御装置
22−0〜22−2…プロセッサ
23−0〜23−2…アプリケーション・プログラム
24−0〜24−2…OS
25…ステータス情報保持装置
26−0〜26−2…ステータス情報保持レジスタ
27−0〜27−2…設定レジスタ
28…演算部
29…停止フラグ
DESCRIPTION OF SYMBOLS 10 ... Multiprocessor apparatus of 1st Embodiment of this invention 11 ... Debug apparatus 12-0-12-2 ... Processor 13-0-13-2 ... Debug object program 14-0-14-2 ... Debug control program 15 ... Status information holding device 16-0 to 16-2 ... Status information holding register 17-0 to 17-2 ... Setting register 18 ... Operation unit 19 ... Stop flag 20 ... Multiprocessor device 21 according to the second embodiment of the present invention 21 ... Program Execution control device 22-0 to 22-2 ... Processor 23-0 to 23-2 ... Application program 24-0 to 24-2 ... OS
25 ... Status information holding device 26-0 to 26-2 ... Status information holding register 27-0 to 27-2 ... Setting register 28 ... Calculation unit 29 ... Stop flag

Claims (4)

複数のプロセッサを有するマルチプロセッサ装置であって、
前記複数のプロセッサの中の選択された複数のプロセッサのステータス情報を保持するステータス情報保持装置を有し、
前記ステータス情報保持装置が保持するステータス情報に基づいて、前記選択された複数のプロセッサが一時的に実行を停止したプログラムの同時実行再開を行うことができるようにされていることを特徴とするマルチプロセッサ装置。
A multiprocessor device having a plurality of processors,
A status information holding device for holding status information of a plurality of processors selected from among the plurality of processors;
Based on status information held by the status information holding device, the plurality of selected processors can resume simultaneous execution of programs temporarily stopped from being executed. Processor device.
前記ステータス情報保持装置は、前記選択された複数のプロセッサのステータス情報から、前記選択された複数のプロセッサが一時的に停止したプログラムの実行再開の許否を表示する表示手段を有し、
前記選択された複数のプロセッサは、前記表示手段の表示内容に従って、前記一時的に停止したプログラムの実行再開を行うことを特徴とする請求項1記載のマルチプロセッサ装置。
The status information holding device has display means for displaying permission / inhibition of execution restart of a program in which the selected plurality of processors are temporarily stopped from the status information of the selected plurality of processors,
2. The multiprocessor device according to claim 1, wherein the plurality of selected processors resume execution of the temporarily stopped program in accordance with display contents of the display means.
前記一時的に実行を停止したプログラムは、デバッグ対象プログラムであることを特徴とする請求項1又は2記載のマルチプロセッサ装置。   3. The multiprocessor device according to claim 1, wherein the program whose execution has been temporarily stopped is a program to be debugged. 前記一時的に実行を停止したプログラムは、アプリケーション・プログラムであることを特徴とする請求項1又は2記載のマルチプロセッサ装置。
3. The multiprocessor device according to claim 1, wherein the program whose execution has been temporarily stopped is an application program.
JP2004259152A 2004-09-07 2004-09-07 Multiprocessor device Pending JP2006079142A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004259152A JP2006079142A (en) 2004-09-07 2004-09-07 Multiprocessor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004259152A JP2006079142A (en) 2004-09-07 2004-09-07 Multiprocessor device

Publications (1)

Publication Number Publication Date
JP2006079142A true JP2006079142A (en) 2006-03-23

Family

ID=36158586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004259152A Pending JP2006079142A (en) 2004-09-07 2004-09-07 Multiprocessor device

Country Status (1)

Country Link
JP (1) JP2006079142A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113273A1 (en) * 2008-03-14 2009-09-17 パナソニック株式会社 Program execution device and method for controlling the same
JP2012523616A (en) * 2009-04-08 2012-10-04 フリースケール セミコンダクター インコーポレイテッド Debug signaling in multiprocessor data processing systems

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113273A1 (en) * 2008-03-14 2009-09-17 パナソニック株式会社 Program execution device and method for controlling the same
JP5269067B2 (en) * 2008-03-14 2013-08-21 パナソニック株式会社 Program execution device and control method thereof
US8701089B2 (en) 2008-03-14 2014-04-15 Panasonic Corporation Program execution device and method for controlling the same
JP2012523616A (en) * 2009-04-08 2012-10-04 フリースケール セミコンダクター インコーポレイテッド Debug signaling in multiprocessor data processing systems

Similar Documents

Publication Publication Date Title
JP4222370B2 (en) Program for causing a computer to execute a debugging support apparatus and a debugging processing method
US8327336B2 (en) Enhanced thread stepping
JP3571976B2 (en) Debugging apparatus and method, and program recording medium
JP3965142B2 (en) Method, system and software product for debugging a computer program
JPH02171934A (en) Virtual machine system
KR102025078B1 (en) Diagnosing code using single step execution
CN109726135B (en) Multi-core debugging method and device and computer readable storage medium
JP2006351008A (en) Method for blocking thread upon dispatch of multithread processor, computer program, and device (minute multithread dispatch lock mechanism)
JP2010140240A (en) Processor, multiprocessor and debugging method
US7761744B2 (en) Debugging method
TW200903338A (en) Transactional debugger for a transactional memory system
US7865883B1 (en) Parallel and asynchronous debugger and debugging method for multi-threaded programs
JP2522158B2 (en) Program debugging method for multiprocessor system
US8701089B2 (en) Program execution device and method for controlling the same
JP2006079142A (en) Multiprocessor device
US11635966B2 (en) Pausing execution of a first machine code instruction with injection of a second machine code instruction in a processor
JP6882320B2 (en) Vector instruction processing
JP6726136B2 (en) Data access device and access error notification method
US8914274B1 (en) Method and system for instruction set simulation with concurrent attachment of multiple debuggers
JP2007316986A (en) System lsi
JP2550708B2 (en) Debug method
JP2017199180A (en) Image processing device
JP2004206699A (en) Simulation device, simulation method, and program
JP2000181748A (en) Debug system for multi-memory space program and its debug method
JPH0239332A (en) Software break system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100223